diff --git a/stage0/src/Init/LeanInit.lean b/stage0/src/Init/LeanInit.lean
index d383ee5e55..6bed75569d 100644
--- a/stage0/src/Init/LeanInit.lean
+++ b/stage0/src/Init/LeanInit.lean
@@ -266,6 +266,11 @@ partial def getHeadInfo : Syntax → Option SourceInfo
end Syntax
+/- Syntax objects for a Lean module. -/
+structure Module :=
+(header : Syntax)
+(commands : Array Syntax)
+
/-
Runtime support for making quotation terms auto-hygienic, by mangling identifiers
introduced by them with a "macro scope" supplied by the context. Details to appear in a
diff --git a/stage0/src/Lean/Elab/Declaration.lean b/stage0/src/Lean/Elab/Declaration.lean
index 42e156ba6f..f38c996b71 100644
--- a/stage0/src/Lean/Elab/Declaration.lean
+++ b/stage0/src/Lean/Elab/Declaration.lean
@@ -16,75 +16,75 @@ open Meta
/- Auxiliary function for `expandDeclNamespace?` -/
def expandDeclIdNamespace? (declId : Syntax) : Option (Name × Syntax) :=
-let (id, optUnivDeclStx) := expandDeclIdCore declId
-let scpView := extractMacroScopes id
-match scpView.name with
-| Name.str Name.anonymous s _ => none
-| Name.str pre s _ =>
- let nameNew := { scpView with name := mkNameSimple s }.review
- if declId.isIdent then
- some (pre, mkIdentFrom declId nameNew)
- else
- some (pre, declId.setArg 0 (mkIdentFrom declId nameNew))
-| _ => none
+ let (id, optUnivDeclStx) := expandDeclIdCore declId
+ let scpView := extractMacroScopes id
+ match scpView.name with
+ | Name.str Name.anonymous s _ => none
+ | Name.str pre s _ =>
+ let nameNew := { scpView with name := mkNameSimple s }.review
+ if declId.isIdent then
+ some (pre, mkIdentFrom declId nameNew)
+ else
+ some (pre, declId.setArg 0 (mkIdentFrom declId nameNew))
+ | _ => none
/- given declarations such as `@[...] def Foo.Bla.f ...` return `some (Foo.Bla, @[...] def f ...)` -/
def expandDeclNamespace? (stx : Syntax) : Option (Name × Syntax) :=
-if !stx.isOfKind `Lean.Parser.Command.declaration then none
-else
- let decl := stx[1]
- let k := decl.getKind
- if k == `Lean.Parser.Command.abbrev ||
- k == `Lean.Parser.Command.def ||
- k == `Lean.Parser.Command.theorem ||
- k == `Lean.Parser.Command.constant ||
- k == `Lean.Parser.Command.axiom ||
- k == `Lean.Parser.Command.inductive ||
- k == `Lean.Parser.Command.structure then
- match expandDeclIdNamespace? decl[1] with
- | some (ns, declId) => some (ns, stx.setArg 1 (decl.setArg 1 declId))
- | none => none
- else if k == `Lean.Parser.Command.instance then
- let optDeclId := decl[1]
- if optDeclId.isNone then none
- else match expandDeclIdNamespace? optDeclId[0] with
- | some (ns, declId) => some (ns, stx.setArg 1 (decl.setArg 1 (optDeclId.setArg 0 declId)))
- | none => none
- else if k == `Lean.Parser.Command.classInductive then
- match expandDeclIdNamespace? decl[2] with
- | some (ns, declId) => some (ns, stx.setArg 1 (decl.setArg 2 declId))
- | none => none
+ if !stx.isOfKind `Lean.Parser.Command.declaration then none
else
- none
+ let decl := stx[1]
+ let k := decl.getKind
+ if k == `Lean.Parser.Command.abbrev ||
+ k == `Lean.Parser.Command.def ||
+ k == `Lean.Parser.Command.theorem ||
+ k == `Lean.Parser.Command.constant ||
+ k == `Lean.Parser.Command.axiom ||
+ k == `Lean.Parser.Command.inductive ||
+ k == `Lean.Parser.Command.structure then
+ match expandDeclIdNamespace? decl[1] with
+ | some (ns, declId) => some (ns, stx.setArg 1 (decl.setArg 1 declId))
+ | none => none
+ else if k == `Lean.Parser.Command.instance then
+ let optDeclId := decl[1]
+ if optDeclId.isNone then none
+ else match expandDeclIdNamespace? optDeclId[0] with
+ | some (ns, declId) => some (ns, stx.setArg 1 (decl.setArg 1 (optDeclId.setArg 0 declId)))
+ | none => none
+ else if k == `Lean.Parser.Command.classInductive then
+ match expandDeclIdNamespace? decl[2] with
+ | some (ns, declId) => some (ns, stx.setArg 1 (decl.setArg 2 declId))
+ | none => none
+ else
+ none
def elabAxiom (modifiers : Modifiers) (stx : Syntax) : CommandElabM Unit := do
--- parser! "axiom " >> declId >> declSig
-let declId := stx[1]
-let (binders, typeStx) := expandDeclSig stx[2]
-let scopeLevelNames ← getLevelNames
-let ⟨name, declName, allUserLevelNames⟩ ← expandDeclId declId modifiers
-runTermElabM declName fun vars => Term.withLevelNames allUserLevelNames $ Term.elabBinders binders.getArgs fun xs => do
- Term.applyAttributesAt declName modifiers.attrs AttributeApplicationTime.beforeElaboration
- let type ← Term.elabType typeStx
- Term.synthesizeSyntheticMVarsNoPostponing
- let type ← instantiateMVars type
- let type ← mkForallFVars xs type
- let (type, _) ← mkForallUsedOnly vars type
- let (type, _) ← Term.levelMVarToParam type
- let usedParams := collectLevelParams {} type $.params
- match sortDeclLevelParams scopeLevelNames allUserLevelNames usedParams with
- | Except.error msg => throwErrorAt stx msg
- | Except.ok levelParams =>
- let decl := Declaration.axiomDecl {
- name := declName,
- lparams := levelParams,
- type := type,
- isUnsafe := modifiers.isUnsafe
- }
- Term.ensureNoUnassignedMVars decl
- addDecl decl
- Term.applyAttributesAt declName modifiers.attrs AttributeApplicationTime.afterTypeChecking
- Term.applyAttributesAt declName modifiers.attrs AttributeApplicationTime.afterCompilation
+ -- parser! "axiom " >> declId >> declSig
+ let declId := stx[1]
+ let (binders, typeStx) := expandDeclSig stx[2]
+ let scopeLevelNames ← getLevelNames
+ let ⟨name, declName, allUserLevelNames⟩ ← expandDeclId declId modifiers
+ runTermElabM declName fun vars => Term.withLevelNames allUserLevelNames $ Term.elabBinders binders.getArgs fun xs => do
+ Term.applyAttributesAt declName modifiers.attrs AttributeApplicationTime.beforeElaboration
+ let type ← Term.elabType typeStx
+ Term.synthesizeSyntheticMVarsNoPostponing
+ let type ← instantiateMVars type
+ let type ← mkForallFVars xs type
+ let (type, _) ← mkForallUsedOnly vars type
+ let (type, _) ← Term.levelMVarToParam type
+ let usedParams := collectLevelParams {} type $.params
+ match sortDeclLevelParams scopeLevelNames allUserLevelNames usedParams with
+ | Except.error msg => throwErrorAt stx msg
+ | Except.ok levelParams =>
+ let decl := Declaration.axiomDecl {
+ name := declName,
+ lparams := levelParams,
+ type := type,
+ isUnsafe := modifiers.isUnsafe
+ }
+ Term.ensureNoUnassignedMVars decl
+ addDecl decl
+ Term.applyAttributesAt declName modifiers.attrs AttributeApplicationTime.afterTypeChecking
+ Term.applyAttributesAt declName modifiers.attrs AttributeApplicationTime.afterCompilation
/-
parser! "inductive " >> declId >> optDeclSig >> many ctor
@@ -93,116 +93,116 @@ parser! try ("class " >> "inductive ") >> declId >> optDeclSig >> many ctor
Remark: numTokens == 1 for regular `inductive` and 2 for `class inductive`.
-/
private def inductiveSyntaxToView (modifiers : Modifiers) (decl : Syntax) (numTokens := 1) : CommandElabM InductiveView := do
-checkValidInductiveModifier modifiers
-let (binders, type?) := expandOptDeclSig decl[numTokens + 1]
-let declId := decl[numTokens]
-let ⟨name, declName, levelNames⟩ ← expandDeclId declId modifiers
-let ctors ← decl[numTokens + 2].getArgs.mapM fun ctor => withRef ctor do
- -- def ctor := parser! " | " >> declModifiers >> ident >> optional inferMod >> optDeclSig
- let ctorModifiers ← elabModifiers ctor[1]
- if ctorModifiers.isPrivate && modifiers.isPrivate then
- throwError "invalid 'private' constructor in a 'private' inductive datatype"
- if ctorModifiers.isProtected && modifiers.isPrivate then
- throwError "invalid 'protected' constructor in a 'private' inductive datatype"
- checkValidCtorModifier ctorModifiers
- let ctorName := ctor.getIdAt 2
- let ctorName := declName ++ ctorName
- let ctorName ← withRef ctor[2] $ applyVisibility ctorModifiers.visibility ctorName
- let inferMod := !ctor[3].isNone
- let (binders, type?) := expandOptDeclSig ctor[4]
- pure { ref := ctor, modifiers := ctorModifiers, declName := ctorName, inferMod := inferMod, binders := binders, type? := type? : CtorView }
-pure {
- ref := decl,
- modifiers := modifiers,
- shortDeclName := name,
- declName := declName,
- levelNames := levelNames,
- binders := binders,
- type? := type?,
- ctors := ctors
-}
+ checkValidInductiveModifier modifiers
+ let (binders, type?) := expandOptDeclSig decl[numTokens + 1]
+ let declId := decl[numTokens]
+ let ⟨name, declName, levelNames⟩ ← expandDeclId declId modifiers
+ let ctors ← decl[numTokens + 2].getArgs.mapM fun ctor => withRef ctor do
+ -- def ctor := parser! " | " >> declModifiers >> ident >> optional inferMod >> optDeclSig
+ let ctorModifiers ← elabModifiers ctor[1]
+ if ctorModifiers.isPrivate && modifiers.isPrivate then
+ throwError "invalid 'private' constructor in a 'private' inductive datatype"
+ if ctorModifiers.isProtected && modifiers.isPrivate then
+ throwError "invalid 'protected' constructor in a 'private' inductive datatype"
+ checkValidCtorModifier ctorModifiers
+ let ctorName := ctor.getIdAt 2
+ let ctorName := declName ++ ctorName
+ let ctorName ← withRef ctor[2] $ applyVisibility ctorModifiers.visibility ctorName
+ let inferMod := !ctor[3].isNone
+ let (binders, type?) := expandOptDeclSig ctor[4]
+ pure { ref := ctor, modifiers := ctorModifiers, declName := ctorName, inferMod := inferMod, binders := binders, type? := type? : CtorView }
+ pure {
+ ref := decl,
+ modifiers := modifiers,
+ shortDeclName := name,
+ declName := declName,
+ levelNames := levelNames,
+ binders := binders,
+ type? := type?,
+ ctors := ctors
+ }
private def classInductiveSyntaxToView (modifiers : Modifiers) (decl : Syntax) : CommandElabM InductiveView :=
-inductiveSyntaxToView modifiers decl 2
+ inductiveSyntaxToView modifiers decl 2
def elabInductive (modifiers : Modifiers) (stx : Syntax) : CommandElabM Unit := do
-let v ← inductiveSyntaxToView modifiers stx
-elabInductiveViews #[v]
+ let v ← inductiveSyntaxToView modifiers stx
+ elabInductiveViews #[v]
def elabClassInductive (modifiers : Modifiers) (stx : Syntax) : CommandElabM Unit := do
-let modifiers := modifiers.addAttribute { name := `class }
-let v ← classInductiveSyntaxToView modifiers stx
-elabInductiveViews #[v]
+ let modifiers := modifiers.addAttribute { name := `class }
+ let v ← classInductiveSyntaxToView modifiers stx
+ elabInductiveViews #[v]
@[builtinCommandElab declaration]
-def elabDeclaration : CommandElab :=
-fun stx => match expandDeclNamespace? stx with
-| some (ns, newStx) => do
- let ns := mkIdentFrom stx ns
- let newStx ← `(namespace $ns:ident $newStx end $ns:ident)
- withMacroExpansion stx newStx $ elabCommand newStx
-| none => do
- let modifiers ← elabModifiers stx[0]
- let decl := stx[1]
- let declKind := decl.getKind
- if declKind == `Lean.Parser.Command.«axiom» then
- elabAxiom modifiers decl
- else if declKind == `Lean.Parser.Command.«inductive» then
- elabInductive modifiers decl
- else if declKind == `Lean.Parser.Command.classInductive then
- elabClassInductive modifiers decl
- else if declKind == `Lean.Parser.Command.«structure» then
- elabStructure modifiers decl
- else if isDefLike decl then
- elabMutualDef #[stx]
- else
- throwError "unexpected declaration"
+def elabDeclaration : CommandElab := fun stx =>
+ match expandDeclNamespace? stx with
+ | some (ns, newStx) => do
+ let ns := mkIdentFrom stx ns
+ let newStx ← `(namespace $ns:ident $newStx end $ns:ident)
+ withMacroExpansion stx newStx $ elabCommand newStx
+ | none => do
+ let modifiers ← elabModifiers stx[0]
+ let decl := stx[1]
+ let declKind := decl.getKind
+ if declKind == `Lean.Parser.Command.«axiom» then
+ elabAxiom modifiers decl
+ else if declKind == `Lean.Parser.Command.«inductive» then
+ elabInductive modifiers decl
+ else if declKind == `Lean.Parser.Command.classInductive then
+ elabClassInductive modifiers decl
+ else if declKind == `Lean.Parser.Command.«structure» then
+ elabStructure modifiers decl
+ else if isDefLike decl then
+ elabMutualDef #[stx]
+ else
+ throwError "unexpected declaration"
/- Return true if all elements of the mutual-block are inductive declarations. -/
private def isMutualInductive (stx : Syntax) : Bool :=
-stx[1].getArgs.all fun elem =>
- let decl := elem[1]
- let declKind := decl.getKind
- declKind == `Lean.Parser.Command.inductive
+ stx[1].getArgs.all fun elem =>
+ let decl := elem[1]
+ let declKind := decl.getKind
+ declKind == `Lean.Parser.Command.inductive
private def elabMutualInductive (elems : Array Syntax) : CommandElabM Unit := do
-let views ← elems.mapM fun stx => do
- let modifiers ← elabModifiers stx[0]
- inductiveSyntaxToView modifiers stx[1]
-elabInductiveViews views
+ let views ← elems.mapM fun stx => do
+ let modifiers ← elabModifiers stx[0]
+ inductiveSyntaxToView modifiers stx[1]
+ elabInductiveViews views
/- Return true if all elements of the mutual-block are definitions/theorems/abbrevs. -/
private def isMutualDef (stx : Syntax) : Bool :=
-stx[1].getArgs.all fun elem =>
- let decl := elem[1]
- isDefLike decl
+ stx[1].getArgs.all fun elem =>
+ let decl := elem[1]
+ isDefLike decl
private def isMutualPreambleCommand (stx : Syntax) : Bool :=
-let k := stx.getKind
-k == `Lean.Parser.Command.variable ||
-k == `Lean.Parser.Command.variables ||
-k == `Lean.Parser.Command.universe ||
-k == `Lean.Parser.Command.universes ||
-k == `Lean.Parser.Command.check ||
-k == `Lean.Parser.Command.set_option ||
-k == `Lean.Parser.Command.open
+ let k := stx.getKind
+ k == `Lean.Parser.Command.variable ||
+ k == `Lean.Parser.Command.variables ||
+ k == `Lean.Parser.Command.universe ||
+ k == `Lean.Parser.Command.universes ||
+ k == `Lean.Parser.Command.check ||
+ k == `Lean.Parser.Command.set_option ||
+ k == `Lean.Parser.Command.open
private partial def splitMutualPreamble (elems : Array Syntax) : Option (Array Syntax × Array Syntax) :=
-let rec loop (i : Nat) : Option (Array Syntax × Array Syntax) :=
- if h : i < elems.size then
- let elem := elems.get ⟨i, h⟩
- if isMutualPreambleCommand elem then
- loop (i+1)
- else if i == 0 then
- none -- `mutual` block does not contain any preamble commands
+ let rec loop (i : Nat) : Option (Array Syntax × Array Syntax) :=
+ if h : i < elems.size then
+ let elem := elems.get ⟨i, h⟩
+ if isMutualPreambleCommand elem then
+ loop (i+1)
+ else if i == 0 then
+ none -- `mutual` block does not contain any preamble commands
+ else
+ some (elems[0:i], elems[i:elems.size])
else
- some (elems[0:i], elems[i:elems.size])
- else
- none -- a `mutual` block containing only preamble commands is not a valid `mutual` block
-loop 0
+ none -- a `mutual` block containing only preamble commands is not a valid `mutual` block
+ loop 0
-@[builtinMacro Lean.Parser.Command.mutual] def expandMutualNamespace : Macro :=
-fun stx => do
+@[builtinMacro Lean.Parser.Command.mutual]
+def expandMutualNamespace : Macro := fun stx => do
let ns? := none
let elemsNew := #[]
for elem in stx[1].getArgs do
@@ -221,8 +221,8 @@ fun stx => do
`(namespace $ns:ident $stxNew end $ns:ident)
| none => Macro.throwUnsupported
-@[builtinMacro Lean.Parser.Command.mutual] def expandMutualElement : Macro :=
-fun stx => do
+@[builtinMacro Lean.Parser.Command.mutual]
+def expandMutualElement : Macro := fun stx => do
let elemsNew := #[]
let modified := false
for elem in stx[1].getArgs do
@@ -234,8 +234,8 @@ fun stx => do
else
Macro.throwUnsupported
-@[builtinMacro Lean.Parser.Command.mutual] def expandMutualPreamble : Macro :=
-fun stx =>
+@[builtinMacro Lean.Parser.Command.mutual]
+def expandMutualPreamble : Macro := fun stx =>
match splitMutualPreamble stx[1].getArgs with
| none => Macro.throwUnsupported
| some (preamble, rest) => do
@@ -245,8 +245,7 @@ fun stx =>
pure $ mkNullNode (#[secCmd] ++ preamble ++ #[newMutual] ++ #[endCmd])
@[builtinCommandElab «mutual»]
-def elabMutual : CommandElab :=
-fun stx => do
+def elabMutual : CommandElab := fun stx => do
if isMutualInductive stx then
elabMutualInductive stx[1].getArgs
else if isMutualDef stx then
@@ -255,8 +254,7 @@ fun stx => do
throwError "invalid mutual block"
/- parser! optional "local " >> "attribute " >> "[" >> sepBy1 Term.attrInstance ", " >> "]" >> many1 ident -/
-@[builtinCommandElab «attribute»] def elabAttr : CommandElab :=
-fun stx => do
+@[builtinCommandElab «attribute»] def elabAttr : CommandElab := fun stx => do
let persistent := stx[0].isNone
let attrs ← elabAttrs stx[3]
let idents := stx[5].getArgs
@@ -264,8 +262,7 @@ fun stx => do
let declName ← resolveGlobalConstNoOverload ident.getId
Term.applyAttributes declName attrs persistent
-def expandInitCmd (builtin : Bool) : Macro :=
-fun stx =>
+def expandInitCmd (builtin : Bool) : Macro := fun stx =>
let optHeader := stx[1]
let doSeq := stx[2]
let attrId := mkIdentFrom stx $ if builtin then `builtinInit else `init
@@ -278,9 +275,9 @@ fun stx =>
@[$attrId:ident initFn]constant $id : $type)
@[builtinMacro Lean.Parser.Command.«initialize»] def expandInitialize : Macro :=
-expandInitCmd (builtin := false)
+ expandInitCmd (builtin := false)
@[builtinMacro Lean.Parser.Command.«builtin_initialize»] def expandBuiltinInitialize : Macro :=
-expandInitCmd (builtin := true)
+ expandInitCmd (builtin := true)
end Lean.Elab.Command
diff --git a/stage0/src/Lean/Elab/Frontend.lean b/stage0/src/Lean/Elab/Frontend.lean
index ab8d0d8028..969d3d9b5a 100644
--- a/stage0/src/Lean/Elab/Frontend.lean
+++ b/stage0/src/Lean/Elab/Frontend.lean
@@ -12,6 +12,7 @@ structure State :=
(commandState : Command.State)
(parserState : Parser.ModuleParserState)
(cmdPos : String.Pos)
+(commands : Array Syntax := #[])
structure Context :=
(inputCtx : Parser.InputContext)
@@ -30,7 +31,7 @@ match sNew? with
| some sNew => setCommandState sNew
| none => pure ()
-def elabCommandAtFrontend (stx : Syntax) : FrontendM Unit :=
+def elabCommandAtFrontend (stx : Syntax) : FrontendM Unit := do
runCommandElabM (Command.elabCommand stx)
def updateCmdPos : FrontendM Unit := do
@@ -47,6 +48,7 @@ updateCmdPos
let cmdState ← getCommandState
match Parser.parseCommand cmdState.env (← getInputContext) (← getParserState) cmdState.messages with
| (cmd, ps, messages) =>
+ modify fun s => { s with commands := s.commands.push cmd }
setParserState ps
setMessages messages
if Parser.isEOI cmd || Parser.isExitCommand cmd then
@@ -64,15 +66,15 @@ end Frontend
open Frontend
-def IO.processCommands (inputCtx : Parser.InputContext) (parserState : Parser.ModuleParserState) (commandState : Command.State) : IO Command.State := do
+def IO.processCommands (inputCtx : Parser.InputContext) (parserState : Parser.ModuleParserState) (commandState : Command.State) : IO State := do
let (_, s) ← (Frontend.processCommands.run { inputCtx := inputCtx }).run { commandState := commandState, parserState := parserState, cmdPos := parserState.pos }
-pure s.commandState
+pure s
def process (input : String) (env : Environment) (opts : Options) (fileName : Option String := none) : IO (Environment × MessageLog) := do
let fileName := fileName.getD ""
let inputCtx := Parser.mkInputContext input fileName
-let commandState ← IO.processCommands inputCtx { : Parser.ModuleParserState } (Command.mkState env {} opts)
-pure (commandState.env, commandState.messages)
+let s ← IO.processCommands inputCtx { : Parser.ModuleParserState } (Command.mkState env {} opts)
+pure (s.commandState.env, s.commandState.messages)
@[export lean_process_input]
def processExport (env : Environment) (input : String) (opts : Options) (fileName : String) : IO (Environment × List Message) := do
@@ -80,12 +82,12 @@ let (env, messages) ← process input env opts fileName
pure (env, messages.toList)
@[export lean_run_frontend]
-def runFrontend (input : String) (opts : Options) (fileName : String) (mainModuleName : Name) : IO (Environment × List Message) := do
+def runFrontend (input : String) (opts : Options) (fileName : String) (mainModuleName : Name) : IO (Environment × List Message × Module) := do
let inputCtx := Parser.mkInputContext input fileName
let (header, parserState, messages) ← Parser.parseHeader inputCtx
let (env, messages) ← processHeader header opts messages inputCtx
let env := env.setMainModule mainModuleName
-let cmdState ← IO.processCommands inputCtx parserState (Command.mkState env messages opts)
-pure (cmdState.env, cmdState.messages.toList)
+let s ← IO.processCommands inputCtx parserState (Command.mkState env messages opts)
+pure (s.commandState.env, s.commandState.messages.toList, { header := header, commands := s.commands })
end Lean.Elab
diff --git a/stage0/src/Lean/Elab/Term.lean b/stage0/src/Lean/Elab/Term.lean
index 56b06ffded..a6bcd10c89 100644
--- a/stage0/src/Lean/Elab/Term.lean
+++ b/stage0/src/Lean/Elab/Term.lean
@@ -65,78 +65,78 @@ namespace Lean.Elab.Term
first-order unification.
-/
def setElabConfig (cfg : Meta.Config) : Meta.Config :=
-{ cfg with foApprox := true, ctxApprox := true, constApprox := false, quasiPatternApprox := false }
+ { cfg with foApprox := true, ctxApprox := true, constApprox := false, quasiPatternApprox := false }
structure Context :=
-(fileName : String)
-(fileMap : FileMap)
-(currNamespace : Name)
-(declName? : Option Name := none)
-(levelNames : List Name := [])
-(openDecls : List OpenDecl := [])
-(macroStack : MacroStack := [])
-(currMacroScope : MacroScope := firstFrontendMacroScope)
-/- When `mayPostpone == true`, an elaboration function may interrupt its execution by throwing `Exception.postpone`.
- The function `elabTerm` catches this exception and creates fresh synthetic metavariable `?m`, stores `?m` in
- the list of pending synthetic metavariables, and returns `?m`. -/
-(mayPostpone : Bool := true)
-/- When `errToSorry` is set to true, the method `elabTerm` catches
- exceptions and converts them into synthetic `sorry`s.
- The implementation of choice nodes and overloaded symbols rely on the fact
- that when `errToSorry` is set to false for an elaboration function `F`, then
- `errToSorry` remains `false` for all elaboration functions invoked by `F`.
- That is, it is safe to transition `errToSorry` from `true` to `false`, but
- we must not set `errToSorry` to `true` when it is currently set to `false`. -/
-(errToSorry : Bool := true)
+ (fileName : String)
+ (fileMap : FileMap)
+ (currNamespace : Name)
+ (declName? : Option Name := none)
+ (levelNames : List Name := [])
+ (openDecls : List OpenDecl := [])
+ (macroStack : MacroStack := [])
+ (currMacroScope : MacroScope := firstFrontendMacroScope)
+ /- When `mayPostpone == true`, an elaboration function may interrupt its execution by throwing `Exception.postpone`.
+ The function `elabTerm` catches this exception and creates fresh synthetic metavariable `?m`, stores `?m` in
+ the list of pending synthetic metavariables, and returns `?m`. -/
+ (mayPostpone : Bool := true)
+ /- When `errToSorry` is set to true, the method `elabTerm` catches
+ exceptions and converts them into synthetic `sorry`s.
+ The implementation of choice nodes and overloaded symbols rely on the fact
+ that when `errToSorry` is set to false for an elaboration function `F`, then
+ `errToSorry` remains `false` for all elaboration functions invoked by `F`.
+ That is, it is safe to transition `errToSorry` from `true` to `false`, but
+ we must not set `errToSorry` to `true` when it is currently set to `false`. -/
+ (errToSorry : Bool := true)
/-- We use synthetic metavariables as placeholders for pending elaboration steps. -/
inductive SyntheticMVarKind
--- typeclass instance search
-| typeClass
-/- Similar to typeClass, but error messages are different.
- if `f?` is `some f`, we produce an application type mismatch error message.
- Otherwise, if `header?` is `some header`, we generate the error `(header ++ "has type" ++ eType ++ "but it is expected to have type" ++ expectedType)`
- Otherwise, we generate the error `("type mismatch" ++ e ++ "has type" ++ eType ++ "but it is expected to have type" ++ expectedType)` -/
-| coe (header? : Option String) (expectedType : Expr) (eType : Expr) (e : Expr) (f? : Option Expr)
--- tactic block execution
-| tactic (declName? : Option Name) (tacticCode : Syntax)
--- `elabTerm` call that threw `Exception.postpone` (input is stored at `SyntheticMVarDecl.ref`)
-| postponed (macroStack : MacroStack) (declName? : Option Name)
--- type defaulting (currently: defaulting numeric literals to `Nat`)
-| withDefault (defaultVal : Expr)
+ -- typeclass instance search
+ | typeClass
+ /- Similar to typeClass, but error messages are different.
+ if `f?` is `some f`, we produce an application type mismatch error message.
+ Otherwise, if `header?` is `some header`, we generate the error `(header ++ "has type" ++ eType ++ "but it is expected to have type" ++ expectedType)`
+ Otherwise, we generate the error `("type mismatch" ++ e ++ "has type" ++ eType ++ "but it is expected to have type" ++ expectedType)` -/
+ | coe (header? : Option String) (expectedType : Expr) (eType : Expr) (e : Expr) (f? : Option Expr)
+ -- tactic block execution
+ | tactic (declName? : Option Name) (tacticCode : Syntax)
+ -- `elabTerm` call that threw `Exception.postpone` (input is stored at `SyntheticMVarDecl.ref`)
+ | postponed (macroStack : MacroStack) (declName? : Option Name)
+ -- type defaulting (currently: defaulting numeric literals to `Nat`)
+ | withDefault (defaultVal : Expr)
structure SyntheticMVarDecl :=
-(mvarId : MVarId) (stx : Syntax) (kind : SyntheticMVarKind)
+ (mvarId : MVarId) (stx : Syntax) (kind : SyntheticMVarKind)
inductive MVarErrorKind
-| implicitArg (ctx : Expr)
-| hole
-| custom (msgData : MessageData)
+ | implicitArg (ctx : Expr)
+ | hole
+ | custom (msgData : MessageData)
structure MVarErrorInfo :=
-(mvarId : MVarId)
-(ref : Syntax)
-(kind : MVarErrorKind)
+ (mvarId : MVarId)
+ (ref : Syntax)
+ (kind : MVarErrorKind)
structure LetRecToLift :=
-(ref : Syntax)
-(fvarId : FVarId)
-(attrs : Array Attribute)
-(shortDeclName : Name)
-(declName : Name)
-(lctx : LocalContext)
-(localInstances : LocalInstances)
-(type : Expr)
-(val : Expr)
-(mvarId : MVarId)
+ (ref : Syntax)
+ (fvarId : FVarId)
+ (attrs : Array Attribute)
+ (shortDeclName : Name)
+ (declName : Name)
+ (lctx : LocalContext)
+ (localInstances : LocalInstances)
+ (type : Expr)
+ (val : Expr)
+ (mvarId : MVarId)
structure State :=
-(syntheticMVars : List SyntheticMVarDecl := [])
-(mvarErrorInfos : List MVarErrorInfo := [])
-(messages : MessageLog := {})
-(letRecsToLift : List LetRecToLift := [])
+ (syntheticMVars : List SyntheticMVarDecl := [])
+ (mvarErrorInfos : List MVarErrorInfo := [])
+ (messages : MessageLog := {})
+ (letRecsToLift : List LetRecToLift := [])
-instance State.inhabited : Inhabited State := ⟨{}⟩
+instance : Inhabited State := ⟨{}⟩
abbrev TermElabM := ReaderT Context $ StateRefT State $ MetaM
abbrev TermElab := Syntax → Option Expr → TermElabM Expr
@@ -144,78 +144,80 @@ abbrev TermElab := Syntax → Option Expr → TermElabM Expr
open Meta
instance TermElabM.inhabited {α} : Inhabited (TermElabM α) :=
-⟨throw $ arbitrary _⟩
+ ⟨throw $ arbitrary _⟩
structure SavedState :=
-(core : Core.State)
-(meta : Meta.State)
-(«elab» : State)
+ (core : Core.State)
+ (meta : Meta.State)
+ («elab» : State)
-instance SavedState.inhabited : Inhabited SavedState := ⟨⟨arbitrary _, arbitrary _, arbitrary _⟩⟩
+instance : Inhabited SavedState := ⟨⟨arbitrary _, arbitrary _, arbitrary _⟩⟩
def saveAllState : TermElabM SavedState := do
-pure { core := (← getThe Core.State), meta := (← getThe Meta.State), «elab» := (← get) }
+ pure { core := (← getThe Core.State), meta := (← getThe Meta.State), «elab» := (← get) }
def SavedState.restore (s : SavedState) : TermElabM Unit := do
-let traceState ← getTraceState -- We never backtrack trace message
-set s.core
-set s.meta
-set s.elab
-setTraceState traceState
+ let traceState ← getTraceState -- We never backtrack trace message
+ set s.core
+ set s.meta
+ set s.elab
+ setTraceState traceState
abbrev TermElabResult := EStateM.Result Exception SavedState Expr
-instance TermElabResult.inhabited : Inhabited TermElabResult := ⟨EStateM.Result.ok (arbitrary _) (arbitrary _)⟩
+instance : Inhabited TermElabResult := ⟨EStateM.Result.ok (arbitrary _) (arbitrary _)⟩
def setMessageLog (messages : MessageLog) : TermElabM Unit :=
-modify fun s => { s with messages := messages }
+ modify fun s => { s with messages := messages }
def resetMessageLog : TermElabM Unit := do
-setMessageLog {}
+ setMessageLog {}
def getMessageLog : TermElabM MessageLog := do
-pure (← get).messages
+ pure (← get).messages
/--
Execute `x`, save resulting expression and new state.
If `x` fails, then it also stores exception and new state.
Remark: we do not capture `Exception.postpone`. -/
@[inline] def observing (x : TermElabM Expr) : TermElabM TermElabResult := do
-let s ← saveAllState
-try
- let e ← x
- let sNew ← saveAllState
- s.restore
- pure (EStateM.Result.ok e sNew)
-catch
- | ex@(Exception.error _ _) =>
+ let s ← saveAllState
+ try
+ let e ← x
let sNew ← saveAllState
s.restore
- pure (EStateM.Result.error ex sNew)
- | ex@(Exception.internal id) =>
- if id == postponeExceptionId then s.restore
- throw ex
+ pure (EStateM.Result.ok e sNew)
+ catch
+ | ex@(Exception.error _ _) =>
+ let sNew ← saveAllState
+ s.restore
+ pure (EStateM.Result.error ex sNew)
+ | ex@(Exception.internal id) =>
+ if id == postponeExceptionId then s.restore
+ throw ex
/--
Apply the result/exception and state captured with `observing`.
We use this method to implement overloaded notation and symbols. -/
def applyResult (result : TermElabResult) : TermElabM Expr :=
-match result with
-| EStateM.Result.ok e r => do r.restore; pure e
-| EStateM.Result.error ex r => do r.restore; throw ex
+ match result with
+ | EStateM.Result.ok e r => do r.restore; pure e
+ | EStateM.Result.error ex r => do r.restore; throw ex
instance : MonadIO TermElabM :=
{ liftIO := fun x => liftMetaM $ liftIO x }
@[inline] protected def liftMetaM {α} (x : MetaM α) : TermElabM α := do
-liftM x
+ liftM x
@[inline] def liftCoreM {α} (x : CoreM α) : TermElabM α :=
-Term.liftMetaM $ liftM x
+ Term.liftMetaM $ liftM x
instance : MonadLiftT MetaM TermElabM :=
-⟨Term.liftMetaM⟩
+ ⟨Term.liftMetaM⟩
+
+def getLevelNames : TermElabM (List Name) := do
+ pure (← read).levelNames
-def getLevelNames : TermElabM (List Name) := do pure (← read).levelNames
def getFVarLocalDecl! (fvar : Expr) : TermElabM LocalDecl := do
match (← getLCtx).find? fvar.fvarId! with
| some d => pure d
@@ -226,16 +228,17 @@ def getFVarLocalDecl! (fvar : Expr) : TermElabM LocalDecl := do
-- { getRef := getRef,
-- withRef := withRef }
-instance : AddErrorMessageContext TermElabM :=
-{ add := fun ref msg => do
- let ctx ← read
- let ref := getBetterRef ref ctx.macroStack
- let msg ← addMessageContext msg
- let msg ← addMacroStack msg ctx.macroStack
- pure (ref, msg) }
+instance : AddErrorMessageContext TermElabM := {
+ add := fun ref msg => do
+ let ctx ← read
+ let ref := getBetterRef ref ctx.macroStack
+ let msg ← addMessageContext msg
+ let msg ← addMacroStack msg ctx.macroStack
+ pure (ref, msg)
+}
-instance monadLog : MonadLog TermElabM :=
-{ getRef := getRef,
+instance monadLog : MonadLog TermElabM := {
+ getRef := getRef,
getFileMap := do pure (← read).fileMap,
getFileName := do pure (← read).fileName,
logMessage := fun msg => do
@@ -248,8 +251,8 @@ protected def getCurrMacroScope : TermElabM MacroScope := do pure (← read).cur
protected def getMainModule : TermElabM Name := do pure (← getEnv).mainModule
@[inline] protected def withFreshMacroScope {α} (x : TermElabM α) : TermElabM α := do
-let fresh ← modifyGetThe Core.State (fun st => (st.nextMacroScope, { st with nextMacroScope := st.nextMacroScope + 1 }))
-withReader (fun ctx => { ctx with currMacroScope := fresh }) x
+ let fresh ← modifyGetThe Core.State (fun st => (st.nextMacroScope, { st with nextMacroScope := st.nextMacroScope + 1 }))
+ withReader (fun ctx => { ctx with currMacroScope := fresh }) x
instance monadQuotation : MonadQuotation TermElabM := {
getCurrMacroScope := Term.getCurrMacroScope,
@@ -258,7 +261,7 @@ instance monadQuotation : MonadQuotation TermElabM := {
}
unsafe def mkTermElabAttributeUnsafe : IO (KeyedDeclsAttribute TermElab) :=
-mkElabAttribute TermElab `Lean.Elab.Term.termElabAttribute `builtinTermElab `termElab `Lean.Parser.Term `Lean.Elab.Term.TermElab "term"
+ mkElabAttribute TermElab `Lean.Elab.Term.termElabAttribute `builtinTermElab `termElab `Lean.Parser.Term `Lean.Elab.Term.TermElab "term"
@[implementedBy mkTermElabAttributeUnsafe]
constant mkTermElabAttribute : IO (KeyedDeclsAttribute TermElab)
@@ -272,16 +275,17 @@ builtin_initialize termElabAttribute : KeyedDeclsAttribute TermElab ← mkTermEl
`[LVal.fieldName "foo", LVal.getOp i, LVal.fieldIdx 1]`.
Recall that the notation `a[i]` is not just for accessing arrays in Lean. -/
inductive LVal
-| fieldIdx (i : Nat)
-| fieldName (name : String)
-| getOp (idx : Syntax)
+ | fieldIdx (i : Nat)
+ | fieldName (name : String)
+ | getOp (idx : Syntax)
instance LVal.hasToString : HasToString LVal :=
-⟨fun p => match p with | LVal.fieldIdx i => toString i | LVal.fieldName n => n | LVal.getOp idx => "[" ++ toString idx ++ "]"⟩
+ ⟨fun p => match p with | LVal.fieldIdx i => toString i | LVal.fieldName n => n | LVal.getOp idx => "[" ++ toString idx ++ "]"⟩
-instance : MonadResolveName TermElabM :=
-{ getCurrNamespace := do pure (← read).currNamespace,
- getOpenDecls := do pure (← read).openDecls }
+instance : MonadResolveName TermElabM := {
+ getCurrNamespace := do pure (← read).currNamespace,
+ getOpenDecls := do pure (← read).openDecls
+}
def getDeclName? : TermElabM (Option Name) := do pure (← read).declName?
def getLetRecsToLift : TermElabM (List LetRecToLift) := do pure (← get).letRecsToLift
@@ -290,18 +294,18 @@ def getMVarDecl (mvarId : MVarId) : TermElabM MetavarDecl := do return (← getM
def assignLevelMVar (mvarId : MVarId) (val : Level) : TermElabM Unit := modifyThe Meta.State fun s => { s with mctx := s.mctx.assignLevel mvarId val }
def withDeclName {α} (name : Name) (x : TermElabM α) : TermElabM α :=
-withReader (fun ctx => { ctx with declName? := name }) x
+ withReader (fun ctx => { ctx with declName? := name }) x
def withLevelNames {α} (levelNames : List Name) (x : TermElabM α) : TermElabM α :=
-withReader (fun ctx => { ctx with levelNames := levelNames }) x
+ withReader (fun ctx => { ctx with levelNames := levelNames }) x
def withoutErrToSorry {α} (x : TermElabM α) : TermElabM α :=
-withReader (fun ctx => { ctx with errToSorry := false }) x
+ withReader (fun ctx => { ctx with errToSorry := false }) x
/-- For testing `TermElabM` methods. The #eval command will sign the error. -/
def throwErrorIfErrors : TermElabM Unit := do
-if (← get).messages.hasErrors then
- throwError "Error(s)"
+ if (← get).messages.hasErrors then
+ throwError "Error(s)"
@[inline] def traceAtCmdPos (cls : Name) (msg : Unit → MessageData) : TermElabM Unit :=
withRef Syntax.missing $ trace cls msg
@@ -309,71 +313,71 @@ withRef Syntax.missing $ trace cls msg
def ppGoal (mvarId : MVarId) : TermElabM Format := liftMetaM $ Meta.ppGoal mvarId
@[inline] def savingMCtx {α} (x : TermElabM α) : TermElabM α := do
-let mctx ← getMCtx
-try x finally setMCtx mctx
+ let mctx ← getMCtx
+ try x finally setMCtx mctx
open Level (LevelElabM)
def liftLevelM {α} (x : LevelElabM α) : TermElabM α := do
-let ctx ← read
-let ref ← getRef
-let mctx ← getMCtx
-let ngen ← getNGen
-let lvlCtx : Level.Context := { ref := ref, levelNames := ctx.levelNames }
-match (x lvlCtx).run { ngen := ngen, mctx := mctx } with
-| EStateM.Result.ok a newS => do setMCtx newS.mctx; setNGen newS.ngen; pure a
-| EStateM.Result.error ex _ => throw ex
+ let ctx ← read
+ let ref ← getRef
+ let mctx ← getMCtx
+ let ngen ← getNGen
+ let lvlCtx : Level.Context := { ref := ref, levelNames := ctx.levelNames }
+ match (x lvlCtx).run { ngen := ngen, mctx := mctx } with
+ | EStateM.Result.ok a newS => do setMCtx newS.mctx; setNGen newS.ngen; pure a
+ | EStateM.Result.error ex _ => throw ex
def elabLevel (stx : Syntax) : TermElabM Level :=
-liftLevelM $ Level.elabLevel stx
+ liftLevelM $ Level.elabLevel stx
/- Elaborate `x` with `stx` on the macro stack -/
@[inline] def withMacroExpansion {α} (beforeStx afterStx : Syntax) (x : TermElabM α) : TermElabM α :=
-withReader (fun ctx => { ctx with macroStack := { before := beforeStx, after := afterStx } :: ctx.macroStack }) x
+ withReader (fun ctx => { ctx with macroStack := { before := beforeStx, after := afterStx } :: ctx.macroStack }) x
/-
Add the given metavariable to the list of pending synthetic metavariables.
The method `synthesizeSyntheticMVars` is used to process the metavariables on this list. -/
def registerSyntheticMVar (stx : Syntax) (mvarId : MVarId) (kind : SyntheticMVarKind) : TermElabM Unit := do
-modify fun s => { s with syntheticMVars := { mvarId := mvarId, stx := stx, kind := kind } :: s.syntheticMVars }
+ modify fun s => { s with syntheticMVars := { mvarId := mvarId, stx := stx, kind := kind } :: s.syntheticMVars }
def registerSyntheticMVarWithCurrRef (mvarId : MVarId) (kind : SyntheticMVarKind) : TermElabM Unit := do
-registerSyntheticMVar (← getRef) mvarId kind
+ registerSyntheticMVar (← getRef) mvarId kind
def registerMVarErrorHoleInfo (mvarId : MVarId) (ref : Syntax) : TermElabM Unit := do
-modify fun s => { s with mvarErrorInfos := { mvarId := mvarId, ref := ref, kind := MVarErrorKind.hole } :: s.mvarErrorInfos }
+ modify fun s => { s with mvarErrorInfos := { mvarId := mvarId, ref := ref, kind := MVarErrorKind.hole } :: s.mvarErrorInfos }
def registerMVarErrorImplicitArgInfo (mvarId : MVarId) (ref : Syntax) (app : Expr) : TermElabM Unit := do
-modify fun s => { s with mvarErrorInfos := { mvarId := mvarId, ref := ref, kind := MVarErrorKind.implicitArg app } :: s.mvarErrorInfos }
+ modify fun s => { s with mvarErrorInfos := { mvarId := mvarId, ref := ref, kind := MVarErrorKind.implicitArg app } :: s.mvarErrorInfos }
def registerMVarErrorCustomInfo (mvarId : MVarId) (ref : Syntax) (msgData : MessageData) : TermElabM Unit := do
-modify fun s => { s with mvarErrorInfos := { mvarId := mvarId, ref := ref, kind := MVarErrorKind.custom msgData } :: s.mvarErrorInfos }
+ modify fun s => { s with mvarErrorInfos := { mvarId := mvarId, ref := ref, kind := MVarErrorKind.custom msgData } :: s.mvarErrorInfos }
def registerCustomErrorIfMVar (e : Expr) (ref : Syntax) (msgData : MessageData) : TermElabM Unit :=
-match e.getAppFn with
-| Expr.mvar mvarId _ => registerMVarErrorCustomInfo mvarId ref msgData
-| _ => pure ()
+ match e.getAppFn with
+ | Expr.mvar mvarId _ => registerMVarErrorCustomInfo mvarId ref msgData
+ | _ => pure ()
def MVarErrorInfo.logError (mvarErrorInfo : MVarErrorInfo) : TermElabM Unit := do
-match mvarErrorInfo.kind with
-| MVarErrorKind.implicitArg app => do
- let app ← instantiateMVars app
- let f := app.getAppFn
- let args := app.getAppArgs
- let msg := args.foldl (init := "@" ++ MessageData.ofExpr f) fun (msg : MessageData) (arg : Expr) =>
- if arg.getAppFn.isMVar then
- msg ++ " " ++ arg.getAppFn
- else
- msg ++ " …"
- let msg : MessageData := "don't know how to synthesize implicit argument" ++ indentD msg
- let msg := msg ++ Format.line ++ "context:" ++ Format.line ++ MessageData.ofGoal mvarErrorInfo.mvarId
- logErrorAt mvarErrorInfo.ref msg
-| MVarErrorKind.hole => do
- let msg : MessageData := "don't know how to synthesize placeholder"
- let msg := msg ++ Format.line ++ "context:" ++ Format.line ++ MessageData.ofGoal mvarErrorInfo.mvarId
- logErrorAt mvarErrorInfo.ref msg
-| MVarErrorKind.custom msgData =>
- logErrorAt mvarErrorInfo.ref msgData
+ match mvarErrorInfo.kind with
+ | MVarErrorKind.implicitArg app => do
+ let app ← instantiateMVars app
+ let f := app.getAppFn
+ let args := app.getAppArgs
+ let msg := args.foldl (init := "@" ++ MessageData.ofExpr f) fun (msg : MessageData) (arg : Expr) =>
+ if arg.getAppFn.isMVar then
+ msg ++ " " ++ arg.getAppFn
+ else
+ msg ++ " …"
+ let msg : MessageData := "don't know how to synthesize implicit argument" ++ indentD msg
+ let msg := msg ++ Format.line ++ "context:" ++ Format.line ++ MessageData.ofGoal mvarErrorInfo.mvarId
+ logErrorAt mvarErrorInfo.ref msg
+ | MVarErrorKind.hole => do
+ let msg : MessageData := "don't know how to synthesize placeholder"
+ let msg := msg ++ Format.line ++ "context:" ++ Format.line ++ MessageData.ofGoal mvarErrorInfo.mvarId
+ logErrorAt mvarErrorInfo.ref msg
+ | MVarErrorKind.custom msgData =>
+ logErrorAt mvarErrorInfo.ref msgData
/--
Try to log errors for the unassigned metavariables `pendingMVarIds`.
@@ -381,40 +385,40 @@ match mvarErrorInfo.kind with
Remark: This method only succeeds if we have information for at least one given metavariable
at `mvarErrorInfos`. -/
def logUnassignedUsingErrorInfos (pendingMVarIds : Array MVarId) : TermElabM Bool := do
-let s ← get
-let errorInfos := s.mvarErrorInfos
-let (foundErrors, _) ← errorInfos.foldlM (init := (false, {})) fun (foundErrors, (alreadyVisited : NameSet)) mvarErrorInfo => do
- let mvarId := mvarErrorInfo.mvarId;
- if alreadyVisited.contains mvarId then
- pure (foundErrors, alreadyVisited)
- else do
- let alreadyVisited := alreadyVisited.insert mvarId
- /- The metavariable `mvarErrorInfo.mvarId` may have been assigned or
- delayed assigned to another metavariable that is unassigned. -/
- let mvarDeps ← getMVars (mkMVar mvarId)
- if mvarDeps.any pendingMVarIds.contains then do
- mvarErrorInfo.logError;
- pure (true, alreadyVisited)
- else
+ let s ← get
+ let errorInfos := s.mvarErrorInfos
+ let (foundErrors, _) ← errorInfos.foldlM (init := (false, {})) fun (foundErrors, (alreadyVisited : NameSet)) mvarErrorInfo => do
+ let mvarId := mvarErrorInfo.mvarId;
+ if alreadyVisited.contains mvarId then
pure (foundErrors, alreadyVisited)
-pure foundErrors
+ else do
+ let alreadyVisited := alreadyVisited.insert mvarId
+ /- The metavariable `mvarErrorInfo.mvarId` may have been assigned or
+ delayed assigned to another metavariable that is unassigned. -/
+ let mvarDeps ← getMVars (mkMVar mvarId)
+ if mvarDeps.any pendingMVarIds.contains then do
+ mvarErrorInfo.logError;
+ pure (true, alreadyVisited)
+ else
+ pure (foundErrors, alreadyVisited)
+ pure foundErrors
/-- Ensure metavariables registered using `registerMVarErrorInfos` (and used in the given declaration) have been assigned. -/
def ensureNoUnassignedMVars (decl : Declaration) : TermElabM Unit := do
-let pendingMVarIds ← getMVarsAtDecl decl
-let foundError ← logUnassignedUsingErrorInfos pendingMVarIds
-if foundError then
- throwAbort
+ let pendingMVarIds ← getMVarsAtDecl decl
+ let foundError ← logUnassignedUsingErrorInfos pendingMVarIds
+ if foundError then
+ throwAbort
/-
Execute `x` without allowing it to postpone elaboration tasks.
That is, `tryPostpone` is a noop. -/
@[inline] def withoutPostponing {α} (x : TermElabM α) : TermElabM α :=
-withReader (fun ctx => { ctx with mayPostpone := false }) x
+ withReader (fun ctx => { ctx with mayPostpone := false }) x
/-- Creates syntax for `(` `:` `)` -/
def mkExplicitBinder (ident : Syntax) (type : Syntax) : Syntax :=
-mkNode `Lean.Parser.Term.explicitBinder #[mkAtom "(", mkNullNode #[ident], mkNullNode #[mkAtom ":", type], mkNullNode, mkAtom ")"]
+ mkNode `Lean.Parser.Term.explicitBinder #[mkAtom "(", mkNullNode #[ident], mkNullNode #[mkAtom ":", type], mkNullNode, mkAtom ")"]
/--
Convert unassigned universe level metavariables into parameters.
@@ -423,70 +427,70 @@ mkNode `Lean.Parser.Term.explicitBinder #[mkAtom "(", mkNullNode #[ident], mkNul
Remark: we make sure the generated parameter names do not clash with the universes at `ctx.levelNames`. -/
def levelMVarToParam (e : Expr) (nextParamIdx : Nat := 1) : TermElabM (Expr × Nat) := do
-let ctx ← read
-let mctx ← getMCtx
-let r := mctx.levelMVarToParam (fun n => ctx.levelNames.elem n) e `u nextParamIdx
-setMCtx r.mctx
-pure (r.expr, r.nextParamIdx)
+ let ctx ← read
+ let mctx ← getMCtx
+ let r := mctx.levelMVarToParam (fun n => ctx.levelNames.elem n) e `u nextParamIdx
+ setMCtx r.mctx
+ pure (r.expr, r.nextParamIdx)
/-- Variant of `levelMVarToParam` where `nextParamIdx` is stored in a state monad. -/
def levelMVarToParam' (e : Expr) : StateRefT Nat TermElabM Expr := do
-let nextParamIdx ← get
-let (e, nextParamIdx) ← levelMVarToParam e nextParamIdx
-set nextParamIdx
-pure e
+ let nextParamIdx ← get
+ let (e, nextParamIdx) ← levelMVarToParam e nextParamIdx
+ set nextParamIdx
+ pure e
/--
Auxiliary method for creating fresh binder names.
Do not confuse with the method for creating fresh free/meta variable ids. -/
def mkFreshBinderName : TermElabM Name :=
-withFreshMacroScope $ MonadQuotation.addMacroScope `x
+ withFreshMacroScope $ MonadQuotation.addMacroScope `x
/--
Auxiliary method for creating a `Syntax.ident` containing
a fresh name. This method is intended for creating fresh binder names.
It is just a thin layer on top of `mkFreshUserName`. -/
def mkFreshIdent (ref : Syntax) : TermElabM Syntax := do
-let n ← mkFreshBinderName
-pure $ mkIdentFrom ref n
+ let n ← mkFreshBinderName
+ pure $ mkIdentFrom ref n
/--
Auxiliary method for creating binder names for local instances. -/
def mkFreshInstanceName : TermElabM Name :=
-withFreshMacroScope $ MonadQuotation.addMacroScope `inst
+ withFreshMacroScope $ MonadQuotation.addMacroScope `inst
private def liftAttrM {α} (x : AttrM α) : TermElabM α := do
-let ctx ← read
-liftCoreM $ x.run { currNamespace := ctx.currNamespace, openDecls := ctx.openDecls }
+ let ctx ← read
+ liftCoreM $ x.run { currNamespace := ctx.currNamespace, openDecls := ctx.openDecls }
private def applyAttributesCore (declName : Name) (attrs : Array Attribute)
(applicationTime? : Option AttributeApplicationTime) (persistent : Bool) : TermElabM Unit := do
-for attr in attrs do
- let env ← getEnv
- match getAttributeImpl env attr.name with
- | Except.error errMsg => throwError errMsg
- | Except.ok attrImpl =>
- match applicationTime? with
- | none => liftAttrM $ attrImpl.add declName attr.args persistent
- | some applicationTime =>
- if applicationTime == attrImpl.applicationTime then
- liftAttrM $ attrImpl.add declName attr.args persistent
+ for attr in attrs do
+ let env ← getEnv
+ match getAttributeImpl env attr.name with
+ | Except.error errMsg => throwError errMsg
+ | Except.ok attrImpl =>
+ match applicationTime? with
+ | none => liftAttrM $ attrImpl.add declName attr.args persistent
+ | some applicationTime =>
+ if applicationTime == attrImpl.applicationTime then
+ liftAttrM $ attrImpl.add declName attr.args persistent
/-- Apply given attributes **at** a given application time -/
def applyAttributesAt (declName : Name) (attrs : Array Attribute) (applicationTime : AttributeApplicationTime) (persistent : Bool := true) : TermElabM Unit :=
-applyAttributesCore declName attrs applicationTime persistent
+ applyAttributesCore declName attrs applicationTime persistent
def applyAttributes (declName : Name) (attrs : Array Attribute) (persistent : Bool) : TermElabM Unit :=
-applyAttributesCore declName attrs none persistent
+ applyAttributesCore declName attrs none persistent
/- Elaboration functions -/
private partial def hasCDot : Syntax → Bool
-| Syntax.node k args =>
- if k == `Lean.Parser.Term.paren then false
- else if k == `Lean.Parser.Term.cdot then true
- else args.any hasCDot
-| _ => false
+ | Syntax.node k args =>
+ if k == `Lean.Parser.Term.paren then false
+ else if k == `Lean.Parser.Term.cdot then true
+ else args.any hasCDot
+ | _ => false
/--
Auxiliary function for expandind the `·` notation.
@@ -494,16 +498,16 @@ private partial def hasCDot : Syntax → Bool
If `stx` is a `·`, we create a fresh identifier, store in the
extra state, and return it. Otherwise, we just return `stx`. -/
private partial def expandCDot : Syntax → StateT (Array Syntax) MacroM Syntax
-| stx@(Syntax.node k args) =>
- if k == `Lean.Parser.Term.paren then pure stx
- else if k == `Lean.Parser.Term.cdot then withFreshMacroScope do
- let id ← `(a)
- modify fun s => s.push id;
- pure id
- else do
- let args ← args.mapM expandCDot
- pure $ Syntax.node k args
-| stx => pure stx
+ | stx@(Syntax.node k args) =>
+ if k == `Lean.Parser.Term.paren then pure stx
+ else if k == `Lean.Parser.Term.cdot then withFreshMacroScope do
+ let id ← `(a)
+ modify fun s => s.push id;
+ pure id
+ else do
+ let args ← args.mapM expandCDot
+ pure $ Syntax.node k args
+ | stx => pure stx
/--
Return `some` if succeeded expanding `·` notation occurring in
@@ -512,41 +516,41 @@ private partial def expandCDot : Syntax → StateT (Array Syntax) MacroM Syntax
- `· + 1` => `fun _a_1 => _a_1 + 1`
- `f · · b` => `fun _a_1 _a_2 => f _a_1 _a_2 b` -/
def expandCDot? (stx : Syntax) : MacroM (Option Syntax) := do
-if hasCDot stx then
- let (newStx, binders) ← (expandCDot stx).run #[];
- `(fun $binders* => $newStx)
-else
- pure none
+ if hasCDot stx then
+ let (newStx, binders) ← (expandCDot stx).run #[];
+ `(fun $binders* => $newStx)
+ else
+ pure none
def mkTypeMismatchError (header? : Option String) (e : Expr) (eType : Expr) (expectedType : Expr) : MessageData :=
-let header : MessageData := match header? with
- | some header => msg!"{header} has type"
- | none => msg!"type mismatch{indentExpr e}\nhas type"
-msg!"{header}{indentExpr eType}\nbut is expected to have type{indentExpr expectedType}"
+ let header : MessageData := match header? with
+ | some header => msg!"{header} has type"
+ | none => msg!"type mismatch{indentExpr e}\nhas type"
+ msg!"{header}{indentExpr eType}\nbut is expected to have type{indentExpr expectedType}"
def throwTypeMismatchError {α} (header? : Option String) (expectedType : Expr) (eType : Expr) (e : Expr)
(f? : Option Expr := none) (extraMsg? : Option MessageData := none) : TermElabM α :=
-/-
- We ignore `extraMsg?` for now. In all our tests, it contained no useful information. It was
- always of the form:
- ```
- failed to synthesize instance
- CoeT
- ```
- We should revisit this decision in the future and decide whether it may contain useful information
- or not. -/
-let extraMsg := Format.nil
-/-
-let extraMsg : MessageData := match extraMsg? with
- | none => Format.nil
- | some extraMsg => Format.line ++ extraMsg;
--/
-match f? with
-| none => throwError $ mkTypeMismatchError header? e eType expectedType ++ extraMsg
-| some f => Meta.throwAppTypeMismatch f e extraMsg
+ /-
+ We ignore `extraMsg?` for now. In all our tests, it contained no useful information. It was
+ always of the form:
+ ```
+ failed to synthesize instance
+ CoeT
+ ```
+ We should revisit this decision in the future and decide whether it may contain useful information
+ or not. -/
+ let extraMsg := Format.nil
+ /-
+ let extraMsg : MessageData := match extraMsg? with
+ | none => Format.nil
+ | some extraMsg => Format.line ++ extraMsg;
+ -/
+ match f? with
+ | none => throwError $ mkTypeMismatchError header? e eType expectedType ++ extraMsg
+ | some f => Meta.throwAppTypeMismatch f e extraMsg
@[inline] def withoutMacroStackAtErr {α} (x : TermElabM α) : TermElabM α :=
-withTheReader Core.Context (fun (ctx : Core.Context) => { ctx with options := setMacroStackOption ctx.options false }) x
+ withTheReader Core.Context (fun (ctx : Core.Context) => { ctx with options := setMacroStackOption ctx.options false }) x
/- Try to synthesize metavariable using type class resolution.
This method assumes the local context and local instances of `instMVar` coincide
@@ -555,34 +559,34 @@ withTheReader Core.Context (fun (ctx : Core.Context) => { ctx with options := se
the instance contains unassigned metavariables that are blocking the type class
resolution procedure. Throw an exception if resolution or assignment irrevocably fails. -/
def synthesizeInstMVarCore (instMVar : MVarId) : TermElabM Bool := do
-let instMVarDecl ← getMVarDecl instMVar
-let type := instMVarDecl.type
-let type ← instantiateMVars type
-let result ← trySynthInstance type
-match result with
-| LOption.some val =>
- if (← isExprMVarAssigned instMVar) then
- let oldVal ← instantiateMVars (mkMVar instMVar)
- unless (← isDefEq oldVal val) do
- throwError! "synthesized type class instance is not definitionally equal to expression inferred by typing rules, synthesized{indentExpr val}\ninferred{indentExpr oldVal}"
- else
- assignExprMVar instMVar val
- pure true
-| LOption.undef => pure false -- we will try later
-| LOption.none => throwError! "failed to synthesize instance{indentExpr type}"
+ let instMVarDecl ← getMVarDecl instMVar
+ let type := instMVarDecl.type
+ let type ← instantiateMVars type
+ let result ← trySynthInstance type
+ match result with
+ | LOption.some val =>
+ if (← isExprMVarAssigned instMVar) then
+ let oldVal ← instantiateMVars (mkMVar instMVar)
+ unless (← isDefEq oldVal val) do
+ throwError! "synthesized type class instance is not definitionally equal to expression inferred by typing rules, synthesized{indentExpr val}\ninferred{indentExpr oldVal}"
+ else
+ assignExprMVar instMVar val
+ pure true
+ | LOption.undef => pure false -- we will try later
+ | LOption.none => throwError! "failed to synthesize instance{indentExpr type}"
/-
The coercion from `α` to `Thunk α` cannot be implemented using an instance because it would
eagerly evaluate `e` -/
def tryCoeThunk? (expectedType : Expr) (eType : Expr) (e : Expr) : TermElabM (Option Expr) := do
-match expectedType with
-| Expr.app (Expr.const `Thunk u _) arg _ =>
- if (← isDefEq eType arg) then
- pure (some (mkApp2 (mkConst `Thunk.mk u) arg (mkSimpleThunk e)))
- else
+ match expectedType with
+ | Expr.app (Expr.const `Thunk u _) arg _ =>
+ if (← isDefEq eType arg) then
+ pure (some (mkApp2 (mkConst `Thunk.mk u) arg (mkSimpleThunk e)))
+ else
+ pure none
+ | _ =>
pure none
-| _ =>
- pure none
/--
Try to apply coercion to make sure `e` has type `expectedType`.
@@ -592,56 +596,56 @@ match expectedType with
abbrev coe {α : Sort u} {β : Sort v} (a : α) [CoeT α a β] : β
``` -/
private def tryCoe (errorMsgHeader? : Option String) (expectedType : Expr) (eType : Expr) (e : Expr) (f? : Option Expr) : TermElabM Expr := do
-if (← isDefEq expectedType eType) then
- pure e
-else match (← tryCoeThunk? expectedType eType e) with
- | some r => pure r
- | none =>
- let u ← getLevel eType
- let v ← getLevel expectedType
- let coeTInstType := mkAppN (mkConst `CoeT [u, v]) #[eType, e, expectedType]
- let mvar ← mkFreshExprMVar coeTInstType MetavarKind.synthetic
- let eNew := mkAppN (mkConst `coe [u, v]) #[eType, expectedType, e, mvar]
- let mvarId := mvar.mvarId!
- try
- withoutMacroStackAtErr do
- unless (← synthesizeInstMVarCore mvarId) do
- registerSyntheticMVarWithCurrRef mvarId (SyntheticMVarKind.coe errorMsgHeader? expectedType eType e f?)
- pure eNew
- catch
- | Exception.error _ msg => throwTypeMismatchError errorMsgHeader? expectedType eType e f? msg
- | _ => throwTypeMismatchError errorMsgHeader? expectedType eType e f?
+ if (← isDefEq expectedType eType) then
+ pure e
+ else match (← tryCoeThunk? expectedType eType e) with
+ | some r => pure r
+ | none =>
+ let u ← getLevel eType
+ let v ← getLevel expectedType
+ let coeTInstType := mkAppN (mkConst `CoeT [u, v]) #[eType, e, expectedType]
+ let mvar ← mkFreshExprMVar coeTInstType MetavarKind.synthetic
+ let eNew := mkAppN (mkConst `coe [u, v]) #[eType, expectedType, e, mvar]
+ let mvarId := mvar.mvarId!
+ try
+ withoutMacroStackAtErr do
+ unless (← synthesizeInstMVarCore mvarId) do
+ registerSyntheticMVarWithCurrRef mvarId (SyntheticMVarKind.coe errorMsgHeader? expectedType eType e f?)
+ pure eNew
+ catch
+ | Exception.error _ msg => throwTypeMismatchError errorMsgHeader? expectedType eType e f? msg
+ | _ => throwTypeMismatchError errorMsgHeader? expectedType eType e f?
private def isTypeApp? (type : Expr) : TermElabM (Option (Expr × Expr)) := do
-let type ← withReducible $ whnf type
-match type with
-| Expr.app m α _ => pure (some (m, α))
-| _ => pure none
+ let type ← withReducible $ whnf type
+ match type with
+ | Expr.app m α _ => pure (some (m, α))
+ | _ => pure none
structure IsMonadResult :=
-(m : Expr)
-(α : Expr)
-(inst : Expr)
+ (m : Expr)
+ (α : Expr)
+ (inst : Expr)
private def isMonad? (type : Expr) : TermElabM (Option IsMonadResult) := do
-let type ← withReducible $ whnf type
-match type with
-| Expr.app m α _ =>
- try
- let monadType ← mkAppM `Monad #[m]
- let result ← trySynthInstance monadType
- match result with
- | LOption.some inst => pure (some { m := m, α := α, inst := inst })
- | _ => pure none
- catch _ => pure none
-| _ => pure none
+ let type ← withReducible $ whnf type
+ match type with
+ | Expr.app m α _ =>
+ try
+ let monadType ← mkAppM `Monad #[m]
+ let result ← trySynthInstance monadType
+ match result with
+ | LOption.some inst => pure (some { m := m, α := α, inst := inst })
+ | _ => pure none
+ catch _ => pure none
+ | _ => pure none
def synthesizeInst (type : Expr) : TermElabM Expr := do
-let type ← instantiateMVars type
-match (← trySynthInstance type) with
-| LOption.some val => pure val
-| LOption.undef => throwError! "failed to synthesize instance{indentExpr type}"
-| LOption.none => throwError! "failed to synthesize instance{indentExpr type}"
+ let type ← instantiateMVars type
+ match (← trySynthInstance type) with
+ | LOption.some val => pure val
+ | LOption.undef => throwError! "failed to synthesize instance{indentExpr type}"
+ | LOption.none => throwError! "failed to synthesize instance{indentExpr type}"
/--
Try to coerce `a : α` into `m β` by first coercing `a : α` into ‵β`, and then using `pure`.
@@ -665,22 +669,22 @@ match (← trySynthInstance type) with
```
-/
private def tryPureCoe? (errorMsgHeader? : Option String) (m β α a : Expr) : TermElabM (Option Expr) := do
-let doIt (_ : Unit) : TermElabM (Option Expr) := do
- try
- let aNew ← tryCoe errorMsgHeader? β α a none
- let aNew ← mkPure m aNew
- pure (some aNew)
- catch _ =>
- pure none
-let αHead := α.getAppFn
-if !β.getAppFn.isMVar && !αHead.isMVar then
- doIt () -- case 1
-else
- let αIsMonad? ← isMonad? α
- if !αHead.isMVar && αIsMonad?.isNone then
- doIt () -- case 2
+ let doIt : TermElabM (Option Expr) := do
+ try
+ let aNew ← tryCoe errorMsgHeader? β α a none
+ let aNew ← mkPure m aNew
+ pure (some aNew)
+ catch _ =>
+ pure none
+ let αHead := α.getAppFn
+ if !β.getAppFn.isMVar && !αHead.isMVar then
+ doIt -- case 1
else
- pure none
+ let αIsMonad? ← isMonad? α
+ if !αHead.isMVar && αIsMonad?.isNone then
+ doIt -- case 2
+ else
+ pure none
/-
Try coercions and monad lifts to make sure `e` has type `expectedType`.
@@ -738,45 +742,45 @@ since this goal does not contain any metavariables. And then, we
convert `g x` into `liftM $ g x`.
-/
private def tryLiftAndCoe (errorMsgHeader? : Option String) (expectedType : Expr) (eType : Expr) (e : Expr) (f? : Option Expr) : TermElabM Expr := do
-let expectedType ← instantiateMVars expectedType
-let eType ← instantiateMVars eType
-let some ⟨n, β, monadInst⟩ ← isMonad? expectedType | tryCoe errorMsgHeader? expectedType eType e f?
-let β ← instantiateMVars β
-let eNew? ← tryPureCoe? errorMsgHeader? n β eType e
-match eNew? with
-| some eNew => pure eNew
-| none =>
- let some (m, α) ← isTypeApp? eType | tryCoe errorMsgHeader? expectedType eType e f?
- if (← isDefEq m n) then
- try
- mkAppOptM `coeM #[m, α, β, none, monadInst, e]
- catch _ =>
- throwTypeMismatchError errorMsgHeader? expectedType eType e f?
- else
- try
- -- Construct lift from `m` to `n`
- let monadLiftType ← mkAppM `MonadLiftT #[m, n]
- let monadLiftVal ← synthesizeInst monadLiftType
- let u_1 ← getDecLevel α
- let u_2 ← getDecLevel eType
- let u_3 ← getDecLevel expectedType
- let eNew := mkAppN (Lean.mkConst `liftM [u_1, u_2, u_3]) #[m, n, monadLiftVal, α, e]
- let eNewType ← inferType eNew
- if (← isDefEq expectedType eNewType) then
- pure eNew -- approach 2 worked
- else
- let u ← getLevel α
- let v ← getLevel β
- let coeTInstType := Lean.mkForall `a BinderInfo.default α $ mkAppN (mkConst `CoeT [u, v]) #[α, mkBVar 0, β]
- let coeTInstVal ← synthesizeInst coeTInstType
- let eNew := mkAppN (Lean.mkConst `liftCoeM [u_1, u_2, u_3]) #[m, n, α, β, monadLiftVal, coeTInstVal, monadInst, e]
+ let expectedType ← instantiateMVars expectedType
+ let eType ← instantiateMVars eType
+ let some ⟨n, β, monadInst⟩ ← isMonad? expectedType | tryCoe errorMsgHeader? expectedType eType e f?
+ let β ← instantiateMVars β
+ let eNew? ← tryPureCoe? errorMsgHeader? n β eType e
+ match eNew? with
+ | some eNew => pure eNew
+ | none =>
+ let some (m, α) ← isTypeApp? eType | tryCoe errorMsgHeader? expectedType eType e f?
+ if (← isDefEq m n) then
+ try
+ mkAppOptM `coeM #[m, α, β, none, monadInst, e]
+ catch _ =>
+ throwTypeMismatchError errorMsgHeader? expectedType eType e f?
+ else
+ try
+ -- Construct lift from `m` to `n`
+ let monadLiftType ← mkAppM `MonadLiftT #[m, n]
+ let monadLiftVal ← synthesizeInst monadLiftType
+ let u_1 ← getDecLevel α
+ let u_2 ← getDecLevel eType
+ let u_3 ← getDecLevel expectedType
+ let eNew := mkAppN (Lean.mkConst `liftM [u_1, u_2, u_3]) #[m, n, monadLiftVal, α, e]
let eNewType ← inferType eNew
if (← isDefEq expectedType eNewType) then
- pure eNew -- approach 3 worked
+ pure eNew -- approach 2 worked
else
- throwTypeMismatchError errorMsgHeader? expectedType eType e f?
- catch _ =>
- throwTypeMismatchError errorMsgHeader? expectedType eType e f?
+ let u ← getLevel α
+ let v ← getLevel β
+ let coeTInstType := Lean.mkForall `a BinderInfo.default α $ mkAppN (mkConst `CoeT [u, v]) #[α, mkBVar 0, β]
+ let coeTInstVal ← synthesizeInst coeTInstType
+ let eNew := mkAppN (Lean.mkConst `liftCoeM [u_1, u_2, u_3]) #[m, n, α, β, monadLiftVal, coeTInstVal, monadInst, e]
+ let eNewType ← inferType eNew
+ if (← isDefEq expectedType eNewType) then
+ pure eNew -- approach 3 worked
+ else
+ throwTypeMismatchError errorMsgHeader? expectedType eType e f?
+ catch _ =>
+ throwTypeMismatchError errorMsgHeader? expectedType eType e f?
/--
If `expectedType?` is `some t`, then ensure `t` and `eType` are definitionally equal.
@@ -785,188 +789,188 @@ match eNew? with
Argument `f?` is used only for generating error messages. -/
def ensureHasTypeAux (expectedType? : Option Expr) (eType : Expr) (e : Expr)
(f? : Option Expr := none) (errorMsgHeader? : Option String := none) : TermElabM Expr := do
-match expectedType? with
-| none => pure e
-| some expectedType =>
- if (← isDefEq eType expectedType) then
- pure e
- else
- tryLiftAndCoe errorMsgHeader? expectedType eType e f?
+ match expectedType? with
+ | none => pure e
+ | some expectedType =>
+ if (← isDefEq eType expectedType) then
+ pure e
+ else
+ tryLiftAndCoe errorMsgHeader? expectedType eType e f?
/--
If `expectedType?` is `some t`, then ensure `t` and type of `e` are definitionally equal.
If they are not, then try coercions. -/
def ensureHasType (expectedType? : Option Expr) (e : Expr) (errorMsgHeader? : Option String := none) : TermElabM Expr :=
-match expectedType? with
-| none => pure e
-| _ => do
- let eType ← inferType e
- ensureHasTypeAux expectedType? eType e none errorMsgHeader?
+ match expectedType? with
+ | none => pure e
+ | _ => do
+ let eType ← inferType e
+ ensureHasTypeAux expectedType? eType e none errorMsgHeader?
private def exceptionToSorry (ex : Exception) (expectedType? : Option Expr) : TermElabM Expr := do
-let expectedType ← match expectedType? with
- | none => mkFreshTypeMVar
- | some expectedType => pure expectedType
-let u ← getLevel expectedType
--- TODO: should be `(sorryAx.{$u} $expectedType true) when we support antiquotations at that place
-let syntheticSorry := mkApp2 (mkConst `sorryAx [u]) expectedType (mkConst `Bool.true);
-unless ex.hasSyntheticSorry do
- logException ex
-pure syntheticSorry
+ let expectedType ← match expectedType? with
+ | none => mkFreshTypeMVar
+ | some expectedType => pure expectedType
+ let u ← getLevel expectedType
+ -- TODO: should be `(sorryAx.{$u} $expectedType true) when we support antiquotations at that place
+ let syntheticSorry := mkApp2 (mkConst `sorryAx [u]) expectedType (mkConst `Bool.true);
+ unless ex.hasSyntheticSorry do
+ logException ex
+ pure syntheticSorry
/-- If `mayPostpone == true`, throw `Expection.postpone`. -/
def tryPostpone : TermElabM Unit := do
-let ctx ← read
-if ctx.mayPostpone then
- throwPostpone
+ let ctx ← read
+ if ctx.mayPostpone then
+ throwPostpone
/-- If `mayPostpone == true` and `e`'s head is a metavariable, throw `Exception.postpone`. -/
def tryPostponeIfMVar (e : Expr) : TermElabM Unit := do
-if e.getAppFn.isMVar then
- let e ← instantiateMVars e
if e.getAppFn.isMVar then
- tryPostpone
+ let e ← instantiateMVars e
+ if e.getAppFn.isMVar then
+ tryPostpone
def tryPostponeIfNoneOrMVar (e? : Option Expr) : TermElabM Unit :=
-match e? with
-| some e => tryPostponeIfMVar e
-| none => tryPostpone
+ match e? with
+ | some e => tryPostponeIfMVar e
+ | none => tryPostpone
private def postponeElabTerm (stx : Syntax) (expectedType? : Option Expr) : TermElabM Expr := do
-trace[Elab.postpone]! "{stx} : {expectedType?}"
-let mvar ← mkFreshExprMVar expectedType? MetavarKind.syntheticOpaque
-let ctx ← read
-registerSyntheticMVar stx mvar.mvarId! (SyntheticMVarKind.postponed ctx.macroStack ctx.declName?)
-pure mvar
+ trace[Elab.postpone]! "{stx} : {expectedType?}"
+ let mvar ← mkFreshExprMVar expectedType? MetavarKind.syntheticOpaque
+ let ctx ← read
+ registerSyntheticMVar stx mvar.mvarId! (SyntheticMVarKind.postponed ctx.macroStack ctx.declName?)
+ pure mvar
/-
Helper function for `elabTerm` is tries the registered elaboration functions for `stxNode` kind until it finds one that supports the syntax or
an error is found. -/
private def elabUsingElabFnsAux (s : SavedState) (stx : Syntax) (expectedType? : Option Expr) (catchExPostpone : Bool)
: List TermElab → TermElabM Expr
-| [] => do throwError! "unexpected syntax{MessageData.nestD (Format.line ++ stx)}"
-| (elabFn::elabFns) => do
- try
- elabFn stx expectedType?
- catch ex => match ex with
- | Exception.error _ _ =>
- let ctx ← read
- if ctx.errToSorry then
- exceptionToSorry ex expectedType?
- else
- throw ex
- | Exception.internal id =>
- if id == unsupportedSyntaxExceptionId then
- s.restore
- elabUsingElabFnsAux s stx expectedType? catchExPostpone elabFns
- else if catchExPostpone && id == postponeExceptionId then
- /- If `elab` threw `Exception.postpone`, we reset any state modifications.
- For example, we want to make sure pending synthetic metavariables created by `elab` before
- it threw `Exception.postpone` are discarded.
- Note that we are also discarding the messages created by `elab`.
-
- For example, consider the expression.
- `((f.x a1).x a2).x a3`
- Now, suppose the elaboration of `f.x a1` produces an `Exception.postpone`.
- Then, a new metavariable `?m` is created. Then, `?m.x a2` also throws `Exception.postpone`
- because the type of `?m` is not yet known. Then another, metavariable `?n` is created, and
- finally `?n.x a3` also throws `Exception.postpone`. If we did not restore the state, we would
- keep "dead" metavariables `?m` and `?n` on the pending synthetic metavariable list. This is
- wasteful because when we resume the elaboration of `((f.x a1).x a2).x a3`, we start it from scratch
- and new metavariables are created for the nested functions. -/
- s.restore
- postponeElabTerm stx expectedType?
+ | [] => do throwError! "unexpected syntax{MessageData.nestD (Format.line ++ stx)}"
+ | (elabFn::elabFns) => do
+ try
+ elabFn stx expectedType?
+ catch ex => match ex with
+ | Exception.error _ _ =>
+ let ctx ← read
+ if ctx.errToSorry then
+ exceptionToSorry ex expectedType?
else
throw ex
+ | Exception.internal id =>
+ if id == unsupportedSyntaxExceptionId then
+ s.restore
+ elabUsingElabFnsAux s stx expectedType? catchExPostpone elabFns
+ else if catchExPostpone && id == postponeExceptionId then
+ /- If `elab` threw `Exception.postpone`, we reset any state modifications.
+ For example, we want to make sure pending synthetic metavariables created by `elab` before
+ it threw `Exception.postpone` are discarded.
+ Note that we are also discarding the messages created by `elab`.
+
+ For example, consider the expression.
+ `((f.x a1).x a2).x a3`
+ Now, suppose the elaboration of `f.x a1` produces an `Exception.postpone`.
+ Then, a new metavariable `?m` is created. Then, `?m.x a2` also throws `Exception.postpone`
+ because the type of `?m` is not yet known. Then another, metavariable `?n` is created, and
+ finally `?n.x a3` also throws `Exception.postpone`. If we did not restore the state, we would
+ keep "dead" metavariables `?m` and `?n` on the pending synthetic metavariable list. This is
+ wasteful because when we resume the elaboration of `((f.x a1).x a2).x a3`, we start it from scratch
+ and new metavariables are created for the nested functions. -/
+ s.restore
+ postponeElabTerm stx expectedType?
+ else
+ throw ex
private def elabUsingElabFns (stx : Syntax) (expectedType? : Option Expr) (catchExPostpone : Bool) : TermElabM Expr := do
-let s ← saveAllState
-let env ← getEnv
-let table := termElabAttribute.ext.getState env $.table
-let k := stx.getKind
-match table.find? k with
-| some elabFns => elabUsingElabFnsAux s stx expectedType? catchExPostpone elabFns
-| none => throwError! "elaboration function for '{k}' has not been implemented"
+ let s ← saveAllState
+ let env ← getEnv
+ let table := termElabAttribute.ext.getState env $.table
+ let k := stx.getKind
+ match table.find? k with
+ | some elabFns => elabUsingElabFnsAux s stx expectedType? catchExPostpone elabFns
+ | none => throwError! "elaboration function for '{k}' has not been implemented"
-instance : MonadMacroAdapter TermElabM :=
-{ getCurrMacroScope := getCurrMacroScope,
+instance : MonadMacroAdapter TermElabM := {
+ getCurrMacroScope := getCurrMacroScope,
getNextMacroScope := do pure (← getThe Core.State).nextMacroScope,
- setNextMacroScope := fun next => modifyThe Core.State fun s => { s with nextMacroScope := next } }
+ setNextMacroScope := fun next => modifyThe Core.State fun s => { s with nextMacroScope := next }
+}
private def isExplicit (stx : Syntax) : Bool :=
-match_syntax stx with
-| `(@$f) => true
-| _ => false
+ match_syntax stx with
+ | `(@$f) => true
+ | _ => false
private def isExplicitApp (stx : Syntax) : Bool :=
-stx.getKind == `Lean.Parser.Term.app && isExplicit (stx.getArg 0)
+ stx.getKind == `Lean.Parser.Term.app && isExplicit (stx.getArg 0)
/--
Return true if `stx` if a lambda abstraction containing a `{}` or `[]` binder annotation.
Example: `fun {α} (a : α) => a` -/
private def isLambdaWithImplicit (stx : Syntax) : Bool :=
-match_syntax stx with
-| `(fun $binders* => $body) => binders.any fun b => b.isOfKind `Lean.Parser.Term.implicitBinder || b.isOfKind `Lean.Parser.Term.instBinder
-| _ => false
+ match_syntax stx with
+ | `(fun $binders* => $body) => binders.any fun b => b.isOfKind `Lean.Parser.Term.implicitBinder || b.isOfKind `Lean.Parser.Term.instBinder
+ | _ => false
private partial def dropTermParens : Syntax → Syntax | stx =>
-match_syntax stx with
-| `(($stx)) => dropTermParens stx
-| _ => stx
+ match_syntax stx with
+ | `(($stx)) => dropTermParens stx
+ | _ => stx
/-- Block usage of implicit lambdas if `stx` is `@f` or `@f arg1 ...` or `fun` with an implicit binder annotation. -/
def blockImplicitLambda (stx : Syntax) : Bool :=
-let stx := dropTermParens stx
-isExplicit stx || isExplicitApp stx || isLambdaWithImplicit stx
+ let stx := dropTermParens stx
+ isExplicit stx || isExplicitApp stx || isLambdaWithImplicit stx
/--
Return normalized expected type if it is of the form `{a : α} → β` or `[a : α] → β` and
`blockImplicitLambda stx` is not true, else return `none`. -/
private def useImplicitLambda? (stx : Syntax) (expectedType? : Option Expr) : TermElabM (Option Expr) :=
-if blockImplicitLambda stx then pure none
-else match expectedType? with
- | some expectedType => do
- let expectedType ← whnfForall expectedType
- match expectedType with
- | Expr.forallE _ _ _ c => if c.binderInfo.isExplicit then pure none else pure $ some expectedType
- | _ => pure none
- | _ => pure none
+ if blockImplicitLambda stx then pure none
+ else match expectedType? with
+ | some expectedType => do
+ let expectedType ← whnfForall expectedType
+ match expectedType with
+ | Expr.forallE _ _ _ c => if c.binderInfo.isExplicit then pure none else pure $ some expectedType
+ | _ => pure none
+ | _ => pure none
private def elabImplicitLambdaAux (stx : Syntax) (catchExPostpone : Bool) (expectedType : Expr) (fvars : Array Expr) : TermElabM Expr := do
-let body ← elabUsingElabFns stx expectedType catchExPostpone
--- body ← ensureHasType stx expectedType body;
-let r ← mkLambdaFVars fvars body
-trace[Elab.implicitForall]! r
-pure r
+ let body ← elabUsingElabFns stx expectedType catchExPostpone
+ let r ← mkLambdaFVars fvars body
+ trace[Elab.implicitForall]! r
+ pure r
private partial def elabImplicitLambda (stx : Syntax) (catchExPostpone : Bool) : Expr → Array Expr → TermElabM Expr
-| type@(Expr.forallE n d b c), fvars =>
- if c.binderInfo.isExplicit then
+ | type@(Expr.forallE n d b c), fvars =>
+ if c.binderInfo.isExplicit then
+ elabImplicitLambdaAux stx catchExPostpone type fvars
+ else withFreshMacroScope do
+ let n ← MonadQuotation.addMacroScope n
+ withLocalDecl n c.binderInfo d fun fvar => do
+ let type ← whnfForall (b.instantiate1 fvar)
+ elabImplicitLambda stx catchExPostpone type (fvars.push fvar)
+ | type, fvars =>
elabImplicitLambdaAux stx catchExPostpone type fvars
- else withFreshMacroScope do
- let n ← MonadQuotation.addMacroScope n
- withLocalDecl n c.binderInfo d fun fvar => do
- let type ← whnfForall (b.instantiate1 fvar)
- elabImplicitLambda stx catchExPostpone type (fvars.push fvar)
-| type, fvars =>
- elabImplicitLambdaAux stx catchExPostpone type fvars
/- 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}"
- withNestedTraces do
- let env ← getEnv
- let stxNew? ← catchInternalId unsupportedSyntaxExceptionId
- (do let newStx ← adaptMacro (getMacros env) stx; pure (some newStx))
- (fun _ => pure none)
- match stxNew? with
- | some stxNew => withMacroExpansion stx stxNew $ elabTermAux expectedType? catchExPostpone implicitLambda stxNew
- | _ =>
- let implicit? ← if implicitLambda then useImplicitLambda? stx expectedType? else pure none
- match implicit? with
- | some expectedType => elabImplicitLambda stx catchExPostpone expectedType #[]
- | none => elabUsingElabFns stx expectedType? catchExPostpone
+ | stx => withFreshMacroScope $ withIncRecDepth do
+ trace[Elab.step]! "expected type: {expectedType?}, term\n{stx}"
+ withNestedTraces do
+ let env ← getEnv
+ let stxNew? ← catchInternalId unsupportedSyntaxExceptionId
+ (do let newStx ← adaptMacro (getMacros env) stx; pure (some newStx))
+ (fun _ => pure none)
+ match stxNew? with
+ | some stxNew => withMacroExpansion stx stxNew $ elabTermAux expectedType? catchExPostpone implicitLambda stxNew
+ | _ =>
+ let implicit? ← if implicitLambda then useImplicitLambda? stx expectedType? else pure none
+ match implicit? with
+ | some expectedType => elabImplicitLambda stx catchExPostpone expectedType #[]
+ | none => elabUsingElabFns stx expectedType? catchExPostpone
/--
Main function for elaborating terms.
@@ -982,27 +986,26 @@ private partial def elabTermAux (expectedType? : Option Expr) (catchExPostpone :
The option `catchExPostpone == false` is used to implement `resumeElabTerm`
to prevent the creation of another synthetic metavariable when resuming the elaboration. -/
def elabTerm (stx : Syntax) (expectedType? : Option Expr) (catchExPostpone := true) : TermElabM Expr :=
-withRef stx $ elabTermAux expectedType? catchExPostpone true stx
+ withRef stx $ elabTermAux expectedType? catchExPostpone true stx
def elabTermEnsuringType (stx : Syntax) (expectedType? : Option Expr) (catchExPostpone := true) (errorMsgHeader? : Option String := none) : TermElabM Expr := do
-let e ← elabTerm stx expectedType? catchExPostpone
-withRef stx $ ensureHasType expectedType? e errorMsgHeader?
+ let e ← elabTerm stx expectedType? catchExPostpone
+ withRef stx $ ensureHasType expectedType? e errorMsgHeader?
def elabTermWithoutImplicitLambdas (stx : Syntax) (expectedType? : Option Expr) (catchExPostpone := true) : TermElabM Expr := do
-elabTermAux expectedType? catchExPostpone false stx
+ elabTermAux expectedType? catchExPostpone false stx
/-- Adapt a syntax transformation to a regular, term-producing elaborator. -/
-def adaptExpander (exp : Syntax → TermElabM Syntax) : TermElab :=
-fun stx expectedType? => do
+def adaptExpander (exp : Syntax → TermElabM Syntax) : TermElab := fun stx expectedType? => do
let stx' ← exp stx
withMacroExpansion stx stx' $ elabTerm stx' expectedType?
def mkInstMVar (type : Expr) : TermElabM Expr := do
-let mvar ← mkFreshExprMVar type MetavarKind.synthetic
-let mvarId := mvar.mvarId!
-unless (← synthesizeInstMVarCore mvarId) do
- registerSyntheticMVarWithCurrRef mvarId SyntheticMVarKind.typeClass
-pure mvar
+ let mvar ← mkFreshExprMVar type MetavarKind.synthetic
+ let mvarId := mvar.mvarId!
+ unless (← synthesizeInstMVarCore mvarId) do
+ registerSyntheticMVarWithCurrRef mvarId SyntheticMVarKind.typeClass
+ pure mvar
/-
Relevant definitions:
@@ -1011,79 +1014,75 @@ pure mvar
abbrev coeSort {α : Sort u} {β : Sort v} (a : α) [CoeSort α β] : β
``` -/
private def tryCoeSort (α : Expr) (a : Expr) : TermElabM Expr := do
-let β ← mkFreshTypeMVar
-let u ← getLevel α
-let v ← getLevel β
-let coeSortInstType := mkAppN (Lean.mkConst `CoeSort [u, v]) #[α, β]
-let mvar ← mkFreshExprMVar coeSortInstType MetavarKind.synthetic
-let mvarId := mvar.mvarId!
-try
- withoutMacroStackAtErr do
- if (← synthesizeInstMVarCore mvarId) then
- pure $ mkAppN (Lean.mkConst `coeSort [u, v]) #[α, β, a, mvar]
- else
- throwError "type expected"
-catch
- | Exception.error _ msg => throwError! "type expected\n{msg}"
- | _ => throwError! "type expected"
+ let β ← mkFreshTypeMVar
+ let u ← getLevel α
+ let v ← getLevel β
+ let coeSortInstType := mkAppN (Lean.mkConst `CoeSort [u, v]) #[α, β]
+ let mvar ← mkFreshExprMVar coeSortInstType MetavarKind.synthetic
+ let mvarId := mvar.mvarId!
+ try
+ withoutMacroStackAtErr do
+ if (← synthesizeInstMVarCore mvarId) then
+ pure $ mkAppN (Lean.mkConst `coeSort [u, v]) #[α, β, a, mvar]
+ else
+ throwError "type expected"
+ catch
+ | Exception.error _ msg => throwError! "type expected\n{msg}"
+ | _ => throwError! "type expected"
/--
Make sure `e` is a type by inferring its type and making sure it is a `Expr.sort`
or is unifiable with `Expr.sort`, or can be coerced into one. -/
def ensureType (e : Expr) : TermElabM Expr := do
-if (← isType e) then
- pure e
-else
- let eType ← inferType e
- let u ← mkFreshLevelMVar
- if (← isDefEq eType (mkSort u)) then
+ if (← isType e) then
pure e
else
- tryCoeSort eType e
+ let eType ← inferType e
+ let u ← mkFreshLevelMVar
+ if (← isDefEq eType (mkSort u)) then
+ pure e
+ else
+ tryCoeSort eType e
/-- Elaborate `stx` and ensure result is a type. -/
def elabType (stx : Syntax) : TermElabM Expr := do
-let u ← mkFreshLevelMVar
-let type ← elabTerm stx (mkSort u)
-withRef stx $ ensureType type
+ let u ← mkFreshLevelMVar
+ let type ← elabTerm stx (mkSort u)
+ withRef stx $ ensureType type
def mkAuxName (suffix : Name) : TermElabM Name := do
-let ctx ← read
-match ctx.declName? with
-| none => throwError "auxiliary declaration cannot be created when declaration name is not available"
-| some declName => Lean.mkAuxName (declName ++ suffix) 1
+ let ctx ← read
+ match ctx.declName? with
+ | none => throwError "auxiliary declaration cannot be created when declaration name is not available"
+ | some declName => Lean.mkAuxName (declName ++ suffix) 1
/- =======================================
Builtin elaboration functions
======================================= -/
-@[builtinTermElab «prop»] def elabProp : TermElab :=
-fun _ _ => pure $ mkSort levelZero
+@[builtinTermElab «prop»] def elabProp : TermElab := fun _ _ =>
+ pure $ mkSort levelZero
private def elabOptLevel (stx : Syntax) : TermElabM Level :=
-if stx.isNone then
- pure levelZero
-else
- elabLevel $ stx.getArg 0
+ if stx.isNone then
+ pure levelZero
+ else
+ elabLevel $ stx.getArg 0
-@[builtinTermElab «sort»] def elabSort : TermElab :=
-fun stx _ => do
+@[builtinTermElab «sort»] def elabSort : TermElab := fun stx _ => do
let u ← elabOptLevel stx[1]
pure $ mkSort u
-@[builtinTermElab «type»] def elabTypeStx : TermElab :=
-fun stx _ => do
+@[builtinTermElab «type»] def elabTypeStx : TermElab := fun stx _ => do
let u ← elabOptLevel stx[1]
pure $ mkSort (mkLevelSucc u)
-@[builtinTermElab «hole»] def elabHole : TermElab :=
-fun stx expectedType? => do
+@[builtinTermElab «hole»] def elabHole : TermElab := fun stx expectedType? => do
let mvar ← mkFreshExprMVar expectedType?
registerMVarErrorHoleInfo mvar.mvarId! stx
pure mvar
-@[builtinTermElab «syntheticHole»] def elabSyntheticHole : TermElab :=
-fun stx expectedType? => do
+@[builtinTermElab «syntheticHole»] def elabSyntheticHole : TermElab := fun stx expectedType? => do
let arg := stx[1]
let userName := if arg.isIdent then arg.getId else Name.anonymous
let mkNewHole : Unit → TermElabM Expr := fun _ => do
@@ -1122,21 +1121,19 @@ fun stx expectedType? => do
throwError "synthetic hole has already been defined with an incompatible local context"
private def mkTacticMVar (type : Expr) (tacticCode : Syntax) : TermElabM Expr := do
-let mvar ← mkFreshExprMVar type MetavarKind.syntheticOpaque
-let mvarId := mvar.mvarId!
-let ref ← getRef
-let declName? ← getDeclName?
-registerSyntheticMVar ref mvarId $ SyntheticMVarKind.tactic declName? tacticCode
-pure mvar
+ let mvar ← mkFreshExprMVar type MetavarKind.syntheticOpaque
+ let mvarId := mvar.mvarId!
+ let ref ← getRef
+ let declName? ← getDeclName?
+ registerSyntheticMVar ref mvarId $ SyntheticMVarKind.tactic declName? tacticCode
+ pure mvar
-@[builtinTermElab byTactic] def elabByTactic : TermElab :=
-fun stx expectedType? =>
+@[builtinTermElab byTactic] def elabByTactic : TermElab := fun stx expectedType? =>
match expectedType? with
| some expectedType => mkTacticMVar expectedType stx
| none => throwError ("invalid 'by' tactic, expected type has not been provided")
-@[builtinMacro Lean.Parser.Term.listLit] def expandListLit : Macro :=
-fun stx =>
+@[builtinMacro Lean.Parser.Term.listLit] def expandListLit : Macro := fun stx =>
let openBkt := stx[0]
let args := stx[1]
let closeBkt := stx[2]
@@ -1144,89 +1141,86 @@ fun stx =>
let nilId := mkIdentFrom closeBkt `List.nil
pure $ args.foldSepRevArgs (fun arg r => mkAppStx consId #[arg, r]) nilId
-@[builtinMacro Lean.Parser.Term.arrayLit] def expandArrayLit : Macro :=
-fun stx =>
+@[builtinMacro Lean.Parser.Term.arrayLit] def expandArrayLit : Macro := fun stx =>
match_syntax stx with
| `(#[$args*]) => `(List.toArray [$args*])
| _ => throw $ Macro.Exception.error stx "unexpected array literal syntax"
def resolveLocalName (n : Name) : TermElabM (Option (Expr × List String)) := do
-let lctx ← getLCtx
-let view := extractMacroScopes n
-let rec loop (n : Name) (projs : List String) :=
- match lctx.findFromUserName? { view with name := n }.review with
- | some decl => some (decl.toExpr, projs)
- | none => match n with
- | Name.str pre s _ => loop pre (s::projs)
- | _ => none
-pure $ loop view.name []
+ let lctx ← getLCtx
+ let view := extractMacroScopes n
+ let rec loop (n : Name) (projs : List String) :=
+ match lctx.findFromUserName? { view with name := n }.review with
+ | some decl => some (decl.toExpr, projs)
+ | none => match n with
+ | Name.str pre s _ => loop pre (s::projs)
+ | _ => none
+ pure $ loop view.name []
/- Return true iff `stx` is a `Syntax.ident`, and it is a local variable. -/
def isLocalIdent? (stx : Syntax) : TermElabM (Option Expr) :=
-match stx with
-| Syntax.ident _ _ val _ => do
- let r? ← resolveLocalName val
- match r? with
- | some (fvar, []) => pure (some fvar)
- | _ => pure none
-| _ => pure none
+ match stx with
+ | Syntax.ident _ _ val _ => do
+ let r? ← resolveLocalName val
+ match r? with
+ | some (fvar, []) => pure (some fvar)
+ | _ => pure none
+ | _ => pure none
private def mkFreshLevelMVars (num : Nat) : TermElabM (List Level) :=
-num.foldM (init := []) fun _ us => do
- let u ← mkFreshLevelMVar
- pure $ u::us
+ num.foldM (init := []) fun _ us => do
+ let u ← mkFreshLevelMVar
+ pure $ u::us
/--
Create an `Expr.const` using the given name and explicit levels.
Remark: fresh universe metavariables are created if the constant has more universe
parameters than `explicitLevels`. -/
def mkConst (constName : Name) (explicitLevels : List Level := []) : TermElabM Expr := do
-let cinfo ← getConstInfo constName
-if explicitLevels.length > cinfo.lparams.length then
- throwError "too many explicit universe levels"
-else
- let numMissingLevels := cinfo.lparams.length - explicitLevels.length
- let us ← mkFreshLevelMVars numMissingLevels
- pure $ Lean.mkConst constName (explicitLevels ++ us)
+ let cinfo ← getConstInfo constName
+ if explicitLevels.length > cinfo.lparams.length then
+ throwError "too many explicit universe levels"
+ else
+ let numMissingLevels := cinfo.lparams.length - explicitLevels.length
+ let us ← mkFreshLevelMVars numMissingLevels
+ pure $ Lean.mkConst constName (explicitLevels ++ us)
private def mkConsts (candidates : List (Name × List String)) (explicitLevels : List Level) : TermElabM (List (Expr × List String)) := do
-let env ← getEnv
-candidates.foldlM (init := []) fun result (constName, projs) => do
- -- TODO: better suppor for `mkConst` failure. We may want to cache the failures, and report them if all candidates fail.
- let const ← mkConst constName explicitLevels
- pure $ (const, projs) :: result
+ let env ← getEnv
+ candidates.foldlM (init := []) fun result (constName, projs) => do
+ -- TODO: better suppor for `mkConst` failure. We may want to cache the failures, and report them if all candidates fail.
+ let const ← mkConst constName explicitLevels
+ pure $ (const, projs) :: result
def resolveName (n : Name) (preresolved : List (Name × List String)) (explicitLevels : List Level) : TermElabM (List (Expr × List String)) := do
-let result? ← resolveLocalName n
-match result? with
-| some (e, projs) =>
- unless explicitLevels.isEmpty do
- throwError! "invalid use of explicit universe parameters, '{e}' is a local"
- pure [(e, projs)]
-| none =>
- let process (candidates : List (Name × List String)) : TermElabM (List (Expr × List String)) := do
- if candidates.isEmpty then
- let mainModule ← getMainModule
- let view := extractMacroScopes n
- throwError! "unknown identifier '{view.format mainModule}'"
- mkConsts candidates explicitLevels
- if preresolved.isEmpty then
- let r ← resolveGlobalName n
- process r
- else
- process preresolved
+ let result? ← resolveLocalName n
+ match result? with
+ | some (e, projs) =>
+ unless explicitLevels.isEmpty do
+ throwError! "invalid use of explicit universe parameters, '{e}' is a local"
+ pure [(e, projs)]
+ | none =>
+ let process (candidates : List (Name × List String)) : TermElabM (List (Expr × List String)) := do
+ if candidates.isEmpty then
+ let mainModule ← getMainModule
+ let view := extractMacroScopes n
+ throwError! "unknown identifier '{view.format mainModule}'"
+ mkConsts candidates explicitLevels
+ if preresolved.isEmpty then
+ let r ← resolveGlobalName n
+ process r
+ else
+ process preresolved
-@[builtinTermElab cdot] def elabBadCDot : TermElab :=
-fun stx _ => throwError "invalid occurrence of `·` notation, it must be surrounded by parentheses (e.g. `(· + 1)`)"
+@[builtinTermElab cdot] def elabBadCDot : TermElab := fun stx _ =>
+ throwError "invalid occurrence of `·` notation, it must be surrounded by parentheses (e.g. `(· + 1)`)"
-@[builtinTermElab strLit] def elabStrLit : TermElab :=
-fun stx _ => do
+@[builtinTermElab strLit] def elabStrLit : TermElab := fun stx _ => do
match stx.isStrLit? with
| some val => pure $ mkStrLit val
| none => throwIllFormedSyntax
-@[builtinTermElab numLit] def elabNumLit : TermElab :=
-fun stx expectedType? => do
+@[builtinTermElab numLit] def elabNumLit : TermElab := fun stx expectedType? => do
let val ← match stx.isNatLit? with
| some val => pure (mkNatLit val)
| none => throwIllFormedSyntax
@@ -1240,8 +1234,7 @@ fun stx expectedType? => do
let mvar ← mkInstMVar (mkApp (Lean.mkConst `HasOfNat [u]) typeMVar)
pure $ mkApp3 (Lean.mkConst `HasOfNat.ofNat [u]) typeMVar mvar val
-@[builtinTermElab charLit] def elabCharLit : TermElab :=
-fun stx _ => do
+@[builtinTermElab charLit] def elabCharLit : TermElab := fun stx _ => do
match stx.isCharLit? with
| some val => pure $ mkApp (Lean.mkConst `Char.ofNat) (mkNatLit val.toNat)
| none => throwIllFormedSyntax
@@ -1252,13 +1245,11 @@ fun stx _ =>
| some val => pure $ toExpr val
| none => throwIllFormedSyntax
-@[builtinTermElab typeOf] def elabTypeOf : TermElab :=
-fun stx _ => do
+@[builtinTermElab typeOf] def elabTypeOf : TermElab := fun stx _ => do
let e ← elabTerm stx[1] none;
inferType e
-@[builtinTermElab ensureTypeOf] def elabEnsureTypeOf : TermElab :=
-fun stx expectedType? =>
+@[builtinTermElab ensureTypeOf] def elabEnsureTypeOf : TermElab := fun stx expectedType? =>
match stx[2].isStrLit? with
| none => throwIllFormedSyntax
| some msg => do
@@ -1266,37 +1257,37 @@ fun stx expectedType? =>
let refTermType ← inferType refTerm
elabTermEnsuringType stx[3] refTermType true msg
-@[builtinTermElab ensureExpectedType] def elabEnsureExpectedType : TermElab :=
-fun stx expectedType? =>
+@[builtinTermElab ensureExpectedType] def elabEnsureExpectedType : TermElab := fun stx expectedType? =>
match stx[1].isStrLit? with
| none => throwIllFormedSyntax
| some msg => elabTermEnsuringType stx[2] expectedType? true msg
-private def mkSomeContext : Context :=
-{ fileName := "",
+private def mkSomeContext : Context := {
+ fileName := "",
fileMap := arbitrary _,
- currNamespace := Name.anonymous }
+ currNamespace := Name.anonymous
+}
@[inline] def TermElabM.run {α} (x : TermElabM α) (ctx : Context := mkSomeContext) (s : State := {}) : MetaM (α × State) :=
-withConfig setElabConfig (x ctx $.run s)
+ withConfig setElabConfig (x ctx $.run s)
@[inline] def TermElabM.run' {α} (x : TermElabM α) (ctx : Context := mkSomeContext) (s : State := {}) : MetaM α :=
-(·.1) <$> x.run ctx s
+ (·.1) <$> x.run ctx s
@[inline] def TermElabM.toIO {α} (x : TermElabM α)
(ctxCore : Core.Context) (sCore : Core.State)
(ctxMeta : Meta.Context) (sMeta : Meta.State)
(ctx : Context) (s : State) : IO (α × Core.State × Meta.State × State) := do
-let ((a, s), sCore, sMeta) ← (x.run ctx s).toIO ctxCore sCore ctxMeta sMeta
-pure (a, sCore, sMeta, s)
+ let ((a, s), sCore, sMeta) ← (x.run ctx s).toIO ctxCore sCore ctxMeta sMeta
+ pure (a, sCore, sMeta, s)
instance {α} [MetaHasEval α] : MetaHasEval (TermElabM α) :=
-⟨fun env opts x _ =>
- let x : TermElabM α := do
- try x finally
- let s ← get
- liftIO $ s.messages.forM fun msg => msg.toString >>= IO.println
- MetaHasEval.eval env opts (hideUnit := true) $ x.run' mkSomeContext⟩
+ ⟨fun env opts x _ =>
+ let x : TermElabM α := do
+ try x finally
+ let s ← get
+ liftIO $ s.messages.forM fun msg => msg.toString >>= IO.println
+ MetaHasEval.eval env opts (hideUnit := true) $ x.run' mkSomeContext⟩
end Term
diff --git a/stage0/src/Lean/Message.lean b/stage0/src/Lean/Message.lean
index 4d72aedbeb..ab6846a6dc 100644
--- a/stage0/src/Lean/Message.lean
+++ b/stage0/src/Lean/Message.lean
@@ -310,6 +310,8 @@ instance : ToMessageData Format := ⟨MessageData.ofFormat⟩
instance : ToMessageData MessageData := ⟨id⟩
instance {α} [ToMessageData α] : ToMessageData (List α) := ⟨fun as => MessageData.ofList $ as.map toMessageData⟩
instance {α} [ToMessageData α] : ToMessageData (Array α) := ⟨fun as => toMessageData as.toList⟩
+instance {α} [ToMessageData α] : ToMessageData (Option α) := ⟨fun | none => "none" | some e => "some ({toMessageData e})"⟩
+instance : ToMessageData (Option Expr) := ⟨fun | none => "" | some e => toMessageData e⟩
syntax:max "msg!" (interpolatedStr term) : term
@@ -319,9 +321,4 @@ macro_rules
let r ← Lean.Syntax.expandInterpolatedStrChunks chunks (fun a b => `($a ++ $b)) (fun a => `(toMessageData $a))
`(($r : MessageData))
--- TODO: interpreter should not compiled code when building stdlib.
--- The following instances cannot be defined before `syntax` because it would change the internal syntax node kinds and break the build.
-instance {α} [ToMessageData α] : ToMessageData (Option α) := ⟨fun | none => "none" | some e => "some ({toMessageData e})"⟩
-instance : ToMessageData (Option Expr) := ⟨fun | none => "" | some e => toMessageData e⟩
-
end Lean
diff --git a/stage0/src/Lean/Parser/Basic.lean b/stage0/src/Lean/Parser/Basic.lean
index 57f7be2910..6a72a8be9f 100644
--- a/stage0/src/Lean/Parser/Basic.lean
+++ b/stage0/src/Lean/Parser/Basic.lean
@@ -1,3 +1,4 @@
+#lang lean4
/-
Copyright (c) 2019 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
@@ -70,17 +71,17 @@ def quotedSymbolKind := `quotedSymbol
namespace Parser
def isLitKind (k : SyntaxNodeKind) : Bool :=
-k == strLitKind || k == numLitKind || k == charLitKind || k == nameLitKind
+ k == strLitKind || k == numLitKind || k == charLitKind || k == nameLitKind
abbrev mkAtom (info : SourceInfo) (val : String) : Syntax :=
-Syntax.atom info val
+ Syntax.atom info val
abbrev mkIdent (info : SourceInfo) (rawVal : Substring) (val : Name) : Syntax :=
-Syntax.ident info rawVal val []
+ Syntax.ident info rawVal val []
/- Return character after position `pos` -/
def getNext (input : String) (pos : Nat) : Char :=
-input.get (input.next pos)
+ input.get (input.next pos)
/- Maximal (and function application) precedence.
In the standard lean language, no parser has precedence higher than `maxPrec`.
@@ -93,159 +94,164 @@ def leadPrec := maxPrec - 1
abbrev Token := String
structure TokenCacheEntry :=
-(startPos stopPos : String.Pos := 0)
-(token : Syntax := Syntax.missing)
+ (startPos stopPos : String.Pos := 0)
+ (token : Syntax := Syntax.missing)
structure ParserCache :=
-(tokenCache : TokenCacheEntry)
+ (tokenCache : TokenCacheEntry)
-def initCacheForInput (input : String) : ParserCache :=
-{ tokenCache := { startPos := input.bsize + 1 /- make sure it is not a valid position -/} }
+def initCacheForInput (input : String) : ParserCache := {
+ tokenCache := { startPos := input.bsize + 1 /- make sure it is not a valid position -/}
+}
abbrev TokenTable := Trie Token
abbrev SyntaxNodeKindSet := Std.PersistentHashMap SyntaxNodeKind Unit
def SyntaxNodeKindSet.insert (s : SyntaxNodeKindSet) (k : SyntaxNodeKind) : SyntaxNodeKindSet :=
-s.insert k ()
+ Std.PersistentHashMap.insert s k ()
/-
Input string and related data. Recall that the `FileMap` is a helper structure for mapping
`String.Pos` in the input string to line/column information. -/
structure InputContext :=
-(input : String)
-(fileName : String)
-(fileMap : FileMap)
+ (input : String)
+ (fileName : String)
+ (fileMap : FileMap)
-instance InputContext.inhabited : Inhabited InputContext :=
-⟨{ input := "", fileName := "", fileMap := arbitrary _ }⟩
+instance : Inhabited InputContext :=
+ ⟨{ input := "", fileName := "", fileMap := arbitrary _ }⟩
+
+instance : Inhabited InputContext := ⟨{
+ input := "", fileName := "", fileMap := arbitrary _
+}⟩
structure ParserContext extends InputContext :=
-(prec : Nat)
-(env : Environment)
-(tokens : TokenTable)
-(insideQuot : Bool := false)
-(savedPos? : Option Position := none)
-(forbiddenTk? : Option Token := none)
+ (prec : Nat)
+ (env : Environment)
+ (tokens : TokenTable)
+ (insideQuot : Bool := false)
+ (savedPos? : Option Position := none)
+ (forbiddenTk? : Option Token := none)
structure Error :=
-(unexpected : String := "")
-(expected : List String := [])
+ (unexpected : String := "")
+ (expected : List String := [])
namespace Error
instance : Inhabited Error := ⟨{}⟩
private def expectedToString : List String → String
-| [] => ""
-| [e] => e
-| [e1, e2] => e1 ++ " or " ++ e2
-| e::es => e ++ ", " ++ expectedToString es
+ | [] => ""
+ | [e] => e
+ | [e1, e2] => e1 ++ " or " ++ e2
+ | e::es => e ++ ", " ++ expectedToString es
protected def toString (e : Error) : String :=
-let unexpected := if e.unexpected == "" then [] else [e.unexpected];
-let expected := if e.expected == [] then [] else
- let expected := e.expected.toArray.qsort (fun e e' => e < e');
- let expected := expected.toList.eraseReps;
- ["expected " ++ expectedToString expected];
-"; ".intercalate $ unexpected ++ expected
+ let unexpected := if e.unexpected == "" then [] else [e.unexpected]
+ let expected := if e.expected == [] then [] else
+ let expected := e.expected.toArray.qsort (fun e e' => e < e')
+ let expected := expected.toList.eraseReps
+ ["expected " ++ expectedToString expected]
+ "; ".intercalate $ unexpected ++ expected
instance : HasToString Error := ⟨Error.toString⟩
protected def beq (e₁ e₂ : Error) : Bool :=
-e₁.unexpected == e₂.unexpected && e₁.expected == e₂.expected
+ e₁.unexpected == e₂.unexpected && e₁.expected == e₂.expected
instance : HasBeq Error := ⟨Error.beq⟩
def merge (e₁ e₂ : Error) : Error :=
-match e₂ with
-| { unexpected := u, .. } => { unexpected := if u == "" then e₁.unexpected else u, expected := e₁.expected ++ e₂.expected }
+ match e₂ with
+ | { unexpected := u, .. } => { unexpected := if u == "" then e₁.unexpected else u, expected := e₁.expected ++ e₂.expected }
end Error
structure ParserState :=
-(stxStack : Array Syntax := #[])
-(pos : String.Pos := 0)
-(cache : ParserCache)
-(errorMsg : Option Error := none)
+ (stxStack : Array Syntax := #[])
+ (pos : String.Pos := 0)
+ (cache : ParserCache)
+ (errorMsg : Option Error := none)
namespace ParserState
@[inline] def hasError (s : ParserState) : Bool :=
-s.errorMsg != none
+ s.errorMsg != none
@[inline] def stackSize (s : ParserState) : Nat :=
-s.stxStack.size
+ s.stxStack.size
def restore (s : ParserState) (iniStackSz : Nat) (iniPos : Nat) : ParserState :=
-{ s with stxStack := s.stxStack.shrink iniStackSz, errorMsg := none, pos := iniPos }
+ { s with stxStack := s.stxStack.shrink iniStackSz, errorMsg := none, pos := iniPos }
def setPos (s : ParserState) (pos : Nat) : ParserState :=
-{ s with pos := pos }
+ { s with pos := pos }
def setCache (s : ParserState) (cache : ParserCache) : ParserState :=
-{ s with cache := cache }
+ { s with cache := cache }
def pushSyntax (s : ParserState) (n : Syntax) : ParserState :=
-{ s with stxStack := s.stxStack.push n }
+ { s with stxStack := s.stxStack.push n }
def popSyntax (s : ParserState) : ParserState :=
-{ s with stxStack := s.stxStack.pop }
+ { s with stxStack := s.stxStack.pop }
def shrinkStack (s : ParserState) (iniStackSz : Nat) : ParserState :=
-{ s with stxStack := s.stxStack.shrink iniStackSz }
+ { s with stxStack := s.stxStack.shrink iniStackSz }
def next (s : ParserState) (input : String) (pos : Nat) : ParserState :=
-{ s with pos := input.next pos }
+ { s with pos := input.next pos }
def toErrorMsg (ctx : ParserContext) (s : ParserState) : String :=
-match s.errorMsg with
-| none => ""
-| some msg =>
- let pos := ctx.fileMap.toPosition s.pos;
- mkErrorStringWithPos ctx.fileName pos.line pos.column (toString msg)
+ match s.errorMsg with
+ | none => ""
+ | some msg =>
+ let pos := ctx.fileMap.toPosition s.pos
+ mkErrorStringWithPos ctx.fileName pos.line pos.column (toString msg)
def mkNode (s : ParserState) (k : SyntaxNodeKind) (iniStackSz : Nat) : ParserState :=
-match s with
-| ⟨stack, pos, cache, err⟩ =>
- if err != none && stack.size == iniStackSz then
- -- If there is an error but there are no new nodes on the stack, we just return `s`
- s
- else
- let newNode := Syntax.node k (stack.extract iniStackSz stack.size);
- let stack := stack.shrink iniStackSz;
- let stack := stack.push newNode;
- ⟨stack, pos, cache, err⟩
+ match s with
+ | ⟨stack, pos, cache, err⟩ =>
+ if err != none && stack.size == iniStackSz then
+ -- If there is an error but there are no new nodes on the stack, we just return `s`
+ s
+ else
+ let newNode := Syntax.node k (stack.extract iniStackSz stack.size)
+ let stack := stack.shrink iniStackSz
+ let stack := stack.push newNode
+ ⟨stack, pos, cache, err⟩
def mkTrailingNode (s : ParserState) (k : SyntaxNodeKind) (iniStackSz : Nat) : ParserState :=
-match s with
-| ⟨stack, pos, cache, err⟩ =>
- let newNode := Syntax.node k (stack.extract (iniStackSz - 1) stack.size);
- let stack := stack.shrink iniStackSz;
- let stack := stack.push newNode;
- ⟨stack, pos, cache, err⟩
+ match s with
+ | ⟨stack, pos, cache, err⟩ =>
+ let newNode := Syntax.node k (stack.extract (iniStackSz - 1) stack.size)
+ let stack := stack.shrink iniStackSz
+ let stack := stack.push newNode
+ ⟨stack, pos, cache, err⟩
def mkError (s : ParserState) (msg : String) : ParserState :=
-match s with
-| ⟨stack, pos, cache, _⟩ => ⟨stack, pos, cache, some { expected := [ msg ] }⟩
+ match s with
+ | ⟨stack, pos, cache, _⟩ => ⟨stack, pos, cache, some { expected := [ msg ] }⟩
def mkUnexpectedError (s : ParserState) (msg : String) : ParserState :=
-match s with
-| ⟨stack, pos, cache, _⟩ => ⟨stack, pos, cache, some { unexpected := msg }⟩
+ match s with
+ | ⟨stack, pos, cache, _⟩ => ⟨stack, pos, cache, some { unexpected := msg }⟩
def mkEOIError (s : ParserState) : ParserState :=
-s.mkUnexpectedError "end of input"
+ s.mkUnexpectedError "end of input"
def mkErrorAt (s : ParserState) (msg : String) (pos : String.Pos) : ParserState :=
-match s with
-| ⟨stack, _, cache, _⟩ => ⟨stack, pos, cache, some { expected := [ msg ] }⟩
+ match s with
+ | ⟨stack, _, cache, _⟩ => ⟨stack, pos, cache, some { expected := [ msg ] }⟩
def mkErrorsAt (s : ParserState) (ex : List String) (pos : String.Pos) : ParserState :=
-match s with
-| ⟨stack, _, cache, _⟩ => ⟨stack, pos, cache, some { expected := ex }⟩
+ match s with
+ | ⟨stack, _, cache, _⟩ => ⟨stack, pos, cache, some { expected := ex }⟩
def mkUnexpectedErrorAt (s : ParserState) (msg : String) (pos : String.Pos) : ParserState :=
-match s with
-| ⟨stack, _, cache, _⟩ => ⟨stack, pos, cache, some { unexpected := msg }⟩
+ match s with
+ | ⟨stack, _, cache, _⟩ => ⟨stack, pos, cache, some { unexpected := msg }⟩
end ParserState
@@ -254,170 +260,173 @@ def ParserFn := ParserContext → ParserState → ParserState
instance ParserFn.inhabited : Inhabited ParserFn := ⟨fun _ => id⟩
inductive FirstTokens
-| epsilon : FirstTokens
-| unknown : FirstTokens
-| tokens : List Token → FirstTokens
-| optTokens : List Token → FirstTokens
+ | epsilon : FirstTokens
+ | unknown : FirstTokens
+ | tokens : List Token → FirstTokens
+ | optTokens : List Token → FirstTokens
namespace FirstTokens
def seq : FirstTokens → FirstTokens → FirstTokens
-| epsilon, tks => tks
-| optTokens s₁, optTokens s₂ => optTokens (s₁ ++ s₂)
-| optTokens s₁, tokens s₂ => tokens (s₁ ++ s₂)
-| tks, _ => tks
+ | epsilon, tks => tks
+ | optTokens s₁, optTokens s₂ => optTokens (s₁ ++ s₂)
+ | optTokens s₁, tokens s₂ => tokens (s₁ ++ s₂)
+ | tks, _ => tks
def toOptional : FirstTokens → FirstTokens
-| tokens tks => optTokens tks
-| tks => tks
+ | tokens tks => optTokens tks
+ | tks => tks
def merge : FirstTokens → FirstTokens → FirstTokens
-| epsilon, tks => toOptional tks
-| tks, epsilon => toOptional tks
-| tokens s₁, tokens s₂ => tokens (s₁ ++ s₂)
-| optTokens s₁, optTokens s₂ => optTokens (s₁ ++ s₂)
-| tokens s₁, optTokens s₂ => optTokens (s₁ ++ s₂)
-| optTokens s₁, tokens s₂ => optTokens (s₁ ++ s₂)
-| _, _ => unknown
+ | epsilon, tks => toOptional tks
+ | tks, epsilon => toOptional tks
+ | tokens s₁, tokens s₂ => tokens (s₁ ++ s₂)
+ | optTokens s₁, optTokens s₂ => optTokens (s₁ ++ s₂)
+ | tokens s₁, optTokens s₂ => optTokens (s₁ ++ s₂)
+ | optTokens s₁, tokens s₂ => optTokens (s₁ ++ s₂)
+ | _, _ => unknown
def toStr : FirstTokens → String
-| epsilon => "epsilon"
-| unknown => "unknown"
-| tokens tks => toString tks
-| optTokens tks => "?" ++ toString tks
+ | epsilon => "epsilon"
+ | unknown => "unknown"
+ | tokens tks => toString tks
+ | optTokens tks => "?" ++ toString tks
instance : HasToString FirstTokens := ⟨toStr⟩
end FirstTokens
structure ParserInfo :=
-(collectTokens : List Token → List Token := id)
-(collectKinds : SyntaxNodeKindSet → SyntaxNodeKindSet := id)
-(firstTokens : FirstTokens := FirstTokens.unknown)
+ (collectTokens : List Token → List Token := id)
+ (collectKinds : SyntaxNodeKindSet → SyntaxNodeKindSet := id)
+ (firstTokens : FirstTokens := FirstTokens.unknown)
structure Parser :=
-(info : ParserInfo := {})
-(fn : ParserFn)
+ (info : ParserInfo := {})
+ (fn : ParserFn)
instance Parser.inhabited : Inhabited Parser :=
-⟨{ fn := fun _ s => s }⟩
+ ⟨{ fn := fun _ s => s }⟩
abbrev TrailingParser := Parser
@[noinline] def epsilonInfo : ParserInfo :=
-{ firstTokens := FirstTokens.epsilon }
+ { firstTokens := FirstTokens.epsilon }
-@[inline] def checkStackTopFn (p : Syntax → Bool) (msg : String) : ParserFn :=
-fun c s =>
+@[inline] def checkStackTopFn (p : Syntax → Bool) (msg : String) : ParserFn := fun c s =>
if p s.stxStack.back then s
else s.mkUnexpectedError msg
-@[inline] def checkStackTop (p : Syntax → Bool) (msg : String) : Parser :=
-{ info := epsilonInfo,
- fn := checkStackTopFn p msg }
+@[inline] def checkStackTop (p : Syntax → Bool) (msg : String) : Parser := {
+ info := epsilonInfo,
+ fn := checkStackTopFn p msg
+}
-@[inline] def andthenFn (p q : ParserFn) : ParserFn :=
-fun c s =>
- let s := p c s;
+@[inline] def andthenFn (p q : ParserFn) : ParserFn := fun c s =>
+ let s := p c s
if s.hasError then s else q c s
-@[noinline] def andthenInfo (p q : ParserInfo) : ParserInfo :=
-{ collectTokens := p.collectTokens ∘ q.collectTokens,
+@[noinline] def andthenInfo (p q : ParserInfo) : ParserInfo := {
+ collectTokens := p.collectTokens ∘ q.collectTokens,
collectKinds := p.collectKinds ∘ q.collectKinds,
- firstTokens := p.firstTokens.seq q.firstTokens }
+ firstTokens := p.firstTokens.seq q.firstTokens
+}
-@[inline] def andthen (p q : Parser) : Parser :=
-{ info := andthenInfo p.info q.info,
- fn := andthenFn p.fn q.fn }
+@[inline] def andthen (p q : Parser) : Parser := {
+ info := andthenInfo p.info q.info,
+ fn := andthenFn p.fn q.fn
+}
instance hasAndthen : HasAndthen Parser :=
-⟨andthen⟩
+ ⟨andthen⟩
-@[inline] def nodeFn (n : SyntaxNodeKind) (p : ParserFn) : ParserFn
-| c, s =>
- let iniSz := s.stackSize;
- let s := p c s;
+@[inline] def nodeFn (n : SyntaxNodeKind) (p : ParserFn) : ParserFn := fun c s =>
+ let iniSz := s.stackSize
+ let s := p c s
s.mkNode n iniSz
-@[inline] def trailingNodeFn (n : SyntaxNodeKind) (p : ParserFn) : ParserFn
-| c, s =>
- let iniSz := s.stackSize;
- let s := p c s;
+@[inline] def trailingNodeFn (n : SyntaxNodeKind) (p : ParserFn) : ParserFn := fun c s =>
+ let iniSz := s.stackSize
+ let s := p c s
s.mkTrailingNode n iniSz
-@[noinline] def nodeInfo (n : SyntaxNodeKind) (p : ParserInfo) : ParserInfo :=
-{ collectTokens := p.collectTokens,
+@[noinline] def nodeInfo (n : SyntaxNodeKind) (p : ParserInfo) : ParserInfo := {
+ collectTokens := p.collectTokens,
collectKinds := fun s => (p.collectKinds s).insert n,
- firstTokens := p.firstTokens }
+ firstTokens := p.firstTokens
+}
-@[inline] def node (n : SyntaxNodeKind) (p : Parser) : Parser :=
-{ info := nodeInfo n p.info,
- fn := nodeFn n p.fn }
+@[inline] def node (n : SyntaxNodeKind) (p : Parser) : Parser := {
+ info := nodeInfo n p.info,
+ fn := nodeFn n p.fn
+}
-def errorFn (msg : String) : ParserFn :=
-fun _ s => s.mkUnexpectedError msg
+def errorFn (msg : String) : ParserFn := fun _ s =>
+ s.mkUnexpectedError msg
-@[inline] def error (msg : String) : Parser :=
-{ info := epsilonInfo,
- fn := errorFn msg }
+@[inline] def error (msg : String) : Parser := {
+ info := epsilonInfo,
+ fn := errorFn msg
+}
/- Succeeds if `c.prec <= prec` -/
-def checkPrecFn (prec : Nat) : ParserFn :=
-fun c s =>
+def checkPrecFn (prec : Nat) : ParserFn := fun c s =>
if c.prec <= prec then s
else s.mkUnexpectedError "unexpected token at this precedence level; consider parenthesizing the term"
-@[inline] def checkPrec (prec : Nat) : Parser :=
-{ info := epsilonInfo,
- fn := checkPrecFn prec }
+@[inline] def checkPrec (prec : Nat) : Parser := {
+ info := epsilonInfo,
+ fn := checkPrecFn prec
+}
-def checkInsideQuotFn : ParserFn :=
-fun c s =>
+def checkInsideQuotFn : ParserFn := fun c s =>
if c.insideQuot then s
else s.mkUnexpectedError "unexpected syntax outside syntax quotation"
-@[inline] def checkInsideQuot : Parser :=
-{ info := epsilonInfo,
- fn := checkInsideQuotFn }
+@[inline] def checkInsideQuot : Parser := {
+ info := epsilonInfo,
+ fn := checkInsideQuotFn
+}
-def checkOutsideQuotFn : ParserFn :=
-fun c s =>
+def checkOutsideQuotFn : ParserFn := fun c s =>
if !c.insideQuot then s
else s.mkUnexpectedError "unexpected syntax inside syntax quotation"
-@[inline] def checkOutsideQuot : Parser :=
-{ info := epsilonInfo,
- fn := checkOutsideQuotFn }
+@[inline] def checkOutsideQuot : Parser := {
+ info := epsilonInfo,
+ fn := checkOutsideQuotFn
+}
-def toggleInsideQuotFn (p : ParserFn) : ParserFn :=
-fun c s => p { c with insideQuot := !c.insideQuot } s
+def toggleInsideQuotFn (p : ParserFn) : ParserFn := fun c s =>
+ p { c with insideQuot := !c.insideQuot } s
-@[inline] def toggleInsideQuot (p : Parser) : Parser :=
-{ info := epsilonInfo,
- fn := toggleInsideQuotFn p.fn }
+@[inline] def toggleInsideQuot (p : Parser) : Parser := {
+ info := epsilonInfo,
+ fn := toggleInsideQuotFn p.fn
+}
@[inline] def leadingNode (n : SyntaxNodeKind) (prec : Nat) (p : Parser) : Parser :=
-checkPrec prec >> node n p
+ checkPrec prec >> node n p
-@[inline] def trailingNodeAux (n : SyntaxNodeKind) (p : Parser) : TrailingParser :=
-{ info := nodeInfo n p.info,
- fn := trailingNodeFn n p.fn }
+@[inline] def trailingNodeAux (n : SyntaxNodeKind) (p : Parser) : TrailingParser := {
+ info := nodeInfo n p.info,
+ fn := trailingNodeFn n p.fn
+}
@[inline] def trailingNode (n : SyntaxNodeKind) (prec : Nat) (p : Parser) : TrailingParser :=
-checkPrec prec >> trailingNodeAux n p
+ checkPrec prec >> trailingNodeAux n p
def mergeOrElseErrors (s : ParserState) (error1 : Error) (iniPos : Nat) (mergeErrors : Bool) : ParserState :=
-match s with
-| ⟨stack, pos, cache, some error2⟩ =>
- if pos == iniPos then ⟨stack, pos, cache, some (if mergeErrors then error1.merge error2 else error2)⟩
- else s
-| other => other
+ match s with
+ | ⟨stack, pos, cache, some error2⟩ =>
+ if pos == iniPos then ⟨stack, pos, cache, some (if mergeErrors then error1.merge error2 else error2)⟩
+ else s
+ | other => other
-@[inline] def orelseFnCore (p q : ParserFn) (mergeErrors : Bool) : ParserFn
-| c, s =>
- let iniSz := s.stackSize;
- let iniPos := s.pos;
- let s := p c s;
+def orelseFnCore (p q : ParserFn) (mergeErrors : Bool) : ParserFn := fun c s =>
+ let iniSz := s.stackSize
+ let iniPos := s.pos
+ let s := p c s
match s.errorMsg with
| some errorMsg =>
if s.pos == iniPos then
@@ -427,212 +436,215 @@ match s with
| none => s
@[inline] def orelseFn (p q : ParserFn) : ParserFn :=
-orelseFnCore p q true
+ orelseFnCore p q true
-@[noinline] def orelseInfo (p q : ParserInfo) : ParserInfo :=
-{ collectTokens := p.collectTokens ∘ q.collectTokens,
+@[noinline] def orelseInfo (p q : ParserInfo) : ParserInfo := {
+ collectTokens := p.collectTokens ∘ q.collectTokens,
collectKinds := p.collectKinds ∘ q.collectKinds,
- firstTokens := p.firstTokens.merge q.firstTokens }
+ firstTokens := p.firstTokens.merge q.firstTokens
+}
-@[inline] def orelse (p q : Parser) : Parser :=
-{ info := orelseInfo p.info q.info,
- fn := orelseFn p.fn q.fn }
+@[inline] def orelse (p q : Parser) : Parser := {
+ info := orelseInfo p.info q.info,
+ fn := orelseFn p.fn q.fn
+}
instance hashOrelse : HasOrelse Parser :=
-⟨orelse⟩
+ ⟨orelse⟩
-@[noinline] def noFirstTokenInfo (info : ParserInfo) : ParserInfo :=
-{ collectTokens := info.collectTokens,
- collectKinds := info.collectKinds }
+@[noinline] def noFirstTokenInfo (info : ParserInfo) : ParserInfo := {
+ collectTokens := info.collectTokens,
+ collectKinds := info.collectKinds
+}
-@[inline] def tryFn (p : ParserFn) : ParserFn
-| c, s =>
- let iniSz := s.stackSize;
- let iniPos := s.pos;
+def tryFn (p : ParserFn) : ParserFn := fun c s =>
+ let iniSz := s.stackSize
+ let iniPos := s.pos
match p c s with
| ⟨stack, _, cache, some msg⟩ => ⟨stack.shrink iniSz, iniPos, cache, some msg⟩
| other => other
-@[inline] def try (p : Parser) : Parser :=
-{ info := p.info,
- fn := tryFn p.fn }
+@[inline] def «try» (p : Parser) : Parser := {
+ info := p.info,
+ fn := tryFn p.fn
+}
-@[inline] def optionalFn (p : ParserFn) : ParserFn :=
-fun c s =>
- let iniSz := s.stackSize;
- let iniPos := s.pos;
- let s := p c s;
- let s := if s.hasError && s.pos == iniPos then s.restore iniSz iniPos else s;
+def optionalFn (p : ParserFn) : ParserFn := fun c s =>
+ let iniSz := s.stackSize
+ let iniPos := s.pos
+ let s := p c s
+ let s := if s.hasError && s.pos == iniPos then s.restore iniSz iniPos else s
s.mkNode nullKind iniSz
-@[noinline] def optionaInfo (p : ParserInfo) : ParserInfo :=
-{ collectTokens := p.collectTokens,
+@[noinline] def optionaInfo (p : ParserInfo) : ParserInfo := {
+ collectTokens := p.collectTokens,
collectKinds := p.collectKinds,
- firstTokens := p.firstTokens.toOptional }
+ firstTokens := p.firstTokens.toOptional
+}
-@[inline] def optional (p : Parser) : Parser :=
-{ info := optionaInfo p.info,
- fn := optionalFn p.fn }
+@[inline] def optional (p : Parser) : Parser := {
+ info := optionaInfo p.info,
+ fn := optionalFn p.fn
+}
-@[inline] def lookaheadFn (p : ParserFn) : ParserFn :=
-fun c s =>
- let iniSz := s.stackSize;
- let iniPos := s.pos;
- let s := p c s;
+def lookaheadFn (p : ParserFn) : ParserFn := fun c s =>
+ let iniSz := s.stackSize
+ let iniPos := s.pos
+ let s := p c s
if s.hasError then s else s.restore iniSz iniPos
-@[inline] def lookahead (p : Parser) : Parser :=
-{ info := p.info,
- fn := lookaheadFn p.fn }
+@[inline] def lookahead (p : Parser) : Parser := {
+ info := p.info,
+ fn := lookaheadFn p.fn
+}
-@[inline] def notFollowedByFn (p : ParserFn) (msg : String) : ParserFn :=
-fun c s =>
- let iniSz := s.stackSize;
- let iniPos := s.pos;
- let s := p c s;
+def notFollowedByFn (p : ParserFn) (msg : String) : ParserFn := fun c s =>
+ let iniSz := s.stackSize
+ let iniPos := s.pos
+ let s := p c s
if s.hasError then
s.restore iniSz iniPos
else
- let s := s.restore iniSz iniPos;
- s.mkUnexpectedError ("unexpected " ++ msg)
+ let s := s.restore iniSz iniPos
+ s.mkUnexpectedError s!"unexpected {msg}"
-@[inline] def notFollowedBy (p : Parser) (msg : String) : Parser :=
-{ fn := notFollowedByFn p.fn msg }
+@[inline] def notFollowedBy (p : Parser) (msg : String) : Parser := {
+ fn := notFollowedByFn p.fn msg
+}
-@[specialize] partial def manyAux (p : ParserFn) : ParserFn
-| c, s =>
- let iniSz := s.stackSize;
- let iniPos := s.pos;
- let s := p c s;
+partial def manyAux (p : ParserFn) : ParserFn := fun c s =>
+ let iniSz := s.stackSize
+ let iniPos := s.pos
+ let s := p c s
if s.hasError then
if iniPos == s.pos then s.restore iniSz iniPos else s
else if iniPos == s.pos then s.mkUnexpectedError "invalid 'many' parser combinator application, parser did not consume anything"
- else manyAux c s
+ else manyAux p c s
-@[inline] def manyFn (p : ParserFn) : ParserFn :=
-fun c s =>
- let iniSz := s.stackSize;
- let s := manyAux p c s;
+@[inline] def manyFn (p : ParserFn) : ParserFn := fun c s =>
+ let iniSz := s.stackSize
+ let s := manyAux p c s
s.mkNode nullKind iniSz
-@[inline] def many (p : Parser) : Parser :=
-{ info := noFirstTokenInfo p.info,
- fn := manyFn p.fn }
+@[inline] def many (p : Parser) : Parser := {
+ info := noFirstTokenInfo p.info,
+ fn := manyFn p.fn
+}
-@[inline] def many1Fn (p : ParserFn) : ParserFn :=
-fun c s =>
- let iniSz := s.stackSize;
- let s := andthenFn p (manyAux p) c s;
+@[inline] def many1Fn (p : ParserFn) : ParserFn := fun c s =>
+ let iniSz := s.stackSize
+ let s := andthenFn p (manyAux p) c s
s.mkNode nullKind iniSz
-@[inline] def many1 (p : Parser) : Parser :=
-{ info := p.info,
- fn := many1Fn p.fn }
+@[inline] def many1 (p : Parser) : Parser := {
+ info := p.info,
+ fn := many1Fn p.fn
+}
-@[specialize] private partial def sepByFnAux (p : ParserFn) (sep : ParserFn) (allowTrailingSep : Bool)
- (iniSz : Nat) : Bool → ParserFn
-| pOpt, c, s =>
- let sz := s.stackSize;
- let pos := s.pos;
- let s := p c s;
- if s.hasError then
- if s.pos > pos then s
- else if pOpt then
- let s := s.restore sz pos;
- s.mkNode nullKind iniSz
- else
- -- append `Syntax.missing` to make clear that List is incomplete
- let s := s.pushSyntax Syntax.missing;
- s.mkNode nullKind iniSz
- else
- let sz := s.stackSize;
- let pos := s.pos;
- let s := sep c s;
+private partial def sepByFnAux (p : ParserFn) (sep : ParserFn) (allowTrailingSep : Bool) (iniSz : Nat) (pOpt : Bool) : ParserFn :=
+ let rec parse (pOpt : Bool) (c s) :=
+ let sz := s.stackSize
+ let pos := s.pos
+ let s := p c s
if s.hasError then
- let s := s.restore sz pos;
- s.mkNode nullKind iniSz
+ if s.pos > pos then s
+ else if pOpt then
+ let s := s.restore sz pos
+ s.mkNode nullKind iniSz
+ else
+ -- append `Syntax.missing` to make clear that List is incomplete
+ let s := s.pushSyntax Syntax.missing
+ s.mkNode nullKind iniSz
else
- sepByFnAux allowTrailingSep c s
+ let sz := s.stackSize
+ let pos := s.pos
+ let s := sep c s
+ if s.hasError then
+ let s := s.restore sz pos
+ s.mkNode nullKind iniSz
+ else
+ parse allowTrailingSep c s
+ parse pOpt
-@[specialize] def sepByFn (allowTrailingSep : Bool) (p : ParserFn) (sep : ParserFn) : ParserFn
-| c, s =>
- let iniSz := s.stackSize;
+def sepByFn (allowTrailingSep : Bool) (p : ParserFn) (sep : ParserFn) : ParserFn := fun c s =>
+ let iniSz := s.stackSize
sepByFnAux p sep allowTrailingSep iniSz true c s
-@[specialize] def sepBy1Fn (allowTrailingSep : Bool) (p : ParserFn) (sep : ParserFn) : ParserFn
-| c, s =>
- let iniSz := s.stackSize;
+def sepBy1Fn (allowTrailingSep : Bool) (p : ParserFn) (sep : ParserFn) : ParserFn := fun c s =>
+ let iniSz := s.stackSize
sepByFnAux p sep allowTrailingSep iniSz false c s
-@[noinline] def sepByInfo (p sep : ParserInfo) : ParserInfo :=
-{ collectTokens := p.collectTokens ∘ sep.collectTokens,
- collectKinds := p.collectKinds ∘ sep.collectKinds }
+@[noinline] def sepByInfo (p sep : ParserInfo) : ParserInfo := {
+ collectTokens := p.collectTokens ∘ sep.collectTokens,
+ collectKinds := p.collectKinds ∘ sep.collectKinds
+}
-@[noinline] def sepBy1Info (p sep : ParserInfo) : ParserInfo :=
-{ collectTokens := p.collectTokens ∘ sep.collectTokens,
+@[noinline] def sepBy1Info (p sep : ParserInfo) : ParserInfo := {
+ collectTokens := p.collectTokens ∘ sep.collectTokens,
collectKinds := p.collectKinds ∘ sep.collectKinds,
- firstTokens := p.firstTokens }
+ firstTokens := p.firstTokens
+}
-@[inline] def sepBy (p sep : Parser) (allowTrailingSep : Bool := false) : Parser :=
-{ info := sepByInfo p.info sep.info,
- fn := sepByFn allowTrailingSep p.fn sep.fn }
+@[inline] def sepBy (p sep : Parser) (allowTrailingSep : Bool := false) : Parser := {
+ info := sepByInfo p.info sep.info,
+ fn := sepByFn allowTrailingSep p.fn sep.fn
+}
-@[inline] def sepBy1 (p sep : Parser) (allowTrailingSep : Bool := false) : Parser :=
-{ info := sepBy1Info p.info sep.info,
- fn := sepBy1Fn allowTrailingSep p.fn sep.fn }
+@[inline] def sepBy1 (p sep : Parser) (allowTrailingSep : Bool := false) : Parser := {
+ info := sepBy1Info p.info sep.info,
+ fn := sepBy1Fn allowTrailingSep p.fn sep.fn
+}
/- Apply `f` to the syntax object produced by `p` -/
-@[inline] def withResultOfFn (p : ParserFn) (f : Syntax → Syntax) : ParserFn :=
-fun c s =>
- let s := p c s;
+def withResultOfFn (p : ParserFn) (f : Syntax → Syntax) : ParserFn := fun c s =>
+ let s := p c s
if s.hasError then s
else
- let stx := s.stxStack.back;
+ let stx := s.stxStack.back
s.popSyntax.pushSyntax (f stx)
-@[noinline] def withResultOfInfo (p : ParserInfo) : ParserInfo :=
-{ collectTokens := p.collectTokens,
- collectKinds := p.collectKinds }
+@[noinline] def withResultOfInfo (p : ParserInfo) : ParserInfo := {
+ collectTokens := p.collectTokens,
+ collectKinds := p.collectKinds
+}
-@[inline] def withResultOf (p : Parser) (f : Syntax → Syntax) : Parser :=
-{ info := withResultOfInfo p.info,
- fn := withResultOfFn p.fn f }
+@[inline] def withResultOf (p : Parser) (f : Syntax → Syntax) : Parser := {
+ info := withResultOfInfo p.info,
+ fn := withResultOfFn p.fn f
+}
@[inline] def many1Unbox (p : Parser) : Parser :=
-withResultOf (many1 p) fun stx => if stx.getNumArgs == 1 then stx.getArg 0 else stx
+ withResultOf (many1 p) fun stx => if stx.getNumArgs == 1 then stx.getArg 0 else stx
-@[specialize] partial def satisfyFn (p : Char → Bool) (errorMsg : String := "unexpected character") : ParserFn
-| c, s =>
- let i := s.pos;
+partial def satisfyFn (p : Char → Bool) (errorMsg : String := "unexpected character") : ParserFn := fun c s =>
+ let i := s.pos
if c.input.atEnd i then s.mkEOIError
else if p (c.input.get i) then s.next c.input i
else s.mkUnexpectedError errorMsg
-@[specialize] partial def takeUntilFn (p : Char → Bool) : ParserFn
-| c, s =>
- let i := s.pos;
+partial def takeUntilFn (p : Char → Bool) : ParserFn := fun c s =>
+ let i := s.pos
if c.input.atEnd i then s
else if p (c.input.get i) then s
- else takeUntilFn c (s.next c.input i)
+ else takeUntilFn p c (s.next c.input i)
-@[specialize] def takeWhileFn (p : Char → Bool) : ParserFn :=
-takeUntilFn (fun c => !p c)
+def takeWhileFn (p : Char → Bool) : ParserFn :=
+ takeUntilFn (fun c => !p c)
@[inline] def takeWhile1Fn (p : Char → Bool) (errorMsg : String) : ParserFn :=
-andthenFn (satisfyFn p errorMsg) (takeWhileFn p)
+ andthenFn (satisfyFn p errorMsg) (takeWhileFn p)
-partial def finishCommentBlock : Nat → ParserFn
-| nesting, c, s =>
- let input := c.input;
- let i := s.pos;
+partial def finishCommentBlock (nesting : Nat) : ParserFn := fun c s =>
+ let input := c.input
+ let i := s.pos
if input.atEnd i then s.mkEOIError
else
- let curr := input.get i;
- let i := input.next i;
+ let curr := input.get i
+ let i := input.next i
if curr == '-' then
if input.atEnd i then s.mkEOIError
else
- let curr := input.get i;
+ let curr := input.get i
if curr == '/' then -- "-/" end of comment
if nesting == 1 then s.next input i
else finishCommentBlock (nesting-1) c (s.next input i)
@@ -641,87 +653,82 @@ partial def finishCommentBlock : Nat → ParserFn
else if curr == '/' then
if input.atEnd i then s.mkEOIError
else
- let curr := input.get i;
+ let curr := input.get i
if curr == '-' then finishCommentBlock (nesting+1) c (s.next input i)
else finishCommentBlock nesting c (s.setPos i)
else finishCommentBlock nesting c (s.setPos i)
/- Consume whitespace and comments -/
-partial def whitespace : ParserFn
-| c, s =>
- let input := c.input;
- let i := s.pos;
+partial def whitespace : ParserFn := fun c s =>
+ let input := c.input
+ let i := s.pos
if input.atEnd i then s
else
- let curr := input.get i;
+ let curr := input.get i
if curr.isWhitespace then whitespace c (s.next input i)
else if curr == '-' then
- let i := input.next i;
- let curr := input.get i;
+ let i := input.next i
+ let curr := input.get i
if curr == '-' then andthenFn (takeUntilFn (fun c => c = '\n')) whitespace c (s.next input i)
else s
else if curr == '/' then
- let i := input.next i;
- let curr := input.get i;
+ let i := input.next i
+ let curr := input.get i
if curr == '-' then
- let i := input.next i;
- let curr := input.get i;
+ let i := input.next i
+ let curr := input.get i
if curr == '-' then s -- "/--" doc comment is an actual token
else andthenFn (finishCommentBlock 1) whitespace c (s.next input i)
else s
else s
def mkEmptySubstringAt (s : String) (p : Nat) : Substring :=
-{str := s, startPos := p, stopPos := p }
+ { str := s, startPos := p, stopPos := p }
-private def rawAux (startPos : Nat) (trailingWs : Bool) : ParserFn
-| c, s =>
- let input := c.input;
- let stopPos := s.pos;
- let leading := mkEmptySubstringAt input startPos;
- let val := input.extract startPos stopPos;
+private def rawAux (startPos : Nat) (trailingWs : Bool) : ParserFn := fun c s =>
+ let input := c.input
+ let stopPos := s.pos
+ let leading := mkEmptySubstringAt input startPos
+ let val := input.extract startPos stopPos
if trailingWs then
- let s := whitespace c s;
- let stopPos' := s.pos;
- let trailing := { str := input, startPos := stopPos, stopPos := stopPos' : Substring };
- let atom := mkAtom { leading := leading, pos := startPos, trailing := trailing } val;
+ let s := whitespace c s
+ let stopPos' := s.pos
+ let trailing := { str := input, startPos := stopPos, stopPos := stopPos' : Substring }
+ let atom := mkAtom { leading := leading, pos := startPos, trailing := trailing } val
s.pushSyntax atom
else
- let trailing := mkEmptySubstringAt input stopPos;
- let atom := mkAtom { leading := leading, pos := startPos, trailing := trailing } val;
+ let trailing := mkEmptySubstringAt input stopPos
+ let atom := mkAtom { leading := leading, pos := startPos, trailing := trailing } val
s.pushSyntax atom
/-- Match an arbitrary Parser and return the consumed String in a `Syntax.atom`. -/
-@[inline] def rawFn (p : ParserFn) (trailingWs := false) : ParserFn
-| c, s =>
- let startPos := s.pos;
- let s := p c s;
+@[inline] def rawFn (p : ParserFn) (trailingWs := false) : ParserFn := fun c s =>
+ let startPos := s.pos
+ let s := p c s
if s.hasError then s else rawAux startPos trailingWs c s
@[inline] def chFn (c : Char) (trailingWs := false) : ParserFn :=
-rawFn (satisfyFn (fun d => c == d) ("'" ++ toString c ++ "'")) trailingWs
+ rawFn (satisfyFn (fun d => c == d) ("'" ++ toString c ++ "'")) trailingWs
def rawCh (c : Char) (trailingWs := false) : Parser :=
-{ fn := chFn c trailingWs }
+ { fn := chFn c trailingWs }
-def hexDigitFn : ParserFn
-| c, s =>
- let input := c.input;
- let i := s.pos;
+def hexDigitFn : ParserFn := fun c s =>
+ let input := c.input
+ let i := s.pos
if input.atEnd i then s.mkEOIError
else
- let curr := input.get i;
- let i := input.next i;
+ let curr := input.get i
+ let i := input.next i
if curr.isDigit || ('a' <= curr && curr <= 'f') || ('A' <= curr && curr <= 'F') then s.setPos i
else s.mkUnexpectedError "invalid hexadecimal numeral"
-@[specialize] def quotedCharCoreFn (isQuotable : Char → Bool) : ParserFn
-| c, s =>
- let input := c.input;
- let i := s.pos;
+def quotedCharCoreFn (isQuotable : Char → Bool) : ParserFn := fun c s =>
+ let input := c.input
+ let i := s.pos
if input.atEnd i then s.mkEOIError
else
- let curr := input.get i;
+ let curr := input.get i
if isQuotable curr then
s.next input i
else if curr == 'x' then
@@ -732,96 +739,88 @@ def hexDigitFn : ParserFn
s.mkUnexpectedError "invalid escape sequence"
def isQuotableCharDefault (c : Char) : Bool :=
-c == '\\' || c == '\"' || c == '\'' || c == 'r' || c == 'n' || c == 't'
+ c == '\\' || c == '\"' || c == '\'' || c == 'r' || c == 'n' || c == 't'
def quotedCharFn : ParserFn :=
-quotedCharCoreFn isQuotableCharDefault
+ quotedCharCoreFn isQuotableCharDefault
/-- Push `(Syntax.node tk )` into syntax stack -/
-def mkNodeToken (n : SyntaxNodeKind) (startPos : Nat) : ParserFn :=
-fun c s =>
-let input := c.input;
-let stopPos := s.pos;
-let leading := mkEmptySubstringAt input startPos;
-let val := input.extract startPos stopPos;
-let s := whitespace c s;
-let wsStopPos := s.pos;
-let trailing := { str := input, startPos := stopPos, stopPos := wsStopPos : Substring };
-let info := { leading := leading, pos := startPos, trailing := trailing : SourceInfo };
-s.pushSyntax (mkStxLit n val info)
+def mkNodeToken (n : SyntaxNodeKind) (startPos : Nat) : ParserFn := fun c s =>
+ let input := c.input
+ let stopPos := s.pos
+ let leading := mkEmptySubstringAt input startPos
+ let val := input.extract startPos stopPos
+ let s := whitespace c s
+ let wsStopPos := s.pos
+ let trailing := { str := input, startPos := stopPos, stopPos := wsStopPos : Substring }
+ let info := { leading := leading, pos := startPos, trailing := trailing : SourceInfo }
+ s.pushSyntax (mkStxLit n val info)
-def charLitFnAux (startPos : Nat) : ParserFn
-| c, s =>
- let input := c.input;
- let i := s.pos;
+def charLitFnAux (startPos : Nat) : ParserFn := fun c s =>
+ let input := c.input
+ let i := s.pos
if input.atEnd i then s.mkEOIError
else
- let curr := input.get i;
- let s := s.setPos (input.next i);
- let s := if curr == '\\' then quotedCharFn c s else s;
+ let curr := input.get i
+ let s := s.setPos (input.next i)
+ let s := if curr == '\\' then quotedCharFn c s else s
if s.hasError then s
else
- let i := s.pos;
- let curr := input.get i;
- let s := s.setPos (input.next i);
+ let i := s.pos
+ let curr := input.get i
+ let s := s.setPos (input.next i)
if curr == '\'' then mkNodeToken charLitKind startPos c s
else s.mkUnexpectedError "missing end of character literal"
-partial def strLitFnAux (startPos : Nat) : ParserFn
-| c, s =>
- let input := c.input;
- let i := s.pos;
+partial def strLitFnAux (startPos : Nat) : ParserFn := fun c s =>
+ let input := c.input
+ let i := s.pos
if input.atEnd i then s.mkEOIError
else
- let curr := input.get i;
- let s := s.setPos (input.next i);
+ let curr := input.get i
+ let s := s.setPos (input.next i)
if curr == '\"' then
mkNodeToken strLitKind startPos c s
- else if curr == '\\' then andthenFn quotedCharFn strLitFnAux c s
- else strLitFnAux c s
+ else if curr == '\\' then andthenFn quotedCharFn (strLitFnAux startPos) c s
+ else strLitFnAux startPos c s
-def decimalNumberFn (startPos : Nat) : ParserFn :=
-fun c s =>
- let s := takeWhileFn (fun c => c.isDigit) c s;
- let input := c.input;
- let i := s.pos;
- let curr := input.get i;
+def decimalNumberFn (startPos : Nat) : ParserFn := fun c s =>
+ let s := takeWhileFn (fun c => c.isDigit) c s
+ let input := c.input
+ let i := s.pos
+ let curr := input.get i
let s :=
/- TODO(Leo): should we use a different kind for numerals containing decimal points? -/
if curr == '.' then
- let i := input.next i;
- let curr := input.get i;
+ let i := input.next i
+ let curr := input.get i
if curr.isDigit then
takeWhileFn (fun c => c.isDigit) c (s.setPos i)
else s
- else s;
+ else s
mkNodeToken numLitKind startPos c s
-def binNumberFn (startPos : Nat) : ParserFn :=
-fun c s =>
- let s := takeWhile1Fn (fun c => c == '0' || c == '1') "binary number" c s;
+def binNumberFn (startPos : Nat) : ParserFn := fun c s =>
+ let s := takeWhile1Fn (fun c => c == '0' || c == '1') "binary number" c s
mkNodeToken numLitKind startPos c s
-def octalNumberFn (startPos : Nat) : ParserFn :=
-fun c s =>
- let s := takeWhile1Fn (fun c => '0' ≤ c && c ≤ '7') "octal number" c s;
+def octalNumberFn (startPos : Nat) : ParserFn := fun c s =>
+ let s := takeWhile1Fn (fun c => '0' ≤ c && c ≤ '7') "octal number" c s
mkNodeToken numLitKind startPos c s
-def hexNumberFn (startPos : Nat) : ParserFn :=
-fun c s =>
- let s := takeWhile1Fn (fun c => ('0' ≤ c && c ≤ '9') || ('a' ≤ c && c ≤ 'f') || ('A' ≤ c && c ≤ 'F')) "hexadecimal number" c s;
+def hexNumberFn (startPos : Nat) : ParserFn := fun c s =>
+ let s := takeWhile1Fn (fun c => ('0' ≤ c && c ≤ '9') || ('a' ≤ c && c ≤ 'f') || ('A' ≤ c && c ≤ 'F')) "hexadecimal number" c s
mkNodeToken numLitKind startPos c s
-def numberFnAux : ParserFn :=
-fun c s =>
- let input := c.input;
- let startPos := s.pos;
+def numberFnAux : ParserFn := fun c s =>
+ let input := c.input
+ let startPos := s.pos
if input.atEnd startPos then s.mkEOIError
else
- let curr := input.get startPos;
+ let curr := input.get startPos
if curr == '0' then
- let i := input.next startPos;
- let curr := input.get i;
+ let i := input.next startPos
+ let curr := input.get i
if curr == 'b' || curr == 'B' then
binNumberFn startPos c (s.next input i)
else if curr == 'o' || curr == 'O' then
@@ -835,118 +834,114 @@ fun c s =>
else
s.mkError "numeral"
-def isIdCont : String → ParserState → Bool
-| input, s =>
- let i := s.pos;
- let curr := input.get i;
+def isIdCont : String → ParserState → Bool := fun input s =>
+ let i := s.pos
+ let curr := input.get i
if curr == '.' then
- let i := input.next i;
+ let i := input.next i
if input.atEnd i then
false
else
- let curr := input.get i;
+ let curr := input.get i
isIdFirst curr || isIdBeginEscape curr
else
false
private def isToken (idStartPos idStopPos : Nat) (tk : Option Token) : Bool :=
-match tk with
-| none => false
-| some tk =>
- -- if a token is both a symbol and a valid identifier (i.e. a keyword),
- -- we want it to be recognized as a symbol
- tk.bsize ≥ idStopPos - idStartPos
+ match tk with
+ | none => false
+ | some tk =>
+ -- if a token is both a symbol and a valid identifier (i.e. a keyword),
+ -- we want it to be recognized as a symbol
+ tk.bsize ≥ idStopPos - idStartPos
-def mkTokenAndFixPos (startPos : Nat) (tk : Option Token) : ParserFn :=
-fun c s =>
-match tk with
-| none => s.mkErrorAt "token" startPos
-| some tk =>
- if c.forbiddenTk? == some tk then
- s.mkErrorAt "forbidden token" startPos
+def mkTokenAndFixPos (startPos : Nat) (tk : Option Token) : ParserFn := fun c s =>
+ match tk with
+ | none => s.mkErrorAt "token" startPos
+ | some tk =>
+ if c.forbiddenTk? == some tk then
+ s.mkErrorAt "forbidden token" startPos
+ else
+ let input := c.input
+ let leading := mkEmptySubstringAt input startPos
+ let stopPos := startPos + tk.bsize
+ let s := s.setPos stopPos
+ let s := whitespace c s
+ let wsStopPos := s.pos
+ let trailing := { str := input, startPos := stopPos, stopPos := wsStopPos : Substring }
+ let atom := mkAtom { leading := leading, pos := startPos, trailing := trailing } tk
+ s.pushSyntax atom
+
+def mkIdResult (startPos : Nat) (tk : Option Token) (val : Name) : ParserFn := fun c s =>
+ let stopPos := s.pos
+ if isToken startPos stopPos tk then
+ mkTokenAndFixPos startPos tk c s
else
- let input := c.input;
- let leading := mkEmptySubstringAt input startPos;
- let stopPos := startPos + tk.bsize;
- let s := s.setPos stopPos;
- let s := whitespace c s;
- let wsStopPos := s.pos;
- let trailing := { str := input, startPos := stopPos, stopPos := wsStopPos : Substring };
- let atom := mkAtom { leading := leading, pos := startPos, trailing := trailing } tk;
+ let input := c.input
+ let rawVal := { str := input, startPos := startPos, stopPos := stopPos : Substring }
+ let s := whitespace c s
+ let trailingStopPos := s.pos
+ let leading := mkEmptySubstringAt input startPos
+ let trailing := { str := input, startPos := stopPos, stopPos := trailingStopPos : Substring }
+ let info := { leading := leading, trailing := trailing, pos := startPos : SourceInfo }
+ let atom := mkIdent info rawVal val
s.pushSyntax atom
-def mkIdResult (startPos : Nat) (tk : Option Token) (val : Name) : ParserFn :=
-fun c s =>
-let stopPos := s.pos;
-if isToken startPos stopPos tk then
- mkTokenAndFixPos startPos tk c s
-else
- let input := c.input;
- let rawVal := { str := input, startPos := startPos, stopPos := stopPos : Substring };
- let s := whitespace c s;
- let trailingStopPos := s.pos;
- let leading := mkEmptySubstringAt input startPos;
- let trailing := { str := input, startPos := stopPos, stopPos := trailingStopPos : Substring };
- let info := { leading := leading, trailing := trailing, pos := startPos : SourceInfo };
- let atom := mkIdent info rawVal val;
- s.pushSyntax atom
-
-partial def identFnAux (startPos : Nat) (tk : Option Token) : Name → ParserFn
-| r, c, s =>
- let input := c.input;
- let i := s.pos;
- if input.atEnd i then s.mkEOIError
- else
- let curr := input.get i;
- if isIdBeginEscape curr then
- let startPart := input.next i;
- let s := takeUntilFn isIdEndEscape c (s.setPos startPart);
- let stopPart := s.pos;
- let s := satisfyFn isIdEndEscape "missing end of escaped identifier" c s;
- if s.hasError then s
- else
- let r := mkNameStr r (input.extract startPart stopPart);
+partial def identFnAux (startPos : Nat) (tk : Option Token) (r : Name) : ParserFn :=
+ let rec parse (r : Name) (c s) :=
+ let input := c.input
+ let i := s.pos
+ if input.atEnd i then s.mkEOIError
+ else
+ let curr := input.get i
+ if isIdBeginEscape curr then
+ let startPart := input.next i
+ let s := takeUntilFn isIdEndEscape c (s.setPos startPart)
+ let stopPart := s.pos
+ let s := satisfyFn isIdEndEscape "missing end of escaped identifier" c s
+ if s.hasError then s
+ else
+ let r := mkNameStr r (input.extract startPart stopPart)
+ if isIdCont input s then
+ let s := s.next input s.pos
+ parse r c s
+ else
+ mkIdResult startPos tk r c s
+ else if isIdFirst curr then
+ let startPart := i
+ let s := takeWhileFn isIdRest c (s.next input i)
+ let stopPart := s.pos
+ let r := mkNameStr r (input.extract startPart stopPart)
if isIdCont input s then
- let s := s.next input s.pos;
- identFnAux r c s
+ let s := s.next input s.pos
+ parse r c s
else
mkIdResult startPos tk r c s
- else if isIdFirst curr then
- let startPart := i;
- let s := takeWhileFn isIdRest c (s.next input i);
- let stopPart := s.pos;
- let r := mkNameStr r (input.extract startPart stopPart);
- if isIdCont input s then
- let s := s.next input s.pos;
- identFnAux r c s
else
- mkIdResult startPos tk r c s
- else
- mkTokenAndFixPos startPos tk c s
+ mkTokenAndFixPos startPos tk c s
+ parse r
private def isIdFirstOrBeginEscape (c : Char) : Bool :=
-isIdFirst c || isIdBeginEscape c
+ isIdFirst c || isIdBeginEscape c
-private def nameLitAux (startPos : Nat) : ParserFn
-| c, s =>
- let input := c.input;
- let s := identFnAux startPos none Name.anonymous c (s.next input startPos);
+private def nameLitAux (startPos : Nat) : ParserFn := fun c s =>
+ let input := c.input
+ let s := identFnAux startPos none Name.anonymous c (s.next input startPos)
if s.hasError then
s.mkErrorAt "invalid Name literal" startPos
else
- let stx := s.stxStack.back;
+ let stx := s.stxStack.back
match stx with
| Syntax.ident _ rawStr _ _ =>
- let s := s.popSyntax;
+ let s := s.popSyntax
s.pushSyntax (Syntax.node nameLitKind #[mkAtomFrom stx rawStr.toString])
| _ => s.mkError "invalid Name literal"
-private def tokenFnAux : ParserFn
-| c, s =>
- let input := c.input;
- let i := s.pos;
- let curr := input.get i;
+private def tokenFnAux : ParserFn := fun c s =>
+ let input := c.input
+ let i := s.pos
+ let curr := input.get i
if curr == '\"' then
strLitFnAux i c (s.next input i)
else if curr == '\'' then
@@ -956,60 +951,57 @@ private def tokenFnAux : ParserFn
else if curr == '`' && isIdFirstOrBeginEscape (getNext input i) then
nameLitAux i c s
else
- let (_, tk) := c.tokens.matchPrefix input i;
+ let (_, tk) := c.tokens.matchPrefix input i
identFnAux i tk Name.anonymous c s
private def updateCache (startPos : Nat) (s : ParserState) : ParserState :=
-match s with
-| ⟨stack, pos, cache, none⟩ =>
- if stack.size == 0 then s
- else
- let tk := stack.back;
- ⟨stack, pos, { tokenCache := { startPos := startPos, stopPos := pos, token := tk } }, none⟩
-| other => other
+ match s with
+ | ⟨stack, pos, cache, none⟩ =>
+ if stack.size == 0 then s
+ else
+ let tk := stack.back
+ ⟨stack, pos, { tokenCache := { startPos := startPos, stopPos := pos, token := tk } }, none⟩
+ | other => other
-def tokenFn : ParserFn :=
-fun c s =>
- let input := c.input;
- let i := s.pos;
+def tokenFn : ParserFn := fun c s =>
+ let input := c.input
+ let i := s.pos
if input.atEnd i then s.mkEOIError
else
- let tkc := s.cache.tokenCache;
+ let tkc := s.cache.tokenCache
if tkc.startPos == i then
- let s := s.pushSyntax tkc.token;
+ let s := s.pushSyntax tkc.token
s.setPos tkc.stopPos
else
- let s := tokenFnAux c s;
+ let s := tokenFnAux c s
updateCache i s
def peekTokenAux (c : ParserContext) (s : ParserState) : ParserState × Option Syntax :=
-let iniSz := s.stackSize;
-let iniPos := s.pos;
-let s := tokenFn c s;
-if s.hasError then (s.restore iniSz iniPos, none)
-else
- let stx := s.stxStack.back;
- (s.restore iniSz iniPos, some stx)
+ let iniSz := s.stackSize
+ let iniPos := s.pos
+ let s := tokenFn c s
+ if s.hasError then (s.restore iniSz iniPos, none)
+ else
+ let stx := s.stxStack.back
+ (s.restore iniSz iniPos, some stx)
-@[inline] def peekToken (c : ParserContext) (s : ParserState) : ParserState × Option Syntax :=
-let tkc := s.cache.tokenCache;
-if tkc.startPos == s.pos then
- (s, some tkc.token)
-else
- peekTokenAux c s
+def peekToken (c : ParserContext) (s : ParserState) : ParserState × Option Syntax :=
+ let tkc := s.cache.tokenCache
+ if tkc.startPos == s.pos then
+ (s, some tkc.token)
+ else
+ peekTokenAux c s
/- Treat keywords as identifiers. -/
-def rawIdentFn : ParserFn :=
-fun c s =>
- let input := c.input;
- let i := s.pos;
+def rawIdentFn : ParserFn := fun c s =>
+ let input := c.input
+ let i := s.pos
if input.atEnd i then s.mkEOIError
else identFnAux i none Name.anonymous c s
-@[inline] def satisfySymbolFn (p : String → Bool) (expected : List String) : ParserFn :=
-fun c s =>
- let startPos := s.pos;
- let s := tokenFn c s;
+@[inline] def satisfySymbolFn (p : String → Bool) (expected : List String) : ParserFn := fun c s =>
+ let startPos := s.pos
+ let s := tokenFn c s
if s.hasError then
s.mkErrorsAt expected startPos
else
@@ -1017,20 +1009,21 @@ fun c s =>
| Syntax.atom _ sym => if p sym then s else s.mkErrorsAt expected startPos
| _ => s.mkErrorsAt expected startPos
-@[inline] def symbolFnAux (sym : String) (errorMsg : String) : ParserFn :=
-satisfySymbolFn (fun s => s == sym) [errorMsg]
+def symbolFnAux (sym : String) (errorMsg : String) : ParserFn :=
+ satisfySymbolFn (fun s => s == sym) [errorMsg]
-def symbolInfo (sym : String) : ParserInfo :=
-{ collectTokens := fun tks => sym :: tks,
- firstTokens := FirstTokens.tokens [ sym ] }
+def symbolInfo (sym : String) : ParserInfo := {
+ collectTokens := fun tks => sym :: tks,
+ firstTokens := FirstTokens.tokens [ sym ]
+}
@[inline] def symbolFn (sym : String) : ParserFn :=
-symbolFnAux sym ("'" ++ sym ++ "'")
+ symbolFnAux sym ("'" ++ sym ++ "'")
@[inline] def symbol (sym : String) : Parser :=
-let sym := sym.trim;
-{ info := symbolInfo sym,
- fn := symbolFn sym }
+ let sym := sym.trim
+ { info := symbolInfo sym,
+ fn := symbolFn sym }
/-- Check if the following token is the symbol _or_ identifier `sym`. Useful for
parsing local tokens that have not been added to the token table (but may have
@@ -1039,10 +1032,9 @@ let sym := sym.trim;
For example, the universe `max` Function is parsed using this combinator so that
it can still be used as an identifier outside of universes (but registering it
as a token in a Term Syntax would not break the universe Parser). -/
-def nonReservedSymbolFnAux (sym : String) (errorMsg : String) : ParserFn :=
-fun c s =>
- let startPos := s.pos;
- let s := tokenFn c s;
+def nonReservedSymbolFnAux (sym : String) (errorMsg : String) : ParserFn := fun c s =>
+ let startPos := s.pos
+ let s := tokenFn c s
if s.hasError then s.mkErrorAt errorMsg startPos
else
match s.stxStack.back with
@@ -1050,173 +1042,177 @@ fun c s =>
if sym == sym' then s else s.mkErrorAt errorMsg startPos
| Syntax.ident info rawVal _ _ =>
if sym == rawVal.toString then
- let s := s.popSyntax;
+ let s := s.popSyntax
s.pushSyntax (Syntax.atom info sym)
else
s.mkErrorAt errorMsg startPos
| _ => s.mkErrorAt errorMsg startPos
@[inline] def nonReservedSymbolFn (sym : String) : ParserFn :=
-nonReservedSymbolFnAux sym ("'" ++ sym ++ "'")
+ nonReservedSymbolFnAux sym ("'" ++ sym ++ "'")
-def nonReservedSymbolInfo (sym : String) (includeIdent : Bool) : ParserInfo :=
-{ firstTokens :=
- if includeIdent then
- FirstTokens.tokens [ sym, "ident" ]
- else
- FirstTokens.tokens [ sym ] }
+def nonReservedSymbolInfo (sym : String) (includeIdent : Bool) : ParserInfo := {
+ firstTokens :=
+ if includeIdent then
+ FirstTokens.tokens [ sym, "ident" ]
+ else
+ FirstTokens.tokens [ sym ]
+}
@[inline] def nonReservedSymbol (sym : String) (includeIdent := false) : Parser :=
-let sym := sym.trim;
-{ info := nonReservedSymbolInfo sym includeIdent,
- fn := nonReservedSymbolFn sym }
+ let sym := sym.trim
+ { info := nonReservedSymbolInfo sym includeIdent,
+ fn := nonReservedSymbolFn sym }
-partial def strAux (sym : String) (errorMsg : String) : Nat → ParserFn
-| j, c, s =>
- if sym.atEnd j then s
- else
- let i := s.pos;
- let input := c.input;
- if input.atEnd i || sym.get j != input.get i then s.mkError errorMsg
- else strAux (sym.next j) c (s.next input i)
+partial def strAux (sym : String) (errorMsg : String) (j : Nat) :ParserFn :=
+ let rec parse (j c s) :=
+ if sym.atEnd j then s
+ else
+ let i := s.pos
+ let input := c.input
+ if input.atEnd i || sym.get j != input.get i then s.mkError errorMsg
+ else parse (sym.next j) c (s.next input i)
+ parse j
def checkTailWs (prev : Syntax) : Bool :=
-match prev.getTailInfo with
-| some { trailing := some trailing, .. } => trailing.stopPos > trailing.startPos
-| _ => false
+ match prev.getTailInfo with
+ | some { trailing := some trailing, .. } => trailing.stopPos > trailing.startPos
+ | _ => false
-def checkWsBeforeFn (errorMsg : String) : ParserFn :=
-fun c s =>
- let prev := s.stxStack.back;
+def checkWsBeforeFn (errorMsg : String) : ParserFn := fun c s =>
+ let prev := s.stxStack.back
if checkTailWs prev then s else s.mkError errorMsg
-def checkWsBefore (errorMsg : String) : Parser :=
-{ info := epsilonInfo,
- fn := checkWsBeforeFn errorMsg }
+def checkWsBefore (errorMsg : String) : Parser := {
+ info := epsilonInfo,
+ fn := checkWsBeforeFn errorMsg
+}
def checkTailNoWs (prev : Syntax) : Bool :=
-match prev.getTailInfo with
-| some { trailing := some trailing, .. } => trailing.stopPos == trailing.startPos
-| _ => false
+ match prev.getTailInfo with
+ | some { trailing := some trailing, .. } => trailing.stopPos == trailing.startPos
+ | _ => false
private def pickNonNone (stack : Array Syntax) : Syntax :=
-match stack.findRev? $ fun stx => !stx.isNone with
-| none => Syntax.missing
-| some stx => stx
+ match stack.findRev? $ fun stx => !stx.isNone with
+ | none => Syntax.missing
+ | some stx => stx
-def checkNoWsBeforeFn (errorMsg : String) : ParserFn :=
-fun c s =>
- let prev := pickNonNone s.stxStack;
+def checkNoWsBeforeFn (errorMsg : String) : ParserFn := fun c s =>
+ let prev := pickNonNone s.stxStack
if checkTailNoWs prev then s else s.mkError errorMsg
-def checkNoWsBefore (errorMsg : String := "no space") : Parser :=
-{ info := epsilonInfo,
- fn := checkNoWsBeforeFn errorMsg }
+def checkNoWsBefore (errorMsg : String := "no space") : Parser := {
+ info := epsilonInfo,
+ fn := checkNoWsBeforeFn errorMsg
+}
def unicodeSymbolFnAux (sym asciiSym : String) (expected : List String) : ParserFn :=
-satisfySymbolFn (fun s => s == sym || s == asciiSym) expected
+ satisfySymbolFn (fun s => s == sym || s == asciiSym) expected
-def unicodeSymbolInfo (sym asciiSym : String) : ParserInfo :=
-{ collectTokens := fun tks => sym :: asciiSym :: tks,
- firstTokens := FirstTokens.tokens [ sym, asciiSym ] }
+def unicodeSymbolInfo (sym asciiSym : String) : ParserInfo := {
+ collectTokens := fun tks => sym :: asciiSym :: tks,
+ firstTokens := FirstTokens.tokens [ sym, asciiSym ]
+}
@[inline] def unicodeSymbolFn (sym asciiSym : String) : ParserFn :=
-unicodeSymbolFnAux sym asciiSym ["'" ++ sym ++ "', '" ++ asciiSym ++ "'"]
+ unicodeSymbolFnAux sym asciiSym ["'" ++ sym ++ "', '" ++ asciiSym ++ "'"]
@[inline] def unicodeSymbol (sym asciiSym : String) : Parser :=
-let sym := sym.trim;
-let asciiSym := asciiSym.trim;
-{ info := unicodeSymbolInfo sym asciiSym,
- fn := unicodeSymbolFn sym asciiSym }
+ let sym := sym.trim
+ let asciiSym := asciiSym.trim
+ { info := unicodeSymbolInfo sym asciiSym,
+ fn := unicodeSymbolFn sym asciiSym }
def mkAtomicInfo (k : String) : ParserInfo :=
-{ firstTokens := FirstTokens.tokens [ k ] }
+ { firstTokens := FirstTokens.tokens [ k ] }
def numLitFn : ParserFn :=
-fun c s =>
- let iniPos := s.pos;
- let s := tokenFn c s;
- if s.hasError || !(s.stxStack.back.isOfKind numLitKind) then s.mkErrorAt "numeral" iniPos else s
+ fun c s =>
+ let iniPos := s.pos
+ let s := tokenFn c s
+ if s.hasError || !(s.stxStack.back.isOfKind numLitKind) then s.mkErrorAt "numeral" iniPos else s
-@[inline] def numLitNoAntiquot : Parser :=
-{ fn := numLitFn,
- info := mkAtomicInfo "numLit" }
+@[inline] def numLitNoAntiquot : Parser := {
+ fn := numLitFn,
+ info := mkAtomicInfo "numLit"
+}
-def strLitFn : ParserFn :=
-fun c s =>
- let iniPos := s.pos;
- let s := tokenFn c s;
+def strLitFn : ParserFn := fun c s =>
+ let iniPos := s.pos
+ let s := tokenFn c s
if s.hasError || !(s.stxStack.back.isOfKind strLitKind) then s.mkErrorAt "string literal" iniPos else s
-@[inline] def strLitNoAntiquot : Parser :=
-{ fn := strLitFn,
- info := mkAtomicInfo "strLit" }
+@[inline] def strLitNoAntiquot : Parser := {
+ fn := strLitFn,
+ info := mkAtomicInfo "strLit"
+}
-def charLitFn : ParserFn :=
-fun c s =>
- let iniPos := s.pos;
- let s := tokenFn c s;
+def charLitFn : ParserFn := fun c s =>
+ let iniPos := s.pos
+ let s := tokenFn c s
if s.hasError || !(s.stxStack.back.isOfKind charLitKind) then s.mkErrorAt "character literal" iniPos else s
-@[inline] def charLitNoAntiquot : Parser :=
-{ fn := charLitFn,
- info := mkAtomicInfo "charLit" }
+@[inline] def charLitNoAntiquot : Parser := {
+ fn := charLitFn,
+ info := mkAtomicInfo "charLit"
+}
-def nameLitFn : ParserFn :=
-fun c s =>
- let iniPos := s.pos;
- let s := tokenFn c s;
+def nameLitFn : ParserFn := fun c s =>
+ let iniPos := s.pos
+ let s := tokenFn c s
if s.hasError || !(s.stxStack.back.isOfKind nameLitKind) then s.mkErrorAt "Name literal" iniPos else s
-@[inline] def nameLitNoAntiquot : Parser :=
-{ fn := nameLitFn,
- info := mkAtomicInfo "nameLit" }
+@[inline] def nameLitNoAntiquot : Parser := {
+ fn := nameLitFn,
+ info := mkAtomicInfo "nameLit"
+}
-def identFn : ParserFn :=
-fun c s =>
- let iniPos := s.pos;
- let s := tokenFn c s;
+def identFn : ParserFn := fun c s =>
+ let iniPos := s.pos
+ let s := tokenFn c s
if s.hasError || !(s.stxStack.back.isIdent) then s.mkErrorAt "identifier" iniPos else s
-@[inline] def identNoAntiquot : Parser :=
-{ fn := identFn,
- info := mkAtomicInfo "ident" }
+@[inline] def identNoAntiquot : Parser := {
+ fn := identFn,
+ info := mkAtomicInfo "ident"
+}
-@[inline] def rawIdentNoAntiquot : Parser :=
-{ fn := rawIdentFn }
+@[inline] def rawIdentNoAntiquot : Parser := {
+ fn := rawIdentFn
+}
-def identEqFn (id : Name) : ParserFn :=
-fun c s =>
- let iniPos := s.pos;
- let s := tokenFn c s;
+def identEqFn (id : Name) : ParserFn := fun c s =>
+ let iniPos := s.pos
+ let s := tokenFn c s
if s.hasError then
s.mkErrorAt "identifier" iniPos
else match s.stxStack.back with
| Syntax.ident _ _ val _ => if val != id then s.mkErrorAt ("expected identifier '" ++ toString id ++ "'") iniPos else s
| _ => s.mkErrorAt "identifier" iniPos
-@[inline] def identEq (id : Name) : Parser :=
-{ fn := identEqFn id,
- info := mkAtomicInfo "ident" }
+@[inline] def identEq (id : Name) : Parser := {
+ fn := identEqFn id,
+ info := mkAtomicInfo "ident"
+}
def quotedSymbolFn : ParserFn :=
-nodeFn quotedSymbolKind (andthenFn (andthenFn (chFn '`') (rawFn (takeUntilFn (fun c => c == '`')))) (chFn '`' true))
+ nodeFn quotedSymbolKind (andthenFn (andthenFn (chFn '`') (rawFn (takeUntilFn (fun c => c == '`')))) (chFn '`' true))
-- TODO: remove after old frontend is gone
def quotedSymbol : Parser :=
-{ fn := quotedSymbolFn }
+ { fn := quotedSymbolFn }
-def unquotedSymbolFn : ParserFn :=
-fun c s =>
- let iniPos := s.pos;
- let s := tokenFn c s;
+def unquotedSymbolFn : ParserFn := fun c s =>
+ let iniPos := s.pos
+ let s := tokenFn c s
if s.hasError || s.stxStack.back.isIdent || isLitKind s.stxStack.back.getKind then
s.mkErrorAt "symbol" iniPos
else
s
def unquotedSymbol : Parser :=
-{ fn := unquotedSymbolFn }
+ { fn := unquotedSymbolFn }
instance stringToParserCoeOld : HasCoe String Parser := ⟨fun s => symbol s ⟩
instance stringToParserCoe : Coe String Parser := ⟨fun s => symbol s ⟩
@@ -1224,35 +1220,35 @@ instance stringToParserCoe : Coe String Parser := ⟨fun s => symbol s ⟩
namespace ParserState
def keepNewError (s : ParserState) (oldStackSize : Nat) : ParserState :=
-match s with
-| ⟨stack, pos, cache, err⟩ => ⟨stack.shrink oldStackSize, pos, cache, err⟩
+ match s with
+ | ⟨stack, pos, cache, err⟩ => ⟨stack.shrink oldStackSize, pos, cache, err⟩
def keepPrevError (s : ParserState) (oldStackSize : Nat) (oldStopPos : String.Pos) (oldError : Option Error) : ParserState :=
-match s with
-| ⟨stack, _, cache, _⟩ => ⟨stack.shrink oldStackSize, oldStopPos, cache, oldError⟩
+ match s with
+ | ⟨stack, _, cache, _⟩ => ⟨stack.shrink oldStackSize, oldStopPos, cache, oldError⟩
def mergeErrors (s : ParserState) (oldStackSize : Nat) (oldError : Error) : ParserState :=
-match s with
-| ⟨stack, pos, cache, some err⟩ =>
- if oldError == err then s
- else ⟨stack.shrink oldStackSize, pos, cache, some (oldError.merge err)⟩
-| other => other
+ match s with
+ | ⟨stack, pos, cache, some err⟩ =>
+ if oldError == err then s
+ else ⟨stack.shrink oldStackSize, pos, cache, some (oldError.merge err)⟩
+ | other => other
def keepLatest (s : ParserState) (startStackSize : Nat) : ParserState :=
-match s with
-| ⟨stack, pos, cache, _⟩ =>
- let node := stack.back;
- let stack := stack.shrink startStackSize;
- let stack := stack.push node;
- ⟨stack, pos, cache, none⟩
+ match s with
+ | ⟨stack, pos, cache, _⟩ =>
+ let node := stack.back
+ let stack := stack.shrink startStackSize
+ let stack := stack.push node
+ ⟨stack, pos, cache, none⟩
def replaceLongest (s : ParserState) (startStackSize : Nat) : ParserState :=
-s.keepLatest startStackSize
+ s.keepLatest startStackSize
end ParserState
def invalidLongestMatchParser (s : ParserState) : ParserState :=
-s.mkError "longestMatch parsers must generate exactly one Syntax node"
+ s.mkError "longestMatch parsers must generate exactly one Syntax node"
/--
Auxiliary function used to execute parsers provided to `longestMatchFn`.
@@ -1261,12 +1257,11 @@ s.mkError "longestMatch parsers must generate exactly one Syntax node"
Remark: `p` must produce exactly one syntax node.
Remark: the `left?` is not none when we are processing trailing parsers. -/
-@[inline] def runLongestMatchParser (left? : Option Syntax) (p : ParserFn) : ParserFn :=
-fun c s =>
- let startSize := s.stackSize;
+def runLongestMatchParser (left? : Option Syntax) (p : ParserFn) : ParserFn := fun c s =>
+ let startSize := s.stackSize
match left? with
| none =>
- let s := p c s;
+ let s := p c s
if s.hasError then s
else
-- stack contains `[..., result ]`
@@ -1275,135 +1270,136 @@ fun c s =>
else
invalidLongestMatchParser s
| some left =>
- let s := s.pushSyntax left;
- let s := p c s;
+ let s := s.pushSyntax left
+ let s := p c s
if s.hasError then s
else
-- stack contains `[..., left, result ]` we must remove `left`
if s.stackSize == startSize + 2 then
-- `p` created one node, then we just remove `left` and keep it
- let r := s.stxStack.back;
- let s := s.shrinkStack startSize; -- remove `r` and `left`
+ let r := s.stxStack.back
+ let s := s.shrinkStack startSize -- remove `r` and `left`
s.pushSyntax r -- add `r` back
else
invalidLongestMatchParser s
def longestMatchStep (left? : Option Syntax) (startSize : Nat) (startPos : String.Pos) (prevPrio : Nat) (prio : Nat) (p : ParserFn)
- : ParserContext → ParserState → ParserState × Nat :=
-fun c s =>
-let prevErrorMsg := s.errorMsg;
-let prevStopPos := s.pos;
-let prevSize := s.stackSize;
-let s := s.restore prevSize startPos;
-let s := runLongestMatchParser left? p c s;
-match prevErrorMsg, s.errorMsg with
-| none, none => -- both succeeded
- if s.pos > prevStopPos || (s.pos == prevStopPos && prio > prevPrio) then (s.replaceLongest startSize, prio)
- else if s.pos < prevStopPos || (s.pos == prevStopPos && prio < prevPrio) then (s.restore prevSize prevStopPos, prevPrio) -- keep prev
- else (s, prio)
-| none, some _ => -- prev succeeded, current failed
- (s.restore prevSize prevStopPos, prevPrio)
-| some oldError, some _ => -- both failed
- if s.pos > prevStopPos || (s.pos == prevStopPos && prio > prevPrio) then (s.keepNewError prevSize, prio)
- else if s.pos < prevStopPos || (s.pos == prevStopPos && prio < prevPrio) then (s.keepPrevError prevSize prevStopPos prevErrorMsg, prevPrio)
- else (s.mergeErrors prevSize oldError, prio)
-| some _, none => -- prev failed, current succeeded
- let successNode := s.stxStack.back;
- let s := s.shrinkStack startSize; -- restore stack to initial size to make sure (failure) nodes are removed from the stack
- (s.pushSyntax successNode, prio) -- put successNode back on the stack
+ : ParserContext → ParserState → ParserState × Nat := fun c s =>
+ let prevErrorMsg := s.errorMsg
+ let prevStopPos := s.pos
+ let prevSize := s.stackSize
+ let s := s.restore prevSize startPos
+ let s := runLongestMatchParser left? p c s
+ match prevErrorMsg, s.errorMsg with
+ | none, none => -- both succeeded
+ if s.pos > prevStopPos || (s.pos == prevStopPos && prio > prevPrio) then (s.replaceLongest startSize, prio)
+ else if s.pos < prevStopPos || (s.pos == prevStopPos && prio < prevPrio) then (s.restore prevSize prevStopPos, prevPrio) -- keep prev
+ else (s, prio)
+ | none, some _ => -- prev succeeded, current failed
+ (s.restore prevSize prevStopPos, prevPrio)
+ | some oldError, some _ => -- both failed
+ if s.pos > prevStopPos || (s.pos == prevStopPos && prio > prevPrio) then (s.keepNewError prevSize, prio)
+ else if s.pos < prevStopPos || (s.pos == prevStopPos && prio < prevPrio) then (s.keepPrevError prevSize prevStopPos prevErrorMsg, prevPrio)
+ else (s.mergeErrors prevSize oldError, prio)
+ | some _, none => -- prev failed, current succeeded
+ let successNode := s.stxStack.back
+ let s := s.shrinkStack startSize -- restore stack to initial size to make sure (failure) nodes are removed from the stack
+ (s.pushSyntax successNode, prio) -- put successNode back on the stack
def longestMatchMkResult (startSize : Nat) (s : ParserState) : ParserState :=
-if !s.hasError && s.stackSize > startSize + 1 then s.mkNode choiceKind startSize else s
+ if !s.hasError && s.stackSize > startSize + 1 then s.mkNode choiceKind startSize else s
-def longestMatchFnAux (left? : Option Syntax) (startSize : Nat) (startPos : String.Pos) : Nat → List (Parser × Nat) → ParserFn
-| prevPrio, [] => fun _ s => longestMatchMkResult startSize s
-| prevPrio, p::ps => fun c s =>
- let (s, prevPrio) := longestMatchStep left? startSize startPos prevPrio p.2 p.1.fn c s;
- longestMatchFnAux prevPrio ps c s
+def longestMatchFnAux (left? : Option Syntax) (startSize : Nat) (startPos : String.Pos) (prevPrio : Nat) (ps : List (Parser × Nat)) : ParserFn :=
+ let rec parse (prevPrio : Nat) (ps : List (Parser × Nat)) :=
+ match ps with
+ | [] => fun _ s => longestMatchMkResult startSize s
+ | p::ps => fun c s =>
+ let (s, prevPrio) := longestMatchStep left? startSize startPos prevPrio p.2 p.1.fn c s
+ parse prevPrio ps c s
+ parse prevPrio ps
def longestMatchFn (left? : Option Syntax) : List (Parser × Nat) → ParserFn
-| [] => fun _ s => s.mkError "longestMatch: empty list"
-| [p] => runLongestMatchParser left? p.1.fn
-| p::ps => fun c s =>
- let startSize := s.stackSize;
- let startPos := s.pos;
- let s := runLongestMatchParser left? p.1.fn c s;
- if s.hasError then
- let s := s.shrinkStack startSize;
- longestMatchFnAux left? startSize startPos p.2 ps c s
- else
- longestMatchFnAux left? startSize startPos p.2 ps c s
+ | [] => fun _ s => s.mkError "longestMatch: empty list"
+ | [p] => runLongestMatchParser left? p.1.fn
+ | p::ps => fun c s =>
+ let startSize := s.stackSize
+ let startPos := s.pos
+ let s := runLongestMatchParser left? p.1.fn c s
+ if s.hasError then
+ let s := s.shrinkStack startSize
+ longestMatchFnAux left? startSize startPos p.2 ps c s
+ else
+ longestMatchFnAux left? startSize startPos p.2 ps c s
def anyOfFn : List Parser → ParserFn
-| [], _, s => s.mkError "anyOf: empty list"
-| [p], c, s => p.fn c s
-| p::ps, c, s => orelseFn p.fn (anyOfFn ps) c s
+ | [], _, s => s.mkError "anyOf: empty list"
+ | [p], c, s => p.fn c s
+ | p::ps, c, s => orelseFn p.fn (anyOfFn ps) c s
-
-@[inline] def checkColGeFn (errorMsg : String) : ParserFn :=
-fun c s =>
+@[inline] def checkColGeFn (errorMsg : String) : ParserFn := fun c s =>
match c.savedPos? with
| none => s
| some savedPos =>
- let pos := c.fileMap.toPosition s.pos;
+ let pos := c.fileMap.toPosition s.pos
if pos.column ≥ savedPos.column then s
else s.mkError errorMsg
@[inline] def checkColGe (errorMsg : String := "checkColGe") : Parser :=
-{ fn := checkColGeFn errorMsg }
+ { fn := checkColGeFn errorMsg }
-@[inline] def checkColGtFn (errorMsg : String) : ParserFn :=
-fun c s =>
+@[inline] def checkColGtFn (errorMsg : String) : ParserFn := fun c s =>
match c.savedPos? with
| none => s
| some savedPos =>
- let pos := c.fileMap.toPosition s.pos;
+ let pos := c.fileMap.toPosition s.pos
if pos.column > savedPos.column then s
else s.mkError errorMsg
@[inline] def checkColGt (errorMsg : String := "checkColGt") : Parser :=
-{ fn := checkColGtFn errorMsg }
+ { fn := checkColGtFn errorMsg }
-@[inline] def checkLineEqFn (errorMsg : String) : ParserFn :=
-fun c s =>
+@[inline] def checkLineEqFn (errorMsg : String) : ParserFn := fun c s =>
match c.savedPos? with
| none => s
| some savedPos =>
- let pos := c.fileMap.toPosition s.pos;
+ let pos := c.fileMap.toPosition s.pos
if pos.line == savedPos.line then s
else s.mkError errorMsg
@[inline] def checkLineEq (errorMsg : String := "checkLineEq") : Parser :=
-{ fn := checkLineEqFn errorMsg }
+ { fn := checkLineEqFn errorMsg }
-@[inline] def withPosition (p : Parser) : Parser :=
-{ info := p.info,
+@[inline] def withPosition (p : Parser) : Parser := {
+ info := p.info,
fn := fun c s =>
- let pos := c.fileMap.toPosition s.pos;
- p.fn { c with savedPos? := pos } s }
+ let pos := c.fileMap.toPosition s.pos
+ p.fn { c with savedPos? := pos } s
+}
-@[inline] def withoutPosition (p : Parser) : Parser :=
-{ info := p.info,
+@[inline] def withoutPosition (p : Parser) : Parser := {
+ info := p.info,
fn := fun c s =>
- let pos := c.fileMap.toPosition s.pos;
- p.fn { c with savedPos? := none } s }
+ let pos := c.fileMap.toPosition s.pos
+ p.fn { c with savedPos? := none } s
+}
-@[inline] def withForbidden (tk : Token) (p : Parser) : Parser :=
-{ info := p.info,
- fn := fun c s => p.fn { c with forbiddenTk? := tk } s }
+@[inline] def withForbidden (tk : Token) (p : Parser) : Parser := {
+ info := p.info,
+ fn := fun c s => p.fn { c with forbiddenTk? := tk } s
+}
-@[inline] def withoutForbidden (p : Parser) : Parser :=
-{ info := p.info,
- fn := fun c s => p.fn { c with forbiddenTk? := none } s }
+@[inline] def withoutForbidden (p : Parser) : Parser := {
+ info := p.info,
+ fn := fun c s => p.fn { c with forbiddenTk? := none } s
+}
-def eoiFn : ParserFn :=
-fun c s =>
- let i := s.pos;
+def eoiFn : ParserFn := fun c s =>
+ let i := s.pos
if c.input.atEnd i then s
else s.mkError "expected end of file"
@[inline] def eoi : Parser :=
-{ fn := eoiFn }
+ { fn := eoiFn }
open Std (RBMap RBMap.empty)
@@ -1413,9 +1409,9 @@ def TokenMap (α : Type) := RBMap Name (List α) Name.quickLt
namespace TokenMap
def insert {α : Type} (map : TokenMap α) (k : Name) (v : α) : TokenMap α :=
-match map.find? k with
-| none => map.insert k [v]
-| some vs => map.insert k (v::vs)
+ match map.find? k with
+ | none => Std.RBMap.insert map k [v]
+ | some vs => Std.RBMap.insert map k (v::vs)
instance {α : Type} : Inhabited (TokenMap α) := ⟨RBMap.empty⟩
@@ -1424,12 +1420,12 @@ instance {α : Type} : HasEmptyc (TokenMap α) := ⟨RBMap.empty⟩
end TokenMap
structure PrattParsingTables :=
-(leadingTable : TokenMap (Parser × Nat) := {})
-(leadingParsers : List (Parser × Nat) := []) -- for supporting parsers we cannot obtain first token
-(trailingTable : TokenMap (Parser × Nat) := {})
-(trailingParsers : List (Parser × Nat) := []) -- for supporting parsers such as function application
+ (leadingTable : TokenMap (Parser × Nat) := {})
+ (leadingParsers : List (Parser × Nat) := []) -- for supporting parsers we cannot obtain first token
+ (trailingTable : TokenMap (Parser × Nat) := {})
+ (trailingParsers : List (Parser × Nat) := []) -- for supporting parsers such as function application
-instance PrattParsingTables.inhabited : Inhabited PrattParsingTables := ⟨{}⟩
+instance : Inhabited PrattParsingTables := ⟨{}⟩
/--
Each parser category is implemented using a Pratt's parser.
@@ -1461,86 +1457,79 @@ instance PrattParsingTables.inhabited : Inhabited PrattParsingTables := ⟨{}⟩
The method `termParser prec` is equivalent to the method above.
-/
structure ParserCategory :=
-(tables : PrattParsingTables) (leadingIdentAsSymbol : Bool)
+ (tables : PrattParsingTables) (leadingIdentAsSymbol : Bool)
-instance ParserCategory.inhabited : Inhabited ParserCategory := ⟨{ tables := {}, leadingIdentAsSymbol := false }⟩
+instance : Inhabited ParserCategory := ⟨{ tables := {}, leadingIdentAsSymbol := false }⟩
abbrev ParserCategories := Std.PersistentHashMap Name ParserCategory
def indexed {α : Type} (map : TokenMap α) (c : ParserContext) (s : ParserState) (leadingIdentAsSymbol : Bool) : ParserState × List α :=
-let (s, stx) := peekToken c s;
-let find (n : Name) : ParserState × List α :=
- match map.find? n with
- | some as => (s, as)
- | _ => (s, []);
-match stx with
-| some (Syntax.atom _ sym) => find (mkNameSimple sym)
-| some (Syntax.ident _ _ val _) =>
- if leadingIdentAsSymbol then
- match map.find? val with
- | some as => match map.find? identKind with
- | some as' => (s, as ++ as')
- | _ => (s, as)
- | none => find identKind
- else
- find identKind
-| some (Syntax.node k _) => find k
-| _ => (s, [])
+ let (s, stx) := peekToken c s
+ let find (n : Name) : ParserState × List α :=
+ match map.find? n with
+ | some as => (s, as)
+ | _ => (s, [])
+ match stx with
+ | some (Syntax.atom _ sym) => find (mkNameSimple sym)
+ | some (Syntax.ident _ _ val _) =>
+ if leadingIdentAsSymbol then
+ match map.find? val with
+ | some as => match map.find? identKind with
+ | some as' => (s, as ++ as')
+ | _ => (s, as)
+ | none => find identKind
+ else
+ find identKind
+ | some (Syntax.node k _) => find k
+ | _ => (s, [])
abbrev CategoryParserFn := Name → ParserFn
-def mkCategoryParserFnRef : IO (IO.Ref CategoryParserFn) :=
-IO.mkRef $ fun _ => whitespace
+builtin_initialize categoryParserFnRef : IO.Ref CategoryParserFn ← IO.mkRef fun _ => whitespace
-@[builtinInit mkCategoryParserFnRef]
-constant categoryParserFnRef : IO.Ref CategoryParserFn := arbitrary _
+builtin_initialize categoryParserFnExtension : EnvExtension CategoryParserFn ← registerEnvExtension $ categoryParserFnRef.get
-def mkCategoryParserFnExtension : IO (EnvExtension CategoryParserFn) :=
-registerEnvExtension $ categoryParserFnRef.get
+def categoryParserFn (catName : Name) : ParserFn := fun ctx s =>
+ categoryParserFnExtension.getState ctx.env catName ctx s
-@[builtinInit mkCategoryParserFnExtension]
-def categoryParserFnExtension : EnvExtension CategoryParserFn := arbitrary _
-
-def categoryParserFn (catName : Name) : ParserFn :=
-fun ctx s => categoryParserFnExtension.getState ctx.env catName ctx s
-
-def categoryParser (catName : Name) (prec : Nat) : Parser :=
-{ fn := fun c s => categoryParserFn catName { c with prec := prec } s }
+def categoryParser (catName : Name) (prec : Nat) : Parser := {
+ fn := fun c s => categoryParserFn catName { c with prec := prec } s
+}
-- Define `termParser` here because we need it for antiquotations
@[inline] def termParser (prec : Nat := 0) : Parser :=
-categoryParser `term prec
+ categoryParser `term prec
/- ============== -/
/- Antiquotations -/
/- ============== -/
/-- Fail if previous token is immediately followed by ':'. -/
-def checkNoImmediateColon : Parser :=
-{ fn := fun c s =>
- let prev := s.stxStack.back;
- if checkTailNoWs prev then
- let input := c.input;
- let i := s.pos;
- if input.atEnd i then s
- else
- let curr := input.get i;
- if curr == ':' then
- s.mkUnexpectedError "unexpected ':'"
- else s
- else s
+def checkNoImmediateColon : Parser := {
+ fn := fun c s =>
+ let prev := s.stxStack.back
+ if checkTailNoWs prev then
+ let input := c.input
+ let i := s.pos
+ if input.atEnd i then s
+ else
+ let curr := input.get i
+ if curr == ':' then
+ s.mkUnexpectedError "unexpected ':'"
+ else s
+ else s
}
-def setExpectedFn (expected : List String) (p : ParserFn) : ParserFn :=
-fun c s => match p c s with
- | s'@{ errorMsg := some msg, .. } => { s' with errorMsg := some { msg with expected := [] } }
- | s' => s'
+def setExpectedFn (expected : List String) (p : ParserFn) : ParserFn := fun c s =>
+ match p c s with
+ | s'@{ errorMsg := some msg, .. } => { s' with errorMsg := some { msg with expected := [] } }
+ | s' => s'
def setExpected (expected : List String) (p : Parser) : Parser :=
-{ fn := setExpectedFn expected p.fn, info := p.info }
+ { fn := setExpectedFn expected p.fn, info := p.info }
def pushNone : Parser :=
-{ fn := fun c s => s.pushSyntax mkNullNode }
+ { fn := fun c s => s.pushSyntax mkNullNode }
-- We support two kinds of antiquotations: `$id` and `$(t)`, where `id` is a term identifier and `t` is a term.
def antiquotNestedExpr : Parser := node `antiquotNestedExpr (symbol "(" >> toggleInsideQuot termParser >> ")")
@@ -1553,62 +1542,62 @@ def antiquotExpr : Parser := identNoAntiquot <|> antiquotNestedExpr
when evaluating `match_syntax`. Antiquotations can be escaped as in `$$e`, which
produces the syntax tree for `$e`. -/
def mkAntiquot (name : String) (kind : Option SyntaxNodeKind) (anonymous := true) : Parser :=
-let kind := (kind.getD Name.anonymous) ++ `antiquot;
-let nameP := node `antiquotName $ checkNoWsBefore ("no space before ':" ++ name ++ "'") >> symbol ":" >> nonReservedSymbol name;
--- if parsing the kind fails and `anonymous` is true, check that we're not ignoring a different
--- antiquotation kind via `noImmediateColon`
-let nameP := if anonymous then nameP <|> checkNoImmediateColon >> pushNone else nameP;
--- antiquotations are not part of the "standard" syntax, so hide "expected '$'" on error
-node kind $ try $
- setExpected [] "$" >>
- many (checkNoWsBefore "" >> "$") >>
- checkNoWsBefore "no space before spliced term" >> antiquotExpr >>
- nameP >>
- optional (checkNoWsBefore "" >> symbol "*")
+ let kind := (kind.getD Name.anonymous) ++ `antiquot
+ let nameP := node `antiquotName $ checkNoWsBefore ("no space before ':" ++ name ++ "'") >> symbol ":" >> nonReservedSymbol name
+ -- if parsing the kind fails and `anonymous` is true, check that we're not ignoring a different
+ -- antiquotation kind via `noImmediateColon`
+ let nameP := if anonymous then nameP <|> checkNoImmediateColon >> pushNone else nameP
+ -- antiquotations are not part of the "standard" syntax, so hide "expected '$'" on error
+ node kind $ «try» $
+ setExpected [] "$" >>
+ many (checkNoWsBefore "" >> "$") >>
+ checkNoWsBefore "no space before spliced term" >> antiquotExpr >>
+ nameP >>
+ optional (checkNoWsBefore "" >> symbol "*")
def tryAnti (c : ParserContext) (s : ParserState) : Bool :=
-let (s, stx?) := peekToken c s;
-match stx? with
-| some stx@(Syntax.atom _ sym) => sym == "$"
-| _ => false
+ let (s, stx?) := peekToken c s
+ match stx? with
+ | some stx@(Syntax.atom _ sym) => sym == "$"
+ | _ => false
-@[inline] def withAntiquotFn (antiquotP p : ParserFn) : ParserFn :=
-fun c s => if tryAnti c s then orelseFn antiquotP p c s else p c s
+@[inline] def withAntiquotFn (antiquotP p : ParserFn) : ParserFn := fun c s =>
+ if tryAnti c s then orelseFn antiquotP p c s else p c s
/-- Optimized version of `mkAntiquot ... <|> p`. -/
-@[inline] def withAntiquot (antiquotP p : Parser) : Parser :=
-{ fn := withAntiquotFn antiquotP.fn p.fn,
- info := orelseInfo antiquotP.info p.info }
+@[inline] def withAntiquot (antiquotP p : Parser) : Parser := {
+ fn := withAntiquotFn antiquotP.fn p.fn,
+ info := orelseInfo antiquotP.info p.info
+}
/- ===================== -/
/- End of Antiquotations -/
/- ===================== -/
def nodeWithAntiquot (name : String) (kind : SyntaxNodeKind) (p : Parser) : Parser :=
-withAntiquot (mkAntiquot name kind false) $ node kind p
+ withAntiquot (mkAntiquot name kind false) $ node kind p
def ident : Parser :=
-withAntiquot (mkAntiquot "ident" identKind) identNoAntiquot
+ withAntiquot (mkAntiquot "ident" identKind) identNoAntiquot
-- `ident` and `rawIdent` produce the same syntax tree, so we reuse the antiquotation kind name
def rawIdent : Parser :=
-withAntiquot (mkAntiquot "ident" identKind) rawIdentNoAntiquot
+ withAntiquot (mkAntiquot "ident" identKind) rawIdentNoAntiquot
def numLit : Parser :=
-withAntiquot (mkAntiquot "numLit" numLitKind) numLitNoAntiquot
+ withAntiquot (mkAntiquot "numLit" numLitKind) numLitNoAntiquot
def strLit : Parser :=
-withAntiquot (mkAntiquot "strLit" strLitKind) strLitNoAntiquot
+ withAntiquot (mkAntiquot "strLit" strLitKind) strLitNoAntiquot
def charLit : Parser :=
-withAntiquot (mkAntiquot "charLit" charLitKind) charLitNoAntiquot
+ withAntiquot (mkAntiquot "charLit" charLitKind) charLitNoAntiquot
def nameLit : Parser :=
-withAntiquot (mkAntiquot "nameLit" nameLitKind) nameLitNoAntiquot
+ withAntiquot (mkAntiquot "nameLit" nameLitKind) nameLitNoAntiquot
-def categoryParserOfStackFn (offset : Nat) : ParserFn :=
-fun ctx s =>
- let stack := s.stxStack;
+def categoryParserOfStackFn (offset : Nat) : ParserFn := fun ctx s =>
+ let stack := s.stxStack
if stack.size < offset + 1 then
s.mkUnexpectedError ("failed to determine parser category using syntax stack, stack is too small")
else
@@ -1617,53 +1606,51 @@ fun ctx s =>
| _ => s.mkUnexpectedError ("failed to determine parser category using syntax stack, the specified element on the stack is not an identifier")
def categoryParserOfStack (offset : Nat) (prec : Nat := 0) : Parser :=
-{ fn := fun c s => categoryParserOfStackFn offset { c with prec := prec } s }
+ { fn := fun c s => categoryParserOfStackFn offset { c with prec := prec } s }
private def mkResult (s : ParserState) (iniSz : Nat) : ParserState :=
-if s.stackSize == iniSz + 1 then s
-else s.mkNode nullKind iniSz -- throw error instead?
+ if s.stackSize == iniSz + 1 then s
+ else s.mkNode nullKind iniSz -- throw error instead?
-def leadingParserAux (kind : Name) (tables : PrattParsingTables) (leadingIdentAsSymbol : Bool) : ParserFn :=
-fun c s =>
- let iniSz := s.stackSize;
- let (s, ps) := indexed tables.leadingTable c s leadingIdentAsSymbol;
- let ps := tables.leadingParsers ++ ps;
+def leadingParserAux (kind : Name) (tables : PrattParsingTables) (leadingIdentAsSymbol : Bool) : ParserFn := fun c s =>
+ let iniSz := s.stackSize
+ let (s, ps) := indexed tables.leadingTable c s leadingIdentAsSymbol
+ let ps := tables.leadingParsers ++ ps
if ps.isEmpty then
s.mkError (toString kind)
else
- let s := longestMatchFn none ps c s;
+ let s := longestMatchFn none ps c s
mkResult s iniSz
@[inline] def leadingParser (kind : Name) (tables : PrattParsingTables) (leadingIdentAsSymbol : Bool) (antiquotParser : ParserFn) : ParserFn :=
-withAntiquotFn antiquotParser (leadingParserAux kind tables leadingIdentAsSymbol)
+ withAntiquotFn antiquotParser (leadingParserAux kind tables leadingIdentAsSymbol)
-def trailingLoopStep (tables : PrattParsingTables) (left : Syntax) (ps : List (Parser × Nat)) : ParserFn :=
-fun c s => longestMatchFn left (ps ++ tables.trailingParsers) c s
+def trailingLoopStep (tables : PrattParsingTables) (left : Syntax) (ps : List (Parser × Nat)) : ParserFn := fun c s =>
+ longestMatchFn left (ps ++ tables.trailingParsers) c s
private def mkTrailingResult (s : ParserState) (iniSz : Nat) : ParserState :=
-let s := mkResult s iniSz;
--- Stack contains `[..., left, result]`
--- We must remove `left`
-let result := s.stxStack.back;
-let s := s.popSyntax.popSyntax;
-s.pushSyntax result
+ let s := mkResult s iniSz
+ -- Stack contains `[..., left, result]`
+ -- We must remove `left`
+ let result := s.stxStack.back
+ let s := s.popSyntax.popSyntax
+ s.pushSyntax result
-partial def trailingLoop (tables : PrattParsingTables) (c : ParserContext) : ParserState → ParserState
-| s =>
- let identAsSymbol := false;
- let (s, ps) := indexed tables.trailingTable c s identAsSymbol;
+partial def trailingLoop (tables : PrattParsingTables) (c : ParserContext) (s : ParserState) : ParserState :=
+ let identAsSymbol := false
+ let (s, ps) := indexed tables.trailingTable c s identAsSymbol
if ps.isEmpty && tables.trailingParsers.isEmpty then
s -- no available trailing parser
else
- let left := s.stxStack.back;
- let iniSz := s.stackSize;
- let iniPos := s.pos;
- let s := trailingLoopStep tables left ps c s;
+ let left := s.stxStack.back
+ let iniSz := s.stackSize
+ let iniPos := s.pos
+ let s := trailingLoopStep tables left ps c s
if s.hasError then
if s.pos == iniPos then s.restore iniSz iniPos else s
else
- let s := mkTrailingResult s iniSz;
- trailingLoop s
+ let s := mkTrailingResult s iniSz
+ trailingLoop tables c s
/--
@@ -1686,35 +1673,34 @@ partial def trailingLoop (tables : PrattParsingTables) (c : ParserContext) : Par
`antiquotParser` should be a `mkAntiquot` parser (or always fail) and is tried before all other parsers.
It should not be added to the regular leading parsers because it would heavily
overlap with antiquotation parsers nested inside them. -/
-@[inline] def prattParser (kind : Name) (tables : PrattParsingTables) (leadingIdentAsSymbol : Bool) (antiquotParser : ParserFn) : ParserFn :=
-fun c s =>
- let iniSz := s.stackSize;
- let iniPos := s.pos;
- let s := leadingParser kind tables leadingIdentAsSymbol antiquotParser c s;
+@[inline] def prattParser (kind : Name) (tables : PrattParsingTables) (leadingIdentAsSymbol : Bool) (antiquotParser : ParserFn) : ParserFn := fun c s =>
+ let iniSz := s.stackSize
+ let iniPos := s.pos
+ let s := leadingParser kind tables leadingIdentAsSymbol antiquotParser c s
if s.hasError then
s
else
trailingLoop tables c s
-
-def fieldIdxFn : ParserFn :=
-fun c s =>
- let iniPos := s.pos;
- let curr := c.input.get iniPos;
+def fieldIdxFn : ParserFn := fun c s =>
+ let iniPos := s.pos
+ let curr := c.input.get iniPos
if curr.isDigit && curr != '0' then
- let s := takeWhileFn (fun c => c.isDigit) c s;
+ let s := takeWhileFn (fun c => c.isDigit) c s
mkNodeToken fieldIdxKind iniPos c s
else
s.mkErrorAt "field index" iniPos
@[inline] def fieldIdx : Parser :=
-withAntiquot (mkAntiquot "fieldIdx" `fieldIdx)
- { fn := fieldIdxFn,
- info := mkAtomicInfo "fieldIdx" }
+ withAntiquot (mkAntiquot "fieldIdx" `fieldIdx) {
+ fn := fieldIdxFn,
+ info := mkAtomicInfo "fieldIdx"
+ }
-@[inline] def skip : Parser :=
-{ fn := fun c s => s,
- info := epsilonInfo }
+@[inline] def skip : Parser := {
+ fn := fun c s => s,
+ info := epsilonInfo
+}
end Parser
@@ -1724,29 +1710,29 @@ section
variables {β : Type} {m : Type → Type} [Monad m]
@[inline] def foldArgsM (s : Syntax) (f : Syntax → β → m β) (b : β) : m β :=
-s.getArgs.foldlM (flip f) b
+ s.getArgs.foldlM (flip f) b
@[inline] def foldArgs (s : Syntax) (f : Syntax → β → β) (b : β) : β :=
-Id.run (s.foldArgsM f b)
+ Id.run (s.foldArgsM f b)
@[inline] def forArgsM (s : Syntax) (f : Syntax → m Unit) : m Unit :=
-s.foldArgsM (fun s _ => f s) ()
+ s.foldArgsM (fun s _ => f s) ()
@[inline] def foldSepArgsM (s : Syntax) (f : Syntax → β → m β) (b : β) : m β :=
-s.getArgs.foldlStepM (flip f) b 2
+ s.getArgs.foldlStepM (flip f) b 2
@[inline] def foldSepArgs (s : Syntax) (f : Syntax → β → β) (b : β) : β :=
-Id.run (s.foldSepArgsM f b)
+ Id.run (s.foldSepArgsM f b)
@[inline] def forSepArgsM (s : Syntax) (f : Syntax → m Unit) : m Unit :=
-s.foldSepArgsM (fun s _ => f s) ()
+ s.foldSepArgsM (fun s _ => f s) ()
@[inline] def foldSepRevArgsM (s : Syntax) (f : Syntax → β → m β) (b : β) : m β := do
-let args := foldSepArgs s (fun arg (args : Array Syntax) => args.push arg) #[];
-args.foldrM f b
+ let args := foldSepArgs s (fun arg (args : Array Syntax) => args.push arg) #[]
+ args.foldrM f b
@[inline] def foldSepRevArgs (s : Syntax) (f : Syntax → β → β) (b : β) : β := do
-Id.run $ foldSepRevArgsM s f b
+ Id.run $ foldSepRevArgsM s f b
end
@@ -1759,8 +1745,8 @@ open Lean
open Lean.Syntax
@[inline] def Array.foldSepByM (args : Array Syntax) (f : Syntax → β → m β) (b : β) : m β :=
-args.foldlStepM (flip f) b 2
+ args.foldlStepM (flip f) b 2
@[inline] def Array.foldSepBy (args : Array Syntax) (f : Syntax → β → β) (b : β) : β :=
-Id.run $ args.foldSepByM f b
+ Id.run $ args.foldSepByM f b
end
diff --git a/stage0/src/Lean/Parser/Do.lean b/stage0/src/Lean/Parser/Do.lean
index c10003ca89..193f6da139 100644
--- a/stage0/src/Lean/Parser/Do.lean
+++ b/stage0/src/Lean/Parser/Do.lean
@@ -1,3 +1,4 @@
+#lang lean4
/-
Copyright (c) 2020 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
@@ -8,14 +9,11 @@ import Lean.Parser.Term
namespace Lean
namespace Parser
-@[builtinInit] def regBuiltinDoElemParserAttr : IO Unit :=
-registerBuiltinParserAttribute `builtinDoElemParser `doElem
-
-@[builtinInit] def regDoElemParserAttribute : IO Unit :=
-registerBuiltinDynamicParserAttribute `doElemParser `doElem
+builtin_initialize registerBuiltinParserAttribute `builtinDoElemParser `doElem
+builtin_initialize registerBuiltinDynamicParserAttribute `doElemParser `doElem
@[inline] def doElemParser (rbp : Nat := 0) : Parser :=
-categoryParser `doElem rbp
+ categoryParser `doElem rbp
namespace Term
def leftArrow : Parser := unicodeSymbol " ← " " <- "
diff --git a/stage0/src/Lean/Parser/Module.lean b/stage0/src/Lean/Parser/Module.lean
index 4a176af345..8522054a4c 100644
--- a/stage0/src/Lean/Parser/Module.lean
+++ b/stage0/src/Lean/Parser/Module.lean
@@ -1,3 +1,4 @@
+#lang lean4
/-
Copyright (c) 2019 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
@@ -21,131 +22,134 @@ def header := parser! optional («prelude» >> ppLine) >> many («import» >
def module := parser! header >> many (commandParser >> ppLine >> ppLine)
def updateTokens (c : ParserContext) : ParserContext :=
-{ c with
- tokens := match addParserTokens c.tokens header.info with
- | Except.ok tables => tables
- | Except.error _ => unreachable! }
+ { c with
+ tokens := match addParserTokens c.tokens header.info with
+ | Except.ok tables => tables
+ | Except.error _ => unreachable! }
end Module
structure ModuleParserState :=
-(pos : String.Pos := 0)
-(recovering : Bool := false)
+ (pos : String.Pos := 0)
+ (recovering : Bool := false)
-instance ModuleParserState.inhabited : Inhabited ModuleParserState :=
-⟨{}⟩
+instance : Inhabited ModuleParserState := ⟨{}⟩
private def mkErrorMessage (c : ParserContext) (pos : String.Pos) (errorMsg : String) : Message :=
-let pos := c.fileMap.toPosition pos;
-{ fileName := c.fileName, pos := pos, data := errorMsg }
+ let pos := c.fileMap.toPosition pos
+ { fileName := c.fileName, pos := pos, data := errorMsg }
def parseHeader (inputCtx : InputContext) : IO (Syntax × ModuleParserState × MessageLog) := do
-dummyEnv ← mkEmptyEnvironment;
-let ctx := mkParserContext dummyEnv inputCtx;
-let ctx := Module.updateTokens ctx;
-let s := mkParserState ctx.input;
-let s := whitespace ctx s;
-let s := Module.header.fn ctx s;
-let stx := s.stxStack.back;
-match s.errorMsg with
-| some errorMsg =>
- let msg := mkErrorMessage ctx s.pos (toString errorMsg);
- pure (stx, { pos := s.pos, recovering := true }, { : MessageLog }.add msg)
-| none =>
- pure (stx, { pos := s.pos }, {})
+ let dummyEnv ← mkEmptyEnvironment
+ let ctx := mkParserContext dummyEnv inputCtx
+ let ctx := Module.updateTokens ctx
+ let s := mkParserState ctx.input
+ let s := whitespace ctx s
+ let s := Module.header.fn ctx s
+ let stx := s.stxStack.back
+ match s.errorMsg with
+ | some errorMsg =>
+ let msg := mkErrorMessage ctx s.pos (toString errorMsg)
+ pure (stx, { pos := s.pos, recovering := true }, { : MessageLog }.add msg)
+ | none =>
+ pure (stx, { pos := s.pos }, {})
private def mkEOI (pos : String.Pos) : Syntax :=
-let atom := mkAtom { pos := pos, trailing := "".toSubstring, leading := "".toSubstring } "";
-Syntax.node `Lean.Parser.Module.eoi #[atom]
+ let atom := mkAtom { pos := pos, trailing := "".toSubstring, leading := "".toSubstring } ""
+ Syntax.node `Lean.Parser.Module.eoi #[atom]
def isEOI (s : Syntax) : Bool :=
-s.isOfKind `Lean.Parser.Module.eoi
+ s.isOfKind `Lean.Parser.Module.eoi
def isExitCommand (s : Syntax) : Bool :=
-s.isOfKind `Lean.Parser.Command.exit
+ s.isOfKind `Lean.Parser.Command.exit
private def consumeInput (c : ParserContext) (pos : String.Pos) : String.Pos :=
-let s : ParserState := { cache := initCacheForInput c.input, pos := pos };
-let s := tokenFn c s;
-match s.errorMsg with
-| some _ => pos + 1
-| none => s.pos
+ let s : ParserState := { cache := initCacheForInput c.input, pos := pos }
+ let s := tokenFn c s
+ match s.errorMsg with
+ | some _ => pos + 1
+ | none => s.pos
def topLevelCommandParserFn : ParserFn :=
-orelseFnCore
- commandParser.fn
- (andthenFn (lookaheadFn termParser.fn) (errorFn "expected command, but found term; this error may be due to parsing precedence levels, consider parenthesizing the term"))
- false /- do not merge errors -/
+ orelseFnCore
+ commandParser.fn
+ (andthenFn (lookaheadFn termParser.fn) (errorFn "expected command, but found term; this error may be due to parsing precedence levels, consider parenthesizing the term"))
+ false /- do not merge errors -/
-partial def parseCommand (env : Environment) (inputCtx : InputContext) : ModuleParserState → MessageLog → Syntax × ModuleParserState × MessageLog
-| s@{ pos := pos, recovering := recovering }, messages =>
- if inputCtx.input.atEnd pos then
- (mkEOI pos, s, messages)
- else
- let c := mkParserContext env inputCtx;
- let s := { cache := initCacheForInput c.input, pos := pos : ParserState };
- let s := whitespace c s;
- let s := topLevelCommandParserFn c s;
- let stx := s.stxStack.back;
- match s.errorMsg with
- | none => (stx, { pos := s.pos }, messages)
- | some errorMsg =>
- -- advance at least one token to prevent infinite loops
- let pos := if s.pos == pos then consumeInput c s.pos else s.pos;
- if recovering then
- parseCommand { pos := pos, recovering := true } messages
+partial def parseCommand (env : Environment) (inputCtx : InputContext) (s : ModuleParserState) (messages : MessageLog) : Syntax × ModuleParserState × MessageLog :=
+ let rec parse (s : ModuleParserState) (messages : MessageLog) :=
+ let { pos := pos, recovering := recovering } := s
+ if inputCtx.input.atEnd pos then
+ (mkEOI pos, s, messages)
+ else
+ let c := mkParserContext env inputCtx
+ let s := { cache := initCacheForInput c.input, pos := pos : ParserState }
+ let s := whitespace c s
+ let s := topLevelCommandParserFn c s
+ let stx := s.stxStack.back
+ match s.errorMsg with
+ | none => (stx, { pos := s.pos }, messages)
+ | some errorMsg =>
+ -- advance at least one token to prevent infinite loops
+ let pos := if s.pos == pos then consumeInput c s.pos else s.pos
+ if recovering then
+ parse { pos := pos, recovering := true } messages
+ else
+ let msg := mkErrorMessage c s.pos (toString errorMsg)
+ let messages := messages.add msg
+ -- We should replace the following line with commented one if we want to elaborate commands containing Syntax errors.
+ -- This is useful for implementing features such as autocompletion.
+ -- Right now, it is disabled since `match_syntax` fails on "partial" `Syntax` objects.
+ parse { pos := pos, recovering := true } messages
+ -- (stx, { pos := pos, recovering := true }, messages)
+ parse s messages
+
+private partial def testModuleParserAux (env : Environment) (inputCtx : InputContext) (displayStx : Bool) (s : ModuleParserState) (messages : MessageLog) : IO Bool :=
+ let rec loop (s : ModuleParserState) (messages : MessageLog) := do
+ match parseCommand env inputCtx s messages with
+ | (stx, s, messages) =>
+ if isEOI stx || isExitCommand stx then
+ messages.forM fun msg => msg.toString >>= IO.println
+ pure (!messages.hasErrors)
else
- let msg := mkErrorMessage c s.pos (toString errorMsg);
- let messages := messages.add msg;
- -- We should replace the following line with commented one if we want to elaborate commands containing Syntax errors.
- -- This is useful for implementing features such as autocompletion.
- -- Right now, it is disabled since `match_syntax` fails on "partial" `Syntax` objects.
- parseCommand { pos := pos, recovering := true } messages
- -- (stx, { pos := pos, recovering := true }, messages)
-
-private partial def testModuleParserAux (env : Environment) (inputCtx : InputContext) (displayStx : Bool) : ModuleParserState → MessageLog → IO Bool
-| s, messages =>
- match parseCommand env inputCtx s messages with
- | (stx, s, messages) =>
- if isEOI stx || isExitCommand stx then do
- messages.forM $ fun msg => msg.toString >>= IO.println;
- pure (!messages.hasErrors)
- else do
- when displayStx (IO.println stx);
- testModuleParserAux s messages
+ if displayStx then IO.println stx
+ loop s messages
+ loop s messages
@[export lean_test_module_parser]
def testModuleParser (env : Environment) (input : String) (fileName := "") (displayStx := false) : IO Bool :=
-timeit (fileName ++ " parser") $ do
- let inputCtx := mkInputContext input fileName;
- (stx, s, messages) ← parseHeader inputCtx;
- when displayStx (IO.println stx);
- testModuleParserAux env inputCtx displayStx s messages
+ timeit (fileName ++ " parser") do
+ let inputCtx := mkInputContext input fileName
+ let (stx, s, messages) ← parseHeader inputCtx
+ if displayStx then IO.println stx
+ testModuleParserAux env inputCtx displayStx s messages
-partial def parseModuleAux (env : Environment) (inputCtx : InputContext) : ModuleParserState → MessageLog → Array Syntax → IO (Array Syntax)
-| state, msgs, stxs =>
- match parseCommand env inputCtx state msgs with
- | (stx, state, msgs) =>
- if isEOI stx then
- if msgs.isEmpty then
- pure stxs
- else do
- msgs.forM $ fun msg => msg.toString >>= IO.println;
- throw (IO.userError "failed to parse file")
- else
- parseModuleAux state msgs (stxs.push stx)
+partial def parseModuleAux (env : Environment) (inputCtx : InputContext) (s : ModuleParserState) (msgs : MessageLog) (stxs : Array Syntax) : IO (Array Syntax) :=
+ let rec parse (state : ModuleParserState) (msgs : MessageLog) (stxs : Array Syntax) :=
+ match parseCommand env inputCtx state msgs with
+ | (stx, state, msgs) =>
+ if isEOI stx then
+ if msgs.isEmpty then
+ pure stxs
+ else do
+ msgs.forM fun msg => msg.toString >>= IO.println
+ throw (IO.userError "failed to parse file")
+ else
+ parse state msgs (stxs.push stx)
+ parse s msgs stxs
def parseModule (env : Environment) (fname contents : String) : IO Syntax := do
-fname ← IO.realPath fname;
-let inputCtx := mkInputContext contents fname;
-(header, state, messages) ← parseHeader inputCtx;
-cmds ← parseModuleAux env inputCtx state messages #[];
-let stx := Syntax.node `Lean.Parser.Module.module #[header, mkListNode cmds];
-pure stx.updateLeading
+ let fname ← IO.realPath fname
+ let inputCtx := mkInputContext contents fname
+ let (header, state, messages) ← parseHeader inputCtx
+ let cmds ← parseModuleAux env inputCtx state messages #[]
+ let stx := Syntax.node `Lean.Parser.Module.module #[header, mkListNode cmds]
+ pure stx.updateLeading
def parseFile (env : Environment) (fname : String) : IO Syntax := do
-contents ← IO.FS.readFile fname;
-parseModule env fname contents
+ let contents ← IO.FS.readFile fname
+ parseModule env fname contents
end Parser
end Lean
diff --git a/stage0/src/Lean/Parser/Syntax.lean b/stage0/src/Lean/Parser/Syntax.lean
index 764af06592..ad93eea283 100644
--- a/stage0/src/Lean/Parser/Syntax.lean
+++ b/stage0/src/Lean/Parser/Syntax.lean
@@ -1,3 +1,4 @@
+#lang lean4
/-
Copyright (c) 2019 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
@@ -9,21 +10,21 @@ import Lean.Parser.Tactic
namespace Lean
namespace Parser
-@[builtinInit] def regBuiltinSyntaxParserAttr : IO Unit :=
-let leadingIdentAsSymbol := true;
-registerBuiltinParserAttribute `builtinSyntaxParser `stx leadingIdentAsSymbol
+builtin_initialize
+ let leadingIdentAsSymbol := true
+ registerBuiltinParserAttribute `builtinSyntaxParser `stx leadingIdentAsSymbol
-@[builtinInit] def regSyntaxParserAttribute : IO Unit :=
-registerBuiltinDynamicParserAttribute `stxParser `stx
+builtin_initialize
+ registerBuiltinDynamicParserAttribute `stxParser `stx
@[inline] def syntaxParser (rbp : Nat := 0) : Parser :=
-categoryParser `stx rbp
+ categoryParser `stx rbp
-- TODO: `max` is a bad precedence name. Find a new one.
def maxSymbol := parser! nonReservedSymbol "max" true
def precedenceLit : Parser := numLit <|> maxSymbol
def «precedence» := parser! ":" >> precedenceLit
-def optPrecedence := optional (try «precedence»)
+def optPrecedence := optional («try» «precedence»)
namespace Syntax
@[builtinSyntaxParser] def paren := parser! "(" >> many1 syntaxParser >> ")"
@@ -35,7 +36,7 @@ namespace Syntax
@[builtinSyntaxParser] def ident := parser! nonReservedSymbol "ident"
@[builtinSyntaxParser] def noWs := parser! nonReservedSymbol "noWs"
@[builtinSyntaxParser] def interpolatedStr := parser! nonReservedSymbol "interpolatedStr " >> syntaxParser maxPrec
-@[builtinSyntaxParser] def try := parser! nonReservedSymbol "try " >> syntaxParser maxPrec
+@[builtinSyntaxParser] def «try» := parser! nonReservedSymbol "try " >> syntaxParser maxPrec
@[builtinSyntaxParser] def lookahead := parser! nonReservedSymbol "lookahead " >> syntaxParser maxPrec
@[builtinSyntaxParser] def sepBy := parser! nonReservedSymbol "sepBy " >> syntaxParser maxPrec >> syntaxParser maxPrec
@[builtinSyntaxParser] def sepBy1 := parser! nonReservedSymbol "sepBy1 " >> syntaxParser maxPrec >> syntaxParser maxPrec
@@ -78,24 +79,24 @@ def notationItem := ppSpace >> withAntiquot (mkAntiquot "notationItem" `Lean.Par
@[builtinCommandParser] def «macro_rules» := parser! "macro_rules" >> optKind >> Term.matchAlts
def parserKind := parser! ident
def parserPrio := parser! numLit
-def parserKindPrio := parser! try (ident >> ", ") >> numLit
+def parserKindPrio := parser! «try» (ident >> ", ") >> numLit
def optKindPrio : Parser := optional ("[" >> (parserKindPrio <|> parserKind <|> parserPrio) >> "]")
@[builtinCommandParser] def «syntax» := parser! "syntax " >> optPrecedence >> optKindPrio >> many1 syntaxParser >> " : " >> ident
@[builtinCommandParser] def syntaxAbbrev := parser! "syntax " >> ident >> " := " >> many1 syntaxParser
@[builtinCommandParser] def syntaxCat := parser! "declare_syntax_cat " >> ident
def macroArgSimple := parser! ident >> checkNoWsBefore "no space before ':'" >> ":" >> syntaxParser maxPrec
-def macroArg := try strLit <|> try macroArgSimple
-def macroHead := macroArg <|> try ident
-def macroTailTactic : Parser := try (" : " >> identEq "tactic") >> darrow >> ("`(" >> toggleInsideQuot Tactic.seq1 >> ")" <|> termParser)
-def macroTailCommand : Parser := try (" : " >> identEq "command") >> darrow >> ("`(" >> toggleInsideQuot (many1Unbox commandParser) >> ")" <|> termParser)
-def macroTailDefault : Parser := try (" : " >> ident) >> darrow >> (("`(" >> toggleInsideQuot (categoryParserOfStack 2) >> ")") <|> termParser)
+def macroArg := «try» strLit <|> «try» macroArgSimple
+def macroHead := macroArg <|> «try» ident
+def macroTailTactic : Parser := «try» (" : " >> identEq "tactic") >> darrow >> ("`(" >> toggleInsideQuot Tactic.seq1 >> ")" <|> termParser)
+def macroTailCommand : Parser := «try» (" : " >> identEq "command") >> darrow >> ("`(" >> toggleInsideQuot (many1Unbox commandParser) >> ")" <|> termParser)
+def macroTailDefault : Parser := «try» (" : " >> ident) >> darrow >> (("`(" >> toggleInsideQuot (categoryParserOfStack 2) >> ")") <|> termParser)
def macroTail := macroTailTactic <|> macroTailCommand <|> macroTailDefault
@[builtinCommandParser] def «macro» := parser! "macro " >> optPrecedence >> macroHead >> many macroArg >> macroTail
@[builtinCommandParser] def «elab_rules» := parser! "elab_rules" >> optKind >> optional (" : " >> ident) >> Term.matchAlts
def elabHead := macroHead
def elabArg := macroArg
-def elabTail := try (" : " >> ident >> optional (" <= " >> ident)) >> darrow >> termParser
+def elabTail := «try» (" : " >> ident >> optional (" <= " >> ident)) >> darrow >> termParser
@[builtinCommandParser] def «elab» := parser! "elab " >> optPrecedence >> elabHead >> many elabArg >> elabTail
end Command
diff --git a/stage0/src/Lean/PrettyPrinter/Formatter.lean b/stage0/src/Lean/PrettyPrinter/Formatter.lean
index 9cd4ef516e..bbf6066dc1 100644
--- a/stage0/src/Lean/PrettyPrinter/Formatter.lean
+++ b/stage0/src/Lean/PrettyPrinter/Formatter.lean
@@ -21,6 +21,7 @@ import Lean.PrettyPrinter.Backtrack
namespace Lean
namespace Syntax namespace MonadTraverser end MonadTraverser end Syntax -- Hack for old frontend
+namespace Parser end Parser -- Hack for old frontend
namespace PrettyPrinter
namespace Formatter
diff --git a/stage0/src/Lean/PrettyPrinter/Parenthesizer.lean b/stage0/src/Lean/PrettyPrinter/Parenthesizer.lean
index f04ae0bfd6..d351410f34 100644
--- a/stage0/src/Lean/PrettyPrinter/Parenthesizer.lean
+++ b/stage0/src/Lean/PrettyPrinter/Parenthesizer.lean
@@ -79,6 +79,8 @@ import Lean.PrettyPrinter.Backtrack
namespace Lean
namespace Syntax namespace MonadTraverser end MonadTraverser end Syntax -- Hack for old frontend
+namespace Parser end Parser -- Hack for old frontend
+
namespace PrettyPrinter
namespace Parenthesizer
diff --git a/stage0/src/Lean/Util/FoldConsts.lean b/stage0/src/Lean/Util/FoldConsts.lean
index 67ee2ac777..073240a670 100644
--- a/stage0/src/Lean/Util/FoldConsts.lean
+++ b/stage0/src/Lean/Util/FoldConsts.lean
@@ -1,3 +1,4 @@
+#lang lean4
/-
Copyright (c) 2020 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
@@ -18,39 +19,46 @@ structure State :=
abbrev FoldM := StateM State
-@[inline] unsafe def visited (e : Expr) (size : USize) : FoldM Bool := do
-s ← get;
-let h := ptrAddrUnsafe e;
-let i := h % size;
-let k := s.visitedTerms.uget i lcProof;
-if ptrAddrUnsafe k == h then pure true
-else do
- modify $ fun s => { s with visitedTerms := s.visitedTerms.uset i e lcProof };
- pure false
+@[inline]
+unsafe def visited (e : Expr) (size : USize) : FoldM Bool := do
+ let s ← get
+ let h := ptrAddrUnsafe e
+ let i := h % size
+ let k := s.visitedTerms.uget i lcProof
+ if ptrAddrUnsafe k == h then pure true
+ else do
+ modify $ fun s => { s with visitedTerms := s.visitedTerms.uset i e lcProof }
+ pure false
-@[specialize] unsafe partial def fold {α : Type} (f : Name → α → α) (size : USize) : Expr → α → FoldM α
-| e, acc => condM (liftM $ visited e size) (pure acc) $
- match e with
- | Expr.forallE _ d b _ => do acc ← fold d acc; fold b acc
- | Expr.lam _ d b _ => do acc ← fold d acc; fold b acc
- | Expr.mdata _ b _ => fold b acc
- | Expr.letE _ t v b _ => do acc ← fold t acc; acc ← fold v acc; fold b acc
- | Expr.app f a _ => do acc ← fold f acc; fold a acc
- | Expr.proj _ _ b _ => fold b acc
- | Expr.const c _ _ => do
- s ← get;
- if s.visitedConsts.contains c then pure acc
- else do
- modify $ fun s => { s with visitedConsts := s.visitedConsts.insert c };
- pure $ f c acc
- | _ => pure acc
+@[specialize]
+unsafe def fold {α : Type} (f : Name → α → α) (size : USize) (e : Expr) (acc : α) : FoldM α :=
+ let rec visit (e : Expr) (acc : α) : FoldM α := do
+ if (← visited e size) then
+ pure acc
+ else
+ match e with
+ | Expr.forallE _ d b _ => visit b (← visit d acc)
+ | Expr.lam _ d b _ => visit b (← visit d acc)
+ | Expr.mdata _ b _ => visit b acc
+ | Expr.letE _ t v b _ => visit b (← visit v (← visit t acc))
+ | Expr.app f a _ => visit a (← visit f acc)
+ | Expr.proj _ _ b _ => visit b acc
+ | Expr.const c _ _ =>
+ let s ← get
+ if s.visitedConsts.contains c then
+ pure acc
+ else do
+ modify fun s => { s with visitedConsts := s.visitedConsts.insert c };
+ pure $ f c acc
+ | _ => pure acc
+ visit e acc
unsafe def initCache : State :=
-{ visitedTerms := mkArray cacheSize.toNat (cast lcProof ()),
- visitedConsts := {} }
+ { visitedTerms := mkArray cacheSize.toNat (cast lcProof ()),
+ visitedConsts := {} }
@[inline] unsafe def foldUnsafe {α : Type} (e : Expr) (init : α) (f : Name → α → α) : α :=
-(fold f cacheSize e init).run' initCache
+ (fold f cacheSize e init).run' initCache
end FoldConstsImpl
@@ -59,17 +67,17 @@ end FoldConstsImpl
constant foldConsts {α : Type} (e : Expr) (init : α) (f : Name → α → α) : α := init
def getUsedConstants (e : Expr) : Array Name :=
-e.foldConsts #[] fun c cs => cs.push c
+ e.foldConsts #[] fun c cs => cs.push c
end Expr
def getMaxHeight (env : Environment) (e : Expr) : UInt32 :=
-e.foldConsts 0 $ fun constName max =>
- match env.find? constName with
- | ConstantInfo.defnInfo val =>
- match val.hints with
- | ReducibilityHints.regular h => if h > max then h else max
- | _ => max
- | _ => max
+ e.foldConsts 0 $ fun constName max =>
+ match env.find? constName with
+ | ConstantInfo.defnInfo val =>
+ match val.hints with
+ | ReducibilityHints.regular h => if h > max then h else max
+ | _ => max
+ | _ => max
end Lean
diff --git a/stage0/src/Lean/Util/ForEachExpr.lean b/stage0/src/Lean/Util/ForEachExpr.lean
index 7221b7f9fd..2692bd5296 100644
--- a/stage0/src/Lean/Util/ForEachExpr.lean
+++ b/stage0/src/Lean/Util/ForEachExpr.lean
@@ -1,3 +1,4 @@
+#lang lean4
/-
Copyright (c) 2020 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
@@ -15,25 +16,25 @@ addresses. Note that the following code is parametric in a monad `m`.
variables {ω : Type} {m : Type → Type} [STWorld ω m] [MonadLiftT (ST ω) m] [Monad m]
namespace ForEachExpr
-@[specialize] partial def visit (f : Expr → m Bool) : Expr → MonadCacheT Expr Unit m Unit
-| e => checkCache e fun e =>
- condM (not <$> liftM (f e)) (pure ()) do
+@[specialize] partial def visit (g : Expr → m Bool) (e : Expr) : MonadCacheT Expr Unit m Unit :=
+checkCache e fun e => do
+ if (← g e) then
match e with
- | Expr.forallE _ d b _ => do visit d; visit b
- | Expr.lam _ d b _ => do visit d; visit b
- | Expr.letE _ t v b _ => do visit t; visit v; visit b
- | Expr.app f a _ => do visit f; visit a
- | Expr.mdata _ b _ => visit b
- | Expr.proj _ _ b _ => visit b
+ | Expr.forallE _ d b _ => do visit g d; visit g b
+ | Expr.lam _ d b _ => do visit g d; visit g b
+ | Expr.letE _ t v b _ => do visit g t; visit g v; visit g b
+ | Expr.app f a _ => do visit g f; visit g a
+ | Expr.mdata _ b _ => visit g b
+ | Expr.proj _ _ b _ => visit g b
| _ => pure ()
end ForEachExpr
/-- Apply `f` to each sub-expression of `e`. If `f t` return true, then t's children are not visited. -/
@[inline] def Expr.forEach' (e : Expr) (f : Expr → m Bool) : m Unit :=
-(ForEachExpr.visit f e).run
+ (ForEachExpr.visit f e).run
@[inline] def Expr.forEach (e : Expr) (f : Expr → m Unit) : m Unit :=
-e.forEach' fun e => do f e; pure true
+ e.forEach' fun e => do f e; pure true
end Lean
diff --git a/stage0/src/Lean/Util/PPExt.lean b/stage0/src/Lean/Util/PPExt.lean
index 95db06a66c..fa2eae3381 100644
--- a/stage0/src/Lean/Util/PPExt.lean
+++ b/stage0/src/Lean/Util/PPExt.lean
@@ -1,3 +1,4 @@
+#lang lean4
/-
Copyright (c) 2020 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
@@ -9,52 +10,50 @@ import Lean.Data.OpenDecl
namespace Lean
-@[builtinInit] private def registerOptions : IO Unit := do
-registerOption `syntaxMaxDepth { defValue := (2 : Nat), group := "", descr := "maximum depth when displaying syntax objects in messages" };
-registerOption `pp.raw { defValue := false, group := "pp", descr := "(pretty printer) print raw expression/syntax tree" }
+builtin_initialize
+ registerOption `syntaxMaxDepth { defValue := (2 : Nat), group := "", descr := "maximum depth when displaying syntax objects in messages" };
+ registerOption `pp.raw { defValue := false, group := "pp", descr := "(pretty printer) print raw expression/syntax tree" }
def getSyntaxMaxDepth (opts : Options) : Nat :=
-opts.getNat `syntaxMaxDepth 2
+ opts.getNat `syntaxMaxDepth 2
def getPPRaw (opts : Options) : Bool :=
-opts.getBool `pp.raw false
+ opts.getBool `pp.raw false
structure PPContext :=
-(env : Environment)
-(mctx : MetavarContext := {})
-(lctx : LocalContext := {})
-(opts : Options := {})
-(currNamespace : Name := Name.anonymous)
-(openDecls : List OpenDecl := [])
+ (env : Environment)
+ (mctx : MetavarContext := {})
+ (lctx : LocalContext := {})
+ (opts : Options := {})
+ (currNamespace : Name := Name.anonymous)
+ (openDecls : List OpenDecl := [])
structure PPFns :=
-(ppExpr : PPContext → Expr → IO Format)
-(ppTerm : PPContext → Syntax → IO Format)
+ (ppExpr : PPContext → Expr → IO Format)
+ (ppTerm : PPContext → Syntax → IO Format)
instance PPFns.inhabited : Inhabited PPFns := ⟨⟨arbitrary _, arbitrary _⟩⟩
-def mkPPFnsRef : IO (IO.Ref PPFns) := IO.mkRef {
- ppExpr := fun ctx e => pure $ format (toString e),
- ppTerm := fun ctx stx => pure $ stx.formatStx (getSyntaxMaxDepth ctx.opts),
-}
-@[builtinInit mkPPFnsRef] def ppFnsRef : IO.Ref PPFns := arbitrary _
+builtin_initialize ppFnsRef : IO.Ref PPFns ←
+ IO.mkRef {
+ ppExpr := fun ctx e => pure $ format (toString e),
+ ppTerm := fun ctx stx => pure $ stx.formatStx (getSyntaxMaxDepth ctx.opts),
+ }
-def mkPPExt : IO (EnvExtension PPFns) :=
-registerEnvExtension $ ppFnsRef.get
+builtin_initialize ppExt : EnvExtension PPFns ←
+ registerEnvExtension $ ppFnsRef.get
-@[builtinInit mkPPExt]
-constant ppExt : EnvExtension PPFns := arbitrary _
def ppExpr (ctx : PPContext) (e : Expr) : IO Format :=
-let e := (ctx.mctx.instantiateMVars e).1;
-if getPPRaw ctx.opts then
- pure $ format (toString e)
-else
- (ppExt.getState ctx.env).ppExpr ctx e
+ let e := (ctx.mctx.instantiateMVars e).1
+ if getPPRaw ctx.opts then
+ pure $ format (toString e)
+ else
+ (ppExt.getState ctx.env).ppExpr ctx e
def ppTerm (ctx : PPContext) (stx : Syntax) : IO Format :=
-if getPPRaw ctx.opts then
- pure $ stx.formatStx (getSyntaxMaxDepth ctx.opts)
-else
- (ppExt.getState ctx.env).ppTerm ctx stx
+ if getPPRaw ctx.opts then
+ pure $ stx.formatStx (getSyntaxMaxDepth ctx.opts)
+ else
+ (ppExt.getState ctx.env).ppTerm ctx stx
end Lean
diff --git a/stage0/src/Lean/Util/PPGoal.lean b/stage0/src/Lean/Util/PPGoal.lean
index fed66c13e9..85500eb6aa 100644
--- a/stage0/src/Lean/Util/PPGoal.lean
+++ b/stage0/src/Lean/Util/PPGoal.lean
@@ -1,3 +1,4 @@
+#lang lean4
/-
Copyright (c) 2020 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
@@ -8,67 +9,66 @@ import Lean.Util.PPExt
namespace Lean
def ppAuxDeclsDefault := false
-@[builtinInit] def ppAuxDeclsOption : IO Unit :=
-registerOption `pp.auxDecls { defValue := ppAuxDeclsDefault, group := "pp", descr := "display auxiliary declarations used to compile recursive functions" }
-def getAuxDeclsOption (o : Options) : Bool:= o.get `pp.auxDecls ppAuxDeclsDefault
+builtin_initialize
+ registerOption `pp.auxDecls { defValue := ppAuxDeclsDefault, group := "pp", descr := "display auxiliary declarations used to compile recursive functions" }
+def getAuxDeclsOption (o : Options) : Bool := o.get `pp.auxDecls ppAuxDeclsDefault
def ppGoal (ppCtx : PPContext) (mvarId : MVarId) : IO Format :=
-let env := ppCtx.env;
-let mctx := ppCtx.mctx;
-let opts := ppCtx.opts;
-match mctx.findDecl? mvarId with
-| none => pure "unknown goal"
-| some mvarDecl => do
- let indent := 2; -- Use option
- let ppAuxDecls := getAuxDeclsOption opts;
- let lctx := mvarDecl.lctx;
- let lctx := lctx.sanitizeNames.run' { options := opts };
- let ppCtx := { ppCtx with lctx := lctx };
- let pp (e : Expr) : IO Format := ppExpr ppCtx e;
- let instMVars (e : Expr) : Expr := (mctx.instantiateMVars e).1;
- let addLine (fmt : Format) : Format := if fmt.isNil then fmt else fmt ++ Format.line;
- let pushPending (ids : List Name) (type? : Option Expr) (fmt : Format) : IO Format :=
- if ids.isEmpty then
- pure fmt
- else
- let fmt := addLine fmt;
- match ids, type? with
- | [], _ => pure fmt
- | _, none => pure fmt
- | _, some type => do {
- typeFmt ← pp type;
- pure $ fmt ++ (Format.joinSep ids.reverse " " ++ " :" ++ Format.nest indent (Format.line ++ typeFmt)).group
- };
- (varNames, type?, fmt) ← lctx.foldlM
- (fun (acc : List Name × Option Expr × Format) (localDecl : LocalDecl) =>
- if !ppAuxDecls && localDecl.isAuxDecl then pure acc else
- let (varNames, prevType?, fmt) := acc;
- match localDecl with
- | LocalDecl.cdecl _ _ varName type _ =>
- let varName := varName.simpMacroScopes;
- let type := instMVars type;
- if prevType? == none || prevType? == some type then
- pure (varName :: varNames, some type, fmt)
- else do
- fmt ← pushPending varNames prevType? fmt;
- pure ([varName], some type, fmt)
- | LocalDecl.ldecl _ _ varName type val _ => do
- let varName := varName.simpMacroScopes;
- fmt ← pushPending varNames prevType? fmt;
- let fmt := addLine fmt;
- let type := instMVars type;
- let val := instMVars val;
- typeFmt ← pp type;
- valFmt ← pp val;
- let fmt := fmt ++ (format varName ++ " : " ++ typeFmt ++ " :=" ++ Format.nest indent (Format.line ++ valFmt)).group;
- pure ([], none, fmt))
- ([], none, Format.nil);
- fmt ← pushPending varNames type? fmt;
- let fmt := addLine fmt;
- typeFmt ← pp mvarDecl.type;
- let fmt := fmt ++ "⊢" ++ " " ++ Format.nest indent typeFmt;
- match mvarDecl.userName with
- | Name.anonymous => pure fmt
- | name => pure $ "case " ++ format name.eraseMacroScopes ++ Format.line ++ fmt
+ let env := ppCtx.env
+ let mctx := ppCtx.mctx
+ let opts := ppCtx.opts
+ match mctx.findDecl? mvarId with
+ | none => pure "unknown goal"
+ | some mvarDecl => do
+ let indent := 2 -- Use option
+ let ppAuxDecls := getAuxDeclsOption opts
+ let lctx := mvarDecl.lctx
+ let lctx := lctx.sanitizeNames.run' { options := opts }
+ let ppCtx := { ppCtx with lctx := lctx }
+ let pp (e : Expr) : IO Format := ppExpr ppCtx e
+ let instMVars (e : Expr) : Expr := (mctx.instantiateMVars e).1
+ let addLine (fmt : Format) : Format := if fmt.isNil then fmt else fmt ++ Format.line
+ let pushPending (ids : List Name) (type? : Option Expr) (fmt : Format) : IO Format :=
+ if ids.isEmpty then
+ pure fmt
+ else
+ let fmt := addLine fmt
+ match ids, type? with
+ | [], _ => pure fmt
+ | _, none => pure fmt
+ | _, some type => do
+ let typeFmt ← pp type
+ pure $ fmt ++ (Format.joinSep ids.reverse " " ++ " :" ++ Format.nest indent (Format.line ++ typeFmt)).group
+ let (varNames, type?, fmt) ← lctx.foldlM
+ (fun (acc : List Name × Option Expr × Format) (localDecl : LocalDecl) =>
+ if !ppAuxDecls && localDecl.isAuxDecl then pure acc else
+ let (varNames, prevType?, fmt) := acc
+ match localDecl with
+ | LocalDecl.cdecl _ _ varName type _ =>
+ let varName := varName.simpMacroScopes
+ let type := instMVars type
+ if prevType? == none || prevType? == some type then
+ pure (varName :: varNames, some type, fmt)
+ else do
+ let fmt ← pushPending varNames prevType? fmt
+ pure ([varName], some type, fmt)
+ | LocalDecl.ldecl _ _ varName type val _ => do
+ let varName := varName.simpMacroScopes
+ fmt ← pushPending varNames prevType? fmt
+ let fmt := addLine fmt
+ let type := instMVars type
+ let val := instMVars val
+ let typeFmt ← pp type
+ let valFmt ← pp val
+ let fmt := fmt ++ (format varName ++ " : " ++ typeFmt ++ " :=" ++ Format.nest indent (Format.line ++ valFmt)).group
+ pure ([], none, fmt))
+ ([], none, Format.nil)
+ let fmt ← pushPending varNames type? fmt
+ let fmt := addLine fmt
+ let typeFmt ← pp mvarDecl.type
+ let fmt := fmt ++ "⊢" ++ " " ++ Format.nest indent typeFmt
+ match mvarDecl.userName with
+ | Name.anonymous => pure fmt
+ | name => pure $ "case " ++ format name.eraseMacroScopes ++ Format.line ++ fmt
end Lean
diff --git a/stage0/src/Lean/Util/ReplaceExpr.lean b/stage0/src/Lean/Util/ReplaceExpr.lean
index 42bc6e1996..e42a581be2 100644
--- a/stage0/src/Lean/Util/ReplaceExpr.lean
+++ b/stage0/src/Lean/Util/ReplaceExpr.lean
@@ -1,3 +1,4 @@
+#lang lean4
/-
Copyright (c) 2020 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
@@ -13,40 +14,41 @@ namespace ReplaceImpl
abbrev cacheSize : USize := 8192
structure State :=
-(keys : Array Expr) -- Remark: our "unsafe" implementation relies on the fact that `()` is not a valid Expr
-(results : Array Expr)
+ (keys : Array Expr) -- Remark: our "unsafe" implementation relies on the fact that `()` is not a valid Expr
+ (results : Array Expr)
abbrev ReplaceM := StateM State
@[inline] unsafe def cache (i : USize) (key : Expr) (result : Expr) : ReplaceM Expr := do
-modify $ fun s => { keys := s.keys.uset i key lcProof, results := s.results.uset i result lcProof };
-pure result
+ modify fun s => { keys := s.keys.uset i key lcProof, results := s.results.uset i result lcProof };
+ pure result
-@[specialize] unsafe def replaceUnsafeM (f? : Expr → Option Expr) (size : USize) : Expr → ReplaceM Expr
-| e => do
- c ← get;
- let h := ptrAddrUnsafe e;
- let i := h % size;
- if ptrAddrUnsafe (c.keys.uget i lcProof) == h then
- pure $ c.results.uget i lcProof
- else match f? e with
- | some eNew => cache i e eNew
- | none => match e with
- | Expr.forallE _ d b _ => do d ← replaceUnsafeM d; b ← replaceUnsafeM b; cache i e $ e.updateForallE! d b
- | Expr.lam _ d b _ => do d ← replaceUnsafeM d; b ← replaceUnsafeM b; cache i e $ e.updateLambdaE! d b
- | Expr.mdata _ b _ => do b ← replaceUnsafeM b; cache i e $ e.updateMData! b
- | Expr.letE _ t v b _ => do t ← replaceUnsafeM t; v ← replaceUnsafeM v; b ← replaceUnsafeM b; cache i e $ e.updateLet! t v b
- | Expr.app f a _ => do f ← replaceUnsafeM f; a ← replaceUnsafeM a; cache i e $ e.updateApp! f a
- | Expr.proj _ _ b _ => do b ← replaceUnsafeM b; cache i e $ e.updateProj! b
- | Expr.localE _ _ _ _ => unreachable!
- | e => pure e
+@[specialize] unsafe def replaceUnsafeM (f? : Expr → Option Expr) (size : USize) (e : Expr) : ReplaceM Expr := do
+ let rec visit (e : Expr) := do
+ let c ← get
+ let h := ptrAddrUnsafe e
+ let i := h % size
+ if ptrAddrUnsafe (c.keys.uget i lcProof) == h then
+ pure $ c.results.uget i lcProof
+ else match f? e with
+ | some eNew => cache i e eNew
+ | none => match e with
+ | Expr.forallE _ d b _ => cache i e $ e.updateForallE! (← visit d) (← visit b)
+ | Expr.lam _ d b _ => cache i e $ e.updateLambdaE! (← visit d) (← visit b)
+ | Expr.mdata _ b _ => cache i e $ e.updateMData! (← visit b)
+ | Expr.letE _ t v b _ => cache i e $ e.updateLet! (← visit t) (← visit v) (← visit b)
+ | Expr.app f a _ => cache i e $ e.updateApp! (← visit f) (← visit a)
+ | Expr.proj _ _ b _ => cache i e $ e.updateProj! (← visit b)
+ | Expr.localE _ _ _ _ => unreachable!
+ | e => pure e
+ visit e
unsafe def initCache : State :=
-{ keys := mkArray cacheSize.toNat (cast lcProof ()), -- `()` is not a valid `Expr`
- results := mkArray cacheSize.toNat (arbitrary _) }
+ { keys := mkArray cacheSize.toNat (cast lcProof ()), -- `()` is not a valid `Expr`
+ results := mkArray cacheSize.toNat (arbitrary _) }
@[inline] unsafe def replaceUnsafe (f? : Expr → Option Expr) (e : Expr) : Expr :=
-(replaceUnsafeM f? cacheSize e).run' initCache
+ (replaceUnsafeM f? cacheSize e).run' initCache
end ReplaceImpl
@@ -54,18 +56,17 @@ end ReplaceImpl
We also need an invariant at `State` and proofs for the `uget` operations. -/
@[implementedBy ReplaceImpl.replaceUnsafe]
-partial def replace (f? : Expr → Option Expr) : Expr → Expr
-| e =>
+partial def replace (f? : Expr → Option Expr) (e : Expr) : Expr :=
/- This is a reference implementation for the unsafe one above -/
match f? e with
| some eNew => eNew
| none => match e with
- | Expr.forallE _ d b _ => let d := replace d; let b := replace b; e.updateForallE! d b
- | Expr.lam _ d b _ => let d := replace d; let b := replace b; e.updateLambdaE! d b
- | Expr.mdata _ b _ => let b := replace b; e.updateMData! b
- | Expr.letE _ t v b _ => let t := replace t; let v := replace v; let b := replace b; e.updateLet! t v b
- | Expr.app f a _ => let f := replace f; let a := replace a; e.updateApp! f a
- | Expr.proj _ _ b _ => let b := replace b; e.updateProj! b
+ | Expr.forallE _ d b _ => let d := replace f? d; let b := replace f? b; e.updateForallE! d b
+ | Expr.lam _ d b _ => let d := replace f? d; let b := replace f? b; e.updateLambdaE! d b
+ | Expr.mdata _ b _ => let b := replace f? b; e.updateMData! b
+ | Expr.letE _ t v b _ => let t := replace f? t; let v := replace f? v; let b := replace f? b; e.updateLet! t v b
+ | Expr.app f a _ => let f := replace f? f; let a := replace f? a; e.updateApp! f a
+ | Expr.proj _ _ b _ => let b := replace f? b; e.updateProj! b
| e => e
end Expr
diff --git a/stage0/src/Lean/Util/ReplaceLevel.lean b/stage0/src/Lean/Util/ReplaceLevel.lean
index 8767e73211..ac9732b495 100644
--- a/stage0/src/Lean/Util/ReplaceLevel.lean
+++ b/stage0/src/Lean/Util/ReplaceLevel.lean
@@ -1,3 +1,4 @@
+#lang lean4
/-
Copyright (c) 2020 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
@@ -8,14 +9,13 @@ import Lean.Expr
namespace Lean
namespace Level
-partial def replace (f? : Level → Option Level) : Level → Level
-| u =>
+partial def replace (f? : Level → Option Level) (u : Level) : Level :=
match f? u with
| some v => v
| none => match u with
- | max v₁ v₂ _ => mkLevelMax (replace v₁) (replace v₂)
- | imax v₁ v₂ _ => mkLevelIMax (replace v₁) (replace v₂)
- | succ v _ => mkLevelSucc (replace v)
+ | max v₁ v₂ _ => mkLevelMax (replace f? v₁) (replace f? v₂)
+ | imax v₁ v₂ _ => mkLevelIMax (replace f? v₁) (replace f? v₂)
+ | succ v _ => mkLevelSucc (replace f? v)
| _ => u
end Level
@@ -27,51 +27,52 @@ namespace ReplaceLevelImpl
abbrev cacheSize : USize := 8192
structure State :=
-(keys : Array Expr) -- Remark: our "unsafe" implementation relies on the fact that `()` is not a valid Expr
-(results : Array Expr)
+ (keys : Array Expr) -- Remark: our "unsafe" implementation relies on the fact that `()` is not a valid Expr
+ (results : Array Expr)
abbrev ReplaceM := StateM State
@[inline] unsafe def cache (i : USize) (key : Expr) (result : Expr) : ReplaceM Expr := do
-modify $ fun s => { keys := s.keys.uset i key lcProof, results := s.results.uset i result lcProof };
-pure result
+ modify fun s => { keys := s.keys.uset i key lcProof, results := s.results.uset i result lcProof };
+ pure result
-@[specialize] unsafe def replaceUnsafeM (f? : Level → Option Level) (size : USize) : Expr → ReplaceM Expr
-| e => do
- c ← get;
- let h := ptrAddrUnsafe e;
- let i := h % size;
- if ptrAddrUnsafe (c.keys.uget i lcProof) == h then
- pure $ c.results.uget i lcProof
- else match e with
- | Expr.forallE _ d b _ => do d ← replaceUnsafeM d; b ← replaceUnsafeM b; cache i e $ e.updateForallE! d b
- | Expr.lam _ d b _ => do d ← replaceUnsafeM d; b ← replaceUnsafeM b; cache i e $ e.updateLambdaE! d b
- | Expr.mdata _ b _ => do b ← replaceUnsafeM b; cache i e $ e.updateMData! b
- | Expr.letE _ t v b _ => do t ← replaceUnsafeM t; v ← replaceUnsafeM v; b ← replaceUnsafeM b; cache i e $ e.updateLet! t v b
- | Expr.app f a _ => do f ← replaceUnsafeM f; a ← replaceUnsafeM a; cache i e $ e.updateApp! f a
- | Expr.proj _ _ b _ => do b ← replaceUnsafeM b; cache i e $ e.updateProj! b
- | Expr.sort u _ => cache i e $ e.updateSort! (u.replace f?)
- | Expr.const n us _ => cache i e $ e.updateConst! (us.map (Level.replace f?))
- | Expr.localE _ _ _ _ => unreachable!
- | e => pure e
+@[specialize] unsafe def replaceUnsafeM (f? : Level → Option Level) (size : USize) (e : Expr) : ReplaceM Expr := do
+ let rec visit (e : Expr) := do
+ let c ← get
+ let h := ptrAddrUnsafe e
+ let i := h % size
+ if ptrAddrUnsafe (c.keys.uget i lcProof) == h then
+ pure $ c.results.uget i lcProof
+ else match e with
+ | Expr.forallE _ d b _ => cache i e $ e.updateForallE! (← visit d) (← visit b)
+ | Expr.lam _ d b _ => cache i e $ e.updateLambdaE! (← visit d) (← visit b)
+ | Expr.mdata _ b _ => cache i e $ e.updateMData! (← visit b)
+ | Expr.letE _ t v b _ => cache i e $ e.updateLet! (← visit t) (← visit v) (← visit b)
+ | Expr.app f a _ => cache i e $ e.updateApp! (← visit f) (← visit a)
+ | Expr.proj _ _ b _ => cache i e $ e.updateProj! (← visit b)
+ | Expr.sort u _ => cache i e $ e.updateSort! (u.replace f?)
+ | Expr.const n us _ => cache i e $ e.updateConst! (us.map (Level.replace f?))
+ | Expr.localE _ _ _ _ => unreachable!
+ | e => pure e
+ visit e
unsafe def initCache : State :=
-{ keys := mkArray cacheSize.toNat (cast lcProof ()), -- `()` is not a valid `Expr`
- results := mkArray cacheSize.toNat (arbitrary _) }
+ { keys := mkArray cacheSize.toNat (cast lcProof ()), -- `()` is not a valid `Expr`
+ results := mkArray cacheSize.toNat (arbitrary _) }
@[inline] unsafe def replaceUnsafe (f? : Level → Option Level) (e : Expr) : Expr :=
-(replaceUnsafeM f? cacheSize e).run' initCache
+ (replaceUnsafeM f? cacheSize e).run' initCache
end ReplaceLevelImpl
@[implementedBy ReplaceLevelImpl.replaceUnsafe]
partial def replaceLevel (f? : Level → Option Level) : Expr → Expr
-| e@(Expr.forallE _ d b _) => let d := replaceLevel d; let b := replaceLevel b; e.updateForallE! d b
-| e@(Expr.lam _ d b _) => let d := replaceLevel d; let b := replaceLevel b; e.updateLambdaE! d b
-| e@(Expr.mdata _ b _) => let b := replaceLevel b; e.updateMData! b
-| e@(Expr.letE _ t v b _) => let t := replaceLevel t; let v := replaceLevel v; let b := replaceLevel b; e.updateLet! t v b
-| e@(Expr.app f a _) => let f := replaceLevel f; let a := replaceLevel a; e.updateApp! f a
-| e@(Expr.proj _ _ b _) => let b := replaceLevel b; e.updateProj! b
+| e@(Expr.forallE _ d b _) => let d := replaceLevel f? d; let b := replaceLevel f? b; e.updateForallE! d b
+| e@(Expr.lam _ d b _) => let d := replaceLevel f? d; let b := replaceLevel f? b; e.updateLambdaE! d b
+| e@(Expr.mdata _ b _) => let b := replaceLevel f? b; e.updateMData! b
+| e@(Expr.letE _ t v b _) => let t := replaceLevel f? t; let v := replaceLevel f? v; let b := replaceLevel f? b; e.updateLet! t v b
+| e@(Expr.app f a _) => let f := replaceLevel f? f; let a := replaceLevel f? a; e.updateApp! f a
+| e@(Expr.proj _ _ b _) => let b := replaceLevel f? b; e.updateProj! b
| e@(Expr.sort u _) => e.updateSort! (u.replace f?)
| e@(Expr.const n us _) => e.updateConst! (us.map (Level.replace f?))
| e => e
diff --git a/stage0/src/Lean/Util/Trace.lean b/stage0/src/Lean/Util/Trace.lean
index e6c4892561..b301fd7e96 100644
--- a/stage0/src/Lean/Util/Trace.lean
+++ b/stage0/src/Lean/Util/Trace.lean
@@ -1,3 +1,4 @@
+#lang lean4
/-
Copyright (c) 2018 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
@@ -12,162 +13,165 @@ namespace Lean
open Std (PersistentArray)
structure TraceElem :=
-(ref : Syntax)
-(msg : MessageData)
+ (ref : Syntax)
+ (msg : MessageData)
-instance traceElem.inhabited : Inhabited TraceElem :=
-⟨⟨arbitrary _, arbitrary _⟩⟩
+instance : Inhabited TraceElem :=
+ ⟨⟨arbitrary _, arbitrary _⟩⟩
structure TraceState :=
-(enabled : Bool := true)
-(traces : PersistentArray TraceElem := {})
+ (enabled : Bool := true)
+ (traces : PersistentArray TraceElem := {})
namespace TraceState
instance : Inhabited TraceState := ⟨{}⟩
private def toFormat (traces : PersistentArray TraceElem) (sep : Format) : IO Format :=
-traces.size.foldM
- (fun i r => do
- curr ← (traces.get! i).msg.format;
- pure $ if i > 0 then r ++ sep ++ curr else r ++ curr)
- Format.nil
+ traces.size.foldM
+ (fun i r => do
+ let curr ← (traces.get! i).msg.format
+ pure $ if i > 0 then r ++ sep ++ curr else r ++ curr)
+ Format.nil
end TraceState
class MonadTrace (m : Type → Type) :=
-(modifyTraceState : (TraceState → TraceState) → m Unit)
-(getTraceState : m TraceState)
+ (modifyTraceState : (TraceState → TraceState) → m Unit)
+ (getTraceState : m TraceState)
export MonadTrace (getTraceState modifyTraceState)
-instance monadTraceTrans (m n) [MonadTrace m] [MonadLift m n] : MonadTrace n :=
-{ modifyTraceState := fun f => liftM (modifyTraceState f : m _),
- getTraceState := liftM (getTraceState : m _) }
+instance (m n) [MonadTrace m] [MonadLift m n] : MonadTrace n :=
+ { modifyTraceState := fun f => liftM (modifyTraceState f : m _),
+ getTraceState := liftM (getTraceState : m _) }
variables {α : Type} {m : Type → Type} [Monad m] [MonadTrace m]
def printTraces {m} [Monad m] [MonadTrace m] [MonadIO m] : m Unit := do
-traceState ← getTraceState;
-traceState.traces.forM $ fun m => do d ← liftIO m.msg.format; liftIO $ IO.println d
+ let traceState ← getTraceState
+ traceState.traces.forM fun m => do
+ let d ← liftIO m.msg.format
+ liftIO $ IO.println d
def resetTraceState {m} [MonadTrace m] : m Unit :=
-modifyTraceState (fun _ => {})
+ modifyTraceState (fun _ => {})
private def checkTraceOptionAux (opts : Options) : Name → Bool
-| n@(Name.str p _ _) => opts.getBool n || (!opts.contains n && checkTraceOptionAux p)
-| _ => false
+ | n@(Name.str p _ _) => opts.getBool n || (!opts.contains n && checkTraceOptionAux opts p)
+ | _ => false
def checkTraceOption (opts : Options) (cls : Name) : Bool :=
-if opts.isEmpty then false
-else checkTraceOptionAux opts (`trace ++ cls)
+ if opts.isEmpty then false
+ else checkTraceOptionAux opts (`trace ++ cls)
private def checkTraceOptionM [MonadOptions m] (cls : Name) : m Bool := do
-opts ← getOptions;
-pure $ checkTraceOption opts cls
+ let opts ← getOptions
+ pure $ checkTraceOption opts cls
@[inline] def isTracingEnabledFor [MonadOptions m] (cls : Name) : m Bool := do
-s ← getTraceState;
-if !s.enabled then pure false
-else checkTraceOptionM cls
+ let s ← getTraceState
+ if !s.enabled then pure false
+ else checkTraceOptionM cls
@[inline] def enableTracing (b : Bool) : m Bool := do
-s ← getTraceState;
-let oldEnabled := s.enabled;
-modifyTraceState $ fun s => { s with enabled := b };
-pure oldEnabled
+ let s ← getTraceState
+ let oldEnabled := s.enabled
+ modifyTraceState fun s => { s with enabled := b }
+ pure oldEnabled
@[inline] def getTraces : m (PersistentArray TraceElem) := do
-s ← getTraceState; pure s.traces
+ let s ← getTraceState
+ pure s.traces
@[inline] def modifyTraces (f : PersistentArray TraceElem → PersistentArray TraceElem) : m Unit :=
-modifyTraceState $ fun s => { s with traces := f s.traces }
+ modifyTraceState fun s => { s with traces := f s.traces }
@[inline] def setTraceState (s : TraceState) : m Unit :=
-modifyTraceState $ fun _ => s
+ modifyTraceState fun _ => s
private def addNode (oldTraces : PersistentArray TraceElem) (cls : Name) (ref : Syntax) : m Unit :=
-modifyTraces fun traces =>
- if traces.isEmpty then
- oldTraces
- else
- let d := MessageData.tagged cls (MessageData.node (traces.toArray.map fun elem => elem.msg));
- oldTraces.push { ref := ref, msg := d }
+ modifyTraces fun traces =>
+ if traces.isEmpty then
+ oldTraces
+ else
+ let d := MessageData.tagged cls (MessageData.node (traces.toArray.map fun elem => elem.msg))
+ oldTraces.push { ref := ref, msg := d }
private def getResetTraces : m (PersistentArray TraceElem) := do
-oldTraces ← getTraces;
-modifyTraces $ fun _ => {};
-pure oldTraces
+ let oldTraces ← getTraces
+ modifyTraces fun _ => {}
+ pure oldTraces
section
variables [Ref m] [AddMessageContext m] [MonadOptions m]
def addTrace (cls : Name) (msg : MessageData) : m Unit := do
-ref ← getRef;
-msg ← addMessageContext msg;
-modifyTraces $ fun traces => traces.push { ref := ref, msg := MessageData.tagged cls msg }
+ let ref ← getRef
+ let msg ← addMessageContext msg
+ modifyTraces fun traces => traces.push { ref := ref, msg := MessageData.tagged cls msg }
-@[inline] def trace (cls : Name) (msg : Unit → MessageData) : m Unit :=
-whenM (isTracingEnabledFor cls) (addTrace cls (msg ()))
+@[inline] def trace (cls : Name) (msg : Unit → MessageData) : m Unit := do
+ if (← isTracingEnabledFor cls) then
+ addTrace cls (msg ())
-@[inline] def traceM (cls : Name) (mkMsg : m MessageData) : m Unit :=
-whenM (isTracingEnabledFor cls) (do msg ← mkMsg; addTrace cls msg)
+@[inline] def traceM (cls : Name) (mkMsg : m MessageData) : m Unit := do
+ if (← isTracingEnabledFor cls) then
+ let msg ← mkMsg
+ addTrace cls msg
@[inline] def traceCtx [MonadFinally m] (cls : Name) (ctx : m α) : m α := do
-b ← isTracingEnabledFor cls;
-if !b then do old ← enableTracing false; finally ctx (enableTracing old)
-else do
- ref ← getRef;
- oldCurrTraces ← getResetTraces;
- finally ctx (addNode oldCurrTraces cls ref)
+ let b ← isTracingEnabledFor cls
+ if !b then
+ let old ← enableTracing false
+ try ctx finally enableTracing old
+ else
+ let ref ← getRef
+ let oldCurrTraces ← getResetTraces
+ try ctx finally addNode oldCurrTraces cls ref
-- TODO: delete after fix old frontend
def MonadTracer.trace (cls : Name) (msg : Unit → MessageData) : m Unit :=
-trace cls msg
+ Lean.trace cls msg
end
def registerTraceClass (traceClassName : Name) : IO Unit :=
-registerOption (`trace ++ traceClassName) { group := "trace", defValue := false, descr := "enable/disable tracing for the given module and submodules" }
+ registerOption (`trace ++ traceClassName) { group := "trace", defValue := false, descr := "enable/disable tracing for the given module and submodules" }
-end Lean
-
-new_frontend
-
-namespace Lean
-
-macro:max "trace!" id:term:max msg:term : term => `(trace $id fun _ => ($msg : MessageData))
+macro:max "trace!" id:term:max msg:term : term =>
+ `(trace $id fun _ => ($msg : MessageData))
syntax "trace[" ident "]!" ((interpolatedStr term) <|> term) : term
macro_rules
-| `(trace[$id]! $s) =>
- if s.getKind == interpolatedStrKind then
- `(Lean.trace $(quote id.getId) fun _ => msg! $s)
- else
- `(Lean.trace $(quote id.getId) fun _ => ($s : MessageData))
+ | `(trace[$id]! $s) =>
+ if s.getKind == interpolatedStrKind then
+ `(Lean.trace $(quote id.getId) fun _ => msg! $s)
+ else
+ `(Lean.trace $(quote id.getId) fun _ => ($s : MessageData))
variables {α : Type} {m : Type → Type} [Monad m] [MonadTrace m] [MonadOptions m] [Ref m]
def withNestedTraces [MonadFinally m] (x : m α) : m α := do
-let s ← getTraceState
-if !s.enabled then
- x
-else
- let currTraces ← getTraces
- modifyTraces fun _ => {}
- let ref ← getRef
- try
+ let s ← getTraceState
+ if !s.enabled then
x
- finally
- modifyTraces fun traces =>
- if traces.size == 0 then
- currTraces
- else if traces.size == 1 && traces[0].msg.isNest then
- currTraces ++ traces -- No nest of nest
- else
- let d := traces.foldl (init := MessageData.nil) fun d elem =>
- if d.isNil then elem.msg else msg!"{d}\n{elem.msg}"
- currTraces.push { ref := ref, msg := MessageData.nestD d }
+ else
+ let currTraces ← getTraces
+ modifyTraces fun _ => {}
+ let ref ← getRef
+ try
+ x
+ finally
+ modifyTraces fun traces =>
+ if traces.size == 0 then
+ currTraces
+ else if traces.size == 1 && traces[0].msg.isNest then
+ currTraces ++ traces -- No nest of nest
+ else
+ let d := traces.foldl (init := MessageData.nil) fun d elem =>
+ if d.isNil then elem.msg else msg!"{d}\n{elem.msg}"
+ currTraces.push { ref := ref, msg := MessageData.nestD d }
end Lean
diff --git a/stage0/src/shell/lean.cpp b/stage0/src/shell/lean.cpp
index e0dabaed65..e5560251cb 100644
--- a/stage0/src/shell/lean.cpp
+++ b/stage0/src/shell/lean.cpp
@@ -345,9 +345,10 @@ bool test_module_parser(environment const & env, std::string const & input, std:
}
typedef list_ref messages;
+typedef object_ref module_stx;
extern "C" object * lean_run_frontend(object * input, object * opts, object * filename, object * main_module_name, object * w);
-pair_ref run_new_frontend(std::string const & input, options const & opts, std::string const & file_name, name const & main_module_name) {
- return get_io_result>(
+pair_ref> run_new_frontend(std::string const & input, options const & opts, std::string const & file_name, name const & main_module_name) {
+ return get_io_result>>(
lean_run_frontend(mk_string(input), opts.to_obj_arg(), mk_string(file_name), main_module_name.to_obj_arg(), io_mk_world()));
}
@@ -637,11 +638,11 @@ int main(int argc, char ** argv) {
if (new_frontend) {
if (!main_module_name)
main_module_name = name("_stdin");
- pair_ref r = run_new_frontend(contents, opts, mod_fn, *main_module_name);
+ pair_ref> r = run_new_frontend(contents, opts, mod_fn, *main_module_name);
env = r.fst();
buffer cpp_msgs;
// HACK: convert Lean Message into C++ message
- for (auto msg : r.snd()) {
+ for (auto msg : r.snd().fst()) {
pos_info pos = get_message_pos(msg);
message_severity sev = get_message_severity(msg);
if (sev == message_severity::ERROR)
diff --git a/stage0/stdlib/CMakeLists.txt b/stage0/stdlib/CMakeLists.txt
index 66487688b9..7bd4d292c7 100644
--- a/stage0/stdlib/CMakeLists.txt
+++ b/stage0/stdlib/CMakeLists.txt
@@ -1 +1 @@
-add_library (stage0 OBJECT ./Init.c ./Init/Coe.c ./Init/Control.c ./Init/Control/Alternative.c ./Init/Control/Applicative.c ./Init/Control/Conditional.c ./Init/Control/EState.c ./Init/Control/Except.c ./Init/Control/Functor.c ./Init/Control/Id.c ./Init/Control/Monad.c ./Init/Control/MonadControl.c ./Init/Control/MonadFunctor.c ./Init/Control/MonadLift.c ./Init/Control/MonadRun.c ./Init/Control/Option.c ./Init/Control/Reader.c ./Init/Control/State.c ./Init/Control/StateRef.c ./Init/Core.c ./Init/Data.c ./Init/Data/Array.c ./Init/Data/Array/Basic.c ./Init/Data/Array/BinSearch.c ./Init/Data/Array/ForIn.c ./Init/Data/Array/Macros.c ./Init/Data/Array/QSort.c ./Init/Data/Array/Subarray.c ./Init/Data/Basic.c ./Init/Data/ByteArray.c ./Init/Data/ByteArray/Basic.c ./Init/Data/Char.c ./Init/Data/Char/Basic.c ./Init/Data/Fin.c ./Init/Data/Fin/Basic.c ./Init/Data/Float.c ./Init/Data/FloatArray.c ./Init/Data/FloatArray/Basic.c ./Init/Data/Hashable.c ./Init/Data/Int.c ./Init/Data/Int/Basic.c ./Init/Data/List.c ./Init/Data/List/Basic.c ./Init/Data/List/BasicAux.c ./Init/Data/List/Control.c ./Init/Data/Nat.c ./Init/Data/Nat/Basic.c ./Init/Data/Nat/Bitwise.c ./Init/Data/Nat/Control.c ./Init/Data/Nat/Div.c ./Init/Data/Option.c ./Init/Data/Option/Basic.c ./Init/Data/Option/BasicAux.c ./Init/Data/Option/Instances.c ./Init/Data/Random.c ./Init/Data/Range.c ./Init/Data/Repr.c ./Init/Data/String.c ./Init/Data/String/Basic.c ./Init/Data/String/Extra.c ./Init/Data/ToString.c ./Init/Data/ToString/Basic.c ./Init/Data/ToString/Macro.c ./Init/Data/UInt.c ./Init/Fix.c ./Init/HasCoe.c ./Init/LeanInit.c ./Init/System.c ./Init/System/FilePath.c ./Init/System/IO.c ./Init/System/IOError.c ./Init/System/Platform.c ./Init/System/ST.c ./Init/Util.c ./Init/WF.c ./Lean.c ./Lean/Attributes.c ./Lean/AuxRecursor.c ./Lean/Class.c ./Lean/Compiler.c ./Lean/Compiler/BorrowedAnnotation.c ./Lean/Compiler/ClosedTermCache.c ./Lean/Compiler/ConstFolding.c ./Lean/Compiler/ExportAttr.c ./Lean/Compiler/ExternAttr.c ./Lean/Compiler/IR.c ./Lean/Compiler/IR/Basic.c ./Lean/Compiler/IR/Borrow.c ./Lean/Compiler/IR/Boxing.c ./Lean/Compiler/IR/Checker.c ./Lean/Compiler/IR/CompilerM.c ./Lean/Compiler/IR/CtorLayout.c ./Lean/Compiler/IR/ElimDeadBranches.c ./Lean/Compiler/IR/ElimDeadVars.c ./Lean/Compiler/IR/EmitC.c ./Lean/Compiler/IR/EmitUtil.c ./Lean/Compiler/IR/ExpandResetReuse.c ./Lean/Compiler/IR/Format.c ./Lean/Compiler/IR/FreeVars.c ./Lean/Compiler/IR/LiveVars.c ./Lean/Compiler/IR/NormIds.c ./Lean/Compiler/IR/PushProj.c ./Lean/Compiler/IR/RC.c ./Lean/Compiler/IR/ResetReuse.c ./Lean/Compiler/IR/SimpCase.c ./Lean/Compiler/IR/UnboxResult.c ./Lean/Compiler/ImplementedByAttr.c ./Lean/Compiler/InitAttr.c ./Lean/Compiler/InlineAttrs.c ./Lean/Compiler/NameMangling.c ./Lean/Compiler/NeverExtractAttr.c ./Lean/Compiler/Specialize.c ./Lean/Compiler/Util.c ./Lean/CoreM.c ./Lean/Data/Format.c ./Lean/Data/FormatMacro.c ./Lean/Data/Json.c ./Lean/Data/Json/Basic.c ./Lean/Data/Json/FromToJson.c ./Lean/Data/Json/Parser.c ./Lean/Data/Json/Printer.c ./Lean/Data/Json/Stream.c ./Lean/Data/JsonRpc.c ./Lean/Data/KVMap.c ./Lean/Data/LBool.c ./Lean/Data/LOption.c ./Lean/Data/Lsp.c ./Lean/Data/Lsp/Basic.c ./Lean/Data/Lsp/Capabilities.c ./Lean/Data/Lsp/Communication.c ./Lean/Data/Lsp/Diagnostics.c ./Lean/Data/Lsp/Hover.c ./Lean/Data/Lsp/InitShutdown.c ./Lean/Data/Lsp/TextSync.c ./Lean/Data/Lsp/Utf16.c ./Lean/Data/Lsp/Workspace.c ./Lean/Data/Name.c ./Lean/Data/Occurrences.c ./Lean/Data/OpenDecl.c ./Lean/Data/Options.c ./Lean/Data/Position.c ./Lean/Data/SMap.c ./Lean/Data/Trie.c ./Lean/Declaration.c ./Lean/Delaborator.c ./Lean/Elab.c ./Lean/Elab/App.c ./Lean/Elab/Attributes.c ./Lean/Elab/Binders.c ./Lean/Elab/BuiltinNotation.c ./Lean/Elab/CollectFVars.c ./Lean/Elab/Command.c ./Lean/Elab/DeclModifiers.c ./Lean/Elab/DeclUtil.c ./Lean/Elab/Declaration.c ./Lean/Elab/DefView.c ./Lean/Elab/Do.c ./Lean/Elab/Exception.c ./Lean/Elab/Frontend.c ./Lean/Elab/Import.c ./Lean/Elab/Inductive.c ./Lean/Elab/LetRec.c ./Lean/Elab/Level.c ./Lean/Elab/Log.c ./Lean/Elab/Match.c ./Lean/Elab/MutualDef.c ./Lean/Elab/PreDefinition.c ./Lean/Elab/PreDefinition/Basic.c ./Lean/Elab/PreDefinition/Main.c ./Lean/Elab/PreDefinition/MkInhabitant.c ./Lean/Elab/PreDefinition/Structural.c ./Lean/Elab/PreDefinition/WF.c ./Lean/Elab/Print.c ./Lean/Elab/Quotation.c ./Lean/Elab/StrategyAttrs.c ./Lean/Elab/StructInst.c ./Lean/Elab/Structure.c ./Lean/Elab/Syntax.c ./Lean/Elab/SyntheticMVars.c ./Lean/Elab/Tactic.c ./Lean/Elab/Tactic/Basic.c ./Lean/Elab/Tactic/Binders.c ./Lean/Elab/Tactic/ElabTerm.c ./Lean/Elab/Tactic/Generalize.c ./Lean/Elab/Tactic/Induction.c ./Lean/Elab/Tactic/Injection.c ./Lean/Elab/Tactic/Location.c ./Lean/Elab/Tactic/Match.c ./Lean/Elab/Tactic/Rewrite.c ./Lean/Elab/Term.c ./Lean/Elab/Util.c ./Lean/Environment.c ./Lean/Eval.c ./Lean/Exception.c ./Lean/Expr.c ./Lean/HeadIndex.c ./Lean/Hygiene.c ./Lean/InternalExceptionId.c ./Lean/KeyedDeclsAttribute.c ./Lean/Level.c ./Lean/Linter.c ./Lean/LocalContext.c ./Lean/Message.c ./Lean/Meta.c ./Lean/Meta/AbstractMVars.c ./Lean/Meta/AbstractNestedProofs.c ./Lean/Meta/AppBuilder.c ./Lean/Meta/Basic.c ./Lean/Meta/Check.c ./Lean/Meta/Closure.c ./Lean/Meta/CollectMVars.c ./Lean/Meta/DiscrTree.c ./Lean/Meta/DiscrTreeTypes.c ./Lean/Meta/ExprDefEq.c ./Lean/Meta/ForEachExpr.c ./Lean/Meta/FunInfo.c ./Lean/Meta/GeneralizeTelescope.c ./Lean/Meta/InferType.c ./Lean/Meta/Instances.c ./Lean/Meta/KAbstract.c ./Lean/Meta/LevelDefEq.c ./Lean/Meta/Match.c ./Lean/Meta/Match/CaseArraySizes.c ./Lean/Meta/Match/CaseValues.c ./Lean/Meta/Match/MVarRenaming.c ./Lean/Meta/Match/Match.c ./Lean/Meta/Match/MatchPatternAttr.c ./Lean/Meta/MatchUtil.c ./Lean/Meta/Offset.c ./Lean/Meta/RecursorInfo.c ./Lean/Meta/Reduce.c ./Lean/Meta/ReduceEval.c ./Lean/Meta/SynthInstance.c ./Lean/Meta/Tactic.c ./Lean/Meta/Tactic/Apply.c ./Lean/Meta/Tactic/Assert.c ./Lean/Meta/Tactic/Assumption.c ./Lean/Meta/Tactic/Cases.c ./Lean/Meta/Tactic/Clear.c ./Lean/Meta/Tactic/FVarSubst.c ./Lean/Meta/Tactic/Generalize.c ./Lean/Meta/Tactic/Induction.c ./Lean/Meta/Tactic/Injection.c ./Lean/Meta/Tactic/Intro.c ./Lean/Meta/Tactic/Replace.c ./Lean/Meta/Tactic/Revert.c ./Lean/Meta/Tactic/Rewrite.c ./Lean/Meta/Tactic/Subst.c ./Lean/Meta/Tactic/Util.c ./Lean/Meta/TransparencyMode.c ./Lean/Meta/WHNF.c ./Lean/MetavarContext.c ./Lean/Modifiers.c ./Lean/MonadEnv.c ./Lean/Parser.c ./Lean/Parser/Basic.c ./Lean/Parser/Command.c ./Lean/Parser/Do.c ./Lean/Parser/Extension.c ./Lean/Parser/Extra.c ./Lean/Parser/Level.c ./Lean/Parser/Module.c ./Lean/Parser/StrInterpolation.c ./Lean/Parser/Syntax.c ./Lean/Parser/Tactic.c ./Lean/Parser/Term.c ./Lean/Parser/Transform.c ./Lean/ParserCompiler.c ./Lean/ParserCompiler/Attribute.c ./Lean/PrettyPrinter.c ./Lean/PrettyPrinter/Backtrack.c ./Lean/PrettyPrinter/Formatter.c ./Lean/PrettyPrinter/Meta.c ./Lean/PrettyPrinter/Parenthesizer.c ./Lean/ProjFns.c ./Lean/ReducibilityAttrs.c ./Lean/ResolveName.c ./Lean/Runtime.c ./Lean/Scopes.c ./Lean/Server.c ./Lean/Server/ServerBin.c ./Lean/Server/Snapshots.c ./Lean/Structure.c ./Lean/Syntax.c ./Lean/ToExpr.c ./Lean/Util.c ./Lean/Util/CollectFVars.c ./Lean/Util/CollectLevelParams.c ./Lean/Util/CollectMVars.c ./Lean/Util/Constructions.c ./Lean/Util/FindExpr.c ./Lean/Util/FindMVar.c ./Lean/Util/FoldConsts.c ./Lean/Util/ForEachExpr.c ./Lean/Util/MonadCache.c ./Lean/Util/PPExt.c ./Lean/Util/PPGoal.c ./Lean/Util/Path.c ./Lean/Util/Profile.c ./Lean/Util/RecDepth.c ./Lean/Util/Recognizers.c ./Lean/Util/ReplaceExpr.c ./Lean/Util/ReplaceLevel.c ./Lean/Util/SCC.c ./Lean/Util/Sorry.c ./Lean/Util/Trace.c ./Std.c ./Std/Data.c ./Std/Data/AssocList.c ./Std/Data/BinomialHeap.c ./Std/Data/DList.c ./Std/Data/HashMap.c ./Std/Data/HashSet.c ./Std/Data/PersistentArray.c ./Std/Data/PersistentHashMap.c ./Std/Data/PersistentHashSet.c ./Std/Data/Queue.c ./Std/Data/RBMap.c ./Std/Data/RBTree.c ./Std/Data/Stack.c ./Std/ShareCommon.c )
+add_library (stage0 OBJECT ./Init.c ./Init/Coe.c ./Init/Control.c ./Init/Control/Alternative.c ./Init/Control/Applicative.c ./Init/Control/Conditional.c ./Init/Control/EState.c ./Init/Control/Except.c ./Init/Control/Functor.c ./Init/Control/Id.c ./Init/Control/Monad.c ./Init/Control/MonadControl.c ./Init/Control/MonadFunctor.c ./Init/Control/MonadLift.c ./Init/Control/MonadRun.c ./Init/Control/Option.c ./Init/Control/Reader.c ./Init/Control/State.c ./Init/Control/StateRef.c ./Init/Core.c ./Init/Data.c ./Init/Data/Array.c ./Init/Data/Array/Basic.c ./Init/Data/Array/BinSearch.c ./Init/Data/Array/ForIn.c ./Init/Data/Array/Macros.c ./Init/Data/Array/QSort.c ./Init/Data/Array/Subarray.c ./Init/Data/Basic.c ./Init/Data/ByteArray.c ./Init/Data/ByteArray/Basic.c ./Init/Data/Char.c ./Init/Data/Char/Basic.c ./Init/Data/Fin.c ./Init/Data/Fin/Basic.c ./Init/Data/Float.c ./Init/Data/FloatArray.c ./Init/Data/FloatArray/Basic.c ./Init/Data/Hashable.c ./Init/Data/Int.c ./Init/Data/Int/Basic.c ./Init/Data/List.c ./Init/Data/List/Basic.c ./Init/Data/List/BasicAux.c ./Init/Data/List/Control.c ./Init/Data/Nat.c ./Init/Data/Nat/Basic.c ./Init/Data/Nat/Bitwise.c ./Init/Data/Nat/Control.c ./Init/Data/Nat/Div.c ./Init/Data/Option.c ./Init/Data/Option/Basic.c ./Init/Data/Option/BasicAux.c ./Init/Data/Option/Instances.c ./Init/Data/Random.c ./Init/Data/Range.c ./Init/Data/Repr.c ./Init/Data/String.c ./Init/Data/String/Basic.c ./Init/Data/String/Extra.c ./Init/Data/ToString.c ./Init/Data/ToString/Basic.c ./Init/Data/ToString/Macro.c ./Init/Data/UInt.c ./Init/Fix.c ./Init/HasCoe.c ./Init/LeanInit.c ./Init/System.c ./Init/System/FilePath.c ./Init/System/IO.c ./Init/System/IOError.c ./Init/System/Platform.c ./Init/System/ST.c ./Init/Util.c ./Init/WF.c ./Lean.c ./Lean/Attributes.c ./Lean/AuxRecursor.c ./Lean/Class.c ./Lean/Compiler.c ./Lean/Compiler/BorrowedAnnotation.c ./Lean/Compiler/ClosedTermCache.c ./Lean/Compiler/ConstFolding.c ./Lean/Compiler/ExportAttr.c ./Lean/Compiler/ExternAttr.c ./Lean/Compiler/IR.c ./Lean/Compiler/IR/Basic.c ./Lean/Compiler/IR/Borrow.c ./Lean/Compiler/IR/Boxing.c ./Lean/Compiler/IR/Checker.c ./Lean/Compiler/IR/CompilerM.c ./Lean/Compiler/IR/CtorLayout.c ./Lean/Compiler/IR/ElimDeadBranches.c ./Lean/Compiler/IR/ElimDeadVars.c ./Lean/Compiler/IR/EmitC.c ./Lean/Compiler/IR/EmitUtil.c ./Lean/Compiler/IR/ExpandResetReuse.c ./Lean/Compiler/IR/Format.c ./Lean/Compiler/IR/FreeVars.c ./Lean/Compiler/IR/LiveVars.c ./Lean/Compiler/IR/NormIds.c ./Lean/Compiler/IR/PushProj.c ./Lean/Compiler/IR/RC.c ./Lean/Compiler/IR/ResetReuse.c ./Lean/Compiler/IR/SimpCase.c ./Lean/Compiler/IR/UnboxResult.c ./Lean/Compiler/ImplementedByAttr.c ./Lean/Compiler/InitAttr.c ./Lean/Compiler/InlineAttrs.c ./Lean/Compiler/NameMangling.c ./Lean/Compiler/NeverExtractAttr.c ./Lean/Compiler/Specialize.c ./Lean/Compiler/Util.c ./Lean/CoreM.c ./Lean/Data/Format.c ./Lean/Data/FormatMacro.c ./Lean/Data/Json.c ./Lean/Data/Json/Basic.c ./Lean/Data/Json/FromToJson.c ./Lean/Data/Json/Parser.c ./Lean/Data/Json/Printer.c ./Lean/Data/Json/Stream.c ./Lean/Data/JsonRpc.c ./Lean/Data/KVMap.c ./Lean/Data/LBool.c ./Lean/Data/LOption.c ./Lean/Data/Lsp.c ./Lean/Data/Lsp/Basic.c ./Lean/Data/Lsp/Capabilities.c ./Lean/Data/Lsp/Communication.c ./Lean/Data/Lsp/Diagnostics.c ./Lean/Data/Lsp/Hover.c ./Lean/Data/Lsp/InitShutdown.c ./Lean/Data/Lsp/TextSync.c ./Lean/Data/Lsp/Utf16.c ./Lean/Data/Lsp/Workspace.c ./Lean/Data/Name.c ./Lean/Data/Occurrences.c ./Lean/Data/OpenDecl.c ./Lean/Data/Options.c ./Lean/Data/Position.c ./Lean/Data/SMap.c ./Lean/Data/Trie.c ./Lean/Declaration.c ./Lean/Delaborator.c ./Lean/Elab.c ./Lean/Elab/App.c ./Lean/Elab/Attributes.c ./Lean/Elab/Binders.c ./Lean/Elab/BuiltinNotation.c ./Lean/Elab/CollectFVars.c ./Lean/Elab/Command.c ./Lean/Elab/DeclModifiers.c ./Lean/Elab/DeclUtil.c ./Lean/Elab/Declaration.c ./Lean/Elab/DefView.c ./Lean/Elab/Do.c ./Lean/Elab/Exception.c ./Lean/Elab/Frontend.c ./Lean/Elab/Import.c ./Lean/Elab/IndentDefs.c ./Lean/Elab/Inductive.c ./Lean/Elab/LetRec.c ./Lean/Elab/Level.c ./Lean/Elab/Log.c ./Lean/Elab/Match.c ./Lean/Elab/MutualDef.c ./Lean/Elab/PreDefinition.c ./Lean/Elab/PreDefinition/Basic.c ./Lean/Elab/PreDefinition/Main.c ./Lean/Elab/PreDefinition/MkInhabitant.c ./Lean/Elab/PreDefinition/Structural.c ./Lean/Elab/PreDefinition/WF.c ./Lean/Elab/Print.c ./Lean/Elab/Quotation.c ./Lean/Elab/StrategyAttrs.c ./Lean/Elab/StructInst.c ./Lean/Elab/Structure.c ./Lean/Elab/Syntax.c ./Lean/Elab/SyntheticMVars.c ./Lean/Elab/Tactic.c ./Lean/Elab/Tactic/Basic.c ./Lean/Elab/Tactic/Binders.c ./Lean/Elab/Tactic/ElabTerm.c ./Lean/Elab/Tactic/Generalize.c ./Lean/Elab/Tactic/Induction.c ./Lean/Elab/Tactic/Injection.c ./Lean/Elab/Tactic/Location.c ./Lean/Elab/Tactic/Match.c ./Lean/Elab/Tactic/Rewrite.c ./Lean/Elab/Term.c ./Lean/Elab/Util.c ./Lean/Environment.c ./Lean/Eval.c ./Lean/Exception.c ./Lean/Expr.c ./Lean/HeadIndex.c ./Lean/Hygiene.c ./Lean/InternalExceptionId.c ./Lean/KeyedDeclsAttribute.c ./Lean/Level.c ./Lean/Linter.c ./Lean/LocalContext.c ./Lean/Message.c ./Lean/Meta.c ./Lean/Meta/AbstractMVars.c ./Lean/Meta/AbstractNestedProofs.c ./Lean/Meta/AppBuilder.c ./Lean/Meta/Basic.c ./Lean/Meta/Check.c ./Lean/Meta/Closure.c ./Lean/Meta/CollectMVars.c ./Lean/Meta/DiscrTree.c ./Lean/Meta/DiscrTreeTypes.c ./Lean/Meta/ExprDefEq.c ./Lean/Meta/ForEachExpr.c ./Lean/Meta/FunInfo.c ./Lean/Meta/GeneralizeTelescope.c ./Lean/Meta/InferType.c ./Lean/Meta/Instances.c ./Lean/Meta/KAbstract.c ./Lean/Meta/LevelDefEq.c ./Lean/Meta/Match.c ./Lean/Meta/Match/CaseArraySizes.c ./Lean/Meta/Match/CaseValues.c ./Lean/Meta/Match/MVarRenaming.c ./Lean/Meta/Match/Match.c ./Lean/Meta/Match/MatchPatternAttr.c ./Lean/Meta/MatchUtil.c ./Lean/Meta/Offset.c ./Lean/Meta/RecursorInfo.c ./Lean/Meta/Reduce.c ./Lean/Meta/ReduceEval.c ./Lean/Meta/SynthInstance.c ./Lean/Meta/Tactic.c ./Lean/Meta/Tactic/Apply.c ./Lean/Meta/Tactic/Assert.c ./Lean/Meta/Tactic/Assumption.c ./Lean/Meta/Tactic/Cases.c ./Lean/Meta/Tactic/Clear.c ./Lean/Meta/Tactic/FVarSubst.c ./Lean/Meta/Tactic/Generalize.c ./Lean/Meta/Tactic/Induction.c ./Lean/Meta/Tactic/Injection.c ./Lean/Meta/Tactic/Intro.c ./Lean/Meta/Tactic/Replace.c ./Lean/Meta/Tactic/Revert.c ./Lean/Meta/Tactic/Rewrite.c ./Lean/Meta/Tactic/Subst.c ./Lean/Meta/Tactic/Util.c ./Lean/Meta/TransparencyMode.c ./Lean/Meta/WHNF.c ./Lean/MetavarContext.c ./Lean/Modifiers.c ./Lean/MonadEnv.c ./Lean/Parser.c ./Lean/Parser/Basic.c ./Lean/Parser/Command.c ./Lean/Parser/Do.c ./Lean/Parser/Extension.c ./Lean/Parser/Extra.c ./Lean/Parser/Level.c ./Lean/Parser/Module.c ./Lean/Parser/StrInterpolation.c ./Lean/Parser/Syntax.c ./Lean/Parser/Tactic.c ./Lean/Parser/Term.c ./Lean/Parser/Transform.c ./Lean/ParserCompiler.c ./Lean/ParserCompiler/Attribute.c ./Lean/PrettyPrinter.c ./Lean/PrettyPrinter/Backtrack.c ./Lean/PrettyPrinter/Formatter.c ./Lean/PrettyPrinter/Meta.c ./Lean/PrettyPrinter/Parenthesizer.c ./Lean/ProjFns.c ./Lean/ReducibilityAttrs.c ./Lean/ResolveName.c ./Lean/Runtime.c ./Lean/Scopes.c ./Lean/Server.c ./Lean/Server/ServerBin.c ./Lean/Server/Snapshots.c ./Lean/Structure.c ./Lean/Syntax.c ./Lean/ToExpr.c ./Lean/Util.c ./Lean/Util/CollectFVars.c ./Lean/Util/CollectLevelParams.c ./Lean/Util/CollectMVars.c ./Lean/Util/Constructions.c ./Lean/Util/FindExpr.c ./Lean/Util/FindMVar.c ./Lean/Util/FoldConsts.c ./Lean/Util/ForEachExpr.c ./Lean/Util/MonadCache.c ./Lean/Util/PPExt.c ./Lean/Util/PPGoal.c ./Lean/Util/Path.c ./Lean/Util/Profile.c ./Lean/Util/RecDepth.c ./Lean/Util/Recognizers.c ./Lean/Util/ReplaceExpr.c ./Lean/Util/ReplaceLevel.c ./Lean/Util/SCC.c ./Lean/Util/Sorry.c ./Lean/Util/Trace.c ./Std.c ./Std/Data.c ./Std/Data/AssocList.c ./Std/Data/BinomialHeap.c ./Std/Data/DList.c ./Std/Data/HashMap.c ./Std/Data/HashSet.c ./Std/Data/PersistentArray.c ./Std/Data/PersistentHashMap.c ./Std/Data/PersistentHashSet.c ./Std/Data/Queue.c ./Std/Data/RBMap.c ./Std/Data/RBTree.c ./Std/Data/Stack.c ./Std/ShareCommon.c )
diff --git a/stage0/stdlib/Lean/Attributes.c b/stage0/stdlib/Lean/Attributes.c
index 8f96af6a55..f779eabaa7 100644
--- a/stage0/stdlib/Lean/Attributes.c
+++ b/stage0/stdlib/Lean/Attributes.c
@@ -323,7 +323,6 @@ lean_object* lean_push_scope(lean_object*, lean_object*, uint8_t, lean_object*);
lean_object* l_Lean_Environment_getModuleIdxFor_x3f(lean_object*, lean_object*);
lean_object* l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_registerParametricAttribute___spec__4___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_registerEnumAttributes___spec__3___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-extern lean_object* l_Lean_TraceState_Inhabited___closed__1;
lean_object* l_Lean_registerParametricAttribute___rarg___lambda__3___boxed(lean_object*, lean_object*);
lean_object* l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_registerEnumAttributes___spec__6(lean_object*);
lean_object* l_Lean_attrResolveName___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -416,6 +415,7 @@ lean_object* l_Lean_registerTagAttribute___lambda__3___closed__2;
lean_object* l_Lean_attrResolveName___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_mkAttributeImplOfBuilder(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_registerEnumAttributes(lean_object*);
+extern lean_object* l_Lean_TraceState_Lean_Util_Trace___instance__2___closed__1;
lean_object* l_Lean_registerTagAttribute___lambda__3___boxed(lean_object*);
lean_object* l_Lean_registerBuiltinAttribute___closed__1;
lean_object* l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_registerParametricAttribute___spec__6___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -4667,7 +4667,7 @@ lean_inc(x_11);
lean_dec(x_9);
x_12 = l_Lean_Unhygienic_run___rarg___closed__1;
x_13 = l_Lean_NameGenerator_Inhabited___closed__3;
-x_14 = l_Lean_TraceState_Inhabited___closed__1;
+x_14 = l_Lean_TraceState_Lean_Util_Trace___instance__2___closed__1;
x_15 = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(x_15, 0, x_1);
lean_ctor_set(x_15, 1, x_12);
diff --git a/stage0/stdlib/Lean/Compiler/ExternAttr.c b/stage0/stdlib/Lean/Compiler/ExternAttr.c
index d83ef800e5..1e8af3d189 100644
--- a/stage0/stdlib/Lean/Compiler/ExternAttr.c
+++ b/stage0/stdlib/Lean/Compiler/ExternAttr.c
@@ -190,7 +190,6 @@ lean_object* l_Lean_expandExternPatternAux(lean_object*, lean_object*, lean_obje
lean_object* l_Lean_getExternEntryForAux___boxed(lean_object*, lean_object*);
lean_object* l___private_Lean_Compiler_ExternAttr_0__Lean_syntaxToExternAttrData___closed__9;
lean_object* l_Lean_Environment_getModuleIdxFor_x3f(lean_object*, lean_object*);
-extern lean_object* l_Lean_TraceState_Inhabited___closed__1;
lean_object* l___private_Lean_Compiler_ExternAttr_0__Lean_syntaxToExternAttrData___closed__4;
lean_object* l_Lean_isExternC_match__1(lean_object*);
lean_object* l___private_Lean_Compiler_ExternAttr_0__Lean_syntaxToExternAttrData___closed__2;
@@ -228,6 +227,7 @@ lean_object* l___private_Lean_Compiler_ExternAttr_0__Lean_syntaxToExternAttrData
lean_object* l___private_Lean_Compiler_ExternAttr_0__Lean_syntaxToExternAttrData___closed__6;
lean_object* l___private_Lean_Compiler_ExternAttr_0__Lean_syntaxToExternEntries___closed__5;
lean_object* l_List_foldl___main___at_Lean_mkSimpleFnCall___spec__1(lean_object*, lean_object*);
+extern lean_object* l_Lean_TraceState_Lean_Util_Trace___instance__2___closed__1;
lean_object* l_Lean_registerParametricAttribute___at_Lean_initFn____x40_Lean_Compiler_ExternAttr___hyg_372____spec__2___closed__1;
lean_object* l_Lean_ParametricAttribute_getParam___at_Lean_getExternAttrData___spec__1(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_NameGenerator_Inhabited___closed__3;
@@ -4829,7 +4829,7 @@ _start:
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;
x_4 = l_Lean_Unhygienic_run___rarg___closed__1;
x_5 = l_Lean_NameGenerator_Inhabited___closed__3;
-x_6 = l_Lean_TraceState_Inhabited___closed__1;
+x_6 = l_Lean_TraceState_Lean_Util_Trace___instance__2___closed__1;
x_7 = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(x_7, 0, x_1);
lean_ctor_set(x_7, 1, x_4);
diff --git a/stage0/stdlib/Lean/Compiler/IR/EmitC.c b/stage0/stdlib/Lean/Compiler/IR/EmitC.c
index fa0af862e9..30badc5f6f 100644
--- a/stage0/stdlib/Lean/Compiler/IR/EmitC.c
+++ b/stage0/stdlib/Lean/Compiler/IR/EmitC.c
@@ -177,6 +177,7 @@ lean_object* l_Lean_IR_EmitC_toCInitName_match__1(lean_object*);
lean_object* l_Lean_IR_EmitC_emitInitFn(lean_object*, lean_object*);
uint8_t l_Nat_anyAux___main___at_Lean_IR_EmitC_overwriteParam___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_EmitC_declareVars(lean_object*, uint8_t, lean_object*, lean_object*);
+extern lean_object* l_Lean_ppGoal___closed__6;
lean_object* l_Lean_IR_EmitC_emitCtorSetArgs(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_EmitC_emitUnbox___closed__1;
uint8_t l_Lean_IR_IRType_isObj(lean_object*);
@@ -621,7 +622,6 @@ uint8_t l_Lean_IR_EmitC_paramEqArg(lean_object*, lean_object*);
lean_object* l_Lean_IR_EmitC_emitCase(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_EmitC_emitSSet___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Nat_forMAux___main___at_Lean_IR_EmitC_emitArgs___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-extern lean_object* l_Lean_ppGoal___closed__7;
lean_object* l_Lean_IR_EmitC_emitLns___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_IR_EmitC_emitFileHeader___closed__10;
lean_object* l_Lean_IR_EmitC_getModName(lean_object*, lean_object*);
@@ -12228,7 +12228,7 @@ lean_inc(x_10);
x_11 = lean_ctor_get(x_9, 1);
lean_inc(x_11);
lean_dec(x_9);
-x_12 = l_Lean_ppGoal___closed__7;
+x_12 = l_Lean_ppGoal___closed__6;
x_13 = lean_string_append(x_4, x_12);
x_14 = lean_ctor_get(x_10, 1);
lean_inc(x_14);
diff --git a/stage0/stdlib/Lean/Compiler/IR/Format.c b/stage0/stdlib/Lean/Compiler/IR/Format.c
index 9ea6e4147b..b4e5069eaa 100644
--- a/stage0/stdlib/Lean/Compiler/IR/Format.c
+++ b/stage0/stdlib/Lean/Compiler/IR/Format.c
@@ -218,11 +218,11 @@ lean_object* l___private_Lean_Compiler_IR_Format_0__Lean_IR_formatIRType___close
lean_object* l___private_Lean_Compiler_IR_Format_0__Lean_IR_formatIRType___closed__2;
lean_object* l_Lean_IR_formatFnBodyHead___closed__19;
lean_object* l_Lean_Format_joinSep___main___at___private_Lean_Compiler_IR_Format_0__Lean_IR_formatIRType___spec__1(lean_object*, lean_object*);
-extern lean_object* l_Lean_ppGoal___closed__8;
lean_object* l_Lean_IR_formatAlt_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Compiler_IR_Format_0__Lean_IR_formatExpr___closed__16;
lean_object* l_Lean_IR_formatFnBodyHead___closed__36;
lean_object* lean_nat_to_int(lean_object*);
+extern lean_object* l_Lean_ppGoal___closed__7;
lean_object* l_Lean_IR_formatFnBody_loop___closed__3;
lean_object* l_Lean_IR_exprHasToString(lean_object*);
lean_object* l_Lean_IR_formatFnBody(lean_object*, lean_object*);
@@ -3931,7 +3931,7 @@ x_177 = lean_string_append(x_176, x_175);
lean_dec(x_175);
x_178 = lean_alloc_ctor(2, 1, 0);
lean_ctor_set(x_178, 0, x_177);
-x_179 = l_Lean_ppGoal___closed__8;
+x_179 = l_Lean_ppGoal___closed__7;
x_180 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_180, 0, x_179);
lean_ctor_set(x_180, 1, x_178);
@@ -5076,7 +5076,7 @@ x_274 = lean_string_append(x_273, x_272);
lean_dec(x_272);
x_275 = lean_alloc_ctor(2, 1, 0);
lean_ctor_set(x_275, 0, x_274);
-x_276 = l_Lean_ppGoal___closed__8;
+x_276 = l_Lean_ppGoal___closed__7;
x_277 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_277, 0, x_276);
lean_ctor_set(x_277, 1, x_275);
diff --git a/stage0/stdlib/Lean/CoreM.c b/stage0/stdlib/Lean/CoreM.c
index eee27e891e..bb7b0b68ea 100644
--- a/stage0/stdlib/Lean/CoreM.c
+++ b/stage0/stdlib/Lean/CoreM.c
@@ -120,7 +120,6 @@ lean_object* l_Lean_Core_CoreM_toIO(lean_object*);
lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Core_hasEval(lean_object*);
lean_object* l_Lean_Core_Lean_AddMessageContext___closed__1;
-extern lean_object* l_Lean_TraceState_Inhabited___closed__1;
lean_object* l_Lean_catchInternalId(lean_object*, lean_object*);
lean_object* l_Lean_Core_hasEval___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*);
lean_object* l_Lean_Core_Lean_MonadRecDepth___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -149,6 +148,7 @@ lean_object* l_Std_PersistentArray_forMAux___at_Lean_Core_hasEval___spec__3(lean
lean_object* l_Lean_Core_Lean_MonadRecDepth___closed__2;
lean_object* l_Lean_Core_CoreM_toIO___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Core_liftIOCore___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
+extern lean_object* l_Lean_TraceState_Lean_Util_Trace___instance__2___closed__1;
lean_object* l_Lean_Core_CoreM_inhabited___boxed(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_NameGenerator_Inhabited___closed__3;
uint8_t lean_nat_dec_lt(lean_object*, lean_object*);
@@ -176,7 +176,7 @@ lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_obj
x_1 = l_Lean_Core_State_inhabited___closed__1;
x_2 = l_Lean_Unhygienic_run___rarg___closed__1;
x_3 = l_Lean_NameGenerator_Inhabited___closed__3;
-x_4 = l_Lean_TraceState_Inhabited___closed__1;
+x_4 = l_Lean_TraceState_Lean_Util_Trace___instance__2___closed__1;
x_5 = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(x_5, 0, x_1);
lean_ctor_set(x_5, 1, x_2);
@@ -2103,7 +2103,7 @@ lean_ctor_set(x_32, 2, x_29);
lean_ctor_set(x_32, 3, x_31);
x_33 = l_Lean_Unhygienic_run___rarg___closed__1;
x_34 = l_Lean_NameGenerator_Inhabited___closed__3;
-x_35 = l_Lean_TraceState_Inhabited___closed__1;
+x_35 = l_Lean_TraceState_Lean_Util_Trace___instance__2___closed__1;
x_36 = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(x_36, 0, x_2);
lean_ctor_set(x_36, 1, x_33);
diff --git a/stage0/stdlib/Lean/Delaborator.c b/stage0/stdlib/Lean/Delaborator.c
index 4a4721063e..8ea9a72429 100644
--- a/stage0/stdlib/Lean/Delaborator.c
+++ b/stage0/stdlib/Lean/Delaborator.c
@@ -56,6 +56,7 @@ lean_object* l_Lean_Delaborator_Alternative___closed__8;
lean_object* lean_local_ctx_get_unused_name(lean_object*, lean_object*);
lean_object* l_Lean_Delaborator_DelabM_monadQuotation___closed__2;
lean_object* l___regBuiltin_Lean_Delaborator_delabFVar___closed__1;
+extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
lean_object* lean_mk_empty_array_with_capacity(lean_object*);
lean_object* l___regBuiltin_Lean_Delaborator_delabMod(lean_object*);
lean_object* l___regBuiltin_Lean_Delaborator_delabseqRight___closed__4;
@@ -198,7 +199,6 @@ lean_object* l_Lean_Delaborator_delabCoeFun(lean_object*, lean_object*, lean_obj
lean_object* l_Lean_Delaborator_descend___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_List_tailD___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Delaborator_delabFComp___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__11;
lean_object* l_Lean_Delaborator_delabBAnd___lambda__1___closed__1;
lean_object* l_Lean_Delaborator_delabMod___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Delaborator_delabAnd___lambda__1___closed__4;
@@ -293,6 +293,7 @@ lean_object* l_Lean_Level_quote___main___lambda__3___boxed(lean_object*, lean_ob
lean_object* l_Lean_Delaborator_delabOrElse___lambda__1___closed__3;
lean_object* l___regBuiltin_Lean_Delaborator_delabOr(lean_object*);
lean_object* l___regBuiltin_Lean_Delaborator_delabBEq___closed__2;
+extern lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__8;
lean_object* l_Lean_Delaborator_delabSub___lambda__1___closed__2;
lean_object* l_Lean_Delaborator_delabEq___closed__1;
lean_object* l_Lean_Level_HasQuote;
@@ -397,7 +398,6 @@ lean_object* l_Lean_Delaborator_delabBOr___lambda__1___boxed(lean_object*, lean_
lean_object* l_Lean_Delaborator_orelse(lean_object*);
lean_object* l_Lean_Delaborator_delabBNe___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Level_LevelToFormat_Result_format___closed__3;
-extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
extern lean_object* l_Lean_numLitKind;
lean_object* l_Lean_Delaborator_delabCons___lambda__1___closed__3;
extern lean_object* l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__22;
@@ -452,6 +452,7 @@ lean_object* l___regBuiltin_Lean_Delaborator_delabseq___closed__4;
lean_object* l_Lean_Delaborator_delabMul___lambda__1___closed__1;
lean_object* l_Lean_Delaborator_delabProj___closed__1;
lean_object* l_Lean_Delaborator_delabNe___closed__1;
+extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
lean_object* l_Lean_Delaborator_delabStructureInstance___closed__2;
lean_object* l___regBuiltin_Lean_Delaborator_delabAnd___closed__1;
lean_object* l_Lean_Delaborator_delabNot___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -630,6 +631,7 @@ lean_object* l_Lean_Delaborator_delabBNe___closed__1;
lean_object* l_Lean_Delaborator_delabProd___lambda__1___closed__2;
lean_object* l_Lean_Delaborator_delabOrM(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Delaborator_delabGE___lambda__1___closed__1;
+extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
lean_object* l___regBuiltin_Lean_Delaborator_delabCoeFun___closed__3;
lean_object* l_Array_iterateMAux___main___at_Array_append___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Delaborator_delabFComp___closed__1;
@@ -726,7 +728,6 @@ lean_object* l___regBuiltin_Lean_Delaborator_delabProjectionApp(lean_object*);
lean_object* l_Lean_Delaborator_delabGT___lambda__1___closed__2;
lean_object* l___regBuiltin_Lean_Delaborator_delabAppExplicit___closed__1;
lean_object* l_Lean_delab(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-extern lean_object* l___private_Lean_Util_PPExt_1__registerOptions___closed__8;
lean_object* l_Lean_getPPStructureInstanceType___boxed(lean_object*);
lean_object* l_Lean_Delaborator_delabFor(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_getPPStructureInstanceType___closed__1;
@@ -753,6 +754,7 @@ lean_object* l___regBuiltin_Lean_Delaborator_delabNe(lean_object*);
lean_object* l_Lean_Level_quote___main___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Delaborator_delabAppExplicit___lambda__1___closed__2;
lean_object* l_Lean_Delaborator_delabNe___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__11;
lean_object* l_Lean_Delaborator_delabConst___closed__6;
lean_object* l_Lean_Level_quote___main___lambda__9___closed__1;
lean_object* l_Lean_Delaborator_descend(lean_object*);
@@ -888,7 +890,6 @@ lean_object* l_Lean_getPPNotation___closed__2;
lean_object* l___regBuiltin_Lean_Delaborator_delabLit___closed__1;
lean_object* l___regBuiltin_Lean_Delaborator_delabLT(lean_object*);
uint8_t l_Lean_Expr_hasLooseBVars(lean_object*);
-extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
lean_object* l_Lean_getPPExplicit___closed__1;
lean_object* l_Lean_Delaborator_delabLetE___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Delaborator_delabLT___lambda__1___closed__1;
@@ -1073,7 +1074,6 @@ lean_object* l___private_Lean_Delaborator_3__unresolveOpenDecls___main(lean_obje
lean_object* l_Lean_Delaborator_delabOrElse___lambda__1___closed__4;
lean_object* l_Lean_getPPPrivateNames___boxed(lean_object*);
lean_object* l_Array_anyRangeMAux___main___at_Lean_Delaborator_delabForall___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
lean_object* l___regBuiltin_Lean_Delaborator_delabModN(lean_object*);
extern lean_object* l_Lean_sanitizeNamesOption___closed__2;
lean_object* l_Lean_Level_quote___main___lambda__8(lean_object*, lean_object*, lean_object*, lean_object*);
@@ -1370,7 +1370,7 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Elab_Level_elabLevel___closed__6;
-x_2 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__11;
+x_2 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__11;
x_3 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_3, 0, x_1);
lean_ctor_set(x_3, 1, x_2);
@@ -2224,7 +2224,7 @@ static lean_object* _init_l_Lean_ppOptions___closed__2() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
-x_1 = l___private_Lean_Util_PPExt_1__registerOptions___closed__8;
+x_1 = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__8;
x_2 = l_Lean_sanitizeNamesOption___closed__1;
x_3 = l_Lean_ppOptions___closed__1;
x_4 = lean_alloc_ctor(0, 3, 0);
@@ -2246,7 +2246,7 @@ static lean_object* _init_l_Lean_ppOptions___closed__4() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
-x_1 = l___private_Lean_Util_PPExt_1__registerOptions___closed__8;
+x_1 = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__8;
x_2 = l_Lean_sanitizeNamesOption___closed__1;
x_3 = l_Lean_ppOptions___closed__3;
x_4 = lean_alloc_ctor(0, 3, 0);
@@ -13728,7 +13728,7 @@ lean_object* x_29; uint8_t x_30; lean_object* x_63; uint8_t x_64;
lean_dec(x_14);
x_29 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_1);
lean_dec(x_1);
-x_63 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_63 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
lean_inc(x_2);
x_64 = l_Lean_Syntax_isOfKind(x_2, x_63);
if (x_64 == 0)
@@ -13761,12 +13761,12 @@ x_33 = l_Lean_nullKind___closed__2;
x_34 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_34, 0, x_33);
lean_ctor_set(x_34, 1, x_32);
-x_35 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_35 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_36 = lean_array_push(x_35, x_34);
-x_37 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_37 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_38 = lean_array_push(x_36, x_37);
x_39 = lean_array_push(x_38, x_2);
-x_40 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_40 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_41 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_41, 0, x_40);
lean_ctor_set(x_41, 1, x_39);
@@ -13798,12 +13798,12 @@ x_52 = l_Lean_nullKind___closed__2;
x_53 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_53, 0, x_52);
lean_ctor_set(x_53, 1, x_51);
-x_54 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_54 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_55 = lean_array_push(x_54, x_53);
-x_56 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_56 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_57 = lean_array_push(x_55, x_56);
x_58 = lean_array_push(x_57, x_46);
-x_59 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_59 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_60 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_60, 0, x_59);
lean_ctor_set(x_60, 1, x_58);
@@ -13857,7 +13857,7 @@ x_91 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__4;
x_92 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_92, 0, x_91);
lean_ctor_set(x_92, 1, x_90);
-x_120 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_120 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
lean_inc(x_2);
x_121 = l_Lean_Syntax_isOfKind(x_2, x_120);
if (x_121 == 0)
@@ -13888,12 +13888,12 @@ x_94 = lean_array_push(x_76, x_92);
x_95 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_95, 0, x_83);
lean_ctor_set(x_95, 1, x_94);
-x_96 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_96 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_97 = lean_array_push(x_96, x_95);
-x_98 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_98 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_99 = lean_array_push(x_97, x_98);
x_100 = lean_array_push(x_99, x_2);
-x_101 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_101 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_102 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_102, 0, x_101);
lean_ctor_set(x_102, 1, x_100);
@@ -13921,12 +13921,12 @@ lean_dec(x_107);
x_110 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_110, 0, x_83);
lean_ctor_set(x_110, 1, x_109);
-x_111 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_111 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_112 = lean_array_push(x_111, x_110);
-x_113 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_113 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_114 = lean_array_push(x_112, x_113);
x_115 = lean_array_push(x_114, x_106);
-x_116 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_116 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_117 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_117, 0, x_116);
lean_ctor_set(x_117, 1, x_115);
@@ -13984,7 +13984,7 @@ x_152 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__4;
x_153 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_153, 0, x_152);
lean_ctor_set(x_153, 1, x_151);
-x_181 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_181 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
lean_inc(x_2);
x_182 = l_Lean_Syntax_isOfKind(x_2, x_181);
if (x_182 == 0)
@@ -14015,12 +14015,12 @@ x_155 = lean_array_push(x_130, x_153);
x_156 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_156, 0, x_134);
lean_ctor_set(x_156, 1, x_155);
-x_157 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_157 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_158 = lean_array_push(x_157, x_156);
-x_159 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_159 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_160 = lean_array_push(x_158, x_159);
x_161 = lean_array_push(x_160, x_2);
-x_162 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_162 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_163 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_163, 0, x_162);
lean_ctor_set(x_163, 1, x_161);
@@ -14048,12 +14048,12 @@ lean_dec(x_168);
x_171 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_171, 0, x_134);
lean_ctor_set(x_171, 1, x_170);
-x_172 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_172 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_173 = lean_array_push(x_172, x_171);
-x_174 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_174 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_175 = lean_array_push(x_173, x_174);
x_176 = lean_array_push(x_175, x_167);
-x_177 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_177 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_178 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_178, 0, x_177);
lean_ctor_set(x_178, 1, x_176);
@@ -14102,7 +14102,7 @@ x_200 = l_Lean_Delaborator_delabLam___lambda__1___closed__1;
x_201 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_201, 0, x_200);
lean_ctor_set(x_201, 1, x_199);
-x_230 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_230 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
lean_inc(x_2);
x_231 = l_Lean_Syntax_isOfKind(x_2, x_230);
if (x_231 == 0)
@@ -14133,12 +14133,12 @@ x_203 = lean_array_push(x_190, x_201);
x_204 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_204, 0, x_192);
lean_ctor_set(x_204, 1, x_203);
-x_205 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_205 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_206 = lean_array_push(x_205, x_204);
-x_207 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_207 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_208 = lean_array_push(x_206, x_207);
x_209 = lean_array_push(x_208, x_2);
-x_210 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_210 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_211 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_211, 0, x_210);
lean_ctor_set(x_211, 1, x_209);
@@ -14167,12 +14167,12 @@ lean_dec(x_217);
x_220 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_220, 0, x_192);
lean_ctor_set(x_220, 1, x_219);
-x_221 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_221 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_222 = lean_array_push(x_221, x_220);
-x_223 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_223 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_224 = lean_array_push(x_222, x_223);
x_225 = lean_array_push(x_224, x_216);
-x_226 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_226 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_227 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_227, 0, x_226);
lean_ctor_set(x_227, 1, x_225);
@@ -14212,7 +14212,7 @@ x_250 = l_Lean_Delaborator_delabLam___lambda__1___closed__1;
x_251 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_251, 0, x_250);
lean_ctor_set(x_251, 1, x_249);
-x_280 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_280 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
lean_inc(x_2);
x_281 = l_Lean_Syntax_isOfKind(x_2, x_280);
if (x_281 == 0)
@@ -14243,12 +14243,12 @@ x_253 = lean_array_push(x_238, x_251);
x_254 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_254, 0, x_240);
lean_ctor_set(x_254, 1, x_253);
-x_255 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_255 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_256 = lean_array_push(x_255, x_254);
-x_257 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_257 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_258 = lean_array_push(x_256, x_257);
x_259 = lean_array_push(x_258, x_2);
-x_260 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_260 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_261 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_261, 0, x_260);
lean_ctor_set(x_261, 1, x_259);
@@ -14277,12 +14277,12 @@ lean_dec(x_267);
x_270 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_270, 0, x_240);
lean_ctor_set(x_270, 1, x_269);
-x_271 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_271 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_272 = lean_array_push(x_271, x_270);
-x_273 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_273 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_274 = lean_array_push(x_272, x_273);
x_275 = lean_array_push(x_274, x_266);
-x_276 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_276 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_277 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_277, 0, x_276);
lean_ctor_set(x_277, 1, x_275);
@@ -14323,7 +14323,7 @@ if (lean_is_exclusive(x_289)) {
lean_dec_ref(x_289);
x_292 = lean_box(0);
}
-x_326 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_326 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
lean_inc(x_2);
x_327 = l_Lean_Syntax_isOfKind(x_2, x_326);
if (x_327 == 0)
@@ -14356,12 +14356,12 @@ x_296 = l_Lean_nullKind___closed__2;
x_297 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_297, 0, x_296);
lean_ctor_set(x_297, 1, x_295);
-x_298 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_298 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_299 = lean_array_push(x_298, x_297);
-x_300 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_300 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_301 = lean_array_push(x_299, x_300);
x_302 = lean_array_push(x_301, x_2);
-x_303 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_303 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_304 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_304, 0, x_303);
lean_ctor_set(x_304, 1, x_302);
@@ -14393,12 +14393,12 @@ x_315 = l_Lean_nullKind___closed__2;
x_316 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_316, 0, x_315);
lean_ctor_set(x_316, 1, x_314);
-x_317 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_317 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_318 = lean_array_push(x_317, x_316);
-x_319 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_319 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_320 = lean_array_push(x_318, x_319);
x_321 = lean_array_push(x_320, x_309);
-x_322 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_322 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_323 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_323, 0, x_322);
lean_ctor_set(x_323, 1, x_321);
@@ -14465,7 +14465,7 @@ x_349 = l_Lean_Delaborator_delabLam___lambda__1___closed__2;
x_350 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_350, 0, x_349);
lean_ctor_set(x_350, 1, x_348);
-x_380 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_380 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
lean_inc(x_2);
x_381 = l_Lean_Syntax_isOfKind(x_2, x_380);
if (x_381 == 0)
@@ -14496,12 +14496,12 @@ x_352 = lean_array_push(x_338, x_350);
x_353 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_353, 0, x_342);
lean_ctor_set(x_353, 1, x_352);
-x_354 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_354 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_355 = lean_array_push(x_354, x_353);
-x_356 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_356 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_357 = lean_array_push(x_355, x_356);
x_358 = lean_array_push(x_357, x_2);
-x_359 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_359 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_360 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_360, 0, x_359);
lean_ctor_set(x_360, 1, x_358);
@@ -14531,12 +14531,12 @@ lean_dec(x_366);
x_370 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_370, 0, x_342);
lean_ctor_set(x_370, 1, x_369);
-x_371 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_371 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_372 = lean_array_push(x_371, x_370);
-x_373 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_373 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_374 = lean_array_push(x_372, x_373);
x_375 = lean_array_push(x_374, x_365);
-x_376 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_376 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_377 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_377, 0, x_376);
lean_ctor_set(x_377, 1, x_375);
@@ -14576,7 +14576,7 @@ if (lean_is_exclusive(x_389)) {
lean_dec_ref(x_389);
x_392 = lean_box(0);
}
-x_426 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_426 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
lean_inc(x_2);
x_427 = l_Lean_Syntax_isOfKind(x_2, x_426);
if (x_427 == 0)
@@ -14609,12 +14609,12 @@ x_396 = l_Lean_nullKind___closed__2;
x_397 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_397, 0, x_396);
lean_ctor_set(x_397, 1, x_395);
-x_398 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_398 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_399 = lean_array_push(x_398, x_397);
-x_400 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_400 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_401 = lean_array_push(x_399, x_400);
x_402 = lean_array_push(x_401, x_2);
-x_403 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_403 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_404 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_404, 0, x_403);
lean_ctor_set(x_404, 1, x_402);
@@ -14646,12 +14646,12 @@ x_415 = l_Lean_nullKind___closed__2;
x_416 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_416, 0, x_415);
lean_ctor_set(x_416, 1, x_414);
-x_417 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_417 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_418 = lean_array_push(x_417, x_416);
-x_419 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_419 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_420 = lean_array_push(x_418, x_419);
x_421 = lean_array_push(x_420, x_409);
-x_422 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_422 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_423 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_423, 0, x_422);
lean_ctor_set(x_423, 1, x_421);
@@ -14808,7 +14808,7 @@ lean_object* x_460; uint8_t x_461; lean_object* x_494; uint8_t x_495;
lean_dec(x_14);
x_460 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_1);
lean_dec(x_1);
-x_494 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_494 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
lean_inc(x_2);
x_495 = l_Lean_Syntax_isOfKind(x_2, x_494);
if (x_495 == 0)
@@ -14841,12 +14841,12 @@ x_464 = l_Lean_nullKind___closed__2;
x_465 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_465, 0, x_464);
lean_ctor_set(x_465, 1, x_463);
-x_466 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_466 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_467 = lean_array_push(x_466, x_465);
-x_468 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_468 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_469 = lean_array_push(x_467, x_468);
x_470 = lean_array_push(x_469, x_2);
-x_471 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_471 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_472 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_472, 0, x_471);
lean_ctor_set(x_472, 1, x_470);
@@ -14878,12 +14878,12 @@ x_483 = l_Lean_nullKind___closed__2;
x_484 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_484, 0, x_483);
lean_ctor_set(x_484, 1, x_482);
-x_485 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_485 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_486 = lean_array_push(x_485, x_484);
-x_487 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_487 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_488 = lean_array_push(x_486, x_487);
x_489 = lean_array_push(x_488, x_477);
-x_490 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_490 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_491 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_491, 0, x_490);
lean_ctor_set(x_491, 1, x_489);
@@ -14937,7 +14937,7 @@ x_522 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__4;
x_523 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_523, 0, x_522);
lean_ctor_set(x_523, 1, x_521);
-x_551 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_551 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
lean_inc(x_2);
x_552 = l_Lean_Syntax_isOfKind(x_2, x_551);
if (x_552 == 0)
@@ -14968,12 +14968,12 @@ x_525 = lean_array_push(x_507, x_523);
x_526 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_526, 0, x_514);
lean_ctor_set(x_526, 1, x_525);
-x_527 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_527 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_528 = lean_array_push(x_527, x_526);
-x_529 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_529 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_530 = lean_array_push(x_528, x_529);
x_531 = lean_array_push(x_530, x_2);
-x_532 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_532 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_533 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_533, 0, x_532);
lean_ctor_set(x_533, 1, x_531);
@@ -15001,12 +15001,12 @@ lean_dec(x_538);
x_541 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_541, 0, x_514);
lean_ctor_set(x_541, 1, x_540);
-x_542 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_542 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_543 = lean_array_push(x_542, x_541);
-x_544 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_544 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_545 = lean_array_push(x_543, x_544);
x_546 = lean_array_push(x_545, x_537);
-x_547 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_547 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_548 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_548, 0, x_547);
lean_ctor_set(x_548, 1, x_546);
@@ -15064,7 +15064,7 @@ x_583 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__4;
x_584 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_584, 0, x_583);
lean_ctor_set(x_584, 1, x_582);
-x_612 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_612 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
lean_inc(x_2);
x_613 = l_Lean_Syntax_isOfKind(x_2, x_612);
if (x_613 == 0)
@@ -15095,12 +15095,12 @@ x_586 = lean_array_push(x_561, x_584);
x_587 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_587, 0, x_565);
lean_ctor_set(x_587, 1, x_586);
-x_588 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_588 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_589 = lean_array_push(x_588, x_587);
-x_590 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_590 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_591 = lean_array_push(x_589, x_590);
x_592 = lean_array_push(x_591, x_2);
-x_593 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_593 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_594 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_594, 0, x_593);
lean_ctor_set(x_594, 1, x_592);
@@ -15128,12 +15128,12 @@ lean_dec(x_599);
x_602 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_602, 0, x_565);
lean_ctor_set(x_602, 1, x_601);
-x_603 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_603 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_604 = lean_array_push(x_603, x_602);
-x_605 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_605 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_606 = lean_array_push(x_604, x_605);
x_607 = lean_array_push(x_606, x_598);
-x_608 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_608 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_609 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_609, 0, x_608);
lean_ctor_set(x_609, 1, x_607);
@@ -15182,7 +15182,7 @@ x_631 = l_Lean_Delaborator_delabLam___lambda__1___closed__1;
x_632 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_632, 0, x_631);
lean_ctor_set(x_632, 1, x_630);
-x_661 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_661 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
lean_inc(x_2);
x_662 = l_Lean_Syntax_isOfKind(x_2, x_661);
if (x_662 == 0)
@@ -15213,12 +15213,12 @@ x_634 = lean_array_push(x_621, x_632);
x_635 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_635, 0, x_623);
lean_ctor_set(x_635, 1, x_634);
-x_636 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_636 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_637 = lean_array_push(x_636, x_635);
-x_638 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_638 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_639 = lean_array_push(x_637, x_638);
x_640 = lean_array_push(x_639, x_2);
-x_641 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_641 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_642 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_642, 0, x_641);
lean_ctor_set(x_642, 1, x_640);
@@ -15247,12 +15247,12 @@ lean_dec(x_648);
x_651 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_651, 0, x_623);
lean_ctor_set(x_651, 1, x_650);
-x_652 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_652 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_653 = lean_array_push(x_652, x_651);
-x_654 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_654 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_655 = lean_array_push(x_653, x_654);
x_656 = lean_array_push(x_655, x_647);
-x_657 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_657 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_658 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_658, 0, x_657);
lean_ctor_set(x_658, 1, x_656);
@@ -15292,7 +15292,7 @@ x_681 = l_Lean_Delaborator_delabLam___lambda__1___closed__1;
x_682 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_682, 0, x_681);
lean_ctor_set(x_682, 1, x_680);
-x_711 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_711 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
lean_inc(x_2);
x_712 = l_Lean_Syntax_isOfKind(x_2, x_711);
if (x_712 == 0)
@@ -15323,12 +15323,12 @@ x_684 = lean_array_push(x_669, x_682);
x_685 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_685, 0, x_671);
lean_ctor_set(x_685, 1, x_684);
-x_686 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_686 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_687 = lean_array_push(x_686, x_685);
-x_688 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_688 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_689 = lean_array_push(x_687, x_688);
x_690 = lean_array_push(x_689, x_2);
-x_691 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_691 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_692 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_692, 0, x_691);
lean_ctor_set(x_692, 1, x_690);
@@ -15357,12 +15357,12 @@ lean_dec(x_698);
x_701 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_701, 0, x_671);
lean_ctor_set(x_701, 1, x_700);
-x_702 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_702 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_703 = lean_array_push(x_702, x_701);
-x_704 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_704 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_705 = lean_array_push(x_703, x_704);
x_706 = lean_array_push(x_705, x_697);
-x_707 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_707 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_708 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_708, 0, x_707);
lean_ctor_set(x_708, 1, x_706);
@@ -15403,7 +15403,7 @@ if (lean_is_exclusive(x_720)) {
lean_dec_ref(x_720);
x_723 = lean_box(0);
}
-x_757 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_757 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
lean_inc(x_2);
x_758 = l_Lean_Syntax_isOfKind(x_2, x_757);
if (x_758 == 0)
@@ -15436,12 +15436,12 @@ x_727 = l_Lean_nullKind___closed__2;
x_728 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_728, 0, x_727);
lean_ctor_set(x_728, 1, x_726);
-x_729 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_729 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_730 = lean_array_push(x_729, x_728);
-x_731 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_731 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_732 = lean_array_push(x_730, x_731);
x_733 = lean_array_push(x_732, x_2);
-x_734 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_734 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_735 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_735, 0, x_734);
lean_ctor_set(x_735, 1, x_733);
@@ -15473,12 +15473,12 @@ x_746 = l_Lean_nullKind___closed__2;
x_747 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_747, 0, x_746);
lean_ctor_set(x_747, 1, x_745);
-x_748 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_748 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_749 = lean_array_push(x_748, x_747);
-x_750 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_750 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_751 = lean_array_push(x_749, x_750);
x_752 = lean_array_push(x_751, x_740);
-x_753 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_753 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_754 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_754, 0, x_753);
lean_ctor_set(x_754, 1, x_752);
@@ -15547,7 +15547,7 @@ x_780 = l_Lean_Delaborator_delabLam___lambda__1___closed__2;
x_781 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_781, 0, x_780);
lean_ctor_set(x_781, 1, x_779);
-x_811 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_811 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
lean_inc(x_2);
x_812 = l_Lean_Syntax_isOfKind(x_2, x_811);
if (x_812 == 0)
@@ -15578,12 +15578,12 @@ x_783 = lean_array_push(x_769, x_781);
x_784 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_784, 0, x_773);
lean_ctor_set(x_784, 1, x_783);
-x_785 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_785 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_786 = lean_array_push(x_785, x_784);
-x_787 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_787 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_788 = lean_array_push(x_786, x_787);
x_789 = lean_array_push(x_788, x_2);
-x_790 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_790 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_791 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_791, 0, x_790);
lean_ctor_set(x_791, 1, x_789);
@@ -15613,12 +15613,12 @@ lean_dec(x_797);
x_801 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_801, 0, x_773);
lean_ctor_set(x_801, 1, x_800);
-x_802 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_802 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_803 = lean_array_push(x_802, x_801);
-x_804 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_804 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_805 = lean_array_push(x_803, x_804);
x_806 = lean_array_push(x_805, x_796);
-x_807 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_807 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_808 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_808, 0, x_807);
lean_ctor_set(x_808, 1, x_806);
@@ -15658,7 +15658,7 @@ if (lean_is_exclusive(x_820)) {
lean_dec_ref(x_820);
x_823 = lean_box(0);
}
-x_857 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_857 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
lean_inc(x_2);
x_858 = l_Lean_Syntax_isOfKind(x_2, x_857);
if (x_858 == 0)
@@ -15691,12 +15691,12 @@ x_827 = l_Lean_nullKind___closed__2;
x_828 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_828, 0, x_827);
lean_ctor_set(x_828, 1, x_826);
-x_829 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_829 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_830 = lean_array_push(x_829, x_828);
-x_831 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_831 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_832 = lean_array_push(x_830, x_831);
x_833 = lean_array_push(x_832, x_2);
-x_834 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_834 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_835 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_835, 0, x_834);
lean_ctor_set(x_835, 1, x_833);
@@ -15728,12 +15728,12 @@ x_846 = l_Lean_nullKind___closed__2;
x_847 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_847, 0, x_846);
lean_ctor_set(x_847, 1, x_845);
-x_848 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_848 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_849 = lean_array_push(x_848, x_847);
-x_850 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_850 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_851 = lean_array_push(x_849, x_850);
x_852 = lean_array_push(x_851, x_840);
-x_853 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_853 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_854 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_854, 0, x_853);
lean_ctor_set(x_854, 1, x_852);
diff --git a/stage0/stdlib/Lean/Elab/App.c b/stage0/stdlib/Lean/Elab/App.c
index 64aa98c778..6153afc3f8 100644
--- a/stage0/stdlib/Lean/Elab/App.c
+++ b/stage0/stdlib/Lean/Elab/App.c
@@ -31,7 +31,6 @@ lean_object* l_Lean_Meta_forallBoundedTelescope___at_Lean_Elab_Term_elabLetDeclA
lean_object* l_Lean_Meta_inferType___at___private_Lean_Elab_Term_0__Lean_Elab_Term_tryLiftAndCoe___spec__2(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_App_0__Lean_Elab_Term_ElabAppArgs_addEtaArg___spec__1___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_mvarId_x21(lean_object*);
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_List_forInAux___main___at___private_Lean_Elab_App_0__Lean_Elab_Term_mkBaseProjections___spec__1___closed__2;
lean_object* l_List_tail_x21___rarg(lean_object*);
lean_object* l_Lean_registerTraceClass(lean_object*, lean_object*);
@@ -119,13 +118,13 @@ lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_App_0__Lean_Elab
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux(lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_forallTelescopeReducing___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_hasOptAutoParams___spec__2(lean_object*);
lean_object* l_List_append___rarg(lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_isLevelDefEq___spec__2___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* l_Lean_Meta_whnfForall___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_synthesizePendingAndNormalizeFunType___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Elab_goalsToMessageData___closed__1;
extern lean_object* l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
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_elabAppLValsAux_loop_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Elab_Term_elabApp(lean_object*);
lean_object* l___regBuiltin_Lean_Elab_Term_elabIdent(lean_object*);
lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_processExplictArg___closed__3;
@@ -210,14 +209,12 @@ uint8_t l___private_Lean_Elab_App_0__Lean_Elab_Term_isSuccess(lean_object*);
lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppLValsAux_loop___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___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_fTypeHasOptAutoParams(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_resolveLValAux___closed__7;
-lean_object* l___private_Lean_Util_Trace_3__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_FindMVar_main___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___spec__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Util_0__Lean_Elab_evalSyntaxConstantUnsafe(lean_object*, lean_object*, lean_object*);
extern lean_object* l_ULift_HasRepr___rarg___closed__2;
lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_getArgExpectedType___boxed(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___closed__2;
lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___rarg___closed__1;
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_isLevelDefEq___spec__3___rarg(lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_resolveLValAux___lambda__2___closed__3;
lean_object* l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_FindMVar_main___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___spec__2___lambda__1(lean_object*, lean_object*);
@@ -344,6 +341,7 @@ extern lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_processAssignme
lean_object* l_Lean_Elab_Term_getCurrMacroScope(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_ElabAppArgs_hasArgsToProcess(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_App_0__Lean_Elab_Term_addLValArg___spec__3___lambda__1___closed__1;
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_addNamedArg(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_ElabAppArgs_propagateExpectedType_match__2(lean_object*);
lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_synthesizePendingAndNormalizeFunType_match__1___rarg(lean_object*, lean_object*, lean_object*);
@@ -393,7 +391,6 @@ uint8_t l_Lean_Expr_isForall(lean_object*);
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_App_0__Lean_Elab_Term_addLValArg___spec__3___lambda__1___closed__6;
extern lean_object* l_Lean_formatEntry___closed__1;
lean_object* l_Array_iterateMAux___main___at_Array_append___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
-extern lean_object* l_Lean_Elab_Term_TermElabResult_inhabited;
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*);
lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppLVals___closed__3;
lean_object* l_Array_findIdxAux___main___at___private_Lean_Elab_App_0__Lean_Elab_Term_addLValArg___spec__2___boxed(lean_object*, lean_object*, lean_object*);
@@ -423,6 +420,7 @@ lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_normalizeFu
lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppFn___closed__14;
lean_object* l_List_foldlM___main___at___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppFnId___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, 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_fmt___at___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_synthesizeSyntheticMVarsStep___spec__3(uint8_t);
+extern lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__3;
extern lean_object* l_Lean_nullKind___closed__2;
lean_object* l_Lean_Elab_Term_elabProj(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_resolveLValAux___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*);
@@ -442,12 +440,12 @@ lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppFn___closed__8;
lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_resolveLValAux___closed__1;
uint8_t l_Array_anyRangeMAux___main___at_Lean_Elab_Term_addNamedArg___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_resolveLValAux___boxed(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_Util_Trace_4__addNode___at_Lean_Meta_isLevelDefEq___spec__4(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_findMethod_x3f_match__3(lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__1___closed__2;
lean_object* l_Std_PersistentArray_push___rarg(lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_throwLValError___rarg(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_mkAppStx___closed__5;
+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___private_Lean_Elab_App_0__Lean_Elab_Term_consumeImplicits_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_elabApp___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_BinderInfo_beq(uint8_t, uint8_t);
@@ -555,11 +553,11 @@ lean_object* l_Array_toList___rarg(lean_object*);
lean_object* l_Lean_MetavarContext_MkBinding_mkBinding(uint8_t, lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*);
lean_object* l_Lean_Elab_Term_addNamedArg___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_App_0__Lean_Elab_Term_ElabAppArgs_finalize_match__1___rarg(lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_array_pop(lean_object*);
lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_finalize___lambda__2___closed__1;
lean_object* l___regBuiltin_Lean_Elab_Term_elabArrayRef___closed__1;
lean_object* l_Lean_Elab_Term_registerSyntheticMVarWithCurrRef(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Syntax_isOfKind(lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppFn(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Expr_isOptParam(lean_object*);
@@ -616,12 +614,12 @@ lean_object* l_List_foldlM___main___at___private_Lean_Elab_App_0__Lean_Elab_Term
lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType_match__2___rarg(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Expr_ctorName___closed__11;
lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_resolveLValAux_match__1___rarg(lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Nat_Inhabited;
lean_object* l_Lean_Elab_Term_expandApp___closed__5;
extern lean_object* l_System_FilePath_dirName___closed__1;
lean_object* l_unsafeCast(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_contains___at_Lean_Elab_Term_logUnassignedUsingErrorInfos___spec__2___boxed(lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_List_isEmpty___rarg(lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_mkAppN___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_applyResult(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -637,6 +635,7 @@ lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppFn_match__1___ra
lean_object* l_Lean_throwError___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_processExplictArg___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_899____closed__1;
uint8_t l_Lean_isStructureLike(lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppFn___closed__4;
lean_object* l_Array_iterateMAux___main___at_Lean_Elab_Term_expandApp___spec__1___closed__4;
lean_object* l_Lean_Elab_Term_expandApp___closed__2;
@@ -699,6 +698,7 @@ lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_processImpl
lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_mkBaseProjections___closed__1;
lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppLValsAux_loop_match__3(lean_object*);
extern lean_object* l_Lean_Meta_mkArrow___rarg___closed__2;
+lean_object* l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_isLevelDefEq___spec__3(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_elabAppFnId___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_processExplictArg_match__3___rarg(lean_object*, lean_object*, lean_object*);
static lean_object* _init_l_Lean_Elab_Term_Arg_inhabited___closed__1() {
@@ -7403,49 +7403,49 @@ return x_3;
lean_object* l_Lean_Meta_isExprDefEq___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___spec__3(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) {
_start:
{
-lean_object* x_11; lean_object* x_24; lean_object* x_33; uint8_t x_34; lean_object* x_35; lean_object* x_381; lean_object* x_382; lean_object* x_383; uint8_t x_384;
+lean_object* x_11; lean_object* x_24; lean_object* x_37; uint8_t x_38; lean_object* x_39; lean_object* x_359; lean_object* x_360; lean_object* x_361; uint8_t x_362;
lean_inc(x_2);
lean_inc(x_1);
-x_33 = lean_alloc_closure((void*)(l_Lean_Meta_isExprDefEqAux), 8, 2);
-lean_closure_set(x_33, 0, x_1);
-lean_closure_set(x_33, 1, x_2);
-x_381 = lean_st_ref_get(x_9, x_10);
-x_382 = lean_ctor_get(x_381, 0);
-lean_inc(x_382);
-x_383 = lean_ctor_get(x_382, 3);
-lean_inc(x_383);
-lean_dec(x_382);
-x_384 = lean_ctor_get_uint8(x_383, sizeof(void*)*1);
-lean_dec(x_383);
-if (x_384 == 0)
+x_37 = lean_alloc_closure((void*)(l_Lean_Meta_isExprDefEqAux), 8, 2);
+lean_closure_set(x_37, 0, x_1);
+lean_closure_set(x_37, 1, x_2);
+x_359 = lean_st_ref_get(x_9, x_10);
+x_360 = lean_ctor_get(x_359, 0);
+lean_inc(x_360);
+x_361 = lean_ctor_get(x_360, 3);
+lean_inc(x_361);
+lean_dec(x_360);
+x_362 = lean_ctor_get_uint8(x_361, sizeof(void*)*1);
+lean_dec(x_361);
+if (x_362 == 0)
{
-lean_object* x_385; uint8_t x_386;
-x_385 = lean_ctor_get(x_381, 1);
-lean_inc(x_385);
-lean_dec(x_381);
-x_386 = 0;
-x_34 = x_386;
-x_35 = x_385;
-goto block_380;
+lean_object* x_363; uint8_t x_364;
+x_363 = lean_ctor_get(x_359, 1);
+lean_inc(x_363);
+lean_dec(x_359);
+x_364 = 0;
+x_38 = x_364;
+x_39 = x_363;
+goto block_358;
}
else
{
-lean_object* x_387; lean_object* x_388; lean_object* x_389; lean_object* x_390; lean_object* x_391; uint8_t x_392;
-x_387 = lean_ctor_get(x_381, 1);
-lean_inc(x_387);
-lean_dec(x_381);
-x_388 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_389 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_388, x_6, x_7, x_8, x_9, x_387);
-x_390 = lean_ctor_get(x_389, 0);
-lean_inc(x_390);
-x_391 = lean_ctor_get(x_389, 1);
-lean_inc(x_391);
-lean_dec(x_389);
-x_392 = lean_unbox(x_390);
-lean_dec(x_390);
-x_34 = x_392;
-x_35 = x_391;
-goto block_380;
+lean_object* x_365; lean_object* x_366; lean_object* x_367; lean_object* x_368; lean_object* x_369; uint8_t x_370;
+x_365 = lean_ctor_get(x_359, 1);
+lean_inc(x_365);
+lean_dec(x_359);
+x_366 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_367 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_366, x_6, x_7, x_8, x_9, x_365);
+x_368 = lean_ctor_get(x_367, 0);
+lean_inc(x_368);
+x_369 = lean_ctor_get(x_367, 1);
+lean_inc(x_369);
+lean_dec(x_367);
+x_370 = lean_unbox(x_368);
+lean_dec(x_368);
+x_38 = x_370;
+x_39 = x_369;
+goto block_358;
}
block_23:
{
@@ -7504,7 +7504,9 @@ return x_22;
}
}
}
-block_32:
+block_36:
+{
+if (lean_obj_tag(x_24) == 0)
{
uint8_t x_25;
x_25 = !lean_is_exclusive(x_24);
@@ -7537,1231 +7539,1144 @@ x_11 = x_31;
goto block_23;
}
}
-block_380:
+else
{
-if (x_34 == 0)
+uint8_t x_32;
+x_32 = !lean_is_exclusive(x_24);
+if (x_32 == 0)
{
-lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; uint8_t x_40; uint8_t x_41; lean_object* x_42; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; uint8_t x_94;
-x_36 = lean_st_ref_get(x_9, x_35);
-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(x_36, 1);
-lean_inc(x_39);
-lean_dec(x_36);
-x_40 = lean_ctor_get_uint8(x_38, sizeof(void*)*1);
-lean_dec(x_38);
-x_90 = lean_st_ref_take(x_9, x_39);
-x_91 = lean_ctor_get(x_90, 0);
-lean_inc(x_91);
-x_92 = lean_ctor_get(x_91, 3);
-lean_inc(x_92);
-x_93 = lean_ctor_get(x_90, 1);
-lean_inc(x_93);
-lean_dec(x_90);
-x_94 = !lean_is_exclusive(x_91);
-if (x_94 == 0)
+x_11 = x_24;
+goto block_23;
+}
+else
{
-lean_object* x_95; uint8_t x_96;
-x_95 = lean_ctor_get(x_91, 3);
-lean_dec(x_95);
-x_96 = !lean_is_exclusive(x_92);
-if (x_96 == 0)
+lean_object* x_33; lean_object* x_34; lean_object* x_35;
+x_33 = lean_ctor_get(x_24, 0);
+x_34 = lean_ctor_get(x_24, 1);
+lean_inc(x_34);
+lean_inc(x_33);
+lean_dec(x_24);
+x_35 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_35, 0, x_33);
+lean_ctor_set(x_35, 1, x_34);
+x_11 = x_35;
+goto block_23;
+}
+}
+}
+block_358:
{
-uint8_t x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100;
-x_97 = 0;
-lean_ctor_set_uint8(x_92, sizeof(void*)*1, x_97);
-x_98 = lean_st_ref_set(x_9, x_91, x_93);
-x_99 = lean_ctor_get(x_98, 1);
-lean_inc(x_99);
+uint8_t x_40;
+if (x_38 == 0)
+{
+uint8_t x_356;
+x_356 = 1;
+x_40 = x_356;
+goto block_355;
+}
+else
+{
+uint8_t x_357;
+x_357 = 0;
+x_40 = x_357;
+goto block_355;
+}
+block_355:
+{
+if (x_40 == 0)
+{
+lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45; lean_object* x_46; lean_object* x_56; lean_object* x_57; lean_object* x_65;
+x_41 = lean_ctor_get(x_8, 3);
+lean_inc(x_41);
+x_42 = l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_isLevelDefEq___spec__2___rarg(x_9, x_39);
+x_43 = lean_ctor_get(x_42, 0);
+lean_inc(x_43);
+x_44 = lean_ctor_get(x_42, 1);
+lean_inc(x_44);
+lean_dec(x_42);
+lean_inc(x_9);
+lean_inc(x_8);
+lean_inc(x_7);
+lean_inc(x_6);
+x_65 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_37, x_6, x_7, x_8, x_9, x_44);
+if (lean_obj_tag(x_65) == 0)
+{
+lean_object* x_66; lean_object* x_67; uint8_t x_68; lean_object* x_69; lean_object* x_96; lean_object* x_97; lean_object* x_98; uint8_t x_99;
+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_96 = lean_st_ref_get(x_9, x_67);
+x_97 = lean_ctor_get(x_96, 0);
+lean_inc(x_97);
+x_98 = lean_ctor_get(x_97, 3);
+lean_inc(x_98);
+lean_dec(x_97);
+x_99 = lean_ctor_get_uint8(x_98, sizeof(void*)*1);
lean_dec(x_98);
-lean_inc(x_9);
-lean_inc(x_8);
-lean_inc(x_7);
-lean_inc(x_6);
-x_100 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_33, x_6, x_7, x_8, x_9, x_99);
-if (lean_obj_tag(x_100) == 0)
+if (x_99 == 0)
{
-lean_object* x_101; lean_object* x_102; uint8_t x_103; lean_object* x_104; lean_object* x_131; lean_object* x_132; lean_object* x_133; uint8_t x_134;
-x_101 = lean_ctor_get(x_100, 0);
-lean_inc(x_101);
-x_102 = lean_ctor_get(x_100, 1);
+lean_object* x_100; uint8_t x_101;
+x_100 = lean_ctor_get(x_96, 1);
+lean_inc(x_100);
+lean_dec(x_96);
+x_101 = 0;
+x_68 = x_101;
+x_69 = x_100;
+goto block_95;
+}
+else
+{
+lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; uint8_t x_107;
+x_102 = lean_ctor_get(x_96, 1);
lean_inc(x_102);
-lean_dec(x_100);
-x_131 = lean_st_ref_get(x_9, x_102);
-x_132 = lean_ctor_get(x_131, 0);
-lean_inc(x_132);
-x_133 = lean_ctor_get(x_132, 3);
-lean_inc(x_133);
-lean_dec(x_132);
-x_134 = lean_ctor_get_uint8(x_133, sizeof(void*)*1);
-lean_dec(x_133);
-if (x_134 == 0)
-{
-lean_object* x_135;
-x_135 = lean_ctor_get(x_131, 1);
-lean_inc(x_135);
-lean_dec(x_131);
-x_103 = x_97;
-x_104 = x_135;
-goto block_130;
+lean_dec(x_96);
+x_103 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_104 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_103, x_6, x_7, x_8, x_9, x_102);
+x_105 = lean_ctor_get(x_104, 0);
+lean_inc(x_105);
+x_106 = lean_ctor_get(x_104, 1);
+lean_inc(x_106);
+lean_dec(x_104);
+x_107 = lean_unbox(x_105);
+lean_dec(x_105);
+x_68 = x_107;
+x_69 = x_106;
+goto block_95;
}
-else
+block_95:
{
-lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; uint8_t x_141;
-x_136 = lean_ctor_get(x_131, 1);
-lean_inc(x_136);
-lean_dec(x_131);
-x_137 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_138 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_137, x_6, x_7, x_8, x_9, x_136);
-x_139 = lean_ctor_get(x_138, 0);
-lean_inc(x_139);
-x_140 = lean_ctor_get(x_138, 1);
-lean_inc(x_140);
-lean_dec(x_138);
-x_141 = lean_unbox(x_139);
-lean_dec(x_139);
-x_103 = x_141;
-x_104 = x_140;
-goto block_130;
-}
-block_130:
+if (x_68 == 0)
{
-if (x_103 == 0)
-{
-uint8_t x_105;
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
+uint8_t x_70;
lean_dec(x_2);
lean_dec(x_1);
-x_105 = lean_unbox(x_101);
-lean_dec(x_101);
-x_41 = x_105;
-x_42 = x_104;
-goto block_89;
+x_70 = lean_unbox(x_66);
+lean_dec(x_66);
+x_45 = x_70;
+x_46 = x_69;
+goto block_55;
}
else
{
-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; uint8_t x_115;
-x_106 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_106, 0, x_1);
-x_107 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_108 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_108, 0, x_107);
-lean_ctor_set(x_108, 1, x_106);
-x_109 = l_Lean_Meta_isLevelDefEqAux___closed__6;
-x_110 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_110, 0, x_108);
-lean_ctor_set(x_110, 1, x_109);
-x_111 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_111, 0, x_2);
-x_112 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_112, 0, x_110);
-lean_ctor_set(x_112, 1, x_111);
-x_113 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
-x_114 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_114, 0, x_112);
-lean_ctor_set(x_114, 1, x_113);
-x_115 = lean_unbox(x_101);
-if (x_115 == 0)
+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; lean_object* x_78; lean_object* x_79; uint8_t x_80;
+x_71 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_71, 0, x_1);
+x_72 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_73 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_73, 0, x_72);
+lean_ctor_set(x_73, 1, x_71);
+x_74 = l_Lean_Meta_isLevelDefEqAux___closed__6;
+x_75 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_75, 0, x_73);
+lean_ctor_set(x_75, 1, x_74);
+x_76 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_76, 0, x_2);
+x_77 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_77, 0, x_75);
+lean_ctor_set(x_77, 1, x_76);
+x_78 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
+x_79 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_79, 0, x_77);
+lean_ctor_set(x_79, 1, x_78);
+x_80 = lean_unbox(x_66);
+if (x_80 == 0)
{
-lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; uint8_t x_122;
-x_116 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
-x_117 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_117, 0, x_114);
-lean_ctor_set(x_117, 1, x_116);
-x_118 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_118, 0, x_117);
-lean_ctor_set(x_118, 1, x_107);
-x_119 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_120 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_119, x_118, x_6, x_7, x_8, x_9, x_104);
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-x_121 = lean_ctor_get(x_120, 1);
-lean_inc(x_121);
-lean_dec(x_120);
-x_122 = lean_unbox(x_101);
-lean_dec(x_101);
-x_41 = x_122;
-x_42 = x_121;
-goto block_89;
+lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; uint8_t x_87;
+x_81 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
+x_82 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_82, 0, x_79);
+lean_ctor_set(x_82, 1, x_81);
+x_83 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_83, 0, x_82);
+lean_ctor_set(x_83, 1, x_72);
+x_84 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_85 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_84, x_83, x_6, x_7, x_8, x_9, x_69);
+x_86 = lean_ctor_get(x_85, 1);
+lean_inc(x_86);
+lean_dec(x_85);
+x_87 = lean_unbox(x_66);
+lean_dec(x_66);
+x_45 = x_87;
+x_46 = x_86;
+goto block_55;
}
else
{
-lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; uint8_t x_129;
-x_123 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
-x_124 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_124, 0, x_114);
-lean_ctor_set(x_124, 1, x_123);
-x_125 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_125, 0, x_124);
-lean_ctor_set(x_125, 1, x_107);
-x_126 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_127 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_126, x_125, x_6, x_7, x_8, x_9, x_104);
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-x_128 = lean_ctor_get(x_127, 1);
-lean_inc(x_128);
-lean_dec(x_127);
-x_129 = lean_unbox(x_101);
-lean_dec(x_101);
-x_41 = x_129;
-x_42 = x_128;
-goto block_89;
-}
-}
-}
-}
-else
-{
-lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; uint8_t x_150;
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_2);
-lean_dec(x_1);
-x_142 = lean_ctor_get(x_100, 0);
-lean_inc(x_142);
-x_143 = lean_ctor_get(x_100, 1);
-lean_inc(x_143);
-lean_dec(x_100);
-x_144 = lean_st_ref_get(x_9, x_143);
-x_145 = lean_ctor_get(x_144, 1);
-lean_inc(x_145);
-lean_dec(x_144);
-x_146 = lean_st_ref_take(x_9, x_145);
-x_147 = lean_ctor_get(x_146, 0);
-lean_inc(x_147);
-x_148 = lean_ctor_get(x_147, 3);
-lean_inc(x_148);
-x_149 = lean_ctor_get(x_146, 1);
-lean_inc(x_149);
-lean_dec(x_146);
-x_150 = !lean_is_exclusive(x_147);
-if (x_150 == 0)
-{
-lean_object* x_151; uint8_t x_152;
-x_151 = lean_ctor_get(x_147, 3);
-lean_dec(x_151);
-x_152 = !lean_is_exclusive(x_148);
-if (x_152 == 0)
-{
-lean_object* x_153; uint8_t x_154;
-lean_ctor_set_uint8(x_148, sizeof(void*)*1, x_40);
-x_153 = lean_st_ref_set(x_9, x_147, x_149);
-lean_dec(x_9);
-x_154 = !lean_is_exclusive(x_153);
-if (x_154 == 0)
-{
-lean_object* x_155;
-x_155 = lean_ctor_get(x_153, 0);
-lean_dec(x_155);
-lean_ctor_set_tag(x_153, 1);
-lean_ctor_set(x_153, 0, x_142);
-x_11 = x_153;
-goto block_23;
-}
-else
-{
-lean_object* x_156; lean_object* x_157;
-x_156 = lean_ctor_get(x_153, 1);
-lean_inc(x_156);
-lean_dec(x_153);
-x_157 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_157, 0, x_142);
-lean_ctor_set(x_157, 1, x_156);
-x_11 = x_157;
-goto block_23;
-}
-}
-else
-{
-lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163;
-x_158 = lean_ctor_get(x_148, 0);
-lean_inc(x_158);
-lean_dec(x_148);
-x_159 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_159, 0, x_158);
-lean_ctor_set_uint8(x_159, sizeof(void*)*1, x_40);
-lean_ctor_set(x_147, 3, x_159);
-x_160 = lean_st_ref_set(x_9, x_147, x_149);
-lean_dec(x_9);
-x_161 = lean_ctor_get(x_160, 1);
-lean_inc(x_161);
-if (lean_is_exclusive(x_160)) {
- lean_ctor_release(x_160, 0);
- lean_ctor_release(x_160, 1);
- x_162 = x_160;
-} else {
- lean_dec_ref(x_160);
- x_162 = lean_box(0);
-}
-if (lean_is_scalar(x_162)) {
- x_163 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_163 = x_162;
- lean_ctor_set_tag(x_163, 1);
-}
-lean_ctor_set(x_163, 0, x_142);
-lean_ctor_set(x_163, 1, x_161);
-x_11 = x_163;
-goto block_23;
-}
-}
-else
-{
-lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174;
-x_164 = lean_ctor_get(x_147, 0);
-x_165 = lean_ctor_get(x_147, 1);
-x_166 = lean_ctor_get(x_147, 2);
-lean_inc(x_166);
-lean_inc(x_165);
-lean_inc(x_164);
-lean_dec(x_147);
-x_167 = lean_ctor_get(x_148, 0);
-lean_inc(x_167);
-if (lean_is_exclusive(x_148)) {
- lean_ctor_release(x_148, 0);
- x_168 = x_148;
-} else {
- lean_dec_ref(x_148);
- x_168 = lean_box(0);
-}
-if (lean_is_scalar(x_168)) {
- x_169 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_169 = x_168;
-}
-lean_ctor_set(x_169, 0, x_167);
-lean_ctor_set_uint8(x_169, sizeof(void*)*1, x_40);
-x_170 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_170, 0, x_164);
-lean_ctor_set(x_170, 1, x_165);
-lean_ctor_set(x_170, 2, x_166);
-lean_ctor_set(x_170, 3, x_169);
-x_171 = lean_st_ref_set(x_9, x_170, x_149);
-lean_dec(x_9);
-x_172 = lean_ctor_get(x_171, 1);
-lean_inc(x_172);
-if (lean_is_exclusive(x_171)) {
- lean_ctor_release(x_171, 0);
- lean_ctor_release(x_171, 1);
- x_173 = x_171;
-} else {
- lean_dec_ref(x_171);
- x_173 = lean_box(0);
-}
-if (lean_is_scalar(x_173)) {
- x_174 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_174 = x_173;
- lean_ctor_set_tag(x_174, 1);
-}
-lean_ctor_set(x_174, 0, x_142);
-lean_ctor_set(x_174, 1, x_172);
-x_11 = x_174;
-goto block_23;
-}
-}
-}
-else
-{
-lean_object* x_175; uint8_t x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180;
-x_175 = lean_ctor_get(x_92, 0);
-lean_inc(x_175);
+lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; uint8_t x_94;
+x_88 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
+x_89 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_89, 0, x_79);
+lean_ctor_set(x_89, 1, x_88);
+x_90 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_90, 0, x_89);
+lean_ctor_set(x_90, 1, x_72);
+x_91 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_92 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_91, x_90, x_6, x_7, x_8, x_9, x_69);
+x_93 = lean_ctor_get(x_92, 1);
+lean_inc(x_93);
lean_dec(x_92);
-x_176 = 0;
-x_177 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_177, 0, x_175);
-lean_ctor_set_uint8(x_177, sizeof(void*)*1, x_176);
-lean_ctor_set(x_91, 3, x_177);
-x_178 = lean_st_ref_set(x_9, x_91, x_93);
-x_179 = lean_ctor_get(x_178, 1);
-lean_inc(x_179);
-lean_dec(x_178);
-lean_inc(x_9);
-lean_inc(x_8);
-lean_inc(x_7);
-lean_inc(x_6);
-x_180 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_33, x_6, x_7, x_8, x_9, x_179);
-if (lean_obj_tag(x_180) == 0)
-{
-lean_object* x_181; lean_object* x_182; uint8_t x_183; lean_object* x_184; lean_object* x_211; lean_object* x_212; lean_object* x_213; uint8_t x_214;
-x_181 = lean_ctor_get(x_180, 0);
-lean_inc(x_181);
-x_182 = lean_ctor_get(x_180, 1);
-lean_inc(x_182);
-lean_dec(x_180);
-x_211 = lean_st_ref_get(x_9, x_182);
-x_212 = lean_ctor_get(x_211, 0);
-lean_inc(x_212);
-x_213 = lean_ctor_get(x_212, 3);
-lean_inc(x_213);
-lean_dec(x_212);
-x_214 = lean_ctor_get_uint8(x_213, sizeof(void*)*1);
-lean_dec(x_213);
-if (x_214 == 0)
-{
-lean_object* x_215;
-x_215 = lean_ctor_get(x_211, 1);
-lean_inc(x_215);
-lean_dec(x_211);
-x_183 = x_176;
-x_184 = x_215;
-goto block_210;
+x_94 = lean_unbox(x_66);
+lean_dec(x_66);
+x_45 = x_94;
+x_46 = x_93;
+goto block_55;
+}
+}
+}
}
else
{
-lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; uint8_t x_221;
-x_216 = lean_ctor_get(x_211, 1);
-lean_inc(x_216);
-lean_dec(x_211);
-x_217 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_218 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_217, x_6, x_7, x_8, x_9, x_216);
-x_219 = lean_ctor_get(x_218, 0);
-lean_inc(x_219);
-x_220 = lean_ctor_get(x_218, 1);
-lean_inc(x_220);
-lean_dec(x_218);
-x_221 = lean_unbox(x_219);
-lean_dec(x_219);
-x_183 = x_221;
-x_184 = x_220;
-goto block_210;
-}
-block_210:
-{
-if (x_183 == 0)
-{
-uint8_t x_185;
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
+lean_object* x_108; lean_object* x_109;
lean_dec(x_2);
lean_dec(x_1);
-x_185 = lean_unbox(x_181);
-lean_dec(x_181);
-x_41 = x_185;
-x_42 = x_184;
-goto block_89;
+x_108 = lean_ctor_get(x_65, 0);
+lean_inc(x_108);
+x_109 = lean_ctor_get(x_65, 1);
+lean_inc(x_109);
+lean_dec(x_65);
+x_56 = x_108;
+x_57 = x_109;
+goto block_64;
}
-else
+block_55:
{
-lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; uint8_t x_195;
-x_186 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_186, 0, x_1);
-x_187 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_188 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_188, 0, x_187);
-lean_ctor_set(x_188, 1, x_186);
-x_189 = l_Lean_Meta_isLevelDefEqAux___closed__6;
-x_190 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_190, 0, x_188);
-lean_ctor_set(x_190, 1, x_189);
-x_191 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_191, 0, x_2);
-x_192 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_192, 0, x_190);
-lean_ctor_set(x_192, 1, x_191);
-x_193 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
-x_194 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_194, 0, x_192);
-lean_ctor_set(x_194, 1, x_193);
-x_195 = lean_unbox(x_181);
-if (x_195 == 0)
-{
-lean_object* x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; uint8_t x_202;
-x_196 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
-x_197 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_197, 0, x_194);
-lean_ctor_set(x_197, 1, x_196);
-x_198 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_198, 0, x_197);
-lean_ctor_set(x_198, 1, x_187);
-x_199 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_200 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_199, x_198, x_6, x_7, x_8, x_9, x_184);
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-x_201 = lean_ctor_get(x_200, 1);
-lean_inc(x_201);
-lean_dec(x_200);
-x_202 = lean_unbox(x_181);
-lean_dec(x_181);
-x_41 = x_202;
-x_42 = x_201;
-goto block_89;
-}
-else
-{
-lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; uint8_t x_209;
-x_203 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
-x_204 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_204, 0, x_194);
-lean_ctor_set(x_204, 1, x_203);
-x_205 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_205, 0, x_204);
-lean_ctor_set(x_205, 1, x_187);
-x_206 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_207 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_206, x_205, x_6, x_7, x_8, x_9, x_184);
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-x_208 = lean_ctor_get(x_207, 1);
-lean_inc(x_208);
-lean_dec(x_207);
-x_209 = lean_unbox(x_181);
-lean_dec(x_181);
-x_41 = x_209;
-x_42 = x_208;
-goto block_89;
-}
-}
-}
-}
-else
-{
-lean_object* x_222; lean_object* x_223; lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; lean_object* x_228; lean_object* x_229; lean_object* x_230; lean_object* x_231; lean_object* x_232; lean_object* x_233; lean_object* x_234; lean_object* x_235; lean_object* x_236; lean_object* x_237; lean_object* x_238; lean_object* x_239; lean_object* x_240; lean_object* x_241;
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_2);
-lean_dec(x_1);
-x_222 = lean_ctor_get(x_180, 0);
-lean_inc(x_222);
-x_223 = lean_ctor_get(x_180, 1);
-lean_inc(x_223);
-lean_dec(x_180);
-x_224 = lean_st_ref_get(x_9, x_223);
-x_225 = lean_ctor_get(x_224, 1);
-lean_inc(x_225);
-lean_dec(x_224);
-x_226 = lean_st_ref_take(x_9, x_225);
-x_227 = lean_ctor_get(x_226, 0);
-lean_inc(x_227);
-x_228 = lean_ctor_get(x_227, 3);
-lean_inc(x_228);
-x_229 = lean_ctor_get(x_226, 1);
-lean_inc(x_229);
-lean_dec(x_226);
-x_230 = lean_ctor_get(x_227, 0);
-lean_inc(x_230);
-x_231 = lean_ctor_get(x_227, 1);
-lean_inc(x_231);
-x_232 = lean_ctor_get(x_227, 2);
-lean_inc(x_232);
-if (lean_is_exclusive(x_227)) {
- lean_ctor_release(x_227, 0);
- lean_ctor_release(x_227, 1);
- lean_ctor_release(x_227, 2);
- lean_ctor_release(x_227, 3);
- x_233 = x_227;
-} else {
- lean_dec_ref(x_227);
- x_233 = lean_box(0);
-}
-x_234 = lean_ctor_get(x_228, 0);
-lean_inc(x_234);
-if (lean_is_exclusive(x_228)) {
- lean_ctor_release(x_228, 0);
- x_235 = x_228;
-} else {
- lean_dec_ref(x_228);
- x_235 = lean_box(0);
-}
-if (lean_is_scalar(x_235)) {
- x_236 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_236 = x_235;
-}
-lean_ctor_set(x_236, 0, x_234);
-lean_ctor_set_uint8(x_236, sizeof(void*)*1, x_40);
-if (lean_is_scalar(x_233)) {
- x_237 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_237 = x_233;
-}
-lean_ctor_set(x_237, 0, x_230);
-lean_ctor_set(x_237, 1, x_231);
-lean_ctor_set(x_237, 2, x_232);
-lean_ctor_set(x_237, 3, x_236);
-x_238 = lean_st_ref_set(x_9, x_237, x_229);
+lean_object* x_47; lean_object* x_48; uint8_t x_49;
+x_47 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_48 = l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_isLevelDefEq___spec__3(x_43, x_47, x_41, x_6, x_7, x_8, x_9, x_46);
lean_dec(x_9);
-x_239 = lean_ctor_get(x_238, 1);
-lean_inc(x_239);
-if (lean_is_exclusive(x_238)) {
- lean_ctor_release(x_238, 0);
- lean_ctor_release(x_238, 1);
- x_240 = x_238;
-} else {
- lean_dec_ref(x_238);
- x_240 = lean_box(0);
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+x_49 = !lean_is_exclusive(x_48);
+if (x_49 == 0)
+{
+lean_object* x_50; lean_object* x_51;
+x_50 = lean_ctor_get(x_48, 0);
+lean_dec(x_50);
+x_51 = lean_box(x_45);
+lean_ctor_set(x_48, 0, x_51);
+x_11 = x_48;
+goto block_23;
}
-if (lean_is_scalar(x_240)) {
- x_241 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_241 = x_240;
- lean_ctor_set_tag(x_241, 1);
+else
+{
+lean_object* x_52; lean_object* x_53; lean_object* x_54;
+x_52 = lean_ctor_get(x_48, 1);
+lean_inc(x_52);
+lean_dec(x_48);
+x_53 = lean_box(x_45);
+x_54 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_54, 0, x_53);
+lean_ctor_set(x_54, 1, x_52);
+x_11 = x_54;
+goto block_23;
}
-lean_ctor_set(x_241, 0, x_222);
-lean_ctor_set(x_241, 1, x_239);
-x_11 = x_241;
+}
+block_64:
+{
+lean_object* x_58; lean_object* x_59; uint8_t x_60;
+x_58 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_59 = l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_isLevelDefEq___spec__3(x_43, x_58, x_41, x_6, x_7, x_8, x_9, x_57);
+lean_dec(x_9);
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+x_60 = !lean_is_exclusive(x_59);
+if (x_60 == 0)
+{
+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_56);
+x_11 = x_59;
+goto block_23;
+}
+else
+{
+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_56);
+lean_ctor_set(x_63, 1, x_62);
+x_11 = x_63;
goto block_23;
}
}
}
else
{
-lean_object* x_242; lean_object* x_243; lean_object* x_244; lean_object* x_245; lean_object* x_246; uint8_t x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252;
-x_242 = lean_ctor_get(x_91, 0);
-x_243 = lean_ctor_get(x_91, 1);
-x_244 = lean_ctor_get(x_91, 2);
-lean_inc(x_244);
-lean_inc(x_243);
-lean_inc(x_242);
-lean_dec(x_91);
-x_245 = lean_ctor_get(x_92, 0);
-lean_inc(x_245);
-if (lean_is_exclusive(x_92)) {
- lean_ctor_release(x_92, 0);
- x_246 = x_92;
-} else {
- lean_dec_ref(x_92);
- x_246 = lean_box(0);
-}
-x_247 = 0;
-if (lean_is_scalar(x_246)) {
- x_248 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_248 = x_246;
-}
-lean_ctor_set(x_248, 0, x_245);
-lean_ctor_set_uint8(x_248, sizeof(void*)*1, x_247);
-x_249 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_249, 0, x_242);
-lean_ctor_set(x_249, 1, x_243);
-lean_ctor_set(x_249, 2, x_244);
-lean_ctor_set(x_249, 3, x_248);
-x_250 = lean_st_ref_set(x_9, x_249, x_93);
-x_251 = lean_ctor_get(x_250, 1);
-lean_inc(x_251);
-lean_dec(x_250);
+lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; uint8_t x_114; uint8_t x_115; lean_object* x_116; lean_object* x_164; lean_object* x_165; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; uint8_t x_202;
+x_110 = lean_st_ref_get(x_9, x_39);
+x_111 = lean_ctor_get(x_110, 0);
+lean_inc(x_111);
+x_112 = lean_ctor_get(x_111, 3);
+lean_inc(x_112);
+lean_dec(x_111);
+x_113 = lean_ctor_get(x_110, 1);
+lean_inc(x_113);
+lean_dec(x_110);
+x_114 = lean_ctor_get_uint8(x_112, sizeof(void*)*1);
+lean_dec(x_112);
+x_198 = lean_st_ref_take(x_9, x_113);
+x_199 = lean_ctor_get(x_198, 0);
+lean_inc(x_199);
+x_200 = lean_ctor_get(x_199, 3);
+lean_inc(x_200);
+x_201 = lean_ctor_get(x_198, 1);
+lean_inc(x_201);
+lean_dec(x_198);
+x_202 = !lean_is_exclusive(x_199);
+if (x_202 == 0)
+{
+lean_object* x_203; uint8_t x_204;
+x_203 = lean_ctor_get(x_199, 3);
+lean_dec(x_203);
+x_204 = !lean_is_exclusive(x_200);
+if (x_204 == 0)
+{
+uint8_t x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208;
+x_205 = 0;
+lean_ctor_set_uint8(x_200, sizeof(void*)*1, x_205);
+x_206 = lean_st_ref_set(x_9, x_199, x_201);
+x_207 = lean_ctor_get(x_206, 1);
+lean_inc(x_207);
+lean_dec(x_206);
lean_inc(x_9);
lean_inc(x_8);
lean_inc(x_7);
lean_inc(x_6);
-x_252 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_33, x_6, x_7, x_8, x_9, x_251);
-if (lean_obj_tag(x_252) == 0)
+x_208 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_37, x_6, x_7, x_8, x_9, x_207);
+if (lean_obj_tag(x_208) == 0)
{
-lean_object* x_253; lean_object* x_254; uint8_t x_255; lean_object* x_256; lean_object* x_283; lean_object* x_284; lean_object* x_285; uint8_t x_286;
-x_253 = lean_ctor_get(x_252, 0);
-lean_inc(x_253);
-x_254 = lean_ctor_get(x_252, 1);
-lean_inc(x_254);
-lean_dec(x_252);
-x_283 = lean_st_ref_get(x_9, x_254);
-x_284 = lean_ctor_get(x_283, 0);
-lean_inc(x_284);
-x_285 = lean_ctor_get(x_284, 3);
+lean_object* x_209; lean_object* x_210; uint8_t x_211; lean_object* x_212; lean_object* x_239; lean_object* x_240; lean_object* x_241; uint8_t x_242;
+x_209 = lean_ctor_get(x_208, 0);
+lean_inc(x_209);
+x_210 = lean_ctor_get(x_208, 1);
+lean_inc(x_210);
+lean_dec(x_208);
+x_239 = lean_st_ref_get(x_9, x_210);
+x_240 = lean_ctor_get(x_239, 0);
+lean_inc(x_240);
+x_241 = lean_ctor_get(x_240, 3);
+lean_inc(x_241);
+lean_dec(x_240);
+x_242 = lean_ctor_get_uint8(x_241, sizeof(void*)*1);
+lean_dec(x_241);
+if (x_242 == 0)
+{
+lean_object* x_243;
+x_243 = lean_ctor_get(x_239, 1);
+lean_inc(x_243);
+lean_dec(x_239);
+x_211 = x_205;
+x_212 = x_243;
+goto block_238;
+}
+else
+{
+lean_object* x_244; lean_object* x_245; lean_object* x_246; lean_object* x_247; lean_object* x_248; uint8_t x_249;
+x_244 = lean_ctor_get(x_239, 1);
+lean_inc(x_244);
+lean_dec(x_239);
+x_245 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_246 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_245, x_6, x_7, x_8, x_9, x_244);
+x_247 = lean_ctor_get(x_246, 0);
+lean_inc(x_247);
+x_248 = lean_ctor_get(x_246, 1);
+lean_inc(x_248);
+lean_dec(x_246);
+x_249 = lean_unbox(x_247);
+lean_dec(x_247);
+x_211 = x_249;
+x_212 = x_248;
+goto block_238;
+}
+block_238:
+{
+if (x_211 == 0)
+{
+uint8_t x_213;
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_2);
+lean_dec(x_1);
+x_213 = lean_unbox(x_209);
+lean_dec(x_209);
+x_115 = x_213;
+x_116 = x_212;
+goto block_163;
+}
+else
+{
+lean_object* x_214; lean_object* x_215; lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; lean_object* x_221; lean_object* x_222; uint8_t x_223;
+x_214 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_214, 0, x_1);
+x_215 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_216 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_216, 0, x_215);
+lean_ctor_set(x_216, 1, x_214);
+x_217 = l_Lean_Meta_isLevelDefEqAux___closed__6;
+x_218 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_218, 0, x_216);
+lean_ctor_set(x_218, 1, x_217);
+x_219 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_219, 0, x_2);
+x_220 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_220, 0, x_218);
+lean_ctor_set(x_220, 1, x_219);
+x_221 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
+x_222 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_222, 0, x_220);
+lean_ctor_set(x_222, 1, x_221);
+x_223 = lean_unbox(x_209);
+if (x_223 == 0)
+{
+lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; lean_object* x_228; lean_object* x_229; uint8_t x_230;
+x_224 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
+x_225 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_225, 0, x_222);
+lean_ctor_set(x_225, 1, x_224);
+x_226 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_226, 0, x_225);
+lean_ctor_set(x_226, 1, x_215);
+x_227 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_228 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_227, x_226, x_6, x_7, x_8, x_9, x_212);
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+x_229 = lean_ctor_get(x_228, 1);
+lean_inc(x_229);
+lean_dec(x_228);
+x_230 = lean_unbox(x_209);
+lean_dec(x_209);
+x_115 = x_230;
+x_116 = x_229;
+goto block_163;
+}
+else
+{
+lean_object* x_231; lean_object* x_232; lean_object* x_233; lean_object* x_234; lean_object* x_235; lean_object* x_236; uint8_t x_237;
+x_231 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
+x_232 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_232, 0, x_222);
+lean_ctor_set(x_232, 1, x_231);
+x_233 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_233, 0, x_232);
+lean_ctor_set(x_233, 1, x_215);
+x_234 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_235 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_234, x_233, x_6, x_7, x_8, x_9, x_212);
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+x_236 = lean_ctor_get(x_235, 1);
+lean_inc(x_236);
+lean_dec(x_235);
+x_237 = lean_unbox(x_209);
+lean_dec(x_209);
+x_115 = x_237;
+x_116 = x_236;
+goto block_163;
+}
+}
+}
+}
+else
+{
+lean_object* x_250; lean_object* x_251;
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_2);
+lean_dec(x_1);
+x_250 = lean_ctor_get(x_208, 0);
+lean_inc(x_250);
+x_251 = lean_ctor_get(x_208, 1);
+lean_inc(x_251);
+lean_dec(x_208);
+x_164 = x_250;
+x_165 = x_251;
+goto block_197;
+}
+}
+else
+{
+lean_object* x_252; uint8_t x_253; lean_object* x_254; lean_object* x_255; lean_object* x_256; lean_object* x_257;
+x_252 = lean_ctor_get(x_200, 0);
+lean_inc(x_252);
+lean_dec(x_200);
+x_253 = 0;
+x_254 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_254, 0, x_252);
+lean_ctor_set_uint8(x_254, sizeof(void*)*1, x_253);
+lean_ctor_set(x_199, 3, x_254);
+x_255 = lean_st_ref_set(x_9, x_199, x_201);
+x_256 = lean_ctor_get(x_255, 1);
+lean_inc(x_256);
+lean_dec(x_255);
+lean_inc(x_9);
+lean_inc(x_8);
+lean_inc(x_7);
+lean_inc(x_6);
+x_257 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_37, x_6, x_7, x_8, x_9, x_256);
+if (lean_obj_tag(x_257) == 0)
+{
+lean_object* x_258; lean_object* x_259; uint8_t x_260; lean_object* x_261; lean_object* x_288; lean_object* x_289; lean_object* x_290; uint8_t x_291;
+x_258 = lean_ctor_get(x_257, 0);
+lean_inc(x_258);
+x_259 = lean_ctor_get(x_257, 1);
+lean_inc(x_259);
+lean_dec(x_257);
+x_288 = lean_st_ref_get(x_9, x_259);
+x_289 = lean_ctor_get(x_288, 0);
+lean_inc(x_289);
+x_290 = lean_ctor_get(x_289, 3);
+lean_inc(x_290);
+lean_dec(x_289);
+x_291 = lean_ctor_get_uint8(x_290, sizeof(void*)*1);
+lean_dec(x_290);
+if (x_291 == 0)
+{
+lean_object* x_292;
+x_292 = lean_ctor_get(x_288, 1);
+lean_inc(x_292);
+lean_dec(x_288);
+x_260 = x_253;
+x_261 = x_292;
+goto block_287;
+}
+else
+{
+lean_object* x_293; lean_object* x_294; lean_object* x_295; lean_object* x_296; lean_object* x_297; uint8_t x_298;
+x_293 = lean_ctor_get(x_288, 1);
+lean_inc(x_293);
+lean_dec(x_288);
+x_294 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_295 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_294, x_6, x_7, x_8, x_9, x_293);
+x_296 = lean_ctor_get(x_295, 0);
+lean_inc(x_296);
+x_297 = lean_ctor_get(x_295, 1);
+lean_inc(x_297);
+lean_dec(x_295);
+x_298 = lean_unbox(x_296);
+lean_dec(x_296);
+x_260 = x_298;
+x_261 = x_297;
+goto block_287;
+}
+block_287:
+{
+if (x_260 == 0)
+{
+uint8_t x_262;
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_2);
+lean_dec(x_1);
+x_262 = lean_unbox(x_258);
+lean_dec(x_258);
+x_115 = x_262;
+x_116 = x_261;
+goto block_163;
+}
+else
+{
+lean_object* x_263; lean_object* x_264; lean_object* x_265; lean_object* x_266; lean_object* x_267; lean_object* x_268; lean_object* x_269; lean_object* x_270; lean_object* x_271; uint8_t x_272;
+x_263 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_263, 0, x_1);
+x_264 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_265 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_265, 0, x_264);
+lean_ctor_set(x_265, 1, x_263);
+x_266 = l_Lean_Meta_isLevelDefEqAux___closed__6;
+x_267 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_267, 0, x_265);
+lean_ctor_set(x_267, 1, x_266);
+x_268 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_268, 0, x_2);
+x_269 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_269, 0, x_267);
+lean_ctor_set(x_269, 1, x_268);
+x_270 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
+x_271 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_271, 0, x_269);
+lean_ctor_set(x_271, 1, x_270);
+x_272 = lean_unbox(x_258);
+if (x_272 == 0)
+{
+lean_object* x_273; lean_object* x_274; lean_object* x_275; lean_object* x_276; lean_object* x_277; lean_object* x_278; uint8_t x_279;
+x_273 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
+x_274 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_274, 0, x_271);
+lean_ctor_set(x_274, 1, x_273);
+x_275 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_275, 0, x_274);
+lean_ctor_set(x_275, 1, x_264);
+x_276 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_277 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_276, x_275, x_6, x_7, x_8, x_9, x_261);
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+x_278 = lean_ctor_get(x_277, 1);
+lean_inc(x_278);
+lean_dec(x_277);
+x_279 = lean_unbox(x_258);
+lean_dec(x_258);
+x_115 = x_279;
+x_116 = x_278;
+goto block_163;
+}
+else
+{
+lean_object* x_280; lean_object* x_281; lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; uint8_t x_286;
+x_280 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
+x_281 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_281, 0, x_271);
+lean_ctor_set(x_281, 1, x_280);
+x_282 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_282, 0, x_281);
+lean_ctor_set(x_282, 1, x_264);
+x_283 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_284 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_283, x_282, x_6, x_7, x_8, x_9, x_261);
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+x_285 = lean_ctor_get(x_284, 1);
lean_inc(x_285);
lean_dec(x_284);
-x_286 = lean_ctor_get_uint8(x_285, sizeof(void*)*1);
-lean_dec(x_285);
-if (x_286 == 0)
-{
-lean_object* x_287;
-x_287 = lean_ctor_get(x_283, 1);
-lean_inc(x_287);
-lean_dec(x_283);
-x_255 = x_247;
-x_256 = x_287;
-goto block_282;
+x_286 = lean_unbox(x_258);
+lean_dec(x_258);
+x_115 = x_286;
+x_116 = x_285;
+goto block_163;
+}
+}
+}
}
else
{
-lean_object* x_288; lean_object* x_289; lean_object* x_290; lean_object* x_291; lean_object* x_292; uint8_t x_293;
-x_288 = lean_ctor_get(x_283, 1);
-lean_inc(x_288);
-lean_dec(x_283);
-x_289 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_290 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_289, x_6, x_7, x_8, x_9, x_288);
-x_291 = lean_ctor_get(x_290, 0);
-lean_inc(x_291);
-x_292 = lean_ctor_get(x_290, 1);
-lean_inc(x_292);
-lean_dec(x_290);
-x_293 = lean_unbox(x_291);
-lean_dec(x_291);
-x_255 = x_293;
-x_256 = x_292;
-goto block_282;
-}
-block_282:
-{
-if (x_255 == 0)
-{
-uint8_t x_257;
+lean_object* x_299; lean_object* x_300;
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_2);
lean_dec(x_1);
-x_257 = lean_unbox(x_253);
-lean_dec(x_253);
-x_41 = x_257;
-x_42 = x_256;
-goto block_89;
-}
-else
-{
-lean_object* x_258; lean_object* x_259; lean_object* x_260; lean_object* x_261; lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265; lean_object* x_266; uint8_t x_267;
-x_258 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_258, 0, x_1);
-x_259 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_260 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_260, 0, x_259);
-lean_ctor_set(x_260, 1, x_258);
-x_261 = l_Lean_Meta_isLevelDefEqAux___closed__6;
-x_262 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_262, 0, x_260);
-lean_ctor_set(x_262, 1, x_261);
-x_263 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_263, 0, x_2);
-x_264 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_264, 0, x_262);
-lean_ctor_set(x_264, 1, x_263);
-x_265 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
-x_266 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_266, 0, x_264);
-lean_ctor_set(x_266, 1, x_265);
-x_267 = lean_unbox(x_253);
-if (x_267 == 0)
-{
-lean_object* x_268; lean_object* x_269; lean_object* x_270; lean_object* x_271; lean_object* x_272; lean_object* x_273; uint8_t x_274;
-x_268 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
-x_269 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_269, 0, x_266);
-lean_ctor_set(x_269, 1, x_268);
-x_270 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_270, 0, x_269);
-lean_ctor_set(x_270, 1, x_259);
-x_271 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_272 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_271, x_270, x_6, x_7, x_8, x_9, x_256);
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-x_273 = lean_ctor_get(x_272, 1);
-lean_inc(x_273);
-lean_dec(x_272);
-x_274 = lean_unbox(x_253);
-lean_dec(x_253);
-x_41 = x_274;
-x_42 = x_273;
-goto block_89;
-}
-else
-{
-lean_object* x_275; lean_object* x_276; lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; uint8_t x_281;
-x_275 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
-x_276 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_276, 0, x_266);
-lean_ctor_set(x_276, 1, x_275);
-x_277 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_277, 0, x_276);
-lean_ctor_set(x_277, 1, x_259);
-x_278 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_279 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_278, x_277, x_6, x_7, x_8, x_9, x_256);
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-x_280 = lean_ctor_get(x_279, 1);
-lean_inc(x_280);
-lean_dec(x_279);
-x_281 = lean_unbox(x_253);
-lean_dec(x_253);
-x_41 = x_281;
-x_42 = x_280;
-goto block_89;
-}
-}
-}
-}
-else
-{
-lean_object* x_294; lean_object* x_295; lean_object* x_296; lean_object* x_297; lean_object* x_298; lean_object* x_299; lean_object* x_300; lean_object* x_301; lean_object* x_302; lean_object* x_303; lean_object* x_304; lean_object* x_305; lean_object* x_306; lean_object* x_307; lean_object* x_308; lean_object* x_309; lean_object* x_310; lean_object* x_311; lean_object* x_312; lean_object* x_313;
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_2);
-lean_dec(x_1);
-x_294 = lean_ctor_get(x_252, 0);
-lean_inc(x_294);
-x_295 = lean_ctor_get(x_252, 1);
-lean_inc(x_295);
-lean_dec(x_252);
-x_296 = lean_st_ref_get(x_9, x_295);
-x_297 = lean_ctor_get(x_296, 1);
-lean_inc(x_297);
-lean_dec(x_296);
-x_298 = lean_st_ref_take(x_9, x_297);
-x_299 = lean_ctor_get(x_298, 0);
+x_299 = lean_ctor_get(x_257, 0);
lean_inc(x_299);
-x_300 = lean_ctor_get(x_299, 3);
+x_300 = lean_ctor_get(x_257, 1);
lean_inc(x_300);
-x_301 = lean_ctor_get(x_298, 1);
-lean_inc(x_301);
-lean_dec(x_298);
-x_302 = lean_ctor_get(x_299, 0);
-lean_inc(x_302);
-x_303 = lean_ctor_get(x_299, 1);
+lean_dec(x_257);
+x_164 = x_299;
+x_165 = x_300;
+goto block_197;
+}
+}
+}
+else
+{
+lean_object* x_301; lean_object* x_302; lean_object* x_303; lean_object* x_304; lean_object* x_305; uint8_t x_306; lean_object* x_307; lean_object* x_308; lean_object* x_309; lean_object* x_310; lean_object* x_311;
+x_301 = lean_ctor_get(x_199, 0);
+x_302 = lean_ctor_get(x_199, 1);
+x_303 = lean_ctor_get(x_199, 2);
lean_inc(x_303);
-x_304 = lean_ctor_get(x_299, 2);
+lean_inc(x_302);
+lean_inc(x_301);
+lean_dec(x_199);
+x_304 = lean_ctor_get(x_200, 0);
lean_inc(x_304);
-if (lean_is_exclusive(x_299)) {
- lean_ctor_release(x_299, 0);
- lean_ctor_release(x_299, 1);
- lean_ctor_release(x_299, 2);
- lean_ctor_release(x_299, 3);
- x_305 = x_299;
+if (lean_is_exclusive(x_200)) {
+ lean_ctor_release(x_200, 0);
+ x_305 = x_200;
} else {
- lean_dec_ref(x_299);
+ lean_dec_ref(x_200);
x_305 = lean_box(0);
}
-x_306 = lean_ctor_get(x_300, 0);
-lean_inc(x_306);
-if (lean_is_exclusive(x_300)) {
- lean_ctor_release(x_300, 0);
- x_307 = x_300;
-} else {
- lean_dec_ref(x_300);
- x_307 = lean_box(0);
-}
-if (lean_is_scalar(x_307)) {
- x_308 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_308 = x_307;
-}
-lean_ctor_set(x_308, 0, x_306);
-lean_ctor_set_uint8(x_308, sizeof(void*)*1, x_40);
+x_306 = 0;
if (lean_is_scalar(x_305)) {
- x_309 = lean_alloc_ctor(0, 4, 0);
+ x_307 = lean_alloc_ctor(0, 1, 1);
} else {
- x_309 = x_305;
+ x_307 = x_305;
}
-lean_ctor_set(x_309, 0, x_302);
-lean_ctor_set(x_309, 1, x_303);
-lean_ctor_set(x_309, 2, x_304);
-lean_ctor_set(x_309, 3, x_308);
-x_310 = lean_st_ref_set(x_9, x_309, x_301);
-lean_dec(x_9);
-x_311 = lean_ctor_get(x_310, 1);
-lean_inc(x_311);
-if (lean_is_exclusive(x_310)) {
- lean_ctor_release(x_310, 0);
- lean_ctor_release(x_310, 1);
- x_312 = x_310;
-} else {
- lean_dec_ref(x_310);
- x_312 = lean_box(0);
-}
-if (lean_is_scalar(x_312)) {
- x_313 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_313 = x_312;
- lean_ctor_set_tag(x_313, 1);
-}
-lean_ctor_set(x_313, 0, x_294);
-lean_ctor_set(x_313, 1, x_311);
-x_11 = x_313;
-goto block_23;
-}
-}
-block_89:
-{
-lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; uint8_t x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; uint8_t x_52;
-x_43 = lean_st_ref_get(x_9, x_42);
-x_44 = lean_ctor_get(x_43, 0);
-lean_inc(x_44);
-x_45 = lean_ctor_get(x_43, 1);
-lean_inc(x_45);
-lean_dec(x_43);
-x_46 = lean_ctor_get(x_44, 3);
-lean_inc(x_46);
-lean_dec(x_44);
-x_47 = lean_ctor_get_uint8(x_46, sizeof(void*)*1);
-lean_dec(x_46);
-x_48 = lean_st_ref_take(x_9, x_45);
-x_49 = lean_ctor_get(x_48, 0);
-lean_inc(x_49);
-x_50 = lean_ctor_get(x_49, 3);
-lean_inc(x_50);
-x_51 = lean_ctor_get(x_48, 1);
-lean_inc(x_51);
-lean_dec(x_48);
-x_52 = !lean_is_exclusive(x_49);
-if (x_52 == 0)
-{
-lean_object* x_53; uint8_t x_54;
-x_53 = lean_ctor_get(x_49, 3);
-lean_dec(x_53);
-x_54 = !lean_is_exclusive(x_50);
-if (x_54 == 0)
-{
-lean_object* x_55; uint8_t x_56;
-lean_ctor_set_uint8(x_50, sizeof(void*)*1, x_40);
-x_55 = lean_st_ref_set(x_9, x_49, x_51);
-lean_dec(x_9);
-x_56 = !lean_is_exclusive(x_55);
-if (x_56 == 0)
-{
-lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60;
-x_57 = lean_ctor_get(x_55, 0);
-lean_dec(x_57);
-x_58 = lean_box(x_41);
-x_59 = lean_box(x_47);
-x_60 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_60, 0, x_58);
-lean_ctor_set(x_60, 1, x_59);
-lean_ctor_set(x_55, 0, x_60);
-x_24 = x_55;
-goto block_32;
-}
-else
-{
-lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65;
-x_61 = lean_ctor_get(x_55, 1);
-lean_inc(x_61);
-lean_dec(x_55);
-x_62 = lean_box(x_41);
-x_63 = lean_box(x_47);
-x_64 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_64, 0, x_62);
-lean_ctor_set(x_64, 1, x_63);
-x_65 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_65, 0, x_64);
-lean_ctor_set(x_65, 1, x_61);
-x_24 = x_65;
-goto block_32;
-}
-}
-else
-{
-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;
-x_66 = lean_ctor_get(x_50, 0);
-lean_inc(x_66);
-lean_dec(x_50);
-x_67 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_67, 0, x_66);
-lean_ctor_set_uint8(x_67, sizeof(void*)*1, x_40);
-lean_ctor_set(x_49, 3, x_67);
-x_68 = lean_st_ref_set(x_9, x_49, x_51);
-lean_dec(x_9);
-x_69 = lean_ctor_get(x_68, 1);
-lean_inc(x_69);
-if (lean_is_exclusive(x_68)) {
- lean_ctor_release(x_68, 0);
- lean_ctor_release(x_68, 1);
- x_70 = x_68;
-} else {
- lean_dec_ref(x_68);
- x_70 = lean_box(0);
-}
-x_71 = lean_box(x_41);
-x_72 = lean_box(x_47);
-x_73 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_73, 0, x_71);
-lean_ctor_set(x_73, 1, x_72);
-if (lean_is_scalar(x_70)) {
- x_74 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_74 = x_70;
-}
-lean_ctor_set(x_74, 0, x_73);
-lean_ctor_set(x_74, 1, x_69);
-x_24 = x_74;
-goto block_32;
-}
-}
-else
-{
-lean_object* x_75; lean_object* x_76; lean_object* x_77; 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;
-x_75 = lean_ctor_get(x_49, 0);
-x_76 = lean_ctor_get(x_49, 1);
-x_77 = lean_ctor_get(x_49, 2);
-lean_inc(x_77);
-lean_inc(x_76);
-lean_inc(x_75);
-lean_dec(x_49);
-x_78 = lean_ctor_get(x_50, 0);
-lean_inc(x_78);
-if (lean_is_exclusive(x_50)) {
- lean_ctor_release(x_50, 0);
- x_79 = x_50;
-} else {
- lean_dec_ref(x_50);
- x_79 = lean_box(0);
-}
-if (lean_is_scalar(x_79)) {
- x_80 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_80 = x_79;
-}
-lean_ctor_set(x_80, 0, x_78);
-lean_ctor_set_uint8(x_80, sizeof(void*)*1, x_40);
-x_81 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_81, 0, x_75);
-lean_ctor_set(x_81, 1, x_76);
-lean_ctor_set(x_81, 2, x_77);
-lean_ctor_set(x_81, 3, x_80);
-x_82 = lean_st_ref_set(x_9, x_81, x_51);
-lean_dec(x_9);
-x_83 = lean_ctor_get(x_82, 1);
-lean_inc(x_83);
-if (lean_is_exclusive(x_82)) {
- lean_ctor_release(x_82, 0);
- lean_ctor_release(x_82, 1);
- x_84 = x_82;
-} else {
- lean_dec_ref(x_82);
- x_84 = lean_box(0);
-}
-x_85 = lean_box(x_41);
-x_86 = lean_box(x_47);
-x_87 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_87, 0, x_85);
-lean_ctor_set(x_87, 1, x_86);
-if (lean_is_scalar(x_84)) {
- x_88 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_88 = x_84;
-}
-lean_ctor_set(x_88, 0, x_87);
-lean_ctor_set(x_88, 1, x_83);
-x_24 = x_88;
-goto block_32;
-}
-}
-}
-else
-{
-lean_object* x_314; lean_object* x_315; lean_object* x_316; lean_object* x_317; uint8_t x_318; lean_object* x_319; lean_object* x_329;
-x_314 = lean_ctor_get(x_8, 3);
-lean_inc(x_314);
-x_315 = l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_isLevelDefEq___spec__3___rarg(x_9, x_35);
-x_316 = lean_ctor_get(x_315, 0);
-lean_inc(x_316);
-x_317 = lean_ctor_get(x_315, 1);
-lean_inc(x_317);
-lean_dec(x_315);
+lean_ctor_set(x_307, 0, x_304);
+lean_ctor_set_uint8(x_307, sizeof(void*)*1, x_306);
+x_308 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_308, 0, x_301);
+lean_ctor_set(x_308, 1, x_302);
+lean_ctor_set(x_308, 2, x_303);
+lean_ctor_set(x_308, 3, x_307);
+x_309 = lean_st_ref_set(x_9, x_308, x_201);
+x_310 = lean_ctor_get(x_309, 1);
+lean_inc(x_310);
+lean_dec(x_309);
lean_inc(x_9);
lean_inc(x_8);
lean_inc(x_7);
lean_inc(x_6);
-x_329 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_33, x_6, x_7, x_8, x_9, x_317);
-if (lean_obj_tag(x_329) == 0)
+x_311 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_37, x_6, x_7, x_8, x_9, x_310);
+if (lean_obj_tag(x_311) == 0)
{
-lean_object* x_330; lean_object* x_331; uint8_t x_332; lean_object* x_333; lean_object* x_360; lean_object* x_361; lean_object* x_362; uint8_t x_363;
-x_330 = lean_ctor_get(x_329, 0);
-lean_inc(x_330);
-x_331 = lean_ctor_get(x_329, 1);
-lean_inc(x_331);
-lean_dec(x_329);
-x_360 = lean_st_ref_get(x_9, x_331);
-x_361 = lean_ctor_get(x_360, 0);
-lean_inc(x_361);
-x_362 = lean_ctor_get(x_361, 3);
-lean_inc(x_362);
-lean_dec(x_361);
-x_363 = lean_ctor_get_uint8(x_362, sizeof(void*)*1);
-lean_dec(x_362);
-if (x_363 == 0)
+lean_object* x_312; lean_object* x_313; uint8_t x_314; lean_object* x_315; lean_object* x_342; lean_object* x_343; lean_object* x_344; uint8_t x_345;
+x_312 = lean_ctor_get(x_311, 0);
+lean_inc(x_312);
+x_313 = lean_ctor_get(x_311, 1);
+lean_inc(x_313);
+lean_dec(x_311);
+x_342 = lean_st_ref_get(x_9, x_313);
+x_343 = lean_ctor_get(x_342, 0);
+lean_inc(x_343);
+x_344 = lean_ctor_get(x_343, 3);
+lean_inc(x_344);
+lean_dec(x_343);
+x_345 = lean_ctor_get_uint8(x_344, sizeof(void*)*1);
+lean_dec(x_344);
+if (x_345 == 0)
{
-lean_object* x_364; uint8_t x_365;
-x_364 = lean_ctor_get(x_360, 1);
-lean_inc(x_364);
-lean_dec(x_360);
-x_365 = 0;
-x_332 = x_365;
-x_333 = x_364;
-goto block_359;
+lean_object* x_346;
+x_346 = lean_ctor_get(x_342, 1);
+lean_inc(x_346);
+lean_dec(x_342);
+x_314 = x_306;
+x_315 = x_346;
+goto block_341;
}
else
{
-lean_object* x_366; lean_object* x_367; lean_object* x_368; lean_object* x_369; lean_object* x_370; uint8_t x_371;
-x_366 = lean_ctor_get(x_360, 1);
-lean_inc(x_366);
-lean_dec(x_360);
-x_367 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_368 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_367, x_6, x_7, x_8, x_9, x_366);
-x_369 = lean_ctor_get(x_368, 0);
-lean_inc(x_369);
-x_370 = lean_ctor_get(x_368, 1);
-lean_inc(x_370);
-lean_dec(x_368);
-x_371 = lean_unbox(x_369);
-lean_dec(x_369);
-x_332 = x_371;
-x_333 = x_370;
-goto block_359;
-}
-block_359:
-{
-if (x_332 == 0)
-{
-uint8_t x_334;
-lean_dec(x_2);
-lean_dec(x_1);
-x_334 = lean_unbox(x_330);
-lean_dec(x_330);
-x_318 = x_334;
-x_319 = x_333;
-goto block_328;
-}
-else
-{
-lean_object* x_335; lean_object* x_336; lean_object* x_337; lean_object* x_338; lean_object* x_339; lean_object* x_340; lean_object* x_341; lean_object* x_342; lean_object* x_343; uint8_t x_344;
-x_335 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_335, 0, x_1);
-x_336 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_337 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_337, 0, x_336);
-lean_ctor_set(x_337, 1, x_335);
-x_338 = l_Lean_Meta_isLevelDefEqAux___closed__6;
-x_339 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_339, 0, x_337);
-lean_ctor_set(x_339, 1, x_338);
-x_340 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_340, 0, x_2);
-x_341 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_341, 0, x_339);
-lean_ctor_set(x_341, 1, x_340);
-x_342 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
-x_343 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_343, 0, x_341);
-lean_ctor_set(x_343, 1, x_342);
-x_344 = lean_unbox(x_330);
-if (x_344 == 0)
-{
-lean_object* x_345; lean_object* x_346; lean_object* x_347; lean_object* x_348; lean_object* x_349; lean_object* x_350; uint8_t x_351;
-x_345 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
-x_346 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_346, 0, x_343);
-lean_ctor_set(x_346, 1, x_345);
-x_347 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_347, 0, x_346);
-lean_ctor_set(x_347, 1, x_336);
+lean_object* x_347; lean_object* x_348; lean_object* x_349; lean_object* x_350; lean_object* x_351; uint8_t x_352;
+x_347 = lean_ctor_get(x_342, 1);
+lean_inc(x_347);
+lean_dec(x_342);
x_348 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_349 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_348, x_347, x_6, x_7, x_8, x_9, x_333);
-x_350 = lean_ctor_get(x_349, 1);
+x_349 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_348, x_6, x_7, x_8, x_9, x_347);
+x_350 = lean_ctor_get(x_349, 0);
lean_inc(x_350);
+x_351 = lean_ctor_get(x_349, 1);
+lean_inc(x_351);
lean_dec(x_349);
-x_351 = lean_unbox(x_330);
-lean_dec(x_330);
-x_318 = x_351;
-x_319 = x_350;
-goto block_328;
+x_352 = lean_unbox(x_350);
+lean_dec(x_350);
+x_314 = x_352;
+x_315 = x_351;
+goto block_341;
}
-else
+block_341:
{
-lean_object* x_352; lean_object* x_353; lean_object* x_354; lean_object* x_355; lean_object* x_356; lean_object* x_357; uint8_t x_358;
-x_352 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
-x_353 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_353, 0, x_343);
-lean_ctor_set(x_353, 1, x_352);
-x_354 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_354, 0, x_353);
-lean_ctor_set(x_354, 1, x_336);
-x_355 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_356 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_355, x_354, x_6, x_7, x_8, x_9, x_333);
-x_357 = lean_ctor_get(x_356, 1);
-lean_inc(x_357);
-lean_dec(x_356);
-x_358 = lean_unbox(x_330);
-lean_dec(x_330);
-x_318 = x_358;
-x_319 = x_357;
-goto block_328;
-}
-}
-}
-}
-else
+if (x_314 == 0)
{
-lean_object* x_372; lean_object* x_373; lean_object* x_374; lean_object* x_375; uint8_t x_376;
+uint8_t x_316;
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
lean_dec(x_2);
lean_dec(x_1);
-x_372 = lean_ctor_get(x_329, 0);
-lean_inc(x_372);
-x_373 = lean_ctor_get(x_329, 1);
-lean_inc(x_373);
-lean_dec(x_329);
-x_374 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_375 = l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_isLevelDefEq___spec__4(x_316, x_374, x_314, x_6, x_7, x_8, x_9, x_373);
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-x_376 = !lean_is_exclusive(x_375);
-if (x_376 == 0)
-{
-lean_object* x_377;
-x_377 = lean_ctor_get(x_375, 0);
-lean_dec(x_377);
-lean_ctor_set_tag(x_375, 1);
-lean_ctor_set(x_375, 0, x_372);
-x_11 = x_375;
-goto block_23;
+x_316 = lean_unbox(x_312);
+lean_dec(x_312);
+x_115 = x_316;
+x_116 = x_315;
+goto block_163;
}
else
{
-lean_object* x_378; lean_object* x_379;
-x_378 = lean_ctor_get(x_375, 1);
-lean_inc(x_378);
-lean_dec(x_375);
-x_379 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_379, 0, x_372);
-lean_ctor_set(x_379, 1, x_378);
-x_11 = x_379;
-goto block_23;
-}
-}
-block_328:
+lean_object* x_317; lean_object* x_318; lean_object* x_319; lean_object* x_320; lean_object* x_321; lean_object* x_322; lean_object* x_323; lean_object* x_324; lean_object* x_325; uint8_t x_326;
+x_317 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_317, 0, x_1);
+x_318 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_319 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_319, 0, x_318);
+lean_ctor_set(x_319, 1, x_317);
+x_320 = l_Lean_Meta_isLevelDefEqAux___closed__6;
+x_321 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_321, 0, x_319);
+lean_ctor_set(x_321, 1, x_320);
+x_322 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_322, 0, x_2);
+x_323 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_323, 0, x_321);
+lean_ctor_set(x_323, 1, x_322);
+x_324 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
+x_325 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_325, 0, x_323);
+lean_ctor_set(x_325, 1, x_324);
+x_326 = lean_unbox(x_312);
+if (x_326 == 0)
{
-lean_object* x_320; lean_object* x_321; uint8_t x_322;
-x_320 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_321 = l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_isLevelDefEq___spec__4(x_316, x_320, x_314, x_6, x_7, x_8, x_9, x_319);
-lean_dec(x_9);
+lean_object* x_327; lean_object* x_328; lean_object* x_329; lean_object* x_330; lean_object* x_331; lean_object* x_332; uint8_t x_333;
+x_327 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
+x_328 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_328, 0, x_325);
+lean_ctor_set(x_328, 1, x_327);
+x_329 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_329, 0, x_328);
+lean_ctor_set(x_329, 1, x_318);
+x_330 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_331 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_330, x_329, x_6, x_7, x_8, x_9, x_315);
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
-x_322 = !lean_is_exclusive(x_321);
-if (x_322 == 0)
-{
-lean_object* x_323; lean_object* x_324;
-x_323 = lean_ctor_get(x_321, 0);
-lean_dec(x_323);
-x_324 = lean_box(x_318);
-lean_ctor_set(x_321, 0, x_324);
-x_11 = x_321;
-goto block_23;
+x_332 = lean_ctor_get(x_331, 1);
+lean_inc(x_332);
+lean_dec(x_331);
+x_333 = lean_unbox(x_312);
+lean_dec(x_312);
+x_115 = x_333;
+x_116 = x_332;
+goto block_163;
}
else
{
-lean_object* x_325; lean_object* x_326; lean_object* x_327;
-x_325 = lean_ctor_get(x_321, 1);
-lean_inc(x_325);
-lean_dec(x_321);
-x_326 = lean_box(x_318);
-x_327 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_327, 0, x_326);
-lean_ctor_set(x_327, 1, x_325);
-x_11 = x_327;
-goto block_23;
+lean_object* x_334; lean_object* x_335; lean_object* x_336; lean_object* x_337; lean_object* x_338; lean_object* x_339; uint8_t x_340;
+x_334 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
+x_335 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_335, 0, x_325);
+lean_ctor_set(x_335, 1, x_334);
+x_336 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_336, 0, x_335);
+lean_ctor_set(x_336, 1, x_318);
+x_337 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_338 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_337, x_336, x_6, x_7, x_8, x_9, x_315);
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+x_339 = lean_ctor_get(x_338, 1);
+lean_inc(x_339);
+lean_dec(x_338);
+x_340 = lean_unbox(x_312);
+lean_dec(x_312);
+x_115 = x_340;
+x_116 = x_339;
+goto block_163;
+}
+}
+}
+}
+else
+{
+lean_object* x_353; lean_object* x_354;
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_2);
+lean_dec(x_1);
+x_353 = lean_ctor_get(x_311, 0);
+lean_inc(x_353);
+x_354 = lean_ctor_get(x_311, 1);
+lean_inc(x_354);
+lean_dec(x_311);
+x_164 = x_353;
+x_165 = x_354;
+goto block_197;
+}
+}
+block_163:
+{
+lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; uint8_t x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; uint8_t x_126;
+x_117 = lean_st_ref_get(x_9, x_116);
+x_118 = lean_ctor_get(x_117, 0);
+lean_inc(x_118);
+x_119 = lean_ctor_get(x_117, 1);
+lean_inc(x_119);
+lean_dec(x_117);
+x_120 = lean_ctor_get(x_118, 3);
+lean_inc(x_120);
+lean_dec(x_118);
+x_121 = lean_ctor_get_uint8(x_120, sizeof(void*)*1);
+lean_dec(x_120);
+x_122 = lean_st_ref_take(x_9, x_119);
+x_123 = lean_ctor_get(x_122, 0);
+lean_inc(x_123);
+x_124 = lean_ctor_get(x_123, 3);
+lean_inc(x_124);
+x_125 = lean_ctor_get(x_122, 1);
+lean_inc(x_125);
+lean_dec(x_122);
+x_126 = !lean_is_exclusive(x_123);
+if (x_126 == 0)
+{
+lean_object* x_127; uint8_t x_128;
+x_127 = lean_ctor_get(x_123, 3);
+lean_dec(x_127);
+x_128 = !lean_is_exclusive(x_124);
+if (x_128 == 0)
+{
+lean_object* x_129; uint8_t x_130;
+lean_ctor_set_uint8(x_124, sizeof(void*)*1, x_114);
+x_129 = lean_st_ref_set(x_9, x_123, x_125);
+lean_dec(x_9);
+x_130 = !lean_is_exclusive(x_129);
+if (x_130 == 0)
+{
+lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134;
+x_131 = lean_ctor_get(x_129, 0);
+lean_dec(x_131);
+x_132 = lean_box(x_115);
+x_133 = lean_box(x_121);
+x_134 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_134, 0, x_132);
+lean_ctor_set(x_134, 1, x_133);
+lean_ctor_set(x_129, 0, x_134);
+x_24 = x_129;
+goto block_36;
+}
+else
+{
+lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139;
+x_135 = lean_ctor_get(x_129, 1);
+lean_inc(x_135);
+lean_dec(x_129);
+x_136 = lean_box(x_115);
+x_137 = lean_box(x_121);
+x_138 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_138, 0, x_136);
+lean_ctor_set(x_138, 1, x_137);
+x_139 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_139, 0, x_138);
+lean_ctor_set(x_139, 1, x_135);
+x_24 = x_139;
+goto block_36;
+}
+}
+else
+{
+lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148;
+x_140 = lean_ctor_get(x_124, 0);
+lean_inc(x_140);
+lean_dec(x_124);
+x_141 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_141, 0, x_140);
+lean_ctor_set_uint8(x_141, sizeof(void*)*1, x_114);
+lean_ctor_set(x_123, 3, x_141);
+x_142 = lean_st_ref_set(x_9, x_123, x_125);
+lean_dec(x_9);
+x_143 = lean_ctor_get(x_142, 1);
+lean_inc(x_143);
+if (lean_is_exclusive(x_142)) {
+ lean_ctor_release(x_142, 0);
+ lean_ctor_release(x_142, 1);
+ x_144 = x_142;
+} else {
+ lean_dec_ref(x_142);
+ x_144 = lean_box(0);
+}
+x_145 = lean_box(x_115);
+x_146 = lean_box(x_121);
+x_147 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_147, 0, x_145);
+lean_ctor_set(x_147, 1, x_146);
+if (lean_is_scalar(x_144)) {
+ x_148 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_148 = x_144;
+}
+lean_ctor_set(x_148, 0, x_147);
+lean_ctor_set(x_148, 1, x_143);
+x_24 = x_148;
+goto block_36;
+}
+}
+else
+{
+lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162;
+x_149 = lean_ctor_get(x_123, 0);
+x_150 = lean_ctor_get(x_123, 1);
+x_151 = lean_ctor_get(x_123, 2);
+lean_inc(x_151);
+lean_inc(x_150);
+lean_inc(x_149);
+lean_dec(x_123);
+x_152 = lean_ctor_get(x_124, 0);
+lean_inc(x_152);
+if (lean_is_exclusive(x_124)) {
+ lean_ctor_release(x_124, 0);
+ x_153 = x_124;
+} else {
+ lean_dec_ref(x_124);
+ x_153 = lean_box(0);
+}
+if (lean_is_scalar(x_153)) {
+ x_154 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_154 = x_153;
+}
+lean_ctor_set(x_154, 0, x_152);
+lean_ctor_set_uint8(x_154, sizeof(void*)*1, x_114);
+x_155 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_155, 0, x_149);
+lean_ctor_set(x_155, 1, x_150);
+lean_ctor_set(x_155, 2, x_151);
+lean_ctor_set(x_155, 3, x_154);
+x_156 = lean_st_ref_set(x_9, x_155, x_125);
+lean_dec(x_9);
+x_157 = lean_ctor_get(x_156, 1);
+lean_inc(x_157);
+if (lean_is_exclusive(x_156)) {
+ lean_ctor_release(x_156, 0);
+ lean_ctor_release(x_156, 1);
+ x_158 = x_156;
+} else {
+ lean_dec_ref(x_156);
+ x_158 = lean_box(0);
+}
+x_159 = lean_box(x_115);
+x_160 = lean_box(x_121);
+x_161 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_161, 0, x_159);
+lean_ctor_set(x_161, 1, x_160);
+if (lean_is_scalar(x_158)) {
+ x_162 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_162 = x_158;
+}
+lean_ctor_set(x_162, 0, x_161);
+lean_ctor_set(x_162, 1, x_157);
+x_24 = x_162;
+goto block_36;
+}
+}
+block_197:
+{
+lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; uint8_t x_172;
+x_166 = lean_st_ref_get(x_9, x_165);
+x_167 = lean_ctor_get(x_166, 1);
+lean_inc(x_167);
+lean_dec(x_166);
+x_168 = lean_st_ref_take(x_9, x_167);
+x_169 = lean_ctor_get(x_168, 0);
+lean_inc(x_169);
+x_170 = lean_ctor_get(x_169, 3);
+lean_inc(x_170);
+x_171 = lean_ctor_get(x_168, 1);
+lean_inc(x_171);
+lean_dec(x_168);
+x_172 = !lean_is_exclusive(x_169);
+if (x_172 == 0)
+{
+lean_object* x_173; uint8_t x_174;
+x_173 = lean_ctor_get(x_169, 3);
+lean_dec(x_173);
+x_174 = !lean_is_exclusive(x_170);
+if (x_174 == 0)
+{
+lean_object* x_175; uint8_t x_176;
+lean_ctor_set_uint8(x_170, sizeof(void*)*1, x_114);
+x_175 = lean_st_ref_set(x_9, x_169, x_171);
+lean_dec(x_9);
+x_176 = !lean_is_exclusive(x_175);
+if (x_176 == 0)
+{
+lean_object* x_177;
+x_177 = lean_ctor_get(x_175, 0);
+lean_dec(x_177);
+lean_ctor_set_tag(x_175, 1);
+lean_ctor_set(x_175, 0, x_164);
+x_24 = x_175;
+goto block_36;
+}
+else
+{
+lean_object* x_178; lean_object* x_179;
+x_178 = lean_ctor_get(x_175, 1);
+lean_inc(x_178);
+lean_dec(x_175);
+x_179 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_179, 0, x_164);
+lean_ctor_set(x_179, 1, x_178);
+x_24 = x_179;
+goto block_36;
+}
+}
+else
+{
+lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185;
+x_180 = lean_ctor_get(x_170, 0);
+lean_inc(x_180);
+lean_dec(x_170);
+x_181 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_181, 0, x_180);
+lean_ctor_set_uint8(x_181, sizeof(void*)*1, x_114);
+lean_ctor_set(x_169, 3, x_181);
+x_182 = lean_st_ref_set(x_9, x_169, x_171);
+lean_dec(x_9);
+x_183 = lean_ctor_get(x_182, 1);
+lean_inc(x_183);
+if (lean_is_exclusive(x_182)) {
+ lean_ctor_release(x_182, 0);
+ lean_ctor_release(x_182, 1);
+ x_184 = x_182;
+} else {
+ lean_dec_ref(x_182);
+ x_184 = lean_box(0);
+}
+if (lean_is_scalar(x_184)) {
+ x_185 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_185 = x_184;
+ lean_ctor_set_tag(x_185, 1);
+}
+lean_ctor_set(x_185, 0, x_164);
+lean_ctor_set(x_185, 1, x_183);
+x_24 = x_185;
+goto block_36;
+}
+}
+else
+{
+lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196;
+x_186 = lean_ctor_get(x_169, 0);
+x_187 = lean_ctor_get(x_169, 1);
+x_188 = lean_ctor_get(x_169, 2);
+lean_inc(x_188);
+lean_inc(x_187);
+lean_inc(x_186);
+lean_dec(x_169);
+x_189 = lean_ctor_get(x_170, 0);
+lean_inc(x_189);
+if (lean_is_exclusive(x_170)) {
+ lean_ctor_release(x_170, 0);
+ x_190 = x_170;
+} else {
+ lean_dec_ref(x_170);
+ x_190 = lean_box(0);
+}
+if (lean_is_scalar(x_190)) {
+ x_191 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_191 = x_190;
+}
+lean_ctor_set(x_191, 0, x_189);
+lean_ctor_set_uint8(x_191, sizeof(void*)*1, x_114);
+x_192 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_192, 0, x_186);
+lean_ctor_set(x_192, 1, x_187);
+lean_ctor_set(x_192, 2, x_188);
+lean_ctor_set(x_192, 3, x_191);
+x_193 = lean_st_ref_set(x_9, x_192, x_171);
+lean_dec(x_9);
+x_194 = lean_ctor_get(x_193, 1);
+lean_inc(x_194);
+if (lean_is_exclusive(x_193)) {
+ lean_ctor_release(x_193, 0);
+ lean_ctor_release(x_193, 1);
+ x_195 = x_193;
+} else {
+ lean_dec_ref(x_193);
+ x_195 = lean_box(0);
+}
+if (lean_is_scalar(x_195)) {
+ x_196 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_196 = x_195;
+ lean_ctor_set_tag(x_196, 1);
+}
+lean_ctor_set(x_196, 0, x_164);
+lean_ctor_set(x_196, 1, x_194);
+x_24 = x_196;
+goto block_36;
+}
}
}
}
@@ -8947,7 +8862,7 @@ return x_63;
}
}
}
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___spec__5(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* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___spec__5(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) {
_start:
{
lean_object* x_10; uint8_t x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
@@ -9177,7 +9092,7 @@ x_312 = lean_ctor_get(x_304, 1);
lean_inc(x_312);
lean_dec(x_304);
x_313 = l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___closed__3;
-x_314 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___spec__5(x_313, x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_312);
+x_314 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___spec__5(x_313, x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_312);
x_315 = lean_ctor_get(x_314, 0);
lean_inc(x_315);
x_316 = lean_ctor_get(x_314, 1);
@@ -9374,7 +9289,7 @@ x_119 = lean_ctor_get(x_112, 1);
lean_inc(x_119);
lean_dec(x_112);
x_120 = l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___closed__3;
-x_121 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___spec__5(x_120, x_50, x_2, x_3, x_4, x_5, x_6, x_7, x_119);
+x_121 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___spec__5(x_120, x_50, x_2, x_3, x_4, x_5, x_6, x_7, x_119);
x_122 = lean_ctor_get(x_121, 0);
lean_inc(x_122);
x_123 = lean_ctor_get(x_121, 1);
@@ -9676,7 +9591,7 @@ x_183 = lean_ctor_get(x_175, 1);
lean_inc(x_183);
lean_dec(x_175);
x_184 = l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___closed__3;
-x_185 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___spec__5(x_184, x_127, x_2, x_3, x_4, x_5, x_6, x_7, x_183);
+x_185 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___spec__5(x_184, x_127, x_2, x_3, x_4, x_5, x_6, x_7, x_183);
x_186 = lean_ctor_get(x_185, 0);
lean_inc(x_186);
x_187 = lean_ctor_get(x_185, 1);
@@ -9957,7 +9872,7 @@ x_250 = lean_ctor_get(x_242, 1);
lean_inc(x_250);
lean_dec(x_242);
x_251 = l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___closed__3;
-x_252 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___spec__5(x_251, x_193, x_2, x_3, x_4, x_5, x_6, x_7, x_250);
+x_252 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___spec__5(x_251, x_193, x_2, x_3, x_4, x_5, x_6, x_7, x_250);
x_253 = lean_ctor_get(x_252, 0);
lean_inc(x_253);
x_254 = lean_ctor_get(x_252, 1);
@@ -10442,7 +10357,7 @@ x_477 = lean_ctor_get(x_469, 1);
lean_inc(x_477);
lean_dec(x_469);
x_478 = l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___closed__3;
-x_479 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___spec__5(x_478, x_328, x_2, x_3, x_4, x_5, x_6, x_7, x_477);
+x_479 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___spec__5(x_478, x_328, x_2, x_3, x_4, x_5, x_6, x_7, x_477);
x_480 = lean_ctor_get(x_479, 0);
lean_inc(x_480);
x_481 = lean_ctor_get(x_479, 1);
@@ -10657,7 +10572,7 @@ x_417 = lean_ctor_get(x_409, 1);
lean_inc(x_417);
lean_dec(x_409);
x_418 = l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___closed__3;
-x_419 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___spec__5(x_418, x_360, x_2, x_3, x_4, x_5, x_6, x_7, x_417);
+x_419 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___spec__5(x_418, x_360, x_2, x_3, x_4, x_5, x_6, x_7, x_417);
x_420 = lean_ctor_get(x_419, 0);
lean_inc(x_420);
x_421 = lean_ctor_get(x_419, 1);
@@ -11113,11 +11028,11 @@ lean_dec(x_4);
return x_11;
}
}
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___spec__5___boxed(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* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___spec__5___boxed(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) {
_start:
{
lean_object* x_10;
-x_10 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___spec__5(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
+x_10 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___spec__5(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
@@ -11899,7 +11814,7 @@ x_154 = lean_ctor_get(x_146, 1);
lean_inc(x_154);
lean_dec(x_146);
lean_inc(x_2);
-x_155 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___spec__5(x_2, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_154);
+x_155 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___spec__5(x_2, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_154);
x_156 = lean_ctor_get(x_155, 0);
lean_inc(x_156);
x_157 = lean_ctor_get(x_155, 1);
@@ -11969,7 +11884,7 @@ x_67 = lean_ctor_get(x_60, 1);
lean_inc(x_67);
lean_dec(x_60);
lean_inc(x_2);
-x_68 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___spec__5(x_2, x_21, x_7, x_8, x_9, x_10, x_11, x_12, x_67);
+x_68 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___spec__5(x_2, x_21, x_7, x_8, x_9, x_10, x_11, x_12, x_67);
x_69 = lean_ctor_get(x_68, 0);
lean_inc(x_69);
x_70 = lean_ctor_get(x_68, 1);
@@ -12160,7 +12075,7 @@ x_117 = lean_ctor_get(x_109, 1);
lean_inc(x_117);
lean_dec(x_109);
lean_inc(x_2);
-x_118 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___spec__5(x_2, x_71, x_7, x_8, x_9, x_10, x_11, x_12, x_117);
+x_118 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___spec__5(x_2, x_71, x_7, x_8, x_9, x_10, x_11, x_12, x_117);
x_119 = lean_ctor_get(x_118, 0);
lean_inc(x_119);
x_120 = lean_ctor_get(x_118, 1);
@@ -12417,104 +12332,52 @@ return x_3;
lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_finalize(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:
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_50; lean_object* x_51; lean_object* x_52; uint8_t x_53;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_50; lean_object* x_51; lean_object* x_67; lean_object* x_68; lean_object* x_69; uint8_t x_70;
x_9 = lean_ctor_get(x_1, 0);
lean_inc(x_9);
x_10 = lean_ctor_get(x_1, 1);
lean_inc(x_10);
-x_50 = lean_st_ref_get(x_7, x_8);
-x_51 = lean_ctor_get(x_50, 0);
-lean_inc(x_51);
-x_52 = lean_ctor_get(x_51, 3);
-lean_inc(x_52);
-lean_dec(x_51);
-x_53 = lean_ctor_get_uint8(x_52, sizeof(void*)*1);
-lean_dec(x_52);
-if (x_53 == 0)
+x_67 = lean_st_ref_get(x_7, x_8);
+x_68 = lean_ctor_get(x_67, 0);
+lean_inc(x_68);
+x_69 = lean_ctor_get(x_68, 3);
+lean_inc(x_69);
+lean_dec(x_68);
+x_70 = lean_ctor_get_uint8(x_69, sizeof(void*)*1);
+lean_dec(x_69);
+if (x_70 == 0)
{
-lean_object* x_54; lean_object* x_55; lean_object* x_56;
-x_54 = lean_ctor_get(x_50, 1);
-lean_inc(x_54);
-lean_dec(x_50);
-x_55 = lean_box(0);
-lean_inc(x_1);
-x_56 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_56, 0, x_55);
-lean_ctor_set(x_56, 1, x_1);
-x_11 = x_56;
-x_12 = x_54;
-goto block_49;
-}
-else
-{
-lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; uint8_t x_62;
-x_57 = lean_ctor_get(x_50, 1);
-lean_inc(x_57);
-lean_dec(x_50);
-x_58 = l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_finalize___closed__2;
-lean_inc(x_1);
-x_59 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___spec__5(x_58, x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_57);
-x_60 = lean_ctor_get(x_59, 0);
-lean_inc(x_60);
-x_61 = lean_ctor_get(x_60, 0);
-lean_inc(x_61);
-x_62 = lean_unbox(x_61);
-lean_dec(x_61);
-if (x_62 == 0)
-{
-lean_object* x_63; uint8_t x_64;
-x_63 = lean_ctor_get(x_59, 1);
-lean_inc(x_63);
-lean_dec(x_59);
-x_64 = !lean_is_exclusive(x_60);
-if (x_64 == 0)
-{
-lean_object* x_65; lean_object* x_66;
-x_65 = lean_ctor_get(x_60, 0);
-lean_dec(x_65);
-x_66 = lean_box(0);
-lean_ctor_set(x_60, 0, x_66);
-x_11 = x_60;
-x_12 = x_63;
-goto block_49;
-}
-else
-{
-lean_object* x_67; lean_object* x_68; lean_object* x_69;
-x_67 = lean_ctor_get(x_60, 1);
-lean_inc(x_67);
-lean_dec(x_60);
-x_68 = lean_box(0);
-x_69 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_69, 0, x_68);
-lean_ctor_set(x_69, 1, x_67);
-x_11 = x_69;
-x_12 = x_63;
-goto block_49;
-}
-}
-else
-{
-lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75;
-x_70 = lean_ctor_get(x_59, 1);
-lean_inc(x_70);
-lean_dec(x_59);
-x_71 = lean_ctor_get(x_60, 1);
+lean_object* x_71; uint8_t x_72; lean_object* x_73; lean_object* x_74;
+x_71 = lean_ctor_get(x_67, 1);
lean_inc(x_71);
-lean_dec(x_60);
-lean_inc(x_9);
-x_72 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_72, 0, x_9);
-x_73 = l_Lean_addTrace___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___spec__4(x_58, x_72, x_71, x_2, x_3, x_4, x_5, x_6, x_7, x_70);
-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_11 = x_74;
-x_12 = x_75;
-goto block_49;
+lean_dec(x_67);
+x_72 = 0;
+x_73 = lean_box(x_72);
+lean_inc(x_1);
+x_74 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_74, 0, x_73);
+lean_ctor_set(x_74, 1, x_1);
+x_50 = x_74;
+x_51 = x_71;
+goto block_66;
}
+else
+{
+lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79;
+x_75 = lean_ctor_get(x_67, 1);
+lean_inc(x_75);
+lean_dec(x_67);
+x_76 = l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_finalize___closed__2;
+lean_inc(x_1);
+x_77 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___spec__5(x_76, x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_75);
+x_78 = lean_ctor_get(x_77, 0);
+lean_inc(x_78);
+x_79 = lean_ctor_get(x_77, 1);
+lean_inc(x_79);
+lean_dec(x_77);
+x_50 = x_78;
+x_51 = x_79;
+goto block_66;
}
block_49:
{
@@ -12663,6 +12526,64 @@ lean_dec(x_23);
return x_48;
}
}
+block_66:
+{
+lean_object* x_52; uint8_t x_53;
+x_52 = lean_ctor_get(x_50, 0);
+lean_inc(x_52);
+x_53 = lean_unbox(x_52);
+lean_dec(x_52);
+if (x_53 == 0)
+{
+uint8_t x_54;
+x_54 = !lean_is_exclusive(x_50);
+if (x_54 == 0)
+{
+lean_object* x_55; lean_object* x_56;
+x_55 = lean_ctor_get(x_50, 0);
+lean_dec(x_55);
+x_56 = lean_box(0);
+lean_ctor_set(x_50, 0, x_56);
+x_11 = x_50;
+x_12 = x_51;
+goto block_49;
+}
+else
+{
+lean_object* x_57; lean_object* x_58; lean_object* x_59;
+x_57 = lean_ctor_get(x_50, 1);
+lean_inc(x_57);
+lean_dec(x_50);
+x_58 = lean_box(0);
+x_59 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_59, 0, x_58);
+lean_ctor_set(x_59, 1, x_57);
+x_11 = x_59;
+x_12 = x_51;
+goto block_49;
+}
+}
+else
+{
+lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65;
+x_60 = lean_ctor_get(x_50, 1);
+lean_inc(x_60);
+lean_dec(x_50);
+lean_inc(x_9);
+x_61 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_61, 0, x_9);
+x_62 = l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_finalize___closed__2;
+x_63 = l_Lean_addTrace___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___spec__4(x_62, x_61, x_60, x_2, x_3, x_4, x_5, x_6, x_7, x_51);
+x_64 = lean_ctor_get(x_63, 0);
+lean_inc(x_64);
+x_65 = lean_ctor_get(x_63, 1);
+lean_inc(x_65);
+lean_dec(x_63);
+x_11 = x_64;
+x_12 = x_65;
+goto block_49;
+}
+}
}
}
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_finalize___spec__1___boxed(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) {
@@ -14866,7 +14787,7 @@ x_67 = lean_ctor_get(x_61, 1);
lean_inc(x_67);
lean_dec(x_61);
x_68 = l___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppArgs___closed__2;
-x_69 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_68, x_6, x_7, x_8, x_9, x_10, x_11, x_67);
+x_69 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_68, x_6, x_7, x_8, x_9, x_10, x_11, x_67);
x_70 = lean_ctor_get(x_69, 0);
lean_inc(x_70);
x_71 = lean_ctor_get(x_69, 1);
@@ -27417,7 +27338,7 @@ lean_object* x_46; lean_object* x_47; lean_object* x_48;
lean_dec(x_23);
lean_dec(x_16);
lean_dec(x_1);
-x_46 = l_Lean_Elab_Term_TermElabResult_inhabited;
+x_46 = l_Lean_Elab_Term_Lean_Elab_Term___instance__3;
x_47 = lean_array_get(x_46, x_22, x_21);
lean_dec(x_22);
x_48 = l_Lean_Elab_Term_applyResult(x_47, x_5, x_6, x_7, x_8, x_9, x_10, x_17);
@@ -27477,7 +27398,7 @@ else
{
lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60;
lean_dec(x_1);
-x_57 = l_Lean_Elab_Term_TermElabResult_inhabited;
+x_57 = l_Lean_Elab_Term_Lean_Elab_Term___instance__3;
x_58 = lean_unsigned_to_nat(0u);
x_59 = lean_array_get(x_57, x_16, x_58);
lean_dec(x_16);
diff --git a/stage0/stdlib/Lean/Elab/Binders.c b/stage0/stdlib/Lean/Elab/Binders.c
index 5a7ef8c8f5..bd8a2aa769 100644
--- a/stage0/stdlib/Lean/Elab/Binders.c
+++ b/stage0/stdlib/Lean/Elab/Binders.c
@@ -36,6 +36,7 @@ lean_object* l_Lean_registerTraceClass(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_elabLetDeclCore___closed__12;
lean_object* l_Lean_Elab_Term_elabLetDeclAux___lambda__1___closed__3;
lean_object* l_Lean_Elab_Term_elabDepArrow___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Binders_0__Lean_Elab_Term_matchBinder___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabLetDeclCore___spec__1___rarg(lean_object*);
lean_object* l_Lean_Elab_Term_expandFunBinders_loop_match__2(lean_object*);
@@ -154,7 +155,6 @@ lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_quoteAutoTactic___spec
lean_object* l___private_Lean_Elab_Binders_0__Lean_Elab_Term_expandMatchAltsIntoMatchAux___closed__4;
lean_object* l_Array_umapMAux___main___at___private_Lean_Elab_Binders_0__Lean_Elab_Term_matchBinder___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_isClass_x3f___at___private_Lean_Elab_Binders_0__Lean_Elab_Term_elabBinderViews___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_3__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_Array_forInUnsafe_loop___at_Lean_Elab_Term_quoteAutoTactic___spec__1___closed__1;
lean_object* l_Lean_Meta_restoreSynthInstanceCache(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Binders_0__Lean_Elab_Term_expandBinderIdent(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -180,7 +180,6 @@ extern lean_object* l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____clos
lean_object* l_Lean_Meta_getLocalInstances___at_Lean_Elab_Term_elabBinders___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Elab_Term_elabLetStarDecl(lean_object*);
lean_object* lean_st_ref_take(lean_object*, lean_object*);
-extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
lean_object* l___private_Lean_Elab_Binders_0__Lean_Elab_Term_expandBinderType(lean_object*, lean_object*);
extern lean_object* l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__22;
lean_object* l_Lean_Elab_Term_registerCustomErrorIfMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -201,6 +200,7 @@ lean_object* l_Lean_Elab_Term_elabForall___closed__1;
lean_object* l_Lean_Elab_Term_elabLetDeclCore___closed__11;
lean_object* l_Lean_Elab_Term_elabForall___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_elabLetDeclAux___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*);
+extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
lean_object* l_Lean_Elab_Term_mkLetIdDeclView___boxed(lean_object*);
lean_object* l_Lean_replaceRef(lean_object*, lean_object*);
lean_object* lean_array_get(lean_object*, lean_object*, lean_object*);
@@ -274,6 +274,7 @@ lean_object* l___private_Lean_Elab_Binders_0__Lean_Elab_Term_FunBinders_propagat
lean_object* l_Array_umapMAux___main___at___private_Lean_Elab_Binders_0__Lean_Elab_Term_matchBinder___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
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_Lean_compileDecl___at_Lean_Elab_Term_declareTacticSyntax___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
extern lean_object* l_Lean_formatEntry___closed__1;
lean_object* l_ReaderT_bind___at_Lean_Elab_Term_monadLog___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at_Array_append___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
@@ -323,6 +324,7 @@ extern lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_
extern lean_object* l_Lean_mkAppStx___closed__5;
lean_object* l_Lean_Syntax_getSepArgs(lean_object*);
lean_object* l_Lean_Elab_Term_FunBinders_State_expectedType_x3f___default;
+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_throwKernelException___at_Lean_Elab_Term_declareTacticSyntax___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_elabFun___lambda__1(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_Term_quoteAutoTactic___closed__16;
@@ -399,7 +401,6 @@ lean_object* l_Lean_Elab_Term_expandFunBinders_loop___closed__14;
extern lean_object* l_Lean_mkOptionalNode___closed__1;
lean_object* l_Lean_Elab_Term_quoteAutoTactic___closed__1;
lean_object* l_Lean_Elab_Term_expandFunBinders_loop___closed__5;
-extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
lean_object* l_Lean_Elab_Term_expandFunBinders_loop___closed__15;
lean_object* l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
lean_object* l_Lean_MetavarContext_MkBinding_mkBinding(uint8_t, lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*);
@@ -472,7 +473,6 @@ lean_object* l_Lean_Elab_Term_expandFunBinders_loop___closed__17;
lean_object* l___private_Lean_Elab_Binders_0__Lean_Elab_Term_expandBinderModifier___closed__1;
lean_object* l_Lean_Meta_mkForallFVars___at_Lean_Elab_Term_elabForall___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_Term_FunBinders_elabFunBindersAux_match__1(lean_object*);
-extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
extern lean_object* l___private_Lean_Elab_Util_0__Lean_Elab_evalSyntaxConstantUnsafe___closed__2;
lean_object* lean_name_mk_numeral(lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Binders_0__Lean_Elab_Term_matchBinder___closed__1;
@@ -1955,7 +1955,7 @@ lean_inc(x_2);
x_34 = l_Lean_Elab_Term_elabTerm(x_30, x_32, x_33, x_2, x_3, x_4, x_5, x_6, x_7, x_31);
if (lean_obj_tag(x_34) == 0)
{
-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_63; lean_object* x_64; lean_object* x_65; uint8_t x_66;
+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_63; lean_object* x_64; lean_object* x_70; lean_object* x_71; lean_object* x_72; uint8_t x_73;
x_35 = lean_ctor_get(x_34, 0);
lean_inc(x_35);
x_36 = lean_ctor_get(x_34, 1);
@@ -1967,60 +1967,43 @@ lean_inc(x_38);
x_39 = lean_ctor_get(x_37, 1);
lean_inc(x_39);
lean_dec(x_37);
-x_63 = lean_st_ref_get(x_7, x_39);
-x_64 = lean_ctor_get(x_63, 0);
-lean_inc(x_64);
-x_65 = lean_ctor_get(x_64, 3);
-lean_inc(x_65);
-lean_dec(x_64);
-x_66 = lean_ctor_get_uint8(x_65, sizeof(void*)*1);
-lean_dec(x_65);
-if (x_66 == 0)
-{
-lean_object* x_67;
-x_67 = lean_ctor_get(x_63, 1);
-lean_inc(x_67);
-lean_dec(x_63);
-x_40 = x_67;
-goto block_62;
-}
-else
-{
-lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; uint8_t x_72;
-x_68 = lean_ctor_get(x_63, 1);
-lean_inc(x_68);
-lean_dec(x_63);
-x_69 = l_Lean_Elab_Term_declareTacticSyntax___closed__5;
-x_70 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_69, x_2, x_3, x_4, x_5, x_6, x_7, x_68);
+x_70 = lean_st_ref_get(x_7, x_39);
x_71 = lean_ctor_get(x_70, 0);
lean_inc(x_71);
-x_72 = lean_unbox(x_71);
+x_72 = lean_ctor_get(x_71, 3);
+lean_inc(x_72);
lean_dec(x_71);
-if (x_72 == 0)
+x_73 = lean_ctor_get_uint8(x_72, sizeof(void*)*1);
+lean_dec(x_72);
+if (x_73 == 0)
{
-lean_object* x_73;
-x_73 = lean_ctor_get(x_70, 1);
-lean_inc(x_73);
-lean_dec(x_70);
-x_40 = x_73;
-goto block_62;
-}
-else
-{
-lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77;
+lean_object* x_74; uint8_t x_75;
x_74 = lean_ctor_get(x_70, 1);
lean_inc(x_74);
lean_dec(x_70);
-lean_inc(x_38);
-x_75 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_75, 0, x_38);
-x_76 = l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__1(x_69, x_75, x_2, x_3, x_4, x_5, x_6, x_7, x_74);
-x_77 = lean_ctor_get(x_76, 1);
-lean_inc(x_77);
-lean_dec(x_76);
-x_40 = x_77;
-goto block_62;
+x_75 = 0;
+x_63 = x_75;
+x_64 = x_74;
+goto block_69;
}
+else
+{
+lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; uint8_t x_81;
+x_76 = lean_ctor_get(x_70, 1);
+lean_inc(x_76);
+lean_dec(x_70);
+x_77 = l_Lean_Elab_Term_declareTacticSyntax___closed__5;
+x_78 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_77, x_2, x_3, x_4, x_5, x_6, x_7, x_76);
+x_79 = lean_ctor_get(x_78, 0);
+lean_inc(x_79);
+x_80 = lean_ctor_get(x_78, 1);
+lean_inc(x_80);
+lean_dec(x_78);
+x_81 = lean_unbox(x_79);
+lean_dec(x_79);
+x_63 = x_81;
+x_64 = x_80;
+goto block_69;
}
block_62:
{
@@ -2134,34 +2117,26 @@ return x_61;
}
}
}
+block_69:
+{
+if (x_63 == 0)
+{
+x_40 = x_64;
+goto block_62;
}
else
{
-uint8_t x_78;
-lean_dec(x_27);
-lean_dec(x_2);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_78 = !lean_is_exclusive(x_34);
-if (x_78 == 0)
-{
-return x_34;
-}
-else
-{
-lean_object* x_79; lean_object* x_80; lean_object* x_81;
-x_79 = lean_ctor_get(x_34, 0);
-x_80 = lean_ctor_get(x_34, 1);
-lean_inc(x_80);
-lean_inc(x_79);
-lean_dec(x_34);
-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_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68;
+lean_inc(x_38);
+x_65 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_65, 0, x_38);
+x_66 = l_Lean_Elab_Term_declareTacticSyntax___closed__5;
+x_67 = l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__1(x_66, x_65, x_2, x_3, x_4, x_5, x_6, x_7, x_64);
+x_68 = lean_ctor_get(x_67, 1);
+lean_inc(x_68);
+lean_dec(x_67);
+x_40 = x_68;
+goto block_62;
}
}
}
@@ -2175,19 +2150,19 @@ lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
-x_82 = !lean_is_exclusive(x_29);
+x_82 = !lean_is_exclusive(x_34);
if (x_82 == 0)
{
-return x_29;
+return x_34;
}
else
{
lean_object* x_83; lean_object* x_84; lean_object* x_85;
-x_83 = lean_ctor_get(x_29, 0);
-x_84 = lean_ctor_get(x_29, 1);
+x_83 = lean_ctor_get(x_34, 0);
+x_84 = lean_ctor_get(x_34, 1);
lean_inc(x_84);
lean_inc(x_83);
-lean_dec(x_29);
+lean_dec(x_34);
x_85 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_85, 0, x_83);
lean_ctor_set(x_85, 1, x_84);
@@ -2197,245 +2172,225 @@ return x_85;
}
else
{
-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; uint8_t x_93; uint8_t 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;
-x_86 = lean_ctor_get(x_2, 0);
-x_87 = lean_ctor_get(x_2, 1);
-x_88 = lean_ctor_get(x_2, 2);
-x_89 = lean_ctor_get(x_2, 3);
-x_90 = lean_ctor_get(x_2, 4);
-x_91 = lean_ctor_get(x_2, 5);
-x_92 = lean_ctor_get(x_2, 6);
-x_93 = lean_ctor_get_uint8(x_2, sizeof(void*)*8);
-x_94 = lean_ctor_get_uint8(x_2, sizeof(void*)*8 + 1);
-lean_inc(x_92);
-lean_inc(x_91);
-lean_inc(x_90);
-lean_inc(x_89);
-lean_inc(x_88);
-lean_inc(x_87);
-lean_inc(x_86);
+uint8_t x_86;
+lean_dec(x_27);
lean_dec(x_2);
-x_95 = lean_alloc_ctor(0, 8, 2);
-lean_ctor_set(x_95, 0, x_86);
-lean_ctor_set(x_95, 1, x_87);
-lean_ctor_set(x_95, 2, x_88);
-lean_ctor_set(x_95, 3, x_89);
-lean_ctor_set(x_95, 4, x_90);
-lean_ctor_set(x_95, 5, x_91);
-lean_ctor_set(x_95, 6, x_92);
-lean_ctor_set(x_95, 7, x_13);
-lean_ctor_set_uint8(x_95, sizeof(void*)*8, x_93);
-lean_ctor_set_uint8(x_95, sizeof(void*)*8 + 1, x_94);
-x_96 = l_Lean_Elab_Term_getMainModule___rarg(x_7, x_17);
-x_97 = lean_ctor_get(x_96, 0);
-lean_inc(x_97);
-x_98 = lean_ctor_get(x_96, 1);
-lean_inc(x_98);
-lean_dec(x_96);
-x_99 = l_Lean_Elab_Term_getCurrMacroScope(x_95, x_3, x_4, x_5, x_6, x_7, x_98);
-x_100 = lean_ctor_get(x_99, 0);
-lean_inc(x_100);
-x_101 = lean_ctor_get(x_99, 1);
-lean_inc(x_101);
-lean_dec(x_99);
-x_102 = l_Lean_Elab_Term_declareTacticSyntax___closed__2;
-x_103 = l_Lean_addMacroScope(x_97, x_102, x_100);
-x_104 = lean_box(0);
-lean_inc(x_7);
-lean_inc(x_6);
-lean_inc(x_5);
-lean_inc(x_4);
-lean_inc(x_3);
-lean_inc(x_95);
-x_105 = l_Lean_Elab_Term_quoteAutoTactic(x_1, x_95, x_3, x_4, x_5, x_6, x_7, x_101);
-if (lean_obj_tag(x_105) == 0)
-{
-lean_object* x_106; lean_object* x_107; lean_object* x_108; uint8_t x_109; lean_object* x_110;
-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 = l_Lean_Elab_Term_declareTacticSyntax___closed__4;
-x_109 = 1;
-lean_inc(x_7);
-lean_inc(x_6);
-lean_inc(x_5);
-lean_inc(x_4);
-lean_inc(x_3);
-lean_inc(x_95);
-x_110 = l_Lean_Elab_Term_elabTerm(x_106, x_108, x_109, x_95, x_3, x_4, x_5, x_6, x_7, x_107);
-if (lean_obj_tag(x_110) == 0)
-{
-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_138; lean_object* x_139; lean_object* x_140; uint8_t x_141;
-x_111 = lean_ctor_get(x_110, 0);
-lean_inc(x_111);
-x_112 = lean_ctor_get(x_110, 1);
-lean_inc(x_112);
-lean_dec(x_110);
-x_113 = l_Lean_Meta_instantiateMVars___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__1(x_111, x_95, x_3, x_4, x_5, x_6, x_7, x_112);
-x_114 = lean_ctor_get(x_113, 0);
-lean_inc(x_114);
-x_115 = lean_ctor_get(x_113, 1);
-lean_inc(x_115);
-lean_dec(x_113);
-x_138 = lean_st_ref_get(x_7, x_115);
-x_139 = lean_ctor_get(x_138, 0);
-lean_inc(x_139);
-x_140 = lean_ctor_get(x_139, 3);
-lean_inc(x_140);
-lean_dec(x_139);
-x_141 = lean_ctor_get_uint8(x_140, sizeof(void*)*1);
-lean_dec(x_140);
-if (x_141 == 0)
-{
-lean_object* x_142;
-x_142 = lean_ctor_get(x_138, 1);
-lean_inc(x_142);
-lean_dec(x_138);
-x_116 = x_142;
-goto block_137;
-}
-else
-{
-lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; uint8_t x_147;
-x_143 = lean_ctor_get(x_138, 1);
-lean_inc(x_143);
-lean_dec(x_138);
-x_144 = l_Lean_Elab_Term_declareTacticSyntax___closed__5;
-x_145 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_144, x_95, x_3, x_4, x_5, x_6, x_7, x_143);
-x_146 = lean_ctor_get(x_145, 0);
-lean_inc(x_146);
-x_147 = lean_unbox(x_146);
-lean_dec(x_146);
-if (x_147 == 0)
-{
-lean_object* x_148;
-x_148 = lean_ctor_get(x_145, 1);
-lean_inc(x_148);
-lean_dec(x_145);
-x_116 = x_148;
-goto block_137;
-}
-else
-{
-lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152;
-x_149 = lean_ctor_get(x_145, 1);
-lean_inc(x_149);
-lean_dec(x_145);
-lean_inc(x_114);
-x_150 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_150, 0, x_114);
-x_151 = l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__1(x_144, x_150, x_95, x_3, x_4, x_5, x_6, x_7, x_149);
-x_152 = lean_ctor_get(x_151, 1);
-lean_inc(x_152);
-lean_dec(x_151);
-x_116 = x_152;
-goto block_137;
-}
-}
-block_137:
-{
-lean_object* x_117; lean_object* x_118; lean_object* x_119; uint8_t x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123;
-x_117 = l_Lean_Elab_Term_declareTacticSyntax___closed__3;
-lean_inc(x_103);
-x_118 = lean_alloc_ctor(0, 3, 0);
-lean_ctor_set(x_118, 0, x_103);
-lean_ctor_set(x_118, 1, x_104);
-lean_ctor_set(x_118, 2, x_117);
-x_119 = lean_box(0);
-x_120 = 0;
-x_121 = lean_alloc_ctor(0, 3, 1);
-lean_ctor_set(x_121, 0, x_118);
-lean_ctor_set(x_121, 1, x_114);
-lean_ctor_set(x_121, 2, x_119);
-lean_ctor_set_uint8(x_121, sizeof(void*)*3, x_120);
-x_122 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_122, 0, x_121);
-lean_inc(x_6);
-lean_inc(x_95);
-x_123 = l_Lean_addDecl___at_Lean_Elab_Term_declareTacticSyntax___spec__1(x_122, x_95, x_3, x_4, x_5, x_6, x_7, x_116);
-if (lean_obj_tag(x_123) == 0)
-{
-lean_object* x_124; lean_object* x_125;
-x_124 = lean_ctor_get(x_123, 1);
-lean_inc(x_124);
-lean_dec(x_123);
-x_125 = l_Lean_compileDecl___at_Lean_Elab_Term_declareTacticSyntax___spec__4(x_122, x_95, x_3, x_4, x_5, x_6, x_7, x_124);
-lean_dec(x_7);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_122);
-if (lean_obj_tag(x_125) == 0)
-{
-lean_object* x_126; lean_object* x_127; lean_object* x_128;
-x_126 = lean_ctor_get(x_125, 1);
-lean_inc(x_126);
-if (lean_is_exclusive(x_125)) {
- lean_ctor_release(x_125, 0);
- lean_ctor_release(x_125, 1);
- x_127 = x_125;
-} else {
- lean_dec_ref(x_125);
- x_127 = lean_box(0);
-}
-if (lean_is_scalar(x_127)) {
- x_128 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_128 = x_127;
-}
-lean_ctor_set(x_128, 0, x_103);
-lean_ctor_set(x_128, 1, x_126);
-return x_128;
-}
-else
-{
-lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132;
-lean_dec(x_103);
-x_129 = lean_ctor_get(x_125, 0);
-lean_inc(x_129);
-x_130 = lean_ctor_get(x_125, 1);
-lean_inc(x_130);
-if (lean_is_exclusive(x_125)) {
- lean_ctor_release(x_125, 0);
- lean_ctor_release(x_125, 1);
- x_131 = x_125;
-} else {
- lean_dec_ref(x_125);
- x_131 = lean_box(0);
-}
-if (lean_is_scalar(x_131)) {
- x_132 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_132 = x_131;
-}
-lean_ctor_set(x_132, 0, x_129);
-lean_ctor_set(x_132, 1, x_130);
-return x_132;
-}
-}
-else
-{
-lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136;
-lean_dec(x_122);
-lean_dec(x_103);
-lean_dec(x_95);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
-x_133 = lean_ctor_get(x_123, 0);
-lean_inc(x_133);
-x_134 = lean_ctor_get(x_123, 1);
-lean_inc(x_134);
-if (lean_is_exclusive(x_123)) {
- lean_ctor_release(x_123, 0);
- lean_ctor_release(x_123, 1);
- x_135 = x_123;
+x_86 = !lean_is_exclusive(x_29);
+if (x_86 == 0)
+{
+return x_29;
+}
+else
+{
+lean_object* x_87; lean_object* x_88; lean_object* x_89;
+x_87 = lean_ctor_get(x_29, 0);
+x_88 = lean_ctor_get(x_29, 1);
+lean_inc(x_88);
+lean_inc(x_87);
+lean_dec(x_29);
+x_89 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_89, 0, x_87);
+lean_ctor_set(x_89, 1, x_88);
+return x_89;
+}
+}
+}
+else
+{
+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; uint8_t x_97; uint8_t 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;
+x_90 = lean_ctor_get(x_2, 0);
+x_91 = lean_ctor_get(x_2, 1);
+x_92 = lean_ctor_get(x_2, 2);
+x_93 = lean_ctor_get(x_2, 3);
+x_94 = lean_ctor_get(x_2, 4);
+x_95 = lean_ctor_get(x_2, 5);
+x_96 = lean_ctor_get(x_2, 6);
+x_97 = lean_ctor_get_uint8(x_2, sizeof(void*)*8);
+x_98 = lean_ctor_get_uint8(x_2, sizeof(void*)*8 + 1);
+lean_inc(x_96);
+lean_inc(x_95);
+lean_inc(x_94);
+lean_inc(x_93);
+lean_inc(x_92);
+lean_inc(x_91);
+lean_inc(x_90);
+lean_dec(x_2);
+x_99 = lean_alloc_ctor(0, 8, 2);
+lean_ctor_set(x_99, 0, x_90);
+lean_ctor_set(x_99, 1, x_91);
+lean_ctor_set(x_99, 2, x_92);
+lean_ctor_set(x_99, 3, x_93);
+lean_ctor_set(x_99, 4, x_94);
+lean_ctor_set(x_99, 5, x_95);
+lean_ctor_set(x_99, 6, x_96);
+lean_ctor_set(x_99, 7, x_13);
+lean_ctor_set_uint8(x_99, sizeof(void*)*8, x_97);
+lean_ctor_set_uint8(x_99, sizeof(void*)*8 + 1, x_98);
+x_100 = l_Lean_Elab_Term_getMainModule___rarg(x_7, x_17);
+x_101 = lean_ctor_get(x_100, 0);
+lean_inc(x_101);
+x_102 = lean_ctor_get(x_100, 1);
+lean_inc(x_102);
+lean_dec(x_100);
+x_103 = l_Lean_Elab_Term_getCurrMacroScope(x_99, x_3, x_4, x_5, x_6, x_7, x_102);
+x_104 = lean_ctor_get(x_103, 0);
+lean_inc(x_104);
+x_105 = lean_ctor_get(x_103, 1);
+lean_inc(x_105);
+lean_dec(x_103);
+x_106 = l_Lean_Elab_Term_declareTacticSyntax___closed__2;
+x_107 = l_Lean_addMacroScope(x_101, x_106, x_104);
+x_108 = lean_box(0);
+lean_inc(x_7);
+lean_inc(x_6);
+lean_inc(x_5);
+lean_inc(x_4);
+lean_inc(x_3);
+lean_inc(x_99);
+x_109 = l_Lean_Elab_Term_quoteAutoTactic(x_1, x_99, x_3, x_4, x_5, x_6, x_7, x_105);
+if (lean_obj_tag(x_109) == 0)
+{
+lean_object* x_110; lean_object* x_111; lean_object* x_112; uint8_t x_113; lean_object* x_114;
+x_110 = lean_ctor_get(x_109, 0);
+lean_inc(x_110);
+x_111 = lean_ctor_get(x_109, 1);
+lean_inc(x_111);
+lean_dec(x_109);
+x_112 = l_Lean_Elab_Term_declareTacticSyntax___closed__4;
+x_113 = 1;
+lean_inc(x_7);
+lean_inc(x_6);
+lean_inc(x_5);
+lean_inc(x_4);
+lean_inc(x_3);
+lean_inc(x_99);
+x_114 = l_Lean_Elab_Term_elabTerm(x_110, x_112, x_113, x_99, x_3, x_4, x_5, x_6, x_7, x_111);
+if (lean_obj_tag(x_114) == 0)
+{
+lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; uint8_t x_142; lean_object* x_143; lean_object* x_149; lean_object* x_150; lean_object* x_151; uint8_t x_152;
+x_115 = lean_ctor_get(x_114, 0);
+lean_inc(x_115);
+x_116 = lean_ctor_get(x_114, 1);
+lean_inc(x_116);
+lean_dec(x_114);
+x_117 = l_Lean_Meta_instantiateMVars___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__1(x_115, x_99, x_3, x_4, x_5, x_6, x_7, x_116);
+x_118 = lean_ctor_get(x_117, 0);
+lean_inc(x_118);
+x_119 = lean_ctor_get(x_117, 1);
+lean_inc(x_119);
+lean_dec(x_117);
+x_149 = lean_st_ref_get(x_7, x_119);
+x_150 = lean_ctor_get(x_149, 0);
+lean_inc(x_150);
+x_151 = lean_ctor_get(x_150, 3);
+lean_inc(x_151);
+lean_dec(x_150);
+x_152 = lean_ctor_get_uint8(x_151, sizeof(void*)*1);
+lean_dec(x_151);
+if (x_152 == 0)
+{
+lean_object* x_153; uint8_t x_154;
+x_153 = lean_ctor_get(x_149, 1);
+lean_inc(x_153);
+lean_dec(x_149);
+x_154 = 0;
+x_142 = x_154;
+x_143 = x_153;
+goto block_148;
+}
+else
+{
+lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; uint8_t x_160;
+x_155 = lean_ctor_get(x_149, 1);
+lean_inc(x_155);
+lean_dec(x_149);
+x_156 = l_Lean_Elab_Term_declareTacticSyntax___closed__5;
+x_157 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_156, x_99, x_3, x_4, x_5, x_6, x_7, x_155);
+x_158 = lean_ctor_get(x_157, 0);
+lean_inc(x_158);
+x_159 = lean_ctor_get(x_157, 1);
+lean_inc(x_159);
+lean_dec(x_157);
+x_160 = lean_unbox(x_158);
+lean_dec(x_158);
+x_142 = x_160;
+x_143 = x_159;
+goto block_148;
+}
+block_141:
+{
+lean_object* x_121; lean_object* x_122; lean_object* x_123; uint8_t x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127;
+x_121 = l_Lean_Elab_Term_declareTacticSyntax___closed__3;
+lean_inc(x_107);
+x_122 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_122, 0, x_107);
+lean_ctor_set(x_122, 1, x_108);
+lean_ctor_set(x_122, 2, x_121);
+x_123 = lean_box(0);
+x_124 = 0;
+x_125 = lean_alloc_ctor(0, 3, 1);
+lean_ctor_set(x_125, 0, x_122);
+lean_ctor_set(x_125, 1, x_118);
+lean_ctor_set(x_125, 2, x_123);
+lean_ctor_set_uint8(x_125, sizeof(void*)*3, x_124);
+x_126 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_126, 0, x_125);
+lean_inc(x_6);
+lean_inc(x_99);
+x_127 = l_Lean_addDecl___at_Lean_Elab_Term_declareTacticSyntax___spec__1(x_126, x_99, x_3, x_4, x_5, x_6, x_7, x_120);
+if (lean_obj_tag(x_127) == 0)
+{
+lean_object* x_128; lean_object* x_129;
+x_128 = lean_ctor_get(x_127, 1);
+lean_inc(x_128);
+lean_dec(x_127);
+x_129 = l_Lean_compileDecl___at_Lean_Elab_Term_declareTacticSyntax___spec__4(x_126, x_99, x_3, x_4, x_5, x_6, x_7, x_128);
+lean_dec(x_7);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_126);
+if (lean_obj_tag(x_129) == 0)
+{
+lean_object* x_130; lean_object* x_131; lean_object* x_132;
+x_130 = lean_ctor_get(x_129, 1);
+lean_inc(x_130);
+if (lean_is_exclusive(x_129)) {
+ lean_ctor_release(x_129, 0);
+ lean_ctor_release(x_129, 1);
+ x_131 = x_129;
} else {
- lean_dec_ref(x_123);
+ lean_dec_ref(x_129);
+ x_131 = lean_box(0);
+}
+if (lean_is_scalar(x_131)) {
+ x_132 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_132 = x_131;
+}
+lean_ctor_set(x_132, 0, x_107);
+lean_ctor_set(x_132, 1, x_130);
+return x_132;
+}
+else
+{
+lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136;
+lean_dec(x_107);
+x_133 = lean_ctor_get(x_129, 0);
+lean_inc(x_133);
+x_134 = lean_ctor_get(x_129, 1);
+lean_inc(x_134);
+if (lean_is_exclusive(x_129)) {
+ lean_ctor_release(x_129, 0);
+ lean_ctor_release(x_129, 1);
+ x_135 = x_129;
+} else {
+ lean_dec_ref(x_129);
x_135 = lean_box(0);
}
if (lean_is_scalar(x_135)) {
@@ -2448,111 +2403,166 @@ lean_ctor_set(x_136, 1, x_134);
return x_136;
}
}
-}
else
{
-lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156;
-lean_dec(x_103);
-lean_dec(x_95);
+lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140;
+lean_dec(x_126);
+lean_dec(x_107);
+lean_dec(x_99);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
-x_153 = lean_ctor_get(x_110, 0);
-lean_inc(x_153);
-x_154 = lean_ctor_get(x_110, 1);
-lean_inc(x_154);
-if (lean_is_exclusive(x_110)) {
- lean_ctor_release(x_110, 0);
- lean_ctor_release(x_110, 1);
- x_155 = x_110;
+x_137 = lean_ctor_get(x_127, 0);
+lean_inc(x_137);
+x_138 = lean_ctor_get(x_127, 1);
+lean_inc(x_138);
+if (lean_is_exclusive(x_127)) {
+ lean_ctor_release(x_127, 0);
+ lean_ctor_release(x_127, 1);
+ x_139 = x_127;
} else {
- lean_dec_ref(x_110);
- x_155 = lean_box(0);
+ lean_dec_ref(x_127);
+ x_139 = lean_box(0);
}
-if (lean_is_scalar(x_155)) {
- x_156 = lean_alloc_ctor(1, 2, 0);
+if (lean_is_scalar(x_139)) {
+ x_140 = lean_alloc_ctor(1, 2, 0);
} else {
- x_156 = x_155;
+ x_140 = x_139;
+}
+lean_ctor_set(x_140, 0, x_137);
+lean_ctor_set(x_140, 1, x_138);
+return x_140;
+}
+}
+block_148:
+{
+if (x_142 == 0)
+{
+x_120 = x_143;
+goto block_141;
+}
+else
+{
+lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147;
+lean_inc(x_118);
+x_144 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_144, 0, x_118);
+x_145 = l_Lean_Elab_Term_declareTacticSyntax___closed__5;
+x_146 = l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__1(x_145, x_144, x_99, x_3, x_4, x_5, x_6, x_7, x_143);
+x_147 = lean_ctor_get(x_146, 1);
+lean_inc(x_147);
+lean_dec(x_146);
+x_120 = x_147;
+goto block_141;
}
-lean_ctor_set(x_156, 0, x_153);
-lean_ctor_set(x_156, 1, x_154);
-return x_156;
}
}
else
{
-lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160;
-lean_dec(x_103);
-lean_dec(x_95);
+lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164;
+lean_dec(x_107);
+lean_dec(x_99);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
-x_157 = lean_ctor_get(x_105, 0);
-lean_inc(x_157);
-x_158 = lean_ctor_get(x_105, 1);
-lean_inc(x_158);
-if (lean_is_exclusive(x_105)) {
- lean_ctor_release(x_105, 0);
- lean_ctor_release(x_105, 1);
- x_159 = x_105;
-} else {
- lean_dec_ref(x_105);
- x_159 = lean_box(0);
-}
-if (lean_is_scalar(x_159)) {
- x_160 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_160 = x_159;
-}
-lean_ctor_set(x_160, 0, x_157);
-lean_ctor_set(x_160, 1, x_158);
-return x_160;
-}
-}
-}
-else
-{
-lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; uint8_t x_177; uint8_t x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190;
-x_161 = lean_ctor_get(x_10, 0);
-x_162 = lean_ctor_get(x_10, 1);
-x_163 = lean_ctor_get(x_10, 2);
-x_164 = lean_ctor_get(x_10, 3);
-lean_inc(x_164);
-lean_inc(x_163);
-lean_inc(x_162);
+x_161 = lean_ctor_get(x_114, 0);
lean_inc(x_161);
-lean_dec(x_10);
-x_165 = lean_unsigned_to_nat(1u);
-x_166 = lean_nat_add(x_162, x_165);
-x_167 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_167, 0, x_161);
-lean_ctor_set(x_167, 1, x_166);
-lean_ctor_set(x_167, 2, x_163);
-lean_ctor_set(x_167, 3, x_164);
-x_168 = lean_st_ref_set(x_7, x_167, x_11);
-x_169 = lean_ctor_get(x_168, 1);
-lean_inc(x_169);
-lean_dec(x_168);
-x_170 = lean_ctor_get(x_2, 0);
-lean_inc(x_170);
-x_171 = lean_ctor_get(x_2, 1);
-lean_inc(x_171);
-x_172 = lean_ctor_get(x_2, 2);
+x_162 = lean_ctor_get(x_114, 1);
+lean_inc(x_162);
+if (lean_is_exclusive(x_114)) {
+ lean_ctor_release(x_114, 0);
+ lean_ctor_release(x_114, 1);
+ x_163 = x_114;
+} else {
+ lean_dec_ref(x_114);
+ x_163 = lean_box(0);
+}
+if (lean_is_scalar(x_163)) {
+ x_164 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_164 = x_163;
+}
+lean_ctor_set(x_164, 0, x_161);
+lean_ctor_set(x_164, 1, x_162);
+return x_164;
+}
+}
+else
+{
+lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168;
+lean_dec(x_107);
+lean_dec(x_99);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_165 = lean_ctor_get(x_109, 0);
+lean_inc(x_165);
+x_166 = lean_ctor_get(x_109, 1);
+lean_inc(x_166);
+if (lean_is_exclusive(x_109)) {
+ lean_ctor_release(x_109, 0);
+ lean_ctor_release(x_109, 1);
+ x_167 = x_109;
+} else {
+ lean_dec_ref(x_109);
+ x_167 = lean_box(0);
+}
+if (lean_is_scalar(x_167)) {
+ x_168 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_168 = x_167;
+}
+lean_ctor_set(x_168, 0, x_165);
+lean_ctor_set(x_168, 1, x_166);
+return x_168;
+}
+}
+}
+else
+{
+lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; uint8_t x_185; uint8_t x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198;
+x_169 = lean_ctor_get(x_10, 0);
+x_170 = lean_ctor_get(x_10, 1);
+x_171 = lean_ctor_get(x_10, 2);
+x_172 = lean_ctor_get(x_10, 3);
lean_inc(x_172);
-x_173 = lean_ctor_get(x_2, 3);
-lean_inc(x_173);
-x_174 = lean_ctor_get(x_2, 4);
-lean_inc(x_174);
-x_175 = lean_ctor_get(x_2, 5);
-lean_inc(x_175);
-x_176 = lean_ctor_get(x_2, 6);
-lean_inc(x_176);
-x_177 = lean_ctor_get_uint8(x_2, sizeof(void*)*8);
-x_178 = lean_ctor_get_uint8(x_2, sizeof(void*)*8 + 1);
+lean_inc(x_171);
+lean_inc(x_170);
+lean_inc(x_169);
+lean_dec(x_10);
+x_173 = lean_unsigned_to_nat(1u);
+x_174 = lean_nat_add(x_170, x_173);
+x_175 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_175, 0, x_169);
+lean_ctor_set(x_175, 1, x_174);
+lean_ctor_set(x_175, 2, x_171);
+lean_ctor_set(x_175, 3, x_172);
+x_176 = lean_st_ref_set(x_7, x_175, x_11);
+x_177 = lean_ctor_get(x_176, 1);
+lean_inc(x_177);
+lean_dec(x_176);
+x_178 = lean_ctor_get(x_2, 0);
+lean_inc(x_178);
+x_179 = lean_ctor_get(x_2, 1);
+lean_inc(x_179);
+x_180 = lean_ctor_get(x_2, 2);
+lean_inc(x_180);
+x_181 = lean_ctor_get(x_2, 3);
+lean_inc(x_181);
+x_182 = lean_ctor_get(x_2, 4);
+lean_inc(x_182);
+x_183 = lean_ctor_get(x_2, 5);
+lean_inc(x_183);
+x_184 = lean_ctor_get(x_2, 6);
+lean_inc(x_184);
+x_185 = lean_ctor_get_uint8(x_2, sizeof(void*)*8);
+x_186 = lean_ctor_get_uint8(x_2, sizeof(void*)*8 + 1);
if (lean_is_exclusive(x_2)) {
lean_ctor_release(x_2, 0);
lean_ctor_release(x_2, 1);
@@ -2562,311 +2572,316 @@ if (lean_is_exclusive(x_2)) {
lean_ctor_release(x_2, 5);
lean_ctor_release(x_2, 6);
lean_ctor_release(x_2, 7);
- x_179 = x_2;
+ x_187 = x_2;
} else {
lean_dec_ref(x_2);
- x_179 = lean_box(0);
+ x_187 = lean_box(0);
}
-if (lean_is_scalar(x_179)) {
- x_180 = lean_alloc_ctor(0, 8, 2);
+if (lean_is_scalar(x_187)) {
+ x_188 = lean_alloc_ctor(0, 8, 2);
} else {
- x_180 = x_179;
+ x_188 = x_187;
}
-lean_ctor_set(x_180, 0, x_170);
-lean_ctor_set(x_180, 1, x_171);
-lean_ctor_set(x_180, 2, x_172);
-lean_ctor_set(x_180, 3, x_173);
-lean_ctor_set(x_180, 4, x_174);
-lean_ctor_set(x_180, 5, x_175);
-lean_ctor_set(x_180, 6, x_176);
-lean_ctor_set(x_180, 7, x_162);
-lean_ctor_set_uint8(x_180, sizeof(void*)*8, x_177);
-lean_ctor_set_uint8(x_180, sizeof(void*)*8 + 1, x_178);
-x_181 = l_Lean_Elab_Term_getMainModule___rarg(x_7, x_169);
-x_182 = lean_ctor_get(x_181, 0);
-lean_inc(x_182);
-x_183 = lean_ctor_get(x_181, 1);
-lean_inc(x_183);
-lean_dec(x_181);
-x_184 = l_Lean_Elab_Term_getCurrMacroScope(x_180, x_3, x_4, x_5, x_6, x_7, x_183);
-x_185 = lean_ctor_get(x_184, 0);
-lean_inc(x_185);
-x_186 = lean_ctor_get(x_184, 1);
-lean_inc(x_186);
-lean_dec(x_184);
-x_187 = l_Lean_Elab_Term_declareTacticSyntax___closed__2;
-x_188 = l_Lean_addMacroScope(x_182, x_187, x_185);
-x_189 = lean_box(0);
-lean_inc(x_7);
-lean_inc(x_6);
-lean_inc(x_5);
-lean_inc(x_4);
-lean_inc(x_3);
-lean_inc(x_180);
-x_190 = l_Lean_Elab_Term_quoteAutoTactic(x_1, x_180, x_3, x_4, x_5, x_6, x_7, x_186);
-if (lean_obj_tag(x_190) == 0)
-{
-lean_object* x_191; lean_object* x_192; lean_object* x_193; uint8_t x_194; lean_object* x_195;
-x_191 = lean_ctor_get(x_190, 0);
+lean_ctor_set(x_188, 0, x_178);
+lean_ctor_set(x_188, 1, x_179);
+lean_ctor_set(x_188, 2, x_180);
+lean_ctor_set(x_188, 3, x_181);
+lean_ctor_set(x_188, 4, x_182);
+lean_ctor_set(x_188, 5, x_183);
+lean_ctor_set(x_188, 6, x_184);
+lean_ctor_set(x_188, 7, x_170);
+lean_ctor_set_uint8(x_188, sizeof(void*)*8, x_185);
+lean_ctor_set_uint8(x_188, sizeof(void*)*8 + 1, x_186);
+x_189 = l_Lean_Elab_Term_getMainModule___rarg(x_7, x_177);
+x_190 = lean_ctor_get(x_189, 0);
+lean_inc(x_190);
+x_191 = lean_ctor_get(x_189, 1);
lean_inc(x_191);
-x_192 = lean_ctor_get(x_190, 1);
-lean_inc(x_192);
-lean_dec(x_190);
-x_193 = l_Lean_Elab_Term_declareTacticSyntax___closed__4;
-x_194 = 1;
+lean_dec(x_189);
+x_192 = l_Lean_Elab_Term_getCurrMacroScope(x_188, x_3, x_4, x_5, x_6, x_7, x_191);
+x_193 = lean_ctor_get(x_192, 0);
+lean_inc(x_193);
+x_194 = lean_ctor_get(x_192, 1);
+lean_inc(x_194);
+lean_dec(x_192);
+x_195 = l_Lean_Elab_Term_declareTacticSyntax___closed__2;
+x_196 = l_Lean_addMacroScope(x_190, x_195, x_193);
+x_197 = lean_box(0);
lean_inc(x_7);
lean_inc(x_6);
lean_inc(x_5);
lean_inc(x_4);
lean_inc(x_3);
-lean_inc(x_180);
-x_195 = l_Lean_Elab_Term_elabTerm(x_191, x_193, x_194, x_180, x_3, x_4, x_5, x_6, x_7, x_192);
-if (lean_obj_tag(x_195) == 0)
+lean_inc(x_188);
+x_198 = l_Lean_Elab_Term_quoteAutoTactic(x_1, x_188, x_3, x_4, x_5, x_6, x_7, x_194);
+if (lean_obj_tag(x_198) == 0)
{
-lean_object* x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_223; lean_object* x_224; lean_object* x_225; uint8_t x_226;
-x_196 = lean_ctor_get(x_195, 0);
-lean_inc(x_196);
-x_197 = lean_ctor_get(x_195, 1);
-lean_inc(x_197);
-lean_dec(x_195);
-x_198 = l_Lean_Meta_instantiateMVars___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__1(x_196, x_180, x_3, x_4, x_5, x_6, x_7, x_197);
+lean_object* x_199; lean_object* x_200; lean_object* x_201; uint8_t x_202; lean_object* x_203;
x_199 = lean_ctor_get(x_198, 0);
lean_inc(x_199);
x_200 = lean_ctor_get(x_198, 1);
lean_inc(x_200);
lean_dec(x_198);
-x_223 = lean_st_ref_get(x_7, x_200);
-x_224 = lean_ctor_get(x_223, 0);
-lean_inc(x_224);
-x_225 = lean_ctor_get(x_224, 3);
-lean_inc(x_225);
-lean_dec(x_224);
-x_226 = lean_ctor_get_uint8(x_225, sizeof(void*)*1);
-lean_dec(x_225);
-if (x_226 == 0)
-{
-lean_object* x_227;
-x_227 = lean_ctor_get(x_223, 1);
-lean_inc(x_227);
-lean_dec(x_223);
-x_201 = x_227;
-goto block_222;
-}
-else
-{
-lean_object* x_228; lean_object* x_229; lean_object* x_230; lean_object* x_231; uint8_t x_232;
-x_228 = lean_ctor_get(x_223, 1);
-lean_inc(x_228);
-lean_dec(x_223);
-x_229 = l_Lean_Elab_Term_declareTacticSyntax___closed__5;
-x_230 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_229, x_180, x_3, x_4, x_5, x_6, x_7, x_228);
-x_231 = lean_ctor_get(x_230, 0);
-lean_inc(x_231);
-x_232 = lean_unbox(x_231);
-lean_dec(x_231);
-if (x_232 == 0)
-{
-lean_object* x_233;
-x_233 = lean_ctor_get(x_230, 1);
-lean_inc(x_233);
-lean_dec(x_230);
-x_201 = x_233;
-goto block_222;
-}
-else
-{
-lean_object* x_234; lean_object* x_235; lean_object* x_236; lean_object* x_237;
-x_234 = lean_ctor_get(x_230, 1);
-lean_inc(x_234);
-lean_dec(x_230);
-lean_inc(x_199);
-x_235 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_235, 0, x_199);
-x_236 = l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__1(x_229, x_235, x_180, x_3, x_4, x_5, x_6, x_7, x_234);
-x_237 = lean_ctor_get(x_236, 1);
-lean_inc(x_237);
-lean_dec(x_236);
-x_201 = x_237;
-goto block_222;
-}
-}
-block_222:
-{
-lean_object* x_202; lean_object* x_203; lean_object* x_204; uint8_t x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208;
-x_202 = l_Lean_Elab_Term_declareTacticSyntax___closed__3;
-lean_inc(x_188);
-x_203 = lean_alloc_ctor(0, 3, 0);
-lean_ctor_set(x_203, 0, x_188);
-lean_ctor_set(x_203, 1, x_189);
-lean_ctor_set(x_203, 2, x_202);
-x_204 = lean_box(0);
-x_205 = 0;
-x_206 = lean_alloc_ctor(0, 3, 1);
-lean_ctor_set(x_206, 0, x_203);
-lean_ctor_set(x_206, 1, x_199);
-lean_ctor_set(x_206, 2, x_204);
-lean_ctor_set_uint8(x_206, sizeof(void*)*3, x_205);
-x_207 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_207, 0, x_206);
+x_201 = l_Lean_Elab_Term_declareTacticSyntax___closed__4;
+x_202 = 1;
+lean_inc(x_7);
lean_inc(x_6);
-lean_inc(x_180);
-x_208 = l_Lean_addDecl___at_Lean_Elab_Term_declareTacticSyntax___spec__1(x_207, x_180, x_3, x_4, x_5, x_6, x_7, x_201);
-if (lean_obj_tag(x_208) == 0)
+lean_inc(x_5);
+lean_inc(x_4);
+lean_inc(x_3);
+lean_inc(x_188);
+x_203 = l_Lean_Elab_Term_elabTerm(x_199, x_201, x_202, x_188, x_3, x_4, x_5, x_6, x_7, x_200);
+if (lean_obj_tag(x_203) == 0)
{
-lean_object* x_209; lean_object* x_210;
-x_209 = lean_ctor_get(x_208, 1);
-lean_inc(x_209);
-lean_dec(x_208);
-x_210 = l_Lean_compileDecl___at_Lean_Elab_Term_declareTacticSyntax___spec__4(x_207, x_180, x_3, x_4, x_5, x_6, x_7, x_209);
+lean_object* x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; lean_object* x_209; uint8_t x_231; lean_object* x_232; lean_object* x_238; lean_object* x_239; lean_object* x_240; uint8_t x_241;
+x_204 = lean_ctor_get(x_203, 0);
+lean_inc(x_204);
+x_205 = lean_ctor_get(x_203, 1);
+lean_inc(x_205);
+lean_dec(x_203);
+x_206 = l_Lean_Meta_instantiateMVars___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__1(x_204, x_188, x_3, x_4, x_5, x_6, x_7, x_205);
+x_207 = lean_ctor_get(x_206, 0);
+lean_inc(x_207);
+x_208 = lean_ctor_get(x_206, 1);
+lean_inc(x_208);
+lean_dec(x_206);
+x_238 = lean_st_ref_get(x_7, x_208);
+x_239 = lean_ctor_get(x_238, 0);
+lean_inc(x_239);
+x_240 = lean_ctor_get(x_239, 3);
+lean_inc(x_240);
+lean_dec(x_239);
+x_241 = lean_ctor_get_uint8(x_240, sizeof(void*)*1);
+lean_dec(x_240);
+if (x_241 == 0)
+{
+lean_object* x_242; uint8_t x_243;
+x_242 = lean_ctor_get(x_238, 1);
+lean_inc(x_242);
+lean_dec(x_238);
+x_243 = 0;
+x_231 = x_243;
+x_232 = x_242;
+goto block_237;
+}
+else
+{
+lean_object* x_244; lean_object* x_245; lean_object* x_246; lean_object* x_247; lean_object* x_248; uint8_t x_249;
+x_244 = lean_ctor_get(x_238, 1);
+lean_inc(x_244);
+lean_dec(x_238);
+x_245 = l_Lean_Elab_Term_declareTacticSyntax___closed__5;
+x_246 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_245, x_188, x_3, x_4, x_5, x_6, x_7, x_244);
+x_247 = lean_ctor_get(x_246, 0);
+lean_inc(x_247);
+x_248 = lean_ctor_get(x_246, 1);
+lean_inc(x_248);
+lean_dec(x_246);
+x_249 = lean_unbox(x_247);
+lean_dec(x_247);
+x_231 = x_249;
+x_232 = x_248;
+goto block_237;
+}
+block_230:
+{
+lean_object* x_210; lean_object* x_211; lean_object* x_212; uint8_t x_213; lean_object* x_214; lean_object* x_215; lean_object* x_216;
+x_210 = l_Lean_Elab_Term_declareTacticSyntax___closed__3;
+lean_inc(x_196);
+x_211 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_211, 0, x_196);
+lean_ctor_set(x_211, 1, x_197);
+lean_ctor_set(x_211, 2, x_210);
+x_212 = lean_box(0);
+x_213 = 0;
+x_214 = lean_alloc_ctor(0, 3, 1);
+lean_ctor_set(x_214, 0, x_211);
+lean_ctor_set(x_214, 1, x_207);
+lean_ctor_set(x_214, 2, x_212);
+lean_ctor_set_uint8(x_214, sizeof(void*)*3, x_213);
+x_215 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_215, 0, x_214);
+lean_inc(x_6);
+lean_inc(x_188);
+x_216 = l_Lean_addDecl___at_Lean_Elab_Term_declareTacticSyntax___spec__1(x_215, x_188, x_3, x_4, x_5, x_6, x_7, x_209);
+if (lean_obj_tag(x_216) == 0)
+{
+lean_object* x_217; lean_object* x_218;
+x_217 = lean_ctor_get(x_216, 1);
+lean_inc(x_217);
+lean_dec(x_216);
+x_218 = l_Lean_compileDecl___at_Lean_Elab_Term_declareTacticSyntax___spec__4(x_215, x_188, x_3, x_4, x_5, x_6, x_7, x_217);
lean_dec(x_7);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
-lean_dec(x_207);
-if (lean_obj_tag(x_210) == 0)
+lean_dec(x_215);
+if (lean_obj_tag(x_218) == 0)
{
-lean_object* x_211; lean_object* x_212; lean_object* x_213;
-x_211 = lean_ctor_get(x_210, 1);
-lean_inc(x_211);
-if (lean_is_exclusive(x_210)) {
- lean_ctor_release(x_210, 0);
- lean_ctor_release(x_210, 1);
- x_212 = x_210;
-} else {
- lean_dec_ref(x_210);
- x_212 = lean_box(0);
-}
-if (lean_is_scalar(x_212)) {
- x_213 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_213 = x_212;
-}
-lean_ctor_set(x_213, 0, x_188);
-lean_ctor_set(x_213, 1, x_211);
-return x_213;
-}
-else
-{
-lean_object* x_214; lean_object* x_215; lean_object* x_216; lean_object* x_217;
-lean_dec(x_188);
-x_214 = lean_ctor_get(x_210, 0);
-lean_inc(x_214);
-x_215 = lean_ctor_get(x_210, 1);
-lean_inc(x_215);
-if (lean_is_exclusive(x_210)) {
- lean_ctor_release(x_210, 0);
- lean_ctor_release(x_210, 1);
- x_216 = x_210;
-} else {
- lean_dec_ref(x_210);
- x_216 = lean_box(0);
-}
-if (lean_is_scalar(x_216)) {
- x_217 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_217 = x_216;
-}
-lean_ctor_set(x_217, 0, x_214);
-lean_ctor_set(x_217, 1, x_215);
-return x_217;
-}
-}
-else
-{
-lean_object* x_218; lean_object* x_219; lean_object* x_220; lean_object* x_221;
-lean_dec(x_207);
-lean_dec(x_188);
-lean_dec(x_180);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_218 = lean_ctor_get(x_208, 0);
-lean_inc(x_218);
-x_219 = lean_ctor_get(x_208, 1);
+lean_object* x_219; lean_object* x_220; lean_object* x_221;
+x_219 = lean_ctor_get(x_218, 1);
lean_inc(x_219);
-if (lean_is_exclusive(x_208)) {
- lean_ctor_release(x_208, 0);
- lean_ctor_release(x_208, 1);
- x_220 = x_208;
+if (lean_is_exclusive(x_218)) {
+ lean_ctor_release(x_218, 0);
+ lean_ctor_release(x_218, 1);
+ x_220 = x_218;
} else {
- lean_dec_ref(x_208);
+ lean_dec_ref(x_218);
x_220 = lean_box(0);
}
if (lean_is_scalar(x_220)) {
- x_221 = lean_alloc_ctor(1, 2, 0);
+ x_221 = lean_alloc_ctor(0, 2, 0);
} else {
x_221 = x_220;
}
-lean_ctor_set(x_221, 0, x_218);
+lean_ctor_set(x_221, 0, x_196);
lean_ctor_set(x_221, 1, x_219);
return x_221;
}
+else
+{
+lean_object* x_222; lean_object* x_223; lean_object* x_224; lean_object* x_225;
+lean_dec(x_196);
+x_222 = lean_ctor_get(x_218, 0);
+lean_inc(x_222);
+x_223 = lean_ctor_get(x_218, 1);
+lean_inc(x_223);
+if (lean_is_exclusive(x_218)) {
+ lean_ctor_release(x_218, 0);
+ lean_ctor_release(x_218, 1);
+ x_224 = x_218;
+} else {
+ lean_dec_ref(x_218);
+ x_224 = lean_box(0);
+}
+if (lean_is_scalar(x_224)) {
+ x_225 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_225 = x_224;
+}
+lean_ctor_set(x_225, 0, x_222);
+lean_ctor_set(x_225, 1, x_223);
+return x_225;
}
}
else
{
-lean_object* x_238; lean_object* x_239; lean_object* x_240; lean_object* x_241;
+lean_object* x_226; lean_object* x_227; lean_object* x_228; lean_object* x_229;
+lean_dec(x_215);
+lean_dec(x_196);
lean_dec(x_188);
-lean_dec(x_180);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
-x_238 = lean_ctor_get(x_195, 0);
-lean_inc(x_238);
-x_239 = lean_ctor_get(x_195, 1);
-lean_inc(x_239);
-if (lean_is_exclusive(x_195)) {
- lean_ctor_release(x_195, 0);
- lean_ctor_release(x_195, 1);
- x_240 = x_195;
+x_226 = lean_ctor_get(x_216, 0);
+lean_inc(x_226);
+x_227 = lean_ctor_get(x_216, 1);
+lean_inc(x_227);
+if (lean_is_exclusive(x_216)) {
+ lean_ctor_release(x_216, 0);
+ lean_ctor_release(x_216, 1);
+ x_228 = x_216;
} else {
- lean_dec_ref(x_195);
- x_240 = lean_box(0);
+ lean_dec_ref(x_216);
+ x_228 = lean_box(0);
}
-if (lean_is_scalar(x_240)) {
- x_241 = lean_alloc_ctor(1, 2, 0);
+if (lean_is_scalar(x_228)) {
+ x_229 = lean_alloc_ctor(1, 2, 0);
} else {
- x_241 = x_240;
+ x_229 = x_228;
+}
+lean_ctor_set(x_229, 0, x_226);
+lean_ctor_set(x_229, 1, x_227);
+return x_229;
+}
+}
+block_237:
+{
+if (x_231 == 0)
+{
+x_209 = x_232;
+goto block_230;
+}
+else
+{
+lean_object* x_233; lean_object* x_234; lean_object* x_235; lean_object* x_236;
+lean_inc(x_207);
+x_233 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_233, 0, x_207);
+x_234 = l_Lean_Elab_Term_declareTacticSyntax___closed__5;
+x_235 = l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__1(x_234, x_233, x_188, x_3, x_4, x_5, x_6, x_7, x_232);
+x_236 = lean_ctor_get(x_235, 1);
+lean_inc(x_236);
+lean_dec(x_235);
+x_209 = x_236;
+goto block_230;
}
-lean_ctor_set(x_241, 0, x_238);
-lean_ctor_set(x_241, 1, x_239);
-return x_241;
}
}
else
{
-lean_object* x_242; lean_object* x_243; lean_object* x_244; lean_object* x_245;
+lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253;
+lean_dec(x_196);
lean_dec(x_188);
-lean_dec(x_180);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
-x_242 = lean_ctor_get(x_190, 0);
-lean_inc(x_242);
-x_243 = lean_ctor_get(x_190, 1);
-lean_inc(x_243);
-if (lean_is_exclusive(x_190)) {
- lean_ctor_release(x_190, 0);
- lean_ctor_release(x_190, 1);
- x_244 = x_190;
+x_250 = lean_ctor_get(x_203, 0);
+lean_inc(x_250);
+x_251 = lean_ctor_get(x_203, 1);
+lean_inc(x_251);
+if (lean_is_exclusive(x_203)) {
+ lean_ctor_release(x_203, 0);
+ lean_ctor_release(x_203, 1);
+ x_252 = x_203;
} else {
- lean_dec_ref(x_190);
- x_244 = lean_box(0);
+ lean_dec_ref(x_203);
+ x_252 = lean_box(0);
}
-if (lean_is_scalar(x_244)) {
- x_245 = lean_alloc_ctor(1, 2, 0);
+if (lean_is_scalar(x_252)) {
+ x_253 = lean_alloc_ctor(1, 2, 0);
} else {
- x_245 = x_244;
+ x_253 = x_252;
}
-lean_ctor_set(x_245, 0, x_242);
-lean_ctor_set(x_245, 1, x_243);
-return x_245;
+lean_ctor_set(x_253, 0, x_250);
+lean_ctor_set(x_253, 1, x_251);
+return x_253;
+}
+}
+else
+{
+lean_object* x_254; lean_object* x_255; lean_object* x_256; lean_object* x_257;
+lean_dec(x_196);
+lean_dec(x_188);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_254 = lean_ctor_get(x_198, 0);
+lean_inc(x_254);
+x_255 = lean_ctor_get(x_198, 1);
+lean_inc(x_255);
+if (lean_is_exclusive(x_198)) {
+ lean_ctor_release(x_198, 0);
+ lean_ctor_release(x_198, 1);
+ x_256 = x_198;
+} else {
+ lean_dec_ref(x_198);
+ x_256 = lean_box(0);
+}
+if (lean_is_scalar(x_256)) {
+ x_257 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_257 = x_256;
+}
+lean_ctor_set(x_257, 0, x_254);
+lean_ctor_set(x_257, 1, x_255);
+return x_257;
}
}
}
@@ -8590,7 +8605,7 @@ x_57 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_57, 0, x_48);
lean_ctor_set(x_57, 1, x_56);
x_58 = lean_array_push(x_46, x_57);
-x_59 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_59 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_60 = lean_array_push(x_58, x_59);
x_61 = lean_array_push(x_60, x_35);
x_62 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -8648,7 +8663,7 @@ x_91 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_91, 0, x_82);
lean_ctor_set(x_91, 1, x_90);
x_92 = lean_array_push(x_80, x_91);
-x_93 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_93 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_94 = lean_array_push(x_92, x_93);
x_95 = lean_array_push(x_94, x_35);
x_96 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -8725,7 +8740,7 @@ x_131 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_131, 0, x_122);
lean_ctor_set(x_131, 1, x_130);
x_132 = lean_array_push(x_120, x_131);
-x_133 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_133 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_134 = lean_array_push(x_132, x_133);
x_135 = lean_array_push(x_134, x_110);
x_136 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -8818,7 +8833,7 @@ x_174 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_174, 0, x_165);
lean_ctor_set(x_174, 1, x_173);
x_175 = lean_array_push(x_163, x_174);
-x_176 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_176 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_177 = lean_array_push(x_175, x_176);
x_178 = lean_array_push(x_177, x_152);
x_179 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -8990,7 +9005,7 @@ lean_dec(x_245);
lean_ctor_set(x_19, 1, x_242);
lean_ctor_set(x_19, 0, x_234);
x_246 = lean_array_push(x_232, x_19);
-x_247 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_247 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_248 = lean_array_push(x_246, x_247);
x_249 = lean_array_push(x_248, x_221);
x_250 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -9027,7 +9042,7 @@ x_263 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_263, 0, x_234);
lean_ctor_set(x_263, 1, x_242);
x_264 = lean_array_push(x_232, x_263);
-x_265 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_265 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_266 = lean_array_push(x_264, x_265);
x_267 = lean_array_push(x_266, x_221);
x_268 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -9099,7 +9114,7 @@ if (lean_is_scalar(x_297)) {
lean_ctor_set(x_298, 0, x_288);
lean_ctor_set(x_298, 1, x_296);
x_299 = lean_array_push(x_286, x_298);
-x_300 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_300 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_301 = lean_array_push(x_299, x_300);
x_302 = lean_array_push(x_301, x_221);
x_303 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -9189,7 +9204,7 @@ if (lean_is_scalar(x_338)) {
lean_ctor_set(x_339, 0, x_329);
lean_ctor_set(x_339, 1, x_337);
x_340 = lean_array_push(x_327, x_339);
-x_341 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_341 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_342 = lean_array_push(x_340, x_341);
x_343 = lean_array_push(x_342, x_317);
x_344 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -9295,7 +9310,7 @@ if (lean_is_scalar(x_382)) {
lean_ctor_set(x_383, 0, x_373);
lean_ctor_set(x_383, 1, x_381);
x_384 = lean_array_push(x_371, x_383);
-x_385 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_385 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_386 = lean_array_push(x_384, x_385);
x_387 = lean_array_push(x_386, x_360);
x_388 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -9429,7 +9444,7 @@ lean_dec(x_445);
lean_ctor_set(x_19, 1, x_442);
lean_ctor_set(x_19, 0, x_434);
x_446 = lean_array_push(x_432, x_19);
-x_447 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_447 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_448 = lean_array_push(x_446, x_447);
x_449 = lean_array_push(x_448, x_421);
x_450 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -9466,7 +9481,7 @@ x_463 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_463, 0, x_434);
lean_ctor_set(x_463, 1, x_442);
x_464 = lean_array_push(x_432, x_463);
-x_465 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_465 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_466 = lean_array_push(x_464, x_465);
x_467 = lean_array_push(x_466, x_421);
x_468 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -9538,7 +9553,7 @@ if (lean_is_scalar(x_497)) {
lean_ctor_set(x_498, 0, x_488);
lean_ctor_set(x_498, 1, x_496);
x_499 = lean_array_push(x_486, x_498);
-x_500 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_500 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_501 = lean_array_push(x_499, x_500);
x_502 = lean_array_push(x_501, x_421);
x_503 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -9628,7 +9643,7 @@ if (lean_is_scalar(x_538)) {
lean_ctor_set(x_539, 0, x_529);
lean_ctor_set(x_539, 1, x_537);
x_540 = lean_array_push(x_527, x_539);
-x_541 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_541 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_542 = lean_array_push(x_540, x_541);
x_543 = lean_array_push(x_542, x_517);
x_544 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -9734,7 +9749,7 @@ if (lean_is_scalar(x_582)) {
lean_ctor_set(x_583, 0, x_573);
lean_ctor_set(x_583, 1, x_581);
x_584 = lean_array_push(x_571, x_583);
-x_585 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_585 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_586 = lean_array_push(x_584, x_585);
x_587 = lean_array_push(x_586, x_560);
x_588 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -9867,7 +9882,7 @@ lean_dec(x_645);
lean_ctor_set(x_19, 1, x_642);
lean_ctor_set(x_19, 0, x_634);
x_646 = lean_array_push(x_632, x_19);
-x_647 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_647 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_648 = lean_array_push(x_646, x_647);
x_649 = lean_array_push(x_648, x_621);
x_650 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -9904,7 +9919,7 @@ x_663 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_663, 0, x_634);
lean_ctor_set(x_663, 1, x_642);
x_664 = lean_array_push(x_632, x_663);
-x_665 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_665 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_666 = lean_array_push(x_664, x_665);
x_667 = lean_array_push(x_666, x_621);
x_668 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -9976,7 +9991,7 @@ if (lean_is_scalar(x_697)) {
lean_ctor_set(x_698, 0, x_688);
lean_ctor_set(x_698, 1, x_696);
x_699 = lean_array_push(x_686, x_698);
-x_700 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_700 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_701 = lean_array_push(x_699, x_700);
x_702 = lean_array_push(x_701, x_621);
x_703 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -10066,7 +10081,7 @@ if (lean_is_scalar(x_738)) {
lean_ctor_set(x_739, 0, x_729);
lean_ctor_set(x_739, 1, x_737);
x_740 = lean_array_push(x_727, x_739);
-x_741 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_741 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_742 = lean_array_push(x_740, x_741);
x_743 = lean_array_push(x_742, x_717);
x_744 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -10172,7 +10187,7 @@ if (lean_is_scalar(x_782)) {
lean_ctor_set(x_783, 0, x_773);
lean_ctor_set(x_783, 1, x_781);
x_784 = lean_array_push(x_771, x_783);
-x_785 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_785 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_786 = lean_array_push(x_784, x_785);
x_787 = lean_array_push(x_786, x_760);
x_788 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -10324,7 +10339,7 @@ lean_dec(x_853);
lean_ctor_set(x_19, 1, x_850);
lean_ctor_set(x_19, 0, x_842);
x_854 = lean_array_push(x_840, x_19);
-x_855 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_855 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_856 = lean_array_push(x_854, x_855);
x_857 = lean_array_push(x_856, x_829);
x_858 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -10361,7 +10376,7 @@ x_871 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_871, 0, x_842);
lean_ctor_set(x_871, 1, x_850);
x_872 = lean_array_push(x_840, x_871);
-x_873 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_873 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_874 = lean_array_push(x_872, x_873);
x_875 = lean_array_push(x_874, x_829);
x_876 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -10433,7 +10448,7 @@ if (lean_is_scalar(x_905)) {
lean_ctor_set(x_906, 0, x_896);
lean_ctor_set(x_906, 1, x_904);
x_907 = lean_array_push(x_894, x_906);
-x_908 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_908 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_909 = lean_array_push(x_907, x_908);
x_910 = lean_array_push(x_909, x_829);
x_911 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -10523,7 +10538,7 @@ if (lean_is_scalar(x_946)) {
lean_ctor_set(x_947, 0, x_937);
lean_ctor_set(x_947, 1, x_945);
x_948 = lean_array_push(x_935, x_947);
-x_949 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_949 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_950 = lean_array_push(x_948, x_949);
x_951 = lean_array_push(x_950, x_925);
x_952 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -10629,7 +10644,7 @@ if (lean_is_scalar(x_990)) {
lean_ctor_set(x_991, 0, x_981);
lean_ctor_set(x_991, 1, x_989);
x_992 = lean_array_push(x_979, x_991);
-x_993 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_993 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_994 = lean_array_push(x_992, x_993);
x_995 = lean_array_push(x_994, x_968);
x_996 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -10807,7 +10822,7 @@ lean_dec(x_1063);
lean_ctor_set(x_19, 1, x_1060);
lean_ctor_set(x_19, 0, x_1052);
x_1064 = lean_array_push(x_1050, x_19);
-x_1065 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_1065 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_1066 = lean_array_push(x_1064, x_1065);
x_1067 = lean_array_push(x_1066, x_1039);
x_1068 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -10844,7 +10859,7 @@ x_1081 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_1081, 0, x_1052);
lean_ctor_set(x_1081, 1, x_1060);
x_1082 = lean_array_push(x_1050, x_1081);
-x_1083 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_1083 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_1084 = lean_array_push(x_1082, x_1083);
x_1085 = lean_array_push(x_1084, x_1039);
x_1086 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -10916,7 +10931,7 @@ if (lean_is_scalar(x_1115)) {
lean_ctor_set(x_1116, 0, x_1106);
lean_ctor_set(x_1116, 1, x_1114);
x_1117 = lean_array_push(x_1104, x_1116);
-x_1118 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_1118 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_1119 = lean_array_push(x_1117, x_1118);
x_1120 = lean_array_push(x_1119, x_1039);
x_1121 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -11006,7 +11021,7 @@ if (lean_is_scalar(x_1156)) {
lean_ctor_set(x_1157, 0, x_1147);
lean_ctor_set(x_1157, 1, x_1155);
x_1158 = lean_array_push(x_1145, x_1157);
-x_1159 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_1159 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_1160 = lean_array_push(x_1158, x_1159);
x_1161 = lean_array_push(x_1160, x_1135);
x_1162 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -11112,7 +11127,7 @@ if (lean_is_scalar(x_1200)) {
lean_ctor_set(x_1201, 0, x_1191);
lean_ctor_set(x_1201, 1, x_1199);
x_1202 = lean_array_push(x_1189, x_1201);
-x_1203 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_1203 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_1204 = lean_array_push(x_1202, x_1203);
x_1205 = lean_array_push(x_1204, x_1178);
x_1206 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -11262,7 +11277,7 @@ lean_dec(x_1268);
lean_ctor_set(x_19, 1, x_1265);
lean_ctor_set(x_19, 0, x_1257);
x_1269 = lean_array_push(x_1255, x_19);
-x_1270 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_1270 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_1271 = lean_array_push(x_1269, x_1270);
x_1272 = lean_array_push(x_1271, x_1244);
x_1273 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -11299,7 +11314,7 @@ x_1286 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_1286, 0, x_1257);
lean_ctor_set(x_1286, 1, x_1265);
x_1287 = lean_array_push(x_1255, x_1286);
-x_1288 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_1288 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_1289 = lean_array_push(x_1287, x_1288);
x_1290 = lean_array_push(x_1289, x_1244);
x_1291 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -11371,7 +11386,7 @@ if (lean_is_scalar(x_1320)) {
lean_ctor_set(x_1321, 0, x_1311);
lean_ctor_set(x_1321, 1, x_1319);
x_1322 = lean_array_push(x_1309, x_1321);
-x_1323 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_1323 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_1324 = lean_array_push(x_1322, x_1323);
x_1325 = lean_array_push(x_1324, x_1244);
x_1326 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -11461,7 +11476,7 @@ if (lean_is_scalar(x_1361)) {
lean_ctor_set(x_1362, 0, x_1352);
lean_ctor_set(x_1362, 1, x_1360);
x_1363 = lean_array_push(x_1350, x_1362);
-x_1364 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_1364 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_1365 = lean_array_push(x_1363, x_1364);
x_1366 = lean_array_push(x_1365, x_1340);
x_1367 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -11567,7 +11582,7 @@ if (lean_is_scalar(x_1405)) {
lean_ctor_set(x_1406, 0, x_1396);
lean_ctor_set(x_1406, 1, x_1404);
x_1407 = lean_array_push(x_1394, x_1406);
-x_1408 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_1408 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_1409 = lean_array_push(x_1407, x_1408);
x_1410 = lean_array_push(x_1409, x_1383);
x_1411 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -11696,7 +11711,7 @@ lean_dec(x_1471);
lean_ctor_set(x_19, 1, x_1468);
lean_ctor_set(x_19, 0, x_1460);
x_1472 = lean_array_push(x_1458, x_19);
-x_1473 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_1473 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_1474 = lean_array_push(x_1472, x_1473);
x_1475 = lean_array_push(x_1474, x_1447);
x_1476 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -11733,7 +11748,7 @@ x_1489 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_1489, 0, x_1460);
lean_ctor_set(x_1489, 1, x_1468);
x_1490 = lean_array_push(x_1458, x_1489);
-x_1491 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_1491 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_1492 = lean_array_push(x_1490, x_1491);
x_1493 = lean_array_push(x_1492, x_1447);
x_1494 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -11805,7 +11820,7 @@ if (lean_is_scalar(x_1523)) {
lean_ctor_set(x_1524, 0, x_1514);
lean_ctor_set(x_1524, 1, x_1522);
x_1525 = lean_array_push(x_1512, x_1524);
-x_1526 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_1526 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_1527 = lean_array_push(x_1525, x_1526);
x_1528 = lean_array_push(x_1527, x_1447);
x_1529 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -11895,7 +11910,7 @@ if (lean_is_scalar(x_1564)) {
lean_ctor_set(x_1565, 0, x_1555);
lean_ctor_set(x_1565, 1, x_1563);
x_1566 = lean_array_push(x_1553, x_1565);
-x_1567 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_1567 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_1568 = lean_array_push(x_1566, x_1567);
x_1569 = lean_array_push(x_1568, x_1543);
x_1570 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -12001,7 +12016,7 @@ if (lean_is_scalar(x_1608)) {
lean_ctor_set(x_1609, 0, x_1599);
lean_ctor_set(x_1609, 1, x_1607);
x_1610 = lean_array_push(x_1597, x_1609);
-x_1611 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_1611 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_1612 = lean_array_push(x_1610, x_1611);
x_1613 = lean_array_push(x_1612, x_1586);
x_1614 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -12128,7 +12143,7 @@ lean_dec(x_1668);
lean_ctor_set(x_19, 1, x_1665);
lean_ctor_set(x_19, 0, x_1657);
x_1669 = lean_array_push(x_1655, x_19);
-x_1670 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_1670 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_1671 = lean_array_push(x_1669, x_1670);
x_1672 = lean_array_push(x_1671, x_1644);
x_1673 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -12165,7 +12180,7 @@ x_1686 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_1686, 0, x_1657);
lean_ctor_set(x_1686, 1, x_1665);
x_1687 = lean_array_push(x_1655, x_1686);
-x_1688 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_1688 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_1689 = lean_array_push(x_1687, x_1688);
x_1690 = lean_array_push(x_1689, x_1644);
x_1691 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -12237,7 +12252,7 @@ if (lean_is_scalar(x_1720)) {
lean_ctor_set(x_1721, 0, x_1711);
lean_ctor_set(x_1721, 1, x_1719);
x_1722 = lean_array_push(x_1709, x_1721);
-x_1723 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_1723 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_1724 = lean_array_push(x_1722, x_1723);
x_1725 = lean_array_push(x_1724, x_1644);
x_1726 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -12327,7 +12342,7 @@ if (lean_is_scalar(x_1761)) {
lean_ctor_set(x_1762, 0, x_1752);
lean_ctor_set(x_1762, 1, x_1760);
x_1763 = lean_array_push(x_1750, x_1762);
-x_1764 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_1764 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_1765 = lean_array_push(x_1763, x_1764);
x_1766 = lean_array_push(x_1765, x_1740);
x_1767 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -12433,7 +12448,7 @@ if (lean_is_scalar(x_1805)) {
lean_ctor_set(x_1806, 0, x_1796);
lean_ctor_set(x_1806, 1, x_1804);
x_1807 = lean_array_push(x_1794, x_1806);
-x_1808 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_1808 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_1809 = lean_array_push(x_1807, x_1808);
x_1810 = lean_array_push(x_1809, x_1783);
x_1811 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -12630,7 +12645,7 @@ lean_dec(x_1886);
lean_ctor_set(x_19, 1, x_1883);
lean_ctor_set(x_19, 0, x_1875);
x_1887 = lean_array_push(x_1873, x_19);
-x_1888 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_1888 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_1889 = lean_array_push(x_1887, x_1888);
x_1890 = lean_array_push(x_1889, x_1862);
x_1891 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -12667,7 +12682,7 @@ x_1904 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_1904, 0, x_1875);
lean_ctor_set(x_1904, 1, x_1883);
x_1905 = lean_array_push(x_1873, x_1904);
-x_1906 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_1906 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_1907 = lean_array_push(x_1905, x_1906);
x_1908 = lean_array_push(x_1907, x_1862);
x_1909 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -12739,7 +12754,7 @@ if (lean_is_scalar(x_1938)) {
lean_ctor_set(x_1939, 0, x_1929);
lean_ctor_set(x_1939, 1, x_1937);
x_1940 = lean_array_push(x_1927, x_1939);
-x_1941 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_1941 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_1942 = lean_array_push(x_1940, x_1941);
x_1943 = lean_array_push(x_1942, x_1862);
x_1944 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -12829,7 +12844,7 @@ if (lean_is_scalar(x_1979)) {
lean_ctor_set(x_1980, 0, x_1970);
lean_ctor_set(x_1980, 1, x_1978);
x_1981 = lean_array_push(x_1968, x_1980);
-x_1982 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_1982 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_1983 = lean_array_push(x_1981, x_1982);
x_1984 = lean_array_push(x_1983, x_1958);
x_1985 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -12935,7 +12950,7 @@ if (lean_is_scalar(x_2023)) {
lean_ctor_set(x_2024, 0, x_2014);
lean_ctor_set(x_2024, 1, x_2022);
x_2025 = lean_array_push(x_2012, x_2024);
-x_2026 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_2026 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_2027 = lean_array_push(x_2025, x_2026);
x_2028 = lean_array_push(x_2027, x_2001);
x_2029 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -13066,7 +13081,7 @@ lean_dec(x_2084);
lean_ctor_set(x_19, 1, x_2081);
lean_ctor_set(x_19, 0, x_2073);
x_2085 = lean_array_push(x_2071, x_19);
-x_2086 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_2086 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_2087 = lean_array_push(x_2085, x_2086);
x_2088 = lean_array_push(x_2087, x_2060);
x_2089 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -13103,7 +13118,7 @@ x_2102 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_2102, 0, x_2073);
lean_ctor_set(x_2102, 1, x_2081);
x_2103 = lean_array_push(x_2071, x_2102);
-x_2104 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_2104 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_2105 = lean_array_push(x_2103, x_2104);
x_2106 = lean_array_push(x_2105, x_2060);
x_2107 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -13175,7 +13190,7 @@ if (lean_is_scalar(x_2136)) {
lean_ctor_set(x_2137, 0, x_2127);
lean_ctor_set(x_2137, 1, x_2135);
x_2138 = lean_array_push(x_2125, x_2137);
-x_2139 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_2139 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_2140 = lean_array_push(x_2138, x_2139);
x_2141 = lean_array_push(x_2140, x_2060);
x_2142 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -13265,7 +13280,7 @@ if (lean_is_scalar(x_2177)) {
lean_ctor_set(x_2178, 0, x_2168);
lean_ctor_set(x_2178, 1, x_2176);
x_2179 = lean_array_push(x_2166, x_2178);
-x_2180 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_2180 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_2181 = lean_array_push(x_2179, x_2180);
x_2182 = lean_array_push(x_2181, x_2156);
x_2183 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -13371,7 +13386,7 @@ if (lean_is_scalar(x_2221)) {
lean_ctor_set(x_2222, 0, x_2212);
lean_ctor_set(x_2222, 1, x_2220);
x_2223 = lean_array_push(x_2210, x_2222);
-x_2224 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_2224 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_2225 = lean_array_push(x_2223, x_2224);
x_2226 = lean_array_push(x_2225, x_2199);
x_2227 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -13501,7 +13516,7 @@ lean_dec(x_2282);
lean_ctor_set(x_19, 1, x_2279);
lean_ctor_set(x_19, 0, x_2271);
x_2283 = lean_array_push(x_2269, x_19);
-x_2284 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_2284 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_2285 = lean_array_push(x_2283, x_2284);
x_2286 = lean_array_push(x_2285, x_2258);
x_2287 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -13538,7 +13553,7 @@ x_2300 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_2300, 0, x_2271);
lean_ctor_set(x_2300, 1, x_2279);
x_2301 = lean_array_push(x_2269, x_2300);
-x_2302 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_2302 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_2303 = lean_array_push(x_2301, x_2302);
x_2304 = lean_array_push(x_2303, x_2258);
x_2305 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -13610,7 +13625,7 @@ if (lean_is_scalar(x_2334)) {
lean_ctor_set(x_2335, 0, x_2325);
lean_ctor_set(x_2335, 1, x_2333);
x_2336 = lean_array_push(x_2323, x_2335);
-x_2337 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_2337 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_2338 = lean_array_push(x_2336, x_2337);
x_2339 = lean_array_push(x_2338, x_2258);
x_2340 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -13700,7 +13715,7 @@ if (lean_is_scalar(x_2375)) {
lean_ctor_set(x_2376, 0, x_2366);
lean_ctor_set(x_2376, 1, x_2374);
x_2377 = lean_array_push(x_2364, x_2376);
-x_2378 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_2378 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_2379 = lean_array_push(x_2377, x_2378);
x_2380 = lean_array_push(x_2379, x_2354);
x_2381 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -13806,7 +13821,7 @@ if (lean_is_scalar(x_2419)) {
lean_ctor_set(x_2420, 0, x_2410);
lean_ctor_set(x_2420, 1, x_2418);
x_2421 = lean_array_push(x_2408, x_2420);
-x_2422 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_2422 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_2423 = lean_array_push(x_2421, x_2422);
x_2424 = lean_array_push(x_2423, x_2397);
x_2425 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -13935,7 +13950,7 @@ lean_dec(x_2480);
lean_ctor_set(x_19, 1, x_2477);
lean_ctor_set(x_19, 0, x_2469);
x_2481 = lean_array_push(x_2467, x_19);
-x_2482 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_2482 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_2483 = lean_array_push(x_2481, x_2482);
x_2484 = lean_array_push(x_2483, x_2456);
x_2485 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -13972,7 +13987,7 @@ x_2498 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_2498, 0, x_2469);
lean_ctor_set(x_2498, 1, x_2477);
x_2499 = lean_array_push(x_2467, x_2498);
-x_2500 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_2500 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_2501 = lean_array_push(x_2499, x_2500);
x_2502 = lean_array_push(x_2501, x_2456);
x_2503 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -14044,7 +14059,7 @@ if (lean_is_scalar(x_2532)) {
lean_ctor_set(x_2533, 0, x_2523);
lean_ctor_set(x_2533, 1, x_2531);
x_2534 = lean_array_push(x_2521, x_2533);
-x_2535 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_2535 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_2536 = lean_array_push(x_2534, x_2535);
x_2537 = lean_array_push(x_2536, x_2456);
x_2538 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -14134,7 +14149,7 @@ if (lean_is_scalar(x_2573)) {
lean_ctor_set(x_2574, 0, x_2564);
lean_ctor_set(x_2574, 1, x_2572);
x_2575 = lean_array_push(x_2562, x_2574);
-x_2576 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_2576 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_2577 = lean_array_push(x_2575, x_2576);
x_2578 = lean_array_push(x_2577, x_2552);
x_2579 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -14240,7 +14255,7 @@ if (lean_is_scalar(x_2617)) {
lean_ctor_set(x_2618, 0, x_2608);
lean_ctor_set(x_2618, 1, x_2616);
x_2619 = lean_array_push(x_2606, x_2618);
-x_2620 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_2620 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_2621 = lean_array_push(x_2619, x_2620);
x_2622 = lean_array_push(x_2621, x_2595);
x_2623 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -14368,7 +14383,7 @@ lean_dec(x_2678);
lean_ctor_set(x_19, 1, x_2675);
lean_ctor_set(x_19, 0, x_2667);
x_2679 = lean_array_push(x_2665, x_19);
-x_2680 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_2680 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_2681 = lean_array_push(x_2679, x_2680);
x_2682 = lean_array_push(x_2681, x_2654);
x_2683 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -14405,7 +14420,7 @@ x_2696 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_2696, 0, x_2667);
lean_ctor_set(x_2696, 1, x_2675);
x_2697 = lean_array_push(x_2665, x_2696);
-x_2698 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_2698 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_2699 = lean_array_push(x_2697, x_2698);
x_2700 = lean_array_push(x_2699, x_2654);
x_2701 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -14477,7 +14492,7 @@ if (lean_is_scalar(x_2730)) {
lean_ctor_set(x_2731, 0, x_2721);
lean_ctor_set(x_2731, 1, x_2729);
x_2732 = lean_array_push(x_2719, x_2731);
-x_2733 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_2733 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_2734 = lean_array_push(x_2732, x_2733);
x_2735 = lean_array_push(x_2734, x_2654);
x_2736 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -14567,7 +14582,7 @@ if (lean_is_scalar(x_2771)) {
lean_ctor_set(x_2772, 0, x_2762);
lean_ctor_set(x_2772, 1, x_2770);
x_2773 = lean_array_push(x_2760, x_2772);
-x_2774 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_2774 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_2775 = lean_array_push(x_2773, x_2774);
x_2776 = lean_array_push(x_2775, x_2750);
x_2777 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -14673,7 +14688,7 @@ if (lean_is_scalar(x_2815)) {
lean_ctor_set(x_2816, 0, x_2806);
lean_ctor_set(x_2816, 1, x_2814);
x_2817 = lean_array_push(x_2804, x_2816);
-x_2818 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_2818 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_2819 = lean_array_push(x_2817, x_2818);
x_2820 = lean_array_push(x_2819, x_2793);
x_2821 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -14801,7 +14816,7 @@ lean_ctor_set_tag(x_19, 1);
lean_ctor_set(x_19, 1, x_2873);
lean_ctor_set(x_19, 0, x_2865);
x_2877 = lean_array_push(x_2863, x_19);
-x_2878 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_2878 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_2879 = lean_array_push(x_2877, x_2878);
x_2880 = lean_array_push(x_2879, x_2852);
x_2881 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -14838,7 +14853,7 @@ x_2894 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_2894, 0, x_2865);
lean_ctor_set(x_2894, 1, x_2873);
x_2895 = lean_array_push(x_2863, x_2894);
-x_2896 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_2896 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_2897 = lean_array_push(x_2895, x_2896);
x_2898 = lean_array_push(x_2897, x_2852);
x_2899 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -14911,7 +14926,7 @@ if (lean_is_scalar(x_2928)) {
lean_ctor_set(x_2929, 0, x_2919);
lean_ctor_set(x_2929, 1, x_2927);
x_2930 = lean_array_push(x_2917, x_2929);
-x_2931 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_2931 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_2932 = lean_array_push(x_2930, x_2931);
x_2933 = lean_array_push(x_2932, x_2852);
x_2934 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -15002,7 +15017,7 @@ if (lean_is_scalar(x_2969)) {
lean_ctor_set(x_2970, 0, x_2960);
lean_ctor_set(x_2970, 1, x_2968);
x_2971 = lean_array_push(x_2958, x_2970);
-x_2972 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_2972 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_2973 = lean_array_push(x_2971, x_2972);
x_2974 = lean_array_push(x_2973, x_2948);
x_2975 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -15109,7 +15124,7 @@ if (lean_is_scalar(x_3013)) {
lean_ctor_set(x_3014, 0, x_3004);
lean_ctor_set(x_3014, 1, x_3012);
x_3015 = lean_array_push(x_3002, x_3014);
-x_3016 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_3016 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_3017 = lean_array_push(x_3015, x_3016);
x_3018 = lean_array_push(x_3017, x_2991);
x_3019 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -17092,12 +17107,12 @@ x_34 = l_Lean_nullKind___closed__2;
x_35 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_35, 0, x_34);
lean_ctor_set(x_35, 1, x_33);
-x_36 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_36 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_37 = lean_array_push(x_36, x_35);
-x_38 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_38 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_39 = lean_array_push(x_37, x_38);
x_40 = lean_array_push(x_39, x_31);
-x_41 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_41 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_42 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_42, 0, x_41);
lean_ctor_set(x_42, 1, x_40);
@@ -17124,12 +17139,12 @@ x_51 = l_Lean_nullKind___closed__2;
x_52 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_52, 0, x_51);
lean_ctor_set(x_52, 1, x_50);
-x_53 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_53 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_54 = lean_array_push(x_53, x_52);
-x_55 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_55 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_56 = lean_array_push(x_54, x_55);
x_57 = lean_array_push(x_56, x_47);
-x_58 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_58 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_59 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_59, 0, x_58);
lean_ctor_set(x_59, 1, x_57);
@@ -17299,12 +17314,12 @@ x_130 = l_Lean_nullKind___closed__2;
x_131 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_131, 0, x_130);
lean_ctor_set(x_131, 1, x_129);
-x_132 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_132 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_133 = lean_array_push(x_132, x_131);
-x_134 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_134 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_135 = lean_array_push(x_133, x_134);
x_136 = lean_array_push(x_135, x_125);
-x_137 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_137 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_138 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_138, 0, x_137);
lean_ctor_set(x_138, 1, x_136);
@@ -17635,12 +17650,12 @@ x_61 = l_Lean_nullKind___closed__2;
x_62 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_62, 0, x_61);
lean_ctor_set(x_62, 1, x_60);
-x_63 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_63 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_64 = lean_array_push(x_63, x_62);
-x_65 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_65 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_66 = lean_array_push(x_64, x_65);
x_67 = lean_array_push(x_66, x_53);
-x_68 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_68 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_69 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_69, 0, x_68);
lean_ctor_set(x_69, 1, x_67);
@@ -17881,7 +17896,7 @@ _start:
{
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
x_2 = l_Lean_Elab_Term_termElabAttribute;
-x_3 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_3 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_4 = l___regBuiltin_Lean_Elab_Term_elabFun___closed__1;
x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1);
return x_5;
@@ -18846,7 +18861,7 @@ x_71 = lean_ctor_get(x_65, 1);
lean_inc(x_71);
lean_dec(x_65);
x_72 = l_Lean_Elab_Term_elabLetDeclAux___closed__3;
-x_73 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_72, x_9, x_10, x_11, x_12, x_13, x_14, x_71);
+x_73 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_72, x_9, x_10, x_11, x_12, x_13, x_14, x_71);
x_74 = lean_ctor_get(x_73, 0);
lean_inc(x_74);
x_75 = lean_ctor_get(x_73, 1);
@@ -19234,12 +19249,12 @@ x_35 = l_Lean_nullKind___closed__2;
x_36 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_36, 0, x_35);
lean_ctor_set(x_36, 1, x_34);
-x_37 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_37 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_38 = lean_array_push(x_37, x_36);
-x_39 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_39 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_40 = lean_array_push(x_38, x_39);
x_41 = lean_array_push(x_40, x_32);
-x_42 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_42 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_43 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_43, 0, x_42);
lean_ctor_set(x_43, 1, x_41);
@@ -19260,12 +19275,12 @@ x_48 = l_Lean_nullKind___closed__2;
x_49 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_49, 0, x_48);
lean_ctor_set(x_49, 1, x_47);
-x_50 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_50 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_51 = lean_array_push(x_50, x_49);
-x_52 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_52 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_53 = lean_array_push(x_51, x_52);
x_54 = lean_array_push(x_53, x_44);
-x_55 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_55 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_56 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_56, 0, x_55);
lean_ctor_set(x_56, 1, x_54);
@@ -19292,12 +19307,12 @@ x_64 = l_Lean_nullKind___closed__2;
x_65 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_65, 0, x_64);
lean_ctor_set(x_65, 1, x_63);
-x_66 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_66 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_67 = lean_array_push(x_66, x_65);
-x_68 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_68 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_69 = lean_array_push(x_67, x_68);
x_70 = lean_array_push(x_69, x_61);
-x_71 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_71 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_72 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_72, 0, x_71);
lean_ctor_set(x_72, 1, x_70);
@@ -19318,12 +19333,12 @@ x_77 = l_Lean_nullKind___closed__2;
x_78 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_78, 0, x_77);
lean_ctor_set(x_78, 1, x_76);
-x_79 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_79 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_80 = lean_array_push(x_79, x_78);
-x_81 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_81 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_82 = lean_array_push(x_80, x_81);
x_83 = lean_array_push(x_82, x_73);
-x_84 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_84 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_85 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_85, 0, x_84);
lean_ctor_set(x_85, 1, x_83);
@@ -19399,12 +19414,12 @@ x_113 = l_Lean_nullKind___closed__2;
x_114 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_114, 0, x_113);
lean_ctor_set(x_114, 1, x_112);
-x_115 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_115 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_116 = lean_array_push(x_115, x_114);
-x_117 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_117 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_118 = lean_array_push(x_116, x_117);
x_119 = lean_array_push(x_118, x_108);
-x_120 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_120 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_121 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_121, 0, x_120);
lean_ctor_set(x_121, 1, x_119);
@@ -19441,12 +19456,12 @@ x_130 = l_Lean_nullKind___closed__2;
x_131 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_131, 0, x_130);
lean_ctor_set(x_131, 1, x_129);
-x_132 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_132 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_133 = lean_array_push(x_132, x_131);
-x_134 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_134 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_135 = lean_array_push(x_133, x_134);
x_136 = lean_array_push(x_135, x_125);
-x_137 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_137 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_138 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_138, 0, x_137);
lean_ctor_set(x_138, 1, x_136);
@@ -20023,7 +20038,7 @@ x_139 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_139, 0, x_113);
lean_ctor_set(x_139, 1, x_138);
x_140 = lean_array_push(x_104, x_139);
-x_141 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_141 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_142 = lean_array_push(x_140, x_141);
x_143 = lean_array_push(x_142, x_44);
x_144 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
diff --git a/stage0/stdlib/Lean/Elab/BuiltinNotation.c b/stage0/stdlib/Lean/Elab/BuiltinNotation.c
index 94c20618c5..6ac267aa7d 100644
--- a/stage0/stdlib/Lean/Elab/BuiltinNotation.c
+++ b/stage0/stdlib/Lean/Elab/BuiltinNotation.c
@@ -47,6 +47,7 @@ lean_object* l_Lean_stringToMessageData(lean_object*);
lean_object* l_Lean_Elab_Term_expandNot___closed__2;
lean_object* l_Lean_Elab_Term_expandDbgTrace___closed__8;
lean_object* l___regBuiltin_Lean_Elab_Term_expandMap___closed__1;
+extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
extern lean_object* l___kind_term____x40_Init_Data_ToString_Macro___hyg_2____closed__10;
lean_object* l___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkEqImp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_getRefPos___at_Lean_Elab_Term_elabPanic___spec__2(lean_object*, lean_object*, lean_object*, lean_object*);
@@ -121,6 +122,7 @@ lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserM
extern lean_object* l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__20;
lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__12;
extern lean_object* l_Array_empty___closed__1;
+extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__18;
lean_object* l_Lean_Elab_Term_expandAssert___closed__12;
lean_object* l_Lean_Elab_Term_expandHave___closed__4;
lean_object* l_Lean_Elab_Term_expandAssert_match__1(lean_object*);
@@ -238,6 +240,7 @@ extern lean_object* l_Array_myMacro____x40_Init_Data_Array_Macros___hyg_464____c
lean_object* l___regBuiltin_Lean_Elab_Term_expandMod(lean_object*);
lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__7;
lean_object* l_Lean_Elab_Term_expandBind___boxed(lean_object*, lean_object*, lean_object*);
+extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__13;
lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabClosedTerm___lambda__1___closed__1;
lean_object* l_Lean_Elab_Term_elabParen___closed__1;
lean_object* l___regBuiltin_Lean_Elab_Term_expandBOr___closed__3;
@@ -297,7 +300,6 @@ lean_object* l_Lean_Elab_Term_expandEmptyC___closed__5;
extern lean_object* l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__5;
lean_object* l___regBuiltin_Lean_Elab_Term_expandseqLeft___closed__2;
lean_object* lean_st_ref_take(lean_object*, lean_object*);
-extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
lean_object* l___regBuiltin_Lean_Elab_Term_expandAdd___closed__2;
lean_object* l___regBuiltin_Lean_Elab_Term_expandHave___closed__1;
lean_object* l_Lean_Elab_Term_elabNativeDecide(lean_object*);
@@ -341,6 +343,7 @@ extern lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_
lean_object* l_Lean_Elab_Term_ExpandFComp___closed__4;
lean_object* l_Lean_Elab_Term_expandBAnd(lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Elab_Term_expandEmptyC___closed__1;
+extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
lean_object* lean_array_get(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_elabDecide___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Elab_Term_expandAppend(lean_object*);
@@ -467,6 +470,7 @@ lean_object* l_Lean_Elab_Term_expandDiv___closed__3;
lean_object* l___regBuiltin_Lean_Elab_Term_elabBorrowed(lean_object*);
extern lean_object* l_Lean_setOptionFromString___closed__5;
lean_object* l_Lean_Elab_Term_expandPow___closed__4;
+extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
lean_object* l_Lean_Elab_Term_expandAssert___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at_Array_append___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Elab_Term_expandEmptyC(lean_object*);
@@ -486,7 +490,6 @@ lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_mkNativeRef
extern lean_object* l_Lean_Meta_reduceNat_x3f___closed__8;
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*);
-extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__13;
extern lean_object* l___regBuiltin_Lean_Elab_Term_elabByTactic___closed__2;
lean_object* l_Lean_Elab_Term_expandAppend___closed__2;
lean_object* l___regBuiltin_Lean_Elab_Term_expandAndThen___closed__2;
@@ -504,7 +507,6 @@ lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_mkNativeRef
lean_object* l_Lean_Elab_Term_expandGE(lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Elab_Term_elabDecide___closed__1;
lean_object* l_Lean_Elab_Term_expandMul___boxed(lean_object*, lean_object*, lean_object*);
-extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__12;
lean_object* l___regBuiltin_Lean_Elab_Term_elabNativeRefl(lean_object*);
extern lean_object* l_Lean_nullKind___closed__2;
lean_object* l_Lean_Elab_Term_elabAnonymousCtor_match__2(lean_object*);
@@ -589,7 +591,6 @@ lean_object* l_Lean_Elab_Term_expandIf___closed__2;
lean_object* l_Lean_Elab_Term_expandOr___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_elabAnonymousCtor_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_expandOr___closed__1;
-extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__18;
lean_object* l___regBuiltin_Lean_Elab_Term_expandseqRight(lean_object*);
lean_object* l___regBuiltin_Lean_Elab_Term_elabNativeDecide___closed__3;
lean_object* l_Lean_Elab_Term_expandShow___closed__10;
@@ -610,6 +611,7 @@ lean_object* l_Lean_Elab_Term_adaptExpander(lean_object*, lean_object*, lean_obj
extern lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_toPreterm___lambda__4___closed__4;
lean_object* l_Lean_Elab_Term_elabDecide(lean_object*);
lean_object* l_Lean_mkStxStrLit(lean_object*, lean_object*);
+extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__12;
lean_object* l_Lean_Elab_Term_expandAssert___closed__18;
lean_object* l_Lean_Elab_Term_expandShow___closed__8;
lean_object* l_Lean_Syntax_getPos(lean_object*);
@@ -655,7 +657,6 @@ lean_object* l___regBuiltin_Lean_Elab_Term_expandCons___closed__2;
lean_object* l_Lean_Elab_Term_ExpandFComp___closed__3;
lean_object* l_Lean_Elab_Term_elabParserMacro___lambda__1___closed__3;
lean_object* l___regBuiltin_Lean_Elab_Term_expandEq___closed__1;
-extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabClosedTerm___closed__1;
lean_object* l___regBuiltin_Lean_Elab_Term_expandOrM___closed__2;
lean_object* l_List_beq___main___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___spec__1___boxed(lean_object*, lean_object*);
@@ -814,7 +815,6 @@ lean_object* l___regBuiltin_Lean_Elab_Term_expandseq(lean_object*);
lean_object* l___regBuiltin_Lean_Elab_Term_elabAnonymousCtor___closed__1;
extern lean_object* l___private_Lean_Meta_DiscrTree_0__Lean_Meta_DiscrTree_shouldAddAsStar___closed__9;
lean_object* l_Lean_Elab_Term_expandUnreachable___rarg___closed__4;
-extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
lean_object* l_Lean_Elab_Term_elabTParserMacro___lambda__1___closed__2;
lean_object* l___regBuiltin_Lean_Elab_Term_expandUnreachable___closed__2;
lean_object* lean_name_mk_numeral(lean_object*, lean_object*);
@@ -1248,13 +1248,13 @@ x_69 = lean_array_push(x_66, x_52);
x_70 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_70, 0, x_16);
lean_ctor_set(x_70, 1, x_69);
-x_71 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_71 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_72 = lean_array_push(x_71, x_70);
-x_73 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_73 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_74 = lean_array_push(x_72, x_73);
lean_inc(x_74);
x_75 = lean_array_push(x_74, x_55);
-x_76 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_76 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_77 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_77, 0, x_76);
lean_ctor_set(x_77, 1, x_75);
@@ -1413,7 +1413,7 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__22;
-x_2 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__12;
+x_2 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__12;
x_3 = lean_array_push(x_1, x_2);
return x_3;
}
@@ -1580,12 +1580,12 @@ x_51 = lean_array_push(x_39, x_50);
x_52 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_52, 0, x_18);
lean_ctor_set(x_52, 1, x_51);
-x_53 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_53 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_54 = lean_array_push(x_53, x_52);
-x_55 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_55 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_56 = lean_array_push(x_54, x_55);
x_57 = lean_array_push(x_56, x_30);
-x_58 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_58 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_59 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_59, 0, x_58);
lean_ctor_set(x_59, 1, x_57);
@@ -1711,12 +1711,12 @@ x_112 = lean_array_push(x_95, x_111);
x_113 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_113, 0, x_18);
lean_ctor_set(x_113, 1, x_112);
-x_114 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_114 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_115 = lean_array_push(x_114, x_113);
-x_116 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_116 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_117 = lean_array_push(x_115, x_116);
x_118 = lean_array_push(x_117, x_86);
-x_119 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_119 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_120 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_120, 0, x_119);
lean_ctor_set(x_120, 1, x_118);
@@ -11510,9 +11510,9 @@ x_42 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_42, 0, x_41);
lean_ctor_set(x_42, 1, x_40);
x_43 = lean_array_push(x_19, x_42);
-x_44 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__18;
+x_44 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__18;
x_45 = lean_array_push(x_44, x_7);
-x_46 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_46 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_47 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_47, 0, x_46);
lean_ctor_set(x_47, 1, x_45);
@@ -11571,9 +11571,9 @@ x_77 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_77, 0, x_76);
lean_ctor_set(x_77, 1, x_75);
x_78 = lean_array_push(x_61, x_77);
-x_79 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__18;
+x_79 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__18;
x_80 = lean_array_push(x_79, x_7);
-x_81 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_81 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_82 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_82, 0, x_81);
lean_ctor_set(x_82, 1, x_80);
@@ -11757,7 +11757,7 @@ lean_ctor_set(x_17, 0, x_7);
lean_ctor_set(x_17, 1, x_15);
lean_ctor_set(x_17, 2, x_14);
lean_ctor_set(x_17, 3, x_16);
-x_18 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__13;
+x_18 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__13;
x_19 = lean_array_push(x_18, x_17);
x_20 = l_Lean_nullKind___closed__2;
x_21 = lean_alloc_ctor(1, 2, 0);
diff --git a/stage0/stdlib/Lean/Elab/Command.c b/stage0/stdlib/Lean/Elab/Command.c
index b3eb287e4f..c11ed4270f 100644
--- a/stage0/stdlib/Lean/Elab/Command.c
+++ b/stage0/stdlib/Lean/Elab/Command.c
@@ -200,6 +200,7 @@ lean_object* l_Lean_Elab_Command_modifyScope___closed__3;
lean_object* l_Lean_Elab_Command_elabEvalUnsafe___lambda__6___closed__1;
lean_object* l_Lean_Meta_instantiateMVars___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_Lean_Elab_Command___instance__1___closed__4;
+extern lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__8;
lean_object* l_Lean_Elab_Command_State_messages___default;
lean_object* l_Lean_Elab_Command_Scope_inhabited;
lean_object* l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
@@ -215,6 +216,7 @@ lean_object* l___private_Lean_Elab_Command_0__Lean_Elab_Command_addNamespace___c
lean_object* l_Lean_Elab_Command_elabSynth___closed__2;
lean_object* l_Lean_Elab_Command_modifyScope___at_Lean_Elab_Command_elabVariables___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_elabEvalUnsafe___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*);
+extern lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__1___closed__1;
lean_object* l_Lean_Elab_Command_elabUniverses___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_elabEvalUnsafe___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_nat_add(lean_object*, lean_object*);
@@ -275,7 +277,6 @@ lean_object* l_Lean_Elab_Command_elabEvalUnsafe_match__4___rarg(lean_object*, le
extern lean_object* l_Lean_Elab_mkDeclName___rarg___closed__2;
extern lean_object* l_Lean_Exception_inhabited___closed__1;
extern lean_object* l_Lean_Elab_mkDeclName___rarg___lambda__1___closed__3;
-extern lean_object* l_Lean_Elab_Term_State_inhabited___closed__1;
lean_object* lean_st_ref_take(lean_object*, lean_object*);
lean_object* l_List_foldl___main___at_Lean_Elab_addMacroStack___spec__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_getOptionDecl(lean_object*, lean_object*);
@@ -525,7 +526,6 @@ lean_object* l___private_Lean_Elab_Command_0__Lean_Elab_Command_checkEndHeader_m
lean_object* l___regBuiltin_Lean_Elab_Command_elabCheckFailure___closed__3;
lean_object* l_Std_PersistentArray_push___rarg(lean_object*, lean_object*);
lean_object* l_List_drop___main___rarg(lean_object*, lean_object*);
-extern lean_object* l___private_Lean_Util_PPExt_1__registerOptions___closed__8;
lean_object* l_Lean_Elab_Command_modifyScope___at_Lean_Elab_Command_addUnivLevel___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_elabExport___closed__2;
lean_object* l_Lean_Elab_Command_Lean_Elab_Command___instance__7___closed__1;
@@ -623,7 +623,6 @@ lean_object* l_Array_iterateMAux___main___at___private_Lean_Elab_Command_0__Lean
lean_object* l_Lean_Elab_Command_liftCoreM(lean_object*);
uint8_t l_Lean_Syntax_isNone(lean_object*);
lean_object* l_Lean_setEnv___at_Lean_Elab_Term_declareTacticSyntax___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-extern lean_object* l_Lean_TraceState_Inhabited___closed__1;
lean_object* l_Lean_Elab_Command_mkCommandElabAttributeUnsafe(lean_object*);
lean_object* l_Lean_Elab_Command_expandInCmd___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Elab_Command_elabNamespace(lean_object*);
@@ -774,6 +773,7 @@ lean_object* l_Lean_Elab_Command_Lean_Elab_Command___instance__8___closed__3;
lean_object* l___private_Init_Util_2__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_CommandElabM_MonadQuotation;
lean_object* l_Lean_Elab_log___at_Lean_Elab_Command_withLogging___spec__3(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*);
+extern lean_object* l_Lean_TraceState_Lean_Util_Trace___instance__2___closed__1;
lean_object* l___regBuiltin_Lean_Elab_Command_elabSetOption___closed__2;
lean_object* l___regBuiltin_Lean_Elab_Command_elabEnd___closed__3;
lean_object* l_Array_iterateMAux___main___at_Lean_Elab_Command_elabOpenOnly___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -1962,7 +1962,7 @@ x_51 = lean_ctor_get(x_47, 6);
lean_inc(x_51);
lean_dec(x_47);
x_52 = l_Lean_Unhygienic_run___rarg___closed__1;
-x_53 = l_Lean_TraceState_Inhabited___closed__1;
+x_53 = l_Lean_TraceState_Lean_Util_Trace___instance__2___closed__1;
x_54 = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(x_54, 0, x_50);
lean_ctor_set(x_54, 1, x_52);
@@ -7197,7 +7197,7 @@ lean_inc(x_12);
x_13 = l___private_Lean_Elab_Command_0__Lean_Elab_Command_mkTermContext(x_3, x_7, x_1);
x_14 = l___private_Lean_Elab_Command_0__Lean_Elab_Command_mkCoreContext(x_3, x_7);
lean_dec(x_7);
-x_15 = l_Lean_TraceState_Inhabited___closed__1;
+x_15 = l_Lean_TraceState_Lean_Util_Trace___instance__2___closed__1;
x_16 = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(x_16, 0, x_9);
lean_ctor_set(x_16, 1, x_11);
@@ -7216,7 +7216,7 @@ lean_inc(x_72);
x_73 = lean_ctor_get(x_71, 1);
lean_inc(x_73);
lean_dec(x_71);
-x_74 = l_Lean_Elab_Term_State_inhabited___closed__1;
+x_74 = l_Lean_Elab_Term_Lean_Elab_Term___instance__1___closed__1;
x_75 = lean_st_mk_ref(x_74, x_73);
x_76 = lean_ctor_get(x_75, 0);
lean_inc(x_76);
@@ -18649,7 +18649,7 @@ else
{
lean_object* x_25; lean_object* x_26;
lean_dec(x_9);
-x_25 = l___private_Lean_Util_PPExt_1__registerOptions___closed__8;
+x_25 = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__8;
x_26 = l_Lean_Elab_Command_setOption(x_7, x_25, x_2, x_3, x_4);
return x_26;
}
diff --git a/stage0/stdlib/Lean/Elab/DefView.c b/stage0/stdlib/Lean/Elab/DefView.c
index 023a71284a..f8365c07b2 100644
--- a/stage0/stdlib/Lean/Elab/DefView.c
+++ b/stage0/stdlib/Lean/Elab/DefView.c
@@ -32,6 +32,7 @@ lean_object* lean_st_ref_get(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_mkDefViewOfInstance___closed__1;
lean_object* l_Lean_mkIdentFrom(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_mkDefViewOfInstance___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__14;
lean_object* lean_array_push(lean_object*, lean_object*);
lean_object* l_Lean_Elab_DefKind_isTheorem_match__1___rarg___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_mkDefViewOfAbbrev___closed__1;
@@ -86,7 +87,6 @@ lean_object* l_Lean_addMacroScope(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_mkDefViewOfExample_match__1___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Elab_DefKind_isTheorem_match__1(lean_object*);
lean_object* l_Lean_mkAtomFrom(lean_object*, lean_object*);
-extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__14;
lean_object* l_Lean_Elab_Command_mkDefViewOfTheorem_match__1(lean_object*);
lean_object* l_Lean_Elab_Command_mkDefViewOfInstance_match__2(lean_object*);
lean_object* l_Lean_Elab_Command_getCurrMacroScope(lean_object*, lean_object*, lean_object*);
@@ -904,7 +904,7 @@ lean_ctor_set(x_25, 2, x_21);
lean_ctor_set(x_25, 3, x_24);
x_26 = l_Array_empty___closed__1;
x_27 = lean_array_push(x_26, x_25);
-x_28 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__14;
+x_28 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__14;
x_29 = lean_array_push(x_27, x_28);
x_30 = l_Lean_mkAppStx___closed__8;
x_31 = lean_alloc_ctor(1, 2, 0);
diff --git a/stage0/stdlib/Lean/Elab/Do.c b/stage0/stdlib/Lean/Elab/Do.c
index be67d59c91..594b9ea98b 100644
--- a/stage0/stdlib/Lean/Elab/Do.c
+++ b/stage0/stdlib/Lean/Elab/Do.c
@@ -67,6 +67,7 @@ lean_object* l_Lean_Elab_Term_Do_ToTerm_continueToTermCore___closed__13;
lean_object* l_Lean_Elab_Term_Do_ToTerm_returnToTermCore_match__1___rarg(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_Do_mkFreshJP___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_Do_ToTerm_returnToTermCore___closed__23;
+extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_doTryToCode___lambda__4___closed__3;
lean_object* l_Lean_Elab_Term_Do_ToTerm_seqToTermCore___closed__13;
lean_object* lean_mk_empty_array_with_capacity(lean_object*);
@@ -159,6 +160,7 @@ lean_object* l___private_Lean_Elab_Do_0__Lean_Elab_Term_getDoSeq___boxed(lean_ob
lean_object* l_Array_umapMAux___main___at_Lean_Elab_Term_Do_mkJmp___spec__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_Do_concat___closed__2;
extern lean_object* l_Array_empty___closed__1;
+extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__18;
lean_object* l_Array_anyRangeMAux___main___at_Lean_Elab_Term_Do_ToCodeBlock_tryCatchPred___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_Do_mkJmp___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Do_0__Lean_Elab_Term_Do_mkDoIfView___boxed(lean_object*, lean_object*, lean_object*);
@@ -203,6 +205,7 @@ lean_object* l_Lean_Elab_Term_Do_concat___boxed(lean_object*, lean_object*, lean
extern lean_object* l_Lean_Elab_Term_expandFunBinders_loop___closed__6;
lean_object* l_Lean_Elab_Term_Do_ToTerm_breakToTermCore___closed__5;
lean_object* l_Lean_Elab_Term_Do_ToTerm_returnToTermCore___closed__27;
+extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__14;
lean_object* l_Lean_Elab_Term_Do_Code_inhabited;
lean_object* l___private_Lean_Elab_Do_0__Lean_Elab_Term_extractBind(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_doSeqToCode_match__4(lean_object*);
@@ -296,6 +299,7 @@ lean_object* l_Lean_Elab_Term_Do_ToTerm_actionTerminalToTerm(lean_object*, lean_
extern lean_object* l_Lean_Elab_Term_Quotation_stxQuot_expand___closed__30;
lean_object* l_Lean_Elab_Term_Do_pullExitPointsAux___lambda__1___closed__2;
lean_object* l_Array_iterateMAux___main___at_Lean_Elab_Term_Do_ToCodeBlock_doTryToCode___spec__2___closed__15;
+extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__13;
lean_object* l___private_Lean_Elab_Do_0__Lean_Elab_Term_hasLiftMethod___closed__2;
lean_object* l_Lean_Elab_Term_Do_eraseOptVar(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_doTryToCode_match__1___rarg(lean_object*, lean_object*, lean_object*);
@@ -319,10 +323,8 @@ lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_doTryToCode___lambda__1(lean_object
lean_object* l___private_Lean_Elab_Do_0__Lean_Elab_Term_hasLiftMethod___closed__1;
lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_checkReassignable_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_Elab_Term_Do_eraseVars___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_3__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_Do_mkAuxDeclFor___rarg___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_Do_CodeBlocl_toMessageData_loop___closed__1;
-extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__16;
extern lean_object* l_ULift_HasRepr___rarg___closed__2;
lean_object* l_Lean_Elab_Term_Do_ToTerm_matchNestedTermResult___closed__7;
lean_object* l_Lean_Elab_Term_Do_ToTerm_returnToTermCore___closed__7;
@@ -376,7 +378,6 @@ lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_doReturnToCode(lean_object*, lean_o
lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_doReassignArrowToCode___closed__2;
lean_object* l_Lean_Elab_Term_Do_ToTerm_declToTerm(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_st_ref_take(lean_object*, lean_object*);
-extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_doTryToCode___lambda__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*);
extern lean_object* l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__22;
lean_object* l_Lean_Elab_Term_Do_ToTerm_continueToTermCore___closed__1;
@@ -435,6 +436,7 @@ uint8_t l_Lean_Elab_Term_Do_hasExitPoint(lean_object*);
lean_object* l_Lean_Elab_Term_Do_ToTerm_continueToTerm(lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Elab_Term_Do_hasReturn(lean_object*);
lean_object* l_Lean_Elab_Term_Do_ToTerm_returnToTermCore___closed__29;
+extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
lean_object* l_Lean_Elab_Term_Do_hasBreakContinue_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_replaceRef(lean_object*, lean_object*);
lean_object* lean_array_get(lean_object*, lean_object*, lean_object*);
@@ -603,6 +605,7 @@ lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_Do_ToTerm_toTerm___spe
lean_object* l_Array_umapMAux___main___at_Lean_Elab_Term_Do_mkMatch___spec__2(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_Term_Do_ToTerm_mkIte(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_Do_getLetPatDeclVars_match__1(lean_object*);
+extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
lean_object* l_Array_iterateMAux___main___at_Lean_Elab_Term_Do_CodeBlocl_toMessageData_loop___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at_Array_append___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_checkReassignable(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -627,7 +630,6 @@ lean_object* l_Lean_addMacroScope(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_Do_getDoLetArrowVars___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__13;
lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_Do_concat___spec__1___rarg(lean_object*);
-extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__13;
lean_object* l_Lean_Elab_Term_Do_ToTerm_returnToTermCore___closed__32;
lean_object* l_Lean_Elab_Term_Do_ToTerm_returnToTermCore___closed__10;
lean_object* l_Array_umapMAux___main___at_Lean_Elab_Term_Do_ToCodeBlock_doTryToCode___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -643,7 +645,6 @@ lean_object* l___private_Init_Data_Array_Basic_3__iterateRevMAux___main___at___p
lean_object* l_Lean_Elab_Term_Do_ToTerm_matchNestedTermResult___closed__3;
uint8_t l_Lean_Elab_Term_Do_hasExitPointPred_loop___at_Lean_Elab_Term_Do_hasTerminalAction___spec__1(lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_Elab_Term_Do_ToCodeBlock_doTryToCode___spec__2___closed__1;
-extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__12;
lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_doForToCode___closed__7;
lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_doTryToCode___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*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_Do_ToCodeBlock_doUnlessToCode___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -720,8 +721,8 @@ lean_object* l_Lean_Syntax_getSepArgs(lean_object*);
lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_doForToCode___closed__6;
lean_object* l_Lean_Elab_Term_Do_getDoPatDeclVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_Do_ToTerm_matchNestedTermResult___closed__15;
-extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__14;
lean_object* l_Lean_Elab_Term_Do_ToTerm_matchNestedTermResult___closed__30;
+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___private_Lean_Elab_Do_0__Lean_Elab_Term_getDoSeq(lean_object*);
lean_object* l_Lean_Elab_Term_Do_mkIte(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_Term_Do_CodeBlocl_toMessageData_loop___closed__10;
@@ -807,7 +808,6 @@ lean_object* l_Lean_Elab_Term_Do_concat_match__2(lean_object*);
lean_object* l_Lean_Elab_Term_Do_pullExitPointsAux___lambda__2___closed__1;
lean_object* l_Lean_Elab_Term_Do_Code_inhabited___closed__1;
lean_object* l_Lean_Elab_Term_Do_elabDo___closed__1;
-extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__18;
lean_object* l_Lean_Elab_Term_Do_mkVarDeclCore(lean_object*, lean_object*, lean_object*);
extern lean_object* l___private_Init_Util_1__mkPanicMessage___closed__2;
lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_doForToCode___closed__2;
@@ -836,6 +836,7 @@ lean_object* l_Lean_Elab_Term_Do_ToTerm_matchNestedTermResult___closed__28;
lean_object* l_Lean_Elab_Term_Do_ToTerm_continueToTermCore___closed__29;
lean_object* l_Lean_Elab_Term_Do_Alt_inhabited___closed__1;
lean_object* l_Lean_mkStxStrLit(lean_object*, lean_object*);
+extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__12;
lean_object* l_Lean_Elab_Term_Do_ToTerm_matchNestedTermResult___closed__9;
lean_object* l_Array_umapMAux___main___at_Lean_Elab_Term_Do_ToCodeBlock_doTryToCode___spec__1___closed__7;
lean_object* l_Lean_Elab_Term_Do_ToTerm_matchNestedTermResult___closed__40;
@@ -891,7 +892,6 @@ lean_object* l_Lean_Elab_Term_Do_ToTerm_continueToTermCore___closed__5;
lean_object* l_Lean_Elab_Term_Do_mkJmp___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_Elab_Term_Do_extendUpdatedVarsAux_update_match__1___rarg(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_Lean_Elab_Term_Do_ToCodeBlock_doSeqToCode___spec__2___rarg(lean_object*);
-extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
lean_object* l_Lean_Elab_Term_Do_ToTerm_returnToTermCore___closed__45;
extern lean_object* l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
lean_object* l_Lean_Core_mkFreshUserName___at_Lean_Elab_Term_Do_mkFreshJP___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -999,6 +999,7 @@ uint8_t l_Lean_Elab_Term_Do_ToTerm_mkNestedKind(uint8_t, uint8_t, uint8_t);
extern lean_object* l_Lean_Meta_caseValueAux___lambda__3___closed__8;
lean_object* l_Array_iterateMAux___main___at_Lean_Elab_Term_Do_CodeBlocl_toMessageData_loop___spec__2___closed__1;
lean_object* l_unsafeCast(lean_object*, lean_object*, lean_object*);
+extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__16;
lean_object* l_Lean_Elab_Term_Do_ToTerm_matchNestedTermResult___closed__23;
lean_object* l_List_map___main___at_Lean_Elab_Term_Do_CodeBlocl_toMessageData_loop___spec__3(lean_object*);
uint8_t l_List_isEmpty___rarg(lean_object*);
@@ -1071,7 +1072,6 @@ lean_object* l_Lean_Elab_Term_getPatternsVars(lean_object*, lean_object*, lean_o
uint8_t l_Lean_Elab_Term_Do_hasBreakContinue(lean_object*);
lean_object* l_Lean_Elab_Term_Do_mkSimpleJmp___closed__3;
lean_object* l_Lean_Elab_Term_Do_isDoExpr_x3f(lean_object*);
-extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
lean_object* l_Lean_Elab_Term_Do_ToCodeBlock_getTryCatchUpdatedVars___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Do_0__Lean_Elab_Term_extractBind___closed__1;
lean_object* l_Lean_Elab_Term_Do_ToTerm_seqToTermCore___closed__6;
@@ -21356,9 +21356,9 @@ lean_inc(x_30);
x_32 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_32, 0, x_31);
lean_ctor_set(x_32, 1, x_30);
-x_33 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_33 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_34 = lean_array_push(x_33, x_32);
-x_35 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_35 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_36 = lean_array_push(x_34, x_35);
x_37 = l_Lean_Meta_mkPure___rarg___closed__4;
lean_inc(x_4);
@@ -21414,7 +21414,7 @@ x_67 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_67, 0, x_52);
lean_ctor_set(x_67, 1, x_66);
x_68 = lean_array_push(x_36, x_67);
-x_69 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_69 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_70 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_70, 0, x_69);
lean_ctor_set(x_70, 1, x_68);
@@ -21486,9 +21486,9 @@ lean_inc(x_93);
x_95 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_95, 0, x_94);
lean_ctor_set(x_95, 1, x_93);
-x_96 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_96 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_97 = lean_array_push(x_96, x_95);
-x_98 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_98 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_99 = lean_array_push(x_97, x_98);
x_100 = l_Lean_Meta_mkPure___rarg___closed__4;
lean_inc(x_4);
@@ -21544,7 +21544,7 @@ x_130 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_130, 0, x_115);
lean_ctor_set(x_130, 1, x_129);
x_131 = lean_array_push(x_99, x_130);
-x_132 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_132 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_133 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_133, 0, x_132);
lean_ctor_set(x_133, 1, x_131);
@@ -21621,7 +21621,7 @@ x_161 = l_Lean_nullKind___closed__2;
x_162 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_162, 0, x_161);
lean_ctor_set(x_162, 1, x_160);
-x_163 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__13;
+x_163 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__13;
x_164 = lean_array_push(x_163, x_162);
x_165 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_165, 0, x_161);
@@ -21638,9 +21638,9 @@ x_172 = lean_array_push(x_148, x_171);
x_173 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_173, 0, x_161);
lean_ctor_set(x_173, 1, x_172);
-x_174 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_174 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_175 = lean_array_push(x_174, x_173);
-x_176 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_176 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_177 = lean_array_push(x_175, x_176);
x_178 = l_Lean_Meta_mkPure___rarg___closed__4;
lean_inc(x_4);
@@ -21693,7 +21693,7 @@ x_205 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_205, 0, x_193);
lean_ctor_set(x_205, 1, x_204);
x_206 = lean_array_push(x_177, x_205);
-x_207 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_207 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_208 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_208, 0, x_207);
lean_ctor_set(x_208, 1, x_206);
@@ -21753,7 +21753,7 @@ x_234 = l_Lean_nullKind___closed__2;
x_235 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_235, 0, x_234);
lean_ctor_set(x_235, 1, x_233);
-x_236 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__13;
+x_236 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__13;
x_237 = lean_array_push(x_236, x_235);
x_238 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_238, 0, x_234);
@@ -21770,9 +21770,9 @@ x_245 = lean_array_push(x_221, x_244);
x_246 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_246, 0, x_234);
lean_ctor_set(x_246, 1, x_245);
-x_247 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_247 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_248 = lean_array_push(x_247, x_246);
-x_249 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_249 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_250 = lean_array_push(x_248, x_249);
x_251 = l_Lean_Meta_mkPure___rarg___closed__4;
lean_inc(x_4);
@@ -21825,7 +21825,7 @@ x_278 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_278, 0, x_266);
lean_ctor_set(x_278, 1, x_277);
x_279 = lean_array_push(x_250, x_278);
-x_280 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_280 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_281 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_281, 0, x_280);
lean_ctor_set(x_281, 1, x_279);
@@ -21890,7 +21890,7 @@ x_308 = l_Lean_nullKind___closed__2;
x_309 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_309, 0, x_308);
lean_ctor_set(x_309, 1, x_307);
-x_310 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__13;
+x_310 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__13;
x_311 = lean_array_push(x_310, x_309);
x_312 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_312, 0, x_308);
@@ -21907,9 +21907,9 @@ x_319 = lean_array_push(x_295, x_318);
x_320 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_320, 0, x_308);
lean_ctor_set(x_320, 1, x_319);
-x_321 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_321 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_322 = lean_array_push(x_321, x_320);
-x_323 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_323 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_324 = lean_array_push(x_322, x_323);
x_325 = l_Lean_Meta_mkPure___rarg___closed__4;
lean_inc(x_4);
@@ -22004,7 +22004,7 @@ x_374 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_374, 0, x_352);
lean_ctor_set(x_374, 1, x_373);
x_375 = lean_array_push(x_324, x_374);
-x_376 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_376 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_377 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_377, 0, x_376);
lean_ctor_set(x_377, 1, x_375);
@@ -22064,7 +22064,7 @@ x_403 = l_Lean_nullKind___closed__2;
x_404 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_404, 0, x_403);
lean_ctor_set(x_404, 1, x_402);
-x_405 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__13;
+x_405 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__13;
x_406 = lean_array_push(x_405, x_404);
x_407 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_407, 0, x_403);
@@ -22081,9 +22081,9 @@ x_414 = lean_array_push(x_390, x_413);
x_415 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_415, 0, x_403);
lean_ctor_set(x_415, 1, x_414);
-x_416 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_416 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_417 = lean_array_push(x_416, x_415);
-x_418 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_418 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_419 = lean_array_push(x_417, x_418);
x_420 = l_Lean_Meta_mkPure___rarg___closed__4;
lean_inc(x_4);
@@ -22178,7 +22178,7 @@ x_469 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_469, 0, x_447);
lean_ctor_set(x_469, 1, x_468);
x_470 = lean_array_push(x_419, x_469);
-x_471 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_471 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_472 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_472, 0, x_471);
lean_ctor_set(x_472, 1, x_470);
@@ -22253,9 +22253,9 @@ lean_inc(x_499);
x_501 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_501, 0, x_500);
lean_ctor_set(x_501, 1, x_499);
-x_502 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_502 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_503 = lean_array_push(x_502, x_501);
-x_504 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_504 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_505 = lean_array_push(x_503, x_504);
x_506 = l_Lean_Meta_mkPure___rarg___closed__4;
lean_inc(x_4);
@@ -22321,7 +22321,7 @@ x_542 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_542, 0, x_531);
lean_ctor_set(x_542, 1, x_541);
x_543 = lean_array_push(x_505, x_542);
-x_544 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_544 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_545 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_545, 0, x_544);
lean_ctor_set(x_545, 1, x_543);
@@ -22376,9 +22376,9 @@ lean_inc(x_566);
x_568 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_568, 0, x_567);
lean_ctor_set(x_568, 1, x_566);
-x_569 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_569 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_570 = lean_array_push(x_569, x_568);
-x_571 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_571 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_572 = lean_array_push(x_570, x_571);
x_573 = l_Lean_Meta_mkPure___rarg___closed__4;
lean_inc(x_4);
@@ -22444,7 +22444,7 @@ x_609 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_609, 0, x_598);
lean_ctor_set(x_609, 1, x_608);
x_610 = lean_array_push(x_572, x_609);
-x_611 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_611 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_612 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_612, 0, x_611);
lean_ctor_set(x_612, 1, x_610);
@@ -22504,9 +22504,9 @@ lean_inc(x_634);
x_636 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_636, 0, x_635);
lean_ctor_set(x_636, 1, x_634);
-x_637 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_637 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_638 = lean_array_push(x_637, x_636);
-x_639 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_639 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_640 = lean_array_push(x_638, x_639);
x_641 = l_Lean_Meta_mkPure___rarg___closed__4;
lean_inc(x_4);
@@ -22572,7 +22572,7 @@ x_677 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_677, 0, x_666);
lean_ctor_set(x_677, 1, x_676);
x_678 = lean_array_push(x_640, x_677);
-x_679 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_679 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_680 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_680, 0, x_679);
lean_ctor_set(x_680, 1, x_678);
@@ -22627,9 +22627,9 @@ lean_inc(x_701);
x_703 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_703, 0, x_702);
lean_ctor_set(x_703, 1, x_701);
-x_704 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_704 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_705 = lean_array_push(x_704, x_703);
-x_706 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_706 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_707 = lean_array_push(x_705, x_706);
x_708 = l_Lean_Meta_mkPure___rarg___closed__4;
lean_inc(x_4);
@@ -22695,7 +22695,7 @@ x_744 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_744, 0, x_733);
lean_ctor_set(x_744, 1, x_743);
x_745 = lean_array_push(x_707, x_744);
-x_746 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_746 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_747 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_747, 0, x_746);
lean_ctor_set(x_747, 1, x_745);
@@ -22755,9 +22755,9 @@ lean_inc(x_769);
x_771 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_771, 0, x_770);
lean_ctor_set(x_771, 1, x_769);
-x_772 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_772 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_773 = lean_array_push(x_772, x_771);
-x_774 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_774 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_775 = lean_array_push(x_773, x_774);
x_776 = l_Lean_Meta_mkPure___rarg___closed__4;
lean_inc(x_4);
@@ -22823,7 +22823,7 @@ x_812 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_812, 0, x_801);
lean_ctor_set(x_812, 1, x_811);
x_813 = lean_array_push(x_775, x_812);
-x_814 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_814 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_815 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_815, 0, x_814);
lean_ctor_set(x_815, 1, x_813);
@@ -22878,9 +22878,9 @@ lean_inc(x_836);
x_838 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_838, 0, x_837);
lean_ctor_set(x_838, 1, x_836);
-x_839 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_839 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_840 = lean_array_push(x_839, x_838);
-x_841 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_841 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_842 = lean_array_push(x_840, x_841);
x_843 = l_Lean_Meta_mkPure___rarg___closed__4;
lean_inc(x_4);
@@ -22946,7 +22946,7 @@ x_879 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_879, 0, x_868);
lean_ctor_set(x_879, 1, x_878);
x_880 = lean_array_push(x_842, x_879);
-x_881 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_881 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_882 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_882, 0, x_881);
lean_ctor_set(x_882, 1, x_880);
@@ -23047,9 +23047,9 @@ lean_inc(x_914);
x_916 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_916, 0, x_915);
lean_ctor_set(x_916, 1, x_914);
-x_917 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_917 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_918 = lean_array_push(x_917, x_916);
-x_919 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_919 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_920 = lean_array_push(x_918, x_919);
x_921 = l_Lean_Meta_mkPure___rarg___closed__4;
lean_inc(x_4);
@@ -23105,7 +23105,7 @@ x_951 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_951, 0, x_936);
lean_ctor_set(x_951, 1, x_950);
x_952 = lean_array_push(x_920, x_951);
-x_953 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_953 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_954 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_954, 0, x_953);
lean_ctor_set(x_954, 1, x_952);
@@ -23196,7 +23196,7 @@ x_983 = l_Lean_nullKind___closed__2;
x_984 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_984, 0, x_983);
lean_ctor_set(x_984, 1, x_982);
-x_985 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__13;
+x_985 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__13;
x_986 = lean_array_push(x_985, x_984);
x_987 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_987, 0, x_983);
@@ -23213,9 +23213,9 @@ x_994 = lean_array_push(x_970, x_993);
x_995 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_995, 0, x_983);
lean_ctor_set(x_995, 1, x_994);
-x_996 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_996 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_997 = lean_array_push(x_996, x_995);
-x_998 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_998 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_999 = lean_array_push(x_997, x_998);
x_1000 = l_Lean_Meta_mkPure___rarg___closed__4;
lean_inc(x_4);
@@ -23268,7 +23268,7 @@ x_1027 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_1027, 0, x_1015);
lean_ctor_set(x_1027, 1, x_1026);
x_1028 = lean_array_push(x_999, x_1027);
-x_1029 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_1029 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_1030 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_1030, 0, x_1029);
lean_ctor_set(x_1030, 1, x_1028);
@@ -23343,7 +23343,7 @@ x_1058 = l_Lean_nullKind___closed__2;
x_1059 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_1059, 0, x_1058);
lean_ctor_set(x_1059, 1, x_1057);
-x_1060 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__13;
+x_1060 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__13;
x_1061 = lean_array_push(x_1060, x_1059);
x_1062 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_1062, 0, x_1058);
@@ -23360,9 +23360,9 @@ x_1069 = lean_array_push(x_1045, x_1068);
x_1070 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_1070, 0, x_1058);
lean_ctor_set(x_1070, 1, x_1069);
-x_1071 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_1071 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_1072 = lean_array_push(x_1071, x_1070);
-x_1073 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_1073 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_1074 = lean_array_push(x_1072, x_1073);
x_1075 = l_Lean_Meta_mkPure___rarg___closed__4;
lean_inc(x_4);
@@ -23457,7 +23457,7 @@ x_1124 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_1124, 0, x_1102);
lean_ctor_set(x_1124, 1, x_1123);
x_1125 = lean_array_push(x_1074, x_1124);
-x_1126 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_1126 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_1127 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_1127, 0, x_1126);
lean_ctor_set(x_1127, 1, x_1125);
@@ -23542,9 +23542,9 @@ lean_inc(x_1155);
x_1157 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_1157, 0, x_1156);
lean_ctor_set(x_1157, 1, x_1155);
-x_1158 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_1158 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_1159 = lean_array_push(x_1158, x_1157);
-x_1160 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_1160 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_1161 = lean_array_push(x_1159, x_1160);
x_1162 = l_Lean_Meta_mkPure___rarg___closed__4;
lean_inc(x_4);
@@ -23610,7 +23610,7 @@ x_1198 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_1198, 0, x_1187);
lean_ctor_set(x_1198, 1, x_1197);
x_1199 = lean_array_push(x_1161, x_1198);
-x_1200 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_1200 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_1201 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_1201, 0, x_1200);
lean_ctor_set(x_1201, 1, x_1199);
@@ -23680,9 +23680,9 @@ lean_inc(x_1224);
x_1226 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_1226, 0, x_1225);
lean_ctor_set(x_1226, 1, x_1224);
-x_1227 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_1227 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_1228 = lean_array_push(x_1227, x_1226);
-x_1229 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_1229 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_1230 = lean_array_push(x_1228, x_1229);
x_1231 = l_Lean_Meta_mkPure___rarg___closed__4;
lean_inc(x_4);
@@ -23748,7 +23748,7 @@ x_1267 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_1267, 0, x_1256);
lean_ctor_set(x_1267, 1, x_1266);
x_1268 = lean_array_push(x_1230, x_1267);
-x_1269 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_1269 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_1270 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_1270, 0, x_1269);
lean_ctor_set(x_1270, 1, x_1268);
@@ -23818,9 +23818,9 @@ lean_inc(x_1293);
x_1295 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_1295, 0, x_1294);
lean_ctor_set(x_1295, 1, x_1293);
-x_1296 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_1296 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_1297 = lean_array_push(x_1296, x_1295);
-x_1298 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_1298 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_1299 = lean_array_push(x_1297, x_1298);
x_1300 = l_Lean_Meta_mkPure___rarg___closed__4;
lean_inc(x_4);
@@ -23886,7 +23886,7 @@ x_1336 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_1336, 0, x_1325);
lean_ctor_set(x_1336, 1, x_1335);
x_1337 = lean_array_push(x_1299, x_1336);
-x_1338 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_1338 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_1339 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_1339, 0, x_1338);
lean_ctor_set(x_1339, 1, x_1337);
@@ -24130,9 +24130,9 @@ lean_ctor_set(x_18, 3, x_17);
x_19 = l_Array_empty___closed__1;
x_20 = lean_array_push(x_19, x_18);
x_21 = lean_array_push(x_19, x_1);
-x_22 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__18;
+x_22 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__18;
x_23 = lean_array_push(x_22, x_2);
-x_24 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_24 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_25 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_25, 0, x_24);
lean_ctor_set(x_25, 1, x_23);
@@ -24529,12 +24529,12 @@ x_71 = lean_array_push(x_52, x_70);
x_72 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_72, 0, x_61);
lean_ctor_set(x_72, 1, x_71);
-x_73 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_73 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_74 = lean_array_push(x_73, x_72);
-x_75 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_75 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_76 = lean_array_push(x_74, x_75);
x_77 = lean_array_push(x_76, x_2);
-x_78 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_78 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_79 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_79, 0, x_78);
lean_ctor_set(x_79, 1, x_77);
@@ -24754,12 +24754,12 @@ x_167 = lean_array_push(x_148, x_166);
x_168 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_168, 0, x_157);
lean_ctor_set(x_168, 1, x_167);
-x_169 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_169 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_170 = lean_array_push(x_169, x_168);
-x_171 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_171 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_172 = lean_array_push(x_170, x_171);
x_173 = lean_array_push(x_172, x_2);
-x_174 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_174 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_175 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_175, 0, x_174);
lean_ctor_set(x_175, 1, x_173);
@@ -25349,7 +25349,7 @@ lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean
x_17 = lean_ctor_get(x_14, 0);
lean_inc(x_17);
lean_dec(x_14);
-x_18 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__12;
+x_18 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__12;
x_19 = l_Array_umapMAux___main___at_Lean_Elab_Term_Do_ToTerm_mkJoinPointCore___spec__1___lambda__1(x_1, x_17, x_18, x_4, x_5, x_6);
x_20 = lean_ctor_get(x_19, 0);
lean_inc(x_20);
@@ -25457,7 +25457,7 @@ lean_inc(x_19);
lean_dec(x_5);
x_20 = l_Array_empty___closed__1;
x_21 = lean_array_push(x_20, x_19);
-x_22 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__14;
+x_22 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__14;
x_23 = lean_array_push(x_21, x_22);
x_24 = l_Lean_mkAppStx___closed__8;
x_25 = lean_alloc_ctor(1, 2, 0);
@@ -25520,7 +25520,7 @@ lean_inc(x_56);
lean_dec(x_5);
x_57 = l_Array_empty___closed__1;
x_58 = lean_array_push(x_57, x_56);
-x_59 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__14;
+x_59 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__14;
x_60 = lean_array_push(x_58, x_59);
x_61 = l_Lean_mkAppStx___closed__8;
x_62 = lean_alloc_ctor(1, 2, 0);
@@ -25641,7 +25641,7 @@ lean_inc(x_106);
lean_dec(x_5);
x_107 = l_Array_empty___closed__1;
x_108 = lean_array_push(x_107, x_106);
-x_109 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__14;
+x_109 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__14;
x_110 = lean_array_push(x_108, x_109);
x_111 = l_Lean_mkAppStx___closed__8;
x_112 = lean_alloc_ctor(1, 2, 0);
@@ -26130,7 +26130,7 @@ lean_dec(x_16);
x_19 = lean_ctor_get(x_10, 2);
lean_inc(x_19);
lean_dec(x_10);
-x_20 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__16;
+x_20 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__16;
x_21 = l_Lean_mkAtomFrom(x_11, x_20);
lean_dec(x_11);
x_22 = l___private_Lean_Meta_Match_CaseArraySizes_0__Lean_Meta_introArrayLit_loop___closed__3;
@@ -27903,7 +27903,7 @@ x_78 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_78, 0, x_48);
lean_ctor_set(x_78, 1, x_77);
x_79 = lean_array_push(x_29, x_78);
-x_80 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_80 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_81 = lean_array_push(x_79, x_80);
x_82 = lean_array_push(x_29, x_20);
x_83 = lean_array_push(x_82, x_31);
@@ -28128,7 +28128,7 @@ x_210 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_210, 0, x_180);
lean_ctor_set(x_210, 1, x_209);
x_211 = lean_array_push(x_161, x_210);
-x_212 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_212 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_213 = lean_array_push(x_211, x_212);
x_214 = lean_array_push(x_161, x_151);
x_215 = lean_array_push(x_214, x_163);
@@ -28812,7 +28812,7 @@ x_606 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_606, 0, x_571);
lean_ctor_set(x_606, 1, x_605);
x_607 = lean_array_push(x_552, x_606);
-x_608 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_608 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_609 = lean_array_push(x_607, x_608);
x_610 = lean_array_push(x_552, x_543);
x_611 = lean_array_push(x_610, x_554);
@@ -29105,7 +29105,7 @@ x_773 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_773, 0, x_738);
lean_ctor_set(x_773, 1, x_772);
x_774 = lean_array_push(x_719, x_773);
-x_775 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_775 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_776 = lean_array_push(x_774, x_775);
x_777 = lean_array_push(x_719, x_709);
x_778 = lean_array_push(x_777, x_721);
@@ -29787,7 +29787,7 @@ x_1155 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_1155, 0, x_1120);
lean_ctor_set(x_1155, 1, x_1154);
x_1156 = lean_array_push(x_1101, x_1155);
-x_1157 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_1157 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_1158 = lean_array_push(x_1156, x_1157);
x_1159 = lean_array_push(x_1101, x_1092);
x_1160 = lean_array_push(x_1159, x_1103);
@@ -30094,7 +30094,7 @@ x_1328 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_1328, 0, x_1293);
lean_ctor_set(x_1328, 1, x_1327);
x_1329 = lean_array_push(x_1274, x_1328);
-x_1330 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_1330 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_1331 = lean_array_push(x_1329, x_1330);
x_1332 = lean_array_push(x_1274, x_1264);
x_1333 = lean_array_push(x_1332, x_1276);
@@ -30408,7 +30408,7 @@ x_1502 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_1502, 0, x_1467);
lean_ctor_set(x_1502, 1, x_1501);
x_1503 = lean_array_push(x_1448, x_1502);
-x_1504 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_1504 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_1505 = lean_array_push(x_1503, x_1504);
x_1506 = lean_array_push(x_1448, x_1439);
x_1507 = lean_array_push(x_1506, x_1450);
@@ -30701,7 +30701,7 @@ x_1666 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_1666, 0, x_1631);
lean_ctor_set(x_1666, 1, x_1665);
x_1667 = lean_array_push(x_1612, x_1666);
-x_1668 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_1668 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_1669 = lean_array_push(x_1667, x_1668);
x_1670 = lean_array_push(x_1612, x_1602);
x_1671 = lean_array_push(x_1670, x_1614);
@@ -30998,7 +30998,7 @@ x_1831 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_1831, 0, x_1796);
lean_ctor_set(x_1831, 1, x_1830);
x_1832 = lean_array_push(x_1777, x_1831);
-x_1833 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_1833 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_1834 = lean_array_push(x_1832, x_1833);
x_1835 = lean_array_push(x_1777, x_1768);
x_1836 = lean_array_push(x_1835, x_1779);
@@ -31355,7 +31355,7 @@ x_2031 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_2031, 0, x_1996);
lean_ctor_set(x_2031, 1, x_2030);
x_2032 = lean_array_push(x_1977, x_2031);
-x_2033 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_2033 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_2034 = lean_array_push(x_2032, x_2033);
x_2035 = lean_array_push(x_1977, x_1967);
x_2036 = lean_array_push(x_2035, x_1979);
@@ -34004,7 +34004,7 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Array_empty___closed__1;
-x_2 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__14;
+x_2 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__14;
x_3 = lean_array_push(x_1, x_2);
return x_3;
}
@@ -34014,7 +34014,7 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Elab_Term_Do_ToCodeBlock_doLetArrowToCode___closed__1;
-x_2 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_2 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_3 = lean_array_push(x_1, x_2);
return x_3;
}
@@ -34142,7 +34142,7 @@ x_76 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_76, 0, x_61);
lean_ctor_set(x_76, 1, x_75);
x_77 = lean_array_push(x_46, x_76);
-x_78 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_78 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_79 = lean_array_push(x_77, x_78);
x_80 = lean_array_push(x_79, x_31);
x_81 = l_Lean_Elab_Term_Do_ToTerm_matchNestedTermResult___closed__17;
@@ -36529,12 +36529,12 @@ x_63 = l_Lean_nullKind___closed__2;
x_64 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_64, 0, x_63);
lean_ctor_set(x_64, 1, x_62);
-x_65 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_65 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_66 = lean_array_push(x_65, x_64);
-x_67 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_67 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_68 = lean_array_push(x_66, x_67);
x_69 = lean_array_push(x_68, x_35);
-x_70 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_70 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_71 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_71, 0, x_70);
lean_ctor_set(x_71, 1, x_69);
@@ -36883,7 +36883,7 @@ lean_ctor_set(x_270, 0, x_269);
lean_ctor_set(x_270, 1, x_268);
x_271 = lean_array_push(x_229, x_270);
x_272 = lean_array_push(x_229, x_13);
-x_273 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__13;
+x_273 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__13;
lean_inc(x_36);
x_274 = lean_array_push(x_273, x_36);
x_275 = lean_alloc_ctor(1, 2, 0);
@@ -36907,12 +36907,12 @@ x_284 = lean_array_push(x_272, x_283);
x_285 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_285, 0, x_256);
lean_ctor_set(x_285, 1, x_284);
-x_286 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_286 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_287 = lean_array_push(x_286, x_285);
-x_288 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_288 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_289 = lean_array_push(x_287, x_288);
x_290 = lean_array_push(x_289, x_35);
-x_291 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_291 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_292 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_292, 0, x_291);
lean_ctor_set(x_292, 1, x_290);
@@ -38790,12 +38790,12 @@ x_48 = l_Lean_nullKind___closed__2;
x_49 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_49, 0, x_48);
lean_ctor_set(x_49, 1, x_47);
-x_50 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_50 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_51 = lean_array_push(x_50, x_49);
-x_52 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_52 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_53 = lean_array_push(x_51, x_52);
x_54 = lean_array_push(x_53, x_25);
-x_55 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_55 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_56 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_56, 0, x_55);
lean_ctor_set(x_56, 1, x_54);
@@ -38864,12 +38864,12 @@ x_90 = l_Lean_nullKind___closed__2;
x_91 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_91, 0, x_90);
lean_ctor_set(x_91, 1, x_89);
-x_92 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_92 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_93 = lean_array_push(x_92, x_91);
-x_94 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_94 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_95 = lean_array_push(x_93, x_94);
x_96 = lean_array_push(x_95, x_25);
-x_97 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_97 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_98 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_98, 0, x_97);
lean_ctor_set(x_98, 1, x_96);
@@ -45031,243 +45031,226 @@ lean_inc(x_1);
x_19 = l_Lean_Elab_Term_Do_ToCodeBlock_run(x_1, x_17, x_3, x_4, x_5, x_6, x_7, x_8, x_18);
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_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; 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; uint8_t x_86; lean_object* x_87;
+lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; 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; 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; uint8_t x_90; lean_object* x_91;
x_20 = lean_ctor_get(x_19, 0);
lean_inc(x_20);
x_21 = lean_ctor_get(x_19, 1);
lean_inc(x_21);
lean_dec(x_19);
-x_67 = lean_ctor_get(x_20, 0);
-lean_inc(x_67);
-lean_dec(x_20);
-x_68 = lean_st_ref_get(x_8, x_21);
-x_69 = lean_ctor_get(x_68, 0);
-lean_inc(x_69);
-x_70 = lean_ctor_get(x_68, 1);
-lean_inc(x_70);
-lean_dec(x_68);
-x_71 = lean_ctor_get(x_69, 0);
+x_71 = lean_ctor_get(x_20, 0);
lean_inc(x_71);
-lean_dec(x_69);
-x_72 = l_Lean_Elab_Term_getCurrMacroScope(x_3, x_4, x_5, x_6, x_7, x_8, x_70);
+lean_dec(x_20);
+x_72 = lean_st_ref_get(x_8, x_21);
x_73 = lean_ctor_get(x_72, 0);
lean_inc(x_73);
x_74 = lean_ctor_get(x_72, 1);
lean_inc(x_74);
lean_dec(x_72);
-x_75 = lean_ctor_get(x_7, 1);
+x_75 = lean_ctor_get(x_73, 0);
lean_inc(x_75);
-x_76 = lean_ctor_get(x_7, 2);
-lean_inc(x_76);
-x_77 = lean_st_ref_get(x_8, x_74);
-x_78 = lean_ctor_get(x_77, 0);
+lean_dec(x_73);
+x_76 = l_Lean_Elab_Term_getCurrMacroScope(x_3, x_4, x_5, x_6, x_7, x_8, x_74);
+x_77 = lean_ctor_get(x_76, 0);
+lean_inc(x_77);
+x_78 = lean_ctor_get(x_76, 1);
lean_inc(x_78);
-x_79 = lean_ctor_get(x_77, 1);
+lean_dec(x_76);
+x_79 = lean_ctor_get(x_7, 1);
lean_inc(x_79);
-lean_dec(x_77);
-x_80 = lean_ctor_get(x_78, 1);
+x_80 = lean_ctor_get(x_7, 2);
lean_inc(x_80);
-lean_dec(x_78);
-lean_inc(x_71);
-x_81 = lean_alloc_closure((void*)(l___private_Lean_Elab_Util_0__Lean_Elab_expandMacro_x3f___boxed), 4, 1);
-lean_closure_set(x_81, 0, x_71);
-x_82 = x_81;
-x_83 = lean_environment_main_module(x_71);
-x_84 = lean_alloc_ctor(0, 5, 0);
-lean_ctor_set(x_84, 0, x_82);
-lean_ctor_set(x_84, 1, x_83);
-lean_ctor_set(x_84, 2, x_73);
-lean_ctor_set(x_84, 3, x_75);
-lean_ctor_set(x_84, 4, x_76);
-x_85 = l_Array_empty___closed__1;
-x_86 = 0;
-x_87 = l_Lean_Elab_Term_Do_ToTerm_run(x_67, x_17, x_85, x_86, x_84, x_80);
-if (lean_obj_tag(x_87) == 0)
+x_81 = lean_st_ref_get(x_8, x_78);
+x_82 = lean_ctor_get(x_81, 0);
+lean_inc(x_82);
+x_83 = lean_ctor_get(x_81, 1);
+lean_inc(x_83);
+lean_dec(x_81);
+x_84 = lean_ctor_get(x_82, 1);
+lean_inc(x_84);
+lean_dec(x_82);
+lean_inc(x_75);
+x_85 = lean_alloc_closure((void*)(l___private_Lean_Elab_Util_0__Lean_Elab_expandMacro_x3f___boxed), 4, 1);
+lean_closure_set(x_85, 0, x_75);
+x_86 = x_85;
+x_87 = lean_environment_main_module(x_75);
+x_88 = lean_alloc_ctor(0, 5, 0);
+lean_ctor_set(x_88, 0, x_86);
+lean_ctor_set(x_88, 1, x_87);
+lean_ctor_set(x_88, 2, x_77);
+lean_ctor_set(x_88, 3, x_79);
+lean_ctor_set(x_88, 4, x_80);
+x_89 = l_Array_empty___closed__1;
+x_90 = 0;
+x_91 = l_Lean_Elab_Term_Do_ToTerm_run(x_71, x_17, x_89, x_90, x_88, x_84);
+if (lean_obj_tag(x_91) == 0)
{
-lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; uint8_t x_93;
-x_88 = lean_ctor_get(x_87, 0);
-lean_inc(x_88);
-x_89 = lean_ctor_get(x_87, 1);
-lean_inc(x_89);
-lean_dec(x_87);
-x_90 = lean_st_ref_take(x_8, x_79);
-x_91 = lean_ctor_get(x_90, 0);
-lean_inc(x_91);
-x_92 = lean_ctor_get(x_90, 1);
+lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; uint8_t x_97;
+x_92 = lean_ctor_get(x_91, 0);
lean_inc(x_92);
-lean_dec(x_90);
-x_93 = !lean_is_exclusive(x_91);
-if (x_93 == 0)
-{
-lean_object* x_94; lean_object* x_95; lean_object* x_96;
-x_94 = lean_ctor_get(x_91, 1);
-lean_dec(x_94);
-lean_ctor_set(x_91, 1, x_89);
-x_95 = lean_st_ref_set(x_8, x_91, x_92);
-x_96 = lean_ctor_get(x_95, 1);
-lean_inc(x_96);
-lean_dec(x_95);
-x_22 = x_88;
-x_23 = x_96;
-goto block_66;
-}
-else
-{
-lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102;
-x_97 = lean_ctor_get(x_91, 0);
-x_98 = lean_ctor_get(x_91, 2);
-x_99 = lean_ctor_get(x_91, 3);
-lean_inc(x_99);
-lean_inc(x_98);
-lean_inc(x_97);
+x_93 = lean_ctor_get(x_91, 1);
+lean_inc(x_93);
lean_dec(x_91);
-x_100 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_100, 0, x_97);
-lean_ctor_set(x_100, 1, x_89);
-lean_ctor_set(x_100, 2, x_98);
-lean_ctor_set(x_100, 3, x_99);
-x_101 = lean_st_ref_set(x_8, x_100, x_92);
-x_102 = lean_ctor_get(x_101, 1);
+x_94 = lean_st_ref_take(x_8, x_83);
+x_95 = lean_ctor_get(x_94, 0);
+lean_inc(x_95);
+x_96 = lean_ctor_get(x_94, 1);
+lean_inc(x_96);
+lean_dec(x_94);
+x_97 = !lean_is_exclusive(x_95);
+if (x_97 == 0)
+{
+lean_object* x_98; lean_object* x_99; lean_object* x_100;
+x_98 = lean_ctor_get(x_95, 1);
+lean_dec(x_98);
+lean_ctor_set(x_95, 1, x_93);
+x_99 = lean_st_ref_set(x_8, x_95, x_96);
+x_100 = lean_ctor_get(x_99, 1);
+lean_inc(x_100);
+lean_dec(x_99);
+x_22 = x_92;
+x_23 = x_100;
+goto block_70;
+}
+else
+{
+lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106;
+x_101 = lean_ctor_get(x_95, 0);
+x_102 = lean_ctor_get(x_95, 2);
+x_103 = lean_ctor_get(x_95, 3);
+lean_inc(x_103);
lean_inc(x_102);
-lean_dec(x_101);
-x_22 = x_88;
-x_23 = x_102;
-goto block_66;
+lean_inc(x_101);
+lean_dec(x_95);
+x_104 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_104, 0, x_101);
+lean_ctor_set(x_104, 1, x_93);
+lean_ctor_set(x_104, 2, x_102);
+lean_ctor_set(x_104, 3, x_103);
+x_105 = lean_st_ref_set(x_8, x_104, x_96);
+x_106 = lean_ctor_get(x_105, 1);
+lean_inc(x_106);
+lean_dec(x_105);
+x_22 = x_92;
+x_23 = x_106;
+goto block_70;
}
}
else
{
-lean_object* x_103;
+lean_object* x_107;
lean_dec(x_15);
lean_dec(x_13);
lean_dec(x_1);
-x_103 = lean_ctor_get(x_87, 0);
-lean_inc(x_103);
-lean_dec(x_87);
-if (lean_obj_tag(x_103) == 0)
+x_107 = lean_ctor_get(x_91, 0);
+lean_inc(x_107);
+lean_dec(x_91);
+if (lean_obj_tag(x_107) == 0)
{
-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_103, 0);
-lean_inc(x_104);
-x_105 = lean_ctor_get(x_103, 1);
-lean_inc(x_105);
-lean_dec(x_103);
-x_106 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_106, 0, x_105);
-x_107 = lean_alloc_ctor(0, 1, 0);
-lean_ctor_set(x_107, 0, x_106);
-x_108 = l_Lean_throwErrorAt___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__1___rarg(x_104, x_107, x_3, x_4, x_5, x_6, x_7, x_8, x_79);
+lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; uint8_t x_113;
+x_108 = lean_ctor_get(x_107, 0);
+lean_inc(x_108);
+x_109 = lean_ctor_get(x_107, 1);
+lean_inc(x_109);
+lean_dec(x_107);
+x_110 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_110, 0, x_109);
+x_111 = lean_alloc_ctor(0, 1, 0);
+lean_ctor_set(x_111, 0, x_110);
+x_112 = l_Lean_throwErrorAt___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__1___rarg(x_108, x_111, x_3, x_4, x_5, x_6, x_7, x_8, x_83);
lean_dec(x_8);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
-lean_dec(x_104);
-x_109 = !lean_is_exclusive(x_108);
-if (x_109 == 0)
-{
-return x_108;
-}
-else
-{
-lean_object* x_110; lean_object* x_111; lean_object* x_112;
-x_110 = lean_ctor_get(x_108, 0);
-x_111 = lean_ctor_get(x_108, 1);
-lean_inc(x_111);
-lean_inc(x_110);
lean_dec(x_108);
-x_112 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_112, 0, x_110);
-lean_ctor_set(x_112, 1, x_111);
+x_113 = !lean_is_exclusive(x_112);
+if (x_113 == 0)
+{
return x_112;
}
+else
+{
+lean_object* x_114; lean_object* x_115; lean_object* x_116;
+x_114 = lean_ctor_get(x_112, 0);
+x_115 = lean_ctor_get(x_112, 1);
+lean_inc(x_115);
+lean_inc(x_114);
+lean_dec(x_112);
+x_116 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_116, 0, x_114);
+lean_ctor_set(x_116, 1, x_115);
+return x_116;
+}
}
else
{
-lean_object* x_113; uint8_t x_114;
+lean_object* x_117; uint8_t x_118;
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
-x_113 = l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__2___rarg(x_79);
-x_114 = !lean_is_exclusive(x_113);
-if (x_114 == 0)
+x_117 = l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__2___rarg(x_83);
+x_118 = !lean_is_exclusive(x_117);
+if (x_118 == 0)
{
-return x_113;
-}
-else
-{
-lean_object* x_115; lean_object* x_116; lean_object* x_117;
-x_115 = lean_ctor_get(x_113, 0);
-x_116 = lean_ctor_get(x_113, 1);
-lean_inc(x_116);
-lean_inc(x_115);
-lean_dec(x_113);
-x_117 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_117, 0, x_115);
-lean_ctor_set(x_117, 1, x_116);
return x_117;
}
-}
-}
-block_66:
-{
-lean_object* x_24; lean_object* x_51; lean_object* x_52; lean_object* x_53; uint8_t x_54;
-x_51 = lean_st_ref_get(x_8, x_23);
-x_52 = lean_ctor_get(x_51, 0);
-lean_inc(x_52);
-x_53 = lean_ctor_get(x_52, 3);
-lean_inc(x_53);
-lean_dec(x_52);
-x_54 = lean_ctor_get_uint8(x_53, sizeof(void*)*1);
-lean_dec(x_53);
-if (x_54 == 0)
-{
-lean_object* x_55;
-x_55 = lean_ctor_get(x_51, 1);
-lean_inc(x_55);
-lean_dec(x_51);
-x_24 = x_55;
-goto block_50;
-}
else
{
-lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; uint8_t x_60;
-x_56 = lean_ctor_get(x_51, 1);
-lean_inc(x_56);
-lean_dec(x_51);
-x_57 = l_Lean_Elab_Term_Do_elabDo___closed__1;
-x_58 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_57, x_3, x_4, x_5, x_6, x_7, x_8, x_56);
+lean_object* x_119; lean_object* x_120; lean_object* x_121;
+x_119 = lean_ctor_get(x_117, 0);
+x_120 = lean_ctor_get(x_117, 1);
+lean_inc(x_120);
+lean_inc(x_119);
+lean_dec(x_117);
+x_121 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_121, 0, x_119);
+lean_ctor_set(x_121, 1, x_120);
+return x_121;
+}
+}
+}
+block_70:
+{
+lean_object* x_24; uint8_t x_51; lean_object* x_52; lean_object* x_58; lean_object* x_59; lean_object* x_60; uint8_t x_61;
+x_58 = lean_st_ref_get(x_8, x_23);
x_59 = lean_ctor_get(x_58, 0);
lean_inc(x_59);
-x_60 = lean_unbox(x_59);
+x_60 = lean_ctor_get(x_59, 3);
+lean_inc(x_60);
lean_dec(x_59);
-if (x_60 == 0)
+x_61 = lean_ctor_get_uint8(x_60, sizeof(void*)*1);
+lean_dec(x_60);
+if (x_61 == 0)
{
-lean_object* x_61;
-x_61 = lean_ctor_get(x_58, 1);
-lean_inc(x_61);
-lean_dec(x_58);
-x_24 = x_61;
-goto block_50;
-}
-else
-{
-lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65;
+lean_object* x_62; uint8_t x_63;
x_62 = lean_ctor_get(x_58, 1);
lean_inc(x_62);
lean_dec(x_58);
-lean_inc(x_22);
-x_63 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_63, 0, x_22);
-x_64 = l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__1(x_57, x_63, x_3, x_4, x_5, x_6, x_7, x_8, x_62);
-x_65 = lean_ctor_get(x_64, 1);
-lean_inc(x_65);
-lean_dec(x_64);
-x_24 = x_65;
-goto block_50;
+x_63 = 0;
+x_51 = x_63;
+x_52 = x_62;
+goto block_57;
}
+else
+{
+lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; uint8_t x_69;
+x_64 = lean_ctor_get(x_58, 1);
+lean_inc(x_64);
+lean_dec(x_58);
+x_65 = l_Lean_Elab_Term_Do_elabDo___closed__1;
+x_66 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_65, x_3, x_4, x_5, x_6, x_7, x_8, x_64);
+x_67 = lean_ctor_get(x_66, 0);
+lean_inc(x_67);
+x_68 = lean_ctor_get(x_66, 1);
+lean_inc(x_68);
+lean_dec(x_66);
+x_69 = lean_unbox(x_67);
+lean_dec(x_67);
+x_51 = x_69;
+x_52 = x_68;
+goto block_57;
}
block_50:
{
@@ -45341,11 +45324,33 @@ x_49 = l_Lean_Elab_Term_elabTermEnsuringType(x_22, x_27, x_48, x_28, x_47, x_4,
return x_49;
}
}
+block_57:
+{
+if (x_51 == 0)
+{
+x_24 = x_52;
+goto block_50;
+}
+else
+{
+lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56;
+lean_inc(x_22);
+x_53 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_53, 0, x_22);
+x_54 = l_Lean_Elab_Term_Do_elabDo___closed__1;
+x_55 = l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__1(x_54, x_53, x_3, x_4, x_5, x_6, x_7, x_8, x_52);
+x_56 = lean_ctor_get(x_55, 1);
+lean_inc(x_56);
+lean_dec(x_55);
+x_24 = x_56;
+goto block_50;
+}
+}
}
}
else
{
-uint8_t x_118;
+uint8_t x_122;
lean_dec(x_17);
lean_dec(x_15);
lean_dec(x_13);
@@ -45356,51 +45361,19 @@ lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_1);
-x_118 = !lean_is_exclusive(x_19);
-if (x_118 == 0)
+x_122 = !lean_is_exclusive(x_19);
+if (x_122 == 0)
{
return x_19;
}
else
{
-lean_object* x_119; lean_object* x_120; lean_object* x_121;
-x_119 = lean_ctor_get(x_19, 0);
-x_120 = lean_ctor_get(x_19, 1);
-lean_inc(x_120);
-lean_inc(x_119);
-lean_dec(x_19);
-x_121 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_121, 0, x_119);
-lean_ctor_set(x_121, 1, x_120);
-return x_121;
-}
-}
-}
-else
-{
-uint8_t x_122;
-lean_dec(x_15);
-lean_dec(x_13);
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_1);
-x_122 = !lean_is_exclusive(x_16);
-if (x_122 == 0)
-{
-return x_16;
-}
-else
-{
lean_object* x_123; lean_object* x_124; lean_object* x_125;
-x_123 = lean_ctor_get(x_16, 0);
-x_124 = lean_ctor_get(x_16, 1);
+x_123 = lean_ctor_get(x_19, 0);
+x_124 = lean_ctor_get(x_19, 1);
lean_inc(x_124);
lean_inc(x_123);
-lean_dec(x_16);
+lean_dec(x_19);
x_125 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_125, 0, x_123);
lean_ctor_set(x_125, 1, x_124);
@@ -45411,6 +45384,8 @@ return x_125;
else
{
uint8_t x_126;
+lean_dec(x_15);
+lean_dec(x_13);
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
@@ -45418,19 +45393,19 @@ lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_1);
-x_126 = !lean_is_exclusive(x_12);
+x_126 = !lean_is_exclusive(x_16);
if (x_126 == 0)
{
-return x_12;
+return x_16;
}
else
{
lean_object* x_127; lean_object* x_128; lean_object* x_129;
-x_127 = lean_ctor_get(x_12, 0);
-x_128 = lean_ctor_get(x_12, 1);
+x_127 = lean_ctor_get(x_16, 0);
+x_128 = lean_ctor_get(x_16, 1);
lean_inc(x_128);
lean_inc(x_127);
-lean_dec(x_12);
+lean_dec(x_16);
x_129 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_129, 0, x_127);
lean_ctor_set(x_129, 1, x_128);
@@ -45447,25 +45422,55 @@ lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
+lean_dec(x_1);
+x_130 = !lean_is_exclusive(x_12);
+if (x_130 == 0)
+{
+return x_12;
+}
+else
+{
+lean_object* x_131; lean_object* x_132; lean_object* x_133;
+x_131 = lean_ctor_get(x_12, 0);
+x_132 = lean_ctor_get(x_12, 1);
+lean_inc(x_132);
+lean_inc(x_131);
+lean_dec(x_12);
+x_133 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_133, 0, x_131);
+lean_ctor_set(x_133, 1, x_132);
+return x_133;
+}
+}
+}
+else
+{
+uint8_t x_134;
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_130 = !lean_is_exclusive(x_10);
-if (x_130 == 0)
+x_134 = !lean_is_exclusive(x_10);
+if (x_134 == 0)
{
return x_10;
}
else
{
-lean_object* x_131; lean_object* x_132; lean_object* x_133;
-x_131 = lean_ctor_get(x_10, 0);
-x_132 = lean_ctor_get(x_10, 1);
-lean_inc(x_132);
-lean_inc(x_131);
+lean_object* x_135; lean_object* x_136; lean_object* x_137;
+x_135 = lean_ctor_get(x_10, 0);
+x_136 = lean_ctor_get(x_10, 1);
+lean_inc(x_136);
+lean_inc(x_135);
lean_dec(x_10);
-x_133 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_133, 0, x_131);
-lean_ctor_set(x_133, 1, x_132);
-return x_133;
+x_137 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_137, 0, x_135);
+lean_ctor_set(x_137, 1, x_136);
+return x_137;
}
}
}
diff --git a/stage0/stdlib/Lean/Elab/Frontend.c b/stage0/stdlib/Lean/Elab/Frontend.c
index 99b584d3cd..b8cfacf901 100644
--- a/stage0/stdlib/Lean/Elab/Frontend.c
+++ b/stage0/stdlib/Lean/Elab/Frontend.c
@@ -17,13 +17,14 @@ lean_object* l_Lean_Elab_runFrontend_match__2___rarg(lean_object*, lean_object*)
lean_object* l_Lean_Elab_Frontend_runCommandElabM_match__1___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Elab_IO_processCommands_match__1___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Parser_parseHeader(lean_object*, lean_object*);
+lean_object* l_Lean_Elab_Frontend_State_commands___default;
lean_object* l_Lean_Elab_Frontend_runCommandElabM___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
-extern lean_object* l_Lean_Parser_ModuleParserState_inhabited___closed__1;
lean_object* l_Lean_Elab_Frontend_runCommandElabM_match__2___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_IO_processCommands(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Frontend_processCommand_match__1___rarg(lean_object*, lean_object*);
lean_object* lean_run_frontend(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_environment_set_main_module(lean_object*, lean_object*);
+extern lean_object* l_Array_empty___closed__1;
lean_object* l_Lean_Elab_Frontend_setCommandState___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Frontend_getCommandState___rarg___boxed(lean_object*, lean_object*);
lean_object* lean_st_ref_get(lean_object*, lean_object*);
@@ -31,6 +32,7 @@ lean_object* l_Lean_Elab_Frontend_runCommandElabM___closed__2;
extern lean_object* l_Std_PersistentArray_empty___closed__1;
lean_object* l_Lean_Elab_Frontend_runCommandElabM___closed__1;
lean_object* l_Lean_Parser_mkInputContext(lean_object*, lean_object*);
+lean_object* lean_array_push(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Frontend_runCommandElabM(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Frontend_processCommand_match__1(lean_object*);
lean_object* l_Lean_Elab_processHeader(lean_object*, lean_object*, lean_object*, lean_object*, uint32_t, lean_object*);
@@ -42,7 +44,7 @@ lean_object* lean_st_ref_take(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Frontend_getInputContext___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Frontend_setParserState___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_mkState(lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_parseCommand___main(lean_object*, lean_object*, lean_object*, lean_object*);
+extern lean_object* l_Lean_Parser_Lean_Parser_Module___instance__1___closed__1;
lean_object* l_Lean_Elab_runFrontend_match__2(lean_object*);
lean_object* lean_st_mk_ref(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Frontend_elabCommandAtFrontend(lean_object*, lean_object*, lean_object*, lean_object*);
@@ -52,6 +54,7 @@ lean_object* l_Lean_Elab_Command_elabCommand(lean_object*, lean_object*, lean_ob
lean_object* l_Lean_Elab_Frontend_setCommandState(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Frontend_processCommand(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Frontend_updateCmdPos___rarg___boxed(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_parseCommand_parse(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Frontend_elabCommandAtFrontend___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Frontend_processCommand___boxed(lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Parser_isExitCommand(lean_object*);
@@ -79,6 +82,14 @@ lean_object* l_Lean_Elab_Frontend_updateCmdPos___rarg(lean_object*, lean_object*
lean_object* l_Lean_Elab_Frontend_processCommands___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Frontend_processCommands(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Frontend_getCommandState___boxed(lean_object*);
+static lean_object* _init_l_Lean_Elab_Frontend_State_commands___default() {
+_start:
+{
+lean_object* x_1;
+x_1 = l_Array_empty___closed__1;
+return x_1;
+}
+}
lean_object* l_Lean_Elab_Frontend_setCommandState(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
@@ -122,36 +133,39 @@ return x_16;
}
else
{
-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_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;
x_17 = lean_ctor_get(x_6, 1);
x_18 = lean_ctor_get(x_6, 2);
+x_19 = lean_ctor_get(x_6, 3);
+lean_inc(x_19);
lean_inc(x_18);
lean_inc(x_17);
lean_dec(x_6);
-x_19 = lean_alloc_ctor(0, 3, 0);
-lean_ctor_set(x_19, 0, x_1);
-lean_ctor_set(x_19, 1, x_17);
-lean_ctor_set(x_19, 2, x_18);
-x_20 = lean_st_ref_set(x_3, x_19, x_7);
-x_21 = lean_ctor_get(x_20, 1);
-lean_inc(x_21);
-if (lean_is_exclusive(x_20)) {
- lean_ctor_release(x_20, 0);
- lean_ctor_release(x_20, 1);
- x_22 = x_20;
+x_20 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_20, 0, x_1);
+lean_ctor_set(x_20, 1, x_17);
+lean_ctor_set(x_20, 2, x_18);
+lean_ctor_set(x_20, 3, x_19);
+x_21 = lean_st_ref_set(x_3, x_20, x_7);
+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_20);
- x_22 = lean_box(0);
+ lean_dec_ref(x_21);
+ x_23 = lean_box(0);
}
-x_23 = lean_box(0);
-if (lean_is_scalar(x_22)) {
- x_24 = lean_alloc_ctor(0, 2, 0);
+x_24 = lean_box(0);
+if (lean_is_scalar(x_23)) {
+ x_25 = lean_alloc_ctor(0, 2, 0);
} else {
- x_24 = x_22;
+ x_25 = x_23;
}
-lean_ctor_set(x_24, 0, x_23);
-lean_ctor_set(x_24, 1, x_21);
-return x_24;
+lean_ctor_set(x_25, 0, x_24);
+lean_ctor_set(x_25, 1, x_22);
+return x_25;
}
}
}
@@ -470,38 +484,41 @@ return x_16;
}
else
{
-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_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;
x_17 = lean_ctor_get(x_4, 0);
x_18 = lean_ctor_get(x_4, 1);
+x_19 = lean_ctor_get(x_4, 3);
+lean_inc(x_19);
lean_inc(x_18);
lean_inc(x_17);
lean_dec(x_4);
-x_19 = lean_ctor_get(x_18, 0);
-lean_inc(x_19);
-x_20 = lean_alloc_ctor(0, 3, 0);
-lean_ctor_set(x_20, 0, x_17);
-lean_ctor_set(x_20, 1, x_18);
-lean_ctor_set(x_20, 2, x_19);
-x_21 = lean_st_ref_set(x_1, x_20, x_5);
-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;
+x_20 = lean_ctor_get(x_18, 0);
+lean_inc(x_20);
+x_21 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_21, 0, x_17);
+lean_ctor_set(x_21, 1, x_18);
+lean_ctor_set(x_21, 2, x_20);
+lean_ctor_set(x_21, 3, x_19);
+x_22 = lean_st_ref_set(x_1, x_21, x_5);
+x_23 = lean_ctor_get(x_22, 1);
+lean_inc(x_23);
+if (lean_is_exclusive(x_22)) {
+ lean_ctor_release(x_22, 0);
+ lean_ctor_release(x_22, 1);
+ x_24 = x_22;
} else {
- lean_dec_ref(x_21);
- x_23 = lean_box(0);
+ lean_dec_ref(x_22);
+ x_24 = lean_box(0);
}
-x_24 = lean_box(0);
-if (lean_is_scalar(x_23)) {
- x_25 = lean_alloc_ctor(0, 2, 0);
+x_25 = lean_box(0);
+if (lean_is_scalar(x_24)) {
+ x_26 = lean_alloc_ctor(0, 2, 0);
} else {
- x_25 = x_23;
+ x_26 = x_24;
}
-lean_ctor_set(x_25, 0, x_24);
-lean_ctor_set(x_25, 1, x_22);
-return x_25;
+lean_ctor_set(x_26, 0, x_25);
+lean_ctor_set(x_26, 1, x_23);
+return x_26;
}
}
}
@@ -694,36 +711,39 @@ return x_16;
}
else
{
-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_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;
x_17 = lean_ctor_get(x_6, 0);
x_18 = lean_ctor_get(x_6, 2);
+x_19 = lean_ctor_get(x_6, 3);
+lean_inc(x_19);
lean_inc(x_18);
lean_inc(x_17);
lean_dec(x_6);
-x_19 = lean_alloc_ctor(0, 3, 0);
-lean_ctor_set(x_19, 0, x_17);
-lean_ctor_set(x_19, 1, x_1);
-lean_ctor_set(x_19, 2, x_18);
-x_20 = lean_st_ref_set(x_3, x_19, x_7);
-x_21 = lean_ctor_get(x_20, 1);
-lean_inc(x_21);
-if (lean_is_exclusive(x_20)) {
- lean_ctor_release(x_20, 0);
- lean_ctor_release(x_20, 1);
- x_22 = x_20;
+x_20 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_20, 0, x_17);
+lean_ctor_set(x_20, 1, x_1);
+lean_ctor_set(x_20, 2, x_18);
+lean_ctor_set(x_20, 3, x_19);
+x_21 = lean_st_ref_set(x_3, x_20, x_7);
+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_20);
- x_22 = lean_box(0);
+ lean_dec_ref(x_21);
+ x_23 = lean_box(0);
}
-x_23 = lean_box(0);
-if (lean_is_scalar(x_22)) {
- x_24 = lean_alloc_ctor(0, 2, 0);
+x_24 = lean_box(0);
+if (lean_is_scalar(x_23)) {
+ x_25 = lean_alloc_ctor(0, 2, 0);
} else {
- x_24 = x_22;
+ x_25 = x_23;
}
-lean_ctor_set(x_24, 0, x_23);
-lean_ctor_set(x_24, 1, x_21);
-return x_24;
+lean_ctor_set(x_25, 0, x_24);
+lean_ctor_set(x_25, 1, x_22);
+return x_25;
}
}
}
@@ -835,24 +855,26 @@ return x_31;
}
else
{
-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_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;
x_32 = lean_ctor_get(x_6, 1);
x_33 = lean_ctor_get(x_6, 2);
+x_34 = lean_ctor_get(x_6, 3);
+lean_inc(x_34);
lean_inc(x_33);
lean_inc(x_32);
lean_dec(x_6);
-x_34 = lean_ctor_get(x_7, 0);
-lean_inc(x_34);
-x_35 = lean_ctor_get(x_7, 2);
+x_35 = lean_ctor_get(x_7, 0);
lean_inc(x_35);
-x_36 = lean_ctor_get(x_7, 3);
+x_36 = lean_ctor_get(x_7, 2);
lean_inc(x_36);
-x_37 = lean_ctor_get(x_7, 4);
+x_37 = lean_ctor_get(x_7, 3);
lean_inc(x_37);
-x_38 = lean_ctor_get(x_7, 5);
+x_38 = lean_ctor_get(x_7, 4);
lean_inc(x_38);
-x_39 = lean_ctor_get(x_7, 6);
+x_39 = lean_ctor_get(x_7, 5);
lean_inc(x_39);
+x_40 = lean_ctor_get(x_7, 6);
+lean_inc(x_40);
if (lean_is_exclusive(x_7)) {
lean_ctor_release(x_7, 0);
lean_ctor_release(x_7, 1);
@@ -861,47 +883,48 @@ if (lean_is_exclusive(x_7)) {
lean_ctor_release(x_7, 4);
lean_ctor_release(x_7, 5);
lean_ctor_release(x_7, 6);
- x_40 = x_7;
+ x_41 = x_7;
} else {
lean_dec_ref(x_7);
- x_40 = lean_box(0);
+ x_41 = lean_box(0);
}
-if (lean_is_scalar(x_40)) {
- x_41 = lean_alloc_ctor(0, 7, 0);
+if (lean_is_scalar(x_41)) {
+ x_42 = lean_alloc_ctor(0, 7, 0);
} else {
- x_41 = x_40;
+ x_42 = x_41;
}
-lean_ctor_set(x_41, 0, x_34);
-lean_ctor_set(x_41, 1, x_1);
-lean_ctor_set(x_41, 2, x_35);
-lean_ctor_set(x_41, 3, x_36);
-lean_ctor_set(x_41, 4, x_37);
-lean_ctor_set(x_41, 5, x_38);
-lean_ctor_set(x_41, 6, x_39);
-x_42 = lean_alloc_ctor(0, 3, 0);
-lean_ctor_set(x_42, 0, x_41);
-lean_ctor_set(x_42, 1, x_32);
-lean_ctor_set(x_42, 2, x_33);
-x_43 = lean_st_ref_set(x_3, x_42, x_8);
-x_44 = lean_ctor_get(x_43, 1);
-lean_inc(x_44);
-if (lean_is_exclusive(x_43)) {
- lean_ctor_release(x_43, 0);
- lean_ctor_release(x_43, 1);
- x_45 = x_43;
+lean_ctor_set(x_42, 0, x_35);
+lean_ctor_set(x_42, 1, x_1);
+lean_ctor_set(x_42, 2, x_36);
+lean_ctor_set(x_42, 3, x_37);
+lean_ctor_set(x_42, 4, x_38);
+lean_ctor_set(x_42, 5, x_39);
+lean_ctor_set(x_42, 6, x_40);
+x_43 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_43, 0, x_42);
+lean_ctor_set(x_43, 1, x_32);
+lean_ctor_set(x_43, 2, x_33);
+lean_ctor_set(x_43, 3, x_34);
+x_44 = lean_st_ref_set(x_3, x_43, x_8);
+x_45 = lean_ctor_get(x_44, 1);
+lean_inc(x_45);
+if (lean_is_exclusive(x_44)) {
+ lean_ctor_release(x_44, 0);
+ lean_ctor_release(x_44, 1);
+ x_46 = x_44;
} else {
- lean_dec_ref(x_43);
- x_45 = lean_box(0);
+ lean_dec_ref(x_44);
+ x_46 = lean_box(0);
}
-x_46 = lean_box(0);
-if (lean_is_scalar(x_45)) {
- x_47 = lean_alloc_ctor(0, 2, 0);
+x_47 = lean_box(0);
+if (lean_is_scalar(x_46)) {
+ x_48 = lean_alloc_ctor(0, 2, 0);
} else {
- x_47 = x_45;
+ x_48 = x_46;
}
-lean_ctor_set(x_47, 0, x_46);
-lean_ctor_set(x_47, 1, x_44);
-return x_47;
+lean_ctor_set(x_48, 0, x_47);
+lean_ctor_set(x_48, 1, x_45);
+return x_48;
}
}
}
@@ -986,7 +1009,7 @@ x_13 = lean_ctor_get(x_7, 1);
lean_inc(x_13);
lean_dec(x_7);
lean_inc(x_1);
-x_14 = l_Lean_Parser_parseCommand___main(x_12, x_1, x_10, x_13);
+x_14 = l_Lean_Parser_parseCommand_parse(x_12, x_1, x_10, x_13);
x_15 = lean_ctor_get(x_14, 1);
lean_inc(x_15);
x_16 = lean_ctor_get(x_14, 0);
@@ -997,195 +1020,348 @@ lean_inc(x_17);
x_18 = lean_ctor_get(x_15, 1);
lean_inc(x_18);
lean_dec(x_15);
-x_19 = l_Lean_Elab_Frontend_setParserState(x_17, x_1, x_2, x_11);
-x_20 = lean_ctor_get(x_19, 1);
+x_19 = lean_st_ref_take(x_2, x_11);
+x_20 = lean_ctor_get(x_19, 0);
lean_inc(x_20);
+x_21 = lean_ctor_get(x_19, 1);
+lean_inc(x_21);
lean_dec(x_19);
-x_21 = l_Lean_Elab_Frontend_setMessages(x_18, x_1, x_2, x_20);
-x_22 = !lean_is_exclusive(x_21);
+x_22 = !lean_is_exclusive(x_20);
if (x_22 == 0)
{
-lean_object* x_23; lean_object* x_24; uint8_t x_25;
-x_23 = lean_ctor_get(x_21, 1);
-x_24 = lean_ctor_get(x_21, 0);
-lean_dec(x_24);
+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; uint8_t x_30;
+x_23 = lean_ctor_get(x_20, 3);
lean_inc(x_16);
-x_25 = l_Lean_Parser_isEOI(x_16);
-if (x_25 == 0)
-{
-uint8_t x_26;
-lean_inc(x_16);
-x_26 = l_Lean_Parser_isExitCommand(x_16);
-if (x_26 == 0)
-{
-lean_object* x_27;
-lean_free_object(x_21);
-x_27 = l_Lean_Elab_Frontend_elabCommandAtFrontend(x_16, x_1, x_2, x_23);
-lean_dec(x_1);
-if (lean_obj_tag(x_27) == 0)
-{
-uint8_t x_28;
-x_28 = !lean_is_exclusive(x_27);
-if (x_28 == 0)
-{
-lean_object* x_29; uint8_t x_30; lean_object* x_31;
-x_29 = lean_ctor_get(x_27, 0);
-lean_dec(x_29);
-x_30 = 0;
-x_31 = lean_box(x_30);
-lean_ctor_set(x_27, 0, x_31);
-return x_27;
-}
-else
-{
-lean_object* x_32; uint8_t x_33; lean_object* x_34; lean_object* x_35;
-x_32 = lean_ctor_get(x_27, 1);
-lean_inc(x_32);
+x_24 = lean_array_push(x_23, x_16);
+lean_ctor_set(x_20, 3, x_24);
+x_25 = lean_st_ref_set(x_2, x_20, x_21);
+x_26 = lean_ctor_get(x_25, 1);
+lean_inc(x_26);
+lean_dec(x_25);
+x_27 = l_Lean_Elab_Frontend_setParserState(x_17, x_1, x_2, x_26);
+x_28 = lean_ctor_get(x_27, 1);
+lean_inc(x_28);
lean_dec(x_27);
-x_33 = 0;
-x_34 = lean_box(x_33);
-x_35 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_35, 0, x_34);
-lean_ctor_set(x_35, 1, x_32);
-return x_35;
-}
-}
-else
+x_29 = l_Lean_Elab_Frontend_setMessages(x_18, x_1, x_2, x_28);
+x_30 = !lean_is_exclusive(x_29);
+if (x_30 == 0)
+{
+lean_object* x_31; lean_object* x_32; uint8_t x_33;
+x_31 = lean_ctor_get(x_29, 1);
+x_32 = lean_ctor_get(x_29, 0);
+lean_dec(x_32);
+lean_inc(x_16);
+x_33 = l_Lean_Parser_isEOI(x_16);
+if (x_33 == 0)
+{
+uint8_t x_34;
+lean_inc(x_16);
+x_34 = l_Lean_Parser_isExitCommand(x_16);
+if (x_34 == 0)
+{
+lean_object* x_35;
+lean_free_object(x_29);
+x_35 = l_Lean_Elab_Frontend_elabCommandAtFrontend(x_16, x_1, x_2, x_31);
+lean_dec(x_1);
+if (lean_obj_tag(x_35) == 0)
{
uint8_t x_36;
-x_36 = !lean_is_exclusive(x_27);
+x_36 = !lean_is_exclusive(x_35);
if (x_36 == 0)
{
-return x_27;
+lean_object* x_37; uint8_t x_38; lean_object* x_39;
+x_37 = lean_ctor_get(x_35, 0);
+lean_dec(x_37);
+x_38 = 0;
+x_39 = lean_box(x_38);
+lean_ctor_set(x_35, 0, x_39);
+return x_35;
}
else
{
-lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_37 = lean_ctor_get(x_27, 0);
-x_38 = lean_ctor_get(x_27, 1);
-lean_inc(x_38);
-lean_inc(x_37);
-lean_dec(x_27);
-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_object* x_40; uint8_t x_41; lean_object* x_42; lean_object* x_43;
+x_40 = lean_ctor_get(x_35, 1);
+lean_inc(x_40);
+lean_dec(x_35);
+x_41 = 0;
+x_42 = lean_box(x_41);
+x_43 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_43, 0, x_42);
+lean_ctor_set(x_43, 1, x_40);
+return x_43;
+}
+}
+else
+{
+uint8_t x_44;
+x_44 = !lean_is_exclusive(x_35);
+if (x_44 == 0)
+{
+return x_35;
+}
+else
+{
+lean_object* x_45; lean_object* x_46; lean_object* x_47;
+x_45 = lean_ctor_get(x_35, 0);
+x_46 = lean_ctor_get(x_35, 1);
+lean_inc(x_46);
+lean_inc(x_45);
+lean_dec(x_35);
+x_47 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_47, 0, x_45);
+lean_ctor_set(x_47, 1, x_46);
+return x_47;
}
}
}
else
{
-uint8_t x_40; lean_object* x_41;
+uint8_t x_48; lean_object* x_49;
lean_dec(x_16);
lean_dec(x_1);
-x_40 = 1;
-x_41 = lean_box(x_40);
-lean_ctor_set(x_21, 0, x_41);
-return x_21;
+x_48 = 1;
+x_49 = lean_box(x_48);
+lean_ctor_set(x_29, 0, x_49);
+return x_29;
}
}
else
{
-uint8_t x_42; lean_object* x_43;
+uint8_t x_50; lean_object* x_51;
lean_dec(x_16);
lean_dec(x_1);
-x_42 = 1;
-x_43 = lean_box(x_42);
-lean_ctor_set(x_21, 0, x_43);
-return x_21;
-}
-}
-else
-{
-lean_object* x_44; uint8_t x_45;
-x_44 = lean_ctor_get(x_21, 1);
-lean_inc(x_44);
-lean_dec(x_21);
-lean_inc(x_16);
-x_45 = l_Lean_Parser_isEOI(x_16);
-if (x_45 == 0)
-{
-uint8_t x_46;
-lean_inc(x_16);
-x_46 = l_Lean_Parser_isExitCommand(x_16);
-if (x_46 == 0)
-{
-lean_object* x_47;
-x_47 = l_Lean_Elab_Frontend_elabCommandAtFrontend(x_16, x_1, x_2, x_44);
-lean_dec(x_1);
-if (lean_obj_tag(x_47) == 0)
-{
-lean_object* x_48; lean_object* x_49; uint8_t x_50; lean_object* x_51; lean_object* x_52;
-x_48 = lean_ctor_get(x_47, 1);
-lean_inc(x_48);
-if (lean_is_exclusive(x_47)) {
- lean_ctor_release(x_47, 0);
- lean_ctor_release(x_47, 1);
- x_49 = x_47;
-} else {
- lean_dec_ref(x_47);
- x_49 = lean_box(0);
-}
-x_50 = 0;
+x_50 = 1;
x_51 = lean_box(x_50);
-if (lean_is_scalar(x_49)) {
- x_52 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_52 = x_49;
-}
-lean_ctor_set(x_52, 0, x_51);
-lean_ctor_set(x_52, 1, x_48);
-return x_52;
-}
-else
-{
-lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56;
-x_53 = lean_ctor_get(x_47, 0);
-lean_inc(x_53);
-x_54 = lean_ctor_get(x_47, 1);
-lean_inc(x_54);
-if (lean_is_exclusive(x_47)) {
- lean_ctor_release(x_47, 0);
- lean_ctor_release(x_47, 1);
- x_55 = x_47;
-} else {
- lean_dec_ref(x_47);
- x_55 = lean_box(0);
-}
-if (lean_is_scalar(x_55)) {
- x_56 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_56 = x_55;
-}
-lean_ctor_set(x_56, 0, x_53);
-lean_ctor_set(x_56, 1, x_54);
-return x_56;
+lean_ctor_set(x_29, 0, x_51);
+return x_29;
}
}
else
{
-uint8_t x_57; lean_object* x_58; lean_object* x_59;
+lean_object* x_52; uint8_t x_53;
+x_52 = lean_ctor_get(x_29, 1);
+lean_inc(x_52);
+lean_dec(x_29);
+lean_inc(x_16);
+x_53 = l_Lean_Parser_isEOI(x_16);
+if (x_53 == 0)
+{
+uint8_t x_54;
+lean_inc(x_16);
+x_54 = l_Lean_Parser_isExitCommand(x_16);
+if (x_54 == 0)
+{
+lean_object* x_55;
+x_55 = l_Lean_Elab_Frontend_elabCommandAtFrontend(x_16, x_1, x_2, x_52);
+lean_dec(x_1);
+if (lean_obj_tag(x_55) == 0)
+{
+lean_object* x_56; lean_object* x_57; uint8_t x_58; lean_object* x_59; lean_object* x_60;
+x_56 = lean_ctor_get(x_55, 1);
+lean_inc(x_56);
+if (lean_is_exclusive(x_55)) {
+ lean_ctor_release(x_55, 0);
+ lean_ctor_release(x_55, 1);
+ x_57 = x_55;
+} else {
+ lean_dec_ref(x_55);
+ x_57 = lean_box(0);
+}
+x_58 = 0;
+x_59 = lean_box(x_58);
+if (lean_is_scalar(x_57)) {
+ x_60 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_60 = x_57;
+}
+lean_ctor_set(x_60, 0, x_59);
+lean_ctor_set(x_60, 1, x_56);
+return x_60;
+}
+else
+{
+lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64;
+x_61 = lean_ctor_get(x_55, 0);
+lean_inc(x_61);
+x_62 = lean_ctor_get(x_55, 1);
+lean_inc(x_62);
+if (lean_is_exclusive(x_55)) {
+ lean_ctor_release(x_55, 0);
+ lean_ctor_release(x_55, 1);
+ x_63 = x_55;
+} else {
+ lean_dec_ref(x_55);
+ x_63 = lean_box(0);
+}
+if (lean_is_scalar(x_63)) {
+ x_64 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_64 = x_63;
+}
+lean_ctor_set(x_64, 0, x_61);
+lean_ctor_set(x_64, 1, x_62);
+return x_64;
+}
+}
+else
+{
+uint8_t x_65; lean_object* x_66; lean_object* x_67;
lean_dec(x_16);
lean_dec(x_1);
-x_57 = 1;
-x_58 = lean_box(x_57);
-x_59 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_59, 0, x_58);
-lean_ctor_set(x_59, 1, x_44);
-return x_59;
+x_65 = 1;
+x_66 = lean_box(x_65);
+x_67 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_67, 0, x_66);
+lean_ctor_set(x_67, 1, x_52);
+return x_67;
}
}
else
{
-uint8_t x_60; lean_object* x_61; lean_object* x_62;
+uint8_t x_68; lean_object* x_69; lean_object* x_70;
lean_dec(x_16);
lean_dec(x_1);
-x_60 = 1;
-x_61 = lean_box(x_60);
-x_62 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_62, 0, x_61);
-lean_ctor_set(x_62, 1, x_44);
-return 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_52);
+return x_70;
+}
+}
+}
+else
+{
+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; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; uint8_t x_84;
+x_71 = lean_ctor_get(x_20, 0);
+x_72 = lean_ctor_get(x_20, 1);
+x_73 = lean_ctor_get(x_20, 2);
+x_74 = lean_ctor_get(x_20, 3);
+lean_inc(x_74);
+lean_inc(x_73);
+lean_inc(x_72);
+lean_inc(x_71);
+lean_dec(x_20);
+lean_inc(x_16);
+x_75 = lean_array_push(x_74, x_16);
+x_76 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_76, 0, x_71);
+lean_ctor_set(x_76, 1, x_72);
+lean_ctor_set(x_76, 2, x_73);
+lean_ctor_set(x_76, 3, x_75);
+x_77 = lean_st_ref_set(x_2, x_76, x_21);
+x_78 = lean_ctor_get(x_77, 1);
+lean_inc(x_78);
+lean_dec(x_77);
+x_79 = l_Lean_Elab_Frontend_setParserState(x_17, x_1, x_2, x_78);
+x_80 = lean_ctor_get(x_79, 1);
+lean_inc(x_80);
+lean_dec(x_79);
+x_81 = l_Lean_Elab_Frontend_setMessages(x_18, x_1, x_2, x_80);
+x_82 = lean_ctor_get(x_81, 1);
+lean_inc(x_82);
+if (lean_is_exclusive(x_81)) {
+ lean_ctor_release(x_81, 0);
+ lean_ctor_release(x_81, 1);
+ x_83 = x_81;
+} else {
+ lean_dec_ref(x_81);
+ x_83 = lean_box(0);
+}
+lean_inc(x_16);
+x_84 = l_Lean_Parser_isEOI(x_16);
+if (x_84 == 0)
+{
+uint8_t x_85;
+lean_inc(x_16);
+x_85 = l_Lean_Parser_isExitCommand(x_16);
+if (x_85 == 0)
+{
+lean_object* x_86;
+lean_dec(x_83);
+x_86 = l_Lean_Elab_Frontend_elabCommandAtFrontend(x_16, x_1, x_2, x_82);
+lean_dec(x_1);
+if (lean_obj_tag(x_86) == 0)
+{
+lean_object* x_87; lean_object* x_88; uint8_t x_89; lean_object* x_90; lean_object* x_91;
+x_87 = lean_ctor_get(x_86, 1);
+lean_inc(x_87);
+if (lean_is_exclusive(x_86)) {
+ lean_ctor_release(x_86, 0);
+ lean_ctor_release(x_86, 1);
+ x_88 = x_86;
+} else {
+ lean_dec_ref(x_86);
+ x_88 = lean_box(0);
+}
+x_89 = 0;
+x_90 = lean_box(x_89);
+if (lean_is_scalar(x_88)) {
+ x_91 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_91 = x_88;
+}
+lean_ctor_set(x_91, 0, x_90);
+lean_ctor_set(x_91, 1, x_87);
+return x_91;
+}
+else
+{
+lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95;
+x_92 = lean_ctor_get(x_86, 0);
+lean_inc(x_92);
+x_93 = lean_ctor_get(x_86, 1);
+lean_inc(x_93);
+if (lean_is_exclusive(x_86)) {
+ lean_ctor_release(x_86, 0);
+ lean_ctor_release(x_86, 1);
+ x_94 = x_86;
+} else {
+ lean_dec_ref(x_86);
+ x_94 = lean_box(0);
+}
+if (lean_is_scalar(x_94)) {
+ x_95 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_95 = x_94;
+}
+lean_ctor_set(x_95, 0, x_92);
+lean_ctor_set(x_95, 1, x_93);
+return x_95;
+}
+}
+else
+{
+uint8_t x_96; lean_object* x_97; lean_object* x_98;
+lean_dec(x_16);
+lean_dec(x_1);
+x_96 = 1;
+x_97 = lean_box(x_96);
+if (lean_is_scalar(x_83)) {
+ x_98 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_98 = x_83;
+}
+lean_ctor_set(x_98, 0, x_97);
+lean_ctor_set(x_98, 1, x_82);
+return x_98;
+}
+}
+else
+{
+uint8_t x_99; lean_object* x_100; lean_object* x_101;
+lean_dec(x_16);
+lean_dec(x_1);
+x_99 = 1;
+x_100 = lean_box(x_99);
+if (lean_is_scalar(x_83)) {
+ x_101 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_101 = x_83;
+}
+lean_ctor_set(x_101, 0, x_100);
+lean_ctor_set(x_101, 1, x_82);
+return x_101;
}
}
}
@@ -1307,77 +1483,70 @@ return x_2;
lean_object* l_Lean_Elab_IO_processCommands(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
-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_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;
x_5 = lean_ctor_get(x_2, 0);
lean_inc(x_5);
-x_6 = lean_alloc_ctor(0, 3, 0);
-lean_ctor_set(x_6, 0, x_3);
-lean_ctor_set(x_6, 1, x_2);
-lean_ctor_set(x_6, 2, x_5);
-x_7 = lean_st_mk_ref(x_6, x_4);
-x_8 = lean_ctor_get(x_7, 0);
-lean_inc(x_8);
-x_9 = lean_ctor_get(x_7, 1);
+x_6 = l_Array_empty___closed__1;
+x_7 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_7, 0, x_3);
+lean_ctor_set(x_7, 1, x_2);
+lean_ctor_set(x_7, 2, x_5);
+lean_ctor_set(x_7, 3, x_6);
+x_8 = lean_st_mk_ref(x_7, x_4);
+x_9 = lean_ctor_get(x_8, 0);
lean_inc(x_9);
-lean_dec(x_7);
-x_10 = l_Lean_Elab_Frontend_processCommands(x_1, x_8, x_9);
-if (lean_obj_tag(x_10) == 0)
-{
-lean_object* x_11; lean_object* x_12; uint8_t x_13;
-x_11 = lean_ctor_get(x_10, 1);
-lean_inc(x_11);
-lean_dec(x_10);
-x_12 = lean_st_ref_get(x_8, x_11);
+x_10 = lean_ctor_get(x_8, 1);
+lean_inc(x_10);
lean_dec(x_8);
-x_13 = !lean_is_exclusive(x_12);
-if (x_13 == 0)
+x_11 = l_Lean_Elab_Frontend_processCommands(x_1, x_9, x_10);
+if (lean_obj_tag(x_11) == 0)
{
-lean_object* x_14; lean_object* x_15;
-x_14 = lean_ctor_get(x_12, 0);
-x_15 = lean_ctor_get(x_14, 0);
-lean_inc(x_15);
-lean_dec(x_14);
-lean_ctor_set(x_12, 0, x_15);
-return x_12;
+lean_object* x_12; lean_object* x_13; uint8_t x_14;
+x_12 = lean_ctor_get(x_11, 1);
+lean_inc(x_12);
+lean_dec(x_11);
+x_13 = lean_st_ref_get(x_9, x_12);
+lean_dec(x_9);
+x_14 = !lean_is_exclusive(x_13);
+if (x_14 == 0)
+{
+return x_13;
}
else
{
-lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
-x_16 = lean_ctor_get(x_12, 0);
-x_17 = lean_ctor_get(x_12, 1);
-lean_inc(x_17);
+lean_object* x_15; lean_object* x_16; lean_object* x_17;
+x_15 = lean_ctor_get(x_13, 0);
+x_16 = lean_ctor_get(x_13, 1);
lean_inc(x_16);
-lean_dec(x_12);
-x_18 = lean_ctor_get(x_16, 0);
-lean_inc(x_18);
-lean_dec(x_16);
-x_19 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_19, 0, x_18);
-lean_ctor_set(x_19, 1, x_17);
-return x_19;
+lean_inc(x_15);
+lean_dec(x_13);
+x_17 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_17, 0, x_15);
+lean_ctor_set(x_17, 1, x_16);
+return x_17;
}
}
else
{
-uint8_t x_20;
-lean_dec(x_8);
-x_20 = !lean_is_exclusive(x_10);
-if (x_20 == 0)
+uint8_t x_18;
+lean_dec(x_9);
+x_18 = !lean_is_exclusive(x_11);
+if (x_18 == 0)
{
-return x_10;
+return x_11;
}
else
{
-lean_object* x_21; lean_object* x_22; lean_object* x_23;
-x_21 = lean_ctor_get(x_10, 0);
-x_22 = lean_ctor_get(x_10, 1);
-lean_inc(x_22);
-lean_inc(x_21);
-lean_dec(x_10);
-x_23 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_23, 0, x_21);
-lean_ctor_set(x_23, 1, x_22);
-return x_23;
+lean_object* x_19; lean_object* x_20; lean_object* x_21;
+x_19 = lean_ctor_get(x_11, 0);
+x_20 = lean_ctor_get(x_11, 1);
+lean_inc(x_20);
+lean_inc(x_19);
+lean_dec(x_11);
+x_21 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_21, 0, x_19);
+lean_ctor_set(x_21, 1, x_20);
+return x_21;
}
}
}
@@ -1393,142 +1562,150 @@ if (lean_obj_tag(x_4) == 0)
lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
x_8 = l_Lean_Elab_parseImports___closed__1;
x_9 = l_Lean_Parser_mkInputContext(x_1, x_8);
-x_10 = l_Lean_Parser_ModuleParserState_inhabited___closed__1;
+x_10 = l_Lean_Parser_Lean_Parser_Module___instance__1___closed__1;
x_11 = l_Lean_Elab_IO_processCommands(x_9, x_10, x_7, x_5);
if (lean_obj_tag(x_11) == 0)
{
-uint8_t x_12;
-x_12 = !lean_is_exclusive(x_11);
-if (x_12 == 0)
+lean_object* x_12; lean_object* x_13; uint8_t x_14;
+x_12 = lean_ctor_get(x_11, 0);
+lean_inc(x_12);
+x_13 = lean_ctor_get(x_12, 0);
+lean_inc(x_13);
+lean_dec(x_12);
+x_14 = !lean_is_exclusive(x_11);
+if (x_14 == 0)
{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
-x_13 = lean_ctor_get(x_11, 0);
-x_14 = lean_ctor_get(x_13, 0);
-lean_inc(x_14);
-x_15 = lean_ctor_get(x_13, 1);
-lean_inc(x_15);
-lean_dec(x_13);
-x_16 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_16, 0, x_14);
-lean_ctor_set(x_16, 1, x_15);
-lean_ctor_set(x_11, 0, x_16);
-return x_11;
-}
-else
-{
-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_17 = lean_ctor_get(x_11, 0);
-x_18 = lean_ctor_get(x_11, 1);
-lean_inc(x_18);
+lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
+x_15 = lean_ctor_get(x_11, 0);
+lean_dec(x_15);
+x_16 = lean_ctor_get(x_13, 0);
+lean_inc(x_16);
+x_17 = lean_ctor_get(x_13, 1);
lean_inc(x_17);
-lean_dec(x_11);
-x_19 = lean_ctor_get(x_17, 0);
+lean_dec(x_13);
+x_18 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_18, 0, x_16);
+lean_ctor_set(x_18, 1, x_17);
+lean_ctor_set(x_11, 0, x_18);
+return x_11;
+}
+else
+{
+lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23;
+x_19 = lean_ctor_get(x_11, 1);
lean_inc(x_19);
-x_20 = lean_ctor_get(x_17, 1);
+lean_dec(x_11);
+x_20 = lean_ctor_get(x_13, 0);
lean_inc(x_20);
-lean_dec(x_17);
-x_21 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_21, 0, x_19);
-lean_ctor_set(x_21, 1, x_20);
+x_21 = lean_ctor_get(x_13, 1);
+lean_inc(x_21);
+lean_dec(x_13);
x_22 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_22, 0, x_21);
-lean_ctor_set(x_22, 1, x_18);
-return x_22;
+lean_ctor_set(x_22, 0, x_20);
+lean_ctor_set(x_22, 1, x_21);
+x_23 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_23, 0, x_22);
+lean_ctor_set(x_23, 1, x_19);
+return x_23;
}
}
else
{
-uint8_t x_23;
-x_23 = !lean_is_exclusive(x_11);
-if (x_23 == 0)
+uint8_t x_24;
+x_24 = !lean_is_exclusive(x_11);
+if (x_24 == 0)
{
return x_11;
}
else
{
-lean_object* x_24; lean_object* x_25; lean_object* x_26;
-x_24 = lean_ctor_get(x_11, 0);
-x_25 = lean_ctor_get(x_11, 1);
+lean_object* x_25; lean_object* x_26; lean_object* x_27;
+x_25 = lean_ctor_get(x_11, 0);
+x_26 = lean_ctor_get(x_11, 1);
+lean_inc(x_26);
lean_inc(x_25);
-lean_inc(x_24);
lean_dec(x_11);
-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;
+x_27 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_27, 0, x_25);
+lean_ctor_set(x_27, 1, x_26);
+return x_27;
}
}
}
else
{
-lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30;
-x_27 = lean_ctor_get(x_4, 0);
-lean_inc(x_27);
+lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31;
+x_28 = lean_ctor_get(x_4, 0);
+lean_inc(x_28);
lean_dec(x_4);
-x_28 = l_Lean_Parser_mkInputContext(x_1, x_27);
-x_29 = l_Lean_Parser_ModuleParserState_inhabited___closed__1;
-x_30 = l_Lean_Elab_IO_processCommands(x_28, x_29, x_7, x_5);
-if (lean_obj_tag(x_30) == 0)
+x_29 = l_Lean_Parser_mkInputContext(x_1, x_28);
+x_30 = l_Lean_Parser_Lean_Parser_Module___instance__1___closed__1;
+x_31 = l_Lean_Elab_IO_processCommands(x_29, x_30, x_7, x_5);
+if (lean_obj_tag(x_31) == 0)
{
-uint8_t x_31;
-x_31 = !lean_is_exclusive(x_30);
-if (x_31 == 0)
-{
-lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35;
-x_32 = lean_ctor_get(x_30, 0);
+lean_object* x_32; lean_object* x_33; uint8_t x_34;
+x_32 = lean_ctor_get(x_31, 0);
+lean_inc(x_32);
x_33 = lean_ctor_get(x_32, 0);
lean_inc(x_33);
-x_34 = lean_ctor_get(x_32, 1);
-lean_inc(x_34);
lean_dec(x_32);
-x_35 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_35, 0, x_33);
-lean_ctor_set(x_35, 1, x_34);
-lean_ctor_set(x_30, 0, x_35);
-return x_30;
-}
-else
+x_34 = !lean_is_exclusive(x_31);
+if (x_34 == 0)
{
-lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41;
-x_36 = lean_ctor_get(x_30, 0);
-x_37 = lean_ctor_get(x_30, 1);
-lean_inc(x_37);
+lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38;
+x_35 = lean_ctor_get(x_31, 0);
+lean_dec(x_35);
+x_36 = lean_ctor_get(x_33, 0);
lean_inc(x_36);
-lean_dec(x_30);
-x_38 = lean_ctor_get(x_36, 0);
-lean_inc(x_38);
-x_39 = lean_ctor_get(x_36, 1);
+x_37 = lean_ctor_get(x_33, 1);
+lean_inc(x_37);
+lean_dec(x_33);
+x_38 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_38, 0, x_36);
+lean_ctor_set(x_38, 1, x_37);
+lean_ctor_set(x_31, 0, x_38);
+return x_31;
+}
+else
+{
+lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43;
+x_39 = lean_ctor_get(x_31, 1);
lean_inc(x_39);
-lean_dec(x_36);
-x_40 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_40, 0, x_38);
-lean_ctor_set(x_40, 1, x_39);
-x_41 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_41, 0, x_40);
-lean_ctor_set(x_41, 1, x_37);
-return x_41;
+lean_dec(x_31);
+x_40 = lean_ctor_get(x_33, 0);
+lean_inc(x_40);
+x_41 = lean_ctor_get(x_33, 1);
+lean_inc(x_41);
+lean_dec(x_33);
+x_42 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_42, 0, x_40);
+lean_ctor_set(x_42, 1, x_41);
+x_43 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_43, 0, x_42);
+lean_ctor_set(x_43, 1, x_39);
+return x_43;
}
}
else
{
-uint8_t x_42;
-x_42 = !lean_is_exclusive(x_30);
-if (x_42 == 0)
+uint8_t x_44;
+x_44 = !lean_is_exclusive(x_31);
+if (x_44 == 0)
{
-return x_30;
+return x_31;
}
else
{
-lean_object* x_43; lean_object* x_44; lean_object* x_45;
-x_43 = lean_ctor_get(x_30, 0);
-x_44 = lean_ctor_get(x_30, 1);
-lean_inc(x_44);
-lean_inc(x_43);
-lean_dec(x_30);
-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_object* x_45; lean_object* x_46; lean_object* x_47;
+x_45 = lean_ctor_get(x_31, 0);
+x_46 = lean_ctor_get(x_31, 1);
+lean_inc(x_46);
+lean_inc(x_45);
+lean_dec(x_31);
+x_47 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_47, 0, x_45);
+lean_ctor_set(x_47, 1, x_46);
+return x_47;
}
}
}
@@ -1712,7 +1889,7 @@ lean_inc(x_6);
x_7 = l_Lean_Parser_parseHeader(x_6, x_5);
if (lean_obj_tag(x_7) == 0)
{
-lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; uint32_t x_14; lean_object* x_15;
+lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; uint8_t x_12;
x_8 = lean_ctor_get(x_7, 0);
lean_inc(x_8);
x_9 = lean_ctor_get(x_8, 1);
@@ -1723,220 +1900,396 @@ lean_dec(x_7);
x_11 = lean_ctor_get(x_8, 0);
lean_inc(x_11);
lean_dec(x_8);
-x_12 = lean_ctor_get(x_9, 0);
-lean_inc(x_12);
-x_13 = lean_ctor_get(x_9, 1);
-lean_inc(x_13);
-lean_dec(x_9);
-x_14 = 0;
+x_12 = !lean_is_exclusive(x_9);
+if (x_12 == 0)
+{
+lean_object* x_13; lean_object* x_14; uint32_t x_15; lean_object* x_16;
+x_13 = lean_ctor_get(x_9, 0);
+x_14 = lean_ctor_get(x_9, 1);
+x_15 = 0;
lean_inc(x_2);
-x_15 = l_Lean_Elab_processHeader(x_11, x_2, x_13, x_6, x_14, x_10);
-lean_dec(x_11);
-if (lean_obj_tag(x_15) == 0)
+x_16 = l_Lean_Elab_processHeader(x_11, x_2, x_14, x_6, x_15, x_10);
+if (lean_obj_tag(x_16) == 0)
{
-lean_object* x_16; lean_object* x_17; uint8_t x_18;
-x_16 = lean_ctor_get(x_15, 0);
-lean_inc(x_16);
-x_17 = lean_ctor_get(x_15, 1);
+lean_object* x_17; lean_object* x_18; uint8_t x_19;
+x_17 = lean_ctor_get(x_16, 0);
lean_inc(x_17);
-lean_dec(x_15);
-x_18 = !lean_is_exclusive(x_16);
-if (x_18 == 0)
+x_18 = lean_ctor_get(x_16, 1);
+lean_inc(x_18);
+lean_dec(x_16);
+x_19 = !lean_is_exclusive(x_17);
+if (x_19 == 0)
{
-lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23;
-x_19 = lean_ctor_get(x_16, 0);
-x_20 = lean_ctor_get(x_16, 1);
-x_21 = lean_environment_set_main_module(x_19, x_4);
-x_22 = l_Lean_Elab_Command_mkState(x_21, x_20, x_2);
-x_23 = l_Lean_Elab_IO_processCommands(x_6, x_12, x_22, x_17);
-if (lean_obj_tag(x_23) == 0)
+lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
+x_20 = lean_ctor_get(x_17, 0);
+x_21 = lean_ctor_get(x_17, 1);
+x_22 = lean_environment_set_main_module(x_20, x_4);
+x_23 = l_Lean_Elab_Command_mkState(x_22, x_21, x_2);
+x_24 = l_Lean_Elab_IO_processCommands(x_6, x_13, x_23, x_18);
+if (lean_obj_tag(x_24) == 0)
{
-uint8_t x_24;
-x_24 = !lean_is_exclusive(x_23);
-if (x_24 == 0)
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
-x_25 = lean_ctor_get(x_23, 0);
+lean_object* x_25; lean_object* x_26; uint8_t x_27;
+x_25 = lean_ctor_get(x_24, 0);
+lean_inc(x_25);
x_26 = lean_ctor_get(x_25, 0);
lean_inc(x_26);
-x_27 = lean_ctor_get(x_25, 1);
-lean_inc(x_27);
-lean_dec(x_25);
-x_28 = l_Lean_MessageLog_toList(x_27);
-lean_dec(x_27);
-lean_ctor_set(x_16, 1, x_28);
-lean_ctor_set(x_16, 0, x_26);
-lean_ctor_set(x_23, 0, x_16);
-return x_23;
-}
-else
+x_27 = !lean_is_exclusive(x_24);
+if (x_27 == 0)
{
-lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34;
-x_29 = lean_ctor_get(x_23, 0);
-x_30 = lean_ctor_get(x_23, 1);
-lean_inc(x_30);
+lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
+x_28 = lean_ctor_get(x_24, 0);
+lean_dec(x_28);
+x_29 = lean_ctor_get(x_26, 0);
lean_inc(x_29);
-lean_dec(x_23);
-x_31 = lean_ctor_get(x_29, 0);
-lean_inc(x_31);
-x_32 = lean_ctor_get(x_29, 1);
+x_30 = lean_ctor_get(x_26, 1);
+lean_inc(x_30);
+lean_dec(x_26);
+x_31 = l_Lean_MessageLog_toList(x_30);
+lean_dec(x_30);
+x_32 = lean_ctor_get(x_25, 3);
lean_inc(x_32);
-lean_dec(x_29);
-x_33 = l_Lean_MessageLog_toList(x_32);
-lean_dec(x_32);
-lean_ctor_set(x_16, 1, x_33);
-lean_ctor_set(x_16, 0, x_31);
-x_34 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_34, 0, x_16);
-lean_ctor_set(x_34, 1, x_30);
-return x_34;
-}
+lean_dec(x_25);
+x_33 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_33, 0, x_11);
+lean_ctor_set(x_33, 1, x_32);
+lean_ctor_set(x_17, 1, x_33);
+lean_ctor_set(x_17, 0, x_31);
+lean_ctor_set(x_9, 1, x_17);
+lean_ctor_set(x_9, 0, x_29);
+lean_ctor_set(x_24, 0, x_9);
+return x_24;
}
else
{
-uint8_t x_35;
-lean_free_object(x_16);
-x_35 = !lean_is_exclusive(x_23);
-if (x_35 == 0)
-{
-return x_23;
-}
-else
-{
-lean_object* x_36; lean_object* x_37; lean_object* x_38;
-x_36 = lean_ctor_get(x_23, 0);
-x_37 = lean_ctor_get(x_23, 1);
-lean_inc(x_37);
+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;
+x_34 = lean_ctor_get(x_24, 1);
+lean_inc(x_34);
+lean_dec(x_24);
+x_35 = lean_ctor_get(x_26, 0);
+lean_inc(x_35);
+x_36 = lean_ctor_get(x_26, 1);
lean_inc(x_36);
-lean_dec(x_23);
-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;
+lean_dec(x_26);
+x_37 = l_Lean_MessageLog_toList(x_36);
+lean_dec(x_36);
+x_38 = lean_ctor_get(x_25, 3);
+lean_inc(x_38);
+lean_dec(x_25);
+x_39 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_39, 0, x_11);
+lean_ctor_set(x_39, 1, x_38);
+lean_ctor_set(x_17, 1, x_39);
+lean_ctor_set(x_17, 0, x_37);
+lean_ctor_set(x_9, 1, x_17);
+lean_ctor_set(x_9, 0, x_35);
+x_40 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_40, 0, x_9);
+lean_ctor_set(x_40, 1, x_34);
+return x_40;
+}
+}
+else
+{
+uint8_t x_41;
+lean_free_object(x_17);
+lean_free_object(x_9);
+lean_dec(x_11);
+x_41 = !lean_is_exclusive(x_24);
+if (x_41 == 0)
+{
+return x_24;
+}
+else
+{
+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_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
{
-lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43;
-x_39 = lean_ctor_get(x_16, 0);
-x_40 = lean_ctor_get(x_16, 1);
-lean_inc(x_40);
-lean_inc(x_39);
-lean_dec(x_16);
-x_41 = lean_environment_set_main_module(x_39, x_4);
-x_42 = l_Lean_Elab_Command_mkState(x_41, x_40, x_2);
-x_43 = l_Lean_Elab_IO_processCommands(x_6, x_12, x_42, x_17);
-if (lean_obj_tag(x_43) == 0)
-{
-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;
-x_44 = lean_ctor_get(x_43, 0);
-lean_inc(x_44);
-x_45 = lean_ctor_get(x_43, 1);
+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_17, 0);
+x_46 = lean_ctor_get(x_17, 1);
+lean_inc(x_46);
lean_inc(x_45);
-if (lean_is_exclusive(x_43)) {
- lean_ctor_release(x_43, 0);
- lean_ctor_release(x_43, 1);
- x_46 = x_43;
-} else {
- lean_dec_ref(x_43);
- x_46 = lean_box(0);
-}
-x_47 = lean_ctor_get(x_44, 0);
-lean_inc(x_47);
-x_48 = lean_ctor_get(x_44, 1);
-lean_inc(x_48);
-lean_dec(x_44);
-x_49 = l_Lean_MessageLog_toList(x_48);
-lean_dec(x_48);
-x_50 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_50, 0, x_47);
-lean_ctor_set(x_50, 1, x_49);
-if (lean_is_scalar(x_46)) {
- x_51 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_51 = x_46;
-}
-lean_ctor_set(x_51, 0, x_50);
-lean_ctor_set(x_51, 1, x_45);
-return x_51;
-}
-else
+lean_dec(x_17);
+x_47 = lean_environment_set_main_module(x_45, x_4);
+x_48 = l_Lean_Elab_Command_mkState(x_47, x_46, x_2);
+x_49 = l_Lean_Elab_IO_processCommands(x_6, x_13, x_48, x_18);
+if (lean_obj_tag(x_49) == 0)
{
-lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55;
-x_52 = lean_ctor_get(x_43, 0);
+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;
+x_50 = lean_ctor_get(x_49, 0);
+lean_inc(x_50);
+x_51 = lean_ctor_get(x_50, 0);
+lean_inc(x_51);
+x_52 = lean_ctor_get(x_49, 1);
lean_inc(x_52);
-x_53 = lean_ctor_get(x_43, 1);
-lean_inc(x_53);
-if (lean_is_exclusive(x_43)) {
- lean_ctor_release(x_43, 0);
- lean_ctor_release(x_43, 1);
- x_54 = x_43;
+if (lean_is_exclusive(x_49)) {
+ lean_ctor_release(x_49, 0);
+ lean_ctor_release(x_49, 1);
+ x_53 = x_49;
} else {
- lean_dec_ref(x_43);
- x_54 = lean_box(0);
+ lean_dec_ref(x_49);
+ x_53 = lean_box(0);
}
-if (lean_is_scalar(x_54)) {
- x_55 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_55 = x_54;
-}
-lean_ctor_set(x_55, 0, x_52);
-lean_ctor_set(x_55, 1, x_53);
-return x_55;
-}
-}
-}
-else
-{
-uint8_t x_56;
-lean_dec(x_12);
-lean_dec(x_6);
-lean_dec(x_4);
-lean_dec(x_2);
-x_56 = !lean_is_exclusive(x_15);
-if (x_56 == 0)
-{
-return x_15;
-}
-else
-{
-lean_object* x_57; lean_object* x_58; lean_object* x_59;
-x_57 = lean_ctor_get(x_15, 0);
-x_58 = lean_ctor_get(x_15, 1);
-lean_inc(x_58);
+x_54 = lean_ctor_get(x_51, 0);
+lean_inc(x_54);
+x_55 = lean_ctor_get(x_51, 1);
+lean_inc(x_55);
+lean_dec(x_51);
+x_56 = l_Lean_MessageLog_toList(x_55);
+lean_dec(x_55);
+x_57 = lean_ctor_get(x_50, 3);
lean_inc(x_57);
-lean_dec(x_15);
-x_59 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_59, 0, x_57);
+lean_dec(x_50);
+x_58 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_58, 0, x_11);
+lean_ctor_set(x_58, 1, x_57);
+x_59 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_59, 0, x_56);
lean_ctor_set(x_59, 1, x_58);
-return x_59;
+lean_ctor_set(x_9, 1, x_59);
+lean_ctor_set(x_9, 0, x_54);
+if (lean_is_scalar(x_53)) {
+ x_60 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_60 = x_53;
+}
+lean_ctor_set(x_60, 0, x_9);
+lean_ctor_set(x_60, 1, x_52);
+return x_60;
+}
+else
+{
+lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64;
+lean_free_object(x_9);
+lean_dec(x_11);
+x_61 = lean_ctor_get(x_49, 0);
+lean_inc(x_61);
+x_62 = lean_ctor_get(x_49, 1);
+lean_inc(x_62);
+if (lean_is_exclusive(x_49)) {
+ lean_ctor_release(x_49, 0);
+ lean_ctor_release(x_49, 1);
+ x_63 = x_49;
+} else {
+ lean_dec_ref(x_49);
+ x_63 = lean_box(0);
+}
+if (lean_is_scalar(x_63)) {
+ x_64 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_64 = x_63;
+}
+lean_ctor_set(x_64, 0, x_61);
+lean_ctor_set(x_64, 1, x_62);
+return x_64;
}
}
}
else
{
-uint8_t x_60;
+uint8_t x_65;
+lean_free_object(x_9);
+lean_dec(x_13);
+lean_dec(x_11);
lean_dec(x_6);
lean_dec(x_4);
lean_dec(x_2);
-x_60 = !lean_is_exclusive(x_7);
-if (x_60 == 0)
+x_65 = !lean_is_exclusive(x_16);
+if (x_65 == 0)
+{
+return x_16;
+}
+else
+{
+lean_object* x_66; lean_object* x_67; lean_object* x_68;
+x_66 = lean_ctor_get(x_16, 0);
+x_67 = lean_ctor_get(x_16, 1);
+lean_inc(x_67);
+lean_inc(x_66);
+lean_dec(x_16);
+x_68 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_68, 0, x_66);
+lean_ctor_set(x_68, 1, x_67);
+return x_68;
+}
+}
+}
+else
+{
+lean_object* x_69; lean_object* x_70; uint32_t x_71; lean_object* x_72;
+x_69 = lean_ctor_get(x_9, 0);
+x_70 = lean_ctor_get(x_9, 1);
+lean_inc(x_70);
+lean_inc(x_69);
+lean_dec(x_9);
+x_71 = 0;
+lean_inc(x_2);
+x_72 = l_Lean_Elab_processHeader(x_11, x_2, x_70, x_6, x_71, x_10);
+if (lean_obj_tag(x_72) == 0)
+{
+lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80;
+x_73 = lean_ctor_get(x_72, 0);
+lean_inc(x_73);
+x_74 = lean_ctor_get(x_72, 1);
+lean_inc(x_74);
+lean_dec(x_72);
+x_75 = lean_ctor_get(x_73, 0);
+lean_inc(x_75);
+x_76 = lean_ctor_get(x_73, 1);
+lean_inc(x_76);
+if (lean_is_exclusive(x_73)) {
+ lean_ctor_release(x_73, 0);
+ lean_ctor_release(x_73, 1);
+ x_77 = x_73;
+} else {
+ lean_dec_ref(x_73);
+ x_77 = lean_box(0);
+}
+x_78 = lean_environment_set_main_module(x_75, x_4);
+x_79 = l_Lean_Elab_Command_mkState(x_78, x_76, x_2);
+x_80 = l_Lean_Elab_IO_processCommands(x_6, x_69, x_79, x_74);
+if (lean_obj_tag(x_80) == 0)
+{
+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;
+x_81 = lean_ctor_get(x_80, 0);
+lean_inc(x_81);
+x_82 = lean_ctor_get(x_81, 0);
+lean_inc(x_82);
+x_83 = lean_ctor_get(x_80, 1);
+lean_inc(x_83);
+if (lean_is_exclusive(x_80)) {
+ lean_ctor_release(x_80, 0);
+ lean_ctor_release(x_80, 1);
+ x_84 = x_80;
+} else {
+ lean_dec_ref(x_80);
+ x_84 = lean_box(0);
+}
+x_85 = lean_ctor_get(x_82, 0);
+lean_inc(x_85);
+x_86 = lean_ctor_get(x_82, 1);
+lean_inc(x_86);
+lean_dec(x_82);
+x_87 = l_Lean_MessageLog_toList(x_86);
+lean_dec(x_86);
+x_88 = lean_ctor_get(x_81, 3);
+lean_inc(x_88);
+lean_dec(x_81);
+x_89 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_89, 0, x_11);
+lean_ctor_set(x_89, 1, x_88);
+if (lean_is_scalar(x_77)) {
+ x_90 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_90 = x_77;
+}
+lean_ctor_set(x_90, 0, x_87);
+lean_ctor_set(x_90, 1, x_89);
+x_91 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_91, 0, x_85);
+lean_ctor_set(x_91, 1, x_90);
+if (lean_is_scalar(x_84)) {
+ x_92 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_92 = x_84;
+}
+lean_ctor_set(x_92, 0, x_91);
+lean_ctor_set(x_92, 1, x_83);
+return x_92;
+}
+else
+{
+lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96;
+lean_dec(x_77);
+lean_dec(x_11);
+x_93 = lean_ctor_get(x_80, 0);
+lean_inc(x_93);
+x_94 = lean_ctor_get(x_80, 1);
+lean_inc(x_94);
+if (lean_is_exclusive(x_80)) {
+ lean_ctor_release(x_80, 0);
+ lean_ctor_release(x_80, 1);
+ x_95 = x_80;
+} else {
+ lean_dec_ref(x_80);
+ x_95 = lean_box(0);
+}
+if (lean_is_scalar(x_95)) {
+ x_96 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_96 = x_95;
+}
+lean_ctor_set(x_96, 0, x_93);
+lean_ctor_set(x_96, 1, x_94);
+return x_96;
+}
+}
+else
+{
+lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100;
+lean_dec(x_69);
+lean_dec(x_11);
+lean_dec(x_6);
+lean_dec(x_4);
+lean_dec(x_2);
+x_97 = lean_ctor_get(x_72, 0);
+lean_inc(x_97);
+x_98 = lean_ctor_get(x_72, 1);
+lean_inc(x_98);
+if (lean_is_exclusive(x_72)) {
+ lean_ctor_release(x_72, 0);
+ lean_ctor_release(x_72, 1);
+ x_99 = x_72;
+} else {
+ lean_dec_ref(x_72);
+ x_99 = lean_box(0);
+}
+if (lean_is_scalar(x_99)) {
+ x_100 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_100 = x_99;
+}
+lean_ctor_set(x_100, 0, x_97);
+lean_ctor_set(x_100, 1, x_98);
+return x_100;
+}
+}
+}
+else
+{
+uint8_t x_101;
+lean_dec(x_6);
+lean_dec(x_4);
+lean_dec(x_2);
+x_101 = !lean_is_exclusive(x_7);
+if (x_101 == 0)
{
return x_7;
}
else
{
-lean_object* x_61; lean_object* x_62; lean_object* x_63;
-x_61 = lean_ctor_get(x_7, 0);
-x_62 = lean_ctor_get(x_7, 1);
-lean_inc(x_62);
-lean_inc(x_61);
+lean_object* x_102; lean_object* x_103; lean_object* x_104;
+x_102 = lean_ctor_get(x_7, 0);
+x_103 = lean_ctor_get(x_7, 1);
+lean_inc(x_103);
+lean_inc(x_102);
lean_dec(x_7);
-x_63 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_63, 0, x_61);
-lean_ctor_set(x_63, 1, x_62);
-return x_63;
+x_104 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_104, 0, x_102);
+lean_ctor_set(x_104, 1, x_103);
+return x_104;
}
}
}
@@ -1958,6 +2311,8 @@ lean_dec_ref(res);
res = initialize_Lean_Elab_Command(lean_io_mk_world());
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
+l_Lean_Elab_Frontend_State_commands___default = _init_l_Lean_Elab_Frontend_State_commands___default();
+lean_mark_persistent(l_Lean_Elab_Frontend_State_commands___default);
l_Lean_Elab_Frontend_runCommandElabM___closed__1 = _init_l_Lean_Elab_Frontend_runCommandElabM___closed__1();
lean_mark_persistent(l_Lean_Elab_Frontend_runCommandElabM___closed__1);
l_Lean_Elab_Frontend_runCommandElabM___closed__2 = _init_l_Lean_Elab_Frontend_runCommandElabM___closed__2();
diff --git a/stage0/stdlib/Lean/Elab/Import.c b/stage0/stdlib/Lean/Elab/Import.c
index 6f0be60956..d93ff86609 100644
--- a/stage0/stdlib/Lean/Elab/Import.c
+++ b/stage0/stdlib/Lean/Elab/Import.c
@@ -13,18 +13,16 @@
#ifdef __cplusplus
extern "C" {
#endif
-lean_object* lean_string_push(lean_object*, uint32_t);
lean_object* l_Lean_Parser_parseHeader(lean_object*, lean_object*);
lean_object* lean_io_error_to_string(lean_object*);
lean_object* l_List_map___main___at_Lean_Elab_headerToImports___spec__1(lean_object*);
lean_object* l_List_append___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Elab_headerToImports___closed__2;
lean_object* l_Lean_Elab_headerToImports(lean_object*);
-lean_object* l_List_forInAux___main___at_Lean_Elab_printDeps___spec__4___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_mkInputContext(lean_object*, lean_object*);
lean_object* l_Lean_Elab_parseImports_match__1(lean_object*);
extern lean_object* l_String_splitAux___main___closed__1;
-lean_object* l_IO_println___at_Lean_Elab_printDeps___spec__1(lean_object*, lean_object*);
+lean_object* l_List_forInAux___main___at_Lean_Elab_printDeps___spec__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_headerToImports___closed__1;
lean_object* l_Lean_Elab_headerToImports___boxed(lean_object*);
lean_object* l_Lean_findOLean(lean_object*, lean_object*);
@@ -32,7 +30,6 @@ lean_object* l_Lean_Elab_processHeader(lean_object*, lean_object*, lean_object*,
lean_object* l_Lean_Elab_parseImports___closed__1;
lean_object* l_Lean_MessageLog_toList(lean_object*);
lean_object* l_Lean_Elab_parseImports_match__1___rarg(lean_object*, lean_object*);
-lean_object* l_IO_getStdout___at_Lean_Elab_printDeps___spec__3(lean_object*);
lean_object* l_Lean_Elab_headerToImports___closed__3;
lean_object* l_Lean_Syntax_getId(lean_object*);
lean_object* lean_name_mk_string(lean_object*, lean_object*);
@@ -43,10 +40,9 @@ lean_object* l_Lean_FileMap_ofString(lean_object*);
lean_object* lean_mk_empty_environment(uint32_t, lean_object*);
lean_object* lean_import_modules(lean_object*, lean_object*, uint32_t, lean_object*);
lean_object* l_Std_PersistentArray_push___rarg(lean_object*, lean_object*);
-lean_object* l_List_forInAux___main___at_Lean_Elab_printDeps___spec__4(lean_object*, lean_object*, lean_object*);
+lean_object* l_List_forInAux___main___at_Lean_Elab_printDeps___spec__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Syntax_getArgs(lean_object*);
-lean_object* lean_get_stdout(lean_object*);
-lean_object* l_IO_print___at_Lean_Elab_printDeps___spec__2(lean_object*, lean_object*);
+lean_object* l_IO_println___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__4(lean_object*, lean_object*);
lean_object* lean_parse_imports(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Syntax_getPos(lean_object*);
uint8_t l_Lean_Syntax_isNone(lean_object*);
@@ -1048,69 +1044,7 @@ return x_38;
}
}
}
-lean_object* l_IO_getStdout___at_Lean_Elab_printDeps___spec__3(lean_object* x_1) {
-_start:
-{
-lean_object* x_2;
-x_2 = lean_get_stdout(x_1);
-return x_2;
-}
-}
-lean_object* l_IO_print___at_Lean_Elab_printDeps___spec__2(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3;
-x_3 = lean_get_stdout(x_2);
-if (lean_obj_tag(x_3) == 0)
-{
-lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_4 = lean_ctor_get(x_3, 0);
-lean_inc(x_4);
-x_5 = lean_ctor_get(x_3, 1);
-lean_inc(x_5);
-lean_dec(x_3);
-x_6 = lean_ctor_get(x_4, 5);
-lean_inc(x_6);
-lean_dec(x_4);
-x_7 = lean_apply_2(x_6, x_1, x_5);
-return x_7;
-}
-else
-{
-uint8_t x_8;
-lean_dec(x_1);
-x_8 = !lean_is_exclusive(x_3);
-if (x_8 == 0)
-{
-return x_3;
-}
-else
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11;
-x_9 = lean_ctor_get(x_3, 0);
-x_10 = lean_ctor_get(x_3, 1);
-lean_inc(x_10);
-lean_inc(x_9);
-lean_dec(x_3);
-x_11 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_11, 0, x_9);
-lean_ctor_set(x_11, 1, x_10);
-return x_11;
-}
-}
-}
-}
-lean_object* l_IO_println___at_Lean_Elab_printDeps___spec__1(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-uint32_t x_3; lean_object* x_4; lean_object* x_5;
-x_3 = 10;
-x_4 = lean_string_push(x_1, x_3);
-x_5 = l_IO_print___at_Lean_Elab_printDeps___spec__2(x_4, x_2);
-return x_5;
-}
-}
-lean_object* l_List_forInAux___main___at_Lean_Elab_printDeps___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l_List_forInAux___main___at_Lean_Elab_printDeps___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
if (lean_obj_tag(x_1) == 0)
@@ -1137,7 +1071,7 @@ lean_inc(x_9);
x_10 = lean_ctor_get(x_8, 1);
lean_inc(x_10);
lean_dec(x_8);
-x_11 = l_IO_println___at_Lean_Elab_printDeps___spec__1(x_9, x_10);
+x_11 = l_IO_println___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__4(x_9, x_10);
if (lean_obj_tag(x_11) == 0)
{
lean_object* x_12; lean_object* x_13;
@@ -1203,7 +1137,7 @@ _start:
{
lean_object* x_3; lean_object* x_4;
x_3 = lean_box(0);
-x_4 = l_List_forInAux___main___at_Lean_Elab_printDeps___spec__4(x_1, x_3, x_2);
+x_4 = l_List_forInAux___main___at_Lean_Elab_printDeps___spec__1(x_1, x_3, x_2);
lean_dec(x_1);
if (lean_obj_tag(x_4) == 0)
{
@@ -1251,11 +1185,11 @@ return x_12;
}
}
}
-lean_object* l_List_forInAux___main___at_Lean_Elab_printDeps___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l_List_forInAux___main___at_Lean_Elab_printDeps___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
-x_4 = l_List_forInAux___main___at_Lean_Elab_printDeps___spec__4(x_1, x_2, x_3);
+x_4 = l_List_forInAux___main___at_Lean_Elab_printDeps___spec__1(x_1, x_2, x_3);
lean_dec(x_1);
return x_4;
}
diff --git a/stage0/stdlib/Lean/Elab/IndentDefs.c b/stage0/stdlib/Lean/Elab/IndentDefs.c
new file mode 100644
index 0000000000..66d50e0586
--- /dev/null
+++ b/stage0/stdlib/Lean/Elab/IndentDefs.c
@@ -0,0 +1,33 @@
+// Lean compiler output
+// Module: Lean.Elab.IndentDefs
+// Imports: Init Lean.Elab.Frontend
+#include
+#if defined(__clang__)
+#pragma clang diagnostic ignored "-Wunused-parameter"
+#pragma clang diagnostic ignored "-Wunused-label"
+#elif defined(__GNUC__) && !defined(__CLANG__)
+#pragma GCC diagnostic ignored "-Wunused-parameter"
+#pragma GCC diagnostic ignored "-Wunused-label"
+#pragma GCC diagnostic ignored "-Wunused-but-set-variable"
+#endif
+#ifdef __cplusplus
+extern "C" {
+#endif
+lean_object* initialize_Init(lean_object*);
+lean_object* initialize_Lean_Elab_Frontend(lean_object*);
+static bool _G_initialized = false;
+lean_object* initialize_Lean_Elab_IndentDefs(lean_object* w) {
+lean_object * res;
+if (_G_initialized) return lean_io_result_mk_ok(lean_box(0));
+_G_initialized = true;
+res = initialize_Init(lean_io_mk_world());
+if (lean_io_result_is_error(res)) return res;
+lean_dec_ref(res);
+res = initialize_Lean_Elab_Frontend(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));
+}
+#ifdef __cplusplus
+}
+#endif
diff --git a/stage0/stdlib/Lean/Elab/Inductive.c b/stage0/stdlib/Lean/Elab/Inductive.c
index 79eada2960..ff56ec2c3c 100644
--- a/stage0/stdlib/Lean/Elab/Inductive.c
+++ b/stage0/stdlib/Lean/Elab/Inductive.c
@@ -22,7 +22,6 @@ extern lean_object* l_Lean_Meta_forallTelescopeCompatibleAux___rarg___lambda__4_
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_string_push(lean_object*, uint32_t);
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__2___closed__1;
-lean_object* lean_expr_update_forall(lean_object*, uint8_t, lean_object*, lean_object*);
extern lean_object* l_Lean_Expr_Lean_Expr___instance__1;
lean_object* l_Lean_Elab_Command_checkValidCtorModifier___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_collectUniversesFromCtorTypeAux___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*);
@@ -38,7 +37,6 @@ lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkTypeFor(lean
lean_object* l_Lean_Meta_forallTelescopeReducing___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_getResultingType___spec__1(lean_object*);
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_withUsed___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_stringToMessageData(lean_object*);
-lean_object* l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__6(lean_object*, lean_object*);
lean_object* l_Lean_mkSort(lean_object*);
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_match__1(lean_object*);
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___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*);
@@ -46,32 +44,27 @@ lean_object* l_Array_umapMAux___main___at___private_Lean_Elab_Inductive_0__Lean_
lean_object* l_Lean_Elab_Command_checkValidCtorModifier___lambda__1___closed__1;
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParamAux(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_checkHeaders_match__1(lean_object*);
-lean_object* l_unreachable_x21___rarg(lean_object*);
lean_object* l_Lean_addDecl___at_Lean_Elab_Term_declareTacticSyntax___spec__1(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_collectUniversesFromCtorTypeAux_match__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_checkValidCtorModifier___lambda__3___boxed(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_getResultingType___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_liftTermElabM___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-uint8_t l_USize_decEq(size_t, size_t);
lean_object* lean_array_uget(lean_object*, size_t);
lean_object* lean_io_error_to_string(lean_object*);
lean_object* l_Nat_foldAux___main___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* l_List_forM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_traceIndTypes___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_List_mapM___main___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_expr_update_mdata(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_InductiveView_inhabited;
lean_object* l_Lean_Elab_Command_checkValidInductiveModifier___lambda__1___closed__2;
uint8_t lean_name_eq(lean_object*, lean_object*);
extern lean_object* l_Lean_Elab_Attribute_inhabited;
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl_match__1___rarg(lean_object*, lean_object*, lean_object*);
-lean_object* l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__4(lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_collectUniversesFromCtorTypeAux_match__1(lean_object*);
lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__1___closed__3;
extern lean_object* l_Std_HashMap_inhabited___closed__1;
lean_object* l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__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*, lean_object*);
-lean_object* lean_array_uset(lean_object*, size_t, lean_object*);
lean_object* l_Lean_Meta_forallTelescopeReducing___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkParamsAndResultType___spec__1(lean_object*);
+lean_object* l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit(lean_object*, size_t, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_collectUniverses___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_Lean_initFn____x40_Lean_Class___hyg_785____closed__2;
lean_object* l_Array_extract___rarg(lean_object*, lean_object*, lean_object*);
@@ -88,6 +81,7 @@ lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateParams__
uint8_t l_Lean_Level_hasMVar(lean_object*);
lean_object* lean_st_ref_get(lean_object*, lean_object*);
lean_object* l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParamAux___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_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_isLevelDefEq___spec__2___rarg(lean_object*, lean_object*);
extern lean_object* l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_collectUniversesFromCtorTypeAux_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkLevelNames___spec__1(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -114,7 +108,9 @@ lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_throwUnexpecte
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___lambda__3(lean_object*, lean_object*, lean_object*, 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_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_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1___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_checkNumParams___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1(lean_object*, size_t, lean_object*);
lean_object* l_Lean_Elab_Command_shouldInferResultUniverse(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_checkValidCtorModifier___lambda__1___closed__2;
lean_object* l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParamAux___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -155,11 +151,9 @@ lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean
lean_object* l_IO_getStdout___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_traceIndTypes___spec__3___rarg___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___lambda__4(lean_object*, lean_object*, 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_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__5___closed__5;
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_isLevelDefEq___spec__3___rarg(lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_withInductiveLocalDecls_loop___rarg(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_checkValidInductiveModifier___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_List_forM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_traceIndTypes___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_array_fget(lean_object*, lean_object*);
extern lean_object* l_Lean_Meta_isExprDefEq___rarg___closed__2;
extern lean_object* l_Lean_Meta_isLevelDefEqAux___closed__6;
@@ -186,7 +180,6 @@ lean_object* l_Lean_Elab_Command_checkValidInductiveModifier___lambda__1___boxed
lean_object* l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___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* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_traceIndTypes___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_tmpIndParam___closed__2;
-lean_object* l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__3(lean_object*, size_t, lean_object*, lean_object*);
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkNumParams___spec__1___closed__3;
extern lean_object* l_Lean_Expr_heq_x3f___closed__2;
lean_object* l_List_map___main___at_Lean_Meta_addGlobalInstanceImp___spec__1(lean_object*);
@@ -276,15 +269,13 @@ lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_throwUnexpecte
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_collectUniversesFromCtorTypeAux___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___private_Lean_Meta_InferType_0__Lean_Meta_getLevelImp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkParamsAndResultType___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1(lean_object*, size_t, lean_object*, lean_object*);
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkLevelNames___spec__1___closed__3;
lean_object* l_Lean_Elab_sortDeclLevelParams(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_getResultingUniverse___closed__2;
lean_object* l_Lean_Elab_Command_checkValidCtorModifier___lambda__3___closed__3;
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_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_collectUsedFVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* lean_expr_update_let(lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_ReaderT_bind___at_Lean_Elab_Term_monadLog___spec__2___rarg(lean_object*, lean_object*, lean_object*, 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___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_isTypeFormerType___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -304,7 +295,6 @@ lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkHeaders_m
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_getResultingUniverse_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkCtor2InferMod___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_isExprDefEq___at_Lean_Elab_Term_synthesizeInstMVarCore___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* lean_expr_update_proj(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_elabBinders___rarg___boxed(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(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Nat_foldAux___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkIndFVar2Const___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -320,7 +310,6 @@ lean_object* lean_mk_binduction_on(lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_withUsed___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___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* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkHeaders(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_USize_mod(size_t, size_t);
lean_object* l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__4___closed__2;
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_getResultingUniverse___closed__3;
lean_object* l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_applyInferMod___spec__1(lean_object*, lean_object*, lean_object*);
@@ -335,13 +324,10 @@ lean_object* l_Lean_Elab_Command_shouldInferResultUniverse___closed__1;
lean_object* l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__5___closed__1;
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkParamsAndResultType___closed__1;
lean_object* l_Lean_Elab_Command_checkValidCtorModifier___closed__1;
-lean_object* l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_isLevelDefEq___spec__4(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_isInductiveFamily___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-size_t lean_ptr_addr(lean_object*);
lean_object* l_IO_print___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_traceIndTypes___spec__2___boxed(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_checkUnsafe___spec__1___closed__2;
lean_object* l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___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_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__5___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_checkValidCtorModifier___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__4___closed__1;
lean_object* l_IO_getStdout___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_traceIndTypes___spec__3___rarg(lean_object*, lean_object*, lean_object*);
@@ -359,16 +345,15 @@ uint8_t lean_expr_eqv(lean_object*, lean_object*);
extern lean_object* l_Lean_CollectLevelParams_State_inhabited___closed__1;
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___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___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkIndFVar2Const___boxed(lean_object*, lean_object*, lean_object*);
-lean_object* lean_expr_update_sort(lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux_match__2(lean_object*);
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_shouldInferResultUniverse___closed__4;
lean_object* l_Lean_Elab_Command_InductiveView_inhabited___closed__1;
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___closed__1;
+lean_object* l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__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_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkUnsafe___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_Lean_Meta_mkForallFVars___at_Lean_Elab_Term_elabForall___spec__2___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_Inductive_0__Lean_Elab_Command_checkParamsAndResultType___boxed(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_Meta_AbstractMVars_abstractExprMVars___closed__1;
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_getResultingUniverse___closed__1;
lean_object* l_Lean_Syntax_getArgs(lean_object*);
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeader(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -388,6 +373,7 @@ lean_object* l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkUnsafe___spec__1___closed__1;
lean_object* lean_get_stdout(lean_object*);
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___spec__1___lambda__3(uint8_t, uint8_t, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1___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* 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* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_withUsed_match__1___rarg(lean_object*, lean_object*);
extern lean_object* l_Lean_Expr_ReplaceLevelImpl_initCache;
@@ -398,7 +384,6 @@ lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_collectUnivers
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_getResultingType___lambda__1___boxed(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___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___private_Lean_Elab_Inductive_0__Lean_Elab_Command_getResultingUniverse___closed__4;
-lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1(lean_object*, lean_object*, lean_object*, size_t, lean_object*, lean_object*);
lean_object* l_Lean_Meta_setMCtx___at___private_Lean_Meta_Basic_0__Lean_Meta_liftMkBindingM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_elabInductiveViews___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_st_ref_set(lean_object*, lean_object*, lean_object*);
@@ -408,7 +393,6 @@ lean_object* l_Lean_Elab_Command_checkValidInductiveModifier___closed__2;
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_throwUnexpectedInductiveType___rarg___closed__3;
lean_object* l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateParams___spec__2(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_checkLevelNames___spec__1___closed__1;
-lean_object* lean_expr_update_lambda(lean_object*, uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_Meta_forallTelescopeReducing___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_preprocess___spec__1___rarg(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___spec__1___closed__2;
extern lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Term_0__Lean_Elab_Term_applyAttributesCore___spec__1___closed__1;
@@ -419,34 +403,31 @@ lean_object* lean_mk_rec_on(lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_removeUnused_match__1___rarg(lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkUnsafe___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_forallTelescopeCompatibleAux___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__5(lean_object*, size_t, lean_object*);
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux_match__1(lean_object*);
lean_object* l_Array_toList___rarg(lean_object*);
lean_object* l_Lean_Elab_Command_checkValidInductiveModifier___closed__1;
lean_object* l_Array_iterateMAux___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkCtor2InferMod___spec__2(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_collectUniversesFromCtorType___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_Elab_Command_CtorView_inhabited___closed__1;
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
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* l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParamAux___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_List_mapM___main___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*);
+lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(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_levelMVarToParamAux___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_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_List_forM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_collectUsed___spec__1___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_CtorView_inhabited___closed__2;
-lean_object* l_Lean_Level_replace___main(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_elabBinders___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_inferImplicit(lean_object*, lean_object*, uint8_t);
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__2___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_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___spec__2___lambda__1(uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Level_occurs(lean_object*, lean_object*);
-lean_object* l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__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*);
lean_object* l_Lean_Elab_Command_checkValidCtorModifier___closed__3;
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_getResultingType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkFreshLevelMVar___at_Lean_Elab_Term_ensureType___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl_match__1(lean_object*);
uint8_t l_Array_anyRangeMAux___main___at_Lean_Elab_Command_accLevelAtCtor___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_getResultingUniverse_match__2___rarg(lean_object*, lean_object*, lean_object*);
@@ -459,7 +440,6 @@ lean_object* l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___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___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts(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_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateParams___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(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*, lean_object*, lean_object*);
extern lean_object* l_System_FilePath_dirName___closed__1;
lean_object* l_unsafeCast(lean_object*, lean_object*, lean_object*);
@@ -470,11 +450,11 @@ lean_object* l_Lean_Name_toStringWithSep___main(lean_object*, lean_object*);
lean_object* l_Lean_mkLevelParam(lean_object*);
lean_object* l_Nat_foldMAux___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___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*);
lean_object* l_Array_forInUnsafe_loop___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*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* lean_expr_update_app(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkParamsAndResultType_match__2___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkCtor2InferMod___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t lean_level_eq(lean_object*, lean_object*);
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___spec__2(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___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*);
uint8_t l_Array_contains___at_Lean_Elab_Command_accLevelAtCtor___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_indentExpr(lean_object*);
@@ -495,8 +475,8 @@ lean_object* l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_
lean_object* l_Lean_Meta_mkForallFVars___at_Lean_Elab_Term_elabForall___spec__2(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_isInductiveFamily___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* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_withInductiveLocalDecls_loop(lean_object*);
+lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(lean_object*, size_t, lean_object*, lean_object*);
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkUnsafe___spec__1___closed__3;
-lean_object* lean_expr_update_const(lean_object*, lean_object*);
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___spec__1___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_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__5___closed__2;
lean_object* l_Lean_Elab_Command_checkValidCtorModifier___lambda__2___closed__3;
@@ -519,6 +499,7 @@ uint8_t lean_nat_dec_lt(lean_object*, lean_object*);
lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabCommand___spec__7___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkLevelNames___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_Lean_Elab_Command_checkValidInductiveModifier___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_isLevelDefEq___spec__3(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_mkInductiveDecl___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* _init_l_Lean_Elab_Command_checkValidInductiveModifier___lambda__1___closed__1() {
_start:
@@ -2371,51 +2352,53 @@ return x_10;
lean_object* l_Lean_Meta_isExprDefEq___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_eqvFirstTypeResult___spec__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) {
_start:
{
-lean_object* x_8; lean_object* x_17; uint8_t x_18; lean_object* x_19; lean_object* x_419; lean_object* x_420; lean_object* x_421; uint8_t x_422;
+lean_object* x_8; lean_object* x_21; uint8_t x_22; lean_object* x_23; lean_object* x_439; lean_object* x_440; lean_object* x_441; uint8_t x_442;
lean_inc(x_2);
lean_inc(x_1);
-x_17 = lean_alloc_closure((void*)(l_Lean_Meta_isExprDefEqAux), 8, 2);
-lean_closure_set(x_17, 0, x_1);
-lean_closure_set(x_17, 1, x_2);
-x_419 = lean_st_ref_get(x_6, x_7);
-x_420 = lean_ctor_get(x_419, 0);
-lean_inc(x_420);
-x_421 = lean_ctor_get(x_420, 3);
-lean_inc(x_421);
-lean_dec(x_420);
-x_422 = lean_ctor_get_uint8(x_421, sizeof(void*)*1);
-lean_dec(x_421);
-if (x_422 == 0)
+x_21 = lean_alloc_closure((void*)(l_Lean_Meta_isExprDefEqAux), 8, 2);
+lean_closure_set(x_21, 0, x_1);
+lean_closure_set(x_21, 1, x_2);
+x_439 = lean_st_ref_get(x_6, x_7);
+x_440 = lean_ctor_get(x_439, 0);
+lean_inc(x_440);
+x_441 = lean_ctor_get(x_440, 3);
+lean_inc(x_441);
+lean_dec(x_440);
+x_442 = lean_ctor_get_uint8(x_441, sizeof(void*)*1);
+lean_dec(x_441);
+if (x_442 == 0)
{
-lean_object* x_423; uint8_t x_424;
-x_423 = lean_ctor_get(x_419, 1);
-lean_inc(x_423);
-lean_dec(x_419);
-x_424 = 0;
-x_18 = x_424;
-x_19 = x_423;
-goto block_418;
+lean_object* x_443; uint8_t x_444;
+x_443 = lean_ctor_get(x_439, 1);
+lean_inc(x_443);
+lean_dec(x_439);
+x_444 = 0;
+x_22 = x_444;
+x_23 = x_443;
+goto block_438;
}
else
{
-lean_object* x_425; lean_object* x_426; lean_object* x_427; lean_object* x_428; lean_object* x_429; uint8_t x_430;
-x_425 = lean_ctor_get(x_419, 1);
-lean_inc(x_425);
-lean_dec(x_419);
-x_426 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_427 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_426, x_3, x_4, x_5, x_6, x_425);
-x_428 = lean_ctor_get(x_427, 0);
-lean_inc(x_428);
-x_429 = lean_ctor_get(x_427, 1);
-lean_inc(x_429);
-lean_dec(x_427);
-x_430 = lean_unbox(x_428);
-lean_dec(x_428);
-x_18 = x_430;
-x_19 = x_429;
-goto block_418;
+lean_object* x_445; lean_object* x_446; lean_object* x_447; lean_object* x_448; lean_object* x_449; uint8_t x_450;
+x_445 = lean_ctor_get(x_439, 1);
+lean_inc(x_445);
+lean_dec(x_439);
+x_446 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_447 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_446, x_3, x_4, x_5, x_6, x_445);
+x_448 = lean_ctor_get(x_447, 0);
+lean_inc(x_448);
+x_449 = lean_ctor_get(x_447, 1);
+lean_inc(x_449);
+lean_dec(x_447);
+x_450 = lean_unbox(x_448);
+lean_dec(x_448);
+x_22 = x_450;
+x_23 = x_449;
+goto block_438;
}
-block_16:
+block_20:
+{
+if (lean_obj_tag(x_8) == 0)
{
uint8_t x_9;
x_9 = !lean_is_exclusive(x_8);
@@ -2446,1401 +2429,1476 @@ lean_ctor_set(x_15, 1, x_13);
return x_15;
}
}
-block_418:
+else
{
-if (x_18 == 0)
+uint8_t x_16;
+x_16 = !lean_is_exclusive(x_8);
+if (x_16 == 0)
{
-lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t x_29;
-x_20 = lean_st_ref_get(x_6, x_19);
-x_21 = lean_ctor_get(x_20, 0);
-lean_inc(x_21);
-x_22 = lean_ctor_get(x_21, 3);
-lean_inc(x_22);
-lean_dec(x_21);
-x_23 = lean_ctor_get(x_20, 1);
-lean_inc(x_23);
-lean_dec(x_20);
-x_24 = lean_ctor_get_uint8(x_22, sizeof(void*)*1);
-lean_dec(x_22);
-x_25 = lean_st_ref_take(x_6, x_23);
-x_26 = lean_ctor_get(x_25, 0);
-lean_inc(x_26);
-x_27 = lean_ctor_get(x_26, 3);
+return x_8;
+}
+else
+{
+lean_object* x_17; lean_object* x_18; lean_object* x_19;
+x_17 = lean_ctor_get(x_8, 0);
+x_18 = lean_ctor_get(x_8, 1);
+lean_inc(x_18);
+lean_inc(x_17);
+lean_dec(x_8);
+x_19 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_19, 0, x_17);
+lean_ctor_set(x_19, 1, x_18);
+return x_19;
+}
+}
+}
+block_438:
+{
+uint8_t x_24;
+if (x_22 == 0)
+{
+uint8_t x_436;
+x_436 = 1;
+x_24 = x_436;
+goto block_435;
+}
+else
+{
+uint8_t x_437;
+x_437 = 0;
+x_24 = x_437;
+goto block_435;
+}
+block_435:
+{
+if (x_24 == 0)
+{
+lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t x_29; lean_object* x_30; lean_object* x_40; lean_object* x_41; lean_object* x_49;
+x_25 = lean_ctor_get(x_5, 3);
+lean_inc(x_25);
+x_26 = l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_isLevelDefEq___spec__2___rarg(x_6, x_23);
+x_27 = lean_ctor_get(x_26, 0);
lean_inc(x_27);
-x_28 = lean_ctor_get(x_25, 1);
+x_28 = lean_ctor_get(x_26, 1);
lean_inc(x_28);
-lean_dec(x_25);
-x_29 = !lean_is_exclusive(x_26);
-if (x_29 == 0)
-{
-lean_object* x_30; uint8_t x_31;
-x_30 = lean_ctor_get(x_26, 3);
-lean_dec(x_30);
-x_31 = !lean_is_exclusive(x_27);
-if (x_31 == 0)
-{
-uint8_t x_32; lean_object* x_33; lean_object* x_34; uint8_t x_35; lean_object* x_36; lean_object* x_84;
-x_32 = 0;
-lean_ctor_set_uint8(x_27, sizeof(void*)*1, x_32);
-x_33 = lean_st_ref_set(x_6, x_26, x_28);
-x_34 = lean_ctor_get(x_33, 1);
-lean_inc(x_34);
-lean_dec(x_33);
+lean_dec(x_26);
lean_inc(x_6);
lean_inc(x_5);
lean_inc(x_4);
lean_inc(x_3);
-x_84 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_17, x_3, x_4, x_5, x_6, x_34);
-if (lean_obj_tag(x_84) == 0)
+x_49 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_21, x_3, x_4, x_5, x_6, x_28);
+if (lean_obj_tag(x_49) == 0)
{
-lean_object* x_85; lean_object* x_86; uint8_t x_87; lean_object* x_88; lean_object* x_115; lean_object* x_116; lean_object* x_117; uint8_t x_118;
-x_85 = lean_ctor_get(x_84, 0);
-lean_inc(x_85);
-x_86 = lean_ctor_get(x_84, 1);
-lean_inc(x_86);
-lean_dec(x_84);
-x_115 = lean_st_ref_get(x_6, x_86);
-x_116 = lean_ctor_get(x_115, 0);
-lean_inc(x_116);
-x_117 = lean_ctor_get(x_116, 3);
-lean_inc(x_117);
-lean_dec(x_116);
-x_118 = lean_ctor_get_uint8(x_117, sizeof(void*)*1);
-lean_dec(x_117);
-if (x_118 == 0)
-{
-lean_object* x_119;
-x_119 = lean_ctor_get(x_115, 1);
-lean_inc(x_119);
-lean_dec(x_115);
-x_87 = x_32;
-x_88 = x_119;
-goto block_114;
-}
-else
-{
-lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; uint8_t x_125;
-x_120 = lean_ctor_get(x_115, 1);
-lean_inc(x_120);
-lean_dec(x_115);
-x_121 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_122 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_121, x_3, x_4, x_5, x_6, x_120);
-x_123 = lean_ctor_get(x_122, 0);
-lean_inc(x_123);
-x_124 = lean_ctor_get(x_122, 1);
-lean_inc(x_124);
-lean_dec(x_122);
-x_125 = lean_unbox(x_123);
-lean_dec(x_123);
-x_87 = x_125;
-x_88 = x_124;
-goto block_114;
-}
-block_114:
-{
-if (x_87 == 0)
-{
-uint8_t x_89;
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_dec(x_1);
-x_89 = lean_unbox(x_85);
-lean_dec(x_85);
-x_35 = x_89;
-x_36 = x_88;
-goto block_83;
-}
-else
-{
-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; uint8_t x_99;
-x_90 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_90, 0, x_1);
-x_91 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_92 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_92, 0, x_91);
-lean_ctor_set(x_92, 1, x_90);
-x_93 = l_Lean_Meta_isLevelDefEqAux___closed__6;
-x_94 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_94, 0, x_92);
-lean_ctor_set(x_94, 1, x_93);
-x_95 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_95, 0, x_2);
-x_96 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_96, 0, x_94);
-lean_ctor_set(x_96, 1, x_95);
-x_97 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
-x_98 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_98, 0, x_96);
-lean_ctor_set(x_98, 1, x_97);
-x_99 = lean_unbox(x_85);
-if (x_99 == 0)
-{
-lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; uint8_t x_106;
-x_100 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
-x_101 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_101, 0, x_98);
-lean_ctor_set(x_101, 1, x_100);
-x_102 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_102, 0, x_101);
-lean_ctor_set(x_102, 1, x_91);
-x_103 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_104 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_103, x_102, x_3, x_4, x_5, x_6, x_88);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_105 = lean_ctor_get(x_104, 1);
-lean_inc(x_105);
-lean_dec(x_104);
-x_106 = lean_unbox(x_85);
-lean_dec(x_85);
-x_35 = x_106;
-x_36 = x_105;
-goto block_83;
-}
-else
-{
-lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; uint8_t x_113;
-x_107 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
-x_108 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_108, 0, x_98);
-lean_ctor_set(x_108, 1, x_107);
-x_109 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_109, 0, x_108);
-lean_ctor_set(x_109, 1, x_91);
-x_110 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_111 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_110, x_109, x_3, x_4, x_5, x_6, x_88);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_112 = lean_ctor_get(x_111, 1);
-lean_inc(x_112);
-lean_dec(x_111);
-x_113 = lean_unbox(x_85);
-lean_dec(x_85);
-x_35 = x_113;
-x_36 = x_112;
-goto block_83;
-}
-}
-}
-}
-else
-{
-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; uint8_t x_134;
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_dec(x_1);
-x_126 = lean_ctor_get(x_84, 0);
-lean_inc(x_126);
-x_127 = lean_ctor_get(x_84, 1);
-lean_inc(x_127);
-lean_dec(x_84);
-x_128 = lean_st_ref_get(x_6, x_127);
-x_129 = lean_ctor_get(x_128, 1);
-lean_inc(x_129);
-lean_dec(x_128);
-x_130 = lean_st_ref_take(x_6, x_129);
-x_131 = lean_ctor_get(x_130, 0);
-lean_inc(x_131);
-x_132 = lean_ctor_get(x_131, 3);
-lean_inc(x_132);
-x_133 = lean_ctor_get(x_130, 1);
-lean_inc(x_133);
-lean_dec(x_130);
-x_134 = !lean_is_exclusive(x_131);
-if (x_134 == 0)
-{
-lean_object* x_135; uint8_t x_136;
-x_135 = lean_ctor_get(x_131, 3);
-lean_dec(x_135);
-x_136 = !lean_is_exclusive(x_132);
-if (x_136 == 0)
-{
-lean_object* x_137; uint8_t x_138;
-lean_ctor_set_uint8(x_132, sizeof(void*)*1, x_24);
-x_137 = lean_st_ref_set(x_6, x_131, x_133);
-lean_dec(x_6);
-x_138 = !lean_is_exclusive(x_137);
-if (x_138 == 0)
-{
-lean_object* x_139;
-x_139 = lean_ctor_get(x_137, 0);
-lean_dec(x_139);
-lean_ctor_set_tag(x_137, 1);
-lean_ctor_set(x_137, 0, x_126);
-return x_137;
-}
-else
-{
-lean_object* x_140; lean_object* x_141;
-x_140 = lean_ctor_get(x_137, 1);
-lean_inc(x_140);
-lean_dec(x_137);
-x_141 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_141, 0, x_126);
-lean_ctor_set(x_141, 1, x_140);
-return x_141;
-}
-}
-else
-{
-lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147;
-x_142 = lean_ctor_get(x_132, 0);
-lean_inc(x_142);
-lean_dec(x_132);
-x_143 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_143, 0, x_142);
-lean_ctor_set_uint8(x_143, sizeof(void*)*1, x_24);
-lean_ctor_set(x_131, 3, x_143);
-x_144 = lean_st_ref_set(x_6, x_131, x_133);
-lean_dec(x_6);
-x_145 = lean_ctor_get(x_144, 1);
-lean_inc(x_145);
-if (lean_is_exclusive(x_144)) {
- lean_ctor_release(x_144, 0);
- lean_ctor_release(x_144, 1);
- x_146 = x_144;
-} else {
- lean_dec_ref(x_144);
- x_146 = lean_box(0);
-}
-if (lean_is_scalar(x_146)) {
- x_147 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_147 = x_146;
- lean_ctor_set_tag(x_147, 1);
-}
-lean_ctor_set(x_147, 0, x_126);
-lean_ctor_set(x_147, 1, x_145);
-return x_147;
-}
-}
-else
-{
-lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158;
-x_148 = lean_ctor_get(x_131, 0);
-x_149 = lean_ctor_get(x_131, 1);
-x_150 = lean_ctor_get(x_131, 2);
-lean_inc(x_150);
-lean_inc(x_149);
-lean_inc(x_148);
-lean_dec(x_131);
-x_151 = lean_ctor_get(x_132, 0);
-lean_inc(x_151);
-if (lean_is_exclusive(x_132)) {
- lean_ctor_release(x_132, 0);
- x_152 = x_132;
-} else {
- lean_dec_ref(x_132);
- x_152 = lean_box(0);
-}
-if (lean_is_scalar(x_152)) {
- x_153 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_153 = x_152;
-}
-lean_ctor_set(x_153, 0, x_151);
-lean_ctor_set_uint8(x_153, sizeof(void*)*1, x_24);
-x_154 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_154, 0, x_148);
-lean_ctor_set(x_154, 1, x_149);
-lean_ctor_set(x_154, 2, x_150);
-lean_ctor_set(x_154, 3, x_153);
-x_155 = lean_st_ref_set(x_6, x_154, x_133);
-lean_dec(x_6);
-x_156 = lean_ctor_get(x_155, 1);
-lean_inc(x_156);
-if (lean_is_exclusive(x_155)) {
- lean_ctor_release(x_155, 0);
- lean_ctor_release(x_155, 1);
- x_157 = x_155;
-} else {
- lean_dec_ref(x_155);
- x_157 = lean_box(0);
-}
-if (lean_is_scalar(x_157)) {
- x_158 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_158 = x_157;
- lean_ctor_set_tag(x_158, 1);
-}
-lean_ctor_set(x_158, 0, x_126);
-lean_ctor_set(x_158, 1, x_156);
-return x_158;
-}
-}
-block_83:
-{
-lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; uint8_t x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; uint8_t x_46;
-x_37 = lean_st_ref_get(x_6, x_36);
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-x_39 = lean_ctor_get(x_37, 1);
-lean_inc(x_39);
-lean_dec(x_37);
-x_40 = lean_ctor_get(x_38, 3);
-lean_inc(x_40);
-lean_dec(x_38);
-x_41 = lean_ctor_get_uint8(x_40, sizeof(void*)*1);
-lean_dec(x_40);
-x_42 = lean_st_ref_take(x_6, x_39);
-x_43 = lean_ctor_get(x_42, 0);
-lean_inc(x_43);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-x_45 = lean_ctor_get(x_42, 1);
-lean_inc(x_45);
-lean_dec(x_42);
-x_46 = !lean_is_exclusive(x_43);
-if (x_46 == 0)
-{
-lean_object* x_47; uint8_t x_48;
-x_47 = lean_ctor_get(x_43, 3);
-lean_dec(x_47);
-x_48 = !lean_is_exclusive(x_44);
-if (x_48 == 0)
-{
-lean_object* x_49; uint8_t x_50;
-lean_ctor_set_uint8(x_44, sizeof(void*)*1, x_24);
-x_49 = lean_st_ref_set(x_6, x_43, x_45);
-lean_dec(x_6);
-x_50 = !lean_is_exclusive(x_49);
-if (x_50 == 0)
-{
-lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54;
-x_51 = lean_ctor_get(x_49, 0);
-lean_dec(x_51);
-x_52 = lean_box(x_35);
-x_53 = lean_box(x_41);
-x_54 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_54, 0, x_52);
-lean_ctor_set(x_54, 1, x_53);
-lean_ctor_set(x_49, 0, x_54);
-x_8 = x_49;
-goto block_16;
-}
-else
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59;
-x_55 = lean_ctor_get(x_49, 1);
-lean_inc(x_55);
+lean_object* x_50; lean_object* x_51; uint8_t x_52; lean_object* x_53; lean_object* x_80; lean_object* x_81; lean_object* x_82; uint8_t x_83;
+x_50 = lean_ctor_get(x_49, 0);
+lean_inc(x_50);
+x_51 = lean_ctor_get(x_49, 1);
+lean_inc(x_51);
lean_dec(x_49);
-x_56 = lean_box(x_35);
-x_57 = lean_box(x_41);
-x_58 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_58, 0, x_56);
-lean_ctor_set(x_58, 1, x_57);
-x_59 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_59, 0, x_58);
-lean_ctor_set(x_59, 1, x_55);
-x_8 = x_59;
-goto block_16;
-}
+x_80 = lean_st_ref_get(x_6, x_51);
+x_81 = lean_ctor_get(x_80, 0);
+lean_inc(x_81);
+x_82 = lean_ctor_get(x_81, 3);
+lean_inc(x_82);
+lean_dec(x_81);
+x_83 = lean_ctor_get_uint8(x_82, sizeof(void*)*1);
+lean_dec(x_82);
+if (x_83 == 0)
+{
+lean_object* x_84; uint8_t x_85;
+x_84 = lean_ctor_get(x_80, 1);
+lean_inc(x_84);
+lean_dec(x_80);
+x_85 = 0;
+x_52 = x_85;
+x_53 = x_84;
+goto block_79;
}
else
{
-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;
-x_60 = lean_ctor_get(x_44, 0);
-lean_inc(x_60);
-lean_dec(x_44);
-x_61 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_61, 0, x_60);
-lean_ctor_set_uint8(x_61, sizeof(void*)*1, x_24);
-lean_ctor_set(x_43, 3, x_61);
-x_62 = lean_st_ref_set(x_6, x_43, x_45);
-lean_dec(x_6);
-x_63 = lean_ctor_get(x_62, 1);
-lean_inc(x_63);
-if (lean_is_exclusive(x_62)) {
- lean_ctor_release(x_62, 0);
- lean_ctor_release(x_62, 1);
- x_64 = x_62;
-} else {
- lean_dec_ref(x_62);
- x_64 = lean_box(0);
-}
-x_65 = lean_box(x_35);
-x_66 = lean_box(x_41);
-x_67 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_67, 0, x_65);
-lean_ctor_set(x_67, 1, x_66);
-if (lean_is_scalar(x_64)) {
- x_68 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_68 = x_64;
-}
-lean_ctor_set(x_68, 0, x_67);
-lean_ctor_set(x_68, 1, x_63);
-x_8 = x_68;
-goto block_16;
+lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; uint8_t x_91;
+x_86 = lean_ctor_get(x_80, 1);
+lean_inc(x_86);
+lean_dec(x_80);
+x_87 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_88 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_87, x_3, x_4, x_5, x_6, x_86);
+x_89 = lean_ctor_get(x_88, 0);
+lean_inc(x_89);
+x_90 = lean_ctor_get(x_88, 1);
+lean_inc(x_90);
+lean_dec(x_88);
+x_91 = lean_unbox(x_89);
+lean_dec(x_89);
+x_52 = x_91;
+x_53 = x_90;
+goto block_79;
}
+block_79:
+{
+if (x_52 == 0)
+{
+uint8_t x_54;
+lean_dec(x_2);
+lean_dec(x_1);
+x_54 = lean_unbox(x_50);
+lean_dec(x_50);
+x_29 = x_54;
+x_30 = x_53;
+goto block_39;
}
else
{
-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; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82;
-x_69 = lean_ctor_get(x_43, 0);
-x_70 = lean_ctor_get(x_43, 1);
-x_71 = lean_ctor_get(x_43, 2);
-lean_inc(x_71);
+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; uint8_t x_64;
+x_55 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_55, 0, x_1);
+x_56 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_57 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_57, 0, x_56);
+lean_ctor_set(x_57, 1, x_55);
+x_58 = l_Lean_Meta_isLevelDefEqAux___closed__6;
+x_59 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_59, 0, x_57);
+lean_ctor_set(x_59, 1, x_58);
+x_60 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_60, 0, x_2);
+x_61 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_61, 0, x_59);
+lean_ctor_set(x_61, 1, x_60);
+x_62 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
+x_63 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_63, 0, x_61);
+lean_ctor_set(x_63, 1, x_62);
+x_64 = lean_unbox(x_50);
+if (x_64 == 0)
+{
+lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; uint8_t x_71;
+x_65 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
+x_66 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_66, 0, x_63);
+lean_ctor_set(x_66, 1, x_65);
+x_67 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_67, 0, x_66);
+lean_ctor_set(x_67, 1, x_56);
+x_68 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_69 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_68, x_67, x_3, x_4, x_5, x_6, x_53);
+x_70 = lean_ctor_get(x_69, 1);
lean_inc(x_70);
-lean_inc(x_69);
-lean_dec(x_43);
-x_72 = lean_ctor_get(x_44, 0);
-lean_inc(x_72);
-if (lean_is_exclusive(x_44)) {
- lean_ctor_release(x_44, 0);
- x_73 = x_44;
-} else {
- lean_dec_ref(x_44);
- x_73 = lean_box(0);
+lean_dec(x_69);
+x_71 = lean_unbox(x_50);
+lean_dec(x_50);
+x_29 = x_71;
+x_30 = x_70;
+goto block_39;
}
-if (lean_is_scalar(x_73)) {
- x_74 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_74 = x_73;
-}
-lean_ctor_set(x_74, 0, x_72);
-lean_ctor_set_uint8(x_74, sizeof(void*)*1, x_24);
-x_75 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_75, 0, x_69);
-lean_ctor_set(x_75, 1, x_70);
-lean_ctor_set(x_75, 2, x_71);
-lean_ctor_set(x_75, 3, x_74);
-x_76 = lean_st_ref_set(x_6, x_75, x_45);
-lean_dec(x_6);
+else
+{
+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;
+x_72 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
+x_73 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_73, 0, x_63);
+lean_ctor_set(x_73, 1, x_72);
+x_74 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_74, 0, x_73);
+lean_ctor_set(x_74, 1, x_56);
+x_75 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_76 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_75, x_74, x_3, x_4, x_5, x_6, x_53);
x_77 = lean_ctor_get(x_76, 1);
lean_inc(x_77);
-if (lean_is_exclusive(x_76)) {
- lean_ctor_release(x_76, 0);
- lean_ctor_release(x_76, 1);
- x_78 = x_76;
-} else {
- lean_dec_ref(x_76);
- x_78 = lean_box(0);
+lean_dec(x_76);
+x_78 = lean_unbox(x_50);
+lean_dec(x_50);
+x_29 = x_78;
+x_30 = x_77;
+goto block_39;
}
-x_79 = lean_box(x_35);
-x_80 = lean_box(x_41);
-x_81 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_81, 0, x_79);
-lean_ctor_set(x_81, 1, x_80);
-if (lean_is_scalar(x_78)) {
- x_82 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_82 = x_78;
-}
-lean_ctor_set(x_82, 0, x_81);
-lean_ctor_set(x_82, 1, x_77);
-x_8 = x_82;
-goto block_16;
}
}
}
else
{
-lean_object* x_159; uint8_t x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; uint8_t x_164; lean_object* x_165; lean_object* x_191;
-x_159 = lean_ctor_get(x_27, 0);
-lean_inc(x_159);
-lean_dec(x_27);
-x_160 = 0;
-x_161 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_161, 0, x_159);
-lean_ctor_set_uint8(x_161, sizeof(void*)*1, x_160);
-lean_ctor_set(x_26, 3, x_161);
-x_162 = lean_st_ref_set(x_6, x_26, x_28);
-x_163 = lean_ctor_get(x_162, 1);
-lean_inc(x_163);
-lean_dec(x_162);
+lean_object* x_92; lean_object* x_93;
+lean_dec(x_2);
+lean_dec(x_1);
+x_92 = lean_ctor_get(x_49, 0);
+lean_inc(x_92);
+x_93 = lean_ctor_get(x_49, 1);
+lean_inc(x_93);
+lean_dec(x_49);
+x_40 = x_92;
+x_41 = x_93;
+goto block_48;
+}
+block_39:
+{
+lean_object* x_31; lean_object* x_32; uint8_t x_33;
+x_31 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_32 = l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_isLevelDefEq___spec__3(x_27, x_31, x_25, x_3, x_4, x_5, x_6, x_30);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_33 = !lean_is_exclusive(x_32);
+if (x_33 == 0)
+{
+lean_object* x_34; lean_object* x_35;
+x_34 = lean_ctor_get(x_32, 0);
+lean_dec(x_34);
+x_35 = lean_box(x_29);
+lean_ctor_set(x_32, 0, x_35);
+return x_32;
+}
+else
+{
+lean_object* x_36; lean_object* x_37; lean_object* x_38;
+x_36 = lean_ctor_get(x_32, 1);
+lean_inc(x_36);
+lean_dec(x_32);
+x_37 = lean_box(x_29);
+x_38 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_38, 0, x_37);
+lean_ctor_set(x_38, 1, x_36);
+return x_38;
+}
+}
+block_48:
+{
+lean_object* x_42; lean_object* x_43; uint8_t x_44;
+x_42 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_43 = l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_isLevelDefEq___spec__3(x_27, x_42, x_25, x_3, x_4, x_5, x_6, x_41);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_44 = !lean_is_exclusive(x_43);
+if (x_44 == 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_40);
+return x_43;
+}
+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_40);
+lean_ctor_set(x_47, 1, x_46);
+return x_47;
+}
+}
+}
+else
+{
+lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; uint8_t x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; uint8_t x_103;
+x_94 = lean_st_ref_get(x_6, x_23);
+x_95 = lean_ctor_get(x_94, 0);
+lean_inc(x_95);
+x_96 = lean_ctor_get(x_95, 3);
+lean_inc(x_96);
+lean_dec(x_95);
+x_97 = lean_ctor_get(x_94, 1);
+lean_inc(x_97);
+lean_dec(x_94);
+x_98 = lean_ctor_get_uint8(x_96, sizeof(void*)*1);
+lean_dec(x_96);
+x_99 = lean_st_ref_take(x_6, x_97);
+x_100 = lean_ctor_get(x_99, 0);
+lean_inc(x_100);
+x_101 = lean_ctor_get(x_100, 3);
+lean_inc(x_101);
+x_102 = lean_ctor_get(x_99, 1);
+lean_inc(x_102);
+lean_dec(x_99);
+x_103 = !lean_is_exclusive(x_100);
+if (x_103 == 0)
+{
+lean_object* x_104; uint8_t x_105;
+x_104 = lean_ctor_get(x_100, 3);
+lean_dec(x_104);
+x_105 = !lean_is_exclusive(x_101);
+if (x_105 == 0)
+{
+uint8_t x_106; lean_object* x_107; lean_object* x_108; uint8_t x_109; lean_object* x_110; lean_object* x_158; lean_object* x_159; lean_object* x_192;
+x_106 = 0;
+lean_ctor_set_uint8(x_101, sizeof(void*)*1, x_106);
+x_107 = lean_st_ref_set(x_6, x_100, x_102);
+x_108 = lean_ctor_get(x_107, 1);
+lean_inc(x_108);
+lean_dec(x_107);
lean_inc(x_6);
lean_inc(x_5);
lean_inc(x_4);
lean_inc(x_3);
-x_191 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_17, x_3, x_4, x_5, x_6, x_163);
-if (lean_obj_tag(x_191) == 0)
+x_192 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_21, x_3, x_4, x_5, x_6, x_108);
+if (lean_obj_tag(x_192) == 0)
{
-lean_object* x_192; lean_object* x_193; uint8_t x_194; lean_object* x_195; lean_object* x_222; lean_object* x_223; lean_object* x_224; uint8_t x_225;
-x_192 = lean_ctor_get(x_191, 0);
-lean_inc(x_192);
-x_193 = lean_ctor_get(x_191, 1);
+lean_object* x_193; lean_object* x_194; uint8_t x_195; lean_object* x_196; lean_object* x_223; lean_object* x_224; lean_object* x_225; uint8_t x_226;
+x_193 = lean_ctor_get(x_192, 0);
lean_inc(x_193);
-lean_dec(x_191);
-x_222 = lean_st_ref_get(x_6, x_193);
-x_223 = lean_ctor_get(x_222, 0);
-lean_inc(x_223);
-x_224 = lean_ctor_get(x_223, 3);
+x_194 = lean_ctor_get(x_192, 1);
+lean_inc(x_194);
+lean_dec(x_192);
+x_223 = lean_st_ref_get(x_6, x_194);
+x_224 = lean_ctor_get(x_223, 0);
lean_inc(x_224);
-lean_dec(x_223);
-x_225 = lean_ctor_get_uint8(x_224, sizeof(void*)*1);
+x_225 = lean_ctor_get(x_224, 3);
+lean_inc(x_225);
lean_dec(x_224);
-if (x_225 == 0)
+x_226 = lean_ctor_get_uint8(x_225, sizeof(void*)*1);
+lean_dec(x_225);
+if (x_226 == 0)
{
-lean_object* x_226;
-x_226 = lean_ctor_get(x_222, 1);
-lean_inc(x_226);
-lean_dec(x_222);
-x_194 = x_160;
-x_195 = x_226;
-goto block_221;
-}
-else
-{
-lean_object* x_227; lean_object* x_228; lean_object* x_229; lean_object* x_230; lean_object* x_231; uint8_t x_232;
-x_227 = lean_ctor_get(x_222, 1);
+lean_object* x_227;
+x_227 = lean_ctor_get(x_223, 1);
lean_inc(x_227);
-lean_dec(x_222);
-x_228 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_229 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_228, x_3, x_4, x_5, x_6, x_227);
-x_230 = lean_ctor_get(x_229, 0);
-lean_inc(x_230);
-x_231 = lean_ctor_get(x_229, 1);
+lean_dec(x_223);
+x_195 = x_106;
+x_196 = x_227;
+goto block_222;
+}
+else
+{
+lean_object* x_228; lean_object* x_229; lean_object* x_230; lean_object* x_231; lean_object* x_232; uint8_t x_233;
+x_228 = lean_ctor_get(x_223, 1);
+lean_inc(x_228);
+lean_dec(x_223);
+x_229 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_230 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_229, x_3, x_4, x_5, x_6, x_228);
+x_231 = lean_ctor_get(x_230, 0);
lean_inc(x_231);
-lean_dec(x_229);
-x_232 = lean_unbox(x_230);
+x_232 = lean_ctor_get(x_230, 1);
+lean_inc(x_232);
lean_dec(x_230);
-x_194 = x_232;
-x_195 = x_231;
-goto block_221;
+x_233 = lean_unbox(x_231);
+lean_dec(x_231);
+x_195 = x_233;
+x_196 = x_232;
+goto block_222;
}
-block_221:
+block_222:
{
-if (x_194 == 0)
+if (x_195 == 0)
{
-uint8_t x_196;
+uint8_t x_197;
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_196 = lean_unbox(x_192);
-lean_dec(x_192);
-x_164 = x_196;
-x_165 = x_195;
-goto block_190;
+x_197 = lean_unbox(x_193);
+lean_dec(x_193);
+x_109 = x_197;
+x_110 = x_196;
+goto block_157;
}
else
{
-lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; uint8_t x_206;
-x_197 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_197, 0, x_1);
-x_198 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_199 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_199, 0, x_198);
-lean_ctor_set(x_199, 1, x_197);
-x_200 = l_Lean_Meta_isLevelDefEqAux___closed__6;
-x_201 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_201, 0, x_199);
-lean_ctor_set(x_201, 1, x_200);
-x_202 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_202, 0, x_2);
-x_203 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_203, 0, x_201);
-lean_ctor_set(x_203, 1, x_202);
-x_204 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
-x_205 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_205, 0, x_203);
-lean_ctor_set(x_205, 1, x_204);
-x_206 = lean_unbox(x_192);
-if (x_206 == 0)
+lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; uint8_t x_207;
+x_198 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_198, 0, x_1);
+x_199 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_200 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_200, 0, x_199);
+lean_ctor_set(x_200, 1, x_198);
+x_201 = l_Lean_Meta_isLevelDefEqAux___closed__6;
+x_202 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_202, 0, x_200);
+lean_ctor_set(x_202, 1, x_201);
+x_203 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_203, 0, x_2);
+x_204 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_204, 0, x_202);
+lean_ctor_set(x_204, 1, x_203);
+x_205 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
+x_206 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_206, 0, x_204);
+lean_ctor_set(x_206, 1, x_205);
+x_207 = lean_unbox(x_193);
+if (x_207 == 0)
{
-lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; uint8_t x_213;
-x_207 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
-x_208 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_208, 0, x_205);
-lean_ctor_set(x_208, 1, x_207);
+lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; uint8_t x_214;
+x_208 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
x_209 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_209, 0, x_208);
-lean_ctor_set(x_209, 1, x_198);
-x_210 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_211 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_210, x_209, x_3, x_4, x_5, x_6, x_195);
+lean_ctor_set(x_209, 0, x_206);
+lean_ctor_set(x_209, 1, x_208);
+x_210 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_210, 0, x_209);
+lean_ctor_set(x_210, 1, x_199);
+x_211 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_212 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_211, x_210, x_3, x_4, x_5, x_6, x_196);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
-x_212 = lean_ctor_get(x_211, 1);
-lean_inc(x_212);
-lean_dec(x_211);
-x_213 = lean_unbox(x_192);
-lean_dec(x_192);
-x_164 = x_213;
-x_165 = x_212;
-goto block_190;
+x_213 = lean_ctor_get(x_212, 1);
+lean_inc(x_213);
+lean_dec(x_212);
+x_214 = lean_unbox(x_193);
+lean_dec(x_193);
+x_109 = x_214;
+x_110 = x_213;
+goto block_157;
}
else
{
-lean_object* x_214; lean_object* x_215; lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; uint8_t x_220;
-x_214 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
-x_215 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_215, 0, x_205);
-lean_ctor_set(x_215, 1, x_214);
+lean_object* x_215; lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; uint8_t x_221;
+x_215 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
x_216 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_216, 0, x_215);
-lean_ctor_set(x_216, 1, x_198);
-x_217 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_218 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_217, x_216, x_3, x_4, x_5, x_6, x_195);
+lean_ctor_set(x_216, 0, x_206);
+lean_ctor_set(x_216, 1, x_215);
+x_217 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_217, 0, x_216);
+lean_ctor_set(x_217, 1, x_199);
+x_218 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_219 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_218, x_217, x_3, x_4, x_5, x_6, x_196);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
-x_219 = lean_ctor_get(x_218, 1);
-lean_inc(x_219);
-lean_dec(x_218);
-x_220 = lean_unbox(x_192);
-lean_dec(x_192);
-x_164 = x_220;
-x_165 = x_219;
-goto block_190;
+x_220 = lean_ctor_get(x_219, 1);
+lean_inc(x_220);
+lean_dec(x_219);
+x_221 = lean_unbox(x_193);
+lean_dec(x_193);
+x_109 = x_221;
+x_110 = x_220;
+goto block_157;
}
}
}
}
else
{
-lean_object* x_233; lean_object* x_234; lean_object* x_235; lean_object* x_236; lean_object* x_237; lean_object* x_238; lean_object* x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244; lean_object* x_245; lean_object* x_246; lean_object* x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252;
+lean_object* x_234; lean_object* x_235;
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_233 = lean_ctor_get(x_191, 0);
-lean_inc(x_233);
-x_234 = lean_ctor_get(x_191, 1);
+x_234 = lean_ctor_get(x_192, 0);
lean_inc(x_234);
-lean_dec(x_191);
-x_235 = lean_st_ref_get(x_6, x_234);
-x_236 = lean_ctor_get(x_235, 1);
-lean_inc(x_236);
-lean_dec(x_235);
-x_237 = lean_st_ref_take(x_6, x_236);
-x_238 = lean_ctor_get(x_237, 0);
-lean_inc(x_238);
-x_239 = lean_ctor_get(x_238, 3);
-lean_inc(x_239);
-x_240 = lean_ctor_get(x_237, 1);
-lean_inc(x_240);
-lean_dec(x_237);
-x_241 = lean_ctor_get(x_238, 0);
-lean_inc(x_241);
-x_242 = lean_ctor_get(x_238, 1);
-lean_inc(x_242);
-x_243 = lean_ctor_get(x_238, 2);
-lean_inc(x_243);
-if (lean_is_exclusive(x_238)) {
- lean_ctor_release(x_238, 0);
- lean_ctor_release(x_238, 1);
- lean_ctor_release(x_238, 2);
- lean_ctor_release(x_238, 3);
- x_244 = x_238;
-} else {
- lean_dec_ref(x_238);
- x_244 = lean_box(0);
+x_235 = lean_ctor_get(x_192, 1);
+lean_inc(x_235);
+lean_dec(x_192);
+x_158 = x_234;
+x_159 = x_235;
+goto block_191;
}
-x_245 = lean_ctor_get(x_239, 0);
-lean_inc(x_245);
-if (lean_is_exclusive(x_239)) {
- lean_ctor_release(x_239, 0);
- x_246 = x_239;
-} else {
- lean_dec_ref(x_239);
- x_246 = lean_box(0);
-}
-if (lean_is_scalar(x_246)) {
- x_247 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_247 = x_246;
-}
-lean_ctor_set(x_247, 0, x_245);
-lean_ctor_set_uint8(x_247, sizeof(void*)*1, x_24);
-if (lean_is_scalar(x_244)) {
- x_248 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_248 = x_244;
-}
-lean_ctor_set(x_248, 0, x_241);
-lean_ctor_set(x_248, 1, x_242);
-lean_ctor_set(x_248, 2, x_243);
-lean_ctor_set(x_248, 3, x_247);
-x_249 = lean_st_ref_set(x_6, x_248, x_240);
+block_157:
+{
+lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; uint8_t x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; uint8_t x_120;
+x_111 = lean_st_ref_get(x_6, x_110);
+x_112 = lean_ctor_get(x_111, 0);
+lean_inc(x_112);
+x_113 = lean_ctor_get(x_111, 1);
+lean_inc(x_113);
+lean_dec(x_111);
+x_114 = lean_ctor_get(x_112, 3);
+lean_inc(x_114);
+lean_dec(x_112);
+x_115 = lean_ctor_get_uint8(x_114, sizeof(void*)*1);
+lean_dec(x_114);
+x_116 = lean_st_ref_take(x_6, x_113);
+x_117 = lean_ctor_get(x_116, 0);
+lean_inc(x_117);
+x_118 = lean_ctor_get(x_117, 3);
+lean_inc(x_118);
+x_119 = lean_ctor_get(x_116, 1);
+lean_inc(x_119);
+lean_dec(x_116);
+x_120 = !lean_is_exclusive(x_117);
+if (x_120 == 0)
+{
+lean_object* x_121; uint8_t x_122;
+x_121 = lean_ctor_get(x_117, 3);
+lean_dec(x_121);
+x_122 = !lean_is_exclusive(x_118);
+if (x_122 == 0)
+{
+lean_object* x_123; uint8_t x_124;
+lean_ctor_set_uint8(x_118, sizeof(void*)*1, x_98);
+x_123 = lean_st_ref_set(x_6, x_117, x_119);
lean_dec(x_6);
-x_250 = lean_ctor_get(x_249, 1);
+x_124 = !lean_is_exclusive(x_123);
+if (x_124 == 0)
+{
+lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128;
+x_125 = lean_ctor_get(x_123, 0);
+lean_dec(x_125);
+x_126 = lean_box(x_109);
+x_127 = lean_box(x_115);
+x_128 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_128, 0, x_126);
+lean_ctor_set(x_128, 1, x_127);
+lean_ctor_set(x_123, 0, x_128);
+x_8 = x_123;
+goto block_20;
+}
+else
+{
+lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133;
+x_129 = lean_ctor_get(x_123, 1);
+lean_inc(x_129);
+lean_dec(x_123);
+x_130 = lean_box(x_109);
+x_131 = lean_box(x_115);
+x_132 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_132, 0, x_130);
+lean_ctor_set(x_132, 1, 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_129);
+x_8 = x_133;
+goto block_20;
+}
+}
+else
+{
+lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142;
+x_134 = lean_ctor_get(x_118, 0);
+lean_inc(x_134);
+lean_dec(x_118);
+x_135 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_135, 0, x_134);
+lean_ctor_set_uint8(x_135, sizeof(void*)*1, x_98);
+lean_ctor_set(x_117, 3, x_135);
+x_136 = lean_st_ref_set(x_6, x_117, x_119);
+lean_dec(x_6);
+x_137 = lean_ctor_get(x_136, 1);
+lean_inc(x_137);
+if (lean_is_exclusive(x_136)) {
+ lean_ctor_release(x_136, 0);
+ lean_ctor_release(x_136, 1);
+ x_138 = x_136;
+} else {
+ lean_dec_ref(x_136);
+ x_138 = lean_box(0);
+}
+x_139 = lean_box(x_109);
+x_140 = lean_box(x_115);
+x_141 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_141, 0, x_139);
+lean_ctor_set(x_141, 1, x_140);
+if (lean_is_scalar(x_138)) {
+ x_142 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_142 = x_138;
+}
+lean_ctor_set(x_142, 0, x_141);
+lean_ctor_set(x_142, 1, x_137);
+x_8 = x_142;
+goto block_20;
+}
+}
+else
+{
+lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156;
+x_143 = lean_ctor_get(x_117, 0);
+x_144 = lean_ctor_get(x_117, 1);
+x_145 = lean_ctor_get(x_117, 2);
+lean_inc(x_145);
+lean_inc(x_144);
+lean_inc(x_143);
+lean_dec(x_117);
+x_146 = lean_ctor_get(x_118, 0);
+lean_inc(x_146);
+if (lean_is_exclusive(x_118)) {
+ lean_ctor_release(x_118, 0);
+ x_147 = x_118;
+} else {
+ lean_dec_ref(x_118);
+ x_147 = lean_box(0);
+}
+if (lean_is_scalar(x_147)) {
+ x_148 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_148 = x_147;
+}
+lean_ctor_set(x_148, 0, x_146);
+lean_ctor_set_uint8(x_148, sizeof(void*)*1, x_98);
+x_149 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_149, 0, x_143);
+lean_ctor_set(x_149, 1, x_144);
+lean_ctor_set(x_149, 2, x_145);
+lean_ctor_set(x_149, 3, x_148);
+x_150 = lean_st_ref_set(x_6, x_149, x_119);
+lean_dec(x_6);
+x_151 = lean_ctor_get(x_150, 1);
+lean_inc(x_151);
+if (lean_is_exclusive(x_150)) {
+ lean_ctor_release(x_150, 0);
+ lean_ctor_release(x_150, 1);
+ x_152 = x_150;
+} else {
+ lean_dec_ref(x_150);
+ x_152 = lean_box(0);
+}
+x_153 = lean_box(x_109);
+x_154 = lean_box(x_115);
+x_155 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_155, 0, x_153);
+lean_ctor_set(x_155, 1, x_154);
+if (lean_is_scalar(x_152)) {
+ x_156 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_156 = x_152;
+}
+lean_ctor_set(x_156, 0, x_155);
+lean_ctor_set(x_156, 1, x_151);
+x_8 = x_156;
+goto block_20;
+}
+}
+block_191:
+{
+lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; uint8_t x_166;
+x_160 = lean_st_ref_get(x_6, x_159);
+x_161 = lean_ctor_get(x_160, 1);
+lean_inc(x_161);
+lean_dec(x_160);
+x_162 = lean_st_ref_take(x_6, x_161);
+x_163 = lean_ctor_get(x_162, 0);
+lean_inc(x_163);
+x_164 = lean_ctor_get(x_163, 3);
+lean_inc(x_164);
+x_165 = lean_ctor_get(x_162, 1);
+lean_inc(x_165);
+lean_dec(x_162);
+x_166 = !lean_is_exclusive(x_163);
+if (x_166 == 0)
+{
+lean_object* x_167; uint8_t x_168;
+x_167 = lean_ctor_get(x_163, 3);
+lean_dec(x_167);
+x_168 = !lean_is_exclusive(x_164);
+if (x_168 == 0)
+{
+lean_object* x_169; uint8_t x_170;
+lean_ctor_set_uint8(x_164, sizeof(void*)*1, x_98);
+x_169 = lean_st_ref_set(x_6, x_163, x_165);
+lean_dec(x_6);
+x_170 = !lean_is_exclusive(x_169);
+if (x_170 == 0)
+{
+lean_object* x_171;
+x_171 = lean_ctor_get(x_169, 0);
+lean_dec(x_171);
+lean_ctor_set_tag(x_169, 1);
+lean_ctor_set(x_169, 0, x_158);
+x_8 = x_169;
+goto block_20;
+}
+else
+{
+lean_object* x_172; lean_object* x_173;
+x_172 = lean_ctor_get(x_169, 1);
+lean_inc(x_172);
+lean_dec(x_169);
+x_173 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_173, 0, x_158);
+lean_ctor_set(x_173, 1, x_172);
+x_8 = x_173;
+goto block_20;
+}
+}
+else
+{
+lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179;
+x_174 = lean_ctor_get(x_164, 0);
+lean_inc(x_174);
+lean_dec(x_164);
+x_175 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_175, 0, x_174);
+lean_ctor_set_uint8(x_175, sizeof(void*)*1, x_98);
+lean_ctor_set(x_163, 3, x_175);
+x_176 = lean_st_ref_set(x_6, x_163, x_165);
+lean_dec(x_6);
+x_177 = lean_ctor_get(x_176, 1);
+lean_inc(x_177);
+if (lean_is_exclusive(x_176)) {
+ lean_ctor_release(x_176, 0);
+ lean_ctor_release(x_176, 1);
+ x_178 = x_176;
+} else {
+ lean_dec_ref(x_176);
+ x_178 = lean_box(0);
+}
+if (lean_is_scalar(x_178)) {
+ x_179 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_179 = x_178;
+ lean_ctor_set_tag(x_179, 1);
+}
+lean_ctor_set(x_179, 0, x_158);
+lean_ctor_set(x_179, 1, x_177);
+x_8 = x_179;
+goto block_20;
+}
+}
+else
+{
+lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190;
+x_180 = lean_ctor_get(x_163, 0);
+x_181 = lean_ctor_get(x_163, 1);
+x_182 = lean_ctor_get(x_163, 2);
+lean_inc(x_182);
+lean_inc(x_181);
+lean_inc(x_180);
+lean_dec(x_163);
+x_183 = lean_ctor_get(x_164, 0);
+lean_inc(x_183);
+if (lean_is_exclusive(x_164)) {
+ lean_ctor_release(x_164, 0);
+ x_184 = x_164;
+} else {
+ lean_dec_ref(x_164);
+ x_184 = lean_box(0);
+}
+if (lean_is_scalar(x_184)) {
+ x_185 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_185 = x_184;
+}
+lean_ctor_set(x_185, 0, x_183);
+lean_ctor_set_uint8(x_185, sizeof(void*)*1, x_98);
+x_186 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_186, 0, x_180);
+lean_ctor_set(x_186, 1, x_181);
+lean_ctor_set(x_186, 2, x_182);
+lean_ctor_set(x_186, 3, x_185);
+x_187 = lean_st_ref_set(x_6, x_186, x_165);
+lean_dec(x_6);
+x_188 = lean_ctor_get(x_187, 1);
+lean_inc(x_188);
+if (lean_is_exclusive(x_187)) {
+ lean_ctor_release(x_187, 0);
+ lean_ctor_release(x_187, 1);
+ x_189 = x_187;
+} else {
+ lean_dec_ref(x_187);
+ x_189 = lean_box(0);
+}
+if (lean_is_scalar(x_189)) {
+ x_190 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_190 = x_189;
+ lean_ctor_set_tag(x_190, 1);
+}
+lean_ctor_set(x_190, 0, x_158);
+lean_ctor_set(x_190, 1, x_188);
+x_8 = x_190;
+goto block_20;
+}
+}
+}
+else
+{
+lean_object* x_236; uint8_t x_237; lean_object* x_238; lean_object* x_239; lean_object* x_240; uint8_t x_241; lean_object* x_242; lean_object* x_268; lean_object* x_269; lean_object* x_289;
+x_236 = lean_ctor_get(x_101, 0);
+lean_inc(x_236);
+lean_dec(x_101);
+x_237 = 0;
+x_238 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_238, 0, x_236);
+lean_ctor_set_uint8(x_238, sizeof(void*)*1, x_237);
+lean_ctor_set(x_100, 3, x_238);
+x_239 = lean_st_ref_set(x_6, x_100, x_102);
+x_240 = lean_ctor_get(x_239, 1);
+lean_inc(x_240);
+lean_dec(x_239);
+lean_inc(x_6);
+lean_inc(x_5);
+lean_inc(x_4);
+lean_inc(x_3);
+x_289 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_21, x_3, x_4, x_5, x_6, x_240);
+if (lean_obj_tag(x_289) == 0)
+{
+lean_object* x_290; lean_object* x_291; uint8_t x_292; lean_object* x_293; lean_object* x_320; lean_object* x_321; lean_object* x_322; uint8_t x_323;
+x_290 = lean_ctor_get(x_289, 0);
+lean_inc(x_290);
+x_291 = lean_ctor_get(x_289, 1);
+lean_inc(x_291);
+lean_dec(x_289);
+x_320 = lean_st_ref_get(x_6, x_291);
+x_321 = lean_ctor_get(x_320, 0);
+lean_inc(x_321);
+x_322 = lean_ctor_get(x_321, 3);
+lean_inc(x_322);
+lean_dec(x_321);
+x_323 = lean_ctor_get_uint8(x_322, sizeof(void*)*1);
+lean_dec(x_322);
+if (x_323 == 0)
+{
+lean_object* x_324;
+x_324 = lean_ctor_get(x_320, 1);
+lean_inc(x_324);
+lean_dec(x_320);
+x_292 = x_237;
+x_293 = x_324;
+goto block_319;
+}
+else
+{
+lean_object* x_325; lean_object* x_326; lean_object* x_327; lean_object* x_328; lean_object* x_329; uint8_t x_330;
+x_325 = lean_ctor_get(x_320, 1);
+lean_inc(x_325);
+lean_dec(x_320);
+x_326 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_327 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_326, x_3, x_4, x_5, x_6, x_325);
+x_328 = lean_ctor_get(x_327, 0);
+lean_inc(x_328);
+x_329 = lean_ctor_get(x_327, 1);
+lean_inc(x_329);
+lean_dec(x_327);
+x_330 = lean_unbox(x_328);
+lean_dec(x_328);
+x_292 = x_330;
+x_293 = x_329;
+goto block_319;
+}
+block_319:
+{
+if (x_292 == 0)
+{
+uint8_t x_294;
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+lean_dec(x_1);
+x_294 = lean_unbox(x_290);
+lean_dec(x_290);
+x_241 = x_294;
+x_242 = x_293;
+goto block_267;
+}
+else
+{
+lean_object* x_295; lean_object* x_296; lean_object* x_297; lean_object* x_298; lean_object* x_299; lean_object* x_300; lean_object* x_301; lean_object* x_302; lean_object* x_303; uint8_t x_304;
+x_295 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_295, 0, x_1);
+x_296 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_297 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_297, 0, x_296);
+lean_ctor_set(x_297, 1, x_295);
+x_298 = l_Lean_Meta_isLevelDefEqAux___closed__6;
+x_299 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_299, 0, x_297);
+lean_ctor_set(x_299, 1, x_298);
+x_300 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_300, 0, x_2);
+x_301 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_301, 0, x_299);
+lean_ctor_set(x_301, 1, x_300);
+x_302 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
+x_303 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_303, 0, x_301);
+lean_ctor_set(x_303, 1, x_302);
+x_304 = lean_unbox(x_290);
+if (x_304 == 0)
+{
+lean_object* x_305; lean_object* x_306; lean_object* x_307; lean_object* x_308; lean_object* x_309; lean_object* x_310; uint8_t x_311;
+x_305 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
+x_306 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_306, 0, x_303);
+lean_ctor_set(x_306, 1, x_305);
+x_307 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_307, 0, x_306);
+lean_ctor_set(x_307, 1, x_296);
+x_308 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_309 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_308, x_307, x_3, x_4, x_5, x_6, x_293);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_310 = lean_ctor_get(x_309, 1);
+lean_inc(x_310);
+lean_dec(x_309);
+x_311 = lean_unbox(x_290);
+lean_dec(x_290);
+x_241 = x_311;
+x_242 = x_310;
+goto block_267;
+}
+else
+{
+lean_object* x_312; lean_object* x_313; lean_object* x_314; lean_object* x_315; lean_object* x_316; lean_object* x_317; uint8_t x_318;
+x_312 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
+x_313 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_313, 0, x_303);
+lean_ctor_set(x_313, 1, x_312);
+x_314 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_314, 0, x_313);
+lean_ctor_set(x_314, 1, x_296);
+x_315 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_316 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_315, x_314, x_3, x_4, x_5, x_6, x_293);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_317 = lean_ctor_get(x_316, 1);
+lean_inc(x_317);
+lean_dec(x_316);
+x_318 = lean_unbox(x_290);
+lean_dec(x_290);
+x_241 = x_318;
+x_242 = x_317;
+goto block_267;
+}
+}
+}
+}
+else
+{
+lean_object* x_331; lean_object* x_332;
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+lean_dec(x_1);
+x_331 = lean_ctor_get(x_289, 0);
+lean_inc(x_331);
+x_332 = lean_ctor_get(x_289, 1);
+lean_inc(x_332);
+lean_dec(x_289);
+x_268 = x_331;
+x_269 = x_332;
+goto block_288;
+}
+block_267:
+{
+lean_object* x_243; lean_object* x_244; lean_object* x_245; lean_object* x_246; uint8_t x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253; lean_object* x_254; lean_object* x_255; lean_object* x_256; lean_object* x_257; lean_object* x_258; lean_object* x_259; lean_object* x_260; lean_object* x_261; lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265; lean_object* x_266;
+x_243 = lean_st_ref_get(x_6, x_242);
+x_244 = lean_ctor_get(x_243, 0);
+lean_inc(x_244);
+x_245 = lean_ctor_get(x_243, 1);
+lean_inc(x_245);
+lean_dec(x_243);
+x_246 = lean_ctor_get(x_244, 3);
+lean_inc(x_246);
+lean_dec(x_244);
+x_247 = lean_ctor_get_uint8(x_246, sizeof(void*)*1);
+lean_dec(x_246);
+x_248 = lean_st_ref_take(x_6, x_245);
+x_249 = lean_ctor_get(x_248, 0);
+lean_inc(x_249);
+x_250 = lean_ctor_get(x_249, 3);
lean_inc(x_250);
+x_251 = lean_ctor_get(x_248, 1);
+lean_inc(x_251);
+lean_dec(x_248);
+x_252 = lean_ctor_get(x_249, 0);
+lean_inc(x_252);
+x_253 = lean_ctor_get(x_249, 1);
+lean_inc(x_253);
+x_254 = lean_ctor_get(x_249, 2);
+lean_inc(x_254);
if (lean_is_exclusive(x_249)) {
lean_ctor_release(x_249, 0);
lean_ctor_release(x_249, 1);
- x_251 = x_249;
+ lean_ctor_release(x_249, 2);
+ lean_ctor_release(x_249, 3);
+ x_255 = x_249;
} else {
lean_dec_ref(x_249);
- x_251 = lean_box(0);
+ x_255 = lean_box(0);
}
-if (lean_is_scalar(x_251)) {
- x_252 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_252 = x_251;
- lean_ctor_set_tag(x_252, 1);
-}
-lean_ctor_set(x_252, 0, x_233);
-lean_ctor_set(x_252, 1, x_250);
-return x_252;
-}
-block_190:
-{
-lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; uint8_t x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189;
-x_166 = lean_st_ref_get(x_6, x_165);
-x_167 = lean_ctor_get(x_166, 0);
-lean_inc(x_167);
-x_168 = lean_ctor_get(x_166, 1);
-lean_inc(x_168);
-lean_dec(x_166);
-x_169 = lean_ctor_get(x_167, 3);
-lean_inc(x_169);
-lean_dec(x_167);
-x_170 = lean_ctor_get_uint8(x_169, sizeof(void*)*1);
-lean_dec(x_169);
-x_171 = lean_st_ref_take(x_6, x_168);
-x_172 = lean_ctor_get(x_171, 0);
-lean_inc(x_172);
-x_173 = lean_ctor_get(x_172, 3);
-lean_inc(x_173);
-x_174 = lean_ctor_get(x_171, 1);
-lean_inc(x_174);
-lean_dec(x_171);
-x_175 = lean_ctor_get(x_172, 0);
-lean_inc(x_175);
-x_176 = lean_ctor_get(x_172, 1);
-lean_inc(x_176);
-x_177 = lean_ctor_get(x_172, 2);
-lean_inc(x_177);
-if (lean_is_exclusive(x_172)) {
- lean_ctor_release(x_172, 0);
- lean_ctor_release(x_172, 1);
- lean_ctor_release(x_172, 2);
- lean_ctor_release(x_172, 3);
- x_178 = x_172;
-} else {
- lean_dec_ref(x_172);
- x_178 = lean_box(0);
-}
-x_179 = lean_ctor_get(x_173, 0);
-lean_inc(x_179);
-if (lean_is_exclusive(x_173)) {
- lean_ctor_release(x_173, 0);
- x_180 = x_173;
-} else {
- lean_dec_ref(x_173);
- x_180 = lean_box(0);
-}
-if (lean_is_scalar(x_180)) {
- x_181 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_181 = x_180;
-}
-lean_ctor_set(x_181, 0, x_179);
-lean_ctor_set_uint8(x_181, sizeof(void*)*1, x_24);
-if (lean_is_scalar(x_178)) {
- x_182 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_182 = x_178;
-}
-lean_ctor_set(x_182, 0, x_175);
-lean_ctor_set(x_182, 1, x_176);
-lean_ctor_set(x_182, 2, x_177);
-lean_ctor_set(x_182, 3, x_181);
-x_183 = lean_st_ref_set(x_6, x_182, x_174);
-lean_dec(x_6);
-x_184 = lean_ctor_get(x_183, 1);
-lean_inc(x_184);
-if (lean_is_exclusive(x_183)) {
- lean_ctor_release(x_183, 0);
- lean_ctor_release(x_183, 1);
- x_185 = x_183;
-} else {
- lean_dec_ref(x_183);
- x_185 = lean_box(0);
-}
-x_186 = lean_box(x_164);
-x_187 = lean_box(x_170);
-x_188 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_188, 0, x_186);
-lean_ctor_set(x_188, 1, x_187);
-if (lean_is_scalar(x_185)) {
- x_189 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_189 = x_185;
-}
-lean_ctor_set(x_189, 0, x_188);
-lean_ctor_set(x_189, 1, x_184);
-x_8 = x_189;
-goto block_16;
-}
-}
-}
-else
-{
-lean_object* x_253; lean_object* x_254; lean_object* x_255; lean_object* x_256; lean_object* x_257; uint8_t x_258; lean_object* x_259; lean_object* x_260; lean_object* x_261; lean_object* x_262; uint8_t x_263; lean_object* x_264; lean_object* x_290;
-x_253 = lean_ctor_get(x_26, 0);
-x_254 = lean_ctor_get(x_26, 1);
-x_255 = lean_ctor_get(x_26, 2);
-lean_inc(x_255);
-lean_inc(x_254);
-lean_inc(x_253);
-lean_dec(x_26);
-x_256 = lean_ctor_get(x_27, 0);
+x_256 = lean_ctor_get(x_250, 0);
lean_inc(x_256);
-if (lean_is_exclusive(x_27)) {
- lean_ctor_release(x_27, 0);
- x_257 = x_27;
+if (lean_is_exclusive(x_250)) {
+ lean_ctor_release(x_250, 0);
+ x_257 = x_250;
} else {
- lean_dec_ref(x_27);
+ lean_dec_ref(x_250);
x_257 = lean_box(0);
}
-x_258 = 0;
if (lean_is_scalar(x_257)) {
- x_259 = lean_alloc_ctor(0, 1, 1);
+ x_258 = lean_alloc_ctor(0, 1, 1);
} else {
- x_259 = x_257;
+ x_258 = x_257;
}
-lean_ctor_set(x_259, 0, x_256);
-lean_ctor_set_uint8(x_259, sizeof(void*)*1, x_258);
-x_260 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_260, 0, x_253);
-lean_ctor_set(x_260, 1, x_254);
-lean_ctor_set(x_260, 2, x_255);
-lean_ctor_set(x_260, 3, x_259);
-x_261 = lean_st_ref_set(x_6, x_260, x_28);
-x_262 = lean_ctor_get(x_261, 1);
-lean_inc(x_262);
-lean_dec(x_261);
-lean_inc(x_6);
-lean_inc(x_5);
-lean_inc(x_4);
-lean_inc(x_3);
-x_290 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_17, x_3, x_4, x_5, x_6, x_262);
-if (lean_obj_tag(x_290) == 0)
-{
-lean_object* x_291; lean_object* x_292; uint8_t x_293; lean_object* x_294; lean_object* x_321; lean_object* x_322; lean_object* x_323; uint8_t x_324;
-x_291 = lean_ctor_get(x_290, 0);
-lean_inc(x_291);
-x_292 = lean_ctor_get(x_290, 1);
-lean_inc(x_292);
-lean_dec(x_290);
-x_321 = lean_st_ref_get(x_6, x_292);
-x_322 = lean_ctor_get(x_321, 0);
-lean_inc(x_322);
-x_323 = lean_ctor_get(x_322, 3);
-lean_inc(x_323);
-lean_dec(x_322);
-x_324 = lean_ctor_get_uint8(x_323, sizeof(void*)*1);
-lean_dec(x_323);
-if (x_324 == 0)
-{
-lean_object* x_325;
-x_325 = lean_ctor_get(x_321, 1);
-lean_inc(x_325);
-lean_dec(x_321);
-x_293 = x_258;
-x_294 = x_325;
-goto block_320;
-}
-else
-{
-lean_object* x_326; lean_object* x_327; lean_object* x_328; lean_object* x_329; lean_object* x_330; uint8_t x_331;
-x_326 = lean_ctor_get(x_321, 1);
-lean_inc(x_326);
-lean_dec(x_321);
-x_327 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_328 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_327, x_3, x_4, x_5, x_6, x_326);
-x_329 = lean_ctor_get(x_328, 0);
-lean_inc(x_329);
-x_330 = lean_ctor_get(x_328, 1);
-lean_inc(x_330);
-lean_dec(x_328);
-x_331 = lean_unbox(x_329);
-lean_dec(x_329);
-x_293 = x_331;
-x_294 = x_330;
-goto block_320;
-}
-block_320:
-{
-if (x_293 == 0)
-{
-uint8_t x_295;
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_dec(x_1);
-x_295 = lean_unbox(x_291);
-lean_dec(x_291);
-x_263 = x_295;
-x_264 = x_294;
-goto block_289;
-}
-else
-{
-lean_object* x_296; lean_object* x_297; lean_object* x_298; lean_object* x_299; lean_object* x_300; lean_object* x_301; lean_object* x_302; lean_object* x_303; lean_object* x_304; uint8_t x_305;
-x_296 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_296, 0, x_1);
-x_297 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_298 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_298, 0, x_297);
-lean_ctor_set(x_298, 1, x_296);
-x_299 = l_Lean_Meta_isLevelDefEqAux___closed__6;
-x_300 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_300, 0, x_298);
-lean_ctor_set(x_300, 1, x_299);
-x_301 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_301, 0, x_2);
-x_302 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_302, 0, x_300);
-lean_ctor_set(x_302, 1, x_301);
-x_303 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
-x_304 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_304, 0, x_302);
-lean_ctor_set(x_304, 1, x_303);
-x_305 = lean_unbox(x_291);
-if (x_305 == 0)
-{
-lean_object* x_306; lean_object* x_307; lean_object* x_308; lean_object* x_309; lean_object* x_310; lean_object* x_311; uint8_t x_312;
-x_306 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
-x_307 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_307, 0, x_304);
-lean_ctor_set(x_307, 1, x_306);
-x_308 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_308, 0, x_307);
-lean_ctor_set(x_308, 1, x_297);
-x_309 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_310 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_309, x_308, x_3, x_4, x_5, x_6, x_294);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_311 = lean_ctor_get(x_310, 1);
-lean_inc(x_311);
-lean_dec(x_310);
-x_312 = lean_unbox(x_291);
-lean_dec(x_291);
-x_263 = x_312;
-x_264 = x_311;
-goto block_289;
-}
-else
-{
-lean_object* x_313; lean_object* x_314; lean_object* x_315; lean_object* x_316; lean_object* x_317; lean_object* x_318; uint8_t x_319;
-x_313 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
-x_314 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_314, 0, x_304);
-lean_ctor_set(x_314, 1, x_313);
-x_315 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_315, 0, x_314);
-lean_ctor_set(x_315, 1, x_297);
-x_316 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_317 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_316, x_315, x_3, x_4, x_5, x_6, x_294);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_318 = lean_ctor_get(x_317, 1);
-lean_inc(x_318);
-lean_dec(x_317);
-x_319 = lean_unbox(x_291);
-lean_dec(x_291);
-x_263 = x_319;
-x_264 = x_318;
-goto block_289;
-}
-}
-}
-}
-else
-{
-lean_object* x_332; lean_object* x_333; lean_object* x_334; lean_object* x_335; lean_object* x_336; lean_object* x_337; lean_object* x_338; lean_object* x_339; lean_object* x_340; lean_object* x_341; lean_object* x_342; lean_object* x_343; lean_object* x_344; lean_object* x_345; lean_object* x_346; lean_object* x_347; lean_object* x_348; lean_object* x_349; lean_object* x_350; lean_object* x_351;
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_dec(x_1);
-x_332 = lean_ctor_get(x_290, 0);
-lean_inc(x_332);
-x_333 = lean_ctor_get(x_290, 1);
-lean_inc(x_333);
-lean_dec(x_290);
-x_334 = lean_st_ref_get(x_6, x_333);
-x_335 = lean_ctor_get(x_334, 1);
-lean_inc(x_335);
-lean_dec(x_334);
-x_336 = lean_st_ref_take(x_6, x_335);
-x_337 = lean_ctor_get(x_336, 0);
-lean_inc(x_337);
-x_338 = lean_ctor_get(x_337, 3);
-lean_inc(x_338);
-x_339 = lean_ctor_get(x_336, 1);
-lean_inc(x_339);
-lean_dec(x_336);
-x_340 = lean_ctor_get(x_337, 0);
-lean_inc(x_340);
-x_341 = lean_ctor_get(x_337, 1);
-lean_inc(x_341);
-x_342 = lean_ctor_get(x_337, 2);
-lean_inc(x_342);
-if (lean_is_exclusive(x_337)) {
- lean_ctor_release(x_337, 0);
- lean_ctor_release(x_337, 1);
- lean_ctor_release(x_337, 2);
- lean_ctor_release(x_337, 3);
- x_343 = x_337;
+lean_ctor_set(x_258, 0, x_256);
+lean_ctor_set_uint8(x_258, sizeof(void*)*1, x_98);
+if (lean_is_scalar(x_255)) {
+ x_259 = lean_alloc_ctor(0, 4, 0);
} else {
- lean_dec_ref(x_337);
- x_343 = lean_box(0);
+ x_259 = x_255;
}
-x_344 = lean_ctor_get(x_338, 0);
-lean_inc(x_344);
-if (lean_is_exclusive(x_338)) {
- lean_ctor_release(x_338, 0);
- x_345 = x_338;
-} else {
- lean_dec_ref(x_338);
- x_345 = lean_box(0);
-}
-if (lean_is_scalar(x_345)) {
- x_346 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_346 = x_345;
-}
-lean_ctor_set(x_346, 0, x_344);
-lean_ctor_set_uint8(x_346, sizeof(void*)*1, x_24);
-if (lean_is_scalar(x_343)) {
- x_347 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_347 = x_343;
-}
-lean_ctor_set(x_347, 0, x_340);
-lean_ctor_set(x_347, 1, x_341);
-lean_ctor_set(x_347, 2, x_342);
-lean_ctor_set(x_347, 3, x_346);
-x_348 = lean_st_ref_set(x_6, x_347, x_339);
+lean_ctor_set(x_259, 0, x_252);
+lean_ctor_set(x_259, 1, x_253);
+lean_ctor_set(x_259, 2, x_254);
+lean_ctor_set(x_259, 3, x_258);
+x_260 = lean_st_ref_set(x_6, x_259, x_251);
lean_dec(x_6);
-x_349 = lean_ctor_get(x_348, 1);
-lean_inc(x_349);
-if (lean_is_exclusive(x_348)) {
- lean_ctor_release(x_348, 0);
- lean_ctor_release(x_348, 1);
- x_350 = x_348;
+x_261 = lean_ctor_get(x_260, 1);
+lean_inc(x_261);
+if (lean_is_exclusive(x_260)) {
+ lean_ctor_release(x_260, 0);
+ lean_ctor_release(x_260, 1);
+ x_262 = x_260;
} else {
- lean_dec_ref(x_348);
- x_350 = lean_box(0);
+ lean_dec_ref(x_260);
+ x_262 = lean_box(0);
}
-if (lean_is_scalar(x_350)) {
- x_351 = lean_alloc_ctor(1, 2, 0);
+x_263 = lean_box(x_241);
+x_264 = lean_box(x_247);
+x_265 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_265, 0, x_263);
+lean_ctor_set(x_265, 1, x_264);
+if (lean_is_scalar(x_262)) {
+ x_266 = lean_alloc_ctor(0, 2, 0);
} else {
- x_351 = x_350;
- lean_ctor_set_tag(x_351, 1);
+ x_266 = x_262;
}
-lean_ctor_set(x_351, 0, x_332);
-lean_ctor_set(x_351, 1, x_349);
-return x_351;
+lean_ctor_set(x_266, 0, x_265);
+lean_ctor_set(x_266, 1, x_261);
+x_8 = x_266;
+goto block_20;
}
-block_289:
+block_288:
{
-lean_object* x_265; lean_object* x_266; lean_object* x_267; lean_object* x_268; uint8_t x_269; lean_object* x_270; lean_object* x_271; lean_object* x_272; lean_object* x_273; lean_object* x_274; lean_object* x_275; lean_object* x_276; lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; lean_object* x_281; lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286; lean_object* x_287; lean_object* x_288;
-x_265 = lean_st_ref_get(x_6, x_264);
-x_266 = lean_ctor_get(x_265, 0);
-lean_inc(x_266);
-x_267 = lean_ctor_get(x_265, 1);
-lean_inc(x_267);
-lean_dec(x_265);
-x_268 = lean_ctor_get(x_266, 3);
-lean_inc(x_268);
-lean_dec(x_266);
-x_269 = lean_ctor_get_uint8(x_268, sizeof(void*)*1);
-lean_dec(x_268);
-x_270 = lean_st_ref_take(x_6, x_267);
-x_271 = lean_ctor_get(x_270, 0);
+lean_object* x_270; lean_object* x_271; lean_object* x_272; lean_object* x_273; lean_object* x_274; lean_object* x_275; lean_object* x_276; lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; lean_object* x_281; lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286; lean_object* x_287;
+x_270 = lean_st_ref_get(x_6, x_269);
+x_271 = lean_ctor_get(x_270, 1);
lean_inc(x_271);
-x_272 = lean_ctor_get(x_271, 3);
-lean_inc(x_272);
-x_273 = lean_ctor_get(x_270, 1);
-lean_inc(x_273);
lean_dec(x_270);
-x_274 = lean_ctor_get(x_271, 0);
+x_272 = lean_st_ref_take(x_6, x_271);
+x_273 = lean_ctor_get(x_272, 0);
+lean_inc(x_273);
+x_274 = lean_ctor_get(x_273, 3);
lean_inc(x_274);
-x_275 = lean_ctor_get(x_271, 1);
+x_275 = lean_ctor_get(x_272, 1);
lean_inc(x_275);
-x_276 = lean_ctor_get(x_271, 2);
+lean_dec(x_272);
+x_276 = lean_ctor_get(x_273, 0);
lean_inc(x_276);
-if (lean_is_exclusive(x_271)) {
- lean_ctor_release(x_271, 0);
- lean_ctor_release(x_271, 1);
- lean_ctor_release(x_271, 2);
- lean_ctor_release(x_271, 3);
- x_277 = x_271;
-} else {
- lean_dec_ref(x_271);
- x_277 = lean_box(0);
-}
-x_278 = lean_ctor_get(x_272, 0);
+x_277 = lean_ctor_get(x_273, 1);
+lean_inc(x_277);
+x_278 = lean_ctor_get(x_273, 2);
lean_inc(x_278);
-if (lean_is_exclusive(x_272)) {
- lean_ctor_release(x_272, 0);
- x_279 = x_272;
+if (lean_is_exclusive(x_273)) {
+ lean_ctor_release(x_273, 0);
+ lean_ctor_release(x_273, 1);
+ lean_ctor_release(x_273, 2);
+ lean_ctor_release(x_273, 3);
+ x_279 = x_273;
} else {
- lean_dec_ref(x_272);
+ lean_dec_ref(x_273);
x_279 = lean_box(0);
}
+x_280 = lean_ctor_get(x_274, 0);
+lean_inc(x_280);
+if (lean_is_exclusive(x_274)) {
+ lean_ctor_release(x_274, 0);
+ x_281 = x_274;
+} else {
+ lean_dec_ref(x_274);
+ x_281 = lean_box(0);
+}
+if (lean_is_scalar(x_281)) {
+ x_282 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_282 = x_281;
+}
+lean_ctor_set(x_282, 0, x_280);
+lean_ctor_set_uint8(x_282, sizeof(void*)*1, x_98);
if (lean_is_scalar(x_279)) {
- x_280 = lean_alloc_ctor(0, 1, 1);
+ x_283 = lean_alloc_ctor(0, 4, 0);
} else {
- x_280 = x_279;
+ x_283 = x_279;
}
-lean_ctor_set(x_280, 0, x_278);
-lean_ctor_set_uint8(x_280, sizeof(void*)*1, x_24);
-if (lean_is_scalar(x_277)) {
- x_281 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_281 = x_277;
-}
-lean_ctor_set(x_281, 0, x_274);
-lean_ctor_set(x_281, 1, x_275);
-lean_ctor_set(x_281, 2, x_276);
-lean_ctor_set(x_281, 3, x_280);
-x_282 = lean_st_ref_set(x_6, x_281, x_273);
+lean_ctor_set(x_283, 0, x_276);
+lean_ctor_set(x_283, 1, x_277);
+lean_ctor_set(x_283, 2, x_278);
+lean_ctor_set(x_283, 3, x_282);
+x_284 = lean_st_ref_set(x_6, x_283, x_275);
lean_dec(x_6);
-x_283 = lean_ctor_get(x_282, 1);
-lean_inc(x_283);
-if (lean_is_exclusive(x_282)) {
- lean_ctor_release(x_282, 0);
- lean_ctor_release(x_282, 1);
- x_284 = x_282;
+x_285 = lean_ctor_get(x_284, 1);
+lean_inc(x_285);
+if (lean_is_exclusive(x_284)) {
+ lean_ctor_release(x_284, 0);
+ lean_ctor_release(x_284, 1);
+ x_286 = x_284;
} else {
- lean_dec_ref(x_282);
- x_284 = lean_box(0);
+ lean_dec_ref(x_284);
+ x_286 = lean_box(0);
}
-x_285 = lean_box(x_263);
-x_286 = lean_box(x_269);
-x_287 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_287, 0, x_285);
-lean_ctor_set(x_287, 1, x_286);
-if (lean_is_scalar(x_284)) {
- x_288 = lean_alloc_ctor(0, 2, 0);
+if (lean_is_scalar(x_286)) {
+ x_287 = lean_alloc_ctor(1, 2, 0);
} else {
- x_288 = x_284;
+ x_287 = x_286;
+ lean_ctor_set_tag(x_287, 1);
}
-lean_ctor_set(x_288, 0, x_287);
-lean_ctor_set(x_288, 1, x_283);
-x_8 = x_288;
-goto block_16;
+lean_ctor_set(x_287, 0, x_268);
+lean_ctor_set(x_287, 1, x_285);
+x_8 = x_287;
+goto block_20;
}
}
}
else
{
-lean_object* x_352; lean_object* x_353; lean_object* x_354; lean_object* x_355; uint8_t x_356; lean_object* x_357; lean_object* x_367;
-x_352 = lean_ctor_get(x_5, 3);
-lean_inc(x_352);
-x_353 = l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_isLevelDefEq___spec__3___rarg(x_6, x_19);
-x_354 = lean_ctor_get(x_353, 0);
-lean_inc(x_354);
-x_355 = lean_ctor_get(x_353, 1);
-lean_inc(x_355);
-lean_dec(x_353);
+lean_object* x_333; lean_object* x_334; lean_object* x_335; lean_object* x_336; lean_object* x_337; uint8_t x_338; lean_object* x_339; lean_object* x_340; lean_object* x_341; lean_object* x_342; uint8_t x_343; lean_object* x_344; lean_object* x_370; lean_object* x_371; lean_object* x_391;
+x_333 = lean_ctor_get(x_100, 0);
+x_334 = lean_ctor_get(x_100, 1);
+x_335 = lean_ctor_get(x_100, 2);
+lean_inc(x_335);
+lean_inc(x_334);
+lean_inc(x_333);
+lean_dec(x_100);
+x_336 = lean_ctor_get(x_101, 0);
+lean_inc(x_336);
+if (lean_is_exclusive(x_101)) {
+ lean_ctor_release(x_101, 0);
+ x_337 = x_101;
+} else {
+ lean_dec_ref(x_101);
+ x_337 = lean_box(0);
+}
+x_338 = 0;
+if (lean_is_scalar(x_337)) {
+ x_339 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_339 = x_337;
+}
+lean_ctor_set(x_339, 0, x_336);
+lean_ctor_set_uint8(x_339, sizeof(void*)*1, x_338);
+x_340 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_340, 0, x_333);
+lean_ctor_set(x_340, 1, x_334);
+lean_ctor_set(x_340, 2, x_335);
+lean_ctor_set(x_340, 3, x_339);
+x_341 = lean_st_ref_set(x_6, x_340, x_102);
+x_342 = lean_ctor_get(x_341, 1);
+lean_inc(x_342);
+lean_dec(x_341);
lean_inc(x_6);
lean_inc(x_5);
lean_inc(x_4);
lean_inc(x_3);
-x_367 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_17, x_3, x_4, x_5, x_6, x_355);
-if (lean_obj_tag(x_367) == 0)
+x_391 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_21, x_3, x_4, x_5, x_6, x_342);
+if (lean_obj_tag(x_391) == 0)
{
-lean_object* x_368; lean_object* x_369; uint8_t x_370; lean_object* x_371; lean_object* x_398; lean_object* x_399; lean_object* x_400; uint8_t x_401;
-x_368 = lean_ctor_get(x_367, 0);
-lean_inc(x_368);
-x_369 = lean_ctor_get(x_367, 1);
-lean_inc(x_369);
-lean_dec(x_367);
-x_398 = lean_st_ref_get(x_6, x_369);
-x_399 = lean_ctor_get(x_398, 0);
-lean_inc(x_399);
-x_400 = lean_ctor_get(x_399, 3);
-lean_inc(x_400);
-lean_dec(x_399);
-x_401 = lean_ctor_get_uint8(x_400, sizeof(void*)*1);
-lean_dec(x_400);
-if (x_401 == 0)
+lean_object* x_392; lean_object* x_393; uint8_t x_394; lean_object* x_395; lean_object* x_422; lean_object* x_423; lean_object* x_424; uint8_t x_425;
+x_392 = lean_ctor_get(x_391, 0);
+lean_inc(x_392);
+x_393 = lean_ctor_get(x_391, 1);
+lean_inc(x_393);
+lean_dec(x_391);
+x_422 = lean_st_ref_get(x_6, x_393);
+x_423 = lean_ctor_get(x_422, 0);
+lean_inc(x_423);
+x_424 = lean_ctor_get(x_423, 3);
+lean_inc(x_424);
+lean_dec(x_423);
+x_425 = lean_ctor_get_uint8(x_424, sizeof(void*)*1);
+lean_dec(x_424);
+if (x_425 == 0)
{
-lean_object* x_402; uint8_t x_403;
-x_402 = lean_ctor_get(x_398, 1);
-lean_inc(x_402);
-lean_dec(x_398);
-x_403 = 0;
-x_370 = x_403;
-x_371 = x_402;
-goto block_397;
+lean_object* x_426;
+x_426 = lean_ctor_get(x_422, 1);
+lean_inc(x_426);
+lean_dec(x_422);
+x_394 = x_338;
+x_395 = x_426;
+goto block_421;
}
else
{
-lean_object* x_404; lean_object* x_405; lean_object* x_406; lean_object* x_407; lean_object* x_408; uint8_t x_409;
-x_404 = lean_ctor_get(x_398, 1);
-lean_inc(x_404);
-lean_dec(x_398);
-x_405 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_406 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_405, x_3, x_4, x_5, x_6, x_404);
-x_407 = lean_ctor_get(x_406, 0);
-lean_inc(x_407);
-x_408 = lean_ctor_get(x_406, 1);
-lean_inc(x_408);
-lean_dec(x_406);
-x_409 = lean_unbox(x_407);
-lean_dec(x_407);
-x_370 = x_409;
-x_371 = x_408;
-goto block_397;
+lean_object* x_427; lean_object* x_428; lean_object* x_429; lean_object* x_430; lean_object* x_431; uint8_t x_432;
+x_427 = lean_ctor_get(x_422, 1);
+lean_inc(x_427);
+lean_dec(x_422);
+x_428 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_429 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_428, x_3, x_4, x_5, x_6, x_427);
+x_430 = lean_ctor_get(x_429, 0);
+lean_inc(x_430);
+x_431 = lean_ctor_get(x_429, 1);
+lean_inc(x_431);
+lean_dec(x_429);
+x_432 = lean_unbox(x_430);
+lean_dec(x_430);
+x_394 = x_432;
+x_395 = x_431;
+goto block_421;
}
-block_397:
+block_421:
{
-if (x_370 == 0)
+if (x_394 == 0)
{
-uint8_t x_372;
-lean_dec(x_2);
-lean_dec(x_1);
-x_372 = lean_unbox(x_368);
-lean_dec(x_368);
-x_356 = x_372;
-x_357 = x_371;
-goto block_366;
-}
-else
-{
-lean_object* x_373; lean_object* x_374; lean_object* x_375; lean_object* x_376; lean_object* x_377; lean_object* x_378; lean_object* x_379; lean_object* x_380; lean_object* x_381; uint8_t x_382;
-x_373 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_373, 0, x_1);
-x_374 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_375 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_375, 0, x_374);
-lean_ctor_set(x_375, 1, x_373);
-x_376 = l_Lean_Meta_isLevelDefEqAux___closed__6;
-x_377 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_377, 0, x_375);
-lean_ctor_set(x_377, 1, x_376);
-x_378 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_378, 0, x_2);
-x_379 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_379, 0, x_377);
-lean_ctor_set(x_379, 1, x_378);
-x_380 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
-x_381 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_381, 0, x_379);
-lean_ctor_set(x_381, 1, x_380);
-x_382 = lean_unbox(x_368);
-if (x_382 == 0)
-{
-lean_object* x_383; lean_object* x_384; lean_object* x_385; lean_object* x_386; lean_object* x_387; lean_object* x_388; uint8_t x_389;
-x_383 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
-x_384 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_384, 0, x_381);
-lean_ctor_set(x_384, 1, x_383);
-x_385 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_385, 0, x_384);
-lean_ctor_set(x_385, 1, x_374);
-x_386 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_387 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_386, x_385, x_3, x_4, x_5, x_6, x_371);
-x_388 = lean_ctor_get(x_387, 1);
-lean_inc(x_388);
-lean_dec(x_387);
-x_389 = lean_unbox(x_368);
-lean_dec(x_368);
-x_356 = x_389;
-x_357 = x_388;
-goto block_366;
-}
-else
-{
-lean_object* x_390; lean_object* x_391; lean_object* x_392; lean_object* x_393; lean_object* x_394; lean_object* x_395; uint8_t x_396;
-x_390 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
-x_391 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_391, 0, x_381);
-lean_ctor_set(x_391, 1, x_390);
-x_392 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_392, 0, x_391);
-lean_ctor_set(x_392, 1, x_374);
-x_393 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_394 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_393, x_392, x_3, x_4, x_5, x_6, x_371);
-x_395 = lean_ctor_get(x_394, 1);
-lean_inc(x_395);
-lean_dec(x_394);
-x_396 = lean_unbox(x_368);
-lean_dec(x_368);
-x_356 = x_396;
-x_357 = x_395;
-goto block_366;
-}
-}
-}
-}
-else
-{
-lean_object* x_410; lean_object* x_411; lean_object* x_412; lean_object* x_413; uint8_t x_414;
-lean_dec(x_2);
-lean_dec(x_1);
-x_410 = lean_ctor_get(x_367, 0);
-lean_inc(x_410);
-x_411 = lean_ctor_get(x_367, 1);
-lean_inc(x_411);
-lean_dec(x_367);
-x_412 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_413 = l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_isLevelDefEq___spec__4(x_354, x_412, x_352, x_3, x_4, x_5, x_6, x_411);
-lean_dec(x_6);
+uint8_t x_396;
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
-x_414 = !lean_is_exclusive(x_413);
-if (x_414 == 0)
-{
-lean_object* x_415;
-x_415 = lean_ctor_get(x_413, 0);
-lean_dec(x_415);
-lean_ctor_set_tag(x_413, 1);
-lean_ctor_set(x_413, 0, x_410);
-return x_413;
+lean_dec(x_2);
+lean_dec(x_1);
+x_396 = lean_unbox(x_392);
+lean_dec(x_392);
+x_343 = x_396;
+x_344 = x_395;
+goto block_369;
}
else
{
-lean_object* x_416; lean_object* x_417;
-x_416 = lean_ctor_get(x_413, 1);
-lean_inc(x_416);
-lean_dec(x_413);
-x_417 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_417, 0, x_410);
-lean_ctor_set(x_417, 1, x_416);
-return x_417;
-}
-}
-block_366:
+lean_object* x_397; lean_object* x_398; lean_object* x_399; lean_object* x_400; lean_object* x_401; lean_object* x_402; lean_object* x_403; lean_object* x_404; lean_object* x_405; uint8_t x_406;
+x_397 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_397, 0, x_1);
+x_398 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_399 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_399, 0, x_398);
+lean_ctor_set(x_399, 1, x_397);
+x_400 = l_Lean_Meta_isLevelDefEqAux___closed__6;
+x_401 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_401, 0, x_399);
+lean_ctor_set(x_401, 1, x_400);
+x_402 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_402, 0, x_2);
+x_403 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_403, 0, x_401);
+lean_ctor_set(x_403, 1, x_402);
+x_404 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
+x_405 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_405, 0, x_403);
+lean_ctor_set(x_405, 1, x_404);
+x_406 = lean_unbox(x_392);
+if (x_406 == 0)
{
-lean_object* x_358; lean_object* x_359; uint8_t x_360;
-x_358 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_359 = l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_isLevelDefEq___spec__4(x_354, x_358, x_352, x_3, x_4, x_5, x_6, x_357);
-lean_dec(x_6);
+lean_object* x_407; lean_object* x_408; lean_object* x_409; lean_object* x_410; lean_object* x_411; lean_object* x_412; uint8_t x_413;
+x_407 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
+x_408 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_408, 0, x_405);
+lean_ctor_set(x_408, 1, x_407);
+x_409 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_409, 0, x_408);
+lean_ctor_set(x_409, 1, x_398);
+x_410 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_411 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_410, x_409, x_3, x_4, x_5, x_6, x_395);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
-x_360 = !lean_is_exclusive(x_359);
-if (x_360 == 0)
-{
-lean_object* x_361; lean_object* x_362;
-x_361 = lean_ctor_get(x_359, 0);
-lean_dec(x_361);
-x_362 = lean_box(x_356);
-lean_ctor_set(x_359, 0, x_362);
-return x_359;
+x_412 = lean_ctor_get(x_411, 1);
+lean_inc(x_412);
+lean_dec(x_411);
+x_413 = lean_unbox(x_392);
+lean_dec(x_392);
+x_343 = x_413;
+x_344 = x_412;
+goto block_369;
}
else
{
-lean_object* x_363; lean_object* x_364; lean_object* x_365;
-x_363 = lean_ctor_get(x_359, 1);
+lean_object* x_414; lean_object* x_415; lean_object* x_416; lean_object* x_417; lean_object* x_418; lean_object* x_419; uint8_t x_420;
+x_414 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
+x_415 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_415, 0, x_405);
+lean_ctor_set(x_415, 1, x_414);
+x_416 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_416, 0, x_415);
+lean_ctor_set(x_416, 1, x_398);
+x_417 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_418 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_417, x_416, x_3, x_4, x_5, x_6, x_395);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_419 = lean_ctor_get(x_418, 1);
+lean_inc(x_419);
+lean_dec(x_418);
+x_420 = lean_unbox(x_392);
+lean_dec(x_392);
+x_343 = x_420;
+x_344 = x_419;
+goto block_369;
+}
+}
+}
+}
+else
+{
+lean_object* x_433; lean_object* x_434;
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+lean_dec(x_1);
+x_433 = lean_ctor_get(x_391, 0);
+lean_inc(x_433);
+x_434 = lean_ctor_get(x_391, 1);
+lean_inc(x_434);
+lean_dec(x_391);
+x_370 = x_433;
+x_371 = x_434;
+goto block_390;
+}
+block_369:
+{
+lean_object* x_345; lean_object* x_346; lean_object* x_347; lean_object* x_348; uint8_t x_349; lean_object* x_350; lean_object* x_351; lean_object* x_352; lean_object* x_353; lean_object* x_354; lean_object* x_355; lean_object* x_356; lean_object* x_357; lean_object* x_358; lean_object* x_359; lean_object* x_360; lean_object* x_361; lean_object* x_362; lean_object* x_363; lean_object* x_364; lean_object* x_365; lean_object* x_366; lean_object* x_367; lean_object* x_368;
+x_345 = lean_st_ref_get(x_6, x_344);
+x_346 = lean_ctor_get(x_345, 0);
+lean_inc(x_346);
+x_347 = lean_ctor_get(x_345, 1);
+lean_inc(x_347);
+lean_dec(x_345);
+x_348 = lean_ctor_get(x_346, 3);
+lean_inc(x_348);
+lean_dec(x_346);
+x_349 = lean_ctor_get_uint8(x_348, sizeof(void*)*1);
+lean_dec(x_348);
+x_350 = lean_st_ref_take(x_6, x_347);
+x_351 = lean_ctor_get(x_350, 0);
+lean_inc(x_351);
+x_352 = lean_ctor_get(x_351, 3);
+lean_inc(x_352);
+x_353 = lean_ctor_get(x_350, 1);
+lean_inc(x_353);
+lean_dec(x_350);
+x_354 = lean_ctor_get(x_351, 0);
+lean_inc(x_354);
+x_355 = lean_ctor_get(x_351, 1);
+lean_inc(x_355);
+x_356 = lean_ctor_get(x_351, 2);
+lean_inc(x_356);
+if (lean_is_exclusive(x_351)) {
+ lean_ctor_release(x_351, 0);
+ lean_ctor_release(x_351, 1);
+ lean_ctor_release(x_351, 2);
+ lean_ctor_release(x_351, 3);
+ x_357 = x_351;
+} else {
+ lean_dec_ref(x_351);
+ x_357 = lean_box(0);
+}
+x_358 = lean_ctor_get(x_352, 0);
+lean_inc(x_358);
+if (lean_is_exclusive(x_352)) {
+ lean_ctor_release(x_352, 0);
+ x_359 = x_352;
+} else {
+ lean_dec_ref(x_352);
+ x_359 = lean_box(0);
+}
+if (lean_is_scalar(x_359)) {
+ x_360 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_360 = x_359;
+}
+lean_ctor_set(x_360, 0, x_358);
+lean_ctor_set_uint8(x_360, sizeof(void*)*1, x_98);
+if (lean_is_scalar(x_357)) {
+ x_361 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_361 = x_357;
+}
+lean_ctor_set(x_361, 0, x_354);
+lean_ctor_set(x_361, 1, x_355);
+lean_ctor_set(x_361, 2, x_356);
+lean_ctor_set(x_361, 3, x_360);
+x_362 = lean_st_ref_set(x_6, x_361, x_353);
+lean_dec(x_6);
+x_363 = lean_ctor_get(x_362, 1);
lean_inc(x_363);
-lean_dec(x_359);
-x_364 = lean_box(x_356);
-x_365 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_365, 0, x_364);
-lean_ctor_set(x_365, 1, x_363);
-return x_365;
+if (lean_is_exclusive(x_362)) {
+ lean_ctor_release(x_362, 0);
+ lean_ctor_release(x_362, 1);
+ x_364 = x_362;
+} else {
+ lean_dec_ref(x_362);
+ x_364 = lean_box(0);
+}
+x_365 = lean_box(x_343);
+x_366 = lean_box(x_349);
+x_367 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_367, 0, x_365);
+lean_ctor_set(x_367, 1, x_366);
+if (lean_is_scalar(x_364)) {
+ x_368 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_368 = x_364;
+}
+lean_ctor_set(x_368, 0, x_367);
+lean_ctor_set(x_368, 1, x_363);
+x_8 = x_368;
+goto block_20;
+}
+block_390:
+{
+lean_object* x_372; lean_object* x_373; lean_object* x_374; lean_object* x_375; lean_object* x_376; lean_object* x_377; lean_object* x_378; lean_object* x_379; lean_object* x_380; lean_object* x_381; lean_object* x_382; lean_object* x_383; lean_object* x_384; lean_object* x_385; lean_object* x_386; lean_object* x_387; lean_object* x_388; lean_object* x_389;
+x_372 = lean_st_ref_get(x_6, x_371);
+x_373 = lean_ctor_get(x_372, 1);
+lean_inc(x_373);
+lean_dec(x_372);
+x_374 = lean_st_ref_take(x_6, x_373);
+x_375 = lean_ctor_get(x_374, 0);
+lean_inc(x_375);
+x_376 = lean_ctor_get(x_375, 3);
+lean_inc(x_376);
+x_377 = lean_ctor_get(x_374, 1);
+lean_inc(x_377);
+lean_dec(x_374);
+x_378 = lean_ctor_get(x_375, 0);
+lean_inc(x_378);
+x_379 = lean_ctor_get(x_375, 1);
+lean_inc(x_379);
+x_380 = lean_ctor_get(x_375, 2);
+lean_inc(x_380);
+if (lean_is_exclusive(x_375)) {
+ lean_ctor_release(x_375, 0);
+ lean_ctor_release(x_375, 1);
+ lean_ctor_release(x_375, 2);
+ lean_ctor_release(x_375, 3);
+ x_381 = x_375;
+} else {
+ lean_dec_ref(x_375);
+ x_381 = lean_box(0);
+}
+x_382 = lean_ctor_get(x_376, 0);
+lean_inc(x_382);
+if (lean_is_exclusive(x_376)) {
+ lean_ctor_release(x_376, 0);
+ x_383 = x_376;
+} else {
+ lean_dec_ref(x_376);
+ x_383 = lean_box(0);
+}
+if (lean_is_scalar(x_383)) {
+ x_384 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_384 = x_383;
+}
+lean_ctor_set(x_384, 0, x_382);
+lean_ctor_set_uint8(x_384, sizeof(void*)*1, x_98);
+if (lean_is_scalar(x_381)) {
+ x_385 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_385 = x_381;
+}
+lean_ctor_set(x_385, 0, x_378);
+lean_ctor_set(x_385, 1, x_379);
+lean_ctor_set(x_385, 2, x_380);
+lean_ctor_set(x_385, 3, x_384);
+x_386 = lean_st_ref_set(x_6, x_385, x_377);
+lean_dec(x_6);
+x_387 = lean_ctor_get(x_386, 1);
+lean_inc(x_387);
+if (lean_is_exclusive(x_386)) {
+ lean_ctor_release(x_386, 0);
+ lean_ctor_release(x_386, 1);
+ x_388 = x_386;
+} else {
+ lean_dec_ref(x_386);
+ x_388 = lean_box(0);
+}
+if (lean_is_scalar(x_388)) {
+ x_389 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_389 = x_388;
+ lean_ctor_set_tag(x_389, 1);
+}
+lean_ctor_set(x_389, 0, x_370);
+lean_ctor_set(x_389, 1, x_387);
+x_8 = x_389;
+goto block_20;
+}
}
}
}
@@ -9072,6 +9130,107 @@ lean_dec(x_3);
return x_12;
}
}
+lean_object* l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1(lean_object* x_1, size_t x_2, lean_object* x_3) {
+_start:
+{
+if (lean_obj_tag(x_3) == 0)
+{
+lean_object* x_4;
+lean_dec(x_1);
+x_4 = lean_box(0);
+return x_4;
+}
+else
+{
+uint8_t x_5;
+x_5 = !lean_is_exclusive(x_3);
+if (x_5 == 0)
+{
+lean_object* x_6; uint8_t x_7;
+x_6 = lean_ctor_get(x_3, 0);
+x_7 = !lean_is_exclusive(x_6);
+if (x_7 == 0)
+{
+lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
+x_8 = lean_ctor_get(x_3, 1);
+x_9 = lean_ctor_get(x_6, 1);
+x_10 = l_Lean_Expr_ReplaceLevelImpl_initCache;
+lean_inc(x_1);
+x_11 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit(x_1, x_2, x_9, x_10);
+x_12 = lean_ctor_get(x_11, 0);
+lean_inc(x_12);
+lean_dec(x_11);
+lean_ctor_set(x_6, 1, x_12);
+x_13 = l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1(x_1, x_2, x_8);
+lean_ctor_set(x_3, 1, x_13);
+return x_3;
+}
+else
+{
+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;
+x_14 = lean_ctor_get(x_3, 1);
+x_15 = lean_ctor_get(x_6, 0);
+x_16 = lean_ctor_get(x_6, 1);
+lean_inc(x_16);
+lean_inc(x_15);
+lean_dec(x_6);
+x_17 = l_Lean_Expr_ReplaceLevelImpl_initCache;
+lean_inc(x_1);
+x_18 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit(x_1, x_2, x_16, x_17);
+x_19 = lean_ctor_get(x_18, 0);
+lean_inc(x_19);
+lean_dec(x_18);
+x_20 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_20, 0, x_15);
+lean_ctor_set(x_20, 1, x_19);
+x_21 = l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1(x_1, x_2, x_14);
+lean_ctor_set(x_3, 1, x_21);
+lean_ctor_set(x_3, 0, x_20);
+return x_3;
+}
+}
+else
+{
+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;
+x_22 = lean_ctor_get(x_3, 0);
+x_23 = lean_ctor_get(x_3, 1);
+lean_inc(x_23);
+lean_inc(x_22);
+lean_dec(x_3);
+x_24 = lean_ctor_get(x_22, 0);
+lean_inc(x_24);
+x_25 = lean_ctor_get(x_22, 1);
+lean_inc(x_25);
+if (lean_is_exclusive(x_22)) {
+ lean_ctor_release(x_22, 0);
+ lean_ctor_release(x_22, 1);
+ x_26 = x_22;
+} else {
+ lean_dec_ref(x_22);
+ x_26 = lean_box(0);
+}
+x_27 = l_Lean_Expr_ReplaceLevelImpl_initCache;
+lean_inc(x_1);
+x_28 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit(x_1, x_2, x_25, x_27);
+x_29 = lean_ctor_get(x_28, 0);
+lean_inc(x_29);
+lean_dec(x_28);
+if (lean_is_scalar(x_26)) {
+ x_30 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_30 = x_26;
+}
+lean_ctor_set(x_30, 0, x_24);
+lean_ctor_set(x_30, 1, x_29);
+x_31 = l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1(x_1, x_2, x_23);
+x_32 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_32, 0, x_30);
+lean_ctor_set(x_32, 1, x_31);
+return x_32;
+}
+}
+}
+}
lean_object* l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__2___lambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -9110,1998 +9269,111 @@ uint8_t x_4;
x_4 = !lean_is_exclusive(x_2);
if (x_4 == 0)
{
-lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9;
-x_5 = lean_ctor_get(x_2, 0);
-x_6 = lean_ctor_get(x_2, 1);
-lean_inc(x_1);
-x_7 = lean_alloc_closure((void*)(l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__2___lambda__1___boxed), 2, 1);
-lean_closure_set(x_7, 0, x_1);
-x_8 = l_Lean_Level_replace___main(x_7, x_5);
-x_9 = l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__2(x_1, x_6);
-lean_ctor_set(x_2, 1, x_9);
-lean_ctor_set(x_2, 0, x_8);
-return x_2;
-}
-else
-{
-lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15;
-x_10 = lean_ctor_get(x_2, 0);
-x_11 = lean_ctor_get(x_2, 1);
-lean_inc(x_11);
-lean_inc(x_10);
-lean_dec(x_2);
-lean_inc(x_1);
-x_12 = lean_alloc_closure((void*)(l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__2___lambda__1___boxed), 2, 1);
-lean_closure_set(x_12, 0, x_1);
-x_13 = l_Lean_Level_replace___main(x_12, x_10);
-x_14 = l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__2(x_1, x_11);
-x_15 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_15, 0, x_13);
-lean_ctor_set(x_15, 1, x_14);
-return x_15;
-}
-}
-}
-}
-lean_object* l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1(lean_object* x_1, size_t x_2, lean_object* x_3, lean_object* x_4) {
-_start:
-{
-lean_object* x_5; size_t x_6; size_t x_7; lean_object* x_8; lean_object* x_9; size_t x_10; uint8_t x_11;
-lean_inc(x_1);
-x_5 = lean_alloc_closure((void*)(l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__2___lambda__1___boxed), 2, 1);
-lean_closure_set(x_5, 0, x_1);
-x_6 = lean_ptr_addr(x_3);
-x_7 = x_2 == 0 ? 0 : x_6 % x_2;
-x_8 = lean_ctor_get(x_4, 0);
-lean_inc(x_8);
-x_9 = lean_array_uget(x_8, x_7);
-x_10 = lean_ptr_addr(x_9);
-lean_dec(x_9);
-x_11 = x_10 == x_6;
-if (x_11 == 0)
-{
-switch (lean_obj_tag(x_3)) {
-case 3:
-{
-lean_object* x_12; uint64_t 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_dec(x_1);
-x_12 = lean_ctor_get(x_3, 0);
-lean_inc(x_12);
-x_13 = lean_ctor_get_uint64(x_3, sizeof(void*)*1);
-lean_inc(x_12);
-x_14 = l_Lean_Level_replace___main(x_5, x_12);
-x_15 = lean_alloc_ctor(3, 1, 8);
-lean_ctor_set(x_15, 0, x_12);
-lean_ctor_set_uint64(x_15, sizeof(void*)*1, x_13);
-x_16 = lean_expr_update_sort(x_15, x_14);
-x_17 = lean_array_uset(x_8, x_7, x_3);
-x_18 = lean_ctor_get(x_4, 1);
-lean_inc(x_18);
-lean_dec(x_4);
-lean_inc(x_16);
-x_19 = lean_array_uset(x_18, x_7, x_16);
-x_20 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_20, 0, x_17);
-lean_ctor_set(x_20, 1, x_19);
-x_21 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_21, 0, x_16);
-lean_ctor_set(x_21, 1, x_20);
-return x_21;
-}
-case 4:
-{
-lean_object* x_22; lean_object* x_23; uint64_t 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_dec(x_5);
-x_22 = lean_ctor_get(x_3, 0);
-lean_inc(x_22);
-x_23 = lean_ctor_get(x_3, 1);
-lean_inc(x_23);
-x_24 = lean_ctor_get_uint64(x_3, sizeof(void*)*2);
-lean_inc(x_23);
-x_25 = l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__2(x_1, x_23);
-x_26 = lean_alloc_ctor(4, 2, 8);
-lean_ctor_set(x_26, 0, x_22);
-lean_ctor_set(x_26, 1, x_23);
-lean_ctor_set_uint64(x_26, sizeof(void*)*2, x_24);
-x_27 = lean_expr_update_const(x_26, x_25);
-x_28 = lean_array_uset(x_8, x_7, x_3);
-x_29 = lean_ctor_get(x_4, 1);
-lean_inc(x_29);
-lean_dec(x_4);
-lean_inc(x_27);
-x_30 = lean_array_uset(x_29, x_7, x_27);
-x_31 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_31, 0, x_28);
-lean_ctor_set(x_31, 1, x_30);
-x_32 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_32, 0, x_27);
-lean_ctor_set(x_32, 1, x_31);
-return x_32;
-}
-case 5:
-{
-lean_object* x_33; lean_object* x_34; uint64_t 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_8);
-lean_dec(x_5);
-x_33 = lean_ctor_get(x_3, 0);
-lean_inc(x_33);
-x_34 = lean_ctor_get(x_3, 1);
-lean_inc(x_34);
-x_35 = lean_ctor_get_uint64(x_3, sizeof(void*)*2);
-lean_inc(x_33);
-lean_inc(x_1);
-x_36 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1(x_1, x_2, x_33, x_4);
-x_37 = lean_ctor_get(x_36, 0);
-lean_inc(x_37);
-x_38 = lean_ctor_get(x_36, 1);
-lean_inc(x_38);
-lean_dec(x_36);
-lean_inc(x_34);
-x_39 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1(x_1, x_2, x_34, x_38);
-x_40 = !lean_is_exclusive(x_39);
-if (x_40 == 0)
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45;
-x_41 = lean_ctor_get(x_39, 0);
-x_42 = lean_ctor_get(x_39, 1);
-x_43 = lean_ctor_get(x_42, 0);
-lean_inc(x_43);
-lean_inc(x_3);
-x_44 = lean_array_uset(x_43, x_7, x_3);
-x_45 = !lean_is_exclusive(x_3);
-if (x_45 == 0)
-{
-lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51;
-x_46 = lean_ctor_get(x_3, 1);
-lean_dec(x_46);
-x_47 = lean_ctor_get(x_3, 0);
-lean_dec(x_47);
-x_48 = lean_ctor_get(x_42, 1);
-lean_inc(x_48);
-lean_dec(x_42);
-x_49 = lean_expr_update_app(x_3, x_37, x_41);
-lean_inc(x_49);
-x_50 = lean_array_uset(x_48, x_7, x_49);
-x_51 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_51, 0, x_44);
-lean_ctor_set(x_51, 1, x_50);
-lean_ctor_set(x_39, 1, x_51);
-lean_ctor_set(x_39, 0, x_49);
-return x_39;
-}
-else
-{
-lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56;
-lean_dec(x_3);
-x_52 = lean_ctor_get(x_42, 1);
-lean_inc(x_52);
-lean_dec(x_42);
-x_53 = lean_alloc_ctor(5, 2, 8);
-lean_ctor_set(x_53, 0, x_33);
-lean_ctor_set(x_53, 1, x_34);
-lean_ctor_set_uint64(x_53, sizeof(void*)*2, x_35);
-x_54 = lean_expr_update_app(x_53, x_37, x_41);
-lean_inc(x_54);
-x_55 = lean_array_uset(x_52, x_7, x_54);
-x_56 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_56, 0, x_44);
-lean_ctor_set(x_56, 1, x_55);
-lean_ctor_set(x_39, 1, x_56);
-lean_ctor_set(x_39, 0, x_54);
-return x_39;
-}
-}
-else
-{
-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;
-x_57 = lean_ctor_get(x_39, 0);
-x_58 = lean_ctor_get(x_39, 1);
-lean_inc(x_58);
-lean_inc(x_57);
-lean_dec(x_39);
-x_59 = lean_ctor_get(x_58, 0);
-lean_inc(x_59);
-lean_inc(x_3);
-x_60 = lean_array_uset(x_59, x_7, x_3);
-if (lean_is_exclusive(x_3)) {
- lean_ctor_release(x_3, 0);
- lean_ctor_release(x_3, 1);
- x_61 = x_3;
-} else {
- lean_dec_ref(x_3);
- x_61 = lean_box(0);
-}
-x_62 = lean_ctor_get(x_58, 1);
-lean_inc(x_62);
-lean_dec(x_58);
-if (lean_is_scalar(x_61)) {
- x_63 = lean_alloc_ctor(5, 2, 8);
-} else {
- x_63 = x_61;
-}
-lean_ctor_set(x_63, 0, x_33);
-lean_ctor_set(x_63, 1, x_34);
-lean_ctor_set_uint64(x_63, sizeof(void*)*2, x_35);
-x_64 = lean_expr_update_app(x_63, x_37, x_57);
-lean_inc(x_64);
-x_65 = lean_array_uset(x_62, x_7, x_64);
-x_66 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_66, 0, x_60);
-lean_ctor_set(x_66, 1, x_65);
-x_67 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_67, 0, x_64);
-lean_ctor_set(x_67, 1, x_66);
-return x_67;
-}
-}
-case 6:
-{
-lean_object* x_68; lean_object* x_69; lean_object* x_70; uint64_t x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; uint8_t x_76;
-lean_dec(x_8);
-lean_dec(x_5);
-x_68 = lean_ctor_get(x_3, 0);
-lean_inc(x_68);
-x_69 = lean_ctor_get(x_3, 1);
-lean_inc(x_69);
-x_70 = lean_ctor_get(x_3, 2);
-lean_inc(x_70);
-x_71 = lean_ctor_get_uint64(x_3, sizeof(void*)*3);
-lean_inc(x_69);
-lean_inc(x_1);
-x_72 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1(x_1, x_2, x_69, x_4);
-x_73 = lean_ctor_get(x_72, 0);
-lean_inc(x_73);
-x_74 = lean_ctor_get(x_72, 1);
-lean_inc(x_74);
-lean_dec(x_72);
-lean_inc(x_70);
-x_75 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1(x_1, x_2, x_70, x_74);
-x_76 = !lean_is_exclusive(x_75);
-if (x_76 == 0)
-{
-lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; uint8_t x_81;
-x_77 = lean_ctor_get(x_75, 0);
-x_78 = lean_ctor_get(x_75, 1);
-x_79 = lean_ctor_get(x_78, 0);
-lean_inc(x_79);
-lean_inc(x_3);
-x_80 = lean_array_uset(x_79, x_7, x_3);
-x_81 = !lean_is_exclusive(x_3);
-if (x_81 == 0)
-{
-lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; uint8_t x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89;
-x_82 = lean_ctor_get(x_3, 2);
-lean_dec(x_82);
-x_83 = lean_ctor_get(x_3, 1);
-lean_dec(x_83);
-x_84 = lean_ctor_get(x_3, 0);
-lean_dec(x_84);
-x_85 = lean_ctor_get(x_78, 1);
-lean_inc(x_85);
-lean_dec(x_78);
-x_86 = (uint8_t)((x_71 << 24) >> 61);
-x_87 = lean_expr_update_lambda(x_3, x_86, x_73, x_77);
-lean_inc(x_87);
-x_88 = lean_array_uset(x_85, x_7, x_87);
-x_89 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_89, 0, x_80);
-lean_ctor_set(x_89, 1, x_88);
-lean_ctor_set(x_75, 1, x_89);
-lean_ctor_set(x_75, 0, x_87);
-return x_75;
-}
-else
-{
-lean_object* x_90; lean_object* x_91; uint8_t x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95;
-lean_dec(x_3);
-x_90 = lean_ctor_get(x_78, 1);
-lean_inc(x_90);
-lean_dec(x_78);
-x_91 = lean_alloc_ctor(6, 3, 8);
-lean_ctor_set(x_91, 0, x_68);
-lean_ctor_set(x_91, 1, x_69);
-lean_ctor_set(x_91, 2, x_70);
-lean_ctor_set_uint64(x_91, sizeof(void*)*3, x_71);
-x_92 = (uint8_t)((x_71 << 24) >> 61);
-x_93 = lean_expr_update_lambda(x_91, x_92, x_73, x_77);
-lean_inc(x_93);
-x_94 = lean_array_uset(x_90, x_7, x_93);
-x_95 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_95, 0, x_80);
-lean_ctor_set(x_95, 1, x_94);
-lean_ctor_set(x_75, 1, x_95);
-lean_ctor_set(x_75, 0, x_93);
-return x_75;
-}
-}
-else
-{
-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; uint8_t x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107;
-x_96 = lean_ctor_get(x_75, 0);
-x_97 = lean_ctor_get(x_75, 1);
-lean_inc(x_97);
-lean_inc(x_96);
-lean_dec(x_75);
-x_98 = lean_ctor_get(x_97, 0);
-lean_inc(x_98);
-lean_inc(x_3);
-x_99 = lean_array_uset(x_98, x_7, x_3);
-if (lean_is_exclusive(x_3)) {
- lean_ctor_release(x_3, 0);
- lean_ctor_release(x_3, 1);
- lean_ctor_release(x_3, 2);
- x_100 = x_3;
-} else {
- lean_dec_ref(x_3);
- x_100 = lean_box(0);
-}
-x_101 = lean_ctor_get(x_97, 1);
-lean_inc(x_101);
-lean_dec(x_97);
-if (lean_is_scalar(x_100)) {
- x_102 = lean_alloc_ctor(6, 3, 8);
-} else {
- x_102 = x_100;
-}
-lean_ctor_set(x_102, 0, x_68);
-lean_ctor_set(x_102, 1, x_69);
-lean_ctor_set(x_102, 2, x_70);
-lean_ctor_set_uint64(x_102, sizeof(void*)*3, x_71);
-x_103 = (uint8_t)((x_71 << 24) >> 61);
-x_104 = lean_expr_update_lambda(x_102, x_103, x_73, x_96);
-lean_inc(x_104);
-x_105 = lean_array_uset(x_101, x_7, x_104);
-x_106 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_106, 0, x_99);
-lean_ctor_set(x_106, 1, x_105);
-x_107 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_107, 0, x_104);
-lean_ctor_set(x_107, 1, x_106);
-return x_107;
-}
-}
-case 7:
-{
-lean_object* x_108; lean_object* x_109; lean_object* x_110; uint64_t x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; uint8_t x_116;
-lean_dec(x_8);
-lean_dec(x_5);
-x_108 = lean_ctor_get(x_3, 0);
-lean_inc(x_108);
-x_109 = lean_ctor_get(x_3, 1);
-lean_inc(x_109);
-x_110 = lean_ctor_get(x_3, 2);
-lean_inc(x_110);
-x_111 = lean_ctor_get_uint64(x_3, sizeof(void*)*3);
-lean_inc(x_109);
-lean_inc(x_1);
-x_112 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1(x_1, x_2, x_109, x_4);
-x_113 = lean_ctor_get(x_112, 0);
-lean_inc(x_113);
-x_114 = lean_ctor_get(x_112, 1);
-lean_inc(x_114);
-lean_dec(x_112);
-lean_inc(x_110);
-x_115 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1(x_1, x_2, x_110, x_114);
-x_116 = !lean_is_exclusive(x_115);
-if (x_116 == 0)
-{
-lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; uint8_t x_121;
-x_117 = lean_ctor_get(x_115, 0);
-x_118 = lean_ctor_get(x_115, 1);
-x_119 = lean_ctor_get(x_118, 0);
-lean_inc(x_119);
-lean_inc(x_3);
-x_120 = lean_array_uset(x_119, x_7, x_3);
-x_121 = !lean_is_exclusive(x_3);
-if (x_121 == 0)
-{
-lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; uint8_t x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129;
-x_122 = lean_ctor_get(x_3, 2);
-lean_dec(x_122);
-x_123 = lean_ctor_get(x_3, 1);
-lean_dec(x_123);
-x_124 = lean_ctor_get(x_3, 0);
-lean_dec(x_124);
-x_125 = lean_ctor_get(x_118, 1);
-lean_inc(x_125);
-lean_dec(x_118);
-x_126 = (uint8_t)((x_111 << 24) >> 61);
-x_127 = lean_expr_update_forall(x_3, x_126, x_113, x_117);
-lean_inc(x_127);
-x_128 = lean_array_uset(x_125, x_7, x_127);
-x_129 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_129, 0, x_120);
-lean_ctor_set(x_129, 1, x_128);
-lean_ctor_set(x_115, 1, x_129);
-lean_ctor_set(x_115, 0, x_127);
-return x_115;
-}
-else
-{
-lean_object* x_130; lean_object* x_131; uint8_t x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135;
-lean_dec(x_3);
-x_130 = lean_ctor_get(x_118, 1);
-lean_inc(x_130);
-lean_dec(x_118);
-x_131 = lean_alloc_ctor(7, 3, 8);
-lean_ctor_set(x_131, 0, x_108);
-lean_ctor_set(x_131, 1, x_109);
-lean_ctor_set(x_131, 2, x_110);
-lean_ctor_set_uint64(x_131, sizeof(void*)*3, x_111);
-x_132 = (uint8_t)((x_111 << 24) >> 61);
-x_133 = lean_expr_update_forall(x_131, x_132, x_113, x_117);
-lean_inc(x_133);
-x_134 = lean_array_uset(x_130, x_7, x_133);
-x_135 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_135, 0, x_120);
-lean_ctor_set(x_135, 1, x_134);
-lean_ctor_set(x_115, 1, x_135);
-lean_ctor_set(x_115, 0, x_133);
-return x_115;
-}
-}
-else
-{
-lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; uint8_t x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147;
-x_136 = lean_ctor_get(x_115, 0);
-x_137 = lean_ctor_get(x_115, 1);
-lean_inc(x_137);
-lean_inc(x_136);
-lean_dec(x_115);
-x_138 = lean_ctor_get(x_137, 0);
-lean_inc(x_138);
-lean_inc(x_3);
-x_139 = lean_array_uset(x_138, x_7, x_3);
-if (lean_is_exclusive(x_3)) {
- lean_ctor_release(x_3, 0);
- lean_ctor_release(x_3, 1);
- lean_ctor_release(x_3, 2);
- x_140 = x_3;
-} else {
- lean_dec_ref(x_3);
- x_140 = lean_box(0);
-}
-x_141 = lean_ctor_get(x_137, 1);
-lean_inc(x_141);
-lean_dec(x_137);
-if (lean_is_scalar(x_140)) {
- x_142 = lean_alloc_ctor(7, 3, 8);
-} else {
- x_142 = x_140;
-}
-lean_ctor_set(x_142, 0, x_108);
-lean_ctor_set(x_142, 1, x_109);
-lean_ctor_set(x_142, 2, x_110);
-lean_ctor_set_uint64(x_142, sizeof(void*)*3, x_111);
-x_143 = (uint8_t)((x_111 << 24) >> 61);
-x_144 = lean_expr_update_forall(x_142, x_143, x_113, x_136);
-lean_inc(x_144);
-x_145 = lean_array_uset(x_141, x_7, x_144);
-x_146 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_146, 0, x_139);
-lean_ctor_set(x_146, 1, x_145);
-x_147 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_147, 0, x_144);
-lean_ctor_set(x_147, 1, x_146);
-return x_147;
-}
-}
-case 8:
-{
-lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; uint64_t x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; uint8_t x_160;
-lean_dec(x_8);
-lean_dec(x_5);
-x_148 = lean_ctor_get(x_3, 0);
-lean_inc(x_148);
-x_149 = lean_ctor_get(x_3, 1);
-lean_inc(x_149);
-x_150 = lean_ctor_get(x_3, 2);
-lean_inc(x_150);
-x_151 = lean_ctor_get(x_3, 3);
-lean_inc(x_151);
-x_152 = lean_ctor_get_uint64(x_3, sizeof(void*)*4);
-lean_inc(x_149);
-lean_inc(x_1);
-x_153 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1(x_1, x_2, x_149, x_4);
-x_154 = lean_ctor_get(x_153, 0);
-lean_inc(x_154);
-x_155 = lean_ctor_get(x_153, 1);
-lean_inc(x_155);
-lean_dec(x_153);
-lean_inc(x_150);
-lean_inc(x_1);
-x_156 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1(x_1, x_2, x_150, x_155);
-x_157 = lean_ctor_get(x_156, 0);
-lean_inc(x_157);
-x_158 = lean_ctor_get(x_156, 1);
-lean_inc(x_158);
-lean_dec(x_156);
-lean_inc(x_151);
-x_159 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1(x_1, x_2, x_151, x_158);
-x_160 = !lean_is_exclusive(x_159);
-if (x_160 == 0)
-{
-lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; uint8_t x_165;
-x_161 = lean_ctor_get(x_159, 0);
-x_162 = lean_ctor_get(x_159, 1);
-x_163 = lean_ctor_get(x_162, 0);
-lean_inc(x_163);
-lean_inc(x_3);
-x_164 = lean_array_uset(x_163, x_7, x_3);
-x_165 = !lean_is_exclusive(x_3);
-if (x_165 == 0)
-{
-lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173;
-x_166 = lean_ctor_get(x_3, 3);
-lean_dec(x_166);
-x_167 = lean_ctor_get(x_3, 2);
-lean_dec(x_167);
-x_168 = lean_ctor_get(x_3, 1);
-lean_dec(x_168);
-x_169 = lean_ctor_get(x_3, 0);
-lean_dec(x_169);
-x_170 = lean_ctor_get(x_162, 1);
-lean_inc(x_170);
-lean_dec(x_162);
-x_171 = lean_expr_update_let(x_3, x_154, x_157, x_161);
-lean_inc(x_171);
-x_172 = lean_array_uset(x_170, x_7, x_171);
-x_173 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_173, 0, x_164);
-lean_ctor_set(x_173, 1, x_172);
-lean_ctor_set(x_159, 1, x_173);
-lean_ctor_set(x_159, 0, x_171);
-return x_159;
-}
-else
-{
-lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178;
-lean_dec(x_3);
-x_174 = lean_ctor_get(x_162, 1);
-lean_inc(x_174);
-lean_dec(x_162);
-x_175 = lean_alloc_ctor(8, 4, 8);
-lean_ctor_set(x_175, 0, x_148);
-lean_ctor_set(x_175, 1, x_149);
-lean_ctor_set(x_175, 2, x_150);
-lean_ctor_set(x_175, 3, x_151);
-lean_ctor_set_uint64(x_175, sizeof(void*)*4, x_152);
-x_176 = lean_expr_update_let(x_175, x_154, x_157, x_161);
-lean_inc(x_176);
-x_177 = lean_array_uset(x_174, x_7, x_176);
-x_178 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_178, 0, x_164);
-lean_ctor_set(x_178, 1, x_177);
-lean_ctor_set(x_159, 1, x_178);
-lean_ctor_set(x_159, 0, x_176);
-return x_159;
-}
-}
-else
-{
-lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189;
-x_179 = lean_ctor_get(x_159, 0);
-x_180 = lean_ctor_get(x_159, 1);
-lean_inc(x_180);
-lean_inc(x_179);
-lean_dec(x_159);
-x_181 = lean_ctor_get(x_180, 0);
-lean_inc(x_181);
-lean_inc(x_3);
-x_182 = lean_array_uset(x_181, x_7, x_3);
-if (lean_is_exclusive(x_3)) {
- lean_ctor_release(x_3, 0);
- lean_ctor_release(x_3, 1);
- lean_ctor_release(x_3, 2);
- lean_ctor_release(x_3, 3);
- x_183 = x_3;
-} else {
- lean_dec_ref(x_3);
- x_183 = lean_box(0);
-}
-x_184 = lean_ctor_get(x_180, 1);
-lean_inc(x_184);
-lean_dec(x_180);
-if (lean_is_scalar(x_183)) {
- x_185 = lean_alloc_ctor(8, 4, 8);
-} else {
- x_185 = x_183;
-}
-lean_ctor_set(x_185, 0, x_148);
-lean_ctor_set(x_185, 1, x_149);
-lean_ctor_set(x_185, 2, x_150);
-lean_ctor_set(x_185, 3, x_151);
-lean_ctor_set_uint64(x_185, sizeof(void*)*4, x_152);
-x_186 = lean_expr_update_let(x_185, x_154, x_157, x_179);
-lean_inc(x_186);
-x_187 = lean_array_uset(x_184, x_7, x_186);
-x_188 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_188, 0, x_182);
-lean_ctor_set(x_188, 1, x_187);
-x_189 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_189, 0, x_186);
-lean_ctor_set(x_189, 1, x_188);
-return x_189;
-}
-}
-case 10:
-{
-lean_object* x_190; lean_object* x_191; uint64_t x_192; lean_object* x_193; uint8_t x_194;
-lean_dec(x_8);
-lean_dec(x_5);
-x_190 = lean_ctor_get(x_3, 0);
-lean_inc(x_190);
-x_191 = lean_ctor_get(x_3, 1);
-lean_inc(x_191);
-x_192 = lean_ctor_get_uint64(x_3, sizeof(void*)*2);
-lean_inc(x_191);
-x_193 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1(x_1, x_2, x_191, x_4);
-x_194 = !lean_is_exclusive(x_193);
-if (x_194 == 0)
-{
-lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198; uint8_t x_199;
-x_195 = lean_ctor_get(x_193, 0);
-x_196 = lean_ctor_get(x_193, 1);
-x_197 = lean_ctor_get(x_196, 0);
-lean_inc(x_197);
-lean_inc(x_3);
-x_198 = lean_array_uset(x_197, x_7, x_3);
-x_199 = !lean_is_exclusive(x_3);
-if (x_199 == 0)
-{
-lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205;
-x_200 = lean_ctor_get(x_3, 1);
-lean_dec(x_200);
-x_201 = lean_ctor_get(x_3, 0);
-lean_dec(x_201);
-x_202 = lean_ctor_get(x_196, 1);
-lean_inc(x_202);
-lean_dec(x_196);
-x_203 = lean_expr_update_mdata(x_3, x_195);
-lean_inc(x_203);
-x_204 = lean_array_uset(x_202, x_7, x_203);
-x_205 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_205, 0, x_198);
-lean_ctor_set(x_205, 1, x_204);
-lean_ctor_set(x_193, 1, x_205);
-lean_ctor_set(x_193, 0, x_203);
-return x_193;
-}
-else
-{
-lean_object* x_206; lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210;
-lean_dec(x_3);
-x_206 = lean_ctor_get(x_196, 1);
-lean_inc(x_206);
-lean_dec(x_196);
-x_207 = lean_alloc_ctor(10, 2, 8);
-lean_ctor_set(x_207, 0, x_190);
-lean_ctor_set(x_207, 1, x_191);
-lean_ctor_set_uint64(x_207, sizeof(void*)*2, x_192);
-x_208 = lean_expr_update_mdata(x_207, x_195);
-lean_inc(x_208);
-x_209 = lean_array_uset(x_206, x_7, x_208);
-x_210 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_210, 0, x_198);
-lean_ctor_set(x_210, 1, x_209);
-lean_ctor_set(x_193, 1, x_210);
-lean_ctor_set(x_193, 0, x_208);
-return x_193;
-}
-}
-else
-{
-lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214; lean_object* x_215; lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; lean_object* x_221;
-x_211 = lean_ctor_get(x_193, 0);
-x_212 = lean_ctor_get(x_193, 1);
-lean_inc(x_212);
-lean_inc(x_211);
-lean_dec(x_193);
-x_213 = lean_ctor_get(x_212, 0);
-lean_inc(x_213);
-lean_inc(x_3);
-x_214 = lean_array_uset(x_213, x_7, x_3);
-if (lean_is_exclusive(x_3)) {
- lean_ctor_release(x_3, 0);
- lean_ctor_release(x_3, 1);
- x_215 = x_3;
-} else {
- lean_dec_ref(x_3);
- x_215 = lean_box(0);
-}
-x_216 = lean_ctor_get(x_212, 1);
-lean_inc(x_216);
-lean_dec(x_212);
-if (lean_is_scalar(x_215)) {
- x_217 = lean_alloc_ctor(10, 2, 8);
-} else {
- x_217 = x_215;
-}
-lean_ctor_set(x_217, 0, x_190);
-lean_ctor_set(x_217, 1, x_191);
-lean_ctor_set_uint64(x_217, sizeof(void*)*2, x_192);
-x_218 = lean_expr_update_mdata(x_217, x_211);
-lean_inc(x_218);
-x_219 = lean_array_uset(x_216, x_7, x_218);
-x_220 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_220, 0, x_214);
-lean_ctor_set(x_220, 1, x_219);
-x_221 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_221, 0, x_218);
-lean_ctor_set(x_221, 1, x_220);
-return x_221;
-}
-}
-case 11:
-{
-lean_object* x_222; lean_object* x_223; lean_object* x_224; uint64_t x_225; lean_object* x_226; uint8_t x_227;
-lean_dec(x_8);
-lean_dec(x_5);
-x_222 = lean_ctor_get(x_3, 0);
-lean_inc(x_222);
-x_223 = lean_ctor_get(x_3, 1);
-lean_inc(x_223);
-x_224 = lean_ctor_get(x_3, 2);
-lean_inc(x_224);
-x_225 = lean_ctor_get_uint64(x_3, sizeof(void*)*3);
-lean_inc(x_224);
-x_226 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1(x_1, x_2, x_224, x_4);
-x_227 = !lean_is_exclusive(x_226);
-if (x_227 == 0)
-{
-lean_object* x_228; lean_object* x_229; lean_object* x_230; lean_object* x_231; uint8_t x_232;
-x_228 = lean_ctor_get(x_226, 0);
-x_229 = lean_ctor_get(x_226, 1);
-x_230 = lean_ctor_get(x_229, 0);
-lean_inc(x_230);
-lean_inc(x_3);
-x_231 = lean_array_uset(x_230, x_7, x_3);
-x_232 = !lean_is_exclusive(x_3);
-if (x_232 == 0)
-{
-lean_object* x_233; lean_object* x_234; lean_object* x_235; lean_object* x_236; lean_object* x_237; lean_object* x_238; lean_object* x_239;
-x_233 = lean_ctor_get(x_3, 2);
-lean_dec(x_233);
-x_234 = lean_ctor_get(x_3, 1);
-lean_dec(x_234);
-x_235 = lean_ctor_get(x_3, 0);
-lean_dec(x_235);
-x_236 = lean_ctor_get(x_229, 1);
-lean_inc(x_236);
-lean_dec(x_229);
-x_237 = lean_expr_update_proj(x_3, x_228);
-lean_inc(x_237);
-x_238 = lean_array_uset(x_236, x_7, x_237);
-x_239 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_239, 0, x_231);
-lean_ctor_set(x_239, 1, x_238);
-lean_ctor_set(x_226, 1, x_239);
-lean_ctor_set(x_226, 0, x_237);
-return x_226;
-}
-else
-{
-lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244;
-lean_dec(x_3);
-x_240 = lean_ctor_get(x_229, 1);
-lean_inc(x_240);
-lean_dec(x_229);
-x_241 = lean_alloc_ctor(11, 3, 8);
-lean_ctor_set(x_241, 0, x_222);
-lean_ctor_set(x_241, 1, x_223);
-lean_ctor_set(x_241, 2, x_224);
-lean_ctor_set_uint64(x_241, sizeof(void*)*3, x_225);
-x_242 = lean_expr_update_proj(x_241, x_228);
-lean_inc(x_242);
-x_243 = lean_array_uset(x_240, x_7, x_242);
-x_244 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_244, 0, x_231);
-lean_ctor_set(x_244, 1, x_243);
-lean_ctor_set(x_226, 1, x_244);
-lean_ctor_set(x_226, 0, x_242);
-return x_226;
-}
-}
-else
-{
-lean_object* x_245; lean_object* x_246; lean_object* x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253; lean_object* x_254; lean_object* x_255;
-x_245 = lean_ctor_get(x_226, 0);
-x_246 = lean_ctor_get(x_226, 1);
-lean_inc(x_246);
-lean_inc(x_245);
-lean_dec(x_226);
-x_247 = lean_ctor_get(x_246, 0);
-lean_inc(x_247);
-lean_inc(x_3);
-x_248 = lean_array_uset(x_247, x_7, x_3);
-if (lean_is_exclusive(x_3)) {
- lean_ctor_release(x_3, 0);
- lean_ctor_release(x_3, 1);
- lean_ctor_release(x_3, 2);
- x_249 = x_3;
-} else {
- lean_dec_ref(x_3);
- x_249 = lean_box(0);
-}
-x_250 = lean_ctor_get(x_246, 1);
-lean_inc(x_250);
-lean_dec(x_246);
-if (lean_is_scalar(x_249)) {
- x_251 = lean_alloc_ctor(11, 3, 8);
-} else {
- x_251 = x_249;
-}
-lean_ctor_set(x_251, 0, x_222);
-lean_ctor_set(x_251, 1, x_223);
-lean_ctor_set(x_251, 2, x_224);
-lean_ctor_set_uint64(x_251, sizeof(void*)*3, x_225);
-x_252 = lean_expr_update_proj(x_251, x_245);
-lean_inc(x_252);
-x_253 = lean_array_uset(x_250, x_7, x_252);
-x_254 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_254, 0, x_248);
-lean_ctor_set(x_254, 1, x_253);
-x_255 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_255, 0, x_252);
-lean_ctor_set(x_255, 1, x_254);
-return x_255;
-}
-}
-case 12:
-{
-lean_object* x_256; lean_object* x_257; lean_object* x_258;
-lean_dec(x_8);
-lean_dec(x_5);
-lean_dec(x_3);
-lean_dec(x_1);
-x_256 = l_Lean_Meta_AbstractMVars_abstractExprMVars___closed__1;
-x_257 = l_unreachable_x21___rarg(x_256);
-x_258 = lean_apply_1(x_257, x_4);
-return x_258;
-}
-default:
-{
-lean_object* x_259;
-lean_dec(x_8);
-lean_dec(x_5);
-lean_dec(x_1);
-x_259 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_259, 0, x_3);
-lean_ctor_set(x_259, 1, x_4);
-return x_259;
-}
-}
-}
-else
-{
-lean_object* x_260; lean_object* x_261; lean_object* x_262;
-lean_dec(x_8);
-lean_dec(x_5);
-lean_dec(x_3);
-lean_dec(x_1);
-x_260 = lean_ctor_get(x_4, 1);
-lean_inc(x_260);
-x_261 = lean_array_uget(x_260, x_7);
-lean_dec(x_260);
-x_262 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_262, 0, x_261);
-lean_ctor_set(x_262, 1, x_4);
-return x_262;
-}
-}
-}
-lean_object* l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__4(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-if (lean_obj_tag(x_2) == 0)
-{
-lean_object* x_3;
-lean_dec(x_1);
-x_3 = lean_box(0);
-return x_3;
-}
-else
-{
-uint8_t x_4;
-x_4 = !lean_is_exclusive(x_2);
-if (x_4 == 0)
-{
-lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9;
-x_5 = lean_ctor_get(x_2, 0);
-x_6 = lean_ctor_get(x_2, 1);
-lean_inc(x_1);
-x_7 = lean_alloc_closure((void*)(l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__2___lambda__1___boxed), 2, 1);
-lean_closure_set(x_7, 0, x_1);
-x_8 = l_Lean_Level_replace___main(x_7, x_5);
-x_9 = l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__4(x_1, x_6);
-lean_ctor_set(x_2, 1, x_9);
-lean_ctor_set(x_2, 0, x_8);
-return x_2;
-}
-else
-{
-lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15;
-x_10 = lean_ctor_get(x_2, 0);
-x_11 = lean_ctor_get(x_2, 1);
-lean_inc(x_11);
-lean_inc(x_10);
-lean_dec(x_2);
-lean_inc(x_1);
-x_12 = lean_alloc_closure((void*)(l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__2___lambda__1___boxed), 2, 1);
-lean_closure_set(x_12, 0, x_1);
-x_13 = l_Lean_Level_replace___main(x_12, x_10);
-x_14 = l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__4(x_1, x_11);
-x_15 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_15, 0, x_13);
-lean_ctor_set(x_15, 1, x_14);
-return x_15;
-}
-}
-}
-}
-lean_object* l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__3(lean_object* x_1, size_t x_2, lean_object* x_3, lean_object* x_4) {
-_start:
-{
-lean_object* x_5; size_t x_6; size_t x_7; lean_object* x_8; lean_object* x_9; size_t x_10; uint8_t x_11;
-lean_inc(x_1);
-x_5 = lean_alloc_closure((void*)(l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__2___lambda__1___boxed), 2, 1);
-lean_closure_set(x_5, 0, x_1);
-x_6 = lean_ptr_addr(x_3);
-x_7 = x_2 == 0 ? 0 : x_6 % x_2;
-x_8 = lean_ctor_get(x_4, 0);
-lean_inc(x_8);
-x_9 = lean_array_uget(x_8, x_7);
-x_10 = lean_ptr_addr(x_9);
-lean_dec(x_9);
-x_11 = x_10 == x_6;
-if (x_11 == 0)
-{
-switch (lean_obj_tag(x_3)) {
-case 3:
-{
-lean_object* x_12; uint64_t 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_dec(x_1);
-x_12 = lean_ctor_get(x_3, 0);
-lean_inc(x_12);
-x_13 = lean_ctor_get_uint64(x_3, sizeof(void*)*1);
-lean_inc(x_12);
-x_14 = l_Lean_Level_replace___main(x_5, x_12);
-x_15 = lean_alloc_ctor(3, 1, 8);
-lean_ctor_set(x_15, 0, x_12);
-lean_ctor_set_uint64(x_15, sizeof(void*)*1, x_13);
-x_16 = lean_expr_update_sort(x_15, x_14);
-x_17 = lean_array_uset(x_8, x_7, x_3);
-x_18 = lean_ctor_get(x_4, 1);
-lean_inc(x_18);
-lean_dec(x_4);
-lean_inc(x_16);
-x_19 = lean_array_uset(x_18, x_7, x_16);
-x_20 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_20, 0, x_17);
-lean_ctor_set(x_20, 1, x_19);
-x_21 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_21, 0, x_16);
-lean_ctor_set(x_21, 1, x_20);
-return x_21;
-}
-case 4:
-{
-lean_object* x_22; lean_object* x_23; uint64_t 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_dec(x_5);
-x_22 = lean_ctor_get(x_3, 0);
-lean_inc(x_22);
-x_23 = lean_ctor_get(x_3, 1);
-lean_inc(x_23);
-x_24 = lean_ctor_get_uint64(x_3, sizeof(void*)*2);
-lean_inc(x_23);
-x_25 = l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__4(x_1, x_23);
-x_26 = lean_alloc_ctor(4, 2, 8);
-lean_ctor_set(x_26, 0, x_22);
-lean_ctor_set(x_26, 1, x_23);
-lean_ctor_set_uint64(x_26, sizeof(void*)*2, x_24);
-x_27 = lean_expr_update_const(x_26, x_25);
-x_28 = lean_array_uset(x_8, x_7, x_3);
-x_29 = lean_ctor_get(x_4, 1);
-lean_inc(x_29);
-lean_dec(x_4);
-lean_inc(x_27);
-x_30 = lean_array_uset(x_29, x_7, x_27);
-x_31 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_31, 0, x_28);
-lean_ctor_set(x_31, 1, x_30);
-x_32 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_32, 0, x_27);
-lean_ctor_set(x_32, 1, x_31);
-return x_32;
-}
-case 5:
-{
-lean_object* x_33; lean_object* x_34; uint64_t 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_8);
-lean_dec(x_5);
-x_33 = lean_ctor_get(x_3, 0);
-lean_inc(x_33);
-x_34 = lean_ctor_get(x_3, 1);
-lean_inc(x_34);
-x_35 = lean_ctor_get_uint64(x_3, sizeof(void*)*2);
-lean_inc(x_33);
-lean_inc(x_1);
-x_36 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__3(x_1, x_2, x_33, x_4);
-x_37 = lean_ctor_get(x_36, 0);
-lean_inc(x_37);
-x_38 = lean_ctor_get(x_36, 1);
-lean_inc(x_38);
-lean_dec(x_36);
-lean_inc(x_34);
-x_39 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__3(x_1, x_2, x_34, x_38);
-x_40 = !lean_is_exclusive(x_39);
-if (x_40 == 0)
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45;
-x_41 = lean_ctor_get(x_39, 0);
-x_42 = lean_ctor_get(x_39, 1);
-x_43 = lean_ctor_get(x_42, 0);
-lean_inc(x_43);
-lean_inc(x_3);
-x_44 = lean_array_uset(x_43, x_7, x_3);
-x_45 = !lean_is_exclusive(x_3);
-if (x_45 == 0)
-{
-lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51;
-x_46 = lean_ctor_get(x_3, 1);
-lean_dec(x_46);
-x_47 = lean_ctor_get(x_3, 0);
-lean_dec(x_47);
-x_48 = lean_ctor_get(x_42, 1);
-lean_inc(x_48);
-lean_dec(x_42);
-x_49 = lean_expr_update_app(x_3, x_37, x_41);
-lean_inc(x_49);
-x_50 = lean_array_uset(x_48, x_7, x_49);
-x_51 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_51, 0, x_44);
-lean_ctor_set(x_51, 1, x_50);
-lean_ctor_set(x_39, 1, x_51);
-lean_ctor_set(x_39, 0, x_49);
-return x_39;
-}
-else
-{
-lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56;
-lean_dec(x_3);
-x_52 = lean_ctor_get(x_42, 1);
-lean_inc(x_52);
-lean_dec(x_42);
-x_53 = lean_alloc_ctor(5, 2, 8);
-lean_ctor_set(x_53, 0, x_33);
-lean_ctor_set(x_53, 1, x_34);
-lean_ctor_set_uint64(x_53, sizeof(void*)*2, x_35);
-x_54 = lean_expr_update_app(x_53, x_37, x_41);
-lean_inc(x_54);
-x_55 = lean_array_uset(x_52, x_7, x_54);
-x_56 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_56, 0, x_44);
-lean_ctor_set(x_56, 1, x_55);
-lean_ctor_set(x_39, 1, x_56);
-lean_ctor_set(x_39, 0, x_54);
-return x_39;
-}
-}
-else
-{
-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;
-x_57 = lean_ctor_get(x_39, 0);
-x_58 = lean_ctor_get(x_39, 1);
-lean_inc(x_58);
-lean_inc(x_57);
-lean_dec(x_39);
-x_59 = lean_ctor_get(x_58, 0);
-lean_inc(x_59);
-lean_inc(x_3);
-x_60 = lean_array_uset(x_59, x_7, x_3);
-if (lean_is_exclusive(x_3)) {
- lean_ctor_release(x_3, 0);
- lean_ctor_release(x_3, 1);
- x_61 = x_3;
-} else {
- lean_dec_ref(x_3);
- x_61 = lean_box(0);
-}
-x_62 = lean_ctor_get(x_58, 1);
-lean_inc(x_62);
-lean_dec(x_58);
-if (lean_is_scalar(x_61)) {
- x_63 = lean_alloc_ctor(5, 2, 8);
-} else {
- x_63 = x_61;
-}
-lean_ctor_set(x_63, 0, x_33);
-lean_ctor_set(x_63, 1, x_34);
-lean_ctor_set_uint64(x_63, sizeof(void*)*2, x_35);
-x_64 = lean_expr_update_app(x_63, x_37, x_57);
-lean_inc(x_64);
-x_65 = lean_array_uset(x_62, x_7, x_64);
-x_66 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_66, 0, x_60);
-lean_ctor_set(x_66, 1, x_65);
-x_67 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_67, 0, x_64);
-lean_ctor_set(x_67, 1, x_66);
-return x_67;
-}
-}
-case 6:
-{
-lean_object* x_68; lean_object* x_69; lean_object* x_70; uint64_t x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; uint8_t x_76;
-lean_dec(x_8);
-lean_dec(x_5);
-x_68 = lean_ctor_get(x_3, 0);
-lean_inc(x_68);
-x_69 = lean_ctor_get(x_3, 1);
-lean_inc(x_69);
-x_70 = lean_ctor_get(x_3, 2);
-lean_inc(x_70);
-x_71 = lean_ctor_get_uint64(x_3, sizeof(void*)*3);
-lean_inc(x_69);
-lean_inc(x_1);
-x_72 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__3(x_1, x_2, x_69, x_4);
-x_73 = lean_ctor_get(x_72, 0);
-lean_inc(x_73);
-x_74 = lean_ctor_get(x_72, 1);
-lean_inc(x_74);
-lean_dec(x_72);
-lean_inc(x_70);
-x_75 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__3(x_1, x_2, x_70, x_74);
-x_76 = !lean_is_exclusive(x_75);
-if (x_76 == 0)
-{
-lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; uint8_t x_81;
-x_77 = lean_ctor_get(x_75, 0);
-x_78 = lean_ctor_get(x_75, 1);
-x_79 = lean_ctor_get(x_78, 0);
-lean_inc(x_79);
-lean_inc(x_3);
-x_80 = lean_array_uset(x_79, x_7, x_3);
-x_81 = !lean_is_exclusive(x_3);
-if (x_81 == 0)
-{
-lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; uint8_t x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89;
-x_82 = lean_ctor_get(x_3, 2);
-lean_dec(x_82);
-x_83 = lean_ctor_get(x_3, 1);
-lean_dec(x_83);
-x_84 = lean_ctor_get(x_3, 0);
-lean_dec(x_84);
-x_85 = lean_ctor_get(x_78, 1);
-lean_inc(x_85);
-lean_dec(x_78);
-x_86 = (uint8_t)((x_71 << 24) >> 61);
-x_87 = lean_expr_update_lambda(x_3, x_86, x_73, x_77);
-lean_inc(x_87);
-x_88 = lean_array_uset(x_85, x_7, x_87);
-x_89 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_89, 0, x_80);
-lean_ctor_set(x_89, 1, x_88);
-lean_ctor_set(x_75, 1, x_89);
-lean_ctor_set(x_75, 0, x_87);
-return x_75;
-}
-else
-{
-lean_object* x_90; lean_object* x_91; uint8_t x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95;
-lean_dec(x_3);
-x_90 = lean_ctor_get(x_78, 1);
-lean_inc(x_90);
-lean_dec(x_78);
-x_91 = lean_alloc_ctor(6, 3, 8);
-lean_ctor_set(x_91, 0, x_68);
-lean_ctor_set(x_91, 1, x_69);
-lean_ctor_set(x_91, 2, x_70);
-lean_ctor_set_uint64(x_91, sizeof(void*)*3, x_71);
-x_92 = (uint8_t)((x_71 << 24) >> 61);
-x_93 = lean_expr_update_lambda(x_91, x_92, x_73, x_77);
-lean_inc(x_93);
-x_94 = lean_array_uset(x_90, x_7, x_93);
-x_95 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_95, 0, x_80);
-lean_ctor_set(x_95, 1, x_94);
-lean_ctor_set(x_75, 1, x_95);
-lean_ctor_set(x_75, 0, x_93);
-return x_75;
-}
-}
-else
-{
-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; uint8_t x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107;
-x_96 = lean_ctor_get(x_75, 0);
-x_97 = lean_ctor_get(x_75, 1);
-lean_inc(x_97);
-lean_inc(x_96);
-lean_dec(x_75);
-x_98 = lean_ctor_get(x_97, 0);
-lean_inc(x_98);
-lean_inc(x_3);
-x_99 = lean_array_uset(x_98, x_7, x_3);
-if (lean_is_exclusive(x_3)) {
- lean_ctor_release(x_3, 0);
- lean_ctor_release(x_3, 1);
- lean_ctor_release(x_3, 2);
- x_100 = x_3;
-} else {
- lean_dec_ref(x_3);
- x_100 = lean_box(0);
-}
-x_101 = lean_ctor_get(x_97, 1);
-lean_inc(x_101);
-lean_dec(x_97);
-if (lean_is_scalar(x_100)) {
- x_102 = lean_alloc_ctor(6, 3, 8);
-} else {
- x_102 = x_100;
-}
-lean_ctor_set(x_102, 0, x_68);
-lean_ctor_set(x_102, 1, x_69);
-lean_ctor_set(x_102, 2, x_70);
-lean_ctor_set_uint64(x_102, sizeof(void*)*3, x_71);
-x_103 = (uint8_t)((x_71 << 24) >> 61);
-x_104 = lean_expr_update_lambda(x_102, x_103, x_73, x_96);
-lean_inc(x_104);
-x_105 = lean_array_uset(x_101, x_7, x_104);
-x_106 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_106, 0, x_99);
-lean_ctor_set(x_106, 1, x_105);
-x_107 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_107, 0, x_104);
-lean_ctor_set(x_107, 1, x_106);
-return x_107;
-}
-}
-case 7:
-{
-lean_object* x_108; lean_object* x_109; lean_object* x_110; uint64_t x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; uint8_t x_116;
-lean_dec(x_8);
-lean_dec(x_5);
-x_108 = lean_ctor_get(x_3, 0);
-lean_inc(x_108);
-x_109 = lean_ctor_get(x_3, 1);
-lean_inc(x_109);
-x_110 = lean_ctor_get(x_3, 2);
-lean_inc(x_110);
-x_111 = lean_ctor_get_uint64(x_3, sizeof(void*)*3);
-lean_inc(x_109);
-lean_inc(x_1);
-x_112 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__3(x_1, x_2, x_109, x_4);
-x_113 = lean_ctor_get(x_112, 0);
-lean_inc(x_113);
-x_114 = lean_ctor_get(x_112, 1);
-lean_inc(x_114);
-lean_dec(x_112);
-lean_inc(x_110);
-x_115 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__3(x_1, x_2, x_110, x_114);
-x_116 = !lean_is_exclusive(x_115);
-if (x_116 == 0)
-{
-lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; uint8_t x_121;
-x_117 = lean_ctor_get(x_115, 0);
-x_118 = lean_ctor_get(x_115, 1);
-x_119 = lean_ctor_get(x_118, 0);
-lean_inc(x_119);
-lean_inc(x_3);
-x_120 = lean_array_uset(x_119, x_7, x_3);
-x_121 = !lean_is_exclusive(x_3);
-if (x_121 == 0)
-{
-lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; uint8_t x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129;
-x_122 = lean_ctor_get(x_3, 2);
-lean_dec(x_122);
-x_123 = lean_ctor_get(x_3, 1);
-lean_dec(x_123);
-x_124 = lean_ctor_get(x_3, 0);
-lean_dec(x_124);
-x_125 = lean_ctor_get(x_118, 1);
-lean_inc(x_125);
-lean_dec(x_118);
-x_126 = (uint8_t)((x_111 << 24) >> 61);
-x_127 = lean_expr_update_forall(x_3, x_126, x_113, x_117);
-lean_inc(x_127);
-x_128 = lean_array_uset(x_125, x_7, x_127);
-x_129 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_129, 0, x_120);
-lean_ctor_set(x_129, 1, x_128);
-lean_ctor_set(x_115, 1, x_129);
-lean_ctor_set(x_115, 0, x_127);
-return x_115;
-}
-else
-{
-lean_object* x_130; lean_object* x_131; uint8_t x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135;
-lean_dec(x_3);
-x_130 = lean_ctor_get(x_118, 1);
-lean_inc(x_130);
-lean_dec(x_118);
-x_131 = lean_alloc_ctor(7, 3, 8);
-lean_ctor_set(x_131, 0, x_108);
-lean_ctor_set(x_131, 1, x_109);
-lean_ctor_set(x_131, 2, x_110);
-lean_ctor_set_uint64(x_131, sizeof(void*)*3, x_111);
-x_132 = (uint8_t)((x_111 << 24) >> 61);
-x_133 = lean_expr_update_forall(x_131, x_132, x_113, x_117);
-lean_inc(x_133);
-x_134 = lean_array_uset(x_130, x_7, x_133);
-x_135 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_135, 0, x_120);
-lean_ctor_set(x_135, 1, x_134);
-lean_ctor_set(x_115, 1, x_135);
-lean_ctor_set(x_115, 0, x_133);
-return x_115;
-}
-}
-else
-{
-lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; uint8_t x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147;
-x_136 = lean_ctor_get(x_115, 0);
-x_137 = lean_ctor_get(x_115, 1);
-lean_inc(x_137);
-lean_inc(x_136);
-lean_dec(x_115);
-x_138 = lean_ctor_get(x_137, 0);
-lean_inc(x_138);
-lean_inc(x_3);
-x_139 = lean_array_uset(x_138, x_7, x_3);
-if (lean_is_exclusive(x_3)) {
- lean_ctor_release(x_3, 0);
- lean_ctor_release(x_3, 1);
- lean_ctor_release(x_3, 2);
- x_140 = x_3;
-} else {
- lean_dec_ref(x_3);
- x_140 = lean_box(0);
-}
-x_141 = lean_ctor_get(x_137, 1);
-lean_inc(x_141);
-lean_dec(x_137);
-if (lean_is_scalar(x_140)) {
- x_142 = lean_alloc_ctor(7, 3, 8);
-} else {
- x_142 = x_140;
-}
-lean_ctor_set(x_142, 0, x_108);
-lean_ctor_set(x_142, 1, x_109);
-lean_ctor_set(x_142, 2, x_110);
-lean_ctor_set_uint64(x_142, sizeof(void*)*3, x_111);
-x_143 = (uint8_t)((x_111 << 24) >> 61);
-x_144 = lean_expr_update_forall(x_142, x_143, x_113, x_136);
-lean_inc(x_144);
-x_145 = lean_array_uset(x_141, x_7, x_144);
-x_146 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_146, 0, x_139);
-lean_ctor_set(x_146, 1, x_145);
-x_147 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_147, 0, x_144);
-lean_ctor_set(x_147, 1, x_146);
-return x_147;
-}
-}
-case 8:
-{
-lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; uint64_t x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; uint8_t x_160;
-lean_dec(x_8);
-lean_dec(x_5);
-x_148 = lean_ctor_get(x_3, 0);
-lean_inc(x_148);
-x_149 = lean_ctor_get(x_3, 1);
-lean_inc(x_149);
-x_150 = lean_ctor_get(x_3, 2);
-lean_inc(x_150);
-x_151 = lean_ctor_get(x_3, 3);
-lean_inc(x_151);
-x_152 = lean_ctor_get_uint64(x_3, sizeof(void*)*4);
-lean_inc(x_149);
-lean_inc(x_1);
-x_153 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__3(x_1, x_2, x_149, x_4);
-x_154 = lean_ctor_get(x_153, 0);
-lean_inc(x_154);
-x_155 = lean_ctor_get(x_153, 1);
-lean_inc(x_155);
-lean_dec(x_153);
-lean_inc(x_150);
-lean_inc(x_1);
-x_156 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__3(x_1, x_2, x_150, x_155);
-x_157 = lean_ctor_get(x_156, 0);
-lean_inc(x_157);
-x_158 = lean_ctor_get(x_156, 1);
-lean_inc(x_158);
-lean_dec(x_156);
-lean_inc(x_151);
-x_159 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__3(x_1, x_2, x_151, x_158);
-x_160 = !lean_is_exclusive(x_159);
-if (x_160 == 0)
-{
-lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; uint8_t x_165;
-x_161 = lean_ctor_get(x_159, 0);
-x_162 = lean_ctor_get(x_159, 1);
-x_163 = lean_ctor_get(x_162, 0);
-lean_inc(x_163);
-lean_inc(x_3);
-x_164 = lean_array_uset(x_163, x_7, x_3);
-x_165 = !lean_is_exclusive(x_3);
-if (x_165 == 0)
-{
-lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173;
-x_166 = lean_ctor_get(x_3, 3);
-lean_dec(x_166);
-x_167 = lean_ctor_get(x_3, 2);
-lean_dec(x_167);
-x_168 = lean_ctor_get(x_3, 1);
-lean_dec(x_168);
-x_169 = lean_ctor_get(x_3, 0);
-lean_dec(x_169);
-x_170 = lean_ctor_get(x_162, 1);
-lean_inc(x_170);
-lean_dec(x_162);
-x_171 = lean_expr_update_let(x_3, x_154, x_157, x_161);
-lean_inc(x_171);
-x_172 = lean_array_uset(x_170, x_7, x_171);
-x_173 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_173, 0, x_164);
-lean_ctor_set(x_173, 1, x_172);
-lean_ctor_set(x_159, 1, x_173);
-lean_ctor_set(x_159, 0, x_171);
-return x_159;
-}
-else
-{
-lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178;
-lean_dec(x_3);
-x_174 = lean_ctor_get(x_162, 1);
-lean_inc(x_174);
-lean_dec(x_162);
-x_175 = lean_alloc_ctor(8, 4, 8);
-lean_ctor_set(x_175, 0, x_148);
-lean_ctor_set(x_175, 1, x_149);
-lean_ctor_set(x_175, 2, x_150);
-lean_ctor_set(x_175, 3, x_151);
-lean_ctor_set_uint64(x_175, sizeof(void*)*4, x_152);
-x_176 = lean_expr_update_let(x_175, x_154, x_157, x_161);
-lean_inc(x_176);
-x_177 = lean_array_uset(x_174, x_7, x_176);
-x_178 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_178, 0, x_164);
-lean_ctor_set(x_178, 1, x_177);
-lean_ctor_set(x_159, 1, x_178);
-lean_ctor_set(x_159, 0, x_176);
-return x_159;
-}
-}
-else
-{
-lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189;
-x_179 = lean_ctor_get(x_159, 0);
-x_180 = lean_ctor_get(x_159, 1);
-lean_inc(x_180);
-lean_inc(x_179);
-lean_dec(x_159);
-x_181 = lean_ctor_get(x_180, 0);
-lean_inc(x_181);
-lean_inc(x_3);
-x_182 = lean_array_uset(x_181, x_7, x_3);
-if (lean_is_exclusive(x_3)) {
- lean_ctor_release(x_3, 0);
- lean_ctor_release(x_3, 1);
- lean_ctor_release(x_3, 2);
- lean_ctor_release(x_3, 3);
- x_183 = x_3;
-} else {
- lean_dec_ref(x_3);
- x_183 = lean_box(0);
-}
-x_184 = lean_ctor_get(x_180, 1);
-lean_inc(x_184);
-lean_dec(x_180);
-if (lean_is_scalar(x_183)) {
- x_185 = lean_alloc_ctor(8, 4, 8);
-} else {
- x_185 = x_183;
-}
-lean_ctor_set(x_185, 0, x_148);
-lean_ctor_set(x_185, 1, x_149);
-lean_ctor_set(x_185, 2, x_150);
-lean_ctor_set(x_185, 3, x_151);
-lean_ctor_set_uint64(x_185, sizeof(void*)*4, x_152);
-x_186 = lean_expr_update_let(x_185, x_154, x_157, x_179);
-lean_inc(x_186);
-x_187 = lean_array_uset(x_184, x_7, x_186);
-x_188 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_188, 0, x_182);
-lean_ctor_set(x_188, 1, x_187);
-x_189 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_189, 0, x_186);
-lean_ctor_set(x_189, 1, x_188);
-return x_189;
-}
-}
-case 10:
-{
-lean_object* x_190; lean_object* x_191; uint64_t x_192; lean_object* x_193; uint8_t x_194;
-lean_dec(x_8);
-lean_dec(x_5);
-x_190 = lean_ctor_get(x_3, 0);
-lean_inc(x_190);
-x_191 = lean_ctor_get(x_3, 1);
-lean_inc(x_191);
-x_192 = lean_ctor_get_uint64(x_3, sizeof(void*)*2);
-lean_inc(x_191);
-x_193 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__3(x_1, x_2, x_191, x_4);
-x_194 = !lean_is_exclusive(x_193);
-if (x_194 == 0)
-{
-lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198; uint8_t x_199;
-x_195 = lean_ctor_get(x_193, 0);
-x_196 = lean_ctor_get(x_193, 1);
-x_197 = lean_ctor_get(x_196, 0);
-lean_inc(x_197);
-lean_inc(x_3);
-x_198 = lean_array_uset(x_197, x_7, x_3);
-x_199 = !lean_is_exclusive(x_3);
-if (x_199 == 0)
-{
-lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205;
-x_200 = lean_ctor_get(x_3, 1);
-lean_dec(x_200);
-x_201 = lean_ctor_get(x_3, 0);
-lean_dec(x_201);
-x_202 = lean_ctor_get(x_196, 1);
-lean_inc(x_202);
-lean_dec(x_196);
-x_203 = lean_expr_update_mdata(x_3, x_195);
-lean_inc(x_203);
-x_204 = lean_array_uset(x_202, x_7, x_203);
-x_205 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_205, 0, x_198);
-lean_ctor_set(x_205, 1, x_204);
-lean_ctor_set(x_193, 1, x_205);
-lean_ctor_set(x_193, 0, x_203);
-return x_193;
-}
-else
-{
-lean_object* x_206; lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210;
-lean_dec(x_3);
-x_206 = lean_ctor_get(x_196, 1);
-lean_inc(x_206);
-lean_dec(x_196);
-x_207 = lean_alloc_ctor(10, 2, 8);
-lean_ctor_set(x_207, 0, x_190);
-lean_ctor_set(x_207, 1, x_191);
-lean_ctor_set_uint64(x_207, sizeof(void*)*2, x_192);
-x_208 = lean_expr_update_mdata(x_207, x_195);
-lean_inc(x_208);
-x_209 = lean_array_uset(x_206, x_7, x_208);
-x_210 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_210, 0, x_198);
-lean_ctor_set(x_210, 1, x_209);
-lean_ctor_set(x_193, 1, x_210);
-lean_ctor_set(x_193, 0, x_208);
-return x_193;
-}
-}
-else
-{
-lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214; lean_object* x_215; lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; lean_object* x_221;
-x_211 = lean_ctor_get(x_193, 0);
-x_212 = lean_ctor_get(x_193, 1);
-lean_inc(x_212);
-lean_inc(x_211);
-lean_dec(x_193);
-x_213 = lean_ctor_get(x_212, 0);
-lean_inc(x_213);
-lean_inc(x_3);
-x_214 = lean_array_uset(x_213, x_7, x_3);
-if (lean_is_exclusive(x_3)) {
- lean_ctor_release(x_3, 0);
- lean_ctor_release(x_3, 1);
- x_215 = x_3;
-} else {
- lean_dec_ref(x_3);
- x_215 = lean_box(0);
-}
-x_216 = lean_ctor_get(x_212, 1);
-lean_inc(x_216);
-lean_dec(x_212);
-if (lean_is_scalar(x_215)) {
- x_217 = lean_alloc_ctor(10, 2, 8);
-} else {
- x_217 = x_215;
-}
-lean_ctor_set(x_217, 0, x_190);
-lean_ctor_set(x_217, 1, x_191);
-lean_ctor_set_uint64(x_217, sizeof(void*)*2, x_192);
-x_218 = lean_expr_update_mdata(x_217, x_211);
-lean_inc(x_218);
-x_219 = lean_array_uset(x_216, x_7, x_218);
-x_220 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_220, 0, x_214);
-lean_ctor_set(x_220, 1, x_219);
-x_221 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_221, 0, x_218);
-lean_ctor_set(x_221, 1, x_220);
-return x_221;
-}
-}
-case 11:
-{
-lean_object* x_222; lean_object* x_223; lean_object* x_224; uint64_t x_225; lean_object* x_226; uint8_t x_227;
-lean_dec(x_8);
-lean_dec(x_5);
-x_222 = lean_ctor_get(x_3, 0);
-lean_inc(x_222);
-x_223 = lean_ctor_get(x_3, 1);
-lean_inc(x_223);
-x_224 = lean_ctor_get(x_3, 2);
-lean_inc(x_224);
-x_225 = lean_ctor_get_uint64(x_3, sizeof(void*)*3);
-lean_inc(x_224);
-x_226 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__3(x_1, x_2, x_224, x_4);
-x_227 = !lean_is_exclusive(x_226);
-if (x_227 == 0)
-{
-lean_object* x_228; lean_object* x_229; lean_object* x_230; lean_object* x_231; uint8_t x_232;
-x_228 = lean_ctor_get(x_226, 0);
-x_229 = lean_ctor_get(x_226, 1);
-x_230 = lean_ctor_get(x_229, 0);
-lean_inc(x_230);
-lean_inc(x_3);
-x_231 = lean_array_uset(x_230, x_7, x_3);
-x_232 = !lean_is_exclusive(x_3);
-if (x_232 == 0)
-{
-lean_object* x_233; lean_object* x_234; lean_object* x_235; lean_object* x_236; lean_object* x_237; lean_object* x_238; lean_object* x_239;
-x_233 = lean_ctor_get(x_3, 2);
-lean_dec(x_233);
-x_234 = lean_ctor_get(x_3, 1);
-lean_dec(x_234);
-x_235 = lean_ctor_get(x_3, 0);
-lean_dec(x_235);
-x_236 = lean_ctor_get(x_229, 1);
-lean_inc(x_236);
-lean_dec(x_229);
-x_237 = lean_expr_update_proj(x_3, x_228);
-lean_inc(x_237);
-x_238 = lean_array_uset(x_236, x_7, x_237);
-x_239 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_239, 0, x_231);
-lean_ctor_set(x_239, 1, x_238);
-lean_ctor_set(x_226, 1, x_239);
-lean_ctor_set(x_226, 0, x_237);
-return x_226;
-}
-else
-{
-lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244;
-lean_dec(x_3);
-x_240 = lean_ctor_get(x_229, 1);
-lean_inc(x_240);
-lean_dec(x_229);
-x_241 = lean_alloc_ctor(11, 3, 8);
-lean_ctor_set(x_241, 0, x_222);
-lean_ctor_set(x_241, 1, x_223);
-lean_ctor_set(x_241, 2, x_224);
-lean_ctor_set_uint64(x_241, sizeof(void*)*3, x_225);
-x_242 = lean_expr_update_proj(x_241, x_228);
-lean_inc(x_242);
-x_243 = lean_array_uset(x_240, x_7, x_242);
-x_244 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_244, 0, x_231);
-lean_ctor_set(x_244, 1, x_243);
-lean_ctor_set(x_226, 1, x_244);
-lean_ctor_set(x_226, 0, x_242);
-return x_226;
-}
-}
-else
-{
-lean_object* x_245; lean_object* x_246; lean_object* x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253; lean_object* x_254; lean_object* x_255;
-x_245 = lean_ctor_get(x_226, 0);
-x_246 = lean_ctor_get(x_226, 1);
-lean_inc(x_246);
-lean_inc(x_245);
-lean_dec(x_226);
-x_247 = lean_ctor_get(x_246, 0);
-lean_inc(x_247);
-lean_inc(x_3);
-x_248 = lean_array_uset(x_247, x_7, x_3);
-if (lean_is_exclusive(x_3)) {
- lean_ctor_release(x_3, 0);
- lean_ctor_release(x_3, 1);
- lean_ctor_release(x_3, 2);
- x_249 = x_3;
-} else {
- lean_dec_ref(x_3);
- x_249 = lean_box(0);
-}
-x_250 = lean_ctor_get(x_246, 1);
-lean_inc(x_250);
-lean_dec(x_246);
-if (lean_is_scalar(x_249)) {
- x_251 = lean_alloc_ctor(11, 3, 8);
-} else {
- x_251 = x_249;
-}
-lean_ctor_set(x_251, 0, x_222);
-lean_ctor_set(x_251, 1, x_223);
-lean_ctor_set(x_251, 2, x_224);
-lean_ctor_set_uint64(x_251, sizeof(void*)*3, x_225);
-x_252 = lean_expr_update_proj(x_251, x_245);
-lean_inc(x_252);
-x_253 = lean_array_uset(x_250, x_7, x_252);
-x_254 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_254, 0, x_248);
-lean_ctor_set(x_254, 1, x_253);
-x_255 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_255, 0, x_252);
-lean_ctor_set(x_255, 1, x_254);
-return x_255;
-}
-}
-case 12:
-{
-lean_object* x_256; lean_object* x_257; lean_object* x_258;
-lean_dec(x_8);
-lean_dec(x_5);
-lean_dec(x_3);
-lean_dec(x_1);
-x_256 = l_Lean_Meta_AbstractMVars_abstractExprMVars___closed__1;
-x_257 = l_unreachable_x21___rarg(x_256);
-x_258 = lean_apply_1(x_257, x_4);
-return x_258;
-}
-default:
-{
-lean_object* x_259;
-lean_dec(x_8);
-lean_dec(x_5);
-lean_dec(x_1);
-x_259 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_259, 0, x_3);
-lean_ctor_set(x_259, 1, x_4);
-return x_259;
-}
-}
-}
-else
-{
-lean_object* x_260; lean_object* x_261; lean_object* x_262;
-lean_dec(x_8);
-lean_dec(x_5);
-lean_dec(x_3);
-lean_dec(x_1);
-x_260 = lean_ctor_get(x_4, 1);
-lean_inc(x_260);
-x_261 = lean_array_uget(x_260, x_7);
-lean_dec(x_260);
-x_262 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_262, 0, x_261);
-lean_ctor_set(x_262, 1, x_4);
-return x_262;
-}
-}
-}
-lean_object* l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__5(lean_object* x_1, size_t x_2, lean_object* x_3) {
-_start:
-{
-if (lean_obj_tag(x_3) == 0)
-{
-lean_object* x_4;
-lean_dec(x_1);
-x_4 = lean_box(0);
-return x_4;
-}
-else
-{
-uint8_t x_5;
-x_5 = !lean_is_exclusive(x_3);
-if (x_5 == 0)
-{
-lean_object* x_6; uint8_t x_7;
-x_6 = lean_ctor_get(x_3, 0);
-x_7 = !lean_is_exclusive(x_6);
-if (x_7 == 0)
-{
-lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
-x_8 = lean_ctor_get(x_3, 1);
-x_9 = lean_ctor_get(x_6, 1);
-x_10 = l_Lean_Expr_ReplaceLevelImpl_initCache;
-lean_inc(x_1);
-x_11 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__3(x_1, x_2, x_9, x_10);
-x_12 = lean_ctor_get(x_11, 0);
-lean_inc(x_12);
-lean_dec(x_11);
-lean_ctor_set(x_6, 1, x_12);
-x_13 = l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__5(x_1, x_2, x_8);
-lean_ctor_set(x_3, 1, x_13);
-return x_3;
-}
-else
-{
-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;
-x_14 = lean_ctor_get(x_3, 1);
-x_15 = lean_ctor_get(x_6, 0);
-x_16 = lean_ctor_get(x_6, 1);
-lean_inc(x_16);
-lean_inc(x_15);
-lean_dec(x_6);
-x_17 = l_Lean_Expr_ReplaceLevelImpl_initCache;
-lean_inc(x_1);
-x_18 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__3(x_1, x_2, x_16, x_17);
-x_19 = lean_ctor_get(x_18, 0);
-lean_inc(x_19);
-lean_dec(x_18);
-x_20 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_20, 0, x_15);
-lean_ctor_set(x_20, 1, x_19);
-x_21 = l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__5(x_1, x_2, x_14);
-lean_ctor_set(x_3, 1, x_21);
-lean_ctor_set(x_3, 0, x_20);
-return x_3;
-}
-}
-else
-{
-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;
-x_22 = lean_ctor_get(x_3, 0);
-x_23 = lean_ctor_get(x_3, 1);
-lean_inc(x_23);
-lean_inc(x_22);
-lean_dec(x_3);
-x_24 = lean_ctor_get(x_22, 0);
-lean_inc(x_24);
-x_25 = lean_ctor_get(x_22, 1);
-lean_inc(x_25);
-if (lean_is_exclusive(x_22)) {
- lean_ctor_release(x_22, 0);
- lean_ctor_release(x_22, 1);
- x_26 = x_22;
-} else {
- lean_dec_ref(x_22);
- x_26 = lean_box(0);
-}
-x_27 = l_Lean_Expr_ReplaceLevelImpl_initCache;
-lean_inc(x_1);
-x_28 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__3(x_1, x_2, x_25, x_27);
-x_29 = lean_ctor_get(x_28, 0);
-lean_inc(x_29);
-lean_dec(x_28);
-if (lean_is_scalar(x_26)) {
- x_30 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_30 = x_26;
-}
-lean_ctor_set(x_30, 0, x_24);
-lean_ctor_set(x_30, 1, x_29);
-x_31 = l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__5(x_1, x_2, x_23);
-x_32 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_32, 0, x_30);
-lean_ctor_set(x_32, 1, x_31);
-return x_32;
-}
-}
-}
-}
-lean_object* l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__6(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-if (lean_obj_tag(x_2) == 0)
-{
-lean_object* x_3;
-lean_dec(x_1);
-x_3 = lean_box(0);
-return x_3;
-}
-else
-{
-uint8_t x_4;
-x_4 = !lean_is_exclusive(x_2);
-if (x_4 == 0)
-{
lean_object* x_5; uint8_t x_6;
x_5 = lean_ctor_get(x_2, 0);
x_6 = !lean_is_exclusive(x_5);
if (x_6 == 0)
{
-lean_object* x_7; lean_object* x_8; lean_object* x_9; size_t x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15;
+lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* 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;
x_7 = lean_ctor_get(x_2, 1);
x_8 = lean_ctor_get(x_5, 1);
x_9 = lean_ctor_get(x_5, 2);
-x_10 = 8192;
-x_11 = l_Lean_Expr_ReplaceLevelImpl_initCache;
lean_inc(x_1);
-x_12 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1(x_1, x_10, x_8, x_11);
-x_13 = lean_ctor_get(x_12, 0);
-lean_inc(x_13);
-lean_dec(x_12);
-lean_inc(x_1);
-x_14 = l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__5(x_1, x_10, x_9);
-lean_ctor_set(x_5, 2, x_14);
-lean_ctor_set(x_5, 1, x_13);
-x_15 = l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__6(x_1, x_7);
-lean_ctor_set(x_2, 1, x_15);
+x_10 = lean_alloc_closure((void*)(l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__2___lambda__1___boxed), 2, 1);
+lean_closure_set(x_10, 0, x_1);
+x_11 = 8192;
+x_12 = l_Lean_Expr_ReplaceLevelImpl_initCache;
+lean_inc(x_10);
+x_13 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit(x_10, x_11, x_8, x_12);
+x_14 = lean_ctor_get(x_13, 0);
+lean_inc(x_14);
+lean_dec(x_13);
+x_15 = l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1(x_10, x_11, x_9);
+lean_ctor_set(x_5, 2, x_15);
+lean_ctor_set(x_5, 1, x_14);
+x_16 = l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__2(x_1, x_7);
+lean_ctor_set(x_2, 1, x_16);
return x_2;
}
else
{
-lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; size_t 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;
-x_16 = lean_ctor_get(x_2, 1);
-x_17 = lean_ctor_get(x_5, 0);
-x_18 = lean_ctor_get(x_5, 1);
-x_19 = lean_ctor_get(x_5, 2);
+lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; size_t 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;
+x_17 = lean_ctor_get(x_2, 1);
+x_18 = lean_ctor_get(x_5, 0);
+x_19 = lean_ctor_get(x_5, 1);
+x_20 = lean_ctor_get(x_5, 2);
+lean_inc(x_20);
lean_inc(x_19);
lean_inc(x_18);
-lean_inc(x_17);
lean_dec(x_5);
-x_20 = 8192;
-x_21 = l_Lean_Expr_ReplaceLevelImpl_initCache;
lean_inc(x_1);
-x_22 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1(x_1, x_20, x_18, x_21);
-x_23 = lean_ctor_get(x_22, 0);
-lean_inc(x_23);
-lean_dec(x_22);
-lean_inc(x_1);
-x_24 = l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__5(x_1, x_20, x_19);
-x_25 = lean_alloc_ctor(0, 3, 0);
-lean_ctor_set(x_25, 0, x_17);
-lean_ctor_set(x_25, 1, x_23);
-lean_ctor_set(x_25, 2, x_24);
-x_26 = l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__6(x_1, x_16);
-lean_ctor_set(x_2, 1, x_26);
-lean_ctor_set(x_2, 0, x_25);
+x_21 = lean_alloc_closure((void*)(l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__2___lambda__1___boxed), 2, 1);
+lean_closure_set(x_21, 0, x_1);
+x_22 = 8192;
+x_23 = l_Lean_Expr_ReplaceLevelImpl_initCache;
+lean_inc(x_21);
+x_24 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit(x_21, x_22, x_19, x_23);
+x_25 = lean_ctor_get(x_24, 0);
+lean_inc(x_25);
+lean_dec(x_24);
+x_26 = l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1(x_21, x_22, x_20);
+x_27 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_27, 0, x_18);
+lean_ctor_set(x_27, 1, x_25);
+lean_ctor_set(x_27, 2, x_26);
+x_28 = l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__2(x_1, x_17);
+lean_ctor_set(x_2, 1, x_28);
+lean_ctor_set(x_2, 0, x_27);
return x_2;
}
}
else
{
-lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; size_t 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;
-x_27 = lean_ctor_get(x_2, 0);
-x_28 = lean_ctor_get(x_2, 1);
-lean_inc(x_28);
-lean_inc(x_27);
-lean_dec(x_2);
-x_29 = lean_ctor_get(x_27, 0);
-lean_inc(x_29);
-x_30 = lean_ctor_get(x_27, 1);
+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; size_t 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;
+x_29 = lean_ctor_get(x_2, 0);
+x_30 = lean_ctor_get(x_2, 1);
lean_inc(x_30);
-x_31 = lean_ctor_get(x_27, 2);
+lean_inc(x_29);
+lean_dec(x_2);
+x_31 = lean_ctor_get(x_29, 0);
lean_inc(x_31);
-if (lean_is_exclusive(x_27)) {
- lean_ctor_release(x_27, 0);
- lean_ctor_release(x_27, 1);
- lean_ctor_release(x_27, 2);
- x_32 = x_27;
+x_32 = lean_ctor_get(x_29, 1);
+lean_inc(x_32);
+x_33 = lean_ctor_get(x_29, 2);
+lean_inc(x_33);
+if (lean_is_exclusive(x_29)) {
+ lean_ctor_release(x_29, 0);
+ lean_ctor_release(x_29, 1);
+ lean_ctor_release(x_29, 2);
+ x_34 = x_29;
} else {
- lean_dec_ref(x_27);
- x_32 = lean_box(0);
+ lean_dec_ref(x_29);
+ x_34 = lean_box(0);
}
-x_33 = 8192;
-x_34 = l_Lean_Expr_ReplaceLevelImpl_initCache;
lean_inc(x_1);
-x_35 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1(x_1, x_33, x_30, x_34);
-x_36 = lean_ctor_get(x_35, 0);
-lean_inc(x_36);
-lean_dec(x_35);
-lean_inc(x_1);
-x_37 = l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__5(x_1, x_33, x_31);
-if (lean_is_scalar(x_32)) {
- x_38 = lean_alloc_ctor(0, 3, 0);
+x_35 = lean_alloc_closure((void*)(l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__2___lambda__1___boxed), 2, 1);
+lean_closure_set(x_35, 0, x_1);
+x_36 = 8192;
+x_37 = l_Lean_Expr_ReplaceLevelImpl_initCache;
+lean_inc(x_35);
+x_38 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit(x_35, x_36, x_32, x_37);
+x_39 = lean_ctor_get(x_38, 0);
+lean_inc(x_39);
+lean_dec(x_38);
+x_40 = l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1(x_35, x_36, x_33);
+if (lean_is_scalar(x_34)) {
+ x_41 = lean_alloc_ctor(0, 3, 0);
} else {
- x_38 = x_32;
+ x_41 = x_34;
}
-lean_ctor_set(x_38, 0, x_29);
-lean_ctor_set(x_38, 1, x_36);
-lean_ctor_set(x_38, 2, x_37);
-x_39 = l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__6(x_1, x_28);
-x_40 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_40, 0, x_38);
-lean_ctor_set(x_40, 1, x_39);
-return x_40;
+lean_ctor_set(x_41, 0, x_31);
+lean_ctor_set(x_41, 1, x_39);
+lean_ctor_set(x_41, 2, x_40);
+x_42 = l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__2(x_1, x_30);
+x_43 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_43, 0, x_41);
+lean_ctor_set(x_43, 1, x_42);
+return x_43;
}
}
}
@@ -11123,7 +9395,7 @@ x_15 = lean_ctor_get(x_13, 0);
x_16 = l_Array_toList___rarg(x_15);
lean_dec(x_15);
x_17 = l_Lean_Level_mkNaryMax(x_16);
-x_18 = l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__6(x_17, x_4);
+x_18 = l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__2(x_17, x_4);
lean_ctor_set(x_13, 0, x_18);
return x_13;
}
@@ -11138,7 +9410,7 @@ lean_dec(x_13);
x_21 = l_Array_toList___rarg(x_19);
lean_dec(x_19);
x_22 = l_Lean_Level_mkNaryMax(x_21);
-x_23 = l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__6(x_22, x_4);
+x_23 = l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__2(x_22, x_4);
x_24 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_24, 0, x_23);
lean_ctor_set(x_24, 1, x_20);
@@ -11286,6 +9558,16 @@ return x_28;
}
}
}
+lean_object* l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+size_t x_4; lean_object* x_5;
+x_4 = lean_unbox_usize(x_2);
+lean_dec(x_2);
+x_5 = l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1(x_1, x_4, x_3);
+return x_5;
+}
+}
lean_object* l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__2___lambda__1___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -11295,36 +9577,6 @@ lean_dec(x_2);
return x_3;
}
}
-lean_object* l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
-_start:
-{
-size_t x_5; lean_object* x_6;
-x_5 = lean_unbox_usize(x_2);
-lean_dec(x_2);
-x_6 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1(x_1, x_5, x_3, x_4);
-return x_6;
-}
-}
-lean_object* l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
-_start:
-{
-size_t x_5; lean_object* x_6;
-x_5 = lean_unbox_usize(x_2);
-lean_dec(x_2);
-x_6 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__3(x_1, x_5, x_3, x_4);
-return x_6;
-}
-}
-lean_object* l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-size_t x_4; lean_object* x_5;
-x_4 = lean_unbox_usize(x_2);
-lean_dec(x_2);
-x_5 = l_List_map___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__5(x_1, x_4, x_3);
-return x_5;
-}
-}
lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___lambda__1___boxed(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) {
_start:
{
@@ -13137,851 +11389,84 @@ x_2 = lean_alloc_closure((void*)(l___private_Lean_Elab_Inductive_0__Lean_Elab_Co
return x_2;
}
}
-lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, lean_object* x_5, lean_object* x_6) {
+lean_object* l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
-size_t x_7; size_t x_8; lean_object* x_9; lean_object* x_238; lean_object* x_239; size_t x_240; uint8_t x_241;
-x_7 = lean_ptr_addr(x_5);
-x_8 = x_4 == 0 ? 0 : x_7 % x_4;
-x_238 = lean_ctor_get(x_6, 0);
-lean_inc(x_238);
-x_239 = lean_array_uget(x_238, x_8);
-x_240 = lean_ptr_addr(x_239);
-lean_dec(x_239);
-x_241 = x_240 == x_7;
-if (x_241 == 0)
+uint8_t x_5;
+x_5 = l_Lean_Expr_isFVar(x_4);
+if (x_5 == 0)
{
-uint8_t x_242;
-x_242 = l_Lean_Expr_isFVar(x_5);
-if (x_242 == 0)
-{
-lean_object* x_243;
-lean_dec(x_238);
-x_243 = lean_box(0);
-x_9 = x_243;
-goto block_237;
-}
-else
-{
-lean_object* x_244;
-x_244 = l_Std_HashMapImp_find_x3f___at___private_Lean_MetavarContext_2__visit___spec__1(x_2, x_5);
-if (lean_obj_tag(x_244) == 0)
-{
-lean_object* x_245;
-lean_dec(x_238);
-x_245 = lean_box(0);
-x_9 = x_245;
-goto block_237;
-}
-else
-{
-lean_object* x_246; lean_object* x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253; lean_object* x_254;
-x_246 = lean_ctor_get(x_244, 0);
-lean_inc(x_246);
-lean_dec(x_244);
-x_247 = lean_unsigned_to_nat(0u);
-x_248 = l_Array_extract___rarg(x_3, x_247, x_1);
-x_249 = l_Array_iterateMAux___main___at_Lean_mkAppN___spec__1(x_248, x_248, x_247, x_246);
-lean_dec(x_248);
-x_250 = lean_array_uset(x_238, x_8, x_5);
-x_251 = lean_ctor_get(x_6, 1);
-lean_inc(x_251);
-lean_dec(x_6);
-lean_inc(x_249);
-x_252 = lean_array_uset(x_251, x_8, x_249);
-x_253 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_253, 0, x_250);
-lean_ctor_set(x_253, 1, x_252);
-x_254 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_254, 0, x_249);
-lean_ctor_set(x_254, 1, x_253);
-return x_254;
-}
-}
-}
-else
-{
-lean_object* x_255; lean_object* x_256; lean_object* x_257;
-lean_dec(x_238);
-lean_dec(x_5);
+lean_object* x_6;
lean_dec(x_3);
-lean_dec(x_1);
-x_255 = lean_ctor_get(x_6, 1);
-lean_inc(x_255);
-x_256 = lean_array_uget(x_255, x_8);
-lean_dec(x_255);
-x_257 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_257, 0, x_256);
-lean_ctor_set(x_257, 1, x_6);
-return x_257;
+lean_dec(x_2);
+x_6 = lean_box(0);
+return x_6;
}
-block_237:
+else
{
-lean_dec(x_9);
-switch (lean_obj_tag(x_5)) {
-case 5:
+lean_object* x_7;
+x_7 = l_Std_HashMapImp_find_x3f___at___private_Lean_MetavarContext_2__visit___spec__1(x_1, x_4);
+if (lean_obj_tag(x_7) == 0)
{
-lean_object* x_10; lean_object* x_11; uint64_t x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t x_17;
-x_10 = lean_ctor_get(x_5, 0);
-lean_inc(x_10);
-x_11 = lean_ctor_get(x_5, 1);
-lean_inc(x_11);
-x_12 = lean_ctor_get_uint64(x_5, sizeof(void*)*2);
-lean_inc(x_10);
-lean_inc(x_3);
-lean_inc(x_1);
-x_13 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1(x_1, x_2, x_3, x_4, x_10, x_6);
-x_14 = lean_ctor_get(x_13, 0);
+lean_object* x_8;
+lean_dec(x_3);
+lean_dec(x_2);
+x_8 = lean_box(0);
+return x_8;
+}
+else
+{
+uint8_t x_9;
+x_9 = !lean_is_exclusive(x_7);
+if (x_9 == 0)
+{
+lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
+x_10 = lean_ctor_get(x_7, 0);
+x_11 = lean_unsigned_to_nat(0u);
+x_12 = l_Array_extract___rarg(x_2, x_11, x_3);
+x_13 = l_Array_iterateMAux___main___at_Lean_mkAppN___spec__1(x_12, x_12, x_11, x_10);
+lean_dec(x_12);
+lean_ctor_set(x_7, 0, x_13);
+return x_7;
+}
+else
+{
+lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
+x_14 = lean_ctor_get(x_7, 0);
lean_inc(x_14);
-x_15 = lean_ctor_get(x_13, 1);
-lean_inc(x_15);
-lean_dec(x_13);
-lean_inc(x_11);
-x_16 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1(x_1, x_2, x_3, x_4, x_11, x_15);
-x_17 = !lean_is_exclusive(x_16);
-if (x_17 == 0)
-{
-lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; uint8_t x_22;
-x_18 = lean_ctor_get(x_16, 0);
-x_19 = lean_ctor_get(x_16, 1);
-x_20 = lean_ctor_get(x_19, 0);
-lean_inc(x_20);
-lean_inc(x_5);
-x_21 = lean_array_uset(x_20, x_8, x_5);
-x_22 = !lean_is_exclusive(x_5);
-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;
-x_23 = lean_ctor_get(x_5, 1);
-lean_dec(x_23);
-x_24 = lean_ctor_get(x_5, 0);
-lean_dec(x_24);
-x_25 = lean_ctor_get(x_19, 1);
-lean_inc(x_25);
-lean_dec(x_19);
-x_26 = lean_expr_update_app(x_5, x_14, x_18);
-lean_inc(x_26);
-x_27 = lean_array_uset(x_25, x_8, x_26);
-x_28 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_28, 0, x_21);
-lean_ctor_set(x_28, 1, x_27);
-lean_ctor_set(x_16, 1, x_28);
-lean_ctor_set(x_16, 0, x_26);
-return x_16;
-}
-else
-{
-lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
-lean_dec(x_5);
-x_29 = lean_ctor_get(x_19, 1);
-lean_inc(x_29);
-lean_dec(x_19);
-x_30 = lean_alloc_ctor(5, 2, 8);
-lean_ctor_set(x_30, 0, x_10);
-lean_ctor_set(x_30, 1, x_11);
-lean_ctor_set_uint64(x_30, sizeof(void*)*2, x_12);
-x_31 = lean_expr_update_app(x_30, x_14, x_18);
-lean_inc(x_31);
-x_32 = lean_array_uset(x_29, x_8, x_31);
-x_33 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_33, 0, x_21);
-lean_ctor_set(x_33, 1, x_32);
-lean_ctor_set(x_16, 1, x_33);
-lean_ctor_set(x_16, 0, x_31);
-return x_16;
-}
-}
-else
-{
-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;
-x_34 = lean_ctor_get(x_16, 0);
-x_35 = lean_ctor_get(x_16, 1);
-lean_inc(x_35);
-lean_inc(x_34);
+lean_dec(x_7);
+x_15 = lean_unsigned_to_nat(0u);
+x_16 = l_Array_extract___rarg(x_2, x_15, x_3);
+x_17 = l_Array_iterateMAux___main___at_Lean_mkAppN___spec__1(x_16, x_16, x_15, x_14);
lean_dec(x_16);
-x_36 = lean_ctor_get(x_35, 0);
-lean_inc(x_36);
-lean_inc(x_5);
-x_37 = lean_array_uset(x_36, x_8, x_5);
-if (lean_is_exclusive(x_5)) {
- lean_ctor_release(x_5, 0);
- lean_ctor_release(x_5, 1);
- x_38 = x_5;
-} else {
- lean_dec_ref(x_5);
- x_38 = lean_box(0);
-}
-x_39 = lean_ctor_get(x_35, 1);
-lean_inc(x_39);
-lean_dec(x_35);
-if (lean_is_scalar(x_38)) {
- x_40 = lean_alloc_ctor(5, 2, 8);
-} else {
- x_40 = x_38;
-}
-lean_ctor_set(x_40, 0, x_10);
-lean_ctor_set(x_40, 1, x_11);
-lean_ctor_set_uint64(x_40, sizeof(void*)*2, x_12);
-x_41 = lean_expr_update_app(x_40, x_14, x_34);
-lean_inc(x_41);
-x_42 = lean_array_uset(x_39, x_8, x_41);
-x_43 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_43, 0, x_37);
-lean_ctor_set(x_43, 1, x_42);
-x_44 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_44, 0, x_41);
-lean_ctor_set(x_44, 1, x_43);
-return x_44;
-}
-}
-case 6:
-{
-lean_object* x_45; lean_object* x_46; lean_object* x_47; uint64_t x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; uint8_t x_53;
-x_45 = lean_ctor_get(x_5, 0);
-lean_inc(x_45);
-x_46 = lean_ctor_get(x_5, 1);
-lean_inc(x_46);
-x_47 = lean_ctor_get(x_5, 2);
-lean_inc(x_47);
-x_48 = lean_ctor_get_uint64(x_5, sizeof(void*)*3);
-lean_inc(x_46);
-lean_inc(x_3);
-lean_inc(x_1);
-x_49 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1(x_1, x_2, x_3, x_4, x_46, x_6);
-x_50 = lean_ctor_get(x_49, 0);
-lean_inc(x_50);
-x_51 = lean_ctor_get(x_49, 1);
-lean_inc(x_51);
-lean_dec(x_49);
-lean_inc(x_47);
-x_52 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1(x_1, x_2, x_3, x_4, x_47, x_51);
-x_53 = !lean_is_exclusive(x_52);
-if (x_53 == 0)
-{
-lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; uint8_t x_58;
-x_54 = lean_ctor_get(x_52, 0);
-x_55 = lean_ctor_get(x_52, 1);
-x_56 = lean_ctor_get(x_55, 0);
-lean_inc(x_56);
-lean_inc(x_5);
-x_57 = lean_array_uset(x_56, x_8, x_5);
-x_58 = !lean_is_exclusive(x_5);
-if (x_58 == 0)
-{
-lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; uint8_t x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66;
-x_59 = lean_ctor_get(x_5, 2);
-lean_dec(x_59);
-x_60 = lean_ctor_get(x_5, 1);
-lean_dec(x_60);
-x_61 = lean_ctor_get(x_5, 0);
-lean_dec(x_61);
-x_62 = lean_ctor_get(x_55, 1);
-lean_inc(x_62);
-lean_dec(x_55);
-x_63 = (uint8_t)((x_48 << 24) >> 61);
-x_64 = lean_expr_update_lambda(x_5, x_63, x_50, x_54);
-lean_inc(x_64);
-x_65 = lean_array_uset(x_62, x_8, x_64);
-x_66 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_66, 0, x_57);
-lean_ctor_set(x_66, 1, x_65);
-lean_ctor_set(x_52, 1, x_66);
-lean_ctor_set(x_52, 0, x_64);
-return x_52;
-}
-else
-{
-lean_object* x_67; lean_object* x_68; uint8_t x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72;
-lean_dec(x_5);
-x_67 = lean_ctor_get(x_55, 1);
-lean_inc(x_67);
-lean_dec(x_55);
-x_68 = lean_alloc_ctor(6, 3, 8);
-lean_ctor_set(x_68, 0, x_45);
-lean_ctor_set(x_68, 1, x_46);
-lean_ctor_set(x_68, 2, x_47);
-lean_ctor_set_uint64(x_68, sizeof(void*)*3, x_48);
-x_69 = (uint8_t)((x_48 << 24) >> 61);
-x_70 = lean_expr_update_lambda(x_68, x_69, x_50, x_54);
-lean_inc(x_70);
-x_71 = lean_array_uset(x_67, x_8, x_70);
-x_72 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_72, 0, x_57);
-lean_ctor_set(x_72, 1, x_71);
-lean_ctor_set(x_52, 1, x_72);
-lean_ctor_set(x_52, 0, x_70);
-return x_52;
-}
-}
-else
-{
-lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; uint8_t x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84;
-x_73 = lean_ctor_get(x_52, 0);
-x_74 = lean_ctor_get(x_52, 1);
-lean_inc(x_74);
-lean_inc(x_73);
-lean_dec(x_52);
-x_75 = lean_ctor_get(x_74, 0);
-lean_inc(x_75);
-lean_inc(x_5);
-x_76 = lean_array_uset(x_75, x_8, x_5);
-if (lean_is_exclusive(x_5)) {
- lean_ctor_release(x_5, 0);
- lean_ctor_release(x_5, 1);
- lean_ctor_release(x_5, 2);
- x_77 = x_5;
-} else {
- lean_dec_ref(x_5);
- x_77 = lean_box(0);
-}
-x_78 = lean_ctor_get(x_74, 1);
-lean_inc(x_78);
-lean_dec(x_74);
-if (lean_is_scalar(x_77)) {
- x_79 = lean_alloc_ctor(6, 3, 8);
-} else {
- x_79 = x_77;
-}
-lean_ctor_set(x_79, 0, x_45);
-lean_ctor_set(x_79, 1, x_46);
-lean_ctor_set(x_79, 2, x_47);
-lean_ctor_set_uint64(x_79, sizeof(void*)*3, x_48);
-x_80 = (uint8_t)((x_48 << 24) >> 61);
-x_81 = lean_expr_update_lambda(x_79, x_80, x_50, x_73);
-lean_inc(x_81);
-x_82 = lean_array_uset(x_78, x_8, x_81);
-x_83 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_83, 0, x_76);
-lean_ctor_set(x_83, 1, x_82);
-x_84 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_84, 0, x_81);
-lean_ctor_set(x_84, 1, x_83);
-return x_84;
-}
-}
-case 7:
-{
-lean_object* x_85; lean_object* x_86; lean_object* x_87; uint64_t x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; uint8_t x_93;
-x_85 = lean_ctor_get(x_5, 0);
-lean_inc(x_85);
-x_86 = lean_ctor_get(x_5, 1);
-lean_inc(x_86);
-x_87 = lean_ctor_get(x_5, 2);
-lean_inc(x_87);
-x_88 = lean_ctor_get_uint64(x_5, sizeof(void*)*3);
-lean_inc(x_86);
-lean_inc(x_3);
-lean_inc(x_1);
-x_89 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1(x_1, x_2, x_3, x_4, x_86, x_6);
-x_90 = lean_ctor_get(x_89, 0);
-lean_inc(x_90);
-x_91 = lean_ctor_get(x_89, 1);
-lean_inc(x_91);
-lean_dec(x_89);
-lean_inc(x_87);
-x_92 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1(x_1, x_2, x_3, x_4, x_87, x_91);
-x_93 = !lean_is_exclusive(x_92);
-if (x_93 == 0)
-{
-lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; uint8_t x_98;
-x_94 = lean_ctor_get(x_92, 0);
-x_95 = lean_ctor_get(x_92, 1);
-x_96 = lean_ctor_get(x_95, 0);
-lean_inc(x_96);
-lean_inc(x_5);
-x_97 = lean_array_uset(x_96, x_8, x_5);
-x_98 = !lean_is_exclusive(x_5);
-if (x_98 == 0)
-{
-lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; uint8_t x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106;
-x_99 = lean_ctor_get(x_5, 2);
-lean_dec(x_99);
-x_100 = lean_ctor_get(x_5, 1);
-lean_dec(x_100);
-x_101 = lean_ctor_get(x_5, 0);
-lean_dec(x_101);
-x_102 = lean_ctor_get(x_95, 1);
-lean_inc(x_102);
-lean_dec(x_95);
-x_103 = (uint8_t)((x_88 << 24) >> 61);
-x_104 = lean_expr_update_forall(x_5, x_103, x_90, x_94);
-lean_inc(x_104);
-x_105 = lean_array_uset(x_102, x_8, x_104);
-x_106 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_106, 0, x_97);
-lean_ctor_set(x_106, 1, x_105);
-lean_ctor_set(x_92, 1, x_106);
-lean_ctor_set(x_92, 0, x_104);
-return x_92;
-}
-else
-{
-lean_object* x_107; lean_object* x_108; uint8_t x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112;
-lean_dec(x_5);
-x_107 = lean_ctor_get(x_95, 1);
-lean_inc(x_107);
-lean_dec(x_95);
-x_108 = lean_alloc_ctor(7, 3, 8);
-lean_ctor_set(x_108, 0, x_85);
-lean_ctor_set(x_108, 1, x_86);
-lean_ctor_set(x_108, 2, x_87);
-lean_ctor_set_uint64(x_108, sizeof(void*)*3, x_88);
-x_109 = (uint8_t)((x_88 << 24) >> 61);
-x_110 = lean_expr_update_forall(x_108, x_109, x_90, x_94);
-lean_inc(x_110);
-x_111 = lean_array_uset(x_107, x_8, x_110);
-x_112 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_112, 0, x_97);
-lean_ctor_set(x_112, 1, x_111);
-lean_ctor_set(x_92, 1, x_112);
-lean_ctor_set(x_92, 0, x_110);
-return x_92;
-}
-}
-else
-{
-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; uint8_t x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124;
-x_113 = lean_ctor_get(x_92, 0);
-x_114 = lean_ctor_get(x_92, 1);
-lean_inc(x_114);
-lean_inc(x_113);
-lean_dec(x_92);
-x_115 = lean_ctor_get(x_114, 0);
-lean_inc(x_115);
-lean_inc(x_5);
-x_116 = lean_array_uset(x_115, x_8, x_5);
-if (lean_is_exclusive(x_5)) {
- lean_ctor_release(x_5, 0);
- lean_ctor_release(x_5, 1);
- lean_ctor_release(x_5, 2);
- x_117 = x_5;
-} else {
- lean_dec_ref(x_5);
- x_117 = lean_box(0);
-}
-x_118 = lean_ctor_get(x_114, 1);
-lean_inc(x_118);
-lean_dec(x_114);
-if (lean_is_scalar(x_117)) {
- x_119 = lean_alloc_ctor(7, 3, 8);
-} else {
- x_119 = x_117;
-}
-lean_ctor_set(x_119, 0, x_85);
-lean_ctor_set(x_119, 1, x_86);
-lean_ctor_set(x_119, 2, x_87);
-lean_ctor_set_uint64(x_119, sizeof(void*)*3, x_88);
-x_120 = (uint8_t)((x_88 << 24) >> 61);
-x_121 = lean_expr_update_forall(x_119, x_120, x_90, x_113);
-lean_inc(x_121);
-x_122 = lean_array_uset(x_118, x_8, x_121);
-x_123 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_123, 0, x_116);
-lean_ctor_set(x_123, 1, x_122);
-x_124 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_124, 0, x_121);
-lean_ctor_set(x_124, 1, x_123);
-return x_124;
-}
-}
-case 8:
-{
-lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; uint64_t x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; uint8_t x_137;
-x_125 = lean_ctor_get(x_5, 0);
-lean_inc(x_125);
-x_126 = lean_ctor_get(x_5, 1);
-lean_inc(x_126);
-x_127 = lean_ctor_get(x_5, 2);
-lean_inc(x_127);
-x_128 = lean_ctor_get(x_5, 3);
-lean_inc(x_128);
-x_129 = lean_ctor_get_uint64(x_5, sizeof(void*)*4);
-lean_inc(x_126);
-lean_inc(x_3);
-lean_inc(x_1);
-x_130 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1(x_1, x_2, x_3, x_4, x_126, x_6);
-x_131 = lean_ctor_get(x_130, 0);
-lean_inc(x_131);
-x_132 = lean_ctor_get(x_130, 1);
-lean_inc(x_132);
-lean_dec(x_130);
-lean_inc(x_127);
-lean_inc(x_3);
-lean_inc(x_1);
-x_133 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1(x_1, x_2, x_3, x_4, x_127, x_132);
-x_134 = lean_ctor_get(x_133, 0);
-lean_inc(x_134);
-x_135 = lean_ctor_get(x_133, 1);
-lean_inc(x_135);
-lean_dec(x_133);
-lean_inc(x_128);
-x_136 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1(x_1, x_2, x_3, x_4, x_128, x_135);
-x_137 = !lean_is_exclusive(x_136);
-if (x_137 == 0)
-{
-lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; uint8_t x_142;
-x_138 = lean_ctor_get(x_136, 0);
-x_139 = lean_ctor_get(x_136, 1);
-x_140 = lean_ctor_get(x_139, 0);
-lean_inc(x_140);
-lean_inc(x_5);
-x_141 = lean_array_uset(x_140, x_8, x_5);
-x_142 = !lean_is_exclusive(x_5);
-if (x_142 == 0)
-{
-lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150;
-x_143 = lean_ctor_get(x_5, 3);
-lean_dec(x_143);
-x_144 = lean_ctor_get(x_5, 2);
-lean_dec(x_144);
-x_145 = lean_ctor_get(x_5, 1);
-lean_dec(x_145);
-x_146 = lean_ctor_get(x_5, 0);
-lean_dec(x_146);
-x_147 = lean_ctor_get(x_139, 1);
-lean_inc(x_147);
-lean_dec(x_139);
-x_148 = lean_expr_update_let(x_5, x_131, x_134, x_138);
-lean_inc(x_148);
-x_149 = lean_array_uset(x_147, x_8, x_148);
-x_150 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_150, 0, x_141);
-lean_ctor_set(x_150, 1, x_149);
-lean_ctor_set(x_136, 1, x_150);
-lean_ctor_set(x_136, 0, x_148);
-return x_136;
-}
-else
-{
-lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155;
-lean_dec(x_5);
-x_151 = lean_ctor_get(x_139, 1);
-lean_inc(x_151);
-lean_dec(x_139);
-x_152 = lean_alloc_ctor(8, 4, 8);
-lean_ctor_set(x_152, 0, x_125);
-lean_ctor_set(x_152, 1, x_126);
-lean_ctor_set(x_152, 2, x_127);
-lean_ctor_set(x_152, 3, x_128);
-lean_ctor_set_uint64(x_152, sizeof(void*)*4, x_129);
-x_153 = lean_expr_update_let(x_152, x_131, x_134, x_138);
-lean_inc(x_153);
-x_154 = lean_array_uset(x_151, x_8, x_153);
-x_155 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_155, 0, x_141);
-lean_ctor_set(x_155, 1, x_154);
-lean_ctor_set(x_136, 1, x_155);
-lean_ctor_set(x_136, 0, x_153);
-return x_136;
-}
-}
-else
-{
-lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166;
-x_156 = lean_ctor_get(x_136, 0);
-x_157 = lean_ctor_get(x_136, 1);
-lean_inc(x_157);
-lean_inc(x_156);
-lean_dec(x_136);
-x_158 = lean_ctor_get(x_157, 0);
-lean_inc(x_158);
-lean_inc(x_5);
-x_159 = lean_array_uset(x_158, x_8, x_5);
-if (lean_is_exclusive(x_5)) {
- lean_ctor_release(x_5, 0);
- lean_ctor_release(x_5, 1);
- lean_ctor_release(x_5, 2);
- lean_ctor_release(x_5, 3);
- x_160 = x_5;
-} else {
- lean_dec_ref(x_5);
- x_160 = lean_box(0);
-}
-x_161 = lean_ctor_get(x_157, 1);
-lean_inc(x_161);
-lean_dec(x_157);
-if (lean_is_scalar(x_160)) {
- x_162 = lean_alloc_ctor(8, 4, 8);
-} else {
- x_162 = x_160;
-}
-lean_ctor_set(x_162, 0, x_125);
-lean_ctor_set(x_162, 1, x_126);
-lean_ctor_set(x_162, 2, x_127);
-lean_ctor_set(x_162, 3, x_128);
-lean_ctor_set_uint64(x_162, sizeof(void*)*4, x_129);
-x_163 = lean_expr_update_let(x_162, x_131, x_134, x_156);
-lean_inc(x_163);
-x_164 = lean_array_uset(x_161, x_8, x_163);
-x_165 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_165, 0, x_159);
-lean_ctor_set(x_165, 1, x_164);
-x_166 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_166, 0, x_163);
-lean_ctor_set(x_166, 1, x_165);
-return x_166;
-}
-}
-case 10:
-{
-lean_object* x_167; lean_object* x_168; uint64_t x_169; lean_object* x_170; uint8_t x_171;
-x_167 = lean_ctor_get(x_5, 0);
-lean_inc(x_167);
-x_168 = lean_ctor_get(x_5, 1);
-lean_inc(x_168);
-x_169 = lean_ctor_get_uint64(x_5, sizeof(void*)*2);
-lean_inc(x_168);
-x_170 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1(x_1, x_2, x_3, x_4, x_168, x_6);
-x_171 = !lean_is_exclusive(x_170);
-if (x_171 == 0)
-{
-lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; uint8_t x_176;
-x_172 = lean_ctor_get(x_170, 0);
-x_173 = lean_ctor_get(x_170, 1);
-x_174 = lean_ctor_get(x_173, 0);
-lean_inc(x_174);
-lean_inc(x_5);
-x_175 = lean_array_uset(x_174, x_8, x_5);
-x_176 = !lean_is_exclusive(x_5);
-if (x_176 == 0)
-{
-lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182;
-x_177 = lean_ctor_get(x_5, 1);
-lean_dec(x_177);
-x_178 = lean_ctor_get(x_5, 0);
-lean_dec(x_178);
-x_179 = lean_ctor_get(x_173, 1);
-lean_inc(x_179);
-lean_dec(x_173);
-x_180 = lean_expr_update_mdata(x_5, x_172);
-lean_inc(x_180);
-x_181 = lean_array_uset(x_179, x_8, x_180);
-x_182 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_182, 0, x_175);
-lean_ctor_set(x_182, 1, x_181);
-lean_ctor_set(x_170, 1, x_182);
-lean_ctor_set(x_170, 0, x_180);
-return x_170;
-}
-else
-{
-lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187;
-lean_dec(x_5);
-x_183 = lean_ctor_get(x_173, 1);
-lean_inc(x_183);
-lean_dec(x_173);
-x_184 = lean_alloc_ctor(10, 2, 8);
-lean_ctor_set(x_184, 0, x_167);
-lean_ctor_set(x_184, 1, x_168);
-lean_ctor_set_uint64(x_184, sizeof(void*)*2, x_169);
-x_185 = lean_expr_update_mdata(x_184, x_172);
-lean_inc(x_185);
-x_186 = lean_array_uset(x_183, x_8, x_185);
-x_187 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_187, 0, x_175);
-lean_ctor_set(x_187, 1, x_186);
-lean_ctor_set(x_170, 1, x_187);
-lean_ctor_set(x_170, 0, x_185);
-return x_170;
-}
-}
-else
-{
-lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198;
-x_188 = lean_ctor_get(x_170, 0);
-x_189 = lean_ctor_get(x_170, 1);
-lean_inc(x_189);
-lean_inc(x_188);
-lean_dec(x_170);
-x_190 = lean_ctor_get(x_189, 0);
-lean_inc(x_190);
-lean_inc(x_5);
-x_191 = lean_array_uset(x_190, x_8, x_5);
-if (lean_is_exclusive(x_5)) {
- lean_ctor_release(x_5, 0);
- lean_ctor_release(x_5, 1);
- x_192 = x_5;
-} else {
- lean_dec_ref(x_5);
- x_192 = lean_box(0);
-}
-x_193 = lean_ctor_get(x_189, 1);
-lean_inc(x_193);
-lean_dec(x_189);
-if (lean_is_scalar(x_192)) {
- x_194 = lean_alloc_ctor(10, 2, 8);
-} else {
- x_194 = x_192;
-}
-lean_ctor_set(x_194, 0, x_167);
-lean_ctor_set(x_194, 1, x_168);
-lean_ctor_set_uint64(x_194, sizeof(void*)*2, x_169);
-x_195 = lean_expr_update_mdata(x_194, x_188);
-lean_inc(x_195);
-x_196 = lean_array_uset(x_193, x_8, x_195);
-x_197 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_197, 0, x_191);
-lean_ctor_set(x_197, 1, x_196);
-x_198 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_198, 0, x_195);
-lean_ctor_set(x_198, 1, x_197);
-return x_198;
-}
-}
-case 11:
-{
-lean_object* x_199; lean_object* x_200; lean_object* x_201; uint64_t x_202; lean_object* x_203; uint8_t x_204;
-x_199 = lean_ctor_get(x_5, 0);
-lean_inc(x_199);
-x_200 = lean_ctor_get(x_5, 1);
-lean_inc(x_200);
-x_201 = lean_ctor_get(x_5, 2);
-lean_inc(x_201);
-x_202 = lean_ctor_get_uint64(x_5, sizeof(void*)*3);
-lean_inc(x_201);
-x_203 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1(x_1, x_2, x_3, x_4, x_201, x_6);
-x_204 = !lean_is_exclusive(x_203);
-if (x_204 == 0)
-{
-lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; uint8_t x_209;
-x_205 = lean_ctor_get(x_203, 0);
-x_206 = lean_ctor_get(x_203, 1);
-x_207 = lean_ctor_get(x_206, 0);
-lean_inc(x_207);
-lean_inc(x_5);
-x_208 = lean_array_uset(x_207, x_8, x_5);
-x_209 = !lean_is_exclusive(x_5);
-if (x_209 == 0)
-{
-lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214; lean_object* x_215; lean_object* x_216;
-x_210 = lean_ctor_get(x_5, 2);
-lean_dec(x_210);
-x_211 = lean_ctor_get(x_5, 1);
-lean_dec(x_211);
-x_212 = lean_ctor_get(x_5, 0);
-lean_dec(x_212);
-x_213 = lean_ctor_get(x_206, 1);
-lean_inc(x_213);
-lean_dec(x_206);
-x_214 = lean_expr_update_proj(x_5, x_205);
-lean_inc(x_214);
-x_215 = lean_array_uset(x_213, x_8, x_214);
-x_216 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_216, 0, x_208);
-lean_ctor_set(x_216, 1, x_215);
-lean_ctor_set(x_203, 1, x_216);
-lean_ctor_set(x_203, 0, x_214);
-return x_203;
-}
-else
-{
-lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; lean_object* x_221;
-lean_dec(x_5);
-x_217 = lean_ctor_get(x_206, 1);
-lean_inc(x_217);
-lean_dec(x_206);
-x_218 = lean_alloc_ctor(11, 3, 8);
-lean_ctor_set(x_218, 0, x_199);
-lean_ctor_set(x_218, 1, x_200);
-lean_ctor_set(x_218, 2, x_201);
-lean_ctor_set_uint64(x_218, sizeof(void*)*3, x_202);
-x_219 = lean_expr_update_proj(x_218, x_205);
-lean_inc(x_219);
-x_220 = lean_array_uset(x_217, x_8, x_219);
-x_221 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_221, 0, x_208);
-lean_ctor_set(x_221, 1, x_220);
-lean_ctor_set(x_203, 1, x_221);
-lean_ctor_set(x_203, 0, x_219);
-return x_203;
-}
-}
-else
-{
-lean_object* x_222; lean_object* x_223; lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; lean_object* x_228; lean_object* x_229; lean_object* x_230; lean_object* x_231; lean_object* x_232;
-x_222 = lean_ctor_get(x_203, 0);
-x_223 = lean_ctor_get(x_203, 1);
-lean_inc(x_223);
-lean_inc(x_222);
-lean_dec(x_203);
-x_224 = lean_ctor_get(x_223, 0);
-lean_inc(x_224);
-lean_inc(x_5);
-x_225 = lean_array_uset(x_224, x_8, x_5);
-if (lean_is_exclusive(x_5)) {
- lean_ctor_release(x_5, 0);
- lean_ctor_release(x_5, 1);
- lean_ctor_release(x_5, 2);
- x_226 = x_5;
-} else {
- lean_dec_ref(x_5);
- x_226 = lean_box(0);
-}
-x_227 = lean_ctor_get(x_223, 1);
-lean_inc(x_227);
-lean_dec(x_223);
-if (lean_is_scalar(x_226)) {
- x_228 = lean_alloc_ctor(11, 3, 8);
-} else {
- x_228 = x_226;
-}
-lean_ctor_set(x_228, 0, x_199);
-lean_ctor_set(x_228, 1, x_200);
-lean_ctor_set(x_228, 2, x_201);
-lean_ctor_set_uint64(x_228, sizeof(void*)*3, x_202);
-x_229 = lean_expr_update_proj(x_228, x_222);
-lean_inc(x_229);
-x_230 = lean_array_uset(x_227, x_8, x_229);
-x_231 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_231, 0, x_225);
-lean_ctor_set(x_231, 1, x_230);
-x_232 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_232, 0, x_229);
-lean_ctor_set(x_232, 1, x_231);
-return x_232;
-}
-}
-case 12:
-{
-lean_object* x_233; lean_object* x_234; lean_object* x_235;
-lean_dec(x_5);
-lean_dec(x_3);
-lean_dec(x_1);
-x_233 = l_Lean_Meta_AbstractMVars_abstractExprMVars___closed__1;
-x_234 = l_unreachable_x21___rarg(x_233);
-x_235 = lean_apply_1(x_234, x_6);
-return x_235;
-}
-default:
-{
-lean_object* x_236;
-lean_dec(x_3);
-lean_dec(x_1);
-x_236 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_236, 0, x_5);
-lean_ctor_set(x_236, 1, x_6);
-return x_236;
+x_18 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_18, 0, x_17);
+return x_18;
}
}
}
}
}
-lean_object* l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__2___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* l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1___lambda__2(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) {
_start:
{
-size_t x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
-x_12 = 8192;
-x_13 = l_Lean_Expr_ReplaceImpl_initCache;
+lean_object* x_12; size_t x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
lean_inc(x_3);
-x_14 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1(x_1, x_2, x_3, x_12, x_4, x_13);
-x_15 = lean_ctor_get(x_14, 0);
-lean_inc(x_15);
-lean_dec(x_14);
-x_16 = l_Lean_Meta_mkForallFVars___at_Lean_Elab_Term_elabForall___spec__2(x_3, x_15, x_5, x_6, x_7, x_8, x_9, x_10, x_11);
-return x_16;
+x_12 = lean_alloc_closure((void*)(l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1___lambda__1___boxed), 4, 3);
+lean_closure_set(x_12, 0, x_1);
+lean_closure_set(x_12, 1, x_3);
+lean_closure_set(x_12, 2, x_2);
+x_13 = 8192;
+x_14 = l_Lean_Expr_ReplaceImpl_initCache;
+x_15 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(x_12, x_13, x_4, x_14);
+x_16 = lean_ctor_get(x_15, 0);
+lean_inc(x_16);
+lean_dec(x_15);
+x_17 = l_Lean_Meta_mkForallFVars___at_Lean_Elab_Term_elabForall___spec__2(x_3, x_16, x_5, x_6, x_7, x_8, x_9, x_10, x_11);
+return x_17;
}
}
-lean_object* l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__2(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* l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__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) {
_start:
{
if (lean_obj_tag(x_4) == 0)
@@ -14020,11 +11505,11 @@ x_19 = lean_ctor_get(x_15, 1);
lean_inc(x_2);
x_20 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_20, 0, x_2);
-lean_inc(x_3);
lean_inc(x_1);
-x_21 = lean_alloc_closure((void*)(l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__2___lambda__1___boxed), 11, 2);
-lean_closure_set(x_21, 0, x_1);
-lean_closure_set(x_21, 1, x_3);
+lean_inc(x_3);
+x_21 = lean_alloc_closure((void*)(l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1___lambda__2___boxed), 11, 2);
+lean_closure_set(x_21, 0, x_3);
+lean_closure_set(x_21, 1, x_1);
lean_inc(x_10);
lean_inc(x_9);
lean_inc(x_8);
@@ -14041,7 +11526,7 @@ x_24 = lean_ctor_get(x_22, 1);
lean_inc(x_24);
lean_dec(x_22);
lean_ctor_set(x_15, 1, x_23);
-x_25 = l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__2(x_1, x_2, x_3, x_17, x_5, x_6, x_7, x_8, x_9, x_10, x_24);
+x_25 = l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1(x_1, x_2, x_3, x_17, x_5, x_6, x_7, x_8, x_9, x_10, x_24);
if (lean_obj_tag(x_25) == 0)
{
uint8_t x_26;
@@ -14142,11 +11627,11 @@ lean_dec(x_15);
lean_inc(x_2);
x_42 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_42, 0, x_2);
-lean_inc(x_3);
lean_inc(x_1);
-x_43 = lean_alloc_closure((void*)(l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__2___lambda__1___boxed), 11, 2);
-lean_closure_set(x_43, 0, x_1);
-lean_closure_set(x_43, 1, x_3);
+lean_inc(x_3);
+x_43 = lean_alloc_closure((void*)(l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1___lambda__2___boxed), 11, 2);
+lean_closure_set(x_43, 0, x_3);
+lean_closure_set(x_43, 1, x_1);
lean_inc(x_10);
lean_inc(x_9);
lean_inc(x_8);
@@ -14165,7 +11650,7 @@ lean_dec(x_44);
x_47 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_47, 0, x_40);
lean_ctor_set(x_47, 1, x_45);
-x_48 = l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__2(x_1, x_2, x_3, x_39, x_5, x_6, x_7, x_8, x_9, x_10, x_46);
+x_48 = l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1(x_1, x_2, x_3, x_39, x_5, x_6, x_7, x_8, x_9, x_10, x_46);
if (lean_obj_tag(x_48) == 0)
{
lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52;
@@ -14280,11 +11765,11 @@ if (lean_is_exclusive(x_61)) {
lean_inc(x_2);
x_66 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_66, 0, x_2);
-lean_inc(x_3);
lean_inc(x_1);
-x_67 = lean_alloc_closure((void*)(l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__2___lambda__1___boxed), 11, 2);
-lean_closure_set(x_67, 0, x_1);
-lean_closure_set(x_67, 1, x_3);
+lean_inc(x_3);
+x_67 = lean_alloc_closure((void*)(l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1___lambda__2___boxed), 11, 2);
+lean_closure_set(x_67, 0, x_3);
+lean_closure_set(x_67, 1, x_1);
lean_inc(x_10);
lean_inc(x_9);
lean_inc(x_8);
@@ -14307,7 +11792,7 @@ if (lean_is_scalar(x_65)) {
}
lean_ctor_set(x_71, 0, x_63);
lean_ctor_set(x_71, 1, x_69);
-x_72 = l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__2(x_1, x_2, x_3, x_62, x_5, x_6, x_7, x_8, x_9, x_10, x_70);
+x_72 = l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1(x_1, x_2, x_3, x_62, x_5, x_6, x_7, x_8, x_9, x_10, x_70);
if (lean_obj_tag(x_72) == 0)
{
lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77;
@@ -14401,7 +11886,7 @@ return x_85;
}
}
}
-lean_object* l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__3(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* l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__2(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) {
_start:
{
if (lean_obj_tag(x_4) == 0)
@@ -14447,7 +11932,7 @@ lean_inc(x_5);
lean_inc(x_3);
lean_inc(x_2);
lean_inc(x_1);
-x_21 = l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__2(x_1, x_2, x_3, x_20, x_5, x_6, x_7, x_8, x_9, x_10, x_11);
+x_21 = l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1(x_1, x_2, x_3, x_20, x_5, x_6, x_7, x_8, x_9, x_10, x_11);
if (lean_obj_tag(x_21) == 0)
{
lean_object* x_22; lean_object* x_23; lean_object* x_24;
@@ -14457,7 +11942,7 @@ x_23 = lean_ctor_get(x_21, 1);
lean_inc(x_23);
lean_dec(x_21);
lean_ctor_set(x_15, 2, x_22);
-x_24 = l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__3(x_1, x_2, x_3, x_17, x_5, x_6, x_7, x_8, x_9, x_10, x_23);
+x_24 = l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__2(x_1, x_2, x_3, x_17, x_5, x_6, x_7, x_8, x_9, x_10, x_23);
if (lean_obj_tag(x_24) == 0)
{
uint8_t x_25;
@@ -14567,7 +12052,7 @@ lean_inc(x_5);
lean_inc(x_3);
lean_inc(x_2);
lean_inc(x_1);
-x_42 = l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__2(x_1, x_2, x_3, x_41, x_5, x_6, x_7, x_8, x_9, x_10, x_11);
+x_42 = l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1(x_1, x_2, x_3, x_41, x_5, x_6, x_7, x_8, x_9, x_10, x_11);
if (lean_obj_tag(x_42) == 0)
{
lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46;
@@ -14580,7 +12065,7 @@ x_45 = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(x_45, 0, x_39);
lean_ctor_set(x_45, 1, x_40);
lean_ctor_set(x_45, 2, x_43);
-x_46 = l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__3(x_1, x_2, x_3, x_38, x_5, x_6, x_7, x_8, x_9, x_10, x_44);
+x_46 = l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__2(x_1, x_2, x_3, x_38, x_5, x_6, x_7, x_8, x_9, x_10, x_44);
if (lean_obj_tag(x_46) == 0)
{
lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50;
@@ -14705,7 +12190,7 @@ lean_inc(x_5);
lean_inc(x_3);
lean_inc(x_2);
lean_inc(x_1);
-x_65 = l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__2(x_1, x_2, x_3, x_63, x_5, x_6, x_7, x_8, x_9, x_10, x_11);
+x_65 = l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1(x_1, x_2, x_3, x_63, x_5, x_6, x_7, x_8, x_9, x_10, x_11);
if (lean_obj_tag(x_65) == 0)
{
lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69;
@@ -14722,7 +12207,7 @@ if (lean_is_scalar(x_64)) {
lean_ctor_set(x_68, 0, x_61);
lean_ctor_set(x_68, 1, x_62);
lean_ctor_set(x_68, 2, x_66);
-x_69 = l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__3(x_1, x_2, x_3, x_60, x_5, x_6, x_7, x_8, x_9, x_10, x_67);
+x_69 = l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__2(x_1, x_2, x_3, x_60, x_5, x_6, x_7, x_8, x_9, x_10, x_67);
if (lean_obj_tag(x_69) == 0)
{
lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74;
@@ -14822,32 +12307,30 @@ _start:
{
lean_object* x_14; lean_object* x_15;
x_14 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkIndFVar2Const(x_1, x_2, x_3);
-x_15 = l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__3(x_4, x_5, x_14, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13);
+x_15 = l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__2(x_4, x_5, x_14, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13);
return x_15;
}
}
-lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1___boxed(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* l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
-size_t x_7; lean_object* x_8;
-x_7 = lean_unbox_usize(x_4);
+lean_object* x_5;
+x_5 = l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1___lambda__1(x_1, x_2, x_3, x_4);
lean_dec(x_4);
-x_8 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1(x_1, x_2, x_3, x_7, x_5, x_6);
-lean_dec(x_2);
-return x_8;
+lean_dec(x_1);
+return x_5;
}
}
-lean_object* l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__2___lambda__1___boxed(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* l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1___lambda__2___boxed(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) {
_start:
{
lean_object* x_12;
-x_12 = l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__2___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11);
+x_12 = l_List_mapM___main___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11);
lean_dec(x_10);
lean_dec(x_9);
lean_dec(x_8);
lean_dec(x_6);
lean_dec(x_5);
-lean_dec(x_2);
return x_12;
}
}
diff --git a/stage0/stdlib/Lean/Elab/Match.c b/stage0/stdlib/Lean/Elab/Match.c
index fe3c0f117c..cc395de734 100644
--- a/stage0/stdlib/Lean/Elab/Match.c
+++ b/stage0/stdlib/Lean/Elab/Match.c
@@ -265,7 +265,6 @@ lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_na
lean_object* l_Lean_Elab_Term_mkMatchAltView___boxed(lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_getDiscrs(lean_object*);
lean_object* l_Lean_Elab_Term_synthesizeUsingDefault(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_3__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_CollectPatternVars_collect_match__1(lean_object*);
lean_object* l_Lean_throwError___at_Lean_Elab_Term_ToDepElimPattern_main___spec__4___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_markAsVisited(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -299,6 +298,7 @@ lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_pr
lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabAtomicDiscr_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabPatterns___spec__1___closed__2;
lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_collectPatternVars___closed__1;
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Elab_Term_CollectPatternVars_main___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_CtorApp_isDone(lean_object*);
lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_expandNonAtomicDiscrs_x3f_loop_match__2___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_elabMatch_match__11___rarg(lean_object*, lean_object*, lean_object*);
@@ -409,7 +409,6 @@ lean_object* l_Lean_Elab_Term_synthesizeSyntheticMVars_loop(uint8_t, lean_object
lean_object* l_Array_mapSepElemsM___at_Lean_Elab_Term_CollectPatternVars_collect___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_List_reprAux___main___rarg___closed__1;
lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabDiscrsWitMatchType_match__2(lean_object*);
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Elab_Term_CollectPatternVars_main___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_expandNonAtomicDiscrs_x3f_loop___closed__1;
lean_object* l_Lean_Elab_Term_finalizePatternDecls_match__2(lean_object*);
lean_object* l_Lean_Elab_Term_resolveName(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -517,7 +516,6 @@ lean_object* l_Lean_LocalDecl_fvarId(lean_object*);
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_tryPostponeIfDiscrTypeIsMVar___spec__1___closed__2;
lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_mkUserNameFor___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_CtorApp_finalize___closed__3;
-extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__12;
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_tryPostponeIfDiscrTypeIsMVar___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___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_CtorApp_isNextArgAccessible_match__1(lean_object*);
lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_throwAmbiguous___rarg___closed__1;
@@ -564,6 +562,7 @@ lean_object* l_Lean_Elab_Term_elabMatch_match__22(lean_object*);
lean_object* l_Lean_Expr_getAppNumArgsAux(lean_object*, lean_object*);
lean_object* l_Lean_Meta_assignExprMVar___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_mkLocalDeclFor___spec__4(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_HeadIndex_0__Lean_Expr_headNumArgsAux(lean_object*, lean_object*);
+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___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_processVar___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___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs___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_Match_0__Lean_Elab_Term_expandSimpleMatchWithType(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*);
@@ -585,6 +584,7 @@ lean_object* l_Lean_throwError___at_Lean_Elab_Term_ToDepElimPattern_main___spec_
lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_mkLocalDeclFor_match__1(lean_object*);
lean_object* l_Lean_Elab_Term_ToDepElimPattern_main___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_Lean_throwError___at___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_CtorApp_finalize___spec__1(lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Elab_Term_CollectPatternVars_main___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_expandNonAtomicDiscrs_x3f_loop___lambda__1___boxed(lean_object**);
lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_mkLocalDeclFor_match__2___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkEq___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_loop___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -646,6 +646,7 @@ lean_object* l_Lean_Elab_Term_CollectPatternVars_resolveId_x3f(lean_object*, lea
lean_object* l_Array_umapMAux___main___at___private_Lean_Elab_Match_0__Lean_Elab_Term_withElaboratedLHS___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_throwIllFormedSyntax___at___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_quotedNameToPattern___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_mkStxStrLit(lean_object*, lean_object*);
+extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__12;
lean_object* l_Lean_Elab_Term_tryPostponeIfMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_elabMatch_match__24(lean_object*);
lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabPatterns_match__1(lean_object*);
@@ -665,7 +666,6 @@ lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Expr_isFVar(lean_object*);
lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchCore(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_ToDepElimPattern_main_match__3___rarg(lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Elab_Term_CollectPatternVars_main___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_mkForall(lean_object*, uint8_t, lean_object*, lean_object*);
extern lean_object* l_Lean_mkAppStx___closed__9;
lean_object* l_Lean_Elab_Term_withSynthesize___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -1373,7 +1373,7 @@ x_82 = lean_ctor_get(x_76, 1);
lean_inc(x_82);
lean_dec(x_76);
x_83 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabDiscrsWitMatchType___spec__1___lambda__1___closed__5;
-x_84 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_83, x_2, x_3, x_6, x_7, x_8, x_9, x_82);
+x_84 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_83, x_2, x_3, x_6, x_7, x_8, x_9, x_82);
x_85 = lean_ctor_get(x_84, 0);
lean_inc(x_85);
x_86 = lean_ctor_get(x_84, 1);
@@ -1633,7 +1633,7 @@ x_142 = lean_ctor_get(x_136, 1);
lean_inc(x_142);
lean_dec(x_136);
x_143 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabDiscrsWitMatchType___spec__1___lambda__1___closed__5;
-x_144 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_143, x_2, x_3, x_6, x_7, x_8, x_9, x_142);
+x_144 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_143, x_2, x_3, x_6, x_7, x_8, x_9, x_142);
x_145 = lean_ctor_get(x_144, 0);
lean_inc(x_145);
x_146 = lean_ctor_get(x_144, 1);
@@ -6090,7 +6090,7 @@ static lean_object* _init_l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectP
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__12;
+x_1 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__12;
x_2 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_2, 0, x_1);
return x_2;
@@ -8885,7 +8885,7 @@ x_49 = lean_array_push(x_47, x_33);
x_50 = l_Lean_mkStxStrLit(x_31, x_43);
lean_dec(x_31);
x_51 = lean_array_push(x_49, x_50);
-x_52 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__12;
+x_52 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__12;
x_53 = lean_array_push(x_51, x_52);
x_54 = l_Lean_nullKind___closed__2;
x_55 = lean_alloc_ctor(1, 2, 0);
@@ -8923,7 +8923,7 @@ x_69 = lean_array_push(x_67, x_33);
x_70 = l_Lean_mkStxStrLit(x_31, x_63);
lean_dec(x_31);
x_71 = lean_array_push(x_69, x_70);
-x_72 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__12;
+x_72 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__12;
x_73 = lean_array_push(x_71, x_72);
x_74 = l_Lean_nullKind___closed__2;
x_75 = lean_alloc_ctor(1, 2, 0);
@@ -8983,7 +8983,7 @@ x_100 = l_Nat_repr(x_81);
x_101 = l_Lean_numLitKind;
x_102 = l_Lean_mkStxLit(x_101, x_100, x_93);
x_103 = lean_array_push(x_99, x_102);
-x_104 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__12;
+x_104 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__12;
x_105 = lean_array_push(x_103, x_104);
x_106 = l_Lean_nullKind___closed__2;
x_107 = lean_alloc_ctor(1, 2, 0);
@@ -9022,7 +9022,7 @@ x_122 = l_Nat_repr(x_81);
x_123 = l_Lean_numLitKind;
x_124 = l_Lean_mkStxLit(x_123, x_122, x_115);
x_125 = lean_array_push(x_121, x_124);
-x_126 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__12;
+x_126 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__12;
x_127 = lean_array_push(x_125, x_126);
x_128 = l_Lean_nullKind___closed__2;
x_129 = lean_alloc_ctor(1, 2, 0);
@@ -14587,7 +14587,7 @@ return x_59;
}
}
}
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Elab_Term_CollectPatternVars_main___spec__2(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* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Elab_Term_CollectPatternVars_main___spec__2(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) {
_start:
{
lean_object* x_10; uint8_t x_11; lean_object* x_12; lean_object* x_13;
@@ -14674,7 +14674,7 @@ x_60 = lean_ctor_get(x_54, 1);
lean_inc(x_60);
lean_dec(x_54);
x_61 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabDiscrsWitMatchType___spec__1___lambda__1___closed__5;
-x_62 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Elab_Term_CollectPatternVars_main___spec__2(x_61, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_60);
+x_62 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Elab_Term_CollectPatternVars_main___spec__2(x_61, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_60);
x_63 = lean_ctor_get(x_62, 0);
lean_inc(x_63);
x_64 = lean_ctor_get(x_62, 1);
@@ -14990,11 +14990,11 @@ lean_dec(x_3);
return x_11;
}
}
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Elab_Term_CollectPatternVars_main___spec__2___boxed(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* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Elab_Term_CollectPatternVars_main___spec__2___boxed(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) {
_start:
{
lean_object* x_10;
-x_10 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Elab_Term_CollectPatternVars_main___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
+x_10 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Elab_Term_CollectPatternVars_main___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
@@ -17071,7 +17071,7 @@ lean_object* x_21;
x_21 = lean_array_uget(x_1, x_3);
if (lean_obj_tag(x_21) == 0)
{
-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; uint8_t x_87; lean_object* x_88; lean_object* x_107; lean_object* x_108; lean_object* x_109; uint8_t x_110;
+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; uint8_t x_31;
x_22 = lean_ctor_get(x_21, 0);
lean_inc(x_22);
x_23 = lean_ctor_get(x_21, 1);
@@ -17085,226 +17085,200 @@ lean_inc(x_26);
x_27 = lean_ctor_get(x_25, 1);
lean_inc(x_27);
lean_dec(x_25);
-x_107 = lean_st_ref_get(x_10, x_27);
-x_108 = lean_ctor_get(x_107, 0);
-lean_inc(x_108);
-x_109 = lean_ctor_get(x_108, 3);
-lean_inc(x_109);
-lean_dec(x_108);
-x_110 = lean_ctor_get_uint8(x_109, sizeof(void*)*1);
-lean_dec(x_109);
-if (x_110 == 0)
-{
-lean_object* x_111; uint8_t x_112;
-x_111 = lean_ctor_get(x_107, 1);
-lean_inc(x_111);
-lean_dec(x_107);
-x_112 = 0;
-x_87 = x_112;
-x_88 = x_111;
-goto block_106;
-}
-else
-{
-lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; uint8_t x_118;
-x_113 = lean_ctor_get(x_107, 1);
-lean_inc(x_113);
-lean_dec(x_107);
-x_114 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabDiscrsWitMatchType___spec__1___lambda__1___closed__5;
-x_115 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_114, x_5, x_6, x_7, x_8, x_9, x_10, x_113);
-x_116 = lean_ctor_get(x_115, 0);
-lean_inc(x_116);
-x_117 = lean_ctor_get(x_115, 1);
-lean_inc(x_117);
-lean_dec(x_115);
-x_118 = lean_unbox(x_116);
-lean_dec(x_116);
-x_87 = x_118;
-x_88 = x_117;
-goto block_106;
-}
-block_86:
-{
-if (lean_obj_tag(x_26) == 2)
-{
-lean_object* x_29; lean_object* x_30; uint8_t x_31; lean_object* x_32; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; uint8_t x_76;
-x_29 = lean_ctor_get(x_26, 0);
+x_28 = lean_st_ref_get(x_10, x_27);
+x_29 = lean_ctor_get(x_28, 0);
lean_inc(x_29);
-lean_dec(x_26);
-lean_inc(x_23);
-x_30 = l_Lean_mkFVar(x_23);
+x_30 = lean_ctor_get(x_29, 3);
lean_inc(x_30);
-lean_inc(x_29);
-x_71 = l_Lean_Meta_assignExprMVar___at_Lean_Elab_Term_synthesizeInstMVarCore___spec__2(x_29, x_30, x_5, x_6, x_7, x_8, x_9, x_10, x_28);
-x_72 = lean_ctor_get(x_71, 1);
-lean_inc(x_72);
-lean_dec(x_71);
-x_73 = lean_st_ref_get(x_10, x_72);
-x_74 = lean_ctor_get(x_73, 0);
-lean_inc(x_74);
-x_75 = lean_ctor_get(x_74, 3);
-lean_inc(x_75);
-lean_dec(x_74);
-x_76 = lean_ctor_get_uint8(x_75, sizeof(void*)*1);
-lean_dec(x_75);
-if (x_76 == 0)
-{
-lean_object* x_77; uint8_t x_78;
-x_77 = lean_ctor_get(x_73, 1);
-lean_inc(x_77);
-lean_dec(x_73);
-x_78 = 0;
-x_31 = x_78;
-x_32 = x_77;
-goto block_70;
-}
-else
-{
-lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; uint8_t x_84;
-x_79 = lean_ctor_get(x_73, 1);
-lean_inc(x_79);
-lean_dec(x_73);
-x_80 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabDiscrsWitMatchType___spec__1___lambda__1___closed__5;
-x_81 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_80, x_5, x_6, x_7, x_8, x_9, x_10, x_79);
-x_82 = lean_ctor_get(x_81, 0);
-lean_inc(x_82);
-x_83 = lean_ctor_get(x_81, 1);
-lean_inc(x_83);
-lean_dec(x_81);
-x_84 = lean_unbox(x_82);
-lean_dec(x_82);
-x_31 = x_84;
-x_32 = x_83;
-goto block_70;
-}
-block_70:
-{
+lean_dec(x_29);
+x_31 = lean_ctor_get_uint8(x_30, sizeof(void*)*1);
+lean_dec(x_30);
if (x_31 == 0)
{
-lean_object* x_33;
-lean_dec(x_30);
-lean_dec(x_29);
-lean_inc(x_7);
-x_33 = l_Lean_Meta_getLocalDecl___at___private_Lean_Elab_App_0__Lean_Elab_Term_addLValArg___spec__1(x_23, x_5, x_6, x_7, x_8, x_9, x_10, x_32);
-if (lean_obj_tag(x_33) == 0)
+lean_dec(x_22);
+if (lean_obj_tag(x_26) == 2)
{
-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;
-x_34 = lean_ctor_get(x_33, 0);
+lean_object* x_32; lean_object* x_33; lean_object* x_34; uint8_t x_35; lean_object* x_36; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; uint8_t x_80;
+x_32 = lean_ctor_get(x_28, 1);
+lean_inc(x_32);
+lean_dec(x_28);
+x_33 = lean_ctor_get(x_26, 0);
+lean_inc(x_33);
+lean_dec(x_26);
+lean_inc(x_23);
+x_34 = l_Lean_mkFVar(x_23);
lean_inc(x_34);
-x_35 = lean_ctor_get(x_33, 1);
-lean_inc(x_35);
+lean_inc(x_33);
+x_75 = l_Lean_Meta_assignExprMVar___at_Lean_Elab_Term_synthesizeInstMVarCore___spec__2(x_33, x_34, x_5, x_6, x_7, x_8, x_9, x_10, x_32);
+x_76 = lean_ctor_get(x_75, 1);
+lean_inc(x_76);
+lean_dec(x_75);
+x_77 = lean_st_ref_get(x_10, x_76);
+x_78 = lean_ctor_get(x_77, 0);
+lean_inc(x_78);
+x_79 = lean_ctor_get(x_78, 3);
+lean_inc(x_79);
+lean_dec(x_78);
+x_80 = lean_ctor_get_uint8(x_79, sizeof(void*)*1);
+lean_dec(x_79);
+if (x_80 == 0)
+{
+lean_object* x_81; uint8_t x_82;
+x_81 = lean_ctor_get(x_77, 1);
+lean_inc(x_81);
+lean_dec(x_77);
+x_82 = 0;
+x_35 = x_82;
+x_36 = x_81;
+goto block_74;
+}
+else
+{
+lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; uint8_t x_88;
+x_83 = lean_ctor_get(x_77, 1);
+lean_inc(x_83);
+lean_dec(x_77);
+x_84 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabDiscrsWitMatchType___spec__1___lambda__1___closed__5;
+x_85 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_84, x_5, x_6, x_7, x_8, x_9, x_10, x_83);
+x_86 = lean_ctor_get(x_85, 0);
+lean_inc(x_86);
+x_87 = lean_ctor_get(x_85, 1);
+lean_inc(x_87);
+lean_dec(x_85);
+x_88 = lean_unbox(x_86);
+lean_dec(x_86);
+x_35 = x_88;
+x_36 = x_87;
+goto block_74;
+}
+block_74:
+{
+if (x_35 == 0)
+{
+lean_object* x_37;
+lean_dec(x_34);
lean_dec(x_33);
-x_36 = l_Lean_Meta_instantiateLocalDeclMVars___at_Lean_Elab_Term_finalizePatternDecls___spec__1(x_34, x_5, x_6, x_7, x_8, x_9, x_10, x_35);
-x_37 = lean_ctor_get(x_36, 0);
-lean_inc(x_37);
-x_38 = lean_ctor_get(x_36, 1);
+lean_inc(x_7);
+x_37 = l_Lean_Meta_getLocalDecl___at___private_Lean_Elab_App_0__Lean_Elab_Term_addLValArg___spec__1(x_23, x_5, x_6, x_7, x_8, x_9, x_10, x_36);
+if (lean_obj_tag(x_37) == 0)
+{
+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;
+x_38 = lean_ctor_get(x_37, 0);
lean_inc(x_38);
-lean_dec(x_36);
-x_39 = lean_array_push(x_4, x_37);
-x_40 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_40, 0, x_39);
-x_12 = x_40;
-x_13 = x_38;
+x_39 = lean_ctor_get(x_37, 1);
+lean_inc(x_39);
+lean_dec(x_37);
+x_40 = l_Lean_Meta_instantiateLocalDeclMVars___at_Lean_Elab_Term_finalizePatternDecls___spec__1(x_38, x_5, x_6, x_7, x_8, x_9, x_10, x_39);
+x_41 = lean_ctor_get(x_40, 0);
+lean_inc(x_41);
+x_42 = lean_ctor_get(x_40, 1);
+lean_inc(x_42);
+lean_dec(x_40);
+x_43 = lean_array_push(x_4, x_41);
+x_44 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_44, 0, x_43);
+x_12 = x_44;
+x_13 = x_42;
goto block_18;
}
else
{
-uint8_t x_41;
+uint8_t x_45;
lean_dec(x_7);
lean_dec(x_4);
-x_41 = !lean_is_exclusive(x_33);
-if (x_41 == 0)
+x_45 = !lean_is_exclusive(x_37);
+if (x_45 == 0)
{
-return x_33;
+return x_37;
}
else
{
-lean_object* x_42; lean_object* x_43; lean_object* x_44;
-x_42 = lean_ctor_get(x_33, 0);
-x_43 = lean_ctor_get(x_33, 1);
-lean_inc(x_43);
-lean_inc(x_42);
-lean_dec(x_33);
-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;
+lean_object* x_46; lean_object* x_47; lean_object* x_48;
+x_46 = lean_ctor_get(x_37, 0);
+x_47 = lean_ctor_get(x_37, 1);
+lean_inc(x_47);
+lean_inc(x_46);
+lean_dec(x_37);
+x_48 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_48, 0, x_46);
+lean_ctor_set(x_48, 1, x_47);
+return x_48;
}
}
}
else
{
-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;
-x_45 = l_Lean_mkMVar(x_29);
-x_46 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_46, 0, x_45);
-x_47 = l_Array_forInUnsafe_loop___at_Lean_Elab_Term_finalizePatternDecls___spec__2___closed__2;
-x_48 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_48, 0, x_47);
-lean_ctor_set(x_48, 1, x_46);
-x_49 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__8;
-x_50 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_50, 0, x_48);
-lean_ctor_set(x_50, 1, x_49);
-x_51 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_51, 0, x_30);
+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;
+x_49 = l_Lean_mkMVar(x_33);
+x_50 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_50, 0, x_49);
+x_51 = l_Array_forInUnsafe_loop___at_Lean_Elab_Term_finalizePatternDecls___spec__2___closed__2;
x_52 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_52, 0, x_50);
-lean_ctor_set(x_52, 1, x_51);
-x_53 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+lean_ctor_set(x_52, 0, x_51);
+lean_ctor_set(x_52, 1, x_50);
+x_53 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__8;
x_54 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_54, 0, x_52);
lean_ctor_set(x_54, 1, x_53);
-x_55 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabDiscrsWitMatchType___spec__1___lambda__1___closed__5;
-x_56 = l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__1(x_55, x_54, x_5, x_6, x_7, x_8, x_9, x_10, x_32);
-x_57 = lean_ctor_get(x_56, 1);
-lean_inc(x_57);
-lean_dec(x_56);
+x_55 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_55, 0, x_34);
+x_56 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_56, 0, x_54);
+lean_ctor_set(x_56, 1, x_55);
+x_57 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_58 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_58, 0, x_56);
+lean_ctor_set(x_58, 1, x_57);
+x_59 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabDiscrsWitMatchType___spec__1___lambda__1___closed__5;
+x_60 = l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__1(x_59, x_58, x_5, x_6, x_7, x_8, x_9, x_10, x_36);
+x_61 = lean_ctor_get(x_60, 1);
+lean_inc(x_61);
+lean_dec(x_60);
lean_inc(x_7);
-x_58 = l_Lean_Meta_getLocalDecl___at___private_Lean_Elab_App_0__Lean_Elab_Term_addLValArg___spec__1(x_23, x_5, x_6, x_7, x_8, x_9, x_10, x_57);
-if (lean_obj_tag(x_58) == 0)
+x_62 = l_Lean_Meta_getLocalDecl___at___private_Lean_Elab_App_0__Lean_Elab_Term_addLValArg___spec__1(x_23, x_5, x_6, x_7, x_8, x_9, x_10, x_61);
+if (lean_obj_tag(x_62) == 0)
{
-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;
-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_Lean_Meta_instantiateLocalDeclMVars___at_Lean_Elab_Term_finalizePatternDecls___spec__1(x_59, x_5, x_6, x_7, x_8, x_9, x_10, x_60);
-x_62 = lean_ctor_get(x_61, 0);
-lean_inc(x_62);
-x_63 = lean_ctor_get(x_61, 1);
+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;
+x_63 = lean_ctor_get(x_62, 0);
lean_inc(x_63);
-lean_dec(x_61);
-x_64 = lean_array_push(x_4, x_62);
-x_65 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_65, 0, x_64);
-x_12 = x_65;
-x_13 = x_63;
+x_64 = lean_ctor_get(x_62, 1);
+lean_inc(x_64);
+lean_dec(x_62);
+x_65 = l_Lean_Meta_instantiateLocalDeclMVars___at_Lean_Elab_Term_finalizePatternDecls___spec__1(x_63, x_5, x_6, x_7, 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 = lean_array_push(x_4, x_66);
+x_69 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_69, 0, x_68);
+x_12 = x_69;
+x_13 = x_67;
goto block_18;
}
else
{
-uint8_t x_66;
+uint8_t x_70;
lean_dec(x_7);
lean_dec(x_4);
-x_66 = !lean_is_exclusive(x_58);
-if (x_66 == 0)
+x_70 = !lean_is_exclusive(x_62);
+if (x_70 == 0)
{
-return x_58;
+return x_62;
}
else
{
-lean_object* x_67; lean_object* x_68; lean_object* x_69;
-x_67 = lean_ctor_get(x_58, 0);
-x_68 = lean_ctor_get(x_58, 1);
-lean_inc(x_68);
-lean_inc(x_67);
-lean_dec(x_58);
-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;
+lean_object* x_71; lean_object* x_72; lean_object* x_73;
+x_71 = lean_ctor_get(x_62, 0);
+x_72 = lean_ctor_get(x_62, 1);
+lean_inc(x_72);
+lean_inc(x_71);
+lean_dec(x_62);
+x_73 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_73, 0, x_71);
+lean_ctor_set(x_73, 1, x_72);
+return x_73;
}
}
}
@@ -17312,119 +17286,524 @@ return x_69;
}
else
{
-lean_object* x_85;
+lean_object* x_89; lean_object* x_90;
lean_dec(x_26);
lean_dec(x_23);
-x_85 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_85, 0, x_4);
-x_12 = x_85;
-x_13 = x_28;
+x_89 = lean_ctor_get(x_28, 1);
+lean_inc(x_89);
+lean_dec(x_28);
+x_90 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_90, 0, x_4);
+x_12 = x_90;
+x_13 = x_89;
goto block_18;
}
}
-block_106:
+else
{
-if (x_87 == 0)
+lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; uint8_t x_95;
+x_91 = lean_ctor_get(x_28, 1);
+lean_inc(x_91);
+lean_dec(x_28);
+x_92 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabDiscrsWitMatchType___spec__1___lambda__1___closed__5;
+x_93 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_92, x_5, x_6, x_7, x_8, x_9, x_10, x_91);
+x_94 = lean_ctor_get(x_93, 0);
+lean_inc(x_94);
+x_95 = lean_unbox(x_94);
+lean_dec(x_94);
+if (x_95 == 0)
{
lean_dec(x_22);
-x_28 = x_88;
-goto block_86;
-}
-else
+if (lean_obj_tag(x_26) == 2)
{
-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;
-x_89 = lean_alloc_ctor(4, 1, 0);
-lean_ctor_set(x_89, 0, x_22);
-x_90 = l_Array_forInUnsafe_loop___at_Lean_Elab_Term_finalizePatternDecls___spec__2___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___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__8;
-x_93 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_93, 0, x_91);
-lean_ctor_set(x_93, 1, x_92);
-lean_inc(x_26);
-x_94 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_94, 0, x_26);
-x_95 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_95, 0, x_93);
-lean_ctor_set(x_95, 1, x_94);
-x_96 = l_Array_forInUnsafe_loop___at_Lean_Elab_Term_finalizePatternDecls___spec__2___closed__6;
-x_97 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_97, 0, x_95);
-lean_ctor_set(x_97, 1, x_96);
+lean_object* x_96; lean_object* x_97; lean_object* x_98; uint8_t x_99; lean_object* x_100; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; uint8_t x_143;
+x_96 = lean_ctor_get(x_93, 1);
+lean_inc(x_96);
+lean_dec(x_93);
+x_97 = lean_ctor_get(x_26, 0);
+lean_inc(x_97);
+lean_dec(x_26);
lean_inc(x_23);
x_98 = l_Lean_mkFVar(x_23);
-x_99 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_99, 0, x_98);
-x_100 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_100, 0, x_97);
-lean_ctor_set(x_100, 1, x_99);
-x_101 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_102 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_102, 0, x_100);
-lean_ctor_set(x_102, 1, x_101);
-x_103 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabDiscrsWitMatchType___spec__1___lambda__1___closed__5;
-x_104 = l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__1(x_103, x_102, x_5, x_6, x_7, x_8, x_9, x_10, x_88);
-x_105 = lean_ctor_get(x_104, 1);
-lean_inc(x_105);
-lean_dec(x_104);
-x_28 = x_105;
-goto block_86;
-}
-}
+lean_inc(x_98);
+lean_inc(x_97);
+x_138 = l_Lean_Meta_assignExprMVar___at_Lean_Elab_Term_synthesizeInstMVarCore___spec__2(x_97, x_98, x_5, x_6, x_7, x_8, x_9, x_10, x_96);
+x_139 = lean_ctor_get(x_138, 1);
+lean_inc(x_139);
+lean_dec(x_138);
+x_140 = lean_st_ref_get(x_10, x_139);
+x_141 = lean_ctor_get(x_140, 0);
+lean_inc(x_141);
+x_142 = lean_ctor_get(x_141, 3);
+lean_inc(x_142);
+lean_dec(x_141);
+x_143 = lean_ctor_get_uint8(x_142, sizeof(void*)*1);
+lean_dec(x_142);
+if (x_143 == 0)
+{
+lean_object* x_144; uint8_t x_145;
+x_144 = lean_ctor_get(x_140, 1);
+lean_inc(x_144);
+lean_dec(x_140);
+x_145 = 0;
+x_99 = x_145;
+x_100 = x_144;
+goto block_137;
}
else
{
-lean_object* x_119; lean_object* x_120;
-x_119 = lean_ctor_get(x_21, 0);
-lean_inc(x_119);
-lean_dec(x_21);
-lean_inc(x_7);
-x_120 = l_Lean_Meta_getLocalDecl___at___private_Lean_Elab_App_0__Lean_Elab_Term_addLValArg___spec__1(x_119, x_5, x_6, x_7, x_8, x_9, x_10, x_11);
-if (lean_obj_tag(x_120) == 0)
+lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; uint8_t x_150;
+x_146 = lean_ctor_get(x_140, 1);
+lean_inc(x_146);
+lean_dec(x_140);
+x_147 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_92, x_5, x_6, x_7, x_8, x_9, x_10, x_146);
+x_148 = lean_ctor_get(x_147, 0);
+lean_inc(x_148);
+x_149 = lean_ctor_get(x_147, 1);
+lean_inc(x_149);
+lean_dec(x_147);
+x_150 = lean_unbox(x_148);
+lean_dec(x_148);
+x_99 = x_150;
+x_100 = x_149;
+goto block_137;
+}
+block_137:
{
-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;
-x_121 = lean_ctor_get(x_120, 0);
-lean_inc(x_121);
-x_122 = lean_ctor_get(x_120, 1);
-lean_inc(x_122);
-lean_dec(x_120);
-x_123 = l_Lean_Meta_instantiateLocalDeclMVars___at_Lean_Elab_Term_finalizePatternDecls___spec__1(x_121, x_5, x_6, x_7, x_8, x_9, x_10, x_122);
-x_124 = lean_ctor_get(x_123, 0);
-lean_inc(x_124);
-x_125 = lean_ctor_get(x_123, 1);
-lean_inc(x_125);
-lean_dec(x_123);
-x_126 = lean_array_push(x_4, x_124);
-x_127 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_127, 0, x_126);
-x_12 = x_127;
-x_13 = x_125;
+if (x_99 == 0)
+{
+lean_object* x_101;
+lean_dec(x_98);
+lean_dec(x_97);
+lean_inc(x_7);
+x_101 = l_Lean_Meta_getLocalDecl___at___private_Lean_Elab_App_0__Lean_Elab_Term_addLValArg___spec__1(x_23, x_5, x_6, x_7, x_8, x_9, x_10, x_100);
+if (lean_obj_tag(x_101) == 0)
+{
+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;
+x_102 = lean_ctor_get(x_101, 0);
+lean_inc(x_102);
+x_103 = lean_ctor_get(x_101, 1);
+lean_inc(x_103);
+lean_dec(x_101);
+x_104 = l_Lean_Meta_instantiateLocalDeclMVars___at_Lean_Elab_Term_finalizePatternDecls___spec__1(x_102, x_5, x_6, x_7, x_8, x_9, x_10, x_103);
+x_105 = lean_ctor_get(x_104, 0);
+lean_inc(x_105);
+x_106 = lean_ctor_get(x_104, 1);
+lean_inc(x_106);
+lean_dec(x_104);
+x_107 = lean_array_push(x_4, x_105);
+x_108 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_108, 0, x_107);
+x_12 = x_108;
+x_13 = x_106;
goto block_18;
}
else
{
-uint8_t x_128;
+uint8_t x_109;
lean_dec(x_7);
lean_dec(x_4);
-x_128 = !lean_is_exclusive(x_120);
-if (x_128 == 0)
+x_109 = !lean_is_exclusive(x_101);
+if (x_109 == 0)
{
-return x_120;
+return x_101;
}
else
{
-lean_object* x_129; lean_object* x_130; lean_object* x_131;
-x_129 = lean_ctor_get(x_120, 0);
-x_130 = lean_ctor_get(x_120, 1);
-lean_inc(x_130);
+lean_object* x_110; lean_object* x_111; lean_object* x_112;
+x_110 = lean_ctor_get(x_101, 0);
+x_111 = lean_ctor_get(x_101, 1);
+lean_inc(x_111);
+lean_inc(x_110);
+lean_dec(x_101);
+x_112 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_112, 0, x_110);
+lean_ctor_set(x_112, 1, x_111);
+return x_112;
+}
+}
+}
+else
+{
+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;
+x_113 = l_Lean_mkMVar(x_97);
+x_114 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_114, 0, x_113);
+x_115 = l_Array_forInUnsafe_loop___at_Lean_Elab_Term_finalizePatternDecls___spec__2___closed__2;
+x_116 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_116, 0, x_115);
+lean_ctor_set(x_116, 1, x_114);
+x_117 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__8;
+x_118 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_118, 0, x_116);
+lean_ctor_set(x_118, 1, x_117);
+x_119 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_119, 0, x_98);
+x_120 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_120, 0, x_118);
+lean_ctor_set(x_120, 1, x_119);
+x_121 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_122 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_122, 0, x_120);
+lean_ctor_set(x_122, 1, x_121);
+x_123 = l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__1(x_92, x_122, x_5, x_6, x_7, x_8, x_9, x_10, x_100);
+x_124 = lean_ctor_get(x_123, 1);
+lean_inc(x_124);
+lean_dec(x_123);
+lean_inc(x_7);
+x_125 = l_Lean_Meta_getLocalDecl___at___private_Lean_Elab_App_0__Lean_Elab_Term_addLValArg___spec__1(x_23, x_5, x_6, x_7, x_8, x_9, x_10, x_124);
+if (lean_obj_tag(x_125) == 0)
+{
+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;
+x_126 = lean_ctor_get(x_125, 0);
+lean_inc(x_126);
+x_127 = lean_ctor_get(x_125, 1);
+lean_inc(x_127);
+lean_dec(x_125);
+x_128 = l_Lean_Meta_instantiateLocalDeclMVars___at_Lean_Elab_Term_finalizePatternDecls___spec__1(x_126, x_5, x_6, x_7, x_8, x_9, x_10, x_127);
+x_129 = lean_ctor_get(x_128, 0);
lean_inc(x_129);
-lean_dec(x_120);
-x_131 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_131, 0, x_129);
-lean_ctor_set(x_131, 1, x_130);
-return x_131;
+x_130 = lean_ctor_get(x_128, 1);
+lean_inc(x_130);
+lean_dec(x_128);
+x_131 = lean_array_push(x_4, x_129);
+x_132 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_132, 0, x_131);
+x_12 = x_132;
+x_13 = x_130;
+goto block_18;
+}
+else
+{
+uint8_t x_133;
+lean_dec(x_7);
+lean_dec(x_4);
+x_133 = !lean_is_exclusive(x_125);
+if (x_133 == 0)
+{
+return x_125;
+}
+else
+{
+lean_object* x_134; lean_object* x_135; lean_object* x_136;
+x_134 = lean_ctor_get(x_125, 0);
+x_135 = lean_ctor_get(x_125, 1);
+lean_inc(x_135);
+lean_inc(x_134);
+lean_dec(x_125);
+x_136 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_136, 0, x_134);
+lean_ctor_set(x_136, 1, x_135);
+return x_136;
+}
+}
+}
+}
+}
+else
+{
+lean_object* x_151; lean_object* x_152;
+lean_dec(x_26);
+lean_dec(x_23);
+x_151 = lean_ctor_get(x_93, 1);
+lean_inc(x_151);
+lean_dec(x_93);
+x_152 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_152, 0, x_4);
+x_12 = x_152;
+x_13 = x_151;
+goto block_18;
+}
+}
+else
+{
+lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168;
+x_153 = lean_ctor_get(x_93, 1);
+lean_inc(x_153);
+lean_dec(x_93);
+x_154 = lean_alloc_ctor(4, 1, 0);
+lean_ctor_set(x_154, 0, x_22);
+x_155 = l_Array_forInUnsafe_loop___at_Lean_Elab_Term_finalizePatternDecls___spec__2___closed__4;
+x_156 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_156, 0, x_155);
+lean_ctor_set(x_156, 1, x_154);
+x_157 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__8;
+x_158 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_158, 0, x_156);
+lean_ctor_set(x_158, 1, x_157);
+lean_inc(x_26);
+x_159 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_159, 0, x_26);
+x_160 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_160, 0, x_158);
+lean_ctor_set(x_160, 1, x_159);
+x_161 = l_Array_forInUnsafe_loop___at_Lean_Elab_Term_finalizePatternDecls___spec__2___closed__6;
+x_162 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_162, 0, x_160);
+lean_ctor_set(x_162, 1, x_161);
+lean_inc(x_23);
+x_163 = l_Lean_mkFVar(x_23);
+lean_inc(x_163);
+x_164 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_164, 0, x_163);
+lean_inc(x_164);
+x_165 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_165, 0, x_162);
+lean_ctor_set(x_165, 1, x_164);
+x_166 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_167 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_167, 0, x_165);
+lean_ctor_set(x_167, 1, x_166);
+x_168 = l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__1(x_92, x_167, x_5, x_6, x_7, x_8, x_9, x_10, x_153);
+if (lean_obj_tag(x_26) == 2)
+{
+lean_object* x_169; lean_object* x_170; uint8_t x_171; lean_object* x_172; lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_211; uint8_t x_212;
+x_169 = lean_ctor_get(x_168, 1);
+lean_inc(x_169);
+lean_dec(x_168);
+x_170 = lean_ctor_get(x_26, 0);
+lean_inc(x_170);
+lean_dec(x_26);
+lean_inc(x_170);
+x_207 = l_Lean_Meta_assignExprMVar___at_Lean_Elab_Term_synthesizeInstMVarCore___spec__2(x_170, x_163, x_5, x_6, x_7, x_8, x_9, x_10, x_169);
+x_208 = lean_ctor_get(x_207, 1);
+lean_inc(x_208);
+lean_dec(x_207);
+x_209 = lean_st_ref_get(x_10, x_208);
+x_210 = lean_ctor_get(x_209, 0);
+lean_inc(x_210);
+x_211 = lean_ctor_get(x_210, 3);
+lean_inc(x_211);
+lean_dec(x_210);
+x_212 = lean_ctor_get_uint8(x_211, sizeof(void*)*1);
+lean_dec(x_211);
+if (x_212 == 0)
+{
+lean_object* x_213; uint8_t x_214;
+x_213 = lean_ctor_get(x_209, 1);
+lean_inc(x_213);
+lean_dec(x_209);
+x_214 = 0;
+x_171 = x_214;
+x_172 = x_213;
+goto block_206;
+}
+else
+{
+lean_object* x_215; lean_object* x_216; lean_object* x_217; lean_object* x_218; uint8_t x_219;
+x_215 = lean_ctor_get(x_209, 1);
+lean_inc(x_215);
+lean_dec(x_209);
+x_216 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_92, x_5, x_6, x_7, x_8, x_9, x_10, x_215);
+x_217 = lean_ctor_get(x_216, 0);
+lean_inc(x_217);
+x_218 = lean_ctor_get(x_216, 1);
+lean_inc(x_218);
+lean_dec(x_216);
+x_219 = lean_unbox(x_217);
+lean_dec(x_217);
+x_171 = x_219;
+x_172 = x_218;
+goto block_206;
+}
+block_206:
+{
+if (x_171 == 0)
+{
+lean_object* x_173;
+lean_dec(x_170);
+lean_dec(x_164);
+lean_inc(x_7);
+x_173 = l_Lean_Meta_getLocalDecl___at___private_Lean_Elab_App_0__Lean_Elab_Term_addLValArg___spec__1(x_23, x_5, x_6, x_7, x_8, x_9, x_10, x_172);
+if (lean_obj_tag(x_173) == 0)
+{
+lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180;
+x_174 = lean_ctor_get(x_173, 0);
+lean_inc(x_174);
+x_175 = lean_ctor_get(x_173, 1);
+lean_inc(x_175);
+lean_dec(x_173);
+x_176 = l_Lean_Meta_instantiateLocalDeclMVars___at_Lean_Elab_Term_finalizePatternDecls___spec__1(x_174, x_5, x_6, x_7, x_8, x_9, x_10, x_175);
+x_177 = lean_ctor_get(x_176, 0);
+lean_inc(x_177);
+x_178 = lean_ctor_get(x_176, 1);
+lean_inc(x_178);
+lean_dec(x_176);
+x_179 = lean_array_push(x_4, x_177);
+x_180 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_180, 0, x_179);
+x_12 = x_180;
+x_13 = x_178;
+goto block_18;
+}
+else
+{
+uint8_t x_181;
+lean_dec(x_7);
+lean_dec(x_4);
+x_181 = !lean_is_exclusive(x_173);
+if (x_181 == 0)
+{
+return x_173;
+}
+else
+{
+lean_object* x_182; lean_object* x_183; lean_object* x_184;
+x_182 = lean_ctor_get(x_173, 0);
+x_183 = lean_ctor_get(x_173, 1);
+lean_inc(x_183);
+lean_inc(x_182);
+lean_dec(x_173);
+x_184 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_184, 0, x_182);
+lean_ctor_set(x_184, 1, x_183);
+return x_184;
+}
+}
+}
+else
+{
+lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194;
+x_185 = l_Lean_mkMVar(x_170);
+x_186 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_186, 0, x_185);
+x_187 = l_Array_forInUnsafe_loop___at_Lean_Elab_Term_finalizePatternDecls___spec__2___closed__2;
+x_188 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_188, 0, x_187);
+lean_ctor_set(x_188, 1, x_186);
+x_189 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_189, 0, x_188);
+lean_ctor_set(x_189, 1, x_157);
+x_190 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_190, 0, x_189);
+lean_ctor_set(x_190, 1, x_164);
+x_191 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_191, 0, x_190);
+lean_ctor_set(x_191, 1, x_166);
+x_192 = l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__1(x_92, x_191, x_5, x_6, x_7, x_8, x_9, x_10, x_172);
+x_193 = lean_ctor_get(x_192, 1);
+lean_inc(x_193);
+lean_dec(x_192);
+lean_inc(x_7);
+x_194 = l_Lean_Meta_getLocalDecl___at___private_Lean_Elab_App_0__Lean_Elab_Term_addLValArg___spec__1(x_23, x_5, x_6, x_7, x_8, x_9, x_10, x_193);
+if (lean_obj_tag(x_194) == 0)
+{
+lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201;
+x_195 = lean_ctor_get(x_194, 0);
+lean_inc(x_195);
+x_196 = lean_ctor_get(x_194, 1);
+lean_inc(x_196);
+lean_dec(x_194);
+x_197 = l_Lean_Meta_instantiateLocalDeclMVars___at_Lean_Elab_Term_finalizePatternDecls___spec__1(x_195, x_5, x_6, x_7, x_8, x_9, x_10, x_196);
+x_198 = lean_ctor_get(x_197, 0);
+lean_inc(x_198);
+x_199 = lean_ctor_get(x_197, 1);
+lean_inc(x_199);
+lean_dec(x_197);
+x_200 = lean_array_push(x_4, x_198);
+x_201 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_201, 0, x_200);
+x_12 = x_201;
+x_13 = x_199;
+goto block_18;
+}
+else
+{
+uint8_t x_202;
+lean_dec(x_7);
+lean_dec(x_4);
+x_202 = !lean_is_exclusive(x_194);
+if (x_202 == 0)
+{
+return x_194;
+}
+else
+{
+lean_object* x_203; lean_object* x_204; lean_object* x_205;
+x_203 = lean_ctor_get(x_194, 0);
+x_204 = lean_ctor_get(x_194, 1);
+lean_inc(x_204);
+lean_inc(x_203);
+lean_dec(x_194);
+x_205 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_205, 0, x_203);
+lean_ctor_set(x_205, 1, x_204);
+return x_205;
+}
+}
+}
+}
+}
+else
+{
+lean_object* x_220; lean_object* x_221;
+lean_dec(x_164);
+lean_dec(x_163);
+lean_dec(x_26);
+lean_dec(x_23);
+x_220 = lean_ctor_get(x_168, 1);
+lean_inc(x_220);
+lean_dec(x_168);
+x_221 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_221, 0, x_4);
+x_12 = x_221;
+x_13 = x_220;
+goto block_18;
+}
+}
+}
+}
+else
+{
+lean_object* x_222; lean_object* x_223;
+x_222 = lean_ctor_get(x_21, 0);
+lean_inc(x_222);
+lean_dec(x_21);
+lean_inc(x_7);
+x_223 = l_Lean_Meta_getLocalDecl___at___private_Lean_Elab_App_0__Lean_Elab_Term_addLValArg___spec__1(x_222, x_5, x_6, x_7, x_8, x_9, x_10, x_11);
+if (lean_obj_tag(x_223) == 0)
+{
+lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; lean_object* x_228; lean_object* x_229; lean_object* x_230;
+x_224 = lean_ctor_get(x_223, 0);
+lean_inc(x_224);
+x_225 = lean_ctor_get(x_223, 1);
+lean_inc(x_225);
+lean_dec(x_223);
+x_226 = l_Lean_Meta_instantiateLocalDeclMVars___at_Lean_Elab_Term_finalizePatternDecls___spec__1(x_224, x_5, x_6, x_7, x_8, x_9, x_10, x_225);
+x_227 = lean_ctor_get(x_226, 0);
+lean_inc(x_227);
+x_228 = lean_ctor_get(x_226, 1);
+lean_inc(x_228);
+lean_dec(x_226);
+x_229 = lean_array_push(x_4, x_227);
+x_230 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_230, 0, x_229);
+x_12 = x_230;
+x_13 = x_228;
+goto block_18;
+}
+else
+{
+uint8_t x_231;
+lean_dec(x_7);
+lean_dec(x_4);
+x_231 = !lean_is_exclusive(x_223);
+if (x_231 == 0)
+{
+return x_223;
+}
+else
+{
+lean_object* x_232; lean_object* x_233; lean_object* x_234;
+x_232 = lean_ctor_get(x_223, 0);
+x_233 = lean_ctor_get(x_223, 1);
+lean_inc(x_233);
+lean_inc(x_232);
+lean_dec(x_223);
+x_234 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_234, 0, x_232);
+lean_ctor_set(x_234, 1, x_233);
+return x_234;
}
}
}
@@ -21389,7 +21768,7 @@ x_34 = lean_ctor_get(x_28, 1);
lean_inc(x_34);
lean_dec(x_28);
lean_inc(x_2);
-x_35 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_2, x_4, x_5, x_6, x_7, x_8, x_9, x_34);
+x_35 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_2, x_4, x_5, x_6, x_7, x_8, x_9, x_34);
x_36 = lean_ctor_get(x_35, 0);
lean_inc(x_36);
x_37 = lean_ctor_get(x_35, 1);
@@ -21690,7 +22069,7 @@ x_43 = lean_ctor_get(x_37, 1);
lean_inc(x_43);
lean_dec(x_37);
x_44 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabDiscrsWitMatchType___spec__1___lambda__1___closed__5;
-x_45 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_44, x_3, x_4, x_5, x_6, x_7, x_8, x_43);
+x_45 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_44, x_3, x_4, x_5, x_6, x_7, x_8, x_43);
x_46 = lean_ctor_get(x_45, 0);
lean_inc(x_46);
x_47 = lean_ctor_get(x_45, 1);
@@ -21840,7 +22219,7 @@ x_88 = lean_ctor_get(x_82, 1);
lean_inc(x_88);
lean_dec(x_82);
x_89 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabDiscrsWitMatchType___spec__1___lambda__1___closed__5;
-x_90 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_89, x_3, x_4, x_5, x_6, x_58, x_8, x_88);
+x_90 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_89, x_3, x_4, x_5, x_6, x_58, x_8, x_88);
x_91 = lean_ctor_get(x_90, 0);
lean_inc(x_91);
x_92 = lean_ctor_get(x_90, 1);
@@ -22705,7 +23084,7 @@ x_134 = lean_ctor_get(x_128, 1);
lean_inc(x_134);
lean_dec(x_128);
x_135 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabDiscrsWitMatchType___spec__1___lambda__1___closed__5;
-x_136 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_135, x_5, x_6, x_7, x_8, x_9, x_10, x_134);
+x_136 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_135, x_5, x_6, x_7, x_8, x_9, x_10, x_134);
x_137 = lean_ctor_get(x_136, 0);
lean_inc(x_137);
x_138 = lean_ctor_get(x_136, 1);
@@ -22873,7 +23252,7 @@ x_82 = lean_ctor_get(x_76, 1);
lean_inc(x_82);
lean_dec(x_76);
x_83 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabDiscrsWitMatchType___spec__1___lambda__1___closed__5;
-x_84 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_83, x_5, x_6, x_7, x_8, x_9, x_10, x_82);
+x_84 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_83, x_5, x_6, x_7, x_8, x_9, x_10, x_82);
x_85 = lean_ctor_get(x_84, 0);
lean_inc(x_85);
x_86 = lean_ctor_get(x_84, 1);
@@ -24527,7 +24906,7 @@ x_73 = lean_ctor_get(x_67, 1);
lean_inc(x_73);
lean_dec(x_67);
x_74 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabDiscrsWitMatchType___spec__1___lambda__1___closed__5;
-x_75 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_74, x_5, x_6, x_7, x_8, x_9, x_10, x_73);
+x_75 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_74, x_5, x_6, x_7, x_8, x_9, x_10, x_73);
x_76 = lean_ctor_get(x_75, 0);
lean_inc(x_76);
x_77 = lean_ctor_get(x_75, 1);
diff --git a/stage0/stdlib/Lean/Elab/MutualDef.c b/stage0/stdlib/Lean/Elab/MutualDef.c
index 6f40127c51..98948ee72d 100644
--- a/stage0/stdlib/Lean/Elab/MutualDef.c
+++ b/stage0/stdlib/Lean/Elab/MutualDef.c
@@ -16,7 +16,6 @@ extern "C" {
lean_object* l_Lean_Elab_Term_getLevelNames(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_elabModifiers___at_Lean_Elab_Command_elabMutualDef___spec__1___lambda__3___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_MutualDef_0__Lean_Elab_Term_elabFunType_match__1(lean_object*);
-lean_object* lean_expr_update_forall(lean_object*, uint8_t, lean_object*, lean_object*);
extern lean_object* l_Lean_Expr_Lean_Expr___instance__1;
lean_object* l_Lean_Elab_Term_removeUnused(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___spec__5(lean_object*, lean_object*, lean_object*, lean_object*);
@@ -36,7 +35,6 @@ lean_object* l_Std_RBNode_insert___at_Lean_NameSet_insert___spec__1(lean_object*
lean_object* l_Lean_Elab_Term_getLetRecsToLift___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_findLocalDecl_x3f___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_getFunName___spec__1(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* l_unreachable_x21___rarg(lean_object*);
lean_object* l_Array_foldlStepMAux___main___at_Lean_Syntax_getSepArgs___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withFunLocalDecls_loop___rarg___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* l_Lean_addTrace___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -48,13 +46,11 @@ lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_Fix
lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkModifiers___lambda__1___closed__1;
lean_object* l_Lean_Syntax_getOptional_x3f(lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-uint8_t l_USize_decEq(size_t, size_t);
lean_object* lean_array_uget(lean_object*, size_t);
lean_object* l_Std_RBNode_foldM___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_merge___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___spec__4(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkModifiers___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* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* lean_expr_update_mdata(lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check_match__1___rarg(lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Elab_Term_MutualClosure_getKindForLetRecs(lean_object*);
lean_object* l_Nat_foldAux___main___at_Lean_Elab_Term_MutualClosure_insertReplacementForMainFns___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -72,7 +68,6 @@ extern lean_object* l_Option_get_x21___rarg___closed__3;
lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_markModified___rarg(lean_object*);
lean_object* l_Lean_CollectFVars_main(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_elabMutualDef___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*, lean_object*);
-lean_object* lean_array_uset(lean_object*, size_t, lean_object*);
uint8_t l_Lean_Elab_Term_MutualClosure_FixPoint_State_modified___default;
uint8_t l_List_elem___main___at_Lean_NameHashSet_insert___spec__2(lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkModifiers___lambda__1___closed__2;
@@ -83,6 +78,7 @@ lean_object* l_Array_umapMAux___main___at_Lean_Elab_Term_MutualClosure_main___sp
lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_typeHasRecFun_match__2(lean_object*);
lean_object* l_Array_forMAux___main___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_collectUsed___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* l_Array_forInUnsafe_loop___at_Lean_Elab_Command_elabMutualDef___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Elab_Term_MutualClosure_Replacement_apply___lambda__1___boxed(lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___closed__3;
extern lean_object* l_Array_empty___closed__1;
lean_object* l_Lean_Meta_resetZetaFVarIds___at_Lean_Elab_Term_MutualClosure_main___spec__2___boxed(lean_object*, lean_object*, lean_object*);
@@ -113,11 +109,9 @@ lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___closed__2
lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withUsedWhen(lean_object*);
lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkKinds___closed__1;
lean_object* l_Array_anyRangeMAux___main___at_Lean_Elab_Term_MutualClosure_getModifiersForLetRecs___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Elab_throwAlreadyDeclaredUniverseLevel___rarg___closed__3;
lean_object* lean_array_push(lean_object*, lean_object*);
lean_object* lean_array_get_size(lean_object*);
-lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_Term_MutualClosure_Replacement_apply___spec__2(lean_object*, size_t, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___lambda__2___closed__4;
lean_object* l_Lean_Elab_expandDeclId___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1___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* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -174,6 +168,7 @@ lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkC
lean_object* l___private_Lean_Elab_Command_0__Lean_Elab_Command_getVarDecls(lean_object*);
lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_isTheorem___boxed(lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_List_forM___main___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkLetRecsToLiftTypes___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* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_getUsedFVarsMap___rarg(lean_object*);
lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureFor___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -189,8 +184,8 @@ lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean
uint8_t l_List_foldr___main___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_typeHasRecFun___spec__1(lean_object*, uint8_t, lean_object*);
lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___closed__1;
lean_object* l_Array_anyRangeMAux___main___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_isTheorem___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Elab_Term_MutualClosure_Replacement_apply___lambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Elab_expandDeclId___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___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*, lean_object*);
-extern lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_sccAux___rarg___closed__1;
lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___closed__2;
lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_getFunName___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_MutualDef_0__Lean_Elab_Term_withFunLocalDecls_loop(lean_object*);
@@ -239,14 +234,12 @@ lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkC
lean_object* l_Lean_Elab_elabModifiers___at_Lean_Elab_Command_elabMutualDef___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Name_append___main(lean_object*, lean_object*);
lean_object* l_List_mapM___main___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures___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_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_Term_MutualClosure_Replacement_apply___spec__2___closed__1;
lean_object* l_Lean_Elab_Term_MutualClosure_pushLetRecs___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkModifiers___lambda__2(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_MutualDef_0__Lean_Elab_Term_checkLetRecsToLiftTypes___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_collectMVars(lean_object*, lean_object*);
lean_object* l_List_mapM___main___at_Lean_Elab_Term_MutualClosure_main___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_List_map___main___at_Lean_Elab_Term_MutualClosure_main___spec__9(lean_object*, lean_object*);
-lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_Term_MutualClosure_Replacement_apply___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_elabModifiers___at_Lean_Elab_Command_elabMutualDef___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_replaceRef(lean_object*, lean_object*);
@@ -287,7 +280,6 @@ lean_object* l_Std_RBNode_fold___at___private_Lean_Elab_MutualDef_0__Lean_Elab_T
lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerm___closed__1;
extern lean_object* l_Lean_Elab_elabModifiers___rarg___lambda__3___closed__2;
lean_object* lean_st_mk_ref(lean_object*, lean_object*);
-lean_object* l_Lean_Elab_Term_MutualClosure_Replacement_apply___boxed(lean_object*, lean_object*);
lean_object* l_Array_getMax_x3f___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_pickMaxFVar_x3f___spec__1___boxed(lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_pickMaxFVar_x3f___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Syntax_getId(lean_object*);
@@ -321,7 +313,6 @@ lean_object* l_Array_anyRangeMAux___main___at___private_Lean_Elab_MutualDef_0__L
lean_object* l_Lean_Elab_checkNotAlreadyDeclared___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__2___boxed(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_Elab_elabModifiers___rarg___lambda__3___closed__3;
lean_object* l_List_forInAux___main___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__4(lean_object*, lean_object*, size_t, lean_object*, lean_object*);
-lean_object* l_Array_umapMAux___main___at_Lean_Elab_Term_MutualClosure_main___spec__7___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___lambda__7(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_MutualDef_0__Lean_Elab_Term_getAllUserLevelNames___boxed(lean_object*);
lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_getFunName___lambda__1___boxed(lean_object*, lean_object*);
@@ -341,13 +332,11 @@ lean_object* l_List_forM___main___at___private_Lean_Elab_MutualDef_0__Lean_Elab_
lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkModifiers___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_resetZetaFVarIds___at_Lean_Elab_Term_MutualClosure_main___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_collectUsedFVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* lean_expr_update_let(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkModifiers___lambda__1___closed__3;
lean_object* l_Lean_Elab_Term_MutualClosure_FixPoint_State_usedFVarsMap___default;
lean_object* l_ReaderT_bind___at_Lean_Elab_Term_monadLog___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at_Array_append___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_mkFVar(lean_object*);
-uint8_t l_Lean_Expr_Data_binderInfo(uint64_t);
lean_object* l_Lean_Elab_mkDeclName___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__2(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_MutualDef_0__Lean_Elab_Term_checkModifiers___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
size_t lean_usize_of_nat(lean_object*);
@@ -363,7 +352,6 @@ lean_object* l_Lean_Elab_Term_MutualClosure_Replacement_apply_match__1___rarg(le
lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__1(lean_object*, size_t, size_t, lean_object*);
lean_object* l_Lean_Elab_Term_MutualClosure_pushMain___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_expr_update_proj(lean_object*, lean_object*);
lean_object* l_Lean_PersistentEnvExtension_addEntry___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_elabBinders___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -375,12 +363,10 @@ lean_object* l_Array_umapMAux___main___at_Lean_Elab_Command_elabMutualDef___spec
lean_object* l_List_forM___main___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_fixpoint___spec__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at_Lean_Elab_Term_MutualClosure_main___spec__8(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_updateUsedVarsOf_match__2___rarg(lean_object*, lean_object*, lean_object*);
-lean_object* l_Array_umapMAux___main___at_Lean_Elab_Term_MutualClosure_main___spec__8___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withUsedWhen_match__1(lean_object*);
lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkModifiers___closed__1;
lean_object* l_Array_umapMAux___main___at_Lean_Elab_Term_MutualClosure_main___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_getLocalDecl___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-size_t l_USize_mod(size_t, size_t);
lean_object* l_Lean_Elab_Term_MutualClosure_ClosureState_localDecls___default;
lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_getUsedFVarsMap(lean_object*);
lean_object* l_List_foldl___main___at_Lean_Elab_Term_MutualClosure_pushLetRecs___spec__1(uint8_t, lean_object*, lean_object*, lean_object*);
@@ -393,7 +379,6 @@ extern lean_object* l_Lean_Expr_FindImpl_initCache;
lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosureFor___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*);
extern lean_object* l_Lean_Elab_elabAttr___rarg___closed__3;
lean_object* l_Lean_Elab_DefViewElabHeader_inhabited___closed__1;
-size_t lean_ptr_addr(lean_object*);
lean_object* l_Lean_Elab_Term_MutualClosure_Replacement_apply_match__1(lean_object*);
lean_object* l_Std_PersistentArray_push___rarg(lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureFor(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -425,7 +410,6 @@ lean_object* l_Lean_Elab_Term_elabMutualDef___lambda__1(lean_object*, lean_objec
lean_object* l_Lean_Elab_elabModifiers___at_Lean_Elab_Command_elabMutualDef___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at_Lean_Elab_Command_elabMutualDef___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Syntax_getArgs(lean_object*);
lean_object* l_Lean_Meta_throwUnknownFVar___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_typeHasRecFun(lean_object*, lean_object*, lean_object*);
@@ -478,7 +462,6 @@ lean_object* l_Lean_Elab_Term_MutualClosure_getModifiersForLetRecs___boxed(lean_
lean_object* l_Lean_Elab_elabModifiers___at_Lean_Elab_Command_elabMutualDef___spec__1___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_elabMutualDef___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*, lean_object*);
lean_object* l_List_forInAux___main___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* lean_expr_update_lambda(lean_object*, uint8_t, lean_object*, lean_object*);
extern lean_object* l_Lean_Meta_Match_Pattern_toMessageData___closed__6;
lean_object* l_Lean_Meta_getZetaFVarIds___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_isModified___rarg(lean_object*);
@@ -506,7 +489,6 @@ lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_collectUsed(lean_
lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_fixpoint___boxed(lean_object*);
lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkKinds___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* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___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* l_List_map___main___at_Lean_Elab_Term_MutualClosure_main___spec__9___boxed(lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_fixpoint___rarg(lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_modifyUsedFVars(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_addMessageContextFull___at_Lean_Meta_Lean_Meta_Basic___instance__7___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -537,6 +519,7 @@ lean_object* l_List_toArrayAux___main___rarg(lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_resetZetaFVarIds___at_Lean_Elab_Term_MutualClosure_main___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_unsafeCast(lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_mkAppN___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_local_ctx_find(lean_object*, lean_object*);
lean_object* l_List_forM___main___at_Lean_Elab_Term_MutualClosure_main___spec__3___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -546,7 +529,6 @@ uint8_t l_Lean_Elab_isFreshInstanceName(lean_object*);
lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkModifiers___closed__3;
lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_removeUnusedVars_match__1(lean_object*);
lean_object* l_Lean_Elab_fixLevelParams(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* lean_expr_update_app(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Array_anyRangeMAux___main___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_isTheorem___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -569,6 +551,7 @@ lean_object* l_Lean_Meta_mkForallFVars___at_Lean_Elab_Term_elabForall___spec__2(
lean_object* l_Lean_Elab_Term_MutualClosure_getKindForLetRecs___boxed(lean_object*);
lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkLetRecsToLiftTypes_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_anyRangeMAux___main___at_Lean_Elab_Term_MutualClosure_getKindForLetRecs___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(lean_object*, size_t, lean_object*, lean_object*);
lean_object* l_Lean_Elab_DefViewElabHeader_inhabited;
lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_pickMaxFVar_x3f(lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkKinds___closed__3;
@@ -595,7 +578,6 @@ extern lean_object* l_Lean_Expr_Lean_Expr___instance__1___closed__1;
lean_object* l_Lean_Elab_Term_MutualClosure_Replacement_apply(lean_object*, lean_object*);
uint8_t lean_nat_dec_lt(lean_object*, lean_object*);
lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabCommand___spec__7___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_monadInhabited___rarg(lean_object*, lean_object*);
static lean_object* _init_l_Lean_Elab_DefViewElabHeader_inhabited___closed__1() {
_start:
{
@@ -8168,7 +8150,7 @@ return x_59;
}
}
}
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___spec__7(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* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___spec__7(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) {
_start:
{
lean_object* x_10; uint8_t x_11; lean_object* x_12; lean_object* x_13;
@@ -8286,7 +8268,7 @@ x_146 = lean_ctor_get(x_140, 1);
lean_inc(x_146);
lean_dec(x_140);
x_147 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___closed__2;
-x_148 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___spec__7(x_147, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_146);
+x_148 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___spec__7(x_147, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_146);
x_149 = lean_ctor_get(x_148, 0);
lean_inc(x_149);
x_150 = lean_ctor_get(x_148, 1);
@@ -8824,11 +8806,11 @@ lean_dec(x_3);
return x_11;
}
}
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___spec__7___boxed(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* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___spec__7___boxed(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) {
_start:
{
lean_object* x_10;
-x_10 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___spec__7(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
+x_10 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___spec__7(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
@@ -10153,837 +10135,61 @@ goto _start;
}
}
}
-static lean_object* _init_l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_Term_MutualClosure_Replacement_apply___spec__2___closed__1() {
+lean_object* l_Lean_Elab_Term_MutualClosure_Replacement_apply___lambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l___private_Lean_Util_SCC_0__Lean_SCC_sccAux___rarg___closed__1;
-x_2 = l_Lean_Expr_Lean_Expr___instance__1;
-x_3 = l_monadInhabited___rarg(x_1, x_2);
-return x_3;
-}
-}
-lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_Term_MutualClosure_Replacement_apply___spec__2(lean_object* x_1, size_t x_2, lean_object* x_3, lean_object* x_4) {
-_start:
+if (lean_obj_tag(x_2) == 1)
{
-size_t x_5; size_t x_6; lean_object* x_7; lean_object* x_236; lean_object* x_237; size_t x_238; uint8_t x_239;
-x_5 = lean_ptr_addr(x_3);
-x_6 = x_2 == 0 ? 0 : x_5 % x_2;
-x_236 = lean_ctor_get(x_4, 0);
-lean_inc(x_236);
-x_237 = lean_array_uget(x_236, x_6);
-x_238 = lean_ptr_addr(x_237);
-lean_dec(x_237);
-x_239 = x_238 == x_5;
-if (x_239 == 0)
+lean_object* x_3; lean_object* x_4;
+x_3 = lean_ctor_get(x_2, 0);
+x_4 = l_Std_RBNode_find___at_Lean_Elab_Term_MutualClosure_Replacement_apply___spec__1(x_1, x_3);
+if (lean_obj_tag(x_4) == 0)
{
-if (lean_obj_tag(x_3) == 1)
-{
-lean_object* x_240; lean_object* x_241;
-x_240 = lean_ctor_get(x_3, 0);
-lean_inc(x_240);
-x_241 = l_Std_RBNode_find___at_Lean_Elab_Term_MutualClosure_Replacement_apply___spec__1(x_1, x_240);
-lean_dec(x_240);
-if (lean_obj_tag(x_241) == 0)
-{
-lean_object* x_242;
-lean_dec(x_236);
-x_242 = lean_box(0);
-x_7 = x_242;
-goto block_235;
+lean_object* x_5;
+x_5 = lean_box(0);
+return x_5;
}
else
{
-lean_object* x_243; lean_object* x_244; lean_object* x_245; lean_object* x_246; lean_object* x_247; lean_object* x_248;
-x_243 = lean_ctor_get(x_241, 0);
-lean_inc(x_243);
-lean_dec(x_241);
-x_244 = lean_array_uset(x_236, x_6, x_3);
-x_245 = lean_ctor_get(x_4, 1);
-lean_inc(x_245);
+uint8_t x_6;
+x_6 = !lean_is_exclusive(x_4);
+if (x_6 == 0)
+{
+return x_4;
+}
+else
+{
+lean_object* x_7; lean_object* x_8;
+x_7 = lean_ctor_get(x_4, 0);
+lean_inc(x_7);
lean_dec(x_4);
-lean_inc(x_243);
-x_246 = lean_array_uset(x_245, x_6, x_243);
-x_247 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_247, 0, x_244);
-lean_ctor_set(x_247, 1, x_246);
-x_248 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_248, 0, x_243);
-lean_ctor_set(x_248, 1, x_247);
-return x_248;
+x_8 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_8, 0, x_7);
+return x_8;
+}
}
}
else
{
-lean_object* x_249;
-lean_dec(x_236);
-x_249 = lean_box(0);
-x_7 = x_249;
-goto block_235;
-}
-}
-else
-{
-lean_object* x_250; lean_object* x_251; lean_object* x_252;
-lean_dec(x_236);
-lean_dec(x_3);
-x_250 = lean_ctor_get(x_4, 1);
-lean_inc(x_250);
-x_251 = lean_array_uget(x_250, x_6);
-lean_dec(x_250);
-x_252 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_252, 0, x_251);
-lean_ctor_set(x_252, 1, x_4);
-return x_252;
-}
-block_235:
-{
-lean_dec(x_7);
-switch (lean_obj_tag(x_3)) {
-case 5:
-{
-lean_object* x_8; lean_object* x_9; uint64_t x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; uint8_t x_15;
-x_8 = lean_ctor_get(x_3, 0);
-lean_inc(x_8);
-x_9 = lean_ctor_get(x_3, 1);
-lean_inc(x_9);
-x_10 = lean_ctor_get_uint64(x_3, sizeof(void*)*2);
-lean_inc(x_8);
-x_11 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_Term_MutualClosure_Replacement_apply___spec__2(x_1, x_2, x_8, x_4);
-x_12 = lean_ctor_get(x_11, 0);
-lean_inc(x_12);
-x_13 = lean_ctor_get(x_11, 1);
-lean_inc(x_13);
-lean_dec(x_11);
-lean_inc(x_9);
-x_14 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_Term_MutualClosure_Replacement_apply___spec__2(x_1, x_2, x_9, x_13);
-x_15 = !lean_is_exclusive(x_14);
-if (x_15 == 0)
-{
-lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20;
-x_16 = lean_ctor_get(x_14, 0);
-x_17 = lean_ctor_get(x_14, 1);
-x_18 = lean_ctor_get(x_17, 0);
-lean_inc(x_18);
-lean_inc(x_3);
-x_19 = lean_array_uset(x_18, x_6, x_3);
-x_20 = !lean_is_exclusive(x_3);
-if (x_20 == 0)
-{
-lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26;
-x_21 = lean_ctor_get(x_3, 1);
-lean_dec(x_21);
-x_22 = lean_ctor_get(x_3, 0);
-lean_dec(x_22);
-x_23 = lean_ctor_get(x_17, 1);
-lean_inc(x_23);
-lean_dec(x_17);
-x_24 = lean_expr_update_app(x_3, x_12, x_16);
-lean_inc(x_24);
-x_25 = lean_array_uset(x_23, x_6, x_24);
-x_26 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_26, 0, x_19);
-lean_ctor_set(x_26, 1, x_25);
-lean_ctor_set(x_14, 1, x_26);
-lean_ctor_set(x_14, 0, x_24);
-return x_14;
-}
-else
-{
-lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31;
-lean_dec(x_3);
-x_27 = lean_ctor_get(x_17, 1);
-lean_inc(x_27);
-lean_dec(x_17);
-x_28 = lean_alloc_ctor(5, 2, 8);
-lean_ctor_set(x_28, 0, x_8);
-lean_ctor_set(x_28, 1, x_9);
-lean_ctor_set_uint64(x_28, sizeof(void*)*2, x_10);
-x_29 = lean_expr_update_app(x_28, x_12, x_16);
-lean_inc(x_29);
-x_30 = lean_array_uset(x_27, x_6, x_29);
-x_31 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_31, 0, x_19);
-lean_ctor_set(x_31, 1, x_30);
-lean_ctor_set(x_14, 1, x_31);
-lean_ctor_set(x_14, 0, x_29);
-return x_14;
-}
-}
-else
-{
-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;
-x_32 = lean_ctor_get(x_14, 0);
-x_33 = lean_ctor_get(x_14, 1);
-lean_inc(x_33);
-lean_inc(x_32);
-lean_dec(x_14);
-x_34 = lean_ctor_get(x_33, 0);
-lean_inc(x_34);
-lean_inc(x_3);
-x_35 = lean_array_uset(x_34, x_6, x_3);
-if (lean_is_exclusive(x_3)) {
- lean_ctor_release(x_3, 0);
- lean_ctor_release(x_3, 1);
- x_36 = x_3;
-} else {
- lean_dec_ref(x_3);
- x_36 = lean_box(0);
-}
-x_37 = lean_ctor_get(x_33, 1);
-lean_inc(x_37);
-lean_dec(x_33);
-if (lean_is_scalar(x_36)) {
- x_38 = lean_alloc_ctor(5, 2, 8);
-} else {
- x_38 = x_36;
-}
-lean_ctor_set(x_38, 0, x_8);
-lean_ctor_set(x_38, 1, x_9);
-lean_ctor_set_uint64(x_38, sizeof(void*)*2, x_10);
-x_39 = lean_expr_update_app(x_38, x_12, x_32);
-lean_inc(x_39);
-x_40 = lean_array_uset(x_37, x_6, x_39);
-x_41 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_41, 0, x_35);
-lean_ctor_set(x_41, 1, x_40);
-x_42 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_42, 0, x_39);
-lean_ctor_set(x_42, 1, x_41);
-return x_42;
-}
-}
-case 6:
-{
-lean_object* x_43; lean_object* x_44; lean_object* x_45; uint64_t x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; uint8_t x_51;
-x_43 = lean_ctor_get(x_3, 0);
-lean_inc(x_43);
-x_44 = lean_ctor_get(x_3, 1);
-lean_inc(x_44);
-x_45 = lean_ctor_get(x_3, 2);
-lean_inc(x_45);
-x_46 = lean_ctor_get_uint64(x_3, sizeof(void*)*3);
-lean_inc(x_44);
-x_47 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_Term_MutualClosure_Replacement_apply___spec__2(x_1, x_2, x_44, x_4);
-x_48 = lean_ctor_get(x_47, 0);
-lean_inc(x_48);
-x_49 = lean_ctor_get(x_47, 1);
-lean_inc(x_49);
-lean_dec(x_47);
-lean_inc(x_45);
-x_50 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_Term_MutualClosure_Replacement_apply___spec__2(x_1, x_2, x_45, x_49);
-x_51 = !lean_is_exclusive(x_50);
-if (x_51 == 0)
-{
-lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; uint8_t x_56;
-x_52 = lean_ctor_get(x_50, 0);
-x_53 = lean_ctor_get(x_50, 1);
-x_54 = lean_ctor_get(x_53, 0);
-lean_inc(x_54);
-lean_inc(x_3);
-x_55 = lean_array_uset(x_54, x_6, x_3);
-x_56 = !lean_is_exclusive(x_3);
-if (x_56 == 0)
-{
-lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; uint8_t x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64;
-x_57 = lean_ctor_get(x_3, 2);
-lean_dec(x_57);
-x_58 = lean_ctor_get(x_3, 1);
-lean_dec(x_58);
-x_59 = lean_ctor_get(x_3, 0);
-lean_dec(x_59);
-x_60 = lean_ctor_get(x_53, 1);
-lean_inc(x_60);
-lean_dec(x_53);
-x_61 = (uint8_t)((x_46 << 24) >> 61);
-x_62 = lean_expr_update_lambda(x_3, x_61, x_48, x_52);
-lean_inc(x_62);
-x_63 = lean_array_uset(x_60, x_6, x_62);
-x_64 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_64, 0, x_55);
-lean_ctor_set(x_64, 1, x_63);
-lean_ctor_set(x_50, 1, x_64);
-lean_ctor_set(x_50, 0, x_62);
-return x_50;
-}
-else
-{
-lean_object* x_65; lean_object* x_66; uint8_t x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70;
-lean_dec(x_3);
-x_65 = lean_ctor_get(x_53, 1);
-lean_inc(x_65);
-lean_dec(x_53);
-x_66 = lean_alloc_ctor(6, 3, 8);
-lean_ctor_set(x_66, 0, x_43);
-lean_ctor_set(x_66, 1, x_44);
-lean_ctor_set(x_66, 2, x_45);
-lean_ctor_set_uint64(x_66, sizeof(void*)*3, x_46);
-x_67 = (uint8_t)((x_46 << 24) >> 61);
-x_68 = lean_expr_update_lambda(x_66, x_67, x_48, x_52);
-lean_inc(x_68);
-x_69 = lean_array_uset(x_65, x_6, x_68);
-x_70 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_70, 0, x_55);
-lean_ctor_set(x_70, 1, x_69);
-lean_ctor_set(x_50, 1, x_70);
-lean_ctor_set(x_50, 0, x_68);
-return x_50;
-}
-}
-else
-{
-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; uint8_t x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82;
-x_71 = lean_ctor_get(x_50, 0);
-x_72 = lean_ctor_get(x_50, 1);
-lean_inc(x_72);
-lean_inc(x_71);
-lean_dec(x_50);
-x_73 = lean_ctor_get(x_72, 0);
-lean_inc(x_73);
-lean_inc(x_3);
-x_74 = lean_array_uset(x_73, x_6, x_3);
-if (lean_is_exclusive(x_3)) {
- lean_ctor_release(x_3, 0);
- lean_ctor_release(x_3, 1);
- lean_ctor_release(x_3, 2);
- x_75 = x_3;
-} else {
- lean_dec_ref(x_3);
- x_75 = lean_box(0);
-}
-x_76 = lean_ctor_get(x_72, 1);
-lean_inc(x_76);
-lean_dec(x_72);
-if (lean_is_scalar(x_75)) {
- x_77 = lean_alloc_ctor(6, 3, 8);
-} else {
- x_77 = x_75;
-}
-lean_ctor_set(x_77, 0, x_43);
-lean_ctor_set(x_77, 1, x_44);
-lean_ctor_set(x_77, 2, x_45);
-lean_ctor_set_uint64(x_77, sizeof(void*)*3, x_46);
-x_78 = (uint8_t)((x_46 << 24) >> 61);
-x_79 = lean_expr_update_lambda(x_77, x_78, x_48, x_71);
-lean_inc(x_79);
-x_80 = lean_array_uset(x_76, x_6, x_79);
-x_81 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_81, 0, x_74);
-lean_ctor_set(x_81, 1, x_80);
-x_82 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_82, 0, x_79);
-lean_ctor_set(x_82, 1, x_81);
-return x_82;
-}
-}
-case 7:
-{
-lean_object* x_83; lean_object* x_84; lean_object* x_85; uint64_t x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; uint8_t x_91;
-x_83 = lean_ctor_get(x_3, 0);
-lean_inc(x_83);
-x_84 = lean_ctor_get(x_3, 1);
-lean_inc(x_84);
-x_85 = lean_ctor_get(x_3, 2);
-lean_inc(x_85);
-x_86 = lean_ctor_get_uint64(x_3, sizeof(void*)*3);
-lean_inc(x_84);
-x_87 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_Term_MutualClosure_Replacement_apply___spec__2(x_1, x_2, x_84, x_4);
-x_88 = lean_ctor_get(x_87, 0);
-lean_inc(x_88);
-x_89 = lean_ctor_get(x_87, 1);
-lean_inc(x_89);
-lean_dec(x_87);
-lean_inc(x_85);
-x_90 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_Term_MutualClosure_Replacement_apply___spec__2(x_1, x_2, x_85, x_89);
-x_91 = !lean_is_exclusive(x_90);
-if (x_91 == 0)
-{
-lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; uint8_t x_96;
-x_92 = lean_ctor_get(x_90, 0);
-x_93 = lean_ctor_get(x_90, 1);
-x_94 = lean_ctor_get(x_93, 0);
-lean_inc(x_94);
-lean_inc(x_3);
-x_95 = lean_array_uset(x_94, x_6, x_3);
-x_96 = !lean_is_exclusive(x_3);
-if (x_96 == 0)
-{
-lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; uint8_t x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104;
-x_97 = lean_ctor_get(x_3, 2);
-lean_dec(x_97);
-x_98 = lean_ctor_get(x_3, 1);
-lean_dec(x_98);
-x_99 = lean_ctor_get(x_3, 0);
-lean_dec(x_99);
-x_100 = lean_ctor_get(x_93, 1);
-lean_inc(x_100);
-lean_dec(x_93);
-x_101 = (uint8_t)((x_86 << 24) >> 61);
-x_102 = lean_expr_update_forall(x_3, x_101, x_88, x_92);
-lean_inc(x_102);
-x_103 = lean_array_uset(x_100, x_6, x_102);
-x_104 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_104, 0, x_95);
-lean_ctor_set(x_104, 1, x_103);
-lean_ctor_set(x_90, 1, x_104);
-lean_ctor_set(x_90, 0, x_102);
-return x_90;
-}
-else
-{
-lean_object* x_105; lean_object* x_106; uint8_t x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110;
-lean_dec(x_3);
-x_105 = lean_ctor_get(x_93, 1);
-lean_inc(x_105);
-lean_dec(x_93);
-x_106 = lean_alloc_ctor(7, 3, 8);
-lean_ctor_set(x_106, 0, x_83);
-lean_ctor_set(x_106, 1, x_84);
-lean_ctor_set(x_106, 2, x_85);
-lean_ctor_set_uint64(x_106, sizeof(void*)*3, x_86);
-x_107 = (uint8_t)((x_86 << 24) >> 61);
-x_108 = lean_expr_update_forall(x_106, x_107, x_88, x_92);
-lean_inc(x_108);
-x_109 = lean_array_uset(x_105, x_6, x_108);
-x_110 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_110, 0, x_95);
-lean_ctor_set(x_110, 1, x_109);
-lean_ctor_set(x_90, 1, x_110);
-lean_ctor_set(x_90, 0, x_108);
-return x_90;
-}
-}
-else
-{
-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; uint8_t x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122;
-x_111 = lean_ctor_get(x_90, 0);
-x_112 = lean_ctor_get(x_90, 1);
-lean_inc(x_112);
-lean_inc(x_111);
-lean_dec(x_90);
-x_113 = lean_ctor_get(x_112, 0);
-lean_inc(x_113);
-lean_inc(x_3);
-x_114 = lean_array_uset(x_113, x_6, x_3);
-if (lean_is_exclusive(x_3)) {
- lean_ctor_release(x_3, 0);
- lean_ctor_release(x_3, 1);
- lean_ctor_release(x_3, 2);
- x_115 = x_3;
-} else {
- lean_dec_ref(x_3);
- x_115 = lean_box(0);
-}
-x_116 = lean_ctor_get(x_112, 1);
-lean_inc(x_116);
-lean_dec(x_112);
-if (lean_is_scalar(x_115)) {
- x_117 = lean_alloc_ctor(7, 3, 8);
-} else {
- x_117 = x_115;
-}
-lean_ctor_set(x_117, 0, x_83);
-lean_ctor_set(x_117, 1, x_84);
-lean_ctor_set(x_117, 2, x_85);
-lean_ctor_set_uint64(x_117, sizeof(void*)*3, x_86);
-x_118 = (uint8_t)((x_86 << 24) >> 61);
-x_119 = lean_expr_update_forall(x_117, x_118, x_88, x_111);
-lean_inc(x_119);
-x_120 = lean_array_uset(x_116, x_6, x_119);
-x_121 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_121, 0, x_114);
-lean_ctor_set(x_121, 1, x_120);
-x_122 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_122, 0, x_119);
-lean_ctor_set(x_122, 1, x_121);
-return x_122;
-}
-}
-case 8:
-{
-lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; uint64_t 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; lean_object* x_134; uint8_t x_135;
-x_123 = lean_ctor_get(x_3, 0);
-lean_inc(x_123);
-x_124 = lean_ctor_get(x_3, 1);
-lean_inc(x_124);
-x_125 = lean_ctor_get(x_3, 2);
-lean_inc(x_125);
-x_126 = lean_ctor_get(x_3, 3);
-lean_inc(x_126);
-x_127 = lean_ctor_get_uint64(x_3, sizeof(void*)*4);
-lean_inc(x_124);
-x_128 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_Term_MutualClosure_Replacement_apply___spec__2(x_1, x_2, x_124, x_4);
-x_129 = lean_ctor_get(x_128, 0);
-lean_inc(x_129);
-x_130 = lean_ctor_get(x_128, 1);
-lean_inc(x_130);
-lean_dec(x_128);
-lean_inc(x_125);
-x_131 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_Term_MutualClosure_Replacement_apply___spec__2(x_1, x_2, x_125, x_130);
-x_132 = lean_ctor_get(x_131, 0);
-lean_inc(x_132);
-x_133 = lean_ctor_get(x_131, 1);
-lean_inc(x_133);
-lean_dec(x_131);
-lean_inc(x_126);
-x_134 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_Term_MutualClosure_Replacement_apply___spec__2(x_1, x_2, x_126, x_133);
-x_135 = !lean_is_exclusive(x_134);
-if (x_135 == 0)
-{
-lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; uint8_t x_140;
-x_136 = lean_ctor_get(x_134, 0);
-x_137 = lean_ctor_get(x_134, 1);
-x_138 = lean_ctor_get(x_137, 0);
-lean_inc(x_138);
-lean_inc(x_3);
-x_139 = lean_array_uset(x_138, x_6, x_3);
-x_140 = !lean_is_exclusive(x_3);
-if (x_140 == 0)
-{
-lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148;
-x_141 = lean_ctor_get(x_3, 3);
-lean_dec(x_141);
-x_142 = lean_ctor_get(x_3, 2);
-lean_dec(x_142);
-x_143 = lean_ctor_get(x_3, 1);
-lean_dec(x_143);
-x_144 = lean_ctor_get(x_3, 0);
-lean_dec(x_144);
-x_145 = lean_ctor_get(x_137, 1);
-lean_inc(x_145);
-lean_dec(x_137);
-x_146 = lean_expr_update_let(x_3, x_129, x_132, x_136);
-lean_inc(x_146);
-x_147 = lean_array_uset(x_145, x_6, x_146);
-x_148 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_148, 0, x_139);
-lean_ctor_set(x_148, 1, x_147);
-lean_ctor_set(x_134, 1, x_148);
-lean_ctor_set(x_134, 0, x_146);
-return x_134;
-}
-else
-{
-lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153;
-lean_dec(x_3);
-x_149 = lean_ctor_get(x_137, 1);
-lean_inc(x_149);
-lean_dec(x_137);
-x_150 = lean_alloc_ctor(8, 4, 8);
-lean_ctor_set(x_150, 0, x_123);
-lean_ctor_set(x_150, 1, x_124);
-lean_ctor_set(x_150, 2, x_125);
-lean_ctor_set(x_150, 3, x_126);
-lean_ctor_set_uint64(x_150, sizeof(void*)*4, x_127);
-x_151 = lean_expr_update_let(x_150, x_129, x_132, x_136);
-lean_inc(x_151);
-x_152 = lean_array_uset(x_149, x_6, x_151);
-x_153 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_153, 0, x_139);
-lean_ctor_set(x_153, 1, x_152);
-lean_ctor_set(x_134, 1, x_153);
-lean_ctor_set(x_134, 0, x_151);
-return x_134;
-}
-}
-else
-{
-lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164;
-x_154 = lean_ctor_get(x_134, 0);
-x_155 = lean_ctor_get(x_134, 1);
-lean_inc(x_155);
-lean_inc(x_154);
-lean_dec(x_134);
-x_156 = lean_ctor_get(x_155, 0);
-lean_inc(x_156);
-lean_inc(x_3);
-x_157 = lean_array_uset(x_156, x_6, x_3);
-if (lean_is_exclusive(x_3)) {
- lean_ctor_release(x_3, 0);
- lean_ctor_release(x_3, 1);
- lean_ctor_release(x_3, 2);
- lean_ctor_release(x_3, 3);
- x_158 = x_3;
-} else {
- lean_dec_ref(x_3);
- x_158 = lean_box(0);
-}
-x_159 = lean_ctor_get(x_155, 1);
-lean_inc(x_159);
-lean_dec(x_155);
-if (lean_is_scalar(x_158)) {
- x_160 = lean_alloc_ctor(8, 4, 8);
-} else {
- x_160 = x_158;
-}
-lean_ctor_set(x_160, 0, x_123);
-lean_ctor_set(x_160, 1, x_124);
-lean_ctor_set(x_160, 2, x_125);
-lean_ctor_set(x_160, 3, x_126);
-lean_ctor_set_uint64(x_160, sizeof(void*)*4, x_127);
-x_161 = lean_expr_update_let(x_160, x_129, x_132, x_154);
-lean_inc(x_161);
-x_162 = lean_array_uset(x_159, x_6, x_161);
-x_163 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_163, 0, x_157);
-lean_ctor_set(x_163, 1, x_162);
-x_164 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_164, 0, x_161);
-lean_ctor_set(x_164, 1, x_163);
-return x_164;
-}
-}
-case 10:
-{
-lean_object* x_165; lean_object* x_166; uint64_t x_167; lean_object* x_168; uint8_t x_169;
-x_165 = lean_ctor_get(x_3, 0);
-lean_inc(x_165);
-x_166 = lean_ctor_get(x_3, 1);
-lean_inc(x_166);
-x_167 = lean_ctor_get_uint64(x_3, sizeof(void*)*2);
-lean_inc(x_166);
-x_168 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_Term_MutualClosure_Replacement_apply___spec__2(x_1, x_2, x_166, x_4);
-x_169 = !lean_is_exclusive(x_168);
-if (x_169 == 0)
-{
-lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; uint8_t x_174;
-x_170 = lean_ctor_get(x_168, 0);
-x_171 = lean_ctor_get(x_168, 1);
-x_172 = lean_ctor_get(x_171, 0);
-lean_inc(x_172);
-lean_inc(x_3);
-x_173 = lean_array_uset(x_172, x_6, x_3);
-x_174 = !lean_is_exclusive(x_3);
-if (x_174 == 0)
-{
-lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180;
-x_175 = lean_ctor_get(x_3, 1);
-lean_dec(x_175);
-x_176 = lean_ctor_get(x_3, 0);
-lean_dec(x_176);
-x_177 = lean_ctor_get(x_171, 1);
-lean_inc(x_177);
-lean_dec(x_171);
-x_178 = lean_expr_update_mdata(x_3, x_170);
-lean_inc(x_178);
-x_179 = lean_array_uset(x_177, x_6, x_178);
-x_180 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_180, 0, x_173);
-lean_ctor_set(x_180, 1, x_179);
-lean_ctor_set(x_168, 1, x_180);
-lean_ctor_set(x_168, 0, x_178);
-return x_168;
-}
-else
-{
-lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185;
-lean_dec(x_3);
-x_181 = lean_ctor_get(x_171, 1);
-lean_inc(x_181);
-lean_dec(x_171);
-x_182 = lean_alloc_ctor(10, 2, 8);
-lean_ctor_set(x_182, 0, x_165);
-lean_ctor_set(x_182, 1, x_166);
-lean_ctor_set_uint64(x_182, sizeof(void*)*2, x_167);
-x_183 = lean_expr_update_mdata(x_182, x_170);
-lean_inc(x_183);
-x_184 = lean_array_uset(x_181, x_6, x_183);
-x_185 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_185, 0, x_173);
-lean_ctor_set(x_185, 1, x_184);
-lean_ctor_set(x_168, 1, x_185);
-lean_ctor_set(x_168, 0, x_183);
-return x_168;
-}
-}
-else
-{
-lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196;
-x_186 = lean_ctor_get(x_168, 0);
-x_187 = lean_ctor_get(x_168, 1);
-lean_inc(x_187);
-lean_inc(x_186);
-lean_dec(x_168);
-x_188 = lean_ctor_get(x_187, 0);
-lean_inc(x_188);
-lean_inc(x_3);
-x_189 = lean_array_uset(x_188, x_6, x_3);
-if (lean_is_exclusive(x_3)) {
- lean_ctor_release(x_3, 0);
- lean_ctor_release(x_3, 1);
- x_190 = x_3;
-} else {
- lean_dec_ref(x_3);
- x_190 = lean_box(0);
-}
-x_191 = lean_ctor_get(x_187, 1);
-lean_inc(x_191);
-lean_dec(x_187);
-if (lean_is_scalar(x_190)) {
- x_192 = lean_alloc_ctor(10, 2, 8);
-} else {
- x_192 = x_190;
-}
-lean_ctor_set(x_192, 0, x_165);
-lean_ctor_set(x_192, 1, x_166);
-lean_ctor_set_uint64(x_192, sizeof(void*)*2, x_167);
-x_193 = lean_expr_update_mdata(x_192, x_186);
-lean_inc(x_193);
-x_194 = lean_array_uset(x_191, x_6, x_193);
-x_195 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_195, 0, x_189);
-lean_ctor_set(x_195, 1, x_194);
-x_196 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_196, 0, x_193);
-lean_ctor_set(x_196, 1, x_195);
-return x_196;
-}
-}
-case 11:
-{
-lean_object* x_197; lean_object* x_198; lean_object* x_199; uint64_t x_200; lean_object* x_201; uint8_t x_202;
-x_197 = lean_ctor_get(x_3, 0);
-lean_inc(x_197);
-x_198 = lean_ctor_get(x_3, 1);
-lean_inc(x_198);
-x_199 = lean_ctor_get(x_3, 2);
-lean_inc(x_199);
-x_200 = lean_ctor_get_uint64(x_3, sizeof(void*)*3);
-lean_inc(x_199);
-x_201 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_Term_MutualClosure_Replacement_apply___spec__2(x_1, x_2, x_199, x_4);
-x_202 = !lean_is_exclusive(x_201);
-if (x_202 == 0)
-{
-lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; uint8_t x_207;
-x_203 = lean_ctor_get(x_201, 0);
-x_204 = lean_ctor_get(x_201, 1);
-x_205 = lean_ctor_get(x_204, 0);
-lean_inc(x_205);
-lean_inc(x_3);
-x_206 = lean_array_uset(x_205, x_6, x_3);
-x_207 = !lean_is_exclusive(x_3);
-if (x_207 == 0)
-{
-lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214;
-x_208 = lean_ctor_get(x_3, 2);
-lean_dec(x_208);
-x_209 = lean_ctor_get(x_3, 1);
-lean_dec(x_209);
-x_210 = lean_ctor_get(x_3, 0);
-lean_dec(x_210);
-x_211 = lean_ctor_get(x_204, 1);
-lean_inc(x_211);
-lean_dec(x_204);
-x_212 = lean_expr_update_proj(x_3, x_203);
-lean_inc(x_212);
-x_213 = lean_array_uset(x_211, x_6, x_212);
-x_214 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_214, 0, x_206);
-lean_ctor_set(x_214, 1, x_213);
-lean_ctor_set(x_201, 1, x_214);
-lean_ctor_set(x_201, 0, x_212);
-return x_201;
-}
-else
-{
-lean_object* x_215; lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219;
-lean_dec(x_3);
-x_215 = lean_ctor_get(x_204, 1);
-lean_inc(x_215);
-lean_dec(x_204);
-x_216 = lean_alloc_ctor(11, 3, 8);
-lean_ctor_set(x_216, 0, x_197);
-lean_ctor_set(x_216, 1, x_198);
-lean_ctor_set(x_216, 2, x_199);
-lean_ctor_set_uint64(x_216, sizeof(void*)*3, x_200);
-x_217 = lean_expr_update_proj(x_216, x_203);
-lean_inc(x_217);
-x_218 = lean_array_uset(x_215, x_6, x_217);
-x_219 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_219, 0, x_206);
-lean_ctor_set(x_219, 1, x_218);
-lean_ctor_set(x_201, 1, x_219);
-lean_ctor_set(x_201, 0, x_217);
-return x_201;
-}
-}
-else
-{
-lean_object* x_220; lean_object* x_221; lean_object* x_222; lean_object* x_223; lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; lean_object* x_228; lean_object* x_229; lean_object* x_230;
-x_220 = lean_ctor_get(x_201, 0);
-x_221 = lean_ctor_get(x_201, 1);
-lean_inc(x_221);
-lean_inc(x_220);
-lean_dec(x_201);
-x_222 = lean_ctor_get(x_221, 0);
-lean_inc(x_222);
-lean_inc(x_3);
-x_223 = lean_array_uset(x_222, x_6, x_3);
-if (lean_is_exclusive(x_3)) {
- lean_ctor_release(x_3, 0);
- lean_ctor_release(x_3, 1);
- lean_ctor_release(x_3, 2);
- x_224 = x_3;
-} else {
- lean_dec_ref(x_3);
- x_224 = lean_box(0);
-}
-x_225 = lean_ctor_get(x_221, 1);
-lean_inc(x_225);
-lean_dec(x_221);
-if (lean_is_scalar(x_224)) {
- x_226 = lean_alloc_ctor(11, 3, 8);
-} else {
- x_226 = x_224;
-}
-lean_ctor_set(x_226, 0, x_197);
-lean_ctor_set(x_226, 1, x_198);
-lean_ctor_set(x_226, 2, x_199);
-lean_ctor_set_uint64(x_226, sizeof(void*)*3, x_200);
-x_227 = lean_expr_update_proj(x_226, x_220);
-lean_inc(x_227);
-x_228 = lean_array_uset(x_225, x_6, x_227);
-x_229 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_229, 0, x_223);
-lean_ctor_set(x_229, 1, x_228);
-x_230 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_230, 0, x_227);
-lean_ctor_set(x_230, 1, x_229);
-return x_230;
-}
-}
-case 12:
-{
-lean_object* x_231; lean_object* x_232; lean_object* x_233;
-lean_dec(x_3);
-x_231 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_Term_MutualClosure_Replacement_apply___spec__2___closed__1;
-x_232 = l_unreachable_x21___rarg(x_231);
-x_233 = lean_apply_1(x_232, x_4);
-return x_233;
-}
-default:
-{
-lean_object* x_234;
-x_234 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_234, 0, x_3);
-lean_ctor_set(x_234, 1, x_4);
-return x_234;
-}
-}
+lean_object* x_9;
+x_9 = lean_box(0);
+return x_9;
}
}
}
lean_object* l_Lean_Elab_Term_MutualClosure_Replacement_apply(lean_object* x_1, lean_object* x_2) {
_start:
{
-size_t x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
-x_3 = 8192;
-x_4 = l_Lean_Expr_ReplaceImpl_initCache;
-x_5 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_Term_MutualClosure_Replacement_apply___spec__2(x_1, x_3, x_2, x_4);
-x_6 = lean_ctor_get(x_5, 0);
-lean_inc(x_6);
-lean_dec(x_5);
-return x_6;
+lean_object* x_3; size_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Elab_Term_MutualClosure_Replacement_apply___lambda__1___boxed), 2, 1);
+lean_closure_set(x_3, 0, x_1);
+x_4 = 8192;
+x_5 = l_Lean_Expr_ReplaceImpl_initCache;
+x_6 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(x_3, x_4, x_2, x_5);
+x_7 = lean_ctor_get(x_6, 0);
+lean_inc(x_7);
+lean_dec(x_6);
+return x_7;
}
}
lean_object* l_Std_RBNode_find___at_Lean_Elab_Term_MutualClosure_Replacement_apply___spec__1___boxed(lean_object* x_1, lean_object* x_2) {
@@ -10996,22 +10202,12 @@ lean_dec(x_1);
return x_3;
}
}
-lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_Term_MutualClosure_Replacement_apply___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
-_start:
-{
-size_t x_5; lean_object* x_6;
-x_5 = lean_unbox_usize(x_2);
-lean_dec(x_2);
-x_6 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_Term_MutualClosure_Replacement_apply___spec__2(x_1, x_5, x_3, x_4);
-lean_dec(x_1);
-return x_6;
-}
-}
-lean_object* l_Lean_Elab_Term_MutualClosure_Replacement_apply___boxed(lean_object* x_1, lean_object* x_2) {
+lean_object* l_Lean_Elab_Term_MutualClosure_Replacement_apply___lambda__1___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
-x_3 = l_Lean_Elab_Term_MutualClosure_Replacement_apply(x_1, x_2);
+x_3 = l_Lean_Elab_Term_MutualClosure_Replacement_apply___lambda__1(x_1, x_2);
+lean_dec(x_2);
lean_dec(x_1);
return x_3;
}
@@ -12038,6 +11234,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
+lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@@ -12048,6 +11245,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
+lean_inc(x_1);
x_11 = l_Lean_Elab_Term_MutualClosure_Replacement_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@@ -12071,6 +11269,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
+lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@@ -12086,6 +11285,7 @@ if (x_11 == 0)
{
lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
x_12 = lean_ctor_get(x_10, 6);
+lean_inc(x_1);
x_13 = l_Lean_Elab_Term_MutualClosure_Replacement_apply(x_1, x_12);
lean_ctor_set(x_10, 6, x_13);
x_14 = lean_unsigned_to_nat(1u);
@@ -12118,6 +11318,7 @@ lean_inc(x_22);
lean_inc(x_20);
lean_inc(x_19);
lean_dec(x_10);
+lean_inc(x_1);
x_28 = l_Lean_Elab_Term_MutualClosure_Replacement_apply(x_1, x_26);
x_29 = lean_alloc_ctor(0, 8, 1);
lean_ctor_set(x_29, 0, x_19);
@@ -12147,6 +11348,7 @@ _start:
if (lean_obj_tag(x_2) == 0)
{
lean_object* x_3;
+lean_dec(x_1);
x_3 = lean_box(0);
return x_3;
}
@@ -12188,6 +11390,7 @@ x_18 = lean_ctor_get(x_5, 9);
lean_inc(x_18);
x_19 = lean_ctor_get(x_5, 7);
lean_inc(x_19);
+lean_inc(x_1);
x_20 = l_Lean_Elab_Term_MutualClosure_Replacement_apply(x_1, x_19);
x_21 = !lean_is_exclusive(x_5);
if (x_21 == 0)
@@ -12212,6 +11415,7 @@ x_30 = lean_ctor_get(x_5, 1);
lean_dec(x_30);
x_31 = lean_ctor_get(x_5, 0);
lean_dec(x_31);
+lean_inc(x_1);
x_32 = l_Lean_Elab_Term_MutualClosure_Replacement_apply(x_1, x_22);
lean_ctor_set(x_5, 8, x_32);
lean_ctor_set(x_5, 7, x_20);
@@ -12225,6 +11429,7 @@ lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
x_34 = lean_ctor_get(x_5, 8);
lean_inc(x_34);
lean_dec(x_5);
+lean_inc(x_1);
x_35 = l_Lean_Elab_Term_MutualClosure_Replacement_apply(x_1, x_34);
x_36 = lean_alloc_ctor(0, 10, 0);
lean_ctor_set(x_36, 0, x_11);
@@ -12269,6 +11474,7 @@ x_47 = lean_ctor_get(x_5, 9);
lean_inc(x_47);
x_48 = lean_ctor_get(x_5, 7);
lean_inc(x_48);
+lean_inc(x_1);
x_49 = l_Lean_Elab_Term_MutualClosure_Replacement_apply(x_1, x_48);
x_50 = lean_ctor_get(x_5, 8);
lean_inc(x_50);
@@ -12288,6 +11494,7 @@ if (lean_is_exclusive(x_5)) {
lean_dec_ref(x_5);
x_51 = lean_box(0);
}
+lean_inc(x_1);
x_52 = l_Lean_Elab_Term_MutualClosure_Replacement_apply(x_1, x_50);
if (lean_is_scalar(x_51)) {
x_53 = lean_alloc_ctor(0, 10, 0);
@@ -12351,6 +11558,7 @@ x_67 = lean_ctor_get(x_5, 9);
lean_inc(x_67);
x_68 = lean_ctor_get(x_5, 7);
lean_inc(x_68);
+lean_inc(x_1);
x_69 = l_Lean_Elab_Term_MutualClosure_Replacement_apply(x_1, x_68);
x_70 = lean_ctor_get(x_5, 8);
lean_inc(x_70);
@@ -12370,6 +11578,7 @@ if (lean_is_exclusive(x_5)) {
lean_dec_ref(x_5);
x_71 = lean_box(0);
}
+lean_inc(x_1);
x_72 = l_Lean_Elab_Term_MutualClosure_Replacement_apply(x_1, x_70);
if (lean_is_scalar(x_71)) {
x_73 = lean_alloc_ctor(0, 10, 0);
@@ -12534,13 +11743,14 @@ lean_dec(x_3);
lean_inc(x_54);
x_58 = l_List_foldl___main___at_Lean_Elab_Term_MutualClosure_insertReplacementForLetRecs___spec__1(x_57, x_54);
x_59 = x_45;
+lean_inc(x_58);
x_60 = l_Array_umapMAux___main___at_Lean_Elab_Term_MutualClosure_main___spec__7(x_58, x_14, x_59);
x_61 = x_60;
x_62 = x_51;
+lean_inc(x_58);
x_63 = l_Array_umapMAux___main___at_Lean_Elab_Term_MutualClosure_main___spec__8(x_58, x_14, x_62);
x_64 = x_63;
x_65 = l_List_map___main___at_Lean_Elab_Term_MutualClosure_main___spec__9(x_58, x_54);
-lean_dec(x_58);
x_66 = l_Lean_Elab_Term_MutualClosure_getKindForLetRecs(x_64);
x_67 = l_Lean_Elab_Term_MutualClosure_getModifiersForLetRecs(x_64);
x_68 = l_Array_empty___closed__1;
@@ -12837,13 +12047,14 @@ lean_dec(x_3);
lean_inc(x_122);
x_126 = l_List_foldl___main___at_Lean_Elab_Term_MutualClosure_insertReplacementForLetRecs___spec__1(x_125, x_122);
x_127 = x_113;
+lean_inc(x_126);
x_128 = l_Array_umapMAux___main___at_Lean_Elab_Term_MutualClosure_main___spec__7(x_126, x_14, x_127);
x_129 = x_128;
x_130 = x_119;
+lean_inc(x_126);
x_131 = l_Array_umapMAux___main___at_Lean_Elab_Term_MutualClosure_main___spec__8(x_126, x_14, x_130);
x_132 = x_131;
x_133 = l_List_map___main___at_Lean_Elab_Term_MutualClosure_main___spec__9(x_126, x_122);
-lean_dec(x_126);
x_134 = l_Lean_Elab_Term_MutualClosure_getKindForLetRecs(x_132);
x_135 = l_Lean_Elab_Term_MutualClosure_getModifiersForLetRecs(x_132);
x_136 = l_Array_empty___closed__1;
@@ -13170,13 +12381,14 @@ lean_dec(x_3);
lean_inc(x_194);
x_198 = l_List_foldl___main___at_Lean_Elab_Term_MutualClosure_insertReplacementForLetRecs___spec__1(x_197, x_194);
x_199 = x_185;
+lean_inc(x_198);
x_200 = l_Array_umapMAux___main___at_Lean_Elab_Term_MutualClosure_main___spec__7(x_198, x_14, x_199);
x_201 = x_200;
x_202 = x_191;
+lean_inc(x_198);
x_203 = l_Array_umapMAux___main___at_Lean_Elab_Term_MutualClosure_main___spec__8(x_198, x_14, x_202);
x_204 = x_203;
x_205 = l_List_map___main___at_Lean_Elab_Term_MutualClosure_main___spec__9(x_198, x_194);
-lean_dec(x_198);
x_206 = l_Lean_Elab_Term_MutualClosure_getKindForLetRecs(x_204);
x_207 = l_Lean_Elab_Term_MutualClosure_getModifiersForLetRecs(x_204);
x_208 = l_Array_empty___closed__1;
@@ -13468,33 +12680,6 @@ lean_dec(x_2);
return x_9;
}
}
-lean_object* l_Array_umapMAux___main___at_Lean_Elab_Term_MutualClosure_main___spec__7___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4;
-x_4 = l_Array_umapMAux___main___at_Lean_Elab_Term_MutualClosure_main___spec__7(x_1, x_2, x_3);
-lean_dec(x_1);
-return x_4;
-}
-}
-lean_object* l_Array_umapMAux___main___at_Lean_Elab_Term_MutualClosure_main___spec__8___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4;
-x_4 = l_Array_umapMAux___main___at_Lean_Elab_Term_MutualClosure_main___spec__8(x_1, x_2, x_3);
-lean_dec(x_1);
-return x_4;
-}
-}
-lean_object* l_List_map___main___at_Lean_Elab_Term_MutualClosure_main___spec__9___boxed(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3;
-x_3 = l_List_map___main___at_Lean_Elab_Term_MutualClosure_main___spec__9(x_1, x_2);
-lean_dec(x_1);
-return x_3;
-}
-}
lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_getAllUserLevelNames(lean_object* x_1) {
_start:
{
@@ -13685,7 +12870,6 @@ x_26 = lean_ctor_get(x_24, 1);
lean_inc(x_26);
lean_dec(x_24);
x_27 = l_Lean_Elab_addPreDefinitions(x_25, x_8, x_9, x_10, x_11, x_12, x_13, x_26);
-lean_dec(x_25);
return x_27;
}
else
@@ -15773,8 +14957,6 @@ l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux_
lean_mark_persistent(l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___closed__5);
l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___closed__6 = _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___closed__6();
lean_mark_persistent(l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___closed__6);
-l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_Term_MutualClosure_Replacement_apply___spec__2___closed__1 = _init_l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_Term_MutualClosure_Replacement_apply___spec__2___closed__1();
-lean_mark_persistent(l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_Term_MutualClosure_Replacement_apply___spec__2___closed__1);
return lean_io_result_mk_ok(lean_box(0));
}
#ifdef __cplusplus
diff --git a/stage0/stdlib/Lean/Elab/PreDefinition/Basic.c b/stage0/stdlib/Lean/Elab/PreDefinition/Basic.c
index 4256fa314f..98710891df 100644
--- a/stage0/stdlib/Lean/Elab/PreDefinition/Basic.c
+++ b/stage0/stdlib/Lean/Elab/PreDefinition/Basic.c
@@ -14,27 +14,17 @@
extern "C" {
#endif
lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_getLevelParamsPreDecls_match__1(lean_object*);
-lean_object* lean_expr_update_forall(lean_object*, uint8_t, lean_object*, lean_object*);
-lean_object* l_Array_umapMAux___main___at_Lean_Elab_addAndCompileUnsafeRec___spec__3(lean_object*, lean_object*, lean_object*);
-lean_object* l_Array_umapMAux___main___at_Lean_Elab_fixLevelParams___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
size_t l_USize_add(size_t, size_t);
extern lean_object* l_Lean_Name_getString_x21___closed__3;
-lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_fixLevelParams___spec__3(lean_object*, lean_object*, lean_object*, size_t, lean_object*, lean_object*);
-lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_addAndCompileUnsafeRec___spec__2(lean_object*, size_t, lean_object*, lean_object*);
lean_object* l_Lean_Elab_addAsAxiom(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at_Lean_Elab_instantiateMVarsAtPreDecls___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_unreachable_x21___rarg(lean_object*);
lean_object* l_Lean_addDecl___at_Lean_Elab_Term_declareTacticSyntax___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_addDecl___at___private_Lean_Meta_Closure_0__Lean_Meta_mkAuxDefinitionImp___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-uint8_t l_USize_decEq(size_t, size_t);
lean_object* lean_array_uget(lean_object*, size_t);
-lean_object* lean_expr_update_mdata(lean_object*, lean_object*);
uint8_t lean_name_eq(lean_object*, lean_object*);
-lean_object* lean_array_uset(lean_object*, size_t, lean_object*);
extern lean_object* l_Lean_Declaration_inhabited;
lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_getLevelParamsPreDecls_match__1___rarg(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Array_empty___closed__1;
-lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_addAndCompileUnsafeRec___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_addAndCompileUnsafeRec_match__1(lean_object*);
lean_object* lean_st_ref_get(lean_object*, lean_object*);
extern lean_object* l_Std_ShareCommon_State_empty;
@@ -52,22 +42,23 @@ lean_object* lean_nat_add(lean_object*, lean_object*);
lean_object* l_Lean_Elab_addAndCompileNonRec___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint32_t l_UInt32_add(uint32_t, uint32_t);
lean_object* l_Lean_Elab_addAndCompileUnsafe(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Array_umapMAux___main___at_Lean_Elab_fixLevelParams___spec__2___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_levelMVarToParamPreDeclsAux___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_fixLevelParams___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_applyAttributesOf(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_ShareCommonT_withShareCommon___at___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_shareCommon___spec__1(lean_object*, lean_object*);
lean_object* lean_array_fget(lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux_match__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Array_umapMAux___main___at_Lean_Elab_addAndCompileUnsafeRec___spec__2___lambda__1___boxed(lean_object*, lean_object*);
lean_object* lean_state_sharecommon(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_levelMVarToParam(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_levelMVarToParamPreDecls(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_List_map___main___at_Lean_Meta_addGlobalInstanceImp___spec__1(lean_object*);
lean_object* l_Lean_Elab_addNonRec(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Array_umapMAux___main___at_Lean_Elab_fixLevelParams___spec__2___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___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_PreDefinition_Basic_0__Lean_Elab_shareCommon(lean_object*);
lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_getLevelParamsPreDecls___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_fixLevelParams___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_st_mk_ref(lean_object*, lean_object*);
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_getLevelParamsPreDecls___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___closed__2;
@@ -84,27 +75,21 @@ lean_object* l_Lean_Elab_abstractNestedProofs(lean_object*, lean_object*, lean_o
lean_object* l_Lean_Elab_sortDeclLevelParams(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_compileDecl___at_Lean_Elab_Term_declareTacticSyntax___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at_Lean_Elab_instantiateMVarsAtPreDecls___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* lean_expr_update_let(lean_object*, lean_object*, lean_object*, lean_object*);
-uint8_t l_Lean_Expr_Data_binderInfo(uint64_t);
+lean_object* l_Array_umapMAux___main___at_Lean_Elab_addAndCompileUnsafeRec___spec__2___lambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Elab_fixLevelParams___boxed(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_PreDefinition_Basic_0__Lean_Elab_levelMVarToParamExpr_match__1(lean_object*);
size_t lean_usize_of_nat(lean_object*);
uint8_t l_Lean_Elab_DefKind_isTheorem(uint8_t);
-lean_object* lean_expr_update_proj(lean_object*, lean_object*);
-lean_object* l_Array_umapMAux___main___at_Lean_Elab_fixLevelParams___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-size_t l_USize_mod(size_t, size_t);
-lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_fixLevelParams___spec__2(lean_object*, lean_object*, lean_object*, size_t, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux_match__1___rarg(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___closed__3;
lean_object* l_Lean_Elab_addAndCompileUnsafeRec___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_levelMVarToParamExpr(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-size_t lean_ptr_addr(lean_object*);
lean_object* l_Lean_Elab_fixLevelParams_match__1___rarg(lean_object*, lean_object*, lean_object*);
+lean_object* l_Array_umapMAux___main___at_Lean_Elab_fixLevelParams___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_CollectLevelParams_State_inhabited___closed__1;
lean_object* l_Lean_Meta_abstractNestedProofs(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_addNonRec___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_addAsAxiom___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Array_umapMAux___main___at_Lean_Elab_addAndCompileUnsafeRec___spec__3___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_addAndCompileUnsafe___boxed(lean_object*, lean_object*, 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_Elab_applyAttributesOf___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -113,7 +98,6 @@ lean_object* l_Lean_Elab_PreDefinition_inhabited___closed__2;
lean_object* l_Lean_Elab_fixLevelParams_match__1(lean_object*);
lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_anyRangeMAux___main___at_Lean_Elab_fixLevelParams___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* lean_expr_update_lambda(lean_object*, uint8_t, lean_object*, lean_object*);
lean_object* l_List_map___main___at_Lean_Elab_addAndCompileUnsafe___spec__1(lean_object*);
lean_object* l_Array_toList___rarg(lean_object*);
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_getLevelParamsPreDecls___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*);
@@ -121,17 +105,17 @@ lean_object* l_Array_anyRangeMAux___main___at_Lean_Elab_addAndCompileUnsafeRec__
lean_object* l_Lean_Elab_instantiateMVarsAtPreDecls(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_levelMVarToParamExpr_match__1___rarg(lean_object*, lean_object*);
extern lean_object* l_Lean_mkOptionalNode___closed__2;
-extern lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___closed__1;
lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_getLevelParamsPreDecls(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_PreDefinition_inhabited___closed__1;
extern lean_object* l_Lean_Compiler_mkUnsafeRecName___closed__1;
lean_object* l_unsafeCast(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_fixLevelParams(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* lean_expr_update_app(lean_object*, lean_object*, lean_object*);
uint8_t l_Array_anyRangeMAux___main___at_Lean_Elab_addAndCompileUnsafeRec___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_addAndCompileNonRec(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Array_umapMAux___main___at_Lean_Elab_addAndCompileUnsafeRec___spec__2(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_throwError___at_Lean_Elab_Term_throwErrorIfErrors___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_mkConst(lean_object*, lean_object*);
+lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(lean_object*, size_t, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_levelMVarToParamPreDeclsAux(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_applyAttributesOf___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___private_Init_Util_2__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -976,1645 +960,47 @@ return x_10;
}
}
}
-lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_fixLevelParams___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, lean_object* x_5, lean_object* x_6) {
+lean_object* l_Array_umapMAux___main___at_Lean_Elab_fixLevelParams___spec__2___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
-size_t x_7; size_t x_8; lean_object* x_9; lean_object* x_238; lean_object* x_239; size_t x_240; uint8_t x_241;
-x_7 = lean_ptr_addr(x_5);
-x_8 = x_4 == 0 ? 0 : x_7 % x_4;
-x_238 = lean_ctor_get(x_6, 0);
-lean_inc(x_238);
-x_239 = lean_array_uget(x_238, x_8);
-x_240 = lean_ptr_addr(x_239);
-lean_dec(x_239);
-x_241 = x_240 == x_7;
-if (x_241 == 0)
+if (lean_obj_tag(x_4) == 4)
{
-if (lean_obj_tag(x_5) == 4)
-{
-lean_object* x_242; lean_object* x_243; lean_object* x_244; uint8_t x_245;
-x_242 = lean_ctor_get(x_5, 0);
-lean_inc(x_242);
-x_243 = lean_array_get_size(x_2);
-x_244 = lean_unsigned_to_nat(0u);
-x_245 = l_Array_anyRangeMAux___main___at_Lean_Elab_fixLevelParams___spec__1(x_1, x_242, x_2, x_243, x_244);
-lean_dec(x_243);
-if (x_245 == 0)
-{
-lean_object* x_246;
-lean_dec(x_242);
-lean_dec(x_238);
-x_246 = lean_box(0);
-x_9 = x_246;
-goto block_237;
-}
-else
-{
-lean_object* x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252;
-x_247 = l_Lean_mkConst(x_242, x_3);
-x_248 = lean_array_uset(x_238, x_8, x_5);
-x_249 = lean_ctor_get(x_6, 1);
-lean_inc(x_249);
+lean_object* x_5; lean_object* x_6; lean_object* x_7; uint8_t x_8;
+x_5 = lean_ctor_get(x_4, 0);
+lean_inc(x_5);
+lean_dec(x_4);
+x_6 = lean_array_get_size(x_1);
+x_7 = lean_unsigned_to_nat(0u);
+x_8 = l_Array_anyRangeMAux___main___at_Lean_Elab_fixLevelParams___spec__1(x_2, x_5, x_1, x_6, x_7);
lean_dec(x_6);
-lean_inc(x_247);
-x_250 = lean_array_uset(x_249, x_8, x_247);
-x_251 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_251, 0, x_248);
-lean_ctor_set(x_251, 1, x_250);
-x_252 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_252, 0, x_247);
-lean_ctor_set(x_252, 1, x_251);
-return x_252;
-}
-}
-else
+if (x_8 == 0)
{
-lean_object* x_253;
-lean_dec(x_238);
-x_253 = lean_box(0);
-x_9 = x_253;
-goto block_237;
-}
-}
-else
-{
-lean_object* x_254; lean_object* x_255; lean_object* x_256;
-lean_dec(x_238);
+lean_object* x_9;
lean_dec(x_5);
lean_dec(x_3);
-x_254 = lean_ctor_get(x_6, 1);
-lean_inc(x_254);
-x_255 = lean_array_uget(x_254, x_8);
-lean_dec(x_254);
-x_256 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_256, 0, x_255);
-lean_ctor_set(x_256, 1, x_6);
-return x_256;
-}
-block_237:
-{
-lean_dec(x_9);
-switch (lean_obj_tag(x_5)) {
-case 5:
-{
-lean_object* x_10; lean_object* x_11; uint64_t x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t x_17;
-x_10 = lean_ctor_get(x_5, 0);
-lean_inc(x_10);
-x_11 = lean_ctor_get(x_5, 1);
-lean_inc(x_11);
-x_12 = lean_ctor_get_uint64(x_5, sizeof(void*)*2);
-lean_inc(x_10);
-lean_inc(x_3);
-x_13 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_fixLevelParams___spec__2(x_1, x_2, x_3, x_4, x_10, x_6);
-x_14 = lean_ctor_get(x_13, 0);
-lean_inc(x_14);
-x_15 = lean_ctor_get(x_13, 1);
-lean_inc(x_15);
-lean_dec(x_13);
-lean_inc(x_11);
-x_16 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_fixLevelParams___spec__2(x_1, x_2, x_3, x_4, x_11, x_15);
-x_17 = !lean_is_exclusive(x_16);
-if (x_17 == 0)
-{
-lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; uint8_t x_22;
-x_18 = lean_ctor_get(x_16, 0);
-x_19 = lean_ctor_get(x_16, 1);
-x_20 = lean_ctor_get(x_19, 0);
-lean_inc(x_20);
-lean_inc(x_5);
-x_21 = lean_array_uset(x_20, x_8, x_5);
-x_22 = !lean_is_exclusive(x_5);
-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;
-x_23 = lean_ctor_get(x_5, 1);
-lean_dec(x_23);
-x_24 = lean_ctor_get(x_5, 0);
-lean_dec(x_24);
-x_25 = lean_ctor_get(x_19, 1);
-lean_inc(x_25);
-lean_dec(x_19);
-x_26 = lean_expr_update_app(x_5, x_14, x_18);
-lean_inc(x_26);
-x_27 = lean_array_uset(x_25, x_8, x_26);
-x_28 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_28, 0, x_21);
-lean_ctor_set(x_28, 1, x_27);
-lean_ctor_set(x_16, 1, x_28);
-lean_ctor_set(x_16, 0, x_26);
-return x_16;
+x_9 = lean_box(0);
+return x_9;
}
else
{
-lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
-lean_dec(x_5);
-x_29 = lean_ctor_get(x_19, 1);
-lean_inc(x_29);
-lean_dec(x_19);
-x_30 = lean_alloc_ctor(5, 2, 8);
-lean_ctor_set(x_30, 0, x_10);
-lean_ctor_set(x_30, 1, x_11);
-lean_ctor_set_uint64(x_30, sizeof(void*)*2, x_12);
-x_31 = lean_expr_update_app(x_30, x_14, x_18);
-lean_inc(x_31);
-x_32 = lean_array_uset(x_29, x_8, x_31);
-x_33 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_33, 0, x_21);
-lean_ctor_set(x_33, 1, x_32);
-lean_ctor_set(x_16, 1, x_33);
-lean_ctor_set(x_16, 0, x_31);
-return x_16;
+lean_object* x_10; lean_object* x_11;
+x_10 = l_Lean_mkConst(x_5, x_3);
+x_11 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_11, 0, x_10);
+return x_11;
}
}
else
{
-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;
-x_34 = lean_ctor_get(x_16, 0);
-x_35 = lean_ctor_get(x_16, 1);
-lean_inc(x_35);
-lean_inc(x_34);
-lean_dec(x_16);
-x_36 = lean_ctor_get(x_35, 0);
-lean_inc(x_36);
-lean_inc(x_5);
-x_37 = lean_array_uset(x_36, x_8, x_5);
-if (lean_is_exclusive(x_5)) {
- lean_ctor_release(x_5, 0);
- lean_ctor_release(x_5, 1);
- x_38 = x_5;
-} else {
- lean_dec_ref(x_5);
- x_38 = lean_box(0);
-}
-x_39 = lean_ctor_get(x_35, 1);
-lean_inc(x_39);
-lean_dec(x_35);
-if (lean_is_scalar(x_38)) {
- x_40 = lean_alloc_ctor(5, 2, 8);
-} else {
- x_40 = x_38;
-}
-lean_ctor_set(x_40, 0, x_10);
-lean_ctor_set(x_40, 1, x_11);
-lean_ctor_set_uint64(x_40, sizeof(void*)*2, x_12);
-x_41 = lean_expr_update_app(x_40, x_14, x_34);
-lean_inc(x_41);
-x_42 = lean_array_uset(x_39, x_8, x_41);
-x_43 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_43, 0, x_37);
-lean_ctor_set(x_43, 1, x_42);
-x_44 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_44, 0, x_41);
-lean_ctor_set(x_44, 1, x_43);
-return x_44;
-}
-}
-case 6:
-{
-lean_object* x_45; lean_object* x_46; lean_object* x_47; uint64_t x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; uint8_t x_53;
-x_45 = lean_ctor_get(x_5, 0);
-lean_inc(x_45);
-x_46 = lean_ctor_get(x_5, 1);
-lean_inc(x_46);
-x_47 = lean_ctor_get(x_5, 2);
-lean_inc(x_47);
-x_48 = lean_ctor_get_uint64(x_5, sizeof(void*)*3);
-lean_inc(x_46);
-lean_inc(x_3);
-x_49 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_fixLevelParams___spec__2(x_1, x_2, x_3, x_4, x_46, x_6);
-x_50 = lean_ctor_get(x_49, 0);
-lean_inc(x_50);
-x_51 = lean_ctor_get(x_49, 1);
-lean_inc(x_51);
-lean_dec(x_49);
-lean_inc(x_47);
-x_52 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_fixLevelParams___spec__2(x_1, x_2, x_3, x_4, x_47, x_51);
-x_53 = !lean_is_exclusive(x_52);
-if (x_53 == 0)
-{
-lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; uint8_t x_58;
-x_54 = lean_ctor_get(x_52, 0);
-x_55 = lean_ctor_get(x_52, 1);
-x_56 = lean_ctor_get(x_55, 0);
-lean_inc(x_56);
-lean_inc(x_5);
-x_57 = lean_array_uset(x_56, x_8, x_5);
-x_58 = !lean_is_exclusive(x_5);
-if (x_58 == 0)
-{
-lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; uint8_t x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66;
-x_59 = lean_ctor_get(x_5, 2);
-lean_dec(x_59);
-x_60 = lean_ctor_get(x_5, 1);
-lean_dec(x_60);
-x_61 = lean_ctor_get(x_5, 0);
-lean_dec(x_61);
-x_62 = lean_ctor_get(x_55, 1);
-lean_inc(x_62);
-lean_dec(x_55);
-x_63 = (uint8_t)((x_48 << 24) >> 61);
-x_64 = lean_expr_update_lambda(x_5, x_63, x_50, x_54);
-lean_inc(x_64);
-x_65 = lean_array_uset(x_62, x_8, x_64);
-x_66 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_66, 0, x_57);
-lean_ctor_set(x_66, 1, x_65);
-lean_ctor_set(x_52, 1, x_66);
-lean_ctor_set(x_52, 0, x_64);
-return x_52;
-}
-else
-{
-lean_object* x_67; lean_object* x_68; uint8_t x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72;
-lean_dec(x_5);
-x_67 = lean_ctor_get(x_55, 1);
-lean_inc(x_67);
-lean_dec(x_55);
-x_68 = lean_alloc_ctor(6, 3, 8);
-lean_ctor_set(x_68, 0, x_45);
-lean_ctor_set(x_68, 1, x_46);
-lean_ctor_set(x_68, 2, x_47);
-lean_ctor_set_uint64(x_68, sizeof(void*)*3, x_48);
-x_69 = (uint8_t)((x_48 << 24) >> 61);
-x_70 = lean_expr_update_lambda(x_68, x_69, x_50, x_54);
-lean_inc(x_70);
-x_71 = lean_array_uset(x_67, x_8, x_70);
-x_72 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_72, 0, x_57);
-lean_ctor_set(x_72, 1, x_71);
-lean_ctor_set(x_52, 1, x_72);
-lean_ctor_set(x_52, 0, x_70);
-return x_52;
-}
-}
-else
-{
-lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; uint8_t x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84;
-x_73 = lean_ctor_get(x_52, 0);
-x_74 = lean_ctor_get(x_52, 1);
-lean_inc(x_74);
-lean_inc(x_73);
-lean_dec(x_52);
-x_75 = lean_ctor_get(x_74, 0);
-lean_inc(x_75);
-lean_inc(x_5);
-x_76 = lean_array_uset(x_75, x_8, x_5);
-if (lean_is_exclusive(x_5)) {
- lean_ctor_release(x_5, 0);
- lean_ctor_release(x_5, 1);
- lean_ctor_release(x_5, 2);
- x_77 = x_5;
-} else {
- lean_dec_ref(x_5);
- x_77 = lean_box(0);
-}
-x_78 = lean_ctor_get(x_74, 1);
-lean_inc(x_78);
-lean_dec(x_74);
-if (lean_is_scalar(x_77)) {
- x_79 = lean_alloc_ctor(6, 3, 8);
-} else {
- x_79 = x_77;
-}
-lean_ctor_set(x_79, 0, x_45);
-lean_ctor_set(x_79, 1, x_46);
-lean_ctor_set(x_79, 2, x_47);
-lean_ctor_set_uint64(x_79, sizeof(void*)*3, x_48);
-x_80 = (uint8_t)((x_48 << 24) >> 61);
-x_81 = lean_expr_update_lambda(x_79, x_80, x_50, x_73);
-lean_inc(x_81);
-x_82 = lean_array_uset(x_78, x_8, x_81);
-x_83 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_83, 0, x_76);
-lean_ctor_set(x_83, 1, x_82);
-x_84 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_84, 0, x_81);
-lean_ctor_set(x_84, 1, x_83);
-return x_84;
-}
-}
-case 7:
-{
-lean_object* x_85; lean_object* x_86; lean_object* x_87; uint64_t x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; uint8_t x_93;
-x_85 = lean_ctor_get(x_5, 0);
-lean_inc(x_85);
-x_86 = lean_ctor_get(x_5, 1);
-lean_inc(x_86);
-x_87 = lean_ctor_get(x_5, 2);
-lean_inc(x_87);
-x_88 = lean_ctor_get_uint64(x_5, sizeof(void*)*3);
-lean_inc(x_86);
-lean_inc(x_3);
-x_89 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_fixLevelParams___spec__2(x_1, x_2, x_3, x_4, x_86, x_6);
-x_90 = lean_ctor_get(x_89, 0);
-lean_inc(x_90);
-x_91 = lean_ctor_get(x_89, 1);
-lean_inc(x_91);
-lean_dec(x_89);
-lean_inc(x_87);
-x_92 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_fixLevelParams___spec__2(x_1, x_2, x_3, x_4, x_87, x_91);
-x_93 = !lean_is_exclusive(x_92);
-if (x_93 == 0)
-{
-lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; uint8_t x_98;
-x_94 = lean_ctor_get(x_92, 0);
-x_95 = lean_ctor_get(x_92, 1);
-x_96 = lean_ctor_get(x_95, 0);
-lean_inc(x_96);
-lean_inc(x_5);
-x_97 = lean_array_uset(x_96, x_8, x_5);
-x_98 = !lean_is_exclusive(x_5);
-if (x_98 == 0)
-{
-lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; uint8_t x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106;
-x_99 = lean_ctor_get(x_5, 2);
-lean_dec(x_99);
-x_100 = lean_ctor_get(x_5, 1);
-lean_dec(x_100);
-x_101 = lean_ctor_get(x_5, 0);
-lean_dec(x_101);
-x_102 = lean_ctor_get(x_95, 1);
-lean_inc(x_102);
-lean_dec(x_95);
-x_103 = (uint8_t)((x_88 << 24) >> 61);
-x_104 = lean_expr_update_forall(x_5, x_103, x_90, x_94);
-lean_inc(x_104);
-x_105 = lean_array_uset(x_102, x_8, x_104);
-x_106 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_106, 0, x_97);
-lean_ctor_set(x_106, 1, x_105);
-lean_ctor_set(x_92, 1, x_106);
-lean_ctor_set(x_92, 0, x_104);
-return x_92;
-}
-else
-{
-lean_object* x_107; lean_object* x_108; uint8_t x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112;
-lean_dec(x_5);
-x_107 = lean_ctor_get(x_95, 1);
-lean_inc(x_107);
-lean_dec(x_95);
-x_108 = lean_alloc_ctor(7, 3, 8);
-lean_ctor_set(x_108, 0, x_85);
-lean_ctor_set(x_108, 1, x_86);
-lean_ctor_set(x_108, 2, x_87);
-lean_ctor_set_uint64(x_108, sizeof(void*)*3, x_88);
-x_109 = (uint8_t)((x_88 << 24) >> 61);
-x_110 = lean_expr_update_forall(x_108, x_109, x_90, x_94);
-lean_inc(x_110);
-x_111 = lean_array_uset(x_107, x_8, x_110);
-x_112 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_112, 0, x_97);
-lean_ctor_set(x_112, 1, x_111);
-lean_ctor_set(x_92, 1, x_112);
-lean_ctor_set(x_92, 0, x_110);
-return x_92;
-}
-}
-else
-{
-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; uint8_t x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124;
-x_113 = lean_ctor_get(x_92, 0);
-x_114 = lean_ctor_get(x_92, 1);
-lean_inc(x_114);
-lean_inc(x_113);
-lean_dec(x_92);
-x_115 = lean_ctor_get(x_114, 0);
-lean_inc(x_115);
-lean_inc(x_5);
-x_116 = lean_array_uset(x_115, x_8, x_5);
-if (lean_is_exclusive(x_5)) {
- lean_ctor_release(x_5, 0);
- lean_ctor_release(x_5, 1);
- lean_ctor_release(x_5, 2);
- x_117 = x_5;
-} else {
- lean_dec_ref(x_5);
- x_117 = lean_box(0);
-}
-x_118 = lean_ctor_get(x_114, 1);
-lean_inc(x_118);
-lean_dec(x_114);
-if (lean_is_scalar(x_117)) {
- x_119 = lean_alloc_ctor(7, 3, 8);
-} else {
- x_119 = x_117;
-}
-lean_ctor_set(x_119, 0, x_85);
-lean_ctor_set(x_119, 1, x_86);
-lean_ctor_set(x_119, 2, x_87);
-lean_ctor_set_uint64(x_119, sizeof(void*)*3, x_88);
-x_120 = (uint8_t)((x_88 << 24) >> 61);
-x_121 = lean_expr_update_forall(x_119, x_120, x_90, x_113);
-lean_inc(x_121);
-x_122 = lean_array_uset(x_118, x_8, x_121);
-x_123 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_123, 0, x_116);
-lean_ctor_set(x_123, 1, x_122);
-x_124 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_124, 0, x_121);
-lean_ctor_set(x_124, 1, x_123);
-return x_124;
-}
-}
-case 8:
-{
-lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; uint64_t x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; uint8_t x_137;
-x_125 = lean_ctor_get(x_5, 0);
-lean_inc(x_125);
-x_126 = lean_ctor_get(x_5, 1);
-lean_inc(x_126);
-x_127 = lean_ctor_get(x_5, 2);
-lean_inc(x_127);
-x_128 = lean_ctor_get(x_5, 3);
-lean_inc(x_128);
-x_129 = lean_ctor_get_uint64(x_5, sizeof(void*)*4);
-lean_inc(x_126);
-lean_inc(x_3);
-x_130 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_fixLevelParams___spec__2(x_1, x_2, x_3, x_4, x_126, x_6);
-x_131 = lean_ctor_get(x_130, 0);
-lean_inc(x_131);
-x_132 = lean_ctor_get(x_130, 1);
-lean_inc(x_132);
-lean_dec(x_130);
-lean_inc(x_127);
-lean_inc(x_3);
-x_133 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_fixLevelParams___spec__2(x_1, x_2, x_3, x_4, x_127, x_132);
-x_134 = lean_ctor_get(x_133, 0);
-lean_inc(x_134);
-x_135 = lean_ctor_get(x_133, 1);
-lean_inc(x_135);
-lean_dec(x_133);
-lean_inc(x_128);
-x_136 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_fixLevelParams___spec__2(x_1, x_2, x_3, x_4, x_128, x_135);
-x_137 = !lean_is_exclusive(x_136);
-if (x_137 == 0)
-{
-lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; uint8_t x_142;
-x_138 = lean_ctor_get(x_136, 0);
-x_139 = lean_ctor_get(x_136, 1);
-x_140 = lean_ctor_get(x_139, 0);
-lean_inc(x_140);
-lean_inc(x_5);
-x_141 = lean_array_uset(x_140, x_8, x_5);
-x_142 = !lean_is_exclusive(x_5);
-if (x_142 == 0)
-{
-lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150;
-x_143 = lean_ctor_get(x_5, 3);
-lean_dec(x_143);
-x_144 = lean_ctor_get(x_5, 2);
-lean_dec(x_144);
-x_145 = lean_ctor_get(x_5, 1);
-lean_dec(x_145);
-x_146 = lean_ctor_get(x_5, 0);
-lean_dec(x_146);
-x_147 = lean_ctor_get(x_139, 1);
-lean_inc(x_147);
-lean_dec(x_139);
-x_148 = lean_expr_update_let(x_5, x_131, x_134, x_138);
-lean_inc(x_148);
-x_149 = lean_array_uset(x_147, x_8, x_148);
-x_150 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_150, 0, x_141);
-lean_ctor_set(x_150, 1, x_149);
-lean_ctor_set(x_136, 1, x_150);
-lean_ctor_set(x_136, 0, x_148);
-return x_136;
-}
-else
-{
-lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155;
-lean_dec(x_5);
-x_151 = lean_ctor_get(x_139, 1);
-lean_inc(x_151);
-lean_dec(x_139);
-x_152 = lean_alloc_ctor(8, 4, 8);
-lean_ctor_set(x_152, 0, x_125);
-lean_ctor_set(x_152, 1, x_126);
-lean_ctor_set(x_152, 2, x_127);
-lean_ctor_set(x_152, 3, x_128);
-lean_ctor_set_uint64(x_152, sizeof(void*)*4, x_129);
-x_153 = lean_expr_update_let(x_152, x_131, x_134, x_138);
-lean_inc(x_153);
-x_154 = lean_array_uset(x_151, x_8, x_153);
-x_155 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_155, 0, x_141);
-lean_ctor_set(x_155, 1, x_154);
-lean_ctor_set(x_136, 1, x_155);
-lean_ctor_set(x_136, 0, x_153);
-return x_136;
-}
-}
-else
-{
-lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166;
-x_156 = lean_ctor_get(x_136, 0);
-x_157 = lean_ctor_get(x_136, 1);
-lean_inc(x_157);
-lean_inc(x_156);
-lean_dec(x_136);
-x_158 = lean_ctor_get(x_157, 0);
-lean_inc(x_158);
-lean_inc(x_5);
-x_159 = lean_array_uset(x_158, x_8, x_5);
-if (lean_is_exclusive(x_5)) {
- lean_ctor_release(x_5, 0);
- lean_ctor_release(x_5, 1);
- lean_ctor_release(x_5, 2);
- lean_ctor_release(x_5, 3);
- x_160 = x_5;
-} else {
- lean_dec_ref(x_5);
- x_160 = lean_box(0);
-}
-x_161 = lean_ctor_get(x_157, 1);
-lean_inc(x_161);
-lean_dec(x_157);
-if (lean_is_scalar(x_160)) {
- x_162 = lean_alloc_ctor(8, 4, 8);
-} else {
- x_162 = x_160;
-}
-lean_ctor_set(x_162, 0, x_125);
-lean_ctor_set(x_162, 1, x_126);
-lean_ctor_set(x_162, 2, x_127);
-lean_ctor_set(x_162, 3, x_128);
-lean_ctor_set_uint64(x_162, sizeof(void*)*4, x_129);
-x_163 = lean_expr_update_let(x_162, x_131, x_134, x_156);
-lean_inc(x_163);
-x_164 = lean_array_uset(x_161, x_8, x_163);
-x_165 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_165, 0, x_159);
-lean_ctor_set(x_165, 1, x_164);
-x_166 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_166, 0, x_163);
-lean_ctor_set(x_166, 1, x_165);
-return x_166;
-}
-}
-case 10:
-{
-lean_object* x_167; lean_object* x_168; uint64_t x_169; lean_object* x_170; uint8_t x_171;
-x_167 = lean_ctor_get(x_5, 0);
-lean_inc(x_167);
-x_168 = lean_ctor_get(x_5, 1);
-lean_inc(x_168);
-x_169 = lean_ctor_get_uint64(x_5, sizeof(void*)*2);
-lean_inc(x_168);
-x_170 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_fixLevelParams___spec__2(x_1, x_2, x_3, x_4, x_168, x_6);
-x_171 = !lean_is_exclusive(x_170);
-if (x_171 == 0)
-{
-lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; uint8_t x_176;
-x_172 = lean_ctor_get(x_170, 0);
-x_173 = lean_ctor_get(x_170, 1);
-x_174 = lean_ctor_get(x_173, 0);
-lean_inc(x_174);
-lean_inc(x_5);
-x_175 = lean_array_uset(x_174, x_8, x_5);
-x_176 = !lean_is_exclusive(x_5);
-if (x_176 == 0)
-{
-lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182;
-x_177 = lean_ctor_get(x_5, 1);
-lean_dec(x_177);
-x_178 = lean_ctor_get(x_5, 0);
-lean_dec(x_178);
-x_179 = lean_ctor_get(x_173, 1);
-lean_inc(x_179);
-lean_dec(x_173);
-x_180 = lean_expr_update_mdata(x_5, x_172);
-lean_inc(x_180);
-x_181 = lean_array_uset(x_179, x_8, x_180);
-x_182 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_182, 0, x_175);
-lean_ctor_set(x_182, 1, x_181);
-lean_ctor_set(x_170, 1, x_182);
-lean_ctor_set(x_170, 0, x_180);
-return x_170;
-}
-else
-{
-lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187;
-lean_dec(x_5);
-x_183 = lean_ctor_get(x_173, 1);
-lean_inc(x_183);
-lean_dec(x_173);
-x_184 = lean_alloc_ctor(10, 2, 8);
-lean_ctor_set(x_184, 0, x_167);
-lean_ctor_set(x_184, 1, x_168);
-lean_ctor_set_uint64(x_184, sizeof(void*)*2, x_169);
-x_185 = lean_expr_update_mdata(x_184, x_172);
-lean_inc(x_185);
-x_186 = lean_array_uset(x_183, x_8, x_185);
-x_187 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_187, 0, x_175);
-lean_ctor_set(x_187, 1, x_186);
-lean_ctor_set(x_170, 1, x_187);
-lean_ctor_set(x_170, 0, x_185);
-return x_170;
-}
-}
-else
-{
-lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198;
-x_188 = lean_ctor_get(x_170, 0);
-x_189 = lean_ctor_get(x_170, 1);
-lean_inc(x_189);
-lean_inc(x_188);
-lean_dec(x_170);
-x_190 = lean_ctor_get(x_189, 0);
-lean_inc(x_190);
-lean_inc(x_5);
-x_191 = lean_array_uset(x_190, x_8, x_5);
-if (lean_is_exclusive(x_5)) {
- lean_ctor_release(x_5, 0);
- lean_ctor_release(x_5, 1);
- x_192 = x_5;
-} else {
- lean_dec_ref(x_5);
- x_192 = lean_box(0);
-}
-x_193 = lean_ctor_get(x_189, 1);
-lean_inc(x_193);
-lean_dec(x_189);
-if (lean_is_scalar(x_192)) {
- x_194 = lean_alloc_ctor(10, 2, 8);
-} else {
- x_194 = x_192;
-}
-lean_ctor_set(x_194, 0, x_167);
-lean_ctor_set(x_194, 1, x_168);
-lean_ctor_set_uint64(x_194, sizeof(void*)*2, x_169);
-x_195 = lean_expr_update_mdata(x_194, x_188);
-lean_inc(x_195);
-x_196 = lean_array_uset(x_193, x_8, x_195);
-x_197 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_197, 0, x_191);
-lean_ctor_set(x_197, 1, x_196);
-x_198 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_198, 0, x_195);
-lean_ctor_set(x_198, 1, x_197);
-return x_198;
-}
-}
-case 11:
-{
-lean_object* x_199; lean_object* x_200; lean_object* x_201; uint64_t x_202; lean_object* x_203; uint8_t x_204;
-x_199 = lean_ctor_get(x_5, 0);
-lean_inc(x_199);
-x_200 = lean_ctor_get(x_5, 1);
-lean_inc(x_200);
-x_201 = lean_ctor_get(x_5, 2);
-lean_inc(x_201);
-x_202 = lean_ctor_get_uint64(x_5, sizeof(void*)*3);
-lean_inc(x_201);
-x_203 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_fixLevelParams___spec__2(x_1, x_2, x_3, x_4, x_201, x_6);
-x_204 = !lean_is_exclusive(x_203);
-if (x_204 == 0)
-{
-lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; uint8_t x_209;
-x_205 = lean_ctor_get(x_203, 0);
-x_206 = lean_ctor_get(x_203, 1);
-x_207 = lean_ctor_get(x_206, 0);
-lean_inc(x_207);
-lean_inc(x_5);
-x_208 = lean_array_uset(x_207, x_8, x_5);
-x_209 = !lean_is_exclusive(x_5);
-if (x_209 == 0)
-{
-lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214; lean_object* x_215; lean_object* x_216;
-x_210 = lean_ctor_get(x_5, 2);
-lean_dec(x_210);
-x_211 = lean_ctor_get(x_5, 1);
-lean_dec(x_211);
-x_212 = lean_ctor_get(x_5, 0);
-lean_dec(x_212);
-x_213 = lean_ctor_get(x_206, 1);
-lean_inc(x_213);
-lean_dec(x_206);
-x_214 = lean_expr_update_proj(x_5, x_205);
-lean_inc(x_214);
-x_215 = lean_array_uset(x_213, x_8, x_214);
-x_216 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_216, 0, x_208);
-lean_ctor_set(x_216, 1, x_215);
-lean_ctor_set(x_203, 1, x_216);
-lean_ctor_set(x_203, 0, x_214);
-return x_203;
-}
-else
-{
-lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; lean_object* x_221;
-lean_dec(x_5);
-x_217 = lean_ctor_get(x_206, 1);
-lean_inc(x_217);
-lean_dec(x_206);
-x_218 = lean_alloc_ctor(11, 3, 8);
-lean_ctor_set(x_218, 0, x_199);
-lean_ctor_set(x_218, 1, x_200);
-lean_ctor_set(x_218, 2, x_201);
-lean_ctor_set_uint64(x_218, sizeof(void*)*3, x_202);
-x_219 = lean_expr_update_proj(x_218, x_205);
-lean_inc(x_219);
-x_220 = lean_array_uset(x_217, x_8, x_219);
-x_221 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_221, 0, x_208);
-lean_ctor_set(x_221, 1, x_220);
-lean_ctor_set(x_203, 1, x_221);
-lean_ctor_set(x_203, 0, x_219);
-return x_203;
-}
-}
-else
-{
-lean_object* x_222; lean_object* x_223; lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; lean_object* x_228; lean_object* x_229; lean_object* x_230; lean_object* x_231; lean_object* x_232;
-x_222 = lean_ctor_get(x_203, 0);
-x_223 = lean_ctor_get(x_203, 1);
-lean_inc(x_223);
-lean_inc(x_222);
-lean_dec(x_203);
-x_224 = lean_ctor_get(x_223, 0);
-lean_inc(x_224);
-lean_inc(x_5);
-x_225 = lean_array_uset(x_224, x_8, x_5);
-if (lean_is_exclusive(x_5)) {
- lean_ctor_release(x_5, 0);
- lean_ctor_release(x_5, 1);
- lean_ctor_release(x_5, 2);
- x_226 = x_5;
-} else {
- lean_dec_ref(x_5);
- x_226 = lean_box(0);
-}
-x_227 = lean_ctor_get(x_223, 1);
-lean_inc(x_227);
-lean_dec(x_223);
-if (lean_is_scalar(x_226)) {
- x_228 = lean_alloc_ctor(11, 3, 8);
-} else {
- x_228 = x_226;
-}
-lean_ctor_set(x_228, 0, x_199);
-lean_ctor_set(x_228, 1, x_200);
-lean_ctor_set(x_228, 2, x_201);
-lean_ctor_set_uint64(x_228, sizeof(void*)*3, x_202);
-x_229 = lean_expr_update_proj(x_228, x_222);
-lean_inc(x_229);
-x_230 = lean_array_uset(x_227, x_8, x_229);
-x_231 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_231, 0, x_225);
-lean_ctor_set(x_231, 1, x_230);
-x_232 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_232, 0, x_229);
-lean_ctor_set(x_232, 1, x_231);
-return x_232;
-}
-}
-case 12:
-{
-lean_object* x_233; lean_object* x_234; lean_object* x_235;
-lean_dec(x_5);
+lean_object* x_12;
+lean_dec(x_4);
lean_dec(x_3);
-x_233 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___closed__1;
-x_234 = l_unreachable_x21___rarg(x_233);
-x_235 = lean_apply_1(x_234, x_6);
-return x_235;
-}
-default:
-{
-lean_object* x_236;
-lean_dec(x_3);
-x_236 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_236, 0, x_5);
-lean_ctor_set(x_236, 1, x_6);
-return x_236;
+x_12 = lean_box(0);
+return x_12;
}
}
}
-}
-}
-lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_fixLevelParams___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, lean_object* x_5, lean_object* x_6) {
-_start:
-{
-size_t x_7; size_t x_8; lean_object* x_9; lean_object* x_238; lean_object* x_239; size_t x_240; uint8_t x_241;
-x_7 = lean_ptr_addr(x_5);
-x_8 = x_4 == 0 ? 0 : x_7 % x_4;
-x_238 = lean_ctor_get(x_6, 0);
-lean_inc(x_238);
-x_239 = lean_array_uget(x_238, x_8);
-x_240 = lean_ptr_addr(x_239);
-lean_dec(x_239);
-x_241 = x_240 == x_7;
-if (x_241 == 0)
-{
-if (lean_obj_tag(x_5) == 4)
-{
-lean_object* x_242; lean_object* x_243; lean_object* x_244; uint8_t x_245;
-x_242 = lean_ctor_get(x_5, 0);
-lean_inc(x_242);
-x_243 = lean_array_get_size(x_2);
-x_244 = lean_unsigned_to_nat(0u);
-x_245 = l_Array_anyRangeMAux___main___at_Lean_Elab_fixLevelParams___spec__1(x_1, x_242, x_2, x_243, x_244);
-lean_dec(x_243);
-if (x_245 == 0)
-{
-lean_object* x_246;
-lean_dec(x_242);
-lean_dec(x_238);
-x_246 = lean_box(0);
-x_9 = x_246;
-goto block_237;
-}
-else
-{
-lean_object* x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252;
-x_247 = l_Lean_mkConst(x_242, x_3);
-x_248 = lean_array_uset(x_238, x_8, x_5);
-x_249 = lean_ctor_get(x_6, 1);
-lean_inc(x_249);
-lean_dec(x_6);
-lean_inc(x_247);
-x_250 = lean_array_uset(x_249, x_8, x_247);
-x_251 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_251, 0, x_248);
-lean_ctor_set(x_251, 1, x_250);
-x_252 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_252, 0, x_247);
-lean_ctor_set(x_252, 1, x_251);
-return x_252;
-}
-}
-else
-{
-lean_object* x_253;
-lean_dec(x_238);
-x_253 = lean_box(0);
-x_9 = x_253;
-goto block_237;
-}
-}
-else
-{
-lean_object* x_254; lean_object* x_255; lean_object* x_256;
-lean_dec(x_238);
-lean_dec(x_5);
-lean_dec(x_3);
-x_254 = lean_ctor_get(x_6, 1);
-lean_inc(x_254);
-x_255 = lean_array_uget(x_254, x_8);
-lean_dec(x_254);
-x_256 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_256, 0, x_255);
-lean_ctor_set(x_256, 1, x_6);
-return x_256;
-}
-block_237:
-{
-lean_dec(x_9);
-switch (lean_obj_tag(x_5)) {
-case 5:
-{
-lean_object* x_10; lean_object* x_11; uint64_t x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t x_17;
-x_10 = lean_ctor_get(x_5, 0);
-lean_inc(x_10);
-x_11 = lean_ctor_get(x_5, 1);
-lean_inc(x_11);
-x_12 = lean_ctor_get_uint64(x_5, sizeof(void*)*2);
-lean_inc(x_10);
-lean_inc(x_3);
-x_13 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_fixLevelParams___spec__3(x_1, x_2, x_3, x_4, x_10, x_6);
-x_14 = lean_ctor_get(x_13, 0);
-lean_inc(x_14);
-x_15 = lean_ctor_get(x_13, 1);
-lean_inc(x_15);
-lean_dec(x_13);
-lean_inc(x_11);
-x_16 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_fixLevelParams___spec__3(x_1, x_2, x_3, x_4, x_11, x_15);
-x_17 = !lean_is_exclusive(x_16);
-if (x_17 == 0)
-{
-lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; uint8_t x_22;
-x_18 = lean_ctor_get(x_16, 0);
-x_19 = lean_ctor_get(x_16, 1);
-x_20 = lean_ctor_get(x_19, 0);
-lean_inc(x_20);
-lean_inc(x_5);
-x_21 = lean_array_uset(x_20, x_8, x_5);
-x_22 = !lean_is_exclusive(x_5);
-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;
-x_23 = lean_ctor_get(x_5, 1);
-lean_dec(x_23);
-x_24 = lean_ctor_get(x_5, 0);
-lean_dec(x_24);
-x_25 = lean_ctor_get(x_19, 1);
-lean_inc(x_25);
-lean_dec(x_19);
-x_26 = lean_expr_update_app(x_5, x_14, x_18);
-lean_inc(x_26);
-x_27 = lean_array_uset(x_25, x_8, x_26);
-x_28 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_28, 0, x_21);
-lean_ctor_set(x_28, 1, x_27);
-lean_ctor_set(x_16, 1, x_28);
-lean_ctor_set(x_16, 0, x_26);
-return x_16;
-}
-else
-{
-lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
-lean_dec(x_5);
-x_29 = lean_ctor_get(x_19, 1);
-lean_inc(x_29);
-lean_dec(x_19);
-x_30 = lean_alloc_ctor(5, 2, 8);
-lean_ctor_set(x_30, 0, x_10);
-lean_ctor_set(x_30, 1, x_11);
-lean_ctor_set_uint64(x_30, sizeof(void*)*2, x_12);
-x_31 = lean_expr_update_app(x_30, x_14, x_18);
-lean_inc(x_31);
-x_32 = lean_array_uset(x_29, x_8, x_31);
-x_33 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_33, 0, x_21);
-lean_ctor_set(x_33, 1, x_32);
-lean_ctor_set(x_16, 1, x_33);
-lean_ctor_set(x_16, 0, x_31);
-return x_16;
-}
-}
-else
-{
-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;
-x_34 = lean_ctor_get(x_16, 0);
-x_35 = lean_ctor_get(x_16, 1);
-lean_inc(x_35);
-lean_inc(x_34);
-lean_dec(x_16);
-x_36 = lean_ctor_get(x_35, 0);
-lean_inc(x_36);
-lean_inc(x_5);
-x_37 = lean_array_uset(x_36, x_8, x_5);
-if (lean_is_exclusive(x_5)) {
- lean_ctor_release(x_5, 0);
- lean_ctor_release(x_5, 1);
- x_38 = x_5;
-} else {
- lean_dec_ref(x_5);
- x_38 = lean_box(0);
-}
-x_39 = lean_ctor_get(x_35, 1);
-lean_inc(x_39);
-lean_dec(x_35);
-if (lean_is_scalar(x_38)) {
- x_40 = lean_alloc_ctor(5, 2, 8);
-} else {
- x_40 = x_38;
-}
-lean_ctor_set(x_40, 0, x_10);
-lean_ctor_set(x_40, 1, x_11);
-lean_ctor_set_uint64(x_40, sizeof(void*)*2, x_12);
-x_41 = lean_expr_update_app(x_40, x_14, x_34);
-lean_inc(x_41);
-x_42 = lean_array_uset(x_39, x_8, x_41);
-x_43 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_43, 0, x_37);
-lean_ctor_set(x_43, 1, x_42);
-x_44 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_44, 0, x_41);
-lean_ctor_set(x_44, 1, x_43);
-return x_44;
-}
-}
-case 6:
-{
-lean_object* x_45; lean_object* x_46; lean_object* x_47; uint64_t x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; uint8_t x_53;
-x_45 = lean_ctor_get(x_5, 0);
-lean_inc(x_45);
-x_46 = lean_ctor_get(x_5, 1);
-lean_inc(x_46);
-x_47 = lean_ctor_get(x_5, 2);
-lean_inc(x_47);
-x_48 = lean_ctor_get_uint64(x_5, sizeof(void*)*3);
-lean_inc(x_46);
-lean_inc(x_3);
-x_49 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_fixLevelParams___spec__3(x_1, x_2, x_3, x_4, x_46, x_6);
-x_50 = lean_ctor_get(x_49, 0);
-lean_inc(x_50);
-x_51 = lean_ctor_get(x_49, 1);
-lean_inc(x_51);
-lean_dec(x_49);
-lean_inc(x_47);
-x_52 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_fixLevelParams___spec__3(x_1, x_2, x_3, x_4, x_47, x_51);
-x_53 = !lean_is_exclusive(x_52);
-if (x_53 == 0)
-{
-lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; uint8_t x_58;
-x_54 = lean_ctor_get(x_52, 0);
-x_55 = lean_ctor_get(x_52, 1);
-x_56 = lean_ctor_get(x_55, 0);
-lean_inc(x_56);
-lean_inc(x_5);
-x_57 = lean_array_uset(x_56, x_8, x_5);
-x_58 = !lean_is_exclusive(x_5);
-if (x_58 == 0)
-{
-lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; uint8_t x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66;
-x_59 = lean_ctor_get(x_5, 2);
-lean_dec(x_59);
-x_60 = lean_ctor_get(x_5, 1);
-lean_dec(x_60);
-x_61 = lean_ctor_get(x_5, 0);
-lean_dec(x_61);
-x_62 = lean_ctor_get(x_55, 1);
-lean_inc(x_62);
-lean_dec(x_55);
-x_63 = (uint8_t)((x_48 << 24) >> 61);
-x_64 = lean_expr_update_lambda(x_5, x_63, x_50, x_54);
-lean_inc(x_64);
-x_65 = lean_array_uset(x_62, x_8, x_64);
-x_66 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_66, 0, x_57);
-lean_ctor_set(x_66, 1, x_65);
-lean_ctor_set(x_52, 1, x_66);
-lean_ctor_set(x_52, 0, x_64);
-return x_52;
-}
-else
-{
-lean_object* x_67; lean_object* x_68; uint8_t x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72;
-lean_dec(x_5);
-x_67 = lean_ctor_get(x_55, 1);
-lean_inc(x_67);
-lean_dec(x_55);
-x_68 = lean_alloc_ctor(6, 3, 8);
-lean_ctor_set(x_68, 0, x_45);
-lean_ctor_set(x_68, 1, x_46);
-lean_ctor_set(x_68, 2, x_47);
-lean_ctor_set_uint64(x_68, sizeof(void*)*3, x_48);
-x_69 = (uint8_t)((x_48 << 24) >> 61);
-x_70 = lean_expr_update_lambda(x_68, x_69, x_50, x_54);
-lean_inc(x_70);
-x_71 = lean_array_uset(x_67, x_8, x_70);
-x_72 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_72, 0, x_57);
-lean_ctor_set(x_72, 1, x_71);
-lean_ctor_set(x_52, 1, x_72);
-lean_ctor_set(x_52, 0, x_70);
-return x_52;
-}
-}
-else
-{
-lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; uint8_t x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84;
-x_73 = lean_ctor_get(x_52, 0);
-x_74 = lean_ctor_get(x_52, 1);
-lean_inc(x_74);
-lean_inc(x_73);
-lean_dec(x_52);
-x_75 = lean_ctor_get(x_74, 0);
-lean_inc(x_75);
-lean_inc(x_5);
-x_76 = lean_array_uset(x_75, x_8, x_5);
-if (lean_is_exclusive(x_5)) {
- lean_ctor_release(x_5, 0);
- lean_ctor_release(x_5, 1);
- lean_ctor_release(x_5, 2);
- x_77 = x_5;
-} else {
- lean_dec_ref(x_5);
- x_77 = lean_box(0);
-}
-x_78 = lean_ctor_get(x_74, 1);
-lean_inc(x_78);
-lean_dec(x_74);
-if (lean_is_scalar(x_77)) {
- x_79 = lean_alloc_ctor(6, 3, 8);
-} else {
- x_79 = x_77;
-}
-lean_ctor_set(x_79, 0, x_45);
-lean_ctor_set(x_79, 1, x_46);
-lean_ctor_set(x_79, 2, x_47);
-lean_ctor_set_uint64(x_79, sizeof(void*)*3, x_48);
-x_80 = (uint8_t)((x_48 << 24) >> 61);
-x_81 = lean_expr_update_lambda(x_79, x_80, x_50, x_73);
-lean_inc(x_81);
-x_82 = lean_array_uset(x_78, x_8, x_81);
-x_83 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_83, 0, x_76);
-lean_ctor_set(x_83, 1, x_82);
-x_84 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_84, 0, x_81);
-lean_ctor_set(x_84, 1, x_83);
-return x_84;
-}
-}
-case 7:
-{
-lean_object* x_85; lean_object* x_86; lean_object* x_87; uint64_t x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; uint8_t x_93;
-x_85 = lean_ctor_get(x_5, 0);
-lean_inc(x_85);
-x_86 = lean_ctor_get(x_5, 1);
-lean_inc(x_86);
-x_87 = lean_ctor_get(x_5, 2);
-lean_inc(x_87);
-x_88 = lean_ctor_get_uint64(x_5, sizeof(void*)*3);
-lean_inc(x_86);
-lean_inc(x_3);
-x_89 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_fixLevelParams___spec__3(x_1, x_2, x_3, x_4, x_86, x_6);
-x_90 = lean_ctor_get(x_89, 0);
-lean_inc(x_90);
-x_91 = lean_ctor_get(x_89, 1);
-lean_inc(x_91);
-lean_dec(x_89);
-lean_inc(x_87);
-x_92 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_fixLevelParams___spec__3(x_1, x_2, x_3, x_4, x_87, x_91);
-x_93 = !lean_is_exclusive(x_92);
-if (x_93 == 0)
-{
-lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; uint8_t x_98;
-x_94 = lean_ctor_get(x_92, 0);
-x_95 = lean_ctor_get(x_92, 1);
-x_96 = lean_ctor_get(x_95, 0);
-lean_inc(x_96);
-lean_inc(x_5);
-x_97 = lean_array_uset(x_96, x_8, x_5);
-x_98 = !lean_is_exclusive(x_5);
-if (x_98 == 0)
-{
-lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; uint8_t x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106;
-x_99 = lean_ctor_get(x_5, 2);
-lean_dec(x_99);
-x_100 = lean_ctor_get(x_5, 1);
-lean_dec(x_100);
-x_101 = lean_ctor_get(x_5, 0);
-lean_dec(x_101);
-x_102 = lean_ctor_get(x_95, 1);
-lean_inc(x_102);
-lean_dec(x_95);
-x_103 = (uint8_t)((x_88 << 24) >> 61);
-x_104 = lean_expr_update_forall(x_5, x_103, x_90, x_94);
-lean_inc(x_104);
-x_105 = lean_array_uset(x_102, x_8, x_104);
-x_106 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_106, 0, x_97);
-lean_ctor_set(x_106, 1, x_105);
-lean_ctor_set(x_92, 1, x_106);
-lean_ctor_set(x_92, 0, x_104);
-return x_92;
-}
-else
-{
-lean_object* x_107; lean_object* x_108; uint8_t x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112;
-lean_dec(x_5);
-x_107 = lean_ctor_get(x_95, 1);
-lean_inc(x_107);
-lean_dec(x_95);
-x_108 = lean_alloc_ctor(7, 3, 8);
-lean_ctor_set(x_108, 0, x_85);
-lean_ctor_set(x_108, 1, x_86);
-lean_ctor_set(x_108, 2, x_87);
-lean_ctor_set_uint64(x_108, sizeof(void*)*3, x_88);
-x_109 = (uint8_t)((x_88 << 24) >> 61);
-x_110 = lean_expr_update_forall(x_108, x_109, x_90, x_94);
-lean_inc(x_110);
-x_111 = lean_array_uset(x_107, x_8, x_110);
-x_112 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_112, 0, x_97);
-lean_ctor_set(x_112, 1, x_111);
-lean_ctor_set(x_92, 1, x_112);
-lean_ctor_set(x_92, 0, x_110);
-return x_92;
-}
-}
-else
-{
-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; uint8_t x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124;
-x_113 = lean_ctor_get(x_92, 0);
-x_114 = lean_ctor_get(x_92, 1);
-lean_inc(x_114);
-lean_inc(x_113);
-lean_dec(x_92);
-x_115 = lean_ctor_get(x_114, 0);
-lean_inc(x_115);
-lean_inc(x_5);
-x_116 = lean_array_uset(x_115, x_8, x_5);
-if (lean_is_exclusive(x_5)) {
- lean_ctor_release(x_5, 0);
- lean_ctor_release(x_5, 1);
- lean_ctor_release(x_5, 2);
- x_117 = x_5;
-} else {
- lean_dec_ref(x_5);
- x_117 = lean_box(0);
-}
-x_118 = lean_ctor_get(x_114, 1);
-lean_inc(x_118);
-lean_dec(x_114);
-if (lean_is_scalar(x_117)) {
- x_119 = lean_alloc_ctor(7, 3, 8);
-} else {
- x_119 = x_117;
-}
-lean_ctor_set(x_119, 0, x_85);
-lean_ctor_set(x_119, 1, x_86);
-lean_ctor_set(x_119, 2, x_87);
-lean_ctor_set_uint64(x_119, sizeof(void*)*3, x_88);
-x_120 = (uint8_t)((x_88 << 24) >> 61);
-x_121 = lean_expr_update_forall(x_119, x_120, x_90, x_113);
-lean_inc(x_121);
-x_122 = lean_array_uset(x_118, x_8, x_121);
-x_123 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_123, 0, x_116);
-lean_ctor_set(x_123, 1, x_122);
-x_124 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_124, 0, x_121);
-lean_ctor_set(x_124, 1, x_123);
-return x_124;
-}
-}
-case 8:
-{
-lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; uint64_t x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; uint8_t x_137;
-x_125 = lean_ctor_get(x_5, 0);
-lean_inc(x_125);
-x_126 = lean_ctor_get(x_5, 1);
-lean_inc(x_126);
-x_127 = lean_ctor_get(x_5, 2);
-lean_inc(x_127);
-x_128 = lean_ctor_get(x_5, 3);
-lean_inc(x_128);
-x_129 = lean_ctor_get_uint64(x_5, sizeof(void*)*4);
-lean_inc(x_126);
-lean_inc(x_3);
-x_130 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_fixLevelParams___spec__3(x_1, x_2, x_3, x_4, x_126, x_6);
-x_131 = lean_ctor_get(x_130, 0);
-lean_inc(x_131);
-x_132 = lean_ctor_get(x_130, 1);
-lean_inc(x_132);
-lean_dec(x_130);
-lean_inc(x_127);
-lean_inc(x_3);
-x_133 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_fixLevelParams___spec__3(x_1, x_2, x_3, x_4, x_127, x_132);
-x_134 = lean_ctor_get(x_133, 0);
-lean_inc(x_134);
-x_135 = lean_ctor_get(x_133, 1);
-lean_inc(x_135);
-lean_dec(x_133);
-lean_inc(x_128);
-x_136 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_fixLevelParams___spec__3(x_1, x_2, x_3, x_4, x_128, x_135);
-x_137 = !lean_is_exclusive(x_136);
-if (x_137 == 0)
-{
-lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; uint8_t x_142;
-x_138 = lean_ctor_get(x_136, 0);
-x_139 = lean_ctor_get(x_136, 1);
-x_140 = lean_ctor_get(x_139, 0);
-lean_inc(x_140);
-lean_inc(x_5);
-x_141 = lean_array_uset(x_140, x_8, x_5);
-x_142 = !lean_is_exclusive(x_5);
-if (x_142 == 0)
-{
-lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150;
-x_143 = lean_ctor_get(x_5, 3);
-lean_dec(x_143);
-x_144 = lean_ctor_get(x_5, 2);
-lean_dec(x_144);
-x_145 = lean_ctor_get(x_5, 1);
-lean_dec(x_145);
-x_146 = lean_ctor_get(x_5, 0);
-lean_dec(x_146);
-x_147 = lean_ctor_get(x_139, 1);
-lean_inc(x_147);
-lean_dec(x_139);
-x_148 = lean_expr_update_let(x_5, x_131, x_134, x_138);
-lean_inc(x_148);
-x_149 = lean_array_uset(x_147, x_8, x_148);
-x_150 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_150, 0, x_141);
-lean_ctor_set(x_150, 1, x_149);
-lean_ctor_set(x_136, 1, x_150);
-lean_ctor_set(x_136, 0, x_148);
-return x_136;
-}
-else
-{
-lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155;
-lean_dec(x_5);
-x_151 = lean_ctor_get(x_139, 1);
-lean_inc(x_151);
-lean_dec(x_139);
-x_152 = lean_alloc_ctor(8, 4, 8);
-lean_ctor_set(x_152, 0, x_125);
-lean_ctor_set(x_152, 1, x_126);
-lean_ctor_set(x_152, 2, x_127);
-lean_ctor_set(x_152, 3, x_128);
-lean_ctor_set_uint64(x_152, sizeof(void*)*4, x_129);
-x_153 = lean_expr_update_let(x_152, x_131, x_134, x_138);
-lean_inc(x_153);
-x_154 = lean_array_uset(x_151, x_8, x_153);
-x_155 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_155, 0, x_141);
-lean_ctor_set(x_155, 1, x_154);
-lean_ctor_set(x_136, 1, x_155);
-lean_ctor_set(x_136, 0, x_153);
-return x_136;
-}
-}
-else
-{
-lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166;
-x_156 = lean_ctor_get(x_136, 0);
-x_157 = lean_ctor_get(x_136, 1);
-lean_inc(x_157);
-lean_inc(x_156);
-lean_dec(x_136);
-x_158 = lean_ctor_get(x_157, 0);
-lean_inc(x_158);
-lean_inc(x_5);
-x_159 = lean_array_uset(x_158, x_8, x_5);
-if (lean_is_exclusive(x_5)) {
- lean_ctor_release(x_5, 0);
- lean_ctor_release(x_5, 1);
- lean_ctor_release(x_5, 2);
- lean_ctor_release(x_5, 3);
- x_160 = x_5;
-} else {
- lean_dec_ref(x_5);
- x_160 = lean_box(0);
-}
-x_161 = lean_ctor_get(x_157, 1);
-lean_inc(x_161);
-lean_dec(x_157);
-if (lean_is_scalar(x_160)) {
- x_162 = lean_alloc_ctor(8, 4, 8);
-} else {
- x_162 = x_160;
-}
-lean_ctor_set(x_162, 0, x_125);
-lean_ctor_set(x_162, 1, x_126);
-lean_ctor_set(x_162, 2, x_127);
-lean_ctor_set(x_162, 3, x_128);
-lean_ctor_set_uint64(x_162, sizeof(void*)*4, x_129);
-x_163 = lean_expr_update_let(x_162, x_131, x_134, x_156);
-lean_inc(x_163);
-x_164 = lean_array_uset(x_161, x_8, x_163);
-x_165 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_165, 0, x_159);
-lean_ctor_set(x_165, 1, x_164);
-x_166 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_166, 0, x_163);
-lean_ctor_set(x_166, 1, x_165);
-return x_166;
-}
-}
-case 10:
-{
-lean_object* x_167; lean_object* x_168; uint64_t x_169; lean_object* x_170; uint8_t x_171;
-x_167 = lean_ctor_get(x_5, 0);
-lean_inc(x_167);
-x_168 = lean_ctor_get(x_5, 1);
-lean_inc(x_168);
-x_169 = lean_ctor_get_uint64(x_5, sizeof(void*)*2);
-lean_inc(x_168);
-x_170 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_fixLevelParams___spec__3(x_1, x_2, x_3, x_4, x_168, x_6);
-x_171 = !lean_is_exclusive(x_170);
-if (x_171 == 0)
-{
-lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; uint8_t x_176;
-x_172 = lean_ctor_get(x_170, 0);
-x_173 = lean_ctor_get(x_170, 1);
-x_174 = lean_ctor_get(x_173, 0);
-lean_inc(x_174);
-lean_inc(x_5);
-x_175 = lean_array_uset(x_174, x_8, x_5);
-x_176 = !lean_is_exclusive(x_5);
-if (x_176 == 0)
-{
-lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182;
-x_177 = lean_ctor_get(x_5, 1);
-lean_dec(x_177);
-x_178 = lean_ctor_get(x_5, 0);
-lean_dec(x_178);
-x_179 = lean_ctor_get(x_173, 1);
-lean_inc(x_179);
-lean_dec(x_173);
-x_180 = lean_expr_update_mdata(x_5, x_172);
-lean_inc(x_180);
-x_181 = lean_array_uset(x_179, x_8, x_180);
-x_182 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_182, 0, x_175);
-lean_ctor_set(x_182, 1, x_181);
-lean_ctor_set(x_170, 1, x_182);
-lean_ctor_set(x_170, 0, x_180);
-return x_170;
-}
-else
-{
-lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187;
-lean_dec(x_5);
-x_183 = lean_ctor_get(x_173, 1);
-lean_inc(x_183);
-lean_dec(x_173);
-x_184 = lean_alloc_ctor(10, 2, 8);
-lean_ctor_set(x_184, 0, x_167);
-lean_ctor_set(x_184, 1, x_168);
-lean_ctor_set_uint64(x_184, sizeof(void*)*2, x_169);
-x_185 = lean_expr_update_mdata(x_184, x_172);
-lean_inc(x_185);
-x_186 = lean_array_uset(x_183, x_8, x_185);
-x_187 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_187, 0, x_175);
-lean_ctor_set(x_187, 1, x_186);
-lean_ctor_set(x_170, 1, x_187);
-lean_ctor_set(x_170, 0, x_185);
-return x_170;
-}
-}
-else
-{
-lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198;
-x_188 = lean_ctor_get(x_170, 0);
-x_189 = lean_ctor_get(x_170, 1);
-lean_inc(x_189);
-lean_inc(x_188);
-lean_dec(x_170);
-x_190 = lean_ctor_get(x_189, 0);
-lean_inc(x_190);
-lean_inc(x_5);
-x_191 = lean_array_uset(x_190, x_8, x_5);
-if (lean_is_exclusive(x_5)) {
- lean_ctor_release(x_5, 0);
- lean_ctor_release(x_5, 1);
- x_192 = x_5;
-} else {
- lean_dec_ref(x_5);
- x_192 = lean_box(0);
-}
-x_193 = lean_ctor_get(x_189, 1);
-lean_inc(x_193);
-lean_dec(x_189);
-if (lean_is_scalar(x_192)) {
- x_194 = lean_alloc_ctor(10, 2, 8);
-} else {
- x_194 = x_192;
-}
-lean_ctor_set(x_194, 0, x_167);
-lean_ctor_set(x_194, 1, x_168);
-lean_ctor_set_uint64(x_194, sizeof(void*)*2, x_169);
-x_195 = lean_expr_update_mdata(x_194, x_188);
-lean_inc(x_195);
-x_196 = lean_array_uset(x_193, x_8, x_195);
-x_197 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_197, 0, x_191);
-lean_ctor_set(x_197, 1, x_196);
-x_198 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_198, 0, x_195);
-lean_ctor_set(x_198, 1, x_197);
-return x_198;
-}
-}
-case 11:
-{
-lean_object* x_199; lean_object* x_200; lean_object* x_201; uint64_t x_202; lean_object* x_203; uint8_t x_204;
-x_199 = lean_ctor_get(x_5, 0);
-lean_inc(x_199);
-x_200 = lean_ctor_get(x_5, 1);
-lean_inc(x_200);
-x_201 = lean_ctor_get(x_5, 2);
-lean_inc(x_201);
-x_202 = lean_ctor_get_uint64(x_5, sizeof(void*)*3);
-lean_inc(x_201);
-x_203 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_fixLevelParams___spec__3(x_1, x_2, x_3, x_4, x_201, x_6);
-x_204 = !lean_is_exclusive(x_203);
-if (x_204 == 0)
-{
-lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; uint8_t x_209;
-x_205 = lean_ctor_get(x_203, 0);
-x_206 = lean_ctor_get(x_203, 1);
-x_207 = lean_ctor_get(x_206, 0);
-lean_inc(x_207);
-lean_inc(x_5);
-x_208 = lean_array_uset(x_207, x_8, x_5);
-x_209 = !lean_is_exclusive(x_5);
-if (x_209 == 0)
-{
-lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214; lean_object* x_215; lean_object* x_216;
-x_210 = lean_ctor_get(x_5, 2);
-lean_dec(x_210);
-x_211 = lean_ctor_get(x_5, 1);
-lean_dec(x_211);
-x_212 = lean_ctor_get(x_5, 0);
-lean_dec(x_212);
-x_213 = lean_ctor_get(x_206, 1);
-lean_inc(x_213);
-lean_dec(x_206);
-x_214 = lean_expr_update_proj(x_5, x_205);
-lean_inc(x_214);
-x_215 = lean_array_uset(x_213, x_8, x_214);
-x_216 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_216, 0, x_208);
-lean_ctor_set(x_216, 1, x_215);
-lean_ctor_set(x_203, 1, x_216);
-lean_ctor_set(x_203, 0, x_214);
-return x_203;
-}
-else
-{
-lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; lean_object* x_221;
-lean_dec(x_5);
-x_217 = lean_ctor_get(x_206, 1);
-lean_inc(x_217);
-lean_dec(x_206);
-x_218 = lean_alloc_ctor(11, 3, 8);
-lean_ctor_set(x_218, 0, x_199);
-lean_ctor_set(x_218, 1, x_200);
-lean_ctor_set(x_218, 2, x_201);
-lean_ctor_set_uint64(x_218, sizeof(void*)*3, x_202);
-x_219 = lean_expr_update_proj(x_218, x_205);
-lean_inc(x_219);
-x_220 = lean_array_uset(x_217, x_8, x_219);
-x_221 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_221, 0, x_208);
-lean_ctor_set(x_221, 1, x_220);
-lean_ctor_set(x_203, 1, x_221);
-lean_ctor_set(x_203, 0, x_219);
-return x_203;
-}
-}
-else
-{
-lean_object* x_222; lean_object* x_223; lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; lean_object* x_228; lean_object* x_229; lean_object* x_230; lean_object* x_231; lean_object* x_232;
-x_222 = lean_ctor_get(x_203, 0);
-x_223 = lean_ctor_get(x_203, 1);
-lean_inc(x_223);
-lean_inc(x_222);
-lean_dec(x_203);
-x_224 = lean_ctor_get(x_223, 0);
-lean_inc(x_224);
-lean_inc(x_5);
-x_225 = lean_array_uset(x_224, x_8, x_5);
-if (lean_is_exclusive(x_5)) {
- lean_ctor_release(x_5, 0);
- lean_ctor_release(x_5, 1);
- lean_ctor_release(x_5, 2);
- x_226 = x_5;
-} else {
- lean_dec_ref(x_5);
- x_226 = lean_box(0);
-}
-x_227 = lean_ctor_get(x_223, 1);
-lean_inc(x_227);
-lean_dec(x_223);
-if (lean_is_scalar(x_226)) {
- x_228 = lean_alloc_ctor(11, 3, 8);
-} else {
- x_228 = x_226;
-}
-lean_ctor_set(x_228, 0, x_199);
-lean_ctor_set(x_228, 1, x_200);
-lean_ctor_set(x_228, 2, x_201);
-lean_ctor_set_uint64(x_228, sizeof(void*)*3, x_202);
-x_229 = lean_expr_update_proj(x_228, x_222);
-lean_inc(x_229);
-x_230 = lean_array_uset(x_227, x_8, x_229);
-x_231 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_231, 0, x_225);
-lean_ctor_set(x_231, 1, x_230);
-x_232 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_232, 0, x_229);
-lean_ctor_set(x_232, 1, x_231);
-return x_232;
-}
-}
-case 12:
-{
-lean_object* x_233; lean_object* x_234; lean_object* x_235;
-lean_dec(x_5);
-lean_dec(x_3);
-x_233 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___closed__1;
-x_234 = l_unreachable_x21___rarg(x_233);
-x_235 = lean_apply_1(x_234, x_6);
-return x_235;
-}
-default:
-{
-lean_object* x_236;
-lean_dec(x_3);
-x_236 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_236, 0, x_5);
-lean_ctor_set(x_236, 1, x_6);
-return x_236;
-}
-}
-}
-}
-}
-lean_object* l_Array_umapMAux___main___at_Lean_Elab_fixLevelParams___spec__4(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* l_Array_umapMAux___main___at_Lean_Elab_fixLevelParams___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
lean_object* x_7; uint8_t x_8;
@@ -2627,6 +1013,8 @@ lean_object* x_9;
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
+lean_dec(x_2);
+lean_dec(x_1);
x_9 = x_6;
return x_9;
}
@@ -2640,76 +1028,88 @@ x_13 = x_10;
x_14 = !lean_is_exclusive(x_13);
if (x_14 == 0)
{
-lean_object* x_15; lean_object* x_16; lean_object* x_17; size_t 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_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; size_t 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;
x_15 = lean_ctor_get(x_13, 3);
x_16 = lean_ctor_get(x_13, 4);
x_17 = lean_ctor_get(x_13, 0);
lean_dec(x_17);
-x_18 = 8192;
-x_19 = l_Lean_Expr_ReplaceImpl_initCache;
lean_inc(x_4);
-x_20 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_fixLevelParams___spec__2(x_1, x_2, x_4, x_18, x_15, x_19);
-x_21 = lean_ctor_get(x_20, 0);
-lean_inc(x_21);
-lean_dec(x_20);
-lean_inc(x_4);
-x_22 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_fixLevelParams___spec__3(x_1, x_2, x_4, x_18, x_16, x_19);
-x_23 = lean_ctor_get(x_22, 0);
-lean_inc(x_23);
-lean_dec(x_22);
+lean_inc(x_1);
+lean_inc(x_2);
+x_18 = lean_alloc_closure((void*)(l_Array_umapMAux___main___at_Lean_Elab_fixLevelParams___spec__2___lambda__1___boxed), 4, 3);
+lean_closure_set(x_18, 0, x_2);
+lean_closure_set(x_18, 1, x_1);
+lean_closure_set(x_18, 2, x_4);
+x_19 = 8192;
+x_20 = l_Lean_Expr_ReplaceImpl_initCache;
+lean_inc(x_18);
+x_21 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(x_18, x_19, x_15, x_20);
+x_22 = lean_ctor_get(x_21, 0);
+lean_inc(x_22);
+lean_dec(x_21);
+x_23 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(x_18, x_19, x_16, x_20);
+x_24 = lean_ctor_get(x_23, 0);
+lean_inc(x_24);
+lean_dec(x_23);
lean_inc(x_3);
-lean_ctor_set(x_13, 4, x_23);
-lean_ctor_set(x_13, 3, x_21);
+lean_ctor_set(x_13, 4, x_24);
+lean_ctor_set(x_13, 3, x_22);
lean_ctor_set(x_13, 0, x_3);
-x_24 = lean_unsigned_to_nat(1u);
-x_25 = lean_nat_add(x_5, x_24);
-x_26 = x_13;
-x_27 = lean_array_fset(x_12, x_5, x_26);
+x_25 = lean_unsigned_to_nat(1u);
+x_26 = lean_nat_add(x_5, x_25);
+x_27 = x_13;
+x_28 = lean_array_fset(x_12, x_5, x_27);
lean_dec(x_5);
-x_5 = x_25;
-x_6 = x_27;
+x_5 = x_26;
+x_6 = x_28;
goto _start;
}
else
{
-uint8_t x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; size_t 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;
-x_29 = lean_ctor_get_uint8(x_13, sizeof(void*)*5);
-x_30 = lean_ctor_get(x_13, 1);
-x_31 = lean_ctor_get(x_13, 2);
-x_32 = lean_ctor_get(x_13, 3);
-x_33 = lean_ctor_get(x_13, 4);
+uint8_t x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; size_t 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;
+x_30 = lean_ctor_get_uint8(x_13, sizeof(void*)*5);
+x_31 = lean_ctor_get(x_13, 1);
+x_32 = lean_ctor_get(x_13, 2);
+x_33 = lean_ctor_get(x_13, 3);
+x_34 = lean_ctor_get(x_13, 4);
+lean_inc(x_34);
lean_inc(x_33);
lean_inc(x_32);
lean_inc(x_31);
-lean_inc(x_30);
lean_dec(x_13);
-x_34 = 8192;
-x_35 = l_Lean_Expr_ReplaceImpl_initCache;
lean_inc(x_4);
-x_36 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_fixLevelParams___spec__2(x_1, x_2, x_4, x_34, x_32, x_35);
-x_37 = lean_ctor_get(x_36, 0);
-lean_inc(x_37);
-lean_dec(x_36);
-lean_inc(x_4);
-x_38 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_fixLevelParams___spec__3(x_1, x_2, x_4, x_34, x_33, x_35);
+lean_inc(x_1);
+lean_inc(x_2);
+x_35 = lean_alloc_closure((void*)(l_Array_umapMAux___main___at_Lean_Elab_fixLevelParams___spec__2___lambda__1___boxed), 4, 3);
+lean_closure_set(x_35, 0, x_2);
+lean_closure_set(x_35, 1, x_1);
+lean_closure_set(x_35, 2, x_4);
+x_36 = 8192;
+x_37 = l_Lean_Expr_ReplaceImpl_initCache;
+lean_inc(x_35);
+x_38 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(x_35, x_36, x_33, x_37);
x_39 = lean_ctor_get(x_38, 0);
lean_inc(x_39);
lean_dec(x_38);
+x_40 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(x_35, x_36, x_34, x_37);
+x_41 = lean_ctor_get(x_40, 0);
+lean_inc(x_41);
+lean_dec(x_40);
lean_inc(x_3);
-x_40 = lean_alloc_ctor(0, 5, 1);
-lean_ctor_set(x_40, 0, x_3);
-lean_ctor_set(x_40, 1, x_30);
-lean_ctor_set(x_40, 2, x_31);
-lean_ctor_set(x_40, 3, x_37);
-lean_ctor_set(x_40, 4, x_39);
-lean_ctor_set_uint8(x_40, sizeof(void*)*5, x_29);
-x_41 = lean_unsigned_to_nat(1u);
-x_42 = lean_nat_add(x_5, x_41);
-x_43 = x_40;
-x_44 = lean_array_fset(x_12, x_5, x_43);
+x_42 = lean_alloc_ctor(0, 5, 1);
+lean_ctor_set(x_42, 0, x_3);
+lean_ctor_set(x_42, 1, x_31);
+lean_ctor_set(x_42, 2, x_32);
+lean_ctor_set(x_42, 3, x_39);
+lean_ctor_set(x_42, 4, x_41);
+lean_ctor_set_uint8(x_42, sizeof(void*)*5, x_30);
+x_43 = lean_unsigned_to_nat(1u);
+x_44 = lean_nat_add(x_5, x_43);
+x_45 = x_42;
+x_46 = lean_array_fset(x_12, x_5, x_45);
lean_dec(x_5);
-x_5 = x_42;
-x_6 = x_44;
+x_5 = x_44;
+x_6 = x_46;
goto _start;
}
}
@@ -2735,9 +1135,7 @@ x_15 = l_List_map___main___at_Lean_Meta_addGlobalInstanceImp___spec__1(x_14);
lean_inc(x_11);
x_16 = x_11;
x_17 = lean_unsigned_to_nat(0u);
-x_18 = l_Array_umapMAux___main___at_Lean_Elab_fixLevelParams___spec__4(x_1, x_11, x_14, x_15, x_17, x_16);
-lean_dec(x_11);
-lean_dec(x_1);
+x_18 = l_Array_umapMAux___main___at_Lean_Elab_fixLevelParams___spec__2(x_1, x_11, x_14, x_15, x_17, x_16);
x_19 = x_18;
lean_ctor_set(x_12, 0, x_19);
return x_12;
@@ -2755,9 +1153,7 @@ x_22 = l_List_map___main___at_Lean_Meta_addGlobalInstanceImp___spec__1(x_20);
lean_inc(x_11);
x_23 = x_11;
x_24 = lean_unsigned_to_nat(0u);
-x_25 = l_Array_umapMAux___main___at_Lean_Elab_fixLevelParams___spec__4(x_1, x_11, x_20, x_22, x_24, x_23);
-lean_dec(x_11);
-lean_dec(x_1);
+x_25 = l_Array_umapMAux___main___at_Lean_Elab_fixLevelParams___spec__2(x_1, x_11, x_20, x_22, x_24, x_23);
x_26 = x_25;
x_27 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_27, 0, x_26);
@@ -2804,38 +1200,14 @@ x_7 = lean_box(x_6);
return x_7;
}
}
-lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_fixLevelParams___spec__2___boxed(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* l_Array_umapMAux___main___at_Lean_Elab_fixLevelParams___spec__2___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
-size_t x_7; lean_object* x_8;
-x_7 = lean_unbox_usize(x_4);
-lean_dec(x_4);
-x_8 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_fixLevelParams___spec__2(x_1, x_2, x_3, x_7, x_5, x_6);
+lean_object* x_5;
+x_5 = l_Array_umapMAux___main___at_Lean_Elab_fixLevelParams___spec__2___lambda__1(x_1, x_2, x_3, x_4);
lean_dec(x_2);
lean_dec(x_1);
-return x_8;
-}
-}
-lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_fixLevelParams___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
-_start:
-{
-size_t x_7; lean_object* x_8;
-x_7 = lean_unbox_usize(x_4);
-lean_dec(x_4);
-x_8 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_fixLevelParams___spec__3(x_1, x_2, x_3, x_7, x_5, x_6);
-lean_dec(x_2);
-lean_dec(x_1);
-return x_8;
-}
-}
-lean_object* l_Array_umapMAux___main___at_Lean_Elab_fixLevelParams___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
-_start:
-{
-lean_object* x_7;
-x_7 = l_Array_umapMAux___main___at_Lean_Elab_fixLevelParams___spec__4(x_1, x_2, x_3, x_4, x_5, x_6);
-lean_dec(x_2);
-lean_dec(x_1);
-return x_7;
+return x_5;
}
}
lean_object* l_Lean_Elab_fixLevelParams___boxed(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) {
@@ -4177,823 +2549,50 @@ return x_10;
}
}
}
-lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_addAndCompileUnsafeRec___spec__2(lean_object* x_1, size_t x_2, lean_object* x_3, lean_object* x_4) {
+lean_object* l_Array_umapMAux___main___at_Lean_Elab_addAndCompileUnsafeRec___spec__2___lambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-size_t x_5; size_t x_6; lean_object* x_7; lean_object* x_236; lean_object* x_237; size_t x_238; uint8_t x_239;
-x_5 = lean_ptr_addr(x_3);
-x_6 = x_2 == 0 ? 0 : x_5 % x_2;
-x_236 = lean_ctor_get(x_4, 0);
-lean_inc(x_236);
-x_237 = lean_array_uget(x_236, x_6);
-x_238 = lean_ptr_addr(x_237);
-lean_dec(x_237);
-x_239 = x_238 == x_5;
-if (x_239 == 0)
+if (lean_obj_tag(x_2) == 4)
{
-if (lean_obj_tag(x_3) == 4)
+lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; uint8_t x_7;
+x_3 = lean_ctor_get(x_2, 0);
+lean_inc(x_3);
+x_4 = lean_ctor_get(x_2, 1);
+lean_inc(x_4);
+lean_dec(x_2);
+x_5 = lean_array_get_size(x_1);
+x_6 = lean_unsigned_to_nat(0u);
+x_7 = l_Array_anyRangeMAux___main___at_Lean_Elab_addAndCompileUnsafeRec___spec__1(x_1, x_3, x_1, x_5, x_6);
+lean_dec(x_5);
+if (x_7 == 0)
{
-lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; uint8_t x_244;
-x_240 = lean_ctor_get(x_3, 0);
-lean_inc(x_240);
-x_241 = lean_ctor_get(x_3, 1);
-lean_inc(x_241);
-x_242 = lean_array_get_size(x_1);
-x_243 = lean_unsigned_to_nat(0u);
-x_244 = l_Array_anyRangeMAux___main___at_Lean_Elab_addAndCompileUnsafeRec___spec__1(x_1, x_240, x_1, x_242, x_243);
-lean_dec(x_242);
-if (x_244 == 0)
-{
-lean_object* x_245;
-lean_dec(x_241);
-lean_dec(x_240);
-lean_dec(x_236);
-x_245 = lean_box(0);
-x_7 = x_245;
-goto block_235;
-}
-else
-{
-lean_object* x_246; lean_object* x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253;
-x_246 = l_Lean_Compiler_mkUnsafeRecName___closed__1;
-x_247 = lean_name_mk_string(x_240, x_246);
-x_248 = l_Lean_mkConst(x_247, x_241);
-x_249 = lean_array_uset(x_236, x_6, x_3);
-x_250 = lean_ctor_get(x_4, 1);
-lean_inc(x_250);
+lean_object* x_8;
lean_dec(x_4);
-lean_inc(x_248);
-x_251 = lean_array_uset(x_250, x_6, x_248);
-x_252 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_252, 0, x_249);
-lean_ctor_set(x_252, 1, x_251);
-x_253 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_253, 0, x_248);
-lean_ctor_set(x_253, 1, x_252);
-return x_253;
-}
-}
-else
-{
-lean_object* x_254;
-lean_dec(x_236);
-x_254 = lean_box(0);
-x_7 = x_254;
-goto block_235;
-}
-}
-else
-{
-lean_object* x_255; lean_object* x_256; lean_object* x_257;
-lean_dec(x_236);
lean_dec(x_3);
-x_255 = lean_ctor_get(x_4, 1);
-lean_inc(x_255);
-x_256 = lean_array_uget(x_255, x_6);
-lean_dec(x_255);
-x_257 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_257, 0, x_256);
-lean_ctor_set(x_257, 1, x_4);
-return x_257;
-}
-block_235:
-{
-lean_dec(x_7);
-switch (lean_obj_tag(x_3)) {
-case 5:
-{
-lean_object* x_8; lean_object* x_9; uint64_t x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; uint8_t x_15;
-x_8 = lean_ctor_get(x_3, 0);
-lean_inc(x_8);
-x_9 = lean_ctor_get(x_3, 1);
-lean_inc(x_9);
-x_10 = lean_ctor_get_uint64(x_3, sizeof(void*)*2);
-lean_inc(x_8);
-x_11 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_addAndCompileUnsafeRec___spec__2(x_1, x_2, x_8, x_4);
-x_12 = lean_ctor_get(x_11, 0);
-lean_inc(x_12);
-x_13 = lean_ctor_get(x_11, 1);
-lean_inc(x_13);
-lean_dec(x_11);
-lean_inc(x_9);
-x_14 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_addAndCompileUnsafeRec___spec__2(x_1, x_2, x_9, x_13);
-x_15 = !lean_is_exclusive(x_14);
-if (x_15 == 0)
-{
-lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20;
-x_16 = lean_ctor_get(x_14, 0);
-x_17 = lean_ctor_get(x_14, 1);
-x_18 = lean_ctor_get(x_17, 0);
-lean_inc(x_18);
-lean_inc(x_3);
-x_19 = lean_array_uset(x_18, x_6, x_3);
-x_20 = !lean_is_exclusive(x_3);
-if (x_20 == 0)
-{
-lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26;
-x_21 = lean_ctor_get(x_3, 1);
-lean_dec(x_21);
-x_22 = lean_ctor_get(x_3, 0);
-lean_dec(x_22);
-x_23 = lean_ctor_get(x_17, 1);
-lean_inc(x_23);
-lean_dec(x_17);
-x_24 = lean_expr_update_app(x_3, x_12, x_16);
-lean_inc(x_24);
-x_25 = lean_array_uset(x_23, x_6, x_24);
-x_26 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_26, 0, x_19);
-lean_ctor_set(x_26, 1, x_25);
-lean_ctor_set(x_14, 1, x_26);
-lean_ctor_set(x_14, 0, x_24);
-return x_14;
+x_8 = lean_box(0);
+return x_8;
}
else
{
-lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31;
-lean_dec(x_3);
-x_27 = lean_ctor_get(x_17, 1);
-lean_inc(x_27);
-lean_dec(x_17);
-x_28 = lean_alloc_ctor(5, 2, 8);
-lean_ctor_set(x_28, 0, x_8);
-lean_ctor_set(x_28, 1, x_9);
-lean_ctor_set_uint64(x_28, sizeof(void*)*2, x_10);
-x_29 = lean_expr_update_app(x_28, x_12, x_16);
-lean_inc(x_29);
-x_30 = lean_array_uset(x_27, x_6, x_29);
-x_31 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_31, 0, x_19);
-lean_ctor_set(x_31, 1, x_30);
-lean_ctor_set(x_14, 1, x_31);
-lean_ctor_set(x_14, 0, x_29);
-return x_14;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12;
+x_9 = l_Lean_Compiler_mkUnsafeRecName___closed__1;
+x_10 = lean_name_mk_string(x_3, x_9);
+x_11 = l_Lean_mkConst(x_10, x_4);
+x_12 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_12, 0, x_11);
+return x_12;
}
}
else
{
-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;
-x_32 = lean_ctor_get(x_14, 0);
-x_33 = lean_ctor_get(x_14, 1);
-lean_inc(x_33);
-lean_inc(x_32);
-lean_dec(x_14);
-x_34 = lean_ctor_get(x_33, 0);
-lean_inc(x_34);
-lean_inc(x_3);
-x_35 = lean_array_uset(x_34, x_6, x_3);
-if (lean_is_exclusive(x_3)) {
- lean_ctor_release(x_3, 0);
- lean_ctor_release(x_3, 1);
- x_36 = x_3;
-} else {
- lean_dec_ref(x_3);
- x_36 = lean_box(0);
-}
-x_37 = lean_ctor_get(x_33, 1);
-lean_inc(x_37);
-lean_dec(x_33);
-if (lean_is_scalar(x_36)) {
- x_38 = lean_alloc_ctor(5, 2, 8);
-} else {
- x_38 = x_36;
-}
-lean_ctor_set(x_38, 0, x_8);
-lean_ctor_set(x_38, 1, x_9);
-lean_ctor_set_uint64(x_38, sizeof(void*)*2, x_10);
-x_39 = lean_expr_update_app(x_38, x_12, x_32);
-lean_inc(x_39);
-x_40 = lean_array_uset(x_37, x_6, x_39);
-x_41 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_41, 0, x_35);
-lean_ctor_set(x_41, 1, x_40);
-x_42 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_42, 0, x_39);
-lean_ctor_set(x_42, 1, x_41);
-return x_42;
-}
-}
-case 6:
-{
-lean_object* x_43; lean_object* x_44; lean_object* x_45; uint64_t x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; uint8_t x_51;
-x_43 = lean_ctor_get(x_3, 0);
-lean_inc(x_43);
-x_44 = lean_ctor_get(x_3, 1);
-lean_inc(x_44);
-x_45 = lean_ctor_get(x_3, 2);
-lean_inc(x_45);
-x_46 = lean_ctor_get_uint64(x_3, sizeof(void*)*3);
-lean_inc(x_44);
-x_47 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_addAndCompileUnsafeRec___spec__2(x_1, x_2, x_44, x_4);
-x_48 = lean_ctor_get(x_47, 0);
-lean_inc(x_48);
-x_49 = lean_ctor_get(x_47, 1);
-lean_inc(x_49);
-lean_dec(x_47);
-lean_inc(x_45);
-x_50 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_addAndCompileUnsafeRec___spec__2(x_1, x_2, x_45, x_49);
-x_51 = !lean_is_exclusive(x_50);
-if (x_51 == 0)
-{
-lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; uint8_t x_56;
-x_52 = lean_ctor_get(x_50, 0);
-x_53 = lean_ctor_get(x_50, 1);
-x_54 = lean_ctor_get(x_53, 0);
-lean_inc(x_54);
-lean_inc(x_3);
-x_55 = lean_array_uset(x_54, x_6, x_3);
-x_56 = !lean_is_exclusive(x_3);
-if (x_56 == 0)
-{
-lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; uint8_t x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64;
-x_57 = lean_ctor_get(x_3, 2);
-lean_dec(x_57);
-x_58 = lean_ctor_get(x_3, 1);
-lean_dec(x_58);
-x_59 = lean_ctor_get(x_3, 0);
-lean_dec(x_59);
-x_60 = lean_ctor_get(x_53, 1);
-lean_inc(x_60);
-lean_dec(x_53);
-x_61 = (uint8_t)((x_46 << 24) >> 61);
-x_62 = lean_expr_update_lambda(x_3, x_61, x_48, x_52);
-lean_inc(x_62);
-x_63 = lean_array_uset(x_60, x_6, x_62);
-x_64 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_64, 0, x_55);
-lean_ctor_set(x_64, 1, x_63);
-lean_ctor_set(x_50, 1, x_64);
-lean_ctor_set(x_50, 0, x_62);
-return x_50;
-}
-else
-{
-lean_object* x_65; lean_object* x_66; uint8_t x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70;
-lean_dec(x_3);
-x_65 = lean_ctor_get(x_53, 1);
-lean_inc(x_65);
-lean_dec(x_53);
-x_66 = lean_alloc_ctor(6, 3, 8);
-lean_ctor_set(x_66, 0, x_43);
-lean_ctor_set(x_66, 1, x_44);
-lean_ctor_set(x_66, 2, x_45);
-lean_ctor_set_uint64(x_66, sizeof(void*)*3, x_46);
-x_67 = (uint8_t)((x_46 << 24) >> 61);
-x_68 = lean_expr_update_lambda(x_66, x_67, x_48, x_52);
-lean_inc(x_68);
-x_69 = lean_array_uset(x_65, x_6, x_68);
-x_70 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_70, 0, x_55);
-lean_ctor_set(x_70, 1, x_69);
-lean_ctor_set(x_50, 1, x_70);
-lean_ctor_set(x_50, 0, x_68);
-return x_50;
-}
-}
-else
-{
-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; uint8_t x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82;
-x_71 = lean_ctor_get(x_50, 0);
-x_72 = lean_ctor_get(x_50, 1);
-lean_inc(x_72);
-lean_inc(x_71);
-lean_dec(x_50);
-x_73 = lean_ctor_get(x_72, 0);
-lean_inc(x_73);
-lean_inc(x_3);
-x_74 = lean_array_uset(x_73, x_6, x_3);
-if (lean_is_exclusive(x_3)) {
- lean_ctor_release(x_3, 0);
- lean_ctor_release(x_3, 1);
- lean_ctor_release(x_3, 2);
- x_75 = x_3;
-} else {
- lean_dec_ref(x_3);
- x_75 = lean_box(0);
-}
-x_76 = lean_ctor_get(x_72, 1);
-lean_inc(x_76);
-lean_dec(x_72);
-if (lean_is_scalar(x_75)) {
- x_77 = lean_alloc_ctor(6, 3, 8);
-} else {
- x_77 = x_75;
-}
-lean_ctor_set(x_77, 0, x_43);
-lean_ctor_set(x_77, 1, x_44);
-lean_ctor_set(x_77, 2, x_45);
-lean_ctor_set_uint64(x_77, sizeof(void*)*3, x_46);
-x_78 = (uint8_t)((x_46 << 24) >> 61);
-x_79 = lean_expr_update_lambda(x_77, x_78, x_48, x_71);
-lean_inc(x_79);
-x_80 = lean_array_uset(x_76, x_6, x_79);
-x_81 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_81, 0, x_74);
-lean_ctor_set(x_81, 1, x_80);
-x_82 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_82, 0, x_79);
-lean_ctor_set(x_82, 1, x_81);
-return x_82;
-}
-}
-case 7:
-{
-lean_object* x_83; lean_object* x_84; lean_object* x_85; uint64_t x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; uint8_t x_91;
-x_83 = lean_ctor_get(x_3, 0);
-lean_inc(x_83);
-x_84 = lean_ctor_get(x_3, 1);
-lean_inc(x_84);
-x_85 = lean_ctor_get(x_3, 2);
-lean_inc(x_85);
-x_86 = lean_ctor_get_uint64(x_3, sizeof(void*)*3);
-lean_inc(x_84);
-x_87 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_addAndCompileUnsafeRec___spec__2(x_1, x_2, x_84, x_4);
-x_88 = lean_ctor_get(x_87, 0);
-lean_inc(x_88);
-x_89 = lean_ctor_get(x_87, 1);
-lean_inc(x_89);
-lean_dec(x_87);
-lean_inc(x_85);
-x_90 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_addAndCompileUnsafeRec___spec__2(x_1, x_2, x_85, x_89);
-x_91 = !lean_is_exclusive(x_90);
-if (x_91 == 0)
-{
-lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; uint8_t x_96;
-x_92 = lean_ctor_get(x_90, 0);
-x_93 = lean_ctor_get(x_90, 1);
-x_94 = lean_ctor_get(x_93, 0);
-lean_inc(x_94);
-lean_inc(x_3);
-x_95 = lean_array_uset(x_94, x_6, x_3);
-x_96 = !lean_is_exclusive(x_3);
-if (x_96 == 0)
-{
-lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; uint8_t x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104;
-x_97 = lean_ctor_get(x_3, 2);
-lean_dec(x_97);
-x_98 = lean_ctor_get(x_3, 1);
-lean_dec(x_98);
-x_99 = lean_ctor_get(x_3, 0);
-lean_dec(x_99);
-x_100 = lean_ctor_get(x_93, 1);
-lean_inc(x_100);
-lean_dec(x_93);
-x_101 = (uint8_t)((x_86 << 24) >> 61);
-x_102 = lean_expr_update_forall(x_3, x_101, x_88, x_92);
-lean_inc(x_102);
-x_103 = lean_array_uset(x_100, x_6, x_102);
-x_104 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_104, 0, x_95);
-lean_ctor_set(x_104, 1, x_103);
-lean_ctor_set(x_90, 1, x_104);
-lean_ctor_set(x_90, 0, x_102);
-return x_90;
-}
-else
-{
-lean_object* x_105; lean_object* x_106; uint8_t x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110;
-lean_dec(x_3);
-x_105 = lean_ctor_get(x_93, 1);
-lean_inc(x_105);
-lean_dec(x_93);
-x_106 = lean_alloc_ctor(7, 3, 8);
-lean_ctor_set(x_106, 0, x_83);
-lean_ctor_set(x_106, 1, x_84);
-lean_ctor_set(x_106, 2, x_85);
-lean_ctor_set_uint64(x_106, sizeof(void*)*3, x_86);
-x_107 = (uint8_t)((x_86 << 24) >> 61);
-x_108 = lean_expr_update_forall(x_106, x_107, x_88, x_92);
-lean_inc(x_108);
-x_109 = lean_array_uset(x_105, x_6, x_108);
-x_110 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_110, 0, x_95);
-lean_ctor_set(x_110, 1, x_109);
-lean_ctor_set(x_90, 1, x_110);
-lean_ctor_set(x_90, 0, x_108);
-return x_90;
-}
-}
-else
-{
-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; uint8_t x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122;
-x_111 = lean_ctor_get(x_90, 0);
-x_112 = lean_ctor_get(x_90, 1);
-lean_inc(x_112);
-lean_inc(x_111);
-lean_dec(x_90);
-x_113 = lean_ctor_get(x_112, 0);
-lean_inc(x_113);
-lean_inc(x_3);
-x_114 = lean_array_uset(x_113, x_6, x_3);
-if (lean_is_exclusive(x_3)) {
- lean_ctor_release(x_3, 0);
- lean_ctor_release(x_3, 1);
- lean_ctor_release(x_3, 2);
- x_115 = x_3;
-} else {
- lean_dec_ref(x_3);
- x_115 = lean_box(0);
-}
-x_116 = lean_ctor_get(x_112, 1);
-lean_inc(x_116);
-lean_dec(x_112);
-if (lean_is_scalar(x_115)) {
- x_117 = lean_alloc_ctor(7, 3, 8);
-} else {
- x_117 = x_115;
-}
-lean_ctor_set(x_117, 0, x_83);
-lean_ctor_set(x_117, 1, x_84);
-lean_ctor_set(x_117, 2, x_85);
-lean_ctor_set_uint64(x_117, sizeof(void*)*3, x_86);
-x_118 = (uint8_t)((x_86 << 24) >> 61);
-x_119 = lean_expr_update_forall(x_117, x_118, x_88, x_111);
-lean_inc(x_119);
-x_120 = lean_array_uset(x_116, x_6, x_119);
-x_121 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_121, 0, x_114);
-lean_ctor_set(x_121, 1, x_120);
-x_122 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_122, 0, x_119);
-lean_ctor_set(x_122, 1, x_121);
-return x_122;
-}
-}
-case 8:
-{
-lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; uint64_t 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; lean_object* x_134; uint8_t x_135;
-x_123 = lean_ctor_get(x_3, 0);
-lean_inc(x_123);
-x_124 = lean_ctor_get(x_3, 1);
-lean_inc(x_124);
-x_125 = lean_ctor_get(x_3, 2);
-lean_inc(x_125);
-x_126 = lean_ctor_get(x_3, 3);
-lean_inc(x_126);
-x_127 = lean_ctor_get_uint64(x_3, sizeof(void*)*4);
-lean_inc(x_124);
-x_128 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_addAndCompileUnsafeRec___spec__2(x_1, x_2, x_124, x_4);
-x_129 = lean_ctor_get(x_128, 0);
-lean_inc(x_129);
-x_130 = lean_ctor_get(x_128, 1);
-lean_inc(x_130);
-lean_dec(x_128);
-lean_inc(x_125);
-x_131 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_addAndCompileUnsafeRec___spec__2(x_1, x_2, x_125, x_130);
-x_132 = lean_ctor_get(x_131, 0);
-lean_inc(x_132);
-x_133 = lean_ctor_get(x_131, 1);
-lean_inc(x_133);
-lean_dec(x_131);
-lean_inc(x_126);
-x_134 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_addAndCompileUnsafeRec___spec__2(x_1, x_2, x_126, x_133);
-x_135 = !lean_is_exclusive(x_134);
-if (x_135 == 0)
-{
-lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; uint8_t x_140;
-x_136 = lean_ctor_get(x_134, 0);
-x_137 = lean_ctor_get(x_134, 1);
-x_138 = lean_ctor_get(x_137, 0);
-lean_inc(x_138);
-lean_inc(x_3);
-x_139 = lean_array_uset(x_138, x_6, x_3);
-x_140 = !lean_is_exclusive(x_3);
-if (x_140 == 0)
-{
-lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148;
-x_141 = lean_ctor_get(x_3, 3);
-lean_dec(x_141);
-x_142 = lean_ctor_get(x_3, 2);
-lean_dec(x_142);
-x_143 = lean_ctor_get(x_3, 1);
-lean_dec(x_143);
-x_144 = lean_ctor_get(x_3, 0);
-lean_dec(x_144);
-x_145 = lean_ctor_get(x_137, 1);
-lean_inc(x_145);
-lean_dec(x_137);
-x_146 = lean_expr_update_let(x_3, x_129, x_132, x_136);
-lean_inc(x_146);
-x_147 = lean_array_uset(x_145, x_6, x_146);
-x_148 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_148, 0, x_139);
-lean_ctor_set(x_148, 1, x_147);
-lean_ctor_set(x_134, 1, x_148);
-lean_ctor_set(x_134, 0, x_146);
-return x_134;
-}
-else
-{
-lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153;
-lean_dec(x_3);
-x_149 = lean_ctor_get(x_137, 1);
-lean_inc(x_149);
-lean_dec(x_137);
-x_150 = lean_alloc_ctor(8, 4, 8);
-lean_ctor_set(x_150, 0, x_123);
-lean_ctor_set(x_150, 1, x_124);
-lean_ctor_set(x_150, 2, x_125);
-lean_ctor_set(x_150, 3, x_126);
-lean_ctor_set_uint64(x_150, sizeof(void*)*4, x_127);
-x_151 = lean_expr_update_let(x_150, x_129, x_132, x_136);
-lean_inc(x_151);
-x_152 = lean_array_uset(x_149, x_6, x_151);
-x_153 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_153, 0, x_139);
-lean_ctor_set(x_153, 1, x_152);
-lean_ctor_set(x_134, 1, x_153);
-lean_ctor_set(x_134, 0, x_151);
-return x_134;
-}
-}
-else
-{
-lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164;
-x_154 = lean_ctor_get(x_134, 0);
-x_155 = lean_ctor_get(x_134, 1);
-lean_inc(x_155);
-lean_inc(x_154);
-lean_dec(x_134);
-x_156 = lean_ctor_get(x_155, 0);
-lean_inc(x_156);
-lean_inc(x_3);
-x_157 = lean_array_uset(x_156, x_6, x_3);
-if (lean_is_exclusive(x_3)) {
- lean_ctor_release(x_3, 0);
- lean_ctor_release(x_3, 1);
- lean_ctor_release(x_3, 2);
- lean_ctor_release(x_3, 3);
- x_158 = x_3;
-} else {
- lean_dec_ref(x_3);
- x_158 = lean_box(0);
-}
-x_159 = lean_ctor_get(x_155, 1);
-lean_inc(x_159);
-lean_dec(x_155);
-if (lean_is_scalar(x_158)) {
- x_160 = lean_alloc_ctor(8, 4, 8);
-} else {
- x_160 = x_158;
-}
-lean_ctor_set(x_160, 0, x_123);
-lean_ctor_set(x_160, 1, x_124);
-lean_ctor_set(x_160, 2, x_125);
-lean_ctor_set(x_160, 3, x_126);
-lean_ctor_set_uint64(x_160, sizeof(void*)*4, x_127);
-x_161 = lean_expr_update_let(x_160, x_129, x_132, x_154);
-lean_inc(x_161);
-x_162 = lean_array_uset(x_159, x_6, x_161);
-x_163 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_163, 0, x_157);
-lean_ctor_set(x_163, 1, x_162);
-x_164 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_164, 0, x_161);
-lean_ctor_set(x_164, 1, x_163);
-return x_164;
-}
-}
-case 10:
-{
-lean_object* x_165; lean_object* x_166; uint64_t x_167; lean_object* x_168; uint8_t x_169;
-x_165 = lean_ctor_get(x_3, 0);
-lean_inc(x_165);
-x_166 = lean_ctor_get(x_3, 1);
-lean_inc(x_166);
-x_167 = lean_ctor_get_uint64(x_3, sizeof(void*)*2);
-lean_inc(x_166);
-x_168 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_addAndCompileUnsafeRec___spec__2(x_1, x_2, x_166, x_4);
-x_169 = !lean_is_exclusive(x_168);
-if (x_169 == 0)
-{
-lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; uint8_t x_174;
-x_170 = lean_ctor_get(x_168, 0);
-x_171 = lean_ctor_get(x_168, 1);
-x_172 = lean_ctor_get(x_171, 0);
-lean_inc(x_172);
-lean_inc(x_3);
-x_173 = lean_array_uset(x_172, x_6, x_3);
-x_174 = !lean_is_exclusive(x_3);
-if (x_174 == 0)
-{
-lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180;
-x_175 = lean_ctor_get(x_3, 1);
-lean_dec(x_175);
-x_176 = lean_ctor_get(x_3, 0);
-lean_dec(x_176);
-x_177 = lean_ctor_get(x_171, 1);
-lean_inc(x_177);
-lean_dec(x_171);
-x_178 = lean_expr_update_mdata(x_3, x_170);
-lean_inc(x_178);
-x_179 = lean_array_uset(x_177, x_6, x_178);
-x_180 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_180, 0, x_173);
-lean_ctor_set(x_180, 1, x_179);
-lean_ctor_set(x_168, 1, x_180);
-lean_ctor_set(x_168, 0, x_178);
-return x_168;
-}
-else
-{
-lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185;
-lean_dec(x_3);
-x_181 = lean_ctor_get(x_171, 1);
-lean_inc(x_181);
-lean_dec(x_171);
-x_182 = lean_alloc_ctor(10, 2, 8);
-lean_ctor_set(x_182, 0, x_165);
-lean_ctor_set(x_182, 1, x_166);
-lean_ctor_set_uint64(x_182, sizeof(void*)*2, x_167);
-x_183 = lean_expr_update_mdata(x_182, x_170);
-lean_inc(x_183);
-x_184 = lean_array_uset(x_181, x_6, x_183);
-x_185 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_185, 0, x_173);
-lean_ctor_set(x_185, 1, x_184);
-lean_ctor_set(x_168, 1, x_185);
-lean_ctor_set(x_168, 0, x_183);
-return x_168;
-}
-}
-else
-{
-lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196;
-x_186 = lean_ctor_get(x_168, 0);
-x_187 = lean_ctor_get(x_168, 1);
-lean_inc(x_187);
-lean_inc(x_186);
-lean_dec(x_168);
-x_188 = lean_ctor_get(x_187, 0);
-lean_inc(x_188);
-lean_inc(x_3);
-x_189 = lean_array_uset(x_188, x_6, x_3);
-if (lean_is_exclusive(x_3)) {
- lean_ctor_release(x_3, 0);
- lean_ctor_release(x_3, 1);
- x_190 = x_3;
-} else {
- lean_dec_ref(x_3);
- x_190 = lean_box(0);
-}
-x_191 = lean_ctor_get(x_187, 1);
-lean_inc(x_191);
-lean_dec(x_187);
-if (lean_is_scalar(x_190)) {
- x_192 = lean_alloc_ctor(10, 2, 8);
-} else {
- x_192 = x_190;
-}
-lean_ctor_set(x_192, 0, x_165);
-lean_ctor_set(x_192, 1, x_166);
-lean_ctor_set_uint64(x_192, sizeof(void*)*2, x_167);
-x_193 = lean_expr_update_mdata(x_192, x_186);
-lean_inc(x_193);
-x_194 = lean_array_uset(x_191, x_6, x_193);
-x_195 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_195, 0, x_189);
-lean_ctor_set(x_195, 1, x_194);
-x_196 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_196, 0, x_193);
-lean_ctor_set(x_196, 1, x_195);
-return x_196;
-}
-}
-case 11:
-{
-lean_object* x_197; lean_object* x_198; lean_object* x_199; uint64_t x_200; lean_object* x_201; uint8_t x_202;
-x_197 = lean_ctor_get(x_3, 0);
-lean_inc(x_197);
-x_198 = lean_ctor_get(x_3, 1);
-lean_inc(x_198);
-x_199 = lean_ctor_get(x_3, 2);
-lean_inc(x_199);
-x_200 = lean_ctor_get_uint64(x_3, sizeof(void*)*3);
-lean_inc(x_199);
-x_201 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_addAndCompileUnsafeRec___spec__2(x_1, x_2, x_199, x_4);
-x_202 = !lean_is_exclusive(x_201);
-if (x_202 == 0)
-{
-lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; uint8_t x_207;
-x_203 = lean_ctor_get(x_201, 0);
-x_204 = lean_ctor_get(x_201, 1);
-x_205 = lean_ctor_get(x_204, 0);
-lean_inc(x_205);
-lean_inc(x_3);
-x_206 = lean_array_uset(x_205, x_6, x_3);
-x_207 = !lean_is_exclusive(x_3);
-if (x_207 == 0)
-{
-lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214;
-x_208 = lean_ctor_get(x_3, 2);
-lean_dec(x_208);
-x_209 = lean_ctor_get(x_3, 1);
-lean_dec(x_209);
-x_210 = lean_ctor_get(x_3, 0);
-lean_dec(x_210);
-x_211 = lean_ctor_get(x_204, 1);
-lean_inc(x_211);
-lean_dec(x_204);
-x_212 = lean_expr_update_proj(x_3, x_203);
-lean_inc(x_212);
-x_213 = lean_array_uset(x_211, x_6, x_212);
-x_214 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_214, 0, x_206);
-lean_ctor_set(x_214, 1, x_213);
-lean_ctor_set(x_201, 1, x_214);
-lean_ctor_set(x_201, 0, x_212);
-return x_201;
-}
-else
-{
-lean_object* x_215; lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219;
-lean_dec(x_3);
-x_215 = lean_ctor_get(x_204, 1);
-lean_inc(x_215);
-lean_dec(x_204);
-x_216 = lean_alloc_ctor(11, 3, 8);
-lean_ctor_set(x_216, 0, x_197);
-lean_ctor_set(x_216, 1, x_198);
-lean_ctor_set(x_216, 2, x_199);
-lean_ctor_set_uint64(x_216, sizeof(void*)*3, x_200);
-x_217 = lean_expr_update_proj(x_216, x_203);
-lean_inc(x_217);
-x_218 = lean_array_uset(x_215, x_6, x_217);
-x_219 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_219, 0, x_206);
-lean_ctor_set(x_219, 1, x_218);
-lean_ctor_set(x_201, 1, x_219);
-lean_ctor_set(x_201, 0, x_217);
-return x_201;
-}
-}
-else
-{
-lean_object* x_220; lean_object* x_221; lean_object* x_222; lean_object* x_223; lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; lean_object* x_228; lean_object* x_229; lean_object* x_230;
-x_220 = lean_ctor_get(x_201, 0);
-x_221 = lean_ctor_get(x_201, 1);
-lean_inc(x_221);
-lean_inc(x_220);
-lean_dec(x_201);
-x_222 = lean_ctor_get(x_221, 0);
-lean_inc(x_222);
-lean_inc(x_3);
-x_223 = lean_array_uset(x_222, x_6, x_3);
-if (lean_is_exclusive(x_3)) {
- lean_ctor_release(x_3, 0);
- lean_ctor_release(x_3, 1);
- lean_ctor_release(x_3, 2);
- x_224 = x_3;
-} else {
- lean_dec_ref(x_3);
- x_224 = lean_box(0);
-}
-x_225 = lean_ctor_get(x_221, 1);
-lean_inc(x_225);
-lean_dec(x_221);
-if (lean_is_scalar(x_224)) {
- x_226 = lean_alloc_ctor(11, 3, 8);
-} else {
- x_226 = x_224;
-}
-lean_ctor_set(x_226, 0, x_197);
-lean_ctor_set(x_226, 1, x_198);
-lean_ctor_set(x_226, 2, x_199);
-lean_ctor_set_uint64(x_226, sizeof(void*)*3, x_200);
-x_227 = lean_expr_update_proj(x_226, x_220);
-lean_inc(x_227);
-x_228 = lean_array_uset(x_225, x_6, x_227);
-x_229 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_229, 0, x_223);
-lean_ctor_set(x_229, 1, x_228);
-x_230 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_230, 0, x_227);
-lean_ctor_set(x_230, 1, x_229);
-return x_230;
-}
-}
-case 12:
-{
-lean_object* x_231; lean_object* x_232; lean_object* x_233;
-lean_dec(x_3);
-x_231 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___closed__1;
-x_232 = l_unreachable_x21___rarg(x_231);
-x_233 = lean_apply_1(x_232, x_4);
-return x_233;
-}
-default:
-{
-lean_object* x_234;
-x_234 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_234, 0, x_3);
-lean_ctor_set(x_234, 1, x_4);
-return x_234;
+lean_object* x_13;
+lean_dec(x_2);
+x_13 = lean_box(0);
+return x_13;
}
}
}
-}
-}
-lean_object* l_Array_umapMAux___main___at_Lean_Elab_addAndCompileUnsafeRec___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l_Array_umapMAux___main___at_Lean_Elab_addAndCompileUnsafeRec___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4; uint8_t x_5;
@@ -5004,6 +2603,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
+lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@@ -5017,68 +2617,74 @@ x_10 = x_7;
x_11 = !lean_is_exclusive(x_10);
if (x_11 == 0)
{
-lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; size_t 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_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; size_t 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;
x_12 = lean_ctor_get(x_10, 2);
x_13 = lean_ctor_get(x_10, 4);
x_14 = lean_ctor_get(x_10, 1);
lean_dec(x_14);
x_15 = l_Lean_Compiler_mkUnsafeRecName___closed__1;
x_16 = lean_name_mk_string(x_12, x_15);
-x_17 = 8192;
-x_18 = l_Lean_Expr_ReplaceImpl_initCache;
-x_19 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_addAndCompileUnsafeRec___spec__2(x_1, x_17, x_13, x_18);
-x_20 = lean_ctor_get(x_19, 0);
-lean_inc(x_20);
-lean_dec(x_19);
-x_21 = l_Lean_Elab_PreDefinition_inhabited___closed__1;
-lean_ctor_set(x_10, 4, x_20);
+lean_inc(x_1);
+x_17 = lean_alloc_closure((void*)(l_Array_umapMAux___main___at_Lean_Elab_addAndCompileUnsafeRec___spec__2___lambda__1___boxed), 2, 1);
+lean_closure_set(x_17, 0, x_1);
+x_18 = 8192;
+x_19 = l_Lean_Expr_ReplaceImpl_initCache;
+x_20 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(x_17, x_18, x_13, x_19);
+x_21 = lean_ctor_get(x_20, 0);
+lean_inc(x_21);
+lean_dec(x_20);
+x_22 = l_Lean_Elab_PreDefinition_inhabited___closed__1;
+lean_ctor_set(x_10, 4, x_21);
lean_ctor_set(x_10, 2, x_16);
-lean_ctor_set(x_10, 1, x_21);
-x_22 = lean_unsigned_to_nat(1u);
-x_23 = lean_nat_add(x_2, x_22);
-x_24 = x_10;
-x_25 = lean_array_fset(x_9, x_2, x_24);
+lean_ctor_set(x_10, 1, x_22);
+x_23 = lean_unsigned_to_nat(1u);
+x_24 = lean_nat_add(x_2, x_23);
+x_25 = x_10;
+x_26 = lean_array_fset(x_9, x_2, x_25);
lean_dec(x_2);
-x_2 = x_23;
-x_3 = x_25;
+x_2 = x_24;
+x_3 = x_26;
goto _start;
}
else
{
-uint8_t 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; size_t 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;
-x_27 = lean_ctor_get_uint8(x_10, sizeof(void*)*5);
-x_28 = lean_ctor_get(x_10, 0);
-x_29 = lean_ctor_get(x_10, 2);
-x_30 = lean_ctor_get(x_10, 3);
-x_31 = lean_ctor_get(x_10, 4);
+uint8_t 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; size_t 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;
+x_28 = lean_ctor_get_uint8(x_10, sizeof(void*)*5);
+x_29 = lean_ctor_get(x_10, 0);
+x_30 = lean_ctor_get(x_10, 2);
+x_31 = lean_ctor_get(x_10, 3);
+x_32 = lean_ctor_get(x_10, 4);
+lean_inc(x_32);
lean_inc(x_31);
lean_inc(x_30);
lean_inc(x_29);
-lean_inc(x_28);
lean_dec(x_10);
-x_32 = l_Lean_Compiler_mkUnsafeRecName___closed__1;
-x_33 = lean_name_mk_string(x_29, x_32);
-x_34 = 8192;
-x_35 = l_Lean_Expr_ReplaceImpl_initCache;
-x_36 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_addAndCompileUnsafeRec___spec__2(x_1, x_34, x_31, x_35);
-x_37 = lean_ctor_get(x_36, 0);
-lean_inc(x_37);
-lean_dec(x_36);
-x_38 = l_Lean_Elab_PreDefinition_inhabited___closed__1;
-x_39 = lean_alloc_ctor(0, 5, 1);
-lean_ctor_set(x_39, 0, x_28);
-lean_ctor_set(x_39, 1, x_38);
-lean_ctor_set(x_39, 2, x_33);
-lean_ctor_set(x_39, 3, x_30);
-lean_ctor_set(x_39, 4, x_37);
-lean_ctor_set_uint8(x_39, sizeof(void*)*5, x_27);
-x_40 = lean_unsigned_to_nat(1u);
-x_41 = lean_nat_add(x_2, x_40);
-x_42 = x_39;
-x_43 = lean_array_fset(x_9, x_2, x_42);
+x_33 = l_Lean_Compiler_mkUnsafeRecName___closed__1;
+x_34 = lean_name_mk_string(x_30, x_33);
+lean_inc(x_1);
+x_35 = lean_alloc_closure((void*)(l_Array_umapMAux___main___at_Lean_Elab_addAndCompileUnsafeRec___spec__2___lambda__1___boxed), 2, 1);
+lean_closure_set(x_35, 0, x_1);
+x_36 = 8192;
+x_37 = l_Lean_Expr_ReplaceImpl_initCache;
+x_38 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(x_35, x_36, x_32, x_37);
+x_39 = lean_ctor_get(x_38, 0);
+lean_inc(x_39);
+lean_dec(x_38);
+x_40 = l_Lean_Elab_PreDefinition_inhabited___closed__1;
+x_41 = lean_alloc_ctor(0, 5, 1);
+lean_ctor_set(x_41, 0, x_29);
+lean_ctor_set(x_41, 1, x_40);
+lean_ctor_set(x_41, 2, x_34);
+lean_ctor_set(x_41, 3, x_31);
+lean_ctor_set(x_41, 4, x_39);
+lean_ctor_set_uint8(x_41, sizeof(void*)*5, x_28);
+x_42 = lean_unsigned_to_nat(1u);
+x_43 = lean_nat_add(x_2, x_42);
+x_44 = x_41;
+x_45 = lean_array_fset(x_9, x_2, x_44);
lean_dec(x_2);
-x_2 = x_41;
-x_3 = x_43;
+x_2 = x_43;
+x_3 = x_45;
goto _start;
}
}
@@ -5091,8 +2697,7 @@ lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_
lean_inc(x_1);
x_9 = x_1;
x_10 = lean_unsigned_to_nat(0u);
-x_11 = l_Array_umapMAux___main___at_Lean_Elab_addAndCompileUnsafeRec___spec__3(x_1, x_10, x_9);
-lean_dec(x_1);
+x_11 = l_Array_umapMAux___main___at_Lean_Elab_addAndCompileUnsafeRec___spec__2(x_1, x_10, x_9);
x_12 = x_11;
x_13 = l_Lean_Elab_addAndCompileUnsafe(x_12, x_2, x_3, x_4, x_5, x_6, x_7, x_8);
lean_dec(x_12);
@@ -5112,24 +2717,13 @@ x_7 = lean_box(x_6);
return x_7;
}
}
-lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_addAndCompileUnsafeRec___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
+lean_object* l_Array_umapMAux___main___at_Lean_Elab_addAndCompileUnsafeRec___spec__2___lambda__1___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
-size_t x_5; lean_object* x_6;
-x_5 = lean_unbox_usize(x_2);
-lean_dec(x_2);
-x_6 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Elab_addAndCompileUnsafeRec___spec__2(x_1, x_5, x_3, x_4);
+lean_object* x_3;
+x_3 = l_Array_umapMAux___main___at_Lean_Elab_addAndCompileUnsafeRec___spec__2___lambda__1(x_1, x_2);
lean_dec(x_1);
-return x_6;
-}
-}
-lean_object* l_Array_umapMAux___main___at_Lean_Elab_addAndCompileUnsafeRec___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4;
-x_4 = l_Array_umapMAux___main___at_Lean_Elab_addAndCompileUnsafeRec___spec__3(x_1, x_2, x_3);
-lean_dec(x_1);
-return x_4;
+return x_3;
}
}
lean_object* l_Lean_Elab_addAndCompileUnsafeRec___boxed(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) {
diff --git a/stage0/stdlib/Lean/Elab/PreDefinition/Main.c b/stage0/stdlib/Lean/Elab/PreDefinition/Main.c
index f51ccbe7c0..d679dda9c7 100644
--- a/stage0/stdlib/Lean/Elab/PreDefinition/Main.c
+++ b/stage0/stdlib/Lean/Elab/PreDefinition/Main.c
@@ -15,41 +15,33 @@ extern "C" {
#endif
lean_object* l_List_reverse___rarg(lean_object*);
uint8_t l_Array_anyRangeMAux___main___at_Lean_Elab_addPreDefinitions___spec__3(lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Std_AssocList_contains___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__13___boxed(lean_object*, lean_object*);
lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__8___lambda__1(lean_object*, lean_object*);
uint8_t l_Array_anyRangeMAux___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Std_HashMapImp_insert___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__12(lean_object*, lean_object*, lean_object*);
size_t l_USize_add(size_t, size_t);
-lean_object* l_List_forM___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25(lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_List_forM___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_forallBoundedTelescope___at_Lean_Elab_Term_elabLetDeclAux___spec__1___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_anyRangeMAux___main___at_Lean_Elab_addPreDefinitions___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_getMVarsAtPreDef___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_stringToMessageData(lean_object*);
lean_object* lean_mk_empty_array_with_capacity(lean_object*);
+lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__5(lean_object*, lean_object*);
lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__8___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*);
extern lean_object* l_Lean_MessageData_ofList___closed__3;
-uint8_t l_USize_decEq(size_t, size_t);
lean_object* lean_array_uget(lean_object*, size_t);
-lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_addSCC___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__21___boxed(lean_object*, lean_object*);
-uint8_t l_Std_HashSetImp_contains___at_Lean_NameHashSet_contains___spec__1(lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_addSCC___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__19___boxed(lean_object*, lean_object*);
uint8_t lean_name_eq(lean_object*, lean_object*);
extern lean_object* l_Option_get_x21___rarg___closed__3;
lean_object* lean_array_uset(lean_object*, size_t, lean_object*);
-lean_object* l_Lean_SCC_scc___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__6___closed__1;
-lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_addSCC___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__21(lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__5___boxed(lean_object*, lean_object*);
lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_resetOnStack___rarg___lambda__1(lean_object*);
extern lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_elimRecursion___lambda__2___closed__2;
-lean_object* l_Array_umapMAux___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__29___boxed(lean_object*, lean_object*, lean_object*);
extern lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__7;
lean_object* lean_st_ref_get(lean_object*, lean_object*);
lean_object* l_Lean_Elab_addAndCompileUnsafeRec(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__7___boxed(lean_object*, lean_object*);
-lean_object* l_Std_mkHashMap___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26(lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_isNonRecursive___lambda__1___boxed(lean_object*, lean_object*);
extern lean_object* l_Lean_Elab_PreDefinition_inhabited;
lean_object* l_ReaderT_bind___at_Lean_Meta_Lean_Meta_Basic___instance__5___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_List_forM___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_array_get_size(lean_object*);
lean_object* l_List_map___main___at_Lean_Elab_addPreDefinitions___spec__7(lean_object*);
lean_object* l_Lean_MessageData_ofList(lean_object*);
@@ -57,144 +49,138 @@ lean_object* l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_ensureNoUnass
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___closed__1;
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_isNonRecursive___lambda__1(lean_object*, lean_object*);
+lean_object* l_Std_AssocList_contains___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__11___boxed(lean_object*, lean_object*);
extern lean_object* l___private_Lean_Meta_WHNF_0__Lean_Meta_reduceRec___rarg___lambda__2___closed__1;
+lean_object* l_Array_umapMAux___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__27___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_USize_decLt(size_t, size_t);
lean_object* l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_ensureNoUnassignedMVarsAtPreDef(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_anyRangeMAux___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_nat_add(lean_object*, lean_object*);
+lean_object* l_List_forM___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__18(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__2(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Expr_FoldConstsImpl_fold___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__4(lean_object*, size_t, lean_object*, lean_object*, lean_object*);
+lean_object* l_Std_HashMapImp_insert___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__10(lean_object*, lean_object*, lean_object*);
+lean_object* l_Std_AssocList_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__7___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Elab_addAndCompileUnsafe(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_isNonRecursive_match__1(lean_object*);
+lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_resetOnStack___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__21(lean_object*, lean_object*);
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___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* l_Lean_SCC_scc___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__6___closed__2;
-lean_object* l___private_Lean_Util_Trace_3__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_Array_umapMAux___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__28___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__8___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_Lean_SCC_scc___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__6___boxed(lean_object*, lean_object*);
lean_object* l_List_map___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__1(lean_object*);
-lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_push___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__11(lean_object*, lean_object*);
+lean_object* l_Lean_Expr_FoldConstsImpl_fold_visit___rarg(lean_object*, size_t, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_getMVarsAtPreDef_match__1(lean_object*);
+uint8_t l_Std_AssocList_contains___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__11(lean_object*, lean_object*);
lean_object* l_Lean_Elab_mkInhabitantFor(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_array_fget(lean_object*, lean_object*);
lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__8___lambda__3___closed__2;
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_sccAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__10___boxed(lean_object*, lean_object*, lean_object*);
-lean_object* l_Array_umapMAux___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__29(lean_object*, lean_object*, lean_object*);
-uint8_t l_Std_AssocList_contains___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__13(lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_sccAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__22(lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_push___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__9(lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__7(lean_object*, lean_object*);
-lean_object* l_Array_umapMAux___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__30(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_SCC_scc___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__4(lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_sccAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__8(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__8(lean_object*, lean_object*, size_t, size_t, 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_addPreDefinitions___spec__8___lambda__1___closed__3;
+lean_object* l_Std_HashMapImp_moveEntries___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__13(lean_object*, lean_object*, lean_object*);
lean_object* lean_array_get(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_forallTelescopeImp___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_mkHashMapImp___rarg(lean_object*);
lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__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_Array_findMAux___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__28(lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_modifyDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__17(lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_addSCCAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__20(lean_object*, lean_object*, lean_object*, lean_object*);
size_t l_Lean_Name_hash(lean_object*);
+lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_sccAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__8___lambda__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_collectMVarsAtPreDef(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_st_mk_ref(lean_object*, lean_object*);
extern lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_resetOnStack___rarg___closed__1;
lean_object* lean_name_mk_string(lean_object*, lean_object*);
-lean_object* l_Std_AssocList_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__9___boxed(lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_updateLowLinkOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__18(lean_object*, lean_object*, lean_object*);
-lean_object* l_List_forM___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__27(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_structuralRecursion(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_collectMVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Expr_FoldConstsImpl_fold___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__5(lean_object*, size_t, lean_object*, lean_object*, lean_object*);
+lean_object* l_Std_AssocList_foldlM___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__14(lean_object*, lean_object*);
size_t lean_usize_modn(size_t, lean_object*);
-lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_sccAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__10(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_findMAux___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__2___boxed(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_CollectMVars_State_inhabited___closed__1;
lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__8___lambda__4(lean_object*, size_t, lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withNewLocalInstancesImp___rarg___closed__3;
lean_object* l_List_redLength___main___rarg(lean_object*);
lean_object* l_Lean_Meta_mapErrorImp___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_sccAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__24___boxed(lean_object*, lean_object*, lean_object*);
+lean_object* l_Std_HashMapImp_expand___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__12(lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs(lean_object*);
-lean_object* l_Std_HashSetImp_insert___at_Lean_NameHashSet_insert___spec__1(lean_object*, lean_object*);
size_t lean_usize_of_nat(lean_object*);
+lean_object* l_Lean_SCC_scc___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__4___closed__1;
lean_object* l_Lean_MessageData_joinSep___main(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_Std_HashMapImp_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__8(lean_object*, lean_object*);
-size_t l_USize_mod(size_t, size_t);
-lean_object* l_Array_umapMAux___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__30___boxed(lean_object*, lean_object*, lean_object*);
+lean_object* l_Std_HashMapImp_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__6___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Elab_addPreDefinitions(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Expr_FindImpl_initCache;
lean_object* l_Array_umapMAux___main___at_Lean_Elab_addPreDefinitions___spec__6(lean_object*, lean_object*);
-size_t lean_ptr_addr(lean_object*);
+lean_object* l_Std_HashMapImp_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__6(lean_object*, lean_object*);
uint8_t l_Array_anyRangeMAux___main___at_Lean_Elab_addPreDefinitions___spec__4(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_isNonRecursive_match__1___rarg(lean_object*, lean_object*, lean_object*);
uint8_t l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_isNonRecursive(lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_getMVarsAtPreDef_match__1___rarg(lean_object*, lean_object*);
+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_Meta_forallTelescope___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__1(lean_object*);
lean_object* l_Lean_setEnv___at_Lean_Meta_setInlineAttribute___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__8___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_List_forM___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__20(lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_modifyDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__19(lean_object*, lean_object*, lean_object*);
-lean_object* l_Std_AssocList_foldlM___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__16(lean_object*, lean_object*);
+lean_object* l_Array_findMAux___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_findMAux___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__2(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__8___lambda__1___closed__2;
lean_object* lean_panic_fn(lean_object*, lean_object*);
extern lean_object* l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
lean_object* l_List_map___main___at_Lean_Elab_addPreDefinitions___spec__5(lean_object*);
+lean_object* l_Array_umapMAux___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__27(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__8___lambda__1___closed__1;
-lean_object* l_Lean_Expr_FoldConstsImpl_fold___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__8___lambda__1___boxed(lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_addSCCAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__22___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_setMCtx___at___private_Lean_Meta_Basic_0__Lean_Meta_liftMkBindingM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_nat_mul(lean_object*, lean_object*);
lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_updateLowLinkOf___rarg___lambda__1(lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_collectMVarsAtPreDef___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Std_HashMapImp_expand___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__14(lean_object*, lean_object*);
-lean_object* l_Std_HashMapImp_moveEntries___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__15(lean_object*, lean_object*, lean_object*);
-lean_object* l_Std_AssocList_replace___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__17(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___closed__2;
extern lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Term_0__Lean_Elab_Term_applyAttributesCore___spec__1___closed__1;
lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__8___lambda__1___closed__4;
-lean_object* l_Lean_SCC_scc___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__6(lean_object*, lean_object*);
lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__8___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_addSCCAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__22(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_toList___rarg(lean_object*);
-lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_resetOnStack___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__23(lean_object*, lean_object*);
+lean_object* l_Array_umapMAux___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__28(lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_sccAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__8___lambda__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__8___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___boxed(lean_object*);
lean_object* lean_mk_array(lean_object*, lean_object*);
+lean_object* l_List_forM___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__23(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_logUnassignedUsingErrorInfos(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_anyRangeMAux___main___at_Lean_Elab_addPreDefinitions___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Expr_FoldConstsImpl_initCache;
-lean_object* l_List_forM___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__27___boxed(lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_addSCCAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__20___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_WFRecursion___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_indentD(lean_object*);
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___lambda__1___closed__1;
+lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_addSCC___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__19(lean_object*, lean_object*);
lean_object* l_Lean_Expr_FindImpl_findM_x3f_visit(lean_object*, size_t, lean_object*, lean_object*);
+lean_object* l_Std_AssocList_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__7(lean_object*, lean_object*);
+lean_object* l_Array_findMAux___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26___boxed(lean_object*, lean_object*, lean_object*);
extern lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___rarg___closed__1;
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___lambda__1___closed__2;
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___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_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__1___closed__2;
+lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_updateLowLinkOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__16(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_getMVarsAtPreDef(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Expr_FoldConstsImpl_fold___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_forallTelescope___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__1___rarg(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_addPreDefinitions___spec__8___lambda__3___closed__1;
lean_object* l_List_toArrayAux___main___rarg(lean_object*, lean_object*);
lean_object* l_unsafeCast(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_isNonRecursive___boxed(lean_object*);
+lean_object* l_Std_mkHashMap___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__24(lean_object*);
lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___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*);
extern lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_DefView___hyg_662____closed__2;
-lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_sccAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__24(lean_object*, lean_object*, lean_object*);
-lean_object* l_Array_findMAux___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__28___boxed(lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Elab_addPreDefinitions___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_mkConst(lean_object*, lean_object*);
-lean_object* l_List_forM___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__20___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__1___closed__1;
+lean_object* l_Lean_SCC_scc___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__4___closed__2;
lean_object* l_Lean_Elab_throwAbort___at_Lean_Elab_Term_ensureNoUnassignedMVars___spec__2___rarg(lean_object*);
-lean_object* l_Std_AssocList_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__9(lean_object*, lean_object*);
+lean_object* l_Std_AssocList_replace___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__15(lean_object*, lean_object*, lean_object*);
uint8_t lean_nat_dec_lt(lean_object*, lean_object*);
-lean_object* l_Std_HashMapImp_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__8___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Meta_forallTelescope___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__1___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, lean_object* x_9) {
_start:
{
@@ -321,7 +307,7 @@ x_45 = lean_ctor_get(x_39, 1);
lean_inc(x_45);
lean_dec(x_39);
lean_inc(x_3);
-x_46 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_3, x_6, x_7, x_8, x_9, x_10, x_11, x_45);
+x_46 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_3, x_6, x_7, x_8, x_9, x_10, x_11, x_45);
x_47 = lean_ctor_get(x_46, 0);
lean_inc(x_47);
x_48 = lean_ctor_get(x_46, 1);
@@ -493,7 +479,7 @@ x_48 = lean_ctor_get(x_42, 1);
lean_inc(x_48);
lean_dec(x_42);
x_49 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_DefView___hyg_662____closed__2;
-x_50 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_49, x_5, x_6, x_7, x_8, x_9, x_10, x_48);
+x_50 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_49, x_5, x_6, x_7, x_8, x_9, x_10, x_48);
x_51 = lean_ctor_get(x_50, 0);
lean_inc(x_51);
x_52 = lean_ctor_get(x_50, 1);
@@ -912,581 +898,7 @@ return x_10;
}
}
}
-lean_object* l_Lean_Expr_FoldConstsImpl_fold___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__4(lean_object* x_1, size_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
-_start:
-{
-uint8_t x_6; lean_object* x_7; size_t x_66; size_t x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; size_t x_71; uint8_t x_72;
-x_66 = lean_ptr_addr(x_3);
-x_67 = x_2 == 0 ? 0 : x_66 % x_2;
-x_68 = lean_ctor_get(x_5, 0);
-lean_inc(x_68);
-x_69 = lean_ctor_get(x_5, 1);
-lean_inc(x_69);
-x_70 = lean_array_uget(x_68, x_67);
-x_71 = lean_ptr_addr(x_70);
-lean_dec(x_70);
-x_72 = x_71 == x_66;
-if (x_72 == 0)
-{
-uint8_t x_73;
-x_73 = !lean_is_exclusive(x_5);
-if (x_73 == 0)
-{
-lean_object* x_74; lean_object* x_75; lean_object* x_76; uint8_t x_77;
-x_74 = lean_ctor_get(x_5, 1);
-lean_dec(x_74);
-x_75 = lean_ctor_get(x_5, 0);
-lean_dec(x_75);
-lean_inc(x_3);
-x_76 = lean_array_uset(x_68, x_67, x_3);
-lean_ctor_set(x_5, 0, x_76);
-x_77 = 0;
-x_6 = x_77;
-x_7 = x_5;
-goto block_65;
-}
-else
-{
-lean_object* x_78; lean_object* x_79; uint8_t x_80;
-lean_dec(x_5);
-lean_inc(x_3);
-x_78 = lean_array_uset(x_68, x_67, x_3);
-x_79 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_79, 0, x_78);
-lean_ctor_set(x_79, 1, x_69);
-x_80 = 0;
-x_6 = x_80;
-x_7 = x_79;
-goto block_65;
-}
-}
-else
-{
-uint8_t x_81;
-lean_dec(x_69);
-lean_dec(x_68);
-x_81 = 1;
-x_6 = x_81;
-x_7 = x_5;
-goto block_65;
-}
-block_65:
-{
-if (x_6 == 0)
-{
-switch (lean_obj_tag(x_3)) {
-case 4:
-{
-lean_object* x_8; lean_object* x_9; lean_object* x_10; uint8_t x_11;
-x_8 = lean_ctor_get(x_3, 0);
-lean_inc(x_8);
-lean_dec(x_3);
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_ctor_get(x_7, 1);
-lean_inc(x_10);
-x_11 = l_Std_HashSetImp_contains___at_Lean_NameHashSet_contains___spec__1(x_10, x_8);
-if (x_11 == 0)
-{
-uint8_t x_12;
-x_12 = !lean_is_exclusive(x_7);
-if (x_12 == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18;
-x_13 = lean_ctor_get(x_7, 1);
-lean_dec(x_13);
-x_14 = lean_ctor_get(x_7, 0);
-lean_dec(x_14);
-lean_inc(x_8);
-x_15 = l_Std_HashSetImp_insert___at_Lean_NameHashSet_insert___spec__1(x_10, x_8);
-lean_ctor_set(x_7, 1, x_15);
-x_16 = lean_array_get_size(x_1);
-x_17 = lean_unsigned_to_nat(0u);
-x_18 = l_Array_anyRangeMAux___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__3(x_1, x_8, x_1, x_16, x_17);
-lean_dec(x_16);
-if (x_18 == 0)
-{
-lean_object* x_19;
-lean_dec(x_8);
-x_19 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_19, 0, x_4);
-lean_ctor_set(x_19, 1, x_7);
-return x_19;
-}
-else
-{
-lean_object* x_20; lean_object* x_21;
-x_20 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_20, 0, x_8);
-lean_ctor_set(x_20, 1, x_4);
-x_21 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_21, 0, x_20);
-lean_ctor_set(x_21, 1, x_7);
-return x_21;
-}
-}
-else
-{
-lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26;
-lean_dec(x_7);
-lean_inc(x_8);
-x_22 = l_Std_HashSetImp_insert___at_Lean_NameHashSet_insert___spec__1(x_10, x_8);
-x_23 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_23, 0, x_9);
-lean_ctor_set(x_23, 1, x_22);
-x_24 = lean_array_get_size(x_1);
-x_25 = lean_unsigned_to_nat(0u);
-x_26 = l_Array_anyRangeMAux___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__3(x_1, x_8, x_1, x_24, x_25);
-lean_dec(x_24);
-if (x_26 == 0)
-{
-lean_object* x_27;
-lean_dec(x_8);
-x_27 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_27, 0, x_4);
-lean_ctor_set(x_27, 1, x_23);
-return x_27;
-}
-else
-{
-lean_object* x_28; lean_object* x_29;
-x_28 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_28, 0, x_8);
-lean_ctor_set(x_28, 1, x_4);
-x_29 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_29, 0, x_28);
-lean_ctor_set(x_29, 1, x_23);
-return x_29;
-}
-}
-}
-else
-{
-lean_object* x_30;
-lean_dec(x_10);
-lean_dec(x_9);
-lean_dec(x_8);
-x_30 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_30, 0, x_4);
-lean_ctor_set(x_30, 1, x_7);
-return x_30;
-}
-}
-case 5:
-{
-lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35;
-x_31 = lean_ctor_get(x_3, 0);
-lean_inc(x_31);
-x_32 = lean_ctor_get(x_3, 1);
-lean_inc(x_32);
-lean_dec(x_3);
-x_33 = l_Lean_Expr_FoldConstsImpl_fold___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__4(x_1, x_2, x_31, x_4, x_7);
-x_34 = lean_ctor_get(x_33, 0);
-lean_inc(x_34);
-x_35 = lean_ctor_get(x_33, 1);
-lean_inc(x_35);
-lean_dec(x_33);
-x_3 = x_32;
-x_4 = x_34;
-x_5 = x_35;
-goto _start;
-}
-case 6:
-{
-lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41;
-x_37 = lean_ctor_get(x_3, 1);
-lean_inc(x_37);
-x_38 = lean_ctor_get(x_3, 2);
-lean_inc(x_38);
-lean_dec(x_3);
-x_39 = l_Lean_Expr_FoldConstsImpl_fold___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__4(x_1, x_2, x_37, x_4, x_7);
-x_40 = lean_ctor_get(x_39, 0);
-lean_inc(x_40);
-x_41 = lean_ctor_get(x_39, 1);
-lean_inc(x_41);
-lean_dec(x_39);
-x_3 = x_38;
-x_4 = x_40;
-x_5 = x_41;
-goto _start;
-}
-case 7:
-{
-lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47;
-x_43 = lean_ctor_get(x_3, 1);
-lean_inc(x_43);
-x_44 = lean_ctor_get(x_3, 2);
-lean_inc(x_44);
-lean_dec(x_3);
-x_45 = l_Lean_Expr_FoldConstsImpl_fold___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__4(x_1, x_2, x_43, x_4, x_7);
-x_46 = lean_ctor_get(x_45, 0);
-lean_inc(x_46);
-x_47 = lean_ctor_get(x_45, 1);
-lean_inc(x_47);
-lean_dec(x_45);
-x_3 = x_44;
-x_4 = x_46;
-x_5 = x_47;
-goto _start;
-}
-case 8:
-{
-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;
-x_49 = lean_ctor_get(x_3, 1);
-lean_inc(x_49);
-x_50 = lean_ctor_get(x_3, 2);
-lean_inc(x_50);
-x_51 = lean_ctor_get(x_3, 3);
-lean_inc(x_51);
-lean_dec(x_3);
-x_52 = l_Lean_Expr_FoldConstsImpl_fold___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__4(x_1, x_2, x_49, x_4, x_7);
-x_53 = lean_ctor_get(x_52, 0);
-lean_inc(x_53);
-x_54 = lean_ctor_get(x_52, 1);
-lean_inc(x_54);
-lean_dec(x_52);
-x_55 = l_Lean_Expr_FoldConstsImpl_fold___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__4(x_1, x_2, x_50, x_53, x_54);
-x_56 = lean_ctor_get(x_55, 0);
-lean_inc(x_56);
-x_57 = lean_ctor_get(x_55, 1);
-lean_inc(x_57);
-lean_dec(x_55);
-x_3 = x_51;
-x_4 = x_56;
-x_5 = x_57;
-goto _start;
-}
-case 10:
-{
-lean_object* x_59;
-x_59 = lean_ctor_get(x_3, 1);
-lean_inc(x_59);
-lean_dec(x_3);
-x_3 = x_59;
-x_5 = x_7;
-goto _start;
-}
-case 11:
-{
-lean_object* x_61;
-x_61 = lean_ctor_get(x_3, 2);
-lean_inc(x_61);
-lean_dec(x_3);
-x_3 = x_61;
-x_5 = x_7;
-goto _start;
-}
-default:
-{
-lean_object* x_63;
-lean_dec(x_3);
-x_63 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_63, 0, x_4);
-lean_ctor_set(x_63, 1, x_7);
-return x_63;
-}
-}
-}
-else
-{
-lean_object* x_64;
-lean_dec(x_3);
-x_64 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_64, 0, x_4);
-lean_ctor_set(x_64, 1, x_7);
-return x_64;
-}
-}
-}
-}
-lean_object* l_Lean_Expr_FoldConstsImpl_fold___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__5(lean_object* x_1, size_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
-_start:
-{
-uint8_t x_6; lean_object* x_7; size_t x_66; size_t x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; size_t x_71; uint8_t x_72;
-x_66 = lean_ptr_addr(x_3);
-x_67 = x_2 == 0 ? 0 : x_66 % x_2;
-x_68 = lean_ctor_get(x_5, 0);
-lean_inc(x_68);
-x_69 = lean_ctor_get(x_5, 1);
-lean_inc(x_69);
-x_70 = lean_array_uget(x_68, x_67);
-x_71 = lean_ptr_addr(x_70);
-lean_dec(x_70);
-x_72 = x_71 == x_66;
-if (x_72 == 0)
-{
-uint8_t x_73;
-x_73 = !lean_is_exclusive(x_5);
-if (x_73 == 0)
-{
-lean_object* x_74; lean_object* x_75; lean_object* x_76; uint8_t x_77;
-x_74 = lean_ctor_get(x_5, 1);
-lean_dec(x_74);
-x_75 = lean_ctor_get(x_5, 0);
-lean_dec(x_75);
-lean_inc(x_3);
-x_76 = lean_array_uset(x_68, x_67, x_3);
-lean_ctor_set(x_5, 0, x_76);
-x_77 = 0;
-x_6 = x_77;
-x_7 = x_5;
-goto block_65;
-}
-else
-{
-lean_object* x_78; lean_object* x_79; uint8_t x_80;
-lean_dec(x_5);
-lean_inc(x_3);
-x_78 = lean_array_uset(x_68, x_67, x_3);
-x_79 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_79, 0, x_78);
-lean_ctor_set(x_79, 1, x_69);
-x_80 = 0;
-x_6 = x_80;
-x_7 = x_79;
-goto block_65;
-}
-}
-else
-{
-uint8_t x_81;
-lean_dec(x_69);
-lean_dec(x_68);
-x_81 = 1;
-x_6 = x_81;
-x_7 = x_5;
-goto block_65;
-}
-block_65:
-{
-if (x_6 == 0)
-{
-switch (lean_obj_tag(x_3)) {
-case 4:
-{
-lean_object* x_8; lean_object* x_9; lean_object* x_10; uint8_t x_11;
-x_8 = lean_ctor_get(x_3, 0);
-lean_inc(x_8);
-lean_dec(x_3);
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_ctor_get(x_7, 1);
-lean_inc(x_10);
-x_11 = l_Std_HashSetImp_contains___at_Lean_NameHashSet_contains___spec__1(x_10, x_8);
-if (x_11 == 0)
-{
-uint8_t x_12;
-x_12 = !lean_is_exclusive(x_7);
-if (x_12 == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18;
-x_13 = lean_ctor_get(x_7, 1);
-lean_dec(x_13);
-x_14 = lean_ctor_get(x_7, 0);
-lean_dec(x_14);
-lean_inc(x_8);
-x_15 = l_Std_HashSetImp_insert___at_Lean_NameHashSet_insert___spec__1(x_10, x_8);
-lean_ctor_set(x_7, 1, x_15);
-x_16 = lean_array_get_size(x_1);
-x_17 = lean_unsigned_to_nat(0u);
-x_18 = l_Array_anyRangeMAux___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__3(x_1, x_8, x_1, x_16, x_17);
-lean_dec(x_16);
-if (x_18 == 0)
-{
-lean_object* x_19;
-lean_dec(x_8);
-x_19 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_19, 0, x_4);
-lean_ctor_set(x_19, 1, x_7);
-return x_19;
-}
-else
-{
-lean_object* x_20; lean_object* x_21;
-x_20 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_20, 0, x_8);
-lean_ctor_set(x_20, 1, x_4);
-x_21 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_21, 0, x_20);
-lean_ctor_set(x_21, 1, x_7);
-return x_21;
-}
-}
-else
-{
-lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26;
-lean_dec(x_7);
-lean_inc(x_8);
-x_22 = l_Std_HashSetImp_insert___at_Lean_NameHashSet_insert___spec__1(x_10, x_8);
-x_23 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_23, 0, x_9);
-lean_ctor_set(x_23, 1, x_22);
-x_24 = lean_array_get_size(x_1);
-x_25 = lean_unsigned_to_nat(0u);
-x_26 = l_Array_anyRangeMAux___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__3(x_1, x_8, x_1, x_24, x_25);
-lean_dec(x_24);
-if (x_26 == 0)
-{
-lean_object* x_27;
-lean_dec(x_8);
-x_27 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_27, 0, x_4);
-lean_ctor_set(x_27, 1, x_23);
-return x_27;
-}
-else
-{
-lean_object* x_28; lean_object* x_29;
-x_28 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_28, 0, x_8);
-lean_ctor_set(x_28, 1, x_4);
-x_29 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_29, 0, x_28);
-lean_ctor_set(x_29, 1, x_23);
-return x_29;
-}
-}
-}
-else
-{
-lean_object* x_30;
-lean_dec(x_10);
-lean_dec(x_9);
-lean_dec(x_8);
-x_30 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_30, 0, x_4);
-lean_ctor_set(x_30, 1, x_7);
-return x_30;
-}
-}
-case 5:
-{
-lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35;
-x_31 = lean_ctor_get(x_3, 0);
-lean_inc(x_31);
-x_32 = lean_ctor_get(x_3, 1);
-lean_inc(x_32);
-lean_dec(x_3);
-x_33 = l_Lean_Expr_FoldConstsImpl_fold___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__5(x_1, x_2, x_31, x_4, x_7);
-x_34 = lean_ctor_get(x_33, 0);
-lean_inc(x_34);
-x_35 = lean_ctor_get(x_33, 1);
-lean_inc(x_35);
-lean_dec(x_33);
-x_3 = x_32;
-x_4 = x_34;
-x_5 = x_35;
-goto _start;
-}
-case 6:
-{
-lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41;
-x_37 = lean_ctor_get(x_3, 1);
-lean_inc(x_37);
-x_38 = lean_ctor_get(x_3, 2);
-lean_inc(x_38);
-lean_dec(x_3);
-x_39 = l_Lean_Expr_FoldConstsImpl_fold___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__5(x_1, x_2, x_37, x_4, x_7);
-x_40 = lean_ctor_get(x_39, 0);
-lean_inc(x_40);
-x_41 = lean_ctor_get(x_39, 1);
-lean_inc(x_41);
-lean_dec(x_39);
-x_3 = x_38;
-x_4 = x_40;
-x_5 = x_41;
-goto _start;
-}
-case 7:
-{
-lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47;
-x_43 = lean_ctor_get(x_3, 1);
-lean_inc(x_43);
-x_44 = lean_ctor_get(x_3, 2);
-lean_inc(x_44);
-lean_dec(x_3);
-x_45 = l_Lean_Expr_FoldConstsImpl_fold___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__5(x_1, x_2, x_43, x_4, x_7);
-x_46 = lean_ctor_get(x_45, 0);
-lean_inc(x_46);
-x_47 = lean_ctor_get(x_45, 1);
-lean_inc(x_47);
-lean_dec(x_45);
-x_3 = x_44;
-x_4 = x_46;
-x_5 = x_47;
-goto _start;
-}
-case 8:
-{
-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;
-x_49 = lean_ctor_get(x_3, 1);
-lean_inc(x_49);
-x_50 = lean_ctor_get(x_3, 2);
-lean_inc(x_50);
-x_51 = lean_ctor_get(x_3, 3);
-lean_inc(x_51);
-lean_dec(x_3);
-x_52 = l_Lean_Expr_FoldConstsImpl_fold___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__5(x_1, x_2, x_49, x_4, x_7);
-x_53 = lean_ctor_get(x_52, 0);
-lean_inc(x_53);
-x_54 = lean_ctor_get(x_52, 1);
-lean_inc(x_54);
-lean_dec(x_52);
-x_55 = l_Lean_Expr_FoldConstsImpl_fold___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__5(x_1, x_2, x_50, x_53, x_54);
-x_56 = lean_ctor_get(x_55, 0);
-lean_inc(x_56);
-x_57 = lean_ctor_get(x_55, 1);
-lean_inc(x_57);
-lean_dec(x_55);
-x_3 = x_51;
-x_4 = x_56;
-x_5 = x_57;
-goto _start;
-}
-case 10:
-{
-lean_object* x_59;
-x_59 = lean_ctor_get(x_3, 1);
-lean_inc(x_59);
-lean_dec(x_3);
-x_3 = x_59;
-x_5 = x_7;
-goto _start;
-}
-case 11:
-{
-lean_object* x_61;
-x_61 = lean_ctor_get(x_3, 2);
-lean_inc(x_61);
-lean_dec(x_3);
-x_3 = x_61;
-x_5 = x_7;
-goto _start;
-}
-default:
-{
-lean_object* x_63;
-lean_dec(x_3);
-x_63 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_63, 0, x_4);
-lean_ctor_set(x_63, 1, x_7);
-return x_63;
-}
-}
-}
-else
-{
-lean_object* x_64;
-lean_dec(x_3);
-x_64 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_64, 0, x_4);
-lean_ctor_set(x_64, 1, x_7);
-return x_64;
-}
-}
-}
-}
-lean_object* l_Std_AssocList_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__9(lean_object* x_1, lean_object* x_2) {
+lean_object* l_Std_AssocList_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__7(lean_object* x_1, lean_object* x_2) {
_start:
{
if (lean_obj_tag(x_2) == 0)
@@ -1518,7 +930,7 @@ return x_9;
}
}
}
-lean_object* l_Std_HashMapImp_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__8(lean_object* x_1, lean_object* x_2) {
+lean_object* l_Std_HashMapImp_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__6(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3; lean_object* x_4; size_t x_5; size_t x_6; lean_object* x_7; lean_object* x_8;
@@ -1528,18 +940,18 @@ x_5 = l_Lean_Name_hash(x_2);
x_6 = lean_usize_modn(x_5, x_4);
lean_dec(x_4);
x_7 = lean_array_uget(x_3, x_6);
-x_8 = l_Std_AssocList_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__9(x_2, x_7);
+x_8 = l_Std_AssocList_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__7(x_2, x_7);
lean_dec(x_7);
return x_8;
}
}
-lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__7(lean_object* x_1, lean_object* x_2) {
+lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__5(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3; lean_object* x_4;
x_3 = lean_ctor_get(x_2, 2);
lean_inc(x_3);
-x_4 = l_Std_HashMapImp_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__8(x_3, x_1);
+x_4 = l_Std_HashMapImp_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__6(x_3, x_1);
lean_dec(x_3);
if (lean_obj_tag(x_4) == 0)
{
@@ -1563,7 +975,7 @@ return x_8;
}
}
}
-uint8_t l_Std_AssocList_contains___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__13(lean_object* x_1, lean_object* x_2) {
+uint8_t l_Std_AssocList_contains___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__11(lean_object* x_1, lean_object* x_2) {
_start:
{
if (lean_obj_tag(x_2) == 0)
@@ -1592,7 +1004,7 @@ return x_8;
}
}
}
-lean_object* l_Std_AssocList_foldlM___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__16(lean_object* x_1, lean_object* x_2) {
+lean_object* l_Std_AssocList_foldlM___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__14(lean_object* x_1, lean_object* x_2) {
_start:
{
if (lean_obj_tag(x_2) == 0)
@@ -1646,7 +1058,7 @@ goto _start;
}
}
}
-lean_object* l_Std_HashMapImp_moveEntries___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__15(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l_Std_HashMapImp_moveEntries___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__13(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4; uint8_t x_5;
@@ -1665,7 +1077,7 @@ lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_obj
x_6 = lean_array_fget(x_2, x_1);
x_7 = lean_box(0);
x_8 = lean_array_fset(x_2, x_1, x_7);
-x_9 = l_Std_AssocList_foldlM___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__16(x_3, x_6);
+x_9 = l_Std_AssocList_foldlM___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__14(x_3, x_6);
x_10 = lean_unsigned_to_nat(1u);
x_11 = lean_nat_add(x_1, x_10);
lean_dec(x_1);
@@ -1676,7 +1088,7 @@ goto _start;
}
}
}
-lean_object* l_Std_HashMapImp_expand___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__14(lean_object* x_1, lean_object* x_2) {
+lean_object* l_Std_HashMapImp_expand___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__12(lean_object* x_1, lean_object* x_2) {
_start:
{
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;
@@ -1687,14 +1099,14 @@ lean_dec(x_3);
x_6 = lean_box(0);
x_7 = lean_mk_array(x_5, x_6);
x_8 = lean_unsigned_to_nat(0u);
-x_9 = l_Std_HashMapImp_moveEntries___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__15(x_8, x_2, x_7);
+x_9 = l_Std_HashMapImp_moveEntries___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__13(x_8, x_2, x_7);
x_10 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_10, 0, x_1);
lean_ctor_set(x_10, 1, x_9);
return x_10;
}
}
-lean_object* l_Std_AssocList_replace___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__17(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l_Std_AssocList_replace___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__15(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
if (lean_obj_tag(x_3) == 0)
@@ -1719,7 +1131,7 @@ x_9 = lean_name_eq(x_6, x_1);
if (x_9 == 0)
{
lean_object* x_10;
-x_10 = l_Std_AssocList_replace___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__17(x_1, x_2, x_8);
+x_10 = l_Std_AssocList_replace___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__15(x_1, x_2, x_8);
lean_ctor_set(x_3, 2, x_10);
return x_3;
}
@@ -1746,7 +1158,7 @@ x_14 = lean_name_eq(x_11, x_1);
if (x_14 == 0)
{
lean_object* x_15; lean_object* x_16;
-x_15 = l_Std_AssocList_replace___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__17(x_1, x_2, x_13);
+x_15 = l_Std_AssocList_replace___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__15(x_1, x_2, x_13);
x_16 = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(x_16, 0, x_11);
lean_ctor_set(x_16, 1, x_12);
@@ -1768,7 +1180,7 @@ return x_17;
}
}
}
-lean_object* l_Std_HashMapImp_insert___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__12(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l_Std_HashMapImp_insert___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__10(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
uint8_t x_4;
@@ -1782,7 +1194,7 @@ x_7 = lean_array_get_size(x_6);
x_8 = l_Lean_Name_hash(x_2);
x_9 = lean_usize_modn(x_8, x_7);
x_10 = lean_array_uget(x_6, x_9);
-x_11 = l_Std_AssocList_contains___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__13(x_2, x_10);
+x_11 = l_Std_AssocList_contains___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__11(x_2, x_10);
if (x_11 == 0)
{
lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16;
@@ -1800,7 +1212,7 @@ if (x_16 == 0)
{
lean_object* x_17;
lean_free_object(x_1);
-x_17 = l_Std_HashMapImp_expand___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__14(x_13, x_15);
+x_17 = l_Std_HashMapImp_expand___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__12(x_13, x_15);
return x_17;
}
else
@@ -1814,7 +1226,7 @@ else
{
lean_object* x_18; lean_object* x_19;
lean_dec(x_7);
-x_18 = l_Std_AssocList_replace___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__17(x_2, x_3, x_10);
+x_18 = l_Std_AssocList_replace___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__15(x_2, x_3, x_10);
x_19 = lean_array_uset(x_6, x_9, x_18);
lean_ctor_set(x_1, 1, x_19);
return x_1;
@@ -1832,7 +1244,7 @@ x_22 = lean_array_get_size(x_21);
x_23 = l_Lean_Name_hash(x_2);
x_24 = lean_usize_modn(x_23, x_22);
x_25 = lean_array_uget(x_21, x_24);
-x_26 = l_Std_AssocList_contains___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__13(x_2, x_25);
+x_26 = l_Std_AssocList_contains___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__11(x_2, x_25);
if (x_26 == 0)
{
lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31;
@@ -1849,7 +1261,7 @@ lean_dec(x_22);
if (x_31 == 0)
{
lean_object* x_32;
-x_32 = l_Std_HashMapImp_expand___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__14(x_28, x_30);
+x_32 = l_Std_HashMapImp_expand___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__12(x_28, x_30);
return x_32;
}
else
@@ -1865,7 +1277,7 @@ else
{
lean_object* x_34; lean_object* x_35; lean_object* x_36;
lean_dec(x_22);
-x_34 = l_Std_AssocList_replace___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__17(x_2, x_3, x_25);
+x_34 = l_Std_AssocList_replace___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__15(x_2, x_3, x_25);
x_35 = lean_array_uset(x_21, x_24, x_34);
x_36 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_36, 0, x_20);
@@ -1875,7 +1287,7 @@ return x_36;
}
}
}
-lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_push___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__11(lean_object* x_1, lean_object* x_2) {
+lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_push___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__9(lean_object* x_1, lean_object* x_2) {
_start:
{
uint8_t x_3;
@@ -1900,7 +1312,7 @@ x_12 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_12, 0, x_10);
lean_ctor_set(x_12, 1, x_10);
lean_ctor_set_uint8(x_12, sizeof(void*)*2, x_11);
-x_13 = l_Std_HashMapImp_insert___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__12(x_6, x_1, x_12);
+x_13 = l_Std_HashMapImp_insert___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__10(x_6, x_1, x_12);
lean_ctor_set(x_2, 2, x_13);
lean_ctor_set(x_2, 1, x_9);
lean_ctor_set(x_2, 0, x_7);
@@ -1936,7 +1348,7 @@ x_25 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_25, 0, x_23);
lean_ctor_set(x_25, 1, x_23);
lean_ctor_set_uint8(x_25, sizeof(void*)*2, x_24);
-x_26 = l_Std_HashMapImp_insert___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__12(x_18, x_1, x_25);
+x_26 = l_Std_HashMapImp_insert___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__10(x_18, x_1, x_25);
x_27 = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(x_27, 0, x_20);
lean_ctor_set(x_27, 1, x_22);
@@ -1950,7 +1362,7 @@ return x_29;
}
}
}
-lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_modifyDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__19(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_modifyDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__17(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
uint8_t x_4;
@@ -1959,7 +1371,7 @@ if (x_4 == 0)
{
lean_object* x_5; lean_object* x_6;
x_5 = lean_ctor_get(x_3, 2);
-x_6 = l_Std_HashMapImp_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__8(x_5, x_1);
+x_6 = l_Std_HashMapImp_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__6(x_5, x_1);
if (lean_obj_tag(x_6) == 0)
{
lean_object* x_7; lean_object* x_8;
@@ -1978,7 +1390,7 @@ x_9 = lean_ctor_get(x_6, 0);
lean_inc(x_9);
lean_dec(x_6);
x_10 = lean_apply_1(x_2, x_9);
-x_11 = l_Std_HashMapImp_insert___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__12(x_5, x_1, x_10);
+x_11 = l_Std_HashMapImp_insert___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__10(x_5, x_1, x_10);
lean_ctor_set(x_3, 2, x_11);
x_12 = lean_box(0);
x_13 = lean_alloc_ctor(0, 2, 0);
@@ -1999,7 +1411,7 @@ lean_inc(x_16);
lean_inc(x_15);
lean_inc(x_14);
lean_dec(x_3);
-x_18 = l_Std_HashMapImp_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__8(x_16, x_1);
+x_18 = l_Std_HashMapImp_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__6(x_16, x_1);
if (lean_obj_tag(x_18) == 0)
{
lean_object* x_19; lean_object* x_20; lean_object* x_21;
@@ -2023,7 +1435,7 @@ x_22 = lean_ctor_get(x_18, 0);
lean_inc(x_22);
lean_dec(x_18);
x_23 = lean_apply_1(x_2, x_22);
-x_24 = l_Std_HashMapImp_insert___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__12(x_16, x_1, x_23);
+x_24 = l_Std_HashMapImp_insert___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__10(x_16, x_1, x_23);
x_25 = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(x_25, 0, x_14);
lean_ctor_set(x_25, 1, x_15);
@@ -2038,23 +1450,24 @@ return x_27;
}
}
}
-lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_updateLowLinkOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__18(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_updateLowLinkOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__16(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4; lean_object* x_5;
x_4 = lean_alloc_closure((void*)(l___private_Lean_Util_SCC_0__Lean_SCC_updateLowLinkOf___rarg___lambda__1), 2, 1);
lean_closure_set(x_4, 0, x_2);
-x_5 = l___private_Lean_Util_SCC_0__Lean_SCC_modifyDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__19(x_1, x_4, x_3);
+x_5 = l___private_Lean_Util_SCC_0__Lean_SCC_modifyDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__17(x_1, x_4, x_3);
return x_5;
}
}
-lean_object* l_List_forM___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__20(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
+lean_object* l_List_forM___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__18(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
if (lean_obj_tag(x_3) == 0)
{
lean_object* x_5; lean_object* x_6;
lean_dec(x_2);
+lean_dec(x_1);
x_5 = lean_box(0);
x_6 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_6, 0, x_5);
@@ -2069,7 +1482,7 @@ lean_inc(x_7);
x_8 = lean_ctor_get(x_3, 1);
lean_inc(x_8);
lean_dec(x_3);
-x_9 = l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__7(x_7, x_4);
+x_9 = l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__5(x_7, x_4);
x_10 = lean_ctor_get(x_9, 0);
lean_inc(x_10);
x_11 = lean_ctor_get(x_10, 0);
@@ -2082,11 +1495,12 @@ x_12 = lean_ctor_get(x_9, 1);
lean_inc(x_12);
lean_dec(x_9);
lean_inc(x_7);
-x_13 = l___private_Lean_Util_SCC_0__Lean_SCC_sccAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__10(x_1, x_7, x_12);
+lean_inc(x_1);
+x_13 = l___private_Lean_Util_SCC_0__Lean_SCC_sccAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__8(x_1, x_7, x_12);
x_14 = lean_ctor_get(x_13, 1);
lean_inc(x_14);
lean_dec(x_13);
-x_15 = l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__7(x_7, x_14);
+x_15 = l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__5(x_7, x_14);
lean_dec(x_7);
x_16 = lean_ctor_get(x_15, 0);
lean_inc(x_16);
@@ -2097,7 +1511,7 @@ x_18 = lean_ctor_get(x_16, 1);
lean_inc(x_18);
lean_dec(x_16);
lean_inc(x_2);
-x_19 = l___private_Lean_Util_SCC_0__Lean_SCC_updateLowLinkOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__18(x_2, x_18, x_17);
+x_19 = l___private_Lean_Util_SCC_0__Lean_SCC_updateLowLinkOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__16(x_2, x_18, x_17);
x_20 = lean_ctor_get(x_19, 1);
lean_inc(x_20);
lean_dec(x_19);
@@ -2129,7 +1543,7 @@ x_25 = lean_ctor_get(x_9, 1);
lean_inc(x_25);
lean_dec(x_9);
lean_inc(x_2);
-x_26 = l___private_Lean_Util_SCC_0__Lean_SCC_updateLowLinkOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__18(x_2, x_11, x_25);
+x_26 = l___private_Lean_Util_SCC_0__Lean_SCC_updateLowLinkOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__16(x_2, x_11, x_25);
x_27 = lean_ctor_get(x_26, 1);
lean_inc(x_27);
lean_dec(x_26);
@@ -2141,16 +1555,16 @@ goto _start;
}
}
}
-lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_resetOnStack___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__23(lean_object* x_1, lean_object* x_2) {
+lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_resetOnStack___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__21(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3; lean_object* x_4;
x_3 = l___private_Lean_Util_SCC_0__Lean_SCC_resetOnStack___rarg___closed__1;
-x_4 = l___private_Lean_Util_SCC_0__Lean_SCC_modifyDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__19(x_1, x_3, x_2);
+x_4 = l___private_Lean_Util_SCC_0__Lean_SCC_modifyDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__17(x_1, x_3, x_2);
return x_4;
}
}
-lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_addSCCAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__22(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
+lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_addSCCAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__20(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
if (lean_obj_tag(x_2) == 0)
@@ -2211,7 +1625,7 @@ x_20 = lean_ctor_get(x_2, 0);
x_21 = lean_ctor_get(x_2, 1);
x_22 = lean_alloc_closure((void*)(l___private_Lean_Util_SCC_0__Lean_SCC_resetOnStack___rarg___lambda__1), 1, 0);
lean_inc(x_20);
-x_23 = l___private_Lean_Util_SCC_0__Lean_SCC_modifyDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__19(x_20, x_22, x_4);
+x_23 = l___private_Lean_Util_SCC_0__Lean_SCC_modifyDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__17(x_20, x_22, x_4);
x_24 = !lean_is_exclusive(x_23);
if (x_24 == 0)
{
@@ -2351,7 +1765,7 @@ lean_inc(x_51);
lean_dec(x_2);
x_53 = lean_alloc_closure((void*)(l___private_Lean_Util_SCC_0__Lean_SCC_resetOnStack___rarg___lambda__1), 1, 0);
lean_inc(x_51);
-x_54 = l___private_Lean_Util_SCC_0__Lean_SCC_modifyDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__19(x_51, x_53, x_4);
+x_54 = l___private_Lean_Util_SCC_0__Lean_SCC_modifyDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__17(x_51, x_53, x_4);
x_55 = lean_ctor_get(x_54, 1);
lean_inc(x_55);
if (lean_is_exclusive(x_54)) {
@@ -2421,73 +1835,99 @@ return x_67;
}
}
}
-lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_addSCC___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__21(lean_object* x_1, lean_object* x_2) {
+lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_addSCC___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__19(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3; lean_object* x_4; lean_object* x_5;
x_3 = lean_ctor_get(x_2, 0);
lean_inc(x_3);
x_4 = lean_box(0);
-x_5 = l___private_Lean_Util_SCC_0__Lean_SCC_addSCCAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__22(x_1, x_3, x_4, x_2);
+x_5 = l___private_Lean_Util_SCC_0__Lean_SCC_addSCCAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__20(x_1, x_3, x_4, x_2);
return x_5;
}
}
-lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_sccAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__10(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_sccAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__8___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
-lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_44; lean_object* x_45; lean_object* x_46; size_t x_47;
+lean_object* x_4; lean_object* x_5; uint8_t x_6;
+x_4 = lean_array_get_size(x_1);
+x_5 = lean_unsigned_to_nat(0u);
+x_6 = l_Array_anyRangeMAux___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__3(x_1, x_2, x_1, x_4, x_5);
+lean_dec(x_4);
+if (x_6 == 0)
+{
+lean_dec(x_2);
+return x_3;
+}
+else
+{
+lean_object* x_7;
+x_7 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_7, 0, x_2);
+lean_ctor_set(x_7, 1, x_3);
+return x_7;
+}
+}
+}
+lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_sccAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__8(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; size_t x_48;
lean_inc(x_2);
-x_4 = l___private_Lean_Util_SCC_0__Lean_SCC_push___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__11(x_2, x_3);
+x_4 = l___private_Lean_Util_SCC_0__Lean_SCC_push___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__9(x_2, x_3);
x_5 = lean_ctor_get(x_4, 1);
lean_inc(x_5);
lean_dec(x_4);
x_44 = lean_unsigned_to_nat(0u);
x_45 = l_Array_findMAux___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__2(x_2, x_1, x_44);
x_46 = lean_box(0);
-x_47 = 8192;
+lean_inc(x_1);
+x_47 = lean_alloc_closure((void*)(l___private_Lean_Util_SCC_0__Lean_SCC_sccAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__8___lambda__1___boxed), 3, 1);
+lean_closure_set(x_47, 0, x_1);
+x_48 = 8192;
if (lean_obj_tag(x_45) == 0)
{
-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;
-x_48 = l_Lean_Elab_PreDefinition_inhabited;
-x_49 = l_Option_get_x21___rarg___closed__3;
-x_50 = lean_panic_fn(x_48, x_49);
-x_51 = lean_ctor_get(x_50, 4);
-lean_inc(x_51);
-lean_dec(x_50);
-x_52 = l_Lean_Expr_FoldConstsImpl_initCache;
-x_53 = l_Lean_Expr_FoldConstsImpl_fold___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__4(x_1, x_47, x_51, x_46, x_52);
-x_54 = lean_ctor_get(x_53, 0);
-lean_inc(x_54);
-lean_dec(x_53);
-x_6 = x_54;
+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;
+x_49 = l_Lean_Elab_PreDefinition_inhabited;
+x_50 = l_Option_get_x21___rarg___closed__3;
+x_51 = lean_panic_fn(x_49, x_50);
+x_52 = lean_ctor_get(x_51, 4);
+lean_inc(x_52);
+lean_dec(x_51);
+x_53 = l_Lean_Expr_FoldConstsImpl_initCache;
+x_54 = l_Lean_Expr_FoldConstsImpl_fold_visit___rarg(x_47, x_48, x_52, x_46, x_53);
+x_55 = lean_ctor_get(x_54, 0);
+lean_inc(x_55);
+lean_dec(x_54);
+x_6 = x_55;
goto block_43;
}
else
{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59;
-x_55 = lean_ctor_get(x_45, 0);
-lean_inc(x_55);
-lean_dec(x_45);
-x_56 = lean_ctor_get(x_55, 4);
+lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60;
+x_56 = lean_ctor_get(x_45, 0);
lean_inc(x_56);
-lean_dec(x_55);
-x_57 = l_Lean_Expr_FoldConstsImpl_initCache;
-x_58 = l_Lean_Expr_FoldConstsImpl_fold___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__5(x_1, x_47, x_56, x_46, x_57);
-x_59 = lean_ctor_get(x_58, 0);
-lean_inc(x_59);
-lean_dec(x_58);
-x_6 = x_59;
+lean_dec(x_45);
+x_57 = lean_ctor_get(x_56, 4);
+lean_inc(x_57);
+lean_dec(x_56);
+x_58 = l_Lean_Expr_FoldConstsImpl_initCache;
+x_59 = l_Lean_Expr_FoldConstsImpl_fold_visit___rarg(x_47, x_48, x_57, x_46, x_58);
+x_60 = lean_ctor_get(x_59, 0);
+lean_inc(x_60);
+lean_dec(x_59);
+x_6 = x_60;
goto block_43;
}
block_43:
{
lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
lean_inc(x_2);
-x_7 = l_List_forM___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__20(x_1, x_2, x_6, x_5);
+x_7 = l_List_forM___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__18(x_1, x_2, x_6, x_5);
x_8 = lean_ctor_get(x_7, 1);
lean_inc(x_8);
lean_dec(x_7);
-x_9 = l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__7(x_2, x_8);
+x_9 = l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__5(x_2, x_8);
x_10 = lean_ctor_get(x_9, 0);
lean_inc(x_10);
x_11 = lean_ctor_get(x_10, 1);
@@ -2504,7 +1944,7 @@ lean_object* x_13; lean_object* x_14;
x_13 = lean_ctor_get(x_9, 1);
lean_inc(x_13);
lean_dec(x_9);
-x_14 = l___private_Lean_Util_SCC_0__Lean_SCC_addSCC___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__21(x_2, x_13);
+x_14 = l___private_Lean_Util_SCC_0__Lean_SCC_addSCC___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__19(x_2, x_13);
lean_dec(x_2);
return x_14;
}
@@ -2602,7 +2042,7 @@ else
{
lean_object* x_35;
lean_free_object(x_9);
-x_35 = l___private_Lean_Util_SCC_0__Lean_SCC_addSCC___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__21(x_2, x_29);
+x_35 = l___private_Lean_Util_SCC_0__Lean_SCC_addSCC___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__19(x_2, x_29);
lean_dec(x_2);
return x_35;
}
@@ -2635,7 +2075,7 @@ return x_41;
else
{
lean_object* x_42;
-x_42 = l___private_Lean_Util_SCC_0__Lean_SCC_addSCC___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__21(x_2, x_36);
+x_42 = l___private_Lean_Util_SCC_0__Lean_SCC_addSCC___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__19(x_2, x_36);
lean_dec(x_2);
return x_42;
}
@@ -2645,13 +2085,14 @@ return x_42;
}
}
}
-lean_object* l_List_forM___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
+lean_object* l_List_forM___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__23(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
if (lean_obj_tag(x_3) == 0)
{
lean_object* x_5; lean_object* x_6;
lean_dec(x_2);
+lean_dec(x_1);
x_5 = lean_box(0);
x_6 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_6, 0, x_5);
@@ -2666,7 +2107,7 @@ lean_inc(x_7);
x_8 = lean_ctor_get(x_3, 1);
lean_inc(x_8);
lean_dec(x_3);
-x_9 = l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__7(x_7, x_4);
+x_9 = l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__5(x_7, x_4);
x_10 = lean_ctor_get(x_9, 0);
lean_inc(x_10);
x_11 = lean_ctor_get(x_10, 0);
@@ -2679,11 +2120,12 @@ x_12 = lean_ctor_get(x_9, 1);
lean_inc(x_12);
lean_dec(x_9);
lean_inc(x_7);
-x_13 = l___private_Lean_Util_SCC_0__Lean_SCC_sccAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__24(x_1, x_7, x_12);
+lean_inc(x_1);
+x_13 = l___private_Lean_Util_SCC_0__Lean_SCC_sccAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__22(x_1, x_7, x_12);
x_14 = lean_ctor_get(x_13, 1);
lean_inc(x_14);
lean_dec(x_13);
-x_15 = l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__7(x_7, x_14);
+x_15 = l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__5(x_7, x_14);
lean_dec(x_7);
x_16 = lean_ctor_get(x_15, 0);
lean_inc(x_16);
@@ -2694,7 +2136,7 @@ x_18 = lean_ctor_get(x_16, 1);
lean_inc(x_18);
lean_dec(x_16);
lean_inc(x_2);
-x_19 = l___private_Lean_Util_SCC_0__Lean_SCC_updateLowLinkOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__18(x_2, x_18, x_17);
+x_19 = l___private_Lean_Util_SCC_0__Lean_SCC_updateLowLinkOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__16(x_2, x_18, x_17);
x_20 = lean_ctor_get(x_19, 1);
lean_inc(x_20);
lean_dec(x_19);
@@ -2726,7 +2168,7 @@ x_25 = lean_ctor_get(x_9, 1);
lean_inc(x_25);
lean_dec(x_9);
lean_inc(x_2);
-x_26 = l___private_Lean_Util_SCC_0__Lean_SCC_updateLowLinkOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__18(x_2, x_11, x_25);
+x_26 = l___private_Lean_Util_SCC_0__Lean_SCC_updateLowLinkOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__16(x_2, x_11, x_25);
x_27 = lean_ctor_get(x_26, 1);
lean_inc(x_27);
lean_dec(x_26);
@@ -2738,62 +2180,65 @@ goto _start;
}
}
}
-lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_sccAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__24(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_sccAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__22(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
-lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_44; lean_object* x_45; lean_object* x_46; size_t x_47;
+lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; size_t x_48;
lean_inc(x_2);
-x_4 = l___private_Lean_Util_SCC_0__Lean_SCC_push___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__11(x_2, x_3);
+x_4 = l___private_Lean_Util_SCC_0__Lean_SCC_push___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__9(x_2, x_3);
x_5 = lean_ctor_get(x_4, 1);
lean_inc(x_5);
lean_dec(x_4);
x_44 = lean_unsigned_to_nat(0u);
x_45 = l_Array_findMAux___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__2(x_2, x_1, x_44);
x_46 = lean_box(0);
-x_47 = 8192;
+lean_inc(x_1);
+x_47 = lean_alloc_closure((void*)(l___private_Lean_Util_SCC_0__Lean_SCC_sccAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__8___lambda__1___boxed), 3, 1);
+lean_closure_set(x_47, 0, x_1);
+x_48 = 8192;
if (lean_obj_tag(x_45) == 0)
{
-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;
-x_48 = l_Lean_Elab_PreDefinition_inhabited;
-x_49 = l_Option_get_x21___rarg___closed__3;
-x_50 = lean_panic_fn(x_48, x_49);
-x_51 = lean_ctor_get(x_50, 4);
-lean_inc(x_51);
-lean_dec(x_50);
-x_52 = l_Lean_Expr_FoldConstsImpl_initCache;
-x_53 = l_Lean_Expr_FoldConstsImpl_fold___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__4(x_1, x_47, x_51, x_46, x_52);
-x_54 = lean_ctor_get(x_53, 0);
-lean_inc(x_54);
-lean_dec(x_53);
-x_6 = x_54;
+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;
+x_49 = l_Lean_Elab_PreDefinition_inhabited;
+x_50 = l_Option_get_x21___rarg___closed__3;
+x_51 = lean_panic_fn(x_49, x_50);
+x_52 = lean_ctor_get(x_51, 4);
+lean_inc(x_52);
+lean_dec(x_51);
+x_53 = l_Lean_Expr_FoldConstsImpl_initCache;
+x_54 = l_Lean_Expr_FoldConstsImpl_fold_visit___rarg(x_47, x_48, x_52, x_46, x_53);
+x_55 = lean_ctor_get(x_54, 0);
+lean_inc(x_55);
+lean_dec(x_54);
+x_6 = x_55;
goto block_43;
}
else
{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59;
-x_55 = lean_ctor_get(x_45, 0);
-lean_inc(x_55);
-lean_dec(x_45);
-x_56 = lean_ctor_get(x_55, 4);
+lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60;
+x_56 = lean_ctor_get(x_45, 0);
lean_inc(x_56);
-lean_dec(x_55);
-x_57 = l_Lean_Expr_FoldConstsImpl_initCache;
-x_58 = l_Lean_Expr_FoldConstsImpl_fold___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__5(x_1, x_47, x_56, x_46, x_57);
-x_59 = lean_ctor_get(x_58, 0);
-lean_inc(x_59);
-lean_dec(x_58);
-x_6 = x_59;
+lean_dec(x_45);
+x_57 = lean_ctor_get(x_56, 4);
+lean_inc(x_57);
+lean_dec(x_56);
+x_58 = l_Lean_Expr_FoldConstsImpl_initCache;
+x_59 = l_Lean_Expr_FoldConstsImpl_fold_visit___rarg(x_47, x_48, x_57, x_46, x_58);
+x_60 = lean_ctor_get(x_59, 0);
+lean_inc(x_60);
+lean_dec(x_59);
+x_6 = x_60;
goto block_43;
}
block_43:
{
lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
lean_inc(x_2);
-x_7 = l_List_forM___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25(x_1, x_2, x_6, x_5);
+x_7 = l_List_forM___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__23(x_1, x_2, x_6, x_5);
x_8 = lean_ctor_get(x_7, 1);
lean_inc(x_8);
lean_dec(x_7);
-x_9 = l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__7(x_2, x_8);
+x_9 = l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__5(x_2, x_8);
x_10 = lean_ctor_get(x_9, 0);
lean_inc(x_10);
x_11 = lean_ctor_get(x_10, 1);
@@ -2810,7 +2255,7 @@ lean_object* x_13; lean_object* x_14;
x_13 = lean_ctor_get(x_9, 1);
lean_inc(x_13);
lean_dec(x_9);
-x_14 = l___private_Lean_Util_SCC_0__Lean_SCC_addSCC___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__21(x_2, x_13);
+x_14 = l___private_Lean_Util_SCC_0__Lean_SCC_addSCC___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__19(x_2, x_13);
lean_dec(x_2);
return x_14;
}
@@ -2908,7 +2353,7 @@ else
{
lean_object* x_35;
lean_free_object(x_9);
-x_35 = l___private_Lean_Util_SCC_0__Lean_SCC_addSCC___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__21(x_2, x_29);
+x_35 = l___private_Lean_Util_SCC_0__Lean_SCC_addSCC___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__19(x_2, x_29);
lean_dec(x_2);
return x_35;
}
@@ -2941,7 +2386,7 @@ return x_41;
else
{
lean_object* x_42;
-x_42 = l___private_Lean_Util_SCC_0__Lean_SCC_addSCC___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__21(x_2, x_36);
+x_42 = l___private_Lean_Util_SCC_0__Lean_SCC_addSCC___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__19(x_2, x_36);
lean_dec(x_2);
return x_42;
}
@@ -2951,7 +2396,7 @@ return x_42;
}
}
}
-lean_object* l_Std_mkHashMap___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26(lean_object* x_1) {
+lean_object* l_Std_mkHashMap___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__24(lean_object* x_1) {
_start:
{
lean_object* x_2;
@@ -2959,12 +2404,13 @@ x_2 = l_Std_mkHashMapImp___rarg(x_1);
return x_2;
}
}
-lean_object* l_List_forM___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__27(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l_List_forM___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
if (lean_obj_tag(x_2) == 0)
{
lean_object* x_4; lean_object* x_5;
+lean_dec(x_1);
x_4 = lean_box(0);
x_5 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_5, 0, x_4);
@@ -2979,7 +2425,7 @@ lean_inc(x_6);
x_7 = lean_ctor_get(x_2, 1);
lean_inc(x_7);
lean_dec(x_2);
-x_8 = l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__7(x_6, x_3);
+x_8 = l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__5(x_6, x_3);
x_9 = lean_ctor_get(x_8, 0);
lean_inc(x_9);
x_10 = lean_ctor_get(x_9, 0);
@@ -2991,7 +2437,8 @@ lean_object* x_11; lean_object* x_12; lean_object* x_13;
x_11 = lean_ctor_get(x_8, 1);
lean_inc(x_11);
lean_dec(x_8);
-x_12 = l___private_Lean_Util_SCC_0__Lean_SCC_sccAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__10(x_1, x_6, x_11);
+lean_inc(x_1);
+x_12 = l___private_Lean_Util_SCC_0__Lean_SCC_sccAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__8(x_1, x_6, x_11);
x_13 = lean_ctor_get(x_12, 1);
lean_inc(x_13);
lean_dec(x_12);
@@ -3014,7 +2461,7 @@ goto _start;
}
}
}
-static lean_object* _init_l_Lean_SCC_scc___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__6___closed__1() {
+static lean_object* _init_l_Lean_SCC_scc___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__4___closed__1() {
_start:
{
lean_object* x_1; lean_object* x_2;
@@ -3023,13 +2470,13 @@ x_2 = l_Std_mkHashMapImp___rarg(x_1);
return x_2;
}
}
-static lean_object* _init_l_Lean_SCC_scc___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__6___closed__2() {
+static lean_object* _init_l_Lean_SCC_scc___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__4___closed__2() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
x_1 = lean_box(0);
x_2 = lean_unsigned_to_nat(0u);
-x_3 = l_Lean_SCC_scc___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__6___closed__1;
+x_3 = l_Lean_SCC_scc___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__4___closed__1;
x_4 = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(x_4, 0, x_1);
lean_ctor_set(x_4, 1, x_2);
@@ -3038,12 +2485,12 @@ lean_ctor_set(x_4, 3, x_1);
return x_4;
}
}
-lean_object* l_Lean_SCC_scc___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__6(lean_object* x_1, lean_object* x_2) {
+lean_object* l_Lean_SCC_scc___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__4(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_3 = l_Lean_SCC_scc___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__6___closed__2;
-x_4 = l_List_forM___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__27(x_1, x_2, x_3);
+x_3 = l_Lean_SCC_scc___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__4___closed__2;
+x_4 = l_List_forM___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25(x_1, x_2, x_3);
x_5 = lean_ctor_get(x_4, 1);
lean_inc(x_5);
lean_dec(x_4);
@@ -3054,7 +2501,7 @@ x_7 = l_List_reverse___rarg(x_6);
return x_7;
}
}
-lean_object* l_Array_findMAux___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__28(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l_Array_findMAux___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4; uint8_t x_5;
@@ -3097,7 +2544,7 @@ return x_13;
}
}
}
-lean_object* l_Array_umapMAux___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__29(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l_Array_umapMAux___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__27(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4; uint8_t x_5;
@@ -3118,7 +2565,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
-x_11 = l_Array_findMAux___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__28(x_10, x_1, x_8);
+x_11 = l_Array_findMAux___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26(x_10, x_1, x_8);
lean_dec(x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@@ -3151,7 +2598,7 @@ goto _start;
}
}
}
-lean_object* l_Array_umapMAux___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__30(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l_Array_umapMAux___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__28(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4; uint8_t x_5;
@@ -3177,7 +2624,7 @@ x_12 = lean_mk_empty_array_with_capacity(x_11);
lean_dec(x_11);
x_13 = l_List_toArrayAux___main___rarg(x_10, x_12);
x_14 = x_13;
-x_15 = l_Array_umapMAux___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__29(x_1, x_8, x_14);
+x_15 = l_Array_umapMAux___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__27(x_1, x_8, x_14);
x_16 = x_15;
x_17 = lean_unsigned_to_nat(1u);
x_18 = lean_nat_add(x_2, x_17);
@@ -3196,14 +2643,16 @@ _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; lean_object* x_10; lean_object* x_11;
x_2 = l_Array_toList___rarg(x_1);
x_3 = l_List_map___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__1(x_2);
-x_4 = l_Lean_SCC_scc___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__6(x_1, x_3);
+lean_inc(x_1);
+x_4 = l_Lean_SCC_scc___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__4(x_1, x_3);
x_5 = l_List_redLength___main___rarg(x_4);
x_6 = lean_mk_empty_array_with_capacity(x_5);
lean_dec(x_5);
x_7 = l_List_toArrayAux___main___rarg(x_4, x_6);
x_8 = x_7;
x_9 = lean_unsigned_to_nat(0u);
-x_10 = l_Array_umapMAux___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__30(x_1, x_9, x_8);
+x_10 = l_Array_umapMAux___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__28(x_1, x_9, x_8);
+lean_dec(x_1);
x_11 = x_10;
return x_11;
}
@@ -3231,177 +2680,101 @@ x_7 = lean_box(x_6);
return x_7;
}
}
-lean_object* l_Lean_Expr_FoldConstsImpl_fold___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
-_start:
-{
-size_t x_6; lean_object* x_7;
-x_6 = lean_unbox_usize(x_2);
-lean_dec(x_2);
-x_7 = l_Lean_Expr_FoldConstsImpl_fold___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__4(x_1, x_6, x_3, x_4, x_5);
-lean_dec(x_1);
-return x_7;
-}
-}
-lean_object* l_Lean_Expr_FoldConstsImpl_fold___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
-_start:
-{
-size_t x_6; lean_object* x_7;
-x_6 = lean_unbox_usize(x_2);
-lean_dec(x_2);
-x_7 = l_Lean_Expr_FoldConstsImpl_fold___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__5(x_1, x_6, x_3, x_4, x_5);
-lean_dec(x_1);
-return x_7;
-}
-}
-lean_object* l_Std_AssocList_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__9___boxed(lean_object* x_1, lean_object* x_2) {
+lean_object* l_Std_AssocList_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__7___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
-x_3 = l_Std_AssocList_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__9(x_1, x_2);
+x_3 = l_Std_AssocList_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__7(x_1, x_2);
lean_dec(x_2);
lean_dec(x_1);
return x_3;
}
}
-lean_object* l_Std_HashMapImp_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__8___boxed(lean_object* x_1, lean_object* x_2) {
+lean_object* l_Std_HashMapImp_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__6___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
-x_3 = l_Std_HashMapImp_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__8(x_1, x_2);
+x_3 = l_Std_HashMapImp_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__6(x_1, x_2);
lean_dec(x_2);
lean_dec(x_1);
return x_3;
}
}
-lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__7___boxed(lean_object* x_1, lean_object* x_2) {
+lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__5___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
-x_3 = l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__7(x_1, x_2);
+x_3 = l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__5(x_1, x_2);
lean_dec(x_1);
return x_3;
}
}
-lean_object* l_Std_AssocList_contains___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__13___boxed(lean_object* x_1, lean_object* x_2) {
+lean_object* l_Std_AssocList_contains___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__11___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
uint8_t x_3; lean_object* x_4;
-x_3 = l_Std_AssocList_contains___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__13(x_1, x_2);
+x_3 = l_Std_AssocList_contains___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__11(x_1, x_2);
lean_dec(x_2);
lean_dec(x_1);
x_4 = lean_box(x_3);
return x_4;
}
}
-lean_object* l_List_forM___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__20___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
+lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_addSCCAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__20___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
lean_object* x_5;
-x_5 = l_List_forM___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__20(x_1, x_2, x_3, x_4);
+x_5 = l___private_Lean_Util_SCC_0__Lean_SCC_addSCCAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__20(x_1, x_2, x_3, x_4);
lean_dec(x_1);
return x_5;
}
}
-lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_addSCCAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__22___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
-_start:
-{
-lean_object* x_5;
-x_5 = l___private_Lean_Util_SCC_0__Lean_SCC_addSCCAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__22(x_1, x_2, x_3, x_4);
-lean_dec(x_1);
-return x_5;
-}
-}
-lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_addSCC___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__21___boxed(lean_object* x_1, lean_object* x_2) {
+lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_addSCC___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__19___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
-x_3 = l___private_Lean_Util_SCC_0__Lean_SCC_addSCC___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__21(x_1, x_2);
+x_3 = l___private_Lean_Util_SCC_0__Lean_SCC_addSCC___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__19(x_1, x_2);
lean_dec(x_1);
return x_3;
}
}
-lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_sccAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__10___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_sccAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__8___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
-x_4 = l___private_Lean_Util_SCC_0__Lean_SCC_sccAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__10(x_1, x_2, x_3);
+x_4 = l___private_Lean_Util_SCC_0__Lean_SCC_sccAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__8___lambda__1(x_1, x_2, x_3);
lean_dec(x_1);
return x_4;
}
}
-lean_object* l_List_forM___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
-_start:
-{
-lean_object* x_5;
-x_5 = l_List_forM___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25(x_1, x_2, x_3, x_4);
-lean_dec(x_1);
-return x_5;
-}
-}
-lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_sccAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__24___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l_Array_findMAux___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
-x_4 = l___private_Lean_Util_SCC_0__Lean_SCC_sccAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__24(x_1, x_2, x_3);
-lean_dec(x_1);
-return x_4;
-}
-}
-lean_object* l_List_forM___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__27___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4;
-x_4 = l_List_forM___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__27(x_1, x_2, x_3);
-lean_dec(x_1);
-return x_4;
-}
-}
-lean_object* l_Lean_SCC_scc___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__6___boxed(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3;
-x_3 = l_Lean_SCC_scc___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__6(x_1, x_2);
-lean_dec(x_1);
-return x_3;
-}
-}
-lean_object* l_Array_findMAux___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__28___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4;
-x_4 = l_Array_findMAux___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__28(x_1, x_2, x_3);
+x_4 = l_Array_findMAux___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26(x_1, x_2, x_3);
lean_dec(x_2);
lean_dec(x_1);
return x_4;
}
}
-lean_object* l_Array_umapMAux___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__29___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l_Array_umapMAux___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__27___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
-x_4 = l_Array_umapMAux___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__29(x_1, x_2, x_3);
+x_4 = l_Array_umapMAux___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__27(x_1, x_2, x_3);
lean_dec(x_1);
return x_4;
}
}
-lean_object* l_Array_umapMAux___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__30___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l_Array_umapMAux___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__28___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
-x_4 = l_Array_umapMAux___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__30(x_1, x_2, x_3);
+x_4 = l_Array_umapMAux___main___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__28(x_1, x_2, x_3);
lean_dec(x_1);
return x_4;
}
}
-lean_object* l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___boxed(lean_object* x_1) {
-_start:
-{
-lean_object* x_2;
-x_2 = l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs(x_1);
-lean_dec(x_1);
-return x_2;
-}
-}
lean_object* l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_collectMVarsAtPreDef(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) {
_start:
{
@@ -3599,127 +2972,134 @@ return x_3;
lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__1(lean_object* x_1, size_t x_2, size_t 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) {
_start:
{
-uint8_t x_12;
-x_12 = x_3 < x_2;
-if (x_12 == 0)
+lean_object* x_12; lean_object* x_13; uint8_t x_19;
+x_19 = x_3 < x_2;
+if (x_19 == 0)
{
-lean_object* x_13;
-x_13 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_13, 0, x_4);
-lean_ctor_set(x_13, 1, x_11);
-return x_13;
+lean_object* x_20;
+x_20 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_20, 0, x_4);
+lean_ctor_set(x_20, 1, x_11);
+return x_20;
}
else
{
-lean_object* x_14; uint8_t x_15; lean_object* x_16; lean_object* x_44; lean_object* x_45; lean_object* x_46; uint8_t x_47;
+lean_object* x_21; uint8_t x_22; lean_object* x_23; lean_object* x_45; lean_object* x_46; lean_object* x_47; uint8_t x_48;
lean_dec(x_4);
-x_14 = lean_array_uget(x_1, x_3);
-x_44 = lean_st_ref_get(x_10, x_11);
-x_45 = lean_ctor_get(x_44, 0);
-lean_inc(x_45);
-x_46 = lean_ctor_get(x_45, 3);
+x_21 = lean_array_uget(x_1, x_3);
+x_45 = lean_st_ref_get(x_10, x_11);
+x_46 = lean_ctor_get(x_45, 0);
lean_inc(x_46);
-lean_dec(x_45);
-x_47 = lean_ctor_get_uint8(x_46, sizeof(void*)*1);
+x_47 = lean_ctor_get(x_46, 3);
+lean_inc(x_47);
lean_dec(x_46);
-if (x_47 == 0)
+x_48 = lean_ctor_get_uint8(x_47, sizeof(void*)*1);
+lean_dec(x_47);
+if (x_48 == 0)
{
-lean_object* x_48; uint8_t x_49;
-x_48 = lean_ctor_get(x_44, 1);
-lean_inc(x_48);
-lean_dec(x_44);
-x_49 = 0;
-x_15 = x_49;
-x_16 = x_48;
-goto block_43;
+lean_object* x_49; uint8_t x_50;
+x_49 = lean_ctor_get(x_45, 1);
+lean_inc(x_49);
+lean_dec(x_45);
+x_50 = 0;
+x_22 = x_50;
+x_23 = x_49;
+goto block_44;
}
else
{
-lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; uint8_t x_55;
-x_50 = lean_ctor_get(x_44, 1);
-lean_inc(x_50);
-lean_dec(x_44);
-x_51 = l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__1___closed__2;
-x_52 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_51, x_5, x_6, x_7, x_8, x_9, x_10, x_50);
-x_53 = lean_ctor_get(x_52, 0);
-lean_inc(x_53);
-x_54 = lean_ctor_get(x_52, 1);
+lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; uint8_t x_56;
+x_51 = lean_ctor_get(x_45, 1);
+lean_inc(x_51);
+lean_dec(x_45);
+x_52 = l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__1___closed__2;
+x_53 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_52, x_5, x_6, x_7, x_8, x_9, x_10, x_51);
+x_54 = lean_ctor_get(x_53, 0);
lean_inc(x_54);
-lean_dec(x_52);
-x_55 = lean_unbox(x_53);
+x_55 = lean_ctor_get(x_53, 1);
+lean_inc(x_55);
lean_dec(x_53);
-x_15 = x_55;
-x_16 = x_54;
-goto block_43;
+x_56 = lean_unbox(x_54);
+lean_dec(x_54);
+x_22 = x_56;
+x_23 = x_55;
+goto block_44;
}
-block_43:
+block_44:
{
-if (x_15 == 0)
+if (x_22 == 0)
{
-size_t x_17; size_t x_18; lean_object* x_19;
-lean_dec(x_14);
-x_17 = 1;
-x_18 = x_3 + x_17;
-x_19 = lean_box(0);
-x_3 = x_18;
-x_4 = x_19;
-x_11 = x_16;
-goto _start;
+lean_object* x_24;
+lean_dec(x_21);
+x_24 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Term_0__Lean_Elab_Term_applyAttributesCore___spec__1___closed__1;
+x_12 = x_24;
+x_13 = x_23;
+goto block_18;
}
else
{
-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; size_t x_39; size_t x_40; lean_object* x_41;
-x_21 = lean_ctor_get(x_14, 2);
-lean_inc(x_21);
-x_22 = lean_alloc_ctor(4, 1, 0);
-lean_ctor_set(x_22, 0, x_21);
-x_23 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_24 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_24, 0, x_23);
-lean_ctor_set(x_24, 1, x_22);
-x_25 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__7;
-x_26 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_26, 0, x_24);
-lean_ctor_set(x_26, 1, x_25);
-x_27 = lean_ctor_get(x_14, 3);
-lean_inc(x_27);
-x_28 = lean_alloc_ctor(2, 1, 0);
+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;
+x_25 = lean_ctor_get(x_21, 2);
+lean_inc(x_25);
+x_26 = lean_alloc_ctor(4, 1, 0);
+lean_ctor_set(x_26, 0, x_25);
+x_27 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_28 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_28, 0, x_27);
-x_29 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_29, 0, x_26);
-lean_ctor_set(x_29, 1, x_28);
-x_30 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_elimRecursion___lambda__2___closed__2;
-x_31 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_31, 0, x_29);
-lean_ctor_set(x_31, 1, x_30);
-x_32 = lean_ctor_get(x_14, 4);
-lean_inc(x_32);
-lean_dec(x_14);
-x_33 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_33, 0, x_32);
-x_34 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_34, 0, x_31);
-lean_ctor_set(x_34, 1, x_33);
+lean_ctor_set(x_28, 1, x_26);
+x_29 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__7;
+x_30 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_30, 0, x_28);
+lean_ctor_set(x_30, 1, x_29);
+x_31 = lean_ctor_get(x_21, 3);
+lean_inc(x_31);
+x_32 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_32, 0, x_31);
+x_33 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_33, 0, x_30);
+lean_ctor_set(x_33, 1, x_32);
+x_34 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_elimRecursion___lambda__2___closed__2;
x_35 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_35, 0, x_34);
-lean_ctor_set(x_35, 1, x_23);
-x_36 = l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__1___closed__2;
-x_37 = l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__1(x_36, x_35, x_5, x_6, x_7, x_8, x_9, x_10, x_16);
-x_38 = lean_ctor_get(x_37, 1);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = 1;
-x_40 = x_3 + x_39;
-x_41 = lean_box(0);
-x_3 = x_40;
-x_4 = x_41;
-x_11 = x_38;
+lean_ctor_set(x_35, 0, x_33);
+lean_ctor_set(x_35, 1, x_34);
+x_36 = lean_ctor_get(x_21, 4);
+lean_inc(x_36);
+lean_dec(x_21);
+x_37 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_37, 0, x_36);
+x_38 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_38, 0, x_35);
+lean_ctor_set(x_38, 1, x_37);
+x_39 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_39, 0, x_38);
+lean_ctor_set(x_39, 1, x_27);
+x_40 = l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__1___closed__2;
+x_41 = l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__1(x_40, x_39, x_5, x_6, x_7, x_8, x_9, x_10, x_23);
+x_42 = lean_ctor_get(x_41, 1);
+lean_inc(x_42);
+lean_dec(x_41);
+x_43 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Term_0__Lean_Elab_Term_applyAttributesCore___spec__1___closed__1;
+x_12 = x_43;
+x_13 = x_42;
+goto block_18;
+}
+}
+}
+block_18:
+{
+lean_object* x_14; size_t x_15; size_t x_16;
+x_14 = lean_ctor_get(x_12, 0);
+lean_inc(x_14);
+lean_dec(x_12);
+x_15 = 1;
+x_16 = x_3 + x_15;
+x_3 = x_16;
+x_4 = x_14;
+x_11 = x_13;
goto _start;
}
}
}
-}
-}
lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__2(lean_object* x_1, size_t x_2, size_t 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) {
_start:
{
@@ -4288,7 +3668,7 @@ x_113 = lean_ctor_get(x_107, 1);
lean_inc(x_113);
lean_dec(x_107);
x_114 = l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__8___lambda__3___closed__2;
-x_115 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_114, x_2, x_3, x_4, x_5, x_6, x_7, x_113);
+x_115 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_114, x_2, x_3, x_4, x_5, x_6, x_7, x_113);
x_116 = lean_ctor_get(x_115, 0);
lean_inc(x_116);
x_117 = lean_ctor_get(x_115, 1);
@@ -4837,6 +4217,7 @@ lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
+lean_dec(x_1);
x_30 = !lean_is_exclusive(x_15);
if (x_30 == 0)
{
@@ -4962,15 +4343,6 @@ x_15 = l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__8(x_1,
return x_15;
}
}
-lean_object* l_Lean_Elab_addPreDefinitions___boxed(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:
-{
-lean_object* x_9;
-x_9 = l_Lean_Elab_addPreDefinitions(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8);
-lean_dec(x_1);
-return x_9;
-}
-}
lean_object* initialize_Init(lean_object*);
lean_object* initialize_Lean_Elab_PreDefinition_Basic(lean_object*);
lean_object* initialize_Lean_Elab_PreDefinition_Structural(lean_object*);
@@ -5000,10 +4372,10 @@ l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Ela
lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___closed__1);
l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___closed__2 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___closed__2();
lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___closed__2);
-l_Lean_SCC_scc___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__6___closed__1 = _init_l_Lean_SCC_scc___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__6___closed__1();
-lean_mark_persistent(l_Lean_SCC_scc___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__6___closed__1);
-l_Lean_SCC_scc___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__6___closed__2 = _init_l_Lean_SCC_scc___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__6___closed__2();
-lean_mark_persistent(l_Lean_SCC_scc___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__6___closed__2);
+l_Lean_SCC_scc___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__4___closed__1 = _init_l_Lean_SCC_scc___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__4___closed__1();
+lean_mark_persistent(l_Lean_SCC_scc___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__4___closed__1);
+l_Lean_SCC_scc___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__4___closed__2 = _init_l_Lean_SCC_scc___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__4___closed__2();
+lean_mark_persistent(l_Lean_SCC_scc___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__4___closed__2);
l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__1___closed__1 = _init_l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__1___closed__1();
lean_mark_persistent(l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__1___closed__1);
l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__1___closed__2 = _init_l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__1___closed__2();
diff --git a/stage0/stdlib/Lean/Elab/PreDefinition/Structural.c b/stage0/stdlib/Lean/Elab/PreDefinition/Structural.c
index ade6ec1934..c574995d59 100644
--- a/stage0/stdlib/Lean/Elab/PreDefinition/Structural.c
+++ b/stage0/stdlib/Lean/Elab/PreDefinition/Structural.c
@@ -121,11 +121,11 @@ extern lean_object* l_Lean_levelZero;
lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_findRecArg_loop___rarg___closed__17;
lean_object* lean_nat_add(lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkForallFVars___at___private_Lean_Meta_InferType_0__Lean_Meta_inferLambdaType___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_ForEachExpr_visit___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixedPrefix___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_throwError___at_Lean_Elab_Term_throwTypeMismatchError___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_PreDefinition_Structural_0__Lean_Elab_mkBRecOn___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*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_structuralRecursion___closed__1;
lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_findRecArg_loop___rarg___closed__8;
-lean_object* l_Lean_ForEachExpr_visit___main___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixedPrefix___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_zip___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Elab_structuralRecursion___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_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__10___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*);
@@ -172,7 +172,6 @@ lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_findRec
lean_object* l_Lean_Expr_fvarId_x21(lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getIndexMinPos___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Meta_dependsOn___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_hasBadIndexDep_x3f___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_ForEachExpr_visit___main___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixedPrefix___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_findRecArg_loop___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_findRecArg_loop___rarg___closed__14;
@@ -233,6 +232,7 @@ lean_object* l_Lean_hasConst___at___private_Lean_Elab_PreDefinition_Structural_0
lean_object* l___private_Lean_Meta_InferType_0__Lean_Meta_getLevelImp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__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*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__2___closed__4;
+lean_object* l_Lean_ForEachExpr_visit___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixedPrefix___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_mapErrorImp___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_findRecArg_loop___rarg___closed__12;
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_hasBadIndexDep_x3f___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -320,11 +320,11 @@ lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_hasBadI
lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_throwToBelowFailed___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_hasBadParamDep_x3f_match__2___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_toList___rarg(lean_object*);
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_hasBadParamDep_x3f___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_mk_array(lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_ensureNoRecFn___lambda__1___closed__1;
lean_object* l_Array_umapMAux___main___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__2___closed__5;
+lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_findRecArg_loop___rarg___closed__10;
lean_object* l_Lean_Meta_forEachExpr___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_ensureNoRecFn___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_hasBadParamDep_x3f___spec__2___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -345,7 +345,6 @@ lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixe
lean_object* l_Lean_Expr_getAppFn(lean_object*);
lean_object* l_List_map___main___at_Lean_MessageData_hasCoeOfListExpr___spec__1(lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_hasBadIndexDep_x3f_match__1___rarg(lean_object*, lean_object*);
-lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Nat_Inhabited;
lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_findRecArg_loop_match__2(lean_object*);
lean_object* l_unsafeCast(lean_object*, lean_object*, lean_object*);
@@ -361,6 +360,7 @@ lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_ensureN
uint8_t lean_level_eq(lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_toBelow___lambda__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_PreDefinition_Structural_0__Lean_Elab_findRecArg_loop___rarg___closed__11;
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_indentExpr(lean_object*);
extern lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_DefView___hyg_662____closed__2;
lean_object* l_Array_umapMAux___main___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_replaceRecApps_loop___spec__8___lambda__2___closed__3;
@@ -482,431 +482,431 @@ return x_8;
}
}
}
-lean_object* l_Lean_ForEachExpr_visit___main___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixedPrefix___spec__3(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* l_Lean_ForEachExpr_visit___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixedPrefix___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
-lean_object* x_7; lean_object* x_8; uint8_t x_27; lean_object* x_28; uint8_t x_115; lean_object* x_116; lean_object* x_120;
-x_120 = lean_st_ref_get(x_4, x_6);
-if (lean_obj_tag(x_120) == 0)
+lean_object* x_7; lean_object* x_8; uint8_t x_27; lean_object* x_28; lean_object* x_115;
+x_115 = lean_st_ref_get(x_4, x_6);
+if (lean_obj_tag(x_115) == 0)
+{
+uint8_t x_116;
+x_116 = !lean_is_exclusive(x_115);
+if (x_116 == 0)
+{
+lean_object* x_117; lean_object* x_118; lean_object* x_119;
+x_117 = lean_ctor_get(x_115, 0);
+x_118 = lean_ctor_get(x_115, 1);
+x_119 = l_Std_HashMapImp_find_x3f___at_Lean_Meta_ForEachExpr_visit___spec__7(x_117, x_3);
+lean_dec(x_117);
+if (lean_obj_tag(x_119) == 0)
+{
+uint8_t x_120;
+lean_free_object(x_115);
+x_120 = l_Lean_Expr_isAppOf(x_3, x_1);
+if (x_120 == 0)
{
uint8_t x_121;
-x_121 = !lean_is_exclusive(x_120);
-if (x_121 == 0)
-{
-lean_object* x_122; lean_object* x_123; lean_object* x_124;
-x_122 = lean_ctor_get(x_120, 0);
-x_123 = lean_ctor_get(x_120, 1);
-x_124 = l_Std_HashMapImp_find_x3f___at_Lean_Meta_ForEachExpr_visit___spec__7(x_122, x_3);
-lean_dec(x_122);
-if (lean_obj_tag(x_124) == 0)
-{
-uint8_t x_125;
-lean_free_object(x_120);
-x_125 = l_Lean_Expr_isAppOf(x_3, x_1);
-if (x_125 == 0)
-{
-uint8_t x_126;
-x_126 = 1;
-x_115 = x_126;
-x_116 = x_123;
-goto block_119;
+x_121 = 1;
+x_27 = x_121;
+x_28 = x_118;
+goto block_114;
}
else
{
-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; lean_object* x_134;
-x_127 = lean_unsigned_to_nat(0u);
-x_128 = l_Lean_Expr_getAppNumArgsAux(x_3, x_127);
-x_129 = l_Lean_Expr_getAppArgs___closed__1;
-lean_inc(x_128);
-x_130 = lean_mk_array(x_128, x_129);
-x_131 = lean_unsigned_to_nat(1u);
-x_132 = lean_nat_sub(x_128, x_131);
-lean_dec(x_128);
+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;
+x_122 = lean_unsigned_to_nat(0u);
+x_123 = l_Lean_Expr_getAppNumArgsAux(x_3, x_122);
+x_124 = l_Lean_Expr_getAppArgs___closed__1;
+lean_inc(x_123);
+x_125 = lean_mk_array(x_123, x_124);
+x_126 = lean_unsigned_to_nat(1u);
+x_127 = lean_nat_sub(x_123, x_126);
+lean_dec(x_123);
lean_inc(x_3);
-x_133 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_3, x_130, x_132);
-x_134 = lean_st_ref_take(x_5, x_123);
+x_128 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_3, x_125, x_127);
+x_129 = lean_st_ref_take(x_5, x_118);
+if (lean_obj_tag(x_129) == 0)
+{
+lean_object* x_130; lean_object* x_131; lean_object* x_132; uint8_t x_133;
+x_130 = lean_ctor_get(x_129, 0);
+lean_inc(x_130);
+x_131 = lean_ctor_get(x_129, 1);
+lean_inc(x_131);
+lean_dec(x_129);
+x_132 = lean_array_get_size(x_128);
+x_133 = lean_nat_dec_lt(x_132, x_130);
+if (x_133 == 0)
+{
+lean_object* x_134;
+lean_dec(x_132);
+x_134 = lean_st_ref_set(x_5, x_130, x_131);
if (lean_obj_tag(x_134) == 0)
{
-lean_object* x_135; lean_object* x_136; lean_object* x_137; uint8_t x_138;
-x_135 = lean_ctor_get(x_134, 0);
+lean_object* x_135; uint8_t x_136;
+x_135 = lean_ctor_get(x_134, 1);
lean_inc(x_135);
-x_136 = lean_ctor_get(x_134, 1);
-lean_inc(x_136);
lean_dec(x_134);
-x_137 = lean_array_get_size(x_133);
-x_138 = lean_nat_dec_lt(x_137, x_135);
-if (x_138 == 0)
+x_136 = l_Array_isPrefixOf___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixedPrefix___spec__1(x_128, x_2);
+lean_dec(x_128);
+if (x_136 == 0)
{
-lean_object* x_139;
-lean_dec(x_137);
-x_139 = lean_st_ref_set(x_5, x_135, x_136);
-if (lean_obj_tag(x_139) == 0)
-{
-lean_object* x_140; uint8_t x_141;
-x_140 = lean_ctor_get(x_139, 1);
-lean_inc(x_140);
-lean_dec(x_139);
-x_141 = l_Array_isPrefixOf___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixedPrefix___spec__1(x_133, x_2);
-lean_dec(x_133);
-if (x_141 == 0)
-{
-uint8_t x_142;
-x_142 = 1;
-x_115 = x_142;
-x_116 = x_140;
-goto block_119;
+uint8_t x_137;
+x_137 = 1;
+x_27 = x_137;
+x_28 = x_135;
+goto block_114;
}
else
{
-uint8_t x_143;
-x_143 = 0;
-x_115 = x_143;
-x_116 = x_140;
-goto block_119;
+uint8_t x_138;
+x_138 = 0;
+x_27 = x_138;
+x_28 = x_135;
+goto block_114;
}
}
else
{
-uint8_t x_144;
-lean_dec(x_133);
+uint8_t x_139;
+lean_dec(x_128);
lean_dec(x_3);
-x_144 = !lean_is_exclusive(x_139);
-if (x_144 == 0)
-{
-return x_139;
-}
-else
-{
-lean_object* x_145; lean_object* x_146; lean_object* x_147;
-x_145 = lean_ctor_get(x_139, 0);
-x_146 = lean_ctor_get(x_139, 1);
-lean_inc(x_146);
-lean_inc(x_145);
-lean_dec(x_139);
-x_147 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_147, 0, x_145);
-lean_ctor_set(x_147, 1, x_146);
-return x_147;
-}
-}
-}
-else
-{
-lean_object* x_148;
-lean_dec(x_135);
-x_148 = lean_st_ref_set(x_5, x_137, x_136);
-if (lean_obj_tag(x_148) == 0)
-{
-lean_object* x_149; uint8_t x_150;
-x_149 = lean_ctor_get(x_148, 1);
-lean_inc(x_149);
-lean_dec(x_148);
-x_150 = l_Array_isPrefixOf___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixedPrefix___spec__1(x_133, x_2);
-lean_dec(x_133);
-if (x_150 == 0)
-{
-uint8_t x_151;
-x_151 = 1;
-x_115 = x_151;
-x_116 = x_149;
-goto block_119;
-}
-else
-{
-uint8_t x_152;
-x_152 = 0;
-x_115 = x_152;
-x_116 = x_149;
-goto block_119;
-}
-}
-else
-{
-uint8_t x_153;
-lean_dec(x_133);
-lean_dec(x_3);
-x_153 = !lean_is_exclusive(x_148);
-if (x_153 == 0)
-{
-return x_148;
-}
-else
-{
-lean_object* x_154; lean_object* x_155; lean_object* x_156;
-x_154 = lean_ctor_get(x_148, 0);
-x_155 = lean_ctor_get(x_148, 1);
-lean_inc(x_155);
-lean_inc(x_154);
-lean_dec(x_148);
-x_156 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_156, 0, x_154);
-lean_ctor_set(x_156, 1, x_155);
-return x_156;
-}
-}
-}
-}
-else
-{
-uint8_t x_157;
-lean_dec(x_133);
-lean_dec(x_3);
-x_157 = !lean_is_exclusive(x_134);
-if (x_157 == 0)
+x_139 = !lean_is_exclusive(x_134);
+if (x_139 == 0)
{
return x_134;
}
else
{
-lean_object* x_158; lean_object* x_159; lean_object* x_160;
-x_158 = lean_ctor_get(x_134, 0);
-x_159 = lean_ctor_get(x_134, 1);
-lean_inc(x_159);
-lean_inc(x_158);
+lean_object* x_140; lean_object* x_141; lean_object* x_142;
+x_140 = lean_ctor_get(x_134, 0);
+x_141 = lean_ctor_get(x_134, 1);
+lean_inc(x_141);
+lean_inc(x_140);
lean_dec(x_134);
-x_160 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_160, 0, x_158);
-lean_ctor_set(x_160, 1, x_159);
-return x_160;
-}
+x_142 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_142, 0, x_140);
+lean_ctor_set(x_142, 1, x_141);
+return x_142;
}
}
}
else
{
-lean_object* x_161;
+lean_object* x_143;
+lean_dec(x_130);
+x_143 = lean_st_ref_set(x_5, x_132, x_131);
+if (lean_obj_tag(x_143) == 0)
+{
+lean_object* x_144; uint8_t x_145;
+x_144 = lean_ctor_get(x_143, 1);
+lean_inc(x_144);
+lean_dec(x_143);
+x_145 = l_Array_isPrefixOf___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixedPrefix___spec__1(x_128, x_2);
+lean_dec(x_128);
+if (x_145 == 0)
+{
+uint8_t x_146;
+x_146 = 1;
+x_27 = x_146;
+x_28 = x_144;
+goto block_114;
+}
+else
+{
+uint8_t x_147;
+x_147 = 0;
+x_27 = x_147;
+x_28 = x_144;
+goto block_114;
+}
+}
+else
+{
+uint8_t x_148;
+lean_dec(x_128);
lean_dec(x_3);
-x_161 = lean_ctor_get(x_124, 0);
-lean_inc(x_161);
-lean_dec(x_124);
-lean_ctor_set(x_120, 0, x_161);
-return x_120;
+x_148 = !lean_is_exclusive(x_143);
+if (x_148 == 0)
+{
+return x_143;
+}
+else
+{
+lean_object* x_149; lean_object* x_150; lean_object* x_151;
+x_149 = lean_ctor_get(x_143, 0);
+x_150 = lean_ctor_get(x_143, 1);
+lean_inc(x_150);
+lean_inc(x_149);
+lean_dec(x_143);
+x_151 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_151, 0, x_149);
+lean_ctor_set(x_151, 1, x_150);
+return x_151;
+}
+}
}
}
else
{
-lean_object* x_162; lean_object* x_163; lean_object* x_164;
-x_162 = lean_ctor_get(x_120, 0);
-x_163 = lean_ctor_get(x_120, 1);
+uint8_t x_152;
+lean_dec(x_128);
+lean_dec(x_3);
+x_152 = !lean_is_exclusive(x_129);
+if (x_152 == 0)
+{
+return x_129;
+}
+else
+{
+lean_object* x_153; lean_object* x_154; lean_object* x_155;
+x_153 = lean_ctor_get(x_129, 0);
+x_154 = lean_ctor_get(x_129, 1);
+lean_inc(x_154);
+lean_inc(x_153);
+lean_dec(x_129);
+x_155 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_155, 0, x_153);
+lean_ctor_set(x_155, 1, x_154);
+return x_155;
+}
+}
+}
+}
+else
+{
+lean_object* x_156;
+lean_dec(x_3);
+x_156 = lean_ctor_get(x_119, 0);
+lean_inc(x_156);
+lean_dec(x_119);
+lean_ctor_set(x_115, 0, x_156);
+return x_115;
+}
+}
+else
+{
+lean_object* x_157; lean_object* x_158; lean_object* x_159;
+x_157 = lean_ctor_get(x_115, 0);
+x_158 = lean_ctor_get(x_115, 1);
+lean_inc(x_158);
+lean_inc(x_157);
+lean_dec(x_115);
+x_159 = l_Std_HashMapImp_find_x3f___at_Lean_Meta_ForEachExpr_visit___spec__7(x_157, x_3);
+lean_dec(x_157);
+if (lean_obj_tag(x_159) == 0)
+{
+uint8_t x_160;
+x_160 = l_Lean_Expr_isAppOf(x_3, x_1);
+if (x_160 == 0)
+{
+uint8_t x_161;
+x_161 = 1;
+x_27 = x_161;
+x_28 = x_158;
+goto block_114;
+}
+else
+{
+lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169;
+x_162 = lean_unsigned_to_nat(0u);
+x_163 = l_Lean_Expr_getAppNumArgsAux(x_3, x_162);
+x_164 = l_Lean_Expr_getAppArgs___closed__1;
lean_inc(x_163);
-lean_inc(x_162);
-lean_dec(x_120);
-x_164 = l_Std_HashMapImp_find_x3f___at_Lean_Meta_ForEachExpr_visit___spec__7(x_162, x_3);
-lean_dec(x_162);
-if (lean_obj_tag(x_164) == 0)
-{
-uint8_t x_165;
-x_165 = l_Lean_Expr_isAppOf(x_3, x_1);
-if (x_165 == 0)
-{
-uint8_t x_166;
-x_166 = 1;
-x_115 = x_166;
-x_116 = x_163;
-goto block_119;
-}
-else
-{
-lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174;
-x_167 = lean_unsigned_to_nat(0u);
-x_168 = l_Lean_Expr_getAppNumArgsAux(x_3, x_167);
-x_169 = l_Lean_Expr_getAppArgs___closed__1;
-lean_inc(x_168);
-x_170 = lean_mk_array(x_168, x_169);
-x_171 = lean_unsigned_to_nat(1u);
-x_172 = lean_nat_sub(x_168, x_171);
-lean_dec(x_168);
+x_165 = lean_mk_array(x_163, x_164);
+x_166 = lean_unsigned_to_nat(1u);
+x_167 = lean_nat_sub(x_163, x_166);
+lean_dec(x_163);
lean_inc(x_3);
-x_173 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_3, x_170, x_172);
-x_174 = lean_st_ref_take(x_5, x_163);
+x_168 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_3, x_165, x_167);
+x_169 = lean_st_ref_take(x_5, x_158);
+if (lean_obj_tag(x_169) == 0)
+{
+lean_object* x_170; lean_object* x_171; lean_object* x_172; uint8_t x_173;
+x_170 = lean_ctor_get(x_169, 0);
+lean_inc(x_170);
+x_171 = lean_ctor_get(x_169, 1);
+lean_inc(x_171);
+lean_dec(x_169);
+x_172 = lean_array_get_size(x_168);
+x_173 = lean_nat_dec_lt(x_172, x_170);
+if (x_173 == 0)
+{
+lean_object* x_174;
+lean_dec(x_172);
+x_174 = lean_st_ref_set(x_5, x_170, x_171);
if (lean_obj_tag(x_174) == 0)
{
-lean_object* x_175; lean_object* x_176; lean_object* x_177; uint8_t x_178;
-x_175 = lean_ctor_get(x_174, 0);
+lean_object* x_175; uint8_t x_176;
+x_175 = lean_ctor_get(x_174, 1);
lean_inc(x_175);
-x_176 = lean_ctor_get(x_174, 1);
-lean_inc(x_176);
lean_dec(x_174);
-x_177 = lean_array_get_size(x_173);
-x_178 = lean_nat_dec_lt(x_177, x_175);
-if (x_178 == 0)
+x_176 = l_Array_isPrefixOf___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixedPrefix___spec__1(x_168, x_2);
+lean_dec(x_168);
+if (x_176 == 0)
{
-lean_object* x_179;
-lean_dec(x_177);
-x_179 = lean_st_ref_set(x_5, x_175, x_176);
-if (lean_obj_tag(x_179) == 0)
+uint8_t x_177;
+x_177 = 1;
+x_27 = x_177;
+x_28 = x_175;
+goto block_114;
+}
+else
{
-lean_object* x_180; uint8_t x_181;
-x_180 = lean_ctor_get(x_179, 1);
+uint8_t x_178;
+x_178 = 0;
+x_27 = x_178;
+x_28 = x_175;
+goto block_114;
+}
+}
+else
+{
+lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182;
+lean_dec(x_168);
+lean_dec(x_3);
+x_179 = lean_ctor_get(x_174, 0);
+lean_inc(x_179);
+x_180 = lean_ctor_get(x_174, 1);
lean_inc(x_180);
-lean_dec(x_179);
-x_181 = l_Array_isPrefixOf___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixedPrefix___spec__1(x_173, x_2);
-lean_dec(x_173);
-if (x_181 == 0)
-{
-uint8_t x_182;
-x_182 = 1;
-x_115 = x_182;
-x_116 = x_180;
-goto block_119;
-}
-else
-{
-uint8_t x_183;
-x_183 = 0;
-x_115 = x_183;
-x_116 = x_180;
-goto block_119;
-}
-}
-else
-{
-lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187;
-lean_dec(x_173);
-lean_dec(x_3);
-x_184 = lean_ctor_get(x_179, 0);
-lean_inc(x_184);
-x_185 = lean_ctor_get(x_179, 1);
-lean_inc(x_185);
-if (lean_is_exclusive(x_179)) {
- lean_ctor_release(x_179, 0);
- lean_ctor_release(x_179, 1);
- x_186 = x_179;
-} else {
- lean_dec_ref(x_179);
- x_186 = lean_box(0);
-}
-if (lean_is_scalar(x_186)) {
- x_187 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_187 = x_186;
-}
-lean_ctor_set(x_187, 0, x_184);
-lean_ctor_set(x_187, 1, x_185);
-return x_187;
-}
-}
-else
-{
-lean_object* x_188;
-lean_dec(x_175);
-x_188 = lean_st_ref_set(x_5, x_177, x_176);
-if (lean_obj_tag(x_188) == 0)
-{
-lean_object* x_189; uint8_t x_190;
-x_189 = lean_ctor_get(x_188, 1);
-lean_inc(x_189);
-lean_dec(x_188);
-x_190 = l_Array_isPrefixOf___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixedPrefix___spec__1(x_173, x_2);
-lean_dec(x_173);
-if (x_190 == 0)
-{
-uint8_t x_191;
-x_191 = 1;
-x_115 = x_191;
-x_116 = x_189;
-goto block_119;
-}
-else
-{
-uint8_t x_192;
-x_192 = 0;
-x_115 = x_192;
-x_116 = x_189;
-goto block_119;
-}
-}
-else
-{
-lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196;
-lean_dec(x_173);
-lean_dec(x_3);
-x_193 = lean_ctor_get(x_188, 0);
-lean_inc(x_193);
-x_194 = lean_ctor_get(x_188, 1);
-lean_inc(x_194);
-if (lean_is_exclusive(x_188)) {
- lean_ctor_release(x_188, 0);
- lean_ctor_release(x_188, 1);
- x_195 = x_188;
-} else {
- lean_dec_ref(x_188);
- x_195 = lean_box(0);
-}
-if (lean_is_scalar(x_195)) {
- x_196 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_196 = x_195;
-}
-lean_ctor_set(x_196, 0, x_193);
-lean_ctor_set(x_196, 1, x_194);
-return x_196;
-}
-}
-}
-else
-{
-lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200;
-lean_dec(x_173);
-lean_dec(x_3);
-x_197 = lean_ctor_get(x_174, 0);
-lean_inc(x_197);
-x_198 = lean_ctor_get(x_174, 1);
-lean_inc(x_198);
if (lean_is_exclusive(x_174)) {
lean_ctor_release(x_174, 0);
lean_ctor_release(x_174, 1);
- x_199 = x_174;
+ x_181 = x_174;
} else {
lean_dec_ref(x_174);
- x_199 = lean_box(0);
+ x_181 = lean_box(0);
}
-if (lean_is_scalar(x_199)) {
- x_200 = lean_alloc_ctor(1, 2, 0);
+if (lean_is_scalar(x_181)) {
+ x_182 = lean_alloc_ctor(1, 2, 0);
} else {
- x_200 = x_199;
-}
-lean_ctor_set(x_200, 0, x_197);
-lean_ctor_set(x_200, 1, x_198);
-return x_200;
+ x_182 = x_181;
}
+lean_ctor_set(x_182, 0, x_179);
+lean_ctor_set(x_182, 1, x_180);
+return x_182;
}
}
else
{
-lean_object* x_201; lean_object* x_202;
+lean_object* x_183;
+lean_dec(x_170);
+x_183 = lean_st_ref_set(x_5, x_172, x_171);
+if (lean_obj_tag(x_183) == 0)
+{
+lean_object* x_184; uint8_t x_185;
+x_184 = lean_ctor_get(x_183, 1);
+lean_inc(x_184);
+lean_dec(x_183);
+x_185 = l_Array_isPrefixOf___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixedPrefix___spec__1(x_168, x_2);
+lean_dec(x_168);
+if (x_185 == 0)
+{
+uint8_t x_186;
+x_186 = 1;
+x_27 = x_186;
+x_28 = x_184;
+goto block_114;
+}
+else
+{
+uint8_t x_187;
+x_187 = 0;
+x_27 = x_187;
+x_28 = x_184;
+goto block_114;
+}
+}
+else
+{
+lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191;
+lean_dec(x_168);
lean_dec(x_3);
-x_201 = lean_ctor_get(x_164, 0);
-lean_inc(x_201);
-lean_dec(x_164);
-x_202 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_202, 0, x_201);
-lean_ctor_set(x_202, 1, x_163);
-return x_202;
+x_188 = lean_ctor_get(x_183, 0);
+lean_inc(x_188);
+x_189 = lean_ctor_get(x_183, 1);
+lean_inc(x_189);
+if (lean_is_exclusive(x_183)) {
+ lean_ctor_release(x_183, 0);
+ lean_ctor_release(x_183, 1);
+ x_190 = x_183;
+} else {
+ lean_dec_ref(x_183);
+ x_190 = lean_box(0);
+}
+if (lean_is_scalar(x_190)) {
+ x_191 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_191 = x_190;
+}
+lean_ctor_set(x_191, 0, x_188);
+lean_ctor_set(x_191, 1, x_189);
+return x_191;
}
}
}
else
{
-uint8_t x_203;
+lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195;
+lean_dec(x_168);
lean_dec(x_3);
-x_203 = !lean_is_exclusive(x_120);
-if (x_203 == 0)
-{
-return x_120;
+x_192 = lean_ctor_get(x_169, 0);
+lean_inc(x_192);
+x_193 = lean_ctor_get(x_169, 1);
+lean_inc(x_193);
+if (lean_is_exclusive(x_169)) {
+ lean_ctor_release(x_169, 0);
+ lean_ctor_release(x_169, 1);
+ x_194 = x_169;
+} else {
+ lean_dec_ref(x_169);
+ x_194 = lean_box(0);
+}
+if (lean_is_scalar(x_194)) {
+ x_195 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_195 = x_194;
+}
+lean_ctor_set(x_195, 0, x_192);
+lean_ctor_set(x_195, 1, x_193);
+return x_195;
+}
+}
}
else
{
-lean_object* x_204; lean_object* x_205; lean_object* x_206;
-x_204 = lean_ctor_get(x_120, 0);
-x_205 = lean_ctor_get(x_120, 1);
-lean_inc(x_205);
-lean_inc(x_204);
-lean_dec(x_120);
-x_206 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_206, 0, x_204);
-lean_ctor_set(x_206, 1, x_205);
-return x_206;
+lean_object* x_196; lean_object* x_197;
+lean_dec(x_3);
+x_196 = lean_ctor_get(x_159, 0);
+lean_inc(x_196);
+lean_dec(x_159);
+x_197 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_197, 0, x_196);
+lean_ctor_set(x_197, 1, x_158);
+return x_197;
+}
+}
+}
+else
+{
+uint8_t x_198;
+lean_dec(x_3);
+x_198 = !lean_is_exclusive(x_115);
+if (x_198 == 0)
+{
+return x_115;
+}
+else
+{
+lean_object* x_199; lean_object* x_200; lean_object* x_201;
+x_199 = lean_ctor_get(x_115, 0);
+x_200 = lean_ctor_get(x_115, 1);
+lean_inc(x_200);
+lean_inc(x_199);
+lean_dec(x_115);
+x_201 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_201, 0, x_199);
+lean_ctor_set(x_201, 1, x_200);
+return x_201;
}
}
block_26:
@@ -1001,442 +1001,440 @@ block_114:
{
if (x_27 == 0)
{
-switch (lean_obj_tag(x_3)) {
-case 5:
-{
-lean_object* x_29; lean_object* x_30; lean_object* x_31;
-x_29 = lean_ctor_get(x_3, 0);
-lean_inc(x_29);
-x_30 = lean_ctor_get(x_3, 1);
-lean_inc(x_30);
-x_31 = l_Lean_ForEachExpr_visit___main___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixedPrefix___spec__3(x_1, x_2, x_29, x_4, x_5, x_28);
-if (lean_obj_tag(x_31) == 0)
-{
-lean_object* x_32; lean_object* x_33;
-x_32 = lean_ctor_get(x_31, 1);
-lean_inc(x_32);
-lean_dec(x_31);
-x_33 = l_Lean_ForEachExpr_visit___main___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixedPrefix___spec__3(x_1, x_2, x_30, x_4, x_5, x_32);
-if (lean_obj_tag(x_33) == 0)
-{
-lean_object* x_34; lean_object* x_35;
-x_34 = lean_ctor_get(x_33, 0);
-lean_inc(x_34);
-x_35 = lean_ctor_get(x_33, 1);
-lean_inc(x_35);
-lean_dec(x_33);
-x_7 = x_34;
-x_8 = x_35;
+lean_object* x_29;
+x_29 = lean_box(0);
+x_7 = x_29;
+x_8 = x_28;
goto block_26;
}
else
{
-uint8_t x_36;
-lean_dec(x_3);
-x_36 = !lean_is_exclusive(x_33);
-if (x_36 == 0)
+switch (lean_obj_tag(x_3)) {
+case 5:
{
-return x_33;
+lean_object* x_30; lean_object* x_31; lean_object* x_32;
+x_30 = lean_ctor_get(x_3, 0);
+lean_inc(x_30);
+x_31 = lean_ctor_get(x_3, 1);
+lean_inc(x_31);
+x_32 = l_Lean_ForEachExpr_visit___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixedPrefix___spec__3(x_1, x_2, x_30, x_4, x_5, x_28);
+if (lean_obj_tag(x_32) == 0)
+{
+lean_object* x_33; lean_object* x_34;
+x_33 = lean_ctor_get(x_32, 1);
+lean_inc(x_33);
+lean_dec(x_32);
+x_34 = l_Lean_ForEachExpr_visit___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixedPrefix___spec__3(x_1, x_2, x_31, x_4, x_5, x_33);
+if (lean_obj_tag(x_34) == 0)
+{
+lean_object* x_35; lean_object* x_36;
+x_35 = lean_ctor_get(x_34, 0);
+lean_inc(x_35);
+x_36 = lean_ctor_get(x_34, 1);
+lean_inc(x_36);
+lean_dec(x_34);
+x_7 = x_35;
+x_8 = x_36;
+goto block_26;
}
else
{
-lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_37 = lean_ctor_get(x_33, 0);
-x_38 = lean_ctor_get(x_33, 1);
+uint8_t x_37;
+lean_dec(x_3);
+x_37 = !lean_is_exclusive(x_34);
+if (x_37 == 0)
+{
+return x_34;
+}
+else
+{
+lean_object* x_38; lean_object* x_39; lean_object* x_40;
+x_38 = lean_ctor_get(x_34, 0);
+x_39 = lean_ctor_get(x_34, 1);
+lean_inc(x_39);
lean_inc(x_38);
-lean_inc(x_37);
-lean_dec(x_33);
-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_dec(x_34);
+x_40 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_40, 0, x_38);
+lean_ctor_set(x_40, 1, x_39);
+return x_40;
}
}
}
else
{
-uint8_t x_40;
-lean_dec(x_30);
-lean_dec(x_3);
-x_40 = !lean_is_exclusive(x_31);
-if (x_40 == 0)
-{
-return x_31;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43;
-x_41 = lean_ctor_get(x_31, 0);
-x_42 = lean_ctor_get(x_31, 1);
-lean_inc(x_42);
-lean_inc(x_41);
+uint8_t x_41;
lean_dec(x_31);
-x_43 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_43, 0, x_41);
-lean_ctor_set(x_43, 1, x_42);
-return x_43;
+lean_dec(x_3);
+x_41 = !lean_is_exclusive(x_32);
+if (x_41 == 0)
+{
+return x_32;
+}
+else
+{
+lean_object* x_42; lean_object* x_43; lean_object* x_44;
+x_42 = lean_ctor_get(x_32, 0);
+x_43 = lean_ctor_get(x_32, 1);
+lean_inc(x_43);
+lean_inc(x_42);
+lean_dec(x_32);
+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;
}
}
}
case 6:
{
-lean_object* x_44; lean_object* x_45; lean_object* x_46;
-x_44 = lean_ctor_get(x_3, 1);
-lean_inc(x_44);
-x_45 = lean_ctor_get(x_3, 2);
+lean_object* x_45; lean_object* x_46; lean_object* x_47;
+x_45 = lean_ctor_get(x_3, 1);
lean_inc(x_45);
-x_46 = l_Lean_ForEachExpr_visit___main___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixedPrefix___spec__3(x_1, x_2, x_44, x_4, x_5, x_28);
-if (lean_obj_tag(x_46) == 0)
+x_46 = lean_ctor_get(x_3, 2);
+lean_inc(x_46);
+x_47 = l_Lean_ForEachExpr_visit___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixedPrefix___spec__3(x_1, x_2, x_45, x_4, x_5, x_28);
+if (lean_obj_tag(x_47) == 0)
{
-lean_object* x_47; lean_object* x_48;
-x_47 = lean_ctor_get(x_46, 1);
-lean_inc(x_47);
-lean_dec(x_46);
-x_48 = l_Lean_ForEachExpr_visit___main___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixedPrefix___spec__3(x_1, x_2, x_45, x_4, x_5, x_47);
-if (lean_obj_tag(x_48) == 0)
+lean_object* x_48; lean_object* x_49;
+x_48 = lean_ctor_get(x_47, 1);
+lean_inc(x_48);
+lean_dec(x_47);
+x_49 = l_Lean_ForEachExpr_visit___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixedPrefix___spec__3(x_1, x_2, x_46, x_4, x_5, x_48);
+if (lean_obj_tag(x_49) == 0)
{
-lean_object* x_49; lean_object* x_50;
-x_49 = lean_ctor_get(x_48, 0);
-lean_inc(x_49);
-x_50 = lean_ctor_get(x_48, 1);
+lean_object* x_50; lean_object* x_51;
+x_50 = lean_ctor_get(x_49, 0);
lean_inc(x_50);
-lean_dec(x_48);
-x_7 = x_49;
-x_8 = x_50;
+x_51 = lean_ctor_get(x_49, 1);
+lean_inc(x_51);
+lean_dec(x_49);
+x_7 = x_50;
+x_8 = x_51;
goto block_26;
}
else
{
-uint8_t x_51;
+uint8_t x_52;
lean_dec(x_3);
-x_51 = !lean_is_exclusive(x_48);
-if (x_51 == 0)
+x_52 = !lean_is_exclusive(x_49);
+if (x_52 == 0)
{
-return x_48;
+return x_49;
}
else
{
-lean_object* x_52; lean_object* x_53; lean_object* x_54;
-x_52 = lean_ctor_get(x_48, 0);
-x_53 = lean_ctor_get(x_48, 1);
+lean_object* x_53; lean_object* x_54; lean_object* x_55;
+x_53 = lean_ctor_get(x_49, 0);
+x_54 = lean_ctor_get(x_49, 1);
+lean_inc(x_54);
lean_inc(x_53);
-lean_inc(x_52);
-lean_dec(x_48);
-x_54 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_54, 0, x_52);
-lean_ctor_set(x_54, 1, x_53);
-return x_54;
+lean_dec(x_49);
+x_55 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_55, 0, x_53);
+lean_ctor_set(x_55, 1, x_54);
+return x_55;
}
}
}
else
{
-uint8_t x_55;
-lean_dec(x_45);
-lean_dec(x_3);
-x_55 = !lean_is_exclusive(x_46);
-if (x_55 == 0)
-{
-return x_46;
-}
-else
-{
-lean_object* x_56; lean_object* x_57; lean_object* x_58;
-x_56 = lean_ctor_get(x_46, 0);
-x_57 = lean_ctor_get(x_46, 1);
-lean_inc(x_57);
-lean_inc(x_56);
+uint8_t x_56;
lean_dec(x_46);
-x_58 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_58, 0, x_56);
-lean_ctor_set(x_58, 1, x_57);
-return x_58;
+lean_dec(x_3);
+x_56 = !lean_is_exclusive(x_47);
+if (x_56 == 0)
+{
+return x_47;
+}
+else
+{
+lean_object* x_57; lean_object* x_58; lean_object* x_59;
+x_57 = lean_ctor_get(x_47, 0);
+x_58 = lean_ctor_get(x_47, 1);
+lean_inc(x_58);
+lean_inc(x_57);
+lean_dec(x_47);
+x_59 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_59, 0, x_57);
+lean_ctor_set(x_59, 1, x_58);
+return x_59;
}
}
}
case 7:
{
-lean_object* x_59; lean_object* x_60; lean_object* x_61;
-x_59 = lean_ctor_get(x_3, 1);
-lean_inc(x_59);
-x_60 = lean_ctor_get(x_3, 2);
+lean_object* x_60; lean_object* x_61; lean_object* x_62;
+x_60 = lean_ctor_get(x_3, 1);
lean_inc(x_60);
-x_61 = l_Lean_ForEachExpr_visit___main___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixedPrefix___spec__3(x_1, x_2, x_59, x_4, x_5, x_28);
-if (lean_obj_tag(x_61) == 0)
+x_61 = lean_ctor_get(x_3, 2);
+lean_inc(x_61);
+x_62 = l_Lean_ForEachExpr_visit___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixedPrefix___spec__3(x_1, x_2, x_60, x_4, x_5, x_28);
+if (lean_obj_tag(x_62) == 0)
{
-lean_object* x_62; lean_object* x_63;
-x_62 = lean_ctor_get(x_61, 1);
-lean_inc(x_62);
-lean_dec(x_61);
-x_63 = l_Lean_ForEachExpr_visit___main___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixedPrefix___spec__3(x_1, x_2, x_60, x_4, x_5, x_62);
-if (lean_obj_tag(x_63) == 0)
+lean_object* x_63; lean_object* x_64;
+x_63 = lean_ctor_get(x_62, 1);
+lean_inc(x_63);
+lean_dec(x_62);
+x_64 = l_Lean_ForEachExpr_visit___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixedPrefix___spec__3(x_1, x_2, x_61, x_4, x_5, x_63);
+if (lean_obj_tag(x_64) == 0)
{
-lean_object* x_64; lean_object* x_65;
-x_64 = lean_ctor_get(x_63, 0);
-lean_inc(x_64);
-x_65 = lean_ctor_get(x_63, 1);
+lean_object* x_65; lean_object* x_66;
+x_65 = lean_ctor_get(x_64, 0);
lean_inc(x_65);
-lean_dec(x_63);
-x_7 = x_64;
-x_8 = x_65;
+x_66 = lean_ctor_get(x_64, 1);
+lean_inc(x_66);
+lean_dec(x_64);
+x_7 = x_65;
+x_8 = x_66;
goto block_26;
}
else
{
-uint8_t x_66;
+uint8_t x_67;
lean_dec(x_3);
-x_66 = !lean_is_exclusive(x_63);
-if (x_66 == 0)
+x_67 = !lean_is_exclusive(x_64);
+if (x_67 == 0)
{
-return x_63;
+return x_64;
}
else
{
-lean_object* x_67; lean_object* x_68; lean_object* x_69;
-x_67 = lean_ctor_get(x_63, 0);
-x_68 = lean_ctor_get(x_63, 1);
+lean_object* x_68; lean_object* x_69; lean_object* x_70;
+x_68 = lean_ctor_get(x_64, 0);
+x_69 = lean_ctor_get(x_64, 1);
+lean_inc(x_69);
lean_inc(x_68);
-lean_inc(x_67);
-lean_dec(x_63);
-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;
+lean_dec(x_64);
+x_70 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_70, 0, x_68);
+lean_ctor_set(x_70, 1, x_69);
+return x_70;
}
}
}
else
{
-uint8_t x_70;
-lean_dec(x_60);
-lean_dec(x_3);
-x_70 = !lean_is_exclusive(x_61);
-if (x_70 == 0)
-{
-return x_61;
-}
-else
-{
-lean_object* x_71; lean_object* x_72; lean_object* x_73;
-x_71 = lean_ctor_get(x_61, 0);
-x_72 = lean_ctor_get(x_61, 1);
-lean_inc(x_72);
-lean_inc(x_71);
+uint8_t x_71;
lean_dec(x_61);
-x_73 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_73, 0, x_71);
-lean_ctor_set(x_73, 1, x_72);
-return x_73;
+lean_dec(x_3);
+x_71 = !lean_is_exclusive(x_62);
+if (x_71 == 0)
+{
+return x_62;
+}
+else
+{
+lean_object* x_72; lean_object* x_73; lean_object* x_74;
+x_72 = lean_ctor_get(x_62, 0);
+x_73 = lean_ctor_get(x_62, 1);
+lean_inc(x_73);
+lean_inc(x_72);
+lean_dec(x_62);
+x_74 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_74, 0, x_72);
+lean_ctor_set(x_74, 1, x_73);
+return x_74;
}
}
}
case 8:
{
-lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77;
-x_74 = lean_ctor_get(x_3, 1);
-lean_inc(x_74);
-x_75 = lean_ctor_get(x_3, 2);
+lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78;
+x_75 = lean_ctor_get(x_3, 1);
lean_inc(x_75);
-x_76 = lean_ctor_get(x_3, 3);
+x_76 = lean_ctor_get(x_3, 2);
lean_inc(x_76);
-x_77 = l_Lean_ForEachExpr_visit___main___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixedPrefix___spec__3(x_1, x_2, x_74, x_4, x_5, x_28);
-if (lean_obj_tag(x_77) == 0)
+x_77 = lean_ctor_get(x_3, 3);
+lean_inc(x_77);
+x_78 = l_Lean_ForEachExpr_visit___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixedPrefix___spec__3(x_1, x_2, x_75, x_4, x_5, x_28);
+if (lean_obj_tag(x_78) == 0)
{
-lean_object* x_78; lean_object* x_79;
-x_78 = lean_ctor_get(x_77, 1);
-lean_inc(x_78);
-lean_dec(x_77);
-x_79 = l_Lean_ForEachExpr_visit___main___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixedPrefix___spec__3(x_1, x_2, x_75, x_4, x_5, x_78);
-if (lean_obj_tag(x_79) == 0)
+lean_object* x_79; lean_object* x_80;
+x_79 = lean_ctor_get(x_78, 1);
+lean_inc(x_79);
+lean_dec(x_78);
+x_80 = l_Lean_ForEachExpr_visit___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixedPrefix___spec__3(x_1, x_2, x_76, x_4, x_5, x_79);
+if (lean_obj_tag(x_80) == 0)
{
-lean_object* x_80; lean_object* x_81;
-x_80 = lean_ctor_get(x_79, 1);
-lean_inc(x_80);
-lean_dec(x_79);
-x_81 = l_Lean_ForEachExpr_visit___main___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixedPrefix___spec__3(x_1, x_2, x_76, x_4, x_5, x_80);
-if (lean_obj_tag(x_81) == 0)
+lean_object* x_81; lean_object* x_82;
+x_81 = lean_ctor_get(x_80, 1);
+lean_inc(x_81);
+lean_dec(x_80);
+x_82 = l_Lean_ForEachExpr_visit___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixedPrefix___spec__3(x_1, x_2, x_77, x_4, x_5, x_81);
+if (lean_obj_tag(x_82) == 0)
{
-lean_object* x_82; lean_object* x_83;
-x_82 = lean_ctor_get(x_81, 0);
-lean_inc(x_82);
-x_83 = lean_ctor_get(x_81, 1);
+lean_object* x_83; lean_object* x_84;
+x_83 = lean_ctor_get(x_82, 0);
lean_inc(x_83);
-lean_dec(x_81);
-x_7 = x_82;
-x_8 = x_83;
+x_84 = lean_ctor_get(x_82, 1);
+lean_inc(x_84);
+lean_dec(x_82);
+x_7 = x_83;
+x_8 = x_84;
goto block_26;
}
else
{
-uint8_t x_84;
+uint8_t x_85;
lean_dec(x_3);
-x_84 = !lean_is_exclusive(x_81);
-if (x_84 == 0)
+x_85 = !lean_is_exclusive(x_82);
+if (x_85 == 0)
{
-return x_81;
+return x_82;
}
else
{
-lean_object* x_85; lean_object* x_86; lean_object* x_87;
-x_85 = lean_ctor_get(x_81, 0);
-x_86 = lean_ctor_get(x_81, 1);
+lean_object* x_86; lean_object* x_87; lean_object* x_88;
+x_86 = lean_ctor_get(x_82, 0);
+x_87 = lean_ctor_get(x_82, 1);
+lean_inc(x_87);
lean_inc(x_86);
-lean_inc(x_85);
-lean_dec(x_81);
-x_87 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_87, 0, x_85);
-lean_ctor_set(x_87, 1, x_86);
-return x_87;
+lean_dec(x_82);
+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;
}
}
}
else
{
-uint8_t x_88;
-lean_dec(x_76);
-lean_dec(x_3);
-x_88 = !lean_is_exclusive(x_79);
-if (x_88 == 0)
-{
-return x_79;
-}
-else
-{
-lean_object* x_89; lean_object* x_90; lean_object* x_91;
-x_89 = lean_ctor_get(x_79, 0);
-x_90 = lean_ctor_get(x_79, 1);
-lean_inc(x_90);
-lean_inc(x_89);
-lean_dec(x_79);
-x_91 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_91, 0, x_89);
-lean_ctor_set(x_91, 1, x_90);
-return x_91;
-}
-}
-}
-else
-{
-uint8_t x_92;
-lean_dec(x_76);
-lean_dec(x_75);
-lean_dec(x_3);
-x_92 = !lean_is_exclusive(x_77);
-if (x_92 == 0)
-{
-return x_77;
-}
-else
-{
-lean_object* x_93; lean_object* x_94; lean_object* x_95;
-x_93 = lean_ctor_get(x_77, 0);
-x_94 = lean_ctor_get(x_77, 1);
-lean_inc(x_94);
-lean_inc(x_93);
+uint8_t x_89;
lean_dec(x_77);
-x_95 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_95, 0, x_93);
-lean_ctor_set(x_95, 1, x_94);
-return x_95;
+lean_dec(x_3);
+x_89 = !lean_is_exclusive(x_80);
+if (x_89 == 0)
+{
+return x_80;
+}
+else
+{
+lean_object* x_90; lean_object* x_91; lean_object* x_92;
+x_90 = lean_ctor_get(x_80, 0);
+x_91 = lean_ctor_get(x_80, 1);
+lean_inc(x_91);
+lean_inc(x_90);
+lean_dec(x_80);
+x_92 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_92, 0, x_90);
+lean_ctor_set(x_92, 1, x_91);
+return x_92;
+}
+}
+}
+else
+{
+uint8_t x_93;
+lean_dec(x_77);
+lean_dec(x_76);
+lean_dec(x_3);
+x_93 = !lean_is_exclusive(x_78);
+if (x_93 == 0)
+{
+return x_78;
+}
+else
+{
+lean_object* x_94; lean_object* x_95; lean_object* x_96;
+x_94 = lean_ctor_get(x_78, 0);
+x_95 = lean_ctor_get(x_78, 1);
+lean_inc(x_95);
+lean_inc(x_94);
+lean_dec(x_78);
+x_96 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_96, 0, x_94);
+lean_ctor_set(x_96, 1, x_95);
+return x_96;
}
}
}
case 10:
{
-lean_object* x_96; lean_object* x_97;
-x_96 = lean_ctor_get(x_3, 1);
-lean_inc(x_96);
-x_97 = l_Lean_ForEachExpr_visit___main___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixedPrefix___spec__3(x_1, x_2, x_96, x_4, x_5, x_28);
-if (lean_obj_tag(x_97) == 0)
+lean_object* x_97; lean_object* x_98;
+x_97 = lean_ctor_get(x_3, 1);
+lean_inc(x_97);
+x_98 = l_Lean_ForEachExpr_visit___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixedPrefix___spec__3(x_1, x_2, x_97, x_4, x_5, x_28);
+if (lean_obj_tag(x_98) == 0)
{
-lean_object* x_98; lean_object* x_99;
-x_98 = lean_ctor_get(x_97, 0);
-lean_inc(x_98);
-x_99 = lean_ctor_get(x_97, 1);
+lean_object* x_99; lean_object* x_100;
+x_99 = lean_ctor_get(x_98, 0);
lean_inc(x_99);
-lean_dec(x_97);
-x_7 = x_98;
-x_8 = x_99;
+x_100 = lean_ctor_get(x_98, 1);
+lean_inc(x_100);
+lean_dec(x_98);
+x_7 = x_99;
+x_8 = x_100;
goto block_26;
}
else
{
-uint8_t x_100;
+uint8_t x_101;
lean_dec(x_3);
-x_100 = !lean_is_exclusive(x_97);
-if (x_100 == 0)
+x_101 = !lean_is_exclusive(x_98);
+if (x_101 == 0)
{
-return x_97;
+return x_98;
}
else
{
-lean_object* x_101; lean_object* x_102; lean_object* x_103;
-x_101 = lean_ctor_get(x_97, 0);
-x_102 = lean_ctor_get(x_97, 1);
+lean_object* x_102; lean_object* x_103; lean_object* x_104;
+x_102 = lean_ctor_get(x_98, 0);
+x_103 = lean_ctor_get(x_98, 1);
+lean_inc(x_103);
lean_inc(x_102);
-lean_inc(x_101);
-lean_dec(x_97);
-x_103 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_103, 0, x_101);
-lean_ctor_set(x_103, 1, x_102);
-return x_103;
+lean_dec(x_98);
+x_104 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_104, 0, x_102);
+lean_ctor_set(x_104, 1, x_103);
+return x_104;
}
}
}
case 11:
{
-lean_object* x_104; lean_object* x_105;
-x_104 = lean_ctor_get(x_3, 2);
-lean_inc(x_104);
-x_105 = l_Lean_ForEachExpr_visit___main___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixedPrefix___spec__3(x_1, x_2, x_104, x_4, x_5, x_28);
-if (lean_obj_tag(x_105) == 0)
+lean_object* x_105; lean_object* x_106;
+x_105 = lean_ctor_get(x_3, 2);
+lean_inc(x_105);
+x_106 = l_Lean_ForEachExpr_visit___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixedPrefix___spec__3(x_1, x_2, x_105, x_4, x_5, x_28);
+if (lean_obj_tag(x_106) == 0)
{
-lean_object* x_106; lean_object* x_107;
-x_106 = lean_ctor_get(x_105, 0);
-lean_inc(x_106);
-x_107 = lean_ctor_get(x_105, 1);
+lean_object* x_107; lean_object* x_108;
+x_107 = lean_ctor_get(x_106, 0);
lean_inc(x_107);
-lean_dec(x_105);
-x_7 = x_106;
-x_8 = x_107;
+x_108 = lean_ctor_get(x_106, 1);
+lean_inc(x_108);
+lean_dec(x_106);
+x_7 = x_107;
+x_8 = x_108;
goto block_26;
}
else
{
-uint8_t x_108;
+uint8_t x_109;
lean_dec(x_3);
-x_108 = !lean_is_exclusive(x_105);
-if (x_108 == 0)
+x_109 = !lean_is_exclusive(x_106);
+if (x_109 == 0)
{
-return x_105;
+return x_106;
}
else
{
-lean_object* x_109; lean_object* x_110; lean_object* x_111;
-x_109 = lean_ctor_get(x_105, 0);
-x_110 = lean_ctor_get(x_105, 1);
+lean_object* x_110; lean_object* x_111; lean_object* x_112;
+x_110 = lean_ctor_get(x_106, 0);
+x_111 = lean_ctor_get(x_106, 1);
+lean_inc(x_111);
lean_inc(x_110);
-lean_inc(x_109);
-lean_dec(x_105);
-x_111 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_111, 0, x_109);
-lean_ctor_set(x_111, 1, x_110);
-return x_111;
+lean_dec(x_106);
+x_112 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_112, 0, x_110);
+lean_ctor_set(x_112, 1, x_111);
+return x_112;
}
}
}
default:
{
-lean_object* x_112;
-x_112 = lean_box(0);
-x_7 = x_112;
-x_8 = x_28;
-goto block_26;
-}
-}
-}
-else
-{
lean_object* x_113;
x_113 = lean_box(0);
x_7 = x_113;
@@ -1444,23 +1442,6 @@ x_8 = x_28;
goto block_26;
}
}
-block_119:
-{
-if (x_115 == 0)
-{
-uint8_t x_117;
-x_117 = 1;
-x_27 = x_117;
-x_28 = x_116;
-goto block_114;
-}
-else
-{
-uint8_t x_118;
-x_118 = 0;
-x_27 = x_118;
-x_28 = x_116;
-goto block_114;
}
}
}
@@ -1484,7 +1465,7 @@ lean_inc(x_11);
x_12 = lean_ctor_get(x_10, 1);
lean_inc(x_12);
lean_dec(x_10);
-x_13 = l_Lean_ForEachExpr_visit___main___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixedPrefix___spec__3(x_1, x_2, x_3, x_11, x_7, x_12);
+x_13 = l_Lean_ForEachExpr_visit___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixedPrefix___spec__3(x_1, x_2, x_3, x_11, x_7, x_12);
x_14 = lean_ctor_get(x_13, 1);
lean_inc(x_14);
lean_dec(x_13);
@@ -1523,11 +1504,11 @@ x_4 = lean_box(x_3);
return x_4;
}
}
-lean_object* l_Lean_ForEachExpr_visit___main___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixedPrefix___spec__3___boxed(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* l_Lean_ForEachExpr_visit___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixedPrefix___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
lean_object* x_7;
-x_7 = l_Lean_ForEachExpr_visit___main___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixedPrefix___spec__3(x_1, x_2, x_3, x_4, x_5, x_6);
+x_7 = l_Lean_ForEachExpr_visit___at___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_getFixedPrefix___spec__3(x_1, x_2, x_3, x_4, x_5, x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_2);
@@ -6431,7 +6412,7 @@ x_145 = lean_ctor_get(x_139, 1);
lean_inc(x_145);
lean_dec(x_139);
x_146 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_toBelowAux___closed__12;
-x_147 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_146, x_5, x_6, x_7, x_8, x_145);
+x_147 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_146, x_5, x_6, x_7, x_8, x_145);
x_148 = lean_ctor_get(x_147, 0);
lean_inc(x_148);
x_149 = lean_ctor_get(x_147, 1);
@@ -6973,7 +6954,7 @@ x_134 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_134, 0, x_132);
lean_ctor_set(x_134, 1, x_133);
x_135 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_toBelowAux___closed__12;
-x_136 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_135, x_134, x_5, x_6, x_7, x_8, x_125);
+x_136 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_135, x_134, x_5, x_6, x_7, x_8, x_125);
x_137 = lean_ctor_get(x_136, 1);
lean_inc(x_137);
lean_dec(x_136);
@@ -7391,7 +7372,7 @@ x_38 = lean_ctor_get(x_32, 1);
lean_inc(x_38);
lean_dec(x_32);
x_39 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_toBelowAux___closed__12;
-x_40 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_39, x_4, x_5, x_6, x_7, x_38);
+x_40 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_39, x_4, x_5, x_6, x_7, x_38);
x_41 = lean_ctor_get(x_40, 0);
lean_inc(x_41);
x_42 = lean_ctor_get(x_40, 1);
@@ -7440,7 +7421,7 @@ x_27 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_27, 0, x_25);
lean_ctor_set(x_27, 1, x_26);
x_28 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_toBelowAux___closed__12;
-x_29 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_28, x_27, x_4, x_5, x_6, x_7, x_22);
+x_29 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_28, x_27, x_4, x_5, x_6, x_7, x_22);
x_30 = lean_ctor_get(x_29, 1);
lean_inc(x_30);
lean_dec(x_29);
@@ -9191,7 +9172,7 @@ x_57 = lean_ctor_get(x_51, 1);
lean_inc(x_57);
lean_dec(x_51);
x_58 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_toBelowAux___closed__12;
-x_59 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_58, x_8, x_9, x_10, x_11, x_57);
+x_59 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_58, x_8, x_9, x_10, x_11, x_57);
x_60 = lean_ctor_get(x_59, 0);
lean_inc(x_60);
x_61 = lean_ctor_get(x_59, 1);
@@ -9303,7 +9284,7 @@ x_46 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_46, 0, x_44);
lean_ctor_set(x_46, 1, x_45);
x_47 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_toBelowAux___closed__12;
-x_48 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_47, x_46, x_8, x_9, x_10, x_11, x_34);
+x_48 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_47, x_46, x_8, x_9, x_10, x_11, x_34);
x_49 = lean_ctor_get(x_48, 1);
lean_inc(x_49);
lean_dec(x_48);
@@ -11514,7 +11495,7 @@ x_121 = lean_ctor_get(x_115, 1);
lean_inc(x_121);
lean_dec(x_115);
lean_inc(x_7);
-x_122 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_7, x_11, x_12, x_13, x_14, x_121);
+x_122 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_7, x_11, x_12, x_13, x_14, x_121);
x_123 = lean_ctor_get(x_122, 0);
lean_inc(x_123);
x_124 = lean_ctor_get(x_122, 1);
@@ -11623,7 +11604,7 @@ x_79 = lean_ctor_get(x_73, 1);
lean_inc(x_79);
lean_dec(x_73);
lean_inc(x_7);
-x_80 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_7, x_11, x_12, x_13, x_14, x_79);
+x_80 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_7, x_11, x_12, x_13, x_14, x_79);
x_81 = lean_ctor_get(x_80, 0);
lean_inc(x_81);
x_82 = lean_ctor_get(x_80, 1);
@@ -11667,7 +11648,7 @@ x_42 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed_
x_43 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_43, 0, x_41);
lean_ctor_set(x_43, 1, x_42);
-x_44 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_7, x_43, x_11, x_12, x_13, x_14, x_35);
+x_44 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_7, x_43, x_11, x_12, x_13, x_14, x_35);
x_45 = lean_ctor_get(x_44, 1);
lean_inc(x_45);
lean_dec(x_44);
@@ -11713,7 +11694,7 @@ x_57 = lean_ctor_get(x_51, 1);
lean_inc(x_57);
lean_dec(x_51);
lean_inc(x_7);
-x_58 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_7, x_11, x_12, x_13, x_14, x_57);
+x_58 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_7, x_11, x_12, x_13, x_14, x_57);
x_59 = lean_ctor_get(x_58, 0);
lean_inc(x_59);
x_60 = lean_ctor_get(x_58, 1);
@@ -11748,7 +11729,7 @@ x_69 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_69, 0, x_67);
lean_ctor_set(x_69, 1, x_68);
lean_inc(x_7);
-x_70 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_7, x_69, x_11, x_12, x_13, x_14, x_64);
+x_70 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_7, x_69, x_11, x_12, x_13, x_14, x_64);
x_71 = lean_ctor_get(x_70, 1);
lean_inc(x_71);
lean_dec(x_70);
@@ -11850,7 +11831,7 @@ x_111 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_111, 0, x_109);
lean_ctor_set(x_111, 1, x_110);
lean_inc(x_7);
-x_112 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_7, x_111, x_11, x_12, x_13, x_14, x_106);
+x_112 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_7, x_111, x_11, x_12, x_13, x_14, x_106);
x_113 = lean_ctor_get(x_112, 1);
lean_inc(x_113);
lean_dec(x_112);
@@ -11991,7 +11972,7 @@ x_68 = lean_ctor_get(x_62, 1);
lean_inc(x_68);
lean_dec(x_62);
x_69 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_toBelowAux___closed__12;
-x_70 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_69, x_4, x_5, x_6, x_7, x_68);
+x_70 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_69, x_4, x_5, x_6, x_7, x_68);
x_71 = lean_ctor_get(x_70, 0);
lean_inc(x_71);
x_72 = lean_ctor_get(x_70, 1);
@@ -12120,7 +12101,7 @@ x_57 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_57, 0, x_55);
lean_ctor_set(x_57, 1, x_56);
x_58 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_toBelowAux___closed__12;
-x_59 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_58, x_57, x_4, x_5, x_6, x_7, x_52);
+x_59 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_58, x_57, x_4, x_5, x_6, x_7, x_52);
x_60 = lean_ctor_get(x_59, 1);
lean_inc(x_60);
lean_dec(x_59);
@@ -12419,7 +12400,7 @@ x_74 = lean_ctor_get(x_68, 1);
lean_inc(x_74);
lean_dec(x_68);
lean_inc(x_5);
-x_75 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_5, x_7, x_8, x_9, x_10, x_74);
+x_75 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_5, x_7, x_8, x_9, x_10, x_74);
x_76 = lean_ctor_get(x_75, 0);
lean_inc(x_76);
x_77 = lean_ctor_get(x_75, 1);
@@ -12530,7 +12511,7 @@ x_43 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed_
x_44 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_44, 0, x_42);
lean_ctor_set(x_44, 1, x_43);
-x_45 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_5, x_44, x_7, x_8, x_9, x_10, x_19);
+x_45 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_5, x_44, x_7, x_8, x_9, x_10, x_19);
x_46 = lean_ctor_get(x_45, 1);
lean_inc(x_46);
lean_dec(x_45);
@@ -12730,7 +12711,7 @@ x_45 = lean_ctor_get(x_39, 1);
lean_inc(x_45);
lean_dec(x_39);
x_46 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_toBelowAux___closed__12;
-x_47 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_46, x_4, x_5, x_6, x_7, x_45);
+x_47 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_46, x_4, x_5, x_6, x_7, x_45);
x_48 = lean_ctor_get(x_47, 0);
lean_inc(x_48);
x_49 = lean_ctor_get(x_47, 1);
@@ -12804,7 +12785,7 @@ x_34 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_34, 0, x_33);
lean_ctor_set(x_34, 1, x_22);
x_35 = l___private_Lean_Elab_PreDefinition_Structural_0__Lean_Elab_toBelowAux___closed__12;
-x_36 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_35, x_34, x_4, x_5, x_6, x_7, x_19);
+x_36 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_35, x_34, x_4, x_5, x_6, x_7, x_19);
x_37 = lean_ctor_get(x_36, 1);
lean_inc(x_37);
lean_dec(x_36);
diff --git a/stage0/stdlib/Lean/Elab/Quotation.c b/stage0/stdlib/Lean/Elab/Quotation.c
index 38efa43329..94f1c2af48 100644
--- a/stage0/stdlib/Lean/Elab/Quotation.c
+++ b/stage0/stdlib/Lean/Elab/Quotation.c
@@ -18,6 +18,7 @@ uint8_t l_Lean_Syntax_isQuot(lean_object*);
lean_object* l_List_head_x21___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__2(lean_object*);
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_toPreterm_match__2(lean_object*);
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_toPreterm___lambda__1___closed__3;
+extern lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__9___rarg___closed__1;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_letBindRhss___closed__5;
extern lean_object* l_Lean_Expr_eq_x3f___closed__1;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__10;
@@ -36,6 +37,7 @@ lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSy
lean_object* l_Lean_Syntax_isNatLitAux(lean_object*, lean_object*);
extern lean_object* l_Lean_Syntax_isQuot_match__1___rarg___closed__1;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___closed__40;
+extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___closed__27;
lean_object* l_Lean_Elab_Term_Quotation_HeadInfo_generalizes_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_mk_empty_array_with_capacity(lean_object*);
@@ -74,7 +76,6 @@ lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSy
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___elambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Array_myMacro____x40_Init_Data_Array_Macros___hyg_464____closed__2;
extern lean_object* l_Array_myMacro____x40_Init_Data_Array_Macros___hyg_464____closed__8;
-extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__6;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___closed__37;
extern lean_object* l_Array_myMacro____x40_Init_Data_Array_Macros___hyg_464____closed__1;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_letBindRhss___closed__3;
@@ -98,6 +99,7 @@ lean_object* l_Lean_Elab_Term_Quotation_elabTacticQuot(lean_object*, lean_object
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getPatternVarsAux___boxed(lean_object*);
lean_object* l_Lean_mkMVar(lean_object*);
extern lean_object* l_Array_empty___closed__1;
+extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__18;
lean_object* l_ReaderT_pure___at_Lean_Elab_Term_Quotation_HeadInfo_Inhabited___spec__1(lean_object*);
lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabTacticQuot___closed__1;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_explodeHeadPat_match__2___rarg(lean_object*, lean_object*, lean_object*);
@@ -174,6 +176,7 @@ lean_object* l_Lean_Elab_Term_Quotation_oldExpandMatchSyntax___closed__1;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__2___closed__8;
lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabMatchSyntax___closed__3;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___closed__11;
+extern lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__1___closed__1;
extern lean_object* l_Lean_mkAppStx___closed__8;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_toPreterm___lambda__2___closed__6;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___closed__2;
@@ -205,13 +208,13 @@ lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_letBind
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___closed__46;
lean_object* l_Array_umapMAux___main___at_Lean_Elab_Term_Quotation_match__syntax_expand___spec__1___lambda__2___closed__3;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__2___closed__2;
+extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__6;
lean_object* l_List_replicate___rarg(lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___closed__25;
lean_object* l_Lean_Elab_Term_Quotation_getPatternVars(lean_object*);
extern lean_object* l_Lean_Meta_reduceNat_x3f___closed__12;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___closed__52;
lean_object* l_List_filterAux___main___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__4___boxed(lean_object*, lean_object*, lean_object*);
-extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__16;
lean_object* l_List_map___main___at_Lean_Elab_Term_Quotation_oldGetPatternVars___spec__1(lean_object*);
extern lean_object* l_Array_myMacro____x40_Init_Data_Array_Macros___hyg_464____closed__5;
lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabLevelQuot___closed__2;
@@ -238,9 +241,7 @@ lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getPatt
lean_object* l_Lean_MessageData_toString(lean_object*, lean_object*);
extern lean_object* l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__5;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_toPreterm___lambda__2___closed__4;
-extern lean_object* l_Lean_Elab_Term_State_inhabited___closed__1;
lean_object* lean_st_ref_take(lean_object*, lean_object*);
-extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_toPreterm___closed__11;
extern lean_object* l_Lean_numLitKind;
extern lean_object* l_Lean_choiceKind___closed__1;
@@ -268,6 +269,7 @@ lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_letBind
lean_object* l_List_filterAux___main___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__4(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__2___closed__10;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___closed__57;
+extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
lean_object* l_Lean_replaceRef(lean_object*, lean_object*);
lean_object* lean_array_get(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__2___closed__20;
@@ -364,6 +366,7 @@ lean_object* l_Lean_Parser_getTokenTable(lean_object*);
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___closed__66;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_elimAntiquotChoices_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_toPreterm_match__3(lean_object*);
+extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
lean_object* l_ReaderT_bind___at_Lean_Elab_Term_monadLog___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at_Array_append___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_letBindRhss(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -389,7 +392,6 @@ extern lean_object* l___private_Lean_Elab_Util_0__Lean_Elab_evalSyntaxConstantUn
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___closed__22;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_toPreterm___closed__1;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__12;
extern lean_object* l_Lean_Meta_DiscrTree_Trie_format___rarg___closed__1;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_explodeHeadPat___lambda__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___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*);
@@ -476,7 +478,6 @@ lean_object* l_Lean_Elab_Term_Quotation_elabTacticQuotSeq(lean_object*, lean_obj
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_toPreterm___lambda__1___closed__1;
lean_object* l_List_head_x21___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__2___closed__1;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___closed__54;
-extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__18;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo(lean_object*);
lean_object* l_List_head_x21___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__1___boxed(lean_object*);
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___closed__1;
@@ -501,11 +502,11 @@ lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSy
lean_object* l_Lean_mkStxStrLit(lean_object*, lean_object*);
lean_object* l_List_foldl___main___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_toPreterm___spec__2___closed__2;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_letBindRhss_match__2(lean_object*);
+extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__12;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_toPreterm_match__3___rarg(lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Elab_Term_Quotation_isAntiquotSplice(lean_object*);
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__4___closed__1;
lean_object* lean_parse_expr(lean_object*, lean_object*, lean_object*);
-extern lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__6___rarg___closed__1;
lean_object* l_List_mapM___main___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Term_resolveName___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -517,7 +518,6 @@ lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_elimAnt
lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabDoElemQuot___closed__4;
extern lean_object* l_Lean_Unhygienic_MonadQuotation___closed__2;
lean_object* l_List_mapM___main___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__8___closed__2;
-extern lean_object* l_Lean_TraceState_Inhabited___closed__1;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch_match__5___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__1___closed__4;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax_match__1(lean_object*);
@@ -525,7 +525,6 @@ lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compile
lean_object* l_Array_findMAux___main___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_elimAntiquotChoices___spec__2___boxed(lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___closed__5;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___closed__12;
-extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
lean_object* l_Array_toList___rarg(lean_object*);
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_letBindRhss___closed__2;
lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabTacticQuot(lean_object*);
@@ -580,6 +579,7 @@ lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_toPrete
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__2___closed__15;
extern lean_object* l_System_FilePath_dirName___closed__1;
lean_object* l_unsafeCast(lean_object*, lean_object*, lean_object*);
+extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__16;
lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabfunBinderQuot___closed__3;
lean_object* l_Array_iterateMAux___main___at_Lean_mkAppN___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -621,7 +621,6 @@ lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_explode
lean_object* l_Array_iterateMAux___main___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__1___closed__3;
lean_object* l_Lean_Elab_Term_Quotation_getAntiquotTerm___boxed(lean_object*);
lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabTermQuot(lean_object*);
-extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
extern lean_object* l___private_Lean_Elab_Util_0__Lean_Elab_evalSyntaxConstantUnsafe___closed__2;
lean_object* l_Array_iterateMAux___main___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__1___closed__5;
lean_object* l_List_mapM___main___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__8___closed__8;
@@ -637,6 +636,7 @@ lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getPatt
lean_object* l_Lean_Elab_Term_Quotation_stxQuot_expand___closed__11;
lean_object* l___private_Init_Util_2__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__4;
+extern lean_object* l_Lean_TraceState_Lean_Util_Trace___instance__2___closed__1;
lean_object* lean_expand_match_syntax(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__1___closed__1;
lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_toPreterm___lambda__3___closed__5;
@@ -4215,9 +4215,9 @@ x_41 = l_Lean_nullKind___closed__2;
x_42 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_42, 0, x_41);
lean_ctor_set(x_42, 1, x_40);
-x_43 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_43 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_44 = lean_array_push(x_43, x_42);
-x_45 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_45 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_46 = lean_array_push(x_44, x_45);
x_47 = l_Lean_Elab_Term_Quotation_stxQuot_expand___closed__22;
lean_inc(x_16);
@@ -4267,7 +4267,7 @@ x_71 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_71, 0, x_70);
lean_ctor_set(x_71, 1, x_69);
x_72 = lean_array_push(x_60, x_71);
-x_73 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_73 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_74 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_74, 0, x_73);
lean_ctor_set(x_74, 1, x_72);
@@ -4369,9 +4369,9 @@ x_123 = l_Lean_nullKind___closed__2;
x_124 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_124, 0, x_123);
lean_ctor_set(x_124, 1, x_122);
-x_125 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_125 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_126 = lean_array_push(x_125, x_124);
-x_127 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_127 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_128 = lean_array_push(x_126, x_127);
x_129 = l_Lean_Elab_Term_Quotation_stxQuot_expand___closed__22;
lean_inc(x_16);
@@ -4421,7 +4421,7 @@ x_153 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_153, 0, x_152);
lean_ctor_set(x_153, 1, x_151);
x_154 = lean_array_push(x_142, x_153);
-x_155 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_155 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_156 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_156, 0, x_155);
lean_ctor_set(x_156, 1, x_154);
@@ -6432,7 +6432,7 @@ lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_explode
_start:
{
lean_object* x_4; lean_object* x_5;
-x_4 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__12;
+x_4 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__12;
x_5 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_5, 0, x_4);
lean_ctor_set(x_5, 1, x_3);
@@ -10445,7 +10445,7 @@ static lean_object* _init_l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quot
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__6;
+x_1 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__6;
x_2 = l_Lean_mkAtom(x_1);
return x_2;
}
@@ -10454,7 +10454,7 @@ static lean_object* _init_l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quot
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__16;
+x_1 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__16;
x_2 = l_Lean_mkAtom(x_1);
return x_2;
}
@@ -10633,9 +10633,9 @@ x_71 = lean_array_push(x_69, x_70);
x_72 = lean_array_push(x_71, x_70);
x_73 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__20;
x_74 = lean_array_push(x_72, x_73);
-x_75 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__18;
+x_75 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__18;
x_76 = lean_array_push(x_75, x_18);
-x_77 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_77 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_78 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_78, 0, x_77);
lean_ctor_set(x_78, 1, x_76);
@@ -10681,9 +10681,9 @@ x_98 = lean_array_push(x_96, x_97);
x_99 = lean_array_push(x_98, x_97);
x_100 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__20;
x_101 = lean_array_push(x_99, x_100);
-x_102 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__18;
+x_102 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__18;
x_103 = lean_array_push(x_102, x_18);
-x_104 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_104 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_105 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_105, 0, x_104);
lean_ctor_set(x_105, 1, x_103);
@@ -10843,9 +10843,9 @@ x_157 = lean_array_push(x_155, x_156);
x_158 = lean_array_push(x_157, x_156);
x_159 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__20;
x_160 = lean_array_push(x_158, x_159);
-x_161 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__18;
+x_161 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__18;
x_162 = lean_array_push(x_161, x_18);
-x_163 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_163 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_164 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_164, 0, x_163);
lean_ctor_set(x_164, 1, x_162);
@@ -10936,7 +10936,7 @@ x_192 = lean_array_push(x_191, x_190);
x_193 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_letBindRhss___closed__11;
x_194 = lean_array_push(x_192, x_193);
x_195 = lean_array_push(x_194, x_18);
-x_196 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_196 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_197 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_197, 0, x_196);
lean_ctor_set(x_197, 1, x_195);
@@ -11329,7 +11329,7 @@ x_348 = lean_array_push(x_347, x_346);
x_349 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_letBindRhss___closed__11;
x_350 = lean_array_push(x_348, x_349);
x_351 = lean_array_push(x_350, x_18);
-x_352 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_352 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_353 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_353, 0, x_352);
lean_ctor_set(x_353, 1, x_351);
@@ -11706,9 +11706,9 @@ x_488 = lean_array_push(x_486, x_487);
x_489 = lean_array_push(x_488, x_487);
x_490 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__20;
x_491 = lean_array_push(x_489, x_490);
-x_492 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__18;
+x_492 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__18;
x_493 = lean_array_push(x_492, x_429);
-x_494 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_494 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_495 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_495, 0, x_494);
lean_ctor_set(x_495, 1, x_493);
@@ -11798,7 +11798,7 @@ x_521 = lean_array_push(x_520, x_519);
x_522 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_letBindRhss___closed__11;
x_523 = lean_array_push(x_521, x_522);
x_524 = lean_array_push(x_523, x_429);
-x_525 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_525 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_526 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_526, 0, x_525);
lean_ctor_set(x_526, 1, x_524);
@@ -12197,9 +12197,9 @@ x_665 = lean_array_push(x_663, x_664);
x_666 = lean_array_push(x_665, x_664);
x_667 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__20;
x_668 = lean_array_push(x_666, x_667);
-x_669 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__18;
+x_669 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__18;
x_670 = lean_array_push(x_669, x_604);
-x_671 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_671 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_672 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_672, 0, x_671);
lean_ctor_set(x_672, 1, x_670);
@@ -12288,7 +12288,7 @@ x_698 = lean_array_push(x_697, x_696);
x_699 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_letBindRhss___closed__11;
x_700 = lean_array_push(x_698, x_699);
x_701 = lean_array_push(x_700, x_604);
-x_702 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_702 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_703 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_703, 0, x_702);
lean_ctor_set(x_703, 1, x_701);
@@ -13344,7 +13344,7 @@ else
{
lean_object* x_64; uint8_t x_65;
lean_dec(x_41);
-x_64 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__6;
+x_64 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__6;
x_65 = lean_string_dec_eq(x_38, x_64);
if (x_65 == 0)
{
@@ -13619,7 +13619,7 @@ else
{
lean_object* x_129; uint8_t x_130;
lean_dec(x_41);
-x_129 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__6;
+x_129 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__6;
x_130 = lean_string_dec_eq(x_38, x_129);
if (x_130 == 0)
{
@@ -13944,7 +13944,7 @@ else
{
lean_object* x_203; uint8_t x_204;
lean_dec(x_41);
-x_203 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__6;
+x_203 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__6;
x_204 = lean_string_dec_eq(x_38, x_203);
if (x_204 == 0)
{
@@ -14303,7 +14303,7 @@ else
{
lean_object* x_283; uint8_t x_284;
lean_dec(x_41);
-x_283 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__6;
+x_283 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__6;
x_284 = lean_string_dec_eq(x_38, x_283);
if (x_284 == 0)
{
@@ -14695,7 +14695,7 @@ else
{
lean_object* x_370; uint8_t x_371;
lean_dec(x_344);
-x_370 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__6;
+x_370 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__6;
x_371 = lean_string_dec_eq(x_38, x_370);
if (x_371 == 0)
{
@@ -15670,12 +15670,12 @@ x_30 = l_Lean_nullKind___closed__2;
x_31 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_31, 0, x_30);
lean_ctor_set(x_31, 1, x_29);
-x_32 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_32 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_33 = lean_array_push(x_32, x_31);
-x_34 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_34 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_35 = lean_array_push(x_33, x_34);
x_36 = lean_array_push(x_35, x_2);
-x_37 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_37 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_38 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_38, 0, x_37);
lean_ctor_set(x_38, 1, x_36);
@@ -15762,12 +15762,12 @@ x_62 = l_Lean_nullKind___closed__2;
x_63 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_63, 0, x_62);
lean_ctor_set(x_63, 1, x_61);
-x_64 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_64 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_65 = lean_array_push(x_64, x_63);
-x_66 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_66 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_67 = lean_array_push(x_65, x_66);
x_68 = lean_array_push(x_67, x_2);
-x_69 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_69 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_70 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_70, 0, x_69);
lean_ctor_set(x_70, 1, x_68);
@@ -16401,7 +16401,7 @@ else
{
lean_object* x_129; uint8_t x_130;
lean_dec(x_91);
-x_129 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__6;
+x_129 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__6;
x_130 = lean_string_dec_eq(x_88, x_129);
if (x_130 == 0)
{
@@ -17150,7 +17150,7 @@ else
{
lean_object* x_342; uint8_t x_343;
lean_dec(x_91);
-x_342 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__6;
+x_342 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__6;
x_343 = lean_string_dec_eq(x_88, x_342);
if (x_343 == 0)
{
@@ -17896,7 +17896,7 @@ else
{
lean_object* x_546; uint8_t x_547;
lean_dec(x_91);
-x_546 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__6;
+x_546 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__6;
x_547 = lean_string_dec_eq(x_88, x_546);
if (x_547 == 0)
{
@@ -18676,7 +18676,7 @@ else
{
lean_object* x_756; uint8_t x_757;
lean_dec(x_91);
-x_756 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__6;
+x_756 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__6;
x_757 = lean_string_dec_eq(x_88, x_756);
if (x_757 == 0)
{
@@ -19489,7 +19489,7 @@ else
{
lean_object* x_973; uint8_t x_974;
lean_dec(x_929);
-x_973 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__6;
+x_973 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__6;
x_974 = lean_string_dec_eq(x_88, x_973);
if (x_974 == 0)
{
@@ -20766,7 +20766,7 @@ else
{
lean_object* x_1301; uint8_t x_1302;
lean_dec(x_1256);
-x_1301 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__6;
+x_1301 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__6;
x_1302 = lean_string_dec_eq(x_1254, x_1301);
if (x_1302 == 0)
{
@@ -21865,7 +21865,7 @@ lean_ctor_set_uint8(x_16, sizeof(void*)*8, x_15);
lean_ctor_set_uint8(x_16, sizeof(void*)*8 + 1, x_15);
x_17 = l_Lean_Unhygienic_run___rarg___closed__1;
x_18 = l_Lean_NameGenerator_Inhabited___closed__3;
-x_19 = l_Lean_TraceState_Inhabited___closed__1;
+x_19 = l_Lean_TraceState_Lean_Util_Trace___instance__2___closed__1;
x_20 = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(x_20, 0, x_3);
lean_ctor_set(x_20, 1, x_17);
@@ -21885,13 +21885,13 @@ lean_inc(x_27);
x_28 = lean_ctor_get(x_26, 1);
lean_inc(x_28);
lean_dec(x_26);
-x_29 = l_Lean_Elab_Term_Lean_Elab_Term___instance__6___rarg___closed__1;
+x_29 = l_Lean_Elab_Term_Lean_Elab_Term___instance__9___rarg___closed__1;
x_30 = l_Array_empty___closed__1;
x_31 = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(x_31, 0, x_29);
lean_ctor_set(x_31, 1, x_7);
lean_ctor_set(x_31, 2, x_30);
-x_32 = l_Lean_Elab_Term_State_inhabited___closed__1;
+x_32 = l_Lean_Elab_Term_Lean_Elab_Term___instance__1___closed__1;
x_33 = lean_st_mk_ref(x_32, x_28);
x_34 = lean_ctor_get(x_33, 0);
lean_inc(x_34);
diff --git a/stage0/stdlib/Lean/Elab/StructInst.c b/stage0/stdlib/Lean/Elab/StructInst.c
index 2b920207e8..3a1117ddc7 100644
--- a/stage0/stdlib/Lean/Elab/StructInst.c
+++ b/stage0/stdlib/Lean/Elab/StructInst.c
@@ -40,6 +40,7 @@ lean_object* l_Lean_Elab_Term_StructInst_Struct_modifyFieldsM(lean_object*);
lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructName_match__1(lean_object*);
lean_object* l_Lean_Meta_synthInstance_x3f___at_Lean_Elab_Term_StructInst_trySynthStructInstance_x3f___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct_match__4___rarg(lean_object*, lean_object*, lean_object*);
+extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
lean_object* lean_mk_empty_array_with_capacity(lean_object*);
lean_object* l_Array_iterateMAux___main___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStruct___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_getExprMVarAssignment_x3f___at___private_Lean_Meta_Basic_0__Lean_Meta_isClassQuick_x3f___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -224,7 +225,6 @@ lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_group
lean_object* l_Lean_Elab_Term_StructInst_formatStruct___closed__5;
lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructSource_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_StructInst_defaultMissing_x3f___boxed(lean_object*);
-lean_object* l___private_Lean_Util_Trace_3__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_StructInst_DefaultFields_propagateLoop___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___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructName___rarg___closed__2;
lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean_object*, lean_object*);
@@ -256,7 +256,6 @@ lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabM
lean_object* l_List_map___main___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__1(lean_object*, lean_object*);
lean_object* lean_st_ref_take(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_findDefaultMissing_x3f_match__4(lean_object*);
-extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
extern lean_object* l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__22;
lean_object* l_List_mapM___main___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__1___closed__2;
lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct_match__7(lean_object*);
@@ -294,6 +293,7 @@ lean_object* l_Lean_mkAnnotation(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_StructInst_Struct_source_match__1(lean_object*);
lean_object* l_List_mapM___main___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___spec__2(lean_object*);
lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct_match__4(lean_object*);
+extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
lean_object* l_Lean_replaceRef(lean_object*, lean_object*);
lean_object* lean_array_get(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_StructInst_Source_isNone_match__1___rarg(lean_object*, lean_object*, lean_object*);
@@ -412,6 +412,7 @@ extern lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppFn___clos
lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_toFieldLHS_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkCtorHeaderAux___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_Elab_Term_StructInst_Struct_fields_match__1(lean_object*);
+extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_step_match__3(lean_object*);
lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_isModifyOp_x3f_match__1(lean_object*);
lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkCtorHeaderAux___closed__2;
@@ -498,6 +499,7 @@ lean_object* l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___boxed(le
lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_propagateExpectedType_match__1(lean_object*);
lean_object* l_Lean_Expr_getAppNumArgsAux(lean_object*, lean_object*);
lean_object* l_List_foldlM___main___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___spec__1___closed__2;
+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_StructInst_formatField___closed__1;
lean_object* l_Lean_Elab_Term_StructInst_Struct_modifyFieldsM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_mkHole(lean_object*);
@@ -598,7 +600,6 @@ lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop_match__1___
lean_object* l_List_mapM___main___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStruct___spec__9___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*);
uint8_t l_Lean_Expr_hasLooseBVars(lean_object*);
lean_object* l_Array_foldlStepMAux___main___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_isModifyOp_x3f___spec__1___closed__8;
-extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
lean_object* l_List_mapM___main___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__1___closed__3;
lean_object* l_Array_toList___rarg(lean_object*);
lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandCompositeFields_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
@@ -719,7 +720,6 @@ lean_object* l_Lean_throwError___at_Lean_Elab_Term_StructInst_DefaultFields_prop
lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields_match__4___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___lambda__3___closed__2;
lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_collectStructNames___boxed(lean_object*, lean_object*);
-extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
lean_object* l_Lean_Elab_Term_StructInst_Struct_allDefault_match__3___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Name_components(lean_object*);
lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___closed__20;
@@ -2769,7 +2769,7 @@ x_335 = lean_ctor_get(x_329, 1);
lean_inc(x_335);
lean_dec(x_329);
x_336 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___closed__4;
-x_337 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_336, x_5, x_6, x_7, x_8, x_9, x_10, x_335);
+x_337 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_336, x_5, x_6, x_7, x_8, x_9, x_10, x_335);
x_338 = lean_ctor_get(x_337, 0);
lean_inc(x_338);
x_339 = lean_ctor_get(x_337, 1);
@@ -2926,7 +2926,7 @@ x_180 = lean_ctor_get(x_39, 1);
lean_inc(x_180);
lean_dec(x_39);
x_181 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___closed__4;
-x_182 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_181, x_5, x_6, x_7, x_8, x_9, x_10, x_180);
+x_182 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_181, x_5, x_6, x_7, x_8, x_9, x_10, x_180);
x_183 = lean_ctor_get(x_182, 0);
lean_inc(x_183);
x_184 = lean_ctor_get(x_182, 1);
@@ -3012,12 +3012,12 @@ x_89 = l_Lean_nullKind___closed__2;
x_90 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_90, 0, x_89);
lean_ctor_set(x_90, 1, x_88);
-x_91 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_91 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_92 = lean_array_push(x_91, x_90);
-x_93 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_93 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_94 = lean_array_push(x_92, x_93);
x_95 = lean_array_push(x_94, x_49);
-x_96 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_96 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_97 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_97, 0, x_96);
lean_ctor_set(x_97, 1, x_95);
@@ -3068,7 +3068,7 @@ x_154 = lean_ctor_get(x_148, 1);
lean_inc(x_154);
lean_dec(x_148);
x_155 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___closed__4;
-x_156 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_155, x_5, x_6, x_7, x_8, x_9, x_10, x_154);
+x_156 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_155, x_5, x_6, x_7, x_8, x_9, x_10, x_154);
x_157 = lean_ctor_get(x_156, 0);
lean_inc(x_157);
x_158 = lean_ctor_get(x_156, 1);
@@ -3309,12 +3309,12 @@ x_243 = l_Lean_nullKind___closed__2;
x_244 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_244, 0, x_243);
lean_ctor_set(x_244, 1, x_242);
-x_245 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_245 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_246 = lean_array_push(x_245, x_244);
-x_247 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_247 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_248 = lean_array_push(x_246, x_247);
x_249 = lean_array_push(x_248, x_199);
-x_250 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_250 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_251 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_251, 0, x_250);
lean_ctor_set(x_251, 1, x_249);
@@ -3365,7 +3365,7 @@ x_308 = lean_ctor_get(x_302, 1);
lean_inc(x_308);
lean_dec(x_302);
x_309 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___closed__4;
-x_310 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_309, x_5, x_6, x_7, x_8, x_9, x_10, x_308);
+x_310 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_309, x_5, x_6, x_7, x_8, x_9, x_10, x_308);
x_311 = lean_ctor_get(x_310, 0);
lean_inc(x_311);
x_312 = lean_ctor_get(x_310, 1);
@@ -25534,7 +25534,7 @@ x_75 = lean_ctor_get(x_69, 1);
lean_inc(x_75);
lean_dec(x_69);
x_76 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___closed__2;
-x_77 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_76, x_6, x_7, x_8, x_9, x_10, x_11, x_75);
+x_77 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_76, x_6, x_7, x_8, x_9, x_10, x_11, x_75);
x_78 = lean_ctor_get(x_77, 0);
lean_inc(x_78);
x_79 = lean_ctor_get(x_77, 1);
diff --git a/stage0/stdlib/Lean/Elab/Structure.c b/stage0/stdlib/Lean/Elab/Structure.c
index 299240dd59..babd958666 100644
--- a/stage0/stdlib/Lean/Elab/Structure.c
+++ b/stage0/stdlib/Lean/Elab/Structure.c
@@ -88,7 +88,6 @@ lean_object* lean_st_ref_get(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_checkValidFieldModifier___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__2___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Elab_elabModifiers___rarg___closed__2;
-extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__11;
lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withParents___rarg___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*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_elabStructure_match__1(lean_object*);
lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -361,6 +360,7 @@ lean_object* l_Array_iterateMAux___main___at___private_Lean_Elab_Structure_0__Le
extern lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___closed__2;
lean_object* l_Lean_Elab_Command_elabStructure___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_CollectLevelParams_State_inhabited___closed__1;
+extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__11;
lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_processSubfields_loop___rarg___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*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_levelMVarToParamAux___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -439,10 +439,10 @@ lean_object* l_List_forM___main___at___private_Lean_Elab_Structure_0__Lean_Elab_
lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields___rarg___closed__10;
lean_object* l_Array_toList___rarg(lean_object*);
extern lean_object* l_Lean_Elab_Command_CtorView_inhabited___closed__1;
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___spec__8___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_Structure_0__Lean_Elab_Command_withParents_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Elab_elabModifiers___rarg___lambda__3___closed__7;
+lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_expr_abstract(lean_object*, lean_object*);
lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -475,7 +475,6 @@ lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields_m
lean_object* l_Array_umapMAux___main___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___spec__8___closed__1;
lean_object* l_Lean_Meta_mkAuxDefinition___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_addDefaults___spec__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_Array_forMAux___main___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_levelMVarToParamFVars___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* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(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*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_levelMVarToParamFVar___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_Structure_0__Lean_Elab_Command_expandCtor___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -489,6 +488,7 @@ lean_object* l_Lean_Elab_Command_elabStructure___closed__7;
lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_findFieldInfo_x3f(lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withUsed_match__1___rarg(lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_levelMVarToParamFVars___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___lambda__2___closed__1;
extern lean_object* l_Lean_Elab_elabAttr___rarg___lambda__3___closed__2;
lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabFieldTypeValue___closed__1;
@@ -11144,7 +11144,7 @@ x_38 = lean_ctor_get(x_32, 1);
lean_inc(x_38);
lean_dec(x_32);
x_39 = l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_517____closed__4;
-x_40 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_39, x_7, x_8, x_9, x_10, x_38);
+x_40 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_39, x_7, x_8, x_9, x_10, x_38);
x_41 = lean_ctor_get(x_40, 0);
lean_inc(x_41);
x_42 = lean_ctor_get(x_40, 1);
@@ -11198,7 +11198,7 @@ x_26 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_26, 0, x_25);
lean_ctor_set(x_26, 1, x_16);
x_27 = l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_517____closed__4;
-x_28 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_27, x_26, x_7, x_8, x_9, x_10, x_13);
+x_28 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_27, x_26, x_7, x_8, x_9, x_10, x_13);
x_29 = lean_ctor_get(x_28, 1);
lean_inc(x_29);
lean_dec(x_28);
@@ -13612,7 +13612,7 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Elab_Level_elabLevel___closed__6;
-x_2 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__11;
+x_2 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__11;
x_3 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_3, 0, x_1);
lean_ctor_set(x_3, 1, x_2);
diff --git a/stage0/stdlib/Lean/Elab/Syntax.c b/stage0/stdlib/Lean/Elab/Syntax.c
index 9ce3f43bf8..39d45a2f24 100644
--- a/stage0/stdlib/Lean/Elab/Syntax.c
+++ b/stage0/stdlib/Lean/Elab/Syntax.c
@@ -50,6 +50,7 @@ extern lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Intro___hyg_534__
lean_object* l___private_Lean_Elab_Syntax_0__Lean_Elab_Command_declareSyntaxCatQuotParser___closed__34;
lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Term_toParserDescrAux___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* l_Lean_Elab_Command_elabMacroRulesAux___closed__22;
+extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
lean_object* l_Lean_Elab_Term_toParserDescrAux___closed__161;
lean_object* l_Lean_Elab_Term_checkLeftRec___lambda__2___closed__5;
lean_object* l_Lean_Elab_Command_elabMacroRulesAux___closed__18;
@@ -172,6 +173,7 @@ lean_object* l_Lean_Elab_Term_toParserDescrAux_match__6(lean_object*);
lean_object* l___private_Init_LeanInit_16__filterSepElemsMAux___main___at_Lean_Elab_Command_elabNoKindMacroRulesAux___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_elabSyntax___lambda__3___closed__6;
lean_object* l___private_Lean_Elab_Syntax_0__Lean_Elab_Command_declareSyntaxCatQuotParser___closed__52;
+extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__14;
lean_object* l___private_Lean_Elab_Syntax_0__Lean_Elab_Term_mkParserSeq___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Syntax_0__Lean_Elab_Command_declareSyntaxCatQuotParser___closed__29;
lean_object* l_Lean_Elab_Command_elabSyntax___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -311,7 +313,6 @@ lean_object* l___private_Lean_Elab_Syntax_0__Lean_Elab_Command_declareSyntaxCatQ
lean_object* l___regBuiltin_Lean_Elab_Command_elabSyntaxAbbrev(lean_object*);
lean_object* l_Lean_Elab_Command_expandMixfix___closed__9;
lean_object* lean_st_ref_take(lean_object*, lean_object*);
-extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
lean_object* l_Lean_Elab_Term_toParserDescrAux___closed__100;
lean_object* l_Lean_Elab_Command_elabNoKindMacroRulesAux___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_numLitKind;
@@ -367,6 +368,7 @@ lean_object* l_Lean_Elab_Term_toParserDescrAux___closed__137;
lean_object* l_Lean_Elab_Term_toParserDescrAux___closed__54;
extern lean_object* l_Lean_Elab_Attribute_hasFormat___closed__1;
lean_object* l___private_Lean_Elab_Syntax_0__Lean_Elab_Command_elabKindPrio___closed__7;
+extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Term_toParserDescrAux___spec__5___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_replaceRef(lean_object*, lean_object*);
lean_object* lean_array_get(lean_object*, lean_object*, lean_object*);
@@ -503,6 +505,7 @@ lean_object* l_Subarray_forInUnsafe_loop___at___private_Lean_Elab_Syntax_0__Lean
lean_object* l_Lean_Elab_Command_expandMixfix___closed__11;
lean_object* l_Lean_Elab_Term_toParserDescrAux___closed__25;
extern lean_object* l_Lean_setOptionFromString___closed__5;
+extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
lean_object* l_Array_iterateMAux___main___at_Array_append___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_quotedSymbolKind;
lean_object* l_Array_umapMAux___main___at_Lean_Elab_Command_expandMacro___spec__2(lean_object*, lean_object*, lean_object*, lean_object*);
@@ -530,7 +533,6 @@ lean_object* l_Lean_Elab_Command_expandElab___closed__25;
lean_object* l_Subarray_forInUnsafe_loop___at___private_Lean_Elab_Syntax_0__Lean_Elab_Term_mkParserSeq___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_elabBinders___rarg___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_Syntax_0__Lean_Elab_Command_elabKindPrio(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__12;
lean_object* l_Lean_Elab_Term_checkLeftRec___closed__6;
extern lean_object* l_Lean_Meta_DiscrTree_Trie_format___rarg___closed__1;
lean_object* l_Lean_Elab_Term_toParserDescrAux___closed__60;
@@ -585,7 +587,6 @@ lean_object* l_Lean_Elab_Term_toParserDescrAux___lambda__1___closed__4;
lean_object* l_Lean_Name_appendAfter(lean_object*, lean_object*);
extern lean_object* l_Lean_mkAppStx___closed__5;
lean_object* l_Lean_Elab_Term_toParserDescrAux_match__6___rarg(lean_object*, lean_object*);
-extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__14;
lean_object* l_Lean_Elab_Term_toParserDescrAux___closed__44;
lean_object* l_Lean_Elab_Command_expandElab___closed__37;
lean_object* l_Lean_Syntax_getNumArgs(lean_object*);
@@ -667,6 +668,7 @@ lean_object* l_Lean_Elab_Term_toParserDescrAux___closed__104;
extern lean_object* l_Lean_Elab_Tactic_evalOrelse___closed__1;
lean_object* l_Lean_Elab_Command_mkKind___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_mkStxStrLit(lean_object*, lean_object*);
+extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__12;
lean_object* l_Lean_Elab_Term_toParserDescrAux___closed__39;
lean_object* l_Array_findMAux___main___at_Lean_Elab_Command_elabMacroRulesAux___spec__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_elabMacroRulesAux___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -708,7 +710,6 @@ lean_object* l_Lean_Macro_expandMacro_x3fImp(lean_object*, lean_object*, lean_ob
lean_object* l_Lean_Elab_Command_elabMacroRulesAux___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Command_elabSyntaxAbbrev___closed__4;
lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Term_toParserDescrAux___spec__5___rarg___boxed(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_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
extern lean_object* l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
lean_object* l_Lean_Elab_Command_elabSyntax___lambda__3___closed__3;
lean_object* l___private_Lean_Elab_Syntax_0__Lean_Elab_Term_withoutLeftRec(lean_object*);
@@ -848,7 +849,6 @@ lean_object* l___regBuiltin_Lean_Elab_Command_elabSyntax___closed__2;
lean_object* l_Subarray_forInUnsafe_loop___at___private_Lean_Elab_Syntax_0__Lean_Elab_Term_mkParserSeq___spec__1___closed__8;
lean_object* l_Lean_Elab_Term_toParserDescrAux___closed__69;
lean_object* l_Lean_Elab_Command_elabMacroRulesAux___closed__12;
-extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
lean_object* l_Lean_Elab_Command_elabMacroRulesAux_match__1(lean_object*);
lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_toParserDescrAux___spec__1___rarg(lean_object*);
lean_object* l_Lean_Elab_Command_expandMacroArgIntoSyntaxItem___boxed(lean_object*, lean_object*, lean_object*);
@@ -14159,7 +14159,7 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Array_empty___closed__1;
-x_2 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__14;
+x_2 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__14;
x_3 = lean_array_push(x_1, x_2);
return x_3;
}
@@ -14169,7 +14169,7 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Elab_Command_elabMacroRulesAux___closed__18;
-x_2 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_2 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_3 = lean_array_push(x_1, x_2);
return x_3;
}
@@ -14487,9 +14487,9 @@ x_80 = lean_array_push(x_22, x_79);
x_81 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_81, 0, x_26);
lean_ctor_set(x_81, 1, x_80);
-x_82 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_82 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_83 = lean_array_push(x_82, x_81);
-x_84 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_84 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_85 = lean_array_push(x_83, x_84);
x_86 = l_Lean_Elab_Command_elabMacroRulesAux___closed__17;
x_87 = lean_array_push(x_86, x_79);
@@ -14551,7 +14551,7 @@ x_121 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_121, 0, x_120);
lean_ctor_set(x_121, 1, x_119);
x_122 = lean_array_push(x_85, x_121);
-x_123 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_123 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_124 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_124, 0, x_123);
lean_ctor_set(x_124, 1, x_122);
@@ -14695,9 +14695,9 @@ x_201 = lean_array_push(x_143, x_200);
x_202 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_202, 0, x_147);
lean_ctor_set(x_202, 1, x_201);
-x_203 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_203 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_204 = lean_array_push(x_203, x_202);
-x_205 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_205 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_206 = lean_array_push(x_204, x_205);
x_207 = l_Lean_Elab_Command_elabMacroRulesAux___closed__17;
x_208 = lean_array_push(x_207, x_200);
@@ -14759,7 +14759,7 @@ x_242 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_242, 0, x_241);
lean_ctor_set(x_242, 1, x_240);
x_243 = lean_array_push(x_206, x_242);
-x_244 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_244 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_245 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_245, 0, x_244);
lean_ctor_set(x_245, 1, x_243);
@@ -16613,7 +16613,7 @@ lean_ctor_set(x_361, 1, x_360);
x_362 = l_Lean_Elab_Command_expandMixfix___closed__32;
x_363 = lean_array_push(x_362, x_361);
x_364 = lean_array_push(x_363, x_353);
-x_365 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_365 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_366 = lean_array_push(x_364, x_365);
x_367 = lean_array_push(x_366, x_355);
x_368 = lean_alloc_ctor(1, 2, 0);
@@ -16805,7 +16805,7 @@ x_77 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_77, 0, x_30);
lean_ctor_set(x_77, 1, x_76);
x_78 = lean_array_push(x_63, x_77);
-x_79 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_79 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_80 = lean_array_push(x_78, x_79);
x_81 = lean_array_push(x_59, x_53);
x_82 = lean_alloc_ctor(1, 2, 0);
@@ -16983,7 +16983,7 @@ x_143 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_143, 0, x_97);
lean_ctor_set(x_143, 1, x_142);
x_144 = lean_array_push(x_130, x_143);
-x_145 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_145 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_146 = lean_array_push(x_144, x_145);
x_147 = lean_array_push(x_126, x_120);
x_148 = lean_alloc_ctor(1, 2, 0);
@@ -17208,7 +17208,7 @@ x_233 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_233, 0, x_169);
lean_ctor_set(x_233, 1, x_232);
x_234 = lean_array_push(x_208, x_233);
-x_235 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_235 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_236 = lean_array_push(x_234, x_235);
x_237 = lean_array_push(x_204, x_192);
x_238 = lean_array_push(x_214, x_224);
@@ -17401,7 +17401,7 @@ x_308 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_308, 0, x_253);
lean_ctor_set(x_308, 1, x_307);
x_309 = lean_array_push(x_286, x_308);
-x_310 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_310 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_311 = lean_array_push(x_309, x_310);
x_312 = lean_array_push(x_282, x_276);
x_313 = lean_array_push(x_293, x_303);
@@ -18465,7 +18465,7 @@ x_59 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_59, 0, x_39);
lean_ctor_set(x_59, 1, x_58);
x_60 = lean_array_push(x_31, x_59);
-x_61 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_61 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_62 = lean_array_push(x_60, x_61);
x_63 = lean_array_push(x_52, x_23);
x_64 = lean_array_push(x_63, x_54);
@@ -18561,7 +18561,7 @@ x_118 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_118, 0, x_88);
lean_ctor_set(x_118, 1, x_117);
x_119 = lean_array_push(x_86, x_118);
-x_120 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_120 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_121 = lean_array_push(x_119, x_120);
x_122 = lean_array_push(x_111, x_23);
x_123 = lean_array_push(x_122, x_113);
@@ -18656,7 +18656,7 @@ x_172 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_172, 0, x_152);
lean_ctor_set(x_172, 1, x_171);
x_173 = lean_array_push(x_144, x_172);
-x_174 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_174 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_175 = lean_array_push(x_173, x_174);
x_176 = lean_array_push(x_165, x_23);
x_177 = lean_array_push(x_176, x_167);
@@ -18754,7 +18754,7 @@ x_232 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_232, 0, x_202);
lean_ctor_set(x_232, 1, x_231);
x_233 = lean_array_push(x_200, x_232);
-x_234 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_234 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_235 = lean_array_push(x_233, x_234);
x_236 = lean_array_push(x_225, x_23);
x_237 = lean_array_push(x_236, x_227);
@@ -19592,7 +19592,7 @@ x_80 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_80, 0, x_50);
lean_ctor_set(x_80, 1, x_79);
x_81 = lean_array_push(x_48, x_80);
-x_82 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_82 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_83 = lean_array_push(x_81, x_82);
x_84 = lean_array_push(x_73, x_47);
x_85 = lean_array_push(x_84, x_75);
@@ -19682,7 +19682,7 @@ x_136 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_136, 0, x_106);
lean_ctor_set(x_136, 1, x_135);
x_137 = lean_array_push(x_104, x_136);
-x_138 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_138 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_139 = lean_array_push(x_137, x_138);
x_140 = lean_array_push(x_139, x_103);
x_141 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -19788,7 +19788,7 @@ x_197 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_197, 0, x_167);
lean_ctor_set(x_197, 1, x_196);
x_198 = lean_array_push(x_165, x_197);
-x_199 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_199 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_200 = lean_array_push(x_198, x_199);
x_201 = lean_array_push(x_190, x_164);
x_202 = lean_array_push(x_201, x_192);
@@ -19880,7 +19880,7 @@ x_254 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_254, 0, x_224);
lean_ctor_set(x_254, 1, x_253);
x_255 = lean_array_push(x_222, x_254);
-x_256 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_256 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_257 = lean_array_push(x_255, x_256);
x_258 = lean_array_push(x_257, x_221);
x_259 = l_Lean_Elab_Term_expandFunBinders_loop___closed__18;
@@ -21083,9 +21083,9 @@ x_147 = lean_array_push(x_65, x_146);
x_148 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_148, 0, x_67);
lean_ctor_set(x_148, 1, x_147);
-x_149 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_149 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_150 = lean_array_push(x_149, x_148);
-x_151 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_151 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_152 = lean_array_push(x_150, x_151);
x_153 = l_Lean_Elab_Command_elabMacroRulesAux___closed__17;
x_154 = lean_array_push(x_153, x_146);
@@ -21143,7 +21143,7 @@ x_189 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_189, 0, x_188);
lean_ctor_set(x_189, 1, x_187);
x_190 = lean_array_push(x_152, x_189);
-x_191 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_191 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_192 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_192, 0, x_191);
lean_ctor_set(x_192, 1, x_190);
@@ -21326,9 +21326,9 @@ x_290 = lean_array_push(x_207, x_289);
x_291 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_291, 0, x_209);
lean_ctor_set(x_291, 1, x_290);
-x_292 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_292 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_293 = lean_array_push(x_292, x_291);
-x_294 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_294 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_295 = lean_array_push(x_293, x_294);
x_296 = l_Lean_Elab_Command_elabMacroRulesAux___closed__17;
x_297 = lean_array_push(x_296, x_289);
@@ -21386,7 +21386,7 @@ x_332 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_332, 0, x_331);
lean_ctor_set(x_332, 1, x_330);
x_333 = lean_array_push(x_295, x_332);
-x_334 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_334 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_335 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_335, 0, x_334);
lean_ctor_set(x_335, 1, x_333);
@@ -21566,14 +21566,14 @@ lean_ctor_set(x_432, 2, x_430);
lean_ctor_set(x_432, 3, x_376);
lean_inc(x_432);
x_433 = lean_array_push(x_350, x_432);
-x_434 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__12;
+x_434 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__12;
x_435 = lean_array_push(x_433, x_434);
x_436 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_436, 0, x_352);
lean_ctor_set(x_436, 1, x_435);
-x_437 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_437 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_438 = lean_array_push(x_437, x_436);
-x_439 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_439 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_440 = lean_array_push(x_438, x_439);
x_441 = l_Lean_Elab_Command_elabMacroRulesAux___closed__17;
x_442 = lean_array_push(x_441, x_432);
@@ -21631,7 +21631,7 @@ x_477 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_477, 0, x_476);
lean_ctor_set(x_477, 1, x_475);
x_478 = lean_array_push(x_440, x_477);
-x_479 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_479 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_480 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_480, 0, x_479);
lean_ctor_set(x_480, 1, x_478);
@@ -21854,9 +21854,9 @@ x_593 = lean_array_push(x_588, x_592);
x_594 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_594, 0, x_507);
lean_ctor_set(x_594, 1, x_593);
-x_595 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_595 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_596 = lean_array_push(x_595, x_594);
-x_597 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_597 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_598 = lean_array_push(x_596, x_597);
x_599 = l_Lean_Elab_Command_elabMacroRulesAux___closed__17;
x_600 = lean_array_push(x_599, x_587);
@@ -21896,7 +21896,7 @@ lean_ctor_set(x_621, 1, x_620);
x_622 = lean_array_push(x_595, x_621);
x_623 = lean_array_push(x_622, x_597);
x_624 = lean_array_push(x_623, x_17);
-x_625 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_625 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_626 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_626, 0, x_625);
lean_ctor_set(x_626, 1, x_624);
@@ -22182,9 +22182,9 @@ x_773 = lean_array_push(x_691, x_772);
x_774 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_774, 0, x_693);
lean_ctor_set(x_774, 1, x_773);
-x_775 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_775 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_776 = lean_array_push(x_775, x_774);
-x_777 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_777 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_778 = lean_array_push(x_776, x_777);
x_779 = l_Lean_Elab_Command_elabMacroRulesAux___closed__17;
x_780 = lean_array_push(x_779, x_772);
@@ -22242,7 +22242,7 @@ x_815 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_815, 0, x_814);
lean_ctor_set(x_815, 1, x_813);
x_816 = lean_array_push(x_778, x_815);
-x_817 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_817 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_818 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_818, 0, x_817);
lean_ctor_set(x_818, 1, x_816);
@@ -22427,9 +22427,9 @@ x_917 = lean_array_push(x_834, x_916);
x_918 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_918, 0, x_836);
lean_ctor_set(x_918, 1, x_917);
-x_919 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_919 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_920 = lean_array_push(x_919, x_918);
-x_921 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_921 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_922 = lean_array_push(x_920, x_921);
x_923 = l_Lean_Elab_Command_elabMacroRulesAux___closed__17;
x_924 = lean_array_push(x_923, x_916);
@@ -22487,7 +22487,7 @@ x_959 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_959, 0, x_958);
lean_ctor_set(x_959, 1, x_957);
x_960 = lean_array_push(x_922, x_959);
-x_961 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_961 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_962 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_962, 0, x_961);
lean_ctor_set(x_962, 1, x_960);
@@ -22669,14 +22669,14 @@ lean_ctor_set(x_1060, 2, x_1058);
lean_ctor_set(x_1060, 3, x_1004);
lean_inc(x_1060);
x_1061 = lean_array_push(x_978, x_1060);
-x_1062 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__12;
+x_1062 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__12;
x_1063 = lean_array_push(x_1061, x_1062);
x_1064 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_1064, 0, x_980);
lean_ctor_set(x_1064, 1, x_1063);
-x_1065 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_1065 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_1066 = lean_array_push(x_1065, x_1064);
-x_1067 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_1067 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_1068 = lean_array_push(x_1066, x_1067);
x_1069 = l_Lean_Elab_Command_elabMacroRulesAux___closed__17;
x_1070 = lean_array_push(x_1069, x_1060);
@@ -22734,7 +22734,7 @@ x_1105 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_1105, 0, x_1104);
lean_ctor_set(x_1105, 1, x_1103);
x_1106 = lean_array_push(x_1068, x_1105);
-x_1107 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_1107 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_1108 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_1108, 0, x_1107);
lean_ctor_set(x_1108, 1, x_1106);
@@ -22958,9 +22958,9 @@ x_1222 = lean_array_push(x_1217, x_1221);
x_1223 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_1223, 0, x_1136);
lean_ctor_set(x_1223, 1, x_1222);
-x_1224 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_1224 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_1225 = lean_array_push(x_1224, x_1223);
-x_1226 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_1226 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_1227 = lean_array_push(x_1225, x_1226);
x_1228 = l_Lean_Elab_Command_elabMacroRulesAux___closed__17;
x_1229 = lean_array_push(x_1228, x_1216);
@@ -23000,7 +23000,7 @@ lean_ctor_set(x_1250, 1, x_1249);
x_1251 = lean_array_push(x_1224, x_1250);
x_1252 = lean_array_push(x_1251, x_1226);
x_1253 = lean_array_push(x_1252, x_17);
-x_1254 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_1254 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_1255 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_1255, 0, x_1254);
lean_ctor_set(x_1255, 1, x_1253);
diff --git a/stage0/stdlib/Lean/Elab/SyntheticMVars.c b/stage0/stdlib/Lean/Elab/SyntheticMVars.c
index 04426ad822..d3c9b2d2ad 100644
--- a/stage0/stdlib/Lean/Elab/SyntheticMVars.c
+++ b/stage0/stdlib/Lean/Elab/SyntheticMVars.c
@@ -65,7 +65,6 @@ lean_object* l_Lean_fmt___at___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Ter
lean_object* l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_synthesizeSyntheticMVarsStep___closed__3;
lean_object* l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_synthesizePendingCoeInstMVar_match__1(lean_object*);
lean_object* l_Lean_Elab_Term_synthesizeUsingDefault(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_3__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_List_filterAuxM___main___at___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_synthesizeSyntheticMVarsStep___spec__2___closed__8;
lean_object* l_Lean_Meta_assignExprMVar___at_Lean_Elab_Term_synthesizeInstMVarCore___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_logTrace___at_Lean_Elab_Term_traceAtCmdPos___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -141,6 +140,7 @@ lean_object* l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_synthesizeSy
lean_object* l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_synthesizeSyntheticMVarsStep___closed__4;
lean_object* l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_resumePostponed___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*);
lean_object* l_List_forInAux___main___at___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_reportStuckSyntheticMVars___spec__1___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*, lean_object*);
+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_List_forInAux___main___at___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_reportStuckSyntheticMVars___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_List_filterAuxM___main___at_Lean_Elab_Term_synthesizeUsingDefault___spec__1___lambda__2___closed__4;
lean_object* l_List_filterAuxM___main___at_Lean_Elab_Term_synthesizeUsingDefault___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -2932,7 +2932,7 @@ return x_13;
}
else
{
-lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t x_17; lean_object* x_18; lean_object* x_23; lean_object* x_24; lean_object* x_25; 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; uint8_t x_72;
+lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t x_17; lean_object* x_18; lean_object* x_23; lean_object* x_24; lean_object* x_25; 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; uint8_t x_69; lean_object* x_70; lean_object* x_81; lean_object* x_82; lean_object* x_83; uint8_t x_84;
x_14 = lean_ctor_get(x_4, 0);
lean_inc(x_14);
x_15 = lean_ctor_get(x_4, 1);
@@ -2966,112 +2966,43 @@ x_67 = lean_alloc_closure((void*)(l_List_filterAuxM___main___at___private_Lean_E
lean_closure_set(x_67, 0, x_66);
x_68 = lean_alloc_closure((void*)(l_ReaderT_lift___rarg___boxed), 2, 1);
lean_closure_set(x_68, 0, x_67);
-x_69 = lean_st_ref_get(x_11, x_12);
-x_70 = lean_ctor_get(x_69, 0);
-lean_inc(x_70);
-x_71 = lean_ctor_get(x_70, 3);
-lean_inc(x_71);
-lean_dec(x_70);
-x_72 = lean_ctor_get_uint8(x_71, sizeof(void*)*1);
-lean_dec(x_71);
-if (x_72 == 0)
-{
-lean_object* x_73;
-lean_dec(x_68);
-lean_dec(x_60);
-x_73 = lean_ctor_get(x_69, 1);
-lean_inc(x_73);
-lean_dec(x_69);
-x_25 = x_73;
-goto block_59;
-}
-else
-{
-lean_object* x_74; lean_object* x_75; lean_object* x_76; uint8_t x_77;
-x_74 = lean_ctor_get(x_69, 1);
-lean_inc(x_74);
-lean_dec(x_69);
-lean_inc(x_24);
-x_75 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_24, x_6, x_7, x_8, x_9, x_10, x_11, x_74);
-x_76 = lean_ctor_get(x_75, 0);
-lean_inc(x_76);
-x_77 = lean_unbox(x_76);
-lean_dec(x_76);
-if (x_77 == 0)
-{
-lean_object* x_78;
-lean_dec(x_68);
-lean_dec(x_60);
-x_78 = lean_ctor_get(x_75, 1);
-lean_inc(x_78);
-lean_dec(x_75);
-x_25 = x_78;
-goto block_59;
-}
-else
-{
-lean_object* x_79; lean_object* x_80;
-x_79 = lean_ctor_get(x_75, 1);
-lean_inc(x_79);
-lean_dec(x_75);
-lean_inc(x_11);
-lean_inc(x_10);
-lean_inc(x_9);
-lean_inc(x_8);
-lean_inc(x_7);
-lean_inc(x_6);
-x_80 = l_Lean_Meta_withMVarContext___at___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_synthesizeSyntheticMVarsStep___spec__1___rarg(x_60, x_68, x_6, x_7, x_8, x_9, x_10, x_11, x_79);
-if (lean_obj_tag(x_80) == 0)
-{
-lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84;
-x_81 = lean_ctor_get(x_80, 0);
-lean_inc(x_81);
-x_82 = lean_ctor_get(x_80, 1);
+x_81 = lean_st_ref_get(x_11, x_12);
+x_82 = lean_ctor_get(x_81, 0);
lean_inc(x_82);
-lean_dec(x_80);
-lean_inc(x_24);
-x_83 = l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__1(x_24, x_81, x_6, x_7, x_8, x_9, x_10, x_11, x_82);
-x_84 = lean_ctor_get(x_83, 1);
-lean_inc(x_84);
+x_83 = lean_ctor_get(x_82, 3);
+lean_inc(x_83);
+lean_dec(x_82);
+x_84 = lean_ctor_get_uint8(x_83, sizeof(void*)*1);
lean_dec(x_83);
-x_25 = x_84;
-goto block_59;
+if (x_84 == 0)
+{
+lean_object* x_85; uint8_t x_86;
+x_85 = lean_ctor_get(x_81, 1);
+lean_inc(x_85);
+lean_dec(x_81);
+x_86 = 0;
+x_69 = x_86;
+x_70 = x_85;
+goto block_80;
}
else
{
-uint8_t x_85;
-lean_dec(x_24);
-lean_dec(x_16);
-lean_dec(x_15);
-lean_dec(x_14);
-lean_dec(x_11);
-lean_dec(x_10);
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_3);
-x_85 = !lean_is_exclusive(x_80);
-if (x_85 == 0)
-{
-return x_80;
-}
-else
-{
-lean_object* x_86; lean_object* x_87; lean_object* x_88;
-x_86 = lean_ctor_get(x_80, 0);
-x_87 = lean_ctor_get(x_80, 1);
+lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; uint8_t x_91;
+x_87 = lean_ctor_get(x_81, 1);
lean_inc(x_87);
-lean_inc(x_86);
-lean_dec(x_80);
-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;
-}
-}
-}
+lean_dec(x_81);
+lean_inc(x_24);
+x_88 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_24, x_6, x_7, x_8, x_9, x_10, x_11, x_87);
+x_89 = lean_ctor_get(x_88, 0);
+lean_inc(x_89);
+x_90 = lean_ctor_get(x_88, 1);
+lean_inc(x_90);
+lean_dec(x_88);
+x_91 = lean_unbox(x_89);
+lean_dec(x_89);
+x_69 = x_91;
+x_70 = x_90;
+goto block_80;
}
block_22:
{
@@ -3144,7 +3075,7 @@ x_50 = lean_ctor_get(x_44, 1);
lean_inc(x_50);
lean_dec(x_44);
lean_inc(x_24);
-x_51 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_24, x_6, x_7, x_8, x_9, x_10, x_11, x_50);
+x_51 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_24, x_6, x_7, x_8, x_9, x_10, x_11, x_50);
x_52 = lean_ctor_get(x_51, 0);
lean_inc(x_52);
x_53 = lean_ctor_get(x_51, 1);
@@ -3250,6 +3181,77 @@ return x_58;
}
}
}
+block_80:
+{
+if (x_69 == 0)
+{
+lean_dec(x_68);
+lean_dec(x_60);
+x_25 = x_70;
+goto block_59;
+}
+else
+{
+lean_object* x_71;
+lean_inc(x_11);
+lean_inc(x_10);
+lean_inc(x_9);
+lean_inc(x_8);
+lean_inc(x_7);
+lean_inc(x_6);
+x_71 = l_Lean_Meta_withMVarContext___at___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_synthesizeSyntheticMVarsStep___spec__1___rarg(x_60, x_68, x_6, x_7, x_8, x_9, x_10, x_11, x_70);
+if (lean_obj_tag(x_71) == 0)
+{
+lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75;
+x_72 = lean_ctor_get(x_71, 0);
+lean_inc(x_72);
+x_73 = lean_ctor_get(x_71, 1);
+lean_inc(x_73);
+lean_dec(x_71);
+lean_inc(x_24);
+x_74 = l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__1(x_24, x_72, x_6, x_7, x_8, x_9, x_10, x_11, x_73);
+x_75 = lean_ctor_get(x_74, 1);
+lean_inc(x_75);
+lean_dec(x_74);
+x_25 = x_75;
+goto block_59;
+}
+else
+{
+uint8_t x_76;
+lean_dec(x_24);
+lean_dec(x_16);
+lean_dec(x_15);
+lean_dec(x_14);
+lean_dec(x_11);
+lean_dec(x_10);
+lean_dec(x_9);
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_3);
+x_76 = !lean_is_exclusive(x_71);
+if (x_76 == 0)
+{
+return x_71;
+}
+else
+{
+lean_object* x_77; lean_object* x_78; lean_object* x_79;
+x_77 = lean_ctor_get(x_71, 0);
+x_78 = lean_ctor_get(x_71, 1);
+lean_inc(x_78);
+lean_inc(x_77);
+lean_dec(x_71);
+x_79 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_79, 0, x_77);
+lean_ctor_set(x_79, 1, x_78);
+return x_79;
+}
+}
+}
+}
}
}
}
diff --git a/stage0/stdlib/Lean/Elab/Tactic/Basic.c b/stage0/stdlib/Lean/Elab/Tactic/Basic.c
index 89c998f64e..501f831d8a 100644
--- a/stage0/stdlib/Lean/Elab/Tactic/Basic.c
+++ b/stage0/stdlib/Lean/Elab/Tactic/Basic.c
@@ -212,6 +212,7 @@ lean_object* l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at___pr
lean_object* l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at___private_Lean_Elab_Tactic_Basic_0__Lean_Elab_Tactic_sortFVarIds___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Tactic_Basic_0__Lean_Elab_Tactic_evalTacticUsing_loop___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*);
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
+extern lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__2___closed__1;
lean_object* l_Lean_Meta_getMVarType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_isExprMVarAssigned___at_Lean_Elab_Tactic_pruneSolvedGoals___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* l_Lean_Meta_setMCtx___at_Lean_Elab_Tactic_BacktrackableState_restore___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -252,6 +253,7 @@ lean_object* l___regBuiltin_Lean_Elab_Tactic_evalTacticSeqBracketed___closed__3;
lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Tactic_evalChoiceAux___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Elab_Tactic_evalTacticSeq1Indented___closed__2;
lean_object* l___regBuiltin_Lean_Elab_Tactic_evalSkip(lean_object*);
+extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
uint8_t l_Lean_Expr_hasExprMVar(lean_object*);
lean_object* l_Lean_replaceRef(lean_object*, lean_object*);
lean_object* lean_array_get(lean_object*, lean_object*, lean_object*);
@@ -310,7 +312,6 @@ lean_object* l_Lean_Elab_Tactic_evalSeq1(lean_object*, lean_object*, lean_object
lean_object* l_Lean_Elab_Tactic_getMainModule___rarg___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Tactic_evalTacticSeq___boxed(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_Tactic_getMainGoal(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-extern lean_object* l_Lean_Elab_Term_SavedState_inhabited___closed__1;
lean_object* l___regBuiltin_Lean_Elab_Tactic_evalSubst(lean_object*);
lean_object* l_Lean_Elab_Tactic_evalTacticSeq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_List_erase___main___at_Lean_Elab_Tactic_evalCase___spec__1(lean_object*, lean_object*);
@@ -373,7 +374,6 @@ lean_object* l_Lean_Elab_Tactic_evalOrelse(lean_object*, lean_object*, lean_obje
lean_object* l___private_Lean_Elab_Tactic_Basic_0__Lean_Elab_Tactic_introStep(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_Meta_Basic_0__Lean_Meta_withMVarContextImp___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Tactic_evalAssumption___boxed(lean_object*);
-extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__12;
lean_object* l_Lean_Elab_Tactic_forEachVar___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_Lean_nullKind___closed__2;
lean_object* l_Lean_Elab_Tactic_evalRevert(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -469,6 +469,7 @@ lean_object* l_Lean_Elab_Tactic_catch___rarg(lean_object*, lean_object*, lean_ob
lean_object* l_Lean_Elab_Tactic_TacticM_run___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_Tactic_evalChoiceAux(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_Tactic_evalFocus___boxed(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_myMacro____x40_Lean_Util_Trace___hyg_954____closed__12;
lean_object* l_Lean_Syntax_getPos(lean_object*);
lean_object* lean_metavar_ctx_find_decl(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Tactic_evalIntro___closed__5;
@@ -595,7 +596,6 @@ lean_object* l_Lean_Elab_Term_reportUnsolvedGoals___closed__2;
extern lean_object* l_Lean_Elab_Term_expandFunBinders_loop___closed__4;
extern lean_object* l_Lean_Elab_Term_expandFunBinders_loop___closed__17;
lean_object* l___regBuiltin_Lean_Elab_Tactic_evalIntroMatch___closed__3;
-extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
lean_object* l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at___private_Lean_Elab_Tactic_Basic_0__Lean_Elab_Tactic_sortFVarIds___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Tactic_TacticM_run_x27___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_log___at_Lean_Elab_Tactic_evalTactic___spec__8(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -1316,7 +1316,7 @@ lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_obj
x_1 = lean_box(0);
x_2 = l_Lean_Core_State_inhabited___closed__2;
x_3 = l_Lean_Meta_State_inhabited___closed__1;
-x_4 = l_Lean_Elab_Term_SavedState_inhabited___closed__1;
+x_4 = l_Lean_Elab_Term_Lean_Elab_Term___instance__2___closed__1;
x_5 = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(x_5, 0, x_2);
lean_ctor_set(x_5, 1, x_3);
@@ -9787,9 +9787,9 @@ x_118 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_118, 0, x_72);
lean_ctor_set(x_118, 1, x_117);
x_119 = lean_array_push(x_96, x_118);
-x_120 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_120 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_121 = lean_array_push(x_119, x_120);
-x_122 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__12;
+x_122 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__12;
x_123 = lean_array_push(x_121, x_122);
x_124 = l_Lean_Elab_Tactic_evalIntro___closed__6;
x_125 = lean_alloc_ctor(1, 2, 0);
diff --git a/stage0/stdlib/Lean/Elab/Tactic/Binders.c b/stage0/stdlib/Lean/Elab/Tactic/Binders.c
index c04b68a02c..d77257a24f 100644
--- a/stage0/stdlib/Lean/Elab/Tactic/Binders.c
+++ b/stage0/stdlib/Lean/Elab/Tactic/Binders.c
@@ -60,7 +60,6 @@ lean_object* l_Array_iterateMAux___main___at_Array_append___spec__1___rarg(lean_
lean_object* l_Lean_Elab_Tactic_expandShowTactic___closed__11;
lean_object* l_Lean_Elab_Tactic_expandSufficesTactic(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Tactic_Binders_0__Lean_Elab_Tactic_liftTermBinderSyntax_match__1(lean_object*);
-extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__12;
extern lean_object* l_Lean_nullKind___closed__2;
lean_object* l_Lean_mkAtomFrom(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Tactic_expandLetBangTactic___boxed(lean_object*, lean_object*, lean_object*);
@@ -75,6 +74,7 @@ lean_object* l___private_Lean_Elab_Tactic_Binders_0__Lean_Elab_Tactic_liftTermBi
lean_object* l_Lean_Syntax_getKind(lean_object*);
lean_object* l___regBuiltin_Lean_Elab_Tactic_expandShowTactic___closed__2;
lean_object* l___regBuiltin_Lean_Elab_Tactic_expandHaveTactic___closed__2;
+extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__12;
extern lean_object* l_Lean_mkAppStx___closed__9;
lean_object* l___private_Lean_Elab_Tactic_Binders_0__Lean_Elab_Tactic_liftTermBinderSyntax___closed__2;
extern lean_object* l_Lean_Level_LevelToFormat_toResult___closed__4;
@@ -189,7 +189,7 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l___private_Lean_Elab_Tactic_Binders_0__Lean_Elab_Tactic_liftTermBinderSyntax___closed__2;
-x_2 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__12;
+x_2 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__12;
x_3 = lean_array_push(x_1, x_2);
return x_3;
}
diff --git a/stage0/stdlib/Lean/Elab/Tactic/Induction.c b/stage0/stdlib/Lean/Elab/Tactic/Induction.c
index 5e7b234c4f..53081b9c87 100644
--- a/stage0/stdlib/Lean/Elab/Tactic/Induction.c
+++ b/stage0/stdlib/Lean/Elab/Tactic/Induction.c
@@ -92,7 +92,6 @@ lean_object* l_Lean_Elab_Tactic_getInductiveValFromMajor___lambda__1___closed__1
lean_object* l_Lean_Elab_Tactic_RecInfo_altRHSs___default;
lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfo_match__3___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfoDefault_match__2(lean_object*);
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___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* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkCasesResult_loop___closed__4;
lean_object* l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Tactic_evalInduction_match__1___rarg(lean_object*, lean_object*);
@@ -190,6 +189,7 @@ lean_object* l_Array_findIdxAux___main___at___private_Lean_Elab_Tactic_Induction
lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkCasesResult(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___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_generalizeVars___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_throwUnknownConstant___rarg___closed__3;
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___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* l_List_redLength___main___rarg(lean_object*);
lean_object* l_Lean_Meta_getMVarsNoDelayedImp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_ResolveName_resolveGlobalName(lean_object*, lean_object*, lean_object*, lean_object*);
@@ -214,6 +214,7 @@ lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_processR
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__4___closed__6;
lean_object* l_Lean_Meta_mkRecursorInfo(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_generalizeVars___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* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Syntax_isMissing(lean_object*);
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___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkCasesResult_loop(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*);
@@ -278,6 +279,7 @@ lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecFr
lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_getRecFromUsing___spec__2___boxed(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_Tactic_elabTerm(lean_object*, 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_Array_umapMAux___main___at_Lean_Elab_Tactic_evalCases___spec__1(lean_object*, lean_object*);
+extern lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Term_0__Lean_Elab_Term_applyAttributesCore___spec__1___closed__1;
uint8_t l_Lean_Syntax_isNone(lean_object*);
lean_object* l_Array_umapMAux___main___at_Lean_Elab_Tactic_evalIntros___spec__1(lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_processResult___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*);
@@ -340,7 +342,6 @@ lean_object* l_Lean_Elab_Tactic_evalCases_match__1___rarg(lean_object*, lean_obj
lean_object* l_Lean_Elab_Tactic_liftMetaTacticAux___rarg___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_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfoDefault___closed__3;
lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_processResult___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*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__3(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_Tactic_Induction_0__Lean_Elab_Tactic_elabMajor_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_findIdxAux___main___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfoDefault___spec__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_induction(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -1806,7 +1807,7 @@ return x_60;
}
}
}
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__3(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* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__3(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) {
_start:
{
lean_object* x_11; uint8_t x_12; lean_object* x_13; lean_object* x_14;
@@ -1874,191 +1875,201 @@ return x_2;
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__4(lean_object* x_1, lean_object* x_2, size_t x_3, size_t 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) {
_start:
{
-uint8_t x_15;
-x_15 = x_4 < x_3;
-if (x_15 == 0)
+lean_object* x_15; lean_object* x_16; uint8_t x_22;
+x_22 = x_4 < x_3;
+if (x_22 == 0)
{
-lean_object* x_16;
+lean_object* x_23;
lean_dec(x_12);
-x_16 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_16, 0, x_5);
-lean_ctor_set(x_16, 1, x_14);
-return x_16;
+x_23 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_23, 0, x_5);
+lean_ctor_set(x_23, 1, x_14);
+return x_23;
}
else
{
-lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; uint8_t x_50; lean_object* x_51; lean_object* x_64; lean_object* x_65; lean_object* x_66; uint8_t x_67;
+lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; uint8_t x_54; lean_object* x_55; lean_object* x_68; lean_object* x_69; lean_object* x_70; uint8_t x_71;
lean_dec(x_5);
-x_17 = lean_array_uget(x_2, x_4);
-x_18 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAltName(x_17);
-x_44 = lean_ctor_get(x_12, 0);
-lean_inc(x_44);
-x_45 = lean_ctor_get(x_12, 1);
-lean_inc(x_45);
-x_46 = lean_ctor_get(x_12, 2);
-lean_inc(x_46);
-x_47 = lean_ctor_get(x_12, 3);
-lean_inc(x_47);
-x_48 = l_Lean_replaceRef(x_17, x_47);
-lean_dec(x_47);
-x_49 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_49, 0, x_44);
-lean_ctor_set(x_49, 1, x_45);
-lean_ctor_set(x_49, 2, x_46);
-lean_ctor_set(x_49, 3, x_48);
-x_64 = lean_st_ref_get(x_13, x_14);
-x_65 = lean_ctor_get(x_64, 0);
-lean_inc(x_65);
-x_66 = lean_ctor_get(x_65, 3);
+x_24 = lean_array_uget(x_2, x_4);
+x_25 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAltName(x_24);
+x_48 = lean_ctor_get(x_12, 0);
+lean_inc(x_48);
+x_49 = lean_ctor_get(x_12, 1);
+lean_inc(x_49);
+x_50 = lean_ctor_get(x_12, 2);
+lean_inc(x_50);
+x_51 = lean_ctor_get(x_12, 3);
+lean_inc(x_51);
+x_52 = l_Lean_replaceRef(x_24, x_51);
+lean_dec(x_51);
+x_53 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_53, 0, x_48);
+lean_ctor_set(x_53, 1, x_49);
+lean_ctor_set(x_53, 2, x_50);
+lean_ctor_set(x_53, 3, x_52);
+x_68 = lean_st_ref_get(x_13, x_14);
+x_69 = lean_ctor_get(x_68, 0);
+lean_inc(x_69);
+x_70 = lean_ctor_get(x_69, 3);
+lean_inc(x_70);
+lean_dec(x_69);
+x_71 = lean_ctor_get_uint8(x_70, sizeof(void*)*1);
+lean_dec(x_70);
+if (x_71 == 0)
+{
+lean_object* x_72; uint8_t x_73;
+x_72 = lean_ctor_get(x_68, 1);
+lean_inc(x_72);
+lean_dec(x_68);
+x_73 = 0;
+x_54 = x_73;
+x_55 = x_72;
+goto block_67;
+}
+else
+{
+lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; uint8_t x_79;
+x_74 = lean_ctor_get(x_68, 1);
+lean_inc(x_74);
+lean_dec(x_68);
+x_75 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__4___closed__4;
+x_76 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__3(x_75, x_6, x_7, x_8, x_9, x_10, x_11, x_53, x_13, x_74);
+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 = lean_unbox(x_77);
+lean_dec(x_77);
+x_54 = x_79;
+x_55 = x_78;
+goto block_67;
+}
+block_47:
+{
+uint8_t x_27; lean_object* x_42; uint8_t x_43;
+x_42 = l_Lean_mkSimpleThunk___closed__1;
+x_43 = lean_name_eq(x_25, x_42);
+if (x_43 == 0)
+{
+uint8_t x_44; uint8_t x_45;
+x_44 = 0;
+x_45 = l_List_foldr___main___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__1(x_25, x_44, x_1);
+x_27 = x_45;
+goto block_41;
+}
+else
+{
+uint8_t x_46;
+x_46 = 1;
+x_27 = x_46;
+goto block_41;
+}
+block_41:
+{
+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; uint8_t x_36;
+x_28 = lean_unsigned_to_nat(0u);
+x_29 = l_Lean_Syntax_getArg(x_24, x_28);
+lean_dec(x_24);
+x_30 = lean_alloc_ctor(4, 1, 0);
+lean_ctor_set(x_30, 0, x_25);
+x_31 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__4___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_getConstInfo___rarg___lambda__1___closed__2;
+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_throwErrorAt___at_Lean_Elab_Tactic_expandTacticMacroFns_loop___spec__1___rarg(x_29, x_34, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_26);
+lean_dec(x_29);
+x_36 = !lean_is_exclusive(x_35);
+if (x_36 == 0)
+{
+return x_35;
+}
+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_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;
+}
+}
+else
+{
+lean_object* x_40;
+lean_dec(x_25);
+lean_dec(x_24);
+x_40 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Term_0__Lean_Elab_Term_applyAttributesCore___spec__1___closed__1;
+x_15 = x_40;
+x_16 = x_26;
+goto block_21;
+}
+}
+}
+block_67:
+{
+if (x_54 == 0)
+{
+lean_dec(x_53);
+x_26 = x_55;
+goto block_47;
+}
+else
+{
+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_inc(x_25);
+x_56 = lean_alloc_ctor(4, 1, 0);
+lean_ctor_set(x_56, 0, x_25);
+x_57 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_58 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_58, 0, x_57);
+lean_ctor_set(x_58, 1, x_56);
+x_59 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__4___closed__6;
+x_60 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_60, 0, x_58);
+lean_ctor_set(x_60, 1, x_59);
+lean_inc(x_24);
+x_61 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_61, 0, x_24);
+x_62 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_62, 0, x_60);
+lean_ctor_set(x_62, 1, x_61);
+x_63 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_63, 0, x_62);
+lean_ctor_set(x_63, 1, x_57);
+x_64 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__4___closed__4;
+x_65 = l_Lean_addTrace___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__2(x_64, x_63, x_6, x_7, x_8, x_9, x_10, x_11, x_53, x_13, x_55);
+lean_dec(x_53);
+x_66 = lean_ctor_get(x_65, 1);
lean_inc(x_66);
lean_dec(x_65);
-x_67 = lean_ctor_get_uint8(x_66, sizeof(void*)*1);
-lean_dec(x_66);
-if (x_67 == 0)
-{
-lean_object* x_68; uint8_t x_69;
-x_68 = lean_ctor_get(x_64, 1);
-lean_inc(x_68);
-lean_dec(x_64);
-x_69 = 0;
-x_50 = x_69;
-x_51 = x_68;
-goto block_63;
-}
-else
-{
-lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; uint8_t x_75;
-x_70 = lean_ctor_get(x_64, 1);
-lean_inc(x_70);
-lean_dec(x_64);
-x_71 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__4___closed__4;
-x_72 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__3(x_71, x_6, x_7, x_8, x_9, x_10, x_11, x_49, x_13, x_70);
-x_73 = lean_ctor_get(x_72, 0);
-lean_inc(x_73);
-x_74 = lean_ctor_get(x_72, 1);
-lean_inc(x_74);
-lean_dec(x_72);
-x_75 = lean_unbox(x_73);
-lean_dec(x_73);
-x_50 = x_75;
-x_51 = x_74;
-goto block_63;
-}
-block_43:
-{
-uint8_t x_20; lean_object* x_38; uint8_t x_39;
-x_38 = l_Lean_mkSimpleThunk___closed__1;
-x_39 = lean_name_eq(x_18, x_38);
-if (x_39 == 0)
-{
-uint8_t x_40; uint8_t x_41;
-x_40 = 0;
-x_41 = l_List_foldr___main___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__1(x_18, x_40, x_1);
-x_20 = x_41;
-goto block_37;
-}
-else
-{
-uint8_t x_42;
-x_42 = 1;
-x_20 = x_42;
-goto block_37;
-}
-block_37:
-{
-if (x_20 == 0)
-{
-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; uint8_t x_29;
-x_21 = lean_unsigned_to_nat(0u);
-x_22 = l_Lean_Syntax_getArg(x_17, x_21);
-lean_dec(x_17);
-x_23 = lean_alloc_ctor(4, 1, 0);
-lean_ctor_set(x_23, 0, x_18);
-x_24 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__4___closed__2;
-x_25 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_25, 0, x_24);
-lean_ctor_set(x_25, 1, x_23);
-x_26 = l_Lean_getConstInfo___rarg___lambda__1___closed__2;
-x_27 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_27, 0, x_25);
-lean_ctor_set(x_27, 1, x_26);
-x_28 = l_Lean_throwErrorAt___at_Lean_Elab_Tactic_expandTacticMacroFns_loop___spec__1___rarg(x_22, x_27, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_19);
-lean_dec(x_22);
-x_29 = !lean_is_exclusive(x_28);
-if (x_29 == 0)
-{
-return x_28;
-}
-else
-{
-lean_object* x_30; lean_object* x_31; lean_object* x_32;
-x_30 = lean_ctor_get(x_28, 0);
-x_31 = lean_ctor_get(x_28, 1);
-lean_inc(x_31);
-lean_inc(x_30);
-lean_dec(x_28);
-x_32 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_32, 0, x_30);
-lean_ctor_set(x_32, 1, x_31);
-return x_32;
-}
-}
-else
-{
-size_t x_33; size_t x_34; lean_object* x_35;
-lean_dec(x_18);
-lean_dec(x_17);
-x_33 = 1;
-x_34 = x_4 + x_33;
-x_35 = lean_box(0);
-x_4 = x_34;
-x_5 = x_35;
-x_14 = x_19;
-goto _start;
+x_26 = x_66;
+goto block_47;
}
}
}
-block_63:
+block_21:
{
-if (x_50 == 0)
-{
-lean_dec(x_49);
-x_19 = x_51;
-goto block_43;
-}
-else
-{
-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_inc(x_18);
-x_52 = lean_alloc_ctor(4, 1, 0);
-lean_ctor_set(x_52, 0, x_18);
-x_53 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_54 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_54, 0, x_53);
-lean_ctor_set(x_54, 1, x_52);
-x_55 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__4___closed__6;
-x_56 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_56, 0, x_54);
-lean_ctor_set(x_56, 1, x_55);
+lean_object* x_17; size_t x_18; size_t x_19;
+x_17 = lean_ctor_get(x_15, 0);
lean_inc(x_17);
-x_57 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_57, 0, x_17);
-x_58 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_58, 0, x_56);
-lean_ctor_set(x_58, 1, x_57);
-x_59 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_59, 0, x_58);
-lean_ctor_set(x_59, 1, x_53);
-x_60 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__4___closed__4;
-x_61 = l_Lean_addTrace___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__2(x_60, x_59, x_6, x_7, x_8, x_9, x_10, x_11, x_49, x_13, x_51);
-lean_dec(x_49);
-x_62 = lean_ctor_get(x_61, 1);
-lean_inc(x_62);
-lean_dec(x_61);
-x_19 = x_62;
-goto block_43;
-}
-}
+lean_dec(x_15);
+x_18 = 1;
+x_19 = x_4 + x_18;
+x_4 = x_19;
+x_5 = x_17;
+x_14 = x_16;
+goto _start;
}
}
}
@@ -2147,11 +2158,11 @@ lean_dec(x_3);
return x_12;
}
}
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__3___boxed(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* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__3___boxed(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) {
_start:
{
lean_object* x_11;
-x_11 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
+x_11 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
lean_dec(x_9);
lean_dec(x_8);
lean_dec(x_7);
diff --git a/stage0/stdlib/Lean/Elab/Tactic/Match.c b/stage0/stdlib/Lean/Elab/Tactic/Match.c
index c4936d963b..af28c2ad06 100644
--- a/stage0/stdlib/Lean/Elab/Tactic/Match.c
+++ b/stage0/stdlib/Lean/Elab/Tactic/Match.c
@@ -47,6 +47,7 @@ lean_object* lean_st_ref_take(lean_object*, lean_object*);
lean_object* l_Lean_Name_append___main(lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Tactic_Match_0__Lean_Elab_Tactic_mkAuxiliaryMatchTermAux___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Tactic_evalMatch_match__1(lean_object*);
+extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
lean_object* l___private_Lean_Elab_Util_0__Lean_Elab_expandMacro_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_mapSepElemsM___at___private_Lean_Elab_Tactic_Match_0__Lean_Elab_Tactic_mkAuxiliaryMatchTermAux___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Name_appendIndexAfter(lean_object*, lean_object*);
@@ -85,7 +86,6 @@ lean_object* l___private_Lean_Elab_Tactic_Match_0__Lean_Elab_Tactic_mkAuxiliaryM
lean_object* l___private_Lean_Elab_Tactic_Match_0__Lean_Elab_Tactic_mkAuxiliaryMatchTerm(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_mapSepElemsM___at___private_Lean_Elab_Tactic_Match_0__Lean_Elab_Tactic_mkAuxiliaryMatchTermAux___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Tactic_evalMatch___closed__1;
-extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
extern lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___closed__1;
extern lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_letBindRhss___closed__4;
uint8_t lean_nat_dec_lt(lean_object*, lean_object*);
@@ -302,7 +302,7 @@ lean_ctor_set(x_25, 1, x_24);
x_26 = l_Lean_Syntax_getArg(x_25, x_14);
x_27 = l___private_Lean_Elab_Tactic_Match_0__Lean_Elab_Tactic_mkAuxiliaryMatchTermAux___lambda__1___closed__4;
x_28 = lean_array_push(x_27, x_26);
-x_29 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_29 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_30 = lean_array_push(x_28, x_29);
x_31 = lean_array_push(x_30, x_9);
x_32 = l_Lean_Elab_Tactic_evalCase___closed__2;
diff --git a/stage0/stdlib/Lean/Elab/Term.c b/stage0/stdlib/Lean/Elab/Term.c
index 13077e7f8a..be89f61216 100644
--- a/stage0/stdlib/Lean/Elab/Term.c
+++ b/stage0/stdlib/Lean/Elab/Term.c
@@ -13,10 +13,12 @@
#ifdef __cplusplus
extern "C" {
#endif
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__9___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_getLevelNames(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_mkConsts_match__1(lean_object*);
lean_object* l_Lean_Elab_Term_synthesizeInstMVarCore___closed__4;
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabUsingElabFnsAux___closed__1;
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__9___rarg___closed__1;
lean_object* l_Lean_Elab_Term_observing_match__1(lean_object*);
lean_object* l_Lean_getConstInfo___at_Lean_Elab_Term_mkConst___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_tryCoeSort___closed__7;
@@ -42,26 +44,24 @@ lean_object* l_Lean_Meta_inferType___at___private_Lean_Elab_Term_0__Lean_Elab_Te
lean_object* l_Lean_Meta_isType___at_Lean_Elab_Term_ensureType___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabUsingElabFnsAux___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_Expr_mvarId_x21(lean_object*);
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__5___closed__2;
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_tryCoe_match__2___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_PersistentArray_foldlM___at_Lean_withNestedTraces___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_registerTraceClass(lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_isExplicitApp___boxed(lean_object*);
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__4___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Syntax_isNatLitAux(lean_object*, lean_object*);
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Term_0__Lean_Elab_Term_applyAttributesCore___spec__1(lean_object*, lean_object*, uint8_t, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_stringToMessageData(lean_object*);
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__6___rarg(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*);
lean_object* l_Lean_Elab_Term_Context_levelNames___default;
uint8_t l_Lean_MessageData_isNest(lean_object*);
+extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
lean_object* l_Lean_Elab_Term_resolveName___lambda__2(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_Term_State_inhabited;
lean_object* lean_mk_empty_array_with_capacity(lean_object*);
extern lean_object* l_Lean_Elab_throwIllFormedSyntax___rarg___closed__3;
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabUsingElabFnsAux___closed__2;
lean_object* l_Lean_Elab_Term_MVarErrorInfo_logError(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Elab_Term_elabSort___closed__2;
lean_object* l_Lean_mkSort(lean_object*);
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__9___rarg___closed__2;
lean_object* l_Lean_Elab_Term_elabEnsureTypeOf_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_insert___at_Lean_NameSet_insert___spec__1(lean_object*, lean_object*, lean_object*);
lean_object* l_ReaderT_read___at_Lean_Elab_Term_monadLog___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -92,16 +92,15 @@ lean_object* l_Lean_Elab_Term_expandCDot_x3f_match__1(lean_object*);
lean_object* l_Lean_Elab_Term_tryPostpone___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_monadQuotation___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_io_error_to_string(lean_object*);
-lean_object* l_Array_forMAux___main___at_Lean_Elab_Term_Lean_Elab_Term___instance__6___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_mkTermElabAttributeUnsafe___closed__2;
extern lean_object* l_Lean_Level_LevelToFormat_toResult___closed__3;
lean_object* l_List_foldlM___main___at_Lean_Elab_Term_logUnassignedUsingErrorInfos___spec__5(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_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___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*);
lean_object* l_Lean_Elab_Term_ppGoal___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_synthesizeInstMVarCore___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_getDecLevel___at___private_Lean_Elab_Term_0__Lean_Elab_Term_tryLiftAndCoe___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_getFVarLocalDecl_x21___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__5___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_getFVarLocalDecl_x21_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_MetavarContext_addLevelMVarDecl(lean_object*, lean_object*);
extern lean_object* l___private_Init_LeanInit_14__quoteList___main___rarg___closed__7;
@@ -123,29 +122,25 @@ lean_object* l_Array_iterateMAux___main___at_Lean_Elab_Term_MVarErrorInfo_logErr
lean_object* l_Lean_getConstInfo___at_Lean_Elab_Term_mkConst___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_resolveLocalName_loop___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_tryPostponeIfNoneOrMVar_match__1___rarg(lean_object*, lean_object*, lean_object*);
-lean_object* l_Array_forMAux___main___at_Lean_Elab_Term_Lean_Elab_Term___instance__6___spec__5(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_elabNumLit___lambda__2___closed__1;
lean_object* l_Lean_Elab_Term_resolveLocalName(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__8___closed__6;
lean_object* l_ReaderT_read___at_Lean_Elab_Term_monadLog___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Elab_Term_elabQuotedName___closed__1;
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_tryLiftAndCoe_match__2(lean_object*);
extern lean_object* l_Std_HashMap_inhabited___closed__1;
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_expandArrayLit___closed__7;
lean_object* l___regBuiltin_Lean_Elab_Term_elabEnsureTypeOf___closed__1;
lean_object* l_Lean_Elab_Term_elabNumLit___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___regBuiltin_Lean_Elab_Term_elabTypeStx___closed__3;
lean_object* l_Lean_Meta_instantiateMVars___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__6___rarg___lambda__1(lean_object*, lean_object*);
uint8_t l_List_elem___main___at_Lean_NameHashSet_insert___spec__2(lean_object*, lean_object*);
lean_object* l_Lean_Meta_getMVarsAtDeclImp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_registerCustomErrorIfMVar_match__1___rarg(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Prod_HasRepr___rarg___closed__1;
lean_object* l_Lean_Elab_Term_mkTermElabAttributeUnsafe___closed__1;
lean_object* l___regBuiltin_Lean_Elab_Term_elabTypeOf(lean_object*);
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__5___closed__1;
lean_object* l_Lean_Elab_Term_elabQuotedName___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__4___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_State_letRecsToLift___default;
lean_object* l_Lean_MacroScopesView_format(lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_tryCoe___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -159,7 +154,6 @@ uint8_t l___private_Lean_Elab_Term_0__Lean_Elab_Term_isLambdaWithImplicit(lean_o
uint8_t l___private_Lean_Elab_Term_0__Lean_Elab_Term_isExplicit(lean_object*);
uint8_t lean_metavar_ctx_is_delayed_assigned(lean_object*, lean_object*);
extern lean_object* l_Array_empty___closed__1;
-lean_object* l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_1__toFormat___spec__1(lean_object*, lean_object*);
extern lean_object* l_Lean_Array_hasQuote___rarg___closed__2;
lean_object* lean_environment_find(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*);
@@ -167,7 +161,6 @@ lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabUsingElabFns___clo
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_exceptionToSorry___boxed(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_Term_0__Lean_Elab_Term_elabTermAux___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_resolveName___closed__3;
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__5___closed__6;
lean_object* l_Lean_Elab_Term_registerMVarErrorHoleInfo(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_checkTraceOption(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_mkExplicitBinder___closed__2;
@@ -181,11 +174,10 @@ lean_object* l_Lean_Elab_Term_isLocalIdent_x3f_match__1___rarg(lean_object*, lea
lean_object* l_Lean_Elab_Term_withoutErrToSorry(lean_object*);
lean_object* lean_st_ref_get(lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux(lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Elab_addMacroStack___at_Lean_Elab_Term_Lean_Elab_Term___instance__3___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_throwErrorIfErrors___closed__2;
extern lean_object* l_Lean_charLitKind___closed__2;
-lean_object* l_Lean_MessageLog_forM___at_Lean_Elab_Term_Lean_Elab_Term___instance__6___spec__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_List_append___rarg(lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_isLevelDefEq___spec__2___rarg(lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Elab_Term_elabQuotedName___closed__2;
lean_object* l_Lean_Elab_Term_withDeclName(lean_object*);
extern lean_object* l_Std_PersistentArray_empty___closed__1;
@@ -216,6 +208,7 @@ lean_object* l_Lean_Meta_assignExprMVar___at_Lean_Elab_Term_synthesizeInstMVarCo
lean_object* l_ReaderT_bind___at_Lean_Meta_Lean_Meta_Basic___instance__5___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Expr_ctorName___closed__4;
extern lean_object* l_Lean_Meta_decLevel___rarg___lambda__1___closed__4;
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__7___closed__4;
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_expr_instantiate1(lean_object*, lean_object*);
extern lean_object* l_Lean_Literal_type___closed__3;
@@ -223,7 +216,6 @@ lean_object* l___regBuiltin_Lean_Elab_Term_elabBadCDot___closed__1;
lean_object* lean_array_push(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_getMessageLog___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_array_get_size(lean_object*);
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__6___rarg___closed__2;
lean_object* l_Lean_Elab_Term_mkAuxName___closed__3;
lean_object* l_Lean_Elab_throwIllFormedSyntax___at_Lean_Elab_Term_elabQuotedName___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_monadLog___closed__7;
@@ -237,26 +229,32 @@ lean_object* l_Lean_Elab_Term_liftLevelM_match__1___rarg(lean_object*, lean_obje
lean_object* l_Lean_Elab_Term_TermElabM_run___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_applyAttributesAt(lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__2___rarg(lean_object*);
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__8___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_String_splitAux___main___closed__1;
extern lean_object* l_Lean_Expr_getAppArgs___closed__1;
lean_object* l_Lean_Elab_Term_registerCustomErrorIfMVar___boxed(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_Level_elabLevel(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Lean_Message___instance__12___closed__3;
lean_object* l_Lean_Elab_Term_mkAuxName(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__8___closed__2;
lean_object* l_List_foldlM___main___at_Lean_Elab_Term_logUnassignedUsingErrorInfos___spec__5___boxed(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_Term_0__Lean_Elab_Term_elabTermAux___closed__5;
extern lean_object* l_List_repr___rarg___closed__3;
lean_object* l___regBuiltin_Lean_Elab_Term_elabTypeStx___closed__2;
lean_object* l_Lean_Elab_Term_mkTermElabAttributeUnsafe___closed__7;
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__8___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabUsingElabFnsAux(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_elabSort___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__9___rarg___lambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_elabTypeOf(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
size_t l_USize_shiftRight(size_t, size_t);
+lean_object* l_Std_PersistentArray_forM___at_Lean_Elab_Term_Lean_Elab_Term___instance__9___spec__2___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_anyRangeMAux___main___at___private_Lean_Elab_Term_0__Lean_Elab_Term_isLambdaWithImplicit___spec__1___closed__2;
lean_object* l_Lean_Elab_Term_elabSyntheticHole_match__2(lean_object*);
lean_object* l_Lean_Elab_Term_synthesizeInst(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_printTraces___at_Lean_Core_hasEval___spec__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_resolveName___closed__6;
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__4___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_tryCoeSort___closed__1;
lean_object* lean_string_utf8_byte_size(lean_object*);
lean_object* l_Lean_Elab_Term_elabStrLit_match__1___rarg(lean_object*, lean_object*, lean_object*);
@@ -271,20 +269,20 @@ lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabUsingElabFns_match
lean_object* l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_getMainModule___rarg(lean_object*, lean_object*);
uint8_t l_USize_decLt(size_t, size_t);
-lean_object* l_Lean_MessageLog_forM___at_Lean_Elab_Term_Lean_Elab_Term___instance__6___spec__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_throwError___at_Lean_Elab_Term_throwTypeMismatchError___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabUsingElabFns(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_LVal_hasToString_match__1(lean_object*);
lean_object* l_Lean_Elab_Term_resolveName___closed__5;
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_useImplicitLambda_x3f_match__1(lean_object*);
lean_object* l_Lean_Elab_Term_LVal_hasToString(lean_object*);
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__8___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_mkExplicitBinder___closed__8;
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__1___closed__1;
extern lean_object* l_Lean_mkAppStx___closed__8;
lean_object* l_Lean_Elab_Term_elabNumLit_match__1___rarg(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Meta_decLevel___rarg___lambda__1___closed__2;
extern lean_object* l_Lean_levelZero;
lean_object* l_Array_anyRangeMAux___main___at_Lean_Elab_Term_logUnassignedUsingErrorInfos___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Elab_Term_TermElabResult_inhabited___closed__1;
lean_object* l_Lean_Elab_Term_elabStrLit___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_nat_add(lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_tryCoeSort___closed__6;
@@ -294,6 +292,7 @@ lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_isExplicit___boxed(lea
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabImplicitLambda_match__1(lean_object*);
lean_object* l_Lean_Elab_Term_ensureHasType(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_Term_0__Lean_Elab_Term_isExplicit___closed__1;
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__8___lambda__3(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_throwTypeMismatchError___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_Term_0__Lean_Elab_Term_hasCDot_match__1(lean_object*);
lean_object* l_Array_foldlStepMAux___main___at_Lean_Syntax_foldSepRevArgsM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
@@ -302,44 +301,45 @@ lean_object* l_Lean_Elab_Term_mkTermElabAttributeUnsafe___closed__3;
extern lean_object* l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
extern lean_object* l_Lean_Elab_logDbgTrace___rarg___closed__1;
lean_object* l_Lean_Elab_Term_elabBadCDot___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__7;
lean_object* l_Lean_throwError___at_Lean_Elab_Term_throwErrorIfErrors___spec__1(lean_object*);
lean_object* l_Std_PersistentHashMap_find_x3f___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabUsingElabFns___spec__2___boxed(lean_object*, lean_object*);
-lean_object* l_Lean_Elab_Term_SavedState_inhabited___closed__2;
lean_object* l_Lean_Elab_Term_monadLog___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Nat_foldMAux___main___at___private_Lean_Elab_Term_0__Lean_Elab_Term_mkFreshLevelMVars___spec__1(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_Term_resolveLocalName_loop_match__2(lean_object*);
lean_object* l_Array_anyRangeMAux___main___at___private_Lean_Elab_Term_0__Lean_Elab_Term_hasCDot___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_whnfForall___at___private_Lean_Elab_Term_0__Lean_Elab_Term_useImplicitLambda_x3f___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__5___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__1(lean_object*);
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__1;
lean_object* l_Lean_Elab_log___at___private_Lean_Elab_Term_0__Lean_Elab_Term_exceptionToSorry___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_Elab_Term_liftMetaM(lean_object*);
lean_object* l_Lean_Elab_Term_saveAllState___boxed(lean_object*);
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_applyAttributesCore___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_Term_0__Lean_Elab_Term_elabTermAux_match__2___rarg(lean_object*, lean_object*, lean_object*);
uint8_t lean_metavar_ctx_is_expr_assigned(lean_object*, lean_object*);
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__8___closed__1;
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_dropTermParens_match__1(lean_object*);
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__7___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Elab_Term_elabHole(lean_object*);
lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Term_resolveName___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_resolveName___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* l_Lean_Elab_Term_observing_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_ensureHasType_match__1___rarg(lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_3__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___private_Lean_Elab_Term_0__Lean_Elab_Term_mkConsts_match__1___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Meta_getLevel___at___private_Lean_Elab_Term_0__Lean_Elab_Term_tryCoe___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_ULift_HasRepr___rarg___closed__2;
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__8___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_tryLiftAndCoe_match__1(lean_object*);
uint8_t l_Lean_AttributeApplicationTime_beq(uint8_t, uint8_t);
lean_object* l_Lean_Meta_assignExprMVar___at_Lean_Elab_Term_synthesizeInstMVarCore___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_Term_monadLog___closed__5;
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_isLevelDefEq___spec__3___rarg(lean_object*, lean_object*);
lean_object* l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_mkTermElabAttributeUnsafe___closed__5;
lean_object* l_Lean_Elab_Term_MVarErrorInfo_logError___closed__13;
lean_object* l_Lean_Elab_Term_tryPostponeIfNoneOrMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkFreshExprMVar___at___private_Lean_Elab_Term_0__Lean_Elab_Term_tryCoe___spec__2(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_logTrace___at_Lean_Elab_Term_traceAtCmdPos___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__8___closed__4;
lean_object* l_Lean_Elab_Term_elabLevel(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_mkTermElabAttributeUnsafe(lean_object*);
lean_object* l_Lean_Elab_Term_monadLog___closed__1;
@@ -354,6 +354,7 @@ extern lean_object* l_Lean_Meta_isLevelDefEqAux___closed__6;
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_mkConsts___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Nat_foldMAux___main___at___private_Lean_Elab_Term_0__Lean_Elab_Term_mkFreshLevelMVars___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__2___closed__1;
lean_object* l_Lean_Elab_Term_resolveLocalName_loop(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_levelMVarToParam(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Elab_Term_elabSyntheticHole___closed__3;
@@ -366,12 +367,10 @@ lean_object* l_Lean_Elab_Term_withMacroExpansion(lean_object*);
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_useImplicitLambda_x3f_match__2___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_getMessageLog(lean_object*);
lean_object* l_Std_AssocList_find_x3f___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabUsingElabFns___spec__6(lean_object*, lean_object*);
-lean_object* l_Lean_Elab_Term_State_inhabited___closed__1;
lean_object* l_Lean_Meta_mkFreshLevelMVar___at___private_Lean_Meta_Basic_0__Lean_Meta_mkFreshExprMVarImpl___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_elabNumLit___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_st_ref_take(lean_object*, lean_object*);
lean_object* l_List_foldl___main___at_Lean_Elab_addMacroStack___spec__1(lean_object*, lean_object*, lean_object*);
-extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
lean_object* l_Lean_Elab_Term_MVarErrorInfo_logError___closed__2;
extern lean_object* l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
extern lean_object* l_Lean_numLitKind;
@@ -388,6 +387,7 @@ lean_object* l_Lean_Elab_Term_mkExplicitBinder___closed__7;
lean_object* l_Lean_Meta_throwAppTypeMismatch___at_Lean_Elab_Term_throwTypeMismatchError___spec__2___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_Term_mkConst___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_resolveName_match__1(lean_object*);
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__8___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_IO_println___at_Lean_HasRepr_hasEval___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_MVarErrorInfo_logError___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_tryCoeSort(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -400,6 +400,7 @@ lean_object* l_Lean_Elab_Term_elabProp___rarg(lean_object*);
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabImplicitLambdaAux___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_Elab_logException___at___private_Lean_Elab_Term_0__Lean_Elab_Term_exceptionToSorry___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Syntax_isStrLit_x3f(lean_object*);
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__2___closed__2;
lean_object* l_Lean_Elab_Term_mkFreshInstanceName(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Name_append___main(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_mkTypeMismatchError___closed__1;
@@ -411,7 +412,7 @@ lean_object* l_Lean_Elab_Term_withMacroExpansion___rarg(lean_object*, lean_objec
lean_object* l_Lean_Elab_Term_elabByTactic___closed__2;
lean_object* l_Lean_Elab_Term_mkExplicitBinder___closed__3;
lean_object* l_Lean_Elab_Term_MVarErrorInfo_logError___closed__14;
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__4___closed__4;
+lean_object* l_Array_forMAux___main___at_Lean_Elab_Term_Lean_Elab_Term___instance__9___spec__5(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_useImplicitLambda_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_mkConst___closed__2;
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabUsingElabFns_match__1(lean_object*);
@@ -425,18 +426,20 @@ lean_object* l_Lean_Elab_Term_TermElabM_inhabited(lean_object*);
lean_object* l_Lean_Elab_Term_mkInstMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Elab_Term_elabEnsureExpectedType(lean_object*);
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux_match__1___rarg(lean_object*, lean_object*, lean_object*);
+extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
lean_object* l_Lean_Elab_Term_getFVarLocalDecl_x21(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*);
lean_object* lean_array_get(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_mkTypeMismatchError___closed__3;
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_isTypeApp_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_levelMVarToParam___lambda__1___boxed(lean_object*, lean_object*);
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__3___closed__1;
lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabImplicitLambda___spec__1(lean_object*);
lean_object* l___private_Lean_Elab_Util_0__Lean_Elab_expandMacro_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkFun___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Exception_hasSyntheticSorry(lean_object*);
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__9___rarg___closed__3;
lean_object* l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__5___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_getMVarDecl___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_fvarId_x21(lean_object*);
lean_object* l_Lean_Elab_Term_synthesizeInstMVarCore___closed__7;
@@ -447,13 +450,13 @@ lean_object* l_Lean_Elab_Term_elabCharLit_match__1___rarg(lean_object*, lean_obj
lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_levelMVarToParam_x27___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_List_lengthAux___main___rarg(lean_object*, lean_object*);
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_logException___at___private_Lean_Elab_Term_0__Lean_Elab_Term_exceptionToSorry___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_blockImplicitLambda___boxed(lean_object*);
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_tryCoe___closed__1;
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabOptLevel(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_monadQuotation___closed__1;
uint8_t l_Lean_Elab_Term_blockImplicitLambda(lean_object*);
-lean_object* l_Array_forMAux___main___at_Lean_Elab_Term_Lean_Elab_Term___instance__6___spec__4(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_elabTypeStx(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_assignLevelMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_tryLiftAndCoe___closed__5;
@@ -470,6 +473,7 @@ lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_applyAttributesCore_ma
lean_object* l_Lean_Meta_mkLambdaFVars___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabImplicitLambdaAux___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Elab_Term_elabByTactic___closed__1;
size_t l_Lean_Name_hash(lean_object*);
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__7___closed__5;
lean_object* l_Lean_withNestedTraces___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_registerSyntheticMVarWithCurrRef___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_Term_0__Lean_Elab_Term_tryLiftAndCoe___closed__4;
@@ -477,15 +481,12 @@ lean_object* l_Nat_repr(lean_object*);
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___closed__4;
lean_object* l_Lean_Elab_Term_elabEnsureExpectedType_match__1(lean_object*);
lean_object* l_Lean_Elab_Term_throwErrorIfErrors___closed__3;
-lean_object* l_Std_PersistentArray_forMAux___at_Lean_Elab_Term_Lean_Elab_Term___instance__6___spec__3___boxed(lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Std_PersistentArray_forM___at_Lean_Elab_Term_Lean_Elab_Term___instance__6___spec__2___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabImplicitLambda___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_Lean_Elab_getMacros(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_tryCoeSort_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_getMVarsAtDecl___at_Lean_Elab_Term_ensureNoUnassignedMVars___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Std_PersistentArray_forMAux___at_Lean_Elab_Term_Lean_Elab_Term___instance__9___spec__3___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_hasCDot___closed__1;
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Meta_inferTypeRef;
lean_object* lean_st_mk_ref(lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_hasCDot___closed__2;
@@ -495,9 +496,9 @@ lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabOptLevel___boxed(l
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabUsingElabFnsAux_match__2___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_setElabConfig(lean_object*);
lean_object* l_Lean_Elab_Term_getLetRecsToLift(lean_object*);
-lean_object* l_Lean_Elab_addMacroStack___at_Lean_Elab_Term_Lean_Elab_Term___instance__3___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_liftLevelM___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_829_(lean_object*);
+lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_817_(lean_object*);
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__7___closed__3;
extern lean_object* l_Lean_MessageData_nil___closed__1;
lean_object* l_Lean_Syntax_getId(lean_object*);
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux_match__2(lean_object*);
@@ -518,10 +519,12 @@ extern lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_CheckAssignment
lean_object* l_Lean_Elab_Term_monadLog___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_anyRangeMAux___main___at___private_Lean_Elab_Term_0__Lean_Elab_Term_isLambdaWithImplicit___spec__1___closed__1;
uint8_t l_Lean_Elab_Term_Context_errToSorry___default;
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__9(lean_object*);
lean_object* l_Lean_Elab_Term_resolveName(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_Term_0__Lean_Elab_Term_tryCoe___closed__2;
lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_anyRangeMAux___main___at___private_Lean_Elab_Term_0__Lean_Elab_Term_isLambdaWithImplicit___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_MessageLog_forM___at_Lean_Elab_Term_Lean_Elab_Term___instance__9___spec__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_elabProp___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_getCurrMacroScope(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_MetavarContext_assignExpr(lean_object*, lean_object*, lean_object*);
@@ -536,11 +539,11 @@ extern lean_object* l_Lean_Meta_throwTypeExcepted___rarg___closed__2;
lean_object* l_Lean_Elab_Term_mkTermElabAttribute(lean_object*);
extern lean_object* l_Lean_numLitKind___closed__2;
lean_object* l_Std_AssocList_find_x3f___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabUsingElabFns___spec__6___boxed(lean_object*, lean_object*);
-lean_object* l_Lean_Elab_Term_SavedState_inhabited___closed__1;
lean_object* l_Lean_Elab_Term_monadLog___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_getCurrMacroScope___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_mkAppStx___closed__6;
extern lean_object* l_IO_Error_Inhabited___closed__1;
+lean_object* l_Std_PersistentArray_forMAux___at_Lean_Elab_Term_Lean_Elab_Term___instance__9___spec__3(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_expandArrayLit___closed__9;
lean_object* l_Lean_Elab_Term_getMessageLog___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_elabLevel___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -553,6 +556,7 @@ size_t lean_usize_modn(size_t, lean_object*);
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_exceptionToSorry___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_expandArrayLit___closed__4;
lean_object* l_Lean_FileMap_toPosition(lean_object*, lean_object*);
+lean_object* l_Lean_MessageLog_forM___at_Lean_Elab_Term_Lean_Elab_Term___instance__9___spec__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_throwPostpone___at_Lean_Elab_Term_tryPostpone___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkEqNDRecImp___closed__6;
uint8_t l_Array_isEmpty___rarg(lean_object*);
@@ -562,7 +566,6 @@ lean_object* l_Lean_Elab_Term_elabProp(lean_object*, lean_object*, lean_object*,
lean_object* l_Lean_Elab_Term_MVarErrorInfo_logError___closed__5;
lean_object* l_Lean_LocalDecl_toExpr(lean_object*);
extern lean_object* l_Lean_firstFrontendMacroScope;
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__4___closed__3;
extern lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_liftMkBindingM___rarg___closed__3;
lean_object* l___regBuiltin_Lean_Elab_Term_elabTypeOf___closed__3;
lean_object* l_Lean_Elab_Term_expandArrayLit___closed__8;
@@ -581,12 +584,14 @@ lean_object* l_Lean_Meta_withLCtx___at_Lean_Elab_Term_elabSyntheticHole___spec__
lean_object* l_Lean_Meta_mkFreshLevelMVar___at_Lean_Elab_Term_ensureType___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_ResolveName_resolveGlobalName(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_MVarErrorInfo_logError___closed__15;
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__7___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Elab_addMacroStack___at_Lean_Elab_Term_Lean_Elab_Term___instance__6___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__2___closed__2;
uint8_t l_Lean_Expr_isForall(lean_object*);
lean_object* l_Lean_Elab_Term_elabTermEnsuringType___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_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
lean_object* l_ReaderT_bind___at_Lean_Elab_Term_monadLog___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at_Array_append___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Elab_Term_TermElabResult_inhabited;
lean_object* l_Lean_Elab_Term_synthesizeInstMVarCore___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_elabEnsureExpectedType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_isTypeApp_x3f_match__1___rarg(lean_object*, lean_object*, lean_object*);
@@ -630,11 +635,10 @@ size_t l_USize_land(size_t, size_t);
lean_object* l_Lean_Elab_Term_mkConst(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_mkSomeContext___closed__2;
lean_object* l_Lean_Elab_Term_expandArrayLit___closed__2;
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__5___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_mkConst___closed__3;
lean_object* l_Lean_Elab_Term_resolveName___closed__4;
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_tryCoe_match__2(lean_object*);
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__3;
extern lean_object* l_Lean_nullKind___closed__2;
lean_object* l_Lean_Elab_Term_elabCharLit(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
@@ -647,11 +651,9 @@ lean_object* l_Lean_Elab_Term_monadLog___closed__2;
lean_object* l___private_Lean_Meta_SynthInstance_0__Lean_Meta_trySynthInstanceImp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Elab_addMacroStack___rarg___lambda__1___closed__3;
lean_object* l___private_Lean_Meta_Check_0__Lean_Meta_getFunctionDomain(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__4___closed__2;
extern lean_object* l_Lean_getConstInfo___rarg___lambda__1___closed__1;
lean_object* l_Lean_Elab_Term_getDeclName_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_setMacroStackOption(lean_object*, uint8_t);
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__4___closed__1;
extern lean_object* l_Lean_Meta_State_inhabited___closed__1;
lean_object* l___regBuiltin_Lean_Elab_Term_expandArrayLit(lean_object*);
lean_object* l_Lean_ConstantInfo_lparams(lean_object*);
@@ -660,7 +662,6 @@ lean_object* l_Array_iterateMAux___main___at_Lean_Elab_Term_MVarErrorInfo_logErr
lean_object* l___regBuiltin_Lean_Elab_Term_elabEnsureTypeOf(lean_object*);
lean_object* l_Lean_Elab_Term_levelMVarToParam_x27(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_elabEnsureTypeOf___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__4___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_resetMessageLog(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_traceAtCmdPos___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_synthesizeInst_match__1(lean_object*);
@@ -670,11 +671,10 @@ lean_object* l_Lean_Elab_Term_savingMCtx(lean_object*);
lean_object* l_Lean_Elab_Term_elabHole(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_resolveName_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Elab_Term_elabCharLit___closed__1;
-lean_object* l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_isLevelDefEq___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Array_forMAux___main___at_Lean_Elab_Term_Lean_Elab_Term___instance__9___spec__4(lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Prod_hasQuote___rarg___closed__3;
lean_object* l_Lean_Elab_Term_getFVarLocalDecl_x21___closed__4;
lean_object* l_Lean_Elab_Term_elabEnsureExpectedType_match__1___rarg(lean_object*, lean_object*, lean_object*);
-lean_object* l_Std_PersistentArray_forM___at_Lean_Elab_Term_Lean_Elab_Term___instance__6___spec__2(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabUsingElabFnsAux_match__2(lean_object*);
lean_object* l_Lean_Elab_Term_liftMetaM___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_PersistentArray_push___rarg(lean_object*, lean_object*);
@@ -684,12 +684,14 @@ lean_object* l_Lean_Elab_Term_mkFreshBinderName(lean_object*, lean_object*, lean
lean_object* l_Lean_Elab_Term_isLocalIdent_x3f_match__2(lean_object*);
lean_object* l_Lean_Meta_throwAppTypeMismatch___at_Lean_Elab_Term_throwTypeMismatchError___spec__2(lean_object*);
lean_object* l_Std_PersistentHashMap_findAux___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabUsingElabFns___spec__3(lean_object*, size_t, lean_object*);
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__7___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_isMonad_x3f___closed__2;
lean_object* l_Lean_Elab_Term_mkTermElabAttributeUnsafe___closed__8;
extern lean_object* l_Lean_mkAppStx___closed__5;
lean_object* l_Lean_Expr_getAppNumArgsAux(lean_object*, lean_object*);
+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_Array_forMAux___main___at_Lean_Elab_Term_Lean_Elab_Term___instance__9___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Elab_Term_elabStrLit(lean_object*);
-lean_object* l_Array_forMAux___main___at_Lean_Elab_Term_Lean_Elab_Term___instance__6___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_elabBadCDot___rarg___closed__3;
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_tryLiftAndCoe___closed__3;
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabImplicitLambdaAux___closed__1;
@@ -705,16 +707,17 @@ lean_object* lean_environment_main_module(lean_object*);
lean_object* l_Lean_Elab_Term_mkTermElabAttributeUnsafe___closed__9;
lean_object* l_Lean_Elab_Term_tryCoeThunk_x3f_match__1(lean_object*);
lean_object* l_Lean_throwError___at_Lean_Elab_Term_throwTypeMismatchError___spec__1(lean_object*);
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__8;
lean_object* l___regBuiltin_Lean_Elab_Term_elabEnsureExpectedType___closed__2;
uint8_t l_Lean_Expr_isMVar(lean_object*);
lean_object* l_Lean_Elab_Term_logUnassignedUsingErrorInfos___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_mkFreshIdent___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__5___closed__5;
lean_object* l_Lean_Elab_Term_monadLog___closed__9;
extern lean_object* l_Array_myMacro____x40_Init_Data_Array_Macros___hyg_464____closed__10;
lean_object* l_Lean_Elab_Term_logUnassignedUsingErrorInfos___closed__1;
lean_object* l_Lean_Elab_Term_resetMessageLog___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_mkSomeContext___closed__1;
+lean_object* l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_0__Lean_TraceState_toFormat___spec__1(lean_object*, lean_object*);
extern lean_object* l_Lean_Elab_throwPostpone___rarg___closed__1;
lean_object* l_Lean_Elab_Term_MVarErrorInfo_logError___closed__12;
lean_object* l_Lean_Meta_mkFreshTypeMVar___at___private_Lean_Elab_Term_0__Lean_Elab_Term_exceptionToSorry___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -733,6 +736,7 @@ lean_object* l___regBuiltin_Lean_Elab_Term_elabHole___closed__1;
lean_object* l_Lean_Elab_Term_SavedState_restore(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabUsingElabFnsAux_match__1(lean_object*);
lean_object* l_Lean_Syntax_getArgs(lean_object*);
+lean_object* l_Array_forMAux___main___at_Lean_Elab_Term_Lean_Elab_Term___instance__9___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_BinderInfo_isExplicit(uint8_t);
lean_object* l_Lean_Elab_Term_registerSyntheticMVar(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_getKind(lean_object*);
@@ -740,7 +744,6 @@ lean_object* l_Lean_Elab_Term_expandArrayLit(lean_object*, lean_object*, lean_ob
lean_object* l_Lean_Elab_Term_liftLevelM_match__1(lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Elab_Term_elabSort___closed__1;
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_exceptionToSorry_match__1(lean_object*);
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__2___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Elab_Term_elabQuotedName___closed__3;
lean_object* l_Lean_MacroScopesView_review(lean_object*);
lean_object* l_Lean_Elab_Term_elabStrLit_match__1(lean_object*);
@@ -749,8 +752,8 @@ lean_object* l_Lean_Elab_Term_synthesizeInstMVarCore(lean_object*, lean_object*,
uint8_t l_Lean_Name_isAnonymous(lean_object*);
lean_object* l_Lean_Elab_Term_synthesizeInstMVarCore_match__1(lean_object*);
lean_object* l_Lean_Elab_log___at___private_Lean_Elab_Term_0__Lean_Elab_Term_exceptionToSorry___spec__2(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Array_forMAux___main___at_Lean_Elab_Term_Lean_Elab_Term___instance__6___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_assignLevelMVar___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_7236____closed__1;
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabImplicitLambda___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_Elab_Term_applyAttributes(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_elabNumLit_match__1(lean_object*);
@@ -760,11 +763,12 @@ lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_Term_0__Lean_Ela
lean_object* lean_metavar_ctx_assign_level(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_savingMCtx___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_State_syntheticMVars___default;
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__7___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_registerMVarErrorCustomInfo(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_getConstInfo___rarg___lambda__1___closed__2;
extern lean_object* l_Std_PersistentHashMap_mkCollisionNode___rarg___closed__1;
lean_object* l_Lean_Meta_getMVarsImp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__5;
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__5(lean_object*);
lean_object* l_Lean_Elab_Term_elabEnsureTypeOf(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Elab_Term_elabBadCDot(lean_object*);
lean_object* l_Lean_Meta_mkPure___at___private_Lean_Elab_Term_0__Lean_Elab_Term_tryPureCoe_x3f___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -773,10 +777,10 @@ lean_object* l_Lean_Elab_Term_observing___lambda__1(lean_object*, lean_object*,
lean_object* l_Lean_Elab_Term_liftLevelM___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_tryCoeSort___closed__5;
lean_object* l_Lean_Elab_log___at_Lean_Elab_Term_traceAtCmdPos___spec__2(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_7252____closed__1;
lean_object* l_Lean_Elab_Term_withDeclName___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_logAt___at_Lean_Elab_Term_traceAtCmdPos___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* l_Std_HashMapImp_find_x3f___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabUsingElabFns___spec__5(lean_object*, lean_object*);
+lean_object* l_Array_forMAux___main___at_Lean_Elab_Term_Lean_Elab_Term___instance__9___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_isExplicit___closed__2;
lean_object* l_Lean_Elab_Term_mkAuxName_match__1(lean_object*);
lean_object* l_Lean_Elab_Term_tryPostponeIfMVar___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -786,6 +790,7 @@ lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabImplicitLambda___l
extern lean_object* l_Lean_Meta_whnfRef;
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_isLambdaWithImplicit___boxed(lean_object*);
lean_object* l_Lean_mkAuxName___at_Lean_Elab_Term_mkAuxName___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__9___rarg(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*);
lean_object* l_Lean_Elab_Term_elabSyntheticHole___closed__6;
lean_object* l_Lean_Elab_Term_expandArrayLit___closed__6;
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_expandCDot(lean_object*, lean_object*, lean_object*, lean_object*);
@@ -815,19 +820,15 @@ lean_object* l_Lean_Elab_Term_tryPostponeIfMVar(lean_object*, lean_object*, lean
lean_object* l_Lean_Meta_setMCtx___at___private_Lean_Meta_Basic_0__Lean_Meta_liftMkBindingM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Syntax_getPos(lean_object*);
lean_object* l_Lean_Elab_Term_getMessageLog___boxed(lean_object*);
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__6___rarg___closed__1;
lean_object* l_Lean_Elab_Term_isLocalIdent_x3f_match__1(lean_object*);
-lean_object* l_Array_forMAux___main___at_Lean_Elab_Term_Lean_Elab_Term___instance__6___spec__6(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_elabType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_Context_currMacroScope___default;
extern lean_object* l_Lean_Meta_throwAppTypeMismatch___rarg___lambda__1___closed__3;
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__4___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_decLevel___at_Lean_Meta_getDecLevel___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Elab_Term_elabQuotedName(lean_object*);
extern lean_object* l_Lean_Elab_abortExceptionId;
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__6___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Array_myMacro____x40_Init_Data_Array_Macros___hyg_464____closed__11;
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_tryLiftAndCoe___closed__8;
lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Term_resolveName___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -842,9 +843,8 @@ lean_object* l_Lean_Elab_Term_synthesizeInst_match__1___rarg(lean_object*, lean_
lean_object* l_Lean_Meta_getLevel___at___private_Lean_Elab_Term_0__Lean_Elab_Term_tryCoe___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabUsingElabFns___closed__3;
lean_object* l___regBuiltin_Lean_Elab_Term_elabEnsureExpectedType___closed__1;
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__5___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__4___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_withLCtx___at_Lean_Elab_Term_elabSyntheticHole___spec__1(lean_object*);
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_withFreshMacroScope___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Meta_throwLetTypeMismatchMessage___rarg___closed__7;
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___closed__8;
@@ -852,7 +852,6 @@ lean_object* l_Lean_Elab_Term_TermElabM_toIO_match__1(lean_object*, lean_object*
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Term_0__Lean_Elab_Term_applyAttributesCore___spec__1___closed__1;
uint8_t l_Lean_Syntax_isNone(lean_object*);
extern lean_object* l_Lean_Meta_evalNat___closed__2;
-extern lean_object* l_Lean_TraceState_Inhabited___closed__1;
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_mkFreshLevelMVars___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Meta_mkSorry___rarg___lambda__1___closed__2;
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabImplicitLambda_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
@@ -860,22 +859,19 @@ lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_mkFreshExprMVarImpl(lean_o
lean_object* l_Lean_Meta_mkFreshLevelMVar___at_Lean_Elab_Term_ensureType___spec__2(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_getLetRecsToLift___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_mkOptionalNode___closed__1;
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__5___closed__4;
lean_object* l_Lean_Syntax_isNameLit_x3f(lean_object*);
lean_object* l_Lean_Elab_Term_liftCoreM(lean_object*);
lean_object* l_Lean_Elab_Term_getMainModule___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_inferType___at___private_Lean_Elab_Term_0__Lean_Elab_Term_tryLiftAndCoe___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_isMonad_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_isMonad_x3f___closed__1;
-extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
lean_object* l_Lean_Elab_throwIllFormedSyntax___at_Lean_Elab_Term_elabStrLit___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Elab_Term_expandListLit___closed__3;
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__4;
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__4(lean_object*);
lean_object* l_Lean_Meta_decLevel___at_Lean_Elab_Term_elabNumLit___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_MetavarContext_MkBinding_mkBinding(uint8_t, lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*);
extern lean_object* l_Lean_Meta_Context_config___default___closed__1;
lean_object* l_Lean_Elab_Term_liftCoreM___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_mkAuxName___at_Lean_Elab_Term_mkAuxName___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_mk_array(lean_object*, lean_object*);
extern size_t l_Std_PersistentHashMap_insertAux___rarg___closed__2;
@@ -884,6 +880,7 @@ lean_object* l_Lean_Elab_Term_registerSyntheticMVarWithCurrRef(lean_object*, lea
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabImplicitLambdaAux(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_logUnassignedUsingErrorInfos(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_tryCoeSort___closed__8;
+lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Syntax_isOfKind(lean_object*, lean_object*);
lean_object* l_Lean_PersistentEnvExtension_getState___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_elabByTactic___closed__3;
@@ -893,9 +890,8 @@ extern lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Exception___hyg_3____clo
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_MonadEnv_0__Lean_mkAuxNameAux(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__1(lean_object*);
-lean_object* l_Std_PersistentArray_forMAux___at_Lean_Elab_Term_Lean_Elab_Term___instance__6___spec__3(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_throwTypeMismatchError___rarg(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_Term_Lean_Elab_Term___instance__6(lean_object*);
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___closed__2;
extern lean_object* l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__4;
lean_object* l___regBuiltin_Lean_Elab_Term_expandArrayLit___closed__1;
@@ -905,18 +901,16 @@ lean_object* l_Lean_Elab_Term_withoutMacroStackAtErr___rarg(lean_object*, lean_o
lean_object* l_Lean_Elab_Term_TermElabM_toIO___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_applyResult_match__1(lean_object*);
extern lean_object* l_Lean_mkHole___closed__2;
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__2(lean_object*);
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__2;
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_decLevelImp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_elabByTactic___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_resolveName___closed__2;
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__5___closed__3;
lean_object* l_Lean_Elab_Term_elabSyntheticHole(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_TermElabM_toIO_match__1___rarg(lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_mkTacticMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_getLevelNames___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Meta_commitWhen___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqEta___spec__4___closed__1;
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux_match__3(lean_object*);
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__4___closed__5;
lean_object* l_Lean_addMessageContextFull___at_Lean_Meta_Lean_Meta_Basic___instance__7___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_elabNumLit_match__2___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_setMessageLog___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -927,9 +921,9 @@ lean_object* l_List_foldlM___main___at___private_Lean_Elab_Term_0__Lean_Elab_Ter
lean_object* l_Lean_Elab_Term_logUnassignedUsingErrorInfos_match__1___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_elabByTactic___closed__1;
lean_object* l_Lean_Elab_Term_registerMVarErrorImplicitArgInfo(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_addMacroStack___at_Lean_Elab_Term_Lean_Elab_Term___instance__6___spec__1___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_Term_0__Lean_Elab_Term_mkConsts(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkAppM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_isMonad_x3f___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__6___rarg___closed__3;
lean_object* l_Lean_Elab_Term_MVarErrorInfo_logError___closed__10;
lean_object* l_Lean_Elab_Term_ppGoal(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_throwTypeMismatchError_match__1(lean_object*);
@@ -942,7 +936,7 @@ lean_object* l_Lean_Elab_Term_throwErrorIfErrors(lean_object*, lean_object*, lea
uint8_t l_Lean_NameSet_contains(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_monadLog___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Array_anyRangeMAux___main___at_Lean_Elab_Term_logUnassignedUsingErrorInfos___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_7252_(lean_object*);
+lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_7236_(lean_object*);
lean_object* l_Lean_Elab_Term_elabByTactic_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_isMonad_x3f_match__2___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_monadQuotation___closed__3;
@@ -958,6 +952,7 @@ lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabUsingElabFnsAux_ma
lean_object* l_Lean_Elab_Term_ensureHasTypeAux_match__1___rarg(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Meta_mkPure___rarg___closed__4;
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_tryLiftAndCoe___closed__1;
+lean_object* l_Array_forMAux___main___at_Lean_Elab_Term_Lean_Elab_Term___instance__9___spec__6(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_useImplicitLambda_x3f_match__2(lean_object*);
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_SMap_find_x3f___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabUsingElabFns___spec__1(lean_object*, lean_object*);
@@ -969,6 +964,7 @@ lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_applyAttributesCore_ma
lean_object* l_Lean_Elab_Term_Context_openDecls___default;
lean_object* l_Lean_Expr_getAppFn(lean_object*);
lean_object* l_Lean_Elab_Term_MVarErrorInfo_logError___closed__9;
+lean_object* l_Std_PersistentArray_forM___at_Lean_Elab_Term_Lean_Elab_Term___instance__9___spec__2(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_getFVarLocalDecl_x21_match__1(lean_object*);
lean_object* l_Lean_Meta_inferType___at_Lean_Elab_Term_throwTypeMismatchError___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Elab_mkMacroAttributeUnsafe___closed__2;
@@ -980,13 +976,13 @@ lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_applyAttributesCore_ma
uint8_t l_Std_PersistentArray_anyM___at_Lean_MessageLog_hasErrors___spec__1(lean_object*);
lean_object* l_Lean_Meta_mkFreshLevelMVar___at_Lean_Elab_Term_ensureType___spec__2___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_HashMapImp_find_x3f___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabUsingElabFns___spec__5___boxed(lean_object*, lean_object*);
-lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_registerCustomErrorIfMVar_match__1(lean_object*);
uint8_t l___private_Lean_Elab_Term_0__Lean_Elab_Term_isExplicitApp(lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__2___closed__3;
lean_object* l_Lean_Meta_setMCtx___at_Lean_Elab_Term_savingMCtx___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_unsafeCast(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_contains___at_Lean_Elab_Term_logUnassignedUsingErrorInfos___spec__2___boxed(lean_object*, lean_object*);
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__8___closed__3;
uint8_t l_List_isEmpty___rarg(lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_mkAppN___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_applyResult(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -995,11 +991,13 @@ lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_tryCoe(lean_object*, l
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_expandCDot_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_PersistentHashMap_find_x3f___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabUsingElabFns___spec__2(lean_object*, lean_object*);
lean_object* lean_usize_to_nat(size_t);
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__7___closed__2;
lean_object* l_Lean_Elab_Term_expandArrayLit___closed__3;
lean_object* l___regBuiltin_Lean_Elab_Term_elabSyntheticHole___closed__2;
lean_object* l_Lean_Elab_Term_setMessageLog(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_tryCoeSort___closed__4;
extern lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_899____closed__1;
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Message_toString(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_mkAuxName___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_mkAppB(lean_object*, lean_object*, lean_object*);
@@ -1017,6 +1015,7 @@ lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_tryCoeSort___closed__2
lean_object* l_Lean_Elab_Term_mkFreshInstanceName___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_MVarErrorInfo_logError___closed__4;
lean_object* l_Lean_Elab_Term_registerMVarErrorCustomInfo___boxed(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_Term_Lean_Elab_Term___instance__8___closed__5;
lean_object* l_Lean_Elab_Term_elabEnsureTypeOf_match__1(lean_object*);
lean_object* l_Lean_Elab_Term_resolveName___boxed(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_Term_throwErrorIfErrors___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -1032,7 +1031,6 @@ lean_object* l_Lean_mkSimpleThunk(lean_object*);
lean_object* l_Lean_Elab_Term_registerSyntheticMVar___boxed(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_Term_0__Lean_Elab_Term_isTypeApp_x3f_match__1(lean_object*);
lean_object* l_Lean_Elab_Term_ensureHasTypeAux(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_Term_SavedState_inhabited;
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabUsingElabFns___boxed(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_Term_tryPostponeIfNoneOrMVar___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Elab_getMacroStackOption(lean_object*);
@@ -1049,7 +1047,6 @@ lean_object* l_Lean_Elab_Term_levelMVarToParam_x27_match__1(lean_object*);
lean_object* l_Lean_Elab_Term_mkFreshInstanceName___closed__2;
lean_object* l_Lean_Elab_Term_elabBadCDot___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_getAttributeImpl(lean_object*, lean_object*);
-extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
lean_object* l_Lean_Meta_mkAppOptM___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_List_foldlM___main___at___private_Lean_Elab_Term_0__Lean_Elab_Term_mkConsts___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* l_Lean_Elab_Term_expandListLit(lean_object*, lean_object*, lean_object*);
@@ -1077,10 +1074,14 @@ lean_object* l_Lean_Elab_Term_liftMetaM___rarg(lean_object*, lean_object*, lean_
lean_object* l_Lean_Elab_Term_tryCoeThunk_x3f_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Init_Util_2__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_getMainModule___rarg___boxed(lean_object*, lean_object*);
+extern lean_object* l_Lean_TraceState_Lean_Util_Trace___instance__2___closed__1;
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_tryLiftAndCoe___closed__7;
lean_object* l_Lean_Elab_throwAbort___at_Lean_Elab_Term_ensureNoUnassignedMVars___spec__2___rarg(lean_object*);
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__7___closed__1;
lean_object* l_Lean_Elab_Term_elabTermWithoutImplicitLambdas___boxed(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_Term_Lean_Elab_Term___instance__5___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_mkFreshInstanceName___closed__1;
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__5___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabUsingElabFns___closed__2;
lean_object* l_Lean_mkApp3(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Elab_Term_elabTypeOf___closed__2;
@@ -1099,10 +1100,8 @@ lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_isMonad_x3f_match__1(l
lean_object* l_Lean_Elab_Term_mkFreshBinderName___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_elabBadCDot___rarg___closed__2;
lean_object* l_Lean_Elab_Term_elabBadCDot(lean_object*, lean_object*);
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__5___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Expr_Lean_Expr___instance__1___closed__1;
lean_object* l_Lean_Elab_getBetterRef(lean_object*, lean_object*);
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t lean_string_dec_eq(lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_mkAuxName___closed__2;
lean_object* l_Lean_Elab_Term_isLocalIdent_x3f_match__2___rarg(lean_object*, lean_object*, lean_object*);
@@ -1116,6 +1115,7 @@ lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___closed__
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___closed__1;
lean_object* l_Lean_Elab_Term_expandArrayLit___closed__5;
uint8_t l_Lean_Syntax_isIdent(lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_isLevelDefEq___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Elab_Term_Context_mayPostpone___default;
lean_object* l___regBuiltin_Lean_Elab_Term_elabTypeOf___closed__1;
@@ -1247,7 +1247,7 @@ x_1 = lean_box(0);
return x_1;
}
}
-static lean_object* _init_l_Lean_Elab_Term_State_inhabited___closed__1() {
+static lean_object* _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__1___closed__1() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
@@ -1261,11 +1261,11 @@ lean_ctor_set(x_3, 3, x_1);
return x_3;
}
}
-static lean_object* _init_l_Lean_Elab_Term_State_inhabited() {
+static lean_object* _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__1() {
_start:
{
lean_object* x_1;
-x_1 = l_Lean_Elab_Term_State_inhabited___closed__1;
+x_1 = l_Lean_Elab_Term_Lean_Elab_Term___instance__1___closed__1;
return x_1;
}
}
@@ -1311,7 +1311,7 @@ lean_dec(x_2);
return x_9;
}
}
-static lean_object* _init_l_Lean_Elab_Term_SavedState_inhabited___closed__1() {
+static lean_object* _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__2___closed__1() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
@@ -1325,13 +1325,13 @@ lean_ctor_set(x_3, 3, x_1);
return x_3;
}
}
-static lean_object* _init_l_Lean_Elab_Term_SavedState_inhabited___closed__2() {
+static lean_object* _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__2___closed__2() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
x_1 = l_Lean_Core_State_inhabited___closed__2;
x_2 = l_Lean_Meta_State_inhabited___closed__1;
-x_3 = l_Lean_Elab_Term_SavedState_inhabited___closed__1;
+x_3 = l_Lean_Elab_Term_Lean_Elab_Term___instance__2___closed__1;
x_4 = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(x_4, 0, x_1);
lean_ctor_set(x_4, 1, x_2);
@@ -1339,11 +1339,11 @@ lean_ctor_set(x_4, 2, x_3);
return x_4;
}
}
-static lean_object* _init_l_Lean_Elab_Term_SavedState_inhabited() {
+static lean_object* _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__2() {
_start:
{
lean_object* x_1;
-x_1 = l_Lean_Elab_Term_SavedState_inhabited___closed__2;
+x_1 = l_Lean_Elab_Term_Lean_Elab_Term___instance__2___closed__2;
return x_1;
}
}
@@ -1546,23 +1546,23 @@ lean_dec(x_2);
return x_9;
}
}
-static lean_object* _init_l_Lean_Elab_Term_TermElabResult_inhabited___closed__1() {
+static lean_object* _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__3___closed__1() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Expr_Lean_Expr___instance__1___closed__1;
-x_2 = l_Lean_Elab_Term_SavedState_inhabited___closed__2;
+x_2 = l_Lean_Elab_Term_Lean_Elab_Term___instance__2___closed__2;
x_3 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_3, 0, x_1);
lean_ctor_set(x_3, 1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Elab_Term_TermElabResult_inhabited() {
+static lean_object* _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__3() {
_start:
{
lean_object* x_1;
-x_1 = l_Lean_Elab_Term_TermElabResult_inhabited___closed__1;
+x_1 = l_Lean_Elab_Term_Lean_Elab_Term___instance__3___closed__1;
return x_1;
}
}
@@ -2197,7 +2197,7 @@ lean_dec(x_2);
return x_9;
}
}
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__1___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) {
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__4___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:
{
lean_object* x_9; lean_object* x_10;
@@ -2270,19 +2270,19 @@ return x_27;
}
}
}
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__1(lean_object* x_1) {
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__4(lean_object* x_1) {
_start:
{
lean_object* x_2;
-x_2 = lean_alloc_closure((void*)(l_Lean_Elab_Term_Lean_Elab_Term___instance__1___rarg___boxed), 8, 0);
+x_2 = lean_alloc_closure((void*)(l_Lean_Elab_Term_Lean_Elab_Term___instance__4___rarg___boxed), 8, 0);
return x_2;
}
}
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__1___rarg___boxed(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* l_Lean_Elab_Term_Lean_Elab_Term___instance__4___rarg___boxed(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:
{
lean_object* x_9;
-x_9 = l_Lean_Elab_Term_Lean_Elab_Term___instance__1___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8);
+x_9 = l_Lean_Elab_Term_Lean_Elab_Term___instance__4___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
@@ -2346,7 +2346,7 @@ lean_dec(x_2);
return x_9;
}
}
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__2___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) {
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__5___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:
{
lean_object* x_9;
@@ -2354,19 +2354,19 @@ x_9 = lean_apply_5(x_1, x_4, x_5, x_6, x_7, x_8);
return x_9;
}
}
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__2(lean_object* x_1) {
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__5(lean_object* x_1) {
_start:
{
lean_object* x_2;
-x_2 = lean_alloc_closure((void*)(l_Lean_Elab_Term_Lean_Elab_Term___instance__2___rarg___boxed), 8, 0);
+x_2 = lean_alloc_closure((void*)(l_Lean_Elab_Term_Lean_Elab_Term___instance__5___rarg___boxed), 8, 0);
return x_2;
}
}
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__2___rarg___boxed(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* l_Lean_Elab_Term_Lean_Elab_Term___instance__5___rarg___boxed(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:
{
lean_object* x_9;
-x_9 = l_Lean_Elab_Term_Lean_Elab_Term___instance__2___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8);
+x_9 = l_Lean_Elab_Term_Lean_Elab_Term___instance__5___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8);
lean_dec(x_3);
lean_dec(x_2);
return x_9;
@@ -2459,7 +2459,7 @@ _start:
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
x_1 = l_Lean_Elab_Term_getFVarLocalDecl_x21___closed__2;
x_2 = l_Lean_Elab_Term_getFVarLocalDecl_x21___closed__3;
-x_3 = lean_unsigned_to_nat(222u);
+x_3 = lean_unsigned_to_nat(224u);
x_4 = lean_unsigned_to_nat(14u);
x_5 = l_Lean_Name_getString_x21___closed__3;
x_6 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
@@ -2511,7 +2511,7 @@ lean_dec(x_1);
return x_9;
}
}
-lean_object* l_Lean_Elab_addMacroStack___at_Lean_Elab_Term_Lean_Elab_Term___instance__3___spec__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* l_Lean_Elab_addMacroStack___at_Lean_Elab_Term_Lean_Elab_Term___instance__6___spec__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) {
_start:
{
lean_object* x_10; uint8_t x_11; uint8_t x_28;
@@ -2587,7 +2587,7 @@ return x_26;
}
}
}
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__3(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* l_Lean_Elab_Term_Lean_Elab_Term___instance__6(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) {
_start:
{
lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16;
@@ -2601,7 +2601,7 @@ lean_inc(x_13);
x_14 = lean_ctor_get(x_12, 1);
lean_inc(x_14);
lean_dec(x_12);
-x_15 = l_Lean_Elab_addMacroStack___at_Lean_Elab_Term_Lean_Elab_Term___instance__3___spec__1(x_13, x_10, x_3, x_4, x_5, x_6, x_7, x_8, x_14);
+x_15 = l_Lean_Elab_addMacroStack___at_Lean_Elab_Term_Lean_Elab_Term___instance__6___spec__1(x_13, x_10, x_3, x_4, x_5, x_6, x_7, x_8, x_14);
lean_dec(x_3);
lean_dec(x_10);
x_16 = !lean_is_exclusive(x_15);
@@ -2633,11 +2633,11 @@ return x_22;
}
}
}
-lean_object* l_Lean_Elab_addMacroStack___at_Lean_Elab_Term_Lean_Elab_Term___instance__3___spec__1___boxed(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* l_Lean_Elab_addMacroStack___at_Lean_Elab_Term_Lean_Elab_Term___instance__6___spec__1___boxed(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) {
_start:
{
lean_object* x_10;
-x_10 = l_Lean_Elab_addMacroStack___at_Lean_Elab_Term_Lean_Elab_Term___instance__3___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
+x_10 = l_Lean_Elab_addMacroStack___at_Lean_Elab_Term_Lean_Elab_Term___instance__6___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
@@ -2648,11 +2648,11 @@ lean_dec(x_2);
return x_10;
}
}
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__3___boxed(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* l_Lean_Elab_Term_Lean_Elab_Term___instance__6___boxed(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) {
_start:
{
lean_object* x_10;
-x_10 = l_Lean_Elab_Term_Lean_Elab_Term___instance__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
+x_10 = l_Lean_Elab_Term_Lean_Elab_Term___instance__6(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
@@ -3656,7 +3656,7 @@ lean_ctor_set(x_3, 1, x_1);
return x_3;
}
}
-lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_829_(lean_object* x_1) {
+lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_817_(lean_object* x_1) {
_start:
{
lean_object* x_2;
@@ -3755,7 +3755,7 @@ return x_15;
}
}
}
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__4___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* l_Lean_Elab_Term_Lean_Elab_Term___instance__7___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) {
_start:
{
lean_object* x_9; lean_object* x_10;
@@ -3767,7 +3767,7 @@ lean_ctor_set(x_10, 1, x_8);
return x_10;
}
}
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__4___lambda__2(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* l_Lean_Elab_Term_Lean_Elab_Term___instance__7___lambda__2(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:
{
lean_object* x_9; lean_object* x_10;
@@ -3779,71 +3779,71 @@ lean_ctor_set(x_10, 1, x_8);
return x_10;
}
}
-static lean_object* _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__4___closed__1() {
+static lean_object* _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__7___closed__1() {
_start:
{
lean_object* x_1;
-x_1 = lean_alloc_closure((void*)(l_Lean_Elab_Term_Lean_Elab_Term___instance__4___lambda__1___boxed), 8, 0);
+x_1 = lean_alloc_closure((void*)(l_Lean_Elab_Term_Lean_Elab_Term___instance__7___lambda__1___boxed), 8, 0);
return x_1;
}
}
-static lean_object* _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__4___closed__2() {
+static lean_object* _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__7___closed__2() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Elab_Term_monadLog___closed__3;
-x_2 = l_Lean_Elab_Term_Lean_Elab_Term___instance__4___closed__1;
+x_2 = l_Lean_Elab_Term_Lean_Elab_Term___instance__7___closed__1;
x_3 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Elab_Term_monadLog___spec__2___rarg), 9, 2);
lean_closure_set(x_3, 0, x_1);
lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__4___closed__3() {
+static lean_object* _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__7___closed__3() {
_start:
{
lean_object* x_1;
-x_1 = lean_alloc_closure((void*)(l_Lean_Elab_Term_Lean_Elab_Term___instance__4___lambda__2___boxed), 8, 0);
+x_1 = lean_alloc_closure((void*)(l_Lean_Elab_Term_Lean_Elab_Term___instance__7___lambda__2___boxed), 8, 0);
return x_1;
}
}
-static lean_object* _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__4___closed__4() {
+static lean_object* _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__7___closed__4() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Elab_Term_monadLog___closed__3;
-x_2 = l_Lean_Elab_Term_Lean_Elab_Term___instance__4___closed__3;
+x_2 = l_Lean_Elab_Term_Lean_Elab_Term___instance__7___closed__3;
x_3 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Elab_Term_monadLog___spec__2___rarg), 9, 2);
lean_closure_set(x_3, 0, x_1);
lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__4___closed__5() {
+static lean_object* _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__7___closed__5() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Elab_Term_Lean_Elab_Term___instance__4___closed__2;
-x_2 = l_Lean_Elab_Term_Lean_Elab_Term___instance__4___closed__4;
+x_1 = l_Lean_Elab_Term_Lean_Elab_Term___instance__7___closed__2;
+x_2 = l_Lean_Elab_Term_Lean_Elab_Term___instance__7___closed__4;
x_3 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_3, 0, x_1);
lean_ctor_set(x_3, 1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__4() {
+static lean_object* _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__7() {
_start:
{
lean_object* x_1;
-x_1 = l_Lean_Elab_Term_Lean_Elab_Term___instance__4___closed__5;
+x_1 = l_Lean_Elab_Term_Lean_Elab_Term___instance__7___closed__5;
return x_1;
}
}
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__4___lambda__1___boxed(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* l_Lean_Elab_Term_Lean_Elab_Term___instance__7___lambda__1___boxed(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:
{
lean_object* x_9;
-x_9 = l_Lean_Elab_Term_Lean_Elab_Term___instance__4___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8);
+x_9 = l_Lean_Elab_Term_Lean_Elab_Term___instance__7___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
@@ -3854,11 +3854,11 @@ lean_dec(x_1);
return x_9;
}
}
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__4___lambda__2___boxed(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* l_Lean_Elab_Term_Lean_Elab_Term___instance__7___lambda__2___boxed(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:
{
lean_object* x_9;
-x_9 = l_Lean_Elab_Term_Lean_Elab_Term___instance__4___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8);
+x_9 = l_Lean_Elab_Term_Lean_Elab_Term___instance__7___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
@@ -4349,7 +4349,7 @@ lean_inc(x_13);
x_14 = lean_ctor_get(x_12, 1);
lean_inc(x_14);
lean_dec(x_12);
-x_15 = l_Lean_Elab_addMacroStack___at_Lean_Elab_Term_Lean_Elab_Term___instance__3___spec__1(x_13, x_10, x_2, x_3, x_4, x_5, x_6, x_7, x_14);
+x_15 = l_Lean_Elab_addMacroStack___at_Lean_Elab_Term_Lean_Elab_Term___instance__6___spec__1(x_13, x_10, x_2, x_3, x_4, x_5, x_6, x_7, x_14);
lean_dec(x_2);
lean_dec(x_10);
x_16 = !lean_is_exclusive(x_15);
@@ -9259,12 +9259,12 @@ x_15 = l_Lean_nullKind___closed__2;
x_16 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_16, 0, x_15);
lean_ctor_set(x_16, 1, x_14);
-x_17 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_17 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_18 = lean_array_push(x_17, x_16);
-x_19 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_19 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_20 = lean_array_push(x_18, x_19);
x_21 = lean_array_push(x_20, x_11);
-x_22 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_22 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_23 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_23, 0, x_22);
lean_ctor_set(x_23, 1, x_21);
@@ -9293,12 +9293,12 @@ x_31 = l_Lean_nullKind___closed__2;
x_32 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_32, 0, x_31);
lean_ctor_set(x_32, 1, x_30);
-x_33 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9;
+x_33 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9;
x_34 = lean_array_push(x_33, x_32);
-x_35 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17;
+x_35 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17;
x_36 = lean_array_push(x_34, x_35);
x_37 = lean_array_push(x_36, x_27);
-x_38 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_38 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_39 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_39, 0, x_38);
lean_ctor_set(x_39, 1, x_37);
@@ -9532,7 +9532,7 @@ lean_inc(x_13);
x_14 = lean_ctor_get(x_12, 1);
lean_inc(x_14);
lean_dec(x_12);
-x_15 = l_Lean_Elab_addMacroStack___at_Lean_Elab_Term_Lean_Elab_Term___instance__3___spec__1(x_13, x_10, x_2, x_3, x_4, x_5, x_6, x_7, x_14);
+x_15 = l_Lean_Elab_addMacroStack___at_Lean_Elab_Term_Lean_Elab_Term___instance__6___spec__1(x_13, x_10, x_2, x_3, x_4, x_5, x_6, x_7, x_14);
lean_dec(x_2);
lean_dec(x_10);
x_16 = !lean_is_exclusive(x_15);
@@ -10090,51 +10090,53 @@ return x_32;
lean_object* l_Lean_Meta_isExprDefEq___at_Lean_Elab_Term_synthesizeInstMVarCore___spec__3(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) {
_start:
{
-lean_object* x_10; lean_object* x_19; uint8_t x_20; lean_object* x_21; lean_object* x_421; lean_object* x_422; lean_object* x_423; uint8_t x_424;
+lean_object* x_10; lean_object* x_23; uint8_t x_24; lean_object* x_25; lean_object* x_441; lean_object* x_442; lean_object* x_443; uint8_t x_444;
lean_inc(x_2);
lean_inc(x_1);
-x_19 = lean_alloc_closure((void*)(l_Lean_Meta_isExprDefEqAux), 8, 2);
-lean_closure_set(x_19, 0, x_1);
-lean_closure_set(x_19, 1, x_2);
-x_421 = lean_st_ref_get(x_8, x_9);
-x_422 = lean_ctor_get(x_421, 0);
-lean_inc(x_422);
-x_423 = lean_ctor_get(x_422, 3);
-lean_inc(x_423);
-lean_dec(x_422);
-x_424 = lean_ctor_get_uint8(x_423, sizeof(void*)*1);
-lean_dec(x_423);
-if (x_424 == 0)
+x_23 = lean_alloc_closure((void*)(l_Lean_Meta_isExprDefEqAux), 8, 2);
+lean_closure_set(x_23, 0, x_1);
+lean_closure_set(x_23, 1, x_2);
+x_441 = lean_st_ref_get(x_8, x_9);
+x_442 = lean_ctor_get(x_441, 0);
+lean_inc(x_442);
+x_443 = lean_ctor_get(x_442, 3);
+lean_inc(x_443);
+lean_dec(x_442);
+x_444 = lean_ctor_get_uint8(x_443, sizeof(void*)*1);
+lean_dec(x_443);
+if (x_444 == 0)
{
-lean_object* x_425; uint8_t x_426;
-x_425 = lean_ctor_get(x_421, 1);
-lean_inc(x_425);
-lean_dec(x_421);
-x_426 = 0;
-x_20 = x_426;
-x_21 = x_425;
-goto block_420;
+lean_object* x_445; uint8_t x_446;
+x_445 = lean_ctor_get(x_441, 1);
+lean_inc(x_445);
+lean_dec(x_441);
+x_446 = 0;
+x_24 = x_446;
+x_25 = x_445;
+goto block_440;
}
else
{
-lean_object* x_427; lean_object* x_428; lean_object* x_429; lean_object* x_430; lean_object* x_431; uint8_t x_432;
-x_427 = lean_ctor_get(x_421, 1);
-lean_inc(x_427);
-lean_dec(x_421);
-x_428 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_429 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_428, x_5, x_6, x_7, x_8, x_427);
-x_430 = lean_ctor_get(x_429, 0);
-lean_inc(x_430);
-x_431 = lean_ctor_get(x_429, 1);
-lean_inc(x_431);
-lean_dec(x_429);
-x_432 = lean_unbox(x_430);
-lean_dec(x_430);
-x_20 = x_432;
-x_21 = x_431;
-goto block_420;
+lean_object* x_447; lean_object* x_448; lean_object* x_449; lean_object* x_450; lean_object* x_451; uint8_t x_452;
+x_447 = lean_ctor_get(x_441, 1);
+lean_inc(x_447);
+lean_dec(x_441);
+x_448 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_449 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_448, x_5, x_6, x_7, x_8, x_447);
+x_450 = lean_ctor_get(x_449, 0);
+lean_inc(x_450);
+x_451 = lean_ctor_get(x_449, 1);
+lean_inc(x_451);
+lean_dec(x_449);
+x_452 = lean_unbox(x_450);
+lean_dec(x_450);
+x_24 = x_452;
+x_25 = x_451;
+goto block_440;
}
-block_18:
+block_22:
+{
+if (lean_obj_tag(x_10) == 0)
{
uint8_t x_11;
x_11 = !lean_is_exclusive(x_10);
@@ -10165,1401 +10167,1476 @@ lean_ctor_set(x_17, 1, x_15);
return x_17;
}
}
-block_420:
+else
{
-if (x_20 == 0)
+uint8_t x_18;
+x_18 = !lean_is_exclusive(x_10);
+if (x_18 == 0)
{
-lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31;
-x_22 = lean_st_ref_get(x_8, x_21);
-x_23 = lean_ctor_get(x_22, 0);
-lean_inc(x_23);
-x_24 = lean_ctor_get(x_23, 3);
-lean_inc(x_24);
-lean_dec(x_23);
-x_25 = lean_ctor_get(x_22, 1);
-lean_inc(x_25);
-lean_dec(x_22);
-x_26 = lean_ctor_get_uint8(x_24, sizeof(void*)*1);
-lean_dec(x_24);
-x_27 = lean_st_ref_take(x_8, x_25);
-x_28 = lean_ctor_get(x_27, 0);
-lean_inc(x_28);
-x_29 = lean_ctor_get(x_28, 3);
+return x_10;
+}
+else
+{
+lean_object* x_19; lean_object* x_20; lean_object* x_21;
+x_19 = lean_ctor_get(x_10, 0);
+x_20 = lean_ctor_get(x_10, 1);
+lean_inc(x_20);
+lean_inc(x_19);
+lean_dec(x_10);
+x_21 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_21, 0, x_19);
+lean_ctor_set(x_21, 1, x_20);
+return x_21;
+}
+}
+}
+block_440:
+{
+uint8_t x_26;
+if (x_24 == 0)
+{
+uint8_t x_438;
+x_438 = 1;
+x_26 = x_438;
+goto block_437;
+}
+else
+{
+uint8_t x_439;
+x_439 = 0;
+x_26 = x_439;
+goto block_437;
+}
+block_437:
+{
+if (x_26 == 0)
+{
+lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31; lean_object* x_32; lean_object* x_42; lean_object* x_43; lean_object* x_51;
+x_27 = lean_ctor_get(x_7, 3);
+lean_inc(x_27);
+x_28 = l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_isLevelDefEq___spec__2___rarg(x_8, x_25);
+x_29 = lean_ctor_get(x_28, 0);
lean_inc(x_29);
-x_30 = lean_ctor_get(x_27, 1);
+x_30 = lean_ctor_get(x_28, 1);
lean_inc(x_30);
-lean_dec(x_27);
-x_31 = !lean_is_exclusive(x_28);
-if (x_31 == 0)
-{
-lean_object* x_32; uint8_t x_33;
-x_32 = lean_ctor_get(x_28, 3);
-lean_dec(x_32);
-x_33 = !lean_is_exclusive(x_29);
-if (x_33 == 0)
-{
-uint8_t x_34; lean_object* x_35; lean_object* x_36; uint8_t x_37; lean_object* x_38; lean_object* x_86;
-x_34 = 0;
-lean_ctor_set_uint8(x_29, sizeof(void*)*1, x_34);
-x_35 = lean_st_ref_set(x_8, x_28, x_30);
-x_36 = lean_ctor_get(x_35, 1);
-lean_inc(x_36);
-lean_dec(x_35);
+lean_dec(x_28);
lean_inc(x_8);
lean_inc(x_7);
lean_inc(x_6);
lean_inc(x_5);
-x_86 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_19, x_5, x_6, x_7, x_8, x_36);
-if (lean_obj_tag(x_86) == 0)
+x_51 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_23, x_5, x_6, x_7, x_8, x_30);
+if (lean_obj_tag(x_51) == 0)
{
-lean_object* x_87; lean_object* x_88; uint8_t x_89; lean_object* x_90; lean_object* x_117; lean_object* x_118; lean_object* x_119; uint8_t x_120;
-x_87 = lean_ctor_get(x_86, 0);
-lean_inc(x_87);
-x_88 = lean_ctor_get(x_86, 1);
-lean_inc(x_88);
-lean_dec(x_86);
-x_117 = lean_st_ref_get(x_8, x_88);
-x_118 = lean_ctor_get(x_117, 0);
-lean_inc(x_118);
-x_119 = lean_ctor_get(x_118, 3);
-lean_inc(x_119);
-lean_dec(x_118);
-x_120 = lean_ctor_get_uint8(x_119, sizeof(void*)*1);
-lean_dec(x_119);
-if (x_120 == 0)
-{
-lean_object* x_121;
-x_121 = lean_ctor_get(x_117, 1);
-lean_inc(x_121);
-lean_dec(x_117);
-x_89 = x_34;
-x_90 = x_121;
-goto block_116;
-}
-else
-{
-lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; uint8_t x_127;
-x_122 = lean_ctor_get(x_117, 1);
-lean_inc(x_122);
-lean_dec(x_117);
-x_123 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_124 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_123, x_5, x_6, x_7, x_8, x_122);
-x_125 = lean_ctor_get(x_124, 0);
-lean_inc(x_125);
-x_126 = lean_ctor_get(x_124, 1);
-lean_inc(x_126);
-lean_dec(x_124);
-x_127 = lean_unbox(x_125);
-lean_dec(x_125);
-x_89 = x_127;
-x_90 = x_126;
-goto block_116;
-}
-block_116:
-{
-if (x_89 == 0)
-{
-uint8_t x_91;
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_2);
-lean_dec(x_1);
-x_91 = lean_unbox(x_87);
-lean_dec(x_87);
-x_37 = x_91;
-x_38 = x_90;
-goto block_85;
-}
-else
-{
-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; uint8_t x_101;
-x_92 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_92, 0, x_1);
-x_93 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_94 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_94, 0, x_93);
-lean_ctor_set(x_94, 1, x_92);
-x_95 = l_Lean_Meta_isLevelDefEqAux___closed__6;
-x_96 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_96, 0, x_94);
-lean_ctor_set(x_96, 1, x_95);
-x_97 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_97, 0, x_2);
-x_98 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_98, 0, x_96);
-lean_ctor_set(x_98, 1, x_97);
-x_99 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
-x_100 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_100, 0, x_98);
-lean_ctor_set(x_100, 1, x_99);
-x_101 = lean_unbox(x_87);
-if (x_101 == 0)
-{
-lean_object* x_102; 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_102 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
-x_103 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_103, 0, x_100);
-lean_ctor_set(x_103, 1, x_102);
-x_104 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_104, 0, x_103);
-lean_ctor_set(x_104, 1, x_93);
-x_105 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_106 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_105, x_104, x_5, x_6, x_7, x_8, x_90);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-x_107 = lean_ctor_get(x_106, 1);
-lean_inc(x_107);
-lean_dec(x_106);
-x_108 = lean_unbox(x_87);
-lean_dec(x_87);
-x_37 = x_108;
-x_38 = x_107;
-goto block_85;
-}
-else
-{
-lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; uint8_t x_115;
-x_109 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
-x_110 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_110, 0, x_100);
-lean_ctor_set(x_110, 1, x_109);
-x_111 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_111, 0, x_110);
-lean_ctor_set(x_111, 1, x_93);
-x_112 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_113 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_112, x_111, x_5, x_6, x_7, x_8, x_90);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-x_114 = lean_ctor_get(x_113, 1);
-lean_inc(x_114);
-lean_dec(x_113);
-x_115 = lean_unbox(x_87);
-lean_dec(x_87);
-x_37 = x_115;
-x_38 = x_114;
-goto block_85;
-}
-}
-}
-}
-else
-{
-lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; uint8_t x_136;
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_2);
-lean_dec(x_1);
-x_128 = lean_ctor_get(x_86, 0);
-lean_inc(x_128);
-x_129 = lean_ctor_get(x_86, 1);
-lean_inc(x_129);
-lean_dec(x_86);
-x_130 = lean_st_ref_get(x_8, x_129);
-x_131 = lean_ctor_get(x_130, 1);
-lean_inc(x_131);
-lean_dec(x_130);
-x_132 = lean_st_ref_take(x_8, x_131);
-x_133 = lean_ctor_get(x_132, 0);
-lean_inc(x_133);
-x_134 = lean_ctor_get(x_133, 3);
-lean_inc(x_134);
-x_135 = lean_ctor_get(x_132, 1);
-lean_inc(x_135);
-lean_dec(x_132);
-x_136 = !lean_is_exclusive(x_133);
-if (x_136 == 0)
-{
-lean_object* x_137; uint8_t x_138;
-x_137 = lean_ctor_get(x_133, 3);
-lean_dec(x_137);
-x_138 = !lean_is_exclusive(x_134);
-if (x_138 == 0)
-{
-lean_object* x_139; uint8_t x_140;
-lean_ctor_set_uint8(x_134, sizeof(void*)*1, x_26);
-x_139 = lean_st_ref_set(x_8, x_133, x_135);
-lean_dec(x_8);
-x_140 = !lean_is_exclusive(x_139);
-if (x_140 == 0)
-{
-lean_object* x_141;
-x_141 = lean_ctor_get(x_139, 0);
-lean_dec(x_141);
-lean_ctor_set_tag(x_139, 1);
-lean_ctor_set(x_139, 0, x_128);
-return x_139;
-}
-else
-{
-lean_object* x_142; lean_object* x_143;
-x_142 = lean_ctor_get(x_139, 1);
-lean_inc(x_142);
-lean_dec(x_139);
-x_143 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_143, 0, x_128);
-lean_ctor_set(x_143, 1, x_142);
-return x_143;
-}
-}
-else
-{
-lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149;
-x_144 = lean_ctor_get(x_134, 0);
-lean_inc(x_144);
-lean_dec(x_134);
-x_145 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_145, 0, x_144);
-lean_ctor_set_uint8(x_145, sizeof(void*)*1, x_26);
-lean_ctor_set(x_133, 3, x_145);
-x_146 = lean_st_ref_set(x_8, x_133, x_135);
-lean_dec(x_8);
-x_147 = lean_ctor_get(x_146, 1);
-lean_inc(x_147);
-if (lean_is_exclusive(x_146)) {
- lean_ctor_release(x_146, 0);
- lean_ctor_release(x_146, 1);
- x_148 = x_146;
-} else {
- lean_dec_ref(x_146);
- x_148 = lean_box(0);
-}
-if (lean_is_scalar(x_148)) {
- x_149 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_149 = x_148;
- lean_ctor_set_tag(x_149, 1);
-}
-lean_ctor_set(x_149, 0, x_128);
-lean_ctor_set(x_149, 1, x_147);
-return x_149;
-}
-}
-else
-{
-lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160;
-x_150 = lean_ctor_get(x_133, 0);
-x_151 = lean_ctor_get(x_133, 1);
-x_152 = lean_ctor_get(x_133, 2);
-lean_inc(x_152);
-lean_inc(x_151);
-lean_inc(x_150);
-lean_dec(x_133);
-x_153 = lean_ctor_get(x_134, 0);
-lean_inc(x_153);
-if (lean_is_exclusive(x_134)) {
- lean_ctor_release(x_134, 0);
- x_154 = x_134;
-} else {
- lean_dec_ref(x_134);
- x_154 = lean_box(0);
-}
-if (lean_is_scalar(x_154)) {
- x_155 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_155 = x_154;
-}
-lean_ctor_set(x_155, 0, x_153);
-lean_ctor_set_uint8(x_155, sizeof(void*)*1, x_26);
-x_156 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_156, 0, x_150);
-lean_ctor_set(x_156, 1, x_151);
-lean_ctor_set(x_156, 2, x_152);
-lean_ctor_set(x_156, 3, x_155);
-x_157 = lean_st_ref_set(x_8, x_156, x_135);
-lean_dec(x_8);
-x_158 = lean_ctor_get(x_157, 1);
-lean_inc(x_158);
-if (lean_is_exclusive(x_157)) {
- lean_ctor_release(x_157, 0);
- lean_ctor_release(x_157, 1);
- x_159 = x_157;
-} else {
- lean_dec_ref(x_157);
- x_159 = lean_box(0);
-}
-if (lean_is_scalar(x_159)) {
- x_160 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_160 = x_159;
- lean_ctor_set_tag(x_160, 1);
-}
-lean_ctor_set(x_160, 0, x_128);
-lean_ctor_set(x_160, 1, x_158);
-return x_160;
-}
-}
-block_85:
-{
-lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; uint8_t x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; uint8_t x_48;
-x_39 = lean_st_ref_get(x_8, x_38);
-x_40 = lean_ctor_get(x_39, 0);
-lean_inc(x_40);
-x_41 = lean_ctor_get(x_39, 1);
-lean_inc(x_41);
-lean_dec(x_39);
-x_42 = lean_ctor_get(x_40, 3);
-lean_inc(x_42);
-lean_dec(x_40);
-x_43 = lean_ctor_get_uint8(x_42, sizeof(void*)*1);
-lean_dec(x_42);
-x_44 = lean_st_ref_take(x_8, x_41);
-x_45 = lean_ctor_get(x_44, 0);
-lean_inc(x_45);
-x_46 = lean_ctor_get(x_45, 3);
-lean_inc(x_46);
-x_47 = lean_ctor_get(x_44, 1);
-lean_inc(x_47);
-lean_dec(x_44);
-x_48 = !lean_is_exclusive(x_45);
-if (x_48 == 0)
-{
-lean_object* x_49; uint8_t x_50;
-x_49 = lean_ctor_get(x_45, 3);
-lean_dec(x_49);
-x_50 = !lean_is_exclusive(x_46);
-if (x_50 == 0)
-{
-lean_object* x_51; uint8_t x_52;
-lean_ctor_set_uint8(x_46, sizeof(void*)*1, x_26);
-x_51 = lean_st_ref_set(x_8, x_45, x_47);
-lean_dec(x_8);
-x_52 = !lean_is_exclusive(x_51);
-if (x_52 == 0)
-{
-lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56;
-x_53 = lean_ctor_get(x_51, 0);
-lean_dec(x_53);
-x_54 = lean_box(x_37);
-x_55 = lean_box(x_43);
-x_56 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_56, 0, x_54);
-lean_ctor_set(x_56, 1, x_55);
-lean_ctor_set(x_51, 0, x_56);
-x_10 = x_51;
-goto block_18;
-}
-else
-{
-lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61;
-x_57 = lean_ctor_get(x_51, 1);
-lean_inc(x_57);
+lean_object* x_52; lean_object* x_53; uint8_t x_54; lean_object* x_55; lean_object* x_82; lean_object* x_83; lean_object* x_84; uint8_t x_85;
+x_52 = lean_ctor_get(x_51, 0);
+lean_inc(x_52);
+x_53 = lean_ctor_get(x_51, 1);
+lean_inc(x_53);
lean_dec(x_51);
-x_58 = lean_box(x_37);
-x_59 = lean_box(x_43);
-x_60 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_60, 0, x_58);
-lean_ctor_set(x_60, 1, x_59);
-x_61 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_61, 0, x_60);
-lean_ctor_set(x_61, 1, x_57);
-x_10 = x_61;
-goto block_18;
-}
+x_82 = lean_st_ref_get(x_8, x_53);
+x_83 = lean_ctor_get(x_82, 0);
+lean_inc(x_83);
+x_84 = lean_ctor_get(x_83, 3);
+lean_inc(x_84);
+lean_dec(x_83);
+x_85 = lean_ctor_get_uint8(x_84, sizeof(void*)*1);
+lean_dec(x_84);
+if (x_85 == 0)
+{
+lean_object* x_86; uint8_t x_87;
+x_86 = lean_ctor_get(x_82, 1);
+lean_inc(x_86);
+lean_dec(x_82);
+x_87 = 0;
+x_54 = x_87;
+x_55 = x_86;
+goto block_81;
}
else
{
-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;
-x_62 = lean_ctor_get(x_46, 0);
-lean_inc(x_62);
-lean_dec(x_46);
-x_63 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_63, 0, x_62);
-lean_ctor_set_uint8(x_63, sizeof(void*)*1, x_26);
-lean_ctor_set(x_45, 3, x_63);
-x_64 = lean_st_ref_set(x_8, x_45, x_47);
-lean_dec(x_8);
-x_65 = lean_ctor_get(x_64, 1);
-lean_inc(x_65);
-if (lean_is_exclusive(x_64)) {
- lean_ctor_release(x_64, 0);
- lean_ctor_release(x_64, 1);
- x_66 = x_64;
-} else {
- lean_dec_ref(x_64);
- x_66 = lean_box(0);
-}
-x_67 = lean_box(x_37);
-x_68 = lean_box(x_43);
-x_69 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_69, 0, x_67);
-lean_ctor_set(x_69, 1, x_68);
-if (lean_is_scalar(x_66)) {
- x_70 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_70 = x_66;
-}
-lean_ctor_set(x_70, 0, x_69);
-lean_ctor_set(x_70, 1, x_65);
-x_10 = x_70;
-goto block_18;
+lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; uint8_t x_93;
+x_88 = lean_ctor_get(x_82, 1);
+lean_inc(x_88);
+lean_dec(x_82);
+x_89 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_90 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_89, x_5, x_6, x_7, x_8, x_88);
+x_91 = lean_ctor_get(x_90, 0);
+lean_inc(x_91);
+x_92 = lean_ctor_get(x_90, 1);
+lean_inc(x_92);
+lean_dec(x_90);
+x_93 = lean_unbox(x_91);
+lean_dec(x_91);
+x_54 = x_93;
+x_55 = x_92;
+goto block_81;
}
+block_81:
+{
+if (x_54 == 0)
+{
+uint8_t x_56;
+lean_dec(x_2);
+lean_dec(x_1);
+x_56 = lean_unbox(x_52);
+lean_dec(x_52);
+x_31 = x_56;
+x_32 = x_55;
+goto block_41;
}
else
{
-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; 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;
-x_71 = lean_ctor_get(x_45, 0);
-x_72 = lean_ctor_get(x_45, 1);
-x_73 = lean_ctor_get(x_45, 2);
-lean_inc(x_73);
+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; uint8_t x_66;
+x_57 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_57, 0, x_1);
+x_58 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_59 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_59, 0, x_58);
+lean_ctor_set(x_59, 1, x_57);
+x_60 = l_Lean_Meta_isLevelDefEqAux___closed__6;
+x_61 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_61, 0, x_59);
+lean_ctor_set(x_61, 1, x_60);
+x_62 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_62, 0, x_2);
+x_63 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_63, 0, x_61);
+lean_ctor_set(x_63, 1, x_62);
+x_64 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
+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 = lean_unbox(x_52);
+if (x_66 == 0)
+{
+lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; uint8_t x_73;
+x_67 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
+x_68 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_68, 0, x_65);
+lean_ctor_set(x_68, 1, x_67);
+x_69 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_69, 0, x_68);
+lean_ctor_set(x_69, 1, x_58);
+x_70 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_71 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_70, x_69, x_5, x_6, x_7, x_8, x_55);
+x_72 = lean_ctor_get(x_71, 1);
lean_inc(x_72);
-lean_inc(x_71);
-lean_dec(x_45);
-x_74 = lean_ctor_get(x_46, 0);
-lean_inc(x_74);
-if (lean_is_exclusive(x_46)) {
- lean_ctor_release(x_46, 0);
- x_75 = x_46;
-} else {
- lean_dec_ref(x_46);
- x_75 = lean_box(0);
+lean_dec(x_71);
+x_73 = lean_unbox(x_52);
+lean_dec(x_52);
+x_31 = x_73;
+x_32 = x_72;
+goto block_41;
}
-if (lean_is_scalar(x_75)) {
- x_76 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_76 = x_75;
-}
-lean_ctor_set(x_76, 0, x_74);
-lean_ctor_set_uint8(x_76, sizeof(void*)*1, x_26);
-x_77 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_77, 0, x_71);
-lean_ctor_set(x_77, 1, x_72);
-lean_ctor_set(x_77, 2, x_73);
-lean_ctor_set(x_77, 3, x_76);
-x_78 = lean_st_ref_set(x_8, x_77, x_47);
-lean_dec(x_8);
+else
+{
+lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; uint8_t x_80;
+x_74 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
+x_75 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_75, 0, x_65);
+lean_ctor_set(x_75, 1, x_74);
+x_76 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_76, 0, x_75);
+lean_ctor_set(x_76, 1, x_58);
+x_77 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_78 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_77, x_76, x_5, x_6, x_7, x_8, x_55);
x_79 = lean_ctor_get(x_78, 1);
lean_inc(x_79);
-if (lean_is_exclusive(x_78)) {
- lean_ctor_release(x_78, 0);
- lean_ctor_release(x_78, 1);
- x_80 = x_78;
-} else {
- lean_dec_ref(x_78);
- x_80 = lean_box(0);
+lean_dec(x_78);
+x_80 = lean_unbox(x_52);
+lean_dec(x_52);
+x_31 = x_80;
+x_32 = x_79;
+goto block_41;
}
-x_81 = lean_box(x_37);
-x_82 = lean_box(x_43);
-x_83 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_83, 0, x_81);
-lean_ctor_set(x_83, 1, x_82);
-if (lean_is_scalar(x_80)) {
- x_84 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_84 = x_80;
-}
-lean_ctor_set(x_84, 0, x_83);
-lean_ctor_set(x_84, 1, x_79);
-x_10 = x_84;
-goto block_18;
}
}
}
else
{
-lean_object* x_161; uint8_t x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; uint8_t x_166; lean_object* x_167; lean_object* x_193;
-x_161 = lean_ctor_get(x_29, 0);
-lean_inc(x_161);
-lean_dec(x_29);
-x_162 = 0;
-x_163 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_163, 0, x_161);
-lean_ctor_set_uint8(x_163, sizeof(void*)*1, x_162);
-lean_ctor_set(x_28, 3, x_163);
-x_164 = lean_st_ref_set(x_8, x_28, x_30);
-x_165 = lean_ctor_get(x_164, 1);
-lean_inc(x_165);
-lean_dec(x_164);
+lean_object* x_94; lean_object* x_95;
+lean_dec(x_2);
+lean_dec(x_1);
+x_94 = lean_ctor_get(x_51, 0);
+lean_inc(x_94);
+x_95 = lean_ctor_get(x_51, 1);
+lean_inc(x_95);
+lean_dec(x_51);
+x_42 = x_94;
+x_43 = x_95;
+goto block_50;
+}
+block_41:
+{
+lean_object* x_33; lean_object* x_34; uint8_t x_35;
+x_33 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_34 = l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_isLevelDefEq___spec__3(x_29, x_33, x_27, x_5, x_6, x_7, x_8, x_32);
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+x_35 = !lean_is_exclusive(x_34);
+if (x_35 == 0)
+{
+lean_object* x_36; lean_object* x_37;
+x_36 = lean_ctor_get(x_34, 0);
+lean_dec(x_36);
+x_37 = lean_box(x_31);
+lean_ctor_set(x_34, 0, x_37);
+return x_34;
+}
+else
+{
+lean_object* x_38; lean_object* x_39; lean_object* x_40;
+x_38 = lean_ctor_get(x_34, 1);
+lean_inc(x_38);
+lean_dec(x_34);
+x_39 = lean_box(x_31);
+x_40 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_40, 0, x_39);
+lean_ctor_set(x_40, 1, x_38);
+return x_40;
+}
+}
+block_50:
+{
+lean_object* x_44; lean_object* x_45; uint8_t x_46;
+x_44 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_45 = l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_isLevelDefEq___spec__3(x_29, x_44, x_27, x_5, x_6, x_7, x_8, x_43);
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+x_46 = !lean_is_exclusive(x_45);
+if (x_46 == 0)
+{
+lean_object* x_47;
+x_47 = lean_ctor_get(x_45, 0);
+lean_dec(x_47);
+lean_ctor_set_tag(x_45, 1);
+lean_ctor_set(x_45, 0, x_42);
+return x_45;
+}
+else
+{
+lean_object* x_48; lean_object* x_49;
+x_48 = lean_ctor_get(x_45, 1);
+lean_inc(x_48);
+lean_dec(x_45);
+x_49 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_49, 0, x_42);
+lean_ctor_set(x_49, 1, x_48);
+return x_49;
+}
+}
+}
+else
+{
+lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; uint8_t x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; uint8_t x_105;
+x_96 = lean_st_ref_get(x_8, x_25);
+x_97 = lean_ctor_get(x_96, 0);
+lean_inc(x_97);
+x_98 = lean_ctor_get(x_97, 3);
+lean_inc(x_98);
+lean_dec(x_97);
+x_99 = lean_ctor_get(x_96, 1);
+lean_inc(x_99);
+lean_dec(x_96);
+x_100 = lean_ctor_get_uint8(x_98, sizeof(void*)*1);
+lean_dec(x_98);
+x_101 = lean_st_ref_take(x_8, x_99);
+x_102 = lean_ctor_get(x_101, 0);
+lean_inc(x_102);
+x_103 = lean_ctor_get(x_102, 3);
+lean_inc(x_103);
+x_104 = lean_ctor_get(x_101, 1);
+lean_inc(x_104);
+lean_dec(x_101);
+x_105 = !lean_is_exclusive(x_102);
+if (x_105 == 0)
+{
+lean_object* x_106; uint8_t x_107;
+x_106 = lean_ctor_get(x_102, 3);
+lean_dec(x_106);
+x_107 = !lean_is_exclusive(x_103);
+if (x_107 == 0)
+{
+uint8_t x_108; lean_object* x_109; lean_object* x_110; uint8_t x_111; lean_object* x_112; lean_object* x_160; lean_object* x_161; lean_object* x_194;
+x_108 = 0;
+lean_ctor_set_uint8(x_103, sizeof(void*)*1, x_108);
+x_109 = lean_st_ref_set(x_8, x_102, x_104);
+x_110 = lean_ctor_get(x_109, 1);
+lean_inc(x_110);
+lean_dec(x_109);
lean_inc(x_8);
lean_inc(x_7);
lean_inc(x_6);
lean_inc(x_5);
-x_193 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_19, x_5, x_6, x_7, x_8, x_165);
-if (lean_obj_tag(x_193) == 0)
+x_194 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_23, x_5, x_6, x_7, x_8, x_110);
+if (lean_obj_tag(x_194) == 0)
{
-lean_object* x_194; lean_object* x_195; uint8_t x_196; lean_object* x_197; lean_object* x_224; lean_object* x_225; lean_object* x_226; uint8_t x_227;
-x_194 = lean_ctor_get(x_193, 0);
-lean_inc(x_194);
-x_195 = lean_ctor_get(x_193, 1);
+lean_object* x_195; lean_object* x_196; uint8_t x_197; lean_object* x_198; lean_object* x_225; lean_object* x_226; lean_object* x_227; uint8_t x_228;
+x_195 = lean_ctor_get(x_194, 0);
lean_inc(x_195);
-lean_dec(x_193);
-x_224 = lean_st_ref_get(x_8, x_195);
-x_225 = lean_ctor_get(x_224, 0);
-lean_inc(x_225);
-x_226 = lean_ctor_get(x_225, 3);
+x_196 = lean_ctor_get(x_194, 1);
+lean_inc(x_196);
+lean_dec(x_194);
+x_225 = lean_st_ref_get(x_8, x_196);
+x_226 = lean_ctor_get(x_225, 0);
lean_inc(x_226);
-lean_dec(x_225);
-x_227 = lean_ctor_get_uint8(x_226, sizeof(void*)*1);
+x_227 = lean_ctor_get(x_226, 3);
+lean_inc(x_227);
lean_dec(x_226);
-if (x_227 == 0)
+x_228 = lean_ctor_get_uint8(x_227, sizeof(void*)*1);
+lean_dec(x_227);
+if (x_228 == 0)
{
-lean_object* x_228;
-x_228 = lean_ctor_get(x_224, 1);
-lean_inc(x_228);
-lean_dec(x_224);
-x_196 = x_162;
-x_197 = x_228;
-goto block_223;
-}
-else
-{
-lean_object* x_229; lean_object* x_230; lean_object* x_231; lean_object* x_232; lean_object* x_233; uint8_t x_234;
-x_229 = lean_ctor_get(x_224, 1);
+lean_object* x_229;
+x_229 = lean_ctor_get(x_225, 1);
lean_inc(x_229);
-lean_dec(x_224);
-x_230 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_231 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_230, x_5, x_6, x_7, x_8, x_229);
-x_232 = lean_ctor_get(x_231, 0);
-lean_inc(x_232);
-x_233 = lean_ctor_get(x_231, 1);
+lean_dec(x_225);
+x_197 = x_108;
+x_198 = x_229;
+goto block_224;
+}
+else
+{
+lean_object* x_230; lean_object* x_231; lean_object* x_232; lean_object* x_233; lean_object* x_234; uint8_t x_235;
+x_230 = lean_ctor_get(x_225, 1);
+lean_inc(x_230);
+lean_dec(x_225);
+x_231 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_232 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_231, x_5, x_6, x_7, x_8, x_230);
+x_233 = lean_ctor_get(x_232, 0);
lean_inc(x_233);
-lean_dec(x_231);
-x_234 = lean_unbox(x_232);
+x_234 = lean_ctor_get(x_232, 1);
+lean_inc(x_234);
lean_dec(x_232);
-x_196 = x_234;
-x_197 = x_233;
-goto block_223;
+x_235 = lean_unbox(x_233);
+lean_dec(x_233);
+x_197 = x_235;
+x_198 = x_234;
+goto block_224;
}
-block_223:
+block_224:
{
-if (x_196 == 0)
+if (x_197 == 0)
{
-uint8_t x_198;
+uint8_t x_199;
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_2);
lean_dec(x_1);
-x_198 = lean_unbox(x_194);
-lean_dec(x_194);
-x_166 = x_198;
-x_167 = x_197;
-goto block_192;
+x_199 = lean_unbox(x_195);
+lean_dec(x_195);
+x_111 = x_199;
+x_112 = x_198;
+goto block_159;
}
else
{
-lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207; uint8_t x_208;
-x_199 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_199, 0, x_1);
-x_200 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_201 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_201, 0, x_200);
-lean_ctor_set(x_201, 1, x_199);
-x_202 = l_Lean_Meta_isLevelDefEqAux___closed__6;
-x_203 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_203, 0, x_201);
-lean_ctor_set(x_203, 1, x_202);
-x_204 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_204, 0, x_2);
-x_205 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_205, 0, x_203);
-lean_ctor_set(x_205, 1, x_204);
-x_206 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
-x_207 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_207, 0, x_205);
-lean_ctor_set(x_207, 1, x_206);
-x_208 = lean_unbox(x_194);
-if (x_208 == 0)
+lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; uint8_t x_209;
+x_200 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_200, 0, x_1);
+x_201 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_202 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_202, 0, x_201);
+lean_ctor_set(x_202, 1, x_200);
+x_203 = l_Lean_Meta_isLevelDefEqAux___closed__6;
+x_204 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_204, 0, x_202);
+lean_ctor_set(x_204, 1, x_203);
+x_205 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_205, 0, x_2);
+x_206 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_206, 0, x_204);
+lean_ctor_set(x_206, 1, x_205);
+x_207 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
+x_208 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_208, 0, x_206);
+lean_ctor_set(x_208, 1, x_207);
+x_209 = lean_unbox(x_195);
+if (x_209 == 0)
{
-lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214; uint8_t x_215;
-x_209 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
-x_210 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_210, 0, x_207);
-lean_ctor_set(x_210, 1, x_209);
+lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214; lean_object* x_215; uint8_t x_216;
+x_210 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
x_211 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_211, 0, x_210);
-lean_ctor_set(x_211, 1, x_200);
-x_212 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_213 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_212, x_211, x_5, x_6, x_7, x_8, x_197);
+lean_ctor_set(x_211, 0, x_208);
+lean_ctor_set(x_211, 1, x_210);
+x_212 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_212, 0, x_211);
+lean_ctor_set(x_212, 1, x_201);
+x_213 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_214 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_213, x_212, x_5, x_6, x_7, x_8, x_198);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
-x_214 = lean_ctor_get(x_213, 1);
-lean_inc(x_214);
-lean_dec(x_213);
-x_215 = lean_unbox(x_194);
-lean_dec(x_194);
-x_166 = x_215;
-x_167 = x_214;
-goto block_192;
+x_215 = lean_ctor_get(x_214, 1);
+lean_inc(x_215);
+lean_dec(x_214);
+x_216 = lean_unbox(x_195);
+lean_dec(x_195);
+x_111 = x_216;
+x_112 = x_215;
+goto block_159;
}
else
{
-lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; lean_object* x_221; uint8_t x_222;
-x_216 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
-x_217 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_217, 0, x_207);
-lean_ctor_set(x_217, 1, x_216);
+lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; lean_object* x_221; lean_object* x_222; uint8_t x_223;
+x_217 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
x_218 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_218, 0, x_217);
-lean_ctor_set(x_218, 1, x_200);
-x_219 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_220 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_219, x_218, x_5, x_6, x_7, x_8, x_197);
+lean_ctor_set(x_218, 0, x_208);
+lean_ctor_set(x_218, 1, x_217);
+x_219 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_219, 0, x_218);
+lean_ctor_set(x_219, 1, x_201);
+x_220 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_221 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_220, x_219, x_5, x_6, x_7, x_8, x_198);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
-x_221 = lean_ctor_get(x_220, 1);
-lean_inc(x_221);
-lean_dec(x_220);
-x_222 = lean_unbox(x_194);
-lean_dec(x_194);
-x_166 = x_222;
-x_167 = x_221;
-goto block_192;
+x_222 = lean_ctor_get(x_221, 1);
+lean_inc(x_222);
+lean_dec(x_221);
+x_223 = lean_unbox(x_195);
+lean_dec(x_195);
+x_111 = x_223;
+x_112 = x_222;
+goto block_159;
}
}
}
}
else
{
-lean_object* x_235; lean_object* x_236; lean_object* x_237; lean_object* x_238; lean_object* x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244; lean_object* x_245; lean_object* x_246; lean_object* x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253; lean_object* x_254;
+lean_object* x_236; lean_object* x_237;
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_2);
lean_dec(x_1);
-x_235 = lean_ctor_get(x_193, 0);
-lean_inc(x_235);
-x_236 = lean_ctor_get(x_193, 1);
+x_236 = lean_ctor_get(x_194, 0);
lean_inc(x_236);
-lean_dec(x_193);
-x_237 = lean_st_ref_get(x_8, x_236);
-x_238 = lean_ctor_get(x_237, 1);
-lean_inc(x_238);
-lean_dec(x_237);
-x_239 = lean_st_ref_take(x_8, x_238);
-x_240 = lean_ctor_get(x_239, 0);
-lean_inc(x_240);
-x_241 = lean_ctor_get(x_240, 3);
-lean_inc(x_241);
-x_242 = lean_ctor_get(x_239, 1);
-lean_inc(x_242);
-lean_dec(x_239);
-x_243 = lean_ctor_get(x_240, 0);
-lean_inc(x_243);
-x_244 = lean_ctor_get(x_240, 1);
-lean_inc(x_244);
-x_245 = lean_ctor_get(x_240, 2);
-lean_inc(x_245);
-if (lean_is_exclusive(x_240)) {
- lean_ctor_release(x_240, 0);
- lean_ctor_release(x_240, 1);
- lean_ctor_release(x_240, 2);
- lean_ctor_release(x_240, 3);
- x_246 = x_240;
-} else {
- lean_dec_ref(x_240);
- x_246 = lean_box(0);
+x_237 = lean_ctor_get(x_194, 1);
+lean_inc(x_237);
+lean_dec(x_194);
+x_160 = x_236;
+x_161 = x_237;
+goto block_193;
}
-x_247 = lean_ctor_get(x_241, 0);
-lean_inc(x_247);
-if (lean_is_exclusive(x_241)) {
- lean_ctor_release(x_241, 0);
- x_248 = x_241;
-} else {
- lean_dec_ref(x_241);
- x_248 = lean_box(0);
-}
-if (lean_is_scalar(x_248)) {
- x_249 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_249 = x_248;
-}
-lean_ctor_set(x_249, 0, x_247);
-lean_ctor_set_uint8(x_249, sizeof(void*)*1, x_26);
-if (lean_is_scalar(x_246)) {
- x_250 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_250 = x_246;
-}
-lean_ctor_set(x_250, 0, x_243);
-lean_ctor_set(x_250, 1, x_244);
-lean_ctor_set(x_250, 2, x_245);
-lean_ctor_set(x_250, 3, x_249);
-x_251 = lean_st_ref_set(x_8, x_250, x_242);
+block_159:
+{
+lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; uint8_t x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; uint8_t x_122;
+x_113 = lean_st_ref_get(x_8, x_112);
+x_114 = lean_ctor_get(x_113, 0);
+lean_inc(x_114);
+x_115 = lean_ctor_get(x_113, 1);
+lean_inc(x_115);
+lean_dec(x_113);
+x_116 = lean_ctor_get(x_114, 3);
+lean_inc(x_116);
+lean_dec(x_114);
+x_117 = lean_ctor_get_uint8(x_116, sizeof(void*)*1);
+lean_dec(x_116);
+x_118 = lean_st_ref_take(x_8, x_115);
+x_119 = lean_ctor_get(x_118, 0);
+lean_inc(x_119);
+x_120 = lean_ctor_get(x_119, 3);
+lean_inc(x_120);
+x_121 = lean_ctor_get(x_118, 1);
+lean_inc(x_121);
+lean_dec(x_118);
+x_122 = !lean_is_exclusive(x_119);
+if (x_122 == 0)
+{
+lean_object* x_123; uint8_t x_124;
+x_123 = lean_ctor_get(x_119, 3);
+lean_dec(x_123);
+x_124 = !lean_is_exclusive(x_120);
+if (x_124 == 0)
+{
+lean_object* x_125; uint8_t x_126;
+lean_ctor_set_uint8(x_120, sizeof(void*)*1, x_100);
+x_125 = lean_st_ref_set(x_8, x_119, x_121);
lean_dec(x_8);
-x_252 = lean_ctor_get(x_251, 1);
+x_126 = !lean_is_exclusive(x_125);
+if (x_126 == 0)
+{
+lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130;
+x_127 = lean_ctor_get(x_125, 0);
+lean_dec(x_127);
+x_128 = lean_box(x_111);
+x_129 = lean_box(x_117);
+x_130 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_130, 0, x_128);
+lean_ctor_set(x_130, 1, x_129);
+lean_ctor_set(x_125, 0, x_130);
+x_10 = x_125;
+goto block_22;
+}
+else
+{
+lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135;
+x_131 = lean_ctor_get(x_125, 1);
+lean_inc(x_131);
+lean_dec(x_125);
+x_132 = lean_box(x_111);
+x_133 = lean_box(x_117);
+x_134 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_134, 0, x_132);
+lean_ctor_set(x_134, 1, x_133);
+x_135 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_135, 0, x_134);
+lean_ctor_set(x_135, 1, x_131);
+x_10 = x_135;
+goto block_22;
+}
+}
+else
+{
+lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144;
+x_136 = lean_ctor_get(x_120, 0);
+lean_inc(x_136);
+lean_dec(x_120);
+x_137 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_137, 0, x_136);
+lean_ctor_set_uint8(x_137, sizeof(void*)*1, x_100);
+lean_ctor_set(x_119, 3, x_137);
+x_138 = lean_st_ref_set(x_8, x_119, x_121);
+lean_dec(x_8);
+x_139 = lean_ctor_get(x_138, 1);
+lean_inc(x_139);
+if (lean_is_exclusive(x_138)) {
+ lean_ctor_release(x_138, 0);
+ lean_ctor_release(x_138, 1);
+ x_140 = x_138;
+} else {
+ lean_dec_ref(x_138);
+ x_140 = lean_box(0);
+}
+x_141 = lean_box(x_111);
+x_142 = lean_box(x_117);
+x_143 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_143, 0, x_141);
+lean_ctor_set(x_143, 1, x_142);
+if (lean_is_scalar(x_140)) {
+ x_144 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_144 = x_140;
+}
+lean_ctor_set(x_144, 0, x_143);
+lean_ctor_set(x_144, 1, x_139);
+x_10 = x_144;
+goto block_22;
+}
+}
+else
+{
+lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158;
+x_145 = lean_ctor_get(x_119, 0);
+x_146 = lean_ctor_get(x_119, 1);
+x_147 = lean_ctor_get(x_119, 2);
+lean_inc(x_147);
+lean_inc(x_146);
+lean_inc(x_145);
+lean_dec(x_119);
+x_148 = lean_ctor_get(x_120, 0);
+lean_inc(x_148);
+if (lean_is_exclusive(x_120)) {
+ lean_ctor_release(x_120, 0);
+ x_149 = x_120;
+} else {
+ lean_dec_ref(x_120);
+ x_149 = lean_box(0);
+}
+if (lean_is_scalar(x_149)) {
+ x_150 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_150 = x_149;
+}
+lean_ctor_set(x_150, 0, x_148);
+lean_ctor_set_uint8(x_150, sizeof(void*)*1, x_100);
+x_151 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_151, 0, x_145);
+lean_ctor_set(x_151, 1, x_146);
+lean_ctor_set(x_151, 2, x_147);
+lean_ctor_set(x_151, 3, x_150);
+x_152 = lean_st_ref_set(x_8, x_151, x_121);
+lean_dec(x_8);
+x_153 = lean_ctor_get(x_152, 1);
+lean_inc(x_153);
+if (lean_is_exclusive(x_152)) {
+ lean_ctor_release(x_152, 0);
+ lean_ctor_release(x_152, 1);
+ x_154 = x_152;
+} else {
+ lean_dec_ref(x_152);
+ x_154 = lean_box(0);
+}
+x_155 = lean_box(x_111);
+x_156 = lean_box(x_117);
+x_157 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_157, 0, x_155);
+lean_ctor_set(x_157, 1, x_156);
+if (lean_is_scalar(x_154)) {
+ x_158 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_158 = x_154;
+}
+lean_ctor_set(x_158, 0, x_157);
+lean_ctor_set(x_158, 1, x_153);
+x_10 = x_158;
+goto block_22;
+}
+}
+block_193:
+{
+lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; uint8_t x_168;
+x_162 = lean_st_ref_get(x_8, x_161);
+x_163 = lean_ctor_get(x_162, 1);
+lean_inc(x_163);
+lean_dec(x_162);
+x_164 = lean_st_ref_take(x_8, x_163);
+x_165 = lean_ctor_get(x_164, 0);
+lean_inc(x_165);
+x_166 = lean_ctor_get(x_165, 3);
+lean_inc(x_166);
+x_167 = lean_ctor_get(x_164, 1);
+lean_inc(x_167);
+lean_dec(x_164);
+x_168 = !lean_is_exclusive(x_165);
+if (x_168 == 0)
+{
+lean_object* x_169; uint8_t x_170;
+x_169 = lean_ctor_get(x_165, 3);
+lean_dec(x_169);
+x_170 = !lean_is_exclusive(x_166);
+if (x_170 == 0)
+{
+lean_object* x_171; uint8_t x_172;
+lean_ctor_set_uint8(x_166, sizeof(void*)*1, x_100);
+x_171 = lean_st_ref_set(x_8, x_165, x_167);
+lean_dec(x_8);
+x_172 = !lean_is_exclusive(x_171);
+if (x_172 == 0)
+{
+lean_object* x_173;
+x_173 = lean_ctor_get(x_171, 0);
+lean_dec(x_173);
+lean_ctor_set_tag(x_171, 1);
+lean_ctor_set(x_171, 0, x_160);
+x_10 = x_171;
+goto block_22;
+}
+else
+{
+lean_object* x_174; lean_object* x_175;
+x_174 = lean_ctor_get(x_171, 1);
+lean_inc(x_174);
+lean_dec(x_171);
+x_175 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_175, 0, x_160);
+lean_ctor_set(x_175, 1, x_174);
+x_10 = x_175;
+goto block_22;
+}
+}
+else
+{
+lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181;
+x_176 = lean_ctor_get(x_166, 0);
+lean_inc(x_176);
+lean_dec(x_166);
+x_177 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_177, 0, x_176);
+lean_ctor_set_uint8(x_177, sizeof(void*)*1, x_100);
+lean_ctor_set(x_165, 3, x_177);
+x_178 = lean_st_ref_set(x_8, x_165, x_167);
+lean_dec(x_8);
+x_179 = lean_ctor_get(x_178, 1);
+lean_inc(x_179);
+if (lean_is_exclusive(x_178)) {
+ lean_ctor_release(x_178, 0);
+ lean_ctor_release(x_178, 1);
+ x_180 = x_178;
+} else {
+ lean_dec_ref(x_178);
+ x_180 = lean_box(0);
+}
+if (lean_is_scalar(x_180)) {
+ x_181 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_181 = x_180;
+ lean_ctor_set_tag(x_181, 1);
+}
+lean_ctor_set(x_181, 0, x_160);
+lean_ctor_set(x_181, 1, x_179);
+x_10 = x_181;
+goto block_22;
+}
+}
+else
+{
+lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192;
+x_182 = lean_ctor_get(x_165, 0);
+x_183 = lean_ctor_get(x_165, 1);
+x_184 = lean_ctor_get(x_165, 2);
+lean_inc(x_184);
+lean_inc(x_183);
+lean_inc(x_182);
+lean_dec(x_165);
+x_185 = lean_ctor_get(x_166, 0);
+lean_inc(x_185);
+if (lean_is_exclusive(x_166)) {
+ lean_ctor_release(x_166, 0);
+ x_186 = x_166;
+} else {
+ lean_dec_ref(x_166);
+ x_186 = lean_box(0);
+}
+if (lean_is_scalar(x_186)) {
+ x_187 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_187 = x_186;
+}
+lean_ctor_set(x_187, 0, x_185);
+lean_ctor_set_uint8(x_187, sizeof(void*)*1, x_100);
+x_188 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_188, 0, x_182);
+lean_ctor_set(x_188, 1, x_183);
+lean_ctor_set(x_188, 2, x_184);
+lean_ctor_set(x_188, 3, x_187);
+x_189 = lean_st_ref_set(x_8, x_188, x_167);
+lean_dec(x_8);
+x_190 = lean_ctor_get(x_189, 1);
+lean_inc(x_190);
+if (lean_is_exclusive(x_189)) {
+ lean_ctor_release(x_189, 0);
+ lean_ctor_release(x_189, 1);
+ x_191 = x_189;
+} else {
+ lean_dec_ref(x_189);
+ x_191 = lean_box(0);
+}
+if (lean_is_scalar(x_191)) {
+ x_192 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_192 = x_191;
+ lean_ctor_set_tag(x_192, 1);
+}
+lean_ctor_set(x_192, 0, x_160);
+lean_ctor_set(x_192, 1, x_190);
+x_10 = x_192;
+goto block_22;
+}
+}
+}
+else
+{
+lean_object* x_238; uint8_t x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; uint8_t x_243; lean_object* x_244; lean_object* x_270; lean_object* x_271; lean_object* x_291;
+x_238 = lean_ctor_get(x_103, 0);
+lean_inc(x_238);
+lean_dec(x_103);
+x_239 = 0;
+x_240 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_240, 0, x_238);
+lean_ctor_set_uint8(x_240, sizeof(void*)*1, x_239);
+lean_ctor_set(x_102, 3, x_240);
+x_241 = lean_st_ref_set(x_8, x_102, x_104);
+x_242 = lean_ctor_get(x_241, 1);
+lean_inc(x_242);
+lean_dec(x_241);
+lean_inc(x_8);
+lean_inc(x_7);
+lean_inc(x_6);
+lean_inc(x_5);
+x_291 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_23, x_5, x_6, x_7, x_8, x_242);
+if (lean_obj_tag(x_291) == 0)
+{
+lean_object* x_292; lean_object* x_293; uint8_t x_294; lean_object* x_295; lean_object* x_322; lean_object* x_323; lean_object* x_324; uint8_t x_325;
+x_292 = lean_ctor_get(x_291, 0);
+lean_inc(x_292);
+x_293 = lean_ctor_get(x_291, 1);
+lean_inc(x_293);
+lean_dec(x_291);
+x_322 = lean_st_ref_get(x_8, x_293);
+x_323 = lean_ctor_get(x_322, 0);
+lean_inc(x_323);
+x_324 = lean_ctor_get(x_323, 3);
+lean_inc(x_324);
+lean_dec(x_323);
+x_325 = lean_ctor_get_uint8(x_324, sizeof(void*)*1);
+lean_dec(x_324);
+if (x_325 == 0)
+{
+lean_object* x_326;
+x_326 = lean_ctor_get(x_322, 1);
+lean_inc(x_326);
+lean_dec(x_322);
+x_294 = x_239;
+x_295 = x_326;
+goto block_321;
+}
+else
+{
+lean_object* x_327; lean_object* x_328; lean_object* x_329; lean_object* x_330; lean_object* x_331; uint8_t x_332;
+x_327 = lean_ctor_get(x_322, 1);
+lean_inc(x_327);
+lean_dec(x_322);
+x_328 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_329 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_328, x_5, x_6, x_7, x_8, x_327);
+x_330 = lean_ctor_get(x_329, 0);
+lean_inc(x_330);
+x_331 = lean_ctor_get(x_329, 1);
+lean_inc(x_331);
+lean_dec(x_329);
+x_332 = lean_unbox(x_330);
+lean_dec(x_330);
+x_294 = x_332;
+x_295 = x_331;
+goto block_321;
+}
+block_321:
+{
+if (x_294 == 0)
+{
+uint8_t x_296;
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_2);
+lean_dec(x_1);
+x_296 = lean_unbox(x_292);
+lean_dec(x_292);
+x_243 = x_296;
+x_244 = x_295;
+goto block_269;
+}
+else
+{
+lean_object* x_297; lean_object* x_298; lean_object* x_299; lean_object* x_300; lean_object* x_301; lean_object* x_302; lean_object* x_303; lean_object* x_304; lean_object* x_305; uint8_t x_306;
+x_297 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_297, 0, x_1);
+x_298 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_299 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_299, 0, x_298);
+lean_ctor_set(x_299, 1, x_297);
+x_300 = l_Lean_Meta_isLevelDefEqAux___closed__6;
+x_301 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_301, 0, x_299);
+lean_ctor_set(x_301, 1, x_300);
+x_302 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_302, 0, x_2);
+x_303 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_303, 0, x_301);
+lean_ctor_set(x_303, 1, x_302);
+x_304 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
+x_305 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_305, 0, x_303);
+lean_ctor_set(x_305, 1, x_304);
+x_306 = lean_unbox(x_292);
+if (x_306 == 0)
+{
+lean_object* x_307; lean_object* x_308; lean_object* x_309; lean_object* x_310; lean_object* x_311; lean_object* x_312; uint8_t x_313;
+x_307 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
+x_308 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_308, 0, x_305);
+lean_ctor_set(x_308, 1, x_307);
+x_309 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_309, 0, x_308);
+lean_ctor_set(x_309, 1, x_298);
+x_310 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_311 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_310, x_309, x_5, x_6, x_7, x_8, x_295);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+x_312 = lean_ctor_get(x_311, 1);
+lean_inc(x_312);
+lean_dec(x_311);
+x_313 = lean_unbox(x_292);
+lean_dec(x_292);
+x_243 = x_313;
+x_244 = x_312;
+goto block_269;
+}
+else
+{
+lean_object* x_314; lean_object* x_315; lean_object* x_316; lean_object* x_317; lean_object* x_318; lean_object* x_319; uint8_t x_320;
+x_314 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
+x_315 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_315, 0, x_305);
+lean_ctor_set(x_315, 1, x_314);
+x_316 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_316, 0, x_315);
+lean_ctor_set(x_316, 1, x_298);
+x_317 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_318 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_317, x_316, x_5, x_6, x_7, x_8, x_295);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+x_319 = lean_ctor_get(x_318, 1);
+lean_inc(x_319);
+lean_dec(x_318);
+x_320 = lean_unbox(x_292);
+lean_dec(x_292);
+x_243 = x_320;
+x_244 = x_319;
+goto block_269;
+}
+}
+}
+}
+else
+{
+lean_object* x_333; lean_object* x_334;
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_2);
+lean_dec(x_1);
+x_333 = lean_ctor_get(x_291, 0);
+lean_inc(x_333);
+x_334 = lean_ctor_get(x_291, 1);
+lean_inc(x_334);
+lean_dec(x_291);
+x_270 = x_333;
+x_271 = x_334;
+goto block_290;
+}
+block_269:
+{
+lean_object* x_245; lean_object* x_246; lean_object* x_247; lean_object* x_248; uint8_t x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253; lean_object* x_254; lean_object* x_255; lean_object* x_256; lean_object* x_257; lean_object* x_258; lean_object* x_259; lean_object* x_260; lean_object* x_261; lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265; lean_object* x_266; lean_object* x_267; lean_object* x_268;
+x_245 = lean_st_ref_get(x_8, x_244);
+x_246 = lean_ctor_get(x_245, 0);
+lean_inc(x_246);
+x_247 = lean_ctor_get(x_245, 1);
+lean_inc(x_247);
+lean_dec(x_245);
+x_248 = lean_ctor_get(x_246, 3);
+lean_inc(x_248);
+lean_dec(x_246);
+x_249 = lean_ctor_get_uint8(x_248, sizeof(void*)*1);
+lean_dec(x_248);
+x_250 = lean_st_ref_take(x_8, x_247);
+x_251 = lean_ctor_get(x_250, 0);
+lean_inc(x_251);
+x_252 = lean_ctor_get(x_251, 3);
lean_inc(x_252);
+x_253 = lean_ctor_get(x_250, 1);
+lean_inc(x_253);
+lean_dec(x_250);
+x_254 = lean_ctor_get(x_251, 0);
+lean_inc(x_254);
+x_255 = lean_ctor_get(x_251, 1);
+lean_inc(x_255);
+x_256 = lean_ctor_get(x_251, 2);
+lean_inc(x_256);
if (lean_is_exclusive(x_251)) {
lean_ctor_release(x_251, 0);
lean_ctor_release(x_251, 1);
- x_253 = x_251;
+ lean_ctor_release(x_251, 2);
+ lean_ctor_release(x_251, 3);
+ x_257 = x_251;
} else {
lean_dec_ref(x_251);
- x_253 = lean_box(0);
+ x_257 = lean_box(0);
}
-if (lean_is_scalar(x_253)) {
- x_254 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_254 = x_253;
- lean_ctor_set_tag(x_254, 1);
-}
-lean_ctor_set(x_254, 0, x_235);
-lean_ctor_set(x_254, 1, x_252);
-return x_254;
-}
-block_192:
-{
-lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; uint8_t x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191;
-x_168 = lean_st_ref_get(x_8, x_167);
-x_169 = lean_ctor_get(x_168, 0);
-lean_inc(x_169);
-x_170 = lean_ctor_get(x_168, 1);
-lean_inc(x_170);
-lean_dec(x_168);
-x_171 = lean_ctor_get(x_169, 3);
-lean_inc(x_171);
-lean_dec(x_169);
-x_172 = lean_ctor_get_uint8(x_171, sizeof(void*)*1);
-lean_dec(x_171);
-x_173 = lean_st_ref_take(x_8, x_170);
-x_174 = lean_ctor_get(x_173, 0);
-lean_inc(x_174);
-x_175 = lean_ctor_get(x_174, 3);
-lean_inc(x_175);
-x_176 = lean_ctor_get(x_173, 1);
-lean_inc(x_176);
-lean_dec(x_173);
-x_177 = lean_ctor_get(x_174, 0);
-lean_inc(x_177);
-x_178 = lean_ctor_get(x_174, 1);
-lean_inc(x_178);
-x_179 = lean_ctor_get(x_174, 2);
-lean_inc(x_179);
-if (lean_is_exclusive(x_174)) {
- lean_ctor_release(x_174, 0);
- lean_ctor_release(x_174, 1);
- lean_ctor_release(x_174, 2);
- lean_ctor_release(x_174, 3);
- x_180 = x_174;
-} else {
- lean_dec_ref(x_174);
- x_180 = lean_box(0);
-}
-x_181 = lean_ctor_get(x_175, 0);
-lean_inc(x_181);
-if (lean_is_exclusive(x_175)) {
- lean_ctor_release(x_175, 0);
- x_182 = x_175;
-} else {
- lean_dec_ref(x_175);
- x_182 = lean_box(0);
-}
-if (lean_is_scalar(x_182)) {
- x_183 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_183 = x_182;
-}
-lean_ctor_set(x_183, 0, x_181);
-lean_ctor_set_uint8(x_183, sizeof(void*)*1, x_26);
-if (lean_is_scalar(x_180)) {
- x_184 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_184 = x_180;
-}
-lean_ctor_set(x_184, 0, x_177);
-lean_ctor_set(x_184, 1, x_178);
-lean_ctor_set(x_184, 2, x_179);
-lean_ctor_set(x_184, 3, x_183);
-x_185 = lean_st_ref_set(x_8, x_184, x_176);
-lean_dec(x_8);
-x_186 = lean_ctor_get(x_185, 1);
-lean_inc(x_186);
-if (lean_is_exclusive(x_185)) {
- lean_ctor_release(x_185, 0);
- lean_ctor_release(x_185, 1);
- x_187 = x_185;
-} else {
- lean_dec_ref(x_185);
- x_187 = lean_box(0);
-}
-x_188 = lean_box(x_166);
-x_189 = lean_box(x_172);
-x_190 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_190, 0, x_188);
-lean_ctor_set(x_190, 1, x_189);
-if (lean_is_scalar(x_187)) {
- x_191 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_191 = x_187;
-}
-lean_ctor_set(x_191, 0, x_190);
-lean_ctor_set(x_191, 1, x_186);
-x_10 = x_191;
-goto block_18;
-}
-}
-}
-else
-{
-lean_object* x_255; lean_object* x_256; lean_object* x_257; lean_object* x_258; lean_object* x_259; uint8_t x_260; lean_object* x_261; lean_object* x_262; lean_object* x_263; lean_object* x_264; uint8_t x_265; lean_object* x_266; lean_object* x_292;
-x_255 = lean_ctor_get(x_28, 0);
-x_256 = lean_ctor_get(x_28, 1);
-x_257 = lean_ctor_get(x_28, 2);
-lean_inc(x_257);
-lean_inc(x_256);
-lean_inc(x_255);
-lean_dec(x_28);
-x_258 = lean_ctor_get(x_29, 0);
+x_258 = lean_ctor_get(x_252, 0);
lean_inc(x_258);
-if (lean_is_exclusive(x_29)) {
- lean_ctor_release(x_29, 0);
- x_259 = x_29;
+if (lean_is_exclusive(x_252)) {
+ lean_ctor_release(x_252, 0);
+ x_259 = x_252;
} else {
- lean_dec_ref(x_29);
+ lean_dec_ref(x_252);
x_259 = lean_box(0);
}
-x_260 = 0;
if (lean_is_scalar(x_259)) {
- x_261 = lean_alloc_ctor(0, 1, 1);
+ x_260 = lean_alloc_ctor(0, 1, 1);
} else {
- x_261 = x_259;
+ x_260 = x_259;
}
-lean_ctor_set(x_261, 0, x_258);
-lean_ctor_set_uint8(x_261, sizeof(void*)*1, x_260);
-x_262 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_262, 0, x_255);
-lean_ctor_set(x_262, 1, x_256);
-lean_ctor_set(x_262, 2, x_257);
-lean_ctor_set(x_262, 3, x_261);
-x_263 = lean_st_ref_set(x_8, x_262, x_30);
-x_264 = lean_ctor_get(x_263, 1);
-lean_inc(x_264);
-lean_dec(x_263);
-lean_inc(x_8);
-lean_inc(x_7);
-lean_inc(x_6);
-lean_inc(x_5);
-x_292 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_19, x_5, x_6, x_7, x_8, x_264);
-if (lean_obj_tag(x_292) == 0)
-{
-lean_object* x_293; lean_object* x_294; uint8_t x_295; lean_object* x_296; lean_object* x_323; lean_object* x_324; lean_object* x_325; uint8_t x_326;
-x_293 = lean_ctor_get(x_292, 0);
-lean_inc(x_293);
-x_294 = lean_ctor_get(x_292, 1);
-lean_inc(x_294);
-lean_dec(x_292);
-x_323 = lean_st_ref_get(x_8, x_294);
-x_324 = lean_ctor_get(x_323, 0);
-lean_inc(x_324);
-x_325 = lean_ctor_get(x_324, 3);
-lean_inc(x_325);
-lean_dec(x_324);
-x_326 = lean_ctor_get_uint8(x_325, sizeof(void*)*1);
-lean_dec(x_325);
-if (x_326 == 0)
-{
-lean_object* x_327;
-x_327 = lean_ctor_get(x_323, 1);
-lean_inc(x_327);
-lean_dec(x_323);
-x_295 = x_260;
-x_296 = x_327;
-goto block_322;
-}
-else
-{
-lean_object* x_328; lean_object* x_329; lean_object* x_330; lean_object* x_331; lean_object* x_332; uint8_t x_333;
-x_328 = lean_ctor_get(x_323, 1);
-lean_inc(x_328);
-lean_dec(x_323);
-x_329 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_330 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_329, x_5, x_6, x_7, x_8, x_328);
-x_331 = lean_ctor_get(x_330, 0);
-lean_inc(x_331);
-x_332 = lean_ctor_get(x_330, 1);
-lean_inc(x_332);
-lean_dec(x_330);
-x_333 = lean_unbox(x_331);
-lean_dec(x_331);
-x_295 = x_333;
-x_296 = x_332;
-goto block_322;
-}
-block_322:
-{
-if (x_295 == 0)
-{
-uint8_t x_297;
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_2);
-lean_dec(x_1);
-x_297 = lean_unbox(x_293);
-lean_dec(x_293);
-x_265 = x_297;
-x_266 = x_296;
-goto block_291;
-}
-else
-{
-lean_object* x_298; lean_object* x_299; lean_object* x_300; lean_object* x_301; lean_object* x_302; lean_object* x_303; lean_object* x_304; lean_object* x_305; lean_object* x_306; uint8_t x_307;
-x_298 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_298, 0, x_1);
-x_299 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_300 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_300, 0, x_299);
-lean_ctor_set(x_300, 1, x_298);
-x_301 = l_Lean_Meta_isLevelDefEqAux___closed__6;
-x_302 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_302, 0, x_300);
-lean_ctor_set(x_302, 1, x_301);
-x_303 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_303, 0, x_2);
-x_304 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_304, 0, x_302);
-lean_ctor_set(x_304, 1, x_303);
-x_305 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
-x_306 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_306, 0, x_304);
-lean_ctor_set(x_306, 1, x_305);
-x_307 = lean_unbox(x_293);
-if (x_307 == 0)
-{
-lean_object* x_308; lean_object* x_309; lean_object* x_310; lean_object* x_311; lean_object* x_312; lean_object* x_313; uint8_t x_314;
-x_308 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
-x_309 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_309, 0, x_306);
-lean_ctor_set(x_309, 1, x_308);
-x_310 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_310, 0, x_309);
-lean_ctor_set(x_310, 1, x_299);
-x_311 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_312 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_311, x_310, x_5, x_6, x_7, x_8, x_296);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-x_313 = lean_ctor_get(x_312, 1);
-lean_inc(x_313);
-lean_dec(x_312);
-x_314 = lean_unbox(x_293);
-lean_dec(x_293);
-x_265 = x_314;
-x_266 = x_313;
-goto block_291;
-}
-else
-{
-lean_object* x_315; lean_object* x_316; lean_object* x_317; lean_object* x_318; lean_object* x_319; lean_object* x_320; uint8_t x_321;
-x_315 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
-x_316 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_316, 0, x_306);
-lean_ctor_set(x_316, 1, x_315);
-x_317 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_317, 0, x_316);
-lean_ctor_set(x_317, 1, x_299);
-x_318 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_319 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_318, x_317, x_5, x_6, x_7, x_8, x_296);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-x_320 = lean_ctor_get(x_319, 1);
-lean_inc(x_320);
-lean_dec(x_319);
-x_321 = lean_unbox(x_293);
-lean_dec(x_293);
-x_265 = x_321;
-x_266 = x_320;
-goto block_291;
-}
-}
-}
-}
-else
-{
-lean_object* x_334; lean_object* x_335; lean_object* x_336; lean_object* x_337; lean_object* x_338; lean_object* x_339; lean_object* x_340; lean_object* x_341; lean_object* x_342; lean_object* x_343; lean_object* x_344; lean_object* x_345; lean_object* x_346; lean_object* x_347; lean_object* x_348; lean_object* x_349; lean_object* x_350; lean_object* x_351; lean_object* x_352; lean_object* x_353;
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_2);
-lean_dec(x_1);
-x_334 = lean_ctor_get(x_292, 0);
-lean_inc(x_334);
-x_335 = lean_ctor_get(x_292, 1);
-lean_inc(x_335);
-lean_dec(x_292);
-x_336 = lean_st_ref_get(x_8, x_335);
-x_337 = lean_ctor_get(x_336, 1);
-lean_inc(x_337);
-lean_dec(x_336);
-x_338 = lean_st_ref_take(x_8, x_337);
-x_339 = lean_ctor_get(x_338, 0);
-lean_inc(x_339);
-x_340 = lean_ctor_get(x_339, 3);
-lean_inc(x_340);
-x_341 = lean_ctor_get(x_338, 1);
-lean_inc(x_341);
-lean_dec(x_338);
-x_342 = lean_ctor_get(x_339, 0);
-lean_inc(x_342);
-x_343 = lean_ctor_get(x_339, 1);
-lean_inc(x_343);
-x_344 = lean_ctor_get(x_339, 2);
-lean_inc(x_344);
-if (lean_is_exclusive(x_339)) {
- lean_ctor_release(x_339, 0);
- lean_ctor_release(x_339, 1);
- lean_ctor_release(x_339, 2);
- lean_ctor_release(x_339, 3);
- x_345 = x_339;
+lean_ctor_set(x_260, 0, x_258);
+lean_ctor_set_uint8(x_260, sizeof(void*)*1, x_100);
+if (lean_is_scalar(x_257)) {
+ x_261 = lean_alloc_ctor(0, 4, 0);
} else {
- lean_dec_ref(x_339);
- x_345 = lean_box(0);
+ x_261 = x_257;
}
-x_346 = lean_ctor_get(x_340, 0);
-lean_inc(x_346);
-if (lean_is_exclusive(x_340)) {
- lean_ctor_release(x_340, 0);
- x_347 = x_340;
-} else {
- lean_dec_ref(x_340);
- x_347 = lean_box(0);
-}
-if (lean_is_scalar(x_347)) {
- x_348 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_348 = x_347;
-}
-lean_ctor_set(x_348, 0, x_346);
-lean_ctor_set_uint8(x_348, sizeof(void*)*1, x_26);
-if (lean_is_scalar(x_345)) {
- x_349 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_349 = x_345;
-}
-lean_ctor_set(x_349, 0, x_342);
-lean_ctor_set(x_349, 1, x_343);
-lean_ctor_set(x_349, 2, x_344);
-lean_ctor_set(x_349, 3, x_348);
-x_350 = lean_st_ref_set(x_8, x_349, x_341);
+lean_ctor_set(x_261, 0, x_254);
+lean_ctor_set(x_261, 1, x_255);
+lean_ctor_set(x_261, 2, x_256);
+lean_ctor_set(x_261, 3, x_260);
+x_262 = lean_st_ref_set(x_8, x_261, x_253);
lean_dec(x_8);
-x_351 = lean_ctor_get(x_350, 1);
-lean_inc(x_351);
-if (lean_is_exclusive(x_350)) {
- lean_ctor_release(x_350, 0);
- lean_ctor_release(x_350, 1);
- x_352 = x_350;
+x_263 = lean_ctor_get(x_262, 1);
+lean_inc(x_263);
+if (lean_is_exclusive(x_262)) {
+ lean_ctor_release(x_262, 0);
+ lean_ctor_release(x_262, 1);
+ x_264 = x_262;
} else {
- lean_dec_ref(x_350);
- x_352 = lean_box(0);
+ lean_dec_ref(x_262);
+ x_264 = lean_box(0);
}
-if (lean_is_scalar(x_352)) {
- x_353 = lean_alloc_ctor(1, 2, 0);
+x_265 = lean_box(x_243);
+x_266 = lean_box(x_249);
+x_267 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_267, 0, x_265);
+lean_ctor_set(x_267, 1, x_266);
+if (lean_is_scalar(x_264)) {
+ x_268 = lean_alloc_ctor(0, 2, 0);
} else {
- x_353 = x_352;
- lean_ctor_set_tag(x_353, 1);
+ x_268 = x_264;
}
-lean_ctor_set(x_353, 0, x_334);
-lean_ctor_set(x_353, 1, x_351);
-return x_353;
+lean_ctor_set(x_268, 0, x_267);
+lean_ctor_set(x_268, 1, x_263);
+x_10 = x_268;
+goto block_22;
}
-block_291:
+block_290:
{
-lean_object* x_267; lean_object* x_268; lean_object* x_269; lean_object* x_270; uint8_t x_271; lean_object* x_272; lean_object* x_273; lean_object* x_274; lean_object* x_275; lean_object* x_276; lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; lean_object* x_281; lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286; lean_object* x_287; lean_object* x_288; lean_object* x_289; lean_object* x_290;
-x_267 = lean_st_ref_get(x_8, x_266);
-x_268 = lean_ctor_get(x_267, 0);
-lean_inc(x_268);
-x_269 = lean_ctor_get(x_267, 1);
-lean_inc(x_269);
-lean_dec(x_267);
-x_270 = lean_ctor_get(x_268, 3);
-lean_inc(x_270);
-lean_dec(x_268);
-x_271 = lean_ctor_get_uint8(x_270, sizeof(void*)*1);
-lean_dec(x_270);
-x_272 = lean_st_ref_take(x_8, x_269);
-x_273 = lean_ctor_get(x_272, 0);
+lean_object* x_272; lean_object* x_273; lean_object* x_274; lean_object* x_275; lean_object* x_276; lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; lean_object* x_281; lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286; lean_object* x_287; lean_object* x_288; lean_object* x_289;
+x_272 = lean_st_ref_get(x_8, x_271);
+x_273 = lean_ctor_get(x_272, 1);
lean_inc(x_273);
-x_274 = lean_ctor_get(x_273, 3);
-lean_inc(x_274);
-x_275 = lean_ctor_get(x_272, 1);
-lean_inc(x_275);
lean_dec(x_272);
-x_276 = lean_ctor_get(x_273, 0);
+x_274 = lean_st_ref_take(x_8, x_273);
+x_275 = lean_ctor_get(x_274, 0);
+lean_inc(x_275);
+x_276 = lean_ctor_get(x_275, 3);
lean_inc(x_276);
-x_277 = lean_ctor_get(x_273, 1);
+x_277 = lean_ctor_get(x_274, 1);
lean_inc(x_277);
-x_278 = lean_ctor_get(x_273, 2);
+lean_dec(x_274);
+x_278 = lean_ctor_get(x_275, 0);
lean_inc(x_278);
-if (lean_is_exclusive(x_273)) {
- lean_ctor_release(x_273, 0);
- lean_ctor_release(x_273, 1);
- lean_ctor_release(x_273, 2);
- lean_ctor_release(x_273, 3);
- x_279 = x_273;
-} else {
- lean_dec_ref(x_273);
- x_279 = lean_box(0);
-}
-x_280 = lean_ctor_get(x_274, 0);
+x_279 = lean_ctor_get(x_275, 1);
+lean_inc(x_279);
+x_280 = lean_ctor_get(x_275, 2);
lean_inc(x_280);
-if (lean_is_exclusive(x_274)) {
- lean_ctor_release(x_274, 0);
- x_281 = x_274;
+if (lean_is_exclusive(x_275)) {
+ lean_ctor_release(x_275, 0);
+ lean_ctor_release(x_275, 1);
+ lean_ctor_release(x_275, 2);
+ lean_ctor_release(x_275, 3);
+ x_281 = x_275;
} else {
- lean_dec_ref(x_274);
+ lean_dec_ref(x_275);
x_281 = lean_box(0);
}
+x_282 = lean_ctor_get(x_276, 0);
+lean_inc(x_282);
+if (lean_is_exclusive(x_276)) {
+ lean_ctor_release(x_276, 0);
+ x_283 = x_276;
+} else {
+ lean_dec_ref(x_276);
+ x_283 = lean_box(0);
+}
+if (lean_is_scalar(x_283)) {
+ x_284 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_284 = x_283;
+}
+lean_ctor_set(x_284, 0, x_282);
+lean_ctor_set_uint8(x_284, sizeof(void*)*1, x_100);
if (lean_is_scalar(x_281)) {
- x_282 = lean_alloc_ctor(0, 1, 1);
+ x_285 = lean_alloc_ctor(0, 4, 0);
} else {
- x_282 = x_281;
+ x_285 = x_281;
}
-lean_ctor_set(x_282, 0, x_280);
-lean_ctor_set_uint8(x_282, sizeof(void*)*1, x_26);
-if (lean_is_scalar(x_279)) {
- x_283 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_283 = x_279;
-}
-lean_ctor_set(x_283, 0, x_276);
-lean_ctor_set(x_283, 1, x_277);
-lean_ctor_set(x_283, 2, x_278);
-lean_ctor_set(x_283, 3, x_282);
-x_284 = lean_st_ref_set(x_8, x_283, x_275);
+lean_ctor_set(x_285, 0, x_278);
+lean_ctor_set(x_285, 1, x_279);
+lean_ctor_set(x_285, 2, x_280);
+lean_ctor_set(x_285, 3, x_284);
+x_286 = lean_st_ref_set(x_8, x_285, x_277);
lean_dec(x_8);
-x_285 = lean_ctor_get(x_284, 1);
-lean_inc(x_285);
-if (lean_is_exclusive(x_284)) {
- lean_ctor_release(x_284, 0);
- lean_ctor_release(x_284, 1);
- x_286 = x_284;
+x_287 = lean_ctor_get(x_286, 1);
+lean_inc(x_287);
+if (lean_is_exclusive(x_286)) {
+ lean_ctor_release(x_286, 0);
+ lean_ctor_release(x_286, 1);
+ x_288 = x_286;
} else {
- lean_dec_ref(x_284);
- x_286 = lean_box(0);
+ lean_dec_ref(x_286);
+ x_288 = lean_box(0);
}
-x_287 = lean_box(x_265);
-x_288 = lean_box(x_271);
-x_289 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_289, 0, x_287);
-lean_ctor_set(x_289, 1, x_288);
-if (lean_is_scalar(x_286)) {
- x_290 = lean_alloc_ctor(0, 2, 0);
+if (lean_is_scalar(x_288)) {
+ x_289 = lean_alloc_ctor(1, 2, 0);
} else {
- x_290 = x_286;
+ x_289 = x_288;
+ lean_ctor_set_tag(x_289, 1);
}
-lean_ctor_set(x_290, 0, x_289);
-lean_ctor_set(x_290, 1, x_285);
-x_10 = x_290;
-goto block_18;
+lean_ctor_set(x_289, 0, x_270);
+lean_ctor_set(x_289, 1, x_287);
+x_10 = x_289;
+goto block_22;
}
}
}
else
{
-lean_object* x_354; lean_object* x_355; lean_object* x_356; lean_object* x_357; uint8_t x_358; lean_object* x_359; lean_object* x_369;
-x_354 = lean_ctor_get(x_7, 3);
-lean_inc(x_354);
-x_355 = l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_isLevelDefEq___spec__3___rarg(x_8, x_21);
-x_356 = lean_ctor_get(x_355, 0);
-lean_inc(x_356);
-x_357 = lean_ctor_get(x_355, 1);
-lean_inc(x_357);
-lean_dec(x_355);
+lean_object* x_335; lean_object* x_336; lean_object* x_337; lean_object* x_338; lean_object* x_339; uint8_t x_340; lean_object* x_341; lean_object* x_342; lean_object* x_343; lean_object* x_344; uint8_t x_345; lean_object* x_346; lean_object* x_372; lean_object* x_373; lean_object* x_393;
+x_335 = lean_ctor_get(x_102, 0);
+x_336 = lean_ctor_get(x_102, 1);
+x_337 = lean_ctor_get(x_102, 2);
+lean_inc(x_337);
+lean_inc(x_336);
+lean_inc(x_335);
+lean_dec(x_102);
+x_338 = lean_ctor_get(x_103, 0);
+lean_inc(x_338);
+if (lean_is_exclusive(x_103)) {
+ lean_ctor_release(x_103, 0);
+ x_339 = x_103;
+} else {
+ lean_dec_ref(x_103);
+ x_339 = lean_box(0);
+}
+x_340 = 0;
+if (lean_is_scalar(x_339)) {
+ x_341 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_341 = x_339;
+}
+lean_ctor_set(x_341, 0, x_338);
+lean_ctor_set_uint8(x_341, sizeof(void*)*1, x_340);
+x_342 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_342, 0, x_335);
+lean_ctor_set(x_342, 1, x_336);
+lean_ctor_set(x_342, 2, x_337);
+lean_ctor_set(x_342, 3, x_341);
+x_343 = lean_st_ref_set(x_8, x_342, x_104);
+x_344 = lean_ctor_get(x_343, 1);
+lean_inc(x_344);
+lean_dec(x_343);
lean_inc(x_8);
lean_inc(x_7);
lean_inc(x_6);
lean_inc(x_5);
-x_369 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_19, x_5, x_6, x_7, x_8, x_357);
-if (lean_obj_tag(x_369) == 0)
+x_393 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_23, x_5, x_6, x_7, x_8, x_344);
+if (lean_obj_tag(x_393) == 0)
{
-lean_object* x_370; lean_object* x_371; uint8_t x_372; lean_object* x_373; lean_object* x_400; lean_object* x_401; lean_object* x_402; uint8_t x_403;
-x_370 = lean_ctor_get(x_369, 0);
-lean_inc(x_370);
-x_371 = lean_ctor_get(x_369, 1);
-lean_inc(x_371);
-lean_dec(x_369);
-x_400 = lean_st_ref_get(x_8, x_371);
-x_401 = lean_ctor_get(x_400, 0);
-lean_inc(x_401);
-x_402 = lean_ctor_get(x_401, 3);
-lean_inc(x_402);
-lean_dec(x_401);
-x_403 = lean_ctor_get_uint8(x_402, sizeof(void*)*1);
-lean_dec(x_402);
-if (x_403 == 0)
+lean_object* x_394; lean_object* x_395; uint8_t x_396; lean_object* x_397; lean_object* x_424; lean_object* x_425; lean_object* x_426; uint8_t x_427;
+x_394 = lean_ctor_get(x_393, 0);
+lean_inc(x_394);
+x_395 = lean_ctor_get(x_393, 1);
+lean_inc(x_395);
+lean_dec(x_393);
+x_424 = lean_st_ref_get(x_8, x_395);
+x_425 = lean_ctor_get(x_424, 0);
+lean_inc(x_425);
+x_426 = lean_ctor_get(x_425, 3);
+lean_inc(x_426);
+lean_dec(x_425);
+x_427 = lean_ctor_get_uint8(x_426, sizeof(void*)*1);
+lean_dec(x_426);
+if (x_427 == 0)
{
-lean_object* x_404; uint8_t x_405;
-x_404 = lean_ctor_get(x_400, 1);
-lean_inc(x_404);
-lean_dec(x_400);
-x_405 = 0;
-x_372 = x_405;
-x_373 = x_404;
-goto block_399;
+lean_object* x_428;
+x_428 = lean_ctor_get(x_424, 1);
+lean_inc(x_428);
+lean_dec(x_424);
+x_396 = x_340;
+x_397 = x_428;
+goto block_423;
}
else
{
-lean_object* x_406; lean_object* x_407; lean_object* x_408; lean_object* x_409; lean_object* x_410; uint8_t x_411;
-x_406 = lean_ctor_get(x_400, 1);
-lean_inc(x_406);
-lean_dec(x_400);
-x_407 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_408 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_407, x_5, x_6, x_7, x_8, x_406);
-x_409 = lean_ctor_get(x_408, 0);
-lean_inc(x_409);
-x_410 = lean_ctor_get(x_408, 1);
-lean_inc(x_410);
-lean_dec(x_408);
-x_411 = lean_unbox(x_409);
-lean_dec(x_409);
-x_372 = x_411;
-x_373 = x_410;
-goto block_399;
+lean_object* x_429; lean_object* x_430; lean_object* x_431; lean_object* x_432; lean_object* x_433; uint8_t x_434;
+x_429 = lean_ctor_get(x_424, 1);
+lean_inc(x_429);
+lean_dec(x_424);
+x_430 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_431 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_430, x_5, x_6, x_7, x_8, x_429);
+x_432 = lean_ctor_get(x_431, 0);
+lean_inc(x_432);
+x_433 = lean_ctor_get(x_431, 1);
+lean_inc(x_433);
+lean_dec(x_431);
+x_434 = lean_unbox(x_432);
+lean_dec(x_432);
+x_396 = x_434;
+x_397 = x_433;
+goto block_423;
}
-block_399:
+block_423:
{
-if (x_372 == 0)
+if (x_396 == 0)
{
-uint8_t x_374;
-lean_dec(x_2);
-lean_dec(x_1);
-x_374 = lean_unbox(x_370);
-lean_dec(x_370);
-x_358 = x_374;
-x_359 = x_373;
-goto block_368;
-}
-else
-{
-lean_object* x_375; lean_object* x_376; lean_object* x_377; lean_object* x_378; lean_object* x_379; lean_object* x_380; lean_object* x_381; lean_object* x_382; lean_object* x_383; uint8_t x_384;
-x_375 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_375, 0, x_1);
-x_376 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_377 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_377, 0, x_376);
-lean_ctor_set(x_377, 1, x_375);
-x_378 = l_Lean_Meta_isLevelDefEqAux___closed__6;
-x_379 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_379, 0, x_377);
-lean_ctor_set(x_379, 1, x_378);
-x_380 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_380, 0, x_2);
-x_381 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_381, 0, x_379);
-lean_ctor_set(x_381, 1, x_380);
-x_382 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
-x_383 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_383, 0, x_381);
-lean_ctor_set(x_383, 1, x_382);
-x_384 = lean_unbox(x_370);
-if (x_384 == 0)
-{
-lean_object* x_385; lean_object* x_386; lean_object* x_387; lean_object* x_388; lean_object* x_389; lean_object* x_390; uint8_t x_391;
-x_385 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
-x_386 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_386, 0, x_383);
-lean_ctor_set(x_386, 1, x_385);
-x_387 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_387, 0, x_386);
-lean_ctor_set(x_387, 1, x_376);
-x_388 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_389 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_388, x_387, x_5, x_6, x_7, x_8, x_373);
-x_390 = lean_ctor_get(x_389, 1);
-lean_inc(x_390);
-lean_dec(x_389);
-x_391 = lean_unbox(x_370);
-lean_dec(x_370);
-x_358 = x_391;
-x_359 = x_390;
-goto block_368;
-}
-else
-{
-lean_object* x_392; lean_object* x_393; lean_object* x_394; lean_object* x_395; lean_object* x_396; lean_object* x_397; uint8_t x_398;
-x_392 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
-x_393 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_393, 0, x_383);
-lean_ctor_set(x_393, 1, x_392);
-x_394 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_394, 0, x_393);
-lean_ctor_set(x_394, 1, x_376);
-x_395 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_396 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_395, x_394, x_5, x_6, x_7, x_8, x_373);
-x_397 = lean_ctor_get(x_396, 1);
-lean_inc(x_397);
-lean_dec(x_396);
-x_398 = lean_unbox(x_370);
-lean_dec(x_370);
-x_358 = x_398;
-x_359 = x_397;
-goto block_368;
-}
-}
-}
-}
-else
-{
-lean_object* x_412; lean_object* x_413; lean_object* x_414; lean_object* x_415; uint8_t x_416;
-lean_dec(x_2);
-lean_dec(x_1);
-x_412 = lean_ctor_get(x_369, 0);
-lean_inc(x_412);
-x_413 = lean_ctor_get(x_369, 1);
-lean_inc(x_413);
-lean_dec(x_369);
-x_414 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_415 = l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_isLevelDefEq___spec__4(x_356, x_414, x_354, x_5, x_6, x_7, x_8, x_413);
-lean_dec(x_8);
+uint8_t x_398;
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
-x_416 = !lean_is_exclusive(x_415);
-if (x_416 == 0)
-{
-lean_object* x_417;
-x_417 = lean_ctor_get(x_415, 0);
-lean_dec(x_417);
-lean_ctor_set_tag(x_415, 1);
-lean_ctor_set(x_415, 0, x_412);
-return x_415;
+lean_dec(x_2);
+lean_dec(x_1);
+x_398 = lean_unbox(x_394);
+lean_dec(x_394);
+x_345 = x_398;
+x_346 = x_397;
+goto block_371;
}
else
{
-lean_object* x_418; lean_object* x_419;
-x_418 = lean_ctor_get(x_415, 1);
-lean_inc(x_418);
-lean_dec(x_415);
-x_419 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_419, 0, x_412);
-lean_ctor_set(x_419, 1, x_418);
-return x_419;
-}
-}
-block_368:
+lean_object* x_399; lean_object* x_400; lean_object* x_401; lean_object* x_402; lean_object* x_403; lean_object* x_404; lean_object* x_405; lean_object* x_406; lean_object* x_407; uint8_t x_408;
+x_399 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_399, 0, x_1);
+x_400 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_401 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_401, 0, x_400);
+lean_ctor_set(x_401, 1, x_399);
+x_402 = l_Lean_Meta_isLevelDefEqAux___closed__6;
+x_403 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_403, 0, x_401);
+lean_ctor_set(x_403, 1, x_402);
+x_404 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_404, 0, x_2);
+x_405 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_405, 0, x_403);
+lean_ctor_set(x_405, 1, x_404);
+x_406 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
+x_407 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_407, 0, x_405);
+lean_ctor_set(x_407, 1, x_406);
+x_408 = lean_unbox(x_394);
+if (x_408 == 0)
{
-lean_object* x_360; lean_object* x_361; uint8_t x_362;
-x_360 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_361 = l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_isLevelDefEq___spec__4(x_356, x_360, x_354, x_5, x_6, x_7, x_8, x_359);
-lean_dec(x_8);
+lean_object* x_409; lean_object* x_410; lean_object* x_411; lean_object* x_412; lean_object* x_413; lean_object* x_414; uint8_t x_415;
+x_409 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
+x_410 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_410, 0, x_407);
+lean_ctor_set(x_410, 1, x_409);
+x_411 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_411, 0, x_410);
+lean_ctor_set(x_411, 1, x_400);
+x_412 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_413 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_412, x_411, x_5, x_6, x_7, x_8, x_397);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
-x_362 = !lean_is_exclusive(x_361);
-if (x_362 == 0)
-{
-lean_object* x_363; lean_object* x_364;
-x_363 = lean_ctor_get(x_361, 0);
-lean_dec(x_363);
-x_364 = lean_box(x_358);
-lean_ctor_set(x_361, 0, x_364);
-return x_361;
+x_414 = lean_ctor_get(x_413, 1);
+lean_inc(x_414);
+lean_dec(x_413);
+x_415 = lean_unbox(x_394);
+lean_dec(x_394);
+x_345 = x_415;
+x_346 = x_414;
+goto block_371;
}
else
{
-lean_object* x_365; lean_object* x_366; lean_object* x_367;
-x_365 = lean_ctor_get(x_361, 1);
+lean_object* x_416; lean_object* x_417; lean_object* x_418; lean_object* x_419; lean_object* x_420; lean_object* x_421; uint8_t x_422;
+x_416 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
+x_417 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_417, 0, x_407);
+lean_ctor_set(x_417, 1, x_416);
+x_418 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_418, 0, x_417);
+lean_ctor_set(x_418, 1, x_400);
+x_419 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_420 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_419, x_418, x_5, x_6, x_7, x_8, x_397);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+x_421 = lean_ctor_get(x_420, 1);
+lean_inc(x_421);
+lean_dec(x_420);
+x_422 = lean_unbox(x_394);
+lean_dec(x_394);
+x_345 = x_422;
+x_346 = x_421;
+goto block_371;
+}
+}
+}
+}
+else
+{
+lean_object* x_435; lean_object* x_436;
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_2);
+lean_dec(x_1);
+x_435 = lean_ctor_get(x_393, 0);
+lean_inc(x_435);
+x_436 = lean_ctor_get(x_393, 1);
+lean_inc(x_436);
+lean_dec(x_393);
+x_372 = x_435;
+x_373 = x_436;
+goto block_392;
+}
+block_371:
+{
+lean_object* x_347; lean_object* x_348; lean_object* x_349; lean_object* x_350; uint8_t x_351; lean_object* x_352; lean_object* x_353; lean_object* x_354; lean_object* x_355; lean_object* x_356; lean_object* x_357; lean_object* x_358; lean_object* x_359; lean_object* x_360; lean_object* x_361; lean_object* x_362; lean_object* x_363; lean_object* x_364; lean_object* x_365; lean_object* x_366; lean_object* x_367; lean_object* x_368; lean_object* x_369; lean_object* x_370;
+x_347 = lean_st_ref_get(x_8, x_346);
+x_348 = lean_ctor_get(x_347, 0);
+lean_inc(x_348);
+x_349 = lean_ctor_get(x_347, 1);
+lean_inc(x_349);
+lean_dec(x_347);
+x_350 = lean_ctor_get(x_348, 3);
+lean_inc(x_350);
+lean_dec(x_348);
+x_351 = lean_ctor_get_uint8(x_350, sizeof(void*)*1);
+lean_dec(x_350);
+x_352 = lean_st_ref_take(x_8, x_349);
+x_353 = lean_ctor_get(x_352, 0);
+lean_inc(x_353);
+x_354 = lean_ctor_get(x_353, 3);
+lean_inc(x_354);
+x_355 = lean_ctor_get(x_352, 1);
+lean_inc(x_355);
+lean_dec(x_352);
+x_356 = lean_ctor_get(x_353, 0);
+lean_inc(x_356);
+x_357 = lean_ctor_get(x_353, 1);
+lean_inc(x_357);
+x_358 = lean_ctor_get(x_353, 2);
+lean_inc(x_358);
+if (lean_is_exclusive(x_353)) {
+ lean_ctor_release(x_353, 0);
+ lean_ctor_release(x_353, 1);
+ lean_ctor_release(x_353, 2);
+ lean_ctor_release(x_353, 3);
+ x_359 = x_353;
+} else {
+ lean_dec_ref(x_353);
+ x_359 = lean_box(0);
+}
+x_360 = lean_ctor_get(x_354, 0);
+lean_inc(x_360);
+if (lean_is_exclusive(x_354)) {
+ lean_ctor_release(x_354, 0);
+ x_361 = x_354;
+} else {
+ lean_dec_ref(x_354);
+ x_361 = lean_box(0);
+}
+if (lean_is_scalar(x_361)) {
+ x_362 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_362 = x_361;
+}
+lean_ctor_set(x_362, 0, x_360);
+lean_ctor_set_uint8(x_362, sizeof(void*)*1, x_100);
+if (lean_is_scalar(x_359)) {
+ x_363 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_363 = x_359;
+}
+lean_ctor_set(x_363, 0, x_356);
+lean_ctor_set(x_363, 1, x_357);
+lean_ctor_set(x_363, 2, x_358);
+lean_ctor_set(x_363, 3, x_362);
+x_364 = lean_st_ref_set(x_8, x_363, x_355);
+lean_dec(x_8);
+x_365 = lean_ctor_get(x_364, 1);
lean_inc(x_365);
-lean_dec(x_361);
-x_366 = lean_box(x_358);
-x_367 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_367, 0, x_366);
-lean_ctor_set(x_367, 1, x_365);
-return x_367;
+if (lean_is_exclusive(x_364)) {
+ lean_ctor_release(x_364, 0);
+ lean_ctor_release(x_364, 1);
+ x_366 = x_364;
+} else {
+ lean_dec_ref(x_364);
+ x_366 = lean_box(0);
+}
+x_367 = lean_box(x_345);
+x_368 = lean_box(x_351);
+x_369 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_369, 0, x_367);
+lean_ctor_set(x_369, 1, x_368);
+if (lean_is_scalar(x_366)) {
+ x_370 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_370 = x_366;
+}
+lean_ctor_set(x_370, 0, x_369);
+lean_ctor_set(x_370, 1, x_365);
+x_10 = x_370;
+goto block_22;
+}
+block_392:
+{
+lean_object* x_374; lean_object* x_375; lean_object* x_376; lean_object* x_377; lean_object* x_378; lean_object* x_379; lean_object* x_380; lean_object* x_381; lean_object* x_382; lean_object* x_383; lean_object* x_384; lean_object* x_385; lean_object* x_386; lean_object* x_387; lean_object* x_388; lean_object* x_389; lean_object* x_390; lean_object* x_391;
+x_374 = lean_st_ref_get(x_8, x_373);
+x_375 = lean_ctor_get(x_374, 1);
+lean_inc(x_375);
+lean_dec(x_374);
+x_376 = lean_st_ref_take(x_8, x_375);
+x_377 = lean_ctor_get(x_376, 0);
+lean_inc(x_377);
+x_378 = lean_ctor_get(x_377, 3);
+lean_inc(x_378);
+x_379 = lean_ctor_get(x_376, 1);
+lean_inc(x_379);
+lean_dec(x_376);
+x_380 = lean_ctor_get(x_377, 0);
+lean_inc(x_380);
+x_381 = lean_ctor_get(x_377, 1);
+lean_inc(x_381);
+x_382 = lean_ctor_get(x_377, 2);
+lean_inc(x_382);
+if (lean_is_exclusive(x_377)) {
+ lean_ctor_release(x_377, 0);
+ lean_ctor_release(x_377, 1);
+ lean_ctor_release(x_377, 2);
+ lean_ctor_release(x_377, 3);
+ x_383 = x_377;
+} else {
+ lean_dec_ref(x_377);
+ x_383 = lean_box(0);
+}
+x_384 = lean_ctor_get(x_378, 0);
+lean_inc(x_384);
+if (lean_is_exclusive(x_378)) {
+ lean_ctor_release(x_378, 0);
+ x_385 = x_378;
+} else {
+ lean_dec_ref(x_378);
+ x_385 = lean_box(0);
+}
+if (lean_is_scalar(x_385)) {
+ x_386 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_386 = x_385;
+}
+lean_ctor_set(x_386, 0, x_384);
+lean_ctor_set_uint8(x_386, sizeof(void*)*1, x_100);
+if (lean_is_scalar(x_383)) {
+ x_387 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_387 = x_383;
+}
+lean_ctor_set(x_387, 0, x_380);
+lean_ctor_set(x_387, 1, x_381);
+lean_ctor_set(x_387, 2, x_382);
+lean_ctor_set(x_387, 3, x_386);
+x_388 = lean_st_ref_set(x_8, x_387, x_379);
+lean_dec(x_8);
+x_389 = lean_ctor_get(x_388, 1);
+lean_inc(x_389);
+if (lean_is_exclusive(x_388)) {
+ lean_ctor_release(x_388, 0);
+ lean_ctor_release(x_388, 1);
+ x_390 = x_388;
+} else {
+ lean_dec_ref(x_388);
+ x_390 = lean_box(0);
+}
+if (lean_is_scalar(x_390)) {
+ x_391 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_391 = x_390;
+ lean_ctor_set_tag(x_391, 1);
+}
+lean_ctor_set(x_391, 0, x_372);
+lean_ctor_set(x_391, 1, x_389);
+x_10 = x_391;
+goto block_22;
+}
}
}
}
@@ -13563,7 +13640,7 @@ return x_2;
lean_object* l_Lean_Meta_mkAppM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_isMonad_x3f___spec__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) {
_start:
{
-lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; lean_object* x_14; lean_object* x_216; lean_object* x_217; lean_object* x_218; uint8_t x_219;
+lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; lean_object* x_14; lean_object* x_220; lean_object* x_221; lean_object* x_222; uint8_t x_223;
x_10 = lean_alloc_closure((void*)(l___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkFun___boxed), 6, 1);
lean_closure_set(x_10, 0, x_1);
x_11 = lean_alloc_closure((void*)(l_Lean_Meta_mkAppM___rarg___lambda__1___boxed), 7, 1);
@@ -13571,291 +13648,309 @@ lean_closure_set(x_11, 0, x_2);
x_12 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Meta_Lean_Meta_Basic___instance__5___spec__2___rarg), 7, 2);
lean_closure_set(x_12, 0, x_10);
lean_closure_set(x_12, 1, x_11);
-x_216 = lean_st_ref_get(x_8, x_9);
-x_217 = lean_ctor_get(x_216, 0);
-lean_inc(x_217);
-x_218 = lean_ctor_get(x_217, 3);
-lean_inc(x_218);
-lean_dec(x_217);
-x_219 = lean_ctor_get_uint8(x_218, sizeof(void*)*1);
-lean_dec(x_218);
-if (x_219 == 0)
+x_220 = lean_st_ref_get(x_8, x_9);
+x_221 = lean_ctor_get(x_220, 0);
+lean_inc(x_221);
+x_222 = lean_ctor_get(x_221, 3);
+lean_inc(x_222);
+lean_dec(x_221);
+x_223 = lean_ctor_get_uint8(x_222, sizeof(void*)*1);
+lean_dec(x_222);
+if (x_223 == 0)
{
-lean_object* x_220; uint8_t x_221;
-x_220 = lean_ctor_get(x_216, 1);
-lean_inc(x_220);
-lean_dec(x_216);
-x_221 = 0;
-x_13 = x_221;
-x_14 = x_220;
-goto block_215;
+lean_object* x_224; uint8_t x_225;
+x_224 = lean_ctor_get(x_220, 1);
+lean_inc(x_224);
+lean_dec(x_220);
+x_225 = 0;
+x_13 = x_225;
+x_14 = x_224;
+goto block_219;
}
else
{
-lean_object* x_222; lean_object* x_223; lean_object* x_224; lean_object* x_225; lean_object* x_226; uint8_t x_227;
-x_222 = lean_ctor_get(x_216, 1);
-lean_inc(x_222);
-lean_dec(x_216);
-x_223 = l_Lean_Meta_mkAppM___rarg___closed__2;
-x_224 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_223, x_5, x_6, x_7, x_8, x_222);
-x_225 = lean_ctor_get(x_224, 0);
-lean_inc(x_225);
-x_226 = lean_ctor_get(x_224, 1);
+lean_object* x_226; lean_object* x_227; lean_object* x_228; lean_object* x_229; lean_object* x_230; uint8_t x_231;
+x_226 = lean_ctor_get(x_220, 1);
lean_inc(x_226);
-lean_dec(x_224);
-x_227 = lean_unbox(x_225);
-lean_dec(x_225);
-x_13 = x_227;
-x_14 = x_226;
-goto block_215;
+lean_dec(x_220);
+x_227 = l_Lean_Meta_mkAppM___rarg___closed__2;
+x_228 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_227, x_5, x_6, x_7, x_8, x_226);
+x_229 = lean_ctor_get(x_228, 0);
+lean_inc(x_229);
+x_230 = lean_ctor_get(x_228, 1);
+lean_inc(x_230);
+lean_dec(x_228);
+x_231 = lean_unbox(x_229);
+lean_dec(x_229);
+x_13 = x_231;
+x_14 = x_230;
+goto block_219;
}
-block_215:
+block_219:
{
+uint8_t x_15;
if (x_13 == 0)
{
-lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24;
-x_15 = lean_st_ref_get(x_8, x_14);
-x_16 = lean_ctor_get(x_15, 0);
-lean_inc(x_16);
-x_17 = lean_ctor_get(x_16, 3);
-lean_inc(x_17);
-lean_dec(x_16);
-x_18 = lean_ctor_get(x_15, 1);
-lean_inc(x_18);
-lean_dec(x_15);
-x_19 = lean_ctor_get_uint8(x_17, sizeof(void*)*1);
-lean_dec(x_17);
-x_20 = lean_st_ref_take(x_8, x_18);
-x_21 = lean_ctor_get(x_20, 0);
-lean_inc(x_21);
-x_22 = lean_ctor_get(x_21, 3);
-lean_inc(x_22);
-x_23 = lean_ctor_get(x_20, 1);
-lean_inc(x_23);
-lean_dec(x_20);
-x_24 = !lean_is_exclusive(x_21);
-if (x_24 == 0)
-{
-lean_object* x_25; uint8_t x_26;
-x_25 = lean_ctor_get(x_21, 3);
-lean_dec(x_25);
-x_26 = !lean_is_exclusive(x_22);
-if (x_26 == 0)
-{
-uint8_t x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30;
-x_27 = 0;
-lean_ctor_set_uint8(x_22, sizeof(void*)*1, x_27);
-x_28 = lean_st_ref_set(x_8, x_21, x_23);
-x_29 = lean_ctor_get(x_28, 1);
-lean_inc(x_29);
-lean_dec(x_28);
-lean_inc(x_8);
-x_30 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_12, x_5, x_6, x_7, x_8, x_29);
-if (lean_obj_tag(x_30) == 0)
-{
-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; uint8_t x_39;
-x_31 = lean_ctor_get(x_30, 0);
-lean_inc(x_31);
-x_32 = lean_ctor_get(x_30, 1);
-lean_inc(x_32);
-lean_dec(x_30);
-x_33 = lean_st_ref_get(x_8, x_32);
-x_34 = lean_ctor_get(x_33, 1);
-lean_inc(x_34);
-lean_dec(x_33);
-x_35 = lean_st_ref_take(x_8, x_34);
-x_36 = lean_ctor_get(x_35, 0);
-lean_inc(x_36);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-x_38 = lean_ctor_get(x_35, 1);
-lean_inc(x_38);
-lean_dec(x_35);
-x_39 = !lean_is_exclusive(x_36);
-if (x_39 == 0)
-{
-lean_object* x_40; uint8_t x_41;
-x_40 = lean_ctor_get(x_36, 3);
-lean_dec(x_40);
-x_41 = !lean_is_exclusive(x_37);
-if (x_41 == 0)
-{
-lean_object* x_42; uint8_t x_43;
-lean_ctor_set_uint8(x_37, sizeof(void*)*1, x_19);
-x_42 = lean_st_ref_set(x_8, x_36, x_38);
-lean_dec(x_8);
-x_43 = !lean_is_exclusive(x_42);
-if (x_43 == 0)
-{
-lean_object* x_44;
-x_44 = lean_ctor_get(x_42, 0);
-lean_dec(x_44);
-lean_ctor_set(x_42, 0, x_31);
-return x_42;
+uint8_t x_217;
+x_217 = 1;
+x_15 = x_217;
+goto block_216;
}
else
{
-lean_object* x_45; lean_object* x_46;
+uint8_t x_218;
+x_218 = 0;
+x_15 = x_218;
+goto block_216;
+}
+block_216:
+{
+if (x_15 == 0)
+{
+lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
+x_16 = lean_ctor_get(x_7, 3);
+lean_inc(x_16);
+x_17 = l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_isLevelDefEq___spec__2___rarg(x_8, x_14);
+x_18 = lean_ctor_get(x_17, 0);
+lean_inc(x_18);
+x_19 = lean_ctor_get(x_17, 1);
+lean_inc(x_19);
+lean_dec(x_17);
+lean_inc(x_8);
+lean_inc(x_7);
+lean_inc(x_6);
+lean_inc(x_5);
+x_20 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_12, x_5, x_6, x_7, x_8, x_19);
+if (lean_obj_tag(x_20) == 0)
+{
+lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; uint8_t x_25;
+x_21 = lean_ctor_get(x_20, 0);
+lean_inc(x_21);
+x_22 = lean_ctor_get(x_20, 1);
+lean_inc(x_22);
+lean_dec(x_20);
+x_23 = l_Lean_Meta_mkAppM___rarg___closed__2;
+x_24 = l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_isLevelDefEq___spec__3(x_18, x_23, x_16, x_5, x_6, x_7, x_8, x_22);
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+x_25 = !lean_is_exclusive(x_24);
+if (x_25 == 0)
+{
+lean_object* x_26;
+x_26 = lean_ctor_get(x_24, 0);
+lean_dec(x_26);
+lean_ctor_set(x_24, 0, x_21);
+return x_24;
+}
+else
+{
+lean_object* x_27; lean_object* x_28;
+x_27 = lean_ctor_get(x_24, 1);
+lean_inc(x_27);
+lean_dec(x_24);
+x_28 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_28, 0, x_21);
+lean_ctor_set(x_28, 1, x_27);
+return x_28;
+}
+}
+else
+{
+lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; uint8_t x_33;
+x_29 = lean_ctor_get(x_20, 0);
+lean_inc(x_29);
+x_30 = lean_ctor_get(x_20, 1);
+lean_inc(x_30);
+lean_dec(x_20);
+x_31 = l_Lean_Meta_mkAppM___rarg___closed__2;
+x_32 = l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_isLevelDefEq___spec__3(x_18, x_31, x_16, x_5, x_6, x_7, x_8, x_30);
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+x_33 = !lean_is_exclusive(x_32);
+if (x_33 == 0)
+{
+lean_object* x_34;
+x_34 = lean_ctor_get(x_32, 0);
+lean_dec(x_34);
+lean_ctor_set_tag(x_32, 1);
+lean_ctor_set(x_32, 0, x_29);
+return x_32;
+}
+else
+{
+lean_object* x_35; lean_object* x_36;
+x_35 = lean_ctor_get(x_32, 1);
+lean_inc(x_35);
+lean_dec(x_32);
+x_36 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_36, 0, x_29);
+lean_ctor_set(x_36, 1, x_35);
+return x_36;
+}
+}
+}
+else
+{
+lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; uint8_t x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; uint8_t x_46;
+x_37 = lean_st_ref_get(x_8, x_14);
+x_38 = lean_ctor_get(x_37, 0);
+lean_inc(x_38);
+x_39 = lean_ctor_get(x_38, 3);
+lean_inc(x_39);
+lean_dec(x_38);
+x_40 = lean_ctor_get(x_37, 1);
+lean_inc(x_40);
+lean_dec(x_37);
+x_41 = lean_ctor_get_uint8(x_39, sizeof(void*)*1);
+lean_dec(x_39);
+x_42 = lean_st_ref_take(x_8, x_40);
+x_43 = lean_ctor_get(x_42, 0);
+lean_inc(x_43);
+x_44 = lean_ctor_get(x_43, 3);
+lean_inc(x_44);
x_45 = lean_ctor_get(x_42, 1);
lean_inc(x_45);
lean_dec(x_42);
-x_46 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_46, 0, x_31);
-lean_ctor_set(x_46, 1, x_45);
-return x_46;
-}
-}
-else
+x_46 = !lean_is_exclusive(x_43);
+if (x_46 == 0)
{
-lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52;
-x_47 = lean_ctor_get(x_37, 0);
-lean_inc(x_47);
-lean_dec(x_37);
-x_48 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_48, 0, x_47);
-lean_ctor_set_uint8(x_48, sizeof(void*)*1, x_19);
-lean_ctor_set(x_36, 3, x_48);
-x_49 = lean_st_ref_set(x_8, x_36, x_38);
-lean_dec(x_8);
-x_50 = lean_ctor_get(x_49, 1);
-lean_inc(x_50);
-if (lean_is_exclusive(x_49)) {
- lean_ctor_release(x_49, 0);
- lean_ctor_release(x_49, 1);
- x_51 = x_49;
-} else {
- lean_dec_ref(x_49);
- x_51 = lean_box(0);
-}
-if (lean_is_scalar(x_51)) {
- x_52 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_52 = x_51;
-}
-lean_ctor_set(x_52, 0, x_31);
-lean_ctor_set(x_52, 1, x_50);
-return x_52;
-}
-}
-else
+lean_object* x_47; uint8_t x_48;
+x_47 = lean_ctor_get(x_43, 3);
+lean_dec(x_47);
+x_48 = !lean_is_exclusive(x_44);
+if (x_48 == 0)
{
-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;
-x_53 = lean_ctor_get(x_36, 0);
-x_54 = lean_ctor_get(x_36, 1);
-x_55 = lean_ctor_get(x_36, 2);
-lean_inc(x_55);
-lean_inc(x_54);
+uint8_t x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52;
+x_49 = 0;
+lean_ctor_set_uint8(x_44, sizeof(void*)*1, x_49);
+x_50 = lean_st_ref_set(x_8, x_43, x_45);
+x_51 = lean_ctor_get(x_50, 1);
+lean_inc(x_51);
+lean_dec(x_50);
+lean_inc(x_8);
+x_52 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_12, x_5, x_6, x_7, x_8, x_51);
+if (lean_obj_tag(x_52) == 0)
+{
+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; uint8_t x_61;
+x_53 = lean_ctor_get(x_52, 0);
lean_inc(x_53);
-lean_dec(x_36);
-x_56 = lean_ctor_get(x_37, 0);
+x_54 = lean_ctor_get(x_52, 1);
+lean_inc(x_54);
+lean_dec(x_52);
+x_55 = lean_st_ref_get(x_8, x_54);
+x_56 = lean_ctor_get(x_55, 1);
lean_inc(x_56);
-if (lean_is_exclusive(x_37)) {
- lean_ctor_release(x_37, 0);
- x_57 = x_37;
-} else {
- lean_dec_ref(x_37);
- x_57 = lean_box(0);
-}
-if (lean_is_scalar(x_57)) {
- x_58 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_58 = x_57;
-}
-lean_ctor_set(x_58, 0, x_56);
-lean_ctor_set_uint8(x_58, sizeof(void*)*1, x_19);
-x_59 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_59, 0, x_53);
-lean_ctor_set(x_59, 1, x_54);
-lean_ctor_set(x_59, 2, x_55);
-lean_ctor_set(x_59, 3, x_58);
-x_60 = lean_st_ref_set(x_8, x_59, x_38);
-lean_dec(x_8);
-x_61 = lean_ctor_get(x_60, 1);
-lean_inc(x_61);
-if (lean_is_exclusive(x_60)) {
- lean_ctor_release(x_60, 0);
- lean_ctor_release(x_60, 1);
- x_62 = x_60;
-} else {
- lean_dec_ref(x_60);
- x_62 = lean_box(0);
-}
-if (lean_is_scalar(x_62)) {
- x_63 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_63 = x_62;
-}
-lean_ctor_set(x_63, 0, x_31);
-lean_ctor_set(x_63, 1, x_61);
-return x_63;
-}
-}
-else
+lean_dec(x_55);
+x_57 = lean_st_ref_take(x_8, x_56);
+x_58 = lean_ctor_get(x_57, 0);
+lean_inc(x_58);
+x_59 = lean_ctor_get(x_58, 3);
+lean_inc(x_59);
+x_60 = lean_ctor_get(x_57, 1);
+lean_inc(x_60);
+lean_dec(x_57);
+x_61 = !lean_is_exclusive(x_58);
+if (x_61 == 0)
{
-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; uint8_t x_72;
-x_64 = lean_ctor_get(x_30, 0);
-lean_inc(x_64);
-x_65 = lean_ctor_get(x_30, 1);
-lean_inc(x_65);
-lean_dec(x_30);
-x_66 = lean_st_ref_get(x_8, x_65);
-x_67 = lean_ctor_get(x_66, 1);
-lean_inc(x_67);
+lean_object* x_62; uint8_t x_63;
+x_62 = lean_ctor_get(x_58, 3);
+lean_dec(x_62);
+x_63 = !lean_is_exclusive(x_59);
+if (x_63 == 0)
+{
+lean_object* x_64; uint8_t x_65;
+lean_ctor_set_uint8(x_59, sizeof(void*)*1, x_41);
+x_64 = lean_st_ref_set(x_8, x_58, x_60);
+lean_dec(x_8);
+x_65 = !lean_is_exclusive(x_64);
+if (x_65 == 0)
+{
+lean_object* x_66;
+x_66 = lean_ctor_get(x_64, 0);
lean_dec(x_66);
-x_68 = lean_st_ref_take(x_8, x_67);
-x_69 = lean_ctor_get(x_68, 0);
+lean_ctor_set(x_64, 0, x_53);
+return x_64;
+}
+else
+{
+lean_object* x_67; lean_object* x_68;
+x_67 = lean_ctor_get(x_64, 1);
+lean_inc(x_67);
+lean_dec(x_64);
+x_68 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_68, 0, x_53);
+lean_ctor_set(x_68, 1, x_67);
+return x_68;
+}
+}
+else
+{
+lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74;
+x_69 = lean_ctor_get(x_59, 0);
lean_inc(x_69);
-x_70 = lean_ctor_get(x_69, 3);
-lean_inc(x_70);
-x_71 = lean_ctor_get(x_68, 1);
-lean_inc(x_71);
-lean_dec(x_68);
-x_72 = !lean_is_exclusive(x_69);
-if (x_72 == 0)
-{
-lean_object* x_73; uint8_t x_74;
-x_73 = lean_ctor_get(x_69, 3);
-lean_dec(x_73);
-x_74 = !lean_is_exclusive(x_70);
-if (x_74 == 0)
-{
-lean_object* x_75; uint8_t x_76;
-lean_ctor_set_uint8(x_70, sizeof(void*)*1, x_19);
-x_75 = lean_st_ref_set(x_8, x_69, x_71);
+lean_dec(x_59);
+x_70 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_70, 0, x_69);
+lean_ctor_set_uint8(x_70, sizeof(void*)*1, x_41);
+lean_ctor_set(x_58, 3, x_70);
+x_71 = lean_st_ref_set(x_8, x_58, x_60);
lean_dec(x_8);
-x_76 = !lean_is_exclusive(x_75);
-if (x_76 == 0)
-{
-lean_object* x_77;
-x_77 = lean_ctor_get(x_75, 0);
-lean_dec(x_77);
-lean_ctor_set_tag(x_75, 1);
-lean_ctor_set(x_75, 0, x_64);
-return x_75;
+x_72 = lean_ctor_get(x_71, 1);
+lean_inc(x_72);
+if (lean_is_exclusive(x_71)) {
+ lean_ctor_release(x_71, 0);
+ lean_ctor_release(x_71, 1);
+ x_73 = x_71;
+} else {
+ lean_dec_ref(x_71);
+ x_73 = lean_box(0);
+}
+if (lean_is_scalar(x_73)) {
+ x_74 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_74 = x_73;
+}
+lean_ctor_set(x_74, 0, x_53);
+lean_ctor_set(x_74, 1, x_72);
+return x_74;
+}
}
else
{
-lean_object* x_78; lean_object* x_79;
-x_78 = lean_ctor_get(x_75, 1);
+lean_object* x_75; lean_object* x_76; lean_object* x_77; 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;
+x_75 = lean_ctor_get(x_58, 0);
+x_76 = lean_ctor_get(x_58, 1);
+x_77 = lean_ctor_get(x_58, 2);
+lean_inc(x_77);
+lean_inc(x_76);
+lean_inc(x_75);
+lean_dec(x_58);
+x_78 = lean_ctor_get(x_59, 0);
lean_inc(x_78);
-lean_dec(x_75);
-x_79 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_79, 0, x_64);
-lean_ctor_set(x_79, 1, x_78);
-return x_79;
+if (lean_is_exclusive(x_59)) {
+ lean_ctor_release(x_59, 0);
+ x_79 = x_59;
+} else {
+ lean_dec_ref(x_59);
+ x_79 = lean_box(0);
}
+if (lean_is_scalar(x_79)) {
+ x_80 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_80 = x_79;
}
-else
-{
-lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85;
-x_80 = lean_ctor_get(x_70, 0);
-lean_inc(x_80);
-lean_dec(x_70);
-x_81 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_81, 0, x_80);
-lean_ctor_set_uint8(x_81, sizeof(void*)*1, x_19);
-lean_ctor_set(x_69, 3, x_81);
-x_82 = lean_st_ref_set(x_8, x_69, x_71);
+lean_ctor_set(x_80, 0, x_78);
+lean_ctor_set_uint8(x_80, sizeof(void*)*1, x_41);
+x_81 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_81, 0, x_75);
+lean_ctor_set(x_81, 1, x_76);
+lean_ctor_set(x_81, 2, x_77);
+lean_ctor_set(x_81, 3, x_80);
+x_82 = lean_st_ref_set(x_8, x_81, x_60);
lean_dec(x_8);
x_83 = lean_ctor_get(x_82, 1);
lean_inc(x_83);
@@ -13868,545 +13963,545 @@ if (lean_is_exclusive(x_82)) {
x_84 = lean_box(0);
}
if (lean_is_scalar(x_84)) {
- x_85 = lean_alloc_ctor(1, 2, 0);
+ x_85 = lean_alloc_ctor(0, 2, 0);
} else {
x_85 = x_84;
- lean_ctor_set_tag(x_85, 1);
}
-lean_ctor_set(x_85, 0, x_64);
+lean_ctor_set(x_85, 0, x_53);
lean_ctor_set(x_85, 1, x_83);
return x_85;
}
}
else
{
-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;
-x_86 = lean_ctor_get(x_69, 0);
-x_87 = lean_ctor_get(x_69, 1);
-x_88 = lean_ctor_get(x_69, 2);
-lean_inc(x_88);
-lean_inc(x_87);
+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; uint8_t x_94;
+x_86 = lean_ctor_get(x_52, 0);
lean_inc(x_86);
-lean_dec(x_69);
-x_89 = lean_ctor_get(x_70, 0);
+x_87 = lean_ctor_get(x_52, 1);
+lean_inc(x_87);
+lean_dec(x_52);
+x_88 = lean_st_ref_get(x_8, x_87);
+x_89 = lean_ctor_get(x_88, 1);
lean_inc(x_89);
-if (lean_is_exclusive(x_70)) {
- lean_ctor_release(x_70, 0);
- x_90 = x_70;
-} else {
- lean_dec_ref(x_70);
- x_90 = lean_box(0);
-}
-if (lean_is_scalar(x_90)) {
- x_91 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_91 = x_90;
-}
-lean_ctor_set(x_91, 0, x_89);
-lean_ctor_set_uint8(x_91, sizeof(void*)*1, x_19);
-x_92 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_92, 0, x_86);
-lean_ctor_set(x_92, 1, x_87);
-lean_ctor_set(x_92, 2, x_88);
-lean_ctor_set(x_92, 3, x_91);
-x_93 = lean_st_ref_set(x_8, x_92, x_71);
+lean_dec(x_88);
+x_90 = lean_st_ref_take(x_8, x_89);
+x_91 = lean_ctor_get(x_90, 0);
+lean_inc(x_91);
+x_92 = lean_ctor_get(x_91, 3);
+lean_inc(x_92);
+x_93 = lean_ctor_get(x_90, 1);
+lean_inc(x_93);
+lean_dec(x_90);
+x_94 = !lean_is_exclusive(x_91);
+if (x_94 == 0)
+{
+lean_object* x_95; uint8_t x_96;
+x_95 = lean_ctor_get(x_91, 3);
+lean_dec(x_95);
+x_96 = !lean_is_exclusive(x_92);
+if (x_96 == 0)
+{
+lean_object* x_97; uint8_t x_98;
+lean_ctor_set_uint8(x_92, sizeof(void*)*1, x_41);
+x_97 = lean_st_ref_set(x_8, x_91, x_93);
lean_dec(x_8);
-x_94 = lean_ctor_get(x_93, 1);
-lean_inc(x_94);
-if (lean_is_exclusive(x_93)) {
- lean_ctor_release(x_93, 0);
- lean_ctor_release(x_93, 1);
- x_95 = x_93;
-} else {
- lean_dec_ref(x_93);
- x_95 = lean_box(0);
-}
-if (lean_is_scalar(x_95)) {
- x_96 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_96 = x_95;
- lean_ctor_set_tag(x_96, 1);
-}
-lean_ctor_set(x_96, 0, x_64);
-lean_ctor_set(x_96, 1, x_94);
-return x_96;
+x_98 = !lean_is_exclusive(x_97);
+if (x_98 == 0)
+{
+lean_object* x_99;
+x_99 = lean_ctor_get(x_97, 0);
+lean_dec(x_99);
+lean_ctor_set_tag(x_97, 1);
+lean_ctor_set(x_97, 0, x_86);
+return x_97;
}
+else
+{
+lean_object* x_100; lean_object* x_101;
+x_100 = lean_ctor_get(x_97, 1);
+lean_inc(x_100);
+lean_dec(x_97);
+x_101 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_101, 0, x_86);
+lean_ctor_set(x_101, 1, x_100);
+return x_101;
}
}
else
{
-lean_object* x_97; uint8_t x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102;
-x_97 = lean_ctor_get(x_22, 0);
-lean_inc(x_97);
-lean_dec(x_22);
-x_98 = 0;
-x_99 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_99, 0, x_97);
-lean_ctor_set_uint8(x_99, sizeof(void*)*1, x_98);
-lean_ctor_set(x_21, 3, x_99);
-x_100 = lean_st_ref_set(x_8, x_21, x_23);
-x_101 = lean_ctor_get(x_100, 1);
-lean_inc(x_101);
-lean_dec(x_100);
-lean_inc(x_8);
-x_102 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_12, x_5, x_6, x_7, x_8, x_101);
-if (lean_obj_tag(x_102) == 0)
+lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107;
+x_102 = lean_ctor_get(x_92, 0);
+lean_inc(x_102);
+lean_dec(x_92);
+x_103 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_103, 0, x_102);
+lean_ctor_set_uint8(x_103, sizeof(void*)*1, x_41);
+lean_ctor_set(x_91, 3, x_103);
+x_104 = lean_st_ref_set(x_8, x_91, x_93);
+lean_dec(x_8);
+x_105 = lean_ctor_get(x_104, 1);
+lean_inc(x_105);
+if (lean_is_exclusive(x_104)) {
+ lean_ctor_release(x_104, 0);
+ lean_ctor_release(x_104, 1);
+ x_106 = x_104;
+} else {
+ lean_dec_ref(x_104);
+ x_106 = lean_box(0);
+}
+if (lean_is_scalar(x_106)) {
+ x_107 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_107 = x_106;
+ lean_ctor_set_tag(x_107, 1);
+}
+lean_ctor_set(x_107, 0, x_86);
+lean_ctor_set(x_107, 1, x_105);
+return x_107;
+}
+}
+else
{
-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;
-x_103 = lean_ctor_get(x_102, 0);
-lean_inc(x_103);
-x_104 = lean_ctor_get(x_102, 1);
-lean_inc(x_104);
-lean_dec(x_102);
-x_105 = lean_st_ref_get(x_8, x_104);
-x_106 = lean_ctor_get(x_105, 1);
-lean_inc(x_106);
-lean_dec(x_105);
-x_107 = lean_st_ref_take(x_8, x_106);
-x_108 = lean_ctor_get(x_107, 0);
-lean_inc(x_108);
-x_109 = lean_ctor_get(x_108, 3);
-lean_inc(x_109);
-x_110 = lean_ctor_get(x_107, 1);
+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;
+x_108 = lean_ctor_get(x_91, 0);
+x_109 = lean_ctor_get(x_91, 1);
+x_110 = lean_ctor_get(x_91, 2);
lean_inc(x_110);
-lean_dec(x_107);
-x_111 = lean_ctor_get(x_108, 0);
+lean_inc(x_109);
+lean_inc(x_108);
+lean_dec(x_91);
+x_111 = lean_ctor_get(x_92, 0);
lean_inc(x_111);
-x_112 = lean_ctor_get(x_108, 1);
-lean_inc(x_112);
-x_113 = lean_ctor_get(x_108, 2);
-lean_inc(x_113);
-if (lean_is_exclusive(x_108)) {
- lean_ctor_release(x_108, 0);
- lean_ctor_release(x_108, 1);
- lean_ctor_release(x_108, 2);
- lean_ctor_release(x_108, 3);
- x_114 = x_108;
+if (lean_is_exclusive(x_92)) {
+ lean_ctor_release(x_92, 0);
+ x_112 = x_92;
} else {
- lean_dec_ref(x_108);
- x_114 = lean_box(0);
+ lean_dec_ref(x_92);
+ x_112 = lean_box(0);
}
-x_115 = lean_ctor_get(x_109, 0);
-lean_inc(x_115);
-if (lean_is_exclusive(x_109)) {
- lean_ctor_release(x_109, 0);
- x_116 = x_109;
+if (lean_is_scalar(x_112)) {
+ x_113 = lean_alloc_ctor(0, 1, 1);
} else {
- lean_dec_ref(x_109);
- x_116 = lean_box(0);
+ x_113 = x_112;
}
-if (lean_is_scalar(x_116)) {
- x_117 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_117 = x_116;
-}
-lean_ctor_set(x_117, 0, x_115);
-lean_ctor_set_uint8(x_117, sizeof(void*)*1, x_19);
-if (lean_is_scalar(x_114)) {
- x_118 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_118 = x_114;
-}
-lean_ctor_set(x_118, 0, x_111);
-lean_ctor_set(x_118, 1, x_112);
-lean_ctor_set(x_118, 2, x_113);
-lean_ctor_set(x_118, 3, x_117);
-x_119 = lean_st_ref_set(x_8, x_118, x_110);
+lean_ctor_set(x_113, 0, x_111);
+lean_ctor_set_uint8(x_113, sizeof(void*)*1, x_41);
+x_114 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_114, 0, x_108);
+lean_ctor_set(x_114, 1, x_109);
+lean_ctor_set(x_114, 2, x_110);
+lean_ctor_set(x_114, 3, x_113);
+x_115 = lean_st_ref_set(x_8, x_114, x_93);
lean_dec(x_8);
-x_120 = lean_ctor_get(x_119, 1);
-lean_inc(x_120);
-if (lean_is_exclusive(x_119)) {
- lean_ctor_release(x_119, 0);
- lean_ctor_release(x_119, 1);
- x_121 = x_119;
+x_116 = lean_ctor_get(x_115, 1);
+lean_inc(x_116);
+if (lean_is_exclusive(x_115)) {
+ lean_ctor_release(x_115, 0);
+ lean_ctor_release(x_115, 1);
+ x_117 = x_115;
} else {
- lean_dec_ref(x_119);
- x_121 = lean_box(0);
+ lean_dec_ref(x_115);
+ x_117 = lean_box(0);
}
-if (lean_is_scalar(x_121)) {
- x_122 = lean_alloc_ctor(0, 2, 0);
+if (lean_is_scalar(x_117)) {
+ x_118 = lean_alloc_ctor(1, 2, 0);
} else {
- x_122 = x_121;
+ x_118 = x_117;
+ lean_ctor_set_tag(x_118, 1);
+}
+lean_ctor_set(x_118, 0, x_86);
+lean_ctor_set(x_118, 1, x_116);
+return x_118;
+}
}
-lean_ctor_set(x_122, 0, x_103);
-lean_ctor_set(x_122, 1, x_120);
-return x_122;
}
else
{
-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; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142;
-x_123 = lean_ctor_get(x_102, 0);
+lean_object* x_119; uint8_t x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124;
+x_119 = lean_ctor_get(x_44, 0);
+lean_inc(x_119);
+lean_dec(x_44);
+x_120 = 0;
+x_121 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_121, 0, x_119);
+lean_ctor_set_uint8(x_121, sizeof(void*)*1, x_120);
+lean_ctor_set(x_43, 3, x_121);
+x_122 = lean_st_ref_set(x_8, x_43, x_45);
+x_123 = lean_ctor_get(x_122, 1);
lean_inc(x_123);
-x_124 = lean_ctor_get(x_102, 1);
-lean_inc(x_124);
-lean_dec(x_102);
-x_125 = lean_st_ref_get(x_8, x_124);
-x_126 = lean_ctor_get(x_125, 1);
+lean_dec(x_122);
+lean_inc(x_8);
+x_124 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_12, x_5, x_6, x_7, x_8, x_123);
+if (lean_obj_tag(x_124) == 0)
+{
+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; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144;
+x_125 = lean_ctor_get(x_124, 0);
+lean_inc(x_125);
+x_126 = lean_ctor_get(x_124, 1);
lean_inc(x_126);
-lean_dec(x_125);
-x_127 = lean_st_ref_take(x_8, x_126);
-x_128 = lean_ctor_get(x_127, 0);
+lean_dec(x_124);
+x_127 = lean_st_ref_get(x_8, x_126);
+x_128 = lean_ctor_get(x_127, 1);
lean_inc(x_128);
-x_129 = lean_ctor_get(x_128, 3);
-lean_inc(x_129);
-x_130 = lean_ctor_get(x_127, 1);
-lean_inc(x_130);
lean_dec(x_127);
-x_131 = lean_ctor_get(x_128, 0);
+x_129 = lean_st_ref_take(x_8, x_128);
+x_130 = lean_ctor_get(x_129, 0);
+lean_inc(x_130);
+x_131 = lean_ctor_get(x_130, 3);
lean_inc(x_131);
-x_132 = lean_ctor_get(x_128, 1);
+x_132 = lean_ctor_get(x_129, 1);
lean_inc(x_132);
-x_133 = lean_ctor_get(x_128, 2);
+lean_dec(x_129);
+x_133 = lean_ctor_get(x_130, 0);
lean_inc(x_133);
-if (lean_is_exclusive(x_128)) {
- lean_ctor_release(x_128, 0);
- lean_ctor_release(x_128, 1);
- lean_ctor_release(x_128, 2);
- lean_ctor_release(x_128, 3);
- x_134 = x_128;
-} else {
- lean_dec_ref(x_128);
- x_134 = lean_box(0);
-}
-x_135 = lean_ctor_get(x_129, 0);
+x_134 = lean_ctor_get(x_130, 1);
+lean_inc(x_134);
+x_135 = lean_ctor_get(x_130, 2);
lean_inc(x_135);
-if (lean_is_exclusive(x_129)) {
- lean_ctor_release(x_129, 0);
- x_136 = x_129;
+if (lean_is_exclusive(x_130)) {
+ lean_ctor_release(x_130, 0);
+ lean_ctor_release(x_130, 1);
+ lean_ctor_release(x_130, 2);
+ lean_ctor_release(x_130, 3);
+ x_136 = x_130;
} else {
- lean_dec_ref(x_129);
+ lean_dec_ref(x_130);
x_136 = lean_box(0);
}
+x_137 = lean_ctor_get(x_131, 0);
+lean_inc(x_137);
+if (lean_is_exclusive(x_131)) {
+ lean_ctor_release(x_131, 0);
+ x_138 = x_131;
+} else {
+ lean_dec_ref(x_131);
+ x_138 = lean_box(0);
+}
+if (lean_is_scalar(x_138)) {
+ x_139 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_139 = x_138;
+}
+lean_ctor_set(x_139, 0, x_137);
+lean_ctor_set_uint8(x_139, sizeof(void*)*1, x_41);
if (lean_is_scalar(x_136)) {
- x_137 = lean_alloc_ctor(0, 1, 1);
+ x_140 = lean_alloc_ctor(0, 4, 0);
} else {
- x_137 = x_136;
+ x_140 = x_136;
}
-lean_ctor_set(x_137, 0, x_135);
-lean_ctor_set_uint8(x_137, sizeof(void*)*1, x_19);
-if (lean_is_scalar(x_134)) {
- x_138 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_138 = x_134;
-}
-lean_ctor_set(x_138, 0, x_131);
-lean_ctor_set(x_138, 1, x_132);
-lean_ctor_set(x_138, 2, x_133);
-lean_ctor_set(x_138, 3, x_137);
-x_139 = lean_st_ref_set(x_8, x_138, x_130);
+lean_ctor_set(x_140, 0, x_133);
+lean_ctor_set(x_140, 1, x_134);
+lean_ctor_set(x_140, 2, x_135);
+lean_ctor_set(x_140, 3, x_139);
+x_141 = lean_st_ref_set(x_8, x_140, x_132);
lean_dec(x_8);
-x_140 = lean_ctor_get(x_139, 1);
-lean_inc(x_140);
-if (lean_is_exclusive(x_139)) {
- lean_ctor_release(x_139, 0);
- lean_ctor_release(x_139, 1);
- x_141 = x_139;
+x_142 = lean_ctor_get(x_141, 1);
+lean_inc(x_142);
+if (lean_is_exclusive(x_141)) {
+ lean_ctor_release(x_141, 0);
+ lean_ctor_release(x_141, 1);
+ x_143 = x_141;
} else {
- lean_dec_ref(x_139);
- x_141 = lean_box(0);
+ lean_dec_ref(x_141);
+ x_143 = lean_box(0);
}
-if (lean_is_scalar(x_141)) {
- x_142 = lean_alloc_ctor(1, 2, 0);
+if (lean_is_scalar(x_143)) {
+ x_144 = lean_alloc_ctor(0, 2, 0);
} else {
- x_142 = x_141;
- lean_ctor_set_tag(x_142, 1);
-}
-lean_ctor_set(x_142, 0, x_123);
-lean_ctor_set(x_142, 1, x_140);
-return x_142;
-}
+ x_144 = x_143;
}
+lean_ctor_set(x_144, 0, x_125);
+lean_ctor_set(x_144, 1, x_142);
+return x_144;
}
else
{
-lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; uint8_t x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153;
-x_143 = lean_ctor_get(x_21, 0);
-x_144 = lean_ctor_get(x_21, 1);
-x_145 = lean_ctor_get(x_21, 2);
+lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164;
+x_145 = lean_ctor_get(x_124, 0);
lean_inc(x_145);
-lean_inc(x_144);
-lean_inc(x_143);
-lean_dec(x_21);
-x_146 = lean_ctor_get(x_22, 0);
+x_146 = lean_ctor_get(x_124, 1);
lean_inc(x_146);
-if (lean_is_exclusive(x_22)) {
- lean_ctor_release(x_22, 0);
- x_147 = x_22;
-} else {
- lean_dec_ref(x_22);
- x_147 = lean_box(0);
-}
-x_148 = 0;
-if (lean_is_scalar(x_147)) {
- x_149 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_149 = x_147;
-}
-lean_ctor_set(x_149, 0, x_146);
-lean_ctor_set_uint8(x_149, sizeof(void*)*1, x_148);
-x_150 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_150, 0, x_143);
-lean_ctor_set(x_150, 1, x_144);
-lean_ctor_set(x_150, 2, x_145);
-lean_ctor_set(x_150, 3, x_149);
-x_151 = lean_st_ref_set(x_8, x_150, x_23);
-x_152 = lean_ctor_get(x_151, 1);
+lean_dec(x_124);
+x_147 = lean_st_ref_get(x_8, x_146);
+x_148 = lean_ctor_get(x_147, 1);
+lean_inc(x_148);
+lean_dec(x_147);
+x_149 = lean_st_ref_take(x_8, x_148);
+x_150 = lean_ctor_get(x_149, 0);
+lean_inc(x_150);
+x_151 = lean_ctor_get(x_150, 3);
+lean_inc(x_151);
+x_152 = lean_ctor_get(x_149, 1);
lean_inc(x_152);
-lean_dec(x_151);
-lean_inc(x_8);
-x_153 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_12, x_5, x_6, x_7, x_8, x_152);
-if (lean_obj_tag(x_153) == 0)
-{
-lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173;
-x_154 = lean_ctor_get(x_153, 0);
+lean_dec(x_149);
+x_153 = lean_ctor_get(x_150, 0);
+lean_inc(x_153);
+x_154 = lean_ctor_get(x_150, 1);
lean_inc(x_154);
-x_155 = lean_ctor_get(x_153, 1);
+x_155 = lean_ctor_get(x_150, 2);
lean_inc(x_155);
-lean_dec(x_153);
-x_156 = lean_st_ref_get(x_8, x_155);
-x_157 = lean_ctor_get(x_156, 1);
+if (lean_is_exclusive(x_150)) {
+ lean_ctor_release(x_150, 0);
+ lean_ctor_release(x_150, 1);
+ lean_ctor_release(x_150, 2);
+ lean_ctor_release(x_150, 3);
+ x_156 = x_150;
+} else {
+ lean_dec_ref(x_150);
+ x_156 = lean_box(0);
+}
+x_157 = lean_ctor_get(x_151, 0);
lean_inc(x_157);
-lean_dec(x_156);
-x_158 = lean_st_ref_take(x_8, x_157);
-x_159 = lean_ctor_get(x_158, 0);
-lean_inc(x_159);
-x_160 = lean_ctor_get(x_159, 3);
-lean_inc(x_160);
-x_161 = lean_ctor_get(x_158, 1);
-lean_inc(x_161);
-lean_dec(x_158);
-x_162 = lean_ctor_get(x_159, 0);
-lean_inc(x_162);
-x_163 = lean_ctor_get(x_159, 1);
-lean_inc(x_163);
-x_164 = lean_ctor_get(x_159, 2);
-lean_inc(x_164);
-if (lean_is_exclusive(x_159)) {
- lean_ctor_release(x_159, 0);
- lean_ctor_release(x_159, 1);
- lean_ctor_release(x_159, 2);
- lean_ctor_release(x_159, 3);
- x_165 = x_159;
+if (lean_is_exclusive(x_151)) {
+ lean_ctor_release(x_151, 0);
+ x_158 = x_151;
} else {
- lean_dec_ref(x_159);
- x_165 = lean_box(0);
+ lean_dec_ref(x_151);
+ x_158 = lean_box(0);
}
-x_166 = lean_ctor_get(x_160, 0);
-lean_inc(x_166);
-if (lean_is_exclusive(x_160)) {
- lean_ctor_release(x_160, 0);
- x_167 = x_160;
+if (lean_is_scalar(x_158)) {
+ x_159 = lean_alloc_ctor(0, 1, 1);
} else {
- lean_dec_ref(x_160);
- x_167 = lean_box(0);
+ x_159 = x_158;
}
-if (lean_is_scalar(x_167)) {
- x_168 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_159, 0, x_157);
+lean_ctor_set_uint8(x_159, sizeof(void*)*1, x_41);
+if (lean_is_scalar(x_156)) {
+ x_160 = lean_alloc_ctor(0, 4, 0);
} else {
- x_168 = x_167;
+ x_160 = x_156;
}
-lean_ctor_set(x_168, 0, x_166);
-lean_ctor_set_uint8(x_168, sizeof(void*)*1, x_19);
-if (lean_is_scalar(x_165)) {
- x_169 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_169 = x_165;
-}
-lean_ctor_set(x_169, 0, x_162);
-lean_ctor_set(x_169, 1, x_163);
-lean_ctor_set(x_169, 2, x_164);
-lean_ctor_set(x_169, 3, x_168);
-x_170 = lean_st_ref_set(x_8, x_169, x_161);
+lean_ctor_set(x_160, 0, x_153);
+lean_ctor_set(x_160, 1, x_154);
+lean_ctor_set(x_160, 2, x_155);
+lean_ctor_set(x_160, 3, x_159);
+x_161 = lean_st_ref_set(x_8, x_160, x_152);
lean_dec(x_8);
-x_171 = lean_ctor_get(x_170, 1);
-lean_inc(x_171);
-if (lean_is_exclusive(x_170)) {
- lean_ctor_release(x_170, 0);
- lean_ctor_release(x_170, 1);
- x_172 = x_170;
+x_162 = lean_ctor_get(x_161, 1);
+lean_inc(x_162);
+if (lean_is_exclusive(x_161)) {
+ lean_ctor_release(x_161, 0);
+ lean_ctor_release(x_161, 1);
+ x_163 = x_161;
} else {
- lean_dec_ref(x_170);
- x_172 = lean_box(0);
+ lean_dec_ref(x_161);
+ x_163 = lean_box(0);
}
-if (lean_is_scalar(x_172)) {
- x_173 = lean_alloc_ctor(0, 2, 0);
+if (lean_is_scalar(x_163)) {
+ x_164 = lean_alloc_ctor(1, 2, 0);
} else {
- x_173 = x_172;
+ x_164 = x_163;
+ lean_ctor_set_tag(x_164, 1);
+}
+lean_ctor_set(x_164, 0, x_145);
+lean_ctor_set(x_164, 1, x_162);
+return x_164;
+}
}
-lean_ctor_set(x_173, 0, x_154);
-lean_ctor_set(x_173, 1, x_171);
-return x_173;
}
else
{
-lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193;
-x_174 = lean_ctor_get(x_153, 0);
-lean_inc(x_174);
-x_175 = lean_ctor_get(x_153, 1);
-lean_inc(x_175);
-lean_dec(x_153);
-x_176 = lean_st_ref_get(x_8, x_175);
-x_177 = lean_ctor_get(x_176, 1);
-lean_inc(x_177);
-lean_dec(x_176);
-x_178 = lean_st_ref_take(x_8, x_177);
-x_179 = lean_ctor_get(x_178, 0);
-lean_inc(x_179);
-x_180 = lean_ctor_get(x_179, 3);
-lean_inc(x_180);
-x_181 = lean_ctor_get(x_178, 1);
-lean_inc(x_181);
-lean_dec(x_178);
-x_182 = lean_ctor_get(x_179, 0);
-lean_inc(x_182);
-x_183 = lean_ctor_get(x_179, 1);
-lean_inc(x_183);
-x_184 = lean_ctor_get(x_179, 2);
-lean_inc(x_184);
-if (lean_is_exclusive(x_179)) {
- lean_ctor_release(x_179, 0);
- lean_ctor_release(x_179, 1);
- lean_ctor_release(x_179, 2);
- lean_ctor_release(x_179, 3);
- x_185 = x_179;
+lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; uint8_t x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175;
+x_165 = lean_ctor_get(x_43, 0);
+x_166 = lean_ctor_get(x_43, 1);
+x_167 = lean_ctor_get(x_43, 2);
+lean_inc(x_167);
+lean_inc(x_166);
+lean_inc(x_165);
+lean_dec(x_43);
+x_168 = lean_ctor_get(x_44, 0);
+lean_inc(x_168);
+if (lean_is_exclusive(x_44)) {
+ lean_ctor_release(x_44, 0);
+ x_169 = x_44;
} else {
- lean_dec_ref(x_179);
- x_185 = lean_box(0);
+ lean_dec_ref(x_44);
+ x_169 = lean_box(0);
}
-x_186 = lean_ctor_get(x_180, 0);
-lean_inc(x_186);
-if (lean_is_exclusive(x_180)) {
- lean_ctor_release(x_180, 0);
- x_187 = x_180;
+x_170 = 0;
+if (lean_is_scalar(x_169)) {
+ x_171 = lean_alloc_ctor(0, 1, 1);
} else {
- lean_dec_ref(x_180);
+ x_171 = x_169;
+}
+lean_ctor_set(x_171, 0, x_168);
+lean_ctor_set_uint8(x_171, sizeof(void*)*1, x_170);
+x_172 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_172, 0, x_165);
+lean_ctor_set(x_172, 1, x_166);
+lean_ctor_set(x_172, 2, x_167);
+lean_ctor_set(x_172, 3, x_171);
+x_173 = lean_st_ref_set(x_8, x_172, x_45);
+x_174 = lean_ctor_get(x_173, 1);
+lean_inc(x_174);
+lean_dec(x_173);
+lean_inc(x_8);
+x_175 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_12, x_5, x_6, x_7, x_8, x_174);
+if (lean_obj_tag(x_175) == 0)
+{
+lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195;
+x_176 = lean_ctor_get(x_175, 0);
+lean_inc(x_176);
+x_177 = lean_ctor_get(x_175, 1);
+lean_inc(x_177);
+lean_dec(x_175);
+x_178 = lean_st_ref_get(x_8, x_177);
+x_179 = lean_ctor_get(x_178, 1);
+lean_inc(x_179);
+lean_dec(x_178);
+x_180 = lean_st_ref_take(x_8, x_179);
+x_181 = lean_ctor_get(x_180, 0);
+lean_inc(x_181);
+x_182 = lean_ctor_get(x_181, 3);
+lean_inc(x_182);
+x_183 = lean_ctor_get(x_180, 1);
+lean_inc(x_183);
+lean_dec(x_180);
+x_184 = lean_ctor_get(x_181, 0);
+lean_inc(x_184);
+x_185 = lean_ctor_get(x_181, 1);
+lean_inc(x_185);
+x_186 = lean_ctor_get(x_181, 2);
+lean_inc(x_186);
+if (lean_is_exclusive(x_181)) {
+ lean_ctor_release(x_181, 0);
+ lean_ctor_release(x_181, 1);
+ lean_ctor_release(x_181, 2);
+ lean_ctor_release(x_181, 3);
+ x_187 = x_181;
+} else {
+ lean_dec_ref(x_181);
x_187 = lean_box(0);
}
+x_188 = lean_ctor_get(x_182, 0);
+lean_inc(x_188);
+if (lean_is_exclusive(x_182)) {
+ lean_ctor_release(x_182, 0);
+ x_189 = x_182;
+} else {
+ lean_dec_ref(x_182);
+ x_189 = lean_box(0);
+}
+if (lean_is_scalar(x_189)) {
+ x_190 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_190 = x_189;
+}
+lean_ctor_set(x_190, 0, x_188);
+lean_ctor_set_uint8(x_190, sizeof(void*)*1, x_41);
if (lean_is_scalar(x_187)) {
- x_188 = lean_alloc_ctor(0, 1, 1);
+ x_191 = lean_alloc_ctor(0, 4, 0);
} else {
- x_188 = x_187;
+ x_191 = x_187;
}
-lean_ctor_set(x_188, 0, x_186);
-lean_ctor_set_uint8(x_188, sizeof(void*)*1, x_19);
-if (lean_is_scalar(x_185)) {
- x_189 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_189 = x_185;
-}
-lean_ctor_set(x_189, 0, x_182);
-lean_ctor_set(x_189, 1, x_183);
-lean_ctor_set(x_189, 2, x_184);
-lean_ctor_set(x_189, 3, x_188);
-x_190 = lean_st_ref_set(x_8, x_189, x_181);
+lean_ctor_set(x_191, 0, x_184);
+lean_ctor_set(x_191, 1, x_185);
+lean_ctor_set(x_191, 2, x_186);
+lean_ctor_set(x_191, 3, x_190);
+x_192 = lean_st_ref_set(x_8, x_191, x_183);
lean_dec(x_8);
-x_191 = lean_ctor_get(x_190, 1);
-lean_inc(x_191);
-if (lean_is_exclusive(x_190)) {
- lean_ctor_release(x_190, 0);
- lean_ctor_release(x_190, 1);
- x_192 = x_190;
+x_193 = lean_ctor_get(x_192, 1);
+lean_inc(x_193);
+if (lean_is_exclusive(x_192)) {
+ lean_ctor_release(x_192, 0);
+ lean_ctor_release(x_192, 1);
+ x_194 = x_192;
} else {
- lean_dec_ref(x_190);
- x_192 = lean_box(0);
+ lean_dec_ref(x_192);
+ x_194 = lean_box(0);
}
-if (lean_is_scalar(x_192)) {
- x_193 = lean_alloc_ctor(1, 2, 0);
+if (lean_is_scalar(x_194)) {
+ x_195 = lean_alloc_ctor(0, 2, 0);
} else {
- x_193 = x_192;
- lean_ctor_set_tag(x_193, 1);
-}
-lean_ctor_set(x_193, 0, x_174);
-lean_ctor_set(x_193, 1, x_191);
-return x_193;
-}
+ x_195 = x_194;
}
+lean_ctor_set(x_195, 0, x_176);
+lean_ctor_set(x_195, 1, x_193);
+return x_195;
}
else
{
-lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198;
-x_194 = lean_ctor_get(x_7, 3);
-lean_inc(x_194);
-x_195 = l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_isLevelDefEq___spec__3___rarg(x_8, x_14);
-x_196 = lean_ctor_get(x_195, 0);
+lean_object* x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214; lean_object* x_215;
+x_196 = lean_ctor_get(x_175, 0);
lean_inc(x_196);
-x_197 = lean_ctor_get(x_195, 1);
+x_197 = lean_ctor_get(x_175, 1);
lean_inc(x_197);
-lean_dec(x_195);
-lean_inc(x_8);
-lean_inc(x_7);
-lean_inc(x_6);
-lean_inc(x_5);
-x_198 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_12, x_5, x_6, x_7, x_8, x_197);
-if (lean_obj_tag(x_198) == 0)
-{
-lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; uint8_t x_203;
-x_199 = lean_ctor_get(x_198, 0);
+lean_dec(x_175);
+x_198 = lean_st_ref_get(x_8, x_197);
+x_199 = lean_ctor_get(x_198, 1);
lean_inc(x_199);
-x_200 = lean_ctor_get(x_198, 1);
-lean_inc(x_200);
lean_dec(x_198);
-x_201 = l_Lean_Meta_mkAppM___rarg___closed__2;
-x_202 = l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_isLevelDefEq___spec__4(x_196, x_201, x_194, x_5, x_6, x_7, x_8, x_200);
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-x_203 = !lean_is_exclusive(x_202);
-if (x_203 == 0)
-{
-lean_object* x_204;
-x_204 = lean_ctor_get(x_202, 0);
-lean_dec(x_204);
-lean_ctor_set(x_202, 0, x_199);
-return x_202;
-}
-else
-{
-lean_object* x_205; lean_object* x_206;
-x_205 = lean_ctor_get(x_202, 1);
+x_200 = lean_st_ref_take(x_8, x_199);
+x_201 = lean_ctor_get(x_200, 0);
+lean_inc(x_201);
+x_202 = lean_ctor_get(x_201, 3);
+lean_inc(x_202);
+x_203 = lean_ctor_get(x_200, 1);
+lean_inc(x_203);
+lean_dec(x_200);
+x_204 = lean_ctor_get(x_201, 0);
+lean_inc(x_204);
+x_205 = lean_ctor_get(x_201, 1);
lean_inc(x_205);
-lean_dec(x_202);
-x_206 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_206, 0, x_199);
-lean_ctor_set(x_206, 1, x_205);
-return x_206;
+x_206 = lean_ctor_get(x_201, 2);
+lean_inc(x_206);
+if (lean_is_exclusive(x_201)) {
+ lean_ctor_release(x_201, 0);
+ lean_ctor_release(x_201, 1);
+ lean_ctor_release(x_201, 2);
+ lean_ctor_release(x_201, 3);
+ x_207 = x_201;
+} else {
+ lean_dec_ref(x_201);
+ x_207 = lean_box(0);
}
-}
-else
-{
-lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; uint8_t x_211;
-x_207 = lean_ctor_get(x_198, 0);
-lean_inc(x_207);
-x_208 = lean_ctor_get(x_198, 1);
+x_208 = lean_ctor_get(x_202, 0);
lean_inc(x_208);
-lean_dec(x_198);
-x_209 = l_Lean_Meta_mkAppM___rarg___closed__2;
-x_210 = l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_isLevelDefEq___spec__4(x_196, x_209, x_194, x_5, x_6, x_7, x_8, x_208);
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-x_211 = !lean_is_exclusive(x_210);
-if (x_211 == 0)
-{
-lean_object* x_212;
-x_212 = lean_ctor_get(x_210, 0);
-lean_dec(x_212);
-lean_ctor_set_tag(x_210, 1);
-lean_ctor_set(x_210, 0, x_207);
-return x_210;
+if (lean_is_exclusive(x_202)) {
+ lean_ctor_release(x_202, 0);
+ x_209 = x_202;
+} else {
+ lean_dec_ref(x_202);
+ x_209 = lean_box(0);
}
-else
-{
-lean_object* x_213; lean_object* x_214;
-x_213 = lean_ctor_get(x_210, 1);
+if (lean_is_scalar(x_209)) {
+ x_210 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_210 = x_209;
+}
+lean_ctor_set(x_210, 0, x_208);
+lean_ctor_set_uint8(x_210, sizeof(void*)*1, x_41);
+if (lean_is_scalar(x_207)) {
+ x_211 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_211 = x_207;
+}
+lean_ctor_set(x_211, 0, x_204);
+lean_ctor_set(x_211, 1, x_205);
+lean_ctor_set(x_211, 2, x_206);
+lean_ctor_set(x_211, 3, x_210);
+x_212 = lean_st_ref_set(x_8, x_211, x_203);
+lean_dec(x_8);
+x_213 = lean_ctor_get(x_212, 1);
lean_inc(x_213);
-lean_dec(x_210);
-x_214 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_214, 0, x_207);
-lean_ctor_set(x_214, 1, x_213);
-return x_214;
+if (lean_is_exclusive(x_212)) {
+ lean_ctor_release(x_212, 0);
+ lean_ctor_release(x_212, 1);
+ x_214 = x_212;
+} else {
+ lean_dec_ref(x_212);
+ x_214 = lean_box(0);
+}
+if (lean_is_scalar(x_214)) {
+ x_215 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_215 = x_214;
+ lean_ctor_set_tag(x_215, 1);
+}
+lean_ctor_set(x_215, 0, x_196);
+lean_ctor_set(x_215, 1, x_213);
+return x_215;
+}
}
}
}
@@ -15120,7 +15215,7 @@ return x_9;
lean_object* l_Lean_Meta_mkAppOptM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_tryPureCoe_x3f___spec__2(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) {
_start:
{
-lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; lean_object* x_14; lean_object* x_216; lean_object* x_217; lean_object* x_218; uint8_t x_219;
+lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; lean_object* x_14; lean_object* x_220; lean_object* x_221; lean_object* x_222; uint8_t x_223;
x_10 = lean_alloc_closure((void*)(l___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkFun___boxed), 6, 1);
lean_closure_set(x_10, 0, x_1);
x_11 = lean_alloc_closure((void*)(l_Lean_Meta_mkAppOptM___rarg___lambda__1___boxed), 7, 1);
@@ -15128,291 +15223,309 @@ lean_closure_set(x_11, 0, x_2);
x_12 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Meta_Lean_Meta_Basic___instance__5___spec__2___rarg), 7, 2);
lean_closure_set(x_12, 0, x_10);
lean_closure_set(x_12, 1, x_11);
-x_216 = lean_st_ref_get(x_8, x_9);
-x_217 = lean_ctor_get(x_216, 0);
-lean_inc(x_217);
-x_218 = lean_ctor_get(x_217, 3);
-lean_inc(x_218);
-lean_dec(x_217);
-x_219 = lean_ctor_get_uint8(x_218, sizeof(void*)*1);
-lean_dec(x_218);
-if (x_219 == 0)
+x_220 = lean_st_ref_get(x_8, x_9);
+x_221 = lean_ctor_get(x_220, 0);
+lean_inc(x_221);
+x_222 = lean_ctor_get(x_221, 3);
+lean_inc(x_222);
+lean_dec(x_221);
+x_223 = lean_ctor_get_uint8(x_222, sizeof(void*)*1);
+lean_dec(x_222);
+if (x_223 == 0)
{
-lean_object* x_220; uint8_t x_221;
-x_220 = lean_ctor_get(x_216, 1);
-lean_inc(x_220);
-lean_dec(x_216);
-x_221 = 0;
-x_13 = x_221;
-x_14 = x_220;
-goto block_215;
+lean_object* x_224; uint8_t x_225;
+x_224 = lean_ctor_get(x_220, 1);
+lean_inc(x_224);
+lean_dec(x_220);
+x_225 = 0;
+x_13 = x_225;
+x_14 = x_224;
+goto block_219;
}
else
{
-lean_object* x_222; lean_object* x_223; lean_object* x_224; lean_object* x_225; lean_object* x_226; uint8_t x_227;
-x_222 = lean_ctor_get(x_216, 1);
-lean_inc(x_222);
-lean_dec(x_216);
-x_223 = l_Lean_Meta_mkAppM___rarg___closed__2;
-x_224 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_223, x_5, x_6, x_7, x_8, x_222);
-x_225 = lean_ctor_get(x_224, 0);
-lean_inc(x_225);
-x_226 = lean_ctor_get(x_224, 1);
+lean_object* x_226; lean_object* x_227; lean_object* x_228; lean_object* x_229; lean_object* x_230; uint8_t x_231;
+x_226 = lean_ctor_get(x_220, 1);
lean_inc(x_226);
-lean_dec(x_224);
-x_227 = lean_unbox(x_225);
-lean_dec(x_225);
-x_13 = x_227;
-x_14 = x_226;
-goto block_215;
+lean_dec(x_220);
+x_227 = l_Lean_Meta_mkAppM___rarg___closed__2;
+x_228 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_227, x_5, x_6, x_7, x_8, x_226);
+x_229 = lean_ctor_get(x_228, 0);
+lean_inc(x_229);
+x_230 = lean_ctor_get(x_228, 1);
+lean_inc(x_230);
+lean_dec(x_228);
+x_231 = lean_unbox(x_229);
+lean_dec(x_229);
+x_13 = x_231;
+x_14 = x_230;
+goto block_219;
}
-block_215:
+block_219:
{
+uint8_t x_15;
if (x_13 == 0)
{
-lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24;
-x_15 = lean_st_ref_get(x_8, x_14);
-x_16 = lean_ctor_get(x_15, 0);
-lean_inc(x_16);
-x_17 = lean_ctor_get(x_16, 3);
-lean_inc(x_17);
-lean_dec(x_16);
-x_18 = lean_ctor_get(x_15, 1);
-lean_inc(x_18);
-lean_dec(x_15);
-x_19 = lean_ctor_get_uint8(x_17, sizeof(void*)*1);
-lean_dec(x_17);
-x_20 = lean_st_ref_take(x_8, x_18);
-x_21 = lean_ctor_get(x_20, 0);
-lean_inc(x_21);
-x_22 = lean_ctor_get(x_21, 3);
-lean_inc(x_22);
-x_23 = lean_ctor_get(x_20, 1);
-lean_inc(x_23);
-lean_dec(x_20);
-x_24 = !lean_is_exclusive(x_21);
-if (x_24 == 0)
-{
-lean_object* x_25; uint8_t x_26;
-x_25 = lean_ctor_get(x_21, 3);
-lean_dec(x_25);
-x_26 = !lean_is_exclusive(x_22);
-if (x_26 == 0)
-{
-uint8_t x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30;
-x_27 = 0;
-lean_ctor_set_uint8(x_22, sizeof(void*)*1, x_27);
-x_28 = lean_st_ref_set(x_8, x_21, x_23);
-x_29 = lean_ctor_get(x_28, 1);
-lean_inc(x_29);
-lean_dec(x_28);
-lean_inc(x_8);
-x_30 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_12, x_5, x_6, x_7, x_8, x_29);
-if (lean_obj_tag(x_30) == 0)
-{
-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; uint8_t x_39;
-x_31 = lean_ctor_get(x_30, 0);
-lean_inc(x_31);
-x_32 = lean_ctor_get(x_30, 1);
-lean_inc(x_32);
-lean_dec(x_30);
-x_33 = lean_st_ref_get(x_8, x_32);
-x_34 = lean_ctor_get(x_33, 1);
-lean_inc(x_34);
-lean_dec(x_33);
-x_35 = lean_st_ref_take(x_8, x_34);
-x_36 = lean_ctor_get(x_35, 0);
-lean_inc(x_36);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-x_38 = lean_ctor_get(x_35, 1);
-lean_inc(x_38);
-lean_dec(x_35);
-x_39 = !lean_is_exclusive(x_36);
-if (x_39 == 0)
-{
-lean_object* x_40; uint8_t x_41;
-x_40 = lean_ctor_get(x_36, 3);
-lean_dec(x_40);
-x_41 = !lean_is_exclusive(x_37);
-if (x_41 == 0)
-{
-lean_object* x_42; uint8_t x_43;
-lean_ctor_set_uint8(x_37, sizeof(void*)*1, x_19);
-x_42 = lean_st_ref_set(x_8, x_36, x_38);
-lean_dec(x_8);
-x_43 = !lean_is_exclusive(x_42);
-if (x_43 == 0)
-{
-lean_object* x_44;
-x_44 = lean_ctor_get(x_42, 0);
-lean_dec(x_44);
-lean_ctor_set(x_42, 0, x_31);
-return x_42;
+uint8_t x_217;
+x_217 = 1;
+x_15 = x_217;
+goto block_216;
}
else
{
-lean_object* x_45; lean_object* x_46;
+uint8_t x_218;
+x_218 = 0;
+x_15 = x_218;
+goto block_216;
+}
+block_216:
+{
+if (x_15 == 0)
+{
+lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
+x_16 = lean_ctor_get(x_7, 3);
+lean_inc(x_16);
+x_17 = l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_isLevelDefEq___spec__2___rarg(x_8, x_14);
+x_18 = lean_ctor_get(x_17, 0);
+lean_inc(x_18);
+x_19 = lean_ctor_get(x_17, 1);
+lean_inc(x_19);
+lean_dec(x_17);
+lean_inc(x_8);
+lean_inc(x_7);
+lean_inc(x_6);
+lean_inc(x_5);
+x_20 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_12, x_5, x_6, x_7, x_8, x_19);
+if (lean_obj_tag(x_20) == 0)
+{
+lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; uint8_t x_25;
+x_21 = lean_ctor_get(x_20, 0);
+lean_inc(x_21);
+x_22 = lean_ctor_get(x_20, 1);
+lean_inc(x_22);
+lean_dec(x_20);
+x_23 = l_Lean_Meta_mkAppM___rarg___closed__2;
+x_24 = l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_isLevelDefEq___spec__3(x_18, x_23, x_16, x_5, x_6, x_7, x_8, x_22);
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+x_25 = !lean_is_exclusive(x_24);
+if (x_25 == 0)
+{
+lean_object* x_26;
+x_26 = lean_ctor_get(x_24, 0);
+lean_dec(x_26);
+lean_ctor_set(x_24, 0, x_21);
+return x_24;
+}
+else
+{
+lean_object* x_27; lean_object* x_28;
+x_27 = lean_ctor_get(x_24, 1);
+lean_inc(x_27);
+lean_dec(x_24);
+x_28 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_28, 0, x_21);
+lean_ctor_set(x_28, 1, x_27);
+return x_28;
+}
+}
+else
+{
+lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; uint8_t x_33;
+x_29 = lean_ctor_get(x_20, 0);
+lean_inc(x_29);
+x_30 = lean_ctor_get(x_20, 1);
+lean_inc(x_30);
+lean_dec(x_20);
+x_31 = l_Lean_Meta_mkAppM___rarg___closed__2;
+x_32 = l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_isLevelDefEq___spec__3(x_18, x_31, x_16, x_5, x_6, x_7, x_8, x_30);
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+x_33 = !lean_is_exclusive(x_32);
+if (x_33 == 0)
+{
+lean_object* x_34;
+x_34 = lean_ctor_get(x_32, 0);
+lean_dec(x_34);
+lean_ctor_set_tag(x_32, 1);
+lean_ctor_set(x_32, 0, x_29);
+return x_32;
+}
+else
+{
+lean_object* x_35; lean_object* x_36;
+x_35 = lean_ctor_get(x_32, 1);
+lean_inc(x_35);
+lean_dec(x_32);
+x_36 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_36, 0, x_29);
+lean_ctor_set(x_36, 1, x_35);
+return x_36;
+}
+}
+}
+else
+{
+lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; uint8_t x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; uint8_t x_46;
+x_37 = lean_st_ref_get(x_8, x_14);
+x_38 = lean_ctor_get(x_37, 0);
+lean_inc(x_38);
+x_39 = lean_ctor_get(x_38, 3);
+lean_inc(x_39);
+lean_dec(x_38);
+x_40 = lean_ctor_get(x_37, 1);
+lean_inc(x_40);
+lean_dec(x_37);
+x_41 = lean_ctor_get_uint8(x_39, sizeof(void*)*1);
+lean_dec(x_39);
+x_42 = lean_st_ref_take(x_8, x_40);
+x_43 = lean_ctor_get(x_42, 0);
+lean_inc(x_43);
+x_44 = lean_ctor_get(x_43, 3);
+lean_inc(x_44);
x_45 = lean_ctor_get(x_42, 1);
lean_inc(x_45);
lean_dec(x_42);
-x_46 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_46, 0, x_31);
-lean_ctor_set(x_46, 1, x_45);
-return x_46;
-}
-}
-else
+x_46 = !lean_is_exclusive(x_43);
+if (x_46 == 0)
{
-lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52;
-x_47 = lean_ctor_get(x_37, 0);
-lean_inc(x_47);
-lean_dec(x_37);
-x_48 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_48, 0, x_47);
-lean_ctor_set_uint8(x_48, sizeof(void*)*1, x_19);
-lean_ctor_set(x_36, 3, x_48);
-x_49 = lean_st_ref_set(x_8, x_36, x_38);
-lean_dec(x_8);
-x_50 = lean_ctor_get(x_49, 1);
-lean_inc(x_50);
-if (lean_is_exclusive(x_49)) {
- lean_ctor_release(x_49, 0);
- lean_ctor_release(x_49, 1);
- x_51 = x_49;
-} else {
- lean_dec_ref(x_49);
- x_51 = lean_box(0);
-}
-if (lean_is_scalar(x_51)) {
- x_52 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_52 = x_51;
-}
-lean_ctor_set(x_52, 0, x_31);
-lean_ctor_set(x_52, 1, x_50);
-return x_52;
-}
-}
-else
+lean_object* x_47; uint8_t x_48;
+x_47 = lean_ctor_get(x_43, 3);
+lean_dec(x_47);
+x_48 = !lean_is_exclusive(x_44);
+if (x_48 == 0)
{
-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;
-x_53 = lean_ctor_get(x_36, 0);
-x_54 = lean_ctor_get(x_36, 1);
-x_55 = lean_ctor_get(x_36, 2);
-lean_inc(x_55);
-lean_inc(x_54);
+uint8_t x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52;
+x_49 = 0;
+lean_ctor_set_uint8(x_44, sizeof(void*)*1, x_49);
+x_50 = lean_st_ref_set(x_8, x_43, x_45);
+x_51 = lean_ctor_get(x_50, 1);
+lean_inc(x_51);
+lean_dec(x_50);
+lean_inc(x_8);
+x_52 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_12, x_5, x_6, x_7, x_8, x_51);
+if (lean_obj_tag(x_52) == 0)
+{
+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; uint8_t x_61;
+x_53 = lean_ctor_get(x_52, 0);
lean_inc(x_53);
-lean_dec(x_36);
-x_56 = lean_ctor_get(x_37, 0);
+x_54 = lean_ctor_get(x_52, 1);
+lean_inc(x_54);
+lean_dec(x_52);
+x_55 = lean_st_ref_get(x_8, x_54);
+x_56 = lean_ctor_get(x_55, 1);
lean_inc(x_56);
-if (lean_is_exclusive(x_37)) {
- lean_ctor_release(x_37, 0);
- x_57 = x_37;
-} else {
- lean_dec_ref(x_37);
- x_57 = lean_box(0);
-}
-if (lean_is_scalar(x_57)) {
- x_58 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_58 = x_57;
-}
-lean_ctor_set(x_58, 0, x_56);
-lean_ctor_set_uint8(x_58, sizeof(void*)*1, x_19);
-x_59 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_59, 0, x_53);
-lean_ctor_set(x_59, 1, x_54);
-lean_ctor_set(x_59, 2, x_55);
-lean_ctor_set(x_59, 3, x_58);
-x_60 = lean_st_ref_set(x_8, x_59, x_38);
-lean_dec(x_8);
-x_61 = lean_ctor_get(x_60, 1);
-lean_inc(x_61);
-if (lean_is_exclusive(x_60)) {
- lean_ctor_release(x_60, 0);
- lean_ctor_release(x_60, 1);
- x_62 = x_60;
-} else {
- lean_dec_ref(x_60);
- x_62 = lean_box(0);
-}
-if (lean_is_scalar(x_62)) {
- x_63 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_63 = x_62;
-}
-lean_ctor_set(x_63, 0, x_31);
-lean_ctor_set(x_63, 1, x_61);
-return x_63;
-}
-}
-else
+lean_dec(x_55);
+x_57 = lean_st_ref_take(x_8, x_56);
+x_58 = lean_ctor_get(x_57, 0);
+lean_inc(x_58);
+x_59 = lean_ctor_get(x_58, 3);
+lean_inc(x_59);
+x_60 = lean_ctor_get(x_57, 1);
+lean_inc(x_60);
+lean_dec(x_57);
+x_61 = !lean_is_exclusive(x_58);
+if (x_61 == 0)
{
-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; uint8_t x_72;
-x_64 = lean_ctor_get(x_30, 0);
-lean_inc(x_64);
-x_65 = lean_ctor_get(x_30, 1);
-lean_inc(x_65);
-lean_dec(x_30);
-x_66 = lean_st_ref_get(x_8, x_65);
-x_67 = lean_ctor_get(x_66, 1);
-lean_inc(x_67);
+lean_object* x_62; uint8_t x_63;
+x_62 = lean_ctor_get(x_58, 3);
+lean_dec(x_62);
+x_63 = !lean_is_exclusive(x_59);
+if (x_63 == 0)
+{
+lean_object* x_64; uint8_t x_65;
+lean_ctor_set_uint8(x_59, sizeof(void*)*1, x_41);
+x_64 = lean_st_ref_set(x_8, x_58, x_60);
+lean_dec(x_8);
+x_65 = !lean_is_exclusive(x_64);
+if (x_65 == 0)
+{
+lean_object* x_66;
+x_66 = lean_ctor_get(x_64, 0);
lean_dec(x_66);
-x_68 = lean_st_ref_take(x_8, x_67);
-x_69 = lean_ctor_get(x_68, 0);
+lean_ctor_set(x_64, 0, x_53);
+return x_64;
+}
+else
+{
+lean_object* x_67; lean_object* x_68;
+x_67 = lean_ctor_get(x_64, 1);
+lean_inc(x_67);
+lean_dec(x_64);
+x_68 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_68, 0, x_53);
+lean_ctor_set(x_68, 1, x_67);
+return x_68;
+}
+}
+else
+{
+lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74;
+x_69 = lean_ctor_get(x_59, 0);
lean_inc(x_69);
-x_70 = lean_ctor_get(x_69, 3);
-lean_inc(x_70);
-x_71 = lean_ctor_get(x_68, 1);
-lean_inc(x_71);
-lean_dec(x_68);
-x_72 = !lean_is_exclusive(x_69);
-if (x_72 == 0)
-{
-lean_object* x_73; uint8_t x_74;
-x_73 = lean_ctor_get(x_69, 3);
-lean_dec(x_73);
-x_74 = !lean_is_exclusive(x_70);
-if (x_74 == 0)
-{
-lean_object* x_75; uint8_t x_76;
-lean_ctor_set_uint8(x_70, sizeof(void*)*1, x_19);
-x_75 = lean_st_ref_set(x_8, x_69, x_71);
+lean_dec(x_59);
+x_70 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_70, 0, x_69);
+lean_ctor_set_uint8(x_70, sizeof(void*)*1, x_41);
+lean_ctor_set(x_58, 3, x_70);
+x_71 = lean_st_ref_set(x_8, x_58, x_60);
lean_dec(x_8);
-x_76 = !lean_is_exclusive(x_75);
-if (x_76 == 0)
-{
-lean_object* x_77;
-x_77 = lean_ctor_get(x_75, 0);
-lean_dec(x_77);
-lean_ctor_set_tag(x_75, 1);
-lean_ctor_set(x_75, 0, x_64);
-return x_75;
+x_72 = lean_ctor_get(x_71, 1);
+lean_inc(x_72);
+if (lean_is_exclusive(x_71)) {
+ lean_ctor_release(x_71, 0);
+ lean_ctor_release(x_71, 1);
+ x_73 = x_71;
+} else {
+ lean_dec_ref(x_71);
+ x_73 = lean_box(0);
+}
+if (lean_is_scalar(x_73)) {
+ x_74 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_74 = x_73;
+}
+lean_ctor_set(x_74, 0, x_53);
+lean_ctor_set(x_74, 1, x_72);
+return x_74;
+}
}
else
{
-lean_object* x_78; lean_object* x_79;
-x_78 = lean_ctor_get(x_75, 1);
+lean_object* x_75; lean_object* x_76; lean_object* x_77; 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;
+x_75 = lean_ctor_get(x_58, 0);
+x_76 = lean_ctor_get(x_58, 1);
+x_77 = lean_ctor_get(x_58, 2);
+lean_inc(x_77);
+lean_inc(x_76);
+lean_inc(x_75);
+lean_dec(x_58);
+x_78 = lean_ctor_get(x_59, 0);
lean_inc(x_78);
-lean_dec(x_75);
-x_79 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_79, 0, x_64);
-lean_ctor_set(x_79, 1, x_78);
-return x_79;
+if (lean_is_exclusive(x_59)) {
+ lean_ctor_release(x_59, 0);
+ x_79 = x_59;
+} else {
+ lean_dec_ref(x_59);
+ x_79 = lean_box(0);
}
+if (lean_is_scalar(x_79)) {
+ x_80 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_80 = x_79;
}
-else
-{
-lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85;
-x_80 = lean_ctor_get(x_70, 0);
-lean_inc(x_80);
-lean_dec(x_70);
-x_81 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_81, 0, x_80);
-lean_ctor_set_uint8(x_81, sizeof(void*)*1, x_19);
-lean_ctor_set(x_69, 3, x_81);
-x_82 = lean_st_ref_set(x_8, x_69, x_71);
+lean_ctor_set(x_80, 0, x_78);
+lean_ctor_set_uint8(x_80, sizeof(void*)*1, x_41);
+x_81 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_81, 0, x_75);
+lean_ctor_set(x_81, 1, x_76);
+lean_ctor_set(x_81, 2, x_77);
+lean_ctor_set(x_81, 3, x_80);
+x_82 = lean_st_ref_set(x_8, x_81, x_60);
lean_dec(x_8);
x_83 = lean_ctor_get(x_82, 1);
lean_inc(x_83);
@@ -15425,545 +15538,545 @@ if (lean_is_exclusive(x_82)) {
x_84 = lean_box(0);
}
if (lean_is_scalar(x_84)) {
- x_85 = lean_alloc_ctor(1, 2, 0);
+ x_85 = lean_alloc_ctor(0, 2, 0);
} else {
x_85 = x_84;
- lean_ctor_set_tag(x_85, 1);
}
-lean_ctor_set(x_85, 0, x_64);
+lean_ctor_set(x_85, 0, x_53);
lean_ctor_set(x_85, 1, x_83);
return x_85;
}
}
else
{
-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;
-x_86 = lean_ctor_get(x_69, 0);
-x_87 = lean_ctor_get(x_69, 1);
-x_88 = lean_ctor_get(x_69, 2);
-lean_inc(x_88);
-lean_inc(x_87);
+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; uint8_t x_94;
+x_86 = lean_ctor_get(x_52, 0);
lean_inc(x_86);
-lean_dec(x_69);
-x_89 = lean_ctor_get(x_70, 0);
+x_87 = lean_ctor_get(x_52, 1);
+lean_inc(x_87);
+lean_dec(x_52);
+x_88 = lean_st_ref_get(x_8, x_87);
+x_89 = lean_ctor_get(x_88, 1);
lean_inc(x_89);
-if (lean_is_exclusive(x_70)) {
- lean_ctor_release(x_70, 0);
- x_90 = x_70;
-} else {
- lean_dec_ref(x_70);
- x_90 = lean_box(0);
-}
-if (lean_is_scalar(x_90)) {
- x_91 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_91 = x_90;
-}
-lean_ctor_set(x_91, 0, x_89);
-lean_ctor_set_uint8(x_91, sizeof(void*)*1, x_19);
-x_92 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_92, 0, x_86);
-lean_ctor_set(x_92, 1, x_87);
-lean_ctor_set(x_92, 2, x_88);
-lean_ctor_set(x_92, 3, x_91);
-x_93 = lean_st_ref_set(x_8, x_92, x_71);
+lean_dec(x_88);
+x_90 = lean_st_ref_take(x_8, x_89);
+x_91 = lean_ctor_get(x_90, 0);
+lean_inc(x_91);
+x_92 = lean_ctor_get(x_91, 3);
+lean_inc(x_92);
+x_93 = lean_ctor_get(x_90, 1);
+lean_inc(x_93);
+lean_dec(x_90);
+x_94 = !lean_is_exclusive(x_91);
+if (x_94 == 0)
+{
+lean_object* x_95; uint8_t x_96;
+x_95 = lean_ctor_get(x_91, 3);
+lean_dec(x_95);
+x_96 = !lean_is_exclusive(x_92);
+if (x_96 == 0)
+{
+lean_object* x_97; uint8_t x_98;
+lean_ctor_set_uint8(x_92, sizeof(void*)*1, x_41);
+x_97 = lean_st_ref_set(x_8, x_91, x_93);
lean_dec(x_8);
-x_94 = lean_ctor_get(x_93, 1);
-lean_inc(x_94);
-if (lean_is_exclusive(x_93)) {
- lean_ctor_release(x_93, 0);
- lean_ctor_release(x_93, 1);
- x_95 = x_93;
-} else {
- lean_dec_ref(x_93);
- x_95 = lean_box(0);
-}
-if (lean_is_scalar(x_95)) {
- x_96 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_96 = x_95;
- lean_ctor_set_tag(x_96, 1);
-}
-lean_ctor_set(x_96, 0, x_64);
-lean_ctor_set(x_96, 1, x_94);
-return x_96;
+x_98 = !lean_is_exclusive(x_97);
+if (x_98 == 0)
+{
+lean_object* x_99;
+x_99 = lean_ctor_get(x_97, 0);
+lean_dec(x_99);
+lean_ctor_set_tag(x_97, 1);
+lean_ctor_set(x_97, 0, x_86);
+return x_97;
}
+else
+{
+lean_object* x_100; lean_object* x_101;
+x_100 = lean_ctor_get(x_97, 1);
+lean_inc(x_100);
+lean_dec(x_97);
+x_101 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_101, 0, x_86);
+lean_ctor_set(x_101, 1, x_100);
+return x_101;
}
}
else
{
-lean_object* x_97; uint8_t x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102;
-x_97 = lean_ctor_get(x_22, 0);
-lean_inc(x_97);
-lean_dec(x_22);
-x_98 = 0;
-x_99 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_99, 0, x_97);
-lean_ctor_set_uint8(x_99, sizeof(void*)*1, x_98);
-lean_ctor_set(x_21, 3, x_99);
-x_100 = lean_st_ref_set(x_8, x_21, x_23);
-x_101 = lean_ctor_get(x_100, 1);
-lean_inc(x_101);
-lean_dec(x_100);
-lean_inc(x_8);
-x_102 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_12, x_5, x_6, x_7, x_8, x_101);
-if (lean_obj_tag(x_102) == 0)
+lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107;
+x_102 = lean_ctor_get(x_92, 0);
+lean_inc(x_102);
+lean_dec(x_92);
+x_103 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_103, 0, x_102);
+lean_ctor_set_uint8(x_103, sizeof(void*)*1, x_41);
+lean_ctor_set(x_91, 3, x_103);
+x_104 = lean_st_ref_set(x_8, x_91, x_93);
+lean_dec(x_8);
+x_105 = lean_ctor_get(x_104, 1);
+lean_inc(x_105);
+if (lean_is_exclusive(x_104)) {
+ lean_ctor_release(x_104, 0);
+ lean_ctor_release(x_104, 1);
+ x_106 = x_104;
+} else {
+ lean_dec_ref(x_104);
+ x_106 = lean_box(0);
+}
+if (lean_is_scalar(x_106)) {
+ x_107 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_107 = x_106;
+ lean_ctor_set_tag(x_107, 1);
+}
+lean_ctor_set(x_107, 0, x_86);
+lean_ctor_set(x_107, 1, x_105);
+return x_107;
+}
+}
+else
{
-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;
-x_103 = lean_ctor_get(x_102, 0);
-lean_inc(x_103);
-x_104 = lean_ctor_get(x_102, 1);
-lean_inc(x_104);
-lean_dec(x_102);
-x_105 = lean_st_ref_get(x_8, x_104);
-x_106 = lean_ctor_get(x_105, 1);
-lean_inc(x_106);
-lean_dec(x_105);
-x_107 = lean_st_ref_take(x_8, x_106);
-x_108 = lean_ctor_get(x_107, 0);
-lean_inc(x_108);
-x_109 = lean_ctor_get(x_108, 3);
-lean_inc(x_109);
-x_110 = lean_ctor_get(x_107, 1);
+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;
+x_108 = lean_ctor_get(x_91, 0);
+x_109 = lean_ctor_get(x_91, 1);
+x_110 = lean_ctor_get(x_91, 2);
lean_inc(x_110);
-lean_dec(x_107);
-x_111 = lean_ctor_get(x_108, 0);
+lean_inc(x_109);
+lean_inc(x_108);
+lean_dec(x_91);
+x_111 = lean_ctor_get(x_92, 0);
lean_inc(x_111);
-x_112 = lean_ctor_get(x_108, 1);
-lean_inc(x_112);
-x_113 = lean_ctor_get(x_108, 2);
-lean_inc(x_113);
-if (lean_is_exclusive(x_108)) {
- lean_ctor_release(x_108, 0);
- lean_ctor_release(x_108, 1);
- lean_ctor_release(x_108, 2);
- lean_ctor_release(x_108, 3);
- x_114 = x_108;
+if (lean_is_exclusive(x_92)) {
+ lean_ctor_release(x_92, 0);
+ x_112 = x_92;
} else {
- lean_dec_ref(x_108);
- x_114 = lean_box(0);
+ lean_dec_ref(x_92);
+ x_112 = lean_box(0);
}
-x_115 = lean_ctor_get(x_109, 0);
-lean_inc(x_115);
-if (lean_is_exclusive(x_109)) {
- lean_ctor_release(x_109, 0);
- x_116 = x_109;
+if (lean_is_scalar(x_112)) {
+ x_113 = lean_alloc_ctor(0, 1, 1);
} else {
- lean_dec_ref(x_109);
- x_116 = lean_box(0);
+ x_113 = x_112;
}
-if (lean_is_scalar(x_116)) {
- x_117 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_117 = x_116;
-}
-lean_ctor_set(x_117, 0, x_115);
-lean_ctor_set_uint8(x_117, sizeof(void*)*1, x_19);
-if (lean_is_scalar(x_114)) {
- x_118 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_118 = x_114;
-}
-lean_ctor_set(x_118, 0, x_111);
-lean_ctor_set(x_118, 1, x_112);
-lean_ctor_set(x_118, 2, x_113);
-lean_ctor_set(x_118, 3, x_117);
-x_119 = lean_st_ref_set(x_8, x_118, x_110);
+lean_ctor_set(x_113, 0, x_111);
+lean_ctor_set_uint8(x_113, sizeof(void*)*1, x_41);
+x_114 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_114, 0, x_108);
+lean_ctor_set(x_114, 1, x_109);
+lean_ctor_set(x_114, 2, x_110);
+lean_ctor_set(x_114, 3, x_113);
+x_115 = lean_st_ref_set(x_8, x_114, x_93);
lean_dec(x_8);
-x_120 = lean_ctor_get(x_119, 1);
-lean_inc(x_120);
-if (lean_is_exclusive(x_119)) {
- lean_ctor_release(x_119, 0);
- lean_ctor_release(x_119, 1);
- x_121 = x_119;
+x_116 = lean_ctor_get(x_115, 1);
+lean_inc(x_116);
+if (lean_is_exclusive(x_115)) {
+ lean_ctor_release(x_115, 0);
+ lean_ctor_release(x_115, 1);
+ x_117 = x_115;
} else {
- lean_dec_ref(x_119);
- x_121 = lean_box(0);
+ lean_dec_ref(x_115);
+ x_117 = lean_box(0);
}
-if (lean_is_scalar(x_121)) {
- x_122 = lean_alloc_ctor(0, 2, 0);
+if (lean_is_scalar(x_117)) {
+ x_118 = lean_alloc_ctor(1, 2, 0);
} else {
- x_122 = x_121;
+ x_118 = x_117;
+ lean_ctor_set_tag(x_118, 1);
+}
+lean_ctor_set(x_118, 0, x_86);
+lean_ctor_set(x_118, 1, x_116);
+return x_118;
+}
}
-lean_ctor_set(x_122, 0, x_103);
-lean_ctor_set(x_122, 1, x_120);
-return x_122;
}
else
{
-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; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142;
-x_123 = lean_ctor_get(x_102, 0);
+lean_object* x_119; uint8_t x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124;
+x_119 = lean_ctor_get(x_44, 0);
+lean_inc(x_119);
+lean_dec(x_44);
+x_120 = 0;
+x_121 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_121, 0, x_119);
+lean_ctor_set_uint8(x_121, sizeof(void*)*1, x_120);
+lean_ctor_set(x_43, 3, x_121);
+x_122 = lean_st_ref_set(x_8, x_43, x_45);
+x_123 = lean_ctor_get(x_122, 1);
lean_inc(x_123);
-x_124 = lean_ctor_get(x_102, 1);
-lean_inc(x_124);
-lean_dec(x_102);
-x_125 = lean_st_ref_get(x_8, x_124);
-x_126 = lean_ctor_get(x_125, 1);
+lean_dec(x_122);
+lean_inc(x_8);
+x_124 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_12, x_5, x_6, x_7, x_8, x_123);
+if (lean_obj_tag(x_124) == 0)
+{
+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; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144;
+x_125 = lean_ctor_get(x_124, 0);
+lean_inc(x_125);
+x_126 = lean_ctor_get(x_124, 1);
lean_inc(x_126);
-lean_dec(x_125);
-x_127 = lean_st_ref_take(x_8, x_126);
-x_128 = lean_ctor_get(x_127, 0);
+lean_dec(x_124);
+x_127 = lean_st_ref_get(x_8, x_126);
+x_128 = lean_ctor_get(x_127, 1);
lean_inc(x_128);
-x_129 = lean_ctor_get(x_128, 3);
-lean_inc(x_129);
-x_130 = lean_ctor_get(x_127, 1);
-lean_inc(x_130);
lean_dec(x_127);
-x_131 = lean_ctor_get(x_128, 0);
+x_129 = lean_st_ref_take(x_8, x_128);
+x_130 = lean_ctor_get(x_129, 0);
+lean_inc(x_130);
+x_131 = lean_ctor_get(x_130, 3);
lean_inc(x_131);
-x_132 = lean_ctor_get(x_128, 1);
+x_132 = lean_ctor_get(x_129, 1);
lean_inc(x_132);
-x_133 = lean_ctor_get(x_128, 2);
+lean_dec(x_129);
+x_133 = lean_ctor_get(x_130, 0);
lean_inc(x_133);
-if (lean_is_exclusive(x_128)) {
- lean_ctor_release(x_128, 0);
- lean_ctor_release(x_128, 1);
- lean_ctor_release(x_128, 2);
- lean_ctor_release(x_128, 3);
- x_134 = x_128;
-} else {
- lean_dec_ref(x_128);
- x_134 = lean_box(0);
-}
-x_135 = lean_ctor_get(x_129, 0);
+x_134 = lean_ctor_get(x_130, 1);
+lean_inc(x_134);
+x_135 = lean_ctor_get(x_130, 2);
lean_inc(x_135);
-if (lean_is_exclusive(x_129)) {
- lean_ctor_release(x_129, 0);
- x_136 = x_129;
+if (lean_is_exclusive(x_130)) {
+ lean_ctor_release(x_130, 0);
+ lean_ctor_release(x_130, 1);
+ lean_ctor_release(x_130, 2);
+ lean_ctor_release(x_130, 3);
+ x_136 = x_130;
} else {
- lean_dec_ref(x_129);
+ lean_dec_ref(x_130);
x_136 = lean_box(0);
}
+x_137 = lean_ctor_get(x_131, 0);
+lean_inc(x_137);
+if (lean_is_exclusive(x_131)) {
+ lean_ctor_release(x_131, 0);
+ x_138 = x_131;
+} else {
+ lean_dec_ref(x_131);
+ x_138 = lean_box(0);
+}
+if (lean_is_scalar(x_138)) {
+ x_139 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_139 = x_138;
+}
+lean_ctor_set(x_139, 0, x_137);
+lean_ctor_set_uint8(x_139, sizeof(void*)*1, x_41);
if (lean_is_scalar(x_136)) {
- x_137 = lean_alloc_ctor(0, 1, 1);
+ x_140 = lean_alloc_ctor(0, 4, 0);
} else {
- x_137 = x_136;
+ x_140 = x_136;
}
-lean_ctor_set(x_137, 0, x_135);
-lean_ctor_set_uint8(x_137, sizeof(void*)*1, x_19);
-if (lean_is_scalar(x_134)) {
- x_138 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_138 = x_134;
-}
-lean_ctor_set(x_138, 0, x_131);
-lean_ctor_set(x_138, 1, x_132);
-lean_ctor_set(x_138, 2, x_133);
-lean_ctor_set(x_138, 3, x_137);
-x_139 = lean_st_ref_set(x_8, x_138, x_130);
+lean_ctor_set(x_140, 0, x_133);
+lean_ctor_set(x_140, 1, x_134);
+lean_ctor_set(x_140, 2, x_135);
+lean_ctor_set(x_140, 3, x_139);
+x_141 = lean_st_ref_set(x_8, x_140, x_132);
lean_dec(x_8);
-x_140 = lean_ctor_get(x_139, 1);
-lean_inc(x_140);
-if (lean_is_exclusive(x_139)) {
- lean_ctor_release(x_139, 0);
- lean_ctor_release(x_139, 1);
- x_141 = x_139;
+x_142 = lean_ctor_get(x_141, 1);
+lean_inc(x_142);
+if (lean_is_exclusive(x_141)) {
+ lean_ctor_release(x_141, 0);
+ lean_ctor_release(x_141, 1);
+ x_143 = x_141;
} else {
- lean_dec_ref(x_139);
- x_141 = lean_box(0);
+ lean_dec_ref(x_141);
+ x_143 = lean_box(0);
}
-if (lean_is_scalar(x_141)) {
- x_142 = lean_alloc_ctor(1, 2, 0);
+if (lean_is_scalar(x_143)) {
+ x_144 = lean_alloc_ctor(0, 2, 0);
} else {
- x_142 = x_141;
- lean_ctor_set_tag(x_142, 1);
-}
-lean_ctor_set(x_142, 0, x_123);
-lean_ctor_set(x_142, 1, x_140);
-return x_142;
-}
+ x_144 = x_143;
}
+lean_ctor_set(x_144, 0, x_125);
+lean_ctor_set(x_144, 1, x_142);
+return x_144;
}
else
{
-lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; uint8_t x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153;
-x_143 = lean_ctor_get(x_21, 0);
-x_144 = lean_ctor_get(x_21, 1);
-x_145 = lean_ctor_get(x_21, 2);
+lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164;
+x_145 = lean_ctor_get(x_124, 0);
lean_inc(x_145);
-lean_inc(x_144);
-lean_inc(x_143);
-lean_dec(x_21);
-x_146 = lean_ctor_get(x_22, 0);
+x_146 = lean_ctor_get(x_124, 1);
lean_inc(x_146);
-if (lean_is_exclusive(x_22)) {
- lean_ctor_release(x_22, 0);
- x_147 = x_22;
-} else {
- lean_dec_ref(x_22);
- x_147 = lean_box(0);
-}
-x_148 = 0;
-if (lean_is_scalar(x_147)) {
- x_149 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_149 = x_147;
-}
-lean_ctor_set(x_149, 0, x_146);
-lean_ctor_set_uint8(x_149, sizeof(void*)*1, x_148);
-x_150 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_150, 0, x_143);
-lean_ctor_set(x_150, 1, x_144);
-lean_ctor_set(x_150, 2, x_145);
-lean_ctor_set(x_150, 3, x_149);
-x_151 = lean_st_ref_set(x_8, x_150, x_23);
-x_152 = lean_ctor_get(x_151, 1);
+lean_dec(x_124);
+x_147 = lean_st_ref_get(x_8, x_146);
+x_148 = lean_ctor_get(x_147, 1);
+lean_inc(x_148);
+lean_dec(x_147);
+x_149 = lean_st_ref_take(x_8, x_148);
+x_150 = lean_ctor_get(x_149, 0);
+lean_inc(x_150);
+x_151 = lean_ctor_get(x_150, 3);
+lean_inc(x_151);
+x_152 = lean_ctor_get(x_149, 1);
lean_inc(x_152);
-lean_dec(x_151);
-lean_inc(x_8);
-x_153 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_12, x_5, x_6, x_7, x_8, x_152);
-if (lean_obj_tag(x_153) == 0)
-{
-lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173;
-x_154 = lean_ctor_get(x_153, 0);
+lean_dec(x_149);
+x_153 = lean_ctor_get(x_150, 0);
+lean_inc(x_153);
+x_154 = lean_ctor_get(x_150, 1);
lean_inc(x_154);
-x_155 = lean_ctor_get(x_153, 1);
+x_155 = lean_ctor_get(x_150, 2);
lean_inc(x_155);
-lean_dec(x_153);
-x_156 = lean_st_ref_get(x_8, x_155);
-x_157 = lean_ctor_get(x_156, 1);
+if (lean_is_exclusive(x_150)) {
+ lean_ctor_release(x_150, 0);
+ lean_ctor_release(x_150, 1);
+ lean_ctor_release(x_150, 2);
+ lean_ctor_release(x_150, 3);
+ x_156 = x_150;
+} else {
+ lean_dec_ref(x_150);
+ x_156 = lean_box(0);
+}
+x_157 = lean_ctor_get(x_151, 0);
lean_inc(x_157);
-lean_dec(x_156);
-x_158 = lean_st_ref_take(x_8, x_157);
-x_159 = lean_ctor_get(x_158, 0);
-lean_inc(x_159);
-x_160 = lean_ctor_get(x_159, 3);
-lean_inc(x_160);
-x_161 = lean_ctor_get(x_158, 1);
-lean_inc(x_161);
-lean_dec(x_158);
-x_162 = lean_ctor_get(x_159, 0);
-lean_inc(x_162);
-x_163 = lean_ctor_get(x_159, 1);
-lean_inc(x_163);
-x_164 = lean_ctor_get(x_159, 2);
-lean_inc(x_164);
-if (lean_is_exclusive(x_159)) {
- lean_ctor_release(x_159, 0);
- lean_ctor_release(x_159, 1);
- lean_ctor_release(x_159, 2);
- lean_ctor_release(x_159, 3);
- x_165 = x_159;
+if (lean_is_exclusive(x_151)) {
+ lean_ctor_release(x_151, 0);
+ x_158 = x_151;
} else {
- lean_dec_ref(x_159);
- x_165 = lean_box(0);
+ lean_dec_ref(x_151);
+ x_158 = lean_box(0);
}
-x_166 = lean_ctor_get(x_160, 0);
-lean_inc(x_166);
-if (lean_is_exclusive(x_160)) {
- lean_ctor_release(x_160, 0);
- x_167 = x_160;
+if (lean_is_scalar(x_158)) {
+ x_159 = lean_alloc_ctor(0, 1, 1);
} else {
- lean_dec_ref(x_160);
- x_167 = lean_box(0);
+ x_159 = x_158;
}
-if (lean_is_scalar(x_167)) {
- x_168 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_159, 0, x_157);
+lean_ctor_set_uint8(x_159, sizeof(void*)*1, x_41);
+if (lean_is_scalar(x_156)) {
+ x_160 = lean_alloc_ctor(0, 4, 0);
} else {
- x_168 = x_167;
+ x_160 = x_156;
}
-lean_ctor_set(x_168, 0, x_166);
-lean_ctor_set_uint8(x_168, sizeof(void*)*1, x_19);
-if (lean_is_scalar(x_165)) {
- x_169 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_169 = x_165;
-}
-lean_ctor_set(x_169, 0, x_162);
-lean_ctor_set(x_169, 1, x_163);
-lean_ctor_set(x_169, 2, x_164);
-lean_ctor_set(x_169, 3, x_168);
-x_170 = lean_st_ref_set(x_8, x_169, x_161);
+lean_ctor_set(x_160, 0, x_153);
+lean_ctor_set(x_160, 1, x_154);
+lean_ctor_set(x_160, 2, x_155);
+lean_ctor_set(x_160, 3, x_159);
+x_161 = lean_st_ref_set(x_8, x_160, x_152);
lean_dec(x_8);
-x_171 = lean_ctor_get(x_170, 1);
-lean_inc(x_171);
-if (lean_is_exclusive(x_170)) {
- lean_ctor_release(x_170, 0);
- lean_ctor_release(x_170, 1);
- x_172 = x_170;
+x_162 = lean_ctor_get(x_161, 1);
+lean_inc(x_162);
+if (lean_is_exclusive(x_161)) {
+ lean_ctor_release(x_161, 0);
+ lean_ctor_release(x_161, 1);
+ x_163 = x_161;
} else {
- lean_dec_ref(x_170);
- x_172 = lean_box(0);
+ lean_dec_ref(x_161);
+ x_163 = lean_box(0);
}
-if (lean_is_scalar(x_172)) {
- x_173 = lean_alloc_ctor(0, 2, 0);
+if (lean_is_scalar(x_163)) {
+ x_164 = lean_alloc_ctor(1, 2, 0);
} else {
- x_173 = x_172;
+ x_164 = x_163;
+ lean_ctor_set_tag(x_164, 1);
+}
+lean_ctor_set(x_164, 0, x_145);
+lean_ctor_set(x_164, 1, x_162);
+return x_164;
+}
}
-lean_ctor_set(x_173, 0, x_154);
-lean_ctor_set(x_173, 1, x_171);
-return x_173;
}
else
{
-lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193;
-x_174 = lean_ctor_get(x_153, 0);
-lean_inc(x_174);
-x_175 = lean_ctor_get(x_153, 1);
-lean_inc(x_175);
-lean_dec(x_153);
-x_176 = lean_st_ref_get(x_8, x_175);
-x_177 = lean_ctor_get(x_176, 1);
-lean_inc(x_177);
-lean_dec(x_176);
-x_178 = lean_st_ref_take(x_8, x_177);
-x_179 = lean_ctor_get(x_178, 0);
-lean_inc(x_179);
-x_180 = lean_ctor_get(x_179, 3);
-lean_inc(x_180);
-x_181 = lean_ctor_get(x_178, 1);
-lean_inc(x_181);
-lean_dec(x_178);
-x_182 = lean_ctor_get(x_179, 0);
-lean_inc(x_182);
-x_183 = lean_ctor_get(x_179, 1);
-lean_inc(x_183);
-x_184 = lean_ctor_get(x_179, 2);
-lean_inc(x_184);
-if (lean_is_exclusive(x_179)) {
- lean_ctor_release(x_179, 0);
- lean_ctor_release(x_179, 1);
- lean_ctor_release(x_179, 2);
- lean_ctor_release(x_179, 3);
- x_185 = x_179;
+lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; uint8_t x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175;
+x_165 = lean_ctor_get(x_43, 0);
+x_166 = lean_ctor_get(x_43, 1);
+x_167 = lean_ctor_get(x_43, 2);
+lean_inc(x_167);
+lean_inc(x_166);
+lean_inc(x_165);
+lean_dec(x_43);
+x_168 = lean_ctor_get(x_44, 0);
+lean_inc(x_168);
+if (lean_is_exclusive(x_44)) {
+ lean_ctor_release(x_44, 0);
+ x_169 = x_44;
} else {
- lean_dec_ref(x_179);
- x_185 = lean_box(0);
+ lean_dec_ref(x_44);
+ x_169 = lean_box(0);
}
-x_186 = lean_ctor_get(x_180, 0);
-lean_inc(x_186);
-if (lean_is_exclusive(x_180)) {
- lean_ctor_release(x_180, 0);
- x_187 = x_180;
+x_170 = 0;
+if (lean_is_scalar(x_169)) {
+ x_171 = lean_alloc_ctor(0, 1, 1);
} else {
- lean_dec_ref(x_180);
+ x_171 = x_169;
+}
+lean_ctor_set(x_171, 0, x_168);
+lean_ctor_set_uint8(x_171, sizeof(void*)*1, x_170);
+x_172 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_172, 0, x_165);
+lean_ctor_set(x_172, 1, x_166);
+lean_ctor_set(x_172, 2, x_167);
+lean_ctor_set(x_172, 3, x_171);
+x_173 = lean_st_ref_set(x_8, x_172, x_45);
+x_174 = lean_ctor_get(x_173, 1);
+lean_inc(x_174);
+lean_dec(x_173);
+lean_inc(x_8);
+x_175 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_12, x_5, x_6, x_7, x_8, x_174);
+if (lean_obj_tag(x_175) == 0)
+{
+lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195;
+x_176 = lean_ctor_get(x_175, 0);
+lean_inc(x_176);
+x_177 = lean_ctor_get(x_175, 1);
+lean_inc(x_177);
+lean_dec(x_175);
+x_178 = lean_st_ref_get(x_8, x_177);
+x_179 = lean_ctor_get(x_178, 1);
+lean_inc(x_179);
+lean_dec(x_178);
+x_180 = lean_st_ref_take(x_8, x_179);
+x_181 = lean_ctor_get(x_180, 0);
+lean_inc(x_181);
+x_182 = lean_ctor_get(x_181, 3);
+lean_inc(x_182);
+x_183 = lean_ctor_get(x_180, 1);
+lean_inc(x_183);
+lean_dec(x_180);
+x_184 = lean_ctor_get(x_181, 0);
+lean_inc(x_184);
+x_185 = lean_ctor_get(x_181, 1);
+lean_inc(x_185);
+x_186 = lean_ctor_get(x_181, 2);
+lean_inc(x_186);
+if (lean_is_exclusive(x_181)) {
+ lean_ctor_release(x_181, 0);
+ lean_ctor_release(x_181, 1);
+ lean_ctor_release(x_181, 2);
+ lean_ctor_release(x_181, 3);
+ x_187 = x_181;
+} else {
+ lean_dec_ref(x_181);
x_187 = lean_box(0);
}
+x_188 = lean_ctor_get(x_182, 0);
+lean_inc(x_188);
+if (lean_is_exclusive(x_182)) {
+ lean_ctor_release(x_182, 0);
+ x_189 = x_182;
+} else {
+ lean_dec_ref(x_182);
+ x_189 = lean_box(0);
+}
+if (lean_is_scalar(x_189)) {
+ x_190 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_190 = x_189;
+}
+lean_ctor_set(x_190, 0, x_188);
+lean_ctor_set_uint8(x_190, sizeof(void*)*1, x_41);
if (lean_is_scalar(x_187)) {
- x_188 = lean_alloc_ctor(0, 1, 1);
+ x_191 = lean_alloc_ctor(0, 4, 0);
} else {
- x_188 = x_187;
+ x_191 = x_187;
}
-lean_ctor_set(x_188, 0, x_186);
-lean_ctor_set_uint8(x_188, sizeof(void*)*1, x_19);
-if (lean_is_scalar(x_185)) {
- x_189 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_189 = x_185;
-}
-lean_ctor_set(x_189, 0, x_182);
-lean_ctor_set(x_189, 1, x_183);
-lean_ctor_set(x_189, 2, x_184);
-lean_ctor_set(x_189, 3, x_188);
-x_190 = lean_st_ref_set(x_8, x_189, x_181);
+lean_ctor_set(x_191, 0, x_184);
+lean_ctor_set(x_191, 1, x_185);
+lean_ctor_set(x_191, 2, x_186);
+lean_ctor_set(x_191, 3, x_190);
+x_192 = lean_st_ref_set(x_8, x_191, x_183);
lean_dec(x_8);
-x_191 = lean_ctor_get(x_190, 1);
-lean_inc(x_191);
-if (lean_is_exclusive(x_190)) {
- lean_ctor_release(x_190, 0);
- lean_ctor_release(x_190, 1);
- x_192 = x_190;
+x_193 = lean_ctor_get(x_192, 1);
+lean_inc(x_193);
+if (lean_is_exclusive(x_192)) {
+ lean_ctor_release(x_192, 0);
+ lean_ctor_release(x_192, 1);
+ x_194 = x_192;
} else {
- lean_dec_ref(x_190);
- x_192 = lean_box(0);
+ lean_dec_ref(x_192);
+ x_194 = lean_box(0);
}
-if (lean_is_scalar(x_192)) {
- x_193 = lean_alloc_ctor(1, 2, 0);
+if (lean_is_scalar(x_194)) {
+ x_195 = lean_alloc_ctor(0, 2, 0);
} else {
- x_193 = x_192;
- lean_ctor_set_tag(x_193, 1);
-}
-lean_ctor_set(x_193, 0, x_174);
-lean_ctor_set(x_193, 1, x_191);
-return x_193;
-}
+ x_195 = x_194;
}
+lean_ctor_set(x_195, 0, x_176);
+lean_ctor_set(x_195, 1, x_193);
+return x_195;
}
else
{
-lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198;
-x_194 = lean_ctor_get(x_7, 3);
-lean_inc(x_194);
-x_195 = l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_isLevelDefEq___spec__3___rarg(x_8, x_14);
-x_196 = lean_ctor_get(x_195, 0);
+lean_object* x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214; lean_object* x_215;
+x_196 = lean_ctor_get(x_175, 0);
lean_inc(x_196);
-x_197 = lean_ctor_get(x_195, 1);
+x_197 = lean_ctor_get(x_175, 1);
lean_inc(x_197);
-lean_dec(x_195);
-lean_inc(x_8);
-lean_inc(x_7);
-lean_inc(x_6);
-lean_inc(x_5);
-x_198 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_12, x_5, x_6, x_7, x_8, x_197);
-if (lean_obj_tag(x_198) == 0)
-{
-lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; uint8_t x_203;
-x_199 = lean_ctor_get(x_198, 0);
+lean_dec(x_175);
+x_198 = lean_st_ref_get(x_8, x_197);
+x_199 = lean_ctor_get(x_198, 1);
lean_inc(x_199);
-x_200 = lean_ctor_get(x_198, 1);
-lean_inc(x_200);
lean_dec(x_198);
-x_201 = l_Lean_Meta_mkAppM___rarg___closed__2;
-x_202 = l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_isLevelDefEq___spec__4(x_196, x_201, x_194, x_5, x_6, x_7, x_8, x_200);
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-x_203 = !lean_is_exclusive(x_202);
-if (x_203 == 0)
-{
-lean_object* x_204;
-x_204 = lean_ctor_get(x_202, 0);
-lean_dec(x_204);
-lean_ctor_set(x_202, 0, x_199);
-return x_202;
-}
-else
-{
-lean_object* x_205; lean_object* x_206;
-x_205 = lean_ctor_get(x_202, 1);
+x_200 = lean_st_ref_take(x_8, x_199);
+x_201 = lean_ctor_get(x_200, 0);
+lean_inc(x_201);
+x_202 = lean_ctor_get(x_201, 3);
+lean_inc(x_202);
+x_203 = lean_ctor_get(x_200, 1);
+lean_inc(x_203);
+lean_dec(x_200);
+x_204 = lean_ctor_get(x_201, 0);
+lean_inc(x_204);
+x_205 = lean_ctor_get(x_201, 1);
lean_inc(x_205);
-lean_dec(x_202);
-x_206 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_206, 0, x_199);
-lean_ctor_set(x_206, 1, x_205);
-return x_206;
+x_206 = lean_ctor_get(x_201, 2);
+lean_inc(x_206);
+if (lean_is_exclusive(x_201)) {
+ lean_ctor_release(x_201, 0);
+ lean_ctor_release(x_201, 1);
+ lean_ctor_release(x_201, 2);
+ lean_ctor_release(x_201, 3);
+ x_207 = x_201;
+} else {
+ lean_dec_ref(x_201);
+ x_207 = lean_box(0);
}
-}
-else
-{
-lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; uint8_t x_211;
-x_207 = lean_ctor_get(x_198, 0);
-lean_inc(x_207);
-x_208 = lean_ctor_get(x_198, 1);
+x_208 = lean_ctor_get(x_202, 0);
lean_inc(x_208);
-lean_dec(x_198);
-x_209 = l_Lean_Meta_mkAppM___rarg___closed__2;
-x_210 = l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_isLevelDefEq___spec__4(x_196, x_209, x_194, x_5, x_6, x_7, x_8, x_208);
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-x_211 = !lean_is_exclusive(x_210);
-if (x_211 == 0)
-{
-lean_object* x_212;
-x_212 = lean_ctor_get(x_210, 0);
-lean_dec(x_212);
-lean_ctor_set_tag(x_210, 1);
-lean_ctor_set(x_210, 0, x_207);
-return x_210;
+if (lean_is_exclusive(x_202)) {
+ lean_ctor_release(x_202, 0);
+ x_209 = x_202;
+} else {
+ lean_dec_ref(x_202);
+ x_209 = lean_box(0);
}
-else
-{
-lean_object* x_213; lean_object* x_214;
-x_213 = lean_ctor_get(x_210, 1);
+if (lean_is_scalar(x_209)) {
+ x_210 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_210 = x_209;
+}
+lean_ctor_set(x_210, 0, x_208);
+lean_ctor_set_uint8(x_210, sizeof(void*)*1, x_41);
+if (lean_is_scalar(x_207)) {
+ x_211 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_211 = x_207;
+}
+lean_ctor_set(x_211, 0, x_204);
+lean_ctor_set(x_211, 1, x_205);
+lean_ctor_set(x_211, 2, x_206);
+lean_ctor_set(x_211, 3, x_210);
+x_212 = lean_st_ref_set(x_8, x_211, x_203);
+lean_dec(x_8);
+x_213 = lean_ctor_get(x_212, 1);
lean_inc(x_213);
-lean_dec(x_210);
-x_214 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_214, 0, x_207);
-lean_ctor_set(x_214, 1, x_213);
-return x_214;
+if (lean_is_exclusive(x_212)) {
+ lean_ctor_release(x_212, 0);
+ lean_ctor_release(x_212, 1);
+ x_214 = x_212;
+} else {
+ lean_dec_ref(x_212);
+ x_214 = lean_box(0);
+}
+if (lean_is_scalar(x_214)) {
+ x_215 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_215 = x_214;
+ lean_ctor_set_tag(x_215, 1);
+}
+lean_ctor_set(x_215, 0, x_196);
+lean_ctor_set(x_215, 1, x_213);
+return x_215;
+}
}
}
}
@@ -15992,73 +16105,73 @@ return x_19;
lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_tryPureCoe_x3f(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) {
_start:
{
-lean_object* x_13; uint8_t x_14; lean_object* x_90; uint8_t x_91;
-x_13 = l_Lean_Expr_getAppFn(x_4);
-x_90 = l_Lean_Expr_getAppFn(x_3);
-x_91 = l_Lean_Expr_isMVar(x_90);
-lean_dec(x_90);
-if (x_91 == 0)
+lean_object* x_13; lean_object* x_14; uint8_t x_15; lean_object* x_84; uint8_t x_85;
+x_13 = lean_box(0);
+x_14 = l_Lean_Expr_getAppFn(x_4);
+x_84 = l_Lean_Expr_getAppFn(x_3);
+x_85 = l_Lean_Expr_isMVar(x_84);
+lean_dec(x_84);
+if (x_85 == 0)
{
-uint8_t x_92;
-x_92 = l_Lean_Expr_isMVar(x_13);
-if (x_92 == 0)
+uint8_t x_86;
+x_86 = l_Lean_Expr_isMVar(x_14);
+if (x_86 == 0)
{
-uint8_t x_93;
-x_93 = 1;
-x_14 = x_93;
-goto block_89;
+uint8_t x_87;
+x_87 = 1;
+x_15 = x_87;
+goto block_83;
}
else
{
-uint8_t x_94;
-x_94 = 0;
-x_14 = x_94;
-goto block_89;
+uint8_t x_88;
+x_88 = 0;
+x_15 = x_88;
+goto block_83;
}
}
else
{
-uint8_t x_95;
-x_95 = 0;
-x_14 = x_95;
-goto block_89;
+uint8_t x_89;
+x_89 = 0;
+x_15 = x_89;
+goto block_83;
}
-block_89:
+block_83:
{
-if (x_14 == 0)
+if (x_15 == 0)
{
-lean_object* x_15;
+lean_object* x_16;
lean_inc(x_11);
lean_inc(x_10);
lean_inc(x_9);
lean_inc(x_8);
lean_inc(x_4);
-x_15 = l___private_Lean_Elab_Term_0__Lean_Elab_Term_isMonad_x3f(x_4, x_6, x_7, x_8, x_9, x_10, x_11, x_12);
-if (lean_obj_tag(x_15) == 0)
+x_16 = l___private_Lean_Elab_Term_0__Lean_Elab_Term_isMonad_x3f(x_4, x_6, x_7, x_8, x_9, x_10, x_11, x_12);
+if (lean_obj_tag(x_16) == 0)
{
-uint8_t x_16;
-x_16 = !lean_is_exclusive(x_15);
-if (x_16 == 0)
+uint8_t x_17;
+x_17 = !lean_is_exclusive(x_16);
+if (x_17 == 0)
{
-lean_object* x_17; lean_object* x_18; uint8_t x_19;
-x_17 = lean_ctor_get(x_15, 0);
-x_18 = lean_ctor_get(x_15, 1);
-x_19 = l_Lean_Expr_isMVar(x_13);
-lean_dec(x_13);
-if (x_19 == 0)
+lean_object* x_18; lean_object* x_19; uint8_t x_20;
+x_18 = lean_ctor_get(x_16, 0);
+x_19 = lean_ctor_get(x_16, 1);
+x_20 = l_Lean_Expr_isMVar(x_14);
+lean_dec(x_14);
+if (x_20 == 0)
{
-if (lean_obj_tag(x_17) == 0)
+if (lean_obj_tag(x_18) == 0)
{
-lean_object* x_20; lean_object* x_21;
-lean_free_object(x_15);
-x_20 = lean_box(0);
+lean_object* x_21;
+lean_free_object(x_16);
lean_inc(x_11);
lean_inc(x_10);
lean_inc(x_9);
lean_inc(x_8);
lean_inc(x_7);
lean_inc(x_6);
-x_21 = l___private_Lean_Elab_Term_0__Lean_Elab_Term_tryCoe(x_1, x_3, x_4, x_5, x_20, x_6, x_7, x_8, x_9, x_10, x_11, x_18);
+x_21 = l___private_Lean_Elab_Term_0__Lean_Elab_Term_tryCoe(x_1, x_3, x_4, x_5, x_13, x_6, x_7, x_8, x_9, x_10, x_11, x_19);
if (lean_obj_tag(x_21) == 0)
{
lean_object* x_22; lean_object* x_23; lean_object* x_24;
@@ -16109,7 +16222,7 @@ lean_object* x_33;
x_33 = lean_ctor_get(x_24, 0);
lean_dec(x_33);
lean_ctor_set_tag(x_24, 0);
-lean_ctor_set(x_24, 0, x_20);
+lean_ctor_set(x_24, 0, x_13);
return x_24;
}
else
@@ -16119,7 +16232,7 @@ x_34 = lean_ctor_get(x_24, 1);
lean_inc(x_34);
lean_dec(x_24);
x_35 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_35, 0, x_20);
+lean_ctor_set(x_35, 0, x_13);
lean_ctor_set(x_35, 1, x_34);
return x_35;
}
@@ -16142,7 +16255,7 @@ lean_object* x_37;
x_37 = lean_ctor_get(x_21, 0);
lean_dec(x_37);
lean_ctor_set_tag(x_21, 0);
-lean_ctor_set(x_21, 0, x_20);
+lean_ctor_set(x_21, 0, x_13);
return x_21;
}
else
@@ -16152,7 +16265,7 @@ x_38 = lean_ctor_get(x_21, 1);
lean_inc(x_38);
lean_dec(x_21);
x_39 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_39, 0, x_20);
+lean_ctor_set(x_39, 0, x_13);
lean_ctor_set(x_39, 1, x_38);
return x_39;
}
@@ -16160,8 +16273,7 @@ return x_39;
}
else
{
-lean_object* x_40;
-lean_dec(x_17);
+lean_dec(x_18);
lean_dec(x_11);
lean_dec(x_10);
lean_dec(x_9);
@@ -16173,15 +16285,13 @@ lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_40 = lean_box(0);
-lean_ctor_set(x_15, 0, x_40);
-return x_15;
+lean_ctor_set(x_16, 0, x_13);
+return x_16;
}
}
else
{
-lean_object* x_41;
-lean_dec(x_17);
+lean_dec(x_18);
lean_dec(x_11);
lean_dec(x_10);
lean_dec(x_9);
@@ -16193,82 +16303,111 @@ lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_41 = lean_box(0);
-lean_ctor_set(x_15, 0, x_41);
-return x_15;
+lean_ctor_set(x_16, 0, x_13);
+return x_16;
}
}
else
{
-lean_object* x_42; lean_object* x_43; uint8_t x_44;
-x_42 = lean_ctor_get(x_15, 0);
-x_43 = lean_ctor_get(x_15, 1);
-lean_inc(x_43);
-lean_inc(x_42);
-lean_dec(x_15);
-x_44 = l_Lean_Expr_isMVar(x_13);
-lean_dec(x_13);
-if (x_44 == 0)
+lean_object* x_40; lean_object* x_41; uint8_t x_42;
+x_40 = lean_ctor_get(x_16, 0);
+x_41 = lean_ctor_get(x_16, 1);
+lean_inc(x_41);
+lean_inc(x_40);
+lean_dec(x_16);
+x_42 = l_Lean_Expr_isMVar(x_14);
+lean_dec(x_14);
+if (x_42 == 0)
{
-if (lean_obj_tag(x_42) == 0)
+if (lean_obj_tag(x_40) == 0)
{
-lean_object* x_45; lean_object* x_46;
-x_45 = lean_box(0);
+lean_object* x_43;
lean_inc(x_11);
lean_inc(x_10);
lean_inc(x_9);
lean_inc(x_8);
lean_inc(x_7);
lean_inc(x_6);
-x_46 = l___private_Lean_Elab_Term_0__Lean_Elab_Term_tryCoe(x_1, x_3, x_4, x_5, x_45, x_6, x_7, x_8, x_9, x_10, x_11, x_43);
+x_43 = l___private_Lean_Elab_Term_0__Lean_Elab_Term_tryCoe(x_1, x_3, x_4, x_5, x_13, x_6, x_7, x_8, x_9, x_10, x_11, x_41);
+if (lean_obj_tag(x_43) == 0)
+{
+lean_object* x_44; lean_object* x_45; lean_object* x_46;
+x_44 = lean_ctor_get(x_43, 0);
+lean_inc(x_44);
+x_45 = lean_ctor_get(x_43, 1);
+lean_inc(x_45);
+lean_dec(x_43);
+x_46 = l_Lean_Meta_mkPure___at___private_Lean_Elab_Term_0__Lean_Elab_Term_tryPureCoe_x3f___spec__1(x_2, x_44, x_6, x_7, x_8, x_9, x_10, x_11, x_45);
+lean_dec(x_7);
+lean_dec(x_6);
if (lean_obj_tag(x_46) == 0)
{
-lean_object* x_47; lean_object* x_48; lean_object* x_49;
+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_46, 0);
lean_inc(x_47);
x_48 = lean_ctor_get(x_46, 1);
lean_inc(x_48);
-lean_dec(x_46);
-x_49 = l_Lean_Meta_mkPure___at___private_Lean_Elab_Term_0__Lean_Elab_Term_tryPureCoe_x3f___spec__1(x_2, x_47, x_6, x_7, x_8, x_9, x_10, x_11, x_48);
-lean_dec(x_7);
-lean_dec(x_6);
-if (lean_obj_tag(x_49) == 0)
-{
-lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54;
-x_50 = lean_ctor_get(x_49, 0);
-lean_inc(x_50);
-x_51 = lean_ctor_get(x_49, 1);
-lean_inc(x_51);
-if (lean_is_exclusive(x_49)) {
- lean_ctor_release(x_49, 0);
- lean_ctor_release(x_49, 1);
- x_52 = x_49;
+if (lean_is_exclusive(x_46)) {
+ lean_ctor_release(x_46, 0);
+ lean_ctor_release(x_46, 1);
+ x_49 = x_46;
} else {
- lean_dec_ref(x_49);
- x_52 = lean_box(0);
+ lean_dec_ref(x_46);
+ x_49 = lean_box(0);
}
-x_53 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_53, 0, x_50);
-if (lean_is_scalar(x_52)) {
+x_50 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_50, 0, x_47);
+if (lean_is_scalar(x_49)) {
+ x_51 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_51 = x_49;
+}
+lean_ctor_set(x_51, 0, x_50);
+lean_ctor_set(x_51, 1, x_48);
+return x_51;
+}
+else
+{
+lean_object* x_52; lean_object* x_53; lean_object* x_54;
+x_52 = lean_ctor_get(x_46, 1);
+lean_inc(x_52);
+if (lean_is_exclusive(x_46)) {
+ lean_ctor_release(x_46, 0);
+ lean_ctor_release(x_46, 1);
+ x_53 = x_46;
+} else {
+ lean_dec_ref(x_46);
+ x_53 = lean_box(0);
+}
+if (lean_is_scalar(x_53)) {
x_54 = lean_alloc_ctor(0, 2, 0);
} else {
- x_54 = x_52;
+ x_54 = x_53;
+ lean_ctor_set_tag(x_54, 0);
}
-lean_ctor_set(x_54, 0, x_53);
-lean_ctor_set(x_54, 1, x_51);
+lean_ctor_set(x_54, 0, x_13);
+lean_ctor_set(x_54, 1, x_52);
return x_54;
}
+}
else
{
lean_object* x_55; lean_object* x_56; lean_object* x_57;
-x_55 = lean_ctor_get(x_49, 1);
+lean_dec(x_11);
+lean_dec(x_10);
+lean_dec(x_9);
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_2);
+x_55 = lean_ctor_get(x_43, 1);
lean_inc(x_55);
-if (lean_is_exclusive(x_49)) {
- lean_ctor_release(x_49, 0);
- lean_ctor_release(x_49, 1);
- x_56 = x_49;
+if (lean_is_exclusive(x_43)) {
+ lean_ctor_release(x_43, 0);
+ lean_ctor_release(x_43, 1);
+ x_56 = x_43;
} else {
- lean_dec_ref(x_49);
+ lean_dec_ref(x_43);
x_56 = lean_box(0);
}
if (lean_is_scalar(x_56)) {
@@ -16277,46 +16416,15 @@ if (lean_is_scalar(x_56)) {
x_57 = x_56;
lean_ctor_set_tag(x_57, 0);
}
-lean_ctor_set(x_57, 0, x_45);
+lean_ctor_set(x_57, 0, x_13);
lean_ctor_set(x_57, 1, x_55);
return x_57;
}
}
else
{
-lean_object* x_58; lean_object* x_59; lean_object* x_60;
-lean_dec(x_11);
-lean_dec(x_10);
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_2);
-x_58 = lean_ctor_get(x_46, 1);
-lean_inc(x_58);
-if (lean_is_exclusive(x_46)) {
- lean_ctor_release(x_46, 0);
- lean_ctor_release(x_46, 1);
- x_59 = x_46;
-} else {
- lean_dec_ref(x_46);
- x_59 = lean_box(0);
-}
-if (lean_is_scalar(x_59)) {
- x_60 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_60 = x_59;
- lean_ctor_set_tag(x_60, 0);
-}
-lean_ctor_set(x_60, 0, x_45);
-lean_ctor_set(x_60, 1, x_58);
-return x_60;
-}
-}
-else
-{
-lean_object* x_61; lean_object* x_62;
-lean_dec(x_42);
+lean_object* x_58;
+lean_dec(x_40);
lean_dec(x_11);
lean_dec(x_10);
lean_dec(x_9);
@@ -16328,17 +16436,16 @@ lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_61 = lean_box(0);
-x_62 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_62, 0, x_61);
-lean_ctor_set(x_62, 1, x_43);
-return x_62;
+x_58 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_58, 0, x_13);
+lean_ctor_set(x_58, 1, x_41);
+return x_58;
}
}
else
{
-lean_object* x_63; lean_object* x_64;
-lean_dec(x_42);
+lean_object* x_59;
+lean_dec(x_40);
lean_dec(x_11);
lean_dec(x_10);
lean_dec(x_9);
@@ -16350,18 +16457,17 @@ lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_63 = lean_box(0);
-x_64 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_64, 0, x_63);
-lean_ctor_set(x_64, 1, x_43);
-return x_64;
+x_59 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_59, 0, x_13);
+lean_ctor_set(x_59, 1, x_41);
+return x_59;
}
}
}
else
{
-uint8_t x_65;
-lean_dec(x_13);
+uint8_t x_60;
+lean_dec(x_14);
lean_dec(x_11);
lean_dec(x_10);
lean_dec(x_9);
@@ -16373,107 +16479,106 @@ lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_65 = !lean_is_exclusive(x_15);
-if (x_65 == 0)
+x_60 = !lean_is_exclusive(x_16);
+if (x_60 == 0)
{
-return x_15;
+return x_16;
}
else
{
-lean_object* x_66; lean_object* x_67; lean_object* x_68;
-x_66 = lean_ctor_get(x_15, 0);
-x_67 = lean_ctor_get(x_15, 1);
-lean_inc(x_67);
-lean_inc(x_66);
-lean_dec(x_15);
-x_68 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_68, 0, x_66);
-lean_ctor_set(x_68, 1, x_67);
-return x_68;
+lean_object* x_61; lean_object* x_62; lean_object* x_63;
+x_61 = lean_ctor_get(x_16, 0);
+x_62 = lean_ctor_get(x_16, 1);
+lean_inc(x_62);
+lean_inc(x_61);
+lean_dec(x_16);
+x_63 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_63, 0, x_61);
+lean_ctor_set(x_63, 1, x_62);
+return x_63;
}
}
}
else
{
-lean_object* x_69; lean_object* x_70;
-lean_dec(x_13);
-x_69 = lean_box(0);
+lean_object* x_64;
+lean_dec(x_14);
lean_inc(x_11);
lean_inc(x_10);
lean_inc(x_9);
lean_inc(x_8);
lean_inc(x_7);
lean_inc(x_6);
-x_70 = l___private_Lean_Elab_Term_0__Lean_Elab_Term_tryCoe(x_1, x_3, x_4, x_5, x_69, x_6, x_7, x_8, x_9, x_10, x_11, x_12);
-if (lean_obj_tag(x_70) == 0)
+x_64 = l___private_Lean_Elab_Term_0__Lean_Elab_Term_tryCoe(x_1, x_3, x_4, x_5, x_13, x_6, x_7, x_8, x_9, x_10, x_11, x_12);
+if (lean_obj_tag(x_64) == 0)
{
-lean_object* x_71; lean_object* x_72; lean_object* x_73;
-x_71 = lean_ctor_get(x_70, 0);
-lean_inc(x_71);
-x_72 = lean_ctor_get(x_70, 1);
-lean_inc(x_72);
-lean_dec(x_70);
-x_73 = l_Lean_Meta_mkPure___at___private_Lean_Elab_Term_0__Lean_Elab_Term_tryPureCoe_x3f___spec__1(x_2, x_71, x_6, x_7, x_8, x_9, x_10, x_11, x_72);
+lean_object* x_65; lean_object* x_66; lean_object* x_67;
+x_65 = lean_ctor_get(x_64, 0);
+lean_inc(x_65);
+x_66 = lean_ctor_get(x_64, 1);
+lean_inc(x_66);
+lean_dec(x_64);
+x_67 = l_Lean_Meta_mkPure___at___private_Lean_Elab_Term_0__Lean_Elab_Term_tryPureCoe_x3f___spec__1(x_2, x_65, x_6, x_7, x_8, x_9, x_10, x_11, x_66);
lean_dec(x_7);
lean_dec(x_6);
-if (lean_obj_tag(x_73) == 0)
+if (lean_obj_tag(x_67) == 0)
{
-uint8_t x_74;
-x_74 = !lean_is_exclusive(x_73);
-if (x_74 == 0)
+uint8_t x_68;
+x_68 = !lean_is_exclusive(x_67);
+if (x_68 == 0)
{
-lean_object* x_75; lean_object* x_76;
-x_75 = lean_ctor_get(x_73, 0);
-x_76 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_76, 0, x_75);
-lean_ctor_set(x_73, 0, x_76);
-return x_73;
+lean_object* x_69; lean_object* x_70;
+x_69 = lean_ctor_get(x_67, 0);
+x_70 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_70, 0, x_69);
+lean_ctor_set(x_67, 0, x_70);
+return x_67;
}
else
{
-lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80;
-x_77 = lean_ctor_get(x_73, 0);
-x_78 = lean_ctor_get(x_73, 1);
-lean_inc(x_78);
+lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74;
+x_71 = lean_ctor_get(x_67, 0);
+x_72 = lean_ctor_get(x_67, 1);
+lean_inc(x_72);
+lean_inc(x_71);
+lean_dec(x_67);
+x_73 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_73, 0, x_71);
+x_74 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_74, 0, x_73);
+lean_ctor_set(x_74, 1, x_72);
+return x_74;
+}
+}
+else
+{
+uint8_t x_75;
+x_75 = !lean_is_exclusive(x_67);
+if (x_75 == 0)
+{
+lean_object* x_76;
+x_76 = lean_ctor_get(x_67, 0);
+lean_dec(x_76);
+lean_ctor_set_tag(x_67, 0);
+lean_ctor_set(x_67, 0, x_13);
+return x_67;
+}
+else
+{
+lean_object* x_77; lean_object* x_78;
+x_77 = lean_ctor_get(x_67, 1);
lean_inc(x_77);
-lean_dec(x_73);
-x_79 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_79, 0, x_77);
-x_80 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_80, 0, x_79);
-lean_ctor_set(x_80, 1, x_78);
-return x_80;
-}
-}
-else
-{
-uint8_t x_81;
-x_81 = !lean_is_exclusive(x_73);
-if (x_81 == 0)
-{
-lean_object* x_82;
-x_82 = lean_ctor_get(x_73, 0);
-lean_dec(x_82);
-lean_ctor_set_tag(x_73, 0);
-lean_ctor_set(x_73, 0, x_69);
-return x_73;
-}
-else
-{
-lean_object* x_83; lean_object* x_84;
-x_83 = lean_ctor_get(x_73, 1);
-lean_inc(x_83);
-lean_dec(x_73);
-x_84 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_84, 0, x_69);
-lean_ctor_set(x_84, 1, x_83);
-return x_84;
+lean_dec(x_67);
+x_78 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_78, 0, x_13);
+lean_ctor_set(x_78, 1, x_77);
+return x_78;
}
}
}
else
{
-uint8_t x_85;
+uint8_t x_79;
lean_dec(x_11);
lean_dec(x_10);
lean_dec(x_9);
@@ -16481,26 +16586,26 @@ lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_2);
-x_85 = !lean_is_exclusive(x_70);
-if (x_85 == 0)
+x_79 = !lean_is_exclusive(x_64);
+if (x_79 == 0)
{
-lean_object* x_86;
-x_86 = lean_ctor_get(x_70, 0);
-lean_dec(x_86);
-lean_ctor_set_tag(x_70, 0);
-lean_ctor_set(x_70, 0, x_69);
-return x_70;
+lean_object* x_80;
+x_80 = lean_ctor_get(x_64, 0);
+lean_dec(x_80);
+lean_ctor_set_tag(x_64, 0);
+lean_ctor_set(x_64, 0, x_13);
+return x_64;
}
else
{
-lean_object* x_87; lean_object* x_88;
-x_87 = lean_ctor_get(x_70, 1);
-lean_inc(x_87);
-lean_dec(x_70);
-x_88 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_88, 0, x_69);
-lean_ctor_set(x_88, 1, x_87);
-return x_88;
+lean_object* x_81; lean_object* x_82;
+x_81 = lean_ctor_get(x_64, 1);
+lean_inc(x_81);
+lean_dec(x_64);
+x_82 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_82, 0, x_13);
+lean_ctor_set(x_82, 1, x_81);
+return x_82;
}
}
}
@@ -20580,7 +20685,7 @@ return x_58;
}
}
}
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(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* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(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:
{
lean_object* x_9; uint8_t x_10; lean_object* x_11; lean_object* x_12;
@@ -20633,7 +20738,7 @@ x_53 = lean_ctor_get(x_47, 1);
lean_inc(x_53);
lean_dec(x_47);
x_54 = l___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___closed__1;
-x_55 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_54, x_3, x_4, x_5, x_6, x_7, x_8, x_53);
+x_55 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_54, x_3, x_4, x_5, x_6, x_7, x_8, x_53);
x_56 = lean_ctor_get(x_55, 0);
lean_inc(x_56);
x_57 = lean_ctor_get(x_55, 1);
@@ -20766,11 +20871,11 @@ lean_dec(x_3);
return x_10;
}
}
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2___boxed(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* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2___boxed(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:
{
lean_object* x_9;
-x_9 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8);
+x_9 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
@@ -21604,7 +21709,7 @@ x_12 = l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabUsingElabFns(x_1, x_2, x
return x_12;
}
}
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__5___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* l_Lean_Elab_Term_Lean_Elab_Term___instance__8___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) {
_start:
{
lean_object* x_7; uint8_t x_8;
@@ -21629,7 +21734,7 @@ return x_11;
}
}
}
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__5___lambda__2(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* l_Lean_Elab_Term_Lean_Elab_Term___instance__8___lambda__2(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:
{
lean_object* x_9; lean_object* x_10;
@@ -21641,7 +21746,7 @@ lean_ctor_set(x_10, 1, x_8);
return x_10;
}
}
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__5___lambda__3(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* l_Lean_Elab_Term_Lean_Elab_Term___instance__8___lambda__3(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:
{
lean_object* x_9; lean_object* x_10; lean_object* x_11; uint8_t x_12;
@@ -21720,59 +21825,59 @@ return x_29;
}
}
}
-static lean_object* _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__5___closed__1() {
+static lean_object* _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__8___closed__1() {
_start:
{
lean_object* x_1;
-x_1 = lean_alloc_closure((void*)(l_Lean_Elab_Term_Lean_Elab_Term___instance__5___lambda__1___boxed), 6, 0);
+x_1 = lean_alloc_closure((void*)(l_Lean_Elab_Term_Lean_Elab_Term___instance__8___lambda__1___boxed), 6, 0);
return x_1;
}
}
-static lean_object* _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__5___closed__2() {
+static lean_object* _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__8___closed__2() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Elab_Term_Lean_Elab_Term___instance__5___closed__1;
+x_1 = l_Lean_Elab_Term_Lean_Elab_Term___instance__8___closed__1;
x_2 = lean_alloc_closure((void*)(l_ReaderT_lift___rarg___boxed), 2, 1);
lean_closure_set(x_2, 0, x_1);
return x_2;
}
}
-static lean_object* _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__5___closed__3() {
+static lean_object* _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__8___closed__3() {
_start:
{
lean_object* x_1;
-x_1 = lean_alloc_closure((void*)(l_Lean_Elab_Term_Lean_Elab_Term___instance__5___lambda__2___boxed), 8, 0);
+x_1 = lean_alloc_closure((void*)(l_Lean_Elab_Term_Lean_Elab_Term___instance__8___lambda__2___boxed), 8, 0);
return x_1;
}
}
-static lean_object* _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__5___closed__4() {
+static lean_object* _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__8___closed__4() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Elab_Term_Lean_Elab_Term___instance__5___closed__2;
-x_2 = l_Lean_Elab_Term_Lean_Elab_Term___instance__5___closed__3;
+x_1 = l_Lean_Elab_Term_Lean_Elab_Term___instance__8___closed__2;
+x_2 = l_Lean_Elab_Term_Lean_Elab_Term___instance__8___closed__3;
x_3 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Elab_Term_monadLog___spec__2___rarg), 9, 2);
lean_closure_set(x_3, 0, x_1);
lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__5___closed__5() {
+static lean_object* _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__8___closed__5() {
_start:
{
lean_object* x_1;
-x_1 = lean_alloc_closure((void*)(l_Lean_Elab_Term_Lean_Elab_Term___instance__5___lambda__3___boxed), 8, 0);
+x_1 = lean_alloc_closure((void*)(l_Lean_Elab_Term_Lean_Elab_Term___instance__8___lambda__3___boxed), 8, 0);
return x_1;
}
}
-static lean_object* _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__5___closed__6() {
+static lean_object* _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__8___closed__6() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
x_1 = l_Lean_Elab_Term_monadQuotation___closed__1;
-x_2 = l_Lean_Elab_Term_Lean_Elab_Term___instance__5___closed__4;
-x_3 = l_Lean_Elab_Term_Lean_Elab_Term___instance__5___closed__5;
+x_2 = l_Lean_Elab_Term_Lean_Elab_Term___instance__8___closed__4;
+x_3 = l_Lean_Elab_Term_Lean_Elab_Term___instance__8___closed__5;
x_4 = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(x_4, 0, x_1);
lean_ctor_set(x_4, 1, x_2);
@@ -21780,19 +21885,19 @@ lean_ctor_set(x_4, 2, x_3);
return x_4;
}
}
-static lean_object* _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__5() {
+static lean_object* _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__8() {
_start:
{
lean_object* x_1;
-x_1 = l_Lean_Elab_Term_Lean_Elab_Term___instance__5___closed__6;
+x_1 = l_Lean_Elab_Term_Lean_Elab_Term___instance__8___closed__6;
return x_1;
}
}
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__5___lambda__1___boxed(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* l_Lean_Elab_Term_Lean_Elab_Term___instance__8___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
lean_object* x_7;
-x_7 = l_Lean_Elab_Term_Lean_Elab_Term___instance__5___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6);
+x_7 = l_Lean_Elab_Term_Lean_Elab_Term___instance__8___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
@@ -21801,11 +21906,11 @@ lean_dec(x_1);
return x_7;
}
}
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__5___lambda__2___boxed(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* l_Lean_Elab_Term_Lean_Elab_Term___instance__8___lambda__2___boxed(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:
{
lean_object* x_9;
-x_9 = l_Lean_Elab_Term_Lean_Elab_Term___instance__5___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8);
+x_9 = l_Lean_Elab_Term_Lean_Elab_Term___instance__8___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
@@ -21816,11 +21921,11 @@ lean_dec(x_1);
return x_9;
}
}
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__5___lambda__3___boxed(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* l_Lean_Elab_Term_Lean_Elab_Term___instance__8___lambda__3___boxed(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:
{
lean_object* x_9;
-x_9 = l_Lean_Elab_Term_Lean_Elab_Term___instance__5___lambda__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8);
+x_9 = l_Lean_Elab_Term_Lean_Elab_Term___instance__8___lambda__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
@@ -22000,7 +22105,7 @@ uint8_t l___private_Lean_Elab_Term_0__Lean_Elab_Term_isLambdaWithImplicit(lean_o
_start:
{
lean_object* x_2; uint8_t x_3;
-x_2 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_2 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
lean_inc(x_1);
x_3 = l_Lean_Syntax_isOfKind(x_1, x_2);
if (x_3 == 0)
@@ -22911,127 +23016,111 @@ lean_inc(x_7);
x_16 = l_Lean_Meta_mkLambdaFVars___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabImplicitLambdaAux___spec__1(x_4, x_14, x_5, x_6, x_7, x_8, x_9, x_10, x_15);
if (lean_obj_tag(x_16) == 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;
+lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; lean_object* x_21; lean_object* x_31; lean_object* x_32; lean_object* x_33; uint8_t x_34;
x_17 = lean_ctor_get(x_16, 0);
lean_inc(x_17);
x_18 = lean_ctor_get(x_16, 1);
lean_inc(x_18);
-lean_dec(x_16);
-x_19 = lean_st_ref_get(x_10, x_18);
-x_20 = lean_ctor_get(x_19, 0);
-lean_inc(x_20);
-x_21 = lean_ctor_get(x_20, 3);
-lean_inc(x_21);
-lean_dec(x_20);
-x_22 = lean_ctor_get_uint8(x_21, sizeof(void*)*1);
-lean_dec(x_21);
-if (x_22 == 0)
-{
-uint8_t x_23;
-lean_dec(x_10);
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-x_23 = !lean_is_exclusive(x_19);
-if (x_23 == 0)
-{
-lean_object* x_24;
-x_24 = lean_ctor_get(x_19, 0);
-lean_dec(x_24);
-lean_ctor_set(x_19, 0, x_17);
-return x_19;
+if (lean_is_exclusive(x_16)) {
+ lean_ctor_release(x_16, 0);
+ lean_ctor_release(x_16, 1);
+ x_19 = x_16;
+} else {
+ lean_dec_ref(x_16);
+ x_19 = lean_box(0);
}
-else
-{
-lean_object* x_25; lean_object* x_26;
-x_25 = lean_ctor_get(x_19, 1);
-lean_inc(x_25);
-lean_dec(x_19);
-x_26 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_26, 0, x_17);
-lean_ctor_set(x_26, 1, x_25);
-return x_26;
-}
-}
-else
-{
-lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31;
-x_27 = lean_ctor_get(x_19, 1);
-lean_inc(x_27);
-lean_dec(x_19);
-x_28 = l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabImplicitLambdaAux___closed__2;
-x_29 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_28, x_5, x_6, x_7, x_8, x_9, x_10, x_27);
-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)
-{
-uint8_t x_32;
-lean_dec(x_10);
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-x_32 = !lean_is_exclusive(x_29);
-if (x_32 == 0)
-{
-lean_object* x_33;
-x_33 = lean_ctor_get(x_29, 0);
+x_31 = lean_st_ref_get(x_10, x_18);
+x_32 = lean_ctor_get(x_31, 0);
+lean_inc(x_32);
+x_33 = lean_ctor_get(x_32, 3);
+lean_inc(x_33);
+lean_dec(x_32);
+x_34 = lean_ctor_get_uint8(x_33, sizeof(void*)*1);
lean_dec(x_33);
-lean_ctor_set(x_29, 0, x_17);
-return x_29;
+if (x_34 == 0)
+{
+lean_object* x_35; uint8_t x_36;
+x_35 = lean_ctor_get(x_31, 1);
+lean_inc(x_35);
+lean_dec(x_31);
+x_36 = 0;
+x_20 = x_36;
+x_21 = x_35;
+goto block_30;
}
else
{
-lean_object* x_34; lean_object* x_35;
-x_34 = lean_ctor_get(x_29, 1);
-lean_inc(x_34);
-lean_dec(x_29);
-x_35 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_35, 0, x_17);
-lean_ctor_set(x_35, 1, x_34);
-return x_35;
+lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; uint8_t x_42;
+x_37 = lean_ctor_get(x_31, 1);
+lean_inc(x_37);
+lean_dec(x_31);
+x_38 = l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabImplicitLambdaAux___closed__2;
+x_39 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_38, x_5, x_6, x_7, x_8, x_9, x_10, x_37);
+x_40 = lean_ctor_get(x_39, 0);
+lean_inc(x_40);
+x_41 = lean_ctor_get(x_39, 1);
+lean_inc(x_41);
+lean_dec(x_39);
+x_42 = lean_unbox(x_40);
+lean_dec(x_40);
+x_20 = x_42;
+x_21 = x_41;
+goto block_30;
}
-}
-else
+block_30:
{
-lean_object* x_36; lean_object* x_37; lean_object* x_38; uint8_t x_39;
-x_36 = lean_ctor_get(x_29, 1);
-lean_inc(x_36);
-lean_dec(x_29);
-lean_inc(x_17);
-x_37 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_37, 0, x_17);
-x_38 = l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__1(x_28, x_37, x_5, x_6, x_7, x_8, x_9, x_10, x_36);
+if (x_20 == 0)
+{
+lean_object* x_22;
lean_dec(x_10);
lean_dec(x_9);
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
-x_39 = !lean_is_exclusive(x_38);
-if (x_39 == 0)
-{
-lean_object* x_40;
-x_40 = lean_ctor_get(x_38, 0);
-lean_dec(x_40);
-lean_ctor_set(x_38, 0, x_17);
-return x_38;
+if (lean_is_scalar(x_19)) {
+ x_22 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_22 = x_19;
+}
+lean_ctor_set(x_22, 0, x_17);
+lean_ctor_set(x_22, 1, x_21);
+return x_22;
}
else
{
-lean_object* x_41; lean_object* x_42;
-x_41 = lean_ctor_get(x_38, 1);
-lean_inc(x_41);
-lean_dec(x_38);
-x_42 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_42, 0, x_17);
-lean_ctor_set(x_42, 1, x_41);
-return x_42;
+lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26;
+lean_dec(x_19);
+lean_inc(x_17);
+x_23 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_23, 0, x_17);
+x_24 = l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabImplicitLambdaAux___closed__2;
+x_25 = l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__1(x_24, x_23, x_5, x_6, x_7, x_8, x_9, x_10, x_21);
+lean_dec(x_10);
+lean_dec(x_9);
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+x_26 = !lean_is_exclusive(x_25);
+if (x_26 == 0)
+{
+lean_object* x_27;
+x_27 = lean_ctor_get(x_25, 0);
+lean_dec(x_27);
+lean_ctor_set(x_25, 0, x_17);
+return x_25;
+}
+else
+{
+lean_object* x_28; lean_object* x_29;
+x_28 = lean_ctor_get(x_25, 1);
+lean_inc(x_28);
+lean_dec(x_25);
+x_29 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_29, 0, x_17);
+lean_ctor_set(x_29, 1, x_28);
+return x_29;
}
}
}
@@ -23906,7 +23995,7 @@ else
{
lean_object* x_75; lean_object* x_76; uint8_t x_77;
lean_inc(x_54);
-x_75 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_1__toFormat___spec__1(x_54, x_56);
+x_75 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_0__Lean_TraceState_toFormat___spec__1(x_54, x_56);
x_76 = lean_ctor_get(x_75, 1);
lean_inc(x_76);
lean_dec(x_75);
@@ -24108,7 +24197,7 @@ else
{
lean_object* x_132; lean_object* x_133; uint8_t x_134;
lean_inc(x_113);
-x_132 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_1__toFormat___spec__1(x_113, x_115);
+x_132 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_0__Lean_TraceState_toFormat___spec__1(x_113, x_115);
x_133 = lean_ctor_get(x_132, 1);
lean_inc(x_133);
lean_dec(x_132);
@@ -24320,7 +24409,7 @@ else
{
lean_object* x_188; lean_object* x_189; uint8_t x_190;
lean_inc(x_167);
-x_188 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_1__toFormat___spec__1(x_167, x_170);
+x_188 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_0__Lean_TraceState_toFormat___spec__1(x_167, x_170);
x_189 = lean_ctor_get(x_188, 1);
lean_inc(x_189);
lean_dec(x_188);
@@ -24552,7 +24641,7 @@ else
{
lean_object* x_248; lean_object* x_249; uint8_t x_250;
lean_inc(x_231);
-x_248 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_1__toFormat___spec__1(x_231, x_233);
+x_248 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_0__Lean_TraceState_toFormat___spec__1(x_231, x_233);
x_249 = lean_ctor_get(x_248, 1);
lean_inc(x_249);
lean_dec(x_248);
@@ -24730,7 +24819,7 @@ else
{
lean_object* x_291; lean_object* x_292; uint8_t x_293;
lean_inc(x_274);
-x_291 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_1__toFormat___spec__1(x_274, x_276);
+x_291 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_0__Lean_TraceState_toFormat___spec__1(x_274, x_276);
x_292 = lean_ctor_get(x_291, 1);
lean_inc(x_292);
lean_dec(x_291);
@@ -24930,7 +25019,7 @@ else
{
lean_object* x_339; lean_object* x_340; uint8_t x_341;
lean_inc(x_320);
-x_339 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_1__toFormat___spec__1(x_320, x_323);
+x_339 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_0__Lean_TraceState_toFormat___spec__1(x_320, x_323);
x_340 = lean_ctor_get(x_339, 1);
lean_inc(x_340);
lean_dec(x_339);
@@ -25202,7 +25291,7 @@ else
{
lean_object* x_406; lean_object* x_407; uint8_t x_408;
lean_inc(x_385);
-x_406 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_1__toFormat___spec__1(x_385, x_388);
+x_406 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_0__Lean_TraceState_toFormat___spec__1(x_385, x_388);
x_407 = lean_ctor_get(x_406, 1);
lean_inc(x_407);
lean_dec(x_406);
@@ -25472,7 +25561,7 @@ else
{
lean_object* x_470; lean_object* x_471; uint8_t x_472;
lean_inc(x_451);
-x_470 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_1__toFormat___spec__1(x_451, x_454);
+x_470 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_0__Lean_TraceState_toFormat___spec__1(x_451, x_454);
x_471 = lean_ctor_get(x_470, 1);
lean_inc(x_471);
lean_dec(x_470);
@@ -25777,7 +25866,7 @@ else
{
lean_object* x_542; lean_object* x_543; uint8_t x_544;
lean_inc(x_521);
-x_542 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_1__toFormat___spec__1(x_521, x_524);
+x_542 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_0__Lean_TraceState_toFormat___spec__1(x_521, x_524);
x_543 = lean_ctor_get(x_542, 1);
lean_inc(x_543);
lean_dec(x_542);
@@ -26047,7 +26136,7 @@ else
{
lean_object* x_606; lean_object* x_607; uint8_t x_608;
lean_inc(x_587);
-x_606 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_1__toFormat___spec__1(x_587, x_590);
+x_606 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_0__Lean_TraceState_toFormat___spec__1(x_587, x_590);
x_607 = lean_ctor_get(x_606, 1);
lean_inc(x_607);
lean_dec(x_606);
@@ -26757,7 +26846,7 @@ x_71 = lean_ctor_get(x_65, 1);
lean_inc(x_71);
lean_dec(x_65);
x_72 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_899____closed__2;
-x_73 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_72, x_5, x_6, x_7, x_8, x_9, x_10, x_71);
+x_73 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_72, x_5, x_6, x_7, x_8, x_9, x_10, x_71);
x_74 = lean_ctor_get(x_73, 0);
lean_inc(x_74);
x_75 = lean_ctor_get(x_73, 1);
@@ -26888,7 +26977,7 @@ x_116 = lean_ctor_get(x_110, 1);
lean_inc(x_116);
lean_dec(x_110);
x_117 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_899____closed__2;
-x_118 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_117, x_5, x_6, x_7, x_8, x_78, x_10, x_116);
+x_118 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_117, x_5, x_6, x_7, x_8, x_78, x_10, x_116);
x_119 = lean_ctor_get(x_118, 0);
lean_inc(x_119);
x_120 = lean_ctor_get(x_118, 1);
@@ -27109,7 +27198,7 @@ x_183 = lean_ctor_get(x_177, 1);
lean_inc(x_183);
lean_dec(x_177);
x_184 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_899____closed__2;
-x_185 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_184, x_137, x_6, x_7, x_8, x_145, x_10, x_183);
+x_185 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_184, x_137, x_6, x_7, x_8, x_145, x_10, x_183);
x_186 = lean_ctor_get(x_185, 0);
lean_inc(x_186);
x_187 = lean_ctor_get(x_185, 1);
@@ -27369,7 +27458,7 @@ x_260 = lean_ctor_get(x_254, 1);
lean_inc(x_260);
lean_dec(x_254);
x_261 = l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_899____closed__2;
-x_262 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_261, x_214, x_6, x_7, x_8, x_222, x_10, x_260);
+x_262 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_261, x_214, x_6, x_7, x_8, x_222, x_10, x_260);
x_263 = lean_ctor_get(x_262, 0);
lean_inc(x_263);
x_264 = lean_ctor_get(x_262, 1);
@@ -34559,7 +34648,7 @@ x_2 = lean_alloc_closure((void*)(l_Lean_Elab_Term_TermElabM_toIO___rarg), 8, 0);
return x_2;
}
}
-lean_object* l_Array_forMAux___main___at_Lean_Elab_Term_Lean_Elab_Term___instance__6___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
+lean_object* l_Array_forMAux___main___at_Lean_Elab_Term_Lean_Elab_Term___instance__9___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
lean_object* x_5; uint8_t x_6;
@@ -34582,7 +34671,7 @@ else
lean_object* x_9; lean_object* x_10;
x_9 = lean_array_fget(x_2, x_3);
lean_inc(x_1);
-x_10 = l_Std_PersistentArray_forMAux___at_Lean_Elab_Term_Lean_Elab_Term___instance__6___spec__3(x_1, x_9, x_4);
+x_10 = l_Std_PersistentArray_forMAux___at_Lean_Elab_Term_Lean_Elab_Term___instance__9___spec__3(x_1, x_9, x_4);
lean_dec(x_9);
if (lean_obj_tag(x_10) == 0)
{
@@ -34624,7 +34713,7 @@ return x_18;
}
}
}
-lean_object* l_Array_forMAux___main___at_Lean_Elab_Term_Lean_Elab_Term___instance__6___spec__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
+lean_object* l_Array_forMAux___main___at_Lean_Elab_Term_Lean_Elab_Term___instance__9___spec__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
lean_object* x_5; uint8_t x_6;
@@ -34688,7 +34777,7 @@ return x_18;
}
}
}
-lean_object* l_Std_PersistentArray_forMAux___at_Lean_Elab_Term_Lean_Elab_Term___instance__6___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l_Std_PersistentArray_forMAux___at_Lean_Elab_Term_Lean_Elab_Term___instance__9___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
if (lean_obj_tag(x_2) == 0)
@@ -34696,7 +34785,7 @@ if (lean_obj_tag(x_2) == 0)
lean_object* x_4; lean_object* x_5; lean_object* x_6;
x_4 = lean_ctor_get(x_2, 0);
x_5 = lean_unsigned_to_nat(0u);
-x_6 = l_Array_forMAux___main___at_Lean_Elab_Term_Lean_Elab_Term___instance__6___spec__4(x_1, x_4, x_5, x_3);
+x_6 = l_Array_forMAux___main___at_Lean_Elab_Term_Lean_Elab_Term___instance__9___spec__4(x_1, x_4, x_5, x_3);
return x_6;
}
else
@@ -34704,12 +34793,12 @@ else
lean_object* x_7; lean_object* x_8; lean_object* x_9;
x_7 = lean_ctor_get(x_2, 0);
x_8 = lean_unsigned_to_nat(0u);
-x_9 = l_Array_forMAux___main___at_Lean_Elab_Term_Lean_Elab_Term___instance__6___spec__5(x_1, x_7, x_8, x_3);
+x_9 = l_Array_forMAux___main___at_Lean_Elab_Term_Lean_Elab_Term___instance__9___spec__5(x_1, x_7, x_8, x_3);
return x_9;
}
}
}
-lean_object* l_Array_forMAux___main___at_Lean_Elab_Term_Lean_Elab_Term___instance__6___spec__6(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
+lean_object* l_Array_forMAux___main___at_Lean_Elab_Term_Lean_Elab_Term___instance__9___spec__6(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
lean_object* x_5; uint8_t x_6;
@@ -34773,14 +34862,14 @@ return x_18;
}
}
}
-lean_object* l_Std_PersistentArray_forM___at_Lean_Elab_Term_Lean_Elab_Term___instance__6___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l_Std_PersistentArray_forM___at_Lean_Elab_Term_Lean_Elab_Term___instance__9___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4; lean_object* x_5; lean_object* x_6;
x_4 = lean_ctor_get(x_2, 0);
x_5 = lean_ctor_get(x_2, 1);
lean_inc(x_1);
-x_6 = l_Std_PersistentArray_forMAux___at_Lean_Elab_Term_Lean_Elab_Term___instance__6___spec__3(x_1, x_4, x_3);
+x_6 = l_Std_PersistentArray_forMAux___at_Lean_Elab_Term_Lean_Elab_Term___instance__9___spec__3(x_1, x_4, x_3);
if (lean_obj_tag(x_6) == 0)
{
lean_object* x_7; lean_object* x_8; lean_object* x_9;
@@ -34788,7 +34877,7 @@ x_7 = lean_ctor_get(x_6, 1);
lean_inc(x_7);
lean_dec(x_6);
x_8 = lean_unsigned_to_nat(0u);
-x_9 = l_Array_forMAux___main___at_Lean_Elab_Term_Lean_Elab_Term___instance__6___spec__6(x_1, x_5, x_8, x_7);
+x_9 = l_Array_forMAux___main___at_Lean_Elab_Term_Lean_Elab_Term___instance__9___spec__6(x_1, x_5, x_8, x_7);
return x_9;
}
else
@@ -34816,15 +34905,15 @@ return x_13;
}
}
}
-lean_object* l_Lean_MessageLog_forM___at_Lean_Elab_Term_Lean_Elab_Term___instance__6___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l_Lean_MessageLog_forM___at_Lean_Elab_Term_Lean_Elab_Term___instance__9___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
-x_4 = l_Std_PersistentArray_forM___at_Lean_Elab_Term_Lean_Elab_Term___instance__6___spec__2(x_2, x_1, x_3);
+x_4 = l_Std_PersistentArray_forM___at_Lean_Elab_Term_Lean_Elab_Term___instance__9___spec__2(x_2, x_1, x_3);
return x_4;
}
}
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__6___rarg___lambda__1(lean_object* x_1, lean_object* x_2) {
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__9___rarg___lambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
@@ -34864,7 +34953,7 @@ return x_10;
}
}
}
-static lean_object* _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__6___rarg___closed__1() {
+static lean_object* _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__9___rarg___closed__1() {
_start:
{
lean_object* x_1; lean_object* x_2;
@@ -34873,11 +34962,11 @@ x_2 = l_Lean_Elab_Term_setElabConfig(x_1);
return x_2;
}
}
-static lean_object* _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__6___rarg___closed__2() {
+static lean_object* _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__9___rarg___closed__2() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
-x_1 = l_Lean_Elab_Term_Lean_Elab_Term___instance__6___rarg___closed__1;
+x_1 = l_Lean_Elab_Term_Lean_Elab_Term___instance__9___rarg___closed__1;
x_2 = l_Lean_Meta_addGlobalInstanceImp___closed__3;
x_3 = l_Array_empty___closed__1;
x_4 = lean_alloc_ctor(0, 3, 0);
@@ -34887,15 +34976,15 @@ lean_ctor_set(x_4, 2, x_3);
return x_4;
}
}
-static lean_object* _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__6___rarg___closed__3() {
+static lean_object* _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__9___rarg___closed__3() {
_start:
{
lean_object* x_1;
-x_1 = lean_alloc_closure((void*)(l_Lean_Elab_Term_Lean_Elab_Term___instance__6___rarg___lambda__1), 2, 0);
+x_1 = lean_alloc_closure((void*)(l_Lean_Elab_Term_Lean_Elab_Term___instance__9___rarg___lambda__1), 2, 0);
return x_1;
}
}
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__6___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, uint8_t x_5, lean_object* x_6) {
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__9___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, uint8_t x_5, lean_object* x_6) {
_start:
{
lean_object* x_7; lean_object* x_8; 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_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;
@@ -34910,7 +34999,7 @@ lean_ctor_set(x_32, 2, x_29);
lean_ctor_set(x_32, 3, x_31);
x_33 = l_Lean_Unhygienic_run___rarg___closed__1;
x_34 = l_Lean_NameGenerator_Inhabited___closed__3;
-x_35 = l_Lean_TraceState_Inhabited___closed__1;
+x_35 = l_Lean_TraceState_Lean_Util_Trace___instance__2___closed__1;
x_36 = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(x_36, 0, x_2);
lean_ctor_set(x_36, 1, x_33);
@@ -34929,7 +35018,7 @@ lean_inc(x_49);
x_50 = lean_ctor_get(x_48, 1);
lean_inc(x_50);
lean_dec(x_48);
-x_51 = l_Lean_Elab_Term_State_inhabited___closed__1;
+x_51 = l_Lean_Elab_Term_Lean_Elab_Term___instance__1___closed__1;
x_52 = lean_st_mk_ref(x_51, x_50);
x_53 = lean_ctor_get(x_52, 0);
lean_inc(x_53);
@@ -34937,7 +35026,7 @@ x_54 = lean_ctor_get(x_52, 1);
lean_inc(x_54);
lean_dec(x_52);
x_55 = l___private_Lean_Elab_Term_0__Lean_Elab_Term_mkSomeContext;
-x_56 = l_Lean_Elab_Term_Lean_Elab_Term___instance__6___rarg___closed__2;
+x_56 = l_Lean_Elab_Term_Lean_Elab_Term___instance__9___rarg___closed__2;
lean_inc(x_38);
lean_inc(x_32);
lean_inc(x_49);
@@ -34960,8 +35049,8 @@ lean_dec(x_60);
x_63 = lean_ctor_get(x_61, 2);
lean_inc(x_63);
lean_dec(x_61);
-x_64 = l_Lean_Elab_Term_Lean_Elab_Term___instance__6___rarg___closed__3;
-x_65 = l_Std_PersistentArray_forM___at_Lean_Elab_Term_Lean_Elab_Term___instance__6___spec__2(x_64, x_63, x_62);
+x_64 = l_Lean_Elab_Term_Lean_Elab_Term___instance__9___rarg___closed__3;
+x_65 = l_Std_PersistentArray_forM___at_Lean_Elab_Term_Lean_Elab_Term___instance__9___spec__2(x_64, x_63, x_62);
lean_dec(x_63);
if (lean_obj_tag(x_65) == 0)
{
@@ -35066,8 +35155,8 @@ lean_dec(x_90);
x_93 = lean_ctor_get(x_91, 2);
lean_inc(x_93);
lean_dec(x_91);
-x_94 = l_Lean_Elab_Term_Lean_Elab_Term___instance__6___rarg___closed__3;
-x_95 = l_Std_PersistentArray_forM___at_Lean_Elab_Term_Lean_Elab_Term___instance__6___spec__2(x_94, x_93, x_92);
+x_94 = l_Lean_Elab_Term_Lean_Elab_Term___instance__9___rarg___closed__3;
+x_95 = l_Std_PersistentArray_forM___at_Lean_Elab_Term_Lean_Elab_Term___instance__9___spec__2(x_94, x_93, x_92);
lean_dec(x_93);
if (lean_obj_tag(x_95) == 0)
{
@@ -35213,79 +35302,79 @@ goto block_28;
}
}
}
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__6(lean_object* x_1) {
+lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__9(lean_object* x_1) {
_start:
{
lean_object* x_2;
-x_2 = lean_alloc_closure((void*)(l_Lean_Elab_Term_Lean_Elab_Term___instance__6___rarg___boxed), 6, 0);
+x_2 = lean_alloc_closure((void*)(l_Lean_Elab_Term_Lean_Elab_Term___instance__9___rarg___boxed), 6, 0);
return x_2;
}
}
-lean_object* l_Array_forMAux___main___at_Lean_Elab_Term_Lean_Elab_Term___instance__6___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
+lean_object* l_Array_forMAux___main___at_Lean_Elab_Term_Lean_Elab_Term___instance__9___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
lean_object* x_5;
-x_5 = l_Array_forMAux___main___at_Lean_Elab_Term_Lean_Elab_Term___instance__6___spec__4(x_1, x_2, x_3, x_4);
+x_5 = l_Array_forMAux___main___at_Lean_Elab_Term_Lean_Elab_Term___instance__9___spec__4(x_1, x_2, x_3, x_4);
lean_dec(x_2);
return x_5;
}
}
-lean_object* l_Array_forMAux___main___at_Lean_Elab_Term_Lean_Elab_Term___instance__6___spec__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
+lean_object* l_Array_forMAux___main___at_Lean_Elab_Term_Lean_Elab_Term___instance__9___spec__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
lean_object* x_5;
-x_5 = l_Array_forMAux___main___at_Lean_Elab_Term_Lean_Elab_Term___instance__6___spec__5(x_1, x_2, x_3, x_4);
+x_5 = l_Array_forMAux___main___at_Lean_Elab_Term_Lean_Elab_Term___instance__9___spec__5(x_1, x_2, x_3, x_4);
lean_dec(x_2);
return x_5;
}
}
-lean_object* l_Std_PersistentArray_forMAux___at_Lean_Elab_Term_Lean_Elab_Term___instance__6___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l_Std_PersistentArray_forMAux___at_Lean_Elab_Term_Lean_Elab_Term___instance__9___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
-x_4 = l_Std_PersistentArray_forMAux___at_Lean_Elab_Term_Lean_Elab_Term___instance__6___spec__3(x_1, x_2, x_3);
+x_4 = l_Std_PersistentArray_forMAux___at_Lean_Elab_Term_Lean_Elab_Term___instance__9___spec__3(x_1, x_2, x_3);
lean_dec(x_2);
return x_4;
}
}
-lean_object* l_Array_forMAux___main___at_Lean_Elab_Term_Lean_Elab_Term___instance__6___spec__6___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
+lean_object* l_Array_forMAux___main___at_Lean_Elab_Term_Lean_Elab_Term___instance__9___spec__6___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
lean_object* x_5;
-x_5 = l_Array_forMAux___main___at_Lean_Elab_Term_Lean_Elab_Term___instance__6___spec__6(x_1, x_2, x_3, x_4);
+x_5 = l_Array_forMAux___main___at_Lean_Elab_Term_Lean_Elab_Term___instance__9___spec__6(x_1, x_2, x_3, x_4);
lean_dec(x_2);
return x_5;
}
}
-lean_object* l_Std_PersistentArray_forM___at_Lean_Elab_Term_Lean_Elab_Term___instance__6___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l_Std_PersistentArray_forM___at_Lean_Elab_Term_Lean_Elab_Term___instance__9___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
-x_4 = l_Std_PersistentArray_forM___at_Lean_Elab_Term_Lean_Elab_Term___instance__6___spec__2(x_1, x_2, x_3);
+x_4 = l_Std_PersistentArray_forM___at_Lean_Elab_Term_Lean_Elab_Term___instance__9___spec__2(x_1, x_2, x_3);
lean_dec(x_2);
return x_4;
}
}
-lean_object* l_Lean_MessageLog_forM___at_Lean_Elab_Term_Lean_Elab_Term___instance__6___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l_Lean_MessageLog_forM___at_Lean_Elab_Term_Lean_Elab_Term___instance__9___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
-x_4 = l_Lean_MessageLog_forM___at_Lean_Elab_Term_Lean_Elab_Term___instance__6___spec__1(x_1, x_2, x_3);
+x_4 = l_Lean_MessageLog_forM___at_Lean_Elab_Term_Lean_Elab_Term___instance__9___spec__1(x_1, x_2, x_3);
lean_dec(x_1);
return x_4;
}
}
-lean_object* l_Lean_Elab_Term_Lean_Elab_Term___instance__6___rarg___boxed(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* l_Lean_Elab_Term_Lean_Elab_Term___instance__9___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
uint8_t x_7; lean_object* x_8;
x_7 = lean_unbox(x_5);
lean_dec(x_5);
-x_8 = l_Lean_Elab_Term_Lean_Elab_Term___instance__6___rarg(x_1, x_2, x_3, x_4, x_7, x_6);
+x_8 = l_Lean_Elab_Term_Lean_Elab_Term___instance__9___rarg(x_1, x_2, x_3, x_4, x_7, x_6);
return x_8;
}
}
-static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_7252____closed__1() {
+static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_7236____closed__1() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
@@ -35295,7 +35384,7 @@ x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
}
}
-lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_7252_(lean_object* x_1) {
+lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_7236_(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3;
@@ -35307,7 +35396,7 @@ lean_object* x_4; lean_object* x_5; lean_object* x_6;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
lean_dec(x_3);
-x_5 = l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_7252____closed__1;
+x_5 = l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_7236____closed__1;
x_6 = l_Lean_registerTraceClass(x_5, x_4);
if (lean_obj_tag(x_6) == 0)
{
@@ -35447,22 +35536,22 @@ l_Lean_Elab_Term_State_messages___default = _init_l_Lean_Elab_Term_State_message
lean_mark_persistent(l_Lean_Elab_Term_State_messages___default);
l_Lean_Elab_Term_State_letRecsToLift___default = _init_l_Lean_Elab_Term_State_letRecsToLift___default();
lean_mark_persistent(l_Lean_Elab_Term_State_letRecsToLift___default);
-l_Lean_Elab_Term_State_inhabited___closed__1 = _init_l_Lean_Elab_Term_State_inhabited___closed__1();
-lean_mark_persistent(l_Lean_Elab_Term_State_inhabited___closed__1);
-l_Lean_Elab_Term_State_inhabited = _init_l_Lean_Elab_Term_State_inhabited();
-lean_mark_persistent(l_Lean_Elab_Term_State_inhabited);
+l_Lean_Elab_Term_Lean_Elab_Term___instance__1___closed__1 = _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__1___closed__1();
+lean_mark_persistent(l_Lean_Elab_Term_Lean_Elab_Term___instance__1___closed__1);
+l_Lean_Elab_Term_Lean_Elab_Term___instance__1 = _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__1();
+lean_mark_persistent(l_Lean_Elab_Term_Lean_Elab_Term___instance__1);
l_Lean_Elab_Term_TermElabM_inhabited___closed__1 = _init_l_Lean_Elab_Term_TermElabM_inhabited___closed__1();
lean_mark_persistent(l_Lean_Elab_Term_TermElabM_inhabited___closed__1);
-l_Lean_Elab_Term_SavedState_inhabited___closed__1 = _init_l_Lean_Elab_Term_SavedState_inhabited___closed__1();
-lean_mark_persistent(l_Lean_Elab_Term_SavedState_inhabited___closed__1);
-l_Lean_Elab_Term_SavedState_inhabited___closed__2 = _init_l_Lean_Elab_Term_SavedState_inhabited___closed__2();
-lean_mark_persistent(l_Lean_Elab_Term_SavedState_inhabited___closed__2);
-l_Lean_Elab_Term_SavedState_inhabited = _init_l_Lean_Elab_Term_SavedState_inhabited();
-lean_mark_persistent(l_Lean_Elab_Term_SavedState_inhabited);
-l_Lean_Elab_Term_TermElabResult_inhabited___closed__1 = _init_l_Lean_Elab_Term_TermElabResult_inhabited___closed__1();
-lean_mark_persistent(l_Lean_Elab_Term_TermElabResult_inhabited___closed__1);
-l_Lean_Elab_Term_TermElabResult_inhabited = _init_l_Lean_Elab_Term_TermElabResult_inhabited();
-lean_mark_persistent(l_Lean_Elab_Term_TermElabResult_inhabited);
+l_Lean_Elab_Term_Lean_Elab_Term___instance__2___closed__1 = _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__2___closed__1();
+lean_mark_persistent(l_Lean_Elab_Term_Lean_Elab_Term___instance__2___closed__1);
+l_Lean_Elab_Term_Lean_Elab_Term___instance__2___closed__2 = _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__2___closed__2();
+lean_mark_persistent(l_Lean_Elab_Term_Lean_Elab_Term___instance__2___closed__2);
+l_Lean_Elab_Term_Lean_Elab_Term___instance__2 = _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__2();
+lean_mark_persistent(l_Lean_Elab_Term_Lean_Elab_Term___instance__2);
+l_Lean_Elab_Term_Lean_Elab_Term___instance__3___closed__1 = _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__3___closed__1();
+lean_mark_persistent(l_Lean_Elab_Term_Lean_Elab_Term___instance__3___closed__1);
+l_Lean_Elab_Term_Lean_Elab_Term___instance__3 = _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__3();
+lean_mark_persistent(l_Lean_Elab_Term_Lean_Elab_Term___instance__3);
l_Lean_Elab_Term_getFVarLocalDecl_x21___closed__1 = _init_l_Lean_Elab_Term_getFVarLocalDecl_x21___closed__1();
lean_mark_persistent(l_Lean_Elab_Term_getFVarLocalDecl_x21___closed__1);
l_Lean_Elab_Term_getFVarLocalDecl_x21___closed__2 = _init_l_Lean_Elab_Term_getFVarLocalDecl_x21___closed__2();
@@ -35519,23 +35608,23 @@ l_Lean_Elab_Term_mkTermElabAttributeUnsafe___closed__8 = _init_l_Lean_Elab_Term_
lean_mark_persistent(l_Lean_Elab_Term_mkTermElabAttributeUnsafe___closed__8);
l_Lean_Elab_Term_mkTermElabAttributeUnsafe___closed__9 = _init_l_Lean_Elab_Term_mkTermElabAttributeUnsafe___closed__9();
lean_mark_persistent(l_Lean_Elab_Term_mkTermElabAttributeUnsafe___closed__9);
-res = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_829_(lean_io_mk_world());
+res = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Term___hyg_817_(lean_io_mk_world());
if (lean_io_result_is_error(res)) return res;
l_Lean_Elab_Term_termElabAttribute = lean_io_result_get_value(res);
lean_mark_persistent(l_Lean_Elab_Term_termElabAttribute);
lean_dec_ref(res);
-l_Lean_Elab_Term_Lean_Elab_Term___instance__4___closed__1 = _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__4___closed__1();
-lean_mark_persistent(l_Lean_Elab_Term_Lean_Elab_Term___instance__4___closed__1);
-l_Lean_Elab_Term_Lean_Elab_Term___instance__4___closed__2 = _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__4___closed__2();
-lean_mark_persistent(l_Lean_Elab_Term_Lean_Elab_Term___instance__4___closed__2);
-l_Lean_Elab_Term_Lean_Elab_Term___instance__4___closed__3 = _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__4___closed__3();
-lean_mark_persistent(l_Lean_Elab_Term_Lean_Elab_Term___instance__4___closed__3);
-l_Lean_Elab_Term_Lean_Elab_Term___instance__4___closed__4 = _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__4___closed__4();
-lean_mark_persistent(l_Lean_Elab_Term_Lean_Elab_Term___instance__4___closed__4);
-l_Lean_Elab_Term_Lean_Elab_Term___instance__4___closed__5 = _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__4___closed__5();
-lean_mark_persistent(l_Lean_Elab_Term_Lean_Elab_Term___instance__4___closed__5);
-l_Lean_Elab_Term_Lean_Elab_Term___instance__4 = _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__4();
-lean_mark_persistent(l_Lean_Elab_Term_Lean_Elab_Term___instance__4);
+l_Lean_Elab_Term_Lean_Elab_Term___instance__7___closed__1 = _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__7___closed__1();
+lean_mark_persistent(l_Lean_Elab_Term_Lean_Elab_Term___instance__7___closed__1);
+l_Lean_Elab_Term_Lean_Elab_Term___instance__7___closed__2 = _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__7___closed__2();
+lean_mark_persistent(l_Lean_Elab_Term_Lean_Elab_Term___instance__7___closed__2);
+l_Lean_Elab_Term_Lean_Elab_Term___instance__7___closed__3 = _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__7___closed__3();
+lean_mark_persistent(l_Lean_Elab_Term_Lean_Elab_Term___instance__7___closed__3);
+l_Lean_Elab_Term_Lean_Elab_Term___instance__7___closed__4 = _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__7___closed__4();
+lean_mark_persistent(l_Lean_Elab_Term_Lean_Elab_Term___instance__7___closed__4);
+l_Lean_Elab_Term_Lean_Elab_Term___instance__7___closed__5 = _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__7___closed__5();
+lean_mark_persistent(l_Lean_Elab_Term_Lean_Elab_Term___instance__7___closed__5);
+l_Lean_Elab_Term_Lean_Elab_Term___instance__7 = _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__7();
+lean_mark_persistent(l_Lean_Elab_Term_Lean_Elab_Term___instance__7);
l_Lean_Elab_Term_throwErrorIfErrors___closed__1 = _init_l_Lean_Elab_Term_throwErrorIfErrors___closed__1();
lean_mark_persistent(l_Lean_Elab_Term_throwErrorIfErrors___closed__1);
l_Lean_Elab_Term_throwErrorIfErrors___closed__2 = _init_l_Lean_Elab_Term_throwErrorIfErrors___closed__2();
@@ -35680,20 +35769,20 @@ l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabUsingElabFns___closed__3 = _ini
lean_mark_persistent(l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabUsingElabFns___closed__3);
l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabUsingElabFns___closed__4 = _init_l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabUsingElabFns___closed__4();
lean_mark_persistent(l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabUsingElabFns___closed__4);
-l_Lean_Elab_Term_Lean_Elab_Term___instance__5___closed__1 = _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__5___closed__1();
-lean_mark_persistent(l_Lean_Elab_Term_Lean_Elab_Term___instance__5___closed__1);
-l_Lean_Elab_Term_Lean_Elab_Term___instance__5___closed__2 = _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__5___closed__2();
-lean_mark_persistent(l_Lean_Elab_Term_Lean_Elab_Term___instance__5___closed__2);
-l_Lean_Elab_Term_Lean_Elab_Term___instance__5___closed__3 = _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__5___closed__3();
-lean_mark_persistent(l_Lean_Elab_Term_Lean_Elab_Term___instance__5___closed__3);
-l_Lean_Elab_Term_Lean_Elab_Term___instance__5___closed__4 = _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__5___closed__4();
-lean_mark_persistent(l_Lean_Elab_Term_Lean_Elab_Term___instance__5___closed__4);
-l_Lean_Elab_Term_Lean_Elab_Term___instance__5___closed__5 = _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__5___closed__5();
-lean_mark_persistent(l_Lean_Elab_Term_Lean_Elab_Term___instance__5___closed__5);
-l_Lean_Elab_Term_Lean_Elab_Term___instance__5___closed__6 = _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__5___closed__6();
-lean_mark_persistent(l_Lean_Elab_Term_Lean_Elab_Term___instance__5___closed__6);
-l_Lean_Elab_Term_Lean_Elab_Term___instance__5 = _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__5();
-lean_mark_persistent(l_Lean_Elab_Term_Lean_Elab_Term___instance__5);
+l_Lean_Elab_Term_Lean_Elab_Term___instance__8___closed__1 = _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__8___closed__1();
+lean_mark_persistent(l_Lean_Elab_Term_Lean_Elab_Term___instance__8___closed__1);
+l_Lean_Elab_Term_Lean_Elab_Term___instance__8___closed__2 = _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__8___closed__2();
+lean_mark_persistent(l_Lean_Elab_Term_Lean_Elab_Term___instance__8___closed__2);
+l_Lean_Elab_Term_Lean_Elab_Term___instance__8___closed__3 = _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__8___closed__3();
+lean_mark_persistent(l_Lean_Elab_Term_Lean_Elab_Term___instance__8___closed__3);
+l_Lean_Elab_Term_Lean_Elab_Term___instance__8___closed__4 = _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__8___closed__4();
+lean_mark_persistent(l_Lean_Elab_Term_Lean_Elab_Term___instance__8___closed__4);
+l_Lean_Elab_Term_Lean_Elab_Term___instance__8___closed__5 = _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__8___closed__5();
+lean_mark_persistent(l_Lean_Elab_Term_Lean_Elab_Term___instance__8___closed__5);
+l_Lean_Elab_Term_Lean_Elab_Term___instance__8___closed__6 = _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__8___closed__6();
+lean_mark_persistent(l_Lean_Elab_Term_Lean_Elab_Term___instance__8___closed__6);
+l_Lean_Elab_Term_Lean_Elab_Term___instance__8 = _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__8();
+lean_mark_persistent(l_Lean_Elab_Term_Lean_Elab_Term___instance__8);
l___private_Lean_Elab_Term_0__Lean_Elab_Term_isExplicit___closed__1 = _init_l___private_Lean_Elab_Term_0__Lean_Elab_Term_isExplicit___closed__1();
lean_mark_persistent(l___private_Lean_Elab_Term_0__Lean_Elab_Term_isExplicit___closed__1);
l___private_Lean_Elab_Term_0__Lean_Elab_Term_isExplicit___closed__2 = _init_l___private_Lean_Elab_Term_0__Lean_Elab_Term_isExplicit___closed__2();
@@ -35938,15 +36027,15 @@ l___private_Lean_Elab_Term_0__Lean_Elab_Term_mkSomeContext___closed__2 = _init_l
lean_mark_persistent(l___private_Lean_Elab_Term_0__Lean_Elab_Term_mkSomeContext___closed__2);
l___private_Lean_Elab_Term_0__Lean_Elab_Term_mkSomeContext = _init_l___private_Lean_Elab_Term_0__Lean_Elab_Term_mkSomeContext();
lean_mark_persistent(l___private_Lean_Elab_Term_0__Lean_Elab_Term_mkSomeContext);
-l_Lean_Elab_Term_Lean_Elab_Term___instance__6___rarg___closed__1 = _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__6___rarg___closed__1();
-lean_mark_persistent(l_Lean_Elab_Term_Lean_Elab_Term___instance__6___rarg___closed__1);
-l_Lean_Elab_Term_Lean_Elab_Term___instance__6___rarg___closed__2 = _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__6___rarg___closed__2();
-lean_mark_persistent(l_Lean_Elab_Term_Lean_Elab_Term___instance__6___rarg___closed__2);
-l_Lean_Elab_Term_Lean_Elab_Term___instance__6___rarg___closed__3 = _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__6___rarg___closed__3();
-lean_mark_persistent(l_Lean_Elab_Term_Lean_Elab_Term___instance__6___rarg___closed__3);
-l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_7252____closed__1 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_7252____closed__1();
-lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_7252____closed__1);
-res = l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_7252_(lean_io_mk_world());
+l_Lean_Elab_Term_Lean_Elab_Term___instance__9___rarg___closed__1 = _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__9___rarg___closed__1();
+lean_mark_persistent(l_Lean_Elab_Term_Lean_Elab_Term___instance__9___rarg___closed__1);
+l_Lean_Elab_Term_Lean_Elab_Term___instance__9___rarg___closed__2 = _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__9___rarg___closed__2();
+lean_mark_persistent(l_Lean_Elab_Term_Lean_Elab_Term___instance__9___rarg___closed__2);
+l_Lean_Elab_Term_Lean_Elab_Term___instance__9___rarg___closed__3 = _init_l_Lean_Elab_Term_Lean_Elab_Term___instance__9___rarg___closed__3();
+lean_mark_persistent(l_Lean_Elab_Term_Lean_Elab_Term___instance__9___rarg___closed__3);
+l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_7236____closed__1 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_7236____closed__1();
+lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_7236____closed__1);
+res = l_Lean_Elab_initFn____x40_Lean_Elab_Term___hyg_7236_(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));
diff --git a/stage0/stdlib/Lean/Exception.c b/stage0/stdlib/Lean/Exception.c
index 9da91bce74..5ef2d9b9d0 100644
--- a/stage0/stdlib/Lean/Exception.c
+++ b/stage0/stdlib/Lean/Exception.c
@@ -33,12 +33,14 @@ lean_object* l_Lean_withRef___rarg___lambda__1___boxed(lean_object*, lean_object
extern lean_object* l_Lean_maxRecDepthErrorMessage;
lean_object* l_Lean_withIncRecDepth___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Array_empty___closed__1;
+extern lean_object* l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__8;
lean_object* l_StateRefT_x27_run___rarg___lambda__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean___kind_term____x40_Lean_Exception___hyg_3____closed__8;
lean_object* l_Lean_withRef___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_ReaderT_MonadRecDepth___rarg___lambda__2(lean_object*, lean_object*);
lean_object* l_Lean_throwUnknownConstant___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_myMacro____x40_Lean_Exception___hyg_334____closed__1;
+extern lean_object* l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__1;
lean_object* lean_array_push(lean_object*, lean_object*);
lean_object* lean_array_get_size(lean_object*);
lean_object* l_Lean___kind_term____x40_Lean_Exception___hyg_42____closed__2;
@@ -51,7 +53,6 @@ lean_object* l_Lean___kind_term____x40_Lean_Exception___hyg_42____closed__1;
lean_object* lean_string_utf8_byte_size(lean_object*);
lean_object* l_Lean___kind_term____x40_Lean_Exception___hyg_3____closed__9;
lean_object* l_Lean___kind_term____x40_Lean_Exception___hyg_3____closed__4;
-extern lean_object* l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__6;
lean_object* l_Lean_Exception_inhabited;
lean_object* l_Lean_myMacro____x40_Lean_Exception___hyg_334____closed__4;
extern lean_object* l_Lean_mkAppStx___closed__8;
@@ -59,7 +60,6 @@ lean_object* lean_nat_add(lean_object*, lean_object*);
lean_object* l_Lean_ReaderT_MonadRecDepth___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_throwUnknownConstant___rarg___closed__2;
lean_object* l_Lean_refTrans(lean_object*, lean_object*);
-extern lean_object* l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__5;
lean_object* l_Lean_withIncRecDepth___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean___kind_term____x40_Lean_Exception___hyg_42____closed__7;
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
@@ -98,6 +98,7 @@ lean_object* l_Lean_Syntax_getArgs(lean_object*);
lean_object* l_Lean_Syntax_getKind(lean_object*);
lean_object* l_Lean_throwKernelException___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_throwError___rarg___lambda__1___boxed(lean_object*, lean_object*);
+extern lean_object* l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__5;
lean_object* l_Lean_ReaderT_MonadRecDepth___rarg___lambda__3___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Exception_getRef(lean_object*);
lean_object* l_Lean_throwErrorAt(lean_object*);
@@ -108,7 +109,6 @@ lean_object* l_Lean_refTrans___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_withIncRecDepth___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean___kind_term____x40_Lean_Exception___hyg_3_;
lean_object* l_Lean___kind_term____x40_Lean_Exception___hyg_42_;
-extern lean_object* l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__1;
lean_object* l_Lean_addErrorMessageContextDefault___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean___kind_term____x40_Lean_Exception___hyg_3____closed__6;
lean_object* l_Lean_StateRefT_monadRecDepth___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
@@ -122,6 +122,7 @@ lean_object* l_Lean_withRef(lean_object*);
lean_object* l_Lean_refTrans___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_throwError___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean___kind_term____x40_Lean_Exception___hyg_3____closed__3;
+extern lean_object* l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__6;
lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*);
lean_object* l_Lean___kind_term____x40_Lean_Exception___hyg_3____closed__5;
lean_object* l_Lean_ofExcept(lean_object*);
@@ -135,7 +136,6 @@ lean_object* l_Lean_mkConst(lean_object*, lean_object*);
lean_object* l_Lean_myMacro____x40_Lean_Exception___hyg_87_(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_myMacro____x40_Lean_Exception___hyg_334_(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean___kind_term____x40_Lean_Exception___hyg_3____closed__1;
-extern lean_object* l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__8;
lean_object* lean_name_mk_numeral(lean_object*, lean_object*);
lean_object* l_Lean_ReaderT_MonadRecDepth___rarg___lambda__2___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Exception_toMessageData(lean_object*);
@@ -868,7 +868,7 @@ static lean_object* _init_l_Lean___kind_term____x40_Lean_Exception___hyg_3____cl
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__1;
+x_1 = l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__1;
x_2 = l_Lean___kind_term____x40_Lean_Exception___hyg_3____closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
@@ -916,7 +916,7 @@ static lean_object* _init_l_Lean___kind_term____x40_Lean_Exception___hyg_3____cl
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__8;
+x_1 = l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__8;
x_2 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__18;
x_3 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_3, 0, x_1);
@@ -1124,7 +1124,7 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_SourceInfo_inhabited___closed__1;
-x_2 = l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__6;
+x_2 = l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__6;
x_3 = lean_alloc_ctor(2, 2, 0);
lean_ctor_set(x_3, 0, x_1);
lean_ctor_set(x_3, 1, x_2);
@@ -1247,7 +1247,7 @@ x_44 = l_Array_empty___closed__1;
x_45 = lean_array_push(x_44, x_43);
x_46 = l_Lean_myMacro____x40_Lean_Exception___hyg_87____closed__9;
x_47 = lean_array_push(x_46, x_15);
-x_48 = l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__5;
+x_48 = l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__5;
x_49 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_49, 0, x_48);
lean_ctor_set(x_49, 1, x_47);
@@ -1469,7 +1469,7 @@ x_48 = lean_array_push(x_47, x_46);
x_49 = lean_array_push(x_47, x_15);
x_50 = l_Lean_myMacro____x40_Lean_Exception___hyg_87____closed__9;
x_51 = lean_array_push(x_50, x_17);
-x_52 = l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__5;
+x_52 = l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__5;
x_53 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_53, 0, x_52);
lean_ctor_set(x_53, 1, x_51);
diff --git a/stage0/stdlib/Lean/Message.c b/stage0/stdlib/Lean/Message.c
index ac20ef510d..774d2a05c6 100644
--- a/stage0/stdlib/Lean/Message.c
+++ b/stage0/stdlib/Lean/Message.c
@@ -34,7 +34,6 @@ lean_object* l_Lean_Lean_Message___instance__11___rarg___boxed(lean_object*);
lean_object* l_Lean_MessageData_ofList___closed__3;
lean_object* l_Lean_Lean_Message___instance__11_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* lean_io_error_to_string(lean_object*);
-lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__5;
lean_object* l_Lean_KernelException_toMessageData___closed__7;
lean_object* l_Array_umapMAux___main___at_Lean_MessageLog_errorsToWarnings___spec__4(lean_object*, lean_object*);
lean_object* l_Lean_MessageData_ofArray___boxed(lean_object*);
@@ -45,11 +44,9 @@ lean_object* l_String_split___at_Lean_stringToMessageData___spec__1(lean_object*
lean_object* l_Lean_Format_pretty(lean_object*, lean_object*);
extern lean_object* l_Lean_List_format___rarg___closed__2;
lean_object* l_Lean_Lean_Message___instance__11___rarg___closed__1;
-lean_object* l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__2;
lean_object* l_Lean_MessageData_hasCoeOfName(lean_object*);
lean_object* l_Lean_MessageLog_hasErrors___boxed(lean_object*);
lean_object* l_Lean_Lean_Message___instance__9(lean_object*);
-lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__7;
uint8_t l_Array_anyRangeMAux___main___at_Lean_MessageLog_hasErrors___spec__4(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_KernelException_toMessageData___closed__24;
lean_object* l_Lean_MessageData_sbracket(lean_object*);
@@ -62,17 +59,19 @@ lean_object* l_Std_PersistentArray_mapM___at_Lean_MessageLog_errorsToWarnings___
lean_object* l_List_map___main___at_Lean_stringToMessageData___spec__4(lean_object*);
lean_object* l_Lean_mkMVar(lean_object*);
extern lean_object* l_Array_empty___closed__1;
+lean_object* l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__8;
lean_object* l_Lean_MessageData_coeOfLevel(lean_object*);
lean_object* l_Lean_Lean_Message___instance__9___rarg(lean_object*, lean_object*);
lean_object* l_Std_PersistentArray_append___rarg(lean_object*, lean_object*);
+lean_object* l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__4;
lean_object* l_Lean_MessageData_hasCoeOfList;
extern lean_object* l_Std_PersistentArray_empty___closed__1;
lean_object* l_Lean_MessageData_arrayExpr_toMessageData___main(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_MessageData_arrayExpr_toMessageData___main___closed__1;
lean_object* l_Lean_MessageData_nil;
lean_object* l_Lean_MessageData_hasCoeOfExpr(lean_object*);
+lean_object* l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__1;
lean_object* l_Lean_MessageData_coeOfFormat(lean_object*);
-lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__1;
lean_object* l_Lean_MessageData_arrayExpr_toMessageData___main___boxed(lean_object*, lean_object*, lean_object*);
lean_object* lean_array_push(lean_object*, lean_object*);
lean_object* lean_array_get_size(lean_object*);
@@ -80,6 +79,7 @@ lean_object* l_Lean_KernelException_toMessageData___closed__43;
lean_object* l_Lean_Lean_Message___instance__11___rarg___closed__2;
lean_object* l_Lean_Lean_Message___instance__12(lean_object*);
lean_object* lean_string_append(lean_object*, lean_object*);
+lean_object* l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__9;
lean_object* l_Lean_MessageData_formatAux___main(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_String_splitAux___main___at_Lean_stringToMessageData___spec__2(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_KernelException_toMessageData___closed__16;
@@ -90,6 +90,7 @@ extern lean_object* l_Lean_formatKVMap___closed__1;
lean_object* l_Lean_MessageData_coeOfString;
extern lean_object* l_String_splitAux___main___closed__1;
lean_object* l_Lean_Lean_Message___instance__12___closed__3;
+lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__2;
extern lean_object* l_List_repr___rarg___closed__3;
lean_object* l_Array_anyRangeMAux___main___at_Lean_MessageLog_hasErrors___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__6;
@@ -97,7 +98,6 @@ lean_object* l_Lean_Lean_Message___instance__10___rarg(lean_object*, lean_object
lean_object* l_Lean_MessageData_hasCoeOfOptExpr___boxed(lean_object*);
lean_object* lean_string_utf8_byte_size(lean_object*);
lean_object* l_Lean_MessageData_joinSep(lean_object*, lean_object*);
-lean_object* l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__6;
lean_object* l_Lean_KernelException_toMessageData___closed__20;
extern lean_object* l_Nat_HasOfNat___closed__1;
lean_object* l_Lean_Lean_Message___instance__7(lean_object*);
@@ -109,7 +109,7 @@ lean_object* l_Lean_KernelException_toMessageData___closed__22;
uint8_t l_Array_anyRangeMAux___main___at_Lean_MessageLog_hasErrors___spec__5(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_KernelException_toMessageData___closed__37;
extern lean_object* l_Lean_Format_sbracket___closed__2;
-lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__3;
+lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__7;
lean_object* lean_message_string(lean_object*);
lean_object* l_Lean_MessageData_coeOfList;
lean_object* l_Std_PersistentArray_foldlMAux___at_Lean_MessageLog_toList___spec__2(lean_object*, lean_object*);
@@ -118,10 +118,9 @@ extern lean_object* l_EStateM_Result_toString___rarg___closed__2;
extern lean_object* l_Lean_LocalContext_Inhabited___closed__2;
lean_object* l_Lean_MessageLog_toList(lean_object*);
extern lean_object* l_ULift_HasRepr___rarg___closed__2;
-lean_object* l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__5;
lean_object* l_Lean_ppGoal(lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__3;
lean_object* l_Lean_KernelException_toMessageData___closed__6;
+lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__7;
lean_object* lean_array_fget(lean_object*, lean_object*);
lean_object* l_Lean_MessageLog_append(lean_object*, lean_object*);
lean_object* l_Lean_KernelException_toMessageData___closed__46;
@@ -136,17 +135,19 @@ extern lean_object* l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____clos
lean_object* l_Lean_MessageData_hasCoeOfList___closed__1;
lean_object* l_Lean_Lean_Message___instance__11_match__1(lean_object*, lean_object*);
lean_object* lean_nat_sub(lean_object*, lean_object*);
+lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__5;
lean_object* l_Lean_Lean_Message___instance__6(lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_MessageData_formatAux___main___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_MessageData_Inhabited;
lean_object* l_Lean_Lean_Message___instance__11___rarg___closed__3;
lean_object* l_Lean_KernelException_toMessageData___closed__29;
lean_object* l_Lean_fmt___at_Lean_MessageData_formatAux___main___spec__1(lean_object*);
-lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__4;
lean_object* l_Lean_stringToMessageData___boxed(lean_object*);
lean_object* l_Lean_KernelException_toMessageData(lean_object*, lean_object*);
+lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__8;
+lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__2;
lean_object* l_Lean_MessageData_hasCoeOfListExpr(lean_object*);
-lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__2;
+lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__3;
lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_MessageLog_errorsToWarnings(lean_object*);
extern lean_object* l_stdNext___closed__1;
@@ -157,8 +158,7 @@ lean_object* l_Array_iterateMAux___main___at_Lean_MessageLog_getInfoMessages___s
lean_object* l_Lean_KernelException_toMessageData___closed__30;
lean_object* l_Lean_Message_Inhabited;
lean_object* l_Lean_MessageLog_HasAppend;
-lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_158_(lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__7;
+lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_207_(lean_object*, lean_object*, lean_object*);
lean_object* l_Nat_repr(lean_object*);
lean_object* l_Lean_KernelException_toMessageData___closed__18;
lean_object* l_Lean_MessageData_hasCoeOfOptExpr___closed__1;
@@ -167,25 +167,23 @@ extern lean_object* l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed
lean_object* l_Lean_KernelException_toMessageData___closed__5;
lean_object* l_Lean_Lean_Message___instance__1___rarg(lean_object*);
lean_object* l_Lean_MessageData_nil___closed__1;
-lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__8;
lean_object* l_Lean_KernelException_toMessageData___closed__33;
lean_object* lean_name_mk_string(lean_object*, lean_object*);
extern lean_object* l_List_repr___rarg___closed__2;
lean_object* l_Lean_KernelException_toMessageData___closed__14;
lean_object* l_Lean_KernelException_toMessageData___closed__28;
+lean_object* l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__10;
+lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__3;
lean_object* l_Array_iterateMAux___main___at_Lean_MessageData_formatAux___main___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Message_toString___closed__1;
lean_object* l_Function_comp___rarg(lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__9;
lean_object* l_Lean_Message_toString___closed__2;
-lean_object* l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__10;
lean_object* l_Std_PersistentArray_anyM___at_Lean_MessageLog_hasErrors___spec__1___boxed(lean_object*);
-lean_object* l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__7;
uint32_t lean_string_utf8_get(lean_object*, lean_object*);
lean_object* lean_expr_dbg_to_string(lean_object*);
lean_object* l_Lean_addMessageContextTrans___rarg(lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__5;
lean_object* l_Lean_KernelException_toMessageData___closed__34;
+lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__6;
lean_object* l_Lean_MessageData_coeOfArrayExpr(lean_object*);
lean_object* l_Lean_MessageData_hasCoeOfArrayExpr___closed__1;
lean_object* l_Lean_ppExpr(lean_object*, lean_object*, lean_object*);
@@ -198,14 +196,15 @@ lean_object* l_Lean_KernelException_toMessageData___closed__42;
lean_object* l_Std_PersistentArray_foldlM___at_Lean_MessageLog_toList___spec__1___boxed(lean_object*, lean_object*);
lean_object* l_Lean_MessageLog_getInfoMessages___closed__1;
lean_object* l_Array_iterateMAux___main___at_Lean_MessageLog_toList___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_MessageData_ofList___closed__2;
lean_object* l_Lean_KernelException_toMessageData___closed__27;
lean_object* l_Lean_MessageData_hasCoeOfArrayExpr___closed__2;
lean_object* l_Lean_MessageData_ofList___boxed(lean_object*);
+lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__6;
lean_object* l_Lean_KernelException_toMessageData___closed__3;
lean_object* l_Array_iterateMAux___main___at_Lean_MessageLog_getInfoMessages___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_KernelException_toMessageData___closed__40;
+lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__5;
lean_object* l_Lean_MessageData_arrayExpr_toMessageData(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_addMessageContextFull(lean_object*);
lean_object* l_Lean_KernelException_toMessageData___closed__9;
@@ -217,6 +216,7 @@ lean_object* l_Lean_MessageData_hasCoeOfLevel(lean_object*);
lean_object* l_Lean_MessageData_mkPPContext(lean_object*, lean_object*);
lean_object* l_Lean_MessageLog_toList___boxed(lean_object*);
lean_object* l_Lean_KernelException_toMessageData___closed__36;
+lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__1;
lean_object* l_Array_iterateMAux___main___at_Lean_MessageLog_toList___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t lean_message_severity(lean_object*);
lean_object* l_Lean_Message_getMessageStringEx___closed__1;
@@ -227,18 +227,17 @@ lean_object* l_Lean_MessageData_format___closed__1;
lean_object* l_Lean_MessageLog_HasAppend___closed__1;
lean_object* l_Lean_MessageData_ofArray(lean_object*);
extern lean_object* l_Lean_Format_sbracket___closed__3;
-lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__2;
+lean_object* l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__7;
lean_object* l_Lean_MessageData_hasCoeOfArrayExpr___boxed(lean_object*);
lean_object* l_Lean_MessageLog_forM___rarg(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__4;
lean_object* l_Lean_KernelException_toMessageData___closed__1;
lean_object* l_Lean_fmt___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Lean_Message___instance__11(lean_object*, lean_object*);
-lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__3;
lean_object* l_Lean_Lean_Message___instance__12_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_MessageData_formatAux___main___closed__2;
lean_object* l_Lean_KernelException_toMessageData___closed__50;
uint8_t l_UInt32_decEq(uint32_t, uint32_t);
-lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__8;
lean_object* l_Std_PersistentArray_push___rarg(lean_object*, lean_object*);
lean_object* l_Lean_addMessageContextPartial___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_KernelException_toMessageData___closed__8;
@@ -246,7 +245,6 @@ lean_object* l_Lean_MessageLog_empty;
lean_object* l_Lean_KernelException_toMessageData___closed__4;
lean_object* l_Array_iterateMAux___main___at_Lean_MessageLog_toList___spec__3(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Lean_Message___instance__11___boxed(lean_object*, lean_object*);
-lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__4;
lean_object* l_Lean_MessageData_nestD(lean_object*);
lean_object* l_Lean_Lean_Message___instance__8;
lean_object* l_Lean_KernelException_toMessageData___closed__17;
@@ -262,21 +260,22 @@ lean_object* l_Lean_Lean_Message___instance__12___boxed(lean_object*);
lean_object* l_Lean_Lean_Message___instance__12___closed__1;
lean_object* l_Lean_MessageData_coeOfString___lambda__1(lean_object*);
lean_object* l_Lean_MessageLog_getInfoMessages___lambda__1___boxed(lean_object*);
-lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__6;
lean_object* l_Lean_MessageLog_getInfoMessages(lean_object*);
lean_object* l_Std_PersistentArray_forM___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_MessageData_HasAppend(lean_object*, lean_object*);
extern lean_object* l___private_Init_Util_1__mkPanicMessage___closed__2;
lean_object* l_Lean_Lean_Message___instance__12___closed__2;
+lean_object* l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__5;
lean_object* l_Lean_KernelException_toMessageData___closed__2;
lean_object* l_Lean_MessageData_ofList___closed__4;
-lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__1;
lean_object* l_Lean_mkMessageEx___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_MessageData_bracket(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_MessageData_joinSep___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Lean_Message___instance__12_match__1(lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_MessageLog_toList___spec__4(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_KernelException_toMessageData___closed__31;
+lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__8;
lean_object* l_Lean_KernelException_toMessageData___closed__35;
lean_object* l_Std_PersistentArray_foldlMAux___at_Lean_MessageLog_getInfoMessages___spec__2(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_KernelException_toMessageData___closed__41;
@@ -290,11 +289,13 @@ lean_object* l_Array_iterateMAux___main___at_Lean_MessageLog_getInfoMessages___s
lean_object* l_Array_iterateMAux___main___at_Lean_MessageLog_toList___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_MessageLog_getInfoMessages___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_anyRangeMAux___main___at_Lean_MessageLog_hasErrors___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__4;
lean_object* l_Lean_fmt___at_Lean_Level_LevelToFormat_toResult___spec__1(lean_object*);
lean_object* l_Lean_MessageData_joinSep___main___boxed(lean_object*, lean_object*);
lean_object* l_Lean_KernelException_toMessageData___closed__48;
-lean_object* l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__1;
+lean_object* l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__3;
lean_object* l_Lean_MessageData_hasCoeOfFormat(lean_object*);
+lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__9;
lean_object* l_Lean_KernelException_toMessageData___closed__12;
lean_object* l_Array_toList___rarg(lean_object*);
lean_object* l_String_splitAux___main___at_Lean_stringToMessageData___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
@@ -310,9 +311,9 @@ uint8_t l_Lean_MessageLog_hasErrors(lean_object*);
lean_object* l_Std_PersistentArray_anyMAux___at_Lean_MessageLog_hasErrors___spec__2___boxed(lean_object*);
lean_object* lean_string_length(lean_object*);
lean_object* l_Lean_indentD(lean_object*);
-lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__6;
lean_object* l_Lean_Message_Inhabited___closed__1;
lean_object* l_Lean_Message_Inhabited___closed__2;
+lean_object* l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__6;
lean_object* l_Lean_MessageData_coeOfOptExpr___boxed(lean_object*);
lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*);
extern lean_object* l_Lean_MetavarContext_Inhabited___closed__1;
@@ -332,6 +333,7 @@ lean_object* l_Lean_Name_toStringWithSep___main(lean_object*, lean_object*);
lean_object* l_Lean_Message_toString___closed__5;
lean_object* l_Array_anyRangeMAux___main___at_Lean_MessageLog_hasErrors___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__5;
+lean_object* l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__2;
lean_object* lean_message_pos(lean_object*);
extern lean_object* l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__1;
uint8_t l_Lean_MessageLog_isEmpty(lean_object*);
@@ -347,7 +349,6 @@ extern lean_object* l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____
lean_object* l_Lean_MessageData_hasCoeOfSyntax(lean_object*);
uint8_t l_Lean_MessageLog_getInfoMessages___lambda__1(lean_object*);
lean_object* l_Lean_indentExpr(lean_object*);
-lean_object* l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__9;
extern lean_object* l_Lean_mkAppStx___closed__2;
lean_object* l_Lean_MessageData_hasCoeOfOptExpr(lean_object*);
lean_object* l_Lean_MessageData_coeOfString___closed__2;
@@ -356,9 +357,7 @@ lean_object* l_Lean_MessageData_paren(lean_object*);
lean_object* l_Lean_Level_format(lean_object*);
uint8_t lean_string_utf8_at_end(lean_object*, lean_object*);
lean_object* l_Lean_MessageData_hasCoeOfArrayExpr(lean_object*);
-lean_object* l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__4;
lean_object* l_Lean_MessageLog_add(lean_object*, lean_object*);
-lean_object* l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__8;
lean_object* lean_nat_to_int(lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_MessageData_formatAux___main___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_addMessageContextPartial(lean_object*);
@@ -373,6 +372,7 @@ lean_object* l_Lean_MessageData_ofList___closed__1;
lean_object* l_Lean_KernelException_toMessageData___closed__11;
lean_object* l_Lean_MessageLog_isEmpty___boxed(lean_object*);
lean_object* l_Lean_MessageData_arrayExpr_toMessageData___boxed(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__1;
lean_object* l_Lean_MessageData_coeOfArrayExpr___boxed(lean_object*);
lean_object* l_String_split___at_Lean_stringToMessageData___spec__1___boxed(lean_object*);
lean_object* lean_mk_message(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*);
@@ -381,7 +381,7 @@ lean_object* l_Lean_fmt___at_Lean_stringToMessageData___spec__3(lean_object*);
uint8_t lean_nat_dec_lt(lean_object*, lean_object*);
uint8_t l_Array_anyRangeMAux___main___at_Lean_MessageLog_hasErrors___spec__3(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_MessageLog_getInfoMessages___boxed(lean_object*);
-lean_object* l_Lean___kind_term____x40_Lean_Message___hyg_125_;
+lean_object* l_Lean___kind_term____x40_Lean_Message___hyg_174_;
lean_object* l_Lean_KernelException_toMessageData___closed__39;
lean_object* l_Lean_mkErrorStringWithPos(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
@@ -5401,514 +5401,6 @@ lean_dec(x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__1() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__5;
-x_2 = l_Lean_mkAppStx___closed__1;
-x_3 = lean_name_mk_string(x_1, x_2);
-return x_3;
-}
-}
-static lean_object* _init_l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__2() {
-_start:
-{
-lean_object* x_1;
-x_1 = lean_mk_string("Message");
-return x_1;
-}
-}
-static lean_object* _init_l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__3() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__1;
-x_2 = l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__2;
-x_3 = lean_name_mk_string(x_1, x_2);
-return x_3;
-}
-}
-static lean_object* _init_l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__4() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__3;
-x_2 = l_Lean_Name_hasMacroScopes___main___closed__1;
-x_3 = lean_name_mk_string(x_1, x_2);
-return x_3;
-}
-}
-static lean_object* _init_l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__5() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__4;
-x_2 = lean_unsigned_to_nat(125u);
-x_3 = lean_name_mk_numeral(x_1, x_2);
-return x_3;
-}
-}
-static lean_object* _init_l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__6() {
-_start:
-{
-lean_object* x_1;
-x_1 = lean_mk_string("msg!");
-return x_1;
-}
-}
-static lean_object* _init_l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__7() {
-_start:
-{
-lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__6;
-x_2 = lean_alloc_ctor(11, 1, 0);
-lean_ctor_set(x_2, 0, x_1);
-return x_2;
-}
-}
-static lean_object* _init_l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__8() {
-_start:
-{
-lean_object* x_1; lean_object* x_2;
-x_1 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__18;
-x_2 = lean_alloc_ctor(18, 1, 0);
-lean_ctor_set(x_2, 0, x_1);
-return x_2;
-}
-}
-static lean_object* _init_l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__9() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__7;
-x_2 = l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__8;
-x_3 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_3, 0, x_1);
-lean_ctor_set(x_3, 1, x_2);
-return x_3;
-}
-}
-static lean_object* _init_l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__10() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
-x_1 = l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__5;
-x_2 = lean_unsigned_to_nat(1024u);
-x_3 = l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__9;
-x_4 = lean_alloc_ctor(9, 3, 0);
-lean_ctor_set(x_4, 0, x_1);
-lean_ctor_set(x_4, 1, x_2);
-lean_ctor_set(x_4, 2, x_3);
-return x_4;
-}
-}
-static lean_object* _init_l_Lean___kind_term____x40_Lean_Message___hyg_125_() {
-_start:
-{
-lean_object* x_1;
-x_1 = l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__10;
-return x_1;
-}
-}
-static lean_object* _init_l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__1() {
-_start:
-{
-lean_object* x_1;
-x_1 = lean_mk_string("toMessageData");
-return x_1;
-}
-}
-static lean_object* _init_l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__2() {
-_start:
-{
-lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__1;
-x_2 = lean_string_utf8_byte_size(x_1);
-return x_2;
-}
-}
-static lean_object* _init_l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__3() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
-x_1 = l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__1;
-x_2 = lean_unsigned_to_nat(0u);
-x_3 = l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__2;
-x_4 = lean_alloc_ctor(0, 3, 0);
-lean_ctor_set(x_4, 0, x_1);
-lean_ctor_set(x_4, 1, x_2);
-lean_ctor_set(x_4, 2, x_3);
-return x_4;
-}
-}
-static lean_object* _init_l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__4() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__1;
-x_3 = lean_name_mk_string(x_1, x_2);
-return x_3;
-}
-}
-static lean_object* _init_l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__5() {
-_start:
-{
-lean_object* x_1;
-x_1 = lean_mk_string("ToMessageData");
-return x_1;
-}
-}
-static lean_object* _init_l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__6() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_mkAppStx___closed__2;
-x_2 = l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__5;
-x_3 = lean_name_mk_string(x_1, x_2);
-return x_3;
-}
-}
-static lean_object* _init_l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__7() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__6;
-x_2 = l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__1;
-x_3 = lean_name_mk_string(x_1, x_2);
-return x_3;
-}
-}
-static lean_object* _init_l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__8() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__7;
-x_3 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
-}
-}
-static lean_object* _init_l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__9() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
-}
-}
-lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-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; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
-x_4 = lean_ctor_get(x_2, 2);
-lean_inc(x_4);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-lean_dec(x_2);
-x_6 = l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__4;
-x_7 = l_Lean_addMacroScope(x_5, x_6, x_4);
-x_8 = l_Lean_SourceInfo_inhabited___closed__1;
-x_9 = l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__3;
-x_10 = l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__9;
-x_11 = lean_alloc_ctor(3, 4, 0);
-lean_ctor_set(x_11, 0, x_8);
-lean_ctor_set(x_11, 1, x_9);
-lean_ctor_set(x_11, 2, x_7);
-lean_ctor_set(x_11, 3, x_10);
-x_12 = l_Array_empty___closed__1;
-x_13 = lean_array_push(x_12, x_11);
-x_14 = lean_array_push(x_12, x_1);
-x_15 = l_Lean_nullKind___closed__2;
-x_16 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_16, 0, x_15);
-lean_ctor_set(x_16, 1, x_14);
-x_17 = lean_array_push(x_13, x_16);
-x_18 = l_Lean_mkAppStx___closed__8;
-x_19 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_19, 0, x_18);
-lean_ctor_set(x_19, 1, x_17);
-x_20 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_20, 0, x_19);
-lean_ctor_set(x_20, 1, x_3);
-return x_20;
-}
-}
-static lean_object* _init_l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__1() {
-_start:
-{
-lean_object* x_1;
-x_1 = lean_alloc_closure((void*)(l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1), 3, 0);
-return x_1;
-}
-}
-static lean_object* _init_l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__2() {
-_start:
-{
-lean_object* x_1;
-x_1 = lean_mk_string("MessageData");
-return x_1;
-}
-}
-static lean_object* _init_l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__3() {
-_start:
-{
-lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__2;
-x_2 = lean_string_utf8_byte_size(x_1);
-return x_2;
-}
-}
-static lean_object* _init_l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__4() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
-x_1 = l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__2;
-x_2 = lean_unsigned_to_nat(0u);
-x_3 = l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__3;
-x_4 = lean_alloc_ctor(0, 3, 0);
-lean_ctor_set(x_4, 0, x_1);
-lean_ctor_set(x_4, 1, x_2);
-lean_ctor_set(x_4, 2, x_3);
-return x_4;
-}
-}
-static lean_object* _init_l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__5() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__2;
-x_3 = lean_name_mk_string(x_1, x_2);
-return x_3;
-}
-}
-static lean_object* _init_l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__6() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_mkAppStx___closed__2;
-x_2 = l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__2;
-x_3 = lean_name_mk_string(x_1, x_2);
-return x_3;
-}
-}
-static lean_object* _init_l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__7() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__6;
-x_3 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
-}
-}
-static lean_object* _init_l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__8() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__7;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
-}
-}
-lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_158_(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4; uint8_t x_5;
-x_4 = l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__5;
-lean_inc(x_1);
-x_5 = l_Lean_Syntax_isOfKind(x_1, x_4);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7;
-lean_dec(x_2);
-lean_dec(x_1);
-x_6 = lean_box(1);
-x_7 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_7, 0, x_6);
-lean_ctor_set(x_7, 1, x_3);
-return x_7;
-}
-else
-{
-lean_object* x_8; lean_object* x_9; lean_object* x_10; uint8_t x_11;
-x_8 = l_Lean_Syntax_getArgs(x_1);
-x_9 = lean_array_get_size(x_8);
-lean_dec(x_8);
-x_10 = lean_unsigned_to_nat(2u);
-x_11 = lean_nat_dec_eq(x_9, x_10);
-lean_dec(x_9);
-if (x_11 == 0)
-{
-lean_object* x_12; lean_object* x_13;
-lean_dec(x_2);
-lean_dec(x_1);
-x_12 = lean_box(1);
-x_13 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_13, 0, x_12);
-lean_ctor_set(x_13, 1, x_3);
-return x_13;
-}
-else
-{
-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;
-x_14 = lean_unsigned_to_nat(1u);
-x_15 = l_Lean_Syntax_getArg(x_1, x_14);
-lean_dec(x_1);
-x_16 = l_Lean_Syntax_getArgs(x_15);
-lean_dec(x_15);
-x_17 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__1;
-x_18 = l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__1;
-x_19 = lean_unsigned_to_nat(0u);
-x_20 = lean_box(0);
-lean_inc(x_2);
-x_21 = l_Array_iterateMAux___main___at_Lean_Syntax_expandInterpolatedStrChunks___spec__1(x_16, x_17, x_18, x_16, x_19, x_20, x_2, x_3);
-lean_dec(x_16);
-if (lean_obj_tag(x_21) == 0)
-{
-uint8_t x_22;
-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;
-x_23 = lean_ctor_get(x_21, 0);
-x_24 = lean_ctor_get(x_2, 2);
-lean_inc(x_24);
-x_25 = lean_ctor_get(x_2, 1);
-lean_inc(x_25);
-lean_dec(x_2);
-x_26 = l_Array_empty___closed__1;
-x_27 = lean_array_push(x_26, x_23);
-x_28 = l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__5;
-x_29 = l_Lean_addMacroScope(x_25, x_28, x_24);
-x_30 = l_Lean_SourceInfo_inhabited___closed__1;
-x_31 = l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__4;
-x_32 = l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__8;
-x_33 = lean_alloc_ctor(3, 4, 0);
-lean_ctor_set(x_33, 0, x_30);
-lean_ctor_set(x_33, 1, x_31);
-lean_ctor_set(x_33, 2, x_29);
-lean_ctor_set(x_33, 3, x_32);
-x_34 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__22;
-x_35 = lean_array_push(x_34, x_33);
-x_36 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__8;
-x_37 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_37, 0, x_36);
-lean_ctor_set(x_37, 1, x_35);
-x_38 = lean_array_push(x_26, x_37);
-x_39 = l_Lean_nullKind___closed__2;
-x_40 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_40, 0, x_39);
-lean_ctor_set(x_40, 1, x_38);
-x_41 = lean_array_push(x_27, x_40);
-x_42 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_42, 0, x_39);
-lean_ctor_set(x_42, 1, x_41);
-x_43 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__6;
-x_44 = lean_array_push(x_43, x_42);
-x_45 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__15;
-x_46 = lean_array_push(x_44, x_45);
-x_47 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__4;
-x_48 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_48, 0, x_47);
-lean_ctor_set(x_48, 1, x_46);
-lean_ctor_set(x_21, 0, x_48);
-return x_21;
-}
-else
-{
-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;
-x_49 = lean_ctor_get(x_21, 0);
-x_50 = lean_ctor_get(x_21, 1);
-lean_inc(x_50);
-lean_inc(x_49);
-lean_dec(x_21);
-x_51 = lean_ctor_get(x_2, 2);
-lean_inc(x_51);
-x_52 = lean_ctor_get(x_2, 1);
-lean_inc(x_52);
-lean_dec(x_2);
-x_53 = l_Array_empty___closed__1;
-x_54 = lean_array_push(x_53, x_49);
-x_55 = l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__5;
-x_56 = l_Lean_addMacroScope(x_52, x_55, x_51);
-x_57 = l_Lean_SourceInfo_inhabited___closed__1;
-x_58 = l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__4;
-x_59 = l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__8;
-x_60 = lean_alloc_ctor(3, 4, 0);
-lean_ctor_set(x_60, 0, x_57);
-lean_ctor_set(x_60, 1, x_58);
-lean_ctor_set(x_60, 2, x_56);
-lean_ctor_set(x_60, 3, x_59);
-x_61 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__22;
-x_62 = lean_array_push(x_61, x_60);
-x_63 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__8;
-x_64 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_64, 0, x_63);
-lean_ctor_set(x_64, 1, x_62);
-x_65 = lean_array_push(x_53, x_64);
-x_66 = l_Lean_nullKind___closed__2;
-x_67 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_67, 0, x_66);
-lean_ctor_set(x_67, 1, x_65);
-x_68 = lean_array_push(x_54, x_67);
-x_69 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_69, 0, x_66);
-lean_ctor_set(x_69, 1, x_68);
-x_70 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__6;
-x_71 = lean_array_push(x_70, x_69);
-x_72 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__15;
-x_73 = lean_array_push(x_71, x_72);
-x_74 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__4;
-x_75 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_75, 0, x_74);
-lean_ctor_set(x_75, 1, x_73);
-x_76 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_76, 0, x_75);
-lean_ctor_set(x_76, 1, x_50);
-return x_76;
-}
-}
-else
-{
-uint8_t x_77;
-lean_dec(x_2);
-x_77 = !lean_is_exclusive(x_21);
-if (x_77 == 0)
-{
-return x_21;
-}
-else
-{
-lean_object* x_78; lean_object* x_79; lean_object* x_80;
-x_78 = lean_ctor_get(x_21, 0);
-x_79 = lean_ctor_get(x_21, 1);
-lean_inc(x_79);
-lean_inc(x_78);
-lean_dec(x_21);
-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;
-}
-}
-}
-}
-}
-}
lean_object* l_Lean_Lean_Message___instance__11_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
@@ -6099,6 +5591,514 @@ lean_dec(x_1);
return x_2;
}
}
+static lean_object* _init_l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__1() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__5;
+x_2 = l_Lean_mkAppStx___closed__1;
+x_3 = lean_name_mk_string(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__2() {
+_start:
+{
+lean_object* x_1;
+x_1 = lean_mk_string("Message");
+return x_1;
+}
+}
+static lean_object* _init_l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__3() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__1;
+x_2 = l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__2;
+x_3 = lean_name_mk_string(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__4() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__3;
+x_2 = l_Lean_Name_hasMacroScopes___main___closed__1;
+x_3 = lean_name_mk_string(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__4;
+x_2 = lean_unsigned_to_nat(174u);
+x_3 = lean_name_mk_numeral(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__6() {
+_start:
+{
+lean_object* x_1;
+x_1 = lean_mk_string("msg!");
+return x_1;
+}
+}
+static lean_object* _init_l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__6;
+x_2 = lean_alloc_ctor(11, 1, 0);
+lean_ctor_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__18;
+x_2 = lean_alloc_ctor(18, 1, 0);
+lean_ctor_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__7;
+x_2 = l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__8;
+x_3 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_3, 0, x_1);
+lean_ctor_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
+x_1 = l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__5;
+x_2 = lean_unsigned_to_nat(1024u);
+x_3 = l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__9;
+x_4 = lean_alloc_ctor(9, 3, 0);
+lean_ctor_set(x_4, 0, x_1);
+lean_ctor_set(x_4, 1, x_2);
+lean_ctor_set(x_4, 2, x_3);
+return x_4;
+}
+}
+static lean_object* _init_l_Lean___kind_term____x40_Lean_Message___hyg_174_() {
+_start:
+{
+lean_object* x_1;
+x_1 = l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__10;
+return x_1;
+}
+}
+static lean_object* _init_l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__1() {
+_start:
+{
+lean_object* x_1;
+x_1 = lean_mk_string("toMessageData");
+return x_1;
+}
+}
+static lean_object* _init_l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__2() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__1;
+x_2 = lean_string_utf8_byte_size(x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__3() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
+x_1 = l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__1;
+x_2 = lean_unsigned_to_nat(0u);
+x_3 = l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__2;
+x_4 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_4, 0, x_1);
+lean_ctor_set(x_4, 1, x_2);
+lean_ctor_set(x_4, 2, x_3);
+return x_4;
+}
+}
+static lean_object* _init_l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__4() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = lean_box(0);
+x_2 = l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__1;
+x_3 = lean_name_mk_string(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__5() {
+_start:
+{
+lean_object* x_1;
+x_1 = lean_mk_string("ToMessageData");
+return x_1;
+}
+}
+static lean_object* _init_l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_mkAppStx___closed__2;
+x_2 = l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__5;
+x_3 = lean_name_mk_string(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__6;
+x_2 = l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__1;
+x_3 = lean_name_mk_string(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = lean_box(0);
+x_2 = l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__7;
+x_3 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_3, 0, x_2);
+lean_ctor_set(x_3, 1, x_1);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = lean_box(0);
+x_2 = l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__8;
+x_3 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_3, 0, x_2);
+lean_ctor_set(x_3, 1, x_1);
+return x_3;
+}
+}
+lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+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; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
+x_4 = lean_ctor_get(x_2, 2);
+lean_inc(x_4);
+x_5 = lean_ctor_get(x_2, 1);
+lean_inc(x_5);
+lean_dec(x_2);
+x_6 = l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__4;
+x_7 = l_Lean_addMacroScope(x_5, x_6, x_4);
+x_8 = l_Lean_SourceInfo_inhabited___closed__1;
+x_9 = l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__3;
+x_10 = l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__9;
+x_11 = lean_alloc_ctor(3, 4, 0);
+lean_ctor_set(x_11, 0, x_8);
+lean_ctor_set(x_11, 1, x_9);
+lean_ctor_set(x_11, 2, x_7);
+lean_ctor_set(x_11, 3, x_10);
+x_12 = l_Array_empty___closed__1;
+x_13 = lean_array_push(x_12, x_11);
+x_14 = lean_array_push(x_12, x_1);
+x_15 = l_Lean_nullKind___closed__2;
+x_16 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_16, 0, x_15);
+lean_ctor_set(x_16, 1, x_14);
+x_17 = lean_array_push(x_13, x_16);
+x_18 = l_Lean_mkAppStx___closed__8;
+x_19 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_19, 0, x_18);
+lean_ctor_set(x_19, 1, x_17);
+x_20 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_20, 0, x_19);
+lean_ctor_set(x_20, 1, x_3);
+return x_20;
+}
+}
+static lean_object* _init_l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__1() {
+_start:
+{
+lean_object* x_1;
+x_1 = lean_alloc_closure((void*)(l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1), 3, 0);
+return x_1;
+}
+}
+static lean_object* _init_l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__2() {
+_start:
+{
+lean_object* x_1;
+x_1 = lean_mk_string("MessageData");
+return x_1;
+}
+}
+static lean_object* _init_l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__3() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__2;
+x_2 = lean_string_utf8_byte_size(x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__4() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
+x_1 = l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__2;
+x_2 = lean_unsigned_to_nat(0u);
+x_3 = l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__3;
+x_4 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_4, 0, x_1);
+lean_ctor_set(x_4, 1, x_2);
+lean_ctor_set(x_4, 2, x_3);
+return x_4;
+}
+}
+static lean_object* _init_l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = lean_box(0);
+x_2 = l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__2;
+x_3 = lean_name_mk_string(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_mkAppStx___closed__2;
+x_2 = l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__2;
+x_3 = lean_name_mk_string(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = lean_box(0);
+x_2 = l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__6;
+x_3 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_3, 0, x_2);
+lean_ctor_set(x_3, 1, x_1);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = lean_box(0);
+x_2 = l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__7;
+x_3 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_3, 0, x_2);
+lean_ctor_set(x_3, 1, x_1);
+return x_3;
+}
+}
+lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_207_(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+lean_object* x_4; uint8_t x_5;
+x_4 = l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__5;
+lean_inc(x_1);
+x_5 = l_Lean_Syntax_isOfKind(x_1, x_4);
+if (x_5 == 0)
+{
+lean_object* x_6; lean_object* x_7;
+lean_dec(x_2);
+lean_dec(x_1);
+x_6 = lean_box(1);
+x_7 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_7, 0, x_6);
+lean_ctor_set(x_7, 1, x_3);
+return x_7;
+}
+else
+{
+lean_object* x_8; lean_object* x_9; lean_object* x_10; uint8_t x_11;
+x_8 = l_Lean_Syntax_getArgs(x_1);
+x_9 = lean_array_get_size(x_8);
+lean_dec(x_8);
+x_10 = lean_unsigned_to_nat(2u);
+x_11 = lean_nat_dec_eq(x_9, x_10);
+lean_dec(x_9);
+if (x_11 == 0)
+{
+lean_object* x_12; lean_object* x_13;
+lean_dec(x_2);
+lean_dec(x_1);
+x_12 = lean_box(1);
+x_13 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_13, 0, x_12);
+lean_ctor_set(x_13, 1, x_3);
+return x_13;
+}
+else
+{
+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;
+x_14 = lean_unsigned_to_nat(1u);
+x_15 = l_Lean_Syntax_getArg(x_1, x_14);
+lean_dec(x_1);
+x_16 = l_Lean_Syntax_getArgs(x_15);
+lean_dec(x_15);
+x_17 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__1;
+x_18 = l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__1;
+x_19 = lean_unsigned_to_nat(0u);
+x_20 = lean_box(0);
+lean_inc(x_2);
+x_21 = l_Array_iterateMAux___main___at_Lean_Syntax_expandInterpolatedStrChunks___spec__1(x_16, x_17, x_18, x_16, x_19, x_20, x_2, x_3);
+lean_dec(x_16);
+if (lean_obj_tag(x_21) == 0)
+{
+uint8_t x_22;
+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;
+x_23 = lean_ctor_get(x_21, 0);
+x_24 = lean_ctor_get(x_2, 2);
+lean_inc(x_24);
+x_25 = lean_ctor_get(x_2, 1);
+lean_inc(x_25);
+lean_dec(x_2);
+x_26 = l_Array_empty___closed__1;
+x_27 = lean_array_push(x_26, x_23);
+x_28 = l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__5;
+x_29 = l_Lean_addMacroScope(x_25, x_28, x_24);
+x_30 = l_Lean_SourceInfo_inhabited___closed__1;
+x_31 = l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__4;
+x_32 = l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__8;
+x_33 = lean_alloc_ctor(3, 4, 0);
+lean_ctor_set(x_33, 0, x_30);
+lean_ctor_set(x_33, 1, x_31);
+lean_ctor_set(x_33, 2, x_29);
+lean_ctor_set(x_33, 3, x_32);
+x_34 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__22;
+x_35 = lean_array_push(x_34, x_33);
+x_36 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__8;
+x_37 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_37, 0, x_36);
+lean_ctor_set(x_37, 1, x_35);
+x_38 = lean_array_push(x_26, x_37);
+x_39 = l_Lean_nullKind___closed__2;
+x_40 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_40, 0, x_39);
+lean_ctor_set(x_40, 1, x_38);
+x_41 = lean_array_push(x_27, x_40);
+x_42 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_42, 0, x_39);
+lean_ctor_set(x_42, 1, x_41);
+x_43 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__6;
+x_44 = lean_array_push(x_43, x_42);
+x_45 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__15;
+x_46 = lean_array_push(x_44, x_45);
+x_47 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__4;
+x_48 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_48, 0, x_47);
+lean_ctor_set(x_48, 1, x_46);
+lean_ctor_set(x_21, 0, x_48);
+return x_21;
+}
+else
+{
+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;
+x_49 = lean_ctor_get(x_21, 0);
+x_50 = lean_ctor_get(x_21, 1);
+lean_inc(x_50);
+lean_inc(x_49);
+lean_dec(x_21);
+x_51 = lean_ctor_get(x_2, 2);
+lean_inc(x_51);
+x_52 = lean_ctor_get(x_2, 1);
+lean_inc(x_52);
+lean_dec(x_2);
+x_53 = l_Array_empty___closed__1;
+x_54 = lean_array_push(x_53, x_49);
+x_55 = l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__5;
+x_56 = l_Lean_addMacroScope(x_52, x_55, x_51);
+x_57 = l_Lean_SourceInfo_inhabited___closed__1;
+x_58 = l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__4;
+x_59 = l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__8;
+x_60 = lean_alloc_ctor(3, 4, 0);
+lean_ctor_set(x_60, 0, x_57);
+lean_ctor_set(x_60, 1, x_58);
+lean_ctor_set(x_60, 2, x_56);
+lean_ctor_set(x_60, 3, x_59);
+x_61 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__22;
+x_62 = lean_array_push(x_61, x_60);
+x_63 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__8;
+x_64 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_64, 0, x_63);
+lean_ctor_set(x_64, 1, x_62);
+x_65 = lean_array_push(x_53, x_64);
+x_66 = l_Lean_nullKind___closed__2;
+x_67 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_67, 0, x_66);
+lean_ctor_set(x_67, 1, x_65);
+x_68 = lean_array_push(x_54, x_67);
+x_69 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_69, 0, x_66);
+lean_ctor_set(x_69, 1, x_68);
+x_70 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__6;
+x_71 = lean_array_push(x_70, x_69);
+x_72 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__15;
+x_73 = lean_array_push(x_71, x_72);
+x_74 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__4;
+x_75 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_75, 0, x_74);
+lean_ctor_set(x_75, 1, x_73);
+x_76 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_76, 0, x_75);
+lean_ctor_set(x_76, 1, x_50);
+return x_76;
+}
+}
+else
+{
+uint8_t x_77;
+lean_dec(x_2);
+x_77 = !lean_is_exclusive(x_21);
+if (x_77 == 0)
+{
+return x_21;
+}
+else
+{
+lean_object* x_78; lean_object* x_79; lean_object* x_80;
+x_78 = lean_ctor_get(x_21, 0);
+x_79 = lean_ctor_get(x_21, 1);
+lean_inc(x_79);
+lean_inc(x_78);
+lean_dec(x_21);
+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;
+}
+}
+}
+}
+}
+}
lean_object* initialize_Init(lean_object*);
lean_object* initialize_Lean_Data_Position(lean_object*);
lean_object* initialize_Lean_Data_OpenDecl(lean_object*);
@@ -6314,62 +6314,6 @@ l_Lean_Lean_Message___instance__5 = _init_l_Lean_Lean_Message___instance__5();
lean_mark_persistent(l_Lean_Lean_Message___instance__5);
l_Lean_Lean_Message___instance__8 = _init_l_Lean_Lean_Message___instance__8();
lean_mark_persistent(l_Lean_Lean_Message___instance__8);
-l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__1 = _init_l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__1();
-lean_mark_persistent(l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__1);
-l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__2 = _init_l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__2();
-lean_mark_persistent(l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__2);
-l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__3 = _init_l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__3();
-lean_mark_persistent(l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__3);
-l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__4 = _init_l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__4();
-lean_mark_persistent(l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__4);
-l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__5 = _init_l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__5();
-lean_mark_persistent(l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__5);
-l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__6 = _init_l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__6();
-lean_mark_persistent(l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__6);
-l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__7 = _init_l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__7();
-lean_mark_persistent(l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__7);
-l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__8 = _init_l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__8();
-lean_mark_persistent(l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__8);
-l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__9 = _init_l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__9();
-lean_mark_persistent(l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__9);
-l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__10 = _init_l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__10();
-lean_mark_persistent(l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__10);
-l_Lean___kind_term____x40_Lean_Message___hyg_125_ = _init_l_Lean___kind_term____x40_Lean_Message___hyg_125_();
-lean_mark_persistent(l_Lean___kind_term____x40_Lean_Message___hyg_125_);
-l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__1 = _init_l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__1();
-lean_mark_persistent(l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__1);
-l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__2 = _init_l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__2();
-lean_mark_persistent(l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__2);
-l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__3 = _init_l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__3();
-lean_mark_persistent(l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__3);
-l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__4 = _init_l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__4();
-lean_mark_persistent(l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__4);
-l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__5 = _init_l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__5();
-lean_mark_persistent(l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__5);
-l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__6 = _init_l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__6();
-lean_mark_persistent(l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__6);
-l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__7 = _init_l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__7();
-lean_mark_persistent(l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__7);
-l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__8 = _init_l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__8();
-lean_mark_persistent(l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__8);
-l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__9 = _init_l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__9();
-lean_mark_persistent(l_Lean_myMacro____x40_Lean_Message___hyg_158____lambda__1___closed__9);
-l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__1 = _init_l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__1();
-lean_mark_persistent(l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__1);
-l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__2 = _init_l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__2();
-lean_mark_persistent(l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__2);
-l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__3 = _init_l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__3();
-lean_mark_persistent(l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__3);
-l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__4 = _init_l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__4();
-lean_mark_persistent(l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__4);
-l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__5 = _init_l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__5();
-lean_mark_persistent(l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__5);
-l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__6 = _init_l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__6();
-lean_mark_persistent(l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__6);
-l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__7 = _init_l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__7();
-lean_mark_persistent(l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__7);
-l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__8 = _init_l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__8();
-lean_mark_persistent(l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__8);
l_Lean_Lean_Message___instance__11___rarg___closed__1 = _init_l_Lean_Lean_Message___instance__11___rarg___closed__1();
lean_mark_persistent(l_Lean_Lean_Message___instance__11___rarg___closed__1);
l_Lean_Lean_Message___instance__11___rarg___closed__2 = _init_l_Lean_Lean_Message___instance__11___rarg___closed__2();
@@ -6382,6 +6326,62 @@ l_Lean_Lean_Message___instance__12___closed__2 = _init_l_Lean_Lean_Message___ins
lean_mark_persistent(l_Lean_Lean_Message___instance__12___closed__2);
l_Lean_Lean_Message___instance__12___closed__3 = _init_l_Lean_Lean_Message___instance__12___closed__3();
lean_mark_persistent(l_Lean_Lean_Message___instance__12___closed__3);
+l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__1 = _init_l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__1();
+lean_mark_persistent(l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__1);
+l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__2 = _init_l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__2();
+lean_mark_persistent(l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__2);
+l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__3 = _init_l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__3();
+lean_mark_persistent(l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__3);
+l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__4 = _init_l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__4();
+lean_mark_persistent(l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__4);
+l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__5 = _init_l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__5();
+lean_mark_persistent(l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__5);
+l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__6 = _init_l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__6();
+lean_mark_persistent(l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__6);
+l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__7 = _init_l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__7();
+lean_mark_persistent(l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__7);
+l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__8 = _init_l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__8();
+lean_mark_persistent(l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__8);
+l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__9 = _init_l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__9();
+lean_mark_persistent(l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__9);
+l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__10 = _init_l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__10();
+lean_mark_persistent(l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__10);
+l_Lean___kind_term____x40_Lean_Message___hyg_174_ = _init_l_Lean___kind_term____x40_Lean_Message___hyg_174_();
+lean_mark_persistent(l_Lean___kind_term____x40_Lean_Message___hyg_174_);
+l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__1 = _init_l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__1();
+lean_mark_persistent(l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__1);
+l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__2 = _init_l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__2();
+lean_mark_persistent(l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__2);
+l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__3 = _init_l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__3();
+lean_mark_persistent(l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__3);
+l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__4 = _init_l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__4();
+lean_mark_persistent(l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__4);
+l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__5 = _init_l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__5();
+lean_mark_persistent(l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__5);
+l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__6 = _init_l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__6();
+lean_mark_persistent(l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__6);
+l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__7 = _init_l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__7();
+lean_mark_persistent(l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__7);
+l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__8 = _init_l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__8();
+lean_mark_persistent(l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__8);
+l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__9 = _init_l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__9();
+lean_mark_persistent(l_Lean_myMacro____x40_Lean_Message___hyg_207____lambda__1___closed__9);
+l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__1 = _init_l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__1();
+lean_mark_persistent(l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__1);
+l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__2 = _init_l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__2();
+lean_mark_persistent(l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__2);
+l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__3 = _init_l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__3();
+lean_mark_persistent(l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__3);
+l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__4 = _init_l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__4();
+lean_mark_persistent(l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__4);
+l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__5 = _init_l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__5();
+lean_mark_persistent(l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__5);
+l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__6 = _init_l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__6();
+lean_mark_persistent(l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__6);
+l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__7 = _init_l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__7();
+lean_mark_persistent(l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__7);
+l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__8 = _init_l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__8();
+lean_mark_persistent(l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__8);
return lean_io_result_mk_ok(lean_box(0));
}
#ifdef __cplusplus
diff --git a/stage0/stdlib/Lean/Meta/AppBuilder.c b/stage0/stdlib/Lean/Meta/AppBuilder.c
index f8df0121ad..675a914e3d 100644
--- a/stage0/stdlib/Lean/Meta/AppBuilder.c
+++ b/stage0/stdlib/Lean/Meta/AppBuilder.c
@@ -81,6 +81,7 @@ lean_object* lean_st_ref_get(lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkCongr(lean_object*);
lean_object* l_Lean_Meta_mkEqMPR___rarg___closed__1;
lean_object* l_Array_findSomeMAux___main___at___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkProjectionImp___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___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_isLevelDefEq___spec__2___rarg(lean_object*, lean_object*);
lean_object* l_Lean_MessageData_arrayExpr_toMessageData___main(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkCongrFun(lean_object*);
@@ -148,7 +149,6 @@ lean_object* l___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkHEqSymmImp___closed
lean_object* l___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkEqTransImp_match__1(lean_object*);
lean_object* l_Lean_Meta_mkExpectedTypeHint___at_Lean_Meta_mkDecideProof___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_isLevelDefEq___spec__3___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkAppOptM_match__1(lean_object*);
lean_object* l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkCongrArgImp_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -293,7 +293,6 @@ lean_object* l___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkCongrFunImp___close
lean_object* l_Array_iterateMAux___main___at___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkAppOptMAux___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkEqOfHEqImp___lambda__1___closed__2;
lean_object* l___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkAppOptMAux_match__3___rarg(lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_isLevelDefEq___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkAppOptMAux___spec__7(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkAppM_match__1___rarg(lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkAppMAux_match__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
@@ -367,7 +366,6 @@ lean_object* l___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkEqNDRecImp___closed
lean_object* l___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkHEqTransImp___closed__1;
lean_object* l___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkAppMAux___closed__1;
lean_object* l_Lean_Meta_mkSorry___rarg___lambda__1___closed__1;
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkCongrFunImp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_isSubobjectField_x3f(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkProjectionImp___lambda__1___closed__5;
@@ -404,6 +402,7 @@ lean_object* l_Array_iterateMAux___main___at___private_Lean_Meta_AppBuilder_0__L
lean_object* l_Lean_Meta_mkPure___rarg___closed__1;
lean_object* l___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkAppOptMAux_match__3(lean_object*);
uint8_t l_Lean_isStructureLike(lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkLt___rarg___closed__3;
lean_object* l_Lean_Meta_mkEq(lean_object*);
lean_object* l___private_Lean_Meta_AppBuilder_0__Lean_Meta_throwAppBuilderException___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -432,6 +431,7 @@ lean_object* l___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkProjectionImp_match
lean_object* l_Lean_Meta_mkLt(lean_object*);
lean_object* l_Lean_Meta_mkAppM___rarg___closed__3;
uint8_t lean_nat_dec_lt(lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_isLevelDefEq___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* _init_l___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkIdImp___closed__1() {
_start:
{
@@ -5994,436 +5994,457 @@ return x_12;
lean_object* l_Lean_Meta_mkAppM___rarg___lambda__2(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) {
_start:
{
+uint8_t x_9;
if (x_3 == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18;
-lean_dec(x_2);
-x_9 = lean_st_ref_get(x_7, x_8);
-x_10 = lean_ctor_get(x_9, 0);
+uint8_t x_209;
+x_209 = 1;
+x_9 = x_209;
+goto block_208;
+}
+else
+{
+uint8_t x_210;
+x_210 = 0;
+x_9 = x_210;
+goto block_208;
+}
+block_208:
+{
+if (x_9 == 0)
+{
+lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
+x_10 = lean_ctor_get(x_6, 3);
lean_inc(x_10);
-x_11 = lean_ctor_get(x_10, 3);
-lean_inc(x_11);
-lean_dec(x_10);
-x_12 = lean_ctor_get(x_9, 1);
+x_11 = l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_isLevelDefEq___spec__2___rarg(x_7, x_8);
+x_12 = lean_ctor_get(x_11, 0);
lean_inc(x_12);
-lean_dec(x_9);
-x_13 = lean_ctor_get_uint8(x_11, sizeof(void*)*1);
+x_13 = lean_ctor_get(x_11, 1);
+lean_inc(x_13);
lean_dec(x_11);
-x_14 = lean_st_ref_take(x_7, x_12);
+lean_inc(x_7);
+lean_inc(x_6);
+lean_inc(x_5);
+lean_inc(x_4);
+x_14 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_1, x_4, x_5, x_6, x_7, x_13);
+if (lean_obj_tag(x_14) == 0)
+{
+lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18;
x_15 = lean_ctor_get(x_14, 0);
lean_inc(x_15);
-x_16 = lean_ctor_get(x_15, 3);
+x_16 = lean_ctor_get(x_14, 1);
lean_inc(x_16);
-x_17 = lean_ctor_get(x_14, 1);
-lean_inc(x_17);
lean_dec(x_14);
-x_18 = !lean_is_exclusive(x_15);
+x_17 = l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_isLevelDefEq___spec__3(x_12, x_2, x_10, x_4, x_5, x_6, x_7, x_16);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+x_18 = !lean_is_exclusive(x_17);
if (x_18 == 0)
{
-lean_object* x_19; uint8_t x_20;
-x_19 = lean_ctor_get(x_15, 3);
+lean_object* x_19;
+x_19 = lean_ctor_get(x_17, 0);
lean_dec(x_19);
-x_20 = !lean_is_exclusive(x_16);
-if (x_20 == 0)
+lean_ctor_set(x_17, 0, x_15);
+return x_17;
+}
+else
{
-uint8_t x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
-x_21 = 0;
-lean_ctor_set_uint8(x_16, sizeof(void*)*1, x_21);
-x_22 = lean_st_ref_set(x_7, x_15, x_17);
-x_23 = lean_ctor_get(x_22, 1);
+lean_object* x_20; lean_object* x_21;
+x_20 = lean_ctor_get(x_17, 1);
+lean_inc(x_20);
+lean_dec(x_17);
+x_21 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_21, 0, x_15);
+lean_ctor_set(x_21, 1, x_20);
+return x_21;
+}
+}
+else
+{
+lean_object* x_22; lean_object* x_23; lean_object* x_24; uint8_t x_25;
+x_22 = lean_ctor_get(x_14, 0);
+lean_inc(x_22);
+x_23 = lean_ctor_get(x_14, 1);
lean_inc(x_23);
-lean_dec(x_22);
-lean_inc(x_7);
-x_24 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_1, x_4, x_5, x_6, x_7, x_23);
-if (lean_obj_tag(x_24) == 0)
+lean_dec(x_14);
+x_24 = l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_isLevelDefEq___spec__3(x_12, x_2, x_10, x_4, x_5, x_6, x_7, x_23);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+x_25 = !lean_is_exclusive(x_24);
+if (x_25 == 0)
{
-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; uint8_t x_33;
-x_25 = lean_ctor_get(x_24, 0);
-lean_inc(x_25);
-x_26 = lean_ctor_get(x_24, 1);
-lean_inc(x_26);
+lean_object* x_26;
+x_26 = lean_ctor_get(x_24, 0);
+lean_dec(x_26);
+lean_ctor_set_tag(x_24, 1);
+lean_ctor_set(x_24, 0, x_22);
+return x_24;
+}
+else
+{
+lean_object* x_27; lean_object* x_28;
+x_27 = lean_ctor_get(x_24, 1);
+lean_inc(x_27);
lean_dec(x_24);
-x_27 = lean_st_ref_get(x_7, x_26);
-x_28 = lean_ctor_get(x_27, 1);
-lean_inc(x_28);
-lean_dec(x_27);
-x_29 = lean_st_ref_take(x_7, x_28);
+x_28 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_28, 0, x_22);
+lean_ctor_set(x_28, 1, x_27);
+return x_28;
+}
+}
+}
+else
+{
+lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; uint8_t x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; uint8_t x_38;
+lean_dec(x_2);
+x_29 = lean_st_ref_get(x_7, x_8);
x_30 = lean_ctor_get(x_29, 0);
lean_inc(x_30);
x_31 = lean_ctor_get(x_30, 3);
lean_inc(x_31);
+lean_dec(x_30);
x_32 = lean_ctor_get(x_29, 1);
lean_inc(x_32);
lean_dec(x_29);
-x_33 = !lean_is_exclusive(x_30);
-if (x_33 == 0)
-{
-lean_object* x_34; uint8_t x_35;
-x_34 = lean_ctor_get(x_30, 3);
-lean_dec(x_34);
-x_35 = !lean_is_exclusive(x_31);
-if (x_35 == 0)
-{
-lean_object* x_36; uint8_t x_37;
-lean_ctor_set_uint8(x_31, sizeof(void*)*1, x_13);
-x_36 = lean_st_ref_set(x_7, x_30, x_32);
-lean_dec(x_7);
-x_37 = !lean_is_exclusive(x_36);
-if (x_37 == 0)
-{
-lean_object* x_38;
-x_38 = lean_ctor_get(x_36, 0);
-lean_dec(x_38);
-lean_ctor_set(x_36, 0, x_25);
-return x_36;
-}
-else
-{
-lean_object* x_39; lean_object* x_40;
-x_39 = lean_ctor_get(x_36, 1);
-lean_inc(x_39);
-lean_dec(x_36);
-x_40 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_40, 0, x_25);
-lean_ctor_set(x_40, 1, x_39);
-return x_40;
-}
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46;
-x_41 = lean_ctor_get(x_31, 0);
-lean_inc(x_41);
+x_33 = lean_ctor_get_uint8(x_31, sizeof(void*)*1);
lean_dec(x_31);
-x_42 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_42, 0, x_41);
-lean_ctor_set_uint8(x_42, sizeof(void*)*1, x_13);
-lean_ctor_set(x_30, 3, x_42);
-x_43 = lean_st_ref_set(x_7, x_30, x_32);
-lean_dec(x_7);
-x_44 = lean_ctor_get(x_43, 1);
-lean_inc(x_44);
-if (lean_is_exclusive(x_43)) {
- lean_ctor_release(x_43, 0);
- lean_ctor_release(x_43, 1);
- x_45 = x_43;
-} else {
- lean_dec_ref(x_43);
- x_45 = lean_box(0);
-}
-if (lean_is_scalar(x_45)) {
- x_46 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_46 = x_45;
-}
-lean_ctor_set(x_46, 0, x_25);
-lean_ctor_set(x_46, 1, x_44);
-return x_46;
-}
-}
-else
+x_34 = lean_st_ref_take(x_7, x_32);
+x_35 = lean_ctor_get(x_34, 0);
+lean_inc(x_35);
+x_36 = lean_ctor_get(x_35, 3);
+lean_inc(x_36);
+x_37 = lean_ctor_get(x_34, 1);
+lean_inc(x_37);
+lean_dec(x_34);
+x_38 = !lean_is_exclusive(x_35);
+if (x_38 == 0)
{
-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;
-x_47 = lean_ctor_get(x_30, 0);
-x_48 = lean_ctor_get(x_30, 1);
-x_49 = lean_ctor_get(x_30, 2);
-lean_inc(x_49);
-lean_inc(x_48);
-lean_inc(x_47);
-lean_dec(x_30);
-x_50 = lean_ctor_get(x_31, 0);
-lean_inc(x_50);
-if (lean_is_exclusive(x_31)) {
- lean_ctor_release(x_31, 0);
- x_51 = x_31;
-} else {
- lean_dec_ref(x_31);
- x_51 = lean_box(0);
-}
-if (lean_is_scalar(x_51)) {
- x_52 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_52 = x_51;
-}
-lean_ctor_set(x_52, 0, x_50);
-lean_ctor_set_uint8(x_52, sizeof(void*)*1, x_13);
-x_53 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_53, 0, x_47);
-lean_ctor_set(x_53, 1, x_48);
-lean_ctor_set(x_53, 2, x_49);
-lean_ctor_set(x_53, 3, x_52);
-x_54 = lean_st_ref_set(x_7, x_53, x_32);
-lean_dec(x_7);
-x_55 = lean_ctor_get(x_54, 1);
-lean_inc(x_55);
-if (lean_is_exclusive(x_54)) {
- lean_ctor_release(x_54, 0);
- lean_ctor_release(x_54, 1);
- x_56 = x_54;
-} else {
- lean_dec_ref(x_54);
- x_56 = lean_box(0);
-}
-if (lean_is_scalar(x_56)) {
- x_57 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_57 = x_56;
-}
-lean_ctor_set(x_57, 0, x_25);
-lean_ctor_set(x_57, 1, x_55);
-return x_57;
-}
-}
-else
+lean_object* x_39; uint8_t x_40;
+x_39 = lean_ctor_get(x_35, 3);
+lean_dec(x_39);
+x_40 = !lean_is_exclusive(x_36);
+if (x_40 == 0)
{
-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; uint8_t x_66;
-x_58 = lean_ctor_get(x_24, 0);
-lean_inc(x_58);
-x_59 = lean_ctor_get(x_24, 1);
-lean_inc(x_59);
-lean_dec(x_24);
-x_60 = lean_st_ref_get(x_7, x_59);
-x_61 = lean_ctor_get(x_60, 1);
-lean_inc(x_61);
-lean_dec(x_60);
-x_62 = lean_st_ref_take(x_7, x_61);
-x_63 = lean_ctor_get(x_62, 0);
-lean_inc(x_63);
-x_64 = lean_ctor_get(x_63, 3);
-lean_inc(x_64);
-x_65 = lean_ctor_get(x_62, 1);
-lean_inc(x_65);
-lean_dec(x_62);
-x_66 = !lean_is_exclusive(x_63);
-if (x_66 == 0)
-{
-lean_object* x_67; uint8_t x_68;
-x_67 = lean_ctor_get(x_63, 3);
-lean_dec(x_67);
-x_68 = !lean_is_exclusive(x_64);
-if (x_68 == 0)
-{
-lean_object* x_69; uint8_t x_70;
-lean_ctor_set_uint8(x_64, sizeof(void*)*1, x_13);
-x_69 = lean_st_ref_set(x_7, x_63, x_65);
-lean_dec(x_7);
-x_70 = !lean_is_exclusive(x_69);
-if (x_70 == 0)
-{
-lean_object* x_71;
-x_71 = lean_ctor_get(x_69, 0);
-lean_dec(x_71);
-lean_ctor_set_tag(x_69, 1);
-lean_ctor_set(x_69, 0, x_58);
-return x_69;
-}
-else
-{
-lean_object* x_72; lean_object* x_73;
-x_72 = lean_ctor_get(x_69, 1);
-lean_inc(x_72);
-lean_dec(x_69);
-x_73 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_73, 0, x_58);
-lean_ctor_set(x_73, 1, x_72);
-return x_73;
-}
-}
-else
-{
-lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79;
-x_74 = lean_ctor_get(x_64, 0);
-lean_inc(x_74);
-lean_dec(x_64);
-x_75 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_75, 0, x_74);
-lean_ctor_set_uint8(x_75, sizeof(void*)*1, x_13);
-lean_ctor_set(x_63, 3, x_75);
-x_76 = lean_st_ref_set(x_7, x_63, x_65);
-lean_dec(x_7);
-x_77 = lean_ctor_get(x_76, 1);
-lean_inc(x_77);
-if (lean_is_exclusive(x_76)) {
- lean_ctor_release(x_76, 0);
- lean_ctor_release(x_76, 1);
- x_78 = x_76;
-} else {
- lean_dec_ref(x_76);
- x_78 = lean_box(0);
-}
-if (lean_is_scalar(x_78)) {
- x_79 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_79 = x_78;
- lean_ctor_set_tag(x_79, 1);
-}
-lean_ctor_set(x_79, 0, x_58);
-lean_ctor_set(x_79, 1, x_77);
-return x_79;
-}
-}
-else
-{
-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;
-x_80 = lean_ctor_get(x_63, 0);
-x_81 = lean_ctor_get(x_63, 1);
-x_82 = lean_ctor_get(x_63, 2);
-lean_inc(x_82);
-lean_inc(x_81);
-lean_inc(x_80);
-lean_dec(x_63);
-x_83 = lean_ctor_get(x_64, 0);
-lean_inc(x_83);
-if (lean_is_exclusive(x_64)) {
- lean_ctor_release(x_64, 0);
- x_84 = x_64;
-} else {
- lean_dec_ref(x_64);
- x_84 = lean_box(0);
-}
-if (lean_is_scalar(x_84)) {
- x_85 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_85 = x_84;
-}
-lean_ctor_set(x_85, 0, x_83);
-lean_ctor_set_uint8(x_85, sizeof(void*)*1, x_13);
-x_86 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_86, 0, x_80);
-lean_ctor_set(x_86, 1, x_81);
-lean_ctor_set(x_86, 2, x_82);
-lean_ctor_set(x_86, 3, x_85);
-x_87 = lean_st_ref_set(x_7, x_86, x_65);
-lean_dec(x_7);
-x_88 = lean_ctor_get(x_87, 1);
-lean_inc(x_88);
-if (lean_is_exclusive(x_87)) {
- lean_ctor_release(x_87, 0);
- lean_ctor_release(x_87, 1);
- x_89 = x_87;
-} else {
- lean_dec_ref(x_87);
- x_89 = lean_box(0);
-}
-if (lean_is_scalar(x_89)) {
- x_90 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_90 = x_89;
- lean_ctor_set_tag(x_90, 1);
-}
-lean_ctor_set(x_90, 0, x_58);
-lean_ctor_set(x_90, 1, x_88);
-return x_90;
-}
-}
-}
-else
-{
-lean_object* x_91; uint8_t x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96;
-x_91 = lean_ctor_get(x_16, 0);
-lean_inc(x_91);
-lean_dec(x_16);
-x_92 = 0;
-x_93 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_93, 0, x_91);
-lean_ctor_set_uint8(x_93, sizeof(void*)*1, x_92);
-lean_ctor_set(x_15, 3, x_93);
-x_94 = lean_st_ref_set(x_7, x_15, x_17);
-x_95 = lean_ctor_get(x_94, 1);
-lean_inc(x_95);
-lean_dec(x_94);
+uint8_t x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
+x_41 = 0;
+lean_ctor_set_uint8(x_36, sizeof(void*)*1, x_41);
+x_42 = lean_st_ref_set(x_7, x_35, x_37);
+x_43 = lean_ctor_get(x_42, 1);
+lean_inc(x_43);
+lean_dec(x_42);
lean_inc(x_7);
-x_96 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_1, x_4, x_5, x_6, x_7, x_95);
-if (lean_obj_tag(x_96) == 0)
+x_44 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_1, x_4, x_5, x_6, x_7, x_43);
+if (lean_obj_tag(x_44) == 0)
{
-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;
-x_97 = lean_ctor_get(x_96, 0);
-lean_inc(x_97);
-x_98 = lean_ctor_get(x_96, 1);
-lean_inc(x_98);
-lean_dec(x_96);
-x_99 = lean_st_ref_get(x_7, x_98);
-x_100 = lean_ctor_get(x_99, 1);
-lean_inc(x_100);
-lean_dec(x_99);
-x_101 = lean_st_ref_take(x_7, x_100);
-x_102 = lean_ctor_get(x_101, 0);
-lean_inc(x_102);
-x_103 = lean_ctor_get(x_102, 3);
-lean_inc(x_103);
-x_104 = lean_ctor_get(x_101, 1);
-lean_inc(x_104);
-lean_dec(x_101);
-x_105 = lean_ctor_get(x_102, 0);
-lean_inc(x_105);
-x_106 = lean_ctor_get(x_102, 1);
-lean_inc(x_106);
-x_107 = lean_ctor_get(x_102, 2);
-lean_inc(x_107);
-if (lean_is_exclusive(x_102)) {
- lean_ctor_release(x_102, 0);
- lean_ctor_release(x_102, 1);
- lean_ctor_release(x_102, 2);
- lean_ctor_release(x_102, 3);
- x_108 = x_102;
-} else {
- lean_dec_ref(x_102);
- x_108 = lean_box(0);
-}
-x_109 = lean_ctor_get(x_103, 0);
-lean_inc(x_109);
-if (lean_is_exclusive(x_103)) {
- lean_ctor_release(x_103, 0);
- x_110 = x_103;
-} else {
- lean_dec_ref(x_103);
- x_110 = lean_box(0);
-}
-if (lean_is_scalar(x_110)) {
- x_111 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_111 = x_110;
-}
-lean_ctor_set(x_111, 0, x_109);
-lean_ctor_set_uint8(x_111, sizeof(void*)*1, x_13);
-if (lean_is_scalar(x_108)) {
- x_112 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_112 = x_108;
-}
-lean_ctor_set(x_112, 0, x_105);
-lean_ctor_set(x_112, 1, x_106);
-lean_ctor_set(x_112, 2, x_107);
-lean_ctor_set(x_112, 3, x_111);
-x_113 = lean_st_ref_set(x_7, x_112, x_104);
+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; uint8_t x_53;
+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_st_ref_get(x_7, x_46);
+x_48 = lean_ctor_get(x_47, 1);
+lean_inc(x_48);
+lean_dec(x_47);
+x_49 = lean_st_ref_take(x_7, x_48);
+x_50 = lean_ctor_get(x_49, 0);
+lean_inc(x_50);
+x_51 = lean_ctor_get(x_50, 3);
+lean_inc(x_51);
+x_52 = lean_ctor_get(x_49, 1);
+lean_inc(x_52);
+lean_dec(x_49);
+x_53 = !lean_is_exclusive(x_50);
+if (x_53 == 0)
+{
+lean_object* x_54; uint8_t x_55;
+x_54 = lean_ctor_get(x_50, 3);
+lean_dec(x_54);
+x_55 = !lean_is_exclusive(x_51);
+if (x_55 == 0)
+{
+lean_object* x_56; uint8_t x_57;
+lean_ctor_set_uint8(x_51, sizeof(void*)*1, x_33);
+x_56 = lean_st_ref_set(x_7, x_50, x_52);
lean_dec(x_7);
-x_114 = lean_ctor_get(x_113, 1);
-lean_inc(x_114);
-if (lean_is_exclusive(x_113)) {
- lean_ctor_release(x_113, 0);
- lean_ctor_release(x_113, 1);
- x_115 = x_113;
-} else {
- lean_dec_ref(x_113);
- x_115 = lean_box(0);
-}
-if (lean_is_scalar(x_115)) {
- x_116 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_116 = x_115;
-}
-lean_ctor_set(x_116, 0, x_97);
-lean_ctor_set(x_116, 1, x_114);
-return x_116;
+x_57 = !lean_is_exclusive(x_56);
+if (x_57 == 0)
+{
+lean_object* x_58;
+x_58 = lean_ctor_get(x_56, 0);
+lean_dec(x_58);
+lean_ctor_set(x_56, 0, x_45);
+return x_56;
}
else
{
+lean_object* x_59; lean_object* x_60;
+x_59 = lean_ctor_get(x_56, 1);
+lean_inc(x_59);
+lean_dec(x_56);
+x_60 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_60, 0, x_45);
+lean_ctor_set(x_60, 1, x_59);
+return x_60;
+}
+}
+else
+{
+lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66;
+x_61 = lean_ctor_get(x_51, 0);
+lean_inc(x_61);
+lean_dec(x_51);
+x_62 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_62, 0, x_61);
+lean_ctor_set_uint8(x_62, sizeof(void*)*1, x_33);
+lean_ctor_set(x_50, 3, x_62);
+x_63 = lean_st_ref_set(x_7, x_50, x_52);
+lean_dec(x_7);
+x_64 = lean_ctor_get(x_63, 1);
+lean_inc(x_64);
+if (lean_is_exclusive(x_63)) {
+ lean_ctor_release(x_63, 0);
+ lean_ctor_release(x_63, 1);
+ x_65 = x_63;
+} else {
+ lean_dec_ref(x_63);
+ x_65 = lean_box(0);
+}
+if (lean_is_scalar(x_65)) {
+ x_66 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_66 = x_65;
+}
+lean_ctor_set(x_66, 0, x_45);
+lean_ctor_set(x_66, 1, x_64);
+return x_66;
+}
+}
+else
+{
+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_67 = lean_ctor_get(x_50, 0);
+x_68 = lean_ctor_get(x_50, 1);
+x_69 = lean_ctor_get(x_50, 2);
+lean_inc(x_69);
+lean_inc(x_68);
+lean_inc(x_67);
+lean_dec(x_50);
+x_70 = lean_ctor_get(x_51, 0);
+lean_inc(x_70);
+if (lean_is_exclusive(x_51)) {
+ lean_ctor_release(x_51, 0);
+ x_71 = x_51;
+} else {
+ lean_dec_ref(x_51);
+ x_71 = lean_box(0);
+}
+if (lean_is_scalar(x_71)) {
+ x_72 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_72 = x_71;
+}
+lean_ctor_set(x_72, 0, x_70);
+lean_ctor_set_uint8(x_72, sizeof(void*)*1, x_33);
+x_73 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_73, 0, x_67);
+lean_ctor_set(x_73, 1, x_68);
+lean_ctor_set(x_73, 2, x_69);
+lean_ctor_set(x_73, 3, x_72);
+x_74 = lean_st_ref_set(x_7, x_73, x_52);
+lean_dec(x_7);
+x_75 = lean_ctor_get(x_74, 1);
+lean_inc(x_75);
+if (lean_is_exclusive(x_74)) {
+ lean_ctor_release(x_74, 0);
+ lean_ctor_release(x_74, 1);
+ x_76 = x_74;
+} else {
+ lean_dec_ref(x_74);
+ x_76 = lean_box(0);
+}
+if (lean_is_scalar(x_76)) {
+ x_77 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_77 = x_76;
+}
+lean_ctor_set(x_77, 0, x_45);
+lean_ctor_set(x_77, 1, x_75);
+return x_77;
+}
+}
+else
+{
+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; uint8_t x_86;
+x_78 = lean_ctor_get(x_44, 0);
+lean_inc(x_78);
+x_79 = lean_ctor_get(x_44, 1);
+lean_inc(x_79);
+lean_dec(x_44);
+x_80 = lean_st_ref_get(x_7, x_79);
+x_81 = lean_ctor_get(x_80, 1);
+lean_inc(x_81);
+lean_dec(x_80);
+x_82 = lean_st_ref_take(x_7, x_81);
+x_83 = lean_ctor_get(x_82, 0);
+lean_inc(x_83);
+x_84 = lean_ctor_get(x_83, 3);
+lean_inc(x_84);
+x_85 = lean_ctor_get(x_82, 1);
+lean_inc(x_85);
+lean_dec(x_82);
+x_86 = !lean_is_exclusive(x_83);
+if (x_86 == 0)
+{
+lean_object* x_87; uint8_t x_88;
+x_87 = lean_ctor_get(x_83, 3);
+lean_dec(x_87);
+x_88 = !lean_is_exclusive(x_84);
+if (x_88 == 0)
+{
+lean_object* x_89; uint8_t x_90;
+lean_ctor_set_uint8(x_84, sizeof(void*)*1, x_33);
+x_89 = lean_st_ref_set(x_7, x_83, x_85);
+lean_dec(x_7);
+x_90 = !lean_is_exclusive(x_89);
+if (x_90 == 0)
+{
+lean_object* x_91;
+x_91 = lean_ctor_get(x_89, 0);
+lean_dec(x_91);
+lean_ctor_set_tag(x_89, 1);
+lean_ctor_set(x_89, 0, x_78);
+return x_89;
+}
+else
+{
+lean_object* x_92; lean_object* x_93;
+x_92 = lean_ctor_get(x_89, 1);
+lean_inc(x_92);
+lean_dec(x_89);
+x_93 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_93, 0, x_78);
+lean_ctor_set(x_93, 1, x_92);
+return x_93;
+}
+}
+else
+{
+lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99;
+x_94 = lean_ctor_get(x_84, 0);
+lean_inc(x_94);
+lean_dec(x_84);
+x_95 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_95, 0, x_94);
+lean_ctor_set_uint8(x_95, sizeof(void*)*1, x_33);
+lean_ctor_set(x_83, 3, x_95);
+x_96 = lean_st_ref_set(x_7, x_83, x_85);
+lean_dec(x_7);
+x_97 = lean_ctor_get(x_96, 1);
+lean_inc(x_97);
+if (lean_is_exclusive(x_96)) {
+ lean_ctor_release(x_96, 0);
+ lean_ctor_release(x_96, 1);
+ x_98 = x_96;
+} else {
+ lean_dec_ref(x_96);
+ x_98 = lean_box(0);
+}
+if (lean_is_scalar(x_98)) {
+ x_99 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_99 = x_98;
+ lean_ctor_set_tag(x_99, 1);
+}
+lean_ctor_set(x_99, 0, x_78);
+lean_ctor_set(x_99, 1, x_97);
+return x_99;
+}
+}
+else
+{
+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;
+x_100 = lean_ctor_get(x_83, 0);
+x_101 = lean_ctor_get(x_83, 1);
+x_102 = lean_ctor_get(x_83, 2);
+lean_inc(x_102);
+lean_inc(x_101);
+lean_inc(x_100);
+lean_dec(x_83);
+x_103 = lean_ctor_get(x_84, 0);
+lean_inc(x_103);
+if (lean_is_exclusive(x_84)) {
+ lean_ctor_release(x_84, 0);
+ x_104 = x_84;
+} else {
+ lean_dec_ref(x_84);
+ x_104 = lean_box(0);
+}
+if (lean_is_scalar(x_104)) {
+ x_105 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_105 = x_104;
+}
+lean_ctor_set(x_105, 0, x_103);
+lean_ctor_set_uint8(x_105, sizeof(void*)*1, x_33);
+x_106 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_106, 0, x_100);
+lean_ctor_set(x_106, 1, x_101);
+lean_ctor_set(x_106, 2, x_102);
+lean_ctor_set(x_106, 3, x_105);
+x_107 = lean_st_ref_set(x_7, x_106, x_85);
+lean_dec(x_7);
+x_108 = lean_ctor_get(x_107, 1);
+lean_inc(x_108);
+if (lean_is_exclusive(x_107)) {
+ lean_ctor_release(x_107, 0);
+ lean_ctor_release(x_107, 1);
+ x_109 = x_107;
+} else {
+ lean_dec_ref(x_107);
+ x_109 = lean_box(0);
+}
+if (lean_is_scalar(x_109)) {
+ x_110 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_110 = x_109;
+ lean_ctor_set_tag(x_110, 1);
+}
+lean_ctor_set(x_110, 0, x_78);
+lean_ctor_set(x_110, 1, x_108);
+return x_110;
+}
+}
+}
+else
+{
+lean_object* x_111; uint8_t x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116;
+x_111 = lean_ctor_get(x_36, 0);
+lean_inc(x_111);
+lean_dec(x_36);
+x_112 = 0;
+x_113 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_113, 0, x_111);
+lean_ctor_set_uint8(x_113, sizeof(void*)*1, x_112);
+lean_ctor_set(x_35, 3, x_113);
+x_114 = lean_st_ref_set(x_7, x_35, x_37);
+x_115 = lean_ctor_get(x_114, 1);
+lean_inc(x_115);
+lean_dec(x_114);
+lean_inc(x_7);
+x_116 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_1, x_4, x_5, x_6, x_7, x_115);
+if (lean_obj_tag(x_116) == 0)
+{
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; lean_object* x_134; lean_object* x_135; lean_object* x_136;
-x_117 = lean_ctor_get(x_96, 0);
+x_117 = lean_ctor_get(x_116, 0);
lean_inc(x_117);
-x_118 = lean_ctor_get(x_96, 1);
+x_118 = lean_ctor_get(x_116, 1);
lean_inc(x_118);
-lean_dec(x_96);
+lean_dec(x_116);
x_119 = lean_st_ref_get(x_7, x_118);
x_120 = lean_ctor_get(x_119, 1);
lean_inc(x_120);
@@ -6467,7 +6488,7 @@ if (lean_is_scalar(x_130)) {
x_131 = x_130;
}
lean_ctor_set(x_131, 0, x_129);
-lean_ctor_set_uint8(x_131, sizeof(void*)*1, x_13);
+lean_ctor_set_uint8(x_131, sizeof(void*)*1, x_33);
if (lean_is_scalar(x_128)) {
x_132 = lean_alloc_ctor(0, 4, 0);
} else {
@@ -6490,145 +6511,145 @@ if (lean_is_exclusive(x_133)) {
x_135 = lean_box(0);
}
if (lean_is_scalar(x_135)) {
- x_136 = lean_alloc_ctor(1, 2, 0);
+ x_136 = lean_alloc_ctor(0, 2, 0);
} else {
x_136 = x_135;
- lean_ctor_set_tag(x_136, 1);
}
lean_ctor_set(x_136, 0, x_117);
lean_ctor_set(x_136, 1, x_134);
return x_136;
}
-}
-}
else
{
-lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; uint8_t x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147;
-x_137 = lean_ctor_get(x_15, 0);
-x_138 = lean_ctor_get(x_15, 1);
-x_139 = lean_ctor_get(x_15, 2);
-lean_inc(x_139);
-lean_inc(x_138);
+lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156;
+x_137 = lean_ctor_get(x_116, 0);
lean_inc(x_137);
-lean_dec(x_15);
-x_140 = lean_ctor_get(x_16, 0);
+x_138 = lean_ctor_get(x_116, 1);
+lean_inc(x_138);
+lean_dec(x_116);
+x_139 = lean_st_ref_get(x_7, x_138);
+x_140 = lean_ctor_get(x_139, 1);
lean_inc(x_140);
-if (lean_is_exclusive(x_16)) {
- lean_ctor_release(x_16, 0);
- x_141 = x_16;
-} else {
- lean_dec_ref(x_16);
- x_141 = lean_box(0);
-}
-x_142 = 0;
-if (lean_is_scalar(x_141)) {
- x_143 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_143 = x_141;
-}
-lean_ctor_set(x_143, 0, x_140);
-lean_ctor_set_uint8(x_143, sizeof(void*)*1, x_142);
-x_144 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_144, 0, x_137);
-lean_ctor_set(x_144, 1, x_138);
-lean_ctor_set(x_144, 2, x_139);
-lean_ctor_set(x_144, 3, x_143);
-x_145 = lean_st_ref_set(x_7, x_144, x_17);
-x_146 = lean_ctor_get(x_145, 1);
+lean_dec(x_139);
+x_141 = lean_st_ref_take(x_7, x_140);
+x_142 = lean_ctor_get(x_141, 0);
+lean_inc(x_142);
+x_143 = lean_ctor_get(x_142, 3);
+lean_inc(x_143);
+x_144 = lean_ctor_get(x_141, 1);
+lean_inc(x_144);
+lean_dec(x_141);
+x_145 = lean_ctor_get(x_142, 0);
+lean_inc(x_145);
+x_146 = lean_ctor_get(x_142, 1);
lean_inc(x_146);
-lean_dec(x_145);
-lean_inc(x_7);
-x_147 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_1, x_4, x_5, x_6, x_7, x_146);
-if (lean_obj_tag(x_147) == 0)
-{
-lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167;
-x_148 = lean_ctor_get(x_147, 0);
-lean_inc(x_148);
-x_149 = lean_ctor_get(x_147, 1);
+x_147 = lean_ctor_get(x_142, 2);
+lean_inc(x_147);
+if (lean_is_exclusive(x_142)) {
+ lean_ctor_release(x_142, 0);
+ lean_ctor_release(x_142, 1);
+ lean_ctor_release(x_142, 2);
+ lean_ctor_release(x_142, 3);
+ x_148 = x_142;
+} else {
+ lean_dec_ref(x_142);
+ x_148 = lean_box(0);
+}
+x_149 = lean_ctor_get(x_143, 0);
lean_inc(x_149);
-lean_dec(x_147);
-x_150 = lean_st_ref_get(x_7, x_149);
-x_151 = lean_ctor_get(x_150, 1);
-lean_inc(x_151);
-lean_dec(x_150);
-x_152 = lean_st_ref_take(x_7, x_151);
-x_153 = lean_ctor_get(x_152, 0);
-lean_inc(x_153);
-x_154 = lean_ctor_get(x_153, 3);
+if (lean_is_exclusive(x_143)) {
+ lean_ctor_release(x_143, 0);
+ x_150 = x_143;
+} else {
+ lean_dec_ref(x_143);
+ x_150 = lean_box(0);
+}
+if (lean_is_scalar(x_150)) {
+ x_151 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_151 = x_150;
+}
+lean_ctor_set(x_151, 0, x_149);
+lean_ctor_set_uint8(x_151, sizeof(void*)*1, x_33);
+if (lean_is_scalar(x_148)) {
+ x_152 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_152 = x_148;
+}
+lean_ctor_set(x_152, 0, x_145);
+lean_ctor_set(x_152, 1, x_146);
+lean_ctor_set(x_152, 2, x_147);
+lean_ctor_set(x_152, 3, x_151);
+x_153 = lean_st_ref_set(x_7, x_152, x_144);
+lean_dec(x_7);
+x_154 = lean_ctor_get(x_153, 1);
lean_inc(x_154);
-x_155 = lean_ctor_get(x_152, 1);
-lean_inc(x_155);
-lean_dec(x_152);
-x_156 = lean_ctor_get(x_153, 0);
-lean_inc(x_156);
-x_157 = lean_ctor_get(x_153, 1);
-lean_inc(x_157);
-x_158 = lean_ctor_get(x_153, 2);
-lean_inc(x_158);
if (lean_is_exclusive(x_153)) {
lean_ctor_release(x_153, 0);
lean_ctor_release(x_153, 1);
- lean_ctor_release(x_153, 2);
- lean_ctor_release(x_153, 3);
- x_159 = x_153;
+ x_155 = x_153;
} else {
lean_dec_ref(x_153);
- x_159 = lean_box(0);
+ x_155 = lean_box(0);
}
-x_160 = lean_ctor_get(x_154, 0);
-lean_inc(x_160);
-if (lean_is_exclusive(x_154)) {
- lean_ctor_release(x_154, 0);
- x_161 = x_154;
+if (lean_is_scalar(x_155)) {
+ x_156 = lean_alloc_ctor(1, 2, 0);
} else {
- lean_dec_ref(x_154);
- x_161 = lean_box(0);
+ x_156 = x_155;
+ lean_ctor_set_tag(x_156, 1);
}
-if (lean_is_scalar(x_161)) {
- x_162 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_162 = x_161;
+lean_ctor_set(x_156, 0, x_137);
+lean_ctor_set(x_156, 1, x_154);
+return x_156;
}
-lean_ctor_set(x_162, 0, x_160);
-lean_ctor_set_uint8(x_162, sizeof(void*)*1, x_13);
-if (lean_is_scalar(x_159)) {
- x_163 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_163 = x_159;
}
-lean_ctor_set(x_163, 0, x_156);
-lean_ctor_set(x_163, 1, x_157);
-lean_ctor_set(x_163, 2, x_158);
-lean_ctor_set(x_163, 3, x_162);
-x_164 = lean_st_ref_set(x_7, x_163, x_155);
-lean_dec(x_7);
-x_165 = lean_ctor_get(x_164, 1);
-lean_inc(x_165);
-if (lean_is_exclusive(x_164)) {
- lean_ctor_release(x_164, 0);
- lean_ctor_release(x_164, 1);
- x_166 = x_164;
-} else {
- lean_dec_ref(x_164);
- x_166 = lean_box(0);
-}
-if (lean_is_scalar(x_166)) {
- x_167 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_167 = x_166;
-}
-lean_ctor_set(x_167, 0, x_148);
-lean_ctor_set(x_167, 1, x_165);
-return x_167;
}
else
{
+lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; uint8_t x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167;
+x_157 = lean_ctor_get(x_35, 0);
+x_158 = lean_ctor_get(x_35, 1);
+x_159 = lean_ctor_get(x_35, 2);
+lean_inc(x_159);
+lean_inc(x_158);
+lean_inc(x_157);
+lean_dec(x_35);
+x_160 = lean_ctor_get(x_36, 0);
+lean_inc(x_160);
+if (lean_is_exclusive(x_36)) {
+ lean_ctor_release(x_36, 0);
+ x_161 = x_36;
+} else {
+ lean_dec_ref(x_36);
+ x_161 = lean_box(0);
+}
+x_162 = 0;
+if (lean_is_scalar(x_161)) {
+ x_163 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_163 = x_161;
+}
+lean_ctor_set(x_163, 0, x_160);
+lean_ctor_set_uint8(x_163, sizeof(void*)*1, x_162);
+x_164 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_164, 0, x_157);
+lean_ctor_set(x_164, 1, x_158);
+lean_ctor_set(x_164, 2, x_159);
+lean_ctor_set(x_164, 3, x_163);
+x_165 = lean_st_ref_set(x_7, x_164, x_37);
+x_166 = lean_ctor_get(x_165, 1);
+lean_inc(x_166);
+lean_dec(x_165);
+lean_inc(x_7);
+x_167 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_1, x_4, x_5, x_6, x_7, x_166);
+if (lean_obj_tag(x_167) == 0)
+{
lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187;
-x_168 = lean_ctor_get(x_147, 0);
+x_168 = lean_ctor_get(x_167, 0);
lean_inc(x_168);
-x_169 = lean_ctor_get(x_147, 1);
+x_169 = lean_ctor_get(x_167, 1);
lean_inc(x_169);
-lean_dec(x_147);
+lean_dec(x_167);
x_170 = lean_st_ref_get(x_7, x_169);
x_171 = lean_ctor_get(x_170, 1);
lean_inc(x_171);
@@ -6672,7 +6693,7 @@ if (lean_is_scalar(x_181)) {
x_182 = x_181;
}
lean_ctor_set(x_182, 0, x_180);
-lean_ctor_set_uint8(x_182, sizeof(void*)*1, x_13);
+lean_ctor_set_uint8(x_182, sizeof(void*)*1, x_33);
if (lean_is_scalar(x_179)) {
x_183 = lean_alloc_ctor(0, 4, 0);
} else {
@@ -6695,100 +6716,97 @@ if (lean_is_exclusive(x_184)) {
x_186 = lean_box(0);
}
if (lean_is_scalar(x_186)) {
- x_187 = lean_alloc_ctor(1, 2, 0);
+ x_187 = lean_alloc_ctor(0, 2, 0);
} else {
x_187 = x_186;
- lean_ctor_set_tag(x_187, 1);
}
lean_ctor_set(x_187, 0, x_168);
lean_ctor_set(x_187, 1, x_185);
return x_187;
}
-}
-}
else
{
-lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192;
-x_188 = lean_ctor_get(x_6, 3);
+lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207;
+x_188 = lean_ctor_get(x_167, 0);
lean_inc(x_188);
-x_189 = l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_isLevelDefEq___spec__3___rarg(x_7, x_8);
-x_190 = lean_ctor_get(x_189, 0);
-lean_inc(x_190);
-x_191 = lean_ctor_get(x_189, 1);
+x_189 = lean_ctor_get(x_167, 1);
+lean_inc(x_189);
+lean_dec(x_167);
+x_190 = lean_st_ref_get(x_7, x_189);
+x_191 = lean_ctor_get(x_190, 1);
lean_inc(x_191);
-lean_dec(x_189);
-lean_inc(x_7);
-lean_inc(x_6);
-lean_inc(x_5);
-lean_inc(x_4);
-x_192 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_1, x_4, x_5, x_6, x_7, x_191);
-if (lean_obj_tag(x_192) == 0)
-{
-lean_object* x_193; lean_object* x_194; lean_object* x_195; uint8_t x_196;
+lean_dec(x_190);
+x_192 = lean_st_ref_take(x_7, x_191);
x_193 = lean_ctor_get(x_192, 0);
lean_inc(x_193);
-x_194 = lean_ctor_get(x_192, 1);
+x_194 = lean_ctor_get(x_193, 3);
lean_inc(x_194);
+x_195 = lean_ctor_get(x_192, 1);
+lean_inc(x_195);
lean_dec(x_192);
-x_195 = l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_isLevelDefEq___spec__4(x_190, x_2, x_188, x_4, x_5, x_6, x_7, x_194);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-x_196 = !lean_is_exclusive(x_195);
-if (x_196 == 0)
-{
-lean_object* x_197;
-x_197 = lean_ctor_get(x_195, 0);
-lean_dec(x_197);
-lean_ctor_set(x_195, 0, x_193);
-return x_195;
-}
-else
-{
-lean_object* x_198; lean_object* x_199;
-x_198 = lean_ctor_get(x_195, 1);
+x_196 = lean_ctor_get(x_193, 0);
+lean_inc(x_196);
+x_197 = lean_ctor_get(x_193, 1);
+lean_inc(x_197);
+x_198 = lean_ctor_get(x_193, 2);
lean_inc(x_198);
-lean_dec(x_195);
-x_199 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_199, 0, x_193);
-lean_ctor_set(x_199, 1, x_198);
-return x_199;
+if (lean_is_exclusive(x_193)) {
+ lean_ctor_release(x_193, 0);
+ lean_ctor_release(x_193, 1);
+ lean_ctor_release(x_193, 2);
+ lean_ctor_release(x_193, 3);
+ x_199 = x_193;
+} else {
+ lean_dec_ref(x_193);
+ x_199 = lean_box(0);
}
-}
-else
-{
-lean_object* x_200; lean_object* x_201; lean_object* x_202; uint8_t x_203;
-x_200 = lean_ctor_get(x_192, 0);
+x_200 = lean_ctor_get(x_194, 0);
lean_inc(x_200);
-x_201 = lean_ctor_get(x_192, 1);
-lean_inc(x_201);
-lean_dec(x_192);
-x_202 = l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_isLevelDefEq___spec__4(x_190, x_2, x_188, x_4, x_5, x_6, x_7, x_201);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-x_203 = !lean_is_exclusive(x_202);
-if (x_203 == 0)
-{
-lean_object* x_204;
-x_204 = lean_ctor_get(x_202, 0);
-lean_dec(x_204);
-lean_ctor_set_tag(x_202, 1);
-lean_ctor_set(x_202, 0, x_200);
-return x_202;
+if (lean_is_exclusive(x_194)) {
+ lean_ctor_release(x_194, 0);
+ x_201 = x_194;
+} else {
+ lean_dec_ref(x_194);
+ x_201 = lean_box(0);
}
-else
-{
-lean_object* x_205; lean_object* x_206;
-x_205 = lean_ctor_get(x_202, 1);
+if (lean_is_scalar(x_201)) {
+ x_202 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_202 = x_201;
+}
+lean_ctor_set(x_202, 0, x_200);
+lean_ctor_set_uint8(x_202, sizeof(void*)*1, x_33);
+if (lean_is_scalar(x_199)) {
+ x_203 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_203 = x_199;
+}
+lean_ctor_set(x_203, 0, x_196);
+lean_ctor_set(x_203, 1, x_197);
+lean_ctor_set(x_203, 2, x_198);
+lean_ctor_set(x_203, 3, x_202);
+x_204 = lean_st_ref_set(x_7, x_203, x_195);
+lean_dec(x_7);
+x_205 = lean_ctor_get(x_204, 1);
lean_inc(x_205);
-lean_dec(x_202);
-x_206 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_206, 0, x_200);
-lean_ctor_set(x_206, 1, x_205);
-return x_206;
+if (lean_is_exclusive(x_204)) {
+ lean_ctor_release(x_204, 0);
+ lean_ctor_release(x_204, 1);
+ x_206 = x_204;
+} else {
+ lean_dec_ref(x_204);
+ x_206 = lean_box(0);
+}
+if (lean_is_scalar(x_206)) {
+ x_207 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_207 = x_206;
+ lean_ctor_set_tag(x_207, 1);
+}
+lean_ctor_set(x_207, 0, x_188);
+lean_ctor_set(x_207, 1, x_205);
+return x_207;
+}
}
}
}
@@ -12443,7 +12461,7 @@ return x_5;
lean_object* l_Lean_Meta_mkAppM___at_Lean_Meta_mkDecideProof___spec__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) {
_start:
{
-lean_object* x_8; lean_object* x_9; lean_object* x_10; uint8_t x_11; lean_object* x_12; lean_object* x_214; lean_object* x_215; lean_object* x_216; uint8_t x_217;
+lean_object* x_8; lean_object* x_9; lean_object* x_10; uint8_t x_11; lean_object* x_12; lean_object* x_218; lean_object* x_219; lean_object* x_220; uint8_t x_221;
x_8 = lean_alloc_closure((void*)(l___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkFun___boxed), 6, 1);
lean_closure_set(x_8, 0, x_1);
x_9 = lean_alloc_closure((void*)(l_Lean_Meta_mkAppM___rarg___lambda__1___boxed), 7, 1);
@@ -12451,291 +12469,309 @@ lean_closure_set(x_9, 0, x_2);
x_10 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Meta_Lean_Meta_Basic___instance__5___spec__2___rarg), 7, 2);
lean_closure_set(x_10, 0, x_8);
lean_closure_set(x_10, 1, x_9);
-x_214 = lean_st_ref_get(x_6, x_7);
-x_215 = lean_ctor_get(x_214, 0);
-lean_inc(x_215);
-x_216 = lean_ctor_get(x_215, 3);
-lean_inc(x_216);
-lean_dec(x_215);
-x_217 = lean_ctor_get_uint8(x_216, sizeof(void*)*1);
-lean_dec(x_216);
-if (x_217 == 0)
+x_218 = lean_st_ref_get(x_6, x_7);
+x_219 = lean_ctor_get(x_218, 0);
+lean_inc(x_219);
+x_220 = lean_ctor_get(x_219, 3);
+lean_inc(x_220);
+lean_dec(x_219);
+x_221 = lean_ctor_get_uint8(x_220, sizeof(void*)*1);
+lean_dec(x_220);
+if (x_221 == 0)
{
-lean_object* x_218; uint8_t x_219;
-x_218 = lean_ctor_get(x_214, 1);
-lean_inc(x_218);
-lean_dec(x_214);
-x_219 = 0;
-x_11 = x_219;
-x_12 = x_218;
-goto block_213;
+lean_object* x_222; uint8_t x_223;
+x_222 = lean_ctor_get(x_218, 1);
+lean_inc(x_222);
+lean_dec(x_218);
+x_223 = 0;
+x_11 = x_223;
+x_12 = x_222;
+goto block_217;
}
else
{
-lean_object* x_220; lean_object* x_221; lean_object* x_222; lean_object* x_223; lean_object* x_224; uint8_t x_225;
-x_220 = lean_ctor_get(x_214, 1);
-lean_inc(x_220);
-lean_dec(x_214);
-x_221 = l_Lean_Meta_mkAppM___rarg___closed__2;
-x_222 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_221, x_3, x_4, x_5, x_6, x_220);
-x_223 = lean_ctor_get(x_222, 0);
-lean_inc(x_223);
-x_224 = lean_ctor_get(x_222, 1);
+lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; lean_object* x_228; uint8_t x_229;
+x_224 = lean_ctor_get(x_218, 1);
lean_inc(x_224);
-lean_dec(x_222);
-x_225 = lean_unbox(x_223);
-lean_dec(x_223);
-x_11 = x_225;
-x_12 = x_224;
-goto block_213;
+lean_dec(x_218);
+x_225 = l_Lean_Meta_mkAppM___rarg___closed__2;
+x_226 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_225, x_3, x_4, x_5, x_6, x_224);
+x_227 = lean_ctor_get(x_226, 0);
+lean_inc(x_227);
+x_228 = lean_ctor_get(x_226, 1);
+lean_inc(x_228);
+lean_dec(x_226);
+x_229 = lean_unbox(x_227);
+lean_dec(x_227);
+x_11 = x_229;
+x_12 = x_228;
+goto block_217;
}
-block_213:
+block_217:
{
+uint8_t x_13;
if (x_11 == 0)
{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; uint8_t x_22;
-x_13 = lean_st_ref_get(x_6, x_12);
-x_14 = lean_ctor_get(x_13, 0);
-lean_inc(x_14);
-x_15 = lean_ctor_get(x_14, 3);
-lean_inc(x_15);
-lean_dec(x_14);
-x_16 = lean_ctor_get(x_13, 1);
-lean_inc(x_16);
-lean_dec(x_13);
-x_17 = lean_ctor_get_uint8(x_15, sizeof(void*)*1);
-lean_dec(x_15);
-x_18 = lean_st_ref_take(x_6, x_16);
-x_19 = lean_ctor_get(x_18, 0);
-lean_inc(x_19);
-x_20 = lean_ctor_get(x_19, 3);
-lean_inc(x_20);
-x_21 = lean_ctor_get(x_18, 1);
-lean_inc(x_21);
-lean_dec(x_18);
-x_22 = !lean_is_exclusive(x_19);
-if (x_22 == 0)
-{
-lean_object* x_23; uint8_t x_24;
-x_23 = lean_ctor_get(x_19, 3);
-lean_dec(x_23);
-x_24 = !lean_is_exclusive(x_20);
-if (x_24 == 0)
-{
-uint8_t x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
-x_25 = 0;
-lean_ctor_set_uint8(x_20, sizeof(void*)*1, x_25);
-x_26 = lean_st_ref_set(x_6, x_19, x_21);
-x_27 = lean_ctor_get(x_26, 1);
-lean_inc(x_27);
-lean_dec(x_26);
-lean_inc(x_6);
-x_28 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_10, x_3, x_4, x_5, x_6, x_27);
-if (lean_obj_tag(x_28) == 0)
-{
-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; uint8_t x_37;
-x_29 = lean_ctor_get(x_28, 0);
-lean_inc(x_29);
-x_30 = lean_ctor_get(x_28, 1);
-lean_inc(x_30);
-lean_dec(x_28);
-x_31 = lean_st_ref_get(x_6, x_30);
-x_32 = lean_ctor_get(x_31, 1);
-lean_inc(x_32);
-lean_dec(x_31);
-x_33 = lean_st_ref_take(x_6, x_32);
-x_34 = lean_ctor_get(x_33, 0);
-lean_inc(x_34);
-x_35 = lean_ctor_get(x_34, 3);
-lean_inc(x_35);
-x_36 = lean_ctor_get(x_33, 1);
-lean_inc(x_36);
-lean_dec(x_33);
-x_37 = !lean_is_exclusive(x_34);
-if (x_37 == 0)
-{
-lean_object* x_38; uint8_t x_39;
-x_38 = lean_ctor_get(x_34, 3);
-lean_dec(x_38);
-x_39 = !lean_is_exclusive(x_35);
-if (x_39 == 0)
-{
-lean_object* x_40; uint8_t x_41;
-lean_ctor_set_uint8(x_35, sizeof(void*)*1, x_17);
-x_40 = lean_st_ref_set(x_6, x_34, x_36);
-lean_dec(x_6);
-x_41 = !lean_is_exclusive(x_40);
-if (x_41 == 0)
-{
-lean_object* x_42;
-x_42 = lean_ctor_get(x_40, 0);
-lean_dec(x_42);
-lean_ctor_set(x_40, 0, x_29);
-return x_40;
+uint8_t x_215;
+x_215 = 1;
+x_13 = x_215;
+goto block_214;
}
else
{
-lean_object* x_43; lean_object* x_44;
+uint8_t x_216;
+x_216 = 0;
+x_13 = x_216;
+goto block_214;
+}
+block_214:
+{
+if (x_13 == 0)
+{
+lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
+x_14 = lean_ctor_get(x_5, 3);
+lean_inc(x_14);
+x_15 = l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_isLevelDefEq___spec__2___rarg(x_6, x_12);
+x_16 = lean_ctor_get(x_15, 0);
+lean_inc(x_16);
+x_17 = lean_ctor_get(x_15, 1);
+lean_inc(x_17);
+lean_dec(x_15);
+lean_inc(x_6);
+lean_inc(x_5);
+lean_inc(x_4);
+lean_inc(x_3);
+x_18 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_10, x_3, x_4, x_5, x_6, x_17);
+if (lean_obj_tag(x_18) == 0)
+{
+lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; uint8_t x_23;
+x_19 = lean_ctor_get(x_18, 0);
+lean_inc(x_19);
+x_20 = lean_ctor_get(x_18, 1);
+lean_inc(x_20);
+lean_dec(x_18);
+x_21 = l_Lean_Meta_mkAppM___rarg___closed__2;
+x_22 = l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_isLevelDefEq___spec__3(x_16, x_21, x_14, x_3, x_4, x_5, x_6, x_20);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_23 = !lean_is_exclusive(x_22);
+if (x_23 == 0)
+{
+lean_object* x_24;
+x_24 = lean_ctor_get(x_22, 0);
+lean_dec(x_24);
+lean_ctor_set(x_22, 0, x_19);
+return x_22;
+}
+else
+{
+lean_object* x_25; lean_object* x_26;
+x_25 = lean_ctor_get(x_22, 1);
+lean_inc(x_25);
+lean_dec(x_22);
+x_26 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_26, 0, x_19);
+lean_ctor_set(x_26, 1, x_25);
+return x_26;
+}
+}
+else
+{
+lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31;
+x_27 = lean_ctor_get(x_18, 0);
+lean_inc(x_27);
+x_28 = lean_ctor_get(x_18, 1);
+lean_inc(x_28);
+lean_dec(x_18);
+x_29 = l_Lean_Meta_mkAppM___rarg___closed__2;
+x_30 = l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_isLevelDefEq___spec__3(x_16, x_29, x_14, x_3, x_4, x_5, x_6, x_28);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_31 = !lean_is_exclusive(x_30);
+if (x_31 == 0)
+{
+lean_object* x_32;
+x_32 = lean_ctor_get(x_30, 0);
+lean_dec(x_32);
+lean_ctor_set_tag(x_30, 1);
+lean_ctor_set(x_30, 0, x_27);
+return x_30;
+}
+else
+{
+lean_object* x_33; lean_object* x_34;
+x_33 = lean_ctor_get(x_30, 1);
+lean_inc(x_33);
+lean_dec(x_30);
+x_34 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_34, 0, x_27);
+lean_ctor_set(x_34, 1, x_33);
+return x_34;
+}
+}
+}
+else
+{
+lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; uint8_t x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; uint8_t x_44;
+x_35 = lean_st_ref_get(x_6, x_12);
+x_36 = lean_ctor_get(x_35, 0);
+lean_inc(x_36);
+x_37 = lean_ctor_get(x_36, 3);
+lean_inc(x_37);
+lean_dec(x_36);
+x_38 = lean_ctor_get(x_35, 1);
+lean_inc(x_38);
+lean_dec(x_35);
+x_39 = lean_ctor_get_uint8(x_37, sizeof(void*)*1);
+lean_dec(x_37);
+x_40 = lean_st_ref_take(x_6, x_38);
+x_41 = lean_ctor_get(x_40, 0);
+lean_inc(x_41);
+x_42 = lean_ctor_get(x_41, 3);
+lean_inc(x_42);
x_43 = lean_ctor_get(x_40, 1);
lean_inc(x_43);
lean_dec(x_40);
-x_44 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_44, 0, x_29);
-lean_ctor_set(x_44, 1, x_43);
-return x_44;
-}
-}
-else
+x_44 = !lean_is_exclusive(x_41);
+if (x_44 == 0)
{
-lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50;
-x_45 = lean_ctor_get(x_35, 0);
-lean_inc(x_45);
-lean_dec(x_35);
-x_46 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_46, 0, x_45);
-lean_ctor_set_uint8(x_46, sizeof(void*)*1, x_17);
-lean_ctor_set(x_34, 3, x_46);
-x_47 = lean_st_ref_set(x_6, x_34, x_36);
-lean_dec(x_6);
-x_48 = lean_ctor_get(x_47, 1);
-lean_inc(x_48);
-if (lean_is_exclusive(x_47)) {
- lean_ctor_release(x_47, 0);
- lean_ctor_release(x_47, 1);
- x_49 = x_47;
-} else {
- lean_dec_ref(x_47);
- x_49 = lean_box(0);
-}
-if (lean_is_scalar(x_49)) {
- x_50 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_50 = x_49;
-}
-lean_ctor_set(x_50, 0, x_29);
-lean_ctor_set(x_50, 1, x_48);
-return x_50;
-}
-}
-else
+lean_object* x_45; uint8_t x_46;
+x_45 = lean_ctor_get(x_41, 3);
+lean_dec(x_45);
+x_46 = !lean_is_exclusive(x_42);
+if (x_46 == 0)
{
-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;
-x_51 = lean_ctor_get(x_34, 0);
-x_52 = lean_ctor_get(x_34, 1);
-x_53 = lean_ctor_get(x_34, 2);
-lean_inc(x_53);
-lean_inc(x_52);
+uint8_t x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50;
+x_47 = 0;
+lean_ctor_set_uint8(x_42, sizeof(void*)*1, x_47);
+x_48 = lean_st_ref_set(x_6, x_41, x_43);
+x_49 = lean_ctor_get(x_48, 1);
+lean_inc(x_49);
+lean_dec(x_48);
+lean_inc(x_6);
+x_50 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_10, x_3, x_4, x_5, x_6, x_49);
+if (lean_obj_tag(x_50) == 0)
+{
+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; uint8_t x_59;
+x_51 = lean_ctor_get(x_50, 0);
lean_inc(x_51);
-lean_dec(x_34);
-x_54 = lean_ctor_get(x_35, 0);
+x_52 = lean_ctor_get(x_50, 1);
+lean_inc(x_52);
+lean_dec(x_50);
+x_53 = lean_st_ref_get(x_6, x_52);
+x_54 = lean_ctor_get(x_53, 1);
lean_inc(x_54);
-if (lean_is_exclusive(x_35)) {
- lean_ctor_release(x_35, 0);
- x_55 = x_35;
-} else {
- lean_dec_ref(x_35);
- x_55 = lean_box(0);
-}
-if (lean_is_scalar(x_55)) {
- x_56 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_56 = x_55;
-}
-lean_ctor_set(x_56, 0, x_54);
-lean_ctor_set_uint8(x_56, sizeof(void*)*1, x_17);
-x_57 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_57, 0, x_51);
-lean_ctor_set(x_57, 1, x_52);
-lean_ctor_set(x_57, 2, x_53);
-lean_ctor_set(x_57, 3, x_56);
-x_58 = lean_st_ref_set(x_6, x_57, x_36);
-lean_dec(x_6);
-x_59 = lean_ctor_get(x_58, 1);
-lean_inc(x_59);
-if (lean_is_exclusive(x_58)) {
- lean_ctor_release(x_58, 0);
- lean_ctor_release(x_58, 1);
- x_60 = x_58;
-} else {
- lean_dec_ref(x_58);
- x_60 = lean_box(0);
-}
-if (lean_is_scalar(x_60)) {
- x_61 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_61 = x_60;
-}
-lean_ctor_set(x_61, 0, x_29);
-lean_ctor_set(x_61, 1, x_59);
-return x_61;
-}
-}
-else
+lean_dec(x_53);
+x_55 = lean_st_ref_take(x_6, x_54);
+x_56 = lean_ctor_get(x_55, 0);
+lean_inc(x_56);
+x_57 = lean_ctor_get(x_56, 3);
+lean_inc(x_57);
+x_58 = lean_ctor_get(x_55, 1);
+lean_inc(x_58);
+lean_dec(x_55);
+x_59 = !lean_is_exclusive(x_56);
+if (x_59 == 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; uint8_t x_70;
-x_62 = lean_ctor_get(x_28, 0);
-lean_inc(x_62);
-x_63 = lean_ctor_get(x_28, 1);
-lean_inc(x_63);
-lean_dec(x_28);
-x_64 = lean_st_ref_get(x_6, x_63);
-x_65 = lean_ctor_get(x_64, 1);
-lean_inc(x_65);
+lean_object* x_60; uint8_t x_61;
+x_60 = lean_ctor_get(x_56, 3);
+lean_dec(x_60);
+x_61 = !lean_is_exclusive(x_57);
+if (x_61 == 0)
+{
+lean_object* x_62; uint8_t x_63;
+lean_ctor_set_uint8(x_57, sizeof(void*)*1, x_39);
+x_62 = lean_st_ref_set(x_6, x_56, x_58);
+lean_dec(x_6);
+x_63 = !lean_is_exclusive(x_62);
+if (x_63 == 0)
+{
+lean_object* x_64;
+x_64 = lean_ctor_get(x_62, 0);
lean_dec(x_64);
-x_66 = lean_st_ref_take(x_6, x_65);
-x_67 = lean_ctor_get(x_66, 0);
+lean_ctor_set(x_62, 0, x_51);
+return x_62;
+}
+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(0, 2, 0);
+lean_ctor_set(x_66, 0, x_51);
+lean_ctor_set(x_66, 1, x_65);
+return x_66;
+}
+}
+else
+{
+lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72;
+x_67 = lean_ctor_get(x_57, 0);
lean_inc(x_67);
-x_68 = lean_ctor_get(x_67, 3);
-lean_inc(x_68);
-x_69 = lean_ctor_get(x_66, 1);
-lean_inc(x_69);
-lean_dec(x_66);
-x_70 = !lean_is_exclusive(x_67);
-if (x_70 == 0)
-{
-lean_object* x_71; uint8_t x_72;
-x_71 = lean_ctor_get(x_67, 3);
-lean_dec(x_71);
-x_72 = !lean_is_exclusive(x_68);
-if (x_72 == 0)
-{
-lean_object* x_73; uint8_t x_74;
-lean_ctor_set_uint8(x_68, sizeof(void*)*1, x_17);
-x_73 = lean_st_ref_set(x_6, x_67, x_69);
+lean_dec(x_57);
+x_68 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_68, 0, x_67);
+lean_ctor_set_uint8(x_68, sizeof(void*)*1, x_39);
+lean_ctor_set(x_56, 3, x_68);
+x_69 = lean_st_ref_set(x_6, x_56, x_58);
lean_dec(x_6);
-x_74 = !lean_is_exclusive(x_73);
-if (x_74 == 0)
-{
-lean_object* x_75;
-x_75 = lean_ctor_get(x_73, 0);
-lean_dec(x_75);
-lean_ctor_set_tag(x_73, 1);
-lean_ctor_set(x_73, 0, x_62);
-return x_73;
+x_70 = lean_ctor_get(x_69, 1);
+lean_inc(x_70);
+if (lean_is_exclusive(x_69)) {
+ lean_ctor_release(x_69, 0);
+ lean_ctor_release(x_69, 1);
+ x_71 = x_69;
+} else {
+ lean_dec_ref(x_69);
+ x_71 = lean_box(0);
+}
+if (lean_is_scalar(x_71)) {
+ x_72 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_72 = x_71;
+}
+lean_ctor_set(x_72, 0, x_51);
+lean_ctor_set(x_72, 1, x_70);
+return x_72;
+}
}
else
{
-lean_object* x_76; lean_object* x_77;
-x_76 = lean_ctor_get(x_73, 1);
+lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83;
+x_73 = lean_ctor_get(x_56, 0);
+x_74 = lean_ctor_get(x_56, 1);
+x_75 = lean_ctor_get(x_56, 2);
+lean_inc(x_75);
+lean_inc(x_74);
+lean_inc(x_73);
+lean_dec(x_56);
+x_76 = lean_ctor_get(x_57, 0);
lean_inc(x_76);
-lean_dec(x_73);
-x_77 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_77, 0, x_62);
-lean_ctor_set(x_77, 1, x_76);
-return x_77;
+if (lean_is_exclusive(x_57)) {
+ lean_ctor_release(x_57, 0);
+ x_77 = x_57;
+} else {
+ lean_dec_ref(x_57);
+ x_77 = lean_box(0);
}
+if (lean_is_scalar(x_77)) {
+ x_78 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_78 = x_77;
}
-else
-{
-lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83;
-x_78 = lean_ctor_get(x_68, 0);
-lean_inc(x_78);
-lean_dec(x_68);
-x_79 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_79, 0, x_78);
-lean_ctor_set_uint8(x_79, sizeof(void*)*1, x_17);
-lean_ctor_set(x_67, 3, x_79);
-x_80 = lean_st_ref_set(x_6, x_67, x_69);
+lean_ctor_set(x_78, 0, x_76);
+lean_ctor_set_uint8(x_78, sizeof(void*)*1, x_39);
+x_79 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_79, 0, x_73);
+lean_ctor_set(x_79, 1, x_74);
+lean_ctor_set(x_79, 2, x_75);
+lean_ctor_set(x_79, 3, x_78);
+x_80 = lean_st_ref_set(x_6, x_79, x_58);
lean_dec(x_6);
x_81 = lean_ctor_get(x_80, 1);
lean_inc(x_81);
@@ -12748,545 +12784,545 @@ if (lean_is_exclusive(x_80)) {
x_82 = lean_box(0);
}
if (lean_is_scalar(x_82)) {
- x_83 = lean_alloc_ctor(1, 2, 0);
+ x_83 = lean_alloc_ctor(0, 2, 0);
} else {
x_83 = x_82;
- lean_ctor_set_tag(x_83, 1);
}
-lean_ctor_set(x_83, 0, x_62);
+lean_ctor_set(x_83, 0, x_51);
lean_ctor_set(x_83, 1, x_81);
return x_83;
}
}
else
{
-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;
-x_84 = lean_ctor_get(x_67, 0);
-x_85 = lean_ctor_get(x_67, 1);
-x_86 = lean_ctor_get(x_67, 2);
-lean_inc(x_86);
-lean_inc(x_85);
+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; uint8_t x_92;
+x_84 = lean_ctor_get(x_50, 0);
lean_inc(x_84);
-lean_dec(x_67);
-x_87 = lean_ctor_get(x_68, 0);
+x_85 = lean_ctor_get(x_50, 1);
+lean_inc(x_85);
+lean_dec(x_50);
+x_86 = lean_st_ref_get(x_6, x_85);
+x_87 = lean_ctor_get(x_86, 1);
lean_inc(x_87);
-if (lean_is_exclusive(x_68)) {
- lean_ctor_release(x_68, 0);
- x_88 = x_68;
-} else {
- lean_dec_ref(x_68);
- x_88 = lean_box(0);
-}
-if (lean_is_scalar(x_88)) {
- x_89 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_89 = x_88;
-}
-lean_ctor_set(x_89, 0, x_87);
-lean_ctor_set_uint8(x_89, sizeof(void*)*1, x_17);
-x_90 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_90, 0, x_84);
-lean_ctor_set(x_90, 1, x_85);
-lean_ctor_set(x_90, 2, x_86);
-lean_ctor_set(x_90, 3, x_89);
-x_91 = lean_st_ref_set(x_6, x_90, x_69);
+lean_dec(x_86);
+x_88 = lean_st_ref_take(x_6, x_87);
+x_89 = lean_ctor_get(x_88, 0);
+lean_inc(x_89);
+x_90 = lean_ctor_get(x_89, 3);
+lean_inc(x_90);
+x_91 = lean_ctor_get(x_88, 1);
+lean_inc(x_91);
+lean_dec(x_88);
+x_92 = !lean_is_exclusive(x_89);
+if (x_92 == 0)
+{
+lean_object* x_93; uint8_t x_94;
+x_93 = lean_ctor_get(x_89, 3);
+lean_dec(x_93);
+x_94 = !lean_is_exclusive(x_90);
+if (x_94 == 0)
+{
+lean_object* x_95; uint8_t x_96;
+lean_ctor_set_uint8(x_90, sizeof(void*)*1, x_39);
+x_95 = lean_st_ref_set(x_6, x_89, x_91);
lean_dec(x_6);
-x_92 = lean_ctor_get(x_91, 1);
-lean_inc(x_92);
-if (lean_is_exclusive(x_91)) {
- lean_ctor_release(x_91, 0);
- lean_ctor_release(x_91, 1);
- x_93 = x_91;
-} else {
- lean_dec_ref(x_91);
- x_93 = lean_box(0);
-}
-if (lean_is_scalar(x_93)) {
- x_94 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_94 = x_93;
- lean_ctor_set_tag(x_94, 1);
-}
-lean_ctor_set(x_94, 0, x_62);
-lean_ctor_set(x_94, 1, x_92);
-return x_94;
+x_96 = !lean_is_exclusive(x_95);
+if (x_96 == 0)
+{
+lean_object* x_97;
+x_97 = lean_ctor_get(x_95, 0);
+lean_dec(x_97);
+lean_ctor_set_tag(x_95, 1);
+lean_ctor_set(x_95, 0, x_84);
+return x_95;
}
+else
+{
+lean_object* x_98; lean_object* x_99;
+x_98 = lean_ctor_get(x_95, 1);
+lean_inc(x_98);
+lean_dec(x_95);
+x_99 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_99, 0, x_84);
+lean_ctor_set(x_99, 1, x_98);
+return x_99;
}
}
else
{
-lean_object* x_95; uint8_t x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100;
-x_95 = lean_ctor_get(x_20, 0);
-lean_inc(x_95);
-lean_dec(x_20);
-x_96 = 0;
-x_97 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_97, 0, x_95);
-lean_ctor_set_uint8(x_97, sizeof(void*)*1, x_96);
-lean_ctor_set(x_19, 3, x_97);
-x_98 = lean_st_ref_set(x_6, x_19, x_21);
-x_99 = lean_ctor_get(x_98, 1);
-lean_inc(x_99);
-lean_dec(x_98);
-lean_inc(x_6);
-x_100 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_10, x_3, x_4, x_5, x_6, x_99);
-if (lean_obj_tag(x_100) == 0)
+lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105;
+x_100 = lean_ctor_get(x_90, 0);
+lean_inc(x_100);
+lean_dec(x_90);
+x_101 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_101, 0, x_100);
+lean_ctor_set_uint8(x_101, sizeof(void*)*1, x_39);
+lean_ctor_set(x_89, 3, x_101);
+x_102 = lean_st_ref_set(x_6, x_89, x_91);
+lean_dec(x_6);
+x_103 = lean_ctor_get(x_102, 1);
+lean_inc(x_103);
+if (lean_is_exclusive(x_102)) {
+ lean_ctor_release(x_102, 0);
+ lean_ctor_release(x_102, 1);
+ x_104 = x_102;
+} else {
+ lean_dec_ref(x_102);
+ x_104 = lean_box(0);
+}
+if (lean_is_scalar(x_104)) {
+ x_105 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_105 = x_104;
+ lean_ctor_set_tag(x_105, 1);
+}
+lean_ctor_set(x_105, 0, x_84);
+lean_ctor_set(x_105, 1, x_103);
+return x_105;
+}
+}
+else
{
-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;
-x_101 = lean_ctor_get(x_100, 0);
-lean_inc(x_101);
-x_102 = lean_ctor_get(x_100, 1);
-lean_inc(x_102);
-lean_dec(x_100);
-x_103 = lean_st_ref_get(x_6, x_102);
-x_104 = lean_ctor_get(x_103, 1);
-lean_inc(x_104);
-lean_dec(x_103);
-x_105 = lean_st_ref_take(x_6, x_104);
-x_106 = lean_ctor_get(x_105, 0);
-lean_inc(x_106);
-x_107 = lean_ctor_get(x_106, 3);
-lean_inc(x_107);
-x_108 = lean_ctor_get(x_105, 1);
+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;
+x_106 = lean_ctor_get(x_89, 0);
+x_107 = lean_ctor_get(x_89, 1);
+x_108 = lean_ctor_get(x_89, 2);
lean_inc(x_108);
-lean_dec(x_105);
-x_109 = lean_ctor_get(x_106, 0);
+lean_inc(x_107);
+lean_inc(x_106);
+lean_dec(x_89);
+x_109 = lean_ctor_get(x_90, 0);
lean_inc(x_109);
-x_110 = lean_ctor_get(x_106, 1);
-lean_inc(x_110);
-x_111 = lean_ctor_get(x_106, 2);
-lean_inc(x_111);
-if (lean_is_exclusive(x_106)) {
- lean_ctor_release(x_106, 0);
- lean_ctor_release(x_106, 1);
- lean_ctor_release(x_106, 2);
- lean_ctor_release(x_106, 3);
- x_112 = x_106;
+if (lean_is_exclusive(x_90)) {
+ lean_ctor_release(x_90, 0);
+ x_110 = x_90;
} else {
- lean_dec_ref(x_106);
- x_112 = lean_box(0);
+ lean_dec_ref(x_90);
+ x_110 = lean_box(0);
}
-x_113 = lean_ctor_get(x_107, 0);
-lean_inc(x_113);
-if (lean_is_exclusive(x_107)) {
- lean_ctor_release(x_107, 0);
- x_114 = x_107;
+if (lean_is_scalar(x_110)) {
+ x_111 = lean_alloc_ctor(0, 1, 1);
} else {
- lean_dec_ref(x_107);
- x_114 = lean_box(0);
+ x_111 = x_110;
}
-if (lean_is_scalar(x_114)) {
- x_115 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_115 = x_114;
-}
-lean_ctor_set(x_115, 0, x_113);
-lean_ctor_set_uint8(x_115, sizeof(void*)*1, x_17);
-if (lean_is_scalar(x_112)) {
- x_116 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_116 = x_112;
-}
-lean_ctor_set(x_116, 0, x_109);
-lean_ctor_set(x_116, 1, x_110);
-lean_ctor_set(x_116, 2, x_111);
-lean_ctor_set(x_116, 3, x_115);
-x_117 = lean_st_ref_set(x_6, x_116, x_108);
+lean_ctor_set(x_111, 0, x_109);
+lean_ctor_set_uint8(x_111, sizeof(void*)*1, x_39);
+x_112 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_112, 0, x_106);
+lean_ctor_set(x_112, 1, x_107);
+lean_ctor_set(x_112, 2, x_108);
+lean_ctor_set(x_112, 3, x_111);
+x_113 = lean_st_ref_set(x_6, x_112, x_91);
lean_dec(x_6);
-x_118 = lean_ctor_get(x_117, 1);
-lean_inc(x_118);
-if (lean_is_exclusive(x_117)) {
- lean_ctor_release(x_117, 0);
- lean_ctor_release(x_117, 1);
- x_119 = x_117;
+x_114 = lean_ctor_get(x_113, 1);
+lean_inc(x_114);
+if (lean_is_exclusive(x_113)) {
+ lean_ctor_release(x_113, 0);
+ lean_ctor_release(x_113, 1);
+ x_115 = x_113;
} else {
- lean_dec_ref(x_117);
- x_119 = lean_box(0);
+ lean_dec_ref(x_113);
+ x_115 = lean_box(0);
}
-if (lean_is_scalar(x_119)) {
- x_120 = lean_alloc_ctor(0, 2, 0);
+if (lean_is_scalar(x_115)) {
+ x_116 = lean_alloc_ctor(1, 2, 0);
} else {
- x_120 = x_119;
+ x_116 = x_115;
+ lean_ctor_set_tag(x_116, 1);
+}
+lean_ctor_set(x_116, 0, x_84);
+lean_ctor_set(x_116, 1, x_114);
+return x_116;
+}
}
-lean_ctor_set(x_120, 0, x_101);
-lean_ctor_set(x_120, 1, x_118);
-return x_120;
}
else
{
-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; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140;
-x_121 = lean_ctor_get(x_100, 0);
+lean_object* x_117; uint8_t x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122;
+x_117 = lean_ctor_get(x_42, 0);
+lean_inc(x_117);
+lean_dec(x_42);
+x_118 = 0;
+x_119 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_119, 0, x_117);
+lean_ctor_set_uint8(x_119, sizeof(void*)*1, x_118);
+lean_ctor_set(x_41, 3, x_119);
+x_120 = lean_st_ref_set(x_6, x_41, x_43);
+x_121 = lean_ctor_get(x_120, 1);
lean_inc(x_121);
-x_122 = lean_ctor_get(x_100, 1);
-lean_inc(x_122);
-lean_dec(x_100);
-x_123 = lean_st_ref_get(x_6, x_122);
-x_124 = lean_ctor_get(x_123, 1);
+lean_dec(x_120);
+lean_inc(x_6);
+x_122 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_10, x_3, x_4, x_5, x_6, x_121);
+if (lean_obj_tag(x_122) == 0)
+{
+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; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142;
+x_123 = lean_ctor_get(x_122, 0);
+lean_inc(x_123);
+x_124 = lean_ctor_get(x_122, 1);
lean_inc(x_124);
-lean_dec(x_123);
-x_125 = lean_st_ref_take(x_6, x_124);
-x_126 = lean_ctor_get(x_125, 0);
+lean_dec(x_122);
+x_125 = lean_st_ref_get(x_6, x_124);
+x_126 = lean_ctor_get(x_125, 1);
lean_inc(x_126);
-x_127 = lean_ctor_get(x_126, 3);
-lean_inc(x_127);
-x_128 = lean_ctor_get(x_125, 1);
-lean_inc(x_128);
lean_dec(x_125);
-x_129 = lean_ctor_get(x_126, 0);
+x_127 = lean_st_ref_take(x_6, x_126);
+x_128 = lean_ctor_get(x_127, 0);
+lean_inc(x_128);
+x_129 = lean_ctor_get(x_128, 3);
lean_inc(x_129);
-x_130 = lean_ctor_get(x_126, 1);
+x_130 = lean_ctor_get(x_127, 1);
lean_inc(x_130);
-x_131 = lean_ctor_get(x_126, 2);
+lean_dec(x_127);
+x_131 = lean_ctor_get(x_128, 0);
lean_inc(x_131);
-if (lean_is_exclusive(x_126)) {
- lean_ctor_release(x_126, 0);
- lean_ctor_release(x_126, 1);
- lean_ctor_release(x_126, 2);
- lean_ctor_release(x_126, 3);
- x_132 = x_126;
-} else {
- lean_dec_ref(x_126);
- x_132 = lean_box(0);
-}
-x_133 = lean_ctor_get(x_127, 0);
+x_132 = lean_ctor_get(x_128, 1);
+lean_inc(x_132);
+x_133 = lean_ctor_get(x_128, 2);
lean_inc(x_133);
-if (lean_is_exclusive(x_127)) {
- lean_ctor_release(x_127, 0);
- x_134 = x_127;
+if (lean_is_exclusive(x_128)) {
+ lean_ctor_release(x_128, 0);
+ lean_ctor_release(x_128, 1);
+ lean_ctor_release(x_128, 2);
+ lean_ctor_release(x_128, 3);
+ x_134 = x_128;
} else {
- lean_dec_ref(x_127);
+ lean_dec_ref(x_128);
x_134 = lean_box(0);
}
+x_135 = lean_ctor_get(x_129, 0);
+lean_inc(x_135);
+if (lean_is_exclusive(x_129)) {
+ lean_ctor_release(x_129, 0);
+ x_136 = x_129;
+} else {
+ lean_dec_ref(x_129);
+ x_136 = lean_box(0);
+}
+if (lean_is_scalar(x_136)) {
+ x_137 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_137 = x_136;
+}
+lean_ctor_set(x_137, 0, x_135);
+lean_ctor_set_uint8(x_137, sizeof(void*)*1, x_39);
if (lean_is_scalar(x_134)) {
- x_135 = lean_alloc_ctor(0, 1, 1);
+ x_138 = lean_alloc_ctor(0, 4, 0);
} else {
- x_135 = x_134;
+ x_138 = x_134;
}
-lean_ctor_set(x_135, 0, x_133);
-lean_ctor_set_uint8(x_135, sizeof(void*)*1, x_17);
-if (lean_is_scalar(x_132)) {
- x_136 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_136 = x_132;
-}
-lean_ctor_set(x_136, 0, x_129);
-lean_ctor_set(x_136, 1, x_130);
-lean_ctor_set(x_136, 2, x_131);
-lean_ctor_set(x_136, 3, x_135);
-x_137 = lean_st_ref_set(x_6, x_136, x_128);
+lean_ctor_set(x_138, 0, x_131);
+lean_ctor_set(x_138, 1, x_132);
+lean_ctor_set(x_138, 2, x_133);
+lean_ctor_set(x_138, 3, x_137);
+x_139 = lean_st_ref_set(x_6, x_138, x_130);
lean_dec(x_6);
-x_138 = lean_ctor_get(x_137, 1);
-lean_inc(x_138);
-if (lean_is_exclusive(x_137)) {
- lean_ctor_release(x_137, 0);
- lean_ctor_release(x_137, 1);
- x_139 = x_137;
+x_140 = lean_ctor_get(x_139, 1);
+lean_inc(x_140);
+if (lean_is_exclusive(x_139)) {
+ lean_ctor_release(x_139, 0);
+ lean_ctor_release(x_139, 1);
+ x_141 = x_139;
} else {
- lean_dec_ref(x_137);
- x_139 = lean_box(0);
+ lean_dec_ref(x_139);
+ x_141 = lean_box(0);
}
-if (lean_is_scalar(x_139)) {
- x_140 = lean_alloc_ctor(1, 2, 0);
+if (lean_is_scalar(x_141)) {
+ x_142 = lean_alloc_ctor(0, 2, 0);
} else {
- x_140 = x_139;
- lean_ctor_set_tag(x_140, 1);
-}
-lean_ctor_set(x_140, 0, x_121);
-lean_ctor_set(x_140, 1, x_138);
-return x_140;
-}
+ x_142 = x_141;
}
+lean_ctor_set(x_142, 0, x_123);
+lean_ctor_set(x_142, 1, x_140);
+return x_142;
}
else
{
-lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; uint8_t x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151;
-x_141 = lean_ctor_get(x_19, 0);
-x_142 = lean_ctor_get(x_19, 1);
-x_143 = lean_ctor_get(x_19, 2);
+lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162;
+x_143 = lean_ctor_get(x_122, 0);
lean_inc(x_143);
-lean_inc(x_142);
-lean_inc(x_141);
-lean_dec(x_19);
-x_144 = lean_ctor_get(x_20, 0);
+x_144 = lean_ctor_get(x_122, 1);
lean_inc(x_144);
-if (lean_is_exclusive(x_20)) {
- lean_ctor_release(x_20, 0);
- x_145 = x_20;
-} else {
- lean_dec_ref(x_20);
- x_145 = lean_box(0);
-}
-x_146 = 0;
-if (lean_is_scalar(x_145)) {
- x_147 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_147 = x_145;
-}
-lean_ctor_set(x_147, 0, x_144);
-lean_ctor_set_uint8(x_147, sizeof(void*)*1, x_146);
-x_148 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_148, 0, x_141);
-lean_ctor_set(x_148, 1, x_142);
-lean_ctor_set(x_148, 2, x_143);
-lean_ctor_set(x_148, 3, x_147);
-x_149 = lean_st_ref_set(x_6, x_148, x_21);
-x_150 = lean_ctor_get(x_149, 1);
+lean_dec(x_122);
+x_145 = lean_st_ref_get(x_6, x_144);
+x_146 = lean_ctor_get(x_145, 1);
+lean_inc(x_146);
+lean_dec(x_145);
+x_147 = lean_st_ref_take(x_6, x_146);
+x_148 = lean_ctor_get(x_147, 0);
+lean_inc(x_148);
+x_149 = lean_ctor_get(x_148, 3);
+lean_inc(x_149);
+x_150 = lean_ctor_get(x_147, 1);
lean_inc(x_150);
-lean_dec(x_149);
-lean_inc(x_6);
-x_151 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_10, x_3, x_4, x_5, x_6, x_150);
-if (lean_obj_tag(x_151) == 0)
-{
-lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171;
-x_152 = lean_ctor_get(x_151, 0);
+lean_dec(x_147);
+x_151 = lean_ctor_get(x_148, 0);
+lean_inc(x_151);
+x_152 = lean_ctor_get(x_148, 1);
lean_inc(x_152);
-x_153 = lean_ctor_get(x_151, 1);
+x_153 = lean_ctor_get(x_148, 2);
lean_inc(x_153);
-lean_dec(x_151);
-x_154 = lean_st_ref_get(x_6, x_153);
-x_155 = lean_ctor_get(x_154, 1);
+if (lean_is_exclusive(x_148)) {
+ lean_ctor_release(x_148, 0);
+ lean_ctor_release(x_148, 1);
+ lean_ctor_release(x_148, 2);
+ lean_ctor_release(x_148, 3);
+ x_154 = x_148;
+} else {
+ lean_dec_ref(x_148);
+ x_154 = lean_box(0);
+}
+x_155 = lean_ctor_get(x_149, 0);
lean_inc(x_155);
-lean_dec(x_154);
-x_156 = lean_st_ref_take(x_6, x_155);
-x_157 = lean_ctor_get(x_156, 0);
-lean_inc(x_157);
-x_158 = lean_ctor_get(x_157, 3);
-lean_inc(x_158);
-x_159 = lean_ctor_get(x_156, 1);
-lean_inc(x_159);
-lean_dec(x_156);
-x_160 = lean_ctor_get(x_157, 0);
-lean_inc(x_160);
-x_161 = lean_ctor_get(x_157, 1);
-lean_inc(x_161);
-x_162 = lean_ctor_get(x_157, 2);
-lean_inc(x_162);
-if (lean_is_exclusive(x_157)) {
- lean_ctor_release(x_157, 0);
- lean_ctor_release(x_157, 1);
- lean_ctor_release(x_157, 2);
- lean_ctor_release(x_157, 3);
- x_163 = x_157;
+if (lean_is_exclusive(x_149)) {
+ lean_ctor_release(x_149, 0);
+ x_156 = x_149;
} else {
- lean_dec_ref(x_157);
- x_163 = lean_box(0);
+ lean_dec_ref(x_149);
+ x_156 = lean_box(0);
}
-x_164 = lean_ctor_get(x_158, 0);
-lean_inc(x_164);
-if (lean_is_exclusive(x_158)) {
- lean_ctor_release(x_158, 0);
- x_165 = x_158;
+if (lean_is_scalar(x_156)) {
+ x_157 = lean_alloc_ctor(0, 1, 1);
} else {
- lean_dec_ref(x_158);
- x_165 = lean_box(0);
+ x_157 = x_156;
}
-if (lean_is_scalar(x_165)) {
- x_166 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_157, 0, x_155);
+lean_ctor_set_uint8(x_157, sizeof(void*)*1, x_39);
+if (lean_is_scalar(x_154)) {
+ x_158 = lean_alloc_ctor(0, 4, 0);
} else {
- x_166 = x_165;
+ x_158 = x_154;
}
-lean_ctor_set(x_166, 0, x_164);
-lean_ctor_set_uint8(x_166, sizeof(void*)*1, x_17);
-if (lean_is_scalar(x_163)) {
- x_167 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_167 = x_163;
-}
-lean_ctor_set(x_167, 0, x_160);
-lean_ctor_set(x_167, 1, x_161);
-lean_ctor_set(x_167, 2, x_162);
-lean_ctor_set(x_167, 3, x_166);
-x_168 = lean_st_ref_set(x_6, x_167, x_159);
+lean_ctor_set(x_158, 0, x_151);
+lean_ctor_set(x_158, 1, x_152);
+lean_ctor_set(x_158, 2, x_153);
+lean_ctor_set(x_158, 3, x_157);
+x_159 = lean_st_ref_set(x_6, x_158, x_150);
lean_dec(x_6);
-x_169 = lean_ctor_get(x_168, 1);
-lean_inc(x_169);
-if (lean_is_exclusive(x_168)) {
- lean_ctor_release(x_168, 0);
- lean_ctor_release(x_168, 1);
- x_170 = x_168;
+x_160 = lean_ctor_get(x_159, 1);
+lean_inc(x_160);
+if (lean_is_exclusive(x_159)) {
+ lean_ctor_release(x_159, 0);
+ lean_ctor_release(x_159, 1);
+ x_161 = x_159;
} else {
- lean_dec_ref(x_168);
- x_170 = lean_box(0);
+ lean_dec_ref(x_159);
+ x_161 = lean_box(0);
}
-if (lean_is_scalar(x_170)) {
- x_171 = lean_alloc_ctor(0, 2, 0);
+if (lean_is_scalar(x_161)) {
+ x_162 = lean_alloc_ctor(1, 2, 0);
} else {
- x_171 = x_170;
+ x_162 = x_161;
+ lean_ctor_set_tag(x_162, 1);
+}
+lean_ctor_set(x_162, 0, x_143);
+lean_ctor_set(x_162, 1, x_160);
+return x_162;
+}
}
-lean_ctor_set(x_171, 0, x_152);
-lean_ctor_set(x_171, 1, x_169);
-return x_171;
}
else
{
-lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191;
-x_172 = lean_ctor_get(x_151, 0);
-lean_inc(x_172);
-x_173 = lean_ctor_get(x_151, 1);
-lean_inc(x_173);
-lean_dec(x_151);
-x_174 = lean_st_ref_get(x_6, x_173);
-x_175 = lean_ctor_get(x_174, 1);
-lean_inc(x_175);
-lean_dec(x_174);
-x_176 = lean_st_ref_take(x_6, x_175);
-x_177 = lean_ctor_get(x_176, 0);
-lean_inc(x_177);
-x_178 = lean_ctor_get(x_177, 3);
-lean_inc(x_178);
-x_179 = lean_ctor_get(x_176, 1);
-lean_inc(x_179);
-lean_dec(x_176);
-x_180 = lean_ctor_get(x_177, 0);
-lean_inc(x_180);
-x_181 = lean_ctor_get(x_177, 1);
-lean_inc(x_181);
-x_182 = lean_ctor_get(x_177, 2);
-lean_inc(x_182);
-if (lean_is_exclusive(x_177)) {
- lean_ctor_release(x_177, 0);
- lean_ctor_release(x_177, 1);
- lean_ctor_release(x_177, 2);
- lean_ctor_release(x_177, 3);
- x_183 = x_177;
+lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; uint8_t x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173;
+x_163 = lean_ctor_get(x_41, 0);
+x_164 = lean_ctor_get(x_41, 1);
+x_165 = lean_ctor_get(x_41, 2);
+lean_inc(x_165);
+lean_inc(x_164);
+lean_inc(x_163);
+lean_dec(x_41);
+x_166 = lean_ctor_get(x_42, 0);
+lean_inc(x_166);
+if (lean_is_exclusive(x_42)) {
+ lean_ctor_release(x_42, 0);
+ x_167 = x_42;
} else {
- lean_dec_ref(x_177);
- x_183 = lean_box(0);
+ lean_dec_ref(x_42);
+ x_167 = lean_box(0);
}
-x_184 = lean_ctor_get(x_178, 0);
-lean_inc(x_184);
-if (lean_is_exclusive(x_178)) {
- lean_ctor_release(x_178, 0);
- x_185 = x_178;
+x_168 = 0;
+if (lean_is_scalar(x_167)) {
+ x_169 = lean_alloc_ctor(0, 1, 1);
} else {
- lean_dec_ref(x_178);
+ x_169 = x_167;
+}
+lean_ctor_set(x_169, 0, x_166);
+lean_ctor_set_uint8(x_169, sizeof(void*)*1, x_168);
+x_170 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_170, 0, x_163);
+lean_ctor_set(x_170, 1, x_164);
+lean_ctor_set(x_170, 2, x_165);
+lean_ctor_set(x_170, 3, x_169);
+x_171 = lean_st_ref_set(x_6, x_170, x_43);
+x_172 = lean_ctor_get(x_171, 1);
+lean_inc(x_172);
+lean_dec(x_171);
+lean_inc(x_6);
+x_173 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_10, x_3, x_4, x_5, x_6, x_172);
+if (lean_obj_tag(x_173) == 0)
+{
+lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193;
+x_174 = lean_ctor_get(x_173, 0);
+lean_inc(x_174);
+x_175 = lean_ctor_get(x_173, 1);
+lean_inc(x_175);
+lean_dec(x_173);
+x_176 = lean_st_ref_get(x_6, x_175);
+x_177 = lean_ctor_get(x_176, 1);
+lean_inc(x_177);
+lean_dec(x_176);
+x_178 = lean_st_ref_take(x_6, x_177);
+x_179 = lean_ctor_get(x_178, 0);
+lean_inc(x_179);
+x_180 = lean_ctor_get(x_179, 3);
+lean_inc(x_180);
+x_181 = lean_ctor_get(x_178, 1);
+lean_inc(x_181);
+lean_dec(x_178);
+x_182 = lean_ctor_get(x_179, 0);
+lean_inc(x_182);
+x_183 = lean_ctor_get(x_179, 1);
+lean_inc(x_183);
+x_184 = lean_ctor_get(x_179, 2);
+lean_inc(x_184);
+if (lean_is_exclusive(x_179)) {
+ lean_ctor_release(x_179, 0);
+ lean_ctor_release(x_179, 1);
+ lean_ctor_release(x_179, 2);
+ lean_ctor_release(x_179, 3);
+ x_185 = x_179;
+} else {
+ lean_dec_ref(x_179);
x_185 = lean_box(0);
}
+x_186 = lean_ctor_get(x_180, 0);
+lean_inc(x_186);
+if (lean_is_exclusive(x_180)) {
+ lean_ctor_release(x_180, 0);
+ x_187 = x_180;
+} else {
+ lean_dec_ref(x_180);
+ x_187 = lean_box(0);
+}
+if (lean_is_scalar(x_187)) {
+ x_188 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_188 = x_187;
+}
+lean_ctor_set(x_188, 0, x_186);
+lean_ctor_set_uint8(x_188, sizeof(void*)*1, x_39);
if (lean_is_scalar(x_185)) {
- x_186 = lean_alloc_ctor(0, 1, 1);
+ x_189 = lean_alloc_ctor(0, 4, 0);
} else {
- x_186 = x_185;
+ x_189 = x_185;
}
-lean_ctor_set(x_186, 0, x_184);
-lean_ctor_set_uint8(x_186, sizeof(void*)*1, x_17);
-if (lean_is_scalar(x_183)) {
- x_187 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_187 = x_183;
-}
-lean_ctor_set(x_187, 0, x_180);
-lean_ctor_set(x_187, 1, x_181);
-lean_ctor_set(x_187, 2, x_182);
-lean_ctor_set(x_187, 3, x_186);
-x_188 = lean_st_ref_set(x_6, x_187, x_179);
+lean_ctor_set(x_189, 0, x_182);
+lean_ctor_set(x_189, 1, x_183);
+lean_ctor_set(x_189, 2, x_184);
+lean_ctor_set(x_189, 3, x_188);
+x_190 = lean_st_ref_set(x_6, x_189, x_181);
lean_dec(x_6);
-x_189 = lean_ctor_get(x_188, 1);
-lean_inc(x_189);
-if (lean_is_exclusive(x_188)) {
- lean_ctor_release(x_188, 0);
- lean_ctor_release(x_188, 1);
- x_190 = x_188;
+x_191 = lean_ctor_get(x_190, 1);
+lean_inc(x_191);
+if (lean_is_exclusive(x_190)) {
+ lean_ctor_release(x_190, 0);
+ lean_ctor_release(x_190, 1);
+ x_192 = x_190;
} else {
- lean_dec_ref(x_188);
- x_190 = lean_box(0);
+ lean_dec_ref(x_190);
+ x_192 = lean_box(0);
}
-if (lean_is_scalar(x_190)) {
- x_191 = lean_alloc_ctor(1, 2, 0);
+if (lean_is_scalar(x_192)) {
+ x_193 = lean_alloc_ctor(0, 2, 0);
} else {
- x_191 = x_190;
- lean_ctor_set_tag(x_191, 1);
-}
-lean_ctor_set(x_191, 0, x_172);
-lean_ctor_set(x_191, 1, x_189);
-return x_191;
-}
+ x_193 = x_192;
}
+lean_ctor_set(x_193, 0, x_174);
+lean_ctor_set(x_193, 1, x_191);
+return x_193;
}
else
{
-lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196;
-x_192 = lean_ctor_get(x_5, 3);
-lean_inc(x_192);
-x_193 = l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_isLevelDefEq___spec__3___rarg(x_6, x_12);
-x_194 = lean_ctor_get(x_193, 0);
+lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213;
+x_194 = lean_ctor_get(x_173, 0);
lean_inc(x_194);
-x_195 = lean_ctor_get(x_193, 1);
+x_195 = lean_ctor_get(x_173, 1);
lean_inc(x_195);
-lean_dec(x_193);
-lean_inc(x_6);
-lean_inc(x_5);
-lean_inc(x_4);
-lean_inc(x_3);
-x_196 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_10, x_3, x_4, x_5, x_6, x_195);
-if (lean_obj_tag(x_196) == 0)
-{
-lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; uint8_t x_201;
-x_197 = lean_ctor_get(x_196, 0);
+lean_dec(x_173);
+x_196 = lean_st_ref_get(x_6, x_195);
+x_197 = lean_ctor_get(x_196, 1);
lean_inc(x_197);
-x_198 = lean_ctor_get(x_196, 1);
-lean_inc(x_198);
lean_dec(x_196);
-x_199 = l_Lean_Meta_mkAppM___rarg___closed__2;
-x_200 = l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_isLevelDefEq___spec__4(x_194, x_199, x_192, x_3, x_4, x_5, x_6, x_198);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_201 = !lean_is_exclusive(x_200);
-if (x_201 == 0)
-{
-lean_object* x_202;
-x_202 = lean_ctor_get(x_200, 0);
-lean_dec(x_202);
-lean_ctor_set(x_200, 0, x_197);
-return x_200;
-}
-else
-{
-lean_object* x_203; lean_object* x_204;
-x_203 = lean_ctor_get(x_200, 1);
+x_198 = lean_st_ref_take(x_6, x_197);
+x_199 = lean_ctor_get(x_198, 0);
+lean_inc(x_199);
+x_200 = lean_ctor_get(x_199, 3);
+lean_inc(x_200);
+x_201 = lean_ctor_get(x_198, 1);
+lean_inc(x_201);
+lean_dec(x_198);
+x_202 = lean_ctor_get(x_199, 0);
+lean_inc(x_202);
+x_203 = lean_ctor_get(x_199, 1);
lean_inc(x_203);
-lean_dec(x_200);
-x_204 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_204, 0, x_197);
-lean_ctor_set(x_204, 1, x_203);
-return x_204;
+x_204 = lean_ctor_get(x_199, 2);
+lean_inc(x_204);
+if (lean_is_exclusive(x_199)) {
+ lean_ctor_release(x_199, 0);
+ lean_ctor_release(x_199, 1);
+ lean_ctor_release(x_199, 2);
+ lean_ctor_release(x_199, 3);
+ x_205 = x_199;
+} else {
+ lean_dec_ref(x_199);
+ x_205 = lean_box(0);
}
-}
-else
-{
-lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; uint8_t x_209;
-x_205 = lean_ctor_get(x_196, 0);
-lean_inc(x_205);
-x_206 = lean_ctor_get(x_196, 1);
+x_206 = lean_ctor_get(x_200, 0);
lean_inc(x_206);
-lean_dec(x_196);
-x_207 = l_Lean_Meta_mkAppM___rarg___closed__2;
-x_208 = l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_isLevelDefEq___spec__4(x_194, x_207, x_192, x_3, x_4, x_5, x_6, x_206);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_209 = !lean_is_exclusive(x_208);
-if (x_209 == 0)
-{
-lean_object* x_210;
-x_210 = lean_ctor_get(x_208, 0);
-lean_dec(x_210);
-lean_ctor_set_tag(x_208, 1);
-lean_ctor_set(x_208, 0, x_205);
-return x_208;
+if (lean_is_exclusive(x_200)) {
+ lean_ctor_release(x_200, 0);
+ x_207 = x_200;
+} else {
+ lean_dec_ref(x_200);
+ x_207 = lean_box(0);
}
-else
-{
-lean_object* x_211; lean_object* x_212;
-x_211 = lean_ctor_get(x_208, 1);
+if (lean_is_scalar(x_207)) {
+ x_208 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_208 = x_207;
+}
+lean_ctor_set(x_208, 0, x_206);
+lean_ctor_set_uint8(x_208, sizeof(void*)*1, x_39);
+if (lean_is_scalar(x_205)) {
+ x_209 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_209 = x_205;
+}
+lean_ctor_set(x_209, 0, x_202);
+lean_ctor_set(x_209, 1, x_203);
+lean_ctor_set(x_209, 2, x_204);
+lean_ctor_set(x_209, 3, x_208);
+x_210 = lean_st_ref_set(x_6, x_209, x_201);
+lean_dec(x_6);
+x_211 = lean_ctor_get(x_210, 1);
lean_inc(x_211);
-lean_dec(x_208);
-x_212 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_212, 0, x_205);
-lean_ctor_set(x_212, 1, x_211);
-return x_212;
+if (lean_is_exclusive(x_210)) {
+ lean_ctor_release(x_210, 0);
+ lean_ctor_release(x_210, 1);
+ x_212 = x_210;
+} else {
+ lean_dec_ref(x_210);
+ x_212 = lean_box(0);
+}
+if (lean_is_scalar(x_212)) {
+ x_213 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_213 = x_212;
+ lean_ctor_set_tag(x_213, 1);
+}
+lean_ctor_set(x_213, 0, x_194);
+lean_ctor_set(x_213, 1, x_211);
+return x_213;
+}
}
}
}
diff --git a/stage0/stdlib/Lean/Meta/Basic.c b/stage0/stdlib/Lean/Meta/Basic.c
index d850d98231..53168d4df4 100644
--- a/stage0/stdlib/Lean/Meta/Basic.c
+++ b/stage0/stdlib/Lean/Meta/Basic.c
@@ -1359,7 +1359,6 @@ lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withNewLocalInstancesImp__
lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_1052____lambda__1___closed__1;
lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withNewLocalInstancesImp___at___private_Lean_Meta_Basic_0__Lean_Meta_forallTelescopeImp___spec__24___rarg___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*);
lean_object* l_Lean_Meta_withMVarContext___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-extern lean_object* l_Lean_TraceState_Inhabited___closed__1;
lean_object* l_Lean_Meta_inferType(lean_object*);
lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withNewLocalInstancesImp___at___private_Lean_Meta_Basic_0__Lean_Meta_forallBoundedTelescopeImp___spec__36___rarg___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*);
lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withNewLocalInstancesImp___at___private_Lean_Meta_Basic_0__Lean_Meta_forallBoundedTelescopeImp___spec__30___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -1700,6 +1699,7 @@ lean_object* l_Lean_Meta_forallBoundedTelescope___rarg(lean_object*, lean_object
extern lean_object* l_Lean_MetavarContext_MkBinding_mkBinding___closed__1;
lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withNewLocalInstancesImp___at___private_Lean_Meta_Basic_0__Lean_Meta_forallTelescopeReducingImp___spec__102___rarg(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_Meta_Basic_0__Lean_Meta_withNewLocalInstancesImp___at___private_Lean_Meta_Basic_0__Lean_Meta_forallTelescopeReducingImp___spec__80___rarg___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*);
+extern lean_object* l_Lean_TraceState_Lean_Util_Trace___instance__2___closed__1;
lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withNewLocalInstancesImp___at___private_Lean_Meta_Basic_0__Lean_Meta_forallTelescopeImp___spec__30___rarg___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*);
lean_object* l_Lean_Meta_mkFreshExprMVar___at_Lean_Meta_mkFreshTypeMVar___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkArrow___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -3224,7 +3224,7 @@ lean_ctor_set(x_32, 2, x_29);
lean_ctor_set(x_32, 3, x_31);
x_33 = l_Lean_Unhygienic_run___rarg___closed__1;
x_34 = l_Lean_NameGenerator_Inhabited___closed__3;
-x_35 = l_Lean_TraceState_Inhabited___closed__1;
+x_35 = l_Lean_TraceState_Lean_Util_Trace___instance__2___closed__1;
x_36 = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(x_36, 0, x_2);
lean_ctor_set(x_36, 1, x_33);
diff --git a/stage0/stdlib/Lean/Meta/Check.c b/stage0/stdlib/Lean/Meta/Check.c
index 6698ae9edd..56cb0b50a5 100644
--- a/stage0/stdlib/Lean/Meta/Check.c
+++ b/stage0/stdlib/Lean/Meta/Check.c
@@ -31,7 +31,6 @@ lean_object* l___private_Lean_Meta_Check_0__Lean_Meta_checkApp___closed__9;
uint8_t l_Lean_checkTraceOption(lean_object*, lean_object*);
lean_object* lean_st_ref_get(lean_object*, lean_object*);
extern lean_object* l_Std_PersistentArray_empty___closed__1;
-lean_object* l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_check___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Check_0__Lean_Meta_checkForall___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_forMAux___main___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_throwFunctionExpected___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -43,13 +42,13 @@ lean_object* l_Lean_Meta_isTypeCorrect(lean_object*, lean_object*, lean_object*,
lean_object* l_Lean_Meta_check___closed__2;
lean_object* l___private_Lean_Meta_Check_0__Lean_Meta_checkLambdaLet___at___private_Lean_Meta_Check_0__Lean_Meta_checkAux___spec__3___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_whnf___rarg(lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_check___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Check_0__Lean_Meta_checkApp___closed__8;
lean_object* l___private_Lean_Meta_Check_0__Lean_Meta_getFunctionDomain_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* lean_nat_add(lean_object*, lean_object*);
extern lean_object* l_Lean_KernelException_toMessageData___closed__37;
extern lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withNewLocalInstancesImp___rarg___closed__1;
lean_object* l_Array_forMAux___main___at___private_Lean_Meta_Check_0__Lean_Meta_checkAux___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Array_umapMAux___main___at___private_Lean_Util_Trace_0__Lean_addNode___spec__1(lean_object*, lean_object*);
lean_object* l_Array_forMAux___main___at___private_Lean_Meta_Check_0__Lean_Meta_checkAux___spec__4___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Check_0__Lean_Meta_checkLambdaLet___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Check_0__Lean_Meta_checkAux_match__1(lean_object*);
@@ -62,7 +61,6 @@ lean_object* l_Lean_Meta_throwLetTypeMismatchMessage(lean_object*);
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
lean_object* l_Lean_Meta_throwAppTypeMismatch___rarg___lambda__1___closed__2;
extern lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withNewLocalInstancesImp___rarg___closed__4;
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_check___spec__1(lean_object*, lean_object*, lean_object*);
lean_object* lean_st_ref_take(lean_object*, lean_object*);
lean_object* l_Lean_Meta_throwAppTypeMismatch___rarg___lambda__1___closed__1;
extern lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withNewLocalInstancesImp___rarg___closed__2;
@@ -83,6 +81,7 @@ lean_object* l___private_Lean_Meta_Check_0__Lean_Meta_checkLambdaLet(lean_object
extern lean_object* l_Lean_MessageData_nil___closed__1;
lean_object* l_Lean_Meta_throwAppTypeMismatch(lean_object*, lean_object*);
lean_object* lean_name_mk_string(lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_check___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_517____closed__2;
lean_object* l___private_Lean_Meta_Check_0__Lean_Meta_checkApp___closed__10;
lean_object* l_Lean_getConstInfo___at_Lean_Meta_getParamNamesImp___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -97,15 +96,18 @@ extern lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withNewLocalInstanc
lean_object* l___private_Lean_Meta_Check_0__Lean_Meta_checkLambdaLet___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Check_0__Lean_Meta_checkApp___closed__7;
lean_object* l___private_Lean_Meta_Check_0__Lean_Meta_checkApp___at___private_Lean_Meta_Check_0__Lean_Meta_checkAux___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_check___spec__1(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Check_0__Lean_Meta_checkLambdaLet___at___private_Lean_Meta_Check_0__Lean_Meta_checkAux___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_check___spec__1___rarg___boxed(lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Check_0__Lean_Meta_getFunctionDomain(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_throwAppTypeMismatch___rarg___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* l_Lean_LocalDecl_type(lean_object*);
lean_object* l_Lean_ConstantInfo_lparams(lean_object*);
lean_object* l___private_Lean_Meta_Check_0__Lean_Meta_checkForall___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_check___spec__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_lambdaLetTelescope___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_PersistentArray_push___rarg(lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_check___spec__1___rarg(lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_check___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_ReaderT_MonadLift___closed__1;
lean_object* l___private_Lean_Meta_Check_0__Lean_Meta_checkApp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_forMAux___main___at___private_Lean_Meta_Check_0__Lean_Meta_checkAux___spec__4___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -117,9 +119,7 @@ lean_object* lean_panic_fn(lean_object*, lean_object*);
extern lean_object* l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
lean_object* l___private_Lean_Meta_Check_0__Lean_Meta_checkApp_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_EIO_MonadExceptOf(lean_object*);
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_check___spec__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_isExprDefEq___rarg(lean_object*, lean_object*, lean_object*);
-lean_object* l_Array_umapMAux___main___at___private_Lean_Util_Trace_4__addNode___spec__1(lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Check_0__Lean_Meta_getFunctionDomain_match__1(lean_object*);
lean_object* l___private_Lean_Meta_Check_0__Lean_Meta_checkLambdaLet___at___private_Lean_Meta_Check_0__Lean_Meta_checkAux___spec__3___closed__1;
lean_object* l_Lean_throwError___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -128,33 +128,33 @@ lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_throwAppTypeMismatch___rarg___lambda__1___closed__3;
lean_object* l___private_Lean_Meta_Check_0__Lean_Meta_checkLambdaLet_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_throwLetTypeMismatchMessage___rarg___closed__7;
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_check___spec__1___rarg(lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Check_0__Lean_Meta_checkApp___closed__2;
+lean_object* l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_check___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_getFVarLocalDecl___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Meta_throwLetTypeMismatchMessage___rarg___closed__5;
lean_object* l_Lean_addErrorMessageContextDefault___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_StateRefT_x27_MonadExceptOf___rarg(lean_object*);
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Check_0__Lean_Meta_checkLambdaLet___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_MonadCacheT_Lean_Util_MonadCache___instance__4___closed__1;
lean_object* l_Array_forMAux___main___at___private_Lean_Meta_Check_0__Lean_Meta_checkAux___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_throwLetTypeMismatchMessage___rarg___closed__3;
lean_object* l___private_Lean_Meta_Check_0__Lean_Meta_checkApp___closed__6;
lean_object* l_Array_forMAux___main___at___private_Lean_Meta_Check_0__Lean_Meta_checkAux___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Check_0__Lean_Meta_ensureType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_check___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_throwLetTypeMismatchMessage___rarg___closed__1;
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_check___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Check_0__Lean_Meta_checkConstant(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_ReaderT_MonadExceptOf___rarg(lean_object*);
lean_object* l_Lean_Meta_throwAppTypeMismatch___at___private_Lean_Meta_Check_0__Lean_Meta_checkAux___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_throwLetTypeMismatchMessage___rarg___closed__2;
-lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_ReaderT_MonadFunctor___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Meta_Lean_Meta_Basic___instance__7;
lean_object* l_unsafeCast(lean_object*, lean_object*, lean_object*);
lean_object* lean_local_ctx_find(lean_object*, lean_object*);
extern lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_isClassQuick_x3f___closed__1;
lean_object* l_Lean_Meta_throwIncorrectNumberOfLevels___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_throwLetTypeMismatchMessage___rarg___closed__9;
lean_object* l_Lean_indentExpr(lean_object*);
lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Check___hyg_943_(lean_object*);
@@ -162,10 +162,10 @@ lean_object* l_Lean_Meta_throwLetTypeMismatchMessage___rarg___closed__4;
lean_object* l___private_Lean_Meta_Check_0__Lean_Meta_checkAux_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Check_0__Lean_Meta_checkApp___closed__1;
lean_object* l_Lean_Meta_throwAppTypeMismatch___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_check___spec__1___rarg___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Meta_throwLetTypeMismatchMessage___rarg___closed__8;
lean_object* l___private_Lean_Meta_Check_0__Lean_Meta_checkLambdaLet___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Init_Util_2__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_check___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_check(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Exception_toMessageData(lean_object*);
uint8_t lean_nat_dec_lt(lean_object*, lean_object*);
@@ -3670,7 +3670,7 @@ lean_dec(x_1);
return x_8;
}
}
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_check___spec__1___rarg(lean_object* x_1, lean_object* x_2) {
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_check___spec__1___rarg(lean_object* x_1, lean_object* x_2) {
_start:
{
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; uint8_t x_12;
@@ -3814,15 +3814,15 @@ return x_40;
}
}
}
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_check___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_check___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
-x_4 = lean_alloc_closure((void*)(l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_check___spec__1___rarg___boxed), 2, 0);
+x_4 = lean_alloc_closure((void*)(l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_check___spec__1___rarg___boxed), 2, 0);
return x_4;
}
}
-lean_object* l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_check___spec__2(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* l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_check___spec__2(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:
{
lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13;
@@ -3853,7 +3853,7 @@ x_18 = l_Std_PersistentArray_toArray___rarg(x_16);
lean_dec(x_16);
x_19 = x_18;
x_20 = lean_unsigned_to_nat(0u);
-x_21 = l_Array_umapMAux___main___at___private_Lean_Util_Trace_4__addNode___spec__1(x_20, x_19);
+x_21 = l_Array_umapMAux___main___at___private_Lean_Util_Trace_0__Lean_addNode___spec__1(x_20, x_19);
x_22 = x_21;
x_23 = lean_alloc_ctor(12, 1, 0);
lean_ctor_set(x_23, 0, x_22);
@@ -3936,7 +3936,7 @@ x_44 = l_Std_PersistentArray_toArray___rarg(x_42);
lean_dec(x_42);
x_45 = x_44;
x_46 = lean_unsigned_to_nat(0u);
-x_47 = l_Array_umapMAux___main___at___private_Lean_Util_Trace_4__addNode___spec__1(x_46, x_45);
+x_47 = l_Array_umapMAux___main___at___private_Lean_Util_Trace_0__Lean_addNode___spec__1(x_46, x_45);
x_48 = x_47;
x_49 = lean_alloc_ctor(12, 1, 0);
lean_ctor_set(x_49, 0, x_48);
@@ -4033,7 +4033,7 @@ x_72 = l_Std_PersistentArray_toArray___rarg(x_69);
lean_dec(x_69);
x_73 = x_72;
x_74 = lean_unsigned_to_nat(0u);
-x_75 = l_Array_umapMAux___main___at___private_Lean_Util_Trace_4__addNode___spec__1(x_74, x_73);
+x_75 = l_Array_umapMAux___main___at___private_Lean_Util_Trace_0__Lean_addNode___spec__1(x_74, x_73);
x_76 = x_75;
x_77 = lean_alloc_ctor(12, 1, 0);
lean_ctor_set(x_77, 0, x_76);
@@ -4119,7 +4119,7 @@ return x_94;
}
}
}
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_check___spec__3(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* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_check___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
lean_object* x_7; uint8_t x_8; lean_object* x_9; lean_object* x_10;
@@ -4153,253 +4153,280 @@ return x_3;
lean_object* l_Lean_Meta_check(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
-uint8_t x_7; lean_object* x_8; lean_object* x_380; lean_object* x_381; lean_object* x_382; uint8_t x_383;
-x_380 = lean_st_ref_get(x_5, x_6);
-x_381 = lean_ctor_get(x_380, 0);
-lean_inc(x_381);
-x_382 = lean_ctor_get(x_381, 3);
-lean_inc(x_382);
-lean_dec(x_381);
-x_383 = lean_ctor_get_uint8(x_382, sizeof(void*)*1);
-lean_dec(x_382);
-if (x_383 == 0)
+uint8_t x_7; lean_object* x_8; lean_object* x_384; lean_object* x_385; lean_object* x_386; uint8_t x_387;
+x_384 = lean_st_ref_get(x_5, x_6);
+x_385 = lean_ctor_get(x_384, 0);
+lean_inc(x_385);
+x_386 = lean_ctor_get(x_385, 3);
+lean_inc(x_386);
+lean_dec(x_385);
+x_387 = lean_ctor_get_uint8(x_386, sizeof(void*)*1);
+lean_dec(x_386);
+if (x_387 == 0)
{
-lean_object* x_384; uint8_t x_385;
-x_384 = lean_ctor_get(x_380, 1);
-lean_inc(x_384);
-lean_dec(x_380);
-x_385 = 0;
-x_7 = x_385;
-x_8 = x_384;
-goto block_379;
+lean_object* x_388; uint8_t x_389;
+x_388 = lean_ctor_get(x_384, 1);
+lean_inc(x_388);
+lean_dec(x_384);
+x_389 = 0;
+x_7 = x_389;
+x_8 = x_388;
+goto block_383;
}
else
{
-lean_object* x_386; lean_object* x_387; lean_object* x_388; lean_object* x_389; lean_object* x_390; uint8_t x_391;
-x_386 = lean_ctor_get(x_380, 1);
-lean_inc(x_386);
-lean_dec(x_380);
-x_387 = l_Lean_Meta_check___closed__2;
-x_388 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_check___spec__3(x_387, x_2, x_3, x_4, x_5, x_386);
-x_389 = lean_ctor_get(x_388, 0);
-lean_inc(x_389);
-x_390 = lean_ctor_get(x_388, 1);
+lean_object* x_390; lean_object* x_391; lean_object* x_392; lean_object* x_393; lean_object* x_394; uint8_t x_395;
+x_390 = lean_ctor_get(x_384, 1);
lean_inc(x_390);
-lean_dec(x_388);
-x_391 = lean_unbox(x_389);
-lean_dec(x_389);
-x_7 = x_391;
-x_8 = x_390;
-goto block_379;
+lean_dec(x_384);
+x_391 = l_Lean_Meta_check___closed__2;
+x_392 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_check___spec__3(x_391, x_2, x_3, x_4, x_5, x_390);
+x_393 = lean_ctor_get(x_392, 0);
+lean_inc(x_393);
+x_394 = lean_ctor_get(x_392, 1);
+lean_inc(x_394);
+lean_dec(x_392);
+x_395 = lean_unbox(x_393);
+lean_dec(x_393);
+x_7 = x_395;
+x_8 = x_394;
+goto block_383;
}
-block_379:
+block_383:
{
+uint8_t x_9;
if (x_7 == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18;
-x_9 = lean_st_ref_get(x_5, x_8);
-x_10 = lean_ctor_get(x_9, 0);
+uint8_t x_381;
+x_381 = 1;
+x_9 = x_381;
+goto block_380;
+}
+else
+{
+uint8_t x_382;
+x_382 = 0;
+x_9 = x_382;
+goto block_380;
+}
+block_380:
+{
+if (x_9 == 0)
+{
+lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t x_17;
+x_10 = lean_ctor_get(x_4, 3);
lean_inc(x_10);
-x_11 = lean_ctor_get(x_10, 3);
-lean_inc(x_11);
-lean_dec(x_10);
-x_12 = lean_ctor_get(x_9, 1);
+x_11 = l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_check___spec__1___rarg(x_5, x_8);
+x_12 = lean_ctor_get(x_2, 0);
lean_inc(x_12);
-lean_dec(x_9);
-x_13 = lean_ctor_get_uint8(x_11, sizeof(void*)*1);
+x_13 = lean_ctor_get(x_11, 0);
+lean_inc(x_13);
+x_14 = lean_ctor_get(x_11, 1);
+lean_inc(x_14);
lean_dec(x_11);
-x_14 = lean_st_ref_take(x_5, x_12);
-x_15 = lean_ctor_get(x_14, 0);
+x_15 = lean_ctor_get(x_2, 1);
lean_inc(x_15);
-x_16 = lean_ctor_get(x_15, 3);
+x_16 = lean_ctor_get(x_2, 2);
lean_inc(x_16);
-x_17 = lean_ctor_get(x_14, 1);
-lean_inc(x_17);
-lean_dec(x_14);
-x_18 = !lean_is_exclusive(x_15);
-if (x_18 == 0)
+x_17 = !lean_is_exclusive(x_12);
+if (x_17 == 0)
{
-lean_object* x_19; uint8_t x_20;
-x_19 = lean_ctor_get(x_15, 3);
-lean_dec(x_19);
-x_20 = !lean_is_exclusive(x_16);
-if (x_20 == 0)
+uint8_t x_18; lean_object* x_19; lean_object* x_20;
+x_18 = 0;
+lean_ctor_set_uint8(x_12, 5, x_18);
+x_19 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_19, 0, x_12);
+lean_ctor_set(x_19, 1, x_15);
+lean_ctor_set(x_19, 2, x_16);
+lean_inc(x_5);
+lean_inc(x_4);
+lean_inc(x_3);
+x_20 = l___private_Lean_Meta_Check_0__Lean_Meta_checkAux(x_1, x_19, x_3, x_4, x_5, x_14);
+if (lean_obj_tag(x_20) == 0)
{
-uint8_t x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; uint8_t x_25;
-x_21 = 0;
-lean_ctor_set_uint8(x_16, sizeof(void*)*1, x_21);
-x_22 = lean_st_ref_set(x_5, x_15, x_17);
-x_23 = lean_ctor_get(x_2, 0);
-lean_inc(x_23);
-x_24 = lean_ctor_get(x_22, 1);
-lean_inc(x_24);
-lean_dec(x_22);
-x_25 = !lean_is_exclusive(x_2);
+lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; uint8_t x_25;
+x_21 = lean_ctor_get(x_20, 0);
+lean_inc(x_21);
+x_22 = lean_ctor_get(x_20, 1);
+lean_inc(x_22);
+lean_dec(x_20);
+x_23 = l_Lean_Meta_check___closed__2;
+x_24 = l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_check___spec__2(x_13, x_23, x_10, x_2, x_3, x_4, x_5, x_22);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+x_25 = !lean_is_exclusive(x_24);
if (x_25 == 0)
{
-lean_object* x_26; uint8_t x_27;
-x_26 = lean_ctor_get(x_2, 0);
+lean_object* x_26;
+x_26 = lean_ctor_get(x_24, 0);
lean_dec(x_26);
-x_27 = !lean_is_exclusive(x_23);
-if (x_27 == 0)
+lean_ctor_set(x_24, 0, x_21);
+return x_24;
+}
+else
{
-uint8_t x_28; lean_object* x_29;
-x_28 = 0;
-lean_ctor_set_uint8(x_23, 5, x_28);
-lean_inc(x_5);
-x_29 = l___private_Lean_Meta_Check_0__Lean_Meta_checkAux(x_1, x_2, x_3, x_4, x_5, x_24);
-if (lean_obj_tag(x_29) == 0)
+lean_object* x_27; lean_object* x_28;
+x_27 = lean_ctor_get(x_24, 1);
+lean_inc(x_27);
+lean_dec(x_24);
+x_28 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_28, 0, x_21);
+lean_ctor_set(x_28, 1, x_27);
+return x_28;
+}
+}
+else
{
-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; uint8_t x_38;
-x_30 = lean_ctor_get(x_29, 0);
+lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; uint8_t x_33;
+x_29 = lean_ctor_get(x_20, 0);
+lean_inc(x_29);
+x_30 = lean_ctor_get(x_20, 1);
lean_inc(x_30);
-x_31 = lean_ctor_get(x_29, 1);
-lean_inc(x_31);
-lean_dec(x_29);
-x_32 = lean_st_ref_get(x_5, x_31);
-x_33 = lean_ctor_get(x_32, 1);
-lean_inc(x_33);
-lean_dec(x_32);
-x_34 = lean_st_ref_take(x_5, x_33);
-x_35 = lean_ctor_get(x_34, 0);
-lean_inc(x_35);
-x_36 = lean_ctor_get(x_35, 3);
-lean_inc(x_36);
-x_37 = lean_ctor_get(x_34, 1);
-lean_inc(x_37);
+lean_dec(x_20);
+x_31 = l_Lean_Meta_check___closed__2;
+x_32 = l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_check___spec__2(x_13, x_31, x_10, x_2, x_3, x_4, x_5, x_30);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+x_33 = !lean_is_exclusive(x_32);
+if (x_33 == 0)
+{
+lean_object* x_34;
+x_34 = lean_ctor_get(x_32, 0);
lean_dec(x_34);
-x_38 = !lean_is_exclusive(x_35);
-if (x_38 == 0)
-{
-lean_object* x_39; uint8_t x_40;
-x_39 = lean_ctor_get(x_35, 3);
-lean_dec(x_39);
-x_40 = !lean_is_exclusive(x_36);
-if (x_40 == 0)
-{
-lean_object* x_41; uint8_t x_42;
-lean_ctor_set_uint8(x_36, sizeof(void*)*1, x_13);
-x_41 = lean_st_ref_set(x_5, x_35, x_37);
-lean_dec(x_5);
-x_42 = !lean_is_exclusive(x_41);
-if (x_42 == 0)
-{
-lean_object* x_43;
-x_43 = lean_ctor_get(x_41, 0);
-lean_dec(x_43);
-lean_ctor_set(x_41, 0, x_30);
-return x_41;
+lean_ctor_set_tag(x_32, 1);
+lean_ctor_set(x_32, 0, x_29);
+return x_32;
}
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(0, 2, 0);
-lean_ctor_set(x_45, 0, x_30);
-lean_ctor_set(x_45, 1, x_44);
-return x_45;
+lean_object* x_35; lean_object* x_36;
+x_35 = lean_ctor_get(x_32, 1);
+lean_inc(x_35);
+lean_dec(x_32);
+x_36 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_36, 0, x_29);
+lean_ctor_set(x_36, 1, x_35);
+return x_36;
+}
}
}
else
{
-lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51;
-x_46 = lean_ctor_get(x_36, 0);
-lean_inc(x_46);
-lean_dec(x_36);
-x_47 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_47, 0, x_46);
-lean_ctor_set_uint8(x_47, sizeof(void*)*1, x_13);
-lean_ctor_set(x_35, 3, x_47);
-x_48 = lean_st_ref_set(x_5, x_35, x_37);
-lean_dec(x_5);
-x_49 = lean_ctor_get(x_48, 1);
+uint8_t x_37; uint8_t x_38; uint8_t x_39; uint8_t x_40; uint8_t x_41; uint8_t x_42; uint8_t x_43; uint8_t x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47;
+x_37 = lean_ctor_get_uint8(x_12, 0);
+x_38 = lean_ctor_get_uint8(x_12, 1);
+x_39 = lean_ctor_get_uint8(x_12, 2);
+x_40 = lean_ctor_get_uint8(x_12, 3);
+x_41 = lean_ctor_get_uint8(x_12, 4);
+x_42 = lean_ctor_get_uint8(x_12, 6);
+x_43 = lean_ctor_get_uint8(x_12, 7);
+lean_dec(x_12);
+x_44 = 0;
+x_45 = lean_alloc_ctor(0, 0, 8);
+lean_ctor_set_uint8(x_45, 0, x_37);
+lean_ctor_set_uint8(x_45, 1, x_38);
+lean_ctor_set_uint8(x_45, 2, x_39);
+lean_ctor_set_uint8(x_45, 3, x_40);
+lean_ctor_set_uint8(x_45, 4, x_41);
+lean_ctor_set_uint8(x_45, 5, x_44);
+lean_ctor_set_uint8(x_45, 6, x_42);
+lean_ctor_set_uint8(x_45, 7, x_43);
+x_46 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_46, 0, x_45);
+lean_ctor_set(x_46, 1, x_15);
+lean_ctor_set(x_46, 2, x_16);
+lean_inc(x_5);
+lean_inc(x_4);
+lean_inc(x_3);
+x_47 = l___private_Lean_Meta_Check_0__Lean_Meta_checkAux(x_1, x_46, x_3, x_4, x_5, x_14);
+if (lean_obj_tag(x_47) == 0)
+{
+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;
+x_48 = lean_ctor_get(x_47, 0);
+lean_inc(x_48);
+x_49 = lean_ctor_get(x_47, 1);
lean_inc(x_49);
-if (lean_is_exclusive(x_48)) {
- lean_ctor_release(x_48, 0);
- lean_ctor_release(x_48, 1);
- x_50 = x_48;
-} else {
- lean_dec_ref(x_48);
- x_50 = lean_box(0);
-}
-if (lean_is_scalar(x_50)) {
- x_51 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_51 = x_50;
-}
-lean_ctor_set(x_51, 0, x_30);
-lean_ctor_set(x_51, 1, x_49);
-return x_51;
-}
-}
-else
-{
-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;
-x_52 = lean_ctor_get(x_35, 0);
-x_53 = lean_ctor_get(x_35, 1);
-x_54 = lean_ctor_get(x_35, 2);
-lean_inc(x_54);
-lean_inc(x_53);
-lean_inc(x_52);
-lean_dec(x_35);
-x_55 = lean_ctor_get(x_36, 0);
-lean_inc(x_55);
-if (lean_is_exclusive(x_36)) {
- lean_ctor_release(x_36, 0);
- x_56 = x_36;
-} else {
- lean_dec_ref(x_36);
- x_56 = lean_box(0);
-}
-if (lean_is_scalar(x_56)) {
- x_57 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_57 = x_56;
-}
-lean_ctor_set(x_57, 0, x_55);
-lean_ctor_set_uint8(x_57, sizeof(void*)*1, x_13);
-x_58 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_58, 0, x_52);
-lean_ctor_set(x_58, 1, x_53);
-lean_ctor_set(x_58, 2, x_54);
-lean_ctor_set(x_58, 3, x_57);
-x_59 = lean_st_ref_set(x_5, x_58, x_37);
+lean_dec(x_47);
+x_50 = l_Lean_Meta_check___closed__2;
+x_51 = l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_check___spec__2(x_13, x_50, x_10, x_2, x_3, x_4, x_5, x_49);
lean_dec(x_5);
-x_60 = lean_ctor_get(x_59, 1);
-lean_inc(x_60);
-if (lean_is_exclusive(x_59)) {
- lean_ctor_release(x_59, 0);
- lean_ctor_release(x_59, 1);
- x_61 = x_59;
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+x_52 = lean_ctor_get(x_51, 1);
+lean_inc(x_52);
+if (lean_is_exclusive(x_51)) {
+ lean_ctor_release(x_51, 0);
+ lean_ctor_release(x_51, 1);
+ x_53 = x_51;
} else {
- lean_dec_ref(x_59);
- x_61 = lean_box(0);
+ lean_dec_ref(x_51);
+ x_53 = lean_box(0);
}
-if (lean_is_scalar(x_61)) {
- x_62 = lean_alloc_ctor(0, 2, 0);
+if (lean_is_scalar(x_53)) {
+ x_54 = lean_alloc_ctor(0, 2, 0);
} else {
- x_62 = x_61;
+ x_54 = x_53;
+}
+lean_ctor_set(x_54, 0, x_48);
+lean_ctor_set(x_54, 1, x_52);
+return x_54;
+}
+else
+{
+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;
+x_55 = lean_ctor_get(x_47, 0);
+lean_inc(x_55);
+x_56 = lean_ctor_get(x_47, 1);
+lean_inc(x_56);
+lean_dec(x_47);
+x_57 = l_Lean_Meta_check___closed__2;
+x_58 = l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_check___spec__2(x_13, x_57, x_10, x_2, x_3, x_4, x_5, x_56);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+x_59 = lean_ctor_get(x_58, 1);
+lean_inc(x_59);
+if (lean_is_exclusive(x_58)) {
+ lean_ctor_release(x_58, 0);
+ lean_ctor_release(x_58, 1);
+ x_60 = x_58;
+} else {
+ lean_dec_ref(x_58);
+ x_60 = lean_box(0);
+}
+if (lean_is_scalar(x_60)) {
+ x_61 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_61 = x_60;
+ lean_ctor_set_tag(x_61, 1);
+}
+lean_ctor_set(x_61, 0, x_55);
+lean_ctor_set(x_61, 1, x_59);
+return x_61;
}
-lean_ctor_set(x_62, 0, x_30);
-lean_ctor_set(x_62, 1, x_60);
-return x_62;
}
}
else
{
-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; uint8_t x_71;
-x_63 = lean_ctor_get(x_29, 0);
+lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; uint8_t x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; uint8_t x_71;
+x_62 = lean_st_ref_get(x_5, x_8);
+x_63 = lean_ctor_get(x_62, 0);
lean_inc(x_63);
-x_64 = lean_ctor_get(x_29, 1);
+x_64 = lean_ctor_get(x_63, 3);
lean_inc(x_64);
-lean_dec(x_29);
-x_65 = lean_st_ref_get(x_5, x_64);
-x_66 = lean_ctor_get(x_65, 1);
-lean_inc(x_66);
-lean_dec(x_65);
-x_67 = lean_st_ref_take(x_5, x_66);
+lean_dec(x_63);
+x_65 = lean_ctor_get(x_62, 1);
+lean_inc(x_65);
+lean_dec(x_62);
+x_66 = lean_ctor_get_uint8(x_64, sizeof(void*)*1);
+lean_dec(x_64);
+x_67 = lean_st_ref_take(x_5, x_65);
x_68 = lean_ctor_get(x_67, 0);
lean_inc(x_68);
x_69 = lean_ctor_get(x_68, 3);
@@ -4416,1237 +4443,1228 @@ lean_dec(x_72);
x_73 = !lean_is_exclusive(x_69);
if (x_73 == 0)
{
-lean_object* x_74; uint8_t x_75;
-lean_ctor_set_uint8(x_69, sizeof(void*)*1, x_13);
-x_74 = lean_st_ref_set(x_5, x_68, x_70);
-lean_dec(x_5);
-x_75 = !lean_is_exclusive(x_74);
-if (x_75 == 0)
-{
-lean_object* x_76;
-x_76 = lean_ctor_get(x_74, 0);
-lean_dec(x_76);
-lean_ctor_set_tag(x_74, 1);
-lean_ctor_set(x_74, 0, x_63);
-return x_74;
-}
-else
-{
-lean_object* x_77; lean_object* x_78;
-x_77 = lean_ctor_get(x_74, 1);
+uint8_t x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; uint8_t x_78;
+x_74 = 0;
+lean_ctor_set_uint8(x_69, sizeof(void*)*1, x_74);
+x_75 = lean_st_ref_set(x_5, x_68, x_70);
+x_76 = lean_ctor_get(x_2, 0);
+lean_inc(x_76);
+x_77 = lean_ctor_get(x_75, 1);
lean_inc(x_77);
-lean_dec(x_74);
-x_78 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_78, 0, x_63);
-lean_ctor_set(x_78, 1, x_77);
-return x_78;
-}
-}
-else
+lean_dec(x_75);
+x_78 = !lean_is_exclusive(x_2);
+if (x_78 == 0)
{
-lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84;
-x_79 = lean_ctor_get(x_69, 0);
-lean_inc(x_79);
-lean_dec(x_69);
-x_80 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_80, 0, x_79);
-lean_ctor_set_uint8(x_80, sizeof(void*)*1, x_13);
-lean_ctor_set(x_68, 3, x_80);
-x_81 = lean_st_ref_set(x_5, x_68, x_70);
-lean_dec(x_5);
-x_82 = lean_ctor_get(x_81, 1);
-lean_inc(x_82);
-if (lean_is_exclusive(x_81)) {
- lean_ctor_release(x_81, 0);
- lean_ctor_release(x_81, 1);
- x_83 = x_81;
-} else {
- lean_dec_ref(x_81);
- x_83 = lean_box(0);
-}
-if (lean_is_scalar(x_83)) {
- x_84 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_84 = x_83;
- lean_ctor_set_tag(x_84, 1);
-}
-lean_ctor_set(x_84, 0, x_63);
-lean_ctor_set(x_84, 1, x_82);
-return x_84;
-}
-}
-else
+lean_object* x_79; uint8_t x_80;
+x_79 = lean_ctor_get(x_2, 0);
+lean_dec(x_79);
+x_80 = !lean_is_exclusive(x_76);
+if (x_80 == 0)
{
-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;
-x_85 = lean_ctor_get(x_68, 0);
-x_86 = lean_ctor_get(x_68, 1);
-x_87 = lean_ctor_get(x_68, 2);
-lean_inc(x_87);
-lean_inc(x_86);
-lean_inc(x_85);
-lean_dec(x_68);
-x_88 = lean_ctor_get(x_69, 0);
-lean_inc(x_88);
-if (lean_is_exclusive(x_69)) {
- lean_ctor_release(x_69, 0);
- x_89 = x_69;
-} else {
- lean_dec_ref(x_69);
- x_89 = lean_box(0);
-}
-if (lean_is_scalar(x_89)) {
- x_90 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_90 = x_89;
-}
-lean_ctor_set(x_90, 0, x_88);
-lean_ctor_set_uint8(x_90, sizeof(void*)*1, x_13);
-x_91 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_91, 0, x_85);
-lean_ctor_set(x_91, 1, x_86);
-lean_ctor_set(x_91, 2, x_87);
-lean_ctor_set(x_91, 3, x_90);
-x_92 = lean_st_ref_set(x_5, x_91, x_70);
-lean_dec(x_5);
-x_93 = lean_ctor_get(x_92, 1);
-lean_inc(x_93);
-if (lean_is_exclusive(x_92)) {
- lean_ctor_release(x_92, 0);
- lean_ctor_release(x_92, 1);
- x_94 = x_92;
-} else {
- lean_dec_ref(x_92);
- x_94 = lean_box(0);
-}
-if (lean_is_scalar(x_94)) {
- x_95 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_95 = x_94;
- lean_ctor_set_tag(x_95, 1);
-}
-lean_ctor_set(x_95, 0, x_63);
-lean_ctor_set(x_95, 1, x_93);
-return x_95;
-}
-}
-}
-else
-{
-uint8_t x_96; uint8_t x_97; uint8_t x_98; uint8_t x_99; uint8_t x_100; uint8_t x_101; uint8_t x_102; uint8_t x_103; lean_object* x_104; lean_object* x_105;
-x_96 = lean_ctor_get_uint8(x_23, 0);
-x_97 = lean_ctor_get_uint8(x_23, 1);
-x_98 = lean_ctor_get_uint8(x_23, 2);
-x_99 = lean_ctor_get_uint8(x_23, 3);
-x_100 = lean_ctor_get_uint8(x_23, 4);
-x_101 = lean_ctor_get_uint8(x_23, 6);
-x_102 = lean_ctor_get_uint8(x_23, 7);
-lean_dec(x_23);
-x_103 = 0;
-x_104 = lean_alloc_ctor(0, 0, 8);
-lean_ctor_set_uint8(x_104, 0, x_96);
-lean_ctor_set_uint8(x_104, 1, x_97);
-lean_ctor_set_uint8(x_104, 2, x_98);
-lean_ctor_set_uint8(x_104, 3, x_99);
-lean_ctor_set_uint8(x_104, 4, x_100);
-lean_ctor_set_uint8(x_104, 5, x_103);
-lean_ctor_set_uint8(x_104, 6, x_101);
-lean_ctor_set_uint8(x_104, 7, x_102);
-lean_ctor_set(x_2, 0, x_104);
+uint8_t x_81; lean_object* x_82;
+x_81 = 0;
+lean_ctor_set_uint8(x_76, 5, x_81);
lean_inc(x_5);
-x_105 = l___private_Lean_Meta_Check_0__Lean_Meta_checkAux(x_1, x_2, x_3, x_4, x_5, x_24);
-if (lean_obj_tag(x_105) == 0)
+x_82 = l___private_Lean_Meta_Check_0__Lean_Meta_checkAux(x_1, x_2, x_3, x_4, x_5, x_77);
+if (lean_obj_tag(x_82) == 0)
{
-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;
-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_st_ref_get(x_5, x_107);
-x_109 = lean_ctor_get(x_108, 1);
-lean_inc(x_109);
-lean_dec(x_108);
-x_110 = lean_st_ref_take(x_5, x_109);
-x_111 = lean_ctor_get(x_110, 0);
-lean_inc(x_111);
-x_112 = lean_ctor_get(x_111, 3);
-lean_inc(x_112);
-x_113 = lean_ctor_get(x_110, 1);
-lean_inc(x_113);
-lean_dec(x_110);
-x_114 = lean_ctor_get(x_111, 0);
-lean_inc(x_114);
-x_115 = lean_ctor_get(x_111, 1);
-lean_inc(x_115);
-x_116 = lean_ctor_get(x_111, 2);
-lean_inc(x_116);
-if (lean_is_exclusive(x_111)) {
- lean_ctor_release(x_111, 0);
- lean_ctor_release(x_111, 1);
- lean_ctor_release(x_111, 2);
- lean_ctor_release(x_111, 3);
- x_117 = x_111;
-} else {
- lean_dec_ref(x_111);
- x_117 = lean_box(0);
+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; uint8_t x_91;
+x_83 = lean_ctor_get(x_82, 0);
+lean_inc(x_83);
+x_84 = lean_ctor_get(x_82, 1);
+lean_inc(x_84);
+lean_dec(x_82);
+x_85 = lean_st_ref_get(x_5, x_84);
+x_86 = lean_ctor_get(x_85, 1);
+lean_inc(x_86);
+lean_dec(x_85);
+x_87 = lean_st_ref_take(x_5, x_86);
+x_88 = lean_ctor_get(x_87, 0);
+lean_inc(x_88);
+x_89 = lean_ctor_get(x_88, 3);
+lean_inc(x_89);
+x_90 = lean_ctor_get(x_87, 1);
+lean_inc(x_90);
+lean_dec(x_87);
+x_91 = !lean_is_exclusive(x_88);
+if (x_91 == 0)
+{
+lean_object* x_92; uint8_t x_93;
+x_92 = lean_ctor_get(x_88, 3);
+lean_dec(x_92);
+x_93 = !lean_is_exclusive(x_89);
+if (x_93 == 0)
+{
+lean_object* x_94; uint8_t x_95;
+lean_ctor_set_uint8(x_89, sizeof(void*)*1, x_66);
+x_94 = lean_st_ref_set(x_5, x_88, x_90);
+lean_dec(x_5);
+x_95 = !lean_is_exclusive(x_94);
+if (x_95 == 0)
+{
+lean_object* x_96;
+x_96 = lean_ctor_get(x_94, 0);
+lean_dec(x_96);
+lean_ctor_set(x_94, 0, x_83);
+return x_94;
}
-x_118 = lean_ctor_get(x_112, 0);
-lean_inc(x_118);
+else
+{
+lean_object* x_97; lean_object* x_98;
+x_97 = lean_ctor_get(x_94, 1);
+lean_inc(x_97);
+lean_dec(x_94);
+x_98 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_98, 0, x_83);
+lean_ctor_set(x_98, 1, x_97);
+return x_98;
+}
+}
+else
+{
+lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104;
+x_99 = lean_ctor_get(x_89, 0);
+lean_inc(x_99);
+lean_dec(x_89);
+x_100 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_100, 0, x_99);
+lean_ctor_set_uint8(x_100, sizeof(void*)*1, x_66);
+lean_ctor_set(x_88, 3, x_100);
+x_101 = lean_st_ref_set(x_5, x_88, x_90);
+lean_dec(x_5);
+x_102 = lean_ctor_get(x_101, 1);
+lean_inc(x_102);
+if (lean_is_exclusive(x_101)) {
+ lean_ctor_release(x_101, 0);
+ lean_ctor_release(x_101, 1);
+ x_103 = x_101;
+} else {
+ lean_dec_ref(x_101);
+ x_103 = lean_box(0);
+}
+if (lean_is_scalar(x_103)) {
+ x_104 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_104 = x_103;
+}
+lean_ctor_set(x_104, 0, x_83);
+lean_ctor_set(x_104, 1, x_102);
+return x_104;
+}
+}
+else
+{
+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;
+x_105 = lean_ctor_get(x_88, 0);
+x_106 = lean_ctor_get(x_88, 1);
+x_107 = lean_ctor_get(x_88, 2);
+lean_inc(x_107);
+lean_inc(x_106);
+lean_inc(x_105);
+lean_dec(x_88);
+x_108 = lean_ctor_get(x_89, 0);
+lean_inc(x_108);
+if (lean_is_exclusive(x_89)) {
+ lean_ctor_release(x_89, 0);
+ x_109 = x_89;
+} else {
+ lean_dec_ref(x_89);
+ x_109 = lean_box(0);
+}
+if (lean_is_scalar(x_109)) {
+ x_110 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_110 = x_109;
+}
+lean_ctor_set(x_110, 0, x_108);
+lean_ctor_set_uint8(x_110, sizeof(void*)*1, x_66);
+x_111 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_111, 0, x_105);
+lean_ctor_set(x_111, 1, x_106);
+lean_ctor_set(x_111, 2, x_107);
+lean_ctor_set(x_111, 3, x_110);
+x_112 = lean_st_ref_set(x_5, x_111, x_90);
+lean_dec(x_5);
+x_113 = lean_ctor_get(x_112, 1);
+lean_inc(x_113);
if (lean_is_exclusive(x_112)) {
lean_ctor_release(x_112, 0);
- x_119 = x_112;
+ lean_ctor_release(x_112, 1);
+ x_114 = x_112;
} else {
lean_dec_ref(x_112);
- x_119 = lean_box(0);
+ x_114 = lean_box(0);
}
-if (lean_is_scalar(x_119)) {
- x_120 = lean_alloc_ctor(0, 1, 1);
+if (lean_is_scalar(x_114)) {
+ x_115 = lean_alloc_ctor(0, 2, 0);
} else {
- x_120 = x_119;
+ x_115 = x_114;
}
-lean_ctor_set(x_120, 0, x_118);
-lean_ctor_set_uint8(x_120, sizeof(void*)*1, x_13);
-if (lean_is_scalar(x_117)) {
- x_121 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_121 = x_117;
+lean_ctor_set(x_115, 0, x_83);
+lean_ctor_set(x_115, 1, x_113);
+return x_115;
}
-lean_ctor_set(x_121, 0, x_114);
-lean_ctor_set(x_121, 1, x_115);
-lean_ctor_set(x_121, 2, x_116);
-lean_ctor_set(x_121, 3, x_120);
-x_122 = lean_st_ref_set(x_5, x_121, x_113);
-lean_dec(x_5);
-x_123 = lean_ctor_get(x_122, 1);
+}
+else
+{
+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; uint8_t x_124;
+x_116 = lean_ctor_get(x_82, 0);
+lean_inc(x_116);
+x_117 = lean_ctor_get(x_82, 1);
+lean_inc(x_117);
+lean_dec(x_82);
+x_118 = lean_st_ref_get(x_5, x_117);
+x_119 = lean_ctor_get(x_118, 1);
+lean_inc(x_119);
+lean_dec(x_118);
+x_120 = lean_st_ref_take(x_5, x_119);
+x_121 = lean_ctor_get(x_120, 0);
+lean_inc(x_121);
+x_122 = lean_ctor_get(x_121, 3);
+lean_inc(x_122);
+x_123 = lean_ctor_get(x_120, 1);
lean_inc(x_123);
+lean_dec(x_120);
+x_124 = !lean_is_exclusive(x_121);
+if (x_124 == 0)
+{
+lean_object* x_125; uint8_t x_126;
+x_125 = lean_ctor_get(x_121, 3);
+lean_dec(x_125);
+x_126 = !lean_is_exclusive(x_122);
+if (x_126 == 0)
+{
+lean_object* x_127; uint8_t x_128;
+lean_ctor_set_uint8(x_122, sizeof(void*)*1, x_66);
+x_127 = lean_st_ref_set(x_5, x_121, x_123);
+lean_dec(x_5);
+x_128 = !lean_is_exclusive(x_127);
+if (x_128 == 0)
+{
+lean_object* x_129;
+x_129 = lean_ctor_get(x_127, 0);
+lean_dec(x_129);
+lean_ctor_set_tag(x_127, 1);
+lean_ctor_set(x_127, 0, x_116);
+return x_127;
+}
+else
+{
+lean_object* x_130; lean_object* x_131;
+x_130 = lean_ctor_get(x_127, 1);
+lean_inc(x_130);
+lean_dec(x_127);
+x_131 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_131, 0, x_116);
+lean_ctor_set(x_131, 1, x_130);
+return x_131;
+}
+}
+else
+{
+lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137;
+x_132 = lean_ctor_get(x_122, 0);
+lean_inc(x_132);
+lean_dec(x_122);
+x_133 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_133, 0, x_132);
+lean_ctor_set_uint8(x_133, sizeof(void*)*1, x_66);
+lean_ctor_set(x_121, 3, x_133);
+x_134 = lean_st_ref_set(x_5, x_121, x_123);
+lean_dec(x_5);
+x_135 = lean_ctor_get(x_134, 1);
+lean_inc(x_135);
+if (lean_is_exclusive(x_134)) {
+ lean_ctor_release(x_134, 0);
+ lean_ctor_release(x_134, 1);
+ x_136 = x_134;
+} else {
+ lean_dec_ref(x_134);
+ x_136 = lean_box(0);
+}
+if (lean_is_scalar(x_136)) {
+ x_137 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_137 = x_136;
+ lean_ctor_set_tag(x_137, 1);
+}
+lean_ctor_set(x_137, 0, x_116);
+lean_ctor_set(x_137, 1, x_135);
+return x_137;
+}
+}
+else
+{
+lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148;
+x_138 = lean_ctor_get(x_121, 0);
+x_139 = lean_ctor_get(x_121, 1);
+x_140 = lean_ctor_get(x_121, 2);
+lean_inc(x_140);
+lean_inc(x_139);
+lean_inc(x_138);
+lean_dec(x_121);
+x_141 = lean_ctor_get(x_122, 0);
+lean_inc(x_141);
if (lean_is_exclusive(x_122)) {
lean_ctor_release(x_122, 0);
- lean_ctor_release(x_122, 1);
- x_124 = x_122;
+ x_142 = x_122;
} else {
lean_dec_ref(x_122);
- x_124 = lean_box(0);
+ x_142 = lean_box(0);
}
-if (lean_is_scalar(x_124)) {
- x_125 = lean_alloc_ctor(0, 2, 0);
+if (lean_is_scalar(x_142)) {
+ x_143 = lean_alloc_ctor(0, 1, 1);
} else {
- x_125 = x_124;
+ x_143 = x_142;
}
-lean_ctor_set(x_125, 0, x_106);
-lean_ctor_set(x_125, 1, x_123);
-return x_125;
-}
-else
-{
-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; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145;
-x_126 = lean_ctor_get(x_105, 0);
-lean_inc(x_126);
-x_127 = lean_ctor_get(x_105, 1);
-lean_inc(x_127);
-lean_dec(x_105);
-x_128 = lean_st_ref_get(x_5, x_127);
-x_129 = lean_ctor_get(x_128, 1);
-lean_inc(x_129);
-lean_dec(x_128);
-x_130 = lean_st_ref_take(x_5, x_129);
-x_131 = lean_ctor_get(x_130, 0);
-lean_inc(x_131);
-x_132 = lean_ctor_get(x_131, 3);
-lean_inc(x_132);
-x_133 = lean_ctor_get(x_130, 1);
-lean_inc(x_133);
-lean_dec(x_130);
-x_134 = lean_ctor_get(x_131, 0);
-lean_inc(x_134);
-x_135 = lean_ctor_get(x_131, 1);
-lean_inc(x_135);
-x_136 = lean_ctor_get(x_131, 2);
-lean_inc(x_136);
-if (lean_is_exclusive(x_131)) {
- lean_ctor_release(x_131, 0);
- lean_ctor_release(x_131, 1);
- lean_ctor_release(x_131, 2);
- lean_ctor_release(x_131, 3);
- x_137 = x_131;
-} else {
- lean_dec_ref(x_131);
- x_137 = lean_box(0);
-}
-x_138 = lean_ctor_get(x_132, 0);
-lean_inc(x_138);
-if (lean_is_exclusive(x_132)) {
- lean_ctor_release(x_132, 0);
- x_139 = x_132;
-} else {
- lean_dec_ref(x_132);
- x_139 = lean_box(0);
-}
-if (lean_is_scalar(x_139)) {
- x_140 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_140 = x_139;
-}
-lean_ctor_set(x_140, 0, x_138);
-lean_ctor_set_uint8(x_140, sizeof(void*)*1, x_13);
-if (lean_is_scalar(x_137)) {
- x_141 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_141 = x_137;
-}
-lean_ctor_set(x_141, 0, x_134);
-lean_ctor_set(x_141, 1, x_135);
-lean_ctor_set(x_141, 2, x_136);
-lean_ctor_set(x_141, 3, x_140);
-x_142 = lean_st_ref_set(x_5, x_141, x_133);
+lean_ctor_set(x_143, 0, x_141);
+lean_ctor_set_uint8(x_143, sizeof(void*)*1, x_66);
+x_144 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_144, 0, x_138);
+lean_ctor_set(x_144, 1, x_139);
+lean_ctor_set(x_144, 2, x_140);
+lean_ctor_set(x_144, 3, x_143);
+x_145 = lean_st_ref_set(x_5, x_144, x_123);
lean_dec(x_5);
-x_143 = lean_ctor_get(x_142, 1);
-lean_inc(x_143);
-if (lean_is_exclusive(x_142)) {
- lean_ctor_release(x_142, 0);
- lean_ctor_release(x_142, 1);
- x_144 = x_142;
+x_146 = lean_ctor_get(x_145, 1);
+lean_inc(x_146);
+if (lean_is_exclusive(x_145)) {
+ lean_ctor_release(x_145, 0);
+ lean_ctor_release(x_145, 1);
+ x_147 = x_145;
} else {
- lean_dec_ref(x_142);
- x_144 = lean_box(0);
+ lean_dec_ref(x_145);
+ x_147 = lean_box(0);
}
-if (lean_is_scalar(x_144)) {
- x_145 = lean_alloc_ctor(1, 2, 0);
+if (lean_is_scalar(x_147)) {
+ x_148 = lean_alloc_ctor(1, 2, 0);
} else {
- x_145 = x_144;
- lean_ctor_set_tag(x_145, 1);
+ x_148 = x_147;
+ lean_ctor_set_tag(x_148, 1);
}
-lean_ctor_set(x_145, 0, x_126);
-lean_ctor_set(x_145, 1, x_143);
-return x_145;
+lean_ctor_set(x_148, 0, x_116);
+lean_ctor_set(x_148, 1, x_146);
+return x_148;
}
}
}
else
{
-lean_object* x_146; lean_object* x_147; uint8_t x_148; uint8_t x_149; uint8_t x_150; uint8_t x_151; uint8_t x_152; uint8_t x_153; uint8_t x_154; lean_object* x_155; uint8_t x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159;
-x_146 = lean_ctor_get(x_2, 1);
-x_147 = lean_ctor_get(x_2, 2);
-lean_inc(x_147);
-lean_inc(x_146);
-lean_dec(x_2);
-x_148 = lean_ctor_get_uint8(x_23, 0);
-x_149 = lean_ctor_get_uint8(x_23, 1);
-x_150 = lean_ctor_get_uint8(x_23, 2);
-x_151 = lean_ctor_get_uint8(x_23, 3);
-x_152 = lean_ctor_get_uint8(x_23, 4);
-x_153 = lean_ctor_get_uint8(x_23, 6);
-x_154 = lean_ctor_get_uint8(x_23, 7);
-if (lean_is_exclusive(x_23)) {
- x_155 = x_23;
-} else {
- lean_dec_ref(x_23);
- x_155 = lean_box(0);
-}
+uint8_t x_149; uint8_t x_150; uint8_t x_151; uint8_t x_152; uint8_t x_153; uint8_t x_154; uint8_t x_155; uint8_t x_156; lean_object* x_157; lean_object* x_158;
+x_149 = lean_ctor_get_uint8(x_76, 0);
+x_150 = lean_ctor_get_uint8(x_76, 1);
+x_151 = lean_ctor_get_uint8(x_76, 2);
+x_152 = lean_ctor_get_uint8(x_76, 3);
+x_153 = lean_ctor_get_uint8(x_76, 4);
+x_154 = lean_ctor_get_uint8(x_76, 6);
+x_155 = lean_ctor_get_uint8(x_76, 7);
+lean_dec(x_76);
x_156 = 0;
-if (lean_is_scalar(x_155)) {
- x_157 = lean_alloc_ctor(0, 0, 8);
-} else {
- x_157 = x_155;
-}
-lean_ctor_set_uint8(x_157, 0, x_148);
-lean_ctor_set_uint8(x_157, 1, x_149);
-lean_ctor_set_uint8(x_157, 2, x_150);
-lean_ctor_set_uint8(x_157, 3, x_151);
-lean_ctor_set_uint8(x_157, 4, x_152);
+x_157 = lean_alloc_ctor(0, 0, 8);
+lean_ctor_set_uint8(x_157, 0, x_149);
+lean_ctor_set_uint8(x_157, 1, x_150);
+lean_ctor_set_uint8(x_157, 2, x_151);
+lean_ctor_set_uint8(x_157, 3, x_152);
+lean_ctor_set_uint8(x_157, 4, x_153);
lean_ctor_set_uint8(x_157, 5, x_156);
-lean_ctor_set_uint8(x_157, 6, x_153);
-lean_ctor_set_uint8(x_157, 7, x_154);
-x_158 = lean_alloc_ctor(0, 3, 0);
-lean_ctor_set(x_158, 0, x_157);
-lean_ctor_set(x_158, 1, x_146);
-lean_ctor_set(x_158, 2, x_147);
+lean_ctor_set_uint8(x_157, 6, x_154);
+lean_ctor_set_uint8(x_157, 7, x_155);
+lean_ctor_set(x_2, 0, x_157);
lean_inc(x_5);
-x_159 = l___private_Lean_Meta_Check_0__Lean_Meta_checkAux(x_1, x_158, x_3, x_4, x_5, x_24);
-if (lean_obj_tag(x_159) == 0)
+x_158 = l___private_Lean_Meta_Check_0__Lean_Meta_checkAux(x_1, x_2, x_3, x_4, x_5, x_77);
+if (lean_obj_tag(x_158) == 0)
{
-lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179;
-x_160 = lean_ctor_get(x_159, 0);
+lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178;
+x_159 = lean_ctor_get(x_158, 0);
+lean_inc(x_159);
+x_160 = lean_ctor_get(x_158, 1);
lean_inc(x_160);
-x_161 = lean_ctor_get(x_159, 1);
-lean_inc(x_161);
-lean_dec(x_159);
-x_162 = lean_st_ref_get(x_5, x_161);
-x_163 = lean_ctor_get(x_162, 1);
-lean_inc(x_163);
-lean_dec(x_162);
-x_164 = lean_st_ref_take(x_5, x_163);
-x_165 = lean_ctor_get(x_164, 0);
+lean_dec(x_158);
+x_161 = lean_st_ref_get(x_5, x_160);
+x_162 = lean_ctor_get(x_161, 1);
+lean_inc(x_162);
+lean_dec(x_161);
+x_163 = lean_st_ref_take(x_5, x_162);
+x_164 = lean_ctor_get(x_163, 0);
+lean_inc(x_164);
+x_165 = lean_ctor_get(x_164, 3);
lean_inc(x_165);
-x_166 = lean_ctor_get(x_165, 3);
+x_166 = lean_ctor_get(x_163, 1);
lean_inc(x_166);
-x_167 = lean_ctor_get(x_164, 1);
+lean_dec(x_163);
+x_167 = lean_ctor_get(x_164, 0);
lean_inc(x_167);
-lean_dec(x_164);
-x_168 = lean_ctor_get(x_165, 0);
+x_168 = lean_ctor_get(x_164, 1);
lean_inc(x_168);
-x_169 = lean_ctor_get(x_165, 1);
+x_169 = lean_ctor_get(x_164, 2);
lean_inc(x_169);
-x_170 = lean_ctor_get(x_165, 2);
-lean_inc(x_170);
+if (lean_is_exclusive(x_164)) {
+ lean_ctor_release(x_164, 0);
+ lean_ctor_release(x_164, 1);
+ lean_ctor_release(x_164, 2);
+ lean_ctor_release(x_164, 3);
+ x_170 = x_164;
+} else {
+ lean_dec_ref(x_164);
+ x_170 = lean_box(0);
+}
+x_171 = lean_ctor_get(x_165, 0);
+lean_inc(x_171);
if (lean_is_exclusive(x_165)) {
lean_ctor_release(x_165, 0);
- lean_ctor_release(x_165, 1);
- lean_ctor_release(x_165, 2);
- lean_ctor_release(x_165, 3);
- x_171 = x_165;
+ x_172 = x_165;
} else {
lean_dec_ref(x_165);
- x_171 = lean_box(0);
+ x_172 = lean_box(0);
}
-x_172 = lean_ctor_get(x_166, 0);
-lean_inc(x_172);
-if (lean_is_exclusive(x_166)) {
- lean_ctor_release(x_166, 0);
- x_173 = x_166;
+if (lean_is_scalar(x_172)) {
+ x_173 = lean_alloc_ctor(0, 1, 1);
} else {
- lean_dec_ref(x_166);
- x_173 = lean_box(0);
+ x_173 = x_172;
}
-if (lean_is_scalar(x_173)) {
- x_174 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_173, 0, x_171);
+lean_ctor_set_uint8(x_173, sizeof(void*)*1, x_66);
+if (lean_is_scalar(x_170)) {
+ x_174 = lean_alloc_ctor(0, 4, 0);
} else {
- x_174 = x_173;
+ x_174 = x_170;
}
-lean_ctor_set(x_174, 0, x_172);
-lean_ctor_set_uint8(x_174, sizeof(void*)*1, x_13);
-if (lean_is_scalar(x_171)) {
- x_175 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_175 = x_171;
-}
-lean_ctor_set(x_175, 0, x_168);
-lean_ctor_set(x_175, 1, x_169);
-lean_ctor_set(x_175, 2, x_170);
-lean_ctor_set(x_175, 3, x_174);
-x_176 = lean_st_ref_set(x_5, x_175, x_167);
+lean_ctor_set(x_174, 0, x_167);
+lean_ctor_set(x_174, 1, x_168);
+lean_ctor_set(x_174, 2, x_169);
+lean_ctor_set(x_174, 3, x_173);
+x_175 = lean_st_ref_set(x_5, x_174, x_166);
lean_dec(x_5);
-x_177 = lean_ctor_get(x_176, 1);
-lean_inc(x_177);
-if (lean_is_exclusive(x_176)) {
- lean_ctor_release(x_176, 0);
- lean_ctor_release(x_176, 1);
- x_178 = x_176;
+x_176 = lean_ctor_get(x_175, 1);
+lean_inc(x_176);
+if (lean_is_exclusive(x_175)) {
+ lean_ctor_release(x_175, 0);
+ lean_ctor_release(x_175, 1);
+ x_177 = x_175;
} else {
- lean_dec_ref(x_176);
- x_178 = lean_box(0);
+ lean_dec_ref(x_175);
+ x_177 = lean_box(0);
}
-if (lean_is_scalar(x_178)) {
- x_179 = lean_alloc_ctor(0, 2, 0);
+if (lean_is_scalar(x_177)) {
+ x_178 = lean_alloc_ctor(0, 2, 0);
} else {
- x_179 = x_178;
+ x_178 = x_177;
}
-lean_ctor_set(x_179, 0, x_160);
-lean_ctor_set(x_179, 1, x_177);
-return x_179;
+lean_ctor_set(x_178, 0, x_159);
+lean_ctor_set(x_178, 1, x_176);
+return x_178;
}
else
{
-lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199;
-x_180 = lean_ctor_get(x_159, 0);
+lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198;
+x_179 = lean_ctor_get(x_158, 0);
+lean_inc(x_179);
+x_180 = lean_ctor_get(x_158, 1);
lean_inc(x_180);
-x_181 = lean_ctor_get(x_159, 1);
-lean_inc(x_181);
-lean_dec(x_159);
-x_182 = lean_st_ref_get(x_5, x_181);
-x_183 = lean_ctor_get(x_182, 1);
-lean_inc(x_183);
-lean_dec(x_182);
-x_184 = lean_st_ref_take(x_5, x_183);
-x_185 = lean_ctor_get(x_184, 0);
+lean_dec(x_158);
+x_181 = lean_st_ref_get(x_5, x_180);
+x_182 = lean_ctor_get(x_181, 1);
+lean_inc(x_182);
+lean_dec(x_181);
+x_183 = lean_st_ref_take(x_5, x_182);
+x_184 = lean_ctor_get(x_183, 0);
+lean_inc(x_184);
+x_185 = lean_ctor_get(x_184, 3);
lean_inc(x_185);
-x_186 = lean_ctor_get(x_185, 3);
+x_186 = lean_ctor_get(x_183, 1);
lean_inc(x_186);
-x_187 = lean_ctor_get(x_184, 1);
+lean_dec(x_183);
+x_187 = lean_ctor_get(x_184, 0);
lean_inc(x_187);
-lean_dec(x_184);
-x_188 = lean_ctor_get(x_185, 0);
+x_188 = lean_ctor_get(x_184, 1);
lean_inc(x_188);
-x_189 = lean_ctor_get(x_185, 1);
+x_189 = lean_ctor_get(x_184, 2);
lean_inc(x_189);
-x_190 = lean_ctor_get(x_185, 2);
-lean_inc(x_190);
+if (lean_is_exclusive(x_184)) {
+ lean_ctor_release(x_184, 0);
+ lean_ctor_release(x_184, 1);
+ lean_ctor_release(x_184, 2);
+ lean_ctor_release(x_184, 3);
+ x_190 = x_184;
+} else {
+ lean_dec_ref(x_184);
+ x_190 = lean_box(0);
+}
+x_191 = lean_ctor_get(x_185, 0);
+lean_inc(x_191);
if (lean_is_exclusive(x_185)) {
lean_ctor_release(x_185, 0);
- lean_ctor_release(x_185, 1);
- lean_ctor_release(x_185, 2);
- lean_ctor_release(x_185, 3);
- x_191 = x_185;
+ x_192 = x_185;
} else {
lean_dec_ref(x_185);
- x_191 = lean_box(0);
+ x_192 = lean_box(0);
}
-x_192 = lean_ctor_get(x_186, 0);
-lean_inc(x_192);
-if (lean_is_exclusive(x_186)) {
- lean_ctor_release(x_186, 0);
- x_193 = x_186;
+if (lean_is_scalar(x_192)) {
+ x_193 = lean_alloc_ctor(0, 1, 1);
} else {
- lean_dec_ref(x_186);
- x_193 = lean_box(0);
+ x_193 = x_192;
}
-if (lean_is_scalar(x_193)) {
- x_194 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_193, 0, x_191);
+lean_ctor_set_uint8(x_193, sizeof(void*)*1, x_66);
+if (lean_is_scalar(x_190)) {
+ x_194 = lean_alloc_ctor(0, 4, 0);
} else {
- x_194 = x_193;
+ x_194 = x_190;
}
-lean_ctor_set(x_194, 0, x_192);
-lean_ctor_set_uint8(x_194, sizeof(void*)*1, x_13);
-if (lean_is_scalar(x_191)) {
- x_195 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_195 = x_191;
-}
-lean_ctor_set(x_195, 0, x_188);
-lean_ctor_set(x_195, 1, x_189);
-lean_ctor_set(x_195, 2, x_190);
-lean_ctor_set(x_195, 3, x_194);
-x_196 = lean_st_ref_set(x_5, x_195, x_187);
+lean_ctor_set(x_194, 0, x_187);
+lean_ctor_set(x_194, 1, x_188);
+lean_ctor_set(x_194, 2, x_189);
+lean_ctor_set(x_194, 3, x_193);
+x_195 = lean_st_ref_set(x_5, x_194, x_186);
lean_dec(x_5);
-x_197 = lean_ctor_get(x_196, 1);
-lean_inc(x_197);
-if (lean_is_exclusive(x_196)) {
- lean_ctor_release(x_196, 0);
- lean_ctor_release(x_196, 1);
- x_198 = x_196;
+x_196 = lean_ctor_get(x_195, 1);
+lean_inc(x_196);
+if (lean_is_exclusive(x_195)) {
+ lean_ctor_release(x_195, 0);
+ lean_ctor_release(x_195, 1);
+ x_197 = x_195;
} else {
- lean_dec_ref(x_196);
- x_198 = lean_box(0);
+ lean_dec_ref(x_195);
+ x_197 = lean_box(0);
}
-if (lean_is_scalar(x_198)) {
- x_199 = lean_alloc_ctor(1, 2, 0);
+if (lean_is_scalar(x_197)) {
+ x_198 = lean_alloc_ctor(1, 2, 0);
} else {
- x_199 = x_198;
- lean_ctor_set_tag(x_199, 1);
+ x_198 = x_197;
+ lean_ctor_set_tag(x_198, 1);
}
-lean_ctor_set(x_199, 0, x_180);
-lean_ctor_set(x_199, 1, x_197);
-return x_199;
+lean_ctor_set(x_198, 0, x_179);
+lean_ctor_set(x_198, 1, x_196);
+return x_198;
}
}
}
else
{
-lean_object* x_200; uint8_t x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; uint8_t x_209; uint8_t x_210; uint8_t x_211; uint8_t x_212; uint8_t x_213; uint8_t x_214; uint8_t x_215; lean_object* x_216; uint8_t x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220;
-x_200 = lean_ctor_get(x_16, 0);
+lean_object* x_199; lean_object* x_200; uint8_t x_201; uint8_t x_202; uint8_t x_203; uint8_t x_204; uint8_t x_205; uint8_t x_206; uint8_t x_207; lean_object* x_208; uint8_t x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212;
+x_199 = lean_ctor_get(x_2, 1);
+x_200 = lean_ctor_get(x_2, 2);
lean_inc(x_200);
-lean_dec(x_16);
-x_201 = 0;
-x_202 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_202, 0, x_200);
-lean_ctor_set_uint8(x_202, sizeof(void*)*1, x_201);
-lean_ctor_set(x_15, 3, x_202);
-x_203 = lean_st_ref_set(x_5, x_15, x_17);
-x_204 = lean_ctor_get(x_2, 0);
-lean_inc(x_204);
-x_205 = lean_ctor_get(x_203, 1);
-lean_inc(x_205);
-lean_dec(x_203);
-x_206 = lean_ctor_get(x_2, 1);
-lean_inc(x_206);
-x_207 = lean_ctor_get(x_2, 2);
-lean_inc(x_207);
-if (lean_is_exclusive(x_2)) {
- lean_ctor_release(x_2, 0);
- lean_ctor_release(x_2, 1);
- lean_ctor_release(x_2, 2);
- x_208 = x_2;
+lean_inc(x_199);
+lean_dec(x_2);
+x_201 = lean_ctor_get_uint8(x_76, 0);
+x_202 = lean_ctor_get_uint8(x_76, 1);
+x_203 = lean_ctor_get_uint8(x_76, 2);
+x_204 = lean_ctor_get_uint8(x_76, 3);
+x_205 = lean_ctor_get_uint8(x_76, 4);
+x_206 = lean_ctor_get_uint8(x_76, 6);
+x_207 = lean_ctor_get_uint8(x_76, 7);
+if (lean_is_exclusive(x_76)) {
+ x_208 = x_76;
} else {
- lean_dec_ref(x_2);
+ lean_dec_ref(x_76);
x_208 = lean_box(0);
}
-x_209 = lean_ctor_get_uint8(x_204, 0);
-x_210 = lean_ctor_get_uint8(x_204, 1);
-x_211 = lean_ctor_get_uint8(x_204, 2);
-x_212 = lean_ctor_get_uint8(x_204, 3);
-x_213 = lean_ctor_get_uint8(x_204, 4);
-x_214 = lean_ctor_get_uint8(x_204, 6);
-x_215 = lean_ctor_get_uint8(x_204, 7);
-if (lean_is_exclusive(x_204)) {
- x_216 = x_204;
-} else {
- lean_dec_ref(x_204);
- x_216 = lean_box(0);
-}
-x_217 = 0;
-if (lean_is_scalar(x_216)) {
- x_218 = lean_alloc_ctor(0, 0, 8);
-} else {
- x_218 = x_216;
-}
-lean_ctor_set_uint8(x_218, 0, x_209);
-lean_ctor_set_uint8(x_218, 1, x_210);
-lean_ctor_set_uint8(x_218, 2, x_211);
-lean_ctor_set_uint8(x_218, 3, x_212);
-lean_ctor_set_uint8(x_218, 4, x_213);
-lean_ctor_set_uint8(x_218, 5, x_217);
-lean_ctor_set_uint8(x_218, 6, x_214);
-lean_ctor_set_uint8(x_218, 7, x_215);
+x_209 = 0;
if (lean_is_scalar(x_208)) {
- x_219 = lean_alloc_ctor(0, 3, 0);
+ x_210 = lean_alloc_ctor(0, 0, 8);
} else {
- x_219 = x_208;
+ x_210 = x_208;
}
-lean_ctor_set(x_219, 0, x_218);
-lean_ctor_set(x_219, 1, x_206);
-lean_ctor_set(x_219, 2, x_207);
+lean_ctor_set_uint8(x_210, 0, x_201);
+lean_ctor_set_uint8(x_210, 1, x_202);
+lean_ctor_set_uint8(x_210, 2, x_203);
+lean_ctor_set_uint8(x_210, 3, x_204);
+lean_ctor_set_uint8(x_210, 4, x_205);
+lean_ctor_set_uint8(x_210, 5, x_209);
+lean_ctor_set_uint8(x_210, 6, x_206);
+lean_ctor_set_uint8(x_210, 7, x_207);
+x_211 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_211, 0, x_210);
+lean_ctor_set(x_211, 1, x_199);
+lean_ctor_set(x_211, 2, x_200);
lean_inc(x_5);
-x_220 = l___private_Lean_Meta_Check_0__Lean_Meta_checkAux(x_1, x_219, x_3, x_4, x_5, x_205);
-if (lean_obj_tag(x_220) == 0)
+x_212 = l___private_Lean_Meta_Check_0__Lean_Meta_checkAux(x_1, x_211, x_3, x_4, x_5, x_77);
+if (lean_obj_tag(x_212) == 0)
{
-lean_object* x_221; lean_object* x_222; lean_object* x_223; lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; lean_object* x_228; lean_object* x_229; lean_object* x_230; lean_object* x_231; lean_object* x_232; lean_object* x_233; lean_object* x_234; lean_object* x_235; lean_object* x_236; lean_object* x_237; lean_object* x_238; lean_object* x_239; lean_object* x_240;
-x_221 = lean_ctor_get(x_220, 0);
+lean_object* x_213; lean_object* x_214; lean_object* x_215; lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; lean_object* x_221; lean_object* x_222; lean_object* x_223; lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; lean_object* x_228; lean_object* x_229; lean_object* x_230; lean_object* x_231; lean_object* x_232;
+x_213 = lean_ctor_get(x_212, 0);
+lean_inc(x_213);
+x_214 = lean_ctor_get(x_212, 1);
+lean_inc(x_214);
+lean_dec(x_212);
+x_215 = lean_st_ref_get(x_5, x_214);
+x_216 = lean_ctor_get(x_215, 1);
+lean_inc(x_216);
+lean_dec(x_215);
+x_217 = lean_st_ref_take(x_5, x_216);
+x_218 = lean_ctor_get(x_217, 0);
+lean_inc(x_218);
+x_219 = lean_ctor_get(x_218, 3);
+lean_inc(x_219);
+x_220 = lean_ctor_get(x_217, 1);
+lean_inc(x_220);
+lean_dec(x_217);
+x_221 = lean_ctor_get(x_218, 0);
lean_inc(x_221);
-x_222 = lean_ctor_get(x_220, 1);
+x_222 = lean_ctor_get(x_218, 1);
lean_inc(x_222);
-lean_dec(x_220);
-x_223 = lean_st_ref_get(x_5, x_222);
-x_224 = lean_ctor_get(x_223, 1);
-lean_inc(x_224);
-lean_dec(x_223);
-x_225 = lean_st_ref_take(x_5, x_224);
-x_226 = lean_ctor_get(x_225, 0);
-lean_inc(x_226);
-x_227 = lean_ctor_get(x_226, 3);
-lean_inc(x_227);
-x_228 = lean_ctor_get(x_225, 1);
-lean_inc(x_228);
-lean_dec(x_225);
-x_229 = lean_ctor_get(x_226, 0);
-lean_inc(x_229);
-x_230 = lean_ctor_get(x_226, 1);
+x_223 = lean_ctor_get(x_218, 2);
+lean_inc(x_223);
+if (lean_is_exclusive(x_218)) {
+ lean_ctor_release(x_218, 0);
+ lean_ctor_release(x_218, 1);
+ lean_ctor_release(x_218, 2);
+ lean_ctor_release(x_218, 3);
+ x_224 = x_218;
+} else {
+ lean_dec_ref(x_218);
+ x_224 = lean_box(0);
+}
+x_225 = lean_ctor_get(x_219, 0);
+lean_inc(x_225);
+if (lean_is_exclusive(x_219)) {
+ lean_ctor_release(x_219, 0);
+ x_226 = x_219;
+} else {
+ lean_dec_ref(x_219);
+ x_226 = lean_box(0);
+}
+if (lean_is_scalar(x_226)) {
+ x_227 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_227 = x_226;
+}
+lean_ctor_set(x_227, 0, x_225);
+lean_ctor_set_uint8(x_227, sizeof(void*)*1, x_66);
+if (lean_is_scalar(x_224)) {
+ x_228 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_228 = x_224;
+}
+lean_ctor_set(x_228, 0, x_221);
+lean_ctor_set(x_228, 1, x_222);
+lean_ctor_set(x_228, 2, x_223);
+lean_ctor_set(x_228, 3, x_227);
+x_229 = lean_st_ref_set(x_5, x_228, x_220);
+lean_dec(x_5);
+x_230 = lean_ctor_get(x_229, 1);
lean_inc(x_230);
-x_231 = lean_ctor_get(x_226, 2);
-lean_inc(x_231);
-if (lean_is_exclusive(x_226)) {
- lean_ctor_release(x_226, 0);
- lean_ctor_release(x_226, 1);
- lean_ctor_release(x_226, 2);
- lean_ctor_release(x_226, 3);
- x_232 = x_226;
+if (lean_is_exclusive(x_229)) {
+ lean_ctor_release(x_229, 0);
+ lean_ctor_release(x_229, 1);
+ x_231 = x_229;
} else {
- lean_dec_ref(x_226);
- x_232 = lean_box(0);
+ lean_dec_ref(x_229);
+ x_231 = lean_box(0);
}
-x_233 = lean_ctor_get(x_227, 0);
+if (lean_is_scalar(x_231)) {
+ x_232 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_232 = x_231;
+}
+lean_ctor_set(x_232, 0, x_213);
+lean_ctor_set(x_232, 1, x_230);
+return x_232;
+}
+else
+{
+lean_object* x_233; lean_object* x_234; lean_object* x_235; lean_object* x_236; lean_object* x_237; lean_object* x_238; lean_object* x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244; lean_object* x_245; lean_object* x_246; lean_object* x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252;
+x_233 = lean_ctor_get(x_212, 0);
lean_inc(x_233);
-if (lean_is_exclusive(x_227)) {
- lean_ctor_release(x_227, 0);
- x_234 = x_227;
-} else {
- lean_dec_ref(x_227);
- x_234 = lean_box(0);
-}
-if (lean_is_scalar(x_234)) {
- x_235 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_235 = x_234;
-}
-lean_ctor_set(x_235, 0, x_233);
-lean_ctor_set_uint8(x_235, sizeof(void*)*1, x_13);
-if (lean_is_scalar(x_232)) {
- x_236 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_236 = x_232;
-}
-lean_ctor_set(x_236, 0, x_229);
-lean_ctor_set(x_236, 1, x_230);
-lean_ctor_set(x_236, 2, x_231);
-lean_ctor_set(x_236, 3, x_235);
-x_237 = lean_st_ref_set(x_5, x_236, x_228);
-lean_dec(x_5);
-x_238 = lean_ctor_get(x_237, 1);
+x_234 = lean_ctor_get(x_212, 1);
+lean_inc(x_234);
+lean_dec(x_212);
+x_235 = lean_st_ref_get(x_5, x_234);
+x_236 = lean_ctor_get(x_235, 1);
+lean_inc(x_236);
+lean_dec(x_235);
+x_237 = lean_st_ref_take(x_5, x_236);
+x_238 = lean_ctor_get(x_237, 0);
lean_inc(x_238);
-if (lean_is_exclusive(x_237)) {
- lean_ctor_release(x_237, 0);
- lean_ctor_release(x_237, 1);
- x_239 = x_237;
-} else {
- lean_dec_ref(x_237);
- x_239 = lean_box(0);
-}
-if (lean_is_scalar(x_239)) {
- x_240 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_240 = x_239;
-}
-lean_ctor_set(x_240, 0, x_221);
-lean_ctor_set(x_240, 1, x_238);
-return x_240;
-}
-else
-{
-lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244; lean_object* x_245; lean_object* x_246; lean_object* x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253; lean_object* x_254; lean_object* x_255; lean_object* x_256; lean_object* x_257; lean_object* x_258; lean_object* x_259; lean_object* x_260;
-x_241 = lean_ctor_get(x_220, 0);
+x_239 = lean_ctor_get(x_238, 3);
+lean_inc(x_239);
+x_240 = lean_ctor_get(x_237, 1);
+lean_inc(x_240);
+lean_dec(x_237);
+x_241 = lean_ctor_get(x_238, 0);
lean_inc(x_241);
-x_242 = lean_ctor_get(x_220, 1);
+x_242 = lean_ctor_get(x_238, 1);
lean_inc(x_242);
-lean_dec(x_220);
-x_243 = lean_st_ref_get(x_5, x_242);
-x_244 = lean_ctor_get(x_243, 1);
-lean_inc(x_244);
-lean_dec(x_243);
-x_245 = lean_st_ref_take(x_5, x_244);
-x_246 = lean_ctor_get(x_245, 0);
-lean_inc(x_246);
-x_247 = lean_ctor_get(x_246, 3);
-lean_inc(x_247);
-x_248 = lean_ctor_get(x_245, 1);
-lean_inc(x_248);
-lean_dec(x_245);
-x_249 = lean_ctor_get(x_246, 0);
-lean_inc(x_249);
-x_250 = lean_ctor_get(x_246, 1);
-lean_inc(x_250);
-x_251 = lean_ctor_get(x_246, 2);
-lean_inc(x_251);
-if (lean_is_exclusive(x_246)) {
- lean_ctor_release(x_246, 0);
- lean_ctor_release(x_246, 1);
- lean_ctor_release(x_246, 2);
- lean_ctor_release(x_246, 3);
- x_252 = x_246;
+x_243 = lean_ctor_get(x_238, 2);
+lean_inc(x_243);
+if (lean_is_exclusive(x_238)) {
+ lean_ctor_release(x_238, 0);
+ lean_ctor_release(x_238, 1);
+ lean_ctor_release(x_238, 2);
+ lean_ctor_release(x_238, 3);
+ x_244 = x_238;
} else {
- lean_dec_ref(x_246);
- x_252 = lean_box(0);
+ lean_dec_ref(x_238);
+ x_244 = lean_box(0);
}
-x_253 = lean_ctor_get(x_247, 0);
-lean_inc(x_253);
-if (lean_is_exclusive(x_247)) {
- lean_ctor_release(x_247, 0);
- x_254 = x_247;
+x_245 = lean_ctor_get(x_239, 0);
+lean_inc(x_245);
+if (lean_is_exclusive(x_239)) {
+ lean_ctor_release(x_239, 0);
+ x_246 = x_239;
} else {
- lean_dec_ref(x_247);
- x_254 = lean_box(0);
+ lean_dec_ref(x_239);
+ x_246 = lean_box(0);
}
-if (lean_is_scalar(x_254)) {
- x_255 = lean_alloc_ctor(0, 1, 1);
+if (lean_is_scalar(x_246)) {
+ x_247 = lean_alloc_ctor(0, 1, 1);
} else {
- x_255 = x_254;
+ x_247 = x_246;
}
-lean_ctor_set(x_255, 0, x_253);
-lean_ctor_set_uint8(x_255, sizeof(void*)*1, x_13);
-if (lean_is_scalar(x_252)) {
- x_256 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_247, 0, x_245);
+lean_ctor_set_uint8(x_247, sizeof(void*)*1, x_66);
+if (lean_is_scalar(x_244)) {
+ x_248 = lean_alloc_ctor(0, 4, 0);
} else {
- x_256 = x_252;
+ x_248 = x_244;
}
-lean_ctor_set(x_256, 0, x_249);
-lean_ctor_set(x_256, 1, x_250);
-lean_ctor_set(x_256, 2, x_251);
-lean_ctor_set(x_256, 3, x_255);
-x_257 = lean_st_ref_set(x_5, x_256, x_248);
+lean_ctor_set(x_248, 0, x_241);
+lean_ctor_set(x_248, 1, x_242);
+lean_ctor_set(x_248, 2, x_243);
+lean_ctor_set(x_248, 3, x_247);
+x_249 = lean_st_ref_set(x_5, x_248, x_240);
lean_dec(x_5);
-x_258 = lean_ctor_get(x_257, 1);
-lean_inc(x_258);
-if (lean_is_exclusive(x_257)) {
- lean_ctor_release(x_257, 0);
- lean_ctor_release(x_257, 1);
- x_259 = x_257;
+x_250 = lean_ctor_get(x_249, 1);
+lean_inc(x_250);
+if (lean_is_exclusive(x_249)) {
+ lean_ctor_release(x_249, 0);
+ lean_ctor_release(x_249, 1);
+ x_251 = x_249;
} else {
- lean_dec_ref(x_257);
- x_259 = lean_box(0);
+ lean_dec_ref(x_249);
+ x_251 = lean_box(0);
}
-if (lean_is_scalar(x_259)) {
- x_260 = lean_alloc_ctor(1, 2, 0);
+if (lean_is_scalar(x_251)) {
+ x_252 = lean_alloc_ctor(1, 2, 0);
} else {
- x_260 = x_259;
- lean_ctor_set_tag(x_260, 1);
+ x_252 = x_251;
+ lean_ctor_set_tag(x_252, 1);
}
-lean_ctor_set(x_260, 0, x_241);
-lean_ctor_set(x_260, 1, x_258);
-return x_260;
+lean_ctor_set(x_252, 0, x_233);
+lean_ctor_set(x_252, 1, x_250);
+return x_252;
}
}
}
else
{
-lean_object* x_261; lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265; uint8_t x_266; lean_object* x_267; lean_object* x_268; lean_object* x_269; lean_object* x_270; lean_object* x_271; lean_object* x_272; lean_object* x_273; lean_object* x_274; uint8_t x_275; uint8_t x_276; uint8_t x_277; uint8_t x_278; uint8_t x_279; uint8_t x_280; uint8_t x_281; lean_object* x_282; uint8_t x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286;
-x_261 = lean_ctor_get(x_15, 0);
-x_262 = lean_ctor_get(x_15, 1);
-x_263 = lean_ctor_get(x_15, 2);
-lean_inc(x_263);
-lean_inc(x_262);
-lean_inc(x_261);
-lean_dec(x_15);
-x_264 = lean_ctor_get(x_16, 0);
-lean_inc(x_264);
-if (lean_is_exclusive(x_16)) {
- lean_ctor_release(x_16, 0);
- x_265 = x_16;
-} else {
- lean_dec_ref(x_16);
- x_265 = lean_box(0);
-}
-x_266 = 0;
-if (lean_is_scalar(x_265)) {
- x_267 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_267 = x_265;
-}
-lean_ctor_set(x_267, 0, x_264);
-lean_ctor_set_uint8(x_267, sizeof(void*)*1, x_266);
-x_268 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_268, 0, x_261);
-lean_ctor_set(x_268, 1, x_262);
-lean_ctor_set(x_268, 2, x_263);
-lean_ctor_set(x_268, 3, x_267);
-x_269 = lean_st_ref_set(x_5, x_268, x_17);
-x_270 = lean_ctor_get(x_2, 0);
-lean_inc(x_270);
-x_271 = lean_ctor_get(x_269, 1);
-lean_inc(x_271);
-lean_dec(x_269);
-x_272 = lean_ctor_get(x_2, 1);
-lean_inc(x_272);
-x_273 = lean_ctor_get(x_2, 2);
-lean_inc(x_273);
+lean_object* x_253; uint8_t x_254; lean_object* x_255; lean_object* x_256; lean_object* x_257; lean_object* x_258; lean_object* x_259; lean_object* x_260; lean_object* x_261; uint8_t x_262; uint8_t x_263; uint8_t x_264; uint8_t x_265; uint8_t x_266; uint8_t x_267; uint8_t x_268; lean_object* x_269; uint8_t x_270; lean_object* x_271; lean_object* x_272; lean_object* x_273;
+x_253 = lean_ctor_get(x_69, 0);
+lean_inc(x_253);
+lean_dec(x_69);
+x_254 = 0;
+x_255 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_255, 0, x_253);
+lean_ctor_set_uint8(x_255, sizeof(void*)*1, x_254);
+lean_ctor_set(x_68, 3, x_255);
+x_256 = lean_st_ref_set(x_5, x_68, x_70);
+x_257 = lean_ctor_get(x_2, 0);
+lean_inc(x_257);
+x_258 = lean_ctor_get(x_256, 1);
+lean_inc(x_258);
+lean_dec(x_256);
+x_259 = lean_ctor_get(x_2, 1);
+lean_inc(x_259);
+x_260 = lean_ctor_get(x_2, 2);
+lean_inc(x_260);
if (lean_is_exclusive(x_2)) {
lean_ctor_release(x_2, 0);
lean_ctor_release(x_2, 1);
lean_ctor_release(x_2, 2);
- x_274 = x_2;
+ x_261 = x_2;
} else {
lean_dec_ref(x_2);
- x_274 = lean_box(0);
+ x_261 = lean_box(0);
}
-x_275 = lean_ctor_get_uint8(x_270, 0);
-x_276 = lean_ctor_get_uint8(x_270, 1);
-x_277 = lean_ctor_get_uint8(x_270, 2);
-x_278 = lean_ctor_get_uint8(x_270, 3);
-x_279 = lean_ctor_get_uint8(x_270, 4);
-x_280 = lean_ctor_get_uint8(x_270, 6);
-x_281 = lean_ctor_get_uint8(x_270, 7);
-if (lean_is_exclusive(x_270)) {
- x_282 = x_270;
+x_262 = lean_ctor_get_uint8(x_257, 0);
+x_263 = lean_ctor_get_uint8(x_257, 1);
+x_264 = lean_ctor_get_uint8(x_257, 2);
+x_265 = lean_ctor_get_uint8(x_257, 3);
+x_266 = lean_ctor_get_uint8(x_257, 4);
+x_267 = lean_ctor_get_uint8(x_257, 6);
+x_268 = lean_ctor_get_uint8(x_257, 7);
+if (lean_is_exclusive(x_257)) {
+ x_269 = x_257;
} else {
- lean_dec_ref(x_270);
- x_282 = lean_box(0);
+ lean_dec_ref(x_257);
+ x_269 = lean_box(0);
}
-x_283 = 0;
-if (lean_is_scalar(x_282)) {
- x_284 = lean_alloc_ctor(0, 0, 8);
+x_270 = 0;
+if (lean_is_scalar(x_269)) {
+ x_271 = lean_alloc_ctor(0, 0, 8);
} else {
- x_284 = x_282;
+ x_271 = x_269;
}
-lean_ctor_set_uint8(x_284, 0, x_275);
-lean_ctor_set_uint8(x_284, 1, x_276);
-lean_ctor_set_uint8(x_284, 2, x_277);
-lean_ctor_set_uint8(x_284, 3, x_278);
-lean_ctor_set_uint8(x_284, 4, x_279);
-lean_ctor_set_uint8(x_284, 5, x_283);
-lean_ctor_set_uint8(x_284, 6, x_280);
-lean_ctor_set_uint8(x_284, 7, x_281);
-if (lean_is_scalar(x_274)) {
- x_285 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set_uint8(x_271, 0, x_262);
+lean_ctor_set_uint8(x_271, 1, x_263);
+lean_ctor_set_uint8(x_271, 2, x_264);
+lean_ctor_set_uint8(x_271, 3, x_265);
+lean_ctor_set_uint8(x_271, 4, x_266);
+lean_ctor_set_uint8(x_271, 5, x_270);
+lean_ctor_set_uint8(x_271, 6, x_267);
+lean_ctor_set_uint8(x_271, 7, x_268);
+if (lean_is_scalar(x_261)) {
+ x_272 = lean_alloc_ctor(0, 3, 0);
} else {
- x_285 = x_274;
+ x_272 = x_261;
}
-lean_ctor_set(x_285, 0, x_284);
-lean_ctor_set(x_285, 1, x_272);
-lean_ctor_set(x_285, 2, x_273);
+lean_ctor_set(x_272, 0, x_271);
+lean_ctor_set(x_272, 1, x_259);
+lean_ctor_set(x_272, 2, x_260);
lean_inc(x_5);
-x_286 = l___private_Lean_Meta_Check_0__Lean_Meta_checkAux(x_1, x_285, x_3, x_4, x_5, x_271);
-if (lean_obj_tag(x_286) == 0)
+x_273 = l___private_Lean_Meta_Check_0__Lean_Meta_checkAux(x_1, x_272, x_3, x_4, x_5, x_258);
+if (lean_obj_tag(x_273) == 0)
{
-lean_object* x_287; lean_object* x_288; lean_object* x_289; lean_object* x_290; lean_object* x_291; lean_object* x_292; lean_object* x_293; lean_object* x_294; lean_object* x_295; lean_object* x_296; lean_object* x_297; lean_object* x_298; lean_object* x_299; lean_object* x_300; lean_object* x_301; lean_object* x_302; lean_object* x_303; lean_object* x_304; lean_object* x_305; lean_object* x_306;
-x_287 = lean_ctor_get(x_286, 0);
-lean_inc(x_287);
-x_288 = lean_ctor_get(x_286, 1);
-lean_inc(x_288);
-lean_dec(x_286);
-x_289 = lean_st_ref_get(x_5, x_288);
-x_290 = lean_ctor_get(x_289, 1);
-lean_inc(x_290);
-lean_dec(x_289);
-x_291 = lean_st_ref_take(x_5, x_290);
-x_292 = lean_ctor_get(x_291, 0);
-lean_inc(x_292);
-x_293 = lean_ctor_get(x_292, 3);
-lean_inc(x_293);
-x_294 = lean_ctor_get(x_291, 1);
-lean_inc(x_294);
-lean_dec(x_291);
-x_295 = lean_ctor_get(x_292, 0);
-lean_inc(x_295);
-x_296 = lean_ctor_get(x_292, 1);
-lean_inc(x_296);
-x_297 = lean_ctor_get(x_292, 2);
-lean_inc(x_297);
-if (lean_is_exclusive(x_292)) {
- lean_ctor_release(x_292, 0);
- lean_ctor_release(x_292, 1);
- lean_ctor_release(x_292, 2);
- lean_ctor_release(x_292, 3);
- x_298 = x_292;
+lean_object* x_274; lean_object* x_275; lean_object* x_276; lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; lean_object* x_281; lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286; lean_object* x_287; lean_object* x_288; lean_object* x_289; lean_object* x_290; lean_object* x_291; lean_object* x_292; lean_object* x_293;
+x_274 = lean_ctor_get(x_273, 0);
+lean_inc(x_274);
+x_275 = lean_ctor_get(x_273, 1);
+lean_inc(x_275);
+lean_dec(x_273);
+x_276 = lean_st_ref_get(x_5, x_275);
+x_277 = lean_ctor_get(x_276, 1);
+lean_inc(x_277);
+lean_dec(x_276);
+x_278 = lean_st_ref_take(x_5, x_277);
+x_279 = lean_ctor_get(x_278, 0);
+lean_inc(x_279);
+x_280 = lean_ctor_get(x_279, 3);
+lean_inc(x_280);
+x_281 = lean_ctor_get(x_278, 1);
+lean_inc(x_281);
+lean_dec(x_278);
+x_282 = lean_ctor_get(x_279, 0);
+lean_inc(x_282);
+x_283 = lean_ctor_get(x_279, 1);
+lean_inc(x_283);
+x_284 = lean_ctor_get(x_279, 2);
+lean_inc(x_284);
+if (lean_is_exclusive(x_279)) {
+ lean_ctor_release(x_279, 0);
+ lean_ctor_release(x_279, 1);
+ lean_ctor_release(x_279, 2);
+ lean_ctor_release(x_279, 3);
+ x_285 = x_279;
} else {
- lean_dec_ref(x_292);
- x_298 = lean_box(0);
+ lean_dec_ref(x_279);
+ x_285 = lean_box(0);
}
-x_299 = lean_ctor_get(x_293, 0);
-lean_inc(x_299);
-if (lean_is_exclusive(x_293)) {
- lean_ctor_release(x_293, 0);
- x_300 = x_293;
+x_286 = lean_ctor_get(x_280, 0);
+lean_inc(x_286);
+if (lean_is_exclusive(x_280)) {
+ lean_ctor_release(x_280, 0);
+ x_287 = x_280;
} else {
- lean_dec_ref(x_293);
- x_300 = lean_box(0);
+ lean_dec_ref(x_280);
+ x_287 = lean_box(0);
}
-if (lean_is_scalar(x_300)) {
- x_301 = lean_alloc_ctor(0, 1, 1);
+if (lean_is_scalar(x_287)) {
+ x_288 = lean_alloc_ctor(0, 1, 1);
} else {
- x_301 = x_300;
+ x_288 = x_287;
}
-lean_ctor_set(x_301, 0, x_299);
-lean_ctor_set_uint8(x_301, sizeof(void*)*1, x_13);
-if (lean_is_scalar(x_298)) {
- x_302 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_288, 0, x_286);
+lean_ctor_set_uint8(x_288, sizeof(void*)*1, x_66);
+if (lean_is_scalar(x_285)) {
+ x_289 = lean_alloc_ctor(0, 4, 0);
} else {
- x_302 = x_298;
+ x_289 = x_285;
}
-lean_ctor_set(x_302, 0, x_295);
-lean_ctor_set(x_302, 1, x_296);
-lean_ctor_set(x_302, 2, x_297);
-lean_ctor_set(x_302, 3, x_301);
-x_303 = lean_st_ref_set(x_5, x_302, x_294);
+lean_ctor_set(x_289, 0, x_282);
+lean_ctor_set(x_289, 1, x_283);
+lean_ctor_set(x_289, 2, x_284);
+lean_ctor_set(x_289, 3, x_288);
+x_290 = lean_st_ref_set(x_5, x_289, x_281);
lean_dec(x_5);
-x_304 = lean_ctor_get(x_303, 1);
-lean_inc(x_304);
-if (lean_is_exclusive(x_303)) {
- lean_ctor_release(x_303, 0);
- lean_ctor_release(x_303, 1);
- x_305 = x_303;
+x_291 = lean_ctor_get(x_290, 1);
+lean_inc(x_291);
+if (lean_is_exclusive(x_290)) {
+ lean_ctor_release(x_290, 0);
+ lean_ctor_release(x_290, 1);
+ x_292 = x_290;
} else {
- lean_dec_ref(x_303);
+ lean_dec_ref(x_290);
+ x_292 = lean_box(0);
+}
+if (lean_is_scalar(x_292)) {
+ x_293 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_293 = x_292;
+}
+lean_ctor_set(x_293, 0, x_274);
+lean_ctor_set(x_293, 1, x_291);
+return x_293;
+}
+else
+{
+lean_object* x_294; lean_object* x_295; lean_object* x_296; lean_object* x_297; lean_object* x_298; lean_object* x_299; lean_object* x_300; lean_object* x_301; lean_object* x_302; lean_object* x_303; lean_object* x_304; lean_object* x_305; lean_object* x_306; lean_object* x_307; lean_object* x_308; lean_object* x_309; lean_object* x_310; lean_object* x_311; lean_object* x_312; lean_object* x_313;
+x_294 = lean_ctor_get(x_273, 0);
+lean_inc(x_294);
+x_295 = lean_ctor_get(x_273, 1);
+lean_inc(x_295);
+lean_dec(x_273);
+x_296 = lean_st_ref_get(x_5, x_295);
+x_297 = lean_ctor_get(x_296, 1);
+lean_inc(x_297);
+lean_dec(x_296);
+x_298 = lean_st_ref_take(x_5, x_297);
+x_299 = lean_ctor_get(x_298, 0);
+lean_inc(x_299);
+x_300 = lean_ctor_get(x_299, 3);
+lean_inc(x_300);
+x_301 = lean_ctor_get(x_298, 1);
+lean_inc(x_301);
+lean_dec(x_298);
+x_302 = lean_ctor_get(x_299, 0);
+lean_inc(x_302);
+x_303 = lean_ctor_get(x_299, 1);
+lean_inc(x_303);
+x_304 = lean_ctor_get(x_299, 2);
+lean_inc(x_304);
+if (lean_is_exclusive(x_299)) {
+ lean_ctor_release(x_299, 0);
+ lean_ctor_release(x_299, 1);
+ lean_ctor_release(x_299, 2);
+ lean_ctor_release(x_299, 3);
+ x_305 = x_299;
+} else {
+ lean_dec_ref(x_299);
x_305 = lean_box(0);
}
-if (lean_is_scalar(x_305)) {
- x_306 = lean_alloc_ctor(0, 2, 0);
+x_306 = lean_ctor_get(x_300, 0);
+lean_inc(x_306);
+if (lean_is_exclusive(x_300)) {
+ lean_ctor_release(x_300, 0);
+ x_307 = x_300;
} else {
- x_306 = x_305;
+ lean_dec_ref(x_300);
+ x_307 = lean_box(0);
+}
+if (lean_is_scalar(x_307)) {
+ x_308 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_308 = x_307;
+}
+lean_ctor_set(x_308, 0, x_306);
+lean_ctor_set_uint8(x_308, sizeof(void*)*1, x_66);
+if (lean_is_scalar(x_305)) {
+ x_309 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_309 = x_305;
+}
+lean_ctor_set(x_309, 0, x_302);
+lean_ctor_set(x_309, 1, x_303);
+lean_ctor_set(x_309, 2, x_304);
+lean_ctor_set(x_309, 3, x_308);
+x_310 = lean_st_ref_set(x_5, x_309, x_301);
+lean_dec(x_5);
+x_311 = lean_ctor_get(x_310, 1);
+lean_inc(x_311);
+if (lean_is_exclusive(x_310)) {
+ lean_ctor_release(x_310, 0);
+ lean_ctor_release(x_310, 1);
+ x_312 = x_310;
+} else {
+ lean_dec_ref(x_310);
+ x_312 = lean_box(0);
+}
+if (lean_is_scalar(x_312)) {
+ x_313 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_313 = x_312;
+ lean_ctor_set_tag(x_313, 1);
+}
+lean_ctor_set(x_313, 0, x_294);
+lean_ctor_set(x_313, 1, x_311);
+return x_313;
+}
}
-lean_ctor_set(x_306, 0, x_287);
-lean_ctor_set(x_306, 1, x_304);
-return x_306;
}
else
{
-lean_object* x_307; lean_object* x_308; lean_object* x_309; lean_object* x_310; lean_object* x_311; lean_object* x_312; lean_object* x_313; lean_object* x_314; lean_object* x_315; lean_object* x_316; lean_object* x_317; lean_object* x_318; lean_object* x_319; lean_object* x_320; lean_object* x_321; lean_object* x_322; lean_object* x_323; lean_object* x_324; lean_object* x_325; lean_object* x_326;
-x_307 = lean_ctor_get(x_286, 0);
-lean_inc(x_307);
-x_308 = lean_ctor_get(x_286, 1);
-lean_inc(x_308);
-lean_dec(x_286);
-x_309 = lean_st_ref_get(x_5, x_308);
-x_310 = lean_ctor_get(x_309, 1);
-lean_inc(x_310);
-lean_dec(x_309);
-x_311 = lean_st_ref_take(x_5, x_310);
-x_312 = lean_ctor_get(x_311, 0);
-lean_inc(x_312);
-x_313 = lean_ctor_get(x_312, 3);
-lean_inc(x_313);
-x_314 = lean_ctor_get(x_311, 1);
-lean_inc(x_314);
-lean_dec(x_311);
-x_315 = lean_ctor_get(x_312, 0);
-lean_inc(x_315);
-x_316 = lean_ctor_get(x_312, 1);
+lean_object* x_314; lean_object* x_315; lean_object* x_316; lean_object* x_317; lean_object* x_318; uint8_t x_319; lean_object* x_320; lean_object* x_321; lean_object* x_322; lean_object* x_323; lean_object* x_324; lean_object* x_325; lean_object* x_326; lean_object* x_327; uint8_t x_328; uint8_t x_329; uint8_t x_330; uint8_t x_331; uint8_t x_332; uint8_t x_333; uint8_t x_334; lean_object* x_335; uint8_t x_336; lean_object* x_337; lean_object* x_338; lean_object* x_339;
+x_314 = lean_ctor_get(x_68, 0);
+x_315 = lean_ctor_get(x_68, 1);
+x_316 = lean_ctor_get(x_68, 2);
lean_inc(x_316);
-x_317 = lean_ctor_get(x_312, 2);
+lean_inc(x_315);
+lean_inc(x_314);
+lean_dec(x_68);
+x_317 = lean_ctor_get(x_69, 0);
lean_inc(x_317);
-if (lean_is_exclusive(x_312)) {
- lean_ctor_release(x_312, 0);
- lean_ctor_release(x_312, 1);
- lean_ctor_release(x_312, 2);
- lean_ctor_release(x_312, 3);
- x_318 = x_312;
+if (lean_is_exclusive(x_69)) {
+ lean_ctor_release(x_69, 0);
+ x_318 = x_69;
} else {
- lean_dec_ref(x_312);
+ lean_dec_ref(x_69);
x_318 = lean_box(0);
}
-x_319 = lean_ctor_get(x_313, 0);
-lean_inc(x_319);
-if (lean_is_exclusive(x_313)) {
- lean_ctor_release(x_313, 0);
- x_320 = x_313;
-} else {
- lean_dec_ref(x_313);
- x_320 = lean_box(0);
-}
-if (lean_is_scalar(x_320)) {
- x_321 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_321 = x_320;
-}
-lean_ctor_set(x_321, 0, x_319);
-lean_ctor_set_uint8(x_321, sizeof(void*)*1, x_13);
+x_319 = 0;
if (lean_is_scalar(x_318)) {
- x_322 = lean_alloc_ctor(0, 4, 0);
+ x_320 = lean_alloc_ctor(0, 1, 1);
} else {
- x_322 = x_318;
+ x_320 = x_318;
}
-lean_ctor_set(x_322, 0, x_315);
-lean_ctor_set(x_322, 1, x_316);
-lean_ctor_set(x_322, 2, x_317);
-lean_ctor_set(x_322, 3, x_321);
-x_323 = lean_st_ref_set(x_5, x_322, x_314);
-lean_dec(x_5);
-x_324 = lean_ctor_get(x_323, 1);
+lean_ctor_set(x_320, 0, x_317);
+lean_ctor_set_uint8(x_320, sizeof(void*)*1, x_319);
+x_321 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_321, 0, x_314);
+lean_ctor_set(x_321, 1, x_315);
+lean_ctor_set(x_321, 2, x_316);
+lean_ctor_set(x_321, 3, x_320);
+x_322 = lean_st_ref_set(x_5, x_321, x_70);
+x_323 = lean_ctor_get(x_2, 0);
+lean_inc(x_323);
+x_324 = lean_ctor_get(x_322, 1);
lean_inc(x_324);
+lean_dec(x_322);
+x_325 = lean_ctor_get(x_2, 1);
+lean_inc(x_325);
+x_326 = lean_ctor_get(x_2, 2);
+lean_inc(x_326);
+if (lean_is_exclusive(x_2)) {
+ lean_ctor_release(x_2, 0);
+ lean_ctor_release(x_2, 1);
+ lean_ctor_release(x_2, 2);
+ x_327 = x_2;
+} else {
+ lean_dec_ref(x_2);
+ x_327 = lean_box(0);
+}
+x_328 = lean_ctor_get_uint8(x_323, 0);
+x_329 = lean_ctor_get_uint8(x_323, 1);
+x_330 = lean_ctor_get_uint8(x_323, 2);
+x_331 = lean_ctor_get_uint8(x_323, 3);
+x_332 = lean_ctor_get_uint8(x_323, 4);
+x_333 = lean_ctor_get_uint8(x_323, 6);
+x_334 = lean_ctor_get_uint8(x_323, 7);
if (lean_is_exclusive(x_323)) {
- lean_ctor_release(x_323, 0);
- lean_ctor_release(x_323, 1);
- x_325 = x_323;
+ x_335 = x_323;
} else {
lean_dec_ref(x_323);
- x_325 = lean_box(0);
+ x_335 = lean_box(0);
}
-if (lean_is_scalar(x_325)) {
- x_326 = lean_alloc_ctor(1, 2, 0);
+x_336 = 0;
+if (lean_is_scalar(x_335)) {
+ x_337 = lean_alloc_ctor(0, 0, 8);
} else {
- x_326 = x_325;
- lean_ctor_set_tag(x_326, 1);
+ x_337 = x_335;
}
-lean_ctor_set(x_326, 0, x_307);
-lean_ctor_set(x_326, 1, x_324);
-return x_326;
+lean_ctor_set_uint8(x_337, 0, x_328);
+lean_ctor_set_uint8(x_337, 1, x_329);
+lean_ctor_set_uint8(x_337, 2, x_330);
+lean_ctor_set_uint8(x_337, 3, x_331);
+lean_ctor_set_uint8(x_337, 4, x_332);
+lean_ctor_set_uint8(x_337, 5, x_336);
+lean_ctor_set_uint8(x_337, 6, x_333);
+lean_ctor_set_uint8(x_337, 7, x_334);
+if (lean_is_scalar(x_327)) {
+ x_338 = lean_alloc_ctor(0, 3, 0);
+} else {
+ x_338 = x_327;
}
-}
-}
-else
-{
-lean_object* x_327; lean_object* x_328; lean_object* x_329; lean_object* x_330; lean_object* x_331; lean_object* x_332; lean_object* x_333; uint8_t x_334;
-x_327 = lean_ctor_get(x_4, 3);
-lean_inc(x_327);
-x_328 = l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_check___spec__1___rarg(x_5, x_8);
-x_329 = lean_ctor_get(x_2, 0);
-lean_inc(x_329);
-x_330 = lean_ctor_get(x_328, 0);
-lean_inc(x_330);
-x_331 = lean_ctor_get(x_328, 1);
-lean_inc(x_331);
-lean_dec(x_328);
-x_332 = lean_ctor_get(x_2, 1);
-lean_inc(x_332);
-x_333 = lean_ctor_get(x_2, 2);
-lean_inc(x_333);
-x_334 = !lean_is_exclusive(x_329);
-if (x_334 == 0)
-{
-uint8_t x_335; lean_object* x_336; lean_object* x_337;
-x_335 = 0;
-lean_ctor_set_uint8(x_329, 5, x_335);
-x_336 = lean_alloc_ctor(0, 3, 0);
-lean_ctor_set(x_336, 0, x_329);
-lean_ctor_set(x_336, 1, x_332);
-lean_ctor_set(x_336, 2, x_333);
+lean_ctor_set(x_338, 0, x_337);
+lean_ctor_set(x_338, 1, x_325);
+lean_ctor_set(x_338, 2, x_326);
lean_inc(x_5);
-lean_inc(x_4);
-lean_inc(x_3);
-x_337 = l___private_Lean_Meta_Check_0__Lean_Meta_checkAux(x_1, x_336, x_3, x_4, x_5, x_331);
-if (lean_obj_tag(x_337) == 0)
+x_339 = l___private_Lean_Meta_Check_0__Lean_Meta_checkAux(x_1, x_338, x_3, x_4, x_5, x_324);
+if (lean_obj_tag(x_339) == 0)
{
-lean_object* x_338; lean_object* x_339; lean_object* x_340; lean_object* x_341; uint8_t x_342;
-x_338 = lean_ctor_get(x_337, 0);
-lean_inc(x_338);
-x_339 = lean_ctor_get(x_337, 1);
-lean_inc(x_339);
-lean_dec(x_337);
-x_340 = l_Lean_Meta_check___closed__2;
-x_341 = l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_check___spec__2(x_330, x_340, x_327, x_2, x_3, x_4, x_5, x_339);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-x_342 = !lean_is_exclusive(x_341);
-if (x_342 == 0)
-{
-lean_object* x_343;
-x_343 = lean_ctor_get(x_341, 0);
-lean_dec(x_343);
-lean_ctor_set(x_341, 0, x_338);
-return x_341;
-}
-else
-{
-lean_object* x_344; lean_object* x_345;
-x_344 = lean_ctor_get(x_341, 1);
-lean_inc(x_344);
-lean_dec(x_341);
-x_345 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_345, 0, x_338);
-lean_ctor_set(x_345, 1, x_344);
-return x_345;
-}
-}
-else
-{
-lean_object* x_346; lean_object* x_347; lean_object* x_348; lean_object* x_349; uint8_t x_350;
-x_346 = lean_ctor_get(x_337, 0);
+lean_object* x_340; lean_object* x_341; lean_object* x_342; lean_object* x_343; lean_object* x_344; lean_object* x_345; lean_object* x_346; lean_object* x_347; lean_object* x_348; lean_object* x_349; lean_object* x_350; lean_object* x_351; lean_object* x_352; lean_object* x_353; lean_object* x_354; lean_object* x_355; lean_object* x_356; lean_object* x_357; lean_object* x_358; lean_object* x_359;
+x_340 = lean_ctor_get(x_339, 0);
+lean_inc(x_340);
+x_341 = lean_ctor_get(x_339, 1);
+lean_inc(x_341);
+lean_dec(x_339);
+x_342 = lean_st_ref_get(x_5, x_341);
+x_343 = lean_ctor_get(x_342, 1);
+lean_inc(x_343);
+lean_dec(x_342);
+x_344 = lean_st_ref_take(x_5, x_343);
+x_345 = lean_ctor_get(x_344, 0);
+lean_inc(x_345);
+x_346 = lean_ctor_get(x_345, 3);
lean_inc(x_346);
-x_347 = lean_ctor_get(x_337, 1);
+x_347 = lean_ctor_get(x_344, 1);
lean_inc(x_347);
-lean_dec(x_337);
-x_348 = l_Lean_Meta_check___closed__2;
-x_349 = l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_check___spec__2(x_330, x_348, x_327, x_2, x_3, x_4, x_5, x_347);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-x_350 = !lean_is_exclusive(x_349);
-if (x_350 == 0)
-{
-lean_object* x_351;
-x_351 = lean_ctor_get(x_349, 0);
-lean_dec(x_351);
-lean_ctor_set_tag(x_349, 1);
-lean_ctor_set(x_349, 0, x_346);
-return x_349;
+lean_dec(x_344);
+x_348 = lean_ctor_get(x_345, 0);
+lean_inc(x_348);
+x_349 = lean_ctor_get(x_345, 1);
+lean_inc(x_349);
+x_350 = lean_ctor_get(x_345, 2);
+lean_inc(x_350);
+if (lean_is_exclusive(x_345)) {
+ lean_ctor_release(x_345, 0);
+ lean_ctor_release(x_345, 1);
+ lean_ctor_release(x_345, 2);
+ lean_ctor_release(x_345, 3);
+ x_351 = x_345;
+} else {
+ lean_dec_ref(x_345);
+ x_351 = lean_box(0);
}
-else
-{
-lean_object* x_352; lean_object* x_353;
-x_352 = lean_ctor_get(x_349, 1);
+x_352 = lean_ctor_get(x_346, 0);
lean_inc(x_352);
-lean_dec(x_349);
-x_353 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_353, 0, x_346);
-lean_ctor_set(x_353, 1, x_352);
-return x_353;
+if (lean_is_exclusive(x_346)) {
+ lean_ctor_release(x_346, 0);
+ x_353 = x_346;
+} else {
+ lean_dec_ref(x_346);
+ x_353 = lean_box(0);
}
+if (lean_is_scalar(x_353)) {
+ x_354 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_354 = x_353;
}
+lean_ctor_set(x_354, 0, x_352);
+lean_ctor_set_uint8(x_354, sizeof(void*)*1, x_66);
+if (lean_is_scalar(x_351)) {
+ x_355 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_355 = x_351;
+}
+lean_ctor_set(x_355, 0, x_348);
+lean_ctor_set(x_355, 1, x_349);
+lean_ctor_set(x_355, 2, x_350);
+lean_ctor_set(x_355, 3, x_354);
+x_356 = lean_st_ref_set(x_5, x_355, x_347);
+lean_dec(x_5);
+x_357 = lean_ctor_get(x_356, 1);
+lean_inc(x_357);
+if (lean_is_exclusive(x_356)) {
+ lean_ctor_release(x_356, 0);
+ lean_ctor_release(x_356, 1);
+ x_358 = x_356;
+} else {
+ lean_dec_ref(x_356);
+ x_358 = lean_box(0);
+}
+if (lean_is_scalar(x_358)) {
+ x_359 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_359 = x_358;
+}
+lean_ctor_set(x_359, 0, x_340);
+lean_ctor_set(x_359, 1, x_357);
+return x_359;
}
else
{
-uint8_t x_354; uint8_t x_355; uint8_t x_356; uint8_t x_357; uint8_t x_358; uint8_t x_359; uint8_t x_360; uint8_t x_361; lean_object* x_362; lean_object* x_363; lean_object* x_364;
-x_354 = lean_ctor_get_uint8(x_329, 0);
-x_355 = lean_ctor_get_uint8(x_329, 1);
-x_356 = lean_ctor_get_uint8(x_329, 2);
-x_357 = lean_ctor_get_uint8(x_329, 3);
-x_358 = lean_ctor_get_uint8(x_329, 4);
-x_359 = lean_ctor_get_uint8(x_329, 6);
-x_360 = lean_ctor_get_uint8(x_329, 7);
-lean_dec(x_329);
-x_361 = 0;
-x_362 = lean_alloc_ctor(0, 0, 8);
-lean_ctor_set_uint8(x_362, 0, x_354);
-lean_ctor_set_uint8(x_362, 1, x_355);
-lean_ctor_set_uint8(x_362, 2, x_356);
-lean_ctor_set_uint8(x_362, 3, x_357);
-lean_ctor_set_uint8(x_362, 4, x_358);
-lean_ctor_set_uint8(x_362, 5, x_361);
-lean_ctor_set_uint8(x_362, 6, x_359);
-lean_ctor_set_uint8(x_362, 7, x_360);
-x_363 = lean_alloc_ctor(0, 3, 0);
-lean_ctor_set(x_363, 0, x_362);
-lean_ctor_set(x_363, 1, x_332);
-lean_ctor_set(x_363, 2, x_333);
-lean_inc(x_5);
-lean_inc(x_4);
-lean_inc(x_3);
-x_364 = l___private_Lean_Meta_Check_0__Lean_Meta_checkAux(x_1, x_363, x_3, x_4, x_5, x_331);
-if (lean_obj_tag(x_364) == 0)
-{
-lean_object* x_365; lean_object* x_366; lean_object* x_367; lean_object* x_368; lean_object* x_369; lean_object* x_370; lean_object* x_371;
+lean_object* x_360; lean_object* x_361; lean_object* x_362; lean_object* x_363; lean_object* x_364; lean_object* x_365; lean_object* x_366; lean_object* x_367; lean_object* x_368; lean_object* x_369; lean_object* x_370; lean_object* x_371; lean_object* x_372; lean_object* x_373; lean_object* x_374; lean_object* x_375; lean_object* x_376; lean_object* x_377; lean_object* x_378; lean_object* x_379;
+x_360 = lean_ctor_get(x_339, 0);
+lean_inc(x_360);
+x_361 = lean_ctor_get(x_339, 1);
+lean_inc(x_361);
+lean_dec(x_339);
+x_362 = lean_st_ref_get(x_5, x_361);
+x_363 = lean_ctor_get(x_362, 1);
+lean_inc(x_363);
+lean_dec(x_362);
+x_364 = lean_st_ref_take(x_5, x_363);
x_365 = lean_ctor_get(x_364, 0);
lean_inc(x_365);
-x_366 = lean_ctor_get(x_364, 1);
+x_366 = lean_ctor_get(x_365, 3);
lean_inc(x_366);
+x_367 = lean_ctor_get(x_364, 1);
+lean_inc(x_367);
lean_dec(x_364);
-x_367 = l_Lean_Meta_check___closed__2;
-x_368 = l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_check___spec__2(x_330, x_367, x_327, x_2, x_3, x_4, x_5, x_366);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-x_369 = lean_ctor_get(x_368, 1);
+x_368 = lean_ctor_get(x_365, 0);
+lean_inc(x_368);
+x_369 = lean_ctor_get(x_365, 1);
lean_inc(x_369);
-if (lean_is_exclusive(x_368)) {
- lean_ctor_release(x_368, 0);
- lean_ctor_release(x_368, 1);
- x_370 = x_368;
+x_370 = lean_ctor_get(x_365, 2);
+lean_inc(x_370);
+if (lean_is_exclusive(x_365)) {
+ lean_ctor_release(x_365, 0);
+ lean_ctor_release(x_365, 1);
+ lean_ctor_release(x_365, 2);
+ lean_ctor_release(x_365, 3);
+ x_371 = x_365;
} else {
- lean_dec_ref(x_368);
- x_370 = lean_box(0);
+ lean_dec_ref(x_365);
+ x_371 = lean_box(0);
}
-if (lean_is_scalar(x_370)) {
- x_371 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_371 = x_370;
-}
-lean_ctor_set(x_371, 0, x_365);
-lean_ctor_set(x_371, 1, x_369);
-return x_371;
-}
-else
-{
-lean_object* x_372; lean_object* x_373; lean_object* x_374; lean_object* x_375; lean_object* x_376; lean_object* x_377; lean_object* x_378;
-x_372 = lean_ctor_get(x_364, 0);
+x_372 = lean_ctor_get(x_366, 0);
lean_inc(x_372);
-x_373 = lean_ctor_get(x_364, 1);
-lean_inc(x_373);
-lean_dec(x_364);
-x_374 = l_Lean_Meta_check___closed__2;
-x_375 = l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_check___spec__2(x_330, x_374, x_327, x_2, x_3, x_4, x_5, x_373);
+if (lean_is_exclusive(x_366)) {
+ lean_ctor_release(x_366, 0);
+ x_373 = x_366;
+} else {
+ lean_dec_ref(x_366);
+ x_373 = lean_box(0);
+}
+if (lean_is_scalar(x_373)) {
+ x_374 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_374 = x_373;
+}
+lean_ctor_set(x_374, 0, x_372);
+lean_ctor_set_uint8(x_374, sizeof(void*)*1, x_66);
+if (lean_is_scalar(x_371)) {
+ x_375 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_375 = x_371;
+}
+lean_ctor_set(x_375, 0, x_368);
+lean_ctor_set(x_375, 1, x_369);
+lean_ctor_set(x_375, 2, x_370);
+lean_ctor_set(x_375, 3, x_374);
+x_376 = lean_st_ref_set(x_5, x_375, x_367);
lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-x_376 = lean_ctor_get(x_375, 1);
-lean_inc(x_376);
-if (lean_is_exclusive(x_375)) {
- lean_ctor_release(x_375, 0);
- lean_ctor_release(x_375, 1);
- x_377 = x_375;
+x_377 = lean_ctor_get(x_376, 1);
+lean_inc(x_377);
+if (lean_is_exclusive(x_376)) {
+ lean_ctor_release(x_376, 0);
+ lean_ctor_release(x_376, 1);
+ x_378 = x_376;
} else {
- lean_dec_ref(x_375);
- x_377 = lean_box(0);
+ lean_dec_ref(x_376);
+ x_378 = lean_box(0);
}
-if (lean_is_scalar(x_377)) {
- x_378 = lean_alloc_ctor(1, 2, 0);
+if (lean_is_scalar(x_378)) {
+ x_379 = lean_alloc_ctor(1, 2, 0);
} else {
- x_378 = x_377;
- lean_ctor_set_tag(x_378, 1);
+ x_379 = x_378;
+ lean_ctor_set_tag(x_379, 1);
}
-lean_ctor_set(x_378, 0, x_372);
-lean_ctor_set(x_378, 1, x_376);
-return x_378;
+lean_ctor_set(x_379, 0, x_360);
+lean_ctor_set(x_379, 1, x_377);
+return x_379;
}
}
}
}
}
}
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_check___spec__1___rarg___boxed(lean_object* x_1, lean_object* x_2) {
+}
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_check___spec__1___rarg___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
-x_3 = l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_check___spec__1___rarg(x_1, x_2);
+x_3 = l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_check___spec__1___rarg(x_1, x_2);
lean_dec(x_1);
return x_3;
}
}
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_check___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_check___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
-x_4 = l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_check___spec__1(x_1, x_2, x_3);
+x_4 = l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_check___spec__1(x_1, x_2, x_3);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
return x_4;
}
}
-lean_object* l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_check___spec__2___boxed(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* l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_check___spec__2___boxed(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:
{
lean_object* x_9;
-x_9 = l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_check___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8);
+x_9 = l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_check___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
@@ -5654,11 +5672,11 @@ lean_dec(x_4);
return x_9;
}
}
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_check___spec__3___boxed(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* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_check___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
lean_object* x_7;
-x_7 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_check___spec__3(x_1, x_2, x_3, x_4, x_5, x_6);
+x_7 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_check___spec__3(x_1, x_2, x_3, x_4, x_5, x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
@@ -5727,133 +5745,113 @@ return x_15;
}
else
{
-lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21;
+lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19; lean_object* x_20; lean_object* x_36; lean_object* x_37; lean_object* x_38; uint8_t x_39;
x_16 = lean_ctor_get(x_7, 0);
lean_inc(x_16);
x_17 = lean_ctor_get(x_7, 1);
lean_inc(x_17);
-lean_dec(x_7);
-x_18 = lean_st_ref_get(x_5, x_17);
-x_19 = lean_ctor_get(x_18, 0);
-lean_inc(x_19);
-x_20 = lean_ctor_get(x_19, 3);
-lean_inc(x_20);
-lean_dec(x_19);
-x_21 = lean_ctor_get_uint8(x_20, sizeof(void*)*1);
-lean_dec(x_20);
-if (x_21 == 0)
-{
-uint8_t x_22;
-lean_dec(x_16);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-x_22 = !lean_is_exclusive(x_18);
-if (x_22 == 0)
-{
-lean_object* x_23; uint8_t x_24; lean_object* x_25;
-x_23 = lean_ctor_get(x_18, 0);
-lean_dec(x_23);
-x_24 = 0;
-x_25 = lean_box(x_24);
-lean_ctor_set(x_18, 0, x_25);
-return x_18;
+if (lean_is_exclusive(x_7)) {
+ lean_ctor_release(x_7, 0);
+ lean_ctor_release(x_7, 1);
+ x_18 = x_7;
+} else {
+ lean_dec_ref(x_7);
+ x_18 = lean_box(0);
}
-else
+x_36 = lean_st_ref_get(x_5, x_17);
+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_26; uint8_t x_27; lean_object* x_28; lean_object* x_29;
-x_26 = lean_ctor_get(x_18, 1);
-lean_inc(x_26);
-lean_dec(x_18);
-x_27 = 0;
-x_28 = lean_box(x_27);
-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
-{
-lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; uint8_t x_34;
-x_30 = lean_ctor_get(x_18, 1);
-lean_inc(x_30);
-lean_dec(x_18);
-x_31 = l_Lean_Meta_isTypeCorrect___closed__2;
-x_32 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_31, x_2, x_3, x_4, x_5, x_30);
-x_33 = lean_ctor_get(x_32, 0);
-lean_inc(x_33);
-x_34 = lean_unbox(x_33);
-lean_dec(x_33);
-if (x_34 == 0)
-{
-uint8_t x_35;
-lean_dec(x_16);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-x_35 = !lean_is_exclusive(x_32);
-if (x_35 == 0)
-{
-lean_object* x_36; uint8_t x_37; lean_object* x_38;
-x_36 = lean_ctor_get(x_32, 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_37 = 0;
-x_38 = lean_box(x_37);
-lean_ctor_set(x_32, 0, x_38);
-return x_32;
+x_41 = 0;
+x_19 = x_41;
+x_20 = x_40;
+goto block_35;
}
else
{
-lean_object* x_39; uint8_t x_40; lean_object* x_41; lean_object* x_42;
-x_39 = lean_ctor_get(x_32, 1);
-lean_inc(x_39);
-lean_dec(x_32);
-x_40 = 0;
-x_41 = lean_box(x_40);
-x_42 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_42, 0, x_41);
-lean_ctor_set(x_42, 1, x_39);
-return x_42;
+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_isTypeCorrect___closed__2;
+x_44 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_43, x_2, x_3, x_4, x_5, 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_19 = x_47;
+x_20 = x_46;
+goto block_35;
}
-}
-else
+block_35:
{
-lean_object* x_43; lean_object* x_44; lean_object* x_45; uint8_t x_46;
-x_43 = lean_ctor_get(x_32, 1);
-lean_inc(x_43);
-lean_dec(x_32);
-x_44 = l_Lean_Exception_toMessageData(x_16);
-x_45 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_31, x_44, x_2, x_3, x_4, x_5, x_43);
+if (x_19 == 0)
+{
+uint8_t x_21; lean_object* x_22; lean_object* x_23;
+lean_dec(x_16);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_46 = !lean_is_exclusive(x_45);
-if (x_46 == 0)
-{
-lean_object* x_47; uint8_t x_48; lean_object* x_49;
-x_47 = lean_ctor_get(x_45, 0);
-lean_dec(x_47);
-x_48 = 0;
-x_49 = lean_box(x_48);
-lean_ctor_set(x_45, 0, x_49);
-return x_45;
+x_21 = 0;
+x_22 = lean_box(x_21);
+if (lean_is_scalar(x_18)) {
+ x_23 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_23 = x_18;
+ lean_ctor_set_tag(x_23, 0);
+}
+lean_ctor_set(x_23, 0, x_22);
+lean_ctor_set(x_23, 1, x_20);
+return x_23;
}
else
{
-lean_object* x_50; uint8_t x_51; lean_object* x_52; lean_object* x_53;
-x_50 = lean_ctor_get(x_45, 1);
-lean_inc(x_50);
-lean_dec(x_45);
-x_51 = 0;
-x_52 = lean_box(x_51);
-x_53 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_53, 0, x_52);
-lean_ctor_set(x_53, 1, x_50);
-return x_53;
+lean_object* x_24; lean_object* x_25; lean_object* x_26; uint8_t x_27;
+lean_dec(x_18);
+x_24 = l_Lean_Exception_toMessageData(x_16);
+x_25 = l_Lean_Meta_isTypeCorrect___closed__2;
+x_26 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_25, x_24, x_2, x_3, x_4, x_5, x_20);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+x_27 = !lean_is_exclusive(x_26);
+if (x_27 == 0)
+{
+lean_object* x_28; uint8_t x_29; lean_object* x_30;
+x_28 = lean_ctor_get(x_26, 0);
+lean_dec(x_28);
+x_29 = 0;
+x_30 = lean_box(x_29);
+lean_ctor_set(x_26, 0, x_30);
+return x_26;
+}
+else
+{
+lean_object* x_31; uint8_t x_32; lean_object* x_33; lean_object* x_34;
+x_31 = lean_ctor_get(x_26, 1);
+lean_inc(x_31);
+lean_dec(x_26);
+x_32 = 0;
+x_33 = lean_box(x_32);
+x_34 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_34, 0, x_33);
+lean_ctor_set(x_34, 1, x_31);
+return x_34;
}
}
}
diff --git a/stage0/stdlib/Lean/Meta/Closure.c b/stage0/stdlib/Lean/Meta/Closure.c
index c7d50b7fb2..849a6511dc 100644
--- a/stage0/stdlib/Lean/Meta/Closure.c
+++ b/stage0/stdlib/Lean/Meta/Closure.c
@@ -238,10 +238,10 @@ lean_object* l_Std_mkHashMap___at_Lean_Meta_Closure_State_visitedLevel___default
lean_object* l_Lean_Meta_Closure_process_match__2(lean_object*);
lean_object* l_Lean_mkFreshId___at_Lean_Meta_Closure_collectExprAux___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_toList___rarg(lean_object*);
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_array_pop(lean_object*);
lean_object* lean_mk_array(lean_object*, lean_object*);
lean_object* l_Std_AssocList_replace___at_Lean_Meta_Closure_visitExpr___spec__8(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_expr_abstract(lean_object*, lean_object*);
lean_object* l_Lean_Meta_Closure_pickNextToProcessAux(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkAuxDefinition___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -253,7 +253,6 @@ extern lean_object* l_Lean_Expr_updateLet_x21___closed__2;
lean_object* l_Lean_Meta_mkAuxDefinition___rarg___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* l_Lean_Meta_mkAuxDefinition___rarg(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t);
lean_object* lean_compile_decl(lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_AssocList_contains___at_Lean_Meta_Closure_visitExpr___spec__4___boxed(lean_object*, lean_object*);
lean_object* l_unsafeCast(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_mkAppN___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
@@ -267,6 +266,7 @@ lean_object* lean_expr_update_app(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Closure_collectExprAux_match__1___rarg(uint8_t, lean_object*, lean_object*, lean_object*);
uint8_t lean_level_eq(lean_object*, lean_object*);
lean_object* l_Lean_Meta_Closure_State_newLetDecls___default;
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_addDecl___at___private_Lean_Meta_Closure_0__Lean_Meta_mkAuxDefinitionImp___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Expr_hasFVar(lean_object*);
lean_object* l_Lean_Meta_Closure_process_match__1(lean_object*);
@@ -11627,7 +11627,7 @@ x_78 = lean_ctor_get(x_28, 1);
lean_inc(x_78);
lean_dec(x_28);
x_79 = l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_517____closed__4;
-x_80 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_79, x_5, x_6, x_7, x_8, x_78);
+x_80 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_79, x_5, x_6, x_7, x_8, x_78);
x_81 = lean_ctor_get(x_80, 0);
lean_inc(x_81);
x_82 = lean_ctor_get(x_80, 1);
@@ -11759,7 +11759,7 @@ x_68 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_68, 0, x_67);
lean_ctor_set(x_68, 1, x_58);
x_69 = l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_517____closed__4;
-x_70 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_69, x_68, x_5, x_6, x_7, x_8, x_56);
+x_70 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_69, x_68, x_5, x_6, x_7, x_8, x_56);
x_71 = lean_ctor_get(x_70, 1);
lean_inc(x_71);
lean_dec(x_70);
@@ -11901,7 +11901,7 @@ lean_ctor_set(x_23, 1, x_22);
x_24 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_24, 0, x_23);
lean_ctor_set(x_24, 1, x_14);
-x_25 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_4, x_24, x_6, x_7, x_8, x_9, x_10);
+x_25 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_4, x_24, x_6, x_7, x_8, x_9, x_10);
return x_25;
}
}
@@ -12039,7 +12039,7 @@ x_36 = lean_ctor_get(x_30, 1);
lean_inc(x_36);
lean_dec(x_30);
x_37 = l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_517____closed__4;
-x_38 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_37, x_5, x_6, x_7, x_8, x_36);
+x_38 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_37, x_5, x_6, x_7, x_8, x_36);
x_39 = lean_ctor_get(x_38, 0);
lean_inc(x_39);
x_40 = lean_ctor_get(x_38, 1);
@@ -12093,7 +12093,7 @@ x_24 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_24, 0, x_23);
lean_ctor_set(x_24, 1, x_14);
x_25 = l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_517____closed__4;
-x_26 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_25, x_24, x_5, x_6, x_7, x_8, x_11);
+x_26 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_25, x_24, x_5, x_6, x_7, x_8, x_11);
x_27 = lean_ctor_get(x_26, 1);
lean_inc(x_27);
lean_dec(x_26);
diff --git a/stage0/stdlib/Lean/Meta/ExprDefEq.c b/stage0/stdlib/Lean/Meta/ExprDefEq.c
index f337750746..acd61f17df 100644
--- a/stage0/stdlib/Lean/Meta/ExprDefEq.c
+++ b/stage0/stdlib/Lean/Meta/ExprDefEq.c
@@ -73,7 +73,6 @@ extern lean_object* l_Std_HashMap_inhabited___closed__1;
lean_object* l_Lean_Meta_checkAssignmentAux___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_array_uset(lean_object*, size_t, lean_object*);
lean_object* l_Lean_Meta_mkFreshExprMVarAt___at_Lean_Meta_mkAuxMVar___spec__1(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkLambdaFVars___at_Lean_Meta_CheckAssignment_assignToConstFun___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Meta_getMVarDecl___rarg___lambda__1___closed__2;
lean_object* l_Lean_Meta_CheckAssignment_checkFVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -88,10 +87,10 @@ lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_processAssignment_proc
extern lean_object* l_Lean_Core_Lean_Ref;
lean_object* l_Lean_mkMVar(lean_object*);
lean_object* l_Lean_Meta_isExprMVarAssigned___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isAssigned___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_CheckAssignment_check___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Expr_0__Lean_Expr_etaExpandedAux(lean_object*, lean_object*);
uint8_t lean_metavar_ctx_is_delayed_assigned(lean_object*, lean_object*);
extern lean_object* l_Array_empty___closed__1;
-lean_object* l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_1__toFormat___spec__1(lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_CheckAssignment_findCached_x3f(lean_object*, lean_object*, lean_object*, 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*);
extern lean_object* l_Lean_Meta_toCtorIfLit___closed__7;
@@ -104,7 +103,6 @@ uint8_t l_Lean_checkTraceOption(lean_object*, lean_object*);
lean_object* l_Lean_Meta_whenUndefDo_match__1(lean_object*);
lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqQuickOther___closed__2;
lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__7;
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__8(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* l_Lean_Meta_CheckAssignmentQuick_check_visit_match__4(lean_object*);
lean_object* lean_st_ref_get(lean_object*, lean_object*);
@@ -167,6 +165,8 @@ lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqArgsFirstPass(l
uint8_t l_Lean_LocalContext_contains(lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqQuickOther___closed__1;
lean_object* l_Lean_Meta_inferType___at_Lean_Meta_CheckAssignment_check___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___rarg(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_addTrace___at_Lean_Meta_CheckAssignment_check___spec__4___boxed(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_Meta_LevelDefEq_0__Lean_Meta_processPostponed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_getConfig___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_processAssignmentFOApprox_loop___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
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*);
@@ -198,13 +198,13 @@ lean_object* l_Lean_Meta_CheckAssignment_checkAssignmentExceptionId;
lean_object* l_Lean_Meta_getFVarLocalDecl___at_Lean_Meta_isDefEqBindingDomain_loop___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_unfold_match__1(lean_object*);
uint8_t lean_metavar_ctx_is_expr_assigned(lean_object*, lean_object*);
-lean_object* l_Lean_addTrace___at_Lean_Meta_CheckAssignment_check___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_CheckAssignment_State_cache___default;
lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__5;
lean_object* l_Lean_Meta_CheckAssignment_assignToConstFun(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_CheckAssignment_check(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Array_anyRangeMAux___main___at_Lean_Meta_checkAssignment___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__1___rarg(lean_object*, lean_object*);
uint8_t l_Array_anyRangeMAux___main___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_processAssignment_process___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_instantiateMVars___at_Lean_Meta_checkAssignment___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqArgs(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -233,11 +233,11 @@ extern lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withNewLocalInstanc
lean_object* l_Lean_Meta_isDefEqBindingDomain(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_List_elem___main___at_Lean_catchInternalIds___spec__1(lean_object*, lean_object*);
lean_object* lean_st_ref_take(lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_monadLiftTrans___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_CheckAssignment_check___closed__3;
lean_object* l_Lean_withNestedTraces___at_Lean_Meta_isExprDefEqAuxImpl___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_addTrace___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_addTrace___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_processAssignment_process_match__2___rarg(lean_object*, lean_object*, lean_object*);
lean_object* lean_nat_sub(lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_assignConst___lambda__1___closed__2;
@@ -248,6 +248,7 @@ lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_simpAssignmentArgAux_m
lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_processAssignment_process_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_ReaderT_pure___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqOnFailure___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_AssocList_contains___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_CheckAssignment_cache___spec__2___boxed(lean_object*, lean_object*);
+lean_object* l_Lean_Lean_Util_Trace___instance__3___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Meta_whnf___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqEta___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Meta_isTypeCorrect___closed__1;
lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_processConstApprox(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -261,7 +262,6 @@ lean_object* l_Lean_Meta_isExprDefEqAuxImpl___closed__1;
lean_object* l_Lean_Meta_isExprDefEqAuxImpl_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_CheckAssignment_checkMVar___closed__4;
uint8_t l_Array_contains___at_Lean_Meta_CheckAssignment_check___spec__2(lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__6___rarg(lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_processAssignmentFOApprox_loop_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_CheckAssignment_checkFVar___closed__20;
lean_object* l_Lean_Meta_isDefEqNative_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -302,7 +302,6 @@ lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_getResetPostponed(lea
lean_object* l_Array_anyRangeMAux___main___at_Lean_Meta_CheckAssignment_check___spec__10___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_CheckAssignment_throwOutOfScopeFVar___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_ConstantInfo_name(lean_object*);
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_CheckAssignment_check___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_toCtorIfLit(lean_object*);
uint8_t l_Array_anyRangeMAux___main___at_Lean_Meta_CheckAssignmentQuick_check_visit___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_CheckAssignment_checkFVar___closed__7;
@@ -360,7 +359,6 @@ lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqArgsFirstPass_l
lean_object* l_Lean_Meta_CheckAssignment_checkMVar___closed__2;
uint8_t l_Array_isEmpty___rarg(lean_object*);
lean_object* l_Array_anyRangeMAux___main___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_processAssignment_process___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_CheckAssignment_check___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_String_Iterator_HasRepr___closed__2;
extern lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_liftMkBindingM___rarg___closed__3;
lean_object* l_Lean_Meta_isEtaUnassignedMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -377,7 +375,6 @@ lean_object* l_Lean_Meta_CheckAssignment_throwCheckAssignmentFailure___boxed(lea
lean_object* l_Lean_Meta_getConfig___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_processAssignmentFOApprox_loop___spec__2(lean_object*);
lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqArgs_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* lean_expr_update_let(lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_4__addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_commitWhen___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_tryHeuristic___spec__2___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_formatEntry___closed__1;
extern lean_object* l_Lean_MessageData_hasCoeOfArrayExpr___closed__2;
@@ -418,6 +415,7 @@ lean_object* l_Lean_LocalDecl_value_x3f(lean_object*);
lean_object* l_Lean_Meta_CheckAssignment_checkFVar___closed__15;
lean_object* lean_local_ctx_mk_local_decl(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t);
lean_object* l_Lean_Meta_CheckAssignment_checkFVar___closed__3;
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_forallBoundedTelescope___at_Lean_Meta_CheckAssignment_assignToConstFun___spec__2___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_contains___at_Lean_Meta_CheckAssignment_check___spec__2___boxed(lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_CheckAssignment_findCached_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -433,11 +431,11 @@ lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqLeft___closed__
uint8_t l_Lean_MetavarKind_isSyntheticOpaque(uint8_t);
lean_object* l_Lean_Meta_CheckAssignmentQuick_check_visit_match__2___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_getAppNumArgsAux(lean_object*, lean_object*);
-lean_object* l_Lean_monadTraceTrans___rarg(lean_object*, lean_object*);
extern lean_object* l_ReaderT_MonadLift___closed__1;
extern lean_object* l_Lean_Meta_ParamInfo_inhabited;
lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_CheckAssignment_addAssignmentInfo___closed__3;
lean_object* l_Lean_Meta_getLocalDecl___at_Lean_Meta_getFVarLocalDecl___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_CheckAssignmentQuick_check_visit_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqQuick_match__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_Lean_Meta_CheckAssignment_throwCheckAssignmentFailure___rarg(lean_object*);
@@ -451,6 +449,7 @@ uint8_t lean_expr_equal(lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDeltaCandidate_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_CheckAssignmentQuick_check_visit_match__4___rarg(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*);
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
+lean_object* l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_0__Lean_TraceState_toFormat___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_mkApp(lean_object*, lean_object*);
uint8_t l_Lean_Expr_hasMVar(lean_object*);
lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__2;
@@ -463,7 +462,6 @@ lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_unstuckMVar___at___pri
lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDelayedAssignedHead___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_CheckAssignment_checkFVar_match__1___rarg(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Expr_updateMData_x21___closed__3;
-lean_object* l_Lean_addTrace___at_Lean_Meta_CheckAssignment_check___spec__5(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_Meta_ExprDefEq_0__Lean_Meta_unfoldNonProjFnDefEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkAuxMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern uint8_t l_Bool_Inhabited;
@@ -533,6 +531,7 @@ lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withNewLocalInstanceImp___
lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqLeft___closed__1;
lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_processAssignment_process(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Expr_hasLooseBVars(lean_object*);
+lean_object* l_Lean_addTrace___at_Lean_Meta_CheckAssignment_check___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_toList___rarg(lean_object*);
lean_object* l_Lean_MetavarContext_MkBinding_mkBinding(uint8_t, lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*);
lean_object* l_Lean_Meta_CheckAssignment_checkFVar___at_Lean_Meta_CheckAssignment_check___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -626,6 +625,7 @@ lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_CheckAssignment_cache(
lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_CheckAssignment_addAssignmentInfo___closed__5;
uint8_t l_Lean_LocalContext_isSubPrefixOf(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_mkFreshId___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqBindingAux___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_CheckAssignment_check___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_isProofQuick(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_CheckAssignment_checkFVar___closed__8;
uint8_t l_Lean_ReducibilityHints_lt(lean_object*, lean_object*);
@@ -6156,44 +6156,44 @@ return x_3;
lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign(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:
{
-lean_object* x_9; uint8_t x_22; lean_object* x_23; lean_object* x_886; lean_object* x_887; lean_object* x_888; uint8_t x_889;
-x_886 = lean_st_ref_get(x_7, x_8);
-x_887 = lean_ctor_get(x_886, 0);
-lean_inc(x_887);
-x_888 = lean_ctor_get(x_887, 3);
-lean_inc(x_888);
-lean_dec(x_887);
-x_889 = lean_ctor_get_uint8(x_888, sizeof(void*)*1);
-lean_dec(x_888);
-if (x_889 == 0)
+lean_object* x_9; uint8_t x_22; lean_object* x_23; lean_object* x_919; lean_object* x_920; lean_object* x_921; uint8_t x_922;
+x_919 = lean_st_ref_get(x_7, x_8);
+x_920 = lean_ctor_get(x_919, 0);
+lean_inc(x_920);
+x_921 = lean_ctor_get(x_920, 3);
+lean_inc(x_921);
+lean_dec(x_920);
+x_922 = lean_ctor_get_uint8(x_921, sizeof(void*)*1);
+lean_dec(x_921);
+if (x_922 == 0)
{
-lean_object* x_890; uint8_t x_891;
-x_890 = lean_ctor_get(x_886, 1);
-lean_inc(x_890);
-lean_dec(x_886);
-x_891 = 0;
-x_22 = x_891;
-x_23 = x_890;
-goto block_885;
+lean_object* x_923; uint8_t x_924;
+x_923 = lean_ctor_get(x_919, 1);
+lean_inc(x_923);
+lean_dec(x_919);
+x_924 = 0;
+x_22 = x_924;
+x_23 = x_923;
+goto block_918;
}
else
{
-lean_object* x_892; lean_object* x_893; lean_object* x_894; lean_object* x_895; lean_object* x_896; uint8_t x_897;
-x_892 = lean_ctor_get(x_886, 1);
-lean_inc(x_892);
-lean_dec(x_886);
-x_893 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__4;
-x_894 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__8(x_893, x_3, x_4, x_5, x_6, x_7, x_892);
-x_895 = lean_ctor_get(x_894, 0);
-lean_inc(x_895);
-x_896 = lean_ctor_get(x_894, 1);
-lean_inc(x_896);
-lean_dec(x_894);
-x_897 = lean_unbox(x_895);
-lean_dec(x_895);
-x_22 = x_897;
-x_23 = x_896;
-goto block_885;
+lean_object* x_925; lean_object* x_926; lean_object* x_927; lean_object* x_928; lean_object* x_929; uint8_t x_930;
+x_925 = lean_ctor_get(x_919, 1);
+lean_inc(x_925);
+lean_dec(x_919);
+x_926 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__4;
+x_927 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__8(x_926, x_3, x_4, x_5, x_6, x_7, x_925);
+x_928 = lean_ctor_get(x_927, 0);
+lean_inc(x_928);
+x_929 = lean_ctor_get(x_927, 1);
+lean_inc(x_929);
+lean_dec(x_927);
+x_930 = lean_unbox(x_928);
+lean_dec(x_928);
+x_22 = x_930;
+x_23 = x_929;
+goto block_918;
}
block_21:
{
@@ -6251,2865 +6251,2845 @@ return x_20;
}
}
}
-block_885:
+block_918:
{
+uint8_t x_24;
if (x_22 == 0)
{
-lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; uint8_t x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; uint8_t x_33;
-x_24 = lean_st_ref_get(x_7, x_23);
-x_25 = lean_ctor_get(x_24, 0);
+uint8_t x_916;
+x_916 = 1;
+x_24 = x_916;
+goto block_915;
+}
+else
+{
+uint8_t x_917;
+x_917 = 0;
+x_24 = x_917;
+goto block_915;
+}
+block_915:
+{
+if (x_24 == 0)
+{
+lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_50;
+x_25 = lean_ctor_get(x_6, 3);
lean_inc(x_25);
-x_26 = lean_ctor_get(x_25, 3);
-lean_inc(x_26);
-lean_dec(x_25);
-x_27 = lean_ctor_get(x_24, 1);
+x_26 = l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__1___rarg(x_7, x_23);
+x_27 = lean_ctor_get(x_26, 0);
lean_inc(x_27);
-lean_dec(x_24);
-x_28 = lean_ctor_get_uint8(x_26, sizeof(void*)*1);
+x_28 = lean_ctor_get(x_26, 1);
+lean_inc(x_28);
lean_dec(x_26);
-x_29 = lean_st_ref_take(x_7, x_27);
-x_30 = lean_ctor_get(x_29, 0);
-lean_inc(x_30);
-x_31 = lean_ctor_get(x_30, 3);
-lean_inc(x_31);
-x_32 = lean_ctor_get(x_29, 1);
-lean_inc(x_32);
-lean_dec(x_29);
-x_33 = !lean_is_exclusive(x_30);
-if (x_33 == 0)
-{
-lean_object* x_34; uint8_t x_35;
-x_34 = lean_ctor_get(x_30, 3);
-lean_dec(x_34);
-x_35 = !lean_is_exclusive(x_31);
-if (x_35 == 0)
-{
-uint8_t x_36; lean_object* x_37; lean_object* x_38; uint8_t x_39; lean_object* x_40; lean_object* x_88; lean_object* x_89; lean_object* x_122; lean_object* x_123; lean_object* x_156;
-x_36 = 0;
-lean_ctor_set_uint8(x_31, sizeof(void*)*1, x_36);
-x_37 = lean_st_ref_set(x_7, x_30, x_32);
-x_38 = lean_ctor_get(x_37, 1);
-lean_inc(x_38);
-lean_dec(x_37);
lean_inc(x_7);
lean_inc(x_6);
lean_inc(x_5);
lean_inc(x_4);
lean_inc(x_1);
-x_156 = l_Lean_Meta_inferType___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqEta___spec__1(x_1, x_3, x_4, x_5, x_6, x_7, x_38);
-if (lean_obj_tag(x_156) == 0)
+x_50 = l_Lean_Meta_inferType___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqEta___spec__1(x_1, x_3, x_4, x_5, x_6, x_7, x_28);
+if (lean_obj_tag(x_50) == 0)
{
-lean_object* x_157; lean_object* x_158; lean_object* x_159;
-x_157 = lean_ctor_get(x_156, 0);
-lean_inc(x_157);
-x_158 = lean_ctor_get(x_156, 1);
-lean_inc(x_158);
-lean_dec(x_156);
+lean_object* x_51; lean_object* x_52; lean_object* x_53;
+x_51 = lean_ctor_get(x_50, 0);
+lean_inc(x_51);
+x_52 = lean_ctor_get(x_50, 1);
+lean_inc(x_52);
+lean_dec(x_50);
lean_inc(x_7);
lean_inc(x_6);
lean_inc(x_5);
lean_inc(x_4);
lean_inc(x_2);
-x_159 = l_Lean_Meta_inferType___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqEta___spec__1(x_2, x_3, x_4, x_5, x_6, x_7, x_158);
-if (lean_obj_tag(x_159) == 0)
+x_53 = l_Lean_Meta_inferType___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqEta___spec__1(x_2, x_3, x_4, x_5, x_6, x_7, x_52);
+if (lean_obj_tag(x_53) == 0)
{
-lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; uint8_t x_165;
-x_160 = lean_ctor_get(x_4, 0);
-lean_inc(x_160);
-x_161 = lean_ctor_get(x_159, 0);
-lean_inc(x_161);
-x_162 = lean_ctor_get(x_159, 1);
-lean_inc(x_162);
-lean_dec(x_159);
-x_163 = lean_ctor_get(x_4, 1);
-lean_inc(x_163);
-x_164 = lean_ctor_get(x_4, 2);
-lean_inc(x_164);
-x_165 = !lean_is_exclusive(x_160);
-if (x_165 == 0)
+lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; uint8_t x_59;
+x_54 = lean_ctor_get(x_4, 0);
+lean_inc(x_54);
+x_55 = lean_ctor_get(x_53, 0);
+lean_inc(x_55);
+x_56 = lean_ctor_get(x_53, 1);
+lean_inc(x_56);
+lean_dec(x_53);
+x_57 = lean_ctor_get(x_4, 1);
+lean_inc(x_57);
+x_58 = lean_ctor_get(x_4, 2);
+lean_inc(x_58);
+x_59 = !lean_is_exclusive(x_54);
+if (x_59 == 0)
{
-uint8_t x_166; lean_object* x_167; lean_object* x_168;
-x_166 = 1;
-lean_ctor_set_uint8(x_160, 5, x_166);
-x_167 = lean_alloc_ctor(0, 3, 0);
-lean_ctor_set(x_167, 0, x_160);
-lean_ctor_set(x_167, 1, x_163);
-lean_ctor_set(x_167, 2, x_164);
+uint8_t x_60; lean_object* x_61; lean_object* x_62;
+x_60 = 1;
+lean_ctor_set_uint8(x_54, 5, x_60);
+x_61 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_61, 0, x_54);
+lean_ctor_set(x_61, 1, x_57);
+lean_ctor_set(x_61, 2, x_58);
lean_inc(x_7);
lean_inc(x_6);
lean_inc(x_5);
lean_inc(x_3);
-lean_inc(x_161);
-lean_inc(x_157);
-x_168 = l_Lean_Meta_isExprDefEqAux(x_157, x_161, x_3, x_167, x_5, x_6, x_7, x_162);
-if (lean_obj_tag(x_168) == 0)
+lean_inc(x_55);
+lean_inc(x_51);
+x_62 = l_Lean_Meta_isExprDefEqAux(x_51, x_55, x_3, x_61, x_5, x_6, x_7, x_56);
+if (lean_obj_tag(x_62) == 0)
{
-lean_object* x_169; uint8_t x_170;
-x_169 = lean_ctor_get(x_168, 0);
-lean_inc(x_169);
-x_170 = lean_unbox(x_169);
-lean_dec(x_169);
-if (x_170 == 0)
+lean_object* x_63; uint8_t x_64;
+x_63 = lean_ctor_get(x_62, 0);
+lean_inc(x_63);
+x_64 = lean_unbox(x_63);
+lean_dec(x_63);
+if (x_64 == 0)
{
-lean_object* x_171; uint8_t x_172; lean_object* x_173; lean_object* x_193; lean_object* x_194; lean_object* x_195; uint8_t x_196;
-x_171 = lean_ctor_get(x_168, 1);
-lean_inc(x_171);
-lean_dec(x_168);
-x_193 = lean_st_ref_get(x_7, x_171);
-x_194 = lean_ctor_get(x_193, 0);
-lean_inc(x_194);
-x_195 = lean_ctor_get(x_194, 3);
-lean_inc(x_195);
-lean_dec(x_194);
-x_196 = lean_ctor_get_uint8(x_195, sizeof(void*)*1);
-lean_dec(x_195);
-if (x_196 == 0)
+lean_object* x_65; lean_object* x_66; uint8_t x_67; lean_object* x_68; lean_object* x_98; lean_object* x_99; lean_object* x_100; uint8_t x_101;
+x_65 = lean_ctor_get(x_62, 1);
+lean_inc(x_65);
+if (lean_is_exclusive(x_62)) {
+ lean_ctor_release(x_62, 0);
+ lean_ctor_release(x_62, 1);
+ x_66 = x_62;
+} else {
+ lean_dec_ref(x_62);
+ x_66 = lean_box(0);
+}
+x_98 = lean_st_ref_get(x_7, x_65);
+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_197;
-x_197 = lean_ctor_get(x_193, 1);
-lean_inc(x_197);
-lean_dec(x_193);
-x_172 = x_36;
-x_173 = x_197;
-goto block_192;
+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_67 = x_103;
+x_68 = x_102;
+goto block_97;
}
else
{
-lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; uint8_t x_203;
-x_198 = lean_ctor_get(x_193, 1);
-lean_inc(x_198);
-lean_dec(x_193);
-x_199 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__6;
-x_200 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_199, x_3, x_4, x_5, x_6, x_7, x_198);
-x_201 = lean_ctor_get(x_200, 0);
-lean_inc(x_201);
-x_202 = lean_ctor_get(x_200, 1);
-lean_inc(x_202);
-lean_dec(x_200);
-x_203 = lean_unbox(x_201);
-lean_dec(x_201);
-x_172 = x_203;
-x_173 = x_202;
-goto block_192;
+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___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__6;
+x_106 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_105, 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_67 = x_109;
+x_68 = x_108;
+goto block_97;
}
-block_192:
+block_97:
{
-if (x_172 == 0)
+if (x_67 == 0)
{
-lean_dec(x_161);
-lean_dec(x_157);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
+uint8_t x_69; lean_object* x_70; lean_object* x_71;
+lean_dec(x_55);
+lean_dec(x_51);
lean_dec(x_2);
lean_dec(x_1);
-x_39 = x_36;
-x_40 = x_173;
-goto block_87;
+x_69 = 0;
+x_70 = lean_box(x_69);
+if (lean_is_scalar(x_66)) {
+ x_71 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_71 = x_66;
+}
+lean_ctor_set(x_71, 0, x_70);
+lean_ctor_set(x_71, 1, x_68);
+x_29 = x_71;
+goto block_49;
}
else
{
-lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191;
-x_174 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_174, 0, x_1);
-x_175 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_176 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_176, 0, x_175);
-lean_ctor_set(x_176, 1, x_174);
-x_177 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__7;
-x_178 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_178, 0, x_176);
-lean_ctor_set(x_178, 1, x_177);
-x_179 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_179, 0, x_157);
-x_180 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_180, 0, x_178);
-lean_ctor_set(x_180, 1, x_179);
-x_181 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__8;
-x_182 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_182, 0, x_180);
-lean_ctor_set(x_182, 1, x_181);
-x_183 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_183, 0, x_2);
-x_184 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_184, 0, x_182);
-lean_ctor_set(x_184, 1, x_183);
+lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; 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; uint8_t x_89;
+lean_dec(x_66);
+x_72 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_72, 0, x_1);
+x_73 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_74 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_74, 0, x_73);
+lean_ctor_set(x_74, 1, x_72);
+x_75 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__7;
+x_76 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_76, 0, x_74);
+lean_ctor_set(x_76, 1, x_75);
+x_77 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_77, 0, x_51);
+x_78 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_78, 0, x_76);
+lean_ctor_set(x_78, 1, x_77);
+x_79 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__8;
+x_80 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_80, 0, x_78);
+lean_ctor_set(x_80, 1, x_79);
+x_81 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_81, 0, x_2);
+x_82 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_82, 0, x_80);
+lean_ctor_set(x_82, 1, x_81);
+x_83 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_83, 0, x_82);
+lean_ctor_set(x_83, 1, x_75);
+x_84 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_84, 0, x_55);
+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 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_86, 0, x_85);
+lean_ctor_set(x_86, 1, x_73);
+x_87 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__6;
+x_88 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__2(x_87, x_86, x_3, x_4, x_5, x_6, x_7, x_68);
+x_89 = !lean_is_exclusive(x_88);
+if (x_89 == 0)
+{
+lean_object* x_90; uint8_t x_91; lean_object* x_92;
+x_90 = lean_ctor_get(x_88, 0);
+lean_dec(x_90);
+x_91 = 0;
+x_92 = lean_box(x_91);
+lean_ctor_set(x_88, 0, x_92);
+x_29 = x_88;
+goto block_49;
+}
+else
+{
+lean_object* x_93; uint8_t x_94; lean_object* x_95; lean_object* x_96;
+x_93 = lean_ctor_get(x_88, 1);
+lean_inc(x_93);
+lean_dec(x_88);
+x_94 = 0;
+x_95 = lean_box(x_94);
+x_96 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_96, 0, x_95);
+lean_ctor_set(x_96, 1, x_93);
+x_29 = x_96;
+goto block_49;
+}
+}
+}
+}
+else
+{
+lean_object* x_110; uint8_t x_111; lean_object* x_112; lean_object* x_145; lean_object* x_146; lean_object* x_147; uint8_t x_148;
+lean_dec(x_55);
+lean_dec(x_51);
+x_110 = lean_ctor_get(x_62, 1);
+lean_inc(x_110);
+lean_dec(x_62);
+x_145 = lean_st_ref_get(x_7, x_110);
+x_146 = lean_ctor_get(x_145, 0);
+lean_inc(x_146);
+x_147 = lean_ctor_get(x_146, 3);
+lean_inc(x_147);
+lean_dec(x_146);
+x_148 = lean_ctor_get_uint8(x_147, sizeof(void*)*1);
+lean_dec(x_147);
+if (x_148 == 0)
+{
+lean_object* x_149; uint8_t x_150;
+x_149 = lean_ctor_get(x_145, 1);
+lean_inc(x_149);
+lean_dec(x_145);
+x_150 = 0;
+x_111 = x_150;
+x_112 = x_149;
+goto block_144;
+}
+else
+{
+lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; uint8_t x_156;
+x_151 = lean_ctor_get(x_145, 1);
+lean_inc(x_151);
+lean_dec(x_145);
+x_152 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__10;
+x_153 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_152, x_3, x_4, x_5, x_6, x_7, x_151);
+x_154 = lean_ctor_get(x_153, 0);
+lean_inc(x_154);
+x_155 = lean_ctor_get(x_153, 1);
+lean_inc(x_155);
+lean_dec(x_153);
+x_156 = lean_unbox(x_154);
+lean_dec(x_154);
+x_111 = x_156;
+x_112 = x_155;
+goto block_144;
+}
+block_144:
+{
+if (x_111 == 0)
+{
+lean_object* x_113; lean_object* x_114; uint8_t x_115;
+x_113 = l_Lean_Expr_mvarId_x21(x_1);
+lean_dec(x_1);
+x_114 = l_Lean_Meta_assignExprMVar___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___spec__1(x_113, x_2, x_3, x_4, x_5, x_6, x_7, x_112);
+x_115 = !lean_is_exclusive(x_114);
+if (x_115 == 0)
+{
+lean_object* x_116; uint8_t x_117; lean_object* x_118;
+x_116 = lean_ctor_get(x_114, 0);
+lean_dec(x_116);
+x_117 = 1;
+x_118 = lean_box(x_117);
+lean_ctor_set(x_114, 0, x_118);
+x_29 = x_114;
+goto block_49;
+}
+else
+{
+lean_object* x_119; uint8_t x_120; lean_object* x_121; lean_object* x_122;
+x_119 = lean_ctor_get(x_114, 1);
+lean_inc(x_119);
+lean_dec(x_114);
+x_120 = 1;
+x_121 = lean_box(x_120);
+x_122 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_122, 0, x_121);
+lean_ctor_set(x_122, 1, x_119);
+x_29 = x_122;
+goto block_49;
+}
+}
+else
+{
+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; lean_object* x_134; lean_object* x_135; uint8_t x_136;
+lean_inc(x_1);
+x_123 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_123, 0, x_1);
+x_124 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_125 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_125, 0, x_124);
+lean_ctor_set(x_125, 1, x_123);
+x_126 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__8;
+x_127 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_127, 0, x_125);
+lean_ctor_set(x_127, 1, x_126);
+lean_inc(x_2);
+x_128 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_128, 0, x_2);
+x_129 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_129, 0, x_127);
+lean_ctor_set(x_129, 1, x_128);
+x_130 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_130, 0, x_129);
+lean_ctor_set(x_130, 1, x_124);
+x_131 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__10;
+x_132 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__2(x_131, x_130, x_3, x_4, x_5, x_6, x_7, x_112);
+x_133 = lean_ctor_get(x_132, 1);
+lean_inc(x_133);
+lean_dec(x_132);
+x_134 = l_Lean_Expr_mvarId_x21(x_1);
+lean_dec(x_1);
+x_135 = l_Lean_Meta_assignExprMVar___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___spec__1(x_134, x_2, x_3, x_4, x_5, x_6, x_7, x_133);
+x_136 = !lean_is_exclusive(x_135);
+if (x_136 == 0)
+{
+lean_object* x_137; uint8_t x_138; lean_object* x_139;
+x_137 = lean_ctor_get(x_135, 0);
+lean_dec(x_137);
+x_138 = 1;
+x_139 = lean_box(x_138);
+lean_ctor_set(x_135, 0, x_139);
+x_29 = x_135;
+goto block_49;
+}
+else
+{
+lean_object* x_140; uint8_t x_141; lean_object* x_142; lean_object* x_143;
+x_140 = lean_ctor_get(x_135, 1);
+lean_inc(x_140);
+lean_dec(x_135);
+x_141 = 1;
+x_142 = lean_box(x_141);
+x_143 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_143, 0, x_142);
+lean_ctor_set(x_143, 1, x_140);
+x_29 = x_143;
+goto block_49;
+}
+}
+}
+}
+}
+else
+{
+uint8_t x_157;
+lean_dec(x_55);
+lean_dec(x_51);
+lean_dec(x_2);
+lean_dec(x_1);
+x_157 = !lean_is_exclusive(x_62);
+if (x_157 == 0)
+{
+x_29 = x_62;
+goto block_49;
+}
+else
+{
+lean_object* x_158; lean_object* x_159; lean_object* x_160;
+x_158 = lean_ctor_get(x_62, 0);
+x_159 = lean_ctor_get(x_62, 1);
+lean_inc(x_159);
+lean_inc(x_158);
+lean_dec(x_62);
+x_160 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_160, 0, x_158);
+lean_ctor_set(x_160, 1, x_159);
+x_29 = x_160;
+goto block_49;
+}
+}
+}
+else
+{
+uint8_t x_161; uint8_t x_162; uint8_t x_163; uint8_t x_164; uint8_t x_165; uint8_t x_166; uint8_t x_167; uint8_t x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171;
+x_161 = lean_ctor_get_uint8(x_54, 0);
+x_162 = lean_ctor_get_uint8(x_54, 1);
+x_163 = lean_ctor_get_uint8(x_54, 2);
+x_164 = lean_ctor_get_uint8(x_54, 3);
+x_165 = lean_ctor_get_uint8(x_54, 4);
+x_166 = lean_ctor_get_uint8(x_54, 6);
+x_167 = lean_ctor_get_uint8(x_54, 7);
+lean_dec(x_54);
+x_168 = 1;
+x_169 = lean_alloc_ctor(0, 0, 8);
+lean_ctor_set_uint8(x_169, 0, x_161);
+lean_ctor_set_uint8(x_169, 1, x_162);
+lean_ctor_set_uint8(x_169, 2, x_163);
+lean_ctor_set_uint8(x_169, 3, x_164);
+lean_ctor_set_uint8(x_169, 4, x_165);
+lean_ctor_set_uint8(x_169, 5, x_168);
+lean_ctor_set_uint8(x_169, 6, x_166);
+lean_ctor_set_uint8(x_169, 7, x_167);
+x_170 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_170, 0, x_169);
+lean_ctor_set(x_170, 1, x_57);
+lean_ctor_set(x_170, 2, x_58);
+lean_inc(x_7);
+lean_inc(x_6);
+lean_inc(x_5);
+lean_inc(x_3);
+lean_inc(x_55);
+lean_inc(x_51);
+x_171 = l_Lean_Meta_isExprDefEqAux(x_51, x_55, x_3, x_170, x_5, x_6, x_7, x_56);
+if (lean_obj_tag(x_171) == 0)
+{
+lean_object* x_172; uint8_t x_173;
+x_172 = lean_ctor_get(x_171, 0);
+lean_inc(x_172);
+x_173 = lean_unbox(x_172);
+lean_dec(x_172);
+if (x_173 == 0)
+{
+lean_object* x_174; lean_object* x_175; uint8_t x_176; lean_object* x_177; lean_object* x_204; lean_object* x_205; lean_object* x_206; uint8_t x_207;
+x_174 = lean_ctor_get(x_171, 1);
+lean_inc(x_174);
+if (lean_is_exclusive(x_171)) {
+ lean_ctor_release(x_171, 0);
+ lean_ctor_release(x_171, 1);
+ x_175 = x_171;
+} else {
+ lean_dec_ref(x_171);
+ x_175 = lean_box(0);
+}
+x_204 = lean_st_ref_get(x_7, x_174);
+x_205 = lean_ctor_get(x_204, 0);
+lean_inc(x_205);
+x_206 = lean_ctor_get(x_205, 3);
+lean_inc(x_206);
+lean_dec(x_205);
+x_207 = lean_ctor_get_uint8(x_206, sizeof(void*)*1);
+lean_dec(x_206);
+if (x_207 == 0)
+{
+lean_object* x_208; uint8_t x_209;
+x_208 = lean_ctor_get(x_204, 1);
+lean_inc(x_208);
+lean_dec(x_204);
+x_209 = 0;
+x_176 = x_209;
+x_177 = x_208;
+goto block_203;
+}
+else
+{
+lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214; uint8_t x_215;
+x_210 = lean_ctor_get(x_204, 1);
+lean_inc(x_210);
+lean_dec(x_204);
+x_211 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__6;
+x_212 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_211, x_3, x_4, x_5, x_6, x_7, x_210);
+x_213 = lean_ctor_get(x_212, 0);
+lean_inc(x_213);
+x_214 = lean_ctor_get(x_212, 1);
+lean_inc(x_214);
+lean_dec(x_212);
+x_215 = lean_unbox(x_213);
+lean_dec(x_213);
+x_176 = x_215;
+x_177 = x_214;
+goto block_203;
+}
+block_203:
+{
+if (x_176 == 0)
+{
+uint8_t x_178; lean_object* x_179; lean_object* x_180;
+lean_dec(x_55);
+lean_dec(x_51);
+lean_dec(x_2);
+lean_dec(x_1);
+x_178 = 0;
+x_179 = lean_box(x_178);
+if (lean_is_scalar(x_175)) {
+ x_180 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_180 = x_175;
+}
+lean_ctor_set(x_180, 0, x_179);
+lean_ctor_set(x_180, 1, x_177);
+x_29 = x_180;
+goto block_49;
+}
+else
+{
+lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; uint8_t x_200; lean_object* x_201; lean_object* x_202;
+lean_dec(x_175);
+x_181 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_181, 0, x_1);
+x_182 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_183 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_183, 0, x_182);
+lean_ctor_set(x_183, 1, x_181);
+x_184 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__7;
x_185 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_185, 0, x_184);
-lean_ctor_set(x_185, 1, x_177);
+lean_ctor_set(x_185, 0, x_183);
+lean_ctor_set(x_185, 1, x_184);
x_186 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_186, 0, x_161);
+lean_ctor_set(x_186, 0, x_51);
x_187 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_187, 0, x_185);
lean_ctor_set(x_187, 1, x_186);
-x_188 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_188, 0, x_187);
-lean_ctor_set(x_188, 1, x_175);
-x_189 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__6;
-x_190 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__2(x_189, x_188, x_3, x_4, x_5, x_6, x_7, x_173);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_191 = lean_ctor_get(x_190, 1);
-lean_inc(x_191);
-lean_dec(x_190);
-x_39 = x_36;
-x_40 = x_191;
-goto block_87;
+x_188 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__8;
+x_189 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_189, 0, x_187);
+lean_ctor_set(x_189, 1, x_188);
+x_190 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_190, 0, x_2);
+x_191 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_191, 0, x_189);
+lean_ctor_set(x_191, 1, x_190);
+x_192 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_192, 0, x_191);
+lean_ctor_set(x_192, 1, x_184);
+x_193 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_193, 0, x_55);
+x_194 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_194, 0, x_192);
+lean_ctor_set(x_194, 1, x_193);
+x_195 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_195, 0, x_194);
+lean_ctor_set(x_195, 1, x_182);
+x_196 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__6;
+x_197 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__2(x_196, x_195, x_3, x_4, x_5, x_6, x_7, x_177);
+x_198 = lean_ctor_get(x_197, 1);
+lean_inc(x_198);
+if (lean_is_exclusive(x_197)) {
+ lean_ctor_release(x_197, 0);
+ lean_ctor_release(x_197, 1);
+ x_199 = x_197;
+} else {
+ lean_dec_ref(x_197);
+ x_199 = lean_box(0);
+}
+x_200 = 0;
+x_201 = lean_box(x_200);
+if (lean_is_scalar(x_199)) {
+ x_202 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_202 = x_199;
+}
+lean_ctor_set(x_202, 0, x_201);
+lean_ctor_set(x_202, 1, x_198);
+x_29 = x_202;
+goto block_49;
}
}
}
else
{
-lean_object* x_204; uint8_t x_205; lean_object* x_206; lean_object* x_227; lean_object* x_228; lean_object* x_229; uint8_t x_230;
-lean_dec(x_161);
-lean_dec(x_157);
-x_204 = lean_ctor_get(x_168, 1);
-lean_inc(x_204);
-lean_dec(x_168);
-x_227 = lean_st_ref_get(x_7, x_204);
-x_228 = lean_ctor_get(x_227, 0);
-lean_inc(x_228);
-x_229 = lean_ctor_get(x_228, 3);
-lean_inc(x_229);
-lean_dec(x_228);
-x_230 = lean_ctor_get_uint8(x_229, sizeof(void*)*1);
-lean_dec(x_229);
-if (x_230 == 0)
+lean_object* x_216; uint8_t x_217; lean_object* x_218; lean_object* x_245; lean_object* x_246; lean_object* x_247; uint8_t x_248;
+lean_dec(x_55);
+lean_dec(x_51);
+x_216 = lean_ctor_get(x_171, 1);
+lean_inc(x_216);
+lean_dec(x_171);
+x_245 = lean_st_ref_get(x_7, x_216);
+x_246 = lean_ctor_get(x_245, 0);
+lean_inc(x_246);
+x_247 = lean_ctor_get(x_246, 3);
+lean_inc(x_247);
+lean_dec(x_246);
+x_248 = lean_ctor_get_uint8(x_247, sizeof(void*)*1);
+lean_dec(x_247);
+if (x_248 == 0)
{
-lean_object* x_231;
-x_231 = lean_ctor_get(x_227, 1);
-lean_inc(x_231);
-lean_dec(x_227);
-x_205 = x_36;
-x_206 = x_231;
-goto block_226;
+lean_object* x_249; uint8_t x_250;
+x_249 = lean_ctor_get(x_245, 1);
+lean_inc(x_249);
+lean_dec(x_245);
+x_250 = 0;
+x_217 = x_250;
+x_218 = x_249;
+goto block_244;
}
else
{
-lean_object* x_232; lean_object* x_233; lean_object* x_234; lean_object* x_235; lean_object* x_236; uint8_t x_237;
-x_232 = lean_ctor_get(x_227, 1);
-lean_inc(x_232);
-lean_dec(x_227);
-x_233 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__10;
-x_234 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_233, x_3, x_4, x_5, x_6, x_7, x_232);
-x_235 = lean_ctor_get(x_234, 0);
-lean_inc(x_235);
-x_236 = lean_ctor_get(x_234, 1);
-lean_inc(x_236);
-lean_dec(x_234);
-x_237 = lean_unbox(x_235);
-lean_dec(x_235);
-x_205 = x_237;
-x_206 = x_236;
-goto block_226;
+lean_object* x_251; lean_object* x_252; lean_object* x_253; lean_object* x_254; lean_object* x_255; uint8_t x_256;
+x_251 = lean_ctor_get(x_245, 1);
+lean_inc(x_251);
+lean_dec(x_245);
+x_252 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__10;
+x_253 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_252, x_3, x_4, x_5, x_6, x_7, x_251);
+x_254 = lean_ctor_get(x_253, 0);
+lean_inc(x_254);
+x_255 = lean_ctor_get(x_253, 1);
+lean_inc(x_255);
+lean_dec(x_253);
+x_256 = lean_unbox(x_254);
+lean_dec(x_254);
+x_217 = x_256;
+x_218 = x_255;
+goto block_244;
}
-block_226:
+block_244:
{
-if (x_205 == 0)
+if (x_217 == 0)
{
-lean_object* x_207; lean_object* x_208; lean_object* x_209; uint8_t x_210;
-x_207 = l_Lean_Expr_mvarId_x21(x_1);
+lean_object* x_219; lean_object* x_220; lean_object* x_221; lean_object* x_222; uint8_t x_223; lean_object* x_224; lean_object* x_225;
+x_219 = l_Lean_Expr_mvarId_x21(x_1);
lean_dec(x_1);
-x_208 = l_Lean_Meta_assignExprMVar___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___spec__1(x_207, x_2, x_3, x_4, x_5, x_6, x_7, x_206);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_209 = lean_ctor_get(x_208, 1);
-lean_inc(x_209);
-lean_dec(x_208);
-x_210 = 1;
-x_39 = x_210;
-x_40 = x_209;
-goto block_87;
-}
-else
-{
-lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214; lean_object* x_215; lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; lean_object* x_221; lean_object* x_222; lean_object* x_223; lean_object* x_224; uint8_t x_225;
-lean_inc(x_1);
-x_211 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_211, 0, x_1);
-x_212 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_213 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_213, 0, x_212);
-lean_ctor_set(x_213, 1, x_211);
-x_214 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__8;
-x_215 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_215, 0, x_213);
-lean_ctor_set(x_215, 1, x_214);
-lean_inc(x_2);
-x_216 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_216, 0, x_2);
-x_217 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_217, 0, x_215);
-lean_ctor_set(x_217, 1, x_216);
-x_218 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_218, 0, x_217);
-lean_ctor_set(x_218, 1, x_212);
-x_219 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__10;
-x_220 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__2(x_219, x_218, x_3, x_4, x_5, x_6, x_7, x_206);
+x_220 = l_Lean_Meta_assignExprMVar___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___spec__1(x_219, x_2, x_3, x_4, x_5, x_6, x_7, x_218);
x_221 = lean_ctor_get(x_220, 1);
lean_inc(x_221);
-lean_dec(x_220);
-x_222 = l_Lean_Expr_mvarId_x21(x_1);
+if (lean_is_exclusive(x_220)) {
+ lean_ctor_release(x_220, 0);
+ lean_ctor_release(x_220, 1);
+ x_222 = x_220;
+} else {
+ lean_dec_ref(x_220);
+ x_222 = lean_box(0);
+}
+x_223 = 1;
+x_224 = lean_box(x_223);
+if (lean_is_scalar(x_222)) {
+ x_225 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_225 = x_222;
+}
+lean_ctor_set(x_225, 0, x_224);
+lean_ctor_set(x_225, 1, x_221);
+x_29 = x_225;
+goto block_49;
+}
+else
+{
+lean_object* x_226; lean_object* x_227; lean_object* x_228; lean_object* x_229; lean_object* x_230; lean_object* x_231; lean_object* x_232; lean_object* x_233; lean_object* x_234; lean_object* x_235; lean_object* x_236; lean_object* x_237; lean_object* x_238; lean_object* x_239; lean_object* x_240; uint8_t x_241; lean_object* x_242; lean_object* x_243;
+lean_inc(x_1);
+x_226 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_226, 0, x_1);
+x_227 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_228 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_228, 0, x_227);
+lean_ctor_set(x_228, 1, x_226);
+x_229 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__8;
+x_230 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_230, 0, x_228);
+lean_ctor_set(x_230, 1, x_229);
+lean_inc(x_2);
+x_231 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_231, 0, x_2);
+x_232 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_232, 0, x_230);
+lean_ctor_set(x_232, 1, x_231);
+x_233 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_233, 0, x_232);
+lean_ctor_set(x_233, 1, x_227);
+x_234 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__10;
+x_235 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__2(x_234, x_233, x_3, x_4, x_5, x_6, x_7, x_218);
+x_236 = lean_ctor_get(x_235, 1);
+lean_inc(x_236);
+lean_dec(x_235);
+x_237 = l_Lean_Expr_mvarId_x21(x_1);
lean_dec(x_1);
-x_223 = l_Lean_Meta_assignExprMVar___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___spec__1(x_222, x_2, x_3, x_4, x_5, x_6, x_7, x_221);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_224 = lean_ctor_get(x_223, 1);
-lean_inc(x_224);
-lean_dec(x_223);
-x_225 = 1;
-x_39 = x_225;
-x_40 = x_224;
-goto block_87;
+x_238 = l_Lean_Meta_assignExprMVar___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___spec__1(x_237, x_2, x_3, x_4, x_5, x_6, x_7, x_236);
+x_239 = lean_ctor_get(x_238, 1);
+lean_inc(x_239);
+if (lean_is_exclusive(x_238)) {
+ lean_ctor_release(x_238, 0);
+ lean_ctor_release(x_238, 1);
+ x_240 = x_238;
+} else {
+ lean_dec_ref(x_238);
+ x_240 = lean_box(0);
+}
+x_241 = 1;
+x_242 = lean_box(x_241);
+if (lean_is_scalar(x_240)) {
+ x_243 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_243 = x_240;
+}
+lean_ctor_set(x_243, 0, x_242);
+lean_ctor_set(x_243, 1, x_239);
+x_29 = x_243;
+goto block_49;
}
}
}
}
else
{
-lean_object* x_238; lean_object* x_239;
-lean_dec(x_161);
-lean_dec(x_157);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
+lean_object* x_257; lean_object* x_258; lean_object* x_259; lean_object* x_260;
+lean_dec(x_55);
+lean_dec(x_51);
lean_dec(x_2);
lean_dec(x_1);
-x_238 = lean_ctor_get(x_168, 0);
-lean_inc(x_238);
-x_239 = lean_ctor_get(x_168, 1);
-lean_inc(x_239);
-lean_dec(x_168);
-x_88 = x_238;
-x_89 = x_239;
-goto block_121;
+x_257 = lean_ctor_get(x_171, 0);
+lean_inc(x_257);
+x_258 = lean_ctor_get(x_171, 1);
+lean_inc(x_258);
+if (lean_is_exclusive(x_171)) {
+ lean_ctor_release(x_171, 0);
+ lean_ctor_release(x_171, 1);
+ x_259 = x_171;
+} else {
+ lean_dec_ref(x_171);
+ x_259 = lean_box(0);
+}
+if (lean_is_scalar(x_259)) {
+ x_260 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_260 = x_259;
+}
+lean_ctor_set(x_260, 0, x_257);
+lean_ctor_set(x_260, 1, x_258);
+x_29 = x_260;
+goto block_49;
+}
}
}
else
{
-uint8_t x_240; uint8_t x_241; uint8_t x_242; uint8_t x_243; uint8_t x_244; uint8_t x_245; uint8_t x_246; uint8_t x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250;
-x_240 = lean_ctor_get_uint8(x_160, 0);
-x_241 = lean_ctor_get_uint8(x_160, 1);
-x_242 = lean_ctor_get_uint8(x_160, 2);
-x_243 = lean_ctor_get_uint8(x_160, 3);
-x_244 = lean_ctor_get_uint8(x_160, 4);
-x_245 = lean_ctor_get_uint8(x_160, 6);
-x_246 = lean_ctor_get_uint8(x_160, 7);
-lean_dec(x_160);
-x_247 = 1;
-x_248 = lean_alloc_ctor(0, 0, 8);
-lean_ctor_set_uint8(x_248, 0, x_240);
-lean_ctor_set_uint8(x_248, 1, x_241);
-lean_ctor_set_uint8(x_248, 2, x_242);
-lean_ctor_set_uint8(x_248, 3, x_243);
-lean_ctor_set_uint8(x_248, 4, x_244);
-lean_ctor_set_uint8(x_248, 5, x_247);
-lean_ctor_set_uint8(x_248, 6, x_245);
-lean_ctor_set_uint8(x_248, 7, x_246);
-x_249 = lean_alloc_ctor(0, 3, 0);
-lean_ctor_set(x_249, 0, x_248);
-lean_ctor_set(x_249, 1, x_163);
-lean_ctor_set(x_249, 2, x_164);
-lean_inc(x_7);
-lean_inc(x_6);
-lean_inc(x_5);
-lean_inc(x_3);
-lean_inc(x_161);
-lean_inc(x_157);
-x_250 = l_Lean_Meta_isExprDefEqAux(x_157, x_161, x_3, x_249, x_5, x_6, x_7, x_162);
-if (lean_obj_tag(x_250) == 0)
+lean_object* x_261; lean_object* x_262; lean_object* x_263; lean_object* x_264; uint8_t x_265;
+lean_dec(x_51);
+lean_dec(x_2);
+lean_dec(x_1);
+x_261 = lean_ctor_get(x_53, 0);
+lean_inc(x_261);
+x_262 = lean_ctor_get(x_53, 1);
+lean_inc(x_262);
+lean_dec(x_53);
+x_263 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__4;
+x_264 = l___private_Lean_Util_Trace_0__Lean_addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__7(x_27, x_263, x_25, x_3, x_4, x_5, x_6, x_7, x_262);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_265 = !lean_is_exclusive(x_264);
+if (x_265 == 0)
{
-lean_object* x_251; uint8_t x_252;
-x_251 = lean_ctor_get(x_250, 0);
-lean_inc(x_251);
-x_252 = lean_unbox(x_251);
-lean_dec(x_251);
-if (x_252 == 0)
+lean_object* x_266;
+x_266 = lean_ctor_get(x_264, 0);
+lean_dec(x_266);
+lean_ctor_set_tag(x_264, 1);
+lean_ctor_set(x_264, 0, x_261);
+return x_264;
+}
+else
{
-lean_object* x_253; uint8_t x_254; lean_object* x_255; lean_object* x_275; lean_object* x_276; lean_object* x_277; uint8_t x_278;
-x_253 = lean_ctor_get(x_250, 1);
-lean_inc(x_253);
-lean_dec(x_250);
-x_275 = lean_st_ref_get(x_7, x_253);
-x_276 = lean_ctor_get(x_275, 0);
-lean_inc(x_276);
-x_277 = lean_ctor_get(x_276, 3);
-lean_inc(x_277);
-lean_dec(x_276);
-x_278 = lean_ctor_get_uint8(x_277, sizeof(void*)*1);
-lean_dec(x_277);
-if (x_278 == 0)
+lean_object* x_267; lean_object* x_268;
+x_267 = lean_ctor_get(x_264, 1);
+lean_inc(x_267);
+lean_dec(x_264);
+x_268 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_268, 0, x_261);
+lean_ctor_set(x_268, 1, x_267);
+return x_268;
+}
+}
+}
+else
{
-lean_object* x_279;
-x_279 = lean_ctor_get(x_275, 1);
+lean_object* x_269; lean_object* x_270; lean_object* x_271; lean_object* x_272; uint8_t x_273;
+lean_dec(x_2);
+lean_dec(x_1);
+x_269 = lean_ctor_get(x_50, 0);
+lean_inc(x_269);
+x_270 = lean_ctor_get(x_50, 1);
+lean_inc(x_270);
+lean_dec(x_50);
+x_271 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__4;
+x_272 = l___private_Lean_Util_Trace_0__Lean_addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__7(x_27, x_271, x_25, x_3, x_4, x_5, x_6, x_7, x_270);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_273 = !lean_is_exclusive(x_272);
+if (x_273 == 0)
+{
+lean_object* x_274;
+x_274 = lean_ctor_get(x_272, 0);
+lean_dec(x_274);
+lean_ctor_set_tag(x_272, 1);
+lean_ctor_set(x_272, 0, x_269);
+return x_272;
+}
+else
+{
+lean_object* x_275; lean_object* x_276;
+x_275 = lean_ctor_get(x_272, 1);
+lean_inc(x_275);
+lean_dec(x_272);
+x_276 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_276, 0, x_269);
+lean_ctor_set(x_276, 1, x_275);
+return x_276;
+}
+}
+block_49:
+{
+if (lean_obj_tag(x_29) == 0)
+{
+lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; uint8_t x_34;
+x_30 = lean_ctor_get(x_29, 0);
+lean_inc(x_30);
+x_31 = lean_ctor_get(x_29, 1);
+lean_inc(x_31);
+lean_dec(x_29);
+x_32 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__4;
+x_33 = l___private_Lean_Util_Trace_0__Lean_addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__7(x_27, x_32, x_25, x_3, x_4, x_5, x_6, x_7, x_31);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_34 = !lean_is_exclusive(x_33);
+if (x_34 == 0)
+{
+lean_object* x_35; lean_object* x_36;
+x_35 = lean_ctor_get(x_33, 0);
+x_36 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_36, 0, x_30);
+lean_ctor_set(x_36, 1, x_35);
+lean_ctor_set(x_33, 0, x_36);
+x_9 = x_33;
+goto block_21;
+}
+else
+{
+lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40;
+x_37 = lean_ctor_get(x_33, 0);
+x_38 = lean_ctor_get(x_33, 1);
+lean_inc(x_38);
+lean_inc(x_37);
+lean_dec(x_33);
+x_39 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_39, 0, x_30);
+lean_ctor_set(x_39, 1, x_37);
+x_40 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_40, 0, x_39);
+lean_ctor_set(x_40, 1, x_38);
+x_9 = x_40;
+goto block_21;
+}
+}
+else
+{
+lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45;
+x_41 = lean_ctor_get(x_29, 0);
+lean_inc(x_41);
+x_42 = lean_ctor_get(x_29, 1);
+lean_inc(x_42);
+lean_dec(x_29);
+x_43 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__4;
+x_44 = l___private_Lean_Util_Trace_0__Lean_addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__7(x_27, x_43, x_25, x_3, x_4, x_5, x_6, x_7, x_42);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_45 = !lean_is_exclusive(x_44);
+if (x_45 == 0)
+{
+lean_object* x_46;
+x_46 = lean_ctor_get(x_44, 0);
+lean_dec(x_46);
+lean_ctor_set_tag(x_44, 1);
+lean_ctor_set(x_44, 0, x_41);
+x_9 = x_44;
+goto block_21;
+}
+else
+{
+lean_object* x_47; lean_object* x_48;
+x_47 = lean_ctor_get(x_44, 1);
+lean_inc(x_47);
+lean_dec(x_44);
+x_48 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_48, 0, x_41);
+lean_ctor_set(x_48, 1, x_47);
+x_9 = x_48;
+goto block_21;
+}
+}
+}
+}
+else
+{
+lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; uint8_t x_281; lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; uint8_t x_286;
+x_277 = lean_st_ref_get(x_7, x_23);
+x_278 = lean_ctor_get(x_277, 0);
+lean_inc(x_278);
+x_279 = lean_ctor_get(x_278, 3);
lean_inc(x_279);
-lean_dec(x_275);
-x_254 = x_36;
-x_255 = x_279;
-goto block_274;
-}
-else
-{
-lean_object* x_280; lean_object* x_281; lean_object* x_282; lean_object* x_283; lean_object* x_284; uint8_t x_285;
-x_280 = lean_ctor_get(x_275, 1);
+lean_dec(x_278);
+x_280 = lean_ctor_get(x_277, 1);
lean_inc(x_280);
-lean_dec(x_275);
-x_281 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__6;
-x_282 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_281, x_3, x_4, x_5, x_6, x_7, x_280);
+lean_dec(x_277);
+x_281 = lean_ctor_get_uint8(x_279, sizeof(void*)*1);
+lean_dec(x_279);
+x_282 = lean_st_ref_take(x_7, x_280);
x_283 = lean_ctor_get(x_282, 0);
lean_inc(x_283);
-x_284 = lean_ctor_get(x_282, 1);
+x_284 = lean_ctor_get(x_283, 3);
lean_inc(x_284);
+x_285 = lean_ctor_get(x_282, 1);
+lean_inc(x_285);
lean_dec(x_282);
-x_285 = lean_unbox(x_283);
-lean_dec(x_283);
-x_254 = x_285;
-x_255 = x_284;
-goto block_274;
-}
-block_274:
+x_286 = !lean_is_exclusive(x_283);
+if (x_286 == 0)
{
-if (x_254 == 0)
+lean_object* x_287; uint8_t x_288;
+x_287 = lean_ctor_get(x_283, 3);
+lean_dec(x_287);
+x_288 = !lean_is_exclusive(x_284);
+if (x_288 == 0)
{
-lean_dec(x_161);
-lean_dec(x_157);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_dec(x_1);
-x_39 = x_36;
-x_40 = x_255;
-goto block_87;
-}
-else
-{
-lean_object* x_256; lean_object* x_257; lean_object* x_258; lean_object* x_259; lean_object* x_260; lean_object* x_261; lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265; lean_object* x_266; lean_object* x_267; lean_object* x_268; lean_object* x_269; lean_object* x_270; lean_object* x_271; lean_object* x_272; lean_object* x_273;
-x_256 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_256, 0, x_1);
-x_257 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_258 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_258, 0, x_257);
-lean_ctor_set(x_258, 1, x_256);
-x_259 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__7;
-x_260 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_260, 0, x_258);
-lean_ctor_set(x_260, 1, x_259);
-x_261 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_261, 0, x_157);
-x_262 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_262, 0, x_260);
-lean_ctor_set(x_262, 1, x_261);
-x_263 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__8;
-x_264 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_264, 0, x_262);
-lean_ctor_set(x_264, 1, x_263);
-x_265 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_265, 0, x_2);
-x_266 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_266, 0, x_264);
-lean_ctor_set(x_266, 1, x_265);
-x_267 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_267, 0, x_266);
-lean_ctor_set(x_267, 1, x_259);
-x_268 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_268, 0, x_161);
-x_269 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_269, 0, x_267);
-lean_ctor_set(x_269, 1, x_268);
-x_270 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_270, 0, x_269);
-lean_ctor_set(x_270, 1, x_257);
-x_271 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__6;
-x_272 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__2(x_271, x_270, x_3, x_4, x_5, x_6, x_7, x_255);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_273 = lean_ctor_get(x_272, 1);
-lean_inc(x_273);
-lean_dec(x_272);
-x_39 = x_36;
-x_40 = x_273;
-goto block_87;
-}
-}
-}
-else
-{
-lean_object* x_286; uint8_t x_287; lean_object* x_288; lean_object* x_309; lean_object* x_310; lean_object* x_311; uint8_t x_312;
-lean_dec(x_161);
-lean_dec(x_157);
-x_286 = lean_ctor_get(x_250, 1);
-lean_inc(x_286);
-lean_dec(x_250);
-x_309 = lean_st_ref_get(x_7, x_286);
-x_310 = lean_ctor_get(x_309, 0);
-lean_inc(x_310);
-x_311 = lean_ctor_get(x_310, 3);
-lean_inc(x_311);
-lean_dec(x_310);
-x_312 = lean_ctor_get_uint8(x_311, sizeof(void*)*1);
-lean_dec(x_311);
-if (x_312 == 0)
-{
-lean_object* x_313;
-x_313 = lean_ctor_get(x_309, 1);
-lean_inc(x_313);
-lean_dec(x_309);
-x_287 = x_36;
-x_288 = x_313;
-goto block_308;
-}
-else
-{
-lean_object* x_314; lean_object* x_315; lean_object* x_316; lean_object* x_317; lean_object* x_318; uint8_t x_319;
-x_314 = lean_ctor_get(x_309, 1);
-lean_inc(x_314);
-lean_dec(x_309);
-x_315 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__10;
-x_316 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_315, x_3, x_4, x_5, x_6, x_7, x_314);
-x_317 = lean_ctor_get(x_316, 0);
-lean_inc(x_317);
-x_318 = lean_ctor_get(x_316, 1);
-lean_inc(x_318);
-lean_dec(x_316);
-x_319 = lean_unbox(x_317);
-lean_dec(x_317);
-x_287 = x_319;
-x_288 = x_318;
-goto block_308;
-}
-block_308:
-{
-if (x_287 == 0)
-{
-lean_object* x_289; lean_object* x_290; lean_object* x_291; uint8_t x_292;
-x_289 = l_Lean_Expr_mvarId_x21(x_1);
-lean_dec(x_1);
-x_290 = l_Lean_Meta_assignExprMVar___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___spec__1(x_289, x_2, x_3, x_4, x_5, x_6, x_7, x_288);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
+uint8_t x_289; lean_object* x_290; lean_object* x_291; lean_object* x_292; lean_object* x_293; lean_object* x_326; lean_object* x_374;
+x_289 = 0;
+lean_ctor_set_uint8(x_284, sizeof(void*)*1, x_289);
+x_290 = lean_st_ref_set(x_7, x_283, x_285);
x_291 = lean_ctor_get(x_290, 1);
lean_inc(x_291);
lean_dec(x_290);
-x_292 = 1;
-x_39 = x_292;
-x_40 = x_291;
-goto block_87;
-}
-else
-{
-lean_object* x_293; lean_object* x_294; lean_object* x_295; lean_object* x_296; lean_object* x_297; lean_object* x_298; lean_object* x_299; lean_object* x_300; lean_object* x_301; lean_object* x_302; lean_object* x_303; lean_object* x_304; lean_object* x_305; lean_object* x_306; uint8_t x_307;
-lean_inc(x_1);
-x_293 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_293, 0, x_1);
-x_294 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_295 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_295, 0, x_294);
-lean_ctor_set(x_295, 1, x_293);
-x_296 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__8;
-x_297 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_297, 0, x_295);
-lean_ctor_set(x_297, 1, x_296);
-lean_inc(x_2);
-x_298 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_298, 0, x_2);
-x_299 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_299, 0, x_297);
-lean_ctor_set(x_299, 1, x_298);
-x_300 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_300, 0, x_299);
-lean_ctor_set(x_300, 1, x_294);
-x_301 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__10;
-x_302 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__2(x_301, x_300, x_3, x_4, x_5, x_6, x_7, x_288);
-x_303 = lean_ctor_get(x_302, 1);
-lean_inc(x_303);
-lean_dec(x_302);
-x_304 = l_Lean_Expr_mvarId_x21(x_1);
-lean_dec(x_1);
-x_305 = l_Lean_Meta_assignExprMVar___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___spec__1(x_304, x_2, x_3, x_4, x_5, x_6, x_7, x_303);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_306 = lean_ctor_get(x_305, 1);
-lean_inc(x_306);
-lean_dec(x_305);
-x_307 = 1;
-x_39 = x_307;
-x_40 = x_306;
-goto block_87;
-}
-}
-}
-}
-else
-{
-lean_object* x_320; lean_object* x_321;
-lean_dec(x_161);
-lean_dec(x_157);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_dec(x_1);
-x_320 = lean_ctor_get(x_250, 0);
-lean_inc(x_320);
-x_321 = lean_ctor_get(x_250, 1);
-lean_inc(x_321);
-lean_dec(x_250);
-x_88 = x_320;
-x_89 = x_321;
-goto block_121;
-}
-}
-}
-else
-{
-lean_object* x_322; lean_object* x_323;
-lean_dec(x_157);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_dec(x_1);
-x_322 = lean_ctor_get(x_159, 0);
-lean_inc(x_322);
-x_323 = lean_ctor_get(x_159, 1);
-lean_inc(x_323);
-lean_dec(x_159);
-x_122 = x_322;
-x_123 = x_323;
-goto block_155;
-}
-}
-else
-{
-lean_object* x_324; lean_object* x_325;
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_dec(x_1);
-x_324 = lean_ctor_get(x_156, 0);
-lean_inc(x_324);
-x_325 = lean_ctor_get(x_156, 1);
-lean_inc(x_325);
-lean_dec(x_156);
-x_122 = x_324;
-x_123 = x_325;
-goto block_155;
-}
-block_87:
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; uint8_t x_50;
-x_41 = lean_st_ref_get(x_7, x_40);
-x_42 = lean_ctor_get(x_41, 0);
-lean_inc(x_42);
-x_43 = lean_ctor_get(x_41, 1);
-lean_inc(x_43);
-lean_dec(x_41);
-x_44 = lean_ctor_get(x_42, 3);
-lean_inc(x_44);
-lean_dec(x_42);
-x_45 = lean_ctor_get_uint8(x_44, sizeof(void*)*1);
-lean_dec(x_44);
-x_46 = lean_st_ref_take(x_7, x_43);
-x_47 = lean_ctor_get(x_46, 0);
-lean_inc(x_47);
-x_48 = lean_ctor_get(x_47, 3);
-lean_inc(x_48);
-x_49 = lean_ctor_get(x_46, 1);
-lean_inc(x_49);
-lean_dec(x_46);
-x_50 = !lean_is_exclusive(x_47);
-if (x_50 == 0)
-{
-lean_object* x_51; uint8_t x_52;
-x_51 = lean_ctor_get(x_47, 3);
-lean_dec(x_51);
-x_52 = !lean_is_exclusive(x_48);
-if (x_52 == 0)
-{
-lean_object* x_53; uint8_t x_54;
-lean_ctor_set_uint8(x_48, sizeof(void*)*1, x_28);
-x_53 = lean_st_ref_set(x_7, x_47, x_49);
-lean_dec(x_7);
-x_54 = !lean_is_exclusive(x_53);
-if (x_54 == 0)
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58;
-x_55 = lean_ctor_get(x_53, 0);
-lean_dec(x_55);
-x_56 = lean_box(x_39);
-x_57 = lean_box(x_45);
-x_58 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_58, 0, x_56);
-lean_ctor_set(x_58, 1, x_57);
-lean_ctor_set(x_53, 0, x_58);
-x_9 = x_53;
-goto block_21;
-}
-else
-{
-lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63;
-x_59 = lean_ctor_get(x_53, 1);
-lean_inc(x_59);
-lean_dec(x_53);
-x_60 = lean_box(x_39);
-x_61 = lean_box(x_45);
-x_62 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_62, 0, x_60);
-lean_ctor_set(x_62, 1, x_61);
-x_63 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_63, 0, x_62);
-lean_ctor_set(x_63, 1, x_59);
-x_9 = x_63;
-goto block_21;
-}
-}
-else
-{
-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;
-x_64 = lean_ctor_get(x_48, 0);
-lean_inc(x_64);
-lean_dec(x_48);
-x_65 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_65, 0, x_64);
-lean_ctor_set_uint8(x_65, sizeof(void*)*1, x_28);
-lean_ctor_set(x_47, 3, x_65);
-x_66 = lean_st_ref_set(x_7, x_47, x_49);
-lean_dec(x_7);
-x_67 = lean_ctor_get(x_66, 1);
-lean_inc(x_67);
-if (lean_is_exclusive(x_66)) {
- lean_ctor_release(x_66, 0);
- lean_ctor_release(x_66, 1);
- x_68 = x_66;
-} else {
- lean_dec_ref(x_66);
- x_68 = lean_box(0);
-}
-x_69 = lean_box(x_39);
-x_70 = lean_box(x_45);
-x_71 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_71, 0, x_69);
-lean_ctor_set(x_71, 1, x_70);
-if (lean_is_scalar(x_68)) {
- x_72 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_72 = x_68;
-}
-lean_ctor_set(x_72, 0, x_71);
-lean_ctor_set(x_72, 1, x_67);
-x_9 = x_72;
-goto block_21;
-}
-}
-else
-{
-lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; 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;
-x_73 = lean_ctor_get(x_47, 0);
-x_74 = lean_ctor_get(x_47, 1);
-x_75 = lean_ctor_get(x_47, 2);
-lean_inc(x_75);
-lean_inc(x_74);
-lean_inc(x_73);
-lean_dec(x_47);
-x_76 = lean_ctor_get(x_48, 0);
-lean_inc(x_76);
-if (lean_is_exclusive(x_48)) {
- lean_ctor_release(x_48, 0);
- x_77 = x_48;
-} else {
- lean_dec_ref(x_48);
- x_77 = lean_box(0);
-}
-if (lean_is_scalar(x_77)) {
- x_78 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_78 = x_77;
-}
-lean_ctor_set(x_78, 0, x_76);
-lean_ctor_set_uint8(x_78, sizeof(void*)*1, x_28);
-x_79 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_79, 0, x_73);
-lean_ctor_set(x_79, 1, x_74);
-lean_ctor_set(x_79, 2, x_75);
-lean_ctor_set(x_79, 3, x_78);
-x_80 = lean_st_ref_set(x_7, x_79, x_49);
-lean_dec(x_7);
-x_81 = lean_ctor_get(x_80, 1);
-lean_inc(x_81);
-if (lean_is_exclusive(x_80)) {
- lean_ctor_release(x_80, 0);
- lean_ctor_release(x_80, 1);
- x_82 = x_80;
-} else {
- lean_dec_ref(x_80);
- x_82 = lean_box(0);
-}
-x_83 = lean_box(x_39);
-x_84 = lean_box(x_45);
-x_85 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_85, 0, x_83);
-lean_ctor_set(x_85, 1, x_84);
-if (lean_is_scalar(x_82)) {
- x_86 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_86 = x_82;
-}
-lean_ctor_set(x_86, 0, x_85);
-lean_ctor_set(x_86, 1, x_81);
-x_9 = x_86;
-goto block_21;
-}
-}
-block_121:
-{
-lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; uint8_t x_96;
-x_90 = lean_st_ref_get(x_7, x_89);
-x_91 = lean_ctor_get(x_90, 1);
-lean_inc(x_91);
-lean_dec(x_90);
-x_92 = lean_st_ref_take(x_7, x_91);
-x_93 = lean_ctor_get(x_92, 0);
-lean_inc(x_93);
-x_94 = lean_ctor_get(x_93, 3);
-lean_inc(x_94);
-x_95 = lean_ctor_get(x_92, 1);
-lean_inc(x_95);
-lean_dec(x_92);
-x_96 = !lean_is_exclusive(x_93);
-if (x_96 == 0)
-{
-lean_object* x_97; uint8_t x_98;
-x_97 = lean_ctor_get(x_93, 3);
-lean_dec(x_97);
-x_98 = !lean_is_exclusive(x_94);
-if (x_98 == 0)
-{
-lean_object* x_99; uint8_t x_100;
-lean_ctor_set_uint8(x_94, sizeof(void*)*1, x_28);
-x_99 = lean_st_ref_set(x_7, x_93, x_95);
-lean_dec(x_7);
-x_100 = !lean_is_exclusive(x_99);
-if (x_100 == 0)
-{
-lean_object* x_101;
-x_101 = lean_ctor_get(x_99, 0);
-lean_dec(x_101);
-lean_ctor_set_tag(x_99, 1);
-lean_ctor_set(x_99, 0, x_88);
-x_9 = x_99;
-goto block_21;
-}
-else
-{
-lean_object* x_102; lean_object* x_103;
-x_102 = lean_ctor_get(x_99, 1);
-lean_inc(x_102);
-lean_dec(x_99);
-x_103 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_103, 0, x_88);
-lean_ctor_set(x_103, 1, x_102);
-x_9 = x_103;
-goto block_21;
-}
-}
-else
-{
-lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109;
-x_104 = lean_ctor_get(x_94, 0);
-lean_inc(x_104);
-lean_dec(x_94);
-x_105 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_105, 0, x_104);
-lean_ctor_set_uint8(x_105, sizeof(void*)*1, x_28);
-lean_ctor_set(x_93, 3, x_105);
-x_106 = lean_st_ref_set(x_7, x_93, x_95);
-lean_dec(x_7);
-x_107 = lean_ctor_get(x_106, 1);
-lean_inc(x_107);
-if (lean_is_exclusive(x_106)) {
- lean_ctor_release(x_106, 0);
- lean_ctor_release(x_106, 1);
- x_108 = x_106;
-} else {
- lean_dec_ref(x_106);
- x_108 = lean_box(0);
-}
-if (lean_is_scalar(x_108)) {
- x_109 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_109 = x_108;
- lean_ctor_set_tag(x_109, 1);
-}
-lean_ctor_set(x_109, 0, x_88);
-lean_ctor_set(x_109, 1, x_107);
-x_9 = x_109;
-goto block_21;
-}
-}
-else
-{
-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;
-x_110 = lean_ctor_get(x_93, 0);
-x_111 = lean_ctor_get(x_93, 1);
-x_112 = lean_ctor_get(x_93, 2);
-lean_inc(x_112);
-lean_inc(x_111);
-lean_inc(x_110);
-lean_dec(x_93);
-x_113 = lean_ctor_get(x_94, 0);
-lean_inc(x_113);
-if (lean_is_exclusive(x_94)) {
- lean_ctor_release(x_94, 0);
- x_114 = x_94;
-} else {
- lean_dec_ref(x_94);
- x_114 = lean_box(0);
-}
-if (lean_is_scalar(x_114)) {
- x_115 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_115 = x_114;
-}
-lean_ctor_set(x_115, 0, x_113);
-lean_ctor_set_uint8(x_115, sizeof(void*)*1, x_28);
-x_116 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_116, 0, x_110);
-lean_ctor_set(x_116, 1, x_111);
-lean_ctor_set(x_116, 2, x_112);
-lean_ctor_set(x_116, 3, x_115);
-x_117 = lean_st_ref_set(x_7, x_116, x_95);
-lean_dec(x_7);
-x_118 = lean_ctor_get(x_117, 1);
-lean_inc(x_118);
-if (lean_is_exclusive(x_117)) {
- lean_ctor_release(x_117, 0);
- lean_ctor_release(x_117, 1);
- x_119 = x_117;
-} else {
- lean_dec_ref(x_117);
- x_119 = lean_box(0);
-}
-if (lean_is_scalar(x_119)) {
- x_120 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_120 = x_119;
- lean_ctor_set_tag(x_120, 1);
-}
-lean_ctor_set(x_120, 0, x_88);
-lean_ctor_set(x_120, 1, x_118);
-x_9 = x_120;
-goto block_21;
-}
-}
-block_155:
-{
-lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; uint8_t x_130;
-x_124 = lean_st_ref_get(x_7, x_123);
-x_125 = lean_ctor_get(x_124, 1);
-lean_inc(x_125);
-lean_dec(x_124);
-x_126 = lean_st_ref_take(x_7, x_125);
-x_127 = lean_ctor_get(x_126, 0);
-lean_inc(x_127);
-x_128 = lean_ctor_get(x_127, 3);
-lean_inc(x_128);
-x_129 = lean_ctor_get(x_126, 1);
-lean_inc(x_129);
-lean_dec(x_126);
-x_130 = !lean_is_exclusive(x_127);
-if (x_130 == 0)
-{
-lean_object* x_131; uint8_t x_132;
-x_131 = lean_ctor_get(x_127, 3);
-lean_dec(x_131);
-x_132 = !lean_is_exclusive(x_128);
-if (x_132 == 0)
-{
-lean_object* x_133; uint8_t x_134;
-lean_ctor_set_uint8(x_128, sizeof(void*)*1, x_28);
-x_133 = lean_st_ref_set(x_7, x_127, x_129);
-lean_dec(x_7);
-x_134 = !lean_is_exclusive(x_133);
-if (x_134 == 0)
-{
-lean_object* x_135;
-x_135 = lean_ctor_get(x_133, 0);
-lean_dec(x_135);
-lean_ctor_set_tag(x_133, 1);
-lean_ctor_set(x_133, 0, x_122);
-return x_133;
-}
-else
-{
-lean_object* x_136; lean_object* x_137;
-x_136 = lean_ctor_get(x_133, 1);
-lean_inc(x_136);
-lean_dec(x_133);
-x_137 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_137, 0, x_122);
-lean_ctor_set(x_137, 1, x_136);
-return x_137;
-}
-}
-else
-{
-lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143;
-x_138 = lean_ctor_get(x_128, 0);
-lean_inc(x_138);
-lean_dec(x_128);
-x_139 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_139, 0, x_138);
-lean_ctor_set_uint8(x_139, sizeof(void*)*1, x_28);
-lean_ctor_set(x_127, 3, x_139);
-x_140 = lean_st_ref_set(x_7, x_127, x_129);
-lean_dec(x_7);
-x_141 = lean_ctor_get(x_140, 1);
-lean_inc(x_141);
-if (lean_is_exclusive(x_140)) {
- lean_ctor_release(x_140, 0);
- lean_ctor_release(x_140, 1);
- x_142 = x_140;
-} else {
- lean_dec_ref(x_140);
- x_142 = lean_box(0);
-}
-if (lean_is_scalar(x_142)) {
- x_143 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_143 = x_142;
- lean_ctor_set_tag(x_143, 1);
-}
-lean_ctor_set(x_143, 0, x_122);
-lean_ctor_set(x_143, 1, x_141);
-return x_143;
-}
-}
-else
-{
-lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154;
-x_144 = lean_ctor_get(x_127, 0);
-x_145 = lean_ctor_get(x_127, 1);
-x_146 = lean_ctor_get(x_127, 2);
-lean_inc(x_146);
-lean_inc(x_145);
-lean_inc(x_144);
-lean_dec(x_127);
-x_147 = lean_ctor_get(x_128, 0);
-lean_inc(x_147);
-if (lean_is_exclusive(x_128)) {
- lean_ctor_release(x_128, 0);
- x_148 = x_128;
-} else {
- lean_dec_ref(x_128);
- x_148 = lean_box(0);
-}
-if (lean_is_scalar(x_148)) {
- x_149 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_149 = x_148;
-}
-lean_ctor_set(x_149, 0, x_147);
-lean_ctor_set_uint8(x_149, sizeof(void*)*1, x_28);
-x_150 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_150, 0, x_144);
-lean_ctor_set(x_150, 1, x_145);
-lean_ctor_set(x_150, 2, x_146);
-lean_ctor_set(x_150, 3, x_149);
-x_151 = lean_st_ref_set(x_7, x_150, x_129);
-lean_dec(x_7);
-x_152 = lean_ctor_get(x_151, 1);
-lean_inc(x_152);
-if (lean_is_exclusive(x_151)) {
- lean_ctor_release(x_151, 0);
- lean_ctor_release(x_151, 1);
- x_153 = x_151;
-} else {
- lean_dec_ref(x_151);
- x_153 = lean_box(0);
-}
-if (lean_is_scalar(x_153)) {
- x_154 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_154 = x_153;
- lean_ctor_set_tag(x_154, 1);
-}
-lean_ctor_set(x_154, 0, x_122);
-lean_ctor_set(x_154, 1, x_152);
-return x_154;
-}
-}
-}
-else
-{
-lean_object* x_326; uint8_t x_327; lean_object* x_328; lean_object* x_329; lean_object* x_330; uint8_t x_331; lean_object* x_332; lean_object* x_358; lean_object* x_359; lean_object* x_379; lean_object* x_380; lean_object* x_400;
-x_326 = lean_ctor_get(x_31, 0);
-lean_inc(x_326);
-lean_dec(x_31);
-x_327 = 0;
-x_328 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_328, 0, x_326);
-lean_ctor_set_uint8(x_328, sizeof(void*)*1, x_327);
-lean_ctor_set(x_30, 3, x_328);
-x_329 = lean_st_ref_set(x_7, x_30, x_32);
-x_330 = lean_ctor_get(x_329, 1);
-lean_inc(x_330);
-lean_dec(x_329);
lean_inc(x_7);
lean_inc(x_6);
lean_inc(x_5);
lean_inc(x_4);
lean_inc(x_1);
-x_400 = l_Lean_Meta_inferType___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqEta___spec__1(x_1, x_3, x_4, x_5, x_6, x_7, x_330);
-if (lean_obj_tag(x_400) == 0)
+x_374 = l_Lean_Meta_inferType___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqEta___spec__1(x_1, x_3, x_4, x_5, x_6, x_7, x_291);
+if (lean_obj_tag(x_374) == 0)
{
-lean_object* x_401; lean_object* x_402; lean_object* x_403;
-x_401 = lean_ctor_get(x_400, 0);
-lean_inc(x_401);
-x_402 = lean_ctor_get(x_400, 1);
-lean_inc(x_402);
-lean_dec(x_400);
+lean_object* x_375; lean_object* x_376; lean_object* x_377;
+x_375 = lean_ctor_get(x_374, 0);
+lean_inc(x_375);
+x_376 = lean_ctor_get(x_374, 1);
+lean_inc(x_376);
+lean_dec(x_374);
lean_inc(x_7);
lean_inc(x_6);
lean_inc(x_5);
lean_inc(x_4);
lean_inc(x_2);
-x_403 = l_Lean_Meta_inferType___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqEta___spec__1(x_2, x_3, x_4, x_5, x_6, x_7, x_402);
-if (lean_obj_tag(x_403) == 0)
+x_377 = l_Lean_Meta_inferType___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqEta___spec__1(x_2, x_3, x_4, x_5, x_6, x_7, x_376);
+if (lean_obj_tag(x_377) == 0)
{
-lean_object* x_404; lean_object* x_405; lean_object* x_406; lean_object* x_407; lean_object* x_408; uint8_t x_409; uint8_t x_410; uint8_t x_411; uint8_t x_412; uint8_t x_413; uint8_t x_414; uint8_t x_415; lean_object* x_416; uint8_t x_417; lean_object* x_418; lean_object* x_419; lean_object* x_420;
-x_404 = lean_ctor_get(x_4, 0);
-lean_inc(x_404);
-x_405 = lean_ctor_get(x_403, 0);
-lean_inc(x_405);
-x_406 = lean_ctor_get(x_403, 1);
-lean_inc(x_406);
-lean_dec(x_403);
-x_407 = lean_ctor_get(x_4, 1);
-lean_inc(x_407);
-x_408 = lean_ctor_get(x_4, 2);
-lean_inc(x_408);
-x_409 = lean_ctor_get_uint8(x_404, 0);
-x_410 = lean_ctor_get_uint8(x_404, 1);
-x_411 = lean_ctor_get_uint8(x_404, 2);
-x_412 = lean_ctor_get_uint8(x_404, 3);
-x_413 = lean_ctor_get_uint8(x_404, 4);
-x_414 = lean_ctor_get_uint8(x_404, 6);
-x_415 = lean_ctor_get_uint8(x_404, 7);
-if (lean_is_exclusive(x_404)) {
- x_416 = x_404;
-} else {
- lean_dec_ref(x_404);
- x_416 = lean_box(0);
-}
-x_417 = 1;
-if (lean_is_scalar(x_416)) {
- x_418 = lean_alloc_ctor(0, 0, 8);
-} else {
- x_418 = x_416;
-}
-lean_ctor_set_uint8(x_418, 0, x_409);
-lean_ctor_set_uint8(x_418, 1, x_410);
-lean_ctor_set_uint8(x_418, 2, x_411);
-lean_ctor_set_uint8(x_418, 3, x_412);
-lean_ctor_set_uint8(x_418, 4, x_413);
-lean_ctor_set_uint8(x_418, 5, x_417);
-lean_ctor_set_uint8(x_418, 6, x_414);
-lean_ctor_set_uint8(x_418, 7, x_415);
-x_419 = lean_alloc_ctor(0, 3, 0);
-lean_ctor_set(x_419, 0, x_418);
-lean_ctor_set(x_419, 1, x_407);
-lean_ctor_set(x_419, 2, x_408);
+lean_object* x_378; lean_object* x_379; lean_object* x_380; lean_object* x_381; lean_object* x_382; uint8_t x_383;
+x_378 = lean_ctor_get(x_4, 0);
+lean_inc(x_378);
+x_379 = lean_ctor_get(x_377, 0);
+lean_inc(x_379);
+x_380 = lean_ctor_get(x_377, 1);
+lean_inc(x_380);
+lean_dec(x_377);
+x_381 = lean_ctor_get(x_4, 1);
+lean_inc(x_381);
+x_382 = lean_ctor_get(x_4, 2);
+lean_inc(x_382);
+x_383 = !lean_is_exclusive(x_378);
+if (x_383 == 0)
+{
+uint8_t x_384; lean_object* x_385; lean_object* x_386;
+x_384 = 1;
+lean_ctor_set_uint8(x_378, 5, x_384);
+x_385 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_385, 0, x_378);
+lean_ctor_set(x_385, 1, x_381);
+lean_ctor_set(x_385, 2, x_382);
lean_inc(x_7);
lean_inc(x_6);
lean_inc(x_5);
lean_inc(x_3);
-lean_inc(x_405);
-lean_inc(x_401);
-x_420 = l_Lean_Meta_isExprDefEqAux(x_401, x_405, x_3, x_419, x_5, x_6, x_7, x_406);
-if (lean_obj_tag(x_420) == 0)
+lean_inc(x_379);
+lean_inc(x_375);
+x_386 = l_Lean_Meta_isExprDefEqAux(x_375, x_379, x_3, x_385, x_5, x_6, x_7, x_380);
+if (lean_obj_tag(x_386) == 0)
{
-lean_object* x_421; uint8_t x_422;
-x_421 = lean_ctor_get(x_420, 0);
+lean_object* x_387; uint8_t x_388;
+x_387 = lean_ctor_get(x_386, 0);
+lean_inc(x_387);
+x_388 = lean_unbox(x_387);
+lean_dec(x_387);
+if (x_388 == 0)
+{
+lean_object* x_389; lean_object* x_390; uint8_t x_391; lean_object* x_392; lean_object* x_419; lean_object* x_420; lean_object* x_421; uint8_t x_422;
+x_389 = lean_ctor_get(x_386, 1);
+lean_inc(x_389);
+if (lean_is_exclusive(x_386)) {
+ lean_ctor_release(x_386, 0);
+ lean_ctor_release(x_386, 1);
+ x_390 = x_386;
+} else {
+ lean_dec_ref(x_386);
+ x_390 = lean_box(0);
+}
+x_419 = lean_st_ref_get(x_7, x_389);
+x_420 = lean_ctor_get(x_419, 0);
+lean_inc(x_420);
+x_421 = lean_ctor_get(x_420, 3);
lean_inc(x_421);
-x_422 = lean_unbox(x_421);
+lean_dec(x_420);
+x_422 = lean_ctor_get_uint8(x_421, sizeof(void*)*1);
lean_dec(x_421);
if (x_422 == 0)
{
-lean_object* x_423; uint8_t x_424; lean_object* x_425; lean_object* x_445; lean_object* x_446; lean_object* x_447; uint8_t x_448;
-x_423 = lean_ctor_get(x_420, 1);
+lean_object* x_423;
+x_423 = lean_ctor_get(x_419, 1);
lean_inc(x_423);
-lean_dec(x_420);
-x_445 = lean_st_ref_get(x_7, x_423);
-x_446 = lean_ctor_get(x_445, 0);
-lean_inc(x_446);
-x_447 = lean_ctor_get(x_446, 3);
-lean_inc(x_447);
-lean_dec(x_446);
-x_448 = lean_ctor_get_uint8(x_447, sizeof(void*)*1);
-lean_dec(x_447);
-if (x_448 == 0)
-{
-lean_object* x_449;
-x_449 = lean_ctor_get(x_445, 1);
-lean_inc(x_449);
-lean_dec(x_445);
-x_424 = x_327;
-x_425 = x_449;
-goto block_444;
+lean_dec(x_419);
+x_391 = x_289;
+x_392 = x_423;
+goto block_418;
}
else
{
-lean_object* x_450; lean_object* x_451; lean_object* x_452; lean_object* x_453; lean_object* x_454; uint8_t x_455;
-x_450 = lean_ctor_get(x_445, 1);
-lean_inc(x_450);
-lean_dec(x_445);
-x_451 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__6;
-x_452 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_451, x_3, x_4, x_5, x_6, x_7, x_450);
-x_453 = lean_ctor_get(x_452, 0);
-lean_inc(x_453);
-x_454 = lean_ctor_get(x_452, 1);
-lean_inc(x_454);
-lean_dec(x_452);
-x_455 = lean_unbox(x_453);
-lean_dec(x_453);
-x_424 = x_455;
-x_425 = x_454;
-goto block_444;
+lean_object* x_424; lean_object* x_425; lean_object* x_426; lean_object* x_427; lean_object* x_428; uint8_t x_429;
+x_424 = lean_ctor_get(x_419, 1);
+lean_inc(x_424);
+lean_dec(x_419);
+x_425 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__6;
+x_426 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_425, x_3, x_4, x_5, x_6, x_7, x_424);
+x_427 = lean_ctor_get(x_426, 0);
+lean_inc(x_427);
+x_428 = lean_ctor_get(x_426, 1);
+lean_inc(x_428);
+lean_dec(x_426);
+x_429 = lean_unbox(x_427);
+lean_dec(x_427);
+x_391 = x_429;
+x_392 = x_428;
+goto block_418;
}
-block_444:
+block_418:
{
-if (x_424 == 0)
+if (x_391 == 0)
{
-lean_dec(x_405);
-lean_dec(x_401);
+lean_object* x_393; lean_object* x_394;
+lean_dec(x_379);
+lean_dec(x_375);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_331 = x_327;
-x_332 = x_425;
-goto block_357;
-}
-else
-{
-lean_object* x_426; lean_object* x_427; lean_object* x_428; lean_object* x_429; lean_object* x_430; lean_object* x_431; lean_object* x_432; lean_object* x_433; lean_object* x_434; lean_object* x_435; lean_object* x_436; lean_object* x_437; lean_object* x_438; lean_object* x_439; lean_object* x_440; lean_object* x_441; lean_object* x_442; lean_object* x_443;
-x_426 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_426, 0, x_1);
-x_427 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_428 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_428, 0, x_427);
-lean_ctor_set(x_428, 1, x_426);
-x_429 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__7;
-x_430 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_430, 0, x_428);
-lean_ctor_set(x_430, 1, x_429);
-x_431 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_431, 0, x_401);
-x_432 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_432, 0, x_430);
-lean_ctor_set(x_432, 1, x_431);
-x_433 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__8;
-x_434 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_434, 0, x_432);
-lean_ctor_set(x_434, 1, x_433);
-x_435 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_435, 0, x_2);
-x_436 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_436, 0, x_434);
-lean_ctor_set(x_436, 1, x_435);
-x_437 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_437, 0, x_436);
-lean_ctor_set(x_437, 1, x_429);
-x_438 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_438, 0, x_405);
-x_439 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_439, 0, x_437);
-lean_ctor_set(x_439, 1, x_438);
-x_440 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_440, 0, x_439);
-lean_ctor_set(x_440, 1, x_427);
-x_441 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__6;
-x_442 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__2(x_441, x_440, x_3, x_4, x_5, x_6, x_7, x_425);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_443 = lean_ctor_get(x_442, 1);
-lean_inc(x_443);
-lean_dec(x_442);
-x_331 = x_327;
-x_332 = x_443;
-goto block_357;
-}
-}
-}
-else
-{
-lean_object* x_456; uint8_t x_457; lean_object* x_458; lean_object* x_479; lean_object* x_480; lean_object* x_481; uint8_t x_482;
-lean_dec(x_405);
-lean_dec(x_401);
-x_456 = lean_ctor_get(x_420, 1);
-lean_inc(x_456);
-lean_dec(x_420);
-x_479 = lean_st_ref_get(x_7, x_456);
-x_480 = lean_ctor_get(x_479, 0);
-lean_inc(x_480);
-x_481 = lean_ctor_get(x_480, 3);
-lean_inc(x_481);
-lean_dec(x_480);
-x_482 = lean_ctor_get_uint8(x_481, sizeof(void*)*1);
-lean_dec(x_481);
-if (x_482 == 0)
-{
-lean_object* x_483;
-x_483 = lean_ctor_get(x_479, 1);
-lean_inc(x_483);
-lean_dec(x_479);
-x_457 = x_327;
-x_458 = x_483;
-goto block_478;
-}
-else
-{
-lean_object* x_484; lean_object* x_485; lean_object* x_486; lean_object* x_487; lean_object* x_488; uint8_t x_489;
-x_484 = lean_ctor_get(x_479, 1);
-lean_inc(x_484);
-lean_dec(x_479);
-x_485 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__10;
-x_486 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_485, x_3, x_4, x_5, x_6, x_7, x_484);
-x_487 = lean_ctor_get(x_486, 0);
-lean_inc(x_487);
-x_488 = lean_ctor_get(x_486, 1);
-lean_inc(x_488);
-lean_dec(x_486);
-x_489 = lean_unbox(x_487);
-lean_dec(x_487);
-x_457 = x_489;
-x_458 = x_488;
-goto block_478;
-}
-block_478:
-{
-if (x_457 == 0)
-{
-lean_object* x_459; lean_object* x_460; lean_object* x_461; uint8_t x_462;
-x_459 = l_Lean_Expr_mvarId_x21(x_1);
-lean_dec(x_1);
-x_460 = l_Lean_Meta_assignExprMVar___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___spec__1(x_459, x_2, x_3, x_4, x_5, x_6, x_7, x_458);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_461 = lean_ctor_get(x_460, 1);
-lean_inc(x_461);
-lean_dec(x_460);
-x_462 = 1;
-x_331 = x_462;
-x_332 = x_461;
-goto block_357;
-}
-else
-{
-lean_object* x_463; lean_object* x_464; lean_object* x_465; lean_object* x_466; lean_object* x_467; lean_object* x_468; lean_object* x_469; lean_object* x_470; lean_object* x_471; lean_object* x_472; lean_object* x_473; lean_object* x_474; lean_object* x_475; lean_object* x_476; uint8_t x_477;
-lean_inc(x_1);
-x_463 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_463, 0, x_1);
-x_464 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_465 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_465, 0, x_464);
-lean_ctor_set(x_465, 1, x_463);
-x_466 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__8;
-x_467 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_467, 0, x_465);
-lean_ctor_set(x_467, 1, x_466);
-lean_inc(x_2);
-x_468 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_468, 0, x_2);
-x_469 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_469, 0, x_467);
-lean_ctor_set(x_469, 1, x_468);
-x_470 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_470, 0, x_469);
-lean_ctor_set(x_470, 1, x_464);
-x_471 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__10;
-x_472 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__2(x_471, x_470, x_3, x_4, x_5, x_6, x_7, x_458);
-x_473 = lean_ctor_get(x_472, 1);
-lean_inc(x_473);
-lean_dec(x_472);
-x_474 = l_Lean_Expr_mvarId_x21(x_1);
-lean_dec(x_1);
-x_475 = l_Lean_Meta_assignExprMVar___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___spec__1(x_474, x_2, x_3, x_4, x_5, x_6, x_7, x_473);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_476 = lean_ctor_get(x_475, 1);
-lean_inc(x_476);
-lean_dec(x_475);
-x_477 = 1;
-x_331 = x_477;
-x_332 = x_476;
-goto block_357;
-}
-}
-}
-}
-else
-{
-lean_object* x_490; lean_object* x_491;
-lean_dec(x_405);
-lean_dec(x_401);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_dec(x_1);
-x_490 = lean_ctor_get(x_420, 0);
-lean_inc(x_490);
-x_491 = lean_ctor_get(x_420, 1);
-lean_inc(x_491);
-lean_dec(x_420);
-x_358 = x_490;
-x_359 = x_491;
-goto block_378;
-}
-}
-else
-{
-lean_object* x_492; lean_object* x_493;
-lean_dec(x_401);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_dec(x_1);
-x_492 = lean_ctor_get(x_403, 0);
-lean_inc(x_492);
-x_493 = lean_ctor_get(x_403, 1);
-lean_inc(x_493);
-lean_dec(x_403);
-x_379 = x_492;
-x_380 = x_493;
-goto block_399;
-}
-}
-else
-{
-lean_object* x_494; lean_object* x_495;
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_dec(x_1);
-x_494 = lean_ctor_get(x_400, 0);
-lean_inc(x_494);
-x_495 = lean_ctor_get(x_400, 1);
-lean_inc(x_495);
-lean_dec(x_400);
-x_379 = x_494;
-x_380 = x_495;
-goto block_399;
-}
-block_357:
-{
-lean_object* x_333; lean_object* x_334; lean_object* x_335; lean_object* x_336; uint8_t x_337; lean_object* x_338; lean_object* x_339; lean_object* x_340; lean_object* x_341; lean_object* x_342; lean_object* x_343; lean_object* x_344; lean_object* x_345; lean_object* x_346; lean_object* x_347; lean_object* x_348; lean_object* x_349; lean_object* x_350; lean_object* x_351; lean_object* x_352; lean_object* x_353; lean_object* x_354; lean_object* x_355; lean_object* x_356;
-x_333 = lean_st_ref_get(x_7, x_332);
-x_334 = lean_ctor_get(x_333, 0);
-lean_inc(x_334);
-x_335 = lean_ctor_get(x_333, 1);
-lean_inc(x_335);
-lean_dec(x_333);
-x_336 = lean_ctor_get(x_334, 3);
-lean_inc(x_336);
-lean_dec(x_334);
-x_337 = lean_ctor_get_uint8(x_336, sizeof(void*)*1);
-lean_dec(x_336);
-x_338 = lean_st_ref_take(x_7, x_335);
-x_339 = lean_ctor_get(x_338, 0);
-lean_inc(x_339);
-x_340 = lean_ctor_get(x_339, 3);
-lean_inc(x_340);
-x_341 = lean_ctor_get(x_338, 1);
-lean_inc(x_341);
-lean_dec(x_338);
-x_342 = lean_ctor_get(x_339, 0);
-lean_inc(x_342);
-x_343 = lean_ctor_get(x_339, 1);
-lean_inc(x_343);
-x_344 = lean_ctor_get(x_339, 2);
-lean_inc(x_344);
-if (lean_is_exclusive(x_339)) {
- lean_ctor_release(x_339, 0);
- lean_ctor_release(x_339, 1);
- lean_ctor_release(x_339, 2);
- lean_ctor_release(x_339, 3);
- x_345 = x_339;
-} else {
- lean_dec_ref(x_339);
- x_345 = lean_box(0);
-}
-x_346 = lean_ctor_get(x_340, 0);
-lean_inc(x_346);
-if (lean_is_exclusive(x_340)) {
- lean_ctor_release(x_340, 0);
- x_347 = x_340;
-} else {
- lean_dec_ref(x_340);
- x_347 = lean_box(0);
-}
-if (lean_is_scalar(x_347)) {
- x_348 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_348 = x_347;
-}
-lean_ctor_set(x_348, 0, x_346);
-lean_ctor_set_uint8(x_348, sizeof(void*)*1, x_28);
-if (lean_is_scalar(x_345)) {
- x_349 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_349 = x_345;
-}
-lean_ctor_set(x_349, 0, x_342);
-lean_ctor_set(x_349, 1, x_343);
-lean_ctor_set(x_349, 2, x_344);
-lean_ctor_set(x_349, 3, x_348);
-x_350 = lean_st_ref_set(x_7, x_349, x_341);
-lean_dec(x_7);
-x_351 = lean_ctor_get(x_350, 1);
-lean_inc(x_351);
-if (lean_is_exclusive(x_350)) {
- lean_ctor_release(x_350, 0);
- lean_ctor_release(x_350, 1);
- x_352 = x_350;
-} else {
- lean_dec_ref(x_350);
- x_352 = lean_box(0);
-}
-x_353 = lean_box(x_331);
-x_354 = lean_box(x_337);
-x_355 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_355, 0, x_353);
-lean_ctor_set(x_355, 1, x_354);
-if (lean_is_scalar(x_352)) {
- x_356 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_356 = x_352;
-}
-lean_ctor_set(x_356, 0, x_355);
-lean_ctor_set(x_356, 1, x_351);
-x_9 = x_356;
-goto block_21;
-}
-block_378:
-{
-lean_object* x_360; lean_object* x_361; lean_object* x_362; lean_object* x_363; lean_object* x_364; lean_object* x_365; lean_object* x_366; lean_object* x_367; lean_object* x_368; lean_object* x_369; lean_object* x_370; lean_object* x_371; lean_object* x_372; lean_object* x_373; lean_object* x_374; lean_object* x_375; lean_object* x_376; lean_object* x_377;
-x_360 = lean_st_ref_get(x_7, x_359);
-x_361 = lean_ctor_get(x_360, 1);
-lean_inc(x_361);
-lean_dec(x_360);
-x_362 = lean_st_ref_take(x_7, x_361);
-x_363 = lean_ctor_get(x_362, 0);
-lean_inc(x_363);
-x_364 = lean_ctor_get(x_363, 3);
-lean_inc(x_364);
-x_365 = lean_ctor_get(x_362, 1);
-lean_inc(x_365);
-lean_dec(x_362);
-x_366 = lean_ctor_get(x_363, 0);
-lean_inc(x_366);
-x_367 = lean_ctor_get(x_363, 1);
-lean_inc(x_367);
-x_368 = lean_ctor_get(x_363, 2);
-lean_inc(x_368);
-if (lean_is_exclusive(x_363)) {
- lean_ctor_release(x_363, 0);
- lean_ctor_release(x_363, 1);
- lean_ctor_release(x_363, 2);
- lean_ctor_release(x_363, 3);
- x_369 = x_363;
-} else {
- lean_dec_ref(x_363);
- x_369 = lean_box(0);
-}
-x_370 = lean_ctor_get(x_364, 0);
-lean_inc(x_370);
-if (lean_is_exclusive(x_364)) {
- lean_ctor_release(x_364, 0);
- x_371 = x_364;
-} else {
- lean_dec_ref(x_364);
- x_371 = lean_box(0);
-}
-if (lean_is_scalar(x_371)) {
- x_372 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_372 = x_371;
-}
-lean_ctor_set(x_372, 0, x_370);
-lean_ctor_set_uint8(x_372, sizeof(void*)*1, x_28);
-if (lean_is_scalar(x_369)) {
- x_373 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_373 = x_369;
-}
-lean_ctor_set(x_373, 0, x_366);
-lean_ctor_set(x_373, 1, x_367);
-lean_ctor_set(x_373, 2, x_368);
-lean_ctor_set(x_373, 3, x_372);
-x_374 = lean_st_ref_set(x_7, x_373, x_365);
-lean_dec(x_7);
-x_375 = lean_ctor_get(x_374, 1);
-lean_inc(x_375);
-if (lean_is_exclusive(x_374)) {
- lean_ctor_release(x_374, 0);
- lean_ctor_release(x_374, 1);
- x_376 = x_374;
-} else {
- lean_dec_ref(x_374);
- x_376 = lean_box(0);
-}
-if (lean_is_scalar(x_376)) {
- x_377 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_377 = x_376;
- lean_ctor_set_tag(x_377, 1);
-}
-lean_ctor_set(x_377, 0, x_358);
-lean_ctor_set(x_377, 1, x_375);
-x_9 = x_377;
-goto block_21;
-}
-block_399:
-{
-lean_object* x_381; lean_object* x_382; lean_object* x_383; lean_object* x_384; lean_object* x_385; lean_object* x_386; lean_object* x_387; lean_object* x_388; lean_object* x_389; lean_object* x_390; lean_object* x_391; lean_object* x_392; lean_object* x_393; lean_object* x_394; lean_object* x_395; lean_object* x_396; lean_object* x_397; lean_object* x_398;
-x_381 = lean_st_ref_get(x_7, x_380);
-x_382 = lean_ctor_get(x_381, 1);
-lean_inc(x_382);
-lean_dec(x_381);
-x_383 = lean_st_ref_take(x_7, x_382);
-x_384 = lean_ctor_get(x_383, 0);
-lean_inc(x_384);
-x_385 = lean_ctor_get(x_384, 3);
-lean_inc(x_385);
-x_386 = lean_ctor_get(x_383, 1);
-lean_inc(x_386);
-lean_dec(x_383);
-x_387 = lean_ctor_get(x_384, 0);
-lean_inc(x_387);
-x_388 = lean_ctor_get(x_384, 1);
-lean_inc(x_388);
-x_389 = lean_ctor_get(x_384, 2);
-lean_inc(x_389);
-if (lean_is_exclusive(x_384)) {
- lean_ctor_release(x_384, 0);
- lean_ctor_release(x_384, 1);
- lean_ctor_release(x_384, 2);
- lean_ctor_release(x_384, 3);
- x_390 = x_384;
-} else {
- lean_dec_ref(x_384);
- x_390 = lean_box(0);
-}
-x_391 = lean_ctor_get(x_385, 0);
-lean_inc(x_391);
-if (lean_is_exclusive(x_385)) {
- lean_ctor_release(x_385, 0);
- x_392 = x_385;
-} else {
- lean_dec_ref(x_385);
- x_392 = lean_box(0);
-}
-if (lean_is_scalar(x_392)) {
- x_393 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_393 = x_392;
-}
-lean_ctor_set(x_393, 0, x_391);
-lean_ctor_set_uint8(x_393, sizeof(void*)*1, x_28);
+x_393 = lean_box(x_289);
if (lean_is_scalar(x_390)) {
- x_394 = lean_alloc_ctor(0, 4, 0);
+ x_394 = lean_alloc_ctor(0, 2, 0);
} else {
x_394 = x_390;
}
-lean_ctor_set(x_394, 0, x_387);
-lean_ctor_set(x_394, 1, x_388);
-lean_ctor_set(x_394, 2, x_389);
-lean_ctor_set(x_394, 3, x_393);
-x_395 = lean_st_ref_set(x_7, x_394, x_386);
-lean_dec(x_7);
-x_396 = lean_ctor_get(x_395, 1);
-lean_inc(x_396);
-if (lean_is_exclusive(x_395)) {
- lean_ctor_release(x_395, 0);
- lean_ctor_release(x_395, 1);
- x_397 = x_395;
-} else {
- lean_dec_ref(x_395);
- x_397 = lean_box(0);
+lean_ctor_set(x_394, 0, x_393);
+lean_ctor_set(x_394, 1, x_392);
+x_326 = x_394;
+goto block_373;
}
-if (lean_is_scalar(x_397)) {
- x_398 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_398 = x_397;
- lean_ctor_set_tag(x_398, 1);
+else
+{
+lean_object* x_395; lean_object* x_396; lean_object* x_397; lean_object* x_398; lean_object* x_399; lean_object* x_400; lean_object* x_401; lean_object* x_402; lean_object* x_403; lean_object* x_404; lean_object* x_405; lean_object* x_406; lean_object* x_407; lean_object* x_408; lean_object* x_409; lean_object* x_410; lean_object* x_411; uint8_t x_412;
+lean_dec(x_390);
+x_395 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_395, 0, x_1);
+x_396 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_397 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_397, 0, x_396);
+lean_ctor_set(x_397, 1, x_395);
+x_398 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__7;
+x_399 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_399, 0, x_397);
+lean_ctor_set(x_399, 1, x_398);
+x_400 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_400, 0, x_375);
+x_401 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_401, 0, x_399);
+lean_ctor_set(x_401, 1, x_400);
+x_402 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__8;
+x_403 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_403, 0, x_401);
+lean_ctor_set(x_403, 1, x_402);
+x_404 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_404, 0, x_2);
+x_405 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_405, 0, x_403);
+lean_ctor_set(x_405, 1, x_404);
+x_406 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_406, 0, x_405);
+lean_ctor_set(x_406, 1, x_398);
+x_407 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_407, 0, x_379);
+x_408 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_408, 0, x_406);
+lean_ctor_set(x_408, 1, x_407);
+x_409 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_409, 0, x_408);
+lean_ctor_set(x_409, 1, x_396);
+x_410 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__6;
+x_411 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__2(x_410, x_409, x_3, x_4, x_5, x_6, x_7, x_392);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_412 = !lean_is_exclusive(x_411);
+if (x_412 == 0)
+{
+lean_object* x_413; lean_object* x_414;
+x_413 = lean_ctor_get(x_411, 0);
+lean_dec(x_413);
+x_414 = lean_box(x_289);
+lean_ctor_set(x_411, 0, x_414);
+x_326 = x_411;
+goto block_373;
+}
+else
+{
+lean_object* x_415; lean_object* x_416; lean_object* x_417;
+x_415 = lean_ctor_get(x_411, 1);
+lean_inc(x_415);
+lean_dec(x_411);
+x_416 = lean_box(x_289);
+x_417 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_417, 0, x_416);
+lean_ctor_set(x_417, 1, x_415);
+x_326 = x_417;
+goto block_373;
}
-lean_ctor_set(x_398, 0, x_379);
-lean_ctor_set(x_398, 1, x_396);
-return x_398;
}
}
}
else
{
-lean_object* x_496; lean_object* x_497; lean_object* x_498; lean_object* x_499; lean_object* x_500; uint8_t x_501; lean_object* x_502; lean_object* x_503; lean_object* x_504; lean_object* x_505; uint8_t x_506; lean_object* x_507; lean_object* x_533; lean_object* x_534; lean_object* x_554; lean_object* x_555; lean_object* x_575;
-x_496 = lean_ctor_get(x_30, 0);
-x_497 = lean_ctor_get(x_30, 1);
-x_498 = lean_ctor_get(x_30, 2);
-lean_inc(x_498);
-lean_inc(x_497);
-lean_inc(x_496);
-lean_dec(x_30);
-x_499 = lean_ctor_get(x_31, 0);
-lean_inc(x_499);
-if (lean_is_exclusive(x_31)) {
- lean_ctor_release(x_31, 0);
- x_500 = x_31;
-} else {
- lean_dec_ref(x_31);
- x_500 = lean_box(0);
+lean_object* x_430; uint8_t x_431; lean_object* x_432; lean_object* x_465; lean_object* x_466; lean_object* x_467; uint8_t x_468;
+lean_dec(x_379);
+lean_dec(x_375);
+x_430 = lean_ctor_get(x_386, 1);
+lean_inc(x_430);
+lean_dec(x_386);
+x_465 = lean_st_ref_get(x_7, x_430);
+x_466 = lean_ctor_get(x_465, 0);
+lean_inc(x_466);
+x_467 = lean_ctor_get(x_466, 3);
+lean_inc(x_467);
+lean_dec(x_466);
+x_468 = lean_ctor_get_uint8(x_467, sizeof(void*)*1);
+lean_dec(x_467);
+if (x_468 == 0)
+{
+lean_object* x_469;
+x_469 = lean_ctor_get(x_465, 1);
+lean_inc(x_469);
+lean_dec(x_465);
+x_431 = x_289;
+x_432 = x_469;
+goto block_464;
}
-x_501 = 0;
-if (lean_is_scalar(x_500)) {
- x_502 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_502 = x_500;
+else
+{
+lean_object* x_470; lean_object* x_471; lean_object* x_472; lean_object* x_473; lean_object* x_474; uint8_t x_475;
+x_470 = lean_ctor_get(x_465, 1);
+lean_inc(x_470);
+lean_dec(x_465);
+x_471 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__10;
+x_472 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_471, x_3, x_4, x_5, x_6, x_7, x_470);
+x_473 = lean_ctor_get(x_472, 0);
+lean_inc(x_473);
+x_474 = lean_ctor_get(x_472, 1);
+lean_inc(x_474);
+lean_dec(x_472);
+x_475 = lean_unbox(x_473);
+lean_dec(x_473);
+x_431 = x_475;
+x_432 = x_474;
+goto block_464;
}
-lean_ctor_set(x_502, 0, x_499);
-lean_ctor_set_uint8(x_502, sizeof(void*)*1, x_501);
-x_503 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_503, 0, x_496);
-lean_ctor_set(x_503, 1, x_497);
-lean_ctor_set(x_503, 2, x_498);
-lean_ctor_set(x_503, 3, x_502);
-x_504 = lean_st_ref_set(x_7, x_503, x_32);
-x_505 = lean_ctor_get(x_504, 1);
-lean_inc(x_505);
-lean_dec(x_504);
-lean_inc(x_7);
-lean_inc(x_6);
-lean_inc(x_5);
-lean_inc(x_4);
+block_464:
+{
+if (x_431 == 0)
+{
+lean_object* x_433; lean_object* x_434; uint8_t x_435;
+x_433 = l_Lean_Expr_mvarId_x21(x_1);
+lean_dec(x_1);
+x_434 = l_Lean_Meta_assignExprMVar___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___spec__1(x_433, x_2, x_3, x_4, x_5, x_6, x_7, x_432);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_435 = !lean_is_exclusive(x_434);
+if (x_435 == 0)
+{
+lean_object* x_436; uint8_t x_437; lean_object* x_438;
+x_436 = lean_ctor_get(x_434, 0);
+lean_dec(x_436);
+x_437 = 1;
+x_438 = lean_box(x_437);
+lean_ctor_set(x_434, 0, x_438);
+x_326 = x_434;
+goto block_373;
+}
+else
+{
+lean_object* x_439; uint8_t x_440; lean_object* x_441; lean_object* x_442;
+x_439 = lean_ctor_get(x_434, 1);
+lean_inc(x_439);
+lean_dec(x_434);
+x_440 = 1;
+x_441 = lean_box(x_440);
+x_442 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_442, 0, x_441);
+lean_ctor_set(x_442, 1, x_439);
+x_326 = x_442;
+goto block_373;
+}
+}
+else
+{
+lean_object* x_443; lean_object* x_444; lean_object* x_445; lean_object* x_446; lean_object* x_447; lean_object* x_448; lean_object* x_449; lean_object* x_450; lean_object* x_451; lean_object* x_452; lean_object* x_453; lean_object* x_454; lean_object* x_455; uint8_t x_456;
lean_inc(x_1);
-x_575 = l_Lean_Meta_inferType___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqEta___spec__1(x_1, x_3, x_4, x_5, x_6, x_7, x_505);
-if (lean_obj_tag(x_575) == 0)
-{
-lean_object* x_576; lean_object* x_577; lean_object* x_578;
-x_576 = lean_ctor_get(x_575, 0);
-lean_inc(x_576);
-x_577 = lean_ctor_get(x_575, 1);
-lean_inc(x_577);
-lean_dec(x_575);
-lean_inc(x_7);
-lean_inc(x_6);
-lean_inc(x_5);
-lean_inc(x_4);
+x_443 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_443, 0, x_1);
+x_444 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_445 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_445, 0, x_444);
+lean_ctor_set(x_445, 1, x_443);
+x_446 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__8;
+x_447 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_447, 0, x_445);
+lean_ctor_set(x_447, 1, x_446);
lean_inc(x_2);
-x_578 = l_Lean_Meta_inferType___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqEta___spec__1(x_2, x_3, x_4, x_5, x_6, x_7, x_577);
-if (lean_obj_tag(x_578) == 0)
+x_448 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_448, 0, x_2);
+x_449 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_449, 0, x_447);
+lean_ctor_set(x_449, 1, x_448);
+x_450 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_450, 0, x_449);
+lean_ctor_set(x_450, 1, x_444);
+x_451 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__10;
+x_452 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__2(x_451, x_450, x_3, x_4, x_5, x_6, x_7, x_432);
+x_453 = lean_ctor_get(x_452, 1);
+lean_inc(x_453);
+lean_dec(x_452);
+x_454 = l_Lean_Expr_mvarId_x21(x_1);
+lean_dec(x_1);
+x_455 = l_Lean_Meta_assignExprMVar___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___spec__1(x_454, x_2, x_3, x_4, x_5, x_6, x_7, x_453);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_456 = !lean_is_exclusive(x_455);
+if (x_456 == 0)
{
-lean_object* x_579; lean_object* x_580; lean_object* x_581; lean_object* x_582; lean_object* x_583; uint8_t x_584; uint8_t x_585; uint8_t x_586; uint8_t x_587; uint8_t x_588; uint8_t x_589; uint8_t x_590; lean_object* x_591; uint8_t x_592; lean_object* x_593; lean_object* x_594; lean_object* x_595;
-x_579 = lean_ctor_get(x_4, 0);
-lean_inc(x_579);
-x_580 = lean_ctor_get(x_578, 0);
-lean_inc(x_580);
-x_581 = lean_ctor_get(x_578, 1);
-lean_inc(x_581);
-lean_dec(x_578);
-x_582 = lean_ctor_get(x_4, 1);
-lean_inc(x_582);
-x_583 = lean_ctor_get(x_4, 2);
-lean_inc(x_583);
-x_584 = lean_ctor_get_uint8(x_579, 0);
-x_585 = lean_ctor_get_uint8(x_579, 1);
-x_586 = lean_ctor_get_uint8(x_579, 2);
-x_587 = lean_ctor_get_uint8(x_579, 3);
-x_588 = lean_ctor_get_uint8(x_579, 4);
-x_589 = lean_ctor_get_uint8(x_579, 6);
-x_590 = lean_ctor_get_uint8(x_579, 7);
-if (lean_is_exclusive(x_579)) {
- x_591 = x_579;
-} else {
- lean_dec_ref(x_579);
- x_591 = lean_box(0);
-}
-x_592 = 1;
-if (lean_is_scalar(x_591)) {
- x_593 = lean_alloc_ctor(0, 0, 8);
-} else {
- x_593 = x_591;
-}
-lean_ctor_set_uint8(x_593, 0, x_584);
-lean_ctor_set_uint8(x_593, 1, x_585);
-lean_ctor_set_uint8(x_593, 2, x_586);
-lean_ctor_set_uint8(x_593, 3, x_587);
-lean_ctor_set_uint8(x_593, 4, x_588);
-lean_ctor_set_uint8(x_593, 5, x_592);
-lean_ctor_set_uint8(x_593, 6, x_589);
-lean_ctor_set_uint8(x_593, 7, x_590);
-x_594 = lean_alloc_ctor(0, 3, 0);
-lean_ctor_set(x_594, 0, x_593);
-lean_ctor_set(x_594, 1, x_582);
-lean_ctor_set(x_594, 2, x_583);
-lean_inc(x_7);
-lean_inc(x_6);
-lean_inc(x_5);
-lean_inc(x_3);
-lean_inc(x_580);
-lean_inc(x_576);
-x_595 = l_Lean_Meta_isExprDefEqAux(x_576, x_580, x_3, x_594, x_5, x_6, x_7, x_581);
-if (lean_obj_tag(x_595) == 0)
-{
-lean_object* x_596; uint8_t x_597;
-x_596 = lean_ctor_get(x_595, 0);
-lean_inc(x_596);
-x_597 = lean_unbox(x_596);
-lean_dec(x_596);
-if (x_597 == 0)
-{
-lean_object* x_598; uint8_t x_599; lean_object* x_600; lean_object* x_620; lean_object* x_621; lean_object* x_622; uint8_t x_623;
-x_598 = lean_ctor_get(x_595, 1);
-lean_inc(x_598);
-lean_dec(x_595);
-x_620 = lean_st_ref_get(x_7, x_598);
-x_621 = lean_ctor_get(x_620, 0);
-lean_inc(x_621);
-x_622 = lean_ctor_get(x_621, 3);
-lean_inc(x_622);
-lean_dec(x_621);
-x_623 = lean_ctor_get_uint8(x_622, sizeof(void*)*1);
-lean_dec(x_622);
-if (x_623 == 0)
-{
-lean_object* x_624;
-x_624 = lean_ctor_get(x_620, 1);
-lean_inc(x_624);
-lean_dec(x_620);
-x_599 = x_501;
-x_600 = x_624;
-goto block_619;
+lean_object* x_457; uint8_t x_458; lean_object* x_459;
+x_457 = lean_ctor_get(x_455, 0);
+lean_dec(x_457);
+x_458 = 1;
+x_459 = lean_box(x_458);
+lean_ctor_set(x_455, 0, x_459);
+x_326 = x_455;
+goto block_373;
}
else
{
-lean_object* x_625; lean_object* x_626; lean_object* x_627; lean_object* x_628; lean_object* x_629; uint8_t x_630;
-x_625 = lean_ctor_get(x_620, 1);
-lean_inc(x_625);
-lean_dec(x_620);
-x_626 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__6;
-x_627 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_626, x_3, x_4, x_5, x_6, x_7, x_625);
-x_628 = lean_ctor_get(x_627, 0);
-lean_inc(x_628);
-x_629 = lean_ctor_get(x_627, 1);
-lean_inc(x_629);
-lean_dec(x_627);
-x_630 = lean_unbox(x_628);
-lean_dec(x_628);
-x_599 = x_630;
-x_600 = x_629;
-goto block_619;
+lean_object* x_460; uint8_t x_461; lean_object* x_462; lean_object* x_463;
+x_460 = lean_ctor_get(x_455, 1);
+lean_inc(x_460);
+lean_dec(x_455);
+x_461 = 1;
+x_462 = lean_box(x_461);
+x_463 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_463, 0, x_462);
+lean_ctor_set(x_463, 1, x_460);
+x_326 = x_463;
+goto block_373;
}
-block_619:
+}
+}
+}
+}
+else
{
-if (x_599 == 0)
-{
-lean_dec(x_580);
-lean_dec(x_576);
+uint8_t x_476;
+lean_dec(x_379);
+lean_dec(x_375);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_506 = x_501;
-x_507 = x_600;
-goto block_532;
+x_476 = !lean_is_exclusive(x_386);
+if (x_476 == 0)
+{
+x_326 = x_386;
+goto block_373;
}
else
{
-lean_object* x_601; lean_object* x_602; lean_object* x_603; lean_object* x_604; lean_object* x_605; lean_object* x_606; lean_object* x_607; lean_object* x_608; lean_object* x_609; lean_object* x_610; lean_object* x_611; lean_object* x_612; lean_object* x_613; lean_object* x_614; lean_object* x_615; lean_object* x_616; lean_object* x_617; lean_object* x_618;
-x_601 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_601, 0, x_1);
-x_602 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_603 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_603, 0, x_602);
-lean_ctor_set(x_603, 1, x_601);
-x_604 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__7;
-x_605 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_605, 0, x_603);
-lean_ctor_set(x_605, 1, x_604);
-x_606 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_606, 0, x_576);
-x_607 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_607, 0, x_605);
-lean_ctor_set(x_607, 1, x_606);
-x_608 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__8;
-x_609 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_609, 0, x_607);
-lean_ctor_set(x_609, 1, x_608);
-x_610 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_610, 0, x_2);
-x_611 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_611, 0, x_609);
-lean_ctor_set(x_611, 1, x_610);
-x_612 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_612, 0, x_611);
-lean_ctor_set(x_612, 1, x_604);
-x_613 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_613, 0, x_580);
-x_614 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_614, 0, x_612);
-lean_ctor_set(x_614, 1, x_613);
-x_615 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_615, 0, x_614);
-lean_ctor_set(x_615, 1, x_602);
-x_616 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__6;
-x_617 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__2(x_616, x_615, x_3, x_4, x_5, x_6, x_7, x_600);
+lean_object* x_477; lean_object* x_478; lean_object* x_479;
+x_477 = lean_ctor_get(x_386, 0);
+x_478 = lean_ctor_get(x_386, 1);
+lean_inc(x_478);
+lean_inc(x_477);
+lean_dec(x_386);
+x_479 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_479, 0, x_477);
+lean_ctor_set(x_479, 1, x_478);
+x_326 = x_479;
+goto block_373;
+}
+}
+}
+else
+{
+uint8_t x_480; uint8_t x_481; uint8_t x_482; uint8_t x_483; uint8_t x_484; uint8_t x_485; uint8_t x_486; uint8_t x_487; lean_object* x_488; lean_object* x_489; lean_object* x_490;
+x_480 = lean_ctor_get_uint8(x_378, 0);
+x_481 = lean_ctor_get_uint8(x_378, 1);
+x_482 = lean_ctor_get_uint8(x_378, 2);
+x_483 = lean_ctor_get_uint8(x_378, 3);
+x_484 = lean_ctor_get_uint8(x_378, 4);
+x_485 = lean_ctor_get_uint8(x_378, 6);
+x_486 = lean_ctor_get_uint8(x_378, 7);
+lean_dec(x_378);
+x_487 = 1;
+x_488 = lean_alloc_ctor(0, 0, 8);
+lean_ctor_set_uint8(x_488, 0, x_480);
+lean_ctor_set_uint8(x_488, 1, x_481);
+lean_ctor_set_uint8(x_488, 2, x_482);
+lean_ctor_set_uint8(x_488, 3, x_483);
+lean_ctor_set_uint8(x_488, 4, x_484);
+lean_ctor_set_uint8(x_488, 5, x_487);
+lean_ctor_set_uint8(x_488, 6, x_485);
+lean_ctor_set_uint8(x_488, 7, x_486);
+x_489 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_489, 0, x_488);
+lean_ctor_set(x_489, 1, x_381);
+lean_ctor_set(x_489, 2, x_382);
+lean_inc(x_7);
+lean_inc(x_6);
+lean_inc(x_5);
+lean_inc(x_3);
+lean_inc(x_379);
+lean_inc(x_375);
+x_490 = l_Lean_Meta_isExprDefEqAux(x_375, x_379, x_3, x_489, x_5, x_6, x_7, x_380);
+if (lean_obj_tag(x_490) == 0)
+{
+lean_object* x_491; uint8_t x_492;
+x_491 = lean_ctor_get(x_490, 0);
+lean_inc(x_491);
+x_492 = lean_unbox(x_491);
+lean_dec(x_491);
+if (x_492 == 0)
+{
+lean_object* x_493; lean_object* x_494; uint8_t x_495; lean_object* x_496; lean_object* x_521; lean_object* x_522; lean_object* x_523; uint8_t x_524;
+x_493 = lean_ctor_get(x_490, 1);
+lean_inc(x_493);
+if (lean_is_exclusive(x_490)) {
+ lean_ctor_release(x_490, 0);
+ lean_ctor_release(x_490, 1);
+ x_494 = x_490;
+} else {
+ lean_dec_ref(x_490);
+ x_494 = lean_box(0);
+}
+x_521 = lean_st_ref_get(x_7, x_493);
+x_522 = lean_ctor_get(x_521, 0);
+lean_inc(x_522);
+x_523 = lean_ctor_get(x_522, 3);
+lean_inc(x_523);
+lean_dec(x_522);
+x_524 = lean_ctor_get_uint8(x_523, sizeof(void*)*1);
+lean_dec(x_523);
+if (x_524 == 0)
+{
+lean_object* x_525;
+x_525 = lean_ctor_get(x_521, 1);
+lean_inc(x_525);
+lean_dec(x_521);
+x_495 = x_289;
+x_496 = x_525;
+goto block_520;
+}
+else
+{
+lean_object* x_526; lean_object* x_527; lean_object* x_528; lean_object* x_529; lean_object* x_530; uint8_t x_531;
+x_526 = lean_ctor_get(x_521, 1);
+lean_inc(x_526);
+lean_dec(x_521);
+x_527 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__6;
+x_528 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_527, x_3, x_4, x_5, x_6, x_7, x_526);
+x_529 = lean_ctor_get(x_528, 0);
+lean_inc(x_529);
+x_530 = lean_ctor_get(x_528, 1);
+lean_inc(x_530);
+lean_dec(x_528);
+x_531 = lean_unbox(x_529);
+lean_dec(x_529);
+x_495 = x_531;
+x_496 = x_530;
+goto block_520;
+}
+block_520:
+{
+if (x_495 == 0)
+{
+lean_object* x_497; lean_object* x_498;
+lean_dec(x_379);
+lean_dec(x_375);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
-x_618 = lean_ctor_get(x_617, 1);
-lean_inc(x_618);
-lean_dec(x_617);
-x_506 = x_501;
-x_507 = x_618;
-goto block_532;
+lean_dec(x_2);
+lean_dec(x_1);
+x_497 = lean_box(x_289);
+if (lean_is_scalar(x_494)) {
+ x_498 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_498 = x_494;
+}
+lean_ctor_set(x_498, 0, x_497);
+lean_ctor_set(x_498, 1, x_496);
+x_326 = x_498;
+goto block_373;
+}
+else
+{
+lean_object* x_499; lean_object* x_500; lean_object* x_501; lean_object* x_502; lean_object* x_503; lean_object* x_504; lean_object* x_505; lean_object* x_506; lean_object* x_507; lean_object* x_508; lean_object* x_509; lean_object* x_510; lean_object* x_511; lean_object* x_512; lean_object* x_513; lean_object* x_514; lean_object* x_515; lean_object* x_516; lean_object* x_517; lean_object* x_518; lean_object* x_519;
+lean_dec(x_494);
+x_499 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_499, 0, x_1);
+x_500 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_501 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_501, 0, x_500);
+lean_ctor_set(x_501, 1, x_499);
+x_502 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__7;
+x_503 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_503, 0, x_501);
+lean_ctor_set(x_503, 1, x_502);
+x_504 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_504, 0, x_375);
+x_505 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_505, 0, x_503);
+lean_ctor_set(x_505, 1, x_504);
+x_506 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__8;
+x_507 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_507, 0, x_505);
+lean_ctor_set(x_507, 1, x_506);
+x_508 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_508, 0, x_2);
+x_509 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_509, 0, x_507);
+lean_ctor_set(x_509, 1, x_508);
+x_510 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_510, 0, x_509);
+lean_ctor_set(x_510, 1, x_502);
+x_511 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_511, 0, x_379);
+x_512 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_512, 0, x_510);
+lean_ctor_set(x_512, 1, x_511);
+x_513 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_513, 0, x_512);
+lean_ctor_set(x_513, 1, x_500);
+x_514 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__6;
+x_515 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__2(x_514, x_513, x_3, x_4, x_5, x_6, x_7, x_496);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_516 = lean_ctor_get(x_515, 1);
+lean_inc(x_516);
+if (lean_is_exclusive(x_515)) {
+ lean_ctor_release(x_515, 0);
+ lean_ctor_release(x_515, 1);
+ x_517 = x_515;
+} else {
+ lean_dec_ref(x_515);
+ x_517 = lean_box(0);
+}
+x_518 = lean_box(x_289);
+if (lean_is_scalar(x_517)) {
+ x_519 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_519 = x_517;
+}
+lean_ctor_set(x_519, 0, x_518);
+lean_ctor_set(x_519, 1, x_516);
+x_326 = x_519;
+goto block_373;
}
}
}
else
{
-lean_object* x_631; uint8_t x_632; lean_object* x_633; lean_object* x_654; lean_object* x_655; lean_object* x_656; uint8_t x_657;
-lean_dec(x_580);
-lean_dec(x_576);
-x_631 = lean_ctor_get(x_595, 1);
-lean_inc(x_631);
-lean_dec(x_595);
-x_654 = lean_st_ref_get(x_7, x_631);
-x_655 = lean_ctor_get(x_654, 0);
-lean_inc(x_655);
-x_656 = lean_ctor_get(x_655, 3);
+lean_object* x_532; uint8_t x_533; lean_object* x_534; lean_object* x_561; lean_object* x_562; lean_object* x_563; uint8_t x_564;
+lean_dec(x_379);
+lean_dec(x_375);
+x_532 = lean_ctor_get(x_490, 1);
+lean_inc(x_532);
+lean_dec(x_490);
+x_561 = lean_st_ref_get(x_7, x_532);
+x_562 = lean_ctor_get(x_561, 0);
+lean_inc(x_562);
+x_563 = lean_ctor_get(x_562, 3);
+lean_inc(x_563);
+lean_dec(x_562);
+x_564 = lean_ctor_get_uint8(x_563, sizeof(void*)*1);
+lean_dec(x_563);
+if (x_564 == 0)
+{
+lean_object* x_565;
+x_565 = lean_ctor_get(x_561, 1);
+lean_inc(x_565);
+lean_dec(x_561);
+x_533 = x_289;
+x_534 = x_565;
+goto block_560;
+}
+else
+{
+lean_object* x_566; lean_object* x_567; lean_object* x_568; lean_object* x_569; lean_object* x_570; uint8_t x_571;
+x_566 = lean_ctor_get(x_561, 1);
+lean_inc(x_566);
+lean_dec(x_561);
+x_567 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__10;
+x_568 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_567, x_3, x_4, x_5, x_6, x_7, x_566);
+x_569 = lean_ctor_get(x_568, 0);
+lean_inc(x_569);
+x_570 = lean_ctor_get(x_568, 1);
+lean_inc(x_570);
+lean_dec(x_568);
+x_571 = lean_unbox(x_569);
+lean_dec(x_569);
+x_533 = x_571;
+x_534 = x_570;
+goto block_560;
+}
+block_560:
+{
+if (x_533 == 0)
+{
+lean_object* x_535; lean_object* x_536; lean_object* x_537; lean_object* x_538; uint8_t x_539; lean_object* x_540; lean_object* x_541;
+x_535 = l_Lean_Expr_mvarId_x21(x_1);
+lean_dec(x_1);
+x_536 = l_Lean_Meta_assignExprMVar___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___spec__1(x_535, x_2, x_3, x_4, x_5, x_6, x_7, x_534);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_537 = lean_ctor_get(x_536, 1);
+lean_inc(x_537);
+if (lean_is_exclusive(x_536)) {
+ lean_ctor_release(x_536, 0);
+ lean_ctor_release(x_536, 1);
+ x_538 = x_536;
+} else {
+ lean_dec_ref(x_536);
+ x_538 = lean_box(0);
+}
+x_539 = 1;
+x_540 = lean_box(x_539);
+if (lean_is_scalar(x_538)) {
+ x_541 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_541 = x_538;
+}
+lean_ctor_set(x_541, 0, x_540);
+lean_ctor_set(x_541, 1, x_537);
+x_326 = x_541;
+goto block_373;
+}
+else
+{
+lean_object* x_542; lean_object* x_543; lean_object* x_544; lean_object* x_545; lean_object* x_546; lean_object* x_547; lean_object* x_548; lean_object* x_549; lean_object* x_550; lean_object* x_551; lean_object* x_552; lean_object* x_553; lean_object* x_554; lean_object* x_555; lean_object* x_556; uint8_t x_557; lean_object* x_558; lean_object* x_559;
+lean_inc(x_1);
+x_542 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_542, 0, x_1);
+x_543 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_544 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_544, 0, x_543);
+lean_ctor_set(x_544, 1, x_542);
+x_545 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__8;
+x_546 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_546, 0, x_544);
+lean_ctor_set(x_546, 1, x_545);
+lean_inc(x_2);
+x_547 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_547, 0, x_2);
+x_548 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_548, 0, x_546);
+lean_ctor_set(x_548, 1, x_547);
+x_549 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_549, 0, x_548);
+lean_ctor_set(x_549, 1, x_543);
+x_550 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__10;
+x_551 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__2(x_550, x_549, x_3, x_4, x_5, x_6, x_7, x_534);
+x_552 = lean_ctor_get(x_551, 1);
+lean_inc(x_552);
+lean_dec(x_551);
+x_553 = l_Lean_Expr_mvarId_x21(x_1);
+lean_dec(x_1);
+x_554 = l_Lean_Meta_assignExprMVar___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___spec__1(x_553, x_2, x_3, x_4, x_5, x_6, x_7, x_552);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_555 = lean_ctor_get(x_554, 1);
+lean_inc(x_555);
+if (lean_is_exclusive(x_554)) {
+ lean_ctor_release(x_554, 0);
+ lean_ctor_release(x_554, 1);
+ x_556 = x_554;
+} else {
+ lean_dec_ref(x_554);
+ x_556 = lean_box(0);
+}
+x_557 = 1;
+x_558 = lean_box(x_557);
+if (lean_is_scalar(x_556)) {
+ x_559 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_559 = x_556;
+}
+lean_ctor_set(x_559, 0, x_558);
+lean_ctor_set(x_559, 1, x_555);
+x_326 = x_559;
+goto block_373;
+}
+}
+}
+}
+else
+{
+lean_object* x_572; lean_object* x_573; lean_object* x_574; lean_object* x_575;
+lean_dec(x_379);
+lean_dec(x_375);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+lean_dec(x_1);
+x_572 = lean_ctor_get(x_490, 0);
+lean_inc(x_572);
+x_573 = lean_ctor_get(x_490, 1);
+lean_inc(x_573);
+if (lean_is_exclusive(x_490)) {
+ lean_ctor_release(x_490, 0);
+ lean_ctor_release(x_490, 1);
+ x_574 = x_490;
+} else {
+ lean_dec_ref(x_490);
+ x_574 = lean_box(0);
+}
+if (lean_is_scalar(x_574)) {
+ x_575 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_575 = x_574;
+}
+lean_ctor_set(x_575, 0, x_572);
+lean_ctor_set(x_575, 1, x_573);
+x_326 = x_575;
+goto block_373;
+}
+}
+}
+else
+{
+lean_object* x_576; lean_object* x_577;
+lean_dec(x_375);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+lean_dec(x_1);
+x_576 = lean_ctor_get(x_377, 0);
+lean_inc(x_576);
+x_577 = lean_ctor_get(x_377, 1);
+lean_inc(x_577);
+lean_dec(x_377);
+x_292 = x_576;
+x_293 = x_577;
+goto block_325;
+}
+}
+else
+{
+lean_object* x_578; lean_object* x_579;
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+lean_dec(x_1);
+x_578 = lean_ctor_get(x_374, 0);
+lean_inc(x_578);
+x_579 = lean_ctor_get(x_374, 1);
+lean_inc(x_579);
+lean_dec(x_374);
+x_292 = x_578;
+x_293 = x_579;
+goto block_325;
+}
+block_325:
+{
+lean_object* x_294; lean_object* x_295; lean_object* x_296; lean_object* x_297; lean_object* x_298; lean_object* x_299; uint8_t x_300;
+x_294 = lean_st_ref_get(x_7, x_293);
+x_295 = lean_ctor_get(x_294, 1);
+lean_inc(x_295);
+lean_dec(x_294);
+x_296 = lean_st_ref_take(x_7, x_295);
+x_297 = lean_ctor_get(x_296, 0);
+lean_inc(x_297);
+x_298 = lean_ctor_get(x_297, 3);
+lean_inc(x_298);
+x_299 = lean_ctor_get(x_296, 1);
+lean_inc(x_299);
+lean_dec(x_296);
+x_300 = !lean_is_exclusive(x_297);
+if (x_300 == 0)
+{
+lean_object* x_301; uint8_t x_302;
+x_301 = lean_ctor_get(x_297, 3);
+lean_dec(x_301);
+x_302 = !lean_is_exclusive(x_298);
+if (x_302 == 0)
+{
+lean_object* x_303; uint8_t x_304;
+lean_ctor_set_uint8(x_298, sizeof(void*)*1, x_281);
+x_303 = lean_st_ref_set(x_7, x_297, x_299);
+lean_dec(x_7);
+x_304 = !lean_is_exclusive(x_303);
+if (x_304 == 0)
+{
+lean_object* x_305;
+x_305 = lean_ctor_get(x_303, 0);
+lean_dec(x_305);
+lean_ctor_set_tag(x_303, 1);
+lean_ctor_set(x_303, 0, x_292);
+x_9 = x_303;
+goto block_21;
+}
+else
+{
+lean_object* x_306; lean_object* x_307;
+x_306 = lean_ctor_get(x_303, 1);
+lean_inc(x_306);
+lean_dec(x_303);
+x_307 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_307, 0, x_292);
+lean_ctor_set(x_307, 1, x_306);
+x_9 = x_307;
+goto block_21;
+}
+}
+else
+{
+lean_object* x_308; lean_object* x_309; lean_object* x_310; lean_object* x_311; lean_object* x_312; lean_object* x_313;
+x_308 = lean_ctor_get(x_298, 0);
+lean_inc(x_308);
+lean_dec(x_298);
+x_309 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_309, 0, x_308);
+lean_ctor_set_uint8(x_309, sizeof(void*)*1, x_281);
+lean_ctor_set(x_297, 3, x_309);
+x_310 = lean_st_ref_set(x_7, x_297, x_299);
+lean_dec(x_7);
+x_311 = lean_ctor_get(x_310, 1);
+lean_inc(x_311);
+if (lean_is_exclusive(x_310)) {
+ lean_ctor_release(x_310, 0);
+ lean_ctor_release(x_310, 1);
+ x_312 = x_310;
+} else {
+ lean_dec_ref(x_310);
+ x_312 = lean_box(0);
+}
+if (lean_is_scalar(x_312)) {
+ x_313 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_313 = x_312;
+ lean_ctor_set_tag(x_313, 1);
+}
+lean_ctor_set(x_313, 0, x_292);
+lean_ctor_set(x_313, 1, x_311);
+x_9 = x_313;
+goto block_21;
+}
+}
+else
+{
+lean_object* x_314; lean_object* x_315; lean_object* x_316; lean_object* x_317; lean_object* x_318; lean_object* x_319; lean_object* x_320; lean_object* x_321; lean_object* x_322; lean_object* x_323; lean_object* x_324;
+x_314 = lean_ctor_get(x_297, 0);
+x_315 = lean_ctor_get(x_297, 1);
+x_316 = lean_ctor_get(x_297, 2);
+lean_inc(x_316);
+lean_inc(x_315);
+lean_inc(x_314);
+lean_dec(x_297);
+x_317 = lean_ctor_get(x_298, 0);
+lean_inc(x_317);
+if (lean_is_exclusive(x_298)) {
+ lean_ctor_release(x_298, 0);
+ x_318 = x_298;
+} else {
+ lean_dec_ref(x_298);
+ x_318 = lean_box(0);
+}
+if (lean_is_scalar(x_318)) {
+ x_319 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_319 = x_318;
+}
+lean_ctor_set(x_319, 0, x_317);
+lean_ctor_set_uint8(x_319, sizeof(void*)*1, x_281);
+x_320 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_320, 0, x_314);
+lean_ctor_set(x_320, 1, x_315);
+lean_ctor_set(x_320, 2, x_316);
+lean_ctor_set(x_320, 3, x_319);
+x_321 = lean_st_ref_set(x_7, x_320, x_299);
+lean_dec(x_7);
+x_322 = lean_ctor_get(x_321, 1);
+lean_inc(x_322);
+if (lean_is_exclusive(x_321)) {
+ lean_ctor_release(x_321, 0);
+ lean_ctor_release(x_321, 1);
+ x_323 = x_321;
+} else {
+ lean_dec_ref(x_321);
+ x_323 = lean_box(0);
+}
+if (lean_is_scalar(x_323)) {
+ x_324 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_324 = x_323;
+ lean_ctor_set_tag(x_324, 1);
+}
+lean_ctor_set(x_324, 0, x_292);
+lean_ctor_set(x_324, 1, x_322);
+x_9 = x_324;
+goto block_21;
+}
+}
+block_373:
+{
+if (lean_obj_tag(x_326) == 0)
+{
+lean_object* x_327; lean_object* x_328; lean_object* x_329; lean_object* x_330; lean_object* x_331; lean_object* x_332; uint8_t x_333; lean_object* x_334; lean_object* x_335; lean_object* x_336; lean_object* x_337; uint8_t x_338;
+x_327 = lean_ctor_get(x_326, 0);
+lean_inc(x_327);
+x_328 = lean_ctor_get(x_326, 1);
+lean_inc(x_328);
+lean_dec(x_326);
+x_329 = lean_st_ref_get(x_7, x_328);
+x_330 = lean_ctor_get(x_329, 0);
+lean_inc(x_330);
+x_331 = lean_ctor_get(x_329, 1);
+lean_inc(x_331);
+lean_dec(x_329);
+x_332 = lean_ctor_get(x_330, 3);
+lean_inc(x_332);
+lean_dec(x_330);
+x_333 = lean_ctor_get_uint8(x_332, sizeof(void*)*1);
+lean_dec(x_332);
+x_334 = lean_st_ref_take(x_7, x_331);
+x_335 = lean_ctor_get(x_334, 0);
+lean_inc(x_335);
+x_336 = lean_ctor_get(x_335, 3);
+lean_inc(x_336);
+x_337 = lean_ctor_get(x_334, 1);
+lean_inc(x_337);
+lean_dec(x_334);
+x_338 = !lean_is_exclusive(x_335);
+if (x_338 == 0)
+{
+lean_object* x_339; uint8_t x_340;
+x_339 = lean_ctor_get(x_335, 3);
+lean_dec(x_339);
+x_340 = !lean_is_exclusive(x_336);
+if (x_340 == 0)
+{
+lean_object* x_341; uint8_t x_342;
+lean_ctor_set_uint8(x_336, sizeof(void*)*1, x_281);
+x_341 = lean_st_ref_set(x_7, x_335, x_337);
+lean_dec(x_7);
+x_342 = !lean_is_exclusive(x_341);
+if (x_342 == 0)
+{
+lean_object* x_343; lean_object* x_344; lean_object* x_345;
+x_343 = lean_ctor_get(x_341, 0);
+lean_dec(x_343);
+x_344 = lean_box(x_333);
+x_345 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_345, 0, x_327);
+lean_ctor_set(x_345, 1, x_344);
+lean_ctor_set(x_341, 0, x_345);
+x_9 = x_341;
+goto block_21;
+}
+else
+{
+lean_object* x_346; lean_object* x_347; lean_object* x_348; lean_object* x_349;
+x_346 = lean_ctor_get(x_341, 1);
+lean_inc(x_346);
+lean_dec(x_341);
+x_347 = lean_box(x_333);
+x_348 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_348, 0, x_327);
+lean_ctor_set(x_348, 1, x_347);
+x_349 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_349, 0, x_348);
+lean_ctor_set(x_349, 1, x_346);
+x_9 = x_349;
+goto block_21;
+}
+}
+else
+{
+lean_object* x_350; lean_object* x_351; lean_object* x_352; lean_object* x_353; lean_object* x_354; lean_object* x_355; lean_object* x_356; lean_object* x_357;
+x_350 = lean_ctor_get(x_336, 0);
+lean_inc(x_350);
+lean_dec(x_336);
+x_351 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_351, 0, x_350);
+lean_ctor_set_uint8(x_351, sizeof(void*)*1, x_281);
+lean_ctor_set(x_335, 3, x_351);
+x_352 = lean_st_ref_set(x_7, x_335, x_337);
+lean_dec(x_7);
+x_353 = lean_ctor_get(x_352, 1);
+lean_inc(x_353);
+if (lean_is_exclusive(x_352)) {
+ lean_ctor_release(x_352, 0);
+ lean_ctor_release(x_352, 1);
+ x_354 = x_352;
+} else {
+ lean_dec_ref(x_352);
+ x_354 = lean_box(0);
+}
+x_355 = lean_box(x_333);
+x_356 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_356, 0, x_327);
+lean_ctor_set(x_356, 1, x_355);
+if (lean_is_scalar(x_354)) {
+ x_357 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_357 = x_354;
+}
+lean_ctor_set(x_357, 0, x_356);
+lean_ctor_set(x_357, 1, x_353);
+x_9 = x_357;
+goto block_21;
+}
+}
+else
+{
+lean_object* x_358; lean_object* x_359; lean_object* x_360; lean_object* x_361; lean_object* x_362; lean_object* x_363; lean_object* x_364; lean_object* x_365; lean_object* x_366; lean_object* x_367; lean_object* x_368; lean_object* x_369; lean_object* x_370;
+x_358 = lean_ctor_get(x_335, 0);
+x_359 = lean_ctor_get(x_335, 1);
+x_360 = lean_ctor_get(x_335, 2);
+lean_inc(x_360);
+lean_inc(x_359);
+lean_inc(x_358);
+lean_dec(x_335);
+x_361 = lean_ctor_get(x_336, 0);
+lean_inc(x_361);
+if (lean_is_exclusive(x_336)) {
+ lean_ctor_release(x_336, 0);
+ x_362 = x_336;
+} else {
+ lean_dec_ref(x_336);
+ x_362 = lean_box(0);
+}
+if (lean_is_scalar(x_362)) {
+ x_363 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_363 = x_362;
+}
+lean_ctor_set(x_363, 0, x_361);
+lean_ctor_set_uint8(x_363, sizeof(void*)*1, x_281);
+x_364 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_364, 0, x_358);
+lean_ctor_set(x_364, 1, x_359);
+lean_ctor_set(x_364, 2, x_360);
+lean_ctor_set(x_364, 3, x_363);
+x_365 = lean_st_ref_set(x_7, x_364, x_337);
+lean_dec(x_7);
+x_366 = lean_ctor_get(x_365, 1);
+lean_inc(x_366);
+if (lean_is_exclusive(x_365)) {
+ lean_ctor_release(x_365, 0);
+ lean_ctor_release(x_365, 1);
+ x_367 = x_365;
+} else {
+ lean_dec_ref(x_365);
+ x_367 = lean_box(0);
+}
+x_368 = lean_box(x_333);
+x_369 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_369, 0, x_327);
+lean_ctor_set(x_369, 1, x_368);
+if (lean_is_scalar(x_367)) {
+ x_370 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_370 = x_367;
+}
+lean_ctor_set(x_370, 0, x_369);
+lean_ctor_set(x_370, 1, x_366);
+x_9 = x_370;
+goto block_21;
+}
+}
+else
+{
+lean_object* x_371; lean_object* x_372;
+x_371 = lean_ctor_get(x_326, 0);
+lean_inc(x_371);
+x_372 = lean_ctor_get(x_326, 1);
+lean_inc(x_372);
+lean_dec(x_326);
+x_292 = x_371;
+x_293 = x_372;
+goto block_325;
+}
+}
+}
+else
+{
+lean_object* x_580; uint8_t x_581; lean_object* x_582; lean_object* x_583; lean_object* x_584; lean_object* x_585; lean_object* x_586; lean_object* x_606; lean_object* x_635;
+x_580 = lean_ctor_get(x_284, 0);
+lean_inc(x_580);
+lean_dec(x_284);
+x_581 = 0;
+x_582 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_582, 0, x_580);
+lean_ctor_set_uint8(x_582, sizeof(void*)*1, x_581);
+lean_ctor_set(x_283, 3, x_582);
+x_583 = lean_st_ref_set(x_7, x_283, x_285);
+x_584 = lean_ctor_get(x_583, 1);
+lean_inc(x_584);
+lean_dec(x_583);
+lean_inc(x_7);
+lean_inc(x_6);
+lean_inc(x_5);
+lean_inc(x_4);
+lean_inc(x_1);
+x_635 = l_Lean_Meta_inferType___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqEta___spec__1(x_1, x_3, x_4, x_5, x_6, x_7, x_584);
+if (lean_obj_tag(x_635) == 0)
+{
+lean_object* x_636; lean_object* x_637; lean_object* x_638;
+x_636 = lean_ctor_get(x_635, 0);
+lean_inc(x_636);
+x_637 = lean_ctor_get(x_635, 1);
+lean_inc(x_637);
+lean_dec(x_635);
+lean_inc(x_7);
+lean_inc(x_6);
+lean_inc(x_5);
+lean_inc(x_4);
+lean_inc(x_2);
+x_638 = l_Lean_Meta_inferType___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqEta___spec__1(x_2, x_3, x_4, x_5, x_6, x_7, x_637);
+if (lean_obj_tag(x_638) == 0)
+{
+lean_object* x_639; lean_object* x_640; lean_object* x_641; lean_object* x_642; lean_object* x_643; uint8_t x_644; uint8_t x_645; uint8_t x_646; uint8_t x_647; uint8_t x_648; uint8_t x_649; uint8_t x_650; lean_object* x_651; uint8_t x_652; lean_object* x_653; lean_object* x_654; lean_object* x_655;
+x_639 = lean_ctor_get(x_4, 0);
+lean_inc(x_639);
+x_640 = lean_ctor_get(x_638, 0);
+lean_inc(x_640);
+x_641 = lean_ctor_get(x_638, 1);
+lean_inc(x_641);
+lean_dec(x_638);
+x_642 = lean_ctor_get(x_4, 1);
+lean_inc(x_642);
+x_643 = lean_ctor_get(x_4, 2);
+lean_inc(x_643);
+x_644 = lean_ctor_get_uint8(x_639, 0);
+x_645 = lean_ctor_get_uint8(x_639, 1);
+x_646 = lean_ctor_get_uint8(x_639, 2);
+x_647 = lean_ctor_get_uint8(x_639, 3);
+x_648 = lean_ctor_get_uint8(x_639, 4);
+x_649 = lean_ctor_get_uint8(x_639, 6);
+x_650 = lean_ctor_get_uint8(x_639, 7);
+if (lean_is_exclusive(x_639)) {
+ x_651 = x_639;
+} else {
+ lean_dec_ref(x_639);
+ x_651 = lean_box(0);
+}
+x_652 = 1;
+if (lean_is_scalar(x_651)) {
+ x_653 = lean_alloc_ctor(0, 0, 8);
+} else {
+ x_653 = x_651;
+}
+lean_ctor_set_uint8(x_653, 0, x_644);
+lean_ctor_set_uint8(x_653, 1, x_645);
+lean_ctor_set_uint8(x_653, 2, x_646);
+lean_ctor_set_uint8(x_653, 3, x_647);
+lean_ctor_set_uint8(x_653, 4, x_648);
+lean_ctor_set_uint8(x_653, 5, x_652);
+lean_ctor_set_uint8(x_653, 6, x_649);
+lean_ctor_set_uint8(x_653, 7, x_650);
+x_654 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_654, 0, x_653);
+lean_ctor_set(x_654, 1, x_642);
+lean_ctor_set(x_654, 2, x_643);
+lean_inc(x_7);
+lean_inc(x_6);
+lean_inc(x_5);
+lean_inc(x_3);
+lean_inc(x_640);
+lean_inc(x_636);
+x_655 = l_Lean_Meta_isExprDefEqAux(x_636, x_640, x_3, x_654, x_5, x_6, x_7, x_641);
+if (lean_obj_tag(x_655) == 0)
+{
+lean_object* x_656; uint8_t x_657;
+x_656 = lean_ctor_get(x_655, 0);
lean_inc(x_656);
-lean_dec(x_655);
-x_657 = lean_ctor_get_uint8(x_656, sizeof(void*)*1);
+x_657 = lean_unbox(x_656);
lean_dec(x_656);
if (x_657 == 0)
{
-lean_object* x_658;
-x_658 = lean_ctor_get(x_654, 1);
+lean_object* x_658; lean_object* x_659; uint8_t x_660; lean_object* x_661; lean_object* x_686; lean_object* x_687; lean_object* x_688; uint8_t x_689;
+x_658 = lean_ctor_get(x_655, 1);
lean_inc(x_658);
-lean_dec(x_654);
-x_632 = x_501;
-x_633 = x_658;
-goto block_653;
+if (lean_is_exclusive(x_655)) {
+ lean_ctor_release(x_655, 0);
+ lean_ctor_release(x_655, 1);
+ x_659 = x_655;
+} else {
+ lean_dec_ref(x_655);
+ x_659 = lean_box(0);
+}
+x_686 = lean_st_ref_get(x_7, x_658);
+x_687 = lean_ctor_get(x_686, 0);
+lean_inc(x_687);
+x_688 = lean_ctor_get(x_687, 3);
+lean_inc(x_688);
+lean_dec(x_687);
+x_689 = lean_ctor_get_uint8(x_688, sizeof(void*)*1);
+lean_dec(x_688);
+if (x_689 == 0)
+{
+lean_object* x_690;
+x_690 = lean_ctor_get(x_686, 1);
+lean_inc(x_690);
+lean_dec(x_686);
+x_660 = x_581;
+x_661 = x_690;
+goto block_685;
}
else
{
-lean_object* x_659; lean_object* x_660; lean_object* x_661; lean_object* x_662; lean_object* x_663; uint8_t x_664;
-x_659 = lean_ctor_get(x_654, 1);
-lean_inc(x_659);
-lean_dec(x_654);
-x_660 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__10;
-x_661 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_660, x_3, x_4, x_5, x_6, x_7, x_659);
-x_662 = lean_ctor_get(x_661, 0);
-lean_inc(x_662);
-x_663 = lean_ctor_get(x_661, 1);
-lean_inc(x_663);
-lean_dec(x_661);
-x_664 = lean_unbox(x_662);
-lean_dec(x_662);
-x_632 = x_664;
-x_633 = x_663;
-goto block_653;
+lean_object* x_691; lean_object* x_692; lean_object* x_693; lean_object* x_694; lean_object* x_695; uint8_t x_696;
+x_691 = lean_ctor_get(x_686, 1);
+lean_inc(x_691);
+lean_dec(x_686);
+x_692 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__6;
+x_693 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_692, x_3, x_4, x_5, x_6, x_7, x_691);
+x_694 = lean_ctor_get(x_693, 0);
+lean_inc(x_694);
+x_695 = lean_ctor_get(x_693, 1);
+lean_inc(x_695);
+lean_dec(x_693);
+x_696 = lean_unbox(x_694);
+lean_dec(x_694);
+x_660 = x_696;
+x_661 = x_695;
+goto block_685;
}
-block_653:
+block_685:
{
-if (x_632 == 0)
+if (x_660 == 0)
{
-lean_object* x_634; lean_object* x_635; lean_object* x_636; uint8_t x_637;
-x_634 = l_Lean_Expr_mvarId_x21(x_1);
-lean_dec(x_1);
-x_635 = l_Lean_Meta_assignExprMVar___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___spec__1(x_634, x_2, x_3, x_4, x_5, x_6, x_7, x_633);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_636 = lean_ctor_get(x_635, 1);
-lean_inc(x_636);
-lean_dec(x_635);
-x_637 = 1;
-x_506 = x_637;
-x_507 = x_636;
-goto block_532;
-}
-else
-{
-lean_object* x_638; lean_object* x_639; lean_object* x_640; lean_object* x_641; lean_object* x_642; lean_object* x_643; lean_object* x_644; lean_object* x_645; lean_object* x_646; lean_object* x_647; lean_object* x_648; lean_object* x_649; lean_object* x_650; lean_object* x_651; uint8_t x_652;
-lean_inc(x_1);
-x_638 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_638, 0, x_1);
-x_639 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_640 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_640, 0, x_639);
-lean_ctor_set(x_640, 1, x_638);
-x_641 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__8;
-x_642 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_642, 0, x_640);
-lean_ctor_set(x_642, 1, x_641);
-lean_inc(x_2);
-x_643 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_643, 0, x_2);
-x_644 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_644, 0, x_642);
-lean_ctor_set(x_644, 1, x_643);
-x_645 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_645, 0, x_644);
-lean_ctor_set(x_645, 1, x_639);
-x_646 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__10;
-x_647 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__2(x_646, x_645, x_3, x_4, x_5, x_6, x_7, x_633);
-x_648 = lean_ctor_get(x_647, 1);
-lean_inc(x_648);
-lean_dec(x_647);
-x_649 = l_Lean_Expr_mvarId_x21(x_1);
-lean_dec(x_1);
-x_650 = l_Lean_Meta_assignExprMVar___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___spec__1(x_649, x_2, x_3, x_4, x_5, x_6, x_7, x_648);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_651 = lean_ctor_get(x_650, 1);
-lean_inc(x_651);
-lean_dec(x_650);
-x_652 = 1;
-x_506 = x_652;
-x_507 = x_651;
-goto block_532;
-}
-}
-}
-}
-else
-{
-lean_object* x_665; lean_object* x_666;
-lean_dec(x_580);
-lean_dec(x_576);
+lean_object* x_662; lean_object* x_663;
+lean_dec(x_640);
+lean_dec(x_636);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_665 = lean_ctor_get(x_595, 0);
-lean_inc(x_665);
-x_666 = lean_ctor_get(x_595, 1);
-lean_inc(x_666);
-lean_dec(x_595);
-x_533 = x_665;
-x_534 = x_666;
-goto block_553;
+x_662 = lean_box(x_581);
+if (lean_is_scalar(x_659)) {
+ x_663 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_663 = x_659;
}
+lean_ctor_set(x_663, 0, x_662);
+lean_ctor_set(x_663, 1, x_661);
+x_606 = x_663;
+goto block_634;
}
else
{
-lean_object* x_667; lean_object* x_668;
-lean_dec(x_576);
+lean_object* x_664; lean_object* x_665; lean_object* x_666; lean_object* x_667; lean_object* x_668; lean_object* x_669; lean_object* x_670; lean_object* x_671; lean_object* x_672; lean_object* x_673; lean_object* x_674; lean_object* x_675; lean_object* x_676; lean_object* x_677; lean_object* x_678; lean_object* x_679; lean_object* x_680; lean_object* x_681; lean_object* x_682; lean_object* x_683; lean_object* x_684;
+lean_dec(x_659);
+x_664 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_664, 0, x_1);
+x_665 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_666 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_666, 0, x_665);
+lean_ctor_set(x_666, 1, x_664);
+x_667 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__7;
+x_668 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_668, 0, x_666);
+lean_ctor_set(x_668, 1, x_667);
+x_669 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_669, 0, x_636);
+x_670 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_670, 0, x_668);
+lean_ctor_set(x_670, 1, x_669);
+x_671 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__8;
+x_672 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_672, 0, x_670);
+lean_ctor_set(x_672, 1, x_671);
+x_673 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_673, 0, x_2);
+x_674 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_674, 0, x_672);
+lean_ctor_set(x_674, 1, x_673);
+x_675 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_675, 0, x_674);
+lean_ctor_set(x_675, 1, x_667);
+x_676 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_676, 0, x_640);
+x_677 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_677, 0, x_675);
+lean_ctor_set(x_677, 1, x_676);
+x_678 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_678, 0, x_677);
+lean_ctor_set(x_678, 1, x_665);
+x_679 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__6;
+x_680 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__2(x_679, x_678, x_3, x_4, x_5, x_6, x_7, x_661);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
-lean_dec(x_2);
-lean_dec(x_1);
-x_667 = lean_ctor_get(x_578, 0);
-lean_inc(x_667);
-x_668 = lean_ctor_get(x_578, 1);
-lean_inc(x_668);
-lean_dec(x_578);
-x_554 = x_667;
-x_555 = x_668;
-goto block_574;
-}
-}
-else
-{
-lean_object* x_669; lean_object* x_670;
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_dec(x_1);
-x_669 = lean_ctor_get(x_575, 0);
-lean_inc(x_669);
-x_670 = lean_ctor_get(x_575, 1);
-lean_inc(x_670);
-lean_dec(x_575);
-x_554 = x_669;
-x_555 = x_670;
-goto block_574;
-}
-block_532:
-{
-lean_object* x_508; lean_object* x_509; lean_object* x_510; lean_object* x_511; uint8_t x_512; lean_object* x_513; lean_object* x_514; lean_object* x_515; lean_object* x_516; lean_object* x_517; lean_object* x_518; lean_object* x_519; lean_object* x_520; lean_object* x_521; lean_object* x_522; lean_object* x_523; lean_object* x_524; lean_object* x_525; lean_object* x_526; lean_object* x_527; lean_object* x_528; lean_object* x_529; lean_object* x_530; lean_object* x_531;
-x_508 = lean_st_ref_get(x_7, x_507);
-x_509 = lean_ctor_get(x_508, 0);
-lean_inc(x_509);
-x_510 = lean_ctor_get(x_508, 1);
-lean_inc(x_510);
-lean_dec(x_508);
-x_511 = lean_ctor_get(x_509, 3);
-lean_inc(x_511);
-lean_dec(x_509);
-x_512 = lean_ctor_get_uint8(x_511, sizeof(void*)*1);
-lean_dec(x_511);
-x_513 = lean_st_ref_take(x_7, x_510);
-x_514 = lean_ctor_get(x_513, 0);
-lean_inc(x_514);
-x_515 = lean_ctor_get(x_514, 3);
-lean_inc(x_515);
-x_516 = lean_ctor_get(x_513, 1);
-lean_inc(x_516);
-lean_dec(x_513);
-x_517 = lean_ctor_get(x_514, 0);
-lean_inc(x_517);
-x_518 = lean_ctor_get(x_514, 1);
-lean_inc(x_518);
-x_519 = lean_ctor_get(x_514, 2);
-lean_inc(x_519);
-if (lean_is_exclusive(x_514)) {
- lean_ctor_release(x_514, 0);
- lean_ctor_release(x_514, 1);
- lean_ctor_release(x_514, 2);
- lean_ctor_release(x_514, 3);
- x_520 = x_514;
+x_681 = lean_ctor_get(x_680, 1);
+lean_inc(x_681);
+if (lean_is_exclusive(x_680)) {
+ lean_ctor_release(x_680, 0);
+ lean_ctor_release(x_680, 1);
+ x_682 = x_680;
} else {
- lean_dec_ref(x_514);
- x_520 = lean_box(0);
+ lean_dec_ref(x_680);
+ x_682 = lean_box(0);
}
-x_521 = lean_ctor_get(x_515, 0);
-lean_inc(x_521);
-if (lean_is_exclusive(x_515)) {
- lean_ctor_release(x_515, 0);
- x_522 = x_515;
+x_683 = lean_box(x_581);
+if (lean_is_scalar(x_682)) {
+ x_684 = lean_alloc_ctor(0, 2, 0);
} else {
- lean_dec_ref(x_515);
- x_522 = lean_box(0);
+ x_684 = x_682;
}
-if (lean_is_scalar(x_522)) {
- x_523 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_523 = x_522;
-}
-lean_ctor_set(x_523, 0, x_521);
-lean_ctor_set_uint8(x_523, sizeof(void*)*1, x_28);
-if (lean_is_scalar(x_520)) {
- x_524 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_524 = x_520;
-}
-lean_ctor_set(x_524, 0, x_517);
-lean_ctor_set(x_524, 1, x_518);
-lean_ctor_set(x_524, 2, x_519);
-lean_ctor_set(x_524, 3, x_523);
-x_525 = lean_st_ref_set(x_7, x_524, x_516);
-lean_dec(x_7);
-x_526 = lean_ctor_get(x_525, 1);
-lean_inc(x_526);
-if (lean_is_exclusive(x_525)) {
- lean_ctor_release(x_525, 0);
- lean_ctor_release(x_525, 1);
- x_527 = x_525;
-} else {
- lean_dec_ref(x_525);
- x_527 = lean_box(0);
-}
-x_528 = lean_box(x_506);
-x_529 = lean_box(x_512);
-x_530 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_530, 0, x_528);
-lean_ctor_set(x_530, 1, x_529);
-if (lean_is_scalar(x_527)) {
- x_531 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_531 = x_527;
-}
-lean_ctor_set(x_531, 0, x_530);
-lean_ctor_set(x_531, 1, x_526);
-x_9 = x_531;
-goto block_21;
-}
-block_553:
-{
-lean_object* x_535; lean_object* x_536; lean_object* x_537; lean_object* x_538; lean_object* x_539; lean_object* x_540; lean_object* x_541; lean_object* x_542; lean_object* x_543; lean_object* x_544; lean_object* x_545; lean_object* x_546; lean_object* x_547; lean_object* x_548; lean_object* x_549; lean_object* x_550; lean_object* x_551; lean_object* x_552;
-x_535 = lean_st_ref_get(x_7, x_534);
-x_536 = lean_ctor_get(x_535, 1);
-lean_inc(x_536);
-lean_dec(x_535);
-x_537 = lean_st_ref_take(x_7, x_536);
-x_538 = lean_ctor_get(x_537, 0);
-lean_inc(x_538);
-x_539 = lean_ctor_get(x_538, 3);
-lean_inc(x_539);
-x_540 = lean_ctor_get(x_537, 1);
-lean_inc(x_540);
-lean_dec(x_537);
-x_541 = lean_ctor_get(x_538, 0);
-lean_inc(x_541);
-x_542 = lean_ctor_get(x_538, 1);
-lean_inc(x_542);
-x_543 = lean_ctor_get(x_538, 2);
-lean_inc(x_543);
-if (lean_is_exclusive(x_538)) {
- lean_ctor_release(x_538, 0);
- lean_ctor_release(x_538, 1);
- lean_ctor_release(x_538, 2);
- lean_ctor_release(x_538, 3);
- x_544 = x_538;
-} else {
- lean_dec_ref(x_538);
- x_544 = lean_box(0);
-}
-x_545 = lean_ctor_get(x_539, 0);
-lean_inc(x_545);
-if (lean_is_exclusive(x_539)) {
- lean_ctor_release(x_539, 0);
- x_546 = x_539;
-} else {
- lean_dec_ref(x_539);
- x_546 = lean_box(0);
-}
-if (lean_is_scalar(x_546)) {
- x_547 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_547 = x_546;
-}
-lean_ctor_set(x_547, 0, x_545);
-lean_ctor_set_uint8(x_547, sizeof(void*)*1, x_28);
-if (lean_is_scalar(x_544)) {
- x_548 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_548 = x_544;
-}
-lean_ctor_set(x_548, 0, x_541);
-lean_ctor_set(x_548, 1, x_542);
-lean_ctor_set(x_548, 2, x_543);
-lean_ctor_set(x_548, 3, x_547);
-x_549 = lean_st_ref_set(x_7, x_548, x_540);
-lean_dec(x_7);
-x_550 = lean_ctor_get(x_549, 1);
-lean_inc(x_550);
-if (lean_is_exclusive(x_549)) {
- lean_ctor_release(x_549, 0);
- lean_ctor_release(x_549, 1);
- x_551 = x_549;
-} else {
- lean_dec_ref(x_549);
- x_551 = lean_box(0);
-}
-if (lean_is_scalar(x_551)) {
- x_552 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_552 = x_551;
- lean_ctor_set_tag(x_552, 1);
-}
-lean_ctor_set(x_552, 0, x_533);
-lean_ctor_set(x_552, 1, x_550);
-x_9 = x_552;
-goto block_21;
-}
-block_574:
-{
-lean_object* x_556; lean_object* x_557; lean_object* x_558; lean_object* x_559; lean_object* x_560; lean_object* x_561; lean_object* x_562; lean_object* x_563; lean_object* x_564; lean_object* x_565; lean_object* x_566; lean_object* x_567; lean_object* x_568; lean_object* x_569; lean_object* x_570; lean_object* x_571; lean_object* x_572; lean_object* x_573;
-x_556 = lean_st_ref_get(x_7, x_555);
-x_557 = lean_ctor_get(x_556, 1);
-lean_inc(x_557);
-lean_dec(x_556);
-x_558 = lean_st_ref_take(x_7, x_557);
-x_559 = lean_ctor_get(x_558, 0);
-lean_inc(x_559);
-x_560 = lean_ctor_get(x_559, 3);
-lean_inc(x_560);
-x_561 = lean_ctor_get(x_558, 1);
-lean_inc(x_561);
-lean_dec(x_558);
-x_562 = lean_ctor_get(x_559, 0);
-lean_inc(x_562);
-x_563 = lean_ctor_get(x_559, 1);
-lean_inc(x_563);
-x_564 = lean_ctor_get(x_559, 2);
-lean_inc(x_564);
-if (lean_is_exclusive(x_559)) {
- lean_ctor_release(x_559, 0);
- lean_ctor_release(x_559, 1);
- lean_ctor_release(x_559, 2);
- lean_ctor_release(x_559, 3);
- x_565 = x_559;
-} else {
- lean_dec_ref(x_559);
- x_565 = lean_box(0);
-}
-x_566 = lean_ctor_get(x_560, 0);
-lean_inc(x_566);
-if (lean_is_exclusive(x_560)) {
- lean_ctor_release(x_560, 0);
- x_567 = x_560;
-} else {
- lean_dec_ref(x_560);
- x_567 = lean_box(0);
-}
-if (lean_is_scalar(x_567)) {
- x_568 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_568 = x_567;
-}
-lean_ctor_set(x_568, 0, x_566);
-lean_ctor_set_uint8(x_568, sizeof(void*)*1, x_28);
-if (lean_is_scalar(x_565)) {
- x_569 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_569 = x_565;
-}
-lean_ctor_set(x_569, 0, x_562);
-lean_ctor_set(x_569, 1, x_563);
-lean_ctor_set(x_569, 2, x_564);
-lean_ctor_set(x_569, 3, x_568);
-x_570 = lean_st_ref_set(x_7, x_569, x_561);
-lean_dec(x_7);
-x_571 = lean_ctor_get(x_570, 1);
-lean_inc(x_571);
-if (lean_is_exclusive(x_570)) {
- lean_ctor_release(x_570, 0);
- lean_ctor_release(x_570, 1);
- x_572 = x_570;
-} else {
- lean_dec_ref(x_570);
- x_572 = lean_box(0);
-}
-if (lean_is_scalar(x_572)) {
- x_573 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_573 = x_572;
- lean_ctor_set_tag(x_573, 1);
-}
-lean_ctor_set(x_573, 0, x_554);
-lean_ctor_set(x_573, 1, x_571);
-return x_573;
+lean_ctor_set(x_684, 0, x_683);
+lean_ctor_set(x_684, 1, x_681);
+x_606 = x_684;
+goto block_634;
}
}
}
else
{
-lean_object* x_671; lean_object* x_672; lean_object* x_673; lean_object* x_674; uint8_t x_675; lean_object* x_676; lean_object* x_686; lean_object* x_687; lean_object* x_695;
-x_671 = lean_ctor_get(x_6, 3);
-lean_inc(x_671);
-x_672 = l___private_Lean_Util_Trace_5__getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__6___rarg(x_7, x_23);
-x_673 = lean_ctor_get(x_672, 0);
-lean_inc(x_673);
-x_674 = lean_ctor_get(x_672, 1);
-lean_inc(x_674);
-lean_dec(x_672);
-lean_inc(x_7);
-lean_inc(x_6);
-lean_inc(x_5);
-lean_inc(x_4);
-lean_inc(x_1);
-x_695 = l_Lean_Meta_inferType___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqEta___spec__1(x_1, x_3, x_4, x_5, x_6, x_7, x_674);
-if (lean_obj_tag(x_695) == 0)
-{
-lean_object* x_696; lean_object* x_697; lean_object* x_698;
-x_696 = lean_ctor_get(x_695, 0);
-lean_inc(x_696);
-x_697 = lean_ctor_get(x_695, 1);
+lean_object* x_697; uint8_t x_698; lean_object* x_699; lean_object* x_726; lean_object* x_727; lean_object* x_728; uint8_t x_729;
+lean_dec(x_640);
+lean_dec(x_636);
+x_697 = lean_ctor_get(x_655, 1);
lean_inc(x_697);
-lean_dec(x_695);
+lean_dec(x_655);
+x_726 = lean_st_ref_get(x_7, x_697);
+x_727 = lean_ctor_get(x_726, 0);
+lean_inc(x_727);
+x_728 = lean_ctor_get(x_727, 3);
+lean_inc(x_728);
+lean_dec(x_727);
+x_729 = lean_ctor_get_uint8(x_728, sizeof(void*)*1);
+lean_dec(x_728);
+if (x_729 == 0)
+{
+lean_object* x_730;
+x_730 = lean_ctor_get(x_726, 1);
+lean_inc(x_730);
+lean_dec(x_726);
+x_698 = x_581;
+x_699 = x_730;
+goto block_725;
+}
+else
+{
+lean_object* x_731; lean_object* x_732; lean_object* x_733; lean_object* x_734; lean_object* x_735; uint8_t x_736;
+x_731 = lean_ctor_get(x_726, 1);
+lean_inc(x_731);
+lean_dec(x_726);
+x_732 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__10;
+x_733 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_732, x_3, x_4, x_5, x_6, x_7, x_731);
+x_734 = lean_ctor_get(x_733, 0);
+lean_inc(x_734);
+x_735 = lean_ctor_get(x_733, 1);
+lean_inc(x_735);
+lean_dec(x_733);
+x_736 = lean_unbox(x_734);
+lean_dec(x_734);
+x_698 = x_736;
+x_699 = x_735;
+goto block_725;
+}
+block_725:
+{
+if (x_698 == 0)
+{
+lean_object* x_700; lean_object* x_701; lean_object* x_702; lean_object* x_703; uint8_t x_704; lean_object* x_705; lean_object* x_706;
+x_700 = l_Lean_Expr_mvarId_x21(x_1);
+lean_dec(x_1);
+x_701 = l_Lean_Meta_assignExprMVar___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___spec__1(x_700, x_2, x_3, x_4, x_5, x_6, x_7, x_699);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_702 = lean_ctor_get(x_701, 1);
+lean_inc(x_702);
+if (lean_is_exclusive(x_701)) {
+ lean_ctor_release(x_701, 0);
+ lean_ctor_release(x_701, 1);
+ x_703 = x_701;
+} else {
+ lean_dec_ref(x_701);
+ x_703 = lean_box(0);
+}
+x_704 = 1;
+x_705 = lean_box(x_704);
+if (lean_is_scalar(x_703)) {
+ x_706 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_706 = x_703;
+}
+lean_ctor_set(x_706, 0, x_705);
+lean_ctor_set(x_706, 1, x_702);
+x_606 = x_706;
+goto block_634;
+}
+else
+{
+lean_object* x_707; lean_object* x_708; lean_object* x_709; lean_object* x_710; lean_object* x_711; lean_object* x_712; lean_object* x_713; lean_object* x_714; lean_object* x_715; lean_object* x_716; lean_object* x_717; lean_object* x_718; lean_object* x_719; lean_object* x_720; lean_object* x_721; uint8_t x_722; lean_object* x_723; lean_object* x_724;
+lean_inc(x_1);
+x_707 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_707, 0, x_1);
+x_708 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_709 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_709, 0, x_708);
+lean_ctor_set(x_709, 1, x_707);
+x_710 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__8;
+x_711 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_711, 0, x_709);
+lean_ctor_set(x_711, 1, x_710);
+lean_inc(x_2);
+x_712 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_712, 0, x_2);
+x_713 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_713, 0, x_711);
+lean_ctor_set(x_713, 1, x_712);
+x_714 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_714, 0, x_713);
+lean_ctor_set(x_714, 1, x_708);
+x_715 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__10;
+x_716 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__2(x_715, x_714, x_3, x_4, x_5, x_6, x_7, x_699);
+x_717 = lean_ctor_get(x_716, 1);
+lean_inc(x_717);
+lean_dec(x_716);
+x_718 = l_Lean_Expr_mvarId_x21(x_1);
+lean_dec(x_1);
+x_719 = l_Lean_Meta_assignExprMVar___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___spec__1(x_718, x_2, x_3, x_4, x_5, x_6, x_7, x_717);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_720 = lean_ctor_get(x_719, 1);
+lean_inc(x_720);
+if (lean_is_exclusive(x_719)) {
+ lean_ctor_release(x_719, 0);
+ lean_ctor_release(x_719, 1);
+ x_721 = x_719;
+} else {
+ lean_dec_ref(x_719);
+ x_721 = lean_box(0);
+}
+x_722 = 1;
+x_723 = lean_box(x_722);
+if (lean_is_scalar(x_721)) {
+ x_724 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_724 = x_721;
+}
+lean_ctor_set(x_724, 0, x_723);
+lean_ctor_set(x_724, 1, x_720);
+x_606 = x_724;
+goto block_634;
+}
+}
+}
+}
+else
+{
+lean_object* x_737; lean_object* x_738; lean_object* x_739; lean_object* x_740;
+lean_dec(x_640);
+lean_dec(x_636);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+lean_dec(x_1);
+x_737 = lean_ctor_get(x_655, 0);
+lean_inc(x_737);
+x_738 = lean_ctor_get(x_655, 1);
+lean_inc(x_738);
+if (lean_is_exclusive(x_655)) {
+ lean_ctor_release(x_655, 0);
+ lean_ctor_release(x_655, 1);
+ x_739 = x_655;
+} else {
+ lean_dec_ref(x_655);
+ x_739 = lean_box(0);
+}
+if (lean_is_scalar(x_739)) {
+ x_740 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_740 = x_739;
+}
+lean_ctor_set(x_740, 0, x_737);
+lean_ctor_set(x_740, 1, x_738);
+x_606 = x_740;
+goto block_634;
+}
+}
+else
+{
+lean_object* x_741; lean_object* x_742;
+lean_dec(x_636);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+lean_dec(x_1);
+x_741 = lean_ctor_get(x_638, 0);
+lean_inc(x_741);
+x_742 = lean_ctor_get(x_638, 1);
+lean_inc(x_742);
+lean_dec(x_638);
+x_585 = x_741;
+x_586 = x_742;
+goto block_605;
+}
+}
+else
+{
+lean_object* x_743; lean_object* x_744;
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+lean_dec(x_1);
+x_743 = lean_ctor_get(x_635, 0);
+lean_inc(x_743);
+x_744 = lean_ctor_get(x_635, 1);
+lean_inc(x_744);
+lean_dec(x_635);
+x_585 = x_743;
+x_586 = x_744;
+goto block_605;
+}
+block_605:
+{
+lean_object* x_587; lean_object* x_588; lean_object* x_589; lean_object* x_590; lean_object* x_591; lean_object* x_592; lean_object* x_593; lean_object* x_594; lean_object* x_595; lean_object* x_596; lean_object* x_597; lean_object* x_598; lean_object* x_599; lean_object* x_600; lean_object* x_601; lean_object* x_602; lean_object* x_603; lean_object* x_604;
+x_587 = lean_st_ref_get(x_7, x_586);
+x_588 = lean_ctor_get(x_587, 1);
+lean_inc(x_588);
+lean_dec(x_587);
+x_589 = lean_st_ref_take(x_7, x_588);
+x_590 = lean_ctor_get(x_589, 0);
+lean_inc(x_590);
+x_591 = lean_ctor_get(x_590, 3);
+lean_inc(x_591);
+x_592 = lean_ctor_get(x_589, 1);
+lean_inc(x_592);
+lean_dec(x_589);
+x_593 = lean_ctor_get(x_590, 0);
+lean_inc(x_593);
+x_594 = lean_ctor_get(x_590, 1);
+lean_inc(x_594);
+x_595 = lean_ctor_get(x_590, 2);
+lean_inc(x_595);
+if (lean_is_exclusive(x_590)) {
+ lean_ctor_release(x_590, 0);
+ lean_ctor_release(x_590, 1);
+ lean_ctor_release(x_590, 2);
+ lean_ctor_release(x_590, 3);
+ x_596 = x_590;
+} else {
+ lean_dec_ref(x_590);
+ x_596 = lean_box(0);
+}
+x_597 = lean_ctor_get(x_591, 0);
+lean_inc(x_597);
+if (lean_is_exclusive(x_591)) {
+ lean_ctor_release(x_591, 0);
+ x_598 = x_591;
+} else {
+ lean_dec_ref(x_591);
+ x_598 = lean_box(0);
+}
+if (lean_is_scalar(x_598)) {
+ x_599 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_599 = x_598;
+}
+lean_ctor_set(x_599, 0, x_597);
+lean_ctor_set_uint8(x_599, sizeof(void*)*1, x_281);
+if (lean_is_scalar(x_596)) {
+ x_600 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_600 = x_596;
+}
+lean_ctor_set(x_600, 0, x_593);
+lean_ctor_set(x_600, 1, x_594);
+lean_ctor_set(x_600, 2, x_595);
+lean_ctor_set(x_600, 3, x_599);
+x_601 = lean_st_ref_set(x_7, x_600, x_592);
+lean_dec(x_7);
+x_602 = lean_ctor_get(x_601, 1);
+lean_inc(x_602);
+if (lean_is_exclusive(x_601)) {
+ lean_ctor_release(x_601, 0);
+ lean_ctor_release(x_601, 1);
+ x_603 = x_601;
+} else {
+ lean_dec_ref(x_601);
+ x_603 = lean_box(0);
+}
+if (lean_is_scalar(x_603)) {
+ x_604 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_604 = x_603;
+ lean_ctor_set_tag(x_604, 1);
+}
+lean_ctor_set(x_604, 0, x_585);
+lean_ctor_set(x_604, 1, x_602);
+x_9 = x_604;
+goto block_21;
+}
+block_634:
+{
+if (lean_obj_tag(x_606) == 0)
+{
+lean_object* x_607; lean_object* x_608; lean_object* x_609; lean_object* x_610; lean_object* x_611; lean_object* x_612; uint8_t x_613; lean_object* x_614; lean_object* x_615; lean_object* x_616; lean_object* x_617; lean_object* x_618; lean_object* x_619; lean_object* x_620; lean_object* x_621; lean_object* x_622; lean_object* x_623; lean_object* x_624; lean_object* x_625; lean_object* x_626; lean_object* x_627; lean_object* x_628; lean_object* x_629; lean_object* x_630; lean_object* x_631;
+x_607 = lean_ctor_get(x_606, 0);
+lean_inc(x_607);
+x_608 = lean_ctor_get(x_606, 1);
+lean_inc(x_608);
+lean_dec(x_606);
+x_609 = lean_st_ref_get(x_7, x_608);
+x_610 = lean_ctor_get(x_609, 0);
+lean_inc(x_610);
+x_611 = lean_ctor_get(x_609, 1);
+lean_inc(x_611);
+lean_dec(x_609);
+x_612 = lean_ctor_get(x_610, 3);
+lean_inc(x_612);
+lean_dec(x_610);
+x_613 = lean_ctor_get_uint8(x_612, sizeof(void*)*1);
+lean_dec(x_612);
+x_614 = lean_st_ref_take(x_7, x_611);
+x_615 = lean_ctor_get(x_614, 0);
+lean_inc(x_615);
+x_616 = lean_ctor_get(x_615, 3);
+lean_inc(x_616);
+x_617 = lean_ctor_get(x_614, 1);
+lean_inc(x_617);
+lean_dec(x_614);
+x_618 = lean_ctor_get(x_615, 0);
+lean_inc(x_618);
+x_619 = lean_ctor_get(x_615, 1);
+lean_inc(x_619);
+x_620 = lean_ctor_get(x_615, 2);
+lean_inc(x_620);
+if (lean_is_exclusive(x_615)) {
+ lean_ctor_release(x_615, 0);
+ lean_ctor_release(x_615, 1);
+ lean_ctor_release(x_615, 2);
+ lean_ctor_release(x_615, 3);
+ x_621 = x_615;
+} else {
+ lean_dec_ref(x_615);
+ x_621 = lean_box(0);
+}
+x_622 = lean_ctor_get(x_616, 0);
+lean_inc(x_622);
+if (lean_is_exclusive(x_616)) {
+ lean_ctor_release(x_616, 0);
+ x_623 = x_616;
+} else {
+ lean_dec_ref(x_616);
+ x_623 = lean_box(0);
+}
+if (lean_is_scalar(x_623)) {
+ x_624 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_624 = x_623;
+}
+lean_ctor_set(x_624, 0, x_622);
+lean_ctor_set_uint8(x_624, sizeof(void*)*1, x_281);
+if (lean_is_scalar(x_621)) {
+ x_625 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_625 = x_621;
+}
+lean_ctor_set(x_625, 0, x_618);
+lean_ctor_set(x_625, 1, x_619);
+lean_ctor_set(x_625, 2, x_620);
+lean_ctor_set(x_625, 3, x_624);
+x_626 = lean_st_ref_set(x_7, x_625, x_617);
+lean_dec(x_7);
+x_627 = lean_ctor_get(x_626, 1);
+lean_inc(x_627);
+if (lean_is_exclusive(x_626)) {
+ lean_ctor_release(x_626, 0);
+ lean_ctor_release(x_626, 1);
+ x_628 = x_626;
+} else {
+ lean_dec_ref(x_626);
+ x_628 = lean_box(0);
+}
+x_629 = lean_box(x_613);
+x_630 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_630, 0, x_607);
+lean_ctor_set(x_630, 1, x_629);
+if (lean_is_scalar(x_628)) {
+ x_631 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_631 = x_628;
+}
+lean_ctor_set(x_631, 0, x_630);
+lean_ctor_set(x_631, 1, x_627);
+x_9 = x_631;
+goto block_21;
+}
+else
+{
+lean_object* x_632; lean_object* x_633;
+x_632 = lean_ctor_get(x_606, 0);
+lean_inc(x_632);
+x_633 = lean_ctor_get(x_606, 1);
+lean_inc(x_633);
+lean_dec(x_606);
+x_585 = x_632;
+x_586 = x_633;
+goto block_605;
+}
+}
+}
+}
+else
+{
+lean_object* x_745; lean_object* x_746; lean_object* x_747; lean_object* x_748; lean_object* x_749; uint8_t x_750; lean_object* x_751; lean_object* x_752; lean_object* x_753; lean_object* x_754; lean_object* x_755; lean_object* x_756; lean_object* x_776; lean_object* x_805;
+x_745 = lean_ctor_get(x_283, 0);
+x_746 = lean_ctor_get(x_283, 1);
+x_747 = lean_ctor_get(x_283, 2);
+lean_inc(x_747);
+lean_inc(x_746);
+lean_inc(x_745);
+lean_dec(x_283);
+x_748 = lean_ctor_get(x_284, 0);
+lean_inc(x_748);
+if (lean_is_exclusive(x_284)) {
+ lean_ctor_release(x_284, 0);
+ x_749 = x_284;
+} else {
+ lean_dec_ref(x_284);
+ x_749 = lean_box(0);
+}
+x_750 = 0;
+if (lean_is_scalar(x_749)) {
+ x_751 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_751 = x_749;
+}
+lean_ctor_set(x_751, 0, x_748);
+lean_ctor_set_uint8(x_751, sizeof(void*)*1, x_750);
+x_752 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_752, 0, x_745);
+lean_ctor_set(x_752, 1, x_746);
+lean_ctor_set(x_752, 2, x_747);
+lean_ctor_set(x_752, 3, x_751);
+x_753 = lean_st_ref_set(x_7, x_752, x_285);
+x_754 = lean_ctor_get(x_753, 1);
+lean_inc(x_754);
+lean_dec(x_753);
+lean_inc(x_7);
+lean_inc(x_6);
+lean_inc(x_5);
+lean_inc(x_4);
+lean_inc(x_1);
+x_805 = l_Lean_Meta_inferType___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqEta___spec__1(x_1, x_3, x_4, x_5, x_6, x_7, x_754);
+if (lean_obj_tag(x_805) == 0)
+{
+lean_object* x_806; lean_object* x_807; lean_object* x_808;
+x_806 = lean_ctor_get(x_805, 0);
+lean_inc(x_806);
+x_807 = lean_ctor_get(x_805, 1);
+lean_inc(x_807);
+lean_dec(x_805);
lean_inc(x_7);
lean_inc(x_6);
lean_inc(x_5);
lean_inc(x_4);
lean_inc(x_2);
-x_698 = l_Lean_Meta_inferType___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqEta___spec__1(x_2, x_3, x_4, x_5, x_6, x_7, x_697);
-if (lean_obj_tag(x_698) == 0)
+x_808 = l_Lean_Meta_inferType___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqEta___spec__1(x_2, x_3, x_4, x_5, x_6, x_7, x_807);
+if (lean_obj_tag(x_808) == 0)
{
-lean_object* x_699; lean_object* x_700; lean_object* x_701; lean_object* x_702; lean_object* x_703; uint8_t x_704;
-x_699 = lean_ctor_get(x_4, 0);
-lean_inc(x_699);
-x_700 = lean_ctor_get(x_698, 0);
-lean_inc(x_700);
-x_701 = lean_ctor_get(x_698, 1);
-lean_inc(x_701);
-lean_dec(x_698);
-x_702 = lean_ctor_get(x_4, 1);
-lean_inc(x_702);
-x_703 = lean_ctor_get(x_4, 2);
-lean_inc(x_703);
-x_704 = !lean_is_exclusive(x_699);
-if (x_704 == 0)
-{
-uint8_t x_705; lean_object* x_706; lean_object* x_707;
-x_705 = 1;
-lean_ctor_set_uint8(x_699, 5, x_705);
-x_706 = lean_alloc_ctor(0, 3, 0);
-lean_ctor_set(x_706, 0, x_699);
-lean_ctor_set(x_706, 1, x_702);
-lean_ctor_set(x_706, 2, x_703);
+lean_object* x_809; lean_object* x_810; lean_object* x_811; lean_object* x_812; lean_object* x_813; uint8_t x_814; uint8_t x_815; uint8_t x_816; uint8_t x_817; uint8_t x_818; uint8_t x_819; uint8_t x_820; lean_object* x_821; uint8_t x_822; lean_object* x_823; lean_object* x_824; lean_object* x_825;
+x_809 = lean_ctor_get(x_4, 0);
+lean_inc(x_809);
+x_810 = lean_ctor_get(x_808, 0);
+lean_inc(x_810);
+x_811 = lean_ctor_get(x_808, 1);
+lean_inc(x_811);
+lean_dec(x_808);
+x_812 = lean_ctor_get(x_4, 1);
+lean_inc(x_812);
+x_813 = lean_ctor_get(x_4, 2);
+lean_inc(x_813);
+x_814 = lean_ctor_get_uint8(x_809, 0);
+x_815 = lean_ctor_get_uint8(x_809, 1);
+x_816 = lean_ctor_get_uint8(x_809, 2);
+x_817 = lean_ctor_get_uint8(x_809, 3);
+x_818 = lean_ctor_get_uint8(x_809, 4);
+x_819 = lean_ctor_get_uint8(x_809, 6);
+x_820 = lean_ctor_get_uint8(x_809, 7);
+if (lean_is_exclusive(x_809)) {
+ x_821 = x_809;
+} else {
+ lean_dec_ref(x_809);
+ x_821 = lean_box(0);
+}
+x_822 = 1;
+if (lean_is_scalar(x_821)) {
+ x_823 = lean_alloc_ctor(0, 0, 8);
+} else {
+ x_823 = x_821;
+}
+lean_ctor_set_uint8(x_823, 0, x_814);
+lean_ctor_set_uint8(x_823, 1, x_815);
+lean_ctor_set_uint8(x_823, 2, x_816);
+lean_ctor_set_uint8(x_823, 3, x_817);
+lean_ctor_set_uint8(x_823, 4, x_818);
+lean_ctor_set_uint8(x_823, 5, x_822);
+lean_ctor_set_uint8(x_823, 6, x_819);
+lean_ctor_set_uint8(x_823, 7, x_820);
+x_824 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_824, 0, x_823);
+lean_ctor_set(x_824, 1, x_812);
+lean_ctor_set(x_824, 2, x_813);
lean_inc(x_7);
lean_inc(x_6);
lean_inc(x_5);
lean_inc(x_3);
-lean_inc(x_700);
-lean_inc(x_696);
-x_707 = l_Lean_Meta_isExprDefEqAux(x_696, x_700, x_3, x_706, x_5, x_6, x_7, x_701);
-if (lean_obj_tag(x_707) == 0)
+lean_inc(x_810);
+lean_inc(x_806);
+x_825 = l_Lean_Meta_isExprDefEqAux(x_806, x_810, x_3, x_824, x_5, x_6, x_7, x_811);
+if (lean_obj_tag(x_825) == 0)
{
-lean_object* x_708; uint8_t x_709;
-x_708 = lean_ctor_get(x_707, 0);
-lean_inc(x_708);
-x_709 = lean_unbox(x_708);
-lean_dec(x_708);
-if (x_709 == 0)
-{
-lean_object* x_710; uint8_t x_711; lean_object* x_712; lean_object* x_734; lean_object* x_735; lean_object* x_736; uint8_t x_737;
-x_710 = lean_ctor_get(x_707, 1);
-lean_inc(x_710);
-lean_dec(x_707);
-x_734 = lean_st_ref_get(x_7, x_710);
-x_735 = lean_ctor_get(x_734, 0);
-lean_inc(x_735);
-x_736 = lean_ctor_get(x_735, 3);
-lean_inc(x_736);
-lean_dec(x_735);
-x_737 = lean_ctor_get_uint8(x_736, sizeof(void*)*1);
-lean_dec(x_736);
-if (x_737 == 0)
-{
-lean_object* x_738; uint8_t x_739;
-x_738 = lean_ctor_get(x_734, 1);
-lean_inc(x_738);
-lean_dec(x_734);
-x_739 = 0;
-x_711 = x_739;
-x_712 = x_738;
-goto block_733;
-}
-else
-{
-lean_object* x_740; lean_object* x_741; lean_object* x_742; lean_object* x_743; lean_object* x_744; uint8_t x_745;
-x_740 = lean_ctor_get(x_734, 1);
-lean_inc(x_740);
-lean_dec(x_734);
-x_741 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__6;
-x_742 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_741, x_3, x_4, x_5, x_6, x_7, x_740);
-x_743 = lean_ctor_get(x_742, 0);
-lean_inc(x_743);
-x_744 = lean_ctor_get(x_742, 1);
-lean_inc(x_744);
-lean_dec(x_742);
-x_745 = lean_unbox(x_743);
-lean_dec(x_743);
-x_711 = x_745;
-x_712 = x_744;
-goto block_733;
-}
-block_733:
-{
-if (x_711 == 0)
-{
-uint8_t x_713;
-lean_dec(x_700);
-lean_dec(x_696);
-lean_dec(x_2);
-lean_dec(x_1);
-x_713 = 0;
-x_675 = x_713;
-x_676 = x_712;
-goto block_685;
-}
-else
-{
-lean_object* x_714; lean_object* x_715; lean_object* x_716; lean_object* x_717; lean_object* x_718; lean_object* x_719; lean_object* x_720; lean_object* x_721; lean_object* x_722; lean_object* x_723; lean_object* x_724; lean_object* x_725; lean_object* x_726; lean_object* x_727; lean_object* x_728; lean_object* x_729; lean_object* x_730; lean_object* x_731; uint8_t x_732;
-x_714 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_714, 0, x_1);
-x_715 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_716 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_716, 0, x_715);
-lean_ctor_set(x_716, 1, x_714);
-x_717 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__7;
-x_718 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_718, 0, x_716);
-lean_ctor_set(x_718, 1, x_717);
-x_719 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_719, 0, x_696);
-x_720 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_720, 0, x_718);
-lean_ctor_set(x_720, 1, x_719);
-x_721 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__8;
-x_722 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_722, 0, x_720);
-lean_ctor_set(x_722, 1, x_721);
-x_723 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_723, 0, x_2);
-x_724 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_724, 0, x_722);
-lean_ctor_set(x_724, 1, x_723);
-x_725 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_725, 0, x_724);
-lean_ctor_set(x_725, 1, x_717);
-x_726 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_726, 0, x_700);
-x_727 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_727, 0, x_725);
-lean_ctor_set(x_727, 1, x_726);
-x_728 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_728, 0, x_727);
-lean_ctor_set(x_728, 1, x_715);
-x_729 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__6;
-x_730 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__2(x_729, x_728, x_3, x_4, x_5, x_6, x_7, x_712);
-x_731 = lean_ctor_get(x_730, 1);
-lean_inc(x_731);
-lean_dec(x_730);
-x_732 = 0;
-x_675 = x_732;
-x_676 = x_731;
-goto block_685;
-}
-}
-}
-else
-{
-lean_object* x_746; uint8_t x_747; lean_object* x_748; lean_object* x_769; lean_object* x_770; lean_object* x_771; uint8_t x_772;
-lean_dec(x_700);
-lean_dec(x_696);
-x_746 = lean_ctor_get(x_707, 1);
-lean_inc(x_746);
-lean_dec(x_707);
-x_769 = lean_st_ref_get(x_7, x_746);
-x_770 = lean_ctor_get(x_769, 0);
-lean_inc(x_770);
-x_771 = lean_ctor_get(x_770, 3);
-lean_inc(x_771);
-lean_dec(x_770);
-x_772 = lean_ctor_get_uint8(x_771, sizeof(void*)*1);
-lean_dec(x_771);
-if (x_772 == 0)
-{
-lean_object* x_773; uint8_t x_774;
-x_773 = lean_ctor_get(x_769, 1);
-lean_inc(x_773);
-lean_dec(x_769);
-x_774 = 0;
-x_747 = x_774;
-x_748 = x_773;
-goto block_768;
-}
-else
-{
-lean_object* x_775; lean_object* x_776; lean_object* x_777; lean_object* x_778; lean_object* x_779; uint8_t x_780;
-x_775 = lean_ctor_get(x_769, 1);
-lean_inc(x_775);
-lean_dec(x_769);
-x_776 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__10;
-x_777 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_776, x_3, x_4, x_5, x_6, x_7, x_775);
-x_778 = lean_ctor_get(x_777, 0);
-lean_inc(x_778);
-x_779 = lean_ctor_get(x_777, 1);
-lean_inc(x_779);
-lean_dec(x_777);
-x_780 = lean_unbox(x_778);
-lean_dec(x_778);
-x_747 = x_780;
-x_748 = x_779;
-goto block_768;
-}
-block_768:
-{
-if (x_747 == 0)
-{
-lean_object* x_749; lean_object* x_750; lean_object* x_751; uint8_t x_752;
-x_749 = l_Lean_Expr_mvarId_x21(x_1);
-lean_dec(x_1);
-x_750 = l_Lean_Meta_assignExprMVar___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___spec__1(x_749, x_2, x_3, x_4, x_5, x_6, x_7, x_748);
-x_751 = lean_ctor_get(x_750, 1);
-lean_inc(x_751);
-lean_dec(x_750);
-x_752 = 1;
-x_675 = x_752;
-x_676 = x_751;
-goto block_685;
-}
-else
-{
-lean_object* x_753; lean_object* x_754; lean_object* x_755; lean_object* x_756; lean_object* x_757; lean_object* x_758; lean_object* x_759; lean_object* x_760; lean_object* x_761; lean_object* x_762; lean_object* x_763; lean_object* x_764; lean_object* x_765; lean_object* x_766; uint8_t x_767;
-lean_inc(x_1);
-x_753 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_753, 0, x_1);
-x_754 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_755 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_755, 0, x_754);
-lean_ctor_set(x_755, 1, x_753);
-x_756 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__8;
-x_757 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_757, 0, x_755);
-lean_ctor_set(x_757, 1, x_756);
-lean_inc(x_2);
-x_758 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_758, 0, x_2);
-x_759 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_759, 0, x_757);
-lean_ctor_set(x_759, 1, x_758);
-x_760 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_760, 0, x_759);
-lean_ctor_set(x_760, 1, x_754);
-x_761 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__10;
-x_762 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__2(x_761, x_760, x_3, x_4, x_5, x_6, x_7, x_748);
-x_763 = lean_ctor_get(x_762, 1);
-lean_inc(x_763);
-lean_dec(x_762);
-x_764 = l_Lean_Expr_mvarId_x21(x_1);
-lean_dec(x_1);
-x_765 = l_Lean_Meta_assignExprMVar___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___spec__1(x_764, x_2, x_3, x_4, x_5, x_6, x_7, x_763);
-x_766 = lean_ctor_get(x_765, 1);
-lean_inc(x_766);
-lean_dec(x_765);
-x_767 = 1;
-x_675 = x_767;
-x_676 = x_766;
-goto block_685;
-}
-}
-}
-}
-else
-{
-lean_object* x_781; lean_object* x_782;
-lean_dec(x_700);
-lean_dec(x_696);
-lean_dec(x_2);
-lean_dec(x_1);
-x_781 = lean_ctor_get(x_707, 0);
-lean_inc(x_781);
-x_782 = lean_ctor_get(x_707, 1);
-lean_inc(x_782);
-lean_dec(x_707);
-x_686 = x_781;
-x_687 = x_782;
-goto block_694;
-}
-}
-else
-{
-uint8_t x_783; uint8_t x_784; uint8_t x_785; uint8_t x_786; uint8_t x_787; uint8_t x_788; uint8_t x_789; uint8_t x_790; lean_object* x_791; lean_object* x_792; lean_object* x_793;
-x_783 = lean_ctor_get_uint8(x_699, 0);
-x_784 = lean_ctor_get_uint8(x_699, 1);
-x_785 = lean_ctor_get_uint8(x_699, 2);
-x_786 = lean_ctor_get_uint8(x_699, 3);
-x_787 = lean_ctor_get_uint8(x_699, 4);
-x_788 = lean_ctor_get_uint8(x_699, 6);
-x_789 = lean_ctor_get_uint8(x_699, 7);
-lean_dec(x_699);
-x_790 = 1;
-x_791 = lean_alloc_ctor(0, 0, 8);
-lean_ctor_set_uint8(x_791, 0, x_783);
-lean_ctor_set_uint8(x_791, 1, x_784);
-lean_ctor_set_uint8(x_791, 2, x_785);
-lean_ctor_set_uint8(x_791, 3, x_786);
-lean_ctor_set_uint8(x_791, 4, x_787);
-lean_ctor_set_uint8(x_791, 5, x_790);
-lean_ctor_set_uint8(x_791, 6, x_788);
-lean_ctor_set_uint8(x_791, 7, x_789);
-x_792 = lean_alloc_ctor(0, 3, 0);
-lean_ctor_set(x_792, 0, x_791);
-lean_ctor_set(x_792, 1, x_702);
-lean_ctor_set(x_792, 2, x_703);
-lean_inc(x_7);
-lean_inc(x_6);
-lean_inc(x_5);
-lean_inc(x_3);
-lean_inc(x_700);
-lean_inc(x_696);
-x_793 = l_Lean_Meta_isExprDefEqAux(x_696, x_700, x_3, x_792, x_5, x_6, x_7, x_701);
-if (lean_obj_tag(x_793) == 0)
-{
-lean_object* x_794; uint8_t x_795;
-x_794 = lean_ctor_get(x_793, 0);
-lean_inc(x_794);
-x_795 = lean_unbox(x_794);
-lean_dec(x_794);
-if (x_795 == 0)
-{
-lean_object* x_796; uint8_t x_797; lean_object* x_798; lean_object* x_820; lean_object* x_821; lean_object* x_822; uint8_t x_823;
-x_796 = lean_ctor_get(x_793, 1);
-lean_inc(x_796);
-lean_dec(x_793);
-x_820 = lean_st_ref_get(x_7, x_796);
-x_821 = lean_ctor_get(x_820, 0);
-lean_inc(x_821);
-x_822 = lean_ctor_get(x_821, 3);
-lean_inc(x_822);
-lean_dec(x_821);
-x_823 = lean_ctor_get_uint8(x_822, sizeof(void*)*1);
-lean_dec(x_822);
-if (x_823 == 0)
-{
-lean_object* x_824; uint8_t x_825;
-x_824 = lean_ctor_get(x_820, 1);
-lean_inc(x_824);
-lean_dec(x_820);
-x_825 = 0;
-x_797 = x_825;
-x_798 = x_824;
-goto block_819;
-}
-else
-{
-lean_object* x_826; lean_object* x_827; lean_object* x_828; lean_object* x_829; lean_object* x_830; uint8_t x_831;
-x_826 = lean_ctor_get(x_820, 1);
+lean_object* x_826; uint8_t x_827;
+x_826 = lean_ctor_get(x_825, 0);
lean_inc(x_826);
-lean_dec(x_820);
-x_827 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__6;
-x_828 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_827, x_3, x_4, x_5, x_6, x_7, x_826);
-x_829 = lean_ctor_get(x_828, 0);
-lean_inc(x_829);
-x_830 = lean_ctor_get(x_828, 1);
-lean_inc(x_830);
-lean_dec(x_828);
-x_831 = lean_unbox(x_829);
-lean_dec(x_829);
-x_797 = x_831;
-x_798 = x_830;
-goto block_819;
-}
-block_819:
+x_827 = lean_unbox(x_826);
+lean_dec(x_826);
+if (x_827 == 0)
{
-if (x_797 == 0)
-{
-uint8_t x_799;
-lean_dec(x_700);
-lean_dec(x_696);
-lean_dec(x_2);
-lean_dec(x_1);
-x_799 = 0;
-x_675 = x_799;
-x_676 = x_798;
-goto block_685;
+lean_object* x_828; lean_object* x_829; uint8_t x_830; lean_object* x_831; lean_object* x_856; lean_object* x_857; lean_object* x_858; uint8_t x_859;
+x_828 = lean_ctor_get(x_825, 1);
+lean_inc(x_828);
+if (lean_is_exclusive(x_825)) {
+ lean_ctor_release(x_825, 0);
+ lean_ctor_release(x_825, 1);
+ x_829 = x_825;
+} else {
+ lean_dec_ref(x_825);
+ x_829 = lean_box(0);
}
-else
-{
-lean_object* x_800; lean_object* x_801; lean_object* x_802; lean_object* x_803; lean_object* x_804; lean_object* x_805; lean_object* x_806; lean_object* x_807; lean_object* x_808; lean_object* x_809; lean_object* x_810; lean_object* x_811; lean_object* x_812; lean_object* x_813; lean_object* x_814; lean_object* x_815; lean_object* x_816; lean_object* x_817; uint8_t x_818;
-x_800 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_800, 0, x_1);
-x_801 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_802 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_802, 0, x_801);
-lean_ctor_set(x_802, 1, x_800);
-x_803 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__7;
-x_804 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_804, 0, x_802);
-lean_ctor_set(x_804, 1, x_803);
-x_805 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_805, 0, x_696);
-x_806 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_806, 0, x_804);
-lean_ctor_set(x_806, 1, x_805);
-x_807 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__8;
-x_808 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_808, 0, x_806);
-lean_ctor_set(x_808, 1, x_807);
-x_809 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_809, 0, x_2);
-x_810 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_810, 0, x_808);
-lean_ctor_set(x_810, 1, x_809);
-x_811 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_811, 0, x_810);
-lean_ctor_set(x_811, 1, x_803);
-x_812 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_812, 0, x_700);
-x_813 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_813, 0, x_811);
-lean_ctor_set(x_813, 1, x_812);
-x_814 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_814, 0, x_813);
-lean_ctor_set(x_814, 1, x_801);
-x_815 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__6;
-x_816 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__2(x_815, x_814, x_3, x_4, x_5, x_6, x_7, x_798);
-x_817 = lean_ctor_get(x_816, 1);
-lean_inc(x_817);
-lean_dec(x_816);
-x_818 = 0;
-x_675 = x_818;
-x_676 = x_817;
-goto block_685;
-}
-}
-}
-else
-{
-lean_object* x_832; uint8_t x_833; lean_object* x_834; lean_object* x_855; lean_object* x_856; lean_object* x_857; uint8_t x_858;
-lean_dec(x_700);
-lean_dec(x_696);
-x_832 = lean_ctor_get(x_793, 1);
-lean_inc(x_832);
-lean_dec(x_793);
-x_855 = lean_st_ref_get(x_7, x_832);
-x_856 = lean_ctor_get(x_855, 0);
-lean_inc(x_856);
-x_857 = lean_ctor_get(x_856, 3);
+x_856 = lean_st_ref_get(x_7, x_828);
+x_857 = lean_ctor_get(x_856, 0);
lean_inc(x_857);
-lean_dec(x_856);
-x_858 = lean_ctor_get_uint8(x_857, sizeof(void*)*1);
+x_858 = lean_ctor_get(x_857, 3);
+lean_inc(x_858);
lean_dec(x_857);
-if (x_858 == 0)
+x_859 = lean_ctor_get_uint8(x_858, sizeof(void*)*1);
+lean_dec(x_858);
+if (x_859 == 0)
{
-lean_object* x_859; uint8_t x_860;
-x_859 = lean_ctor_get(x_855, 1);
-lean_inc(x_859);
-lean_dec(x_855);
-x_860 = 0;
-x_833 = x_860;
-x_834 = x_859;
-goto block_854;
+lean_object* x_860;
+x_860 = lean_ctor_get(x_856, 1);
+lean_inc(x_860);
+lean_dec(x_856);
+x_830 = x_750;
+x_831 = x_860;
+goto block_855;
}
else
{
lean_object* x_861; lean_object* x_862; lean_object* x_863; lean_object* x_864; lean_object* x_865; uint8_t x_866;
-x_861 = lean_ctor_get(x_855, 1);
+x_861 = lean_ctor_get(x_856, 1);
lean_inc(x_861);
-lean_dec(x_855);
-x_862 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__10;
-x_863 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_862, x_3, x_4, x_5, x_6, x_7, x_861);
+lean_dec(x_856);
+x_862 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__6;
+x_863 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_862, x_3, x_4, x_5, x_6, x_7, x_861);
x_864 = lean_ctor_get(x_863, 0);
lean_inc(x_864);
x_865 = lean_ctor_get(x_863, 1);
@@ -9117,229 +9097,501 @@ lean_inc(x_865);
lean_dec(x_863);
x_866 = lean_unbox(x_864);
lean_dec(x_864);
-x_833 = x_866;
-x_834 = x_865;
-goto block_854;
+x_830 = x_866;
+x_831 = x_865;
+goto block_855;
}
-block_854:
+block_855:
{
-if (x_833 == 0)
+if (x_830 == 0)
{
-lean_object* x_835; lean_object* x_836; lean_object* x_837; uint8_t x_838;
-x_835 = l_Lean_Expr_mvarId_x21(x_1);
+lean_object* x_832; lean_object* x_833;
+lean_dec(x_810);
+lean_dec(x_806);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
lean_dec(x_1);
-x_836 = l_Lean_Meta_assignExprMVar___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___spec__1(x_835, x_2, x_3, x_4, x_5, x_6, x_7, x_834);
-x_837 = lean_ctor_get(x_836, 1);
-lean_inc(x_837);
-lean_dec(x_836);
-x_838 = 1;
-x_675 = x_838;
-x_676 = x_837;
-goto block_685;
+x_832 = lean_box(x_750);
+if (lean_is_scalar(x_829)) {
+ x_833 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_833 = x_829;
+}
+lean_ctor_set(x_833, 0, x_832);
+lean_ctor_set(x_833, 1, x_831);
+x_776 = x_833;
+goto block_804;
}
else
{
-lean_object* x_839; lean_object* x_840; lean_object* x_841; lean_object* x_842; lean_object* x_843; lean_object* x_844; lean_object* x_845; lean_object* x_846; lean_object* x_847; lean_object* x_848; lean_object* x_849; lean_object* x_850; lean_object* x_851; lean_object* x_852; uint8_t x_853;
-lean_inc(x_1);
+lean_object* x_834; lean_object* x_835; lean_object* x_836; lean_object* x_837; lean_object* x_838; lean_object* x_839; lean_object* x_840; lean_object* x_841; lean_object* x_842; lean_object* x_843; lean_object* x_844; lean_object* x_845; lean_object* x_846; lean_object* x_847; lean_object* x_848; lean_object* x_849; lean_object* x_850; lean_object* x_851; lean_object* x_852; lean_object* x_853; lean_object* x_854;
+lean_dec(x_829);
+x_834 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_834, 0, x_1);
+x_835 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_836 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_836, 0, x_835);
+lean_ctor_set(x_836, 1, x_834);
+x_837 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__7;
+x_838 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_838, 0, x_836);
+lean_ctor_set(x_838, 1, x_837);
x_839 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_839, 0, x_1);
-x_840 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_841 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_841, 0, x_840);
-lean_ctor_set(x_841, 1, x_839);
-x_842 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__8;
-x_843 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_843, 0, x_841);
-lean_ctor_set(x_843, 1, x_842);
-lean_inc(x_2);
-x_844 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_844, 0, x_2);
+lean_ctor_set(x_839, 0, x_806);
+x_840 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_840, 0, x_838);
+lean_ctor_set(x_840, 1, x_839);
+x_841 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__8;
+x_842 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_842, 0, x_840);
+lean_ctor_set(x_842, 1, x_841);
+x_843 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_843, 0, x_2);
+x_844 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_844, 0, x_842);
+lean_ctor_set(x_844, 1, x_843);
x_845 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_845, 0, x_843);
-lean_ctor_set(x_845, 1, x_844);
-x_846 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_846, 0, x_845);
-lean_ctor_set(x_846, 1, x_840);
-x_847 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__10;
-x_848 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__2(x_847, x_846, x_3, x_4, x_5, x_6, x_7, x_834);
-x_849 = lean_ctor_get(x_848, 1);
-lean_inc(x_849);
-lean_dec(x_848);
-x_850 = l_Lean_Expr_mvarId_x21(x_1);
-lean_dec(x_1);
-x_851 = l_Lean_Meta_assignExprMVar___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___spec__1(x_850, x_2, x_3, x_4, x_5, x_6, x_7, x_849);
-x_852 = lean_ctor_get(x_851, 1);
-lean_inc(x_852);
-lean_dec(x_851);
-x_853 = 1;
-x_675 = x_853;
-x_676 = x_852;
-goto block_685;
+lean_ctor_set(x_845, 0, x_844);
+lean_ctor_set(x_845, 1, x_837);
+x_846 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_846, 0, x_810);
+x_847 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_847, 0, x_845);
+lean_ctor_set(x_847, 1, x_846);
+x_848 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_848, 0, x_847);
+lean_ctor_set(x_848, 1, x_835);
+x_849 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__6;
+x_850 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__2(x_849, x_848, x_3, x_4, x_5, x_6, x_7, x_831);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_851 = lean_ctor_get(x_850, 1);
+lean_inc(x_851);
+if (lean_is_exclusive(x_850)) {
+ lean_ctor_release(x_850, 0);
+ lean_ctor_release(x_850, 1);
+ x_852 = x_850;
+} else {
+ lean_dec_ref(x_850);
+ x_852 = lean_box(0);
}
+x_853 = lean_box(x_750);
+if (lean_is_scalar(x_852)) {
+ x_854 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_854 = x_852;
+}
+lean_ctor_set(x_854, 0, x_853);
+lean_ctor_set(x_854, 1, x_851);
+x_776 = x_854;
+goto block_804;
}
}
}
else
{
-lean_object* x_867; lean_object* x_868;
-lean_dec(x_700);
-lean_dec(x_696);
-lean_dec(x_2);
-lean_dec(x_1);
-x_867 = lean_ctor_get(x_793, 0);
+lean_object* x_867; uint8_t x_868; lean_object* x_869; lean_object* x_896; lean_object* x_897; lean_object* x_898; uint8_t x_899;
+lean_dec(x_810);
+lean_dec(x_806);
+x_867 = lean_ctor_get(x_825, 1);
lean_inc(x_867);
-x_868 = lean_ctor_get(x_793, 1);
-lean_inc(x_868);
-lean_dec(x_793);
-x_686 = x_867;
-x_687 = x_868;
-goto block_694;
+lean_dec(x_825);
+x_896 = lean_st_ref_get(x_7, x_867);
+x_897 = lean_ctor_get(x_896, 0);
+lean_inc(x_897);
+x_898 = lean_ctor_get(x_897, 3);
+lean_inc(x_898);
+lean_dec(x_897);
+x_899 = lean_ctor_get_uint8(x_898, sizeof(void*)*1);
+lean_dec(x_898);
+if (x_899 == 0)
+{
+lean_object* x_900;
+x_900 = lean_ctor_get(x_896, 1);
+lean_inc(x_900);
+lean_dec(x_896);
+x_868 = x_750;
+x_869 = x_900;
+goto block_895;
+}
+else
+{
+lean_object* x_901; lean_object* x_902; lean_object* x_903; lean_object* x_904; lean_object* x_905; uint8_t x_906;
+x_901 = lean_ctor_get(x_896, 1);
+lean_inc(x_901);
+lean_dec(x_896);
+x_902 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__10;
+x_903 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_902, x_3, x_4, x_5, x_6, x_7, x_901);
+x_904 = lean_ctor_get(x_903, 0);
+lean_inc(x_904);
+x_905 = lean_ctor_get(x_903, 1);
+lean_inc(x_905);
+lean_dec(x_903);
+x_906 = lean_unbox(x_904);
+lean_dec(x_904);
+x_868 = x_906;
+x_869 = x_905;
+goto block_895;
+}
+block_895:
+{
+if (x_868 == 0)
+{
+lean_object* x_870; lean_object* x_871; lean_object* x_872; lean_object* x_873; uint8_t x_874; lean_object* x_875; lean_object* x_876;
+x_870 = l_Lean_Expr_mvarId_x21(x_1);
+lean_dec(x_1);
+x_871 = l_Lean_Meta_assignExprMVar___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___spec__1(x_870, x_2, x_3, x_4, x_5, x_6, x_7, x_869);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_872 = lean_ctor_get(x_871, 1);
+lean_inc(x_872);
+if (lean_is_exclusive(x_871)) {
+ lean_ctor_release(x_871, 0);
+ lean_ctor_release(x_871, 1);
+ x_873 = x_871;
+} else {
+ lean_dec_ref(x_871);
+ x_873 = lean_box(0);
+}
+x_874 = 1;
+x_875 = lean_box(x_874);
+if (lean_is_scalar(x_873)) {
+ x_876 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_876 = x_873;
+}
+lean_ctor_set(x_876, 0, x_875);
+lean_ctor_set(x_876, 1, x_872);
+x_776 = x_876;
+goto block_804;
+}
+else
+{
+lean_object* x_877; lean_object* x_878; lean_object* x_879; lean_object* x_880; lean_object* x_881; lean_object* x_882; lean_object* x_883; lean_object* x_884; lean_object* x_885; lean_object* x_886; lean_object* x_887; lean_object* x_888; lean_object* x_889; lean_object* x_890; lean_object* x_891; uint8_t x_892; lean_object* x_893; lean_object* x_894;
+lean_inc(x_1);
+x_877 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_877, 0, x_1);
+x_878 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_879 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_879, 0, x_878);
+lean_ctor_set(x_879, 1, x_877);
+x_880 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__8;
+x_881 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_881, 0, x_879);
+lean_ctor_set(x_881, 1, x_880);
+lean_inc(x_2);
+x_882 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_882, 0, x_2);
+x_883 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_883, 0, x_881);
+lean_ctor_set(x_883, 1, x_882);
+x_884 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_884, 0, x_883);
+lean_ctor_set(x_884, 1, x_878);
+x_885 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__10;
+x_886 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__2(x_885, x_884, x_3, x_4, x_5, x_6, x_7, x_869);
+x_887 = lean_ctor_get(x_886, 1);
+lean_inc(x_887);
+lean_dec(x_886);
+x_888 = l_Lean_Expr_mvarId_x21(x_1);
+lean_dec(x_1);
+x_889 = l_Lean_Meta_assignExprMVar___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___spec__1(x_888, x_2, x_3, x_4, x_5, x_6, x_7, x_887);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_890 = lean_ctor_get(x_889, 1);
+lean_inc(x_890);
+if (lean_is_exclusive(x_889)) {
+ lean_ctor_release(x_889, 0);
+ lean_ctor_release(x_889, 1);
+ x_891 = x_889;
+} else {
+ lean_dec_ref(x_889);
+ x_891 = lean_box(0);
+}
+x_892 = 1;
+x_893 = lean_box(x_892);
+if (lean_is_scalar(x_891)) {
+ x_894 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_894 = x_891;
+}
+lean_ctor_set(x_894, 0, x_893);
+lean_ctor_set(x_894, 1, x_890);
+x_776 = x_894;
+goto block_804;
+}
}
}
}
else
{
-lean_object* x_869; lean_object* x_870; lean_object* x_871; lean_object* x_872; uint8_t x_873;
-lean_dec(x_696);
+lean_object* x_907; lean_object* x_908; lean_object* x_909; lean_object* x_910;
+lean_dec(x_810);
+lean_dec(x_806);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_869 = lean_ctor_get(x_698, 0);
-lean_inc(x_869);
-x_870 = lean_ctor_get(x_698, 1);
-lean_inc(x_870);
-lean_dec(x_698);
-x_871 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__4;
-x_872 = l___private_Lean_Util_Trace_4__addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__7(x_673, x_871, x_671, x_3, x_4, x_5, x_6, x_7, x_870);
-lean_dec(x_7);
+x_907 = lean_ctor_get(x_825, 0);
+lean_inc(x_907);
+x_908 = lean_ctor_get(x_825, 1);
+lean_inc(x_908);
+if (lean_is_exclusive(x_825)) {
+ lean_ctor_release(x_825, 0);
+ lean_ctor_release(x_825, 1);
+ x_909 = x_825;
+} else {
+ lean_dec_ref(x_825);
+ x_909 = lean_box(0);
+}
+if (lean_is_scalar(x_909)) {
+ x_910 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_910 = x_909;
+}
+lean_ctor_set(x_910, 0, x_907);
+lean_ctor_set(x_910, 1, x_908);
+x_776 = x_910;
+goto block_804;
+}
+}
+else
+{
+lean_object* x_911; lean_object* x_912;
+lean_dec(x_806);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
-x_873 = !lean_is_exclusive(x_872);
-if (x_873 == 0)
-{
-lean_object* x_874;
-x_874 = lean_ctor_get(x_872, 0);
-lean_dec(x_874);
-lean_ctor_set_tag(x_872, 1);
-lean_ctor_set(x_872, 0, x_869);
-return x_872;
-}
-else
-{
-lean_object* x_875; lean_object* x_876;
-x_875 = lean_ctor_get(x_872, 1);
-lean_inc(x_875);
-lean_dec(x_872);
-x_876 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_876, 0, x_869);
-lean_ctor_set(x_876, 1, x_875);
-return x_876;
-}
-}
-}
-else
-{
-lean_object* x_877; lean_object* x_878; lean_object* x_879; lean_object* x_880; uint8_t x_881;
lean_dec(x_2);
lean_dec(x_1);
-x_877 = lean_ctor_get(x_695, 0);
-lean_inc(x_877);
-x_878 = lean_ctor_get(x_695, 1);
-lean_inc(x_878);
-lean_dec(x_695);
-x_879 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__4;
-x_880 = l___private_Lean_Util_Trace_4__addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__7(x_673, x_879, x_671, x_3, x_4, x_5, x_6, x_7, x_878);
-lean_dec(x_7);
+x_911 = lean_ctor_get(x_808, 0);
+lean_inc(x_911);
+x_912 = lean_ctor_get(x_808, 1);
+lean_inc(x_912);
+lean_dec(x_808);
+x_755 = x_911;
+x_756 = x_912;
+goto block_775;
+}
+}
+else
+{
+lean_object* x_913; lean_object* x_914;
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
-x_881 = !lean_is_exclusive(x_880);
-if (x_881 == 0)
-{
-lean_object* x_882;
-x_882 = lean_ctor_get(x_880, 0);
-lean_dec(x_882);
-lean_ctor_set_tag(x_880, 1);
-lean_ctor_set(x_880, 0, x_877);
-return x_880;
+lean_dec(x_2);
+lean_dec(x_1);
+x_913 = lean_ctor_get(x_805, 0);
+lean_inc(x_913);
+x_914 = lean_ctor_get(x_805, 1);
+lean_inc(x_914);
+lean_dec(x_805);
+x_755 = x_913;
+x_756 = x_914;
+goto block_775;
}
-else
+block_775:
{
-lean_object* x_883; lean_object* x_884;
-x_883 = lean_ctor_get(x_880, 1);
-lean_inc(x_883);
-lean_dec(x_880);
-x_884 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_884, 0, x_877);
-lean_ctor_set(x_884, 1, x_883);
-return x_884;
+lean_object* x_757; lean_object* x_758; lean_object* x_759; lean_object* x_760; lean_object* x_761; lean_object* x_762; lean_object* x_763; lean_object* x_764; lean_object* x_765; lean_object* x_766; lean_object* x_767; lean_object* x_768; lean_object* x_769; lean_object* x_770; lean_object* x_771; lean_object* x_772; lean_object* x_773; lean_object* x_774;
+x_757 = lean_st_ref_get(x_7, x_756);
+x_758 = lean_ctor_get(x_757, 1);
+lean_inc(x_758);
+lean_dec(x_757);
+x_759 = lean_st_ref_take(x_7, x_758);
+x_760 = lean_ctor_get(x_759, 0);
+lean_inc(x_760);
+x_761 = lean_ctor_get(x_760, 3);
+lean_inc(x_761);
+x_762 = lean_ctor_get(x_759, 1);
+lean_inc(x_762);
+lean_dec(x_759);
+x_763 = lean_ctor_get(x_760, 0);
+lean_inc(x_763);
+x_764 = lean_ctor_get(x_760, 1);
+lean_inc(x_764);
+x_765 = lean_ctor_get(x_760, 2);
+lean_inc(x_765);
+if (lean_is_exclusive(x_760)) {
+ lean_ctor_release(x_760, 0);
+ lean_ctor_release(x_760, 1);
+ lean_ctor_release(x_760, 2);
+ lean_ctor_release(x_760, 3);
+ x_766 = x_760;
+} else {
+ lean_dec_ref(x_760);
+ x_766 = lean_box(0);
}
+x_767 = lean_ctor_get(x_761, 0);
+lean_inc(x_767);
+if (lean_is_exclusive(x_761)) {
+ lean_ctor_release(x_761, 0);
+ x_768 = x_761;
+} else {
+ lean_dec_ref(x_761);
+ x_768 = lean_box(0);
}
-block_685:
-{
-lean_object* x_677; lean_object* x_678; uint8_t x_679;
-x_677 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__4;
-x_678 = l___private_Lean_Util_Trace_4__addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__7(x_673, x_677, x_671, x_3, x_4, x_5, x_6, x_7, x_676);
+if (lean_is_scalar(x_768)) {
+ x_769 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_769 = x_768;
+}
+lean_ctor_set(x_769, 0, x_767);
+lean_ctor_set_uint8(x_769, sizeof(void*)*1, x_281);
+if (lean_is_scalar(x_766)) {
+ x_770 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_770 = x_766;
+}
+lean_ctor_set(x_770, 0, x_763);
+lean_ctor_set(x_770, 1, x_764);
+lean_ctor_set(x_770, 2, x_765);
+lean_ctor_set(x_770, 3, x_769);
+x_771 = lean_st_ref_set(x_7, x_770, x_762);
lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_679 = !lean_is_exclusive(x_678);
-if (x_679 == 0)
-{
-lean_object* x_680; lean_object* x_681;
-x_680 = lean_ctor_get(x_678, 0);
-lean_dec(x_680);
-x_681 = lean_box(x_675);
-lean_ctor_set(x_678, 0, x_681);
-return x_678;
+x_772 = lean_ctor_get(x_771, 1);
+lean_inc(x_772);
+if (lean_is_exclusive(x_771)) {
+ lean_ctor_release(x_771, 0);
+ lean_ctor_release(x_771, 1);
+ x_773 = x_771;
+} else {
+ lean_dec_ref(x_771);
+ x_773 = lean_box(0);
}
-else
-{
-lean_object* x_682; lean_object* x_683; lean_object* x_684;
-x_682 = lean_ctor_get(x_678, 1);
-lean_inc(x_682);
-lean_dec(x_678);
-x_683 = lean_box(x_675);
-x_684 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_684, 0, x_683);
-lean_ctor_set(x_684, 1, x_682);
-return x_684;
+if (lean_is_scalar(x_773)) {
+ x_774 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_774 = x_773;
+ lean_ctor_set_tag(x_774, 1);
}
+lean_ctor_set(x_774, 0, x_755);
+lean_ctor_set(x_774, 1, x_772);
+x_9 = x_774;
+goto block_21;
}
-block_694:
+block_804:
{
-lean_object* x_688; lean_object* x_689; uint8_t x_690;
-x_688 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__4;
-x_689 = l___private_Lean_Util_Trace_4__addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__7(x_673, x_688, x_671, x_3, x_4, x_5, x_6, x_7, x_687);
+if (lean_obj_tag(x_776) == 0)
+{
+lean_object* x_777; lean_object* x_778; lean_object* x_779; lean_object* x_780; lean_object* x_781; lean_object* x_782; uint8_t x_783; lean_object* x_784; lean_object* x_785; lean_object* x_786; lean_object* x_787; lean_object* x_788; lean_object* x_789; lean_object* x_790; lean_object* x_791; lean_object* x_792; lean_object* x_793; lean_object* x_794; lean_object* x_795; lean_object* x_796; lean_object* x_797; lean_object* x_798; lean_object* x_799; lean_object* x_800; lean_object* x_801;
+x_777 = lean_ctor_get(x_776, 0);
+lean_inc(x_777);
+x_778 = lean_ctor_get(x_776, 1);
+lean_inc(x_778);
+lean_dec(x_776);
+x_779 = lean_st_ref_get(x_7, x_778);
+x_780 = lean_ctor_get(x_779, 0);
+lean_inc(x_780);
+x_781 = lean_ctor_get(x_779, 1);
+lean_inc(x_781);
+lean_dec(x_779);
+x_782 = lean_ctor_get(x_780, 3);
+lean_inc(x_782);
+lean_dec(x_780);
+x_783 = lean_ctor_get_uint8(x_782, sizeof(void*)*1);
+lean_dec(x_782);
+x_784 = lean_st_ref_take(x_7, x_781);
+x_785 = lean_ctor_get(x_784, 0);
+lean_inc(x_785);
+x_786 = lean_ctor_get(x_785, 3);
+lean_inc(x_786);
+x_787 = lean_ctor_get(x_784, 1);
+lean_inc(x_787);
+lean_dec(x_784);
+x_788 = lean_ctor_get(x_785, 0);
+lean_inc(x_788);
+x_789 = lean_ctor_get(x_785, 1);
+lean_inc(x_789);
+x_790 = lean_ctor_get(x_785, 2);
+lean_inc(x_790);
+if (lean_is_exclusive(x_785)) {
+ lean_ctor_release(x_785, 0);
+ lean_ctor_release(x_785, 1);
+ lean_ctor_release(x_785, 2);
+ lean_ctor_release(x_785, 3);
+ x_791 = x_785;
+} else {
+ lean_dec_ref(x_785);
+ x_791 = lean_box(0);
+}
+x_792 = lean_ctor_get(x_786, 0);
+lean_inc(x_792);
+if (lean_is_exclusive(x_786)) {
+ lean_ctor_release(x_786, 0);
+ x_793 = x_786;
+} else {
+ lean_dec_ref(x_786);
+ x_793 = lean_box(0);
+}
+if (lean_is_scalar(x_793)) {
+ x_794 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_794 = x_793;
+}
+lean_ctor_set(x_794, 0, x_792);
+lean_ctor_set_uint8(x_794, sizeof(void*)*1, x_281);
+if (lean_is_scalar(x_791)) {
+ x_795 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_795 = x_791;
+}
+lean_ctor_set(x_795, 0, x_788);
+lean_ctor_set(x_795, 1, x_789);
+lean_ctor_set(x_795, 2, x_790);
+lean_ctor_set(x_795, 3, x_794);
+x_796 = lean_st_ref_set(x_7, x_795, x_787);
lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_690 = !lean_is_exclusive(x_689);
-if (x_690 == 0)
-{
-lean_object* x_691;
-x_691 = lean_ctor_get(x_689, 0);
-lean_dec(x_691);
-lean_ctor_set_tag(x_689, 1);
-lean_ctor_set(x_689, 0, x_686);
-return x_689;
+x_797 = lean_ctor_get(x_796, 1);
+lean_inc(x_797);
+if (lean_is_exclusive(x_796)) {
+ lean_ctor_release(x_796, 0);
+ lean_ctor_release(x_796, 1);
+ x_798 = x_796;
+} else {
+ lean_dec_ref(x_796);
+ x_798 = lean_box(0);
+}
+x_799 = lean_box(x_783);
+x_800 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_800, 0, x_777);
+lean_ctor_set(x_800, 1, x_799);
+if (lean_is_scalar(x_798)) {
+ x_801 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_801 = x_798;
+}
+lean_ctor_set(x_801, 0, x_800);
+lean_ctor_set(x_801, 1, x_797);
+x_9 = x_801;
+goto block_21;
}
else
{
-lean_object* x_692; lean_object* x_693;
-x_692 = lean_ctor_get(x_689, 1);
-lean_inc(x_692);
-lean_dec(x_689);
-x_693 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_693, 0, x_686);
-lean_ctor_set(x_693, 1, x_692);
-return x_693;
+lean_object* x_802; lean_object* x_803;
+x_802 = lean_ctor_get(x_776, 0);
+lean_inc(x_802);
+x_803 = lean_ctor_get(x_776, 1);
+lean_inc(x_803);
+lean_dec(x_776);
+x_755 = x_802;
+x_756 = x_803;
+goto block_775;
+}
+}
}
}
}
@@ -10482,7 +10734,7 @@ _start:
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Core_Lean_MonadTrace;
x_2 = l_Lean_MonadCacheT_Lean_Util_MonadCache___instance__4___closed__1;
-x_3 = l_Lean_monadTraceTrans___rarg(x_1, x_2);
+x_3 = l_Lean_Lean_Util_Trace___instance__3___rarg(x_1, x_2);
return x_3;
}
}
@@ -10492,7 +10744,7 @@ _start:
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Meta_CheckAssignment_checkFVar___closed__4;
x_2 = l_ReaderT_MonadLift___closed__1;
-x_3 = l_Lean_monadTraceTrans___rarg(x_1, x_2);
+x_3 = l_Lean_Lean_Util_Trace___instance__3___rarg(x_1, x_2);
return x_3;
}
}
@@ -10502,7 +10754,7 @@ _start:
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Meta_CheckAssignment_checkFVar___closed__5;
x_2 = l_Lean_MonadCacheT_Lean_Util_MonadCache___instance__4___closed__1;
-x_3 = l_Lean_monadTraceTrans___rarg(x_1, x_2);
+x_3 = l_Lean_Lean_Util_Trace___instance__3___rarg(x_1, x_2);
return x_3;
}
}
@@ -10512,7 +10764,7 @@ _start:
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Meta_CheckAssignment_checkFVar___closed__6;
x_2 = l_Lean_MonadCacheT_Lean_Util_MonadCache___instance__4___closed__1;
-x_3 = l_Lean_monadTraceTrans___rarg(x_1, x_2);
+x_3 = l_Lean_Lean_Util_Trace___instance__3___rarg(x_1, x_2);
return x_3;
}
}
@@ -10522,7 +10774,7 @@ _start:
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Meta_CheckAssignment_checkFVar___closed__7;
x_2 = l_ReaderT_MonadLift___closed__1;
-x_3 = l_Lean_monadTraceTrans___rarg(x_1, x_2);
+x_3 = l_Lean_Lean_Util_Trace___instance__3___rarg(x_1, x_2);
return x_3;
}
}
@@ -10755,45 +11007,38 @@ x_18 = l_Array_contains___rarg(x_17, x_16, x_2);
lean_dec(x_16);
if (x_18 == 0)
{
-lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; uint8_t x_23;
+lean_object* x_19; uint8_t x_20; lean_object* x_21; lean_object* x_40; lean_object* x_41; lean_object* x_42; uint8_t x_43;
x_19 = lean_alloc_ctor(2, 1, 0);
lean_ctor_set(x_19, 0, x_2);
-x_20 = lean_st_ref_get(x_9, x_10);
-x_21 = lean_ctor_get(x_20, 0);
-lean_inc(x_21);
-x_22 = lean_ctor_get(x_21, 3);
-lean_inc(x_22);
-lean_dec(x_21);
-x_23 = lean_ctor_get_uint8(x_22, sizeof(void*)*1);
-lean_dec(x_22);
-if (x_23 == 0)
+x_40 = lean_st_ref_get(x_9, x_10);
+x_41 = lean_ctor_get(x_40, 0);
+lean_inc(x_41);
+x_42 = lean_ctor_get(x_41, 3);
+lean_inc(x_42);
+lean_dec(x_41);
+x_43 = lean_ctor_get_uint8(x_42, sizeof(void*)*1);
+lean_dec(x_42);
+if (x_43 == 0)
{
-lean_object* x_24; lean_object* x_25;
-lean_dec(x_19);
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_24 = lean_ctor_get(x_20, 1);
-lean_inc(x_24);
-lean_dec(x_20);
-x_25 = l_Lean_Meta_CheckAssignment_throwOutOfScopeFVar___rarg(x_24);
-return x_25;
+lean_object* x_44; uint8_t x_45;
+x_44 = lean_ctor_get(x_40, 1);
+lean_inc(x_44);
+lean_dec(x_40);
+x_45 = 0;
+x_20 = x_45;
+x_21 = x_44;
+goto block_39;
}
else
{
-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;
-x_26 = lean_ctor_get(x_20, 1);
-lean_inc(x_26);
-lean_dec(x_20);
-x_27 = l_Lean_Meta_CheckAssignment_checkFVar___closed__3;
-x_28 = l_Lean_Meta_CheckAssignment_checkFVar___closed__8;
-x_29 = l_Lean_Meta_CheckAssignment_checkFVar___closed__24;
-x_30 = l_Lean_Meta_CheckAssignment_checkFVar___closed__26;
-x_31 = l___private_Lean_Util_Trace_3__checkTraceOptionM___rarg(x_27, x_28, x_29, x_30);
+lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51;
+x_46 = lean_ctor_get(x_40, 1);
+lean_inc(x_46);
+lean_dec(x_40);
+x_47 = l_Lean_Meta_CheckAssignment_checkFVar___closed__3;
+x_48 = l_Lean_Meta_CheckAssignment_checkFVar___closed__24;
+x_49 = l_Lean_Meta_CheckAssignment_checkFVar___closed__26;
+x_50 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___rarg(x_47, x_48, x_49);
lean_inc(x_9);
lean_inc(x_8);
lean_inc(x_7);
@@ -10801,116 +11046,122 @@ lean_inc(x_6);
lean_inc(x_5);
lean_inc(x_4);
lean_inc(x_3);
-x_32 = lean_apply_8(x_31, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_26);
+x_51 = lean_apply_8(x_50, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_46);
+if (lean_obj_tag(x_51) == 0)
+{
+lean_object* x_52; lean_object* x_53; uint8_t x_54;
+x_52 = lean_ctor_get(x_51, 0);
+lean_inc(x_52);
+x_53 = lean_ctor_get(x_51, 1);
+lean_inc(x_53);
+lean_dec(x_51);
+x_54 = lean_unbox(x_52);
+lean_dec(x_52);
+x_20 = x_54;
+x_21 = x_53;
+goto block_39;
+}
+else
+{
+uint8_t x_55;
+lean_dec(x_19);
+lean_dec(x_9);
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_55 = !lean_is_exclusive(x_51);
+if (x_55 == 0)
+{
+return x_51;
+}
+else
+{
+lean_object* x_56; lean_object* x_57; lean_object* x_58;
+x_56 = lean_ctor_get(x_51, 0);
+x_57 = lean_ctor_get(x_51, 1);
+lean_inc(x_57);
+lean_inc(x_56);
+lean_dec(x_51);
+x_58 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_58, 0, x_56);
+lean_ctor_set(x_58, 1, x_57);
+return x_58;
+}
+}
+}
+block_39:
+{
+if (x_20 == 0)
+{
+lean_object* x_22;
+lean_dec(x_19);
+lean_dec(x_9);
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_22 = l_Lean_Meta_CheckAssignment_throwOutOfScopeFVar___rarg(x_21);
+return x_22;
+}
+else
+{
+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_inc(x_3);
+x_23 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_CheckAssignment_addAssignmentInfo(x_19, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_21);
+x_24 = lean_ctor_get(x_23, 0);
+lean_inc(x_24);
+x_25 = lean_ctor_get(x_23, 1);
+lean_inc(x_25);
+lean_dec(x_23);
+x_26 = l_Lean_Meta_CheckAssignment_checkFVar___closed__3;
+x_27 = l_Lean_Meta_CheckAssignment_checkFVar___closed__8;
+x_28 = l_Lean_Meta_CheckAssignment_checkFVar___closed__16;
+x_29 = l_Lean_Meta_CheckAssignment_checkFVar___closed__19;
+x_30 = l_Lean_Meta_CheckAssignment_checkFVar___closed__26;
+x_31 = l_Lean_addTrace___rarg(x_26, x_27, x_28, x_29, x_30, x_24);
+x_32 = lean_apply_8(x_31, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_25);
if (lean_obj_tag(x_32) == 0)
{
-lean_object* x_33; uint8_t x_34;
-x_33 = lean_ctor_get(x_32, 0);
+lean_object* x_33; lean_object* x_34;
+x_33 = lean_ctor_get(x_32, 1);
lean_inc(x_33);
-x_34 = lean_unbox(x_33);
-lean_dec(x_33);
-if (x_34 == 0)
-{
-lean_object* x_35; lean_object* x_36;
-lean_dec(x_19);
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_35 = lean_ctor_get(x_32, 1);
-lean_inc(x_35);
lean_dec(x_32);
-x_36 = l_Lean_Meta_CheckAssignment_throwOutOfScopeFVar___rarg(x_35);
-return x_36;
+x_34 = l_Lean_Meta_CheckAssignment_throwOutOfScopeFVar___rarg(x_33);
+return x_34;
}
else
{
-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;
-x_37 = lean_ctor_get(x_32, 1);
-lean_inc(x_37);
-lean_dec(x_32);
-lean_inc(x_3);
-x_38 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_CheckAssignment_addAssignmentInfo(x_19, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_37);
-x_39 = lean_ctor_get(x_38, 0);
-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_CheckAssignment_checkFVar___closed__16;
-x_42 = l_Lean_Meta_CheckAssignment_checkFVar___closed__19;
-x_43 = l_Lean_addTrace___rarg(x_27, x_28, x_41, x_42, x_29, x_30, x_39);
-x_44 = lean_apply_8(x_43, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_40);
-if (lean_obj_tag(x_44) == 0)
-{
-lean_object* x_45; lean_object* x_46;
-x_45 = lean_ctor_get(x_44, 1);
-lean_inc(x_45);
-lean_dec(x_44);
-x_46 = l_Lean_Meta_CheckAssignment_throwOutOfScopeFVar___rarg(x_45);
-return x_46;
-}
-else
-{
-uint8_t x_47;
-x_47 = !lean_is_exclusive(x_44);
-if (x_47 == 0)
-{
-return x_44;
-}
-else
-{
-lean_object* x_48; lean_object* x_49; lean_object* x_50;
-x_48 = lean_ctor_get(x_44, 0);
-x_49 = lean_ctor_get(x_44, 1);
-lean_inc(x_49);
-lean_inc(x_48);
-lean_dec(x_44);
-x_50 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_50, 0, x_48);
-lean_ctor_set(x_50, 1, x_49);
-return x_50;
-}
-}
-}
-}
-else
-{
-uint8_t x_51;
-lean_dec(x_19);
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_51 = !lean_is_exclusive(x_32);
-if (x_51 == 0)
+uint8_t x_35;
+x_35 = !lean_is_exclusive(x_32);
+if (x_35 == 0)
{
return x_32;
}
else
{
-lean_object* x_52; lean_object* x_53; lean_object* x_54;
-x_52 = lean_ctor_get(x_32, 0);
-x_53 = lean_ctor_get(x_32, 1);
-lean_inc(x_53);
-lean_inc(x_52);
+lean_object* x_36; lean_object* x_37; lean_object* x_38;
+x_36 = lean_ctor_get(x_32, 0);
+x_37 = lean_ctor_get(x_32, 1);
+lean_inc(x_37);
+lean_inc(x_36);
lean_dec(x_32);
-x_54 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_54, 0, x_52);
-lean_ctor_set(x_54, 1, x_53);
-return x_54;
+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_55;
+lean_object* x_59;
lean_dec(x_9);
lean_dec(x_8);
lean_dec(x_7);
@@ -10918,70 +11169,63 @@ lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
-x_55 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_55, 0, x_2);
-lean_ctor_set(x_55, 1, x_10);
-return x_55;
+x_59 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_59, 0, x_2);
+lean_ctor_set(x_59, 1, x_10);
+return x_59;
}
}
else
{
-lean_object* x_56;
-x_56 = lean_ctor_get(x_15, 0);
-lean_inc(x_56);
+lean_object* x_60;
+x_60 = lean_ctor_get(x_15, 0);
+lean_inc(x_60);
lean_dec(x_15);
-if (lean_obj_tag(x_56) == 0)
+if (lean_obj_tag(x_60) == 0)
{
-lean_object* x_57; lean_object* x_58; uint8_t x_59;
-lean_dec(x_56);
-lean_dec(x_1);
-x_57 = lean_ctor_get(x_3, 2);
-lean_inc(x_57);
-x_58 = l_Lean_Expr_Lean_Expr___instance__3;
-lean_inc(x_2);
-x_59 = l_Array_contains___rarg(x_58, x_57, x_2);
-lean_dec(x_57);
-if (x_59 == 0)
-{
-lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; uint8_t x_64;
-x_60 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_60, 0, x_2);
-x_61 = lean_st_ref_get(x_9, x_10);
-x_62 = lean_ctor_get(x_61, 0);
-lean_inc(x_62);
-x_63 = lean_ctor_get(x_62, 3);
-lean_inc(x_63);
-lean_dec(x_62);
-x_64 = lean_ctor_get_uint8(x_63, sizeof(void*)*1);
-lean_dec(x_63);
-if (x_64 == 0)
-{
-lean_object* x_65; lean_object* x_66;
+lean_object* x_61; lean_object* x_62; uint8_t x_63;
lean_dec(x_60);
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_65 = lean_ctor_get(x_61, 1);
-lean_inc(x_65);
+lean_dec(x_1);
+x_61 = lean_ctor_get(x_3, 2);
+lean_inc(x_61);
+x_62 = l_Lean_Expr_Lean_Expr___instance__3;
+lean_inc(x_2);
+x_63 = l_Array_contains___rarg(x_62, x_61, x_2);
lean_dec(x_61);
-x_66 = l_Lean_Meta_CheckAssignment_throwOutOfScopeFVar___rarg(x_65);
-return x_66;
+if (x_63 == 0)
+{
+lean_object* x_64; uint8_t x_65; lean_object* x_66; lean_object* x_85; lean_object* x_86; lean_object* x_87; uint8_t x_88;
+x_64 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_64, 0, x_2);
+x_85 = lean_st_ref_get(x_9, x_10);
+x_86 = lean_ctor_get(x_85, 0);
+lean_inc(x_86);
+x_87 = lean_ctor_get(x_86, 3);
+lean_inc(x_87);
+lean_dec(x_86);
+x_88 = lean_ctor_get_uint8(x_87, sizeof(void*)*1);
+lean_dec(x_87);
+if (x_88 == 0)
+{
+lean_object* x_89; uint8_t x_90;
+x_89 = lean_ctor_get(x_85, 1);
+lean_inc(x_89);
+lean_dec(x_85);
+x_90 = 0;
+x_65 = x_90;
+x_66 = x_89;
+goto block_84;
}
else
{
-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;
-x_67 = lean_ctor_get(x_61, 1);
-lean_inc(x_67);
-lean_dec(x_61);
-x_68 = l_Lean_Meta_CheckAssignment_checkFVar___closed__3;
-x_69 = l_Lean_Meta_CheckAssignment_checkFVar___closed__8;
-x_70 = l_Lean_Meta_CheckAssignment_checkFVar___closed__24;
-x_71 = l_Lean_Meta_CheckAssignment_checkFVar___closed__26;
-x_72 = l___private_Lean_Util_Trace_3__checkTraceOptionM___rarg(x_68, x_69, x_70, x_71);
+lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96;
+x_91 = lean_ctor_get(x_85, 1);
+lean_inc(x_91);
+lean_dec(x_85);
+x_92 = l_Lean_Meta_CheckAssignment_checkFVar___closed__3;
+x_93 = l_Lean_Meta_CheckAssignment_checkFVar___closed__24;
+x_94 = l_Lean_Meta_CheckAssignment_checkFVar___closed__26;
+x_95 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___rarg(x_92, x_93, x_94);
lean_inc(x_9);
lean_inc(x_8);
lean_inc(x_7);
@@ -10989,18 +11233,25 @@ lean_inc(x_6);
lean_inc(x_5);
lean_inc(x_4);
lean_inc(x_3);
-x_73 = lean_apply_8(x_72, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_67);
-if (lean_obj_tag(x_73) == 0)
+x_96 = lean_apply_8(x_95, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_91);
+if (lean_obj_tag(x_96) == 0)
{
-lean_object* x_74; uint8_t x_75;
-x_74 = lean_ctor_get(x_73, 0);
-lean_inc(x_74);
-x_75 = lean_unbox(x_74);
-lean_dec(x_74);
-if (x_75 == 0)
+lean_object* x_97; lean_object* x_98; uint8_t x_99;
+x_97 = lean_ctor_get(x_96, 0);
+lean_inc(x_97);
+x_98 = lean_ctor_get(x_96, 1);
+lean_inc(x_98);
+lean_dec(x_96);
+x_99 = lean_unbox(x_97);
+lean_dec(x_97);
+x_65 = x_99;
+x_66 = x_98;
+goto block_84;
+}
+else
{
-lean_object* x_76; lean_object* x_77;
-lean_dec(x_60);
+uint8_t x_100;
+lean_dec(x_64);
lean_dec(x_9);
lean_dec(x_8);
lean_dec(x_7);
@@ -11008,66 +11259,96 @@ lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
-x_76 = lean_ctor_get(x_73, 1);
-lean_inc(x_76);
-lean_dec(x_73);
-x_77 = l_Lean_Meta_CheckAssignment_throwOutOfScopeFVar___rarg(x_76);
+x_100 = !lean_is_exclusive(x_96);
+if (x_100 == 0)
+{
+return x_96;
+}
+else
+{
+lean_object* x_101; lean_object* x_102; lean_object* x_103;
+x_101 = lean_ctor_get(x_96, 0);
+x_102 = lean_ctor_get(x_96, 1);
+lean_inc(x_102);
+lean_inc(x_101);
+lean_dec(x_96);
+x_103 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_103, 0, x_101);
+lean_ctor_set(x_103, 1, x_102);
+return x_103;
+}
+}
+}
+block_84:
+{
+if (x_65 == 0)
+{
+lean_object* x_67;
+lean_dec(x_64);
+lean_dec(x_9);
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_67 = l_Lean_Meta_CheckAssignment_throwOutOfScopeFVar___rarg(x_66);
+return x_67;
+}
+else
+{
+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;
+lean_inc(x_3);
+x_68 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_CheckAssignment_addAssignmentInfo(x_64, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_66);
+x_69 = lean_ctor_get(x_68, 0);
+lean_inc(x_69);
+x_70 = lean_ctor_get(x_68, 1);
+lean_inc(x_70);
+lean_dec(x_68);
+x_71 = l_Lean_Meta_CheckAssignment_checkFVar___closed__3;
+x_72 = l_Lean_Meta_CheckAssignment_checkFVar___closed__8;
+x_73 = l_Lean_Meta_CheckAssignment_checkFVar___closed__16;
+x_74 = l_Lean_Meta_CheckAssignment_checkFVar___closed__19;
+x_75 = l_Lean_Meta_CheckAssignment_checkFVar___closed__26;
+x_76 = l_Lean_addTrace___rarg(x_71, x_72, x_73, x_74, x_75, x_69);
+x_77 = lean_apply_8(x_76, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_70);
+if (lean_obj_tag(x_77) == 0)
+{
+lean_object* x_78; lean_object* x_79;
+x_78 = lean_ctor_get(x_77, 1);
+lean_inc(x_78);
+lean_dec(x_77);
+x_79 = l_Lean_Meta_CheckAssignment_throwOutOfScopeFVar___rarg(x_78);
+return x_79;
+}
+else
+{
+uint8_t x_80;
+x_80 = !lean_is_exclusive(x_77);
+if (x_80 == 0)
+{
return x_77;
}
else
{
-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;
-x_78 = lean_ctor_get(x_73, 1);
-lean_inc(x_78);
-lean_dec(x_73);
-lean_inc(x_3);
-x_79 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_CheckAssignment_addAssignmentInfo(x_60, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_78);
-x_80 = lean_ctor_get(x_79, 0);
-lean_inc(x_80);
-x_81 = lean_ctor_get(x_79, 1);
+lean_object* x_81; lean_object* x_82; lean_object* x_83;
+x_81 = lean_ctor_get(x_77, 0);
+x_82 = lean_ctor_get(x_77, 1);
+lean_inc(x_82);
lean_inc(x_81);
-lean_dec(x_79);
-x_82 = l_Lean_Meta_CheckAssignment_checkFVar___closed__16;
-x_83 = l_Lean_Meta_CheckAssignment_checkFVar___closed__19;
-x_84 = l_Lean_addTrace___rarg(x_68, x_69, x_82, x_83, x_70, x_71, x_80);
-x_85 = lean_apply_8(x_84, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_81);
-if (lean_obj_tag(x_85) == 0)
-{
-lean_object* x_86; lean_object* x_87;
-x_86 = lean_ctor_get(x_85, 1);
-lean_inc(x_86);
-lean_dec(x_85);
-x_87 = l_Lean_Meta_CheckAssignment_throwOutOfScopeFVar___rarg(x_86);
-return x_87;
+lean_dec(x_77);
+x_83 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_83, 0, x_81);
+lean_ctor_set(x_83, 1, x_82);
+return x_83;
}
-else
-{
-uint8_t x_88;
-x_88 = !lean_is_exclusive(x_85);
-if (x_88 == 0)
-{
-return x_85;
-}
-else
-{
-lean_object* x_89; lean_object* x_90; lean_object* x_91;
-x_89 = lean_ctor_get(x_85, 0);
-x_90 = lean_ctor_get(x_85, 1);
-lean_inc(x_90);
-lean_inc(x_89);
-lean_dec(x_85);
-x_91 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_91, 0, x_89);
-lean_ctor_set(x_91, 1, x_90);
-return x_91;
}
}
}
}
else
{
-uint8_t x_92;
-lean_dec(x_60);
+lean_object* x_104;
lean_dec(x_9);
lean_dec(x_8);
lean_dec(x_7);
@@ -11075,91 +11356,60 @@ lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
-x_92 = !lean_is_exclusive(x_73);
-if (x_92 == 0)
-{
-return x_73;
-}
-else
-{
-lean_object* x_93; lean_object* x_94; lean_object* x_95;
-x_93 = lean_ctor_get(x_73, 0);
-x_94 = lean_ctor_get(x_73, 1);
-lean_inc(x_94);
-lean_inc(x_93);
-lean_dec(x_73);
-x_95 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_95, 0, x_93);
-lean_ctor_set(x_95, 1, x_94);
-return x_95;
-}
-}
+x_104 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_104, 0, x_2);
+lean_ctor_set(x_104, 1, x_10);
+return x_104;
}
}
else
{
-lean_object* x_96;
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_96 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_96, 0, x_2);
-lean_ctor_set(x_96, 1, x_10);
-return x_96;
-}
-}
-else
-{
-lean_object* x_97; uint8_t x_98; uint8_t x_122;
+lean_object* x_105; uint8_t x_106; uint8_t x_130;
lean_dec(x_2);
-x_97 = lean_ctor_get(x_56, 4);
-lean_inc(x_97);
-lean_dec(x_56);
-x_122 = l_Lean_Expr_hasExprMVar(x_97);
-if (x_122 == 0)
+x_105 = lean_ctor_get(x_60, 4);
+lean_inc(x_105);
+lean_dec(x_60);
+x_130 = l_Lean_Expr_hasExprMVar(x_105);
+if (x_130 == 0)
{
-uint8_t x_123;
-x_123 = l_Lean_Expr_hasFVar(x_97);
-if (x_123 == 0)
+uint8_t x_131;
+x_131 = l_Lean_Expr_hasFVar(x_105);
+if (x_131 == 0)
{
-uint8_t x_124;
-x_124 = 1;
-x_98 = x_124;
-goto block_121;
+uint8_t x_132;
+x_132 = 1;
+x_106 = x_132;
+goto block_129;
}
else
{
-uint8_t x_125;
-x_125 = 0;
-x_98 = x_125;
-goto block_121;
+uint8_t x_133;
+x_133 = 0;
+x_106 = x_133;
+goto block_129;
}
}
else
{
-uint8_t x_126;
-x_126 = 0;
-x_98 = x_126;
-goto block_121;
+uint8_t x_134;
+x_134 = 0;
+x_106 = x_134;
+goto block_129;
}
-block_121:
+block_129:
{
-if (x_98 == 0)
+if (x_106 == 0)
{
-lean_object* x_99; lean_object* x_100;
-x_99 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_CheckAssignment_findCached_x3f(x_97, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
-x_100 = lean_ctor_get(x_99, 0);
-lean_inc(x_100);
-if (lean_obj_tag(x_100) == 0)
+lean_object* x_107; lean_object* x_108;
+x_107 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_CheckAssignment_findCached_x3f(x_105, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
+x_108 = lean_ctor_get(x_107, 0);
+lean_inc(x_108);
+if (lean_obj_tag(x_108) == 0)
{
-lean_object* x_101; lean_object* x_102;
-x_101 = lean_ctor_get(x_99, 1);
-lean_inc(x_101);
-lean_dec(x_99);
+lean_object* x_109; lean_object* x_110;
+x_109 = lean_ctor_get(x_107, 1);
+lean_inc(x_109);
+lean_dec(x_107);
lean_inc(x_9);
lean_inc(x_8);
lean_inc(x_7);
@@ -11167,81 +11417,18 @@ lean_inc(x_6);
lean_inc(x_5);
lean_inc(x_4);
lean_inc(x_3);
-lean_inc(x_97);
-x_102 = lean_apply_9(x_1, x_97, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_101);
-if (lean_obj_tag(x_102) == 0)
+lean_inc(x_105);
+x_110 = lean_apply_9(x_1, x_105, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_109);
+if (lean_obj_tag(x_110) == 0)
{
-lean_object* x_103; lean_object* x_104; lean_object* x_105; uint8_t x_106;
-x_103 = lean_ctor_get(x_102, 0);
-lean_inc(x_103);
-x_104 = lean_ctor_get(x_102, 1);
-lean_inc(x_104);
-lean_dec(x_102);
-lean_inc(x_103);
-x_105 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_CheckAssignment_cache(x_97, x_103, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_104);
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_106 = !lean_is_exclusive(x_105);
-if (x_106 == 0)
-{
-lean_object* x_107;
-x_107 = lean_ctor_get(x_105, 0);
-lean_dec(x_107);
-lean_ctor_set(x_105, 0, x_103);
-return x_105;
-}
-else
-{
-lean_object* x_108; lean_object* x_109;
-x_108 = lean_ctor_get(x_105, 1);
-lean_inc(x_108);
-lean_dec(x_105);
-x_109 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_109, 0, x_103);
-lean_ctor_set(x_109, 1, x_108);
-return x_109;
-}
-}
-else
-{
-uint8_t x_110;
-lean_dec(x_97);
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_110 = !lean_is_exclusive(x_102);
-if (x_110 == 0)
-{
-return x_102;
-}
-else
-{
-lean_object* x_111; lean_object* x_112; lean_object* x_113;
-x_111 = lean_ctor_get(x_102, 0);
-x_112 = lean_ctor_get(x_102, 1);
-lean_inc(x_112);
+lean_object* x_111; lean_object* x_112; lean_object* x_113; uint8_t x_114;
+x_111 = lean_ctor_get(x_110, 0);
lean_inc(x_111);
-lean_dec(x_102);
-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;
-}
-}
-}
-else
-{
-uint8_t x_114;
-lean_dec(x_97);
+x_112 = lean_ctor_get(x_110, 1);
+lean_inc(x_112);
+lean_dec(x_110);
+lean_inc(x_111);
+x_113 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_CheckAssignment_cache(x_105, x_111, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_112);
lean_dec(x_9);
lean_dec(x_8);
lean_dec(x_7);
@@ -11249,38 +11436,62 @@ lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
-lean_dec(x_1);
-x_114 = !lean_is_exclusive(x_99);
+x_114 = !lean_is_exclusive(x_113);
if (x_114 == 0)
{
-lean_object* x_115; lean_object* x_116;
-x_115 = lean_ctor_get(x_99, 0);
+lean_object* x_115;
+x_115 = lean_ctor_get(x_113, 0);
lean_dec(x_115);
-x_116 = lean_ctor_get(x_100, 0);
+lean_ctor_set(x_113, 0, x_111);
+return x_113;
+}
+else
+{
+lean_object* x_116; lean_object* x_117;
+x_116 = lean_ctor_get(x_113, 1);
lean_inc(x_116);
-lean_dec(x_100);
-lean_ctor_set(x_99, 0, x_116);
-return x_99;
+lean_dec(x_113);
+x_117 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_117, 0, x_111);
+lean_ctor_set(x_117, 1, x_116);
+return x_117;
+}
}
else
{
-lean_object* x_117; lean_object* x_118; lean_object* x_119;
-x_117 = lean_ctor_get(x_99, 1);
-lean_inc(x_117);
-lean_dec(x_99);
-x_118 = lean_ctor_get(x_100, 0);
-lean_inc(x_118);
-lean_dec(x_100);
-x_119 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_119, 0, x_118);
-lean_ctor_set(x_119, 1, x_117);
-return x_119;
+uint8_t x_118;
+lean_dec(x_105);
+lean_dec(x_9);
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_118 = !lean_is_exclusive(x_110);
+if (x_118 == 0)
+{
+return x_110;
+}
+else
+{
+lean_object* x_119; lean_object* x_120; lean_object* x_121;
+x_119 = lean_ctor_get(x_110, 0);
+x_120 = lean_ctor_get(x_110, 1);
+lean_inc(x_120);
+lean_inc(x_119);
+lean_dec(x_110);
+x_121 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_121, 0, x_119);
+lean_ctor_set(x_121, 1, x_120);
+return x_121;
}
}
}
else
{
-lean_object* x_120;
+uint8_t x_122;
+lean_dec(x_105);
lean_dec(x_9);
lean_dec(x_8);
lean_dec(x_7);
@@ -11289,33 +11500,72 @@ lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_1);
-x_120 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_120, 0, x_97);
-lean_ctor_set(x_120, 1, x_10);
-return x_120;
-}
-}
-}
-}
+x_122 = !lean_is_exclusive(x_107);
+if (x_122 == 0)
+{
+lean_object* x_123; lean_object* x_124;
+x_123 = lean_ctor_get(x_107, 0);
+lean_dec(x_123);
+x_124 = lean_ctor_get(x_108, 0);
+lean_inc(x_124);
+lean_dec(x_108);
+lean_ctor_set(x_107, 0, x_124);
+return x_107;
}
else
{
-lean_object* x_127;
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_1);
+lean_object* x_125; lean_object* x_126; lean_object* x_127;
+x_125 = lean_ctor_get(x_107, 1);
+lean_inc(x_125);
+lean_dec(x_107);
+x_126 = lean_ctor_get(x_108, 0);
+lean_inc(x_126);
+lean_dec(x_108);
x_127 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_127, 0, x_2);
-lean_ctor_set(x_127, 1, x_10);
+lean_ctor_set(x_127, 0, x_126);
+lean_ctor_set(x_127, 1, x_125);
return x_127;
}
}
}
+else
+{
+lean_object* x_128;
+lean_dec(x_9);
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_1);
+x_128 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_128, 0, x_105);
+lean_ctor_set(x_128, 1, x_10);
+return x_128;
+}
+}
+}
+}
+}
+else
+{
+lean_object* x_135;
+lean_dec(x_9);
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_1);
+x_135 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_135, 0, x_2);
+lean_ctor_set(x_135, 1, x_10);
+return x_135;
+}
+}
+}
lean_object* l_Lean_Meta_CheckAssignment_checkMVar_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
@@ -11502,7 +11752,7 @@ uint8_t x_22;
x_22 = lean_ctor_get_uint8(x_3, sizeof(void*)*4);
if (x_22 == 0)
{
-lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; uint8_t x_27; lean_object* x_109; uint8_t x_110;
+lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; uint8_t x_27; lean_object* x_113; uint8_t x_114;
x_23 = lean_ctor_get(x_20, 0);
lean_inc(x_23);
lean_dec(x_20);
@@ -11512,42 +11762,42 @@ x_25 = lean_ctor_get(x_3, 1);
lean_inc(x_25);
x_26 = lean_ctor_get(x_25, 1);
lean_inc(x_26);
-x_109 = lean_ctor_get(x_3, 2);
-lean_inc(x_109);
+x_113 = lean_ctor_get(x_3, 2);
+lean_inc(x_113);
lean_inc(x_26);
lean_inc(x_24);
-x_110 = l_Lean_LocalContext_isSubPrefixOf(x_24, x_26, x_109);
-lean_dec(x_109);
-if (x_110 == 0)
+x_114 = l_Lean_LocalContext_isSubPrefixOf(x_24, x_26, x_113);
+lean_dec(x_113);
+if (x_114 == 0)
{
-lean_object* x_111; lean_object* x_112; uint8_t x_113;
-x_111 = lean_ctor_get(x_23, 3);
-lean_inc(x_111);
-x_112 = lean_ctor_get(x_16, 0);
-lean_inc(x_112);
+lean_object* x_115; lean_object* x_116; uint8_t x_117;
+x_115 = lean_ctor_get(x_23, 3);
+lean_inc(x_115);
+x_116 = lean_ctor_get(x_16, 0);
+lean_inc(x_116);
lean_dec(x_16);
-x_113 = lean_nat_dec_eq(x_111, x_112);
-lean_dec(x_112);
-lean_dec(x_111);
-if (x_113 == 0)
+x_117 = lean_nat_dec_eq(x_115, x_116);
+lean_dec(x_116);
+lean_dec(x_115);
+if (x_117 == 0)
{
-uint8_t x_114;
-x_114 = 1;
-x_27 = x_114;
-goto block_108;
+uint8_t x_118;
+x_118 = 1;
+x_27 = x_118;
+goto block_112;
}
else
{
-uint8_t x_115; uint8_t x_116;
-x_115 = lean_ctor_get_uint8(x_23, sizeof(void*)*6);
-x_116 = l_Lean_MetavarKind_isSyntheticOpaque(x_115);
-x_27 = x_116;
-goto block_108;
+uint8_t x_119; uint8_t x_120;
+x_119 = lean_ctor_get_uint8(x_23, sizeof(void*)*6);
+x_120 = l_Lean_MetavarKind_isSyntheticOpaque(x_119);
+x_27 = x_120;
+goto block_112;
}
}
else
{
-lean_object* x_117;
+lean_object* x_121;
lean_dec(x_26);
lean_dec(x_25);
lean_dec(x_24);
@@ -11563,12 +11813,12 @@ lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_1);
-x_117 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_117, 0, x_2);
-lean_ctor_set(x_117, 1, x_14);
-return x_117;
+x_121 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_121, 0, x_2);
+lean_ctor_set(x_121, 1, x_14);
+return x_121;
}
-block_108:
+block_112:
{
if (x_27 == 0)
{
@@ -11770,7 +12020,7 @@ return x_64;
}
else
{
-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_71; lean_object* x_72; uint8_t x_73; lean_object* x_74; lean_object* x_93; lean_object* x_94; lean_object* x_95; uint8_t x_96;
lean_dec(x_26);
lean_dec(x_25);
lean_dec(x_24);
@@ -11781,42 +12031,35 @@ lean_dec(x_1);
x_71 = l_Lean_mkMVar(x_11);
x_72 = lean_alloc_ctor(2, 1, 0);
lean_ctor_set(x_72, 0, x_71);
-x_73 = lean_st_ref_get(x_9, x_14);
-x_74 = lean_ctor_get(x_73, 0);
-lean_inc(x_74);
-x_75 = lean_ctor_get(x_74, 3);
-lean_inc(x_75);
-lean_dec(x_74);
-x_76 = lean_ctor_get_uint8(x_75, sizeof(void*)*1);
-lean_dec(x_75);
-if (x_76 == 0)
+x_93 = lean_st_ref_get(x_9, x_14);
+x_94 = lean_ctor_get(x_93, 0);
+lean_inc(x_94);
+x_95 = lean_ctor_get(x_94, 3);
+lean_inc(x_95);
+lean_dec(x_94);
+x_96 = lean_ctor_get_uint8(x_95, sizeof(void*)*1);
+lean_dec(x_95);
+if (x_96 == 0)
{
-lean_object* x_77; lean_object* x_78;
-lean_dec(x_72);
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_77 = lean_ctor_get(x_73, 1);
-lean_inc(x_77);
-lean_dec(x_73);
-x_78 = l_Lean_Meta_CheckAssignment_throwCheckAssignmentFailure___rarg(x_77);
-return x_78;
+lean_object* x_97; uint8_t x_98;
+x_97 = lean_ctor_get(x_93, 1);
+lean_inc(x_97);
+lean_dec(x_93);
+x_98 = 0;
+x_73 = x_98;
+x_74 = x_97;
+goto block_92;
}
else
{
-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;
-x_79 = lean_ctor_get(x_73, 1);
-lean_inc(x_79);
-lean_dec(x_73);
-x_80 = l_Lean_Meta_CheckAssignment_checkFVar___closed__3;
-x_81 = l_Lean_Meta_CheckAssignment_checkFVar___closed__8;
-x_82 = l_Lean_Meta_CheckAssignment_checkFVar___closed__24;
-x_83 = l_Lean_Meta_CheckAssignment_checkMVar___closed__2;
-x_84 = l___private_Lean_Util_Trace_3__checkTraceOptionM___rarg(x_80, x_81, x_82, x_83);
+lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104;
+x_99 = lean_ctor_get(x_93, 1);
+lean_inc(x_99);
+lean_dec(x_93);
+x_100 = l_Lean_Meta_CheckAssignment_checkFVar___closed__3;
+x_101 = l_Lean_Meta_CheckAssignment_checkFVar___closed__24;
+x_102 = l_Lean_Meta_CheckAssignment_checkMVar___closed__2;
+x_103 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___rarg(x_100, x_101, x_102);
lean_inc(x_9);
lean_inc(x_8);
lean_inc(x_7);
@@ -11824,109 +12067,115 @@ lean_inc(x_6);
lean_inc(x_5);
lean_inc(x_4);
lean_inc(x_3);
-x_85 = lean_apply_8(x_84, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_79);
+x_104 = lean_apply_8(x_103, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_99);
+if (lean_obj_tag(x_104) == 0)
+{
+lean_object* x_105; lean_object* x_106; uint8_t x_107;
+x_105 = lean_ctor_get(x_104, 0);
+lean_inc(x_105);
+x_106 = lean_ctor_get(x_104, 1);
+lean_inc(x_106);
+lean_dec(x_104);
+x_107 = lean_unbox(x_105);
+lean_dec(x_105);
+x_73 = x_107;
+x_74 = x_106;
+goto block_92;
+}
+else
+{
+uint8_t x_108;
+lean_dec(x_72);
+lean_dec(x_9);
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_108 = !lean_is_exclusive(x_104);
+if (x_108 == 0)
+{
+return x_104;
+}
+else
+{
+lean_object* x_109; lean_object* x_110; lean_object* x_111;
+x_109 = lean_ctor_get(x_104, 0);
+x_110 = lean_ctor_get(x_104, 1);
+lean_inc(x_110);
+lean_inc(x_109);
+lean_dec(x_104);
+x_111 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_111, 0, x_109);
+lean_ctor_set(x_111, 1, x_110);
+return x_111;
+}
+}
+}
+block_92:
+{
+if (x_73 == 0)
+{
+lean_object* x_75;
+lean_dec(x_72);
+lean_dec(x_9);
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_75 = l_Lean_Meta_CheckAssignment_throwCheckAssignmentFailure___rarg(x_74);
+return x_75;
+}
+else
+{
+lean_object* x_76; lean_object* x_77; 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_inc(x_3);
+x_76 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_CheckAssignment_addAssignmentInfo(x_72, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_74);
+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_Lean_Meta_CheckAssignment_checkFVar___closed__3;
+x_80 = l_Lean_Meta_CheckAssignment_checkFVar___closed__8;
+x_81 = l_Lean_Meta_CheckAssignment_checkFVar___closed__16;
+x_82 = l_Lean_Meta_CheckAssignment_checkFVar___closed__19;
+x_83 = l_Lean_Meta_CheckAssignment_checkMVar___closed__2;
+x_84 = l_Lean_addTrace___rarg(x_79, x_80, x_81, x_82, x_83, x_77);
+x_85 = lean_apply_8(x_84, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_78);
if (lean_obj_tag(x_85) == 0)
{
-lean_object* x_86; uint8_t x_87;
-x_86 = lean_ctor_get(x_85, 0);
+lean_object* x_86; lean_object* x_87;
+x_86 = lean_ctor_get(x_85, 1);
lean_inc(x_86);
-x_87 = lean_unbox(x_86);
-lean_dec(x_86);
-if (x_87 == 0)
-{
-lean_object* x_88; lean_object* x_89;
-lean_dec(x_72);
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_88 = lean_ctor_get(x_85, 1);
-lean_inc(x_88);
lean_dec(x_85);
-x_89 = l_Lean_Meta_CheckAssignment_throwCheckAssignmentFailure___rarg(x_88);
-return x_89;
+x_87 = l_Lean_Meta_CheckAssignment_throwCheckAssignmentFailure___rarg(x_86);
+return x_87;
}
else
{
-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;
-x_90 = lean_ctor_get(x_85, 1);
-lean_inc(x_90);
-lean_dec(x_85);
-lean_inc(x_3);
-x_91 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_CheckAssignment_addAssignmentInfo(x_72, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_90);
-x_92 = lean_ctor_get(x_91, 0);
-lean_inc(x_92);
-x_93 = lean_ctor_get(x_91, 1);
-lean_inc(x_93);
-lean_dec(x_91);
-x_94 = l_Lean_Meta_CheckAssignment_checkFVar___closed__16;
-x_95 = l_Lean_Meta_CheckAssignment_checkFVar___closed__19;
-x_96 = l_Lean_addTrace___rarg(x_80, x_81, x_94, x_95, x_82, x_83, x_92);
-x_97 = lean_apply_8(x_96, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_93);
-if (lean_obj_tag(x_97) == 0)
-{
-lean_object* x_98; lean_object* x_99;
-x_98 = lean_ctor_get(x_97, 1);
-lean_inc(x_98);
-lean_dec(x_97);
-x_99 = l_Lean_Meta_CheckAssignment_throwCheckAssignmentFailure___rarg(x_98);
-return x_99;
-}
-else
-{
-uint8_t x_100;
-x_100 = !lean_is_exclusive(x_97);
-if (x_100 == 0)
-{
-return x_97;
-}
-else
-{
-lean_object* x_101; lean_object* x_102; lean_object* x_103;
-x_101 = lean_ctor_get(x_97, 0);
-x_102 = lean_ctor_get(x_97, 1);
-lean_inc(x_102);
-lean_inc(x_101);
-lean_dec(x_97);
-x_103 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_103, 0, x_101);
-lean_ctor_set(x_103, 1, x_102);
-return x_103;
-}
-}
-}
-}
-else
-{
-uint8_t x_104;
-lean_dec(x_72);
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_104 = !lean_is_exclusive(x_85);
-if (x_104 == 0)
+uint8_t x_88;
+x_88 = !lean_is_exclusive(x_85);
+if (x_88 == 0)
{
return x_85;
}
else
{
-lean_object* x_105; lean_object* x_106; lean_object* x_107;
-x_105 = lean_ctor_get(x_85, 0);
-x_106 = lean_ctor_get(x_85, 1);
-lean_inc(x_106);
-lean_inc(x_105);
+lean_object* x_89; lean_object* x_90; lean_object* x_91;
+x_89 = lean_ctor_get(x_85, 0);
+x_90 = lean_ctor_get(x_85, 1);
+lean_inc(x_90);
+lean_inc(x_89);
lean_dec(x_85);
-x_107 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_107, 0, x_105);
-lean_ctor_set(x_107, 1, x_106);
-return x_107;
+x_91 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_91, 0, x_89);
+lean_ctor_set(x_91, 1, x_90);
+return x_91;
+}
}
}
}
@@ -11935,7 +12184,7 @@ return x_107;
}
else
{
-lean_object* x_118;
+lean_object* x_122;
lean_dec(x_20);
lean_dec(x_16);
lean_dec(x_15);
@@ -11949,68 +12198,62 @@ lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_118 = l_Lean_Meta_CheckAssignment_throwCheckAssignmentFailure___rarg(x_14);
-return x_118;
+x_122 = l_Lean_Meta_CheckAssignment_throwCheckAssignmentFailure___rarg(x_14);
+return x_122;
}
}
}
else
{
-lean_object* x_119; lean_object* x_120;
+lean_object* x_123; lean_object* x_124;
lean_dec(x_16);
lean_dec(x_15);
lean_dec(x_11);
lean_dec(x_2);
-x_119 = lean_ctor_get(x_19, 0);
-lean_inc(x_119);
+x_123 = lean_ctor_get(x_19, 0);
+lean_inc(x_123);
lean_dec(x_19);
-x_120 = lean_apply_9(x_1, x_119, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_14);
-return x_120;
+x_124 = lean_apply_9(x_1, x_123, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_14);
+return x_124;
}
}
else
{
-lean_object* x_121; lean_object* x_122; lean_object* x_123; uint8_t x_124;
+uint8_t x_125; lean_object* x_126; lean_object* x_146; lean_object* x_147; lean_object* x_148; uint8_t x_149;
lean_dec(x_16);
lean_dec(x_15);
lean_dec(x_11);
lean_dec(x_2);
lean_dec(x_1);
-x_121 = lean_st_ref_get(x_9, x_14);
-x_122 = lean_ctor_get(x_121, 0);
-lean_inc(x_122);
-x_123 = lean_ctor_get(x_122, 3);
-lean_inc(x_123);
-lean_dec(x_122);
-x_124 = lean_ctor_get_uint8(x_123, sizeof(void*)*1);
-lean_dec(x_123);
-if (x_124 == 0)
+x_146 = lean_st_ref_get(x_9, x_14);
+x_147 = lean_ctor_get(x_146, 0);
+lean_inc(x_147);
+x_148 = lean_ctor_get(x_147, 3);
+lean_inc(x_148);
+lean_dec(x_147);
+x_149 = lean_ctor_get_uint8(x_148, sizeof(void*)*1);
+lean_dec(x_148);
+if (x_149 == 0)
{
-lean_object* x_125; lean_object* x_126;
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_125 = lean_ctor_get(x_121, 1);
-lean_inc(x_125);
-lean_dec(x_121);
-x_126 = l_Lean_Meta_CheckAssignment_throwCheckAssignmentFailure___rarg(x_125);
-return x_126;
+lean_object* x_150; uint8_t x_151;
+x_150 = lean_ctor_get(x_146, 1);
+lean_inc(x_150);
+lean_dec(x_146);
+x_151 = 0;
+x_125 = x_151;
+x_126 = x_150;
+goto block_145;
}
else
{
-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_127 = lean_ctor_get(x_121, 1);
-lean_inc(x_127);
-lean_dec(x_121);
-x_128 = l_Lean_Meta_CheckAssignment_checkFVar___closed__3;
-x_129 = l_Lean_Meta_CheckAssignment_checkFVar___closed__8;
-x_130 = l_Lean_Meta_CheckAssignment_checkFVar___closed__24;
-x_131 = l_Lean_Meta_CheckAssignment_checkMVar___closed__4;
-x_132 = l___private_Lean_Util_Trace_3__checkTraceOptionM___rarg(x_128, x_129, x_130, x_131);
+lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157;
+x_152 = lean_ctor_get(x_146, 1);
+lean_inc(x_152);
+lean_dec(x_146);
+x_153 = l_Lean_Meta_CheckAssignment_checkFVar___closed__3;
+x_154 = l_Lean_Meta_CheckAssignment_checkFVar___closed__24;
+x_155 = l_Lean_Meta_CheckAssignment_checkMVar___closed__4;
+x_156 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___rarg(x_153, x_154, x_155);
lean_inc(x_9);
lean_inc(x_8);
lean_inc(x_7);
@@ -12018,17 +12261,24 @@ lean_inc(x_6);
lean_inc(x_5);
lean_inc(x_4);
lean_inc(x_3);
-x_133 = lean_apply_8(x_132, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_127);
-if (lean_obj_tag(x_133) == 0)
+x_157 = lean_apply_8(x_156, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_152);
+if (lean_obj_tag(x_157) == 0)
{
-lean_object* x_134; uint8_t x_135;
-x_134 = lean_ctor_get(x_133, 0);
-lean_inc(x_134);
-x_135 = lean_unbox(x_134);
-lean_dec(x_134);
-if (x_135 == 0)
+lean_object* x_158; lean_object* x_159; uint8_t x_160;
+x_158 = lean_ctor_get(x_157, 0);
+lean_inc(x_158);
+x_159 = lean_ctor_get(x_157, 1);
+lean_inc(x_159);
+lean_dec(x_157);
+x_160 = lean_unbox(x_158);
+lean_dec(x_158);
+x_125 = x_160;
+x_126 = x_159;
+goto block_145;
+}
+else
{
-lean_object* x_136; lean_object* x_137;
+uint8_t x_161;
lean_dec(x_9);
lean_dec(x_8);
lean_dec(x_7);
@@ -12036,90 +12286,89 @@ lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
-x_136 = lean_ctor_get(x_133, 1);
-lean_inc(x_136);
-lean_dec(x_133);
-x_137 = l_Lean_Meta_CheckAssignment_throwCheckAssignmentFailure___rarg(x_136);
-return x_137;
+x_161 = !lean_is_exclusive(x_157);
+if (x_161 == 0)
+{
+return x_157;
}
else
{
-lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146;
-x_138 = lean_ctor_get(x_133, 1);
-lean_inc(x_138);
-lean_dec(x_133);
-x_139 = l_Lean_Meta_CheckAssignment_checkMVar___closed__7;
+lean_object* x_162; lean_object* x_163; lean_object* x_164;
+x_162 = lean_ctor_get(x_157, 0);
+x_163 = lean_ctor_get(x_157, 1);
+lean_inc(x_163);
+lean_inc(x_162);
+lean_dec(x_157);
+x_164 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_164, 0, x_162);
+lean_ctor_set(x_164, 1, x_163);
+return x_164;
+}
+}
+}
+block_145:
+{
+if (x_125 == 0)
+{
+lean_object* x_127;
+lean_dec(x_9);
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_127 = l_Lean_Meta_CheckAssignment_throwCheckAssignmentFailure___rarg(x_126);
+return x_127;
+}
+else
+{
+lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138;
+x_128 = l_Lean_Meta_CheckAssignment_checkMVar___closed__7;
lean_inc(x_3);
-x_140 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_CheckAssignment_addAssignmentInfo(x_139, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_138);
-x_141 = lean_ctor_get(x_140, 0);
-lean_inc(x_141);
-x_142 = lean_ctor_get(x_140, 1);
+x_129 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_CheckAssignment_addAssignmentInfo(x_128, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_126);
+x_130 = lean_ctor_get(x_129, 0);
+lean_inc(x_130);
+x_131 = lean_ctor_get(x_129, 1);
+lean_inc(x_131);
+lean_dec(x_129);
+x_132 = l_Lean_Meta_CheckAssignment_checkFVar___closed__3;
+x_133 = l_Lean_Meta_CheckAssignment_checkFVar___closed__8;
+x_134 = l_Lean_Meta_CheckAssignment_checkFVar___closed__16;
+x_135 = l_Lean_Meta_CheckAssignment_checkFVar___closed__19;
+x_136 = l_Lean_Meta_CheckAssignment_checkMVar___closed__4;
+x_137 = l_Lean_addTrace___rarg(x_132, x_133, x_134, x_135, x_136, x_130);
+x_138 = lean_apply_8(x_137, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_131);
+if (lean_obj_tag(x_138) == 0)
+{
+lean_object* x_139; lean_object* x_140;
+x_139 = lean_ctor_get(x_138, 1);
+lean_inc(x_139);
+lean_dec(x_138);
+x_140 = l_Lean_Meta_CheckAssignment_throwCheckAssignmentFailure___rarg(x_139);
+return x_140;
+}
+else
+{
+uint8_t x_141;
+x_141 = !lean_is_exclusive(x_138);
+if (x_141 == 0)
+{
+return x_138;
+}
+else
+{
+lean_object* x_142; lean_object* x_143; lean_object* x_144;
+x_142 = lean_ctor_get(x_138, 0);
+x_143 = lean_ctor_get(x_138, 1);
+lean_inc(x_143);
lean_inc(x_142);
-lean_dec(x_140);
-x_143 = l_Lean_Meta_CheckAssignment_checkFVar___closed__16;
-x_144 = l_Lean_Meta_CheckAssignment_checkFVar___closed__19;
-x_145 = l_Lean_addTrace___rarg(x_128, x_129, x_143, x_144, x_130, x_131, x_141);
-x_146 = lean_apply_8(x_145, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_142);
-if (lean_obj_tag(x_146) == 0)
-{
-lean_object* x_147; lean_object* x_148;
-x_147 = lean_ctor_get(x_146, 1);
-lean_inc(x_147);
-lean_dec(x_146);
-x_148 = l_Lean_Meta_CheckAssignment_throwCheckAssignmentFailure___rarg(x_147);
-return x_148;
+lean_dec(x_138);
+x_144 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_144, 0, x_142);
+lean_ctor_set(x_144, 1, x_143);
+return x_144;
}
-else
-{
-uint8_t x_149;
-x_149 = !lean_is_exclusive(x_146);
-if (x_149 == 0)
-{
-return x_146;
-}
-else
-{
-lean_object* x_150; lean_object* x_151; lean_object* x_152;
-x_150 = lean_ctor_get(x_146, 0);
-x_151 = lean_ctor_get(x_146, 1);
-lean_inc(x_151);
-lean_inc(x_150);
-lean_dec(x_146);
-x_152 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_152, 0, x_150);
-lean_ctor_set(x_152, 1, x_151);
-return x_152;
-}
-}
-}
-}
-else
-{
-uint8_t x_153;
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_153 = !lean_is_exclusive(x_133);
-if (x_153 == 0)
-{
-return x_133;
-}
-else
-{
-lean_object* x_154; lean_object* x_155; lean_object* x_156;
-x_154 = lean_ctor_get(x_133, 0);
-x_155 = lean_ctor_get(x_133, 1);
-lean_inc(x_155);
-lean_inc(x_154);
-lean_dec(x_133);
-x_156 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_156, 0, x_154);
-lean_ctor_set(x_156, 1, x_155);
-return x_156;
}
}
}
@@ -12937,20 +13186,7 @@ lean_dec(x_3);
return x_5;
}
}
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_CheckAssignment_check___spec__4(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) {
-_start:
-{
-lean_object* x_10; uint8_t x_11; lean_object* x_12; lean_object* x_13;
-x_10 = lean_ctor_get(x_7, 0);
-x_11 = l_Lean_checkTraceOption(x_10, x_1);
-x_12 = lean_box(x_11);
-x_13 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_13, 0, x_12);
-lean_ctor_set(x_13, 1, x_9);
-return x_13;
-}
-}
-lean_object* l_Lean_addTrace___at_Lean_Meta_CheckAssignment_check___spec__5(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* l_Lean_addTrace___at_Lean_Meta_CheckAssignment_check___spec__4(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) {
_start:
{
lean_object* 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; uint8_t x_19;
@@ -13117,6 +13353,19 @@ return x_59;
}
}
}
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_CheckAssignment_check___spec__5(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) {
+_start:
+{
+lean_object* x_10; uint8_t x_11; lean_object* x_12; lean_object* x_13;
+x_10 = lean_ctor_get(x_7, 0);
+x_11 = l_Lean_checkTraceOption(x_10, x_1);
+x_12 = lean_box(x_11);
+x_13 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_13, 0, x_12);
+lean_ctor_set(x_13, 1, x_9);
+return x_13;
+}
+}
lean_object* l_Lean_Meta_CheckAssignment_checkFVar___at_Lean_Meta_CheckAssignment_check___spec__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) {
_start:
{
@@ -13142,139 +13391,169 @@ x_16 = l_Array_contains___at_Lean_Meta_CheckAssignment_check___spec__2(x_15, x_1
lean_dec(x_15);
if (x_16 == 0)
{
-lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21;
+lean_object* x_17; uint8_t x_18; lean_object* x_19; lean_object* x_29; lean_object* x_30; lean_object* x_31; uint8_t x_32;
x_17 = lean_alloc_ctor(2, 1, 0);
lean_ctor_set(x_17, 0, x_1);
-x_18 = lean_st_ref_get(x_8, x_9);
-x_19 = lean_ctor_get(x_18, 0);
-lean_inc(x_19);
-x_20 = lean_ctor_get(x_19, 3);
-lean_inc(x_20);
-lean_dec(x_19);
-x_21 = lean_ctor_get_uint8(x_20, sizeof(void*)*1);
-lean_dec(x_20);
-if (x_21 == 0)
-{
-lean_object* x_22; lean_object* x_23;
-lean_dec(x_17);
-lean_dec(x_8);
-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_22 = lean_ctor_get(x_18, 1);
-lean_inc(x_22);
-lean_dec(x_18);
-x_23 = l_Lean_Meta_CheckAssignment_throwOutOfScopeFVar___rarg(x_22);
-return x_23;
-}
-else
-{
-lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; uint8_t x_28;
-x_24 = lean_ctor_get(x_18, 1);
-lean_inc(x_24);
-lean_dec(x_18);
-x_25 = l_Lean_Meta_CheckAssignment_checkFVar___closed__26;
-x_26 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_CheckAssignment_check___spec__4(x_25, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_24);
-x_27 = lean_ctor_get(x_26, 0);
-lean_inc(x_27);
-x_28 = lean_unbox(x_27);
-lean_dec(x_27);
-if (x_28 == 0)
-{
-lean_object* x_29; lean_object* x_30;
-lean_dec(x_17);
-lean_dec(x_8);
-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_29 = lean_ctor_get(x_26, 1);
-lean_inc(x_29);
-lean_dec(x_26);
-x_30 = l_Lean_Meta_CheckAssignment_throwOutOfScopeFVar___rarg(x_29);
-return x_30;
-}
-else
-{
-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;
-x_31 = lean_ctor_get(x_26, 1);
+x_29 = lean_st_ref_get(x_8, x_9);
+x_30 = lean_ctor_get(x_29, 0);
+lean_inc(x_30);
+x_31 = lean_ctor_get(x_30, 3);
lean_inc(x_31);
-lean_dec(x_26);
-lean_inc(x_2);
-x_32 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_CheckAssignment_addAssignmentInfo(x_17, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_31);
-x_33 = lean_ctor_get(x_32, 0);
+lean_dec(x_30);
+x_32 = lean_ctor_get_uint8(x_31, sizeof(void*)*1);
+lean_dec(x_31);
+if (x_32 == 0)
+{
+lean_object* x_33; uint8_t x_34;
+x_33 = lean_ctor_get(x_29, 1);
lean_inc(x_33);
-x_34 = lean_ctor_get(x_32, 1);
-lean_inc(x_34);
-lean_dec(x_32);
-x_35 = l_Lean_addTrace___at_Lean_Meta_CheckAssignment_check___spec__5(x_25, x_33, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_34);
-lean_dec(x_8);
-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_36 = lean_ctor_get(x_35, 1);
-lean_inc(x_36);
-lean_dec(x_35);
-x_37 = l_Lean_Meta_CheckAssignment_throwOutOfScopeFVar___rarg(x_36);
-return x_37;
-}
-}
+lean_dec(x_29);
+x_34 = 0;
+x_18 = x_34;
+x_19 = x_33;
+goto block_28;
}
else
{
-lean_object* x_38;
-lean_dec(x_8);
-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_38 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_38, 0, x_1);
-lean_ctor_set(x_38, 1, x_9);
-return x_38;
-}
-}
-else
-{
-lean_object* x_39;
-x_39 = lean_ctor_get(x_14, 0);
+lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; uint8_t x_40;
+x_35 = lean_ctor_get(x_29, 1);
+lean_inc(x_35);
+lean_dec(x_29);
+x_36 = l_Lean_Meta_CheckAssignment_checkFVar___closed__26;
+x_37 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_CheckAssignment_check___spec__5(x_36, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_35);
+x_38 = lean_ctor_get(x_37, 0);
+lean_inc(x_38);
+x_39 = lean_ctor_get(x_37, 1);
lean_inc(x_39);
+lean_dec(x_37);
+x_40 = lean_unbox(x_38);
+lean_dec(x_38);
+x_18 = x_40;
+x_19 = x_39;
+goto block_28;
+}
+block_28:
+{
+if (x_18 == 0)
+{
+lean_object* x_20;
+lean_dec(x_17);
+lean_dec(x_8);
+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_20 = l_Lean_Meta_CheckAssignment_throwOutOfScopeFVar___rarg(x_19);
+return x_20;
+}
+else
+{
+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_inc(x_2);
+x_21 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_CheckAssignment_addAssignmentInfo(x_17, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_19);
+x_22 = lean_ctor_get(x_21, 0);
+lean_inc(x_22);
+x_23 = lean_ctor_get(x_21, 1);
+lean_inc(x_23);
+lean_dec(x_21);
+x_24 = l_Lean_Meta_CheckAssignment_checkFVar___closed__26;
+x_25 = l_Lean_addTrace___at_Lean_Meta_CheckAssignment_check___spec__4(x_24, x_22, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_23);
+lean_dec(x_8);
+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_26 = lean_ctor_get(x_25, 1);
+lean_inc(x_26);
+lean_dec(x_25);
+x_27 = l_Lean_Meta_CheckAssignment_throwOutOfScopeFVar___rarg(x_26);
+return x_27;
+}
+}
+}
+else
+{
+lean_object* x_41;
+lean_dec(x_8);
+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_41 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_41, 0, x_1);
+lean_ctor_set(x_41, 1, x_9);
+return x_41;
+}
+}
+else
+{
+lean_object* x_42;
+x_42 = lean_ctor_get(x_14, 0);
+lean_inc(x_42);
lean_dec(x_14);
-if (lean_obj_tag(x_39) == 0)
+if (lean_obj_tag(x_42) == 0)
{
-lean_object* x_40; uint8_t x_41;
-lean_dec(x_39);
-x_40 = lean_ctor_get(x_2, 2);
-lean_inc(x_40);
-x_41 = l_Array_contains___at_Lean_Meta_CheckAssignment_check___spec__2(x_40, x_1);
-lean_dec(x_40);
-if (x_41 == 0)
+lean_object* x_43; uint8_t x_44;
+lean_dec(x_42);
+x_43 = lean_ctor_get(x_2, 2);
+lean_inc(x_43);
+x_44 = l_Array_contains___at_Lean_Meta_CheckAssignment_check___spec__2(x_43, x_1);
+lean_dec(x_43);
+if (x_44 == 0)
+{
+lean_object* x_45; uint8_t x_46; lean_object* x_47; lean_object* x_57; lean_object* x_58; lean_object* x_59; uint8_t x_60;
+x_45 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_45, 0, x_1);
+x_57 = lean_st_ref_get(x_8, x_9);
+x_58 = lean_ctor_get(x_57, 0);
+lean_inc(x_58);
+x_59 = lean_ctor_get(x_58, 3);
+lean_inc(x_59);
+lean_dec(x_58);
+x_60 = lean_ctor_get_uint8(x_59, sizeof(void*)*1);
+lean_dec(x_59);
+if (x_60 == 0)
+{
+lean_object* x_61; uint8_t x_62;
+x_61 = lean_ctor_get(x_57, 1);
+lean_inc(x_61);
+lean_dec(x_57);
+x_62 = 0;
+x_46 = x_62;
+x_47 = x_61;
+goto block_56;
+}
+else
+{
+lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; uint8_t x_68;
+x_63 = lean_ctor_get(x_57, 1);
+lean_inc(x_63);
+lean_dec(x_57);
+x_64 = l_Lean_Meta_CheckAssignment_checkFVar___closed__26;
+x_65 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_CheckAssignment_check___spec__5(x_64, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_63);
+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 = lean_unbox(x_66);
+lean_dec(x_66);
+x_46 = x_68;
+x_47 = x_67;
+goto block_56;
+}
+block_56:
{
-lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; uint8_t x_46;
-x_42 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_42, 0, x_1);
-x_43 = lean_st_ref_get(x_8, x_9);
-x_44 = lean_ctor_get(x_43, 0);
-lean_inc(x_44);
-x_45 = lean_ctor_get(x_44, 3);
-lean_inc(x_45);
-lean_dec(x_44);
-x_46 = lean_ctor_get_uint8(x_45, sizeof(void*)*1);
-lean_dec(x_45);
if (x_46 == 0)
{
-lean_object* x_47; lean_object* x_48;
-lean_dec(x_42);
+lean_object* x_48;
+lean_dec(x_45);
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
@@ -13282,28 +13561,21 @@ lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_47 = lean_ctor_get(x_43, 1);
-lean_inc(x_47);
-lean_dec(x_43);
x_48 = l_Lean_Meta_CheckAssignment_throwOutOfScopeFVar___rarg(x_47);
return x_48;
}
else
{
-lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; uint8_t x_53;
-x_49 = lean_ctor_get(x_43, 1);
-lean_inc(x_49);
-lean_dec(x_43);
-x_50 = l_Lean_Meta_CheckAssignment_checkFVar___closed__26;
-x_51 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_CheckAssignment_check___spec__4(x_50, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_49);
-x_52 = lean_ctor_get(x_51, 0);
-lean_inc(x_52);
-x_53 = lean_unbox(x_52);
-lean_dec(x_52);
-if (x_53 == 0)
-{
-lean_object* x_54; lean_object* x_55;
-lean_dec(x_42);
+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_inc(x_2);
+x_49 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_CheckAssignment_addAssignmentInfo(x_45, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_47);
+x_50 = lean_ctor_get(x_49, 0);
+lean_inc(x_50);
+x_51 = lean_ctor_get(x_49, 1);
+lean_inc(x_51);
+lean_dec(x_49);
+x_52 = l_Lean_Meta_CheckAssignment_checkFVar___closed__26;
+x_53 = l_Lean_addTrace___at_Lean_Meta_CheckAssignment_check___spec__4(x_52, x_50, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_51);
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
@@ -13311,26 +13583,17 @@ lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_54 = lean_ctor_get(x_51, 1);
+x_54 = lean_ctor_get(x_53, 1);
lean_inc(x_54);
-lean_dec(x_51);
+lean_dec(x_53);
x_55 = l_Lean_Meta_CheckAssignment_throwOutOfScopeFVar___rarg(x_54);
return x_55;
}
+}
+}
else
{
-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;
-x_56 = lean_ctor_get(x_51, 1);
-lean_inc(x_56);
-lean_dec(x_51);
-lean_inc(x_2);
-x_57 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_CheckAssignment_addAssignmentInfo(x_42, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_56);
-x_58 = lean_ctor_get(x_57, 0);
-lean_inc(x_58);
-x_59 = lean_ctor_get(x_57, 1);
-lean_inc(x_59);
-lean_dec(x_57);
-x_60 = l_Lean_addTrace___at_Lean_Meta_CheckAssignment_check___spec__5(x_50, x_58, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_59);
+lean_object* x_69;
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
@@ -13338,78 +13601,60 @@ lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_61 = lean_ctor_get(x_60, 1);
-lean_inc(x_61);
-lean_dec(x_60);
-x_62 = l_Lean_Meta_CheckAssignment_throwOutOfScopeFVar___rarg(x_61);
-return x_62;
-}
-}
-}
-else
-{
-lean_object* x_63;
-lean_dec(x_8);
-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_63 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_63, 0, x_1);
-lean_ctor_set(x_63, 1, x_9);
-return x_63;
+x_69 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_69, 0, x_1);
+lean_ctor_set(x_69, 1, x_9);
+return x_69;
}
}
else
{
-lean_object* x_64; uint8_t x_65; uint8_t x_89;
+lean_object* x_70; uint8_t x_71; uint8_t x_95;
lean_dec(x_1);
-x_64 = lean_ctor_get(x_39, 4);
-lean_inc(x_64);
-lean_dec(x_39);
-x_89 = l_Lean_Expr_hasExprMVar(x_64);
-if (x_89 == 0)
+x_70 = lean_ctor_get(x_42, 4);
+lean_inc(x_70);
+lean_dec(x_42);
+x_95 = l_Lean_Expr_hasExprMVar(x_70);
+if (x_95 == 0)
{
-uint8_t x_90;
-x_90 = l_Lean_Expr_hasFVar(x_64);
-if (x_90 == 0)
+uint8_t x_96;
+x_96 = l_Lean_Expr_hasFVar(x_70);
+if (x_96 == 0)
{
-uint8_t x_91;
-x_91 = 1;
-x_65 = x_91;
-goto block_88;
+uint8_t x_97;
+x_97 = 1;
+x_71 = x_97;
+goto block_94;
}
else
{
-uint8_t x_92;
-x_92 = 0;
-x_65 = x_92;
-goto block_88;
+uint8_t x_98;
+x_98 = 0;
+x_71 = x_98;
+goto block_94;
}
}
else
{
-uint8_t x_93;
-x_93 = 0;
-x_65 = x_93;
-goto block_88;
+uint8_t x_99;
+x_99 = 0;
+x_71 = x_99;
+goto block_94;
}
-block_88:
+block_94:
{
-if (x_65 == 0)
+if (x_71 == 0)
{
-lean_object* x_66; lean_object* x_67;
-x_66 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_CheckAssignment_findCached_x3f(x_64, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
-x_67 = lean_ctor_get(x_66, 0);
-lean_inc(x_67);
-if (lean_obj_tag(x_67) == 0)
+lean_object* x_72; lean_object* x_73;
+x_72 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_CheckAssignment_findCached_x3f(x_70, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
+x_73 = lean_ctor_get(x_72, 0);
+lean_inc(x_73);
+if (lean_obj_tag(x_73) == 0)
{
-lean_object* x_68; lean_object* x_69;
-x_68 = lean_ctor_get(x_66, 1);
-lean_inc(x_68);
-lean_dec(x_66);
+lean_object* x_74; lean_object* x_75;
+x_74 = lean_ctor_get(x_72, 1);
+lean_inc(x_74);
+lean_dec(x_72);
lean_inc(x_8);
lean_inc(x_7);
lean_inc(x_6);
@@ -13417,18 +13662,18 @@ lean_inc(x_5);
lean_inc(x_4);
lean_inc(x_3);
lean_inc(x_2);
-lean_inc(x_64);
-x_69 = l_Lean_Meta_CheckAssignment_check(x_64, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_68);
-if (lean_obj_tag(x_69) == 0)
-{
-lean_object* x_70; lean_object* x_71; lean_object* x_72; uint8_t x_73;
-x_70 = lean_ctor_get(x_69, 0);
lean_inc(x_70);
-x_71 = lean_ctor_get(x_69, 1);
-lean_inc(x_71);
-lean_dec(x_69);
-lean_inc(x_70);
-x_72 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_CheckAssignment_cache(x_64, x_70, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_71);
+x_75 = l_Lean_Meta_CheckAssignment_check(x_70, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_74);
+if (lean_obj_tag(x_75) == 0)
+{
+lean_object* x_76; lean_object* x_77; lean_object* x_78; uint8_t x_79;
+x_76 = lean_ctor_get(x_75, 0);
+lean_inc(x_76);
+x_77 = lean_ctor_get(x_75, 1);
+lean_inc(x_77);
+lean_dec(x_75);
+lean_inc(x_76);
+x_78 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_CheckAssignment_cache(x_70, x_76, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_77);
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
@@ -13436,31 +13681,31 @@ lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_73 = !lean_is_exclusive(x_72);
-if (x_73 == 0)
+x_79 = !lean_is_exclusive(x_78);
+if (x_79 == 0)
{
-lean_object* x_74;
-x_74 = lean_ctor_get(x_72, 0);
-lean_dec(x_74);
-lean_ctor_set(x_72, 0, x_70);
-return x_72;
+lean_object* x_80;
+x_80 = lean_ctor_get(x_78, 0);
+lean_dec(x_80);
+lean_ctor_set(x_78, 0, x_76);
+return x_78;
}
else
{
-lean_object* x_75; lean_object* x_76;
-x_75 = lean_ctor_get(x_72, 1);
-lean_inc(x_75);
-lean_dec(x_72);
-x_76 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_76, 0, x_70);
-lean_ctor_set(x_76, 1, x_75);
-return x_76;
+lean_object* x_81; lean_object* x_82;
+x_81 = lean_ctor_get(x_78, 1);
+lean_inc(x_81);
+lean_dec(x_78);
+x_82 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_82, 0, x_76);
+lean_ctor_set(x_82, 1, x_81);
+return x_82;
}
}
else
{
-uint8_t x_77;
-lean_dec(x_64);
+uint8_t x_83;
+lean_dec(x_70);
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
@@ -13468,68 +13713,30 @@ lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_77 = !lean_is_exclusive(x_69);
-if (x_77 == 0)
+x_83 = !lean_is_exclusive(x_75);
+if (x_83 == 0)
{
-return x_69;
-}
-else
-{
-lean_object* x_78; lean_object* x_79; lean_object* x_80;
-x_78 = lean_ctor_get(x_69, 0);
-x_79 = lean_ctor_get(x_69, 1);
-lean_inc(x_79);
-lean_inc(x_78);
-lean_dec(x_69);
-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_81;
-lean_dec(x_64);
-lean_dec(x_8);
-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_81 = !lean_is_exclusive(x_66);
-if (x_81 == 0)
-{
-lean_object* x_82; lean_object* x_83;
-x_82 = lean_ctor_get(x_66, 0);
-lean_dec(x_82);
-x_83 = lean_ctor_get(x_67, 0);
-lean_inc(x_83);
-lean_dec(x_67);
-lean_ctor_set(x_66, 0, x_83);
-return x_66;
+return x_75;
}
else
{
lean_object* x_84; lean_object* x_85; lean_object* x_86;
-x_84 = lean_ctor_get(x_66, 1);
-lean_inc(x_84);
-lean_dec(x_66);
-x_85 = lean_ctor_get(x_67, 0);
+x_84 = lean_ctor_get(x_75, 0);
+x_85 = lean_ctor_get(x_75, 1);
lean_inc(x_85);
-lean_dec(x_67);
-x_86 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_86, 0, x_85);
-lean_ctor_set(x_86, 1, x_84);
+lean_inc(x_84);
+lean_dec(x_75);
+x_86 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_86, 0, x_84);
+lean_ctor_set(x_86, 1, x_85);
return x_86;
}
}
}
else
{
-lean_object* x_87;
+uint8_t x_87;
+lean_dec(x_70);
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
@@ -13537,10 +13744,48 @@ lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_87 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_87, 0, x_64);
-lean_ctor_set(x_87, 1, x_9);
-return x_87;
+x_87 = !lean_is_exclusive(x_72);
+if (x_87 == 0)
+{
+lean_object* x_88; lean_object* x_89;
+x_88 = lean_ctor_get(x_72, 0);
+lean_dec(x_88);
+x_89 = lean_ctor_get(x_73, 0);
+lean_inc(x_89);
+lean_dec(x_73);
+lean_ctor_set(x_72, 0, x_89);
+return x_72;
+}
+else
+{
+lean_object* x_90; lean_object* x_91; lean_object* x_92;
+x_90 = lean_ctor_get(x_72, 1);
+lean_inc(x_90);
+lean_dec(x_72);
+x_91 = lean_ctor_get(x_73, 0);
+lean_inc(x_91);
+lean_dec(x_73);
+x_92 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_92, 0, x_91);
+lean_ctor_set(x_92, 1, x_90);
+return x_92;
+}
+}
+}
+else
+{
+lean_object* x_93;
+lean_dec(x_8);
+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_93 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_93, 0, x_70);
+lean_ctor_set(x_93, 1, x_9);
+return x_93;
}
}
}
@@ -13548,7 +13793,7 @@ return x_87;
}
else
{
-lean_object* x_94;
+lean_object* x_100;
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
@@ -13556,10 +13801,10 @@ lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_94 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_94, 0, x_1);
-lean_ctor_set(x_94, 1, x_9);
-return x_94;
+x_100 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_100, 0, x_1);
+lean_ctor_set(x_100, 1, x_9);
+return x_100;
}
}
}
@@ -13622,7 +13867,7 @@ uint8_t x_21;
x_21 = lean_ctor_get_uint8(x_2, sizeof(void*)*4);
if (x_21 == 0)
{
-lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26; lean_object* x_93; uint8_t x_94;
+lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26; lean_object* x_96; uint8_t x_97;
x_22 = lean_ctor_get(x_19, 0);
lean_inc(x_22);
lean_dec(x_19);
@@ -13632,42 +13877,42 @@ x_24 = lean_ctor_get(x_2, 1);
lean_inc(x_24);
x_25 = lean_ctor_get(x_24, 1);
lean_inc(x_25);
-x_93 = lean_ctor_get(x_2, 2);
-lean_inc(x_93);
+x_96 = lean_ctor_get(x_2, 2);
+lean_inc(x_96);
lean_inc(x_25);
lean_inc(x_23);
-x_94 = l_Lean_LocalContext_isSubPrefixOf(x_23, x_25, x_93);
-lean_dec(x_93);
-if (x_94 == 0)
-{
-lean_object* x_95; lean_object* x_96; uint8_t x_97;
-x_95 = lean_ctor_get(x_22, 3);
-lean_inc(x_95);
-x_96 = lean_ctor_get(x_15, 0);
-lean_inc(x_96);
-lean_dec(x_15);
-x_97 = lean_nat_dec_eq(x_95, x_96);
+x_97 = l_Lean_LocalContext_isSubPrefixOf(x_23, x_25, x_96);
lean_dec(x_96);
-lean_dec(x_95);
if (x_97 == 0)
{
-uint8_t x_98;
-x_98 = 1;
-x_26 = x_98;
-goto block_92;
+lean_object* x_98; lean_object* x_99; uint8_t x_100;
+x_98 = lean_ctor_get(x_22, 3);
+lean_inc(x_98);
+x_99 = lean_ctor_get(x_15, 0);
+lean_inc(x_99);
+lean_dec(x_15);
+x_100 = lean_nat_dec_eq(x_98, x_99);
+lean_dec(x_99);
+lean_dec(x_98);
+if (x_100 == 0)
+{
+uint8_t x_101;
+x_101 = 1;
+x_26 = x_101;
+goto block_95;
}
else
{
-uint8_t x_99; uint8_t x_100;
-x_99 = lean_ctor_get_uint8(x_22, sizeof(void*)*6);
-x_100 = l_Lean_MetavarKind_isSyntheticOpaque(x_99);
-x_26 = x_100;
-goto block_92;
+uint8_t x_102; uint8_t x_103;
+x_102 = lean_ctor_get_uint8(x_22, sizeof(void*)*6);
+x_103 = l_Lean_MetavarKind_isSyntheticOpaque(x_102);
+x_26 = x_103;
+goto block_95;
}
}
else
{
-lean_object* x_101;
+lean_object* x_104;
lean_dec(x_25);
lean_dec(x_24);
lean_dec(x_23);
@@ -13682,12 +13927,12 @@ lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_101 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_101, 0, x_1);
-lean_ctor_set(x_101, 1, x_13);
-return x_101;
+x_104 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_104, 0, x_1);
+lean_ctor_set(x_104, 1, x_13);
+return x_104;
}
-block_92:
+block_95:
{
if (x_26 == 0)
{
@@ -13888,7 +14133,7 @@ return x_63;
}
else
{
-lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; uint8_t x_75;
+lean_object* x_70; lean_object* x_71; uint8_t x_72; lean_object* x_73; lean_object* x_83; lean_object* x_84; lean_object* x_85; uint8_t x_86;
lean_dec(x_25);
lean_dec(x_24);
lean_dec(x_23);
@@ -13898,74 +14143,50 @@ lean_dec(x_1);
x_70 = l_Lean_mkMVar(x_10);
x_71 = lean_alloc_ctor(2, 1, 0);
lean_ctor_set(x_71, 0, x_70);
-x_72 = lean_st_ref_get(x_8, x_13);
-x_73 = lean_ctor_get(x_72, 0);
-lean_inc(x_73);
-x_74 = lean_ctor_get(x_73, 3);
-lean_inc(x_74);
-lean_dec(x_73);
-x_75 = lean_ctor_get_uint8(x_74, sizeof(void*)*1);
-lean_dec(x_74);
-if (x_75 == 0)
-{
-lean_object* x_76; lean_object* x_77;
-lean_dec(x_71);
-lean_dec(x_8);
-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_76 = lean_ctor_get(x_72, 1);
-lean_inc(x_76);
-lean_dec(x_72);
-x_77 = l_Lean_Meta_CheckAssignment_throwCheckAssignmentFailure___rarg(x_76);
-return x_77;
-}
-else
-{
-lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; uint8_t x_82;
-x_78 = lean_ctor_get(x_72, 1);
-lean_inc(x_78);
-lean_dec(x_72);
-x_79 = l_Lean_Meta_CheckAssignment_checkMVar___closed__2;
-x_80 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_CheckAssignment_check___spec__4(x_79, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_78);
-x_81 = lean_ctor_get(x_80, 0);
-lean_inc(x_81);
-x_82 = lean_unbox(x_81);
-lean_dec(x_81);
-if (x_82 == 0)
-{
-lean_object* x_83; lean_object* x_84;
-lean_dec(x_71);
-lean_dec(x_8);
-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_83 = lean_ctor_get(x_80, 1);
-lean_inc(x_83);
-lean_dec(x_80);
-x_84 = l_Lean_Meta_CheckAssignment_throwCheckAssignmentFailure___rarg(x_83);
-return x_84;
-}
-else
-{
-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;
-x_85 = lean_ctor_get(x_80, 1);
+x_83 = lean_st_ref_get(x_8, x_13);
+x_84 = lean_ctor_get(x_83, 0);
+lean_inc(x_84);
+x_85 = lean_ctor_get(x_84, 3);
lean_inc(x_85);
-lean_dec(x_80);
-lean_inc(x_2);
-x_86 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_CheckAssignment_addAssignmentInfo(x_71, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_85);
-x_87 = lean_ctor_get(x_86, 0);
+lean_dec(x_84);
+x_86 = lean_ctor_get_uint8(x_85, sizeof(void*)*1);
+lean_dec(x_85);
+if (x_86 == 0)
+{
+lean_object* x_87; uint8_t x_88;
+x_87 = lean_ctor_get(x_83, 1);
lean_inc(x_87);
-x_88 = lean_ctor_get(x_86, 1);
-lean_inc(x_88);
-lean_dec(x_86);
-x_89 = l_Lean_addTrace___at_Lean_Meta_CheckAssignment_check___spec__5(x_79, x_87, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_88);
+lean_dec(x_83);
+x_88 = 0;
+x_72 = x_88;
+x_73 = x_87;
+goto block_82;
+}
+else
+{
+lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; uint8_t x_94;
+x_89 = lean_ctor_get(x_83, 1);
+lean_inc(x_89);
+lean_dec(x_83);
+x_90 = l_Lean_Meta_CheckAssignment_checkMVar___closed__2;
+x_91 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_CheckAssignment_check___spec__5(x_90, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_89);
+x_92 = lean_ctor_get(x_91, 0);
+lean_inc(x_92);
+x_93 = lean_ctor_get(x_91, 1);
+lean_inc(x_93);
+lean_dec(x_91);
+x_94 = lean_unbox(x_92);
+lean_dec(x_92);
+x_72 = x_94;
+x_73 = x_93;
+goto block_82;
+}
+block_82:
+{
+if (x_72 == 0)
+{
+lean_object* x_74;
+lean_dec(x_71);
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
@@ -13973,11 +14194,33 @@ lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_90 = lean_ctor_get(x_89, 1);
-lean_inc(x_90);
-lean_dec(x_89);
-x_91 = l_Lean_Meta_CheckAssignment_throwCheckAssignmentFailure___rarg(x_90);
-return x_91;
+x_74 = l_Lean_Meta_CheckAssignment_throwCheckAssignmentFailure___rarg(x_73);
+return x_74;
+}
+else
+{
+lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81;
+lean_inc(x_2);
+x_75 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_CheckAssignment_addAssignmentInfo(x_71, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_73);
+x_76 = lean_ctor_get(x_75, 0);
+lean_inc(x_76);
+x_77 = lean_ctor_get(x_75, 1);
+lean_inc(x_77);
+lean_dec(x_75);
+x_78 = l_Lean_Meta_CheckAssignment_checkMVar___closed__2;
+x_79 = l_Lean_addTrace___at_Lean_Meta_CheckAssignment_check___spec__4(x_78, x_76, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_77);
+lean_dec(x_8);
+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_80 = lean_ctor_get(x_79, 1);
+lean_inc(x_80);
+lean_dec(x_79);
+x_81 = l_Lean_Meta_CheckAssignment_throwCheckAssignmentFailure___rarg(x_80);
+return x_81;
}
}
}
@@ -13985,7 +14228,7 @@ return x_91;
}
else
{
-lean_object* x_102;
+lean_object* x_105;
lean_dec(x_19);
lean_dec(x_15);
lean_dec(x_14);
@@ -13998,43 +14241,75 @@ lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_102 = l_Lean_Meta_CheckAssignment_throwCheckAssignmentFailure___rarg(x_13);
-return x_102;
+x_105 = l_Lean_Meta_CheckAssignment_throwCheckAssignmentFailure___rarg(x_13);
+return x_105;
}
}
}
else
{
-lean_object* x_103; lean_object* x_104;
+lean_object* x_106; lean_object* x_107;
lean_dec(x_15);
lean_dec(x_14);
lean_dec(x_10);
lean_dec(x_1);
-x_103 = lean_ctor_get(x_18, 0);
-lean_inc(x_103);
-lean_dec(x_18);
-x_104 = l_Lean_Meta_CheckAssignment_check(x_103, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_13);
-return x_104;
-}
-}
-else
-{
-lean_object* x_105; lean_object* x_106; lean_object* x_107; uint8_t x_108;
-lean_dec(x_15);
-lean_dec(x_14);
-lean_dec(x_10);
-lean_dec(x_1);
-x_105 = lean_st_ref_get(x_8, x_13);
-x_106 = lean_ctor_get(x_105, 0);
+x_106 = lean_ctor_get(x_18, 0);
lean_inc(x_106);
-x_107 = lean_ctor_get(x_106, 3);
-lean_inc(x_107);
-lean_dec(x_106);
-x_108 = lean_ctor_get_uint8(x_107, sizeof(void*)*1);
-lean_dec(x_107);
+lean_dec(x_18);
+x_107 = l_Lean_Meta_CheckAssignment_check(x_106, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_13);
+return x_107;
+}
+}
+else
+{
+uint8_t x_108; lean_object* x_109; lean_object* x_120; lean_object* x_121; lean_object* x_122; uint8_t x_123;
+lean_dec(x_15);
+lean_dec(x_14);
+lean_dec(x_10);
+lean_dec(x_1);
+x_120 = lean_st_ref_get(x_8, x_13);
+x_121 = lean_ctor_get(x_120, 0);
+lean_inc(x_121);
+x_122 = lean_ctor_get(x_121, 3);
+lean_inc(x_122);
+lean_dec(x_121);
+x_123 = lean_ctor_get_uint8(x_122, sizeof(void*)*1);
+lean_dec(x_122);
+if (x_123 == 0)
+{
+lean_object* x_124; uint8_t x_125;
+x_124 = lean_ctor_get(x_120, 1);
+lean_inc(x_124);
+lean_dec(x_120);
+x_125 = 0;
+x_108 = x_125;
+x_109 = x_124;
+goto block_119;
+}
+else
+{
+lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; uint8_t x_131;
+x_126 = lean_ctor_get(x_120, 1);
+lean_inc(x_126);
+lean_dec(x_120);
+x_127 = l_Lean_Meta_CheckAssignment_checkMVar___closed__4;
+x_128 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_CheckAssignment_check___spec__5(x_127, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_126);
+x_129 = lean_ctor_get(x_128, 0);
+lean_inc(x_129);
+x_130 = lean_ctor_get(x_128, 1);
+lean_inc(x_130);
+lean_dec(x_128);
+x_131 = lean_unbox(x_129);
+lean_dec(x_129);
+x_108 = x_131;
+x_109 = x_130;
+goto block_119;
+}
+block_119:
+{
if (x_108 == 0)
{
-lean_object* x_109; lean_object* x_110;
+lean_object* x_110;
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
@@ -14042,55 +14317,22 @@ lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_109 = lean_ctor_get(x_105, 1);
-lean_inc(x_109);
-lean_dec(x_105);
x_110 = l_Lean_Meta_CheckAssignment_throwCheckAssignmentFailure___rarg(x_109);
return x_110;
}
else
{
-lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; uint8_t x_115;
-x_111 = lean_ctor_get(x_105, 1);
-lean_inc(x_111);
-lean_dec(x_105);
-x_112 = l_Lean_Meta_CheckAssignment_checkMVar___closed__4;
-x_113 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_CheckAssignment_check___spec__4(x_112, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_111);
-x_114 = lean_ctor_get(x_113, 0);
-lean_inc(x_114);
-x_115 = lean_unbox(x_114);
-lean_dec(x_114);
-if (x_115 == 0)
-{
-lean_object* x_116; lean_object* x_117;
-lean_dec(x_8);
-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_116 = lean_ctor_get(x_113, 1);
-lean_inc(x_116);
-lean_dec(x_113);
-x_117 = l_Lean_Meta_CheckAssignment_throwCheckAssignmentFailure___rarg(x_116);
-return x_117;
-}
-else
-{
-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;
-x_118 = lean_ctor_get(x_113, 1);
-lean_inc(x_118);
-lean_dec(x_113);
-x_119 = l_Lean_Meta_CheckAssignment_checkMVar___closed__7;
+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;
+x_111 = l_Lean_Meta_CheckAssignment_checkMVar___closed__7;
lean_inc(x_2);
-x_120 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_CheckAssignment_addAssignmentInfo(x_119, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_118);
-x_121 = lean_ctor_get(x_120, 0);
-lean_inc(x_121);
-x_122 = lean_ctor_get(x_120, 1);
-lean_inc(x_122);
-lean_dec(x_120);
-x_123 = l_Lean_addTrace___at_Lean_Meta_CheckAssignment_check___spec__5(x_112, x_121, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_122);
+x_112 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_CheckAssignment_addAssignmentInfo(x_111, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_109);
+x_113 = lean_ctor_get(x_112, 0);
+lean_inc(x_113);
+x_114 = lean_ctor_get(x_112, 1);
+lean_inc(x_114);
+lean_dec(x_112);
+x_115 = l_Lean_Meta_CheckAssignment_checkMVar___closed__4;
+x_116 = l_Lean_addTrace___at_Lean_Meta_CheckAssignment_check___spec__4(x_115, x_113, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_114);
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
@@ -14098,11 +14340,11 @@ lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_124 = lean_ctor_get(x_123, 1);
-lean_inc(x_124);
-lean_dec(x_123);
-x_125 = l_Lean_Meta_CheckAssignment_throwCheckAssignmentFailure___rarg(x_124);
-return x_125;
+x_117 = lean_ctor_get(x_116, 1);
+lean_inc(x_117);
+lean_dec(x_116);
+x_118 = l_Lean_Meta_CheckAssignment_throwCheckAssignmentFailure___rarg(x_117);
+return x_118;
}
}
}
@@ -29146,26 +29388,11 @@ x_4 = lean_box(x_3);
return x_4;
}
}
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_CheckAssignment_check___spec__4___boxed(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) {
-_start:
-{
-lean_object* x_10;
-x_10 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_CheckAssignment_check___spec__4(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-return x_10;
-}
-}
-lean_object* l_Lean_addTrace___at_Lean_Meta_CheckAssignment_check___spec__5___boxed(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* l_Lean_addTrace___at_Lean_Meta_CheckAssignment_check___spec__4___boxed(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) {
_start:
{
lean_object* x_11;
-x_11 = l_Lean_addTrace___at_Lean_Meta_CheckAssignment_check___spec__5(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
+x_11 = l_Lean_addTrace___at_Lean_Meta_CheckAssignment_check___spec__4(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
lean_dec(x_9);
lean_dec(x_8);
lean_dec(x_7);
@@ -29176,6 +29403,21 @@ lean_dec(x_3);
return x_11;
}
}
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_CheckAssignment_check___spec__5___boxed(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) {
+_start:
+{
+lean_object* x_10;
+x_10 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_CheckAssignment_check___spec__5(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+return x_10;
+}
+}
lean_object* l_Lean_Meta_isDelayedAssigned___at_Lean_Meta_CheckAssignment_check___spec__8___boxed(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) {
_start:
{
@@ -31959,7 +32201,7 @@ x_76 = lean_ctor_get(x_70, 1);
lean_inc(x_76);
lean_dec(x_70);
x_77 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_processAssignmentFOApprox_loop___closed__2;
-x_78 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_77, x_4, x_5, x_6, x_7, x_8, x_76);
+x_78 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_77, x_4, x_5, x_6, x_7, x_8, x_76);
x_79 = lean_ctor_get(x_78, 0);
lean_inc(x_79);
x_80 = lean_ctor_get(x_78, 1);
@@ -32471,7 +32713,7 @@ x_38 = lean_ctor_get(x_32, 1);
lean_inc(x_38);
lean_dec(x_32);
x_39 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_assignConst___lambda__1___closed__2;
-x_40 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_39, x_6, x_7, x_8, x_9, x_10, x_38);
+x_40 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_39, x_6, x_7, x_8, x_9, x_10, x_38);
x_41 = lean_ctor_get(x_40, 0);
lean_inc(x_41);
x_42 = lean_ctor_get(x_40, 1);
@@ -33547,7 +33789,7 @@ x_137 = lean_ctor_get(x_131, 1);
lean_inc(x_137);
lean_dec(x_131);
x_138 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_processAssignment_process___closed__3;
-x_139 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_138, x_6, x_7, x_8, x_9, x_10, x_137);
+x_139 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_138, x_6, x_7, x_8, x_9, x_10, x_137);
x_140 = lean_ctor_get(x_139, 0);
lean_inc(x_140);
x_141 = lean_ctor_get(x_139, 1);
@@ -33629,7 +33871,7 @@ x_98 = lean_ctor_get(x_92, 1);
lean_inc(x_98);
lean_dec(x_92);
x_99 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_processAssignment_process___closed__1;
-x_100 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_99, x_6, x_7, x_8, x_9, x_10, x_98);
+x_100 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_99, x_6, x_7, x_8, x_9, x_10, x_98);
x_101 = lean_ctor_get(x_100, 0);
lean_inc(x_101);
x_102 = lean_ctor_get(x_100, 1);
@@ -34537,44 +34779,44 @@ return x_10;
lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_processAssignment(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:
{
-lean_object* x_9; uint8_t x_22; lean_object* x_23; lean_object* x_426; lean_object* x_427; lean_object* x_428; uint8_t x_429;
-x_426 = lean_st_ref_get(x_7, x_8);
-x_427 = lean_ctor_get(x_426, 0);
-lean_inc(x_427);
-x_428 = lean_ctor_get(x_427, 3);
-lean_inc(x_428);
-lean_dec(x_427);
-x_429 = lean_ctor_get_uint8(x_428, sizeof(void*)*1);
-lean_dec(x_428);
-if (x_429 == 0)
+lean_object* x_9; uint8_t x_22; lean_object* x_23; lean_object* x_430; lean_object* x_431; lean_object* x_432; uint8_t x_433;
+x_430 = lean_st_ref_get(x_7, x_8);
+x_431 = lean_ctor_get(x_430, 0);
+lean_inc(x_431);
+x_432 = lean_ctor_get(x_431, 3);
+lean_inc(x_432);
+lean_dec(x_431);
+x_433 = lean_ctor_get_uint8(x_432, sizeof(void*)*1);
+lean_dec(x_432);
+if (x_433 == 0)
{
-lean_object* x_430; uint8_t x_431;
-x_430 = lean_ctor_get(x_426, 1);
-lean_inc(x_430);
-lean_dec(x_426);
-x_431 = 0;
-x_22 = x_431;
-x_23 = x_430;
-goto block_425;
+lean_object* x_434; uint8_t x_435;
+x_434 = lean_ctor_get(x_430, 1);
+lean_inc(x_434);
+lean_dec(x_430);
+x_435 = 0;
+x_22 = x_435;
+x_23 = x_434;
+goto block_429;
}
else
{
-lean_object* x_432; lean_object* x_433; lean_object* x_434; lean_object* x_435; lean_object* x_436; uint8_t x_437;
-x_432 = lean_ctor_get(x_426, 1);
-lean_inc(x_432);
-lean_dec(x_426);
-x_433 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__2;
-x_434 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__8(x_433, x_3, x_4, x_5, x_6, x_7, x_432);
-x_435 = lean_ctor_get(x_434, 0);
-lean_inc(x_435);
-x_436 = lean_ctor_get(x_434, 1);
+lean_object* x_436; lean_object* x_437; lean_object* x_438; lean_object* x_439; lean_object* x_440; uint8_t x_441;
+x_436 = lean_ctor_get(x_430, 1);
lean_inc(x_436);
-lean_dec(x_434);
-x_437 = lean_unbox(x_435);
-lean_dec(x_435);
-x_22 = x_437;
-x_23 = x_436;
-goto block_425;
+lean_dec(x_430);
+x_437 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__2;
+x_438 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__8(x_437, x_3, x_4, x_5, x_6, x_7, x_436);
+x_439 = lean_ctor_get(x_438, 0);
+lean_inc(x_439);
+x_440 = lean_ctor_get(x_438, 1);
+lean_inc(x_440);
+lean_dec(x_438);
+x_441 = lean_unbox(x_439);
+lean_dec(x_439);
+x_22 = x_441;
+x_23 = x_440;
+goto block_429;
}
block_21:
{
@@ -34632,597 +34874,581 @@ return x_20;
}
}
}
-block_425:
+block_429:
{
+uint8_t x_24;
if (x_22 == 0)
{
-lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; uint8_t x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; uint8_t x_33;
-x_24 = lean_st_ref_get(x_7, x_23);
-x_25 = lean_ctor_get(x_24, 0);
+uint8_t x_427;
+x_427 = 1;
+x_24 = x_427;
+goto block_426;
+}
+else
+{
+uint8_t x_428;
+x_428 = 0;
+x_24 = x_428;
+goto block_426;
+}
+block_426:
+{
+if (x_24 == 0)
+{
+lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; uint8_t x_68; lean_object* x_69; lean_object* x_82; lean_object* x_83; lean_object* x_84; uint8_t x_85;
+x_25 = lean_ctor_get(x_6, 3);
lean_inc(x_25);
-x_26 = lean_ctor_get(x_25, 3);
-lean_inc(x_26);
-lean_dec(x_25);
-x_27 = lean_ctor_get(x_24, 1);
+x_26 = l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__1___rarg(x_7, x_23);
+x_27 = lean_ctor_get(x_26, 0);
lean_inc(x_27);
-lean_dec(x_24);
-x_28 = lean_ctor_get_uint8(x_26, sizeof(void*)*1);
+x_28 = lean_ctor_get(x_26, 1);
+lean_inc(x_28);
lean_dec(x_26);
-x_29 = lean_st_ref_take(x_7, x_27);
-x_30 = lean_ctor_get(x_29, 0);
-lean_inc(x_30);
-x_31 = lean_ctor_get(x_30, 3);
-lean_inc(x_31);
-x_32 = lean_ctor_get(x_29, 1);
-lean_inc(x_32);
-lean_dec(x_29);
-x_33 = !lean_is_exclusive(x_30);
-if (x_33 == 0)
+x_82 = lean_st_ref_get(x_7, x_28);
+x_83 = lean_ctor_get(x_82, 0);
+lean_inc(x_83);
+x_84 = lean_ctor_get(x_83, 3);
+lean_inc(x_84);
+lean_dec(x_83);
+x_85 = lean_ctor_get_uint8(x_84, sizeof(void*)*1);
+lean_dec(x_84);
+if (x_85 == 0)
{
-lean_object* x_34; uint8_t x_35;
-x_34 = lean_ctor_get(x_30, 3);
-lean_dec(x_34);
-x_35 = !lean_is_exclusive(x_31);
-if (x_35 == 0)
-{
-uint8_t x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_73; uint8_t x_136; lean_object* x_137; lean_object* x_150; lean_object* x_151; lean_object* x_152; uint8_t x_153;
-x_36 = 0;
-lean_ctor_set_uint8(x_31, sizeof(void*)*1, x_36);
-x_37 = lean_st_ref_set(x_7, x_30, x_32);
-x_38 = lean_ctor_get(x_37, 1);
-lean_inc(x_38);
-lean_dec(x_37);
-x_150 = lean_st_ref_get(x_7, x_38);
-x_151 = lean_ctor_get(x_150, 0);
-lean_inc(x_151);
-x_152 = lean_ctor_get(x_151, 3);
-lean_inc(x_152);
-lean_dec(x_151);
-x_153 = lean_ctor_get_uint8(x_152, sizeof(void*)*1);
-lean_dec(x_152);
-if (x_153 == 0)
-{
-lean_object* x_154;
-x_154 = lean_ctor_get(x_150, 1);
-lean_inc(x_154);
-lean_dec(x_150);
-x_136 = x_36;
-x_137 = x_154;
-goto block_149;
+lean_object* x_86; uint8_t x_87;
+x_86 = lean_ctor_get(x_82, 1);
+lean_inc(x_86);
+lean_dec(x_82);
+x_87 = 0;
+x_68 = x_87;
+x_69 = x_86;
+goto block_81;
}
else
{
-lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; uint8_t x_160;
-x_155 = lean_ctor_get(x_150, 1);
-lean_inc(x_155);
-lean_dec(x_150);
-x_156 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__2;
-x_157 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_156, x_3, x_4, x_5, x_6, x_7, x_155);
-x_158 = lean_ctor_get(x_157, 0);
-lean_inc(x_158);
-x_159 = lean_ctor_get(x_157, 1);
-lean_inc(x_159);
-lean_dec(x_157);
-x_160 = lean_unbox(x_158);
-lean_dec(x_158);
-x_136 = x_160;
-x_137 = x_159;
-goto block_149;
-}
-block_72:
-{
-lean_object* x_41; 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_41 = lean_st_ref_get(x_7, x_40);
-x_42 = lean_ctor_get(x_41, 1);
-lean_inc(x_42);
-lean_dec(x_41);
-x_43 = lean_st_ref_take(x_7, x_42);
-x_44 = lean_ctor_get(x_43, 0);
-lean_inc(x_44);
-x_45 = lean_ctor_get(x_44, 3);
-lean_inc(x_45);
-x_46 = lean_ctor_get(x_43, 1);
-lean_inc(x_46);
-lean_dec(x_43);
-x_47 = !lean_is_exclusive(x_44);
-if (x_47 == 0)
-{
-lean_object* x_48; uint8_t x_49;
-x_48 = lean_ctor_get(x_44, 3);
-lean_dec(x_48);
-x_49 = !lean_is_exclusive(x_45);
-if (x_49 == 0)
-{
-lean_object* x_50; uint8_t x_51;
-lean_ctor_set_uint8(x_45, sizeof(void*)*1, x_28);
-x_50 = lean_st_ref_set(x_7, x_44, x_46);
-lean_dec(x_7);
-x_51 = !lean_is_exclusive(x_50);
-if (x_51 == 0)
-{
-lean_object* x_52;
-x_52 = lean_ctor_get(x_50, 0);
-lean_dec(x_52);
-lean_ctor_set_tag(x_50, 1);
-lean_ctor_set(x_50, 0, x_39);
-x_9 = x_50;
-goto block_21;
-}
-else
-{
-lean_object* x_53; lean_object* x_54;
-x_53 = lean_ctor_get(x_50, 1);
-lean_inc(x_53);
-lean_dec(x_50);
-x_54 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_54, 0, x_39);
-lean_ctor_set(x_54, 1, x_53);
-x_9 = x_54;
-goto block_21;
-}
-}
-else
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60;
-x_55 = lean_ctor_get(x_45, 0);
-lean_inc(x_55);
-lean_dec(x_45);
-x_56 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_56, 0, x_55);
-lean_ctor_set_uint8(x_56, sizeof(void*)*1, x_28);
-lean_ctor_set(x_44, 3, x_56);
-x_57 = lean_st_ref_set(x_7, x_44, x_46);
-lean_dec(x_7);
-x_58 = lean_ctor_get(x_57, 1);
-lean_inc(x_58);
-if (lean_is_exclusive(x_57)) {
- lean_ctor_release(x_57, 0);
- lean_ctor_release(x_57, 1);
- x_59 = x_57;
-} else {
- lean_dec_ref(x_57);
- x_59 = lean_box(0);
-}
-if (lean_is_scalar(x_59)) {
- x_60 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_60 = x_59;
- lean_ctor_set_tag(x_60, 1);
-}
-lean_ctor_set(x_60, 0, x_39);
-lean_ctor_set(x_60, 1, x_58);
-x_9 = x_60;
-goto block_21;
-}
-}
-else
-{
-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;
-x_61 = lean_ctor_get(x_44, 0);
-x_62 = lean_ctor_get(x_44, 1);
-x_63 = lean_ctor_get(x_44, 2);
-lean_inc(x_63);
-lean_inc(x_62);
-lean_inc(x_61);
-lean_dec(x_44);
-x_64 = lean_ctor_get(x_45, 0);
-lean_inc(x_64);
-if (lean_is_exclusive(x_45)) {
- lean_ctor_release(x_45, 0);
- x_65 = x_45;
-} else {
- lean_dec_ref(x_45);
- x_65 = lean_box(0);
-}
-if (lean_is_scalar(x_65)) {
- x_66 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_66 = x_65;
-}
-lean_ctor_set(x_66, 0, x_64);
-lean_ctor_set_uint8(x_66, sizeof(void*)*1, x_28);
-x_67 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_67, 0, x_61);
-lean_ctor_set(x_67, 1, x_62);
-lean_ctor_set(x_67, 2, x_63);
-lean_ctor_set(x_67, 3, x_66);
-x_68 = lean_st_ref_set(x_7, x_67, x_46);
-lean_dec(x_7);
-x_69 = lean_ctor_get(x_68, 1);
-lean_inc(x_69);
-if (lean_is_exclusive(x_68)) {
- lean_ctor_release(x_68, 0);
- lean_ctor_release(x_68, 1);
- x_70 = x_68;
-} else {
- lean_dec_ref(x_68);
- x_70 = lean_box(0);
-}
-if (lean_is_scalar(x_70)) {
- x_71 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_71 = x_70;
- lean_ctor_set_tag(x_71, 1);
-}
-lean_ctor_set(x_71, 0, x_39);
-lean_ctor_set(x_71, 1, x_69);
-x_9 = x_71;
-goto block_21;
-}
-}
-block_135:
-{
-lean_object* x_74; lean_object* x_75; lean_object* x_76;
-x_74 = l_Lean_Expr_getAppFn(x_1);
-x_75 = l_Lean_Expr_mvarId_x21(x_74);
-x_76 = l_Lean_Meta_getMVarDecl___at_Lean_Meta_CheckAssignment_run___spec__1(x_75, x_3, x_4, x_5, x_6, x_7, x_73);
-if (lean_obj_tag(x_76) == 0)
-{
-lean_object* x_77; 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;
-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 = lean_unsigned_to_nat(0u);
-x_80 = l_Lean_Expr_getAppNumArgsAux(x_1, x_79);
-x_81 = l_Lean_Expr_getAppArgs___closed__1;
-lean_inc(x_80);
-x_82 = lean_mk_array(x_80, x_81);
-x_83 = lean_unsigned_to_nat(1u);
-x_84 = lean_nat_sub(x_80, x_83);
-lean_dec(x_80);
-x_85 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_82, x_84);
-lean_inc(x_7);
-x_86 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_processAssignment_process(x_74, x_77, x_79, x_85, x_2, x_3, x_4, x_5, x_6, x_7, x_78);
-if (lean_obj_tag(x_86) == 0)
-{
-lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; uint8_t x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; uint8_t x_98;
-x_87 = lean_ctor_get(x_86, 0);
-lean_inc(x_87);
-x_88 = lean_ctor_get(x_86, 1);
+lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; uint8_t x_93;
+x_88 = lean_ctor_get(x_82, 1);
lean_inc(x_88);
-lean_dec(x_86);
-x_89 = lean_st_ref_get(x_7, x_88);
-x_90 = lean_ctor_get(x_89, 0);
-lean_inc(x_90);
-x_91 = lean_ctor_get(x_89, 1);
+lean_dec(x_82);
+x_89 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__2;
+x_90 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_89, x_3, x_4, x_5, x_6, x_7, x_88);
+x_91 = lean_ctor_get(x_90, 0);
lean_inc(x_91);
-lean_dec(x_89);
-x_92 = lean_ctor_get(x_90, 3);
+x_92 = lean_ctor_get(x_90, 1);
lean_inc(x_92);
lean_dec(x_90);
-x_93 = lean_ctor_get_uint8(x_92, sizeof(void*)*1);
-lean_dec(x_92);
-x_94 = lean_st_ref_take(x_7, x_91);
+x_93 = lean_unbox(x_91);
+lean_dec(x_91);
+x_68 = x_93;
+x_69 = x_92;
+goto block_81;
+}
+block_67:
+{
+lean_object* x_30; lean_object* x_31; lean_object* x_32;
+x_30 = l_Lean_Expr_getAppFn(x_1);
+x_31 = l_Lean_Expr_mvarId_x21(x_30);
+x_32 = l_Lean_Meta_getMVarDecl___at_Lean_Meta_CheckAssignment_run___spec__1(x_31, x_3, x_4, x_5, x_6, x_7, x_29);
+if (lean_obj_tag(x_32) == 0)
+{
+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;
+x_33 = lean_ctor_get(x_32, 0);
+lean_inc(x_33);
+x_34 = lean_ctor_get(x_32, 1);
+lean_inc(x_34);
+lean_dec(x_32);
+x_35 = lean_unsigned_to_nat(0u);
+x_36 = l_Lean_Expr_getAppNumArgsAux(x_1, x_35);
+x_37 = l_Lean_Expr_getAppArgs___closed__1;
+lean_inc(x_36);
+x_38 = lean_mk_array(x_36, x_37);
+x_39 = lean_unsigned_to_nat(1u);
+x_40 = lean_nat_sub(x_36, x_39);
+lean_dec(x_36);
+x_41 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_38, x_40);
+lean_inc(x_7);
+lean_inc(x_6);
+lean_inc(x_5);
+lean_inc(x_4);
+lean_inc(x_3);
+x_42 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_processAssignment_process(x_30, x_33, x_35, x_41, x_2, x_3, x_4, x_5, x_6, x_7, x_34);
+if (lean_obj_tag(x_42) == 0)
+{
+lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; uint8_t x_47;
+x_43 = lean_ctor_get(x_42, 0);
+lean_inc(x_43);
+x_44 = lean_ctor_get(x_42, 1);
+lean_inc(x_44);
+lean_dec(x_42);
+x_45 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__2;
+x_46 = l___private_Lean_Util_Trace_0__Lean_addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__7(x_27, x_45, x_25, x_3, x_4, x_5, x_6, x_7, x_44);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_47 = !lean_is_exclusive(x_46);
+if (x_47 == 0)
+{
+lean_object* x_48;
+x_48 = lean_ctor_get(x_46, 0);
+lean_dec(x_48);
+lean_ctor_set(x_46, 0, x_43);
+return x_46;
+}
+else
+{
+lean_object* x_49; lean_object* x_50;
+x_49 = lean_ctor_get(x_46, 1);
+lean_inc(x_49);
+lean_dec(x_46);
+x_50 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_50, 0, x_43);
+lean_ctor_set(x_50, 1, x_49);
+return x_50;
+}
+}
+else
+{
+lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; uint8_t x_55;
+x_51 = lean_ctor_get(x_42, 0);
+lean_inc(x_51);
+x_52 = lean_ctor_get(x_42, 1);
+lean_inc(x_52);
+lean_dec(x_42);
+x_53 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__2;
+x_54 = l___private_Lean_Util_Trace_0__Lean_addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__7(x_27, x_53, x_25, x_3, x_4, x_5, x_6, x_7, x_52);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_55 = !lean_is_exclusive(x_54);
+if (x_55 == 0)
+{
+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_51);
+return x_54;
+}
+else
+{
+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_51);
+lean_ctor_set(x_58, 1, x_57);
+return x_58;
+}
+}
+}
+else
+{
+lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; uint8_t x_63;
+lean_dec(x_30);
+lean_dec(x_2);
+lean_dec(x_1);
+x_59 = lean_ctor_get(x_32, 0);
+lean_inc(x_59);
+x_60 = lean_ctor_get(x_32, 1);
+lean_inc(x_60);
+lean_dec(x_32);
+x_61 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__2;
+x_62 = l___private_Lean_Util_Trace_0__Lean_addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__7(x_27, x_61, x_25, x_3, 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);
+lean_dec(x_3);
+x_63 = !lean_is_exclusive(x_62);
+if (x_63 == 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_59);
+return x_62;
+}
+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_59);
+lean_ctor_set(x_66, 1, x_65);
+return x_66;
+}
+}
+}
+block_81:
+{
+if (x_68 == 0)
+{
+x_29 = x_69;
+goto block_67;
+}
+else
+{
+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; lean_object* x_78; lean_object* x_79; lean_object* x_80;
+lean_inc(x_1);
+x_70 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_70, 0, x_1);
+x_71 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_72 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_72, 0, x_71);
+lean_ctor_set(x_72, 1, x_70);
+x_73 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__8;
+x_74 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_74, 0, x_72);
+lean_ctor_set(x_74, 1, x_73);
+lean_inc(x_2);
+x_75 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_75, 0, x_2);
+x_76 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_76, 0, x_74);
+lean_ctor_set(x_76, 1, x_75);
+x_77 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_77, 0, x_76);
+lean_ctor_set(x_77, 1, x_71);
+x_78 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__2;
+x_79 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__2(x_78, x_77, x_3, x_4, x_5, x_6, x_7, x_69);
+x_80 = lean_ctor_get(x_79, 1);
+lean_inc(x_80);
+lean_dec(x_79);
+x_29 = x_80;
+goto block_67;
+}
+}
+}
+else
+{
+lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; uint8_t x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; uint8_t x_103;
+x_94 = lean_st_ref_get(x_7, x_23);
x_95 = lean_ctor_get(x_94, 0);
lean_inc(x_95);
x_96 = lean_ctor_get(x_95, 3);
lean_inc(x_96);
+lean_dec(x_95);
x_97 = lean_ctor_get(x_94, 1);
lean_inc(x_97);
lean_dec(x_94);
-x_98 = !lean_is_exclusive(x_95);
-if (x_98 == 0)
-{
-lean_object* x_99; uint8_t x_100;
-x_99 = lean_ctor_get(x_95, 3);
-lean_dec(x_99);
-x_100 = !lean_is_exclusive(x_96);
-if (x_100 == 0)
-{
-lean_object* x_101; uint8_t x_102;
-lean_ctor_set_uint8(x_96, sizeof(void*)*1, x_28);
-x_101 = lean_st_ref_set(x_7, x_95, x_97);
-lean_dec(x_7);
-x_102 = !lean_is_exclusive(x_101);
-if (x_102 == 0)
-{
-lean_object* x_103; lean_object* x_104; lean_object* x_105;
-x_103 = lean_ctor_get(x_101, 0);
-lean_dec(x_103);
-x_104 = lean_box(x_93);
-x_105 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_105, 0, x_87);
-lean_ctor_set(x_105, 1, x_104);
-lean_ctor_set(x_101, 0, x_105);
-x_9 = x_101;
-goto block_21;
-}
-else
-{
-lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109;
-x_106 = lean_ctor_get(x_101, 1);
-lean_inc(x_106);
-lean_dec(x_101);
-x_107 = lean_box(x_93);
-x_108 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_108, 0, x_87);
-lean_ctor_set(x_108, 1, x_107);
-x_109 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_109, 0, x_108);
-lean_ctor_set(x_109, 1, x_106);
-x_9 = x_109;
-goto block_21;
-}
-}
-else
-{
-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;
-x_110 = lean_ctor_get(x_96, 0);
-lean_inc(x_110);
+x_98 = lean_ctor_get_uint8(x_96, sizeof(void*)*1);
lean_dec(x_96);
-x_111 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_111, 0, x_110);
-lean_ctor_set_uint8(x_111, sizeof(void*)*1, x_28);
-lean_ctor_set(x_95, 3, x_111);
-x_112 = lean_st_ref_set(x_7, x_95, x_97);
+x_99 = lean_st_ref_take(x_7, x_97);
+x_100 = lean_ctor_get(x_99, 0);
+lean_inc(x_100);
+x_101 = lean_ctor_get(x_100, 3);
+lean_inc(x_101);
+x_102 = lean_ctor_get(x_99, 1);
+lean_inc(x_102);
+lean_dec(x_99);
+x_103 = !lean_is_exclusive(x_100);
+if (x_103 == 0)
+{
+lean_object* x_104; uint8_t x_105;
+x_104 = lean_ctor_get(x_100, 3);
+lean_dec(x_104);
+x_105 = !lean_is_exclusive(x_101);
+if (x_105 == 0)
+{
+uint8_t x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_143; uint8_t x_206; lean_object* x_207; lean_object* x_220; lean_object* x_221; lean_object* x_222; uint8_t x_223;
+x_106 = 0;
+lean_ctor_set_uint8(x_101, sizeof(void*)*1, x_106);
+x_107 = lean_st_ref_set(x_7, x_100, x_102);
+x_108 = lean_ctor_get(x_107, 1);
+lean_inc(x_108);
+lean_dec(x_107);
+x_220 = lean_st_ref_get(x_7, x_108);
+x_221 = lean_ctor_get(x_220, 0);
+lean_inc(x_221);
+x_222 = lean_ctor_get(x_221, 3);
+lean_inc(x_222);
+lean_dec(x_221);
+x_223 = lean_ctor_get_uint8(x_222, sizeof(void*)*1);
+lean_dec(x_222);
+if (x_223 == 0)
+{
+lean_object* x_224;
+x_224 = lean_ctor_get(x_220, 1);
+lean_inc(x_224);
+lean_dec(x_220);
+x_206 = x_106;
+x_207 = x_224;
+goto block_219;
+}
+else
+{
+lean_object* x_225; lean_object* x_226; lean_object* x_227; lean_object* x_228; lean_object* x_229; uint8_t x_230;
+x_225 = lean_ctor_get(x_220, 1);
+lean_inc(x_225);
+lean_dec(x_220);
+x_226 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__2;
+x_227 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_226, x_3, x_4, x_5, x_6, x_7, x_225);
+x_228 = lean_ctor_get(x_227, 0);
+lean_inc(x_228);
+x_229 = lean_ctor_get(x_227, 1);
+lean_inc(x_229);
+lean_dec(x_227);
+x_230 = lean_unbox(x_228);
+lean_dec(x_228);
+x_206 = x_230;
+x_207 = x_229;
+goto block_219;
+}
+block_142:
+{
+lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; uint8_t x_117;
+x_111 = lean_st_ref_get(x_7, x_110);
+x_112 = lean_ctor_get(x_111, 1);
+lean_inc(x_112);
+lean_dec(x_111);
+x_113 = lean_st_ref_take(x_7, x_112);
+x_114 = lean_ctor_get(x_113, 0);
+lean_inc(x_114);
+x_115 = lean_ctor_get(x_114, 3);
+lean_inc(x_115);
+x_116 = lean_ctor_get(x_113, 1);
+lean_inc(x_116);
+lean_dec(x_113);
+x_117 = !lean_is_exclusive(x_114);
+if (x_117 == 0)
+{
+lean_object* x_118; uint8_t x_119;
+x_118 = lean_ctor_get(x_114, 3);
+lean_dec(x_118);
+x_119 = !lean_is_exclusive(x_115);
+if (x_119 == 0)
+{
+lean_object* x_120; uint8_t x_121;
+lean_ctor_set_uint8(x_115, sizeof(void*)*1, x_98);
+x_120 = lean_st_ref_set(x_7, x_114, x_116);
lean_dec(x_7);
-x_113 = lean_ctor_get(x_112, 1);
-lean_inc(x_113);
-if (lean_is_exclusive(x_112)) {
- lean_ctor_release(x_112, 0);
- lean_ctor_release(x_112, 1);
- x_114 = x_112;
-} else {
- lean_dec_ref(x_112);
- x_114 = lean_box(0);
+x_121 = !lean_is_exclusive(x_120);
+if (x_121 == 0)
+{
+lean_object* x_122;
+x_122 = lean_ctor_get(x_120, 0);
+lean_dec(x_122);
+lean_ctor_set_tag(x_120, 1);
+lean_ctor_set(x_120, 0, x_109);
+x_9 = x_120;
+goto block_21;
}
-x_115 = lean_box(x_93);
-x_116 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_116, 0, x_87);
-lean_ctor_set(x_116, 1, x_115);
-if (lean_is_scalar(x_114)) {
- x_117 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_117 = x_114;
-}
-lean_ctor_set(x_117, 0, x_116);
-lean_ctor_set(x_117, 1, x_113);
-x_9 = x_117;
+else
+{
+lean_object* x_123; lean_object* x_124;
+x_123 = lean_ctor_get(x_120, 1);
+lean_inc(x_123);
+lean_dec(x_120);
+x_124 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_124, 0, x_109);
+lean_ctor_set(x_124, 1, x_123);
+x_9 = x_124;
goto block_21;
}
}
else
{
-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;
-x_118 = lean_ctor_get(x_95, 0);
-x_119 = lean_ctor_get(x_95, 1);
-x_120 = lean_ctor_get(x_95, 2);
-lean_inc(x_120);
-lean_inc(x_119);
-lean_inc(x_118);
-lean_dec(x_95);
-x_121 = lean_ctor_get(x_96, 0);
-lean_inc(x_121);
-if (lean_is_exclusive(x_96)) {
- lean_ctor_release(x_96, 0);
- x_122 = x_96;
-} else {
- lean_dec_ref(x_96);
- x_122 = lean_box(0);
-}
-if (lean_is_scalar(x_122)) {
- x_123 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_123 = x_122;
-}
-lean_ctor_set(x_123, 0, x_121);
-lean_ctor_set_uint8(x_123, sizeof(void*)*1, x_28);
-x_124 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_124, 0, x_118);
-lean_ctor_set(x_124, 1, x_119);
-lean_ctor_set(x_124, 2, x_120);
-lean_ctor_set(x_124, 3, x_123);
-x_125 = lean_st_ref_set(x_7, x_124, x_97);
+lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130;
+x_125 = lean_ctor_get(x_115, 0);
+lean_inc(x_125);
+lean_dec(x_115);
+x_126 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_126, 0, x_125);
+lean_ctor_set_uint8(x_126, sizeof(void*)*1, x_98);
+lean_ctor_set(x_114, 3, x_126);
+x_127 = lean_st_ref_set(x_7, x_114, x_116);
lean_dec(x_7);
-x_126 = lean_ctor_get(x_125, 1);
-lean_inc(x_126);
-if (lean_is_exclusive(x_125)) {
- lean_ctor_release(x_125, 0);
- lean_ctor_release(x_125, 1);
- x_127 = x_125;
+x_128 = lean_ctor_get(x_127, 1);
+lean_inc(x_128);
+if (lean_is_exclusive(x_127)) {
+ lean_ctor_release(x_127, 0);
+ lean_ctor_release(x_127, 1);
+ x_129 = x_127;
} else {
- lean_dec_ref(x_125);
- x_127 = lean_box(0);
+ lean_dec_ref(x_127);
+ x_129 = lean_box(0);
}
-x_128 = lean_box(x_93);
-x_129 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_129, 0, x_87);
-lean_ctor_set(x_129, 1, x_128);
-if (lean_is_scalar(x_127)) {
- x_130 = lean_alloc_ctor(0, 2, 0);
+if (lean_is_scalar(x_129)) {
+ x_130 = lean_alloc_ctor(1, 2, 0);
} else {
- x_130 = x_127;
+ x_130 = x_129;
+ lean_ctor_set_tag(x_130, 1);
}
-lean_ctor_set(x_130, 0, x_129);
-lean_ctor_set(x_130, 1, x_126);
+lean_ctor_set(x_130, 0, x_109);
+lean_ctor_set(x_130, 1, x_128);
x_9 = x_130;
goto block_21;
}
}
else
{
-lean_object* x_131; lean_object* x_132;
-x_131 = lean_ctor_get(x_86, 0);
-lean_inc(x_131);
-x_132 = lean_ctor_get(x_86, 1);
-lean_inc(x_132);
-lean_dec(x_86);
-x_39 = x_131;
-x_40 = x_132;
-goto block_72;
-}
-}
-else
-{
-lean_object* x_133; lean_object* x_134;
-lean_dec(x_74);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_dec(x_1);
-x_133 = lean_ctor_get(x_76, 0);
+lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141;
+x_131 = lean_ctor_get(x_114, 0);
+x_132 = lean_ctor_get(x_114, 1);
+x_133 = lean_ctor_get(x_114, 2);
lean_inc(x_133);
-x_134 = lean_ctor_get(x_76, 1);
+lean_inc(x_132);
+lean_inc(x_131);
+lean_dec(x_114);
+x_134 = lean_ctor_get(x_115, 0);
lean_inc(x_134);
-lean_dec(x_76);
-x_39 = x_133;
-x_40 = x_134;
-goto block_72;
+if (lean_is_exclusive(x_115)) {
+ lean_ctor_release(x_115, 0);
+ x_135 = x_115;
+} else {
+ lean_dec_ref(x_115);
+ x_135 = lean_box(0);
+}
+if (lean_is_scalar(x_135)) {
+ x_136 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_136 = x_135;
+}
+lean_ctor_set(x_136, 0, x_134);
+lean_ctor_set_uint8(x_136, sizeof(void*)*1, x_98);
+x_137 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_137, 0, x_131);
+lean_ctor_set(x_137, 1, x_132);
+lean_ctor_set(x_137, 2, x_133);
+lean_ctor_set(x_137, 3, x_136);
+x_138 = lean_st_ref_set(x_7, x_137, x_116);
+lean_dec(x_7);
+x_139 = lean_ctor_get(x_138, 1);
+lean_inc(x_139);
+if (lean_is_exclusive(x_138)) {
+ lean_ctor_release(x_138, 0);
+ lean_ctor_release(x_138, 1);
+ x_140 = x_138;
+} else {
+ lean_dec_ref(x_138);
+ x_140 = lean_box(0);
+}
+if (lean_is_scalar(x_140)) {
+ x_141 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_141 = x_140;
+ lean_ctor_set_tag(x_141, 1);
+}
+lean_ctor_set(x_141, 0, x_109);
+lean_ctor_set(x_141, 1, x_139);
+x_9 = x_141;
+goto block_21;
}
}
-block_149:
+block_205:
{
-if (x_136 == 0)
+lean_object* x_144; lean_object* x_145; lean_object* x_146;
+x_144 = l_Lean_Expr_getAppFn(x_1);
+x_145 = l_Lean_Expr_mvarId_x21(x_144);
+x_146 = l_Lean_Meta_getMVarDecl___at_Lean_Meta_CheckAssignment_run___spec__1(x_145, x_3, x_4, x_5, x_6, x_7, x_143);
+if (lean_obj_tag(x_146) == 0)
{
-x_73 = x_137;
-goto block_135;
-}
-else
-{
-lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148;
-lean_inc(x_1);
-x_138 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_138, 0, x_1);
-x_139 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_140 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_140, 0, x_139);
-lean_ctor_set(x_140, 1, x_138);
-x_141 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__8;
-x_142 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_142, 0, x_140);
-lean_ctor_set(x_142, 1, x_141);
-lean_inc(x_2);
-x_143 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_143, 0, x_2);
-x_144 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_144, 0, x_142);
-lean_ctor_set(x_144, 1, x_143);
-x_145 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_145, 0, x_144);
-lean_ctor_set(x_145, 1, x_139);
-x_146 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__2;
-x_147 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__2(x_146, x_145, x_3, x_4, x_5, x_6, x_7, x_137);
-x_148 = lean_ctor_get(x_147, 1);
+lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156;
+x_147 = lean_ctor_get(x_146, 0);
+lean_inc(x_147);
+x_148 = lean_ctor_get(x_146, 1);
lean_inc(x_148);
-lean_dec(x_147);
-x_73 = x_148;
-goto block_135;
-}
-}
-}
-else
+lean_dec(x_146);
+x_149 = lean_unsigned_to_nat(0u);
+x_150 = l_Lean_Expr_getAppNumArgsAux(x_1, x_149);
+x_151 = l_Lean_Expr_getAppArgs___closed__1;
+lean_inc(x_150);
+x_152 = lean_mk_array(x_150, x_151);
+x_153 = lean_unsigned_to_nat(1u);
+x_154 = lean_nat_sub(x_150, x_153);
+lean_dec(x_150);
+x_155 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_152, x_154);
+lean_inc(x_7);
+x_156 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_processAssignment_process(x_144, x_147, x_149, x_155, x_2, x_3, x_4, x_5, x_6, x_7, x_148);
+if (lean_obj_tag(x_156) == 0)
{
-lean_object* x_161; uint8_t x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_187; uint8_t x_231; lean_object* x_232; lean_object* x_245; lean_object* x_246; lean_object* x_247; uint8_t x_248;
-x_161 = lean_ctor_get(x_31, 0);
+lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; uint8_t x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; uint8_t x_168;
+x_157 = lean_ctor_get(x_156, 0);
+lean_inc(x_157);
+x_158 = lean_ctor_get(x_156, 1);
+lean_inc(x_158);
+lean_dec(x_156);
+x_159 = lean_st_ref_get(x_7, x_158);
+x_160 = lean_ctor_get(x_159, 0);
+lean_inc(x_160);
+x_161 = lean_ctor_get(x_159, 1);
lean_inc(x_161);
-lean_dec(x_31);
-x_162 = 0;
-x_163 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_163, 0, x_161);
-lean_ctor_set_uint8(x_163, sizeof(void*)*1, x_162);
-lean_ctor_set(x_30, 3, x_163);
-x_164 = lean_st_ref_set(x_7, x_30, x_32);
-x_165 = lean_ctor_get(x_164, 1);
+lean_dec(x_159);
+x_162 = lean_ctor_get(x_160, 3);
+lean_inc(x_162);
+lean_dec(x_160);
+x_163 = lean_ctor_get_uint8(x_162, sizeof(void*)*1);
+lean_dec(x_162);
+x_164 = lean_st_ref_take(x_7, x_161);
+x_165 = lean_ctor_get(x_164, 0);
lean_inc(x_165);
+x_166 = lean_ctor_get(x_165, 3);
+lean_inc(x_166);
+x_167 = lean_ctor_get(x_164, 1);
+lean_inc(x_167);
lean_dec(x_164);
-x_245 = lean_st_ref_get(x_7, x_165);
-x_246 = lean_ctor_get(x_245, 0);
-lean_inc(x_246);
-x_247 = lean_ctor_get(x_246, 3);
-lean_inc(x_247);
-lean_dec(x_246);
-x_248 = lean_ctor_get_uint8(x_247, sizeof(void*)*1);
-lean_dec(x_247);
-if (x_248 == 0)
+x_168 = !lean_is_exclusive(x_165);
+if (x_168 == 0)
{
-lean_object* x_249;
-x_249 = lean_ctor_get(x_245, 1);
-lean_inc(x_249);
-lean_dec(x_245);
-x_231 = x_162;
-x_232 = x_249;
-goto block_244;
+lean_object* x_169; uint8_t x_170;
+x_169 = lean_ctor_get(x_165, 3);
+lean_dec(x_169);
+x_170 = !lean_is_exclusive(x_166);
+if (x_170 == 0)
+{
+lean_object* x_171; uint8_t x_172;
+lean_ctor_set_uint8(x_166, sizeof(void*)*1, x_98);
+x_171 = lean_st_ref_set(x_7, x_165, x_167);
+lean_dec(x_7);
+x_172 = !lean_is_exclusive(x_171);
+if (x_172 == 0)
+{
+lean_object* x_173; lean_object* x_174; lean_object* x_175;
+x_173 = lean_ctor_get(x_171, 0);
+lean_dec(x_173);
+x_174 = lean_box(x_163);
+x_175 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_175, 0, x_157);
+lean_ctor_set(x_175, 1, x_174);
+lean_ctor_set(x_171, 0, x_175);
+x_9 = x_171;
+goto block_21;
}
else
{
-lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253; lean_object* x_254; uint8_t x_255;
-x_250 = lean_ctor_get(x_245, 1);
-lean_inc(x_250);
-lean_dec(x_245);
-x_251 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__2;
-x_252 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_251, x_3, x_4, x_5, x_6, x_7, x_250);
-x_253 = lean_ctor_get(x_252, 0);
-lean_inc(x_253);
-x_254 = lean_ctor_get(x_252, 1);
-lean_inc(x_254);
-lean_dec(x_252);
-x_255 = lean_unbox(x_253);
-lean_dec(x_253);
-x_231 = x_255;
-x_232 = x_254;
-goto block_244;
-}
-block_186:
-{
-lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185;
-x_168 = lean_st_ref_get(x_7, x_167);
-x_169 = lean_ctor_get(x_168, 1);
-lean_inc(x_169);
-lean_dec(x_168);
-x_170 = lean_st_ref_take(x_7, x_169);
-x_171 = lean_ctor_get(x_170, 0);
-lean_inc(x_171);
-x_172 = lean_ctor_get(x_171, 3);
-lean_inc(x_172);
-x_173 = lean_ctor_get(x_170, 1);
-lean_inc(x_173);
-lean_dec(x_170);
-x_174 = lean_ctor_get(x_171, 0);
-lean_inc(x_174);
-x_175 = lean_ctor_get(x_171, 1);
-lean_inc(x_175);
-x_176 = lean_ctor_get(x_171, 2);
+lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179;
+x_176 = lean_ctor_get(x_171, 1);
lean_inc(x_176);
-if (lean_is_exclusive(x_171)) {
- lean_ctor_release(x_171, 0);
- lean_ctor_release(x_171, 1);
- lean_ctor_release(x_171, 2);
- lean_ctor_release(x_171, 3);
- x_177 = x_171;
-} else {
- lean_dec_ref(x_171);
- x_177 = lean_box(0);
+lean_dec(x_171);
+x_177 = lean_box(x_163);
+x_178 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_178, 0, x_157);
+lean_ctor_set(x_178, 1, x_177);
+x_179 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_179, 0, x_178);
+lean_ctor_set(x_179, 1, x_176);
+x_9 = x_179;
+goto block_21;
}
-x_178 = lean_ctor_get(x_172, 0);
-lean_inc(x_178);
-if (lean_is_exclusive(x_172)) {
- lean_ctor_release(x_172, 0);
- x_179 = x_172;
-} else {
- lean_dec_ref(x_172);
- x_179 = lean_box(0);
}
-if (lean_is_scalar(x_179)) {
- x_180 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_180 = x_179;
-}
-lean_ctor_set(x_180, 0, x_178);
-lean_ctor_set_uint8(x_180, sizeof(void*)*1, x_28);
-if (lean_is_scalar(x_177)) {
- x_181 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_181 = x_177;
-}
-lean_ctor_set(x_181, 0, x_174);
-lean_ctor_set(x_181, 1, x_175);
-lean_ctor_set(x_181, 2, x_176);
-lean_ctor_set(x_181, 3, x_180);
-x_182 = lean_st_ref_set(x_7, x_181, x_173);
+else
+{
+lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187;
+x_180 = lean_ctor_get(x_166, 0);
+lean_inc(x_180);
+lean_dec(x_166);
+x_181 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_181, 0, x_180);
+lean_ctor_set_uint8(x_181, sizeof(void*)*1, x_98);
+lean_ctor_set(x_165, 3, x_181);
+x_182 = lean_st_ref_set(x_7, x_165, x_167);
lean_dec(x_7);
x_183 = lean_ctor_get(x_182, 1);
lean_inc(x_183);
@@ -35234,785 +35460,819 @@ if (lean_is_exclusive(x_182)) {
lean_dec_ref(x_182);
x_184 = lean_box(0);
}
+x_185 = lean_box(x_163);
+x_186 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_186, 0, x_157);
+lean_ctor_set(x_186, 1, x_185);
if (lean_is_scalar(x_184)) {
- x_185 = lean_alloc_ctor(1, 2, 0);
+ x_187 = lean_alloc_ctor(0, 2, 0);
} else {
- x_185 = x_184;
- lean_ctor_set_tag(x_185, 1);
+ x_187 = x_184;
}
-lean_ctor_set(x_185, 0, x_166);
-lean_ctor_set(x_185, 1, x_183);
-x_9 = x_185;
+lean_ctor_set(x_187, 0, x_186);
+lean_ctor_set(x_187, 1, x_183);
+x_9 = x_187;
goto block_21;
}
-block_230:
+}
+else
{
-lean_object* x_188; lean_object* x_189; lean_object* x_190;
-x_188 = l_Lean_Expr_getAppFn(x_1);
-x_189 = l_Lean_Expr_mvarId_x21(x_188);
-x_190 = l_Lean_Meta_getMVarDecl___at_Lean_Meta_CheckAssignment_run___spec__1(x_189, x_3, x_4, x_5, x_6, x_7, x_187);
-if (lean_obj_tag(x_190) == 0)
-{
-lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200;
-x_191 = lean_ctor_get(x_190, 0);
+lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200;
+x_188 = lean_ctor_get(x_165, 0);
+x_189 = lean_ctor_get(x_165, 1);
+x_190 = lean_ctor_get(x_165, 2);
+lean_inc(x_190);
+lean_inc(x_189);
+lean_inc(x_188);
+lean_dec(x_165);
+x_191 = lean_ctor_get(x_166, 0);
lean_inc(x_191);
-x_192 = lean_ctor_get(x_190, 1);
-lean_inc(x_192);
-lean_dec(x_190);
-x_193 = lean_unsigned_to_nat(0u);
-x_194 = l_Lean_Expr_getAppNumArgsAux(x_1, x_193);
-x_195 = l_Lean_Expr_getAppArgs___closed__1;
-lean_inc(x_194);
-x_196 = lean_mk_array(x_194, x_195);
-x_197 = lean_unsigned_to_nat(1u);
-x_198 = lean_nat_sub(x_194, x_197);
-lean_dec(x_194);
-x_199 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_196, x_198);
-lean_inc(x_7);
-x_200 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_processAssignment_process(x_188, x_191, x_193, x_199, x_2, x_3, x_4, x_5, x_6, x_7, x_192);
-if (lean_obj_tag(x_200) == 0)
-{
-lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; uint8_t x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214; lean_object* x_215; lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; lean_object* x_221; lean_object* x_222; lean_object* x_223; lean_object* x_224; lean_object* x_225;
-x_201 = lean_ctor_get(x_200, 0);
-lean_inc(x_201);
-x_202 = lean_ctor_get(x_200, 1);
-lean_inc(x_202);
-lean_dec(x_200);
-x_203 = lean_st_ref_get(x_7, x_202);
-x_204 = lean_ctor_get(x_203, 0);
-lean_inc(x_204);
-x_205 = lean_ctor_get(x_203, 1);
-lean_inc(x_205);
-lean_dec(x_203);
-x_206 = lean_ctor_get(x_204, 3);
-lean_inc(x_206);
-lean_dec(x_204);
-x_207 = lean_ctor_get_uint8(x_206, sizeof(void*)*1);
-lean_dec(x_206);
-x_208 = lean_st_ref_take(x_7, x_205);
-x_209 = lean_ctor_get(x_208, 0);
-lean_inc(x_209);
-x_210 = lean_ctor_get(x_209, 3);
-lean_inc(x_210);
-x_211 = lean_ctor_get(x_208, 1);
-lean_inc(x_211);
-lean_dec(x_208);
-x_212 = lean_ctor_get(x_209, 0);
-lean_inc(x_212);
-x_213 = lean_ctor_get(x_209, 1);
-lean_inc(x_213);
-x_214 = lean_ctor_get(x_209, 2);
-lean_inc(x_214);
-if (lean_is_exclusive(x_209)) {
- lean_ctor_release(x_209, 0);
- lean_ctor_release(x_209, 1);
- lean_ctor_release(x_209, 2);
- lean_ctor_release(x_209, 3);
- x_215 = x_209;
+if (lean_is_exclusive(x_166)) {
+ lean_ctor_release(x_166, 0);
+ x_192 = x_166;
} else {
- lean_dec_ref(x_209);
- x_215 = lean_box(0);
+ lean_dec_ref(x_166);
+ x_192 = lean_box(0);
}
-x_216 = lean_ctor_get(x_210, 0);
-lean_inc(x_216);
-if (lean_is_exclusive(x_210)) {
- lean_ctor_release(x_210, 0);
- x_217 = x_210;
+if (lean_is_scalar(x_192)) {
+ x_193 = lean_alloc_ctor(0, 1, 1);
} else {
- lean_dec_ref(x_210);
- x_217 = lean_box(0);
+ x_193 = x_192;
}
-if (lean_is_scalar(x_217)) {
- x_218 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_218 = x_217;
-}
-lean_ctor_set(x_218, 0, x_216);
-lean_ctor_set_uint8(x_218, sizeof(void*)*1, x_28);
-if (lean_is_scalar(x_215)) {
- x_219 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_219 = x_215;
-}
-lean_ctor_set(x_219, 0, x_212);
-lean_ctor_set(x_219, 1, x_213);
-lean_ctor_set(x_219, 2, x_214);
-lean_ctor_set(x_219, 3, x_218);
-x_220 = lean_st_ref_set(x_7, x_219, x_211);
+lean_ctor_set(x_193, 0, x_191);
+lean_ctor_set_uint8(x_193, sizeof(void*)*1, x_98);
+x_194 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_194, 0, x_188);
+lean_ctor_set(x_194, 1, x_189);
+lean_ctor_set(x_194, 2, x_190);
+lean_ctor_set(x_194, 3, x_193);
+x_195 = lean_st_ref_set(x_7, x_194, x_167);
lean_dec(x_7);
-x_221 = lean_ctor_get(x_220, 1);
-lean_inc(x_221);
-if (lean_is_exclusive(x_220)) {
- lean_ctor_release(x_220, 0);
- lean_ctor_release(x_220, 1);
- x_222 = x_220;
+x_196 = lean_ctor_get(x_195, 1);
+lean_inc(x_196);
+if (lean_is_exclusive(x_195)) {
+ lean_ctor_release(x_195, 0);
+ lean_ctor_release(x_195, 1);
+ x_197 = x_195;
} else {
- lean_dec_ref(x_220);
- x_222 = lean_box(0);
+ lean_dec_ref(x_195);
+ x_197 = lean_box(0);
}
-x_223 = lean_box(x_207);
-x_224 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_224, 0, x_201);
-lean_ctor_set(x_224, 1, x_223);
-if (lean_is_scalar(x_222)) {
- x_225 = lean_alloc_ctor(0, 2, 0);
+x_198 = lean_box(x_163);
+x_199 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_199, 0, x_157);
+lean_ctor_set(x_199, 1, x_198);
+if (lean_is_scalar(x_197)) {
+ x_200 = lean_alloc_ctor(0, 2, 0);
} else {
- x_225 = x_222;
+ x_200 = x_197;
}
-lean_ctor_set(x_225, 0, x_224);
-lean_ctor_set(x_225, 1, x_221);
-x_9 = x_225;
+lean_ctor_set(x_200, 0, x_199);
+lean_ctor_set(x_200, 1, x_196);
+x_9 = x_200;
goto block_21;
}
+}
else
{
-lean_object* x_226; lean_object* x_227;
-x_226 = lean_ctor_get(x_200, 0);
-lean_inc(x_226);
-x_227 = lean_ctor_get(x_200, 1);
-lean_inc(x_227);
-lean_dec(x_200);
-x_166 = x_226;
-x_167 = x_227;
-goto block_186;
+lean_object* x_201; lean_object* x_202;
+x_201 = lean_ctor_get(x_156, 0);
+lean_inc(x_201);
+x_202 = lean_ctor_get(x_156, 1);
+lean_inc(x_202);
+lean_dec(x_156);
+x_109 = x_201;
+x_110 = x_202;
+goto block_142;
}
}
else
{
-lean_object* x_228; lean_object* x_229;
-lean_dec(x_188);
+lean_object* x_203; lean_object* x_204;
+lean_dec(x_144);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_228 = lean_ctor_get(x_190, 0);
-lean_inc(x_228);
-x_229 = lean_ctor_get(x_190, 1);
-lean_inc(x_229);
-lean_dec(x_190);
-x_166 = x_228;
-x_167 = x_229;
-goto block_186;
+x_203 = lean_ctor_get(x_146, 0);
+lean_inc(x_203);
+x_204 = lean_ctor_get(x_146, 1);
+lean_inc(x_204);
+lean_dec(x_146);
+x_109 = x_203;
+x_110 = x_204;
+goto block_142;
}
}
-block_244:
+block_219:
{
-if (x_231 == 0)
+if (x_206 == 0)
{
-x_187 = x_232;
-goto block_230;
+x_143 = x_207;
+goto block_205;
}
else
{
-lean_object* x_233; lean_object* x_234; lean_object* x_235; lean_object* x_236; lean_object* x_237; lean_object* x_238; lean_object* x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243;
+lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214; lean_object* x_215; lean_object* x_216; lean_object* x_217; lean_object* x_218;
lean_inc(x_1);
-x_233 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_233, 0, x_1);
-x_234 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_235 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_235, 0, x_234);
-lean_ctor_set(x_235, 1, x_233);
-x_236 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__8;
-x_237 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_237, 0, x_235);
-lean_ctor_set(x_237, 1, x_236);
+x_208 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_208, 0, x_1);
+x_209 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_210 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_210, 0, x_209);
+lean_ctor_set(x_210, 1, x_208);
+x_211 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__8;
+x_212 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_212, 0, x_210);
+lean_ctor_set(x_212, 1, x_211);
lean_inc(x_2);
-x_238 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_238, 0, x_2);
-x_239 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_239, 0, x_237);
-lean_ctor_set(x_239, 1, x_238);
-x_240 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_240, 0, x_239);
-lean_ctor_set(x_240, 1, x_234);
-x_241 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__2;
-x_242 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__2(x_241, x_240, x_3, x_4, x_5, x_6, x_7, x_232);
-x_243 = lean_ctor_get(x_242, 1);
+x_213 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_213, 0, x_2);
+x_214 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_214, 0, x_212);
+lean_ctor_set(x_214, 1, x_213);
+x_215 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_215, 0, x_214);
+lean_ctor_set(x_215, 1, x_209);
+x_216 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__2;
+x_217 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__2(x_216, x_215, x_3, x_4, x_5, x_6, x_7, x_207);
+x_218 = lean_ctor_get(x_217, 1);
+lean_inc(x_218);
+lean_dec(x_217);
+x_143 = x_218;
+goto block_205;
+}
+}
+}
+else
+{
+lean_object* x_231; uint8_t x_232; lean_object* x_233; lean_object* x_234; lean_object* x_235; lean_object* x_236; lean_object* x_237; lean_object* x_257; uint8_t x_301; lean_object* x_302; lean_object* x_315; lean_object* x_316; lean_object* x_317; uint8_t x_318;
+x_231 = lean_ctor_get(x_101, 0);
+lean_inc(x_231);
+lean_dec(x_101);
+x_232 = 0;
+x_233 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_233, 0, x_231);
+lean_ctor_set_uint8(x_233, sizeof(void*)*1, x_232);
+lean_ctor_set(x_100, 3, x_233);
+x_234 = lean_st_ref_set(x_7, x_100, x_102);
+x_235 = lean_ctor_get(x_234, 1);
+lean_inc(x_235);
+lean_dec(x_234);
+x_315 = lean_st_ref_get(x_7, x_235);
+x_316 = lean_ctor_get(x_315, 0);
+lean_inc(x_316);
+x_317 = lean_ctor_get(x_316, 3);
+lean_inc(x_317);
+lean_dec(x_316);
+x_318 = lean_ctor_get_uint8(x_317, sizeof(void*)*1);
+lean_dec(x_317);
+if (x_318 == 0)
+{
+lean_object* x_319;
+x_319 = lean_ctor_get(x_315, 1);
+lean_inc(x_319);
+lean_dec(x_315);
+x_301 = x_232;
+x_302 = x_319;
+goto block_314;
+}
+else
+{
+lean_object* x_320; lean_object* x_321; lean_object* x_322; lean_object* x_323; lean_object* x_324; uint8_t x_325;
+x_320 = lean_ctor_get(x_315, 1);
+lean_inc(x_320);
+lean_dec(x_315);
+x_321 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__2;
+x_322 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_321, x_3, x_4, x_5, x_6, x_7, x_320);
+x_323 = lean_ctor_get(x_322, 0);
+lean_inc(x_323);
+x_324 = lean_ctor_get(x_322, 1);
+lean_inc(x_324);
+lean_dec(x_322);
+x_325 = lean_unbox(x_323);
+lean_dec(x_323);
+x_301 = x_325;
+x_302 = x_324;
+goto block_314;
+}
+block_256:
+{
+lean_object* x_238; lean_object* x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244; lean_object* x_245; lean_object* x_246; lean_object* x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253; lean_object* x_254; lean_object* x_255;
+x_238 = lean_st_ref_get(x_7, x_237);
+x_239 = lean_ctor_get(x_238, 1);
+lean_inc(x_239);
+lean_dec(x_238);
+x_240 = lean_st_ref_take(x_7, x_239);
+x_241 = lean_ctor_get(x_240, 0);
+lean_inc(x_241);
+x_242 = lean_ctor_get(x_241, 3);
+lean_inc(x_242);
+x_243 = lean_ctor_get(x_240, 1);
lean_inc(x_243);
-lean_dec(x_242);
-x_187 = x_243;
-goto block_230;
+lean_dec(x_240);
+x_244 = lean_ctor_get(x_241, 0);
+lean_inc(x_244);
+x_245 = lean_ctor_get(x_241, 1);
+lean_inc(x_245);
+x_246 = lean_ctor_get(x_241, 2);
+lean_inc(x_246);
+if (lean_is_exclusive(x_241)) {
+ lean_ctor_release(x_241, 0);
+ lean_ctor_release(x_241, 1);
+ lean_ctor_release(x_241, 2);
+ lean_ctor_release(x_241, 3);
+ x_247 = x_241;
+} else {
+ lean_dec_ref(x_241);
+ x_247 = lean_box(0);
}
+x_248 = lean_ctor_get(x_242, 0);
+lean_inc(x_248);
+if (lean_is_exclusive(x_242)) {
+ lean_ctor_release(x_242, 0);
+ x_249 = x_242;
+} else {
+ lean_dec_ref(x_242);
+ x_249 = lean_box(0);
}
+if (lean_is_scalar(x_249)) {
+ x_250 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_250 = x_249;
}
+lean_ctor_set(x_250, 0, x_248);
+lean_ctor_set_uint8(x_250, sizeof(void*)*1, x_98);
+if (lean_is_scalar(x_247)) {
+ x_251 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_251 = x_247;
}
-else
+lean_ctor_set(x_251, 0, x_244);
+lean_ctor_set(x_251, 1, x_245);
+lean_ctor_set(x_251, 2, x_246);
+lean_ctor_set(x_251, 3, x_250);
+x_252 = lean_st_ref_set(x_7, x_251, x_243);
+lean_dec(x_7);
+x_253 = lean_ctor_get(x_252, 1);
+lean_inc(x_253);
+if (lean_is_exclusive(x_252)) {
+ lean_ctor_release(x_252, 0);
+ lean_ctor_release(x_252, 1);
+ x_254 = x_252;
+} else {
+ lean_dec_ref(x_252);
+ x_254 = lean_box(0);
+}
+if (lean_is_scalar(x_254)) {
+ x_255 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_255 = x_254;
+ lean_ctor_set_tag(x_255, 1);
+}
+lean_ctor_set(x_255, 0, x_236);
+lean_ctor_set(x_255, 1, x_253);
+x_9 = x_255;
+goto block_21;
+}
+block_300:
{
-lean_object* x_256; lean_object* x_257; lean_object* x_258; lean_object* x_259; lean_object* x_260; uint8_t x_261; lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265; lean_object* x_266; lean_object* x_267; lean_object* x_287; uint8_t x_331; lean_object* x_332; lean_object* x_345; lean_object* x_346; lean_object* x_347; uint8_t x_348;
-x_256 = lean_ctor_get(x_30, 0);
-x_257 = lean_ctor_get(x_30, 1);
-x_258 = lean_ctor_get(x_30, 2);
-lean_inc(x_258);
-lean_inc(x_257);
-lean_inc(x_256);
-lean_dec(x_30);
-x_259 = lean_ctor_get(x_31, 0);
-lean_inc(x_259);
-if (lean_is_exclusive(x_31)) {
- lean_ctor_release(x_31, 0);
- x_260 = x_31;
-} else {
- lean_dec_ref(x_31);
- x_260 = lean_box(0);
-}
-x_261 = 0;
-if (lean_is_scalar(x_260)) {
- x_262 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_262 = x_260;
-}
-lean_ctor_set(x_262, 0, x_259);
-lean_ctor_set_uint8(x_262, sizeof(void*)*1, x_261);
-x_263 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_263, 0, x_256);
-lean_ctor_set(x_263, 1, x_257);
-lean_ctor_set(x_263, 2, x_258);
-lean_ctor_set(x_263, 3, x_262);
-x_264 = lean_st_ref_set(x_7, x_263, x_32);
-x_265 = lean_ctor_get(x_264, 1);
-lean_inc(x_265);
+lean_object* x_258; lean_object* x_259; lean_object* x_260;
+x_258 = l_Lean_Expr_getAppFn(x_1);
+x_259 = l_Lean_Expr_mvarId_x21(x_258);
+x_260 = l_Lean_Meta_getMVarDecl___at_Lean_Meta_CheckAssignment_run___spec__1(x_259, x_3, x_4, x_5, x_6, x_7, x_257);
+if (lean_obj_tag(x_260) == 0)
+{
+lean_object* x_261; lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265; lean_object* x_266; lean_object* x_267; lean_object* x_268; lean_object* x_269; lean_object* x_270;
+x_261 = lean_ctor_get(x_260, 0);
+lean_inc(x_261);
+x_262 = lean_ctor_get(x_260, 1);
+lean_inc(x_262);
+lean_dec(x_260);
+x_263 = lean_unsigned_to_nat(0u);
+x_264 = l_Lean_Expr_getAppNumArgsAux(x_1, x_263);
+x_265 = l_Lean_Expr_getAppArgs___closed__1;
+lean_inc(x_264);
+x_266 = lean_mk_array(x_264, x_265);
+x_267 = lean_unsigned_to_nat(1u);
+x_268 = lean_nat_sub(x_264, x_267);
lean_dec(x_264);
-x_345 = lean_st_ref_get(x_7, x_265);
-x_346 = lean_ctor_get(x_345, 0);
-lean_inc(x_346);
-x_347 = lean_ctor_get(x_346, 3);
-lean_inc(x_347);
-lean_dec(x_346);
-x_348 = lean_ctor_get_uint8(x_347, sizeof(void*)*1);
-lean_dec(x_347);
-if (x_348 == 0)
+x_269 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_266, x_268);
+lean_inc(x_7);
+x_270 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_processAssignment_process(x_258, x_261, x_263, x_269, x_2, x_3, x_4, x_5, x_6, x_7, x_262);
+if (lean_obj_tag(x_270) == 0)
{
-lean_object* x_349;
-x_349 = lean_ctor_get(x_345, 1);
-lean_inc(x_349);
-lean_dec(x_345);
-x_331 = x_261;
-x_332 = x_349;
-goto block_344;
-}
-else
-{
-lean_object* x_350; lean_object* x_351; lean_object* x_352; lean_object* x_353; lean_object* x_354; uint8_t x_355;
-x_350 = lean_ctor_get(x_345, 1);
-lean_inc(x_350);
-lean_dec(x_345);
-x_351 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__2;
-x_352 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_351, x_3, x_4, x_5, x_6, x_7, x_350);
-x_353 = lean_ctor_get(x_352, 0);
-lean_inc(x_353);
-x_354 = lean_ctor_get(x_352, 1);
-lean_inc(x_354);
-lean_dec(x_352);
-x_355 = lean_unbox(x_353);
-lean_dec(x_353);
-x_331 = x_355;
-x_332 = x_354;
-goto block_344;
-}
-block_286:
-{
-lean_object* x_268; lean_object* x_269; lean_object* x_270; lean_object* x_271; lean_object* x_272; lean_object* x_273; lean_object* x_274; lean_object* x_275; lean_object* x_276; lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; lean_object* x_281; lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285;
-x_268 = lean_st_ref_get(x_7, x_267);
-x_269 = lean_ctor_get(x_268, 1);
-lean_inc(x_269);
-lean_dec(x_268);
-x_270 = lean_st_ref_take(x_7, x_269);
+lean_object* x_271; lean_object* x_272; lean_object* x_273; lean_object* x_274; lean_object* x_275; lean_object* x_276; uint8_t x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; lean_object* x_281; lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286; lean_object* x_287; lean_object* x_288; lean_object* x_289; lean_object* x_290; lean_object* x_291; lean_object* x_292; lean_object* x_293; lean_object* x_294; lean_object* x_295;
x_271 = lean_ctor_get(x_270, 0);
lean_inc(x_271);
-x_272 = lean_ctor_get(x_271, 3);
+x_272 = lean_ctor_get(x_270, 1);
lean_inc(x_272);
-x_273 = lean_ctor_get(x_270, 1);
-lean_inc(x_273);
lean_dec(x_270);
-x_274 = lean_ctor_get(x_271, 0);
+x_273 = lean_st_ref_get(x_7, x_272);
+x_274 = lean_ctor_get(x_273, 0);
lean_inc(x_274);
-x_275 = lean_ctor_get(x_271, 1);
+x_275 = lean_ctor_get(x_273, 1);
lean_inc(x_275);
-x_276 = lean_ctor_get(x_271, 2);
+lean_dec(x_273);
+x_276 = lean_ctor_get(x_274, 3);
lean_inc(x_276);
-if (lean_is_exclusive(x_271)) {
- lean_ctor_release(x_271, 0);
- lean_ctor_release(x_271, 1);
- lean_ctor_release(x_271, 2);
- lean_ctor_release(x_271, 3);
- x_277 = x_271;
-} else {
- lean_dec_ref(x_271);
- x_277 = lean_box(0);
-}
-x_278 = lean_ctor_get(x_272, 0);
-lean_inc(x_278);
-if (lean_is_exclusive(x_272)) {
- lean_ctor_release(x_272, 0);
- x_279 = x_272;
-} else {
- lean_dec_ref(x_272);
- x_279 = lean_box(0);
-}
-if (lean_is_scalar(x_279)) {
- x_280 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_280 = x_279;
-}
-lean_ctor_set(x_280, 0, x_278);
-lean_ctor_set_uint8(x_280, sizeof(void*)*1, x_28);
-if (lean_is_scalar(x_277)) {
- x_281 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_281 = x_277;
-}
-lean_ctor_set(x_281, 0, x_274);
-lean_ctor_set(x_281, 1, x_275);
-lean_ctor_set(x_281, 2, x_276);
-lean_ctor_set(x_281, 3, x_280);
-x_282 = lean_st_ref_set(x_7, x_281, x_273);
-lean_dec(x_7);
-x_283 = lean_ctor_get(x_282, 1);
+lean_dec(x_274);
+x_277 = lean_ctor_get_uint8(x_276, sizeof(void*)*1);
+lean_dec(x_276);
+x_278 = lean_st_ref_take(x_7, x_275);
+x_279 = lean_ctor_get(x_278, 0);
+lean_inc(x_279);
+x_280 = lean_ctor_get(x_279, 3);
+lean_inc(x_280);
+x_281 = lean_ctor_get(x_278, 1);
+lean_inc(x_281);
+lean_dec(x_278);
+x_282 = lean_ctor_get(x_279, 0);
+lean_inc(x_282);
+x_283 = lean_ctor_get(x_279, 1);
lean_inc(x_283);
-if (lean_is_exclusive(x_282)) {
- lean_ctor_release(x_282, 0);
- lean_ctor_release(x_282, 1);
- x_284 = x_282;
+x_284 = lean_ctor_get(x_279, 2);
+lean_inc(x_284);
+if (lean_is_exclusive(x_279)) {
+ lean_ctor_release(x_279, 0);
+ lean_ctor_release(x_279, 1);
+ lean_ctor_release(x_279, 2);
+ lean_ctor_release(x_279, 3);
+ x_285 = x_279;
} else {
- lean_dec_ref(x_282);
- x_284 = lean_box(0);
+ lean_dec_ref(x_279);
+ x_285 = lean_box(0);
}
-if (lean_is_scalar(x_284)) {
- x_285 = lean_alloc_ctor(1, 2, 0);
+x_286 = lean_ctor_get(x_280, 0);
+lean_inc(x_286);
+if (lean_is_exclusive(x_280)) {
+ lean_ctor_release(x_280, 0);
+ x_287 = x_280;
} else {
- x_285 = x_284;
- lean_ctor_set_tag(x_285, 1);
+ lean_dec_ref(x_280);
+ x_287 = lean_box(0);
}
-lean_ctor_set(x_285, 0, x_266);
-lean_ctor_set(x_285, 1, x_283);
-x_9 = x_285;
-goto block_21;
-}
-block_330:
-{
-lean_object* x_288; lean_object* x_289; lean_object* x_290;
-x_288 = l_Lean_Expr_getAppFn(x_1);
-x_289 = l_Lean_Expr_mvarId_x21(x_288);
-x_290 = l_Lean_Meta_getMVarDecl___at_Lean_Meta_CheckAssignment_run___spec__1(x_289, x_3, x_4, x_5, x_6, x_7, x_287);
-if (lean_obj_tag(x_290) == 0)
-{
-lean_object* x_291; lean_object* x_292; lean_object* x_293; lean_object* x_294; lean_object* x_295; lean_object* x_296; lean_object* x_297; lean_object* x_298; lean_object* x_299; lean_object* x_300;
-x_291 = lean_ctor_get(x_290, 0);
-lean_inc(x_291);
-x_292 = lean_ctor_get(x_290, 1);
-lean_inc(x_292);
-lean_dec(x_290);
-x_293 = lean_unsigned_to_nat(0u);
-x_294 = l_Lean_Expr_getAppNumArgsAux(x_1, x_293);
-x_295 = l_Lean_Expr_getAppArgs___closed__1;
-lean_inc(x_294);
-x_296 = lean_mk_array(x_294, x_295);
-x_297 = lean_unsigned_to_nat(1u);
-x_298 = lean_nat_sub(x_294, x_297);
-lean_dec(x_294);
-x_299 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_296, x_298);
-lean_inc(x_7);
-x_300 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_processAssignment_process(x_288, x_291, x_293, x_299, x_2, x_3, x_4, x_5, x_6, x_7, x_292);
-if (lean_obj_tag(x_300) == 0)
-{
-lean_object* x_301; lean_object* x_302; lean_object* x_303; lean_object* x_304; lean_object* x_305; lean_object* x_306; uint8_t x_307; lean_object* x_308; lean_object* x_309; lean_object* x_310; lean_object* x_311; lean_object* x_312; lean_object* x_313; lean_object* x_314; lean_object* x_315; lean_object* x_316; lean_object* x_317; lean_object* x_318; lean_object* x_319; lean_object* x_320; lean_object* x_321; lean_object* x_322; lean_object* x_323; lean_object* x_324; lean_object* x_325;
-x_301 = lean_ctor_get(x_300, 0);
-lean_inc(x_301);
-x_302 = lean_ctor_get(x_300, 1);
-lean_inc(x_302);
-lean_dec(x_300);
-x_303 = lean_st_ref_get(x_7, x_302);
-x_304 = lean_ctor_get(x_303, 0);
-lean_inc(x_304);
-x_305 = lean_ctor_get(x_303, 1);
-lean_inc(x_305);
-lean_dec(x_303);
-x_306 = lean_ctor_get(x_304, 3);
-lean_inc(x_306);
-lean_dec(x_304);
-x_307 = lean_ctor_get_uint8(x_306, sizeof(void*)*1);
-lean_dec(x_306);
-x_308 = lean_st_ref_take(x_7, x_305);
-x_309 = lean_ctor_get(x_308, 0);
-lean_inc(x_309);
-x_310 = lean_ctor_get(x_309, 3);
-lean_inc(x_310);
-x_311 = lean_ctor_get(x_308, 1);
-lean_inc(x_311);
-lean_dec(x_308);
-x_312 = lean_ctor_get(x_309, 0);
-lean_inc(x_312);
-x_313 = lean_ctor_get(x_309, 1);
-lean_inc(x_313);
-x_314 = lean_ctor_get(x_309, 2);
-lean_inc(x_314);
-if (lean_is_exclusive(x_309)) {
- lean_ctor_release(x_309, 0);
- lean_ctor_release(x_309, 1);
- lean_ctor_release(x_309, 2);
- lean_ctor_release(x_309, 3);
- x_315 = x_309;
+if (lean_is_scalar(x_287)) {
+ x_288 = lean_alloc_ctor(0, 1, 1);
} else {
- lean_dec_ref(x_309);
- x_315 = lean_box(0);
+ x_288 = x_287;
}
-x_316 = lean_ctor_get(x_310, 0);
-lean_inc(x_316);
-if (lean_is_exclusive(x_310)) {
- lean_ctor_release(x_310, 0);
- x_317 = x_310;
+lean_ctor_set(x_288, 0, x_286);
+lean_ctor_set_uint8(x_288, sizeof(void*)*1, x_98);
+if (lean_is_scalar(x_285)) {
+ x_289 = lean_alloc_ctor(0, 4, 0);
} else {
- lean_dec_ref(x_310);
- x_317 = lean_box(0);
+ x_289 = x_285;
}
-if (lean_is_scalar(x_317)) {
- x_318 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_318 = x_317;
-}
-lean_ctor_set(x_318, 0, x_316);
-lean_ctor_set_uint8(x_318, sizeof(void*)*1, x_28);
-if (lean_is_scalar(x_315)) {
- x_319 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_319 = x_315;
-}
-lean_ctor_set(x_319, 0, x_312);
-lean_ctor_set(x_319, 1, x_313);
-lean_ctor_set(x_319, 2, x_314);
-lean_ctor_set(x_319, 3, x_318);
-x_320 = lean_st_ref_set(x_7, x_319, x_311);
+lean_ctor_set(x_289, 0, x_282);
+lean_ctor_set(x_289, 1, x_283);
+lean_ctor_set(x_289, 2, x_284);
+lean_ctor_set(x_289, 3, x_288);
+x_290 = lean_st_ref_set(x_7, x_289, x_281);
lean_dec(x_7);
-x_321 = lean_ctor_get(x_320, 1);
-lean_inc(x_321);
-if (lean_is_exclusive(x_320)) {
- lean_ctor_release(x_320, 0);
- lean_ctor_release(x_320, 1);
- x_322 = x_320;
+x_291 = lean_ctor_get(x_290, 1);
+lean_inc(x_291);
+if (lean_is_exclusive(x_290)) {
+ lean_ctor_release(x_290, 0);
+ lean_ctor_release(x_290, 1);
+ x_292 = x_290;
} else {
- lean_dec_ref(x_320);
- x_322 = lean_box(0);
+ lean_dec_ref(x_290);
+ x_292 = lean_box(0);
}
-x_323 = lean_box(x_307);
-x_324 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_324, 0, x_301);
-lean_ctor_set(x_324, 1, x_323);
-if (lean_is_scalar(x_322)) {
- x_325 = lean_alloc_ctor(0, 2, 0);
+x_293 = lean_box(x_277);
+x_294 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_294, 0, x_271);
+lean_ctor_set(x_294, 1, x_293);
+if (lean_is_scalar(x_292)) {
+ x_295 = lean_alloc_ctor(0, 2, 0);
} else {
- x_325 = x_322;
+ x_295 = x_292;
}
-lean_ctor_set(x_325, 0, x_324);
-lean_ctor_set(x_325, 1, x_321);
-x_9 = x_325;
+lean_ctor_set(x_295, 0, x_294);
+lean_ctor_set(x_295, 1, x_291);
+x_9 = x_295;
goto block_21;
}
else
{
-lean_object* x_326; lean_object* x_327;
-x_326 = lean_ctor_get(x_300, 0);
-lean_inc(x_326);
-x_327 = lean_ctor_get(x_300, 1);
-lean_inc(x_327);
-lean_dec(x_300);
-x_266 = x_326;
-x_267 = x_327;
-goto block_286;
+lean_object* x_296; lean_object* x_297;
+x_296 = lean_ctor_get(x_270, 0);
+lean_inc(x_296);
+x_297 = lean_ctor_get(x_270, 1);
+lean_inc(x_297);
+lean_dec(x_270);
+x_236 = x_296;
+x_237 = x_297;
+goto block_256;
}
}
else
{
-lean_object* x_328; lean_object* x_329;
-lean_dec(x_288);
+lean_object* x_298; lean_object* x_299;
+lean_dec(x_258);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_328 = lean_ctor_get(x_290, 0);
-lean_inc(x_328);
-x_329 = lean_ctor_get(x_290, 1);
-lean_inc(x_329);
-lean_dec(x_290);
-x_266 = x_328;
-x_267 = x_329;
-goto block_286;
+x_298 = lean_ctor_get(x_260, 0);
+lean_inc(x_298);
+x_299 = lean_ctor_get(x_260, 1);
+lean_inc(x_299);
+lean_dec(x_260);
+x_236 = x_298;
+x_237 = x_299;
+goto block_256;
}
}
-block_344:
+block_314:
{
-if (x_331 == 0)
+if (x_301 == 0)
{
-x_287 = x_332;
-goto block_330;
+x_257 = x_302;
+goto block_300;
}
else
{
-lean_object* x_333; lean_object* x_334; lean_object* x_335; lean_object* x_336; lean_object* x_337; lean_object* x_338; lean_object* x_339; lean_object* x_340; lean_object* x_341; lean_object* x_342; lean_object* x_343;
+lean_object* x_303; lean_object* x_304; lean_object* x_305; lean_object* x_306; lean_object* x_307; lean_object* x_308; lean_object* x_309; lean_object* x_310; lean_object* x_311; lean_object* x_312; lean_object* x_313;
lean_inc(x_1);
-x_333 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_333, 0, x_1);
-x_334 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_335 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_335, 0, x_334);
-lean_ctor_set(x_335, 1, x_333);
-x_336 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__8;
-x_337 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_337, 0, x_335);
-lean_ctor_set(x_337, 1, x_336);
+x_303 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_303, 0, x_1);
+x_304 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_305 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_305, 0, x_304);
+lean_ctor_set(x_305, 1, x_303);
+x_306 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__8;
+x_307 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_307, 0, x_305);
+lean_ctor_set(x_307, 1, x_306);
lean_inc(x_2);
-x_338 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_338, 0, x_2);
-x_339 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_339, 0, x_337);
-lean_ctor_set(x_339, 1, x_338);
-x_340 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_340, 0, x_339);
-lean_ctor_set(x_340, 1, x_334);
-x_341 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__2;
-x_342 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__2(x_341, x_340, x_3, x_4, x_5, x_6, x_7, x_332);
-x_343 = lean_ctor_get(x_342, 1);
-lean_inc(x_343);
-lean_dec(x_342);
-x_287 = x_343;
-goto block_330;
+x_308 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_308, 0, x_2);
+x_309 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_309, 0, x_307);
+lean_ctor_set(x_309, 1, x_308);
+x_310 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_310, 0, x_309);
+lean_ctor_set(x_310, 1, x_304);
+x_311 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__2;
+x_312 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__2(x_311, x_310, x_3, x_4, x_5, x_6, x_7, x_302);
+x_313 = lean_ctor_get(x_312, 1);
+lean_inc(x_313);
+lean_dec(x_312);
+x_257 = x_313;
+goto block_300;
}
}
}
}
else
{
-lean_object* x_356; lean_object* x_357; lean_object* x_358; lean_object* x_359; lean_object* x_360; uint8_t x_399; lean_object* x_400; lean_object* x_413; lean_object* x_414; lean_object* x_415; uint8_t x_416;
-x_356 = lean_ctor_get(x_6, 3);
-lean_inc(x_356);
-x_357 = l___private_Lean_Util_Trace_5__getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__6___rarg(x_7, x_23);
-x_358 = lean_ctor_get(x_357, 0);
-lean_inc(x_358);
-x_359 = lean_ctor_get(x_357, 1);
-lean_inc(x_359);
-lean_dec(x_357);
-x_413 = lean_st_ref_get(x_7, x_359);
-x_414 = lean_ctor_get(x_413, 0);
-lean_inc(x_414);
-x_415 = lean_ctor_get(x_414, 3);
-lean_inc(x_415);
-lean_dec(x_414);
-x_416 = lean_ctor_get_uint8(x_415, sizeof(void*)*1);
-lean_dec(x_415);
-if (x_416 == 0)
-{
-lean_object* x_417; uint8_t x_418;
-x_417 = lean_ctor_get(x_413, 1);
+lean_object* x_326; lean_object* x_327; lean_object* x_328; lean_object* x_329; lean_object* x_330; uint8_t x_331; lean_object* x_332; lean_object* x_333; lean_object* x_334; lean_object* x_335; lean_object* x_336; lean_object* x_337; lean_object* x_357; uint8_t x_401; lean_object* x_402; lean_object* x_415; lean_object* x_416; lean_object* x_417; uint8_t x_418;
+x_326 = lean_ctor_get(x_100, 0);
+x_327 = lean_ctor_get(x_100, 1);
+x_328 = lean_ctor_get(x_100, 2);
+lean_inc(x_328);
+lean_inc(x_327);
+lean_inc(x_326);
+lean_dec(x_100);
+x_329 = lean_ctor_get(x_101, 0);
+lean_inc(x_329);
+if (lean_is_exclusive(x_101)) {
+ lean_ctor_release(x_101, 0);
+ x_330 = x_101;
+} else {
+ lean_dec_ref(x_101);
+ x_330 = lean_box(0);
+}
+x_331 = 0;
+if (lean_is_scalar(x_330)) {
+ x_332 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_332 = x_330;
+}
+lean_ctor_set(x_332, 0, x_329);
+lean_ctor_set_uint8(x_332, sizeof(void*)*1, x_331);
+x_333 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_333, 0, x_326);
+lean_ctor_set(x_333, 1, x_327);
+lean_ctor_set(x_333, 2, x_328);
+lean_ctor_set(x_333, 3, x_332);
+x_334 = lean_st_ref_set(x_7, x_333, x_102);
+x_335 = lean_ctor_get(x_334, 1);
+lean_inc(x_335);
+lean_dec(x_334);
+x_415 = lean_st_ref_get(x_7, x_335);
+x_416 = lean_ctor_get(x_415, 0);
+lean_inc(x_416);
+x_417 = lean_ctor_get(x_416, 3);
lean_inc(x_417);
-lean_dec(x_413);
-x_418 = 0;
-x_399 = x_418;
-x_400 = x_417;
-goto block_412;
+lean_dec(x_416);
+x_418 = lean_ctor_get_uint8(x_417, sizeof(void*)*1);
+lean_dec(x_417);
+if (x_418 == 0)
+{
+lean_object* x_419;
+x_419 = lean_ctor_get(x_415, 1);
+lean_inc(x_419);
+lean_dec(x_415);
+x_401 = x_331;
+x_402 = x_419;
+goto block_414;
}
else
{
-lean_object* x_419; lean_object* x_420; lean_object* x_421; lean_object* x_422; lean_object* x_423; uint8_t x_424;
-x_419 = lean_ctor_get(x_413, 1);
-lean_inc(x_419);
-lean_dec(x_413);
-x_420 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__2;
-x_421 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_420, x_3, x_4, x_5, x_6, x_7, x_419);
-x_422 = lean_ctor_get(x_421, 0);
-lean_inc(x_422);
-x_423 = lean_ctor_get(x_421, 1);
+lean_object* x_420; lean_object* x_421; lean_object* x_422; lean_object* x_423; lean_object* x_424; uint8_t x_425;
+x_420 = lean_ctor_get(x_415, 1);
+lean_inc(x_420);
+lean_dec(x_415);
+x_421 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__2;
+x_422 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_421, x_3, x_4, x_5, x_6, x_7, x_420);
+x_423 = lean_ctor_get(x_422, 0);
lean_inc(x_423);
-lean_dec(x_421);
-x_424 = lean_unbox(x_422);
+x_424 = lean_ctor_get(x_422, 1);
+lean_inc(x_424);
lean_dec(x_422);
-x_399 = x_424;
-x_400 = x_423;
-goto block_412;
+x_425 = lean_unbox(x_423);
+lean_dec(x_423);
+x_401 = x_425;
+x_402 = x_424;
+goto block_414;
}
-block_398:
+block_356:
{
-lean_object* x_361; lean_object* x_362; lean_object* x_363;
-x_361 = l_Lean_Expr_getAppFn(x_1);
-x_362 = l_Lean_Expr_mvarId_x21(x_361);
-x_363 = l_Lean_Meta_getMVarDecl___at_Lean_Meta_CheckAssignment_run___spec__1(x_362, x_3, x_4, x_5, x_6, x_7, x_360);
-if (lean_obj_tag(x_363) == 0)
+lean_object* x_338; lean_object* x_339; lean_object* x_340; lean_object* x_341; lean_object* x_342; lean_object* x_343; lean_object* x_344; lean_object* x_345; lean_object* x_346; lean_object* x_347; lean_object* x_348; lean_object* x_349; lean_object* x_350; lean_object* x_351; lean_object* x_352; lean_object* x_353; lean_object* x_354; lean_object* x_355;
+x_338 = lean_st_ref_get(x_7, x_337);
+x_339 = lean_ctor_get(x_338, 1);
+lean_inc(x_339);
+lean_dec(x_338);
+x_340 = lean_st_ref_take(x_7, x_339);
+x_341 = lean_ctor_get(x_340, 0);
+lean_inc(x_341);
+x_342 = lean_ctor_get(x_341, 3);
+lean_inc(x_342);
+x_343 = lean_ctor_get(x_340, 1);
+lean_inc(x_343);
+lean_dec(x_340);
+x_344 = lean_ctor_get(x_341, 0);
+lean_inc(x_344);
+x_345 = lean_ctor_get(x_341, 1);
+lean_inc(x_345);
+x_346 = lean_ctor_get(x_341, 2);
+lean_inc(x_346);
+if (lean_is_exclusive(x_341)) {
+ lean_ctor_release(x_341, 0);
+ lean_ctor_release(x_341, 1);
+ lean_ctor_release(x_341, 2);
+ lean_ctor_release(x_341, 3);
+ x_347 = x_341;
+} else {
+ lean_dec_ref(x_341);
+ x_347 = lean_box(0);
+}
+x_348 = lean_ctor_get(x_342, 0);
+lean_inc(x_348);
+if (lean_is_exclusive(x_342)) {
+ lean_ctor_release(x_342, 0);
+ x_349 = x_342;
+} else {
+ lean_dec_ref(x_342);
+ x_349 = lean_box(0);
+}
+if (lean_is_scalar(x_349)) {
+ x_350 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_350 = x_349;
+}
+lean_ctor_set(x_350, 0, x_348);
+lean_ctor_set_uint8(x_350, sizeof(void*)*1, x_98);
+if (lean_is_scalar(x_347)) {
+ x_351 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_351 = x_347;
+}
+lean_ctor_set(x_351, 0, x_344);
+lean_ctor_set(x_351, 1, x_345);
+lean_ctor_set(x_351, 2, x_346);
+lean_ctor_set(x_351, 3, x_350);
+x_352 = lean_st_ref_set(x_7, x_351, x_343);
+lean_dec(x_7);
+x_353 = lean_ctor_get(x_352, 1);
+lean_inc(x_353);
+if (lean_is_exclusive(x_352)) {
+ lean_ctor_release(x_352, 0);
+ lean_ctor_release(x_352, 1);
+ x_354 = x_352;
+} else {
+ lean_dec_ref(x_352);
+ x_354 = lean_box(0);
+}
+if (lean_is_scalar(x_354)) {
+ x_355 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_355 = x_354;
+ lean_ctor_set_tag(x_355, 1);
+}
+lean_ctor_set(x_355, 0, x_336);
+lean_ctor_set(x_355, 1, x_353);
+x_9 = x_355;
+goto block_21;
+}
+block_400:
{
-lean_object* x_364; lean_object* x_365; lean_object* x_366; lean_object* x_367; lean_object* x_368; lean_object* x_369; lean_object* x_370; lean_object* x_371; lean_object* x_372; lean_object* x_373;
-x_364 = lean_ctor_get(x_363, 0);
+lean_object* x_358; lean_object* x_359; lean_object* x_360;
+x_358 = l_Lean_Expr_getAppFn(x_1);
+x_359 = l_Lean_Expr_mvarId_x21(x_358);
+x_360 = l_Lean_Meta_getMVarDecl___at_Lean_Meta_CheckAssignment_run___spec__1(x_359, x_3, x_4, x_5, x_6, x_7, x_357);
+if (lean_obj_tag(x_360) == 0)
+{
+lean_object* x_361; lean_object* x_362; lean_object* x_363; lean_object* x_364; lean_object* x_365; lean_object* x_366; lean_object* x_367; lean_object* x_368; lean_object* x_369; lean_object* x_370;
+x_361 = lean_ctor_get(x_360, 0);
+lean_inc(x_361);
+x_362 = lean_ctor_get(x_360, 1);
+lean_inc(x_362);
+lean_dec(x_360);
+x_363 = lean_unsigned_to_nat(0u);
+x_364 = l_Lean_Expr_getAppNumArgsAux(x_1, x_363);
+x_365 = l_Lean_Expr_getAppArgs___closed__1;
lean_inc(x_364);
-x_365 = lean_ctor_get(x_363, 1);
-lean_inc(x_365);
-lean_dec(x_363);
-x_366 = lean_unsigned_to_nat(0u);
-x_367 = l_Lean_Expr_getAppNumArgsAux(x_1, x_366);
-x_368 = l_Lean_Expr_getAppArgs___closed__1;
-lean_inc(x_367);
-x_369 = lean_mk_array(x_367, x_368);
-x_370 = lean_unsigned_to_nat(1u);
-x_371 = lean_nat_sub(x_367, x_370);
-lean_dec(x_367);
-x_372 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_369, x_371);
+x_366 = lean_mk_array(x_364, x_365);
+x_367 = lean_unsigned_to_nat(1u);
+x_368 = lean_nat_sub(x_364, x_367);
+lean_dec(x_364);
+x_369 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_366, x_368);
lean_inc(x_7);
-lean_inc(x_6);
-lean_inc(x_5);
-lean_inc(x_4);
-lean_inc(x_3);
-x_373 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_processAssignment_process(x_361, x_364, x_366, x_372, x_2, x_3, x_4, x_5, x_6, x_7, x_365);
-if (lean_obj_tag(x_373) == 0)
+x_370 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_processAssignment_process(x_358, x_361, x_363, x_369, x_2, x_3, x_4, x_5, x_6, x_7, x_362);
+if (lean_obj_tag(x_370) == 0)
{
-lean_object* x_374; lean_object* x_375; lean_object* x_376; lean_object* x_377; uint8_t x_378;
+lean_object* x_371; lean_object* x_372; lean_object* x_373; lean_object* x_374; lean_object* x_375; lean_object* x_376; uint8_t x_377; lean_object* x_378; lean_object* x_379; lean_object* x_380; lean_object* x_381; lean_object* x_382; lean_object* x_383; lean_object* x_384; lean_object* x_385; lean_object* x_386; lean_object* x_387; lean_object* x_388; lean_object* x_389; lean_object* x_390; lean_object* x_391; lean_object* x_392; lean_object* x_393; lean_object* x_394; lean_object* x_395;
+x_371 = lean_ctor_get(x_370, 0);
+lean_inc(x_371);
+x_372 = lean_ctor_get(x_370, 1);
+lean_inc(x_372);
+lean_dec(x_370);
+x_373 = lean_st_ref_get(x_7, x_372);
x_374 = lean_ctor_get(x_373, 0);
lean_inc(x_374);
x_375 = lean_ctor_get(x_373, 1);
lean_inc(x_375);
lean_dec(x_373);
-x_376 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__2;
-x_377 = l___private_Lean_Util_Trace_4__addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__7(x_358, x_376, x_356, x_3, x_4, x_5, x_6, x_7, x_375);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_378 = !lean_is_exclusive(x_377);
-if (x_378 == 0)
-{
-lean_object* x_379;
-x_379 = lean_ctor_get(x_377, 0);
-lean_dec(x_379);
-lean_ctor_set(x_377, 0, x_374);
-return x_377;
-}
-else
-{
-lean_object* x_380; lean_object* x_381;
-x_380 = lean_ctor_get(x_377, 1);
+x_376 = lean_ctor_get(x_374, 3);
+lean_inc(x_376);
+lean_dec(x_374);
+x_377 = lean_ctor_get_uint8(x_376, sizeof(void*)*1);
+lean_dec(x_376);
+x_378 = lean_st_ref_take(x_7, x_375);
+x_379 = lean_ctor_get(x_378, 0);
+lean_inc(x_379);
+x_380 = lean_ctor_get(x_379, 3);
lean_inc(x_380);
-lean_dec(x_377);
-x_381 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_381, 0, x_374);
-lean_ctor_set(x_381, 1, x_380);
-return x_381;
-}
-}
-else
-{
-lean_object* x_382; lean_object* x_383; lean_object* x_384; lean_object* x_385; uint8_t x_386;
-x_382 = lean_ctor_get(x_373, 0);
+x_381 = lean_ctor_get(x_378, 1);
+lean_inc(x_381);
+lean_dec(x_378);
+x_382 = lean_ctor_get(x_379, 0);
lean_inc(x_382);
-x_383 = lean_ctor_get(x_373, 1);
+x_383 = lean_ctor_get(x_379, 1);
lean_inc(x_383);
-lean_dec(x_373);
-x_384 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__2;
-x_385 = l___private_Lean_Util_Trace_4__addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__7(x_358, x_384, x_356, x_3, x_4, x_5, x_6, x_7, x_383);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_386 = !lean_is_exclusive(x_385);
-if (x_386 == 0)
-{
-lean_object* x_387;
-x_387 = lean_ctor_get(x_385, 0);
-lean_dec(x_387);
-lean_ctor_set_tag(x_385, 1);
-lean_ctor_set(x_385, 0, x_382);
-return x_385;
+x_384 = lean_ctor_get(x_379, 2);
+lean_inc(x_384);
+if (lean_is_exclusive(x_379)) {
+ lean_ctor_release(x_379, 0);
+ lean_ctor_release(x_379, 1);
+ lean_ctor_release(x_379, 2);
+ lean_ctor_release(x_379, 3);
+ x_385 = x_379;
+} else {
+ lean_dec_ref(x_379);
+ x_385 = lean_box(0);
+}
+x_386 = lean_ctor_get(x_380, 0);
+lean_inc(x_386);
+if (lean_is_exclusive(x_380)) {
+ lean_ctor_release(x_380, 0);
+ x_387 = x_380;
+} else {
+ lean_dec_ref(x_380);
+ x_387 = lean_box(0);
+}
+if (lean_is_scalar(x_387)) {
+ x_388 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_388 = x_387;
+}
+lean_ctor_set(x_388, 0, x_386);
+lean_ctor_set_uint8(x_388, sizeof(void*)*1, x_98);
+if (lean_is_scalar(x_385)) {
+ x_389 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_389 = x_385;
}
-else
-{
-lean_object* x_388; lean_object* x_389;
-x_388 = lean_ctor_get(x_385, 1);
-lean_inc(x_388);
-lean_dec(x_385);
-x_389 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_389, 0, x_382);
-lean_ctor_set(x_389, 1, x_388);
-return x_389;
-}
-}
-}
-else
-{
-lean_object* x_390; lean_object* x_391; lean_object* x_392; lean_object* x_393; uint8_t x_394;
-lean_dec(x_361);
-lean_dec(x_2);
-lean_dec(x_1);
-x_390 = lean_ctor_get(x_363, 0);
-lean_inc(x_390);
-x_391 = lean_ctor_get(x_363, 1);
-lean_inc(x_391);
-lean_dec(x_363);
-x_392 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__2;
-x_393 = l___private_Lean_Util_Trace_4__addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__7(x_358, x_392, x_356, x_3, x_4, x_5, x_6, x_7, x_391);
+lean_ctor_set(x_389, 1, x_383);
+lean_ctor_set(x_389, 2, x_384);
+lean_ctor_set(x_389, 3, x_388);
+x_390 = lean_st_ref_set(x_7, x_389, x_381);
lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_394 = !lean_is_exclusive(x_393);
-if (x_394 == 0)
-{
-lean_object* x_395;
-x_395 = lean_ctor_get(x_393, 0);
-lean_dec(x_395);
-lean_ctor_set_tag(x_393, 1);
-lean_ctor_set(x_393, 0, x_390);
-return x_393;
+x_391 = lean_ctor_get(x_390, 1);
+lean_inc(x_391);
+if (lean_is_exclusive(x_390)) {
+ lean_ctor_release(x_390, 0);
+ lean_ctor_release(x_390, 1);
+ x_392 = x_390;
+} else {
+ lean_dec_ref(x_390);
+ x_392 = lean_box(0);
+}
+x_393 = lean_box(x_377);
+x_394 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_394, 0, x_371);
+lean_ctor_set(x_394, 1, x_393);
+if (lean_is_scalar(x_392)) {
+ x_395 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_395 = x_392;
+}
+lean_ctor_set(x_395, 0, x_394);
+lean_ctor_set(x_395, 1, x_391);
+x_9 = x_395;
+goto block_21;
}
else
{
lean_object* x_396; lean_object* x_397;
-x_396 = lean_ctor_get(x_393, 1);
+x_396 = lean_ctor_get(x_370, 0);
lean_inc(x_396);
-lean_dec(x_393);
-x_397 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_397, 0, x_390);
-lean_ctor_set(x_397, 1, x_396);
-return x_397;
+x_397 = lean_ctor_get(x_370, 1);
+lean_inc(x_397);
+lean_dec(x_370);
+x_336 = x_396;
+x_337 = x_397;
+goto block_356;
}
}
-}
-block_412:
-{
-if (x_399 == 0)
-{
-x_360 = x_400;
-goto block_398;
-}
else
{
-lean_object* x_401; lean_object* x_402; lean_object* x_403; lean_object* x_404; lean_object* x_405; lean_object* x_406; lean_object* x_407; lean_object* x_408; lean_object* x_409; lean_object* x_410; lean_object* x_411;
+lean_object* x_398; lean_object* x_399;
+lean_dec(x_358);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+lean_dec(x_1);
+x_398 = lean_ctor_get(x_360, 0);
+lean_inc(x_398);
+x_399 = lean_ctor_get(x_360, 1);
+lean_inc(x_399);
+lean_dec(x_360);
+x_336 = x_398;
+x_337 = x_399;
+goto block_356;
+}
+}
+block_414:
+{
+if (x_401 == 0)
+{
+x_357 = x_402;
+goto block_400;
+}
+else
+{
+lean_object* x_403; lean_object* x_404; lean_object* x_405; lean_object* x_406; lean_object* x_407; lean_object* x_408; lean_object* x_409; lean_object* x_410; lean_object* x_411; lean_object* x_412; lean_object* x_413;
lean_inc(x_1);
-x_401 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_401, 0, x_1);
-x_402 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_403 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_403, 0, x_402);
-lean_ctor_set(x_403, 1, x_401);
-x_404 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__8;
+x_403 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_403, 0, x_1);
+x_404 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
x_405 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_405, 0, x_403);
-lean_ctor_set(x_405, 1, x_404);
-lean_inc(x_2);
-x_406 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_406, 0, x_2);
+lean_ctor_set(x_405, 0, x_404);
+lean_ctor_set(x_405, 1, x_403);
+x_406 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__8;
x_407 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_407, 0, x_405);
lean_ctor_set(x_407, 1, x_406);
-x_408 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_408, 0, x_407);
-lean_ctor_set(x_408, 1, x_402);
-x_409 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__2;
-x_410 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__2(x_409, x_408, x_3, x_4, x_5, x_6, x_7, x_400);
-x_411 = lean_ctor_get(x_410, 1);
-lean_inc(x_411);
-lean_dec(x_410);
-x_360 = x_411;
-goto block_398;
+lean_inc(x_2);
+x_408 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_408, 0, x_2);
+x_409 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_409, 0, x_407);
+lean_ctor_set(x_409, 1, x_408);
+x_410 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_410, 0, x_409);
+lean_ctor_set(x_410, 1, x_404);
+x_411 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__2;
+x_412 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__2(x_411, x_410, x_3, x_4, x_5, x_6, x_7, x_402);
+x_413 = lean_ctor_get(x_412, 1);
+lean_inc(x_413);
+lean_dec(x_412);
+x_357 = x_413;
+goto block_400;
+}
+}
}
}
}
@@ -36234,7 +36494,7 @@ x_55 = lean_ctor_get(x_49, 1);
lean_inc(x_55);
lean_dec(x_49);
x_56 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqLeft___closed__4;
-x_57 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_56, x_4, x_5, x_6, x_7, x_8, x_55);
+x_57 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_56, x_4, x_5, x_6, x_7, x_8, x_55);
x_58 = lean_ctor_get(x_57, 0);
lean_inc(x_58);
x_59 = lean_ctor_get(x_57, 1);
@@ -36427,7 +36687,7 @@ x_55 = lean_ctor_get(x_49, 1);
lean_inc(x_55);
lean_dec(x_49);
x_56 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqRight___closed__2;
-x_57 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_56, x_4, x_5, x_6, x_7, x_8, x_55);
+x_57 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_56, x_4, x_5, x_6, x_7, x_8, x_55);
x_58 = lean_ctor_get(x_57, 0);
lean_inc(x_58);
x_59 = lean_ctor_get(x_57, 1);
@@ -36620,7 +36880,7 @@ x_55 = lean_ctor_get(x_49, 1);
lean_inc(x_55);
lean_dec(x_49);
x_56 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqLeftRight___closed__2;
-x_57 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_56, x_4, x_5, x_6, x_7, x_8, x_55);
+x_57 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_56, x_4, x_5, x_6, x_7, x_8, x_55);
x_58 = lean_ctor_get(x_57, 0);
lean_inc(x_58);
x_59 = lean_ctor_get(x_57, 1);
@@ -36906,7 +37166,7 @@ x_38 = lean_ctor_get(x_32, 1);
lean_inc(x_38);
lean_dec(x_32);
lean_inc(x_3);
-x_39 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_3, x_5, x_6, x_7, x_8, x_9, x_38);
+x_39 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_3, x_5, x_6, x_7, x_8, x_9, x_38);
x_40 = lean_ctor_get(x_39, 0);
lean_inc(x_40);
x_41 = lean_ctor_get(x_39, 1);
@@ -37521,850 +37781,868 @@ return x_44;
lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_tryHeuristic(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:
{
-lean_object* x_9; lean_object* x_10; uint8_t x_11; lean_object* x_12; lean_object* x_216; lean_object* x_217; lean_object* x_218; uint8_t x_219;
+lean_object* x_9; lean_object* x_10; uint8_t x_11; lean_object* x_12; lean_object* x_220; lean_object* x_221; lean_object* x_222; uint8_t x_223;
x_9 = l_Lean_Expr_getAppFn(x_1);
x_10 = l_Lean_Expr_getAppFn(x_2);
-x_216 = lean_st_ref_get(x_7, x_8);
-x_217 = lean_ctor_get(x_216, 0);
-lean_inc(x_217);
-x_218 = lean_ctor_get(x_217, 3);
-lean_inc(x_218);
-lean_dec(x_217);
-x_219 = lean_ctor_get_uint8(x_218, sizeof(void*)*1);
-lean_dec(x_218);
-if (x_219 == 0)
+x_220 = lean_st_ref_get(x_7, x_8);
+x_221 = lean_ctor_get(x_220, 0);
+lean_inc(x_221);
+x_222 = lean_ctor_get(x_221, 3);
+lean_inc(x_222);
+lean_dec(x_221);
+x_223 = lean_ctor_get_uint8(x_222, sizeof(void*)*1);
+lean_dec(x_222);
+if (x_223 == 0)
{
-lean_object* x_220; uint8_t x_221;
-x_220 = lean_ctor_get(x_216, 1);
-lean_inc(x_220);
-lean_dec(x_216);
-x_221 = 0;
-x_11 = x_221;
-x_12 = x_220;
-goto block_215;
+lean_object* x_224; uint8_t x_225;
+x_224 = lean_ctor_get(x_220, 1);
+lean_inc(x_224);
+lean_dec(x_220);
+x_225 = 0;
+x_11 = x_225;
+x_12 = x_224;
+goto block_219;
}
else
{
-lean_object* x_222; lean_object* x_223; lean_object* x_224; lean_object* x_225; lean_object* x_226; uint8_t x_227;
-x_222 = lean_ctor_get(x_216, 1);
-lean_inc(x_222);
-lean_dec(x_216);
-x_223 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqLeft___closed__2;
-x_224 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__8(x_223, x_3, x_4, x_5, x_6, x_7, x_222);
-x_225 = lean_ctor_get(x_224, 0);
-lean_inc(x_225);
-x_226 = lean_ctor_get(x_224, 1);
+lean_object* x_226; lean_object* x_227; lean_object* x_228; lean_object* x_229; lean_object* x_230; uint8_t x_231;
+x_226 = lean_ctor_get(x_220, 1);
lean_inc(x_226);
-lean_dec(x_224);
-x_227 = lean_unbox(x_225);
-lean_dec(x_225);
-x_11 = x_227;
-x_12 = x_226;
-goto block_215;
+lean_dec(x_220);
+x_227 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqLeft___closed__2;
+x_228 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__8(x_227, x_3, x_4, x_5, x_6, x_7, x_226);
+x_229 = lean_ctor_get(x_228, 0);
+lean_inc(x_229);
+x_230 = lean_ctor_get(x_228, 1);
+lean_inc(x_230);
+lean_dec(x_228);
+x_231 = lean_unbox(x_229);
+lean_dec(x_229);
+x_11 = x_231;
+x_12 = x_230;
+goto block_219;
}
-block_215:
+block_219:
{
+uint8_t x_13;
if (x_11 == 0)
{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; uint8_t x_22;
-x_13 = lean_st_ref_get(x_7, x_12);
-x_14 = lean_ctor_get(x_13, 0);
+uint8_t x_217;
+x_217 = 1;
+x_13 = x_217;
+goto block_216;
+}
+else
+{
+uint8_t x_218;
+x_218 = 0;
+x_13 = x_218;
+goto block_216;
+}
+block_216:
+{
+if (x_13 == 0)
+{
+lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
+x_14 = lean_ctor_get(x_6, 3);
lean_inc(x_14);
-x_15 = lean_ctor_get(x_14, 3);
-lean_inc(x_15);
-lean_dec(x_14);
-x_16 = lean_ctor_get(x_13, 1);
+x_15 = l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__1___rarg(x_7, x_12);
+x_16 = lean_ctor_get(x_15, 0);
lean_inc(x_16);
-lean_dec(x_13);
-x_17 = lean_ctor_get_uint8(x_15, sizeof(void*)*1);
+x_17 = lean_ctor_get(x_15, 1);
+lean_inc(x_17);
lean_dec(x_15);
-x_18 = lean_st_ref_take(x_7, x_16);
-x_19 = lean_ctor_get(x_18, 0);
-lean_inc(x_19);
-x_20 = lean_ctor_get(x_19, 3);
-lean_inc(x_20);
-x_21 = lean_ctor_get(x_18, 1);
-lean_inc(x_21);
-lean_dec(x_18);
-x_22 = !lean_is_exclusive(x_19);
-if (x_22 == 0)
-{
-lean_object* x_23; uint8_t x_24;
-x_23 = lean_ctor_get(x_19, 3);
-lean_dec(x_23);
-x_24 = !lean_is_exclusive(x_20);
-if (x_24 == 0)
-{
-uint8_t x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29;
-x_25 = 0;
-lean_ctor_set_uint8(x_20, sizeof(void*)*1, x_25);
-x_26 = lean_st_ref_set(x_7, x_19, x_21);
-x_27 = lean_ctor_get(x_26, 1);
-lean_inc(x_27);
-lean_dec(x_26);
-x_28 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqLeft___closed__2;
-lean_inc(x_7);
-x_29 = l_Lean_Meta_commitWhen___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_tryHeuristic___spec__2(x_1, x_2, x_9, x_10, x_28, x_3, x_4, x_5, x_6, x_7, x_27);
-if (lean_obj_tag(x_29) == 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; lean_object* x_36; lean_object* x_37; uint8_t x_38;
-x_30 = lean_ctor_get(x_29, 0);
-lean_inc(x_30);
-x_31 = lean_ctor_get(x_29, 1);
-lean_inc(x_31);
-lean_dec(x_29);
-x_32 = lean_st_ref_get(x_7, x_31);
-x_33 = lean_ctor_get(x_32, 1);
-lean_inc(x_33);
-lean_dec(x_32);
-x_34 = lean_st_ref_take(x_7, x_33);
-x_35 = lean_ctor_get(x_34, 0);
-lean_inc(x_35);
-x_36 = lean_ctor_get(x_35, 3);
-lean_inc(x_36);
-x_37 = lean_ctor_get(x_34, 1);
-lean_inc(x_37);
-lean_dec(x_34);
-x_38 = !lean_is_exclusive(x_35);
-if (x_38 == 0)
-{
-lean_object* x_39; uint8_t x_40;
-x_39 = lean_ctor_get(x_35, 3);
-lean_dec(x_39);
-x_40 = !lean_is_exclusive(x_36);
-if (x_40 == 0)
-{
-lean_object* x_41; uint8_t x_42;
-lean_ctor_set_uint8(x_36, sizeof(void*)*1, x_17);
-x_41 = lean_st_ref_set(x_7, x_35, x_37);
-lean_dec(x_7);
-x_42 = !lean_is_exclusive(x_41);
-if (x_42 == 0)
-{
-lean_object* x_43;
-x_43 = lean_ctor_get(x_41, 0);
-lean_dec(x_43);
-lean_ctor_set(x_41, 0, x_30);
-return x_41;
-}
-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(0, 2, 0);
-lean_ctor_set(x_45, 0, x_30);
-lean_ctor_set(x_45, 1, x_44);
-return x_45;
-}
-}
-else
-{
-lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51;
-x_46 = lean_ctor_get(x_36, 0);
-lean_inc(x_46);
-lean_dec(x_36);
-x_47 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_47, 0, x_46);
-lean_ctor_set_uint8(x_47, sizeof(void*)*1, x_17);
-lean_ctor_set(x_35, 3, x_47);
-x_48 = lean_st_ref_set(x_7, x_35, x_37);
-lean_dec(x_7);
-x_49 = lean_ctor_get(x_48, 1);
-lean_inc(x_49);
-if (lean_is_exclusive(x_48)) {
- lean_ctor_release(x_48, 0);
- lean_ctor_release(x_48, 1);
- x_50 = x_48;
-} else {
- lean_dec_ref(x_48);
- x_50 = lean_box(0);
-}
-if (lean_is_scalar(x_50)) {
- x_51 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_51 = x_50;
-}
-lean_ctor_set(x_51, 0, x_30);
-lean_ctor_set(x_51, 1, x_49);
-return x_51;
-}
-}
-else
-{
-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;
-x_52 = lean_ctor_get(x_35, 0);
-x_53 = lean_ctor_get(x_35, 1);
-x_54 = lean_ctor_get(x_35, 2);
-lean_inc(x_54);
-lean_inc(x_53);
-lean_inc(x_52);
-lean_dec(x_35);
-x_55 = lean_ctor_get(x_36, 0);
-lean_inc(x_55);
-if (lean_is_exclusive(x_36)) {
- lean_ctor_release(x_36, 0);
- x_56 = x_36;
-} else {
- lean_dec_ref(x_36);
- x_56 = lean_box(0);
-}
-if (lean_is_scalar(x_56)) {
- x_57 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_57 = x_56;
-}
-lean_ctor_set(x_57, 0, x_55);
-lean_ctor_set_uint8(x_57, sizeof(void*)*1, x_17);
-x_58 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_58, 0, x_52);
-lean_ctor_set(x_58, 1, x_53);
-lean_ctor_set(x_58, 2, x_54);
-lean_ctor_set(x_58, 3, x_57);
-x_59 = lean_st_ref_set(x_7, x_58, x_37);
-lean_dec(x_7);
-x_60 = lean_ctor_get(x_59, 1);
-lean_inc(x_60);
-if (lean_is_exclusive(x_59)) {
- lean_ctor_release(x_59, 0);
- lean_ctor_release(x_59, 1);
- x_61 = x_59;
-} else {
- lean_dec_ref(x_59);
- x_61 = lean_box(0);
-}
-if (lean_is_scalar(x_61)) {
- x_62 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_62 = x_61;
-}
-lean_ctor_set(x_62, 0, x_30);
-lean_ctor_set(x_62, 1, x_60);
-return x_62;
-}
-}
-else
-{
-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; uint8_t x_71;
-x_63 = lean_ctor_get(x_29, 0);
-lean_inc(x_63);
-x_64 = lean_ctor_get(x_29, 1);
-lean_inc(x_64);
-lean_dec(x_29);
-x_65 = lean_st_ref_get(x_7, x_64);
-x_66 = lean_ctor_get(x_65, 1);
-lean_inc(x_66);
-lean_dec(x_65);
-x_67 = lean_st_ref_take(x_7, x_66);
-x_68 = lean_ctor_get(x_67, 0);
-lean_inc(x_68);
-x_69 = lean_ctor_get(x_68, 3);
-lean_inc(x_69);
-x_70 = lean_ctor_get(x_67, 1);
-lean_inc(x_70);
-lean_dec(x_67);
-x_71 = !lean_is_exclusive(x_68);
-if (x_71 == 0)
-{
-lean_object* x_72; uint8_t x_73;
-x_72 = lean_ctor_get(x_68, 3);
-lean_dec(x_72);
-x_73 = !lean_is_exclusive(x_69);
-if (x_73 == 0)
-{
-lean_object* x_74; uint8_t x_75;
-lean_ctor_set_uint8(x_69, sizeof(void*)*1, x_17);
-x_74 = lean_st_ref_set(x_7, x_68, x_70);
-lean_dec(x_7);
-x_75 = !lean_is_exclusive(x_74);
-if (x_75 == 0)
-{
-lean_object* x_76;
-x_76 = lean_ctor_get(x_74, 0);
-lean_dec(x_76);
-lean_ctor_set_tag(x_74, 1);
-lean_ctor_set(x_74, 0, x_63);
-return x_74;
-}
-else
-{
-lean_object* x_77; lean_object* x_78;
-x_77 = lean_ctor_get(x_74, 1);
-lean_inc(x_77);
-lean_dec(x_74);
-x_78 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_78, 0, x_63);
-lean_ctor_set(x_78, 1, x_77);
-return x_78;
-}
-}
-else
-{
-lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84;
-x_79 = lean_ctor_get(x_69, 0);
-lean_inc(x_79);
-lean_dec(x_69);
-x_80 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_80, 0, x_79);
-lean_ctor_set_uint8(x_80, sizeof(void*)*1, x_17);
-lean_ctor_set(x_68, 3, x_80);
-x_81 = lean_st_ref_set(x_7, x_68, x_70);
-lean_dec(x_7);
-x_82 = lean_ctor_get(x_81, 1);
-lean_inc(x_82);
-if (lean_is_exclusive(x_81)) {
- lean_ctor_release(x_81, 0);
- lean_ctor_release(x_81, 1);
- x_83 = x_81;
-} else {
- lean_dec_ref(x_81);
- x_83 = lean_box(0);
-}
-if (lean_is_scalar(x_83)) {
- x_84 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_84 = x_83;
- lean_ctor_set_tag(x_84, 1);
-}
-lean_ctor_set(x_84, 0, x_63);
-lean_ctor_set(x_84, 1, x_82);
-return x_84;
-}
-}
-else
-{
-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;
-x_85 = lean_ctor_get(x_68, 0);
-x_86 = lean_ctor_get(x_68, 1);
-x_87 = lean_ctor_get(x_68, 2);
-lean_inc(x_87);
-lean_inc(x_86);
-lean_inc(x_85);
-lean_dec(x_68);
-x_88 = lean_ctor_get(x_69, 0);
-lean_inc(x_88);
-if (lean_is_exclusive(x_69)) {
- lean_ctor_release(x_69, 0);
- x_89 = x_69;
-} else {
- lean_dec_ref(x_69);
- x_89 = lean_box(0);
-}
-if (lean_is_scalar(x_89)) {
- x_90 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_90 = x_89;
-}
-lean_ctor_set(x_90, 0, x_88);
-lean_ctor_set_uint8(x_90, sizeof(void*)*1, x_17);
-x_91 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_91, 0, x_85);
-lean_ctor_set(x_91, 1, x_86);
-lean_ctor_set(x_91, 2, x_87);
-lean_ctor_set(x_91, 3, x_90);
-x_92 = lean_st_ref_set(x_7, x_91, x_70);
-lean_dec(x_7);
-x_93 = lean_ctor_get(x_92, 1);
-lean_inc(x_93);
-if (lean_is_exclusive(x_92)) {
- lean_ctor_release(x_92, 0);
- lean_ctor_release(x_92, 1);
- x_94 = x_92;
-} else {
- lean_dec_ref(x_92);
- x_94 = lean_box(0);
-}
-if (lean_is_scalar(x_94)) {
- x_95 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_95 = x_94;
- lean_ctor_set_tag(x_95, 1);
-}
-lean_ctor_set(x_95, 0, x_63);
-lean_ctor_set(x_95, 1, x_93);
-return x_95;
-}
-}
-}
-else
-{
-lean_object* x_96; uint8_t x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102;
-x_96 = lean_ctor_get(x_20, 0);
-lean_inc(x_96);
-lean_dec(x_20);
-x_97 = 0;
-x_98 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_98, 0, x_96);
-lean_ctor_set_uint8(x_98, sizeof(void*)*1, x_97);
-lean_ctor_set(x_19, 3, x_98);
-x_99 = lean_st_ref_set(x_7, x_19, x_21);
-x_100 = lean_ctor_get(x_99, 1);
-lean_inc(x_100);
-lean_dec(x_99);
-x_101 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqLeft___closed__2;
-lean_inc(x_7);
-x_102 = l_Lean_Meta_commitWhen___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_tryHeuristic___spec__2(x_1, x_2, x_9, x_10, x_101, x_3, x_4, x_5, x_6, x_7, x_100);
-if (lean_obj_tag(x_102) == 0)
-{
-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;
-x_103 = lean_ctor_get(x_102, 0);
-lean_inc(x_103);
-x_104 = lean_ctor_get(x_102, 1);
-lean_inc(x_104);
-lean_dec(x_102);
-x_105 = lean_st_ref_get(x_7, x_104);
-x_106 = lean_ctor_get(x_105, 1);
-lean_inc(x_106);
-lean_dec(x_105);
-x_107 = lean_st_ref_take(x_7, x_106);
-x_108 = lean_ctor_get(x_107, 0);
-lean_inc(x_108);
-x_109 = lean_ctor_get(x_108, 3);
-lean_inc(x_109);
-x_110 = lean_ctor_get(x_107, 1);
-lean_inc(x_110);
-lean_dec(x_107);
-x_111 = lean_ctor_get(x_108, 0);
-lean_inc(x_111);
-x_112 = lean_ctor_get(x_108, 1);
-lean_inc(x_112);
-x_113 = lean_ctor_get(x_108, 2);
-lean_inc(x_113);
-if (lean_is_exclusive(x_108)) {
- lean_ctor_release(x_108, 0);
- lean_ctor_release(x_108, 1);
- lean_ctor_release(x_108, 2);
- lean_ctor_release(x_108, 3);
- x_114 = x_108;
-} else {
- lean_dec_ref(x_108);
- x_114 = lean_box(0);
-}
-x_115 = lean_ctor_get(x_109, 0);
-lean_inc(x_115);
-if (lean_is_exclusive(x_109)) {
- lean_ctor_release(x_109, 0);
- x_116 = x_109;
-} else {
- lean_dec_ref(x_109);
- x_116 = lean_box(0);
-}
-if (lean_is_scalar(x_116)) {
- x_117 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_117 = x_116;
-}
-lean_ctor_set(x_117, 0, x_115);
-lean_ctor_set_uint8(x_117, sizeof(void*)*1, x_17);
-if (lean_is_scalar(x_114)) {
- x_118 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_118 = x_114;
-}
-lean_ctor_set(x_118, 0, x_111);
-lean_ctor_set(x_118, 1, x_112);
-lean_ctor_set(x_118, 2, x_113);
-lean_ctor_set(x_118, 3, x_117);
-x_119 = lean_st_ref_set(x_7, x_118, x_110);
-lean_dec(x_7);
-x_120 = lean_ctor_get(x_119, 1);
-lean_inc(x_120);
-if (lean_is_exclusive(x_119)) {
- lean_ctor_release(x_119, 0);
- lean_ctor_release(x_119, 1);
- x_121 = x_119;
-} else {
- lean_dec_ref(x_119);
- x_121 = lean_box(0);
-}
-if (lean_is_scalar(x_121)) {
- x_122 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_122 = x_121;
-}
-lean_ctor_set(x_122, 0, x_103);
-lean_ctor_set(x_122, 1, x_120);
-return x_122;
-}
-else
-{
-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; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142;
-x_123 = lean_ctor_get(x_102, 0);
-lean_inc(x_123);
-x_124 = lean_ctor_get(x_102, 1);
-lean_inc(x_124);
-lean_dec(x_102);
-x_125 = lean_st_ref_get(x_7, x_124);
-x_126 = lean_ctor_get(x_125, 1);
-lean_inc(x_126);
-lean_dec(x_125);
-x_127 = lean_st_ref_take(x_7, x_126);
-x_128 = lean_ctor_get(x_127, 0);
-lean_inc(x_128);
-x_129 = lean_ctor_get(x_128, 3);
-lean_inc(x_129);
-x_130 = lean_ctor_get(x_127, 1);
-lean_inc(x_130);
-lean_dec(x_127);
-x_131 = lean_ctor_get(x_128, 0);
-lean_inc(x_131);
-x_132 = lean_ctor_get(x_128, 1);
-lean_inc(x_132);
-x_133 = lean_ctor_get(x_128, 2);
-lean_inc(x_133);
-if (lean_is_exclusive(x_128)) {
- lean_ctor_release(x_128, 0);
- lean_ctor_release(x_128, 1);
- lean_ctor_release(x_128, 2);
- lean_ctor_release(x_128, 3);
- x_134 = x_128;
-} else {
- lean_dec_ref(x_128);
- x_134 = lean_box(0);
-}
-x_135 = lean_ctor_get(x_129, 0);
-lean_inc(x_135);
-if (lean_is_exclusive(x_129)) {
- lean_ctor_release(x_129, 0);
- x_136 = x_129;
-} else {
- lean_dec_ref(x_129);
- x_136 = lean_box(0);
-}
-if (lean_is_scalar(x_136)) {
- x_137 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_137 = x_136;
-}
-lean_ctor_set(x_137, 0, x_135);
-lean_ctor_set_uint8(x_137, sizeof(void*)*1, x_17);
-if (lean_is_scalar(x_134)) {
- x_138 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_138 = x_134;
-}
-lean_ctor_set(x_138, 0, x_131);
-lean_ctor_set(x_138, 1, x_132);
-lean_ctor_set(x_138, 2, x_133);
-lean_ctor_set(x_138, 3, x_137);
-x_139 = lean_st_ref_set(x_7, x_138, x_130);
-lean_dec(x_7);
-x_140 = lean_ctor_get(x_139, 1);
-lean_inc(x_140);
-if (lean_is_exclusive(x_139)) {
- lean_ctor_release(x_139, 0);
- lean_ctor_release(x_139, 1);
- x_141 = x_139;
-} else {
- lean_dec_ref(x_139);
- x_141 = lean_box(0);
-}
-if (lean_is_scalar(x_141)) {
- x_142 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_142 = x_141;
- lean_ctor_set_tag(x_142, 1);
-}
-lean_ctor_set(x_142, 0, x_123);
-lean_ctor_set(x_142, 1, x_140);
-return x_142;
-}
-}
-}
-else
-{
-lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; uint8_t x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154;
-x_143 = lean_ctor_get(x_19, 0);
-x_144 = lean_ctor_get(x_19, 1);
-x_145 = lean_ctor_get(x_19, 2);
-lean_inc(x_145);
-lean_inc(x_144);
-lean_inc(x_143);
-lean_dec(x_19);
-x_146 = lean_ctor_get(x_20, 0);
-lean_inc(x_146);
-if (lean_is_exclusive(x_20)) {
- lean_ctor_release(x_20, 0);
- x_147 = x_20;
-} else {
- lean_dec_ref(x_20);
- x_147 = lean_box(0);
-}
-x_148 = 0;
-if (lean_is_scalar(x_147)) {
- x_149 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_149 = x_147;
-}
-lean_ctor_set(x_149, 0, x_146);
-lean_ctor_set_uint8(x_149, sizeof(void*)*1, x_148);
-x_150 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_150, 0, x_143);
-lean_ctor_set(x_150, 1, x_144);
-lean_ctor_set(x_150, 2, x_145);
-lean_ctor_set(x_150, 3, x_149);
-x_151 = lean_st_ref_set(x_7, x_150, x_21);
-x_152 = lean_ctor_get(x_151, 1);
-lean_inc(x_152);
-lean_dec(x_151);
-x_153 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqLeft___closed__2;
-lean_inc(x_7);
-x_154 = l_Lean_Meta_commitWhen___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_tryHeuristic___spec__2(x_1, x_2, x_9, x_10, x_153, x_3, x_4, x_5, x_6, x_7, x_152);
-if (lean_obj_tag(x_154) == 0)
-{
-lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174;
-x_155 = lean_ctor_get(x_154, 0);
-lean_inc(x_155);
-x_156 = lean_ctor_get(x_154, 1);
-lean_inc(x_156);
-lean_dec(x_154);
-x_157 = lean_st_ref_get(x_7, x_156);
-x_158 = lean_ctor_get(x_157, 1);
-lean_inc(x_158);
-lean_dec(x_157);
-x_159 = lean_st_ref_take(x_7, x_158);
-x_160 = lean_ctor_get(x_159, 0);
-lean_inc(x_160);
-x_161 = lean_ctor_get(x_160, 3);
-lean_inc(x_161);
-x_162 = lean_ctor_get(x_159, 1);
-lean_inc(x_162);
-lean_dec(x_159);
-x_163 = lean_ctor_get(x_160, 0);
-lean_inc(x_163);
-x_164 = lean_ctor_get(x_160, 1);
-lean_inc(x_164);
-x_165 = lean_ctor_get(x_160, 2);
-lean_inc(x_165);
-if (lean_is_exclusive(x_160)) {
- lean_ctor_release(x_160, 0);
- lean_ctor_release(x_160, 1);
- lean_ctor_release(x_160, 2);
- lean_ctor_release(x_160, 3);
- x_166 = x_160;
-} else {
- lean_dec_ref(x_160);
- x_166 = lean_box(0);
-}
-x_167 = lean_ctor_get(x_161, 0);
-lean_inc(x_167);
-if (lean_is_exclusive(x_161)) {
- lean_ctor_release(x_161, 0);
- x_168 = x_161;
-} else {
- lean_dec_ref(x_161);
- x_168 = lean_box(0);
-}
-if (lean_is_scalar(x_168)) {
- x_169 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_169 = x_168;
-}
-lean_ctor_set(x_169, 0, x_167);
-lean_ctor_set_uint8(x_169, sizeof(void*)*1, x_17);
-if (lean_is_scalar(x_166)) {
- x_170 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_170 = x_166;
-}
-lean_ctor_set(x_170, 0, x_163);
-lean_ctor_set(x_170, 1, x_164);
-lean_ctor_set(x_170, 2, x_165);
-lean_ctor_set(x_170, 3, x_169);
-x_171 = lean_st_ref_set(x_7, x_170, x_162);
-lean_dec(x_7);
-x_172 = lean_ctor_get(x_171, 1);
-lean_inc(x_172);
-if (lean_is_exclusive(x_171)) {
- lean_ctor_release(x_171, 0);
- lean_ctor_release(x_171, 1);
- x_173 = x_171;
-} else {
- lean_dec_ref(x_171);
- x_173 = lean_box(0);
-}
-if (lean_is_scalar(x_173)) {
- x_174 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_174 = x_173;
-}
-lean_ctor_set(x_174, 0, x_155);
-lean_ctor_set(x_174, 1, x_172);
-return x_174;
-}
-else
-{
-lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194;
-x_175 = lean_ctor_get(x_154, 0);
-lean_inc(x_175);
-x_176 = lean_ctor_get(x_154, 1);
-lean_inc(x_176);
-lean_dec(x_154);
-x_177 = lean_st_ref_get(x_7, x_176);
-x_178 = lean_ctor_get(x_177, 1);
-lean_inc(x_178);
-lean_dec(x_177);
-x_179 = lean_st_ref_take(x_7, x_178);
-x_180 = lean_ctor_get(x_179, 0);
-lean_inc(x_180);
-x_181 = lean_ctor_get(x_180, 3);
-lean_inc(x_181);
-x_182 = lean_ctor_get(x_179, 1);
-lean_inc(x_182);
-lean_dec(x_179);
-x_183 = lean_ctor_get(x_180, 0);
-lean_inc(x_183);
-x_184 = lean_ctor_get(x_180, 1);
-lean_inc(x_184);
-x_185 = lean_ctor_get(x_180, 2);
-lean_inc(x_185);
-if (lean_is_exclusive(x_180)) {
- lean_ctor_release(x_180, 0);
- lean_ctor_release(x_180, 1);
- lean_ctor_release(x_180, 2);
- lean_ctor_release(x_180, 3);
- x_186 = x_180;
-} else {
- lean_dec_ref(x_180);
- x_186 = lean_box(0);
-}
-x_187 = lean_ctor_get(x_181, 0);
-lean_inc(x_187);
-if (lean_is_exclusive(x_181)) {
- lean_ctor_release(x_181, 0);
- x_188 = x_181;
-} else {
- lean_dec_ref(x_181);
- x_188 = lean_box(0);
-}
-if (lean_is_scalar(x_188)) {
- x_189 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_189 = x_188;
-}
-lean_ctor_set(x_189, 0, x_187);
-lean_ctor_set_uint8(x_189, sizeof(void*)*1, x_17);
-if (lean_is_scalar(x_186)) {
- x_190 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_190 = x_186;
-}
-lean_ctor_set(x_190, 0, x_183);
-lean_ctor_set(x_190, 1, x_184);
-lean_ctor_set(x_190, 2, x_185);
-lean_ctor_set(x_190, 3, x_189);
-x_191 = lean_st_ref_set(x_7, x_190, x_182);
-lean_dec(x_7);
-x_192 = lean_ctor_get(x_191, 1);
-lean_inc(x_192);
-if (lean_is_exclusive(x_191)) {
- lean_ctor_release(x_191, 0);
- lean_ctor_release(x_191, 1);
- x_193 = x_191;
-} else {
- lean_dec_ref(x_191);
- x_193 = lean_box(0);
-}
-if (lean_is_scalar(x_193)) {
- x_194 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_194 = x_193;
- lean_ctor_set_tag(x_194, 1);
-}
-lean_ctor_set(x_194, 0, x_175);
-lean_ctor_set(x_194, 1, x_192);
-return x_194;
-}
-}
-}
-else
-{
-lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200;
-x_195 = lean_ctor_get(x_6, 3);
-lean_inc(x_195);
-x_196 = l___private_Lean_Util_Trace_5__getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__6___rarg(x_7, x_12);
-x_197 = lean_ctor_get(x_196, 0);
-lean_inc(x_197);
-x_198 = lean_ctor_get(x_196, 1);
-lean_inc(x_198);
-lean_dec(x_196);
-x_199 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqLeft___closed__2;
+x_18 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqLeft___closed__2;
lean_inc(x_7);
lean_inc(x_6);
lean_inc(x_5);
lean_inc(x_4);
lean_inc(x_3);
-x_200 = l_Lean_Meta_commitWhen___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_tryHeuristic___spec__3(x_1, x_2, x_9, x_10, x_199, x_3, x_4, x_5, x_6, x_7, x_198);
-if (lean_obj_tag(x_200) == 0)
+x_19 = l_Lean_Meta_commitWhen___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_tryHeuristic___spec__2(x_1, x_2, x_9, x_10, x_18, x_3, x_4, x_5, x_6, x_7, x_17);
+if (lean_obj_tag(x_19) == 0)
{
-lean_object* x_201; lean_object* x_202; lean_object* x_203; uint8_t x_204;
+lean_object* x_20; lean_object* x_21; lean_object* x_22; uint8_t x_23;
+x_20 = lean_ctor_get(x_19, 0);
+lean_inc(x_20);
+x_21 = lean_ctor_get(x_19, 1);
+lean_inc(x_21);
+lean_dec(x_19);
+x_22 = l___private_Lean_Util_Trace_0__Lean_addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__7(x_16, x_18, x_14, x_3, x_4, x_5, x_6, x_7, x_21);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_23 = !lean_is_exclusive(x_22);
+if (x_23 == 0)
+{
+lean_object* x_24;
+x_24 = lean_ctor_get(x_22, 0);
+lean_dec(x_24);
+lean_ctor_set(x_22, 0, x_20);
+return x_22;
+}
+else
+{
+lean_object* x_25; lean_object* x_26;
+x_25 = lean_ctor_get(x_22, 1);
+lean_inc(x_25);
+lean_dec(x_22);
+x_26 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_26, 0, x_20);
+lean_ctor_set(x_26, 1, x_25);
+return x_26;
+}
+}
+else
+{
+lean_object* x_27; lean_object* x_28; lean_object* x_29; uint8_t x_30;
+x_27 = lean_ctor_get(x_19, 0);
+lean_inc(x_27);
+x_28 = lean_ctor_get(x_19, 1);
+lean_inc(x_28);
+lean_dec(x_19);
+x_29 = l___private_Lean_Util_Trace_0__Lean_addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__7(x_16, x_18, x_14, x_3, x_4, x_5, x_6, x_7, x_28);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_30 = !lean_is_exclusive(x_29);
+if (x_30 == 0)
+{
+lean_object* x_31;
+x_31 = lean_ctor_get(x_29, 0);
+lean_dec(x_31);
+lean_ctor_set_tag(x_29, 1);
+lean_ctor_set(x_29, 0, x_27);
+return x_29;
+}
+else
+{
+lean_object* x_32; lean_object* x_33;
+x_32 = lean_ctor_get(x_29, 1);
+lean_inc(x_32);
+lean_dec(x_29);
+x_33 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_33, 0, x_27);
+lean_ctor_set(x_33, 1, x_32);
+return x_33;
+}
+}
+}
+else
+{
+lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; uint8_t x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; uint8_t x_43;
+x_34 = lean_st_ref_get(x_7, x_12);
+x_35 = lean_ctor_get(x_34, 0);
+lean_inc(x_35);
+x_36 = lean_ctor_get(x_35, 3);
+lean_inc(x_36);
+lean_dec(x_35);
+x_37 = lean_ctor_get(x_34, 1);
+lean_inc(x_37);
+lean_dec(x_34);
+x_38 = lean_ctor_get_uint8(x_36, sizeof(void*)*1);
+lean_dec(x_36);
+x_39 = lean_st_ref_take(x_7, x_37);
+x_40 = lean_ctor_get(x_39, 0);
+lean_inc(x_40);
+x_41 = lean_ctor_get(x_40, 3);
+lean_inc(x_41);
+x_42 = lean_ctor_get(x_39, 1);
+lean_inc(x_42);
+lean_dec(x_39);
+x_43 = !lean_is_exclusive(x_40);
+if (x_43 == 0)
+{
+lean_object* x_44; uint8_t x_45;
+x_44 = lean_ctor_get(x_40, 3);
+lean_dec(x_44);
+x_45 = !lean_is_exclusive(x_41);
+if (x_45 == 0)
+{
+uint8_t x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50;
+x_46 = 0;
+lean_ctor_set_uint8(x_41, sizeof(void*)*1, x_46);
+x_47 = lean_st_ref_set(x_7, x_40, x_42);
+x_48 = lean_ctor_get(x_47, 1);
+lean_inc(x_48);
+lean_dec(x_47);
+x_49 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqLeft___closed__2;
+lean_inc(x_7);
+x_50 = l_Lean_Meta_commitWhen___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_tryHeuristic___spec__3(x_1, x_2, x_9, x_10, x_49, x_3, x_4, x_5, x_6, x_7, x_48);
+if (lean_obj_tag(x_50) == 0)
+{
+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; uint8_t x_59;
+x_51 = lean_ctor_get(x_50, 0);
+lean_inc(x_51);
+x_52 = lean_ctor_get(x_50, 1);
+lean_inc(x_52);
+lean_dec(x_50);
+x_53 = lean_st_ref_get(x_7, x_52);
+x_54 = lean_ctor_get(x_53, 1);
+lean_inc(x_54);
+lean_dec(x_53);
+x_55 = lean_st_ref_take(x_7, x_54);
+x_56 = lean_ctor_get(x_55, 0);
+lean_inc(x_56);
+x_57 = lean_ctor_get(x_56, 3);
+lean_inc(x_57);
+x_58 = lean_ctor_get(x_55, 1);
+lean_inc(x_58);
+lean_dec(x_55);
+x_59 = !lean_is_exclusive(x_56);
+if (x_59 == 0)
+{
+lean_object* x_60; uint8_t x_61;
+x_60 = lean_ctor_get(x_56, 3);
+lean_dec(x_60);
+x_61 = !lean_is_exclusive(x_57);
+if (x_61 == 0)
+{
+lean_object* x_62; uint8_t x_63;
+lean_ctor_set_uint8(x_57, sizeof(void*)*1, x_38);
+x_62 = lean_st_ref_set(x_7, x_56, x_58);
+lean_dec(x_7);
+x_63 = !lean_is_exclusive(x_62);
+if (x_63 == 0)
+{
+lean_object* x_64;
+x_64 = lean_ctor_get(x_62, 0);
+lean_dec(x_64);
+lean_ctor_set(x_62, 0, x_51);
+return x_62;
+}
+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(0, 2, 0);
+lean_ctor_set(x_66, 0, x_51);
+lean_ctor_set(x_66, 1, x_65);
+return x_66;
+}
+}
+else
+{
+lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72;
+x_67 = lean_ctor_get(x_57, 0);
+lean_inc(x_67);
+lean_dec(x_57);
+x_68 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_68, 0, x_67);
+lean_ctor_set_uint8(x_68, sizeof(void*)*1, x_38);
+lean_ctor_set(x_56, 3, x_68);
+x_69 = lean_st_ref_set(x_7, x_56, x_58);
+lean_dec(x_7);
+x_70 = lean_ctor_get(x_69, 1);
+lean_inc(x_70);
+if (lean_is_exclusive(x_69)) {
+ lean_ctor_release(x_69, 0);
+ lean_ctor_release(x_69, 1);
+ x_71 = x_69;
+} else {
+ lean_dec_ref(x_69);
+ x_71 = lean_box(0);
+}
+if (lean_is_scalar(x_71)) {
+ x_72 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_72 = x_71;
+}
+lean_ctor_set(x_72, 0, x_51);
+lean_ctor_set(x_72, 1, x_70);
+return x_72;
+}
+}
+else
+{
+lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83;
+x_73 = lean_ctor_get(x_56, 0);
+x_74 = lean_ctor_get(x_56, 1);
+x_75 = lean_ctor_get(x_56, 2);
+lean_inc(x_75);
+lean_inc(x_74);
+lean_inc(x_73);
+lean_dec(x_56);
+x_76 = lean_ctor_get(x_57, 0);
+lean_inc(x_76);
+if (lean_is_exclusive(x_57)) {
+ lean_ctor_release(x_57, 0);
+ x_77 = x_57;
+} else {
+ lean_dec_ref(x_57);
+ x_77 = lean_box(0);
+}
+if (lean_is_scalar(x_77)) {
+ x_78 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_78 = x_77;
+}
+lean_ctor_set(x_78, 0, x_76);
+lean_ctor_set_uint8(x_78, sizeof(void*)*1, x_38);
+x_79 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_79, 0, x_73);
+lean_ctor_set(x_79, 1, x_74);
+lean_ctor_set(x_79, 2, x_75);
+lean_ctor_set(x_79, 3, x_78);
+x_80 = lean_st_ref_set(x_7, x_79, x_58);
+lean_dec(x_7);
+x_81 = lean_ctor_get(x_80, 1);
+lean_inc(x_81);
+if (lean_is_exclusive(x_80)) {
+ lean_ctor_release(x_80, 0);
+ lean_ctor_release(x_80, 1);
+ x_82 = x_80;
+} else {
+ lean_dec_ref(x_80);
+ x_82 = lean_box(0);
+}
+if (lean_is_scalar(x_82)) {
+ x_83 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_83 = x_82;
+}
+lean_ctor_set(x_83, 0, x_51);
+lean_ctor_set(x_83, 1, x_81);
+return x_83;
+}
+}
+else
+{
+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; uint8_t x_92;
+x_84 = lean_ctor_get(x_50, 0);
+lean_inc(x_84);
+x_85 = lean_ctor_get(x_50, 1);
+lean_inc(x_85);
+lean_dec(x_50);
+x_86 = lean_st_ref_get(x_7, x_85);
+x_87 = lean_ctor_get(x_86, 1);
+lean_inc(x_87);
+lean_dec(x_86);
+x_88 = lean_st_ref_take(x_7, x_87);
+x_89 = lean_ctor_get(x_88, 0);
+lean_inc(x_89);
+x_90 = lean_ctor_get(x_89, 3);
+lean_inc(x_90);
+x_91 = lean_ctor_get(x_88, 1);
+lean_inc(x_91);
+lean_dec(x_88);
+x_92 = !lean_is_exclusive(x_89);
+if (x_92 == 0)
+{
+lean_object* x_93; uint8_t x_94;
+x_93 = lean_ctor_get(x_89, 3);
+lean_dec(x_93);
+x_94 = !lean_is_exclusive(x_90);
+if (x_94 == 0)
+{
+lean_object* x_95; uint8_t x_96;
+lean_ctor_set_uint8(x_90, sizeof(void*)*1, x_38);
+x_95 = lean_st_ref_set(x_7, x_89, x_91);
+lean_dec(x_7);
+x_96 = !lean_is_exclusive(x_95);
+if (x_96 == 0)
+{
+lean_object* x_97;
+x_97 = lean_ctor_get(x_95, 0);
+lean_dec(x_97);
+lean_ctor_set_tag(x_95, 1);
+lean_ctor_set(x_95, 0, x_84);
+return x_95;
+}
+else
+{
+lean_object* x_98; lean_object* x_99;
+x_98 = lean_ctor_get(x_95, 1);
+lean_inc(x_98);
+lean_dec(x_95);
+x_99 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_99, 0, x_84);
+lean_ctor_set(x_99, 1, x_98);
+return x_99;
+}
+}
+else
+{
+lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105;
+x_100 = lean_ctor_get(x_90, 0);
+lean_inc(x_100);
+lean_dec(x_90);
+x_101 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_101, 0, x_100);
+lean_ctor_set_uint8(x_101, sizeof(void*)*1, x_38);
+lean_ctor_set(x_89, 3, x_101);
+x_102 = lean_st_ref_set(x_7, x_89, x_91);
+lean_dec(x_7);
+x_103 = lean_ctor_get(x_102, 1);
+lean_inc(x_103);
+if (lean_is_exclusive(x_102)) {
+ lean_ctor_release(x_102, 0);
+ lean_ctor_release(x_102, 1);
+ x_104 = x_102;
+} else {
+ lean_dec_ref(x_102);
+ x_104 = lean_box(0);
+}
+if (lean_is_scalar(x_104)) {
+ x_105 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_105 = x_104;
+ lean_ctor_set_tag(x_105, 1);
+}
+lean_ctor_set(x_105, 0, x_84);
+lean_ctor_set(x_105, 1, x_103);
+return x_105;
+}
+}
+else
+{
+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;
+x_106 = lean_ctor_get(x_89, 0);
+x_107 = lean_ctor_get(x_89, 1);
+x_108 = lean_ctor_get(x_89, 2);
+lean_inc(x_108);
+lean_inc(x_107);
+lean_inc(x_106);
+lean_dec(x_89);
+x_109 = lean_ctor_get(x_90, 0);
+lean_inc(x_109);
+if (lean_is_exclusive(x_90)) {
+ lean_ctor_release(x_90, 0);
+ x_110 = x_90;
+} else {
+ lean_dec_ref(x_90);
+ x_110 = lean_box(0);
+}
+if (lean_is_scalar(x_110)) {
+ x_111 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_111 = x_110;
+}
+lean_ctor_set(x_111, 0, x_109);
+lean_ctor_set_uint8(x_111, sizeof(void*)*1, x_38);
+x_112 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_112, 0, x_106);
+lean_ctor_set(x_112, 1, x_107);
+lean_ctor_set(x_112, 2, x_108);
+lean_ctor_set(x_112, 3, x_111);
+x_113 = lean_st_ref_set(x_7, x_112, x_91);
+lean_dec(x_7);
+x_114 = lean_ctor_get(x_113, 1);
+lean_inc(x_114);
+if (lean_is_exclusive(x_113)) {
+ lean_ctor_release(x_113, 0);
+ lean_ctor_release(x_113, 1);
+ x_115 = x_113;
+} else {
+ lean_dec_ref(x_113);
+ x_115 = lean_box(0);
+}
+if (lean_is_scalar(x_115)) {
+ x_116 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_116 = x_115;
+ lean_ctor_set_tag(x_116, 1);
+}
+lean_ctor_set(x_116, 0, x_84);
+lean_ctor_set(x_116, 1, x_114);
+return x_116;
+}
+}
+}
+else
+{
+lean_object* x_117; uint8_t x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123;
+x_117 = lean_ctor_get(x_41, 0);
+lean_inc(x_117);
+lean_dec(x_41);
+x_118 = 0;
+x_119 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_119, 0, x_117);
+lean_ctor_set_uint8(x_119, sizeof(void*)*1, x_118);
+lean_ctor_set(x_40, 3, x_119);
+x_120 = lean_st_ref_set(x_7, x_40, x_42);
+x_121 = lean_ctor_get(x_120, 1);
+lean_inc(x_121);
+lean_dec(x_120);
+x_122 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqLeft___closed__2;
+lean_inc(x_7);
+x_123 = l_Lean_Meta_commitWhen___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_tryHeuristic___spec__3(x_1, x_2, x_9, x_10, x_122, x_3, x_4, x_5, x_6, x_7, x_121);
+if (lean_obj_tag(x_123) == 0)
+{
+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; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143;
+x_124 = lean_ctor_get(x_123, 0);
+lean_inc(x_124);
+x_125 = lean_ctor_get(x_123, 1);
+lean_inc(x_125);
+lean_dec(x_123);
+x_126 = lean_st_ref_get(x_7, x_125);
+x_127 = lean_ctor_get(x_126, 1);
+lean_inc(x_127);
+lean_dec(x_126);
+x_128 = lean_st_ref_take(x_7, x_127);
+x_129 = lean_ctor_get(x_128, 0);
+lean_inc(x_129);
+x_130 = lean_ctor_get(x_129, 3);
+lean_inc(x_130);
+x_131 = lean_ctor_get(x_128, 1);
+lean_inc(x_131);
+lean_dec(x_128);
+x_132 = lean_ctor_get(x_129, 0);
+lean_inc(x_132);
+x_133 = lean_ctor_get(x_129, 1);
+lean_inc(x_133);
+x_134 = lean_ctor_get(x_129, 2);
+lean_inc(x_134);
+if (lean_is_exclusive(x_129)) {
+ lean_ctor_release(x_129, 0);
+ lean_ctor_release(x_129, 1);
+ lean_ctor_release(x_129, 2);
+ lean_ctor_release(x_129, 3);
+ x_135 = x_129;
+} else {
+ lean_dec_ref(x_129);
+ x_135 = lean_box(0);
+}
+x_136 = lean_ctor_get(x_130, 0);
+lean_inc(x_136);
+if (lean_is_exclusive(x_130)) {
+ lean_ctor_release(x_130, 0);
+ x_137 = x_130;
+} else {
+ lean_dec_ref(x_130);
+ x_137 = lean_box(0);
+}
+if (lean_is_scalar(x_137)) {
+ x_138 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_138 = x_137;
+}
+lean_ctor_set(x_138, 0, x_136);
+lean_ctor_set_uint8(x_138, sizeof(void*)*1, x_38);
+if (lean_is_scalar(x_135)) {
+ x_139 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_139 = x_135;
+}
+lean_ctor_set(x_139, 0, x_132);
+lean_ctor_set(x_139, 1, x_133);
+lean_ctor_set(x_139, 2, x_134);
+lean_ctor_set(x_139, 3, x_138);
+x_140 = lean_st_ref_set(x_7, x_139, x_131);
+lean_dec(x_7);
+x_141 = lean_ctor_get(x_140, 1);
+lean_inc(x_141);
+if (lean_is_exclusive(x_140)) {
+ lean_ctor_release(x_140, 0);
+ lean_ctor_release(x_140, 1);
+ x_142 = x_140;
+} else {
+ lean_dec_ref(x_140);
+ x_142 = lean_box(0);
+}
+if (lean_is_scalar(x_142)) {
+ x_143 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_143 = x_142;
+}
+lean_ctor_set(x_143, 0, x_124);
+lean_ctor_set(x_143, 1, x_141);
+return x_143;
+}
+else
+{
+lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163;
+x_144 = lean_ctor_get(x_123, 0);
+lean_inc(x_144);
+x_145 = lean_ctor_get(x_123, 1);
+lean_inc(x_145);
+lean_dec(x_123);
+x_146 = lean_st_ref_get(x_7, x_145);
+x_147 = lean_ctor_get(x_146, 1);
+lean_inc(x_147);
+lean_dec(x_146);
+x_148 = lean_st_ref_take(x_7, x_147);
+x_149 = lean_ctor_get(x_148, 0);
+lean_inc(x_149);
+x_150 = lean_ctor_get(x_149, 3);
+lean_inc(x_150);
+x_151 = lean_ctor_get(x_148, 1);
+lean_inc(x_151);
+lean_dec(x_148);
+x_152 = lean_ctor_get(x_149, 0);
+lean_inc(x_152);
+x_153 = lean_ctor_get(x_149, 1);
+lean_inc(x_153);
+x_154 = lean_ctor_get(x_149, 2);
+lean_inc(x_154);
+if (lean_is_exclusive(x_149)) {
+ lean_ctor_release(x_149, 0);
+ lean_ctor_release(x_149, 1);
+ lean_ctor_release(x_149, 2);
+ lean_ctor_release(x_149, 3);
+ x_155 = x_149;
+} else {
+ lean_dec_ref(x_149);
+ x_155 = lean_box(0);
+}
+x_156 = lean_ctor_get(x_150, 0);
+lean_inc(x_156);
+if (lean_is_exclusive(x_150)) {
+ lean_ctor_release(x_150, 0);
+ x_157 = x_150;
+} else {
+ lean_dec_ref(x_150);
+ x_157 = lean_box(0);
+}
+if (lean_is_scalar(x_157)) {
+ x_158 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_158 = x_157;
+}
+lean_ctor_set(x_158, 0, x_156);
+lean_ctor_set_uint8(x_158, sizeof(void*)*1, x_38);
+if (lean_is_scalar(x_155)) {
+ x_159 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_159 = x_155;
+}
+lean_ctor_set(x_159, 0, x_152);
+lean_ctor_set(x_159, 1, x_153);
+lean_ctor_set(x_159, 2, x_154);
+lean_ctor_set(x_159, 3, x_158);
+x_160 = lean_st_ref_set(x_7, x_159, x_151);
+lean_dec(x_7);
+x_161 = lean_ctor_get(x_160, 1);
+lean_inc(x_161);
+if (lean_is_exclusive(x_160)) {
+ lean_ctor_release(x_160, 0);
+ lean_ctor_release(x_160, 1);
+ x_162 = x_160;
+} else {
+ lean_dec_ref(x_160);
+ x_162 = lean_box(0);
+}
+if (lean_is_scalar(x_162)) {
+ x_163 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_163 = x_162;
+ lean_ctor_set_tag(x_163, 1);
+}
+lean_ctor_set(x_163, 0, x_144);
+lean_ctor_set(x_163, 1, x_161);
+return x_163;
+}
+}
+}
+else
+{
+lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; uint8_t x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175;
+x_164 = lean_ctor_get(x_40, 0);
+x_165 = lean_ctor_get(x_40, 1);
+x_166 = lean_ctor_get(x_40, 2);
+lean_inc(x_166);
+lean_inc(x_165);
+lean_inc(x_164);
+lean_dec(x_40);
+x_167 = lean_ctor_get(x_41, 0);
+lean_inc(x_167);
+if (lean_is_exclusive(x_41)) {
+ lean_ctor_release(x_41, 0);
+ x_168 = x_41;
+} else {
+ lean_dec_ref(x_41);
+ x_168 = lean_box(0);
+}
+x_169 = 0;
+if (lean_is_scalar(x_168)) {
+ x_170 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_170 = x_168;
+}
+lean_ctor_set(x_170, 0, x_167);
+lean_ctor_set_uint8(x_170, sizeof(void*)*1, x_169);
+x_171 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_171, 0, x_164);
+lean_ctor_set(x_171, 1, x_165);
+lean_ctor_set(x_171, 2, x_166);
+lean_ctor_set(x_171, 3, x_170);
+x_172 = lean_st_ref_set(x_7, x_171, x_42);
+x_173 = lean_ctor_get(x_172, 1);
+lean_inc(x_173);
+lean_dec(x_172);
+x_174 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqLeft___closed__2;
+lean_inc(x_7);
+x_175 = l_Lean_Meta_commitWhen___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_tryHeuristic___spec__3(x_1, x_2, x_9, x_10, x_174, x_3, x_4, x_5, x_6, x_7, x_173);
+if (lean_obj_tag(x_175) == 0)
+{
+lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195;
+x_176 = lean_ctor_get(x_175, 0);
+lean_inc(x_176);
+x_177 = lean_ctor_get(x_175, 1);
+lean_inc(x_177);
+lean_dec(x_175);
+x_178 = lean_st_ref_get(x_7, x_177);
+x_179 = lean_ctor_get(x_178, 1);
+lean_inc(x_179);
+lean_dec(x_178);
+x_180 = lean_st_ref_take(x_7, x_179);
+x_181 = lean_ctor_get(x_180, 0);
+lean_inc(x_181);
+x_182 = lean_ctor_get(x_181, 3);
+lean_inc(x_182);
+x_183 = lean_ctor_get(x_180, 1);
+lean_inc(x_183);
+lean_dec(x_180);
+x_184 = lean_ctor_get(x_181, 0);
+lean_inc(x_184);
+x_185 = lean_ctor_get(x_181, 1);
+lean_inc(x_185);
+x_186 = lean_ctor_get(x_181, 2);
+lean_inc(x_186);
+if (lean_is_exclusive(x_181)) {
+ lean_ctor_release(x_181, 0);
+ lean_ctor_release(x_181, 1);
+ lean_ctor_release(x_181, 2);
+ lean_ctor_release(x_181, 3);
+ x_187 = x_181;
+} else {
+ lean_dec_ref(x_181);
+ x_187 = lean_box(0);
+}
+x_188 = lean_ctor_get(x_182, 0);
+lean_inc(x_188);
+if (lean_is_exclusive(x_182)) {
+ lean_ctor_release(x_182, 0);
+ x_189 = x_182;
+} else {
+ lean_dec_ref(x_182);
+ x_189 = lean_box(0);
+}
+if (lean_is_scalar(x_189)) {
+ x_190 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_190 = x_189;
+}
+lean_ctor_set(x_190, 0, x_188);
+lean_ctor_set_uint8(x_190, sizeof(void*)*1, x_38);
+if (lean_is_scalar(x_187)) {
+ x_191 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_191 = x_187;
+}
+lean_ctor_set(x_191, 0, x_184);
+lean_ctor_set(x_191, 1, x_185);
+lean_ctor_set(x_191, 2, x_186);
+lean_ctor_set(x_191, 3, x_190);
+x_192 = lean_st_ref_set(x_7, x_191, x_183);
+lean_dec(x_7);
+x_193 = lean_ctor_get(x_192, 1);
+lean_inc(x_193);
+if (lean_is_exclusive(x_192)) {
+ lean_ctor_release(x_192, 0);
+ lean_ctor_release(x_192, 1);
+ x_194 = x_192;
+} else {
+ lean_dec_ref(x_192);
+ x_194 = lean_box(0);
+}
+if (lean_is_scalar(x_194)) {
+ x_195 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_195 = x_194;
+}
+lean_ctor_set(x_195, 0, x_176);
+lean_ctor_set(x_195, 1, x_193);
+return x_195;
+}
+else
+{
+lean_object* x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214; lean_object* x_215;
+x_196 = lean_ctor_get(x_175, 0);
+lean_inc(x_196);
+x_197 = lean_ctor_get(x_175, 1);
+lean_inc(x_197);
+lean_dec(x_175);
+x_198 = lean_st_ref_get(x_7, x_197);
+x_199 = lean_ctor_get(x_198, 1);
+lean_inc(x_199);
+lean_dec(x_198);
+x_200 = lean_st_ref_take(x_7, x_199);
x_201 = lean_ctor_get(x_200, 0);
lean_inc(x_201);
-x_202 = lean_ctor_get(x_200, 1);
+x_202 = lean_ctor_get(x_201, 3);
lean_inc(x_202);
+x_203 = lean_ctor_get(x_200, 1);
+lean_inc(x_203);
lean_dec(x_200);
-x_203 = l___private_Lean_Util_Trace_4__addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__7(x_197, x_199, x_195, x_3, x_4, x_5, x_6, x_7, x_202);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_204 = !lean_is_exclusive(x_203);
-if (x_204 == 0)
-{
-lean_object* x_205;
-x_205 = lean_ctor_get(x_203, 0);
-lean_dec(x_205);
-lean_ctor_set(x_203, 0, x_201);
-return x_203;
-}
-else
-{
-lean_object* x_206; lean_object* x_207;
-x_206 = lean_ctor_get(x_203, 1);
+x_204 = lean_ctor_get(x_201, 0);
+lean_inc(x_204);
+x_205 = lean_ctor_get(x_201, 1);
+lean_inc(x_205);
+x_206 = lean_ctor_get(x_201, 2);
lean_inc(x_206);
-lean_dec(x_203);
-x_207 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_207, 0, x_201);
-lean_ctor_set(x_207, 1, x_206);
-return x_207;
+if (lean_is_exclusive(x_201)) {
+ lean_ctor_release(x_201, 0);
+ lean_ctor_release(x_201, 1);
+ lean_ctor_release(x_201, 2);
+ lean_ctor_release(x_201, 3);
+ x_207 = x_201;
+} else {
+ lean_dec_ref(x_201);
+ x_207 = lean_box(0);
}
-}
-else
-{
-lean_object* x_208; lean_object* x_209; lean_object* x_210; uint8_t x_211;
-x_208 = lean_ctor_get(x_200, 0);
+x_208 = lean_ctor_get(x_202, 0);
lean_inc(x_208);
-x_209 = lean_ctor_get(x_200, 1);
-lean_inc(x_209);
-lean_dec(x_200);
-x_210 = l___private_Lean_Util_Trace_4__addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__7(x_197, x_199, x_195, x_3, x_4, x_5, x_6, x_7, x_209);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_211 = !lean_is_exclusive(x_210);
-if (x_211 == 0)
-{
-lean_object* x_212;
-x_212 = lean_ctor_get(x_210, 0);
-lean_dec(x_212);
-lean_ctor_set_tag(x_210, 1);
-lean_ctor_set(x_210, 0, x_208);
-return x_210;
+if (lean_is_exclusive(x_202)) {
+ lean_ctor_release(x_202, 0);
+ x_209 = x_202;
+} else {
+ lean_dec_ref(x_202);
+ x_209 = lean_box(0);
}
-else
-{
-lean_object* x_213; lean_object* x_214;
-x_213 = lean_ctor_get(x_210, 1);
+if (lean_is_scalar(x_209)) {
+ x_210 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_210 = x_209;
+}
+lean_ctor_set(x_210, 0, x_208);
+lean_ctor_set_uint8(x_210, sizeof(void*)*1, x_38);
+if (lean_is_scalar(x_207)) {
+ x_211 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_211 = x_207;
+}
+lean_ctor_set(x_211, 0, x_204);
+lean_ctor_set(x_211, 1, x_205);
+lean_ctor_set(x_211, 2, x_206);
+lean_ctor_set(x_211, 3, x_210);
+x_212 = lean_st_ref_set(x_7, x_211, x_203);
+lean_dec(x_7);
+x_213 = lean_ctor_get(x_212, 1);
lean_inc(x_213);
-lean_dec(x_210);
-x_214 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_214, 0, x_208);
-lean_ctor_set(x_214, 1, x_213);
-return x_214;
+if (lean_is_exclusive(x_212)) {
+ lean_ctor_release(x_212, 0);
+ lean_ctor_release(x_212, 1);
+ x_214 = x_212;
+} else {
+ lean_dec_ref(x_212);
+ x_214 = lean_box(0);
+}
+if (lean_is_scalar(x_214)) {
+ x_215 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_215 = x_214;
+ lean_ctor_set_tag(x_215, 1);
+}
+lean_ctor_set(x_215, 0, x_196);
+lean_ctor_set(x_215, 1, x_213);
+return x_215;
+}
}
}
}
@@ -44966,7 +45244,7 @@ x_180 = lean_ctor_get(x_174, 1);
lean_inc(x_180);
lean_dec(x_174);
x_181 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_182 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_181, x_3, x_4, x_5, x_6, x_7, x_180);
+x_182 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_181, x_3, x_4, x_5, x_6, x_7, x_180);
x_183 = lean_ctor_get(x_182, 0);
lean_inc(x_183);
x_184 = lean_ctor_get(x_182, 1);
@@ -45146,7 +45424,7 @@ x_73 = lean_ctor_get(x_67, 1);
lean_inc(x_73);
lean_dec(x_67);
x_74 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqQuickOther___closed__1;
-x_75 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_74, x_3, x_4, x_5, x_6, x_7, x_73);
+x_75 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_74, x_3, x_4, x_5, x_6, x_7, x_73);
x_76 = lean_ctor_get(x_75, 0);
lean_inc(x_76);
x_77 = lean_ctor_get(x_75, 1);
@@ -47218,7 +47496,7 @@ else
{
lean_object* x_74; lean_object* x_75; uint8_t x_76;
lean_inc(x_53);
-x_74 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_1__toFormat___spec__1(x_53, x_55);
+x_74 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_0__Lean_TraceState_toFormat___spec__1(x_53, x_55);
x_75 = lean_ctor_get(x_74, 1);
lean_inc(x_75);
lean_dec(x_74);
@@ -47420,7 +47698,7 @@ else
{
lean_object* x_131; lean_object* x_132; uint8_t x_133;
lean_inc(x_112);
-x_131 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_1__toFormat___spec__1(x_112, x_114);
+x_131 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_0__Lean_TraceState_toFormat___spec__1(x_112, x_114);
x_132 = lean_ctor_get(x_131, 1);
lean_inc(x_132);
lean_dec(x_131);
@@ -47632,7 +47910,7 @@ else
{
lean_object* x_187; lean_object* x_188; uint8_t x_189;
lean_inc(x_166);
-x_187 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_1__toFormat___spec__1(x_166, x_169);
+x_187 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_0__Lean_TraceState_toFormat___spec__1(x_166, x_169);
x_188 = lean_ctor_get(x_187, 1);
lean_inc(x_188);
lean_dec(x_187);
@@ -47864,7 +48142,7 @@ else
{
lean_object* x_247; lean_object* x_248; uint8_t x_249;
lean_inc(x_230);
-x_247 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_1__toFormat___spec__1(x_230, x_232);
+x_247 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_0__Lean_TraceState_toFormat___spec__1(x_230, x_232);
x_248 = lean_ctor_get(x_247, 1);
lean_inc(x_248);
lean_dec(x_247);
@@ -48042,7 +48320,7 @@ else
{
lean_object* x_290; lean_object* x_291; uint8_t x_292;
lean_inc(x_273);
-x_290 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_1__toFormat___spec__1(x_273, x_275);
+x_290 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_0__Lean_TraceState_toFormat___spec__1(x_273, x_275);
x_291 = lean_ctor_get(x_290, 1);
lean_inc(x_291);
lean_dec(x_290);
@@ -48242,7 +48520,7 @@ else
{
lean_object* x_338; lean_object* x_339; uint8_t x_340;
lean_inc(x_319);
-x_338 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_1__toFormat___spec__1(x_319, x_322);
+x_338 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_0__Lean_TraceState_toFormat___spec__1(x_319, x_322);
x_339 = lean_ctor_get(x_338, 1);
lean_inc(x_339);
lean_dec(x_338);
@@ -48514,7 +48792,7 @@ else
{
lean_object* x_405; lean_object* x_406; uint8_t x_407;
lean_inc(x_384);
-x_405 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_1__toFormat___spec__1(x_384, x_387);
+x_405 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_0__Lean_TraceState_toFormat___spec__1(x_384, x_387);
x_406 = lean_ctor_get(x_405, 1);
lean_inc(x_406);
lean_dec(x_405);
@@ -48784,7 +49062,7 @@ else
{
lean_object* x_469; lean_object* x_470; uint8_t x_471;
lean_inc(x_450);
-x_469 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_1__toFormat___spec__1(x_450, x_453);
+x_469 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_0__Lean_TraceState_toFormat___spec__1(x_450, x_453);
x_470 = lean_ctor_get(x_469, 1);
lean_inc(x_470);
lean_dec(x_469);
@@ -49089,7 +49367,7 @@ else
{
lean_object* x_541; lean_object* x_542; uint8_t x_543;
lean_inc(x_520);
-x_541 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_1__toFormat___spec__1(x_520, x_523);
+x_541 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_0__Lean_TraceState_toFormat___spec__1(x_520, x_523);
x_542 = lean_ctor_get(x_541, 1);
lean_inc(x_542);
lean_dec(x_541);
@@ -49359,7 +49637,7 @@ else
{
lean_object* x_605; lean_object* x_606; uint8_t x_607;
lean_inc(x_586);
-x_605 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_1__toFormat___spec__1(x_586, x_589);
+x_605 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_0__Lean_TraceState_toFormat___spec__1(x_586, x_589);
x_606 = lean_ctor_get(x_605, 1);
lean_inc(x_606);
lean_dec(x_605);
@@ -51143,7 +51421,7 @@ x_39 = lean_ctor_get(x_33, 1);
lean_inc(x_39);
lean_dec(x_33);
x_40 = l_Lean_Meta_isExprDefEqAuxImpl___closed__1;
-x_41 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_40, x_3, x_4, x_5, x_6, x_7, x_39);
+x_41 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_40, x_3, x_4, x_5, x_6, x_7, x_39);
x_42 = lean_ctor_get(x_41, 0);
lean_inc(x_42);
x_43 = lean_ctor_get(x_41, 1);
diff --git a/stage0/stdlib/Lean/Meta/Instances.c b/stage0/stdlib/Lean/Meta/Instances.c
index f9f130c619..dcbebf6f3d 100644
--- a/stage0/stdlib/Lean/Meta/Instances.c
+++ b/stage0/stdlib/Lean/Meta/Instances.c
@@ -169,7 +169,6 @@ lean_object* l_Lean_Meta_instanceExtension___closed__3;
uint8_t l_Lean_Meta_DiscrTree_Key_lt(lean_object*, lean_object*);
lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey_match__1___rarg(lean_object*, lean_object*);
-extern lean_object* l_Lean_TraceState_Inhabited___closed__1;
lean_object* l_Std_PersistentHashMap_insertAux___at_Lean_Meta_addInstanceEntry___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_PersistentHashMap_find_x3f___at_Lean_Meta_addInstanceEntry___spec__2(lean_object*, lean_object*);
extern lean_object* l_Lean_Meta_Context_config___default___closed__1;
@@ -206,6 +205,7 @@ size_t l_Lean_Meta_DiscrTree_Key_hash(lean_object*);
lean_object* l_Lean_Meta_addGlobalInstanceImp___closed__3;
uint8_t l_Array_contains___at_Lean_Meta_addInstanceEntry___spec__12(lean_object*, lean_object*);
lean_object* l_Array_anyRangeMAux___main___at_Lean_Meta_initFn____x40_Lean_Meta_Instances___hyg_19____spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+extern lean_object* l_Lean_TraceState_Lean_Util_Trace___instance__2___closed__1;
lean_object* l_Lean_Meta_DiscrTree_empty(lean_object*);
lean_object* l_Lean_Meta_instanceExtension___elambda__2___boxed(lean_object*);
extern lean_object* l_Lean_NameGenerator_Inhabited___closed__3;
@@ -2600,7 +2600,7 @@ x_9 = l_List_map___main___at_Lean_Meta_addGlobalInstanceImp___spec__1(x_8);
x_10 = l_Lean_mkConst(x_2, x_9);
x_11 = l_Lean_Unhygienic_run___rarg___closed__1;
x_12 = l_Lean_NameGenerator_Inhabited___closed__3;
-x_13 = l_Lean_TraceState_Inhabited___closed__1;
+x_13 = l_Lean_TraceState_Lean_Util_Trace___instance__2___closed__1;
x_14 = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(x_14, 0, x_1);
lean_ctor_set(x_14, 1, x_11);
diff --git a/stage0/stdlib/Lean/Meta/KAbstract.c b/stage0/stdlib/Lean/Meta/KAbstract.c
index af1f2a8988..2059069a76 100644
--- a/stage0/stdlib/Lean/Meta/KAbstract.c
+++ b/stage0/stdlib/Lean/Meta/KAbstract.c
@@ -19,6 +19,7 @@ lean_object* l_Lean_Meta_kabstract___rarg(lean_object*, lean_object*, lean_objec
lean_object* l_Lean_Meta_isExprDefEq___at_Lean_Meta_kabstract_visit___spec__1(lean_object*, lean_object*, 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*);
lean_object* lean_st_ref_get(lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_isLevelDefEq___spec__2___rarg(lean_object*, lean_object*);
extern lean_object* l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
lean_object* l_ReaderT_bind___at_Lean_Meta_Lean_Meta_Basic___instance__5___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_array_push(lean_object*, lean_object*);
@@ -27,7 +28,6 @@ uint8_t l_Lean_HeadIndex_HeadIndex_beq(lean_object*, lean_object*);
lean_object* lean_nat_add(lean_object*, lean_object*);
extern lean_object* l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
lean_object* l_Lean_Meta_kabstract___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_isLevelDefEq___spec__3___rarg(lean_object*, lean_object*);
extern lean_object* l_Lean_Meta_isExprDefEq___rarg___closed__2;
extern lean_object* l_Lean_Meta_isLevelDefEqAux___closed__6;
uint8_t l_Lean_Occurrences_beq(lean_object*, lean_object*);
@@ -42,7 +42,6 @@ lean_object* lean_expr_update_let(lean_object*, lean_object*, lean_object*, lean
uint8_t l_Lean_Expr_Data_binderInfo(uint64_t);
lean_object* lean_expr_update_proj(lean_object*, lean_object*);
lean_object* l_Lean_Meta_instantiateMVars___at_Lean_Meta_instantiateLocalDeclMVars___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_isLevelDefEq___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_kabstract_visit_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_HeadIndex_0__Lean_Expr_headNumArgsAux(lean_object*, lean_object*);
extern lean_object* l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
@@ -53,14 +52,15 @@ lean_object* lean_expr_update_lambda(lean_object*, uint8_t, lean_object*, lean_o
lean_object* l_Lean_Meta_kabstract___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_kabstract_visit_match__1(lean_object*);
uint8_t l_Lean_Expr_hasLooseBVars(lean_object*);
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_expr_abstract(lean_object*, lean_object*);
extern lean_object* l_Lean_mkOptionalNode___closed__2;
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_expr_update_app(lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_mkBVar(lean_object*);
lean_object* l_Lean_Meta_kabstract(lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_isLevelDefEq___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_kabstract_visit_match__1___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:
{
@@ -215,51 +215,53 @@ return x_2;
lean_object* l_Lean_Meta_isExprDefEq___at_Lean_Meta_kabstract_visit___spec__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) {
_start:
{
-lean_object* x_9; lean_object* x_18; uint8_t x_19; lean_object* x_20; lean_object* x_420; lean_object* x_421; lean_object* x_422; uint8_t x_423;
+lean_object* x_9; lean_object* x_22; uint8_t x_23; lean_object* x_24; lean_object* x_440; lean_object* x_441; lean_object* x_442; uint8_t x_443;
lean_inc(x_2);
lean_inc(x_1);
-x_18 = lean_alloc_closure((void*)(l_Lean_Meta_isExprDefEqAux), 8, 2);
-lean_closure_set(x_18, 0, x_1);
-lean_closure_set(x_18, 1, x_2);
-x_420 = lean_st_ref_get(x_7, x_8);
-x_421 = lean_ctor_get(x_420, 0);
-lean_inc(x_421);
-x_422 = lean_ctor_get(x_421, 3);
-lean_inc(x_422);
-lean_dec(x_421);
-x_423 = lean_ctor_get_uint8(x_422, sizeof(void*)*1);
-lean_dec(x_422);
-if (x_423 == 0)
+x_22 = lean_alloc_closure((void*)(l_Lean_Meta_isExprDefEqAux), 8, 2);
+lean_closure_set(x_22, 0, x_1);
+lean_closure_set(x_22, 1, x_2);
+x_440 = lean_st_ref_get(x_7, x_8);
+x_441 = lean_ctor_get(x_440, 0);
+lean_inc(x_441);
+x_442 = lean_ctor_get(x_441, 3);
+lean_inc(x_442);
+lean_dec(x_441);
+x_443 = lean_ctor_get_uint8(x_442, sizeof(void*)*1);
+lean_dec(x_442);
+if (x_443 == 0)
{
-lean_object* x_424; uint8_t x_425;
-x_424 = lean_ctor_get(x_420, 1);
-lean_inc(x_424);
-lean_dec(x_420);
-x_425 = 0;
-x_19 = x_425;
-x_20 = x_424;
-goto block_419;
+lean_object* x_444; uint8_t x_445;
+x_444 = lean_ctor_get(x_440, 1);
+lean_inc(x_444);
+lean_dec(x_440);
+x_445 = 0;
+x_23 = x_445;
+x_24 = x_444;
+goto block_439;
}
else
{
-lean_object* x_426; lean_object* x_427; lean_object* x_428; lean_object* x_429; lean_object* x_430; uint8_t x_431;
-x_426 = lean_ctor_get(x_420, 1);
-lean_inc(x_426);
-lean_dec(x_420);
-x_427 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_428 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_427, x_4, x_5, x_6, x_7, x_426);
-x_429 = lean_ctor_get(x_428, 0);
-lean_inc(x_429);
-x_430 = lean_ctor_get(x_428, 1);
-lean_inc(x_430);
-lean_dec(x_428);
-x_431 = lean_unbox(x_429);
-lean_dec(x_429);
-x_19 = x_431;
-x_20 = x_430;
-goto block_419;
+lean_object* x_446; lean_object* x_447; lean_object* x_448; lean_object* x_449; lean_object* x_450; uint8_t x_451;
+x_446 = lean_ctor_get(x_440, 1);
+lean_inc(x_446);
+lean_dec(x_440);
+x_447 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_448 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_447, x_4, x_5, x_6, x_7, x_446);
+x_449 = lean_ctor_get(x_448, 0);
+lean_inc(x_449);
+x_450 = lean_ctor_get(x_448, 1);
+lean_inc(x_450);
+lean_dec(x_448);
+x_451 = lean_unbox(x_449);
+lean_dec(x_449);
+x_23 = x_451;
+x_24 = x_450;
+goto block_439;
}
-block_17:
+block_21:
+{
+if (lean_obj_tag(x_9) == 0)
{
uint8_t x_10;
x_10 = !lean_is_exclusive(x_9);
@@ -290,1401 +292,1476 @@ lean_ctor_set(x_16, 1, x_14);
return x_16;
}
}
-block_419:
+else
{
-if (x_19 == 0)
+uint8_t x_17;
+x_17 = !lean_is_exclusive(x_9);
+if (x_17 == 0)
{
-lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; uint8_t x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; uint8_t x_30;
-x_21 = lean_st_ref_get(x_7, x_20);
-x_22 = lean_ctor_get(x_21, 0);
-lean_inc(x_22);
-x_23 = lean_ctor_get(x_22, 3);
-lean_inc(x_23);
-lean_dec(x_22);
-x_24 = lean_ctor_get(x_21, 1);
-lean_inc(x_24);
-lean_dec(x_21);
-x_25 = lean_ctor_get_uint8(x_23, sizeof(void*)*1);
-lean_dec(x_23);
-x_26 = lean_st_ref_take(x_7, x_24);
-x_27 = lean_ctor_get(x_26, 0);
-lean_inc(x_27);
-x_28 = lean_ctor_get(x_27, 3);
+return x_9;
+}
+else
+{
+lean_object* x_18; lean_object* x_19; lean_object* x_20;
+x_18 = lean_ctor_get(x_9, 0);
+x_19 = lean_ctor_get(x_9, 1);
+lean_inc(x_19);
+lean_inc(x_18);
+lean_dec(x_9);
+x_20 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_20, 0, x_18);
+lean_ctor_set(x_20, 1, x_19);
+return x_20;
+}
+}
+}
+block_439:
+{
+uint8_t x_25;
+if (x_23 == 0)
+{
+uint8_t x_437;
+x_437 = 1;
+x_25 = x_437;
+goto block_436;
+}
+else
+{
+uint8_t x_438;
+x_438 = 0;
+x_25 = x_438;
+goto block_436;
+}
+block_436:
+{
+if (x_25 == 0)
+{
+lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; uint8_t x_30; lean_object* x_31; lean_object* x_41; lean_object* x_42; lean_object* x_50;
+x_26 = lean_ctor_get(x_6, 3);
+lean_inc(x_26);
+x_27 = l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_isLevelDefEq___spec__2___rarg(x_7, x_24);
+x_28 = lean_ctor_get(x_27, 0);
lean_inc(x_28);
-x_29 = lean_ctor_get(x_26, 1);
+x_29 = lean_ctor_get(x_27, 1);
lean_inc(x_29);
-lean_dec(x_26);
-x_30 = !lean_is_exclusive(x_27);
-if (x_30 == 0)
-{
-lean_object* x_31; uint8_t x_32;
-x_31 = lean_ctor_get(x_27, 3);
-lean_dec(x_31);
-x_32 = !lean_is_exclusive(x_28);
-if (x_32 == 0)
-{
-uint8_t x_33; lean_object* x_34; lean_object* x_35; uint8_t x_36; lean_object* x_37; lean_object* x_85;
-x_33 = 0;
-lean_ctor_set_uint8(x_28, sizeof(void*)*1, x_33);
-x_34 = lean_st_ref_set(x_7, x_27, x_29);
-x_35 = lean_ctor_get(x_34, 1);
-lean_inc(x_35);
-lean_dec(x_34);
+lean_dec(x_27);
lean_inc(x_7);
lean_inc(x_6);
lean_inc(x_5);
lean_inc(x_4);
-x_85 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_18, x_4, x_5, x_6, x_7, x_35);
-if (lean_obj_tag(x_85) == 0)
+x_50 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_22, x_4, x_5, x_6, x_7, x_29);
+if (lean_obj_tag(x_50) == 0)
{
-lean_object* x_86; lean_object* x_87; uint8_t x_88; lean_object* x_89; lean_object* x_116; lean_object* x_117; lean_object* x_118; uint8_t x_119;
-x_86 = lean_ctor_get(x_85, 0);
-lean_inc(x_86);
-x_87 = lean_ctor_get(x_85, 1);
-lean_inc(x_87);
-lean_dec(x_85);
-x_116 = lean_st_ref_get(x_7, x_87);
-x_117 = lean_ctor_get(x_116, 0);
-lean_inc(x_117);
-x_118 = lean_ctor_get(x_117, 3);
-lean_inc(x_118);
-lean_dec(x_117);
-x_119 = lean_ctor_get_uint8(x_118, sizeof(void*)*1);
-lean_dec(x_118);
-if (x_119 == 0)
-{
-lean_object* x_120;
-x_120 = lean_ctor_get(x_116, 1);
-lean_inc(x_120);
-lean_dec(x_116);
-x_88 = x_33;
-x_89 = x_120;
-goto block_115;
-}
-else
-{
-lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; uint8_t x_126;
-x_121 = lean_ctor_get(x_116, 1);
-lean_inc(x_121);
-lean_dec(x_116);
-x_122 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_123 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_122, x_4, x_5, x_6, x_7, x_121);
-x_124 = lean_ctor_get(x_123, 0);
-lean_inc(x_124);
-x_125 = lean_ctor_get(x_123, 1);
-lean_inc(x_125);
-lean_dec(x_123);
-x_126 = lean_unbox(x_124);
-lean_dec(x_124);
-x_88 = x_126;
-x_89 = x_125;
-goto block_115;
-}
-block_115:
-{
-if (x_88 == 0)
-{
-uint8_t x_90;
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_2);
-lean_dec(x_1);
-x_90 = lean_unbox(x_86);
-lean_dec(x_86);
-x_36 = x_90;
-x_37 = x_89;
-goto block_84;
-}
-else
-{
-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; uint8_t x_100;
-x_91 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_91, 0, x_1);
-x_92 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_93 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_93, 0, x_92);
-lean_ctor_set(x_93, 1, x_91);
-x_94 = l_Lean_Meta_isLevelDefEqAux___closed__6;
-x_95 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_95, 0, x_93);
-lean_ctor_set(x_95, 1, x_94);
-x_96 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_96, 0, x_2);
-x_97 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_97, 0, x_95);
-lean_ctor_set(x_97, 1, x_96);
-x_98 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
-x_99 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_99, 0, x_97);
-lean_ctor_set(x_99, 1, x_98);
-x_100 = lean_unbox(x_86);
-if (x_100 == 0)
-{
-lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; uint8_t x_107;
-x_101 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
-x_102 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_102, 0, x_99);
-lean_ctor_set(x_102, 1, x_101);
-x_103 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_103, 0, x_102);
-lean_ctor_set(x_103, 1, x_92);
-x_104 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_105 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_104, x_103, x_4, x_5, x_6, x_7, x_89);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-x_106 = lean_ctor_get(x_105, 1);
-lean_inc(x_106);
-lean_dec(x_105);
-x_107 = lean_unbox(x_86);
-lean_dec(x_86);
-x_36 = x_107;
-x_37 = x_106;
-goto block_84;
-}
-else
-{
-lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; uint8_t x_114;
-x_108 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
-x_109 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_109, 0, x_99);
-lean_ctor_set(x_109, 1, x_108);
-x_110 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_110, 0, x_109);
-lean_ctor_set(x_110, 1, x_92);
-x_111 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_112 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_111, x_110, x_4, x_5, x_6, x_7, x_89);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-x_113 = lean_ctor_get(x_112, 1);
-lean_inc(x_113);
-lean_dec(x_112);
-x_114 = lean_unbox(x_86);
-lean_dec(x_86);
-x_36 = x_114;
-x_37 = x_113;
-goto block_84;
-}
-}
-}
-}
-else
-{
-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; lean_object* x_134; uint8_t x_135;
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_2);
-lean_dec(x_1);
-x_127 = lean_ctor_get(x_85, 0);
-lean_inc(x_127);
-x_128 = lean_ctor_get(x_85, 1);
-lean_inc(x_128);
-lean_dec(x_85);
-x_129 = lean_st_ref_get(x_7, x_128);
-x_130 = lean_ctor_get(x_129, 1);
-lean_inc(x_130);
-lean_dec(x_129);
-x_131 = lean_st_ref_take(x_7, x_130);
-x_132 = lean_ctor_get(x_131, 0);
-lean_inc(x_132);
-x_133 = lean_ctor_get(x_132, 3);
-lean_inc(x_133);
-x_134 = lean_ctor_get(x_131, 1);
-lean_inc(x_134);
-lean_dec(x_131);
-x_135 = !lean_is_exclusive(x_132);
-if (x_135 == 0)
-{
-lean_object* x_136; uint8_t x_137;
-x_136 = lean_ctor_get(x_132, 3);
-lean_dec(x_136);
-x_137 = !lean_is_exclusive(x_133);
-if (x_137 == 0)
-{
-lean_object* x_138; uint8_t x_139;
-lean_ctor_set_uint8(x_133, sizeof(void*)*1, x_25);
-x_138 = lean_st_ref_set(x_7, x_132, x_134);
-lean_dec(x_7);
-x_139 = !lean_is_exclusive(x_138);
-if (x_139 == 0)
-{
-lean_object* x_140;
-x_140 = lean_ctor_get(x_138, 0);
-lean_dec(x_140);
-lean_ctor_set_tag(x_138, 1);
-lean_ctor_set(x_138, 0, x_127);
-return x_138;
-}
-else
-{
-lean_object* x_141; lean_object* x_142;
-x_141 = lean_ctor_get(x_138, 1);
-lean_inc(x_141);
-lean_dec(x_138);
-x_142 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_142, 0, x_127);
-lean_ctor_set(x_142, 1, x_141);
-return x_142;
-}
-}
-else
-{
-lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148;
-x_143 = lean_ctor_get(x_133, 0);
-lean_inc(x_143);
-lean_dec(x_133);
-x_144 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_144, 0, x_143);
-lean_ctor_set_uint8(x_144, sizeof(void*)*1, x_25);
-lean_ctor_set(x_132, 3, x_144);
-x_145 = lean_st_ref_set(x_7, x_132, x_134);
-lean_dec(x_7);
-x_146 = lean_ctor_get(x_145, 1);
-lean_inc(x_146);
-if (lean_is_exclusive(x_145)) {
- lean_ctor_release(x_145, 0);
- lean_ctor_release(x_145, 1);
- x_147 = x_145;
-} else {
- lean_dec_ref(x_145);
- x_147 = lean_box(0);
-}
-if (lean_is_scalar(x_147)) {
- x_148 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_148 = x_147;
- lean_ctor_set_tag(x_148, 1);
-}
-lean_ctor_set(x_148, 0, x_127);
-lean_ctor_set(x_148, 1, x_146);
-return x_148;
-}
-}
-else
-{
-lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159;
-x_149 = lean_ctor_get(x_132, 0);
-x_150 = lean_ctor_get(x_132, 1);
-x_151 = lean_ctor_get(x_132, 2);
-lean_inc(x_151);
-lean_inc(x_150);
-lean_inc(x_149);
-lean_dec(x_132);
-x_152 = lean_ctor_get(x_133, 0);
-lean_inc(x_152);
-if (lean_is_exclusive(x_133)) {
- lean_ctor_release(x_133, 0);
- x_153 = x_133;
-} else {
- lean_dec_ref(x_133);
- x_153 = lean_box(0);
-}
-if (lean_is_scalar(x_153)) {
- x_154 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_154 = x_153;
-}
-lean_ctor_set(x_154, 0, x_152);
-lean_ctor_set_uint8(x_154, sizeof(void*)*1, x_25);
-x_155 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_155, 0, x_149);
-lean_ctor_set(x_155, 1, x_150);
-lean_ctor_set(x_155, 2, x_151);
-lean_ctor_set(x_155, 3, x_154);
-x_156 = lean_st_ref_set(x_7, x_155, x_134);
-lean_dec(x_7);
-x_157 = lean_ctor_get(x_156, 1);
-lean_inc(x_157);
-if (lean_is_exclusive(x_156)) {
- lean_ctor_release(x_156, 0);
- lean_ctor_release(x_156, 1);
- x_158 = x_156;
-} else {
- lean_dec_ref(x_156);
- x_158 = lean_box(0);
-}
-if (lean_is_scalar(x_158)) {
- x_159 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_159 = x_158;
- lean_ctor_set_tag(x_159, 1);
-}
-lean_ctor_set(x_159, 0, x_127);
-lean_ctor_set(x_159, 1, x_157);
-return x_159;
-}
-}
-block_84:
-{
-lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; uint8_t x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; uint8_t x_47;
-x_38 = lean_st_ref_get(x_7, x_37);
-x_39 = lean_ctor_get(x_38, 0);
-lean_inc(x_39);
-x_40 = lean_ctor_get(x_38, 1);
-lean_inc(x_40);
-lean_dec(x_38);
-x_41 = lean_ctor_get(x_39, 3);
-lean_inc(x_41);
-lean_dec(x_39);
-x_42 = lean_ctor_get_uint8(x_41, sizeof(void*)*1);
-lean_dec(x_41);
-x_43 = lean_st_ref_take(x_7, x_40);
-x_44 = lean_ctor_get(x_43, 0);
-lean_inc(x_44);
-x_45 = lean_ctor_get(x_44, 3);
-lean_inc(x_45);
-x_46 = lean_ctor_get(x_43, 1);
-lean_inc(x_46);
-lean_dec(x_43);
-x_47 = !lean_is_exclusive(x_44);
-if (x_47 == 0)
-{
-lean_object* x_48; uint8_t x_49;
-x_48 = lean_ctor_get(x_44, 3);
-lean_dec(x_48);
-x_49 = !lean_is_exclusive(x_45);
-if (x_49 == 0)
-{
-lean_object* x_50; uint8_t x_51;
-lean_ctor_set_uint8(x_45, sizeof(void*)*1, x_25);
-x_50 = lean_st_ref_set(x_7, x_44, x_46);
-lean_dec(x_7);
-x_51 = !lean_is_exclusive(x_50);
-if (x_51 == 0)
-{
-lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55;
-x_52 = lean_ctor_get(x_50, 0);
-lean_dec(x_52);
-x_53 = lean_box(x_36);
-x_54 = lean_box(x_42);
-x_55 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_55, 0, x_53);
-lean_ctor_set(x_55, 1, x_54);
-lean_ctor_set(x_50, 0, x_55);
-x_9 = x_50;
-goto block_17;
-}
-else
-{
-lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60;
-x_56 = lean_ctor_get(x_50, 1);
-lean_inc(x_56);
+lean_object* x_51; lean_object* x_52; uint8_t x_53; lean_object* x_54; lean_object* x_81; lean_object* x_82; lean_object* x_83; uint8_t x_84;
+x_51 = lean_ctor_get(x_50, 0);
+lean_inc(x_51);
+x_52 = lean_ctor_get(x_50, 1);
+lean_inc(x_52);
lean_dec(x_50);
-x_57 = lean_box(x_36);
-x_58 = lean_box(x_42);
-x_59 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_59, 0, x_57);
-lean_ctor_set(x_59, 1, x_58);
-x_60 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_60, 0, x_59);
-lean_ctor_set(x_60, 1, x_56);
-x_9 = x_60;
-goto block_17;
-}
+x_81 = lean_st_ref_get(x_7, x_52);
+x_82 = lean_ctor_get(x_81, 0);
+lean_inc(x_82);
+x_83 = lean_ctor_get(x_82, 3);
+lean_inc(x_83);
+lean_dec(x_82);
+x_84 = lean_ctor_get_uint8(x_83, sizeof(void*)*1);
+lean_dec(x_83);
+if (x_84 == 0)
+{
+lean_object* x_85; uint8_t x_86;
+x_85 = lean_ctor_get(x_81, 1);
+lean_inc(x_85);
+lean_dec(x_81);
+x_86 = 0;
+x_53 = x_86;
+x_54 = x_85;
+goto block_80;
}
else
{
-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;
-x_61 = lean_ctor_get(x_45, 0);
-lean_inc(x_61);
-lean_dec(x_45);
-x_62 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_62, 0, x_61);
-lean_ctor_set_uint8(x_62, sizeof(void*)*1, x_25);
-lean_ctor_set(x_44, 3, x_62);
-x_63 = lean_st_ref_set(x_7, x_44, x_46);
-lean_dec(x_7);
-x_64 = lean_ctor_get(x_63, 1);
-lean_inc(x_64);
-if (lean_is_exclusive(x_63)) {
- lean_ctor_release(x_63, 0);
- lean_ctor_release(x_63, 1);
- x_65 = x_63;
-} else {
- lean_dec_ref(x_63);
- x_65 = lean_box(0);
-}
-x_66 = lean_box(x_36);
-x_67 = lean_box(x_42);
-x_68 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_68, 0, x_66);
-lean_ctor_set(x_68, 1, x_67);
-if (lean_is_scalar(x_65)) {
- x_69 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_69 = x_65;
-}
-lean_ctor_set(x_69, 0, x_68);
-lean_ctor_set(x_69, 1, x_64);
-x_9 = x_69;
-goto block_17;
+lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; uint8_t x_92;
+x_87 = lean_ctor_get(x_81, 1);
+lean_inc(x_87);
+lean_dec(x_81);
+x_88 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_89 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_88, x_4, x_5, x_6, x_7, x_87);
+x_90 = lean_ctor_get(x_89, 0);
+lean_inc(x_90);
+x_91 = lean_ctor_get(x_89, 1);
+lean_inc(x_91);
+lean_dec(x_89);
+x_92 = lean_unbox(x_90);
+lean_dec(x_90);
+x_53 = x_92;
+x_54 = x_91;
+goto block_80;
}
+block_80:
+{
+if (x_53 == 0)
+{
+uint8_t x_55;
+lean_dec(x_2);
+lean_dec(x_1);
+x_55 = lean_unbox(x_51);
+lean_dec(x_51);
+x_30 = x_55;
+x_31 = x_54;
+goto block_40;
}
else
{
-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; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83;
-x_70 = lean_ctor_get(x_44, 0);
-x_71 = lean_ctor_get(x_44, 1);
-x_72 = lean_ctor_get(x_44, 2);
-lean_inc(x_72);
+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; uint8_t x_65;
+x_56 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_56, 0, x_1);
+x_57 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_58 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_58, 0, x_57);
+lean_ctor_set(x_58, 1, x_56);
+x_59 = l_Lean_Meta_isLevelDefEqAux___closed__6;
+x_60 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_60, 0, x_58);
+lean_ctor_set(x_60, 1, x_59);
+x_61 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_61, 0, x_2);
+x_62 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_62, 0, x_60);
+lean_ctor_set(x_62, 1, x_61);
+x_63 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
+x_64 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_64, 0, x_62);
+lean_ctor_set(x_64, 1, x_63);
+x_65 = lean_unbox(x_51);
+if (x_65 == 0)
+{
+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;
+x_66 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
+x_67 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_67, 0, x_64);
+lean_ctor_set(x_67, 1, x_66);
+x_68 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_68, 0, x_67);
+lean_ctor_set(x_68, 1, x_57);
+x_69 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_70 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_69, x_68, x_4, x_5, x_6, x_7, x_54);
+x_71 = lean_ctor_get(x_70, 1);
lean_inc(x_71);
-lean_inc(x_70);
-lean_dec(x_44);
-x_73 = lean_ctor_get(x_45, 0);
-lean_inc(x_73);
-if (lean_is_exclusive(x_45)) {
- lean_ctor_release(x_45, 0);
- x_74 = x_45;
-} else {
- lean_dec_ref(x_45);
- x_74 = lean_box(0);
+lean_dec(x_70);
+x_72 = lean_unbox(x_51);
+lean_dec(x_51);
+x_30 = x_72;
+x_31 = x_71;
+goto block_40;
}
-if (lean_is_scalar(x_74)) {
- x_75 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_75 = x_74;
-}
-lean_ctor_set(x_75, 0, x_73);
-lean_ctor_set_uint8(x_75, sizeof(void*)*1, x_25);
-x_76 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_76, 0, x_70);
-lean_ctor_set(x_76, 1, x_71);
-lean_ctor_set(x_76, 2, x_72);
-lean_ctor_set(x_76, 3, x_75);
-x_77 = lean_st_ref_set(x_7, x_76, x_46);
-lean_dec(x_7);
+else
+{
+lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; uint8_t x_79;
+x_73 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
+x_74 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_74, 0, x_64);
+lean_ctor_set(x_74, 1, x_73);
+x_75 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_75, 0, x_74);
+lean_ctor_set(x_75, 1, x_57);
+x_76 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_77 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_76, x_75, x_4, x_5, x_6, x_7, x_54);
x_78 = lean_ctor_get(x_77, 1);
lean_inc(x_78);
-if (lean_is_exclusive(x_77)) {
- lean_ctor_release(x_77, 0);
- lean_ctor_release(x_77, 1);
- x_79 = x_77;
-} else {
- lean_dec_ref(x_77);
- x_79 = lean_box(0);
+lean_dec(x_77);
+x_79 = lean_unbox(x_51);
+lean_dec(x_51);
+x_30 = x_79;
+x_31 = x_78;
+goto block_40;
}
-x_80 = lean_box(x_36);
-x_81 = lean_box(x_42);
-x_82 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_82, 0, x_80);
-lean_ctor_set(x_82, 1, x_81);
-if (lean_is_scalar(x_79)) {
- x_83 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_83 = x_79;
-}
-lean_ctor_set(x_83, 0, x_82);
-lean_ctor_set(x_83, 1, x_78);
-x_9 = x_83;
-goto block_17;
}
}
}
else
{
-lean_object* x_160; uint8_t x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; uint8_t x_165; lean_object* x_166; lean_object* x_192;
-x_160 = lean_ctor_get(x_28, 0);
-lean_inc(x_160);
-lean_dec(x_28);
-x_161 = 0;
-x_162 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_162, 0, x_160);
-lean_ctor_set_uint8(x_162, sizeof(void*)*1, x_161);
-lean_ctor_set(x_27, 3, x_162);
-x_163 = lean_st_ref_set(x_7, x_27, x_29);
-x_164 = lean_ctor_get(x_163, 1);
-lean_inc(x_164);
-lean_dec(x_163);
+lean_object* x_93; lean_object* x_94;
+lean_dec(x_2);
+lean_dec(x_1);
+x_93 = lean_ctor_get(x_50, 0);
+lean_inc(x_93);
+x_94 = lean_ctor_get(x_50, 1);
+lean_inc(x_94);
+lean_dec(x_50);
+x_41 = x_93;
+x_42 = x_94;
+goto block_49;
+}
+block_40:
+{
+lean_object* x_32; lean_object* x_33; uint8_t x_34;
+x_32 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_33 = l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_isLevelDefEq___spec__3(x_28, x_32, x_26, x_4, x_5, x_6, x_7, x_31);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+x_34 = !lean_is_exclusive(x_33);
+if (x_34 == 0)
+{
+lean_object* x_35; lean_object* x_36;
+x_35 = lean_ctor_get(x_33, 0);
+lean_dec(x_35);
+x_36 = lean_box(x_30);
+lean_ctor_set(x_33, 0, x_36);
+return x_33;
+}
+else
+{
+lean_object* x_37; lean_object* x_38; lean_object* x_39;
+x_37 = lean_ctor_get(x_33, 1);
+lean_inc(x_37);
+lean_dec(x_33);
+x_38 = lean_box(x_30);
+x_39 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_39, 0, x_38);
+lean_ctor_set(x_39, 1, x_37);
+return x_39;
+}
+}
+block_49:
+{
+lean_object* x_43; lean_object* x_44; uint8_t x_45;
+x_43 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_44 = l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_isLevelDefEq___spec__3(x_28, x_43, x_26, x_4, x_5, x_6, x_7, x_42);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+x_45 = !lean_is_exclusive(x_44);
+if (x_45 == 0)
+{
+lean_object* x_46;
+x_46 = lean_ctor_get(x_44, 0);
+lean_dec(x_46);
+lean_ctor_set_tag(x_44, 1);
+lean_ctor_set(x_44, 0, x_41);
+return x_44;
+}
+else
+{
+lean_object* x_47; lean_object* x_48;
+x_47 = lean_ctor_get(x_44, 1);
+lean_inc(x_47);
+lean_dec(x_44);
+x_48 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_48, 0, x_41);
+lean_ctor_set(x_48, 1, x_47);
+return x_48;
+}
+}
+}
+else
+{
+lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; uint8_t x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; uint8_t x_104;
+x_95 = lean_st_ref_get(x_7, x_24);
+x_96 = lean_ctor_get(x_95, 0);
+lean_inc(x_96);
+x_97 = lean_ctor_get(x_96, 3);
+lean_inc(x_97);
+lean_dec(x_96);
+x_98 = lean_ctor_get(x_95, 1);
+lean_inc(x_98);
+lean_dec(x_95);
+x_99 = lean_ctor_get_uint8(x_97, sizeof(void*)*1);
+lean_dec(x_97);
+x_100 = lean_st_ref_take(x_7, x_98);
+x_101 = lean_ctor_get(x_100, 0);
+lean_inc(x_101);
+x_102 = lean_ctor_get(x_101, 3);
+lean_inc(x_102);
+x_103 = lean_ctor_get(x_100, 1);
+lean_inc(x_103);
+lean_dec(x_100);
+x_104 = !lean_is_exclusive(x_101);
+if (x_104 == 0)
+{
+lean_object* x_105; uint8_t x_106;
+x_105 = lean_ctor_get(x_101, 3);
+lean_dec(x_105);
+x_106 = !lean_is_exclusive(x_102);
+if (x_106 == 0)
+{
+uint8_t x_107; lean_object* x_108; lean_object* x_109; uint8_t x_110; lean_object* x_111; lean_object* x_159; lean_object* x_160; lean_object* x_193;
+x_107 = 0;
+lean_ctor_set_uint8(x_102, sizeof(void*)*1, x_107);
+x_108 = lean_st_ref_set(x_7, x_101, x_103);
+x_109 = lean_ctor_get(x_108, 1);
+lean_inc(x_109);
+lean_dec(x_108);
lean_inc(x_7);
lean_inc(x_6);
lean_inc(x_5);
lean_inc(x_4);
-x_192 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_18, x_4, x_5, x_6, x_7, x_164);
-if (lean_obj_tag(x_192) == 0)
+x_193 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_22, x_4, x_5, x_6, x_7, x_109);
+if (lean_obj_tag(x_193) == 0)
{
-lean_object* x_193; lean_object* x_194; uint8_t x_195; lean_object* x_196; lean_object* x_223; lean_object* x_224; lean_object* x_225; uint8_t x_226;
-x_193 = lean_ctor_get(x_192, 0);
-lean_inc(x_193);
-x_194 = lean_ctor_get(x_192, 1);
+lean_object* x_194; lean_object* x_195; uint8_t x_196; lean_object* x_197; lean_object* x_224; lean_object* x_225; lean_object* x_226; uint8_t x_227;
+x_194 = lean_ctor_get(x_193, 0);
lean_inc(x_194);
-lean_dec(x_192);
-x_223 = lean_st_ref_get(x_7, x_194);
-x_224 = lean_ctor_get(x_223, 0);
-lean_inc(x_224);
-x_225 = lean_ctor_get(x_224, 3);
+x_195 = lean_ctor_get(x_193, 1);
+lean_inc(x_195);
+lean_dec(x_193);
+x_224 = lean_st_ref_get(x_7, x_195);
+x_225 = lean_ctor_get(x_224, 0);
lean_inc(x_225);
-lean_dec(x_224);
-x_226 = lean_ctor_get_uint8(x_225, sizeof(void*)*1);
+x_226 = lean_ctor_get(x_225, 3);
+lean_inc(x_226);
lean_dec(x_225);
-if (x_226 == 0)
+x_227 = lean_ctor_get_uint8(x_226, sizeof(void*)*1);
+lean_dec(x_226);
+if (x_227 == 0)
{
-lean_object* x_227;
-x_227 = lean_ctor_get(x_223, 1);
-lean_inc(x_227);
-lean_dec(x_223);
-x_195 = x_161;
-x_196 = x_227;
-goto block_222;
-}
-else
-{
-lean_object* x_228; lean_object* x_229; lean_object* x_230; lean_object* x_231; lean_object* x_232; uint8_t x_233;
-x_228 = lean_ctor_get(x_223, 1);
+lean_object* x_228;
+x_228 = lean_ctor_get(x_224, 1);
lean_inc(x_228);
-lean_dec(x_223);
-x_229 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_230 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_229, x_4, x_5, x_6, x_7, x_228);
-x_231 = lean_ctor_get(x_230, 0);
-lean_inc(x_231);
-x_232 = lean_ctor_get(x_230, 1);
+lean_dec(x_224);
+x_196 = x_107;
+x_197 = x_228;
+goto block_223;
+}
+else
+{
+lean_object* x_229; lean_object* x_230; lean_object* x_231; lean_object* x_232; lean_object* x_233; uint8_t x_234;
+x_229 = lean_ctor_get(x_224, 1);
+lean_inc(x_229);
+lean_dec(x_224);
+x_230 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_231 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_230, x_4, x_5, x_6, x_7, x_229);
+x_232 = lean_ctor_get(x_231, 0);
lean_inc(x_232);
-lean_dec(x_230);
-x_233 = lean_unbox(x_231);
+x_233 = lean_ctor_get(x_231, 1);
+lean_inc(x_233);
lean_dec(x_231);
-x_195 = x_233;
-x_196 = x_232;
-goto block_222;
+x_234 = lean_unbox(x_232);
+lean_dec(x_232);
+x_196 = x_234;
+x_197 = x_233;
+goto block_223;
}
-block_222:
+block_223:
{
-if (x_195 == 0)
+if (x_196 == 0)
{
-uint8_t x_197;
+uint8_t x_198;
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_2);
lean_dec(x_1);
-x_197 = lean_unbox(x_193);
-lean_dec(x_193);
-x_165 = x_197;
-x_166 = x_196;
-goto block_191;
+x_198 = lean_unbox(x_194);
+lean_dec(x_194);
+x_110 = x_198;
+x_111 = x_197;
+goto block_158;
}
else
{
-lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; uint8_t x_207;
-x_198 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_198, 0, x_1);
-x_199 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_200 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_200, 0, x_199);
-lean_ctor_set(x_200, 1, x_198);
-x_201 = l_Lean_Meta_isLevelDefEqAux___closed__6;
-x_202 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_202, 0, x_200);
-lean_ctor_set(x_202, 1, x_201);
-x_203 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_203, 0, x_2);
-x_204 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_204, 0, x_202);
-lean_ctor_set(x_204, 1, x_203);
-x_205 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
-x_206 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_206, 0, x_204);
-lean_ctor_set(x_206, 1, x_205);
-x_207 = lean_unbox(x_193);
-if (x_207 == 0)
+lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207; uint8_t x_208;
+x_199 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_199, 0, x_1);
+x_200 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_201 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_201, 0, x_200);
+lean_ctor_set(x_201, 1, x_199);
+x_202 = l_Lean_Meta_isLevelDefEqAux___closed__6;
+x_203 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_203, 0, x_201);
+lean_ctor_set(x_203, 1, x_202);
+x_204 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_204, 0, x_2);
+x_205 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_205, 0, x_203);
+lean_ctor_set(x_205, 1, x_204);
+x_206 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
+x_207 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_207, 0, x_205);
+lean_ctor_set(x_207, 1, x_206);
+x_208 = lean_unbox(x_194);
+if (x_208 == 0)
{
-lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; uint8_t x_214;
-x_208 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
-x_209 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_209, 0, x_206);
-lean_ctor_set(x_209, 1, x_208);
+lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214; uint8_t x_215;
+x_209 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
x_210 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_210, 0, x_209);
-lean_ctor_set(x_210, 1, x_199);
-x_211 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_212 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_211, x_210, x_4, x_5, x_6, x_7, x_196);
+lean_ctor_set(x_210, 0, x_207);
+lean_ctor_set(x_210, 1, x_209);
+x_211 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_211, 0, x_210);
+lean_ctor_set(x_211, 1, x_200);
+x_212 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_213 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_212, x_211, x_4, x_5, x_6, x_7, x_197);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
-x_213 = lean_ctor_get(x_212, 1);
-lean_inc(x_213);
-lean_dec(x_212);
-x_214 = lean_unbox(x_193);
-lean_dec(x_193);
-x_165 = x_214;
-x_166 = x_213;
-goto block_191;
+x_214 = lean_ctor_get(x_213, 1);
+lean_inc(x_214);
+lean_dec(x_213);
+x_215 = lean_unbox(x_194);
+lean_dec(x_194);
+x_110 = x_215;
+x_111 = x_214;
+goto block_158;
}
else
{
-lean_object* x_215; lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; uint8_t x_221;
-x_215 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
-x_216 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_216, 0, x_206);
-lean_ctor_set(x_216, 1, x_215);
+lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; lean_object* x_221; uint8_t x_222;
+x_216 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
x_217 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_217, 0, x_216);
-lean_ctor_set(x_217, 1, x_199);
-x_218 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_219 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_218, x_217, x_4, x_5, x_6, x_7, x_196);
+lean_ctor_set(x_217, 0, x_207);
+lean_ctor_set(x_217, 1, x_216);
+x_218 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_218, 0, x_217);
+lean_ctor_set(x_218, 1, x_200);
+x_219 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_220 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_219, x_218, x_4, x_5, x_6, x_7, x_197);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
-x_220 = lean_ctor_get(x_219, 1);
-lean_inc(x_220);
-lean_dec(x_219);
-x_221 = lean_unbox(x_193);
-lean_dec(x_193);
-x_165 = x_221;
-x_166 = x_220;
-goto block_191;
+x_221 = lean_ctor_get(x_220, 1);
+lean_inc(x_221);
+lean_dec(x_220);
+x_222 = lean_unbox(x_194);
+lean_dec(x_194);
+x_110 = x_222;
+x_111 = x_221;
+goto block_158;
}
}
}
}
else
{
-lean_object* x_234; lean_object* x_235; lean_object* x_236; lean_object* x_237; lean_object* x_238; lean_object* x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244; lean_object* x_245; lean_object* x_246; lean_object* x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253;
+lean_object* x_235; lean_object* x_236;
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_2);
lean_dec(x_1);
-x_234 = lean_ctor_get(x_192, 0);
-lean_inc(x_234);
-x_235 = lean_ctor_get(x_192, 1);
+x_235 = lean_ctor_get(x_193, 0);
lean_inc(x_235);
-lean_dec(x_192);
-x_236 = lean_st_ref_get(x_7, x_235);
-x_237 = lean_ctor_get(x_236, 1);
-lean_inc(x_237);
-lean_dec(x_236);
-x_238 = lean_st_ref_take(x_7, x_237);
-x_239 = lean_ctor_get(x_238, 0);
-lean_inc(x_239);
-x_240 = lean_ctor_get(x_239, 3);
-lean_inc(x_240);
-x_241 = lean_ctor_get(x_238, 1);
-lean_inc(x_241);
-lean_dec(x_238);
-x_242 = lean_ctor_get(x_239, 0);
-lean_inc(x_242);
-x_243 = lean_ctor_get(x_239, 1);
-lean_inc(x_243);
-x_244 = lean_ctor_get(x_239, 2);
-lean_inc(x_244);
-if (lean_is_exclusive(x_239)) {
- lean_ctor_release(x_239, 0);
- lean_ctor_release(x_239, 1);
- lean_ctor_release(x_239, 2);
- lean_ctor_release(x_239, 3);
- x_245 = x_239;
-} else {
- lean_dec_ref(x_239);
- x_245 = lean_box(0);
+x_236 = lean_ctor_get(x_193, 1);
+lean_inc(x_236);
+lean_dec(x_193);
+x_159 = x_235;
+x_160 = x_236;
+goto block_192;
}
-x_246 = lean_ctor_get(x_240, 0);
-lean_inc(x_246);
-if (lean_is_exclusive(x_240)) {
- lean_ctor_release(x_240, 0);
- x_247 = x_240;
-} else {
- lean_dec_ref(x_240);
- x_247 = lean_box(0);
-}
-if (lean_is_scalar(x_247)) {
- x_248 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_248 = x_247;
-}
-lean_ctor_set(x_248, 0, x_246);
-lean_ctor_set_uint8(x_248, sizeof(void*)*1, x_25);
-if (lean_is_scalar(x_245)) {
- x_249 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_249 = x_245;
-}
-lean_ctor_set(x_249, 0, x_242);
-lean_ctor_set(x_249, 1, x_243);
-lean_ctor_set(x_249, 2, x_244);
-lean_ctor_set(x_249, 3, x_248);
-x_250 = lean_st_ref_set(x_7, x_249, x_241);
+block_158:
+{
+lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; uint8_t x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; uint8_t x_121;
+x_112 = lean_st_ref_get(x_7, x_111);
+x_113 = lean_ctor_get(x_112, 0);
+lean_inc(x_113);
+x_114 = lean_ctor_get(x_112, 1);
+lean_inc(x_114);
+lean_dec(x_112);
+x_115 = lean_ctor_get(x_113, 3);
+lean_inc(x_115);
+lean_dec(x_113);
+x_116 = lean_ctor_get_uint8(x_115, sizeof(void*)*1);
+lean_dec(x_115);
+x_117 = lean_st_ref_take(x_7, x_114);
+x_118 = lean_ctor_get(x_117, 0);
+lean_inc(x_118);
+x_119 = lean_ctor_get(x_118, 3);
+lean_inc(x_119);
+x_120 = lean_ctor_get(x_117, 1);
+lean_inc(x_120);
+lean_dec(x_117);
+x_121 = !lean_is_exclusive(x_118);
+if (x_121 == 0)
+{
+lean_object* x_122; uint8_t x_123;
+x_122 = lean_ctor_get(x_118, 3);
+lean_dec(x_122);
+x_123 = !lean_is_exclusive(x_119);
+if (x_123 == 0)
+{
+lean_object* x_124; uint8_t x_125;
+lean_ctor_set_uint8(x_119, sizeof(void*)*1, x_99);
+x_124 = lean_st_ref_set(x_7, x_118, x_120);
lean_dec(x_7);
-x_251 = lean_ctor_get(x_250, 1);
+x_125 = !lean_is_exclusive(x_124);
+if (x_125 == 0)
+{
+lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129;
+x_126 = lean_ctor_get(x_124, 0);
+lean_dec(x_126);
+x_127 = lean_box(x_110);
+x_128 = lean_box(x_116);
+x_129 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_129, 0, x_127);
+lean_ctor_set(x_129, 1, x_128);
+lean_ctor_set(x_124, 0, x_129);
+x_9 = x_124;
+goto block_21;
+}
+else
+{
+lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134;
+x_130 = lean_ctor_get(x_124, 1);
+lean_inc(x_130);
+lean_dec(x_124);
+x_131 = lean_box(x_110);
+x_132 = lean_box(x_116);
+x_133 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_133, 0, x_131);
+lean_ctor_set(x_133, 1, x_132);
+x_134 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_134, 0, x_133);
+lean_ctor_set(x_134, 1, x_130);
+x_9 = x_134;
+goto block_21;
+}
+}
+else
+{
+lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143;
+x_135 = lean_ctor_get(x_119, 0);
+lean_inc(x_135);
+lean_dec(x_119);
+x_136 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_136, 0, x_135);
+lean_ctor_set_uint8(x_136, sizeof(void*)*1, x_99);
+lean_ctor_set(x_118, 3, x_136);
+x_137 = lean_st_ref_set(x_7, x_118, x_120);
+lean_dec(x_7);
+x_138 = lean_ctor_get(x_137, 1);
+lean_inc(x_138);
+if (lean_is_exclusive(x_137)) {
+ lean_ctor_release(x_137, 0);
+ lean_ctor_release(x_137, 1);
+ x_139 = x_137;
+} else {
+ lean_dec_ref(x_137);
+ x_139 = lean_box(0);
+}
+x_140 = lean_box(x_110);
+x_141 = lean_box(x_116);
+x_142 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_142, 0, x_140);
+lean_ctor_set(x_142, 1, x_141);
+if (lean_is_scalar(x_139)) {
+ x_143 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_143 = x_139;
+}
+lean_ctor_set(x_143, 0, x_142);
+lean_ctor_set(x_143, 1, x_138);
+x_9 = x_143;
+goto block_21;
+}
+}
+else
+{
+lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157;
+x_144 = lean_ctor_get(x_118, 0);
+x_145 = lean_ctor_get(x_118, 1);
+x_146 = lean_ctor_get(x_118, 2);
+lean_inc(x_146);
+lean_inc(x_145);
+lean_inc(x_144);
+lean_dec(x_118);
+x_147 = lean_ctor_get(x_119, 0);
+lean_inc(x_147);
+if (lean_is_exclusive(x_119)) {
+ lean_ctor_release(x_119, 0);
+ x_148 = x_119;
+} else {
+ lean_dec_ref(x_119);
+ x_148 = lean_box(0);
+}
+if (lean_is_scalar(x_148)) {
+ x_149 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_149 = x_148;
+}
+lean_ctor_set(x_149, 0, x_147);
+lean_ctor_set_uint8(x_149, sizeof(void*)*1, x_99);
+x_150 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_150, 0, x_144);
+lean_ctor_set(x_150, 1, x_145);
+lean_ctor_set(x_150, 2, x_146);
+lean_ctor_set(x_150, 3, x_149);
+x_151 = lean_st_ref_set(x_7, x_150, x_120);
+lean_dec(x_7);
+x_152 = lean_ctor_get(x_151, 1);
+lean_inc(x_152);
+if (lean_is_exclusive(x_151)) {
+ lean_ctor_release(x_151, 0);
+ lean_ctor_release(x_151, 1);
+ x_153 = x_151;
+} else {
+ lean_dec_ref(x_151);
+ x_153 = lean_box(0);
+}
+x_154 = lean_box(x_110);
+x_155 = lean_box(x_116);
+x_156 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_156, 0, x_154);
+lean_ctor_set(x_156, 1, x_155);
+if (lean_is_scalar(x_153)) {
+ x_157 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_157 = x_153;
+}
+lean_ctor_set(x_157, 0, x_156);
+lean_ctor_set(x_157, 1, x_152);
+x_9 = x_157;
+goto block_21;
+}
+}
+block_192:
+{
+lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; uint8_t x_167;
+x_161 = lean_st_ref_get(x_7, x_160);
+x_162 = lean_ctor_get(x_161, 1);
+lean_inc(x_162);
+lean_dec(x_161);
+x_163 = lean_st_ref_take(x_7, x_162);
+x_164 = lean_ctor_get(x_163, 0);
+lean_inc(x_164);
+x_165 = lean_ctor_get(x_164, 3);
+lean_inc(x_165);
+x_166 = lean_ctor_get(x_163, 1);
+lean_inc(x_166);
+lean_dec(x_163);
+x_167 = !lean_is_exclusive(x_164);
+if (x_167 == 0)
+{
+lean_object* x_168; uint8_t x_169;
+x_168 = lean_ctor_get(x_164, 3);
+lean_dec(x_168);
+x_169 = !lean_is_exclusive(x_165);
+if (x_169 == 0)
+{
+lean_object* x_170; uint8_t x_171;
+lean_ctor_set_uint8(x_165, sizeof(void*)*1, x_99);
+x_170 = lean_st_ref_set(x_7, x_164, x_166);
+lean_dec(x_7);
+x_171 = !lean_is_exclusive(x_170);
+if (x_171 == 0)
+{
+lean_object* x_172;
+x_172 = lean_ctor_get(x_170, 0);
+lean_dec(x_172);
+lean_ctor_set_tag(x_170, 1);
+lean_ctor_set(x_170, 0, x_159);
+x_9 = x_170;
+goto block_21;
+}
+else
+{
+lean_object* x_173; lean_object* x_174;
+x_173 = lean_ctor_get(x_170, 1);
+lean_inc(x_173);
+lean_dec(x_170);
+x_174 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_174, 0, x_159);
+lean_ctor_set(x_174, 1, x_173);
+x_9 = x_174;
+goto block_21;
+}
+}
+else
+{
+lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180;
+x_175 = lean_ctor_get(x_165, 0);
+lean_inc(x_175);
+lean_dec(x_165);
+x_176 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_176, 0, x_175);
+lean_ctor_set_uint8(x_176, sizeof(void*)*1, x_99);
+lean_ctor_set(x_164, 3, x_176);
+x_177 = lean_st_ref_set(x_7, x_164, x_166);
+lean_dec(x_7);
+x_178 = lean_ctor_get(x_177, 1);
+lean_inc(x_178);
+if (lean_is_exclusive(x_177)) {
+ lean_ctor_release(x_177, 0);
+ lean_ctor_release(x_177, 1);
+ x_179 = x_177;
+} else {
+ lean_dec_ref(x_177);
+ x_179 = lean_box(0);
+}
+if (lean_is_scalar(x_179)) {
+ x_180 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_180 = x_179;
+ lean_ctor_set_tag(x_180, 1);
+}
+lean_ctor_set(x_180, 0, x_159);
+lean_ctor_set(x_180, 1, x_178);
+x_9 = x_180;
+goto block_21;
+}
+}
+else
+{
+lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191;
+x_181 = lean_ctor_get(x_164, 0);
+x_182 = lean_ctor_get(x_164, 1);
+x_183 = lean_ctor_get(x_164, 2);
+lean_inc(x_183);
+lean_inc(x_182);
+lean_inc(x_181);
+lean_dec(x_164);
+x_184 = lean_ctor_get(x_165, 0);
+lean_inc(x_184);
+if (lean_is_exclusive(x_165)) {
+ lean_ctor_release(x_165, 0);
+ x_185 = x_165;
+} else {
+ lean_dec_ref(x_165);
+ x_185 = lean_box(0);
+}
+if (lean_is_scalar(x_185)) {
+ x_186 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_186 = x_185;
+}
+lean_ctor_set(x_186, 0, x_184);
+lean_ctor_set_uint8(x_186, sizeof(void*)*1, x_99);
+x_187 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_187, 0, x_181);
+lean_ctor_set(x_187, 1, x_182);
+lean_ctor_set(x_187, 2, x_183);
+lean_ctor_set(x_187, 3, x_186);
+x_188 = lean_st_ref_set(x_7, x_187, x_166);
+lean_dec(x_7);
+x_189 = lean_ctor_get(x_188, 1);
+lean_inc(x_189);
+if (lean_is_exclusive(x_188)) {
+ lean_ctor_release(x_188, 0);
+ lean_ctor_release(x_188, 1);
+ x_190 = x_188;
+} else {
+ lean_dec_ref(x_188);
+ x_190 = lean_box(0);
+}
+if (lean_is_scalar(x_190)) {
+ x_191 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_191 = x_190;
+ lean_ctor_set_tag(x_191, 1);
+}
+lean_ctor_set(x_191, 0, x_159);
+lean_ctor_set(x_191, 1, x_189);
+x_9 = x_191;
+goto block_21;
+}
+}
+}
+else
+{
+lean_object* x_237; uint8_t x_238; lean_object* x_239; lean_object* x_240; lean_object* x_241; uint8_t x_242; lean_object* x_243; lean_object* x_269; lean_object* x_270; lean_object* x_290;
+x_237 = lean_ctor_get(x_102, 0);
+lean_inc(x_237);
+lean_dec(x_102);
+x_238 = 0;
+x_239 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_239, 0, x_237);
+lean_ctor_set_uint8(x_239, sizeof(void*)*1, x_238);
+lean_ctor_set(x_101, 3, x_239);
+x_240 = lean_st_ref_set(x_7, x_101, x_103);
+x_241 = lean_ctor_get(x_240, 1);
+lean_inc(x_241);
+lean_dec(x_240);
+lean_inc(x_7);
+lean_inc(x_6);
+lean_inc(x_5);
+lean_inc(x_4);
+x_290 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_22, x_4, x_5, x_6, x_7, x_241);
+if (lean_obj_tag(x_290) == 0)
+{
+lean_object* x_291; lean_object* x_292; uint8_t x_293; lean_object* x_294; lean_object* x_321; lean_object* x_322; lean_object* x_323; uint8_t x_324;
+x_291 = lean_ctor_get(x_290, 0);
+lean_inc(x_291);
+x_292 = lean_ctor_get(x_290, 1);
+lean_inc(x_292);
+lean_dec(x_290);
+x_321 = lean_st_ref_get(x_7, x_292);
+x_322 = lean_ctor_get(x_321, 0);
+lean_inc(x_322);
+x_323 = lean_ctor_get(x_322, 3);
+lean_inc(x_323);
+lean_dec(x_322);
+x_324 = lean_ctor_get_uint8(x_323, sizeof(void*)*1);
+lean_dec(x_323);
+if (x_324 == 0)
+{
+lean_object* x_325;
+x_325 = lean_ctor_get(x_321, 1);
+lean_inc(x_325);
+lean_dec(x_321);
+x_293 = x_238;
+x_294 = x_325;
+goto block_320;
+}
+else
+{
+lean_object* x_326; lean_object* x_327; lean_object* x_328; lean_object* x_329; lean_object* x_330; uint8_t x_331;
+x_326 = lean_ctor_get(x_321, 1);
+lean_inc(x_326);
+lean_dec(x_321);
+x_327 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_328 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_327, x_4, x_5, x_6, x_7, x_326);
+x_329 = lean_ctor_get(x_328, 0);
+lean_inc(x_329);
+x_330 = lean_ctor_get(x_328, 1);
+lean_inc(x_330);
+lean_dec(x_328);
+x_331 = lean_unbox(x_329);
+lean_dec(x_329);
+x_293 = x_331;
+x_294 = x_330;
+goto block_320;
+}
+block_320:
+{
+if (x_293 == 0)
+{
+uint8_t x_295;
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_2);
+lean_dec(x_1);
+x_295 = lean_unbox(x_291);
+lean_dec(x_291);
+x_242 = x_295;
+x_243 = x_294;
+goto block_268;
+}
+else
+{
+lean_object* x_296; lean_object* x_297; lean_object* x_298; lean_object* x_299; lean_object* x_300; lean_object* x_301; lean_object* x_302; lean_object* x_303; lean_object* x_304; uint8_t x_305;
+x_296 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_296, 0, x_1);
+x_297 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_298 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_298, 0, x_297);
+lean_ctor_set(x_298, 1, x_296);
+x_299 = l_Lean_Meta_isLevelDefEqAux___closed__6;
+x_300 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_300, 0, x_298);
+lean_ctor_set(x_300, 1, x_299);
+x_301 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_301, 0, x_2);
+x_302 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_302, 0, x_300);
+lean_ctor_set(x_302, 1, x_301);
+x_303 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
+x_304 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_304, 0, x_302);
+lean_ctor_set(x_304, 1, x_303);
+x_305 = lean_unbox(x_291);
+if (x_305 == 0)
+{
+lean_object* x_306; lean_object* x_307; lean_object* x_308; lean_object* x_309; lean_object* x_310; lean_object* x_311; uint8_t x_312;
+x_306 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
+x_307 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_307, 0, x_304);
+lean_ctor_set(x_307, 1, x_306);
+x_308 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_308, 0, x_307);
+lean_ctor_set(x_308, 1, x_297);
+x_309 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_310 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_309, x_308, x_4, x_5, x_6, x_7, x_294);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+x_311 = lean_ctor_get(x_310, 1);
+lean_inc(x_311);
+lean_dec(x_310);
+x_312 = lean_unbox(x_291);
+lean_dec(x_291);
+x_242 = x_312;
+x_243 = x_311;
+goto block_268;
+}
+else
+{
+lean_object* x_313; lean_object* x_314; lean_object* x_315; lean_object* x_316; lean_object* x_317; lean_object* x_318; uint8_t x_319;
+x_313 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
+x_314 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_314, 0, x_304);
+lean_ctor_set(x_314, 1, x_313);
+x_315 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_315, 0, x_314);
+lean_ctor_set(x_315, 1, x_297);
+x_316 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_317 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_316, x_315, x_4, x_5, x_6, x_7, x_294);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+x_318 = lean_ctor_get(x_317, 1);
+lean_inc(x_318);
+lean_dec(x_317);
+x_319 = lean_unbox(x_291);
+lean_dec(x_291);
+x_242 = x_319;
+x_243 = x_318;
+goto block_268;
+}
+}
+}
+}
+else
+{
+lean_object* x_332; lean_object* x_333;
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_2);
+lean_dec(x_1);
+x_332 = lean_ctor_get(x_290, 0);
+lean_inc(x_332);
+x_333 = lean_ctor_get(x_290, 1);
+lean_inc(x_333);
+lean_dec(x_290);
+x_269 = x_332;
+x_270 = x_333;
+goto block_289;
+}
+block_268:
+{
+lean_object* x_244; lean_object* x_245; lean_object* x_246; lean_object* x_247; uint8_t x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253; lean_object* x_254; lean_object* x_255; lean_object* x_256; lean_object* x_257; lean_object* x_258; lean_object* x_259; lean_object* x_260; lean_object* x_261; lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265; lean_object* x_266; lean_object* x_267;
+x_244 = lean_st_ref_get(x_7, x_243);
+x_245 = lean_ctor_get(x_244, 0);
+lean_inc(x_245);
+x_246 = lean_ctor_get(x_244, 1);
+lean_inc(x_246);
+lean_dec(x_244);
+x_247 = lean_ctor_get(x_245, 3);
+lean_inc(x_247);
+lean_dec(x_245);
+x_248 = lean_ctor_get_uint8(x_247, sizeof(void*)*1);
+lean_dec(x_247);
+x_249 = lean_st_ref_take(x_7, x_246);
+x_250 = lean_ctor_get(x_249, 0);
+lean_inc(x_250);
+x_251 = lean_ctor_get(x_250, 3);
lean_inc(x_251);
+x_252 = lean_ctor_get(x_249, 1);
+lean_inc(x_252);
+lean_dec(x_249);
+x_253 = lean_ctor_get(x_250, 0);
+lean_inc(x_253);
+x_254 = lean_ctor_get(x_250, 1);
+lean_inc(x_254);
+x_255 = lean_ctor_get(x_250, 2);
+lean_inc(x_255);
if (lean_is_exclusive(x_250)) {
lean_ctor_release(x_250, 0);
lean_ctor_release(x_250, 1);
- x_252 = x_250;
+ lean_ctor_release(x_250, 2);
+ lean_ctor_release(x_250, 3);
+ x_256 = x_250;
} else {
lean_dec_ref(x_250);
- x_252 = lean_box(0);
+ x_256 = lean_box(0);
}
-if (lean_is_scalar(x_252)) {
- x_253 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_253 = x_252;
- lean_ctor_set_tag(x_253, 1);
-}
-lean_ctor_set(x_253, 0, x_234);
-lean_ctor_set(x_253, 1, x_251);
-return x_253;
-}
-block_191:
-{
-lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; uint8_t x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190;
-x_167 = lean_st_ref_get(x_7, x_166);
-x_168 = lean_ctor_get(x_167, 0);
-lean_inc(x_168);
-x_169 = lean_ctor_get(x_167, 1);
-lean_inc(x_169);
-lean_dec(x_167);
-x_170 = lean_ctor_get(x_168, 3);
-lean_inc(x_170);
-lean_dec(x_168);
-x_171 = lean_ctor_get_uint8(x_170, sizeof(void*)*1);
-lean_dec(x_170);
-x_172 = lean_st_ref_take(x_7, x_169);
-x_173 = lean_ctor_get(x_172, 0);
-lean_inc(x_173);
-x_174 = lean_ctor_get(x_173, 3);
-lean_inc(x_174);
-x_175 = lean_ctor_get(x_172, 1);
-lean_inc(x_175);
-lean_dec(x_172);
-x_176 = lean_ctor_get(x_173, 0);
-lean_inc(x_176);
-x_177 = lean_ctor_get(x_173, 1);
-lean_inc(x_177);
-x_178 = lean_ctor_get(x_173, 2);
-lean_inc(x_178);
-if (lean_is_exclusive(x_173)) {
- lean_ctor_release(x_173, 0);
- lean_ctor_release(x_173, 1);
- lean_ctor_release(x_173, 2);
- lean_ctor_release(x_173, 3);
- x_179 = x_173;
-} else {
- lean_dec_ref(x_173);
- x_179 = lean_box(0);
-}
-x_180 = lean_ctor_get(x_174, 0);
-lean_inc(x_180);
-if (lean_is_exclusive(x_174)) {
- lean_ctor_release(x_174, 0);
- x_181 = x_174;
-} else {
- lean_dec_ref(x_174);
- x_181 = lean_box(0);
-}
-if (lean_is_scalar(x_181)) {
- x_182 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_182 = x_181;
-}
-lean_ctor_set(x_182, 0, x_180);
-lean_ctor_set_uint8(x_182, sizeof(void*)*1, x_25);
-if (lean_is_scalar(x_179)) {
- x_183 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_183 = x_179;
-}
-lean_ctor_set(x_183, 0, x_176);
-lean_ctor_set(x_183, 1, x_177);
-lean_ctor_set(x_183, 2, x_178);
-lean_ctor_set(x_183, 3, x_182);
-x_184 = lean_st_ref_set(x_7, x_183, x_175);
-lean_dec(x_7);
-x_185 = lean_ctor_get(x_184, 1);
-lean_inc(x_185);
-if (lean_is_exclusive(x_184)) {
- lean_ctor_release(x_184, 0);
- lean_ctor_release(x_184, 1);
- x_186 = x_184;
-} else {
- lean_dec_ref(x_184);
- x_186 = lean_box(0);
-}
-x_187 = lean_box(x_165);
-x_188 = lean_box(x_171);
-x_189 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_189, 0, x_187);
-lean_ctor_set(x_189, 1, x_188);
-if (lean_is_scalar(x_186)) {
- x_190 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_190 = x_186;
-}
-lean_ctor_set(x_190, 0, x_189);
-lean_ctor_set(x_190, 1, x_185);
-x_9 = x_190;
-goto block_17;
-}
-}
-}
-else
-{
-lean_object* x_254; lean_object* x_255; lean_object* x_256; lean_object* x_257; lean_object* x_258; uint8_t x_259; lean_object* x_260; lean_object* x_261; lean_object* x_262; lean_object* x_263; uint8_t x_264; lean_object* x_265; lean_object* x_291;
-x_254 = lean_ctor_get(x_27, 0);
-x_255 = lean_ctor_get(x_27, 1);
-x_256 = lean_ctor_get(x_27, 2);
-lean_inc(x_256);
-lean_inc(x_255);
-lean_inc(x_254);
-lean_dec(x_27);
-x_257 = lean_ctor_get(x_28, 0);
+x_257 = lean_ctor_get(x_251, 0);
lean_inc(x_257);
-if (lean_is_exclusive(x_28)) {
- lean_ctor_release(x_28, 0);
- x_258 = x_28;
+if (lean_is_exclusive(x_251)) {
+ lean_ctor_release(x_251, 0);
+ x_258 = x_251;
} else {
- lean_dec_ref(x_28);
+ lean_dec_ref(x_251);
x_258 = lean_box(0);
}
-x_259 = 0;
if (lean_is_scalar(x_258)) {
- x_260 = lean_alloc_ctor(0, 1, 1);
+ x_259 = lean_alloc_ctor(0, 1, 1);
} else {
- x_260 = x_258;
+ x_259 = x_258;
}
-lean_ctor_set(x_260, 0, x_257);
-lean_ctor_set_uint8(x_260, sizeof(void*)*1, x_259);
-x_261 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_261, 0, x_254);
-lean_ctor_set(x_261, 1, x_255);
-lean_ctor_set(x_261, 2, x_256);
-lean_ctor_set(x_261, 3, x_260);
-x_262 = lean_st_ref_set(x_7, x_261, x_29);
-x_263 = lean_ctor_get(x_262, 1);
-lean_inc(x_263);
-lean_dec(x_262);
-lean_inc(x_7);
-lean_inc(x_6);
-lean_inc(x_5);
-lean_inc(x_4);
-x_291 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_18, x_4, x_5, x_6, x_7, x_263);
-if (lean_obj_tag(x_291) == 0)
-{
-lean_object* x_292; lean_object* x_293; uint8_t x_294; lean_object* x_295; lean_object* x_322; lean_object* x_323; lean_object* x_324; uint8_t x_325;
-x_292 = lean_ctor_get(x_291, 0);
-lean_inc(x_292);
-x_293 = lean_ctor_get(x_291, 1);
-lean_inc(x_293);
-lean_dec(x_291);
-x_322 = lean_st_ref_get(x_7, x_293);
-x_323 = lean_ctor_get(x_322, 0);
-lean_inc(x_323);
-x_324 = lean_ctor_get(x_323, 3);
-lean_inc(x_324);
-lean_dec(x_323);
-x_325 = lean_ctor_get_uint8(x_324, sizeof(void*)*1);
-lean_dec(x_324);
-if (x_325 == 0)
-{
-lean_object* x_326;
-x_326 = lean_ctor_get(x_322, 1);
-lean_inc(x_326);
-lean_dec(x_322);
-x_294 = x_259;
-x_295 = x_326;
-goto block_321;
-}
-else
-{
-lean_object* x_327; lean_object* x_328; lean_object* x_329; lean_object* x_330; lean_object* x_331; uint8_t x_332;
-x_327 = lean_ctor_get(x_322, 1);
-lean_inc(x_327);
-lean_dec(x_322);
-x_328 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_329 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_328, x_4, x_5, x_6, x_7, x_327);
-x_330 = lean_ctor_get(x_329, 0);
-lean_inc(x_330);
-x_331 = lean_ctor_get(x_329, 1);
-lean_inc(x_331);
-lean_dec(x_329);
-x_332 = lean_unbox(x_330);
-lean_dec(x_330);
-x_294 = x_332;
-x_295 = x_331;
-goto block_321;
-}
-block_321:
-{
-if (x_294 == 0)
-{
-uint8_t x_296;
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_2);
-lean_dec(x_1);
-x_296 = lean_unbox(x_292);
-lean_dec(x_292);
-x_264 = x_296;
-x_265 = x_295;
-goto block_290;
-}
-else
-{
-lean_object* x_297; lean_object* x_298; lean_object* x_299; lean_object* x_300; lean_object* x_301; lean_object* x_302; lean_object* x_303; lean_object* x_304; lean_object* x_305; uint8_t x_306;
-x_297 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_297, 0, x_1);
-x_298 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_299 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_299, 0, x_298);
-lean_ctor_set(x_299, 1, x_297);
-x_300 = l_Lean_Meta_isLevelDefEqAux___closed__6;
-x_301 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_301, 0, x_299);
-lean_ctor_set(x_301, 1, x_300);
-x_302 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_302, 0, x_2);
-x_303 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_303, 0, x_301);
-lean_ctor_set(x_303, 1, x_302);
-x_304 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
-x_305 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_305, 0, x_303);
-lean_ctor_set(x_305, 1, x_304);
-x_306 = lean_unbox(x_292);
-if (x_306 == 0)
-{
-lean_object* x_307; lean_object* x_308; lean_object* x_309; lean_object* x_310; lean_object* x_311; lean_object* x_312; uint8_t x_313;
-x_307 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
-x_308 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_308, 0, x_305);
-lean_ctor_set(x_308, 1, x_307);
-x_309 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_309, 0, x_308);
-lean_ctor_set(x_309, 1, x_298);
-x_310 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_311 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_310, x_309, x_4, x_5, x_6, x_7, x_295);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-x_312 = lean_ctor_get(x_311, 1);
-lean_inc(x_312);
-lean_dec(x_311);
-x_313 = lean_unbox(x_292);
-lean_dec(x_292);
-x_264 = x_313;
-x_265 = x_312;
-goto block_290;
-}
-else
-{
-lean_object* x_314; lean_object* x_315; lean_object* x_316; lean_object* x_317; lean_object* x_318; lean_object* x_319; uint8_t x_320;
-x_314 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
-x_315 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_315, 0, x_305);
-lean_ctor_set(x_315, 1, x_314);
-x_316 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_316, 0, x_315);
-lean_ctor_set(x_316, 1, x_298);
-x_317 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_318 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_317, x_316, x_4, x_5, x_6, x_7, x_295);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-x_319 = lean_ctor_get(x_318, 1);
-lean_inc(x_319);
-lean_dec(x_318);
-x_320 = lean_unbox(x_292);
-lean_dec(x_292);
-x_264 = x_320;
-x_265 = x_319;
-goto block_290;
-}
-}
-}
-}
-else
-{
-lean_object* x_333; lean_object* x_334; lean_object* x_335; lean_object* x_336; lean_object* x_337; lean_object* x_338; lean_object* x_339; lean_object* x_340; lean_object* x_341; lean_object* x_342; lean_object* x_343; lean_object* x_344; lean_object* x_345; lean_object* x_346; lean_object* x_347; lean_object* x_348; lean_object* x_349; lean_object* x_350; lean_object* x_351; lean_object* x_352;
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_2);
-lean_dec(x_1);
-x_333 = lean_ctor_get(x_291, 0);
-lean_inc(x_333);
-x_334 = lean_ctor_get(x_291, 1);
-lean_inc(x_334);
-lean_dec(x_291);
-x_335 = lean_st_ref_get(x_7, x_334);
-x_336 = lean_ctor_get(x_335, 1);
-lean_inc(x_336);
-lean_dec(x_335);
-x_337 = lean_st_ref_take(x_7, x_336);
-x_338 = lean_ctor_get(x_337, 0);
-lean_inc(x_338);
-x_339 = lean_ctor_get(x_338, 3);
-lean_inc(x_339);
-x_340 = lean_ctor_get(x_337, 1);
-lean_inc(x_340);
-lean_dec(x_337);
-x_341 = lean_ctor_get(x_338, 0);
-lean_inc(x_341);
-x_342 = lean_ctor_get(x_338, 1);
-lean_inc(x_342);
-x_343 = lean_ctor_get(x_338, 2);
-lean_inc(x_343);
-if (lean_is_exclusive(x_338)) {
- lean_ctor_release(x_338, 0);
- lean_ctor_release(x_338, 1);
- lean_ctor_release(x_338, 2);
- lean_ctor_release(x_338, 3);
- x_344 = x_338;
+lean_ctor_set(x_259, 0, x_257);
+lean_ctor_set_uint8(x_259, sizeof(void*)*1, x_99);
+if (lean_is_scalar(x_256)) {
+ x_260 = lean_alloc_ctor(0, 4, 0);
} else {
- lean_dec_ref(x_338);
- x_344 = lean_box(0);
+ x_260 = x_256;
}
-x_345 = lean_ctor_get(x_339, 0);
-lean_inc(x_345);
-if (lean_is_exclusive(x_339)) {
- lean_ctor_release(x_339, 0);
- x_346 = x_339;
-} else {
- lean_dec_ref(x_339);
- x_346 = lean_box(0);
-}
-if (lean_is_scalar(x_346)) {
- x_347 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_347 = x_346;
-}
-lean_ctor_set(x_347, 0, x_345);
-lean_ctor_set_uint8(x_347, sizeof(void*)*1, x_25);
-if (lean_is_scalar(x_344)) {
- x_348 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_348 = x_344;
-}
-lean_ctor_set(x_348, 0, x_341);
-lean_ctor_set(x_348, 1, x_342);
-lean_ctor_set(x_348, 2, x_343);
-lean_ctor_set(x_348, 3, x_347);
-x_349 = lean_st_ref_set(x_7, x_348, x_340);
+lean_ctor_set(x_260, 0, x_253);
+lean_ctor_set(x_260, 1, x_254);
+lean_ctor_set(x_260, 2, x_255);
+lean_ctor_set(x_260, 3, x_259);
+x_261 = lean_st_ref_set(x_7, x_260, x_252);
lean_dec(x_7);
-x_350 = lean_ctor_get(x_349, 1);
-lean_inc(x_350);
-if (lean_is_exclusive(x_349)) {
- lean_ctor_release(x_349, 0);
- lean_ctor_release(x_349, 1);
- x_351 = x_349;
+x_262 = lean_ctor_get(x_261, 1);
+lean_inc(x_262);
+if (lean_is_exclusive(x_261)) {
+ lean_ctor_release(x_261, 0);
+ lean_ctor_release(x_261, 1);
+ x_263 = x_261;
} else {
- lean_dec_ref(x_349);
- x_351 = lean_box(0);
+ lean_dec_ref(x_261);
+ x_263 = lean_box(0);
}
-if (lean_is_scalar(x_351)) {
- x_352 = lean_alloc_ctor(1, 2, 0);
+x_264 = lean_box(x_242);
+x_265 = lean_box(x_248);
+x_266 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_266, 0, x_264);
+lean_ctor_set(x_266, 1, x_265);
+if (lean_is_scalar(x_263)) {
+ x_267 = lean_alloc_ctor(0, 2, 0);
} else {
- x_352 = x_351;
- lean_ctor_set_tag(x_352, 1);
+ x_267 = x_263;
}
-lean_ctor_set(x_352, 0, x_333);
-lean_ctor_set(x_352, 1, x_350);
-return x_352;
+lean_ctor_set(x_267, 0, x_266);
+lean_ctor_set(x_267, 1, x_262);
+x_9 = x_267;
+goto block_21;
}
-block_290:
+block_289:
{
-lean_object* x_266; lean_object* x_267; lean_object* x_268; lean_object* x_269; uint8_t x_270; lean_object* x_271; lean_object* x_272; lean_object* x_273; lean_object* x_274; lean_object* x_275; lean_object* x_276; lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; lean_object* x_281; lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286; lean_object* x_287; lean_object* x_288; lean_object* x_289;
-x_266 = lean_st_ref_get(x_7, x_265);
-x_267 = lean_ctor_get(x_266, 0);
-lean_inc(x_267);
-x_268 = lean_ctor_get(x_266, 1);
-lean_inc(x_268);
-lean_dec(x_266);
-x_269 = lean_ctor_get(x_267, 3);
-lean_inc(x_269);
-lean_dec(x_267);
-x_270 = lean_ctor_get_uint8(x_269, sizeof(void*)*1);
-lean_dec(x_269);
-x_271 = lean_st_ref_take(x_7, x_268);
-x_272 = lean_ctor_get(x_271, 0);
+lean_object* x_271; lean_object* x_272; lean_object* x_273; lean_object* x_274; lean_object* x_275; lean_object* x_276; lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; lean_object* x_281; lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286; lean_object* x_287; lean_object* x_288;
+x_271 = lean_st_ref_get(x_7, x_270);
+x_272 = lean_ctor_get(x_271, 1);
lean_inc(x_272);
-x_273 = lean_ctor_get(x_272, 3);
-lean_inc(x_273);
-x_274 = lean_ctor_get(x_271, 1);
-lean_inc(x_274);
lean_dec(x_271);
-x_275 = lean_ctor_get(x_272, 0);
+x_273 = lean_st_ref_take(x_7, x_272);
+x_274 = lean_ctor_get(x_273, 0);
+lean_inc(x_274);
+x_275 = lean_ctor_get(x_274, 3);
lean_inc(x_275);
-x_276 = lean_ctor_get(x_272, 1);
+x_276 = lean_ctor_get(x_273, 1);
lean_inc(x_276);
-x_277 = lean_ctor_get(x_272, 2);
+lean_dec(x_273);
+x_277 = lean_ctor_get(x_274, 0);
lean_inc(x_277);
-if (lean_is_exclusive(x_272)) {
- lean_ctor_release(x_272, 0);
- lean_ctor_release(x_272, 1);
- lean_ctor_release(x_272, 2);
- lean_ctor_release(x_272, 3);
- x_278 = x_272;
-} else {
- lean_dec_ref(x_272);
- x_278 = lean_box(0);
-}
-x_279 = lean_ctor_get(x_273, 0);
+x_278 = lean_ctor_get(x_274, 1);
+lean_inc(x_278);
+x_279 = lean_ctor_get(x_274, 2);
lean_inc(x_279);
-if (lean_is_exclusive(x_273)) {
- lean_ctor_release(x_273, 0);
- x_280 = x_273;
+if (lean_is_exclusive(x_274)) {
+ lean_ctor_release(x_274, 0);
+ lean_ctor_release(x_274, 1);
+ lean_ctor_release(x_274, 2);
+ lean_ctor_release(x_274, 3);
+ x_280 = x_274;
} else {
- lean_dec_ref(x_273);
+ lean_dec_ref(x_274);
x_280 = lean_box(0);
}
+x_281 = lean_ctor_get(x_275, 0);
+lean_inc(x_281);
+if (lean_is_exclusive(x_275)) {
+ lean_ctor_release(x_275, 0);
+ x_282 = x_275;
+} else {
+ lean_dec_ref(x_275);
+ x_282 = lean_box(0);
+}
+if (lean_is_scalar(x_282)) {
+ x_283 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_283 = x_282;
+}
+lean_ctor_set(x_283, 0, x_281);
+lean_ctor_set_uint8(x_283, sizeof(void*)*1, x_99);
if (lean_is_scalar(x_280)) {
- x_281 = lean_alloc_ctor(0, 1, 1);
+ x_284 = lean_alloc_ctor(0, 4, 0);
} else {
- x_281 = x_280;
+ x_284 = x_280;
}
-lean_ctor_set(x_281, 0, x_279);
-lean_ctor_set_uint8(x_281, sizeof(void*)*1, x_25);
-if (lean_is_scalar(x_278)) {
- x_282 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_282 = x_278;
-}
-lean_ctor_set(x_282, 0, x_275);
-lean_ctor_set(x_282, 1, x_276);
-lean_ctor_set(x_282, 2, x_277);
-lean_ctor_set(x_282, 3, x_281);
-x_283 = lean_st_ref_set(x_7, x_282, x_274);
+lean_ctor_set(x_284, 0, x_277);
+lean_ctor_set(x_284, 1, x_278);
+lean_ctor_set(x_284, 2, x_279);
+lean_ctor_set(x_284, 3, x_283);
+x_285 = lean_st_ref_set(x_7, x_284, x_276);
lean_dec(x_7);
-x_284 = lean_ctor_get(x_283, 1);
-lean_inc(x_284);
-if (lean_is_exclusive(x_283)) {
- lean_ctor_release(x_283, 0);
- lean_ctor_release(x_283, 1);
- x_285 = x_283;
+x_286 = lean_ctor_get(x_285, 1);
+lean_inc(x_286);
+if (lean_is_exclusive(x_285)) {
+ lean_ctor_release(x_285, 0);
+ lean_ctor_release(x_285, 1);
+ x_287 = x_285;
} else {
- lean_dec_ref(x_283);
- x_285 = lean_box(0);
+ lean_dec_ref(x_285);
+ x_287 = lean_box(0);
}
-x_286 = lean_box(x_264);
-x_287 = lean_box(x_270);
-x_288 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_288, 0, x_286);
-lean_ctor_set(x_288, 1, x_287);
-if (lean_is_scalar(x_285)) {
- x_289 = lean_alloc_ctor(0, 2, 0);
+if (lean_is_scalar(x_287)) {
+ x_288 = lean_alloc_ctor(1, 2, 0);
} else {
- x_289 = x_285;
+ x_288 = x_287;
+ lean_ctor_set_tag(x_288, 1);
}
-lean_ctor_set(x_289, 0, x_288);
-lean_ctor_set(x_289, 1, x_284);
-x_9 = x_289;
-goto block_17;
+lean_ctor_set(x_288, 0, x_269);
+lean_ctor_set(x_288, 1, x_286);
+x_9 = x_288;
+goto block_21;
}
}
}
else
{
-lean_object* x_353; lean_object* x_354; lean_object* x_355; lean_object* x_356; uint8_t x_357; lean_object* x_358; lean_object* x_368;
-x_353 = lean_ctor_get(x_6, 3);
-lean_inc(x_353);
-x_354 = l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_isLevelDefEq___spec__3___rarg(x_7, x_20);
-x_355 = lean_ctor_get(x_354, 0);
-lean_inc(x_355);
-x_356 = lean_ctor_get(x_354, 1);
-lean_inc(x_356);
-lean_dec(x_354);
+lean_object* x_334; lean_object* x_335; lean_object* x_336; lean_object* x_337; lean_object* x_338; uint8_t x_339; lean_object* x_340; lean_object* x_341; lean_object* x_342; lean_object* x_343; uint8_t x_344; lean_object* x_345; lean_object* x_371; lean_object* x_372; lean_object* x_392;
+x_334 = lean_ctor_get(x_101, 0);
+x_335 = lean_ctor_get(x_101, 1);
+x_336 = lean_ctor_get(x_101, 2);
+lean_inc(x_336);
+lean_inc(x_335);
+lean_inc(x_334);
+lean_dec(x_101);
+x_337 = lean_ctor_get(x_102, 0);
+lean_inc(x_337);
+if (lean_is_exclusive(x_102)) {
+ lean_ctor_release(x_102, 0);
+ x_338 = x_102;
+} else {
+ lean_dec_ref(x_102);
+ x_338 = lean_box(0);
+}
+x_339 = 0;
+if (lean_is_scalar(x_338)) {
+ x_340 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_340 = x_338;
+}
+lean_ctor_set(x_340, 0, x_337);
+lean_ctor_set_uint8(x_340, sizeof(void*)*1, x_339);
+x_341 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_341, 0, x_334);
+lean_ctor_set(x_341, 1, x_335);
+lean_ctor_set(x_341, 2, x_336);
+lean_ctor_set(x_341, 3, x_340);
+x_342 = lean_st_ref_set(x_7, x_341, x_103);
+x_343 = lean_ctor_get(x_342, 1);
+lean_inc(x_343);
+lean_dec(x_342);
lean_inc(x_7);
lean_inc(x_6);
lean_inc(x_5);
lean_inc(x_4);
-x_368 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_18, x_4, x_5, x_6, x_7, x_356);
-if (lean_obj_tag(x_368) == 0)
+x_392 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_22, x_4, x_5, x_6, x_7, x_343);
+if (lean_obj_tag(x_392) == 0)
{
-lean_object* x_369; lean_object* x_370; uint8_t x_371; lean_object* x_372; lean_object* x_399; lean_object* x_400; lean_object* x_401; uint8_t x_402;
-x_369 = lean_ctor_get(x_368, 0);
-lean_inc(x_369);
-x_370 = lean_ctor_get(x_368, 1);
-lean_inc(x_370);
-lean_dec(x_368);
-x_399 = lean_st_ref_get(x_7, x_370);
-x_400 = lean_ctor_get(x_399, 0);
-lean_inc(x_400);
-x_401 = lean_ctor_get(x_400, 3);
-lean_inc(x_401);
-lean_dec(x_400);
-x_402 = lean_ctor_get_uint8(x_401, sizeof(void*)*1);
-lean_dec(x_401);
-if (x_402 == 0)
+lean_object* x_393; lean_object* x_394; uint8_t x_395; lean_object* x_396; lean_object* x_423; lean_object* x_424; lean_object* x_425; uint8_t x_426;
+x_393 = lean_ctor_get(x_392, 0);
+lean_inc(x_393);
+x_394 = lean_ctor_get(x_392, 1);
+lean_inc(x_394);
+lean_dec(x_392);
+x_423 = lean_st_ref_get(x_7, x_394);
+x_424 = lean_ctor_get(x_423, 0);
+lean_inc(x_424);
+x_425 = lean_ctor_get(x_424, 3);
+lean_inc(x_425);
+lean_dec(x_424);
+x_426 = lean_ctor_get_uint8(x_425, sizeof(void*)*1);
+lean_dec(x_425);
+if (x_426 == 0)
{
-lean_object* x_403; uint8_t x_404;
-x_403 = lean_ctor_get(x_399, 1);
-lean_inc(x_403);
-lean_dec(x_399);
-x_404 = 0;
-x_371 = x_404;
-x_372 = x_403;
-goto block_398;
+lean_object* x_427;
+x_427 = lean_ctor_get(x_423, 1);
+lean_inc(x_427);
+lean_dec(x_423);
+x_395 = x_339;
+x_396 = x_427;
+goto block_422;
}
else
{
-lean_object* x_405; lean_object* x_406; lean_object* x_407; lean_object* x_408; lean_object* x_409; uint8_t x_410;
-x_405 = lean_ctor_get(x_399, 1);
-lean_inc(x_405);
-lean_dec(x_399);
-x_406 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_407 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_406, x_4, x_5, x_6, x_7, x_405);
-x_408 = lean_ctor_get(x_407, 0);
-lean_inc(x_408);
-x_409 = lean_ctor_get(x_407, 1);
-lean_inc(x_409);
-lean_dec(x_407);
-x_410 = lean_unbox(x_408);
-lean_dec(x_408);
-x_371 = x_410;
-x_372 = x_409;
-goto block_398;
+lean_object* x_428; lean_object* x_429; lean_object* x_430; lean_object* x_431; lean_object* x_432; uint8_t x_433;
+x_428 = lean_ctor_get(x_423, 1);
+lean_inc(x_428);
+lean_dec(x_423);
+x_429 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_430 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_429, x_4, x_5, x_6, x_7, x_428);
+x_431 = lean_ctor_get(x_430, 0);
+lean_inc(x_431);
+x_432 = lean_ctor_get(x_430, 1);
+lean_inc(x_432);
+lean_dec(x_430);
+x_433 = lean_unbox(x_431);
+lean_dec(x_431);
+x_395 = x_433;
+x_396 = x_432;
+goto block_422;
}
-block_398:
+block_422:
{
-if (x_371 == 0)
+if (x_395 == 0)
{
-uint8_t x_373;
-lean_dec(x_2);
-lean_dec(x_1);
-x_373 = lean_unbox(x_369);
-lean_dec(x_369);
-x_357 = x_373;
-x_358 = x_372;
-goto block_367;
-}
-else
-{
-lean_object* x_374; lean_object* x_375; lean_object* x_376; lean_object* x_377; lean_object* x_378; lean_object* x_379; lean_object* x_380; lean_object* x_381; lean_object* x_382; uint8_t x_383;
-x_374 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_374, 0, x_1);
-x_375 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_376 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_376, 0, x_375);
-lean_ctor_set(x_376, 1, x_374);
-x_377 = l_Lean_Meta_isLevelDefEqAux___closed__6;
-x_378 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_378, 0, x_376);
-lean_ctor_set(x_378, 1, x_377);
-x_379 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_379, 0, x_2);
-x_380 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_380, 0, x_378);
-lean_ctor_set(x_380, 1, x_379);
-x_381 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
-x_382 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_382, 0, x_380);
-lean_ctor_set(x_382, 1, x_381);
-x_383 = lean_unbox(x_369);
-if (x_383 == 0)
-{
-lean_object* x_384; lean_object* x_385; lean_object* x_386; lean_object* x_387; lean_object* x_388; lean_object* x_389; uint8_t x_390;
-x_384 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
-x_385 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_385, 0, x_382);
-lean_ctor_set(x_385, 1, x_384);
-x_386 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_386, 0, x_385);
-lean_ctor_set(x_386, 1, x_375);
-x_387 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_388 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_387, x_386, x_4, x_5, x_6, x_7, x_372);
-x_389 = lean_ctor_get(x_388, 1);
-lean_inc(x_389);
-lean_dec(x_388);
-x_390 = lean_unbox(x_369);
-lean_dec(x_369);
-x_357 = x_390;
-x_358 = x_389;
-goto block_367;
-}
-else
-{
-lean_object* x_391; lean_object* x_392; lean_object* x_393; lean_object* x_394; lean_object* x_395; lean_object* x_396; uint8_t x_397;
-x_391 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
-x_392 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_392, 0, x_382);
-lean_ctor_set(x_392, 1, x_391);
-x_393 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_393, 0, x_392);
-lean_ctor_set(x_393, 1, x_375);
-x_394 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_395 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_394, x_393, x_4, x_5, x_6, x_7, x_372);
-x_396 = lean_ctor_get(x_395, 1);
-lean_inc(x_396);
-lean_dec(x_395);
-x_397 = lean_unbox(x_369);
-lean_dec(x_369);
-x_357 = x_397;
-x_358 = x_396;
-goto block_367;
-}
-}
-}
-}
-else
-{
-lean_object* x_411; lean_object* x_412; lean_object* x_413; lean_object* x_414; uint8_t x_415;
-lean_dec(x_2);
-lean_dec(x_1);
-x_411 = lean_ctor_get(x_368, 0);
-lean_inc(x_411);
-x_412 = lean_ctor_get(x_368, 1);
-lean_inc(x_412);
-lean_dec(x_368);
-x_413 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_414 = l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_isLevelDefEq___spec__4(x_355, x_413, x_353, x_4, x_5, x_6, x_7, x_412);
-lean_dec(x_7);
+uint8_t x_397;
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
-x_415 = !lean_is_exclusive(x_414);
-if (x_415 == 0)
-{
-lean_object* x_416;
-x_416 = lean_ctor_get(x_414, 0);
-lean_dec(x_416);
-lean_ctor_set_tag(x_414, 1);
-lean_ctor_set(x_414, 0, x_411);
-return x_414;
+lean_dec(x_2);
+lean_dec(x_1);
+x_397 = lean_unbox(x_393);
+lean_dec(x_393);
+x_344 = x_397;
+x_345 = x_396;
+goto block_370;
}
else
{
-lean_object* x_417; lean_object* x_418;
-x_417 = lean_ctor_get(x_414, 1);
-lean_inc(x_417);
-lean_dec(x_414);
-x_418 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_418, 0, x_411);
-lean_ctor_set(x_418, 1, x_417);
-return x_418;
-}
-}
-block_367:
+lean_object* x_398; lean_object* x_399; lean_object* x_400; lean_object* x_401; lean_object* x_402; lean_object* x_403; lean_object* x_404; lean_object* x_405; lean_object* x_406; uint8_t x_407;
+x_398 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_398, 0, x_1);
+x_399 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_400 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_400, 0, x_399);
+lean_ctor_set(x_400, 1, x_398);
+x_401 = l_Lean_Meta_isLevelDefEqAux___closed__6;
+x_402 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_402, 0, x_400);
+lean_ctor_set(x_402, 1, x_401);
+x_403 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_403, 0, x_2);
+x_404 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_404, 0, x_402);
+lean_ctor_set(x_404, 1, x_403);
+x_405 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
+x_406 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_406, 0, x_404);
+lean_ctor_set(x_406, 1, x_405);
+x_407 = lean_unbox(x_393);
+if (x_407 == 0)
{
-lean_object* x_359; lean_object* x_360; uint8_t x_361;
-x_359 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_360 = l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_isLevelDefEq___spec__4(x_355, x_359, x_353, x_4, x_5, x_6, x_7, x_358);
-lean_dec(x_7);
+lean_object* x_408; lean_object* x_409; lean_object* x_410; lean_object* x_411; lean_object* x_412; lean_object* x_413; uint8_t x_414;
+x_408 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
+x_409 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_409, 0, x_406);
+lean_ctor_set(x_409, 1, x_408);
+x_410 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_410, 0, x_409);
+lean_ctor_set(x_410, 1, x_399);
+x_411 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_412 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_411, x_410, x_4, x_5, x_6, x_7, x_396);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
-x_361 = !lean_is_exclusive(x_360);
-if (x_361 == 0)
-{
-lean_object* x_362; lean_object* x_363;
-x_362 = lean_ctor_get(x_360, 0);
-lean_dec(x_362);
-x_363 = lean_box(x_357);
-lean_ctor_set(x_360, 0, x_363);
-return x_360;
+x_413 = lean_ctor_get(x_412, 1);
+lean_inc(x_413);
+lean_dec(x_412);
+x_414 = lean_unbox(x_393);
+lean_dec(x_393);
+x_344 = x_414;
+x_345 = x_413;
+goto block_370;
}
else
{
-lean_object* x_364; lean_object* x_365; lean_object* x_366;
-x_364 = lean_ctor_get(x_360, 1);
+lean_object* x_415; lean_object* x_416; lean_object* x_417; lean_object* x_418; lean_object* x_419; lean_object* x_420; uint8_t x_421;
+x_415 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
+x_416 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_416, 0, x_406);
+lean_ctor_set(x_416, 1, x_415);
+x_417 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_417, 0, x_416);
+lean_ctor_set(x_417, 1, x_399);
+x_418 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_419 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_418, x_417, x_4, x_5, x_6, x_7, x_396);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+x_420 = lean_ctor_get(x_419, 1);
+lean_inc(x_420);
+lean_dec(x_419);
+x_421 = lean_unbox(x_393);
+lean_dec(x_393);
+x_344 = x_421;
+x_345 = x_420;
+goto block_370;
+}
+}
+}
+}
+else
+{
+lean_object* x_434; lean_object* x_435;
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_2);
+lean_dec(x_1);
+x_434 = lean_ctor_get(x_392, 0);
+lean_inc(x_434);
+x_435 = lean_ctor_get(x_392, 1);
+lean_inc(x_435);
+lean_dec(x_392);
+x_371 = x_434;
+x_372 = x_435;
+goto block_391;
+}
+block_370:
+{
+lean_object* x_346; lean_object* x_347; lean_object* x_348; lean_object* x_349; uint8_t x_350; lean_object* x_351; lean_object* x_352; lean_object* x_353; lean_object* x_354; lean_object* x_355; lean_object* x_356; lean_object* x_357; lean_object* x_358; lean_object* x_359; lean_object* x_360; lean_object* x_361; lean_object* x_362; lean_object* x_363; lean_object* x_364; lean_object* x_365; lean_object* x_366; lean_object* x_367; lean_object* x_368; lean_object* x_369;
+x_346 = lean_st_ref_get(x_7, x_345);
+x_347 = lean_ctor_get(x_346, 0);
+lean_inc(x_347);
+x_348 = lean_ctor_get(x_346, 1);
+lean_inc(x_348);
+lean_dec(x_346);
+x_349 = lean_ctor_get(x_347, 3);
+lean_inc(x_349);
+lean_dec(x_347);
+x_350 = lean_ctor_get_uint8(x_349, sizeof(void*)*1);
+lean_dec(x_349);
+x_351 = lean_st_ref_take(x_7, x_348);
+x_352 = lean_ctor_get(x_351, 0);
+lean_inc(x_352);
+x_353 = lean_ctor_get(x_352, 3);
+lean_inc(x_353);
+x_354 = lean_ctor_get(x_351, 1);
+lean_inc(x_354);
+lean_dec(x_351);
+x_355 = lean_ctor_get(x_352, 0);
+lean_inc(x_355);
+x_356 = lean_ctor_get(x_352, 1);
+lean_inc(x_356);
+x_357 = lean_ctor_get(x_352, 2);
+lean_inc(x_357);
+if (lean_is_exclusive(x_352)) {
+ lean_ctor_release(x_352, 0);
+ lean_ctor_release(x_352, 1);
+ lean_ctor_release(x_352, 2);
+ lean_ctor_release(x_352, 3);
+ x_358 = x_352;
+} else {
+ lean_dec_ref(x_352);
+ x_358 = lean_box(0);
+}
+x_359 = lean_ctor_get(x_353, 0);
+lean_inc(x_359);
+if (lean_is_exclusive(x_353)) {
+ lean_ctor_release(x_353, 0);
+ x_360 = x_353;
+} else {
+ lean_dec_ref(x_353);
+ x_360 = lean_box(0);
+}
+if (lean_is_scalar(x_360)) {
+ x_361 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_361 = x_360;
+}
+lean_ctor_set(x_361, 0, x_359);
+lean_ctor_set_uint8(x_361, sizeof(void*)*1, x_99);
+if (lean_is_scalar(x_358)) {
+ x_362 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_362 = x_358;
+}
+lean_ctor_set(x_362, 0, x_355);
+lean_ctor_set(x_362, 1, x_356);
+lean_ctor_set(x_362, 2, x_357);
+lean_ctor_set(x_362, 3, x_361);
+x_363 = lean_st_ref_set(x_7, x_362, x_354);
+lean_dec(x_7);
+x_364 = lean_ctor_get(x_363, 1);
lean_inc(x_364);
-lean_dec(x_360);
-x_365 = lean_box(x_357);
-x_366 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_366, 0, x_365);
-lean_ctor_set(x_366, 1, x_364);
-return x_366;
+if (lean_is_exclusive(x_363)) {
+ lean_ctor_release(x_363, 0);
+ lean_ctor_release(x_363, 1);
+ x_365 = x_363;
+} else {
+ lean_dec_ref(x_363);
+ x_365 = lean_box(0);
+}
+x_366 = lean_box(x_344);
+x_367 = lean_box(x_350);
+x_368 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_368, 0, x_366);
+lean_ctor_set(x_368, 1, x_367);
+if (lean_is_scalar(x_365)) {
+ x_369 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_369 = x_365;
+}
+lean_ctor_set(x_369, 0, x_368);
+lean_ctor_set(x_369, 1, x_364);
+x_9 = x_369;
+goto block_21;
+}
+block_391:
+{
+lean_object* x_373; lean_object* x_374; lean_object* x_375; lean_object* x_376; lean_object* x_377; lean_object* x_378; lean_object* x_379; lean_object* x_380; lean_object* x_381; lean_object* x_382; lean_object* x_383; lean_object* x_384; lean_object* x_385; lean_object* x_386; lean_object* x_387; lean_object* x_388; lean_object* x_389; lean_object* x_390;
+x_373 = lean_st_ref_get(x_7, x_372);
+x_374 = lean_ctor_get(x_373, 1);
+lean_inc(x_374);
+lean_dec(x_373);
+x_375 = lean_st_ref_take(x_7, x_374);
+x_376 = lean_ctor_get(x_375, 0);
+lean_inc(x_376);
+x_377 = lean_ctor_get(x_376, 3);
+lean_inc(x_377);
+x_378 = lean_ctor_get(x_375, 1);
+lean_inc(x_378);
+lean_dec(x_375);
+x_379 = lean_ctor_get(x_376, 0);
+lean_inc(x_379);
+x_380 = lean_ctor_get(x_376, 1);
+lean_inc(x_380);
+x_381 = lean_ctor_get(x_376, 2);
+lean_inc(x_381);
+if (lean_is_exclusive(x_376)) {
+ lean_ctor_release(x_376, 0);
+ lean_ctor_release(x_376, 1);
+ lean_ctor_release(x_376, 2);
+ lean_ctor_release(x_376, 3);
+ x_382 = x_376;
+} else {
+ lean_dec_ref(x_376);
+ x_382 = lean_box(0);
+}
+x_383 = lean_ctor_get(x_377, 0);
+lean_inc(x_383);
+if (lean_is_exclusive(x_377)) {
+ lean_ctor_release(x_377, 0);
+ x_384 = x_377;
+} else {
+ lean_dec_ref(x_377);
+ x_384 = lean_box(0);
+}
+if (lean_is_scalar(x_384)) {
+ x_385 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_385 = x_384;
+}
+lean_ctor_set(x_385, 0, x_383);
+lean_ctor_set_uint8(x_385, sizeof(void*)*1, x_99);
+if (lean_is_scalar(x_382)) {
+ x_386 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_386 = x_382;
+}
+lean_ctor_set(x_386, 0, x_379);
+lean_ctor_set(x_386, 1, x_380);
+lean_ctor_set(x_386, 2, x_381);
+lean_ctor_set(x_386, 3, x_385);
+x_387 = lean_st_ref_set(x_7, x_386, x_378);
+lean_dec(x_7);
+x_388 = lean_ctor_get(x_387, 1);
+lean_inc(x_388);
+if (lean_is_exclusive(x_387)) {
+ lean_ctor_release(x_387, 0);
+ lean_ctor_release(x_387, 1);
+ x_389 = x_387;
+} else {
+ lean_dec_ref(x_387);
+ x_389 = lean_box(0);
+}
+if (lean_is_scalar(x_389)) {
+ x_390 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_390 = x_389;
+ lean_ctor_set_tag(x_390, 1);
+}
+lean_ctor_set(x_390, 0, x_371);
+lean_ctor_set(x_390, 1, x_388);
+x_9 = x_390;
+goto block_21;
+}
}
}
}
diff --git a/stage0/stdlib/Lean/Meta/LevelDefEq.c b/stage0/stdlib/Lean/Meta/LevelDefEq.c
index 1af08835ea..ba420bc93a 100644
--- a/stage0/stdlib/Lean/Meta/LevelDefEq.c
+++ b/stage0/stdlib/Lean/Meta/LevelDefEq.c
@@ -13,9 +13,9 @@
#ifdef __cplusplus
extern "C" {
#endif
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed___spec__1___rarg(lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__1___rarg___boxed(lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_decAux_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__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_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__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* l_Lean_Meta_isLevelDefEq___rarg___closed__4;
size_t l_USize_add(size_t, size_t);
lean_object* l_Lean_Meta_isDefEqNoConstantApprox___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -30,44 +30,36 @@ lean_object* l_Lean_stringToMessageData(lean_object*);
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__5___closed__2;
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep_match__2(lean_object*);
lean_object* l_Lean_MetavarContext_findLevelDepth_x3f(lean_object*, lean_object*);
-lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__4___closed__1;
lean_object* l_Lean_Meta_decLevel_x3f___at_Lean_Meta_decLevel___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_isExprDefEq___rarg___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* l_Lean_Meta_isExprDefEq___at_Lean_Meta_isExprDefEqGuarded___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_isExprDefEq___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_isDefEqNoConstantApprox___rarg___closed__1;
lean_object* lean_array_uget(lean_object*, size_t);
-lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__4(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_getNumPostponed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__4___closed__4;
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_strictOccursMaxAux___boxed(lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_4__addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t lean_name_eq(lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_4__addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedAux___rarg___closed__5;
-lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__4___closed__5;
+lean_object* l_Std_PersistentArray_forInAux___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__3___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_mkMaxArgsDiff_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_assignLevelMVar___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_solve___spec__3___boxed(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_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___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*, 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*);
-lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_checkTraceOption(lean_object*, lean_object*);
-lean_object* l_Std_PersistentArray_forInAux___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__2___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_st_ref_get(lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_isLevelDefEq___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_isLevelDefEq___spec__2___rarg(lean_object*, lean_object*);
extern lean_object* l_Std_PersistentArray_empty___closed__1;
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedAux___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep_match__1___rarg(lean_object*, lean_object*);
lean_object* l_ReaderT_lift___rarg___boxed(lean_object*, lean_object*);
+lean_object* l_Std_PersistentArray_forInAux___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___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* l_ReaderT_bind___at_Lean_Meta_Lean_Meta_Basic___instance__5___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_decLevel___rarg___lambda__1___closed__4;
lean_object* lean_array_get_size(lean_object*);
lean_object* l_Lean_Meta_isLevelDefEq___rarg___closed__3;
lean_object* l_Lean_fmt___at_Lean_Position_Lean_Data_Position___instance__2___spec__1(lean_object*);
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_isLevelDefEq___spec__3(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_decAux_x3f_match__3(lean_object*);
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__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_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__5___closed__1;
@@ -80,7 +72,9 @@ lean_object* l_Lean_Level_mvarId_x21(lean_object*);
uint8_t l_USize_decLt(size_t, size_t);
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_decLevel___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__5___closed__4;
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_solve___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_isLevelDefEq___spec__2___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_decLevel___rarg___lambda__1___closed__1;
lean_object* l_Lean_Meta_isLevelDefEqAux___closed__4;
lean_object* l_Lean_Meta_decLevel___rarg___lambda__1___closed__2;
@@ -92,27 +86,27 @@ lean_object* l_Lean_Meta_getLevel___at___private_Lean_Meta_InferType_0__Lean_Met
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_solveSelfMax___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_setEnv___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_restore___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_isDefEqNoConstantApprox___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_strictOccursMax___boxed(lean_object*, lean_object*);
+lean_object* l_Array_umapMAux___main___at___private_Lean_Util_Trace_0__Lean_addNode___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_Meta_isDefEq___rarg(lean_object*, lean_object*, lean_object*);
+lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__5___closed__5;
lean_object* l_Lean_Meta_isLevelDefEqAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Std_PersistentArray_forIn___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_postponeIsLevelDefEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__5;
lean_object* l_Lean_Meta_isLevelDefEq___rarg___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* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__3;
uint8_t l_Lean_MetavarContext_hasAssignableLevelMVar___main(lean_object*, lean_object*);
lean_object* l_Lean_Meta_decLevel___rarg(lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep_match__2___rarg(lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_isLevelDefEq___spec__3___rarg(lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__1___rarg(lean_object*, lean_object*);
lean_object* l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedAux___rarg___closed__1;
lean_object* l_Lean_Meta_isReadOnlyLevelMVar___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_decAux_x3f___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Std_Range_myMacro____x40_Init_Data_Range___hyg_831____closed__1;
lean_object* l_Lean_Meta_isExprDefEq___rarg___closed__2;
lean_object* l_Lean_Meta_isLevelDefEqAux___closed__6;
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_restore___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
lean_object* l_Lean_Meta_isListLevelDefEqAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -125,19 +119,18 @@ lean_object* l_Lean_Meta_mkFreshLevelMVar___at___private_Lean_Meta_Basic_0__Lean
lean_object* lean_st_ref_take(lean_object*, lean_object*);
lean_object* l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedAux___rarg___closed__6;
+lean_object* l___private_Lean_Util_Trace_0__Lean_addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_decAux_x3f_match__2___rarg(lean_object*, lean_object*, lean_object*);
lean_object* lean_metavar_ctx_get_level_assignment(lean_object*, lean_object*);
lean_object* l_Lean_Meta_isExprDefEq___rarg___closed__1;
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_strictOccursMax_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_MetavarContext_instantiateLevelMVars___main(lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_4__addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__7___boxed(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_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__5___closed__3;
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_strictOccursMaxAux_match__1(lean_object*);
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_decAux_x3f_match__4___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedAux___rarg___closed__4;
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Std_PersistentArray_forIn___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_solve(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__6___rarg(lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_solveSelfMax(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_mkLevelMax(lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_decAux_x3f_match__4(lean_object*);
@@ -147,6 +140,7 @@ lean_object* l_Lean_Meta_throwIsDefEqStuck___rarg(lean_object*);
lean_object* l_Lean_Meta_isExprDefEq___rarg___closed__4;
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_restore(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_getResetPostponed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_decLevel(lean_object*);
lean_object* l_Lean_Meta_getDecLevel(lean_object*);
lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -160,52 +154,55 @@ lean_object* l_Lean_Meta_isLevelDefEqAux___closed__2;
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_decAux_x3f_match__5(lean_object*);
lean_object* l_Lean_Meta_isExprDefEqGuarded(lean_object*);
lean_object* l_Lean_Meta_isReadOnlyLevelMVar___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_solve___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__6___closed__2;
extern lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_517____closed__2;
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_decLevelImp_match__1(lean_object*);
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedAux___boxed(lean_object*);
lean_object* l_Lean_Meta_decLevel_x3f___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_solve___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_isDefEqNoConstantApprox___rarg(lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed___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_Meta_decLevel_x3f___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Meta_isLevelDefEqAux___closed__1;
lean_object* l_Lean_Meta_isListLevelDefEqAux___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Std_PersistentArray_forIn___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__2___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_getNumPostponed___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Std_PersistentArray_isEmpty___rarg(lean_object*);
-lean_object* l_Std_PersistentArray_forInAux___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__2(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_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__4___closed__3;
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_isLevelDefEqAux___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_4__addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_solve_match__1(lean_object*);
size_t lean_usize_of_nat(lean_object*);
+lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__6(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_isLevelDefEqAux___closed__7;
lean_object* l_Lean_mkLevelMVar(lean_object*);
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__6(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_assignLevelMVar___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_decAux_x3f___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_isLevelDefEq___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_decLevel_x3f___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_solve___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_commitWhen(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_mkMaxArgsDiff_match__1(lean_object*);
lean_object* l_Lean_Meta_isDefEq(lean_object*);
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed___spec__1___rarg___boxed(lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_isLevelDefEq___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_isLevelDefEq___spec__2(lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_isLevelDefEq___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_PersistentArray_push___rarg(lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__4;
lean_object* l_Lean_Meta_decLevel_x3f___at_Lean_Meta_decLevel___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_isLevelDefEq___spec__3___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_decAux_x3f_match__5___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_mkLevelSucc(lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_decAux_x3f_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_solve_match__1___rarg(lean_object*, lean_object*, lean_object*);
-lean_object* l_Std_PersistentArray_forInAux___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__2___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Std_PersistentArray_forInAux___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__3___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_PersistentArray_toArray___rarg(lean_object*);
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_decLevelImp___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_isDefEqGuarded(lean_object*);
lean_object* l_Lean_Meta_isLevelDefEq___rarg___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_solve_match__2(lean_object*);
lean_object* l_Lean_Meta_isLevelDefEq(lean_object*);
+lean_object* l_Std_PersistentArray_forIn___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__2___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
lean_object* lean_metavar_ctx_assign_level(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_getConstInfo___rarg___lambda__1___closed__2;
@@ -213,53 +210,51 @@ lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep_
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_decAux_x3f_match__2(lean_object*);
lean_object* l_Lean_Level_normalize(lean_object*);
uint8_t l_Bool_toLBool(uint8_t);
-lean_object* l_Std_PersistentArray_forIn___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__1___lambda__1___boxed(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_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_isLevelDefEq___rarg(lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Level_isMVar(lean_object*);
lean_object* l_Lean_Meta_isReadOnlyLevelMVar___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_decAux_x3f___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_isLevelDefEq___spec__2___rarg___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Meta_isExprDefEq___rarg(lean_object*, lean_object*, lean_object*);
-lean_object* l_Array_umapMAux___main___at___private_Lean_Util_Trace_4__addNode___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_Meta_setMCtx___at___private_Lean_Meta_Basic_0__Lean_Meta_liftMkBindingM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__2;
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_isLevelDefEqAux___closed__3;
+lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__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_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__6___closed__1;
lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedAux(lean_object*);
lean_object* l_Lean_Meta_decLevel___at_Lean_Meta_getDecLevel___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Std_PersistentArray_forIn___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_mkMaxArgsDiff(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_decLevel___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_isExprDefEq(lean_object*);
lean_object* l_Lean_Meta_isDefEqNoConstantApprox(lean_object*);
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__6___rarg___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Meta_isListLevelDefEqAux_match__1(lean_object*);
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedAux_match__1(lean_object*);
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_strictOccursMaxAux_match__1___rarg(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Meta_isReadOnlyLevelMVar___rarg___lambda__1___closed__2;
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_isLevelDefEq___spec__3___rarg___boxed(lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_LBool_beq(uint8_t, uint8_t);
+lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_postponeIsLevelDefEq___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Std_PersistentArray_forIn___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_decLevel___rarg___lambda__1___closed__3;
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_decLevelImp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_addMessageContextFull___at_Lean_Meta_Lean_Meta_Basic___instance__7___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Level_occurs(lean_object*, lean_object*);
lean_object* l_Lean_Meta_isLevelDefEqAux___closed__5;
lean_object* l_Lean_Meta_isLevelDefEq___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed___spec__1___rarg(lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__5(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_decLevel_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep_match__1(lean_object*);
-lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__4___closed__2;
-lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_getResetPostponed___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_unsafeCast(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_isLevelDefEq___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Std_PersistentArray_forInAux___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t lean_level_eq(lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_isLevelDefEq___rarg___closed__1;
lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_LevelDefEq___hyg_2005_(lean_object*);
lean_object* l_Lean_Meta_isReadOnlyLevelMVar___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_solve___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -269,13 +264,18 @@ lean_object* l_Lean_Meta_instantiateLevelMVars___at_Lean_Meta_isLevelDefEqAux___
lean_object* l_Lean_Meta_isLevelDefEqAux_match__1(lean_object*);
lean_object* l_Lean_Meta_getDecLevel___rarg___closed__1;
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_decAux_x3f_match__3___rarg(lean_object*, lean_object*, lean_object*);
+lean_object* l_Std_PersistentArray_forIn___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Std_PersistentArray_forInAux___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_isLevelDefEq___rarg___closed__2;
lean_object* l_Lean_Meta_isDefEqGuarded___rarg(lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed___spec__1___rarg___boxed(lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_solve_match__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_decLevel_x3f(lean_object*);
lean_object* l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__3;
lean_object* l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__5;
uint8_t lean_nat_dec_lt(lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_isLevelDefEq___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_decAux_x3f_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
@@ -3317,7 +3317,7 @@ return x_57;
}
}
}
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(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* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(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) {
_start:
{
lean_object* x_8; uint8_t x_9; lean_object* x_10; lean_object* x_11;
@@ -3430,7 +3430,7 @@ x_208 = lean_ctor_get(x_202, 1);
lean_inc(x_208);
lean_dec(x_202);
x_209 = l_Lean_Meta_isLevelDefEqAux___closed__7;
-x_210 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_209, x_3, x_4, x_5, x_6, x_7, x_208);
+x_210 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_209, x_3, x_4, x_5, x_6, x_7, x_208);
x_211 = lean_ctor_get(x_210, 0);
lean_inc(x_211);
x_212 = lean_ctor_get(x_210, 1);
@@ -3726,7 +3726,7 @@ x_77 = lean_ctor_get(x_71, 1);
lean_inc(x_77);
lean_dec(x_71);
x_78 = l_Lean_Meta_isLevelDefEqAux___closed__4;
-x_79 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_78, x_3, x_4, x_5, x_6, x_7, x_77);
+x_79 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_78, x_3, x_4, x_5, x_6, x_7, x_77);
x_80 = lean_ctor_get(x_79, 0);
lean_inc(x_80);
x_81 = lean_ctor_get(x_79, 1);
@@ -3964,7 +3964,7 @@ x_143 = lean_ctor_get(x_137, 1);
lean_inc(x_143);
lean_dec(x_137);
x_144 = l_Lean_Meta_isLevelDefEqAux___closed__4;
-x_145 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_144, x_3, x_4, x_5, x_6, x_7, x_143);
+x_145 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_144, x_3, x_4, x_5, x_6, x_7, x_143);
x_146 = lean_ctor_get(x_145, 0);
lean_inc(x_146);
x_147 = lean_ctor_get(x_145, 1);
@@ -4194,7 +4194,7 @@ x_416 = lean_ctor_get(x_410, 1);
lean_inc(x_416);
lean_dec(x_410);
x_417 = l_Lean_Meta_isLevelDefEqAux___closed__7;
-x_418 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_417, x_3, x_4, x_5, x_6, x_7, x_416);
+x_418 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_417, x_3, x_4, x_5, x_6, x_7, x_416);
x_419 = lean_ctor_get(x_418, 0);
lean_inc(x_419);
x_420 = lean_ctor_get(x_418, 1);
@@ -4490,7 +4490,7 @@ x_285 = lean_ctor_get(x_279, 1);
lean_inc(x_285);
lean_dec(x_279);
x_286 = l_Lean_Meta_isLevelDefEqAux___closed__4;
-x_287 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_286, x_3, x_4, x_5, x_6, x_7, x_285);
+x_287 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_286, x_3, x_4, x_5, x_6, x_7, x_285);
x_288 = lean_ctor_get(x_287, 0);
lean_inc(x_288);
x_289 = lean_ctor_get(x_287, 1);
@@ -4728,7 +4728,7 @@ x_351 = lean_ctor_get(x_345, 1);
lean_inc(x_351);
lean_dec(x_345);
x_352 = l_Lean_Meta_isLevelDefEqAux___closed__4;
-x_353 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_352, x_3, x_4, x_5, x_6, x_7, x_351);
+x_353 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_352, x_3, x_4, x_5, x_6, x_7, x_351);
x_354 = lean_ctor_get(x_353, 0);
lean_inc(x_354);
x_355 = lean_ctor_get(x_353, 1);
@@ -4968,7 +4968,7 @@ x_627 = lean_ctor_get(x_621, 1);
lean_inc(x_627);
lean_dec(x_621);
x_628 = l_Lean_Meta_isLevelDefEqAux___closed__7;
-x_629 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_628, x_3, x_4, x_5, x_6, x_7, x_627);
+x_629 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_628, x_3, x_4, x_5, x_6, x_7, x_627);
x_630 = lean_ctor_get(x_629, 0);
lean_inc(x_630);
x_631 = lean_ctor_get(x_629, 1);
@@ -5264,7 +5264,7 @@ x_496 = lean_ctor_get(x_490, 1);
lean_inc(x_496);
lean_dec(x_490);
x_497 = l_Lean_Meta_isLevelDefEqAux___closed__4;
-x_498 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_497, x_3, x_4, x_5, x_6, x_7, x_496);
+x_498 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_497, x_3, x_4, x_5, x_6, x_7, x_496);
x_499 = lean_ctor_get(x_498, 0);
lean_inc(x_499);
x_500 = lean_ctor_get(x_498, 1);
@@ -5502,7 +5502,7 @@ x_562 = lean_ctor_get(x_556, 1);
lean_inc(x_562);
lean_dec(x_556);
x_563 = l_Lean_Meta_isLevelDefEqAux___closed__4;
-x_564 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_563, x_3, x_4, x_5, x_6, x_7, x_562);
+x_564 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_563, x_3, x_4, x_5, x_6, x_7, x_562);
x_565 = lean_ctor_get(x_564, 0);
lean_inc(x_565);
x_566 = lean_ctor_get(x_564, 1);
@@ -5729,7 +5729,7 @@ x_835 = lean_ctor_get(x_829, 1);
lean_inc(x_835);
lean_dec(x_829);
x_836 = l_Lean_Meta_isLevelDefEqAux___closed__7;
-x_837 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_836, x_3, x_4, x_5, x_6, x_7, x_835);
+x_837 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_836, x_3, x_4, x_5, x_6, x_7, x_835);
x_838 = lean_ctor_get(x_837, 0);
lean_inc(x_838);
x_839 = lean_ctor_get(x_837, 1);
@@ -6025,7 +6025,7 @@ x_704 = lean_ctor_get(x_698, 1);
lean_inc(x_704);
lean_dec(x_698);
x_705 = l_Lean_Meta_isLevelDefEqAux___closed__4;
-x_706 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_705, x_3, x_4, x_5, x_6, x_7, x_704);
+x_706 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_705, x_3, x_4, x_5, x_6, x_7, x_704);
x_707 = lean_ctor_get(x_706, 0);
lean_inc(x_707);
x_708 = lean_ctor_get(x_706, 1);
@@ -6263,7 +6263,7 @@ x_770 = lean_ctor_get(x_764, 1);
lean_inc(x_770);
lean_dec(x_764);
x_771 = l_Lean_Meta_isLevelDefEqAux___closed__4;
-x_772 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_771, x_3, x_4, x_5, x_6, x_7, x_770);
+x_772 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_771, x_3, x_4, x_5, x_6, x_7, x_770);
x_773 = lean_ctor_get(x_772, 0);
lean_inc(x_773);
x_774 = lean_ctor_get(x_772, 1);
@@ -6490,7 +6490,7 @@ x_1043 = lean_ctor_get(x_1037, 1);
lean_inc(x_1043);
lean_dec(x_1037);
x_1044 = l_Lean_Meta_isLevelDefEqAux___closed__7;
-x_1045 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_1044, x_3, x_4, x_5, x_6, x_7, x_1043);
+x_1045 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_1044, x_3, x_4, x_5, x_6, x_7, x_1043);
x_1046 = lean_ctor_get(x_1045, 0);
lean_inc(x_1046);
x_1047 = lean_ctor_get(x_1045, 1);
@@ -6786,7 +6786,7 @@ x_912 = lean_ctor_get(x_906, 1);
lean_inc(x_912);
lean_dec(x_906);
x_913 = l_Lean_Meta_isLevelDefEqAux___closed__4;
-x_914 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_913, x_3, x_4, x_5, x_6, x_7, x_912);
+x_914 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_913, x_3, x_4, x_5, x_6, x_7, x_912);
x_915 = lean_ctor_get(x_914, 0);
lean_inc(x_915);
x_916 = lean_ctor_get(x_914, 1);
@@ -7024,7 +7024,7 @@ x_978 = lean_ctor_get(x_972, 1);
lean_inc(x_978);
lean_dec(x_972);
x_979 = l_Lean_Meta_isLevelDefEqAux___closed__4;
-x_980 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_979, x_3, x_4, x_5, x_6, x_7, x_978);
+x_980 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_979, x_3, x_4, x_5, x_6, x_7, x_978);
x_981 = lean_ctor_get(x_980, 0);
lean_inc(x_981);
x_982 = lean_ctor_get(x_980, 1);
@@ -7251,7 +7251,7 @@ x_1251 = lean_ctor_get(x_1245, 1);
lean_inc(x_1251);
lean_dec(x_1245);
x_1252 = l_Lean_Meta_isLevelDefEqAux___closed__7;
-x_1253 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_1252, x_3, x_4, x_5, x_6, x_7, x_1251);
+x_1253 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_1252, x_3, x_4, x_5, x_6, x_7, x_1251);
x_1254 = lean_ctor_get(x_1253, 0);
lean_inc(x_1254);
x_1255 = lean_ctor_get(x_1253, 1);
@@ -7547,7 +7547,7 @@ x_1120 = lean_ctor_get(x_1114, 1);
lean_inc(x_1120);
lean_dec(x_1114);
x_1121 = l_Lean_Meta_isLevelDefEqAux___closed__4;
-x_1122 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_1121, x_3, x_4, x_5, x_6, x_7, x_1120);
+x_1122 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_1121, x_3, x_4, x_5, x_6, x_7, x_1120);
x_1123 = lean_ctor_get(x_1122, 0);
lean_inc(x_1123);
x_1124 = lean_ctor_get(x_1122, 1);
@@ -7785,7 +7785,7 @@ x_1186 = lean_ctor_get(x_1180, 1);
lean_inc(x_1186);
lean_dec(x_1180);
x_1187 = l_Lean_Meta_isLevelDefEqAux___closed__4;
-x_1188 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_1187, x_3, x_4, x_5, x_6, x_7, x_1186);
+x_1188 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_1187, x_3, x_4, x_5, x_6, x_7, x_1186);
x_1189 = lean_ctor_get(x_1188, 0);
lean_inc(x_1189);
x_1190 = lean_ctor_get(x_1188, 1);
@@ -8014,7 +8014,7 @@ x_1459 = lean_ctor_get(x_1453, 1);
lean_inc(x_1459);
lean_dec(x_1453);
x_1460 = l_Lean_Meta_isLevelDefEqAux___closed__7;
-x_1461 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_1460, x_3, x_4, x_5, x_6, x_7, x_1459);
+x_1461 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_1460, x_3, x_4, x_5, x_6, x_7, x_1459);
x_1462 = lean_ctor_get(x_1461, 0);
lean_inc(x_1462);
x_1463 = lean_ctor_get(x_1461, 1);
@@ -8310,7 +8310,7 @@ x_1328 = lean_ctor_get(x_1322, 1);
lean_inc(x_1328);
lean_dec(x_1322);
x_1329 = l_Lean_Meta_isLevelDefEqAux___closed__4;
-x_1330 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_1329, x_3, x_4, x_5, x_6, x_7, x_1328);
+x_1330 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_1329, x_3, x_4, x_5, x_6, x_7, x_1328);
x_1331 = lean_ctor_get(x_1330, 0);
lean_inc(x_1331);
x_1332 = lean_ctor_get(x_1330, 1);
@@ -8548,7 +8548,7 @@ x_1394 = lean_ctor_get(x_1388, 1);
lean_inc(x_1394);
lean_dec(x_1388);
x_1395 = l_Lean_Meta_isLevelDefEqAux___closed__4;
-x_1396 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_1395, x_3, x_4, x_5, x_6, x_7, x_1394);
+x_1396 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_1395, x_3, x_4, x_5, x_6, x_7, x_1394);
x_1397 = lean_ctor_get(x_1396, 0);
lean_inc(x_1397);
x_1398 = lean_ctor_get(x_1396, 1);
@@ -8775,7 +8775,7 @@ x_1667 = lean_ctor_get(x_1661, 1);
lean_inc(x_1667);
lean_dec(x_1661);
x_1668 = l_Lean_Meta_isLevelDefEqAux___closed__7;
-x_1669 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_1668, x_3, x_4, x_5, x_6, x_7, x_1667);
+x_1669 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_1668, x_3, x_4, x_5, x_6, x_7, x_1667);
x_1670 = lean_ctor_get(x_1669, 0);
lean_inc(x_1670);
x_1671 = lean_ctor_get(x_1669, 1);
@@ -9071,7 +9071,7 @@ x_1536 = lean_ctor_get(x_1530, 1);
lean_inc(x_1536);
lean_dec(x_1530);
x_1537 = l_Lean_Meta_isLevelDefEqAux___closed__4;
-x_1538 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_1537, x_3, x_4, x_5, x_6, x_7, x_1536);
+x_1538 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_1537, x_3, x_4, x_5, x_6, x_7, x_1536);
x_1539 = lean_ctor_get(x_1538, 0);
lean_inc(x_1539);
x_1540 = lean_ctor_get(x_1538, 1);
@@ -9309,7 +9309,7 @@ x_1602 = lean_ctor_get(x_1596, 1);
lean_inc(x_1602);
lean_dec(x_1596);
x_1603 = l_Lean_Meta_isLevelDefEqAux___closed__4;
-x_1604 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_1603, x_3, x_4, x_5, x_6, x_7, x_1602);
+x_1604 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_1603, x_3, x_4, x_5, x_6, x_7, x_1602);
x_1605 = lean_ctor_get(x_1604, 0);
lean_inc(x_1605);
x_1606 = lean_ctor_get(x_1604, 1);
@@ -9536,7 +9536,7 @@ x_1875 = lean_ctor_get(x_1869, 1);
lean_inc(x_1875);
lean_dec(x_1869);
x_1876 = l_Lean_Meta_isLevelDefEqAux___closed__7;
-x_1877 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_1876, x_3, x_4, x_5, x_6, x_7, x_1875);
+x_1877 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_1876, x_3, x_4, x_5, x_6, x_7, x_1875);
x_1878 = lean_ctor_get(x_1877, 0);
lean_inc(x_1878);
x_1879 = lean_ctor_get(x_1877, 1);
@@ -9832,7 +9832,7 @@ x_1744 = lean_ctor_get(x_1738, 1);
lean_inc(x_1744);
lean_dec(x_1738);
x_1745 = l_Lean_Meta_isLevelDefEqAux___closed__4;
-x_1746 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_1745, x_3, x_4, x_5, x_6, x_7, x_1744);
+x_1746 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_1745, x_3, x_4, x_5, x_6, x_7, x_1744);
x_1747 = lean_ctor_get(x_1746, 0);
lean_inc(x_1747);
x_1748 = lean_ctor_get(x_1746, 1);
@@ -10070,7 +10070,7 @@ x_1810 = lean_ctor_get(x_1804, 1);
lean_inc(x_1810);
lean_dec(x_1804);
x_1811 = l_Lean_Meta_isLevelDefEqAux___closed__4;
-x_1812 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_1811, x_3, x_4, x_5, x_6, x_7, x_1810);
+x_1812 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_1811, x_3, x_4, x_5, x_6, x_7, x_1810);
x_1813 = lean_ctor_get(x_1812, 0);
lean_inc(x_1813);
x_1814 = lean_ctor_get(x_1812, 1);
@@ -10297,7 +10297,7 @@ x_2083 = lean_ctor_get(x_2077, 1);
lean_inc(x_2083);
lean_dec(x_2077);
x_2084 = l_Lean_Meta_isLevelDefEqAux___closed__7;
-x_2085 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_2084, x_3, x_4, x_5, x_6, x_7, x_2083);
+x_2085 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_2084, x_3, x_4, x_5, x_6, x_7, x_2083);
x_2086 = lean_ctor_get(x_2085, 0);
lean_inc(x_2086);
x_2087 = lean_ctor_get(x_2085, 1);
@@ -10593,7 +10593,7 @@ x_1952 = lean_ctor_get(x_1946, 1);
lean_inc(x_1952);
lean_dec(x_1946);
x_1953 = l_Lean_Meta_isLevelDefEqAux___closed__4;
-x_1954 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_1953, x_3, x_4, x_5, x_6, x_7, x_1952);
+x_1954 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_1953, x_3, x_4, x_5, x_6, x_7, x_1952);
x_1955 = lean_ctor_get(x_1954, 0);
lean_inc(x_1955);
x_1956 = lean_ctor_get(x_1954, 1);
@@ -10831,7 +10831,7 @@ x_2018 = lean_ctor_get(x_2012, 1);
lean_inc(x_2018);
lean_dec(x_2012);
x_2019 = l_Lean_Meta_isLevelDefEqAux___closed__4;
-x_2020 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_2019, x_3, x_4, x_5, x_6, x_7, x_2018);
+x_2020 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_2019, x_3, x_4, x_5, x_6, x_7, x_2018);
x_2021 = lean_ctor_get(x_2020, 0);
lean_inc(x_2021);
x_2022 = lean_ctor_get(x_2020, 1);
@@ -11106,11 +11106,11 @@ lean_dec(x_3);
return x_9;
}
}
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3___boxed(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* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3___boxed(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) {
_start:
{
lean_object* x_8;
-x_8 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7);
+x_8 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
@@ -11479,7 +11479,159 @@ x_2 = lean_alloc_closure((void*)(l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_p
return x_2;
}
}
-lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, size_t x_5, size_t 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* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__1___rarg(lean_object* x_1, lean_object* x_2) {
+_start:
+{
+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; uint8_t x_12;
+x_3 = lean_st_ref_get(x_1, x_2);
+x_4 = lean_ctor_get(x_3, 0);
+lean_inc(x_4);
+x_5 = lean_ctor_get(x_3, 1);
+lean_inc(x_5);
+lean_dec(x_3);
+x_6 = lean_ctor_get(x_4, 3);
+lean_inc(x_6);
+lean_dec(x_4);
+x_7 = lean_ctor_get(x_6, 0);
+lean_inc(x_7);
+lean_dec(x_6);
+x_8 = lean_st_ref_take(x_1, x_5);
+x_9 = lean_ctor_get(x_8, 0);
+lean_inc(x_9);
+x_10 = lean_ctor_get(x_9, 3);
+lean_inc(x_10);
+x_11 = lean_ctor_get(x_8, 1);
+lean_inc(x_11);
+lean_dec(x_8);
+x_12 = !lean_is_exclusive(x_9);
+if (x_12 == 0)
+{
+lean_object* x_13; uint8_t x_14;
+x_13 = lean_ctor_get(x_9, 3);
+lean_dec(x_13);
+x_14 = !lean_is_exclusive(x_10);
+if (x_14 == 0)
+{
+lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18;
+x_15 = lean_ctor_get(x_10, 0);
+lean_dec(x_15);
+x_16 = l_Std_PersistentArray_empty___closed__1;
+lean_ctor_set(x_10, 0, x_16);
+x_17 = lean_st_ref_set(x_1, x_9, x_11);
+x_18 = !lean_is_exclusive(x_17);
+if (x_18 == 0)
+{
+lean_object* x_19;
+x_19 = lean_ctor_get(x_17, 0);
+lean_dec(x_19);
+lean_ctor_set(x_17, 0, x_7);
+return x_17;
+}
+else
+{
+lean_object* x_20; lean_object* x_21;
+x_20 = lean_ctor_get(x_17, 1);
+lean_inc(x_20);
+lean_dec(x_17);
+x_21 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_21, 0, x_7);
+lean_ctor_set(x_21, 1, x_20);
+return x_21;
+}
+}
+else
+{
+uint8_t 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;
+x_22 = lean_ctor_get_uint8(x_10, sizeof(void*)*1);
+lean_dec(x_10);
+x_23 = l_Std_PersistentArray_empty___closed__1;
+x_24 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_24, 0, x_23);
+lean_ctor_set_uint8(x_24, sizeof(void*)*1, x_22);
+lean_ctor_set(x_9, 3, x_24);
+x_25 = lean_st_ref_set(x_1, x_9, x_11);
+x_26 = lean_ctor_get(x_25, 1);
+lean_inc(x_26);
+if (lean_is_exclusive(x_25)) {
+ lean_ctor_release(x_25, 0);
+ lean_ctor_release(x_25, 1);
+ x_27 = x_25;
+} else {
+ lean_dec_ref(x_25);
+ x_27 = lean_box(0);
+}
+if (lean_is_scalar(x_27)) {
+ x_28 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_28 = x_27;
+}
+lean_ctor_set(x_28, 0, x_7);
+lean_ctor_set(x_28, 1, x_26);
+return x_28;
+}
+}
+else
+{
+lean_object* x_29; lean_object* x_30; lean_object* x_31; uint8_t 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;
+x_29 = lean_ctor_get(x_9, 0);
+x_30 = lean_ctor_get(x_9, 1);
+x_31 = lean_ctor_get(x_9, 2);
+lean_inc(x_31);
+lean_inc(x_30);
+lean_inc(x_29);
+lean_dec(x_9);
+x_32 = lean_ctor_get_uint8(x_10, sizeof(void*)*1);
+if (lean_is_exclusive(x_10)) {
+ lean_ctor_release(x_10, 0);
+ x_33 = x_10;
+} else {
+ lean_dec_ref(x_10);
+ x_33 = lean_box(0);
+}
+x_34 = l_Std_PersistentArray_empty___closed__1;
+if (lean_is_scalar(x_33)) {
+ x_35 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_35 = x_33;
+}
+lean_ctor_set(x_35, 0, x_34);
+lean_ctor_set_uint8(x_35, sizeof(void*)*1, x_32);
+x_36 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_36, 0, x_29);
+lean_ctor_set(x_36, 1, x_30);
+lean_ctor_set(x_36, 2, x_31);
+lean_ctor_set(x_36, 3, x_35);
+x_37 = lean_st_ref_set(x_1, x_36, x_11);
+x_38 = lean_ctor_get(x_37, 1);
+lean_inc(x_38);
+if (lean_is_exclusive(x_37)) {
+ lean_ctor_release(x_37, 0);
+ lean_ctor_release(x_37, 1);
+ x_39 = x_37;
+} else {
+ lean_dec_ref(x_37);
+ x_39 = lean_box(0);
+}
+if (lean_is_scalar(x_39)) {
+ x_40 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_40 = x_39;
+}
+lean_ctor_set(x_40, 0, x_7);
+lean_ctor_set(x_40, 1, x_38);
+return x_40;
+}
+}
+}
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
+_start:
+{
+lean_object* x_5;
+x_5 = lean_alloc_closure((void*)(l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__1___rarg___boxed), 2, 0);
+return x_5;
+}
+}
+lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, size_t x_5, size_t 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) {
_start:
{
uint8_t x_14;
@@ -11506,7 +11658,7 @@ x_18 = lean_ctor_get(x_7, 1);
x_19 = lean_ctor_get(x_7, 0);
lean_dec(x_19);
lean_inc(x_1);
-x_20 = l_Std_PersistentArray_forInAux___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__2(x_1, x_2, x_16, x_18, x_8, x_9, x_10, x_11, x_12, x_13);
+x_20 = l_Std_PersistentArray_forInAux___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__3(x_1, x_2, x_16, x_18, x_8, x_9, x_10, x_11, x_12, x_13);
lean_dec(x_16);
if (lean_obj_tag(x_20) == 0)
{
@@ -11603,7 +11755,7 @@ x_39 = lean_ctor_get(x_7, 1);
lean_inc(x_39);
lean_dec(x_7);
lean_inc(x_1);
-x_40 = l_Std_PersistentArray_forInAux___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__2(x_1, x_2, x_16, x_39, x_8, x_9, x_10, x_11, x_12, x_13);
+x_40 = l_Std_PersistentArray_forInAux___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__3(x_1, x_2, x_16, x_39, x_8, x_9, x_10, x_11, x_12, x_13);
lean_dec(x_16);
if (lean_obj_tag(x_40) == 0)
{
@@ -11692,7 +11844,7 @@ return x_57;
}
}
}
-static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__4___closed__1() {
+static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__5___closed__1() {
_start:
{
uint8_t x_1; lean_object* x_2; lean_object* x_3;
@@ -11703,11 +11855,11 @@ lean_ctor_set(x_3, 0, x_2);
return x_3;
}
}
-static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__4___closed__2() {
+static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__5___closed__2() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__4___closed__1;
+x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__5___closed__1;
x_2 = lean_box(0);
x_3 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_3, 0, x_1);
@@ -11715,39 +11867,39 @@ lean_ctor_set(x_3, 1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__4___closed__3() {
+static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__5___closed__3() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__4___closed__2;
+x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__5___closed__2;
x_2 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_2, 0, x_1);
return x_2;
}
}
-static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__4___closed__4() {
+static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__5___closed__4() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__4___closed__3;
+x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__5___closed__3;
x_2 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_2, 0, x_1);
return x_2;
}
}
-static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__4___closed__5() {
+static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__5___closed__5() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__4___closed__4;
-x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__4___closed__2;
+x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__5___closed__4;
+x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__5___closed__2;
x_3 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_3, 0, x_1);
lean_ctor_set(x_3, 1, x_2);
return x_3;
}
}
-lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t 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* l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t 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) {
_start:
{
uint8_t x_13;
@@ -11791,7 +11943,7 @@ if (x_21 == 0)
lean_object* x_22; lean_object* x_23;
x_22 = lean_ctor_get(x_18, 0);
lean_dec(x_22);
-x_23 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__4___closed__5;
+x_23 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__5___closed__5;
lean_ctor_set(x_18, 0, x_23);
return x_18;
}
@@ -11801,7 +11953,7 @@ lean_object* x_24; lean_object* x_25; lean_object* x_26;
x_24 = lean_ctor_get(x_18, 1);
lean_inc(x_24);
lean_dec(x_18);
-x_25 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__4___closed__5;
+x_25 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__5___closed__5;
x_26 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_26, 0, x_25);
lean_ctor_set(x_26, 1, x_24);
@@ -11854,7 +12006,7 @@ return x_35;
}
}
}
-lean_object* l_Std_PersistentArray_forInAux___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__2___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* l_Std_PersistentArray_forInAux___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__3___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) {
_start:
{
lean_object* x_9; lean_object* x_10;
@@ -11866,7 +12018,7 @@ lean_ctor_set(x_10, 1, x_8);
return x_10;
}
}
-lean_object* l_Std_PersistentArray_forInAux___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__2(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* l_Std_PersistentArray_forInAux___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__3(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) {
_start:
{
if (lean_obj_tag(x_3) == 0)
@@ -11881,7 +12033,7 @@ x_14 = lean_array_get_size(x_11);
x_15 = lean_usize_of_nat(x_14);
lean_dec(x_14);
x_16 = 0;
-x_17 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__3(x_1, x_2, x_12, x_11, x_15, x_16, x_13, x_5, x_6, x_7, x_8, x_9, x_10);
+x_17 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__4(x_1, x_2, x_12, x_11, x_15, x_16, x_13, x_5, x_6, x_7, x_8, x_9, x_10);
if (lean_obj_tag(x_17) == 0)
{
lean_object* x_18; lean_object* x_19;
@@ -11899,7 +12051,7 @@ x_21 = lean_ctor_get(x_18, 1);
lean_inc(x_21);
lean_dec(x_18);
x_22 = lean_box(0);
-x_23 = l_Std_PersistentArray_forInAux___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__2___lambda__1(x_21, x_22, x_5, x_6, x_7, x_8, x_9, x_20);
+x_23 = l_Std_PersistentArray_forInAux___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__3___lambda__1(x_21, x_22, x_5, x_6, x_7, x_8, x_9, x_20);
return x_23;
}
else
@@ -11969,7 +12121,7 @@ x_37 = lean_array_get_size(x_34);
x_38 = lean_usize_of_nat(x_37);
lean_dec(x_37);
x_39 = 0;
-x_40 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__4(x_1, x_35, x_34, x_38, x_39, x_36, x_5, x_6, x_7, x_8, x_9, x_10);
+x_40 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__5(x_1, x_35, x_34, x_38, x_39, x_36, x_5, x_6, x_7, x_8, x_9, x_10);
if (lean_obj_tag(x_40) == 0)
{
lean_object* x_41; lean_object* x_42;
@@ -11987,7 +12139,7 @@ x_44 = lean_ctor_get(x_41, 1);
lean_inc(x_44);
lean_dec(x_41);
x_45 = lean_box(0);
-x_46 = l_Std_PersistentArray_forInAux___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__2___lambda__1(x_44, x_45, x_5, x_6, x_7, x_8, x_9, x_43);
+x_46 = l_Std_PersistentArray_forInAux___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__3___lambda__1(x_44, x_45, x_5, x_6, x_7, x_8, x_9, x_43);
return x_46;
}
else
@@ -12047,29 +12199,29 @@ return x_56;
}
}
}
-static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__5___closed__1() {
+static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__6___closed__1() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__4___closed__2;
+x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__5___closed__2;
x_2 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_2, 0, x_1);
return x_2;
}
}
-static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__5___closed__2() {
+static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__6___closed__2() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__5___closed__1;
-x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__4___closed__2;
+x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__6___closed__1;
+x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__5___closed__2;
x_3 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_3, 0, x_1);
lean_ctor_set(x_3, 1, x_2);
return x_3;
}
}
-lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t 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* l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__6(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t 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) {
_start:
{
uint8_t x_13;
@@ -12113,7 +12265,7 @@ if (x_21 == 0)
lean_object* x_22; lean_object* x_23;
x_22 = lean_ctor_get(x_18, 0);
lean_dec(x_22);
-x_23 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__5___closed__2;
+x_23 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__6___closed__2;
lean_ctor_set(x_18, 0, x_23);
return x_18;
}
@@ -12123,7 +12275,7 @@ lean_object* x_24; lean_object* x_25; lean_object* x_26;
x_24 = lean_ctor_get(x_18, 1);
lean_inc(x_24);
lean_dec(x_18);
-x_25 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__5___closed__2;
+x_25 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__6___closed__2;
x_26 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_26, 0, x_25);
lean_ctor_set(x_26, 1, x_24);
@@ -12176,7 +12328,7 @@ return x_35;
}
}
}
-lean_object* l_Std_PersistentArray_forIn___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___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* l_Std_PersistentArray_forIn___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__2___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) {
_start:
{
lean_object* x_9;
@@ -12186,14 +12338,14 @@ lean_ctor_set(x_9, 1, x_8);
return x_9;
}
}
-lean_object* l_Std_PersistentArray_forIn___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__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* l_Std_PersistentArray_forIn___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__2(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) {
_start:
{
lean_object* x_10; lean_object* x_11;
x_10 = lean_ctor_get(x_2, 0);
lean_inc(x_3);
lean_inc(x_1);
-x_11 = l_Std_PersistentArray_forInAux___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__2(x_1, x_3, x_10, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
+x_11 = l_Std_PersistentArray_forInAux___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__3(x_1, x_3, x_10, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
lean_dec(x_3);
if (lean_obj_tag(x_11) == 0)
{
@@ -12249,7 +12401,7 @@ x_24 = lean_array_get_size(x_21);
x_25 = lean_usize_of_nat(x_24);
lean_dec(x_24);
x_26 = 0;
-x_27 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__5(x_1, x_22, x_21, x_25, x_26, x_23, x_4, x_5, x_6, x_7, x_8, x_19);
+x_27 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__6(x_1, x_22, x_21, x_25, x_26, x_23, x_4, x_5, x_6, x_7, x_8, x_19);
if (lean_obj_tag(x_27) == 0)
{
lean_object* x_28; lean_object* x_29;
@@ -12368,159 +12520,7 @@ return x_49;
}
}
}
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__6___rarg(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-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; uint8_t x_12;
-x_3 = lean_st_ref_get(x_1, x_2);
-x_4 = lean_ctor_get(x_3, 0);
-lean_inc(x_4);
-x_5 = lean_ctor_get(x_3, 1);
-lean_inc(x_5);
-lean_dec(x_3);
-x_6 = lean_ctor_get(x_4, 3);
-lean_inc(x_6);
-lean_dec(x_4);
-x_7 = lean_ctor_get(x_6, 0);
-lean_inc(x_7);
-lean_dec(x_6);
-x_8 = lean_st_ref_take(x_1, x_5);
-x_9 = lean_ctor_get(x_8, 0);
-lean_inc(x_9);
-x_10 = lean_ctor_get(x_9, 3);
-lean_inc(x_10);
-x_11 = lean_ctor_get(x_8, 1);
-lean_inc(x_11);
-lean_dec(x_8);
-x_12 = !lean_is_exclusive(x_9);
-if (x_12 == 0)
-{
-lean_object* x_13; uint8_t x_14;
-x_13 = lean_ctor_get(x_9, 3);
-lean_dec(x_13);
-x_14 = !lean_is_exclusive(x_10);
-if (x_14 == 0)
-{
-lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18;
-x_15 = lean_ctor_get(x_10, 0);
-lean_dec(x_15);
-x_16 = l_Std_PersistentArray_empty___closed__1;
-lean_ctor_set(x_10, 0, x_16);
-x_17 = lean_st_ref_set(x_1, x_9, x_11);
-x_18 = !lean_is_exclusive(x_17);
-if (x_18 == 0)
-{
-lean_object* x_19;
-x_19 = lean_ctor_get(x_17, 0);
-lean_dec(x_19);
-lean_ctor_set(x_17, 0, x_7);
-return x_17;
-}
-else
-{
-lean_object* x_20; lean_object* x_21;
-x_20 = lean_ctor_get(x_17, 1);
-lean_inc(x_20);
-lean_dec(x_17);
-x_21 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_21, 0, x_7);
-lean_ctor_set(x_21, 1, x_20);
-return x_21;
-}
-}
-else
-{
-uint8_t 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;
-x_22 = lean_ctor_get_uint8(x_10, sizeof(void*)*1);
-lean_dec(x_10);
-x_23 = l_Std_PersistentArray_empty___closed__1;
-x_24 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_24, 0, x_23);
-lean_ctor_set_uint8(x_24, sizeof(void*)*1, x_22);
-lean_ctor_set(x_9, 3, x_24);
-x_25 = lean_st_ref_set(x_1, x_9, x_11);
-x_26 = lean_ctor_get(x_25, 1);
-lean_inc(x_26);
-if (lean_is_exclusive(x_25)) {
- lean_ctor_release(x_25, 0);
- lean_ctor_release(x_25, 1);
- x_27 = x_25;
-} else {
- lean_dec_ref(x_25);
- x_27 = lean_box(0);
-}
-if (lean_is_scalar(x_27)) {
- x_28 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_28 = x_27;
-}
-lean_ctor_set(x_28, 0, x_7);
-lean_ctor_set(x_28, 1, x_26);
-return x_28;
-}
-}
-else
-{
-lean_object* x_29; lean_object* x_30; lean_object* x_31; uint8_t 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;
-x_29 = lean_ctor_get(x_9, 0);
-x_30 = lean_ctor_get(x_9, 1);
-x_31 = lean_ctor_get(x_9, 2);
-lean_inc(x_31);
-lean_inc(x_30);
-lean_inc(x_29);
-lean_dec(x_9);
-x_32 = lean_ctor_get_uint8(x_10, sizeof(void*)*1);
-if (lean_is_exclusive(x_10)) {
- lean_ctor_release(x_10, 0);
- x_33 = x_10;
-} else {
- lean_dec_ref(x_10);
- x_33 = lean_box(0);
-}
-x_34 = l_Std_PersistentArray_empty___closed__1;
-if (lean_is_scalar(x_33)) {
- x_35 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_35 = x_33;
-}
-lean_ctor_set(x_35, 0, x_34);
-lean_ctor_set_uint8(x_35, sizeof(void*)*1, x_32);
-x_36 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_36, 0, x_29);
-lean_ctor_set(x_36, 1, x_30);
-lean_ctor_set(x_36, 2, x_31);
-lean_ctor_set(x_36, 3, x_35);
-x_37 = lean_st_ref_set(x_1, x_36, x_11);
-x_38 = lean_ctor_get(x_37, 1);
-lean_inc(x_38);
-if (lean_is_exclusive(x_37)) {
- lean_ctor_release(x_37, 0);
- lean_ctor_release(x_37, 1);
- x_39 = x_37;
-} else {
- lean_dec_ref(x_37);
- x_39 = lean_box(0);
-}
-if (lean_is_scalar(x_39)) {
- x_40 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_40 = x_39;
-}
-lean_ctor_set(x_40, 0, x_7);
-lean_ctor_set(x_40, 1, x_38);
-return x_40;
-}
-}
-}
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__6(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
-_start:
-{
-lean_object* x_5;
-x_5 = lean_alloc_closure((void*)(l___private_Lean_Util_Trace_5__getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__6___rarg___boxed), 2, 0);
-return x_5;
-}
-}
-lean_object* l___private_Lean_Util_Trace_4__addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__7(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* l___private_Lean_Util_Trace_0__Lean_addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__7(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) {
_start:
{
lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14;
@@ -12551,7 +12551,7 @@ x_19 = l_Std_PersistentArray_toArray___rarg(x_17);
lean_dec(x_17);
x_20 = x_19;
x_21 = lean_unsigned_to_nat(0u);
-x_22 = l_Array_umapMAux___main___at___private_Lean_Util_Trace_4__addNode___spec__1(x_21, x_20);
+x_22 = l_Array_umapMAux___main___at___private_Lean_Util_Trace_0__Lean_addNode___spec__1(x_21, x_20);
x_23 = x_22;
x_24 = lean_alloc_ctor(12, 1, 0);
lean_ctor_set(x_24, 0, x_23);
@@ -12634,7 +12634,7 @@ x_45 = l_Std_PersistentArray_toArray___rarg(x_43);
lean_dec(x_43);
x_46 = x_45;
x_47 = lean_unsigned_to_nat(0u);
-x_48 = l_Array_umapMAux___main___at___private_Lean_Util_Trace_4__addNode___spec__1(x_47, x_46);
+x_48 = l_Array_umapMAux___main___at___private_Lean_Util_Trace_0__Lean_addNode___spec__1(x_47, x_46);
x_49 = x_48;
x_50 = lean_alloc_ctor(12, 1, 0);
lean_ctor_set(x_50, 0, x_49);
@@ -12731,7 +12731,7 @@ x_73 = l_Std_PersistentArray_toArray___rarg(x_70);
lean_dec(x_70);
x_74 = x_73;
x_75 = lean_unsigned_to_nat(0u);
-x_76 = l_Array_umapMAux___main___at___private_Lean_Util_Trace_4__addNode___spec__1(x_75, x_74);
+x_76 = l_Array_umapMAux___main___at___private_Lean_Util_Trace_0__Lean_addNode___spec__1(x_75, x_74);
x_77 = x_76;
x_78 = lean_alloc_ctor(12, 1, 0);
lean_ctor_set(x_78, 0, x_77);
@@ -12817,7 +12817,7 @@ return x_95;
}
}
}
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__8(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* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__8(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) {
_start:
{
lean_object* x_8; uint8_t x_9; lean_object* x_10; lean_object* x_11;
@@ -12893,1202 +12893,1241 @@ return x_1;
lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
-uint8_t x_7; lean_object* x_8; lean_object* x_308; lean_object* x_309; lean_object* x_310; uint8_t x_311;
-x_308 = lean_st_ref_get(x_5, x_6);
-x_309 = lean_ctor_get(x_308, 0);
-lean_inc(x_309);
-x_310 = lean_ctor_get(x_309, 3);
-lean_inc(x_310);
-lean_dec(x_309);
-x_311 = lean_ctor_get_uint8(x_310, sizeof(void*)*1);
-lean_dec(x_310);
-if (x_311 == 0)
+uint8_t x_7; lean_object* x_8; lean_object* x_312; lean_object* x_313; lean_object* x_314; uint8_t x_315;
+x_312 = lean_st_ref_get(x_5, x_6);
+x_313 = lean_ctor_get(x_312, 0);
+lean_inc(x_313);
+x_314 = lean_ctor_get(x_313, 3);
+lean_inc(x_314);
+lean_dec(x_313);
+x_315 = lean_ctor_get_uint8(x_314, sizeof(void*)*1);
+lean_dec(x_314);
+if (x_315 == 0)
{
-lean_object* x_312; uint8_t x_313;
-x_312 = lean_ctor_get(x_308, 1);
-lean_inc(x_312);
-lean_dec(x_308);
-x_313 = 0;
-x_7 = x_313;
-x_8 = x_312;
-goto block_307;
+lean_object* x_316; uint8_t x_317;
+x_316 = lean_ctor_get(x_312, 1);
+lean_inc(x_316);
+lean_dec(x_312);
+x_317 = 0;
+x_7 = x_317;
+x_8 = x_316;
+goto block_311;
}
else
{
-lean_object* x_314; lean_object* x_315; lean_object* x_316; lean_object* x_317; lean_object* x_318; uint8_t x_319;
-x_314 = lean_ctor_get(x_308, 1);
-lean_inc(x_314);
-lean_dec(x_308);
-x_315 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__3;
-x_316 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__8(x_315, x_1, x_2, x_3, x_4, x_5, x_314);
-x_317 = lean_ctor_get(x_316, 0);
-lean_inc(x_317);
-x_318 = lean_ctor_get(x_316, 1);
+lean_object* x_318; lean_object* x_319; lean_object* x_320; lean_object* x_321; lean_object* x_322; uint8_t x_323;
+x_318 = lean_ctor_get(x_312, 1);
lean_inc(x_318);
-lean_dec(x_316);
-x_319 = lean_unbox(x_317);
-lean_dec(x_317);
-x_7 = x_319;
-x_8 = x_318;
-goto block_307;
+lean_dec(x_312);
+x_319 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__3;
+x_320 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__8(x_319, x_1, x_2, x_3, x_4, x_5, x_318);
+x_321 = lean_ctor_get(x_320, 0);
+lean_inc(x_321);
+x_322 = lean_ctor_get(x_320, 1);
+lean_inc(x_322);
+lean_dec(x_320);
+x_323 = lean_unbox(x_321);
+lean_dec(x_321);
+x_7 = x_323;
+x_8 = x_322;
+goto block_311;
}
-block_307:
+block_311:
{
+uint8_t x_9;
if (x_7 == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18;
-x_9 = lean_st_ref_get(x_5, x_8);
-x_10 = lean_ctor_get(x_9, 0);
+uint8_t x_309;
+x_309 = 1;
+x_9 = x_309;
+goto block_308;
+}
+else
+{
+uint8_t x_310;
+x_310 = 0;
+x_9 = x_310;
+goto block_308;
+}
+block_308:
+{
+if (x_9 == 0)
+{
+lean_object* x_10; lean_object* 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;
+x_10 = lean_ctor_get(x_4, 3);
lean_inc(x_10);
-x_11 = lean_ctor_get(x_10, 3);
-lean_inc(x_11);
-lean_dec(x_10);
-x_12 = lean_ctor_get(x_9, 1);
+x_11 = l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__1___rarg(x_5, x_8);
+x_12 = lean_ctor_get(x_11, 0);
lean_inc(x_12);
-lean_dec(x_9);
-x_13 = lean_ctor_get_uint8(x_11, sizeof(void*)*1);
+x_13 = lean_ctor_get(x_11, 1);
+lean_inc(x_13);
lean_dec(x_11);
-x_14 = lean_st_ref_take(x_5, x_12);
+x_14 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_getResetPostponed(x_1, x_2, x_3, x_4, x_5, x_13);
x_15 = lean_ctor_get(x_14, 0);
lean_inc(x_15);
-x_16 = lean_ctor_get(x_15, 3);
+x_16 = lean_ctor_get(x_14, 1);
lean_inc(x_16);
-x_17 = lean_ctor_get(x_14, 1);
-lean_inc(x_17);
lean_dec(x_14);
-x_18 = !lean_is_exclusive(x_15);
-if (x_18 == 0)
-{
-lean_object* x_19; uint8_t x_20;
-x_19 = lean_ctor_get(x_15, 3);
-lean_dec(x_19);
-x_20 = !lean_is_exclusive(x_16);
-if (x_20 == 0)
-{
-uint8_t x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; lean_object* x_62; lean_object* x_63; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100;
-x_21 = 0;
-lean_ctor_set_uint8(x_16, sizeof(void*)*1, x_21);
-x_22 = lean_st_ref_set(x_5, x_15, x_17);
-x_23 = lean_ctor_get(x_22, 1);
-lean_inc(x_23);
-lean_dec(x_22);
-x_96 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_getResetPostponed(x_1, x_2, x_3, x_4, x_5, x_23);
-x_97 = lean_ctor_get(x_96, 0);
-lean_inc(x_97);
-x_98 = lean_ctor_get(x_96, 1);
-lean_inc(x_98);
-lean_dec(x_96);
-x_99 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__4;
-x_100 = l_Std_PersistentArray_forIn___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__1(x_99, x_97, x_99, x_1, x_2, x_3, x_4, x_5, x_98);
-lean_dec(x_97);
-if (lean_obj_tag(x_100) == 0)
-{
-lean_object* x_101; lean_object* x_102;
-x_101 = lean_ctor_get(x_100, 0);
-lean_inc(x_101);
-x_102 = lean_ctor_get(x_101, 0);
-lean_inc(x_102);
-if (lean_obj_tag(x_102) == 0)
-{
-lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106;
-x_103 = lean_ctor_get(x_100, 1);
-lean_inc(x_103);
-lean_dec(x_100);
-x_104 = lean_ctor_get(x_101, 1);
-lean_inc(x_104);
-lean_dec(x_101);
-x_105 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__5;
-lean_inc(x_5);
-x_106 = lean_apply_7(x_105, x_104, x_1, x_2, x_3, x_4, x_5, x_103);
-if (lean_obj_tag(x_106) == 0)
-{
-lean_object* x_107; lean_object* x_108; uint8_t x_109;
-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_24 = x_109;
-x_25 = x_108;
-goto block_61;
-}
-else
-{
-lean_object* x_110; lean_object* x_111;
-x_110 = lean_ctor_get(x_106, 0);
-lean_inc(x_110);
-x_111 = lean_ctor_get(x_106, 1);
-lean_inc(x_111);
-lean_dec(x_106);
-x_62 = x_110;
-x_63 = x_111;
-goto block_95;
-}
-}
-else
-{
-lean_object* x_112; lean_object* x_113; uint8_t x_114;
-lean_dec(x_101);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_dec(x_1);
-x_112 = lean_ctor_get(x_100, 1);
-lean_inc(x_112);
-lean_dec(x_100);
-x_113 = lean_ctor_get(x_102, 0);
-lean_inc(x_113);
-lean_dec(x_102);
-x_114 = lean_unbox(x_113);
-lean_dec(x_113);
-x_24 = x_114;
-x_25 = x_112;
-goto block_61;
-}
-}
-else
-{
-lean_object* x_115; lean_object* x_116;
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_dec(x_1);
-x_115 = lean_ctor_get(x_100, 0);
-lean_inc(x_115);
-x_116 = lean_ctor_get(x_100, 1);
-lean_inc(x_116);
-lean_dec(x_100);
-x_62 = x_115;
-x_63 = x_116;
-goto block_95;
-}
-block_61:
-{
-lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; uint8_t x_32;
-x_26 = lean_st_ref_get(x_5, x_25);
-x_27 = lean_ctor_get(x_26, 1);
-lean_inc(x_27);
-lean_dec(x_26);
-x_28 = lean_st_ref_take(x_5, x_27);
-x_29 = lean_ctor_get(x_28, 0);
-lean_inc(x_29);
-x_30 = lean_ctor_get(x_29, 3);
-lean_inc(x_30);
-x_31 = lean_ctor_get(x_28, 1);
-lean_inc(x_31);
-lean_dec(x_28);
-x_32 = !lean_is_exclusive(x_29);
-if (x_32 == 0)
-{
-lean_object* x_33; uint8_t x_34;
-x_33 = lean_ctor_get(x_29, 3);
-lean_dec(x_33);
-x_34 = !lean_is_exclusive(x_30);
-if (x_34 == 0)
-{
-lean_object* x_35; uint8_t x_36;
-lean_ctor_set_uint8(x_30, sizeof(void*)*1, x_13);
-x_35 = lean_st_ref_set(x_5, x_29, x_31);
-lean_dec(x_5);
-x_36 = !lean_is_exclusive(x_35);
-if (x_36 == 0)
-{
-lean_object* x_37; lean_object* x_38;
-x_37 = lean_ctor_get(x_35, 0);
-lean_dec(x_37);
-x_38 = lean_box(x_24);
-lean_ctor_set(x_35, 0, x_38);
-return x_35;
-}
-else
-{
-lean_object* x_39; lean_object* x_40; lean_object* x_41;
-x_39 = lean_ctor_get(x_35, 1);
-lean_inc(x_39);
-lean_dec(x_35);
-x_40 = lean_box(x_24);
-x_41 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_41, 0, x_40);
-lean_ctor_set(x_41, 1, x_39);
-return x_41;
-}
-}
-else
-{
-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;
-x_42 = lean_ctor_get(x_30, 0);
-lean_inc(x_42);
-lean_dec(x_30);
-x_43 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_43, 0, x_42);
-lean_ctor_set_uint8(x_43, sizeof(void*)*1, x_13);
-lean_ctor_set(x_29, 3, x_43);
-x_44 = lean_st_ref_set(x_5, x_29, x_31);
-lean_dec(x_5);
-x_45 = lean_ctor_get(x_44, 1);
-lean_inc(x_45);
-if (lean_is_exclusive(x_44)) {
- lean_ctor_release(x_44, 0);
- lean_ctor_release(x_44, 1);
- x_46 = x_44;
-} else {
- lean_dec_ref(x_44);
- x_46 = lean_box(0);
-}
-x_47 = lean_box(x_24);
-if (lean_is_scalar(x_46)) {
- x_48 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_48 = x_46;
-}
-lean_ctor_set(x_48, 0, x_47);
-lean_ctor_set(x_48, 1, x_45);
-return x_48;
-}
-}
-else
-{
-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;
-x_49 = lean_ctor_get(x_29, 0);
-x_50 = lean_ctor_get(x_29, 1);
-x_51 = lean_ctor_get(x_29, 2);
-lean_inc(x_51);
-lean_inc(x_50);
-lean_inc(x_49);
-lean_dec(x_29);
-x_52 = lean_ctor_get(x_30, 0);
-lean_inc(x_52);
-if (lean_is_exclusive(x_30)) {
- lean_ctor_release(x_30, 0);
- x_53 = x_30;
-} else {
- lean_dec_ref(x_30);
- x_53 = lean_box(0);
-}
-if (lean_is_scalar(x_53)) {
- x_54 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_54 = x_53;
-}
-lean_ctor_set(x_54, 0, x_52);
-lean_ctor_set_uint8(x_54, sizeof(void*)*1, x_13);
-x_55 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_55, 0, x_49);
-lean_ctor_set(x_55, 1, x_50);
-lean_ctor_set(x_55, 2, x_51);
-lean_ctor_set(x_55, 3, x_54);
-x_56 = lean_st_ref_set(x_5, x_55, x_31);
-lean_dec(x_5);
-x_57 = lean_ctor_get(x_56, 1);
-lean_inc(x_57);
-if (lean_is_exclusive(x_56)) {
- lean_ctor_release(x_56, 0);
- lean_ctor_release(x_56, 1);
- x_58 = x_56;
-} else {
- lean_dec_ref(x_56);
- x_58 = lean_box(0);
-}
-x_59 = lean_box(x_24);
-if (lean_is_scalar(x_58)) {
- x_60 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_60 = x_58;
-}
-lean_ctor_set(x_60, 0, x_59);
-lean_ctor_set(x_60, 1, x_57);
-return x_60;
-}
-}
-block_95:
-{
-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;
-x_64 = lean_st_ref_get(x_5, x_63);
-x_65 = lean_ctor_get(x_64, 1);
-lean_inc(x_65);
-lean_dec(x_64);
-x_66 = lean_st_ref_take(x_5, x_65);
-x_67 = lean_ctor_get(x_66, 0);
-lean_inc(x_67);
-x_68 = lean_ctor_get(x_67, 3);
-lean_inc(x_68);
-x_69 = lean_ctor_get(x_66, 1);
-lean_inc(x_69);
-lean_dec(x_66);
-x_70 = !lean_is_exclusive(x_67);
-if (x_70 == 0)
-{
-lean_object* x_71; uint8_t x_72;
-x_71 = lean_ctor_get(x_67, 3);
-lean_dec(x_71);
-x_72 = !lean_is_exclusive(x_68);
-if (x_72 == 0)
-{
-lean_object* x_73; uint8_t x_74;
-lean_ctor_set_uint8(x_68, sizeof(void*)*1, x_13);
-x_73 = lean_st_ref_set(x_5, x_67, x_69);
-lean_dec(x_5);
-x_74 = !lean_is_exclusive(x_73);
-if (x_74 == 0)
-{
-lean_object* x_75;
-x_75 = lean_ctor_get(x_73, 0);
-lean_dec(x_75);
-lean_ctor_set_tag(x_73, 1);
-lean_ctor_set(x_73, 0, x_62);
-return x_73;
-}
-else
-{
-lean_object* x_76; lean_object* x_77;
-x_76 = lean_ctor_get(x_73, 1);
-lean_inc(x_76);
-lean_dec(x_73);
-x_77 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_77, 0, x_62);
-lean_ctor_set(x_77, 1, x_76);
-return x_77;
-}
-}
-else
-{
-lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83;
-x_78 = lean_ctor_get(x_68, 0);
-lean_inc(x_78);
-lean_dec(x_68);
-x_79 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_79, 0, x_78);
-lean_ctor_set_uint8(x_79, sizeof(void*)*1, x_13);
-lean_ctor_set(x_67, 3, x_79);
-x_80 = lean_st_ref_set(x_5, x_67, x_69);
-lean_dec(x_5);
-x_81 = lean_ctor_get(x_80, 1);
-lean_inc(x_81);
-if (lean_is_exclusive(x_80)) {
- lean_ctor_release(x_80, 0);
- lean_ctor_release(x_80, 1);
- x_82 = x_80;
-} else {
- lean_dec_ref(x_80);
- x_82 = lean_box(0);
-}
-if (lean_is_scalar(x_82)) {
- x_83 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_83 = x_82;
- lean_ctor_set_tag(x_83, 1);
-}
-lean_ctor_set(x_83, 0, x_62);
-lean_ctor_set(x_83, 1, x_81);
-return x_83;
-}
-}
-else
-{
-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;
-x_84 = lean_ctor_get(x_67, 0);
-x_85 = lean_ctor_get(x_67, 1);
-x_86 = lean_ctor_get(x_67, 2);
-lean_inc(x_86);
-lean_inc(x_85);
-lean_inc(x_84);
-lean_dec(x_67);
-x_87 = lean_ctor_get(x_68, 0);
-lean_inc(x_87);
-if (lean_is_exclusive(x_68)) {
- lean_ctor_release(x_68, 0);
- x_88 = x_68;
-} else {
- lean_dec_ref(x_68);
- x_88 = lean_box(0);
-}
-if (lean_is_scalar(x_88)) {
- x_89 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_89 = x_88;
-}
-lean_ctor_set(x_89, 0, x_87);
-lean_ctor_set_uint8(x_89, sizeof(void*)*1, x_13);
-x_90 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_90, 0, x_84);
-lean_ctor_set(x_90, 1, x_85);
-lean_ctor_set(x_90, 2, x_86);
-lean_ctor_set(x_90, 3, x_89);
-x_91 = lean_st_ref_set(x_5, x_90, x_69);
-lean_dec(x_5);
-x_92 = lean_ctor_get(x_91, 1);
-lean_inc(x_92);
-if (lean_is_exclusive(x_91)) {
- lean_ctor_release(x_91, 0);
- lean_ctor_release(x_91, 1);
- x_93 = x_91;
-} else {
- lean_dec_ref(x_91);
- x_93 = lean_box(0);
-}
-if (lean_is_scalar(x_93)) {
- x_94 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_94 = x_93;
- lean_ctor_set_tag(x_94, 1);
-}
-lean_ctor_set(x_94, 0, x_62);
-lean_ctor_set(x_94, 1, x_92);
-return x_94;
-}
-}
-}
-else
-{
-lean_object* x_117; uint8_t x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; uint8_t x_122; lean_object* x_123; lean_object* x_144; lean_object* x_145; lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169;
-x_117 = lean_ctor_get(x_16, 0);
-lean_inc(x_117);
-lean_dec(x_16);
-x_118 = 0;
-x_119 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_119, 0, x_117);
-lean_ctor_set_uint8(x_119, sizeof(void*)*1, x_118);
-lean_ctor_set(x_15, 3, x_119);
-x_120 = lean_st_ref_set(x_5, x_15, x_17);
-x_121 = lean_ctor_get(x_120, 1);
-lean_inc(x_121);
-lean_dec(x_120);
-x_165 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_getResetPostponed(x_1, x_2, x_3, x_4, x_5, x_121);
-x_166 = lean_ctor_get(x_165, 0);
-lean_inc(x_166);
-x_167 = lean_ctor_get(x_165, 1);
-lean_inc(x_167);
-lean_dec(x_165);
-x_168 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__4;
-x_169 = l_Std_PersistentArray_forIn___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__1(x_168, x_166, x_168, x_1, x_2, x_3, x_4, x_5, x_167);
-lean_dec(x_166);
-if (lean_obj_tag(x_169) == 0)
-{
-lean_object* x_170; lean_object* x_171;
-x_170 = lean_ctor_get(x_169, 0);
-lean_inc(x_170);
-x_171 = lean_ctor_get(x_170, 0);
-lean_inc(x_171);
-if (lean_obj_tag(x_171) == 0)
-{
-lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175;
-x_172 = lean_ctor_get(x_169, 1);
-lean_inc(x_172);
-lean_dec(x_169);
-x_173 = lean_ctor_get(x_170, 1);
-lean_inc(x_173);
-lean_dec(x_170);
-x_174 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__5;
-lean_inc(x_5);
-x_175 = lean_apply_7(x_174, x_173, x_1, x_2, x_3, x_4, x_5, x_172);
-if (lean_obj_tag(x_175) == 0)
-{
-lean_object* x_176; lean_object* x_177; uint8_t x_178;
-x_176 = lean_ctor_get(x_175, 0);
-lean_inc(x_176);
-x_177 = lean_ctor_get(x_175, 1);
-lean_inc(x_177);
-lean_dec(x_175);
-x_178 = lean_unbox(x_176);
-lean_dec(x_176);
-x_122 = x_178;
-x_123 = x_177;
-goto block_143;
-}
-else
-{
-lean_object* x_179; lean_object* x_180;
-x_179 = lean_ctor_get(x_175, 0);
-lean_inc(x_179);
-x_180 = lean_ctor_get(x_175, 1);
-lean_inc(x_180);
-lean_dec(x_175);
-x_144 = x_179;
-x_145 = x_180;
-goto block_164;
-}
-}
-else
-{
-lean_object* x_181; lean_object* x_182; uint8_t x_183;
-lean_dec(x_170);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_dec(x_1);
-x_181 = lean_ctor_get(x_169, 1);
-lean_inc(x_181);
-lean_dec(x_169);
-x_182 = lean_ctor_get(x_171, 0);
-lean_inc(x_182);
-lean_dec(x_171);
-x_183 = lean_unbox(x_182);
-lean_dec(x_182);
-x_122 = x_183;
-x_123 = x_181;
-goto block_143;
-}
-}
-else
-{
-lean_object* x_184; lean_object* x_185;
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_dec(x_1);
-x_184 = lean_ctor_get(x_169, 0);
-lean_inc(x_184);
-x_185 = lean_ctor_get(x_169, 1);
-lean_inc(x_185);
-lean_dec(x_169);
-x_144 = x_184;
-x_145 = x_185;
-goto block_164;
-}
-block_143:
-{
-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; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142;
-x_124 = lean_st_ref_get(x_5, x_123);
-x_125 = lean_ctor_get(x_124, 1);
-lean_inc(x_125);
-lean_dec(x_124);
-x_126 = lean_st_ref_take(x_5, x_125);
-x_127 = lean_ctor_get(x_126, 0);
-lean_inc(x_127);
-x_128 = lean_ctor_get(x_127, 3);
-lean_inc(x_128);
-x_129 = lean_ctor_get(x_126, 1);
-lean_inc(x_129);
-lean_dec(x_126);
-x_130 = lean_ctor_get(x_127, 0);
-lean_inc(x_130);
-x_131 = lean_ctor_get(x_127, 1);
-lean_inc(x_131);
-x_132 = lean_ctor_get(x_127, 2);
-lean_inc(x_132);
-if (lean_is_exclusive(x_127)) {
- lean_ctor_release(x_127, 0);
- lean_ctor_release(x_127, 1);
- lean_ctor_release(x_127, 2);
- lean_ctor_release(x_127, 3);
- x_133 = x_127;
-} else {
- lean_dec_ref(x_127);
- x_133 = lean_box(0);
-}
-x_134 = lean_ctor_get(x_128, 0);
-lean_inc(x_134);
-if (lean_is_exclusive(x_128)) {
- lean_ctor_release(x_128, 0);
- x_135 = x_128;
-} else {
- lean_dec_ref(x_128);
- x_135 = lean_box(0);
-}
-if (lean_is_scalar(x_135)) {
- x_136 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_136 = x_135;
-}
-lean_ctor_set(x_136, 0, x_134);
-lean_ctor_set_uint8(x_136, sizeof(void*)*1, x_13);
-if (lean_is_scalar(x_133)) {
- x_137 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_137 = x_133;
-}
-lean_ctor_set(x_137, 0, x_130);
-lean_ctor_set(x_137, 1, x_131);
-lean_ctor_set(x_137, 2, x_132);
-lean_ctor_set(x_137, 3, x_136);
-x_138 = lean_st_ref_set(x_5, x_137, x_129);
-lean_dec(x_5);
-x_139 = lean_ctor_get(x_138, 1);
-lean_inc(x_139);
-if (lean_is_exclusive(x_138)) {
- lean_ctor_release(x_138, 0);
- lean_ctor_release(x_138, 1);
- x_140 = x_138;
-} else {
- lean_dec_ref(x_138);
- x_140 = lean_box(0);
-}
-x_141 = lean_box(x_122);
-if (lean_is_scalar(x_140)) {
- x_142 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_142 = x_140;
-}
-lean_ctor_set(x_142, 0, x_141);
-lean_ctor_set(x_142, 1, x_139);
-return x_142;
-}
-block_164:
-{
-lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163;
-x_146 = lean_st_ref_get(x_5, x_145);
-x_147 = lean_ctor_get(x_146, 1);
-lean_inc(x_147);
-lean_dec(x_146);
-x_148 = lean_st_ref_take(x_5, x_147);
-x_149 = lean_ctor_get(x_148, 0);
-lean_inc(x_149);
-x_150 = lean_ctor_get(x_149, 3);
-lean_inc(x_150);
-x_151 = lean_ctor_get(x_148, 1);
-lean_inc(x_151);
-lean_dec(x_148);
-x_152 = lean_ctor_get(x_149, 0);
-lean_inc(x_152);
-x_153 = lean_ctor_get(x_149, 1);
-lean_inc(x_153);
-x_154 = lean_ctor_get(x_149, 2);
-lean_inc(x_154);
-if (lean_is_exclusive(x_149)) {
- lean_ctor_release(x_149, 0);
- lean_ctor_release(x_149, 1);
- lean_ctor_release(x_149, 2);
- lean_ctor_release(x_149, 3);
- x_155 = x_149;
-} else {
- lean_dec_ref(x_149);
- x_155 = lean_box(0);
-}
-x_156 = lean_ctor_get(x_150, 0);
-lean_inc(x_156);
-if (lean_is_exclusive(x_150)) {
- lean_ctor_release(x_150, 0);
- x_157 = x_150;
-} else {
- lean_dec_ref(x_150);
- x_157 = lean_box(0);
-}
-if (lean_is_scalar(x_157)) {
- x_158 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_158 = x_157;
-}
-lean_ctor_set(x_158, 0, x_156);
-lean_ctor_set_uint8(x_158, sizeof(void*)*1, x_13);
-if (lean_is_scalar(x_155)) {
- x_159 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_159 = x_155;
-}
-lean_ctor_set(x_159, 0, x_152);
-lean_ctor_set(x_159, 1, x_153);
-lean_ctor_set(x_159, 2, x_154);
-lean_ctor_set(x_159, 3, x_158);
-x_160 = lean_st_ref_set(x_5, x_159, x_151);
-lean_dec(x_5);
-x_161 = lean_ctor_get(x_160, 1);
-lean_inc(x_161);
-if (lean_is_exclusive(x_160)) {
- lean_ctor_release(x_160, 0);
- lean_ctor_release(x_160, 1);
- x_162 = x_160;
-} else {
- lean_dec_ref(x_160);
- x_162 = lean_box(0);
-}
-if (lean_is_scalar(x_162)) {
- x_163 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_163 = x_162;
- lean_ctor_set_tag(x_163, 1);
-}
-lean_ctor_set(x_163, 0, x_144);
-lean_ctor_set(x_163, 1, x_161);
-return x_163;
-}
-}
-}
-else
-{
-lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; uint8_t x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; uint8_t x_196; lean_object* x_197; lean_object* x_218; lean_object* x_219; lean_object* x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243;
-x_186 = lean_ctor_get(x_15, 0);
-x_187 = lean_ctor_get(x_15, 1);
-x_188 = lean_ctor_get(x_15, 2);
-lean_inc(x_188);
-lean_inc(x_187);
-lean_inc(x_186);
+x_17 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__4;
+x_18 = l_Std_PersistentArray_forIn___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__2(x_17, x_15, x_17, x_1, x_2, x_3, x_4, x_5, x_16);
lean_dec(x_15);
-x_189 = lean_ctor_get(x_16, 0);
-lean_inc(x_189);
-if (lean_is_exclusive(x_16)) {
- lean_ctor_release(x_16, 0);
- x_190 = x_16;
-} else {
- lean_dec_ref(x_16);
- x_190 = lean_box(0);
-}
-x_191 = 0;
-if (lean_is_scalar(x_190)) {
- x_192 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_192 = x_190;
-}
-lean_ctor_set(x_192, 0, x_189);
-lean_ctor_set_uint8(x_192, sizeof(void*)*1, x_191);
-x_193 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_193, 0, x_186);
-lean_ctor_set(x_193, 1, x_187);
-lean_ctor_set(x_193, 2, x_188);
-lean_ctor_set(x_193, 3, x_192);
-x_194 = lean_st_ref_set(x_5, x_193, x_17);
-x_195 = lean_ctor_get(x_194, 1);
-lean_inc(x_195);
-lean_dec(x_194);
-x_239 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_getResetPostponed(x_1, x_2, x_3, x_4, x_5, x_195);
-x_240 = lean_ctor_get(x_239, 0);
-lean_inc(x_240);
-x_241 = lean_ctor_get(x_239, 1);
-lean_inc(x_241);
-lean_dec(x_239);
-x_242 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__4;
-x_243 = l_Std_PersistentArray_forIn___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__1(x_242, x_240, x_242, x_1, x_2, x_3, x_4, x_5, x_241);
-lean_dec(x_240);
-if (lean_obj_tag(x_243) == 0)
+if (lean_obj_tag(x_18) == 0)
{
-lean_object* x_244; lean_object* x_245;
-x_244 = lean_ctor_get(x_243, 0);
-lean_inc(x_244);
-x_245 = lean_ctor_get(x_244, 0);
-lean_inc(x_245);
-if (lean_obj_tag(x_245) == 0)
+lean_object* x_19; lean_object* x_20;
+x_19 = lean_ctor_get(x_18, 0);
+lean_inc(x_19);
+x_20 = lean_ctor_get(x_19, 0);
+lean_inc(x_20);
+if (lean_obj_tag(x_20) == 0)
{
-lean_object* x_246; lean_object* x_247; lean_object* x_248; lean_object* x_249;
-x_246 = lean_ctor_get(x_243, 1);
-lean_inc(x_246);
-lean_dec(x_243);
-x_247 = lean_ctor_get(x_244, 1);
-lean_inc(x_247);
-lean_dec(x_244);
-x_248 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__5;
-lean_inc(x_5);
-x_249 = lean_apply_7(x_248, x_247, x_1, x_2, x_3, x_4, x_5, x_246);
-if (lean_obj_tag(x_249) == 0)
-{
-lean_object* x_250; lean_object* x_251; uint8_t x_252;
-x_250 = lean_ctor_get(x_249, 0);
-lean_inc(x_250);
-x_251 = lean_ctor_get(x_249, 1);
-lean_inc(x_251);
-lean_dec(x_249);
-x_252 = lean_unbox(x_250);
-lean_dec(x_250);
-x_196 = x_252;
-x_197 = x_251;
-goto block_217;
-}
-else
-{
-lean_object* x_253; lean_object* x_254;
-x_253 = lean_ctor_get(x_249, 0);
-lean_inc(x_253);
-x_254 = lean_ctor_get(x_249, 1);
-lean_inc(x_254);
-lean_dec(x_249);
-x_218 = x_253;
-x_219 = x_254;
-goto block_238;
-}
-}
-else
-{
-lean_object* x_255; lean_object* x_256; uint8_t x_257;
-lean_dec(x_244);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_dec(x_1);
-x_255 = lean_ctor_get(x_243, 1);
-lean_inc(x_255);
-lean_dec(x_243);
-x_256 = lean_ctor_get(x_245, 0);
-lean_inc(x_256);
-lean_dec(x_245);
-x_257 = lean_unbox(x_256);
-lean_dec(x_256);
-x_196 = x_257;
-x_197 = x_255;
-goto block_217;
-}
-}
-else
-{
-lean_object* x_258; lean_object* x_259;
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_dec(x_1);
-x_258 = lean_ctor_get(x_243, 0);
-lean_inc(x_258);
-x_259 = lean_ctor_get(x_243, 1);
-lean_inc(x_259);
-lean_dec(x_243);
-x_218 = x_258;
-x_219 = x_259;
-goto block_238;
-}
-block_217:
-{
-lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214; lean_object* x_215; lean_object* x_216;
-x_198 = lean_st_ref_get(x_5, x_197);
-x_199 = lean_ctor_get(x_198, 1);
-lean_inc(x_199);
-lean_dec(x_198);
-x_200 = lean_st_ref_take(x_5, x_199);
-x_201 = lean_ctor_get(x_200, 0);
-lean_inc(x_201);
-x_202 = lean_ctor_get(x_201, 3);
-lean_inc(x_202);
-x_203 = lean_ctor_get(x_200, 1);
-lean_inc(x_203);
-lean_dec(x_200);
-x_204 = lean_ctor_get(x_201, 0);
-lean_inc(x_204);
-x_205 = lean_ctor_get(x_201, 1);
-lean_inc(x_205);
-x_206 = lean_ctor_get(x_201, 2);
-lean_inc(x_206);
-if (lean_is_exclusive(x_201)) {
- lean_ctor_release(x_201, 0);
- lean_ctor_release(x_201, 1);
- lean_ctor_release(x_201, 2);
- lean_ctor_release(x_201, 3);
- x_207 = x_201;
-} else {
- lean_dec_ref(x_201);
- x_207 = lean_box(0);
-}
-x_208 = lean_ctor_get(x_202, 0);
-lean_inc(x_208);
-if (lean_is_exclusive(x_202)) {
- lean_ctor_release(x_202, 0);
- x_209 = x_202;
-} else {
- lean_dec_ref(x_202);
- x_209 = lean_box(0);
-}
-if (lean_is_scalar(x_209)) {
- x_210 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_210 = x_209;
-}
-lean_ctor_set(x_210, 0, x_208);
-lean_ctor_set_uint8(x_210, sizeof(void*)*1, x_13);
-if (lean_is_scalar(x_207)) {
- x_211 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_211 = x_207;
-}
-lean_ctor_set(x_211, 0, x_204);
-lean_ctor_set(x_211, 1, x_205);
-lean_ctor_set(x_211, 2, x_206);
-lean_ctor_set(x_211, 3, x_210);
-x_212 = lean_st_ref_set(x_5, x_211, x_203);
-lean_dec(x_5);
-x_213 = lean_ctor_get(x_212, 1);
-lean_inc(x_213);
-if (lean_is_exclusive(x_212)) {
- lean_ctor_release(x_212, 0);
- lean_ctor_release(x_212, 1);
- x_214 = x_212;
-} else {
- lean_dec_ref(x_212);
- x_214 = lean_box(0);
-}
-x_215 = lean_box(x_196);
-if (lean_is_scalar(x_214)) {
- x_216 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_216 = x_214;
-}
-lean_ctor_set(x_216, 0, x_215);
-lean_ctor_set(x_216, 1, x_213);
-return x_216;
-}
-block_238:
-{
-lean_object* x_220; lean_object* x_221; lean_object* x_222; lean_object* x_223; lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; lean_object* x_228; lean_object* x_229; lean_object* x_230; lean_object* x_231; lean_object* x_232; lean_object* x_233; lean_object* x_234; lean_object* x_235; lean_object* x_236; lean_object* x_237;
-x_220 = lean_st_ref_get(x_5, x_219);
-x_221 = lean_ctor_get(x_220, 1);
-lean_inc(x_221);
-lean_dec(x_220);
-x_222 = lean_st_ref_take(x_5, x_221);
-x_223 = lean_ctor_get(x_222, 0);
-lean_inc(x_223);
-x_224 = lean_ctor_get(x_223, 3);
-lean_inc(x_224);
-x_225 = lean_ctor_get(x_222, 1);
-lean_inc(x_225);
-lean_dec(x_222);
-x_226 = lean_ctor_get(x_223, 0);
-lean_inc(x_226);
-x_227 = lean_ctor_get(x_223, 1);
-lean_inc(x_227);
-x_228 = lean_ctor_get(x_223, 2);
-lean_inc(x_228);
-if (lean_is_exclusive(x_223)) {
- lean_ctor_release(x_223, 0);
- lean_ctor_release(x_223, 1);
- lean_ctor_release(x_223, 2);
- lean_ctor_release(x_223, 3);
- x_229 = x_223;
-} else {
- lean_dec_ref(x_223);
- x_229 = lean_box(0);
-}
-x_230 = lean_ctor_get(x_224, 0);
-lean_inc(x_230);
-if (lean_is_exclusive(x_224)) {
- lean_ctor_release(x_224, 0);
- x_231 = x_224;
-} else {
- lean_dec_ref(x_224);
- x_231 = lean_box(0);
-}
-if (lean_is_scalar(x_231)) {
- x_232 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_232 = x_231;
-}
-lean_ctor_set(x_232, 0, x_230);
-lean_ctor_set_uint8(x_232, sizeof(void*)*1, x_13);
-if (lean_is_scalar(x_229)) {
- x_233 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_233 = x_229;
-}
-lean_ctor_set(x_233, 0, x_226);
-lean_ctor_set(x_233, 1, x_227);
-lean_ctor_set(x_233, 2, x_228);
-lean_ctor_set(x_233, 3, x_232);
-x_234 = lean_st_ref_set(x_5, x_233, x_225);
-lean_dec(x_5);
-x_235 = lean_ctor_get(x_234, 1);
-lean_inc(x_235);
-if (lean_is_exclusive(x_234)) {
- lean_ctor_release(x_234, 0);
- lean_ctor_release(x_234, 1);
- x_236 = x_234;
-} else {
- lean_dec_ref(x_234);
- x_236 = lean_box(0);
-}
-if (lean_is_scalar(x_236)) {
- x_237 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_237 = x_236;
- lean_ctor_set_tag(x_237, 1);
-}
-lean_ctor_set(x_237, 0, x_218);
-lean_ctor_set(x_237, 1, x_235);
-return x_237;
-}
-}
-}
-else
-{
-lean_object* x_260; lean_object* x_261; lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265; lean_object* x_266; lean_object* x_267; lean_object* x_268;
-x_260 = lean_ctor_get(x_4, 3);
-lean_inc(x_260);
-x_261 = l___private_Lean_Util_Trace_5__getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__6___rarg(x_5, x_8);
-x_262 = lean_ctor_get(x_261, 0);
-lean_inc(x_262);
-x_263 = lean_ctor_get(x_261, 1);
-lean_inc(x_263);
-lean_dec(x_261);
-x_264 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_getResetPostponed(x_1, x_2, x_3, x_4, x_5, x_263);
-x_265 = lean_ctor_get(x_264, 0);
-lean_inc(x_265);
-x_266 = lean_ctor_get(x_264, 1);
-lean_inc(x_266);
-lean_dec(x_264);
-x_267 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__4;
-x_268 = l_Std_PersistentArray_forIn___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__1(x_267, x_265, x_267, x_1, x_2, x_3, x_4, x_5, x_266);
-lean_dec(x_265);
-if (lean_obj_tag(x_268) == 0)
-{
-lean_object* x_269; lean_object* x_270;
-x_269 = lean_ctor_get(x_268, 0);
-lean_inc(x_269);
-x_270 = lean_ctor_get(x_269, 0);
-lean_inc(x_270);
-if (lean_obj_tag(x_270) == 0)
-{
-lean_object* x_271; lean_object* x_272; lean_object* x_273; lean_object* x_274;
-x_271 = lean_ctor_get(x_268, 1);
-lean_inc(x_271);
-lean_dec(x_268);
-x_272 = lean_ctor_get(x_269, 1);
-lean_inc(x_272);
-lean_dec(x_269);
-x_273 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__5;
+lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
+x_21 = lean_ctor_get(x_18, 1);
+lean_inc(x_21);
+lean_dec(x_18);
+x_22 = lean_ctor_get(x_19, 1);
+lean_inc(x_22);
+lean_dec(x_19);
+x_23 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__5;
lean_inc(x_5);
lean_inc(x_4);
lean_inc(x_3);
lean_inc(x_2);
lean_inc(x_1);
-x_274 = lean_apply_7(x_273, x_272, x_1, x_2, x_3, x_4, x_5, x_271);
-if (lean_obj_tag(x_274) == 0)
+x_24 = lean_apply_7(x_23, x_22, x_1, x_2, x_3, x_4, x_5, x_21);
+if (lean_obj_tag(x_24) == 0)
{
-lean_object* x_275; lean_object* x_276; lean_object* x_277; lean_object* x_278; uint8_t x_279;
-x_275 = lean_ctor_get(x_274, 0);
-lean_inc(x_275);
-x_276 = lean_ctor_get(x_274, 1);
-lean_inc(x_276);
-lean_dec(x_274);
-x_277 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__3;
-x_278 = l___private_Lean_Util_Trace_4__addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__7(x_262, x_277, x_260, x_1, x_2, x_3, x_4, x_5, x_276);
+lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t x_29;
+x_25 = lean_ctor_get(x_24, 0);
+lean_inc(x_25);
+x_26 = lean_ctor_get(x_24, 1);
+lean_inc(x_26);
+lean_dec(x_24);
+x_27 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__3;
+x_28 = l___private_Lean_Util_Trace_0__Lean_addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__7(x_12, x_27, x_10, x_1, x_2, x_3, x_4, x_5, x_26);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_279 = !lean_is_exclusive(x_278);
-if (x_279 == 0)
+x_29 = !lean_is_exclusive(x_28);
+if (x_29 == 0)
{
-lean_object* x_280;
-x_280 = lean_ctor_get(x_278, 0);
-lean_dec(x_280);
-lean_ctor_set(x_278, 0, x_275);
-return x_278;
+lean_object* x_30;
+x_30 = lean_ctor_get(x_28, 0);
+lean_dec(x_30);
+lean_ctor_set(x_28, 0, x_25);
+return x_28;
}
else
{
-lean_object* x_281; lean_object* x_282;
-x_281 = lean_ctor_get(x_278, 1);
-lean_inc(x_281);
-lean_dec(x_278);
-x_282 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_282, 0, x_275);
-lean_ctor_set(x_282, 1, x_281);
-return x_282;
+lean_object* x_31; lean_object* x_32;
+x_31 = lean_ctor_get(x_28, 1);
+lean_inc(x_31);
+lean_dec(x_28);
+x_32 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_32, 0, x_25);
+lean_ctor_set(x_32, 1, x_31);
+return x_32;
}
}
else
{
-lean_object* x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286; uint8_t x_287;
-x_283 = lean_ctor_get(x_274, 0);
-lean_inc(x_283);
-x_284 = lean_ctor_get(x_274, 1);
-lean_inc(x_284);
-lean_dec(x_274);
-x_285 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__3;
-x_286 = l___private_Lean_Util_Trace_4__addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__7(x_262, x_285, x_260, x_1, x_2, x_3, x_4, x_5, x_284);
+lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; uint8_t x_37;
+x_33 = lean_ctor_get(x_24, 0);
+lean_inc(x_33);
+x_34 = lean_ctor_get(x_24, 1);
+lean_inc(x_34);
+lean_dec(x_24);
+x_35 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__3;
+x_36 = l___private_Lean_Util_Trace_0__Lean_addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__7(x_12, x_35, x_10, x_1, x_2, x_3, x_4, x_5, x_34);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_287 = !lean_is_exclusive(x_286);
-if (x_287 == 0)
+x_37 = !lean_is_exclusive(x_36);
+if (x_37 == 0)
{
-lean_object* x_288;
-x_288 = lean_ctor_get(x_286, 0);
-lean_dec(x_288);
-lean_ctor_set_tag(x_286, 1);
-lean_ctor_set(x_286, 0, x_283);
-return x_286;
+lean_object* x_38;
+x_38 = lean_ctor_get(x_36, 0);
+lean_dec(x_38);
+lean_ctor_set_tag(x_36, 1);
+lean_ctor_set(x_36, 0, x_33);
+return x_36;
}
else
{
-lean_object* x_289; lean_object* x_290;
-x_289 = lean_ctor_get(x_286, 1);
+lean_object* x_39; lean_object* x_40;
+x_39 = lean_ctor_get(x_36, 1);
+lean_inc(x_39);
+lean_dec(x_36);
+x_40 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_40, 0, x_33);
+lean_ctor_set(x_40, 1, x_39);
+return x_40;
+}
+}
+}
+else
+{
+lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45;
+lean_dec(x_19);
+x_41 = lean_ctor_get(x_18, 1);
+lean_inc(x_41);
+lean_dec(x_18);
+x_42 = lean_ctor_get(x_20, 0);
+lean_inc(x_42);
+lean_dec(x_20);
+x_43 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__3;
+x_44 = l___private_Lean_Util_Trace_0__Lean_addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__7(x_12, x_43, x_10, x_1, x_2, x_3, x_4, x_5, x_41);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+lean_dec(x_1);
+x_45 = !lean_is_exclusive(x_44);
+if (x_45 == 0)
+{
+lean_object* x_46;
+x_46 = lean_ctor_get(x_44, 0);
+lean_dec(x_46);
+lean_ctor_set(x_44, 0, x_42);
+return x_44;
+}
+else
+{
+lean_object* x_47; lean_object* x_48;
+x_47 = lean_ctor_get(x_44, 1);
+lean_inc(x_47);
+lean_dec(x_44);
+x_48 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_48, 0, x_42);
+lean_ctor_set(x_48, 1, x_47);
+return x_48;
+}
+}
+}
+else
+{
+lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; uint8_t x_53;
+x_49 = lean_ctor_get(x_18, 0);
+lean_inc(x_49);
+x_50 = lean_ctor_get(x_18, 1);
+lean_inc(x_50);
+lean_dec(x_18);
+x_51 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__3;
+x_52 = l___private_Lean_Util_Trace_0__Lean_addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__7(x_12, x_51, x_10, x_1, x_2, x_3, x_4, x_5, x_50);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+lean_dec(x_1);
+x_53 = !lean_is_exclusive(x_52);
+if (x_53 == 0)
+{
+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_49);
+return x_52;
+}
+else
+{
+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_49);
+lean_ctor_set(x_56, 1, x_55);
+return x_56;
+}
+}
+}
+else
+{
+lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; uint8_t x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; uint8_t x_66;
+x_57 = lean_st_ref_get(x_5, x_8);
+x_58 = lean_ctor_get(x_57, 0);
+lean_inc(x_58);
+x_59 = lean_ctor_get(x_58, 3);
+lean_inc(x_59);
+lean_dec(x_58);
+x_60 = lean_ctor_get(x_57, 1);
+lean_inc(x_60);
+lean_dec(x_57);
+x_61 = lean_ctor_get_uint8(x_59, sizeof(void*)*1);
+lean_dec(x_59);
+x_62 = lean_st_ref_take(x_5, x_60);
+x_63 = lean_ctor_get(x_62, 0);
+lean_inc(x_63);
+x_64 = lean_ctor_get(x_63, 3);
+lean_inc(x_64);
+x_65 = lean_ctor_get(x_62, 1);
+lean_inc(x_65);
+lean_dec(x_62);
+x_66 = !lean_is_exclusive(x_63);
+if (x_66 == 0)
+{
+lean_object* x_67; uint8_t x_68;
+x_67 = lean_ctor_get(x_63, 3);
+lean_dec(x_67);
+x_68 = !lean_is_exclusive(x_64);
+if (x_68 == 0)
+{
+uint8_t x_69; lean_object* x_70; lean_object* x_71; uint8_t x_72; lean_object* x_73; lean_object* x_110; lean_object* x_111; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148;
+x_69 = 0;
+lean_ctor_set_uint8(x_64, sizeof(void*)*1, x_69);
+x_70 = lean_st_ref_set(x_5, x_63, x_65);
+x_71 = lean_ctor_get(x_70, 1);
+lean_inc(x_71);
+lean_dec(x_70);
+x_144 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_getResetPostponed(x_1, x_2, x_3, x_4, x_5, x_71);
+x_145 = lean_ctor_get(x_144, 0);
+lean_inc(x_145);
+x_146 = lean_ctor_get(x_144, 1);
+lean_inc(x_146);
+lean_dec(x_144);
+x_147 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__4;
+x_148 = l_Std_PersistentArray_forIn___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__2(x_147, x_145, x_147, x_1, x_2, x_3, x_4, x_5, x_146);
+lean_dec(x_145);
+if (lean_obj_tag(x_148) == 0)
+{
+lean_object* x_149; lean_object* x_150;
+x_149 = lean_ctor_get(x_148, 0);
+lean_inc(x_149);
+x_150 = lean_ctor_get(x_149, 0);
+lean_inc(x_150);
+if (lean_obj_tag(x_150) == 0)
+{
+lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154;
+x_151 = lean_ctor_get(x_148, 1);
+lean_inc(x_151);
+lean_dec(x_148);
+x_152 = lean_ctor_get(x_149, 1);
+lean_inc(x_152);
+lean_dec(x_149);
+x_153 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__5;
+lean_inc(x_5);
+x_154 = lean_apply_7(x_153, x_152, x_1, x_2, x_3, x_4, x_5, x_151);
+if (lean_obj_tag(x_154) == 0)
+{
+lean_object* x_155; lean_object* x_156; uint8_t x_157;
+x_155 = lean_ctor_get(x_154, 0);
+lean_inc(x_155);
+x_156 = lean_ctor_get(x_154, 1);
+lean_inc(x_156);
+lean_dec(x_154);
+x_157 = lean_unbox(x_155);
+lean_dec(x_155);
+x_72 = x_157;
+x_73 = x_156;
+goto block_109;
+}
+else
+{
+lean_object* x_158; lean_object* x_159;
+x_158 = lean_ctor_get(x_154, 0);
+lean_inc(x_158);
+x_159 = lean_ctor_get(x_154, 1);
+lean_inc(x_159);
+lean_dec(x_154);
+x_110 = x_158;
+x_111 = x_159;
+goto block_143;
+}
+}
+else
+{
+lean_object* x_160; lean_object* x_161; uint8_t x_162;
+lean_dec(x_149);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+lean_dec(x_1);
+x_160 = lean_ctor_get(x_148, 1);
+lean_inc(x_160);
+lean_dec(x_148);
+x_161 = lean_ctor_get(x_150, 0);
+lean_inc(x_161);
+lean_dec(x_150);
+x_162 = lean_unbox(x_161);
+lean_dec(x_161);
+x_72 = x_162;
+x_73 = x_160;
+goto block_109;
+}
+}
+else
+{
+lean_object* x_163; lean_object* x_164;
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+lean_dec(x_1);
+x_163 = lean_ctor_get(x_148, 0);
+lean_inc(x_163);
+x_164 = lean_ctor_get(x_148, 1);
+lean_inc(x_164);
+lean_dec(x_148);
+x_110 = x_163;
+x_111 = x_164;
+goto block_143;
+}
+block_109:
+{
+lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; uint8_t x_80;
+x_74 = lean_st_ref_get(x_5, x_73);
+x_75 = lean_ctor_get(x_74, 1);
+lean_inc(x_75);
+lean_dec(x_74);
+x_76 = lean_st_ref_take(x_5, x_75);
+x_77 = lean_ctor_get(x_76, 0);
+lean_inc(x_77);
+x_78 = lean_ctor_get(x_77, 3);
+lean_inc(x_78);
+x_79 = lean_ctor_get(x_76, 1);
+lean_inc(x_79);
+lean_dec(x_76);
+x_80 = !lean_is_exclusive(x_77);
+if (x_80 == 0)
+{
+lean_object* x_81; uint8_t x_82;
+x_81 = lean_ctor_get(x_77, 3);
+lean_dec(x_81);
+x_82 = !lean_is_exclusive(x_78);
+if (x_82 == 0)
+{
+lean_object* x_83; uint8_t x_84;
+lean_ctor_set_uint8(x_78, sizeof(void*)*1, x_61);
+x_83 = lean_st_ref_set(x_5, x_77, x_79);
+lean_dec(x_5);
+x_84 = !lean_is_exclusive(x_83);
+if (x_84 == 0)
+{
+lean_object* x_85; lean_object* x_86;
+x_85 = lean_ctor_get(x_83, 0);
+lean_dec(x_85);
+x_86 = lean_box(x_72);
+lean_ctor_set(x_83, 0, x_86);
+return x_83;
+}
+else
+{
+lean_object* x_87; lean_object* x_88; lean_object* x_89;
+x_87 = lean_ctor_get(x_83, 1);
+lean_inc(x_87);
+lean_dec(x_83);
+x_88 = lean_box(x_72);
+x_89 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_89, 0, x_88);
+lean_ctor_set(x_89, 1, x_87);
+return x_89;
+}
+}
+else
+{
+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;
+x_90 = lean_ctor_get(x_78, 0);
+lean_inc(x_90);
+lean_dec(x_78);
+x_91 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_91, 0, x_90);
+lean_ctor_set_uint8(x_91, sizeof(void*)*1, x_61);
+lean_ctor_set(x_77, 3, x_91);
+x_92 = lean_st_ref_set(x_5, x_77, x_79);
+lean_dec(x_5);
+x_93 = lean_ctor_get(x_92, 1);
+lean_inc(x_93);
+if (lean_is_exclusive(x_92)) {
+ lean_ctor_release(x_92, 0);
+ lean_ctor_release(x_92, 1);
+ x_94 = x_92;
+} else {
+ lean_dec_ref(x_92);
+ x_94 = lean_box(0);
+}
+x_95 = lean_box(x_72);
+if (lean_is_scalar(x_94)) {
+ x_96 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_96 = x_94;
+}
+lean_ctor_set(x_96, 0, x_95);
+lean_ctor_set(x_96, 1, x_93);
+return x_96;
+}
+}
+else
+{
+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;
+x_97 = lean_ctor_get(x_77, 0);
+x_98 = lean_ctor_get(x_77, 1);
+x_99 = lean_ctor_get(x_77, 2);
+lean_inc(x_99);
+lean_inc(x_98);
+lean_inc(x_97);
+lean_dec(x_77);
+x_100 = lean_ctor_get(x_78, 0);
+lean_inc(x_100);
+if (lean_is_exclusive(x_78)) {
+ lean_ctor_release(x_78, 0);
+ x_101 = x_78;
+} else {
+ lean_dec_ref(x_78);
+ x_101 = lean_box(0);
+}
+if (lean_is_scalar(x_101)) {
+ x_102 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_102 = x_101;
+}
+lean_ctor_set(x_102, 0, x_100);
+lean_ctor_set_uint8(x_102, sizeof(void*)*1, x_61);
+x_103 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_103, 0, x_97);
+lean_ctor_set(x_103, 1, x_98);
+lean_ctor_set(x_103, 2, x_99);
+lean_ctor_set(x_103, 3, x_102);
+x_104 = lean_st_ref_set(x_5, x_103, x_79);
+lean_dec(x_5);
+x_105 = lean_ctor_get(x_104, 1);
+lean_inc(x_105);
+if (lean_is_exclusive(x_104)) {
+ lean_ctor_release(x_104, 0);
+ lean_ctor_release(x_104, 1);
+ x_106 = x_104;
+} else {
+ lean_dec_ref(x_104);
+ x_106 = lean_box(0);
+}
+x_107 = lean_box(x_72);
+if (lean_is_scalar(x_106)) {
+ x_108 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_108 = x_106;
+}
+lean_ctor_set(x_108, 0, x_107);
+lean_ctor_set(x_108, 1, x_105);
+return x_108;
+}
+}
+block_143:
+{
+lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; uint8_t x_118;
+x_112 = lean_st_ref_get(x_5, x_111);
+x_113 = lean_ctor_get(x_112, 1);
+lean_inc(x_113);
+lean_dec(x_112);
+x_114 = lean_st_ref_take(x_5, x_113);
+x_115 = lean_ctor_get(x_114, 0);
+lean_inc(x_115);
+x_116 = lean_ctor_get(x_115, 3);
+lean_inc(x_116);
+x_117 = lean_ctor_get(x_114, 1);
+lean_inc(x_117);
+lean_dec(x_114);
+x_118 = !lean_is_exclusive(x_115);
+if (x_118 == 0)
+{
+lean_object* x_119; uint8_t x_120;
+x_119 = lean_ctor_get(x_115, 3);
+lean_dec(x_119);
+x_120 = !lean_is_exclusive(x_116);
+if (x_120 == 0)
+{
+lean_object* x_121; uint8_t x_122;
+lean_ctor_set_uint8(x_116, sizeof(void*)*1, x_61);
+x_121 = lean_st_ref_set(x_5, x_115, x_117);
+lean_dec(x_5);
+x_122 = !lean_is_exclusive(x_121);
+if (x_122 == 0)
+{
+lean_object* x_123;
+x_123 = lean_ctor_get(x_121, 0);
+lean_dec(x_123);
+lean_ctor_set_tag(x_121, 1);
+lean_ctor_set(x_121, 0, x_110);
+return x_121;
+}
+else
+{
+lean_object* x_124; lean_object* x_125;
+x_124 = lean_ctor_get(x_121, 1);
+lean_inc(x_124);
+lean_dec(x_121);
+x_125 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_125, 0, x_110);
+lean_ctor_set(x_125, 1, x_124);
+return x_125;
+}
+}
+else
+{
+lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131;
+x_126 = lean_ctor_get(x_116, 0);
+lean_inc(x_126);
+lean_dec(x_116);
+x_127 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_127, 0, x_126);
+lean_ctor_set_uint8(x_127, sizeof(void*)*1, x_61);
+lean_ctor_set(x_115, 3, x_127);
+x_128 = lean_st_ref_set(x_5, x_115, x_117);
+lean_dec(x_5);
+x_129 = lean_ctor_get(x_128, 1);
+lean_inc(x_129);
+if (lean_is_exclusive(x_128)) {
+ lean_ctor_release(x_128, 0);
+ lean_ctor_release(x_128, 1);
+ x_130 = x_128;
+} else {
+ lean_dec_ref(x_128);
+ x_130 = lean_box(0);
+}
+if (lean_is_scalar(x_130)) {
+ x_131 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_131 = x_130;
+ lean_ctor_set_tag(x_131, 1);
+}
+lean_ctor_set(x_131, 0, x_110);
+lean_ctor_set(x_131, 1, x_129);
+return x_131;
+}
+}
+else
+{
+lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142;
+x_132 = lean_ctor_get(x_115, 0);
+x_133 = lean_ctor_get(x_115, 1);
+x_134 = lean_ctor_get(x_115, 2);
+lean_inc(x_134);
+lean_inc(x_133);
+lean_inc(x_132);
+lean_dec(x_115);
+x_135 = lean_ctor_get(x_116, 0);
+lean_inc(x_135);
+if (lean_is_exclusive(x_116)) {
+ lean_ctor_release(x_116, 0);
+ x_136 = x_116;
+} else {
+ lean_dec_ref(x_116);
+ x_136 = lean_box(0);
+}
+if (lean_is_scalar(x_136)) {
+ x_137 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_137 = x_136;
+}
+lean_ctor_set(x_137, 0, x_135);
+lean_ctor_set_uint8(x_137, sizeof(void*)*1, x_61);
+x_138 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_138, 0, x_132);
+lean_ctor_set(x_138, 1, x_133);
+lean_ctor_set(x_138, 2, x_134);
+lean_ctor_set(x_138, 3, x_137);
+x_139 = lean_st_ref_set(x_5, x_138, x_117);
+lean_dec(x_5);
+x_140 = lean_ctor_get(x_139, 1);
+lean_inc(x_140);
+if (lean_is_exclusive(x_139)) {
+ lean_ctor_release(x_139, 0);
+ lean_ctor_release(x_139, 1);
+ x_141 = x_139;
+} else {
+ lean_dec_ref(x_139);
+ x_141 = lean_box(0);
+}
+if (lean_is_scalar(x_141)) {
+ x_142 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_142 = x_141;
+ lean_ctor_set_tag(x_142, 1);
+}
+lean_ctor_set(x_142, 0, x_110);
+lean_ctor_set(x_142, 1, x_140);
+return x_142;
+}
+}
+}
+else
+{
+lean_object* x_165; uint8_t x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; uint8_t x_170; lean_object* x_171; lean_object* x_192; lean_object* x_193; lean_object* x_213; lean_object* x_214; lean_object* x_215; lean_object* x_216; lean_object* x_217;
+x_165 = lean_ctor_get(x_64, 0);
+lean_inc(x_165);
+lean_dec(x_64);
+x_166 = 0;
+x_167 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_167, 0, x_165);
+lean_ctor_set_uint8(x_167, sizeof(void*)*1, x_166);
+lean_ctor_set(x_63, 3, x_167);
+x_168 = lean_st_ref_set(x_5, x_63, x_65);
+x_169 = lean_ctor_get(x_168, 1);
+lean_inc(x_169);
+lean_dec(x_168);
+x_213 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_getResetPostponed(x_1, x_2, x_3, x_4, x_5, x_169);
+x_214 = lean_ctor_get(x_213, 0);
+lean_inc(x_214);
+x_215 = lean_ctor_get(x_213, 1);
+lean_inc(x_215);
+lean_dec(x_213);
+x_216 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__4;
+x_217 = l_Std_PersistentArray_forIn___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__2(x_216, x_214, x_216, x_1, x_2, x_3, x_4, x_5, x_215);
+lean_dec(x_214);
+if (lean_obj_tag(x_217) == 0)
+{
+lean_object* x_218; lean_object* x_219;
+x_218 = lean_ctor_get(x_217, 0);
+lean_inc(x_218);
+x_219 = lean_ctor_get(x_218, 0);
+lean_inc(x_219);
+if (lean_obj_tag(x_219) == 0)
+{
+lean_object* x_220; lean_object* x_221; lean_object* x_222; lean_object* x_223;
+x_220 = lean_ctor_get(x_217, 1);
+lean_inc(x_220);
+lean_dec(x_217);
+x_221 = lean_ctor_get(x_218, 1);
+lean_inc(x_221);
+lean_dec(x_218);
+x_222 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__5;
+lean_inc(x_5);
+x_223 = lean_apply_7(x_222, x_221, x_1, x_2, x_3, x_4, x_5, x_220);
+if (lean_obj_tag(x_223) == 0)
+{
+lean_object* x_224; lean_object* x_225; uint8_t x_226;
+x_224 = lean_ctor_get(x_223, 0);
+lean_inc(x_224);
+x_225 = lean_ctor_get(x_223, 1);
+lean_inc(x_225);
+lean_dec(x_223);
+x_226 = lean_unbox(x_224);
+lean_dec(x_224);
+x_170 = x_226;
+x_171 = x_225;
+goto block_191;
+}
+else
+{
+lean_object* x_227; lean_object* x_228;
+x_227 = lean_ctor_get(x_223, 0);
+lean_inc(x_227);
+x_228 = lean_ctor_get(x_223, 1);
+lean_inc(x_228);
+lean_dec(x_223);
+x_192 = x_227;
+x_193 = x_228;
+goto block_212;
+}
+}
+else
+{
+lean_object* x_229; lean_object* x_230; uint8_t x_231;
+lean_dec(x_218);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+lean_dec(x_1);
+x_229 = lean_ctor_get(x_217, 1);
+lean_inc(x_229);
+lean_dec(x_217);
+x_230 = lean_ctor_get(x_219, 0);
+lean_inc(x_230);
+lean_dec(x_219);
+x_231 = lean_unbox(x_230);
+lean_dec(x_230);
+x_170 = x_231;
+x_171 = x_229;
+goto block_191;
+}
+}
+else
+{
+lean_object* x_232; lean_object* x_233;
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+lean_dec(x_1);
+x_232 = lean_ctor_get(x_217, 0);
+lean_inc(x_232);
+x_233 = lean_ctor_get(x_217, 1);
+lean_inc(x_233);
+lean_dec(x_217);
+x_192 = x_232;
+x_193 = x_233;
+goto block_212;
+}
+block_191:
+{
+lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190;
+x_172 = lean_st_ref_get(x_5, x_171);
+x_173 = lean_ctor_get(x_172, 1);
+lean_inc(x_173);
+lean_dec(x_172);
+x_174 = lean_st_ref_take(x_5, x_173);
+x_175 = lean_ctor_get(x_174, 0);
+lean_inc(x_175);
+x_176 = lean_ctor_get(x_175, 3);
+lean_inc(x_176);
+x_177 = lean_ctor_get(x_174, 1);
+lean_inc(x_177);
+lean_dec(x_174);
+x_178 = lean_ctor_get(x_175, 0);
+lean_inc(x_178);
+x_179 = lean_ctor_get(x_175, 1);
+lean_inc(x_179);
+x_180 = lean_ctor_get(x_175, 2);
+lean_inc(x_180);
+if (lean_is_exclusive(x_175)) {
+ lean_ctor_release(x_175, 0);
+ lean_ctor_release(x_175, 1);
+ lean_ctor_release(x_175, 2);
+ lean_ctor_release(x_175, 3);
+ x_181 = x_175;
+} else {
+ lean_dec_ref(x_175);
+ x_181 = lean_box(0);
+}
+x_182 = lean_ctor_get(x_176, 0);
+lean_inc(x_182);
+if (lean_is_exclusive(x_176)) {
+ lean_ctor_release(x_176, 0);
+ x_183 = x_176;
+} else {
+ lean_dec_ref(x_176);
+ x_183 = lean_box(0);
+}
+if (lean_is_scalar(x_183)) {
+ x_184 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_184 = x_183;
+}
+lean_ctor_set(x_184, 0, x_182);
+lean_ctor_set_uint8(x_184, sizeof(void*)*1, x_61);
+if (lean_is_scalar(x_181)) {
+ x_185 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_185 = x_181;
+}
+lean_ctor_set(x_185, 0, x_178);
+lean_ctor_set(x_185, 1, x_179);
+lean_ctor_set(x_185, 2, x_180);
+lean_ctor_set(x_185, 3, x_184);
+x_186 = lean_st_ref_set(x_5, x_185, x_177);
+lean_dec(x_5);
+x_187 = lean_ctor_get(x_186, 1);
+lean_inc(x_187);
+if (lean_is_exclusive(x_186)) {
+ lean_ctor_release(x_186, 0);
+ lean_ctor_release(x_186, 1);
+ x_188 = x_186;
+} else {
+ lean_dec_ref(x_186);
+ x_188 = lean_box(0);
+}
+x_189 = lean_box(x_170);
+if (lean_is_scalar(x_188)) {
+ x_190 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_190 = x_188;
+}
+lean_ctor_set(x_190, 0, x_189);
+lean_ctor_set(x_190, 1, x_187);
+return x_190;
+}
+block_212:
+{
+lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_211;
+x_194 = lean_st_ref_get(x_5, x_193);
+x_195 = lean_ctor_get(x_194, 1);
+lean_inc(x_195);
+lean_dec(x_194);
+x_196 = lean_st_ref_take(x_5, x_195);
+x_197 = lean_ctor_get(x_196, 0);
+lean_inc(x_197);
+x_198 = lean_ctor_get(x_197, 3);
+lean_inc(x_198);
+x_199 = lean_ctor_get(x_196, 1);
+lean_inc(x_199);
+lean_dec(x_196);
+x_200 = lean_ctor_get(x_197, 0);
+lean_inc(x_200);
+x_201 = lean_ctor_get(x_197, 1);
+lean_inc(x_201);
+x_202 = lean_ctor_get(x_197, 2);
+lean_inc(x_202);
+if (lean_is_exclusive(x_197)) {
+ lean_ctor_release(x_197, 0);
+ lean_ctor_release(x_197, 1);
+ lean_ctor_release(x_197, 2);
+ lean_ctor_release(x_197, 3);
+ x_203 = x_197;
+} else {
+ lean_dec_ref(x_197);
+ x_203 = lean_box(0);
+}
+x_204 = lean_ctor_get(x_198, 0);
+lean_inc(x_204);
+if (lean_is_exclusive(x_198)) {
+ lean_ctor_release(x_198, 0);
+ x_205 = x_198;
+} else {
+ lean_dec_ref(x_198);
+ x_205 = lean_box(0);
+}
+if (lean_is_scalar(x_205)) {
+ x_206 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_206 = x_205;
+}
+lean_ctor_set(x_206, 0, x_204);
+lean_ctor_set_uint8(x_206, sizeof(void*)*1, x_61);
+if (lean_is_scalar(x_203)) {
+ x_207 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_207 = x_203;
+}
+lean_ctor_set(x_207, 0, x_200);
+lean_ctor_set(x_207, 1, x_201);
+lean_ctor_set(x_207, 2, x_202);
+lean_ctor_set(x_207, 3, x_206);
+x_208 = lean_st_ref_set(x_5, x_207, x_199);
+lean_dec(x_5);
+x_209 = lean_ctor_get(x_208, 1);
+lean_inc(x_209);
+if (lean_is_exclusive(x_208)) {
+ lean_ctor_release(x_208, 0);
+ lean_ctor_release(x_208, 1);
+ x_210 = x_208;
+} else {
+ lean_dec_ref(x_208);
+ x_210 = lean_box(0);
+}
+if (lean_is_scalar(x_210)) {
+ x_211 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_211 = x_210;
+ lean_ctor_set_tag(x_211, 1);
+}
+lean_ctor_set(x_211, 0, x_192);
+lean_ctor_set(x_211, 1, x_209);
+return x_211;
+}
+}
+}
+else
+{
+lean_object* x_234; lean_object* x_235; lean_object* x_236; lean_object* x_237; lean_object* x_238; uint8_t x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; uint8_t x_244; lean_object* x_245; lean_object* x_266; lean_object* x_267; lean_object* x_287; lean_object* x_288; lean_object* x_289; lean_object* x_290; lean_object* x_291;
+x_234 = lean_ctor_get(x_63, 0);
+x_235 = lean_ctor_get(x_63, 1);
+x_236 = lean_ctor_get(x_63, 2);
+lean_inc(x_236);
+lean_inc(x_235);
+lean_inc(x_234);
+lean_dec(x_63);
+x_237 = lean_ctor_get(x_64, 0);
+lean_inc(x_237);
+if (lean_is_exclusive(x_64)) {
+ lean_ctor_release(x_64, 0);
+ x_238 = x_64;
+} else {
+ lean_dec_ref(x_64);
+ x_238 = lean_box(0);
+}
+x_239 = 0;
+if (lean_is_scalar(x_238)) {
+ x_240 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_240 = x_238;
+}
+lean_ctor_set(x_240, 0, x_237);
+lean_ctor_set_uint8(x_240, sizeof(void*)*1, x_239);
+x_241 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_241, 0, x_234);
+lean_ctor_set(x_241, 1, x_235);
+lean_ctor_set(x_241, 2, x_236);
+lean_ctor_set(x_241, 3, x_240);
+x_242 = lean_st_ref_set(x_5, x_241, x_65);
+x_243 = lean_ctor_get(x_242, 1);
+lean_inc(x_243);
+lean_dec(x_242);
+x_287 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_getResetPostponed(x_1, x_2, x_3, x_4, x_5, x_243);
+x_288 = lean_ctor_get(x_287, 0);
+lean_inc(x_288);
+x_289 = lean_ctor_get(x_287, 1);
lean_inc(x_289);
-lean_dec(x_286);
-x_290 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_290, 0, x_283);
-lean_ctor_set(x_290, 1, x_289);
-return x_290;
-}
-}
-}
-else
+lean_dec(x_287);
+x_290 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__4;
+x_291 = l_Std_PersistentArray_forIn___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__2(x_290, x_288, x_290, x_1, x_2, x_3, x_4, x_5, x_289);
+lean_dec(x_288);
+if (lean_obj_tag(x_291) == 0)
{
-lean_object* x_291; lean_object* x_292; lean_object* x_293; lean_object* x_294; uint8_t x_295;
-lean_dec(x_269);
-x_291 = lean_ctor_get(x_268, 1);
-lean_inc(x_291);
-lean_dec(x_268);
-x_292 = lean_ctor_get(x_270, 0);
+lean_object* x_292; lean_object* x_293;
+x_292 = lean_ctor_get(x_291, 0);
lean_inc(x_292);
-lean_dec(x_270);
-x_293 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__3;
-x_294 = l___private_Lean_Util_Trace_4__addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__7(x_262, x_293, x_260, x_1, x_2, x_3, x_4, x_5, x_291);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_dec(x_1);
-x_295 = !lean_is_exclusive(x_294);
-if (x_295 == 0)
+x_293 = lean_ctor_get(x_292, 0);
+lean_inc(x_293);
+if (lean_obj_tag(x_293) == 0)
{
-lean_object* x_296;
-x_296 = lean_ctor_get(x_294, 0);
-lean_dec(x_296);
-lean_ctor_set(x_294, 0, x_292);
-return x_294;
-}
-else
+lean_object* x_294; lean_object* x_295; lean_object* x_296; lean_object* x_297;
+x_294 = lean_ctor_get(x_291, 1);
+lean_inc(x_294);
+lean_dec(x_291);
+x_295 = lean_ctor_get(x_292, 1);
+lean_inc(x_295);
+lean_dec(x_292);
+x_296 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__5;
+lean_inc(x_5);
+x_297 = lean_apply_7(x_296, x_295, x_1, x_2, x_3, x_4, x_5, x_294);
+if (lean_obj_tag(x_297) == 0)
{
-lean_object* x_297; lean_object* x_298;
-x_297 = lean_ctor_get(x_294, 1);
-lean_inc(x_297);
-lean_dec(x_294);
-x_298 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_298, 0, x_292);
-lean_ctor_set(x_298, 1, x_297);
-return x_298;
-}
-}
-}
-else
-{
-lean_object* x_299; lean_object* x_300; lean_object* x_301; lean_object* x_302; uint8_t x_303;
-x_299 = lean_ctor_get(x_268, 0);
+lean_object* x_298; lean_object* x_299; uint8_t x_300;
+x_298 = lean_ctor_get(x_297, 0);
+lean_inc(x_298);
+x_299 = lean_ctor_get(x_297, 1);
lean_inc(x_299);
-x_300 = lean_ctor_get(x_268, 1);
-lean_inc(x_300);
-lean_dec(x_268);
-x_301 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__3;
-x_302 = l___private_Lean_Util_Trace_4__addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__7(x_262, x_301, x_260, x_1, x_2, x_3, x_4, x_5, x_300);
-lean_dec(x_5);
+lean_dec(x_297);
+x_300 = lean_unbox(x_298);
+lean_dec(x_298);
+x_244 = x_300;
+x_245 = x_299;
+goto block_265;
+}
+else
+{
+lean_object* x_301; lean_object* x_302;
+x_301 = lean_ctor_get(x_297, 0);
+lean_inc(x_301);
+x_302 = lean_ctor_get(x_297, 1);
+lean_inc(x_302);
+lean_dec(x_297);
+x_266 = x_301;
+x_267 = x_302;
+goto block_286;
+}
+}
+else
+{
+lean_object* x_303; lean_object* x_304; uint8_t x_305;
+lean_dec(x_292);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_303 = !lean_is_exclusive(x_302);
-if (x_303 == 0)
-{
-lean_object* x_304;
-x_304 = lean_ctor_get(x_302, 0);
+x_303 = lean_ctor_get(x_291, 1);
+lean_inc(x_303);
+lean_dec(x_291);
+x_304 = lean_ctor_get(x_293, 0);
+lean_inc(x_304);
+lean_dec(x_293);
+x_305 = lean_unbox(x_304);
lean_dec(x_304);
-lean_ctor_set_tag(x_302, 1);
-lean_ctor_set(x_302, 0, x_299);
-return x_302;
+x_244 = x_305;
+x_245 = x_303;
+goto block_265;
+}
}
else
{
-lean_object* x_305; lean_object* x_306;
-x_305 = lean_ctor_get(x_302, 1);
-lean_inc(x_305);
-lean_dec(x_302);
-x_306 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_306, 0, x_299);
-lean_ctor_set(x_306, 1, x_305);
-return x_306;
+lean_object* x_306; lean_object* x_307;
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+lean_dec(x_1);
+x_306 = lean_ctor_get(x_291, 0);
+lean_inc(x_306);
+x_307 = lean_ctor_get(x_291, 1);
+lean_inc(x_307);
+lean_dec(x_291);
+x_266 = x_306;
+x_267 = x_307;
+goto block_286;
+}
+block_265:
+{
+lean_object* x_246; lean_object* x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253; lean_object* x_254; lean_object* x_255; lean_object* x_256; lean_object* x_257; lean_object* x_258; lean_object* x_259; lean_object* x_260; lean_object* x_261; lean_object* x_262; lean_object* x_263; lean_object* x_264;
+x_246 = lean_st_ref_get(x_5, x_245);
+x_247 = lean_ctor_get(x_246, 1);
+lean_inc(x_247);
+lean_dec(x_246);
+x_248 = lean_st_ref_take(x_5, x_247);
+x_249 = lean_ctor_get(x_248, 0);
+lean_inc(x_249);
+x_250 = lean_ctor_get(x_249, 3);
+lean_inc(x_250);
+x_251 = lean_ctor_get(x_248, 1);
+lean_inc(x_251);
+lean_dec(x_248);
+x_252 = lean_ctor_get(x_249, 0);
+lean_inc(x_252);
+x_253 = lean_ctor_get(x_249, 1);
+lean_inc(x_253);
+x_254 = lean_ctor_get(x_249, 2);
+lean_inc(x_254);
+if (lean_is_exclusive(x_249)) {
+ lean_ctor_release(x_249, 0);
+ lean_ctor_release(x_249, 1);
+ lean_ctor_release(x_249, 2);
+ lean_ctor_release(x_249, 3);
+ x_255 = x_249;
+} else {
+ lean_dec_ref(x_249);
+ x_255 = lean_box(0);
+}
+x_256 = lean_ctor_get(x_250, 0);
+lean_inc(x_256);
+if (lean_is_exclusive(x_250)) {
+ lean_ctor_release(x_250, 0);
+ x_257 = x_250;
+} else {
+ lean_dec_ref(x_250);
+ x_257 = lean_box(0);
+}
+if (lean_is_scalar(x_257)) {
+ x_258 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_258 = x_257;
+}
+lean_ctor_set(x_258, 0, x_256);
+lean_ctor_set_uint8(x_258, sizeof(void*)*1, x_61);
+if (lean_is_scalar(x_255)) {
+ x_259 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_259 = x_255;
+}
+lean_ctor_set(x_259, 0, x_252);
+lean_ctor_set(x_259, 1, x_253);
+lean_ctor_set(x_259, 2, x_254);
+lean_ctor_set(x_259, 3, x_258);
+x_260 = lean_st_ref_set(x_5, x_259, x_251);
+lean_dec(x_5);
+x_261 = lean_ctor_get(x_260, 1);
+lean_inc(x_261);
+if (lean_is_exclusive(x_260)) {
+ lean_ctor_release(x_260, 0);
+ lean_ctor_release(x_260, 1);
+ x_262 = x_260;
+} else {
+ lean_dec_ref(x_260);
+ x_262 = lean_box(0);
+}
+x_263 = lean_box(x_244);
+if (lean_is_scalar(x_262)) {
+ x_264 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_264 = x_262;
+}
+lean_ctor_set(x_264, 0, x_263);
+lean_ctor_set(x_264, 1, x_261);
+return x_264;
+}
+block_286:
+{
+lean_object* x_268; lean_object* x_269; lean_object* x_270; lean_object* x_271; lean_object* x_272; lean_object* x_273; lean_object* x_274; lean_object* x_275; lean_object* x_276; lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; lean_object* x_281; lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285;
+x_268 = lean_st_ref_get(x_5, x_267);
+x_269 = lean_ctor_get(x_268, 1);
+lean_inc(x_269);
+lean_dec(x_268);
+x_270 = lean_st_ref_take(x_5, x_269);
+x_271 = lean_ctor_get(x_270, 0);
+lean_inc(x_271);
+x_272 = lean_ctor_get(x_271, 3);
+lean_inc(x_272);
+x_273 = lean_ctor_get(x_270, 1);
+lean_inc(x_273);
+lean_dec(x_270);
+x_274 = lean_ctor_get(x_271, 0);
+lean_inc(x_274);
+x_275 = lean_ctor_get(x_271, 1);
+lean_inc(x_275);
+x_276 = lean_ctor_get(x_271, 2);
+lean_inc(x_276);
+if (lean_is_exclusive(x_271)) {
+ lean_ctor_release(x_271, 0);
+ lean_ctor_release(x_271, 1);
+ lean_ctor_release(x_271, 2);
+ lean_ctor_release(x_271, 3);
+ x_277 = x_271;
+} else {
+ lean_dec_ref(x_271);
+ x_277 = lean_box(0);
+}
+x_278 = lean_ctor_get(x_272, 0);
+lean_inc(x_278);
+if (lean_is_exclusive(x_272)) {
+ lean_ctor_release(x_272, 0);
+ x_279 = x_272;
+} else {
+ lean_dec_ref(x_272);
+ x_279 = lean_box(0);
+}
+if (lean_is_scalar(x_279)) {
+ x_280 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_280 = x_279;
+}
+lean_ctor_set(x_280, 0, x_278);
+lean_ctor_set_uint8(x_280, sizeof(void*)*1, x_61);
+if (lean_is_scalar(x_277)) {
+ x_281 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_281 = x_277;
+}
+lean_ctor_set(x_281, 0, x_274);
+lean_ctor_set(x_281, 1, x_275);
+lean_ctor_set(x_281, 2, x_276);
+lean_ctor_set(x_281, 3, x_280);
+x_282 = lean_st_ref_set(x_5, x_281, x_273);
+lean_dec(x_5);
+x_283 = lean_ctor_get(x_282, 1);
+lean_inc(x_283);
+if (lean_is_exclusive(x_282)) {
+ lean_ctor_release(x_282, 0);
+ lean_ctor_release(x_282, 1);
+ x_284 = x_282;
+} else {
+ lean_dec_ref(x_282);
+ x_284 = lean_box(0);
+}
+if (lean_is_scalar(x_284)) {
+ x_285 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_285 = x_284;
+ lean_ctor_set_tag(x_285, 1);
+}
+lean_ctor_set(x_285, 0, x_266);
+lean_ctor_set(x_285, 1, x_283);
+return x_285;
}
}
}
}
}
}
-lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__3___boxed(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* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__1___rarg___boxed(lean_object* x_1, lean_object* x_2) {
+_start:
+{
+lean_object* x_3;
+x_3 = l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__1___rarg(x_1, x_2);
+lean_dec(x_1);
+return x_3;
+}
+}
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
+_start:
+{
+lean_object* x_5;
+x_5 = l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__1(x_1, x_2, x_3, x_4);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+lean_dec(x_1);
+return x_5;
+}
+}
+lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__4___boxed(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) {
_start:
{
size_t x_14; size_t x_15; lean_object* x_16;
@@ -14096,7 +14135,7 @@ x_14 = lean_unbox_usize(x_5);
lean_dec(x_5);
x_15 = lean_unbox_usize(x_6);
lean_dec(x_6);
-x_16 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__3(x_1, x_2, x_3, x_4, x_14, x_15, x_7, x_8, x_9, x_10, x_11, x_12, x_13);
+x_16 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__4(x_1, x_2, x_3, x_4, x_14, x_15, x_7, x_8, x_9, x_10, x_11, x_12, x_13);
lean_dec(x_12);
lean_dec(x_11);
lean_dec(x_10);
@@ -14107,53 +14146,6 @@ lean_dec(x_2);
return x_16;
}
}
-lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__4___boxed(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) {
-_start:
-{
-size_t x_13; size_t x_14; lean_object* x_15;
-x_13 = lean_unbox_usize(x_4);
-lean_dec(x_4);
-x_14 = lean_unbox_usize(x_5);
-lean_dec(x_5);
-x_15 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__4(x_1, x_2, x_3, x_13, x_14, x_6, x_7, x_8, x_9, x_10, x_11, x_12);
-lean_dec(x_11);
-lean_dec(x_10);
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_3);
-return x_15;
-}
-}
-lean_object* l_Std_PersistentArray_forInAux___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__2___lambda__1___boxed(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:
-{
-lean_object* x_9;
-x_9 = l_Std_PersistentArray_forInAux___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__2___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-return x_9;
-}
-}
-lean_object* l_Std_PersistentArray_forInAux___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__2___boxed(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) {
-_start:
-{
-lean_object* x_11;
-x_11 = l_Std_PersistentArray_forInAux___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_3);
-lean_dec(x_2);
-return x_11;
-}
-}
lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__5___boxed(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) {
_start:
{
@@ -14172,11 +14164,11 @@ lean_dec(x_3);
return x_15;
}
}
-lean_object* l_Std_PersistentArray_forIn___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__1___lambda__1___boxed(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* l_Std_PersistentArray_forInAux___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__3___lambda__1___boxed(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:
{
lean_object* x_9;
-x_9 = l_Std_PersistentArray_forIn___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__1___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8);
+x_9 = l_Std_PersistentArray_forInAux___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__3___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
@@ -14186,46 +14178,72 @@ lean_dec(x_2);
return x_9;
}
}
-lean_object* l_Std_PersistentArray_forIn___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__1___boxed(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* l_Std_PersistentArray_forInAux___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__3___boxed(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) {
_start:
{
-lean_object* x_10;
-x_10 = l_Std_PersistentArray_forIn___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
+lean_object* x_11;
+x_11 = l_Std_PersistentArray_forInAux___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
+lean_dec(x_9);
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
-lean_dec(x_4);
+lean_dec(x_3);
lean_dec(x_2);
-return x_10;
+return x_11;
}
}
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__6___rarg___boxed(lean_object* x_1, lean_object* x_2) {
+lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__6___boxed(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) {
_start:
{
-lean_object* x_3;
-x_3 = l___private_Lean_Util_Trace_5__getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__6___rarg(x_1, x_2);
-lean_dec(x_1);
-return x_3;
+size_t x_13; size_t x_14; lean_object* x_15;
+x_13 = lean_unbox_usize(x_4);
+lean_dec(x_4);
+x_14 = lean_unbox_usize(x_5);
+lean_dec(x_5);
+x_15 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__6(x_1, x_2, x_3, x_13, x_14, x_6, x_7, x_8, x_9, x_10, x_11, x_12);
+lean_dec(x_11);
+lean_dec(x_10);
+lean_dec(x_9);
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_3);
+return x_15;
}
}
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__6___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
+lean_object* l_Std_PersistentArray_forIn___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__2___lambda__1___boxed(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:
{
-lean_object* x_5;
-x_5 = l___private_Lean_Util_Trace_5__getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__6(x_1, x_2, x_3, x_4);
+lean_object* x_9;
+x_9 = l_Std_PersistentArray_forIn___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__2___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-lean_dec(x_1);
-return x_5;
+return x_9;
}
}
-lean_object* l___private_Lean_Util_Trace_4__addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__7___boxed(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* l_Std_PersistentArray_forIn___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__2___boxed(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) {
_start:
{
lean_object* x_10;
-x_10 = l___private_Lean_Util_Trace_4__addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__7(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
+x_10 = l_Std_PersistentArray_forIn___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_2);
+return x_10;
+}
+}
+lean_object* l___private_Lean_Util_Trace_0__Lean_addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__7___boxed(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) {
+_start:
+{
+lean_object* x_10;
+x_10 = l___private_Lean_Util_Trace_0__Lean_addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__7(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
@@ -14234,11 +14252,11 @@ lean_dec(x_4);
return x_10;
}
}
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__8___boxed(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* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__8___boxed(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) {
_start:
{
lean_object* x_8;
-x_8 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__8(x_1, x_2, x_3, x_4, x_5, x_6, x_7);
+x_8 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__8(x_1, x_2, x_3, x_4, x_5, x_6, x_7);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
@@ -14343,47 +14361,47 @@ x_11 = lean_unsigned_to_nat(0u);
x_12 = lean_nat_dec_eq(x_9, x_11);
if (x_12 == 0)
{
-lean_object* x_13; uint8_t x_111; lean_object* x_112; lean_object* x_123; lean_object* x_124; lean_object* x_125; uint8_t x_126;
+lean_object* x_13; uint8_t x_70; lean_object* x_71; lean_object* x_82; lean_object* x_83; lean_object* x_84; uint8_t x_85;
lean_free_object(x_7);
-x_123 = lean_st_ref_get(x_5, x_10);
-x_124 = lean_ctor_get(x_123, 0);
-lean_inc(x_124);
-x_125 = lean_ctor_get(x_124, 3);
-lean_inc(x_125);
-lean_dec(x_124);
-x_126 = lean_ctor_get_uint8(x_125, sizeof(void*)*1);
-lean_dec(x_125);
-if (x_126 == 0)
+x_82 = lean_st_ref_get(x_5, x_10);
+x_83 = lean_ctor_get(x_82, 0);
+lean_inc(x_83);
+x_84 = lean_ctor_get(x_83, 3);
+lean_inc(x_84);
+lean_dec(x_83);
+x_85 = lean_ctor_get_uint8(x_84, sizeof(void*)*1);
+lean_dec(x_84);
+if (x_85 == 0)
{
-lean_object* x_127; uint8_t x_128;
-x_127 = lean_ctor_get(x_123, 1);
-lean_inc(x_127);
-lean_dec(x_123);
-x_128 = 0;
-x_111 = x_128;
-x_112 = x_127;
-goto block_122;
+lean_object* x_86; uint8_t x_87;
+x_86 = lean_ctor_get(x_82, 1);
+lean_inc(x_86);
+lean_dec(x_82);
+x_87 = 0;
+x_70 = x_87;
+x_71 = x_86;
+goto block_81;
}
else
{
-lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; uint8_t x_134;
-x_129 = lean_ctor_get(x_123, 1);
-lean_inc(x_129);
-lean_dec(x_123);
-x_130 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__2;
-x_131 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_130, x_1, x_2, x_3, x_4, x_5, x_129);
-x_132 = lean_ctor_get(x_131, 0);
-lean_inc(x_132);
-x_133 = lean_ctor_get(x_131, 1);
-lean_inc(x_133);
-lean_dec(x_131);
-x_134 = lean_unbox(x_132);
-lean_dec(x_132);
-x_111 = x_134;
-x_112 = x_133;
-goto block_122;
+lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; uint8_t x_93;
+x_88 = lean_ctor_get(x_82, 1);
+lean_inc(x_88);
+lean_dec(x_82);
+x_89 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__2;
+x_90 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_89, x_1, x_2, x_3, x_4, x_5, x_88);
+x_91 = lean_ctor_get(x_90, 0);
+lean_inc(x_91);
+x_92 = lean_ctor_get(x_90, 1);
+lean_inc(x_92);
+lean_dec(x_90);
+x_93 = lean_unbox(x_91);
+lean_dec(x_91);
+x_70 = x_93;
+x_71 = x_92;
+goto block_81;
}
-block_110:
+block_69:
{
lean_object* x_14;
lean_inc(x_5);
@@ -14394,7 +14412,7 @@ lean_inc(x_1);
x_14 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep(x_1, x_2, x_3, x_4, x_5, x_13);
if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; uint8_t x_103;
+lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; uint8_t x_62;
x_15 = lean_ctor_get(x_14, 0);
lean_inc(x_15);
x_16 = lean_ctor_get(x_14, 1);
@@ -14407,812 +14425,621 @@ if (lean_is_exclusive(x_14)) {
lean_dec_ref(x_14);
x_17 = lean_box(0);
}
-x_103 = lean_unbox(x_15);
+x_62 = lean_unbox(x_15);
lean_dec(x_15);
-if (x_103 == 0)
+if (x_62 == 0)
{
-uint8_t x_104;
-x_104 = 1;
-x_18 = x_104;
-goto block_102;
+uint8_t x_63;
+x_63 = 1;
+x_18 = x_63;
+goto block_61;
}
else
{
-uint8_t x_105;
-x_105 = 0;
-x_18 = x_105;
-goto block_102;
+uint8_t x_64;
+x_64 = 0;
+x_18 = x_64;
+goto block_61;
}
-block_102:
+block_61:
{
if (x_18 == 0)
{
-lean_object* x_19; uint8_t x_20;
-lean_dec(x_17);
+lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; uint8_t x_23; lean_object* x_24; uint8_t x_40;
x_19 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_getNumPostponed(x_1, x_2, x_3, x_4, x_5, x_16);
-x_20 = !lean_is_exclusive(x_19);
-if (x_20 == 0)
+x_20 = lean_ctor_get(x_19, 0);
+lean_inc(x_20);
+x_21 = lean_ctor_get(x_19, 1);
+lean_inc(x_21);
+if (lean_is_exclusive(x_19)) {
+ lean_ctor_release(x_19, 0);
+ lean_ctor_release(x_19, 1);
+ x_22 = x_19;
+} else {
+ lean_dec_ref(x_19);
+ x_22 = lean_box(0);
+}
+x_40 = lean_nat_dec_eq(x_20, x_11);
+if (x_40 == 0)
{
-lean_object* x_21; lean_object* x_22; uint8_t x_23;
-x_21 = lean_ctor_get(x_19, 0);
-x_22 = lean_ctor_get(x_19, 1);
-x_23 = lean_nat_dec_eq(x_21, x_11);
-if (x_23 == 0)
-{
-uint8_t x_24;
-lean_free_object(x_19);
-x_24 = lean_nat_dec_lt(x_21, x_9);
+uint8_t x_41;
+lean_dec(x_17);
+x_41 = lean_nat_dec_lt(x_20, x_9);
lean_dec(x_9);
-lean_dec(x_21);
-if (x_24 == 0)
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27; uint8_t x_28;
-x_25 = lean_st_ref_get(x_5, x_22);
-x_26 = lean_ctor_get(x_25, 0);
-lean_inc(x_26);
-x_27 = lean_ctor_get(x_26, 3);
-lean_inc(x_27);
-lean_dec(x_26);
-x_28 = lean_ctor_get_uint8(x_27, sizeof(void*)*1);
-lean_dec(x_27);
-if (x_28 == 0)
-{
-uint8_t x_29;
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_dec(x_1);
-x_29 = !lean_is_exclusive(x_25);
-if (x_29 == 0)
-{
-lean_object* x_30; uint8_t x_31; lean_object* x_32;
-x_30 = lean_ctor_get(x_25, 0);
-lean_dec(x_30);
-x_31 = 0;
-x_32 = lean_box(x_31);
-lean_ctor_set(x_25, 0, x_32);
-return x_25;
-}
-else
-{
-lean_object* x_33; uint8_t x_34; lean_object* x_35; lean_object* x_36;
-x_33 = lean_ctor_get(x_25, 1);
-lean_inc(x_33);
-lean_dec(x_25);
-x_34 = 0;
-x_35 = lean_box(x_34);
-x_36 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_36, 0, x_35);
-lean_ctor_set(x_36, 1, x_33);
-return x_36;
-}
-}
-else
-{
-lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; uint8_t x_41;
-x_37 = lean_ctor_get(x_25, 1);
-lean_inc(x_37);
-lean_dec(x_25);
-x_38 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__2;
-x_39 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_38, x_1, x_2, x_3, x_4, x_5, x_37);
-x_40 = lean_ctor_get(x_39, 0);
-lean_inc(x_40);
-x_41 = lean_unbox(x_40);
-lean_dec(x_40);
+lean_dec(x_20);
if (x_41 == 0)
{
-uint8_t x_42;
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_dec(x_1);
-x_42 = !lean_is_exclusive(x_39);
-if (x_42 == 0)
-{
-lean_object* x_43; uint8_t x_44; lean_object* x_45;
-x_43 = lean_ctor_get(x_39, 0);
+lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45;
+x_42 = lean_st_ref_get(x_5, x_21);
+x_43 = lean_ctor_get(x_42, 0);
+lean_inc(x_43);
+x_44 = lean_ctor_get(x_43, 3);
+lean_inc(x_44);
lean_dec(x_43);
-x_44 = 0;
-x_45 = lean_box(x_44);
-lean_ctor_set(x_39, 0, x_45);
-return x_39;
-}
-else
+x_45 = lean_ctor_get_uint8(x_44, sizeof(void*)*1);
+lean_dec(x_44);
+if (x_45 == 0)
{
-lean_object* x_46; uint8_t x_47; lean_object* x_48; lean_object* x_49;
-x_46 = lean_ctor_get(x_39, 1);
+lean_object* x_46; uint8_t x_47;
+x_46 = lean_ctor_get(x_42, 1);
lean_inc(x_46);
-lean_dec(x_39);
+lean_dec(x_42);
x_47 = 0;
-x_48 = lean_box(x_47);
-x_49 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_49, 0, x_48);
-lean_ctor_set(x_49, 1, x_46);
-return x_49;
+x_23 = x_47;
+x_24 = x_46;
+goto block_39;
+}
+else
+{
+lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; uint8_t x_53;
+x_48 = lean_ctor_get(x_42, 1);
+lean_inc(x_48);
+lean_dec(x_42);
+x_49 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__2;
+x_50 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_49, x_1, x_2, x_3, x_4, x_5, x_48);
+x_51 = lean_ctor_get(x_50, 0);
+lean_inc(x_51);
+x_52 = lean_ctor_get(x_50, 1);
+lean_inc(x_52);
+lean_dec(x_50);
+x_53 = lean_unbox(x_51);
+lean_dec(x_51);
+x_23 = x_53;
+x_24 = x_52;
+goto block_39;
}
}
else
{
-lean_object* x_50; lean_object* x_51; lean_object* x_52; uint8_t x_53;
-x_50 = lean_ctor_get(x_39, 1);
-lean_inc(x_50);
-lean_dec(x_39);
-x_51 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedAux___rarg___closed__2;
-x_52 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__2(x_38, x_51, x_1, x_2, x_3, x_4, x_5, x_50);
+lean_dec(x_22);
+x_6 = x_21;
+goto _start;
+}
+}
+else
+{
+uint8_t x_55; lean_object* x_56; lean_object* x_57;
+lean_dec(x_22);
+lean_dec(x_20);
+lean_dec(x_9);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_53 = !lean_is_exclusive(x_52);
-if (x_53 == 0)
-{
-lean_object* x_54; uint8_t x_55; lean_object* x_56;
-x_54 = lean_ctor_get(x_52, 0);
-lean_dec(x_54);
-x_55 = 0;
+x_55 = 1;
x_56 = lean_box(x_55);
-lean_ctor_set(x_52, 0, x_56);
-return x_52;
+if (lean_is_scalar(x_17)) {
+ x_57 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_57 = x_17;
+}
+lean_ctor_set(x_57, 0, x_56);
+lean_ctor_set(x_57, 1, x_21);
+return x_57;
+}
+block_39:
+{
+if (x_23 == 0)
+{
+uint8_t x_25; lean_object* x_26; lean_object* x_27;
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+lean_dec(x_1);
+x_25 = 0;
+x_26 = lean_box(x_25);
+if (lean_is_scalar(x_22)) {
+ x_27 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_27 = x_22;
+}
+lean_ctor_set(x_27, 0, x_26);
+lean_ctor_set(x_27, 1, x_24);
+return x_27;
}
else
{
-lean_object* x_57; uint8_t x_58; lean_object* x_59; lean_object* x_60;
-x_57 = lean_ctor_get(x_52, 1);
-lean_inc(x_57);
-lean_dec(x_52);
+lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31;
+lean_dec(x_22);
+x_28 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__2;
+x_29 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedAux___rarg___closed__2;
+x_30 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__2(x_28, x_29, x_1, x_2, x_3, x_4, x_5, x_24);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+lean_dec(x_1);
+x_31 = !lean_is_exclusive(x_30);
+if (x_31 == 0)
+{
+lean_object* x_32; uint8_t x_33; lean_object* x_34;
+x_32 = lean_ctor_get(x_30, 0);
+lean_dec(x_32);
+x_33 = 0;
+x_34 = lean_box(x_33);
+lean_ctor_set(x_30, 0, x_34);
+return x_30;
+}
+else
+{
+lean_object* x_35; uint8_t x_36; lean_object* x_37; lean_object* x_38;
+x_35 = lean_ctor_get(x_30, 1);
+lean_inc(x_35);
+lean_dec(x_30);
+x_36 = 0;
+x_37 = lean_box(x_36);
+x_38 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_38, 0, x_37);
+lean_ctor_set(x_38, 1, x_35);
+return x_38;
+}
+}
+}
+}
+else
+{
+uint8_t x_58; lean_object* x_59; lean_object* x_60;
+lean_dec(x_9);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+lean_dec(x_1);
x_58 = 0;
x_59 = lean_box(x_58);
-x_60 = lean_alloc_ctor(0, 2, 0);
+if (lean_is_scalar(x_17)) {
+ x_60 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_60 = x_17;
+}
lean_ctor_set(x_60, 0, x_59);
-lean_ctor_set(x_60, 1, x_57);
+lean_ctor_set(x_60, 1, x_16);
return x_60;
}
}
}
-}
else
{
-x_6 = x_22;
-goto _start;
-}
-}
-else
-{
-uint8_t x_62; lean_object* x_63;
-lean_dec(x_21);
+uint8_t x_65;
lean_dec(x_9);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_62 = 1;
-x_63 = lean_box(x_62);
-lean_ctor_set(x_19, 0, x_63);
-return x_19;
-}
-}
-else
-{
-lean_object* x_64; lean_object* x_65; uint8_t 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_dec(x_19);
-x_66 = lean_nat_dec_eq(x_64, x_11);
-if (x_66 == 0)
-{
-uint8_t x_67;
-x_67 = lean_nat_dec_lt(x_64, x_9);
-lean_dec(x_9);
-lean_dec(x_64);
-if (x_67 == 0)
-{
-lean_object* x_68; lean_object* x_69; lean_object* x_70; uint8_t x_71;
-x_68 = lean_st_ref_get(x_5, x_65);
-x_69 = lean_ctor_get(x_68, 0);
-lean_inc(x_69);
-x_70 = lean_ctor_get(x_69, 3);
-lean_inc(x_70);
-lean_dec(x_69);
-x_71 = lean_ctor_get_uint8(x_70, sizeof(void*)*1);
-lean_dec(x_70);
-if (x_71 == 0)
-{
-lean_object* x_72; lean_object* x_73; uint8_t x_74; lean_object* x_75; lean_object* x_76;
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_dec(x_1);
-x_72 = lean_ctor_get(x_68, 1);
-lean_inc(x_72);
-if (lean_is_exclusive(x_68)) {
- lean_ctor_release(x_68, 0);
- lean_ctor_release(x_68, 1);
- x_73 = x_68;
-} else {
- lean_dec_ref(x_68);
- x_73 = lean_box(0);
-}
-x_74 = 0;
-x_75 = lean_box(x_74);
-if (lean_is_scalar(x_73)) {
- x_76 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_76 = x_73;
-}
-lean_ctor_set(x_76, 0, x_75);
-lean_ctor_set(x_76, 1, x_72);
-return x_76;
-}
-else
-{
-lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; uint8_t x_81;
-x_77 = lean_ctor_get(x_68, 1);
-lean_inc(x_77);
-lean_dec(x_68);
-x_78 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__2;
-x_79 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_78, x_1, x_2, x_3, x_4, x_5, x_77);
-x_80 = lean_ctor_get(x_79, 0);
-lean_inc(x_80);
-x_81 = lean_unbox(x_80);
-lean_dec(x_80);
-if (x_81 == 0)
-{
-lean_object* x_82; lean_object* x_83; uint8_t x_84; lean_object* x_85; lean_object* x_86;
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_dec(x_1);
-x_82 = lean_ctor_get(x_79, 1);
-lean_inc(x_82);
-if (lean_is_exclusive(x_79)) {
- lean_ctor_release(x_79, 0);
- lean_ctor_release(x_79, 1);
- x_83 = x_79;
-} else {
- lean_dec_ref(x_79);
- x_83 = lean_box(0);
-}
-x_84 = 0;
-x_85 = lean_box(x_84);
-if (lean_is_scalar(x_83)) {
- x_86 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_86 = x_83;
-}
-lean_ctor_set(x_86, 0, x_85);
-lean_ctor_set(x_86, 1, x_82);
-return x_86;
-}
-else
-{
-lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; uint8_t x_92; lean_object* x_93; lean_object* x_94;
-x_87 = lean_ctor_get(x_79, 1);
-lean_inc(x_87);
-lean_dec(x_79);
-x_88 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedAux___rarg___closed__2;
-x_89 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__2(x_78, x_88, x_1, x_2, x_3, x_4, x_5, x_87);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_dec(x_1);
-x_90 = lean_ctor_get(x_89, 1);
-lean_inc(x_90);
-if (lean_is_exclusive(x_89)) {
- lean_ctor_release(x_89, 0);
- lean_ctor_release(x_89, 1);
- x_91 = x_89;
-} else {
- lean_dec_ref(x_89);
- x_91 = lean_box(0);
-}
-x_92 = 0;
-x_93 = lean_box(x_92);
-if (lean_is_scalar(x_91)) {
- x_94 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_94 = x_91;
-}
-lean_ctor_set(x_94, 0, x_93);
-lean_ctor_set(x_94, 1, x_90);
-return x_94;
-}
-}
-}
-else
-{
-x_6 = x_65;
-goto _start;
-}
-}
-else
-{
-uint8_t x_96; lean_object* x_97; lean_object* x_98;
-lean_dec(x_64);
-lean_dec(x_9);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_dec(x_1);
-x_96 = 1;
-x_97 = lean_box(x_96);
-x_98 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_98, 0, x_97);
-lean_ctor_set(x_98, 1, x_65);
-return x_98;
-}
-}
-}
-else
-{
-uint8_t x_99; lean_object* x_100; lean_object* x_101;
-lean_dec(x_9);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_dec(x_1);
-x_99 = 0;
-x_100 = lean_box(x_99);
-if (lean_is_scalar(x_17)) {
- x_101 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_101 = x_17;
-}
-lean_ctor_set(x_101, 0, x_100);
-lean_ctor_set(x_101, 1, x_16);
-return x_101;
-}
-}
-}
-else
-{
-uint8_t x_106;
-lean_dec(x_9);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_dec(x_1);
-x_106 = !lean_is_exclusive(x_14);
-if (x_106 == 0)
+x_65 = !lean_is_exclusive(x_14);
+if (x_65 == 0)
{
return x_14;
}
else
{
-lean_object* x_107; lean_object* x_108; lean_object* x_109;
-x_107 = lean_ctor_get(x_14, 0);
-x_108 = lean_ctor_get(x_14, 1);
-lean_inc(x_108);
-lean_inc(x_107);
+lean_object* x_66; lean_object* x_67; lean_object* x_68;
+x_66 = lean_ctor_get(x_14, 0);
+x_67 = lean_ctor_get(x_14, 1);
+lean_inc(x_67);
+lean_inc(x_66);
lean_dec(x_14);
-x_109 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_109, 0, x_107);
-lean_ctor_set(x_109, 1, x_108);
-return x_109;
+x_68 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_68, 0, x_66);
+lean_ctor_set(x_68, 1, x_67);
+return x_68;
}
}
}
-block_122:
+block_81:
{
-if (x_111 == 0)
+if (x_70 == 0)
{
-x_13 = x_112;
-goto block_110;
+x_13 = x_71;
+goto block_69;
}
else
{
-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_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80;
lean_inc(x_9);
-x_113 = l_Lean_fmt___at_Lean_Position_Lean_Data_Position___instance__2___spec__1(x_9);
-x_114 = lean_alloc_ctor(0, 1, 0);
-lean_ctor_set(x_114, 0, x_113);
-x_115 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedAux___rarg___closed__4;
-x_116 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_116, 0, x_115);
-lean_ctor_set(x_116, 1, x_114);
-x_117 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedAux___rarg___closed__6;
-x_118 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_118, 0, x_116);
-lean_ctor_set(x_118, 1, x_117);
-x_119 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__2;
-x_120 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__2(x_119, x_118, x_1, x_2, x_3, x_4, x_5, x_112);
-x_121 = lean_ctor_get(x_120, 1);
-lean_inc(x_121);
-lean_dec(x_120);
-x_13 = x_121;
-goto block_110;
+x_72 = l_Lean_fmt___at_Lean_Position_Lean_Data_Position___instance__2___spec__1(x_9);
+x_73 = lean_alloc_ctor(0, 1, 0);
+lean_ctor_set(x_73, 0, x_72);
+x_74 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedAux___rarg___closed__4;
+x_75 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_75, 0, x_74);
+lean_ctor_set(x_75, 1, x_73);
+x_76 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedAux___rarg___closed__6;
+x_77 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_77, 0, x_75);
+lean_ctor_set(x_77, 1, x_76);
+x_78 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__2;
+x_79 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__2(x_78, x_77, x_1, x_2, x_3, x_4, x_5, x_71);
+x_80 = lean_ctor_get(x_79, 1);
+lean_inc(x_80);
+lean_dec(x_79);
+x_13 = x_80;
+goto block_69;
}
}
}
else
{
-uint8_t x_135; lean_object* x_136;
+uint8_t x_94; lean_object* x_95;
lean_dec(x_9);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_135 = 1;
-x_136 = lean_box(x_135);
-lean_ctor_set(x_7, 0, x_136);
+x_94 = 1;
+x_95 = lean_box(x_94);
+lean_ctor_set(x_7, 0, x_95);
return x_7;
}
}
else
{
-lean_object* x_137; lean_object* x_138; lean_object* x_139; uint8_t x_140;
-x_137 = lean_ctor_get(x_7, 0);
-x_138 = lean_ctor_get(x_7, 1);
-lean_inc(x_138);
-lean_inc(x_137);
+lean_object* x_96; lean_object* x_97; lean_object* x_98; uint8_t x_99;
+x_96 = lean_ctor_get(x_7, 0);
+x_97 = lean_ctor_get(x_7, 1);
+lean_inc(x_97);
+lean_inc(x_96);
lean_dec(x_7);
-x_139 = lean_unsigned_to_nat(0u);
-x_140 = lean_nat_dec_eq(x_137, x_139);
-if (x_140 == 0)
+x_98 = lean_unsigned_to_nat(0u);
+x_99 = lean_nat_dec_eq(x_96, x_98);
+if (x_99 == 0)
{
-lean_object* x_141; uint8_t x_196; lean_object* x_197; lean_object* x_208; lean_object* x_209; lean_object* x_210; uint8_t x_211;
-x_208 = lean_st_ref_get(x_5, x_138);
-x_209 = lean_ctor_get(x_208, 0);
-lean_inc(x_209);
-x_210 = lean_ctor_get(x_209, 3);
-lean_inc(x_210);
-lean_dec(x_209);
-x_211 = lean_ctor_get_uint8(x_210, sizeof(void*)*1);
-lean_dec(x_210);
-if (x_211 == 0)
+lean_object* x_100; uint8_t x_154; lean_object* x_155; lean_object* x_166; lean_object* x_167; lean_object* x_168; uint8_t x_169;
+x_166 = lean_st_ref_get(x_5, x_97);
+x_167 = lean_ctor_get(x_166, 0);
+lean_inc(x_167);
+x_168 = lean_ctor_get(x_167, 3);
+lean_inc(x_168);
+lean_dec(x_167);
+x_169 = lean_ctor_get_uint8(x_168, sizeof(void*)*1);
+lean_dec(x_168);
+if (x_169 == 0)
{
-lean_object* x_212; uint8_t x_213;
-x_212 = lean_ctor_get(x_208, 1);
-lean_inc(x_212);
-lean_dec(x_208);
-x_213 = 0;
-x_196 = x_213;
-x_197 = x_212;
-goto block_207;
+lean_object* x_170; uint8_t x_171;
+x_170 = lean_ctor_get(x_166, 1);
+lean_inc(x_170);
+lean_dec(x_166);
+x_171 = 0;
+x_154 = x_171;
+x_155 = x_170;
+goto block_165;
}
else
{
-lean_object* x_214; lean_object* x_215; lean_object* x_216; lean_object* x_217; lean_object* x_218; uint8_t x_219;
-x_214 = lean_ctor_get(x_208, 1);
-lean_inc(x_214);
-lean_dec(x_208);
-x_215 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__2;
-x_216 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_215, x_1, x_2, x_3, x_4, x_5, x_214);
-x_217 = lean_ctor_get(x_216, 0);
-lean_inc(x_217);
-x_218 = lean_ctor_get(x_216, 1);
-lean_inc(x_218);
-lean_dec(x_216);
-x_219 = lean_unbox(x_217);
-lean_dec(x_217);
-x_196 = x_219;
-x_197 = x_218;
-goto block_207;
+lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; uint8_t x_177;
+x_172 = lean_ctor_get(x_166, 1);
+lean_inc(x_172);
+lean_dec(x_166);
+x_173 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__2;
+x_174 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_173, x_1, x_2, x_3, x_4, x_5, x_172);
+x_175 = lean_ctor_get(x_174, 0);
+lean_inc(x_175);
+x_176 = lean_ctor_get(x_174, 1);
+lean_inc(x_176);
+lean_dec(x_174);
+x_177 = lean_unbox(x_175);
+lean_dec(x_175);
+x_154 = x_177;
+x_155 = x_176;
+goto block_165;
}
-block_195:
+block_153:
{
-lean_object* x_142;
+lean_object* x_101;
lean_inc(x_5);
lean_inc(x_4);
lean_inc(x_3);
lean_inc(x_2);
lean_inc(x_1);
-x_142 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep(x_1, x_2, x_3, x_4, x_5, x_141);
-if (lean_obj_tag(x_142) == 0)
+x_101 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep(x_1, x_2, x_3, x_4, x_5, x_100);
+if (lean_obj_tag(x_101) == 0)
{
-lean_object* x_143; lean_object* x_144; lean_object* x_145; uint8_t x_146; uint8_t x_188;
-x_143 = lean_ctor_get(x_142, 0);
-lean_inc(x_143);
-x_144 = lean_ctor_get(x_142, 1);
-lean_inc(x_144);
-if (lean_is_exclusive(x_142)) {
- lean_ctor_release(x_142, 0);
- lean_ctor_release(x_142, 1);
- x_145 = x_142;
+lean_object* x_102; lean_object* x_103; lean_object* x_104; uint8_t x_105; uint8_t x_146;
+x_102 = lean_ctor_get(x_101, 0);
+lean_inc(x_102);
+x_103 = lean_ctor_get(x_101, 1);
+lean_inc(x_103);
+if (lean_is_exclusive(x_101)) {
+ lean_ctor_release(x_101, 0);
+ lean_ctor_release(x_101, 1);
+ x_104 = x_101;
} else {
- lean_dec_ref(x_142);
- x_145 = lean_box(0);
+ lean_dec_ref(x_101);
+ x_104 = lean_box(0);
}
-x_188 = lean_unbox(x_143);
-lean_dec(x_143);
-if (x_188 == 0)
-{
-uint8_t x_189;
-x_189 = 1;
-x_146 = x_189;
-goto block_187;
-}
-else
-{
-uint8_t x_190;
-x_190 = 0;
-x_146 = x_190;
-goto block_187;
-}
-block_187:
-{
+x_146 = lean_unbox(x_102);
+lean_dec(x_102);
if (x_146 == 0)
{
-lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; uint8_t x_151;
-lean_dec(x_145);
-x_147 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_getNumPostponed(x_1, x_2, x_3, x_4, x_5, x_144);
-x_148 = lean_ctor_get(x_147, 0);
-lean_inc(x_148);
-x_149 = lean_ctor_get(x_147, 1);
-lean_inc(x_149);
-if (lean_is_exclusive(x_147)) {
- lean_ctor_release(x_147, 0);
- lean_ctor_release(x_147, 1);
- x_150 = x_147;
-} else {
- lean_dec_ref(x_147);
- x_150 = lean_box(0);
-}
-x_151 = lean_nat_dec_eq(x_148, x_139);
-if (x_151 == 0)
-{
-uint8_t x_152;
-lean_dec(x_150);
-x_152 = lean_nat_dec_lt(x_148, x_137);
-lean_dec(x_137);
-lean_dec(x_148);
-if (x_152 == 0)
-{
-lean_object* x_153; lean_object* x_154; lean_object* x_155; uint8_t x_156;
-x_153 = lean_st_ref_get(x_5, x_149);
-x_154 = lean_ctor_get(x_153, 0);
-lean_inc(x_154);
-x_155 = lean_ctor_get(x_154, 3);
-lean_inc(x_155);
-lean_dec(x_154);
-x_156 = lean_ctor_get_uint8(x_155, sizeof(void*)*1);
-lean_dec(x_155);
-if (x_156 == 0)
-{
-lean_object* x_157; lean_object* x_158; uint8_t x_159; lean_object* x_160; lean_object* x_161;
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_dec(x_1);
-x_157 = lean_ctor_get(x_153, 1);
-lean_inc(x_157);
-if (lean_is_exclusive(x_153)) {
- lean_ctor_release(x_153, 0);
- lean_ctor_release(x_153, 1);
- x_158 = x_153;
-} else {
- lean_dec_ref(x_153);
- x_158 = lean_box(0);
-}
-x_159 = 0;
-x_160 = lean_box(x_159);
-if (lean_is_scalar(x_158)) {
- x_161 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_161 = x_158;
-}
-lean_ctor_set(x_161, 0, x_160);
-lean_ctor_set(x_161, 1, x_157);
-return x_161;
+uint8_t x_147;
+x_147 = 1;
+x_105 = x_147;
+goto block_145;
}
else
{
-lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; uint8_t x_166;
-x_162 = lean_ctor_get(x_153, 1);
-lean_inc(x_162);
-lean_dec(x_153);
-x_163 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__2;
-x_164 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_163, x_1, x_2, x_3, x_4, x_5, x_162);
-x_165 = lean_ctor_get(x_164, 0);
-lean_inc(x_165);
-x_166 = lean_unbox(x_165);
-lean_dec(x_165);
-if (x_166 == 0)
+uint8_t x_148;
+x_148 = 0;
+x_105 = x_148;
+goto block_145;
+}
+block_145:
{
-lean_object* x_167; lean_object* x_168; uint8_t x_169; lean_object* x_170; lean_object* x_171;
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_dec(x_1);
-x_167 = lean_ctor_get(x_164, 1);
-lean_inc(x_167);
-if (lean_is_exclusive(x_164)) {
- lean_ctor_release(x_164, 0);
- lean_ctor_release(x_164, 1);
- x_168 = x_164;
+if (x_105 == 0)
+{
+lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; uint8_t x_110; lean_object* x_111; uint8_t x_124;
+x_106 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_getNumPostponed(x_1, x_2, x_3, x_4, x_5, x_103);
+x_107 = lean_ctor_get(x_106, 0);
+lean_inc(x_107);
+x_108 = lean_ctor_get(x_106, 1);
+lean_inc(x_108);
+if (lean_is_exclusive(x_106)) {
+ lean_ctor_release(x_106, 0);
+ lean_ctor_release(x_106, 1);
+ x_109 = x_106;
} else {
- lean_dec_ref(x_164);
- x_168 = lean_box(0);
+ lean_dec_ref(x_106);
+ x_109 = lean_box(0);
}
-x_169 = 0;
-x_170 = lean_box(x_169);
-if (lean_is_scalar(x_168)) {
- x_171 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_171 = x_168;
-}
-lean_ctor_set(x_171, 0, x_170);
-lean_ctor_set(x_171, 1, x_167);
-return x_171;
+x_124 = lean_nat_dec_eq(x_107, x_98);
+if (x_124 == 0)
+{
+uint8_t x_125;
+lean_dec(x_104);
+x_125 = lean_nat_dec_lt(x_107, x_96);
+lean_dec(x_96);
+lean_dec(x_107);
+if (x_125 == 0)
+{
+lean_object* x_126; lean_object* x_127; lean_object* x_128; uint8_t x_129;
+x_126 = lean_st_ref_get(x_5, x_108);
+x_127 = lean_ctor_get(x_126, 0);
+lean_inc(x_127);
+x_128 = lean_ctor_get(x_127, 3);
+lean_inc(x_128);
+lean_dec(x_127);
+x_129 = lean_ctor_get_uint8(x_128, sizeof(void*)*1);
+lean_dec(x_128);
+if (x_129 == 0)
+{
+lean_object* x_130; uint8_t x_131;
+x_130 = lean_ctor_get(x_126, 1);
+lean_inc(x_130);
+lean_dec(x_126);
+x_131 = 0;
+x_110 = x_131;
+x_111 = x_130;
+goto block_123;
}
else
{
-lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; uint8_t x_177; lean_object* x_178; lean_object* x_179;
-x_172 = lean_ctor_get(x_164, 1);
-lean_inc(x_172);
-lean_dec(x_164);
-x_173 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedAux___rarg___closed__2;
-x_174 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__2(x_163, x_173, x_1, x_2, x_3, x_4, x_5, x_172);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_dec(x_1);
-x_175 = lean_ctor_get(x_174, 1);
-lean_inc(x_175);
-if (lean_is_exclusive(x_174)) {
- lean_ctor_release(x_174, 0);
- lean_ctor_release(x_174, 1);
- x_176 = x_174;
-} else {
- lean_dec_ref(x_174);
- x_176 = lean_box(0);
-}
-x_177 = 0;
-x_178 = lean_box(x_177);
-if (lean_is_scalar(x_176)) {
- x_179 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_179 = x_176;
-}
-lean_ctor_set(x_179, 0, x_178);
-lean_ctor_set(x_179, 1, x_175);
-return x_179;
-}
+lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; uint8_t x_137;
+x_132 = lean_ctor_get(x_126, 1);
+lean_inc(x_132);
+lean_dec(x_126);
+x_133 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__2;
+x_134 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_133, x_1, x_2, x_3, x_4, x_5, x_132);
+x_135 = lean_ctor_get(x_134, 0);
+lean_inc(x_135);
+x_136 = lean_ctor_get(x_134, 1);
+lean_inc(x_136);
+lean_dec(x_134);
+x_137 = lean_unbox(x_135);
+lean_dec(x_135);
+x_110 = x_137;
+x_111 = x_136;
+goto block_123;
}
}
else
{
-x_6 = x_149;
+lean_dec(x_109);
+x_6 = x_108;
goto _start;
}
}
else
{
-uint8_t x_181; lean_object* x_182; lean_object* x_183;
-lean_dec(x_148);
-lean_dec(x_137);
+uint8_t x_139; lean_object* x_140; lean_object* x_141;
+lean_dec(x_109);
+lean_dec(x_107);
+lean_dec(x_96);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_181 = 1;
-x_182 = lean_box(x_181);
-if (lean_is_scalar(x_150)) {
- x_183 = lean_alloc_ctor(0, 2, 0);
+x_139 = 1;
+x_140 = lean_box(x_139);
+if (lean_is_scalar(x_104)) {
+ x_141 = lean_alloc_ctor(0, 2, 0);
} else {
- x_183 = x_150;
+ x_141 = x_104;
}
-lean_ctor_set(x_183, 0, x_182);
-lean_ctor_set(x_183, 1, x_149);
-return x_183;
+lean_ctor_set(x_141, 0, x_140);
+lean_ctor_set(x_141, 1, x_108);
+return x_141;
}
-}
-else
+block_123:
{
-uint8_t x_184; lean_object* x_185; lean_object* x_186;
-lean_dec(x_137);
+if (x_110 == 0)
+{
+uint8_t x_112; lean_object* x_113; lean_object* x_114;
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_184 = 0;
-x_185 = lean_box(x_184);
-if (lean_is_scalar(x_145)) {
- x_186 = lean_alloc_ctor(0, 2, 0);
+x_112 = 0;
+x_113 = lean_box(x_112);
+if (lean_is_scalar(x_109)) {
+ x_114 = lean_alloc_ctor(0, 2, 0);
} else {
- x_186 = x_145;
-}
-lean_ctor_set(x_186, 0, x_185);
-lean_ctor_set(x_186, 1, x_144);
-return x_186;
-}
+ x_114 = x_109;
}
+lean_ctor_set(x_114, 0, x_113);
+lean_ctor_set(x_114, 1, x_111);
+return x_114;
}
else
{
-lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194;
-lean_dec(x_137);
+lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; uint8_t x_120; lean_object* x_121; lean_object* x_122;
+lean_dec(x_109);
+x_115 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__2;
+x_116 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedAux___rarg___closed__2;
+x_117 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__2(x_115, x_116, x_1, x_2, x_3, x_4, x_5, x_111);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_191 = lean_ctor_get(x_142, 0);
-lean_inc(x_191);
-x_192 = lean_ctor_get(x_142, 1);
-lean_inc(x_192);
-if (lean_is_exclusive(x_142)) {
- lean_ctor_release(x_142, 0);
- lean_ctor_release(x_142, 1);
- x_193 = x_142;
+x_118 = lean_ctor_get(x_117, 1);
+lean_inc(x_118);
+if (lean_is_exclusive(x_117)) {
+ lean_ctor_release(x_117, 0);
+ lean_ctor_release(x_117, 1);
+ x_119 = x_117;
} else {
- lean_dec_ref(x_142);
- x_193 = lean_box(0);
+ lean_dec_ref(x_117);
+ x_119 = lean_box(0);
}
-if (lean_is_scalar(x_193)) {
- x_194 = lean_alloc_ctor(1, 2, 0);
+x_120 = 0;
+x_121 = lean_box(x_120);
+if (lean_is_scalar(x_119)) {
+ x_122 = lean_alloc_ctor(0, 2, 0);
} else {
- x_194 = x_193;
+ x_122 = x_119;
}
-lean_ctor_set(x_194, 0, x_191);
-lean_ctor_set(x_194, 1, x_192);
-return x_194;
-}
-}
-block_207:
-{
-if (x_196 == 0)
-{
-x_141 = x_197;
-goto block_195;
-}
-else
-{
-lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206;
-lean_inc(x_137);
-x_198 = l_Lean_fmt___at_Lean_Position_Lean_Data_Position___instance__2___spec__1(x_137);
-x_199 = lean_alloc_ctor(0, 1, 0);
-lean_ctor_set(x_199, 0, x_198);
-x_200 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedAux___rarg___closed__4;
-x_201 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_201, 0, x_200);
-lean_ctor_set(x_201, 1, x_199);
-x_202 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedAux___rarg___closed__6;
-x_203 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_203, 0, x_201);
-lean_ctor_set(x_203, 1, x_202);
-x_204 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__2;
-x_205 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__2(x_204, x_203, x_1, x_2, x_3, x_4, x_5, x_197);
-x_206 = lean_ctor_get(x_205, 1);
-lean_inc(x_206);
-lean_dec(x_205);
-x_141 = x_206;
-goto block_195;
+lean_ctor_set(x_122, 0, x_121);
+lean_ctor_set(x_122, 1, x_118);
+return x_122;
}
}
}
else
{
-uint8_t x_220; lean_object* x_221; lean_object* x_222;
-lean_dec(x_137);
+uint8_t x_142; lean_object* x_143; lean_object* x_144;
+lean_dec(x_96);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_220 = 1;
-x_221 = lean_box(x_220);
-x_222 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_222, 0, x_221);
-lean_ctor_set(x_222, 1, x_138);
-return x_222;
+x_142 = 0;
+x_143 = lean_box(x_142);
+if (lean_is_scalar(x_104)) {
+ x_144 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_144 = x_104;
+}
+lean_ctor_set(x_144, 0, x_143);
+lean_ctor_set(x_144, 1, x_103);
+return x_144;
+}
+}
+}
+else
+{
+lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152;
+lean_dec(x_96);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+lean_dec(x_1);
+x_149 = lean_ctor_get(x_101, 0);
+lean_inc(x_149);
+x_150 = lean_ctor_get(x_101, 1);
+lean_inc(x_150);
+if (lean_is_exclusive(x_101)) {
+ lean_ctor_release(x_101, 0);
+ lean_ctor_release(x_101, 1);
+ x_151 = x_101;
+} else {
+ lean_dec_ref(x_101);
+ x_151 = lean_box(0);
+}
+if (lean_is_scalar(x_151)) {
+ x_152 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_152 = x_151;
+}
+lean_ctor_set(x_152, 0, x_149);
+lean_ctor_set(x_152, 1, x_150);
+return x_152;
+}
+}
+block_165:
+{
+if (x_154 == 0)
+{
+x_100 = x_155;
+goto block_153;
+}
+else
+{
+lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164;
+lean_inc(x_96);
+x_156 = l_Lean_fmt___at_Lean_Position_Lean_Data_Position___instance__2___spec__1(x_96);
+x_157 = lean_alloc_ctor(0, 1, 0);
+lean_ctor_set(x_157, 0, x_156);
+x_158 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedAux___rarg___closed__4;
+x_159 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_159, 0, x_158);
+lean_ctor_set(x_159, 1, x_157);
+x_160 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedAux___rarg___closed__6;
+x_161 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_161, 0, x_159);
+lean_ctor_set(x_161, 1, x_160);
+x_162 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__2;
+x_163 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__2(x_162, x_161, x_1, x_2, x_3, x_4, x_5, x_155);
+x_164 = lean_ctor_get(x_163, 1);
+lean_inc(x_164);
+lean_dec(x_163);
+x_100 = x_164;
+goto block_153;
+}
+}
+}
+else
+{
+uint8_t x_178; lean_object* x_179; lean_object* x_180;
+lean_dec(x_96);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+lean_dec(x_1);
+x_178 = 1;
+x_179 = lean_box(x_178);
+x_180 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_180, 0, x_179);
+lean_ctor_set(x_180, 1, x_97);
+return x_180;
}
}
}
@@ -15234,7 +15061,7 @@ lean_dec(x_1);
return x_2;
}
}
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed___spec__1___rarg(lean_object* x_1, lean_object* x_2) {
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed___spec__1___rarg(lean_object* x_1, lean_object* x_2) {
_start:
{
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; uint8_t x_12;
@@ -15378,15 +15205,15 @@ return x_40;
}
}
}
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
lean_object* x_5;
-x_5 = lean_alloc_closure((void*)(l___private_Lean_Util_Trace_5__getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed___spec__1___rarg___boxed), 2, 0);
+x_5 = lean_alloc_closure((void*)(l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed___spec__1___rarg___boxed), 2, 0);
return x_5;
}
}
-lean_object* l___private_Lean_Util_Trace_4__addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed___spec__2(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* l___private_Lean_Util_Trace_0__Lean_addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed___spec__2(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) {
_start:
{
lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14;
@@ -15417,7 +15244,7 @@ x_19 = l_Std_PersistentArray_toArray___rarg(x_17);
lean_dec(x_17);
x_20 = x_19;
x_21 = lean_unsigned_to_nat(0u);
-x_22 = l_Array_umapMAux___main___at___private_Lean_Util_Trace_4__addNode___spec__1(x_21, x_20);
+x_22 = l_Array_umapMAux___main___at___private_Lean_Util_Trace_0__Lean_addNode___spec__1(x_21, x_20);
x_23 = x_22;
x_24 = lean_alloc_ctor(12, 1, 0);
lean_ctor_set(x_24, 0, x_23);
@@ -15500,7 +15327,7 @@ x_45 = l_Std_PersistentArray_toArray___rarg(x_43);
lean_dec(x_43);
x_46 = x_45;
x_47 = lean_unsigned_to_nat(0u);
-x_48 = l_Array_umapMAux___main___at___private_Lean_Util_Trace_4__addNode___spec__1(x_47, x_46);
+x_48 = l_Array_umapMAux___main___at___private_Lean_Util_Trace_0__Lean_addNode___spec__1(x_47, x_46);
x_49 = x_48;
x_50 = lean_alloc_ctor(12, 1, 0);
lean_ctor_set(x_50, 0, x_49);
@@ -15597,7 +15424,7 @@ x_73 = l_Std_PersistentArray_toArray___rarg(x_70);
lean_dec(x_70);
x_74 = x_73;
x_75 = lean_unsigned_to_nat(0u);
-x_76 = l_Array_umapMAux___main___at___private_Lean_Util_Trace_4__addNode___spec__1(x_75, x_74);
+x_76 = l_Array_umapMAux___main___at___private_Lean_Util_Trace_0__Lean_addNode___spec__1(x_75, x_74);
x_77 = x_76;
x_78 = lean_alloc_ctor(12, 1, 0);
lean_ctor_set(x_78, 0, x_77);
@@ -15699,293 +15526,314 @@ x_12 = lean_nat_dec_eq(x_9, x_11);
lean_dec(x_9);
if (x_12 == 0)
{
-uint8_t x_13; lean_object* x_14; lean_object* x_216; lean_object* x_217; lean_object* x_218; uint8_t x_219;
+uint8_t x_13; lean_object* x_14; lean_object* x_220; lean_object* x_221; lean_object* x_222; uint8_t x_223;
lean_free_object(x_7);
-x_216 = lean_st_ref_get(x_5, x_10);
-x_217 = lean_ctor_get(x_216, 0);
-lean_inc(x_217);
-x_218 = lean_ctor_get(x_217, 3);
-lean_inc(x_218);
-lean_dec(x_217);
-x_219 = lean_ctor_get_uint8(x_218, sizeof(void*)*1);
-lean_dec(x_218);
-if (x_219 == 0)
+x_220 = lean_st_ref_get(x_5, x_10);
+x_221 = lean_ctor_get(x_220, 0);
+lean_inc(x_221);
+x_222 = lean_ctor_get(x_221, 3);
+lean_inc(x_222);
+lean_dec(x_221);
+x_223 = lean_ctor_get_uint8(x_222, sizeof(void*)*1);
+lean_dec(x_222);
+if (x_223 == 0)
{
-lean_object* x_220; uint8_t x_221;
-x_220 = lean_ctor_get(x_216, 1);
-lean_inc(x_220);
-lean_dec(x_216);
-x_221 = 0;
-x_13 = x_221;
-x_14 = x_220;
-goto block_215;
+lean_object* x_224; uint8_t x_225;
+x_224 = lean_ctor_get(x_220, 1);
+lean_inc(x_224);
+lean_dec(x_220);
+x_225 = 0;
+x_13 = x_225;
+x_14 = x_224;
+goto block_219;
}
else
{
-lean_object* x_222; lean_object* x_223; lean_object* x_224; lean_object* x_225; lean_object* x_226; uint8_t x_227;
-x_222 = lean_ctor_get(x_216, 1);
-lean_inc(x_222);
-lean_dec(x_216);
-x_223 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__2;
-x_224 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_223, x_1, x_2, x_3, x_4, x_5, x_222);
-x_225 = lean_ctor_get(x_224, 0);
-lean_inc(x_225);
-x_226 = lean_ctor_get(x_224, 1);
+lean_object* x_226; lean_object* x_227; lean_object* x_228; lean_object* x_229; lean_object* x_230; uint8_t x_231;
+x_226 = lean_ctor_get(x_220, 1);
lean_inc(x_226);
-lean_dec(x_224);
-x_227 = lean_unbox(x_225);
-lean_dec(x_225);
-x_13 = x_227;
-x_14 = x_226;
-goto block_215;
+lean_dec(x_220);
+x_227 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__2;
+x_228 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_227, x_1, x_2, x_3, x_4, x_5, x_226);
+x_229 = lean_ctor_get(x_228, 0);
+lean_inc(x_229);
+x_230 = lean_ctor_get(x_228, 1);
+lean_inc(x_230);
+lean_dec(x_228);
+x_231 = lean_unbox(x_229);
+lean_dec(x_229);
+x_13 = x_231;
+x_14 = x_230;
+goto block_219;
}
-block_215:
+block_219:
{
+uint8_t x_15;
if (x_13 == 0)
{
-lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24;
-x_15 = lean_st_ref_get(x_5, x_14);
-x_16 = lean_ctor_get(x_15, 0);
-lean_inc(x_16);
-x_17 = lean_ctor_get(x_16, 3);
-lean_inc(x_17);
-lean_dec(x_16);
-x_18 = lean_ctor_get(x_15, 1);
-lean_inc(x_18);
-lean_dec(x_15);
-x_19 = lean_ctor_get_uint8(x_17, sizeof(void*)*1);
-lean_dec(x_17);
-x_20 = lean_st_ref_take(x_5, x_18);
-x_21 = lean_ctor_get(x_20, 0);
-lean_inc(x_21);
-x_22 = lean_ctor_get(x_21, 3);
-lean_inc(x_22);
-x_23 = lean_ctor_get(x_20, 1);
-lean_inc(x_23);
-lean_dec(x_20);
-x_24 = !lean_is_exclusive(x_21);
-if (x_24 == 0)
-{
-lean_object* x_25; uint8_t x_26;
-x_25 = lean_ctor_get(x_21, 3);
-lean_dec(x_25);
-x_26 = !lean_is_exclusive(x_22);
-if (x_26 == 0)
-{
-uint8_t x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30;
-x_27 = 0;
-lean_ctor_set_uint8(x_22, sizeof(void*)*1, x_27);
-x_28 = lean_st_ref_set(x_5, x_21, x_23);
-x_29 = lean_ctor_get(x_28, 1);
-lean_inc(x_29);
-lean_dec(x_28);
-lean_inc(x_5);
-x_30 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedAux___rarg(x_1, x_2, x_3, x_4, x_5, x_29);
-if (lean_obj_tag(x_30) == 0)
-{
-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; uint8_t x_39;
-x_31 = lean_ctor_get(x_30, 0);
-lean_inc(x_31);
-x_32 = lean_ctor_get(x_30, 1);
-lean_inc(x_32);
-lean_dec(x_30);
-x_33 = lean_st_ref_get(x_5, x_32);
-x_34 = lean_ctor_get(x_33, 1);
-lean_inc(x_34);
-lean_dec(x_33);
-x_35 = lean_st_ref_take(x_5, x_34);
-x_36 = lean_ctor_get(x_35, 0);
-lean_inc(x_36);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-x_38 = lean_ctor_get(x_35, 1);
-lean_inc(x_38);
-lean_dec(x_35);
-x_39 = !lean_is_exclusive(x_36);
-if (x_39 == 0)
-{
-lean_object* x_40; uint8_t x_41;
-x_40 = lean_ctor_get(x_36, 3);
-lean_dec(x_40);
-x_41 = !lean_is_exclusive(x_37);
-if (x_41 == 0)
-{
-lean_object* x_42; uint8_t x_43;
-lean_ctor_set_uint8(x_37, sizeof(void*)*1, x_19);
-x_42 = lean_st_ref_set(x_5, x_36, x_38);
-lean_dec(x_5);
-x_43 = !lean_is_exclusive(x_42);
-if (x_43 == 0)
-{
-lean_object* x_44;
-x_44 = lean_ctor_get(x_42, 0);
-lean_dec(x_44);
-lean_ctor_set(x_42, 0, x_31);
-return x_42;
+uint8_t x_217;
+x_217 = 1;
+x_15 = x_217;
+goto block_216;
}
else
{
-lean_object* x_45; lean_object* x_46;
+uint8_t x_218;
+x_218 = 0;
+x_15 = x_218;
+goto block_216;
+}
+block_216:
+{
+if (x_15 == 0)
+{
+lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
+x_16 = lean_ctor_get(x_4, 3);
+lean_inc(x_16);
+x_17 = l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed___spec__1___rarg(x_5, x_14);
+x_18 = lean_ctor_get(x_17, 0);
+lean_inc(x_18);
+x_19 = lean_ctor_get(x_17, 1);
+lean_inc(x_19);
+lean_dec(x_17);
+lean_inc(x_5);
+lean_inc(x_4);
+lean_inc(x_3);
+lean_inc(x_2);
+lean_inc(x_1);
+x_20 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedAux___rarg(x_1, x_2, x_3, x_4, x_5, x_19);
+if (lean_obj_tag(x_20) == 0)
+{
+lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; uint8_t x_25;
+x_21 = lean_ctor_get(x_20, 0);
+lean_inc(x_21);
+x_22 = lean_ctor_get(x_20, 1);
+lean_inc(x_22);
+lean_dec(x_20);
+x_23 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__2;
+x_24 = l___private_Lean_Util_Trace_0__Lean_addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed___spec__2(x_18, x_23, x_16, x_1, x_2, x_3, x_4, x_5, x_22);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+lean_dec(x_1);
+x_25 = !lean_is_exclusive(x_24);
+if (x_25 == 0)
+{
+lean_object* x_26;
+x_26 = lean_ctor_get(x_24, 0);
+lean_dec(x_26);
+lean_ctor_set(x_24, 0, x_21);
+return x_24;
+}
+else
+{
+lean_object* x_27; lean_object* x_28;
+x_27 = lean_ctor_get(x_24, 1);
+lean_inc(x_27);
+lean_dec(x_24);
+x_28 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_28, 0, x_21);
+lean_ctor_set(x_28, 1, x_27);
+return x_28;
+}
+}
+else
+{
+lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; uint8_t x_33;
+x_29 = lean_ctor_get(x_20, 0);
+lean_inc(x_29);
+x_30 = lean_ctor_get(x_20, 1);
+lean_inc(x_30);
+lean_dec(x_20);
+x_31 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__2;
+x_32 = l___private_Lean_Util_Trace_0__Lean_addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed___spec__2(x_18, x_31, x_16, x_1, x_2, x_3, x_4, x_5, x_30);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+lean_dec(x_1);
+x_33 = !lean_is_exclusive(x_32);
+if (x_33 == 0)
+{
+lean_object* x_34;
+x_34 = lean_ctor_get(x_32, 0);
+lean_dec(x_34);
+lean_ctor_set_tag(x_32, 1);
+lean_ctor_set(x_32, 0, x_29);
+return x_32;
+}
+else
+{
+lean_object* x_35; lean_object* x_36;
+x_35 = lean_ctor_get(x_32, 1);
+lean_inc(x_35);
+lean_dec(x_32);
+x_36 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_36, 0, x_29);
+lean_ctor_set(x_36, 1, x_35);
+return x_36;
+}
+}
+}
+else
+{
+lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; uint8_t x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; uint8_t x_46;
+x_37 = lean_st_ref_get(x_5, x_14);
+x_38 = lean_ctor_get(x_37, 0);
+lean_inc(x_38);
+x_39 = lean_ctor_get(x_38, 3);
+lean_inc(x_39);
+lean_dec(x_38);
+x_40 = lean_ctor_get(x_37, 1);
+lean_inc(x_40);
+lean_dec(x_37);
+x_41 = lean_ctor_get_uint8(x_39, sizeof(void*)*1);
+lean_dec(x_39);
+x_42 = lean_st_ref_take(x_5, x_40);
+x_43 = lean_ctor_get(x_42, 0);
+lean_inc(x_43);
+x_44 = lean_ctor_get(x_43, 3);
+lean_inc(x_44);
x_45 = lean_ctor_get(x_42, 1);
lean_inc(x_45);
lean_dec(x_42);
-x_46 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_46, 0, x_31);
-lean_ctor_set(x_46, 1, x_45);
-return x_46;
-}
-}
-else
+x_46 = !lean_is_exclusive(x_43);
+if (x_46 == 0)
{
-lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52;
-x_47 = lean_ctor_get(x_37, 0);
-lean_inc(x_47);
-lean_dec(x_37);
-x_48 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_48, 0, x_47);
-lean_ctor_set_uint8(x_48, sizeof(void*)*1, x_19);
-lean_ctor_set(x_36, 3, x_48);
-x_49 = lean_st_ref_set(x_5, x_36, x_38);
-lean_dec(x_5);
-x_50 = lean_ctor_get(x_49, 1);
-lean_inc(x_50);
-if (lean_is_exclusive(x_49)) {
- lean_ctor_release(x_49, 0);
- lean_ctor_release(x_49, 1);
- x_51 = x_49;
-} else {
- lean_dec_ref(x_49);
- x_51 = lean_box(0);
-}
-if (lean_is_scalar(x_51)) {
- x_52 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_52 = x_51;
-}
-lean_ctor_set(x_52, 0, x_31);
-lean_ctor_set(x_52, 1, x_50);
-return x_52;
-}
-}
-else
+lean_object* x_47; uint8_t x_48;
+x_47 = lean_ctor_get(x_43, 3);
+lean_dec(x_47);
+x_48 = !lean_is_exclusive(x_44);
+if (x_48 == 0)
{
-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;
-x_53 = lean_ctor_get(x_36, 0);
-x_54 = lean_ctor_get(x_36, 1);
-x_55 = lean_ctor_get(x_36, 2);
-lean_inc(x_55);
-lean_inc(x_54);
+uint8_t x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52;
+x_49 = 0;
+lean_ctor_set_uint8(x_44, sizeof(void*)*1, x_49);
+x_50 = lean_st_ref_set(x_5, x_43, x_45);
+x_51 = lean_ctor_get(x_50, 1);
+lean_inc(x_51);
+lean_dec(x_50);
+lean_inc(x_5);
+x_52 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedAux___rarg(x_1, x_2, x_3, x_4, x_5, x_51);
+if (lean_obj_tag(x_52) == 0)
+{
+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; uint8_t x_61;
+x_53 = lean_ctor_get(x_52, 0);
lean_inc(x_53);
-lean_dec(x_36);
-x_56 = lean_ctor_get(x_37, 0);
+x_54 = lean_ctor_get(x_52, 1);
+lean_inc(x_54);
+lean_dec(x_52);
+x_55 = lean_st_ref_get(x_5, x_54);
+x_56 = lean_ctor_get(x_55, 1);
lean_inc(x_56);
-if (lean_is_exclusive(x_37)) {
- lean_ctor_release(x_37, 0);
- x_57 = x_37;
-} else {
- lean_dec_ref(x_37);
- x_57 = lean_box(0);
-}
-if (lean_is_scalar(x_57)) {
- x_58 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_58 = x_57;
-}
-lean_ctor_set(x_58, 0, x_56);
-lean_ctor_set_uint8(x_58, sizeof(void*)*1, x_19);
-x_59 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_59, 0, x_53);
-lean_ctor_set(x_59, 1, x_54);
-lean_ctor_set(x_59, 2, x_55);
-lean_ctor_set(x_59, 3, x_58);
-x_60 = lean_st_ref_set(x_5, x_59, x_38);
-lean_dec(x_5);
-x_61 = lean_ctor_get(x_60, 1);
-lean_inc(x_61);
-if (lean_is_exclusive(x_60)) {
- lean_ctor_release(x_60, 0);
- lean_ctor_release(x_60, 1);
- x_62 = x_60;
-} else {
- lean_dec_ref(x_60);
- x_62 = lean_box(0);
-}
-if (lean_is_scalar(x_62)) {
- x_63 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_63 = x_62;
-}
-lean_ctor_set(x_63, 0, x_31);
-lean_ctor_set(x_63, 1, x_61);
-return x_63;
-}
-}
-else
+lean_dec(x_55);
+x_57 = lean_st_ref_take(x_5, x_56);
+x_58 = lean_ctor_get(x_57, 0);
+lean_inc(x_58);
+x_59 = lean_ctor_get(x_58, 3);
+lean_inc(x_59);
+x_60 = lean_ctor_get(x_57, 1);
+lean_inc(x_60);
+lean_dec(x_57);
+x_61 = !lean_is_exclusive(x_58);
+if (x_61 == 0)
{
-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; uint8_t x_72;
-x_64 = lean_ctor_get(x_30, 0);
-lean_inc(x_64);
-x_65 = lean_ctor_get(x_30, 1);
-lean_inc(x_65);
-lean_dec(x_30);
-x_66 = lean_st_ref_get(x_5, x_65);
-x_67 = lean_ctor_get(x_66, 1);
-lean_inc(x_67);
+lean_object* x_62; uint8_t x_63;
+x_62 = lean_ctor_get(x_58, 3);
+lean_dec(x_62);
+x_63 = !lean_is_exclusive(x_59);
+if (x_63 == 0)
+{
+lean_object* x_64; uint8_t x_65;
+lean_ctor_set_uint8(x_59, sizeof(void*)*1, x_41);
+x_64 = lean_st_ref_set(x_5, x_58, x_60);
+lean_dec(x_5);
+x_65 = !lean_is_exclusive(x_64);
+if (x_65 == 0)
+{
+lean_object* x_66;
+x_66 = lean_ctor_get(x_64, 0);
lean_dec(x_66);
-x_68 = lean_st_ref_take(x_5, x_67);
-x_69 = lean_ctor_get(x_68, 0);
+lean_ctor_set(x_64, 0, x_53);
+return x_64;
+}
+else
+{
+lean_object* x_67; lean_object* x_68;
+x_67 = lean_ctor_get(x_64, 1);
+lean_inc(x_67);
+lean_dec(x_64);
+x_68 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_68, 0, x_53);
+lean_ctor_set(x_68, 1, x_67);
+return x_68;
+}
+}
+else
+{
+lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74;
+x_69 = lean_ctor_get(x_59, 0);
lean_inc(x_69);
-x_70 = lean_ctor_get(x_69, 3);
-lean_inc(x_70);
-x_71 = lean_ctor_get(x_68, 1);
-lean_inc(x_71);
-lean_dec(x_68);
-x_72 = !lean_is_exclusive(x_69);
-if (x_72 == 0)
-{
-lean_object* x_73; uint8_t x_74;
-x_73 = lean_ctor_get(x_69, 3);
-lean_dec(x_73);
-x_74 = !lean_is_exclusive(x_70);
-if (x_74 == 0)
-{
-lean_object* x_75; uint8_t x_76;
-lean_ctor_set_uint8(x_70, sizeof(void*)*1, x_19);
-x_75 = lean_st_ref_set(x_5, x_69, x_71);
+lean_dec(x_59);
+x_70 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_70, 0, x_69);
+lean_ctor_set_uint8(x_70, sizeof(void*)*1, x_41);
+lean_ctor_set(x_58, 3, x_70);
+x_71 = lean_st_ref_set(x_5, x_58, x_60);
lean_dec(x_5);
-x_76 = !lean_is_exclusive(x_75);
-if (x_76 == 0)
-{
-lean_object* x_77;
-x_77 = lean_ctor_get(x_75, 0);
-lean_dec(x_77);
-lean_ctor_set_tag(x_75, 1);
-lean_ctor_set(x_75, 0, x_64);
-return x_75;
+x_72 = lean_ctor_get(x_71, 1);
+lean_inc(x_72);
+if (lean_is_exclusive(x_71)) {
+ lean_ctor_release(x_71, 0);
+ lean_ctor_release(x_71, 1);
+ x_73 = x_71;
+} else {
+ lean_dec_ref(x_71);
+ x_73 = lean_box(0);
+}
+if (lean_is_scalar(x_73)) {
+ x_74 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_74 = x_73;
+}
+lean_ctor_set(x_74, 0, x_53);
+lean_ctor_set(x_74, 1, x_72);
+return x_74;
+}
}
else
{
-lean_object* x_78; lean_object* x_79;
-x_78 = lean_ctor_get(x_75, 1);
+lean_object* x_75; lean_object* x_76; lean_object* x_77; 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;
+x_75 = lean_ctor_get(x_58, 0);
+x_76 = lean_ctor_get(x_58, 1);
+x_77 = lean_ctor_get(x_58, 2);
+lean_inc(x_77);
+lean_inc(x_76);
+lean_inc(x_75);
+lean_dec(x_58);
+x_78 = lean_ctor_get(x_59, 0);
lean_inc(x_78);
-lean_dec(x_75);
-x_79 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_79, 0, x_64);
-lean_ctor_set(x_79, 1, x_78);
-return x_79;
+if (lean_is_exclusive(x_59)) {
+ lean_ctor_release(x_59, 0);
+ x_79 = x_59;
+} else {
+ lean_dec_ref(x_59);
+ x_79 = lean_box(0);
}
+if (lean_is_scalar(x_79)) {
+ x_80 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_80 = x_79;
}
-else
-{
-lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85;
-x_80 = lean_ctor_get(x_70, 0);
-lean_inc(x_80);
-lean_dec(x_70);
-x_81 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_81, 0, x_80);
-lean_ctor_set_uint8(x_81, sizeof(void*)*1, x_19);
-lean_ctor_set(x_69, 3, x_81);
-x_82 = lean_st_ref_set(x_5, x_69, x_71);
+lean_ctor_set(x_80, 0, x_78);
+lean_ctor_set_uint8(x_80, sizeof(void*)*1, x_41);
+x_81 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_81, 0, x_75);
+lean_ctor_set(x_81, 1, x_76);
+lean_ctor_set(x_81, 2, x_77);
+lean_ctor_set(x_81, 3, x_80);
+x_82 = lean_st_ref_set(x_5, x_81, x_60);
lean_dec(x_5);
x_83 = lean_ctor_get(x_82, 1);
lean_inc(x_83);
@@ -15998,548 +15846,545 @@ if (lean_is_exclusive(x_82)) {
x_84 = lean_box(0);
}
if (lean_is_scalar(x_84)) {
- x_85 = lean_alloc_ctor(1, 2, 0);
+ x_85 = lean_alloc_ctor(0, 2, 0);
} else {
x_85 = x_84;
- lean_ctor_set_tag(x_85, 1);
}
-lean_ctor_set(x_85, 0, x_64);
+lean_ctor_set(x_85, 0, x_53);
lean_ctor_set(x_85, 1, x_83);
return x_85;
}
}
else
{
-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;
-x_86 = lean_ctor_get(x_69, 0);
-x_87 = lean_ctor_get(x_69, 1);
-x_88 = lean_ctor_get(x_69, 2);
-lean_inc(x_88);
-lean_inc(x_87);
+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; uint8_t x_94;
+x_86 = lean_ctor_get(x_52, 0);
lean_inc(x_86);
-lean_dec(x_69);
-x_89 = lean_ctor_get(x_70, 0);
+x_87 = lean_ctor_get(x_52, 1);
+lean_inc(x_87);
+lean_dec(x_52);
+x_88 = lean_st_ref_get(x_5, x_87);
+x_89 = lean_ctor_get(x_88, 1);
lean_inc(x_89);
-if (lean_is_exclusive(x_70)) {
- lean_ctor_release(x_70, 0);
- x_90 = x_70;
-} else {
- lean_dec_ref(x_70);
- x_90 = lean_box(0);
-}
-if (lean_is_scalar(x_90)) {
- x_91 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_91 = x_90;
-}
-lean_ctor_set(x_91, 0, x_89);
-lean_ctor_set_uint8(x_91, sizeof(void*)*1, x_19);
-x_92 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_92, 0, x_86);
-lean_ctor_set(x_92, 1, x_87);
-lean_ctor_set(x_92, 2, x_88);
-lean_ctor_set(x_92, 3, x_91);
-x_93 = lean_st_ref_set(x_5, x_92, x_71);
+lean_dec(x_88);
+x_90 = lean_st_ref_take(x_5, x_89);
+x_91 = lean_ctor_get(x_90, 0);
+lean_inc(x_91);
+x_92 = lean_ctor_get(x_91, 3);
+lean_inc(x_92);
+x_93 = lean_ctor_get(x_90, 1);
+lean_inc(x_93);
+lean_dec(x_90);
+x_94 = !lean_is_exclusive(x_91);
+if (x_94 == 0)
+{
+lean_object* x_95; uint8_t x_96;
+x_95 = lean_ctor_get(x_91, 3);
+lean_dec(x_95);
+x_96 = !lean_is_exclusive(x_92);
+if (x_96 == 0)
+{
+lean_object* x_97; uint8_t x_98;
+lean_ctor_set_uint8(x_92, sizeof(void*)*1, x_41);
+x_97 = lean_st_ref_set(x_5, x_91, x_93);
lean_dec(x_5);
-x_94 = lean_ctor_get(x_93, 1);
-lean_inc(x_94);
-if (lean_is_exclusive(x_93)) {
- lean_ctor_release(x_93, 0);
- lean_ctor_release(x_93, 1);
- x_95 = x_93;
-} else {
- lean_dec_ref(x_93);
- x_95 = lean_box(0);
-}
-if (lean_is_scalar(x_95)) {
- x_96 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_96 = x_95;
- lean_ctor_set_tag(x_96, 1);
-}
-lean_ctor_set(x_96, 0, x_64);
-lean_ctor_set(x_96, 1, x_94);
-return x_96;
+x_98 = !lean_is_exclusive(x_97);
+if (x_98 == 0)
+{
+lean_object* x_99;
+x_99 = lean_ctor_get(x_97, 0);
+lean_dec(x_99);
+lean_ctor_set_tag(x_97, 1);
+lean_ctor_set(x_97, 0, x_86);
+return x_97;
}
+else
+{
+lean_object* x_100; lean_object* x_101;
+x_100 = lean_ctor_get(x_97, 1);
+lean_inc(x_100);
+lean_dec(x_97);
+x_101 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_101, 0, x_86);
+lean_ctor_set(x_101, 1, x_100);
+return x_101;
}
}
else
{
-lean_object* x_97; uint8_t x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102;
-x_97 = lean_ctor_get(x_22, 0);
-lean_inc(x_97);
-lean_dec(x_22);
-x_98 = 0;
-x_99 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_99, 0, x_97);
-lean_ctor_set_uint8(x_99, sizeof(void*)*1, x_98);
-lean_ctor_set(x_21, 3, x_99);
-x_100 = lean_st_ref_set(x_5, x_21, x_23);
-x_101 = lean_ctor_get(x_100, 1);
-lean_inc(x_101);
-lean_dec(x_100);
-lean_inc(x_5);
-x_102 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedAux___rarg(x_1, x_2, x_3, x_4, x_5, x_101);
-if (lean_obj_tag(x_102) == 0)
+lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107;
+x_102 = lean_ctor_get(x_92, 0);
+lean_inc(x_102);
+lean_dec(x_92);
+x_103 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_103, 0, x_102);
+lean_ctor_set_uint8(x_103, sizeof(void*)*1, x_41);
+lean_ctor_set(x_91, 3, x_103);
+x_104 = lean_st_ref_set(x_5, x_91, x_93);
+lean_dec(x_5);
+x_105 = lean_ctor_get(x_104, 1);
+lean_inc(x_105);
+if (lean_is_exclusive(x_104)) {
+ lean_ctor_release(x_104, 0);
+ lean_ctor_release(x_104, 1);
+ x_106 = x_104;
+} else {
+ lean_dec_ref(x_104);
+ x_106 = lean_box(0);
+}
+if (lean_is_scalar(x_106)) {
+ x_107 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_107 = x_106;
+ lean_ctor_set_tag(x_107, 1);
+}
+lean_ctor_set(x_107, 0, x_86);
+lean_ctor_set(x_107, 1, x_105);
+return x_107;
+}
+}
+else
{
-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;
-x_103 = lean_ctor_get(x_102, 0);
-lean_inc(x_103);
-x_104 = lean_ctor_get(x_102, 1);
-lean_inc(x_104);
-lean_dec(x_102);
-x_105 = lean_st_ref_get(x_5, x_104);
-x_106 = lean_ctor_get(x_105, 1);
-lean_inc(x_106);
-lean_dec(x_105);
-x_107 = lean_st_ref_take(x_5, x_106);
-x_108 = lean_ctor_get(x_107, 0);
-lean_inc(x_108);
-x_109 = lean_ctor_get(x_108, 3);
-lean_inc(x_109);
-x_110 = lean_ctor_get(x_107, 1);
+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;
+x_108 = lean_ctor_get(x_91, 0);
+x_109 = lean_ctor_get(x_91, 1);
+x_110 = lean_ctor_get(x_91, 2);
lean_inc(x_110);
-lean_dec(x_107);
-x_111 = lean_ctor_get(x_108, 0);
+lean_inc(x_109);
+lean_inc(x_108);
+lean_dec(x_91);
+x_111 = lean_ctor_get(x_92, 0);
lean_inc(x_111);
-x_112 = lean_ctor_get(x_108, 1);
-lean_inc(x_112);
-x_113 = lean_ctor_get(x_108, 2);
-lean_inc(x_113);
-if (lean_is_exclusive(x_108)) {
- lean_ctor_release(x_108, 0);
- lean_ctor_release(x_108, 1);
- lean_ctor_release(x_108, 2);
- lean_ctor_release(x_108, 3);
- x_114 = x_108;
+if (lean_is_exclusive(x_92)) {
+ lean_ctor_release(x_92, 0);
+ x_112 = x_92;
} else {
- lean_dec_ref(x_108);
- x_114 = lean_box(0);
+ lean_dec_ref(x_92);
+ x_112 = lean_box(0);
}
-x_115 = lean_ctor_get(x_109, 0);
-lean_inc(x_115);
-if (lean_is_exclusive(x_109)) {
- lean_ctor_release(x_109, 0);
- x_116 = x_109;
+if (lean_is_scalar(x_112)) {
+ x_113 = lean_alloc_ctor(0, 1, 1);
} else {
- lean_dec_ref(x_109);
- x_116 = lean_box(0);
+ x_113 = x_112;
}
-if (lean_is_scalar(x_116)) {
- x_117 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_117 = x_116;
-}
-lean_ctor_set(x_117, 0, x_115);
-lean_ctor_set_uint8(x_117, sizeof(void*)*1, x_19);
-if (lean_is_scalar(x_114)) {
- x_118 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_118 = x_114;
-}
-lean_ctor_set(x_118, 0, x_111);
-lean_ctor_set(x_118, 1, x_112);
-lean_ctor_set(x_118, 2, x_113);
-lean_ctor_set(x_118, 3, x_117);
-x_119 = lean_st_ref_set(x_5, x_118, x_110);
+lean_ctor_set(x_113, 0, x_111);
+lean_ctor_set_uint8(x_113, sizeof(void*)*1, x_41);
+x_114 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_114, 0, x_108);
+lean_ctor_set(x_114, 1, x_109);
+lean_ctor_set(x_114, 2, x_110);
+lean_ctor_set(x_114, 3, x_113);
+x_115 = lean_st_ref_set(x_5, x_114, x_93);
lean_dec(x_5);
-x_120 = lean_ctor_get(x_119, 1);
-lean_inc(x_120);
-if (lean_is_exclusive(x_119)) {
- lean_ctor_release(x_119, 0);
- lean_ctor_release(x_119, 1);
- x_121 = x_119;
+x_116 = lean_ctor_get(x_115, 1);
+lean_inc(x_116);
+if (lean_is_exclusive(x_115)) {
+ lean_ctor_release(x_115, 0);
+ lean_ctor_release(x_115, 1);
+ x_117 = x_115;
} else {
- lean_dec_ref(x_119);
- x_121 = lean_box(0);
+ lean_dec_ref(x_115);
+ x_117 = lean_box(0);
}
-if (lean_is_scalar(x_121)) {
- x_122 = lean_alloc_ctor(0, 2, 0);
+if (lean_is_scalar(x_117)) {
+ x_118 = lean_alloc_ctor(1, 2, 0);
} else {
- x_122 = x_121;
+ x_118 = x_117;
+ lean_ctor_set_tag(x_118, 1);
+}
+lean_ctor_set(x_118, 0, x_86);
+lean_ctor_set(x_118, 1, x_116);
+return x_118;
+}
}
-lean_ctor_set(x_122, 0, x_103);
-lean_ctor_set(x_122, 1, x_120);
-return x_122;
}
else
{
-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; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142;
-x_123 = lean_ctor_get(x_102, 0);
+lean_object* x_119; uint8_t x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124;
+x_119 = lean_ctor_get(x_44, 0);
+lean_inc(x_119);
+lean_dec(x_44);
+x_120 = 0;
+x_121 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_121, 0, x_119);
+lean_ctor_set_uint8(x_121, sizeof(void*)*1, x_120);
+lean_ctor_set(x_43, 3, x_121);
+x_122 = lean_st_ref_set(x_5, x_43, x_45);
+x_123 = lean_ctor_get(x_122, 1);
lean_inc(x_123);
-x_124 = lean_ctor_get(x_102, 1);
-lean_inc(x_124);
-lean_dec(x_102);
-x_125 = lean_st_ref_get(x_5, x_124);
-x_126 = lean_ctor_get(x_125, 1);
+lean_dec(x_122);
+lean_inc(x_5);
+x_124 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedAux___rarg(x_1, x_2, x_3, x_4, x_5, x_123);
+if (lean_obj_tag(x_124) == 0)
+{
+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; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144;
+x_125 = lean_ctor_get(x_124, 0);
+lean_inc(x_125);
+x_126 = lean_ctor_get(x_124, 1);
lean_inc(x_126);
-lean_dec(x_125);
-x_127 = lean_st_ref_take(x_5, x_126);
-x_128 = lean_ctor_get(x_127, 0);
+lean_dec(x_124);
+x_127 = lean_st_ref_get(x_5, x_126);
+x_128 = lean_ctor_get(x_127, 1);
lean_inc(x_128);
-x_129 = lean_ctor_get(x_128, 3);
-lean_inc(x_129);
-x_130 = lean_ctor_get(x_127, 1);
-lean_inc(x_130);
lean_dec(x_127);
-x_131 = lean_ctor_get(x_128, 0);
+x_129 = lean_st_ref_take(x_5, x_128);
+x_130 = lean_ctor_get(x_129, 0);
+lean_inc(x_130);
+x_131 = lean_ctor_get(x_130, 3);
lean_inc(x_131);
-x_132 = lean_ctor_get(x_128, 1);
+x_132 = lean_ctor_get(x_129, 1);
lean_inc(x_132);
-x_133 = lean_ctor_get(x_128, 2);
+lean_dec(x_129);
+x_133 = lean_ctor_get(x_130, 0);
lean_inc(x_133);
-if (lean_is_exclusive(x_128)) {
- lean_ctor_release(x_128, 0);
- lean_ctor_release(x_128, 1);
- lean_ctor_release(x_128, 2);
- lean_ctor_release(x_128, 3);
- x_134 = x_128;
-} else {
- lean_dec_ref(x_128);
- x_134 = lean_box(0);
-}
-x_135 = lean_ctor_get(x_129, 0);
+x_134 = lean_ctor_get(x_130, 1);
+lean_inc(x_134);
+x_135 = lean_ctor_get(x_130, 2);
lean_inc(x_135);
-if (lean_is_exclusive(x_129)) {
- lean_ctor_release(x_129, 0);
- x_136 = x_129;
+if (lean_is_exclusive(x_130)) {
+ lean_ctor_release(x_130, 0);
+ lean_ctor_release(x_130, 1);
+ lean_ctor_release(x_130, 2);
+ lean_ctor_release(x_130, 3);
+ x_136 = x_130;
} else {
- lean_dec_ref(x_129);
+ lean_dec_ref(x_130);
x_136 = lean_box(0);
}
+x_137 = lean_ctor_get(x_131, 0);
+lean_inc(x_137);
+if (lean_is_exclusive(x_131)) {
+ lean_ctor_release(x_131, 0);
+ x_138 = x_131;
+} else {
+ lean_dec_ref(x_131);
+ x_138 = lean_box(0);
+}
+if (lean_is_scalar(x_138)) {
+ x_139 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_139 = x_138;
+}
+lean_ctor_set(x_139, 0, x_137);
+lean_ctor_set_uint8(x_139, sizeof(void*)*1, x_41);
if (lean_is_scalar(x_136)) {
- x_137 = lean_alloc_ctor(0, 1, 1);
+ x_140 = lean_alloc_ctor(0, 4, 0);
} else {
- x_137 = x_136;
+ x_140 = x_136;
}
-lean_ctor_set(x_137, 0, x_135);
-lean_ctor_set_uint8(x_137, sizeof(void*)*1, x_19);
-if (lean_is_scalar(x_134)) {
- x_138 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_138 = x_134;
-}
-lean_ctor_set(x_138, 0, x_131);
-lean_ctor_set(x_138, 1, x_132);
-lean_ctor_set(x_138, 2, x_133);
-lean_ctor_set(x_138, 3, x_137);
-x_139 = lean_st_ref_set(x_5, x_138, x_130);
+lean_ctor_set(x_140, 0, x_133);
+lean_ctor_set(x_140, 1, x_134);
+lean_ctor_set(x_140, 2, x_135);
+lean_ctor_set(x_140, 3, x_139);
+x_141 = lean_st_ref_set(x_5, x_140, x_132);
lean_dec(x_5);
-x_140 = lean_ctor_get(x_139, 1);
-lean_inc(x_140);
-if (lean_is_exclusive(x_139)) {
- lean_ctor_release(x_139, 0);
- lean_ctor_release(x_139, 1);
- x_141 = x_139;
+x_142 = lean_ctor_get(x_141, 1);
+lean_inc(x_142);
+if (lean_is_exclusive(x_141)) {
+ lean_ctor_release(x_141, 0);
+ lean_ctor_release(x_141, 1);
+ x_143 = x_141;
} else {
- lean_dec_ref(x_139);
- x_141 = lean_box(0);
+ lean_dec_ref(x_141);
+ x_143 = lean_box(0);
}
-if (lean_is_scalar(x_141)) {
- x_142 = lean_alloc_ctor(1, 2, 0);
+if (lean_is_scalar(x_143)) {
+ x_144 = lean_alloc_ctor(0, 2, 0);
} else {
- x_142 = x_141;
- lean_ctor_set_tag(x_142, 1);
-}
-lean_ctor_set(x_142, 0, x_123);
-lean_ctor_set(x_142, 1, x_140);
-return x_142;
-}
+ x_144 = x_143;
}
+lean_ctor_set(x_144, 0, x_125);
+lean_ctor_set(x_144, 1, x_142);
+return x_144;
}
else
{
-lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; uint8_t x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153;
-x_143 = lean_ctor_get(x_21, 0);
-x_144 = lean_ctor_get(x_21, 1);
-x_145 = lean_ctor_get(x_21, 2);
+lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164;
+x_145 = lean_ctor_get(x_124, 0);
lean_inc(x_145);
-lean_inc(x_144);
-lean_inc(x_143);
-lean_dec(x_21);
-x_146 = lean_ctor_get(x_22, 0);
+x_146 = lean_ctor_get(x_124, 1);
lean_inc(x_146);
-if (lean_is_exclusive(x_22)) {
- lean_ctor_release(x_22, 0);
- x_147 = x_22;
-} else {
- lean_dec_ref(x_22);
- x_147 = lean_box(0);
-}
-x_148 = 0;
-if (lean_is_scalar(x_147)) {
- x_149 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_149 = x_147;
-}
-lean_ctor_set(x_149, 0, x_146);
-lean_ctor_set_uint8(x_149, sizeof(void*)*1, x_148);
-x_150 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_150, 0, x_143);
-lean_ctor_set(x_150, 1, x_144);
-lean_ctor_set(x_150, 2, x_145);
-lean_ctor_set(x_150, 3, x_149);
-x_151 = lean_st_ref_set(x_5, x_150, x_23);
-x_152 = lean_ctor_get(x_151, 1);
+lean_dec(x_124);
+x_147 = lean_st_ref_get(x_5, x_146);
+x_148 = lean_ctor_get(x_147, 1);
+lean_inc(x_148);
+lean_dec(x_147);
+x_149 = lean_st_ref_take(x_5, x_148);
+x_150 = lean_ctor_get(x_149, 0);
+lean_inc(x_150);
+x_151 = lean_ctor_get(x_150, 3);
+lean_inc(x_151);
+x_152 = lean_ctor_get(x_149, 1);
lean_inc(x_152);
-lean_dec(x_151);
-lean_inc(x_5);
-x_153 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedAux___rarg(x_1, x_2, x_3, x_4, x_5, x_152);
-if (lean_obj_tag(x_153) == 0)
-{
-lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173;
-x_154 = lean_ctor_get(x_153, 0);
+lean_dec(x_149);
+x_153 = lean_ctor_get(x_150, 0);
+lean_inc(x_153);
+x_154 = lean_ctor_get(x_150, 1);
lean_inc(x_154);
-x_155 = lean_ctor_get(x_153, 1);
+x_155 = lean_ctor_get(x_150, 2);
lean_inc(x_155);
-lean_dec(x_153);
-x_156 = lean_st_ref_get(x_5, x_155);
-x_157 = lean_ctor_get(x_156, 1);
+if (lean_is_exclusive(x_150)) {
+ lean_ctor_release(x_150, 0);
+ lean_ctor_release(x_150, 1);
+ lean_ctor_release(x_150, 2);
+ lean_ctor_release(x_150, 3);
+ x_156 = x_150;
+} else {
+ lean_dec_ref(x_150);
+ x_156 = lean_box(0);
+}
+x_157 = lean_ctor_get(x_151, 0);
lean_inc(x_157);
-lean_dec(x_156);
-x_158 = lean_st_ref_take(x_5, x_157);
-x_159 = lean_ctor_get(x_158, 0);
-lean_inc(x_159);
-x_160 = lean_ctor_get(x_159, 3);
-lean_inc(x_160);
-x_161 = lean_ctor_get(x_158, 1);
-lean_inc(x_161);
-lean_dec(x_158);
-x_162 = lean_ctor_get(x_159, 0);
-lean_inc(x_162);
-x_163 = lean_ctor_get(x_159, 1);
-lean_inc(x_163);
-x_164 = lean_ctor_get(x_159, 2);
-lean_inc(x_164);
-if (lean_is_exclusive(x_159)) {
- lean_ctor_release(x_159, 0);
- lean_ctor_release(x_159, 1);
- lean_ctor_release(x_159, 2);
- lean_ctor_release(x_159, 3);
- x_165 = x_159;
+if (lean_is_exclusive(x_151)) {
+ lean_ctor_release(x_151, 0);
+ x_158 = x_151;
} else {
- lean_dec_ref(x_159);
- x_165 = lean_box(0);
+ lean_dec_ref(x_151);
+ x_158 = lean_box(0);
}
-x_166 = lean_ctor_get(x_160, 0);
-lean_inc(x_166);
-if (lean_is_exclusive(x_160)) {
- lean_ctor_release(x_160, 0);
- x_167 = x_160;
+if (lean_is_scalar(x_158)) {
+ x_159 = lean_alloc_ctor(0, 1, 1);
} else {
- lean_dec_ref(x_160);
- x_167 = lean_box(0);
+ x_159 = x_158;
}
-if (lean_is_scalar(x_167)) {
- x_168 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_159, 0, x_157);
+lean_ctor_set_uint8(x_159, sizeof(void*)*1, x_41);
+if (lean_is_scalar(x_156)) {
+ x_160 = lean_alloc_ctor(0, 4, 0);
} else {
- x_168 = x_167;
+ x_160 = x_156;
}
-lean_ctor_set(x_168, 0, x_166);
-lean_ctor_set_uint8(x_168, sizeof(void*)*1, x_19);
-if (lean_is_scalar(x_165)) {
- x_169 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_169 = x_165;
-}
-lean_ctor_set(x_169, 0, x_162);
-lean_ctor_set(x_169, 1, x_163);
-lean_ctor_set(x_169, 2, x_164);
-lean_ctor_set(x_169, 3, x_168);
-x_170 = lean_st_ref_set(x_5, x_169, x_161);
+lean_ctor_set(x_160, 0, x_153);
+lean_ctor_set(x_160, 1, x_154);
+lean_ctor_set(x_160, 2, x_155);
+lean_ctor_set(x_160, 3, x_159);
+x_161 = lean_st_ref_set(x_5, x_160, x_152);
lean_dec(x_5);
-x_171 = lean_ctor_get(x_170, 1);
-lean_inc(x_171);
-if (lean_is_exclusive(x_170)) {
- lean_ctor_release(x_170, 0);
- lean_ctor_release(x_170, 1);
- x_172 = x_170;
+x_162 = lean_ctor_get(x_161, 1);
+lean_inc(x_162);
+if (lean_is_exclusive(x_161)) {
+ lean_ctor_release(x_161, 0);
+ lean_ctor_release(x_161, 1);
+ x_163 = x_161;
} else {
- lean_dec_ref(x_170);
- x_172 = lean_box(0);
+ lean_dec_ref(x_161);
+ x_163 = lean_box(0);
}
-if (lean_is_scalar(x_172)) {
- x_173 = lean_alloc_ctor(0, 2, 0);
+if (lean_is_scalar(x_163)) {
+ x_164 = lean_alloc_ctor(1, 2, 0);
} else {
- x_173 = x_172;
+ x_164 = x_163;
+ lean_ctor_set_tag(x_164, 1);
+}
+lean_ctor_set(x_164, 0, x_145);
+lean_ctor_set(x_164, 1, x_162);
+return x_164;
+}
}
-lean_ctor_set(x_173, 0, x_154);
-lean_ctor_set(x_173, 1, x_171);
-return x_173;
}
else
{
-lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193;
-x_174 = lean_ctor_get(x_153, 0);
-lean_inc(x_174);
-x_175 = lean_ctor_get(x_153, 1);
-lean_inc(x_175);
-lean_dec(x_153);
-x_176 = lean_st_ref_get(x_5, x_175);
-x_177 = lean_ctor_get(x_176, 1);
-lean_inc(x_177);
-lean_dec(x_176);
-x_178 = lean_st_ref_take(x_5, x_177);
-x_179 = lean_ctor_get(x_178, 0);
-lean_inc(x_179);
-x_180 = lean_ctor_get(x_179, 3);
-lean_inc(x_180);
-x_181 = lean_ctor_get(x_178, 1);
-lean_inc(x_181);
-lean_dec(x_178);
-x_182 = lean_ctor_get(x_179, 0);
-lean_inc(x_182);
-x_183 = lean_ctor_get(x_179, 1);
-lean_inc(x_183);
-x_184 = lean_ctor_get(x_179, 2);
-lean_inc(x_184);
-if (lean_is_exclusive(x_179)) {
- lean_ctor_release(x_179, 0);
- lean_ctor_release(x_179, 1);
- lean_ctor_release(x_179, 2);
- lean_ctor_release(x_179, 3);
- x_185 = x_179;
+lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; uint8_t x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175;
+x_165 = lean_ctor_get(x_43, 0);
+x_166 = lean_ctor_get(x_43, 1);
+x_167 = lean_ctor_get(x_43, 2);
+lean_inc(x_167);
+lean_inc(x_166);
+lean_inc(x_165);
+lean_dec(x_43);
+x_168 = lean_ctor_get(x_44, 0);
+lean_inc(x_168);
+if (lean_is_exclusive(x_44)) {
+ lean_ctor_release(x_44, 0);
+ x_169 = x_44;
} else {
- lean_dec_ref(x_179);
- x_185 = lean_box(0);
+ lean_dec_ref(x_44);
+ x_169 = lean_box(0);
}
-x_186 = lean_ctor_get(x_180, 0);
-lean_inc(x_186);
-if (lean_is_exclusive(x_180)) {
- lean_ctor_release(x_180, 0);
- x_187 = x_180;
+x_170 = 0;
+if (lean_is_scalar(x_169)) {
+ x_171 = lean_alloc_ctor(0, 1, 1);
} else {
- lean_dec_ref(x_180);
+ x_171 = x_169;
+}
+lean_ctor_set(x_171, 0, x_168);
+lean_ctor_set_uint8(x_171, sizeof(void*)*1, x_170);
+x_172 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_172, 0, x_165);
+lean_ctor_set(x_172, 1, x_166);
+lean_ctor_set(x_172, 2, x_167);
+lean_ctor_set(x_172, 3, x_171);
+x_173 = lean_st_ref_set(x_5, x_172, x_45);
+x_174 = lean_ctor_get(x_173, 1);
+lean_inc(x_174);
+lean_dec(x_173);
+lean_inc(x_5);
+x_175 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedAux___rarg(x_1, x_2, x_3, x_4, x_5, x_174);
+if (lean_obj_tag(x_175) == 0)
+{
+lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195;
+x_176 = lean_ctor_get(x_175, 0);
+lean_inc(x_176);
+x_177 = lean_ctor_get(x_175, 1);
+lean_inc(x_177);
+lean_dec(x_175);
+x_178 = lean_st_ref_get(x_5, x_177);
+x_179 = lean_ctor_get(x_178, 1);
+lean_inc(x_179);
+lean_dec(x_178);
+x_180 = lean_st_ref_take(x_5, x_179);
+x_181 = lean_ctor_get(x_180, 0);
+lean_inc(x_181);
+x_182 = lean_ctor_get(x_181, 3);
+lean_inc(x_182);
+x_183 = lean_ctor_get(x_180, 1);
+lean_inc(x_183);
+lean_dec(x_180);
+x_184 = lean_ctor_get(x_181, 0);
+lean_inc(x_184);
+x_185 = lean_ctor_get(x_181, 1);
+lean_inc(x_185);
+x_186 = lean_ctor_get(x_181, 2);
+lean_inc(x_186);
+if (lean_is_exclusive(x_181)) {
+ lean_ctor_release(x_181, 0);
+ lean_ctor_release(x_181, 1);
+ lean_ctor_release(x_181, 2);
+ lean_ctor_release(x_181, 3);
+ x_187 = x_181;
+} else {
+ lean_dec_ref(x_181);
x_187 = lean_box(0);
}
+x_188 = lean_ctor_get(x_182, 0);
+lean_inc(x_188);
+if (lean_is_exclusive(x_182)) {
+ lean_ctor_release(x_182, 0);
+ x_189 = x_182;
+} else {
+ lean_dec_ref(x_182);
+ x_189 = lean_box(0);
+}
+if (lean_is_scalar(x_189)) {
+ x_190 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_190 = x_189;
+}
+lean_ctor_set(x_190, 0, x_188);
+lean_ctor_set_uint8(x_190, sizeof(void*)*1, x_41);
if (lean_is_scalar(x_187)) {
- x_188 = lean_alloc_ctor(0, 1, 1);
+ x_191 = lean_alloc_ctor(0, 4, 0);
} else {
- x_188 = x_187;
+ x_191 = x_187;
}
-lean_ctor_set(x_188, 0, x_186);
-lean_ctor_set_uint8(x_188, sizeof(void*)*1, x_19);
-if (lean_is_scalar(x_185)) {
- x_189 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_189 = x_185;
-}
-lean_ctor_set(x_189, 0, x_182);
-lean_ctor_set(x_189, 1, x_183);
-lean_ctor_set(x_189, 2, x_184);
-lean_ctor_set(x_189, 3, x_188);
-x_190 = lean_st_ref_set(x_5, x_189, x_181);
+lean_ctor_set(x_191, 0, x_184);
+lean_ctor_set(x_191, 1, x_185);
+lean_ctor_set(x_191, 2, x_186);
+lean_ctor_set(x_191, 3, x_190);
+x_192 = lean_st_ref_set(x_5, x_191, x_183);
lean_dec(x_5);
-x_191 = lean_ctor_get(x_190, 1);
-lean_inc(x_191);
-if (lean_is_exclusive(x_190)) {
- lean_ctor_release(x_190, 0);
- lean_ctor_release(x_190, 1);
- x_192 = x_190;
+x_193 = lean_ctor_get(x_192, 1);
+lean_inc(x_193);
+if (lean_is_exclusive(x_192)) {
+ lean_ctor_release(x_192, 0);
+ lean_ctor_release(x_192, 1);
+ x_194 = x_192;
} else {
- lean_dec_ref(x_190);
- x_192 = lean_box(0);
+ lean_dec_ref(x_192);
+ x_194 = lean_box(0);
}
-if (lean_is_scalar(x_192)) {
- x_193 = lean_alloc_ctor(1, 2, 0);
+if (lean_is_scalar(x_194)) {
+ x_195 = lean_alloc_ctor(0, 2, 0);
} else {
- x_193 = x_192;
- lean_ctor_set_tag(x_193, 1);
-}
-lean_ctor_set(x_193, 0, x_174);
-lean_ctor_set(x_193, 1, x_191);
-return x_193;
-}
+ x_195 = x_194;
}
+lean_ctor_set(x_195, 0, x_176);
+lean_ctor_set(x_195, 1, x_193);
+return x_195;
}
else
{
-lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198;
-x_194 = lean_ctor_get(x_4, 3);
-lean_inc(x_194);
-x_195 = l___private_Lean_Util_Trace_5__getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed___spec__1___rarg(x_5, x_14);
-x_196 = lean_ctor_get(x_195, 0);
+lean_object* x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214; lean_object* x_215;
+x_196 = lean_ctor_get(x_175, 0);
lean_inc(x_196);
-x_197 = lean_ctor_get(x_195, 1);
+x_197 = lean_ctor_get(x_175, 1);
lean_inc(x_197);
-lean_dec(x_195);
-lean_inc(x_5);
-lean_inc(x_4);
-lean_inc(x_3);
-lean_inc(x_2);
-lean_inc(x_1);
-x_198 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedAux___rarg(x_1, x_2, x_3, x_4, x_5, x_197);
-if (lean_obj_tag(x_198) == 0)
-{
-lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; uint8_t x_203;
-x_199 = lean_ctor_get(x_198, 0);
+lean_dec(x_175);
+x_198 = lean_st_ref_get(x_5, x_197);
+x_199 = lean_ctor_get(x_198, 1);
lean_inc(x_199);
-x_200 = lean_ctor_get(x_198, 1);
-lean_inc(x_200);
lean_dec(x_198);
-x_201 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__2;
-x_202 = l___private_Lean_Util_Trace_4__addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed___spec__2(x_196, x_201, x_194, x_1, x_2, x_3, x_4, x_5, x_200);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_dec(x_1);
-x_203 = !lean_is_exclusive(x_202);
-if (x_203 == 0)
-{
-lean_object* x_204;
-x_204 = lean_ctor_get(x_202, 0);
-lean_dec(x_204);
-lean_ctor_set(x_202, 0, x_199);
-return x_202;
-}
-else
-{
-lean_object* x_205; lean_object* x_206;
-x_205 = lean_ctor_get(x_202, 1);
+x_200 = lean_st_ref_take(x_5, x_199);
+x_201 = lean_ctor_get(x_200, 0);
+lean_inc(x_201);
+x_202 = lean_ctor_get(x_201, 3);
+lean_inc(x_202);
+x_203 = lean_ctor_get(x_200, 1);
+lean_inc(x_203);
+lean_dec(x_200);
+x_204 = lean_ctor_get(x_201, 0);
+lean_inc(x_204);
+x_205 = lean_ctor_get(x_201, 1);
lean_inc(x_205);
-lean_dec(x_202);
-x_206 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_206, 0, x_199);
-lean_ctor_set(x_206, 1, x_205);
-return x_206;
+x_206 = lean_ctor_get(x_201, 2);
+lean_inc(x_206);
+if (lean_is_exclusive(x_201)) {
+ lean_ctor_release(x_201, 0);
+ lean_ctor_release(x_201, 1);
+ lean_ctor_release(x_201, 2);
+ lean_ctor_release(x_201, 3);
+ x_207 = x_201;
+} else {
+ lean_dec_ref(x_201);
+ x_207 = lean_box(0);
}
-}
-else
-{
-lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; uint8_t x_211;
-x_207 = lean_ctor_get(x_198, 0);
-lean_inc(x_207);
-x_208 = lean_ctor_get(x_198, 1);
+x_208 = lean_ctor_get(x_202, 0);
lean_inc(x_208);
-lean_dec(x_198);
-x_209 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__2;
-x_210 = l___private_Lean_Util_Trace_4__addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed___spec__2(x_196, x_209, x_194, x_1, x_2, x_3, x_4, x_5, x_208);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_dec(x_1);
-x_211 = !lean_is_exclusive(x_210);
-if (x_211 == 0)
-{
-lean_object* x_212;
-x_212 = lean_ctor_get(x_210, 0);
-lean_dec(x_212);
-lean_ctor_set_tag(x_210, 1);
-lean_ctor_set(x_210, 0, x_207);
-return x_210;
+if (lean_is_exclusive(x_202)) {
+ lean_ctor_release(x_202, 0);
+ x_209 = x_202;
+} else {
+ lean_dec_ref(x_202);
+ x_209 = lean_box(0);
}
-else
-{
-lean_object* x_213; lean_object* x_214;
-x_213 = lean_ctor_get(x_210, 1);
+if (lean_is_scalar(x_209)) {
+ x_210 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_210 = x_209;
+}
+lean_ctor_set(x_210, 0, x_208);
+lean_ctor_set_uint8(x_210, sizeof(void*)*1, x_41);
+if (lean_is_scalar(x_207)) {
+ x_211 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_211 = x_207;
+}
+lean_ctor_set(x_211, 0, x_204);
+lean_ctor_set(x_211, 1, x_205);
+lean_ctor_set(x_211, 2, x_206);
+lean_ctor_set(x_211, 3, x_210);
+x_212 = lean_st_ref_set(x_5, x_211, x_203);
+lean_dec(x_5);
+x_213 = lean_ctor_get(x_212, 1);
lean_inc(x_213);
-lean_dec(x_210);
-x_214 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_214, 0, x_207);
-lean_ctor_set(x_214, 1, x_213);
-return x_214;
+if (lean_is_exclusive(x_212)) {
+ lean_ctor_release(x_212, 0);
+ lean_ctor_release(x_212, 1);
+ x_214 = x_212;
+} else {
+ lean_dec_ref(x_212);
+ x_214 = lean_box(0);
+}
+if (lean_is_scalar(x_214)) {
+ x_215 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_215 = x_214;
+ lean_ctor_set_tag(x_215, 1);
+}
+lean_ctor_set(x_215, 0, x_196);
+lean_ctor_set(x_215, 1, x_213);
+return x_215;
+}
}
}
}
@@ -16547,429 +16392,447 @@ return x_214;
}
else
{
-uint8_t x_228; lean_object* x_229;
+uint8_t x_232; lean_object* x_233;
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_228 = 1;
-x_229 = lean_box(x_228);
-lean_ctor_set(x_7, 0, x_229);
+x_232 = 1;
+x_233 = lean_box(x_232);
+lean_ctor_set(x_7, 0, x_233);
return x_7;
}
}
else
{
-lean_object* x_230; lean_object* x_231; lean_object* x_232; uint8_t x_233;
-x_230 = lean_ctor_get(x_7, 0);
-x_231 = lean_ctor_get(x_7, 1);
-lean_inc(x_231);
-lean_inc(x_230);
+lean_object* x_234; lean_object* x_235; lean_object* x_236; uint8_t x_237;
+x_234 = lean_ctor_get(x_7, 0);
+x_235 = lean_ctor_get(x_7, 1);
+lean_inc(x_235);
+lean_inc(x_234);
lean_dec(x_7);
-x_232 = lean_unsigned_to_nat(0u);
-x_233 = lean_nat_dec_eq(x_230, x_232);
-lean_dec(x_230);
-if (x_233 == 0)
+x_236 = lean_unsigned_to_nat(0u);
+x_237 = lean_nat_dec_eq(x_234, x_236);
+lean_dec(x_234);
+if (x_237 == 0)
{
-uint8_t x_234; lean_object* x_235; lean_object* x_317; lean_object* x_318; lean_object* x_319; uint8_t x_320;
-x_317 = lean_st_ref_get(x_5, x_231);
-x_318 = lean_ctor_get(x_317, 0);
-lean_inc(x_318);
-x_319 = lean_ctor_get(x_318, 3);
-lean_inc(x_319);
-lean_dec(x_318);
-x_320 = lean_ctor_get_uint8(x_319, sizeof(void*)*1);
-lean_dec(x_319);
-if (x_320 == 0)
-{
-lean_object* x_321; uint8_t x_322;
-x_321 = lean_ctor_get(x_317, 1);
-lean_inc(x_321);
-lean_dec(x_317);
-x_322 = 0;
-x_234 = x_322;
-x_235 = x_321;
-goto block_316;
-}
-else
-{
-lean_object* x_323; lean_object* x_324; lean_object* x_325; lean_object* x_326; lean_object* x_327; uint8_t x_328;
-x_323 = lean_ctor_get(x_317, 1);
-lean_inc(x_323);
-lean_dec(x_317);
-x_324 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__2;
-x_325 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_324, x_1, x_2, x_3, x_4, x_5, x_323);
+uint8_t x_238; lean_object* x_239; lean_object* x_325; lean_object* x_326; lean_object* x_327; uint8_t x_328;
+x_325 = lean_st_ref_get(x_5, x_235);
x_326 = lean_ctor_get(x_325, 0);
lean_inc(x_326);
-x_327 = lean_ctor_get(x_325, 1);
+x_327 = lean_ctor_get(x_326, 3);
lean_inc(x_327);
-lean_dec(x_325);
-x_328 = lean_unbox(x_326);
lean_dec(x_326);
-x_234 = x_328;
-x_235 = x_327;
-goto block_316;
+x_328 = lean_ctor_get_uint8(x_327, sizeof(void*)*1);
+lean_dec(x_327);
+if (x_328 == 0)
+{
+lean_object* x_329; uint8_t x_330;
+x_329 = lean_ctor_get(x_325, 1);
+lean_inc(x_329);
+lean_dec(x_325);
+x_330 = 0;
+x_238 = x_330;
+x_239 = x_329;
+goto block_324;
}
-block_316:
+else
{
-if (x_234 == 0)
+lean_object* x_331; lean_object* x_332; lean_object* x_333; lean_object* x_334; lean_object* x_335; uint8_t x_336;
+x_331 = lean_ctor_get(x_325, 1);
+lean_inc(x_331);
+lean_dec(x_325);
+x_332 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__2;
+x_333 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__3(x_332, x_1, x_2, x_3, x_4, x_5, x_331);
+x_334 = lean_ctor_get(x_333, 0);
+lean_inc(x_334);
+x_335 = lean_ctor_get(x_333, 1);
+lean_inc(x_335);
+lean_dec(x_333);
+x_336 = lean_unbox(x_334);
+lean_dec(x_334);
+x_238 = x_336;
+x_239 = x_335;
+goto block_324;
+}
+block_324:
{
-lean_object* x_236; lean_object* x_237; lean_object* x_238; lean_object* x_239; uint8_t x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244; lean_object* x_245; lean_object* x_246; lean_object* x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; uint8_t x_251; lean_object* x_252; lean_object* x_253; lean_object* x_254; lean_object* x_255; lean_object* x_256;
-x_236 = lean_st_ref_get(x_5, x_235);
-x_237 = lean_ctor_get(x_236, 0);
-lean_inc(x_237);
-x_238 = lean_ctor_get(x_237, 3);
-lean_inc(x_238);
-lean_dec(x_237);
-x_239 = lean_ctor_get(x_236, 1);
-lean_inc(x_239);
-lean_dec(x_236);
-x_240 = lean_ctor_get_uint8(x_238, sizeof(void*)*1);
-lean_dec(x_238);
-x_241 = lean_st_ref_take(x_5, x_239);
-x_242 = lean_ctor_get(x_241, 0);
-lean_inc(x_242);
-x_243 = lean_ctor_get(x_242, 3);
+uint8_t x_240;
+if (x_238 == 0)
+{
+uint8_t x_322;
+x_322 = 1;
+x_240 = x_322;
+goto block_321;
+}
+else
+{
+uint8_t x_323;
+x_323 = 0;
+x_240 = x_323;
+goto block_321;
+}
+block_321:
+{
+if (x_240 == 0)
+{
+lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244; lean_object* x_245;
+x_241 = lean_ctor_get(x_4, 3);
+lean_inc(x_241);
+x_242 = l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed___spec__1___rarg(x_5, x_239);
+x_243 = lean_ctor_get(x_242, 0);
lean_inc(x_243);
-x_244 = lean_ctor_get(x_241, 1);
+x_244 = lean_ctor_get(x_242, 1);
lean_inc(x_244);
-lean_dec(x_241);
-x_245 = lean_ctor_get(x_242, 0);
-lean_inc(x_245);
-x_246 = lean_ctor_get(x_242, 1);
-lean_inc(x_246);
-x_247 = lean_ctor_get(x_242, 2);
-lean_inc(x_247);
-if (lean_is_exclusive(x_242)) {
- lean_ctor_release(x_242, 0);
- lean_ctor_release(x_242, 1);
- lean_ctor_release(x_242, 2);
- lean_ctor_release(x_242, 3);
- x_248 = x_242;
-} else {
- lean_dec_ref(x_242);
- x_248 = lean_box(0);
-}
-x_249 = lean_ctor_get(x_243, 0);
-lean_inc(x_249);
-if (lean_is_exclusive(x_243)) {
- lean_ctor_release(x_243, 0);
- x_250 = x_243;
-} else {
- lean_dec_ref(x_243);
- x_250 = lean_box(0);
-}
-x_251 = 0;
-if (lean_is_scalar(x_250)) {
- x_252 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_252 = x_250;
-}
-lean_ctor_set(x_252, 0, x_249);
-lean_ctor_set_uint8(x_252, sizeof(void*)*1, x_251);
-if (lean_is_scalar(x_248)) {
- x_253 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_253 = x_248;
-}
-lean_ctor_set(x_253, 0, x_245);
-lean_ctor_set(x_253, 1, x_246);
-lean_ctor_set(x_253, 2, x_247);
-lean_ctor_set(x_253, 3, x_252);
-x_254 = lean_st_ref_set(x_5, x_253, x_244);
-x_255 = lean_ctor_get(x_254, 1);
-lean_inc(x_255);
-lean_dec(x_254);
-lean_inc(x_5);
-x_256 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedAux___rarg(x_1, x_2, x_3, x_4, x_5, x_255);
-if (lean_obj_tag(x_256) == 0)
-{
-lean_object* x_257; lean_object* x_258; lean_object* x_259; lean_object* x_260; lean_object* x_261; lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265; lean_object* x_266; lean_object* x_267; lean_object* x_268; lean_object* x_269; lean_object* x_270; lean_object* x_271; lean_object* x_272; lean_object* x_273; lean_object* x_274; lean_object* x_275; lean_object* x_276;
-x_257 = lean_ctor_get(x_256, 0);
-lean_inc(x_257);
-x_258 = lean_ctor_get(x_256, 1);
-lean_inc(x_258);
-lean_dec(x_256);
-x_259 = lean_st_ref_get(x_5, x_258);
-x_260 = lean_ctor_get(x_259, 1);
-lean_inc(x_260);
-lean_dec(x_259);
-x_261 = lean_st_ref_take(x_5, x_260);
-x_262 = lean_ctor_get(x_261, 0);
-lean_inc(x_262);
-x_263 = lean_ctor_get(x_262, 3);
-lean_inc(x_263);
-x_264 = lean_ctor_get(x_261, 1);
-lean_inc(x_264);
-lean_dec(x_261);
-x_265 = lean_ctor_get(x_262, 0);
-lean_inc(x_265);
-x_266 = lean_ctor_get(x_262, 1);
-lean_inc(x_266);
-x_267 = lean_ctor_get(x_262, 2);
-lean_inc(x_267);
-if (lean_is_exclusive(x_262)) {
- lean_ctor_release(x_262, 0);
- lean_ctor_release(x_262, 1);
- lean_ctor_release(x_262, 2);
- lean_ctor_release(x_262, 3);
- x_268 = x_262;
-} else {
- lean_dec_ref(x_262);
- x_268 = lean_box(0);
-}
-x_269 = lean_ctor_get(x_263, 0);
-lean_inc(x_269);
-if (lean_is_exclusive(x_263)) {
- lean_ctor_release(x_263, 0);
- x_270 = x_263;
-} else {
- lean_dec_ref(x_263);
- x_270 = lean_box(0);
-}
-if (lean_is_scalar(x_270)) {
- x_271 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_271 = x_270;
-}
-lean_ctor_set(x_271, 0, x_269);
-lean_ctor_set_uint8(x_271, sizeof(void*)*1, x_240);
-if (lean_is_scalar(x_268)) {
- x_272 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_272 = x_268;
-}
-lean_ctor_set(x_272, 0, x_265);
-lean_ctor_set(x_272, 1, x_266);
-lean_ctor_set(x_272, 2, x_267);
-lean_ctor_set(x_272, 3, x_271);
-x_273 = lean_st_ref_set(x_5, x_272, x_264);
-lean_dec(x_5);
-x_274 = lean_ctor_get(x_273, 1);
-lean_inc(x_274);
-if (lean_is_exclusive(x_273)) {
- lean_ctor_release(x_273, 0);
- lean_ctor_release(x_273, 1);
- x_275 = x_273;
-} else {
- lean_dec_ref(x_273);
- x_275 = lean_box(0);
-}
-if (lean_is_scalar(x_275)) {
- x_276 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_276 = x_275;
-}
-lean_ctor_set(x_276, 0, x_257);
-lean_ctor_set(x_276, 1, x_274);
-return x_276;
-}
-else
-{
-lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; lean_object* x_281; lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286; lean_object* x_287; lean_object* x_288; lean_object* x_289; lean_object* x_290; lean_object* x_291; lean_object* x_292; lean_object* x_293; lean_object* x_294; lean_object* x_295; lean_object* x_296;
-x_277 = lean_ctor_get(x_256, 0);
-lean_inc(x_277);
-x_278 = lean_ctor_get(x_256, 1);
-lean_inc(x_278);
-lean_dec(x_256);
-x_279 = lean_st_ref_get(x_5, x_278);
-x_280 = lean_ctor_get(x_279, 1);
-lean_inc(x_280);
-lean_dec(x_279);
-x_281 = lean_st_ref_take(x_5, x_280);
-x_282 = lean_ctor_get(x_281, 0);
-lean_inc(x_282);
-x_283 = lean_ctor_get(x_282, 3);
-lean_inc(x_283);
-x_284 = lean_ctor_get(x_281, 1);
-lean_inc(x_284);
-lean_dec(x_281);
-x_285 = lean_ctor_get(x_282, 0);
-lean_inc(x_285);
-x_286 = lean_ctor_get(x_282, 1);
-lean_inc(x_286);
-x_287 = lean_ctor_get(x_282, 2);
-lean_inc(x_287);
-if (lean_is_exclusive(x_282)) {
- lean_ctor_release(x_282, 0);
- lean_ctor_release(x_282, 1);
- lean_ctor_release(x_282, 2);
- lean_ctor_release(x_282, 3);
- x_288 = x_282;
-} else {
- lean_dec_ref(x_282);
- x_288 = lean_box(0);
-}
-x_289 = lean_ctor_get(x_283, 0);
-lean_inc(x_289);
-if (lean_is_exclusive(x_283)) {
- lean_ctor_release(x_283, 0);
- x_290 = x_283;
-} else {
- lean_dec_ref(x_283);
- x_290 = lean_box(0);
-}
-if (lean_is_scalar(x_290)) {
- x_291 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_291 = x_290;
-}
-lean_ctor_set(x_291, 0, x_289);
-lean_ctor_set_uint8(x_291, sizeof(void*)*1, x_240);
-if (lean_is_scalar(x_288)) {
- x_292 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_292 = x_288;
-}
-lean_ctor_set(x_292, 0, x_285);
-lean_ctor_set(x_292, 1, x_286);
-lean_ctor_set(x_292, 2, x_287);
-lean_ctor_set(x_292, 3, x_291);
-x_293 = lean_st_ref_set(x_5, x_292, x_284);
-lean_dec(x_5);
-x_294 = lean_ctor_get(x_293, 1);
-lean_inc(x_294);
-if (lean_is_exclusive(x_293)) {
- lean_ctor_release(x_293, 0);
- lean_ctor_release(x_293, 1);
- x_295 = x_293;
-} else {
- lean_dec_ref(x_293);
- x_295 = lean_box(0);
-}
-if (lean_is_scalar(x_295)) {
- x_296 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_296 = x_295;
- lean_ctor_set_tag(x_296, 1);
-}
-lean_ctor_set(x_296, 0, x_277);
-lean_ctor_set(x_296, 1, x_294);
-return x_296;
-}
-}
-else
-{
-lean_object* x_297; lean_object* x_298; lean_object* x_299; lean_object* x_300; lean_object* x_301;
-x_297 = lean_ctor_get(x_4, 3);
-lean_inc(x_297);
-x_298 = l___private_Lean_Util_Trace_5__getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed___spec__1___rarg(x_5, x_235);
-x_299 = lean_ctor_get(x_298, 0);
-lean_inc(x_299);
-x_300 = lean_ctor_get(x_298, 1);
-lean_inc(x_300);
-lean_dec(x_298);
+lean_dec(x_242);
lean_inc(x_5);
lean_inc(x_4);
lean_inc(x_3);
lean_inc(x_2);
lean_inc(x_1);
-x_301 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedAux___rarg(x_1, x_2, x_3, x_4, x_5, x_300);
-if (lean_obj_tag(x_301) == 0)
+x_245 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedAux___rarg(x_1, x_2, x_3, x_4, x_5, x_244);
+if (lean_obj_tag(x_245) == 0)
{
-lean_object* x_302; lean_object* x_303; lean_object* x_304; lean_object* x_305; lean_object* x_306; lean_object* x_307; lean_object* x_308;
-x_302 = lean_ctor_get(x_301, 0);
-lean_inc(x_302);
-x_303 = lean_ctor_get(x_301, 1);
-lean_inc(x_303);
-lean_dec(x_301);
-x_304 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__2;
-x_305 = l___private_Lean_Util_Trace_4__addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed___spec__2(x_299, x_304, x_297, x_1, x_2, x_3, x_4, x_5, x_303);
+lean_object* x_246; lean_object* x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252;
+x_246 = lean_ctor_get(x_245, 0);
+lean_inc(x_246);
+x_247 = lean_ctor_get(x_245, 1);
+lean_inc(x_247);
+lean_dec(x_245);
+x_248 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__2;
+x_249 = l___private_Lean_Util_Trace_0__Lean_addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed___spec__2(x_243, x_248, x_241, x_1, x_2, x_3, x_4, x_5, x_247);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_306 = lean_ctor_get(x_305, 1);
-lean_inc(x_306);
-if (lean_is_exclusive(x_305)) {
- lean_ctor_release(x_305, 0);
- lean_ctor_release(x_305, 1);
- x_307 = x_305;
+x_250 = lean_ctor_get(x_249, 1);
+lean_inc(x_250);
+if (lean_is_exclusive(x_249)) {
+ lean_ctor_release(x_249, 0);
+ lean_ctor_release(x_249, 1);
+ x_251 = x_249;
} else {
- lean_dec_ref(x_305);
- x_307 = lean_box(0);
+ lean_dec_ref(x_249);
+ x_251 = lean_box(0);
}
-if (lean_is_scalar(x_307)) {
- x_308 = lean_alloc_ctor(0, 2, 0);
+if (lean_is_scalar(x_251)) {
+ x_252 = lean_alloc_ctor(0, 2, 0);
} else {
- x_308 = x_307;
+ x_252 = x_251;
}
-lean_ctor_set(x_308, 0, x_302);
-lean_ctor_set(x_308, 1, x_306);
-return x_308;
+lean_ctor_set(x_252, 0, x_246);
+lean_ctor_set(x_252, 1, x_250);
+return x_252;
}
else
{
-lean_object* x_309; lean_object* x_310; lean_object* x_311; lean_object* x_312; lean_object* x_313; lean_object* x_314; lean_object* x_315;
-x_309 = lean_ctor_get(x_301, 0);
-lean_inc(x_309);
-x_310 = lean_ctor_get(x_301, 1);
-lean_inc(x_310);
-lean_dec(x_301);
-x_311 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__2;
-x_312 = l___private_Lean_Util_Trace_4__addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed___spec__2(x_299, x_311, x_297, x_1, x_2, x_3, x_4, x_5, x_310);
+lean_object* x_253; lean_object* x_254; lean_object* x_255; lean_object* x_256; lean_object* x_257; lean_object* x_258; lean_object* x_259;
+x_253 = lean_ctor_get(x_245, 0);
+lean_inc(x_253);
+x_254 = lean_ctor_get(x_245, 1);
+lean_inc(x_254);
+lean_dec(x_245);
+x_255 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__2;
+x_256 = l___private_Lean_Util_Trace_0__Lean_addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed___spec__2(x_243, x_255, x_241, x_1, x_2, x_3, x_4, x_5, x_254);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_313 = lean_ctor_get(x_312, 1);
-lean_inc(x_313);
-if (lean_is_exclusive(x_312)) {
- lean_ctor_release(x_312, 0);
- lean_ctor_release(x_312, 1);
- x_314 = x_312;
+x_257 = lean_ctor_get(x_256, 1);
+lean_inc(x_257);
+if (lean_is_exclusive(x_256)) {
+ lean_ctor_release(x_256, 0);
+ lean_ctor_release(x_256, 1);
+ x_258 = x_256;
} else {
- lean_dec_ref(x_312);
+ lean_dec_ref(x_256);
+ x_258 = lean_box(0);
+}
+if (lean_is_scalar(x_258)) {
+ x_259 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_259 = x_258;
+ lean_ctor_set_tag(x_259, 1);
+}
+lean_ctor_set(x_259, 0, x_253);
+lean_ctor_set(x_259, 1, x_257);
+return x_259;
+}
+}
+else
+{
+lean_object* x_260; lean_object* x_261; lean_object* x_262; lean_object* x_263; uint8_t x_264; lean_object* x_265; lean_object* x_266; lean_object* x_267; lean_object* x_268; lean_object* x_269; lean_object* x_270; lean_object* x_271; lean_object* x_272; lean_object* x_273; lean_object* x_274; uint8_t x_275; lean_object* x_276; lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280;
+x_260 = lean_st_ref_get(x_5, x_239);
+x_261 = lean_ctor_get(x_260, 0);
+lean_inc(x_261);
+x_262 = lean_ctor_get(x_261, 3);
+lean_inc(x_262);
+lean_dec(x_261);
+x_263 = lean_ctor_get(x_260, 1);
+lean_inc(x_263);
+lean_dec(x_260);
+x_264 = lean_ctor_get_uint8(x_262, sizeof(void*)*1);
+lean_dec(x_262);
+x_265 = lean_st_ref_take(x_5, x_263);
+x_266 = lean_ctor_get(x_265, 0);
+lean_inc(x_266);
+x_267 = lean_ctor_get(x_266, 3);
+lean_inc(x_267);
+x_268 = lean_ctor_get(x_265, 1);
+lean_inc(x_268);
+lean_dec(x_265);
+x_269 = lean_ctor_get(x_266, 0);
+lean_inc(x_269);
+x_270 = lean_ctor_get(x_266, 1);
+lean_inc(x_270);
+x_271 = lean_ctor_get(x_266, 2);
+lean_inc(x_271);
+if (lean_is_exclusive(x_266)) {
+ lean_ctor_release(x_266, 0);
+ lean_ctor_release(x_266, 1);
+ lean_ctor_release(x_266, 2);
+ lean_ctor_release(x_266, 3);
+ x_272 = x_266;
+} else {
+ lean_dec_ref(x_266);
+ x_272 = lean_box(0);
+}
+x_273 = lean_ctor_get(x_267, 0);
+lean_inc(x_273);
+if (lean_is_exclusive(x_267)) {
+ lean_ctor_release(x_267, 0);
+ x_274 = x_267;
+} else {
+ lean_dec_ref(x_267);
+ x_274 = lean_box(0);
+}
+x_275 = 0;
+if (lean_is_scalar(x_274)) {
+ x_276 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_276 = x_274;
+}
+lean_ctor_set(x_276, 0, x_273);
+lean_ctor_set_uint8(x_276, sizeof(void*)*1, x_275);
+if (lean_is_scalar(x_272)) {
+ x_277 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_277 = x_272;
+}
+lean_ctor_set(x_277, 0, x_269);
+lean_ctor_set(x_277, 1, x_270);
+lean_ctor_set(x_277, 2, x_271);
+lean_ctor_set(x_277, 3, x_276);
+x_278 = lean_st_ref_set(x_5, x_277, x_268);
+x_279 = lean_ctor_get(x_278, 1);
+lean_inc(x_279);
+lean_dec(x_278);
+lean_inc(x_5);
+x_280 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedAux___rarg(x_1, x_2, x_3, x_4, x_5, x_279);
+if (lean_obj_tag(x_280) == 0)
+{
+lean_object* x_281; lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286; lean_object* x_287; lean_object* x_288; lean_object* x_289; lean_object* x_290; lean_object* x_291; lean_object* x_292; lean_object* x_293; lean_object* x_294; lean_object* x_295; lean_object* x_296; lean_object* x_297; lean_object* x_298; lean_object* x_299; lean_object* x_300;
+x_281 = lean_ctor_get(x_280, 0);
+lean_inc(x_281);
+x_282 = lean_ctor_get(x_280, 1);
+lean_inc(x_282);
+lean_dec(x_280);
+x_283 = lean_st_ref_get(x_5, x_282);
+x_284 = lean_ctor_get(x_283, 1);
+lean_inc(x_284);
+lean_dec(x_283);
+x_285 = lean_st_ref_take(x_5, x_284);
+x_286 = lean_ctor_get(x_285, 0);
+lean_inc(x_286);
+x_287 = lean_ctor_get(x_286, 3);
+lean_inc(x_287);
+x_288 = lean_ctor_get(x_285, 1);
+lean_inc(x_288);
+lean_dec(x_285);
+x_289 = lean_ctor_get(x_286, 0);
+lean_inc(x_289);
+x_290 = lean_ctor_get(x_286, 1);
+lean_inc(x_290);
+x_291 = lean_ctor_get(x_286, 2);
+lean_inc(x_291);
+if (lean_is_exclusive(x_286)) {
+ lean_ctor_release(x_286, 0);
+ lean_ctor_release(x_286, 1);
+ lean_ctor_release(x_286, 2);
+ lean_ctor_release(x_286, 3);
+ x_292 = x_286;
+} else {
+ lean_dec_ref(x_286);
+ x_292 = lean_box(0);
+}
+x_293 = lean_ctor_get(x_287, 0);
+lean_inc(x_293);
+if (lean_is_exclusive(x_287)) {
+ lean_ctor_release(x_287, 0);
+ x_294 = x_287;
+} else {
+ lean_dec_ref(x_287);
+ x_294 = lean_box(0);
+}
+if (lean_is_scalar(x_294)) {
+ x_295 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_295 = x_294;
+}
+lean_ctor_set(x_295, 0, x_293);
+lean_ctor_set_uint8(x_295, sizeof(void*)*1, x_264);
+if (lean_is_scalar(x_292)) {
+ x_296 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_296 = x_292;
+}
+lean_ctor_set(x_296, 0, x_289);
+lean_ctor_set(x_296, 1, x_290);
+lean_ctor_set(x_296, 2, x_291);
+lean_ctor_set(x_296, 3, x_295);
+x_297 = lean_st_ref_set(x_5, x_296, x_288);
+lean_dec(x_5);
+x_298 = lean_ctor_get(x_297, 1);
+lean_inc(x_298);
+if (lean_is_exclusive(x_297)) {
+ lean_ctor_release(x_297, 0);
+ lean_ctor_release(x_297, 1);
+ x_299 = x_297;
+} else {
+ lean_dec_ref(x_297);
+ x_299 = lean_box(0);
+}
+if (lean_is_scalar(x_299)) {
+ x_300 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_300 = x_299;
+}
+lean_ctor_set(x_300, 0, x_281);
+lean_ctor_set(x_300, 1, x_298);
+return x_300;
+}
+else
+{
+lean_object* x_301; lean_object* x_302; lean_object* x_303; lean_object* x_304; lean_object* x_305; lean_object* x_306; lean_object* x_307; lean_object* x_308; lean_object* x_309; lean_object* x_310; lean_object* x_311; lean_object* x_312; lean_object* x_313; lean_object* x_314; lean_object* x_315; lean_object* x_316; lean_object* x_317; lean_object* x_318; lean_object* x_319; lean_object* x_320;
+x_301 = lean_ctor_get(x_280, 0);
+lean_inc(x_301);
+x_302 = lean_ctor_get(x_280, 1);
+lean_inc(x_302);
+lean_dec(x_280);
+x_303 = lean_st_ref_get(x_5, x_302);
+x_304 = lean_ctor_get(x_303, 1);
+lean_inc(x_304);
+lean_dec(x_303);
+x_305 = lean_st_ref_take(x_5, x_304);
+x_306 = lean_ctor_get(x_305, 0);
+lean_inc(x_306);
+x_307 = lean_ctor_get(x_306, 3);
+lean_inc(x_307);
+x_308 = lean_ctor_get(x_305, 1);
+lean_inc(x_308);
+lean_dec(x_305);
+x_309 = lean_ctor_get(x_306, 0);
+lean_inc(x_309);
+x_310 = lean_ctor_get(x_306, 1);
+lean_inc(x_310);
+x_311 = lean_ctor_get(x_306, 2);
+lean_inc(x_311);
+if (lean_is_exclusive(x_306)) {
+ lean_ctor_release(x_306, 0);
+ lean_ctor_release(x_306, 1);
+ lean_ctor_release(x_306, 2);
+ lean_ctor_release(x_306, 3);
+ x_312 = x_306;
+} else {
+ lean_dec_ref(x_306);
+ x_312 = lean_box(0);
+}
+x_313 = lean_ctor_get(x_307, 0);
+lean_inc(x_313);
+if (lean_is_exclusive(x_307)) {
+ lean_ctor_release(x_307, 0);
+ x_314 = x_307;
+} else {
+ lean_dec_ref(x_307);
x_314 = lean_box(0);
}
if (lean_is_scalar(x_314)) {
- x_315 = lean_alloc_ctor(1, 2, 0);
+ x_315 = lean_alloc_ctor(0, 1, 1);
} else {
x_315 = x_314;
- lean_ctor_set_tag(x_315, 1);
}
-lean_ctor_set(x_315, 0, x_309);
-lean_ctor_set(x_315, 1, x_313);
-return x_315;
+lean_ctor_set(x_315, 0, x_313);
+lean_ctor_set_uint8(x_315, sizeof(void*)*1, x_264);
+if (lean_is_scalar(x_312)) {
+ x_316 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_316 = x_312;
+}
+lean_ctor_set(x_316, 0, x_309);
+lean_ctor_set(x_316, 1, x_310);
+lean_ctor_set(x_316, 2, x_311);
+lean_ctor_set(x_316, 3, x_315);
+x_317 = lean_st_ref_set(x_5, x_316, x_308);
+lean_dec(x_5);
+x_318 = lean_ctor_get(x_317, 1);
+lean_inc(x_318);
+if (lean_is_exclusive(x_317)) {
+ lean_ctor_release(x_317, 0);
+ lean_ctor_release(x_317, 1);
+ x_319 = x_317;
+} else {
+ lean_dec_ref(x_317);
+ x_319 = lean_box(0);
+}
+if (lean_is_scalar(x_319)) {
+ x_320 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_320 = x_319;
+ lean_ctor_set_tag(x_320, 1);
+}
+lean_ctor_set(x_320, 0, x_301);
+lean_ctor_set(x_320, 1, x_318);
+return x_320;
+}
}
}
}
}
else
{
-uint8_t x_329; lean_object* x_330; lean_object* x_331;
+uint8_t x_337; lean_object* x_338; lean_object* x_339;
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_329 = 1;
-x_330 = lean_box(x_329);
-x_331 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_331, 0, x_330);
-lean_ctor_set(x_331, 1, x_231);
-return x_331;
+x_337 = 1;
+x_338 = lean_box(x_337);
+x_339 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_339, 0, x_338);
+lean_ctor_set(x_339, 1, x_235);
+return x_339;
}
}
}
}
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed___spec__1___rarg___boxed(lean_object* x_1, lean_object* x_2) {
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed___spec__1___rarg___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
-x_3 = l___private_Lean_Util_Trace_5__getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed___spec__1___rarg(x_1, x_2);
+x_3 = l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed___spec__1___rarg(x_1, x_2);
lean_dec(x_1);
return x_3;
}
}
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
lean_object* x_5;
-x_5 = l___private_Lean_Util_Trace_5__getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed___spec__1(x_1, x_2, x_3, x_4);
+x_5 = l___private_Lean_Util_Trace_0__Lean_getResetTraces___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed___spec__1(x_1, x_2, x_3, x_4);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
@@ -16977,11 +16840,11 @@ lean_dec(x_1);
return x_5;
}
}
-lean_object* l___private_Lean_Util_Trace_4__addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed___spec__2___boxed(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* l___private_Lean_Util_Trace_0__Lean_addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed___spec__2___boxed(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) {
_start:
{
lean_object* x_10;
-x_10 = l___private_Lean_Util_Trace_4__addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
+x_10 = l___private_Lean_Util_Trace_0__Lean_addNode___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponed___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
@@ -17516,7 +17379,7 @@ return x_22;
}
}
}
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__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* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__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) {
_start:
{
lean_object* x_7; uint8_t x_8; lean_object* x_9; lean_object* x_10;
@@ -17529,7 +17392,456 @@ lean_ctor_set(x_10, 1, x_6);
return x_10;
}
}
-lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(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* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_isLevelDefEq___spec__2___rarg(lean_object* x_1, lean_object* x_2) {
+_start:
+{
+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; uint8_t x_12;
+x_3 = lean_st_ref_get(x_1, x_2);
+x_4 = lean_ctor_get(x_3, 0);
+lean_inc(x_4);
+x_5 = lean_ctor_get(x_3, 1);
+lean_inc(x_5);
+lean_dec(x_3);
+x_6 = lean_ctor_get(x_4, 3);
+lean_inc(x_6);
+lean_dec(x_4);
+x_7 = lean_ctor_get(x_6, 0);
+lean_inc(x_7);
+lean_dec(x_6);
+x_8 = lean_st_ref_take(x_1, x_5);
+x_9 = lean_ctor_get(x_8, 0);
+lean_inc(x_9);
+x_10 = lean_ctor_get(x_9, 3);
+lean_inc(x_10);
+x_11 = lean_ctor_get(x_8, 1);
+lean_inc(x_11);
+lean_dec(x_8);
+x_12 = !lean_is_exclusive(x_9);
+if (x_12 == 0)
+{
+lean_object* x_13; uint8_t x_14;
+x_13 = lean_ctor_get(x_9, 3);
+lean_dec(x_13);
+x_14 = !lean_is_exclusive(x_10);
+if (x_14 == 0)
+{
+lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18;
+x_15 = lean_ctor_get(x_10, 0);
+lean_dec(x_15);
+x_16 = l_Std_PersistentArray_empty___closed__1;
+lean_ctor_set(x_10, 0, x_16);
+x_17 = lean_st_ref_set(x_1, x_9, x_11);
+x_18 = !lean_is_exclusive(x_17);
+if (x_18 == 0)
+{
+lean_object* x_19;
+x_19 = lean_ctor_get(x_17, 0);
+lean_dec(x_19);
+lean_ctor_set(x_17, 0, x_7);
+return x_17;
+}
+else
+{
+lean_object* x_20; lean_object* x_21;
+x_20 = lean_ctor_get(x_17, 1);
+lean_inc(x_20);
+lean_dec(x_17);
+x_21 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_21, 0, x_7);
+lean_ctor_set(x_21, 1, x_20);
+return x_21;
+}
+}
+else
+{
+uint8_t 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;
+x_22 = lean_ctor_get_uint8(x_10, sizeof(void*)*1);
+lean_dec(x_10);
+x_23 = l_Std_PersistentArray_empty___closed__1;
+x_24 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_24, 0, x_23);
+lean_ctor_set_uint8(x_24, sizeof(void*)*1, x_22);
+lean_ctor_set(x_9, 3, x_24);
+x_25 = lean_st_ref_set(x_1, x_9, x_11);
+x_26 = lean_ctor_get(x_25, 1);
+lean_inc(x_26);
+if (lean_is_exclusive(x_25)) {
+ lean_ctor_release(x_25, 0);
+ lean_ctor_release(x_25, 1);
+ x_27 = x_25;
+} else {
+ lean_dec_ref(x_25);
+ x_27 = lean_box(0);
+}
+if (lean_is_scalar(x_27)) {
+ x_28 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_28 = x_27;
+}
+lean_ctor_set(x_28, 0, x_7);
+lean_ctor_set(x_28, 1, x_26);
+return x_28;
+}
+}
+else
+{
+lean_object* x_29; lean_object* x_30; lean_object* x_31; uint8_t 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;
+x_29 = lean_ctor_get(x_9, 0);
+x_30 = lean_ctor_get(x_9, 1);
+x_31 = lean_ctor_get(x_9, 2);
+lean_inc(x_31);
+lean_inc(x_30);
+lean_inc(x_29);
+lean_dec(x_9);
+x_32 = lean_ctor_get_uint8(x_10, sizeof(void*)*1);
+if (lean_is_exclusive(x_10)) {
+ lean_ctor_release(x_10, 0);
+ x_33 = x_10;
+} else {
+ lean_dec_ref(x_10);
+ x_33 = lean_box(0);
+}
+x_34 = l_Std_PersistentArray_empty___closed__1;
+if (lean_is_scalar(x_33)) {
+ x_35 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_35 = x_33;
+}
+lean_ctor_set(x_35, 0, x_34);
+lean_ctor_set_uint8(x_35, sizeof(void*)*1, x_32);
+x_36 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_36, 0, x_29);
+lean_ctor_set(x_36, 1, x_30);
+lean_ctor_set(x_36, 2, x_31);
+lean_ctor_set(x_36, 3, x_35);
+x_37 = lean_st_ref_set(x_1, x_36, x_11);
+x_38 = lean_ctor_get(x_37, 1);
+lean_inc(x_38);
+if (lean_is_exclusive(x_37)) {
+ lean_ctor_release(x_37, 0);
+ lean_ctor_release(x_37, 1);
+ x_39 = x_37;
+} else {
+ lean_dec_ref(x_37);
+ x_39 = lean_box(0);
+}
+if (lean_is_scalar(x_39)) {
+ x_40 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_40 = x_39;
+}
+lean_ctor_set(x_40, 0, x_7);
+lean_ctor_set(x_40, 1, x_38);
+return x_40;
+}
+}
+}
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_isLevelDefEq___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+lean_object* x_4;
+x_4 = lean_alloc_closure((void*)(l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_isLevelDefEq___spec__2___rarg___boxed), 2, 0);
+return x_4;
+}
+}
+lean_object* l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_isLevelDefEq___spec__3(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:
+{
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13;
+x_9 = lean_st_ref_take(x_7, x_8);
+x_10 = lean_ctor_get(x_9, 0);
+lean_inc(x_10);
+x_11 = lean_ctor_get(x_10, 3);
+lean_inc(x_11);
+x_12 = lean_ctor_get(x_9, 1);
+lean_inc(x_12);
+lean_dec(x_9);
+x_13 = !lean_is_exclusive(x_10);
+if (x_13 == 0)
+{
+lean_object* x_14; uint8_t x_15;
+x_14 = lean_ctor_get(x_10, 3);
+lean_dec(x_14);
+x_15 = !lean_is_exclusive(x_11);
+if (x_15 == 0)
+{
+lean_object* x_16; uint8_t x_17;
+x_16 = lean_ctor_get(x_11, 0);
+x_17 = l_Std_PersistentArray_isEmpty___rarg(x_16);
+if (x_17 == 0)
+{
+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; uint8_t x_28;
+x_18 = l_Std_PersistentArray_toArray___rarg(x_16);
+lean_dec(x_16);
+x_19 = x_18;
+x_20 = lean_unsigned_to_nat(0u);
+x_21 = l_Array_umapMAux___main___at___private_Lean_Util_Trace_0__Lean_addNode___spec__1(x_20, x_19);
+x_22 = x_21;
+x_23 = lean_alloc_ctor(12, 1, 0);
+lean_ctor_set(x_23, 0, x_22);
+x_24 = lean_alloc_ctor(11, 2, 0);
+lean_ctor_set(x_24, 0, x_2);
+lean_ctor_set(x_24, 1, x_23);
+x_25 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_25, 0, x_3);
+lean_ctor_set(x_25, 1, x_24);
+x_26 = l_Std_PersistentArray_push___rarg(x_1, x_25);
+lean_ctor_set(x_11, 0, x_26);
+x_27 = lean_st_ref_set(x_7, x_10, x_12);
+x_28 = !lean_is_exclusive(x_27);
+if (x_28 == 0)
+{
+lean_object* x_29; lean_object* x_30;
+x_29 = lean_ctor_get(x_27, 0);
+lean_dec(x_29);
+x_30 = lean_box(0);
+lean_ctor_set(x_27, 0, x_30);
+return x_27;
+}
+else
+{
+lean_object* x_31; lean_object* x_32; lean_object* x_33;
+x_31 = lean_ctor_get(x_27, 1);
+lean_inc(x_31);
+lean_dec(x_27);
+x_32 = lean_box(0);
+x_33 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_33, 0, x_32);
+lean_ctor_set(x_33, 1, x_31);
+return x_33;
+}
+}
+else
+{
+lean_object* x_34; uint8_t x_35;
+lean_dec(x_16);
+lean_dec(x_3);
+lean_dec(x_2);
+lean_ctor_set(x_11, 0, x_1);
+x_34 = lean_st_ref_set(x_7, x_10, x_12);
+x_35 = !lean_is_exclusive(x_34);
+if (x_35 == 0)
+{
+lean_object* x_36; lean_object* x_37;
+x_36 = lean_ctor_get(x_34, 0);
+lean_dec(x_36);
+x_37 = lean_box(0);
+lean_ctor_set(x_34, 0, x_37);
+return x_34;
+}
+else
+{
+lean_object* x_38; lean_object* x_39; lean_object* x_40;
+x_38 = lean_ctor_get(x_34, 1);
+lean_inc(x_38);
+lean_dec(x_34);
+x_39 = lean_box(0);
+x_40 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_40, 0, x_39);
+lean_ctor_set(x_40, 1, x_38);
+return x_40;
+}
+}
+}
+else
+{
+uint8_t x_41; lean_object* x_42; uint8_t x_43;
+x_41 = lean_ctor_get_uint8(x_11, sizeof(void*)*1);
+x_42 = lean_ctor_get(x_11, 0);
+lean_inc(x_42);
+lean_dec(x_11);
+x_43 = l_Std_PersistentArray_isEmpty___rarg(x_42);
+if (x_43 == 0)
+{
+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;
+x_44 = l_Std_PersistentArray_toArray___rarg(x_42);
+lean_dec(x_42);
+x_45 = x_44;
+x_46 = lean_unsigned_to_nat(0u);
+x_47 = l_Array_umapMAux___main___at___private_Lean_Util_Trace_0__Lean_addNode___spec__1(x_46, x_45);
+x_48 = x_47;
+x_49 = lean_alloc_ctor(12, 1, 0);
+lean_ctor_set(x_49, 0, x_48);
+x_50 = lean_alloc_ctor(11, 2, 0);
+lean_ctor_set(x_50, 0, x_2);
+lean_ctor_set(x_50, 1, x_49);
+x_51 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_51, 0, x_3);
+lean_ctor_set(x_51, 1, x_50);
+x_52 = l_Std_PersistentArray_push___rarg(x_1, x_51);
+x_53 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_53, 0, x_52);
+lean_ctor_set_uint8(x_53, sizeof(void*)*1, x_41);
+lean_ctor_set(x_10, 3, x_53);
+x_54 = lean_st_ref_set(x_7, x_10, x_12);
+x_55 = lean_ctor_get(x_54, 1);
+lean_inc(x_55);
+if (lean_is_exclusive(x_54)) {
+ lean_ctor_release(x_54, 0);
+ lean_ctor_release(x_54, 1);
+ x_56 = x_54;
+} else {
+ lean_dec_ref(x_54);
+ x_56 = lean_box(0);
+}
+x_57 = lean_box(0);
+if (lean_is_scalar(x_56)) {
+ x_58 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_58 = x_56;
+}
+lean_ctor_set(x_58, 0, x_57);
+lean_ctor_set(x_58, 1, x_55);
+return x_58;
+}
+else
+{
+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_dec(x_42);
+lean_dec(x_3);
+lean_dec(x_2);
+x_59 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_59, 0, x_1);
+lean_ctor_set_uint8(x_59, sizeof(void*)*1, x_41);
+lean_ctor_set(x_10, 3, x_59);
+x_60 = lean_st_ref_set(x_7, x_10, x_12);
+x_61 = lean_ctor_get(x_60, 1);
+lean_inc(x_61);
+if (lean_is_exclusive(x_60)) {
+ lean_ctor_release(x_60, 0);
+ lean_ctor_release(x_60, 1);
+ x_62 = x_60;
+} else {
+ lean_dec_ref(x_60);
+ x_62 = lean_box(0);
+}
+x_63 = lean_box(0);
+if (lean_is_scalar(x_62)) {
+ x_64 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_64 = x_62;
+}
+lean_ctor_set(x_64, 0, x_63);
+lean_ctor_set(x_64, 1, x_61);
+return x_64;
+}
+}
+}
+else
+{
+lean_object* x_65; lean_object* x_66; lean_object* x_67; uint8_t x_68; lean_object* x_69; lean_object* x_70; uint8_t x_71;
+x_65 = lean_ctor_get(x_10, 0);
+x_66 = lean_ctor_get(x_10, 1);
+x_67 = lean_ctor_get(x_10, 2);
+lean_inc(x_67);
+lean_inc(x_66);
+lean_inc(x_65);
+lean_dec(x_10);
+x_68 = lean_ctor_get_uint8(x_11, sizeof(void*)*1);
+x_69 = lean_ctor_get(x_11, 0);
+lean_inc(x_69);
+if (lean_is_exclusive(x_11)) {
+ lean_ctor_release(x_11, 0);
+ x_70 = x_11;
+} else {
+ lean_dec_ref(x_11);
+ x_70 = lean_box(0);
+}
+x_71 = l_Std_PersistentArray_isEmpty___rarg(x_69);
+if (x_71 == 0)
+{
+lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; 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;
+x_72 = l_Std_PersistentArray_toArray___rarg(x_69);
+lean_dec(x_69);
+x_73 = x_72;
+x_74 = lean_unsigned_to_nat(0u);
+x_75 = l_Array_umapMAux___main___at___private_Lean_Util_Trace_0__Lean_addNode___spec__1(x_74, x_73);
+x_76 = x_75;
+x_77 = lean_alloc_ctor(12, 1, 0);
+lean_ctor_set(x_77, 0, x_76);
+x_78 = lean_alloc_ctor(11, 2, 0);
+lean_ctor_set(x_78, 0, x_2);
+lean_ctor_set(x_78, 1, x_77);
+x_79 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_79, 0, x_3);
+lean_ctor_set(x_79, 1, x_78);
+x_80 = l_Std_PersistentArray_push___rarg(x_1, x_79);
+if (lean_is_scalar(x_70)) {
+ x_81 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_81 = x_70;
+}
+lean_ctor_set(x_81, 0, x_80);
+lean_ctor_set_uint8(x_81, sizeof(void*)*1, x_68);
+x_82 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_82, 0, x_65);
+lean_ctor_set(x_82, 1, x_66);
+lean_ctor_set(x_82, 2, x_67);
+lean_ctor_set(x_82, 3, x_81);
+x_83 = lean_st_ref_set(x_7, x_82, x_12);
+x_84 = lean_ctor_get(x_83, 1);
+lean_inc(x_84);
+if (lean_is_exclusive(x_83)) {
+ lean_ctor_release(x_83, 0);
+ lean_ctor_release(x_83, 1);
+ x_85 = x_83;
+} else {
+ lean_dec_ref(x_83);
+ x_85 = lean_box(0);
+}
+x_86 = lean_box(0);
+if (lean_is_scalar(x_85)) {
+ x_87 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_87 = x_85;
+}
+lean_ctor_set(x_87, 0, x_86);
+lean_ctor_set(x_87, 1, x_84);
+return x_87;
+}
+else
+{
+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_dec(x_69);
+lean_dec(x_3);
+lean_dec(x_2);
+if (lean_is_scalar(x_70)) {
+ x_88 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_88 = x_70;
+}
+lean_ctor_set(x_88, 0, x_1);
+lean_ctor_set_uint8(x_88, sizeof(void*)*1, x_68);
+x_89 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_89, 0, x_65);
+lean_ctor_set(x_89, 1, x_66);
+lean_ctor_set(x_89, 2, x_67);
+lean_ctor_set(x_89, 3, x_88);
+x_90 = lean_st_ref_set(x_7, x_89, x_12);
+x_91 = lean_ctor_get(x_90, 1);
+lean_inc(x_91);
+if (lean_is_exclusive(x_90)) {
+ lean_ctor_release(x_90, 0);
+ lean_ctor_release(x_90, 1);
+ x_92 = x_90;
+} else {
+ lean_dec_ref(x_90);
+ x_92 = lean_box(0);
+}
+x_93 = lean_box(0);
+if (lean_is_scalar(x_92)) {
+ x_94 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_94 = x_92;
+}
+lean_ctor_set(x_94, 0, x_93);
+lean_ctor_set(x_94, 1, x_91);
+return x_94;
+}
+}
+}
+}
+lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(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) {
_start:
{
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; uint8_t x_16;
@@ -17696,455 +18008,6 @@ return x_56;
}
}
}
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_isLevelDefEq___spec__3___rarg(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-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; uint8_t x_12;
-x_3 = lean_st_ref_get(x_1, x_2);
-x_4 = lean_ctor_get(x_3, 0);
-lean_inc(x_4);
-x_5 = lean_ctor_get(x_3, 1);
-lean_inc(x_5);
-lean_dec(x_3);
-x_6 = lean_ctor_get(x_4, 3);
-lean_inc(x_6);
-lean_dec(x_4);
-x_7 = lean_ctor_get(x_6, 0);
-lean_inc(x_7);
-lean_dec(x_6);
-x_8 = lean_st_ref_take(x_1, x_5);
-x_9 = lean_ctor_get(x_8, 0);
-lean_inc(x_9);
-x_10 = lean_ctor_get(x_9, 3);
-lean_inc(x_10);
-x_11 = lean_ctor_get(x_8, 1);
-lean_inc(x_11);
-lean_dec(x_8);
-x_12 = !lean_is_exclusive(x_9);
-if (x_12 == 0)
-{
-lean_object* x_13; uint8_t x_14;
-x_13 = lean_ctor_get(x_9, 3);
-lean_dec(x_13);
-x_14 = !lean_is_exclusive(x_10);
-if (x_14 == 0)
-{
-lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18;
-x_15 = lean_ctor_get(x_10, 0);
-lean_dec(x_15);
-x_16 = l_Std_PersistentArray_empty___closed__1;
-lean_ctor_set(x_10, 0, x_16);
-x_17 = lean_st_ref_set(x_1, x_9, x_11);
-x_18 = !lean_is_exclusive(x_17);
-if (x_18 == 0)
-{
-lean_object* x_19;
-x_19 = lean_ctor_get(x_17, 0);
-lean_dec(x_19);
-lean_ctor_set(x_17, 0, x_7);
-return x_17;
-}
-else
-{
-lean_object* x_20; lean_object* x_21;
-x_20 = lean_ctor_get(x_17, 1);
-lean_inc(x_20);
-lean_dec(x_17);
-x_21 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_21, 0, x_7);
-lean_ctor_set(x_21, 1, x_20);
-return x_21;
-}
-}
-else
-{
-uint8_t 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;
-x_22 = lean_ctor_get_uint8(x_10, sizeof(void*)*1);
-lean_dec(x_10);
-x_23 = l_Std_PersistentArray_empty___closed__1;
-x_24 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_24, 0, x_23);
-lean_ctor_set_uint8(x_24, sizeof(void*)*1, x_22);
-lean_ctor_set(x_9, 3, x_24);
-x_25 = lean_st_ref_set(x_1, x_9, x_11);
-x_26 = lean_ctor_get(x_25, 1);
-lean_inc(x_26);
-if (lean_is_exclusive(x_25)) {
- lean_ctor_release(x_25, 0);
- lean_ctor_release(x_25, 1);
- x_27 = x_25;
-} else {
- lean_dec_ref(x_25);
- x_27 = lean_box(0);
-}
-if (lean_is_scalar(x_27)) {
- x_28 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_28 = x_27;
-}
-lean_ctor_set(x_28, 0, x_7);
-lean_ctor_set(x_28, 1, x_26);
-return x_28;
-}
-}
-else
-{
-lean_object* x_29; lean_object* x_30; lean_object* x_31; uint8_t 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;
-x_29 = lean_ctor_get(x_9, 0);
-x_30 = lean_ctor_get(x_9, 1);
-x_31 = lean_ctor_get(x_9, 2);
-lean_inc(x_31);
-lean_inc(x_30);
-lean_inc(x_29);
-lean_dec(x_9);
-x_32 = lean_ctor_get_uint8(x_10, sizeof(void*)*1);
-if (lean_is_exclusive(x_10)) {
- lean_ctor_release(x_10, 0);
- x_33 = x_10;
-} else {
- lean_dec_ref(x_10);
- x_33 = lean_box(0);
-}
-x_34 = l_Std_PersistentArray_empty___closed__1;
-if (lean_is_scalar(x_33)) {
- x_35 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_35 = x_33;
-}
-lean_ctor_set(x_35, 0, x_34);
-lean_ctor_set_uint8(x_35, sizeof(void*)*1, x_32);
-x_36 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_36, 0, x_29);
-lean_ctor_set(x_36, 1, x_30);
-lean_ctor_set(x_36, 2, x_31);
-lean_ctor_set(x_36, 3, x_35);
-x_37 = lean_st_ref_set(x_1, x_36, x_11);
-x_38 = lean_ctor_get(x_37, 1);
-lean_inc(x_38);
-if (lean_is_exclusive(x_37)) {
- lean_ctor_release(x_37, 0);
- lean_ctor_release(x_37, 1);
- x_39 = x_37;
-} else {
- lean_dec_ref(x_37);
- x_39 = lean_box(0);
-}
-if (lean_is_scalar(x_39)) {
- x_40 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_40 = x_39;
-}
-lean_ctor_set(x_40, 0, x_7);
-lean_ctor_set(x_40, 1, x_38);
-return x_40;
-}
-}
-}
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_isLevelDefEq___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4;
-x_4 = lean_alloc_closure((void*)(l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_isLevelDefEq___spec__3___rarg___boxed), 2, 0);
-return x_4;
-}
-}
-lean_object* l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_isLevelDefEq___spec__4(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:
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13;
-x_9 = lean_st_ref_take(x_7, x_8);
-x_10 = lean_ctor_get(x_9, 0);
-lean_inc(x_10);
-x_11 = lean_ctor_get(x_10, 3);
-lean_inc(x_11);
-x_12 = lean_ctor_get(x_9, 1);
-lean_inc(x_12);
-lean_dec(x_9);
-x_13 = !lean_is_exclusive(x_10);
-if (x_13 == 0)
-{
-lean_object* x_14; uint8_t x_15;
-x_14 = lean_ctor_get(x_10, 3);
-lean_dec(x_14);
-x_15 = !lean_is_exclusive(x_11);
-if (x_15 == 0)
-{
-lean_object* x_16; uint8_t x_17;
-x_16 = lean_ctor_get(x_11, 0);
-x_17 = l_Std_PersistentArray_isEmpty___rarg(x_16);
-if (x_17 == 0)
-{
-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; uint8_t x_28;
-x_18 = l_Std_PersistentArray_toArray___rarg(x_16);
-lean_dec(x_16);
-x_19 = x_18;
-x_20 = lean_unsigned_to_nat(0u);
-x_21 = l_Array_umapMAux___main___at___private_Lean_Util_Trace_4__addNode___spec__1(x_20, x_19);
-x_22 = x_21;
-x_23 = lean_alloc_ctor(12, 1, 0);
-lean_ctor_set(x_23, 0, x_22);
-x_24 = lean_alloc_ctor(11, 2, 0);
-lean_ctor_set(x_24, 0, x_2);
-lean_ctor_set(x_24, 1, x_23);
-x_25 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_25, 0, x_3);
-lean_ctor_set(x_25, 1, x_24);
-x_26 = l_Std_PersistentArray_push___rarg(x_1, x_25);
-lean_ctor_set(x_11, 0, x_26);
-x_27 = lean_st_ref_set(x_7, x_10, x_12);
-x_28 = !lean_is_exclusive(x_27);
-if (x_28 == 0)
-{
-lean_object* x_29; lean_object* x_30;
-x_29 = lean_ctor_get(x_27, 0);
-lean_dec(x_29);
-x_30 = lean_box(0);
-lean_ctor_set(x_27, 0, x_30);
-return x_27;
-}
-else
-{
-lean_object* x_31; lean_object* x_32; lean_object* x_33;
-x_31 = lean_ctor_get(x_27, 1);
-lean_inc(x_31);
-lean_dec(x_27);
-x_32 = lean_box(0);
-x_33 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_33, 0, x_32);
-lean_ctor_set(x_33, 1, x_31);
-return x_33;
-}
-}
-else
-{
-lean_object* x_34; uint8_t x_35;
-lean_dec(x_16);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_ctor_set(x_11, 0, x_1);
-x_34 = lean_st_ref_set(x_7, x_10, x_12);
-x_35 = !lean_is_exclusive(x_34);
-if (x_35 == 0)
-{
-lean_object* x_36; lean_object* x_37;
-x_36 = lean_ctor_get(x_34, 0);
-lean_dec(x_36);
-x_37 = lean_box(0);
-lean_ctor_set(x_34, 0, x_37);
-return x_34;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; lean_object* x_40;
-x_38 = lean_ctor_get(x_34, 1);
-lean_inc(x_38);
-lean_dec(x_34);
-x_39 = lean_box(0);
-x_40 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_40, 0, x_39);
-lean_ctor_set(x_40, 1, x_38);
-return x_40;
-}
-}
-}
-else
-{
-uint8_t x_41; lean_object* x_42; uint8_t x_43;
-x_41 = lean_ctor_get_uint8(x_11, sizeof(void*)*1);
-x_42 = lean_ctor_get(x_11, 0);
-lean_inc(x_42);
-lean_dec(x_11);
-x_43 = l_Std_PersistentArray_isEmpty___rarg(x_42);
-if (x_43 == 0)
-{
-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;
-x_44 = l_Std_PersistentArray_toArray___rarg(x_42);
-lean_dec(x_42);
-x_45 = x_44;
-x_46 = lean_unsigned_to_nat(0u);
-x_47 = l_Array_umapMAux___main___at___private_Lean_Util_Trace_4__addNode___spec__1(x_46, x_45);
-x_48 = x_47;
-x_49 = lean_alloc_ctor(12, 1, 0);
-lean_ctor_set(x_49, 0, x_48);
-x_50 = lean_alloc_ctor(11, 2, 0);
-lean_ctor_set(x_50, 0, x_2);
-lean_ctor_set(x_50, 1, x_49);
-x_51 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_51, 0, x_3);
-lean_ctor_set(x_51, 1, x_50);
-x_52 = l_Std_PersistentArray_push___rarg(x_1, x_51);
-x_53 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_53, 0, x_52);
-lean_ctor_set_uint8(x_53, sizeof(void*)*1, x_41);
-lean_ctor_set(x_10, 3, x_53);
-x_54 = lean_st_ref_set(x_7, x_10, x_12);
-x_55 = lean_ctor_get(x_54, 1);
-lean_inc(x_55);
-if (lean_is_exclusive(x_54)) {
- lean_ctor_release(x_54, 0);
- lean_ctor_release(x_54, 1);
- x_56 = x_54;
-} else {
- lean_dec_ref(x_54);
- x_56 = lean_box(0);
-}
-x_57 = lean_box(0);
-if (lean_is_scalar(x_56)) {
- x_58 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_58 = x_56;
-}
-lean_ctor_set(x_58, 0, x_57);
-lean_ctor_set(x_58, 1, x_55);
-return x_58;
-}
-else
-{
-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_dec(x_42);
-lean_dec(x_3);
-lean_dec(x_2);
-x_59 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_59, 0, x_1);
-lean_ctor_set_uint8(x_59, sizeof(void*)*1, x_41);
-lean_ctor_set(x_10, 3, x_59);
-x_60 = lean_st_ref_set(x_7, x_10, x_12);
-x_61 = lean_ctor_get(x_60, 1);
-lean_inc(x_61);
-if (lean_is_exclusive(x_60)) {
- lean_ctor_release(x_60, 0);
- lean_ctor_release(x_60, 1);
- x_62 = x_60;
-} else {
- lean_dec_ref(x_60);
- x_62 = lean_box(0);
-}
-x_63 = lean_box(0);
-if (lean_is_scalar(x_62)) {
- x_64 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_64 = x_62;
-}
-lean_ctor_set(x_64, 0, x_63);
-lean_ctor_set(x_64, 1, x_61);
-return x_64;
-}
-}
-}
-else
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; uint8_t x_68; lean_object* x_69; lean_object* x_70; uint8_t x_71;
-x_65 = lean_ctor_get(x_10, 0);
-x_66 = lean_ctor_get(x_10, 1);
-x_67 = lean_ctor_get(x_10, 2);
-lean_inc(x_67);
-lean_inc(x_66);
-lean_inc(x_65);
-lean_dec(x_10);
-x_68 = lean_ctor_get_uint8(x_11, sizeof(void*)*1);
-x_69 = lean_ctor_get(x_11, 0);
-lean_inc(x_69);
-if (lean_is_exclusive(x_11)) {
- lean_ctor_release(x_11, 0);
- x_70 = x_11;
-} else {
- lean_dec_ref(x_11);
- x_70 = lean_box(0);
-}
-x_71 = l_Std_PersistentArray_isEmpty___rarg(x_69);
-if (x_71 == 0)
-{
-lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; 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;
-x_72 = l_Std_PersistentArray_toArray___rarg(x_69);
-lean_dec(x_69);
-x_73 = x_72;
-x_74 = lean_unsigned_to_nat(0u);
-x_75 = l_Array_umapMAux___main___at___private_Lean_Util_Trace_4__addNode___spec__1(x_74, x_73);
-x_76 = x_75;
-x_77 = lean_alloc_ctor(12, 1, 0);
-lean_ctor_set(x_77, 0, x_76);
-x_78 = lean_alloc_ctor(11, 2, 0);
-lean_ctor_set(x_78, 0, x_2);
-lean_ctor_set(x_78, 1, x_77);
-x_79 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_79, 0, x_3);
-lean_ctor_set(x_79, 1, x_78);
-x_80 = l_Std_PersistentArray_push___rarg(x_1, x_79);
-if (lean_is_scalar(x_70)) {
- x_81 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_81 = x_70;
-}
-lean_ctor_set(x_81, 0, x_80);
-lean_ctor_set_uint8(x_81, sizeof(void*)*1, x_68);
-x_82 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_82, 0, x_65);
-lean_ctor_set(x_82, 1, x_66);
-lean_ctor_set(x_82, 2, x_67);
-lean_ctor_set(x_82, 3, x_81);
-x_83 = lean_st_ref_set(x_7, x_82, x_12);
-x_84 = lean_ctor_get(x_83, 1);
-lean_inc(x_84);
-if (lean_is_exclusive(x_83)) {
- lean_ctor_release(x_83, 0);
- lean_ctor_release(x_83, 1);
- x_85 = x_83;
-} else {
- lean_dec_ref(x_83);
- x_85 = lean_box(0);
-}
-x_86 = lean_box(0);
-if (lean_is_scalar(x_85)) {
- x_87 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_87 = x_85;
-}
-lean_ctor_set(x_87, 0, x_86);
-lean_ctor_set(x_87, 1, x_84);
-return x_87;
-}
-else
-{
-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_dec(x_69);
-lean_dec(x_3);
-lean_dec(x_2);
-if (lean_is_scalar(x_70)) {
- x_88 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_88 = x_70;
-}
-lean_ctor_set(x_88, 0, x_1);
-lean_ctor_set_uint8(x_88, sizeof(void*)*1, x_68);
-x_89 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_89, 0, x_65);
-lean_ctor_set(x_89, 1, x_66);
-lean_ctor_set(x_89, 2, x_67);
-lean_ctor_set(x_89, 3, x_88);
-x_90 = lean_st_ref_set(x_7, x_89, x_12);
-x_91 = lean_ctor_get(x_90, 1);
-lean_inc(x_91);
-if (lean_is_exclusive(x_90)) {
- lean_ctor_release(x_90, 0);
- lean_ctor_release(x_90, 1);
- x_92 = x_90;
-} else {
- lean_dec_ref(x_90);
- x_92 = lean_box(0);
-}
-x_93 = lean_box(0);
-if (lean_is_scalar(x_92)) {
- x_94 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_94 = x_92;
-}
-lean_ctor_set(x_94, 0, x_93);
-lean_ctor_set(x_94, 1, x_91);
-return x_94;
-}
-}
-}
-}
lean_object* l_Lean_Meta_isLevelDefEq___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
@@ -18198,7 +18061,7 @@ return x_11;
else
{
lean_object* x_12;
-x_12 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_1, x_3, x_4, x_5, x_6, x_7);
+x_12 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_1, x_3, x_4, x_5, x_6, x_7);
return x_12;
}
}
@@ -18257,1112 +18120,1070 @@ return x_2;
lean_object* l_Lean_Meta_isLevelDefEq___rarg___lambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, uint8_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
_start:
{
-lean_object* x_11;
+lean_object* x_11; uint8_t x_24;
if (x_5 == 0)
{
-lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t x_29;
-x_20 = lean_st_ref_get(x_9, x_10);
-x_21 = lean_ctor_get(x_20, 0);
+uint8_t x_422;
+x_422 = 1;
+x_24 = x_422;
+goto block_421;
+}
+else
+{
+uint8_t x_423;
+x_423 = 0;
+x_24 = x_423;
+goto block_421;
+}
+block_23:
+{
+if (lean_obj_tag(x_11) == 0)
+{
+uint8_t x_12;
+x_12 = !lean_is_exclusive(x_11);
+if (x_12 == 0)
+{
+lean_object* x_13; lean_object* x_14;
+x_13 = lean_ctor_get(x_11, 0);
+x_14 = lean_ctor_get(x_13, 0);
+lean_inc(x_14);
+lean_dec(x_13);
+lean_ctor_set(x_11, 0, x_14);
+return x_11;
+}
+else
+{
+lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
+x_15 = lean_ctor_get(x_11, 0);
+x_16 = lean_ctor_get(x_11, 1);
+lean_inc(x_16);
+lean_inc(x_15);
+lean_dec(x_11);
+x_17 = lean_ctor_get(x_15, 0);
+lean_inc(x_17);
+lean_dec(x_15);
+x_18 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_18, 0, x_17);
+lean_ctor_set(x_18, 1, x_16);
+return x_18;
+}
+}
+else
+{
+uint8_t x_19;
+x_19 = !lean_is_exclusive(x_11);
+if (x_19 == 0)
+{
+return x_11;
+}
+else
+{
+lean_object* x_20; lean_object* x_21; lean_object* x_22;
+x_20 = lean_ctor_get(x_11, 0);
+x_21 = lean_ctor_get(x_11, 1);
lean_inc(x_21);
-x_22 = lean_ctor_get(x_21, 3);
-lean_inc(x_22);
-lean_dec(x_21);
-x_23 = lean_ctor_get(x_20, 1);
-lean_inc(x_23);
-lean_dec(x_20);
-x_24 = lean_ctor_get_uint8(x_22, sizeof(void*)*1);
-lean_dec(x_22);
-x_25 = lean_st_ref_take(x_9, x_23);
-x_26 = lean_ctor_get(x_25, 0);
-lean_inc(x_26);
-x_27 = lean_ctor_get(x_26, 3);
+lean_inc(x_20);
+lean_dec(x_11);
+x_22 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_22, 0, x_20);
+lean_ctor_set(x_22, 1, x_21);
+return x_22;
+}
+}
+}
+block_421:
+{
+if (x_24 == 0)
+{
+lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t x_29; lean_object* x_30; lean_object* x_39; lean_object* x_40; lean_object* x_47;
+x_25 = lean_ctor_get(x_8, 3);
+lean_inc(x_25);
+x_26 = l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_isLevelDefEq___spec__2___rarg(x_9, x_10);
+x_27 = lean_ctor_get(x_26, 0);
lean_inc(x_27);
-x_28 = lean_ctor_get(x_25, 1);
+x_28 = lean_ctor_get(x_26, 1);
lean_inc(x_28);
-lean_dec(x_25);
-x_29 = !lean_is_exclusive(x_26);
-if (x_29 == 0)
-{
-lean_object* x_30; uint8_t x_31;
-x_30 = lean_ctor_get(x_26, 3);
-lean_dec(x_30);
-x_31 = !lean_is_exclusive(x_27);
-if (x_31 == 0)
-{
-uint8_t x_32; lean_object* x_33; lean_object* x_34; uint8_t x_35; lean_object* x_36; lean_object* x_84;
-x_32 = 0;
-lean_ctor_set_uint8(x_27, sizeof(void*)*1, x_32);
-x_33 = lean_st_ref_set(x_9, x_26, x_28);
-x_34 = lean_ctor_get(x_33, 1);
-lean_inc(x_34);
-lean_dec(x_33);
+lean_dec(x_26);
lean_inc(x_9);
lean_inc(x_8);
lean_inc(x_7);
lean_inc(x_6);
-x_84 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_1, x_6, x_7, x_8, x_9, x_34);
-if (lean_obj_tag(x_84) == 0)
+x_47 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_2, x_6, x_7, x_8, x_9, x_28);
+if (lean_obj_tag(x_47) == 0)
{
-lean_object* x_85; lean_object* x_86; uint8_t x_87; lean_object* x_88; lean_object* x_113; lean_object* x_114; lean_object* x_115; uint8_t x_116;
-x_85 = lean_ctor_get(x_84, 0);
-lean_inc(x_85);
-x_86 = lean_ctor_get(x_84, 1);
-lean_inc(x_86);
-lean_dec(x_84);
-x_113 = lean_st_ref_get(x_9, x_86);
-x_114 = lean_ctor_get(x_113, 0);
-lean_inc(x_114);
-x_115 = lean_ctor_get(x_114, 3);
-lean_inc(x_115);
-lean_dec(x_114);
-x_116 = lean_ctor_get_uint8(x_115, sizeof(void*)*1);
-lean_dec(x_115);
-if (x_116 == 0)
-{
-lean_object* x_117;
-x_117 = lean_ctor_get(x_113, 1);
-lean_inc(x_117);
-lean_dec(x_113);
-x_87 = x_32;
-x_88 = x_117;
-goto block_112;
-}
-else
-{
-lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; uint8_t x_122;
-x_118 = lean_ctor_get(x_113, 1);
-lean_inc(x_118);
-lean_dec(x_113);
-lean_inc(x_4);
-x_119 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_4, x_6, x_7, x_8, x_9, x_118);
-x_120 = lean_ctor_get(x_119, 0);
-lean_inc(x_120);
-x_121 = lean_ctor_get(x_119, 1);
-lean_inc(x_121);
-lean_dec(x_119);
-x_122 = lean_unbox(x_120);
-lean_dec(x_120);
-x_87 = x_122;
-x_88 = x_121;
-goto block_112;
-}
-block_112:
-{
-if (x_87 == 0)
-{
-uint8_t x_89;
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-x_89 = lean_unbox(x_85);
-lean_dec(x_85);
-x_35 = x_89;
-x_36 = x_88;
-goto block_83;
-}
-else
-{
-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; uint8_t x_99;
-x_90 = lean_alloc_ctor(3, 1, 0);
-lean_ctor_set(x_90, 0, x_2);
-x_91 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_92 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_92, 0, x_91);
-lean_ctor_set(x_92, 1, x_90);
-x_93 = l_Lean_Meta_isLevelDefEqAux___closed__6;
-x_94 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_94, 0, x_92);
-lean_ctor_set(x_94, 1, x_93);
-x_95 = lean_alloc_ctor(3, 1, 0);
-lean_ctor_set(x_95, 0, x_3);
-x_96 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_96, 0, x_94);
-lean_ctor_set(x_96, 1, x_95);
-x_97 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
-x_98 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_98, 0, x_96);
-lean_ctor_set(x_98, 1, x_97);
-x_99 = lean_unbox(x_85);
-if (x_99 == 0)
-{
-lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; uint8_t x_105;
-x_100 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
-x_101 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_101, 0, x_98);
-lean_ctor_set(x_101, 1, x_100);
-x_102 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_102, 0, x_101);
-lean_ctor_set(x_102, 1, x_91);
-x_103 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_4, x_102, x_6, x_7, x_8, x_9, x_88);
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-x_104 = lean_ctor_get(x_103, 1);
-lean_inc(x_104);
-lean_dec(x_103);
-x_105 = lean_unbox(x_85);
-lean_dec(x_85);
-x_35 = x_105;
-x_36 = x_104;
-goto block_83;
-}
-else
-{
-lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; uint8_t x_111;
-x_106 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
-x_107 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_107, 0, x_98);
-lean_ctor_set(x_107, 1, x_106);
-x_108 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_108, 0, x_107);
-lean_ctor_set(x_108, 1, x_91);
-x_109 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_4, x_108, x_6, x_7, x_8, x_9, x_88);
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-x_110 = lean_ctor_get(x_109, 1);
-lean_inc(x_110);
-lean_dec(x_109);
-x_111 = lean_unbox(x_85);
-lean_dec(x_85);
-x_35 = x_111;
-x_36 = x_110;
-goto block_83;
-}
-}
-}
-}
-else
-{
-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; uint8_t x_131;
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-x_123 = lean_ctor_get(x_84, 0);
-lean_inc(x_123);
-x_124 = lean_ctor_get(x_84, 1);
-lean_inc(x_124);
-lean_dec(x_84);
-x_125 = lean_st_ref_get(x_9, x_124);
-x_126 = lean_ctor_get(x_125, 1);
-lean_inc(x_126);
-lean_dec(x_125);
-x_127 = lean_st_ref_take(x_9, x_126);
-x_128 = lean_ctor_get(x_127, 0);
-lean_inc(x_128);
-x_129 = lean_ctor_get(x_128, 3);
-lean_inc(x_129);
-x_130 = lean_ctor_get(x_127, 1);
-lean_inc(x_130);
-lean_dec(x_127);
-x_131 = !lean_is_exclusive(x_128);
-if (x_131 == 0)
-{
-lean_object* x_132; uint8_t x_133;
-x_132 = lean_ctor_get(x_128, 3);
-lean_dec(x_132);
-x_133 = !lean_is_exclusive(x_129);
-if (x_133 == 0)
-{
-lean_object* x_134; uint8_t x_135;
-lean_ctor_set_uint8(x_129, sizeof(void*)*1, x_24);
-x_134 = lean_st_ref_set(x_9, x_128, x_130);
-lean_dec(x_9);
-x_135 = !lean_is_exclusive(x_134);
-if (x_135 == 0)
-{
-lean_object* x_136;
-x_136 = lean_ctor_get(x_134, 0);
-lean_dec(x_136);
-lean_ctor_set_tag(x_134, 1);
-lean_ctor_set(x_134, 0, x_123);
-return x_134;
-}
-else
-{
-lean_object* x_137; lean_object* x_138;
-x_137 = lean_ctor_get(x_134, 1);
-lean_inc(x_137);
-lean_dec(x_134);
-x_138 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_138, 0, x_123);
-lean_ctor_set(x_138, 1, x_137);
-return x_138;
-}
-}
-else
-{
-lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144;
-x_139 = lean_ctor_get(x_129, 0);
-lean_inc(x_139);
-lean_dec(x_129);
-x_140 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_140, 0, x_139);
-lean_ctor_set_uint8(x_140, sizeof(void*)*1, x_24);
-lean_ctor_set(x_128, 3, x_140);
-x_141 = lean_st_ref_set(x_9, x_128, x_130);
-lean_dec(x_9);
-x_142 = lean_ctor_get(x_141, 1);
-lean_inc(x_142);
-if (lean_is_exclusive(x_141)) {
- lean_ctor_release(x_141, 0);
- lean_ctor_release(x_141, 1);
- x_143 = x_141;
-} else {
- lean_dec_ref(x_141);
- x_143 = lean_box(0);
-}
-if (lean_is_scalar(x_143)) {
- x_144 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_144 = x_143;
- lean_ctor_set_tag(x_144, 1);
-}
-lean_ctor_set(x_144, 0, x_123);
-lean_ctor_set(x_144, 1, x_142);
-return x_144;
-}
-}
-else
-{
-lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155;
-x_145 = lean_ctor_get(x_128, 0);
-x_146 = lean_ctor_get(x_128, 1);
-x_147 = lean_ctor_get(x_128, 2);
-lean_inc(x_147);
-lean_inc(x_146);
-lean_inc(x_145);
-lean_dec(x_128);
-x_148 = lean_ctor_get(x_129, 0);
-lean_inc(x_148);
-if (lean_is_exclusive(x_129)) {
- lean_ctor_release(x_129, 0);
- x_149 = x_129;
-} else {
- lean_dec_ref(x_129);
- x_149 = lean_box(0);
-}
-if (lean_is_scalar(x_149)) {
- x_150 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_150 = x_149;
-}
-lean_ctor_set(x_150, 0, x_148);
-lean_ctor_set_uint8(x_150, sizeof(void*)*1, x_24);
-x_151 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_151, 0, x_145);
-lean_ctor_set(x_151, 1, x_146);
-lean_ctor_set(x_151, 2, x_147);
-lean_ctor_set(x_151, 3, x_150);
-x_152 = lean_st_ref_set(x_9, x_151, x_130);
-lean_dec(x_9);
-x_153 = lean_ctor_get(x_152, 1);
-lean_inc(x_153);
-if (lean_is_exclusive(x_152)) {
- lean_ctor_release(x_152, 0);
- lean_ctor_release(x_152, 1);
- x_154 = x_152;
-} else {
- lean_dec_ref(x_152);
- x_154 = lean_box(0);
-}
-if (lean_is_scalar(x_154)) {
- x_155 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_155 = x_154;
- lean_ctor_set_tag(x_155, 1);
-}
-lean_ctor_set(x_155, 0, x_123);
-lean_ctor_set(x_155, 1, x_153);
-return x_155;
-}
-}
-block_83:
-{
-lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; uint8_t x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; uint8_t x_46;
-x_37 = lean_st_ref_get(x_9, x_36);
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-x_39 = lean_ctor_get(x_37, 1);
-lean_inc(x_39);
-lean_dec(x_37);
-x_40 = lean_ctor_get(x_38, 3);
-lean_inc(x_40);
-lean_dec(x_38);
-x_41 = lean_ctor_get_uint8(x_40, sizeof(void*)*1);
-lean_dec(x_40);
-x_42 = lean_st_ref_take(x_9, x_39);
-x_43 = lean_ctor_get(x_42, 0);
-lean_inc(x_43);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-x_45 = lean_ctor_get(x_42, 1);
-lean_inc(x_45);
-lean_dec(x_42);
-x_46 = !lean_is_exclusive(x_43);
-if (x_46 == 0)
-{
-lean_object* x_47; uint8_t x_48;
-x_47 = lean_ctor_get(x_43, 3);
+lean_object* x_48; lean_object* x_49; uint8_t x_50; lean_object* x_51; lean_object* x_76; lean_object* x_77; lean_object* x_78; uint8_t x_79;
+x_48 = lean_ctor_get(x_47, 0);
+lean_inc(x_48);
+x_49 = lean_ctor_get(x_47, 1);
+lean_inc(x_49);
lean_dec(x_47);
-x_48 = !lean_is_exclusive(x_44);
-if (x_48 == 0)
+x_76 = lean_st_ref_get(x_9, x_49);
+x_77 = lean_ctor_get(x_76, 0);
+lean_inc(x_77);
+x_78 = lean_ctor_get(x_77, 3);
+lean_inc(x_78);
+lean_dec(x_77);
+x_79 = lean_ctor_get_uint8(x_78, sizeof(void*)*1);
+lean_dec(x_78);
+if (x_79 == 0)
+{
+lean_object* x_80; uint8_t x_81;
+x_80 = lean_ctor_get(x_76, 1);
+lean_inc(x_80);
+lean_dec(x_76);
+x_81 = 0;
+x_50 = x_81;
+x_51 = x_80;
+goto block_75;
+}
+else
+{
+lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; uint8_t x_86;
+x_82 = lean_ctor_get(x_76, 1);
+lean_inc(x_82);
+lean_dec(x_76);
+lean_inc(x_1);
+x_83 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_1, x_6, x_7, x_8, x_9, x_82);
+x_84 = lean_ctor_get(x_83, 0);
+lean_inc(x_84);
+x_85 = lean_ctor_get(x_83, 1);
+lean_inc(x_85);
+lean_dec(x_83);
+x_86 = lean_unbox(x_84);
+lean_dec(x_84);
+x_50 = x_86;
+x_51 = x_85;
+goto block_75;
+}
+block_75:
{
-lean_object* x_49; uint8_t x_50;
-lean_ctor_set_uint8(x_44, sizeof(void*)*1, x_24);
-x_49 = lean_st_ref_set(x_9, x_43, x_45);
-lean_dec(x_9);
-x_50 = !lean_is_exclusive(x_49);
if (x_50 == 0)
{
-lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54;
-x_51 = lean_ctor_get(x_49, 0);
-lean_dec(x_51);
-x_52 = lean_box(x_35);
-x_53 = lean_box(x_41);
-x_54 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_54, 0, x_52);
-lean_ctor_set(x_54, 1, x_53);
-lean_ctor_set(x_49, 0, x_54);
-x_11 = x_49;
-goto block_19;
+uint8_t x_52;
+lean_dec(x_4);
+lean_dec(x_3);
+x_52 = lean_unbox(x_48);
+lean_dec(x_48);
+x_29 = x_52;
+x_30 = x_51;
+goto block_38;
}
else
{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59;
-x_55 = lean_ctor_get(x_49, 1);
-lean_inc(x_55);
-lean_dec(x_49);
-x_56 = lean_box(x_35);
-x_57 = lean_box(x_41);
-x_58 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_58, 0, x_56);
-lean_ctor_set(x_58, 1, x_57);
-x_59 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_59, 0, x_58);
-lean_ctor_set(x_59, 1, x_55);
-x_11 = x_59;
-goto block_19;
+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; uint8_t x_62;
+x_53 = lean_alloc_ctor(3, 1, 0);
+lean_ctor_set(x_53, 0, x_3);
+x_54 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_55 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_55, 0, x_54);
+lean_ctor_set(x_55, 1, x_53);
+x_56 = l_Lean_Meta_isLevelDefEqAux___closed__6;
+x_57 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_57, 0, x_55);
+lean_ctor_set(x_57, 1, x_56);
+x_58 = lean_alloc_ctor(3, 1, 0);
+lean_ctor_set(x_58, 0, x_4);
+x_59 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_59, 0, x_57);
+lean_ctor_set(x_59, 1, x_58);
+x_60 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
+x_61 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_61, 0, x_59);
+lean_ctor_set(x_61, 1, x_60);
+x_62 = lean_unbox(x_48);
+if (x_62 == 0)
+{
+lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; uint8_t x_68;
+x_63 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
+x_64 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_64, 0, x_61);
+lean_ctor_set(x_64, 1, x_63);
+x_65 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_65, 0, x_64);
+lean_ctor_set(x_65, 1, x_54);
+lean_inc(x_1);
+x_66 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_1, x_65, x_6, x_7, x_8, x_9, x_51);
+x_67 = lean_ctor_get(x_66, 1);
+lean_inc(x_67);
+lean_dec(x_66);
+x_68 = lean_unbox(x_48);
+lean_dec(x_48);
+x_29 = x_68;
+x_30 = x_67;
+goto block_38;
+}
+else
+{
+lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; uint8_t x_74;
+x_69 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
+x_70 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_70, 0, x_61);
+lean_ctor_set(x_70, 1, x_69);
+x_71 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_71, 0, x_70);
+lean_ctor_set(x_71, 1, x_54);
+lean_inc(x_1);
+x_72 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_1, x_71, x_6, x_7, x_8, x_9, x_51);
+x_73 = lean_ctor_get(x_72, 1);
+lean_inc(x_73);
+lean_dec(x_72);
+x_74 = lean_unbox(x_48);
+lean_dec(x_48);
+x_29 = x_74;
+x_30 = x_73;
+goto block_38;
+}
+}
}
}
else
{
-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;
-x_60 = lean_ctor_get(x_44, 0);
-lean_inc(x_60);
-lean_dec(x_44);
-x_61 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_61, 0, x_60);
-lean_ctor_set_uint8(x_61, sizeof(void*)*1, x_24);
-lean_ctor_set(x_43, 3, x_61);
-x_62 = lean_st_ref_set(x_9, x_43, x_45);
+lean_object* x_87; lean_object* x_88;
+lean_dec(x_4);
+lean_dec(x_3);
+x_87 = lean_ctor_get(x_47, 0);
+lean_inc(x_87);
+x_88 = lean_ctor_get(x_47, 1);
+lean_inc(x_88);
+lean_dec(x_47);
+x_39 = x_87;
+x_40 = x_88;
+goto block_46;
+}
+block_38:
+{
+lean_object* x_31; uint8_t x_32;
+x_31 = l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_isLevelDefEq___spec__3(x_27, x_1, x_25, x_6, x_7, x_8, x_9, x_30);
lean_dec(x_9);
-x_63 = lean_ctor_get(x_62, 1);
-lean_inc(x_63);
-if (lean_is_exclusive(x_62)) {
- lean_ctor_release(x_62, 0);
- lean_ctor_release(x_62, 1);
- x_64 = x_62;
-} else {
- lean_dec_ref(x_62);
- x_64 = lean_box(0);
-}
-x_65 = lean_box(x_35);
-x_66 = lean_box(x_41);
-x_67 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_67, 0, x_65);
-lean_ctor_set(x_67, 1, x_66);
-if (lean_is_scalar(x_64)) {
- x_68 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_68 = x_64;
-}
-lean_ctor_set(x_68, 0, x_67);
-lean_ctor_set(x_68, 1, x_63);
-x_11 = x_68;
-goto block_19;
-}
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+x_32 = !lean_is_exclusive(x_31);
+if (x_32 == 0)
+{
+lean_object* x_33; lean_object* x_34;
+x_33 = lean_ctor_get(x_31, 0);
+lean_dec(x_33);
+x_34 = lean_box(x_29);
+lean_ctor_set(x_31, 0, x_34);
+return x_31;
}
else
{
-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; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82;
-x_69 = lean_ctor_get(x_43, 0);
-x_70 = lean_ctor_get(x_43, 1);
-x_71 = lean_ctor_get(x_43, 2);
-lean_inc(x_71);
-lean_inc(x_70);
-lean_inc(x_69);
+lean_object* x_35; lean_object* x_36; lean_object* x_37;
+x_35 = lean_ctor_get(x_31, 1);
+lean_inc(x_35);
+lean_dec(x_31);
+x_36 = lean_box(x_29);
+x_37 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_37, 0, x_36);
+lean_ctor_set(x_37, 1, x_35);
+return x_37;
+}
+}
+block_46:
+{
+lean_object* x_41; uint8_t x_42;
+x_41 = l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_isLevelDefEq___spec__3(x_27, x_1, x_25, x_6, x_7, x_8, x_9, x_40);
+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)
+{
+lean_object* x_43;
+x_43 = lean_ctor_get(x_41, 0);
lean_dec(x_43);
-x_72 = lean_ctor_get(x_44, 0);
-lean_inc(x_72);
-if (lean_is_exclusive(x_44)) {
- lean_ctor_release(x_44, 0);
- x_73 = x_44;
-} else {
- lean_dec_ref(x_44);
- x_73 = lean_box(0);
+lean_ctor_set_tag(x_41, 1);
+lean_ctor_set(x_41, 0, x_39);
+return x_41;
}
-if (lean_is_scalar(x_73)) {
- x_74 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_74 = x_73;
-}
-lean_ctor_set(x_74, 0, x_72);
-lean_ctor_set_uint8(x_74, sizeof(void*)*1, x_24);
-x_75 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_75, 0, x_69);
-lean_ctor_set(x_75, 1, x_70);
-lean_ctor_set(x_75, 2, x_71);
-lean_ctor_set(x_75, 3, x_74);
-x_76 = lean_st_ref_set(x_9, x_75, x_45);
-lean_dec(x_9);
-x_77 = lean_ctor_get(x_76, 1);
-lean_inc(x_77);
-if (lean_is_exclusive(x_76)) {
- lean_ctor_release(x_76, 0);
- lean_ctor_release(x_76, 1);
- x_78 = x_76;
-} else {
- lean_dec_ref(x_76);
- x_78 = lean_box(0);
-}
-x_79 = lean_box(x_35);
-x_80 = lean_box(x_41);
-x_81 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_81, 0, x_79);
-lean_ctor_set(x_81, 1, x_80);
-if (lean_is_scalar(x_78)) {
- x_82 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_82 = x_78;
-}
-lean_ctor_set(x_82, 0, x_81);
-lean_ctor_set(x_82, 1, x_77);
-x_11 = x_82;
-goto block_19;
+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;
}
}
}
else
{
-lean_object* x_156; uint8_t x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; uint8_t x_161; lean_object* x_162; lean_object* x_188;
-x_156 = lean_ctor_get(x_27, 0);
-lean_inc(x_156);
-lean_dec(x_27);
-x_157 = 0;
-x_158 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_158, 0, x_156);
-lean_ctor_set_uint8(x_158, sizeof(void*)*1, x_157);
-lean_ctor_set(x_26, 3, x_158);
-x_159 = lean_st_ref_set(x_9, x_26, x_28);
-x_160 = lean_ctor_get(x_159, 1);
-lean_inc(x_160);
-lean_dec(x_159);
+lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; uint8_t x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; uint8_t x_98;
+x_89 = lean_st_ref_get(x_9, x_10);
+x_90 = lean_ctor_get(x_89, 0);
+lean_inc(x_90);
+x_91 = lean_ctor_get(x_90, 3);
+lean_inc(x_91);
+lean_dec(x_90);
+x_92 = lean_ctor_get(x_89, 1);
+lean_inc(x_92);
+lean_dec(x_89);
+x_93 = lean_ctor_get_uint8(x_91, sizeof(void*)*1);
+lean_dec(x_91);
+x_94 = lean_st_ref_take(x_9, x_92);
+x_95 = lean_ctor_get(x_94, 0);
+lean_inc(x_95);
+x_96 = lean_ctor_get(x_95, 3);
+lean_inc(x_96);
+x_97 = lean_ctor_get(x_94, 1);
+lean_inc(x_97);
+lean_dec(x_94);
+x_98 = !lean_is_exclusive(x_95);
+if (x_98 == 0)
+{
+lean_object* x_99; uint8_t x_100;
+x_99 = lean_ctor_get(x_95, 3);
+lean_dec(x_99);
+x_100 = !lean_is_exclusive(x_96);
+if (x_100 == 0)
+{
+uint8_t x_101; lean_object* x_102; lean_object* x_103; uint8_t x_104; lean_object* x_105; lean_object* x_153; lean_object* x_154; lean_object* x_187;
+x_101 = 0;
+lean_ctor_set_uint8(x_96, sizeof(void*)*1, x_101);
+x_102 = lean_st_ref_set(x_9, x_95, x_97);
+x_103 = lean_ctor_get(x_102, 1);
+lean_inc(x_103);
+lean_dec(x_102);
lean_inc(x_9);
lean_inc(x_8);
lean_inc(x_7);
lean_inc(x_6);
-x_188 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_1, x_6, x_7, x_8, x_9, x_160);
-if (lean_obj_tag(x_188) == 0)
+x_187 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_2, x_6, x_7, x_8, x_9, x_103);
+if (lean_obj_tag(x_187) == 0)
{
-lean_object* x_189; lean_object* x_190; uint8_t x_191; lean_object* x_192; lean_object* x_217; lean_object* x_218; lean_object* x_219; uint8_t x_220;
-x_189 = lean_ctor_get(x_188, 0);
+lean_object* x_188; lean_object* x_189; uint8_t x_190; lean_object* x_191; lean_object* x_216; lean_object* x_217; lean_object* x_218; uint8_t x_219;
+x_188 = lean_ctor_get(x_187, 0);
+lean_inc(x_188);
+x_189 = lean_ctor_get(x_187, 1);
lean_inc(x_189);
-x_190 = lean_ctor_get(x_188, 1);
-lean_inc(x_190);
-lean_dec(x_188);
-x_217 = lean_st_ref_get(x_9, x_190);
-x_218 = lean_ctor_get(x_217, 0);
+lean_dec(x_187);
+x_216 = lean_st_ref_get(x_9, x_189);
+x_217 = lean_ctor_get(x_216, 0);
+lean_inc(x_217);
+x_218 = lean_ctor_get(x_217, 3);
lean_inc(x_218);
-x_219 = lean_ctor_get(x_218, 3);
-lean_inc(x_219);
+lean_dec(x_217);
+x_219 = lean_ctor_get_uint8(x_218, sizeof(void*)*1);
lean_dec(x_218);
-x_220 = lean_ctor_get_uint8(x_219, sizeof(void*)*1);
-lean_dec(x_219);
-if (x_220 == 0)
+if (x_219 == 0)
{
-lean_object* x_221;
-x_221 = lean_ctor_get(x_217, 1);
+lean_object* x_220;
+x_220 = lean_ctor_get(x_216, 1);
+lean_inc(x_220);
+lean_dec(x_216);
+x_190 = x_101;
+x_191 = x_220;
+goto block_215;
+}
+else
+{
+lean_object* x_221; lean_object* x_222; lean_object* x_223; lean_object* x_224; uint8_t x_225;
+x_221 = lean_ctor_get(x_216, 1);
lean_inc(x_221);
-lean_dec(x_217);
-x_191 = x_157;
-x_192 = x_221;
-goto block_216;
-}
-else
-{
-lean_object* x_222; lean_object* x_223; lean_object* x_224; lean_object* x_225; uint8_t x_226;
-x_222 = lean_ctor_get(x_217, 1);
-lean_inc(x_222);
-lean_dec(x_217);
-lean_inc(x_4);
-x_223 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_4, x_6, x_7, x_8, x_9, x_222);
-x_224 = lean_ctor_get(x_223, 0);
+lean_dec(x_216);
+lean_inc(x_1);
+x_222 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_1, x_6, x_7, x_8, x_9, x_221);
+x_223 = lean_ctor_get(x_222, 0);
+lean_inc(x_223);
+x_224 = lean_ctor_get(x_222, 1);
lean_inc(x_224);
-x_225 = lean_ctor_get(x_223, 1);
-lean_inc(x_225);
+lean_dec(x_222);
+x_225 = lean_unbox(x_223);
lean_dec(x_223);
-x_226 = lean_unbox(x_224);
-lean_dec(x_224);
-x_191 = x_226;
-x_192 = x_225;
-goto block_216;
+x_190 = x_225;
+x_191 = x_224;
+goto block_215;
}
-block_216:
+block_215:
{
-if (x_191 == 0)
+if (x_190 == 0)
{
-uint8_t x_193;
+uint8_t x_192;
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_4);
lean_dec(x_3);
-lean_dec(x_2);
-x_193 = lean_unbox(x_189);
-lean_dec(x_189);
-x_161 = x_193;
-x_162 = x_192;
-goto block_187;
-}
-else
-{
-lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; uint8_t x_203;
-x_194 = lean_alloc_ctor(3, 1, 0);
-lean_ctor_set(x_194, 0, x_2);
-x_195 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_196 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_196, 0, x_195);
-lean_ctor_set(x_196, 1, x_194);
-x_197 = l_Lean_Meta_isLevelDefEqAux___closed__6;
-x_198 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_198, 0, x_196);
-lean_ctor_set(x_198, 1, x_197);
-x_199 = lean_alloc_ctor(3, 1, 0);
-lean_ctor_set(x_199, 0, x_3);
-x_200 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_200, 0, x_198);
-lean_ctor_set(x_200, 1, x_199);
-x_201 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
-x_202 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_202, 0, x_200);
-lean_ctor_set(x_202, 1, x_201);
-x_203 = lean_unbox(x_189);
-if (x_203 == 0)
-{
-lean_object* x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; uint8_t x_209;
-x_204 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
-x_205 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_205, 0, x_202);
-lean_ctor_set(x_205, 1, x_204);
-x_206 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_206, 0, x_205);
-lean_ctor_set(x_206, 1, x_195);
-x_207 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_4, x_206, x_6, x_7, x_8, x_9, x_192);
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-x_208 = lean_ctor_get(x_207, 1);
-lean_inc(x_208);
-lean_dec(x_207);
-x_209 = lean_unbox(x_189);
-lean_dec(x_189);
-x_161 = x_209;
-x_162 = x_208;
-goto block_187;
-}
-else
-{
-lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214; uint8_t x_215;
-x_210 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
-x_211 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_211, 0, x_202);
-lean_ctor_set(x_211, 1, x_210);
-x_212 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_212, 0, x_211);
-lean_ctor_set(x_212, 1, x_195);
-x_213 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_4, x_212, x_6, x_7, x_8, x_9, x_192);
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-x_214 = lean_ctor_get(x_213, 1);
-lean_inc(x_214);
-lean_dec(x_213);
-x_215 = lean_unbox(x_189);
-lean_dec(x_189);
-x_161 = x_215;
-x_162 = x_214;
-goto block_187;
-}
-}
-}
-}
-else
-{
-lean_object* x_227; lean_object* x_228; lean_object* x_229; lean_object* x_230; lean_object* x_231; lean_object* x_232; lean_object* x_233; lean_object* x_234; lean_object* x_235; lean_object* x_236; lean_object* x_237; lean_object* x_238; lean_object* x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244; lean_object* x_245; lean_object* x_246;
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-x_227 = lean_ctor_get(x_188, 0);
-lean_inc(x_227);
-x_228 = lean_ctor_get(x_188, 1);
-lean_inc(x_228);
+lean_dec(x_1);
+x_192 = lean_unbox(x_188);
lean_dec(x_188);
-x_229 = lean_st_ref_get(x_9, x_228);
-x_230 = lean_ctor_get(x_229, 1);
-lean_inc(x_230);
-lean_dec(x_229);
-x_231 = lean_st_ref_take(x_9, x_230);
-x_232 = lean_ctor_get(x_231, 0);
-lean_inc(x_232);
-x_233 = lean_ctor_get(x_232, 3);
-lean_inc(x_233);
-x_234 = lean_ctor_get(x_231, 1);
-lean_inc(x_234);
-lean_dec(x_231);
-x_235 = lean_ctor_get(x_232, 0);
-lean_inc(x_235);
-x_236 = lean_ctor_get(x_232, 1);
-lean_inc(x_236);
-x_237 = lean_ctor_get(x_232, 2);
-lean_inc(x_237);
-if (lean_is_exclusive(x_232)) {
- lean_ctor_release(x_232, 0);
- lean_ctor_release(x_232, 1);
- lean_ctor_release(x_232, 2);
- lean_ctor_release(x_232, 3);
- x_238 = x_232;
-} else {
- lean_dec_ref(x_232);
- x_238 = lean_box(0);
+x_104 = x_192;
+x_105 = x_191;
+goto block_152;
}
-x_239 = lean_ctor_get(x_233, 0);
-lean_inc(x_239);
-if (lean_is_exclusive(x_233)) {
- lean_ctor_release(x_233, 0);
- x_240 = x_233;
-} else {
- lean_dec_ref(x_233);
- x_240 = lean_box(0);
-}
-if (lean_is_scalar(x_240)) {
- x_241 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_241 = x_240;
-}
-lean_ctor_set(x_241, 0, x_239);
-lean_ctor_set_uint8(x_241, sizeof(void*)*1, x_24);
-if (lean_is_scalar(x_238)) {
- x_242 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_242 = x_238;
-}
-lean_ctor_set(x_242, 0, x_235);
-lean_ctor_set(x_242, 1, x_236);
-lean_ctor_set(x_242, 2, x_237);
-lean_ctor_set(x_242, 3, x_241);
-x_243 = lean_st_ref_set(x_9, x_242, x_234);
-lean_dec(x_9);
-x_244 = lean_ctor_get(x_243, 1);
-lean_inc(x_244);
-if (lean_is_exclusive(x_243)) {
- lean_ctor_release(x_243, 0);
- lean_ctor_release(x_243, 1);
- x_245 = x_243;
-} else {
- lean_dec_ref(x_243);
- x_245 = lean_box(0);
-}
-if (lean_is_scalar(x_245)) {
- x_246 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_246 = x_245;
- lean_ctor_set_tag(x_246, 1);
-}
-lean_ctor_set(x_246, 0, x_227);
-lean_ctor_set(x_246, 1, x_244);
-return x_246;
-}
-block_187:
+else
{
-lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; uint8_t x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186;
-x_163 = lean_st_ref_get(x_9, x_162);
-x_164 = lean_ctor_get(x_163, 0);
-lean_inc(x_164);
-x_165 = lean_ctor_get(x_163, 1);
-lean_inc(x_165);
-lean_dec(x_163);
-x_166 = lean_ctor_get(x_164, 3);
-lean_inc(x_166);
-lean_dec(x_164);
-x_167 = lean_ctor_get_uint8(x_166, sizeof(void*)*1);
-lean_dec(x_166);
-x_168 = lean_st_ref_take(x_9, x_165);
-x_169 = lean_ctor_get(x_168, 0);
-lean_inc(x_169);
-x_170 = lean_ctor_get(x_169, 3);
-lean_inc(x_170);
-x_171 = lean_ctor_get(x_168, 1);
-lean_inc(x_171);
-lean_dec(x_168);
-x_172 = lean_ctor_get(x_169, 0);
-lean_inc(x_172);
-x_173 = lean_ctor_get(x_169, 1);
-lean_inc(x_173);
-x_174 = lean_ctor_get(x_169, 2);
-lean_inc(x_174);
-if (lean_is_exclusive(x_169)) {
- lean_ctor_release(x_169, 0);
- lean_ctor_release(x_169, 1);
- lean_ctor_release(x_169, 2);
- lean_ctor_release(x_169, 3);
- x_175 = x_169;
-} else {
- lean_dec_ref(x_169);
- x_175 = lean_box(0);
+lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; uint8_t x_202;
+x_193 = lean_alloc_ctor(3, 1, 0);
+lean_ctor_set(x_193, 0, x_3);
+x_194 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_195 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_195, 0, x_194);
+lean_ctor_set(x_195, 1, x_193);
+x_196 = l_Lean_Meta_isLevelDefEqAux___closed__6;
+x_197 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_197, 0, x_195);
+lean_ctor_set(x_197, 1, x_196);
+x_198 = lean_alloc_ctor(3, 1, 0);
+lean_ctor_set(x_198, 0, x_4);
+x_199 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_199, 0, x_197);
+lean_ctor_set(x_199, 1, x_198);
+x_200 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
+x_201 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_201, 0, x_199);
+lean_ctor_set(x_201, 1, x_200);
+x_202 = lean_unbox(x_188);
+if (x_202 == 0)
+{
+lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207; uint8_t x_208;
+x_203 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
+x_204 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_204, 0, x_201);
+lean_ctor_set(x_204, 1, x_203);
+x_205 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_205, 0, x_204);
+lean_ctor_set(x_205, 1, x_194);
+x_206 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_1, x_205, x_6, x_7, x_8, x_9, x_191);
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+x_207 = lean_ctor_get(x_206, 1);
+lean_inc(x_207);
+lean_dec(x_206);
+x_208 = lean_unbox(x_188);
+lean_dec(x_188);
+x_104 = x_208;
+x_105 = x_207;
+goto block_152;
}
-x_176 = lean_ctor_get(x_170, 0);
-lean_inc(x_176);
-if (lean_is_exclusive(x_170)) {
- lean_ctor_release(x_170, 0);
- x_177 = x_170;
-} else {
- lean_dec_ref(x_170);
- x_177 = lean_box(0);
+else
+{
+lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; uint8_t x_214;
+x_209 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
+x_210 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_210, 0, x_201);
+lean_ctor_set(x_210, 1, x_209);
+x_211 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_211, 0, x_210);
+lean_ctor_set(x_211, 1, x_194);
+x_212 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_1, x_211, x_6, x_7, x_8, x_9, x_191);
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+x_213 = lean_ctor_get(x_212, 1);
+lean_inc(x_213);
+lean_dec(x_212);
+x_214 = lean_unbox(x_188);
+lean_dec(x_188);
+x_104 = x_214;
+x_105 = x_213;
+goto block_152;
}
-if (lean_is_scalar(x_177)) {
- x_178 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_178 = x_177;
-}
-lean_ctor_set(x_178, 0, x_176);
-lean_ctor_set_uint8(x_178, sizeof(void*)*1, x_24);
-if (lean_is_scalar(x_175)) {
- x_179 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_179 = x_175;
-}
-lean_ctor_set(x_179, 0, x_172);
-lean_ctor_set(x_179, 1, x_173);
-lean_ctor_set(x_179, 2, x_174);
-lean_ctor_set(x_179, 3, x_178);
-x_180 = lean_st_ref_set(x_9, x_179, x_171);
-lean_dec(x_9);
-x_181 = lean_ctor_get(x_180, 1);
-lean_inc(x_181);
-if (lean_is_exclusive(x_180)) {
- lean_ctor_release(x_180, 0);
- lean_ctor_release(x_180, 1);
- x_182 = x_180;
-} else {
- lean_dec_ref(x_180);
- x_182 = lean_box(0);
-}
-x_183 = lean_box(x_161);
-x_184 = lean_box(x_167);
-x_185 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_185, 0, x_183);
-lean_ctor_set(x_185, 1, x_184);
-if (lean_is_scalar(x_182)) {
- x_186 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_186 = x_182;
-}
-lean_ctor_set(x_186, 0, x_185);
-lean_ctor_set(x_186, 1, x_181);
-x_11 = x_186;
-goto block_19;
}
}
}
else
{
-lean_object* x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; uint8_t x_252; lean_object* x_253; lean_object* x_254; lean_object* x_255; lean_object* x_256; uint8_t x_257; lean_object* x_258; lean_object* x_284;
-x_247 = lean_ctor_get(x_26, 0);
-x_248 = lean_ctor_get(x_26, 1);
-x_249 = lean_ctor_get(x_26, 2);
-lean_inc(x_249);
-lean_inc(x_248);
-lean_inc(x_247);
-lean_dec(x_26);
-x_250 = lean_ctor_get(x_27, 0);
-lean_inc(x_250);
-if (lean_is_exclusive(x_27)) {
- lean_ctor_release(x_27, 0);
- x_251 = x_27;
-} else {
- lean_dec_ref(x_27);
- x_251 = lean_box(0);
+lean_object* x_226; lean_object* x_227;
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_1);
+x_226 = lean_ctor_get(x_187, 0);
+lean_inc(x_226);
+x_227 = lean_ctor_get(x_187, 1);
+lean_inc(x_227);
+lean_dec(x_187);
+x_153 = x_226;
+x_154 = x_227;
+goto block_186;
}
-x_252 = 0;
-if (lean_is_scalar(x_251)) {
- x_253 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_253 = x_251;
+block_152:
+{
+lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; uint8_t x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; uint8_t x_115;
+x_106 = lean_st_ref_get(x_9, x_105);
+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_ctor_get(x_107, 3);
+lean_inc(x_109);
+lean_dec(x_107);
+x_110 = lean_ctor_get_uint8(x_109, sizeof(void*)*1);
+lean_dec(x_109);
+x_111 = lean_st_ref_take(x_9, x_108);
+x_112 = lean_ctor_get(x_111, 0);
+lean_inc(x_112);
+x_113 = lean_ctor_get(x_112, 3);
+lean_inc(x_113);
+x_114 = lean_ctor_get(x_111, 1);
+lean_inc(x_114);
+lean_dec(x_111);
+x_115 = !lean_is_exclusive(x_112);
+if (x_115 == 0)
+{
+lean_object* x_116; uint8_t x_117;
+x_116 = lean_ctor_get(x_112, 3);
+lean_dec(x_116);
+x_117 = !lean_is_exclusive(x_113);
+if (x_117 == 0)
+{
+lean_object* x_118; uint8_t x_119;
+lean_ctor_set_uint8(x_113, sizeof(void*)*1, x_93);
+x_118 = lean_st_ref_set(x_9, x_112, x_114);
+lean_dec(x_9);
+x_119 = !lean_is_exclusive(x_118);
+if (x_119 == 0)
+{
+lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123;
+x_120 = lean_ctor_get(x_118, 0);
+lean_dec(x_120);
+x_121 = lean_box(x_104);
+x_122 = lean_box(x_110);
+x_123 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_123, 0, x_121);
+lean_ctor_set(x_123, 1, x_122);
+lean_ctor_set(x_118, 0, x_123);
+x_11 = x_118;
+goto block_23;
}
-lean_ctor_set(x_253, 0, x_250);
-lean_ctor_set_uint8(x_253, sizeof(void*)*1, x_252);
-x_254 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_254, 0, x_247);
-lean_ctor_set(x_254, 1, x_248);
-lean_ctor_set(x_254, 2, x_249);
-lean_ctor_set(x_254, 3, x_253);
-x_255 = lean_st_ref_set(x_9, x_254, x_28);
-x_256 = lean_ctor_get(x_255, 1);
-lean_inc(x_256);
-lean_dec(x_255);
+else
+{
+lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128;
+x_124 = lean_ctor_get(x_118, 1);
+lean_inc(x_124);
+lean_dec(x_118);
+x_125 = lean_box(x_104);
+x_126 = lean_box(x_110);
+x_127 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_127, 0, x_125);
+lean_ctor_set(x_127, 1, x_126);
+x_128 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_128, 0, x_127);
+lean_ctor_set(x_128, 1, x_124);
+x_11 = x_128;
+goto block_23;
+}
+}
+else
+{
+lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137;
+x_129 = lean_ctor_get(x_113, 0);
+lean_inc(x_129);
+lean_dec(x_113);
+x_130 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_130, 0, x_129);
+lean_ctor_set_uint8(x_130, sizeof(void*)*1, x_93);
+lean_ctor_set(x_112, 3, x_130);
+x_131 = lean_st_ref_set(x_9, x_112, x_114);
+lean_dec(x_9);
+x_132 = lean_ctor_get(x_131, 1);
+lean_inc(x_132);
+if (lean_is_exclusive(x_131)) {
+ lean_ctor_release(x_131, 0);
+ lean_ctor_release(x_131, 1);
+ x_133 = x_131;
+} else {
+ lean_dec_ref(x_131);
+ x_133 = lean_box(0);
+}
+x_134 = lean_box(x_104);
+x_135 = lean_box(x_110);
+x_136 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_136, 0, x_134);
+lean_ctor_set(x_136, 1, x_135);
+if (lean_is_scalar(x_133)) {
+ x_137 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_137 = x_133;
+}
+lean_ctor_set(x_137, 0, x_136);
+lean_ctor_set(x_137, 1, x_132);
+x_11 = x_137;
+goto block_23;
+}
+}
+else
+{
+lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151;
+x_138 = lean_ctor_get(x_112, 0);
+x_139 = lean_ctor_get(x_112, 1);
+x_140 = lean_ctor_get(x_112, 2);
+lean_inc(x_140);
+lean_inc(x_139);
+lean_inc(x_138);
+lean_dec(x_112);
+x_141 = lean_ctor_get(x_113, 0);
+lean_inc(x_141);
+if (lean_is_exclusive(x_113)) {
+ lean_ctor_release(x_113, 0);
+ x_142 = x_113;
+} else {
+ lean_dec_ref(x_113);
+ x_142 = lean_box(0);
+}
+if (lean_is_scalar(x_142)) {
+ x_143 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_143 = x_142;
+}
+lean_ctor_set(x_143, 0, x_141);
+lean_ctor_set_uint8(x_143, sizeof(void*)*1, x_93);
+x_144 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_144, 0, x_138);
+lean_ctor_set(x_144, 1, x_139);
+lean_ctor_set(x_144, 2, x_140);
+lean_ctor_set(x_144, 3, x_143);
+x_145 = lean_st_ref_set(x_9, x_144, x_114);
+lean_dec(x_9);
+x_146 = lean_ctor_get(x_145, 1);
+lean_inc(x_146);
+if (lean_is_exclusive(x_145)) {
+ lean_ctor_release(x_145, 0);
+ lean_ctor_release(x_145, 1);
+ x_147 = x_145;
+} else {
+ lean_dec_ref(x_145);
+ x_147 = lean_box(0);
+}
+x_148 = lean_box(x_104);
+x_149 = lean_box(x_110);
+x_150 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_150, 0, x_148);
+lean_ctor_set(x_150, 1, x_149);
+if (lean_is_scalar(x_147)) {
+ x_151 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_151 = x_147;
+}
+lean_ctor_set(x_151, 0, x_150);
+lean_ctor_set(x_151, 1, x_146);
+x_11 = x_151;
+goto block_23;
+}
+}
+block_186:
+{
+lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; uint8_t x_161;
+x_155 = lean_st_ref_get(x_9, x_154);
+x_156 = lean_ctor_get(x_155, 1);
+lean_inc(x_156);
+lean_dec(x_155);
+x_157 = lean_st_ref_take(x_9, x_156);
+x_158 = lean_ctor_get(x_157, 0);
+lean_inc(x_158);
+x_159 = lean_ctor_get(x_158, 3);
+lean_inc(x_159);
+x_160 = lean_ctor_get(x_157, 1);
+lean_inc(x_160);
+lean_dec(x_157);
+x_161 = !lean_is_exclusive(x_158);
+if (x_161 == 0)
+{
+lean_object* x_162; uint8_t x_163;
+x_162 = lean_ctor_get(x_158, 3);
+lean_dec(x_162);
+x_163 = !lean_is_exclusive(x_159);
+if (x_163 == 0)
+{
+lean_object* x_164; uint8_t x_165;
+lean_ctor_set_uint8(x_159, sizeof(void*)*1, x_93);
+x_164 = lean_st_ref_set(x_9, x_158, x_160);
+lean_dec(x_9);
+x_165 = !lean_is_exclusive(x_164);
+if (x_165 == 0)
+{
+lean_object* x_166;
+x_166 = lean_ctor_get(x_164, 0);
+lean_dec(x_166);
+lean_ctor_set_tag(x_164, 1);
+lean_ctor_set(x_164, 0, x_153);
+x_11 = x_164;
+goto block_23;
+}
+else
+{
+lean_object* x_167; lean_object* x_168;
+x_167 = lean_ctor_get(x_164, 1);
+lean_inc(x_167);
+lean_dec(x_164);
+x_168 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_168, 0, x_153);
+lean_ctor_set(x_168, 1, x_167);
+x_11 = x_168;
+goto block_23;
+}
+}
+else
+{
+lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174;
+x_169 = lean_ctor_get(x_159, 0);
+lean_inc(x_169);
+lean_dec(x_159);
+x_170 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_170, 0, x_169);
+lean_ctor_set_uint8(x_170, sizeof(void*)*1, x_93);
+lean_ctor_set(x_158, 3, x_170);
+x_171 = lean_st_ref_set(x_9, x_158, x_160);
+lean_dec(x_9);
+x_172 = lean_ctor_get(x_171, 1);
+lean_inc(x_172);
+if (lean_is_exclusive(x_171)) {
+ lean_ctor_release(x_171, 0);
+ lean_ctor_release(x_171, 1);
+ x_173 = x_171;
+} else {
+ lean_dec_ref(x_171);
+ x_173 = lean_box(0);
+}
+if (lean_is_scalar(x_173)) {
+ x_174 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_174 = x_173;
+ lean_ctor_set_tag(x_174, 1);
+}
+lean_ctor_set(x_174, 0, x_153);
+lean_ctor_set(x_174, 1, x_172);
+x_11 = x_174;
+goto block_23;
+}
+}
+else
+{
+lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185;
+x_175 = lean_ctor_get(x_158, 0);
+x_176 = lean_ctor_get(x_158, 1);
+x_177 = lean_ctor_get(x_158, 2);
+lean_inc(x_177);
+lean_inc(x_176);
+lean_inc(x_175);
+lean_dec(x_158);
+x_178 = lean_ctor_get(x_159, 0);
+lean_inc(x_178);
+if (lean_is_exclusive(x_159)) {
+ lean_ctor_release(x_159, 0);
+ x_179 = x_159;
+} else {
+ lean_dec_ref(x_159);
+ x_179 = lean_box(0);
+}
+if (lean_is_scalar(x_179)) {
+ x_180 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_180 = x_179;
+}
+lean_ctor_set(x_180, 0, x_178);
+lean_ctor_set_uint8(x_180, sizeof(void*)*1, x_93);
+x_181 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_181, 0, x_175);
+lean_ctor_set(x_181, 1, x_176);
+lean_ctor_set(x_181, 2, x_177);
+lean_ctor_set(x_181, 3, x_180);
+x_182 = lean_st_ref_set(x_9, x_181, x_160);
+lean_dec(x_9);
+x_183 = lean_ctor_get(x_182, 1);
+lean_inc(x_183);
+if (lean_is_exclusive(x_182)) {
+ lean_ctor_release(x_182, 0);
+ lean_ctor_release(x_182, 1);
+ x_184 = x_182;
+} else {
+ lean_dec_ref(x_182);
+ x_184 = lean_box(0);
+}
+if (lean_is_scalar(x_184)) {
+ x_185 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_185 = x_184;
+ lean_ctor_set_tag(x_185, 1);
+}
+lean_ctor_set(x_185, 0, x_153);
+lean_ctor_set(x_185, 1, x_183);
+x_11 = x_185;
+goto block_23;
+}
+}
+}
+else
+{
+lean_object* x_228; uint8_t x_229; lean_object* x_230; lean_object* x_231; lean_object* x_232; uint8_t x_233; lean_object* x_234; lean_object* x_260; lean_object* x_261; lean_object* x_281;
+x_228 = lean_ctor_get(x_96, 0);
+lean_inc(x_228);
+lean_dec(x_96);
+x_229 = 0;
+x_230 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_230, 0, x_228);
+lean_ctor_set_uint8(x_230, sizeof(void*)*1, x_229);
+lean_ctor_set(x_95, 3, x_230);
+x_231 = lean_st_ref_set(x_9, x_95, x_97);
+x_232 = lean_ctor_get(x_231, 1);
+lean_inc(x_232);
+lean_dec(x_231);
lean_inc(x_9);
lean_inc(x_8);
lean_inc(x_7);
lean_inc(x_6);
-x_284 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_1, x_6, x_7, x_8, x_9, x_256);
-if (lean_obj_tag(x_284) == 0)
+x_281 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_2, x_6, x_7, x_8, x_9, x_232);
+if (lean_obj_tag(x_281) == 0)
{
-lean_object* x_285; lean_object* x_286; uint8_t x_287; lean_object* x_288; lean_object* x_313; lean_object* x_314; lean_object* x_315; uint8_t x_316;
-x_285 = lean_ctor_get(x_284, 0);
-lean_inc(x_285);
-x_286 = lean_ctor_get(x_284, 1);
-lean_inc(x_286);
-lean_dec(x_284);
-x_313 = lean_st_ref_get(x_9, x_286);
-x_314 = lean_ctor_get(x_313, 0);
+lean_object* x_282; lean_object* x_283; uint8_t x_284; lean_object* x_285; lean_object* x_310; lean_object* x_311; lean_object* x_312; uint8_t x_313;
+x_282 = lean_ctor_get(x_281, 0);
+lean_inc(x_282);
+x_283 = lean_ctor_get(x_281, 1);
+lean_inc(x_283);
+lean_dec(x_281);
+x_310 = lean_st_ref_get(x_9, x_283);
+x_311 = lean_ctor_get(x_310, 0);
+lean_inc(x_311);
+x_312 = lean_ctor_get(x_311, 3);
+lean_inc(x_312);
+lean_dec(x_311);
+x_313 = lean_ctor_get_uint8(x_312, sizeof(void*)*1);
+lean_dec(x_312);
+if (x_313 == 0)
+{
+lean_object* x_314;
+x_314 = lean_ctor_get(x_310, 1);
lean_inc(x_314);
-x_315 = lean_ctor_get(x_314, 3);
+lean_dec(x_310);
+x_284 = x_229;
+x_285 = x_314;
+goto block_309;
+}
+else
+{
+lean_object* x_315; lean_object* x_316; lean_object* x_317; lean_object* x_318; uint8_t x_319;
+x_315 = lean_ctor_get(x_310, 1);
lean_inc(x_315);
-lean_dec(x_314);
-x_316 = lean_ctor_get_uint8(x_315, sizeof(void*)*1);
-lean_dec(x_315);
-if (x_316 == 0)
-{
-lean_object* x_317;
-x_317 = lean_ctor_get(x_313, 1);
+lean_dec(x_310);
+lean_inc(x_1);
+x_316 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_1, x_6, x_7, x_8, x_9, x_315);
+x_317 = lean_ctor_get(x_316, 0);
lean_inc(x_317);
-lean_dec(x_313);
-x_287 = x_252;
-x_288 = x_317;
-goto block_312;
-}
-else
-{
-lean_object* x_318; lean_object* x_319; lean_object* x_320; lean_object* x_321; uint8_t x_322;
-x_318 = lean_ctor_get(x_313, 1);
+x_318 = lean_ctor_get(x_316, 1);
lean_inc(x_318);
-lean_dec(x_313);
-lean_inc(x_4);
-x_319 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_4, x_6, x_7, x_8, x_9, x_318);
-x_320 = lean_ctor_get(x_319, 0);
-lean_inc(x_320);
-x_321 = lean_ctor_get(x_319, 1);
-lean_inc(x_321);
-lean_dec(x_319);
-x_322 = lean_unbox(x_320);
-lean_dec(x_320);
-x_287 = x_322;
-x_288 = x_321;
-goto block_312;
+lean_dec(x_316);
+x_319 = lean_unbox(x_317);
+lean_dec(x_317);
+x_284 = x_319;
+x_285 = x_318;
+goto block_309;
}
-block_312:
+block_309:
{
-if (x_287 == 0)
+if (x_284 == 0)
{
-uint8_t x_289;
+uint8_t x_286;
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_4);
lean_dec(x_3);
-lean_dec(x_2);
-x_289 = lean_unbox(x_285);
-lean_dec(x_285);
-x_257 = x_289;
-x_258 = x_288;
-goto block_283;
+lean_dec(x_1);
+x_286 = lean_unbox(x_282);
+lean_dec(x_282);
+x_233 = x_286;
+x_234 = x_285;
+goto block_259;
}
else
{
-lean_object* x_290; lean_object* x_291; lean_object* x_292; lean_object* x_293; lean_object* x_294; lean_object* x_295; lean_object* x_296; lean_object* x_297; lean_object* x_298; uint8_t x_299;
-x_290 = lean_alloc_ctor(3, 1, 0);
-lean_ctor_set(x_290, 0, x_2);
-x_291 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_292 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_292, 0, x_291);
-lean_ctor_set(x_292, 1, x_290);
-x_293 = l_Lean_Meta_isLevelDefEqAux___closed__6;
-x_294 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_294, 0, x_292);
-lean_ctor_set(x_294, 1, x_293);
-x_295 = lean_alloc_ctor(3, 1, 0);
-lean_ctor_set(x_295, 0, x_3);
-x_296 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_296, 0, x_294);
-lean_ctor_set(x_296, 1, x_295);
-x_297 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
+lean_object* x_287; lean_object* x_288; lean_object* x_289; lean_object* x_290; lean_object* x_291; lean_object* x_292; lean_object* x_293; lean_object* x_294; lean_object* x_295; uint8_t x_296;
+x_287 = lean_alloc_ctor(3, 1, 0);
+lean_ctor_set(x_287, 0, x_3);
+x_288 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_289 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_289, 0, x_288);
+lean_ctor_set(x_289, 1, x_287);
+x_290 = l_Lean_Meta_isLevelDefEqAux___closed__6;
+x_291 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_291, 0, x_289);
+lean_ctor_set(x_291, 1, x_290);
+x_292 = lean_alloc_ctor(3, 1, 0);
+lean_ctor_set(x_292, 0, x_4);
+x_293 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_293, 0, x_291);
+lean_ctor_set(x_293, 1, x_292);
+x_294 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
+x_295 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_295, 0, x_293);
+lean_ctor_set(x_295, 1, x_294);
+x_296 = lean_unbox(x_282);
+if (x_296 == 0)
+{
+lean_object* x_297; lean_object* x_298; lean_object* x_299; lean_object* x_300; lean_object* x_301; uint8_t x_302;
+x_297 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
x_298 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_298, 0, x_296);
+lean_ctor_set(x_298, 0, x_295);
lean_ctor_set(x_298, 1, x_297);
-x_299 = lean_unbox(x_285);
-if (x_299 == 0)
-{
-lean_object* x_300; lean_object* x_301; lean_object* x_302; lean_object* x_303; lean_object* x_304; uint8_t x_305;
-x_300 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
-x_301 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_301, 0, x_298);
-lean_ctor_set(x_301, 1, x_300);
-x_302 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_302, 0, x_301);
-lean_ctor_set(x_302, 1, x_291);
-x_303 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_4, x_302, x_6, x_7, x_8, x_9, x_288);
+x_299 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_299, 0, x_298);
+lean_ctor_set(x_299, 1, x_288);
+x_300 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_1, x_299, x_6, x_7, x_8, x_9, x_285);
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
-x_304 = lean_ctor_get(x_303, 1);
-lean_inc(x_304);
-lean_dec(x_303);
-x_305 = lean_unbox(x_285);
-lean_dec(x_285);
-x_257 = x_305;
-x_258 = x_304;
-goto block_283;
+x_301 = lean_ctor_get(x_300, 1);
+lean_inc(x_301);
+lean_dec(x_300);
+x_302 = lean_unbox(x_282);
+lean_dec(x_282);
+x_233 = x_302;
+x_234 = x_301;
+goto block_259;
}
else
{
-lean_object* x_306; lean_object* x_307; lean_object* x_308; lean_object* x_309; lean_object* x_310; uint8_t x_311;
-x_306 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
-x_307 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_307, 0, x_298);
-lean_ctor_set(x_307, 1, x_306);
-x_308 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_308, 0, x_307);
-lean_ctor_set(x_308, 1, x_291);
-x_309 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_4, x_308, x_6, x_7, x_8, x_9, x_288);
+lean_object* x_303; lean_object* x_304; lean_object* x_305; lean_object* x_306; lean_object* x_307; uint8_t x_308;
+x_303 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
+x_304 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_304, 0, x_295);
+lean_ctor_set(x_304, 1, x_303);
+x_305 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_305, 0, x_304);
+lean_ctor_set(x_305, 1, x_288);
+x_306 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_1, x_305, x_6, x_7, x_8, x_9, x_285);
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
-x_310 = lean_ctor_get(x_309, 1);
-lean_inc(x_310);
-lean_dec(x_309);
-x_311 = lean_unbox(x_285);
-lean_dec(x_285);
-x_257 = x_311;
-x_258 = x_310;
-goto block_283;
+x_307 = lean_ctor_get(x_306, 1);
+lean_inc(x_307);
+lean_dec(x_306);
+x_308 = lean_unbox(x_282);
+lean_dec(x_282);
+x_233 = x_308;
+x_234 = x_307;
+goto block_259;
}
}
}
}
else
{
-lean_object* x_323; lean_object* x_324; lean_object* x_325; lean_object* x_326; lean_object* x_327; lean_object* x_328; lean_object* x_329; lean_object* x_330; lean_object* x_331; lean_object* x_332; lean_object* x_333; lean_object* x_334; lean_object* x_335; lean_object* x_336; lean_object* x_337; lean_object* x_338; lean_object* x_339; lean_object* x_340; lean_object* x_341; lean_object* x_342;
+lean_object* x_320; lean_object* x_321;
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_4);
lean_dec(x_3);
-lean_dec(x_2);
-x_323 = lean_ctor_get(x_284, 0);
-lean_inc(x_323);
-x_324 = lean_ctor_get(x_284, 1);
-lean_inc(x_324);
-lean_dec(x_284);
-x_325 = lean_st_ref_get(x_9, x_324);
-x_326 = lean_ctor_get(x_325, 1);
-lean_inc(x_326);
-lean_dec(x_325);
-x_327 = lean_st_ref_take(x_9, x_326);
-x_328 = lean_ctor_get(x_327, 0);
-lean_inc(x_328);
-x_329 = lean_ctor_get(x_328, 3);
-lean_inc(x_329);
-x_330 = lean_ctor_get(x_327, 1);
-lean_inc(x_330);
-lean_dec(x_327);
-x_331 = lean_ctor_get(x_328, 0);
-lean_inc(x_331);
-x_332 = lean_ctor_get(x_328, 1);
-lean_inc(x_332);
-x_333 = lean_ctor_get(x_328, 2);
-lean_inc(x_333);
-if (lean_is_exclusive(x_328)) {
- lean_ctor_release(x_328, 0);
- lean_ctor_release(x_328, 1);
- lean_ctor_release(x_328, 2);
- lean_ctor_release(x_328, 3);
- x_334 = x_328;
-} else {
- lean_dec_ref(x_328);
- x_334 = lean_box(0);
+lean_dec(x_1);
+x_320 = lean_ctor_get(x_281, 0);
+lean_inc(x_320);
+x_321 = lean_ctor_get(x_281, 1);
+lean_inc(x_321);
+lean_dec(x_281);
+x_260 = x_320;
+x_261 = x_321;
+goto block_280;
}
-x_335 = lean_ctor_get(x_329, 0);
-lean_inc(x_335);
-if (lean_is_exclusive(x_329)) {
- lean_ctor_release(x_329, 0);
- x_336 = x_329;
-} else {
- lean_dec_ref(x_329);
- x_336 = lean_box(0);
-}
-if (lean_is_scalar(x_336)) {
- x_337 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_337 = x_336;
-}
-lean_ctor_set(x_337, 0, x_335);
-lean_ctor_set_uint8(x_337, sizeof(void*)*1, x_24);
-if (lean_is_scalar(x_334)) {
- x_338 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_338 = x_334;
-}
-lean_ctor_set(x_338, 0, x_331);
-lean_ctor_set(x_338, 1, x_332);
-lean_ctor_set(x_338, 2, x_333);
-lean_ctor_set(x_338, 3, x_337);
-x_339 = lean_st_ref_set(x_9, x_338, x_330);
-lean_dec(x_9);
-x_340 = lean_ctor_get(x_339, 1);
-lean_inc(x_340);
-if (lean_is_exclusive(x_339)) {
- lean_ctor_release(x_339, 0);
- lean_ctor_release(x_339, 1);
- x_341 = x_339;
-} else {
- lean_dec_ref(x_339);
- x_341 = lean_box(0);
-}
-if (lean_is_scalar(x_341)) {
- x_342 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_342 = x_341;
- lean_ctor_set_tag(x_342, 1);
-}
-lean_ctor_set(x_342, 0, x_323);
-lean_ctor_set(x_342, 1, x_340);
-return x_342;
-}
-block_283:
+block_259:
{
-lean_object* x_259; lean_object* x_260; lean_object* x_261; lean_object* x_262; uint8_t x_263; lean_object* x_264; lean_object* x_265; lean_object* x_266; lean_object* x_267; lean_object* x_268; lean_object* x_269; lean_object* x_270; lean_object* x_271; lean_object* x_272; lean_object* x_273; lean_object* x_274; lean_object* x_275; lean_object* x_276; lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; lean_object* x_281; lean_object* x_282;
-x_259 = lean_st_ref_get(x_9, x_258);
-x_260 = lean_ctor_get(x_259, 0);
-lean_inc(x_260);
-x_261 = lean_ctor_get(x_259, 1);
-lean_inc(x_261);
-lean_dec(x_259);
-x_262 = lean_ctor_get(x_260, 3);
-lean_inc(x_262);
-lean_dec(x_260);
-x_263 = lean_ctor_get_uint8(x_262, sizeof(void*)*1);
+lean_object* x_235; lean_object* x_236; lean_object* x_237; lean_object* x_238; uint8_t x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244; lean_object* x_245; lean_object* x_246; lean_object* x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253; lean_object* x_254; lean_object* x_255; lean_object* x_256; lean_object* x_257; lean_object* x_258;
+x_235 = lean_st_ref_get(x_9, x_234);
+x_236 = lean_ctor_get(x_235, 0);
+lean_inc(x_236);
+x_237 = lean_ctor_get(x_235, 1);
+lean_inc(x_237);
+lean_dec(x_235);
+x_238 = lean_ctor_get(x_236, 3);
+lean_inc(x_238);
+lean_dec(x_236);
+x_239 = lean_ctor_get_uint8(x_238, sizeof(void*)*1);
+lean_dec(x_238);
+x_240 = lean_st_ref_take(x_9, x_237);
+x_241 = lean_ctor_get(x_240, 0);
+lean_inc(x_241);
+x_242 = lean_ctor_get(x_241, 3);
+lean_inc(x_242);
+x_243 = lean_ctor_get(x_240, 1);
+lean_inc(x_243);
+lean_dec(x_240);
+x_244 = lean_ctor_get(x_241, 0);
+lean_inc(x_244);
+x_245 = lean_ctor_get(x_241, 1);
+lean_inc(x_245);
+x_246 = lean_ctor_get(x_241, 2);
+lean_inc(x_246);
+if (lean_is_exclusive(x_241)) {
+ lean_ctor_release(x_241, 0);
+ lean_ctor_release(x_241, 1);
+ lean_ctor_release(x_241, 2);
+ lean_ctor_release(x_241, 3);
+ x_247 = x_241;
+} else {
+ lean_dec_ref(x_241);
+ x_247 = lean_box(0);
+}
+x_248 = lean_ctor_get(x_242, 0);
+lean_inc(x_248);
+if (lean_is_exclusive(x_242)) {
+ lean_ctor_release(x_242, 0);
+ x_249 = x_242;
+} else {
+ lean_dec_ref(x_242);
+ x_249 = lean_box(0);
+}
+if (lean_is_scalar(x_249)) {
+ x_250 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_250 = x_249;
+}
+lean_ctor_set(x_250, 0, x_248);
+lean_ctor_set_uint8(x_250, sizeof(void*)*1, x_93);
+if (lean_is_scalar(x_247)) {
+ x_251 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_251 = x_247;
+}
+lean_ctor_set(x_251, 0, x_244);
+lean_ctor_set(x_251, 1, x_245);
+lean_ctor_set(x_251, 2, x_246);
+lean_ctor_set(x_251, 3, x_250);
+x_252 = lean_st_ref_set(x_9, x_251, x_243);
+lean_dec(x_9);
+x_253 = lean_ctor_get(x_252, 1);
+lean_inc(x_253);
+if (lean_is_exclusive(x_252)) {
+ lean_ctor_release(x_252, 0);
+ lean_ctor_release(x_252, 1);
+ x_254 = x_252;
+} else {
+ lean_dec_ref(x_252);
+ x_254 = lean_box(0);
+}
+x_255 = lean_box(x_233);
+x_256 = lean_box(x_239);
+x_257 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_257, 0, x_255);
+lean_ctor_set(x_257, 1, x_256);
+if (lean_is_scalar(x_254)) {
+ x_258 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_258 = x_254;
+}
+lean_ctor_set(x_258, 0, x_257);
+lean_ctor_set(x_258, 1, x_253);
+x_11 = x_258;
+goto block_23;
+}
+block_280:
+{
+lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265; lean_object* x_266; lean_object* x_267; lean_object* x_268; lean_object* x_269; lean_object* x_270; lean_object* x_271; lean_object* x_272; lean_object* x_273; lean_object* x_274; lean_object* x_275; lean_object* x_276; lean_object* x_277; lean_object* x_278; lean_object* x_279;
+x_262 = lean_st_ref_get(x_9, x_261);
+x_263 = lean_ctor_get(x_262, 1);
+lean_inc(x_263);
lean_dec(x_262);
-x_264 = lean_st_ref_take(x_9, x_261);
+x_264 = lean_st_ref_take(x_9, x_263);
x_265 = lean_ctor_get(x_264, 0);
lean_inc(x_265);
x_266 = lean_ctor_get(x_265, 3);
@@ -19401,7 +19222,7 @@ if (lean_is_scalar(x_273)) {
x_274 = x_273;
}
lean_ctor_set(x_274, 0, x_272);
-lean_ctor_set_uint8(x_274, sizeof(void*)*1, x_24);
+lean_ctor_set_uint8(x_274, sizeof(void*)*1, x_93);
if (lean_is_scalar(x_271)) {
x_275 = lean_alloc_ctor(0, 4, 0);
} else {
@@ -19423,264 +19244,382 @@ if (lean_is_exclusive(x_276)) {
lean_dec_ref(x_276);
x_278 = lean_box(0);
}
-x_279 = lean_box(x_257);
-x_280 = lean_box(x_263);
-x_281 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_281, 0, x_279);
-lean_ctor_set(x_281, 1, x_280);
if (lean_is_scalar(x_278)) {
- x_282 = lean_alloc_ctor(0, 2, 0);
+ x_279 = lean_alloc_ctor(1, 2, 0);
} else {
- x_282 = x_278;
+ x_279 = x_278;
+ lean_ctor_set_tag(x_279, 1);
}
-lean_ctor_set(x_282, 0, x_281);
-lean_ctor_set(x_282, 1, x_277);
-x_11 = x_282;
-goto block_19;
+lean_ctor_set(x_279, 0, x_260);
+lean_ctor_set(x_279, 1, x_277);
+x_11 = x_279;
+goto block_23;
}
}
}
else
{
-lean_object* x_343; lean_object* x_344; lean_object* x_345; lean_object* x_346; uint8_t x_347; lean_object* x_348; lean_object* x_357;
-x_343 = lean_ctor_get(x_8, 3);
-lean_inc(x_343);
-x_344 = l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_isLevelDefEq___spec__3___rarg(x_9, x_10);
-x_345 = lean_ctor_get(x_344, 0);
-lean_inc(x_345);
-x_346 = lean_ctor_get(x_344, 1);
-lean_inc(x_346);
-lean_dec(x_344);
+lean_object* x_322; lean_object* x_323; lean_object* x_324; lean_object* x_325; lean_object* x_326; uint8_t x_327; lean_object* x_328; lean_object* x_329; lean_object* x_330; lean_object* x_331; uint8_t x_332; lean_object* x_333; lean_object* x_359; lean_object* x_360; lean_object* x_380;
+x_322 = lean_ctor_get(x_95, 0);
+x_323 = lean_ctor_get(x_95, 1);
+x_324 = lean_ctor_get(x_95, 2);
+lean_inc(x_324);
+lean_inc(x_323);
+lean_inc(x_322);
+lean_dec(x_95);
+x_325 = lean_ctor_get(x_96, 0);
+lean_inc(x_325);
+if (lean_is_exclusive(x_96)) {
+ lean_ctor_release(x_96, 0);
+ x_326 = x_96;
+} else {
+ lean_dec_ref(x_96);
+ x_326 = lean_box(0);
+}
+x_327 = 0;
+if (lean_is_scalar(x_326)) {
+ x_328 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_328 = x_326;
+}
+lean_ctor_set(x_328, 0, x_325);
+lean_ctor_set_uint8(x_328, sizeof(void*)*1, x_327);
+x_329 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_329, 0, x_322);
+lean_ctor_set(x_329, 1, x_323);
+lean_ctor_set(x_329, 2, x_324);
+lean_ctor_set(x_329, 3, x_328);
+x_330 = lean_st_ref_set(x_9, x_329, x_97);
+x_331 = lean_ctor_get(x_330, 1);
+lean_inc(x_331);
+lean_dec(x_330);
lean_inc(x_9);
lean_inc(x_8);
lean_inc(x_7);
lean_inc(x_6);
-x_357 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_1, x_6, x_7, x_8, x_9, x_346);
-if (lean_obj_tag(x_357) == 0)
+x_380 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_2, x_6, x_7, x_8, x_9, x_331);
+if (lean_obj_tag(x_380) == 0)
{
-lean_object* x_358; lean_object* x_359; uint8_t x_360; lean_object* x_361; lean_object* x_386; lean_object* x_387; lean_object* x_388; uint8_t x_389;
-x_358 = lean_ctor_get(x_357, 0);
-lean_inc(x_358);
-x_359 = lean_ctor_get(x_357, 1);
-lean_inc(x_359);
-lean_dec(x_357);
-x_386 = lean_st_ref_get(x_9, x_359);
-x_387 = lean_ctor_get(x_386, 0);
-lean_inc(x_387);
-x_388 = lean_ctor_get(x_387, 3);
-lean_inc(x_388);
-lean_dec(x_387);
-x_389 = lean_ctor_get_uint8(x_388, sizeof(void*)*1);
-lean_dec(x_388);
-if (x_389 == 0)
+lean_object* x_381; lean_object* x_382; uint8_t x_383; lean_object* x_384; lean_object* x_409; lean_object* x_410; lean_object* x_411; uint8_t x_412;
+x_381 = lean_ctor_get(x_380, 0);
+lean_inc(x_381);
+x_382 = lean_ctor_get(x_380, 1);
+lean_inc(x_382);
+lean_dec(x_380);
+x_409 = lean_st_ref_get(x_9, x_382);
+x_410 = lean_ctor_get(x_409, 0);
+lean_inc(x_410);
+x_411 = lean_ctor_get(x_410, 3);
+lean_inc(x_411);
+lean_dec(x_410);
+x_412 = lean_ctor_get_uint8(x_411, sizeof(void*)*1);
+lean_dec(x_411);
+if (x_412 == 0)
{
-lean_object* x_390; uint8_t x_391;
-x_390 = lean_ctor_get(x_386, 1);
-lean_inc(x_390);
-lean_dec(x_386);
-x_391 = 0;
-x_360 = x_391;
-x_361 = x_390;
-goto block_385;
+lean_object* x_413;
+x_413 = lean_ctor_get(x_409, 1);
+lean_inc(x_413);
+lean_dec(x_409);
+x_383 = x_327;
+x_384 = x_413;
+goto block_408;
}
else
{
-lean_object* x_392; lean_object* x_393; lean_object* x_394; lean_object* x_395; uint8_t x_396;
-x_392 = lean_ctor_get(x_386, 1);
-lean_inc(x_392);
-lean_dec(x_386);
-lean_inc(x_4);
-x_393 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_4, x_6, x_7, x_8, x_9, x_392);
-x_394 = lean_ctor_get(x_393, 0);
-lean_inc(x_394);
-x_395 = lean_ctor_get(x_393, 1);
-lean_inc(x_395);
-lean_dec(x_393);
-x_396 = lean_unbox(x_394);
-lean_dec(x_394);
-x_360 = x_396;
-x_361 = x_395;
-goto block_385;
+lean_object* x_414; lean_object* x_415; lean_object* x_416; lean_object* x_417; uint8_t x_418;
+x_414 = lean_ctor_get(x_409, 1);
+lean_inc(x_414);
+lean_dec(x_409);
+lean_inc(x_1);
+x_415 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_1, x_6, x_7, x_8, x_9, x_414);
+x_416 = lean_ctor_get(x_415, 0);
+lean_inc(x_416);
+x_417 = lean_ctor_get(x_415, 1);
+lean_inc(x_417);
+lean_dec(x_415);
+x_418 = lean_unbox(x_416);
+lean_dec(x_416);
+x_383 = x_418;
+x_384 = x_417;
+goto block_408;
}
-block_385:
+block_408:
{
-if (x_360 == 0)
+if (x_383 == 0)
{
-uint8_t x_362;
-lean_dec(x_3);
-lean_dec(x_2);
-x_362 = lean_unbox(x_358);
-lean_dec(x_358);
-x_347 = x_362;
-x_348 = x_361;
-goto block_356;
-}
-else
-{
-lean_object* x_363; lean_object* x_364; lean_object* x_365; lean_object* x_366; lean_object* x_367; lean_object* x_368; lean_object* x_369; lean_object* x_370; lean_object* x_371; uint8_t x_372;
-x_363 = lean_alloc_ctor(3, 1, 0);
-lean_ctor_set(x_363, 0, x_2);
-x_364 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_365 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_365, 0, x_364);
-lean_ctor_set(x_365, 1, x_363);
-x_366 = l_Lean_Meta_isLevelDefEqAux___closed__6;
-x_367 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_367, 0, x_365);
-lean_ctor_set(x_367, 1, x_366);
-x_368 = lean_alloc_ctor(3, 1, 0);
-lean_ctor_set(x_368, 0, x_3);
-x_369 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_369, 0, x_367);
-lean_ctor_set(x_369, 1, x_368);
-x_370 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
-x_371 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_371, 0, x_369);
-lean_ctor_set(x_371, 1, x_370);
-x_372 = lean_unbox(x_358);
-if (x_372 == 0)
-{
-lean_object* x_373; lean_object* x_374; lean_object* x_375; lean_object* x_376; lean_object* x_377; uint8_t x_378;
-x_373 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
-x_374 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_374, 0, x_371);
-lean_ctor_set(x_374, 1, x_373);
-x_375 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_375, 0, x_374);
-lean_ctor_set(x_375, 1, x_364);
-lean_inc(x_4);
-x_376 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_4, x_375, x_6, x_7, x_8, x_9, x_361);
-x_377 = lean_ctor_get(x_376, 1);
-lean_inc(x_377);
-lean_dec(x_376);
-x_378 = lean_unbox(x_358);
-lean_dec(x_358);
-x_347 = x_378;
-x_348 = x_377;
-goto block_356;
-}
-else
-{
-lean_object* x_379; lean_object* x_380; lean_object* x_381; lean_object* x_382; lean_object* x_383; uint8_t x_384;
-x_379 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
-x_380 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_380, 0, x_371);
-lean_ctor_set(x_380, 1, x_379);
-x_381 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_381, 0, x_380);
-lean_ctor_set(x_381, 1, x_364);
-lean_inc(x_4);
-x_382 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_4, x_381, x_6, x_7, x_8, x_9, x_361);
-x_383 = lean_ctor_get(x_382, 1);
-lean_inc(x_383);
-lean_dec(x_382);
-x_384 = lean_unbox(x_358);
-lean_dec(x_358);
-x_347 = x_384;
-x_348 = x_383;
-goto block_356;
-}
-}
-}
-}
-else
-{
-lean_object* x_397; lean_object* x_398; lean_object* x_399; uint8_t x_400;
-lean_dec(x_3);
-lean_dec(x_2);
-x_397 = lean_ctor_get(x_357, 0);
-lean_inc(x_397);
-x_398 = lean_ctor_get(x_357, 1);
-lean_inc(x_398);
-lean_dec(x_357);
-x_399 = l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_isLevelDefEq___spec__4(x_345, x_4, x_343, x_6, x_7, x_8, x_9, x_398);
-lean_dec(x_9);
+uint8_t x_385;
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
-x_400 = !lean_is_exclusive(x_399);
-if (x_400 == 0)
-{
-lean_object* x_401;
-x_401 = lean_ctor_get(x_399, 0);
-lean_dec(x_401);
-lean_ctor_set_tag(x_399, 1);
-lean_ctor_set(x_399, 0, x_397);
-return x_399;
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_1);
+x_385 = lean_unbox(x_381);
+lean_dec(x_381);
+x_332 = x_385;
+x_333 = x_384;
+goto block_358;
}
else
{
-lean_object* x_402; lean_object* x_403;
-x_402 = lean_ctor_get(x_399, 1);
-lean_inc(x_402);
+lean_object* x_386; lean_object* x_387; lean_object* x_388; lean_object* x_389; lean_object* x_390; lean_object* x_391; lean_object* x_392; lean_object* x_393; lean_object* x_394; uint8_t x_395;
+x_386 = lean_alloc_ctor(3, 1, 0);
+lean_ctor_set(x_386, 0, x_3);
+x_387 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_388 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_388, 0, x_387);
+lean_ctor_set(x_388, 1, x_386);
+x_389 = l_Lean_Meta_isLevelDefEqAux___closed__6;
+x_390 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_390, 0, x_388);
+lean_ctor_set(x_390, 1, x_389);
+x_391 = lean_alloc_ctor(3, 1, 0);
+lean_ctor_set(x_391, 0, x_4);
+x_392 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_392, 0, x_390);
+lean_ctor_set(x_392, 1, x_391);
+x_393 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
+x_394 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_394, 0, x_392);
+lean_ctor_set(x_394, 1, x_393);
+x_395 = lean_unbox(x_381);
+if (x_395 == 0)
+{
+lean_object* x_396; lean_object* x_397; lean_object* x_398; lean_object* x_399; lean_object* x_400; uint8_t x_401;
+x_396 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
+x_397 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_397, 0, x_394);
+lean_ctor_set(x_397, 1, x_396);
+x_398 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_398, 0, x_397);
+lean_ctor_set(x_398, 1, x_387);
+x_399 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_1, x_398, x_6, x_7, x_8, x_9, x_384);
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+x_400 = lean_ctor_get(x_399, 1);
+lean_inc(x_400);
lean_dec(x_399);
-x_403 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_403, 0, x_397);
-lean_ctor_set(x_403, 1, x_402);
-return x_403;
+x_401 = lean_unbox(x_381);
+lean_dec(x_381);
+x_332 = x_401;
+x_333 = x_400;
+goto block_358;
}
-}
-block_356:
+else
{
-lean_object* x_349; uint8_t x_350;
-x_349 = l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_isLevelDefEq___spec__4(x_345, x_4, x_343, x_6, x_7, x_8, x_9, x_348);
-lean_dec(x_9);
+lean_object* x_402; lean_object* x_403; lean_object* x_404; lean_object* x_405; lean_object* x_406; uint8_t x_407;
+x_402 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
+x_403 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_403, 0, x_394);
+lean_ctor_set(x_403, 1, x_402);
+x_404 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_404, 0, x_403);
+lean_ctor_set(x_404, 1, x_387);
+x_405 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_1, x_404, x_6, x_7, x_8, x_9, x_384);
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
-x_350 = !lean_is_exclusive(x_349);
-if (x_350 == 0)
-{
-lean_object* x_351; lean_object* x_352;
-x_351 = lean_ctor_get(x_349, 0);
-lean_dec(x_351);
-x_352 = lean_box(x_347);
-lean_ctor_set(x_349, 0, x_352);
-return x_349;
+x_406 = lean_ctor_get(x_405, 1);
+lean_inc(x_406);
+lean_dec(x_405);
+x_407 = lean_unbox(x_381);
+lean_dec(x_381);
+x_332 = x_407;
+x_333 = x_406;
+goto block_358;
+}
+}
+}
}
else
{
-lean_object* x_353; lean_object* x_354; lean_object* x_355;
-x_353 = lean_ctor_get(x_349, 1);
-lean_inc(x_353);
-lean_dec(x_349);
-x_354 = lean_box(x_347);
-x_355 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_355, 0, x_354);
-lean_ctor_set(x_355, 1, x_353);
-return x_355;
+lean_object* x_419; lean_object* x_420;
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_1);
+x_419 = lean_ctor_get(x_380, 0);
+lean_inc(x_419);
+x_420 = lean_ctor_get(x_380, 1);
+lean_inc(x_420);
+lean_dec(x_380);
+x_359 = x_419;
+x_360 = x_420;
+goto block_379;
}
-}
-}
-block_19:
+block_358:
{
-uint8_t x_12;
-x_12 = !lean_is_exclusive(x_11);
-if (x_12 == 0)
-{
-lean_object* x_13; lean_object* x_14;
-x_13 = lean_ctor_get(x_11, 0);
-x_14 = lean_ctor_get(x_13, 0);
-lean_inc(x_14);
-lean_dec(x_13);
-lean_ctor_set(x_11, 0, x_14);
-return x_11;
+lean_object* x_334; lean_object* x_335; lean_object* x_336; lean_object* x_337; uint8_t x_338; lean_object* x_339; lean_object* x_340; lean_object* x_341; lean_object* x_342; lean_object* x_343; lean_object* x_344; lean_object* x_345; lean_object* x_346; lean_object* x_347; lean_object* x_348; lean_object* x_349; lean_object* x_350; lean_object* x_351; lean_object* x_352; lean_object* x_353; lean_object* x_354; lean_object* x_355; lean_object* x_356; lean_object* x_357;
+x_334 = lean_st_ref_get(x_9, x_333);
+x_335 = lean_ctor_get(x_334, 0);
+lean_inc(x_335);
+x_336 = lean_ctor_get(x_334, 1);
+lean_inc(x_336);
+lean_dec(x_334);
+x_337 = lean_ctor_get(x_335, 3);
+lean_inc(x_337);
+lean_dec(x_335);
+x_338 = lean_ctor_get_uint8(x_337, sizeof(void*)*1);
+lean_dec(x_337);
+x_339 = lean_st_ref_take(x_9, x_336);
+x_340 = lean_ctor_get(x_339, 0);
+lean_inc(x_340);
+x_341 = lean_ctor_get(x_340, 3);
+lean_inc(x_341);
+x_342 = lean_ctor_get(x_339, 1);
+lean_inc(x_342);
+lean_dec(x_339);
+x_343 = lean_ctor_get(x_340, 0);
+lean_inc(x_343);
+x_344 = lean_ctor_get(x_340, 1);
+lean_inc(x_344);
+x_345 = lean_ctor_get(x_340, 2);
+lean_inc(x_345);
+if (lean_is_exclusive(x_340)) {
+ lean_ctor_release(x_340, 0);
+ lean_ctor_release(x_340, 1);
+ lean_ctor_release(x_340, 2);
+ lean_ctor_release(x_340, 3);
+ x_346 = x_340;
+} else {
+ lean_dec_ref(x_340);
+ x_346 = lean_box(0);
}
-else
+x_347 = lean_ctor_get(x_341, 0);
+lean_inc(x_347);
+if (lean_is_exclusive(x_341)) {
+ lean_ctor_release(x_341, 0);
+ x_348 = x_341;
+} else {
+ lean_dec_ref(x_341);
+ x_348 = lean_box(0);
+}
+if (lean_is_scalar(x_348)) {
+ x_349 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_349 = x_348;
+}
+lean_ctor_set(x_349, 0, x_347);
+lean_ctor_set_uint8(x_349, sizeof(void*)*1, x_93);
+if (lean_is_scalar(x_346)) {
+ x_350 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_350 = x_346;
+}
+lean_ctor_set(x_350, 0, x_343);
+lean_ctor_set(x_350, 1, x_344);
+lean_ctor_set(x_350, 2, x_345);
+lean_ctor_set(x_350, 3, x_349);
+x_351 = lean_st_ref_set(x_9, x_350, x_342);
+lean_dec(x_9);
+x_352 = lean_ctor_get(x_351, 1);
+lean_inc(x_352);
+if (lean_is_exclusive(x_351)) {
+ lean_ctor_release(x_351, 0);
+ lean_ctor_release(x_351, 1);
+ x_353 = x_351;
+} else {
+ lean_dec_ref(x_351);
+ x_353 = lean_box(0);
+}
+x_354 = lean_box(x_332);
+x_355 = lean_box(x_338);
+x_356 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_356, 0, x_354);
+lean_ctor_set(x_356, 1, x_355);
+if (lean_is_scalar(x_353)) {
+ x_357 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_357 = x_353;
+}
+lean_ctor_set(x_357, 0, x_356);
+lean_ctor_set(x_357, 1, x_352);
+x_11 = x_357;
+goto block_23;
+}
+block_379:
{
-lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
-x_15 = lean_ctor_get(x_11, 0);
-x_16 = lean_ctor_get(x_11, 1);
-lean_inc(x_16);
-lean_inc(x_15);
-lean_dec(x_11);
-x_17 = lean_ctor_get(x_15, 0);
-lean_inc(x_17);
-lean_dec(x_15);
-x_18 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_18, 0, x_17);
-lean_ctor_set(x_18, 1, x_16);
-return x_18;
+lean_object* x_361; lean_object* x_362; lean_object* x_363; lean_object* x_364; lean_object* x_365; lean_object* x_366; lean_object* x_367; lean_object* x_368; lean_object* x_369; lean_object* x_370; lean_object* x_371; lean_object* x_372; lean_object* x_373; lean_object* x_374; lean_object* x_375; lean_object* x_376; lean_object* x_377; lean_object* x_378;
+x_361 = lean_st_ref_get(x_9, x_360);
+x_362 = lean_ctor_get(x_361, 1);
+lean_inc(x_362);
+lean_dec(x_361);
+x_363 = lean_st_ref_take(x_9, x_362);
+x_364 = lean_ctor_get(x_363, 0);
+lean_inc(x_364);
+x_365 = lean_ctor_get(x_364, 3);
+lean_inc(x_365);
+x_366 = lean_ctor_get(x_363, 1);
+lean_inc(x_366);
+lean_dec(x_363);
+x_367 = lean_ctor_get(x_364, 0);
+lean_inc(x_367);
+x_368 = lean_ctor_get(x_364, 1);
+lean_inc(x_368);
+x_369 = lean_ctor_get(x_364, 2);
+lean_inc(x_369);
+if (lean_is_exclusive(x_364)) {
+ lean_ctor_release(x_364, 0);
+ lean_ctor_release(x_364, 1);
+ lean_ctor_release(x_364, 2);
+ lean_ctor_release(x_364, 3);
+ x_370 = x_364;
+} else {
+ lean_dec_ref(x_364);
+ x_370 = lean_box(0);
+}
+x_371 = lean_ctor_get(x_365, 0);
+lean_inc(x_371);
+if (lean_is_exclusive(x_365)) {
+ lean_ctor_release(x_365, 0);
+ x_372 = x_365;
+} else {
+ lean_dec_ref(x_365);
+ x_372 = lean_box(0);
+}
+if (lean_is_scalar(x_372)) {
+ x_373 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_373 = x_372;
+}
+lean_ctor_set(x_373, 0, x_371);
+lean_ctor_set_uint8(x_373, sizeof(void*)*1, x_93);
+if (lean_is_scalar(x_370)) {
+ x_374 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_374 = x_370;
+}
+lean_ctor_set(x_374, 0, x_367);
+lean_ctor_set(x_374, 1, x_368);
+lean_ctor_set(x_374, 2, x_369);
+lean_ctor_set(x_374, 3, x_373);
+x_375 = lean_st_ref_set(x_9, x_374, x_366);
+lean_dec(x_9);
+x_376 = lean_ctor_get(x_375, 1);
+lean_inc(x_376);
+if (lean_is_exclusive(x_375)) {
+ lean_ctor_release(x_375, 0);
+ lean_ctor_release(x_375, 1);
+ x_377 = x_375;
+} else {
+ lean_dec_ref(x_375);
+ x_377 = lean_box(0);
+}
+if (lean_is_scalar(x_377)) {
+ x_378 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_378 = x_377;
+ lean_ctor_set_tag(x_378, 1);
+}
+lean_ctor_set(x_378, 0, x_359);
+lean_ctor_set(x_378, 1, x_376);
+x_11 = x_378;
+goto block_23;
+}
+}
}
}
}
@@ -19736,10 +19675,10 @@ lean_closure_set(x_4, 0, x_2);
lean_closure_set(x_4, 1, x_3);
x_5 = l_Lean_Meta_isLevelDefEqAux___closed__2;
x_6 = lean_alloc_closure((void*)(l_Lean_Meta_isLevelDefEq___rarg___lambda__3___boxed), 10, 4);
-lean_closure_set(x_6, 0, x_4);
-lean_closure_set(x_6, 1, x_2);
-lean_closure_set(x_6, 2, x_3);
-lean_closure_set(x_6, 3, x_5);
+lean_closure_set(x_6, 0, x_5);
+lean_closure_set(x_6, 1, x_4);
+lean_closure_set(x_6, 2, x_2);
+lean_closure_set(x_6, 3, x_3);
x_7 = l_Lean_Meta_isLevelDefEq___rarg___closed__4;
x_8 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Meta_Lean_Meta_Basic___instance__5___spec__2___rarg), 7, 2);
lean_closure_set(x_8, 0, x_7);
@@ -19756,11 +19695,11 @@ x_2 = lean_alloc_closure((void*)(l_Lean_Meta_isLevelDefEq___rarg), 3, 0);
return x_2;
}
}
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1___boxed(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* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
lean_object* x_7;
-x_7 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_1, x_2, x_3, x_4, x_5, x_6);
+x_7 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_1, x_2, x_3, x_4, x_5, x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
@@ -19768,43 +19707,31 @@ lean_dec(x_2);
return x_7;
}
}
-lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2___boxed(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) {
-_start:
-{
-lean_object* x_8;
-x_8 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-return x_8;
-}
-}
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_isLevelDefEq___spec__3___rarg___boxed(lean_object* x_1, lean_object* x_2) {
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_isLevelDefEq___spec__2___rarg___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
-x_3 = l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_isLevelDefEq___spec__3___rarg(x_1, x_2);
+x_3 = l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_isLevelDefEq___spec__2___rarg(x_1, x_2);
lean_dec(x_1);
return x_3;
}
}
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_isLevelDefEq___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_isLevelDefEq___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
-x_4 = l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_isLevelDefEq___spec__3(x_1, x_2, x_3);
+x_4 = l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_isLevelDefEq___spec__2(x_1, x_2, x_3);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
return x_4;
}
}
-lean_object* l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_isLevelDefEq___spec__4___boxed(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* l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_isLevelDefEq___spec__3___boxed(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:
{
lean_object* x_9;
-x_9 = l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_isLevelDefEq___spec__4(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8);
+x_9 = l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_isLevelDefEq___spec__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
@@ -19812,6 +19739,18 @@ lean_dec(x_4);
return x_9;
}
}
+lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4___boxed(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) {
+_start:
+{
+lean_object* x_8;
+x_8 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_1, x_2, x_3, x_4, x_5, x_6, x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+return x_8;
+}
+}
lean_object* l_Lean_Meta_isLevelDefEq___rarg___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
@@ -19849,1112 +19788,1070 @@ return x_12;
lean_object* l_Lean_Meta_isExprDefEq___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, uint8_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
_start:
{
-lean_object* x_11;
+lean_object* x_11; uint8_t x_24;
if (x_5 == 0)
{
-lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t x_29;
-x_20 = lean_st_ref_get(x_9, x_10);
-x_21 = lean_ctor_get(x_20, 0);
+uint8_t x_422;
+x_422 = 1;
+x_24 = x_422;
+goto block_421;
+}
+else
+{
+uint8_t x_423;
+x_423 = 0;
+x_24 = x_423;
+goto block_421;
+}
+block_23:
+{
+if (lean_obj_tag(x_11) == 0)
+{
+uint8_t x_12;
+x_12 = !lean_is_exclusive(x_11);
+if (x_12 == 0)
+{
+lean_object* x_13; lean_object* x_14;
+x_13 = lean_ctor_get(x_11, 0);
+x_14 = lean_ctor_get(x_13, 0);
+lean_inc(x_14);
+lean_dec(x_13);
+lean_ctor_set(x_11, 0, x_14);
+return x_11;
+}
+else
+{
+lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
+x_15 = lean_ctor_get(x_11, 0);
+x_16 = lean_ctor_get(x_11, 1);
+lean_inc(x_16);
+lean_inc(x_15);
+lean_dec(x_11);
+x_17 = lean_ctor_get(x_15, 0);
+lean_inc(x_17);
+lean_dec(x_15);
+x_18 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_18, 0, x_17);
+lean_ctor_set(x_18, 1, x_16);
+return x_18;
+}
+}
+else
+{
+uint8_t x_19;
+x_19 = !lean_is_exclusive(x_11);
+if (x_19 == 0)
+{
+return x_11;
+}
+else
+{
+lean_object* x_20; lean_object* x_21; lean_object* x_22;
+x_20 = lean_ctor_get(x_11, 0);
+x_21 = lean_ctor_get(x_11, 1);
lean_inc(x_21);
-x_22 = lean_ctor_get(x_21, 3);
-lean_inc(x_22);
-lean_dec(x_21);
-x_23 = lean_ctor_get(x_20, 1);
-lean_inc(x_23);
-lean_dec(x_20);
-x_24 = lean_ctor_get_uint8(x_22, sizeof(void*)*1);
-lean_dec(x_22);
-x_25 = lean_st_ref_take(x_9, x_23);
-x_26 = lean_ctor_get(x_25, 0);
-lean_inc(x_26);
-x_27 = lean_ctor_get(x_26, 3);
+lean_inc(x_20);
+lean_dec(x_11);
+x_22 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_22, 0, x_20);
+lean_ctor_set(x_22, 1, x_21);
+return x_22;
+}
+}
+}
+block_421:
+{
+if (x_24 == 0)
+{
+lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t x_29; lean_object* x_30; lean_object* x_39; lean_object* x_40; lean_object* x_47;
+x_25 = lean_ctor_get(x_8, 3);
+lean_inc(x_25);
+x_26 = l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_isLevelDefEq___spec__2___rarg(x_9, x_10);
+x_27 = lean_ctor_get(x_26, 0);
lean_inc(x_27);
-x_28 = lean_ctor_get(x_25, 1);
+x_28 = lean_ctor_get(x_26, 1);
lean_inc(x_28);
-lean_dec(x_25);
-x_29 = !lean_is_exclusive(x_26);
-if (x_29 == 0)
-{
-lean_object* x_30; uint8_t x_31;
-x_30 = lean_ctor_get(x_26, 3);
-lean_dec(x_30);
-x_31 = !lean_is_exclusive(x_27);
-if (x_31 == 0)
-{
-uint8_t x_32; lean_object* x_33; lean_object* x_34; uint8_t x_35; lean_object* x_36; lean_object* x_84;
-x_32 = 0;
-lean_ctor_set_uint8(x_27, sizeof(void*)*1, x_32);
-x_33 = lean_st_ref_set(x_9, x_26, x_28);
-x_34 = lean_ctor_get(x_33, 1);
-lean_inc(x_34);
-lean_dec(x_33);
+lean_dec(x_26);
lean_inc(x_9);
lean_inc(x_8);
lean_inc(x_7);
lean_inc(x_6);
-x_84 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_1, x_6, x_7, x_8, x_9, x_34);
-if (lean_obj_tag(x_84) == 0)
+x_47 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_2, x_6, x_7, x_8, x_9, x_28);
+if (lean_obj_tag(x_47) == 0)
{
-lean_object* x_85; lean_object* x_86; uint8_t x_87; lean_object* x_88; lean_object* x_113; lean_object* x_114; lean_object* x_115; uint8_t x_116;
-x_85 = lean_ctor_get(x_84, 0);
-lean_inc(x_85);
-x_86 = lean_ctor_get(x_84, 1);
-lean_inc(x_86);
-lean_dec(x_84);
-x_113 = lean_st_ref_get(x_9, x_86);
-x_114 = lean_ctor_get(x_113, 0);
-lean_inc(x_114);
-x_115 = lean_ctor_get(x_114, 3);
-lean_inc(x_115);
-lean_dec(x_114);
-x_116 = lean_ctor_get_uint8(x_115, sizeof(void*)*1);
-lean_dec(x_115);
-if (x_116 == 0)
-{
-lean_object* x_117;
-x_117 = lean_ctor_get(x_113, 1);
-lean_inc(x_117);
-lean_dec(x_113);
-x_87 = x_32;
-x_88 = x_117;
-goto block_112;
-}
-else
-{
-lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; uint8_t x_122;
-x_118 = lean_ctor_get(x_113, 1);
-lean_inc(x_118);
-lean_dec(x_113);
-lean_inc(x_4);
-x_119 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_4, x_6, x_7, x_8, x_9, x_118);
-x_120 = lean_ctor_get(x_119, 0);
-lean_inc(x_120);
-x_121 = lean_ctor_get(x_119, 1);
-lean_inc(x_121);
-lean_dec(x_119);
-x_122 = lean_unbox(x_120);
-lean_dec(x_120);
-x_87 = x_122;
-x_88 = x_121;
-goto block_112;
-}
-block_112:
-{
-if (x_87 == 0)
-{
-uint8_t x_89;
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-x_89 = lean_unbox(x_85);
-lean_dec(x_85);
-x_35 = x_89;
-x_36 = x_88;
-goto block_83;
-}
-else
-{
-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; uint8_t x_99;
-x_90 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_90, 0, x_2);
-x_91 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_92 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_92, 0, x_91);
-lean_ctor_set(x_92, 1, x_90);
-x_93 = l_Lean_Meta_isLevelDefEqAux___closed__6;
-x_94 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_94, 0, x_92);
-lean_ctor_set(x_94, 1, x_93);
-x_95 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_95, 0, x_3);
-x_96 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_96, 0, x_94);
-lean_ctor_set(x_96, 1, x_95);
-x_97 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
-x_98 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_98, 0, x_96);
-lean_ctor_set(x_98, 1, x_97);
-x_99 = lean_unbox(x_85);
-if (x_99 == 0)
-{
-lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; uint8_t x_105;
-x_100 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
-x_101 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_101, 0, x_98);
-lean_ctor_set(x_101, 1, x_100);
-x_102 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_102, 0, x_101);
-lean_ctor_set(x_102, 1, x_91);
-x_103 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_4, x_102, x_6, x_7, x_8, x_9, x_88);
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-x_104 = lean_ctor_get(x_103, 1);
-lean_inc(x_104);
-lean_dec(x_103);
-x_105 = lean_unbox(x_85);
-lean_dec(x_85);
-x_35 = x_105;
-x_36 = x_104;
-goto block_83;
-}
-else
-{
-lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; uint8_t x_111;
-x_106 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
-x_107 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_107, 0, x_98);
-lean_ctor_set(x_107, 1, x_106);
-x_108 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_108, 0, x_107);
-lean_ctor_set(x_108, 1, x_91);
-x_109 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_4, x_108, x_6, x_7, x_8, x_9, x_88);
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-x_110 = lean_ctor_get(x_109, 1);
-lean_inc(x_110);
-lean_dec(x_109);
-x_111 = lean_unbox(x_85);
-lean_dec(x_85);
-x_35 = x_111;
-x_36 = x_110;
-goto block_83;
-}
-}
-}
-}
-else
-{
-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; uint8_t x_131;
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-x_123 = lean_ctor_get(x_84, 0);
-lean_inc(x_123);
-x_124 = lean_ctor_get(x_84, 1);
-lean_inc(x_124);
-lean_dec(x_84);
-x_125 = lean_st_ref_get(x_9, x_124);
-x_126 = lean_ctor_get(x_125, 1);
-lean_inc(x_126);
-lean_dec(x_125);
-x_127 = lean_st_ref_take(x_9, x_126);
-x_128 = lean_ctor_get(x_127, 0);
-lean_inc(x_128);
-x_129 = lean_ctor_get(x_128, 3);
-lean_inc(x_129);
-x_130 = lean_ctor_get(x_127, 1);
-lean_inc(x_130);
-lean_dec(x_127);
-x_131 = !lean_is_exclusive(x_128);
-if (x_131 == 0)
-{
-lean_object* x_132; uint8_t x_133;
-x_132 = lean_ctor_get(x_128, 3);
-lean_dec(x_132);
-x_133 = !lean_is_exclusive(x_129);
-if (x_133 == 0)
-{
-lean_object* x_134; uint8_t x_135;
-lean_ctor_set_uint8(x_129, sizeof(void*)*1, x_24);
-x_134 = lean_st_ref_set(x_9, x_128, x_130);
-lean_dec(x_9);
-x_135 = !lean_is_exclusive(x_134);
-if (x_135 == 0)
-{
-lean_object* x_136;
-x_136 = lean_ctor_get(x_134, 0);
-lean_dec(x_136);
-lean_ctor_set_tag(x_134, 1);
-lean_ctor_set(x_134, 0, x_123);
-return x_134;
-}
-else
-{
-lean_object* x_137; lean_object* x_138;
-x_137 = lean_ctor_get(x_134, 1);
-lean_inc(x_137);
-lean_dec(x_134);
-x_138 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_138, 0, x_123);
-lean_ctor_set(x_138, 1, x_137);
-return x_138;
-}
-}
-else
-{
-lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144;
-x_139 = lean_ctor_get(x_129, 0);
-lean_inc(x_139);
-lean_dec(x_129);
-x_140 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_140, 0, x_139);
-lean_ctor_set_uint8(x_140, sizeof(void*)*1, x_24);
-lean_ctor_set(x_128, 3, x_140);
-x_141 = lean_st_ref_set(x_9, x_128, x_130);
-lean_dec(x_9);
-x_142 = lean_ctor_get(x_141, 1);
-lean_inc(x_142);
-if (lean_is_exclusive(x_141)) {
- lean_ctor_release(x_141, 0);
- lean_ctor_release(x_141, 1);
- x_143 = x_141;
-} else {
- lean_dec_ref(x_141);
- x_143 = lean_box(0);
-}
-if (lean_is_scalar(x_143)) {
- x_144 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_144 = x_143;
- lean_ctor_set_tag(x_144, 1);
-}
-lean_ctor_set(x_144, 0, x_123);
-lean_ctor_set(x_144, 1, x_142);
-return x_144;
-}
-}
-else
-{
-lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155;
-x_145 = lean_ctor_get(x_128, 0);
-x_146 = lean_ctor_get(x_128, 1);
-x_147 = lean_ctor_get(x_128, 2);
-lean_inc(x_147);
-lean_inc(x_146);
-lean_inc(x_145);
-lean_dec(x_128);
-x_148 = lean_ctor_get(x_129, 0);
-lean_inc(x_148);
-if (lean_is_exclusive(x_129)) {
- lean_ctor_release(x_129, 0);
- x_149 = x_129;
-} else {
- lean_dec_ref(x_129);
- x_149 = lean_box(0);
-}
-if (lean_is_scalar(x_149)) {
- x_150 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_150 = x_149;
-}
-lean_ctor_set(x_150, 0, x_148);
-lean_ctor_set_uint8(x_150, sizeof(void*)*1, x_24);
-x_151 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_151, 0, x_145);
-lean_ctor_set(x_151, 1, x_146);
-lean_ctor_set(x_151, 2, x_147);
-lean_ctor_set(x_151, 3, x_150);
-x_152 = lean_st_ref_set(x_9, x_151, x_130);
-lean_dec(x_9);
-x_153 = lean_ctor_get(x_152, 1);
-lean_inc(x_153);
-if (lean_is_exclusive(x_152)) {
- lean_ctor_release(x_152, 0);
- lean_ctor_release(x_152, 1);
- x_154 = x_152;
-} else {
- lean_dec_ref(x_152);
- x_154 = lean_box(0);
-}
-if (lean_is_scalar(x_154)) {
- x_155 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_155 = x_154;
- lean_ctor_set_tag(x_155, 1);
-}
-lean_ctor_set(x_155, 0, x_123);
-lean_ctor_set(x_155, 1, x_153);
-return x_155;
-}
-}
-block_83:
-{
-lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; uint8_t x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; uint8_t x_46;
-x_37 = lean_st_ref_get(x_9, x_36);
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-x_39 = lean_ctor_get(x_37, 1);
-lean_inc(x_39);
-lean_dec(x_37);
-x_40 = lean_ctor_get(x_38, 3);
-lean_inc(x_40);
-lean_dec(x_38);
-x_41 = lean_ctor_get_uint8(x_40, sizeof(void*)*1);
-lean_dec(x_40);
-x_42 = lean_st_ref_take(x_9, x_39);
-x_43 = lean_ctor_get(x_42, 0);
-lean_inc(x_43);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-x_45 = lean_ctor_get(x_42, 1);
-lean_inc(x_45);
-lean_dec(x_42);
-x_46 = !lean_is_exclusive(x_43);
-if (x_46 == 0)
-{
-lean_object* x_47; uint8_t x_48;
-x_47 = lean_ctor_get(x_43, 3);
+lean_object* x_48; lean_object* x_49; uint8_t x_50; lean_object* x_51; lean_object* x_76; lean_object* x_77; lean_object* x_78; uint8_t x_79;
+x_48 = lean_ctor_get(x_47, 0);
+lean_inc(x_48);
+x_49 = lean_ctor_get(x_47, 1);
+lean_inc(x_49);
lean_dec(x_47);
-x_48 = !lean_is_exclusive(x_44);
-if (x_48 == 0)
+x_76 = lean_st_ref_get(x_9, x_49);
+x_77 = lean_ctor_get(x_76, 0);
+lean_inc(x_77);
+x_78 = lean_ctor_get(x_77, 3);
+lean_inc(x_78);
+lean_dec(x_77);
+x_79 = lean_ctor_get_uint8(x_78, sizeof(void*)*1);
+lean_dec(x_78);
+if (x_79 == 0)
+{
+lean_object* x_80; uint8_t x_81;
+x_80 = lean_ctor_get(x_76, 1);
+lean_inc(x_80);
+lean_dec(x_76);
+x_81 = 0;
+x_50 = x_81;
+x_51 = x_80;
+goto block_75;
+}
+else
+{
+lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; uint8_t x_86;
+x_82 = lean_ctor_get(x_76, 1);
+lean_inc(x_82);
+lean_dec(x_76);
+lean_inc(x_1);
+x_83 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_1, x_6, x_7, x_8, x_9, x_82);
+x_84 = lean_ctor_get(x_83, 0);
+lean_inc(x_84);
+x_85 = lean_ctor_get(x_83, 1);
+lean_inc(x_85);
+lean_dec(x_83);
+x_86 = lean_unbox(x_84);
+lean_dec(x_84);
+x_50 = x_86;
+x_51 = x_85;
+goto block_75;
+}
+block_75:
{
-lean_object* x_49; uint8_t x_50;
-lean_ctor_set_uint8(x_44, sizeof(void*)*1, x_24);
-x_49 = lean_st_ref_set(x_9, x_43, x_45);
-lean_dec(x_9);
-x_50 = !lean_is_exclusive(x_49);
if (x_50 == 0)
{
-lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54;
-x_51 = lean_ctor_get(x_49, 0);
-lean_dec(x_51);
-x_52 = lean_box(x_35);
-x_53 = lean_box(x_41);
-x_54 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_54, 0, x_52);
-lean_ctor_set(x_54, 1, x_53);
-lean_ctor_set(x_49, 0, x_54);
-x_11 = x_49;
-goto block_19;
+uint8_t x_52;
+lean_dec(x_4);
+lean_dec(x_3);
+x_52 = lean_unbox(x_48);
+lean_dec(x_48);
+x_29 = x_52;
+x_30 = x_51;
+goto block_38;
}
else
{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59;
-x_55 = lean_ctor_get(x_49, 1);
-lean_inc(x_55);
-lean_dec(x_49);
-x_56 = lean_box(x_35);
-x_57 = lean_box(x_41);
-x_58 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_58, 0, x_56);
-lean_ctor_set(x_58, 1, x_57);
-x_59 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_59, 0, x_58);
-lean_ctor_set(x_59, 1, x_55);
-x_11 = x_59;
-goto block_19;
+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; uint8_t x_62;
+x_53 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_53, 0, x_3);
+x_54 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_55 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_55, 0, x_54);
+lean_ctor_set(x_55, 1, x_53);
+x_56 = l_Lean_Meta_isLevelDefEqAux___closed__6;
+x_57 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_57, 0, x_55);
+lean_ctor_set(x_57, 1, x_56);
+x_58 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_58, 0, x_4);
+x_59 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_59, 0, x_57);
+lean_ctor_set(x_59, 1, x_58);
+x_60 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
+x_61 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_61, 0, x_59);
+lean_ctor_set(x_61, 1, x_60);
+x_62 = lean_unbox(x_48);
+if (x_62 == 0)
+{
+lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; uint8_t x_68;
+x_63 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
+x_64 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_64, 0, x_61);
+lean_ctor_set(x_64, 1, x_63);
+x_65 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_65, 0, x_64);
+lean_ctor_set(x_65, 1, x_54);
+lean_inc(x_1);
+x_66 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_1, x_65, x_6, x_7, x_8, x_9, x_51);
+x_67 = lean_ctor_get(x_66, 1);
+lean_inc(x_67);
+lean_dec(x_66);
+x_68 = lean_unbox(x_48);
+lean_dec(x_48);
+x_29 = x_68;
+x_30 = x_67;
+goto block_38;
+}
+else
+{
+lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; uint8_t x_74;
+x_69 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
+x_70 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_70, 0, x_61);
+lean_ctor_set(x_70, 1, x_69);
+x_71 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_71, 0, x_70);
+lean_ctor_set(x_71, 1, x_54);
+lean_inc(x_1);
+x_72 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_1, x_71, x_6, x_7, x_8, x_9, x_51);
+x_73 = lean_ctor_get(x_72, 1);
+lean_inc(x_73);
+lean_dec(x_72);
+x_74 = lean_unbox(x_48);
+lean_dec(x_48);
+x_29 = x_74;
+x_30 = x_73;
+goto block_38;
+}
+}
}
}
else
{
-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;
-x_60 = lean_ctor_get(x_44, 0);
-lean_inc(x_60);
-lean_dec(x_44);
-x_61 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_61, 0, x_60);
-lean_ctor_set_uint8(x_61, sizeof(void*)*1, x_24);
-lean_ctor_set(x_43, 3, x_61);
-x_62 = lean_st_ref_set(x_9, x_43, x_45);
+lean_object* x_87; lean_object* x_88;
+lean_dec(x_4);
+lean_dec(x_3);
+x_87 = lean_ctor_get(x_47, 0);
+lean_inc(x_87);
+x_88 = lean_ctor_get(x_47, 1);
+lean_inc(x_88);
+lean_dec(x_47);
+x_39 = x_87;
+x_40 = x_88;
+goto block_46;
+}
+block_38:
+{
+lean_object* x_31; uint8_t x_32;
+x_31 = l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_isLevelDefEq___spec__3(x_27, x_1, x_25, x_6, x_7, x_8, x_9, x_30);
lean_dec(x_9);
-x_63 = lean_ctor_get(x_62, 1);
-lean_inc(x_63);
-if (lean_is_exclusive(x_62)) {
- lean_ctor_release(x_62, 0);
- lean_ctor_release(x_62, 1);
- x_64 = x_62;
-} else {
- lean_dec_ref(x_62);
- x_64 = lean_box(0);
-}
-x_65 = lean_box(x_35);
-x_66 = lean_box(x_41);
-x_67 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_67, 0, x_65);
-lean_ctor_set(x_67, 1, x_66);
-if (lean_is_scalar(x_64)) {
- x_68 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_68 = x_64;
-}
-lean_ctor_set(x_68, 0, x_67);
-lean_ctor_set(x_68, 1, x_63);
-x_11 = x_68;
-goto block_19;
-}
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+x_32 = !lean_is_exclusive(x_31);
+if (x_32 == 0)
+{
+lean_object* x_33; lean_object* x_34;
+x_33 = lean_ctor_get(x_31, 0);
+lean_dec(x_33);
+x_34 = lean_box(x_29);
+lean_ctor_set(x_31, 0, x_34);
+return x_31;
}
else
{
-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; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82;
-x_69 = lean_ctor_get(x_43, 0);
-x_70 = lean_ctor_get(x_43, 1);
-x_71 = lean_ctor_get(x_43, 2);
-lean_inc(x_71);
-lean_inc(x_70);
-lean_inc(x_69);
+lean_object* x_35; lean_object* x_36; lean_object* x_37;
+x_35 = lean_ctor_get(x_31, 1);
+lean_inc(x_35);
+lean_dec(x_31);
+x_36 = lean_box(x_29);
+x_37 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_37, 0, x_36);
+lean_ctor_set(x_37, 1, x_35);
+return x_37;
+}
+}
+block_46:
+{
+lean_object* x_41; uint8_t x_42;
+x_41 = l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_isLevelDefEq___spec__3(x_27, x_1, x_25, x_6, x_7, x_8, x_9, x_40);
+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)
+{
+lean_object* x_43;
+x_43 = lean_ctor_get(x_41, 0);
lean_dec(x_43);
-x_72 = lean_ctor_get(x_44, 0);
-lean_inc(x_72);
-if (lean_is_exclusive(x_44)) {
- lean_ctor_release(x_44, 0);
- x_73 = x_44;
-} else {
- lean_dec_ref(x_44);
- x_73 = lean_box(0);
+lean_ctor_set_tag(x_41, 1);
+lean_ctor_set(x_41, 0, x_39);
+return x_41;
}
-if (lean_is_scalar(x_73)) {
- x_74 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_74 = x_73;
-}
-lean_ctor_set(x_74, 0, x_72);
-lean_ctor_set_uint8(x_74, sizeof(void*)*1, x_24);
-x_75 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_75, 0, x_69);
-lean_ctor_set(x_75, 1, x_70);
-lean_ctor_set(x_75, 2, x_71);
-lean_ctor_set(x_75, 3, x_74);
-x_76 = lean_st_ref_set(x_9, x_75, x_45);
-lean_dec(x_9);
-x_77 = lean_ctor_get(x_76, 1);
-lean_inc(x_77);
-if (lean_is_exclusive(x_76)) {
- lean_ctor_release(x_76, 0);
- lean_ctor_release(x_76, 1);
- x_78 = x_76;
-} else {
- lean_dec_ref(x_76);
- x_78 = lean_box(0);
-}
-x_79 = lean_box(x_35);
-x_80 = lean_box(x_41);
-x_81 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_81, 0, x_79);
-lean_ctor_set(x_81, 1, x_80);
-if (lean_is_scalar(x_78)) {
- x_82 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_82 = x_78;
-}
-lean_ctor_set(x_82, 0, x_81);
-lean_ctor_set(x_82, 1, x_77);
-x_11 = x_82;
-goto block_19;
+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;
}
}
}
else
{
-lean_object* x_156; uint8_t x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; uint8_t x_161; lean_object* x_162; lean_object* x_188;
-x_156 = lean_ctor_get(x_27, 0);
-lean_inc(x_156);
-lean_dec(x_27);
-x_157 = 0;
-x_158 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_158, 0, x_156);
-lean_ctor_set_uint8(x_158, sizeof(void*)*1, x_157);
-lean_ctor_set(x_26, 3, x_158);
-x_159 = lean_st_ref_set(x_9, x_26, x_28);
-x_160 = lean_ctor_get(x_159, 1);
-lean_inc(x_160);
-lean_dec(x_159);
+lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; uint8_t x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; uint8_t x_98;
+x_89 = lean_st_ref_get(x_9, x_10);
+x_90 = lean_ctor_get(x_89, 0);
+lean_inc(x_90);
+x_91 = lean_ctor_get(x_90, 3);
+lean_inc(x_91);
+lean_dec(x_90);
+x_92 = lean_ctor_get(x_89, 1);
+lean_inc(x_92);
+lean_dec(x_89);
+x_93 = lean_ctor_get_uint8(x_91, sizeof(void*)*1);
+lean_dec(x_91);
+x_94 = lean_st_ref_take(x_9, x_92);
+x_95 = lean_ctor_get(x_94, 0);
+lean_inc(x_95);
+x_96 = lean_ctor_get(x_95, 3);
+lean_inc(x_96);
+x_97 = lean_ctor_get(x_94, 1);
+lean_inc(x_97);
+lean_dec(x_94);
+x_98 = !lean_is_exclusive(x_95);
+if (x_98 == 0)
+{
+lean_object* x_99; uint8_t x_100;
+x_99 = lean_ctor_get(x_95, 3);
+lean_dec(x_99);
+x_100 = !lean_is_exclusive(x_96);
+if (x_100 == 0)
+{
+uint8_t x_101; lean_object* x_102; lean_object* x_103; uint8_t x_104; lean_object* x_105; lean_object* x_153; lean_object* x_154; lean_object* x_187;
+x_101 = 0;
+lean_ctor_set_uint8(x_96, sizeof(void*)*1, x_101);
+x_102 = lean_st_ref_set(x_9, x_95, x_97);
+x_103 = lean_ctor_get(x_102, 1);
+lean_inc(x_103);
+lean_dec(x_102);
lean_inc(x_9);
lean_inc(x_8);
lean_inc(x_7);
lean_inc(x_6);
-x_188 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_1, x_6, x_7, x_8, x_9, x_160);
-if (lean_obj_tag(x_188) == 0)
+x_187 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_2, x_6, x_7, x_8, x_9, x_103);
+if (lean_obj_tag(x_187) == 0)
{
-lean_object* x_189; lean_object* x_190; uint8_t x_191; lean_object* x_192; lean_object* x_217; lean_object* x_218; lean_object* x_219; uint8_t x_220;
-x_189 = lean_ctor_get(x_188, 0);
+lean_object* x_188; lean_object* x_189; uint8_t x_190; lean_object* x_191; lean_object* x_216; lean_object* x_217; lean_object* x_218; uint8_t x_219;
+x_188 = lean_ctor_get(x_187, 0);
+lean_inc(x_188);
+x_189 = lean_ctor_get(x_187, 1);
lean_inc(x_189);
-x_190 = lean_ctor_get(x_188, 1);
-lean_inc(x_190);
-lean_dec(x_188);
-x_217 = lean_st_ref_get(x_9, x_190);
-x_218 = lean_ctor_get(x_217, 0);
+lean_dec(x_187);
+x_216 = lean_st_ref_get(x_9, x_189);
+x_217 = lean_ctor_get(x_216, 0);
+lean_inc(x_217);
+x_218 = lean_ctor_get(x_217, 3);
lean_inc(x_218);
-x_219 = lean_ctor_get(x_218, 3);
-lean_inc(x_219);
+lean_dec(x_217);
+x_219 = lean_ctor_get_uint8(x_218, sizeof(void*)*1);
lean_dec(x_218);
-x_220 = lean_ctor_get_uint8(x_219, sizeof(void*)*1);
-lean_dec(x_219);
-if (x_220 == 0)
+if (x_219 == 0)
{
-lean_object* x_221;
-x_221 = lean_ctor_get(x_217, 1);
+lean_object* x_220;
+x_220 = lean_ctor_get(x_216, 1);
+lean_inc(x_220);
+lean_dec(x_216);
+x_190 = x_101;
+x_191 = x_220;
+goto block_215;
+}
+else
+{
+lean_object* x_221; lean_object* x_222; lean_object* x_223; lean_object* x_224; uint8_t x_225;
+x_221 = lean_ctor_get(x_216, 1);
lean_inc(x_221);
-lean_dec(x_217);
-x_191 = x_157;
-x_192 = x_221;
-goto block_216;
-}
-else
-{
-lean_object* x_222; lean_object* x_223; lean_object* x_224; lean_object* x_225; uint8_t x_226;
-x_222 = lean_ctor_get(x_217, 1);
-lean_inc(x_222);
-lean_dec(x_217);
-lean_inc(x_4);
-x_223 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_4, x_6, x_7, x_8, x_9, x_222);
-x_224 = lean_ctor_get(x_223, 0);
+lean_dec(x_216);
+lean_inc(x_1);
+x_222 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_1, x_6, x_7, x_8, x_9, x_221);
+x_223 = lean_ctor_get(x_222, 0);
+lean_inc(x_223);
+x_224 = lean_ctor_get(x_222, 1);
lean_inc(x_224);
-x_225 = lean_ctor_get(x_223, 1);
-lean_inc(x_225);
+lean_dec(x_222);
+x_225 = lean_unbox(x_223);
lean_dec(x_223);
-x_226 = lean_unbox(x_224);
-lean_dec(x_224);
-x_191 = x_226;
-x_192 = x_225;
-goto block_216;
+x_190 = x_225;
+x_191 = x_224;
+goto block_215;
}
-block_216:
+block_215:
{
-if (x_191 == 0)
+if (x_190 == 0)
{
-uint8_t x_193;
+uint8_t x_192;
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_4);
lean_dec(x_3);
-lean_dec(x_2);
-x_193 = lean_unbox(x_189);
-lean_dec(x_189);
-x_161 = x_193;
-x_162 = x_192;
-goto block_187;
-}
-else
-{
-lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; uint8_t x_203;
-x_194 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_194, 0, x_2);
-x_195 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_196 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_196, 0, x_195);
-lean_ctor_set(x_196, 1, x_194);
-x_197 = l_Lean_Meta_isLevelDefEqAux___closed__6;
-x_198 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_198, 0, x_196);
-lean_ctor_set(x_198, 1, x_197);
-x_199 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_199, 0, x_3);
-x_200 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_200, 0, x_198);
-lean_ctor_set(x_200, 1, x_199);
-x_201 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
-x_202 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_202, 0, x_200);
-lean_ctor_set(x_202, 1, x_201);
-x_203 = lean_unbox(x_189);
-if (x_203 == 0)
-{
-lean_object* x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; uint8_t x_209;
-x_204 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
-x_205 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_205, 0, x_202);
-lean_ctor_set(x_205, 1, x_204);
-x_206 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_206, 0, x_205);
-lean_ctor_set(x_206, 1, x_195);
-x_207 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_4, x_206, x_6, x_7, x_8, x_9, x_192);
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-x_208 = lean_ctor_get(x_207, 1);
-lean_inc(x_208);
-lean_dec(x_207);
-x_209 = lean_unbox(x_189);
-lean_dec(x_189);
-x_161 = x_209;
-x_162 = x_208;
-goto block_187;
-}
-else
-{
-lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214; uint8_t x_215;
-x_210 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
-x_211 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_211, 0, x_202);
-lean_ctor_set(x_211, 1, x_210);
-x_212 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_212, 0, x_211);
-lean_ctor_set(x_212, 1, x_195);
-x_213 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_4, x_212, x_6, x_7, x_8, x_9, x_192);
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-x_214 = lean_ctor_get(x_213, 1);
-lean_inc(x_214);
-lean_dec(x_213);
-x_215 = lean_unbox(x_189);
-lean_dec(x_189);
-x_161 = x_215;
-x_162 = x_214;
-goto block_187;
-}
-}
-}
-}
-else
-{
-lean_object* x_227; lean_object* x_228; lean_object* x_229; lean_object* x_230; lean_object* x_231; lean_object* x_232; lean_object* x_233; lean_object* x_234; lean_object* x_235; lean_object* x_236; lean_object* x_237; lean_object* x_238; lean_object* x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244; lean_object* x_245; lean_object* x_246;
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-x_227 = lean_ctor_get(x_188, 0);
-lean_inc(x_227);
-x_228 = lean_ctor_get(x_188, 1);
-lean_inc(x_228);
+lean_dec(x_1);
+x_192 = lean_unbox(x_188);
lean_dec(x_188);
-x_229 = lean_st_ref_get(x_9, x_228);
-x_230 = lean_ctor_get(x_229, 1);
-lean_inc(x_230);
-lean_dec(x_229);
-x_231 = lean_st_ref_take(x_9, x_230);
-x_232 = lean_ctor_get(x_231, 0);
-lean_inc(x_232);
-x_233 = lean_ctor_get(x_232, 3);
-lean_inc(x_233);
-x_234 = lean_ctor_get(x_231, 1);
-lean_inc(x_234);
-lean_dec(x_231);
-x_235 = lean_ctor_get(x_232, 0);
-lean_inc(x_235);
-x_236 = lean_ctor_get(x_232, 1);
-lean_inc(x_236);
-x_237 = lean_ctor_get(x_232, 2);
-lean_inc(x_237);
-if (lean_is_exclusive(x_232)) {
- lean_ctor_release(x_232, 0);
- lean_ctor_release(x_232, 1);
- lean_ctor_release(x_232, 2);
- lean_ctor_release(x_232, 3);
- x_238 = x_232;
-} else {
- lean_dec_ref(x_232);
- x_238 = lean_box(0);
+x_104 = x_192;
+x_105 = x_191;
+goto block_152;
}
-x_239 = lean_ctor_get(x_233, 0);
-lean_inc(x_239);
-if (lean_is_exclusive(x_233)) {
- lean_ctor_release(x_233, 0);
- x_240 = x_233;
-} else {
- lean_dec_ref(x_233);
- x_240 = lean_box(0);
-}
-if (lean_is_scalar(x_240)) {
- x_241 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_241 = x_240;
-}
-lean_ctor_set(x_241, 0, x_239);
-lean_ctor_set_uint8(x_241, sizeof(void*)*1, x_24);
-if (lean_is_scalar(x_238)) {
- x_242 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_242 = x_238;
-}
-lean_ctor_set(x_242, 0, x_235);
-lean_ctor_set(x_242, 1, x_236);
-lean_ctor_set(x_242, 2, x_237);
-lean_ctor_set(x_242, 3, x_241);
-x_243 = lean_st_ref_set(x_9, x_242, x_234);
-lean_dec(x_9);
-x_244 = lean_ctor_get(x_243, 1);
-lean_inc(x_244);
-if (lean_is_exclusive(x_243)) {
- lean_ctor_release(x_243, 0);
- lean_ctor_release(x_243, 1);
- x_245 = x_243;
-} else {
- lean_dec_ref(x_243);
- x_245 = lean_box(0);
-}
-if (lean_is_scalar(x_245)) {
- x_246 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_246 = x_245;
- lean_ctor_set_tag(x_246, 1);
-}
-lean_ctor_set(x_246, 0, x_227);
-lean_ctor_set(x_246, 1, x_244);
-return x_246;
-}
-block_187:
+else
{
-lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; uint8_t x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186;
-x_163 = lean_st_ref_get(x_9, x_162);
-x_164 = lean_ctor_get(x_163, 0);
-lean_inc(x_164);
-x_165 = lean_ctor_get(x_163, 1);
-lean_inc(x_165);
-lean_dec(x_163);
-x_166 = lean_ctor_get(x_164, 3);
-lean_inc(x_166);
-lean_dec(x_164);
-x_167 = lean_ctor_get_uint8(x_166, sizeof(void*)*1);
-lean_dec(x_166);
-x_168 = lean_st_ref_take(x_9, x_165);
-x_169 = lean_ctor_get(x_168, 0);
-lean_inc(x_169);
-x_170 = lean_ctor_get(x_169, 3);
-lean_inc(x_170);
-x_171 = lean_ctor_get(x_168, 1);
-lean_inc(x_171);
-lean_dec(x_168);
-x_172 = lean_ctor_get(x_169, 0);
-lean_inc(x_172);
-x_173 = lean_ctor_get(x_169, 1);
-lean_inc(x_173);
-x_174 = lean_ctor_get(x_169, 2);
-lean_inc(x_174);
-if (lean_is_exclusive(x_169)) {
- lean_ctor_release(x_169, 0);
- lean_ctor_release(x_169, 1);
- lean_ctor_release(x_169, 2);
- lean_ctor_release(x_169, 3);
- x_175 = x_169;
-} else {
- lean_dec_ref(x_169);
- x_175 = lean_box(0);
+lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; uint8_t x_202;
+x_193 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_193, 0, x_3);
+x_194 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_195 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_195, 0, x_194);
+lean_ctor_set(x_195, 1, x_193);
+x_196 = l_Lean_Meta_isLevelDefEqAux___closed__6;
+x_197 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_197, 0, x_195);
+lean_ctor_set(x_197, 1, x_196);
+x_198 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_198, 0, x_4);
+x_199 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_199, 0, x_197);
+lean_ctor_set(x_199, 1, x_198);
+x_200 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
+x_201 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_201, 0, x_199);
+lean_ctor_set(x_201, 1, x_200);
+x_202 = lean_unbox(x_188);
+if (x_202 == 0)
+{
+lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207; uint8_t x_208;
+x_203 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
+x_204 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_204, 0, x_201);
+lean_ctor_set(x_204, 1, x_203);
+x_205 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_205, 0, x_204);
+lean_ctor_set(x_205, 1, x_194);
+x_206 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_1, x_205, x_6, x_7, x_8, x_9, x_191);
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+x_207 = lean_ctor_get(x_206, 1);
+lean_inc(x_207);
+lean_dec(x_206);
+x_208 = lean_unbox(x_188);
+lean_dec(x_188);
+x_104 = x_208;
+x_105 = x_207;
+goto block_152;
}
-x_176 = lean_ctor_get(x_170, 0);
-lean_inc(x_176);
-if (lean_is_exclusive(x_170)) {
- lean_ctor_release(x_170, 0);
- x_177 = x_170;
-} else {
- lean_dec_ref(x_170);
- x_177 = lean_box(0);
+else
+{
+lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; uint8_t x_214;
+x_209 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
+x_210 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_210, 0, x_201);
+lean_ctor_set(x_210, 1, x_209);
+x_211 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_211, 0, x_210);
+lean_ctor_set(x_211, 1, x_194);
+x_212 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_1, x_211, x_6, x_7, x_8, x_9, x_191);
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+x_213 = lean_ctor_get(x_212, 1);
+lean_inc(x_213);
+lean_dec(x_212);
+x_214 = lean_unbox(x_188);
+lean_dec(x_188);
+x_104 = x_214;
+x_105 = x_213;
+goto block_152;
}
-if (lean_is_scalar(x_177)) {
- x_178 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_178 = x_177;
-}
-lean_ctor_set(x_178, 0, x_176);
-lean_ctor_set_uint8(x_178, sizeof(void*)*1, x_24);
-if (lean_is_scalar(x_175)) {
- x_179 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_179 = x_175;
-}
-lean_ctor_set(x_179, 0, x_172);
-lean_ctor_set(x_179, 1, x_173);
-lean_ctor_set(x_179, 2, x_174);
-lean_ctor_set(x_179, 3, x_178);
-x_180 = lean_st_ref_set(x_9, x_179, x_171);
-lean_dec(x_9);
-x_181 = lean_ctor_get(x_180, 1);
-lean_inc(x_181);
-if (lean_is_exclusive(x_180)) {
- lean_ctor_release(x_180, 0);
- lean_ctor_release(x_180, 1);
- x_182 = x_180;
-} else {
- lean_dec_ref(x_180);
- x_182 = lean_box(0);
-}
-x_183 = lean_box(x_161);
-x_184 = lean_box(x_167);
-x_185 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_185, 0, x_183);
-lean_ctor_set(x_185, 1, x_184);
-if (lean_is_scalar(x_182)) {
- x_186 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_186 = x_182;
-}
-lean_ctor_set(x_186, 0, x_185);
-lean_ctor_set(x_186, 1, x_181);
-x_11 = x_186;
-goto block_19;
}
}
}
else
{
-lean_object* x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; uint8_t x_252; lean_object* x_253; lean_object* x_254; lean_object* x_255; lean_object* x_256; uint8_t x_257; lean_object* x_258; lean_object* x_284;
-x_247 = lean_ctor_get(x_26, 0);
-x_248 = lean_ctor_get(x_26, 1);
-x_249 = lean_ctor_get(x_26, 2);
-lean_inc(x_249);
-lean_inc(x_248);
-lean_inc(x_247);
-lean_dec(x_26);
-x_250 = lean_ctor_get(x_27, 0);
-lean_inc(x_250);
-if (lean_is_exclusive(x_27)) {
- lean_ctor_release(x_27, 0);
- x_251 = x_27;
-} else {
- lean_dec_ref(x_27);
- x_251 = lean_box(0);
+lean_object* x_226; lean_object* x_227;
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_1);
+x_226 = lean_ctor_get(x_187, 0);
+lean_inc(x_226);
+x_227 = lean_ctor_get(x_187, 1);
+lean_inc(x_227);
+lean_dec(x_187);
+x_153 = x_226;
+x_154 = x_227;
+goto block_186;
}
-x_252 = 0;
-if (lean_is_scalar(x_251)) {
- x_253 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_253 = x_251;
+block_152:
+{
+lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; uint8_t x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; uint8_t x_115;
+x_106 = lean_st_ref_get(x_9, x_105);
+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_ctor_get(x_107, 3);
+lean_inc(x_109);
+lean_dec(x_107);
+x_110 = lean_ctor_get_uint8(x_109, sizeof(void*)*1);
+lean_dec(x_109);
+x_111 = lean_st_ref_take(x_9, x_108);
+x_112 = lean_ctor_get(x_111, 0);
+lean_inc(x_112);
+x_113 = lean_ctor_get(x_112, 3);
+lean_inc(x_113);
+x_114 = lean_ctor_get(x_111, 1);
+lean_inc(x_114);
+lean_dec(x_111);
+x_115 = !lean_is_exclusive(x_112);
+if (x_115 == 0)
+{
+lean_object* x_116; uint8_t x_117;
+x_116 = lean_ctor_get(x_112, 3);
+lean_dec(x_116);
+x_117 = !lean_is_exclusive(x_113);
+if (x_117 == 0)
+{
+lean_object* x_118; uint8_t x_119;
+lean_ctor_set_uint8(x_113, sizeof(void*)*1, x_93);
+x_118 = lean_st_ref_set(x_9, x_112, x_114);
+lean_dec(x_9);
+x_119 = !lean_is_exclusive(x_118);
+if (x_119 == 0)
+{
+lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123;
+x_120 = lean_ctor_get(x_118, 0);
+lean_dec(x_120);
+x_121 = lean_box(x_104);
+x_122 = lean_box(x_110);
+x_123 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_123, 0, x_121);
+lean_ctor_set(x_123, 1, x_122);
+lean_ctor_set(x_118, 0, x_123);
+x_11 = x_118;
+goto block_23;
}
-lean_ctor_set(x_253, 0, x_250);
-lean_ctor_set_uint8(x_253, sizeof(void*)*1, x_252);
-x_254 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_254, 0, x_247);
-lean_ctor_set(x_254, 1, x_248);
-lean_ctor_set(x_254, 2, x_249);
-lean_ctor_set(x_254, 3, x_253);
-x_255 = lean_st_ref_set(x_9, x_254, x_28);
-x_256 = lean_ctor_get(x_255, 1);
-lean_inc(x_256);
-lean_dec(x_255);
+else
+{
+lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128;
+x_124 = lean_ctor_get(x_118, 1);
+lean_inc(x_124);
+lean_dec(x_118);
+x_125 = lean_box(x_104);
+x_126 = lean_box(x_110);
+x_127 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_127, 0, x_125);
+lean_ctor_set(x_127, 1, x_126);
+x_128 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_128, 0, x_127);
+lean_ctor_set(x_128, 1, x_124);
+x_11 = x_128;
+goto block_23;
+}
+}
+else
+{
+lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137;
+x_129 = lean_ctor_get(x_113, 0);
+lean_inc(x_129);
+lean_dec(x_113);
+x_130 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_130, 0, x_129);
+lean_ctor_set_uint8(x_130, sizeof(void*)*1, x_93);
+lean_ctor_set(x_112, 3, x_130);
+x_131 = lean_st_ref_set(x_9, x_112, x_114);
+lean_dec(x_9);
+x_132 = lean_ctor_get(x_131, 1);
+lean_inc(x_132);
+if (lean_is_exclusive(x_131)) {
+ lean_ctor_release(x_131, 0);
+ lean_ctor_release(x_131, 1);
+ x_133 = x_131;
+} else {
+ lean_dec_ref(x_131);
+ x_133 = lean_box(0);
+}
+x_134 = lean_box(x_104);
+x_135 = lean_box(x_110);
+x_136 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_136, 0, x_134);
+lean_ctor_set(x_136, 1, x_135);
+if (lean_is_scalar(x_133)) {
+ x_137 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_137 = x_133;
+}
+lean_ctor_set(x_137, 0, x_136);
+lean_ctor_set(x_137, 1, x_132);
+x_11 = x_137;
+goto block_23;
+}
+}
+else
+{
+lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151;
+x_138 = lean_ctor_get(x_112, 0);
+x_139 = lean_ctor_get(x_112, 1);
+x_140 = lean_ctor_get(x_112, 2);
+lean_inc(x_140);
+lean_inc(x_139);
+lean_inc(x_138);
+lean_dec(x_112);
+x_141 = lean_ctor_get(x_113, 0);
+lean_inc(x_141);
+if (lean_is_exclusive(x_113)) {
+ lean_ctor_release(x_113, 0);
+ x_142 = x_113;
+} else {
+ lean_dec_ref(x_113);
+ x_142 = lean_box(0);
+}
+if (lean_is_scalar(x_142)) {
+ x_143 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_143 = x_142;
+}
+lean_ctor_set(x_143, 0, x_141);
+lean_ctor_set_uint8(x_143, sizeof(void*)*1, x_93);
+x_144 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_144, 0, x_138);
+lean_ctor_set(x_144, 1, x_139);
+lean_ctor_set(x_144, 2, x_140);
+lean_ctor_set(x_144, 3, x_143);
+x_145 = lean_st_ref_set(x_9, x_144, x_114);
+lean_dec(x_9);
+x_146 = lean_ctor_get(x_145, 1);
+lean_inc(x_146);
+if (lean_is_exclusive(x_145)) {
+ lean_ctor_release(x_145, 0);
+ lean_ctor_release(x_145, 1);
+ x_147 = x_145;
+} else {
+ lean_dec_ref(x_145);
+ x_147 = lean_box(0);
+}
+x_148 = lean_box(x_104);
+x_149 = lean_box(x_110);
+x_150 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_150, 0, x_148);
+lean_ctor_set(x_150, 1, x_149);
+if (lean_is_scalar(x_147)) {
+ x_151 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_151 = x_147;
+}
+lean_ctor_set(x_151, 0, x_150);
+lean_ctor_set(x_151, 1, x_146);
+x_11 = x_151;
+goto block_23;
+}
+}
+block_186:
+{
+lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; uint8_t x_161;
+x_155 = lean_st_ref_get(x_9, x_154);
+x_156 = lean_ctor_get(x_155, 1);
+lean_inc(x_156);
+lean_dec(x_155);
+x_157 = lean_st_ref_take(x_9, x_156);
+x_158 = lean_ctor_get(x_157, 0);
+lean_inc(x_158);
+x_159 = lean_ctor_get(x_158, 3);
+lean_inc(x_159);
+x_160 = lean_ctor_get(x_157, 1);
+lean_inc(x_160);
+lean_dec(x_157);
+x_161 = !lean_is_exclusive(x_158);
+if (x_161 == 0)
+{
+lean_object* x_162; uint8_t x_163;
+x_162 = lean_ctor_get(x_158, 3);
+lean_dec(x_162);
+x_163 = !lean_is_exclusive(x_159);
+if (x_163 == 0)
+{
+lean_object* x_164; uint8_t x_165;
+lean_ctor_set_uint8(x_159, sizeof(void*)*1, x_93);
+x_164 = lean_st_ref_set(x_9, x_158, x_160);
+lean_dec(x_9);
+x_165 = !lean_is_exclusive(x_164);
+if (x_165 == 0)
+{
+lean_object* x_166;
+x_166 = lean_ctor_get(x_164, 0);
+lean_dec(x_166);
+lean_ctor_set_tag(x_164, 1);
+lean_ctor_set(x_164, 0, x_153);
+x_11 = x_164;
+goto block_23;
+}
+else
+{
+lean_object* x_167; lean_object* x_168;
+x_167 = lean_ctor_get(x_164, 1);
+lean_inc(x_167);
+lean_dec(x_164);
+x_168 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_168, 0, x_153);
+lean_ctor_set(x_168, 1, x_167);
+x_11 = x_168;
+goto block_23;
+}
+}
+else
+{
+lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174;
+x_169 = lean_ctor_get(x_159, 0);
+lean_inc(x_169);
+lean_dec(x_159);
+x_170 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_170, 0, x_169);
+lean_ctor_set_uint8(x_170, sizeof(void*)*1, x_93);
+lean_ctor_set(x_158, 3, x_170);
+x_171 = lean_st_ref_set(x_9, x_158, x_160);
+lean_dec(x_9);
+x_172 = lean_ctor_get(x_171, 1);
+lean_inc(x_172);
+if (lean_is_exclusive(x_171)) {
+ lean_ctor_release(x_171, 0);
+ lean_ctor_release(x_171, 1);
+ x_173 = x_171;
+} else {
+ lean_dec_ref(x_171);
+ x_173 = lean_box(0);
+}
+if (lean_is_scalar(x_173)) {
+ x_174 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_174 = x_173;
+ lean_ctor_set_tag(x_174, 1);
+}
+lean_ctor_set(x_174, 0, x_153);
+lean_ctor_set(x_174, 1, x_172);
+x_11 = x_174;
+goto block_23;
+}
+}
+else
+{
+lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185;
+x_175 = lean_ctor_get(x_158, 0);
+x_176 = lean_ctor_get(x_158, 1);
+x_177 = lean_ctor_get(x_158, 2);
+lean_inc(x_177);
+lean_inc(x_176);
+lean_inc(x_175);
+lean_dec(x_158);
+x_178 = lean_ctor_get(x_159, 0);
+lean_inc(x_178);
+if (lean_is_exclusive(x_159)) {
+ lean_ctor_release(x_159, 0);
+ x_179 = x_159;
+} else {
+ lean_dec_ref(x_159);
+ x_179 = lean_box(0);
+}
+if (lean_is_scalar(x_179)) {
+ x_180 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_180 = x_179;
+}
+lean_ctor_set(x_180, 0, x_178);
+lean_ctor_set_uint8(x_180, sizeof(void*)*1, x_93);
+x_181 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_181, 0, x_175);
+lean_ctor_set(x_181, 1, x_176);
+lean_ctor_set(x_181, 2, x_177);
+lean_ctor_set(x_181, 3, x_180);
+x_182 = lean_st_ref_set(x_9, x_181, x_160);
+lean_dec(x_9);
+x_183 = lean_ctor_get(x_182, 1);
+lean_inc(x_183);
+if (lean_is_exclusive(x_182)) {
+ lean_ctor_release(x_182, 0);
+ lean_ctor_release(x_182, 1);
+ x_184 = x_182;
+} else {
+ lean_dec_ref(x_182);
+ x_184 = lean_box(0);
+}
+if (lean_is_scalar(x_184)) {
+ x_185 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_185 = x_184;
+ lean_ctor_set_tag(x_185, 1);
+}
+lean_ctor_set(x_185, 0, x_153);
+lean_ctor_set(x_185, 1, x_183);
+x_11 = x_185;
+goto block_23;
+}
+}
+}
+else
+{
+lean_object* x_228; uint8_t x_229; lean_object* x_230; lean_object* x_231; lean_object* x_232; uint8_t x_233; lean_object* x_234; lean_object* x_260; lean_object* x_261; lean_object* x_281;
+x_228 = lean_ctor_get(x_96, 0);
+lean_inc(x_228);
+lean_dec(x_96);
+x_229 = 0;
+x_230 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_230, 0, x_228);
+lean_ctor_set_uint8(x_230, sizeof(void*)*1, x_229);
+lean_ctor_set(x_95, 3, x_230);
+x_231 = lean_st_ref_set(x_9, x_95, x_97);
+x_232 = lean_ctor_get(x_231, 1);
+lean_inc(x_232);
+lean_dec(x_231);
lean_inc(x_9);
lean_inc(x_8);
lean_inc(x_7);
lean_inc(x_6);
-x_284 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_1, x_6, x_7, x_8, x_9, x_256);
-if (lean_obj_tag(x_284) == 0)
+x_281 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_2, x_6, x_7, x_8, x_9, x_232);
+if (lean_obj_tag(x_281) == 0)
{
-lean_object* x_285; lean_object* x_286; uint8_t x_287; lean_object* x_288; lean_object* x_313; lean_object* x_314; lean_object* x_315; uint8_t x_316;
-x_285 = lean_ctor_get(x_284, 0);
-lean_inc(x_285);
-x_286 = lean_ctor_get(x_284, 1);
-lean_inc(x_286);
-lean_dec(x_284);
-x_313 = lean_st_ref_get(x_9, x_286);
-x_314 = lean_ctor_get(x_313, 0);
+lean_object* x_282; lean_object* x_283; uint8_t x_284; lean_object* x_285; lean_object* x_310; lean_object* x_311; lean_object* x_312; uint8_t x_313;
+x_282 = lean_ctor_get(x_281, 0);
+lean_inc(x_282);
+x_283 = lean_ctor_get(x_281, 1);
+lean_inc(x_283);
+lean_dec(x_281);
+x_310 = lean_st_ref_get(x_9, x_283);
+x_311 = lean_ctor_get(x_310, 0);
+lean_inc(x_311);
+x_312 = lean_ctor_get(x_311, 3);
+lean_inc(x_312);
+lean_dec(x_311);
+x_313 = lean_ctor_get_uint8(x_312, sizeof(void*)*1);
+lean_dec(x_312);
+if (x_313 == 0)
+{
+lean_object* x_314;
+x_314 = lean_ctor_get(x_310, 1);
lean_inc(x_314);
-x_315 = lean_ctor_get(x_314, 3);
+lean_dec(x_310);
+x_284 = x_229;
+x_285 = x_314;
+goto block_309;
+}
+else
+{
+lean_object* x_315; lean_object* x_316; lean_object* x_317; lean_object* x_318; uint8_t x_319;
+x_315 = lean_ctor_get(x_310, 1);
lean_inc(x_315);
-lean_dec(x_314);
-x_316 = lean_ctor_get_uint8(x_315, sizeof(void*)*1);
-lean_dec(x_315);
-if (x_316 == 0)
-{
-lean_object* x_317;
-x_317 = lean_ctor_get(x_313, 1);
+lean_dec(x_310);
+lean_inc(x_1);
+x_316 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_1, x_6, x_7, x_8, x_9, x_315);
+x_317 = lean_ctor_get(x_316, 0);
lean_inc(x_317);
-lean_dec(x_313);
-x_287 = x_252;
-x_288 = x_317;
-goto block_312;
-}
-else
-{
-lean_object* x_318; lean_object* x_319; lean_object* x_320; lean_object* x_321; uint8_t x_322;
-x_318 = lean_ctor_get(x_313, 1);
+x_318 = lean_ctor_get(x_316, 1);
lean_inc(x_318);
-lean_dec(x_313);
-lean_inc(x_4);
-x_319 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_4, x_6, x_7, x_8, x_9, x_318);
-x_320 = lean_ctor_get(x_319, 0);
-lean_inc(x_320);
-x_321 = lean_ctor_get(x_319, 1);
-lean_inc(x_321);
-lean_dec(x_319);
-x_322 = lean_unbox(x_320);
-lean_dec(x_320);
-x_287 = x_322;
-x_288 = x_321;
-goto block_312;
+lean_dec(x_316);
+x_319 = lean_unbox(x_317);
+lean_dec(x_317);
+x_284 = x_319;
+x_285 = x_318;
+goto block_309;
}
-block_312:
+block_309:
{
-if (x_287 == 0)
+if (x_284 == 0)
{
-uint8_t x_289;
+uint8_t x_286;
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_4);
lean_dec(x_3);
-lean_dec(x_2);
-x_289 = lean_unbox(x_285);
-lean_dec(x_285);
-x_257 = x_289;
-x_258 = x_288;
-goto block_283;
+lean_dec(x_1);
+x_286 = lean_unbox(x_282);
+lean_dec(x_282);
+x_233 = x_286;
+x_234 = x_285;
+goto block_259;
}
else
{
-lean_object* x_290; lean_object* x_291; lean_object* x_292; lean_object* x_293; lean_object* x_294; lean_object* x_295; lean_object* x_296; lean_object* x_297; lean_object* x_298; uint8_t x_299;
-x_290 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_290, 0, x_2);
-x_291 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_292 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_292, 0, x_291);
-lean_ctor_set(x_292, 1, x_290);
-x_293 = l_Lean_Meta_isLevelDefEqAux___closed__6;
-x_294 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_294, 0, x_292);
-lean_ctor_set(x_294, 1, x_293);
-x_295 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_295, 0, x_3);
-x_296 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_296, 0, x_294);
-lean_ctor_set(x_296, 1, x_295);
-x_297 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
+lean_object* x_287; lean_object* x_288; lean_object* x_289; lean_object* x_290; lean_object* x_291; lean_object* x_292; lean_object* x_293; lean_object* x_294; lean_object* x_295; uint8_t x_296;
+x_287 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_287, 0, x_3);
+x_288 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_289 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_289, 0, x_288);
+lean_ctor_set(x_289, 1, x_287);
+x_290 = l_Lean_Meta_isLevelDefEqAux___closed__6;
+x_291 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_291, 0, x_289);
+lean_ctor_set(x_291, 1, x_290);
+x_292 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_292, 0, x_4);
+x_293 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_293, 0, x_291);
+lean_ctor_set(x_293, 1, x_292);
+x_294 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
+x_295 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_295, 0, x_293);
+lean_ctor_set(x_295, 1, x_294);
+x_296 = lean_unbox(x_282);
+if (x_296 == 0)
+{
+lean_object* x_297; lean_object* x_298; lean_object* x_299; lean_object* x_300; lean_object* x_301; uint8_t x_302;
+x_297 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
x_298 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_298, 0, x_296);
+lean_ctor_set(x_298, 0, x_295);
lean_ctor_set(x_298, 1, x_297);
-x_299 = lean_unbox(x_285);
-if (x_299 == 0)
-{
-lean_object* x_300; lean_object* x_301; lean_object* x_302; lean_object* x_303; lean_object* x_304; uint8_t x_305;
-x_300 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
-x_301 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_301, 0, x_298);
-lean_ctor_set(x_301, 1, x_300);
-x_302 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_302, 0, x_301);
-lean_ctor_set(x_302, 1, x_291);
-x_303 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_4, x_302, x_6, x_7, x_8, x_9, x_288);
+x_299 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_299, 0, x_298);
+lean_ctor_set(x_299, 1, x_288);
+x_300 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_1, x_299, x_6, x_7, x_8, x_9, x_285);
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
-x_304 = lean_ctor_get(x_303, 1);
-lean_inc(x_304);
-lean_dec(x_303);
-x_305 = lean_unbox(x_285);
-lean_dec(x_285);
-x_257 = x_305;
-x_258 = x_304;
-goto block_283;
+x_301 = lean_ctor_get(x_300, 1);
+lean_inc(x_301);
+lean_dec(x_300);
+x_302 = lean_unbox(x_282);
+lean_dec(x_282);
+x_233 = x_302;
+x_234 = x_301;
+goto block_259;
}
else
{
-lean_object* x_306; lean_object* x_307; lean_object* x_308; lean_object* x_309; lean_object* x_310; uint8_t x_311;
-x_306 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
-x_307 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_307, 0, x_298);
-lean_ctor_set(x_307, 1, x_306);
-x_308 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_308, 0, x_307);
-lean_ctor_set(x_308, 1, x_291);
-x_309 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_4, x_308, x_6, x_7, x_8, x_9, x_288);
+lean_object* x_303; lean_object* x_304; lean_object* x_305; lean_object* x_306; lean_object* x_307; uint8_t x_308;
+x_303 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
+x_304 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_304, 0, x_295);
+lean_ctor_set(x_304, 1, x_303);
+x_305 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_305, 0, x_304);
+lean_ctor_set(x_305, 1, x_288);
+x_306 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_1, x_305, x_6, x_7, x_8, x_9, x_285);
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
-x_310 = lean_ctor_get(x_309, 1);
-lean_inc(x_310);
-lean_dec(x_309);
-x_311 = lean_unbox(x_285);
-lean_dec(x_285);
-x_257 = x_311;
-x_258 = x_310;
-goto block_283;
+x_307 = lean_ctor_get(x_306, 1);
+lean_inc(x_307);
+lean_dec(x_306);
+x_308 = lean_unbox(x_282);
+lean_dec(x_282);
+x_233 = x_308;
+x_234 = x_307;
+goto block_259;
}
}
}
}
else
{
-lean_object* x_323; lean_object* x_324; lean_object* x_325; lean_object* x_326; lean_object* x_327; lean_object* x_328; lean_object* x_329; lean_object* x_330; lean_object* x_331; lean_object* x_332; lean_object* x_333; lean_object* x_334; lean_object* x_335; lean_object* x_336; lean_object* x_337; lean_object* x_338; lean_object* x_339; lean_object* x_340; lean_object* x_341; lean_object* x_342;
+lean_object* x_320; lean_object* x_321;
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_4);
lean_dec(x_3);
-lean_dec(x_2);
-x_323 = lean_ctor_get(x_284, 0);
-lean_inc(x_323);
-x_324 = lean_ctor_get(x_284, 1);
-lean_inc(x_324);
-lean_dec(x_284);
-x_325 = lean_st_ref_get(x_9, x_324);
-x_326 = lean_ctor_get(x_325, 1);
-lean_inc(x_326);
-lean_dec(x_325);
-x_327 = lean_st_ref_take(x_9, x_326);
-x_328 = lean_ctor_get(x_327, 0);
-lean_inc(x_328);
-x_329 = lean_ctor_get(x_328, 3);
-lean_inc(x_329);
-x_330 = lean_ctor_get(x_327, 1);
-lean_inc(x_330);
-lean_dec(x_327);
-x_331 = lean_ctor_get(x_328, 0);
-lean_inc(x_331);
-x_332 = lean_ctor_get(x_328, 1);
-lean_inc(x_332);
-x_333 = lean_ctor_get(x_328, 2);
-lean_inc(x_333);
-if (lean_is_exclusive(x_328)) {
- lean_ctor_release(x_328, 0);
- lean_ctor_release(x_328, 1);
- lean_ctor_release(x_328, 2);
- lean_ctor_release(x_328, 3);
- x_334 = x_328;
-} else {
- lean_dec_ref(x_328);
- x_334 = lean_box(0);
+lean_dec(x_1);
+x_320 = lean_ctor_get(x_281, 0);
+lean_inc(x_320);
+x_321 = lean_ctor_get(x_281, 1);
+lean_inc(x_321);
+lean_dec(x_281);
+x_260 = x_320;
+x_261 = x_321;
+goto block_280;
}
-x_335 = lean_ctor_get(x_329, 0);
-lean_inc(x_335);
-if (lean_is_exclusive(x_329)) {
- lean_ctor_release(x_329, 0);
- x_336 = x_329;
-} else {
- lean_dec_ref(x_329);
- x_336 = lean_box(0);
-}
-if (lean_is_scalar(x_336)) {
- x_337 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_337 = x_336;
-}
-lean_ctor_set(x_337, 0, x_335);
-lean_ctor_set_uint8(x_337, sizeof(void*)*1, x_24);
-if (lean_is_scalar(x_334)) {
- x_338 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_338 = x_334;
-}
-lean_ctor_set(x_338, 0, x_331);
-lean_ctor_set(x_338, 1, x_332);
-lean_ctor_set(x_338, 2, x_333);
-lean_ctor_set(x_338, 3, x_337);
-x_339 = lean_st_ref_set(x_9, x_338, x_330);
-lean_dec(x_9);
-x_340 = lean_ctor_get(x_339, 1);
-lean_inc(x_340);
-if (lean_is_exclusive(x_339)) {
- lean_ctor_release(x_339, 0);
- lean_ctor_release(x_339, 1);
- x_341 = x_339;
-} else {
- lean_dec_ref(x_339);
- x_341 = lean_box(0);
-}
-if (lean_is_scalar(x_341)) {
- x_342 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_342 = x_341;
- lean_ctor_set_tag(x_342, 1);
-}
-lean_ctor_set(x_342, 0, x_323);
-lean_ctor_set(x_342, 1, x_340);
-return x_342;
-}
-block_283:
+block_259:
{
-lean_object* x_259; lean_object* x_260; lean_object* x_261; lean_object* x_262; uint8_t x_263; lean_object* x_264; lean_object* x_265; lean_object* x_266; lean_object* x_267; lean_object* x_268; lean_object* x_269; lean_object* x_270; lean_object* x_271; lean_object* x_272; lean_object* x_273; lean_object* x_274; lean_object* x_275; lean_object* x_276; lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; lean_object* x_281; lean_object* x_282;
-x_259 = lean_st_ref_get(x_9, x_258);
-x_260 = lean_ctor_get(x_259, 0);
-lean_inc(x_260);
-x_261 = lean_ctor_get(x_259, 1);
-lean_inc(x_261);
-lean_dec(x_259);
-x_262 = lean_ctor_get(x_260, 3);
-lean_inc(x_262);
-lean_dec(x_260);
-x_263 = lean_ctor_get_uint8(x_262, sizeof(void*)*1);
+lean_object* x_235; lean_object* x_236; lean_object* x_237; lean_object* x_238; uint8_t x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244; lean_object* x_245; lean_object* x_246; lean_object* x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253; lean_object* x_254; lean_object* x_255; lean_object* x_256; lean_object* x_257; lean_object* x_258;
+x_235 = lean_st_ref_get(x_9, x_234);
+x_236 = lean_ctor_get(x_235, 0);
+lean_inc(x_236);
+x_237 = lean_ctor_get(x_235, 1);
+lean_inc(x_237);
+lean_dec(x_235);
+x_238 = lean_ctor_get(x_236, 3);
+lean_inc(x_238);
+lean_dec(x_236);
+x_239 = lean_ctor_get_uint8(x_238, sizeof(void*)*1);
+lean_dec(x_238);
+x_240 = lean_st_ref_take(x_9, x_237);
+x_241 = lean_ctor_get(x_240, 0);
+lean_inc(x_241);
+x_242 = lean_ctor_get(x_241, 3);
+lean_inc(x_242);
+x_243 = lean_ctor_get(x_240, 1);
+lean_inc(x_243);
+lean_dec(x_240);
+x_244 = lean_ctor_get(x_241, 0);
+lean_inc(x_244);
+x_245 = lean_ctor_get(x_241, 1);
+lean_inc(x_245);
+x_246 = lean_ctor_get(x_241, 2);
+lean_inc(x_246);
+if (lean_is_exclusive(x_241)) {
+ lean_ctor_release(x_241, 0);
+ lean_ctor_release(x_241, 1);
+ lean_ctor_release(x_241, 2);
+ lean_ctor_release(x_241, 3);
+ x_247 = x_241;
+} else {
+ lean_dec_ref(x_241);
+ x_247 = lean_box(0);
+}
+x_248 = lean_ctor_get(x_242, 0);
+lean_inc(x_248);
+if (lean_is_exclusive(x_242)) {
+ lean_ctor_release(x_242, 0);
+ x_249 = x_242;
+} else {
+ lean_dec_ref(x_242);
+ x_249 = lean_box(0);
+}
+if (lean_is_scalar(x_249)) {
+ x_250 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_250 = x_249;
+}
+lean_ctor_set(x_250, 0, x_248);
+lean_ctor_set_uint8(x_250, sizeof(void*)*1, x_93);
+if (lean_is_scalar(x_247)) {
+ x_251 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_251 = x_247;
+}
+lean_ctor_set(x_251, 0, x_244);
+lean_ctor_set(x_251, 1, x_245);
+lean_ctor_set(x_251, 2, x_246);
+lean_ctor_set(x_251, 3, x_250);
+x_252 = lean_st_ref_set(x_9, x_251, x_243);
+lean_dec(x_9);
+x_253 = lean_ctor_get(x_252, 1);
+lean_inc(x_253);
+if (lean_is_exclusive(x_252)) {
+ lean_ctor_release(x_252, 0);
+ lean_ctor_release(x_252, 1);
+ x_254 = x_252;
+} else {
+ lean_dec_ref(x_252);
+ x_254 = lean_box(0);
+}
+x_255 = lean_box(x_233);
+x_256 = lean_box(x_239);
+x_257 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_257, 0, x_255);
+lean_ctor_set(x_257, 1, x_256);
+if (lean_is_scalar(x_254)) {
+ x_258 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_258 = x_254;
+}
+lean_ctor_set(x_258, 0, x_257);
+lean_ctor_set(x_258, 1, x_253);
+x_11 = x_258;
+goto block_23;
+}
+block_280:
+{
+lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265; lean_object* x_266; lean_object* x_267; lean_object* x_268; lean_object* x_269; lean_object* x_270; lean_object* x_271; lean_object* x_272; lean_object* x_273; lean_object* x_274; lean_object* x_275; lean_object* x_276; lean_object* x_277; lean_object* x_278; lean_object* x_279;
+x_262 = lean_st_ref_get(x_9, x_261);
+x_263 = lean_ctor_get(x_262, 1);
+lean_inc(x_263);
lean_dec(x_262);
-x_264 = lean_st_ref_take(x_9, x_261);
+x_264 = lean_st_ref_take(x_9, x_263);
x_265 = lean_ctor_get(x_264, 0);
lean_inc(x_265);
x_266 = lean_ctor_get(x_265, 3);
@@ -20993,7 +20890,7 @@ if (lean_is_scalar(x_273)) {
x_274 = x_273;
}
lean_ctor_set(x_274, 0, x_272);
-lean_ctor_set_uint8(x_274, sizeof(void*)*1, x_24);
+lean_ctor_set_uint8(x_274, sizeof(void*)*1, x_93);
if (lean_is_scalar(x_271)) {
x_275 = lean_alloc_ctor(0, 4, 0);
} else {
@@ -21015,264 +20912,382 @@ if (lean_is_exclusive(x_276)) {
lean_dec_ref(x_276);
x_278 = lean_box(0);
}
-x_279 = lean_box(x_257);
-x_280 = lean_box(x_263);
-x_281 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_281, 0, x_279);
-lean_ctor_set(x_281, 1, x_280);
if (lean_is_scalar(x_278)) {
- x_282 = lean_alloc_ctor(0, 2, 0);
+ x_279 = lean_alloc_ctor(1, 2, 0);
} else {
- x_282 = x_278;
+ x_279 = x_278;
+ lean_ctor_set_tag(x_279, 1);
}
-lean_ctor_set(x_282, 0, x_281);
-lean_ctor_set(x_282, 1, x_277);
-x_11 = x_282;
-goto block_19;
+lean_ctor_set(x_279, 0, x_260);
+lean_ctor_set(x_279, 1, x_277);
+x_11 = x_279;
+goto block_23;
}
}
}
else
{
-lean_object* x_343; lean_object* x_344; lean_object* x_345; lean_object* x_346; uint8_t x_347; lean_object* x_348; lean_object* x_357;
-x_343 = lean_ctor_get(x_8, 3);
-lean_inc(x_343);
-x_344 = l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_isLevelDefEq___spec__3___rarg(x_9, x_10);
-x_345 = lean_ctor_get(x_344, 0);
-lean_inc(x_345);
-x_346 = lean_ctor_get(x_344, 1);
-lean_inc(x_346);
-lean_dec(x_344);
+lean_object* x_322; lean_object* x_323; lean_object* x_324; lean_object* x_325; lean_object* x_326; uint8_t x_327; lean_object* x_328; lean_object* x_329; lean_object* x_330; lean_object* x_331; uint8_t x_332; lean_object* x_333; lean_object* x_359; lean_object* x_360; lean_object* x_380;
+x_322 = lean_ctor_get(x_95, 0);
+x_323 = lean_ctor_get(x_95, 1);
+x_324 = lean_ctor_get(x_95, 2);
+lean_inc(x_324);
+lean_inc(x_323);
+lean_inc(x_322);
+lean_dec(x_95);
+x_325 = lean_ctor_get(x_96, 0);
+lean_inc(x_325);
+if (lean_is_exclusive(x_96)) {
+ lean_ctor_release(x_96, 0);
+ x_326 = x_96;
+} else {
+ lean_dec_ref(x_96);
+ x_326 = lean_box(0);
+}
+x_327 = 0;
+if (lean_is_scalar(x_326)) {
+ x_328 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_328 = x_326;
+}
+lean_ctor_set(x_328, 0, x_325);
+lean_ctor_set_uint8(x_328, sizeof(void*)*1, x_327);
+x_329 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_329, 0, x_322);
+lean_ctor_set(x_329, 1, x_323);
+lean_ctor_set(x_329, 2, x_324);
+lean_ctor_set(x_329, 3, x_328);
+x_330 = lean_st_ref_set(x_9, x_329, x_97);
+x_331 = lean_ctor_get(x_330, 1);
+lean_inc(x_331);
+lean_dec(x_330);
lean_inc(x_9);
lean_inc(x_8);
lean_inc(x_7);
lean_inc(x_6);
-x_357 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_1, x_6, x_7, x_8, x_9, x_346);
-if (lean_obj_tag(x_357) == 0)
+x_380 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_2, x_6, x_7, x_8, x_9, x_331);
+if (lean_obj_tag(x_380) == 0)
{
-lean_object* x_358; lean_object* x_359; uint8_t x_360; lean_object* x_361; lean_object* x_386; lean_object* x_387; lean_object* x_388; uint8_t x_389;
-x_358 = lean_ctor_get(x_357, 0);
-lean_inc(x_358);
-x_359 = lean_ctor_get(x_357, 1);
-lean_inc(x_359);
-lean_dec(x_357);
-x_386 = lean_st_ref_get(x_9, x_359);
-x_387 = lean_ctor_get(x_386, 0);
-lean_inc(x_387);
-x_388 = lean_ctor_get(x_387, 3);
-lean_inc(x_388);
-lean_dec(x_387);
-x_389 = lean_ctor_get_uint8(x_388, sizeof(void*)*1);
-lean_dec(x_388);
-if (x_389 == 0)
+lean_object* x_381; lean_object* x_382; uint8_t x_383; lean_object* x_384; lean_object* x_409; lean_object* x_410; lean_object* x_411; uint8_t x_412;
+x_381 = lean_ctor_get(x_380, 0);
+lean_inc(x_381);
+x_382 = lean_ctor_get(x_380, 1);
+lean_inc(x_382);
+lean_dec(x_380);
+x_409 = lean_st_ref_get(x_9, x_382);
+x_410 = lean_ctor_get(x_409, 0);
+lean_inc(x_410);
+x_411 = lean_ctor_get(x_410, 3);
+lean_inc(x_411);
+lean_dec(x_410);
+x_412 = lean_ctor_get_uint8(x_411, sizeof(void*)*1);
+lean_dec(x_411);
+if (x_412 == 0)
{
-lean_object* x_390; uint8_t x_391;
-x_390 = lean_ctor_get(x_386, 1);
-lean_inc(x_390);
-lean_dec(x_386);
-x_391 = 0;
-x_360 = x_391;
-x_361 = x_390;
-goto block_385;
+lean_object* x_413;
+x_413 = lean_ctor_get(x_409, 1);
+lean_inc(x_413);
+lean_dec(x_409);
+x_383 = x_327;
+x_384 = x_413;
+goto block_408;
}
else
{
-lean_object* x_392; lean_object* x_393; lean_object* x_394; lean_object* x_395; uint8_t x_396;
-x_392 = lean_ctor_get(x_386, 1);
-lean_inc(x_392);
-lean_dec(x_386);
-lean_inc(x_4);
-x_393 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_4, x_6, x_7, x_8, x_9, x_392);
-x_394 = lean_ctor_get(x_393, 0);
-lean_inc(x_394);
-x_395 = lean_ctor_get(x_393, 1);
-lean_inc(x_395);
-lean_dec(x_393);
-x_396 = lean_unbox(x_394);
-lean_dec(x_394);
-x_360 = x_396;
-x_361 = x_395;
-goto block_385;
+lean_object* x_414; lean_object* x_415; lean_object* x_416; lean_object* x_417; uint8_t x_418;
+x_414 = lean_ctor_get(x_409, 1);
+lean_inc(x_414);
+lean_dec(x_409);
+lean_inc(x_1);
+x_415 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_1, x_6, x_7, x_8, x_9, x_414);
+x_416 = lean_ctor_get(x_415, 0);
+lean_inc(x_416);
+x_417 = lean_ctor_get(x_415, 1);
+lean_inc(x_417);
+lean_dec(x_415);
+x_418 = lean_unbox(x_416);
+lean_dec(x_416);
+x_383 = x_418;
+x_384 = x_417;
+goto block_408;
}
-block_385:
+block_408:
{
-if (x_360 == 0)
+if (x_383 == 0)
{
-uint8_t x_362;
-lean_dec(x_3);
-lean_dec(x_2);
-x_362 = lean_unbox(x_358);
-lean_dec(x_358);
-x_347 = x_362;
-x_348 = x_361;
-goto block_356;
-}
-else
-{
-lean_object* x_363; lean_object* x_364; lean_object* x_365; lean_object* x_366; lean_object* x_367; lean_object* x_368; lean_object* x_369; lean_object* x_370; lean_object* x_371; uint8_t x_372;
-x_363 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_363, 0, x_2);
-x_364 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_365 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_365, 0, x_364);
-lean_ctor_set(x_365, 1, x_363);
-x_366 = l_Lean_Meta_isLevelDefEqAux___closed__6;
-x_367 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_367, 0, x_365);
-lean_ctor_set(x_367, 1, x_366);
-x_368 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_368, 0, x_3);
-x_369 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_369, 0, x_367);
-lean_ctor_set(x_369, 1, x_368);
-x_370 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
-x_371 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_371, 0, x_369);
-lean_ctor_set(x_371, 1, x_370);
-x_372 = lean_unbox(x_358);
-if (x_372 == 0)
-{
-lean_object* x_373; lean_object* x_374; lean_object* x_375; lean_object* x_376; lean_object* x_377; uint8_t x_378;
-x_373 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
-x_374 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_374, 0, x_371);
-lean_ctor_set(x_374, 1, x_373);
-x_375 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_375, 0, x_374);
-lean_ctor_set(x_375, 1, x_364);
-lean_inc(x_4);
-x_376 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_4, x_375, x_6, x_7, x_8, x_9, x_361);
-x_377 = lean_ctor_get(x_376, 1);
-lean_inc(x_377);
-lean_dec(x_376);
-x_378 = lean_unbox(x_358);
-lean_dec(x_358);
-x_347 = x_378;
-x_348 = x_377;
-goto block_356;
-}
-else
-{
-lean_object* x_379; lean_object* x_380; lean_object* x_381; lean_object* x_382; lean_object* x_383; uint8_t x_384;
-x_379 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
-x_380 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_380, 0, x_371);
-lean_ctor_set(x_380, 1, x_379);
-x_381 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_381, 0, x_380);
-lean_ctor_set(x_381, 1, x_364);
-lean_inc(x_4);
-x_382 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_4, x_381, x_6, x_7, x_8, x_9, x_361);
-x_383 = lean_ctor_get(x_382, 1);
-lean_inc(x_383);
-lean_dec(x_382);
-x_384 = lean_unbox(x_358);
-lean_dec(x_358);
-x_347 = x_384;
-x_348 = x_383;
-goto block_356;
-}
-}
-}
-}
-else
-{
-lean_object* x_397; lean_object* x_398; lean_object* x_399; uint8_t x_400;
-lean_dec(x_3);
-lean_dec(x_2);
-x_397 = lean_ctor_get(x_357, 0);
-lean_inc(x_397);
-x_398 = lean_ctor_get(x_357, 1);
-lean_inc(x_398);
-lean_dec(x_357);
-x_399 = l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_isLevelDefEq___spec__4(x_345, x_4, x_343, x_6, x_7, x_8, x_9, x_398);
-lean_dec(x_9);
+uint8_t x_385;
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
-x_400 = !lean_is_exclusive(x_399);
-if (x_400 == 0)
-{
-lean_object* x_401;
-x_401 = lean_ctor_get(x_399, 0);
-lean_dec(x_401);
-lean_ctor_set_tag(x_399, 1);
-lean_ctor_set(x_399, 0, x_397);
-return x_399;
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_1);
+x_385 = lean_unbox(x_381);
+lean_dec(x_381);
+x_332 = x_385;
+x_333 = x_384;
+goto block_358;
}
else
{
-lean_object* x_402; lean_object* x_403;
-x_402 = lean_ctor_get(x_399, 1);
-lean_inc(x_402);
+lean_object* x_386; lean_object* x_387; lean_object* x_388; lean_object* x_389; lean_object* x_390; lean_object* x_391; lean_object* x_392; lean_object* x_393; lean_object* x_394; uint8_t x_395;
+x_386 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_386, 0, x_3);
+x_387 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_388 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_388, 0, x_387);
+lean_ctor_set(x_388, 1, x_386);
+x_389 = l_Lean_Meta_isLevelDefEqAux___closed__6;
+x_390 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_390, 0, x_388);
+lean_ctor_set(x_390, 1, x_389);
+x_391 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_391, 0, x_4);
+x_392 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_392, 0, x_390);
+lean_ctor_set(x_392, 1, x_391);
+x_393 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
+x_394 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_394, 0, x_392);
+lean_ctor_set(x_394, 1, x_393);
+x_395 = lean_unbox(x_381);
+if (x_395 == 0)
+{
+lean_object* x_396; lean_object* x_397; lean_object* x_398; lean_object* x_399; lean_object* x_400; uint8_t x_401;
+x_396 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
+x_397 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_397, 0, x_394);
+lean_ctor_set(x_397, 1, x_396);
+x_398 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_398, 0, x_397);
+lean_ctor_set(x_398, 1, x_387);
+x_399 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_1, x_398, x_6, x_7, x_8, x_9, x_384);
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+x_400 = lean_ctor_get(x_399, 1);
+lean_inc(x_400);
lean_dec(x_399);
-x_403 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_403, 0, x_397);
-lean_ctor_set(x_403, 1, x_402);
-return x_403;
+x_401 = lean_unbox(x_381);
+lean_dec(x_381);
+x_332 = x_401;
+x_333 = x_400;
+goto block_358;
}
-}
-block_356:
+else
{
-lean_object* x_349; uint8_t x_350;
-x_349 = l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_isLevelDefEq___spec__4(x_345, x_4, x_343, x_6, x_7, x_8, x_9, x_348);
-lean_dec(x_9);
+lean_object* x_402; lean_object* x_403; lean_object* x_404; lean_object* x_405; lean_object* x_406; uint8_t x_407;
+x_402 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
+x_403 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_403, 0, x_394);
+lean_ctor_set(x_403, 1, x_402);
+x_404 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_404, 0, x_403);
+lean_ctor_set(x_404, 1, x_387);
+x_405 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_1, x_404, x_6, x_7, x_8, x_9, x_384);
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
-x_350 = !lean_is_exclusive(x_349);
-if (x_350 == 0)
-{
-lean_object* x_351; lean_object* x_352;
-x_351 = lean_ctor_get(x_349, 0);
-lean_dec(x_351);
-x_352 = lean_box(x_347);
-lean_ctor_set(x_349, 0, x_352);
-return x_349;
+x_406 = lean_ctor_get(x_405, 1);
+lean_inc(x_406);
+lean_dec(x_405);
+x_407 = lean_unbox(x_381);
+lean_dec(x_381);
+x_332 = x_407;
+x_333 = x_406;
+goto block_358;
+}
+}
+}
}
else
{
-lean_object* x_353; lean_object* x_354; lean_object* x_355;
-x_353 = lean_ctor_get(x_349, 1);
-lean_inc(x_353);
-lean_dec(x_349);
-x_354 = lean_box(x_347);
-x_355 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_355, 0, x_354);
-lean_ctor_set(x_355, 1, x_353);
-return x_355;
+lean_object* x_419; lean_object* x_420;
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_1);
+x_419 = lean_ctor_get(x_380, 0);
+lean_inc(x_419);
+x_420 = lean_ctor_get(x_380, 1);
+lean_inc(x_420);
+lean_dec(x_380);
+x_359 = x_419;
+x_360 = x_420;
+goto block_379;
}
-}
-}
-block_19:
+block_358:
{
-uint8_t x_12;
-x_12 = !lean_is_exclusive(x_11);
-if (x_12 == 0)
-{
-lean_object* x_13; lean_object* x_14;
-x_13 = lean_ctor_get(x_11, 0);
-x_14 = lean_ctor_get(x_13, 0);
-lean_inc(x_14);
-lean_dec(x_13);
-lean_ctor_set(x_11, 0, x_14);
-return x_11;
+lean_object* x_334; lean_object* x_335; lean_object* x_336; lean_object* x_337; uint8_t x_338; lean_object* x_339; lean_object* x_340; lean_object* x_341; lean_object* x_342; lean_object* x_343; lean_object* x_344; lean_object* x_345; lean_object* x_346; lean_object* x_347; lean_object* x_348; lean_object* x_349; lean_object* x_350; lean_object* x_351; lean_object* x_352; lean_object* x_353; lean_object* x_354; lean_object* x_355; lean_object* x_356; lean_object* x_357;
+x_334 = lean_st_ref_get(x_9, x_333);
+x_335 = lean_ctor_get(x_334, 0);
+lean_inc(x_335);
+x_336 = lean_ctor_get(x_334, 1);
+lean_inc(x_336);
+lean_dec(x_334);
+x_337 = lean_ctor_get(x_335, 3);
+lean_inc(x_337);
+lean_dec(x_335);
+x_338 = lean_ctor_get_uint8(x_337, sizeof(void*)*1);
+lean_dec(x_337);
+x_339 = lean_st_ref_take(x_9, x_336);
+x_340 = lean_ctor_get(x_339, 0);
+lean_inc(x_340);
+x_341 = lean_ctor_get(x_340, 3);
+lean_inc(x_341);
+x_342 = lean_ctor_get(x_339, 1);
+lean_inc(x_342);
+lean_dec(x_339);
+x_343 = lean_ctor_get(x_340, 0);
+lean_inc(x_343);
+x_344 = lean_ctor_get(x_340, 1);
+lean_inc(x_344);
+x_345 = lean_ctor_get(x_340, 2);
+lean_inc(x_345);
+if (lean_is_exclusive(x_340)) {
+ lean_ctor_release(x_340, 0);
+ lean_ctor_release(x_340, 1);
+ lean_ctor_release(x_340, 2);
+ lean_ctor_release(x_340, 3);
+ x_346 = x_340;
+} else {
+ lean_dec_ref(x_340);
+ x_346 = lean_box(0);
}
-else
+x_347 = lean_ctor_get(x_341, 0);
+lean_inc(x_347);
+if (lean_is_exclusive(x_341)) {
+ lean_ctor_release(x_341, 0);
+ x_348 = x_341;
+} else {
+ lean_dec_ref(x_341);
+ x_348 = lean_box(0);
+}
+if (lean_is_scalar(x_348)) {
+ x_349 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_349 = x_348;
+}
+lean_ctor_set(x_349, 0, x_347);
+lean_ctor_set_uint8(x_349, sizeof(void*)*1, x_93);
+if (lean_is_scalar(x_346)) {
+ x_350 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_350 = x_346;
+}
+lean_ctor_set(x_350, 0, x_343);
+lean_ctor_set(x_350, 1, x_344);
+lean_ctor_set(x_350, 2, x_345);
+lean_ctor_set(x_350, 3, x_349);
+x_351 = lean_st_ref_set(x_9, x_350, x_342);
+lean_dec(x_9);
+x_352 = lean_ctor_get(x_351, 1);
+lean_inc(x_352);
+if (lean_is_exclusive(x_351)) {
+ lean_ctor_release(x_351, 0);
+ lean_ctor_release(x_351, 1);
+ x_353 = x_351;
+} else {
+ lean_dec_ref(x_351);
+ x_353 = lean_box(0);
+}
+x_354 = lean_box(x_332);
+x_355 = lean_box(x_338);
+x_356 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_356, 0, x_354);
+lean_ctor_set(x_356, 1, x_355);
+if (lean_is_scalar(x_353)) {
+ x_357 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_357 = x_353;
+}
+lean_ctor_set(x_357, 0, x_356);
+lean_ctor_set(x_357, 1, x_352);
+x_11 = x_357;
+goto block_23;
+}
+block_379:
{
-lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
-x_15 = lean_ctor_get(x_11, 0);
-x_16 = lean_ctor_get(x_11, 1);
-lean_inc(x_16);
-lean_inc(x_15);
-lean_dec(x_11);
-x_17 = lean_ctor_get(x_15, 0);
-lean_inc(x_17);
-lean_dec(x_15);
-x_18 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_18, 0, x_17);
-lean_ctor_set(x_18, 1, x_16);
-return x_18;
+lean_object* x_361; lean_object* x_362; lean_object* x_363; lean_object* x_364; lean_object* x_365; lean_object* x_366; lean_object* x_367; lean_object* x_368; lean_object* x_369; lean_object* x_370; lean_object* x_371; lean_object* x_372; lean_object* x_373; lean_object* x_374; lean_object* x_375; lean_object* x_376; lean_object* x_377; lean_object* x_378;
+x_361 = lean_st_ref_get(x_9, x_360);
+x_362 = lean_ctor_get(x_361, 1);
+lean_inc(x_362);
+lean_dec(x_361);
+x_363 = lean_st_ref_take(x_9, x_362);
+x_364 = lean_ctor_get(x_363, 0);
+lean_inc(x_364);
+x_365 = lean_ctor_get(x_364, 3);
+lean_inc(x_365);
+x_366 = lean_ctor_get(x_363, 1);
+lean_inc(x_366);
+lean_dec(x_363);
+x_367 = lean_ctor_get(x_364, 0);
+lean_inc(x_367);
+x_368 = lean_ctor_get(x_364, 1);
+lean_inc(x_368);
+x_369 = lean_ctor_get(x_364, 2);
+lean_inc(x_369);
+if (lean_is_exclusive(x_364)) {
+ lean_ctor_release(x_364, 0);
+ lean_ctor_release(x_364, 1);
+ lean_ctor_release(x_364, 2);
+ lean_ctor_release(x_364, 3);
+ x_370 = x_364;
+} else {
+ lean_dec_ref(x_364);
+ x_370 = lean_box(0);
+}
+x_371 = lean_ctor_get(x_365, 0);
+lean_inc(x_371);
+if (lean_is_exclusive(x_365)) {
+ lean_ctor_release(x_365, 0);
+ x_372 = x_365;
+} else {
+ lean_dec_ref(x_365);
+ x_372 = lean_box(0);
+}
+if (lean_is_scalar(x_372)) {
+ x_373 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_373 = x_372;
+}
+lean_ctor_set(x_373, 0, x_371);
+lean_ctor_set_uint8(x_373, sizeof(void*)*1, x_93);
+if (lean_is_scalar(x_370)) {
+ x_374 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_374 = x_370;
+}
+lean_ctor_set(x_374, 0, x_367);
+lean_ctor_set(x_374, 1, x_368);
+lean_ctor_set(x_374, 2, x_369);
+lean_ctor_set(x_374, 3, x_373);
+x_375 = lean_st_ref_set(x_9, x_374, x_366);
+lean_dec(x_9);
+x_376 = lean_ctor_get(x_375, 1);
+lean_inc(x_376);
+if (lean_is_exclusive(x_375)) {
+ lean_ctor_release(x_375, 0);
+ lean_ctor_release(x_375, 1);
+ x_377 = x_375;
+} else {
+ lean_dec_ref(x_375);
+ x_377 = lean_box(0);
+}
+if (lean_is_scalar(x_377)) {
+ x_378 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_378 = x_377;
+ lean_ctor_set_tag(x_378, 1);
+}
+lean_ctor_set(x_378, 0, x_359);
+lean_ctor_set(x_378, 1, x_376);
+x_11 = x_378;
+goto block_23;
+}
+}
}
}
}
@@ -21328,10 +21343,10 @@ lean_closure_set(x_4, 0, x_2);
lean_closure_set(x_4, 1, x_3);
x_5 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
x_6 = lean_alloc_closure((void*)(l_Lean_Meta_isExprDefEq___rarg___lambda__1___boxed), 10, 4);
-lean_closure_set(x_6, 0, x_4);
-lean_closure_set(x_6, 1, x_2);
-lean_closure_set(x_6, 2, x_3);
-lean_closure_set(x_6, 3, x_5);
+lean_closure_set(x_6, 0, x_5);
+lean_closure_set(x_6, 1, x_4);
+lean_closure_set(x_6, 2, x_2);
+lean_closure_set(x_6, 3, x_3);
x_7 = l_Lean_Meta_isExprDefEq___rarg___closed__4;
x_8 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Meta_Lean_Meta_Basic___instance__5___spec__2___rarg), 7, 2);
lean_closure_set(x_8, 0, x_7);
@@ -21377,51 +21392,53 @@ return x_2;
lean_object* l_Lean_Meta_isExprDefEq___at_Lean_Meta_isExprDefEqGuarded___spec__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) {
_start:
{
-lean_object* x_8; lean_object* x_17; uint8_t x_18; lean_object* x_19; lean_object* x_419; lean_object* x_420; lean_object* x_421; uint8_t x_422;
+lean_object* x_8; lean_object* x_21; uint8_t x_22; lean_object* x_23; lean_object* x_439; lean_object* x_440; lean_object* x_441; uint8_t x_442;
lean_inc(x_2);
lean_inc(x_1);
-x_17 = lean_alloc_closure((void*)(l_Lean_Meta_isExprDefEqAux), 8, 2);
-lean_closure_set(x_17, 0, x_1);
-lean_closure_set(x_17, 1, x_2);
-x_419 = lean_st_ref_get(x_6, x_7);
-x_420 = lean_ctor_get(x_419, 0);
-lean_inc(x_420);
-x_421 = lean_ctor_get(x_420, 3);
-lean_inc(x_421);
-lean_dec(x_420);
-x_422 = lean_ctor_get_uint8(x_421, sizeof(void*)*1);
-lean_dec(x_421);
-if (x_422 == 0)
+x_21 = lean_alloc_closure((void*)(l_Lean_Meta_isExprDefEqAux), 8, 2);
+lean_closure_set(x_21, 0, x_1);
+lean_closure_set(x_21, 1, x_2);
+x_439 = lean_st_ref_get(x_6, x_7);
+x_440 = lean_ctor_get(x_439, 0);
+lean_inc(x_440);
+x_441 = lean_ctor_get(x_440, 3);
+lean_inc(x_441);
+lean_dec(x_440);
+x_442 = lean_ctor_get_uint8(x_441, sizeof(void*)*1);
+lean_dec(x_441);
+if (x_442 == 0)
{
-lean_object* x_423; uint8_t x_424;
-x_423 = lean_ctor_get(x_419, 1);
-lean_inc(x_423);
-lean_dec(x_419);
-x_424 = 0;
-x_18 = x_424;
-x_19 = x_423;
-goto block_418;
+lean_object* x_443; uint8_t x_444;
+x_443 = lean_ctor_get(x_439, 1);
+lean_inc(x_443);
+lean_dec(x_439);
+x_444 = 0;
+x_22 = x_444;
+x_23 = x_443;
+goto block_438;
}
else
{
-lean_object* x_425; lean_object* x_426; lean_object* x_427; lean_object* x_428; lean_object* x_429; uint8_t x_430;
-x_425 = lean_ctor_get(x_419, 1);
-lean_inc(x_425);
-lean_dec(x_419);
-x_426 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_427 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_426, x_3, x_4, x_5, x_6, x_425);
-x_428 = lean_ctor_get(x_427, 0);
-lean_inc(x_428);
-x_429 = lean_ctor_get(x_427, 1);
-lean_inc(x_429);
-lean_dec(x_427);
-x_430 = lean_unbox(x_428);
-lean_dec(x_428);
-x_18 = x_430;
-x_19 = x_429;
-goto block_418;
+lean_object* x_445; lean_object* x_446; lean_object* x_447; lean_object* x_448; lean_object* x_449; uint8_t x_450;
+x_445 = lean_ctor_get(x_439, 1);
+lean_inc(x_445);
+lean_dec(x_439);
+x_446 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_447 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_446, x_3, x_4, x_5, x_6, x_445);
+x_448 = lean_ctor_get(x_447, 0);
+lean_inc(x_448);
+x_449 = lean_ctor_get(x_447, 1);
+lean_inc(x_449);
+lean_dec(x_447);
+x_450 = lean_unbox(x_448);
+lean_dec(x_448);
+x_22 = x_450;
+x_23 = x_449;
+goto block_438;
}
-block_16:
+block_20:
+{
+if (lean_obj_tag(x_8) == 0)
{
uint8_t x_9;
x_9 = !lean_is_exclusive(x_8);
@@ -21452,1401 +21469,1476 @@ lean_ctor_set(x_15, 1, x_13);
return x_15;
}
}
-block_418:
+else
{
-if (x_18 == 0)
+uint8_t x_16;
+x_16 = !lean_is_exclusive(x_8);
+if (x_16 == 0)
{
-lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t x_29;
-x_20 = lean_st_ref_get(x_6, x_19);
-x_21 = lean_ctor_get(x_20, 0);
-lean_inc(x_21);
-x_22 = lean_ctor_get(x_21, 3);
-lean_inc(x_22);
-lean_dec(x_21);
-x_23 = lean_ctor_get(x_20, 1);
-lean_inc(x_23);
-lean_dec(x_20);
-x_24 = lean_ctor_get_uint8(x_22, sizeof(void*)*1);
-lean_dec(x_22);
-x_25 = lean_st_ref_take(x_6, x_23);
-x_26 = lean_ctor_get(x_25, 0);
-lean_inc(x_26);
-x_27 = lean_ctor_get(x_26, 3);
+return x_8;
+}
+else
+{
+lean_object* x_17; lean_object* x_18; lean_object* x_19;
+x_17 = lean_ctor_get(x_8, 0);
+x_18 = lean_ctor_get(x_8, 1);
+lean_inc(x_18);
+lean_inc(x_17);
+lean_dec(x_8);
+x_19 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_19, 0, x_17);
+lean_ctor_set(x_19, 1, x_18);
+return x_19;
+}
+}
+}
+block_438:
+{
+uint8_t x_24;
+if (x_22 == 0)
+{
+uint8_t x_436;
+x_436 = 1;
+x_24 = x_436;
+goto block_435;
+}
+else
+{
+uint8_t x_437;
+x_437 = 0;
+x_24 = x_437;
+goto block_435;
+}
+block_435:
+{
+if (x_24 == 0)
+{
+lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t x_29; lean_object* x_30; lean_object* x_40; lean_object* x_41; lean_object* x_49;
+x_25 = lean_ctor_get(x_5, 3);
+lean_inc(x_25);
+x_26 = l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_isLevelDefEq___spec__2___rarg(x_6, x_23);
+x_27 = lean_ctor_get(x_26, 0);
lean_inc(x_27);
-x_28 = lean_ctor_get(x_25, 1);
+x_28 = lean_ctor_get(x_26, 1);
lean_inc(x_28);
-lean_dec(x_25);
-x_29 = !lean_is_exclusive(x_26);
-if (x_29 == 0)
-{
-lean_object* x_30; uint8_t x_31;
-x_30 = lean_ctor_get(x_26, 3);
-lean_dec(x_30);
-x_31 = !lean_is_exclusive(x_27);
-if (x_31 == 0)
-{
-uint8_t x_32; lean_object* x_33; lean_object* x_34; uint8_t x_35; lean_object* x_36; lean_object* x_84;
-x_32 = 0;
-lean_ctor_set_uint8(x_27, sizeof(void*)*1, x_32);
-x_33 = lean_st_ref_set(x_6, x_26, x_28);
-x_34 = lean_ctor_get(x_33, 1);
-lean_inc(x_34);
-lean_dec(x_33);
+lean_dec(x_26);
lean_inc(x_6);
lean_inc(x_5);
lean_inc(x_4);
lean_inc(x_3);
-x_84 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_17, x_3, x_4, x_5, x_6, x_34);
-if (lean_obj_tag(x_84) == 0)
+x_49 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_21, x_3, x_4, x_5, x_6, x_28);
+if (lean_obj_tag(x_49) == 0)
{
-lean_object* x_85; lean_object* x_86; uint8_t x_87; lean_object* x_88; lean_object* x_115; lean_object* x_116; lean_object* x_117; uint8_t x_118;
-x_85 = lean_ctor_get(x_84, 0);
-lean_inc(x_85);
-x_86 = lean_ctor_get(x_84, 1);
-lean_inc(x_86);
-lean_dec(x_84);
-x_115 = lean_st_ref_get(x_6, x_86);
-x_116 = lean_ctor_get(x_115, 0);
-lean_inc(x_116);
-x_117 = lean_ctor_get(x_116, 3);
-lean_inc(x_117);
-lean_dec(x_116);
-x_118 = lean_ctor_get_uint8(x_117, sizeof(void*)*1);
-lean_dec(x_117);
-if (x_118 == 0)
-{
-lean_object* x_119;
-x_119 = lean_ctor_get(x_115, 1);
-lean_inc(x_119);
-lean_dec(x_115);
-x_87 = x_32;
-x_88 = x_119;
-goto block_114;
-}
-else
-{
-lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; uint8_t x_125;
-x_120 = lean_ctor_get(x_115, 1);
-lean_inc(x_120);
-lean_dec(x_115);
-x_121 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_122 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_121, x_3, x_4, x_5, x_6, x_120);
-x_123 = lean_ctor_get(x_122, 0);
-lean_inc(x_123);
-x_124 = lean_ctor_get(x_122, 1);
-lean_inc(x_124);
-lean_dec(x_122);
-x_125 = lean_unbox(x_123);
-lean_dec(x_123);
-x_87 = x_125;
-x_88 = x_124;
-goto block_114;
-}
-block_114:
-{
-if (x_87 == 0)
-{
-uint8_t x_89;
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_dec(x_1);
-x_89 = lean_unbox(x_85);
-lean_dec(x_85);
-x_35 = x_89;
-x_36 = x_88;
-goto block_83;
-}
-else
-{
-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; uint8_t x_99;
-x_90 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_90, 0, x_1);
-x_91 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_92 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_92, 0, x_91);
-lean_ctor_set(x_92, 1, x_90);
-x_93 = l_Lean_Meta_isLevelDefEqAux___closed__6;
-x_94 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_94, 0, x_92);
-lean_ctor_set(x_94, 1, x_93);
-x_95 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_95, 0, x_2);
-x_96 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_96, 0, x_94);
-lean_ctor_set(x_96, 1, x_95);
-x_97 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
-x_98 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_98, 0, x_96);
-lean_ctor_set(x_98, 1, x_97);
-x_99 = lean_unbox(x_85);
-if (x_99 == 0)
-{
-lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; uint8_t x_106;
-x_100 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
-x_101 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_101, 0, x_98);
-lean_ctor_set(x_101, 1, x_100);
-x_102 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_102, 0, x_101);
-lean_ctor_set(x_102, 1, x_91);
-x_103 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_104 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_103, x_102, x_3, x_4, x_5, x_6, x_88);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_105 = lean_ctor_get(x_104, 1);
-lean_inc(x_105);
-lean_dec(x_104);
-x_106 = lean_unbox(x_85);
-lean_dec(x_85);
-x_35 = x_106;
-x_36 = x_105;
-goto block_83;
-}
-else
-{
-lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; uint8_t x_113;
-x_107 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
-x_108 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_108, 0, x_98);
-lean_ctor_set(x_108, 1, x_107);
-x_109 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_109, 0, x_108);
-lean_ctor_set(x_109, 1, x_91);
-x_110 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_111 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_110, x_109, x_3, x_4, x_5, x_6, x_88);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_112 = lean_ctor_get(x_111, 1);
-lean_inc(x_112);
-lean_dec(x_111);
-x_113 = lean_unbox(x_85);
-lean_dec(x_85);
-x_35 = x_113;
-x_36 = x_112;
-goto block_83;
-}
-}
-}
-}
-else
-{
-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; uint8_t x_134;
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_dec(x_1);
-x_126 = lean_ctor_get(x_84, 0);
-lean_inc(x_126);
-x_127 = lean_ctor_get(x_84, 1);
-lean_inc(x_127);
-lean_dec(x_84);
-x_128 = lean_st_ref_get(x_6, x_127);
-x_129 = lean_ctor_get(x_128, 1);
-lean_inc(x_129);
-lean_dec(x_128);
-x_130 = lean_st_ref_take(x_6, x_129);
-x_131 = lean_ctor_get(x_130, 0);
-lean_inc(x_131);
-x_132 = lean_ctor_get(x_131, 3);
-lean_inc(x_132);
-x_133 = lean_ctor_get(x_130, 1);
-lean_inc(x_133);
-lean_dec(x_130);
-x_134 = !lean_is_exclusive(x_131);
-if (x_134 == 0)
-{
-lean_object* x_135; uint8_t x_136;
-x_135 = lean_ctor_get(x_131, 3);
-lean_dec(x_135);
-x_136 = !lean_is_exclusive(x_132);
-if (x_136 == 0)
-{
-lean_object* x_137; uint8_t x_138;
-lean_ctor_set_uint8(x_132, sizeof(void*)*1, x_24);
-x_137 = lean_st_ref_set(x_6, x_131, x_133);
-lean_dec(x_6);
-x_138 = !lean_is_exclusive(x_137);
-if (x_138 == 0)
-{
-lean_object* x_139;
-x_139 = lean_ctor_get(x_137, 0);
-lean_dec(x_139);
-lean_ctor_set_tag(x_137, 1);
-lean_ctor_set(x_137, 0, x_126);
-return x_137;
-}
-else
-{
-lean_object* x_140; lean_object* x_141;
-x_140 = lean_ctor_get(x_137, 1);
-lean_inc(x_140);
-lean_dec(x_137);
-x_141 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_141, 0, x_126);
-lean_ctor_set(x_141, 1, x_140);
-return x_141;
-}
-}
-else
-{
-lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147;
-x_142 = lean_ctor_get(x_132, 0);
-lean_inc(x_142);
-lean_dec(x_132);
-x_143 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_143, 0, x_142);
-lean_ctor_set_uint8(x_143, sizeof(void*)*1, x_24);
-lean_ctor_set(x_131, 3, x_143);
-x_144 = lean_st_ref_set(x_6, x_131, x_133);
-lean_dec(x_6);
-x_145 = lean_ctor_get(x_144, 1);
-lean_inc(x_145);
-if (lean_is_exclusive(x_144)) {
- lean_ctor_release(x_144, 0);
- lean_ctor_release(x_144, 1);
- x_146 = x_144;
-} else {
- lean_dec_ref(x_144);
- x_146 = lean_box(0);
-}
-if (lean_is_scalar(x_146)) {
- x_147 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_147 = x_146;
- lean_ctor_set_tag(x_147, 1);
-}
-lean_ctor_set(x_147, 0, x_126);
-lean_ctor_set(x_147, 1, x_145);
-return x_147;
-}
-}
-else
-{
-lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158;
-x_148 = lean_ctor_get(x_131, 0);
-x_149 = lean_ctor_get(x_131, 1);
-x_150 = lean_ctor_get(x_131, 2);
-lean_inc(x_150);
-lean_inc(x_149);
-lean_inc(x_148);
-lean_dec(x_131);
-x_151 = lean_ctor_get(x_132, 0);
-lean_inc(x_151);
-if (lean_is_exclusive(x_132)) {
- lean_ctor_release(x_132, 0);
- x_152 = x_132;
-} else {
- lean_dec_ref(x_132);
- x_152 = lean_box(0);
-}
-if (lean_is_scalar(x_152)) {
- x_153 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_153 = x_152;
-}
-lean_ctor_set(x_153, 0, x_151);
-lean_ctor_set_uint8(x_153, sizeof(void*)*1, x_24);
-x_154 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_154, 0, x_148);
-lean_ctor_set(x_154, 1, x_149);
-lean_ctor_set(x_154, 2, x_150);
-lean_ctor_set(x_154, 3, x_153);
-x_155 = lean_st_ref_set(x_6, x_154, x_133);
-lean_dec(x_6);
-x_156 = lean_ctor_get(x_155, 1);
-lean_inc(x_156);
-if (lean_is_exclusive(x_155)) {
- lean_ctor_release(x_155, 0);
- lean_ctor_release(x_155, 1);
- x_157 = x_155;
-} else {
- lean_dec_ref(x_155);
- x_157 = lean_box(0);
-}
-if (lean_is_scalar(x_157)) {
- x_158 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_158 = x_157;
- lean_ctor_set_tag(x_158, 1);
-}
-lean_ctor_set(x_158, 0, x_126);
-lean_ctor_set(x_158, 1, x_156);
-return x_158;
-}
-}
-block_83:
-{
-lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; uint8_t x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; uint8_t x_46;
-x_37 = lean_st_ref_get(x_6, x_36);
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-x_39 = lean_ctor_get(x_37, 1);
-lean_inc(x_39);
-lean_dec(x_37);
-x_40 = lean_ctor_get(x_38, 3);
-lean_inc(x_40);
-lean_dec(x_38);
-x_41 = lean_ctor_get_uint8(x_40, sizeof(void*)*1);
-lean_dec(x_40);
-x_42 = lean_st_ref_take(x_6, x_39);
-x_43 = lean_ctor_get(x_42, 0);
-lean_inc(x_43);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-x_45 = lean_ctor_get(x_42, 1);
-lean_inc(x_45);
-lean_dec(x_42);
-x_46 = !lean_is_exclusive(x_43);
-if (x_46 == 0)
-{
-lean_object* x_47; uint8_t x_48;
-x_47 = lean_ctor_get(x_43, 3);
-lean_dec(x_47);
-x_48 = !lean_is_exclusive(x_44);
-if (x_48 == 0)
-{
-lean_object* x_49; uint8_t x_50;
-lean_ctor_set_uint8(x_44, sizeof(void*)*1, x_24);
-x_49 = lean_st_ref_set(x_6, x_43, x_45);
-lean_dec(x_6);
-x_50 = !lean_is_exclusive(x_49);
-if (x_50 == 0)
-{
-lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54;
-x_51 = lean_ctor_get(x_49, 0);
-lean_dec(x_51);
-x_52 = lean_box(x_35);
-x_53 = lean_box(x_41);
-x_54 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_54, 0, x_52);
-lean_ctor_set(x_54, 1, x_53);
-lean_ctor_set(x_49, 0, x_54);
-x_8 = x_49;
-goto block_16;
-}
-else
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59;
-x_55 = lean_ctor_get(x_49, 1);
-lean_inc(x_55);
+lean_object* x_50; lean_object* x_51; uint8_t x_52; lean_object* x_53; lean_object* x_80; lean_object* x_81; lean_object* x_82; uint8_t x_83;
+x_50 = lean_ctor_get(x_49, 0);
+lean_inc(x_50);
+x_51 = lean_ctor_get(x_49, 1);
+lean_inc(x_51);
lean_dec(x_49);
-x_56 = lean_box(x_35);
-x_57 = lean_box(x_41);
-x_58 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_58, 0, x_56);
-lean_ctor_set(x_58, 1, x_57);
-x_59 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_59, 0, x_58);
-lean_ctor_set(x_59, 1, x_55);
-x_8 = x_59;
-goto block_16;
-}
+x_80 = lean_st_ref_get(x_6, x_51);
+x_81 = lean_ctor_get(x_80, 0);
+lean_inc(x_81);
+x_82 = lean_ctor_get(x_81, 3);
+lean_inc(x_82);
+lean_dec(x_81);
+x_83 = lean_ctor_get_uint8(x_82, sizeof(void*)*1);
+lean_dec(x_82);
+if (x_83 == 0)
+{
+lean_object* x_84; uint8_t x_85;
+x_84 = lean_ctor_get(x_80, 1);
+lean_inc(x_84);
+lean_dec(x_80);
+x_85 = 0;
+x_52 = x_85;
+x_53 = x_84;
+goto block_79;
}
else
{
-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;
-x_60 = lean_ctor_get(x_44, 0);
-lean_inc(x_60);
-lean_dec(x_44);
-x_61 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_61, 0, x_60);
-lean_ctor_set_uint8(x_61, sizeof(void*)*1, x_24);
-lean_ctor_set(x_43, 3, x_61);
-x_62 = lean_st_ref_set(x_6, x_43, x_45);
-lean_dec(x_6);
-x_63 = lean_ctor_get(x_62, 1);
-lean_inc(x_63);
-if (lean_is_exclusive(x_62)) {
- lean_ctor_release(x_62, 0);
- lean_ctor_release(x_62, 1);
- x_64 = x_62;
-} else {
- lean_dec_ref(x_62);
- x_64 = lean_box(0);
-}
-x_65 = lean_box(x_35);
-x_66 = lean_box(x_41);
-x_67 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_67, 0, x_65);
-lean_ctor_set(x_67, 1, x_66);
-if (lean_is_scalar(x_64)) {
- x_68 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_68 = x_64;
-}
-lean_ctor_set(x_68, 0, x_67);
-lean_ctor_set(x_68, 1, x_63);
-x_8 = x_68;
-goto block_16;
+lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; uint8_t x_91;
+x_86 = lean_ctor_get(x_80, 1);
+lean_inc(x_86);
+lean_dec(x_80);
+x_87 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_88 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_87, x_3, x_4, x_5, x_6, x_86);
+x_89 = lean_ctor_get(x_88, 0);
+lean_inc(x_89);
+x_90 = lean_ctor_get(x_88, 1);
+lean_inc(x_90);
+lean_dec(x_88);
+x_91 = lean_unbox(x_89);
+lean_dec(x_89);
+x_52 = x_91;
+x_53 = x_90;
+goto block_79;
}
+block_79:
+{
+if (x_52 == 0)
+{
+uint8_t x_54;
+lean_dec(x_2);
+lean_dec(x_1);
+x_54 = lean_unbox(x_50);
+lean_dec(x_50);
+x_29 = x_54;
+x_30 = x_53;
+goto block_39;
}
else
{
-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; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82;
-x_69 = lean_ctor_get(x_43, 0);
-x_70 = lean_ctor_get(x_43, 1);
-x_71 = lean_ctor_get(x_43, 2);
-lean_inc(x_71);
+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; uint8_t x_64;
+x_55 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_55, 0, x_1);
+x_56 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_57 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_57, 0, x_56);
+lean_ctor_set(x_57, 1, x_55);
+x_58 = l_Lean_Meta_isLevelDefEqAux___closed__6;
+x_59 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_59, 0, x_57);
+lean_ctor_set(x_59, 1, x_58);
+x_60 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_60, 0, x_2);
+x_61 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_61, 0, x_59);
+lean_ctor_set(x_61, 1, x_60);
+x_62 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
+x_63 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_63, 0, x_61);
+lean_ctor_set(x_63, 1, x_62);
+x_64 = lean_unbox(x_50);
+if (x_64 == 0)
+{
+lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; uint8_t x_71;
+x_65 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
+x_66 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_66, 0, x_63);
+lean_ctor_set(x_66, 1, x_65);
+x_67 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_67, 0, x_66);
+lean_ctor_set(x_67, 1, x_56);
+x_68 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_69 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_68, x_67, x_3, x_4, x_5, x_6, x_53);
+x_70 = lean_ctor_get(x_69, 1);
lean_inc(x_70);
-lean_inc(x_69);
-lean_dec(x_43);
-x_72 = lean_ctor_get(x_44, 0);
-lean_inc(x_72);
-if (lean_is_exclusive(x_44)) {
- lean_ctor_release(x_44, 0);
- x_73 = x_44;
-} else {
- lean_dec_ref(x_44);
- x_73 = lean_box(0);
+lean_dec(x_69);
+x_71 = lean_unbox(x_50);
+lean_dec(x_50);
+x_29 = x_71;
+x_30 = x_70;
+goto block_39;
}
-if (lean_is_scalar(x_73)) {
- x_74 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_74 = x_73;
-}
-lean_ctor_set(x_74, 0, x_72);
-lean_ctor_set_uint8(x_74, sizeof(void*)*1, x_24);
-x_75 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_75, 0, x_69);
-lean_ctor_set(x_75, 1, x_70);
-lean_ctor_set(x_75, 2, x_71);
-lean_ctor_set(x_75, 3, x_74);
-x_76 = lean_st_ref_set(x_6, x_75, x_45);
-lean_dec(x_6);
+else
+{
+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;
+x_72 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
+x_73 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_73, 0, x_63);
+lean_ctor_set(x_73, 1, x_72);
+x_74 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_74, 0, x_73);
+lean_ctor_set(x_74, 1, x_56);
+x_75 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_76 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_75, x_74, x_3, x_4, x_5, x_6, x_53);
x_77 = lean_ctor_get(x_76, 1);
lean_inc(x_77);
-if (lean_is_exclusive(x_76)) {
- lean_ctor_release(x_76, 0);
- lean_ctor_release(x_76, 1);
- x_78 = x_76;
-} else {
- lean_dec_ref(x_76);
- x_78 = lean_box(0);
+lean_dec(x_76);
+x_78 = lean_unbox(x_50);
+lean_dec(x_50);
+x_29 = x_78;
+x_30 = x_77;
+goto block_39;
}
-x_79 = lean_box(x_35);
-x_80 = lean_box(x_41);
-x_81 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_81, 0, x_79);
-lean_ctor_set(x_81, 1, x_80);
-if (lean_is_scalar(x_78)) {
- x_82 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_82 = x_78;
-}
-lean_ctor_set(x_82, 0, x_81);
-lean_ctor_set(x_82, 1, x_77);
-x_8 = x_82;
-goto block_16;
}
}
}
else
{
-lean_object* x_159; uint8_t x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; uint8_t x_164; lean_object* x_165; lean_object* x_191;
-x_159 = lean_ctor_get(x_27, 0);
-lean_inc(x_159);
-lean_dec(x_27);
-x_160 = 0;
-x_161 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_161, 0, x_159);
-lean_ctor_set_uint8(x_161, sizeof(void*)*1, x_160);
-lean_ctor_set(x_26, 3, x_161);
-x_162 = lean_st_ref_set(x_6, x_26, x_28);
-x_163 = lean_ctor_get(x_162, 1);
-lean_inc(x_163);
-lean_dec(x_162);
+lean_object* x_92; lean_object* x_93;
+lean_dec(x_2);
+lean_dec(x_1);
+x_92 = lean_ctor_get(x_49, 0);
+lean_inc(x_92);
+x_93 = lean_ctor_get(x_49, 1);
+lean_inc(x_93);
+lean_dec(x_49);
+x_40 = x_92;
+x_41 = x_93;
+goto block_48;
+}
+block_39:
+{
+lean_object* x_31; lean_object* x_32; uint8_t x_33;
+x_31 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_32 = l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_isLevelDefEq___spec__3(x_27, x_31, x_25, x_3, x_4, x_5, x_6, x_30);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_33 = !lean_is_exclusive(x_32);
+if (x_33 == 0)
+{
+lean_object* x_34; lean_object* x_35;
+x_34 = lean_ctor_get(x_32, 0);
+lean_dec(x_34);
+x_35 = lean_box(x_29);
+lean_ctor_set(x_32, 0, x_35);
+return x_32;
+}
+else
+{
+lean_object* x_36; lean_object* x_37; lean_object* x_38;
+x_36 = lean_ctor_get(x_32, 1);
+lean_inc(x_36);
+lean_dec(x_32);
+x_37 = lean_box(x_29);
+x_38 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_38, 0, x_37);
+lean_ctor_set(x_38, 1, x_36);
+return x_38;
+}
+}
+block_48:
+{
+lean_object* x_42; lean_object* x_43; uint8_t x_44;
+x_42 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_43 = l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_isLevelDefEq___spec__3(x_27, x_42, x_25, x_3, x_4, x_5, x_6, x_41);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_44 = !lean_is_exclusive(x_43);
+if (x_44 == 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_40);
+return x_43;
+}
+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_40);
+lean_ctor_set(x_47, 1, x_46);
+return x_47;
+}
+}
+}
+else
+{
+lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; uint8_t x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; uint8_t x_103;
+x_94 = lean_st_ref_get(x_6, x_23);
+x_95 = lean_ctor_get(x_94, 0);
+lean_inc(x_95);
+x_96 = lean_ctor_get(x_95, 3);
+lean_inc(x_96);
+lean_dec(x_95);
+x_97 = lean_ctor_get(x_94, 1);
+lean_inc(x_97);
+lean_dec(x_94);
+x_98 = lean_ctor_get_uint8(x_96, sizeof(void*)*1);
+lean_dec(x_96);
+x_99 = lean_st_ref_take(x_6, x_97);
+x_100 = lean_ctor_get(x_99, 0);
+lean_inc(x_100);
+x_101 = lean_ctor_get(x_100, 3);
+lean_inc(x_101);
+x_102 = lean_ctor_get(x_99, 1);
+lean_inc(x_102);
+lean_dec(x_99);
+x_103 = !lean_is_exclusive(x_100);
+if (x_103 == 0)
+{
+lean_object* x_104; uint8_t x_105;
+x_104 = lean_ctor_get(x_100, 3);
+lean_dec(x_104);
+x_105 = !lean_is_exclusive(x_101);
+if (x_105 == 0)
+{
+uint8_t x_106; lean_object* x_107; lean_object* x_108; uint8_t x_109; lean_object* x_110; lean_object* x_158; lean_object* x_159; lean_object* x_192;
+x_106 = 0;
+lean_ctor_set_uint8(x_101, sizeof(void*)*1, x_106);
+x_107 = lean_st_ref_set(x_6, x_100, x_102);
+x_108 = lean_ctor_get(x_107, 1);
+lean_inc(x_108);
+lean_dec(x_107);
lean_inc(x_6);
lean_inc(x_5);
lean_inc(x_4);
lean_inc(x_3);
-x_191 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_17, x_3, x_4, x_5, x_6, x_163);
-if (lean_obj_tag(x_191) == 0)
+x_192 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_21, x_3, x_4, x_5, x_6, x_108);
+if (lean_obj_tag(x_192) == 0)
{
-lean_object* x_192; lean_object* x_193; uint8_t x_194; lean_object* x_195; lean_object* x_222; lean_object* x_223; lean_object* x_224; uint8_t x_225;
-x_192 = lean_ctor_get(x_191, 0);
-lean_inc(x_192);
-x_193 = lean_ctor_get(x_191, 1);
+lean_object* x_193; lean_object* x_194; uint8_t x_195; lean_object* x_196; lean_object* x_223; lean_object* x_224; lean_object* x_225; uint8_t x_226;
+x_193 = lean_ctor_get(x_192, 0);
lean_inc(x_193);
-lean_dec(x_191);
-x_222 = lean_st_ref_get(x_6, x_193);
-x_223 = lean_ctor_get(x_222, 0);
-lean_inc(x_223);
-x_224 = lean_ctor_get(x_223, 3);
+x_194 = lean_ctor_get(x_192, 1);
+lean_inc(x_194);
+lean_dec(x_192);
+x_223 = lean_st_ref_get(x_6, x_194);
+x_224 = lean_ctor_get(x_223, 0);
lean_inc(x_224);
-lean_dec(x_223);
-x_225 = lean_ctor_get_uint8(x_224, sizeof(void*)*1);
+x_225 = lean_ctor_get(x_224, 3);
+lean_inc(x_225);
lean_dec(x_224);
-if (x_225 == 0)
+x_226 = lean_ctor_get_uint8(x_225, sizeof(void*)*1);
+lean_dec(x_225);
+if (x_226 == 0)
{
-lean_object* x_226;
-x_226 = lean_ctor_get(x_222, 1);
-lean_inc(x_226);
-lean_dec(x_222);
-x_194 = x_160;
-x_195 = x_226;
-goto block_221;
-}
-else
-{
-lean_object* x_227; lean_object* x_228; lean_object* x_229; lean_object* x_230; lean_object* x_231; uint8_t x_232;
-x_227 = lean_ctor_get(x_222, 1);
+lean_object* x_227;
+x_227 = lean_ctor_get(x_223, 1);
lean_inc(x_227);
-lean_dec(x_222);
-x_228 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_229 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_228, x_3, x_4, x_5, x_6, x_227);
-x_230 = lean_ctor_get(x_229, 0);
-lean_inc(x_230);
-x_231 = lean_ctor_get(x_229, 1);
+lean_dec(x_223);
+x_195 = x_106;
+x_196 = x_227;
+goto block_222;
+}
+else
+{
+lean_object* x_228; lean_object* x_229; lean_object* x_230; lean_object* x_231; lean_object* x_232; uint8_t x_233;
+x_228 = lean_ctor_get(x_223, 1);
+lean_inc(x_228);
+lean_dec(x_223);
+x_229 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_230 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_229, x_3, x_4, x_5, x_6, x_228);
+x_231 = lean_ctor_get(x_230, 0);
lean_inc(x_231);
-lean_dec(x_229);
-x_232 = lean_unbox(x_230);
+x_232 = lean_ctor_get(x_230, 1);
+lean_inc(x_232);
lean_dec(x_230);
-x_194 = x_232;
-x_195 = x_231;
-goto block_221;
+x_233 = lean_unbox(x_231);
+lean_dec(x_231);
+x_195 = x_233;
+x_196 = x_232;
+goto block_222;
}
-block_221:
+block_222:
{
-if (x_194 == 0)
+if (x_195 == 0)
{
-uint8_t x_196;
+uint8_t x_197;
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_196 = lean_unbox(x_192);
-lean_dec(x_192);
-x_164 = x_196;
-x_165 = x_195;
-goto block_190;
+x_197 = lean_unbox(x_193);
+lean_dec(x_193);
+x_109 = x_197;
+x_110 = x_196;
+goto block_157;
}
else
{
-lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; uint8_t x_206;
-x_197 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_197, 0, x_1);
-x_198 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_199 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_199, 0, x_198);
-lean_ctor_set(x_199, 1, x_197);
-x_200 = l_Lean_Meta_isLevelDefEqAux___closed__6;
-x_201 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_201, 0, x_199);
-lean_ctor_set(x_201, 1, x_200);
-x_202 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_202, 0, x_2);
-x_203 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_203, 0, x_201);
-lean_ctor_set(x_203, 1, x_202);
-x_204 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
-x_205 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_205, 0, x_203);
-lean_ctor_set(x_205, 1, x_204);
-x_206 = lean_unbox(x_192);
-if (x_206 == 0)
+lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; uint8_t x_207;
+x_198 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_198, 0, x_1);
+x_199 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_200 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_200, 0, x_199);
+lean_ctor_set(x_200, 1, x_198);
+x_201 = l_Lean_Meta_isLevelDefEqAux___closed__6;
+x_202 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_202, 0, x_200);
+lean_ctor_set(x_202, 1, x_201);
+x_203 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_203, 0, x_2);
+x_204 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_204, 0, x_202);
+lean_ctor_set(x_204, 1, x_203);
+x_205 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
+x_206 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_206, 0, x_204);
+lean_ctor_set(x_206, 1, x_205);
+x_207 = lean_unbox(x_193);
+if (x_207 == 0)
{
-lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; uint8_t x_213;
-x_207 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
-x_208 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_208, 0, x_205);
-lean_ctor_set(x_208, 1, x_207);
+lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; uint8_t x_214;
+x_208 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
x_209 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_209, 0, x_208);
-lean_ctor_set(x_209, 1, x_198);
-x_210 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_211 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_210, x_209, x_3, x_4, x_5, x_6, x_195);
+lean_ctor_set(x_209, 0, x_206);
+lean_ctor_set(x_209, 1, x_208);
+x_210 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_210, 0, x_209);
+lean_ctor_set(x_210, 1, x_199);
+x_211 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_212 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_211, x_210, x_3, x_4, x_5, x_6, x_196);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
-x_212 = lean_ctor_get(x_211, 1);
-lean_inc(x_212);
-lean_dec(x_211);
-x_213 = lean_unbox(x_192);
-lean_dec(x_192);
-x_164 = x_213;
-x_165 = x_212;
-goto block_190;
+x_213 = lean_ctor_get(x_212, 1);
+lean_inc(x_213);
+lean_dec(x_212);
+x_214 = lean_unbox(x_193);
+lean_dec(x_193);
+x_109 = x_214;
+x_110 = x_213;
+goto block_157;
}
else
{
-lean_object* x_214; lean_object* x_215; lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; uint8_t x_220;
-x_214 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
-x_215 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_215, 0, x_205);
-lean_ctor_set(x_215, 1, x_214);
+lean_object* x_215; lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; uint8_t x_221;
+x_215 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
x_216 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_216, 0, x_215);
-lean_ctor_set(x_216, 1, x_198);
-x_217 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_218 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_217, x_216, x_3, x_4, x_5, x_6, x_195);
+lean_ctor_set(x_216, 0, x_206);
+lean_ctor_set(x_216, 1, x_215);
+x_217 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_217, 0, x_216);
+lean_ctor_set(x_217, 1, x_199);
+x_218 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_219 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_218, x_217, x_3, x_4, x_5, x_6, x_196);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
-x_219 = lean_ctor_get(x_218, 1);
-lean_inc(x_219);
-lean_dec(x_218);
-x_220 = lean_unbox(x_192);
-lean_dec(x_192);
-x_164 = x_220;
-x_165 = x_219;
-goto block_190;
+x_220 = lean_ctor_get(x_219, 1);
+lean_inc(x_220);
+lean_dec(x_219);
+x_221 = lean_unbox(x_193);
+lean_dec(x_193);
+x_109 = x_221;
+x_110 = x_220;
+goto block_157;
}
}
}
}
else
{
-lean_object* x_233; lean_object* x_234; lean_object* x_235; lean_object* x_236; lean_object* x_237; lean_object* x_238; lean_object* x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244; lean_object* x_245; lean_object* x_246; lean_object* x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252;
+lean_object* x_234; lean_object* x_235;
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_233 = lean_ctor_get(x_191, 0);
-lean_inc(x_233);
-x_234 = lean_ctor_get(x_191, 1);
+x_234 = lean_ctor_get(x_192, 0);
lean_inc(x_234);
-lean_dec(x_191);
-x_235 = lean_st_ref_get(x_6, x_234);
-x_236 = lean_ctor_get(x_235, 1);
-lean_inc(x_236);
-lean_dec(x_235);
-x_237 = lean_st_ref_take(x_6, x_236);
-x_238 = lean_ctor_get(x_237, 0);
-lean_inc(x_238);
-x_239 = lean_ctor_get(x_238, 3);
-lean_inc(x_239);
-x_240 = lean_ctor_get(x_237, 1);
-lean_inc(x_240);
-lean_dec(x_237);
-x_241 = lean_ctor_get(x_238, 0);
-lean_inc(x_241);
-x_242 = lean_ctor_get(x_238, 1);
-lean_inc(x_242);
-x_243 = lean_ctor_get(x_238, 2);
-lean_inc(x_243);
-if (lean_is_exclusive(x_238)) {
- lean_ctor_release(x_238, 0);
- lean_ctor_release(x_238, 1);
- lean_ctor_release(x_238, 2);
- lean_ctor_release(x_238, 3);
- x_244 = x_238;
-} else {
- lean_dec_ref(x_238);
- x_244 = lean_box(0);
+x_235 = lean_ctor_get(x_192, 1);
+lean_inc(x_235);
+lean_dec(x_192);
+x_158 = x_234;
+x_159 = x_235;
+goto block_191;
}
-x_245 = lean_ctor_get(x_239, 0);
-lean_inc(x_245);
-if (lean_is_exclusive(x_239)) {
- lean_ctor_release(x_239, 0);
- x_246 = x_239;
-} else {
- lean_dec_ref(x_239);
- x_246 = lean_box(0);
-}
-if (lean_is_scalar(x_246)) {
- x_247 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_247 = x_246;
-}
-lean_ctor_set(x_247, 0, x_245);
-lean_ctor_set_uint8(x_247, sizeof(void*)*1, x_24);
-if (lean_is_scalar(x_244)) {
- x_248 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_248 = x_244;
-}
-lean_ctor_set(x_248, 0, x_241);
-lean_ctor_set(x_248, 1, x_242);
-lean_ctor_set(x_248, 2, x_243);
-lean_ctor_set(x_248, 3, x_247);
-x_249 = lean_st_ref_set(x_6, x_248, x_240);
+block_157:
+{
+lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; uint8_t x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; uint8_t x_120;
+x_111 = lean_st_ref_get(x_6, x_110);
+x_112 = lean_ctor_get(x_111, 0);
+lean_inc(x_112);
+x_113 = lean_ctor_get(x_111, 1);
+lean_inc(x_113);
+lean_dec(x_111);
+x_114 = lean_ctor_get(x_112, 3);
+lean_inc(x_114);
+lean_dec(x_112);
+x_115 = lean_ctor_get_uint8(x_114, sizeof(void*)*1);
+lean_dec(x_114);
+x_116 = lean_st_ref_take(x_6, x_113);
+x_117 = lean_ctor_get(x_116, 0);
+lean_inc(x_117);
+x_118 = lean_ctor_get(x_117, 3);
+lean_inc(x_118);
+x_119 = lean_ctor_get(x_116, 1);
+lean_inc(x_119);
+lean_dec(x_116);
+x_120 = !lean_is_exclusive(x_117);
+if (x_120 == 0)
+{
+lean_object* x_121; uint8_t x_122;
+x_121 = lean_ctor_get(x_117, 3);
+lean_dec(x_121);
+x_122 = !lean_is_exclusive(x_118);
+if (x_122 == 0)
+{
+lean_object* x_123; uint8_t x_124;
+lean_ctor_set_uint8(x_118, sizeof(void*)*1, x_98);
+x_123 = lean_st_ref_set(x_6, x_117, x_119);
lean_dec(x_6);
-x_250 = lean_ctor_get(x_249, 1);
+x_124 = !lean_is_exclusive(x_123);
+if (x_124 == 0)
+{
+lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128;
+x_125 = lean_ctor_get(x_123, 0);
+lean_dec(x_125);
+x_126 = lean_box(x_109);
+x_127 = lean_box(x_115);
+x_128 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_128, 0, x_126);
+lean_ctor_set(x_128, 1, x_127);
+lean_ctor_set(x_123, 0, x_128);
+x_8 = x_123;
+goto block_20;
+}
+else
+{
+lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133;
+x_129 = lean_ctor_get(x_123, 1);
+lean_inc(x_129);
+lean_dec(x_123);
+x_130 = lean_box(x_109);
+x_131 = lean_box(x_115);
+x_132 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_132, 0, x_130);
+lean_ctor_set(x_132, 1, 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_129);
+x_8 = x_133;
+goto block_20;
+}
+}
+else
+{
+lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142;
+x_134 = lean_ctor_get(x_118, 0);
+lean_inc(x_134);
+lean_dec(x_118);
+x_135 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_135, 0, x_134);
+lean_ctor_set_uint8(x_135, sizeof(void*)*1, x_98);
+lean_ctor_set(x_117, 3, x_135);
+x_136 = lean_st_ref_set(x_6, x_117, x_119);
+lean_dec(x_6);
+x_137 = lean_ctor_get(x_136, 1);
+lean_inc(x_137);
+if (lean_is_exclusive(x_136)) {
+ lean_ctor_release(x_136, 0);
+ lean_ctor_release(x_136, 1);
+ x_138 = x_136;
+} else {
+ lean_dec_ref(x_136);
+ x_138 = lean_box(0);
+}
+x_139 = lean_box(x_109);
+x_140 = lean_box(x_115);
+x_141 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_141, 0, x_139);
+lean_ctor_set(x_141, 1, x_140);
+if (lean_is_scalar(x_138)) {
+ x_142 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_142 = x_138;
+}
+lean_ctor_set(x_142, 0, x_141);
+lean_ctor_set(x_142, 1, x_137);
+x_8 = x_142;
+goto block_20;
+}
+}
+else
+{
+lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156;
+x_143 = lean_ctor_get(x_117, 0);
+x_144 = lean_ctor_get(x_117, 1);
+x_145 = lean_ctor_get(x_117, 2);
+lean_inc(x_145);
+lean_inc(x_144);
+lean_inc(x_143);
+lean_dec(x_117);
+x_146 = lean_ctor_get(x_118, 0);
+lean_inc(x_146);
+if (lean_is_exclusive(x_118)) {
+ lean_ctor_release(x_118, 0);
+ x_147 = x_118;
+} else {
+ lean_dec_ref(x_118);
+ x_147 = lean_box(0);
+}
+if (lean_is_scalar(x_147)) {
+ x_148 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_148 = x_147;
+}
+lean_ctor_set(x_148, 0, x_146);
+lean_ctor_set_uint8(x_148, sizeof(void*)*1, x_98);
+x_149 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_149, 0, x_143);
+lean_ctor_set(x_149, 1, x_144);
+lean_ctor_set(x_149, 2, x_145);
+lean_ctor_set(x_149, 3, x_148);
+x_150 = lean_st_ref_set(x_6, x_149, x_119);
+lean_dec(x_6);
+x_151 = lean_ctor_get(x_150, 1);
+lean_inc(x_151);
+if (lean_is_exclusive(x_150)) {
+ lean_ctor_release(x_150, 0);
+ lean_ctor_release(x_150, 1);
+ x_152 = x_150;
+} else {
+ lean_dec_ref(x_150);
+ x_152 = lean_box(0);
+}
+x_153 = lean_box(x_109);
+x_154 = lean_box(x_115);
+x_155 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_155, 0, x_153);
+lean_ctor_set(x_155, 1, x_154);
+if (lean_is_scalar(x_152)) {
+ x_156 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_156 = x_152;
+}
+lean_ctor_set(x_156, 0, x_155);
+lean_ctor_set(x_156, 1, x_151);
+x_8 = x_156;
+goto block_20;
+}
+}
+block_191:
+{
+lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; uint8_t x_166;
+x_160 = lean_st_ref_get(x_6, x_159);
+x_161 = lean_ctor_get(x_160, 1);
+lean_inc(x_161);
+lean_dec(x_160);
+x_162 = lean_st_ref_take(x_6, x_161);
+x_163 = lean_ctor_get(x_162, 0);
+lean_inc(x_163);
+x_164 = lean_ctor_get(x_163, 3);
+lean_inc(x_164);
+x_165 = lean_ctor_get(x_162, 1);
+lean_inc(x_165);
+lean_dec(x_162);
+x_166 = !lean_is_exclusive(x_163);
+if (x_166 == 0)
+{
+lean_object* x_167; uint8_t x_168;
+x_167 = lean_ctor_get(x_163, 3);
+lean_dec(x_167);
+x_168 = !lean_is_exclusive(x_164);
+if (x_168 == 0)
+{
+lean_object* x_169; uint8_t x_170;
+lean_ctor_set_uint8(x_164, sizeof(void*)*1, x_98);
+x_169 = lean_st_ref_set(x_6, x_163, x_165);
+lean_dec(x_6);
+x_170 = !lean_is_exclusive(x_169);
+if (x_170 == 0)
+{
+lean_object* x_171;
+x_171 = lean_ctor_get(x_169, 0);
+lean_dec(x_171);
+lean_ctor_set_tag(x_169, 1);
+lean_ctor_set(x_169, 0, x_158);
+x_8 = x_169;
+goto block_20;
+}
+else
+{
+lean_object* x_172; lean_object* x_173;
+x_172 = lean_ctor_get(x_169, 1);
+lean_inc(x_172);
+lean_dec(x_169);
+x_173 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_173, 0, x_158);
+lean_ctor_set(x_173, 1, x_172);
+x_8 = x_173;
+goto block_20;
+}
+}
+else
+{
+lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179;
+x_174 = lean_ctor_get(x_164, 0);
+lean_inc(x_174);
+lean_dec(x_164);
+x_175 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_175, 0, x_174);
+lean_ctor_set_uint8(x_175, sizeof(void*)*1, x_98);
+lean_ctor_set(x_163, 3, x_175);
+x_176 = lean_st_ref_set(x_6, x_163, x_165);
+lean_dec(x_6);
+x_177 = lean_ctor_get(x_176, 1);
+lean_inc(x_177);
+if (lean_is_exclusive(x_176)) {
+ lean_ctor_release(x_176, 0);
+ lean_ctor_release(x_176, 1);
+ x_178 = x_176;
+} else {
+ lean_dec_ref(x_176);
+ x_178 = lean_box(0);
+}
+if (lean_is_scalar(x_178)) {
+ x_179 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_179 = x_178;
+ lean_ctor_set_tag(x_179, 1);
+}
+lean_ctor_set(x_179, 0, x_158);
+lean_ctor_set(x_179, 1, x_177);
+x_8 = x_179;
+goto block_20;
+}
+}
+else
+{
+lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190;
+x_180 = lean_ctor_get(x_163, 0);
+x_181 = lean_ctor_get(x_163, 1);
+x_182 = lean_ctor_get(x_163, 2);
+lean_inc(x_182);
+lean_inc(x_181);
+lean_inc(x_180);
+lean_dec(x_163);
+x_183 = lean_ctor_get(x_164, 0);
+lean_inc(x_183);
+if (lean_is_exclusive(x_164)) {
+ lean_ctor_release(x_164, 0);
+ x_184 = x_164;
+} else {
+ lean_dec_ref(x_164);
+ x_184 = lean_box(0);
+}
+if (lean_is_scalar(x_184)) {
+ x_185 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_185 = x_184;
+}
+lean_ctor_set(x_185, 0, x_183);
+lean_ctor_set_uint8(x_185, sizeof(void*)*1, x_98);
+x_186 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_186, 0, x_180);
+lean_ctor_set(x_186, 1, x_181);
+lean_ctor_set(x_186, 2, x_182);
+lean_ctor_set(x_186, 3, x_185);
+x_187 = lean_st_ref_set(x_6, x_186, x_165);
+lean_dec(x_6);
+x_188 = lean_ctor_get(x_187, 1);
+lean_inc(x_188);
+if (lean_is_exclusive(x_187)) {
+ lean_ctor_release(x_187, 0);
+ lean_ctor_release(x_187, 1);
+ x_189 = x_187;
+} else {
+ lean_dec_ref(x_187);
+ x_189 = lean_box(0);
+}
+if (lean_is_scalar(x_189)) {
+ x_190 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_190 = x_189;
+ lean_ctor_set_tag(x_190, 1);
+}
+lean_ctor_set(x_190, 0, x_158);
+lean_ctor_set(x_190, 1, x_188);
+x_8 = x_190;
+goto block_20;
+}
+}
+}
+else
+{
+lean_object* x_236; uint8_t x_237; lean_object* x_238; lean_object* x_239; lean_object* x_240; uint8_t x_241; lean_object* x_242; lean_object* x_268; lean_object* x_269; lean_object* x_289;
+x_236 = lean_ctor_get(x_101, 0);
+lean_inc(x_236);
+lean_dec(x_101);
+x_237 = 0;
+x_238 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_238, 0, x_236);
+lean_ctor_set_uint8(x_238, sizeof(void*)*1, x_237);
+lean_ctor_set(x_100, 3, x_238);
+x_239 = lean_st_ref_set(x_6, x_100, x_102);
+x_240 = lean_ctor_get(x_239, 1);
+lean_inc(x_240);
+lean_dec(x_239);
+lean_inc(x_6);
+lean_inc(x_5);
+lean_inc(x_4);
+lean_inc(x_3);
+x_289 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_21, x_3, x_4, x_5, x_6, x_240);
+if (lean_obj_tag(x_289) == 0)
+{
+lean_object* x_290; lean_object* x_291; uint8_t x_292; lean_object* x_293; lean_object* x_320; lean_object* x_321; lean_object* x_322; uint8_t x_323;
+x_290 = lean_ctor_get(x_289, 0);
+lean_inc(x_290);
+x_291 = lean_ctor_get(x_289, 1);
+lean_inc(x_291);
+lean_dec(x_289);
+x_320 = lean_st_ref_get(x_6, x_291);
+x_321 = lean_ctor_get(x_320, 0);
+lean_inc(x_321);
+x_322 = lean_ctor_get(x_321, 3);
+lean_inc(x_322);
+lean_dec(x_321);
+x_323 = lean_ctor_get_uint8(x_322, sizeof(void*)*1);
+lean_dec(x_322);
+if (x_323 == 0)
+{
+lean_object* x_324;
+x_324 = lean_ctor_get(x_320, 1);
+lean_inc(x_324);
+lean_dec(x_320);
+x_292 = x_237;
+x_293 = x_324;
+goto block_319;
+}
+else
+{
+lean_object* x_325; lean_object* x_326; lean_object* x_327; lean_object* x_328; lean_object* x_329; uint8_t x_330;
+x_325 = lean_ctor_get(x_320, 1);
+lean_inc(x_325);
+lean_dec(x_320);
+x_326 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_327 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_326, x_3, x_4, x_5, x_6, x_325);
+x_328 = lean_ctor_get(x_327, 0);
+lean_inc(x_328);
+x_329 = lean_ctor_get(x_327, 1);
+lean_inc(x_329);
+lean_dec(x_327);
+x_330 = lean_unbox(x_328);
+lean_dec(x_328);
+x_292 = x_330;
+x_293 = x_329;
+goto block_319;
+}
+block_319:
+{
+if (x_292 == 0)
+{
+uint8_t x_294;
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+lean_dec(x_1);
+x_294 = lean_unbox(x_290);
+lean_dec(x_290);
+x_241 = x_294;
+x_242 = x_293;
+goto block_267;
+}
+else
+{
+lean_object* x_295; lean_object* x_296; lean_object* x_297; lean_object* x_298; lean_object* x_299; lean_object* x_300; lean_object* x_301; lean_object* x_302; lean_object* x_303; uint8_t x_304;
+x_295 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_295, 0, x_1);
+x_296 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_297 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_297, 0, x_296);
+lean_ctor_set(x_297, 1, x_295);
+x_298 = l_Lean_Meta_isLevelDefEqAux___closed__6;
+x_299 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_299, 0, x_297);
+lean_ctor_set(x_299, 1, x_298);
+x_300 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_300, 0, x_2);
+x_301 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_301, 0, x_299);
+lean_ctor_set(x_301, 1, x_300);
+x_302 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
+x_303 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_303, 0, x_301);
+lean_ctor_set(x_303, 1, x_302);
+x_304 = lean_unbox(x_290);
+if (x_304 == 0)
+{
+lean_object* x_305; lean_object* x_306; lean_object* x_307; lean_object* x_308; lean_object* x_309; lean_object* x_310; uint8_t x_311;
+x_305 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
+x_306 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_306, 0, x_303);
+lean_ctor_set(x_306, 1, x_305);
+x_307 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_307, 0, x_306);
+lean_ctor_set(x_307, 1, x_296);
+x_308 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_309 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_308, x_307, x_3, x_4, x_5, x_6, x_293);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_310 = lean_ctor_get(x_309, 1);
+lean_inc(x_310);
+lean_dec(x_309);
+x_311 = lean_unbox(x_290);
+lean_dec(x_290);
+x_241 = x_311;
+x_242 = x_310;
+goto block_267;
+}
+else
+{
+lean_object* x_312; lean_object* x_313; lean_object* x_314; lean_object* x_315; lean_object* x_316; lean_object* x_317; uint8_t x_318;
+x_312 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
+x_313 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_313, 0, x_303);
+lean_ctor_set(x_313, 1, x_312);
+x_314 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_314, 0, x_313);
+lean_ctor_set(x_314, 1, x_296);
+x_315 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_316 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_315, x_314, x_3, x_4, x_5, x_6, x_293);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_317 = lean_ctor_get(x_316, 1);
+lean_inc(x_317);
+lean_dec(x_316);
+x_318 = lean_unbox(x_290);
+lean_dec(x_290);
+x_241 = x_318;
+x_242 = x_317;
+goto block_267;
+}
+}
+}
+}
+else
+{
+lean_object* x_331; lean_object* x_332;
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+lean_dec(x_1);
+x_331 = lean_ctor_get(x_289, 0);
+lean_inc(x_331);
+x_332 = lean_ctor_get(x_289, 1);
+lean_inc(x_332);
+lean_dec(x_289);
+x_268 = x_331;
+x_269 = x_332;
+goto block_288;
+}
+block_267:
+{
+lean_object* x_243; lean_object* x_244; lean_object* x_245; lean_object* x_246; uint8_t x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253; lean_object* x_254; lean_object* x_255; lean_object* x_256; lean_object* x_257; lean_object* x_258; lean_object* x_259; lean_object* x_260; lean_object* x_261; lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265; lean_object* x_266;
+x_243 = lean_st_ref_get(x_6, x_242);
+x_244 = lean_ctor_get(x_243, 0);
+lean_inc(x_244);
+x_245 = lean_ctor_get(x_243, 1);
+lean_inc(x_245);
+lean_dec(x_243);
+x_246 = lean_ctor_get(x_244, 3);
+lean_inc(x_246);
+lean_dec(x_244);
+x_247 = lean_ctor_get_uint8(x_246, sizeof(void*)*1);
+lean_dec(x_246);
+x_248 = lean_st_ref_take(x_6, x_245);
+x_249 = lean_ctor_get(x_248, 0);
+lean_inc(x_249);
+x_250 = lean_ctor_get(x_249, 3);
lean_inc(x_250);
+x_251 = lean_ctor_get(x_248, 1);
+lean_inc(x_251);
+lean_dec(x_248);
+x_252 = lean_ctor_get(x_249, 0);
+lean_inc(x_252);
+x_253 = lean_ctor_get(x_249, 1);
+lean_inc(x_253);
+x_254 = lean_ctor_get(x_249, 2);
+lean_inc(x_254);
if (lean_is_exclusive(x_249)) {
lean_ctor_release(x_249, 0);
lean_ctor_release(x_249, 1);
- x_251 = x_249;
+ lean_ctor_release(x_249, 2);
+ lean_ctor_release(x_249, 3);
+ x_255 = x_249;
} else {
lean_dec_ref(x_249);
- x_251 = lean_box(0);
+ x_255 = lean_box(0);
}
-if (lean_is_scalar(x_251)) {
- x_252 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_252 = x_251;
- lean_ctor_set_tag(x_252, 1);
-}
-lean_ctor_set(x_252, 0, x_233);
-lean_ctor_set(x_252, 1, x_250);
-return x_252;
-}
-block_190:
-{
-lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; uint8_t x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189;
-x_166 = lean_st_ref_get(x_6, x_165);
-x_167 = lean_ctor_get(x_166, 0);
-lean_inc(x_167);
-x_168 = lean_ctor_get(x_166, 1);
-lean_inc(x_168);
-lean_dec(x_166);
-x_169 = lean_ctor_get(x_167, 3);
-lean_inc(x_169);
-lean_dec(x_167);
-x_170 = lean_ctor_get_uint8(x_169, sizeof(void*)*1);
-lean_dec(x_169);
-x_171 = lean_st_ref_take(x_6, x_168);
-x_172 = lean_ctor_get(x_171, 0);
-lean_inc(x_172);
-x_173 = lean_ctor_get(x_172, 3);
-lean_inc(x_173);
-x_174 = lean_ctor_get(x_171, 1);
-lean_inc(x_174);
-lean_dec(x_171);
-x_175 = lean_ctor_get(x_172, 0);
-lean_inc(x_175);
-x_176 = lean_ctor_get(x_172, 1);
-lean_inc(x_176);
-x_177 = lean_ctor_get(x_172, 2);
-lean_inc(x_177);
-if (lean_is_exclusive(x_172)) {
- lean_ctor_release(x_172, 0);
- lean_ctor_release(x_172, 1);
- lean_ctor_release(x_172, 2);
- lean_ctor_release(x_172, 3);
- x_178 = x_172;
-} else {
- lean_dec_ref(x_172);
- x_178 = lean_box(0);
-}
-x_179 = lean_ctor_get(x_173, 0);
-lean_inc(x_179);
-if (lean_is_exclusive(x_173)) {
- lean_ctor_release(x_173, 0);
- x_180 = x_173;
-} else {
- lean_dec_ref(x_173);
- x_180 = lean_box(0);
-}
-if (lean_is_scalar(x_180)) {
- x_181 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_181 = x_180;
-}
-lean_ctor_set(x_181, 0, x_179);
-lean_ctor_set_uint8(x_181, sizeof(void*)*1, x_24);
-if (lean_is_scalar(x_178)) {
- x_182 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_182 = x_178;
-}
-lean_ctor_set(x_182, 0, x_175);
-lean_ctor_set(x_182, 1, x_176);
-lean_ctor_set(x_182, 2, x_177);
-lean_ctor_set(x_182, 3, x_181);
-x_183 = lean_st_ref_set(x_6, x_182, x_174);
-lean_dec(x_6);
-x_184 = lean_ctor_get(x_183, 1);
-lean_inc(x_184);
-if (lean_is_exclusive(x_183)) {
- lean_ctor_release(x_183, 0);
- lean_ctor_release(x_183, 1);
- x_185 = x_183;
-} else {
- lean_dec_ref(x_183);
- x_185 = lean_box(0);
-}
-x_186 = lean_box(x_164);
-x_187 = lean_box(x_170);
-x_188 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_188, 0, x_186);
-lean_ctor_set(x_188, 1, x_187);
-if (lean_is_scalar(x_185)) {
- x_189 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_189 = x_185;
-}
-lean_ctor_set(x_189, 0, x_188);
-lean_ctor_set(x_189, 1, x_184);
-x_8 = x_189;
-goto block_16;
-}
-}
-}
-else
-{
-lean_object* x_253; lean_object* x_254; lean_object* x_255; lean_object* x_256; lean_object* x_257; uint8_t x_258; lean_object* x_259; lean_object* x_260; lean_object* x_261; lean_object* x_262; uint8_t x_263; lean_object* x_264; lean_object* x_290;
-x_253 = lean_ctor_get(x_26, 0);
-x_254 = lean_ctor_get(x_26, 1);
-x_255 = lean_ctor_get(x_26, 2);
-lean_inc(x_255);
-lean_inc(x_254);
-lean_inc(x_253);
-lean_dec(x_26);
-x_256 = lean_ctor_get(x_27, 0);
+x_256 = lean_ctor_get(x_250, 0);
lean_inc(x_256);
-if (lean_is_exclusive(x_27)) {
- lean_ctor_release(x_27, 0);
- x_257 = x_27;
+if (lean_is_exclusive(x_250)) {
+ lean_ctor_release(x_250, 0);
+ x_257 = x_250;
} else {
- lean_dec_ref(x_27);
+ lean_dec_ref(x_250);
x_257 = lean_box(0);
}
-x_258 = 0;
if (lean_is_scalar(x_257)) {
- x_259 = lean_alloc_ctor(0, 1, 1);
+ x_258 = lean_alloc_ctor(0, 1, 1);
} else {
- x_259 = x_257;
+ x_258 = x_257;
}
-lean_ctor_set(x_259, 0, x_256);
-lean_ctor_set_uint8(x_259, sizeof(void*)*1, x_258);
-x_260 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_260, 0, x_253);
-lean_ctor_set(x_260, 1, x_254);
-lean_ctor_set(x_260, 2, x_255);
-lean_ctor_set(x_260, 3, x_259);
-x_261 = lean_st_ref_set(x_6, x_260, x_28);
-x_262 = lean_ctor_get(x_261, 1);
-lean_inc(x_262);
-lean_dec(x_261);
-lean_inc(x_6);
-lean_inc(x_5);
-lean_inc(x_4);
-lean_inc(x_3);
-x_290 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_17, x_3, x_4, x_5, x_6, x_262);
-if (lean_obj_tag(x_290) == 0)
-{
-lean_object* x_291; lean_object* x_292; uint8_t x_293; lean_object* x_294; lean_object* x_321; lean_object* x_322; lean_object* x_323; uint8_t x_324;
-x_291 = lean_ctor_get(x_290, 0);
-lean_inc(x_291);
-x_292 = lean_ctor_get(x_290, 1);
-lean_inc(x_292);
-lean_dec(x_290);
-x_321 = lean_st_ref_get(x_6, x_292);
-x_322 = lean_ctor_get(x_321, 0);
-lean_inc(x_322);
-x_323 = lean_ctor_get(x_322, 3);
-lean_inc(x_323);
-lean_dec(x_322);
-x_324 = lean_ctor_get_uint8(x_323, sizeof(void*)*1);
-lean_dec(x_323);
-if (x_324 == 0)
-{
-lean_object* x_325;
-x_325 = lean_ctor_get(x_321, 1);
-lean_inc(x_325);
-lean_dec(x_321);
-x_293 = x_258;
-x_294 = x_325;
-goto block_320;
-}
-else
-{
-lean_object* x_326; lean_object* x_327; lean_object* x_328; lean_object* x_329; lean_object* x_330; uint8_t x_331;
-x_326 = lean_ctor_get(x_321, 1);
-lean_inc(x_326);
-lean_dec(x_321);
-x_327 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_328 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_327, x_3, x_4, x_5, x_6, x_326);
-x_329 = lean_ctor_get(x_328, 0);
-lean_inc(x_329);
-x_330 = lean_ctor_get(x_328, 1);
-lean_inc(x_330);
-lean_dec(x_328);
-x_331 = lean_unbox(x_329);
-lean_dec(x_329);
-x_293 = x_331;
-x_294 = x_330;
-goto block_320;
-}
-block_320:
-{
-if (x_293 == 0)
-{
-uint8_t x_295;
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_dec(x_1);
-x_295 = lean_unbox(x_291);
-lean_dec(x_291);
-x_263 = x_295;
-x_264 = x_294;
-goto block_289;
-}
-else
-{
-lean_object* x_296; lean_object* x_297; lean_object* x_298; lean_object* x_299; lean_object* x_300; lean_object* x_301; lean_object* x_302; lean_object* x_303; lean_object* x_304; uint8_t x_305;
-x_296 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_296, 0, x_1);
-x_297 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_298 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_298, 0, x_297);
-lean_ctor_set(x_298, 1, x_296);
-x_299 = l_Lean_Meta_isLevelDefEqAux___closed__6;
-x_300 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_300, 0, x_298);
-lean_ctor_set(x_300, 1, x_299);
-x_301 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_301, 0, x_2);
-x_302 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_302, 0, x_300);
-lean_ctor_set(x_302, 1, x_301);
-x_303 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
-x_304 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_304, 0, x_302);
-lean_ctor_set(x_304, 1, x_303);
-x_305 = lean_unbox(x_291);
-if (x_305 == 0)
-{
-lean_object* x_306; lean_object* x_307; lean_object* x_308; lean_object* x_309; lean_object* x_310; lean_object* x_311; uint8_t x_312;
-x_306 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
-x_307 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_307, 0, x_304);
-lean_ctor_set(x_307, 1, x_306);
-x_308 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_308, 0, x_307);
-lean_ctor_set(x_308, 1, x_297);
-x_309 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_310 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_309, x_308, x_3, x_4, x_5, x_6, x_294);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_311 = lean_ctor_get(x_310, 1);
-lean_inc(x_311);
-lean_dec(x_310);
-x_312 = lean_unbox(x_291);
-lean_dec(x_291);
-x_263 = x_312;
-x_264 = x_311;
-goto block_289;
-}
-else
-{
-lean_object* x_313; lean_object* x_314; lean_object* x_315; lean_object* x_316; lean_object* x_317; lean_object* x_318; uint8_t x_319;
-x_313 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
-x_314 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_314, 0, x_304);
-lean_ctor_set(x_314, 1, x_313);
-x_315 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_315, 0, x_314);
-lean_ctor_set(x_315, 1, x_297);
-x_316 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_317 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_316, x_315, x_3, x_4, x_5, x_6, x_294);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_318 = lean_ctor_get(x_317, 1);
-lean_inc(x_318);
-lean_dec(x_317);
-x_319 = lean_unbox(x_291);
-lean_dec(x_291);
-x_263 = x_319;
-x_264 = x_318;
-goto block_289;
-}
-}
-}
-}
-else
-{
-lean_object* x_332; lean_object* x_333; lean_object* x_334; lean_object* x_335; lean_object* x_336; lean_object* x_337; lean_object* x_338; lean_object* x_339; lean_object* x_340; lean_object* x_341; lean_object* x_342; lean_object* x_343; lean_object* x_344; lean_object* x_345; lean_object* x_346; lean_object* x_347; lean_object* x_348; lean_object* x_349; lean_object* x_350; lean_object* x_351;
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_dec(x_1);
-x_332 = lean_ctor_get(x_290, 0);
-lean_inc(x_332);
-x_333 = lean_ctor_get(x_290, 1);
-lean_inc(x_333);
-lean_dec(x_290);
-x_334 = lean_st_ref_get(x_6, x_333);
-x_335 = lean_ctor_get(x_334, 1);
-lean_inc(x_335);
-lean_dec(x_334);
-x_336 = lean_st_ref_take(x_6, x_335);
-x_337 = lean_ctor_get(x_336, 0);
-lean_inc(x_337);
-x_338 = lean_ctor_get(x_337, 3);
-lean_inc(x_338);
-x_339 = lean_ctor_get(x_336, 1);
-lean_inc(x_339);
-lean_dec(x_336);
-x_340 = lean_ctor_get(x_337, 0);
-lean_inc(x_340);
-x_341 = lean_ctor_get(x_337, 1);
-lean_inc(x_341);
-x_342 = lean_ctor_get(x_337, 2);
-lean_inc(x_342);
-if (lean_is_exclusive(x_337)) {
- lean_ctor_release(x_337, 0);
- lean_ctor_release(x_337, 1);
- lean_ctor_release(x_337, 2);
- lean_ctor_release(x_337, 3);
- x_343 = x_337;
+lean_ctor_set(x_258, 0, x_256);
+lean_ctor_set_uint8(x_258, sizeof(void*)*1, x_98);
+if (lean_is_scalar(x_255)) {
+ x_259 = lean_alloc_ctor(0, 4, 0);
} else {
- lean_dec_ref(x_337);
- x_343 = lean_box(0);
+ x_259 = x_255;
}
-x_344 = lean_ctor_get(x_338, 0);
-lean_inc(x_344);
-if (lean_is_exclusive(x_338)) {
- lean_ctor_release(x_338, 0);
- x_345 = x_338;
-} else {
- lean_dec_ref(x_338);
- x_345 = lean_box(0);
-}
-if (lean_is_scalar(x_345)) {
- x_346 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_346 = x_345;
-}
-lean_ctor_set(x_346, 0, x_344);
-lean_ctor_set_uint8(x_346, sizeof(void*)*1, x_24);
-if (lean_is_scalar(x_343)) {
- x_347 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_347 = x_343;
-}
-lean_ctor_set(x_347, 0, x_340);
-lean_ctor_set(x_347, 1, x_341);
-lean_ctor_set(x_347, 2, x_342);
-lean_ctor_set(x_347, 3, x_346);
-x_348 = lean_st_ref_set(x_6, x_347, x_339);
+lean_ctor_set(x_259, 0, x_252);
+lean_ctor_set(x_259, 1, x_253);
+lean_ctor_set(x_259, 2, x_254);
+lean_ctor_set(x_259, 3, x_258);
+x_260 = lean_st_ref_set(x_6, x_259, x_251);
lean_dec(x_6);
-x_349 = lean_ctor_get(x_348, 1);
-lean_inc(x_349);
-if (lean_is_exclusive(x_348)) {
- lean_ctor_release(x_348, 0);
- lean_ctor_release(x_348, 1);
- x_350 = x_348;
+x_261 = lean_ctor_get(x_260, 1);
+lean_inc(x_261);
+if (lean_is_exclusive(x_260)) {
+ lean_ctor_release(x_260, 0);
+ lean_ctor_release(x_260, 1);
+ x_262 = x_260;
} else {
- lean_dec_ref(x_348);
- x_350 = lean_box(0);
+ lean_dec_ref(x_260);
+ x_262 = lean_box(0);
}
-if (lean_is_scalar(x_350)) {
- x_351 = lean_alloc_ctor(1, 2, 0);
+x_263 = lean_box(x_241);
+x_264 = lean_box(x_247);
+x_265 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_265, 0, x_263);
+lean_ctor_set(x_265, 1, x_264);
+if (lean_is_scalar(x_262)) {
+ x_266 = lean_alloc_ctor(0, 2, 0);
} else {
- x_351 = x_350;
- lean_ctor_set_tag(x_351, 1);
+ x_266 = x_262;
}
-lean_ctor_set(x_351, 0, x_332);
-lean_ctor_set(x_351, 1, x_349);
-return x_351;
+lean_ctor_set(x_266, 0, x_265);
+lean_ctor_set(x_266, 1, x_261);
+x_8 = x_266;
+goto block_20;
}
-block_289:
+block_288:
{
-lean_object* x_265; lean_object* x_266; lean_object* x_267; lean_object* x_268; uint8_t x_269; lean_object* x_270; lean_object* x_271; lean_object* x_272; lean_object* x_273; lean_object* x_274; lean_object* x_275; lean_object* x_276; lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; lean_object* x_281; lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286; lean_object* x_287; lean_object* x_288;
-x_265 = lean_st_ref_get(x_6, x_264);
-x_266 = lean_ctor_get(x_265, 0);
-lean_inc(x_266);
-x_267 = lean_ctor_get(x_265, 1);
-lean_inc(x_267);
-lean_dec(x_265);
-x_268 = lean_ctor_get(x_266, 3);
-lean_inc(x_268);
-lean_dec(x_266);
-x_269 = lean_ctor_get_uint8(x_268, sizeof(void*)*1);
-lean_dec(x_268);
-x_270 = lean_st_ref_take(x_6, x_267);
-x_271 = lean_ctor_get(x_270, 0);
+lean_object* x_270; lean_object* x_271; lean_object* x_272; lean_object* x_273; lean_object* x_274; lean_object* x_275; lean_object* x_276; lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; lean_object* x_281; lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286; lean_object* x_287;
+x_270 = lean_st_ref_get(x_6, x_269);
+x_271 = lean_ctor_get(x_270, 1);
lean_inc(x_271);
-x_272 = lean_ctor_get(x_271, 3);
-lean_inc(x_272);
-x_273 = lean_ctor_get(x_270, 1);
-lean_inc(x_273);
lean_dec(x_270);
-x_274 = lean_ctor_get(x_271, 0);
+x_272 = lean_st_ref_take(x_6, x_271);
+x_273 = lean_ctor_get(x_272, 0);
+lean_inc(x_273);
+x_274 = lean_ctor_get(x_273, 3);
lean_inc(x_274);
-x_275 = lean_ctor_get(x_271, 1);
+x_275 = lean_ctor_get(x_272, 1);
lean_inc(x_275);
-x_276 = lean_ctor_get(x_271, 2);
+lean_dec(x_272);
+x_276 = lean_ctor_get(x_273, 0);
lean_inc(x_276);
-if (lean_is_exclusive(x_271)) {
- lean_ctor_release(x_271, 0);
- lean_ctor_release(x_271, 1);
- lean_ctor_release(x_271, 2);
- lean_ctor_release(x_271, 3);
- x_277 = x_271;
-} else {
- lean_dec_ref(x_271);
- x_277 = lean_box(0);
-}
-x_278 = lean_ctor_get(x_272, 0);
+x_277 = lean_ctor_get(x_273, 1);
+lean_inc(x_277);
+x_278 = lean_ctor_get(x_273, 2);
lean_inc(x_278);
-if (lean_is_exclusive(x_272)) {
- lean_ctor_release(x_272, 0);
- x_279 = x_272;
+if (lean_is_exclusive(x_273)) {
+ lean_ctor_release(x_273, 0);
+ lean_ctor_release(x_273, 1);
+ lean_ctor_release(x_273, 2);
+ lean_ctor_release(x_273, 3);
+ x_279 = x_273;
} else {
- lean_dec_ref(x_272);
+ lean_dec_ref(x_273);
x_279 = lean_box(0);
}
+x_280 = lean_ctor_get(x_274, 0);
+lean_inc(x_280);
+if (lean_is_exclusive(x_274)) {
+ lean_ctor_release(x_274, 0);
+ x_281 = x_274;
+} else {
+ lean_dec_ref(x_274);
+ x_281 = lean_box(0);
+}
+if (lean_is_scalar(x_281)) {
+ x_282 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_282 = x_281;
+}
+lean_ctor_set(x_282, 0, x_280);
+lean_ctor_set_uint8(x_282, sizeof(void*)*1, x_98);
if (lean_is_scalar(x_279)) {
- x_280 = lean_alloc_ctor(0, 1, 1);
+ x_283 = lean_alloc_ctor(0, 4, 0);
} else {
- x_280 = x_279;
+ x_283 = x_279;
}
-lean_ctor_set(x_280, 0, x_278);
-lean_ctor_set_uint8(x_280, sizeof(void*)*1, x_24);
-if (lean_is_scalar(x_277)) {
- x_281 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_281 = x_277;
-}
-lean_ctor_set(x_281, 0, x_274);
-lean_ctor_set(x_281, 1, x_275);
-lean_ctor_set(x_281, 2, x_276);
-lean_ctor_set(x_281, 3, x_280);
-x_282 = lean_st_ref_set(x_6, x_281, x_273);
+lean_ctor_set(x_283, 0, x_276);
+lean_ctor_set(x_283, 1, x_277);
+lean_ctor_set(x_283, 2, x_278);
+lean_ctor_set(x_283, 3, x_282);
+x_284 = lean_st_ref_set(x_6, x_283, x_275);
lean_dec(x_6);
-x_283 = lean_ctor_get(x_282, 1);
-lean_inc(x_283);
-if (lean_is_exclusive(x_282)) {
- lean_ctor_release(x_282, 0);
- lean_ctor_release(x_282, 1);
- x_284 = x_282;
+x_285 = lean_ctor_get(x_284, 1);
+lean_inc(x_285);
+if (lean_is_exclusive(x_284)) {
+ lean_ctor_release(x_284, 0);
+ lean_ctor_release(x_284, 1);
+ x_286 = x_284;
} else {
- lean_dec_ref(x_282);
- x_284 = lean_box(0);
+ lean_dec_ref(x_284);
+ x_286 = lean_box(0);
}
-x_285 = lean_box(x_263);
-x_286 = lean_box(x_269);
-x_287 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_287, 0, x_285);
-lean_ctor_set(x_287, 1, x_286);
-if (lean_is_scalar(x_284)) {
- x_288 = lean_alloc_ctor(0, 2, 0);
+if (lean_is_scalar(x_286)) {
+ x_287 = lean_alloc_ctor(1, 2, 0);
} else {
- x_288 = x_284;
+ x_287 = x_286;
+ lean_ctor_set_tag(x_287, 1);
}
-lean_ctor_set(x_288, 0, x_287);
-lean_ctor_set(x_288, 1, x_283);
-x_8 = x_288;
-goto block_16;
+lean_ctor_set(x_287, 0, x_268);
+lean_ctor_set(x_287, 1, x_285);
+x_8 = x_287;
+goto block_20;
}
}
}
else
{
-lean_object* x_352; lean_object* x_353; lean_object* x_354; lean_object* x_355; uint8_t x_356; lean_object* x_357; lean_object* x_367;
-x_352 = lean_ctor_get(x_5, 3);
-lean_inc(x_352);
-x_353 = l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_isLevelDefEq___spec__3___rarg(x_6, x_19);
-x_354 = lean_ctor_get(x_353, 0);
-lean_inc(x_354);
-x_355 = lean_ctor_get(x_353, 1);
-lean_inc(x_355);
-lean_dec(x_353);
+lean_object* x_333; lean_object* x_334; lean_object* x_335; lean_object* x_336; lean_object* x_337; uint8_t x_338; lean_object* x_339; lean_object* x_340; lean_object* x_341; lean_object* x_342; uint8_t x_343; lean_object* x_344; lean_object* x_370; lean_object* x_371; lean_object* x_391;
+x_333 = lean_ctor_get(x_100, 0);
+x_334 = lean_ctor_get(x_100, 1);
+x_335 = lean_ctor_get(x_100, 2);
+lean_inc(x_335);
+lean_inc(x_334);
+lean_inc(x_333);
+lean_dec(x_100);
+x_336 = lean_ctor_get(x_101, 0);
+lean_inc(x_336);
+if (lean_is_exclusive(x_101)) {
+ lean_ctor_release(x_101, 0);
+ x_337 = x_101;
+} else {
+ lean_dec_ref(x_101);
+ x_337 = lean_box(0);
+}
+x_338 = 0;
+if (lean_is_scalar(x_337)) {
+ x_339 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_339 = x_337;
+}
+lean_ctor_set(x_339, 0, x_336);
+lean_ctor_set_uint8(x_339, sizeof(void*)*1, x_338);
+x_340 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_340, 0, x_333);
+lean_ctor_set(x_340, 1, x_334);
+lean_ctor_set(x_340, 2, x_335);
+lean_ctor_set(x_340, 3, x_339);
+x_341 = lean_st_ref_set(x_6, x_340, x_102);
+x_342 = lean_ctor_get(x_341, 1);
+lean_inc(x_342);
+lean_dec(x_341);
lean_inc(x_6);
lean_inc(x_5);
lean_inc(x_4);
lean_inc(x_3);
-x_367 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_17, x_3, x_4, x_5, x_6, x_355);
-if (lean_obj_tag(x_367) == 0)
+x_391 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_21, x_3, x_4, x_5, x_6, x_342);
+if (lean_obj_tag(x_391) == 0)
{
-lean_object* x_368; lean_object* x_369; uint8_t x_370; lean_object* x_371; lean_object* x_398; lean_object* x_399; lean_object* x_400; uint8_t x_401;
-x_368 = lean_ctor_get(x_367, 0);
-lean_inc(x_368);
-x_369 = lean_ctor_get(x_367, 1);
-lean_inc(x_369);
-lean_dec(x_367);
-x_398 = lean_st_ref_get(x_6, x_369);
-x_399 = lean_ctor_get(x_398, 0);
-lean_inc(x_399);
-x_400 = lean_ctor_get(x_399, 3);
-lean_inc(x_400);
-lean_dec(x_399);
-x_401 = lean_ctor_get_uint8(x_400, sizeof(void*)*1);
-lean_dec(x_400);
-if (x_401 == 0)
+lean_object* x_392; lean_object* x_393; uint8_t x_394; lean_object* x_395; lean_object* x_422; lean_object* x_423; lean_object* x_424; uint8_t x_425;
+x_392 = lean_ctor_get(x_391, 0);
+lean_inc(x_392);
+x_393 = lean_ctor_get(x_391, 1);
+lean_inc(x_393);
+lean_dec(x_391);
+x_422 = lean_st_ref_get(x_6, x_393);
+x_423 = lean_ctor_get(x_422, 0);
+lean_inc(x_423);
+x_424 = lean_ctor_get(x_423, 3);
+lean_inc(x_424);
+lean_dec(x_423);
+x_425 = lean_ctor_get_uint8(x_424, sizeof(void*)*1);
+lean_dec(x_424);
+if (x_425 == 0)
{
-lean_object* x_402; uint8_t x_403;
-x_402 = lean_ctor_get(x_398, 1);
-lean_inc(x_402);
-lean_dec(x_398);
-x_403 = 0;
-x_370 = x_403;
-x_371 = x_402;
-goto block_397;
+lean_object* x_426;
+x_426 = lean_ctor_get(x_422, 1);
+lean_inc(x_426);
+lean_dec(x_422);
+x_394 = x_338;
+x_395 = x_426;
+goto block_421;
}
else
{
-lean_object* x_404; lean_object* x_405; lean_object* x_406; lean_object* x_407; lean_object* x_408; uint8_t x_409;
-x_404 = lean_ctor_get(x_398, 1);
-lean_inc(x_404);
-lean_dec(x_398);
-x_405 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_406 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_405, x_3, x_4, x_5, x_6, x_404);
-x_407 = lean_ctor_get(x_406, 0);
-lean_inc(x_407);
-x_408 = lean_ctor_get(x_406, 1);
-lean_inc(x_408);
-lean_dec(x_406);
-x_409 = lean_unbox(x_407);
-lean_dec(x_407);
-x_370 = x_409;
-x_371 = x_408;
-goto block_397;
+lean_object* x_427; lean_object* x_428; lean_object* x_429; lean_object* x_430; lean_object* x_431; uint8_t x_432;
+x_427 = lean_ctor_get(x_422, 1);
+lean_inc(x_427);
+lean_dec(x_422);
+x_428 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_429 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_428, x_3, x_4, x_5, x_6, x_427);
+x_430 = lean_ctor_get(x_429, 0);
+lean_inc(x_430);
+x_431 = lean_ctor_get(x_429, 1);
+lean_inc(x_431);
+lean_dec(x_429);
+x_432 = lean_unbox(x_430);
+lean_dec(x_430);
+x_394 = x_432;
+x_395 = x_431;
+goto block_421;
}
-block_397:
+block_421:
{
-if (x_370 == 0)
+if (x_394 == 0)
{
-uint8_t x_372;
-lean_dec(x_2);
-lean_dec(x_1);
-x_372 = lean_unbox(x_368);
-lean_dec(x_368);
-x_356 = x_372;
-x_357 = x_371;
-goto block_366;
-}
-else
-{
-lean_object* x_373; lean_object* x_374; lean_object* x_375; lean_object* x_376; lean_object* x_377; lean_object* x_378; lean_object* x_379; lean_object* x_380; lean_object* x_381; uint8_t x_382;
-x_373 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_373, 0, x_1);
-x_374 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_375 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_375, 0, x_374);
-lean_ctor_set(x_375, 1, x_373);
-x_376 = l_Lean_Meta_isLevelDefEqAux___closed__6;
-x_377 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_377, 0, x_375);
-lean_ctor_set(x_377, 1, x_376);
-x_378 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_378, 0, x_2);
-x_379 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_379, 0, x_377);
-lean_ctor_set(x_379, 1, x_378);
-x_380 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
-x_381 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_381, 0, x_379);
-lean_ctor_set(x_381, 1, x_380);
-x_382 = lean_unbox(x_368);
-if (x_382 == 0)
-{
-lean_object* x_383; lean_object* x_384; lean_object* x_385; lean_object* x_386; lean_object* x_387; lean_object* x_388; uint8_t x_389;
-x_383 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
-x_384 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_384, 0, x_381);
-lean_ctor_set(x_384, 1, x_383);
-x_385 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_385, 0, x_384);
-lean_ctor_set(x_385, 1, x_374);
-x_386 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_387 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_386, x_385, x_3, x_4, x_5, x_6, x_371);
-x_388 = lean_ctor_get(x_387, 1);
-lean_inc(x_388);
-lean_dec(x_387);
-x_389 = lean_unbox(x_368);
-lean_dec(x_368);
-x_356 = x_389;
-x_357 = x_388;
-goto block_366;
-}
-else
-{
-lean_object* x_390; lean_object* x_391; lean_object* x_392; lean_object* x_393; lean_object* x_394; lean_object* x_395; uint8_t x_396;
-x_390 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
-x_391 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_391, 0, x_381);
-lean_ctor_set(x_391, 1, x_390);
-x_392 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_392, 0, x_391);
-lean_ctor_set(x_392, 1, x_374);
-x_393 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_394 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_393, x_392, x_3, x_4, x_5, x_6, x_371);
-x_395 = lean_ctor_get(x_394, 1);
-lean_inc(x_395);
-lean_dec(x_394);
-x_396 = lean_unbox(x_368);
-lean_dec(x_368);
-x_356 = x_396;
-x_357 = x_395;
-goto block_366;
-}
-}
-}
-}
-else
-{
-lean_object* x_410; lean_object* x_411; lean_object* x_412; lean_object* x_413; uint8_t x_414;
-lean_dec(x_2);
-lean_dec(x_1);
-x_410 = lean_ctor_get(x_367, 0);
-lean_inc(x_410);
-x_411 = lean_ctor_get(x_367, 1);
-lean_inc(x_411);
-lean_dec(x_367);
-x_412 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_413 = l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_isLevelDefEq___spec__4(x_354, x_412, x_352, x_3, x_4, x_5, x_6, x_411);
-lean_dec(x_6);
+uint8_t x_396;
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
-x_414 = !lean_is_exclusive(x_413);
-if (x_414 == 0)
-{
-lean_object* x_415;
-x_415 = lean_ctor_get(x_413, 0);
-lean_dec(x_415);
-lean_ctor_set_tag(x_413, 1);
-lean_ctor_set(x_413, 0, x_410);
-return x_413;
+lean_dec(x_2);
+lean_dec(x_1);
+x_396 = lean_unbox(x_392);
+lean_dec(x_392);
+x_343 = x_396;
+x_344 = x_395;
+goto block_369;
}
else
{
-lean_object* x_416; lean_object* x_417;
-x_416 = lean_ctor_get(x_413, 1);
-lean_inc(x_416);
-lean_dec(x_413);
-x_417 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_417, 0, x_410);
-lean_ctor_set(x_417, 1, x_416);
-return x_417;
-}
-}
-block_366:
+lean_object* x_397; lean_object* x_398; lean_object* x_399; lean_object* x_400; lean_object* x_401; lean_object* x_402; lean_object* x_403; lean_object* x_404; lean_object* x_405; uint8_t x_406;
+x_397 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_397, 0, x_1);
+x_398 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_399 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_399, 0, x_398);
+lean_ctor_set(x_399, 1, x_397);
+x_400 = l_Lean_Meta_isLevelDefEqAux___closed__6;
+x_401 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_401, 0, x_399);
+lean_ctor_set(x_401, 1, x_400);
+x_402 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_402, 0, x_2);
+x_403 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_403, 0, x_401);
+lean_ctor_set(x_403, 1, x_402);
+x_404 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
+x_405 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_405, 0, x_403);
+lean_ctor_set(x_405, 1, x_404);
+x_406 = lean_unbox(x_392);
+if (x_406 == 0)
{
-lean_object* x_358; lean_object* x_359; uint8_t x_360;
-x_358 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_359 = l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_isLevelDefEq___spec__4(x_354, x_358, x_352, x_3, x_4, x_5, x_6, x_357);
-lean_dec(x_6);
+lean_object* x_407; lean_object* x_408; lean_object* x_409; lean_object* x_410; lean_object* x_411; lean_object* x_412; uint8_t x_413;
+x_407 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
+x_408 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_408, 0, x_405);
+lean_ctor_set(x_408, 1, x_407);
+x_409 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_409, 0, x_408);
+lean_ctor_set(x_409, 1, x_398);
+x_410 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_411 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_410, x_409, x_3, x_4, x_5, x_6, x_395);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
-x_360 = !lean_is_exclusive(x_359);
-if (x_360 == 0)
-{
-lean_object* x_361; lean_object* x_362;
-x_361 = lean_ctor_get(x_359, 0);
-lean_dec(x_361);
-x_362 = lean_box(x_356);
-lean_ctor_set(x_359, 0, x_362);
-return x_359;
+x_412 = lean_ctor_get(x_411, 1);
+lean_inc(x_412);
+lean_dec(x_411);
+x_413 = lean_unbox(x_392);
+lean_dec(x_392);
+x_343 = x_413;
+x_344 = x_412;
+goto block_369;
}
else
{
-lean_object* x_363; lean_object* x_364; lean_object* x_365;
-x_363 = lean_ctor_get(x_359, 1);
+lean_object* x_414; lean_object* x_415; lean_object* x_416; lean_object* x_417; lean_object* x_418; lean_object* x_419; uint8_t x_420;
+x_414 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
+x_415 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_415, 0, x_405);
+lean_ctor_set(x_415, 1, x_414);
+x_416 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_416, 0, x_415);
+lean_ctor_set(x_416, 1, x_398);
+x_417 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_418 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_417, x_416, x_3, x_4, x_5, x_6, x_395);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_419 = lean_ctor_get(x_418, 1);
+lean_inc(x_419);
+lean_dec(x_418);
+x_420 = lean_unbox(x_392);
+lean_dec(x_392);
+x_343 = x_420;
+x_344 = x_419;
+goto block_369;
+}
+}
+}
+}
+else
+{
+lean_object* x_433; lean_object* x_434;
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+lean_dec(x_1);
+x_433 = lean_ctor_get(x_391, 0);
+lean_inc(x_433);
+x_434 = lean_ctor_get(x_391, 1);
+lean_inc(x_434);
+lean_dec(x_391);
+x_370 = x_433;
+x_371 = x_434;
+goto block_390;
+}
+block_369:
+{
+lean_object* x_345; lean_object* x_346; lean_object* x_347; lean_object* x_348; uint8_t x_349; lean_object* x_350; lean_object* x_351; lean_object* x_352; lean_object* x_353; lean_object* x_354; lean_object* x_355; lean_object* x_356; lean_object* x_357; lean_object* x_358; lean_object* x_359; lean_object* x_360; lean_object* x_361; lean_object* x_362; lean_object* x_363; lean_object* x_364; lean_object* x_365; lean_object* x_366; lean_object* x_367; lean_object* x_368;
+x_345 = lean_st_ref_get(x_6, x_344);
+x_346 = lean_ctor_get(x_345, 0);
+lean_inc(x_346);
+x_347 = lean_ctor_get(x_345, 1);
+lean_inc(x_347);
+lean_dec(x_345);
+x_348 = lean_ctor_get(x_346, 3);
+lean_inc(x_348);
+lean_dec(x_346);
+x_349 = lean_ctor_get_uint8(x_348, sizeof(void*)*1);
+lean_dec(x_348);
+x_350 = lean_st_ref_take(x_6, x_347);
+x_351 = lean_ctor_get(x_350, 0);
+lean_inc(x_351);
+x_352 = lean_ctor_get(x_351, 3);
+lean_inc(x_352);
+x_353 = lean_ctor_get(x_350, 1);
+lean_inc(x_353);
+lean_dec(x_350);
+x_354 = lean_ctor_get(x_351, 0);
+lean_inc(x_354);
+x_355 = lean_ctor_get(x_351, 1);
+lean_inc(x_355);
+x_356 = lean_ctor_get(x_351, 2);
+lean_inc(x_356);
+if (lean_is_exclusive(x_351)) {
+ lean_ctor_release(x_351, 0);
+ lean_ctor_release(x_351, 1);
+ lean_ctor_release(x_351, 2);
+ lean_ctor_release(x_351, 3);
+ x_357 = x_351;
+} else {
+ lean_dec_ref(x_351);
+ x_357 = lean_box(0);
+}
+x_358 = lean_ctor_get(x_352, 0);
+lean_inc(x_358);
+if (lean_is_exclusive(x_352)) {
+ lean_ctor_release(x_352, 0);
+ x_359 = x_352;
+} else {
+ lean_dec_ref(x_352);
+ x_359 = lean_box(0);
+}
+if (lean_is_scalar(x_359)) {
+ x_360 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_360 = x_359;
+}
+lean_ctor_set(x_360, 0, x_358);
+lean_ctor_set_uint8(x_360, sizeof(void*)*1, x_98);
+if (lean_is_scalar(x_357)) {
+ x_361 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_361 = x_357;
+}
+lean_ctor_set(x_361, 0, x_354);
+lean_ctor_set(x_361, 1, x_355);
+lean_ctor_set(x_361, 2, x_356);
+lean_ctor_set(x_361, 3, x_360);
+x_362 = lean_st_ref_set(x_6, x_361, x_353);
+lean_dec(x_6);
+x_363 = lean_ctor_get(x_362, 1);
lean_inc(x_363);
-lean_dec(x_359);
-x_364 = lean_box(x_356);
-x_365 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_365, 0, x_364);
-lean_ctor_set(x_365, 1, x_363);
-return x_365;
+if (lean_is_exclusive(x_362)) {
+ lean_ctor_release(x_362, 0);
+ lean_ctor_release(x_362, 1);
+ x_364 = x_362;
+} else {
+ lean_dec_ref(x_362);
+ x_364 = lean_box(0);
+}
+x_365 = lean_box(x_343);
+x_366 = lean_box(x_349);
+x_367 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_367, 0, x_365);
+lean_ctor_set(x_367, 1, x_366);
+if (lean_is_scalar(x_364)) {
+ x_368 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_368 = x_364;
+}
+lean_ctor_set(x_368, 0, x_367);
+lean_ctor_set(x_368, 1, x_363);
+x_8 = x_368;
+goto block_20;
+}
+block_390:
+{
+lean_object* x_372; lean_object* x_373; lean_object* x_374; lean_object* x_375; lean_object* x_376; lean_object* x_377; lean_object* x_378; lean_object* x_379; lean_object* x_380; lean_object* x_381; lean_object* x_382; lean_object* x_383; lean_object* x_384; lean_object* x_385; lean_object* x_386; lean_object* x_387; lean_object* x_388; lean_object* x_389;
+x_372 = lean_st_ref_get(x_6, x_371);
+x_373 = lean_ctor_get(x_372, 1);
+lean_inc(x_373);
+lean_dec(x_372);
+x_374 = lean_st_ref_take(x_6, x_373);
+x_375 = lean_ctor_get(x_374, 0);
+lean_inc(x_375);
+x_376 = lean_ctor_get(x_375, 3);
+lean_inc(x_376);
+x_377 = lean_ctor_get(x_374, 1);
+lean_inc(x_377);
+lean_dec(x_374);
+x_378 = lean_ctor_get(x_375, 0);
+lean_inc(x_378);
+x_379 = lean_ctor_get(x_375, 1);
+lean_inc(x_379);
+x_380 = lean_ctor_get(x_375, 2);
+lean_inc(x_380);
+if (lean_is_exclusive(x_375)) {
+ lean_ctor_release(x_375, 0);
+ lean_ctor_release(x_375, 1);
+ lean_ctor_release(x_375, 2);
+ lean_ctor_release(x_375, 3);
+ x_381 = x_375;
+} else {
+ lean_dec_ref(x_375);
+ x_381 = lean_box(0);
+}
+x_382 = lean_ctor_get(x_376, 0);
+lean_inc(x_382);
+if (lean_is_exclusive(x_376)) {
+ lean_ctor_release(x_376, 0);
+ x_383 = x_376;
+} else {
+ lean_dec_ref(x_376);
+ x_383 = lean_box(0);
+}
+if (lean_is_scalar(x_383)) {
+ x_384 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_384 = x_383;
+}
+lean_ctor_set(x_384, 0, x_382);
+lean_ctor_set_uint8(x_384, sizeof(void*)*1, x_98);
+if (lean_is_scalar(x_381)) {
+ x_385 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_385 = x_381;
+}
+lean_ctor_set(x_385, 0, x_378);
+lean_ctor_set(x_385, 1, x_379);
+lean_ctor_set(x_385, 2, x_380);
+lean_ctor_set(x_385, 3, x_384);
+x_386 = lean_st_ref_set(x_6, x_385, x_377);
+lean_dec(x_6);
+x_387 = lean_ctor_get(x_386, 1);
+lean_inc(x_387);
+if (lean_is_exclusive(x_386)) {
+ lean_ctor_release(x_386, 0);
+ lean_ctor_release(x_386, 1);
+ x_388 = x_386;
+} else {
+ lean_dec_ref(x_386);
+ x_388 = lean_box(0);
+}
+if (lean_is_scalar(x_388)) {
+ x_389 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_389 = x_388;
+ lean_ctor_set_tag(x_389, 1);
+}
+lean_ctor_set(x_389, 0, x_370);
+lean_ctor_set(x_389, 1, x_387);
+x_8 = x_389;
+goto block_20;
+}
}
}
}
@@ -23321,20 +23413,20 @@ l_Lean_Meta_isLevelDefEqAux___closed__6 = _init_l_Lean_Meta_isLevelDefEqAux___cl
lean_mark_persistent(l_Lean_Meta_isLevelDefEqAux___closed__6);
l_Lean_Meta_isLevelDefEqAux___closed__7 = _init_l_Lean_Meta_isLevelDefEqAux___closed__7();
lean_mark_persistent(l_Lean_Meta_isLevelDefEqAux___closed__7);
-l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__4___closed__1 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__4___closed__1();
-lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__4___closed__1);
-l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__4___closed__2 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__4___closed__2();
-lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__4___closed__2);
-l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__4___closed__3 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__4___closed__3();
-lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__4___closed__3);
-l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__4___closed__4 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__4___closed__4();
-lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__4___closed__4);
-l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__4___closed__5 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__4___closed__5();
-lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__4___closed__5);
l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__5___closed__1 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__5___closed__1();
lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__5___closed__1);
l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__5___closed__2 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__5___closed__2();
lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__5___closed__2);
+l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__5___closed__3 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__5___closed__3();
+lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__5___closed__3);
+l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__5___closed__4 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__5___closed__4();
+lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__5___closed__4);
+l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__5___closed__5 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__5___closed__5();
+lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__5___closed__5);
+l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__6___closed__1 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__6___closed__1();
+lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__6___closed__1);
+l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__6___closed__2 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__6___closed__2();
+lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__6___closed__2);
l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__1 = _init_l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__1();
lean_mark_persistent(l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__1);
l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__2 = _init_l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___closed__2();
diff --git a/stage0/stdlib/Lean/Meta/Match/CaseValues.c b/stage0/stdlib/Lean/Meta/Match/CaseValues.c
index 2284cb8b5a..c4ec7ad2d3 100644
--- a/stage0/stdlib/Lean/Meta/Match/CaseValues.c
+++ b/stage0/stdlib/Lean/Meta/Match/CaseValues.c
@@ -27,6 +27,7 @@ lean_object* l_Lean_Meta_caseValueAux___lambda__3(lean_object*, lean_object*, le
extern lean_object* l_Array_empty___closed__1;
lean_object* l_Lean_Meta_caseValues_loop_match__1(lean_object*);
lean_object* lean_st_ref_get(lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_isLevelDefEq___spec__2___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_CaseValuesSubgoal_newHs___default;
extern lean_object* l_Lean_Meta_mkAppM___rarg___closed__2;
@@ -46,7 +47,6 @@ lean_object* l_Lean_Meta_caseValues_loop_match__4(lean_object*);
lean_object* l_Lean_Meta_caseValueAux___lambda__1___closed__2;
lean_object* l_Lean_Meta_CaseValuesSubgoal_subst___default;
lean_object* l_Array_iterateMAux___main___at_Lean_Meta_caseValues_loop___spec__1(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_Util_Trace_5__getResetTraces___at_Lean_Meta_isLevelDefEq___spec__3___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Meta_intro1Core(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_caseValues_loop___closed__4;
lean_object* lean_array_fget(lean_object*, lean_object*);
@@ -85,7 +85,6 @@ lean_object* l_Lean_Meta_caseValueAux___lambda__3___closed__10;
lean_object* l_Lean_Meta_caseValues_loop_match__4___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
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_FVarSubst_get(lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_isLevelDefEq___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_caseValues_loop___closed__2;
lean_object* l_Lean_Meta_caseValueAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_getLocalDecl___at_Lean_Meta_getFVarLocalDecl___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -106,18 +105,18 @@ lean_object* l_Lean_mkForall(lean_object*, uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_Meta_withMVarContext___at_Lean_Meta_revert___spec__5___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_caseValues_loop_match__2(lean_object*);
lean_object* l_Array_toList___rarg(lean_object*);
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_caseValueAux___lambda__3___closed__5;
lean_object* l_Lean_Meta_caseValueAux_match__2___rarg(lean_object*, lean_object*);
extern lean_object* l_Lean_mkOptionalNode___closed__2;
lean_object* l_Lean_Meta_caseValueAux_match__2(lean_object*);
lean_object* l_Lean_Meta_mkFreshExprSyntheticOpaqueMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_CaseValueSubgoals_inhabited;
lean_object* l_Lean_Meta_caseValueAux___lambda__3___closed__8;
lean_object* l_Lean_Meta_CaseValueSubgoal_inhabited___closed__1;
lean_object* l_Lean_Meta_caseValueAux___lambda__2___closed__4;
lean_object* l_Lean_Meta_mkAppOptM___at_Lean_Meta_caseValueAux___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_caseValues_loop___closed__7;
lean_object* l_Lean_Meta_caseValueAux___lambda__3___closed__1;
lean_object* l_Lean_Meta_getMVarTag___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -129,6 +128,7 @@ lean_object* l_Lean_Meta_assignExprMVar___at___private_Lean_Meta_InferType_0__Le
extern lean_object* l_Lean_Meta_isLevelDefEq___rarg___closed__2;
lean_object* l_Lean_Meta_caseValues_loop_match__3___rarg(lean_object*, lean_object*);
uint8_t lean_nat_dec_lt(lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_isLevelDefEq___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* _init_l_Lean_Meta_CaseValueSubgoal_subst___default() {
_start:
{
@@ -224,7 +224,7 @@ return x_2;
lean_object* l_Lean_Meta_mkAppOptM___at_Lean_Meta_caseValueAux___spec__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) {
_start:
{
-lean_object* x_8; lean_object* x_9; lean_object* x_10; uint8_t x_11; lean_object* x_12; lean_object* x_214; lean_object* x_215; lean_object* x_216; uint8_t x_217;
+lean_object* x_8; lean_object* x_9; lean_object* x_10; uint8_t x_11; lean_object* x_12; lean_object* x_218; lean_object* x_219; lean_object* x_220; uint8_t x_221;
x_8 = lean_alloc_closure((void*)(l___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkFun___boxed), 6, 1);
lean_closure_set(x_8, 0, x_1);
x_9 = lean_alloc_closure((void*)(l_Lean_Meta_mkAppOptM___rarg___lambda__1___boxed), 7, 1);
@@ -232,291 +232,309 @@ lean_closure_set(x_9, 0, x_2);
x_10 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Meta_Lean_Meta_Basic___instance__5___spec__2___rarg), 7, 2);
lean_closure_set(x_10, 0, x_8);
lean_closure_set(x_10, 1, x_9);
-x_214 = lean_st_ref_get(x_6, x_7);
-x_215 = lean_ctor_get(x_214, 0);
-lean_inc(x_215);
-x_216 = lean_ctor_get(x_215, 3);
-lean_inc(x_216);
-lean_dec(x_215);
-x_217 = lean_ctor_get_uint8(x_216, sizeof(void*)*1);
-lean_dec(x_216);
-if (x_217 == 0)
+x_218 = lean_st_ref_get(x_6, x_7);
+x_219 = lean_ctor_get(x_218, 0);
+lean_inc(x_219);
+x_220 = lean_ctor_get(x_219, 3);
+lean_inc(x_220);
+lean_dec(x_219);
+x_221 = lean_ctor_get_uint8(x_220, sizeof(void*)*1);
+lean_dec(x_220);
+if (x_221 == 0)
{
-lean_object* x_218; uint8_t x_219;
-x_218 = lean_ctor_get(x_214, 1);
-lean_inc(x_218);
-lean_dec(x_214);
-x_219 = 0;
-x_11 = x_219;
-x_12 = x_218;
-goto block_213;
+lean_object* x_222; uint8_t x_223;
+x_222 = lean_ctor_get(x_218, 1);
+lean_inc(x_222);
+lean_dec(x_218);
+x_223 = 0;
+x_11 = x_223;
+x_12 = x_222;
+goto block_217;
}
else
{
-lean_object* x_220; lean_object* x_221; lean_object* x_222; lean_object* x_223; lean_object* x_224; uint8_t x_225;
-x_220 = lean_ctor_get(x_214, 1);
-lean_inc(x_220);
-lean_dec(x_214);
-x_221 = l_Lean_Meta_mkAppM___rarg___closed__2;
-x_222 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_221, x_3, x_4, x_5, x_6, x_220);
-x_223 = lean_ctor_get(x_222, 0);
-lean_inc(x_223);
-x_224 = lean_ctor_get(x_222, 1);
+lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; lean_object* x_228; uint8_t x_229;
+x_224 = lean_ctor_get(x_218, 1);
lean_inc(x_224);
-lean_dec(x_222);
-x_225 = lean_unbox(x_223);
-lean_dec(x_223);
-x_11 = x_225;
-x_12 = x_224;
-goto block_213;
+lean_dec(x_218);
+x_225 = l_Lean_Meta_mkAppM___rarg___closed__2;
+x_226 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_225, x_3, x_4, x_5, x_6, x_224);
+x_227 = lean_ctor_get(x_226, 0);
+lean_inc(x_227);
+x_228 = lean_ctor_get(x_226, 1);
+lean_inc(x_228);
+lean_dec(x_226);
+x_229 = lean_unbox(x_227);
+lean_dec(x_227);
+x_11 = x_229;
+x_12 = x_228;
+goto block_217;
}
-block_213:
+block_217:
{
+uint8_t x_13;
if (x_11 == 0)
{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; uint8_t x_22;
-x_13 = lean_st_ref_get(x_6, x_12);
-x_14 = lean_ctor_get(x_13, 0);
-lean_inc(x_14);
-x_15 = lean_ctor_get(x_14, 3);
-lean_inc(x_15);
-lean_dec(x_14);
-x_16 = lean_ctor_get(x_13, 1);
-lean_inc(x_16);
-lean_dec(x_13);
-x_17 = lean_ctor_get_uint8(x_15, sizeof(void*)*1);
-lean_dec(x_15);
-x_18 = lean_st_ref_take(x_6, x_16);
-x_19 = lean_ctor_get(x_18, 0);
-lean_inc(x_19);
-x_20 = lean_ctor_get(x_19, 3);
-lean_inc(x_20);
-x_21 = lean_ctor_get(x_18, 1);
-lean_inc(x_21);
-lean_dec(x_18);
-x_22 = !lean_is_exclusive(x_19);
-if (x_22 == 0)
-{
-lean_object* x_23; uint8_t x_24;
-x_23 = lean_ctor_get(x_19, 3);
-lean_dec(x_23);
-x_24 = !lean_is_exclusive(x_20);
-if (x_24 == 0)
-{
-uint8_t x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
-x_25 = 0;
-lean_ctor_set_uint8(x_20, sizeof(void*)*1, x_25);
-x_26 = lean_st_ref_set(x_6, x_19, x_21);
-x_27 = lean_ctor_get(x_26, 1);
-lean_inc(x_27);
-lean_dec(x_26);
-lean_inc(x_6);
-x_28 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_10, x_3, x_4, x_5, x_6, x_27);
-if (lean_obj_tag(x_28) == 0)
-{
-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; uint8_t x_37;
-x_29 = lean_ctor_get(x_28, 0);
-lean_inc(x_29);
-x_30 = lean_ctor_get(x_28, 1);
-lean_inc(x_30);
-lean_dec(x_28);
-x_31 = lean_st_ref_get(x_6, x_30);
-x_32 = lean_ctor_get(x_31, 1);
-lean_inc(x_32);
-lean_dec(x_31);
-x_33 = lean_st_ref_take(x_6, x_32);
-x_34 = lean_ctor_get(x_33, 0);
-lean_inc(x_34);
-x_35 = lean_ctor_get(x_34, 3);
-lean_inc(x_35);
-x_36 = lean_ctor_get(x_33, 1);
-lean_inc(x_36);
-lean_dec(x_33);
-x_37 = !lean_is_exclusive(x_34);
-if (x_37 == 0)
-{
-lean_object* x_38; uint8_t x_39;
-x_38 = lean_ctor_get(x_34, 3);
-lean_dec(x_38);
-x_39 = !lean_is_exclusive(x_35);
-if (x_39 == 0)
-{
-lean_object* x_40; uint8_t x_41;
-lean_ctor_set_uint8(x_35, sizeof(void*)*1, x_17);
-x_40 = lean_st_ref_set(x_6, x_34, x_36);
-lean_dec(x_6);
-x_41 = !lean_is_exclusive(x_40);
-if (x_41 == 0)
-{
-lean_object* x_42;
-x_42 = lean_ctor_get(x_40, 0);
-lean_dec(x_42);
-lean_ctor_set(x_40, 0, x_29);
-return x_40;
+uint8_t x_215;
+x_215 = 1;
+x_13 = x_215;
+goto block_214;
}
else
{
-lean_object* x_43; lean_object* x_44;
+uint8_t x_216;
+x_216 = 0;
+x_13 = x_216;
+goto block_214;
+}
+block_214:
+{
+if (x_13 == 0)
+{
+lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
+x_14 = lean_ctor_get(x_5, 3);
+lean_inc(x_14);
+x_15 = l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_isLevelDefEq___spec__2___rarg(x_6, x_12);
+x_16 = lean_ctor_get(x_15, 0);
+lean_inc(x_16);
+x_17 = lean_ctor_get(x_15, 1);
+lean_inc(x_17);
+lean_dec(x_15);
+lean_inc(x_6);
+lean_inc(x_5);
+lean_inc(x_4);
+lean_inc(x_3);
+x_18 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_10, x_3, x_4, x_5, x_6, x_17);
+if (lean_obj_tag(x_18) == 0)
+{
+lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; uint8_t x_23;
+x_19 = lean_ctor_get(x_18, 0);
+lean_inc(x_19);
+x_20 = lean_ctor_get(x_18, 1);
+lean_inc(x_20);
+lean_dec(x_18);
+x_21 = l_Lean_Meta_mkAppM___rarg___closed__2;
+x_22 = l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_isLevelDefEq___spec__3(x_16, x_21, x_14, x_3, x_4, x_5, x_6, x_20);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_23 = !lean_is_exclusive(x_22);
+if (x_23 == 0)
+{
+lean_object* x_24;
+x_24 = lean_ctor_get(x_22, 0);
+lean_dec(x_24);
+lean_ctor_set(x_22, 0, x_19);
+return x_22;
+}
+else
+{
+lean_object* x_25; lean_object* x_26;
+x_25 = lean_ctor_get(x_22, 1);
+lean_inc(x_25);
+lean_dec(x_22);
+x_26 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_26, 0, x_19);
+lean_ctor_set(x_26, 1, x_25);
+return x_26;
+}
+}
+else
+{
+lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31;
+x_27 = lean_ctor_get(x_18, 0);
+lean_inc(x_27);
+x_28 = lean_ctor_get(x_18, 1);
+lean_inc(x_28);
+lean_dec(x_18);
+x_29 = l_Lean_Meta_mkAppM___rarg___closed__2;
+x_30 = l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_isLevelDefEq___spec__3(x_16, x_29, x_14, x_3, x_4, x_5, x_6, x_28);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_31 = !lean_is_exclusive(x_30);
+if (x_31 == 0)
+{
+lean_object* x_32;
+x_32 = lean_ctor_get(x_30, 0);
+lean_dec(x_32);
+lean_ctor_set_tag(x_30, 1);
+lean_ctor_set(x_30, 0, x_27);
+return x_30;
+}
+else
+{
+lean_object* x_33; lean_object* x_34;
+x_33 = lean_ctor_get(x_30, 1);
+lean_inc(x_33);
+lean_dec(x_30);
+x_34 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_34, 0, x_27);
+lean_ctor_set(x_34, 1, x_33);
+return x_34;
+}
+}
+}
+else
+{
+lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; uint8_t x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; uint8_t x_44;
+x_35 = lean_st_ref_get(x_6, x_12);
+x_36 = lean_ctor_get(x_35, 0);
+lean_inc(x_36);
+x_37 = lean_ctor_get(x_36, 3);
+lean_inc(x_37);
+lean_dec(x_36);
+x_38 = lean_ctor_get(x_35, 1);
+lean_inc(x_38);
+lean_dec(x_35);
+x_39 = lean_ctor_get_uint8(x_37, sizeof(void*)*1);
+lean_dec(x_37);
+x_40 = lean_st_ref_take(x_6, x_38);
+x_41 = lean_ctor_get(x_40, 0);
+lean_inc(x_41);
+x_42 = lean_ctor_get(x_41, 3);
+lean_inc(x_42);
x_43 = lean_ctor_get(x_40, 1);
lean_inc(x_43);
lean_dec(x_40);
-x_44 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_44, 0, x_29);
-lean_ctor_set(x_44, 1, x_43);
-return x_44;
-}
-}
-else
+x_44 = !lean_is_exclusive(x_41);
+if (x_44 == 0)
{
-lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50;
-x_45 = lean_ctor_get(x_35, 0);
-lean_inc(x_45);
-lean_dec(x_35);
-x_46 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_46, 0, x_45);
-lean_ctor_set_uint8(x_46, sizeof(void*)*1, x_17);
-lean_ctor_set(x_34, 3, x_46);
-x_47 = lean_st_ref_set(x_6, x_34, x_36);
-lean_dec(x_6);
-x_48 = lean_ctor_get(x_47, 1);
-lean_inc(x_48);
-if (lean_is_exclusive(x_47)) {
- lean_ctor_release(x_47, 0);
- lean_ctor_release(x_47, 1);
- x_49 = x_47;
-} else {
- lean_dec_ref(x_47);
- x_49 = lean_box(0);
-}
-if (lean_is_scalar(x_49)) {
- x_50 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_50 = x_49;
-}
-lean_ctor_set(x_50, 0, x_29);
-lean_ctor_set(x_50, 1, x_48);
-return x_50;
-}
-}
-else
+lean_object* x_45; uint8_t x_46;
+x_45 = lean_ctor_get(x_41, 3);
+lean_dec(x_45);
+x_46 = !lean_is_exclusive(x_42);
+if (x_46 == 0)
{
-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;
-x_51 = lean_ctor_get(x_34, 0);
-x_52 = lean_ctor_get(x_34, 1);
-x_53 = lean_ctor_get(x_34, 2);
-lean_inc(x_53);
-lean_inc(x_52);
+uint8_t x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50;
+x_47 = 0;
+lean_ctor_set_uint8(x_42, sizeof(void*)*1, x_47);
+x_48 = lean_st_ref_set(x_6, x_41, x_43);
+x_49 = lean_ctor_get(x_48, 1);
+lean_inc(x_49);
+lean_dec(x_48);
+lean_inc(x_6);
+x_50 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_10, x_3, x_4, x_5, x_6, x_49);
+if (lean_obj_tag(x_50) == 0)
+{
+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; uint8_t x_59;
+x_51 = lean_ctor_get(x_50, 0);
lean_inc(x_51);
-lean_dec(x_34);
-x_54 = lean_ctor_get(x_35, 0);
+x_52 = lean_ctor_get(x_50, 1);
+lean_inc(x_52);
+lean_dec(x_50);
+x_53 = lean_st_ref_get(x_6, x_52);
+x_54 = lean_ctor_get(x_53, 1);
lean_inc(x_54);
-if (lean_is_exclusive(x_35)) {
- lean_ctor_release(x_35, 0);
- x_55 = x_35;
-} else {
- lean_dec_ref(x_35);
- x_55 = lean_box(0);
-}
-if (lean_is_scalar(x_55)) {
- x_56 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_56 = x_55;
-}
-lean_ctor_set(x_56, 0, x_54);
-lean_ctor_set_uint8(x_56, sizeof(void*)*1, x_17);
-x_57 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_57, 0, x_51);
-lean_ctor_set(x_57, 1, x_52);
-lean_ctor_set(x_57, 2, x_53);
-lean_ctor_set(x_57, 3, x_56);
-x_58 = lean_st_ref_set(x_6, x_57, x_36);
-lean_dec(x_6);
-x_59 = lean_ctor_get(x_58, 1);
-lean_inc(x_59);
-if (lean_is_exclusive(x_58)) {
- lean_ctor_release(x_58, 0);
- lean_ctor_release(x_58, 1);
- x_60 = x_58;
-} else {
- lean_dec_ref(x_58);
- x_60 = lean_box(0);
-}
-if (lean_is_scalar(x_60)) {
- x_61 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_61 = x_60;
-}
-lean_ctor_set(x_61, 0, x_29);
-lean_ctor_set(x_61, 1, x_59);
-return x_61;
-}
-}
-else
+lean_dec(x_53);
+x_55 = lean_st_ref_take(x_6, x_54);
+x_56 = lean_ctor_get(x_55, 0);
+lean_inc(x_56);
+x_57 = lean_ctor_get(x_56, 3);
+lean_inc(x_57);
+x_58 = lean_ctor_get(x_55, 1);
+lean_inc(x_58);
+lean_dec(x_55);
+x_59 = !lean_is_exclusive(x_56);
+if (x_59 == 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; uint8_t x_70;
-x_62 = lean_ctor_get(x_28, 0);
-lean_inc(x_62);
-x_63 = lean_ctor_get(x_28, 1);
-lean_inc(x_63);
-lean_dec(x_28);
-x_64 = lean_st_ref_get(x_6, x_63);
-x_65 = lean_ctor_get(x_64, 1);
-lean_inc(x_65);
+lean_object* x_60; uint8_t x_61;
+x_60 = lean_ctor_get(x_56, 3);
+lean_dec(x_60);
+x_61 = !lean_is_exclusive(x_57);
+if (x_61 == 0)
+{
+lean_object* x_62; uint8_t x_63;
+lean_ctor_set_uint8(x_57, sizeof(void*)*1, x_39);
+x_62 = lean_st_ref_set(x_6, x_56, x_58);
+lean_dec(x_6);
+x_63 = !lean_is_exclusive(x_62);
+if (x_63 == 0)
+{
+lean_object* x_64;
+x_64 = lean_ctor_get(x_62, 0);
lean_dec(x_64);
-x_66 = lean_st_ref_take(x_6, x_65);
-x_67 = lean_ctor_get(x_66, 0);
+lean_ctor_set(x_62, 0, x_51);
+return x_62;
+}
+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(0, 2, 0);
+lean_ctor_set(x_66, 0, x_51);
+lean_ctor_set(x_66, 1, x_65);
+return x_66;
+}
+}
+else
+{
+lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72;
+x_67 = lean_ctor_get(x_57, 0);
lean_inc(x_67);
-x_68 = lean_ctor_get(x_67, 3);
-lean_inc(x_68);
-x_69 = lean_ctor_get(x_66, 1);
-lean_inc(x_69);
-lean_dec(x_66);
-x_70 = !lean_is_exclusive(x_67);
-if (x_70 == 0)
-{
-lean_object* x_71; uint8_t x_72;
-x_71 = lean_ctor_get(x_67, 3);
-lean_dec(x_71);
-x_72 = !lean_is_exclusive(x_68);
-if (x_72 == 0)
-{
-lean_object* x_73; uint8_t x_74;
-lean_ctor_set_uint8(x_68, sizeof(void*)*1, x_17);
-x_73 = lean_st_ref_set(x_6, x_67, x_69);
+lean_dec(x_57);
+x_68 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_68, 0, x_67);
+lean_ctor_set_uint8(x_68, sizeof(void*)*1, x_39);
+lean_ctor_set(x_56, 3, x_68);
+x_69 = lean_st_ref_set(x_6, x_56, x_58);
lean_dec(x_6);
-x_74 = !lean_is_exclusive(x_73);
-if (x_74 == 0)
-{
-lean_object* x_75;
-x_75 = lean_ctor_get(x_73, 0);
-lean_dec(x_75);
-lean_ctor_set_tag(x_73, 1);
-lean_ctor_set(x_73, 0, x_62);
-return x_73;
+x_70 = lean_ctor_get(x_69, 1);
+lean_inc(x_70);
+if (lean_is_exclusive(x_69)) {
+ lean_ctor_release(x_69, 0);
+ lean_ctor_release(x_69, 1);
+ x_71 = x_69;
+} else {
+ lean_dec_ref(x_69);
+ x_71 = lean_box(0);
+}
+if (lean_is_scalar(x_71)) {
+ x_72 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_72 = x_71;
+}
+lean_ctor_set(x_72, 0, x_51);
+lean_ctor_set(x_72, 1, x_70);
+return x_72;
+}
}
else
{
-lean_object* x_76; lean_object* x_77;
-x_76 = lean_ctor_get(x_73, 1);
+lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83;
+x_73 = lean_ctor_get(x_56, 0);
+x_74 = lean_ctor_get(x_56, 1);
+x_75 = lean_ctor_get(x_56, 2);
+lean_inc(x_75);
+lean_inc(x_74);
+lean_inc(x_73);
+lean_dec(x_56);
+x_76 = lean_ctor_get(x_57, 0);
lean_inc(x_76);
-lean_dec(x_73);
-x_77 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_77, 0, x_62);
-lean_ctor_set(x_77, 1, x_76);
-return x_77;
+if (lean_is_exclusive(x_57)) {
+ lean_ctor_release(x_57, 0);
+ x_77 = x_57;
+} else {
+ lean_dec_ref(x_57);
+ x_77 = lean_box(0);
}
+if (lean_is_scalar(x_77)) {
+ x_78 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_78 = x_77;
}
-else
-{
-lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83;
-x_78 = lean_ctor_get(x_68, 0);
-lean_inc(x_78);
-lean_dec(x_68);
-x_79 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_79, 0, x_78);
-lean_ctor_set_uint8(x_79, sizeof(void*)*1, x_17);
-lean_ctor_set(x_67, 3, x_79);
-x_80 = lean_st_ref_set(x_6, x_67, x_69);
+lean_ctor_set(x_78, 0, x_76);
+lean_ctor_set_uint8(x_78, sizeof(void*)*1, x_39);
+x_79 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_79, 0, x_73);
+lean_ctor_set(x_79, 1, x_74);
+lean_ctor_set(x_79, 2, x_75);
+lean_ctor_set(x_79, 3, x_78);
+x_80 = lean_st_ref_set(x_6, x_79, x_58);
lean_dec(x_6);
x_81 = lean_ctor_get(x_80, 1);
lean_inc(x_81);
@@ -529,545 +547,545 @@ if (lean_is_exclusive(x_80)) {
x_82 = lean_box(0);
}
if (lean_is_scalar(x_82)) {
- x_83 = lean_alloc_ctor(1, 2, 0);
+ x_83 = lean_alloc_ctor(0, 2, 0);
} else {
x_83 = x_82;
- lean_ctor_set_tag(x_83, 1);
}
-lean_ctor_set(x_83, 0, x_62);
+lean_ctor_set(x_83, 0, x_51);
lean_ctor_set(x_83, 1, x_81);
return x_83;
}
}
else
{
-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;
-x_84 = lean_ctor_get(x_67, 0);
-x_85 = lean_ctor_get(x_67, 1);
-x_86 = lean_ctor_get(x_67, 2);
-lean_inc(x_86);
-lean_inc(x_85);
+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; uint8_t x_92;
+x_84 = lean_ctor_get(x_50, 0);
lean_inc(x_84);
-lean_dec(x_67);
-x_87 = lean_ctor_get(x_68, 0);
+x_85 = lean_ctor_get(x_50, 1);
+lean_inc(x_85);
+lean_dec(x_50);
+x_86 = lean_st_ref_get(x_6, x_85);
+x_87 = lean_ctor_get(x_86, 1);
lean_inc(x_87);
-if (lean_is_exclusive(x_68)) {
- lean_ctor_release(x_68, 0);
- x_88 = x_68;
-} else {
- lean_dec_ref(x_68);
- x_88 = lean_box(0);
-}
-if (lean_is_scalar(x_88)) {
- x_89 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_89 = x_88;
-}
-lean_ctor_set(x_89, 0, x_87);
-lean_ctor_set_uint8(x_89, sizeof(void*)*1, x_17);
-x_90 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_90, 0, x_84);
-lean_ctor_set(x_90, 1, x_85);
-lean_ctor_set(x_90, 2, x_86);
-lean_ctor_set(x_90, 3, x_89);
-x_91 = lean_st_ref_set(x_6, x_90, x_69);
+lean_dec(x_86);
+x_88 = lean_st_ref_take(x_6, x_87);
+x_89 = lean_ctor_get(x_88, 0);
+lean_inc(x_89);
+x_90 = lean_ctor_get(x_89, 3);
+lean_inc(x_90);
+x_91 = lean_ctor_get(x_88, 1);
+lean_inc(x_91);
+lean_dec(x_88);
+x_92 = !lean_is_exclusive(x_89);
+if (x_92 == 0)
+{
+lean_object* x_93; uint8_t x_94;
+x_93 = lean_ctor_get(x_89, 3);
+lean_dec(x_93);
+x_94 = !lean_is_exclusive(x_90);
+if (x_94 == 0)
+{
+lean_object* x_95; uint8_t x_96;
+lean_ctor_set_uint8(x_90, sizeof(void*)*1, x_39);
+x_95 = lean_st_ref_set(x_6, x_89, x_91);
lean_dec(x_6);
-x_92 = lean_ctor_get(x_91, 1);
-lean_inc(x_92);
-if (lean_is_exclusive(x_91)) {
- lean_ctor_release(x_91, 0);
- lean_ctor_release(x_91, 1);
- x_93 = x_91;
-} else {
- lean_dec_ref(x_91);
- x_93 = lean_box(0);
-}
-if (lean_is_scalar(x_93)) {
- x_94 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_94 = x_93;
- lean_ctor_set_tag(x_94, 1);
-}
-lean_ctor_set(x_94, 0, x_62);
-lean_ctor_set(x_94, 1, x_92);
-return x_94;
+x_96 = !lean_is_exclusive(x_95);
+if (x_96 == 0)
+{
+lean_object* x_97;
+x_97 = lean_ctor_get(x_95, 0);
+lean_dec(x_97);
+lean_ctor_set_tag(x_95, 1);
+lean_ctor_set(x_95, 0, x_84);
+return x_95;
}
+else
+{
+lean_object* x_98; lean_object* x_99;
+x_98 = lean_ctor_get(x_95, 1);
+lean_inc(x_98);
+lean_dec(x_95);
+x_99 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_99, 0, x_84);
+lean_ctor_set(x_99, 1, x_98);
+return x_99;
}
}
else
{
-lean_object* x_95; uint8_t x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100;
-x_95 = lean_ctor_get(x_20, 0);
-lean_inc(x_95);
-lean_dec(x_20);
-x_96 = 0;
-x_97 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_97, 0, x_95);
-lean_ctor_set_uint8(x_97, sizeof(void*)*1, x_96);
-lean_ctor_set(x_19, 3, x_97);
-x_98 = lean_st_ref_set(x_6, x_19, x_21);
-x_99 = lean_ctor_get(x_98, 1);
-lean_inc(x_99);
-lean_dec(x_98);
-lean_inc(x_6);
-x_100 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_10, x_3, x_4, x_5, x_6, x_99);
-if (lean_obj_tag(x_100) == 0)
+lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105;
+x_100 = lean_ctor_get(x_90, 0);
+lean_inc(x_100);
+lean_dec(x_90);
+x_101 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_101, 0, x_100);
+lean_ctor_set_uint8(x_101, sizeof(void*)*1, x_39);
+lean_ctor_set(x_89, 3, x_101);
+x_102 = lean_st_ref_set(x_6, x_89, x_91);
+lean_dec(x_6);
+x_103 = lean_ctor_get(x_102, 1);
+lean_inc(x_103);
+if (lean_is_exclusive(x_102)) {
+ lean_ctor_release(x_102, 0);
+ lean_ctor_release(x_102, 1);
+ x_104 = x_102;
+} else {
+ lean_dec_ref(x_102);
+ x_104 = lean_box(0);
+}
+if (lean_is_scalar(x_104)) {
+ x_105 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_105 = x_104;
+ lean_ctor_set_tag(x_105, 1);
+}
+lean_ctor_set(x_105, 0, x_84);
+lean_ctor_set(x_105, 1, x_103);
+return x_105;
+}
+}
+else
{
-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;
-x_101 = lean_ctor_get(x_100, 0);
-lean_inc(x_101);
-x_102 = lean_ctor_get(x_100, 1);
-lean_inc(x_102);
-lean_dec(x_100);
-x_103 = lean_st_ref_get(x_6, x_102);
-x_104 = lean_ctor_get(x_103, 1);
-lean_inc(x_104);
-lean_dec(x_103);
-x_105 = lean_st_ref_take(x_6, x_104);
-x_106 = lean_ctor_get(x_105, 0);
-lean_inc(x_106);
-x_107 = lean_ctor_get(x_106, 3);
-lean_inc(x_107);
-x_108 = lean_ctor_get(x_105, 1);
+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;
+x_106 = lean_ctor_get(x_89, 0);
+x_107 = lean_ctor_get(x_89, 1);
+x_108 = lean_ctor_get(x_89, 2);
lean_inc(x_108);
-lean_dec(x_105);
-x_109 = lean_ctor_get(x_106, 0);
+lean_inc(x_107);
+lean_inc(x_106);
+lean_dec(x_89);
+x_109 = lean_ctor_get(x_90, 0);
lean_inc(x_109);
-x_110 = lean_ctor_get(x_106, 1);
-lean_inc(x_110);
-x_111 = lean_ctor_get(x_106, 2);
-lean_inc(x_111);
-if (lean_is_exclusive(x_106)) {
- lean_ctor_release(x_106, 0);
- lean_ctor_release(x_106, 1);
- lean_ctor_release(x_106, 2);
- lean_ctor_release(x_106, 3);
- x_112 = x_106;
+if (lean_is_exclusive(x_90)) {
+ lean_ctor_release(x_90, 0);
+ x_110 = x_90;
} else {
- lean_dec_ref(x_106);
- x_112 = lean_box(0);
+ lean_dec_ref(x_90);
+ x_110 = lean_box(0);
}
-x_113 = lean_ctor_get(x_107, 0);
-lean_inc(x_113);
-if (lean_is_exclusive(x_107)) {
- lean_ctor_release(x_107, 0);
- x_114 = x_107;
+if (lean_is_scalar(x_110)) {
+ x_111 = lean_alloc_ctor(0, 1, 1);
} else {
- lean_dec_ref(x_107);
- x_114 = lean_box(0);
+ x_111 = x_110;
}
-if (lean_is_scalar(x_114)) {
- x_115 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_115 = x_114;
-}
-lean_ctor_set(x_115, 0, x_113);
-lean_ctor_set_uint8(x_115, sizeof(void*)*1, x_17);
-if (lean_is_scalar(x_112)) {
- x_116 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_116 = x_112;
-}
-lean_ctor_set(x_116, 0, x_109);
-lean_ctor_set(x_116, 1, x_110);
-lean_ctor_set(x_116, 2, x_111);
-lean_ctor_set(x_116, 3, x_115);
-x_117 = lean_st_ref_set(x_6, x_116, x_108);
+lean_ctor_set(x_111, 0, x_109);
+lean_ctor_set_uint8(x_111, sizeof(void*)*1, x_39);
+x_112 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_112, 0, x_106);
+lean_ctor_set(x_112, 1, x_107);
+lean_ctor_set(x_112, 2, x_108);
+lean_ctor_set(x_112, 3, x_111);
+x_113 = lean_st_ref_set(x_6, x_112, x_91);
lean_dec(x_6);
-x_118 = lean_ctor_get(x_117, 1);
-lean_inc(x_118);
-if (lean_is_exclusive(x_117)) {
- lean_ctor_release(x_117, 0);
- lean_ctor_release(x_117, 1);
- x_119 = x_117;
+x_114 = lean_ctor_get(x_113, 1);
+lean_inc(x_114);
+if (lean_is_exclusive(x_113)) {
+ lean_ctor_release(x_113, 0);
+ lean_ctor_release(x_113, 1);
+ x_115 = x_113;
} else {
- lean_dec_ref(x_117);
- x_119 = lean_box(0);
+ lean_dec_ref(x_113);
+ x_115 = lean_box(0);
}
-if (lean_is_scalar(x_119)) {
- x_120 = lean_alloc_ctor(0, 2, 0);
+if (lean_is_scalar(x_115)) {
+ x_116 = lean_alloc_ctor(1, 2, 0);
} else {
- x_120 = x_119;
+ x_116 = x_115;
+ lean_ctor_set_tag(x_116, 1);
+}
+lean_ctor_set(x_116, 0, x_84);
+lean_ctor_set(x_116, 1, x_114);
+return x_116;
+}
}
-lean_ctor_set(x_120, 0, x_101);
-lean_ctor_set(x_120, 1, x_118);
-return x_120;
}
else
{
-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; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140;
-x_121 = lean_ctor_get(x_100, 0);
+lean_object* x_117; uint8_t x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122;
+x_117 = lean_ctor_get(x_42, 0);
+lean_inc(x_117);
+lean_dec(x_42);
+x_118 = 0;
+x_119 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_119, 0, x_117);
+lean_ctor_set_uint8(x_119, sizeof(void*)*1, x_118);
+lean_ctor_set(x_41, 3, x_119);
+x_120 = lean_st_ref_set(x_6, x_41, x_43);
+x_121 = lean_ctor_get(x_120, 1);
lean_inc(x_121);
-x_122 = lean_ctor_get(x_100, 1);
-lean_inc(x_122);
-lean_dec(x_100);
-x_123 = lean_st_ref_get(x_6, x_122);
-x_124 = lean_ctor_get(x_123, 1);
+lean_dec(x_120);
+lean_inc(x_6);
+x_122 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_10, x_3, x_4, x_5, x_6, x_121);
+if (lean_obj_tag(x_122) == 0)
+{
+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; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142;
+x_123 = lean_ctor_get(x_122, 0);
+lean_inc(x_123);
+x_124 = lean_ctor_get(x_122, 1);
lean_inc(x_124);
-lean_dec(x_123);
-x_125 = lean_st_ref_take(x_6, x_124);
-x_126 = lean_ctor_get(x_125, 0);
+lean_dec(x_122);
+x_125 = lean_st_ref_get(x_6, x_124);
+x_126 = lean_ctor_get(x_125, 1);
lean_inc(x_126);
-x_127 = lean_ctor_get(x_126, 3);
-lean_inc(x_127);
-x_128 = lean_ctor_get(x_125, 1);
-lean_inc(x_128);
lean_dec(x_125);
-x_129 = lean_ctor_get(x_126, 0);
+x_127 = lean_st_ref_take(x_6, x_126);
+x_128 = lean_ctor_get(x_127, 0);
+lean_inc(x_128);
+x_129 = lean_ctor_get(x_128, 3);
lean_inc(x_129);
-x_130 = lean_ctor_get(x_126, 1);
+x_130 = lean_ctor_get(x_127, 1);
lean_inc(x_130);
-x_131 = lean_ctor_get(x_126, 2);
+lean_dec(x_127);
+x_131 = lean_ctor_get(x_128, 0);
lean_inc(x_131);
-if (lean_is_exclusive(x_126)) {
- lean_ctor_release(x_126, 0);
- lean_ctor_release(x_126, 1);
- lean_ctor_release(x_126, 2);
- lean_ctor_release(x_126, 3);
- x_132 = x_126;
-} else {
- lean_dec_ref(x_126);
- x_132 = lean_box(0);
-}
-x_133 = lean_ctor_get(x_127, 0);
+x_132 = lean_ctor_get(x_128, 1);
+lean_inc(x_132);
+x_133 = lean_ctor_get(x_128, 2);
lean_inc(x_133);
-if (lean_is_exclusive(x_127)) {
- lean_ctor_release(x_127, 0);
- x_134 = x_127;
+if (lean_is_exclusive(x_128)) {
+ lean_ctor_release(x_128, 0);
+ lean_ctor_release(x_128, 1);
+ lean_ctor_release(x_128, 2);
+ lean_ctor_release(x_128, 3);
+ x_134 = x_128;
} else {
- lean_dec_ref(x_127);
+ lean_dec_ref(x_128);
x_134 = lean_box(0);
}
+x_135 = lean_ctor_get(x_129, 0);
+lean_inc(x_135);
+if (lean_is_exclusive(x_129)) {
+ lean_ctor_release(x_129, 0);
+ x_136 = x_129;
+} else {
+ lean_dec_ref(x_129);
+ x_136 = lean_box(0);
+}
+if (lean_is_scalar(x_136)) {
+ x_137 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_137 = x_136;
+}
+lean_ctor_set(x_137, 0, x_135);
+lean_ctor_set_uint8(x_137, sizeof(void*)*1, x_39);
if (lean_is_scalar(x_134)) {
- x_135 = lean_alloc_ctor(0, 1, 1);
+ x_138 = lean_alloc_ctor(0, 4, 0);
} else {
- x_135 = x_134;
+ x_138 = x_134;
}
-lean_ctor_set(x_135, 0, x_133);
-lean_ctor_set_uint8(x_135, sizeof(void*)*1, x_17);
-if (lean_is_scalar(x_132)) {
- x_136 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_136 = x_132;
-}
-lean_ctor_set(x_136, 0, x_129);
-lean_ctor_set(x_136, 1, x_130);
-lean_ctor_set(x_136, 2, x_131);
-lean_ctor_set(x_136, 3, x_135);
-x_137 = lean_st_ref_set(x_6, x_136, x_128);
+lean_ctor_set(x_138, 0, x_131);
+lean_ctor_set(x_138, 1, x_132);
+lean_ctor_set(x_138, 2, x_133);
+lean_ctor_set(x_138, 3, x_137);
+x_139 = lean_st_ref_set(x_6, x_138, x_130);
lean_dec(x_6);
-x_138 = lean_ctor_get(x_137, 1);
-lean_inc(x_138);
-if (lean_is_exclusive(x_137)) {
- lean_ctor_release(x_137, 0);
- lean_ctor_release(x_137, 1);
- x_139 = x_137;
+x_140 = lean_ctor_get(x_139, 1);
+lean_inc(x_140);
+if (lean_is_exclusive(x_139)) {
+ lean_ctor_release(x_139, 0);
+ lean_ctor_release(x_139, 1);
+ x_141 = x_139;
} else {
- lean_dec_ref(x_137);
- x_139 = lean_box(0);
+ lean_dec_ref(x_139);
+ x_141 = lean_box(0);
}
-if (lean_is_scalar(x_139)) {
- x_140 = lean_alloc_ctor(1, 2, 0);
+if (lean_is_scalar(x_141)) {
+ x_142 = lean_alloc_ctor(0, 2, 0);
} else {
- x_140 = x_139;
- lean_ctor_set_tag(x_140, 1);
-}
-lean_ctor_set(x_140, 0, x_121);
-lean_ctor_set(x_140, 1, x_138);
-return x_140;
-}
+ x_142 = x_141;
}
+lean_ctor_set(x_142, 0, x_123);
+lean_ctor_set(x_142, 1, x_140);
+return x_142;
}
else
{
-lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; uint8_t x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151;
-x_141 = lean_ctor_get(x_19, 0);
-x_142 = lean_ctor_get(x_19, 1);
-x_143 = lean_ctor_get(x_19, 2);
+lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162;
+x_143 = lean_ctor_get(x_122, 0);
lean_inc(x_143);
-lean_inc(x_142);
-lean_inc(x_141);
-lean_dec(x_19);
-x_144 = lean_ctor_get(x_20, 0);
+x_144 = lean_ctor_get(x_122, 1);
lean_inc(x_144);
-if (lean_is_exclusive(x_20)) {
- lean_ctor_release(x_20, 0);
- x_145 = x_20;
-} else {
- lean_dec_ref(x_20);
- x_145 = lean_box(0);
-}
-x_146 = 0;
-if (lean_is_scalar(x_145)) {
- x_147 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_147 = x_145;
-}
-lean_ctor_set(x_147, 0, x_144);
-lean_ctor_set_uint8(x_147, sizeof(void*)*1, x_146);
-x_148 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_148, 0, x_141);
-lean_ctor_set(x_148, 1, x_142);
-lean_ctor_set(x_148, 2, x_143);
-lean_ctor_set(x_148, 3, x_147);
-x_149 = lean_st_ref_set(x_6, x_148, x_21);
-x_150 = lean_ctor_get(x_149, 1);
+lean_dec(x_122);
+x_145 = lean_st_ref_get(x_6, x_144);
+x_146 = lean_ctor_get(x_145, 1);
+lean_inc(x_146);
+lean_dec(x_145);
+x_147 = lean_st_ref_take(x_6, x_146);
+x_148 = lean_ctor_get(x_147, 0);
+lean_inc(x_148);
+x_149 = lean_ctor_get(x_148, 3);
+lean_inc(x_149);
+x_150 = lean_ctor_get(x_147, 1);
lean_inc(x_150);
-lean_dec(x_149);
-lean_inc(x_6);
-x_151 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_10, x_3, x_4, x_5, x_6, x_150);
-if (lean_obj_tag(x_151) == 0)
-{
-lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171;
-x_152 = lean_ctor_get(x_151, 0);
+lean_dec(x_147);
+x_151 = lean_ctor_get(x_148, 0);
+lean_inc(x_151);
+x_152 = lean_ctor_get(x_148, 1);
lean_inc(x_152);
-x_153 = lean_ctor_get(x_151, 1);
+x_153 = lean_ctor_get(x_148, 2);
lean_inc(x_153);
-lean_dec(x_151);
-x_154 = lean_st_ref_get(x_6, x_153);
-x_155 = lean_ctor_get(x_154, 1);
+if (lean_is_exclusive(x_148)) {
+ lean_ctor_release(x_148, 0);
+ lean_ctor_release(x_148, 1);
+ lean_ctor_release(x_148, 2);
+ lean_ctor_release(x_148, 3);
+ x_154 = x_148;
+} else {
+ lean_dec_ref(x_148);
+ x_154 = lean_box(0);
+}
+x_155 = lean_ctor_get(x_149, 0);
lean_inc(x_155);
-lean_dec(x_154);
-x_156 = lean_st_ref_take(x_6, x_155);
-x_157 = lean_ctor_get(x_156, 0);
-lean_inc(x_157);
-x_158 = lean_ctor_get(x_157, 3);
-lean_inc(x_158);
-x_159 = lean_ctor_get(x_156, 1);
-lean_inc(x_159);
-lean_dec(x_156);
-x_160 = lean_ctor_get(x_157, 0);
-lean_inc(x_160);
-x_161 = lean_ctor_get(x_157, 1);
-lean_inc(x_161);
-x_162 = lean_ctor_get(x_157, 2);
-lean_inc(x_162);
-if (lean_is_exclusive(x_157)) {
- lean_ctor_release(x_157, 0);
- lean_ctor_release(x_157, 1);
- lean_ctor_release(x_157, 2);
- lean_ctor_release(x_157, 3);
- x_163 = x_157;
+if (lean_is_exclusive(x_149)) {
+ lean_ctor_release(x_149, 0);
+ x_156 = x_149;
} else {
- lean_dec_ref(x_157);
- x_163 = lean_box(0);
+ lean_dec_ref(x_149);
+ x_156 = lean_box(0);
}
-x_164 = lean_ctor_get(x_158, 0);
-lean_inc(x_164);
-if (lean_is_exclusive(x_158)) {
- lean_ctor_release(x_158, 0);
- x_165 = x_158;
+if (lean_is_scalar(x_156)) {
+ x_157 = lean_alloc_ctor(0, 1, 1);
} else {
- lean_dec_ref(x_158);
- x_165 = lean_box(0);
+ x_157 = x_156;
}
-if (lean_is_scalar(x_165)) {
- x_166 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_157, 0, x_155);
+lean_ctor_set_uint8(x_157, sizeof(void*)*1, x_39);
+if (lean_is_scalar(x_154)) {
+ x_158 = lean_alloc_ctor(0, 4, 0);
} else {
- x_166 = x_165;
+ x_158 = x_154;
}
-lean_ctor_set(x_166, 0, x_164);
-lean_ctor_set_uint8(x_166, sizeof(void*)*1, x_17);
-if (lean_is_scalar(x_163)) {
- x_167 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_167 = x_163;
-}
-lean_ctor_set(x_167, 0, x_160);
-lean_ctor_set(x_167, 1, x_161);
-lean_ctor_set(x_167, 2, x_162);
-lean_ctor_set(x_167, 3, x_166);
-x_168 = lean_st_ref_set(x_6, x_167, x_159);
+lean_ctor_set(x_158, 0, x_151);
+lean_ctor_set(x_158, 1, x_152);
+lean_ctor_set(x_158, 2, x_153);
+lean_ctor_set(x_158, 3, x_157);
+x_159 = lean_st_ref_set(x_6, x_158, x_150);
lean_dec(x_6);
-x_169 = lean_ctor_get(x_168, 1);
-lean_inc(x_169);
-if (lean_is_exclusive(x_168)) {
- lean_ctor_release(x_168, 0);
- lean_ctor_release(x_168, 1);
- x_170 = x_168;
+x_160 = lean_ctor_get(x_159, 1);
+lean_inc(x_160);
+if (lean_is_exclusive(x_159)) {
+ lean_ctor_release(x_159, 0);
+ lean_ctor_release(x_159, 1);
+ x_161 = x_159;
} else {
- lean_dec_ref(x_168);
- x_170 = lean_box(0);
+ lean_dec_ref(x_159);
+ x_161 = lean_box(0);
}
-if (lean_is_scalar(x_170)) {
- x_171 = lean_alloc_ctor(0, 2, 0);
+if (lean_is_scalar(x_161)) {
+ x_162 = lean_alloc_ctor(1, 2, 0);
} else {
- x_171 = x_170;
+ x_162 = x_161;
+ lean_ctor_set_tag(x_162, 1);
+}
+lean_ctor_set(x_162, 0, x_143);
+lean_ctor_set(x_162, 1, x_160);
+return x_162;
+}
}
-lean_ctor_set(x_171, 0, x_152);
-lean_ctor_set(x_171, 1, x_169);
-return x_171;
}
else
{
-lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191;
-x_172 = lean_ctor_get(x_151, 0);
-lean_inc(x_172);
-x_173 = lean_ctor_get(x_151, 1);
-lean_inc(x_173);
-lean_dec(x_151);
-x_174 = lean_st_ref_get(x_6, x_173);
-x_175 = lean_ctor_get(x_174, 1);
-lean_inc(x_175);
-lean_dec(x_174);
-x_176 = lean_st_ref_take(x_6, x_175);
-x_177 = lean_ctor_get(x_176, 0);
-lean_inc(x_177);
-x_178 = lean_ctor_get(x_177, 3);
-lean_inc(x_178);
-x_179 = lean_ctor_get(x_176, 1);
-lean_inc(x_179);
-lean_dec(x_176);
-x_180 = lean_ctor_get(x_177, 0);
-lean_inc(x_180);
-x_181 = lean_ctor_get(x_177, 1);
-lean_inc(x_181);
-x_182 = lean_ctor_get(x_177, 2);
-lean_inc(x_182);
-if (lean_is_exclusive(x_177)) {
- lean_ctor_release(x_177, 0);
- lean_ctor_release(x_177, 1);
- lean_ctor_release(x_177, 2);
- lean_ctor_release(x_177, 3);
- x_183 = x_177;
+lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; uint8_t x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173;
+x_163 = lean_ctor_get(x_41, 0);
+x_164 = lean_ctor_get(x_41, 1);
+x_165 = lean_ctor_get(x_41, 2);
+lean_inc(x_165);
+lean_inc(x_164);
+lean_inc(x_163);
+lean_dec(x_41);
+x_166 = lean_ctor_get(x_42, 0);
+lean_inc(x_166);
+if (lean_is_exclusive(x_42)) {
+ lean_ctor_release(x_42, 0);
+ x_167 = x_42;
} else {
- lean_dec_ref(x_177);
- x_183 = lean_box(0);
+ lean_dec_ref(x_42);
+ x_167 = lean_box(0);
}
-x_184 = lean_ctor_get(x_178, 0);
-lean_inc(x_184);
-if (lean_is_exclusive(x_178)) {
- lean_ctor_release(x_178, 0);
- x_185 = x_178;
+x_168 = 0;
+if (lean_is_scalar(x_167)) {
+ x_169 = lean_alloc_ctor(0, 1, 1);
} else {
- lean_dec_ref(x_178);
+ x_169 = x_167;
+}
+lean_ctor_set(x_169, 0, x_166);
+lean_ctor_set_uint8(x_169, sizeof(void*)*1, x_168);
+x_170 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_170, 0, x_163);
+lean_ctor_set(x_170, 1, x_164);
+lean_ctor_set(x_170, 2, x_165);
+lean_ctor_set(x_170, 3, x_169);
+x_171 = lean_st_ref_set(x_6, x_170, x_43);
+x_172 = lean_ctor_get(x_171, 1);
+lean_inc(x_172);
+lean_dec(x_171);
+lean_inc(x_6);
+x_173 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_10, x_3, x_4, x_5, x_6, x_172);
+if (lean_obj_tag(x_173) == 0)
+{
+lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193;
+x_174 = lean_ctor_get(x_173, 0);
+lean_inc(x_174);
+x_175 = lean_ctor_get(x_173, 1);
+lean_inc(x_175);
+lean_dec(x_173);
+x_176 = lean_st_ref_get(x_6, x_175);
+x_177 = lean_ctor_get(x_176, 1);
+lean_inc(x_177);
+lean_dec(x_176);
+x_178 = lean_st_ref_take(x_6, x_177);
+x_179 = lean_ctor_get(x_178, 0);
+lean_inc(x_179);
+x_180 = lean_ctor_get(x_179, 3);
+lean_inc(x_180);
+x_181 = lean_ctor_get(x_178, 1);
+lean_inc(x_181);
+lean_dec(x_178);
+x_182 = lean_ctor_get(x_179, 0);
+lean_inc(x_182);
+x_183 = lean_ctor_get(x_179, 1);
+lean_inc(x_183);
+x_184 = lean_ctor_get(x_179, 2);
+lean_inc(x_184);
+if (lean_is_exclusive(x_179)) {
+ lean_ctor_release(x_179, 0);
+ lean_ctor_release(x_179, 1);
+ lean_ctor_release(x_179, 2);
+ lean_ctor_release(x_179, 3);
+ x_185 = x_179;
+} else {
+ lean_dec_ref(x_179);
x_185 = lean_box(0);
}
+x_186 = lean_ctor_get(x_180, 0);
+lean_inc(x_186);
+if (lean_is_exclusive(x_180)) {
+ lean_ctor_release(x_180, 0);
+ x_187 = x_180;
+} else {
+ lean_dec_ref(x_180);
+ x_187 = lean_box(0);
+}
+if (lean_is_scalar(x_187)) {
+ x_188 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_188 = x_187;
+}
+lean_ctor_set(x_188, 0, x_186);
+lean_ctor_set_uint8(x_188, sizeof(void*)*1, x_39);
if (lean_is_scalar(x_185)) {
- x_186 = lean_alloc_ctor(0, 1, 1);
+ x_189 = lean_alloc_ctor(0, 4, 0);
} else {
- x_186 = x_185;
+ x_189 = x_185;
}
-lean_ctor_set(x_186, 0, x_184);
-lean_ctor_set_uint8(x_186, sizeof(void*)*1, x_17);
-if (lean_is_scalar(x_183)) {
- x_187 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_187 = x_183;
-}
-lean_ctor_set(x_187, 0, x_180);
-lean_ctor_set(x_187, 1, x_181);
-lean_ctor_set(x_187, 2, x_182);
-lean_ctor_set(x_187, 3, x_186);
-x_188 = lean_st_ref_set(x_6, x_187, x_179);
+lean_ctor_set(x_189, 0, x_182);
+lean_ctor_set(x_189, 1, x_183);
+lean_ctor_set(x_189, 2, x_184);
+lean_ctor_set(x_189, 3, x_188);
+x_190 = lean_st_ref_set(x_6, x_189, x_181);
lean_dec(x_6);
-x_189 = lean_ctor_get(x_188, 1);
-lean_inc(x_189);
-if (lean_is_exclusive(x_188)) {
- lean_ctor_release(x_188, 0);
- lean_ctor_release(x_188, 1);
- x_190 = x_188;
+x_191 = lean_ctor_get(x_190, 1);
+lean_inc(x_191);
+if (lean_is_exclusive(x_190)) {
+ lean_ctor_release(x_190, 0);
+ lean_ctor_release(x_190, 1);
+ x_192 = x_190;
} else {
- lean_dec_ref(x_188);
- x_190 = lean_box(0);
+ lean_dec_ref(x_190);
+ x_192 = lean_box(0);
}
-if (lean_is_scalar(x_190)) {
- x_191 = lean_alloc_ctor(1, 2, 0);
+if (lean_is_scalar(x_192)) {
+ x_193 = lean_alloc_ctor(0, 2, 0);
} else {
- x_191 = x_190;
- lean_ctor_set_tag(x_191, 1);
-}
-lean_ctor_set(x_191, 0, x_172);
-lean_ctor_set(x_191, 1, x_189);
-return x_191;
-}
+ x_193 = x_192;
}
+lean_ctor_set(x_193, 0, x_174);
+lean_ctor_set(x_193, 1, x_191);
+return x_193;
}
else
{
-lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196;
-x_192 = lean_ctor_get(x_5, 3);
-lean_inc(x_192);
-x_193 = l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_isLevelDefEq___spec__3___rarg(x_6, x_12);
-x_194 = lean_ctor_get(x_193, 0);
+lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213;
+x_194 = lean_ctor_get(x_173, 0);
lean_inc(x_194);
-x_195 = lean_ctor_get(x_193, 1);
+x_195 = lean_ctor_get(x_173, 1);
lean_inc(x_195);
-lean_dec(x_193);
-lean_inc(x_6);
-lean_inc(x_5);
-lean_inc(x_4);
-lean_inc(x_3);
-x_196 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_10, x_3, x_4, x_5, x_6, x_195);
-if (lean_obj_tag(x_196) == 0)
-{
-lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; uint8_t x_201;
-x_197 = lean_ctor_get(x_196, 0);
+lean_dec(x_173);
+x_196 = lean_st_ref_get(x_6, x_195);
+x_197 = lean_ctor_get(x_196, 1);
lean_inc(x_197);
-x_198 = lean_ctor_get(x_196, 1);
-lean_inc(x_198);
lean_dec(x_196);
-x_199 = l_Lean_Meta_mkAppM___rarg___closed__2;
-x_200 = l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_isLevelDefEq___spec__4(x_194, x_199, x_192, x_3, x_4, x_5, x_6, x_198);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_201 = !lean_is_exclusive(x_200);
-if (x_201 == 0)
-{
-lean_object* x_202;
-x_202 = lean_ctor_get(x_200, 0);
-lean_dec(x_202);
-lean_ctor_set(x_200, 0, x_197);
-return x_200;
-}
-else
-{
-lean_object* x_203; lean_object* x_204;
-x_203 = lean_ctor_get(x_200, 1);
+x_198 = lean_st_ref_take(x_6, x_197);
+x_199 = lean_ctor_get(x_198, 0);
+lean_inc(x_199);
+x_200 = lean_ctor_get(x_199, 3);
+lean_inc(x_200);
+x_201 = lean_ctor_get(x_198, 1);
+lean_inc(x_201);
+lean_dec(x_198);
+x_202 = lean_ctor_get(x_199, 0);
+lean_inc(x_202);
+x_203 = lean_ctor_get(x_199, 1);
lean_inc(x_203);
-lean_dec(x_200);
-x_204 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_204, 0, x_197);
-lean_ctor_set(x_204, 1, x_203);
-return x_204;
+x_204 = lean_ctor_get(x_199, 2);
+lean_inc(x_204);
+if (lean_is_exclusive(x_199)) {
+ lean_ctor_release(x_199, 0);
+ lean_ctor_release(x_199, 1);
+ lean_ctor_release(x_199, 2);
+ lean_ctor_release(x_199, 3);
+ x_205 = x_199;
+} else {
+ lean_dec_ref(x_199);
+ x_205 = lean_box(0);
}
-}
-else
-{
-lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; uint8_t x_209;
-x_205 = lean_ctor_get(x_196, 0);
-lean_inc(x_205);
-x_206 = lean_ctor_get(x_196, 1);
+x_206 = lean_ctor_get(x_200, 0);
lean_inc(x_206);
-lean_dec(x_196);
-x_207 = l_Lean_Meta_mkAppM___rarg___closed__2;
-x_208 = l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_isLevelDefEq___spec__4(x_194, x_207, x_192, x_3, x_4, x_5, x_6, x_206);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_209 = !lean_is_exclusive(x_208);
-if (x_209 == 0)
-{
-lean_object* x_210;
-x_210 = lean_ctor_get(x_208, 0);
-lean_dec(x_210);
-lean_ctor_set_tag(x_208, 1);
-lean_ctor_set(x_208, 0, x_205);
-return x_208;
+if (lean_is_exclusive(x_200)) {
+ lean_ctor_release(x_200, 0);
+ x_207 = x_200;
+} else {
+ lean_dec_ref(x_200);
+ x_207 = lean_box(0);
}
-else
-{
-lean_object* x_211; lean_object* x_212;
-x_211 = lean_ctor_get(x_208, 1);
+if (lean_is_scalar(x_207)) {
+ x_208 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_208 = x_207;
+}
+lean_ctor_set(x_208, 0, x_206);
+lean_ctor_set_uint8(x_208, sizeof(void*)*1, x_39);
+if (lean_is_scalar(x_205)) {
+ x_209 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_209 = x_205;
+}
+lean_ctor_set(x_209, 0, x_202);
+lean_ctor_set(x_209, 1, x_203);
+lean_ctor_set(x_209, 2, x_204);
+lean_ctor_set(x_209, 3, x_208);
+x_210 = lean_st_ref_set(x_6, x_209, x_201);
+lean_dec(x_6);
+x_211 = lean_ctor_get(x_210, 1);
lean_inc(x_211);
-lean_dec(x_208);
-x_212 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_212, 0, x_205);
-lean_ctor_set(x_212, 1, x_211);
-return x_212;
+if (lean_is_exclusive(x_210)) {
+ lean_ctor_release(x_210, 0);
+ lean_ctor_release(x_210, 1);
+ x_212 = x_210;
+} else {
+ lean_dec_ref(x_210);
+ x_212 = lean_box(0);
+}
+if (lean_is_scalar(x_212)) {
+ x_213 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_213 = x_212;
+ lean_ctor_set_tag(x_213, 1);
+}
+lean_ctor_set(x_213, 0, x_194);
+lean_ctor_set(x_213, 1, x_211);
+return x_213;
+}
}
}
}
@@ -1119,7 +1137,7 @@ x_16 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed_
x_17 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_17, 0, x_15);
lean_ctor_set(x_17, 1, x_16);
-x_18 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_2, x_17, x_4, x_5, x_6, x_7, x_8);
+x_18 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_2, x_17, x_4, x_5, x_6, x_7, x_8);
return x_18;
}
}
@@ -1161,182 +1179,158 @@ return x_2;
lean_object* l_Lean_Meta_caseValueAux___lambda__2(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) {
_start:
{
-lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_43; lean_object* x_44; lean_object* x_45; uint8_t x_46;
-x_10 = l_Lean_Meta_FVarSubst_get(x_1, x_2);
-x_11 = l_Lean_Expr_fvarId_x21(x_10);
+lean_object* x_10; lean_object* x_11; lean_object* x_28; lean_object* x_29; uint8_t x_30; lean_object* x_31; lean_object* x_56; lean_object* x_57; lean_object* x_58; uint8_t x_59;
+x_28 = l_Lean_Meta_FVarSubst_get(x_2, x_3);
+x_29 = l_Lean_Expr_fvarId_x21(x_28);
+lean_dec(x_28);
+x_56 = lean_st_ref_get(x_8, x_9);
+x_57 = lean_ctor_get(x_56, 0);
+lean_inc(x_57);
+x_58 = lean_ctor_get(x_57, 3);
+lean_inc(x_58);
+lean_dec(x_57);
+x_59 = lean_ctor_get_uint8(x_58, sizeof(void*)*1);
+lean_dec(x_58);
+if (x_59 == 0)
+{
+lean_object* x_60; uint8_t x_61;
+x_60 = lean_ctor_get(x_56, 1);
+lean_inc(x_60);
+lean_dec(x_56);
+x_61 = 0;
+x_30 = x_61;
+x_31 = x_60;
+goto block_55;
+}
+else
+{
+lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; uint8_t x_66;
+x_62 = lean_ctor_get(x_56, 1);
+lean_inc(x_62);
+lean_dec(x_56);
+lean_inc(x_1);
+x_63 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_1, x_5, x_6, x_7, x_8, x_62);
+x_64 = lean_ctor_get(x_63, 0);
+lean_inc(x_64);
+x_65 = lean_ctor_get(x_63, 1);
+lean_inc(x_65);
+lean_dec(x_63);
+x_66 = lean_unbox(x_64);
+lean_dec(x_64);
+x_30 = x_66;
+x_31 = x_65;
+goto block_55;
+}
+block_27:
+{
+uint8_t x_12;
+x_12 = lean_ctor_get_uint8(x_10, sizeof(void*)*1);
lean_dec(x_10);
-x_43 = lean_st_ref_get(x_8, x_9);
-x_44 = lean_ctor_get(x_43, 0);
-lean_inc(x_44);
-x_45 = lean_ctor_get(x_44, 3);
-lean_inc(x_45);
-lean_dec(x_44);
-x_46 = lean_ctor_get_uint8(x_45, sizeof(void*)*1);
-lean_dec(x_45);
-if (x_46 == 0)
+if (x_12 == 0)
{
-lean_object* x_47;
-x_47 = lean_ctor_get(x_43, 1);
-lean_inc(x_47);
-lean_dec(x_43);
-x_12 = x_47;
-goto block_42;
+lean_object* x_13; lean_object* x_14;
+lean_dec(x_5);
+lean_dec(x_1);
+x_13 = lean_box(0);
+x_14 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_14, 0, x_13);
+lean_ctor_set(x_14, 1, x_11);
+return x_14;
}
else
{
-lean_object* x_48; lean_object* x_49; lean_object* x_50; uint8_t x_51;
-x_48 = lean_ctor_get(x_43, 1);
-lean_inc(x_48);
-lean_dec(x_43);
-lean_inc(x_3);
-x_49 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_3, x_5, x_6, x_7, x_8, x_48);
-x_50 = lean_ctor_get(x_49, 0);
-lean_inc(x_50);
-x_51 = lean_unbox(x_50);
-lean_dec(x_50);
-if (x_51 == 0)
-{
-lean_object* x_52;
-x_52 = lean_ctor_get(x_49, 1);
-lean_inc(x_52);
-lean_dec(x_49);
-x_12 = x_52;
-goto block_42;
-}
-else
-{
-lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56;
-x_53 = lean_ctor_get(x_49, 1);
-lean_inc(x_53);
-lean_dec(x_49);
-x_54 = l_Lean_Meta_caseValueAux___lambda__2___closed__4;
-lean_inc(x_3);
-x_55 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_3, x_54, x_5, x_6, x_7, x_8, x_53);
-x_56 = lean_ctor_get(x_55, 1);
-lean_inc(x_56);
-lean_dec(x_55);
-x_12 = x_56;
-goto block_42;
-}
-}
-block_42:
-{
-lean_object* x_13;
-lean_inc(x_5);
-x_13 = l_Lean_Meta_getLocalDecl___at_Lean_Meta_getFVarLocalDecl___spec__1(x_11, x_5, x_6, x_7, x_8, x_12);
-if (lean_obj_tag(x_13) == 0)
-{
-lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18;
-x_14 = lean_ctor_get(x_13, 1);
-lean_inc(x_14);
-lean_dec(x_13);
-x_15 = lean_st_ref_get(x_8, x_14);
+lean_object* x_15; lean_object* x_16; uint8_t x_17;
+lean_inc(x_1);
+x_15 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_1, x_5, x_6, x_7, x_8, x_11);
x_16 = lean_ctor_get(x_15, 0);
lean_inc(x_16);
-x_17 = lean_ctor_get(x_16, 3);
-lean_inc(x_17);
+x_17 = lean_unbox(x_16);
lean_dec(x_16);
-x_18 = lean_ctor_get_uint8(x_17, sizeof(void*)*1);
-lean_dec(x_17);
+if (x_17 == 0)
+{
+uint8_t x_18;
+lean_dec(x_5);
+lean_dec(x_1);
+x_18 = !lean_is_exclusive(x_15);
if (x_18 == 0)
{
-uint8_t x_19;
-lean_dec(x_5);
-lean_dec(x_3);
-x_19 = !lean_is_exclusive(x_15);
-if (x_19 == 0)
-{
-lean_object* x_20; lean_object* x_21;
-x_20 = lean_ctor_get(x_15, 0);
-lean_dec(x_20);
-x_21 = lean_box(0);
-lean_ctor_set(x_15, 0, x_21);
+lean_object* x_19; lean_object* x_20;
+x_19 = lean_ctor_get(x_15, 0);
+lean_dec(x_19);
+x_20 = lean_box(0);
+lean_ctor_set(x_15, 0, x_20);
return x_15;
}
else
{
-lean_object* x_22; lean_object* x_23; lean_object* x_24;
-x_22 = lean_ctor_get(x_15, 1);
-lean_inc(x_22);
+lean_object* x_21; lean_object* x_22; lean_object* x_23;
+x_21 = lean_ctor_get(x_15, 1);
+lean_inc(x_21);
lean_dec(x_15);
-x_23 = lean_box(0);
-x_24 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_24, 0, x_23);
-lean_ctor_set(x_24, 1, x_22);
-return x_24;
+x_22 = lean_box(0);
+x_23 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_23, 0, x_22);
+lean_ctor_set(x_23, 1, x_21);
+return x_23;
}
}
else
{
-lean_object* x_25; lean_object* x_26; lean_object* x_27; uint8_t x_28;
-x_25 = lean_ctor_get(x_15, 1);
-lean_inc(x_25);
+lean_object* x_24; lean_object* x_25; lean_object* x_26;
+x_24 = lean_ctor_get(x_15, 1);
+lean_inc(x_24);
lean_dec(x_15);
-lean_inc(x_3);
-x_26 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_3, x_5, x_6, x_7, x_8, x_25);
-x_27 = lean_ctor_get(x_26, 0);
-lean_inc(x_27);
-x_28 = lean_unbox(x_27);
-lean_dec(x_27);
-if (x_28 == 0)
-{
-uint8_t x_29;
+x_25 = l_Lean_Meta_caseValueAux___lambda__2___closed__2;
+x_26 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_1, x_25, x_5, x_6, x_7, x_8, x_24);
lean_dec(x_5);
-lean_dec(x_3);
-x_29 = !lean_is_exclusive(x_26);
-if (x_29 == 0)
-{
-lean_object* x_30; lean_object* x_31;
-x_30 = lean_ctor_get(x_26, 0);
-lean_dec(x_30);
-x_31 = lean_box(0);
-lean_ctor_set(x_26, 0, x_31);
return x_26;
}
-else
-{
-lean_object* x_32; lean_object* x_33; lean_object* x_34;
-x_32 = lean_ctor_get(x_26, 1);
-lean_inc(x_32);
-lean_dec(x_26);
-x_33 = lean_box(0);
-x_34 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_34, 0, x_33);
-lean_ctor_set(x_34, 1, x_32);
-return x_34;
}
}
-else
+block_55:
{
-lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_35 = lean_ctor_get(x_26, 1);
+if (x_30 == 0)
+{
+lean_object* x_32;
+lean_inc(x_5);
+x_32 = l_Lean_Meta_getLocalDecl___at_Lean_Meta_getFVarLocalDecl___spec__1(x_29, x_5, x_6, x_7, x_8, x_31);
+if (lean_obj_tag(x_32) == 0)
+{
+lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
+x_33 = lean_ctor_get(x_32, 1);
+lean_inc(x_33);
+lean_dec(x_32);
+x_34 = lean_st_ref_get(x_8, x_33);
+x_35 = lean_ctor_get(x_34, 0);
lean_inc(x_35);
-lean_dec(x_26);
-x_36 = l_Lean_Meta_caseValueAux___lambda__2___closed__2;
-x_37 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_3, x_36, x_5, x_6, x_7, x_8, x_35);
-lean_dec(x_5);
-return x_37;
-}
-}
+x_36 = lean_ctor_get(x_34, 1);
+lean_inc(x_36);
+lean_dec(x_34);
+x_37 = lean_ctor_get(x_35, 3);
+lean_inc(x_37);
+lean_dec(x_35);
+x_10 = x_37;
+x_11 = x_36;
+goto block_27;
}
else
{
uint8_t x_38;
lean_dec(x_5);
-lean_dec(x_3);
-x_38 = !lean_is_exclusive(x_13);
+lean_dec(x_1);
+x_38 = !lean_is_exclusive(x_32);
if (x_38 == 0)
{
-return x_13;
+return x_32;
}
else
{
lean_object* x_39; lean_object* x_40; lean_object* x_41;
-x_39 = lean_ctor_get(x_13, 0);
-x_40 = lean_ctor_get(x_13, 1);
+x_39 = lean_ctor_get(x_32, 0);
+x_40 = lean_ctor_get(x_32, 1);
lean_inc(x_40);
lean_inc(x_39);
-lean_dec(x_13);
+lean_dec(x_32);
x_41 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_41, 0, x_39);
lean_ctor_set(x_41, 1, x_40);
@@ -1344,6 +1338,62 @@ return x_41;
}
}
}
+else
+{
+lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45;
+x_42 = l_Lean_Meta_caseValueAux___lambda__2___closed__4;
+lean_inc(x_1);
+x_43 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_1, x_42, x_5, x_6, x_7, x_8, x_31);
+x_44 = lean_ctor_get(x_43, 1);
+lean_inc(x_44);
+lean_dec(x_43);
+lean_inc(x_5);
+x_45 = l_Lean_Meta_getLocalDecl___at_Lean_Meta_getFVarLocalDecl___spec__1(x_29, x_5, x_6, x_7, x_8, x_44);
+if (lean_obj_tag(x_45) == 0)
+{
+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_45, 1);
+lean_inc(x_46);
+lean_dec(x_45);
+x_47 = lean_st_ref_get(x_8, x_46);
+x_48 = lean_ctor_get(x_47, 0);
+lean_inc(x_48);
+x_49 = lean_ctor_get(x_47, 1);
+lean_inc(x_49);
+lean_dec(x_47);
+x_50 = lean_ctor_get(x_48, 3);
+lean_inc(x_50);
+lean_dec(x_48);
+x_10 = x_50;
+x_11 = x_49;
+goto block_27;
+}
+else
+{
+uint8_t x_51;
+lean_dec(x_5);
+lean_dec(x_1);
+x_51 = !lean_is_exclusive(x_45);
+if (x_51 == 0)
+{
+return x_45;
+}
+else
+{
+lean_object* x_52; lean_object* x_53; lean_object* x_54;
+x_52 = lean_ctor_get(x_45, 0);
+x_53 = lean_ctor_get(x_45, 1);
+lean_inc(x_53);
+lean_inc(x_52);
+lean_dec(x_45);
+x_54 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_54, 0, x_52);
+lean_ctor_set(x_54, 1, x_53);
+return x_54;
+}
+}
+}
+}
}
}
static lean_object* _init_l_Lean_Meta_caseValueAux___lambda__3___closed__1() {
@@ -1623,9 +1673,9 @@ lean_closure_set(x_72, 1, x_70);
lean_inc(x_60);
lean_inc(x_67);
x_73 = lean_alloc_closure((void*)(l_Lean_Meta_caseValueAux___lambda__2___boxed), 9, 3);
-lean_closure_set(x_73, 0, x_67);
-lean_closure_set(x_73, 1, x_60);
-lean_closure_set(x_73, 2, x_69);
+lean_closure_set(x_73, 0, x_69);
+lean_closure_set(x_73, 1, x_67);
+lean_closure_set(x_73, 2, x_60);
x_74 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Meta_Lean_Meta_Basic___instance__5___spec__2___rarg), 7, 2);
lean_closure_set(x_74, 0, x_72);
lean_closure_set(x_74, 1, x_73);
@@ -1721,9 +1771,9 @@ lean_closure_set(x_95, 1, x_93);
lean_inc(x_60);
lean_inc(x_90);
x_96 = lean_alloc_closure((void*)(l_Lean_Meta_caseValueAux___lambda__2___boxed), 9, 3);
-lean_closure_set(x_96, 0, x_90);
-lean_closure_set(x_96, 1, x_60);
-lean_closure_set(x_96, 2, x_92);
+lean_closure_set(x_96, 0, x_92);
+lean_closure_set(x_96, 1, x_90);
+lean_closure_set(x_96, 2, x_60);
x_97 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Meta_Lean_Meta_Basic___instance__5___spec__2___rarg), 7, 2);
lean_closure_set(x_97, 0, x_95);
lean_closure_set(x_97, 1, x_96);
@@ -2053,7 +2103,7 @@ lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_4);
-lean_dec(x_1);
+lean_dec(x_2);
return x_10;
}
}
diff --git a/stage0/stdlib/Lean/Meta/Match/MVarRenaming.c b/stage0/stdlib/Lean/Meta/Match/MVarRenaming.c
index d3dc8b9d67..97f31d7221 100644
--- a/stage0/stdlib/Lean/Meta/Match/MVarRenaming.c
+++ b/stage0/stdlib/Lean/Meta/Match/MVarRenaming.c
@@ -13,45 +13,31 @@
#ifdef __cplusplus
extern "C" {
#endif
-lean_object* lean_expr_update_forall(lean_object*, uint8_t, lean_object*, lean_object*);
-lean_object* l_unreachable_x21___rarg(lean_object*);
-uint8_t l_USize_decEq(size_t, size_t);
-lean_object* lean_array_uget(lean_object*, size_t);
-lean_object* lean_expr_update_mdata(lean_object*, lean_object*);
uint8_t l_Lean_Name_quickLt(lean_object*, lean_object*);
extern lean_object* l_Option_get_x21___rarg___closed__3;
-lean_object* lean_array_uset(lean_object*, size_t, lean_object*);
lean_object* l_Lean_mkMVar(lean_object*);
lean_object* l_Lean_Meta_MVarRenaming_find_x3f(lean_object*, lean_object*);
lean_object* l_Lean_Meta_MVarRenaming_apply(lean_object*, lean_object*);
lean_object* l_Lean_Meta_MVarRenaming_insert(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Name_inhabited;
+lean_object* l_Lean_Meta_MVarRenaming_apply___lambda__1(lean_object*, lean_object*);
uint8_t l_Lean_Meta_MVarRenaming_isEmpty(lean_object*);
-lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Meta_MVarRenaming_apply___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_MVarRenaming_apply_match__2___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_MVarRenaming_map___default;
lean_object* l_Lean_Meta_MVarRenaming_apply_match__1(lean_object*);
lean_object* l_Std_RBNode_insert___at_Lean_NameMap_insert___spec__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_MVarRenaming_find_x21___boxed(lean_object*, lean_object*);
-lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Meta_MVarRenaming_apply___spec__1(lean_object*, size_t, lean_object*, lean_object*);
lean_object* l_Lean_Meta_MVarRenaming_apply_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_MVarRenaming_find_x3f___boxed(lean_object*, lean_object*);
-lean_object* lean_expr_update_let(lean_object*, lean_object*, lean_object*, lean_object*);
-uint8_t l_Lean_Expr_Data_binderInfo(uint64_t);
-lean_object* lean_expr_update_proj(lean_object*, lean_object*);
lean_object* l_Lean_Meta_MVarRenaming_isEmpty___boxed(lean_object*);
-lean_object* l_Lean_Meta_MVarRenaming_apply___boxed(lean_object*, lean_object*);
-size_t l_USize_mod(size_t, size_t);
lean_object* l_Std_RBNode_find___at_Lean_Meta_MVarRenaming_find_x3f___spec__1(lean_object*, lean_object*);
-size_t lean_ptr_addr(lean_object*);
+lean_object* l_Lean_Meta_MVarRenaming_apply___lambda__1___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Meta_MVarRenaming_find_x21(lean_object*, lean_object*);
uint8_t l_Lean_Expr_hasMVar(lean_object*);
lean_object* lean_panic_fn(lean_object*, lean_object*);
lean_object* l_Lean_Meta_MVarRenaming_apply_match__2(lean_object*);
-lean_object* lean_expr_update_lambda(lean_object*, uint8_t, lean_object*, lean_object*);
-extern lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___closed__1;
-lean_object* lean_expr_update_app(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_find___at_Lean_Meta_MVarRenaming_find_x3f___spec__1___boxed(lean_object*, lean_object*);
+lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(lean_object*, size_t, lean_object*, lean_object*);
extern lean_object* l_Lean_Expr_ReplaceImpl_initCache;
static lean_object* _init_l_Lean_Meta_MVarRenaming_map___default() {
_start:
@@ -263,901 +249,131 @@ x_2 = lean_alloc_closure((void*)(l_Lean_Meta_MVarRenaming_apply_match__2___rarg)
return x_2;
}
}
-lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Meta_MVarRenaming_apply___spec__1(lean_object* x_1, size_t x_2, lean_object* x_3, lean_object* x_4) {
+lean_object* l_Lean_Meta_MVarRenaming_apply___lambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-size_t x_5; size_t x_6; lean_object* x_7; lean_object* x_236; lean_object* x_237; lean_object* x_244; size_t x_245; uint8_t x_246;
-x_5 = lean_ptr_addr(x_3);
-x_6 = x_2 == 0 ? 0 : x_5 % x_2;
-x_236 = lean_ctor_get(x_4, 0);
-lean_inc(x_236);
-x_244 = lean_array_uget(x_236, x_6);
-x_245 = lean_ptr_addr(x_244);
-lean_dec(x_244);
-x_246 = x_245 == x_5;
-if (x_246 == 0)
-{
-if (lean_obj_tag(x_3) == 2)
-{
-lean_object* x_247; lean_object* x_248;
-x_247 = lean_ctor_get(x_3, 0);
-lean_inc(x_247);
-x_248 = l_Std_RBNode_find___at_Lean_Meta_MVarRenaming_find_x3f___spec__1(x_1, x_247);
-lean_dec(x_247);
-if (lean_obj_tag(x_248) == 0)
+if (lean_obj_tag(x_2) == 2)
{
+lean_object* x_3; lean_object* x_4;
+x_3 = lean_ctor_get(x_2, 0);
lean_inc(x_3);
-x_237 = x_3;
-goto block_243;
-}
-else
-{
-lean_object* x_249; lean_object* x_250;
-x_249 = lean_ctor_get(x_248, 0);
-lean_inc(x_249);
-lean_dec(x_248);
-x_250 = l_Lean_mkMVar(x_249);
-x_237 = x_250;
-goto block_243;
-}
-}
-else
-{
-lean_object* x_251;
-lean_dec(x_236);
-x_251 = lean_box(0);
-x_7 = x_251;
-goto block_235;
-}
-}
-else
-{
-lean_object* x_252; lean_object* x_253; lean_object* x_254;
-lean_dec(x_236);
+x_4 = l_Std_RBNode_find___at_Lean_Meta_MVarRenaming_find_x3f___spec__1(x_1, x_3);
lean_dec(x_3);
-x_252 = lean_ctor_get(x_4, 1);
-lean_inc(x_252);
-x_253 = lean_array_uget(x_252, x_6);
-lean_dec(x_252);
-x_254 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_254, 0, x_253);
-lean_ctor_set(x_254, 1, x_4);
-return x_254;
+if (lean_obj_tag(x_4) == 0)
+{
+lean_object* x_5;
+x_5 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_5, 0, x_2);
+return x_5;
}
-block_235:
+else
{
-lean_dec(x_7);
-switch (lean_obj_tag(x_3)) {
-case 5:
+uint8_t x_6;
+lean_dec(x_2);
+x_6 = !lean_is_exclusive(x_4);
+if (x_6 == 0)
{
-lean_object* x_8; lean_object* x_9; uint64_t x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; uint8_t x_15;
-x_8 = lean_ctor_get(x_3, 0);
-lean_inc(x_8);
-x_9 = lean_ctor_get(x_3, 1);
+lean_object* x_7; lean_object* x_8;
+x_7 = lean_ctor_get(x_4, 0);
+x_8 = l_Lean_mkMVar(x_7);
+lean_ctor_set(x_4, 0, x_8);
+return x_4;
+}
+else
+{
+lean_object* x_9; lean_object* x_10; lean_object* x_11;
+x_9 = lean_ctor_get(x_4, 0);
lean_inc(x_9);
-x_10 = lean_ctor_get_uint64(x_3, sizeof(void*)*2);
-lean_inc(x_8);
-x_11 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Meta_MVarRenaming_apply___spec__1(x_1, x_2, x_8, x_4);
-x_12 = lean_ctor_get(x_11, 0);
-lean_inc(x_12);
-x_13 = lean_ctor_get(x_11, 1);
-lean_inc(x_13);
-lean_dec(x_11);
-lean_inc(x_9);
-x_14 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Meta_MVarRenaming_apply___spec__1(x_1, x_2, x_9, x_13);
-x_15 = !lean_is_exclusive(x_14);
-if (x_15 == 0)
-{
-lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20;
-x_16 = lean_ctor_get(x_14, 0);
-x_17 = lean_ctor_get(x_14, 1);
-x_18 = lean_ctor_get(x_17, 0);
-lean_inc(x_18);
-lean_inc(x_3);
-x_19 = lean_array_uset(x_18, x_6, x_3);
-x_20 = !lean_is_exclusive(x_3);
-if (x_20 == 0)
-{
-lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26;
-x_21 = lean_ctor_get(x_3, 1);
-lean_dec(x_21);
-x_22 = lean_ctor_get(x_3, 0);
-lean_dec(x_22);
-x_23 = lean_ctor_get(x_17, 1);
-lean_inc(x_23);
-lean_dec(x_17);
-x_24 = lean_expr_update_app(x_3, x_12, x_16);
-lean_inc(x_24);
-x_25 = lean_array_uset(x_23, x_6, x_24);
-x_26 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_26, 0, x_19);
-lean_ctor_set(x_26, 1, x_25);
-lean_ctor_set(x_14, 1, x_26);
-lean_ctor_set(x_14, 0, x_24);
-return x_14;
-}
-else
-{
-lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31;
-lean_dec(x_3);
-x_27 = lean_ctor_get(x_17, 1);
-lean_inc(x_27);
-lean_dec(x_17);
-x_28 = lean_alloc_ctor(5, 2, 8);
-lean_ctor_set(x_28, 0, x_8);
-lean_ctor_set(x_28, 1, x_9);
-lean_ctor_set_uint64(x_28, sizeof(void*)*2, x_10);
-x_29 = lean_expr_update_app(x_28, x_12, x_16);
-lean_inc(x_29);
-x_30 = lean_array_uset(x_27, x_6, x_29);
-x_31 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_31, 0, x_19);
-lean_ctor_set(x_31, 1, x_30);
-lean_ctor_set(x_14, 1, x_31);
-lean_ctor_set(x_14, 0, x_29);
-return x_14;
-}
-}
-else
-{
-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;
-x_32 = lean_ctor_get(x_14, 0);
-x_33 = lean_ctor_get(x_14, 1);
-lean_inc(x_33);
-lean_inc(x_32);
-lean_dec(x_14);
-x_34 = lean_ctor_get(x_33, 0);
-lean_inc(x_34);
-lean_inc(x_3);
-x_35 = lean_array_uset(x_34, x_6, x_3);
-if (lean_is_exclusive(x_3)) {
- lean_ctor_release(x_3, 0);
- lean_ctor_release(x_3, 1);
- x_36 = x_3;
-} else {
- lean_dec_ref(x_3);
- x_36 = lean_box(0);
-}
-x_37 = lean_ctor_get(x_33, 1);
-lean_inc(x_37);
-lean_dec(x_33);
-if (lean_is_scalar(x_36)) {
- x_38 = lean_alloc_ctor(5, 2, 8);
-} else {
- x_38 = x_36;
-}
-lean_ctor_set(x_38, 0, x_8);
-lean_ctor_set(x_38, 1, x_9);
-lean_ctor_set_uint64(x_38, sizeof(void*)*2, x_10);
-x_39 = lean_expr_update_app(x_38, x_12, x_32);
-lean_inc(x_39);
-x_40 = lean_array_uset(x_37, x_6, x_39);
-x_41 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_41, 0, x_35);
-lean_ctor_set(x_41, 1, x_40);
-x_42 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_42, 0, x_39);
-lean_ctor_set(x_42, 1, x_41);
-return x_42;
-}
-}
-case 6:
-{
-lean_object* x_43; lean_object* x_44; lean_object* x_45; uint64_t x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; uint8_t x_51;
-x_43 = lean_ctor_get(x_3, 0);
-lean_inc(x_43);
-x_44 = lean_ctor_get(x_3, 1);
-lean_inc(x_44);
-x_45 = lean_ctor_get(x_3, 2);
-lean_inc(x_45);
-x_46 = lean_ctor_get_uint64(x_3, sizeof(void*)*3);
-lean_inc(x_44);
-x_47 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Meta_MVarRenaming_apply___spec__1(x_1, x_2, x_44, x_4);
-x_48 = lean_ctor_get(x_47, 0);
-lean_inc(x_48);
-x_49 = lean_ctor_get(x_47, 1);
-lean_inc(x_49);
-lean_dec(x_47);
-lean_inc(x_45);
-x_50 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Meta_MVarRenaming_apply___spec__1(x_1, x_2, x_45, x_49);
-x_51 = !lean_is_exclusive(x_50);
-if (x_51 == 0)
-{
-lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; uint8_t x_56;
-x_52 = lean_ctor_get(x_50, 0);
-x_53 = lean_ctor_get(x_50, 1);
-x_54 = lean_ctor_get(x_53, 0);
-lean_inc(x_54);
-lean_inc(x_3);
-x_55 = lean_array_uset(x_54, x_6, x_3);
-x_56 = !lean_is_exclusive(x_3);
-if (x_56 == 0)
-{
-lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; uint8_t x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64;
-x_57 = lean_ctor_get(x_3, 2);
-lean_dec(x_57);
-x_58 = lean_ctor_get(x_3, 1);
-lean_dec(x_58);
-x_59 = lean_ctor_get(x_3, 0);
-lean_dec(x_59);
-x_60 = lean_ctor_get(x_53, 1);
-lean_inc(x_60);
-lean_dec(x_53);
-x_61 = (uint8_t)((x_46 << 24) >> 61);
-x_62 = lean_expr_update_lambda(x_3, x_61, x_48, x_52);
-lean_inc(x_62);
-x_63 = lean_array_uset(x_60, x_6, x_62);
-x_64 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_64, 0, x_55);
-lean_ctor_set(x_64, 1, x_63);
-lean_ctor_set(x_50, 1, x_64);
-lean_ctor_set(x_50, 0, x_62);
-return x_50;
-}
-else
-{
-lean_object* x_65; lean_object* x_66; uint8_t x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70;
-lean_dec(x_3);
-x_65 = lean_ctor_get(x_53, 1);
-lean_inc(x_65);
-lean_dec(x_53);
-x_66 = lean_alloc_ctor(6, 3, 8);
-lean_ctor_set(x_66, 0, x_43);
-lean_ctor_set(x_66, 1, x_44);
-lean_ctor_set(x_66, 2, x_45);
-lean_ctor_set_uint64(x_66, sizeof(void*)*3, x_46);
-x_67 = (uint8_t)((x_46 << 24) >> 61);
-x_68 = lean_expr_update_lambda(x_66, x_67, x_48, x_52);
-lean_inc(x_68);
-x_69 = lean_array_uset(x_65, x_6, x_68);
-x_70 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_70, 0, x_55);
-lean_ctor_set(x_70, 1, x_69);
-lean_ctor_set(x_50, 1, x_70);
-lean_ctor_set(x_50, 0, x_68);
-return x_50;
-}
-}
-else
-{
-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; uint8_t x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82;
-x_71 = lean_ctor_get(x_50, 0);
-x_72 = lean_ctor_get(x_50, 1);
-lean_inc(x_72);
-lean_inc(x_71);
-lean_dec(x_50);
-x_73 = lean_ctor_get(x_72, 0);
-lean_inc(x_73);
-lean_inc(x_3);
-x_74 = lean_array_uset(x_73, x_6, x_3);
-if (lean_is_exclusive(x_3)) {
- lean_ctor_release(x_3, 0);
- lean_ctor_release(x_3, 1);
- lean_ctor_release(x_3, 2);
- x_75 = x_3;
-} else {
- lean_dec_ref(x_3);
- x_75 = lean_box(0);
-}
-x_76 = lean_ctor_get(x_72, 1);
-lean_inc(x_76);
-lean_dec(x_72);
-if (lean_is_scalar(x_75)) {
- x_77 = lean_alloc_ctor(6, 3, 8);
-} else {
- x_77 = x_75;
-}
-lean_ctor_set(x_77, 0, x_43);
-lean_ctor_set(x_77, 1, x_44);
-lean_ctor_set(x_77, 2, x_45);
-lean_ctor_set_uint64(x_77, sizeof(void*)*3, x_46);
-x_78 = (uint8_t)((x_46 << 24) >> 61);
-x_79 = lean_expr_update_lambda(x_77, x_78, x_48, x_71);
-lean_inc(x_79);
-x_80 = lean_array_uset(x_76, x_6, x_79);
-x_81 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_81, 0, x_74);
-lean_ctor_set(x_81, 1, x_80);
-x_82 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_82, 0, x_79);
-lean_ctor_set(x_82, 1, x_81);
-return x_82;
-}
-}
-case 7:
-{
-lean_object* x_83; lean_object* x_84; lean_object* x_85; uint64_t x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; uint8_t x_91;
-x_83 = lean_ctor_get(x_3, 0);
-lean_inc(x_83);
-x_84 = lean_ctor_get(x_3, 1);
-lean_inc(x_84);
-x_85 = lean_ctor_get(x_3, 2);
-lean_inc(x_85);
-x_86 = lean_ctor_get_uint64(x_3, sizeof(void*)*3);
-lean_inc(x_84);
-x_87 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Meta_MVarRenaming_apply___spec__1(x_1, x_2, x_84, x_4);
-x_88 = lean_ctor_get(x_87, 0);
-lean_inc(x_88);
-x_89 = lean_ctor_get(x_87, 1);
-lean_inc(x_89);
-lean_dec(x_87);
-lean_inc(x_85);
-x_90 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Meta_MVarRenaming_apply___spec__1(x_1, x_2, x_85, x_89);
-x_91 = !lean_is_exclusive(x_90);
-if (x_91 == 0)
-{
-lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; uint8_t x_96;
-x_92 = lean_ctor_get(x_90, 0);
-x_93 = lean_ctor_get(x_90, 1);
-x_94 = lean_ctor_get(x_93, 0);
-lean_inc(x_94);
-lean_inc(x_3);
-x_95 = lean_array_uset(x_94, x_6, x_3);
-x_96 = !lean_is_exclusive(x_3);
-if (x_96 == 0)
-{
-lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; uint8_t x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104;
-x_97 = lean_ctor_get(x_3, 2);
-lean_dec(x_97);
-x_98 = lean_ctor_get(x_3, 1);
-lean_dec(x_98);
-x_99 = lean_ctor_get(x_3, 0);
-lean_dec(x_99);
-x_100 = lean_ctor_get(x_93, 1);
-lean_inc(x_100);
-lean_dec(x_93);
-x_101 = (uint8_t)((x_86 << 24) >> 61);
-x_102 = lean_expr_update_forall(x_3, x_101, x_88, x_92);
-lean_inc(x_102);
-x_103 = lean_array_uset(x_100, x_6, x_102);
-x_104 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_104, 0, x_95);
-lean_ctor_set(x_104, 1, x_103);
-lean_ctor_set(x_90, 1, x_104);
-lean_ctor_set(x_90, 0, x_102);
-return x_90;
-}
-else
-{
-lean_object* x_105; lean_object* x_106; uint8_t x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110;
-lean_dec(x_3);
-x_105 = lean_ctor_get(x_93, 1);
-lean_inc(x_105);
-lean_dec(x_93);
-x_106 = lean_alloc_ctor(7, 3, 8);
-lean_ctor_set(x_106, 0, x_83);
-lean_ctor_set(x_106, 1, x_84);
-lean_ctor_set(x_106, 2, x_85);
-lean_ctor_set_uint64(x_106, sizeof(void*)*3, x_86);
-x_107 = (uint8_t)((x_86 << 24) >> 61);
-x_108 = lean_expr_update_forall(x_106, x_107, x_88, x_92);
-lean_inc(x_108);
-x_109 = lean_array_uset(x_105, x_6, x_108);
-x_110 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_110, 0, x_95);
-lean_ctor_set(x_110, 1, x_109);
-lean_ctor_set(x_90, 1, x_110);
-lean_ctor_set(x_90, 0, x_108);
-return x_90;
-}
-}
-else
-{
-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; uint8_t x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122;
-x_111 = lean_ctor_get(x_90, 0);
-x_112 = lean_ctor_get(x_90, 1);
-lean_inc(x_112);
-lean_inc(x_111);
-lean_dec(x_90);
-x_113 = lean_ctor_get(x_112, 0);
-lean_inc(x_113);
-lean_inc(x_3);
-x_114 = lean_array_uset(x_113, x_6, x_3);
-if (lean_is_exclusive(x_3)) {
- lean_ctor_release(x_3, 0);
- lean_ctor_release(x_3, 1);
- lean_ctor_release(x_3, 2);
- x_115 = x_3;
-} else {
- lean_dec_ref(x_3);
- x_115 = lean_box(0);
-}
-x_116 = lean_ctor_get(x_112, 1);
-lean_inc(x_116);
-lean_dec(x_112);
-if (lean_is_scalar(x_115)) {
- x_117 = lean_alloc_ctor(7, 3, 8);
-} else {
- x_117 = x_115;
-}
-lean_ctor_set(x_117, 0, x_83);
-lean_ctor_set(x_117, 1, x_84);
-lean_ctor_set(x_117, 2, x_85);
-lean_ctor_set_uint64(x_117, sizeof(void*)*3, x_86);
-x_118 = (uint8_t)((x_86 << 24) >> 61);
-x_119 = lean_expr_update_forall(x_117, x_118, x_88, x_111);
-lean_inc(x_119);
-x_120 = lean_array_uset(x_116, x_6, x_119);
-x_121 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_121, 0, x_114);
-lean_ctor_set(x_121, 1, x_120);
-x_122 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_122, 0, x_119);
-lean_ctor_set(x_122, 1, x_121);
-return x_122;
-}
-}
-case 8:
-{
-lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; uint64_t 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; lean_object* x_134; uint8_t x_135;
-x_123 = lean_ctor_get(x_3, 0);
-lean_inc(x_123);
-x_124 = lean_ctor_get(x_3, 1);
-lean_inc(x_124);
-x_125 = lean_ctor_get(x_3, 2);
-lean_inc(x_125);
-x_126 = lean_ctor_get(x_3, 3);
-lean_inc(x_126);
-x_127 = lean_ctor_get_uint64(x_3, sizeof(void*)*4);
-lean_inc(x_124);
-x_128 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Meta_MVarRenaming_apply___spec__1(x_1, x_2, x_124, x_4);
-x_129 = lean_ctor_get(x_128, 0);
-lean_inc(x_129);
-x_130 = lean_ctor_get(x_128, 1);
-lean_inc(x_130);
-lean_dec(x_128);
-lean_inc(x_125);
-x_131 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Meta_MVarRenaming_apply___spec__1(x_1, x_2, x_125, x_130);
-x_132 = lean_ctor_get(x_131, 0);
-lean_inc(x_132);
-x_133 = lean_ctor_get(x_131, 1);
-lean_inc(x_133);
-lean_dec(x_131);
-lean_inc(x_126);
-x_134 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Meta_MVarRenaming_apply___spec__1(x_1, x_2, x_126, x_133);
-x_135 = !lean_is_exclusive(x_134);
-if (x_135 == 0)
-{
-lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; uint8_t x_140;
-x_136 = lean_ctor_get(x_134, 0);
-x_137 = lean_ctor_get(x_134, 1);
-x_138 = lean_ctor_get(x_137, 0);
-lean_inc(x_138);
-lean_inc(x_3);
-x_139 = lean_array_uset(x_138, x_6, x_3);
-x_140 = !lean_is_exclusive(x_3);
-if (x_140 == 0)
-{
-lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148;
-x_141 = lean_ctor_get(x_3, 3);
-lean_dec(x_141);
-x_142 = lean_ctor_get(x_3, 2);
-lean_dec(x_142);
-x_143 = lean_ctor_get(x_3, 1);
-lean_dec(x_143);
-x_144 = lean_ctor_get(x_3, 0);
-lean_dec(x_144);
-x_145 = lean_ctor_get(x_137, 1);
-lean_inc(x_145);
-lean_dec(x_137);
-x_146 = lean_expr_update_let(x_3, x_129, x_132, x_136);
-lean_inc(x_146);
-x_147 = lean_array_uset(x_145, x_6, x_146);
-x_148 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_148, 0, x_139);
-lean_ctor_set(x_148, 1, x_147);
-lean_ctor_set(x_134, 1, x_148);
-lean_ctor_set(x_134, 0, x_146);
-return x_134;
-}
-else
-{
-lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153;
-lean_dec(x_3);
-x_149 = lean_ctor_get(x_137, 1);
-lean_inc(x_149);
-lean_dec(x_137);
-x_150 = lean_alloc_ctor(8, 4, 8);
-lean_ctor_set(x_150, 0, x_123);
-lean_ctor_set(x_150, 1, x_124);
-lean_ctor_set(x_150, 2, x_125);
-lean_ctor_set(x_150, 3, x_126);
-lean_ctor_set_uint64(x_150, sizeof(void*)*4, x_127);
-x_151 = lean_expr_update_let(x_150, x_129, x_132, x_136);
-lean_inc(x_151);
-x_152 = lean_array_uset(x_149, x_6, x_151);
-x_153 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_153, 0, x_139);
-lean_ctor_set(x_153, 1, x_152);
-lean_ctor_set(x_134, 1, x_153);
-lean_ctor_set(x_134, 0, x_151);
-return x_134;
-}
-}
-else
-{
-lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164;
-x_154 = lean_ctor_get(x_134, 0);
-x_155 = lean_ctor_get(x_134, 1);
-lean_inc(x_155);
-lean_inc(x_154);
-lean_dec(x_134);
-x_156 = lean_ctor_get(x_155, 0);
-lean_inc(x_156);
-lean_inc(x_3);
-x_157 = lean_array_uset(x_156, x_6, x_3);
-if (lean_is_exclusive(x_3)) {
- lean_ctor_release(x_3, 0);
- lean_ctor_release(x_3, 1);
- lean_ctor_release(x_3, 2);
- lean_ctor_release(x_3, 3);
- x_158 = x_3;
-} else {
- lean_dec_ref(x_3);
- x_158 = lean_box(0);
-}
-x_159 = lean_ctor_get(x_155, 1);
-lean_inc(x_159);
-lean_dec(x_155);
-if (lean_is_scalar(x_158)) {
- x_160 = lean_alloc_ctor(8, 4, 8);
-} else {
- x_160 = x_158;
-}
-lean_ctor_set(x_160, 0, x_123);
-lean_ctor_set(x_160, 1, x_124);
-lean_ctor_set(x_160, 2, x_125);
-lean_ctor_set(x_160, 3, x_126);
-lean_ctor_set_uint64(x_160, sizeof(void*)*4, x_127);
-x_161 = lean_expr_update_let(x_160, x_129, x_132, x_154);
-lean_inc(x_161);
-x_162 = lean_array_uset(x_159, x_6, x_161);
-x_163 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_163, 0, x_157);
-lean_ctor_set(x_163, 1, x_162);
-x_164 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_164, 0, x_161);
-lean_ctor_set(x_164, 1, x_163);
-return x_164;
-}
-}
-case 10:
-{
-lean_object* x_165; lean_object* x_166; uint64_t x_167; lean_object* x_168; uint8_t x_169;
-x_165 = lean_ctor_get(x_3, 0);
-lean_inc(x_165);
-x_166 = lean_ctor_get(x_3, 1);
-lean_inc(x_166);
-x_167 = lean_ctor_get_uint64(x_3, sizeof(void*)*2);
-lean_inc(x_166);
-x_168 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Meta_MVarRenaming_apply___spec__1(x_1, x_2, x_166, x_4);
-x_169 = !lean_is_exclusive(x_168);
-if (x_169 == 0)
-{
-lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; uint8_t x_174;
-x_170 = lean_ctor_get(x_168, 0);
-x_171 = lean_ctor_get(x_168, 1);
-x_172 = lean_ctor_get(x_171, 0);
-lean_inc(x_172);
-lean_inc(x_3);
-x_173 = lean_array_uset(x_172, x_6, x_3);
-x_174 = !lean_is_exclusive(x_3);
-if (x_174 == 0)
-{
-lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180;
-x_175 = lean_ctor_get(x_3, 1);
-lean_dec(x_175);
-x_176 = lean_ctor_get(x_3, 0);
-lean_dec(x_176);
-x_177 = lean_ctor_get(x_171, 1);
-lean_inc(x_177);
-lean_dec(x_171);
-x_178 = lean_expr_update_mdata(x_3, x_170);
-lean_inc(x_178);
-x_179 = lean_array_uset(x_177, x_6, x_178);
-x_180 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_180, 0, x_173);
-lean_ctor_set(x_180, 1, x_179);
-lean_ctor_set(x_168, 1, x_180);
-lean_ctor_set(x_168, 0, x_178);
-return x_168;
-}
-else
-{
-lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185;
-lean_dec(x_3);
-x_181 = lean_ctor_get(x_171, 1);
-lean_inc(x_181);
-lean_dec(x_171);
-x_182 = lean_alloc_ctor(10, 2, 8);
-lean_ctor_set(x_182, 0, x_165);
-lean_ctor_set(x_182, 1, x_166);
-lean_ctor_set_uint64(x_182, sizeof(void*)*2, x_167);
-x_183 = lean_expr_update_mdata(x_182, x_170);
-lean_inc(x_183);
-x_184 = lean_array_uset(x_181, x_6, x_183);
-x_185 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_185, 0, x_173);
-lean_ctor_set(x_185, 1, x_184);
-lean_ctor_set(x_168, 1, x_185);
-lean_ctor_set(x_168, 0, x_183);
-return x_168;
-}
-}
-else
-{
-lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196;
-x_186 = lean_ctor_get(x_168, 0);
-x_187 = lean_ctor_get(x_168, 1);
-lean_inc(x_187);
-lean_inc(x_186);
-lean_dec(x_168);
-x_188 = lean_ctor_get(x_187, 0);
-lean_inc(x_188);
-lean_inc(x_3);
-x_189 = lean_array_uset(x_188, x_6, x_3);
-if (lean_is_exclusive(x_3)) {
- lean_ctor_release(x_3, 0);
- lean_ctor_release(x_3, 1);
- x_190 = x_3;
-} else {
- lean_dec_ref(x_3);
- x_190 = lean_box(0);
-}
-x_191 = lean_ctor_get(x_187, 1);
-lean_inc(x_191);
-lean_dec(x_187);
-if (lean_is_scalar(x_190)) {
- x_192 = lean_alloc_ctor(10, 2, 8);
-} else {
- x_192 = x_190;
-}
-lean_ctor_set(x_192, 0, x_165);
-lean_ctor_set(x_192, 1, x_166);
-lean_ctor_set_uint64(x_192, sizeof(void*)*2, x_167);
-x_193 = lean_expr_update_mdata(x_192, x_186);
-lean_inc(x_193);
-x_194 = lean_array_uset(x_191, x_6, x_193);
-x_195 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_195, 0, x_189);
-lean_ctor_set(x_195, 1, x_194);
-x_196 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_196, 0, x_193);
-lean_ctor_set(x_196, 1, x_195);
-return x_196;
-}
-}
-case 11:
-{
-lean_object* x_197; lean_object* x_198; lean_object* x_199; uint64_t x_200; lean_object* x_201; uint8_t x_202;
-x_197 = lean_ctor_get(x_3, 0);
-lean_inc(x_197);
-x_198 = lean_ctor_get(x_3, 1);
-lean_inc(x_198);
-x_199 = lean_ctor_get(x_3, 2);
-lean_inc(x_199);
-x_200 = lean_ctor_get_uint64(x_3, sizeof(void*)*3);
-lean_inc(x_199);
-x_201 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Meta_MVarRenaming_apply___spec__1(x_1, x_2, x_199, x_4);
-x_202 = !lean_is_exclusive(x_201);
-if (x_202 == 0)
-{
-lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; uint8_t x_207;
-x_203 = lean_ctor_get(x_201, 0);
-x_204 = lean_ctor_get(x_201, 1);
-x_205 = lean_ctor_get(x_204, 0);
-lean_inc(x_205);
-lean_inc(x_3);
-x_206 = lean_array_uset(x_205, x_6, x_3);
-x_207 = !lean_is_exclusive(x_3);
-if (x_207 == 0)
-{
-lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214;
-x_208 = lean_ctor_get(x_3, 2);
-lean_dec(x_208);
-x_209 = lean_ctor_get(x_3, 1);
-lean_dec(x_209);
-x_210 = lean_ctor_get(x_3, 0);
-lean_dec(x_210);
-x_211 = lean_ctor_get(x_204, 1);
-lean_inc(x_211);
-lean_dec(x_204);
-x_212 = lean_expr_update_proj(x_3, x_203);
-lean_inc(x_212);
-x_213 = lean_array_uset(x_211, x_6, x_212);
-x_214 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_214, 0, x_206);
-lean_ctor_set(x_214, 1, x_213);
-lean_ctor_set(x_201, 1, x_214);
-lean_ctor_set(x_201, 0, x_212);
-return x_201;
-}
-else
-{
-lean_object* x_215; lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219;
-lean_dec(x_3);
-x_215 = lean_ctor_get(x_204, 1);
-lean_inc(x_215);
-lean_dec(x_204);
-x_216 = lean_alloc_ctor(11, 3, 8);
-lean_ctor_set(x_216, 0, x_197);
-lean_ctor_set(x_216, 1, x_198);
-lean_ctor_set(x_216, 2, x_199);
-lean_ctor_set_uint64(x_216, sizeof(void*)*3, x_200);
-x_217 = lean_expr_update_proj(x_216, x_203);
-lean_inc(x_217);
-x_218 = lean_array_uset(x_215, x_6, x_217);
-x_219 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_219, 0, x_206);
-lean_ctor_set(x_219, 1, x_218);
-lean_ctor_set(x_201, 1, x_219);
-lean_ctor_set(x_201, 0, x_217);
-return x_201;
-}
-}
-else
-{
-lean_object* x_220; lean_object* x_221; lean_object* x_222; lean_object* x_223; lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; lean_object* x_228; lean_object* x_229; lean_object* x_230;
-x_220 = lean_ctor_get(x_201, 0);
-x_221 = lean_ctor_get(x_201, 1);
-lean_inc(x_221);
-lean_inc(x_220);
-lean_dec(x_201);
-x_222 = lean_ctor_get(x_221, 0);
-lean_inc(x_222);
-lean_inc(x_3);
-x_223 = lean_array_uset(x_222, x_6, x_3);
-if (lean_is_exclusive(x_3)) {
- lean_ctor_release(x_3, 0);
- lean_ctor_release(x_3, 1);
- lean_ctor_release(x_3, 2);
- x_224 = x_3;
-} else {
- lean_dec_ref(x_3);
- x_224 = lean_box(0);
-}
-x_225 = lean_ctor_get(x_221, 1);
-lean_inc(x_225);
-lean_dec(x_221);
-if (lean_is_scalar(x_224)) {
- x_226 = lean_alloc_ctor(11, 3, 8);
-} else {
- x_226 = x_224;
-}
-lean_ctor_set(x_226, 0, x_197);
-lean_ctor_set(x_226, 1, x_198);
-lean_ctor_set(x_226, 2, x_199);
-lean_ctor_set_uint64(x_226, sizeof(void*)*3, x_200);
-x_227 = lean_expr_update_proj(x_226, x_220);
-lean_inc(x_227);
-x_228 = lean_array_uset(x_225, x_6, x_227);
-x_229 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_229, 0, x_223);
-lean_ctor_set(x_229, 1, x_228);
-x_230 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_230, 0, x_227);
-lean_ctor_set(x_230, 1, x_229);
-return x_230;
-}
-}
-case 12:
-{
-lean_object* x_231; lean_object* x_232; lean_object* x_233;
-lean_dec(x_3);
-x_231 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___closed__1;
-x_232 = l_unreachable_x21___rarg(x_231);
-x_233 = lean_apply_1(x_232, x_4);
-return x_233;
-}
-default:
-{
-lean_object* x_234;
-x_234 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_234, 0, x_3);
-lean_ctor_set(x_234, 1, x_4);
-return x_234;
-}
-}
-}
-block_243:
-{
-lean_object* x_238; lean_object* x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242;
-x_238 = lean_array_uset(x_236, x_6, x_3);
-x_239 = lean_ctor_get(x_4, 1);
-lean_inc(x_239);
lean_dec(x_4);
-lean_inc(x_237);
-x_240 = lean_array_uset(x_239, x_6, x_237);
-x_241 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_241, 0, x_238);
-lean_ctor_set(x_241, 1, x_240);
-x_242 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_242, 0, x_237);
-lean_ctor_set(x_242, 1, x_241);
-return x_242;
+x_10 = l_Lean_mkMVar(x_9);
+x_11 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_11, 0, x_10);
+return x_11;
+}
+}
+}
+else
+{
+lean_object* x_12;
+lean_dec(x_2);
+x_12 = lean_box(0);
+return x_12;
}
}
}
lean_object* l_Lean_Meta_MVarRenaming_apply(lean_object* x_1, lean_object* x_2) {
_start:
{
-uint8_t x_3; uint8_t x_13;
-x_13 = l_Lean_Expr_hasMVar(x_2);
-if (x_13 == 0)
+uint8_t x_3; uint8_t x_14;
+x_14 = l_Lean_Expr_hasMVar(x_2);
+if (x_14 == 0)
{
-uint8_t x_14;
-x_14 = 1;
-x_3 = x_14;
-goto block_12;
+uint8_t x_15;
+x_15 = 1;
+x_3 = x_15;
+goto block_13;
}
else
{
-uint8_t x_15;
-x_15 = 0;
-x_3 = x_15;
-goto block_12;
+uint8_t x_16;
+x_16 = 0;
+x_3 = x_16;
+goto block_13;
}
-block_12:
+block_13:
{
if (x_3 == 0)
{
uint8_t x_4;
if (lean_obj_tag(x_1) == 0)
{
-uint8_t x_10;
-x_10 = 1;
-x_4 = x_10;
-goto block_9;
+uint8_t x_11;
+x_11 = 1;
+x_4 = x_11;
+goto block_10;
}
else
{
-uint8_t x_11;
-x_11 = 0;
-x_4 = x_11;
-goto block_9;
+uint8_t x_12;
+x_12 = 0;
+x_4 = x_12;
+goto block_10;
}
-block_9:
+block_10:
{
if (x_4 == 0)
{
-size_t x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8;
-x_5 = 8192;
-x_6 = l_Lean_Expr_ReplaceImpl_initCache;
-x_7 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Meta_MVarRenaming_apply___spec__1(x_1, x_5, x_2, x_6);
-x_8 = lean_ctor_get(x_7, 0);
-lean_inc(x_8);
-lean_dec(x_7);
-return x_8;
+lean_object* x_5; size_t x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9;
+x_5 = lean_alloc_closure((void*)(l_Lean_Meta_MVarRenaming_apply___lambda__1___boxed), 2, 1);
+lean_closure_set(x_5, 0, x_1);
+x_6 = 8192;
+x_7 = l_Lean_Expr_ReplaceImpl_initCache;
+x_8 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(x_5, x_6, x_2, x_7);
+x_9 = lean_ctor_get(x_8, 0);
+lean_inc(x_9);
+lean_dec(x_8);
+return x_9;
}
else
{
-return x_2;
-}
-}
-}
-else
-{
-return x_2;
-}
-}
-}
-}
-lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Meta_MVarRenaming_apply___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
-_start:
-{
-size_t x_5; lean_object* x_6;
-x_5 = lean_unbox_usize(x_2);
-lean_dec(x_2);
-x_6 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Meta_MVarRenaming_apply___spec__1(x_1, x_5, x_3, x_4);
lean_dec(x_1);
-return x_6;
+return x_2;
}
}
-lean_object* l_Lean_Meta_MVarRenaming_apply___boxed(lean_object* x_1, lean_object* x_2) {
+}
+else
+{
+lean_dec(x_1);
+return x_2;
+}
+}
+}
+}
+lean_object* l_Lean_Meta_MVarRenaming_apply___lambda__1___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
-x_3 = l_Lean_Meta_MVarRenaming_apply(x_1, x_2);
+x_3 = l_Lean_Meta_MVarRenaming_apply___lambda__1(x_1, x_2);
lean_dec(x_1);
return x_3;
}
diff --git a/stage0/stdlib/Lean/Meta/Match/Match.c b/stage0/stdlib/Lean/Meta/Match/Match.c
index 7f6e68ea9d..fdbb3fed17 100644
--- a/stage0/stdlib/Lean/Meta/Match/Match.c
+++ b/stage0/stdlib/Lean/Meta/Match/Match.c
@@ -77,7 +77,6 @@ lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_updateAlts_match__1_
lean_object* l_Lean_LocalDecl_userName(lean_object*);
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___lambda__1___closed__1;
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__5___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Meta_isExprDefEq___at_Lean_Meta_isExprDefEqGuarded___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_throwInductiveTypeExpected(lean_object*);
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_updateAlts___lambda__3___closed__2;
@@ -101,11 +100,9 @@ lean_object* l_Lean_Format_pretty(lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___closed__1;
lean_object* l_Lean_Meta_Match_Unify_unify___closed__3;
uint8_t lean_name_eq(lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_Match_Unify_assign___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_Meta_Match_Extension_mkExtension___spec__3(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__3___boxed(lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isNatValueTransition_match__1(lean_object*);
-lean_object* l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__7___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Meta_MatcherApp_addArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_List_filterAux___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__6(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Match_Pattern_toExpr_match__1(lean_object*);
@@ -144,12 +141,12 @@ lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isArrayLitTran
uint8_t l_Lean_checkTraceOption(lean_object*, lean_object*);
lean_object* l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__4;
uint8_t l_List_foldr___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasAsPattern___spec__1(uint8_t, lean_object*);
-lean_object* l_List_map___main___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__1___boxed(lean_object*, lean_object*);
lean_object* lean_st_ref_get(lean_object*, lean_object*);
lean_object* l_Lean_Meta_Match_processInaccessibleAsCtor___lambda__1___closed__3;
uint8_t l_Lean_Meta_Match_Unify_occurs(lean_object*, lean_object*);
lean_object* l_Array_indexOfAux___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_getUElimPos_x3f___spec__1(lean_object*, lean_object*, lean_object*);
lean_object* l_List_append___rarg(lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_isLevelDefEq___spec__2___rarg(lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_getUElimPos_x3f___closed__3;
lean_object* l_Array_iterateMAux___main___at_Lean_Meta_Match_Extension_mkExtension___spec__2(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_checkNumPatterns(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -162,6 +159,7 @@ lean_object* l_List_filterMapMAux___main___at___private_Lean_Meta_Match_Match_0_
lean_object* l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__1___closed__2;
lean_object* l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__3(lean_object*);
extern lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_517____closed__3;
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_SynthInstance_main___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_List_filterMapMAux___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Match_Unify_assign___closed__7;
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit_match__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
@@ -199,7 +197,6 @@ lean_object* l_Lean_fmt___at_Lean_Position_Lean_Data_Position___instance__2___sp
uint8_t l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasNatValPattern(lean_object*);
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasCtorPattern_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_MessageData_ofList(lean_object*);
-lean_object* l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___spec__3___boxed(lean_object*, lean_object*);
lean_object* l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__5___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Meta_Match_Example_applyFVarSubst_match__1(lean_object*);
lean_object* l_Lean_Meta_isTypeCorrect(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -216,7 +213,6 @@ uint8_t l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_inLocalDecls(lean_o
lean_object* l_Std_mkHashSetImp___rarg(lean_object*);
extern lean_object* l_List_repr___rarg___closed__3;
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_getInductiveVal_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Meta_Match_Alt_applyFVarSubst___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Meta_Match_Problem_toMessageData___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processAsPattern_match__1(lean_object*);
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isConstructorTransition_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -266,7 +262,6 @@ lean_object* l_List_map___main___at_Lean_Meta_Match_Alt_toMessageData___spec__1_
extern lean_object* l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
lean_object* l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandNatValuePattern___spec__1(lean_object*);
lean_object* l_Std_AssocList_foldlM___at_Lean_Meta_Match_Extension_State_addEntry___spec__11(lean_object*, lean_object*);
-lean_object* l_List_map___main___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__1___boxed(lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_process_match__1___rarg(lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at_Lean_Meta_Closure_mkBinding___spec__1(lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___lambda__2___boxed(lean_object**);
@@ -294,7 +289,6 @@ lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_process___clos
lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean_object*, lean_object*);
uint8_t l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isArrayLitTransition(lean_object*);
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processAsPattern_match__2___rarg(lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_isLevelDefEq___spec__3___rarg(lean_object*, lean_object*);
lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__2(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Match_Extension_mkExtension___lambda__1___boxed(lean_object*);
lean_object* l_Lean_SMap_find_x3f___at_Lean_Meta_Match_Extension_getMatcherInfo_x3f___spec__1(lean_object*, lean_object*);
@@ -315,7 +309,6 @@ lean_object* l_List_map___main___at_Lean_Meta_Match_Example_replaceFVarId___spec
lean_object* lean_array_fget(lean_object*, lean_object*);
lean_object* l_Lean_Meta_Match_mkMatcher___lambda__2___closed__3;
lean_object* l_Lean_Meta_mkAuxDefinition___at_Lean_Meta_mkAuxDefinitionFor___spec__1(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_Match_Unify_assign___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_List_map___main___at_Lean_Meta_Match_processInaccessibleAsCtor___spec__1(lean_object*);
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_collectArraySizes_match__1(lean_object*);
extern lean_object* l_Lean_Meta_isExprDefEq___rarg___closed__2;
@@ -354,7 +347,6 @@ lean_object* l_List_foldr___main___at___private_Lean_Meta_Match_Match_0__Lean_Me
lean_object* l_List_map___main___at_Lean_Meta_Match_Alt_replaceFVarId___spec__3(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_throwInductiveTypeExpected___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_constLevels_x21(lean_object*);
-lean_object* l_Lean_Meta_Match_Pattern_applyFVarSubst___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Meta_Match_Pattern_Lean_Meta_Match_Match___instance__1;
lean_object* l_Lean_throwError___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_process___spec__2(lean_object*);
lean_object* l_Lean_Meta_Match_isCurrVarInductive___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -367,7 +359,6 @@ lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processAsPatte
lean_object* l_Lean_Meta_Match_mkMatcher___lambda__1___closed__6;
lean_object* l_Lean_Meta_Match_processInaccessibleAsCtor___closed__2;
lean_object* l_Std_HashMapImp_moveEntries___at_Lean_Meta_Match_Extension_State_addEntry___spec__10(lean_object*, lean_object*, lean_object*);
-lean_object* l_List_map___main___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__3___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Meta_whnfD___at___private_Lean_Meta_InferType_0__Lean_Meta_getLevelImp___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_getArrayArgType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_getInductiveVal_x3f_match__2(lean_object*);
@@ -490,7 +481,6 @@ uint8_t l_Lean_Meta_Match_Unify_occurs___lambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Meta_matchMatcherApp_x3f_match__2___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_CoreM_1__mkFreshNameImp(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable_match__2___rarg(lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_SynthInstance_main___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_IO_Error_Inhabited___closed__1;
lean_object* l_Lean_Meta_Match_Example_toMessageData_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Match_Alt_toMessageData___closed__2;
@@ -538,7 +528,6 @@ lean_object* l___private_Lean_Meta_InferType_0__Lean_Meta_getLevelImp(lean_objec
size_t l_USize_mul(size_t, size_t);
lean_object* l_Array_iterateMAux___main___at_Lean_Meta_Match_Extension_State_addEntry___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_List_redLength___main___rarg(lean_object*);
-lean_object* l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___spec__4___boxed(lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f_match__2(lean_object*);
lean_object* l_Lean_Meta_Match_processInaccessibleAsCtor___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*);
lean_object* l_Lean_mkStateFromImportedEntries___at_Lean_Meta_Match_Extension_mkExtension___spec__1(lean_object*, lean_object*);
@@ -562,6 +551,7 @@ lean_object* l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible_match__2(lean_object*);
lean_object* l_Lean_Meta_Match_Unify_assign___closed__4;
lean_object* l_Lean_MessageData_joinSep___main(lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_Match_Unify_assign___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Std_HashSetImp_contains___at_Lean_Meta_Match_mkMatcher___spec__3(lean_object*, lean_object*);
lean_object* l_Lean_Meta_Match_counterExampleToMessageData(lean_object*);
lean_object* l_Lean_Meta_Match_mkMatcher___lambda__1___closed__10;
@@ -602,7 +592,6 @@ lean_object* l_Lean_Meta_Match_Extension_extension___elambda__4(lean_object*, le
lean_object* l_Lean_Meta_FVarSubst_get(lean_object*, lean_object*);
lean_object* l_List_map___main___at_Lean_Meta_Match_Example_applyFVarSubst___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_Meta_Match_addMatcherInfo___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_List_map___main___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__2___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___lambda__1___boxed(lean_object*, lean_object*);
extern lean_object* l_Lean_Expr_FindImpl_initCache;
lean_object* l_List_map___main___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__2(lean_object*, lean_object*);
@@ -611,8 +600,6 @@ lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstru
lean_object* l_Lean_Meta_Match_mkMatcher___lambda__1___closed__12;
lean_object* l_List_map___main___at_Lean_Meta_Match_examplesToMessageData___spec__1(lean_object*);
lean_object* l_Lean_Meta_getMatcherInfo_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_isLevelDefEq___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__2___boxed(lean_object*, lean_object*);
lean_object* l_Std_HashSetImp_expand___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processLeaf___spec__2(lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoArrayLit_loop_match__1(lean_object*);
lean_object* l_Lean_Meta_Match_Example_applyFVarSubst___boxed(lean_object*, lean_object*);
@@ -646,7 +633,6 @@ lean_object* l_Lean_Meta_getLocalDecl___at_Lean_Meta_getFVarLocalDecl___spec__1(
uint8_t l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasAsPattern(lean_object*);
lean_object* l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandNatValuePattern___spec__1___closed__2;
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasVarPattern_match__1___rarg(lean_object*, lean_object*, lean_object*);
-lean_object* l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__7___boxed(lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f_match__2___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Match_Extension_mkExtension___closed__5;
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___closed__1;
@@ -685,6 +671,7 @@ lean_object* l_Lean_Meta_FVarSubst_insert(lean_object*, lean_object*, lean_objec
lean_object* l_Lean_Meta_Match_isCurrVarInductive(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_commitWhenSome_x3f___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Match_mkMatcher___lambda__3___closed__1;
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_Match_Unify_assign___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Match_mkMatcher___lambda__1___closed__9;
extern lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___closed__1;
lean_object* l_List_map___main___at_Lean_Meta_Match_Alt_replaceFVarId___spec__2(lean_object*, lean_object*, lean_object*);
@@ -784,7 +771,6 @@ lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoA
lean_object* l_Array_toList___rarg(lean_object*);
lean_object* l_Lean_Meta_Match_Unify_unify(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Match_Unify_expandIfVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_updateAlts___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Position_lt___closed__1;
lean_object* l_Lean_Meta_Match_processInaccessibleAsCtor___closed__3;
@@ -797,6 +783,7 @@ lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_traceStep___bo
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_unify_x3f_match__1___rarg(lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor_match__2(lean_object*);
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_unify_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_collectValues_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Match_Unify_occurs___boxed(lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_traceStep___closed__1;
@@ -814,7 +801,6 @@ lean_object* l_Lean_Meta_Match_mkMatcher___lambda__1___closed__5;
extern lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2;
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__8(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_List_toString___at_Lean_Meta_Match_mkMatcher___spec__8(lean_object*);
-lean_object* l_List_map___main___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__2___boxed(lean_object*, lean_object*);
lean_object* l_Array_indexOfAux___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_getUElimPos_x3f___spec__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_unify_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -862,7 +848,6 @@ lean_object* l_Lean_Meta_Match_MatcherInfo_numAlts(lean_object*);
lean_object* l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__7(lean_object*, lean_object*);
lean_object* l_Lean_Meta_Match_processInaccessibleAsCtor_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_List_toArrayAux___main___rarg(lean_object*, lean_object*);
-lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_kabstract___at_Lean_Meta_GeneralizeTelescope_updateTypes___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_List_foldl___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processLeaf___spec__4(lean_object*, lean_object*);
@@ -898,6 +883,7 @@ lean_object* l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta
uint8_t lean_level_eq(lean_object*, lean_object*);
lean_object* l_Lean_Meta_Match_isCurrVarInductive___closed__1;
lean_object* l_EStateM_pure___rarg(lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Match_Alt_Lean_Meta_Match_Match___instance__2___closed__1;
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_process___closed__1;
lean_object* l_beqOfEq___rarg(lean_object*, lean_object*, lean_object*);
@@ -948,7 +934,6 @@ lean_object* l_Lean_Meta_Match_Unify_expandIfVar___boxed(lean_object*, lean_obje
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_process___closed__2;
lean_object* l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__2(lean_object*, lean_object*);
extern lean_object* l_Lean_Meta_isLevelDefEq___rarg___closed__2;
-lean_object* l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__7___boxed(lean_object*, lean_object*);
lean_object* l___private_Init_Util_2__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_mkStateFromImportedEntries___at_Lean_Meta_Match_Extension_mkExtension___spec__1___boxed(lean_object*, lean_object*);
lean_object* l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__6(lean_object*, lean_object*);
@@ -958,7 +943,6 @@ lean_object* l_Lean_LocalDecl_applyFVarSubst(lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue_match__1(lean_object*);
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable_match__2(lean_object*);
lean_object* l_Lean_Meta_Match_Unify_unify___closed__5;
-lean_object* l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__2___boxed(lean_object*, lean_object*);
lean_object* l_List_foldr___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasValPattern___spec__1___boxed(lean_object*, lean_object*);
lean_object* l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__6___closed__2;
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isVariableTransition_match__1(lean_object*);
@@ -984,6 +968,7 @@ lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_updateAlts___closed_
extern lean_object* l_Lean_Meta_mkArrow___rarg___closed__2;
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isNatValueTransition_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__2;
+lean_object* l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_isLevelDefEq___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_addMessageContextFull___at_Lean_Meta_Lean_Meta_Basic___instance__7___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Match_Example_toMessageData___closed__2;
static lean_object* _init_l_Lean_Meta_Match_Pattern_Lean_Meta_Match_Match___instance__1___closed__1() {
@@ -2112,6 +2097,7 @@ _start:
if (lean_obj_tag(x_2) == 0)
{
lean_object* x_3;
+lean_dec(x_1);
x_3 = lean_box(0);
return x_3;
}
@@ -2124,6 +2110,7 @@ if (x_4 == 0)
lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8;
x_5 = lean_ctor_get(x_2, 0);
x_6 = lean_ctor_get(x_2, 1);
+lean_inc(x_1);
x_7 = l_Lean_Meta_FVarSubst_apply(x_1, x_5);
x_8 = l_List_map___main___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__1(x_1, x_6);
lean_ctor_set(x_2, 1, x_8);
@@ -2138,6 +2125,7 @@ x_10 = lean_ctor_get(x_2, 1);
lean_inc(x_10);
lean_inc(x_9);
lean_dec(x_2);
+lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_9);
x_12 = l_List_map___main___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__1(x_1, x_10);
x_13 = lean_alloc_ctor(1, 2, 0);
@@ -2154,6 +2142,7 @@ _start:
if (lean_obj_tag(x_2) == 0)
{
lean_object* x_3;
+lean_dec(x_1);
x_3 = lean_box(0);
return x_3;
}
@@ -2166,6 +2155,7 @@ if (x_4 == 0)
lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8;
x_5 = lean_ctor_get(x_2, 0);
x_6 = lean_ctor_get(x_2, 1);
+lean_inc(x_1);
x_7 = l_Lean_Meta_Match_Pattern_applyFVarSubst(x_1, x_5);
x_8 = l_List_map___main___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__2(x_1, x_6);
lean_ctor_set(x_2, 1, x_8);
@@ -2180,6 +2170,7 @@ x_10 = lean_ctor_get(x_2, 1);
lean_inc(x_10);
lean_inc(x_9);
lean_dec(x_2);
+lean_inc(x_1);
x_11 = l_Lean_Meta_Match_Pattern_applyFVarSubst(x_1, x_9);
x_12 = l_List_map___main___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__2(x_1, x_10);
x_13 = lean_alloc_ctor(1, 2, 0);
@@ -2196,6 +2187,7 @@ _start:
if (lean_obj_tag(x_2) == 0)
{
lean_object* x_3;
+lean_dec(x_1);
x_3 = lean_box(0);
return x_3;
}
@@ -2208,6 +2200,7 @@ if (x_4 == 0)
lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8;
x_5 = lean_ctor_get(x_2, 0);
x_6 = lean_ctor_get(x_2, 1);
+lean_inc(x_1);
x_7 = l_Lean_Meta_Match_Pattern_applyFVarSubst(x_1, x_5);
x_8 = l_List_map___main___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__3(x_1, x_6);
lean_ctor_set(x_2, 1, x_8);
@@ -2222,6 +2215,7 @@ x_10 = lean_ctor_get(x_2, 1);
lean_inc(x_10);
lean_inc(x_9);
lean_dec(x_2);
+lean_inc(x_1);
x_11 = l_Lean_Meta_Match_Pattern_applyFVarSubst(x_1, x_9);
x_12 = l_List_map___main___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__3(x_1, x_10);
x_13 = lean_alloc_ctor(1, 2, 0);
@@ -2269,6 +2263,7 @@ if (x_9 == 0)
lean_object* x_10; lean_object* x_11;
x_10 = lean_ctor_get(x_2, 0);
x_11 = l_Std_AssocList_find_x3f___at_Lean_Meta_FVarSubst_find_x3f___spec__1(x_10, x_1);
+lean_dec(x_1);
if (lean_obj_tag(x_11) == 0)
{
return x_2;
@@ -2292,6 +2287,7 @@ x_13 = lean_ctor_get(x_2, 0);
lean_inc(x_13);
lean_dec(x_2);
x_14 = l_Std_AssocList_find_x3f___at_Lean_Meta_FVarSubst_find_x3f___spec__1(x_13, x_1);
+lean_dec(x_1);
if (lean_obj_tag(x_14) == 0)
{
lean_object* x_15;
@@ -2321,6 +2317,7 @@ if (x_18 == 0)
lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
x_19 = lean_ctor_get(x_2, 2);
x_20 = lean_ctor_get(x_2, 3);
+lean_inc(x_1);
x_21 = l_List_map___main___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__1(x_1, x_19);
x_22 = l_List_map___main___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__2(x_1, x_20);
lean_ctor_set(x_2, 3, x_22);
@@ -2339,6 +2336,7 @@ lean_inc(x_25);
lean_inc(x_24);
lean_inc(x_23);
lean_dec(x_2);
+lean_inc(x_1);
x_27 = l_List_map___main___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__1(x_1, x_25);
x_28 = l_List_map___main___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__2(x_1, x_26);
x_29 = lean_alloc_ctor(2, 4, 0);
@@ -2382,6 +2380,7 @@ if (x_36 == 0)
lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40;
x_37 = lean_ctor_get(x_2, 0);
x_38 = lean_ctor_get(x_2, 1);
+lean_inc(x_1);
x_39 = l_Lean_Meta_FVarSubst_apply(x_1, x_37);
x_40 = l_List_map___main___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__3(x_1, x_38);
lean_ctor_set(x_2, 1, x_40);
@@ -2396,6 +2395,7 @@ x_42 = lean_ctor_get(x_2, 1);
lean_inc(x_42);
lean_inc(x_41);
lean_dec(x_2);
+lean_inc(x_1);
x_43 = l_Lean_Meta_FVarSubst_apply(x_1, x_41);
x_44 = l_List_map___main___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__3(x_1, x_42);
x_45 = lean_alloc_ctor(4, 2, 0);
@@ -2460,42 +2460,6 @@ goto _start;
}
}
}
-lean_object* l_List_map___main___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__1___boxed(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3;
-x_3 = l_List_map___main___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__1(x_1, x_2);
-lean_dec(x_1);
-return x_3;
-}
-}
-lean_object* l_List_map___main___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__2___boxed(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3;
-x_3 = l_List_map___main___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__2(x_1, x_2);
-lean_dec(x_1);
-return x_3;
-}
-}
-lean_object* l_List_map___main___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__3___boxed(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3;
-x_3 = l_List_map___main___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__3(x_1, x_2);
-lean_dec(x_1);
-return x_3;
-}
-}
-lean_object* l_Lean_Meta_Match_Pattern_applyFVarSubst___boxed(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3;
-x_3 = l_Lean_Meta_Match_Pattern_applyFVarSubst(x_1, x_2);
-lean_dec(x_1);
-return x_3;
-}
-}
lean_object* l_Lean_Meta_Match_Pattern_replaceFVarId(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
@@ -2503,7 +2467,6 @@ lean_object* x_4; lean_object* x_5; lean_object* x_6;
x_4 = lean_box(0);
x_5 = l_Lean_Meta_FVarSubst_insert(x_4, x_1, x_2);
x_6 = l_Lean_Meta_Match_Pattern_applyFVarSubst(x_5, x_3);
-lean_dec(x_5);
return x_6;
}
}
@@ -2789,6 +2752,7 @@ _start:
if (lean_obj_tag(x_2) == 0)
{
lean_object* x_3;
+lean_dec(x_1);
x_3 = lean_box(0);
return x_3;
}
@@ -2801,6 +2765,7 @@ if (x_4 == 0)
lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8;
x_5 = lean_ctor_get(x_2, 0);
x_6 = lean_ctor_get(x_2, 1);
+lean_inc(x_1);
x_7 = l_Lean_LocalDecl_applyFVarSubst(x_1, x_5);
x_8 = l_List_map___main___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__1(x_1, x_6);
lean_ctor_set(x_2, 1, x_8);
@@ -2815,6 +2780,7 @@ x_10 = lean_ctor_get(x_2, 1);
lean_inc(x_10);
lean_inc(x_9);
lean_dec(x_2);
+lean_inc(x_1);
x_11 = l_Lean_LocalDecl_applyFVarSubst(x_1, x_9);
x_12 = l_List_map___main___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__1(x_1, x_10);
x_13 = lean_alloc_ctor(1, 2, 0);
@@ -2831,6 +2797,7 @@ _start:
if (lean_obj_tag(x_2) == 0)
{
lean_object* x_3;
+lean_dec(x_1);
x_3 = lean_box(0);
return x_3;
}
@@ -2843,6 +2810,7 @@ if (x_4 == 0)
lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8;
x_5 = lean_ctor_get(x_2, 0);
x_6 = lean_ctor_get(x_2, 1);
+lean_inc(x_1);
x_7 = l_Lean_Meta_Match_Pattern_applyFVarSubst(x_1, x_5);
x_8 = l_List_map___main___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__2(x_1, x_6);
lean_ctor_set(x_2, 1, x_8);
@@ -2857,6 +2825,7 @@ x_10 = lean_ctor_get(x_2, 1);
lean_inc(x_10);
lean_inc(x_9);
lean_dec(x_2);
+lean_inc(x_1);
x_11 = l_Lean_Meta_Match_Pattern_applyFVarSubst(x_1, x_9);
x_12 = l_List_map___main___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__2(x_1, x_10);
x_13 = lean_alloc_ctor(1, 2, 0);
@@ -2878,7 +2847,9 @@ lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_obj
x_4 = lean_ctor_get(x_2, 2);
x_5 = lean_ctor_get(x_2, 3);
x_6 = lean_ctor_get(x_2, 4);
+lean_inc(x_1);
x_7 = l_Lean_Meta_FVarSubst_apply(x_1, x_4);
+lean_inc(x_1);
x_8 = l_List_map___main___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__1(x_1, x_5);
x_9 = l_List_map___main___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__2(x_1, x_6);
lean_ctor_set(x_2, 4, x_9);
@@ -2900,7 +2871,9 @@ lean_inc(x_12);
lean_inc(x_11);
lean_inc(x_10);
lean_dec(x_2);
+lean_inc(x_1);
x_15 = l_Lean_Meta_FVarSubst_apply(x_1, x_12);
+lean_inc(x_1);
x_16 = l_List_map___main___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__1(x_1, x_13);
x_17 = l_List_map___main___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__2(x_1, x_14);
x_18 = lean_alloc_ctor(0, 5, 0);
@@ -2913,33 +2886,6 @@ return x_18;
}
}
}
-lean_object* l_List_map___main___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__1___boxed(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3;
-x_3 = l_List_map___main___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__1(x_1, x_2);
-lean_dec(x_1);
-return x_3;
-}
-}
-lean_object* l_List_map___main___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__2___boxed(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3;
-x_3 = l_List_map___main___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__2(x_1, x_2);
-lean_dec(x_1);
-return x_3;
-}
-}
-lean_object* l_Lean_Meta_Match_Alt_applyFVarSubst___boxed(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3;
-x_3 = l_Lean_Meta_Match_Alt_applyFVarSubst(x_1, x_2);
-lean_dec(x_1);
-return x_3;
-}
-}
lean_object* l_List_filterAux___main___at_Lean_Meta_Match_Alt_replaceFVarId___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
@@ -6418,7 +6364,7 @@ x_72 = lean_ctor_get(x_66, 1);
lean_inc(x_72);
lean_dec(x_66);
x_73 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__3;
-x_74 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_73, x_6, x_7, x_8, x_9, x_72);
+x_74 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_73, x_6, x_7, x_8, x_9, x_72);
x_75 = lean_ctor_get(x_74, 0);
lean_inc(x_75);
x_76 = lean_ctor_get(x_74, 1);
@@ -6474,7 +6420,7 @@ x_57 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_57, 0, x_55);
lean_ctor_set(x_57, 1, x_56);
x_58 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__3;
-x_59 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_58, x_57, x_6, x_7, x_8, x_9, x_46);
+x_59 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_58, x_57, x_6, x_7, x_8, x_9, x_46);
x_60 = lean_ctor_get(x_59, 1);
lean_inc(x_60);
lean_dec(x_59);
@@ -10960,7 +10906,6 @@ if (x_10 == 0)
lean_object* x_11; lean_object* x_12;
x_11 = lean_ctor_get(x_9, 0);
x_12 = l_Lean_Meta_FVarSubst_apply(x_11, x_1);
-lean_dec(x_11);
lean_ctor_set(x_9, 0, x_12);
return x_9;
}
@@ -10973,7 +10918,6 @@ lean_inc(x_14);
lean_inc(x_13);
lean_dec(x_9);
x_15 = l_Lean_Meta_FVarSubst_apply(x_13, x_1);
-lean_dec(x_13);
x_16 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_16, 0, x_15);
lean_ctor_set(x_16, 1, x_14);
@@ -11268,7 +11212,7 @@ return x_58;
}
}
}
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_Match_Unify_assign___spec__2(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* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_Match_Unify_assign___spec__2(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:
{
lean_object* x_9; uint8_t x_10; lean_object* x_11; lean_object* x_12;
@@ -11398,7 +11342,7 @@ x_46 = lean_ctor_get(x_40, 1);
lean_inc(x_46);
lean_dec(x_40);
x_47 = l_Lean_Meta_Match_Unify_assign___closed__2;
-x_48 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_Match_Unify_assign___spec__2(x_47, x_3, x_4, x_5, x_6, x_7, x_8, x_46);
+x_48 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_Match_Unify_assign___spec__2(x_47, x_3, x_4, x_5, x_6, x_7, x_8, x_46);
x_49 = lean_ctor_get(x_48, 0);
lean_inc(x_49);
x_50 = lean_ctor_get(x_48, 1);
@@ -11509,7 +11453,7 @@ x_100 = lean_ctor_get(x_94, 1);
lean_inc(x_100);
lean_dec(x_94);
x_101 = l_Lean_Meta_Match_Unify_assign___closed__2;
-x_102 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_Match_Unify_assign___spec__2(x_101, x_3, x_4, x_5, x_6, x_7, x_8, x_100);
+x_102 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_Match_Unify_assign___spec__2(x_101, x_3, x_4, x_5, x_6, x_7, x_8, x_100);
x_103 = lean_ctor_get(x_102, 0);
lean_inc(x_103);
x_104 = lean_ctor_get(x_102, 1);
@@ -11653,7 +11597,7 @@ x_138 = lean_ctor_get(x_132, 1);
lean_inc(x_138);
lean_dec(x_132);
x_139 = l_Lean_Meta_Match_Unify_assign___closed__2;
-x_140 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_Match_Unify_assign___spec__2(x_139, x_3, x_4, x_5, x_6, x_7, x_8, x_138);
+x_140 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_Match_Unify_assign___spec__2(x_139, x_3, x_4, x_5, x_6, x_7, x_8, x_138);
x_141 = lean_ctor_get(x_140, 0);
lean_inc(x_141);
x_142 = lean_ctor_get(x_140, 1);
@@ -11747,11 +11691,11 @@ lean_dec(x_3);
return x_10;
}
}
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_Match_Unify_assign___spec__2___boxed(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* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_Match_Unify_assign___spec__2___boxed(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:
{
lean_object* x_9;
-x_9 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_Match_Unify_assign___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8);
+x_9 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_Match_Unify_assign___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
@@ -11998,51 +11942,53 @@ return x_2;
lean_object* l_Lean_Meta_isExprDefEq___at_Lean_Meta_Match_Unify_unify___spec__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) {
_start:
{
-lean_object* x_10; lean_object* x_19; uint8_t x_20; lean_object* x_21; lean_object* x_421; lean_object* x_422; lean_object* x_423; uint8_t x_424;
+lean_object* x_10; lean_object* x_23; uint8_t x_24; lean_object* x_25; lean_object* x_441; lean_object* x_442; lean_object* x_443; uint8_t x_444;
lean_inc(x_2);
lean_inc(x_1);
-x_19 = lean_alloc_closure((void*)(l_Lean_Meta_isExprDefEqAux), 8, 2);
-lean_closure_set(x_19, 0, x_1);
-lean_closure_set(x_19, 1, x_2);
-x_421 = lean_st_ref_get(x_8, x_9);
-x_422 = lean_ctor_get(x_421, 0);
-lean_inc(x_422);
-x_423 = lean_ctor_get(x_422, 3);
-lean_inc(x_423);
-lean_dec(x_422);
-x_424 = lean_ctor_get_uint8(x_423, sizeof(void*)*1);
-lean_dec(x_423);
-if (x_424 == 0)
+x_23 = lean_alloc_closure((void*)(l_Lean_Meta_isExprDefEqAux), 8, 2);
+lean_closure_set(x_23, 0, x_1);
+lean_closure_set(x_23, 1, x_2);
+x_441 = lean_st_ref_get(x_8, x_9);
+x_442 = lean_ctor_get(x_441, 0);
+lean_inc(x_442);
+x_443 = lean_ctor_get(x_442, 3);
+lean_inc(x_443);
+lean_dec(x_442);
+x_444 = lean_ctor_get_uint8(x_443, sizeof(void*)*1);
+lean_dec(x_443);
+if (x_444 == 0)
{
-lean_object* x_425; uint8_t x_426;
-x_425 = lean_ctor_get(x_421, 1);
-lean_inc(x_425);
-lean_dec(x_421);
-x_426 = 0;
-x_20 = x_426;
-x_21 = x_425;
-goto block_420;
+lean_object* x_445; uint8_t x_446;
+x_445 = lean_ctor_get(x_441, 1);
+lean_inc(x_445);
+lean_dec(x_441);
+x_446 = 0;
+x_24 = x_446;
+x_25 = x_445;
+goto block_440;
}
else
{
-lean_object* x_427; lean_object* x_428; lean_object* x_429; lean_object* x_430; lean_object* x_431; uint8_t x_432;
-x_427 = lean_ctor_get(x_421, 1);
-lean_inc(x_427);
-lean_dec(x_421);
-x_428 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_429 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_428, x_5, x_6, x_7, x_8, x_427);
-x_430 = lean_ctor_get(x_429, 0);
-lean_inc(x_430);
-x_431 = lean_ctor_get(x_429, 1);
-lean_inc(x_431);
-lean_dec(x_429);
-x_432 = lean_unbox(x_430);
-lean_dec(x_430);
-x_20 = x_432;
-x_21 = x_431;
-goto block_420;
+lean_object* x_447; lean_object* x_448; lean_object* x_449; lean_object* x_450; lean_object* x_451; uint8_t x_452;
+x_447 = lean_ctor_get(x_441, 1);
+lean_inc(x_447);
+lean_dec(x_441);
+x_448 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_449 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_448, x_5, x_6, x_7, x_8, x_447);
+x_450 = lean_ctor_get(x_449, 0);
+lean_inc(x_450);
+x_451 = lean_ctor_get(x_449, 1);
+lean_inc(x_451);
+lean_dec(x_449);
+x_452 = lean_unbox(x_450);
+lean_dec(x_450);
+x_24 = x_452;
+x_25 = x_451;
+goto block_440;
}
-block_18:
+block_22:
+{
+if (lean_obj_tag(x_10) == 0)
{
uint8_t x_11;
x_11 = !lean_is_exclusive(x_10);
@@ -12073,1401 +12019,1476 @@ lean_ctor_set(x_17, 1, x_15);
return x_17;
}
}
-block_420:
+else
{
-if (x_20 == 0)
+uint8_t x_18;
+x_18 = !lean_is_exclusive(x_10);
+if (x_18 == 0)
{
-lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31;
-x_22 = lean_st_ref_get(x_8, x_21);
-x_23 = lean_ctor_get(x_22, 0);
-lean_inc(x_23);
-x_24 = lean_ctor_get(x_23, 3);
-lean_inc(x_24);
-lean_dec(x_23);
-x_25 = lean_ctor_get(x_22, 1);
-lean_inc(x_25);
-lean_dec(x_22);
-x_26 = lean_ctor_get_uint8(x_24, sizeof(void*)*1);
-lean_dec(x_24);
-x_27 = lean_st_ref_take(x_8, x_25);
-x_28 = lean_ctor_get(x_27, 0);
-lean_inc(x_28);
-x_29 = lean_ctor_get(x_28, 3);
+return x_10;
+}
+else
+{
+lean_object* x_19; lean_object* x_20; lean_object* x_21;
+x_19 = lean_ctor_get(x_10, 0);
+x_20 = lean_ctor_get(x_10, 1);
+lean_inc(x_20);
+lean_inc(x_19);
+lean_dec(x_10);
+x_21 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_21, 0, x_19);
+lean_ctor_set(x_21, 1, x_20);
+return x_21;
+}
+}
+}
+block_440:
+{
+uint8_t x_26;
+if (x_24 == 0)
+{
+uint8_t x_438;
+x_438 = 1;
+x_26 = x_438;
+goto block_437;
+}
+else
+{
+uint8_t x_439;
+x_439 = 0;
+x_26 = x_439;
+goto block_437;
+}
+block_437:
+{
+if (x_26 == 0)
+{
+lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31; lean_object* x_32; lean_object* x_42; lean_object* x_43; lean_object* x_51;
+x_27 = lean_ctor_get(x_7, 3);
+lean_inc(x_27);
+x_28 = l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_isLevelDefEq___spec__2___rarg(x_8, x_25);
+x_29 = lean_ctor_get(x_28, 0);
lean_inc(x_29);
-x_30 = lean_ctor_get(x_27, 1);
+x_30 = lean_ctor_get(x_28, 1);
lean_inc(x_30);
-lean_dec(x_27);
-x_31 = !lean_is_exclusive(x_28);
-if (x_31 == 0)
-{
-lean_object* x_32; uint8_t x_33;
-x_32 = lean_ctor_get(x_28, 3);
-lean_dec(x_32);
-x_33 = !lean_is_exclusive(x_29);
-if (x_33 == 0)
-{
-uint8_t x_34; lean_object* x_35; lean_object* x_36; uint8_t x_37; lean_object* x_38; lean_object* x_86;
-x_34 = 0;
-lean_ctor_set_uint8(x_29, sizeof(void*)*1, x_34);
-x_35 = lean_st_ref_set(x_8, x_28, x_30);
-x_36 = lean_ctor_get(x_35, 1);
-lean_inc(x_36);
-lean_dec(x_35);
+lean_dec(x_28);
lean_inc(x_8);
lean_inc(x_7);
lean_inc(x_6);
lean_inc(x_5);
-x_86 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_19, x_5, x_6, x_7, x_8, x_36);
-if (lean_obj_tag(x_86) == 0)
+x_51 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_23, x_5, x_6, x_7, x_8, x_30);
+if (lean_obj_tag(x_51) == 0)
{
-lean_object* x_87; lean_object* x_88; uint8_t x_89; lean_object* x_90; lean_object* x_117; lean_object* x_118; lean_object* x_119; uint8_t x_120;
-x_87 = lean_ctor_get(x_86, 0);
-lean_inc(x_87);
-x_88 = lean_ctor_get(x_86, 1);
-lean_inc(x_88);
-lean_dec(x_86);
-x_117 = lean_st_ref_get(x_8, x_88);
-x_118 = lean_ctor_get(x_117, 0);
-lean_inc(x_118);
-x_119 = lean_ctor_get(x_118, 3);
-lean_inc(x_119);
-lean_dec(x_118);
-x_120 = lean_ctor_get_uint8(x_119, sizeof(void*)*1);
-lean_dec(x_119);
-if (x_120 == 0)
-{
-lean_object* x_121;
-x_121 = lean_ctor_get(x_117, 1);
-lean_inc(x_121);
-lean_dec(x_117);
-x_89 = x_34;
-x_90 = x_121;
-goto block_116;
-}
-else
-{
-lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; uint8_t x_127;
-x_122 = lean_ctor_get(x_117, 1);
-lean_inc(x_122);
-lean_dec(x_117);
-x_123 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_124 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_123, x_5, x_6, x_7, x_8, x_122);
-x_125 = lean_ctor_get(x_124, 0);
-lean_inc(x_125);
-x_126 = lean_ctor_get(x_124, 1);
-lean_inc(x_126);
-lean_dec(x_124);
-x_127 = lean_unbox(x_125);
-lean_dec(x_125);
-x_89 = x_127;
-x_90 = x_126;
-goto block_116;
-}
-block_116:
-{
-if (x_89 == 0)
-{
-uint8_t x_91;
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_2);
-lean_dec(x_1);
-x_91 = lean_unbox(x_87);
-lean_dec(x_87);
-x_37 = x_91;
-x_38 = x_90;
-goto block_85;
-}
-else
-{
-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; uint8_t x_101;
-x_92 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_92, 0, x_1);
-x_93 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_94 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_94, 0, x_93);
-lean_ctor_set(x_94, 1, x_92);
-x_95 = l_Lean_Meta_isLevelDefEqAux___closed__6;
-x_96 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_96, 0, x_94);
-lean_ctor_set(x_96, 1, x_95);
-x_97 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_97, 0, x_2);
-x_98 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_98, 0, x_96);
-lean_ctor_set(x_98, 1, x_97);
-x_99 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
-x_100 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_100, 0, x_98);
-lean_ctor_set(x_100, 1, x_99);
-x_101 = lean_unbox(x_87);
-if (x_101 == 0)
-{
-lean_object* x_102; 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_102 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
-x_103 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_103, 0, x_100);
-lean_ctor_set(x_103, 1, x_102);
-x_104 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_104, 0, x_103);
-lean_ctor_set(x_104, 1, x_93);
-x_105 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_106 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_105, x_104, x_5, x_6, x_7, x_8, x_90);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-x_107 = lean_ctor_get(x_106, 1);
-lean_inc(x_107);
-lean_dec(x_106);
-x_108 = lean_unbox(x_87);
-lean_dec(x_87);
-x_37 = x_108;
-x_38 = x_107;
-goto block_85;
-}
-else
-{
-lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; uint8_t x_115;
-x_109 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
-x_110 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_110, 0, x_100);
-lean_ctor_set(x_110, 1, x_109);
-x_111 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_111, 0, x_110);
-lean_ctor_set(x_111, 1, x_93);
-x_112 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_113 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_112, x_111, x_5, x_6, x_7, x_8, x_90);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-x_114 = lean_ctor_get(x_113, 1);
-lean_inc(x_114);
-lean_dec(x_113);
-x_115 = lean_unbox(x_87);
-lean_dec(x_87);
-x_37 = x_115;
-x_38 = x_114;
-goto block_85;
-}
-}
-}
-}
-else
-{
-lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; uint8_t x_136;
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_2);
-lean_dec(x_1);
-x_128 = lean_ctor_get(x_86, 0);
-lean_inc(x_128);
-x_129 = lean_ctor_get(x_86, 1);
-lean_inc(x_129);
-lean_dec(x_86);
-x_130 = lean_st_ref_get(x_8, x_129);
-x_131 = lean_ctor_get(x_130, 1);
-lean_inc(x_131);
-lean_dec(x_130);
-x_132 = lean_st_ref_take(x_8, x_131);
-x_133 = lean_ctor_get(x_132, 0);
-lean_inc(x_133);
-x_134 = lean_ctor_get(x_133, 3);
-lean_inc(x_134);
-x_135 = lean_ctor_get(x_132, 1);
-lean_inc(x_135);
-lean_dec(x_132);
-x_136 = !lean_is_exclusive(x_133);
-if (x_136 == 0)
-{
-lean_object* x_137; uint8_t x_138;
-x_137 = lean_ctor_get(x_133, 3);
-lean_dec(x_137);
-x_138 = !lean_is_exclusive(x_134);
-if (x_138 == 0)
-{
-lean_object* x_139; uint8_t x_140;
-lean_ctor_set_uint8(x_134, sizeof(void*)*1, x_26);
-x_139 = lean_st_ref_set(x_8, x_133, x_135);
-lean_dec(x_8);
-x_140 = !lean_is_exclusive(x_139);
-if (x_140 == 0)
-{
-lean_object* x_141;
-x_141 = lean_ctor_get(x_139, 0);
-lean_dec(x_141);
-lean_ctor_set_tag(x_139, 1);
-lean_ctor_set(x_139, 0, x_128);
-return x_139;
-}
-else
-{
-lean_object* x_142; lean_object* x_143;
-x_142 = lean_ctor_get(x_139, 1);
-lean_inc(x_142);
-lean_dec(x_139);
-x_143 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_143, 0, x_128);
-lean_ctor_set(x_143, 1, x_142);
-return x_143;
-}
-}
-else
-{
-lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149;
-x_144 = lean_ctor_get(x_134, 0);
-lean_inc(x_144);
-lean_dec(x_134);
-x_145 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_145, 0, x_144);
-lean_ctor_set_uint8(x_145, sizeof(void*)*1, x_26);
-lean_ctor_set(x_133, 3, x_145);
-x_146 = lean_st_ref_set(x_8, x_133, x_135);
-lean_dec(x_8);
-x_147 = lean_ctor_get(x_146, 1);
-lean_inc(x_147);
-if (lean_is_exclusive(x_146)) {
- lean_ctor_release(x_146, 0);
- lean_ctor_release(x_146, 1);
- x_148 = x_146;
-} else {
- lean_dec_ref(x_146);
- x_148 = lean_box(0);
-}
-if (lean_is_scalar(x_148)) {
- x_149 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_149 = x_148;
- lean_ctor_set_tag(x_149, 1);
-}
-lean_ctor_set(x_149, 0, x_128);
-lean_ctor_set(x_149, 1, x_147);
-return x_149;
-}
-}
-else
-{
-lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160;
-x_150 = lean_ctor_get(x_133, 0);
-x_151 = lean_ctor_get(x_133, 1);
-x_152 = lean_ctor_get(x_133, 2);
-lean_inc(x_152);
-lean_inc(x_151);
-lean_inc(x_150);
-lean_dec(x_133);
-x_153 = lean_ctor_get(x_134, 0);
-lean_inc(x_153);
-if (lean_is_exclusive(x_134)) {
- lean_ctor_release(x_134, 0);
- x_154 = x_134;
-} else {
- lean_dec_ref(x_134);
- x_154 = lean_box(0);
-}
-if (lean_is_scalar(x_154)) {
- x_155 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_155 = x_154;
-}
-lean_ctor_set(x_155, 0, x_153);
-lean_ctor_set_uint8(x_155, sizeof(void*)*1, x_26);
-x_156 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_156, 0, x_150);
-lean_ctor_set(x_156, 1, x_151);
-lean_ctor_set(x_156, 2, x_152);
-lean_ctor_set(x_156, 3, x_155);
-x_157 = lean_st_ref_set(x_8, x_156, x_135);
-lean_dec(x_8);
-x_158 = lean_ctor_get(x_157, 1);
-lean_inc(x_158);
-if (lean_is_exclusive(x_157)) {
- lean_ctor_release(x_157, 0);
- lean_ctor_release(x_157, 1);
- x_159 = x_157;
-} else {
- lean_dec_ref(x_157);
- x_159 = lean_box(0);
-}
-if (lean_is_scalar(x_159)) {
- x_160 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_160 = x_159;
- lean_ctor_set_tag(x_160, 1);
-}
-lean_ctor_set(x_160, 0, x_128);
-lean_ctor_set(x_160, 1, x_158);
-return x_160;
-}
-}
-block_85:
-{
-lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; uint8_t x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; uint8_t x_48;
-x_39 = lean_st_ref_get(x_8, x_38);
-x_40 = lean_ctor_get(x_39, 0);
-lean_inc(x_40);
-x_41 = lean_ctor_get(x_39, 1);
-lean_inc(x_41);
-lean_dec(x_39);
-x_42 = lean_ctor_get(x_40, 3);
-lean_inc(x_42);
-lean_dec(x_40);
-x_43 = lean_ctor_get_uint8(x_42, sizeof(void*)*1);
-lean_dec(x_42);
-x_44 = lean_st_ref_take(x_8, x_41);
-x_45 = lean_ctor_get(x_44, 0);
-lean_inc(x_45);
-x_46 = lean_ctor_get(x_45, 3);
-lean_inc(x_46);
-x_47 = lean_ctor_get(x_44, 1);
-lean_inc(x_47);
-lean_dec(x_44);
-x_48 = !lean_is_exclusive(x_45);
-if (x_48 == 0)
-{
-lean_object* x_49; uint8_t x_50;
-x_49 = lean_ctor_get(x_45, 3);
-lean_dec(x_49);
-x_50 = !lean_is_exclusive(x_46);
-if (x_50 == 0)
-{
-lean_object* x_51; uint8_t x_52;
-lean_ctor_set_uint8(x_46, sizeof(void*)*1, x_26);
-x_51 = lean_st_ref_set(x_8, x_45, x_47);
-lean_dec(x_8);
-x_52 = !lean_is_exclusive(x_51);
-if (x_52 == 0)
-{
-lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56;
-x_53 = lean_ctor_get(x_51, 0);
-lean_dec(x_53);
-x_54 = lean_box(x_37);
-x_55 = lean_box(x_43);
-x_56 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_56, 0, x_54);
-lean_ctor_set(x_56, 1, x_55);
-lean_ctor_set(x_51, 0, x_56);
-x_10 = x_51;
-goto block_18;
-}
-else
-{
-lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61;
-x_57 = lean_ctor_get(x_51, 1);
-lean_inc(x_57);
+lean_object* x_52; lean_object* x_53; uint8_t x_54; lean_object* x_55; lean_object* x_82; lean_object* x_83; lean_object* x_84; uint8_t x_85;
+x_52 = lean_ctor_get(x_51, 0);
+lean_inc(x_52);
+x_53 = lean_ctor_get(x_51, 1);
+lean_inc(x_53);
lean_dec(x_51);
-x_58 = lean_box(x_37);
-x_59 = lean_box(x_43);
-x_60 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_60, 0, x_58);
-lean_ctor_set(x_60, 1, x_59);
-x_61 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_61, 0, x_60);
-lean_ctor_set(x_61, 1, x_57);
-x_10 = x_61;
-goto block_18;
-}
+x_82 = lean_st_ref_get(x_8, x_53);
+x_83 = lean_ctor_get(x_82, 0);
+lean_inc(x_83);
+x_84 = lean_ctor_get(x_83, 3);
+lean_inc(x_84);
+lean_dec(x_83);
+x_85 = lean_ctor_get_uint8(x_84, sizeof(void*)*1);
+lean_dec(x_84);
+if (x_85 == 0)
+{
+lean_object* x_86; uint8_t x_87;
+x_86 = lean_ctor_get(x_82, 1);
+lean_inc(x_86);
+lean_dec(x_82);
+x_87 = 0;
+x_54 = x_87;
+x_55 = x_86;
+goto block_81;
}
else
{
-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;
-x_62 = lean_ctor_get(x_46, 0);
-lean_inc(x_62);
-lean_dec(x_46);
-x_63 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_63, 0, x_62);
-lean_ctor_set_uint8(x_63, sizeof(void*)*1, x_26);
-lean_ctor_set(x_45, 3, x_63);
-x_64 = lean_st_ref_set(x_8, x_45, x_47);
-lean_dec(x_8);
-x_65 = lean_ctor_get(x_64, 1);
-lean_inc(x_65);
-if (lean_is_exclusive(x_64)) {
- lean_ctor_release(x_64, 0);
- lean_ctor_release(x_64, 1);
- x_66 = x_64;
-} else {
- lean_dec_ref(x_64);
- x_66 = lean_box(0);
-}
-x_67 = lean_box(x_37);
-x_68 = lean_box(x_43);
-x_69 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_69, 0, x_67);
-lean_ctor_set(x_69, 1, x_68);
-if (lean_is_scalar(x_66)) {
- x_70 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_70 = x_66;
-}
-lean_ctor_set(x_70, 0, x_69);
-lean_ctor_set(x_70, 1, x_65);
-x_10 = x_70;
-goto block_18;
+lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; uint8_t x_93;
+x_88 = lean_ctor_get(x_82, 1);
+lean_inc(x_88);
+lean_dec(x_82);
+x_89 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_90 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_89, x_5, x_6, x_7, x_8, x_88);
+x_91 = lean_ctor_get(x_90, 0);
+lean_inc(x_91);
+x_92 = lean_ctor_get(x_90, 1);
+lean_inc(x_92);
+lean_dec(x_90);
+x_93 = lean_unbox(x_91);
+lean_dec(x_91);
+x_54 = x_93;
+x_55 = x_92;
+goto block_81;
}
+block_81:
+{
+if (x_54 == 0)
+{
+uint8_t x_56;
+lean_dec(x_2);
+lean_dec(x_1);
+x_56 = lean_unbox(x_52);
+lean_dec(x_52);
+x_31 = x_56;
+x_32 = x_55;
+goto block_41;
}
else
{
-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; 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;
-x_71 = lean_ctor_get(x_45, 0);
-x_72 = lean_ctor_get(x_45, 1);
-x_73 = lean_ctor_get(x_45, 2);
-lean_inc(x_73);
+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; uint8_t x_66;
+x_57 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_57, 0, x_1);
+x_58 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_59 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_59, 0, x_58);
+lean_ctor_set(x_59, 1, x_57);
+x_60 = l_Lean_Meta_isLevelDefEqAux___closed__6;
+x_61 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_61, 0, x_59);
+lean_ctor_set(x_61, 1, x_60);
+x_62 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_62, 0, x_2);
+x_63 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_63, 0, x_61);
+lean_ctor_set(x_63, 1, x_62);
+x_64 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
+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 = lean_unbox(x_52);
+if (x_66 == 0)
+{
+lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; uint8_t x_73;
+x_67 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
+x_68 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_68, 0, x_65);
+lean_ctor_set(x_68, 1, x_67);
+x_69 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_69, 0, x_68);
+lean_ctor_set(x_69, 1, x_58);
+x_70 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_71 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_70, x_69, x_5, x_6, x_7, x_8, x_55);
+x_72 = lean_ctor_get(x_71, 1);
lean_inc(x_72);
-lean_inc(x_71);
-lean_dec(x_45);
-x_74 = lean_ctor_get(x_46, 0);
-lean_inc(x_74);
-if (lean_is_exclusive(x_46)) {
- lean_ctor_release(x_46, 0);
- x_75 = x_46;
-} else {
- lean_dec_ref(x_46);
- x_75 = lean_box(0);
+lean_dec(x_71);
+x_73 = lean_unbox(x_52);
+lean_dec(x_52);
+x_31 = x_73;
+x_32 = x_72;
+goto block_41;
}
-if (lean_is_scalar(x_75)) {
- x_76 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_76 = x_75;
-}
-lean_ctor_set(x_76, 0, x_74);
-lean_ctor_set_uint8(x_76, sizeof(void*)*1, x_26);
-x_77 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_77, 0, x_71);
-lean_ctor_set(x_77, 1, x_72);
-lean_ctor_set(x_77, 2, x_73);
-lean_ctor_set(x_77, 3, x_76);
-x_78 = lean_st_ref_set(x_8, x_77, x_47);
-lean_dec(x_8);
+else
+{
+lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; uint8_t x_80;
+x_74 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
+x_75 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_75, 0, x_65);
+lean_ctor_set(x_75, 1, x_74);
+x_76 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_76, 0, x_75);
+lean_ctor_set(x_76, 1, x_58);
+x_77 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_78 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_77, x_76, x_5, x_6, x_7, x_8, x_55);
x_79 = lean_ctor_get(x_78, 1);
lean_inc(x_79);
-if (lean_is_exclusive(x_78)) {
- lean_ctor_release(x_78, 0);
- lean_ctor_release(x_78, 1);
- x_80 = x_78;
-} else {
- lean_dec_ref(x_78);
- x_80 = lean_box(0);
+lean_dec(x_78);
+x_80 = lean_unbox(x_52);
+lean_dec(x_52);
+x_31 = x_80;
+x_32 = x_79;
+goto block_41;
}
-x_81 = lean_box(x_37);
-x_82 = lean_box(x_43);
-x_83 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_83, 0, x_81);
-lean_ctor_set(x_83, 1, x_82);
-if (lean_is_scalar(x_80)) {
- x_84 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_84 = x_80;
-}
-lean_ctor_set(x_84, 0, x_83);
-lean_ctor_set(x_84, 1, x_79);
-x_10 = x_84;
-goto block_18;
}
}
}
else
{
-lean_object* x_161; uint8_t x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; uint8_t x_166; lean_object* x_167; lean_object* x_193;
-x_161 = lean_ctor_get(x_29, 0);
-lean_inc(x_161);
-lean_dec(x_29);
-x_162 = 0;
-x_163 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_163, 0, x_161);
-lean_ctor_set_uint8(x_163, sizeof(void*)*1, x_162);
-lean_ctor_set(x_28, 3, x_163);
-x_164 = lean_st_ref_set(x_8, x_28, x_30);
-x_165 = lean_ctor_get(x_164, 1);
-lean_inc(x_165);
-lean_dec(x_164);
+lean_object* x_94; lean_object* x_95;
+lean_dec(x_2);
+lean_dec(x_1);
+x_94 = lean_ctor_get(x_51, 0);
+lean_inc(x_94);
+x_95 = lean_ctor_get(x_51, 1);
+lean_inc(x_95);
+lean_dec(x_51);
+x_42 = x_94;
+x_43 = x_95;
+goto block_50;
+}
+block_41:
+{
+lean_object* x_33; lean_object* x_34; uint8_t x_35;
+x_33 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_34 = l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_isLevelDefEq___spec__3(x_29, x_33, x_27, x_5, x_6, x_7, x_8, x_32);
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+x_35 = !lean_is_exclusive(x_34);
+if (x_35 == 0)
+{
+lean_object* x_36; lean_object* x_37;
+x_36 = lean_ctor_get(x_34, 0);
+lean_dec(x_36);
+x_37 = lean_box(x_31);
+lean_ctor_set(x_34, 0, x_37);
+return x_34;
+}
+else
+{
+lean_object* x_38; lean_object* x_39; lean_object* x_40;
+x_38 = lean_ctor_get(x_34, 1);
+lean_inc(x_38);
+lean_dec(x_34);
+x_39 = lean_box(x_31);
+x_40 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_40, 0, x_39);
+lean_ctor_set(x_40, 1, x_38);
+return x_40;
+}
+}
+block_50:
+{
+lean_object* x_44; lean_object* x_45; uint8_t x_46;
+x_44 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_45 = l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_isLevelDefEq___spec__3(x_29, x_44, x_27, x_5, x_6, x_7, x_8, x_43);
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+x_46 = !lean_is_exclusive(x_45);
+if (x_46 == 0)
+{
+lean_object* x_47;
+x_47 = lean_ctor_get(x_45, 0);
+lean_dec(x_47);
+lean_ctor_set_tag(x_45, 1);
+lean_ctor_set(x_45, 0, x_42);
+return x_45;
+}
+else
+{
+lean_object* x_48; lean_object* x_49;
+x_48 = lean_ctor_get(x_45, 1);
+lean_inc(x_48);
+lean_dec(x_45);
+x_49 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_49, 0, x_42);
+lean_ctor_set(x_49, 1, x_48);
+return x_49;
+}
+}
+}
+else
+{
+lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; uint8_t x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; uint8_t x_105;
+x_96 = lean_st_ref_get(x_8, x_25);
+x_97 = lean_ctor_get(x_96, 0);
+lean_inc(x_97);
+x_98 = lean_ctor_get(x_97, 3);
+lean_inc(x_98);
+lean_dec(x_97);
+x_99 = lean_ctor_get(x_96, 1);
+lean_inc(x_99);
+lean_dec(x_96);
+x_100 = lean_ctor_get_uint8(x_98, sizeof(void*)*1);
+lean_dec(x_98);
+x_101 = lean_st_ref_take(x_8, x_99);
+x_102 = lean_ctor_get(x_101, 0);
+lean_inc(x_102);
+x_103 = lean_ctor_get(x_102, 3);
+lean_inc(x_103);
+x_104 = lean_ctor_get(x_101, 1);
+lean_inc(x_104);
+lean_dec(x_101);
+x_105 = !lean_is_exclusive(x_102);
+if (x_105 == 0)
+{
+lean_object* x_106; uint8_t x_107;
+x_106 = lean_ctor_get(x_102, 3);
+lean_dec(x_106);
+x_107 = !lean_is_exclusive(x_103);
+if (x_107 == 0)
+{
+uint8_t x_108; lean_object* x_109; lean_object* x_110; uint8_t x_111; lean_object* x_112; lean_object* x_160; lean_object* x_161; lean_object* x_194;
+x_108 = 0;
+lean_ctor_set_uint8(x_103, sizeof(void*)*1, x_108);
+x_109 = lean_st_ref_set(x_8, x_102, x_104);
+x_110 = lean_ctor_get(x_109, 1);
+lean_inc(x_110);
+lean_dec(x_109);
lean_inc(x_8);
lean_inc(x_7);
lean_inc(x_6);
lean_inc(x_5);
-x_193 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_19, x_5, x_6, x_7, x_8, x_165);
-if (lean_obj_tag(x_193) == 0)
+x_194 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_23, x_5, x_6, x_7, x_8, x_110);
+if (lean_obj_tag(x_194) == 0)
{
-lean_object* x_194; lean_object* x_195; uint8_t x_196; lean_object* x_197; lean_object* x_224; lean_object* x_225; lean_object* x_226; uint8_t x_227;
-x_194 = lean_ctor_get(x_193, 0);
-lean_inc(x_194);
-x_195 = lean_ctor_get(x_193, 1);
+lean_object* x_195; lean_object* x_196; uint8_t x_197; lean_object* x_198; lean_object* x_225; lean_object* x_226; lean_object* x_227; uint8_t x_228;
+x_195 = lean_ctor_get(x_194, 0);
lean_inc(x_195);
-lean_dec(x_193);
-x_224 = lean_st_ref_get(x_8, x_195);
-x_225 = lean_ctor_get(x_224, 0);
-lean_inc(x_225);
-x_226 = lean_ctor_get(x_225, 3);
+x_196 = lean_ctor_get(x_194, 1);
+lean_inc(x_196);
+lean_dec(x_194);
+x_225 = lean_st_ref_get(x_8, x_196);
+x_226 = lean_ctor_get(x_225, 0);
lean_inc(x_226);
-lean_dec(x_225);
-x_227 = lean_ctor_get_uint8(x_226, sizeof(void*)*1);
+x_227 = lean_ctor_get(x_226, 3);
+lean_inc(x_227);
lean_dec(x_226);
-if (x_227 == 0)
+x_228 = lean_ctor_get_uint8(x_227, sizeof(void*)*1);
+lean_dec(x_227);
+if (x_228 == 0)
{
-lean_object* x_228;
-x_228 = lean_ctor_get(x_224, 1);
-lean_inc(x_228);
-lean_dec(x_224);
-x_196 = x_162;
-x_197 = x_228;
-goto block_223;
-}
-else
-{
-lean_object* x_229; lean_object* x_230; lean_object* x_231; lean_object* x_232; lean_object* x_233; uint8_t x_234;
-x_229 = lean_ctor_get(x_224, 1);
+lean_object* x_229;
+x_229 = lean_ctor_get(x_225, 1);
lean_inc(x_229);
-lean_dec(x_224);
-x_230 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_231 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_230, x_5, x_6, x_7, x_8, x_229);
-x_232 = lean_ctor_get(x_231, 0);
-lean_inc(x_232);
-x_233 = lean_ctor_get(x_231, 1);
+lean_dec(x_225);
+x_197 = x_108;
+x_198 = x_229;
+goto block_224;
+}
+else
+{
+lean_object* x_230; lean_object* x_231; lean_object* x_232; lean_object* x_233; lean_object* x_234; uint8_t x_235;
+x_230 = lean_ctor_get(x_225, 1);
+lean_inc(x_230);
+lean_dec(x_225);
+x_231 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_232 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_231, x_5, x_6, x_7, x_8, x_230);
+x_233 = lean_ctor_get(x_232, 0);
lean_inc(x_233);
-lean_dec(x_231);
-x_234 = lean_unbox(x_232);
+x_234 = lean_ctor_get(x_232, 1);
+lean_inc(x_234);
lean_dec(x_232);
-x_196 = x_234;
-x_197 = x_233;
-goto block_223;
+x_235 = lean_unbox(x_233);
+lean_dec(x_233);
+x_197 = x_235;
+x_198 = x_234;
+goto block_224;
}
-block_223:
+block_224:
{
-if (x_196 == 0)
+if (x_197 == 0)
{
-uint8_t x_198;
+uint8_t x_199;
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_2);
lean_dec(x_1);
-x_198 = lean_unbox(x_194);
-lean_dec(x_194);
-x_166 = x_198;
-x_167 = x_197;
-goto block_192;
+x_199 = lean_unbox(x_195);
+lean_dec(x_195);
+x_111 = x_199;
+x_112 = x_198;
+goto block_159;
}
else
{
-lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207; uint8_t x_208;
-x_199 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_199, 0, x_1);
-x_200 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_201 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_201, 0, x_200);
-lean_ctor_set(x_201, 1, x_199);
-x_202 = l_Lean_Meta_isLevelDefEqAux___closed__6;
-x_203 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_203, 0, x_201);
-lean_ctor_set(x_203, 1, x_202);
-x_204 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_204, 0, x_2);
-x_205 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_205, 0, x_203);
-lean_ctor_set(x_205, 1, x_204);
-x_206 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
-x_207 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_207, 0, x_205);
-lean_ctor_set(x_207, 1, x_206);
-x_208 = lean_unbox(x_194);
-if (x_208 == 0)
+lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; uint8_t x_209;
+x_200 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_200, 0, x_1);
+x_201 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_202 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_202, 0, x_201);
+lean_ctor_set(x_202, 1, x_200);
+x_203 = l_Lean_Meta_isLevelDefEqAux___closed__6;
+x_204 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_204, 0, x_202);
+lean_ctor_set(x_204, 1, x_203);
+x_205 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_205, 0, x_2);
+x_206 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_206, 0, x_204);
+lean_ctor_set(x_206, 1, x_205);
+x_207 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
+x_208 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_208, 0, x_206);
+lean_ctor_set(x_208, 1, x_207);
+x_209 = lean_unbox(x_195);
+if (x_209 == 0)
{
-lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214; uint8_t x_215;
-x_209 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
-x_210 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_210, 0, x_207);
-lean_ctor_set(x_210, 1, x_209);
+lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214; lean_object* x_215; uint8_t x_216;
+x_210 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
x_211 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_211, 0, x_210);
-lean_ctor_set(x_211, 1, x_200);
-x_212 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_213 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_212, x_211, x_5, x_6, x_7, x_8, x_197);
+lean_ctor_set(x_211, 0, x_208);
+lean_ctor_set(x_211, 1, x_210);
+x_212 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_212, 0, x_211);
+lean_ctor_set(x_212, 1, x_201);
+x_213 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_214 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_213, x_212, x_5, x_6, x_7, x_8, x_198);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
-x_214 = lean_ctor_get(x_213, 1);
-lean_inc(x_214);
-lean_dec(x_213);
-x_215 = lean_unbox(x_194);
-lean_dec(x_194);
-x_166 = x_215;
-x_167 = x_214;
-goto block_192;
+x_215 = lean_ctor_get(x_214, 1);
+lean_inc(x_215);
+lean_dec(x_214);
+x_216 = lean_unbox(x_195);
+lean_dec(x_195);
+x_111 = x_216;
+x_112 = x_215;
+goto block_159;
}
else
{
-lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; lean_object* x_221; uint8_t x_222;
-x_216 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
-x_217 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_217, 0, x_207);
-lean_ctor_set(x_217, 1, x_216);
+lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; lean_object* x_221; lean_object* x_222; uint8_t x_223;
+x_217 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
x_218 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_218, 0, x_217);
-lean_ctor_set(x_218, 1, x_200);
-x_219 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_220 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_219, x_218, x_5, x_6, x_7, x_8, x_197);
+lean_ctor_set(x_218, 0, x_208);
+lean_ctor_set(x_218, 1, x_217);
+x_219 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_219, 0, x_218);
+lean_ctor_set(x_219, 1, x_201);
+x_220 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_221 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_220, x_219, x_5, x_6, x_7, x_8, x_198);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
-x_221 = lean_ctor_get(x_220, 1);
-lean_inc(x_221);
-lean_dec(x_220);
-x_222 = lean_unbox(x_194);
-lean_dec(x_194);
-x_166 = x_222;
-x_167 = x_221;
-goto block_192;
+x_222 = lean_ctor_get(x_221, 1);
+lean_inc(x_222);
+lean_dec(x_221);
+x_223 = lean_unbox(x_195);
+lean_dec(x_195);
+x_111 = x_223;
+x_112 = x_222;
+goto block_159;
}
}
}
}
else
{
-lean_object* x_235; lean_object* x_236; lean_object* x_237; lean_object* x_238; lean_object* x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244; lean_object* x_245; lean_object* x_246; lean_object* x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253; lean_object* x_254;
+lean_object* x_236; lean_object* x_237;
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_2);
lean_dec(x_1);
-x_235 = lean_ctor_get(x_193, 0);
-lean_inc(x_235);
-x_236 = lean_ctor_get(x_193, 1);
+x_236 = lean_ctor_get(x_194, 0);
lean_inc(x_236);
-lean_dec(x_193);
-x_237 = lean_st_ref_get(x_8, x_236);
-x_238 = lean_ctor_get(x_237, 1);
-lean_inc(x_238);
-lean_dec(x_237);
-x_239 = lean_st_ref_take(x_8, x_238);
-x_240 = lean_ctor_get(x_239, 0);
-lean_inc(x_240);
-x_241 = lean_ctor_get(x_240, 3);
-lean_inc(x_241);
-x_242 = lean_ctor_get(x_239, 1);
-lean_inc(x_242);
-lean_dec(x_239);
-x_243 = lean_ctor_get(x_240, 0);
-lean_inc(x_243);
-x_244 = lean_ctor_get(x_240, 1);
-lean_inc(x_244);
-x_245 = lean_ctor_get(x_240, 2);
-lean_inc(x_245);
-if (lean_is_exclusive(x_240)) {
- lean_ctor_release(x_240, 0);
- lean_ctor_release(x_240, 1);
- lean_ctor_release(x_240, 2);
- lean_ctor_release(x_240, 3);
- x_246 = x_240;
-} else {
- lean_dec_ref(x_240);
- x_246 = lean_box(0);
+x_237 = lean_ctor_get(x_194, 1);
+lean_inc(x_237);
+lean_dec(x_194);
+x_160 = x_236;
+x_161 = x_237;
+goto block_193;
}
-x_247 = lean_ctor_get(x_241, 0);
-lean_inc(x_247);
-if (lean_is_exclusive(x_241)) {
- lean_ctor_release(x_241, 0);
- x_248 = x_241;
-} else {
- lean_dec_ref(x_241);
- x_248 = lean_box(0);
-}
-if (lean_is_scalar(x_248)) {
- x_249 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_249 = x_248;
-}
-lean_ctor_set(x_249, 0, x_247);
-lean_ctor_set_uint8(x_249, sizeof(void*)*1, x_26);
-if (lean_is_scalar(x_246)) {
- x_250 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_250 = x_246;
-}
-lean_ctor_set(x_250, 0, x_243);
-lean_ctor_set(x_250, 1, x_244);
-lean_ctor_set(x_250, 2, x_245);
-lean_ctor_set(x_250, 3, x_249);
-x_251 = lean_st_ref_set(x_8, x_250, x_242);
+block_159:
+{
+lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; uint8_t x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; uint8_t x_122;
+x_113 = lean_st_ref_get(x_8, x_112);
+x_114 = lean_ctor_get(x_113, 0);
+lean_inc(x_114);
+x_115 = lean_ctor_get(x_113, 1);
+lean_inc(x_115);
+lean_dec(x_113);
+x_116 = lean_ctor_get(x_114, 3);
+lean_inc(x_116);
+lean_dec(x_114);
+x_117 = lean_ctor_get_uint8(x_116, sizeof(void*)*1);
+lean_dec(x_116);
+x_118 = lean_st_ref_take(x_8, x_115);
+x_119 = lean_ctor_get(x_118, 0);
+lean_inc(x_119);
+x_120 = lean_ctor_get(x_119, 3);
+lean_inc(x_120);
+x_121 = lean_ctor_get(x_118, 1);
+lean_inc(x_121);
+lean_dec(x_118);
+x_122 = !lean_is_exclusive(x_119);
+if (x_122 == 0)
+{
+lean_object* x_123; uint8_t x_124;
+x_123 = lean_ctor_get(x_119, 3);
+lean_dec(x_123);
+x_124 = !lean_is_exclusive(x_120);
+if (x_124 == 0)
+{
+lean_object* x_125; uint8_t x_126;
+lean_ctor_set_uint8(x_120, sizeof(void*)*1, x_100);
+x_125 = lean_st_ref_set(x_8, x_119, x_121);
lean_dec(x_8);
-x_252 = lean_ctor_get(x_251, 1);
+x_126 = !lean_is_exclusive(x_125);
+if (x_126 == 0)
+{
+lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130;
+x_127 = lean_ctor_get(x_125, 0);
+lean_dec(x_127);
+x_128 = lean_box(x_111);
+x_129 = lean_box(x_117);
+x_130 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_130, 0, x_128);
+lean_ctor_set(x_130, 1, x_129);
+lean_ctor_set(x_125, 0, x_130);
+x_10 = x_125;
+goto block_22;
+}
+else
+{
+lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135;
+x_131 = lean_ctor_get(x_125, 1);
+lean_inc(x_131);
+lean_dec(x_125);
+x_132 = lean_box(x_111);
+x_133 = lean_box(x_117);
+x_134 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_134, 0, x_132);
+lean_ctor_set(x_134, 1, x_133);
+x_135 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_135, 0, x_134);
+lean_ctor_set(x_135, 1, x_131);
+x_10 = x_135;
+goto block_22;
+}
+}
+else
+{
+lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144;
+x_136 = lean_ctor_get(x_120, 0);
+lean_inc(x_136);
+lean_dec(x_120);
+x_137 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_137, 0, x_136);
+lean_ctor_set_uint8(x_137, sizeof(void*)*1, x_100);
+lean_ctor_set(x_119, 3, x_137);
+x_138 = lean_st_ref_set(x_8, x_119, x_121);
+lean_dec(x_8);
+x_139 = lean_ctor_get(x_138, 1);
+lean_inc(x_139);
+if (lean_is_exclusive(x_138)) {
+ lean_ctor_release(x_138, 0);
+ lean_ctor_release(x_138, 1);
+ x_140 = x_138;
+} else {
+ lean_dec_ref(x_138);
+ x_140 = lean_box(0);
+}
+x_141 = lean_box(x_111);
+x_142 = lean_box(x_117);
+x_143 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_143, 0, x_141);
+lean_ctor_set(x_143, 1, x_142);
+if (lean_is_scalar(x_140)) {
+ x_144 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_144 = x_140;
+}
+lean_ctor_set(x_144, 0, x_143);
+lean_ctor_set(x_144, 1, x_139);
+x_10 = x_144;
+goto block_22;
+}
+}
+else
+{
+lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158;
+x_145 = lean_ctor_get(x_119, 0);
+x_146 = lean_ctor_get(x_119, 1);
+x_147 = lean_ctor_get(x_119, 2);
+lean_inc(x_147);
+lean_inc(x_146);
+lean_inc(x_145);
+lean_dec(x_119);
+x_148 = lean_ctor_get(x_120, 0);
+lean_inc(x_148);
+if (lean_is_exclusive(x_120)) {
+ lean_ctor_release(x_120, 0);
+ x_149 = x_120;
+} else {
+ lean_dec_ref(x_120);
+ x_149 = lean_box(0);
+}
+if (lean_is_scalar(x_149)) {
+ x_150 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_150 = x_149;
+}
+lean_ctor_set(x_150, 0, x_148);
+lean_ctor_set_uint8(x_150, sizeof(void*)*1, x_100);
+x_151 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_151, 0, x_145);
+lean_ctor_set(x_151, 1, x_146);
+lean_ctor_set(x_151, 2, x_147);
+lean_ctor_set(x_151, 3, x_150);
+x_152 = lean_st_ref_set(x_8, x_151, x_121);
+lean_dec(x_8);
+x_153 = lean_ctor_get(x_152, 1);
+lean_inc(x_153);
+if (lean_is_exclusive(x_152)) {
+ lean_ctor_release(x_152, 0);
+ lean_ctor_release(x_152, 1);
+ x_154 = x_152;
+} else {
+ lean_dec_ref(x_152);
+ x_154 = lean_box(0);
+}
+x_155 = lean_box(x_111);
+x_156 = lean_box(x_117);
+x_157 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_157, 0, x_155);
+lean_ctor_set(x_157, 1, x_156);
+if (lean_is_scalar(x_154)) {
+ x_158 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_158 = x_154;
+}
+lean_ctor_set(x_158, 0, x_157);
+lean_ctor_set(x_158, 1, x_153);
+x_10 = x_158;
+goto block_22;
+}
+}
+block_193:
+{
+lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; uint8_t x_168;
+x_162 = lean_st_ref_get(x_8, x_161);
+x_163 = lean_ctor_get(x_162, 1);
+lean_inc(x_163);
+lean_dec(x_162);
+x_164 = lean_st_ref_take(x_8, x_163);
+x_165 = lean_ctor_get(x_164, 0);
+lean_inc(x_165);
+x_166 = lean_ctor_get(x_165, 3);
+lean_inc(x_166);
+x_167 = lean_ctor_get(x_164, 1);
+lean_inc(x_167);
+lean_dec(x_164);
+x_168 = !lean_is_exclusive(x_165);
+if (x_168 == 0)
+{
+lean_object* x_169; uint8_t x_170;
+x_169 = lean_ctor_get(x_165, 3);
+lean_dec(x_169);
+x_170 = !lean_is_exclusive(x_166);
+if (x_170 == 0)
+{
+lean_object* x_171; uint8_t x_172;
+lean_ctor_set_uint8(x_166, sizeof(void*)*1, x_100);
+x_171 = lean_st_ref_set(x_8, x_165, x_167);
+lean_dec(x_8);
+x_172 = !lean_is_exclusive(x_171);
+if (x_172 == 0)
+{
+lean_object* x_173;
+x_173 = lean_ctor_get(x_171, 0);
+lean_dec(x_173);
+lean_ctor_set_tag(x_171, 1);
+lean_ctor_set(x_171, 0, x_160);
+x_10 = x_171;
+goto block_22;
+}
+else
+{
+lean_object* x_174; lean_object* x_175;
+x_174 = lean_ctor_get(x_171, 1);
+lean_inc(x_174);
+lean_dec(x_171);
+x_175 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_175, 0, x_160);
+lean_ctor_set(x_175, 1, x_174);
+x_10 = x_175;
+goto block_22;
+}
+}
+else
+{
+lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181;
+x_176 = lean_ctor_get(x_166, 0);
+lean_inc(x_176);
+lean_dec(x_166);
+x_177 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_177, 0, x_176);
+lean_ctor_set_uint8(x_177, sizeof(void*)*1, x_100);
+lean_ctor_set(x_165, 3, x_177);
+x_178 = lean_st_ref_set(x_8, x_165, x_167);
+lean_dec(x_8);
+x_179 = lean_ctor_get(x_178, 1);
+lean_inc(x_179);
+if (lean_is_exclusive(x_178)) {
+ lean_ctor_release(x_178, 0);
+ lean_ctor_release(x_178, 1);
+ x_180 = x_178;
+} else {
+ lean_dec_ref(x_178);
+ x_180 = lean_box(0);
+}
+if (lean_is_scalar(x_180)) {
+ x_181 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_181 = x_180;
+ lean_ctor_set_tag(x_181, 1);
+}
+lean_ctor_set(x_181, 0, x_160);
+lean_ctor_set(x_181, 1, x_179);
+x_10 = x_181;
+goto block_22;
+}
+}
+else
+{
+lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192;
+x_182 = lean_ctor_get(x_165, 0);
+x_183 = lean_ctor_get(x_165, 1);
+x_184 = lean_ctor_get(x_165, 2);
+lean_inc(x_184);
+lean_inc(x_183);
+lean_inc(x_182);
+lean_dec(x_165);
+x_185 = lean_ctor_get(x_166, 0);
+lean_inc(x_185);
+if (lean_is_exclusive(x_166)) {
+ lean_ctor_release(x_166, 0);
+ x_186 = x_166;
+} else {
+ lean_dec_ref(x_166);
+ x_186 = lean_box(0);
+}
+if (lean_is_scalar(x_186)) {
+ x_187 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_187 = x_186;
+}
+lean_ctor_set(x_187, 0, x_185);
+lean_ctor_set_uint8(x_187, sizeof(void*)*1, x_100);
+x_188 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_188, 0, x_182);
+lean_ctor_set(x_188, 1, x_183);
+lean_ctor_set(x_188, 2, x_184);
+lean_ctor_set(x_188, 3, x_187);
+x_189 = lean_st_ref_set(x_8, x_188, x_167);
+lean_dec(x_8);
+x_190 = lean_ctor_get(x_189, 1);
+lean_inc(x_190);
+if (lean_is_exclusive(x_189)) {
+ lean_ctor_release(x_189, 0);
+ lean_ctor_release(x_189, 1);
+ x_191 = x_189;
+} else {
+ lean_dec_ref(x_189);
+ x_191 = lean_box(0);
+}
+if (lean_is_scalar(x_191)) {
+ x_192 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_192 = x_191;
+ lean_ctor_set_tag(x_192, 1);
+}
+lean_ctor_set(x_192, 0, x_160);
+lean_ctor_set(x_192, 1, x_190);
+x_10 = x_192;
+goto block_22;
+}
+}
+}
+else
+{
+lean_object* x_238; uint8_t x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; uint8_t x_243; lean_object* x_244; lean_object* x_270; lean_object* x_271; lean_object* x_291;
+x_238 = lean_ctor_get(x_103, 0);
+lean_inc(x_238);
+lean_dec(x_103);
+x_239 = 0;
+x_240 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_240, 0, x_238);
+lean_ctor_set_uint8(x_240, sizeof(void*)*1, x_239);
+lean_ctor_set(x_102, 3, x_240);
+x_241 = lean_st_ref_set(x_8, x_102, x_104);
+x_242 = lean_ctor_get(x_241, 1);
+lean_inc(x_242);
+lean_dec(x_241);
+lean_inc(x_8);
+lean_inc(x_7);
+lean_inc(x_6);
+lean_inc(x_5);
+x_291 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_23, x_5, x_6, x_7, x_8, x_242);
+if (lean_obj_tag(x_291) == 0)
+{
+lean_object* x_292; lean_object* x_293; uint8_t x_294; lean_object* x_295; lean_object* x_322; lean_object* x_323; lean_object* x_324; uint8_t x_325;
+x_292 = lean_ctor_get(x_291, 0);
+lean_inc(x_292);
+x_293 = lean_ctor_get(x_291, 1);
+lean_inc(x_293);
+lean_dec(x_291);
+x_322 = lean_st_ref_get(x_8, x_293);
+x_323 = lean_ctor_get(x_322, 0);
+lean_inc(x_323);
+x_324 = lean_ctor_get(x_323, 3);
+lean_inc(x_324);
+lean_dec(x_323);
+x_325 = lean_ctor_get_uint8(x_324, sizeof(void*)*1);
+lean_dec(x_324);
+if (x_325 == 0)
+{
+lean_object* x_326;
+x_326 = lean_ctor_get(x_322, 1);
+lean_inc(x_326);
+lean_dec(x_322);
+x_294 = x_239;
+x_295 = x_326;
+goto block_321;
+}
+else
+{
+lean_object* x_327; lean_object* x_328; lean_object* x_329; lean_object* x_330; lean_object* x_331; uint8_t x_332;
+x_327 = lean_ctor_get(x_322, 1);
+lean_inc(x_327);
+lean_dec(x_322);
+x_328 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_329 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_328, x_5, x_6, x_7, x_8, x_327);
+x_330 = lean_ctor_get(x_329, 0);
+lean_inc(x_330);
+x_331 = lean_ctor_get(x_329, 1);
+lean_inc(x_331);
+lean_dec(x_329);
+x_332 = lean_unbox(x_330);
+lean_dec(x_330);
+x_294 = x_332;
+x_295 = x_331;
+goto block_321;
+}
+block_321:
+{
+if (x_294 == 0)
+{
+uint8_t x_296;
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_2);
+lean_dec(x_1);
+x_296 = lean_unbox(x_292);
+lean_dec(x_292);
+x_243 = x_296;
+x_244 = x_295;
+goto block_269;
+}
+else
+{
+lean_object* x_297; lean_object* x_298; lean_object* x_299; lean_object* x_300; lean_object* x_301; lean_object* x_302; lean_object* x_303; lean_object* x_304; lean_object* x_305; uint8_t x_306;
+x_297 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_297, 0, x_1);
+x_298 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_299 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_299, 0, x_298);
+lean_ctor_set(x_299, 1, x_297);
+x_300 = l_Lean_Meta_isLevelDefEqAux___closed__6;
+x_301 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_301, 0, x_299);
+lean_ctor_set(x_301, 1, x_300);
+x_302 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_302, 0, x_2);
+x_303 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_303, 0, x_301);
+lean_ctor_set(x_303, 1, x_302);
+x_304 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
+x_305 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_305, 0, x_303);
+lean_ctor_set(x_305, 1, x_304);
+x_306 = lean_unbox(x_292);
+if (x_306 == 0)
+{
+lean_object* x_307; lean_object* x_308; lean_object* x_309; lean_object* x_310; lean_object* x_311; lean_object* x_312; uint8_t x_313;
+x_307 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
+x_308 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_308, 0, x_305);
+lean_ctor_set(x_308, 1, x_307);
+x_309 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_309, 0, x_308);
+lean_ctor_set(x_309, 1, x_298);
+x_310 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_311 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_310, x_309, x_5, x_6, x_7, x_8, x_295);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+x_312 = lean_ctor_get(x_311, 1);
+lean_inc(x_312);
+lean_dec(x_311);
+x_313 = lean_unbox(x_292);
+lean_dec(x_292);
+x_243 = x_313;
+x_244 = x_312;
+goto block_269;
+}
+else
+{
+lean_object* x_314; lean_object* x_315; lean_object* x_316; lean_object* x_317; lean_object* x_318; lean_object* x_319; uint8_t x_320;
+x_314 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
+x_315 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_315, 0, x_305);
+lean_ctor_set(x_315, 1, x_314);
+x_316 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_316, 0, x_315);
+lean_ctor_set(x_316, 1, x_298);
+x_317 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_318 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_317, x_316, x_5, x_6, x_7, x_8, x_295);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+x_319 = lean_ctor_get(x_318, 1);
+lean_inc(x_319);
+lean_dec(x_318);
+x_320 = lean_unbox(x_292);
+lean_dec(x_292);
+x_243 = x_320;
+x_244 = x_319;
+goto block_269;
+}
+}
+}
+}
+else
+{
+lean_object* x_333; lean_object* x_334;
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_2);
+lean_dec(x_1);
+x_333 = lean_ctor_get(x_291, 0);
+lean_inc(x_333);
+x_334 = lean_ctor_get(x_291, 1);
+lean_inc(x_334);
+lean_dec(x_291);
+x_270 = x_333;
+x_271 = x_334;
+goto block_290;
+}
+block_269:
+{
+lean_object* x_245; lean_object* x_246; lean_object* x_247; lean_object* x_248; uint8_t x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253; lean_object* x_254; lean_object* x_255; lean_object* x_256; lean_object* x_257; lean_object* x_258; lean_object* x_259; lean_object* x_260; lean_object* x_261; lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265; lean_object* x_266; lean_object* x_267; lean_object* x_268;
+x_245 = lean_st_ref_get(x_8, x_244);
+x_246 = lean_ctor_get(x_245, 0);
+lean_inc(x_246);
+x_247 = lean_ctor_get(x_245, 1);
+lean_inc(x_247);
+lean_dec(x_245);
+x_248 = lean_ctor_get(x_246, 3);
+lean_inc(x_248);
+lean_dec(x_246);
+x_249 = lean_ctor_get_uint8(x_248, sizeof(void*)*1);
+lean_dec(x_248);
+x_250 = lean_st_ref_take(x_8, x_247);
+x_251 = lean_ctor_get(x_250, 0);
+lean_inc(x_251);
+x_252 = lean_ctor_get(x_251, 3);
lean_inc(x_252);
+x_253 = lean_ctor_get(x_250, 1);
+lean_inc(x_253);
+lean_dec(x_250);
+x_254 = lean_ctor_get(x_251, 0);
+lean_inc(x_254);
+x_255 = lean_ctor_get(x_251, 1);
+lean_inc(x_255);
+x_256 = lean_ctor_get(x_251, 2);
+lean_inc(x_256);
if (lean_is_exclusive(x_251)) {
lean_ctor_release(x_251, 0);
lean_ctor_release(x_251, 1);
- x_253 = x_251;
+ lean_ctor_release(x_251, 2);
+ lean_ctor_release(x_251, 3);
+ x_257 = x_251;
} else {
lean_dec_ref(x_251);
- x_253 = lean_box(0);
+ x_257 = lean_box(0);
}
-if (lean_is_scalar(x_253)) {
- x_254 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_254 = x_253;
- lean_ctor_set_tag(x_254, 1);
-}
-lean_ctor_set(x_254, 0, x_235);
-lean_ctor_set(x_254, 1, x_252);
-return x_254;
-}
-block_192:
-{
-lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; uint8_t x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191;
-x_168 = lean_st_ref_get(x_8, x_167);
-x_169 = lean_ctor_get(x_168, 0);
-lean_inc(x_169);
-x_170 = lean_ctor_get(x_168, 1);
-lean_inc(x_170);
-lean_dec(x_168);
-x_171 = lean_ctor_get(x_169, 3);
-lean_inc(x_171);
-lean_dec(x_169);
-x_172 = lean_ctor_get_uint8(x_171, sizeof(void*)*1);
-lean_dec(x_171);
-x_173 = lean_st_ref_take(x_8, x_170);
-x_174 = lean_ctor_get(x_173, 0);
-lean_inc(x_174);
-x_175 = lean_ctor_get(x_174, 3);
-lean_inc(x_175);
-x_176 = lean_ctor_get(x_173, 1);
-lean_inc(x_176);
-lean_dec(x_173);
-x_177 = lean_ctor_get(x_174, 0);
-lean_inc(x_177);
-x_178 = lean_ctor_get(x_174, 1);
-lean_inc(x_178);
-x_179 = lean_ctor_get(x_174, 2);
-lean_inc(x_179);
-if (lean_is_exclusive(x_174)) {
- lean_ctor_release(x_174, 0);
- lean_ctor_release(x_174, 1);
- lean_ctor_release(x_174, 2);
- lean_ctor_release(x_174, 3);
- x_180 = x_174;
-} else {
- lean_dec_ref(x_174);
- x_180 = lean_box(0);
-}
-x_181 = lean_ctor_get(x_175, 0);
-lean_inc(x_181);
-if (lean_is_exclusive(x_175)) {
- lean_ctor_release(x_175, 0);
- x_182 = x_175;
-} else {
- lean_dec_ref(x_175);
- x_182 = lean_box(0);
-}
-if (lean_is_scalar(x_182)) {
- x_183 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_183 = x_182;
-}
-lean_ctor_set(x_183, 0, x_181);
-lean_ctor_set_uint8(x_183, sizeof(void*)*1, x_26);
-if (lean_is_scalar(x_180)) {
- x_184 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_184 = x_180;
-}
-lean_ctor_set(x_184, 0, x_177);
-lean_ctor_set(x_184, 1, x_178);
-lean_ctor_set(x_184, 2, x_179);
-lean_ctor_set(x_184, 3, x_183);
-x_185 = lean_st_ref_set(x_8, x_184, x_176);
-lean_dec(x_8);
-x_186 = lean_ctor_get(x_185, 1);
-lean_inc(x_186);
-if (lean_is_exclusive(x_185)) {
- lean_ctor_release(x_185, 0);
- lean_ctor_release(x_185, 1);
- x_187 = x_185;
-} else {
- lean_dec_ref(x_185);
- x_187 = lean_box(0);
-}
-x_188 = lean_box(x_166);
-x_189 = lean_box(x_172);
-x_190 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_190, 0, x_188);
-lean_ctor_set(x_190, 1, x_189);
-if (lean_is_scalar(x_187)) {
- x_191 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_191 = x_187;
-}
-lean_ctor_set(x_191, 0, x_190);
-lean_ctor_set(x_191, 1, x_186);
-x_10 = x_191;
-goto block_18;
-}
-}
-}
-else
-{
-lean_object* x_255; lean_object* x_256; lean_object* x_257; lean_object* x_258; lean_object* x_259; uint8_t x_260; lean_object* x_261; lean_object* x_262; lean_object* x_263; lean_object* x_264; uint8_t x_265; lean_object* x_266; lean_object* x_292;
-x_255 = lean_ctor_get(x_28, 0);
-x_256 = lean_ctor_get(x_28, 1);
-x_257 = lean_ctor_get(x_28, 2);
-lean_inc(x_257);
-lean_inc(x_256);
-lean_inc(x_255);
-lean_dec(x_28);
-x_258 = lean_ctor_get(x_29, 0);
+x_258 = lean_ctor_get(x_252, 0);
lean_inc(x_258);
-if (lean_is_exclusive(x_29)) {
- lean_ctor_release(x_29, 0);
- x_259 = x_29;
+if (lean_is_exclusive(x_252)) {
+ lean_ctor_release(x_252, 0);
+ x_259 = x_252;
} else {
- lean_dec_ref(x_29);
+ lean_dec_ref(x_252);
x_259 = lean_box(0);
}
-x_260 = 0;
if (lean_is_scalar(x_259)) {
- x_261 = lean_alloc_ctor(0, 1, 1);
+ x_260 = lean_alloc_ctor(0, 1, 1);
} else {
- x_261 = x_259;
+ x_260 = x_259;
}
-lean_ctor_set(x_261, 0, x_258);
-lean_ctor_set_uint8(x_261, sizeof(void*)*1, x_260);
-x_262 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_262, 0, x_255);
-lean_ctor_set(x_262, 1, x_256);
-lean_ctor_set(x_262, 2, x_257);
-lean_ctor_set(x_262, 3, x_261);
-x_263 = lean_st_ref_set(x_8, x_262, x_30);
-x_264 = lean_ctor_get(x_263, 1);
-lean_inc(x_264);
-lean_dec(x_263);
-lean_inc(x_8);
-lean_inc(x_7);
-lean_inc(x_6);
-lean_inc(x_5);
-x_292 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_19, x_5, x_6, x_7, x_8, x_264);
-if (lean_obj_tag(x_292) == 0)
-{
-lean_object* x_293; lean_object* x_294; uint8_t x_295; lean_object* x_296; lean_object* x_323; lean_object* x_324; lean_object* x_325; uint8_t x_326;
-x_293 = lean_ctor_get(x_292, 0);
-lean_inc(x_293);
-x_294 = lean_ctor_get(x_292, 1);
-lean_inc(x_294);
-lean_dec(x_292);
-x_323 = lean_st_ref_get(x_8, x_294);
-x_324 = lean_ctor_get(x_323, 0);
-lean_inc(x_324);
-x_325 = lean_ctor_get(x_324, 3);
-lean_inc(x_325);
-lean_dec(x_324);
-x_326 = lean_ctor_get_uint8(x_325, sizeof(void*)*1);
-lean_dec(x_325);
-if (x_326 == 0)
-{
-lean_object* x_327;
-x_327 = lean_ctor_get(x_323, 1);
-lean_inc(x_327);
-lean_dec(x_323);
-x_295 = x_260;
-x_296 = x_327;
-goto block_322;
-}
-else
-{
-lean_object* x_328; lean_object* x_329; lean_object* x_330; lean_object* x_331; lean_object* x_332; uint8_t x_333;
-x_328 = lean_ctor_get(x_323, 1);
-lean_inc(x_328);
-lean_dec(x_323);
-x_329 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_330 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_329, x_5, x_6, x_7, x_8, x_328);
-x_331 = lean_ctor_get(x_330, 0);
-lean_inc(x_331);
-x_332 = lean_ctor_get(x_330, 1);
-lean_inc(x_332);
-lean_dec(x_330);
-x_333 = lean_unbox(x_331);
-lean_dec(x_331);
-x_295 = x_333;
-x_296 = x_332;
-goto block_322;
-}
-block_322:
-{
-if (x_295 == 0)
-{
-uint8_t x_297;
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_2);
-lean_dec(x_1);
-x_297 = lean_unbox(x_293);
-lean_dec(x_293);
-x_265 = x_297;
-x_266 = x_296;
-goto block_291;
-}
-else
-{
-lean_object* x_298; lean_object* x_299; lean_object* x_300; lean_object* x_301; lean_object* x_302; lean_object* x_303; lean_object* x_304; lean_object* x_305; lean_object* x_306; uint8_t x_307;
-x_298 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_298, 0, x_1);
-x_299 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_300 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_300, 0, x_299);
-lean_ctor_set(x_300, 1, x_298);
-x_301 = l_Lean_Meta_isLevelDefEqAux___closed__6;
-x_302 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_302, 0, x_300);
-lean_ctor_set(x_302, 1, x_301);
-x_303 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_303, 0, x_2);
-x_304 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_304, 0, x_302);
-lean_ctor_set(x_304, 1, x_303);
-x_305 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
-x_306 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_306, 0, x_304);
-lean_ctor_set(x_306, 1, x_305);
-x_307 = lean_unbox(x_293);
-if (x_307 == 0)
-{
-lean_object* x_308; lean_object* x_309; lean_object* x_310; lean_object* x_311; lean_object* x_312; lean_object* x_313; uint8_t x_314;
-x_308 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
-x_309 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_309, 0, x_306);
-lean_ctor_set(x_309, 1, x_308);
-x_310 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_310, 0, x_309);
-lean_ctor_set(x_310, 1, x_299);
-x_311 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_312 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_311, x_310, x_5, x_6, x_7, x_8, x_296);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-x_313 = lean_ctor_get(x_312, 1);
-lean_inc(x_313);
-lean_dec(x_312);
-x_314 = lean_unbox(x_293);
-lean_dec(x_293);
-x_265 = x_314;
-x_266 = x_313;
-goto block_291;
-}
-else
-{
-lean_object* x_315; lean_object* x_316; lean_object* x_317; lean_object* x_318; lean_object* x_319; lean_object* x_320; uint8_t x_321;
-x_315 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
-x_316 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_316, 0, x_306);
-lean_ctor_set(x_316, 1, x_315);
-x_317 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_317, 0, x_316);
-lean_ctor_set(x_317, 1, x_299);
-x_318 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_319 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_318, x_317, x_5, x_6, x_7, x_8, x_296);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-x_320 = lean_ctor_get(x_319, 1);
-lean_inc(x_320);
-lean_dec(x_319);
-x_321 = lean_unbox(x_293);
-lean_dec(x_293);
-x_265 = x_321;
-x_266 = x_320;
-goto block_291;
-}
-}
-}
-}
-else
-{
-lean_object* x_334; lean_object* x_335; lean_object* x_336; lean_object* x_337; lean_object* x_338; lean_object* x_339; lean_object* x_340; lean_object* x_341; lean_object* x_342; lean_object* x_343; lean_object* x_344; lean_object* x_345; lean_object* x_346; lean_object* x_347; lean_object* x_348; lean_object* x_349; lean_object* x_350; lean_object* x_351; lean_object* x_352; lean_object* x_353;
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_2);
-lean_dec(x_1);
-x_334 = lean_ctor_get(x_292, 0);
-lean_inc(x_334);
-x_335 = lean_ctor_get(x_292, 1);
-lean_inc(x_335);
-lean_dec(x_292);
-x_336 = lean_st_ref_get(x_8, x_335);
-x_337 = lean_ctor_get(x_336, 1);
-lean_inc(x_337);
-lean_dec(x_336);
-x_338 = lean_st_ref_take(x_8, x_337);
-x_339 = lean_ctor_get(x_338, 0);
-lean_inc(x_339);
-x_340 = lean_ctor_get(x_339, 3);
-lean_inc(x_340);
-x_341 = lean_ctor_get(x_338, 1);
-lean_inc(x_341);
-lean_dec(x_338);
-x_342 = lean_ctor_get(x_339, 0);
-lean_inc(x_342);
-x_343 = lean_ctor_get(x_339, 1);
-lean_inc(x_343);
-x_344 = lean_ctor_get(x_339, 2);
-lean_inc(x_344);
-if (lean_is_exclusive(x_339)) {
- lean_ctor_release(x_339, 0);
- lean_ctor_release(x_339, 1);
- lean_ctor_release(x_339, 2);
- lean_ctor_release(x_339, 3);
- x_345 = x_339;
+lean_ctor_set(x_260, 0, x_258);
+lean_ctor_set_uint8(x_260, sizeof(void*)*1, x_100);
+if (lean_is_scalar(x_257)) {
+ x_261 = lean_alloc_ctor(0, 4, 0);
} else {
- lean_dec_ref(x_339);
- x_345 = lean_box(0);
+ x_261 = x_257;
}
-x_346 = lean_ctor_get(x_340, 0);
-lean_inc(x_346);
-if (lean_is_exclusive(x_340)) {
- lean_ctor_release(x_340, 0);
- x_347 = x_340;
-} else {
- lean_dec_ref(x_340);
- x_347 = lean_box(0);
-}
-if (lean_is_scalar(x_347)) {
- x_348 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_348 = x_347;
-}
-lean_ctor_set(x_348, 0, x_346);
-lean_ctor_set_uint8(x_348, sizeof(void*)*1, x_26);
-if (lean_is_scalar(x_345)) {
- x_349 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_349 = x_345;
-}
-lean_ctor_set(x_349, 0, x_342);
-lean_ctor_set(x_349, 1, x_343);
-lean_ctor_set(x_349, 2, x_344);
-lean_ctor_set(x_349, 3, x_348);
-x_350 = lean_st_ref_set(x_8, x_349, x_341);
+lean_ctor_set(x_261, 0, x_254);
+lean_ctor_set(x_261, 1, x_255);
+lean_ctor_set(x_261, 2, x_256);
+lean_ctor_set(x_261, 3, x_260);
+x_262 = lean_st_ref_set(x_8, x_261, x_253);
lean_dec(x_8);
-x_351 = lean_ctor_get(x_350, 1);
-lean_inc(x_351);
-if (lean_is_exclusive(x_350)) {
- lean_ctor_release(x_350, 0);
- lean_ctor_release(x_350, 1);
- x_352 = x_350;
+x_263 = lean_ctor_get(x_262, 1);
+lean_inc(x_263);
+if (lean_is_exclusive(x_262)) {
+ lean_ctor_release(x_262, 0);
+ lean_ctor_release(x_262, 1);
+ x_264 = x_262;
} else {
- lean_dec_ref(x_350);
- x_352 = lean_box(0);
+ lean_dec_ref(x_262);
+ x_264 = lean_box(0);
}
-if (lean_is_scalar(x_352)) {
- x_353 = lean_alloc_ctor(1, 2, 0);
+x_265 = lean_box(x_243);
+x_266 = lean_box(x_249);
+x_267 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_267, 0, x_265);
+lean_ctor_set(x_267, 1, x_266);
+if (lean_is_scalar(x_264)) {
+ x_268 = lean_alloc_ctor(0, 2, 0);
} else {
- x_353 = x_352;
- lean_ctor_set_tag(x_353, 1);
+ x_268 = x_264;
}
-lean_ctor_set(x_353, 0, x_334);
-lean_ctor_set(x_353, 1, x_351);
-return x_353;
+lean_ctor_set(x_268, 0, x_267);
+lean_ctor_set(x_268, 1, x_263);
+x_10 = x_268;
+goto block_22;
}
-block_291:
+block_290:
{
-lean_object* x_267; lean_object* x_268; lean_object* x_269; lean_object* x_270; uint8_t x_271; lean_object* x_272; lean_object* x_273; lean_object* x_274; lean_object* x_275; lean_object* x_276; lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; lean_object* x_281; lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286; lean_object* x_287; lean_object* x_288; lean_object* x_289; lean_object* x_290;
-x_267 = lean_st_ref_get(x_8, x_266);
-x_268 = lean_ctor_get(x_267, 0);
-lean_inc(x_268);
-x_269 = lean_ctor_get(x_267, 1);
-lean_inc(x_269);
-lean_dec(x_267);
-x_270 = lean_ctor_get(x_268, 3);
-lean_inc(x_270);
-lean_dec(x_268);
-x_271 = lean_ctor_get_uint8(x_270, sizeof(void*)*1);
-lean_dec(x_270);
-x_272 = lean_st_ref_take(x_8, x_269);
-x_273 = lean_ctor_get(x_272, 0);
+lean_object* x_272; lean_object* x_273; lean_object* x_274; lean_object* x_275; lean_object* x_276; lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; lean_object* x_281; lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286; lean_object* x_287; lean_object* x_288; lean_object* x_289;
+x_272 = lean_st_ref_get(x_8, x_271);
+x_273 = lean_ctor_get(x_272, 1);
lean_inc(x_273);
-x_274 = lean_ctor_get(x_273, 3);
-lean_inc(x_274);
-x_275 = lean_ctor_get(x_272, 1);
-lean_inc(x_275);
lean_dec(x_272);
-x_276 = lean_ctor_get(x_273, 0);
+x_274 = lean_st_ref_take(x_8, x_273);
+x_275 = lean_ctor_get(x_274, 0);
+lean_inc(x_275);
+x_276 = lean_ctor_get(x_275, 3);
lean_inc(x_276);
-x_277 = lean_ctor_get(x_273, 1);
+x_277 = lean_ctor_get(x_274, 1);
lean_inc(x_277);
-x_278 = lean_ctor_get(x_273, 2);
+lean_dec(x_274);
+x_278 = lean_ctor_get(x_275, 0);
lean_inc(x_278);
-if (lean_is_exclusive(x_273)) {
- lean_ctor_release(x_273, 0);
- lean_ctor_release(x_273, 1);
- lean_ctor_release(x_273, 2);
- lean_ctor_release(x_273, 3);
- x_279 = x_273;
-} else {
- lean_dec_ref(x_273);
- x_279 = lean_box(0);
-}
-x_280 = lean_ctor_get(x_274, 0);
+x_279 = lean_ctor_get(x_275, 1);
+lean_inc(x_279);
+x_280 = lean_ctor_get(x_275, 2);
lean_inc(x_280);
-if (lean_is_exclusive(x_274)) {
- lean_ctor_release(x_274, 0);
- x_281 = x_274;
+if (lean_is_exclusive(x_275)) {
+ lean_ctor_release(x_275, 0);
+ lean_ctor_release(x_275, 1);
+ lean_ctor_release(x_275, 2);
+ lean_ctor_release(x_275, 3);
+ x_281 = x_275;
} else {
- lean_dec_ref(x_274);
+ lean_dec_ref(x_275);
x_281 = lean_box(0);
}
+x_282 = lean_ctor_get(x_276, 0);
+lean_inc(x_282);
+if (lean_is_exclusive(x_276)) {
+ lean_ctor_release(x_276, 0);
+ x_283 = x_276;
+} else {
+ lean_dec_ref(x_276);
+ x_283 = lean_box(0);
+}
+if (lean_is_scalar(x_283)) {
+ x_284 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_284 = x_283;
+}
+lean_ctor_set(x_284, 0, x_282);
+lean_ctor_set_uint8(x_284, sizeof(void*)*1, x_100);
if (lean_is_scalar(x_281)) {
- x_282 = lean_alloc_ctor(0, 1, 1);
+ x_285 = lean_alloc_ctor(0, 4, 0);
} else {
- x_282 = x_281;
+ x_285 = x_281;
}
-lean_ctor_set(x_282, 0, x_280);
-lean_ctor_set_uint8(x_282, sizeof(void*)*1, x_26);
-if (lean_is_scalar(x_279)) {
- x_283 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_283 = x_279;
-}
-lean_ctor_set(x_283, 0, x_276);
-lean_ctor_set(x_283, 1, x_277);
-lean_ctor_set(x_283, 2, x_278);
-lean_ctor_set(x_283, 3, x_282);
-x_284 = lean_st_ref_set(x_8, x_283, x_275);
+lean_ctor_set(x_285, 0, x_278);
+lean_ctor_set(x_285, 1, x_279);
+lean_ctor_set(x_285, 2, x_280);
+lean_ctor_set(x_285, 3, x_284);
+x_286 = lean_st_ref_set(x_8, x_285, x_277);
lean_dec(x_8);
-x_285 = lean_ctor_get(x_284, 1);
-lean_inc(x_285);
-if (lean_is_exclusive(x_284)) {
- lean_ctor_release(x_284, 0);
- lean_ctor_release(x_284, 1);
- x_286 = x_284;
+x_287 = lean_ctor_get(x_286, 1);
+lean_inc(x_287);
+if (lean_is_exclusive(x_286)) {
+ lean_ctor_release(x_286, 0);
+ lean_ctor_release(x_286, 1);
+ x_288 = x_286;
} else {
- lean_dec_ref(x_284);
- x_286 = lean_box(0);
+ lean_dec_ref(x_286);
+ x_288 = lean_box(0);
}
-x_287 = lean_box(x_265);
-x_288 = lean_box(x_271);
-x_289 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_289, 0, x_287);
-lean_ctor_set(x_289, 1, x_288);
-if (lean_is_scalar(x_286)) {
- x_290 = lean_alloc_ctor(0, 2, 0);
+if (lean_is_scalar(x_288)) {
+ x_289 = lean_alloc_ctor(1, 2, 0);
} else {
- x_290 = x_286;
+ x_289 = x_288;
+ lean_ctor_set_tag(x_289, 1);
}
-lean_ctor_set(x_290, 0, x_289);
-lean_ctor_set(x_290, 1, x_285);
-x_10 = x_290;
-goto block_18;
+lean_ctor_set(x_289, 0, x_270);
+lean_ctor_set(x_289, 1, x_287);
+x_10 = x_289;
+goto block_22;
}
}
}
else
{
-lean_object* x_354; lean_object* x_355; lean_object* x_356; lean_object* x_357; uint8_t x_358; lean_object* x_359; lean_object* x_369;
-x_354 = lean_ctor_get(x_7, 3);
-lean_inc(x_354);
-x_355 = l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_isLevelDefEq___spec__3___rarg(x_8, x_21);
-x_356 = lean_ctor_get(x_355, 0);
-lean_inc(x_356);
-x_357 = lean_ctor_get(x_355, 1);
-lean_inc(x_357);
-lean_dec(x_355);
+lean_object* x_335; lean_object* x_336; lean_object* x_337; lean_object* x_338; lean_object* x_339; uint8_t x_340; lean_object* x_341; lean_object* x_342; lean_object* x_343; lean_object* x_344; uint8_t x_345; lean_object* x_346; lean_object* x_372; lean_object* x_373; lean_object* x_393;
+x_335 = lean_ctor_get(x_102, 0);
+x_336 = lean_ctor_get(x_102, 1);
+x_337 = lean_ctor_get(x_102, 2);
+lean_inc(x_337);
+lean_inc(x_336);
+lean_inc(x_335);
+lean_dec(x_102);
+x_338 = lean_ctor_get(x_103, 0);
+lean_inc(x_338);
+if (lean_is_exclusive(x_103)) {
+ lean_ctor_release(x_103, 0);
+ x_339 = x_103;
+} else {
+ lean_dec_ref(x_103);
+ x_339 = lean_box(0);
+}
+x_340 = 0;
+if (lean_is_scalar(x_339)) {
+ x_341 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_341 = x_339;
+}
+lean_ctor_set(x_341, 0, x_338);
+lean_ctor_set_uint8(x_341, sizeof(void*)*1, x_340);
+x_342 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_342, 0, x_335);
+lean_ctor_set(x_342, 1, x_336);
+lean_ctor_set(x_342, 2, x_337);
+lean_ctor_set(x_342, 3, x_341);
+x_343 = lean_st_ref_set(x_8, x_342, x_104);
+x_344 = lean_ctor_get(x_343, 1);
+lean_inc(x_344);
+lean_dec(x_343);
lean_inc(x_8);
lean_inc(x_7);
lean_inc(x_6);
lean_inc(x_5);
-x_369 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_19, x_5, x_6, x_7, x_8, x_357);
-if (lean_obj_tag(x_369) == 0)
+x_393 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_23, x_5, x_6, x_7, x_8, x_344);
+if (lean_obj_tag(x_393) == 0)
{
-lean_object* x_370; lean_object* x_371; uint8_t x_372; lean_object* x_373; lean_object* x_400; lean_object* x_401; lean_object* x_402; uint8_t x_403;
-x_370 = lean_ctor_get(x_369, 0);
-lean_inc(x_370);
-x_371 = lean_ctor_get(x_369, 1);
-lean_inc(x_371);
-lean_dec(x_369);
-x_400 = lean_st_ref_get(x_8, x_371);
-x_401 = lean_ctor_get(x_400, 0);
-lean_inc(x_401);
-x_402 = lean_ctor_get(x_401, 3);
-lean_inc(x_402);
-lean_dec(x_401);
-x_403 = lean_ctor_get_uint8(x_402, sizeof(void*)*1);
-lean_dec(x_402);
-if (x_403 == 0)
+lean_object* x_394; lean_object* x_395; uint8_t x_396; lean_object* x_397; lean_object* x_424; lean_object* x_425; lean_object* x_426; uint8_t x_427;
+x_394 = lean_ctor_get(x_393, 0);
+lean_inc(x_394);
+x_395 = lean_ctor_get(x_393, 1);
+lean_inc(x_395);
+lean_dec(x_393);
+x_424 = lean_st_ref_get(x_8, x_395);
+x_425 = lean_ctor_get(x_424, 0);
+lean_inc(x_425);
+x_426 = lean_ctor_get(x_425, 3);
+lean_inc(x_426);
+lean_dec(x_425);
+x_427 = lean_ctor_get_uint8(x_426, sizeof(void*)*1);
+lean_dec(x_426);
+if (x_427 == 0)
{
-lean_object* x_404; uint8_t x_405;
-x_404 = lean_ctor_get(x_400, 1);
-lean_inc(x_404);
-lean_dec(x_400);
-x_405 = 0;
-x_372 = x_405;
-x_373 = x_404;
-goto block_399;
+lean_object* x_428;
+x_428 = lean_ctor_get(x_424, 1);
+lean_inc(x_428);
+lean_dec(x_424);
+x_396 = x_340;
+x_397 = x_428;
+goto block_423;
}
else
{
-lean_object* x_406; lean_object* x_407; lean_object* x_408; lean_object* x_409; lean_object* x_410; uint8_t x_411;
-x_406 = lean_ctor_get(x_400, 1);
-lean_inc(x_406);
-lean_dec(x_400);
-x_407 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_408 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_407, x_5, x_6, x_7, x_8, x_406);
-x_409 = lean_ctor_get(x_408, 0);
-lean_inc(x_409);
-x_410 = lean_ctor_get(x_408, 1);
-lean_inc(x_410);
-lean_dec(x_408);
-x_411 = lean_unbox(x_409);
-lean_dec(x_409);
-x_372 = x_411;
-x_373 = x_410;
-goto block_399;
+lean_object* x_429; lean_object* x_430; lean_object* x_431; lean_object* x_432; lean_object* x_433; uint8_t x_434;
+x_429 = lean_ctor_get(x_424, 1);
+lean_inc(x_429);
+lean_dec(x_424);
+x_430 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_431 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_430, x_5, x_6, x_7, x_8, x_429);
+x_432 = lean_ctor_get(x_431, 0);
+lean_inc(x_432);
+x_433 = lean_ctor_get(x_431, 1);
+lean_inc(x_433);
+lean_dec(x_431);
+x_434 = lean_unbox(x_432);
+lean_dec(x_432);
+x_396 = x_434;
+x_397 = x_433;
+goto block_423;
}
-block_399:
+block_423:
{
-if (x_372 == 0)
+if (x_396 == 0)
{
-uint8_t x_374;
-lean_dec(x_2);
-lean_dec(x_1);
-x_374 = lean_unbox(x_370);
-lean_dec(x_370);
-x_358 = x_374;
-x_359 = x_373;
-goto block_368;
-}
-else
-{
-lean_object* x_375; lean_object* x_376; lean_object* x_377; lean_object* x_378; lean_object* x_379; lean_object* x_380; lean_object* x_381; lean_object* x_382; lean_object* x_383; uint8_t x_384;
-x_375 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_375, 0, x_1);
-x_376 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_377 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_377, 0, x_376);
-lean_ctor_set(x_377, 1, x_375);
-x_378 = l_Lean_Meta_isLevelDefEqAux___closed__6;
-x_379 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_379, 0, x_377);
-lean_ctor_set(x_379, 1, x_378);
-x_380 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_380, 0, x_2);
-x_381 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_381, 0, x_379);
-lean_ctor_set(x_381, 1, x_380);
-x_382 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
-x_383 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_383, 0, x_381);
-lean_ctor_set(x_383, 1, x_382);
-x_384 = lean_unbox(x_370);
-if (x_384 == 0)
-{
-lean_object* x_385; lean_object* x_386; lean_object* x_387; lean_object* x_388; lean_object* x_389; lean_object* x_390; uint8_t x_391;
-x_385 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
-x_386 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_386, 0, x_383);
-lean_ctor_set(x_386, 1, x_385);
-x_387 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_387, 0, x_386);
-lean_ctor_set(x_387, 1, x_376);
-x_388 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_389 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_388, x_387, x_5, x_6, x_7, x_8, x_373);
-x_390 = lean_ctor_get(x_389, 1);
-lean_inc(x_390);
-lean_dec(x_389);
-x_391 = lean_unbox(x_370);
-lean_dec(x_370);
-x_358 = x_391;
-x_359 = x_390;
-goto block_368;
-}
-else
-{
-lean_object* x_392; lean_object* x_393; lean_object* x_394; lean_object* x_395; lean_object* x_396; lean_object* x_397; uint8_t x_398;
-x_392 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
-x_393 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_393, 0, x_383);
-lean_ctor_set(x_393, 1, x_392);
-x_394 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_394, 0, x_393);
-lean_ctor_set(x_394, 1, x_376);
-x_395 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_396 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_395, x_394, x_5, x_6, x_7, x_8, x_373);
-x_397 = lean_ctor_get(x_396, 1);
-lean_inc(x_397);
-lean_dec(x_396);
-x_398 = lean_unbox(x_370);
-lean_dec(x_370);
-x_358 = x_398;
-x_359 = x_397;
-goto block_368;
-}
-}
-}
-}
-else
-{
-lean_object* x_412; lean_object* x_413; lean_object* x_414; lean_object* x_415; uint8_t x_416;
-lean_dec(x_2);
-lean_dec(x_1);
-x_412 = lean_ctor_get(x_369, 0);
-lean_inc(x_412);
-x_413 = lean_ctor_get(x_369, 1);
-lean_inc(x_413);
-lean_dec(x_369);
-x_414 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_415 = l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_isLevelDefEq___spec__4(x_356, x_414, x_354, x_5, x_6, x_7, x_8, x_413);
-lean_dec(x_8);
+uint8_t x_398;
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
-x_416 = !lean_is_exclusive(x_415);
-if (x_416 == 0)
-{
-lean_object* x_417;
-x_417 = lean_ctor_get(x_415, 0);
-lean_dec(x_417);
-lean_ctor_set_tag(x_415, 1);
-lean_ctor_set(x_415, 0, x_412);
-return x_415;
+lean_dec(x_2);
+lean_dec(x_1);
+x_398 = lean_unbox(x_394);
+lean_dec(x_394);
+x_345 = x_398;
+x_346 = x_397;
+goto block_371;
}
else
{
-lean_object* x_418; lean_object* x_419;
-x_418 = lean_ctor_get(x_415, 1);
-lean_inc(x_418);
-lean_dec(x_415);
-x_419 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_419, 0, x_412);
-lean_ctor_set(x_419, 1, x_418);
-return x_419;
-}
-}
-block_368:
+lean_object* x_399; lean_object* x_400; lean_object* x_401; lean_object* x_402; lean_object* x_403; lean_object* x_404; lean_object* x_405; lean_object* x_406; lean_object* x_407; uint8_t x_408;
+x_399 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_399, 0, x_1);
+x_400 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_401 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_401, 0, x_400);
+lean_ctor_set(x_401, 1, x_399);
+x_402 = l_Lean_Meta_isLevelDefEqAux___closed__6;
+x_403 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_403, 0, x_401);
+lean_ctor_set(x_403, 1, x_402);
+x_404 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_404, 0, x_2);
+x_405 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_405, 0, x_403);
+lean_ctor_set(x_405, 1, x_404);
+x_406 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
+x_407 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_407, 0, x_405);
+lean_ctor_set(x_407, 1, x_406);
+x_408 = lean_unbox(x_394);
+if (x_408 == 0)
{
-lean_object* x_360; lean_object* x_361; uint8_t x_362;
-x_360 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_361 = l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_isLevelDefEq___spec__4(x_356, x_360, x_354, x_5, x_6, x_7, x_8, x_359);
-lean_dec(x_8);
+lean_object* x_409; lean_object* x_410; lean_object* x_411; lean_object* x_412; lean_object* x_413; lean_object* x_414; uint8_t x_415;
+x_409 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
+x_410 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_410, 0, x_407);
+lean_ctor_set(x_410, 1, x_409);
+x_411 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_411, 0, x_410);
+lean_ctor_set(x_411, 1, x_400);
+x_412 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_413 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_412, x_411, x_5, x_6, x_7, x_8, x_397);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
-x_362 = !lean_is_exclusive(x_361);
-if (x_362 == 0)
-{
-lean_object* x_363; lean_object* x_364;
-x_363 = lean_ctor_get(x_361, 0);
-lean_dec(x_363);
-x_364 = lean_box(x_358);
-lean_ctor_set(x_361, 0, x_364);
-return x_361;
+x_414 = lean_ctor_get(x_413, 1);
+lean_inc(x_414);
+lean_dec(x_413);
+x_415 = lean_unbox(x_394);
+lean_dec(x_394);
+x_345 = x_415;
+x_346 = x_414;
+goto block_371;
}
else
{
-lean_object* x_365; lean_object* x_366; lean_object* x_367;
-x_365 = lean_ctor_get(x_361, 1);
+lean_object* x_416; lean_object* x_417; lean_object* x_418; lean_object* x_419; lean_object* x_420; lean_object* x_421; uint8_t x_422;
+x_416 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
+x_417 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_417, 0, x_407);
+lean_ctor_set(x_417, 1, x_416);
+x_418 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_418, 0, x_417);
+lean_ctor_set(x_418, 1, x_400);
+x_419 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_420 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_419, x_418, x_5, x_6, x_7, x_8, x_397);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+x_421 = lean_ctor_get(x_420, 1);
+lean_inc(x_421);
+lean_dec(x_420);
+x_422 = lean_unbox(x_394);
+lean_dec(x_394);
+x_345 = x_422;
+x_346 = x_421;
+goto block_371;
+}
+}
+}
+}
+else
+{
+lean_object* x_435; lean_object* x_436;
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_2);
+lean_dec(x_1);
+x_435 = lean_ctor_get(x_393, 0);
+lean_inc(x_435);
+x_436 = lean_ctor_get(x_393, 1);
+lean_inc(x_436);
+lean_dec(x_393);
+x_372 = x_435;
+x_373 = x_436;
+goto block_392;
+}
+block_371:
+{
+lean_object* x_347; lean_object* x_348; lean_object* x_349; lean_object* x_350; uint8_t x_351; lean_object* x_352; lean_object* x_353; lean_object* x_354; lean_object* x_355; lean_object* x_356; lean_object* x_357; lean_object* x_358; lean_object* x_359; lean_object* x_360; lean_object* x_361; lean_object* x_362; lean_object* x_363; lean_object* x_364; lean_object* x_365; lean_object* x_366; lean_object* x_367; lean_object* x_368; lean_object* x_369; lean_object* x_370;
+x_347 = lean_st_ref_get(x_8, x_346);
+x_348 = lean_ctor_get(x_347, 0);
+lean_inc(x_348);
+x_349 = lean_ctor_get(x_347, 1);
+lean_inc(x_349);
+lean_dec(x_347);
+x_350 = lean_ctor_get(x_348, 3);
+lean_inc(x_350);
+lean_dec(x_348);
+x_351 = lean_ctor_get_uint8(x_350, sizeof(void*)*1);
+lean_dec(x_350);
+x_352 = lean_st_ref_take(x_8, x_349);
+x_353 = lean_ctor_get(x_352, 0);
+lean_inc(x_353);
+x_354 = lean_ctor_get(x_353, 3);
+lean_inc(x_354);
+x_355 = lean_ctor_get(x_352, 1);
+lean_inc(x_355);
+lean_dec(x_352);
+x_356 = lean_ctor_get(x_353, 0);
+lean_inc(x_356);
+x_357 = lean_ctor_get(x_353, 1);
+lean_inc(x_357);
+x_358 = lean_ctor_get(x_353, 2);
+lean_inc(x_358);
+if (lean_is_exclusive(x_353)) {
+ lean_ctor_release(x_353, 0);
+ lean_ctor_release(x_353, 1);
+ lean_ctor_release(x_353, 2);
+ lean_ctor_release(x_353, 3);
+ x_359 = x_353;
+} else {
+ lean_dec_ref(x_353);
+ x_359 = lean_box(0);
+}
+x_360 = lean_ctor_get(x_354, 0);
+lean_inc(x_360);
+if (lean_is_exclusive(x_354)) {
+ lean_ctor_release(x_354, 0);
+ x_361 = x_354;
+} else {
+ lean_dec_ref(x_354);
+ x_361 = lean_box(0);
+}
+if (lean_is_scalar(x_361)) {
+ x_362 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_362 = x_361;
+}
+lean_ctor_set(x_362, 0, x_360);
+lean_ctor_set_uint8(x_362, sizeof(void*)*1, x_100);
+if (lean_is_scalar(x_359)) {
+ x_363 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_363 = x_359;
+}
+lean_ctor_set(x_363, 0, x_356);
+lean_ctor_set(x_363, 1, x_357);
+lean_ctor_set(x_363, 2, x_358);
+lean_ctor_set(x_363, 3, x_362);
+x_364 = lean_st_ref_set(x_8, x_363, x_355);
+lean_dec(x_8);
+x_365 = lean_ctor_get(x_364, 1);
lean_inc(x_365);
-lean_dec(x_361);
-x_366 = lean_box(x_358);
-x_367 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_367, 0, x_366);
-lean_ctor_set(x_367, 1, x_365);
-return x_367;
+if (lean_is_exclusive(x_364)) {
+ lean_ctor_release(x_364, 0);
+ lean_ctor_release(x_364, 1);
+ x_366 = x_364;
+} else {
+ lean_dec_ref(x_364);
+ x_366 = lean_box(0);
+}
+x_367 = lean_box(x_345);
+x_368 = lean_box(x_351);
+x_369 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_369, 0, x_367);
+lean_ctor_set(x_369, 1, x_368);
+if (lean_is_scalar(x_366)) {
+ x_370 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_370 = x_366;
+}
+lean_ctor_set(x_370, 0, x_369);
+lean_ctor_set(x_370, 1, x_365);
+x_10 = x_370;
+goto block_22;
+}
+block_392:
+{
+lean_object* x_374; lean_object* x_375; lean_object* x_376; lean_object* x_377; lean_object* x_378; lean_object* x_379; lean_object* x_380; lean_object* x_381; lean_object* x_382; lean_object* x_383; lean_object* x_384; lean_object* x_385; lean_object* x_386; lean_object* x_387; lean_object* x_388; lean_object* x_389; lean_object* x_390; lean_object* x_391;
+x_374 = lean_st_ref_get(x_8, x_373);
+x_375 = lean_ctor_get(x_374, 1);
+lean_inc(x_375);
+lean_dec(x_374);
+x_376 = lean_st_ref_take(x_8, x_375);
+x_377 = lean_ctor_get(x_376, 0);
+lean_inc(x_377);
+x_378 = lean_ctor_get(x_377, 3);
+lean_inc(x_378);
+x_379 = lean_ctor_get(x_376, 1);
+lean_inc(x_379);
+lean_dec(x_376);
+x_380 = lean_ctor_get(x_377, 0);
+lean_inc(x_380);
+x_381 = lean_ctor_get(x_377, 1);
+lean_inc(x_381);
+x_382 = lean_ctor_get(x_377, 2);
+lean_inc(x_382);
+if (lean_is_exclusive(x_377)) {
+ lean_ctor_release(x_377, 0);
+ lean_ctor_release(x_377, 1);
+ lean_ctor_release(x_377, 2);
+ lean_ctor_release(x_377, 3);
+ x_383 = x_377;
+} else {
+ lean_dec_ref(x_377);
+ x_383 = lean_box(0);
+}
+x_384 = lean_ctor_get(x_378, 0);
+lean_inc(x_384);
+if (lean_is_exclusive(x_378)) {
+ lean_ctor_release(x_378, 0);
+ x_385 = x_378;
+} else {
+ lean_dec_ref(x_378);
+ x_385 = lean_box(0);
+}
+if (lean_is_scalar(x_385)) {
+ x_386 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_386 = x_385;
+}
+lean_ctor_set(x_386, 0, x_384);
+lean_ctor_set_uint8(x_386, sizeof(void*)*1, x_100);
+if (lean_is_scalar(x_383)) {
+ x_387 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_387 = x_383;
+}
+lean_ctor_set(x_387, 0, x_380);
+lean_ctor_set(x_387, 1, x_381);
+lean_ctor_set(x_387, 2, x_382);
+lean_ctor_set(x_387, 3, x_386);
+x_388 = lean_st_ref_set(x_8, x_387, x_379);
+lean_dec(x_8);
+x_389 = lean_ctor_get(x_388, 1);
+lean_inc(x_389);
+if (lean_is_exclusive(x_388)) {
+ lean_ctor_release(x_388, 0);
+ lean_ctor_release(x_388, 1);
+ x_390 = x_388;
+} else {
+ lean_dec_ref(x_388);
+ x_390 = lean_box(0);
+}
+if (lean_is_scalar(x_390)) {
+ x_391 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_391 = x_390;
+ lean_ctor_set_tag(x_391, 1);
+}
+lean_ctor_set(x_391, 0, x_372);
+lean_ctor_set(x_391, 1, x_389);
+x_10 = x_391;
+goto block_22;
+}
}
}
}
@@ -13552,7 +13573,7 @@ x_139 = lean_ctor_get(x_133, 1);
lean_inc(x_139);
lean_dec(x_133);
x_140 = l_Lean_Meta_Match_Unify_assign___closed__2;
-x_141 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_Match_Unify_assign___spec__2(x_140, x_3, x_4, x_5, x_6, x_7, x_8, x_139);
+x_141 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_Match_Unify_assign___spec__2(x_140, x_3, x_4, x_5, x_6, x_7, x_8, x_139);
x_142 = lean_ctor_get(x_141, 0);
lean_inc(x_142);
x_143 = lean_ctor_get(x_141, 1);
@@ -13949,7 +13970,7 @@ x_82 = lean_ctor_get(x_76, 1);
lean_inc(x_82);
lean_dec(x_76);
x_83 = l_Lean_Meta_Match_Unify_assign___closed__2;
-x_84 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_Match_Unify_assign___spec__2(x_83, x_3, x_4, x_5, x_6, x_7, x_8, x_82);
+x_84 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_Match_Unify_assign___spec__2(x_83, x_3, x_4, x_5, x_6, x_7, x_8, x_82);
x_85 = lean_ctor_get(x_84, 0);
lean_inc(x_85);
x_86 = lean_ctor_get(x_84, 1);
@@ -14035,7 +14056,7 @@ x_100 = lean_ctor_get(x_94, 1);
lean_inc(x_100);
lean_dec(x_94);
x_101 = l_Lean_Meta_Match_Unify_assign___closed__2;
-x_102 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_Match_Unify_assign___spec__2(x_101, x_3, x_4, x_5, x_6, x_7, x_8, x_100);
+x_102 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_Match_Unify_assign___spec__2(x_101, x_3, x_4, x_5, x_6, x_7, x_8, x_100);
x_103 = lean_ctor_get(x_102, 0);
lean_inc(x_103);
x_104 = lean_ctor_get(x_102, 1);
@@ -14560,6 +14581,7 @@ _start:
if (lean_obj_tag(x_2) == 0)
{
lean_object* x_3;
+lean_dec(x_1);
x_3 = lean_box(0);
return x_3;
}
@@ -14572,6 +14594,7 @@ if (x_4 == 0)
lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8;
x_5 = lean_ctor_get(x_2, 0);
x_6 = lean_ctor_get(x_2, 1);
+lean_inc(x_1);
x_7 = l_Lean_LocalDecl_applyFVarSubst(x_1, x_5);
x_8 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___spec__3(x_1, x_6);
lean_ctor_set(x_2, 1, x_8);
@@ -14586,6 +14609,7 @@ x_10 = lean_ctor_get(x_2, 1);
lean_inc(x_10);
lean_inc(x_9);
lean_dec(x_2);
+lean_inc(x_1);
x_11 = l_Lean_LocalDecl_applyFVarSubst(x_1, x_9);
x_12 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___spec__3(x_1, x_10);
x_13 = lean_alloc_ctor(1, 2, 0);
@@ -14602,6 +14626,7 @@ _start:
if (lean_obj_tag(x_2) == 0)
{
lean_object* x_3;
+lean_dec(x_1);
x_3 = lean_box(0);
return x_3;
}
@@ -14614,6 +14639,7 @@ if (x_4 == 0)
lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8;
x_5 = lean_ctor_get(x_2, 0);
x_6 = lean_ctor_get(x_2, 1);
+lean_inc(x_1);
x_7 = l_Lean_Meta_Match_Pattern_applyFVarSubst(x_1, x_5);
x_8 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___spec__4(x_1, x_6);
lean_ctor_set(x_2, 1, x_8);
@@ -14628,6 +14654,7 @@ x_10 = lean_ctor_get(x_2, 1);
lean_inc(x_10);
lean_inc(x_9);
lean_dec(x_2);
+lean_inc(x_1);
x_11 = l_Lean_Meta_Match_Pattern_applyFVarSubst(x_1, x_9);
x_12 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___spec__4(x_1, x_10);
x_13 = lean_alloc_ctor(1, 2, 0);
@@ -14897,13 +14924,16 @@ lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean
x_35 = lean_ctor_get(x_25, 0);
x_36 = lean_box(0);
x_37 = l_List_filterAux___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___spec__2(x_35, x_23, x_36);
+lean_inc(x_35);
x_38 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___spec__3(x_35, x_37);
x_39 = lean_ctor_get(x_14, 4);
lean_inc(x_39);
+lean_inc(x_35);
x_40 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___spec__4(x_35, x_39);
x_41 = lean_ctor_get(x_14, 2);
lean_inc(x_41);
lean_dec(x_14);
+lean_inc(x_35);
x_42 = l_Lean_Meta_FVarSubst_apply(x_35, x_41);
x_43 = l_Array_toList___rarg(x_5);
lean_dec(x_5);
@@ -14932,13 +14962,16 @@ lean_inc(x_49);
lean_dec(x_25);
x_50 = lean_box(0);
x_51 = l_List_filterAux___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___spec__2(x_49, x_23, x_50);
+lean_inc(x_49);
x_52 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___spec__3(x_49, x_51);
x_53 = lean_ctor_get(x_14, 4);
lean_inc(x_53);
+lean_inc(x_49);
x_54 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___spec__4(x_49, x_53);
x_55 = lean_ctor_get(x_14, 2);
lean_inc(x_55);
lean_dec(x_14);
+lean_inc(x_49);
x_56 = l_Lean_Meta_FVarSubst_apply(x_49, x_55);
x_57 = l_Array_toList___rarg(x_5);
lean_dec(x_5);
@@ -14979,13 +15012,16 @@ if (lean_is_exclusive(x_25)) {
}
x_67 = lean_box(0);
x_68 = l_List_filterAux___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___spec__2(x_65, x_23, x_67);
+lean_inc(x_65);
x_69 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___spec__3(x_65, x_68);
x_70 = lean_ctor_get(x_14, 4);
lean_inc(x_70);
+lean_inc(x_65);
x_71 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___spec__4(x_65, x_70);
x_72 = lean_ctor_get(x_14, 2);
lean_inc(x_72);
lean_dec(x_14);
+lean_inc(x_65);
x_73 = l_Lean_Meta_FVarSubst_apply(x_65, x_72);
x_74 = l_Array_toList___rarg(x_5);
lean_dec(x_5);
@@ -15353,24 +15389,6 @@ lean_dec(x_1);
return x_4;
}
}
-lean_object* l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___spec__3___boxed(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3;
-x_3 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___spec__3(x_1, x_2);
-lean_dec(x_1);
-return x_3;
-}
-}
-lean_object* l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___spec__4___boxed(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3;
-x_3 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___spec__4(x_1, x_2);
-lean_dec(x_1);
-return x_3;
-}
-}
lean_object* l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___spec__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
@@ -16312,7 +16330,7 @@ x_15 = lean_ctor_get(x_9, 0);
lean_inc(x_15);
if (lean_obj_tag(x_15) == 0)
{
-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_31; lean_object* x_32; lean_object* x_33; uint8_t x_34;
+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; uint8_t x_31; lean_object* x_32; lean_object* x_40; lean_object* x_41; lean_object* x_42; uint8_t x_43;
x_16 = lean_ctor_get(x_8, 0);
lean_inc(x_16);
x_17 = lean_ctor_get(x_8, 1);
@@ -16335,64 +16353,43 @@ lean_inc(x_23);
x_24 = lean_ctor_get(x_16, 0);
lean_inc(x_24);
lean_dec(x_16);
-x_31 = lean_st_ref_get(x_6, x_17);
-x_32 = lean_ctor_get(x_31, 0);
-lean_inc(x_32);
-x_33 = lean_ctor_get(x_32, 3);
-lean_inc(x_33);
-lean_dec(x_32);
-x_34 = lean_ctor_get_uint8(x_33, sizeof(void*)*1);
-lean_dec(x_33);
-if (x_34 == 0)
-{
-lean_object* x_35;
-x_35 = lean_ctor_get(x_31, 1);
-lean_inc(x_35);
-lean_dec(x_31);
-x_25 = x_35;
-goto block_30;
-}
-else
-{
-lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_36 = lean_ctor_get(x_31, 1);
-lean_inc(x_36);
-lean_dec(x_31);
-x_37 = l_Lean_Meta_Match_processInaccessibleAsCtor___closed__4;
-x_38 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_37, x_3, x_4, x_5, x_6, x_36);
-x_39 = lean_ctor_get(x_38, 0);
-lean_inc(x_39);
-x_40 = lean_unbox(x_39);
-lean_dec(x_39);
-if (x_40 == 0)
-{
-lean_object* x_41;
-x_41 = lean_ctor_get(x_38, 1);
+x_40 = lean_st_ref_get(x_6, x_17);
+x_41 = lean_ctor_get(x_40, 0);
lean_inc(x_41);
-lean_dec(x_38);
-x_25 = x_41;
-goto block_30;
+x_42 = lean_ctor_get(x_41, 3);
+lean_inc(x_42);
+lean_dec(x_41);
+x_43 = lean_ctor_get_uint8(x_42, sizeof(void*)*1);
+lean_dec(x_42);
+if (x_43 == 0)
+{
+lean_object* x_44; uint8_t x_45;
+x_44 = lean_ctor_get(x_40, 1);
+lean_inc(x_44);
+lean_dec(x_40);
+x_45 = 0;
+x_31 = x_45;
+x_32 = x_44;
+goto block_39;
}
else
{
-lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47;
-x_42 = lean_ctor_get(x_38, 1);
-lean_inc(x_42);
-lean_dec(x_38);
-lean_inc(x_23);
-x_43 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_43, 0, x_23);
-x_44 = l_Lean_Meta_Match_processInaccessibleAsCtor___closed__7;
-x_45 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_45, 0, x_44);
-lean_ctor_set(x_45, 1, x_43);
-x_46 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_37, x_45, x_3, x_4, x_5, x_6, x_42);
-x_47 = lean_ctor_get(x_46, 1);
-lean_inc(x_47);
-lean_dec(x_46);
-x_25 = x_47;
-goto block_30;
-}
+lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; uint8_t x_51;
+x_46 = lean_ctor_get(x_40, 1);
+lean_inc(x_46);
+lean_dec(x_40);
+x_47 = l_Lean_Meta_Match_processInaccessibleAsCtor___closed__4;
+x_48 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_47, x_3, x_4, x_5, x_6, x_46);
+x_49 = lean_ctor_get(x_48, 0);
+lean_inc(x_49);
+x_50 = lean_ctor_get(x_48, 1);
+lean_inc(x_50);
+lean_dec(x_48);
+x_51 = lean_unbox(x_49);
+lean_dec(x_49);
+x_31 = x_51;
+x_32 = x_50;
+goto block_39;
}
block_30:
{
@@ -16415,22 +16412,48 @@ lean_closure_set(x_28, 1, x_27);
x_29 = l_Lean_Meta_withExistingLocalDecls___at_Lean_Meta_Match_Alt_toMessageData___spec__2___rarg(x_21, x_28, x_3, x_4, x_5, x_6, x_25);
return x_29;
}
+block_39:
+{
+if (x_31 == 0)
+{
+x_25 = x_32;
+goto block_30;
}
else
{
-lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52;
+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_inc(x_23);
+x_33 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_33, 0, x_23);
+x_34 = l_Lean_Meta_Match_processInaccessibleAsCtor___closed__7;
+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_Meta_Match_processInaccessibleAsCtor___closed__4;
+x_37 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_36, x_35, x_3, x_4, x_5, x_6, x_32);
+x_38 = lean_ctor_get(x_37, 1);
+lean_inc(x_38);
+lean_dec(x_37);
+x_25 = x_38;
+goto block_30;
+}
+}
+}
+else
+{
+lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56;
lean_dec(x_15);
lean_dec(x_9);
lean_dec(x_2);
lean_dec(x_1);
-x_48 = lean_ctor_get(x_8, 1);
-lean_inc(x_48);
+x_52 = lean_ctor_get(x_8, 1);
+lean_inc(x_52);
lean_dec(x_8);
-x_49 = l___private_Lean_Meta_Basic_0__Lean_Meta_isClassQuick_x3f___closed__1;
-x_50 = l_Lean_Meta_Match_processInaccessibleAsCtor___closed__2;
-x_51 = lean_panic_fn(x_49, x_50);
-x_52 = lean_apply_5(x_51, x_3, x_4, x_5, x_6, x_48);
-return x_52;
+x_53 = l___private_Lean_Meta_Basic_0__Lean_Meta_isClassQuick_x3f___closed__1;
+x_54 = l_Lean_Meta_Match_processInaccessibleAsCtor___closed__2;
+x_55 = lean_panic_fn(x_53, x_54);
+x_56 = lean_apply_5(x_55, x_3, x_4, x_5, x_6, x_52);
+return x_56;
}
}
}
@@ -17066,6 +17089,7 @@ _start:
if (lean_obj_tag(x_2) == 0)
{
lean_object* x_3;
+lean_dec(x_1);
x_3 = lean_box(0);
return x_3;
}
@@ -17078,6 +17102,7 @@ if (x_4 == 0)
lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8;
x_5 = lean_ctor_get(x_2, 0);
x_6 = lean_ctor_get(x_2, 1);
+lean_inc(x_1);
x_7 = l_Lean_Meta_FVarSubst_apply(x_1, x_5);
x_8 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__2(x_1, x_6);
lean_ctor_set(x_2, 1, x_8);
@@ -17092,6 +17117,7 @@ x_10 = lean_ctor_get(x_2, 1);
lean_inc(x_10);
lean_inc(x_9);
lean_dec(x_2);
+lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_9);
x_12 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__2(x_1, x_10);
x_13 = lean_alloc_ctor(1, 2, 0);
@@ -17481,6 +17507,7 @@ _start:
if (lean_obj_tag(x_2) == 0)
{
lean_object* x_3;
+lean_dec(x_1);
x_3 = lean_box(0);
return x_3;
}
@@ -17493,6 +17520,7 @@ if (x_4 == 0)
lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8;
x_5 = lean_ctor_get(x_2, 0);
x_6 = lean_ctor_get(x_2, 1);
+lean_inc(x_1);
x_7 = l_Lean_Meta_Match_Alt_applyFVarSubst(x_1, x_5);
x_8 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__7(x_1, x_6);
lean_ctor_set(x_2, 1, x_8);
@@ -17507,6 +17535,7 @@ x_10 = lean_ctor_get(x_2, 1);
lean_inc(x_10);
lean_inc(x_9);
lean_dec(x_2);
+lean_inc(x_1);
x_11 = l_Lean_Meta_Match_Alt_applyFVarSubst(x_1, x_9);
x_12 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__7(x_1, x_10);
x_13 = lean_alloc_ctor(1, 2, 0);
@@ -18015,6 +18044,7 @@ x_23 = l_Array_toList___rarg(x_21);
lean_dec(x_21);
lean_inc(x_3);
x_24 = l_List_append___rarg(x_23, x_3);
+lean_inc(x_22);
x_25 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__2(x_22, x_24);
x_26 = lean_ctor_get(x_18, 1);
lean_inc(x_26);
@@ -18028,7 +18058,6 @@ lean_inc(x_30);
x_31 = lean_box(0);
x_32 = l_List_filterAux___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__6(x_26, x_30, x_31);
x_33 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__7(x_22, x_32);
-lean_dec(x_22);
x_34 = l_List_reverse___rarg(x_33);
x_35 = lean_alloc_closure((void*)(l_List_filterMapMAux___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__8), 8, 3);
lean_closure_set(x_35, 0, x_26);
@@ -18169,7 +18198,7 @@ x_68 = lean_ctor_get(x_62, 1);
lean_inc(x_68);
lean_dec(x_62);
x_69 = l_Lean_Meta_Match_processInaccessibleAsCtor___closed__4;
-x_70 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_69, x_2, x_3, x_4, x_5, x_68);
+x_70 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_69, x_2, x_3, x_4, x_5, x_68);
x_71 = lean_ctor_get(x_70, 0);
lean_inc(x_71);
x_72 = lean_ctor_get(x_70, 1);
@@ -18376,7 +18405,7 @@ else
lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60;
x_55 = l_Lean_Meta_Match_processInaccessibleAsCtor___closed__4;
x_56 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___closed__4;
-x_57 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_55, x_56, x_2, x_3, x_4, x_5, x_52);
+x_57 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_55, x_56, x_2, x_3, x_4, x_5, x_52);
x_58 = lean_ctor_get(x_57, 1);
lean_inc(x_58);
lean_dec(x_57);
@@ -18390,15 +18419,6 @@ goto block_50;
}
}
}
-lean_object* l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__2___boxed(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3;
-x_3 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__2(x_1, x_2);
-lean_dec(x_1);
-return x_3;
-}
-}
lean_object* l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
@@ -18427,15 +18447,6 @@ lean_dec(x_1);
return x_4;
}
}
-lean_object* l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__7___boxed(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3;
-x_3 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__7(x_1, x_2);
-lean_dec(x_1);
-return x_3;
-}
-}
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__9___boxed(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) {
_start:
{
@@ -19897,6 +19908,7 @@ _start:
if (lean_obj_tag(x_2) == 0)
{
lean_object* x_3;
+lean_dec(x_1);
x_3 = lean_box(0);
return x_3;
}
@@ -19909,6 +19921,7 @@ if (x_4 == 0)
lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8;
x_5 = lean_ctor_get(x_2, 0);
x_6 = lean_ctor_get(x_2, 1);
+lean_inc(x_1);
x_7 = l_Lean_Meta_Match_Alt_applyFVarSubst(x_1, x_5);
x_8 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__5(x_1, x_6);
lean_ctor_set(x_2, 1, x_8);
@@ -19923,6 +19936,7 @@ x_10 = lean_ctor_get(x_2, 1);
lean_inc(x_10);
lean_inc(x_9);
lean_dec(x_2);
+lean_inc(x_1);
x_11 = l_Lean_Meta_Match_Alt_applyFVarSubst(x_1, x_9);
x_12 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__5(x_1, x_10);
x_13 = lean_alloc_ctor(1, 2, 0);
@@ -20414,6 +20428,7 @@ _start:
if (lean_obj_tag(x_2) == 0)
{
lean_object* x_3;
+lean_dec(x_1);
x_3 = lean_box(0);
return x_3;
}
@@ -20426,6 +20441,7 @@ if (x_4 == 0)
lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8;
x_5 = lean_ctor_get(x_2, 0);
x_6 = lean_ctor_get(x_2, 1);
+lean_inc(x_1);
x_7 = l_Lean_Meta_FVarSubst_apply(x_1, x_5);
x_8 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__7(x_1, x_6);
lean_ctor_set(x_2, 1, x_8);
@@ -20440,6 +20456,7 @@ x_10 = lean_ctor_get(x_2, 1);
lean_inc(x_10);
lean_inc(x_9);
lean_dec(x_2);
+lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_9);
x_12 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__7(x_1, x_10);
x_13 = lean_alloc_ctor(1, 2, 0);
@@ -20529,11 +20546,11 @@ x_40 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match
lean_dec(x_19);
x_41 = lean_box(0);
x_42 = l_List_filterAux___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__4(x_34, x_37, x_41);
+lean_inc(x_36);
x_43 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__5(x_36, x_42);
x_44 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__6(x_34, x_43);
lean_inc(x_3);
x_45 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__7(x_36, x_3);
-lean_dec(x_36);
x_46 = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(x_46, 0, x_35);
lean_ctor_set(x_46, 1, x_45);
@@ -20584,59 +20601,44 @@ return x_2;
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
-lean_object* x_7; lean_object* x_32; lean_object* x_33; lean_object* x_34; uint8_t x_35;
-x_32 = lean_st_ref_get(x_5, x_6);
-x_33 = lean_ctor_get(x_32, 0);
-lean_inc(x_33);
-x_34 = lean_ctor_get(x_33, 3);
-lean_inc(x_34);
-lean_dec(x_33);
-x_35 = lean_ctor_get_uint8(x_34, sizeof(void*)*1);
-lean_dec(x_34);
-if (x_35 == 0)
-{
-lean_object* x_36;
-x_36 = lean_ctor_get(x_32, 1);
-lean_inc(x_36);
-lean_dec(x_32);
-x_7 = x_36;
-goto block_31;
-}
-else
-{
-lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; uint8_t x_41;
-x_37 = lean_ctor_get(x_32, 1);
-lean_inc(x_37);
-lean_dec(x_32);
-x_38 = l_Lean_Meta_Match_processInaccessibleAsCtor___closed__4;
-x_39 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_38, x_2, x_3, x_4, x_5, x_37);
+lean_object* x_7; uint8_t x_32; lean_object* x_33; lean_object* x_39; lean_object* x_40; lean_object* x_41; uint8_t x_42;
+x_39 = lean_st_ref_get(x_5, x_6);
x_40 = lean_ctor_get(x_39, 0);
lean_inc(x_40);
-x_41 = lean_unbox(x_40);
+x_41 = lean_ctor_get(x_40, 3);
+lean_inc(x_41);
lean_dec(x_40);
-if (x_41 == 0)
+x_42 = lean_ctor_get_uint8(x_41, sizeof(void*)*1);
+lean_dec(x_41);
+if (x_42 == 0)
{
-lean_object* x_42;
-x_42 = lean_ctor_get(x_39, 1);
-lean_inc(x_42);
-lean_dec(x_39);
-x_7 = x_42;
-goto block_31;
-}
-else
-{
-lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46;
+lean_object* x_43; uint8_t x_44;
x_43 = lean_ctor_get(x_39, 1);
lean_inc(x_43);
lean_dec(x_39);
-x_44 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___closed__3;
-x_45 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_38, x_44, x_2, x_3, x_4, x_5, x_43);
-x_46 = lean_ctor_get(x_45, 1);
-lean_inc(x_46);
-lean_dec(x_45);
-x_7 = x_46;
-goto block_31;
+x_44 = 0;
+x_32 = x_44;
+x_33 = x_43;
+goto block_38;
}
+else
+{
+lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; uint8_t x_50;
+x_45 = lean_ctor_get(x_39, 1);
+lean_inc(x_45);
+lean_dec(x_39);
+x_46 = l_Lean_Meta_Match_processInaccessibleAsCtor___closed__4;
+x_47 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_46, x_2, x_3, x_4, x_5, x_45);
+x_48 = lean_ctor_get(x_47, 0);
+lean_inc(x_48);
+x_49 = lean_ctor_get(x_47, 1);
+lean_inc(x_49);
+lean_dec(x_47);
+x_50 = lean_unbox(x_48);
+lean_dec(x_48);
+x_32 = x_50;
+x_33 = x_49;
+goto block_38;
}
block_31:
{
@@ -20725,6 +20727,26 @@ return x_30;
}
}
}
+block_38:
+{
+if (x_32 == 0)
+{
+x_7 = x_33;
+goto block_31;
+}
+else
+{
+lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
+x_34 = l_Lean_Meta_Match_processInaccessibleAsCtor___closed__4;
+x_35 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___closed__3;
+x_36 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_34, x_35, x_2, x_3, x_4, x_5, x_33);
+x_37 = lean_ctor_get(x_36, 1);
+lean_inc(x_37);
+lean_dec(x_36);
+x_7 = x_37;
+goto block_31;
+}
+}
}
}
lean_object* l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
@@ -20755,24 +20777,6 @@ lean_dec(x_1);
return x_4;
}
}
-lean_object* l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__5___boxed(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3;
-x_3 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__5(x_1, x_2);
-lean_dec(x_1);
-return x_3;
-}
-}
-lean_object* l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__7___boxed(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3;
-x_3 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__7(x_1, x_2);
-lean_dec(x_1);
-return x_3;
-}
-}
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__8___boxed(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) {
_start:
{
@@ -21739,6 +21743,7 @@ _start:
if (lean_obj_tag(x_2) == 0)
{
lean_object* x_3;
+lean_dec(x_1);
x_3 = lean_box(0);
return x_3;
}
@@ -21751,6 +21756,7 @@ if (x_4 == 0)
lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8;
x_5 = lean_ctor_get(x_2, 0);
x_6 = lean_ctor_get(x_2, 1);
+lean_inc(x_1);
x_7 = l_Lean_Meta_FVarSubst_apply(x_1, x_5);
x_8 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__2(x_1, x_6);
lean_ctor_set(x_2, 1, x_8);
@@ -21765,6 +21771,7 @@ x_10 = lean_ctor_get(x_2, 1);
lean_inc(x_10);
lean_inc(x_9);
lean_dec(x_2);
+lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_9);
x_12 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__2(x_1, x_10);
x_13 = lean_alloc_ctor(1, 2, 0);
@@ -22090,6 +22097,7 @@ _start:
if (lean_obj_tag(x_2) == 0)
{
lean_object* x_3;
+lean_dec(x_1);
x_3 = lean_box(0);
return x_3;
}
@@ -22102,6 +22110,7 @@ if (x_4 == 0)
lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8;
x_5 = lean_ctor_get(x_2, 0);
x_6 = lean_ctor_get(x_2, 1);
+lean_inc(x_1);
x_7 = l_Lean_Meta_Match_Alt_applyFVarSubst(x_1, x_5);
x_8 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__7(x_1, x_6);
lean_ctor_set(x_2, 1, x_8);
@@ -22116,6 +22125,7 @@ x_10 = lean_ctor_get(x_2, 1);
lean_inc(x_10);
lean_inc(x_9);
lean_dec(x_2);
+lean_inc(x_1);
x_11 = l_Lean_Meta_Match_Alt_applyFVarSubst(x_1, x_9);
x_12 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__7(x_1, x_10);
x_13 = lean_alloc_ctor(1, 2, 0);
@@ -22755,6 +22765,7 @@ lean_dec(x_37);
x_40 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__1(x_39);
lean_inc(x_3);
x_41 = l_List_append___rarg(x_40, x_3);
+lean_inc(x_38);
x_42 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__2(x_38, x_41);
x_43 = lean_ctor_get(x_1, 2);
lean_inc(x_43);
@@ -22766,7 +22777,6 @@ lean_dec(x_19);
x_47 = lean_box(0);
x_48 = l_List_filterAux___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__6(x_35, x_43, x_47);
x_49 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__7(x_38, x_48);
-lean_dec(x_38);
lean_inc(x_10);
lean_inc(x_9);
lean_inc(x_8);
@@ -22878,59 +22888,44 @@ return x_2;
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
-lean_object* x_7; lean_object* x_33; lean_object* x_34; lean_object* x_35; uint8_t x_36;
-x_33 = lean_st_ref_get(x_5, x_6);
-x_34 = lean_ctor_get(x_33, 0);
-lean_inc(x_34);
-x_35 = lean_ctor_get(x_34, 3);
-lean_inc(x_35);
-lean_dec(x_34);
-x_36 = lean_ctor_get_uint8(x_35, sizeof(void*)*1);
-lean_dec(x_35);
-if (x_36 == 0)
-{
-lean_object* x_37;
-x_37 = lean_ctor_get(x_33, 1);
-lean_inc(x_37);
-lean_dec(x_33);
-x_7 = x_37;
-goto block_32;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; uint8_t x_42;
-x_38 = lean_ctor_get(x_33, 1);
-lean_inc(x_38);
-lean_dec(x_33);
-x_39 = l_Lean_Meta_Match_processInaccessibleAsCtor___closed__4;
-x_40 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_39, x_2, x_3, x_4, x_5, x_38);
+lean_object* x_7; uint8_t x_33; lean_object* x_34; lean_object* x_40; lean_object* x_41; lean_object* x_42; uint8_t x_43;
+x_40 = lean_st_ref_get(x_5, x_6);
x_41 = lean_ctor_get(x_40, 0);
lean_inc(x_41);
-x_42 = lean_unbox(x_41);
+x_42 = lean_ctor_get(x_41, 3);
+lean_inc(x_42);
lean_dec(x_41);
-if (x_42 == 0)
+x_43 = lean_ctor_get_uint8(x_42, sizeof(void*)*1);
+lean_dec(x_42);
+if (x_43 == 0)
{
-lean_object* x_43;
-x_43 = lean_ctor_get(x_40, 1);
-lean_inc(x_43);
-lean_dec(x_40);
-x_7 = x_43;
-goto block_32;
-}
-else
-{
-lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47;
+lean_object* x_44; uint8_t x_45;
x_44 = lean_ctor_get(x_40, 1);
lean_inc(x_44);
lean_dec(x_40);
-x_45 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___closed__4;
-x_46 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_39, x_45, x_2, x_3, x_4, x_5, x_44);
-x_47 = lean_ctor_get(x_46, 1);
-lean_inc(x_47);
-lean_dec(x_46);
-x_7 = x_47;
-goto block_32;
+x_45 = 0;
+x_33 = x_45;
+x_34 = x_44;
+goto block_39;
}
+else
+{
+lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; uint8_t x_51;
+x_46 = lean_ctor_get(x_40, 1);
+lean_inc(x_46);
+lean_dec(x_40);
+x_47 = l_Lean_Meta_Match_processInaccessibleAsCtor___closed__4;
+x_48 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_47, x_2, x_3, x_4, x_5, x_46);
+x_49 = lean_ctor_get(x_48, 0);
+lean_inc(x_49);
+x_50 = lean_ctor_get(x_48, 1);
+lean_inc(x_50);
+lean_dec(x_48);
+x_51 = lean_unbox(x_49);
+lean_dec(x_49);
+x_33 = x_51;
+x_34 = x_50;
+goto block_39;
}
block_32:
{
@@ -23020,15 +23015,26 @@ return x_31;
}
}
}
-}
-}
-lean_object* l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__2___boxed(lean_object* x_1, lean_object* x_2) {
-_start:
+block_39:
{
-lean_object* x_3;
-x_3 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__2(x_1, x_2);
-lean_dec(x_1);
-return x_3;
+if (x_33 == 0)
+{
+x_7 = x_34;
+goto block_32;
+}
+else
+{
+lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38;
+x_35 = l_Lean_Meta_Match_processInaccessibleAsCtor___closed__4;
+x_36 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___closed__4;
+x_37 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_35, x_36, x_2, x_3, x_4, x_5, x_34);
+x_38 = lean_ctor_get(x_37, 1);
+lean_inc(x_38);
+lean_dec(x_37);
+x_7 = x_38;
+goto block_32;
+}
+}
}
}
lean_object* l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
@@ -23059,15 +23065,6 @@ lean_dec(x_1);
return x_4;
}
}
-lean_object* l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__7___boxed(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3;
-x_3 = l_List_map___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__7(x_1, x_2);
-lean_dec(x_1);
-return x_3;
-}
-}
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__9___boxed(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) {
_start:
{
@@ -24192,97 +24189,71 @@ return x_2;
lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_traceStep(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) {
_start:
{
-lean_object* x_8; lean_object* x_9; lean_object* x_10; uint8_t x_11;
-x_8 = lean_st_ref_get(x_6, x_7);
-x_9 = lean_ctor_get(x_8, 0);
-lean_inc(x_9);
-x_10 = lean_ctor_get(x_9, 3);
-lean_inc(x_10);
-lean_dec(x_9);
-x_11 = lean_ctor_get_uint8(x_10, sizeof(void*)*1);
-lean_dec(x_10);
-if (x_11 == 0)
-{
-uint8_t x_12;
-lean_dec(x_1);
-x_12 = !lean_is_exclusive(x_8);
-if (x_12 == 0)
-{
-lean_object* x_13; lean_object* x_14;
-x_13 = lean_ctor_get(x_8, 0);
-lean_dec(x_13);
-x_14 = lean_box(0);
-lean_ctor_set(x_8, 0, x_14);
-return x_8;
-}
-else
-{
-lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_15 = lean_ctor_get(x_8, 1);
-lean_inc(x_15);
-lean_dec(x_8);
-x_16 = lean_box(0);
-x_17 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_17, 0, x_16);
-lean_ctor_set(x_17, 1, x_15);
-return x_17;
-}
-}
-else
-{
-lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; uint8_t x_22;
-x_18 = lean_ctor_get(x_8, 1);
-lean_inc(x_18);
-lean_dec(x_8);
-x_19 = l_Lean_Meta_Match_processInaccessibleAsCtor___closed__4;
-x_20 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_SynthInstance_main___spec__3(x_19, x_3, x_4, x_5, x_6, x_18);
-x_21 = lean_ctor_get(x_20, 0);
+uint8_t x_8; lean_object* x_9; lean_object* x_19; lean_object* x_20; lean_object* x_21; uint8_t x_22;
+x_19 = lean_st_ref_get(x_6, x_7);
+x_20 = lean_ctor_get(x_19, 0);
+lean_inc(x_20);
+x_21 = lean_ctor_get(x_20, 3);
lean_inc(x_21);
-x_22 = lean_unbox(x_21);
+lean_dec(x_20);
+x_22 = lean_ctor_get_uint8(x_21, sizeof(void*)*1);
lean_dec(x_21);
if (x_22 == 0)
{
-uint8_t x_23;
-lean_dec(x_1);
-x_23 = !lean_is_exclusive(x_20);
-if (x_23 == 0)
-{
-lean_object* x_24; lean_object* x_25;
-x_24 = lean_ctor_get(x_20, 0);
-lean_dec(x_24);
-x_25 = lean_box(0);
-lean_ctor_set(x_20, 0, x_25);
-return x_20;
+lean_object* x_23; uint8_t x_24;
+x_23 = lean_ctor_get(x_19, 1);
+lean_inc(x_23);
+lean_dec(x_19);
+x_24 = 0;
+x_8 = x_24;
+x_9 = x_23;
+goto block_18;
}
else
{
-lean_object* x_26; lean_object* x_27; lean_object* x_28;
-x_26 = lean_ctor_get(x_20, 1);
-lean_inc(x_26);
-lean_dec(x_20);
-x_27 = lean_box(0);
-x_28 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_28, 0, x_27);
-lean_ctor_set(x_28, 1, x_26);
-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;
-x_29 = lean_ctor_get(x_20, 1);
+lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; uint8_t x_30;
+x_25 = lean_ctor_get(x_19, 1);
+lean_inc(x_25);
+lean_dec(x_19);
+x_26 = l_Lean_Meta_Match_processInaccessibleAsCtor___closed__4;
+x_27 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_SynthInstance_main___spec__3(x_26, x_3, x_4, x_5, x_6, x_25);
+x_28 = lean_ctor_get(x_27, 0);
+lean_inc(x_28);
+x_29 = lean_ctor_get(x_27, 1);
lean_inc(x_29);
-lean_dec(x_20);
-x_30 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_30, 0, x_1);
-x_31 = lean_alloc_ctor(0, 1, 0);
-lean_ctor_set(x_31, 0, x_30);
-x_32 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_traceStep___closed__3;
-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_addTrace___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_traceStep___spec__1(x_19, x_33, x_3, x_4, x_5, x_6, x_29);
-return x_34;
+lean_dec(x_27);
+x_30 = lean_unbox(x_28);
+lean_dec(x_28);
+x_8 = x_30;
+x_9 = x_29;
+goto block_18;
+}
+block_18:
+{
+if (x_8 == 0)
+{
+lean_object* x_10; lean_object* x_11;
+lean_dec(x_1);
+x_10 = lean_box(0);
+x_11 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_11, 0, x_10);
+lean_ctor_set(x_11, 1, x_9);
+return x_11;
+}
+else
+{
+lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
+x_12 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_12, 0, x_1);
+x_13 = lean_alloc_ctor(0, 1, 0);
+lean_ctor_set(x_13, 0, x_12);
+x_14 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_traceStep___closed__3;
+x_15 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_15, 0, x_13);
+lean_ctor_set(x_15, 1, x_14);
+x_16 = l_Lean_Meta_Match_processInaccessibleAsCtor___closed__4;
+x_17 = l_Lean_addTrace___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_traceStep___spec__1(x_16, x_15, x_3, x_4, x_5, x_6, x_9);
+return x_17;
}
}
}
@@ -24331,7 +24302,7 @@ return x_11;
else
{
lean_object* x_12;
-x_12 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_SynthInstance_main___spec__3(x_1, x_3, x_4, x_5, x_6, x_7);
+x_12 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_SynthInstance_main___spec__3(x_1, x_3, x_4, x_5, x_6, x_7);
return x_12;
}
}
@@ -28416,51 +28387,53 @@ return x_5;
lean_object* l_Lean_Meta_isLevelDefEq___at_Lean_Meta_Match_mkMatcher___spec__5(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) {
_start:
{
-lean_object* x_8; lean_object* x_17; uint8_t x_18; lean_object* x_19; lean_object* x_419; lean_object* x_420; lean_object* x_421; uint8_t x_422;
+lean_object* x_8; lean_object* x_21; uint8_t x_22; lean_object* x_23; lean_object* x_439; lean_object* x_440; lean_object* x_441; uint8_t x_442;
lean_inc(x_2);
lean_inc(x_1);
-x_17 = lean_alloc_closure((void*)(l_Lean_Meta_isLevelDefEqAux___boxed), 8, 2);
-lean_closure_set(x_17, 0, x_1);
-lean_closure_set(x_17, 1, x_2);
-x_419 = lean_st_ref_get(x_6, x_7);
-x_420 = lean_ctor_get(x_419, 0);
-lean_inc(x_420);
-x_421 = lean_ctor_get(x_420, 3);
-lean_inc(x_421);
-lean_dec(x_420);
-x_422 = lean_ctor_get_uint8(x_421, sizeof(void*)*1);
-lean_dec(x_421);
-if (x_422 == 0)
+x_21 = lean_alloc_closure((void*)(l_Lean_Meta_isLevelDefEqAux___boxed), 8, 2);
+lean_closure_set(x_21, 0, x_1);
+lean_closure_set(x_21, 1, x_2);
+x_439 = lean_st_ref_get(x_6, x_7);
+x_440 = lean_ctor_get(x_439, 0);
+lean_inc(x_440);
+x_441 = lean_ctor_get(x_440, 3);
+lean_inc(x_441);
+lean_dec(x_440);
+x_442 = lean_ctor_get_uint8(x_441, sizeof(void*)*1);
+lean_dec(x_441);
+if (x_442 == 0)
{
-lean_object* x_423; uint8_t x_424;
-x_423 = lean_ctor_get(x_419, 1);
-lean_inc(x_423);
-lean_dec(x_419);
-x_424 = 0;
-x_18 = x_424;
-x_19 = x_423;
-goto block_418;
+lean_object* x_443; uint8_t x_444;
+x_443 = lean_ctor_get(x_439, 1);
+lean_inc(x_443);
+lean_dec(x_439);
+x_444 = 0;
+x_22 = x_444;
+x_23 = x_443;
+goto block_438;
}
else
{
-lean_object* x_425; lean_object* x_426; lean_object* x_427; lean_object* x_428; lean_object* x_429; uint8_t x_430;
-x_425 = lean_ctor_get(x_419, 1);
-lean_inc(x_425);
-lean_dec(x_419);
-x_426 = l_Lean_Meta_isLevelDefEqAux___closed__2;
-x_427 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_426, x_3, x_4, x_5, x_6, x_425);
-x_428 = lean_ctor_get(x_427, 0);
-lean_inc(x_428);
-x_429 = lean_ctor_get(x_427, 1);
-lean_inc(x_429);
-lean_dec(x_427);
-x_430 = lean_unbox(x_428);
-lean_dec(x_428);
-x_18 = x_430;
-x_19 = x_429;
-goto block_418;
+lean_object* x_445; lean_object* x_446; lean_object* x_447; lean_object* x_448; lean_object* x_449; uint8_t x_450;
+x_445 = lean_ctor_get(x_439, 1);
+lean_inc(x_445);
+lean_dec(x_439);
+x_446 = l_Lean_Meta_isLevelDefEqAux___closed__2;
+x_447 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_446, x_3, x_4, x_5, x_6, x_445);
+x_448 = lean_ctor_get(x_447, 0);
+lean_inc(x_448);
+x_449 = lean_ctor_get(x_447, 1);
+lean_inc(x_449);
+lean_dec(x_447);
+x_450 = lean_unbox(x_448);
+lean_dec(x_448);
+x_22 = x_450;
+x_23 = x_449;
+goto block_438;
}
-block_16:
+block_20:
+{
+if (lean_obj_tag(x_8) == 0)
{
uint8_t x_9;
x_9 = !lean_is_exclusive(x_8);
@@ -28491,1401 +28464,1476 @@ lean_ctor_set(x_15, 1, x_13);
return x_15;
}
}
-block_418:
+else
{
-if (x_18 == 0)
+uint8_t x_16;
+x_16 = !lean_is_exclusive(x_8);
+if (x_16 == 0)
{
-lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t x_29;
-x_20 = lean_st_ref_get(x_6, x_19);
-x_21 = lean_ctor_get(x_20, 0);
-lean_inc(x_21);
-x_22 = lean_ctor_get(x_21, 3);
-lean_inc(x_22);
-lean_dec(x_21);
-x_23 = lean_ctor_get(x_20, 1);
-lean_inc(x_23);
-lean_dec(x_20);
-x_24 = lean_ctor_get_uint8(x_22, sizeof(void*)*1);
-lean_dec(x_22);
-x_25 = lean_st_ref_take(x_6, x_23);
-x_26 = lean_ctor_get(x_25, 0);
-lean_inc(x_26);
-x_27 = lean_ctor_get(x_26, 3);
+return x_8;
+}
+else
+{
+lean_object* x_17; lean_object* x_18; lean_object* x_19;
+x_17 = lean_ctor_get(x_8, 0);
+x_18 = lean_ctor_get(x_8, 1);
+lean_inc(x_18);
+lean_inc(x_17);
+lean_dec(x_8);
+x_19 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_19, 0, x_17);
+lean_ctor_set(x_19, 1, x_18);
+return x_19;
+}
+}
+}
+block_438:
+{
+uint8_t x_24;
+if (x_22 == 0)
+{
+uint8_t x_436;
+x_436 = 1;
+x_24 = x_436;
+goto block_435;
+}
+else
+{
+uint8_t x_437;
+x_437 = 0;
+x_24 = x_437;
+goto block_435;
+}
+block_435:
+{
+if (x_24 == 0)
+{
+lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t x_29; lean_object* x_30; lean_object* x_40; lean_object* x_41; lean_object* x_49;
+x_25 = lean_ctor_get(x_5, 3);
+lean_inc(x_25);
+x_26 = l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_isLevelDefEq___spec__2___rarg(x_6, x_23);
+x_27 = lean_ctor_get(x_26, 0);
lean_inc(x_27);
-x_28 = lean_ctor_get(x_25, 1);
+x_28 = lean_ctor_get(x_26, 1);
lean_inc(x_28);
-lean_dec(x_25);
-x_29 = !lean_is_exclusive(x_26);
-if (x_29 == 0)
-{
-lean_object* x_30; uint8_t x_31;
-x_30 = lean_ctor_get(x_26, 3);
-lean_dec(x_30);
-x_31 = !lean_is_exclusive(x_27);
-if (x_31 == 0)
-{
-uint8_t x_32; lean_object* x_33; lean_object* x_34; uint8_t x_35; lean_object* x_36; lean_object* x_84;
-x_32 = 0;
-lean_ctor_set_uint8(x_27, sizeof(void*)*1, x_32);
-x_33 = lean_st_ref_set(x_6, x_26, x_28);
-x_34 = lean_ctor_get(x_33, 1);
-lean_inc(x_34);
-lean_dec(x_33);
+lean_dec(x_26);
lean_inc(x_6);
lean_inc(x_5);
lean_inc(x_4);
lean_inc(x_3);
-x_84 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_17, x_3, x_4, x_5, x_6, x_34);
-if (lean_obj_tag(x_84) == 0)
+x_49 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_21, x_3, x_4, x_5, x_6, x_28);
+if (lean_obj_tag(x_49) == 0)
{
-lean_object* x_85; lean_object* x_86; uint8_t x_87; lean_object* x_88; lean_object* x_115; lean_object* x_116; lean_object* x_117; uint8_t x_118;
-x_85 = lean_ctor_get(x_84, 0);
-lean_inc(x_85);
-x_86 = lean_ctor_get(x_84, 1);
-lean_inc(x_86);
-lean_dec(x_84);
-x_115 = lean_st_ref_get(x_6, x_86);
-x_116 = lean_ctor_get(x_115, 0);
-lean_inc(x_116);
-x_117 = lean_ctor_get(x_116, 3);
-lean_inc(x_117);
-lean_dec(x_116);
-x_118 = lean_ctor_get_uint8(x_117, sizeof(void*)*1);
-lean_dec(x_117);
-if (x_118 == 0)
-{
-lean_object* x_119;
-x_119 = lean_ctor_get(x_115, 1);
-lean_inc(x_119);
-lean_dec(x_115);
-x_87 = x_32;
-x_88 = x_119;
-goto block_114;
-}
-else
-{
-lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; uint8_t x_125;
-x_120 = lean_ctor_get(x_115, 1);
-lean_inc(x_120);
-lean_dec(x_115);
-x_121 = l_Lean_Meta_isLevelDefEqAux___closed__2;
-x_122 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_121, x_3, x_4, x_5, x_6, x_120);
-x_123 = lean_ctor_get(x_122, 0);
-lean_inc(x_123);
-x_124 = lean_ctor_get(x_122, 1);
-lean_inc(x_124);
-lean_dec(x_122);
-x_125 = lean_unbox(x_123);
-lean_dec(x_123);
-x_87 = x_125;
-x_88 = x_124;
-goto block_114;
-}
-block_114:
-{
-if (x_87 == 0)
-{
-uint8_t x_89;
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_dec(x_1);
-x_89 = lean_unbox(x_85);
-lean_dec(x_85);
-x_35 = x_89;
-x_36 = x_88;
-goto block_83;
-}
-else
-{
-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; uint8_t x_99;
-x_90 = lean_alloc_ctor(3, 1, 0);
-lean_ctor_set(x_90, 0, x_1);
-x_91 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_92 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_92, 0, x_91);
-lean_ctor_set(x_92, 1, x_90);
-x_93 = l_Lean_Meta_isLevelDefEqAux___closed__6;
-x_94 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_94, 0, x_92);
-lean_ctor_set(x_94, 1, x_93);
-x_95 = lean_alloc_ctor(3, 1, 0);
-lean_ctor_set(x_95, 0, x_2);
-x_96 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_96, 0, x_94);
-lean_ctor_set(x_96, 1, x_95);
-x_97 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
-x_98 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_98, 0, x_96);
-lean_ctor_set(x_98, 1, x_97);
-x_99 = lean_unbox(x_85);
-if (x_99 == 0)
-{
-lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; uint8_t x_106;
-x_100 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
-x_101 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_101, 0, x_98);
-lean_ctor_set(x_101, 1, x_100);
-x_102 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_102, 0, x_101);
-lean_ctor_set(x_102, 1, x_91);
-x_103 = l_Lean_Meta_isLevelDefEqAux___closed__2;
-x_104 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_103, x_102, x_3, x_4, x_5, x_6, x_88);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_105 = lean_ctor_get(x_104, 1);
-lean_inc(x_105);
-lean_dec(x_104);
-x_106 = lean_unbox(x_85);
-lean_dec(x_85);
-x_35 = x_106;
-x_36 = x_105;
-goto block_83;
-}
-else
-{
-lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; uint8_t x_113;
-x_107 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
-x_108 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_108, 0, x_98);
-lean_ctor_set(x_108, 1, x_107);
-x_109 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_109, 0, x_108);
-lean_ctor_set(x_109, 1, x_91);
-x_110 = l_Lean_Meta_isLevelDefEqAux___closed__2;
-x_111 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_110, x_109, x_3, x_4, x_5, x_6, x_88);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_112 = lean_ctor_get(x_111, 1);
-lean_inc(x_112);
-lean_dec(x_111);
-x_113 = lean_unbox(x_85);
-lean_dec(x_85);
-x_35 = x_113;
-x_36 = x_112;
-goto block_83;
-}
-}
-}
-}
-else
-{
-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; uint8_t x_134;
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_dec(x_1);
-x_126 = lean_ctor_get(x_84, 0);
-lean_inc(x_126);
-x_127 = lean_ctor_get(x_84, 1);
-lean_inc(x_127);
-lean_dec(x_84);
-x_128 = lean_st_ref_get(x_6, x_127);
-x_129 = lean_ctor_get(x_128, 1);
-lean_inc(x_129);
-lean_dec(x_128);
-x_130 = lean_st_ref_take(x_6, x_129);
-x_131 = lean_ctor_get(x_130, 0);
-lean_inc(x_131);
-x_132 = lean_ctor_get(x_131, 3);
-lean_inc(x_132);
-x_133 = lean_ctor_get(x_130, 1);
-lean_inc(x_133);
-lean_dec(x_130);
-x_134 = !lean_is_exclusive(x_131);
-if (x_134 == 0)
-{
-lean_object* x_135; uint8_t x_136;
-x_135 = lean_ctor_get(x_131, 3);
-lean_dec(x_135);
-x_136 = !lean_is_exclusive(x_132);
-if (x_136 == 0)
-{
-lean_object* x_137; uint8_t x_138;
-lean_ctor_set_uint8(x_132, sizeof(void*)*1, x_24);
-x_137 = lean_st_ref_set(x_6, x_131, x_133);
-lean_dec(x_6);
-x_138 = !lean_is_exclusive(x_137);
-if (x_138 == 0)
-{
-lean_object* x_139;
-x_139 = lean_ctor_get(x_137, 0);
-lean_dec(x_139);
-lean_ctor_set_tag(x_137, 1);
-lean_ctor_set(x_137, 0, x_126);
-return x_137;
-}
-else
-{
-lean_object* x_140; lean_object* x_141;
-x_140 = lean_ctor_get(x_137, 1);
-lean_inc(x_140);
-lean_dec(x_137);
-x_141 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_141, 0, x_126);
-lean_ctor_set(x_141, 1, x_140);
-return x_141;
-}
-}
-else
-{
-lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147;
-x_142 = lean_ctor_get(x_132, 0);
-lean_inc(x_142);
-lean_dec(x_132);
-x_143 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_143, 0, x_142);
-lean_ctor_set_uint8(x_143, sizeof(void*)*1, x_24);
-lean_ctor_set(x_131, 3, x_143);
-x_144 = lean_st_ref_set(x_6, x_131, x_133);
-lean_dec(x_6);
-x_145 = lean_ctor_get(x_144, 1);
-lean_inc(x_145);
-if (lean_is_exclusive(x_144)) {
- lean_ctor_release(x_144, 0);
- lean_ctor_release(x_144, 1);
- x_146 = x_144;
-} else {
- lean_dec_ref(x_144);
- x_146 = lean_box(0);
-}
-if (lean_is_scalar(x_146)) {
- x_147 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_147 = x_146;
- lean_ctor_set_tag(x_147, 1);
-}
-lean_ctor_set(x_147, 0, x_126);
-lean_ctor_set(x_147, 1, x_145);
-return x_147;
-}
-}
-else
-{
-lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158;
-x_148 = lean_ctor_get(x_131, 0);
-x_149 = lean_ctor_get(x_131, 1);
-x_150 = lean_ctor_get(x_131, 2);
-lean_inc(x_150);
-lean_inc(x_149);
-lean_inc(x_148);
-lean_dec(x_131);
-x_151 = lean_ctor_get(x_132, 0);
-lean_inc(x_151);
-if (lean_is_exclusive(x_132)) {
- lean_ctor_release(x_132, 0);
- x_152 = x_132;
-} else {
- lean_dec_ref(x_132);
- x_152 = lean_box(0);
-}
-if (lean_is_scalar(x_152)) {
- x_153 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_153 = x_152;
-}
-lean_ctor_set(x_153, 0, x_151);
-lean_ctor_set_uint8(x_153, sizeof(void*)*1, x_24);
-x_154 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_154, 0, x_148);
-lean_ctor_set(x_154, 1, x_149);
-lean_ctor_set(x_154, 2, x_150);
-lean_ctor_set(x_154, 3, x_153);
-x_155 = lean_st_ref_set(x_6, x_154, x_133);
-lean_dec(x_6);
-x_156 = lean_ctor_get(x_155, 1);
-lean_inc(x_156);
-if (lean_is_exclusive(x_155)) {
- lean_ctor_release(x_155, 0);
- lean_ctor_release(x_155, 1);
- x_157 = x_155;
-} else {
- lean_dec_ref(x_155);
- x_157 = lean_box(0);
-}
-if (lean_is_scalar(x_157)) {
- x_158 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_158 = x_157;
- lean_ctor_set_tag(x_158, 1);
-}
-lean_ctor_set(x_158, 0, x_126);
-lean_ctor_set(x_158, 1, x_156);
-return x_158;
-}
-}
-block_83:
-{
-lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; uint8_t x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; uint8_t x_46;
-x_37 = lean_st_ref_get(x_6, x_36);
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-x_39 = lean_ctor_get(x_37, 1);
-lean_inc(x_39);
-lean_dec(x_37);
-x_40 = lean_ctor_get(x_38, 3);
-lean_inc(x_40);
-lean_dec(x_38);
-x_41 = lean_ctor_get_uint8(x_40, sizeof(void*)*1);
-lean_dec(x_40);
-x_42 = lean_st_ref_take(x_6, x_39);
-x_43 = lean_ctor_get(x_42, 0);
-lean_inc(x_43);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-x_45 = lean_ctor_get(x_42, 1);
-lean_inc(x_45);
-lean_dec(x_42);
-x_46 = !lean_is_exclusive(x_43);
-if (x_46 == 0)
-{
-lean_object* x_47; uint8_t x_48;
-x_47 = lean_ctor_get(x_43, 3);
-lean_dec(x_47);
-x_48 = !lean_is_exclusive(x_44);
-if (x_48 == 0)
-{
-lean_object* x_49; uint8_t x_50;
-lean_ctor_set_uint8(x_44, sizeof(void*)*1, x_24);
-x_49 = lean_st_ref_set(x_6, x_43, x_45);
-lean_dec(x_6);
-x_50 = !lean_is_exclusive(x_49);
-if (x_50 == 0)
-{
-lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54;
-x_51 = lean_ctor_get(x_49, 0);
-lean_dec(x_51);
-x_52 = lean_box(x_35);
-x_53 = lean_box(x_41);
-x_54 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_54, 0, x_52);
-lean_ctor_set(x_54, 1, x_53);
-lean_ctor_set(x_49, 0, x_54);
-x_8 = x_49;
-goto block_16;
-}
-else
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59;
-x_55 = lean_ctor_get(x_49, 1);
-lean_inc(x_55);
+lean_object* x_50; lean_object* x_51; uint8_t x_52; lean_object* x_53; lean_object* x_80; lean_object* x_81; lean_object* x_82; uint8_t x_83;
+x_50 = lean_ctor_get(x_49, 0);
+lean_inc(x_50);
+x_51 = lean_ctor_get(x_49, 1);
+lean_inc(x_51);
lean_dec(x_49);
-x_56 = lean_box(x_35);
-x_57 = lean_box(x_41);
-x_58 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_58, 0, x_56);
-lean_ctor_set(x_58, 1, x_57);
-x_59 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_59, 0, x_58);
-lean_ctor_set(x_59, 1, x_55);
-x_8 = x_59;
-goto block_16;
-}
+x_80 = lean_st_ref_get(x_6, x_51);
+x_81 = lean_ctor_get(x_80, 0);
+lean_inc(x_81);
+x_82 = lean_ctor_get(x_81, 3);
+lean_inc(x_82);
+lean_dec(x_81);
+x_83 = lean_ctor_get_uint8(x_82, sizeof(void*)*1);
+lean_dec(x_82);
+if (x_83 == 0)
+{
+lean_object* x_84; uint8_t x_85;
+x_84 = lean_ctor_get(x_80, 1);
+lean_inc(x_84);
+lean_dec(x_80);
+x_85 = 0;
+x_52 = x_85;
+x_53 = x_84;
+goto block_79;
}
else
{
-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;
-x_60 = lean_ctor_get(x_44, 0);
-lean_inc(x_60);
-lean_dec(x_44);
-x_61 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_61, 0, x_60);
-lean_ctor_set_uint8(x_61, sizeof(void*)*1, x_24);
-lean_ctor_set(x_43, 3, x_61);
-x_62 = lean_st_ref_set(x_6, x_43, x_45);
-lean_dec(x_6);
-x_63 = lean_ctor_get(x_62, 1);
-lean_inc(x_63);
-if (lean_is_exclusive(x_62)) {
- lean_ctor_release(x_62, 0);
- lean_ctor_release(x_62, 1);
- x_64 = x_62;
-} else {
- lean_dec_ref(x_62);
- x_64 = lean_box(0);
-}
-x_65 = lean_box(x_35);
-x_66 = lean_box(x_41);
-x_67 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_67, 0, x_65);
-lean_ctor_set(x_67, 1, x_66);
-if (lean_is_scalar(x_64)) {
- x_68 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_68 = x_64;
-}
-lean_ctor_set(x_68, 0, x_67);
-lean_ctor_set(x_68, 1, x_63);
-x_8 = x_68;
-goto block_16;
+lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; uint8_t x_91;
+x_86 = lean_ctor_get(x_80, 1);
+lean_inc(x_86);
+lean_dec(x_80);
+x_87 = l_Lean_Meta_isLevelDefEqAux___closed__2;
+x_88 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_87, x_3, x_4, x_5, x_6, x_86);
+x_89 = lean_ctor_get(x_88, 0);
+lean_inc(x_89);
+x_90 = lean_ctor_get(x_88, 1);
+lean_inc(x_90);
+lean_dec(x_88);
+x_91 = lean_unbox(x_89);
+lean_dec(x_89);
+x_52 = x_91;
+x_53 = x_90;
+goto block_79;
}
+block_79:
+{
+if (x_52 == 0)
+{
+uint8_t x_54;
+lean_dec(x_2);
+lean_dec(x_1);
+x_54 = lean_unbox(x_50);
+lean_dec(x_50);
+x_29 = x_54;
+x_30 = x_53;
+goto block_39;
}
else
{
-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; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82;
-x_69 = lean_ctor_get(x_43, 0);
-x_70 = lean_ctor_get(x_43, 1);
-x_71 = lean_ctor_get(x_43, 2);
-lean_inc(x_71);
+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; uint8_t x_64;
+x_55 = lean_alloc_ctor(3, 1, 0);
+lean_ctor_set(x_55, 0, x_1);
+x_56 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_57 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_57, 0, x_56);
+lean_ctor_set(x_57, 1, x_55);
+x_58 = l_Lean_Meta_isLevelDefEqAux___closed__6;
+x_59 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_59, 0, x_57);
+lean_ctor_set(x_59, 1, x_58);
+x_60 = lean_alloc_ctor(3, 1, 0);
+lean_ctor_set(x_60, 0, x_2);
+x_61 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_61, 0, x_59);
+lean_ctor_set(x_61, 1, x_60);
+x_62 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
+x_63 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_63, 0, x_61);
+lean_ctor_set(x_63, 1, x_62);
+x_64 = lean_unbox(x_50);
+if (x_64 == 0)
+{
+lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; uint8_t x_71;
+x_65 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
+x_66 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_66, 0, x_63);
+lean_ctor_set(x_66, 1, x_65);
+x_67 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_67, 0, x_66);
+lean_ctor_set(x_67, 1, x_56);
+x_68 = l_Lean_Meta_isLevelDefEqAux___closed__2;
+x_69 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_68, x_67, x_3, x_4, x_5, x_6, x_53);
+x_70 = lean_ctor_get(x_69, 1);
lean_inc(x_70);
-lean_inc(x_69);
-lean_dec(x_43);
-x_72 = lean_ctor_get(x_44, 0);
-lean_inc(x_72);
-if (lean_is_exclusive(x_44)) {
- lean_ctor_release(x_44, 0);
- x_73 = x_44;
-} else {
- lean_dec_ref(x_44);
- x_73 = lean_box(0);
+lean_dec(x_69);
+x_71 = lean_unbox(x_50);
+lean_dec(x_50);
+x_29 = x_71;
+x_30 = x_70;
+goto block_39;
}
-if (lean_is_scalar(x_73)) {
- x_74 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_74 = x_73;
-}
-lean_ctor_set(x_74, 0, x_72);
-lean_ctor_set_uint8(x_74, sizeof(void*)*1, x_24);
-x_75 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_75, 0, x_69);
-lean_ctor_set(x_75, 1, x_70);
-lean_ctor_set(x_75, 2, x_71);
-lean_ctor_set(x_75, 3, x_74);
-x_76 = lean_st_ref_set(x_6, x_75, x_45);
-lean_dec(x_6);
+else
+{
+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;
+x_72 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
+x_73 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_73, 0, x_63);
+lean_ctor_set(x_73, 1, x_72);
+x_74 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_74, 0, x_73);
+lean_ctor_set(x_74, 1, x_56);
+x_75 = l_Lean_Meta_isLevelDefEqAux___closed__2;
+x_76 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_75, x_74, x_3, x_4, x_5, x_6, x_53);
x_77 = lean_ctor_get(x_76, 1);
lean_inc(x_77);
-if (lean_is_exclusive(x_76)) {
- lean_ctor_release(x_76, 0);
- lean_ctor_release(x_76, 1);
- x_78 = x_76;
-} else {
- lean_dec_ref(x_76);
- x_78 = lean_box(0);
+lean_dec(x_76);
+x_78 = lean_unbox(x_50);
+lean_dec(x_50);
+x_29 = x_78;
+x_30 = x_77;
+goto block_39;
}
-x_79 = lean_box(x_35);
-x_80 = lean_box(x_41);
-x_81 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_81, 0, x_79);
-lean_ctor_set(x_81, 1, x_80);
-if (lean_is_scalar(x_78)) {
- x_82 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_82 = x_78;
-}
-lean_ctor_set(x_82, 0, x_81);
-lean_ctor_set(x_82, 1, x_77);
-x_8 = x_82;
-goto block_16;
}
}
}
else
{
-lean_object* x_159; uint8_t x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; uint8_t x_164; lean_object* x_165; lean_object* x_191;
-x_159 = lean_ctor_get(x_27, 0);
-lean_inc(x_159);
-lean_dec(x_27);
-x_160 = 0;
-x_161 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_161, 0, x_159);
-lean_ctor_set_uint8(x_161, sizeof(void*)*1, x_160);
-lean_ctor_set(x_26, 3, x_161);
-x_162 = lean_st_ref_set(x_6, x_26, x_28);
-x_163 = lean_ctor_get(x_162, 1);
-lean_inc(x_163);
-lean_dec(x_162);
+lean_object* x_92; lean_object* x_93;
+lean_dec(x_2);
+lean_dec(x_1);
+x_92 = lean_ctor_get(x_49, 0);
+lean_inc(x_92);
+x_93 = lean_ctor_get(x_49, 1);
+lean_inc(x_93);
+lean_dec(x_49);
+x_40 = x_92;
+x_41 = x_93;
+goto block_48;
+}
+block_39:
+{
+lean_object* x_31; lean_object* x_32; uint8_t x_33;
+x_31 = l_Lean_Meta_isLevelDefEqAux___closed__2;
+x_32 = l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_isLevelDefEq___spec__3(x_27, x_31, x_25, x_3, x_4, x_5, x_6, x_30);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_33 = !lean_is_exclusive(x_32);
+if (x_33 == 0)
+{
+lean_object* x_34; lean_object* x_35;
+x_34 = lean_ctor_get(x_32, 0);
+lean_dec(x_34);
+x_35 = lean_box(x_29);
+lean_ctor_set(x_32, 0, x_35);
+return x_32;
+}
+else
+{
+lean_object* x_36; lean_object* x_37; lean_object* x_38;
+x_36 = lean_ctor_get(x_32, 1);
+lean_inc(x_36);
+lean_dec(x_32);
+x_37 = lean_box(x_29);
+x_38 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_38, 0, x_37);
+lean_ctor_set(x_38, 1, x_36);
+return x_38;
+}
+}
+block_48:
+{
+lean_object* x_42; lean_object* x_43; uint8_t x_44;
+x_42 = l_Lean_Meta_isLevelDefEqAux___closed__2;
+x_43 = l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_isLevelDefEq___spec__3(x_27, x_42, x_25, x_3, x_4, x_5, x_6, x_41);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_44 = !lean_is_exclusive(x_43);
+if (x_44 == 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_40);
+return x_43;
+}
+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_40);
+lean_ctor_set(x_47, 1, x_46);
+return x_47;
+}
+}
+}
+else
+{
+lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; uint8_t x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; uint8_t x_103;
+x_94 = lean_st_ref_get(x_6, x_23);
+x_95 = lean_ctor_get(x_94, 0);
+lean_inc(x_95);
+x_96 = lean_ctor_get(x_95, 3);
+lean_inc(x_96);
+lean_dec(x_95);
+x_97 = lean_ctor_get(x_94, 1);
+lean_inc(x_97);
+lean_dec(x_94);
+x_98 = lean_ctor_get_uint8(x_96, sizeof(void*)*1);
+lean_dec(x_96);
+x_99 = lean_st_ref_take(x_6, x_97);
+x_100 = lean_ctor_get(x_99, 0);
+lean_inc(x_100);
+x_101 = lean_ctor_get(x_100, 3);
+lean_inc(x_101);
+x_102 = lean_ctor_get(x_99, 1);
+lean_inc(x_102);
+lean_dec(x_99);
+x_103 = !lean_is_exclusive(x_100);
+if (x_103 == 0)
+{
+lean_object* x_104; uint8_t x_105;
+x_104 = lean_ctor_get(x_100, 3);
+lean_dec(x_104);
+x_105 = !lean_is_exclusive(x_101);
+if (x_105 == 0)
+{
+uint8_t x_106; lean_object* x_107; lean_object* x_108; uint8_t x_109; lean_object* x_110; lean_object* x_158; lean_object* x_159; lean_object* x_192;
+x_106 = 0;
+lean_ctor_set_uint8(x_101, sizeof(void*)*1, x_106);
+x_107 = lean_st_ref_set(x_6, x_100, x_102);
+x_108 = lean_ctor_get(x_107, 1);
+lean_inc(x_108);
+lean_dec(x_107);
lean_inc(x_6);
lean_inc(x_5);
lean_inc(x_4);
lean_inc(x_3);
-x_191 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_17, x_3, x_4, x_5, x_6, x_163);
-if (lean_obj_tag(x_191) == 0)
+x_192 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_21, x_3, x_4, x_5, x_6, x_108);
+if (lean_obj_tag(x_192) == 0)
{
-lean_object* x_192; lean_object* x_193; uint8_t x_194; lean_object* x_195; lean_object* x_222; lean_object* x_223; lean_object* x_224; uint8_t x_225;
-x_192 = lean_ctor_get(x_191, 0);
-lean_inc(x_192);
-x_193 = lean_ctor_get(x_191, 1);
+lean_object* x_193; lean_object* x_194; uint8_t x_195; lean_object* x_196; lean_object* x_223; lean_object* x_224; lean_object* x_225; uint8_t x_226;
+x_193 = lean_ctor_get(x_192, 0);
lean_inc(x_193);
-lean_dec(x_191);
-x_222 = lean_st_ref_get(x_6, x_193);
-x_223 = lean_ctor_get(x_222, 0);
-lean_inc(x_223);
-x_224 = lean_ctor_get(x_223, 3);
+x_194 = lean_ctor_get(x_192, 1);
+lean_inc(x_194);
+lean_dec(x_192);
+x_223 = lean_st_ref_get(x_6, x_194);
+x_224 = lean_ctor_get(x_223, 0);
lean_inc(x_224);
-lean_dec(x_223);
-x_225 = lean_ctor_get_uint8(x_224, sizeof(void*)*1);
+x_225 = lean_ctor_get(x_224, 3);
+lean_inc(x_225);
lean_dec(x_224);
-if (x_225 == 0)
+x_226 = lean_ctor_get_uint8(x_225, sizeof(void*)*1);
+lean_dec(x_225);
+if (x_226 == 0)
{
-lean_object* x_226;
-x_226 = lean_ctor_get(x_222, 1);
-lean_inc(x_226);
-lean_dec(x_222);
-x_194 = x_160;
-x_195 = x_226;
-goto block_221;
-}
-else
-{
-lean_object* x_227; lean_object* x_228; lean_object* x_229; lean_object* x_230; lean_object* x_231; uint8_t x_232;
-x_227 = lean_ctor_get(x_222, 1);
+lean_object* x_227;
+x_227 = lean_ctor_get(x_223, 1);
lean_inc(x_227);
-lean_dec(x_222);
-x_228 = l_Lean_Meta_isLevelDefEqAux___closed__2;
-x_229 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_228, x_3, x_4, x_5, x_6, x_227);
-x_230 = lean_ctor_get(x_229, 0);
-lean_inc(x_230);
-x_231 = lean_ctor_get(x_229, 1);
+lean_dec(x_223);
+x_195 = x_106;
+x_196 = x_227;
+goto block_222;
+}
+else
+{
+lean_object* x_228; lean_object* x_229; lean_object* x_230; lean_object* x_231; lean_object* x_232; uint8_t x_233;
+x_228 = lean_ctor_get(x_223, 1);
+lean_inc(x_228);
+lean_dec(x_223);
+x_229 = l_Lean_Meta_isLevelDefEqAux___closed__2;
+x_230 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_229, x_3, x_4, x_5, x_6, x_228);
+x_231 = lean_ctor_get(x_230, 0);
lean_inc(x_231);
-lean_dec(x_229);
-x_232 = lean_unbox(x_230);
+x_232 = lean_ctor_get(x_230, 1);
+lean_inc(x_232);
lean_dec(x_230);
-x_194 = x_232;
-x_195 = x_231;
-goto block_221;
+x_233 = lean_unbox(x_231);
+lean_dec(x_231);
+x_195 = x_233;
+x_196 = x_232;
+goto block_222;
}
-block_221:
+block_222:
{
-if (x_194 == 0)
+if (x_195 == 0)
{
-uint8_t x_196;
+uint8_t x_197;
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_196 = lean_unbox(x_192);
-lean_dec(x_192);
-x_164 = x_196;
-x_165 = x_195;
-goto block_190;
+x_197 = lean_unbox(x_193);
+lean_dec(x_193);
+x_109 = x_197;
+x_110 = x_196;
+goto block_157;
}
else
{
-lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; uint8_t x_206;
-x_197 = lean_alloc_ctor(3, 1, 0);
-lean_ctor_set(x_197, 0, x_1);
-x_198 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_199 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_199, 0, x_198);
-lean_ctor_set(x_199, 1, x_197);
-x_200 = l_Lean_Meta_isLevelDefEqAux___closed__6;
-x_201 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_201, 0, x_199);
-lean_ctor_set(x_201, 1, x_200);
-x_202 = lean_alloc_ctor(3, 1, 0);
-lean_ctor_set(x_202, 0, x_2);
-x_203 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_203, 0, x_201);
-lean_ctor_set(x_203, 1, x_202);
-x_204 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
-x_205 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_205, 0, x_203);
-lean_ctor_set(x_205, 1, x_204);
-x_206 = lean_unbox(x_192);
-if (x_206 == 0)
+lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; uint8_t x_207;
+x_198 = lean_alloc_ctor(3, 1, 0);
+lean_ctor_set(x_198, 0, x_1);
+x_199 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_200 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_200, 0, x_199);
+lean_ctor_set(x_200, 1, x_198);
+x_201 = l_Lean_Meta_isLevelDefEqAux___closed__6;
+x_202 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_202, 0, x_200);
+lean_ctor_set(x_202, 1, x_201);
+x_203 = lean_alloc_ctor(3, 1, 0);
+lean_ctor_set(x_203, 0, x_2);
+x_204 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_204, 0, x_202);
+lean_ctor_set(x_204, 1, x_203);
+x_205 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
+x_206 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_206, 0, x_204);
+lean_ctor_set(x_206, 1, x_205);
+x_207 = lean_unbox(x_193);
+if (x_207 == 0)
{
-lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; uint8_t x_213;
-x_207 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
-x_208 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_208, 0, x_205);
-lean_ctor_set(x_208, 1, x_207);
+lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; uint8_t x_214;
+x_208 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
x_209 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_209, 0, x_208);
-lean_ctor_set(x_209, 1, x_198);
-x_210 = l_Lean_Meta_isLevelDefEqAux___closed__2;
-x_211 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_210, x_209, x_3, x_4, x_5, x_6, x_195);
+lean_ctor_set(x_209, 0, x_206);
+lean_ctor_set(x_209, 1, x_208);
+x_210 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_210, 0, x_209);
+lean_ctor_set(x_210, 1, x_199);
+x_211 = l_Lean_Meta_isLevelDefEqAux___closed__2;
+x_212 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_211, x_210, x_3, x_4, x_5, x_6, x_196);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
-x_212 = lean_ctor_get(x_211, 1);
-lean_inc(x_212);
-lean_dec(x_211);
-x_213 = lean_unbox(x_192);
-lean_dec(x_192);
-x_164 = x_213;
-x_165 = x_212;
-goto block_190;
+x_213 = lean_ctor_get(x_212, 1);
+lean_inc(x_213);
+lean_dec(x_212);
+x_214 = lean_unbox(x_193);
+lean_dec(x_193);
+x_109 = x_214;
+x_110 = x_213;
+goto block_157;
}
else
{
-lean_object* x_214; lean_object* x_215; lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; uint8_t x_220;
-x_214 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
-x_215 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_215, 0, x_205);
-lean_ctor_set(x_215, 1, x_214);
+lean_object* x_215; lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; uint8_t x_221;
+x_215 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
x_216 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_216, 0, x_215);
-lean_ctor_set(x_216, 1, x_198);
-x_217 = l_Lean_Meta_isLevelDefEqAux___closed__2;
-x_218 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_217, x_216, x_3, x_4, x_5, x_6, x_195);
+lean_ctor_set(x_216, 0, x_206);
+lean_ctor_set(x_216, 1, x_215);
+x_217 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_217, 0, x_216);
+lean_ctor_set(x_217, 1, x_199);
+x_218 = l_Lean_Meta_isLevelDefEqAux___closed__2;
+x_219 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_218, x_217, x_3, x_4, x_5, x_6, x_196);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
-x_219 = lean_ctor_get(x_218, 1);
-lean_inc(x_219);
-lean_dec(x_218);
-x_220 = lean_unbox(x_192);
-lean_dec(x_192);
-x_164 = x_220;
-x_165 = x_219;
-goto block_190;
+x_220 = lean_ctor_get(x_219, 1);
+lean_inc(x_220);
+lean_dec(x_219);
+x_221 = lean_unbox(x_193);
+lean_dec(x_193);
+x_109 = x_221;
+x_110 = x_220;
+goto block_157;
}
}
}
}
else
{
-lean_object* x_233; lean_object* x_234; lean_object* x_235; lean_object* x_236; lean_object* x_237; lean_object* x_238; lean_object* x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244; lean_object* x_245; lean_object* x_246; lean_object* x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252;
+lean_object* x_234; lean_object* x_235;
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_233 = lean_ctor_get(x_191, 0);
-lean_inc(x_233);
-x_234 = lean_ctor_get(x_191, 1);
+x_234 = lean_ctor_get(x_192, 0);
lean_inc(x_234);
-lean_dec(x_191);
-x_235 = lean_st_ref_get(x_6, x_234);
-x_236 = lean_ctor_get(x_235, 1);
-lean_inc(x_236);
-lean_dec(x_235);
-x_237 = lean_st_ref_take(x_6, x_236);
-x_238 = lean_ctor_get(x_237, 0);
-lean_inc(x_238);
-x_239 = lean_ctor_get(x_238, 3);
-lean_inc(x_239);
-x_240 = lean_ctor_get(x_237, 1);
-lean_inc(x_240);
-lean_dec(x_237);
-x_241 = lean_ctor_get(x_238, 0);
-lean_inc(x_241);
-x_242 = lean_ctor_get(x_238, 1);
-lean_inc(x_242);
-x_243 = lean_ctor_get(x_238, 2);
-lean_inc(x_243);
-if (lean_is_exclusive(x_238)) {
- lean_ctor_release(x_238, 0);
- lean_ctor_release(x_238, 1);
- lean_ctor_release(x_238, 2);
- lean_ctor_release(x_238, 3);
- x_244 = x_238;
-} else {
- lean_dec_ref(x_238);
- x_244 = lean_box(0);
+x_235 = lean_ctor_get(x_192, 1);
+lean_inc(x_235);
+lean_dec(x_192);
+x_158 = x_234;
+x_159 = x_235;
+goto block_191;
}
-x_245 = lean_ctor_get(x_239, 0);
-lean_inc(x_245);
-if (lean_is_exclusive(x_239)) {
- lean_ctor_release(x_239, 0);
- x_246 = x_239;
-} else {
- lean_dec_ref(x_239);
- x_246 = lean_box(0);
-}
-if (lean_is_scalar(x_246)) {
- x_247 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_247 = x_246;
-}
-lean_ctor_set(x_247, 0, x_245);
-lean_ctor_set_uint8(x_247, sizeof(void*)*1, x_24);
-if (lean_is_scalar(x_244)) {
- x_248 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_248 = x_244;
-}
-lean_ctor_set(x_248, 0, x_241);
-lean_ctor_set(x_248, 1, x_242);
-lean_ctor_set(x_248, 2, x_243);
-lean_ctor_set(x_248, 3, x_247);
-x_249 = lean_st_ref_set(x_6, x_248, x_240);
+block_157:
+{
+lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; uint8_t x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; uint8_t x_120;
+x_111 = lean_st_ref_get(x_6, x_110);
+x_112 = lean_ctor_get(x_111, 0);
+lean_inc(x_112);
+x_113 = lean_ctor_get(x_111, 1);
+lean_inc(x_113);
+lean_dec(x_111);
+x_114 = lean_ctor_get(x_112, 3);
+lean_inc(x_114);
+lean_dec(x_112);
+x_115 = lean_ctor_get_uint8(x_114, sizeof(void*)*1);
+lean_dec(x_114);
+x_116 = lean_st_ref_take(x_6, x_113);
+x_117 = lean_ctor_get(x_116, 0);
+lean_inc(x_117);
+x_118 = lean_ctor_get(x_117, 3);
+lean_inc(x_118);
+x_119 = lean_ctor_get(x_116, 1);
+lean_inc(x_119);
+lean_dec(x_116);
+x_120 = !lean_is_exclusive(x_117);
+if (x_120 == 0)
+{
+lean_object* x_121; uint8_t x_122;
+x_121 = lean_ctor_get(x_117, 3);
+lean_dec(x_121);
+x_122 = !lean_is_exclusive(x_118);
+if (x_122 == 0)
+{
+lean_object* x_123; uint8_t x_124;
+lean_ctor_set_uint8(x_118, sizeof(void*)*1, x_98);
+x_123 = lean_st_ref_set(x_6, x_117, x_119);
lean_dec(x_6);
-x_250 = lean_ctor_get(x_249, 1);
+x_124 = !lean_is_exclusive(x_123);
+if (x_124 == 0)
+{
+lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128;
+x_125 = lean_ctor_get(x_123, 0);
+lean_dec(x_125);
+x_126 = lean_box(x_109);
+x_127 = lean_box(x_115);
+x_128 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_128, 0, x_126);
+lean_ctor_set(x_128, 1, x_127);
+lean_ctor_set(x_123, 0, x_128);
+x_8 = x_123;
+goto block_20;
+}
+else
+{
+lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133;
+x_129 = lean_ctor_get(x_123, 1);
+lean_inc(x_129);
+lean_dec(x_123);
+x_130 = lean_box(x_109);
+x_131 = lean_box(x_115);
+x_132 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_132, 0, x_130);
+lean_ctor_set(x_132, 1, 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_129);
+x_8 = x_133;
+goto block_20;
+}
+}
+else
+{
+lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142;
+x_134 = lean_ctor_get(x_118, 0);
+lean_inc(x_134);
+lean_dec(x_118);
+x_135 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_135, 0, x_134);
+lean_ctor_set_uint8(x_135, sizeof(void*)*1, x_98);
+lean_ctor_set(x_117, 3, x_135);
+x_136 = lean_st_ref_set(x_6, x_117, x_119);
+lean_dec(x_6);
+x_137 = lean_ctor_get(x_136, 1);
+lean_inc(x_137);
+if (lean_is_exclusive(x_136)) {
+ lean_ctor_release(x_136, 0);
+ lean_ctor_release(x_136, 1);
+ x_138 = x_136;
+} else {
+ lean_dec_ref(x_136);
+ x_138 = lean_box(0);
+}
+x_139 = lean_box(x_109);
+x_140 = lean_box(x_115);
+x_141 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_141, 0, x_139);
+lean_ctor_set(x_141, 1, x_140);
+if (lean_is_scalar(x_138)) {
+ x_142 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_142 = x_138;
+}
+lean_ctor_set(x_142, 0, x_141);
+lean_ctor_set(x_142, 1, x_137);
+x_8 = x_142;
+goto block_20;
+}
+}
+else
+{
+lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156;
+x_143 = lean_ctor_get(x_117, 0);
+x_144 = lean_ctor_get(x_117, 1);
+x_145 = lean_ctor_get(x_117, 2);
+lean_inc(x_145);
+lean_inc(x_144);
+lean_inc(x_143);
+lean_dec(x_117);
+x_146 = lean_ctor_get(x_118, 0);
+lean_inc(x_146);
+if (lean_is_exclusive(x_118)) {
+ lean_ctor_release(x_118, 0);
+ x_147 = x_118;
+} else {
+ lean_dec_ref(x_118);
+ x_147 = lean_box(0);
+}
+if (lean_is_scalar(x_147)) {
+ x_148 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_148 = x_147;
+}
+lean_ctor_set(x_148, 0, x_146);
+lean_ctor_set_uint8(x_148, sizeof(void*)*1, x_98);
+x_149 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_149, 0, x_143);
+lean_ctor_set(x_149, 1, x_144);
+lean_ctor_set(x_149, 2, x_145);
+lean_ctor_set(x_149, 3, x_148);
+x_150 = lean_st_ref_set(x_6, x_149, x_119);
+lean_dec(x_6);
+x_151 = lean_ctor_get(x_150, 1);
+lean_inc(x_151);
+if (lean_is_exclusive(x_150)) {
+ lean_ctor_release(x_150, 0);
+ lean_ctor_release(x_150, 1);
+ x_152 = x_150;
+} else {
+ lean_dec_ref(x_150);
+ x_152 = lean_box(0);
+}
+x_153 = lean_box(x_109);
+x_154 = lean_box(x_115);
+x_155 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_155, 0, x_153);
+lean_ctor_set(x_155, 1, x_154);
+if (lean_is_scalar(x_152)) {
+ x_156 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_156 = x_152;
+}
+lean_ctor_set(x_156, 0, x_155);
+lean_ctor_set(x_156, 1, x_151);
+x_8 = x_156;
+goto block_20;
+}
+}
+block_191:
+{
+lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; uint8_t x_166;
+x_160 = lean_st_ref_get(x_6, x_159);
+x_161 = lean_ctor_get(x_160, 1);
+lean_inc(x_161);
+lean_dec(x_160);
+x_162 = lean_st_ref_take(x_6, x_161);
+x_163 = lean_ctor_get(x_162, 0);
+lean_inc(x_163);
+x_164 = lean_ctor_get(x_163, 3);
+lean_inc(x_164);
+x_165 = lean_ctor_get(x_162, 1);
+lean_inc(x_165);
+lean_dec(x_162);
+x_166 = !lean_is_exclusive(x_163);
+if (x_166 == 0)
+{
+lean_object* x_167; uint8_t x_168;
+x_167 = lean_ctor_get(x_163, 3);
+lean_dec(x_167);
+x_168 = !lean_is_exclusive(x_164);
+if (x_168 == 0)
+{
+lean_object* x_169; uint8_t x_170;
+lean_ctor_set_uint8(x_164, sizeof(void*)*1, x_98);
+x_169 = lean_st_ref_set(x_6, x_163, x_165);
+lean_dec(x_6);
+x_170 = !lean_is_exclusive(x_169);
+if (x_170 == 0)
+{
+lean_object* x_171;
+x_171 = lean_ctor_get(x_169, 0);
+lean_dec(x_171);
+lean_ctor_set_tag(x_169, 1);
+lean_ctor_set(x_169, 0, x_158);
+x_8 = x_169;
+goto block_20;
+}
+else
+{
+lean_object* x_172; lean_object* x_173;
+x_172 = lean_ctor_get(x_169, 1);
+lean_inc(x_172);
+lean_dec(x_169);
+x_173 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_173, 0, x_158);
+lean_ctor_set(x_173, 1, x_172);
+x_8 = x_173;
+goto block_20;
+}
+}
+else
+{
+lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179;
+x_174 = lean_ctor_get(x_164, 0);
+lean_inc(x_174);
+lean_dec(x_164);
+x_175 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_175, 0, x_174);
+lean_ctor_set_uint8(x_175, sizeof(void*)*1, x_98);
+lean_ctor_set(x_163, 3, x_175);
+x_176 = lean_st_ref_set(x_6, x_163, x_165);
+lean_dec(x_6);
+x_177 = lean_ctor_get(x_176, 1);
+lean_inc(x_177);
+if (lean_is_exclusive(x_176)) {
+ lean_ctor_release(x_176, 0);
+ lean_ctor_release(x_176, 1);
+ x_178 = x_176;
+} else {
+ lean_dec_ref(x_176);
+ x_178 = lean_box(0);
+}
+if (lean_is_scalar(x_178)) {
+ x_179 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_179 = x_178;
+ lean_ctor_set_tag(x_179, 1);
+}
+lean_ctor_set(x_179, 0, x_158);
+lean_ctor_set(x_179, 1, x_177);
+x_8 = x_179;
+goto block_20;
+}
+}
+else
+{
+lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190;
+x_180 = lean_ctor_get(x_163, 0);
+x_181 = lean_ctor_get(x_163, 1);
+x_182 = lean_ctor_get(x_163, 2);
+lean_inc(x_182);
+lean_inc(x_181);
+lean_inc(x_180);
+lean_dec(x_163);
+x_183 = lean_ctor_get(x_164, 0);
+lean_inc(x_183);
+if (lean_is_exclusive(x_164)) {
+ lean_ctor_release(x_164, 0);
+ x_184 = x_164;
+} else {
+ lean_dec_ref(x_164);
+ x_184 = lean_box(0);
+}
+if (lean_is_scalar(x_184)) {
+ x_185 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_185 = x_184;
+}
+lean_ctor_set(x_185, 0, x_183);
+lean_ctor_set_uint8(x_185, sizeof(void*)*1, x_98);
+x_186 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_186, 0, x_180);
+lean_ctor_set(x_186, 1, x_181);
+lean_ctor_set(x_186, 2, x_182);
+lean_ctor_set(x_186, 3, x_185);
+x_187 = lean_st_ref_set(x_6, x_186, x_165);
+lean_dec(x_6);
+x_188 = lean_ctor_get(x_187, 1);
+lean_inc(x_188);
+if (lean_is_exclusive(x_187)) {
+ lean_ctor_release(x_187, 0);
+ lean_ctor_release(x_187, 1);
+ x_189 = x_187;
+} else {
+ lean_dec_ref(x_187);
+ x_189 = lean_box(0);
+}
+if (lean_is_scalar(x_189)) {
+ x_190 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_190 = x_189;
+ lean_ctor_set_tag(x_190, 1);
+}
+lean_ctor_set(x_190, 0, x_158);
+lean_ctor_set(x_190, 1, x_188);
+x_8 = x_190;
+goto block_20;
+}
+}
+}
+else
+{
+lean_object* x_236; uint8_t x_237; lean_object* x_238; lean_object* x_239; lean_object* x_240; uint8_t x_241; lean_object* x_242; lean_object* x_268; lean_object* x_269; lean_object* x_289;
+x_236 = lean_ctor_get(x_101, 0);
+lean_inc(x_236);
+lean_dec(x_101);
+x_237 = 0;
+x_238 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_238, 0, x_236);
+lean_ctor_set_uint8(x_238, sizeof(void*)*1, x_237);
+lean_ctor_set(x_100, 3, x_238);
+x_239 = lean_st_ref_set(x_6, x_100, x_102);
+x_240 = lean_ctor_get(x_239, 1);
+lean_inc(x_240);
+lean_dec(x_239);
+lean_inc(x_6);
+lean_inc(x_5);
+lean_inc(x_4);
+lean_inc(x_3);
+x_289 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_21, x_3, x_4, x_5, x_6, x_240);
+if (lean_obj_tag(x_289) == 0)
+{
+lean_object* x_290; lean_object* x_291; uint8_t x_292; lean_object* x_293; lean_object* x_320; lean_object* x_321; lean_object* x_322; uint8_t x_323;
+x_290 = lean_ctor_get(x_289, 0);
+lean_inc(x_290);
+x_291 = lean_ctor_get(x_289, 1);
+lean_inc(x_291);
+lean_dec(x_289);
+x_320 = lean_st_ref_get(x_6, x_291);
+x_321 = lean_ctor_get(x_320, 0);
+lean_inc(x_321);
+x_322 = lean_ctor_get(x_321, 3);
+lean_inc(x_322);
+lean_dec(x_321);
+x_323 = lean_ctor_get_uint8(x_322, sizeof(void*)*1);
+lean_dec(x_322);
+if (x_323 == 0)
+{
+lean_object* x_324;
+x_324 = lean_ctor_get(x_320, 1);
+lean_inc(x_324);
+lean_dec(x_320);
+x_292 = x_237;
+x_293 = x_324;
+goto block_319;
+}
+else
+{
+lean_object* x_325; lean_object* x_326; lean_object* x_327; lean_object* x_328; lean_object* x_329; uint8_t x_330;
+x_325 = lean_ctor_get(x_320, 1);
+lean_inc(x_325);
+lean_dec(x_320);
+x_326 = l_Lean_Meta_isLevelDefEqAux___closed__2;
+x_327 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_326, x_3, x_4, x_5, x_6, x_325);
+x_328 = lean_ctor_get(x_327, 0);
+lean_inc(x_328);
+x_329 = lean_ctor_get(x_327, 1);
+lean_inc(x_329);
+lean_dec(x_327);
+x_330 = lean_unbox(x_328);
+lean_dec(x_328);
+x_292 = x_330;
+x_293 = x_329;
+goto block_319;
+}
+block_319:
+{
+if (x_292 == 0)
+{
+uint8_t x_294;
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+lean_dec(x_1);
+x_294 = lean_unbox(x_290);
+lean_dec(x_290);
+x_241 = x_294;
+x_242 = x_293;
+goto block_267;
+}
+else
+{
+lean_object* x_295; lean_object* x_296; lean_object* x_297; lean_object* x_298; lean_object* x_299; lean_object* x_300; lean_object* x_301; lean_object* x_302; lean_object* x_303; uint8_t x_304;
+x_295 = lean_alloc_ctor(3, 1, 0);
+lean_ctor_set(x_295, 0, x_1);
+x_296 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_297 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_297, 0, x_296);
+lean_ctor_set(x_297, 1, x_295);
+x_298 = l_Lean_Meta_isLevelDefEqAux___closed__6;
+x_299 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_299, 0, x_297);
+lean_ctor_set(x_299, 1, x_298);
+x_300 = lean_alloc_ctor(3, 1, 0);
+lean_ctor_set(x_300, 0, x_2);
+x_301 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_301, 0, x_299);
+lean_ctor_set(x_301, 1, x_300);
+x_302 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
+x_303 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_303, 0, x_301);
+lean_ctor_set(x_303, 1, x_302);
+x_304 = lean_unbox(x_290);
+if (x_304 == 0)
+{
+lean_object* x_305; lean_object* x_306; lean_object* x_307; lean_object* x_308; lean_object* x_309; lean_object* x_310; uint8_t x_311;
+x_305 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
+x_306 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_306, 0, x_303);
+lean_ctor_set(x_306, 1, x_305);
+x_307 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_307, 0, x_306);
+lean_ctor_set(x_307, 1, x_296);
+x_308 = l_Lean_Meta_isLevelDefEqAux___closed__2;
+x_309 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_308, x_307, x_3, x_4, x_5, x_6, x_293);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_310 = lean_ctor_get(x_309, 1);
+lean_inc(x_310);
+lean_dec(x_309);
+x_311 = lean_unbox(x_290);
+lean_dec(x_290);
+x_241 = x_311;
+x_242 = x_310;
+goto block_267;
+}
+else
+{
+lean_object* x_312; lean_object* x_313; lean_object* x_314; lean_object* x_315; lean_object* x_316; lean_object* x_317; uint8_t x_318;
+x_312 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
+x_313 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_313, 0, x_303);
+lean_ctor_set(x_313, 1, x_312);
+x_314 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_314, 0, x_313);
+lean_ctor_set(x_314, 1, x_296);
+x_315 = l_Lean_Meta_isLevelDefEqAux___closed__2;
+x_316 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_315, x_314, x_3, x_4, x_5, x_6, x_293);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_317 = lean_ctor_get(x_316, 1);
+lean_inc(x_317);
+lean_dec(x_316);
+x_318 = lean_unbox(x_290);
+lean_dec(x_290);
+x_241 = x_318;
+x_242 = x_317;
+goto block_267;
+}
+}
+}
+}
+else
+{
+lean_object* x_331; lean_object* x_332;
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+lean_dec(x_1);
+x_331 = lean_ctor_get(x_289, 0);
+lean_inc(x_331);
+x_332 = lean_ctor_get(x_289, 1);
+lean_inc(x_332);
+lean_dec(x_289);
+x_268 = x_331;
+x_269 = x_332;
+goto block_288;
+}
+block_267:
+{
+lean_object* x_243; lean_object* x_244; lean_object* x_245; lean_object* x_246; uint8_t x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253; lean_object* x_254; lean_object* x_255; lean_object* x_256; lean_object* x_257; lean_object* x_258; lean_object* x_259; lean_object* x_260; lean_object* x_261; lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265; lean_object* x_266;
+x_243 = lean_st_ref_get(x_6, x_242);
+x_244 = lean_ctor_get(x_243, 0);
+lean_inc(x_244);
+x_245 = lean_ctor_get(x_243, 1);
+lean_inc(x_245);
+lean_dec(x_243);
+x_246 = lean_ctor_get(x_244, 3);
+lean_inc(x_246);
+lean_dec(x_244);
+x_247 = lean_ctor_get_uint8(x_246, sizeof(void*)*1);
+lean_dec(x_246);
+x_248 = lean_st_ref_take(x_6, x_245);
+x_249 = lean_ctor_get(x_248, 0);
+lean_inc(x_249);
+x_250 = lean_ctor_get(x_249, 3);
lean_inc(x_250);
+x_251 = lean_ctor_get(x_248, 1);
+lean_inc(x_251);
+lean_dec(x_248);
+x_252 = lean_ctor_get(x_249, 0);
+lean_inc(x_252);
+x_253 = lean_ctor_get(x_249, 1);
+lean_inc(x_253);
+x_254 = lean_ctor_get(x_249, 2);
+lean_inc(x_254);
if (lean_is_exclusive(x_249)) {
lean_ctor_release(x_249, 0);
lean_ctor_release(x_249, 1);
- x_251 = x_249;
+ lean_ctor_release(x_249, 2);
+ lean_ctor_release(x_249, 3);
+ x_255 = x_249;
} else {
lean_dec_ref(x_249);
- x_251 = lean_box(0);
+ x_255 = lean_box(0);
}
-if (lean_is_scalar(x_251)) {
- x_252 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_252 = x_251;
- lean_ctor_set_tag(x_252, 1);
-}
-lean_ctor_set(x_252, 0, x_233);
-lean_ctor_set(x_252, 1, x_250);
-return x_252;
-}
-block_190:
-{
-lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; uint8_t x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189;
-x_166 = lean_st_ref_get(x_6, x_165);
-x_167 = lean_ctor_get(x_166, 0);
-lean_inc(x_167);
-x_168 = lean_ctor_get(x_166, 1);
-lean_inc(x_168);
-lean_dec(x_166);
-x_169 = lean_ctor_get(x_167, 3);
-lean_inc(x_169);
-lean_dec(x_167);
-x_170 = lean_ctor_get_uint8(x_169, sizeof(void*)*1);
-lean_dec(x_169);
-x_171 = lean_st_ref_take(x_6, x_168);
-x_172 = lean_ctor_get(x_171, 0);
-lean_inc(x_172);
-x_173 = lean_ctor_get(x_172, 3);
-lean_inc(x_173);
-x_174 = lean_ctor_get(x_171, 1);
-lean_inc(x_174);
-lean_dec(x_171);
-x_175 = lean_ctor_get(x_172, 0);
-lean_inc(x_175);
-x_176 = lean_ctor_get(x_172, 1);
-lean_inc(x_176);
-x_177 = lean_ctor_get(x_172, 2);
-lean_inc(x_177);
-if (lean_is_exclusive(x_172)) {
- lean_ctor_release(x_172, 0);
- lean_ctor_release(x_172, 1);
- lean_ctor_release(x_172, 2);
- lean_ctor_release(x_172, 3);
- x_178 = x_172;
-} else {
- lean_dec_ref(x_172);
- x_178 = lean_box(0);
-}
-x_179 = lean_ctor_get(x_173, 0);
-lean_inc(x_179);
-if (lean_is_exclusive(x_173)) {
- lean_ctor_release(x_173, 0);
- x_180 = x_173;
-} else {
- lean_dec_ref(x_173);
- x_180 = lean_box(0);
-}
-if (lean_is_scalar(x_180)) {
- x_181 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_181 = x_180;
-}
-lean_ctor_set(x_181, 0, x_179);
-lean_ctor_set_uint8(x_181, sizeof(void*)*1, x_24);
-if (lean_is_scalar(x_178)) {
- x_182 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_182 = x_178;
-}
-lean_ctor_set(x_182, 0, x_175);
-lean_ctor_set(x_182, 1, x_176);
-lean_ctor_set(x_182, 2, x_177);
-lean_ctor_set(x_182, 3, x_181);
-x_183 = lean_st_ref_set(x_6, x_182, x_174);
-lean_dec(x_6);
-x_184 = lean_ctor_get(x_183, 1);
-lean_inc(x_184);
-if (lean_is_exclusive(x_183)) {
- lean_ctor_release(x_183, 0);
- lean_ctor_release(x_183, 1);
- x_185 = x_183;
-} else {
- lean_dec_ref(x_183);
- x_185 = lean_box(0);
-}
-x_186 = lean_box(x_164);
-x_187 = lean_box(x_170);
-x_188 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_188, 0, x_186);
-lean_ctor_set(x_188, 1, x_187);
-if (lean_is_scalar(x_185)) {
- x_189 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_189 = x_185;
-}
-lean_ctor_set(x_189, 0, x_188);
-lean_ctor_set(x_189, 1, x_184);
-x_8 = x_189;
-goto block_16;
-}
-}
-}
-else
-{
-lean_object* x_253; lean_object* x_254; lean_object* x_255; lean_object* x_256; lean_object* x_257; uint8_t x_258; lean_object* x_259; lean_object* x_260; lean_object* x_261; lean_object* x_262; uint8_t x_263; lean_object* x_264; lean_object* x_290;
-x_253 = lean_ctor_get(x_26, 0);
-x_254 = lean_ctor_get(x_26, 1);
-x_255 = lean_ctor_get(x_26, 2);
-lean_inc(x_255);
-lean_inc(x_254);
-lean_inc(x_253);
-lean_dec(x_26);
-x_256 = lean_ctor_get(x_27, 0);
+x_256 = lean_ctor_get(x_250, 0);
lean_inc(x_256);
-if (lean_is_exclusive(x_27)) {
- lean_ctor_release(x_27, 0);
- x_257 = x_27;
+if (lean_is_exclusive(x_250)) {
+ lean_ctor_release(x_250, 0);
+ x_257 = x_250;
} else {
- lean_dec_ref(x_27);
+ lean_dec_ref(x_250);
x_257 = lean_box(0);
}
-x_258 = 0;
if (lean_is_scalar(x_257)) {
- x_259 = lean_alloc_ctor(0, 1, 1);
+ x_258 = lean_alloc_ctor(0, 1, 1);
} else {
- x_259 = x_257;
+ x_258 = x_257;
}
-lean_ctor_set(x_259, 0, x_256);
-lean_ctor_set_uint8(x_259, sizeof(void*)*1, x_258);
-x_260 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_260, 0, x_253);
-lean_ctor_set(x_260, 1, x_254);
-lean_ctor_set(x_260, 2, x_255);
-lean_ctor_set(x_260, 3, x_259);
-x_261 = lean_st_ref_set(x_6, x_260, x_28);
-x_262 = lean_ctor_get(x_261, 1);
-lean_inc(x_262);
-lean_dec(x_261);
-lean_inc(x_6);
-lean_inc(x_5);
-lean_inc(x_4);
-lean_inc(x_3);
-x_290 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_17, x_3, x_4, x_5, x_6, x_262);
-if (lean_obj_tag(x_290) == 0)
-{
-lean_object* x_291; lean_object* x_292; uint8_t x_293; lean_object* x_294; lean_object* x_321; lean_object* x_322; lean_object* x_323; uint8_t x_324;
-x_291 = lean_ctor_get(x_290, 0);
-lean_inc(x_291);
-x_292 = lean_ctor_get(x_290, 1);
-lean_inc(x_292);
-lean_dec(x_290);
-x_321 = lean_st_ref_get(x_6, x_292);
-x_322 = lean_ctor_get(x_321, 0);
-lean_inc(x_322);
-x_323 = lean_ctor_get(x_322, 3);
-lean_inc(x_323);
-lean_dec(x_322);
-x_324 = lean_ctor_get_uint8(x_323, sizeof(void*)*1);
-lean_dec(x_323);
-if (x_324 == 0)
-{
-lean_object* x_325;
-x_325 = lean_ctor_get(x_321, 1);
-lean_inc(x_325);
-lean_dec(x_321);
-x_293 = x_258;
-x_294 = x_325;
-goto block_320;
-}
-else
-{
-lean_object* x_326; lean_object* x_327; lean_object* x_328; lean_object* x_329; lean_object* x_330; uint8_t x_331;
-x_326 = lean_ctor_get(x_321, 1);
-lean_inc(x_326);
-lean_dec(x_321);
-x_327 = l_Lean_Meta_isLevelDefEqAux___closed__2;
-x_328 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_327, x_3, x_4, x_5, x_6, x_326);
-x_329 = lean_ctor_get(x_328, 0);
-lean_inc(x_329);
-x_330 = lean_ctor_get(x_328, 1);
-lean_inc(x_330);
-lean_dec(x_328);
-x_331 = lean_unbox(x_329);
-lean_dec(x_329);
-x_293 = x_331;
-x_294 = x_330;
-goto block_320;
-}
-block_320:
-{
-if (x_293 == 0)
-{
-uint8_t x_295;
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_dec(x_1);
-x_295 = lean_unbox(x_291);
-lean_dec(x_291);
-x_263 = x_295;
-x_264 = x_294;
-goto block_289;
-}
-else
-{
-lean_object* x_296; lean_object* x_297; lean_object* x_298; lean_object* x_299; lean_object* x_300; lean_object* x_301; lean_object* x_302; lean_object* x_303; lean_object* x_304; uint8_t x_305;
-x_296 = lean_alloc_ctor(3, 1, 0);
-lean_ctor_set(x_296, 0, x_1);
-x_297 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_298 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_298, 0, x_297);
-lean_ctor_set(x_298, 1, x_296);
-x_299 = l_Lean_Meta_isLevelDefEqAux___closed__6;
-x_300 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_300, 0, x_298);
-lean_ctor_set(x_300, 1, x_299);
-x_301 = lean_alloc_ctor(3, 1, 0);
-lean_ctor_set(x_301, 0, x_2);
-x_302 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_302, 0, x_300);
-lean_ctor_set(x_302, 1, x_301);
-x_303 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
-x_304 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_304, 0, x_302);
-lean_ctor_set(x_304, 1, x_303);
-x_305 = lean_unbox(x_291);
-if (x_305 == 0)
-{
-lean_object* x_306; lean_object* x_307; lean_object* x_308; lean_object* x_309; lean_object* x_310; lean_object* x_311; uint8_t x_312;
-x_306 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
-x_307 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_307, 0, x_304);
-lean_ctor_set(x_307, 1, x_306);
-x_308 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_308, 0, x_307);
-lean_ctor_set(x_308, 1, x_297);
-x_309 = l_Lean_Meta_isLevelDefEqAux___closed__2;
-x_310 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_309, x_308, x_3, x_4, x_5, x_6, x_294);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_311 = lean_ctor_get(x_310, 1);
-lean_inc(x_311);
-lean_dec(x_310);
-x_312 = lean_unbox(x_291);
-lean_dec(x_291);
-x_263 = x_312;
-x_264 = x_311;
-goto block_289;
-}
-else
-{
-lean_object* x_313; lean_object* x_314; lean_object* x_315; lean_object* x_316; lean_object* x_317; lean_object* x_318; uint8_t x_319;
-x_313 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
-x_314 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_314, 0, x_304);
-lean_ctor_set(x_314, 1, x_313);
-x_315 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_315, 0, x_314);
-lean_ctor_set(x_315, 1, x_297);
-x_316 = l_Lean_Meta_isLevelDefEqAux___closed__2;
-x_317 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_316, x_315, x_3, x_4, x_5, x_6, x_294);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_318 = lean_ctor_get(x_317, 1);
-lean_inc(x_318);
-lean_dec(x_317);
-x_319 = lean_unbox(x_291);
-lean_dec(x_291);
-x_263 = x_319;
-x_264 = x_318;
-goto block_289;
-}
-}
-}
-}
-else
-{
-lean_object* x_332; lean_object* x_333; lean_object* x_334; lean_object* x_335; lean_object* x_336; lean_object* x_337; lean_object* x_338; lean_object* x_339; lean_object* x_340; lean_object* x_341; lean_object* x_342; lean_object* x_343; lean_object* x_344; lean_object* x_345; lean_object* x_346; lean_object* x_347; lean_object* x_348; lean_object* x_349; lean_object* x_350; lean_object* x_351;
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_dec(x_1);
-x_332 = lean_ctor_get(x_290, 0);
-lean_inc(x_332);
-x_333 = lean_ctor_get(x_290, 1);
-lean_inc(x_333);
-lean_dec(x_290);
-x_334 = lean_st_ref_get(x_6, x_333);
-x_335 = lean_ctor_get(x_334, 1);
-lean_inc(x_335);
-lean_dec(x_334);
-x_336 = lean_st_ref_take(x_6, x_335);
-x_337 = lean_ctor_get(x_336, 0);
-lean_inc(x_337);
-x_338 = lean_ctor_get(x_337, 3);
-lean_inc(x_338);
-x_339 = lean_ctor_get(x_336, 1);
-lean_inc(x_339);
-lean_dec(x_336);
-x_340 = lean_ctor_get(x_337, 0);
-lean_inc(x_340);
-x_341 = lean_ctor_get(x_337, 1);
-lean_inc(x_341);
-x_342 = lean_ctor_get(x_337, 2);
-lean_inc(x_342);
-if (lean_is_exclusive(x_337)) {
- lean_ctor_release(x_337, 0);
- lean_ctor_release(x_337, 1);
- lean_ctor_release(x_337, 2);
- lean_ctor_release(x_337, 3);
- x_343 = x_337;
+lean_ctor_set(x_258, 0, x_256);
+lean_ctor_set_uint8(x_258, sizeof(void*)*1, x_98);
+if (lean_is_scalar(x_255)) {
+ x_259 = lean_alloc_ctor(0, 4, 0);
} else {
- lean_dec_ref(x_337);
- x_343 = lean_box(0);
+ x_259 = x_255;
}
-x_344 = lean_ctor_get(x_338, 0);
-lean_inc(x_344);
-if (lean_is_exclusive(x_338)) {
- lean_ctor_release(x_338, 0);
- x_345 = x_338;
-} else {
- lean_dec_ref(x_338);
- x_345 = lean_box(0);
-}
-if (lean_is_scalar(x_345)) {
- x_346 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_346 = x_345;
-}
-lean_ctor_set(x_346, 0, x_344);
-lean_ctor_set_uint8(x_346, sizeof(void*)*1, x_24);
-if (lean_is_scalar(x_343)) {
- x_347 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_347 = x_343;
-}
-lean_ctor_set(x_347, 0, x_340);
-lean_ctor_set(x_347, 1, x_341);
-lean_ctor_set(x_347, 2, x_342);
-lean_ctor_set(x_347, 3, x_346);
-x_348 = lean_st_ref_set(x_6, x_347, x_339);
+lean_ctor_set(x_259, 0, x_252);
+lean_ctor_set(x_259, 1, x_253);
+lean_ctor_set(x_259, 2, x_254);
+lean_ctor_set(x_259, 3, x_258);
+x_260 = lean_st_ref_set(x_6, x_259, x_251);
lean_dec(x_6);
-x_349 = lean_ctor_get(x_348, 1);
-lean_inc(x_349);
-if (lean_is_exclusive(x_348)) {
- lean_ctor_release(x_348, 0);
- lean_ctor_release(x_348, 1);
- x_350 = x_348;
+x_261 = lean_ctor_get(x_260, 1);
+lean_inc(x_261);
+if (lean_is_exclusive(x_260)) {
+ lean_ctor_release(x_260, 0);
+ lean_ctor_release(x_260, 1);
+ x_262 = x_260;
} else {
- lean_dec_ref(x_348);
- x_350 = lean_box(0);
+ lean_dec_ref(x_260);
+ x_262 = lean_box(0);
}
-if (lean_is_scalar(x_350)) {
- x_351 = lean_alloc_ctor(1, 2, 0);
+x_263 = lean_box(x_241);
+x_264 = lean_box(x_247);
+x_265 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_265, 0, x_263);
+lean_ctor_set(x_265, 1, x_264);
+if (lean_is_scalar(x_262)) {
+ x_266 = lean_alloc_ctor(0, 2, 0);
} else {
- x_351 = x_350;
- lean_ctor_set_tag(x_351, 1);
+ x_266 = x_262;
}
-lean_ctor_set(x_351, 0, x_332);
-lean_ctor_set(x_351, 1, x_349);
-return x_351;
+lean_ctor_set(x_266, 0, x_265);
+lean_ctor_set(x_266, 1, x_261);
+x_8 = x_266;
+goto block_20;
}
-block_289:
+block_288:
{
-lean_object* x_265; lean_object* x_266; lean_object* x_267; lean_object* x_268; uint8_t x_269; lean_object* x_270; lean_object* x_271; lean_object* x_272; lean_object* x_273; lean_object* x_274; lean_object* x_275; lean_object* x_276; lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; lean_object* x_281; lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286; lean_object* x_287; lean_object* x_288;
-x_265 = lean_st_ref_get(x_6, x_264);
-x_266 = lean_ctor_get(x_265, 0);
-lean_inc(x_266);
-x_267 = lean_ctor_get(x_265, 1);
-lean_inc(x_267);
-lean_dec(x_265);
-x_268 = lean_ctor_get(x_266, 3);
-lean_inc(x_268);
-lean_dec(x_266);
-x_269 = lean_ctor_get_uint8(x_268, sizeof(void*)*1);
-lean_dec(x_268);
-x_270 = lean_st_ref_take(x_6, x_267);
-x_271 = lean_ctor_get(x_270, 0);
+lean_object* x_270; lean_object* x_271; lean_object* x_272; lean_object* x_273; lean_object* x_274; lean_object* x_275; lean_object* x_276; lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; lean_object* x_281; lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286; lean_object* x_287;
+x_270 = lean_st_ref_get(x_6, x_269);
+x_271 = lean_ctor_get(x_270, 1);
lean_inc(x_271);
-x_272 = lean_ctor_get(x_271, 3);
-lean_inc(x_272);
-x_273 = lean_ctor_get(x_270, 1);
-lean_inc(x_273);
lean_dec(x_270);
-x_274 = lean_ctor_get(x_271, 0);
+x_272 = lean_st_ref_take(x_6, x_271);
+x_273 = lean_ctor_get(x_272, 0);
+lean_inc(x_273);
+x_274 = lean_ctor_get(x_273, 3);
lean_inc(x_274);
-x_275 = lean_ctor_get(x_271, 1);
+x_275 = lean_ctor_get(x_272, 1);
lean_inc(x_275);
-x_276 = lean_ctor_get(x_271, 2);
+lean_dec(x_272);
+x_276 = lean_ctor_get(x_273, 0);
lean_inc(x_276);
-if (lean_is_exclusive(x_271)) {
- lean_ctor_release(x_271, 0);
- lean_ctor_release(x_271, 1);
- lean_ctor_release(x_271, 2);
- lean_ctor_release(x_271, 3);
- x_277 = x_271;
-} else {
- lean_dec_ref(x_271);
- x_277 = lean_box(0);
-}
-x_278 = lean_ctor_get(x_272, 0);
+x_277 = lean_ctor_get(x_273, 1);
+lean_inc(x_277);
+x_278 = lean_ctor_get(x_273, 2);
lean_inc(x_278);
-if (lean_is_exclusive(x_272)) {
- lean_ctor_release(x_272, 0);
- x_279 = x_272;
+if (lean_is_exclusive(x_273)) {
+ lean_ctor_release(x_273, 0);
+ lean_ctor_release(x_273, 1);
+ lean_ctor_release(x_273, 2);
+ lean_ctor_release(x_273, 3);
+ x_279 = x_273;
} else {
- lean_dec_ref(x_272);
+ lean_dec_ref(x_273);
x_279 = lean_box(0);
}
+x_280 = lean_ctor_get(x_274, 0);
+lean_inc(x_280);
+if (lean_is_exclusive(x_274)) {
+ lean_ctor_release(x_274, 0);
+ x_281 = x_274;
+} else {
+ lean_dec_ref(x_274);
+ x_281 = lean_box(0);
+}
+if (lean_is_scalar(x_281)) {
+ x_282 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_282 = x_281;
+}
+lean_ctor_set(x_282, 0, x_280);
+lean_ctor_set_uint8(x_282, sizeof(void*)*1, x_98);
if (lean_is_scalar(x_279)) {
- x_280 = lean_alloc_ctor(0, 1, 1);
+ x_283 = lean_alloc_ctor(0, 4, 0);
} else {
- x_280 = x_279;
+ x_283 = x_279;
}
-lean_ctor_set(x_280, 0, x_278);
-lean_ctor_set_uint8(x_280, sizeof(void*)*1, x_24);
-if (lean_is_scalar(x_277)) {
- x_281 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_281 = x_277;
-}
-lean_ctor_set(x_281, 0, x_274);
-lean_ctor_set(x_281, 1, x_275);
-lean_ctor_set(x_281, 2, x_276);
-lean_ctor_set(x_281, 3, x_280);
-x_282 = lean_st_ref_set(x_6, x_281, x_273);
+lean_ctor_set(x_283, 0, x_276);
+lean_ctor_set(x_283, 1, x_277);
+lean_ctor_set(x_283, 2, x_278);
+lean_ctor_set(x_283, 3, x_282);
+x_284 = lean_st_ref_set(x_6, x_283, x_275);
lean_dec(x_6);
-x_283 = lean_ctor_get(x_282, 1);
-lean_inc(x_283);
-if (lean_is_exclusive(x_282)) {
- lean_ctor_release(x_282, 0);
- lean_ctor_release(x_282, 1);
- x_284 = x_282;
+x_285 = lean_ctor_get(x_284, 1);
+lean_inc(x_285);
+if (lean_is_exclusive(x_284)) {
+ lean_ctor_release(x_284, 0);
+ lean_ctor_release(x_284, 1);
+ x_286 = x_284;
} else {
- lean_dec_ref(x_282);
- x_284 = lean_box(0);
+ lean_dec_ref(x_284);
+ x_286 = lean_box(0);
}
-x_285 = lean_box(x_263);
-x_286 = lean_box(x_269);
-x_287 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_287, 0, x_285);
-lean_ctor_set(x_287, 1, x_286);
-if (lean_is_scalar(x_284)) {
- x_288 = lean_alloc_ctor(0, 2, 0);
+if (lean_is_scalar(x_286)) {
+ x_287 = lean_alloc_ctor(1, 2, 0);
} else {
- x_288 = x_284;
+ x_287 = x_286;
+ lean_ctor_set_tag(x_287, 1);
}
-lean_ctor_set(x_288, 0, x_287);
-lean_ctor_set(x_288, 1, x_283);
-x_8 = x_288;
-goto block_16;
+lean_ctor_set(x_287, 0, x_268);
+lean_ctor_set(x_287, 1, x_285);
+x_8 = x_287;
+goto block_20;
}
}
}
else
{
-lean_object* x_352; lean_object* x_353; lean_object* x_354; lean_object* x_355; uint8_t x_356; lean_object* x_357; lean_object* x_367;
-x_352 = lean_ctor_get(x_5, 3);
-lean_inc(x_352);
-x_353 = l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_isLevelDefEq___spec__3___rarg(x_6, x_19);
-x_354 = lean_ctor_get(x_353, 0);
-lean_inc(x_354);
-x_355 = lean_ctor_get(x_353, 1);
-lean_inc(x_355);
-lean_dec(x_353);
+lean_object* x_333; lean_object* x_334; lean_object* x_335; lean_object* x_336; lean_object* x_337; uint8_t x_338; lean_object* x_339; lean_object* x_340; lean_object* x_341; lean_object* x_342; uint8_t x_343; lean_object* x_344; lean_object* x_370; lean_object* x_371; lean_object* x_391;
+x_333 = lean_ctor_get(x_100, 0);
+x_334 = lean_ctor_get(x_100, 1);
+x_335 = lean_ctor_get(x_100, 2);
+lean_inc(x_335);
+lean_inc(x_334);
+lean_inc(x_333);
+lean_dec(x_100);
+x_336 = lean_ctor_get(x_101, 0);
+lean_inc(x_336);
+if (lean_is_exclusive(x_101)) {
+ lean_ctor_release(x_101, 0);
+ x_337 = x_101;
+} else {
+ lean_dec_ref(x_101);
+ x_337 = lean_box(0);
+}
+x_338 = 0;
+if (lean_is_scalar(x_337)) {
+ x_339 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_339 = x_337;
+}
+lean_ctor_set(x_339, 0, x_336);
+lean_ctor_set_uint8(x_339, sizeof(void*)*1, x_338);
+x_340 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_340, 0, x_333);
+lean_ctor_set(x_340, 1, x_334);
+lean_ctor_set(x_340, 2, x_335);
+lean_ctor_set(x_340, 3, x_339);
+x_341 = lean_st_ref_set(x_6, x_340, x_102);
+x_342 = lean_ctor_get(x_341, 1);
+lean_inc(x_342);
+lean_dec(x_341);
lean_inc(x_6);
lean_inc(x_5);
lean_inc(x_4);
lean_inc(x_3);
-x_367 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_17, x_3, x_4, x_5, x_6, x_355);
-if (lean_obj_tag(x_367) == 0)
+x_391 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_21, x_3, x_4, x_5, x_6, x_342);
+if (lean_obj_tag(x_391) == 0)
{
-lean_object* x_368; lean_object* x_369; uint8_t x_370; lean_object* x_371; lean_object* x_398; lean_object* x_399; lean_object* x_400; uint8_t x_401;
-x_368 = lean_ctor_get(x_367, 0);
-lean_inc(x_368);
-x_369 = lean_ctor_get(x_367, 1);
-lean_inc(x_369);
-lean_dec(x_367);
-x_398 = lean_st_ref_get(x_6, x_369);
-x_399 = lean_ctor_get(x_398, 0);
-lean_inc(x_399);
-x_400 = lean_ctor_get(x_399, 3);
-lean_inc(x_400);
-lean_dec(x_399);
-x_401 = lean_ctor_get_uint8(x_400, sizeof(void*)*1);
-lean_dec(x_400);
-if (x_401 == 0)
+lean_object* x_392; lean_object* x_393; uint8_t x_394; lean_object* x_395; lean_object* x_422; lean_object* x_423; lean_object* x_424; uint8_t x_425;
+x_392 = lean_ctor_get(x_391, 0);
+lean_inc(x_392);
+x_393 = lean_ctor_get(x_391, 1);
+lean_inc(x_393);
+lean_dec(x_391);
+x_422 = lean_st_ref_get(x_6, x_393);
+x_423 = lean_ctor_get(x_422, 0);
+lean_inc(x_423);
+x_424 = lean_ctor_get(x_423, 3);
+lean_inc(x_424);
+lean_dec(x_423);
+x_425 = lean_ctor_get_uint8(x_424, sizeof(void*)*1);
+lean_dec(x_424);
+if (x_425 == 0)
{
-lean_object* x_402; uint8_t x_403;
-x_402 = lean_ctor_get(x_398, 1);
-lean_inc(x_402);
-lean_dec(x_398);
-x_403 = 0;
-x_370 = x_403;
-x_371 = x_402;
-goto block_397;
+lean_object* x_426;
+x_426 = lean_ctor_get(x_422, 1);
+lean_inc(x_426);
+lean_dec(x_422);
+x_394 = x_338;
+x_395 = x_426;
+goto block_421;
}
else
{
-lean_object* x_404; lean_object* x_405; lean_object* x_406; lean_object* x_407; lean_object* x_408; uint8_t x_409;
-x_404 = lean_ctor_get(x_398, 1);
-lean_inc(x_404);
-lean_dec(x_398);
-x_405 = l_Lean_Meta_isLevelDefEqAux___closed__2;
-x_406 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_405, x_3, x_4, x_5, x_6, x_404);
-x_407 = lean_ctor_get(x_406, 0);
-lean_inc(x_407);
-x_408 = lean_ctor_get(x_406, 1);
-lean_inc(x_408);
-lean_dec(x_406);
-x_409 = lean_unbox(x_407);
-lean_dec(x_407);
-x_370 = x_409;
-x_371 = x_408;
-goto block_397;
+lean_object* x_427; lean_object* x_428; lean_object* x_429; lean_object* x_430; lean_object* x_431; uint8_t x_432;
+x_427 = lean_ctor_get(x_422, 1);
+lean_inc(x_427);
+lean_dec(x_422);
+x_428 = l_Lean_Meta_isLevelDefEqAux___closed__2;
+x_429 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_428, x_3, x_4, x_5, x_6, x_427);
+x_430 = lean_ctor_get(x_429, 0);
+lean_inc(x_430);
+x_431 = lean_ctor_get(x_429, 1);
+lean_inc(x_431);
+lean_dec(x_429);
+x_432 = lean_unbox(x_430);
+lean_dec(x_430);
+x_394 = x_432;
+x_395 = x_431;
+goto block_421;
}
-block_397:
+block_421:
{
-if (x_370 == 0)
+if (x_394 == 0)
{
-uint8_t x_372;
-lean_dec(x_2);
-lean_dec(x_1);
-x_372 = lean_unbox(x_368);
-lean_dec(x_368);
-x_356 = x_372;
-x_357 = x_371;
-goto block_366;
-}
-else
-{
-lean_object* x_373; lean_object* x_374; lean_object* x_375; lean_object* x_376; lean_object* x_377; lean_object* x_378; lean_object* x_379; lean_object* x_380; lean_object* x_381; uint8_t x_382;
-x_373 = lean_alloc_ctor(3, 1, 0);
-lean_ctor_set(x_373, 0, x_1);
-x_374 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_375 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_375, 0, x_374);
-lean_ctor_set(x_375, 1, x_373);
-x_376 = l_Lean_Meta_isLevelDefEqAux___closed__6;
-x_377 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_377, 0, x_375);
-lean_ctor_set(x_377, 1, x_376);
-x_378 = lean_alloc_ctor(3, 1, 0);
-lean_ctor_set(x_378, 0, x_2);
-x_379 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_379, 0, x_377);
-lean_ctor_set(x_379, 1, x_378);
-x_380 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
-x_381 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_381, 0, x_379);
-lean_ctor_set(x_381, 1, x_380);
-x_382 = lean_unbox(x_368);
-if (x_382 == 0)
-{
-lean_object* x_383; lean_object* x_384; lean_object* x_385; lean_object* x_386; lean_object* x_387; lean_object* x_388; uint8_t x_389;
-x_383 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
-x_384 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_384, 0, x_381);
-lean_ctor_set(x_384, 1, x_383);
-x_385 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_385, 0, x_384);
-lean_ctor_set(x_385, 1, x_374);
-x_386 = l_Lean_Meta_isLevelDefEqAux___closed__2;
-x_387 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_386, x_385, x_3, x_4, x_5, x_6, x_371);
-x_388 = lean_ctor_get(x_387, 1);
-lean_inc(x_388);
-lean_dec(x_387);
-x_389 = lean_unbox(x_368);
-lean_dec(x_368);
-x_356 = x_389;
-x_357 = x_388;
-goto block_366;
-}
-else
-{
-lean_object* x_390; lean_object* x_391; lean_object* x_392; lean_object* x_393; lean_object* x_394; lean_object* x_395; uint8_t x_396;
-x_390 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
-x_391 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_391, 0, x_381);
-lean_ctor_set(x_391, 1, x_390);
-x_392 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_392, 0, x_391);
-lean_ctor_set(x_392, 1, x_374);
-x_393 = l_Lean_Meta_isLevelDefEqAux___closed__2;
-x_394 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_393, x_392, x_3, x_4, x_5, x_6, x_371);
-x_395 = lean_ctor_get(x_394, 1);
-lean_inc(x_395);
-lean_dec(x_394);
-x_396 = lean_unbox(x_368);
-lean_dec(x_368);
-x_356 = x_396;
-x_357 = x_395;
-goto block_366;
-}
-}
-}
-}
-else
-{
-lean_object* x_410; lean_object* x_411; lean_object* x_412; lean_object* x_413; uint8_t x_414;
-lean_dec(x_2);
-lean_dec(x_1);
-x_410 = lean_ctor_get(x_367, 0);
-lean_inc(x_410);
-x_411 = lean_ctor_get(x_367, 1);
-lean_inc(x_411);
-lean_dec(x_367);
-x_412 = l_Lean_Meta_isLevelDefEqAux___closed__2;
-x_413 = l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_isLevelDefEq___spec__4(x_354, x_412, x_352, x_3, x_4, x_5, x_6, x_411);
-lean_dec(x_6);
+uint8_t x_396;
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
-x_414 = !lean_is_exclusive(x_413);
-if (x_414 == 0)
-{
-lean_object* x_415;
-x_415 = lean_ctor_get(x_413, 0);
-lean_dec(x_415);
-lean_ctor_set_tag(x_413, 1);
-lean_ctor_set(x_413, 0, x_410);
-return x_413;
+lean_dec(x_2);
+lean_dec(x_1);
+x_396 = lean_unbox(x_392);
+lean_dec(x_392);
+x_343 = x_396;
+x_344 = x_395;
+goto block_369;
}
else
{
-lean_object* x_416; lean_object* x_417;
-x_416 = lean_ctor_get(x_413, 1);
-lean_inc(x_416);
-lean_dec(x_413);
-x_417 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_417, 0, x_410);
-lean_ctor_set(x_417, 1, x_416);
-return x_417;
-}
-}
-block_366:
+lean_object* x_397; lean_object* x_398; lean_object* x_399; lean_object* x_400; lean_object* x_401; lean_object* x_402; lean_object* x_403; lean_object* x_404; lean_object* x_405; uint8_t x_406;
+x_397 = lean_alloc_ctor(3, 1, 0);
+lean_ctor_set(x_397, 0, x_1);
+x_398 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_399 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_399, 0, x_398);
+lean_ctor_set(x_399, 1, x_397);
+x_400 = l_Lean_Meta_isLevelDefEqAux___closed__6;
+x_401 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_401, 0, x_399);
+lean_ctor_set(x_401, 1, x_400);
+x_402 = lean_alloc_ctor(3, 1, 0);
+lean_ctor_set(x_402, 0, x_2);
+x_403 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_403, 0, x_401);
+lean_ctor_set(x_403, 1, x_402);
+x_404 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
+x_405 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_405, 0, x_403);
+lean_ctor_set(x_405, 1, x_404);
+x_406 = lean_unbox(x_392);
+if (x_406 == 0)
{
-lean_object* x_358; lean_object* x_359; uint8_t x_360;
-x_358 = l_Lean_Meta_isLevelDefEqAux___closed__2;
-x_359 = l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_isLevelDefEq___spec__4(x_354, x_358, x_352, x_3, x_4, x_5, x_6, x_357);
-lean_dec(x_6);
+lean_object* x_407; lean_object* x_408; lean_object* x_409; lean_object* x_410; lean_object* x_411; lean_object* x_412; uint8_t x_413;
+x_407 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
+x_408 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_408, 0, x_405);
+lean_ctor_set(x_408, 1, x_407);
+x_409 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_409, 0, x_408);
+lean_ctor_set(x_409, 1, x_398);
+x_410 = l_Lean_Meta_isLevelDefEqAux___closed__2;
+x_411 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_410, x_409, x_3, x_4, x_5, x_6, x_395);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
-x_360 = !lean_is_exclusive(x_359);
-if (x_360 == 0)
-{
-lean_object* x_361; lean_object* x_362;
-x_361 = lean_ctor_get(x_359, 0);
-lean_dec(x_361);
-x_362 = lean_box(x_356);
-lean_ctor_set(x_359, 0, x_362);
-return x_359;
+x_412 = lean_ctor_get(x_411, 1);
+lean_inc(x_412);
+lean_dec(x_411);
+x_413 = lean_unbox(x_392);
+lean_dec(x_392);
+x_343 = x_413;
+x_344 = x_412;
+goto block_369;
}
else
{
-lean_object* x_363; lean_object* x_364; lean_object* x_365;
-x_363 = lean_ctor_get(x_359, 1);
+lean_object* x_414; lean_object* x_415; lean_object* x_416; lean_object* x_417; lean_object* x_418; lean_object* x_419; uint8_t x_420;
+x_414 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
+x_415 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_415, 0, x_405);
+lean_ctor_set(x_415, 1, x_414);
+x_416 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_416, 0, x_415);
+lean_ctor_set(x_416, 1, x_398);
+x_417 = l_Lean_Meta_isLevelDefEqAux___closed__2;
+x_418 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_417, x_416, x_3, x_4, x_5, x_6, x_395);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_419 = lean_ctor_get(x_418, 1);
+lean_inc(x_419);
+lean_dec(x_418);
+x_420 = lean_unbox(x_392);
+lean_dec(x_392);
+x_343 = x_420;
+x_344 = x_419;
+goto block_369;
+}
+}
+}
+}
+else
+{
+lean_object* x_433; lean_object* x_434;
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+lean_dec(x_1);
+x_433 = lean_ctor_get(x_391, 0);
+lean_inc(x_433);
+x_434 = lean_ctor_get(x_391, 1);
+lean_inc(x_434);
+lean_dec(x_391);
+x_370 = x_433;
+x_371 = x_434;
+goto block_390;
+}
+block_369:
+{
+lean_object* x_345; lean_object* x_346; lean_object* x_347; lean_object* x_348; uint8_t x_349; lean_object* x_350; lean_object* x_351; lean_object* x_352; lean_object* x_353; lean_object* x_354; lean_object* x_355; lean_object* x_356; lean_object* x_357; lean_object* x_358; lean_object* x_359; lean_object* x_360; lean_object* x_361; lean_object* x_362; lean_object* x_363; lean_object* x_364; lean_object* x_365; lean_object* x_366; lean_object* x_367; lean_object* x_368;
+x_345 = lean_st_ref_get(x_6, x_344);
+x_346 = lean_ctor_get(x_345, 0);
+lean_inc(x_346);
+x_347 = lean_ctor_get(x_345, 1);
+lean_inc(x_347);
+lean_dec(x_345);
+x_348 = lean_ctor_get(x_346, 3);
+lean_inc(x_348);
+lean_dec(x_346);
+x_349 = lean_ctor_get_uint8(x_348, sizeof(void*)*1);
+lean_dec(x_348);
+x_350 = lean_st_ref_take(x_6, x_347);
+x_351 = lean_ctor_get(x_350, 0);
+lean_inc(x_351);
+x_352 = lean_ctor_get(x_351, 3);
+lean_inc(x_352);
+x_353 = lean_ctor_get(x_350, 1);
+lean_inc(x_353);
+lean_dec(x_350);
+x_354 = lean_ctor_get(x_351, 0);
+lean_inc(x_354);
+x_355 = lean_ctor_get(x_351, 1);
+lean_inc(x_355);
+x_356 = lean_ctor_get(x_351, 2);
+lean_inc(x_356);
+if (lean_is_exclusive(x_351)) {
+ lean_ctor_release(x_351, 0);
+ lean_ctor_release(x_351, 1);
+ lean_ctor_release(x_351, 2);
+ lean_ctor_release(x_351, 3);
+ x_357 = x_351;
+} else {
+ lean_dec_ref(x_351);
+ x_357 = lean_box(0);
+}
+x_358 = lean_ctor_get(x_352, 0);
+lean_inc(x_358);
+if (lean_is_exclusive(x_352)) {
+ lean_ctor_release(x_352, 0);
+ x_359 = x_352;
+} else {
+ lean_dec_ref(x_352);
+ x_359 = lean_box(0);
+}
+if (lean_is_scalar(x_359)) {
+ x_360 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_360 = x_359;
+}
+lean_ctor_set(x_360, 0, x_358);
+lean_ctor_set_uint8(x_360, sizeof(void*)*1, x_98);
+if (lean_is_scalar(x_357)) {
+ x_361 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_361 = x_357;
+}
+lean_ctor_set(x_361, 0, x_354);
+lean_ctor_set(x_361, 1, x_355);
+lean_ctor_set(x_361, 2, x_356);
+lean_ctor_set(x_361, 3, x_360);
+x_362 = lean_st_ref_set(x_6, x_361, x_353);
+lean_dec(x_6);
+x_363 = lean_ctor_get(x_362, 1);
lean_inc(x_363);
-lean_dec(x_359);
-x_364 = lean_box(x_356);
-x_365 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_365, 0, x_364);
-lean_ctor_set(x_365, 1, x_363);
-return x_365;
+if (lean_is_exclusive(x_362)) {
+ lean_ctor_release(x_362, 0);
+ lean_ctor_release(x_362, 1);
+ x_364 = x_362;
+} else {
+ lean_dec_ref(x_362);
+ x_364 = lean_box(0);
+}
+x_365 = lean_box(x_343);
+x_366 = lean_box(x_349);
+x_367 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_367, 0, x_365);
+lean_ctor_set(x_367, 1, x_366);
+if (lean_is_scalar(x_364)) {
+ x_368 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_368 = x_364;
+}
+lean_ctor_set(x_368, 0, x_367);
+lean_ctor_set(x_368, 1, x_363);
+x_8 = x_368;
+goto block_20;
+}
+block_390:
+{
+lean_object* x_372; lean_object* x_373; lean_object* x_374; lean_object* x_375; lean_object* x_376; lean_object* x_377; lean_object* x_378; lean_object* x_379; lean_object* x_380; lean_object* x_381; lean_object* x_382; lean_object* x_383; lean_object* x_384; lean_object* x_385; lean_object* x_386; lean_object* x_387; lean_object* x_388; lean_object* x_389;
+x_372 = lean_st_ref_get(x_6, x_371);
+x_373 = lean_ctor_get(x_372, 1);
+lean_inc(x_373);
+lean_dec(x_372);
+x_374 = lean_st_ref_take(x_6, x_373);
+x_375 = lean_ctor_get(x_374, 0);
+lean_inc(x_375);
+x_376 = lean_ctor_get(x_375, 3);
+lean_inc(x_376);
+x_377 = lean_ctor_get(x_374, 1);
+lean_inc(x_377);
+lean_dec(x_374);
+x_378 = lean_ctor_get(x_375, 0);
+lean_inc(x_378);
+x_379 = lean_ctor_get(x_375, 1);
+lean_inc(x_379);
+x_380 = lean_ctor_get(x_375, 2);
+lean_inc(x_380);
+if (lean_is_exclusive(x_375)) {
+ lean_ctor_release(x_375, 0);
+ lean_ctor_release(x_375, 1);
+ lean_ctor_release(x_375, 2);
+ lean_ctor_release(x_375, 3);
+ x_381 = x_375;
+} else {
+ lean_dec_ref(x_375);
+ x_381 = lean_box(0);
+}
+x_382 = lean_ctor_get(x_376, 0);
+lean_inc(x_382);
+if (lean_is_exclusive(x_376)) {
+ lean_ctor_release(x_376, 0);
+ x_383 = x_376;
+} else {
+ lean_dec_ref(x_376);
+ x_383 = lean_box(0);
+}
+if (lean_is_scalar(x_383)) {
+ x_384 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_384 = x_383;
+}
+lean_ctor_set(x_384, 0, x_382);
+lean_ctor_set_uint8(x_384, sizeof(void*)*1, x_98);
+if (lean_is_scalar(x_381)) {
+ x_385 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_385 = x_381;
+}
+lean_ctor_set(x_385, 0, x_378);
+lean_ctor_set(x_385, 1, x_379);
+lean_ctor_set(x_385, 2, x_380);
+lean_ctor_set(x_385, 3, x_384);
+x_386 = lean_st_ref_set(x_6, x_385, x_377);
+lean_dec(x_6);
+x_387 = lean_ctor_get(x_386, 1);
+lean_inc(x_387);
+if (lean_is_exclusive(x_386)) {
+ lean_ctor_release(x_386, 0);
+ lean_ctor_release(x_386, 1);
+ x_388 = x_386;
+} else {
+ lean_dec_ref(x_386);
+ x_388 = lean_box(0);
+}
+if (lean_is_scalar(x_388)) {
+ x_389 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_389 = x_388;
+ lean_ctor_set_tag(x_389, 1);
+}
+lean_ctor_set(x_389, 0, x_370);
+lean_ctor_set(x_389, 1, x_387);
+x_8 = x_389;
+goto block_20;
+}
}
}
}
@@ -30346,51 +30394,51 @@ lean_inc(x_12);
x_48 = l_Lean_Meta_mkLambdaFVars___at_Lean_Meta_SynthInstance_tryResolveCore___spec__1(x_44, x_21, x_12, x_13, x_14, x_15, x_47);
if (lean_obj_tag(x_48) == 0)
{
-lean_object* x_49; lean_object* x_50; lean_object* x_51; uint8_t x_146; lean_object* x_147; lean_object* x_158; lean_object* x_159; lean_object* x_160; uint8_t x_161;
+lean_object* x_49; lean_object* x_50; lean_object* x_51; uint8_t x_148; lean_object* x_149; lean_object* x_160; lean_object* x_161; lean_object* x_162; uint8_t x_163;
x_49 = lean_ctor_get(x_48, 0);
lean_inc(x_49);
x_50 = lean_ctor_get(x_48, 1);
lean_inc(x_50);
lean_dec(x_48);
-x_158 = lean_st_ref_get(x_15, x_50);
-x_159 = lean_ctor_get(x_158, 0);
-lean_inc(x_159);
-x_160 = lean_ctor_get(x_159, 3);
-lean_inc(x_160);
-lean_dec(x_159);
-x_161 = lean_ctor_get_uint8(x_160, sizeof(void*)*1);
-lean_dec(x_160);
-if (x_161 == 0)
-{
-lean_object* x_162; uint8_t x_163;
-x_162 = lean_ctor_get(x_158, 1);
+x_160 = lean_st_ref_get(x_15, x_50);
+x_161 = lean_ctor_get(x_160, 0);
+lean_inc(x_161);
+x_162 = lean_ctor_get(x_161, 3);
lean_inc(x_162);
-lean_dec(x_158);
-x_163 = 0;
-x_146 = x_163;
-x_147 = x_162;
-goto block_157;
+lean_dec(x_161);
+x_163 = lean_ctor_get_uint8(x_162, sizeof(void*)*1);
+lean_dec(x_162);
+if (x_163 == 0)
+{
+lean_object* x_164; uint8_t x_165;
+x_164 = lean_ctor_get(x_160, 1);
+lean_inc(x_164);
+lean_dec(x_160);
+x_165 = 0;
+x_148 = x_165;
+x_149 = x_164;
+goto block_159;
}
else
{
-lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; uint8_t x_168;
-x_164 = lean_ctor_get(x_158, 1);
-lean_inc(x_164);
-lean_dec(x_158);
-lean_inc(x_9);
-x_165 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_9, x_12, x_13, x_14, x_15, x_164);
-x_166 = lean_ctor_get(x_165, 0);
+lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; uint8_t x_170;
+x_166 = lean_ctor_get(x_160, 1);
lean_inc(x_166);
-x_167 = lean_ctor_get(x_165, 1);
-lean_inc(x_167);
-lean_dec(x_165);
-x_168 = lean_unbox(x_166);
-lean_dec(x_166);
-x_146 = x_168;
-x_147 = x_167;
-goto block_157;
+lean_dec(x_160);
+lean_inc(x_6);
+x_167 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_6, x_12, x_13, x_14, x_15, x_166);
+x_168 = lean_ctor_get(x_167, 0);
+lean_inc(x_168);
+x_169 = lean_ctor_get(x_167, 1);
+lean_inc(x_169);
+lean_dec(x_167);
+x_170 = lean_unbox(x_168);
+lean_dec(x_168);
+x_148 = x_170;
+x_149 = x_169;
+goto block_159;
}
-block_145:
+block_147:
{
uint8_t x_52; lean_object* x_53;
x_52 = 0;
@@ -30402,7 +30450,7 @@ lean_inc(x_4);
x_53 = l_Lean_Meta_mkAuxDefinition___at_Lean_Meta_mkAuxDefinitionFor___spec__1(x_4, x_46, x_49, x_52, x_12, x_13, x_14, x_15, x_51);
if (lean_obj_tag(x_53) == 0)
{
-lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_66; uint8_t x_112; lean_object* x_113; lean_object* x_131; lean_object* x_132; lean_object* x_133; uint8_t x_134;
+lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; uint8_t x_66; lean_object* x_67; lean_object* x_74; uint8_t x_114; lean_object* x_115; lean_object* x_133; lean_object* x_134; lean_object* x_135; uint8_t x_136;
x_54 = lean_ctor_get(x_53, 0);
lean_inc(x_54);
x_55 = lean_ctor_get(x_53, 1);
@@ -30415,42 +30463,42 @@ if (lean_is_exclusive(x_53)) {
lean_dec_ref(x_53);
x_56 = lean_box(0);
}
-x_131 = lean_st_ref_get(x_15, x_55);
-x_132 = lean_ctor_get(x_131, 0);
-lean_inc(x_132);
-x_133 = lean_ctor_get(x_132, 3);
-lean_inc(x_133);
-lean_dec(x_132);
-x_134 = lean_ctor_get_uint8(x_133, sizeof(void*)*1);
-lean_dec(x_133);
-if (x_134 == 0)
-{
-lean_object* x_135;
-x_135 = lean_ctor_get(x_131, 1);
+x_133 = lean_st_ref_get(x_15, x_55);
+x_134 = lean_ctor_get(x_133, 0);
+lean_inc(x_134);
+x_135 = lean_ctor_get(x_134, 3);
lean_inc(x_135);
-lean_dec(x_131);
-x_112 = x_52;
-x_113 = x_135;
-goto block_130;
+lean_dec(x_134);
+x_136 = lean_ctor_get_uint8(x_135, sizeof(void*)*1);
+lean_dec(x_135);
+if (x_136 == 0)
+{
+lean_object* x_137;
+x_137 = lean_ctor_get(x_133, 1);
+lean_inc(x_137);
+lean_dec(x_133);
+x_114 = x_52;
+x_115 = x_137;
+goto block_132;
}
else
{
-lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; uint8_t x_140;
-x_136 = lean_ctor_get(x_131, 1);
-lean_inc(x_136);
-lean_dec(x_131);
-lean_inc(x_9);
-x_137 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_9, x_12, x_13, x_14, x_15, x_136);
-x_138 = lean_ctor_get(x_137, 0);
+lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; uint8_t x_142;
+x_138 = lean_ctor_get(x_133, 1);
lean_inc(x_138);
-x_139 = lean_ctor_get(x_137, 1);
-lean_inc(x_139);
-lean_dec(x_137);
-x_140 = lean_unbox(x_138);
-lean_dec(x_138);
-x_112 = x_140;
-x_113 = x_139;
-goto block_130;
+lean_dec(x_133);
+lean_inc(x_6);
+x_139 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_6, x_12, x_13, x_14, x_15, x_138);
+x_140 = lean_ctor_get(x_139, 0);
+lean_inc(x_140);
+x_141 = lean_ctor_get(x_139, 1);
+lean_inc(x_141);
+lean_dec(x_139);
+x_142 = lean_unbox(x_140);
+lean_dec(x_140);
+x_114 = x_142;
+x_115 = x_141;
+goto block_132;
}
block_65:
{
@@ -30477,278 +30525,196 @@ lean_ctor_set(x_64, 0, x_63);
lean_ctor_set(x_64, 1, x_57);
return x_64;
}
-block_111:
+block_73:
{
-lean_object* x_67; lean_object* x_68; lean_object* x_69;
-x_67 = l_Lean_Expr_getAppFn(x_54);
-x_68 = l_Lean_Expr_constLevels_x21(x_67);
-lean_dec(x_67);
-x_69 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_getUElimPos_x3f(x_68, x_6, x_12, x_13, x_14, x_15, x_66);
-if (lean_obj_tag(x_69) == 0)
+if (x_66 == 0)
{
-lean_object* x_70; lean_object* x_71; lean_object* x_72;
-x_70 = lean_ctor_get(x_69, 0);
-lean_inc(x_70);
-x_71 = lean_ctor_get(x_69, 1);
-lean_inc(x_71);
-lean_dec(x_69);
+lean_dec(x_15);
+lean_dec(x_14);
+lean_dec(x_13);
+lean_dec(x_12);
+lean_dec(x_6);
+x_57 = x_67;
+goto block_65;
+}
+else
+{
+lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72;
+lean_inc(x_54);
+x_68 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_68, 0, x_54);
+x_69 = l_Lean_Meta_Match_mkMatcher___lambda__1___closed__5;
+x_70 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_70, 0, x_69);
+lean_ctor_set(x_70, 1, x_68);
+x_71 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_6, x_70, x_12, x_13, x_14, x_15, x_67);
+lean_dec(x_15);
+lean_dec(x_14);
+lean_dec(x_13);
+lean_dec(x_12);
+x_72 = lean_ctor_get(x_71, 1);
+lean_inc(x_72);
+lean_dec(x_71);
+x_57 = x_72;
+goto block_65;
+}
+}
+block_113:
+{
+lean_object* x_75; lean_object* x_76; lean_object* x_77;
+x_75 = l_Lean_Expr_getAppFn(x_54);
+x_76 = l_Lean_Expr_constLevels_x21(x_75);
+lean_dec(x_75);
+x_77 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_getUElimPos_x3f(x_76, x_7, x_12, x_13, x_14, x_15, x_74);
+if (lean_obj_tag(x_77) == 0)
+{
+lean_object* x_78; lean_object* x_79; lean_object* x_80;
+x_78 = lean_ctor_get(x_77, 0);
+lean_inc(x_78);
+x_79 = lean_ctor_get(x_77, 1);
+lean_inc(x_79);
+lean_dec(x_77);
lean_inc(x_15);
lean_inc(x_14);
lean_inc(x_13);
lean_inc(x_12);
-x_72 = l_Lean_Meta_isLevelDefEq___at_Lean_Meta_Match_mkMatcher___spec__5(x_6, x_7, x_12, x_13, x_14, x_15, x_71);
-if (lean_obj_tag(x_72) == 0)
+x_80 = l_Lean_Meta_isLevelDefEq___at_Lean_Meta_Match_mkMatcher___spec__5(x_7, x_8, x_12, x_13, x_14, x_15, x_79);
+if (lean_obj_tag(x_80) == 0)
{
-lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; uint8_t x_80; lean_object* x_81;
-x_73 = lean_ctor_get(x_72, 1);
-lean_inc(x_73);
-lean_dec(x_72);
-x_74 = l_Lean_Expr_getAppNumArgsAux(x_54, x_39);
-x_75 = l_Array_umapMAux___main___at_Lean_Meta_Match_mkMatcher___spec__6(x_39, x_41);
-x_76 = x_75;
-x_77 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_77, 0, x_74);
-lean_ctor_set(x_77, 1, x_8);
-lean_ctor_set(x_77, 2, x_76);
-lean_ctor_set(x_77, 3, x_70);
+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_object* x_89;
+x_81 = lean_ctor_get(x_80, 1);
+lean_inc(x_81);
+lean_dec(x_80);
+x_82 = l_Lean_Expr_getAppNumArgsAux(x_54, x_39);
+x_83 = l_Array_umapMAux___main___at_Lean_Meta_Match_mkMatcher___spec__6(x_39, x_41);
+x_84 = x_83;
+x_85 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_85, 0, x_82);
+lean_ctor_set(x_85, 1, x_9);
+lean_ctor_set(x_85, 2, x_84);
+lean_ctor_set(x_85, 3, x_78);
lean_inc(x_4);
-x_78 = l_Lean_Meta_Match_addMatcherInfo(x_4, x_77, x_12, x_13, x_14, x_15, x_73);
-x_79 = lean_ctor_get(x_78, 1);
-lean_inc(x_79);
-lean_dec(x_78);
-x_80 = 0;
-x_81 = l_Lean_Meta_setInlineAttribute___at_Lean_Meta_Match_mkMatcher___spec__7(x_4, x_80, x_12, x_13, x_14, x_15, x_79);
-if (lean_obj_tag(x_81) == 0)
-{
-lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; uint8_t x_86;
-x_82 = lean_ctor_get(x_81, 1);
-lean_inc(x_82);
-lean_dec(x_81);
-x_83 = lean_st_ref_get(x_15, x_82);
-x_84 = lean_ctor_get(x_83, 0);
-lean_inc(x_84);
-x_85 = lean_ctor_get(x_84, 3);
-lean_inc(x_85);
-lean_dec(x_84);
-x_86 = lean_ctor_get_uint8(x_85, sizeof(void*)*1);
-lean_dec(x_85);
-if (x_86 == 0)
-{
-lean_object* x_87;
-lean_dec(x_15);
-lean_dec(x_14);
-lean_dec(x_13);
-lean_dec(x_12);
-lean_dec(x_9);
-x_87 = lean_ctor_get(x_83, 1);
+x_86 = l_Lean_Meta_Match_addMatcherInfo(x_4, x_85, x_12, x_13, x_14, x_15, x_81);
+x_87 = lean_ctor_get(x_86, 1);
lean_inc(x_87);
-lean_dec(x_83);
-x_57 = x_87;
-goto block_65;
-}
-else
+lean_dec(x_86);
+x_88 = 0;
+x_89 = l_Lean_Meta_setInlineAttribute___at_Lean_Meta_Match_mkMatcher___spec__7(x_4, x_88, x_12, x_13, x_14, x_15, x_87);
+if (lean_obj_tag(x_89) == 0)
{
-lean_object* x_88; lean_object* x_89; lean_object* x_90; uint8_t x_91;
-x_88 = lean_ctor_get(x_83, 1);
-lean_inc(x_88);
-lean_dec(x_83);
-lean_inc(x_9);
-x_89 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_9, x_12, x_13, x_14, x_15, x_88);
-x_90 = lean_ctor_get(x_89, 0);
+lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; uint8_t x_94;
+x_90 = lean_ctor_get(x_89, 1);
lean_inc(x_90);
-x_91 = lean_unbox(x_90);
-lean_dec(x_90);
-if (x_91 == 0)
-{
-lean_object* x_92;
-lean_dec(x_15);
-lean_dec(x_14);
-lean_dec(x_13);
-lean_dec(x_12);
-lean_dec(x_9);
-x_92 = lean_ctor_get(x_89, 1);
+lean_dec(x_89);
+x_91 = lean_st_ref_get(x_15, x_90);
+x_92 = lean_ctor_get(x_91, 0);
lean_inc(x_92);
-lean_dec(x_89);
-x_57 = x_92;
-goto block_65;
-}
-else
-{
-lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98;
-x_93 = lean_ctor_get(x_89, 1);
+x_93 = lean_ctor_get(x_92, 3);
lean_inc(x_93);
-lean_dec(x_89);
-lean_inc(x_54);
-x_94 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_94, 0, x_54);
-x_95 = l_Lean_Meta_Match_mkMatcher___lambda__1___closed__5;
-x_96 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_96, 0, x_95);
-lean_ctor_set(x_96, 1, x_94);
-x_97 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_9, x_96, x_12, x_13, x_14, x_15, x_93);
-lean_dec(x_15);
-lean_dec(x_14);
-lean_dec(x_13);
-lean_dec(x_12);
-x_98 = lean_ctor_get(x_97, 1);
-lean_inc(x_98);
-lean_dec(x_97);
-x_57 = x_98;
-goto block_65;
-}
-}
+lean_dec(x_92);
+x_94 = lean_ctor_get_uint8(x_93, sizeof(void*)*1);
+lean_dec(x_93);
+if (x_94 == 0)
+{
+lean_object* x_95;
+x_95 = lean_ctor_get(x_91, 1);
+lean_inc(x_95);
+lean_dec(x_91);
+x_66 = x_52;
+x_67 = x_95;
+goto block_73;
}
else
{
-uint8_t x_99;
-lean_dec(x_56);
-lean_dec(x_54);
-lean_dec(x_35);
-lean_dec(x_15);
-lean_dec(x_14);
-lean_dec(x_13);
-lean_dec(x_12);
-lean_dec(x_9);
-x_99 = !lean_is_exclusive(x_81);
-if (x_99 == 0)
-{
-return x_81;
-}
-else
-{
-lean_object* x_100; lean_object* x_101; lean_object* x_102;
-x_100 = lean_ctor_get(x_81, 0);
-x_101 = lean_ctor_get(x_81, 1);
-lean_inc(x_101);
-lean_inc(x_100);
-lean_dec(x_81);
-x_102 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_102, 0, x_100);
-lean_ctor_set(x_102, 1, x_101);
-return x_102;
-}
-}
-}
-else
-{
-uint8_t x_103;
-lean_dec(x_70);
-lean_dec(x_56);
-lean_dec(x_54);
-lean_dec(x_41);
-lean_dec(x_35);
-lean_dec(x_15);
-lean_dec(x_14);
-lean_dec(x_13);
-lean_dec(x_12);
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_4);
-x_103 = !lean_is_exclusive(x_72);
-if (x_103 == 0)
-{
-return x_72;
-}
-else
-{
-lean_object* x_104; lean_object* x_105; lean_object* x_106;
-x_104 = lean_ctor_get(x_72, 0);
-x_105 = lean_ctor_get(x_72, 1);
-lean_inc(x_105);
-lean_inc(x_104);
-lean_dec(x_72);
-x_106 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_106, 0, x_104);
-lean_ctor_set(x_106, 1, x_105);
-return x_106;
-}
-}
-}
-else
-{
-uint8_t x_107;
-lean_dec(x_56);
-lean_dec(x_54);
-lean_dec(x_41);
-lean_dec(x_35);
-lean_dec(x_15);
-lean_dec(x_14);
-lean_dec(x_13);
-lean_dec(x_12);
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_4);
-x_107 = !lean_is_exclusive(x_69);
-if (x_107 == 0)
-{
-return x_69;
-}
-else
-{
-lean_object* x_108; lean_object* x_109; lean_object* x_110;
-x_108 = lean_ctor_get(x_69, 0);
-x_109 = lean_ctor_get(x_69, 1);
-lean_inc(x_109);
-lean_inc(x_108);
-lean_dec(x_69);
-x_110 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_110, 0, x_108);
-lean_ctor_set(x_110, 1, x_109);
-return x_110;
-}
-}
-}
-block_130:
-{
-if (x_112 == 0)
-{
-x_66 = x_113;
-goto block_111;
-}
-else
-{
-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;
-x_114 = l_Lean_Expr_getAppFn(x_54);
-x_115 = l_Lean_Expr_constLevels_x21(x_114);
-lean_dec(x_114);
-x_116 = l_List_toString___at_Lean_Meta_Match_mkMatcher___spec__8(x_115);
-x_117 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_117, 0, x_116);
-x_118 = lean_alloc_ctor(0, 1, 0);
-lean_ctor_set(x_118, 0, x_117);
-x_119 = l_Lean_Meta_Match_mkMatcher___lambda__1___closed__8;
-x_120 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_120, 0, x_119);
-lean_ctor_set(x_120, 1, x_118);
-x_121 = l_Lean_Meta_Match_mkMatcher___lambda__1___closed__11;
-x_122 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_122, 0, x_120);
-lean_ctor_set(x_122, 1, x_121);
+lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; uint8_t x_100;
+x_96 = lean_ctor_get(x_91, 1);
+lean_inc(x_96);
+lean_dec(x_91);
lean_inc(x_6);
-x_123 = l_Lean_Level_format(x_6);
-x_124 = l_Lean_Format_pretty(x_123, x_27);
-x_125 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_125, 0, x_124);
-x_126 = lean_alloc_ctor(0, 1, 0);
-lean_ctor_set(x_126, 0, x_125);
-x_127 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_127, 0, x_122);
-lean_ctor_set(x_127, 1, x_126);
-lean_inc(x_9);
-x_128 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_9, x_127, x_12, x_13, x_14, x_15, x_113);
-x_129 = lean_ctor_get(x_128, 1);
-lean_inc(x_129);
-lean_dec(x_128);
-x_66 = x_129;
-goto block_111;
+x_97 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_6, x_12, x_13, x_14, x_15, x_96);
+x_98 = lean_ctor_get(x_97, 0);
+lean_inc(x_98);
+x_99 = lean_ctor_get(x_97, 1);
+lean_inc(x_99);
+lean_dec(x_97);
+x_100 = lean_unbox(x_98);
+lean_dec(x_98);
+x_66 = x_100;
+x_67 = x_99;
+goto block_73;
+}
+}
+else
+{
+uint8_t x_101;
+lean_dec(x_56);
+lean_dec(x_54);
+lean_dec(x_35);
+lean_dec(x_15);
+lean_dec(x_14);
+lean_dec(x_13);
+lean_dec(x_12);
+lean_dec(x_6);
+x_101 = !lean_is_exclusive(x_89);
+if (x_101 == 0)
+{
+return x_89;
+}
+else
+{
+lean_object* x_102; lean_object* x_103; lean_object* x_104;
+x_102 = lean_ctor_get(x_89, 0);
+x_103 = lean_ctor_get(x_89, 1);
+lean_inc(x_103);
+lean_inc(x_102);
+lean_dec(x_89);
+x_104 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_104, 0, x_102);
+lean_ctor_set(x_104, 1, x_103);
+return x_104;
}
}
}
else
{
-uint8_t x_141;
+uint8_t x_105;
+lean_dec(x_78);
+lean_dec(x_56);
+lean_dec(x_54);
+lean_dec(x_41);
+lean_dec(x_35);
+lean_dec(x_15);
+lean_dec(x_14);
+lean_dec(x_13);
+lean_dec(x_12);
+lean_dec(x_9);
+lean_dec(x_6);
+lean_dec(x_4);
+x_105 = !lean_is_exclusive(x_80);
+if (x_105 == 0)
+{
+return x_80;
+}
+else
+{
+lean_object* x_106; lean_object* x_107; lean_object* x_108;
+x_106 = lean_ctor_get(x_80, 0);
+x_107 = lean_ctor_get(x_80, 1);
+lean_inc(x_107);
+lean_inc(x_106);
+lean_dec(x_80);
+x_108 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_108, 0, x_106);
+lean_ctor_set(x_108, 1, x_107);
+return x_108;
+}
+}
+}
+else
+{
+uint8_t x_109;
+lean_dec(x_56);
+lean_dec(x_54);
lean_dec(x_41);
lean_dec(x_35);
lean_dec(x_15);
@@ -30760,66 +30726,146 @@ lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_4);
-x_141 = !lean_is_exclusive(x_53);
-if (x_141 == 0)
+x_109 = !lean_is_exclusive(x_77);
+if (x_109 == 0)
+{
+return x_77;
+}
+else
+{
+lean_object* x_110; lean_object* x_111; lean_object* x_112;
+x_110 = lean_ctor_get(x_77, 0);
+x_111 = lean_ctor_get(x_77, 1);
+lean_inc(x_111);
+lean_inc(x_110);
+lean_dec(x_77);
+x_112 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_112, 0, x_110);
+lean_ctor_set(x_112, 1, x_111);
+return x_112;
+}
+}
+}
+block_132:
+{
+if (x_114 == 0)
+{
+x_74 = x_115;
+goto block_113;
+}
+else
+{
+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;
+x_116 = l_Lean_Expr_getAppFn(x_54);
+x_117 = l_Lean_Expr_constLevels_x21(x_116);
+lean_dec(x_116);
+x_118 = l_List_toString___at_Lean_Meta_Match_mkMatcher___spec__8(x_117);
+x_119 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_119, 0, x_118);
+x_120 = lean_alloc_ctor(0, 1, 0);
+lean_ctor_set(x_120, 0, x_119);
+x_121 = l_Lean_Meta_Match_mkMatcher___lambda__1___closed__8;
+x_122 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_122, 0, x_121);
+lean_ctor_set(x_122, 1, x_120);
+x_123 = l_Lean_Meta_Match_mkMatcher___lambda__1___closed__11;
+x_124 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_124, 0, x_122);
+lean_ctor_set(x_124, 1, x_123);
+lean_inc(x_7);
+x_125 = l_Lean_Level_format(x_7);
+x_126 = l_Lean_Format_pretty(x_125, x_27);
+x_127 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_127, 0, x_126);
+x_128 = lean_alloc_ctor(0, 1, 0);
+lean_ctor_set(x_128, 0, x_127);
+x_129 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_129, 0, x_124);
+lean_ctor_set(x_129, 1, x_128);
+lean_inc(x_6);
+x_130 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_6, x_129, x_12, x_13, x_14, x_15, x_115);
+x_131 = lean_ctor_get(x_130, 1);
+lean_inc(x_131);
+lean_dec(x_130);
+x_74 = x_131;
+goto block_113;
+}
+}
+}
+else
+{
+uint8_t x_143;
+lean_dec(x_41);
+lean_dec(x_35);
+lean_dec(x_15);
+lean_dec(x_14);
+lean_dec(x_13);
+lean_dec(x_12);
+lean_dec(x_9);
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_4);
+x_143 = !lean_is_exclusive(x_53);
+if (x_143 == 0)
{
return x_53;
}
else
{
-lean_object* x_142; lean_object* x_143; lean_object* x_144;
-x_142 = lean_ctor_get(x_53, 0);
-x_143 = lean_ctor_get(x_53, 1);
-lean_inc(x_143);
-lean_inc(x_142);
+lean_object* x_144; lean_object* x_145; lean_object* x_146;
+x_144 = lean_ctor_get(x_53, 0);
+x_145 = lean_ctor_get(x_53, 1);
+lean_inc(x_145);
+lean_inc(x_144);
lean_dec(x_53);
-x_144 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_144, 0, x_142);
-lean_ctor_set(x_144, 1, x_143);
-return x_144;
+x_146 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_146, 0, x_144);
+lean_ctor_set(x_146, 1, x_145);
+return x_146;
}
}
}
-block_157:
+block_159:
{
-if (x_146 == 0)
+if (x_148 == 0)
{
-x_51 = x_147;
-goto block_145;
+x_51 = x_149;
+goto block_147;
}
else
{
-lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156;
+lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158;
lean_inc(x_49);
-x_148 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_148, 0, x_49);
-x_149 = l_Lean_Meta_Match_mkMatcher___lambda__1___closed__14;
-x_150 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_150, 0, x_149);
-lean_ctor_set(x_150, 1, x_148);
-x_151 = l_Lean_Meta_Match_mkMatcher___lambda__1___closed__17;
+x_150 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_150, 0, x_49);
+x_151 = l_Lean_Meta_Match_mkMatcher___lambda__1___closed__14;
x_152 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_152, 0, x_150);
-lean_ctor_set(x_152, 1, x_151);
-lean_inc(x_46);
-x_153 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_153, 0, x_46);
+lean_ctor_set(x_152, 0, x_151);
+lean_ctor_set(x_152, 1, x_150);
+x_153 = l_Lean_Meta_Match_mkMatcher___lambda__1___closed__17;
x_154 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_154, 0, x_152);
lean_ctor_set(x_154, 1, x_153);
-lean_inc(x_9);
-x_155 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_9, x_154, x_12, x_13, x_14, x_15, x_147);
-x_156 = lean_ctor_get(x_155, 1);
-lean_inc(x_156);
-lean_dec(x_155);
-x_51 = x_156;
-goto block_145;
+lean_inc(x_46);
+x_155 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_155, 0, x_46);
+x_156 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_156, 0, x_154);
+lean_ctor_set(x_156, 1, x_155);
+lean_inc(x_6);
+x_157 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_6, x_156, x_12, x_13, x_14, x_15, x_149);
+x_158 = lean_ctor_get(x_157, 1);
+lean_inc(x_158);
+lean_dec(x_157);
+x_51 = x_158;
+goto block_147;
}
}
}
else
{
-uint8_t x_169;
+uint8_t x_171;
lean_dec(x_46);
lean_dec(x_41);
lean_dec(x_35);
@@ -30832,29 +30878,29 @@ lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_4);
-x_169 = !lean_is_exclusive(x_48);
-if (x_169 == 0)
+x_171 = !lean_is_exclusive(x_48);
+if (x_171 == 0)
{
return x_48;
}
else
{
-lean_object* x_170; lean_object* x_171; lean_object* x_172;
-x_170 = lean_ctor_get(x_48, 0);
-x_171 = lean_ctor_get(x_48, 1);
-lean_inc(x_171);
-lean_inc(x_170);
+lean_object* x_172; lean_object* x_173; lean_object* x_174;
+x_172 = lean_ctor_get(x_48, 0);
+x_173 = lean_ctor_get(x_48, 1);
+lean_inc(x_173);
+lean_inc(x_172);
lean_dec(x_48);
-x_172 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_172, 0, x_170);
-lean_ctor_set(x_172, 1, x_171);
-return x_172;
+x_174 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_174, 0, x_172);
+lean_ctor_set(x_174, 1, x_173);
+return x_174;
}
}
}
else
{
-uint8_t x_173;
+uint8_t x_175;
lean_dec(x_44);
lean_dec(x_41);
lean_dec(x_35);
@@ -30868,29 +30914,29 @@ lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_4);
-x_173 = !lean_is_exclusive(x_45);
-if (x_173 == 0)
+x_175 = !lean_is_exclusive(x_45);
+if (x_175 == 0)
{
return x_45;
}
else
{
-lean_object* x_174; lean_object* x_175; lean_object* x_176;
-x_174 = lean_ctor_get(x_45, 0);
-x_175 = lean_ctor_get(x_45, 1);
-lean_inc(x_175);
-lean_inc(x_174);
+lean_object* x_176; lean_object* x_177; lean_object* x_178;
+x_176 = lean_ctor_get(x_45, 0);
+x_177 = lean_ctor_get(x_45, 1);
+lean_inc(x_177);
+lean_inc(x_176);
lean_dec(x_45);
-x_176 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_176, 0, x_174);
-lean_ctor_set(x_176, 1, x_175);
-return x_176;
+x_178 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_178, 0, x_176);
+lean_ctor_set(x_178, 1, x_177);
+return x_178;
}
}
}
else
{
-uint8_t x_177;
+uint8_t x_179;
lean_dec(x_30);
lean_dec(x_21);
lean_dec(x_15);
@@ -30905,23 +30951,23 @@ lean_dec(x_6);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_1);
-x_177 = !lean_is_exclusive(x_32);
-if (x_177 == 0)
+x_179 = !lean_is_exclusive(x_32);
+if (x_179 == 0)
{
return x_32;
}
else
{
-lean_object* x_178; lean_object* x_179; lean_object* x_180;
-x_178 = lean_ctor_get(x_32, 0);
-x_179 = lean_ctor_get(x_32, 1);
-lean_inc(x_179);
-lean_inc(x_178);
+lean_object* x_180; lean_object* x_181; lean_object* x_182;
+x_180 = lean_ctor_get(x_32, 0);
+x_181 = lean_ctor_get(x_32, 1);
+lean_inc(x_181);
+lean_inc(x_180);
lean_dec(x_32);
-x_180 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_180, 0, x_178);
-lean_ctor_set(x_180, 1, x_179);
-return x_180;
+x_182 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_182, 0, x_180);
+lean_ctor_set(x_182, 1, x_181);
+return x_182;
}
}
}
@@ -30985,168 +31031,166 @@ return x_2;
lean_object* l_Lean_Meta_Match_mkMatcher___lambda__2(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) {
_start:
{
-lean_object* x_14; lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45;
-x_42 = lean_st_ref_get(x_12, x_13);
-x_43 = lean_ctor_get(x_42, 0);
-lean_inc(x_43);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-lean_dec(x_43);
-x_45 = lean_ctor_get_uint8(x_44, sizeof(void*)*1);
-lean_dec(x_44);
-if (x_45 == 0)
+lean_object* x_14; uint8_t x_44; lean_object* x_45; lean_object* x_53; lean_object* x_54; lean_object* x_55; uint8_t x_56;
+x_53 = lean_st_ref_get(x_12, x_13);
+x_54 = lean_ctor_get(x_53, 0);
+lean_inc(x_54);
+x_55 = lean_ctor_get(x_54, 3);
+lean_inc(x_55);
+lean_dec(x_54);
+x_56 = lean_ctor_get_uint8(x_55, sizeof(void*)*1);
+lean_dec(x_55);
+if (x_56 == 0)
{
-lean_object* x_46;
-lean_dec(x_7);
-x_46 = lean_ctor_get(x_42, 1);
-lean_inc(x_46);
-lean_dec(x_42);
-x_14 = x_46;
-goto block_41;
+lean_object* x_57; uint8_t x_58;
+x_57 = lean_ctor_get(x_53, 1);
+lean_inc(x_57);
+lean_dec(x_53);
+x_58 = 0;
+x_44 = x_58;
+x_45 = x_57;
+goto block_52;
}
else
{
-lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; uint8_t x_51;
-x_47 = lean_ctor_get(x_42, 1);
-lean_inc(x_47);
-lean_dec(x_42);
-x_48 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__3;
-x_49 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_48, x_9, x_10, x_11, x_12, x_47);
-x_50 = lean_ctor_get(x_49, 0);
-lean_inc(x_50);
-x_51 = lean_unbox(x_50);
-lean_dec(x_50);
-if (x_51 == 0)
-{
-lean_object* x_52;
-lean_dec(x_7);
-x_52 = lean_ctor_get(x_49, 1);
-lean_inc(x_52);
-lean_dec(x_49);
-x_14 = x_52;
-goto block_41;
+lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; uint8_t x_64;
+x_59 = lean_ctor_get(x_53, 1);
+lean_inc(x_59);
+lean_dec(x_53);
+x_60 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__3;
+x_61 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_60, x_9, x_10, x_11, x_12, x_59);
+x_62 = lean_ctor_get(x_61, 0);
+lean_inc(x_62);
+x_63 = lean_ctor_get(x_61, 1);
+lean_inc(x_63);
+lean_dec(x_61);
+x_64 = lean_unbox(x_62);
+lean_dec(x_62);
+x_44 = x_64;
+x_45 = x_63;
+goto block_52;
}
-else
+block_43:
{
-lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58;
-x_53 = lean_ctor_get(x_49, 1);
-lean_inc(x_53);
-lean_dec(x_49);
-x_54 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_54, 0, x_7);
-x_55 = l_Lean_Meta_Match_mkMatcher___lambda__2___closed__6;
-x_56 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_56, 0, x_55);
-lean_ctor_set(x_56, 1, x_54);
-x_57 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_48, x_56, x_9, x_10, x_11, x_12, x_53);
-x_58 = lean_ctor_get(x_57, 1);
-lean_inc(x_58);
-lean_dec(x_57);
-x_14 = x_58;
-goto block_41;
-}
-}
-block_41:
-{
-lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20;
+lean_object* x_15; lean_object* x_16; uint8_t x_17; lean_object* x_18; lean_object* x_31; lean_object* x_32; lean_object* x_33; uint8_t x_34;
x_15 = lean_unsigned_to_nat(0u);
lean_inc(x_8);
x_16 = l_Array_iterateMAux___main___at_Lean_mkAppN___spec__1(x_1, x_1, x_15, x_8);
-x_17 = lean_st_ref_get(x_12, x_14);
-x_18 = lean_ctor_get(x_17, 0);
-lean_inc(x_18);
-x_19 = lean_ctor_get(x_18, 3);
-lean_inc(x_19);
-lean_dec(x_18);
-x_20 = lean_ctor_get_uint8(x_19, sizeof(void*)*1);
-lean_dec(x_19);
-if (x_20 == 0)
-{
-lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
-x_21 = lean_ctor_get(x_17, 1);
-lean_inc(x_21);
-lean_dec(x_17);
-x_22 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__3;
-lean_inc(x_3);
-lean_inc(x_8);
-x_23 = lean_alloc_closure((void*)(l_Lean_Meta_Match_mkMatcher___lambda__1___boxed), 16, 9);
-lean_closure_set(x_23, 0, x_16);
-lean_closure_set(x_23, 1, x_1);
-lean_closure_set(x_23, 2, x_8);
-lean_closure_set(x_23, 3, x_2);
-lean_closure_set(x_23, 4, x_3);
-lean_closure_set(x_23, 5, x_4);
-lean_closure_set(x_23, 6, x_5);
-lean_closure_set(x_23, 7, x_6);
-lean_closure_set(x_23, 8, x_22);
-x_24 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts___rarg(x_8, x_3, x_23, x_9, x_10, x_11, x_12, x_21);
-return x_24;
-}
-else
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t x_29;
-x_25 = lean_ctor_get(x_17, 1);
-lean_inc(x_25);
-lean_dec(x_17);
-x_26 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__3;
-x_27 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_26, x_9, x_10, x_11, x_12, x_25);
-x_28 = lean_ctor_get(x_27, 0);
-lean_inc(x_28);
-x_29 = lean_unbox(x_28);
-lean_dec(x_28);
-if (x_29 == 0)
-{
-lean_object* x_30; lean_object* x_31; lean_object* x_32;
-x_30 = lean_ctor_get(x_27, 1);
-lean_inc(x_30);
-lean_dec(x_27);
-lean_inc(x_3);
-lean_inc(x_8);
-x_31 = lean_alloc_closure((void*)(l_Lean_Meta_Match_mkMatcher___lambda__1___boxed), 16, 9);
-lean_closure_set(x_31, 0, x_16);
-lean_closure_set(x_31, 1, x_1);
-lean_closure_set(x_31, 2, x_8);
-lean_closure_set(x_31, 3, x_2);
-lean_closure_set(x_31, 4, x_3);
-lean_closure_set(x_31, 5, x_4);
-lean_closure_set(x_31, 6, x_5);
-lean_closure_set(x_31, 7, x_6);
-lean_closure_set(x_31, 8, x_26);
-x_32 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts___rarg(x_8, x_3, x_31, x_9, x_10, x_11, x_12, x_30);
-return x_32;
-}
-else
-{
-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;
-x_33 = lean_ctor_get(x_27, 1);
+x_31 = lean_st_ref_get(x_12, x_14);
+x_32 = lean_ctor_get(x_31, 0);
+lean_inc(x_32);
+x_33 = lean_ctor_get(x_32, 3);
lean_inc(x_33);
-lean_dec(x_27);
-lean_inc(x_16);
-x_34 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_34, 0, x_16);
-x_35 = l_Lean_Meta_Match_mkMatcher___lambda__2___closed__3;
-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_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_26, x_36, x_9, x_10, x_11, x_12, x_33);
-x_38 = lean_ctor_get(x_37, 1);
-lean_inc(x_38);
-lean_dec(x_37);
+lean_dec(x_32);
+x_34 = lean_ctor_get_uint8(x_33, sizeof(void*)*1);
+lean_dec(x_33);
+if (x_34 == 0)
+{
+lean_object* x_35; uint8_t x_36;
+x_35 = lean_ctor_get(x_31, 1);
+lean_inc(x_35);
+lean_dec(x_31);
+x_36 = 0;
+x_17 = x_36;
+x_18 = x_35;
+goto block_30;
+}
+else
+{
+lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; uint8_t x_42;
+x_37 = lean_ctor_get(x_31, 1);
+lean_inc(x_37);
+lean_dec(x_31);
+x_38 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__3;
+x_39 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_38, x_9, x_10, x_11, x_12, x_37);
+x_40 = lean_ctor_get(x_39, 0);
+lean_inc(x_40);
+x_41 = lean_ctor_get(x_39, 1);
+lean_inc(x_41);
+lean_dec(x_39);
+x_42 = lean_unbox(x_40);
+lean_dec(x_40);
+x_17 = x_42;
+x_18 = x_41;
+goto block_30;
+}
+block_30:
+{
+if (x_17 == 0)
+{
+lean_object* x_19; lean_object* x_20; lean_object* x_21;
+x_19 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__3;
lean_inc(x_3);
lean_inc(x_8);
-x_39 = lean_alloc_closure((void*)(l_Lean_Meta_Match_mkMatcher___lambda__1___boxed), 16, 9);
-lean_closure_set(x_39, 0, x_16);
-lean_closure_set(x_39, 1, x_1);
-lean_closure_set(x_39, 2, x_8);
-lean_closure_set(x_39, 3, x_2);
-lean_closure_set(x_39, 4, x_3);
-lean_closure_set(x_39, 5, x_4);
-lean_closure_set(x_39, 6, x_5);
-lean_closure_set(x_39, 7, x_6);
-lean_closure_set(x_39, 8, x_26);
-x_40 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts___rarg(x_8, x_3, x_39, x_9, x_10, x_11, x_12, x_38);
-return x_40;
+x_20 = lean_alloc_closure((void*)(l_Lean_Meta_Match_mkMatcher___lambda__1___boxed), 16, 9);
+lean_closure_set(x_20, 0, x_16);
+lean_closure_set(x_20, 1, x_1);
+lean_closure_set(x_20, 2, x_8);
+lean_closure_set(x_20, 3, x_2);
+lean_closure_set(x_20, 4, x_3);
+lean_closure_set(x_20, 5, x_19);
+lean_closure_set(x_20, 6, x_4);
+lean_closure_set(x_20, 7, x_5);
+lean_closure_set(x_20, 8, x_6);
+x_21 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts___rarg(x_8, x_3, x_20, x_9, x_10, x_11, x_12, x_18);
+return x_21;
}
+else
+{
+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_inc(x_16);
+x_22 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_22, 0, x_16);
+x_23 = l_Lean_Meta_Match_mkMatcher___lambda__2___closed__3;
+x_24 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_24, 0, x_23);
+lean_ctor_set(x_24, 1, x_22);
+x_25 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__3;
+x_26 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_25, x_24, x_9, x_10, x_11, x_12, x_18);
+x_27 = lean_ctor_get(x_26, 1);
+lean_inc(x_27);
+lean_dec(x_26);
+lean_inc(x_3);
+lean_inc(x_8);
+x_28 = lean_alloc_closure((void*)(l_Lean_Meta_Match_mkMatcher___lambda__1___boxed), 16, 9);
+lean_closure_set(x_28, 0, x_16);
+lean_closure_set(x_28, 1, x_1);
+lean_closure_set(x_28, 2, x_8);
+lean_closure_set(x_28, 3, x_2);
+lean_closure_set(x_28, 4, x_3);
+lean_closure_set(x_28, 5, x_25);
+lean_closure_set(x_28, 6, x_4);
+lean_closure_set(x_28, 7, x_5);
+lean_closure_set(x_28, 8, x_6);
+x_29 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts___rarg(x_8, x_3, x_28, x_9, x_10, x_11, x_12, x_27);
+return x_29;
+}
+}
+}
+block_52:
+{
+if (x_44 == 0)
+{
+lean_dec(x_7);
+x_14 = x_45;
+goto block_43;
+}
+else
+{
+lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51;
+x_46 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_46, 0, x_7);
+x_47 = l_Lean_Meta_Match_mkMatcher___lambda__2___closed__6;
+x_48 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_48, 0, x_47);
+lean_ctor_set(x_48, 1, x_46);
+x_49 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__3;
+x_50 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_49, x_48, x_9, x_10, x_11, x_12, x_45);
+x_51 = lean_ctor_get(x_50, 1);
+lean_inc(x_51);
+lean_dec(x_50);
+x_14 = x_51;
+goto block_43;
}
}
}
@@ -32891,7 +32935,7 @@ lean_inc(x_7);
x_12 = l_Lean_Meta_mkLambdaFVars___at_Lean_Meta_SynthInstance_tryResolveCore___spec__1(x_1, x_2, x_7, x_8, x_9, x_10, x_11);
if (lean_obj_tag(x_12) == 0)
{
-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; lean_object* x_23; lean_object* x_44; lean_object* x_45; lean_object* x_46; uint8_t x_47;
+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; lean_object* x_23; uint8_t x_44; lean_object* x_45; lean_object* x_51; lean_object* x_52; lean_object* x_53; uint8_t x_54;
x_13 = lean_ctor_get(x_12, 0);
lean_inc(x_13);
x_14 = lean_ctor_get(x_12, 1);
@@ -32909,60 +32953,43 @@ x_20 = l_Array_iterateMAux___main___at_Lean_mkAppN___spec__1(x_18, x_18, x_19, x
lean_inc(x_13);
x_21 = l_Lean_mkApp(x_20, x_13);
x_22 = l_Array_iterateMAux___main___at_Lean_mkAppN___spec__1(x_4, x_4, x_19, x_21);
-x_44 = lean_st_ref_get(x_10, x_14);
-x_45 = lean_ctor_get(x_44, 0);
-lean_inc(x_45);
-x_46 = lean_ctor_get(x_45, 3);
-lean_inc(x_46);
-lean_dec(x_45);
-x_47 = lean_ctor_get_uint8(x_46, sizeof(void*)*1);
-lean_dec(x_46);
-if (x_47 == 0)
-{
-lean_object* x_48;
-x_48 = lean_ctor_get(x_44, 1);
-lean_inc(x_48);
-lean_dec(x_44);
-x_23 = x_48;
-goto block_43;
-}
-else
-{
-lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; uint8_t x_53;
-x_49 = lean_ctor_get(x_44, 1);
-lean_inc(x_49);
-lean_dec(x_44);
-x_50 = l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_517____closed__4;
-x_51 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_50, x_7, x_8, x_9, x_10, x_49);
+x_51 = lean_st_ref_get(x_10, x_14);
x_52 = lean_ctor_get(x_51, 0);
lean_inc(x_52);
-x_53 = lean_unbox(x_52);
+x_53 = lean_ctor_get(x_52, 3);
+lean_inc(x_53);
lean_dec(x_52);
-if (x_53 == 0)
+x_54 = lean_ctor_get_uint8(x_53, sizeof(void*)*1);
+lean_dec(x_53);
+if (x_54 == 0)
{
-lean_object* x_54;
-x_54 = lean_ctor_get(x_51, 1);
-lean_inc(x_54);
-lean_dec(x_51);
-x_23 = x_54;
-goto block_43;
-}
-else
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58;
+lean_object* x_55; uint8_t x_56;
x_55 = lean_ctor_get(x_51, 1);
lean_inc(x_55);
lean_dec(x_51);
-lean_inc(x_22);
-x_56 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_56, 0, x_22);
-x_57 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_50, x_56, x_7, x_8, x_9, x_10, x_55);
-x_58 = lean_ctor_get(x_57, 1);
-lean_inc(x_58);
-lean_dec(x_57);
-x_23 = x_58;
-goto block_43;
+x_56 = 0;
+x_44 = x_56;
+x_45 = x_55;
+goto block_50;
}
+else
+{
+lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; uint8_t x_62;
+x_57 = lean_ctor_get(x_51, 1);
+lean_inc(x_57);
+lean_dec(x_51);
+x_58 = l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_517____closed__4;
+x_59 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_58, x_7, x_8, x_9, x_10, x_57);
+x_60 = lean_ctor_get(x_59, 0);
+lean_inc(x_60);
+x_61 = lean_ctor_get(x_59, 1);
+lean_inc(x_61);
+lean_dec(x_59);
+x_62 = lean_unbox(x_60);
+lean_dec(x_60);
+x_44 = x_62;
+x_45 = x_61;
+goto block_50;
}
block_43:
{
@@ -33074,10 +33101,32 @@ return x_42;
}
}
}
+block_50:
+{
+if (x_44 == 0)
+{
+x_23 = x_45;
+goto block_43;
}
else
{
-uint8_t x_59;
+lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49;
+lean_inc(x_22);
+x_46 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_46, 0, x_22);
+x_47 = l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_517____closed__4;
+x_48 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_47, x_46, x_7, x_8, x_9, x_10, x_45);
+x_49 = lean_ctor_get(x_48, 1);
+lean_inc(x_49);
+lean_dec(x_48);
+x_23 = x_49;
+goto block_43;
+}
+}
+}
+else
+{
+uint8_t x_63;
lean_dec(x_10);
lean_dec(x_9);
lean_dec(x_8);
@@ -33086,23 +33135,23 @@ lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
-x_59 = !lean_is_exclusive(x_12);
-if (x_59 == 0)
+x_63 = !lean_is_exclusive(x_12);
+if (x_63 == 0)
{
return x_12;
}
else
{
-lean_object* x_60; lean_object* x_61; lean_object* x_62;
-x_60 = lean_ctor_get(x_12, 0);
-x_61 = lean_ctor_get(x_12, 1);
-lean_inc(x_61);
-lean_inc(x_60);
+lean_object* x_64; lean_object* x_65; lean_object* x_66;
+x_64 = lean_ctor_get(x_12, 0);
+x_65 = lean_ctor_get(x_12, 1);
+lean_inc(x_65);
+lean_inc(x_64);
lean_dec(x_12);
-x_62 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_62, 0, x_60);
-lean_ctor_set(x_62, 1, x_61);
-return x_62;
+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;
}
}
}
diff --git a/stage0/stdlib/Lean/Meta/SynthInstance.c b/stage0/stdlib/Lean/Meta/SynthInstance.c
index 70d6edb657..5983c9c387 100644
--- a/stage0/stdlib/Lean/Meta/SynthInstance.c
+++ b/stage0/stdlib/Lean/Meta/SynthInstance.c
@@ -13,7 +13,6 @@
#ifdef __cplusplus
extern "C" {
#endif
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_SynthInstance_newSubgoal___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_List_reverse___rarg(lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_Meta_SynthInstance_getInstances___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_AssocList_contains___at_Lean_Meta_SynthInstance_newSubgoal___spec__5___boxed(lean_object*, lean_object*);
@@ -41,16 +40,13 @@ lean_object* l_Std_AssocList_find_x3f___at_Lean_Meta_SynthInstance_MkTableKey_no
lean_object* l_List_mapM___main___at_Lean_Meta_SynthInstance_getInstances___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_SynthInstance_resume_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_stringToMessageData(lean_object*);
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_SynthInstance_main___spec__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_SynthInstance_getTop(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_SynthInstance_0__Lean_Meta_preprocessArgs___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_SynthInstance_0__Lean_Meta_preprocessOutParam_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_SynthInstance_MkTableKey_normLevel(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_SynthInstance_State_resumeStack___default;
extern lean_object* l_Lean_withIncRecDepth___rarg___lambda__2___closed__2;
-lean_object* l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_SynthInstance_main___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_SynthInstance_tryAnswer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_SynthInstance_main___spec__1___rarg___boxed(lean_object*, lean_object*);
lean_object* l_Option_toLOption___rarg(lean_object*);
lean_object* l_Lean_Meta_isExprMVarAssigned___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthPendingImp___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_MetavarContext_instantiateMVars(lean_object*, lean_object*);
@@ -62,7 +58,6 @@ lean_object* lean_array_uget(lean_object*, size_t);
lean_object* l_Lean_Meta_SynthInstance_tryAnswer___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_SynthInstance_MkTableKey_State_emap___default;
lean_object* l_Std_PersistentHashMap_insertAux___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_SynthInstance_main___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_expr_update_mdata(lean_object*, lean_object*);
uint8_t lean_name_eq(lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_Meta_SynthInstance_getInstances___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -80,7 +75,6 @@ lean_object* l_Lean_Meta_SynthInstance_resume___lambda__1___boxed(lean_object*,
lean_object* l_Lean_Meta_SynthInstance_getEntry_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_SynthInstance_SynthM_inhabited___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_SynthInstance_synth___closed__5;
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_SynthInstance_tryResolve___spec__1___rarg___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Meta_SynthInstance_getResult(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
size_t l_USize_sub(size_t, size_t);
lean_object* l_Std_HashMapImp_insert___at_Lean_Meta_SynthInstance_MkTableKey_normLevel___spec__3(lean_object*, lean_object*, lean_object*);
@@ -98,6 +92,7 @@ lean_object* lean_st_ref_get(lean_object*, lean_object*);
lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_SynthInstance___hyg_3330____closed__4;
lean_object* l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___closed__2;
lean_object* l_Lean_Meta_SynthInstance_MkTableKey_State_emap___default___closed__1;
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_isLevelDefEq___spec__2___rarg(lean_object*, lean_object*);
extern lean_object* l_Std_PersistentArray_empty___closed__1;
lean_object* l_Lean_Meta_SynthInstance_MkTableKey_normLevel_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_SynthInstance_newSubgoal___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -108,13 +103,13 @@ extern lean_object* l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
lean_object* l_Lean_Meta_SynthInstance_resume_match__1(lean_object*);
lean_object* l_Lean_Meta_SynthInstance_mkTableKey___closed__1;
lean_object* l_Std_AssocList_find_x3f___at_Lean_Meta_SynthInstance_findEntry_x3f___spec__2(lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_SynthInstance_main___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_PersistentHashMap_insert___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___spec__5(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_mkHashMap___at_Lean_Meta_SynthInstance_MkTableKey_State_lmap___default___spec__1(lean_object*);
lean_object* l_Std_HashMapImp_find_x3f___at_Lean_Meta_SynthInstance_findEntry_x3f___spec__1___boxed(lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_SynthInstance_0__Lean_Meta_SynthInstance_mkAnswer___closed__4;
lean_object* l_ReaderT_bind___at_Lean_Meta_Lean_Meta_Basic___instance__5___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_SynthInstance_resume_match__2___rarg(lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_SynthInstance_main___spec__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_SynthInstance_newSubgoal___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_expr_instantiate1(lean_object*, lean_object*);
lean_object* l_Lean_Meta_SynthInstance_tryResolveCore___lambda__1___closed__3;
@@ -133,6 +128,7 @@ lean_object* l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_m
lean_object* l_Lean_Meta_synthInstance_x3f___rarg(lean_object*, lean_object*);
extern lean_object* l_String_splitAux___main___closed__1;
extern lean_object* l_Lean_Expr_getAppArgs___closed__1;
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_SynthInstance_newSubgoal___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_SynthInstance___hyg_3330____closed__1;
lean_object* l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___lambda__1___closed__4;
@@ -140,20 +136,20 @@ size_t l_USize_shiftRight(size_t, size_t);
lean_object* l_Lean_Meta_SynthInstance_findEntry_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_SynthInstance_main(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_SynthInstance_newSubgoal___lambda__4(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_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_SynthInstance_tryResolve___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___lambda__1___closed__1;
lean_object* l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__2;
lean_object* l_Lean_Meta_SynthInstance_mkInferTCGoalsLRAttr___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_SynthInstance_wakeUp_match__2(lean_object*);
lean_object* l_Lean_Meta_SynthInstance_wakeUp_match__1___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Meta_SynthInstance_getInstances___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_SynthInstance_main___spec__1___rarg___boxed(lean_object*, lean_object*);
lean_object* l_Std_HashMapImp_insert___at_Lean_Meta_SynthInstance_newSubgoal___spec__4(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___closed__1;
lean_object* l___private_Lean_Meta_SynthInstance_0__Lean_Meta_preprocessLevels(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_getLocalInstances___at___private_Lean_Meta_Basic_0__Lean_Meta_mkFreshExprMVarCore___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_SynthInstance_newSubgoal___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_SynthInstance_0__Lean_Meta_preprocessArgs_match__1(lean_object*);
lean_object* l_Lean_Meta_SynthInstance_SynthM_inhabited___rarg(lean_object*);
-lean_object* l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_SynthInstance_main___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_SynthInstance_0__Lean_Meta_SynthInstance_getSubgoalsAux(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_Meta_SynthInstance_newSubgoal___closed__1;
lean_object* l_Lean_Meta_SynthInstance_mkInferTCGoalsLRAttr___closed__3;
@@ -161,8 +157,9 @@ lean_object* lean_nat_add(lean_object*, lean_object*);
lean_object* l_Lean_Meta_SynthInstance_getInstances(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_hasAssignableMVar___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkForallFVars___at___private_Lean_Meta_InferType_0__Lean_Meta_inferLambdaType___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_SynthInstance_tryResolve___spec__1___rarg(lean_object*, lean_object*);
extern lean_object* l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_SynthInstance_main___spec__1(lean_object*, lean_object*, lean_object*);
+lean_object* l_Array_umapMAux___main___at___private_Lean_Util_Trace_0__Lean_addNode___spec__1(lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_SynthInstance_0__Lean_Meta_getMaxSteps___boxed(lean_object*);
lean_object* l_Lean_Meta_SynthInstance_State_result___default;
lean_object* l_Lean_Meta_SynthInstance_findEntry_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -171,6 +168,7 @@ lean_object* l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthPendingImp_ma
lean_object* l_Lean_Meta_SynthInstance_synth___closed__4;
lean_object* l___private_Lean_Meta_SynthInstance_0__Lean_Meta_preprocessOutParam___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_SynthInstance_0__Lean_Meta_SynthInstance_mkAnswer___closed__2;
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_SynthInstance_main___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthPendingImp_match__3(lean_object*);
lean_object* l_Lean_Meta_SynthInstance_resume_match__2(lean_object*);
lean_object* l_Lean_MetavarContext_hasAssignableMVar___main(lean_object*, lean_object*);
@@ -181,7 +179,6 @@ lean_object* l_Array_back___at_Lean_Meta_SynthInstance_getTop___spec__1(lean_obj
lean_object* l_Lean_Meta_SynthInstance_getEntry___closed__4;
lean_object* l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f_match__2(lean_object*);
lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_isLevelDefEq___spec__3___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Meta_SynthInstance_wakeUp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_throwError___at_Lean_Meta_getMVarDecl___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Meta_AbstractMVarsResult_inhabited___closed__1;
@@ -195,7 +192,6 @@ lean_object* lean_expr_instantiate_rev_range(lean_object*, lean_object*, lean_ob
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
lean_object* l_Lean_Meta_SynthInstance_getTop___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_withMCtx___at_Lean_Meta_SynthInstance_resume___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_SynthInstance_tryResolve___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_TagAttribute_Inhabited___closed__1;
lean_object* l_Lean_Meta_abstractMVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Exception_inhabited___closed__1;
@@ -222,7 +218,6 @@ lean_object* l_Lean_Meta_SynthInstance_generate___closed__3;
lean_object* l_Lean_Meta_withMCtx___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_SynthInstance_mkAnswer___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_SynthInstance_tryAnswer_match__1(lean_object*);
lean_object* l_Lean_Meta_SynthInstance_mapMetaM(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_SynthInstance_tryResolve___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_level_update_max(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_SynthInstance_getInstances_match__2(lean_object*);
extern lean_object* l_Lean_Meta_isDefEqStuckExceptionId;
@@ -257,7 +252,6 @@ size_t l_Lean_Name_hash(lean_object*);
uint8_t l_Std_AssocList_contains___at_Lean_Meta_SynthInstance_MkTableKey_normExpr___spec__4(lean_object*, lean_object*);
lean_object* l_Lean_Meta_SynthInstance_getEntry_match__1(lean_object*);
lean_object* l_Std_AssocList_foldlM___at_Lean_Meta_SynthInstance_MkTableKey_normExpr___spec__7(lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_SynthInstance_main___spec__1___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Meta_isLevelDefEq___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Meta_inferTypeRef;
lean_object* l_Std_AssocList_replace___at_Lean_Meta_SynthInstance_MkTableKey_normExpr___spec__8(lean_object*, lean_object*, lean_object*);
@@ -288,13 +282,14 @@ lean_object* l_Array_back___at_Lean_Meta_SynthInstance_getNextToResume___spec__1
lean_object* l_Lean_Meta_getMVarDecl___at_Lean_Meta_isReadOnlyExprMVar___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_SynthInstance_0__Lean_Meta_SynthInstance_getSubgoalsAux_match__1(lean_object*);
lean_object* l_Lean_Meta_forallTelescope___at___private_Lean_Meta_InferType_0__Lean_Meta_inferForallType___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_SynthInstance_tryResolve___spec__1___rarg___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Meta_SynthInstance_step(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_SynthInstance_tryAnswer___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_SynthInstance_0__Lean_Meta_preprocessArgs(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_mkHashMap___at_Lean_Meta_SynthInstance_State_tableEntries___default___spec__1(lean_object*);
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_SynthInstance_main___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_SynthInstance_0__Lean_Meta_SynthInstance_mkAnswer___closed__3;
lean_object* l_Lean_Meta_withMCtx___at_Lean_Meta_SynthInstance_newSubgoal___spec__10___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_SynthInstance_newSubgoal___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_SynthInstance_consume_match__2(lean_object*);
size_t lean_usize_modn(size_t, lean_object*);
lean_object* l_Array_iterateMAux___main___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -323,10 +318,12 @@ lean_object* l_Std_AssocList_find_x3f___at_Lean_Meta_SynthInstance_MkTableKey_no
lean_object* l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_mkFVar(lean_object*);
uint8_t l_Lean_Expr_Data_binderInfo(uint64_t);
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_SynthInstance_tryResolve___spec__1___rarg(lean_object*, lean_object*);
lean_object* l_Std_AssocList_find_x3f___at_Lean_Meta_SynthInstance_findEntry_x3f___spec__2___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_SynthInstance___hyg_3927_(lean_object*);
lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_SynthInstance___hyg_3918_(lean_object*);
lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_SynthInstance___hyg_3330_(lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_SynthInstance_main___spec__1___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Meta_SynthInstance_MkTableKey_State_lmap___default___closed__1;
lean_object* l_Lean_Meta_SynthInstance_getNextToResume___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_SynthInstance_MkTableKey_normExpr_match__2(lean_object*);
@@ -360,7 +357,6 @@ lean_object* l_List_forInAux___main___at___private_Lean_Meta_SynthInstance_0__Le
lean_object* l_List_mapM___main___at_Lean_Meta_SynthInstance_MkTableKey_normExpr___spec__9(lean_object*, lean_object*, lean_object*);
uint8_t l_Std_AssocList_contains___at_Lean_Meta_SynthInstance_newSubgoal___spec__5(lean_object*, lean_object*);
lean_object* l_Lean_Meta_DiscrTree_getUnify___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_isLevelDefEq___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_SynthInstance_wakeUp___closed__2;
lean_object* lean_level_update_imax(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_synthInstance(lean_object*);
@@ -369,6 +365,7 @@ lean_object* l_Std_PersistentArray_push___rarg(lean_object*, lean_object*);
lean_object* l_Std_AssocList_foldlM___at_Lean_Meta_SynthInstance_MkTableKey_normLevel___spec__7(lean_object*, lean_object*);
lean_object* l_Lean_Meta_SynthInstance_State_tableEntries___default;
lean_object* l_Lean_Meta_trySynthInstance(lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_SynthInstance_tryResolve___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_back___at_Lean_Meta_SynthInstance_getTop___spec__1___boxed(lean_object*);
lean_object* l_Std_AssocList_replace___at_Lean_Meta_SynthInstance_MkTableKey_normLevel___spec__8(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_getAppNumArgsAux(lean_object*, lean_object*);
@@ -379,6 +376,7 @@ lean_object* l_Array_umapMAux___main___at_Lean_Meta_SynthInstance_getInstances__
lean_object* l_Lean_Meta_SynthInstance_wakeUp___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_SynthInstance___hyg_3918____closed__1;
lean_object* l_Lean_Meta_SynthInstance_MkTableKey_State_lmap___default;
+lean_object* l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_SynthInstance_tryResolve___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t lean_expr_eqv(lean_object*, lean_object*);
uint8_t l_Lean_Meta_SynthInstance_isNewAnswer(lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_SynthInstance_0__Lean_Meta_SynthInstance_mkAnswer___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -389,6 +387,7 @@ lean_object* l_Lean_Meta_SynthInstance_wakeUp___closed__1;
lean_object* l___private_Lean_Meta_SynthInstance_0__Lean_Meta_preprocess___closed__1;
lean_object* l_Lean_Meta_SynthInstance_tryResolve___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_SynthInstance_MkTableKey_normLevel_match__1(lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_SynthInstance_tryResolve___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
uint8_t l_USize_decLe(size_t, size_t);
lean_object* l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f_match__1(lean_object*);
@@ -400,6 +399,7 @@ lean_object* l_Lean_Meta_SynthInstance_resume_match__3___rarg(lean_object*, lean
lean_object* l_Array_umapMAux___main___at_Lean_Meta_SynthInstance_getInstances___spec__2___closed__1;
lean_object* l_Lean_Meta_SynthInstance_newSubgoal___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_PersistentArray_toArray___rarg(lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_SynthInstance_main___spec__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_SynthInstance_Waiter_isRoot___boxed(lean_object*);
extern lean_object* l_Lean_Meta_synthPendingRef;
lean_object* lean_panic_fn(lean_object*, lean_object*);
@@ -420,7 +420,6 @@ lean_object* lean_register_option(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_SynthInstance_generate_match__1(lean_object*);
lean_object* l_Lean_Meta_SynthInstance_synth___closed__6;
lean_object* l_Lean_Meta_SynthInstance_mkTableKey(lean_object*, lean_object*);
-lean_object* l_Array_umapMAux___main___at___private_Lean_Util_Trace_4__addNode___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_Meta_setMCtx___at___private_Lean_Meta_Basic_0__Lean_Meta_liftMkBindingM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_nat_mul(lean_object*, lean_object*);
lean_object* l_Std_HashMapImp_moveEntries___at_Lean_Meta_SynthInstance_newSubgoal___spec__7(lean_object*, lean_object*, lean_object*);
@@ -453,17 +452,16 @@ lean_object* l_Std_HashMapImp_moveEntries___at_Lean_Meta_SynthInstance_MkTableKe
lean_object* l_Lean_Meta_SynthInstance_resume_match__3(lean_object*);
lean_object* l_Array_back___at_Lean_Meta_SynthInstance_getNextToResume___spec__1(lean_object*);
lean_object* l_Lean_Meta_SynthInstance_generate___closed__2;
-lean_object* l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_SynthInstance_tryResolve___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_toList___rarg(lean_object*);
lean_object* l_Lean_MetavarContext_MkBinding_mkBinding(uint8_t, lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*);
lean_object* l_Lean_Meta_SynthInstance_generate___closed__1;
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_SynthInstance_mkTableKeyFor(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_array_pop(lean_object*);
lean_object* l_Lean_Meta_SynthInstance_MkTableKey_normLevel_match__2(lean_object*);
lean_object* lean_mk_array(lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern size_t l_Std_PersistentHashMap_insertAux___rarg___closed__2;
+lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_PersistentHashMap_insertAtCollisionNodeAux___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___spec__7(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_forMAux___main___at_Lean_Meta_SynthInstance_addAnswer___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_SynthInstance_tryResolveCore(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -490,7 +488,6 @@ lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(lean_object
lean_object* l_Lean_Expr_getAppFn(lean_object*);
lean_object* l_List_map___main___at_Lean_MessageData_hasCoeOfListExpr___spec__1(lean_object*);
lean_object* l_Lean_Meta_SynthInstance_consume_match__2___rarg(lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_SynthInstance_synth___closed__2;
lean_object* l_Array_umapMAux___main___at_Lean_Meta_SynthInstance_getInstances___spec__2___closed__4;
lean_object* l_Lean_Meta_SynthInstance_consume(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -503,17 +500,19 @@ extern lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_isClassQuick_x3f___
lean_object* lean_usize_to_nat(size_t);
lean_object* l_Lean_Meta_SynthInstance_Waiter_isRoot_match__1(lean_object*);
lean_object* lean_expr_update_app(lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_SynthInstance_tryResolve___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_SynthInstance_tryResolve___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_SynthInstance_tryResolveCore___lambda__1___closed__1;
lean_object* l_Std_AssocList_find_x3f___at_Lean_Meta_SynthInstance_MkTableKey_normLevel___spec__2(lean_object*, lean_object*);
lean_object* l_Std_HashMapImp_find_x3f___at_Lean_Meta_SynthInstance_MkTableKey_normLevel___spec__1___boxed(lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_SynthInstance_main___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_SynthInstance_resume___lambda__1___closed__2;
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_HashMapImp_insert___at_Lean_Meta_SynthInstance_MkTableKey_normExpr___spec__3(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_anyRangeMAux___main___at_Lean_Meta_SynthInstance_isNewAnswer___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_SynthInstance_tryResolve___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_indentExpr(lean_object*);
lean_object* l_Lean_Meta_SynthInstance_resume___closed__4;
lean_object* l_Lean_Meta_SynthInstance_tryAnswer___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_SynthInstance_tryResolve___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_SynthInstance_mkInferTCGoalsLRAttr___closed__2;
lean_object* l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__3;
lean_object* l_Std_PersistentHashMap_insertAux___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___spec__6(lean_object*, size_t, size_t, lean_object*, lean_object*);
@@ -521,6 +520,7 @@ lean_object* l_Lean_mkConst(lean_object*, lean_object*);
lean_object* l_Lean_Meta_SynthInstance_GeneratorNode_inhabited___closed__1;
lean_object* l_Lean_Meta_SynthInstance_MkTableKey_normExpr(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_AssocList_foldlM___at_Lean_Meta_SynthInstance_newSubgoal___spec__8(lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_SynthInstance_main___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_SynthInstance_main___closed__2;
lean_object* l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_SynthInstance_tryAnswer___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -537,7 +537,6 @@ extern lean_object* l_Lean_Meta_isLevelDefEq___rarg___closed__2;
lean_object* l___private_Init_Util_2__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_SynthInstance_generate___closed__4;
lean_object* l_Lean_Meta_SynthInstance_main___closed__1;
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_SynthInstance_tryResolve___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_SynthInstance_newSubgoal___closed__3;
lean_object* l_Lean_Meta_SynthInstance_resume___closed__1;
lean_object* l_Std_HashMapImp_find_x3f___at_Lean_Meta_SynthInstance_MkTableKey_normExpr___spec__1(lean_object*, lean_object*);
@@ -549,6 +548,7 @@ uint8_t lean_nat_dec_lt(lean_object*, lean_object*);
lean_object* l_Lean_Meta_instantiateMVars___at_Lean_Meta_SynthInstance_mkTableKeyFor___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_AssocList_find_x3f___at_Lean_Meta_SynthInstance_MkTableKey_normExpr___spec__2___boxed(lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f_match__2___rarg(lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_isLevelDefEq___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_SynthInstance_mkInferTCGoalsLRAttr___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
@@ -4112,7 +4112,7 @@ x_61 = lean_ctor_get(x_55, 1);
lean_inc(x_61);
lean_dec(x_55);
x_62 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__7;
-x_63 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_62, x_4, x_5, x_6, x_7, x_61);
+x_63 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_62, x_4, x_5, x_6, x_7, x_61);
x_64 = lean_ctor_get(x_63, 0);
lean_inc(x_64);
x_65 = lean_ctor_get(x_63, 1);
@@ -4170,7 +4170,7 @@ x_45 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_45, 0, x_44);
lean_ctor_set(x_45, 1, x_37);
x_46 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__7;
-x_47 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_46, x_45, x_4, x_5, x_6, x_7, x_33);
+x_47 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_46, x_45, x_4, x_5, x_6, x_7, x_33);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
@@ -4599,7 +4599,7 @@ x_2 = lean_alloc_closure((void*)(l_Lean_Meta_SynthInstance_newSubgoal_match__1__
return x_2;
}
}
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_SynthInstance_newSubgoal___spec__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* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_SynthInstance_newSubgoal___spec__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) {
_start:
{
lean_object* x_8; uint8_t x_9; lean_object* x_10; lean_object* x_11;
@@ -5263,7 +5263,7 @@ return x_12;
else
{
lean_object* x_13;
-x_13 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_SynthInstance_newSubgoal___spec__1(x_1, x_3, x_4, x_5, x_6, x_7, x_8);
+x_13 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_SynthInstance_newSubgoal___spec__1(x_1, x_3, x_4, x_5, x_6, x_7, x_8);
return x_13;
}
}
@@ -5526,11 +5526,11 @@ x_17 = l_Lean_Meta_withMCtx___at_Lean_Meta_SynthInstance_newSubgoal___spec__10__
return x_17;
}
}
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_SynthInstance_newSubgoal___spec__1___boxed(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* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_SynthInstance_newSubgoal___spec__1___boxed(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) {
_start:
{
lean_object* x_8;
-x_8 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_SynthInstance_newSubgoal___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7);
+x_8 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_SynthInstance_newSubgoal___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
@@ -7040,113 +7040,548 @@ lean_inc(x_5);
x_12 = l_Lean_Meta_SynthInstance_getSubgoals(x_1, x_2, x_5, x_3, x_7, x_8, x_9, x_10, x_11);
if (lean_obj_tag(x_12) == 0)
{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_148; lean_object* x_149; lean_object* x_162; lean_object* x_163; lean_object* x_164; uint8_t x_165;
+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; uint8_t x_142; lean_object* x_143; lean_object* x_156; lean_object* x_157; lean_object* x_158; uint8_t x_159;
x_13 = lean_ctor_get(x_12, 0);
lean_inc(x_13);
x_14 = lean_ctor_get(x_12, 1);
lean_inc(x_14);
-lean_dec(x_12);
-x_15 = lean_ctor_get(x_13, 0);
-lean_inc(x_15);
-x_16 = lean_ctor_get(x_13, 1);
+if (lean_is_exclusive(x_12)) {
+ lean_ctor_release(x_12, 0);
+ lean_ctor_release(x_12, 1);
+ x_15 = x_12;
+} else {
+ lean_dec_ref(x_12);
+ x_15 = lean_box(0);
+}
+x_16 = lean_ctor_get(x_13, 0);
lean_inc(x_16);
-x_17 = lean_ctor_get(x_13, 2);
+x_17 = lean_ctor_get(x_13, 1);
lean_inc(x_17);
+x_18 = lean_ctor_get(x_13, 2);
+lean_inc(x_18);
lean_dec(x_13);
-x_162 = lean_st_ref_get(x_10, x_14);
-x_163 = lean_ctor_get(x_162, 0);
-lean_inc(x_163);
-x_164 = lean_ctor_get(x_163, 3);
-lean_inc(x_164);
-lean_dec(x_163);
-x_165 = lean_ctor_get_uint8(x_164, sizeof(void*)*1);
-lean_dec(x_164);
-if (x_165 == 0)
+x_156 = lean_st_ref_get(x_10, x_14);
+x_157 = lean_ctor_get(x_156, 0);
+lean_inc(x_157);
+x_158 = lean_ctor_get(x_157, 3);
+lean_inc(x_158);
+lean_dec(x_157);
+x_159 = lean_ctor_get_uint8(x_158, sizeof(void*)*1);
+lean_dec(x_158);
+if (x_159 == 0)
{
-lean_object* x_166; uint8_t x_167;
-x_166 = lean_ctor_get(x_162, 1);
-lean_inc(x_166);
-lean_dec(x_162);
-x_167 = 0;
-x_148 = x_167;
-x_149 = x_166;
-goto block_161;
+lean_object* x_160; uint8_t x_161;
+x_160 = lean_ctor_get(x_156, 1);
+lean_inc(x_160);
+lean_dec(x_156);
+x_161 = 0;
+x_142 = x_161;
+x_143 = x_160;
+goto block_155;
}
else
{
-lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; uint8_t x_173;
-x_168 = lean_ctor_get(x_162, 1);
-lean_inc(x_168);
-lean_dec(x_162);
-x_169 = l_Lean_Meta_SynthInstance_tryResolveCore___lambda__1___closed__2;
-x_170 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_169, x_7, x_8, x_9, x_10, x_168);
-x_171 = lean_ctor_get(x_170, 0);
-lean_inc(x_171);
-x_172 = lean_ctor_get(x_170, 1);
-lean_inc(x_172);
-lean_dec(x_170);
-x_173 = lean_unbox(x_171);
-lean_dec(x_171);
-x_148 = x_173;
-x_149 = x_172;
-goto block_161;
+lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; uint8_t x_167;
+x_162 = lean_ctor_get(x_156, 1);
+lean_inc(x_162);
+lean_dec(x_156);
+x_163 = l_Lean_Meta_SynthInstance_tryResolveCore___lambda__1___closed__2;
+x_164 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_163, x_7, x_8, x_9, x_10, x_162);
+x_165 = lean_ctor_get(x_164, 0);
+lean_inc(x_165);
+x_166 = lean_ctor_get(x_164, 1);
+lean_inc(x_166);
+lean_dec(x_164);
+x_167 = lean_unbox(x_165);
+lean_dec(x_165);
+x_142 = x_167;
+x_143 = x_166;
+goto block_155;
}
-block_147:
+block_141:
{
-lean_object* x_19;
+uint8_t x_20; lean_object* x_21; lean_object* x_34;
lean_inc(x_10);
lean_inc(x_9);
lean_inc(x_8);
lean_inc(x_7);
-x_19 = l_Lean_Meta_isExprDefEq___at_Lean_Meta_isExprDefEqGuarded___spec__1(x_6, x_17, x_7, x_8, x_9, x_10, x_18);
-if (lean_obj_tag(x_19) == 0)
+x_34 = l_Lean_Meta_isExprDefEq___at_Lean_Meta_isExprDefEqGuarded___spec__1(x_6, x_18, x_7, x_8, x_9, x_10, x_19);
+if (lean_obj_tag(x_34) == 0)
{
-lean_object* x_20; uint8_t x_21;
-x_20 = lean_ctor_get(x_19, 0);
-lean_inc(x_20);
-x_21 = lean_unbox(x_20);
-lean_dec(x_20);
-if (x_21 == 0)
+lean_object* x_35; uint8_t x_36;
+x_35 = lean_ctor_get(x_34, 0);
+lean_inc(x_35);
+x_36 = lean_unbox(x_35);
+lean_dec(x_35);
+if (x_36 == 0)
{
-lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26;
+lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; uint8_t x_41;
+lean_dec(x_17);
lean_dec(x_16);
-lean_dec(x_15);
lean_dec(x_5);
lean_dec(x_4);
-x_22 = lean_ctor_get(x_19, 1);
-lean_inc(x_22);
-lean_dec(x_19);
-x_23 = lean_st_ref_get(x_10, x_22);
-x_24 = lean_ctor_get(x_23, 0);
-lean_inc(x_24);
-x_25 = lean_ctor_get(x_24, 3);
-lean_inc(x_25);
-lean_dec(x_24);
-x_26 = lean_ctor_get_uint8(x_25, sizeof(void*)*1);
-lean_dec(x_25);
-if (x_26 == 0)
+x_37 = lean_ctor_get(x_34, 1);
+lean_inc(x_37);
+lean_dec(x_34);
+x_38 = lean_st_ref_get(x_10, x_37);
+x_39 = lean_ctor_get(x_38, 0);
+lean_inc(x_39);
+x_40 = lean_ctor_get(x_39, 3);
+lean_inc(x_40);
+lean_dec(x_39);
+x_41 = lean_ctor_get_uint8(x_40, sizeof(void*)*1);
+lean_dec(x_40);
+if (x_41 == 0)
{
-uint8_t x_27;
+lean_object* x_42; uint8_t x_43;
+x_42 = lean_ctor_get(x_38, 1);
+lean_inc(x_42);
+lean_dec(x_38);
+x_43 = 0;
+x_20 = x_43;
+x_21 = x_42;
+goto block_33;
+}
+else
+{
+lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; uint8_t x_49;
+x_44 = lean_ctor_get(x_38, 1);
+lean_inc(x_44);
+lean_dec(x_38);
+x_45 = l_Lean_Meta_SynthInstance_tryResolveCore___lambda__1___closed__2;
+x_46 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_45, x_7, x_8, x_9, x_10, x_44);
+x_47 = lean_ctor_get(x_46, 0);
+lean_inc(x_47);
+x_48 = lean_ctor_get(x_46, 1);
+lean_inc(x_48);
+lean_dec(x_46);
+x_49 = lean_unbox(x_47);
+lean_dec(x_47);
+x_20 = x_49;
+x_21 = x_48;
+goto block_33;
+}
+}
+else
+{
+lean_object* x_50; lean_object* x_51;
+lean_dec(x_15);
+x_50 = lean_ctor_get(x_34, 1);
+lean_inc(x_50);
+lean_dec(x_34);
+lean_inc(x_7);
+x_51 = l_Lean_Meta_mkLambdaFVars___at_Lean_Meta_SynthInstance_tryResolveCore___spec__1(x_5, x_17, x_7, x_8, x_9, x_10, x_50);
+if (lean_obj_tag(x_51) == 0)
+{
+lean_object* x_52; lean_object* x_53; lean_object* x_54; uint8_t x_55; lean_object* x_56; uint8_t x_69; lean_object* x_70; lean_object* x_100;
+x_52 = lean_ctor_get(x_51, 0);
+lean_inc(x_52);
+x_53 = lean_ctor_get(x_51, 1);
+lean_inc(x_53);
+if (lean_is_exclusive(x_51)) {
+ lean_ctor_release(x_51, 0);
+ lean_ctor_release(x_51, 1);
+ x_54 = x_51;
+} else {
+ lean_dec_ref(x_51);
+ x_54 = lean_box(0);
+}
+lean_inc(x_10);
+lean_inc(x_9);
+lean_inc(x_8);
+lean_inc(x_7);
+x_100 = l_Lean_Meta_isExprDefEq___at_Lean_Meta_isExprDefEqGuarded___spec__1(x_4, x_52, x_7, x_8, x_9, x_10, x_53);
+if (lean_obj_tag(x_100) == 0)
+{
+lean_object* x_101; uint8_t x_102;
+x_101 = lean_ctor_get(x_100, 0);
+lean_inc(x_101);
+x_102 = lean_unbox(x_101);
+lean_dec(x_101);
+if (x_102 == 0)
+{
+lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; uint8_t x_107;
+lean_dec(x_16);
+x_103 = lean_ctor_get(x_100, 1);
+lean_inc(x_103);
+lean_dec(x_100);
+x_104 = lean_st_ref_get(x_10, x_103);
+x_105 = lean_ctor_get(x_104, 0);
+lean_inc(x_105);
+x_106 = lean_ctor_get(x_105, 3);
+lean_inc(x_106);
+lean_dec(x_105);
+x_107 = lean_ctor_get_uint8(x_106, sizeof(void*)*1);
+lean_dec(x_106);
+if (x_107 == 0)
+{
+lean_object* x_108; uint8_t x_109;
+x_108 = lean_ctor_get(x_104, 1);
+lean_inc(x_108);
+lean_dec(x_104);
+x_109 = 0;
+x_55 = x_109;
+x_56 = x_108;
+goto block_68;
+}
+else
+{
+lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; uint8_t x_115;
+x_110 = lean_ctor_get(x_104, 1);
+lean_inc(x_110);
+lean_dec(x_104);
+x_111 = l_Lean_Meta_SynthInstance_tryResolveCore___lambda__1___closed__2;
+x_112 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_111, x_7, x_8, x_9, x_10, x_110);
+x_113 = lean_ctor_get(x_112, 0);
+lean_inc(x_113);
+x_114 = lean_ctor_get(x_112, 1);
+lean_inc(x_114);
+lean_dec(x_112);
+x_115 = lean_unbox(x_113);
+lean_dec(x_113);
+x_55 = x_115;
+x_56 = x_114;
+goto block_68;
+}
+}
+else
+{
+lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; uint8_t x_120;
+lean_dec(x_54);
+x_116 = lean_ctor_get(x_100, 1);
+lean_inc(x_116);
+lean_dec(x_100);
+x_117 = lean_st_ref_get(x_10, x_116);
+x_118 = lean_ctor_get(x_117, 0);
+lean_inc(x_118);
+x_119 = lean_ctor_get(x_118, 3);
+lean_inc(x_119);
+lean_dec(x_118);
+x_120 = lean_ctor_get_uint8(x_119, sizeof(void*)*1);
+lean_dec(x_119);
+if (x_120 == 0)
+{
+lean_object* x_121; uint8_t x_122;
+x_121 = lean_ctor_get(x_117, 1);
+lean_inc(x_121);
+lean_dec(x_117);
+x_122 = 0;
+x_69 = x_122;
+x_70 = x_121;
+goto block_99;
+}
+else
+{
+lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; uint8_t x_128;
+x_123 = lean_ctor_get(x_117, 1);
+lean_inc(x_123);
+lean_dec(x_117);
+x_124 = l_Lean_Meta_SynthInstance_tryResolveCore___lambda__1___closed__2;
+x_125 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_124, x_7, x_8, x_9, x_10, x_123);
+x_126 = lean_ctor_get(x_125, 0);
+lean_inc(x_126);
+x_127 = lean_ctor_get(x_125, 1);
+lean_inc(x_127);
+lean_dec(x_125);
+x_128 = lean_unbox(x_126);
+lean_dec(x_126);
+x_69 = x_128;
+x_70 = x_127;
+goto block_99;
+}
+}
+}
+else
+{
+uint8_t x_129;
+lean_dec(x_54);
+lean_dec(x_16);
lean_dec(x_10);
lean_dec(x_9);
lean_dec(x_8);
lean_dec(x_7);
-x_27 = !lean_is_exclusive(x_23);
-if (x_27 == 0)
+x_129 = !lean_is_exclusive(x_100);
+if (x_129 == 0)
{
-lean_object* x_28; lean_object* x_29;
-x_28 = lean_ctor_get(x_23, 0);
-lean_dec(x_28);
-x_29 = lean_box(0);
-lean_ctor_set(x_23, 0, x_29);
+return x_100;
+}
+else
+{
+lean_object* x_130; lean_object* x_131; lean_object* x_132;
+x_130 = lean_ctor_get(x_100, 0);
+x_131 = lean_ctor_get(x_100, 1);
+lean_inc(x_131);
+lean_inc(x_130);
+lean_dec(x_100);
+x_132 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_132, 0, x_130);
+lean_ctor_set(x_132, 1, x_131);
+return x_132;
+}
+}
+block_68:
+{
+if (x_55 == 0)
+{
+lean_object* x_57; lean_object* x_58;
+lean_dec(x_10);
+lean_dec(x_9);
+lean_dec(x_8);
+lean_dec(x_7);
+x_57 = lean_box(0);
+if (lean_is_scalar(x_54)) {
+ x_58 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_58 = x_54;
+}
+lean_ctor_set(x_58, 0, x_57);
+lean_ctor_set(x_58, 1, x_56);
+return x_58;
+}
+else
+{
+lean_object* x_59; lean_object* x_60; lean_object* x_61; uint8_t x_62;
+lean_dec(x_54);
+x_59 = l_Lean_Meta_SynthInstance_tryResolveCore___lambda__1___closed__2;
+x_60 = l_Lean_Meta_SynthInstance_tryResolveCore___lambda__1___closed__4;
+x_61 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_59, x_60, x_7, x_8, x_9, x_10, x_56);
+lean_dec(x_10);
+lean_dec(x_9);
+lean_dec(x_8);
+lean_dec(x_7);
+x_62 = !lean_is_exclusive(x_61);
+if (x_62 == 0)
+{
+lean_object* x_63; lean_object* x_64;
+x_63 = lean_ctor_get(x_61, 0);
+lean_dec(x_63);
+x_64 = lean_box(0);
+lean_ctor_set(x_61, 0, x_64);
+return x_61;
+}
+else
+{
+lean_object* x_65; lean_object* x_66; lean_object* x_67;
+x_65 = lean_ctor_get(x_61, 1);
+lean_inc(x_65);
+lean_dec(x_61);
+x_66 = lean_box(0);
+x_67 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_67, 0, x_66);
+lean_ctor_set(x_67, 1, x_65);
+return x_67;
+}
+}
+}
+block_99:
+{
+if (x_69 == 0)
+{
+lean_object* x_71; uint8_t x_72;
+lean_dec(x_10);
+lean_dec(x_9);
+lean_dec(x_7);
+x_71 = lean_st_ref_get(x_8, x_70);
+lean_dec(x_8);
+x_72 = !lean_is_exclusive(x_71);
+if (x_72 == 0)
+{
+lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76;
+x_73 = lean_ctor_get(x_71, 0);
+x_74 = lean_ctor_get(x_73, 0);
+lean_inc(x_74);
+lean_dec(x_73);
+x_75 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_75, 0, x_74);
+lean_ctor_set(x_75, 1, x_16);
+x_76 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_76, 0, x_75);
+lean_ctor_set(x_71, 0, x_76);
+return x_71;
+}
+else
+{
+lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82;
+x_77 = lean_ctor_get(x_71, 0);
+x_78 = lean_ctor_get(x_71, 1);
+lean_inc(x_78);
+lean_inc(x_77);
+lean_dec(x_71);
+x_79 = lean_ctor_get(x_77, 0);
+lean_inc(x_79);
+lean_dec(x_77);
+x_80 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_80, 0, x_79);
+lean_ctor_set(x_80, 1, x_16);
+x_81 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_81, 0, 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_78);
+return x_82;
+}
+}
+else
+{
+lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; uint8_t x_88;
+x_83 = l_Lean_Meta_SynthInstance_tryResolveCore___lambda__1___closed__2;
+x_84 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
+x_85 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_83, x_84, x_7, x_8, x_9, x_10, x_70);
+lean_dec(x_10);
+lean_dec(x_9);
+lean_dec(x_7);
+x_86 = lean_ctor_get(x_85, 1);
+lean_inc(x_86);
+lean_dec(x_85);
+x_87 = lean_st_ref_get(x_8, x_86);
+lean_dec(x_8);
+x_88 = !lean_is_exclusive(x_87);
+if (x_88 == 0)
+{
+lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92;
+x_89 = lean_ctor_get(x_87, 0);
+x_90 = lean_ctor_get(x_89, 0);
+lean_inc(x_90);
+lean_dec(x_89);
+x_91 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_91, 0, x_90);
+lean_ctor_set(x_91, 1, x_16);
+x_92 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_92, 0, x_91);
+lean_ctor_set(x_87, 0, x_92);
+return x_87;
+}
+else
+{
+lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98;
+x_93 = lean_ctor_get(x_87, 0);
+x_94 = lean_ctor_get(x_87, 1);
+lean_inc(x_94);
+lean_inc(x_93);
+lean_dec(x_87);
+x_95 = lean_ctor_get(x_93, 0);
+lean_inc(x_95);
+lean_dec(x_93);
+x_96 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_96, 0, x_95);
+lean_ctor_set(x_96, 1, x_16);
+x_97 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_97, 0, x_96);
+x_98 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_98, 0, x_97);
+lean_ctor_set(x_98, 1, x_94);
+return x_98;
+}
+}
+}
+}
+else
+{
+uint8_t x_133;
+lean_dec(x_16);
+lean_dec(x_10);
+lean_dec(x_9);
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_4);
+x_133 = !lean_is_exclusive(x_51);
+if (x_133 == 0)
+{
+return x_51;
+}
+else
+{
+lean_object* x_134; lean_object* x_135; lean_object* x_136;
+x_134 = lean_ctor_get(x_51, 0);
+x_135 = lean_ctor_get(x_51, 1);
+lean_inc(x_135);
+lean_inc(x_134);
+lean_dec(x_51);
+x_136 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_136, 0, x_134);
+lean_ctor_set(x_136, 1, x_135);
+return x_136;
+}
+}
+}
+}
+else
+{
+uint8_t x_137;
+lean_dec(x_17);
+lean_dec(x_16);
+lean_dec(x_15);
+lean_dec(x_10);
+lean_dec(x_9);
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_5);
+lean_dec(x_4);
+x_137 = !lean_is_exclusive(x_34);
+if (x_137 == 0)
+{
+return x_34;
+}
+else
+{
+lean_object* x_138; lean_object* x_139; lean_object* x_140;
+x_138 = lean_ctor_get(x_34, 0);
+x_139 = lean_ctor_get(x_34, 1);
+lean_inc(x_139);
+lean_inc(x_138);
+lean_dec(x_34);
+x_140 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_140, 0, x_138);
+lean_ctor_set(x_140, 1, x_139);
+return x_140;
+}
+}
+block_33:
+{
+if (x_20 == 0)
+{
+lean_object* x_22; lean_object* x_23;
+lean_dec(x_10);
+lean_dec(x_9);
+lean_dec(x_8);
+lean_dec(x_7);
+x_22 = lean_box(0);
+if (lean_is_scalar(x_15)) {
+ x_23 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_23 = x_15;
+}
+lean_ctor_set(x_23, 0, x_22);
+lean_ctor_set(x_23, 1, x_21);
return x_23;
}
else
{
+lean_object* x_24; lean_object* x_25; lean_object* x_26; uint8_t x_27;
+lean_dec(x_15);
+x_24 = l_Lean_Meta_SynthInstance_tryResolveCore___lambda__1___closed__2;
+x_25 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
+x_26 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_24, x_25, x_7, x_8, x_9, x_10, x_21);
+lean_dec(x_10);
+lean_dec(x_9);
+lean_dec(x_8);
+lean_dec(x_7);
+x_27 = !lean_is_exclusive(x_26);
+if (x_27 == 0)
+{
+lean_object* x_28; lean_object* x_29;
+x_28 = lean_ctor_get(x_26, 0);
+lean_dec(x_28);
+x_29 = lean_box(0);
+lean_ctor_set(x_26, 0, x_29);
+return x_26;
+}
+else
+{
lean_object* x_30; lean_object* x_31; lean_object* x_32;
-x_30 = lean_ctor_get(x_23, 1);
+x_30 = lean_ctor_get(x_26, 1);
lean_inc(x_30);
-lean_dec(x_23);
+lean_dec(x_26);
x_31 = lean_box(0);
x_32 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_32, 0, x_31);
@@ -7154,516 +7589,51 @@ lean_ctor_set(x_32, 1, x_30);
return x_32;
}
}
-else
+}
+}
+block_155:
{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; uint8_t x_37;
-x_33 = lean_ctor_get(x_23, 1);
-lean_inc(x_33);
-lean_dec(x_23);
-x_34 = l_Lean_Meta_SynthInstance_tryResolveCore___lambda__1___closed__2;
-x_35 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_34, x_7, x_8, x_9, x_10, x_33);
-x_36 = lean_ctor_get(x_35, 0);
-lean_inc(x_36);
-x_37 = lean_unbox(x_36);
-lean_dec(x_36);
-if (x_37 == 0)
+if (x_142 == 0)
{
-uint8_t x_38;
-lean_dec(x_10);
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_7);
-x_38 = !lean_is_exclusive(x_35);
-if (x_38 == 0)
-{
-lean_object* x_39; lean_object* x_40;
-x_39 = lean_ctor_get(x_35, 0);
-lean_dec(x_39);
-x_40 = lean_box(0);
-lean_ctor_set(x_35, 0, x_40);
-return x_35;
+x_19 = x_143;
+goto block_141;
}
else
{
-lean_object* x_41; lean_object* x_42; lean_object* x_43;
-x_41 = lean_ctor_get(x_35, 1);
-lean_inc(x_41);
-lean_dec(x_35);
-x_42 = lean_box(0);
-x_43 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_43, 0, x_42);
-lean_ctor_set(x_43, 1, x_41);
-return x_43;
-}
-}
-else
-{
-lean_object* x_44; lean_object* x_45; lean_object* x_46; uint8_t x_47;
-x_44 = lean_ctor_get(x_35, 1);
-lean_inc(x_44);
-lean_dec(x_35);
-x_45 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
-x_46 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_34, x_45, x_7, x_8, x_9, x_10, x_44);
-lean_dec(x_10);
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_7);
-x_47 = !lean_is_exclusive(x_46);
-if (x_47 == 0)
-{
-lean_object* x_48; lean_object* x_49;
-x_48 = lean_ctor_get(x_46, 0);
-lean_dec(x_48);
-x_49 = lean_box(0);
-lean_ctor_set(x_46, 0, x_49);
-return x_46;
-}
-else
-{
-lean_object* x_50; lean_object* x_51; lean_object* x_52;
-x_50 = lean_ctor_get(x_46, 1);
-lean_inc(x_50);
-lean_dec(x_46);
-x_51 = lean_box(0);
-x_52 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_52, 0, x_51);
-lean_ctor_set(x_52, 1, x_50);
-return x_52;
-}
-}
-}
-}
-else
-{
-lean_object* x_53; lean_object* x_54;
-x_53 = lean_ctor_get(x_19, 1);
-lean_inc(x_53);
-lean_dec(x_19);
-lean_inc(x_7);
-x_54 = l_Lean_Meta_mkLambdaFVars___at_Lean_Meta_SynthInstance_tryResolveCore___spec__1(x_5, x_16, x_7, x_8, x_9, x_10, x_53);
-if (lean_obj_tag(x_54) == 0)
-{
-lean_object* x_55; lean_object* x_56; uint8_t x_57; lean_object* x_58; lean_object* x_88;
-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);
-lean_inc(x_10);
-lean_inc(x_9);
-lean_inc(x_8);
-lean_inc(x_7);
-x_88 = l_Lean_Meta_isExprDefEq___at_Lean_Meta_isExprDefEqGuarded___spec__1(x_4, x_55, x_7, x_8, x_9, x_10, x_56);
-if (lean_obj_tag(x_88) == 0)
-{
-lean_object* x_89; uint8_t x_90;
-x_89 = lean_ctor_get(x_88, 0);
-lean_inc(x_89);
-x_90 = lean_unbox(x_89);
-lean_dec(x_89);
-if (x_90 == 0)
-{
-lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; uint8_t x_95;
-lean_dec(x_15);
-x_91 = lean_ctor_get(x_88, 1);
-lean_inc(x_91);
-lean_dec(x_88);
-x_92 = lean_st_ref_get(x_10, x_91);
-x_93 = lean_ctor_get(x_92, 0);
-lean_inc(x_93);
-x_94 = lean_ctor_get(x_93, 3);
-lean_inc(x_94);
-lean_dec(x_93);
-x_95 = lean_ctor_get_uint8(x_94, sizeof(void*)*1);
-lean_dec(x_94);
-if (x_95 == 0)
-{
-uint8_t x_96;
-lean_dec(x_10);
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_7);
-x_96 = !lean_is_exclusive(x_92);
-if (x_96 == 0)
-{
-lean_object* x_97; lean_object* x_98;
-x_97 = lean_ctor_get(x_92, 0);
-lean_dec(x_97);
-x_98 = lean_box(0);
-lean_ctor_set(x_92, 0, x_98);
-return x_92;
-}
-else
-{
-lean_object* x_99; lean_object* x_100; lean_object* x_101;
-x_99 = lean_ctor_get(x_92, 1);
-lean_inc(x_99);
-lean_dec(x_92);
-x_100 = lean_box(0);
-x_101 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_101, 0, x_100);
-lean_ctor_set(x_101, 1, x_99);
-return x_101;
-}
-}
-else
-{
-lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; uint8_t x_106;
-x_102 = lean_ctor_get(x_92, 1);
-lean_inc(x_102);
-lean_dec(x_92);
-x_103 = l_Lean_Meta_SynthInstance_tryResolveCore___lambda__1___closed__2;
-x_104 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_103, x_7, x_8, x_9, x_10, x_102);
-x_105 = lean_ctor_get(x_104, 0);
-lean_inc(x_105);
-x_106 = lean_unbox(x_105);
-lean_dec(x_105);
-if (x_106 == 0)
-{
-uint8_t x_107;
-lean_dec(x_10);
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_7);
-x_107 = !lean_is_exclusive(x_104);
-if (x_107 == 0)
-{
-lean_object* x_108; lean_object* x_109;
-x_108 = lean_ctor_get(x_104, 0);
-lean_dec(x_108);
-x_109 = lean_box(0);
-lean_ctor_set(x_104, 0, x_109);
-return x_104;
-}
-else
-{
-lean_object* x_110; lean_object* x_111; lean_object* x_112;
-x_110 = lean_ctor_get(x_104, 1);
-lean_inc(x_110);
-lean_dec(x_104);
-x_111 = lean_box(0);
-x_112 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_112, 0, x_111);
-lean_ctor_set(x_112, 1, x_110);
-return x_112;
-}
-}
-else
-{
-lean_object* x_113; lean_object* x_114; lean_object* x_115; uint8_t x_116;
-x_113 = lean_ctor_get(x_104, 1);
-lean_inc(x_113);
-lean_dec(x_104);
-x_114 = l_Lean_Meta_SynthInstance_tryResolveCore___lambda__1___closed__4;
-x_115 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_103, x_114, x_7, x_8, x_9, x_10, x_113);
-lean_dec(x_10);
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_7);
-x_116 = !lean_is_exclusive(x_115);
-if (x_116 == 0)
-{
-lean_object* x_117; lean_object* x_118;
-x_117 = lean_ctor_get(x_115, 0);
-lean_dec(x_117);
-x_118 = lean_box(0);
-lean_ctor_set(x_115, 0, x_118);
-return x_115;
-}
-else
-{
-lean_object* x_119; lean_object* x_120; lean_object* x_121;
-x_119 = lean_ctor_get(x_115, 1);
-lean_inc(x_119);
-lean_dec(x_115);
-x_120 = lean_box(0);
-x_121 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_121, 0, x_120);
-lean_ctor_set(x_121, 1, x_119);
-return x_121;
-}
-}
-}
-}
-else
-{
-lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; uint8_t x_126;
-x_122 = lean_ctor_get(x_88, 1);
-lean_inc(x_122);
-lean_dec(x_88);
-x_123 = lean_st_ref_get(x_10, x_122);
-x_124 = lean_ctor_get(x_123, 0);
-lean_inc(x_124);
-x_125 = lean_ctor_get(x_124, 3);
-lean_inc(x_125);
-lean_dec(x_124);
-x_126 = lean_ctor_get_uint8(x_125, sizeof(void*)*1);
-lean_dec(x_125);
-if (x_126 == 0)
-{
-lean_object* x_127; uint8_t x_128;
-x_127 = lean_ctor_get(x_123, 1);
-lean_inc(x_127);
-lean_dec(x_123);
-x_128 = 0;
-x_57 = x_128;
-x_58 = x_127;
-goto block_87;
-}
-else
-{
-lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; uint8_t x_134;
-x_129 = lean_ctor_get(x_123, 1);
-lean_inc(x_129);
-lean_dec(x_123);
-x_130 = l_Lean_Meta_SynthInstance_tryResolveCore___lambda__1___closed__2;
-x_131 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_130, x_7, x_8, x_9, x_10, x_129);
-x_132 = lean_ctor_get(x_131, 0);
-lean_inc(x_132);
-x_133 = lean_ctor_get(x_131, 1);
-lean_inc(x_133);
-lean_dec(x_131);
-x_134 = lean_unbox(x_132);
-lean_dec(x_132);
-x_57 = x_134;
-x_58 = x_133;
-goto block_87;
-}
-}
-}
-else
-{
-uint8_t x_135;
-lean_dec(x_15);
-lean_dec(x_10);
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_7);
-x_135 = !lean_is_exclusive(x_88);
-if (x_135 == 0)
-{
-return x_88;
-}
-else
-{
-lean_object* x_136; lean_object* x_137; lean_object* x_138;
-x_136 = lean_ctor_get(x_88, 0);
-x_137 = lean_ctor_get(x_88, 1);
-lean_inc(x_137);
-lean_inc(x_136);
-lean_dec(x_88);
-x_138 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_138, 0, x_136);
-lean_ctor_set(x_138, 1, x_137);
-return x_138;
-}
-}
-block_87:
-{
-if (x_57 == 0)
-{
-lean_object* x_59; uint8_t x_60;
-lean_dec(x_10);
-lean_dec(x_9);
-lean_dec(x_7);
-x_59 = lean_st_ref_get(x_8, x_58);
-lean_dec(x_8);
-x_60 = !lean_is_exclusive(x_59);
-if (x_60 == 0)
-{
-lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64;
-x_61 = lean_ctor_get(x_59, 0);
-x_62 = lean_ctor_get(x_61, 0);
-lean_inc(x_62);
-lean_dec(x_61);
-x_63 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_63, 0, x_62);
-lean_ctor_set(x_63, 1, x_15);
-x_64 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_64, 0, x_63);
-lean_ctor_set(x_59, 0, x_64);
-return x_59;
-}
-else
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70;
-x_65 = lean_ctor_get(x_59, 0);
-x_66 = lean_ctor_get(x_59, 1);
-lean_inc(x_66);
-lean_inc(x_65);
-lean_dec(x_59);
-x_67 = lean_ctor_get(x_65, 0);
-lean_inc(x_67);
-lean_dec(x_65);
-x_68 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_68, 0, x_67);
-lean_ctor_set(x_68, 1, x_15);
-x_69 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_69, 0, 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_66);
-return x_70;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; uint8_t x_76;
-x_71 = l_Lean_Meta_SynthInstance_tryResolveCore___lambda__1___closed__2;
-x_72 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
-x_73 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_71, x_72, x_7, x_8, x_9, x_10, x_58);
-lean_dec(x_10);
-lean_dec(x_9);
-lean_dec(x_7);
-x_74 = lean_ctor_get(x_73, 1);
-lean_inc(x_74);
-lean_dec(x_73);
-x_75 = lean_st_ref_get(x_8, x_74);
-lean_dec(x_8);
-x_76 = !lean_is_exclusive(x_75);
-if (x_76 == 0)
-{
-lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80;
-x_77 = lean_ctor_get(x_75, 0);
-x_78 = lean_ctor_get(x_77, 0);
-lean_inc(x_78);
-lean_dec(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_15);
-x_80 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_80, 0, x_79);
-lean_ctor_set(x_75, 0, x_80);
-return x_75;
-}
-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;
-x_81 = lean_ctor_get(x_75, 0);
-x_82 = lean_ctor_get(x_75, 1);
-lean_inc(x_82);
-lean_inc(x_81);
-lean_dec(x_75);
-x_83 = lean_ctor_get(x_81, 0);
-lean_inc(x_83);
-lean_dec(x_81);
-x_84 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_84, 0, x_83);
-lean_ctor_set(x_84, 1, x_15);
-x_85 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_85, 0, x_84);
-x_86 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_86, 0, x_85);
-lean_ctor_set(x_86, 1, x_82);
-return x_86;
-}
-}
-}
-}
-else
-{
-uint8_t x_139;
-lean_dec(x_15);
-lean_dec(x_10);
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_4);
-x_139 = !lean_is_exclusive(x_54);
-if (x_139 == 0)
-{
-return x_54;
-}
-else
-{
-lean_object* x_140; lean_object* x_141; lean_object* x_142;
-x_140 = lean_ctor_get(x_54, 0);
-x_141 = lean_ctor_get(x_54, 1);
-lean_inc(x_141);
-lean_inc(x_140);
-lean_dec(x_54);
-x_142 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_142, 0, x_140);
-lean_ctor_set(x_142, 1, x_141);
-return x_142;
-}
-}
-}
-}
-else
-{
-uint8_t x_143;
-lean_dec(x_16);
-lean_dec(x_15);
-lean_dec(x_10);
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_5);
-lean_dec(x_4);
-x_143 = !lean_is_exclusive(x_19);
-if (x_143 == 0)
-{
-return x_19;
-}
-else
-{
-lean_object* x_144; lean_object* x_145; lean_object* x_146;
-x_144 = lean_ctor_get(x_19, 0);
-x_145 = lean_ctor_get(x_19, 1);
-lean_inc(x_145);
-lean_inc(x_144);
-lean_dec(x_19);
-x_146 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_146, 0, x_144);
-lean_ctor_set(x_146, 1, x_145);
-return x_146;
-}
-}
-}
-block_161:
-{
-if (x_148 == 0)
-{
-x_18 = x_149;
-goto block_147;
-}
-else
-{
-lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160;
+lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154;
lean_inc(x_6);
-x_150 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_150, 0, x_6);
-x_151 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_152 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_152, 0, x_151);
-lean_ctor_set(x_152, 1, x_150);
-x_153 = l_Lean_Meta_isLevelDefEqAux___closed__6;
-x_154 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_154, 0, x_152);
-lean_ctor_set(x_154, 1, x_153);
-lean_inc(x_17);
-x_155 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_155, 0, x_17);
-x_156 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_156, 0, x_154);
-lean_ctor_set(x_156, 1, x_155);
-x_157 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_157, 0, x_156);
-lean_ctor_set(x_157, 1, x_151);
-x_158 = l_Lean_Meta_SynthInstance_tryResolveCore___lambda__1___closed__2;
-x_159 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_158, x_157, x_7, x_8, x_9, x_10, x_149);
-x_160 = lean_ctor_get(x_159, 1);
-lean_inc(x_160);
-lean_dec(x_159);
-x_18 = x_160;
-goto block_147;
+x_144 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_144, 0, x_6);
+x_145 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_146 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_146, 0, x_145);
+lean_ctor_set(x_146, 1, x_144);
+x_147 = l_Lean_Meta_isLevelDefEqAux___closed__6;
+x_148 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_148, 0, x_146);
+lean_ctor_set(x_148, 1, x_147);
+lean_inc(x_18);
+x_149 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_149, 0, x_18);
+x_150 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_150, 0, x_148);
+lean_ctor_set(x_150, 1, x_149);
+x_151 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_151, 0, x_150);
+lean_ctor_set(x_151, 1, x_145);
+x_152 = l_Lean_Meta_SynthInstance_tryResolveCore___lambda__1___closed__2;
+x_153 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_152, x_151, x_7, x_8, x_9, x_10, x_143);
+x_154 = lean_ctor_get(x_153, 1);
+lean_inc(x_154);
+lean_dec(x_153);
+x_19 = x_154;
+goto block_141;
}
}
}
else
{
-uint8_t x_174;
+uint8_t x_168;
lean_dec(x_10);
lean_dec(x_9);
lean_dec(x_8);
@@ -7671,23 +7641,23 @@ lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
-x_174 = !lean_is_exclusive(x_12);
-if (x_174 == 0)
+x_168 = !lean_is_exclusive(x_12);
+if (x_168 == 0)
{
return x_12;
}
else
{
-lean_object* x_175; lean_object* x_176; lean_object* x_177;
-x_175 = lean_ctor_get(x_12, 0);
-x_176 = lean_ctor_get(x_12, 1);
-lean_inc(x_176);
-lean_inc(x_175);
+lean_object* x_169; lean_object* x_170; lean_object* x_171;
+x_169 = lean_ctor_get(x_12, 0);
+x_170 = lean_ctor_get(x_12, 1);
+lean_inc(x_170);
+lean_inc(x_169);
lean_dec(x_12);
-x_177 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_177, 0, x_175);
-lean_ctor_set(x_177, 1, x_176);
-return x_177;
+x_171 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_171, 0, x_169);
+lean_ctor_set(x_171, 1, x_170);
+return x_171;
}
}
}
@@ -7767,7 +7737,7 @@ lean_dec(x_4);
return x_8;
}
}
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_SynthInstance_tryResolve___spec__1___rarg(lean_object* x_1, lean_object* x_2) {
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_SynthInstance_tryResolve___spec__1___rarg(lean_object* x_1, lean_object* x_2) {
_start:
{
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; uint8_t x_12;
@@ -7911,15 +7881,15 @@ return x_40;
}
}
}
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_SynthInstance_tryResolve___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_SynthInstance_tryResolve___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
lean_object* x_5;
-x_5 = lean_alloc_closure((void*)(l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_SynthInstance_tryResolve___spec__1___rarg___boxed), 2, 0);
+x_5 = lean_alloc_closure((void*)(l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_SynthInstance_tryResolve___spec__1___rarg___boxed), 2, 0);
return x_5;
}
}
-lean_object* l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_SynthInstance_tryResolve___spec__2(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* l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_SynthInstance_tryResolve___spec__2(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) {
_start:
{
lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14;
@@ -7950,7 +7920,7 @@ x_19 = l_Std_PersistentArray_toArray___rarg(x_17);
lean_dec(x_17);
x_20 = x_19;
x_21 = lean_unsigned_to_nat(0u);
-x_22 = l_Array_umapMAux___main___at___private_Lean_Util_Trace_4__addNode___spec__1(x_21, x_20);
+x_22 = l_Array_umapMAux___main___at___private_Lean_Util_Trace_0__Lean_addNode___spec__1(x_21, x_20);
x_23 = x_22;
x_24 = lean_alloc_ctor(12, 1, 0);
lean_ctor_set(x_24, 0, x_23);
@@ -8033,7 +8003,7 @@ x_45 = l_Std_PersistentArray_toArray___rarg(x_43);
lean_dec(x_43);
x_46 = x_45;
x_47 = lean_unsigned_to_nat(0u);
-x_48 = l_Array_umapMAux___main___at___private_Lean_Util_Trace_4__addNode___spec__1(x_47, x_46);
+x_48 = l_Array_umapMAux___main___at___private_Lean_Util_Trace_0__Lean_addNode___spec__1(x_47, x_46);
x_49 = x_48;
x_50 = lean_alloc_ctor(12, 1, 0);
lean_ctor_set(x_50, 0, x_49);
@@ -8130,7 +8100,7 @@ x_73 = l_Std_PersistentArray_toArray___rarg(x_70);
lean_dec(x_70);
x_74 = x_73;
x_75 = lean_unsigned_to_nat(0u);
-x_76 = l_Array_umapMAux___main___at___private_Lean_Util_Trace_4__addNode___spec__1(x_75, x_74);
+x_76 = l_Array_umapMAux___main___at___private_Lean_Util_Trace_0__Lean_addNode___spec__1(x_75, x_74);
x_77 = x_76;
x_78 = lean_alloc_ctor(12, 1, 0);
lean_ctor_set(x_78, 0, x_77);
@@ -8216,7 +8186,7 @@ return x_95;
}
}
}
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_SynthInstance_tryResolve___spec__3(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* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_SynthInstance_tryResolve___spec__3(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) {
_start:
{
lean_object* x_8; uint8_t x_9; lean_object* x_10; lean_object* x_11;
@@ -8240,295 +8210,316 @@ return x_9;
lean_object* l_Lean_Meta_SynthInstance_tryResolve(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) {
_start:
{
-lean_object* x_10; uint8_t x_11; lean_object* x_12; lean_object* x_214; lean_object* x_215; lean_object* x_216; uint8_t x_217;
+lean_object* x_10; uint8_t x_11; lean_object* x_12; lean_object* x_218; lean_object* x_219; lean_object* x_220; uint8_t x_221;
x_10 = lean_alloc_closure((void*)(l_Lean_Meta_SynthInstance_tryResolve___lambda__1___boxed), 8, 2);
lean_closure_set(x_10, 0, x_2);
lean_closure_set(x_10, 1, x_3);
-x_214 = lean_st_ref_get(x_8, x_9);
-x_215 = lean_ctor_get(x_214, 0);
-lean_inc(x_215);
-x_216 = lean_ctor_get(x_215, 3);
-lean_inc(x_216);
-lean_dec(x_215);
-x_217 = lean_ctor_get_uint8(x_216, sizeof(void*)*1);
-lean_dec(x_216);
-if (x_217 == 0)
+x_218 = lean_st_ref_get(x_8, x_9);
+x_219 = lean_ctor_get(x_218, 0);
+lean_inc(x_219);
+x_220 = lean_ctor_get(x_219, 3);
+lean_inc(x_220);
+lean_dec(x_219);
+x_221 = lean_ctor_get_uint8(x_220, sizeof(void*)*1);
+lean_dec(x_220);
+if (x_221 == 0)
{
-lean_object* x_218; uint8_t x_219;
-x_218 = lean_ctor_get(x_214, 1);
-lean_inc(x_218);
-lean_dec(x_214);
-x_219 = 0;
-x_11 = x_219;
-x_12 = x_218;
-goto block_213;
+lean_object* x_222; uint8_t x_223;
+x_222 = lean_ctor_get(x_218, 1);
+lean_inc(x_222);
+lean_dec(x_218);
+x_223 = 0;
+x_11 = x_223;
+x_12 = x_222;
+goto block_217;
}
else
{
-lean_object* x_220; lean_object* x_221; lean_object* x_222; lean_object* x_223; lean_object* x_224; uint8_t x_225;
-x_220 = lean_ctor_get(x_214, 1);
-lean_inc(x_220);
-lean_dec(x_214);
-x_221 = l_Lean_Meta_SynthInstance_tryResolveCore___lambda__1___closed__2;
-x_222 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_SynthInstance_tryResolve___spec__3(x_221, x_4, x_5, x_6, x_7, x_8, x_220);
-x_223 = lean_ctor_get(x_222, 0);
-lean_inc(x_223);
-x_224 = lean_ctor_get(x_222, 1);
+lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; lean_object* x_228; uint8_t x_229;
+x_224 = lean_ctor_get(x_218, 1);
lean_inc(x_224);
-lean_dec(x_222);
-x_225 = lean_unbox(x_223);
-lean_dec(x_223);
-x_11 = x_225;
-x_12 = x_224;
-goto block_213;
+lean_dec(x_218);
+x_225 = l_Lean_Meta_SynthInstance_tryResolveCore___lambda__1___closed__2;
+x_226 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_SynthInstance_tryResolve___spec__3(x_225, x_4, x_5, x_6, x_7, x_8, x_224);
+x_227 = lean_ctor_get(x_226, 0);
+lean_inc(x_227);
+x_228 = lean_ctor_get(x_226, 1);
+lean_inc(x_228);
+lean_dec(x_226);
+x_229 = lean_unbox(x_227);
+lean_dec(x_227);
+x_11 = x_229;
+x_12 = x_228;
+goto block_217;
}
-block_213:
+block_217:
{
+uint8_t x_13;
if (x_11 == 0)
{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; uint8_t x_22;
-x_13 = lean_st_ref_get(x_8, x_12);
-x_14 = lean_ctor_get(x_13, 0);
-lean_inc(x_14);
-x_15 = lean_ctor_get(x_14, 3);
-lean_inc(x_15);
-lean_dec(x_14);
-x_16 = lean_ctor_get(x_13, 1);
-lean_inc(x_16);
-lean_dec(x_13);
-x_17 = lean_ctor_get_uint8(x_15, sizeof(void*)*1);
-lean_dec(x_15);
-x_18 = lean_st_ref_take(x_8, x_16);
-x_19 = lean_ctor_get(x_18, 0);
-lean_inc(x_19);
-x_20 = lean_ctor_get(x_19, 3);
-lean_inc(x_20);
-x_21 = lean_ctor_get(x_18, 1);
-lean_inc(x_21);
-lean_dec(x_18);
-x_22 = !lean_is_exclusive(x_19);
-if (x_22 == 0)
-{
-lean_object* x_23; uint8_t x_24;
-x_23 = lean_ctor_get(x_19, 3);
-lean_dec(x_23);
-x_24 = !lean_is_exclusive(x_20);
-if (x_24 == 0)
-{
-uint8_t x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
-x_25 = 0;
-lean_ctor_set_uint8(x_20, sizeof(void*)*1, x_25);
-x_26 = lean_st_ref_set(x_8, x_19, x_21);
-x_27 = lean_ctor_get(x_26, 1);
-lean_inc(x_27);
-lean_dec(x_26);
-lean_inc(x_8);
-x_28 = l_Lean_Meta_withMCtx___at_Lean_Meta_SynthInstance_newSubgoal___spec__10___rarg(x_1, x_10, x_4, x_5, x_6, x_7, x_8, x_27);
-if (lean_obj_tag(x_28) == 0)
-{
-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; uint8_t x_37;
-x_29 = lean_ctor_get(x_28, 0);
-lean_inc(x_29);
-x_30 = lean_ctor_get(x_28, 1);
-lean_inc(x_30);
-lean_dec(x_28);
-x_31 = lean_st_ref_get(x_8, x_30);
-x_32 = lean_ctor_get(x_31, 1);
-lean_inc(x_32);
-lean_dec(x_31);
-x_33 = lean_st_ref_take(x_8, x_32);
-x_34 = lean_ctor_get(x_33, 0);
-lean_inc(x_34);
-x_35 = lean_ctor_get(x_34, 3);
-lean_inc(x_35);
-x_36 = lean_ctor_get(x_33, 1);
-lean_inc(x_36);
-lean_dec(x_33);
-x_37 = !lean_is_exclusive(x_34);
-if (x_37 == 0)
-{
-lean_object* x_38; uint8_t x_39;
-x_38 = lean_ctor_get(x_34, 3);
-lean_dec(x_38);
-x_39 = !lean_is_exclusive(x_35);
-if (x_39 == 0)
-{
-lean_object* x_40; uint8_t x_41;
-lean_ctor_set_uint8(x_35, sizeof(void*)*1, x_17);
-x_40 = lean_st_ref_set(x_8, x_34, x_36);
-lean_dec(x_8);
-x_41 = !lean_is_exclusive(x_40);
-if (x_41 == 0)
-{
-lean_object* x_42;
-x_42 = lean_ctor_get(x_40, 0);
-lean_dec(x_42);
-lean_ctor_set(x_40, 0, x_29);
-return x_40;
+uint8_t x_215;
+x_215 = 1;
+x_13 = x_215;
+goto block_214;
}
else
{
-lean_object* x_43; lean_object* x_44;
+uint8_t x_216;
+x_216 = 0;
+x_13 = x_216;
+goto block_214;
+}
+block_214:
+{
+if (x_13 == 0)
+{
+lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
+x_14 = lean_ctor_get(x_7, 3);
+lean_inc(x_14);
+x_15 = l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_SynthInstance_tryResolve___spec__1___rarg(x_8, x_12);
+x_16 = lean_ctor_get(x_15, 0);
+lean_inc(x_16);
+x_17 = lean_ctor_get(x_15, 1);
+lean_inc(x_17);
+lean_dec(x_15);
+lean_inc(x_8);
+lean_inc(x_7);
+lean_inc(x_6);
+lean_inc(x_5);
+lean_inc(x_4);
+x_18 = l_Lean_Meta_withMCtx___at_Lean_Meta_SynthInstance_newSubgoal___spec__10___rarg(x_1, x_10, x_4, x_5, x_6, x_7, x_8, x_17);
+if (lean_obj_tag(x_18) == 0)
+{
+lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; uint8_t x_23;
+x_19 = lean_ctor_get(x_18, 0);
+lean_inc(x_19);
+x_20 = lean_ctor_get(x_18, 1);
+lean_inc(x_20);
+lean_dec(x_18);
+x_21 = l_Lean_Meta_SynthInstance_tryResolveCore___lambda__1___closed__2;
+x_22 = l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_SynthInstance_tryResolve___spec__2(x_16, x_21, x_14, x_4, x_5, x_6, x_7, x_8, x_20);
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+x_23 = !lean_is_exclusive(x_22);
+if (x_23 == 0)
+{
+lean_object* x_24;
+x_24 = lean_ctor_get(x_22, 0);
+lean_dec(x_24);
+lean_ctor_set(x_22, 0, x_19);
+return x_22;
+}
+else
+{
+lean_object* x_25; lean_object* x_26;
+x_25 = lean_ctor_get(x_22, 1);
+lean_inc(x_25);
+lean_dec(x_22);
+x_26 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_26, 0, x_19);
+lean_ctor_set(x_26, 1, x_25);
+return x_26;
+}
+}
+else
+{
+lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31;
+x_27 = lean_ctor_get(x_18, 0);
+lean_inc(x_27);
+x_28 = lean_ctor_get(x_18, 1);
+lean_inc(x_28);
+lean_dec(x_18);
+x_29 = l_Lean_Meta_SynthInstance_tryResolveCore___lambda__1___closed__2;
+x_30 = l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_SynthInstance_tryResolve___spec__2(x_16, x_29, x_14, x_4, x_5, x_6, x_7, x_8, x_28);
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+x_31 = !lean_is_exclusive(x_30);
+if (x_31 == 0)
+{
+lean_object* x_32;
+x_32 = lean_ctor_get(x_30, 0);
+lean_dec(x_32);
+lean_ctor_set_tag(x_30, 1);
+lean_ctor_set(x_30, 0, x_27);
+return x_30;
+}
+else
+{
+lean_object* x_33; lean_object* x_34;
+x_33 = lean_ctor_get(x_30, 1);
+lean_inc(x_33);
+lean_dec(x_30);
+x_34 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_34, 0, x_27);
+lean_ctor_set(x_34, 1, x_33);
+return x_34;
+}
+}
+}
+else
+{
+lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; uint8_t x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; uint8_t x_44;
+x_35 = lean_st_ref_get(x_8, x_12);
+x_36 = lean_ctor_get(x_35, 0);
+lean_inc(x_36);
+x_37 = lean_ctor_get(x_36, 3);
+lean_inc(x_37);
+lean_dec(x_36);
+x_38 = lean_ctor_get(x_35, 1);
+lean_inc(x_38);
+lean_dec(x_35);
+x_39 = lean_ctor_get_uint8(x_37, sizeof(void*)*1);
+lean_dec(x_37);
+x_40 = lean_st_ref_take(x_8, x_38);
+x_41 = lean_ctor_get(x_40, 0);
+lean_inc(x_41);
+x_42 = lean_ctor_get(x_41, 3);
+lean_inc(x_42);
x_43 = lean_ctor_get(x_40, 1);
lean_inc(x_43);
lean_dec(x_40);
-x_44 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_44, 0, x_29);
-lean_ctor_set(x_44, 1, x_43);
-return x_44;
-}
-}
-else
+x_44 = !lean_is_exclusive(x_41);
+if (x_44 == 0)
{
-lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50;
-x_45 = lean_ctor_get(x_35, 0);
-lean_inc(x_45);
-lean_dec(x_35);
-x_46 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_46, 0, x_45);
-lean_ctor_set_uint8(x_46, sizeof(void*)*1, x_17);
-lean_ctor_set(x_34, 3, x_46);
-x_47 = lean_st_ref_set(x_8, x_34, x_36);
-lean_dec(x_8);
-x_48 = lean_ctor_get(x_47, 1);
-lean_inc(x_48);
-if (lean_is_exclusive(x_47)) {
- lean_ctor_release(x_47, 0);
- lean_ctor_release(x_47, 1);
- x_49 = x_47;
-} else {
- lean_dec_ref(x_47);
- x_49 = lean_box(0);
-}
-if (lean_is_scalar(x_49)) {
- x_50 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_50 = x_49;
-}
-lean_ctor_set(x_50, 0, x_29);
-lean_ctor_set(x_50, 1, x_48);
-return x_50;
-}
-}
-else
+lean_object* x_45; uint8_t x_46;
+x_45 = lean_ctor_get(x_41, 3);
+lean_dec(x_45);
+x_46 = !lean_is_exclusive(x_42);
+if (x_46 == 0)
{
-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;
-x_51 = lean_ctor_get(x_34, 0);
-x_52 = lean_ctor_get(x_34, 1);
-x_53 = lean_ctor_get(x_34, 2);
-lean_inc(x_53);
-lean_inc(x_52);
+uint8_t x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50;
+x_47 = 0;
+lean_ctor_set_uint8(x_42, sizeof(void*)*1, x_47);
+x_48 = lean_st_ref_set(x_8, x_41, x_43);
+x_49 = lean_ctor_get(x_48, 1);
+lean_inc(x_49);
+lean_dec(x_48);
+lean_inc(x_8);
+x_50 = l_Lean_Meta_withMCtx___at_Lean_Meta_SynthInstance_newSubgoal___spec__10___rarg(x_1, x_10, x_4, x_5, x_6, x_7, x_8, x_49);
+if (lean_obj_tag(x_50) == 0)
+{
+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; uint8_t x_59;
+x_51 = lean_ctor_get(x_50, 0);
lean_inc(x_51);
-lean_dec(x_34);
-x_54 = lean_ctor_get(x_35, 0);
+x_52 = lean_ctor_get(x_50, 1);
+lean_inc(x_52);
+lean_dec(x_50);
+x_53 = lean_st_ref_get(x_8, x_52);
+x_54 = lean_ctor_get(x_53, 1);
lean_inc(x_54);
-if (lean_is_exclusive(x_35)) {
- lean_ctor_release(x_35, 0);
- x_55 = x_35;
-} else {
- lean_dec_ref(x_35);
- x_55 = lean_box(0);
-}
-if (lean_is_scalar(x_55)) {
- x_56 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_56 = x_55;
-}
-lean_ctor_set(x_56, 0, x_54);
-lean_ctor_set_uint8(x_56, sizeof(void*)*1, x_17);
-x_57 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_57, 0, x_51);
-lean_ctor_set(x_57, 1, x_52);
-lean_ctor_set(x_57, 2, x_53);
-lean_ctor_set(x_57, 3, x_56);
-x_58 = lean_st_ref_set(x_8, x_57, x_36);
-lean_dec(x_8);
-x_59 = lean_ctor_get(x_58, 1);
-lean_inc(x_59);
-if (lean_is_exclusive(x_58)) {
- lean_ctor_release(x_58, 0);
- lean_ctor_release(x_58, 1);
- x_60 = x_58;
-} else {
- lean_dec_ref(x_58);
- x_60 = lean_box(0);
-}
-if (lean_is_scalar(x_60)) {
- x_61 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_61 = x_60;
-}
-lean_ctor_set(x_61, 0, x_29);
-lean_ctor_set(x_61, 1, x_59);
-return x_61;
-}
-}
-else
+lean_dec(x_53);
+x_55 = lean_st_ref_take(x_8, x_54);
+x_56 = lean_ctor_get(x_55, 0);
+lean_inc(x_56);
+x_57 = lean_ctor_get(x_56, 3);
+lean_inc(x_57);
+x_58 = lean_ctor_get(x_55, 1);
+lean_inc(x_58);
+lean_dec(x_55);
+x_59 = !lean_is_exclusive(x_56);
+if (x_59 == 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; uint8_t x_70;
-x_62 = lean_ctor_get(x_28, 0);
-lean_inc(x_62);
-x_63 = lean_ctor_get(x_28, 1);
-lean_inc(x_63);
-lean_dec(x_28);
-x_64 = lean_st_ref_get(x_8, x_63);
-x_65 = lean_ctor_get(x_64, 1);
-lean_inc(x_65);
+lean_object* x_60; uint8_t x_61;
+x_60 = lean_ctor_get(x_56, 3);
+lean_dec(x_60);
+x_61 = !lean_is_exclusive(x_57);
+if (x_61 == 0)
+{
+lean_object* x_62; uint8_t x_63;
+lean_ctor_set_uint8(x_57, sizeof(void*)*1, x_39);
+x_62 = lean_st_ref_set(x_8, x_56, x_58);
+lean_dec(x_8);
+x_63 = !lean_is_exclusive(x_62);
+if (x_63 == 0)
+{
+lean_object* x_64;
+x_64 = lean_ctor_get(x_62, 0);
lean_dec(x_64);
-x_66 = lean_st_ref_take(x_8, x_65);
-x_67 = lean_ctor_get(x_66, 0);
+lean_ctor_set(x_62, 0, x_51);
+return x_62;
+}
+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(0, 2, 0);
+lean_ctor_set(x_66, 0, x_51);
+lean_ctor_set(x_66, 1, x_65);
+return x_66;
+}
+}
+else
+{
+lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72;
+x_67 = lean_ctor_get(x_57, 0);
lean_inc(x_67);
-x_68 = lean_ctor_get(x_67, 3);
-lean_inc(x_68);
-x_69 = lean_ctor_get(x_66, 1);
-lean_inc(x_69);
-lean_dec(x_66);
-x_70 = !lean_is_exclusive(x_67);
-if (x_70 == 0)
-{
-lean_object* x_71; uint8_t x_72;
-x_71 = lean_ctor_get(x_67, 3);
-lean_dec(x_71);
-x_72 = !lean_is_exclusive(x_68);
-if (x_72 == 0)
-{
-lean_object* x_73; uint8_t x_74;
-lean_ctor_set_uint8(x_68, sizeof(void*)*1, x_17);
-x_73 = lean_st_ref_set(x_8, x_67, x_69);
+lean_dec(x_57);
+x_68 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_68, 0, x_67);
+lean_ctor_set_uint8(x_68, sizeof(void*)*1, x_39);
+lean_ctor_set(x_56, 3, x_68);
+x_69 = lean_st_ref_set(x_8, x_56, x_58);
lean_dec(x_8);
-x_74 = !lean_is_exclusive(x_73);
-if (x_74 == 0)
-{
-lean_object* x_75;
-x_75 = lean_ctor_get(x_73, 0);
-lean_dec(x_75);
-lean_ctor_set_tag(x_73, 1);
-lean_ctor_set(x_73, 0, x_62);
-return x_73;
+x_70 = lean_ctor_get(x_69, 1);
+lean_inc(x_70);
+if (lean_is_exclusive(x_69)) {
+ lean_ctor_release(x_69, 0);
+ lean_ctor_release(x_69, 1);
+ x_71 = x_69;
+} else {
+ lean_dec_ref(x_69);
+ x_71 = lean_box(0);
+}
+if (lean_is_scalar(x_71)) {
+ x_72 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_72 = x_71;
+}
+lean_ctor_set(x_72, 0, x_51);
+lean_ctor_set(x_72, 1, x_70);
+return x_72;
+}
}
else
{
-lean_object* x_76; lean_object* x_77;
-x_76 = lean_ctor_get(x_73, 1);
+lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83;
+x_73 = lean_ctor_get(x_56, 0);
+x_74 = lean_ctor_get(x_56, 1);
+x_75 = lean_ctor_get(x_56, 2);
+lean_inc(x_75);
+lean_inc(x_74);
+lean_inc(x_73);
+lean_dec(x_56);
+x_76 = lean_ctor_get(x_57, 0);
lean_inc(x_76);
-lean_dec(x_73);
-x_77 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_77, 0, x_62);
-lean_ctor_set(x_77, 1, x_76);
-return x_77;
+if (lean_is_exclusive(x_57)) {
+ lean_ctor_release(x_57, 0);
+ x_77 = x_57;
+} else {
+ lean_dec_ref(x_57);
+ x_77 = lean_box(0);
}
+if (lean_is_scalar(x_77)) {
+ x_78 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_78 = x_77;
}
-else
-{
-lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83;
-x_78 = lean_ctor_get(x_68, 0);
-lean_inc(x_78);
-lean_dec(x_68);
-x_79 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_79, 0, x_78);
-lean_ctor_set_uint8(x_79, sizeof(void*)*1, x_17);
-lean_ctor_set(x_67, 3, x_79);
-x_80 = lean_st_ref_set(x_8, x_67, x_69);
+lean_ctor_set(x_78, 0, x_76);
+lean_ctor_set_uint8(x_78, sizeof(void*)*1, x_39);
+x_79 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_79, 0, x_73);
+lean_ctor_set(x_79, 1, x_74);
+lean_ctor_set(x_79, 2, x_75);
+lean_ctor_set(x_79, 3, x_78);
+x_80 = lean_st_ref_set(x_8, x_79, x_58);
lean_dec(x_8);
x_81 = lean_ctor_get(x_80, 1);
lean_inc(x_81);
@@ -8541,568 +8532,565 @@ if (lean_is_exclusive(x_80)) {
x_82 = lean_box(0);
}
if (lean_is_scalar(x_82)) {
- x_83 = lean_alloc_ctor(1, 2, 0);
+ x_83 = lean_alloc_ctor(0, 2, 0);
} else {
x_83 = x_82;
- lean_ctor_set_tag(x_83, 1);
}
-lean_ctor_set(x_83, 0, x_62);
+lean_ctor_set(x_83, 0, x_51);
lean_ctor_set(x_83, 1, x_81);
return x_83;
}
}
else
{
-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;
-x_84 = lean_ctor_get(x_67, 0);
-x_85 = lean_ctor_get(x_67, 1);
-x_86 = lean_ctor_get(x_67, 2);
-lean_inc(x_86);
-lean_inc(x_85);
+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; uint8_t x_92;
+x_84 = lean_ctor_get(x_50, 0);
lean_inc(x_84);
-lean_dec(x_67);
-x_87 = lean_ctor_get(x_68, 0);
+x_85 = lean_ctor_get(x_50, 1);
+lean_inc(x_85);
+lean_dec(x_50);
+x_86 = lean_st_ref_get(x_8, x_85);
+x_87 = lean_ctor_get(x_86, 1);
lean_inc(x_87);
-if (lean_is_exclusive(x_68)) {
- lean_ctor_release(x_68, 0);
- x_88 = x_68;
-} else {
- lean_dec_ref(x_68);
- x_88 = lean_box(0);
-}
-if (lean_is_scalar(x_88)) {
- x_89 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_89 = x_88;
-}
-lean_ctor_set(x_89, 0, x_87);
-lean_ctor_set_uint8(x_89, sizeof(void*)*1, x_17);
-x_90 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_90, 0, x_84);
-lean_ctor_set(x_90, 1, x_85);
-lean_ctor_set(x_90, 2, x_86);
-lean_ctor_set(x_90, 3, x_89);
-x_91 = lean_st_ref_set(x_8, x_90, x_69);
+lean_dec(x_86);
+x_88 = lean_st_ref_take(x_8, x_87);
+x_89 = lean_ctor_get(x_88, 0);
+lean_inc(x_89);
+x_90 = lean_ctor_get(x_89, 3);
+lean_inc(x_90);
+x_91 = lean_ctor_get(x_88, 1);
+lean_inc(x_91);
+lean_dec(x_88);
+x_92 = !lean_is_exclusive(x_89);
+if (x_92 == 0)
+{
+lean_object* x_93; uint8_t x_94;
+x_93 = lean_ctor_get(x_89, 3);
+lean_dec(x_93);
+x_94 = !lean_is_exclusive(x_90);
+if (x_94 == 0)
+{
+lean_object* x_95; uint8_t x_96;
+lean_ctor_set_uint8(x_90, sizeof(void*)*1, x_39);
+x_95 = lean_st_ref_set(x_8, x_89, x_91);
lean_dec(x_8);
-x_92 = lean_ctor_get(x_91, 1);
-lean_inc(x_92);
-if (lean_is_exclusive(x_91)) {
- lean_ctor_release(x_91, 0);
- lean_ctor_release(x_91, 1);
- x_93 = x_91;
-} else {
- lean_dec_ref(x_91);
- x_93 = lean_box(0);
-}
-if (lean_is_scalar(x_93)) {
- x_94 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_94 = x_93;
- lean_ctor_set_tag(x_94, 1);
-}
-lean_ctor_set(x_94, 0, x_62);
-lean_ctor_set(x_94, 1, x_92);
-return x_94;
+x_96 = !lean_is_exclusive(x_95);
+if (x_96 == 0)
+{
+lean_object* x_97;
+x_97 = lean_ctor_get(x_95, 0);
+lean_dec(x_97);
+lean_ctor_set_tag(x_95, 1);
+lean_ctor_set(x_95, 0, x_84);
+return x_95;
}
+else
+{
+lean_object* x_98; lean_object* x_99;
+x_98 = lean_ctor_get(x_95, 1);
+lean_inc(x_98);
+lean_dec(x_95);
+x_99 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_99, 0, x_84);
+lean_ctor_set(x_99, 1, x_98);
+return x_99;
}
}
else
{
-lean_object* x_95; uint8_t x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100;
-x_95 = lean_ctor_get(x_20, 0);
-lean_inc(x_95);
-lean_dec(x_20);
-x_96 = 0;
-x_97 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_97, 0, x_95);
-lean_ctor_set_uint8(x_97, sizeof(void*)*1, x_96);
-lean_ctor_set(x_19, 3, x_97);
-x_98 = lean_st_ref_set(x_8, x_19, x_21);
-x_99 = lean_ctor_get(x_98, 1);
-lean_inc(x_99);
-lean_dec(x_98);
-lean_inc(x_8);
-x_100 = l_Lean_Meta_withMCtx___at_Lean_Meta_SynthInstance_newSubgoal___spec__10___rarg(x_1, x_10, x_4, x_5, x_6, x_7, x_8, x_99);
-if (lean_obj_tag(x_100) == 0)
+lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105;
+x_100 = lean_ctor_get(x_90, 0);
+lean_inc(x_100);
+lean_dec(x_90);
+x_101 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_101, 0, x_100);
+lean_ctor_set_uint8(x_101, sizeof(void*)*1, x_39);
+lean_ctor_set(x_89, 3, x_101);
+x_102 = lean_st_ref_set(x_8, x_89, x_91);
+lean_dec(x_8);
+x_103 = lean_ctor_get(x_102, 1);
+lean_inc(x_103);
+if (lean_is_exclusive(x_102)) {
+ lean_ctor_release(x_102, 0);
+ lean_ctor_release(x_102, 1);
+ x_104 = x_102;
+} else {
+ lean_dec_ref(x_102);
+ x_104 = lean_box(0);
+}
+if (lean_is_scalar(x_104)) {
+ x_105 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_105 = x_104;
+ lean_ctor_set_tag(x_105, 1);
+}
+lean_ctor_set(x_105, 0, x_84);
+lean_ctor_set(x_105, 1, x_103);
+return x_105;
+}
+}
+else
{
-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;
-x_101 = lean_ctor_get(x_100, 0);
-lean_inc(x_101);
-x_102 = lean_ctor_get(x_100, 1);
-lean_inc(x_102);
-lean_dec(x_100);
-x_103 = lean_st_ref_get(x_8, x_102);
-x_104 = lean_ctor_get(x_103, 1);
-lean_inc(x_104);
-lean_dec(x_103);
-x_105 = lean_st_ref_take(x_8, x_104);
-x_106 = lean_ctor_get(x_105, 0);
-lean_inc(x_106);
-x_107 = lean_ctor_get(x_106, 3);
-lean_inc(x_107);
-x_108 = lean_ctor_get(x_105, 1);
+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;
+x_106 = lean_ctor_get(x_89, 0);
+x_107 = lean_ctor_get(x_89, 1);
+x_108 = lean_ctor_get(x_89, 2);
lean_inc(x_108);
-lean_dec(x_105);
-x_109 = lean_ctor_get(x_106, 0);
+lean_inc(x_107);
+lean_inc(x_106);
+lean_dec(x_89);
+x_109 = lean_ctor_get(x_90, 0);
lean_inc(x_109);
-x_110 = lean_ctor_get(x_106, 1);
-lean_inc(x_110);
-x_111 = lean_ctor_get(x_106, 2);
-lean_inc(x_111);
-if (lean_is_exclusive(x_106)) {
- lean_ctor_release(x_106, 0);
- lean_ctor_release(x_106, 1);
- lean_ctor_release(x_106, 2);
- lean_ctor_release(x_106, 3);
- x_112 = x_106;
+if (lean_is_exclusive(x_90)) {
+ lean_ctor_release(x_90, 0);
+ x_110 = x_90;
} else {
- lean_dec_ref(x_106);
- x_112 = lean_box(0);
+ lean_dec_ref(x_90);
+ x_110 = lean_box(0);
}
-x_113 = lean_ctor_get(x_107, 0);
-lean_inc(x_113);
-if (lean_is_exclusive(x_107)) {
- lean_ctor_release(x_107, 0);
- x_114 = x_107;
+if (lean_is_scalar(x_110)) {
+ x_111 = lean_alloc_ctor(0, 1, 1);
} else {
- lean_dec_ref(x_107);
- x_114 = lean_box(0);
+ x_111 = x_110;
}
-if (lean_is_scalar(x_114)) {
- x_115 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_115 = x_114;
-}
-lean_ctor_set(x_115, 0, x_113);
-lean_ctor_set_uint8(x_115, sizeof(void*)*1, x_17);
-if (lean_is_scalar(x_112)) {
- x_116 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_116 = x_112;
-}
-lean_ctor_set(x_116, 0, x_109);
-lean_ctor_set(x_116, 1, x_110);
-lean_ctor_set(x_116, 2, x_111);
-lean_ctor_set(x_116, 3, x_115);
-x_117 = lean_st_ref_set(x_8, x_116, x_108);
+lean_ctor_set(x_111, 0, x_109);
+lean_ctor_set_uint8(x_111, sizeof(void*)*1, x_39);
+x_112 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_112, 0, x_106);
+lean_ctor_set(x_112, 1, x_107);
+lean_ctor_set(x_112, 2, x_108);
+lean_ctor_set(x_112, 3, x_111);
+x_113 = lean_st_ref_set(x_8, x_112, x_91);
lean_dec(x_8);
-x_118 = lean_ctor_get(x_117, 1);
-lean_inc(x_118);
-if (lean_is_exclusive(x_117)) {
- lean_ctor_release(x_117, 0);
- lean_ctor_release(x_117, 1);
- x_119 = x_117;
+x_114 = lean_ctor_get(x_113, 1);
+lean_inc(x_114);
+if (lean_is_exclusive(x_113)) {
+ lean_ctor_release(x_113, 0);
+ lean_ctor_release(x_113, 1);
+ x_115 = x_113;
} else {
- lean_dec_ref(x_117);
- x_119 = lean_box(0);
+ lean_dec_ref(x_113);
+ x_115 = lean_box(0);
}
-if (lean_is_scalar(x_119)) {
- x_120 = lean_alloc_ctor(0, 2, 0);
+if (lean_is_scalar(x_115)) {
+ x_116 = lean_alloc_ctor(1, 2, 0);
} else {
- x_120 = x_119;
+ x_116 = x_115;
+ lean_ctor_set_tag(x_116, 1);
+}
+lean_ctor_set(x_116, 0, x_84);
+lean_ctor_set(x_116, 1, x_114);
+return x_116;
+}
}
-lean_ctor_set(x_120, 0, x_101);
-lean_ctor_set(x_120, 1, x_118);
-return x_120;
}
else
{
-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; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140;
-x_121 = lean_ctor_get(x_100, 0);
+lean_object* x_117; uint8_t x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122;
+x_117 = lean_ctor_get(x_42, 0);
+lean_inc(x_117);
+lean_dec(x_42);
+x_118 = 0;
+x_119 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_119, 0, x_117);
+lean_ctor_set_uint8(x_119, sizeof(void*)*1, x_118);
+lean_ctor_set(x_41, 3, x_119);
+x_120 = lean_st_ref_set(x_8, x_41, x_43);
+x_121 = lean_ctor_get(x_120, 1);
lean_inc(x_121);
-x_122 = lean_ctor_get(x_100, 1);
-lean_inc(x_122);
-lean_dec(x_100);
-x_123 = lean_st_ref_get(x_8, x_122);
-x_124 = lean_ctor_get(x_123, 1);
+lean_dec(x_120);
+lean_inc(x_8);
+x_122 = l_Lean_Meta_withMCtx___at_Lean_Meta_SynthInstance_newSubgoal___spec__10___rarg(x_1, x_10, x_4, x_5, x_6, x_7, x_8, x_121);
+if (lean_obj_tag(x_122) == 0)
+{
+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; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142;
+x_123 = lean_ctor_get(x_122, 0);
+lean_inc(x_123);
+x_124 = lean_ctor_get(x_122, 1);
lean_inc(x_124);
-lean_dec(x_123);
-x_125 = lean_st_ref_take(x_8, x_124);
-x_126 = lean_ctor_get(x_125, 0);
+lean_dec(x_122);
+x_125 = lean_st_ref_get(x_8, x_124);
+x_126 = lean_ctor_get(x_125, 1);
lean_inc(x_126);
-x_127 = lean_ctor_get(x_126, 3);
-lean_inc(x_127);
-x_128 = lean_ctor_get(x_125, 1);
-lean_inc(x_128);
lean_dec(x_125);
-x_129 = lean_ctor_get(x_126, 0);
+x_127 = lean_st_ref_take(x_8, x_126);
+x_128 = lean_ctor_get(x_127, 0);
+lean_inc(x_128);
+x_129 = lean_ctor_get(x_128, 3);
lean_inc(x_129);
-x_130 = lean_ctor_get(x_126, 1);
+x_130 = lean_ctor_get(x_127, 1);
lean_inc(x_130);
-x_131 = lean_ctor_get(x_126, 2);
+lean_dec(x_127);
+x_131 = lean_ctor_get(x_128, 0);
lean_inc(x_131);
-if (lean_is_exclusive(x_126)) {
- lean_ctor_release(x_126, 0);
- lean_ctor_release(x_126, 1);
- lean_ctor_release(x_126, 2);
- lean_ctor_release(x_126, 3);
- x_132 = x_126;
-} else {
- lean_dec_ref(x_126);
- x_132 = lean_box(0);
-}
-x_133 = lean_ctor_get(x_127, 0);
+x_132 = lean_ctor_get(x_128, 1);
+lean_inc(x_132);
+x_133 = lean_ctor_get(x_128, 2);
lean_inc(x_133);
-if (lean_is_exclusive(x_127)) {
- lean_ctor_release(x_127, 0);
- x_134 = x_127;
+if (lean_is_exclusive(x_128)) {
+ lean_ctor_release(x_128, 0);
+ lean_ctor_release(x_128, 1);
+ lean_ctor_release(x_128, 2);
+ lean_ctor_release(x_128, 3);
+ x_134 = x_128;
} else {
- lean_dec_ref(x_127);
+ lean_dec_ref(x_128);
x_134 = lean_box(0);
}
+x_135 = lean_ctor_get(x_129, 0);
+lean_inc(x_135);
+if (lean_is_exclusive(x_129)) {
+ lean_ctor_release(x_129, 0);
+ x_136 = x_129;
+} else {
+ lean_dec_ref(x_129);
+ x_136 = lean_box(0);
+}
+if (lean_is_scalar(x_136)) {
+ x_137 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_137 = x_136;
+}
+lean_ctor_set(x_137, 0, x_135);
+lean_ctor_set_uint8(x_137, sizeof(void*)*1, x_39);
if (lean_is_scalar(x_134)) {
- x_135 = lean_alloc_ctor(0, 1, 1);
+ x_138 = lean_alloc_ctor(0, 4, 0);
} else {
- x_135 = x_134;
+ x_138 = x_134;
}
-lean_ctor_set(x_135, 0, x_133);
-lean_ctor_set_uint8(x_135, sizeof(void*)*1, x_17);
-if (lean_is_scalar(x_132)) {
- x_136 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_136 = x_132;
-}
-lean_ctor_set(x_136, 0, x_129);
-lean_ctor_set(x_136, 1, x_130);
-lean_ctor_set(x_136, 2, x_131);
-lean_ctor_set(x_136, 3, x_135);
-x_137 = lean_st_ref_set(x_8, x_136, x_128);
+lean_ctor_set(x_138, 0, x_131);
+lean_ctor_set(x_138, 1, x_132);
+lean_ctor_set(x_138, 2, x_133);
+lean_ctor_set(x_138, 3, x_137);
+x_139 = lean_st_ref_set(x_8, x_138, x_130);
lean_dec(x_8);
-x_138 = lean_ctor_get(x_137, 1);
-lean_inc(x_138);
-if (lean_is_exclusive(x_137)) {
- lean_ctor_release(x_137, 0);
- lean_ctor_release(x_137, 1);
- x_139 = x_137;
+x_140 = lean_ctor_get(x_139, 1);
+lean_inc(x_140);
+if (lean_is_exclusive(x_139)) {
+ lean_ctor_release(x_139, 0);
+ lean_ctor_release(x_139, 1);
+ x_141 = x_139;
} else {
- lean_dec_ref(x_137);
- x_139 = lean_box(0);
+ lean_dec_ref(x_139);
+ x_141 = lean_box(0);
}
-if (lean_is_scalar(x_139)) {
- x_140 = lean_alloc_ctor(1, 2, 0);
+if (lean_is_scalar(x_141)) {
+ x_142 = lean_alloc_ctor(0, 2, 0);
} else {
- x_140 = x_139;
- lean_ctor_set_tag(x_140, 1);
-}
-lean_ctor_set(x_140, 0, x_121);
-lean_ctor_set(x_140, 1, x_138);
-return x_140;
-}
+ x_142 = x_141;
}
+lean_ctor_set(x_142, 0, x_123);
+lean_ctor_set(x_142, 1, x_140);
+return x_142;
}
else
{
-lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; uint8_t x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151;
-x_141 = lean_ctor_get(x_19, 0);
-x_142 = lean_ctor_get(x_19, 1);
-x_143 = lean_ctor_get(x_19, 2);
+lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162;
+x_143 = lean_ctor_get(x_122, 0);
lean_inc(x_143);
-lean_inc(x_142);
-lean_inc(x_141);
-lean_dec(x_19);
-x_144 = lean_ctor_get(x_20, 0);
+x_144 = lean_ctor_get(x_122, 1);
lean_inc(x_144);
-if (lean_is_exclusive(x_20)) {
- lean_ctor_release(x_20, 0);
- x_145 = x_20;
-} else {
- lean_dec_ref(x_20);
- x_145 = lean_box(0);
-}
-x_146 = 0;
-if (lean_is_scalar(x_145)) {
- x_147 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_147 = x_145;
-}
-lean_ctor_set(x_147, 0, x_144);
-lean_ctor_set_uint8(x_147, sizeof(void*)*1, x_146);
-x_148 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_148, 0, x_141);
-lean_ctor_set(x_148, 1, x_142);
-lean_ctor_set(x_148, 2, x_143);
-lean_ctor_set(x_148, 3, x_147);
-x_149 = lean_st_ref_set(x_8, x_148, x_21);
-x_150 = lean_ctor_get(x_149, 1);
+lean_dec(x_122);
+x_145 = lean_st_ref_get(x_8, x_144);
+x_146 = lean_ctor_get(x_145, 1);
+lean_inc(x_146);
+lean_dec(x_145);
+x_147 = lean_st_ref_take(x_8, x_146);
+x_148 = lean_ctor_get(x_147, 0);
+lean_inc(x_148);
+x_149 = lean_ctor_get(x_148, 3);
+lean_inc(x_149);
+x_150 = lean_ctor_get(x_147, 1);
lean_inc(x_150);
-lean_dec(x_149);
-lean_inc(x_8);
-x_151 = l_Lean_Meta_withMCtx___at_Lean_Meta_SynthInstance_newSubgoal___spec__10___rarg(x_1, x_10, x_4, x_5, x_6, x_7, x_8, x_150);
-if (lean_obj_tag(x_151) == 0)
-{
-lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171;
-x_152 = lean_ctor_get(x_151, 0);
+lean_dec(x_147);
+x_151 = lean_ctor_get(x_148, 0);
+lean_inc(x_151);
+x_152 = lean_ctor_get(x_148, 1);
lean_inc(x_152);
-x_153 = lean_ctor_get(x_151, 1);
+x_153 = lean_ctor_get(x_148, 2);
lean_inc(x_153);
-lean_dec(x_151);
-x_154 = lean_st_ref_get(x_8, x_153);
-x_155 = lean_ctor_get(x_154, 1);
+if (lean_is_exclusive(x_148)) {
+ lean_ctor_release(x_148, 0);
+ lean_ctor_release(x_148, 1);
+ lean_ctor_release(x_148, 2);
+ lean_ctor_release(x_148, 3);
+ x_154 = x_148;
+} else {
+ lean_dec_ref(x_148);
+ x_154 = lean_box(0);
+}
+x_155 = lean_ctor_get(x_149, 0);
lean_inc(x_155);
-lean_dec(x_154);
-x_156 = lean_st_ref_take(x_8, x_155);
-x_157 = lean_ctor_get(x_156, 0);
-lean_inc(x_157);
-x_158 = lean_ctor_get(x_157, 3);
-lean_inc(x_158);
-x_159 = lean_ctor_get(x_156, 1);
-lean_inc(x_159);
-lean_dec(x_156);
-x_160 = lean_ctor_get(x_157, 0);
-lean_inc(x_160);
-x_161 = lean_ctor_get(x_157, 1);
-lean_inc(x_161);
-x_162 = lean_ctor_get(x_157, 2);
-lean_inc(x_162);
-if (lean_is_exclusive(x_157)) {
- lean_ctor_release(x_157, 0);
- lean_ctor_release(x_157, 1);
- lean_ctor_release(x_157, 2);
- lean_ctor_release(x_157, 3);
- x_163 = x_157;
+if (lean_is_exclusive(x_149)) {
+ lean_ctor_release(x_149, 0);
+ x_156 = x_149;
} else {
- lean_dec_ref(x_157);
- x_163 = lean_box(0);
+ lean_dec_ref(x_149);
+ x_156 = lean_box(0);
}
-x_164 = lean_ctor_get(x_158, 0);
-lean_inc(x_164);
-if (lean_is_exclusive(x_158)) {
- lean_ctor_release(x_158, 0);
- x_165 = x_158;
+if (lean_is_scalar(x_156)) {
+ x_157 = lean_alloc_ctor(0, 1, 1);
} else {
- lean_dec_ref(x_158);
- x_165 = lean_box(0);
+ x_157 = x_156;
}
-if (lean_is_scalar(x_165)) {
- x_166 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_157, 0, x_155);
+lean_ctor_set_uint8(x_157, sizeof(void*)*1, x_39);
+if (lean_is_scalar(x_154)) {
+ x_158 = lean_alloc_ctor(0, 4, 0);
} else {
- x_166 = x_165;
+ x_158 = x_154;
}
-lean_ctor_set(x_166, 0, x_164);
-lean_ctor_set_uint8(x_166, sizeof(void*)*1, x_17);
-if (lean_is_scalar(x_163)) {
- x_167 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_167 = x_163;
-}
-lean_ctor_set(x_167, 0, x_160);
-lean_ctor_set(x_167, 1, x_161);
-lean_ctor_set(x_167, 2, x_162);
-lean_ctor_set(x_167, 3, x_166);
-x_168 = lean_st_ref_set(x_8, x_167, x_159);
+lean_ctor_set(x_158, 0, x_151);
+lean_ctor_set(x_158, 1, x_152);
+lean_ctor_set(x_158, 2, x_153);
+lean_ctor_set(x_158, 3, x_157);
+x_159 = lean_st_ref_set(x_8, x_158, x_150);
lean_dec(x_8);
-x_169 = lean_ctor_get(x_168, 1);
-lean_inc(x_169);
-if (lean_is_exclusive(x_168)) {
- lean_ctor_release(x_168, 0);
- lean_ctor_release(x_168, 1);
- x_170 = x_168;
+x_160 = lean_ctor_get(x_159, 1);
+lean_inc(x_160);
+if (lean_is_exclusive(x_159)) {
+ lean_ctor_release(x_159, 0);
+ lean_ctor_release(x_159, 1);
+ x_161 = x_159;
} else {
- lean_dec_ref(x_168);
- x_170 = lean_box(0);
+ lean_dec_ref(x_159);
+ x_161 = lean_box(0);
}
-if (lean_is_scalar(x_170)) {
- x_171 = lean_alloc_ctor(0, 2, 0);
+if (lean_is_scalar(x_161)) {
+ x_162 = lean_alloc_ctor(1, 2, 0);
} else {
- x_171 = x_170;
+ x_162 = x_161;
+ lean_ctor_set_tag(x_162, 1);
+}
+lean_ctor_set(x_162, 0, x_143);
+lean_ctor_set(x_162, 1, x_160);
+return x_162;
+}
}
-lean_ctor_set(x_171, 0, x_152);
-lean_ctor_set(x_171, 1, x_169);
-return x_171;
}
else
{
-lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191;
-x_172 = lean_ctor_get(x_151, 0);
-lean_inc(x_172);
-x_173 = lean_ctor_get(x_151, 1);
-lean_inc(x_173);
-lean_dec(x_151);
-x_174 = lean_st_ref_get(x_8, x_173);
-x_175 = lean_ctor_get(x_174, 1);
-lean_inc(x_175);
-lean_dec(x_174);
-x_176 = lean_st_ref_take(x_8, x_175);
-x_177 = lean_ctor_get(x_176, 0);
-lean_inc(x_177);
-x_178 = lean_ctor_get(x_177, 3);
-lean_inc(x_178);
-x_179 = lean_ctor_get(x_176, 1);
-lean_inc(x_179);
-lean_dec(x_176);
-x_180 = lean_ctor_get(x_177, 0);
-lean_inc(x_180);
-x_181 = lean_ctor_get(x_177, 1);
-lean_inc(x_181);
-x_182 = lean_ctor_get(x_177, 2);
-lean_inc(x_182);
-if (lean_is_exclusive(x_177)) {
- lean_ctor_release(x_177, 0);
- lean_ctor_release(x_177, 1);
- lean_ctor_release(x_177, 2);
- lean_ctor_release(x_177, 3);
- x_183 = x_177;
+lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; uint8_t x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173;
+x_163 = lean_ctor_get(x_41, 0);
+x_164 = lean_ctor_get(x_41, 1);
+x_165 = lean_ctor_get(x_41, 2);
+lean_inc(x_165);
+lean_inc(x_164);
+lean_inc(x_163);
+lean_dec(x_41);
+x_166 = lean_ctor_get(x_42, 0);
+lean_inc(x_166);
+if (lean_is_exclusive(x_42)) {
+ lean_ctor_release(x_42, 0);
+ x_167 = x_42;
} else {
- lean_dec_ref(x_177);
- x_183 = lean_box(0);
+ lean_dec_ref(x_42);
+ x_167 = lean_box(0);
}
-x_184 = lean_ctor_get(x_178, 0);
-lean_inc(x_184);
-if (lean_is_exclusive(x_178)) {
- lean_ctor_release(x_178, 0);
- x_185 = x_178;
+x_168 = 0;
+if (lean_is_scalar(x_167)) {
+ x_169 = lean_alloc_ctor(0, 1, 1);
} else {
- lean_dec_ref(x_178);
+ x_169 = x_167;
+}
+lean_ctor_set(x_169, 0, x_166);
+lean_ctor_set_uint8(x_169, sizeof(void*)*1, x_168);
+x_170 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_170, 0, x_163);
+lean_ctor_set(x_170, 1, x_164);
+lean_ctor_set(x_170, 2, x_165);
+lean_ctor_set(x_170, 3, x_169);
+x_171 = lean_st_ref_set(x_8, x_170, x_43);
+x_172 = lean_ctor_get(x_171, 1);
+lean_inc(x_172);
+lean_dec(x_171);
+lean_inc(x_8);
+x_173 = l_Lean_Meta_withMCtx___at_Lean_Meta_SynthInstance_newSubgoal___spec__10___rarg(x_1, x_10, x_4, x_5, x_6, x_7, x_8, x_172);
+if (lean_obj_tag(x_173) == 0)
+{
+lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193;
+x_174 = lean_ctor_get(x_173, 0);
+lean_inc(x_174);
+x_175 = lean_ctor_get(x_173, 1);
+lean_inc(x_175);
+lean_dec(x_173);
+x_176 = lean_st_ref_get(x_8, x_175);
+x_177 = lean_ctor_get(x_176, 1);
+lean_inc(x_177);
+lean_dec(x_176);
+x_178 = lean_st_ref_take(x_8, x_177);
+x_179 = lean_ctor_get(x_178, 0);
+lean_inc(x_179);
+x_180 = lean_ctor_get(x_179, 3);
+lean_inc(x_180);
+x_181 = lean_ctor_get(x_178, 1);
+lean_inc(x_181);
+lean_dec(x_178);
+x_182 = lean_ctor_get(x_179, 0);
+lean_inc(x_182);
+x_183 = lean_ctor_get(x_179, 1);
+lean_inc(x_183);
+x_184 = lean_ctor_get(x_179, 2);
+lean_inc(x_184);
+if (lean_is_exclusive(x_179)) {
+ lean_ctor_release(x_179, 0);
+ lean_ctor_release(x_179, 1);
+ lean_ctor_release(x_179, 2);
+ lean_ctor_release(x_179, 3);
+ x_185 = x_179;
+} else {
+ lean_dec_ref(x_179);
x_185 = lean_box(0);
}
+x_186 = lean_ctor_get(x_180, 0);
+lean_inc(x_186);
+if (lean_is_exclusive(x_180)) {
+ lean_ctor_release(x_180, 0);
+ x_187 = x_180;
+} else {
+ lean_dec_ref(x_180);
+ x_187 = lean_box(0);
+}
+if (lean_is_scalar(x_187)) {
+ x_188 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_188 = x_187;
+}
+lean_ctor_set(x_188, 0, x_186);
+lean_ctor_set_uint8(x_188, sizeof(void*)*1, x_39);
if (lean_is_scalar(x_185)) {
- x_186 = lean_alloc_ctor(0, 1, 1);
+ x_189 = lean_alloc_ctor(0, 4, 0);
} else {
- x_186 = x_185;
+ x_189 = x_185;
}
-lean_ctor_set(x_186, 0, x_184);
-lean_ctor_set_uint8(x_186, sizeof(void*)*1, x_17);
-if (lean_is_scalar(x_183)) {
- x_187 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_187 = x_183;
-}
-lean_ctor_set(x_187, 0, x_180);
-lean_ctor_set(x_187, 1, x_181);
-lean_ctor_set(x_187, 2, x_182);
-lean_ctor_set(x_187, 3, x_186);
-x_188 = lean_st_ref_set(x_8, x_187, x_179);
+lean_ctor_set(x_189, 0, x_182);
+lean_ctor_set(x_189, 1, x_183);
+lean_ctor_set(x_189, 2, x_184);
+lean_ctor_set(x_189, 3, x_188);
+x_190 = lean_st_ref_set(x_8, x_189, x_181);
lean_dec(x_8);
-x_189 = lean_ctor_get(x_188, 1);
-lean_inc(x_189);
-if (lean_is_exclusive(x_188)) {
- lean_ctor_release(x_188, 0);
- lean_ctor_release(x_188, 1);
- x_190 = x_188;
+x_191 = lean_ctor_get(x_190, 1);
+lean_inc(x_191);
+if (lean_is_exclusive(x_190)) {
+ lean_ctor_release(x_190, 0);
+ lean_ctor_release(x_190, 1);
+ x_192 = x_190;
} else {
- lean_dec_ref(x_188);
- x_190 = lean_box(0);
+ lean_dec_ref(x_190);
+ x_192 = lean_box(0);
}
-if (lean_is_scalar(x_190)) {
- x_191 = lean_alloc_ctor(1, 2, 0);
+if (lean_is_scalar(x_192)) {
+ x_193 = lean_alloc_ctor(0, 2, 0);
} else {
- x_191 = x_190;
- lean_ctor_set_tag(x_191, 1);
-}
-lean_ctor_set(x_191, 0, x_172);
-lean_ctor_set(x_191, 1, x_189);
-return x_191;
-}
+ x_193 = x_192;
}
+lean_ctor_set(x_193, 0, x_174);
+lean_ctor_set(x_193, 1, x_191);
+return x_193;
}
else
{
-lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196;
-x_192 = lean_ctor_get(x_7, 3);
-lean_inc(x_192);
-x_193 = l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_SynthInstance_tryResolve___spec__1___rarg(x_8, x_12);
-x_194 = lean_ctor_get(x_193, 0);
+lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213;
+x_194 = lean_ctor_get(x_173, 0);
lean_inc(x_194);
-x_195 = lean_ctor_get(x_193, 1);
+x_195 = lean_ctor_get(x_173, 1);
lean_inc(x_195);
-lean_dec(x_193);
-lean_inc(x_8);
-lean_inc(x_7);
-lean_inc(x_6);
-lean_inc(x_5);
-lean_inc(x_4);
-x_196 = l_Lean_Meta_withMCtx___at_Lean_Meta_SynthInstance_newSubgoal___spec__10___rarg(x_1, x_10, x_4, x_5, x_6, x_7, x_8, x_195);
-if (lean_obj_tag(x_196) == 0)
-{
-lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; uint8_t x_201;
-x_197 = lean_ctor_get(x_196, 0);
+lean_dec(x_173);
+x_196 = lean_st_ref_get(x_8, x_195);
+x_197 = lean_ctor_get(x_196, 1);
lean_inc(x_197);
-x_198 = lean_ctor_get(x_196, 1);
-lean_inc(x_198);
lean_dec(x_196);
-x_199 = l_Lean_Meta_SynthInstance_tryResolveCore___lambda__1___closed__2;
-x_200 = l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_SynthInstance_tryResolve___spec__2(x_194, x_199, x_192, x_4, x_5, x_6, x_7, x_8, x_198);
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-x_201 = !lean_is_exclusive(x_200);
-if (x_201 == 0)
-{
-lean_object* x_202;
-x_202 = lean_ctor_get(x_200, 0);
-lean_dec(x_202);
-lean_ctor_set(x_200, 0, x_197);
-return x_200;
-}
-else
-{
-lean_object* x_203; lean_object* x_204;
-x_203 = lean_ctor_get(x_200, 1);
+x_198 = lean_st_ref_take(x_8, x_197);
+x_199 = lean_ctor_get(x_198, 0);
+lean_inc(x_199);
+x_200 = lean_ctor_get(x_199, 3);
+lean_inc(x_200);
+x_201 = lean_ctor_get(x_198, 1);
+lean_inc(x_201);
+lean_dec(x_198);
+x_202 = lean_ctor_get(x_199, 0);
+lean_inc(x_202);
+x_203 = lean_ctor_get(x_199, 1);
lean_inc(x_203);
-lean_dec(x_200);
-x_204 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_204, 0, x_197);
-lean_ctor_set(x_204, 1, x_203);
-return x_204;
+x_204 = lean_ctor_get(x_199, 2);
+lean_inc(x_204);
+if (lean_is_exclusive(x_199)) {
+ lean_ctor_release(x_199, 0);
+ lean_ctor_release(x_199, 1);
+ lean_ctor_release(x_199, 2);
+ lean_ctor_release(x_199, 3);
+ x_205 = x_199;
+} else {
+ lean_dec_ref(x_199);
+ x_205 = lean_box(0);
}
-}
-else
-{
-lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; uint8_t x_209;
-x_205 = lean_ctor_get(x_196, 0);
-lean_inc(x_205);
-x_206 = lean_ctor_get(x_196, 1);
+x_206 = lean_ctor_get(x_200, 0);
lean_inc(x_206);
-lean_dec(x_196);
-x_207 = l_Lean_Meta_SynthInstance_tryResolveCore___lambda__1___closed__2;
-x_208 = l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_SynthInstance_tryResolve___spec__2(x_194, x_207, x_192, x_4, x_5, x_6, x_7, x_8, x_206);
+if (lean_is_exclusive(x_200)) {
+ lean_ctor_release(x_200, 0);
+ x_207 = x_200;
+} else {
+ lean_dec_ref(x_200);
+ x_207 = lean_box(0);
+}
+if (lean_is_scalar(x_207)) {
+ x_208 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_208 = x_207;
+}
+lean_ctor_set(x_208, 0, x_206);
+lean_ctor_set_uint8(x_208, sizeof(void*)*1, x_39);
+if (lean_is_scalar(x_205)) {
+ x_209 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_209 = x_205;
+}
+lean_ctor_set(x_209, 0, x_202);
+lean_ctor_set(x_209, 1, x_203);
+lean_ctor_set(x_209, 2, x_204);
+lean_ctor_set(x_209, 3, x_208);
+x_210 = lean_st_ref_set(x_8, x_209, x_201);
lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-x_209 = !lean_is_exclusive(x_208);
-if (x_209 == 0)
-{
-lean_object* x_210;
-x_210 = lean_ctor_get(x_208, 0);
-lean_dec(x_210);
-lean_ctor_set_tag(x_208, 1);
-lean_ctor_set(x_208, 0, x_205);
-return x_208;
-}
-else
-{
-lean_object* x_211; lean_object* x_212;
-x_211 = lean_ctor_get(x_208, 1);
+x_211 = lean_ctor_get(x_210, 1);
lean_inc(x_211);
-lean_dec(x_208);
-x_212 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_212, 0, x_205);
-lean_ctor_set(x_212, 1, x_211);
-return x_212;
+if (lean_is_exclusive(x_210)) {
+ lean_ctor_release(x_210, 0);
+ lean_ctor_release(x_210, 1);
+ x_212 = x_210;
+} else {
+ lean_dec_ref(x_210);
+ x_212 = lean_box(0);
+}
+if (lean_is_scalar(x_212)) {
+ x_213 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_213 = x_212;
+ lean_ctor_set_tag(x_213, 1);
+}
+lean_ctor_set(x_213, 0, x_194);
+lean_ctor_set(x_213, 1, x_211);
+return x_213;
}
}
}
}
}
}
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_SynthInstance_tryResolve___spec__1___rarg___boxed(lean_object* x_1, lean_object* x_2) {
+}
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_SynthInstance_tryResolve___spec__1___rarg___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
-x_3 = l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_SynthInstance_tryResolve___spec__1___rarg(x_1, x_2);
+x_3 = l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_SynthInstance_tryResolve___spec__1___rarg(x_1, x_2);
lean_dec(x_1);
return x_3;
}
}
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_SynthInstance_tryResolve___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_SynthInstance_tryResolve___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
lean_object* x_5;
-x_5 = l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_SynthInstance_tryResolve___spec__1(x_1, x_2, x_3, x_4);
+x_5 = l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_SynthInstance_tryResolve___spec__1(x_1, x_2, x_3, x_4);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
@@ -9110,11 +9098,11 @@ lean_dec(x_1);
return x_5;
}
}
-lean_object* l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_SynthInstance_tryResolve___spec__2___boxed(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* l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_SynthInstance_tryResolve___spec__2___boxed(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) {
_start:
{
lean_object* x_10;
-x_10 = l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_SynthInstance_tryResolve___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
+x_10 = l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_SynthInstance_tryResolve___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_6);
@@ -9123,11 +9111,11 @@ lean_dec(x_4);
return x_10;
}
}
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_SynthInstance_tryResolve___spec__3___boxed(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* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_SynthInstance_tryResolve___spec__3___boxed(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) {
_start:
{
lean_object* x_8;
-x_8 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_SynthInstance_tryResolve___spec__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7);
+x_8 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_SynthInstance_tryResolve___spec__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
@@ -9174,51 +9162,53 @@ return x_2;
lean_object* l_Lean_Meta_isExprDefEq___at_Lean_Meta_SynthInstance_tryAnswer___spec__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) {
_start:
{
-lean_object* x_9; lean_object* x_18; uint8_t x_19; lean_object* x_20; lean_object* x_420; lean_object* x_421; lean_object* x_422; uint8_t x_423;
+lean_object* x_9; lean_object* x_22; uint8_t x_23; lean_object* x_24; lean_object* x_440; lean_object* x_441; lean_object* x_442; uint8_t x_443;
lean_inc(x_2);
lean_inc(x_1);
-x_18 = lean_alloc_closure((void*)(l_Lean_Meta_isExprDefEqAux), 8, 2);
-lean_closure_set(x_18, 0, x_1);
-lean_closure_set(x_18, 1, x_2);
-x_420 = lean_st_ref_get(x_7, x_8);
-x_421 = lean_ctor_get(x_420, 0);
-lean_inc(x_421);
-x_422 = lean_ctor_get(x_421, 3);
-lean_inc(x_422);
-lean_dec(x_421);
-x_423 = lean_ctor_get_uint8(x_422, sizeof(void*)*1);
-lean_dec(x_422);
-if (x_423 == 0)
+x_22 = lean_alloc_closure((void*)(l_Lean_Meta_isExprDefEqAux), 8, 2);
+lean_closure_set(x_22, 0, x_1);
+lean_closure_set(x_22, 1, x_2);
+x_440 = lean_st_ref_get(x_7, x_8);
+x_441 = lean_ctor_get(x_440, 0);
+lean_inc(x_441);
+x_442 = lean_ctor_get(x_441, 3);
+lean_inc(x_442);
+lean_dec(x_441);
+x_443 = lean_ctor_get_uint8(x_442, sizeof(void*)*1);
+lean_dec(x_442);
+if (x_443 == 0)
{
-lean_object* x_424; uint8_t x_425;
-x_424 = lean_ctor_get(x_420, 1);
-lean_inc(x_424);
-lean_dec(x_420);
-x_425 = 0;
-x_19 = x_425;
-x_20 = x_424;
-goto block_419;
+lean_object* x_444; uint8_t x_445;
+x_444 = lean_ctor_get(x_440, 1);
+lean_inc(x_444);
+lean_dec(x_440);
+x_445 = 0;
+x_23 = x_445;
+x_24 = x_444;
+goto block_439;
}
else
{
-lean_object* x_426; lean_object* x_427; lean_object* x_428; lean_object* x_429; lean_object* x_430; uint8_t x_431;
-x_426 = lean_ctor_get(x_420, 1);
-lean_inc(x_426);
-lean_dec(x_420);
-x_427 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_428 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_427, x_4, x_5, x_6, x_7, x_426);
-x_429 = lean_ctor_get(x_428, 0);
-lean_inc(x_429);
-x_430 = lean_ctor_get(x_428, 1);
-lean_inc(x_430);
-lean_dec(x_428);
-x_431 = lean_unbox(x_429);
-lean_dec(x_429);
-x_19 = x_431;
-x_20 = x_430;
-goto block_419;
+lean_object* x_446; lean_object* x_447; lean_object* x_448; lean_object* x_449; lean_object* x_450; uint8_t x_451;
+x_446 = lean_ctor_get(x_440, 1);
+lean_inc(x_446);
+lean_dec(x_440);
+x_447 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_448 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_447, x_4, x_5, x_6, x_7, x_446);
+x_449 = lean_ctor_get(x_448, 0);
+lean_inc(x_449);
+x_450 = lean_ctor_get(x_448, 1);
+lean_inc(x_450);
+lean_dec(x_448);
+x_451 = lean_unbox(x_449);
+lean_dec(x_449);
+x_23 = x_451;
+x_24 = x_450;
+goto block_439;
}
-block_17:
+block_21:
+{
+if (lean_obj_tag(x_9) == 0)
{
uint8_t x_10;
x_10 = !lean_is_exclusive(x_9);
@@ -9249,1401 +9239,1476 @@ lean_ctor_set(x_16, 1, x_14);
return x_16;
}
}
-block_419:
+else
{
-if (x_19 == 0)
+uint8_t x_17;
+x_17 = !lean_is_exclusive(x_9);
+if (x_17 == 0)
{
-lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; uint8_t x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; uint8_t x_30;
-x_21 = lean_st_ref_get(x_7, x_20);
-x_22 = lean_ctor_get(x_21, 0);
-lean_inc(x_22);
-x_23 = lean_ctor_get(x_22, 3);
-lean_inc(x_23);
-lean_dec(x_22);
-x_24 = lean_ctor_get(x_21, 1);
-lean_inc(x_24);
-lean_dec(x_21);
-x_25 = lean_ctor_get_uint8(x_23, sizeof(void*)*1);
-lean_dec(x_23);
-x_26 = lean_st_ref_take(x_7, x_24);
-x_27 = lean_ctor_get(x_26, 0);
-lean_inc(x_27);
-x_28 = lean_ctor_get(x_27, 3);
+return x_9;
+}
+else
+{
+lean_object* x_18; lean_object* x_19; lean_object* x_20;
+x_18 = lean_ctor_get(x_9, 0);
+x_19 = lean_ctor_get(x_9, 1);
+lean_inc(x_19);
+lean_inc(x_18);
+lean_dec(x_9);
+x_20 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_20, 0, x_18);
+lean_ctor_set(x_20, 1, x_19);
+return x_20;
+}
+}
+}
+block_439:
+{
+uint8_t x_25;
+if (x_23 == 0)
+{
+uint8_t x_437;
+x_437 = 1;
+x_25 = x_437;
+goto block_436;
+}
+else
+{
+uint8_t x_438;
+x_438 = 0;
+x_25 = x_438;
+goto block_436;
+}
+block_436:
+{
+if (x_25 == 0)
+{
+lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; uint8_t x_30; lean_object* x_31; lean_object* x_41; lean_object* x_42; lean_object* x_50;
+x_26 = lean_ctor_get(x_6, 3);
+lean_inc(x_26);
+x_27 = l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_isLevelDefEq___spec__2___rarg(x_7, x_24);
+x_28 = lean_ctor_get(x_27, 0);
lean_inc(x_28);
-x_29 = lean_ctor_get(x_26, 1);
+x_29 = lean_ctor_get(x_27, 1);
lean_inc(x_29);
-lean_dec(x_26);
-x_30 = !lean_is_exclusive(x_27);
-if (x_30 == 0)
-{
-lean_object* x_31; uint8_t x_32;
-x_31 = lean_ctor_get(x_27, 3);
-lean_dec(x_31);
-x_32 = !lean_is_exclusive(x_28);
-if (x_32 == 0)
-{
-uint8_t x_33; lean_object* x_34; lean_object* x_35; uint8_t x_36; lean_object* x_37; lean_object* x_85;
-x_33 = 0;
-lean_ctor_set_uint8(x_28, sizeof(void*)*1, x_33);
-x_34 = lean_st_ref_set(x_7, x_27, x_29);
-x_35 = lean_ctor_get(x_34, 1);
-lean_inc(x_35);
-lean_dec(x_34);
+lean_dec(x_27);
lean_inc(x_7);
lean_inc(x_6);
lean_inc(x_5);
lean_inc(x_4);
-x_85 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_18, x_4, x_5, x_6, x_7, x_35);
-if (lean_obj_tag(x_85) == 0)
+x_50 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_22, x_4, x_5, x_6, x_7, x_29);
+if (lean_obj_tag(x_50) == 0)
{
-lean_object* x_86; lean_object* x_87; uint8_t x_88; lean_object* x_89; lean_object* x_116; lean_object* x_117; lean_object* x_118; uint8_t x_119;
-x_86 = lean_ctor_get(x_85, 0);
-lean_inc(x_86);
-x_87 = lean_ctor_get(x_85, 1);
-lean_inc(x_87);
-lean_dec(x_85);
-x_116 = lean_st_ref_get(x_7, x_87);
-x_117 = lean_ctor_get(x_116, 0);
-lean_inc(x_117);
-x_118 = lean_ctor_get(x_117, 3);
-lean_inc(x_118);
-lean_dec(x_117);
-x_119 = lean_ctor_get_uint8(x_118, sizeof(void*)*1);
-lean_dec(x_118);
-if (x_119 == 0)
-{
-lean_object* x_120;
-x_120 = lean_ctor_get(x_116, 1);
-lean_inc(x_120);
-lean_dec(x_116);
-x_88 = x_33;
-x_89 = x_120;
-goto block_115;
-}
-else
-{
-lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; uint8_t x_126;
-x_121 = lean_ctor_get(x_116, 1);
-lean_inc(x_121);
-lean_dec(x_116);
-x_122 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_123 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_122, x_4, x_5, x_6, x_7, x_121);
-x_124 = lean_ctor_get(x_123, 0);
-lean_inc(x_124);
-x_125 = lean_ctor_get(x_123, 1);
-lean_inc(x_125);
-lean_dec(x_123);
-x_126 = lean_unbox(x_124);
-lean_dec(x_124);
-x_88 = x_126;
-x_89 = x_125;
-goto block_115;
-}
-block_115:
-{
-if (x_88 == 0)
-{
-uint8_t x_90;
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_2);
-lean_dec(x_1);
-x_90 = lean_unbox(x_86);
-lean_dec(x_86);
-x_36 = x_90;
-x_37 = x_89;
-goto block_84;
-}
-else
-{
-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; uint8_t x_100;
-x_91 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_91, 0, x_1);
-x_92 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_93 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_93, 0, x_92);
-lean_ctor_set(x_93, 1, x_91);
-x_94 = l_Lean_Meta_isLevelDefEqAux___closed__6;
-x_95 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_95, 0, x_93);
-lean_ctor_set(x_95, 1, x_94);
-x_96 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_96, 0, x_2);
-x_97 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_97, 0, x_95);
-lean_ctor_set(x_97, 1, x_96);
-x_98 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
-x_99 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_99, 0, x_97);
-lean_ctor_set(x_99, 1, x_98);
-x_100 = lean_unbox(x_86);
-if (x_100 == 0)
-{
-lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; uint8_t x_107;
-x_101 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
-x_102 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_102, 0, x_99);
-lean_ctor_set(x_102, 1, x_101);
-x_103 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_103, 0, x_102);
-lean_ctor_set(x_103, 1, x_92);
-x_104 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_105 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_104, x_103, x_4, x_5, x_6, x_7, x_89);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-x_106 = lean_ctor_get(x_105, 1);
-lean_inc(x_106);
-lean_dec(x_105);
-x_107 = lean_unbox(x_86);
-lean_dec(x_86);
-x_36 = x_107;
-x_37 = x_106;
-goto block_84;
-}
-else
-{
-lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; uint8_t x_114;
-x_108 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
-x_109 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_109, 0, x_99);
-lean_ctor_set(x_109, 1, x_108);
-x_110 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_110, 0, x_109);
-lean_ctor_set(x_110, 1, x_92);
-x_111 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_112 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_111, x_110, x_4, x_5, x_6, x_7, x_89);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-x_113 = lean_ctor_get(x_112, 1);
-lean_inc(x_113);
-lean_dec(x_112);
-x_114 = lean_unbox(x_86);
-lean_dec(x_86);
-x_36 = x_114;
-x_37 = x_113;
-goto block_84;
-}
-}
-}
-}
-else
-{
-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; lean_object* x_134; uint8_t x_135;
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_2);
-lean_dec(x_1);
-x_127 = lean_ctor_get(x_85, 0);
-lean_inc(x_127);
-x_128 = lean_ctor_get(x_85, 1);
-lean_inc(x_128);
-lean_dec(x_85);
-x_129 = lean_st_ref_get(x_7, x_128);
-x_130 = lean_ctor_get(x_129, 1);
-lean_inc(x_130);
-lean_dec(x_129);
-x_131 = lean_st_ref_take(x_7, x_130);
-x_132 = lean_ctor_get(x_131, 0);
-lean_inc(x_132);
-x_133 = lean_ctor_get(x_132, 3);
-lean_inc(x_133);
-x_134 = lean_ctor_get(x_131, 1);
-lean_inc(x_134);
-lean_dec(x_131);
-x_135 = !lean_is_exclusive(x_132);
-if (x_135 == 0)
-{
-lean_object* x_136; uint8_t x_137;
-x_136 = lean_ctor_get(x_132, 3);
-lean_dec(x_136);
-x_137 = !lean_is_exclusive(x_133);
-if (x_137 == 0)
-{
-lean_object* x_138; uint8_t x_139;
-lean_ctor_set_uint8(x_133, sizeof(void*)*1, x_25);
-x_138 = lean_st_ref_set(x_7, x_132, x_134);
-lean_dec(x_7);
-x_139 = !lean_is_exclusive(x_138);
-if (x_139 == 0)
-{
-lean_object* x_140;
-x_140 = lean_ctor_get(x_138, 0);
-lean_dec(x_140);
-lean_ctor_set_tag(x_138, 1);
-lean_ctor_set(x_138, 0, x_127);
-return x_138;
-}
-else
-{
-lean_object* x_141; lean_object* x_142;
-x_141 = lean_ctor_get(x_138, 1);
-lean_inc(x_141);
-lean_dec(x_138);
-x_142 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_142, 0, x_127);
-lean_ctor_set(x_142, 1, x_141);
-return x_142;
-}
-}
-else
-{
-lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148;
-x_143 = lean_ctor_get(x_133, 0);
-lean_inc(x_143);
-lean_dec(x_133);
-x_144 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_144, 0, x_143);
-lean_ctor_set_uint8(x_144, sizeof(void*)*1, x_25);
-lean_ctor_set(x_132, 3, x_144);
-x_145 = lean_st_ref_set(x_7, x_132, x_134);
-lean_dec(x_7);
-x_146 = lean_ctor_get(x_145, 1);
-lean_inc(x_146);
-if (lean_is_exclusive(x_145)) {
- lean_ctor_release(x_145, 0);
- lean_ctor_release(x_145, 1);
- x_147 = x_145;
-} else {
- lean_dec_ref(x_145);
- x_147 = lean_box(0);
-}
-if (lean_is_scalar(x_147)) {
- x_148 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_148 = x_147;
- lean_ctor_set_tag(x_148, 1);
-}
-lean_ctor_set(x_148, 0, x_127);
-lean_ctor_set(x_148, 1, x_146);
-return x_148;
-}
-}
-else
-{
-lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159;
-x_149 = lean_ctor_get(x_132, 0);
-x_150 = lean_ctor_get(x_132, 1);
-x_151 = lean_ctor_get(x_132, 2);
-lean_inc(x_151);
-lean_inc(x_150);
-lean_inc(x_149);
-lean_dec(x_132);
-x_152 = lean_ctor_get(x_133, 0);
-lean_inc(x_152);
-if (lean_is_exclusive(x_133)) {
- lean_ctor_release(x_133, 0);
- x_153 = x_133;
-} else {
- lean_dec_ref(x_133);
- x_153 = lean_box(0);
-}
-if (lean_is_scalar(x_153)) {
- x_154 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_154 = x_153;
-}
-lean_ctor_set(x_154, 0, x_152);
-lean_ctor_set_uint8(x_154, sizeof(void*)*1, x_25);
-x_155 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_155, 0, x_149);
-lean_ctor_set(x_155, 1, x_150);
-lean_ctor_set(x_155, 2, x_151);
-lean_ctor_set(x_155, 3, x_154);
-x_156 = lean_st_ref_set(x_7, x_155, x_134);
-lean_dec(x_7);
-x_157 = lean_ctor_get(x_156, 1);
-lean_inc(x_157);
-if (lean_is_exclusive(x_156)) {
- lean_ctor_release(x_156, 0);
- lean_ctor_release(x_156, 1);
- x_158 = x_156;
-} else {
- lean_dec_ref(x_156);
- x_158 = lean_box(0);
-}
-if (lean_is_scalar(x_158)) {
- x_159 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_159 = x_158;
- lean_ctor_set_tag(x_159, 1);
-}
-lean_ctor_set(x_159, 0, x_127);
-lean_ctor_set(x_159, 1, x_157);
-return x_159;
-}
-}
-block_84:
-{
-lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; uint8_t x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; uint8_t x_47;
-x_38 = lean_st_ref_get(x_7, x_37);
-x_39 = lean_ctor_get(x_38, 0);
-lean_inc(x_39);
-x_40 = lean_ctor_get(x_38, 1);
-lean_inc(x_40);
-lean_dec(x_38);
-x_41 = lean_ctor_get(x_39, 3);
-lean_inc(x_41);
-lean_dec(x_39);
-x_42 = lean_ctor_get_uint8(x_41, sizeof(void*)*1);
-lean_dec(x_41);
-x_43 = lean_st_ref_take(x_7, x_40);
-x_44 = lean_ctor_get(x_43, 0);
-lean_inc(x_44);
-x_45 = lean_ctor_get(x_44, 3);
-lean_inc(x_45);
-x_46 = lean_ctor_get(x_43, 1);
-lean_inc(x_46);
-lean_dec(x_43);
-x_47 = !lean_is_exclusive(x_44);
-if (x_47 == 0)
-{
-lean_object* x_48; uint8_t x_49;
-x_48 = lean_ctor_get(x_44, 3);
-lean_dec(x_48);
-x_49 = !lean_is_exclusive(x_45);
-if (x_49 == 0)
-{
-lean_object* x_50; uint8_t x_51;
-lean_ctor_set_uint8(x_45, sizeof(void*)*1, x_25);
-x_50 = lean_st_ref_set(x_7, x_44, x_46);
-lean_dec(x_7);
-x_51 = !lean_is_exclusive(x_50);
-if (x_51 == 0)
-{
-lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55;
-x_52 = lean_ctor_get(x_50, 0);
-lean_dec(x_52);
-x_53 = lean_box(x_36);
-x_54 = lean_box(x_42);
-x_55 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_55, 0, x_53);
-lean_ctor_set(x_55, 1, x_54);
-lean_ctor_set(x_50, 0, x_55);
-x_9 = x_50;
-goto block_17;
-}
-else
-{
-lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60;
-x_56 = lean_ctor_get(x_50, 1);
-lean_inc(x_56);
+lean_object* x_51; lean_object* x_52; uint8_t x_53; lean_object* x_54; lean_object* x_81; lean_object* x_82; lean_object* x_83; uint8_t x_84;
+x_51 = lean_ctor_get(x_50, 0);
+lean_inc(x_51);
+x_52 = lean_ctor_get(x_50, 1);
+lean_inc(x_52);
lean_dec(x_50);
-x_57 = lean_box(x_36);
-x_58 = lean_box(x_42);
-x_59 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_59, 0, x_57);
-lean_ctor_set(x_59, 1, x_58);
-x_60 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_60, 0, x_59);
-lean_ctor_set(x_60, 1, x_56);
-x_9 = x_60;
-goto block_17;
-}
+x_81 = lean_st_ref_get(x_7, x_52);
+x_82 = lean_ctor_get(x_81, 0);
+lean_inc(x_82);
+x_83 = lean_ctor_get(x_82, 3);
+lean_inc(x_83);
+lean_dec(x_82);
+x_84 = lean_ctor_get_uint8(x_83, sizeof(void*)*1);
+lean_dec(x_83);
+if (x_84 == 0)
+{
+lean_object* x_85; uint8_t x_86;
+x_85 = lean_ctor_get(x_81, 1);
+lean_inc(x_85);
+lean_dec(x_81);
+x_86 = 0;
+x_53 = x_86;
+x_54 = x_85;
+goto block_80;
}
else
{
-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;
-x_61 = lean_ctor_get(x_45, 0);
-lean_inc(x_61);
-lean_dec(x_45);
-x_62 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_62, 0, x_61);
-lean_ctor_set_uint8(x_62, sizeof(void*)*1, x_25);
-lean_ctor_set(x_44, 3, x_62);
-x_63 = lean_st_ref_set(x_7, x_44, x_46);
-lean_dec(x_7);
-x_64 = lean_ctor_get(x_63, 1);
-lean_inc(x_64);
-if (lean_is_exclusive(x_63)) {
- lean_ctor_release(x_63, 0);
- lean_ctor_release(x_63, 1);
- x_65 = x_63;
-} else {
- lean_dec_ref(x_63);
- x_65 = lean_box(0);
-}
-x_66 = lean_box(x_36);
-x_67 = lean_box(x_42);
-x_68 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_68, 0, x_66);
-lean_ctor_set(x_68, 1, x_67);
-if (lean_is_scalar(x_65)) {
- x_69 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_69 = x_65;
-}
-lean_ctor_set(x_69, 0, x_68);
-lean_ctor_set(x_69, 1, x_64);
-x_9 = x_69;
-goto block_17;
+lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; uint8_t x_92;
+x_87 = lean_ctor_get(x_81, 1);
+lean_inc(x_87);
+lean_dec(x_81);
+x_88 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_89 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_88, x_4, x_5, x_6, x_7, x_87);
+x_90 = lean_ctor_get(x_89, 0);
+lean_inc(x_90);
+x_91 = lean_ctor_get(x_89, 1);
+lean_inc(x_91);
+lean_dec(x_89);
+x_92 = lean_unbox(x_90);
+lean_dec(x_90);
+x_53 = x_92;
+x_54 = x_91;
+goto block_80;
}
+block_80:
+{
+if (x_53 == 0)
+{
+uint8_t x_55;
+lean_dec(x_2);
+lean_dec(x_1);
+x_55 = lean_unbox(x_51);
+lean_dec(x_51);
+x_30 = x_55;
+x_31 = x_54;
+goto block_40;
}
else
{
-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; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83;
-x_70 = lean_ctor_get(x_44, 0);
-x_71 = lean_ctor_get(x_44, 1);
-x_72 = lean_ctor_get(x_44, 2);
-lean_inc(x_72);
+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; uint8_t x_65;
+x_56 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_56, 0, x_1);
+x_57 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_58 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_58, 0, x_57);
+lean_ctor_set(x_58, 1, x_56);
+x_59 = l_Lean_Meta_isLevelDefEqAux___closed__6;
+x_60 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_60, 0, x_58);
+lean_ctor_set(x_60, 1, x_59);
+x_61 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_61, 0, x_2);
+x_62 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_62, 0, x_60);
+lean_ctor_set(x_62, 1, x_61);
+x_63 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
+x_64 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_64, 0, x_62);
+lean_ctor_set(x_64, 1, x_63);
+x_65 = lean_unbox(x_51);
+if (x_65 == 0)
+{
+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;
+x_66 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
+x_67 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_67, 0, x_64);
+lean_ctor_set(x_67, 1, x_66);
+x_68 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_68, 0, x_67);
+lean_ctor_set(x_68, 1, x_57);
+x_69 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_70 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_69, x_68, x_4, x_5, x_6, x_7, x_54);
+x_71 = lean_ctor_get(x_70, 1);
lean_inc(x_71);
-lean_inc(x_70);
-lean_dec(x_44);
-x_73 = lean_ctor_get(x_45, 0);
-lean_inc(x_73);
-if (lean_is_exclusive(x_45)) {
- lean_ctor_release(x_45, 0);
- x_74 = x_45;
-} else {
- lean_dec_ref(x_45);
- x_74 = lean_box(0);
+lean_dec(x_70);
+x_72 = lean_unbox(x_51);
+lean_dec(x_51);
+x_30 = x_72;
+x_31 = x_71;
+goto block_40;
}
-if (lean_is_scalar(x_74)) {
- x_75 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_75 = x_74;
-}
-lean_ctor_set(x_75, 0, x_73);
-lean_ctor_set_uint8(x_75, sizeof(void*)*1, x_25);
-x_76 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_76, 0, x_70);
-lean_ctor_set(x_76, 1, x_71);
-lean_ctor_set(x_76, 2, x_72);
-lean_ctor_set(x_76, 3, x_75);
-x_77 = lean_st_ref_set(x_7, x_76, x_46);
-lean_dec(x_7);
+else
+{
+lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; uint8_t x_79;
+x_73 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
+x_74 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_74, 0, x_64);
+lean_ctor_set(x_74, 1, x_73);
+x_75 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_75, 0, x_74);
+lean_ctor_set(x_75, 1, x_57);
+x_76 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_77 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_76, x_75, x_4, x_5, x_6, x_7, x_54);
x_78 = lean_ctor_get(x_77, 1);
lean_inc(x_78);
-if (lean_is_exclusive(x_77)) {
- lean_ctor_release(x_77, 0);
- lean_ctor_release(x_77, 1);
- x_79 = x_77;
-} else {
- lean_dec_ref(x_77);
- x_79 = lean_box(0);
+lean_dec(x_77);
+x_79 = lean_unbox(x_51);
+lean_dec(x_51);
+x_30 = x_79;
+x_31 = x_78;
+goto block_40;
}
-x_80 = lean_box(x_36);
-x_81 = lean_box(x_42);
-x_82 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_82, 0, x_80);
-lean_ctor_set(x_82, 1, x_81);
-if (lean_is_scalar(x_79)) {
- x_83 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_83 = x_79;
-}
-lean_ctor_set(x_83, 0, x_82);
-lean_ctor_set(x_83, 1, x_78);
-x_9 = x_83;
-goto block_17;
}
}
}
else
{
-lean_object* x_160; uint8_t x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; uint8_t x_165; lean_object* x_166; lean_object* x_192;
-x_160 = lean_ctor_get(x_28, 0);
-lean_inc(x_160);
-lean_dec(x_28);
-x_161 = 0;
-x_162 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_162, 0, x_160);
-lean_ctor_set_uint8(x_162, sizeof(void*)*1, x_161);
-lean_ctor_set(x_27, 3, x_162);
-x_163 = lean_st_ref_set(x_7, x_27, x_29);
-x_164 = lean_ctor_get(x_163, 1);
-lean_inc(x_164);
-lean_dec(x_163);
+lean_object* x_93; lean_object* x_94;
+lean_dec(x_2);
+lean_dec(x_1);
+x_93 = lean_ctor_get(x_50, 0);
+lean_inc(x_93);
+x_94 = lean_ctor_get(x_50, 1);
+lean_inc(x_94);
+lean_dec(x_50);
+x_41 = x_93;
+x_42 = x_94;
+goto block_49;
+}
+block_40:
+{
+lean_object* x_32; lean_object* x_33; uint8_t x_34;
+x_32 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_33 = l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_isLevelDefEq___spec__3(x_28, x_32, x_26, x_4, x_5, x_6, x_7, x_31);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+x_34 = !lean_is_exclusive(x_33);
+if (x_34 == 0)
+{
+lean_object* x_35; lean_object* x_36;
+x_35 = lean_ctor_get(x_33, 0);
+lean_dec(x_35);
+x_36 = lean_box(x_30);
+lean_ctor_set(x_33, 0, x_36);
+return x_33;
+}
+else
+{
+lean_object* x_37; lean_object* x_38; lean_object* x_39;
+x_37 = lean_ctor_get(x_33, 1);
+lean_inc(x_37);
+lean_dec(x_33);
+x_38 = lean_box(x_30);
+x_39 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_39, 0, x_38);
+lean_ctor_set(x_39, 1, x_37);
+return x_39;
+}
+}
+block_49:
+{
+lean_object* x_43; lean_object* x_44; uint8_t x_45;
+x_43 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_44 = l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_isLevelDefEq___spec__3(x_28, x_43, x_26, x_4, x_5, x_6, x_7, x_42);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+x_45 = !lean_is_exclusive(x_44);
+if (x_45 == 0)
+{
+lean_object* x_46;
+x_46 = lean_ctor_get(x_44, 0);
+lean_dec(x_46);
+lean_ctor_set_tag(x_44, 1);
+lean_ctor_set(x_44, 0, x_41);
+return x_44;
+}
+else
+{
+lean_object* x_47; lean_object* x_48;
+x_47 = lean_ctor_get(x_44, 1);
+lean_inc(x_47);
+lean_dec(x_44);
+x_48 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_48, 0, x_41);
+lean_ctor_set(x_48, 1, x_47);
+return x_48;
+}
+}
+}
+else
+{
+lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; uint8_t x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; uint8_t x_104;
+x_95 = lean_st_ref_get(x_7, x_24);
+x_96 = lean_ctor_get(x_95, 0);
+lean_inc(x_96);
+x_97 = lean_ctor_get(x_96, 3);
+lean_inc(x_97);
+lean_dec(x_96);
+x_98 = lean_ctor_get(x_95, 1);
+lean_inc(x_98);
+lean_dec(x_95);
+x_99 = lean_ctor_get_uint8(x_97, sizeof(void*)*1);
+lean_dec(x_97);
+x_100 = lean_st_ref_take(x_7, x_98);
+x_101 = lean_ctor_get(x_100, 0);
+lean_inc(x_101);
+x_102 = lean_ctor_get(x_101, 3);
+lean_inc(x_102);
+x_103 = lean_ctor_get(x_100, 1);
+lean_inc(x_103);
+lean_dec(x_100);
+x_104 = !lean_is_exclusive(x_101);
+if (x_104 == 0)
+{
+lean_object* x_105; uint8_t x_106;
+x_105 = lean_ctor_get(x_101, 3);
+lean_dec(x_105);
+x_106 = !lean_is_exclusive(x_102);
+if (x_106 == 0)
+{
+uint8_t x_107; lean_object* x_108; lean_object* x_109; uint8_t x_110; lean_object* x_111; lean_object* x_159; lean_object* x_160; lean_object* x_193;
+x_107 = 0;
+lean_ctor_set_uint8(x_102, sizeof(void*)*1, x_107);
+x_108 = lean_st_ref_set(x_7, x_101, x_103);
+x_109 = lean_ctor_get(x_108, 1);
+lean_inc(x_109);
+lean_dec(x_108);
lean_inc(x_7);
lean_inc(x_6);
lean_inc(x_5);
lean_inc(x_4);
-x_192 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_18, x_4, x_5, x_6, x_7, x_164);
-if (lean_obj_tag(x_192) == 0)
+x_193 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_22, x_4, x_5, x_6, x_7, x_109);
+if (lean_obj_tag(x_193) == 0)
{
-lean_object* x_193; lean_object* x_194; uint8_t x_195; lean_object* x_196; lean_object* x_223; lean_object* x_224; lean_object* x_225; uint8_t x_226;
-x_193 = lean_ctor_get(x_192, 0);
-lean_inc(x_193);
-x_194 = lean_ctor_get(x_192, 1);
+lean_object* x_194; lean_object* x_195; uint8_t x_196; lean_object* x_197; lean_object* x_224; lean_object* x_225; lean_object* x_226; uint8_t x_227;
+x_194 = lean_ctor_get(x_193, 0);
lean_inc(x_194);
-lean_dec(x_192);
-x_223 = lean_st_ref_get(x_7, x_194);
-x_224 = lean_ctor_get(x_223, 0);
-lean_inc(x_224);
-x_225 = lean_ctor_get(x_224, 3);
+x_195 = lean_ctor_get(x_193, 1);
+lean_inc(x_195);
+lean_dec(x_193);
+x_224 = lean_st_ref_get(x_7, x_195);
+x_225 = lean_ctor_get(x_224, 0);
lean_inc(x_225);
-lean_dec(x_224);
-x_226 = lean_ctor_get_uint8(x_225, sizeof(void*)*1);
+x_226 = lean_ctor_get(x_225, 3);
+lean_inc(x_226);
lean_dec(x_225);
-if (x_226 == 0)
+x_227 = lean_ctor_get_uint8(x_226, sizeof(void*)*1);
+lean_dec(x_226);
+if (x_227 == 0)
{
-lean_object* x_227;
-x_227 = lean_ctor_get(x_223, 1);
-lean_inc(x_227);
-lean_dec(x_223);
-x_195 = x_161;
-x_196 = x_227;
-goto block_222;
-}
-else
-{
-lean_object* x_228; lean_object* x_229; lean_object* x_230; lean_object* x_231; lean_object* x_232; uint8_t x_233;
-x_228 = lean_ctor_get(x_223, 1);
+lean_object* x_228;
+x_228 = lean_ctor_get(x_224, 1);
lean_inc(x_228);
-lean_dec(x_223);
-x_229 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_230 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_229, x_4, x_5, x_6, x_7, x_228);
-x_231 = lean_ctor_get(x_230, 0);
-lean_inc(x_231);
-x_232 = lean_ctor_get(x_230, 1);
+lean_dec(x_224);
+x_196 = x_107;
+x_197 = x_228;
+goto block_223;
+}
+else
+{
+lean_object* x_229; lean_object* x_230; lean_object* x_231; lean_object* x_232; lean_object* x_233; uint8_t x_234;
+x_229 = lean_ctor_get(x_224, 1);
+lean_inc(x_229);
+lean_dec(x_224);
+x_230 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_231 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_230, x_4, x_5, x_6, x_7, x_229);
+x_232 = lean_ctor_get(x_231, 0);
lean_inc(x_232);
-lean_dec(x_230);
-x_233 = lean_unbox(x_231);
+x_233 = lean_ctor_get(x_231, 1);
+lean_inc(x_233);
lean_dec(x_231);
-x_195 = x_233;
-x_196 = x_232;
-goto block_222;
+x_234 = lean_unbox(x_232);
+lean_dec(x_232);
+x_196 = x_234;
+x_197 = x_233;
+goto block_223;
}
-block_222:
+block_223:
{
-if (x_195 == 0)
+if (x_196 == 0)
{
-uint8_t x_197;
+uint8_t x_198;
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_2);
lean_dec(x_1);
-x_197 = lean_unbox(x_193);
-lean_dec(x_193);
-x_165 = x_197;
-x_166 = x_196;
-goto block_191;
+x_198 = lean_unbox(x_194);
+lean_dec(x_194);
+x_110 = x_198;
+x_111 = x_197;
+goto block_158;
}
else
{
-lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; uint8_t x_207;
-x_198 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_198, 0, x_1);
-x_199 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_200 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_200, 0, x_199);
-lean_ctor_set(x_200, 1, x_198);
-x_201 = l_Lean_Meta_isLevelDefEqAux___closed__6;
-x_202 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_202, 0, x_200);
-lean_ctor_set(x_202, 1, x_201);
-x_203 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_203, 0, x_2);
-x_204 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_204, 0, x_202);
-lean_ctor_set(x_204, 1, x_203);
-x_205 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
-x_206 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_206, 0, x_204);
-lean_ctor_set(x_206, 1, x_205);
-x_207 = lean_unbox(x_193);
-if (x_207 == 0)
+lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207; uint8_t x_208;
+x_199 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_199, 0, x_1);
+x_200 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_201 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_201, 0, x_200);
+lean_ctor_set(x_201, 1, x_199);
+x_202 = l_Lean_Meta_isLevelDefEqAux___closed__6;
+x_203 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_203, 0, x_201);
+lean_ctor_set(x_203, 1, x_202);
+x_204 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_204, 0, x_2);
+x_205 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_205, 0, x_203);
+lean_ctor_set(x_205, 1, x_204);
+x_206 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
+x_207 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_207, 0, x_205);
+lean_ctor_set(x_207, 1, x_206);
+x_208 = lean_unbox(x_194);
+if (x_208 == 0)
{
-lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; uint8_t x_214;
-x_208 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
-x_209 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_209, 0, x_206);
-lean_ctor_set(x_209, 1, x_208);
+lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214; uint8_t x_215;
+x_209 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
x_210 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_210, 0, x_209);
-lean_ctor_set(x_210, 1, x_199);
-x_211 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_212 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_211, x_210, x_4, x_5, x_6, x_7, x_196);
+lean_ctor_set(x_210, 0, x_207);
+lean_ctor_set(x_210, 1, x_209);
+x_211 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_211, 0, x_210);
+lean_ctor_set(x_211, 1, x_200);
+x_212 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_213 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_212, x_211, x_4, x_5, x_6, x_7, x_197);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
-x_213 = lean_ctor_get(x_212, 1);
-lean_inc(x_213);
-lean_dec(x_212);
-x_214 = lean_unbox(x_193);
-lean_dec(x_193);
-x_165 = x_214;
-x_166 = x_213;
-goto block_191;
+x_214 = lean_ctor_get(x_213, 1);
+lean_inc(x_214);
+lean_dec(x_213);
+x_215 = lean_unbox(x_194);
+lean_dec(x_194);
+x_110 = x_215;
+x_111 = x_214;
+goto block_158;
}
else
{
-lean_object* x_215; lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; uint8_t x_221;
-x_215 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
-x_216 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_216, 0, x_206);
-lean_ctor_set(x_216, 1, x_215);
+lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; lean_object* x_221; uint8_t x_222;
+x_216 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
x_217 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_217, 0, x_216);
-lean_ctor_set(x_217, 1, x_199);
-x_218 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_219 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_218, x_217, x_4, x_5, x_6, x_7, x_196);
+lean_ctor_set(x_217, 0, x_207);
+lean_ctor_set(x_217, 1, x_216);
+x_218 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_218, 0, x_217);
+lean_ctor_set(x_218, 1, x_200);
+x_219 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_220 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_219, x_218, x_4, x_5, x_6, x_7, x_197);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
-x_220 = lean_ctor_get(x_219, 1);
-lean_inc(x_220);
-lean_dec(x_219);
-x_221 = lean_unbox(x_193);
-lean_dec(x_193);
-x_165 = x_221;
-x_166 = x_220;
-goto block_191;
+x_221 = lean_ctor_get(x_220, 1);
+lean_inc(x_221);
+lean_dec(x_220);
+x_222 = lean_unbox(x_194);
+lean_dec(x_194);
+x_110 = x_222;
+x_111 = x_221;
+goto block_158;
}
}
}
}
else
{
-lean_object* x_234; lean_object* x_235; lean_object* x_236; lean_object* x_237; lean_object* x_238; lean_object* x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244; lean_object* x_245; lean_object* x_246; lean_object* x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253;
+lean_object* x_235; lean_object* x_236;
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_2);
lean_dec(x_1);
-x_234 = lean_ctor_get(x_192, 0);
-lean_inc(x_234);
-x_235 = lean_ctor_get(x_192, 1);
+x_235 = lean_ctor_get(x_193, 0);
lean_inc(x_235);
-lean_dec(x_192);
-x_236 = lean_st_ref_get(x_7, x_235);
-x_237 = lean_ctor_get(x_236, 1);
-lean_inc(x_237);
-lean_dec(x_236);
-x_238 = lean_st_ref_take(x_7, x_237);
-x_239 = lean_ctor_get(x_238, 0);
-lean_inc(x_239);
-x_240 = lean_ctor_get(x_239, 3);
-lean_inc(x_240);
-x_241 = lean_ctor_get(x_238, 1);
-lean_inc(x_241);
-lean_dec(x_238);
-x_242 = lean_ctor_get(x_239, 0);
-lean_inc(x_242);
-x_243 = lean_ctor_get(x_239, 1);
-lean_inc(x_243);
-x_244 = lean_ctor_get(x_239, 2);
-lean_inc(x_244);
-if (lean_is_exclusive(x_239)) {
- lean_ctor_release(x_239, 0);
- lean_ctor_release(x_239, 1);
- lean_ctor_release(x_239, 2);
- lean_ctor_release(x_239, 3);
- x_245 = x_239;
-} else {
- lean_dec_ref(x_239);
- x_245 = lean_box(0);
+x_236 = lean_ctor_get(x_193, 1);
+lean_inc(x_236);
+lean_dec(x_193);
+x_159 = x_235;
+x_160 = x_236;
+goto block_192;
}
-x_246 = lean_ctor_get(x_240, 0);
-lean_inc(x_246);
-if (lean_is_exclusive(x_240)) {
- lean_ctor_release(x_240, 0);
- x_247 = x_240;
-} else {
- lean_dec_ref(x_240);
- x_247 = lean_box(0);
-}
-if (lean_is_scalar(x_247)) {
- x_248 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_248 = x_247;
-}
-lean_ctor_set(x_248, 0, x_246);
-lean_ctor_set_uint8(x_248, sizeof(void*)*1, x_25);
-if (lean_is_scalar(x_245)) {
- x_249 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_249 = x_245;
-}
-lean_ctor_set(x_249, 0, x_242);
-lean_ctor_set(x_249, 1, x_243);
-lean_ctor_set(x_249, 2, x_244);
-lean_ctor_set(x_249, 3, x_248);
-x_250 = lean_st_ref_set(x_7, x_249, x_241);
+block_158:
+{
+lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; uint8_t x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; uint8_t x_121;
+x_112 = lean_st_ref_get(x_7, x_111);
+x_113 = lean_ctor_get(x_112, 0);
+lean_inc(x_113);
+x_114 = lean_ctor_get(x_112, 1);
+lean_inc(x_114);
+lean_dec(x_112);
+x_115 = lean_ctor_get(x_113, 3);
+lean_inc(x_115);
+lean_dec(x_113);
+x_116 = lean_ctor_get_uint8(x_115, sizeof(void*)*1);
+lean_dec(x_115);
+x_117 = lean_st_ref_take(x_7, x_114);
+x_118 = lean_ctor_get(x_117, 0);
+lean_inc(x_118);
+x_119 = lean_ctor_get(x_118, 3);
+lean_inc(x_119);
+x_120 = lean_ctor_get(x_117, 1);
+lean_inc(x_120);
+lean_dec(x_117);
+x_121 = !lean_is_exclusive(x_118);
+if (x_121 == 0)
+{
+lean_object* x_122; uint8_t x_123;
+x_122 = lean_ctor_get(x_118, 3);
+lean_dec(x_122);
+x_123 = !lean_is_exclusive(x_119);
+if (x_123 == 0)
+{
+lean_object* x_124; uint8_t x_125;
+lean_ctor_set_uint8(x_119, sizeof(void*)*1, x_99);
+x_124 = lean_st_ref_set(x_7, x_118, x_120);
lean_dec(x_7);
-x_251 = lean_ctor_get(x_250, 1);
+x_125 = !lean_is_exclusive(x_124);
+if (x_125 == 0)
+{
+lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129;
+x_126 = lean_ctor_get(x_124, 0);
+lean_dec(x_126);
+x_127 = lean_box(x_110);
+x_128 = lean_box(x_116);
+x_129 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_129, 0, x_127);
+lean_ctor_set(x_129, 1, x_128);
+lean_ctor_set(x_124, 0, x_129);
+x_9 = x_124;
+goto block_21;
+}
+else
+{
+lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134;
+x_130 = lean_ctor_get(x_124, 1);
+lean_inc(x_130);
+lean_dec(x_124);
+x_131 = lean_box(x_110);
+x_132 = lean_box(x_116);
+x_133 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_133, 0, x_131);
+lean_ctor_set(x_133, 1, x_132);
+x_134 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_134, 0, x_133);
+lean_ctor_set(x_134, 1, x_130);
+x_9 = x_134;
+goto block_21;
+}
+}
+else
+{
+lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143;
+x_135 = lean_ctor_get(x_119, 0);
+lean_inc(x_135);
+lean_dec(x_119);
+x_136 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_136, 0, x_135);
+lean_ctor_set_uint8(x_136, sizeof(void*)*1, x_99);
+lean_ctor_set(x_118, 3, x_136);
+x_137 = lean_st_ref_set(x_7, x_118, x_120);
+lean_dec(x_7);
+x_138 = lean_ctor_get(x_137, 1);
+lean_inc(x_138);
+if (lean_is_exclusive(x_137)) {
+ lean_ctor_release(x_137, 0);
+ lean_ctor_release(x_137, 1);
+ x_139 = x_137;
+} else {
+ lean_dec_ref(x_137);
+ x_139 = lean_box(0);
+}
+x_140 = lean_box(x_110);
+x_141 = lean_box(x_116);
+x_142 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_142, 0, x_140);
+lean_ctor_set(x_142, 1, x_141);
+if (lean_is_scalar(x_139)) {
+ x_143 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_143 = x_139;
+}
+lean_ctor_set(x_143, 0, x_142);
+lean_ctor_set(x_143, 1, x_138);
+x_9 = x_143;
+goto block_21;
+}
+}
+else
+{
+lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157;
+x_144 = lean_ctor_get(x_118, 0);
+x_145 = lean_ctor_get(x_118, 1);
+x_146 = lean_ctor_get(x_118, 2);
+lean_inc(x_146);
+lean_inc(x_145);
+lean_inc(x_144);
+lean_dec(x_118);
+x_147 = lean_ctor_get(x_119, 0);
+lean_inc(x_147);
+if (lean_is_exclusive(x_119)) {
+ lean_ctor_release(x_119, 0);
+ x_148 = x_119;
+} else {
+ lean_dec_ref(x_119);
+ x_148 = lean_box(0);
+}
+if (lean_is_scalar(x_148)) {
+ x_149 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_149 = x_148;
+}
+lean_ctor_set(x_149, 0, x_147);
+lean_ctor_set_uint8(x_149, sizeof(void*)*1, x_99);
+x_150 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_150, 0, x_144);
+lean_ctor_set(x_150, 1, x_145);
+lean_ctor_set(x_150, 2, x_146);
+lean_ctor_set(x_150, 3, x_149);
+x_151 = lean_st_ref_set(x_7, x_150, x_120);
+lean_dec(x_7);
+x_152 = lean_ctor_get(x_151, 1);
+lean_inc(x_152);
+if (lean_is_exclusive(x_151)) {
+ lean_ctor_release(x_151, 0);
+ lean_ctor_release(x_151, 1);
+ x_153 = x_151;
+} else {
+ lean_dec_ref(x_151);
+ x_153 = lean_box(0);
+}
+x_154 = lean_box(x_110);
+x_155 = lean_box(x_116);
+x_156 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_156, 0, x_154);
+lean_ctor_set(x_156, 1, x_155);
+if (lean_is_scalar(x_153)) {
+ x_157 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_157 = x_153;
+}
+lean_ctor_set(x_157, 0, x_156);
+lean_ctor_set(x_157, 1, x_152);
+x_9 = x_157;
+goto block_21;
+}
+}
+block_192:
+{
+lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; uint8_t x_167;
+x_161 = lean_st_ref_get(x_7, x_160);
+x_162 = lean_ctor_get(x_161, 1);
+lean_inc(x_162);
+lean_dec(x_161);
+x_163 = lean_st_ref_take(x_7, x_162);
+x_164 = lean_ctor_get(x_163, 0);
+lean_inc(x_164);
+x_165 = lean_ctor_get(x_164, 3);
+lean_inc(x_165);
+x_166 = lean_ctor_get(x_163, 1);
+lean_inc(x_166);
+lean_dec(x_163);
+x_167 = !lean_is_exclusive(x_164);
+if (x_167 == 0)
+{
+lean_object* x_168; uint8_t x_169;
+x_168 = lean_ctor_get(x_164, 3);
+lean_dec(x_168);
+x_169 = !lean_is_exclusive(x_165);
+if (x_169 == 0)
+{
+lean_object* x_170; uint8_t x_171;
+lean_ctor_set_uint8(x_165, sizeof(void*)*1, x_99);
+x_170 = lean_st_ref_set(x_7, x_164, x_166);
+lean_dec(x_7);
+x_171 = !lean_is_exclusive(x_170);
+if (x_171 == 0)
+{
+lean_object* x_172;
+x_172 = lean_ctor_get(x_170, 0);
+lean_dec(x_172);
+lean_ctor_set_tag(x_170, 1);
+lean_ctor_set(x_170, 0, x_159);
+x_9 = x_170;
+goto block_21;
+}
+else
+{
+lean_object* x_173; lean_object* x_174;
+x_173 = lean_ctor_get(x_170, 1);
+lean_inc(x_173);
+lean_dec(x_170);
+x_174 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_174, 0, x_159);
+lean_ctor_set(x_174, 1, x_173);
+x_9 = x_174;
+goto block_21;
+}
+}
+else
+{
+lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180;
+x_175 = lean_ctor_get(x_165, 0);
+lean_inc(x_175);
+lean_dec(x_165);
+x_176 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_176, 0, x_175);
+lean_ctor_set_uint8(x_176, sizeof(void*)*1, x_99);
+lean_ctor_set(x_164, 3, x_176);
+x_177 = lean_st_ref_set(x_7, x_164, x_166);
+lean_dec(x_7);
+x_178 = lean_ctor_get(x_177, 1);
+lean_inc(x_178);
+if (lean_is_exclusive(x_177)) {
+ lean_ctor_release(x_177, 0);
+ lean_ctor_release(x_177, 1);
+ x_179 = x_177;
+} else {
+ lean_dec_ref(x_177);
+ x_179 = lean_box(0);
+}
+if (lean_is_scalar(x_179)) {
+ x_180 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_180 = x_179;
+ lean_ctor_set_tag(x_180, 1);
+}
+lean_ctor_set(x_180, 0, x_159);
+lean_ctor_set(x_180, 1, x_178);
+x_9 = x_180;
+goto block_21;
+}
+}
+else
+{
+lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191;
+x_181 = lean_ctor_get(x_164, 0);
+x_182 = lean_ctor_get(x_164, 1);
+x_183 = lean_ctor_get(x_164, 2);
+lean_inc(x_183);
+lean_inc(x_182);
+lean_inc(x_181);
+lean_dec(x_164);
+x_184 = lean_ctor_get(x_165, 0);
+lean_inc(x_184);
+if (lean_is_exclusive(x_165)) {
+ lean_ctor_release(x_165, 0);
+ x_185 = x_165;
+} else {
+ lean_dec_ref(x_165);
+ x_185 = lean_box(0);
+}
+if (lean_is_scalar(x_185)) {
+ x_186 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_186 = x_185;
+}
+lean_ctor_set(x_186, 0, x_184);
+lean_ctor_set_uint8(x_186, sizeof(void*)*1, x_99);
+x_187 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_187, 0, x_181);
+lean_ctor_set(x_187, 1, x_182);
+lean_ctor_set(x_187, 2, x_183);
+lean_ctor_set(x_187, 3, x_186);
+x_188 = lean_st_ref_set(x_7, x_187, x_166);
+lean_dec(x_7);
+x_189 = lean_ctor_get(x_188, 1);
+lean_inc(x_189);
+if (lean_is_exclusive(x_188)) {
+ lean_ctor_release(x_188, 0);
+ lean_ctor_release(x_188, 1);
+ x_190 = x_188;
+} else {
+ lean_dec_ref(x_188);
+ x_190 = lean_box(0);
+}
+if (lean_is_scalar(x_190)) {
+ x_191 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_191 = x_190;
+ lean_ctor_set_tag(x_191, 1);
+}
+lean_ctor_set(x_191, 0, x_159);
+lean_ctor_set(x_191, 1, x_189);
+x_9 = x_191;
+goto block_21;
+}
+}
+}
+else
+{
+lean_object* x_237; uint8_t x_238; lean_object* x_239; lean_object* x_240; lean_object* x_241; uint8_t x_242; lean_object* x_243; lean_object* x_269; lean_object* x_270; lean_object* x_290;
+x_237 = lean_ctor_get(x_102, 0);
+lean_inc(x_237);
+lean_dec(x_102);
+x_238 = 0;
+x_239 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_239, 0, x_237);
+lean_ctor_set_uint8(x_239, sizeof(void*)*1, x_238);
+lean_ctor_set(x_101, 3, x_239);
+x_240 = lean_st_ref_set(x_7, x_101, x_103);
+x_241 = lean_ctor_get(x_240, 1);
+lean_inc(x_241);
+lean_dec(x_240);
+lean_inc(x_7);
+lean_inc(x_6);
+lean_inc(x_5);
+lean_inc(x_4);
+x_290 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_22, x_4, x_5, x_6, x_7, x_241);
+if (lean_obj_tag(x_290) == 0)
+{
+lean_object* x_291; lean_object* x_292; uint8_t x_293; lean_object* x_294; lean_object* x_321; lean_object* x_322; lean_object* x_323; uint8_t x_324;
+x_291 = lean_ctor_get(x_290, 0);
+lean_inc(x_291);
+x_292 = lean_ctor_get(x_290, 1);
+lean_inc(x_292);
+lean_dec(x_290);
+x_321 = lean_st_ref_get(x_7, x_292);
+x_322 = lean_ctor_get(x_321, 0);
+lean_inc(x_322);
+x_323 = lean_ctor_get(x_322, 3);
+lean_inc(x_323);
+lean_dec(x_322);
+x_324 = lean_ctor_get_uint8(x_323, sizeof(void*)*1);
+lean_dec(x_323);
+if (x_324 == 0)
+{
+lean_object* x_325;
+x_325 = lean_ctor_get(x_321, 1);
+lean_inc(x_325);
+lean_dec(x_321);
+x_293 = x_238;
+x_294 = x_325;
+goto block_320;
+}
+else
+{
+lean_object* x_326; lean_object* x_327; lean_object* x_328; lean_object* x_329; lean_object* x_330; uint8_t x_331;
+x_326 = lean_ctor_get(x_321, 1);
+lean_inc(x_326);
+lean_dec(x_321);
+x_327 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_328 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_327, x_4, x_5, x_6, x_7, x_326);
+x_329 = lean_ctor_get(x_328, 0);
+lean_inc(x_329);
+x_330 = lean_ctor_get(x_328, 1);
+lean_inc(x_330);
+lean_dec(x_328);
+x_331 = lean_unbox(x_329);
+lean_dec(x_329);
+x_293 = x_331;
+x_294 = x_330;
+goto block_320;
+}
+block_320:
+{
+if (x_293 == 0)
+{
+uint8_t x_295;
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_2);
+lean_dec(x_1);
+x_295 = lean_unbox(x_291);
+lean_dec(x_291);
+x_242 = x_295;
+x_243 = x_294;
+goto block_268;
+}
+else
+{
+lean_object* x_296; lean_object* x_297; lean_object* x_298; lean_object* x_299; lean_object* x_300; lean_object* x_301; lean_object* x_302; lean_object* x_303; lean_object* x_304; uint8_t x_305;
+x_296 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_296, 0, x_1);
+x_297 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_298 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_298, 0, x_297);
+lean_ctor_set(x_298, 1, x_296);
+x_299 = l_Lean_Meta_isLevelDefEqAux___closed__6;
+x_300 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_300, 0, x_298);
+lean_ctor_set(x_300, 1, x_299);
+x_301 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_301, 0, x_2);
+x_302 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_302, 0, x_300);
+lean_ctor_set(x_302, 1, x_301);
+x_303 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
+x_304 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_304, 0, x_302);
+lean_ctor_set(x_304, 1, x_303);
+x_305 = lean_unbox(x_291);
+if (x_305 == 0)
+{
+lean_object* x_306; lean_object* x_307; lean_object* x_308; lean_object* x_309; lean_object* x_310; lean_object* x_311; uint8_t x_312;
+x_306 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
+x_307 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_307, 0, x_304);
+lean_ctor_set(x_307, 1, x_306);
+x_308 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_308, 0, x_307);
+lean_ctor_set(x_308, 1, x_297);
+x_309 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_310 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_309, x_308, x_4, x_5, x_6, x_7, x_294);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+x_311 = lean_ctor_get(x_310, 1);
+lean_inc(x_311);
+lean_dec(x_310);
+x_312 = lean_unbox(x_291);
+lean_dec(x_291);
+x_242 = x_312;
+x_243 = x_311;
+goto block_268;
+}
+else
+{
+lean_object* x_313; lean_object* x_314; lean_object* x_315; lean_object* x_316; lean_object* x_317; lean_object* x_318; uint8_t x_319;
+x_313 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
+x_314 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_314, 0, x_304);
+lean_ctor_set(x_314, 1, x_313);
+x_315 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_315, 0, x_314);
+lean_ctor_set(x_315, 1, x_297);
+x_316 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_317 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_316, x_315, x_4, x_5, x_6, x_7, x_294);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+x_318 = lean_ctor_get(x_317, 1);
+lean_inc(x_318);
+lean_dec(x_317);
+x_319 = lean_unbox(x_291);
+lean_dec(x_291);
+x_242 = x_319;
+x_243 = x_318;
+goto block_268;
+}
+}
+}
+}
+else
+{
+lean_object* x_332; lean_object* x_333;
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_2);
+lean_dec(x_1);
+x_332 = lean_ctor_get(x_290, 0);
+lean_inc(x_332);
+x_333 = lean_ctor_get(x_290, 1);
+lean_inc(x_333);
+lean_dec(x_290);
+x_269 = x_332;
+x_270 = x_333;
+goto block_289;
+}
+block_268:
+{
+lean_object* x_244; lean_object* x_245; lean_object* x_246; lean_object* x_247; uint8_t x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253; lean_object* x_254; lean_object* x_255; lean_object* x_256; lean_object* x_257; lean_object* x_258; lean_object* x_259; lean_object* x_260; lean_object* x_261; lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265; lean_object* x_266; lean_object* x_267;
+x_244 = lean_st_ref_get(x_7, x_243);
+x_245 = lean_ctor_get(x_244, 0);
+lean_inc(x_245);
+x_246 = lean_ctor_get(x_244, 1);
+lean_inc(x_246);
+lean_dec(x_244);
+x_247 = lean_ctor_get(x_245, 3);
+lean_inc(x_247);
+lean_dec(x_245);
+x_248 = lean_ctor_get_uint8(x_247, sizeof(void*)*1);
+lean_dec(x_247);
+x_249 = lean_st_ref_take(x_7, x_246);
+x_250 = lean_ctor_get(x_249, 0);
+lean_inc(x_250);
+x_251 = lean_ctor_get(x_250, 3);
lean_inc(x_251);
+x_252 = lean_ctor_get(x_249, 1);
+lean_inc(x_252);
+lean_dec(x_249);
+x_253 = lean_ctor_get(x_250, 0);
+lean_inc(x_253);
+x_254 = lean_ctor_get(x_250, 1);
+lean_inc(x_254);
+x_255 = lean_ctor_get(x_250, 2);
+lean_inc(x_255);
if (lean_is_exclusive(x_250)) {
lean_ctor_release(x_250, 0);
lean_ctor_release(x_250, 1);
- x_252 = x_250;
+ lean_ctor_release(x_250, 2);
+ lean_ctor_release(x_250, 3);
+ x_256 = x_250;
} else {
lean_dec_ref(x_250);
- x_252 = lean_box(0);
+ x_256 = lean_box(0);
}
-if (lean_is_scalar(x_252)) {
- x_253 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_253 = x_252;
- lean_ctor_set_tag(x_253, 1);
-}
-lean_ctor_set(x_253, 0, x_234);
-lean_ctor_set(x_253, 1, x_251);
-return x_253;
-}
-block_191:
-{
-lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; uint8_t x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190;
-x_167 = lean_st_ref_get(x_7, x_166);
-x_168 = lean_ctor_get(x_167, 0);
-lean_inc(x_168);
-x_169 = lean_ctor_get(x_167, 1);
-lean_inc(x_169);
-lean_dec(x_167);
-x_170 = lean_ctor_get(x_168, 3);
-lean_inc(x_170);
-lean_dec(x_168);
-x_171 = lean_ctor_get_uint8(x_170, sizeof(void*)*1);
-lean_dec(x_170);
-x_172 = lean_st_ref_take(x_7, x_169);
-x_173 = lean_ctor_get(x_172, 0);
-lean_inc(x_173);
-x_174 = lean_ctor_get(x_173, 3);
-lean_inc(x_174);
-x_175 = lean_ctor_get(x_172, 1);
-lean_inc(x_175);
-lean_dec(x_172);
-x_176 = lean_ctor_get(x_173, 0);
-lean_inc(x_176);
-x_177 = lean_ctor_get(x_173, 1);
-lean_inc(x_177);
-x_178 = lean_ctor_get(x_173, 2);
-lean_inc(x_178);
-if (lean_is_exclusive(x_173)) {
- lean_ctor_release(x_173, 0);
- lean_ctor_release(x_173, 1);
- lean_ctor_release(x_173, 2);
- lean_ctor_release(x_173, 3);
- x_179 = x_173;
-} else {
- lean_dec_ref(x_173);
- x_179 = lean_box(0);
-}
-x_180 = lean_ctor_get(x_174, 0);
-lean_inc(x_180);
-if (lean_is_exclusive(x_174)) {
- lean_ctor_release(x_174, 0);
- x_181 = x_174;
-} else {
- lean_dec_ref(x_174);
- x_181 = lean_box(0);
-}
-if (lean_is_scalar(x_181)) {
- x_182 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_182 = x_181;
-}
-lean_ctor_set(x_182, 0, x_180);
-lean_ctor_set_uint8(x_182, sizeof(void*)*1, x_25);
-if (lean_is_scalar(x_179)) {
- x_183 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_183 = x_179;
-}
-lean_ctor_set(x_183, 0, x_176);
-lean_ctor_set(x_183, 1, x_177);
-lean_ctor_set(x_183, 2, x_178);
-lean_ctor_set(x_183, 3, x_182);
-x_184 = lean_st_ref_set(x_7, x_183, x_175);
-lean_dec(x_7);
-x_185 = lean_ctor_get(x_184, 1);
-lean_inc(x_185);
-if (lean_is_exclusive(x_184)) {
- lean_ctor_release(x_184, 0);
- lean_ctor_release(x_184, 1);
- x_186 = x_184;
-} else {
- lean_dec_ref(x_184);
- x_186 = lean_box(0);
-}
-x_187 = lean_box(x_165);
-x_188 = lean_box(x_171);
-x_189 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_189, 0, x_187);
-lean_ctor_set(x_189, 1, x_188);
-if (lean_is_scalar(x_186)) {
- x_190 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_190 = x_186;
-}
-lean_ctor_set(x_190, 0, x_189);
-lean_ctor_set(x_190, 1, x_185);
-x_9 = x_190;
-goto block_17;
-}
-}
-}
-else
-{
-lean_object* x_254; lean_object* x_255; lean_object* x_256; lean_object* x_257; lean_object* x_258; uint8_t x_259; lean_object* x_260; lean_object* x_261; lean_object* x_262; lean_object* x_263; uint8_t x_264; lean_object* x_265; lean_object* x_291;
-x_254 = lean_ctor_get(x_27, 0);
-x_255 = lean_ctor_get(x_27, 1);
-x_256 = lean_ctor_get(x_27, 2);
-lean_inc(x_256);
-lean_inc(x_255);
-lean_inc(x_254);
-lean_dec(x_27);
-x_257 = lean_ctor_get(x_28, 0);
+x_257 = lean_ctor_get(x_251, 0);
lean_inc(x_257);
-if (lean_is_exclusive(x_28)) {
- lean_ctor_release(x_28, 0);
- x_258 = x_28;
+if (lean_is_exclusive(x_251)) {
+ lean_ctor_release(x_251, 0);
+ x_258 = x_251;
} else {
- lean_dec_ref(x_28);
+ lean_dec_ref(x_251);
x_258 = lean_box(0);
}
-x_259 = 0;
if (lean_is_scalar(x_258)) {
- x_260 = lean_alloc_ctor(0, 1, 1);
+ x_259 = lean_alloc_ctor(0, 1, 1);
} else {
- x_260 = x_258;
+ x_259 = x_258;
}
-lean_ctor_set(x_260, 0, x_257);
-lean_ctor_set_uint8(x_260, sizeof(void*)*1, x_259);
-x_261 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_261, 0, x_254);
-lean_ctor_set(x_261, 1, x_255);
-lean_ctor_set(x_261, 2, x_256);
-lean_ctor_set(x_261, 3, x_260);
-x_262 = lean_st_ref_set(x_7, x_261, x_29);
-x_263 = lean_ctor_get(x_262, 1);
-lean_inc(x_263);
-lean_dec(x_262);
-lean_inc(x_7);
-lean_inc(x_6);
-lean_inc(x_5);
-lean_inc(x_4);
-x_291 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_18, x_4, x_5, x_6, x_7, x_263);
-if (lean_obj_tag(x_291) == 0)
-{
-lean_object* x_292; lean_object* x_293; uint8_t x_294; lean_object* x_295; lean_object* x_322; lean_object* x_323; lean_object* x_324; uint8_t x_325;
-x_292 = lean_ctor_get(x_291, 0);
-lean_inc(x_292);
-x_293 = lean_ctor_get(x_291, 1);
-lean_inc(x_293);
-lean_dec(x_291);
-x_322 = lean_st_ref_get(x_7, x_293);
-x_323 = lean_ctor_get(x_322, 0);
-lean_inc(x_323);
-x_324 = lean_ctor_get(x_323, 3);
-lean_inc(x_324);
-lean_dec(x_323);
-x_325 = lean_ctor_get_uint8(x_324, sizeof(void*)*1);
-lean_dec(x_324);
-if (x_325 == 0)
-{
-lean_object* x_326;
-x_326 = lean_ctor_get(x_322, 1);
-lean_inc(x_326);
-lean_dec(x_322);
-x_294 = x_259;
-x_295 = x_326;
-goto block_321;
-}
-else
-{
-lean_object* x_327; lean_object* x_328; lean_object* x_329; lean_object* x_330; lean_object* x_331; uint8_t x_332;
-x_327 = lean_ctor_get(x_322, 1);
-lean_inc(x_327);
-lean_dec(x_322);
-x_328 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_329 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_328, x_4, x_5, x_6, x_7, x_327);
-x_330 = lean_ctor_get(x_329, 0);
-lean_inc(x_330);
-x_331 = lean_ctor_get(x_329, 1);
-lean_inc(x_331);
-lean_dec(x_329);
-x_332 = lean_unbox(x_330);
-lean_dec(x_330);
-x_294 = x_332;
-x_295 = x_331;
-goto block_321;
-}
-block_321:
-{
-if (x_294 == 0)
-{
-uint8_t x_296;
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_2);
-lean_dec(x_1);
-x_296 = lean_unbox(x_292);
-lean_dec(x_292);
-x_264 = x_296;
-x_265 = x_295;
-goto block_290;
-}
-else
-{
-lean_object* x_297; lean_object* x_298; lean_object* x_299; lean_object* x_300; lean_object* x_301; lean_object* x_302; lean_object* x_303; lean_object* x_304; lean_object* x_305; uint8_t x_306;
-x_297 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_297, 0, x_1);
-x_298 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_299 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_299, 0, x_298);
-lean_ctor_set(x_299, 1, x_297);
-x_300 = l_Lean_Meta_isLevelDefEqAux___closed__6;
-x_301 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_301, 0, x_299);
-lean_ctor_set(x_301, 1, x_300);
-x_302 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_302, 0, x_2);
-x_303 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_303, 0, x_301);
-lean_ctor_set(x_303, 1, x_302);
-x_304 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
-x_305 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_305, 0, x_303);
-lean_ctor_set(x_305, 1, x_304);
-x_306 = lean_unbox(x_292);
-if (x_306 == 0)
-{
-lean_object* x_307; lean_object* x_308; lean_object* x_309; lean_object* x_310; lean_object* x_311; lean_object* x_312; uint8_t x_313;
-x_307 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
-x_308 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_308, 0, x_305);
-lean_ctor_set(x_308, 1, x_307);
-x_309 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_309, 0, x_308);
-lean_ctor_set(x_309, 1, x_298);
-x_310 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_311 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_310, x_309, x_4, x_5, x_6, x_7, x_295);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-x_312 = lean_ctor_get(x_311, 1);
-lean_inc(x_312);
-lean_dec(x_311);
-x_313 = lean_unbox(x_292);
-lean_dec(x_292);
-x_264 = x_313;
-x_265 = x_312;
-goto block_290;
-}
-else
-{
-lean_object* x_314; lean_object* x_315; lean_object* x_316; lean_object* x_317; lean_object* x_318; lean_object* x_319; uint8_t x_320;
-x_314 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
-x_315 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_315, 0, x_305);
-lean_ctor_set(x_315, 1, x_314);
-x_316 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_316, 0, x_315);
-lean_ctor_set(x_316, 1, x_298);
-x_317 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_318 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_317, x_316, x_4, x_5, x_6, x_7, x_295);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-x_319 = lean_ctor_get(x_318, 1);
-lean_inc(x_319);
-lean_dec(x_318);
-x_320 = lean_unbox(x_292);
-lean_dec(x_292);
-x_264 = x_320;
-x_265 = x_319;
-goto block_290;
-}
-}
-}
-}
-else
-{
-lean_object* x_333; lean_object* x_334; lean_object* x_335; lean_object* x_336; lean_object* x_337; lean_object* x_338; lean_object* x_339; lean_object* x_340; lean_object* x_341; lean_object* x_342; lean_object* x_343; lean_object* x_344; lean_object* x_345; lean_object* x_346; lean_object* x_347; lean_object* x_348; lean_object* x_349; lean_object* x_350; lean_object* x_351; lean_object* x_352;
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_2);
-lean_dec(x_1);
-x_333 = lean_ctor_get(x_291, 0);
-lean_inc(x_333);
-x_334 = lean_ctor_get(x_291, 1);
-lean_inc(x_334);
-lean_dec(x_291);
-x_335 = lean_st_ref_get(x_7, x_334);
-x_336 = lean_ctor_get(x_335, 1);
-lean_inc(x_336);
-lean_dec(x_335);
-x_337 = lean_st_ref_take(x_7, x_336);
-x_338 = lean_ctor_get(x_337, 0);
-lean_inc(x_338);
-x_339 = lean_ctor_get(x_338, 3);
-lean_inc(x_339);
-x_340 = lean_ctor_get(x_337, 1);
-lean_inc(x_340);
-lean_dec(x_337);
-x_341 = lean_ctor_get(x_338, 0);
-lean_inc(x_341);
-x_342 = lean_ctor_get(x_338, 1);
-lean_inc(x_342);
-x_343 = lean_ctor_get(x_338, 2);
-lean_inc(x_343);
-if (lean_is_exclusive(x_338)) {
- lean_ctor_release(x_338, 0);
- lean_ctor_release(x_338, 1);
- lean_ctor_release(x_338, 2);
- lean_ctor_release(x_338, 3);
- x_344 = x_338;
+lean_ctor_set(x_259, 0, x_257);
+lean_ctor_set_uint8(x_259, sizeof(void*)*1, x_99);
+if (lean_is_scalar(x_256)) {
+ x_260 = lean_alloc_ctor(0, 4, 0);
} else {
- lean_dec_ref(x_338);
- x_344 = lean_box(0);
+ x_260 = x_256;
}
-x_345 = lean_ctor_get(x_339, 0);
-lean_inc(x_345);
-if (lean_is_exclusive(x_339)) {
- lean_ctor_release(x_339, 0);
- x_346 = x_339;
-} else {
- lean_dec_ref(x_339);
- x_346 = lean_box(0);
-}
-if (lean_is_scalar(x_346)) {
- x_347 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_347 = x_346;
-}
-lean_ctor_set(x_347, 0, x_345);
-lean_ctor_set_uint8(x_347, sizeof(void*)*1, x_25);
-if (lean_is_scalar(x_344)) {
- x_348 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_348 = x_344;
-}
-lean_ctor_set(x_348, 0, x_341);
-lean_ctor_set(x_348, 1, x_342);
-lean_ctor_set(x_348, 2, x_343);
-lean_ctor_set(x_348, 3, x_347);
-x_349 = lean_st_ref_set(x_7, x_348, x_340);
+lean_ctor_set(x_260, 0, x_253);
+lean_ctor_set(x_260, 1, x_254);
+lean_ctor_set(x_260, 2, x_255);
+lean_ctor_set(x_260, 3, x_259);
+x_261 = lean_st_ref_set(x_7, x_260, x_252);
lean_dec(x_7);
-x_350 = lean_ctor_get(x_349, 1);
-lean_inc(x_350);
-if (lean_is_exclusive(x_349)) {
- lean_ctor_release(x_349, 0);
- lean_ctor_release(x_349, 1);
- x_351 = x_349;
+x_262 = lean_ctor_get(x_261, 1);
+lean_inc(x_262);
+if (lean_is_exclusive(x_261)) {
+ lean_ctor_release(x_261, 0);
+ lean_ctor_release(x_261, 1);
+ x_263 = x_261;
} else {
- lean_dec_ref(x_349);
- x_351 = lean_box(0);
+ lean_dec_ref(x_261);
+ x_263 = lean_box(0);
}
-if (lean_is_scalar(x_351)) {
- x_352 = lean_alloc_ctor(1, 2, 0);
+x_264 = lean_box(x_242);
+x_265 = lean_box(x_248);
+x_266 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_266, 0, x_264);
+lean_ctor_set(x_266, 1, x_265);
+if (lean_is_scalar(x_263)) {
+ x_267 = lean_alloc_ctor(0, 2, 0);
} else {
- x_352 = x_351;
- lean_ctor_set_tag(x_352, 1);
+ x_267 = x_263;
}
-lean_ctor_set(x_352, 0, x_333);
-lean_ctor_set(x_352, 1, x_350);
-return x_352;
+lean_ctor_set(x_267, 0, x_266);
+lean_ctor_set(x_267, 1, x_262);
+x_9 = x_267;
+goto block_21;
}
-block_290:
+block_289:
{
-lean_object* x_266; lean_object* x_267; lean_object* x_268; lean_object* x_269; uint8_t x_270; lean_object* x_271; lean_object* x_272; lean_object* x_273; lean_object* x_274; lean_object* x_275; lean_object* x_276; lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; lean_object* x_281; lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286; lean_object* x_287; lean_object* x_288; lean_object* x_289;
-x_266 = lean_st_ref_get(x_7, x_265);
-x_267 = lean_ctor_get(x_266, 0);
-lean_inc(x_267);
-x_268 = lean_ctor_get(x_266, 1);
-lean_inc(x_268);
-lean_dec(x_266);
-x_269 = lean_ctor_get(x_267, 3);
-lean_inc(x_269);
-lean_dec(x_267);
-x_270 = lean_ctor_get_uint8(x_269, sizeof(void*)*1);
-lean_dec(x_269);
-x_271 = lean_st_ref_take(x_7, x_268);
-x_272 = lean_ctor_get(x_271, 0);
+lean_object* x_271; lean_object* x_272; lean_object* x_273; lean_object* x_274; lean_object* x_275; lean_object* x_276; lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; lean_object* x_281; lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286; lean_object* x_287; lean_object* x_288;
+x_271 = lean_st_ref_get(x_7, x_270);
+x_272 = lean_ctor_get(x_271, 1);
lean_inc(x_272);
-x_273 = lean_ctor_get(x_272, 3);
-lean_inc(x_273);
-x_274 = lean_ctor_get(x_271, 1);
-lean_inc(x_274);
lean_dec(x_271);
-x_275 = lean_ctor_get(x_272, 0);
+x_273 = lean_st_ref_take(x_7, x_272);
+x_274 = lean_ctor_get(x_273, 0);
+lean_inc(x_274);
+x_275 = lean_ctor_get(x_274, 3);
lean_inc(x_275);
-x_276 = lean_ctor_get(x_272, 1);
+x_276 = lean_ctor_get(x_273, 1);
lean_inc(x_276);
-x_277 = lean_ctor_get(x_272, 2);
+lean_dec(x_273);
+x_277 = lean_ctor_get(x_274, 0);
lean_inc(x_277);
-if (lean_is_exclusive(x_272)) {
- lean_ctor_release(x_272, 0);
- lean_ctor_release(x_272, 1);
- lean_ctor_release(x_272, 2);
- lean_ctor_release(x_272, 3);
- x_278 = x_272;
-} else {
- lean_dec_ref(x_272);
- x_278 = lean_box(0);
-}
-x_279 = lean_ctor_get(x_273, 0);
+x_278 = lean_ctor_get(x_274, 1);
+lean_inc(x_278);
+x_279 = lean_ctor_get(x_274, 2);
lean_inc(x_279);
-if (lean_is_exclusive(x_273)) {
- lean_ctor_release(x_273, 0);
- x_280 = x_273;
+if (lean_is_exclusive(x_274)) {
+ lean_ctor_release(x_274, 0);
+ lean_ctor_release(x_274, 1);
+ lean_ctor_release(x_274, 2);
+ lean_ctor_release(x_274, 3);
+ x_280 = x_274;
} else {
- lean_dec_ref(x_273);
+ lean_dec_ref(x_274);
x_280 = lean_box(0);
}
+x_281 = lean_ctor_get(x_275, 0);
+lean_inc(x_281);
+if (lean_is_exclusive(x_275)) {
+ lean_ctor_release(x_275, 0);
+ x_282 = x_275;
+} else {
+ lean_dec_ref(x_275);
+ x_282 = lean_box(0);
+}
+if (lean_is_scalar(x_282)) {
+ x_283 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_283 = x_282;
+}
+lean_ctor_set(x_283, 0, x_281);
+lean_ctor_set_uint8(x_283, sizeof(void*)*1, x_99);
if (lean_is_scalar(x_280)) {
- x_281 = lean_alloc_ctor(0, 1, 1);
+ x_284 = lean_alloc_ctor(0, 4, 0);
} else {
- x_281 = x_280;
+ x_284 = x_280;
}
-lean_ctor_set(x_281, 0, x_279);
-lean_ctor_set_uint8(x_281, sizeof(void*)*1, x_25);
-if (lean_is_scalar(x_278)) {
- x_282 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_282 = x_278;
-}
-lean_ctor_set(x_282, 0, x_275);
-lean_ctor_set(x_282, 1, x_276);
-lean_ctor_set(x_282, 2, x_277);
-lean_ctor_set(x_282, 3, x_281);
-x_283 = lean_st_ref_set(x_7, x_282, x_274);
+lean_ctor_set(x_284, 0, x_277);
+lean_ctor_set(x_284, 1, x_278);
+lean_ctor_set(x_284, 2, x_279);
+lean_ctor_set(x_284, 3, x_283);
+x_285 = lean_st_ref_set(x_7, x_284, x_276);
lean_dec(x_7);
-x_284 = lean_ctor_get(x_283, 1);
-lean_inc(x_284);
-if (lean_is_exclusive(x_283)) {
- lean_ctor_release(x_283, 0);
- lean_ctor_release(x_283, 1);
- x_285 = x_283;
+x_286 = lean_ctor_get(x_285, 1);
+lean_inc(x_286);
+if (lean_is_exclusive(x_285)) {
+ lean_ctor_release(x_285, 0);
+ lean_ctor_release(x_285, 1);
+ x_287 = x_285;
} else {
- lean_dec_ref(x_283);
- x_285 = lean_box(0);
+ lean_dec_ref(x_285);
+ x_287 = lean_box(0);
}
-x_286 = lean_box(x_264);
-x_287 = lean_box(x_270);
-x_288 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_288, 0, x_286);
-lean_ctor_set(x_288, 1, x_287);
-if (lean_is_scalar(x_285)) {
- x_289 = lean_alloc_ctor(0, 2, 0);
+if (lean_is_scalar(x_287)) {
+ x_288 = lean_alloc_ctor(1, 2, 0);
} else {
- x_289 = x_285;
+ x_288 = x_287;
+ lean_ctor_set_tag(x_288, 1);
}
-lean_ctor_set(x_289, 0, x_288);
-lean_ctor_set(x_289, 1, x_284);
-x_9 = x_289;
-goto block_17;
+lean_ctor_set(x_288, 0, x_269);
+lean_ctor_set(x_288, 1, x_286);
+x_9 = x_288;
+goto block_21;
}
}
}
else
{
-lean_object* x_353; lean_object* x_354; lean_object* x_355; lean_object* x_356; uint8_t x_357; lean_object* x_358; lean_object* x_368;
-x_353 = lean_ctor_get(x_6, 3);
-lean_inc(x_353);
-x_354 = l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_isLevelDefEq___spec__3___rarg(x_7, x_20);
-x_355 = lean_ctor_get(x_354, 0);
-lean_inc(x_355);
-x_356 = lean_ctor_get(x_354, 1);
-lean_inc(x_356);
-lean_dec(x_354);
+lean_object* x_334; lean_object* x_335; lean_object* x_336; lean_object* x_337; lean_object* x_338; uint8_t x_339; lean_object* x_340; lean_object* x_341; lean_object* x_342; lean_object* x_343; uint8_t x_344; lean_object* x_345; lean_object* x_371; lean_object* x_372; lean_object* x_392;
+x_334 = lean_ctor_get(x_101, 0);
+x_335 = lean_ctor_get(x_101, 1);
+x_336 = lean_ctor_get(x_101, 2);
+lean_inc(x_336);
+lean_inc(x_335);
+lean_inc(x_334);
+lean_dec(x_101);
+x_337 = lean_ctor_get(x_102, 0);
+lean_inc(x_337);
+if (lean_is_exclusive(x_102)) {
+ lean_ctor_release(x_102, 0);
+ x_338 = x_102;
+} else {
+ lean_dec_ref(x_102);
+ x_338 = lean_box(0);
+}
+x_339 = 0;
+if (lean_is_scalar(x_338)) {
+ x_340 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_340 = x_338;
+}
+lean_ctor_set(x_340, 0, x_337);
+lean_ctor_set_uint8(x_340, sizeof(void*)*1, x_339);
+x_341 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_341, 0, x_334);
+lean_ctor_set(x_341, 1, x_335);
+lean_ctor_set(x_341, 2, x_336);
+lean_ctor_set(x_341, 3, x_340);
+x_342 = lean_st_ref_set(x_7, x_341, x_103);
+x_343 = lean_ctor_get(x_342, 1);
+lean_inc(x_343);
+lean_dec(x_342);
lean_inc(x_7);
lean_inc(x_6);
lean_inc(x_5);
lean_inc(x_4);
-x_368 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_18, x_4, x_5, x_6, x_7, x_356);
-if (lean_obj_tag(x_368) == 0)
+x_392 = l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_runDefEqM(x_22, x_4, x_5, x_6, x_7, x_343);
+if (lean_obj_tag(x_392) == 0)
{
-lean_object* x_369; lean_object* x_370; uint8_t x_371; lean_object* x_372; lean_object* x_399; lean_object* x_400; lean_object* x_401; uint8_t x_402;
-x_369 = lean_ctor_get(x_368, 0);
-lean_inc(x_369);
-x_370 = lean_ctor_get(x_368, 1);
-lean_inc(x_370);
-lean_dec(x_368);
-x_399 = lean_st_ref_get(x_7, x_370);
-x_400 = lean_ctor_get(x_399, 0);
-lean_inc(x_400);
-x_401 = lean_ctor_get(x_400, 3);
-lean_inc(x_401);
-lean_dec(x_400);
-x_402 = lean_ctor_get_uint8(x_401, sizeof(void*)*1);
-lean_dec(x_401);
-if (x_402 == 0)
+lean_object* x_393; lean_object* x_394; uint8_t x_395; lean_object* x_396; lean_object* x_423; lean_object* x_424; lean_object* x_425; uint8_t x_426;
+x_393 = lean_ctor_get(x_392, 0);
+lean_inc(x_393);
+x_394 = lean_ctor_get(x_392, 1);
+lean_inc(x_394);
+lean_dec(x_392);
+x_423 = lean_st_ref_get(x_7, x_394);
+x_424 = lean_ctor_get(x_423, 0);
+lean_inc(x_424);
+x_425 = lean_ctor_get(x_424, 3);
+lean_inc(x_425);
+lean_dec(x_424);
+x_426 = lean_ctor_get_uint8(x_425, sizeof(void*)*1);
+lean_dec(x_425);
+if (x_426 == 0)
{
-lean_object* x_403; uint8_t x_404;
-x_403 = lean_ctor_get(x_399, 1);
-lean_inc(x_403);
-lean_dec(x_399);
-x_404 = 0;
-x_371 = x_404;
-x_372 = x_403;
-goto block_398;
+lean_object* x_427;
+x_427 = lean_ctor_get(x_423, 1);
+lean_inc(x_427);
+lean_dec(x_423);
+x_395 = x_339;
+x_396 = x_427;
+goto block_422;
}
else
{
-lean_object* x_405; lean_object* x_406; lean_object* x_407; lean_object* x_408; lean_object* x_409; uint8_t x_410;
-x_405 = lean_ctor_get(x_399, 1);
-lean_inc(x_405);
-lean_dec(x_399);
-x_406 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_407 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_406, x_4, x_5, x_6, x_7, x_405);
-x_408 = lean_ctor_get(x_407, 0);
-lean_inc(x_408);
-x_409 = lean_ctor_get(x_407, 1);
-lean_inc(x_409);
-lean_dec(x_407);
-x_410 = lean_unbox(x_408);
-lean_dec(x_408);
-x_371 = x_410;
-x_372 = x_409;
-goto block_398;
+lean_object* x_428; lean_object* x_429; lean_object* x_430; lean_object* x_431; lean_object* x_432; uint8_t x_433;
+x_428 = lean_ctor_get(x_423, 1);
+lean_inc(x_428);
+lean_dec(x_423);
+x_429 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_430 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_429, x_4, x_5, x_6, x_7, x_428);
+x_431 = lean_ctor_get(x_430, 0);
+lean_inc(x_431);
+x_432 = lean_ctor_get(x_430, 1);
+lean_inc(x_432);
+lean_dec(x_430);
+x_433 = lean_unbox(x_431);
+lean_dec(x_431);
+x_395 = x_433;
+x_396 = x_432;
+goto block_422;
}
-block_398:
+block_422:
{
-if (x_371 == 0)
+if (x_395 == 0)
{
-uint8_t x_373;
-lean_dec(x_2);
-lean_dec(x_1);
-x_373 = lean_unbox(x_369);
-lean_dec(x_369);
-x_357 = x_373;
-x_358 = x_372;
-goto block_367;
-}
-else
-{
-lean_object* x_374; lean_object* x_375; lean_object* x_376; lean_object* x_377; lean_object* x_378; lean_object* x_379; lean_object* x_380; lean_object* x_381; lean_object* x_382; uint8_t x_383;
-x_374 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_374, 0, x_1);
-x_375 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_376 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_376, 0, x_375);
-lean_ctor_set(x_376, 1, x_374);
-x_377 = l_Lean_Meta_isLevelDefEqAux___closed__6;
-x_378 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_378, 0, x_376);
-lean_ctor_set(x_378, 1, x_377);
-x_379 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_379, 0, x_2);
-x_380 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_380, 0, x_378);
-lean_ctor_set(x_380, 1, x_379);
-x_381 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
-x_382 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_382, 0, x_380);
-lean_ctor_set(x_382, 1, x_381);
-x_383 = lean_unbox(x_369);
-if (x_383 == 0)
-{
-lean_object* x_384; lean_object* x_385; lean_object* x_386; lean_object* x_387; lean_object* x_388; lean_object* x_389; uint8_t x_390;
-x_384 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
-x_385 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_385, 0, x_382);
-lean_ctor_set(x_385, 1, x_384);
-x_386 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_386, 0, x_385);
-lean_ctor_set(x_386, 1, x_375);
-x_387 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_388 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_387, x_386, x_4, x_5, x_6, x_7, x_372);
-x_389 = lean_ctor_get(x_388, 1);
-lean_inc(x_389);
-lean_dec(x_388);
-x_390 = lean_unbox(x_369);
-lean_dec(x_369);
-x_357 = x_390;
-x_358 = x_389;
-goto block_367;
-}
-else
-{
-lean_object* x_391; lean_object* x_392; lean_object* x_393; lean_object* x_394; lean_object* x_395; lean_object* x_396; uint8_t x_397;
-x_391 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
-x_392 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_392, 0, x_382);
-lean_ctor_set(x_392, 1, x_391);
-x_393 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_393, 0, x_392);
-lean_ctor_set(x_393, 1, x_375);
-x_394 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_395 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_394, x_393, x_4, x_5, x_6, x_7, x_372);
-x_396 = lean_ctor_get(x_395, 1);
-lean_inc(x_396);
-lean_dec(x_395);
-x_397 = lean_unbox(x_369);
-lean_dec(x_369);
-x_357 = x_397;
-x_358 = x_396;
-goto block_367;
-}
-}
-}
-}
-else
-{
-lean_object* x_411; lean_object* x_412; lean_object* x_413; lean_object* x_414; uint8_t x_415;
-lean_dec(x_2);
-lean_dec(x_1);
-x_411 = lean_ctor_get(x_368, 0);
-lean_inc(x_411);
-x_412 = lean_ctor_get(x_368, 1);
-lean_inc(x_412);
-lean_dec(x_368);
-x_413 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_414 = l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_isLevelDefEq___spec__4(x_355, x_413, x_353, x_4, x_5, x_6, x_7, x_412);
-lean_dec(x_7);
+uint8_t x_397;
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
-x_415 = !lean_is_exclusive(x_414);
-if (x_415 == 0)
-{
-lean_object* x_416;
-x_416 = lean_ctor_get(x_414, 0);
-lean_dec(x_416);
-lean_ctor_set_tag(x_414, 1);
-lean_ctor_set(x_414, 0, x_411);
-return x_414;
+lean_dec(x_2);
+lean_dec(x_1);
+x_397 = lean_unbox(x_393);
+lean_dec(x_393);
+x_344 = x_397;
+x_345 = x_396;
+goto block_370;
}
else
{
-lean_object* x_417; lean_object* x_418;
-x_417 = lean_ctor_get(x_414, 1);
-lean_inc(x_417);
-lean_dec(x_414);
-x_418 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_418, 0, x_411);
-lean_ctor_set(x_418, 1, x_417);
-return x_418;
-}
-}
-block_367:
+lean_object* x_398; lean_object* x_399; lean_object* x_400; lean_object* x_401; lean_object* x_402; lean_object* x_403; lean_object* x_404; lean_object* x_405; lean_object* x_406; uint8_t x_407;
+x_398 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_398, 0, x_1);
+x_399 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_400 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_400, 0, x_399);
+lean_ctor_set(x_400, 1, x_398);
+x_401 = l_Lean_Meta_isLevelDefEqAux___closed__6;
+x_402 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_402, 0, x_400);
+lean_ctor_set(x_402, 1, x_401);
+x_403 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_403, 0, x_2);
+x_404 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_404, 0, x_402);
+lean_ctor_set(x_404, 1, x_403);
+x_405 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__2;
+x_406 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_406, 0, x_404);
+lean_ctor_set(x_406, 1, x_405);
+x_407 = lean_unbox(x_393);
+if (x_407 == 0)
{
-lean_object* x_359; lean_object* x_360; uint8_t x_361;
-x_359 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
-x_360 = l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_isLevelDefEq___spec__4(x_355, x_359, x_353, x_4, x_5, x_6, x_7, x_358);
-lean_dec(x_7);
+lean_object* x_408; lean_object* x_409; lean_object* x_410; lean_object* x_411; lean_object* x_412; lean_object* x_413; uint8_t x_414;
+x_408 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__4;
+x_409 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_409, 0, x_406);
+lean_ctor_set(x_409, 1, x_408);
+x_410 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_410, 0, x_409);
+lean_ctor_set(x_410, 1, x_399);
+x_411 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_412 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_411, x_410, x_4, x_5, x_6, x_7, x_396);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
-x_361 = !lean_is_exclusive(x_360);
-if (x_361 == 0)
-{
-lean_object* x_362; lean_object* x_363;
-x_362 = lean_ctor_get(x_360, 0);
-lean_dec(x_362);
-x_363 = lean_box(x_357);
-lean_ctor_set(x_360, 0, x_363);
-return x_360;
+x_413 = lean_ctor_get(x_412, 1);
+lean_inc(x_413);
+lean_dec(x_412);
+x_414 = lean_unbox(x_393);
+lean_dec(x_393);
+x_344 = x_414;
+x_345 = x_413;
+goto block_370;
}
else
{
-lean_object* x_364; lean_object* x_365; lean_object* x_366;
-x_364 = lean_ctor_get(x_360, 1);
+lean_object* x_415; lean_object* x_416; lean_object* x_417; lean_object* x_418; lean_object* x_419; lean_object* x_420; uint8_t x_421;
+x_415 = l_Lean_Meta_isLevelDefEq___rarg___lambda__3___closed__6;
+x_416 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_416, 0, x_406);
+lean_ctor_set(x_416, 1, x_415);
+x_417 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_417, 0, x_416);
+lean_ctor_set(x_417, 1, x_399);
+x_418 = l_Lean_Meta_isExprDefEq___rarg___closed__2;
+x_419 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_418, x_417, x_4, x_5, x_6, x_7, x_396);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+x_420 = lean_ctor_get(x_419, 1);
+lean_inc(x_420);
+lean_dec(x_419);
+x_421 = lean_unbox(x_393);
+lean_dec(x_393);
+x_344 = x_421;
+x_345 = x_420;
+goto block_370;
+}
+}
+}
+}
+else
+{
+lean_object* x_434; lean_object* x_435;
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_2);
+lean_dec(x_1);
+x_434 = lean_ctor_get(x_392, 0);
+lean_inc(x_434);
+x_435 = lean_ctor_get(x_392, 1);
+lean_inc(x_435);
+lean_dec(x_392);
+x_371 = x_434;
+x_372 = x_435;
+goto block_391;
+}
+block_370:
+{
+lean_object* x_346; lean_object* x_347; lean_object* x_348; lean_object* x_349; uint8_t x_350; lean_object* x_351; lean_object* x_352; lean_object* x_353; lean_object* x_354; lean_object* x_355; lean_object* x_356; lean_object* x_357; lean_object* x_358; lean_object* x_359; lean_object* x_360; lean_object* x_361; lean_object* x_362; lean_object* x_363; lean_object* x_364; lean_object* x_365; lean_object* x_366; lean_object* x_367; lean_object* x_368; lean_object* x_369;
+x_346 = lean_st_ref_get(x_7, x_345);
+x_347 = lean_ctor_get(x_346, 0);
+lean_inc(x_347);
+x_348 = lean_ctor_get(x_346, 1);
+lean_inc(x_348);
+lean_dec(x_346);
+x_349 = lean_ctor_get(x_347, 3);
+lean_inc(x_349);
+lean_dec(x_347);
+x_350 = lean_ctor_get_uint8(x_349, sizeof(void*)*1);
+lean_dec(x_349);
+x_351 = lean_st_ref_take(x_7, x_348);
+x_352 = lean_ctor_get(x_351, 0);
+lean_inc(x_352);
+x_353 = lean_ctor_get(x_352, 3);
+lean_inc(x_353);
+x_354 = lean_ctor_get(x_351, 1);
+lean_inc(x_354);
+lean_dec(x_351);
+x_355 = lean_ctor_get(x_352, 0);
+lean_inc(x_355);
+x_356 = lean_ctor_get(x_352, 1);
+lean_inc(x_356);
+x_357 = lean_ctor_get(x_352, 2);
+lean_inc(x_357);
+if (lean_is_exclusive(x_352)) {
+ lean_ctor_release(x_352, 0);
+ lean_ctor_release(x_352, 1);
+ lean_ctor_release(x_352, 2);
+ lean_ctor_release(x_352, 3);
+ x_358 = x_352;
+} else {
+ lean_dec_ref(x_352);
+ x_358 = lean_box(0);
+}
+x_359 = lean_ctor_get(x_353, 0);
+lean_inc(x_359);
+if (lean_is_exclusive(x_353)) {
+ lean_ctor_release(x_353, 0);
+ x_360 = x_353;
+} else {
+ lean_dec_ref(x_353);
+ x_360 = lean_box(0);
+}
+if (lean_is_scalar(x_360)) {
+ x_361 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_361 = x_360;
+}
+lean_ctor_set(x_361, 0, x_359);
+lean_ctor_set_uint8(x_361, sizeof(void*)*1, x_99);
+if (lean_is_scalar(x_358)) {
+ x_362 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_362 = x_358;
+}
+lean_ctor_set(x_362, 0, x_355);
+lean_ctor_set(x_362, 1, x_356);
+lean_ctor_set(x_362, 2, x_357);
+lean_ctor_set(x_362, 3, x_361);
+x_363 = lean_st_ref_set(x_7, x_362, x_354);
+lean_dec(x_7);
+x_364 = lean_ctor_get(x_363, 1);
lean_inc(x_364);
-lean_dec(x_360);
-x_365 = lean_box(x_357);
-x_366 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_366, 0, x_365);
-lean_ctor_set(x_366, 1, x_364);
-return x_366;
+if (lean_is_exclusive(x_363)) {
+ lean_ctor_release(x_363, 0);
+ lean_ctor_release(x_363, 1);
+ x_365 = x_363;
+} else {
+ lean_dec_ref(x_363);
+ x_365 = lean_box(0);
+}
+x_366 = lean_box(x_344);
+x_367 = lean_box(x_350);
+x_368 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_368, 0, x_366);
+lean_ctor_set(x_368, 1, x_367);
+if (lean_is_scalar(x_365)) {
+ x_369 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_369 = x_365;
+}
+lean_ctor_set(x_369, 0, x_368);
+lean_ctor_set(x_369, 1, x_364);
+x_9 = x_369;
+goto block_21;
+}
+block_391:
+{
+lean_object* x_373; lean_object* x_374; lean_object* x_375; lean_object* x_376; lean_object* x_377; lean_object* x_378; lean_object* x_379; lean_object* x_380; lean_object* x_381; lean_object* x_382; lean_object* x_383; lean_object* x_384; lean_object* x_385; lean_object* x_386; lean_object* x_387; lean_object* x_388; lean_object* x_389; lean_object* x_390;
+x_373 = lean_st_ref_get(x_7, x_372);
+x_374 = lean_ctor_get(x_373, 1);
+lean_inc(x_374);
+lean_dec(x_373);
+x_375 = lean_st_ref_take(x_7, x_374);
+x_376 = lean_ctor_get(x_375, 0);
+lean_inc(x_376);
+x_377 = lean_ctor_get(x_376, 3);
+lean_inc(x_377);
+x_378 = lean_ctor_get(x_375, 1);
+lean_inc(x_378);
+lean_dec(x_375);
+x_379 = lean_ctor_get(x_376, 0);
+lean_inc(x_379);
+x_380 = lean_ctor_get(x_376, 1);
+lean_inc(x_380);
+x_381 = lean_ctor_get(x_376, 2);
+lean_inc(x_381);
+if (lean_is_exclusive(x_376)) {
+ lean_ctor_release(x_376, 0);
+ lean_ctor_release(x_376, 1);
+ lean_ctor_release(x_376, 2);
+ lean_ctor_release(x_376, 3);
+ x_382 = x_376;
+} else {
+ lean_dec_ref(x_376);
+ x_382 = lean_box(0);
+}
+x_383 = lean_ctor_get(x_377, 0);
+lean_inc(x_383);
+if (lean_is_exclusive(x_377)) {
+ lean_ctor_release(x_377, 0);
+ x_384 = x_377;
+} else {
+ lean_dec_ref(x_377);
+ x_384 = lean_box(0);
+}
+if (lean_is_scalar(x_384)) {
+ x_385 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_385 = x_384;
+}
+lean_ctor_set(x_385, 0, x_383);
+lean_ctor_set_uint8(x_385, sizeof(void*)*1, x_99);
+if (lean_is_scalar(x_382)) {
+ x_386 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_386 = x_382;
+}
+lean_ctor_set(x_386, 0, x_379);
+lean_ctor_set(x_386, 1, x_380);
+lean_ctor_set(x_386, 2, x_381);
+lean_ctor_set(x_386, 3, x_385);
+x_387 = lean_st_ref_set(x_7, x_386, x_378);
+lean_dec(x_7);
+x_388 = lean_ctor_get(x_387, 1);
+lean_inc(x_388);
+if (lean_is_exclusive(x_387)) {
+ lean_ctor_release(x_387, 0);
+ lean_ctor_release(x_387, 1);
+ x_389 = x_387;
+} else {
+ lean_dec_ref(x_387);
+ x_389 = lean_box(0);
+}
+if (lean_is_scalar(x_389)) {
+ x_390 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_390 = x_389;
+ lean_ctor_set_tag(x_390, 1);
+}
+lean_ctor_set(x_390, 0, x_371);
+lean_ctor_set(x_390, 1, x_388);
+x_9 = x_390;
+goto block_21;
+}
}
}
}
@@ -11070,7 +11135,7 @@ x_68 = lean_ctor_get(x_62, 1);
lean_inc(x_68);
lean_dec(x_62);
x_69 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
-x_70 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_SynthInstance_newSubgoal___spec__1(x_69, x_3, x_4, x_5, x_6, x_7, x_68);
+x_70 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_SynthInstance_newSubgoal___spec__1(x_69, x_3, x_4, x_5, x_6, x_7, x_68);
x_71 = lean_ctor_get(x_70, 0);
lean_inc(x_71);
x_72 = lean_ctor_get(x_70, 1);
@@ -11456,7 +11521,7 @@ lean_inc(x_13);
lean_dec(x_11);
x_14 = lean_alloc_ctor(2, 1, 0);
lean_ctor_set(x_14, 0, x_12);
-x_15 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_2, x_14, x_4, x_5, x_6, x_7, x_13);
+x_15 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_2, x_14, x_4, x_5, x_6, x_7, x_13);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
@@ -12849,7 +12914,7 @@ x_109 = lean_ctor_get(x_103, 1);
lean_inc(x_109);
lean_dec(x_103);
x_110 = l_Lean_Meta_SynthInstance_generate___closed__2;
-x_111 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_SynthInstance_newSubgoal___spec__1(x_110, x_1, x_2, x_3, x_4, x_5, x_109);
+x_111 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_SynthInstance_newSubgoal___spec__1(x_110, x_1, x_2, x_3, x_4, x_5, x_109);
x_112 = lean_ctor_get(x_111, 0);
lean_inc(x_112);
x_113 = lean_ctor_get(x_111, 1);
@@ -14501,459 +14566,399 @@ x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_nat_dec_eq(x_1, x_8);
if (x_9 == 0)
{
-lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_67; lean_object* x_68; lean_object* x_79; lean_object* x_80; lean_object* x_81; uint8_t x_82;
+lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_63; lean_object* x_64; lean_object* x_75; lean_object* x_76; lean_object* x_77; uint8_t x_78;
x_10 = lean_unsigned_to_nat(1u);
x_11 = lean_nat_sub(x_1, x_10);
lean_dec(x_1);
-x_79 = lean_st_ref_get(x_6, x_7);
-x_80 = lean_ctor_get(x_79, 0);
-lean_inc(x_80);
-x_81 = lean_ctor_get(x_80, 3);
-lean_inc(x_81);
-lean_dec(x_80);
-x_82 = lean_ctor_get_uint8(x_81, sizeof(void*)*1);
-lean_dec(x_81);
-if (x_82 == 0)
+x_75 = lean_st_ref_get(x_6, x_7);
+x_76 = lean_ctor_get(x_75, 0);
+lean_inc(x_76);
+x_77 = lean_ctor_get(x_76, 3);
+lean_inc(x_77);
+lean_dec(x_76);
+x_78 = lean_ctor_get_uint8(x_77, sizeof(void*)*1);
+lean_dec(x_77);
+if (x_78 == 0)
{
-lean_object* x_83; uint8_t x_84;
-x_83 = lean_ctor_get(x_79, 1);
-lean_inc(x_83);
-lean_dec(x_79);
-x_84 = 0;
-x_67 = x_84;
-x_68 = x_83;
-goto block_78;
+lean_object* x_79; uint8_t x_80;
+x_79 = lean_ctor_get(x_75, 1);
+lean_inc(x_79);
+lean_dec(x_75);
+x_80 = 0;
+x_63 = x_80;
+x_64 = x_79;
+goto block_74;
}
else
{
-lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; uint8_t x_90;
-x_85 = lean_ctor_get(x_79, 1);
+lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; uint8_t x_86;
+x_81 = lean_ctor_get(x_75, 1);
+lean_inc(x_81);
+lean_dec(x_75);
+x_82 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
+x_83 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_SynthInstance_newSubgoal___spec__1(x_82, x_2, x_3, x_4, x_5, x_6, x_81);
+x_84 = lean_ctor_get(x_83, 0);
+lean_inc(x_84);
+x_85 = lean_ctor_get(x_83, 1);
lean_inc(x_85);
-lean_dec(x_79);
-x_86 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
-x_87 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_SynthInstance_newSubgoal___spec__1(x_86, x_2, x_3, x_4, x_5, x_6, x_85);
-x_88 = lean_ctor_get(x_87, 0);
-lean_inc(x_88);
-x_89 = lean_ctor_get(x_87, 1);
-lean_inc(x_89);
-lean_dec(x_87);
-x_90 = lean_unbox(x_88);
-lean_dec(x_88);
-x_67 = x_90;
-x_68 = x_89;
-goto block_78;
+lean_dec(x_83);
+x_86 = lean_unbox(x_84);
+lean_dec(x_84);
+x_63 = x_86;
+x_64 = x_85;
+goto block_74;
}
-block_66:
+block_62:
{
-lean_object* x_13;
+uint8_t x_13; lean_object* x_14; lean_object* x_27;
lean_inc(x_6);
lean_inc(x_5);
lean_inc(x_4);
lean_inc(x_3);
lean_inc(x_2);
-x_13 = l_Lean_Meta_SynthInstance_step(x_2, x_3, x_4, x_5, x_6, x_12);
-if (lean_obj_tag(x_13) == 0)
+x_27 = l_Lean_Meta_SynthInstance_step(x_2, x_3, x_4, x_5, x_6, x_12);
+if (lean_obj_tag(x_27) == 0)
{
-lean_object* x_14; uint8_t x_15;
-x_14 = lean_ctor_get(x_13, 0);
-lean_inc(x_14);
-x_15 = lean_unbox(x_14);
-lean_dec(x_14);
-if (x_15 == 0)
+lean_object* x_28; uint8_t x_29;
+x_28 = lean_ctor_get(x_27, 0);
+lean_inc(x_28);
+x_29 = lean_unbox(x_28);
+lean_dec(x_28);
+if (x_29 == 0)
{
-lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20;
+lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; uint8_t x_34;
lean_dec(x_11);
-x_16 = lean_ctor_get(x_13, 1);
-lean_inc(x_16);
-lean_dec(x_13);
-x_17 = lean_st_ref_get(x_6, x_16);
-x_18 = lean_ctor_get(x_17, 0);
-lean_inc(x_18);
-x_19 = lean_ctor_get(x_18, 3);
-lean_inc(x_19);
-lean_dec(x_18);
-x_20 = lean_ctor_get_uint8(x_19, sizeof(void*)*1);
-lean_dec(x_19);
-if (x_20 == 0)
-{
-uint8_t x_21;
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-x_21 = !lean_is_exclusive(x_17);
-if (x_21 == 0)
-{
-lean_object* x_22; lean_object* x_23;
-x_22 = lean_ctor_get(x_17, 0);
-lean_dec(x_22);
-x_23 = lean_box(0);
-lean_ctor_set(x_17, 0, x_23);
-return x_17;
-}
-else
-{
-lean_object* x_24; lean_object* x_25; lean_object* x_26;
-x_24 = lean_ctor_get(x_17, 1);
-lean_inc(x_24);
-lean_dec(x_17);
-x_25 = lean_box(0);
-x_26 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_26, 0, x_25);
-lean_ctor_set(x_26, 1, x_24);
-return x_26;
-}
-}
-else
-{
-lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31;
-x_27 = lean_ctor_get(x_17, 1);
-lean_inc(x_27);
-lean_dec(x_17);
-x_28 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
-x_29 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_SynthInstance_newSubgoal___spec__1(x_28, x_2, x_3, x_4, x_5, x_6, x_27);
-x_30 = lean_ctor_get(x_29, 0);
+x_30 = lean_ctor_get(x_27, 1);
lean_inc(x_30);
-x_31 = lean_unbox(x_30);
-lean_dec(x_30);
-if (x_31 == 0)
-{
-uint8_t x_32;
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-x_32 = !lean_is_exclusive(x_29);
-if (x_32 == 0)
-{
-lean_object* x_33; lean_object* x_34;
-x_33 = lean_ctor_get(x_29, 0);
+lean_dec(x_27);
+x_31 = lean_st_ref_get(x_6, x_30);
+x_32 = lean_ctor_get(x_31, 0);
+lean_inc(x_32);
+x_33 = lean_ctor_get(x_32, 3);
+lean_inc(x_33);
+lean_dec(x_32);
+x_34 = lean_ctor_get_uint8(x_33, sizeof(void*)*1);
lean_dec(x_33);
-x_34 = lean_box(0);
-lean_ctor_set(x_29, 0, x_34);
-return x_29;
-}
-else
+if (x_34 == 0)
{
-lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_35 = lean_ctor_get(x_29, 1);
+lean_object* x_35; uint8_t x_36;
+x_35 = lean_ctor_get(x_31, 1);
lean_inc(x_35);
-lean_dec(x_29);
-x_36 = lean_box(0);
-x_37 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_37, 0, x_36);
-lean_ctor_set(x_37, 1, x_35);
-return x_37;
-}
+lean_dec(x_31);
+x_36 = 0;
+x_13 = x_36;
+x_14 = x_35;
+goto block_26;
}
else
{
-lean_object* x_38; lean_object* x_39; lean_object* x_40; uint8_t x_41;
-x_38 = lean_ctor_get(x_29, 1);
-lean_inc(x_38);
-lean_dec(x_29);
-x_39 = l_Lean_Meta_SynthInstance_synth___closed__2;
-x_40 = l_Lean_addTrace___at_Lean_Meta_SynthInstance_newSubgoal___spec__3(x_28, x_39, x_2, x_3, x_4, x_5, x_6, x_38);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-x_41 = !lean_is_exclusive(x_40);
-if (x_41 == 0)
-{
-lean_object* x_42; lean_object* x_43;
-x_42 = lean_ctor_get(x_40, 0);
-lean_dec(x_42);
-x_43 = lean_box(0);
-lean_ctor_set(x_40, 0, x_43);
-return x_40;
-}
-else
-{
-lean_object* x_44; lean_object* x_45; lean_object* x_46;
-x_44 = lean_ctor_get(x_40, 1);
-lean_inc(x_44);
+lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; uint8_t x_42;
+x_37 = lean_ctor_get(x_31, 1);
+lean_inc(x_37);
+lean_dec(x_31);
+x_38 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
+x_39 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_SynthInstance_newSubgoal___spec__1(x_38, x_2, x_3, x_4, x_5, x_6, x_37);
+x_40 = lean_ctor_get(x_39, 0);
+lean_inc(x_40);
+x_41 = lean_ctor_get(x_39, 1);
+lean_inc(x_41);
+lean_dec(x_39);
+x_42 = lean_unbox(x_40);
lean_dec(x_40);
-x_45 = lean_box(0);
-x_46 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_46, 0, x_45);
-lean_ctor_set(x_46, 1, x_44);
-return x_46;
-}
-}
+x_13 = x_42;
+x_14 = x_41;
+goto block_26;
}
}
else
{
-lean_object* x_47; lean_object* x_48; lean_object* x_49;
-x_47 = lean_ctor_get(x_13, 1);
-lean_inc(x_47);
-lean_dec(x_13);
-x_48 = l_Lean_Meta_SynthInstance_getResult(x_2, x_3, x_4, x_5, x_6, x_47);
-x_49 = lean_ctor_get(x_48, 0);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
+lean_object* x_43; lean_object* x_44; lean_object* x_45;
+x_43 = lean_ctor_get(x_27, 1);
+lean_inc(x_43);
+lean_dec(x_27);
+x_44 = l_Lean_Meta_SynthInstance_getResult(x_2, x_3, x_4, x_5, x_6, x_43);
+x_45 = lean_ctor_get(x_44, 0);
+lean_inc(x_45);
+if (lean_obj_tag(x_45) == 0)
{
-lean_object* x_50;
-x_50 = lean_ctor_get(x_48, 1);
-lean_inc(x_50);
-lean_dec(x_48);
+lean_object* x_46;
+x_46 = lean_ctor_get(x_44, 1);
+lean_inc(x_46);
+lean_dec(x_44);
x_1 = x_11;
-x_7 = x_50;
+x_7 = x_46;
goto _start;
}
else
{
-uint8_t x_52;
+uint8_t x_48;
lean_dec(x_11);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_52 = !lean_is_exclusive(x_48);
-if (x_52 == 0)
+x_48 = !lean_is_exclusive(x_44);
+if (x_48 == 0)
{
-lean_object* x_53; uint8_t x_54;
-x_53 = lean_ctor_get(x_48, 0);
-lean_dec(x_53);
-x_54 = !lean_is_exclusive(x_49);
-if (x_54 == 0)
-{
-return x_48;
-}
-else
-{
-lean_object* x_55; lean_object* x_56;
-x_55 = lean_ctor_get(x_49, 0);
-lean_inc(x_55);
+lean_object* x_49; uint8_t x_50;
+x_49 = lean_ctor_get(x_44, 0);
lean_dec(x_49);
-x_56 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_56, 0, x_55);
-lean_ctor_set(x_48, 0, x_56);
-return x_48;
+x_50 = !lean_is_exclusive(x_45);
+if (x_50 == 0)
+{
+return x_44;
+}
+else
+{
+lean_object* x_51; lean_object* x_52;
+x_51 = lean_ctor_get(x_45, 0);
+lean_inc(x_51);
+lean_dec(x_45);
+x_52 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_52, 0, x_51);
+lean_ctor_set(x_44, 0, x_52);
+return x_44;
}
}
else
{
-lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61;
-x_57 = lean_ctor_get(x_48, 1);
-lean_inc(x_57);
-lean_dec(x_48);
-x_58 = lean_ctor_get(x_49, 0);
-lean_inc(x_58);
-if (lean_is_exclusive(x_49)) {
- lean_ctor_release(x_49, 0);
- x_59 = x_49;
+lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57;
+x_53 = lean_ctor_get(x_44, 1);
+lean_inc(x_53);
+lean_dec(x_44);
+x_54 = lean_ctor_get(x_45, 0);
+lean_inc(x_54);
+if (lean_is_exclusive(x_45)) {
+ lean_ctor_release(x_45, 0);
+ x_55 = x_45;
} else {
- lean_dec_ref(x_49);
- x_59 = lean_box(0);
+ lean_dec_ref(x_45);
+ x_55 = lean_box(0);
}
-if (lean_is_scalar(x_59)) {
- x_60 = lean_alloc_ctor(1, 1, 0);
+if (lean_is_scalar(x_55)) {
+ x_56 = lean_alloc_ctor(1, 1, 0);
} else {
- x_60 = x_59;
+ x_56 = x_55;
}
-lean_ctor_set(x_60, 0, x_58);
-x_61 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_61, 0, x_60);
-lean_ctor_set(x_61, 1, x_57);
+lean_ctor_set(x_56, 0, x_54);
+x_57 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_57, 0, x_56);
+lean_ctor_set(x_57, 1, x_53);
+return x_57;
+}
+}
+}
+}
+else
+{
+uint8_t x_58;
+lean_dec(x_11);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+x_58 = !lean_is_exclusive(x_27);
+if (x_58 == 0)
+{
+return x_27;
+}
+else
+{
+lean_object* x_59; lean_object* x_60; lean_object* x_61;
+x_59 = lean_ctor_get(x_27, 0);
+x_60 = lean_ctor_get(x_27, 1);
+lean_inc(x_60);
+lean_inc(x_59);
+lean_dec(x_27);
+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;
}
}
-}
-}
-else
+block_26:
{
-uint8_t x_62;
-lean_dec(x_11);
+if (x_13 == 0)
+{
+lean_object* x_15; lean_object* x_16;
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_62 = !lean_is_exclusive(x_13);
-if (x_62 == 0)
-{
-return x_13;
+x_15 = lean_box(0);
+x_16 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_16, 0, x_15);
+lean_ctor_set(x_16, 1, x_14);
+return x_16;
}
else
{
-lean_object* x_63; lean_object* x_64; lean_object* x_65;
-x_63 = lean_ctor_get(x_13, 0);
-x_64 = lean_ctor_get(x_13, 1);
-lean_inc(x_64);
-lean_inc(x_63);
-lean_dec(x_13);
-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;
-}
-}
-}
-block_78:
+lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20;
+x_17 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
+x_18 = l_Lean_Meta_SynthInstance_synth___closed__2;
+x_19 = l_Lean_addTrace___at_Lean_Meta_SynthInstance_newSubgoal___spec__3(x_17, x_18, x_2, x_3, x_4, x_5, x_6, x_14);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+x_20 = !lean_is_exclusive(x_19);
+if (x_20 == 0)
{
-if (x_67 == 0)
-{
-x_12 = x_68;
-goto block_66;
+lean_object* x_21; lean_object* x_22;
+x_21 = lean_ctor_get(x_19, 0);
+lean_dec(x_21);
+x_22 = lean_box(0);
+lean_ctor_set(x_19, 0, x_22);
+return x_19;
}
else
{
-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;
+lean_object* x_23; lean_object* x_24; lean_object* x_25;
+x_23 = lean_ctor_get(x_19, 1);
+lean_inc(x_23);
+lean_dec(x_19);
+x_24 = lean_box(0);
+x_25 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_25, 0, x_24);
+lean_ctor_set(x_25, 1, x_23);
+return x_25;
+}
+}
+}
+}
+block_74:
+{
+if (x_63 == 0)
+{
+x_12 = x_64;
+goto block_62;
+}
+else
+{
+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_inc(x_11);
-x_69 = l_Lean_fmt___at_Lean_Position_Lean_Data_Position___instance__2___spec__1(x_11);
-x_70 = lean_alloc_ctor(0, 1, 0);
-lean_ctor_set(x_70, 0, x_69);
-x_71 = l_Lean_Meta_SynthInstance_synth___closed__4;
-x_72 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_72, 0, x_71);
-lean_ctor_set(x_72, 1, x_70);
-x_73 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_74 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_74, 0, x_72);
-lean_ctor_set(x_74, 1, x_73);
-x_75 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
-x_76 = l_Lean_addTrace___at_Lean_Meta_SynthInstance_newSubgoal___spec__3(x_75, x_74, x_2, x_3, x_4, x_5, x_6, x_68);
-x_77 = lean_ctor_get(x_76, 1);
-lean_inc(x_77);
-lean_dec(x_76);
-x_12 = x_77;
-goto block_66;
+x_65 = l_Lean_fmt___at_Lean_Position_Lean_Data_Position___instance__2___spec__1(x_11);
+x_66 = lean_alloc_ctor(0, 1, 0);
+lean_ctor_set(x_66, 0, x_65);
+x_67 = l_Lean_Meta_SynthInstance_synth___closed__4;
+x_68 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_68, 0, x_67);
+lean_ctor_set(x_68, 1, x_66);
+x_69 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_70 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_70, 0, x_68);
+lean_ctor_set(x_70, 1, x_69);
+x_71 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
+x_72 = l_Lean_addTrace___at_Lean_Meta_SynthInstance_newSubgoal___spec__3(x_71, x_70, x_2, x_3, x_4, x_5, x_6, x_64);
+x_73 = lean_ctor_get(x_72, 1);
+lean_inc(x_73);
+lean_dec(x_72);
+x_12 = x_73;
+goto block_62;
}
}
}
else
{
+uint8_t x_87; lean_object* x_88; lean_object* x_101; lean_object* x_102; lean_object* x_103; uint8_t x_104;
+lean_dec(x_1);
+x_101 = lean_st_ref_get(x_6, x_7);
+x_102 = lean_ctor_get(x_101, 0);
+lean_inc(x_102);
+x_103 = lean_ctor_get(x_102, 3);
+lean_inc(x_103);
+lean_dec(x_102);
+x_104 = lean_ctor_get_uint8(x_103, sizeof(void*)*1);
+lean_dec(x_103);
+if (x_104 == 0)
+{
+lean_object* x_105; uint8_t x_106;
+x_105 = lean_ctor_get(x_101, 1);
+lean_inc(x_105);
+lean_dec(x_101);
+x_106 = 0;
+x_87 = x_106;
+x_88 = x_105;
+goto block_100;
+}
+else
+{
+lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; uint8_t x_112;
+x_107 = lean_ctor_get(x_101, 1);
+lean_inc(x_107);
+lean_dec(x_101);
+x_108 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
+x_109 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_SynthInstance_newSubgoal___spec__1(x_108, x_2, x_3, x_4, x_5, x_6, x_107);
+x_110 = lean_ctor_get(x_109, 0);
+lean_inc(x_110);
+x_111 = lean_ctor_get(x_109, 1);
+lean_inc(x_111);
+lean_dec(x_109);
+x_112 = lean_unbox(x_110);
+lean_dec(x_110);
+x_87 = x_112;
+x_88 = x_111;
+goto block_100;
+}
+block_100:
+{
+if (x_87 == 0)
+{
+lean_object* x_89; lean_object* x_90;
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+x_89 = lean_box(0);
+x_90 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_90, 0, x_89);
+lean_ctor_set(x_90, 1, x_88);
+return x_90;
+}
+else
+{
lean_object* x_91; lean_object* x_92; lean_object* x_93; uint8_t x_94;
-lean_dec(x_1);
-x_91 = lean_st_ref_get(x_6, x_7);
-x_92 = lean_ctor_get(x_91, 0);
-lean_inc(x_92);
-x_93 = lean_ctor_get(x_92, 3);
-lean_inc(x_93);
-lean_dec(x_92);
-x_94 = lean_ctor_get_uint8(x_93, sizeof(void*)*1);
-lean_dec(x_93);
+x_91 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
+x_92 = l_Lean_Meta_SynthInstance_synth___closed__6;
+x_93 = l_Lean_addTrace___at_Lean_Meta_SynthInstance_newSubgoal___spec__3(x_91, x_92, x_2, x_3, x_4, x_5, x_6, x_88);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+x_94 = !lean_is_exclusive(x_93);
if (x_94 == 0)
{
-uint8_t x_95;
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-x_95 = !lean_is_exclusive(x_91);
-if (x_95 == 0)
-{
-lean_object* x_96; lean_object* x_97;
-x_96 = lean_ctor_get(x_91, 0);
-lean_dec(x_96);
-x_97 = lean_box(0);
-lean_ctor_set(x_91, 0, x_97);
-return x_91;
+lean_object* x_95; lean_object* x_96;
+x_95 = lean_ctor_get(x_93, 0);
+lean_dec(x_95);
+x_96 = lean_box(0);
+lean_ctor_set(x_93, 0, x_96);
+return x_93;
}
else
{
-lean_object* x_98; lean_object* x_99; lean_object* x_100;
-x_98 = lean_ctor_get(x_91, 1);
-lean_inc(x_98);
-lean_dec(x_91);
-x_99 = lean_box(0);
-x_100 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_100, 0, x_99);
-lean_ctor_set(x_100, 1, x_98);
-return x_100;
-}
-}
-else
-{
-lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; uint8_t x_105;
-x_101 = lean_ctor_get(x_91, 1);
-lean_inc(x_101);
-lean_dec(x_91);
-x_102 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
-x_103 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_SynthInstance_newSubgoal___spec__1(x_102, x_2, x_3, x_4, x_5, x_6, x_101);
-x_104 = lean_ctor_get(x_103, 0);
-lean_inc(x_104);
-x_105 = lean_unbox(x_104);
-lean_dec(x_104);
-if (x_105 == 0)
-{
-uint8_t x_106;
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-x_106 = !lean_is_exclusive(x_103);
-if (x_106 == 0)
-{
-lean_object* x_107; lean_object* x_108;
-x_107 = lean_ctor_get(x_103, 0);
-lean_dec(x_107);
-x_108 = lean_box(0);
-lean_ctor_set(x_103, 0, x_108);
-return x_103;
-}
-else
-{
-lean_object* x_109; lean_object* x_110; lean_object* x_111;
-x_109 = lean_ctor_get(x_103, 1);
-lean_inc(x_109);
-lean_dec(x_103);
-x_110 = lean_box(0);
-x_111 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_111, 0, x_110);
-lean_ctor_set(x_111, 1, x_109);
-return x_111;
-}
-}
-else
-{
-lean_object* x_112; lean_object* x_113; lean_object* x_114; uint8_t x_115;
-x_112 = lean_ctor_get(x_103, 1);
-lean_inc(x_112);
-lean_dec(x_103);
-x_113 = l_Lean_Meta_SynthInstance_synth___closed__6;
-x_114 = l_Lean_addTrace___at_Lean_Meta_SynthInstance_newSubgoal___spec__3(x_102, x_113, x_2, x_3, x_4, x_5, x_6, x_112);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-x_115 = !lean_is_exclusive(x_114);
-if (x_115 == 0)
-{
-lean_object* x_116; lean_object* x_117;
-x_116 = lean_ctor_get(x_114, 0);
-lean_dec(x_116);
-x_117 = lean_box(0);
-lean_ctor_set(x_114, 0, x_117);
-return x_114;
-}
-else
-{
-lean_object* x_118; lean_object* x_119; lean_object* x_120;
-x_118 = lean_ctor_get(x_114, 1);
-lean_inc(x_118);
-lean_dec(x_114);
-x_119 = lean_box(0);
-x_120 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_120, 0, x_119);
-lean_ctor_set(x_120, 1, x_118);
-return x_120;
+lean_object* x_97; lean_object* x_98; lean_object* x_99;
+x_97 = lean_ctor_get(x_93, 1);
+lean_inc(x_97);
+lean_dec(x_93);
+x_98 = lean_box(0);
+x_99 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_99, 0, x_98);
+lean_ctor_set(x_99, 1, x_97);
+return x_99;
}
}
}
}
}
}
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_SynthInstance_main___spec__1___rarg(lean_object* x_1, lean_object* x_2) {
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_SynthInstance_main___spec__1___rarg(lean_object* x_1, lean_object* x_2) {
_start:
{
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; uint8_t x_12;
@@ -15097,15 +15102,15 @@ return x_40;
}
}
}
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_SynthInstance_main___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_SynthInstance_main___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
-x_4 = lean_alloc_closure((void*)(l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_SynthInstance_main___spec__1___rarg___boxed), 2, 0);
+x_4 = lean_alloc_closure((void*)(l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_SynthInstance_main___spec__1___rarg___boxed), 2, 0);
return x_4;
}
}
-lean_object* l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_SynthInstance_main___spec__2(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* l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_SynthInstance_main___spec__2(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:
{
lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13;
@@ -15136,7 +15141,7 @@ x_18 = l_Std_PersistentArray_toArray___rarg(x_16);
lean_dec(x_16);
x_19 = x_18;
x_20 = lean_unsigned_to_nat(0u);
-x_21 = l_Array_umapMAux___main___at___private_Lean_Util_Trace_4__addNode___spec__1(x_20, x_19);
+x_21 = l_Array_umapMAux___main___at___private_Lean_Util_Trace_0__Lean_addNode___spec__1(x_20, x_19);
x_22 = x_21;
x_23 = lean_alloc_ctor(12, 1, 0);
lean_ctor_set(x_23, 0, x_22);
@@ -15219,7 +15224,7 @@ x_44 = l_Std_PersistentArray_toArray___rarg(x_42);
lean_dec(x_42);
x_45 = x_44;
x_46 = lean_unsigned_to_nat(0u);
-x_47 = l_Array_umapMAux___main___at___private_Lean_Util_Trace_4__addNode___spec__1(x_46, x_45);
+x_47 = l_Array_umapMAux___main___at___private_Lean_Util_Trace_0__Lean_addNode___spec__1(x_46, x_45);
x_48 = x_47;
x_49 = lean_alloc_ctor(12, 1, 0);
lean_ctor_set(x_49, 0, x_48);
@@ -15316,7 +15321,7 @@ x_72 = l_Std_PersistentArray_toArray___rarg(x_69);
lean_dec(x_69);
x_73 = x_72;
x_74 = lean_unsigned_to_nat(0u);
-x_75 = l_Array_umapMAux___main___at___private_Lean_Util_Trace_4__addNode___spec__1(x_74, x_73);
+x_75 = l_Array_umapMAux___main___at___private_Lean_Util_Trace_0__Lean_addNode___spec__1(x_74, x_73);
x_76 = x_75;
x_77 = lean_alloc_ctor(12, 1, 0);
lean_ctor_set(x_77, 0, x_76);
@@ -15402,7 +15407,7 @@ return x_94;
}
}
}
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_SynthInstance_main___spec__3(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* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_SynthInstance_main___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
lean_object* x_7; uint8_t x_8; lean_object* x_9; lean_object* x_10;
@@ -15450,44 +15455,44 @@ return x_2;
lean_object* l_Lean_Meta_SynthInstance_main(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) {
_start:
{
-lean_object* x_8; uint8_t x_21; lean_object* x_22; lean_object* x_442; lean_object* x_443; lean_object* x_444; uint8_t x_445;
-x_442 = lean_st_ref_get(x_6, x_7);
-x_443 = lean_ctor_get(x_442, 0);
-lean_inc(x_443);
-x_444 = lean_ctor_get(x_443, 3);
-lean_inc(x_444);
-lean_dec(x_443);
-x_445 = lean_ctor_get_uint8(x_444, sizeof(void*)*1);
-lean_dec(x_444);
-if (x_445 == 0)
+lean_object* x_8; uint8_t x_21; lean_object* x_22; lean_object* x_446; lean_object* x_447; lean_object* x_448; uint8_t x_449;
+x_446 = lean_st_ref_get(x_6, x_7);
+x_447 = lean_ctor_get(x_446, 0);
+lean_inc(x_447);
+x_448 = lean_ctor_get(x_447, 3);
+lean_inc(x_448);
+lean_dec(x_447);
+x_449 = lean_ctor_get_uint8(x_448, sizeof(void*)*1);
+lean_dec(x_448);
+if (x_449 == 0)
{
-lean_object* x_446; uint8_t x_447;
-x_446 = lean_ctor_get(x_442, 1);
-lean_inc(x_446);
-lean_dec(x_442);
-x_447 = 0;
-x_21 = x_447;
-x_22 = x_446;
-goto block_441;
+lean_object* x_450; uint8_t x_451;
+x_450 = lean_ctor_get(x_446, 1);
+lean_inc(x_450);
+lean_dec(x_446);
+x_451 = 0;
+x_21 = x_451;
+x_22 = x_450;
+goto block_445;
}
else
{
-lean_object* x_448; lean_object* x_449; lean_object* x_450; lean_object* x_451; lean_object* x_452; uint8_t x_453;
-x_448 = lean_ctor_get(x_442, 1);
-lean_inc(x_448);
-lean_dec(x_442);
-x_449 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
-x_450 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_SynthInstance_main___spec__3(x_449, x_3, x_4, x_5, x_6, x_448);
-x_451 = lean_ctor_get(x_450, 0);
-lean_inc(x_451);
-x_452 = lean_ctor_get(x_450, 1);
+lean_object* x_452; lean_object* x_453; lean_object* x_454; lean_object* x_455; lean_object* x_456; uint8_t x_457;
+x_452 = lean_ctor_get(x_446, 1);
lean_inc(x_452);
-lean_dec(x_450);
-x_453 = lean_unbox(x_451);
-lean_dec(x_451);
-x_21 = x_453;
-x_22 = x_452;
-goto block_441;
+lean_dec(x_446);
+x_453 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
+x_454 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_SynthInstance_main___spec__3(x_453, x_3, x_4, x_5, x_6, x_452);
+x_455 = lean_ctor_get(x_454, 0);
+lean_inc(x_455);
+x_456 = lean_ctor_get(x_454, 1);
+lean_inc(x_456);
+lean_dec(x_454);
+x_457 = lean_unbox(x_455);
+lean_dec(x_455);
+x_21 = x_457;
+x_22 = x_456;
+goto block_445;
}
block_20:
{
@@ -15545,1474 +15550,1492 @@ return x_19;
}
}
}
-block_441:
+block_445:
{
+uint8_t x_23;
if (x_21 == 0)
{
-lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; uint8_t x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; uint8_t x_32;
-x_23 = lean_st_ref_get(x_6, x_22);
-x_24 = lean_ctor_get(x_23, 0);
+uint8_t x_443;
+x_443 = 1;
+x_23 = x_443;
+goto block_442;
+}
+else
+{
+uint8_t x_444;
+x_444 = 0;
+x_23 = x_444;
+goto block_442;
+}
+block_442:
+{
+if (x_23 == 0)
+{
+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_37; uint8_t x_72; lean_object* x_73; lean_object* x_83; lean_object* x_84; lean_object* x_85; uint8_t x_86;
+x_24 = lean_ctor_get(x_5, 3);
lean_inc(x_24);
-x_25 = lean_ctor_get(x_24, 3);
-lean_inc(x_25);
-lean_dec(x_24);
-x_26 = lean_ctor_get(x_23, 1);
+x_25 = l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_SynthInstance_main___spec__1___rarg(x_6, x_22);
+x_26 = lean_ctor_get(x_25, 0);
lean_inc(x_26);
-lean_dec(x_23);
-x_27 = lean_ctor_get_uint8(x_25, sizeof(void*)*1);
+x_27 = lean_ctor_get(x_25, 1);
+lean_inc(x_27);
lean_dec(x_25);
-x_28 = lean_st_ref_take(x_6, x_26);
-x_29 = lean_ctor_get(x_28, 0);
-lean_inc(x_29);
-x_30 = lean_ctor_get(x_29, 3);
-lean_inc(x_30);
-x_31 = lean_ctor_get(x_28, 1);
-lean_inc(x_31);
-lean_dec(x_28);
-x_32 = !lean_is_exclusive(x_29);
-if (x_32 == 0)
-{
-lean_object* x_33; uint8_t x_34;
-x_33 = lean_ctor_get(x_29, 3);
-lean_dec(x_33);
-x_34 = !lean_is_exclusive(x_30);
-if (x_34 == 0)
-{
-uint8_t x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_72; uint8_t x_143; lean_object* x_144; lean_object* x_154; lean_object* x_155; lean_object* x_156; uint8_t x_157;
-x_35 = 0;
-lean_ctor_set_uint8(x_30, sizeof(void*)*1, x_35);
-x_36 = lean_st_ref_set(x_6, x_29, x_31);
-x_37 = lean_ctor_get(x_36, 1);
-lean_inc(x_37);
-lean_dec(x_36);
-x_154 = lean_st_ref_get(x_6, x_37);
-x_155 = lean_ctor_get(x_154, 0);
-lean_inc(x_155);
-x_156 = lean_ctor_get(x_155, 3);
-lean_inc(x_156);
-lean_dec(x_155);
-x_157 = lean_ctor_get_uint8(x_156, sizeof(void*)*1);
-lean_dec(x_156);
-if (x_157 == 0)
-{
-lean_object* x_158;
-x_158 = lean_ctor_get(x_154, 1);
-lean_inc(x_158);
-lean_dec(x_154);
-x_143 = x_35;
-x_144 = x_158;
-goto block_153;
-}
-else
-{
-lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; uint8_t x_164;
-x_159 = lean_ctor_get(x_154, 1);
-lean_inc(x_159);
-lean_dec(x_154);
-x_160 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
-x_161 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_160, x_3, x_4, x_5, x_6, x_159);
-x_162 = lean_ctor_get(x_161, 0);
-lean_inc(x_162);
-x_163 = lean_ctor_get(x_161, 1);
-lean_inc(x_163);
-lean_dec(x_161);
-x_164 = lean_unbox(x_162);
-lean_dec(x_162);
-x_143 = x_164;
-x_144 = x_163;
-goto block_153;
-}
-block_71:
-{
-lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; uint8_t x_46;
-x_40 = lean_st_ref_get(x_6, x_39);
-x_41 = lean_ctor_get(x_40, 1);
-lean_inc(x_41);
-lean_dec(x_40);
-x_42 = lean_st_ref_take(x_6, x_41);
-x_43 = lean_ctor_get(x_42, 0);
-lean_inc(x_43);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-x_45 = lean_ctor_get(x_42, 1);
-lean_inc(x_45);
-lean_dec(x_42);
-x_46 = !lean_is_exclusive(x_43);
-if (x_46 == 0)
-{
-lean_object* x_47; uint8_t x_48;
-x_47 = lean_ctor_get(x_43, 3);
-lean_dec(x_47);
-x_48 = !lean_is_exclusive(x_44);
-if (x_48 == 0)
-{
-lean_object* x_49; uint8_t x_50;
-lean_ctor_set_uint8(x_44, sizeof(void*)*1, x_27);
-x_49 = lean_st_ref_set(x_6, x_43, x_45);
-lean_dec(x_6);
-x_50 = !lean_is_exclusive(x_49);
-if (x_50 == 0)
-{
-lean_object* x_51;
-x_51 = lean_ctor_get(x_49, 0);
-lean_dec(x_51);
-lean_ctor_set_tag(x_49, 1);
-lean_ctor_set(x_49, 0, x_38);
-x_8 = x_49;
-goto block_20;
-}
-else
-{
-lean_object* x_52; lean_object* x_53;
-x_52 = lean_ctor_get(x_49, 1);
-lean_inc(x_52);
-lean_dec(x_49);
-x_53 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_53, 0, x_38);
-lean_ctor_set(x_53, 1, x_52);
-x_8 = x_53;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59;
-x_54 = lean_ctor_get(x_44, 0);
-lean_inc(x_54);
-lean_dec(x_44);
-x_55 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_55, 0, x_54);
-lean_ctor_set_uint8(x_55, sizeof(void*)*1, x_27);
-lean_ctor_set(x_43, 3, x_55);
-x_56 = lean_st_ref_set(x_6, x_43, x_45);
-lean_dec(x_6);
-x_57 = lean_ctor_get(x_56, 1);
-lean_inc(x_57);
-if (lean_is_exclusive(x_56)) {
- lean_ctor_release(x_56, 0);
- lean_ctor_release(x_56, 1);
- x_58 = x_56;
-} else {
- lean_dec_ref(x_56);
- x_58 = lean_box(0);
-}
-if (lean_is_scalar(x_58)) {
- x_59 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_59 = x_58;
- lean_ctor_set_tag(x_59, 1);
-}
-lean_ctor_set(x_59, 0, x_38);
-lean_ctor_set(x_59, 1, x_57);
-x_8 = x_59;
-goto block_20;
-}
-}
-else
-{
-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;
-x_60 = lean_ctor_get(x_43, 0);
-x_61 = lean_ctor_get(x_43, 1);
-x_62 = lean_ctor_get(x_43, 2);
-lean_inc(x_62);
-lean_inc(x_61);
-lean_inc(x_60);
-lean_dec(x_43);
-x_63 = lean_ctor_get(x_44, 0);
-lean_inc(x_63);
-if (lean_is_exclusive(x_44)) {
- lean_ctor_release(x_44, 0);
- x_64 = x_44;
-} else {
- lean_dec_ref(x_44);
- x_64 = lean_box(0);
-}
-if (lean_is_scalar(x_64)) {
- x_65 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_65 = x_64;
-}
-lean_ctor_set(x_65, 0, x_63);
-lean_ctor_set_uint8(x_65, sizeof(void*)*1, x_27);
-x_66 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_66, 0, x_60);
-lean_ctor_set(x_66, 1, x_61);
-lean_ctor_set(x_66, 2, x_62);
-lean_ctor_set(x_66, 3, x_65);
-x_67 = lean_st_ref_set(x_6, x_66, x_45);
-lean_dec(x_6);
-x_68 = lean_ctor_get(x_67, 1);
-lean_inc(x_68);
-if (lean_is_exclusive(x_67)) {
- lean_ctor_release(x_67, 0);
- lean_ctor_release(x_67, 1);
- x_69 = x_67;
-} else {
- lean_dec_ref(x_67);
- x_69 = lean_box(0);
-}
-if (lean_is_scalar(x_69)) {
- x_70 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_70 = x_69;
- lean_ctor_set_tag(x_70, 1);
-}
-lean_ctor_set(x_70, 0, x_38);
-lean_ctor_set(x_70, 1, x_68);
-x_8 = x_70;
-goto block_20;
-}
-}
-block_142:
-{
-lean_object* x_73; uint8_t x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; 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_inc(x_1);
-x_73 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_73, 0, x_1);
-x_74 = 0;
-x_75 = lean_box(0);
-lean_inc(x_3);
-x_76 = l___private_Lean_Meta_Basic_0__Lean_Meta_mkFreshExprMVarImpl(x_73, x_74, x_75, x_3, x_4, x_5, x_6, x_72);
-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 = lean_st_ref_get(x_4, x_78);
-x_80 = lean_ctor_get(x_79, 0);
-lean_inc(x_80);
-x_81 = lean_ctor_get(x_79, 1);
-lean_inc(x_81);
-lean_dec(x_79);
-x_82 = lean_ctor_get(x_80, 0);
-lean_inc(x_82);
-lean_dec(x_80);
-lean_inc(x_82);
-x_83 = l_Lean_Meta_SynthInstance_mkTableKey(x_82, x_1);
-x_84 = l_Lean_Meta_SynthInstance_main___closed__1;
-x_85 = lean_st_mk_ref(x_84, x_81);
-x_86 = lean_ctor_get(x_85, 0);
-lean_inc(x_86);
-x_87 = lean_ctor_get(x_85, 1);
-lean_inc(x_87);
+x_83 = lean_st_ref_get(x_6, x_27);
+x_84 = lean_ctor_get(x_83, 0);
+lean_inc(x_84);
+x_85 = lean_ctor_get(x_84, 3);
+lean_inc(x_85);
+lean_dec(x_84);
+x_86 = lean_ctor_get_uint8(x_85, sizeof(void*)*1);
lean_dec(x_85);
-x_88 = lean_box(1);
-lean_inc(x_6);
-lean_inc(x_5);
-lean_inc(x_4);
-lean_inc(x_3);
-lean_inc(x_86);
-x_89 = l_Lean_Meta_SynthInstance_newSubgoal(x_82, x_83, x_77, x_88, x_86, x_3, x_4, x_5, x_6, x_87);
-if (lean_obj_tag(x_89) == 0)
+if (x_86 == 0)
{
-lean_object* x_90; lean_object* x_91;
-x_90 = lean_ctor_get(x_89, 1);
-lean_inc(x_90);
-lean_dec(x_89);
-lean_inc(x_6);
-lean_inc(x_86);
-x_91 = l_Lean_Meta_SynthInstance_synth(x_2, x_86, x_3, x_4, x_5, x_6, x_90);
-if (lean_obj_tag(x_91) == 0)
+lean_object* x_87; uint8_t x_88;
+x_87 = lean_ctor_get(x_83, 1);
+lean_inc(x_87);
+lean_dec(x_83);
+x_88 = 0;
+x_72 = x_88;
+x_73 = x_87;
+goto block_82;
+}
+else
{
-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; uint8_t x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; uint8_t x_105;
+lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; uint8_t x_94;
+x_89 = lean_ctor_get(x_83, 1);
+lean_inc(x_89);
+lean_dec(x_83);
+x_90 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
+x_91 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_90, x_3, x_4, x_5, x_6, x_89);
x_92 = lean_ctor_get(x_91, 0);
lean_inc(x_92);
x_93 = lean_ctor_get(x_91, 1);
lean_inc(x_93);
lean_dec(x_91);
-x_94 = lean_st_ref_get(x_86, x_93);
-lean_dec(x_86);
-x_95 = lean_ctor_get(x_94, 1);
-lean_inc(x_95);
-lean_dec(x_94);
-x_96 = lean_st_ref_get(x_6, x_95);
-x_97 = lean_ctor_get(x_96, 0);
-lean_inc(x_97);
-x_98 = lean_ctor_get(x_96, 1);
-lean_inc(x_98);
-lean_dec(x_96);
-x_99 = lean_ctor_get(x_97, 3);
-lean_inc(x_99);
-lean_dec(x_97);
-x_100 = lean_ctor_get_uint8(x_99, sizeof(void*)*1);
-lean_dec(x_99);
-x_101 = lean_st_ref_take(x_6, x_98);
-x_102 = lean_ctor_get(x_101, 0);
-lean_inc(x_102);
-x_103 = lean_ctor_get(x_102, 3);
-lean_inc(x_103);
-x_104 = lean_ctor_get(x_101, 1);
-lean_inc(x_104);
-lean_dec(x_101);
-x_105 = !lean_is_exclusive(x_102);
-if (x_105 == 0)
+x_94 = lean_unbox(x_92);
+lean_dec(x_92);
+x_72 = x_94;
+x_73 = x_93;
+goto block_82;
+}
+block_36:
{
-lean_object* x_106; uint8_t x_107;
-x_106 = lean_ctor_get(x_102, 3);
-lean_dec(x_106);
-x_107 = !lean_is_exclusive(x_103);
-if (x_107 == 0)
-{
-lean_object* x_108; uint8_t x_109;
-lean_ctor_set_uint8(x_103, sizeof(void*)*1, x_27);
-x_108 = lean_st_ref_set(x_6, x_102, x_104);
+lean_object* x_30; lean_object* x_31; uint8_t x_32;
+x_30 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
+x_31 = l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_SynthInstance_main___spec__2(x_26, x_30, x_24, x_3, x_4, x_5, x_6, x_29);
lean_dec(x_6);
-x_109 = !lean_is_exclusive(x_108);
-if (x_109 == 0)
-{
-lean_object* x_110; lean_object* x_111; lean_object* x_112;
-x_110 = lean_ctor_get(x_108, 0);
-lean_dec(x_110);
-x_111 = lean_box(x_100);
-x_112 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_112, 0, x_92);
-lean_ctor_set(x_112, 1, x_111);
-lean_ctor_set(x_108, 0, x_112);
-x_8 = x_108;
-goto block_20;
-}
-else
-{
-lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116;
-x_113 = lean_ctor_get(x_108, 1);
-lean_inc(x_113);
-lean_dec(x_108);
-x_114 = lean_box(x_100);
-x_115 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_115, 0, x_92);
-lean_ctor_set(x_115, 1, x_114);
-x_116 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_116, 0, x_115);
-lean_ctor_set(x_116, 1, x_113);
-x_8 = x_116;
-goto block_20;
-}
-}
-else
-{
-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;
-x_117 = lean_ctor_get(x_103, 0);
-lean_inc(x_117);
-lean_dec(x_103);
-x_118 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_118, 0, x_117);
-lean_ctor_set_uint8(x_118, sizeof(void*)*1, x_27);
-lean_ctor_set(x_102, 3, x_118);
-x_119 = lean_st_ref_set(x_6, x_102, x_104);
-lean_dec(x_6);
-x_120 = lean_ctor_get(x_119, 1);
-lean_inc(x_120);
-if (lean_is_exclusive(x_119)) {
- lean_ctor_release(x_119, 0);
- lean_ctor_release(x_119, 1);
- x_121 = x_119;
-} else {
- lean_dec_ref(x_119);
- x_121 = lean_box(0);
-}
-x_122 = lean_box(x_100);
-x_123 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_123, 0, x_92);
-lean_ctor_set(x_123, 1, x_122);
-if (lean_is_scalar(x_121)) {
- x_124 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_124 = x_121;
-}
-lean_ctor_set(x_124, 0, x_123);
-lean_ctor_set(x_124, 1, x_120);
-x_8 = x_124;
-goto block_20;
-}
-}
-else
-{
-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; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137;
-x_125 = lean_ctor_get(x_102, 0);
-x_126 = lean_ctor_get(x_102, 1);
-x_127 = lean_ctor_get(x_102, 2);
-lean_inc(x_127);
-lean_inc(x_126);
-lean_inc(x_125);
-lean_dec(x_102);
-x_128 = lean_ctor_get(x_103, 0);
-lean_inc(x_128);
-if (lean_is_exclusive(x_103)) {
- lean_ctor_release(x_103, 0);
- x_129 = x_103;
-} else {
- lean_dec_ref(x_103);
- x_129 = lean_box(0);
-}
-if (lean_is_scalar(x_129)) {
- x_130 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_130 = x_129;
-}
-lean_ctor_set(x_130, 0, x_128);
-lean_ctor_set_uint8(x_130, sizeof(void*)*1, x_27);
-x_131 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_131, 0, x_125);
-lean_ctor_set(x_131, 1, x_126);
-lean_ctor_set(x_131, 2, x_127);
-lean_ctor_set(x_131, 3, x_130);
-x_132 = lean_st_ref_set(x_6, x_131, x_104);
-lean_dec(x_6);
-x_133 = lean_ctor_get(x_132, 1);
-lean_inc(x_133);
-if (lean_is_exclusive(x_132)) {
- lean_ctor_release(x_132, 0);
- lean_ctor_release(x_132, 1);
- x_134 = x_132;
-} else {
- lean_dec_ref(x_132);
- x_134 = lean_box(0);
-}
-x_135 = lean_box(x_100);
-x_136 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_136, 0, x_92);
-lean_ctor_set(x_136, 1, x_135);
-if (lean_is_scalar(x_134)) {
- x_137 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_137 = x_134;
-}
-lean_ctor_set(x_137, 0, x_136);
-lean_ctor_set(x_137, 1, x_133);
-x_8 = x_137;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_138; lean_object* x_139;
-lean_dec(x_86);
-x_138 = lean_ctor_get(x_91, 0);
-lean_inc(x_138);
-x_139 = lean_ctor_get(x_91, 1);
-lean_inc(x_139);
-lean_dec(x_91);
-x_38 = x_138;
-x_39 = x_139;
-goto block_71;
-}
-}
-else
-{
-lean_object* x_140; lean_object* x_141;
-lean_dec(x_86);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
+x_32 = !lean_is_exclusive(x_31);
+if (x_32 == 0)
+{
+lean_object* x_33;
+x_33 = lean_ctor_get(x_31, 0);
+lean_dec(x_33);
+lean_ctor_set_tag(x_31, 1);
+lean_ctor_set(x_31, 0, x_28);
+return x_31;
+}
+else
+{
+lean_object* x_34; lean_object* x_35;
+x_34 = lean_ctor_get(x_31, 1);
+lean_inc(x_34);
+lean_dec(x_31);
+x_35 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_35, 0, x_28);
+lean_ctor_set(x_35, 1, x_34);
+return x_35;
+}
+}
+block_71:
+{
+lean_object* x_38; uint8_t 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_inc(x_1);
+x_38 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_38, 0, x_1);
+x_39 = 0;
+x_40 = lean_box(0);
+lean_inc(x_3);
+x_41 = l___private_Lean_Meta_Basic_0__Lean_Meta_mkFreshExprMVarImpl(x_38, x_39, x_40, x_3, x_4, x_5, x_6, x_37);
+x_42 = lean_ctor_get(x_41, 0);
+lean_inc(x_42);
+x_43 = lean_ctor_get(x_41, 1);
+lean_inc(x_43);
+lean_dec(x_41);
+x_44 = lean_st_ref_get(x_4, x_43);
+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_ctor_get(x_45, 0);
+lean_inc(x_47);
+lean_dec(x_45);
+lean_inc(x_47);
+x_48 = l_Lean_Meta_SynthInstance_mkTableKey(x_47, x_1);
+x_49 = l_Lean_Meta_SynthInstance_main___closed__1;
+x_50 = lean_st_mk_ref(x_49, x_46);
+x_51 = lean_ctor_get(x_50, 0);
+lean_inc(x_51);
+x_52 = lean_ctor_get(x_50, 1);
+lean_inc(x_52);
+lean_dec(x_50);
+x_53 = lean_box(1);
+lean_inc(x_6);
+lean_inc(x_5);
+lean_inc(x_4);
+lean_inc(x_3);
+lean_inc(x_51);
+x_54 = l_Lean_Meta_SynthInstance_newSubgoal(x_47, x_48, x_42, x_53, x_51, x_3, x_4, x_5, x_6, x_52);
+if (lean_obj_tag(x_54) == 0)
+{
+lean_object* x_55; lean_object* x_56;
+x_55 = lean_ctor_get(x_54, 1);
+lean_inc(x_55);
+lean_dec(x_54);
+lean_inc(x_6);
+lean_inc(x_5);
+lean_inc(x_4);
+lean_inc(x_3);
+lean_inc(x_51);
+x_56 = l_Lean_Meta_SynthInstance_synth(x_2, x_51, x_3, x_4, x_5, x_6, x_55);
+if (lean_obj_tag(x_56) == 0)
+{
+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;
+x_57 = lean_ctor_get(x_56, 0);
+lean_inc(x_57);
+x_58 = lean_ctor_get(x_56, 1);
+lean_inc(x_58);
+lean_dec(x_56);
+x_59 = lean_st_ref_get(x_51, x_58);
+lean_dec(x_51);
+x_60 = lean_ctor_get(x_59, 1);
+lean_inc(x_60);
+lean_dec(x_59);
+x_61 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
+x_62 = l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_SynthInstance_main___spec__2(x_26, x_61, x_24, x_3, x_4, x_5, x_6, x_60);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_63 = !lean_is_exclusive(x_62);
+if (x_63 == 0)
+{
+lean_object* x_64;
+x_64 = lean_ctor_get(x_62, 0);
+lean_dec(x_64);
+lean_ctor_set(x_62, 0, x_57);
+return x_62;
+}
+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(0, 2, 0);
+lean_ctor_set(x_66, 0, x_57);
+lean_ctor_set(x_66, 1, x_65);
+return x_66;
+}
+}
+else
+{
+lean_object* x_67; lean_object* x_68;
+lean_dec(x_51);
+x_67 = lean_ctor_get(x_56, 0);
+lean_inc(x_67);
+x_68 = lean_ctor_get(x_56, 1);
+lean_inc(x_68);
+lean_dec(x_56);
+x_28 = x_67;
+x_29 = x_68;
+goto block_36;
+}
+}
+else
+{
+lean_object* x_69; lean_object* x_70;
+lean_dec(x_51);
lean_dec(x_2);
-x_140 = lean_ctor_get(x_89, 0);
-lean_inc(x_140);
-x_141 = lean_ctor_get(x_89, 1);
-lean_inc(x_141);
-lean_dec(x_89);
-x_38 = x_140;
-x_39 = x_141;
+x_69 = lean_ctor_get(x_54, 0);
+lean_inc(x_69);
+x_70 = lean_ctor_get(x_54, 1);
+lean_inc(x_70);
+lean_dec(x_54);
+x_28 = x_69;
+x_29 = x_70;
+goto block_36;
+}
+}
+block_82:
+{
+if (x_72 == 0)
+{
+x_37 = x_73;
+goto block_71;
+}
+else
+{
+lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81;
+lean_inc(x_1);
+x_74 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_74, 0, x_1);
+x_75 = l_Lean_Meta_SynthInstance_main___closed__3;
+x_76 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_76, 0, x_75);
+lean_ctor_set(x_76, 1, x_74);
+x_77 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_78 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_78, 0, x_76);
+lean_ctor_set(x_78, 1, x_77);
+x_79 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
+x_80 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_79, x_78, x_3, x_4, x_5, x_6, x_73);
+x_81 = lean_ctor_get(x_80, 1);
+lean_inc(x_81);
+lean_dec(x_80);
+x_37 = x_81;
goto block_71;
}
}
-block_153:
-{
-if (x_143 == 0)
-{
-x_72 = x_144;
-goto block_142;
}
else
{
-lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152;
+lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; uint8_t x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; uint8_t x_104;
+x_95 = lean_st_ref_get(x_6, x_22);
+x_96 = lean_ctor_get(x_95, 0);
+lean_inc(x_96);
+x_97 = lean_ctor_get(x_96, 3);
+lean_inc(x_97);
+lean_dec(x_96);
+x_98 = lean_ctor_get(x_95, 1);
+lean_inc(x_98);
+lean_dec(x_95);
+x_99 = lean_ctor_get_uint8(x_97, sizeof(void*)*1);
+lean_dec(x_97);
+x_100 = lean_st_ref_take(x_6, x_98);
+x_101 = lean_ctor_get(x_100, 0);
+lean_inc(x_101);
+x_102 = lean_ctor_get(x_101, 3);
+lean_inc(x_102);
+x_103 = lean_ctor_get(x_100, 1);
+lean_inc(x_103);
+lean_dec(x_100);
+x_104 = !lean_is_exclusive(x_101);
+if (x_104 == 0)
+{
+lean_object* x_105; uint8_t x_106;
+x_105 = lean_ctor_get(x_101, 3);
+lean_dec(x_105);
+x_106 = !lean_is_exclusive(x_102);
+if (x_106 == 0)
+{
+uint8_t x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_144; uint8_t x_215; lean_object* x_216; lean_object* x_226; lean_object* x_227; lean_object* x_228; uint8_t x_229;
+x_107 = 0;
+lean_ctor_set_uint8(x_102, sizeof(void*)*1, x_107);
+x_108 = lean_st_ref_set(x_6, x_101, x_103);
+x_109 = lean_ctor_get(x_108, 1);
+lean_inc(x_109);
+lean_dec(x_108);
+x_226 = lean_st_ref_get(x_6, x_109);
+x_227 = lean_ctor_get(x_226, 0);
+lean_inc(x_227);
+x_228 = lean_ctor_get(x_227, 3);
+lean_inc(x_228);
+lean_dec(x_227);
+x_229 = lean_ctor_get_uint8(x_228, sizeof(void*)*1);
+lean_dec(x_228);
+if (x_229 == 0)
+{
+lean_object* x_230;
+x_230 = lean_ctor_get(x_226, 1);
+lean_inc(x_230);
+lean_dec(x_226);
+x_215 = x_107;
+x_216 = x_230;
+goto block_225;
+}
+else
+{
+lean_object* x_231; lean_object* x_232; lean_object* x_233; lean_object* x_234; lean_object* x_235; uint8_t x_236;
+x_231 = lean_ctor_get(x_226, 1);
+lean_inc(x_231);
+lean_dec(x_226);
+x_232 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
+x_233 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_232, x_3, x_4, x_5, x_6, x_231);
+x_234 = lean_ctor_get(x_233, 0);
+lean_inc(x_234);
+x_235 = lean_ctor_get(x_233, 1);
+lean_inc(x_235);
+lean_dec(x_233);
+x_236 = lean_unbox(x_234);
+lean_dec(x_234);
+x_215 = x_236;
+x_216 = x_235;
+goto block_225;
+}
+block_143:
+{
+lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; uint8_t x_118;
+x_112 = lean_st_ref_get(x_6, x_111);
+x_113 = lean_ctor_get(x_112, 1);
+lean_inc(x_113);
+lean_dec(x_112);
+x_114 = lean_st_ref_take(x_6, x_113);
+x_115 = lean_ctor_get(x_114, 0);
+lean_inc(x_115);
+x_116 = lean_ctor_get(x_115, 3);
+lean_inc(x_116);
+x_117 = lean_ctor_get(x_114, 1);
+lean_inc(x_117);
+lean_dec(x_114);
+x_118 = !lean_is_exclusive(x_115);
+if (x_118 == 0)
+{
+lean_object* x_119; uint8_t x_120;
+x_119 = lean_ctor_get(x_115, 3);
+lean_dec(x_119);
+x_120 = !lean_is_exclusive(x_116);
+if (x_120 == 0)
+{
+lean_object* x_121; uint8_t x_122;
+lean_ctor_set_uint8(x_116, sizeof(void*)*1, x_99);
+x_121 = lean_st_ref_set(x_6, x_115, x_117);
+lean_dec(x_6);
+x_122 = !lean_is_exclusive(x_121);
+if (x_122 == 0)
+{
+lean_object* x_123;
+x_123 = lean_ctor_get(x_121, 0);
+lean_dec(x_123);
+lean_ctor_set_tag(x_121, 1);
+lean_ctor_set(x_121, 0, x_110);
+x_8 = x_121;
+goto block_20;
+}
+else
+{
+lean_object* x_124; lean_object* x_125;
+x_124 = lean_ctor_get(x_121, 1);
+lean_inc(x_124);
+lean_dec(x_121);
+x_125 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_125, 0, x_110);
+lean_ctor_set(x_125, 1, x_124);
+x_8 = x_125;
+goto block_20;
+}
+}
+else
+{
+lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131;
+x_126 = lean_ctor_get(x_116, 0);
+lean_inc(x_126);
+lean_dec(x_116);
+x_127 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_127, 0, x_126);
+lean_ctor_set_uint8(x_127, sizeof(void*)*1, x_99);
+lean_ctor_set(x_115, 3, x_127);
+x_128 = lean_st_ref_set(x_6, x_115, x_117);
+lean_dec(x_6);
+x_129 = lean_ctor_get(x_128, 1);
+lean_inc(x_129);
+if (lean_is_exclusive(x_128)) {
+ lean_ctor_release(x_128, 0);
+ lean_ctor_release(x_128, 1);
+ x_130 = x_128;
+} else {
+ lean_dec_ref(x_128);
+ x_130 = lean_box(0);
+}
+if (lean_is_scalar(x_130)) {
+ x_131 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_131 = x_130;
+ lean_ctor_set_tag(x_131, 1);
+}
+lean_ctor_set(x_131, 0, x_110);
+lean_ctor_set(x_131, 1, x_129);
+x_8 = x_131;
+goto block_20;
+}
+}
+else
+{
+lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142;
+x_132 = lean_ctor_get(x_115, 0);
+x_133 = lean_ctor_get(x_115, 1);
+x_134 = lean_ctor_get(x_115, 2);
+lean_inc(x_134);
+lean_inc(x_133);
+lean_inc(x_132);
+lean_dec(x_115);
+x_135 = lean_ctor_get(x_116, 0);
+lean_inc(x_135);
+if (lean_is_exclusive(x_116)) {
+ lean_ctor_release(x_116, 0);
+ x_136 = x_116;
+} else {
+ lean_dec_ref(x_116);
+ x_136 = lean_box(0);
+}
+if (lean_is_scalar(x_136)) {
+ x_137 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_137 = x_136;
+}
+lean_ctor_set(x_137, 0, x_135);
+lean_ctor_set_uint8(x_137, sizeof(void*)*1, x_99);
+x_138 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_138, 0, x_132);
+lean_ctor_set(x_138, 1, x_133);
+lean_ctor_set(x_138, 2, x_134);
+lean_ctor_set(x_138, 3, x_137);
+x_139 = lean_st_ref_set(x_6, x_138, x_117);
+lean_dec(x_6);
+x_140 = lean_ctor_get(x_139, 1);
+lean_inc(x_140);
+if (lean_is_exclusive(x_139)) {
+ lean_ctor_release(x_139, 0);
+ lean_ctor_release(x_139, 1);
+ x_141 = x_139;
+} else {
+ lean_dec_ref(x_139);
+ x_141 = lean_box(0);
+}
+if (lean_is_scalar(x_141)) {
+ x_142 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_142 = x_141;
+ lean_ctor_set_tag(x_142, 1);
+}
+lean_ctor_set(x_142, 0, x_110);
+lean_ctor_set(x_142, 1, x_140);
+x_8 = x_142;
+goto block_20;
+}
+}
+block_214:
+{
+lean_object* x_145; uint8_t x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161;
lean_inc(x_1);
-x_145 = lean_alloc_ctor(2, 1, 0);
+x_145 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_145, 0, x_1);
-x_146 = l_Lean_Meta_SynthInstance_main___closed__3;
-x_147 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_147, 0, x_146);
-lean_ctor_set(x_147, 1, x_145);
-x_148 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_149 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_149, 0, x_147);
-lean_ctor_set(x_149, 1, x_148);
-x_150 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
-x_151 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_150, x_149, x_3, x_4, x_5, x_6, x_144);
-x_152 = lean_ctor_get(x_151, 1);
+x_146 = 0;
+x_147 = lean_box(0);
+lean_inc(x_3);
+x_148 = l___private_Lean_Meta_Basic_0__Lean_Meta_mkFreshExprMVarImpl(x_145, x_146, x_147, x_3, x_4, x_5, x_6, x_144);
+x_149 = lean_ctor_get(x_148, 0);
+lean_inc(x_149);
+x_150 = lean_ctor_get(x_148, 1);
+lean_inc(x_150);
+lean_dec(x_148);
+x_151 = lean_st_ref_get(x_4, x_150);
+x_152 = lean_ctor_get(x_151, 0);
lean_inc(x_152);
+x_153 = lean_ctor_get(x_151, 1);
+lean_inc(x_153);
lean_dec(x_151);
-x_72 = x_152;
-goto block_142;
-}
-}
-}
-else
+x_154 = lean_ctor_get(x_152, 0);
+lean_inc(x_154);
+lean_dec(x_152);
+lean_inc(x_154);
+x_155 = l_Lean_Meta_SynthInstance_mkTableKey(x_154, x_1);
+x_156 = l_Lean_Meta_SynthInstance_main___closed__1;
+x_157 = lean_st_mk_ref(x_156, x_153);
+x_158 = lean_ctor_get(x_157, 0);
+lean_inc(x_158);
+x_159 = lean_ctor_get(x_157, 1);
+lean_inc(x_159);
+lean_dec(x_157);
+x_160 = lean_box(1);
+lean_inc(x_6);
+lean_inc(x_5);
+lean_inc(x_4);
+lean_inc(x_3);
+lean_inc(x_158);
+x_161 = l_Lean_Meta_SynthInstance_newSubgoal(x_154, x_155, x_149, x_160, x_158, x_3, x_4, x_5, x_6, x_159);
+if (lean_obj_tag(x_161) == 0)
{
-lean_object* x_165; uint8_t x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_191; uint8_t x_243; lean_object* x_244; lean_object* x_254; lean_object* x_255; lean_object* x_256; uint8_t x_257;
-x_165 = lean_ctor_get(x_30, 0);
+lean_object* x_162; lean_object* x_163;
+x_162 = lean_ctor_get(x_161, 1);
+lean_inc(x_162);
+lean_dec(x_161);
+lean_inc(x_6);
+lean_inc(x_158);
+x_163 = l_Lean_Meta_SynthInstance_synth(x_2, x_158, x_3, x_4, x_5, x_6, x_162);
+if (lean_obj_tag(x_163) == 0)
+{
+lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; uint8_t x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; uint8_t x_177;
+x_164 = lean_ctor_get(x_163, 0);
+lean_inc(x_164);
+x_165 = lean_ctor_get(x_163, 1);
lean_inc(x_165);
-lean_dec(x_30);
-x_166 = 0;
-x_167 = lean_alloc_ctor(0, 1, 1);
-lean_ctor_set(x_167, 0, x_165);
-lean_ctor_set_uint8(x_167, sizeof(void*)*1, x_166);
-lean_ctor_set(x_29, 3, x_167);
-x_168 = lean_st_ref_set(x_6, x_29, x_31);
-x_169 = lean_ctor_get(x_168, 1);
+lean_dec(x_163);
+x_166 = lean_st_ref_get(x_158, x_165);
+lean_dec(x_158);
+x_167 = lean_ctor_get(x_166, 1);
+lean_inc(x_167);
+lean_dec(x_166);
+x_168 = lean_st_ref_get(x_6, x_167);
+x_169 = lean_ctor_get(x_168, 0);
lean_inc(x_169);
+x_170 = lean_ctor_get(x_168, 1);
+lean_inc(x_170);
lean_dec(x_168);
-x_254 = lean_st_ref_get(x_6, x_169);
-x_255 = lean_ctor_get(x_254, 0);
-lean_inc(x_255);
-x_256 = lean_ctor_get(x_255, 3);
-lean_inc(x_256);
-lean_dec(x_255);
-x_257 = lean_ctor_get_uint8(x_256, sizeof(void*)*1);
-lean_dec(x_256);
-if (x_257 == 0)
+x_171 = lean_ctor_get(x_169, 3);
+lean_inc(x_171);
+lean_dec(x_169);
+x_172 = lean_ctor_get_uint8(x_171, sizeof(void*)*1);
+lean_dec(x_171);
+x_173 = lean_st_ref_take(x_6, x_170);
+x_174 = lean_ctor_get(x_173, 0);
+lean_inc(x_174);
+x_175 = lean_ctor_get(x_174, 3);
+lean_inc(x_175);
+x_176 = lean_ctor_get(x_173, 1);
+lean_inc(x_176);
+lean_dec(x_173);
+x_177 = !lean_is_exclusive(x_174);
+if (x_177 == 0)
{
-lean_object* x_258;
-x_258 = lean_ctor_get(x_254, 1);
-lean_inc(x_258);
-lean_dec(x_254);
-x_243 = x_166;
-x_244 = x_258;
-goto block_253;
+lean_object* x_178; uint8_t x_179;
+x_178 = lean_ctor_get(x_174, 3);
+lean_dec(x_178);
+x_179 = !lean_is_exclusive(x_175);
+if (x_179 == 0)
+{
+lean_object* x_180; uint8_t x_181;
+lean_ctor_set_uint8(x_175, sizeof(void*)*1, x_99);
+x_180 = lean_st_ref_set(x_6, x_174, x_176);
+lean_dec(x_6);
+x_181 = !lean_is_exclusive(x_180);
+if (x_181 == 0)
+{
+lean_object* x_182; lean_object* x_183; lean_object* x_184;
+x_182 = lean_ctor_get(x_180, 0);
+lean_dec(x_182);
+x_183 = lean_box(x_172);
+x_184 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_184, 0, x_164);
+lean_ctor_set(x_184, 1, x_183);
+lean_ctor_set(x_180, 0, x_184);
+x_8 = x_180;
+goto block_20;
}
else
{
-lean_object* x_259; lean_object* x_260; lean_object* x_261; lean_object* x_262; lean_object* x_263; uint8_t x_264;
-x_259 = lean_ctor_get(x_254, 1);
-lean_inc(x_259);
-lean_dec(x_254);
-x_260 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
-x_261 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_260, x_3, x_4, x_5, x_6, x_259);
-x_262 = lean_ctor_get(x_261, 0);
-lean_inc(x_262);
-x_263 = lean_ctor_get(x_261, 1);
-lean_inc(x_263);
-lean_dec(x_261);
-x_264 = lean_unbox(x_262);
-lean_dec(x_262);
-x_243 = x_264;
-x_244 = x_263;
-goto block_253;
+lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188;
+x_185 = lean_ctor_get(x_180, 1);
+lean_inc(x_185);
+lean_dec(x_180);
+x_186 = lean_box(x_172);
+x_187 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_187, 0, x_164);
+lean_ctor_set(x_187, 1, x_186);
+x_188 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_188, 0, x_187);
+lean_ctor_set(x_188, 1, x_185);
+x_8 = x_188;
+goto block_20;
}
-block_190:
+}
+else
{
-lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189;
-x_172 = lean_st_ref_get(x_6, x_171);
-x_173 = lean_ctor_get(x_172, 1);
-lean_inc(x_173);
-lean_dec(x_172);
-x_174 = lean_st_ref_take(x_6, x_173);
-x_175 = lean_ctor_get(x_174, 0);
-lean_inc(x_175);
-x_176 = lean_ctor_get(x_175, 3);
-lean_inc(x_176);
-x_177 = lean_ctor_get(x_174, 1);
-lean_inc(x_177);
+lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196;
+x_189 = lean_ctor_get(x_175, 0);
+lean_inc(x_189);
+lean_dec(x_175);
+x_190 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_190, 0, x_189);
+lean_ctor_set_uint8(x_190, sizeof(void*)*1, x_99);
+lean_ctor_set(x_174, 3, x_190);
+x_191 = lean_st_ref_set(x_6, x_174, x_176);
+lean_dec(x_6);
+x_192 = lean_ctor_get(x_191, 1);
+lean_inc(x_192);
+if (lean_is_exclusive(x_191)) {
+ lean_ctor_release(x_191, 0);
+ lean_ctor_release(x_191, 1);
+ x_193 = x_191;
+} else {
+ lean_dec_ref(x_191);
+ x_193 = lean_box(0);
+}
+x_194 = lean_box(x_172);
+x_195 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_195, 0, x_164);
+lean_ctor_set(x_195, 1, x_194);
+if (lean_is_scalar(x_193)) {
+ x_196 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_196 = x_193;
+}
+lean_ctor_set(x_196, 0, x_195);
+lean_ctor_set(x_196, 1, x_192);
+x_8 = x_196;
+goto block_20;
+}
+}
+else
+{
+lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; lean_object* x_209;
+x_197 = lean_ctor_get(x_174, 0);
+x_198 = lean_ctor_get(x_174, 1);
+x_199 = lean_ctor_get(x_174, 2);
+lean_inc(x_199);
+lean_inc(x_198);
+lean_inc(x_197);
lean_dec(x_174);
-x_178 = lean_ctor_get(x_175, 0);
-lean_inc(x_178);
-x_179 = lean_ctor_get(x_175, 1);
-lean_inc(x_179);
-x_180 = lean_ctor_get(x_175, 2);
-lean_inc(x_180);
+x_200 = lean_ctor_get(x_175, 0);
+lean_inc(x_200);
if (lean_is_exclusive(x_175)) {
lean_ctor_release(x_175, 0);
- lean_ctor_release(x_175, 1);
- lean_ctor_release(x_175, 2);
- lean_ctor_release(x_175, 3);
- x_181 = x_175;
+ x_201 = x_175;
} else {
lean_dec_ref(x_175);
- x_181 = lean_box(0);
+ x_201 = lean_box(0);
}
-x_182 = lean_ctor_get(x_176, 0);
-lean_inc(x_182);
-if (lean_is_exclusive(x_176)) {
- lean_ctor_release(x_176, 0);
- x_183 = x_176;
+if (lean_is_scalar(x_201)) {
+ x_202 = lean_alloc_ctor(0, 1, 1);
} else {
- lean_dec_ref(x_176);
- x_183 = lean_box(0);
+ x_202 = x_201;
}
-if (lean_is_scalar(x_183)) {
- x_184 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_184 = x_183;
-}
-lean_ctor_set(x_184, 0, x_182);
-lean_ctor_set_uint8(x_184, sizeof(void*)*1, x_27);
-if (lean_is_scalar(x_181)) {
- x_185 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_185 = x_181;
-}
-lean_ctor_set(x_185, 0, x_178);
-lean_ctor_set(x_185, 1, x_179);
-lean_ctor_set(x_185, 2, x_180);
-lean_ctor_set(x_185, 3, x_184);
-x_186 = lean_st_ref_set(x_6, x_185, x_177);
+lean_ctor_set(x_202, 0, x_200);
+lean_ctor_set_uint8(x_202, sizeof(void*)*1, x_99);
+x_203 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_203, 0, x_197);
+lean_ctor_set(x_203, 1, x_198);
+lean_ctor_set(x_203, 2, x_199);
+lean_ctor_set(x_203, 3, x_202);
+x_204 = lean_st_ref_set(x_6, x_203, x_176);
lean_dec(x_6);
-x_187 = lean_ctor_get(x_186, 1);
-lean_inc(x_187);
-if (lean_is_exclusive(x_186)) {
- lean_ctor_release(x_186, 0);
- lean_ctor_release(x_186, 1);
- x_188 = x_186;
+x_205 = lean_ctor_get(x_204, 1);
+lean_inc(x_205);
+if (lean_is_exclusive(x_204)) {
+ lean_ctor_release(x_204, 0);
+ lean_ctor_release(x_204, 1);
+ x_206 = x_204;
} else {
- lean_dec_ref(x_186);
- x_188 = lean_box(0);
+ lean_dec_ref(x_204);
+ x_206 = lean_box(0);
}
-if (lean_is_scalar(x_188)) {
- x_189 = lean_alloc_ctor(1, 2, 0);
+x_207 = lean_box(x_172);
+x_208 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_208, 0, x_164);
+lean_ctor_set(x_208, 1, x_207);
+if (lean_is_scalar(x_206)) {
+ x_209 = lean_alloc_ctor(0, 2, 0);
} else {
- x_189 = x_188;
- lean_ctor_set_tag(x_189, 1);
+ x_209 = x_206;
}
-lean_ctor_set(x_189, 0, x_170);
-lean_ctor_set(x_189, 1, x_187);
-x_8 = x_189;
+lean_ctor_set(x_209, 0, x_208);
+lean_ctor_set(x_209, 1, x_205);
+x_8 = x_209;
goto block_20;
}
-block_242:
+}
+else
{
-lean_object* x_192; uint8_t x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208;
-lean_inc(x_1);
-x_192 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_192, 0, x_1);
-x_193 = 0;
-x_194 = lean_box(0);
-lean_inc(x_3);
-x_195 = l___private_Lean_Meta_Basic_0__Lean_Meta_mkFreshExprMVarImpl(x_192, x_193, x_194, x_3, x_4, x_5, x_6, x_191);
-x_196 = lean_ctor_get(x_195, 0);
-lean_inc(x_196);
-x_197 = lean_ctor_get(x_195, 1);
-lean_inc(x_197);
-lean_dec(x_195);
-x_198 = lean_st_ref_get(x_4, x_197);
-x_199 = lean_ctor_get(x_198, 0);
-lean_inc(x_199);
-x_200 = lean_ctor_get(x_198, 1);
-lean_inc(x_200);
-lean_dec(x_198);
-x_201 = lean_ctor_get(x_199, 0);
-lean_inc(x_201);
-lean_dec(x_199);
-lean_inc(x_201);
-x_202 = l_Lean_Meta_SynthInstance_mkTableKey(x_201, x_1);
-x_203 = l_Lean_Meta_SynthInstance_main___closed__1;
-x_204 = lean_st_mk_ref(x_203, x_200);
-x_205 = lean_ctor_get(x_204, 0);
-lean_inc(x_205);
-x_206 = lean_ctor_get(x_204, 1);
-lean_inc(x_206);
-lean_dec(x_204);
-x_207 = lean_box(1);
-lean_inc(x_6);
-lean_inc(x_5);
-lean_inc(x_4);
-lean_inc(x_3);
-lean_inc(x_205);
-x_208 = l_Lean_Meta_SynthInstance_newSubgoal(x_201, x_202, x_196, x_207, x_205, x_3, x_4, x_5, x_6, x_206);
-if (lean_obj_tag(x_208) == 0)
-{
-lean_object* x_209; lean_object* x_210;
-x_209 = lean_ctor_get(x_208, 1);
-lean_inc(x_209);
-lean_dec(x_208);
-lean_inc(x_6);
-lean_inc(x_205);
-x_210 = l_Lean_Meta_SynthInstance_synth(x_2, x_205, x_3, x_4, x_5, x_6, x_209);
-if (lean_obj_tag(x_210) == 0)
-{
-lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214; lean_object* x_215; lean_object* x_216; lean_object* x_217; lean_object* x_218; uint8_t x_219; lean_object* x_220; lean_object* x_221; lean_object* x_222; lean_object* x_223; lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; lean_object* x_228; lean_object* x_229; lean_object* x_230; lean_object* x_231; lean_object* x_232; lean_object* x_233; lean_object* x_234; lean_object* x_235; lean_object* x_236; lean_object* x_237;
-x_211 = lean_ctor_get(x_210, 0);
+lean_object* x_210; lean_object* x_211;
+lean_dec(x_158);
+x_210 = lean_ctor_get(x_163, 0);
+lean_inc(x_210);
+x_211 = lean_ctor_get(x_163, 1);
lean_inc(x_211);
-x_212 = lean_ctor_get(x_210, 1);
-lean_inc(x_212);
-lean_dec(x_210);
-x_213 = lean_st_ref_get(x_205, x_212);
-lean_dec(x_205);
-x_214 = lean_ctor_get(x_213, 1);
-lean_inc(x_214);
-lean_dec(x_213);
-x_215 = lean_st_ref_get(x_6, x_214);
-x_216 = lean_ctor_get(x_215, 0);
-lean_inc(x_216);
-x_217 = lean_ctor_get(x_215, 1);
-lean_inc(x_217);
-lean_dec(x_215);
-x_218 = lean_ctor_get(x_216, 3);
-lean_inc(x_218);
-lean_dec(x_216);
-x_219 = lean_ctor_get_uint8(x_218, sizeof(void*)*1);
-lean_dec(x_218);
-x_220 = lean_st_ref_take(x_6, x_217);
-x_221 = lean_ctor_get(x_220, 0);
-lean_inc(x_221);
-x_222 = lean_ctor_get(x_221, 3);
-lean_inc(x_222);
-x_223 = lean_ctor_get(x_220, 1);
-lean_inc(x_223);
-lean_dec(x_220);
-x_224 = lean_ctor_get(x_221, 0);
-lean_inc(x_224);
-x_225 = lean_ctor_get(x_221, 1);
-lean_inc(x_225);
-x_226 = lean_ctor_get(x_221, 2);
-lean_inc(x_226);
-if (lean_is_exclusive(x_221)) {
- lean_ctor_release(x_221, 0);
- lean_ctor_release(x_221, 1);
- lean_ctor_release(x_221, 2);
- lean_ctor_release(x_221, 3);
- x_227 = x_221;
-} else {
- lean_dec_ref(x_221);
- x_227 = lean_box(0);
-}
-x_228 = lean_ctor_get(x_222, 0);
-lean_inc(x_228);
-if (lean_is_exclusive(x_222)) {
- lean_ctor_release(x_222, 0);
- x_229 = x_222;
-} else {
- lean_dec_ref(x_222);
- x_229 = lean_box(0);
-}
-if (lean_is_scalar(x_229)) {
- x_230 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_230 = x_229;
-}
-lean_ctor_set(x_230, 0, x_228);
-lean_ctor_set_uint8(x_230, sizeof(void*)*1, x_27);
-if (lean_is_scalar(x_227)) {
- x_231 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_231 = x_227;
-}
-lean_ctor_set(x_231, 0, x_224);
-lean_ctor_set(x_231, 1, x_225);
-lean_ctor_set(x_231, 2, x_226);
-lean_ctor_set(x_231, 3, x_230);
-x_232 = lean_st_ref_set(x_6, x_231, x_223);
-lean_dec(x_6);
-x_233 = lean_ctor_get(x_232, 1);
-lean_inc(x_233);
-if (lean_is_exclusive(x_232)) {
- lean_ctor_release(x_232, 0);
- lean_ctor_release(x_232, 1);
- x_234 = x_232;
-} else {
- lean_dec_ref(x_232);
- x_234 = lean_box(0);
-}
-x_235 = lean_box(x_219);
-x_236 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_236, 0, x_211);
-lean_ctor_set(x_236, 1, x_235);
-if (lean_is_scalar(x_234)) {
- x_237 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_237 = x_234;
-}
-lean_ctor_set(x_237, 0, x_236);
-lean_ctor_set(x_237, 1, x_233);
-x_8 = x_237;
-goto block_20;
-}
-else
-{
-lean_object* x_238; lean_object* x_239;
-lean_dec(x_205);
-x_238 = lean_ctor_get(x_210, 0);
-lean_inc(x_238);
-x_239 = lean_ctor_get(x_210, 1);
-lean_inc(x_239);
-lean_dec(x_210);
-x_170 = x_238;
-x_171 = x_239;
-goto block_190;
+lean_dec(x_163);
+x_110 = x_210;
+x_111 = x_211;
+goto block_143;
}
}
else
{
-lean_object* x_240; lean_object* x_241;
-lean_dec(x_205);
+lean_object* x_212; lean_object* x_213;
+lean_dec(x_158);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_240 = lean_ctor_get(x_208, 0);
-lean_inc(x_240);
-x_241 = lean_ctor_get(x_208, 1);
+x_212 = lean_ctor_get(x_161, 0);
+lean_inc(x_212);
+x_213 = lean_ctor_get(x_161, 1);
+lean_inc(x_213);
+lean_dec(x_161);
+x_110 = x_212;
+x_111 = x_213;
+goto block_143;
+}
+}
+block_225:
+{
+if (x_215 == 0)
+{
+x_144 = x_216;
+goto block_214;
+}
+else
+{
+lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; lean_object* x_221; lean_object* x_222; lean_object* x_223; lean_object* x_224;
+lean_inc(x_1);
+x_217 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_217, 0, x_1);
+x_218 = l_Lean_Meta_SynthInstance_main___closed__3;
+x_219 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_219, 0, x_218);
+lean_ctor_set(x_219, 1, x_217);
+x_220 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_221 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_221, 0, x_219);
+lean_ctor_set(x_221, 1, x_220);
+x_222 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
+x_223 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_222, x_221, x_3, x_4, x_5, x_6, x_216);
+x_224 = lean_ctor_get(x_223, 1);
+lean_inc(x_224);
+lean_dec(x_223);
+x_144 = x_224;
+goto block_214;
+}
+}
+}
+else
+{
+lean_object* x_237; uint8_t x_238; lean_object* x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_263; uint8_t x_315; lean_object* x_316; lean_object* x_326; lean_object* x_327; lean_object* x_328; uint8_t x_329;
+x_237 = lean_ctor_get(x_102, 0);
+lean_inc(x_237);
+lean_dec(x_102);
+x_238 = 0;
+x_239 = lean_alloc_ctor(0, 1, 1);
+lean_ctor_set(x_239, 0, x_237);
+lean_ctor_set_uint8(x_239, sizeof(void*)*1, x_238);
+lean_ctor_set(x_101, 3, x_239);
+x_240 = lean_st_ref_set(x_6, x_101, x_103);
+x_241 = lean_ctor_get(x_240, 1);
lean_inc(x_241);
-lean_dec(x_208);
-x_170 = x_240;
-x_171 = x_241;
-goto block_190;
-}
-}
-block_253:
-{
-if (x_243 == 0)
-{
-x_191 = x_244;
-goto block_242;
-}
-else
-{
-lean_object* x_245; lean_object* x_246; lean_object* x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252;
-lean_inc(x_1);
-x_245 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_245, 0, x_1);
-x_246 = l_Lean_Meta_SynthInstance_main___closed__3;
-x_247 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_247, 0, x_246);
-lean_ctor_set(x_247, 1, x_245);
-x_248 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_249 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_249, 0, x_247);
-lean_ctor_set(x_249, 1, x_248);
-x_250 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
-x_251 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_250, x_249, x_3, x_4, x_5, x_6, x_244);
-x_252 = lean_ctor_get(x_251, 1);
-lean_inc(x_252);
-lean_dec(x_251);
-x_191 = x_252;
-goto block_242;
-}
-}
-}
-}
-else
-{
-lean_object* x_265; lean_object* x_266; lean_object* x_267; lean_object* x_268; lean_object* x_269; uint8_t x_270; lean_object* x_271; lean_object* x_272; lean_object* x_273; lean_object* x_274; lean_object* x_275; lean_object* x_276; lean_object* x_296; uint8_t x_348; lean_object* x_349; lean_object* x_359; lean_object* x_360; lean_object* x_361; uint8_t x_362;
-x_265 = lean_ctor_get(x_29, 0);
-x_266 = lean_ctor_get(x_29, 1);
-x_267 = lean_ctor_get(x_29, 2);
-lean_inc(x_267);
-lean_inc(x_266);
-lean_inc(x_265);
-lean_dec(x_29);
-x_268 = lean_ctor_get(x_30, 0);
-lean_inc(x_268);
-if (lean_is_exclusive(x_30)) {
- lean_ctor_release(x_30, 0);
- x_269 = x_30;
-} else {
- lean_dec_ref(x_30);
- x_269 = lean_box(0);
-}
-x_270 = 0;
-if (lean_is_scalar(x_269)) {
- x_271 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_271 = x_269;
-}
-lean_ctor_set(x_271, 0, x_268);
-lean_ctor_set_uint8(x_271, sizeof(void*)*1, x_270);
-x_272 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_272, 0, x_265);
-lean_ctor_set(x_272, 1, x_266);
-lean_ctor_set(x_272, 2, x_267);
-lean_ctor_set(x_272, 3, x_271);
-x_273 = lean_st_ref_set(x_6, x_272, x_31);
-x_274 = lean_ctor_get(x_273, 1);
-lean_inc(x_274);
-lean_dec(x_273);
-x_359 = lean_st_ref_get(x_6, x_274);
-x_360 = lean_ctor_get(x_359, 0);
-lean_inc(x_360);
-x_361 = lean_ctor_get(x_360, 3);
-lean_inc(x_361);
-lean_dec(x_360);
-x_362 = lean_ctor_get_uint8(x_361, sizeof(void*)*1);
-lean_dec(x_361);
-if (x_362 == 0)
-{
-lean_object* x_363;
-x_363 = lean_ctor_get(x_359, 1);
-lean_inc(x_363);
-lean_dec(x_359);
-x_348 = x_270;
-x_349 = x_363;
-goto block_358;
-}
-else
-{
-lean_object* x_364; lean_object* x_365; lean_object* x_366; lean_object* x_367; lean_object* x_368; uint8_t x_369;
-x_364 = lean_ctor_get(x_359, 1);
-lean_inc(x_364);
-lean_dec(x_359);
-x_365 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
-x_366 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_365, x_3, x_4, x_5, x_6, x_364);
-x_367 = lean_ctor_get(x_366, 0);
-lean_inc(x_367);
-x_368 = lean_ctor_get(x_366, 1);
-lean_inc(x_368);
-lean_dec(x_366);
-x_369 = lean_unbox(x_367);
-lean_dec(x_367);
-x_348 = x_369;
-x_349 = x_368;
-goto block_358;
-}
-block_295:
-{
-lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; lean_object* x_281; lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286; lean_object* x_287; lean_object* x_288; lean_object* x_289; lean_object* x_290; lean_object* x_291; lean_object* x_292; lean_object* x_293; lean_object* x_294;
-x_277 = lean_st_ref_get(x_6, x_276);
-x_278 = lean_ctor_get(x_277, 1);
-lean_inc(x_278);
-lean_dec(x_277);
-x_279 = lean_st_ref_take(x_6, x_278);
-x_280 = lean_ctor_get(x_279, 0);
-lean_inc(x_280);
-x_281 = lean_ctor_get(x_280, 3);
-lean_inc(x_281);
-x_282 = lean_ctor_get(x_279, 1);
-lean_inc(x_282);
-lean_dec(x_279);
-x_283 = lean_ctor_get(x_280, 0);
-lean_inc(x_283);
-x_284 = lean_ctor_get(x_280, 1);
-lean_inc(x_284);
-x_285 = lean_ctor_get(x_280, 2);
-lean_inc(x_285);
-if (lean_is_exclusive(x_280)) {
- lean_ctor_release(x_280, 0);
- lean_ctor_release(x_280, 1);
- lean_ctor_release(x_280, 2);
- lean_ctor_release(x_280, 3);
- x_286 = x_280;
-} else {
- lean_dec_ref(x_280);
- x_286 = lean_box(0);
-}
-x_287 = lean_ctor_get(x_281, 0);
-lean_inc(x_287);
-if (lean_is_exclusive(x_281)) {
- lean_ctor_release(x_281, 0);
- x_288 = x_281;
-} else {
- lean_dec_ref(x_281);
- x_288 = lean_box(0);
-}
-if (lean_is_scalar(x_288)) {
- x_289 = lean_alloc_ctor(0, 1, 1);
-} else {
- x_289 = x_288;
-}
-lean_ctor_set(x_289, 0, x_287);
-lean_ctor_set_uint8(x_289, sizeof(void*)*1, x_27);
-if (lean_is_scalar(x_286)) {
- x_290 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_290 = x_286;
-}
-lean_ctor_set(x_290, 0, x_283);
-lean_ctor_set(x_290, 1, x_284);
-lean_ctor_set(x_290, 2, x_285);
-lean_ctor_set(x_290, 3, x_289);
-x_291 = lean_st_ref_set(x_6, x_290, x_282);
-lean_dec(x_6);
-x_292 = lean_ctor_get(x_291, 1);
-lean_inc(x_292);
-if (lean_is_exclusive(x_291)) {
- lean_ctor_release(x_291, 0);
- lean_ctor_release(x_291, 1);
- x_293 = x_291;
-} else {
- lean_dec_ref(x_291);
- x_293 = lean_box(0);
-}
-if (lean_is_scalar(x_293)) {
- x_294 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_294 = x_293;
- lean_ctor_set_tag(x_294, 1);
-}
-lean_ctor_set(x_294, 0, x_275);
-lean_ctor_set(x_294, 1, x_292);
-x_8 = x_294;
-goto block_20;
-}
-block_347:
-{
-lean_object* x_297; uint8_t x_298; lean_object* x_299; lean_object* x_300; lean_object* x_301; lean_object* x_302; lean_object* x_303; lean_object* x_304; lean_object* x_305; lean_object* x_306; lean_object* x_307; lean_object* x_308; lean_object* x_309; lean_object* x_310; lean_object* x_311; lean_object* x_312; lean_object* x_313;
-lean_inc(x_1);
-x_297 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_297, 0, x_1);
-x_298 = 0;
-x_299 = lean_box(0);
-lean_inc(x_3);
-x_300 = l___private_Lean_Meta_Basic_0__Lean_Meta_mkFreshExprMVarImpl(x_297, x_298, x_299, x_3, x_4, x_5, x_6, x_296);
-x_301 = lean_ctor_get(x_300, 0);
-lean_inc(x_301);
-x_302 = lean_ctor_get(x_300, 1);
-lean_inc(x_302);
-lean_dec(x_300);
-x_303 = lean_st_ref_get(x_4, x_302);
-x_304 = lean_ctor_get(x_303, 0);
-lean_inc(x_304);
-x_305 = lean_ctor_get(x_303, 1);
-lean_inc(x_305);
-lean_dec(x_303);
-x_306 = lean_ctor_get(x_304, 0);
-lean_inc(x_306);
-lean_dec(x_304);
-lean_inc(x_306);
-x_307 = l_Lean_Meta_SynthInstance_mkTableKey(x_306, x_1);
-x_308 = l_Lean_Meta_SynthInstance_main___closed__1;
-x_309 = lean_st_mk_ref(x_308, x_305);
-x_310 = lean_ctor_get(x_309, 0);
-lean_inc(x_310);
-x_311 = lean_ctor_get(x_309, 1);
-lean_inc(x_311);
-lean_dec(x_309);
-x_312 = lean_box(1);
-lean_inc(x_6);
-lean_inc(x_5);
-lean_inc(x_4);
-lean_inc(x_3);
-lean_inc(x_310);
-x_313 = l_Lean_Meta_SynthInstance_newSubgoal(x_306, x_307, x_301, x_312, x_310, x_3, x_4, x_5, x_6, x_311);
-if (lean_obj_tag(x_313) == 0)
-{
-lean_object* x_314; lean_object* x_315;
-x_314 = lean_ctor_get(x_313, 1);
-lean_inc(x_314);
-lean_dec(x_313);
-lean_inc(x_6);
-lean_inc(x_310);
-x_315 = l_Lean_Meta_SynthInstance_synth(x_2, x_310, x_3, x_4, x_5, x_6, x_314);
-if (lean_obj_tag(x_315) == 0)
-{
-lean_object* x_316; lean_object* x_317; lean_object* x_318; lean_object* x_319; lean_object* x_320; lean_object* x_321; lean_object* x_322; lean_object* x_323; uint8_t x_324; lean_object* x_325; lean_object* x_326; lean_object* x_327; lean_object* x_328; lean_object* x_329; lean_object* x_330; lean_object* x_331; lean_object* x_332; lean_object* x_333; lean_object* x_334; lean_object* x_335; lean_object* x_336; lean_object* x_337; lean_object* x_338; lean_object* x_339; lean_object* x_340; lean_object* x_341; lean_object* x_342;
-x_316 = lean_ctor_get(x_315, 0);
-lean_inc(x_316);
-x_317 = lean_ctor_get(x_315, 1);
-lean_inc(x_317);
-lean_dec(x_315);
-x_318 = lean_st_ref_get(x_310, x_317);
-lean_dec(x_310);
-x_319 = lean_ctor_get(x_318, 1);
-lean_inc(x_319);
-lean_dec(x_318);
-x_320 = lean_st_ref_get(x_6, x_319);
-x_321 = lean_ctor_get(x_320, 0);
-lean_inc(x_321);
-x_322 = lean_ctor_get(x_320, 1);
-lean_inc(x_322);
-lean_dec(x_320);
-x_323 = lean_ctor_get(x_321, 3);
-lean_inc(x_323);
-lean_dec(x_321);
-x_324 = lean_ctor_get_uint8(x_323, sizeof(void*)*1);
-lean_dec(x_323);
-x_325 = lean_st_ref_take(x_6, x_322);
-x_326 = lean_ctor_get(x_325, 0);
-lean_inc(x_326);
-x_327 = lean_ctor_get(x_326, 3);
+lean_dec(x_240);
+x_326 = lean_st_ref_get(x_6, x_241);
+x_327 = lean_ctor_get(x_326, 0);
lean_inc(x_327);
-x_328 = lean_ctor_get(x_325, 1);
+x_328 = lean_ctor_get(x_327, 3);
lean_inc(x_328);
-lean_dec(x_325);
-x_329 = lean_ctor_get(x_326, 0);
-lean_inc(x_329);
+lean_dec(x_327);
+x_329 = lean_ctor_get_uint8(x_328, sizeof(void*)*1);
+lean_dec(x_328);
+if (x_329 == 0)
+{
+lean_object* x_330;
x_330 = lean_ctor_get(x_326, 1);
lean_inc(x_330);
-x_331 = lean_ctor_get(x_326, 2);
+lean_dec(x_326);
+x_315 = x_238;
+x_316 = x_330;
+goto block_325;
+}
+else
+{
+lean_object* x_331; lean_object* x_332; lean_object* x_333; lean_object* x_334; lean_object* x_335; uint8_t x_336;
+x_331 = lean_ctor_get(x_326, 1);
lean_inc(x_331);
-if (lean_is_exclusive(x_326)) {
- lean_ctor_release(x_326, 0);
- lean_ctor_release(x_326, 1);
- lean_ctor_release(x_326, 2);
- lean_ctor_release(x_326, 3);
- x_332 = x_326;
-} else {
- lean_dec_ref(x_326);
- x_332 = lean_box(0);
+lean_dec(x_326);
+x_332 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
+x_333 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_332, x_3, x_4, x_5, x_6, x_331);
+x_334 = lean_ctor_get(x_333, 0);
+lean_inc(x_334);
+x_335 = lean_ctor_get(x_333, 1);
+lean_inc(x_335);
+lean_dec(x_333);
+x_336 = lean_unbox(x_334);
+lean_dec(x_334);
+x_315 = x_336;
+x_316 = x_335;
+goto block_325;
}
-x_333 = lean_ctor_get(x_327, 0);
-lean_inc(x_333);
-if (lean_is_exclusive(x_327)) {
- lean_ctor_release(x_327, 0);
- x_334 = x_327;
+block_262:
+{
+lean_object* x_244; lean_object* x_245; lean_object* x_246; lean_object* x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253; lean_object* x_254; lean_object* x_255; lean_object* x_256; lean_object* x_257; lean_object* x_258; lean_object* x_259; lean_object* x_260; lean_object* x_261;
+x_244 = lean_st_ref_get(x_6, x_243);
+x_245 = lean_ctor_get(x_244, 1);
+lean_inc(x_245);
+lean_dec(x_244);
+x_246 = lean_st_ref_take(x_6, x_245);
+x_247 = lean_ctor_get(x_246, 0);
+lean_inc(x_247);
+x_248 = lean_ctor_get(x_247, 3);
+lean_inc(x_248);
+x_249 = lean_ctor_get(x_246, 1);
+lean_inc(x_249);
+lean_dec(x_246);
+x_250 = lean_ctor_get(x_247, 0);
+lean_inc(x_250);
+x_251 = lean_ctor_get(x_247, 1);
+lean_inc(x_251);
+x_252 = lean_ctor_get(x_247, 2);
+lean_inc(x_252);
+if (lean_is_exclusive(x_247)) {
+ lean_ctor_release(x_247, 0);
+ lean_ctor_release(x_247, 1);
+ lean_ctor_release(x_247, 2);
+ lean_ctor_release(x_247, 3);
+ x_253 = x_247;
} else {
- lean_dec_ref(x_327);
- x_334 = lean_box(0);
+ lean_dec_ref(x_247);
+ x_253 = lean_box(0);
}
-if (lean_is_scalar(x_334)) {
- x_335 = lean_alloc_ctor(0, 1, 1);
+x_254 = lean_ctor_get(x_248, 0);
+lean_inc(x_254);
+if (lean_is_exclusive(x_248)) {
+ lean_ctor_release(x_248, 0);
+ x_255 = x_248;
} else {
- x_335 = x_334;
+ lean_dec_ref(x_248);
+ x_255 = lean_box(0);
}
-lean_ctor_set(x_335, 0, x_333);
-lean_ctor_set_uint8(x_335, sizeof(void*)*1, x_27);
-if (lean_is_scalar(x_332)) {
- x_336 = lean_alloc_ctor(0, 4, 0);
+if (lean_is_scalar(x_255)) {
+ x_256 = lean_alloc_ctor(0, 1, 1);
} else {
- x_336 = x_332;
+ x_256 = x_255;
}
-lean_ctor_set(x_336, 0, x_329);
-lean_ctor_set(x_336, 1, x_330);
-lean_ctor_set(x_336, 2, x_331);
-lean_ctor_set(x_336, 3, x_335);
-x_337 = lean_st_ref_set(x_6, x_336, x_328);
+lean_ctor_set(x_256, 0, x_254);
+lean_ctor_set_uint8(x_256, sizeof(void*)*1, x_99);
+if (lean_is_scalar(x_253)) {
+ x_257 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_257 = x_253;
+}
+lean_ctor_set(x_257, 0, x_250);
+lean_ctor_set(x_257, 1, x_251);
+lean_ctor_set(x_257, 2, x_252);
+lean_ctor_set(x_257, 3, x_256);
+x_258 = lean_st_ref_set(x_6, x_257, x_249);
lean_dec(x_6);
-x_338 = lean_ctor_get(x_337, 1);
-lean_inc(x_338);
-if (lean_is_exclusive(x_337)) {
- lean_ctor_release(x_337, 0);
- lean_ctor_release(x_337, 1);
- x_339 = x_337;
+x_259 = lean_ctor_get(x_258, 1);
+lean_inc(x_259);
+if (lean_is_exclusive(x_258)) {
+ lean_ctor_release(x_258, 0);
+ lean_ctor_release(x_258, 1);
+ x_260 = x_258;
} else {
- lean_dec_ref(x_337);
- x_339 = lean_box(0);
+ lean_dec_ref(x_258);
+ x_260 = lean_box(0);
}
-x_340 = lean_box(x_324);
-x_341 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_341, 0, x_316);
-lean_ctor_set(x_341, 1, x_340);
-if (lean_is_scalar(x_339)) {
- x_342 = lean_alloc_ctor(0, 2, 0);
+if (lean_is_scalar(x_260)) {
+ x_261 = lean_alloc_ctor(1, 2, 0);
} else {
- x_342 = x_339;
+ x_261 = x_260;
+ lean_ctor_set_tag(x_261, 1);
}
-lean_ctor_set(x_342, 0, x_341);
-lean_ctor_set(x_342, 1, x_338);
-x_8 = x_342;
+lean_ctor_set(x_261, 0, x_242);
+lean_ctor_set(x_261, 1, x_259);
+x_8 = x_261;
+goto block_20;
+}
+block_314:
+{
+lean_object* x_264; uint8_t x_265; lean_object* x_266; lean_object* x_267; lean_object* x_268; lean_object* x_269; lean_object* x_270; lean_object* x_271; lean_object* x_272; lean_object* x_273; lean_object* x_274; lean_object* x_275; lean_object* x_276; lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280;
+lean_inc(x_1);
+x_264 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_264, 0, x_1);
+x_265 = 0;
+x_266 = lean_box(0);
+lean_inc(x_3);
+x_267 = l___private_Lean_Meta_Basic_0__Lean_Meta_mkFreshExprMVarImpl(x_264, x_265, x_266, x_3, x_4, x_5, x_6, x_263);
+x_268 = lean_ctor_get(x_267, 0);
+lean_inc(x_268);
+x_269 = lean_ctor_get(x_267, 1);
+lean_inc(x_269);
+lean_dec(x_267);
+x_270 = lean_st_ref_get(x_4, x_269);
+x_271 = lean_ctor_get(x_270, 0);
+lean_inc(x_271);
+x_272 = lean_ctor_get(x_270, 1);
+lean_inc(x_272);
+lean_dec(x_270);
+x_273 = lean_ctor_get(x_271, 0);
+lean_inc(x_273);
+lean_dec(x_271);
+lean_inc(x_273);
+x_274 = l_Lean_Meta_SynthInstance_mkTableKey(x_273, x_1);
+x_275 = l_Lean_Meta_SynthInstance_main___closed__1;
+x_276 = lean_st_mk_ref(x_275, x_272);
+x_277 = lean_ctor_get(x_276, 0);
+lean_inc(x_277);
+x_278 = lean_ctor_get(x_276, 1);
+lean_inc(x_278);
+lean_dec(x_276);
+x_279 = lean_box(1);
+lean_inc(x_6);
+lean_inc(x_5);
+lean_inc(x_4);
+lean_inc(x_3);
+lean_inc(x_277);
+x_280 = l_Lean_Meta_SynthInstance_newSubgoal(x_273, x_274, x_268, x_279, x_277, x_3, x_4, x_5, x_6, x_278);
+if (lean_obj_tag(x_280) == 0)
+{
+lean_object* x_281; lean_object* x_282;
+x_281 = lean_ctor_get(x_280, 1);
+lean_inc(x_281);
+lean_dec(x_280);
+lean_inc(x_6);
+lean_inc(x_277);
+x_282 = l_Lean_Meta_SynthInstance_synth(x_2, x_277, x_3, x_4, x_5, x_6, x_281);
+if (lean_obj_tag(x_282) == 0)
+{
+lean_object* x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286; lean_object* x_287; lean_object* x_288; lean_object* x_289; lean_object* x_290; uint8_t x_291; lean_object* x_292; lean_object* x_293; lean_object* x_294; lean_object* x_295; lean_object* x_296; lean_object* x_297; lean_object* x_298; lean_object* x_299; lean_object* x_300; lean_object* x_301; lean_object* x_302; lean_object* x_303; lean_object* x_304; lean_object* x_305; lean_object* x_306; lean_object* x_307; lean_object* x_308; lean_object* x_309;
+x_283 = lean_ctor_get(x_282, 0);
+lean_inc(x_283);
+x_284 = lean_ctor_get(x_282, 1);
+lean_inc(x_284);
+lean_dec(x_282);
+x_285 = lean_st_ref_get(x_277, x_284);
+lean_dec(x_277);
+x_286 = lean_ctor_get(x_285, 1);
+lean_inc(x_286);
+lean_dec(x_285);
+x_287 = lean_st_ref_get(x_6, x_286);
+x_288 = lean_ctor_get(x_287, 0);
+lean_inc(x_288);
+x_289 = lean_ctor_get(x_287, 1);
+lean_inc(x_289);
+lean_dec(x_287);
+x_290 = lean_ctor_get(x_288, 3);
+lean_inc(x_290);
+lean_dec(x_288);
+x_291 = lean_ctor_get_uint8(x_290, sizeof(void*)*1);
+lean_dec(x_290);
+x_292 = lean_st_ref_take(x_6, x_289);
+x_293 = lean_ctor_get(x_292, 0);
+lean_inc(x_293);
+x_294 = lean_ctor_get(x_293, 3);
+lean_inc(x_294);
+x_295 = lean_ctor_get(x_292, 1);
+lean_inc(x_295);
+lean_dec(x_292);
+x_296 = lean_ctor_get(x_293, 0);
+lean_inc(x_296);
+x_297 = lean_ctor_get(x_293, 1);
+lean_inc(x_297);
+x_298 = lean_ctor_get(x_293, 2);
+lean_inc(x_298);
+if (lean_is_exclusive(x_293)) {
+ lean_ctor_release(x_293, 0);
+ lean_ctor_release(x_293, 1);
+ lean_ctor_release(x_293, 2);
+ lean_ctor_release(x_293, 3);
+ x_299 = x_293;
+} else {
+ lean_dec_ref(x_293);
+ x_299 = lean_box(0);
+}
+x_300 = lean_ctor_get(x_294, 0);
+lean_inc(x_300);
+if (lean_is_exclusive(x_294)) {
+ lean_ctor_release(x_294, 0);
+ x_301 = x_294;
+} else {
+ lean_dec_ref(x_294);
+ x_301 = lean_box(0);
+}
+if (lean_is_scalar(x_301)) {
+ x_302 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_302 = x_301;
+}
+lean_ctor_set(x_302, 0, x_300);
+lean_ctor_set_uint8(x_302, sizeof(void*)*1, x_99);
+if (lean_is_scalar(x_299)) {
+ x_303 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_303 = x_299;
+}
+lean_ctor_set(x_303, 0, x_296);
+lean_ctor_set(x_303, 1, x_297);
+lean_ctor_set(x_303, 2, x_298);
+lean_ctor_set(x_303, 3, x_302);
+x_304 = lean_st_ref_set(x_6, x_303, x_295);
+lean_dec(x_6);
+x_305 = lean_ctor_get(x_304, 1);
+lean_inc(x_305);
+if (lean_is_exclusive(x_304)) {
+ lean_ctor_release(x_304, 0);
+ lean_ctor_release(x_304, 1);
+ x_306 = x_304;
+} else {
+ lean_dec_ref(x_304);
+ x_306 = lean_box(0);
+}
+x_307 = lean_box(x_291);
+x_308 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_308, 0, x_283);
+lean_ctor_set(x_308, 1, x_307);
+if (lean_is_scalar(x_306)) {
+ x_309 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_309 = x_306;
+}
+lean_ctor_set(x_309, 0, x_308);
+lean_ctor_set(x_309, 1, x_305);
+x_8 = x_309;
goto block_20;
}
else
{
-lean_object* x_343; lean_object* x_344;
-lean_dec(x_310);
-x_343 = lean_ctor_get(x_315, 0);
-lean_inc(x_343);
-x_344 = lean_ctor_get(x_315, 1);
-lean_inc(x_344);
-lean_dec(x_315);
-x_275 = x_343;
-x_276 = x_344;
-goto block_295;
+lean_object* x_310; lean_object* x_311;
+lean_dec(x_277);
+x_310 = lean_ctor_get(x_282, 0);
+lean_inc(x_310);
+x_311 = lean_ctor_get(x_282, 1);
+lean_inc(x_311);
+lean_dec(x_282);
+x_242 = x_310;
+x_243 = x_311;
+goto block_262;
}
}
else
{
-lean_object* x_345; lean_object* x_346;
-lean_dec(x_310);
+lean_object* x_312; lean_object* x_313;
+lean_dec(x_277);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_345 = lean_ctor_get(x_313, 0);
-lean_inc(x_345);
-x_346 = lean_ctor_get(x_313, 1);
+x_312 = lean_ctor_get(x_280, 0);
+lean_inc(x_312);
+x_313 = lean_ctor_get(x_280, 1);
+lean_inc(x_313);
+lean_dec(x_280);
+x_242 = x_312;
+x_243 = x_313;
+goto block_262;
+}
+}
+block_325:
+{
+if (x_315 == 0)
+{
+x_263 = x_316;
+goto block_314;
+}
+else
+{
+lean_object* x_317; lean_object* x_318; lean_object* x_319; lean_object* x_320; lean_object* x_321; lean_object* x_322; lean_object* x_323; lean_object* x_324;
+lean_inc(x_1);
+x_317 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_317, 0, x_1);
+x_318 = l_Lean_Meta_SynthInstance_main___closed__3;
+x_319 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_319, 0, x_318);
+lean_ctor_set(x_319, 1, x_317);
+x_320 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_321 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_321, 0, x_319);
+lean_ctor_set(x_321, 1, x_320);
+x_322 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
+x_323 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_322, x_321, x_3, x_4, x_5, x_6, x_316);
+x_324 = lean_ctor_get(x_323, 1);
+lean_inc(x_324);
+lean_dec(x_323);
+x_263 = x_324;
+goto block_314;
+}
+}
+}
+}
+else
+{
+lean_object* x_337; lean_object* x_338; lean_object* x_339; lean_object* x_340; lean_object* x_341; uint8_t x_342; lean_object* x_343; lean_object* x_344; lean_object* x_345; lean_object* x_346; lean_object* x_347; lean_object* x_348; lean_object* x_368; uint8_t x_420; lean_object* x_421; lean_object* x_431; lean_object* x_432; lean_object* x_433; uint8_t x_434;
+x_337 = lean_ctor_get(x_101, 0);
+x_338 = lean_ctor_get(x_101, 1);
+x_339 = lean_ctor_get(x_101, 2);
+lean_inc(x_339);
+lean_inc(x_338);
+lean_inc(x_337);
+lean_dec(x_101);
+x_340 = lean_ctor_get(x_102, 0);
+lean_inc(x_340);
+if (lean_is_exclusive(x_102)) {
+ lean_ctor_release(x_102, 0);
+ x_341 = x_102;
+} else {
+ lean_dec_ref(x_102);
+ x_341 = lean_box(0);
+}
+x_342 = 0;
+if (lean_is_scalar(x_341)) {
+ x_343 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_343 = x_341;
+}
+lean_ctor_set(x_343, 0, x_340);
+lean_ctor_set_uint8(x_343, sizeof(void*)*1, x_342);
+x_344 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_344, 0, x_337);
+lean_ctor_set(x_344, 1, x_338);
+lean_ctor_set(x_344, 2, x_339);
+lean_ctor_set(x_344, 3, x_343);
+x_345 = lean_st_ref_set(x_6, x_344, x_103);
+x_346 = lean_ctor_get(x_345, 1);
lean_inc(x_346);
-lean_dec(x_313);
-x_275 = x_345;
-x_276 = x_346;
-goto block_295;
-}
-}
-block_358:
-{
-if (x_348 == 0)
-{
-x_296 = x_349;
-goto block_347;
-}
-else
-{
-lean_object* x_350; lean_object* x_351; lean_object* x_352; lean_object* x_353; lean_object* x_354; lean_object* x_355; lean_object* x_356; lean_object* x_357;
-lean_inc(x_1);
-x_350 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_350, 0, x_1);
-x_351 = l_Lean_Meta_SynthInstance_main___closed__3;
-x_352 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_352, 0, x_351);
-lean_ctor_set(x_352, 1, x_350);
-x_353 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_354 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_354, 0, x_352);
-lean_ctor_set(x_354, 1, x_353);
-x_355 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
-x_356 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_355, x_354, x_3, x_4, x_5, x_6, x_349);
-x_357 = lean_ctor_get(x_356, 1);
-lean_inc(x_357);
-lean_dec(x_356);
-x_296 = x_357;
-goto block_347;
-}
-}
-}
-}
-else
-{
-lean_object* x_370; lean_object* x_371; lean_object* x_372; lean_object* x_373; lean_object* x_374; lean_object* x_375; lean_object* x_383; uint8_t x_418; lean_object* x_419; lean_object* x_429; lean_object* x_430; lean_object* x_431; uint8_t x_432;
-x_370 = lean_ctor_get(x_5, 3);
-lean_inc(x_370);
-x_371 = l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_SynthInstance_main___spec__1___rarg(x_6, x_22);
-x_372 = lean_ctor_get(x_371, 0);
-lean_inc(x_372);
-x_373 = lean_ctor_get(x_371, 1);
-lean_inc(x_373);
-lean_dec(x_371);
-x_429 = lean_st_ref_get(x_6, x_373);
-x_430 = lean_ctor_get(x_429, 0);
-lean_inc(x_430);
-x_431 = lean_ctor_get(x_430, 3);
-lean_inc(x_431);
-lean_dec(x_430);
-x_432 = lean_ctor_get_uint8(x_431, sizeof(void*)*1);
-lean_dec(x_431);
-if (x_432 == 0)
-{
-lean_object* x_433; uint8_t x_434;
-x_433 = lean_ctor_get(x_429, 1);
+lean_dec(x_345);
+x_431 = lean_st_ref_get(x_6, x_346);
+x_432 = lean_ctor_get(x_431, 0);
+lean_inc(x_432);
+x_433 = lean_ctor_get(x_432, 3);
lean_inc(x_433);
-lean_dec(x_429);
-x_434 = 0;
-x_418 = x_434;
-x_419 = x_433;
-goto block_428;
-}
-else
+lean_dec(x_432);
+x_434 = lean_ctor_get_uint8(x_433, sizeof(void*)*1);
+lean_dec(x_433);
+if (x_434 == 0)
{
-lean_object* x_435; lean_object* x_436; lean_object* x_437; lean_object* x_438; lean_object* x_439; uint8_t x_440;
-x_435 = lean_ctor_get(x_429, 1);
+lean_object* x_435;
+x_435 = lean_ctor_get(x_431, 1);
lean_inc(x_435);
-lean_dec(x_429);
-x_436 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
-x_437 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_436, x_3, x_4, x_5, x_6, x_435);
-x_438 = lean_ctor_get(x_437, 0);
-lean_inc(x_438);
-x_439 = lean_ctor_get(x_437, 1);
-lean_inc(x_439);
-lean_dec(x_437);
-x_440 = lean_unbox(x_438);
-lean_dec(x_438);
-x_418 = x_440;
-x_419 = x_439;
-goto block_428;
-}
-block_382:
-{
-lean_object* x_376; lean_object* x_377; uint8_t x_378;
-x_376 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
-x_377 = l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_SynthInstance_main___spec__2(x_372, x_376, x_370, x_3, x_4, x_5, x_6, x_375);
-lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_378 = !lean_is_exclusive(x_377);
-if (x_378 == 0)
-{
-lean_object* x_379;
-x_379 = lean_ctor_get(x_377, 0);
-lean_dec(x_379);
-lean_ctor_set_tag(x_377, 1);
-lean_ctor_set(x_377, 0, x_374);
-return x_377;
+lean_dec(x_431);
+x_420 = x_342;
+x_421 = x_435;
+goto block_430;
}
else
{
-lean_object* x_380; lean_object* x_381;
-x_380 = lean_ctor_get(x_377, 1);
-lean_inc(x_380);
-lean_dec(x_377);
-x_381 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_381, 0, x_374);
-lean_ctor_set(x_381, 1, x_380);
-return x_381;
+lean_object* x_436; lean_object* x_437; lean_object* x_438; lean_object* x_439; lean_object* x_440; uint8_t x_441;
+x_436 = lean_ctor_get(x_431, 1);
+lean_inc(x_436);
+lean_dec(x_431);
+x_437 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
+x_438 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_437, x_3, x_4, x_5, x_6, x_436);
+x_439 = lean_ctor_get(x_438, 0);
+lean_inc(x_439);
+x_440 = lean_ctor_get(x_438, 1);
+lean_inc(x_440);
+lean_dec(x_438);
+x_441 = lean_unbox(x_439);
+lean_dec(x_439);
+x_420 = x_441;
+x_421 = x_440;
+goto block_430;
}
-}
-block_417:
+block_367:
{
-lean_object* x_384; uint8_t x_385; lean_object* x_386; lean_object* x_387; lean_object* x_388; lean_object* x_389; lean_object* x_390; lean_object* x_391; lean_object* x_392; lean_object* x_393; lean_object* x_394; lean_object* x_395; lean_object* x_396; lean_object* x_397; lean_object* x_398; lean_object* x_399; lean_object* x_400;
+lean_object* x_349; lean_object* x_350; lean_object* x_351; lean_object* x_352; lean_object* x_353; lean_object* x_354; lean_object* x_355; lean_object* x_356; lean_object* x_357; lean_object* x_358; lean_object* x_359; lean_object* x_360; lean_object* x_361; lean_object* x_362; lean_object* x_363; lean_object* x_364; lean_object* x_365; lean_object* x_366;
+x_349 = lean_st_ref_get(x_6, x_348);
+x_350 = lean_ctor_get(x_349, 1);
+lean_inc(x_350);
+lean_dec(x_349);
+x_351 = lean_st_ref_take(x_6, x_350);
+x_352 = lean_ctor_get(x_351, 0);
+lean_inc(x_352);
+x_353 = lean_ctor_get(x_352, 3);
+lean_inc(x_353);
+x_354 = lean_ctor_get(x_351, 1);
+lean_inc(x_354);
+lean_dec(x_351);
+x_355 = lean_ctor_get(x_352, 0);
+lean_inc(x_355);
+x_356 = lean_ctor_get(x_352, 1);
+lean_inc(x_356);
+x_357 = lean_ctor_get(x_352, 2);
+lean_inc(x_357);
+if (lean_is_exclusive(x_352)) {
+ lean_ctor_release(x_352, 0);
+ lean_ctor_release(x_352, 1);
+ lean_ctor_release(x_352, 2);
+ lean_ctor_release(x_352, 3);
+ x_358 = x_352;
+} else {
+ lean_dec_ref(x_352);
+ x_358 = lean_box(0);
+}
+x_359 = lean_ctor_get(x_353, 0);
+lean_inc(x_359);
+if (lean_is_exclusive(x_353)) {
+ lean_ctor_release(x_353, 0);
+ x_360 = x_353;
+} else {
+ lean_dec_ref(x_353);
+ x_360 = lean_box(0);
+}
+if (lean_is_scalar(x_360)) {
+ x_361 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_361 = x_360;
+}
+lean_ctor_set(x_361, 0, x_359);
+lean_ctor_set_uint8(x_361, sizeof(void*)*1, x_99);
+if (lean_is_scalar(x_358)) {
+ x_362 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_362 = x_358;
+}
+lean_ctor_set(x_362, 0, x_355);
+lean_ctor_set(x_362, 1, x_356);
+lean_ctor_set(x_362, 2, x_357);
+lean_ctor_set(x_362, 3, x_361);
+x_363 = lean_st_ref_set(x_6, x_362, x_354);
+lean_dec(x_6);
+x_364 = lean_ctor_get(x_363, 1);
+lean_inc(x_364);
+if (lean_is_exclusive(x_363)) {
+ lean_ctor_release(x_363, 0);
+ lean_ctor_release(x_363, 1);
+ x_365 = x_363;
+} else {
+ lean_dec_ref(x_363);
+ x_365 = lean_box(0);
+}
+if (lean_is_scalar(x_365)) {
+ x_366 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_366 = x_365;
+ lean_ctor_set_tag(x_366, 1);
+}
+lean_ctor_set(x_366, 0, x_347);
+lean_ctor_set(x_366, 1, x_364);
+x_8 = x_366;
+goto block_20;
+}
+block_419:
+{
+lean_object* x_369; uint8_t x_370; lean_object* x_371; lean_object* x_372; lean_object* x_373; lean_object* x_374; lean_object* x_375; lean_object* x_376; lean_object* x_377; lean_object* x_378; lean_object* x_379; lean_object* x_380; lean_object* x_381; lean_object* x_382; lean_object* x_383; lean_object* x_384; lean_object* x_385;
lean_inc(x_1);
-x_384 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_384, 0, x_1);
-x_385 = 0;
-x_386 = lean_box(0);
+x_369 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_369, 0, x_1);
+x_370 = 0;
+x_371 = lean_box(0);
lean_inc(x_3);
-x_387 = l___private_Lean_Meta_Basic_0__Lean_Meta_mkFreshExprMVarImpl(x_384, x_385, x_386, x_3, x_4, x_5, x_6, x_383);
+x_372 = l___private_Lean_Meta_Basic_0__Lean_Meta_mkFreshExprMVarImpl(x_369, x_370, x_371, x_3, x_4, x_5, x_6, x_368);
+x_373 = lean_ctor_get(x_372, 0);
+lean_inc(x_373);
+x_374 = lean_ctor_get(x_372, 1);
+lean_inc(x_374);
+lean_dec(x_372);
+x_375 = lean_st_ref_get(x_4, x_374);
+x_376 = lean_ctor_get(x_375, 0);
+lean_inc(x_376);
+x_377 = lean_ctor_get(x_375, 1);
+lean_inc(x_377);
+lean_dec(x_375);
+x_378 = lean_ctor_get(x_376, 0);
+lean_inc(x_378);
+lean_dec(x_376);
+lean_inc(x_378);
+x_379 = l_Lean_Meta_SynthInstance_mkTableKey(x_378, x_1);
+x_380 = l_Lean_Meta_SynthInstance_main___closed__1;
+x_381 = lean_st_mk_ref(x_380, x_377);
+x_382 = lean_ctor_get(x_381, 0);
+lean_inc(x_382);
+x_383 = lean_ctor_get(x_381, 1);
+lean_inc(x_383);
+lean_dec(x_381);
+x_384 = lean_box(1);
+lean_inc(x_6);
+lean_inc(x_5);
+lean_inc(x_4);
+lean_inc(x_3);
+lean_inc(x_382);
+x_385 = l_Lean_Meta_SynthInstance_newSubgoal(x_378, x_379, x_373, x_384, x_382, x_3, x_4, x_5, x_6, x_383);
+if (lean_obj_tag(x_385) == 0)
+{
+lean_object* x_386; lean_object* x_387;
+x_386 = lean_ctor_get(x_385, 1);
+lean_inc(x_386);
+lean_dec(x_385);
+lean_inc(x_6);
+lean_inc(x_382);
+x_387 = l_Lean_Meta_SynthInstance_synth(x_2, x_382, x_3, x_4, x_5, x_6, x_386);
+if (lean_obj_tag(x_387) == 0)
+{
+lean_object* x_388; lean_object* x_389; lean_object* x_390; lean_object* x_391; lean_object* x_392; lean_object* x_393; lean_object* x_394; lean_object* x_395; uint8_t x_396; lean_object* x_397; lean_object* x_398; lean_object* x_399; lean_object* x_400; lean_object* x_401; lean_object* x_402; lean_object* x_403; lean_object* x_404; lean_object* x_405; lean_object* x_406; lean_object* x_407; lean_object* x_408; lean_object* x_409; lean_object* x_410; lean_object* x_411; lean_object* x_412; lean_object* x_413; lean_object* x_414;
x_388 = lean_ctor_get(x_387, 0);
lean_inc(x_388);
x_389 = lean_ctor_get(x_387, 1);
lean_inc(x_389);
lean_dec(x_387);
-x_390 = lean_st_ref_get(x_4, x_389);
-x_391 = lean_ctor_get(x_390, 0);
+x_390 = lean_st_ref_get(x_382, x_389);
+lean_dec(x_382);
+x_391 = lean_ctor_get(x_390, 1);
lean_inc(x_391);
-x_392 = lean_ctor_get(x_390, 1);
-lean_inc(x_392);
lean_dec(x_390);
-x_393 = lean_ctor_get(x_391, 0);
+x_392 = lean_st_ref_get(x_6, x_391);
+x_393 = lean_ctor_get(x_392, 0);
lean_inc(x_393);
-lean_dec(x_391);
-lean_inc(x_393);
-x_394 = l_Lean_Meta_SynthInstance_mkTableKey(x_393, x_1);
-x_395 = l_Lean_Meta_SynthInstance_main___closed__1;
-x_396 = lean_st_mk_ref(x_395, x_392);
-x_397 = lean_ctor_get(x_396, 0);
-lean_inc(x_397);
-x_398 = lean_ctor_get(x_396, 1);
+x_394 = lean_ctor_get(x_392, 1);
+lean_inc(x_394);
+lean_dec(x_392);
+x_395 = lean_ctor_get(x_393, 3);
+lean_inc(x_395);
+lean_dec(x_393);
+x_396 = lean_ctor_get_uint8(x_395, sizeof(void*)*1);
+lean_dec(x_395);
+x_397 = lean_st_ref_take(x_6, x_394);
+x_398 = lean_ctor_get(x_397, 0);
lean_inc(x_398);
-lean_dec(x_396);
-x_399 = lean_box(1);
-lean_inc(x_6);
-lean_inc(x_5);
-lean_inc(x_4);
-lean_inc(x_3);
-lean_inc(x_397);
-x_400 = l_Lean_Meta_SynthInstance_newSubgoal(x_393, x_394, x_388, x_399, x_397, x_3, x_4, x_5, x_6, x_398);
-if (lean_obj_tag(x_400) == 0)
-{
-lean_object* x_401; lean_object* x_402;
-x_401 = lean_ctor_get(x_400, 1);
+x_399 = lean_ctor_get(x_398, 3);
+lean_inc(x_399);
+x_400 = lean_ctor_get(x_397, 1);
+lean_inc(x_400);
+lean_dec(x_397);
+x_401 = lean_ctor_get(x_398, 0);
lean_inc(x_401);
-lean_dec(x_400);
-lean_inc(x_6);
-lean_inc(x_5);
-lean_inc(x_4);
-lean_inc(x_3);
-lean_inc(x_397);
-x_402 = l_Lean_Meta_SynthInstance_synth(x_2, x_397, x_3, x_4, x_5, x_6, x_401);
-if (lean_obj_tag(x_402) == 0)
-{
-lean_object* x_403; lean_object* x_404; lean_object* x_405; lean_object* x_406; lean_object* x_407; lean_object* x_408; uint8_t x_409;
-x_403 = lean_ctor_get(x_402, 0);
+x_402 = lean_ctor_get(x_398, 1);
+lean_inc(x_402);
+x_403 = lean_ctor_get(x_398, 2);
lean_inc(x_403);
-x_404 = lean_ctor_get(x_402, 1);
-lean_inc(x_404);
-lean_dec(x_402);
-x_405 = lean_st_ref_get(x_397, x_404);
-lean_dec(x_397);
-x_406 = lean_ctor_get(x_405, 1);
-lean_inc(x_406);
-lean_dec(x_405);
-x_407 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
-x_408 = l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_SynthInstance_main___spec__2(x_372, x_407, x_370, x_3, x_4, x_5, x_6, x_406);
+if (lean_is_exclusive(x_398)) {
+ lean_ctor_release(x_398, 0);
+ lean_ctor_release(x_398, 1);
+ lean_ctor_release(x_398, 2);
+ lean_ctor_release(x_398, 3);
+ x_404 = x_398;
+} else {
+ lean_dec_ref(x_398);
+ x_404 = lean_box(0);
+}
+x_405 = lean_ctor_get(x_399, 0);
+lean_inc(x_405);
+if (lean_is_exclusive(x_399)) {
+ lean_ctor_release(x_399, 0);
+ x_406 = x_399;
+} else {
+ lean_dec_ref(x_399);
+ x_406 = lean_box(0);
+}
+if (lean_is_scalar(x_406)) {
+ x_407 = lean_alloc_ctor(0, 1, 1);
+} else {
+ x_407 = x_406;
+}
+lean_ctor_set(x_407, 0, x_405);
+lean_ctor_set_uint8(x_407, sizeof(void*)*1, x_99);
+if (lean_is_scalar(x_404)) {
+ x_408 = lean_alloc_ctor(0, 4, 0);
+} else {
+ x_408 = x_404;
+}
+lean_ctor_set(x_408, 0, x_401);
+lean_ctor_set(x_408, 1, x_402);
+lean_ctor_set(x_408, 2, x_403);
+lean_ctor_set(x_408, 3, x_407);
+x_409 = lean_st_ref_set(x_6, x_408, x_400);
lean_dec(x_6);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_409 = !lean_is_exclusive(x_408);
-if (x_409 == 0)
-{
-lean_object* x_410;
-x_410 = lean_ctor_get(x_408, 0);
-lean_dec(x_410);
-lean_ctor_set(x_408, 0, x_403);
-return x_408;
+x_410 = lean_ctor_get(x_409, 1);
+lean_inc(x_410);
+if (lean_is_exclusive(x_409)) {
+ lean_ctor_release(x_409, 0);
+ lean_ctor_release(x_409, 1);
+ x_411 = x_409;
+} else {
+ lean_dec_ref(x_409);
+ x_411 = lean_box(0);
}
-else
-{
-lean_object* x_411; lean_object* x_412;
-x_411 = lean_ctor_get(x_408, 1);
-lean_inc(x_411);
-lean_dec(x_408);
-x_412 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_412, 0, x_403);
-lean_ctor_set(x_412, 1, x_411);
-return x_412;
-}
-}
-else
-{
-lean_object* x_413; lean_object* x_414;
-lean_dec(x_397);
-x_413 = lean_ctor_get(x_402, 0);
-lean_inc(x_413);
-x_414 = lean_ctor_get(x_402, 1);
-lean_inc(x_414);
-lean_dec(x_402);
-x_374 = x_413;
-x_375 = x_414;
-goto block_382;
+x_412 = lean_box(x_396);
+x_413 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_413, 0, x_388);
+lean_ctor_set(x_413, 1, x_412);
+if (lean_is_scalar(x_411)) {
+ x_414 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_414 = x_411;
}
+lean_ctor_set(x_414, 0, x_413);
+lean_ctor_set(x_414, 1, x_410);
+x_8 = x_414;
+goto block_20;
}
else
{
lean_object* x_415; lean_object* x_416;
-lean_dec(x_397);
-lean_dec(x_2);
-x_415 = lean_ctor_get(x_400, 0);
+lean_dec(x_382);
+x_415 = lean_ctor_get(x_387, 0);
lean_inc(x_415);
-x_416 = lean_ctor_get(x_400, 1);
+x_416 = lean_ctor_get(x_387, 1);
lean_inc(x_416);
-lean_dec(x_400);
-x_374 = x_415;
-x_375 = x_416;
-goto block_382;
+lean_dec(x_387);
+x_347 = x_415;
+x_348 = x_416;
+goto block_367;
}
}
-block_428:
-{
-if (x_418 == 0)
-{
-x_383 = x_419;
-goto block_417;
-}
else
{
-lean_object* x_420; lean_object* x_421; lean_object* x_422; lean_object* x_423; lean_object* x_424; lean_object* x_425; lean_object* x_426; lean_object* x_427;
+lean_object* x_417; lean_object* x_418;
+lean_dec(x_382);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+x_417 = lean_ctor_get(x_385, 0);
+lean_inc(x_417);
+x_418 = lean_ctor_get(x_385, 1);
+lean_inc(x_418);
+lean_dec(x_385);
+x_347 = x_417;
+x_348 = x_418;
+goto block_367;
+}
+}
+block_430:
+{
+if (x_420 == 0)
+{
+x_368 = x_421;
+goto block_419;
+}
+else
+{
+lean_object* x_422; lean_object* x_423; lean_object* x_424; lean_object* x_425; lean_object* x_426; lean_object* x_427; lean_object* x_428; lean_object* x_429;
lean_inc(x_1);
-x_420 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_420, 0, x_1);
-x_421 = l_Lean_Meta_SynthInstance_main___closed__3;
-x_422 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_422, 0, x_421);
-lean_ctor_set(x_422, 1, x_420);
-x_423 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_422 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_422, 0, x_1);
+x_423 = l_Lean_Meta_SynthInstance_main___closed__3;
x_424 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_424, 0, x_422);
-lean_ctor_set(x_424, 1, x_423);
-x_425 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
-x_426 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_425, x_424, x_3, x_4, x_5, x_6, x_419);
-x_427 = lean_ctor_get(x_426, 1);
-lean_inc(x_427);
-lean_dec(x_426);
-x_383 = x_427;
-goto block_417;
+lean_ctor_set(x_424, 0, x_423);
+lean_ctor_set(x_424, 1, x_422);
+x_425 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_426 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_426, 0, x_424);
+lean_ctor_set(x_426, 1, x_425);
+x_427 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
+x_428 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_427, x_426, x_3, x_4, x_5, x_6, x_421);
+x_429 = lean_ctor_get(x_428, 1);
+lean_inc(x_429);
+lean_dec(x_428);
+x_368 = x_429;
+goto block_419;
}
}
}
}
}
}
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_SynthInstance_main___spec__1___rarg___boxed(lean_object* x_1, lean_object* x_2) {
+}
+}
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_SynthInstance_main___spec__1___rarg___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
-x_3 = l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_SynthInstance_main___spec__1___rarg(x_1, x_2);
+x_3 = l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_SynthInstance_main___spec__1___rarg(x_1, x_2);
lean_dec(x_1);
return x_3;
}
}
-lean_object* l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_SynthInstance_main___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_SynthInstance_main___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
-x_4 = l___private_Lean_Util_Trace_5__getResetTraces___at_Lean_Meta_SynthInstance_main___spec__1(x_1, x_2, x_3);
+x_4 = l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean_Meta_SynthInstance_main___spec__1(x_1, x_2, x_3);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
return x_4;
}
}
-lean_object* l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_SynthInstance_main___spec__2___boxed(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* l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_SynthInstance_main___spec__2___boxed(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:
{
lean_object* x_9;
-x_9 = l___private_Lean_Util_Trace_4__addNode___at_Lean_Meta_SynthInstance_main___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8);
+x_9 = l___private_Lean_Util_Trace_0__Lean_addNode___at_Lean_Meta_SynthInstance_main___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
@@ -17020,11 +17043,11 @@ lean_dec(x_4);
return x_9;
}
}
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_SynthInstance_main___spec__3___boxed(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* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_SynthInstance_main___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
lean_object* x_7;
-x_7 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_SynthInstance_main___spec__3(x_1, x_2, x_3, x_4, x_5, x_6);
+x_7 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_SynthInstance_main___spec__3(x_1, x_2, x_3, x_4, x_5, x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
@@ -18799,7 +18822,7 @@ x_89 = lean_ctor_get(x_83, 1);
lean_inc(x_89);
lean_dec(x_83);
x_90 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
-x_91 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_90, x_4, x_5, x_6, x_7, x_89);
+x_91 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_90, x_4, x_5, x_6, x_7, x_89);
x_92 = lean_ctor_get(x_91, 0);
lean_inc(x_92);
x_93 = lean_ctor_get(x_91, 1);
@@ -18895,7 +18918,7 @@ x_58 = lean_ctor_get(x_52, 1);
lean_inc(x_58);
lean_dec(x_52);
x_59 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
-x_60 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_59, x_4, x_5, x_6, x_7, x_58);
+x_60 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_59, x_4, x_5, x_6, x_7, x_58);
x_61 = lean_ctor_get(x_60, 0);
lean_inc(x_61);
x_62 = lean_ctor_get(x_60, 1);
@@ -19012,7 +19035,7 @@ x_47 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_47, 0, x_45);
lean_ctor_set(x_47, 1, x_46);
x_48 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
-x_49 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_48, x_47, x_4, x_5, x_6, x_7, x_42);
+x_49 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_48, x_47, x_4, x_5, x_6, x_7, x_42);
x_50 = lean_ctor_get(x_49, 1);
lean_inc(x_50);
lean_dec(x_49);
@@ -19080,7 +19103,7 @@ x_78 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_78, 0, x_77);
lean_ctor_set(x_78, 1, x_72);
x_79 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
-x_80 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_79, x_78, x_4, x_5, x_6, x_7, x_70);
+x_80 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_79, x_78, x_4, x_5, x_6, x_7, x_70);
x_81 = lean_ctor_get(x_80, 1);
lean_inc(x_81);
lean_dec(x_80);
@@ -19283,1833 +19306,1690 @@ return x_2;
lean_object* l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
-lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13;
+lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_22;
x_7 = lean_ctor_get(x_4, 0);
lean_inc(x_7);
x_8 = l___private_Lean_Meta_SynthInstance_0__Lean_Meta_getMaxSteps(x_7);
lean_dec(x_7);
x_9 = l_Lean_Meta_getConfig___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__3(x_2, x_3, x_4, x_5, x_6);
-x_10 = lean_ctor_get(x_2, 0);
+x_10 = lean_ctor_get(x_9, 0);
lean_inc(x_10);
-x_11 = lean_ctor_get(x_9, 0);
+x_11 = lean_ctor_get(x_9, 1);
lean_inc(x_11);
-x_12 = lean_ctor_get(x_9, 1);
-lean_inc(x_12);
lean_dec(x_9);
-x_13 = !lean_is_exclusive(x_2);
-if (x_13 == 0)
+x_22 = !lean_is_exclusive(x_2);
+if (x_22 == 0)
{
-lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t x_17;
-x_14 = lean_ctor_get(x_2, 1);
-x_15 = lean_ctor_get(x_2, 2);
-x_16 = lean_ctor_get(x_2, 0);
-lean_dec(x_16);
-x_17 = !lean_is_exclusive(x_10);
-if (x_17 == 0)
+lean_object* x_23; uint8_t x_24;
+x_23 = lean_ctor_get(x_2, 0);
+x_24 = !lean_is_exclusive(x_23);
+if (x_24 == 0)
{
-uint8_t x_18; uint8_t x_19; uint8_t x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25;
-x_18 = 1;
-x_19 = 0;
-x_20 = 2;
-lean_ctor_set_uint8(x_10, 0, x_18);
-lean_ctor_set_uint8(x_10, 1, x_18);
-lean_ctor_set_uint8(x_10, 3, x_19);
-lean_ctor_set_uint8(x_10, 4, x_18);
-lean_ctor_set_uint8(x_10, 5, x_20);
-lean_inc(x_15);
-lean_inc(x_14);
-x_21 = l_Lean_Meta_instantiateMVars___at_Lean_Meta_instantiateLocalDeclMVars___spec__1(x_1, x_2, x_3, x_4, x_5, x_12);
-x_22 = lean_ctor_get(x_21, 0);
-lean_inc(x_22);
-x_23 = lean_ctor_get(x_21, 1);
-lean_inc(x_23);
-lean_dec(x_21);
-x_24 = l___private_Lean_Meta_SynthInstance_0__Lean_Meta_preprocess___closed__1;
-lean_inc(x_5);
-lean_inc(x_4);
-lean_inc(x_3);
-lean_inc(x_2);
-x_25 = l_Lean_Meta_forallTelescopeReducing___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_preprocess___spec__1___rarg(x_22, x_24, x_2, x_3, x_4, x_5, x_23);
-if (lean_obj_tag(x_25) == 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; uint8_t x_27; uint8_t x_28; uint8_t x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34;
+x_25 = lean_ctor_get(x_2, 1);
+x_26 = lean_ctor_get(x_2, 2);
+x_27 = 1;
+x_28 = 0;
+x_29 = 2;
+lean_ctor_set_uint8(x_23, 0, x_27);
+lean_ctor_set_uint8(x_23, 1, x_27);
+lean_ctor_set_uint8(x_23, 3, x_28);
+lean_ctor_set_uint8(x_23, 4, x_27);
+lean_ctor_set_uint8(x_23, 5, x_29);
lean_inc(x_26);
-x_27 = lean_ctor_get(x_25, 1);
-lean_inc(x_27);
-lean_dec(x_25);
-x_28 = lean_st_ref_get(x_3, x_27);
-x_29 = !lean_is_exclusive(x_28);
-if (x_29 == 0)
-{
-lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34;
-x_30 = lean_ctor_get(x_28, 0);
-x_31 = lean_ctor_get(x_28, 1);
+lean_inc(x_25);
+x_30 = l_Lean_Meta_instantiateMVars___at_Lean_Meta_instantiateLocalDeclMVars___spec__1(x_1, x_2, x_3, x_4, x_5, x_11);
+x_31 = lean_ctor_get(x_30, 0);
+lean_inc(x_31);
x_32 = lean_ctor_get(x_30, 1);
lean_inc(x_32);
lean_dec(x_30);
-x_33 = lean_ctor_get(x_32, 2);
-lean_inc(x_33);
-lean_dec(x_32);
-x_34 = l_Std_PersistentHashMap_find_x3f___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___spec__1(x_33, x_26);
+x_33 = l___private_Lean_Meta_SynthInstance_0__Lean_Meta_preprocess___closed__1;
+lean_inc(x_5);
+lean_inc(x_4);
+lean_inc(x_3);
+lean_inc(x_2);
+x_34 = l_Lean_Meta_forallTelescopeReducing___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_preprocess___spec__1___rarg(x_31, x_33, x_2, x_3, x_4, x_5, x_32);
if (lean_obj_tag(x_34) == 0)
{
-lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38;
-lean_free_object(x_28);
-lean_inc(x_26);
-x_35 = lean_alloc_closure((void*)(l___private_Lean_Meta_SynthInstance_0__Lean_Meta_preprocessOutParam), 6, 1);
-lean_closure_set(x_35, 0, x_26);
-lean_inc(x_26);
-x_36 = lean_alloc_closure((void*)(l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___lambda__1), 8, 2);
-lean_closure_set(x_36, 0, x_8);
-lean_closure_set(x_36, 1, x_26);
-x_37 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Meta_Lean_Meta_Basic___instance__5___spec__2___rarg), 7, 2);
-lean_closure_set(x_37, 0, x_35);
-lean_closure_set(x_37, 1, x_36);
+lean_object* x_35; lean_object* x_36; lean_object* x_37; uint8_t x_38;
+x_35 = lean_ctor_get(x_34, 0);
+lean_inc(x_35);
+x_36 = lean_ctor_get(x_34, 1);
+lean_inc(x_36);
+lean_dec(x_34);
+x_37 = lean_st_ref_get(x_3, x_36);
+x_38 = !lean_is_exclusive(x_37);
+if (x_38 == 0)
+{
+lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43;
+x_39 = lean_ctor_get(x_37, 0);
+x_40 = lean_ctor_get(x_37, 1);
+x_41 = lean_ctor_get(x_39, 1);
+lean_inc(x_41);
+lean_dec(x_39);
+x_42 = lean_ctor_get(x_41, 2);
+lean_inc(x_42);
+lean_dec(x_41);
+x_43 = l_Std_PersistentHashMap_find_x3f___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___spec__1(x_42, x_35);
+if (lean_obj_tag(x_43) == 0)
+{
+lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47;
+lean_free_object(x_37);
+lean_inc(x_35);
+x_44 = lean_alloc_closure((void*)(l___private_Lean_Meta_SynthInstance_0__Lean_Meta_preprocessOutParam), 6, 1);
+lean_closure_set(x_44, 0, x_35);
+lean_inc(x_35);
+x_45 = lean_alloc_closure((void*)(l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___lambda__1), 8, 2);
+lean_closure_set(x_45, 0, x_8);
+lean_closure_set(x_45, 1, x_35);
+x_46 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Meta_Lean_Meta_Basic___instance__5___spec__2___rarg), 7, 2);
+lean_closure_set(x_46, 0, x_44);
+lean_closure_set(x_46, 1, x_45);
lean_inc(x_5);
lean_inc(x_4);
lean_inc(x_3);
lean_inc(x_2);
-x_38 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_37, x_2, x_3, x_4, x_5, x_31);
-if (lean_obj_tag(x_38) == 0)
+x_47 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_46, x_2, x_3, x_4, x_5, x_40);
+if (lean_obj_tag(x_47) == 0)
{
-lean_object* x_39;
-x_39 = lean_ctor_get(x_38, 0);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
+lean_object* x_48;
+x_48 = lean_ctor_get(x_47, 0);
+lean_inc(x_48);
+if (lean_obj_tag(x_48) == 0)
{
-lean_object* x_40; lean_object* x_41; lean_object* x_42; uint8_t x_43;
-lean_dec(x_15);
-lean_dec(x_14);
-lean_dec(x_11);
-x_40 = lean_ctor_get(x_38, 1);
-lean_inc(x_40);
-lean_dec(x_38);
-x_41 = lean_box(0);
-x_42 = l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___lambda__2(x_26, x_41, x_2, x_3, x_4, x_5, x_40);
+lean_object* x_49; lean_object* x_50; lean_object* x_51;
+lean_dec(x_26);
+lean_dec(x_25);
+lean_dec(x_10);
+x_49 = lean_ctor_get(x_47, 1);
+lean_inc(x_49);
+lean_dec(x_47);
+x_50 = lean_box(0);
+x_51 = l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___lambda__2(x_35, x_50, x_2, x_3, x_4, x_5, x_49);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_43 = !lean_is_exclusive(x_42);
-if (x_43 == 0)
-{
-return x_42;
+x_12 = x_51;
+goto block_21;
}
else
{
-lean_object* x_44; lean_object* x_45; lean_object* x_46;
-x_44 = lean_ctor_get(x_42, 0);
-x_45 = lean_ctor_get(x_42, 1);
-lean_inc(x_45);
-lean_inc(x_44);
-lean_dec(x_42);
-x_46 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_46, 0, x_44);
-lean_ctor_set(x_46, 1, x_45);
-return x_46;
-}
-}
-else
-{
-lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; uint8_t x_84; lean_object* x_85; lean_object* x_95; lean_object* x_96; lean_object* x_97; uint8_t x_98;
-x_47 = lean_ctor_get(x_38, 1);
-lean_inc(x_47);
-lean_dec(x_38);
-x_48 = lean_ctor_get(x_39, 0);
-lean_inc(x_48);
-if (lean_is_exclusive(x_39)) {
- lean_ctor_release(x_39, 0);
- x_49 = x_39;
-} else {
- lean_dec_ref(x_39);
- x_49 = lean_box(0);
-}
-x_95 = lean_st_ref_get(x_5, x_47);
-x_96 = lean_ctor_get(x_95, 0);
-lean_inc(x_96);
-x_97 = lean_ctor_get(x_96, 3);
-lean_inc(x_97);
-lean_dec(x_96);
-x_98 = lean_ctor_get_uint8(x_97, sizeof(void*)*1);
-lean_dec(x_97);
-if (x_98 == 0)
-{
-lean_object* x_99;
-x_99 = lean_ctor_get(x_95, 1);
-lean_inc(x_99);
-lean_dec(x_95);
-x_84 = x_19;
-x_85 = x_99;
-goto block_94;
-}
-else
-{
-lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; uint8_t x_105;
-x_100 = lean_ctor_get(x_95, 1);
-lean_inc(x_100);
-lean_dec(x_95);
-x_101 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
-x_102 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_101, x_2, x_3, x_4, x_5, x_100);
-x_103 = lean_ctor_get(x_102, 0);
-lean_inc(x_103);
-x_104 = lean_ctor_get(x_102, 1);
-lean_inc(x_104);
-lean_dec(x_102);
-x_105 = lean_unbox(x_103);
-lean_dec(x_103);
-x_84 = x_105;
-x_85 = x_104;
-goto block_94;
-}
-block_83:
-{
-lean_object* x_51;
-lean_inc(x_5);
-lean_inc(x_4);
-lean_inc(x_3);
-lean_inc(x_2);
-lean_inc(x_48);
-x_51 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_48, x_2, x_3, x_4, x_5, x_50);
-if (lean_obj_tag(x_51) == 0)
-{
-lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55;
-x_52 = lean_ctor_get(x_51, 0);
+lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; uint8_t x_81; lean_object* x_82; lean_object* x_92; lean_object* x_93; lean_object* x_94; uint8_t x_95;
+x_52 = lean_ctor_get(x_47, 1);
lean_inc(x_52);
-x_53 = lean_ctor_get(x_51, 1);
+lean_dec(x_47);
+x_53 = lean_ctor_get(x_48, 0);
lean_inc(x_53);
-lean_dec(x_51);
-x_54 = lean_alloc_ctor(0, 3, 0);
-lean_ctor_set(x_54, 0, x_11);
-lean_ctor_set(x_54, 1, x_14);
-lean_ctor_set(x_54, 2, x_15);
-lean_inc(x_5);
-lean_inc(x_4);
-lean_inc(x_3);
-lean_inc(x_26);
-x_55 = l_Lean_Meta_isExprDefEq___at_Lean_Meta_isExprDefEqGuarded___spec__1(x_26, x_52, x_54, x_3, x_4, x_5, x_53);
-if (lean_obj_tag(x_55) == 0)
+if (lean_is_exclusive(x_48)) {
+ lean_ctor_release(x_48, 0);
+ x_54 = x_48;
+} else {
+ lean_dec_ref(x_48);
+ x_54 = lean_box(0);
+}
+x_92 = lean_st_ref_get(x_5, x_52);
+x_93 = lean_ctor_get(x_92, 0);
+lean_inc(x_93);
+x_94 = lean_ctor_get(x_93, 3);
+lean_inc(x_94);
+lean_dec(x_93);
+x_95 = lean_ctor_get_uint8(x_94, sizeof(void*)*1);
+lean_dec(x_94);
+if (x_95 == 0)
{
-lean_object* x_56; uint8_t x_57;
-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; lean_object* x_59; lean_object* x_60; uint8_t x_61;
-lean_dec(x_49);
-lean_dec(x_48);
-x_58 = lean_ctor_get(x_55, 1);
-lean_inc(x_58);
-lean_dec(x_55);
-x_59 = lean_box(0);
-x_60 = l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___lambda__2(x_26, x_59, x_2, x_3, x_4, x_5, x_58);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-x_61 = !lean_is_exclusive(x_60);
-if (x_61 == 0)
-{
-return x_60;
+lean_object* x_96;
+x_96 = lean_ctor_get(x_92, 1);
+lean_inc(x_96);
+lean_dec(x_92);
+x_81 = x_28;
+x_82 = x_96;
+goto block_91;
}
else
{
-lean_object* x_62; lean_object* x_63; lean_object* x_64;
-x_62 = lean_ctor_get(x_60, 0);
+lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; uint8_t x_102;
+x_97 = lean_ctor_get(x_92, 1);
+lean_inc(x_97);
+lean_dec(x_92);
+x_98 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
+x_99 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_98, x_2, x_3, x_4, x_5, x_97);
+x_100 = lean_ctor_get(x_99, 0);
+lean_inc(x_100);
+x_101 = lean_ctor_get(x_99, 1);
+lean_inc(x_101);
+lean_dec(x_99);
+x_102 = lean_unbox(x_100);
+lean_dec(x_100);
+x_81 = x_102;
+x_82 = x_101;
+goto block_91;
+}
+block_80:
+{
+lean_object* x_56;
+lean_inc(x_5);
+lean_inc(x_4);
+lean_inc(x_3);
+lean_inc(x_2);
+lean_inc(x_53);
+x_56 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_53, x_2, x_3, x_4, x_5, x_55);
+if (lean_obj_tag(x_56) == 0)
+{
+lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* 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);
+lean_dec(x_56);
+x_59 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_59, 0, x_10);
+lean_ctor_set(x_59, 1, x_25);
+lean_ctor_set(x_59, 2, x_26);
+lean_inc(x_5);
+lean_inc(x_4);
+lean_inc(x_3);
+lean_inc(x_35);
+x_60 = l_Lean_Meta_isExprDefEq___at_Lean_Meta_isExprDefEqGuarded___spec__1(x_35, x_57, x_59, x_3, x_4, x_5, x_58);
+if (lean_obj_tag(x_60) == 0)
+{
+lean_object* x_61; uint8_t x_62;
+x_61 = lean_ctor_get(x_60, 0);
+lean_inc(x_61);
+x_62 = lean_unbox(x_61);
+lean_dec(x_61);
+if (x_62 == 0)
+{
+lean_object* x_63; lean_object* x_64; lean_object* x_65;
+lean_dec(x_54);
+lean_dec(x_53);
x_63 = lean_ctor_get(x_60, 1);
lean_inc(x_63);
-lean_inc(x_62);
lean_dec(x_60);
-x_64 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_64, 0, x_62);
-lean_ctor_set(x_64, 1, x_63);
-return x_64;
-}
+x_64 = lean_box(0);
+x_65 = l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___lambda__2(x_35, x_64, x_2, x_3, x_4, x_5, x_63);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+x_12 = x_65;
+goto block_21;
}
else
{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; uint8_t x_71;
-x_65 = lean_ctor_get(x_55, 1);
-lean_inc(x_65);
-lean_dec(x_55);
-x_66 = l_Lean_Meta_instantiateMVars___at_Lean_Meta_instantiateLocalDeclMVars___spec__1(x_48, x_2, x_3, x_4, x_5, x_65);
-x_67 = lean_ctor_get(x_66, 0);
-lean_inc(x_67);
-x_68 = lean_ctor_get(x_66, 1);
+lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71;
+x_66 = lean_ctor_get(x_60, 1);
+lean_inc(x_66);
+lean_dec(x_60);
+x_67 = l_Lean_Meta_instantiateMVars___at_Lean_Meta_instantiateLocalDeclMVars___spec__1(x_53, x_2, x_3, x_4, x_5, x_66);
+x_68 = lean_ctor_get(x_67, 0);
lean_inc(x_68);
-lean_dec(x_66);
-if (lean_is_scalar(x_49)) {
- x_69 = lean_alloc_ctor(1, 1, 0);
+x_69 = lean_ctor_get(x_67, 1);
+lean_inc(x_69);
+lean_dec(x_67);
+if (lean_is_scalar(x_54)) {
+ x_70 = lean_alloc_ctor(1, 1, 0);
} else {
- x_69 = x_49;
+ x_70 = x_54;
}
-lean_ctor_set(x_69, 0, x_67);
-x_70 = l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___lambda__2(x_26, x_69, x_2, x_3, x_4, x_5, x_68);
+lean_ctor_set(x_70, 0, x_68);
+x_71 = l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___lambda__2(x_35, x_70, x_2, x_3, x_4, x_5, x_69);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_71 = !lean_is_exclusive(x_70);
-if (x_71 == 0)
-{
-return x_70;
+x_12 = x_71;
+goto block_21;
+}
}
else
{
-lean_object* x_72; lean_object* x_73; lean_object* x_74;
-x_72 = lean_ctor_get(x_70, 0);
-x_73 = lean_ctor_get(x_70, 1);
+uint8_t x_72;
+lean_dec(x_54);
+lean_dec(x_53);
+lean_dec(x_35);
+lean_dec(x_2);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_72 = !lean_is_exclusive(x_60);
+if (x_72 == 0)
+{
+x_12 = x_60;
+goto block_21;
+}
+else
+{
+lean_object* x_73; lean_object* x_74; lean_object* x_75;
+x_73 = lean_ctor_get(x_60, 0);
+x_74 = lean_ctor_get(x_60, 1);
+lean_inc(x_74);
lean_inc(x_73);
-lean_inc(x_72);
-lean_dec(x_70);
-x_74 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_74, 0, x_72);
-lean_ctor_set(x_74, 1, x_73);
-return x_74;
+lean_dec(x_60);
+x_75 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_75, 0, x_73);
+lean_ctor_set(x_75, 1, x_74);
+x_12 = x_75;
+goto block_21;
}
}
}
else
{
-uint8_t x_75;
-lean_dec(x_49);
-lean_dec(x_48);
-lean_dec(x_26);
+uint8_t x_76;
+lean_dec(x_54);
+lean_dec(x_53);
+lean_dec(x_35);
lean_dec(x_2);
+lean_dec(x_26);
+lean_dec(x_25);
+lean_dec(x_10);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
-x_75 = !lean_is_exclusive(x_55);
-if (x_75 == 0)
+x_76 = !lean_is_exclusive(x_56);
+if (x_76 == 0)
{
-return x_55;
+x_12 = x_56;
+goto block_21;
}
else
{
-lean_object* x_76; lean_object* x_77; lean_object* x_78;
-x_76 = lean_ctor_get(x_55, 0);
-x_77 = lean_ctor_get(x_55, 1);
+lean_object* x_77; lean_object* x_78; lean_object* x_79;
+x_77 = lean_ctor_get(x_56, 0);
+x_78 = lean_ctor_get(x_56, 1);
+lean_inc(x_78);
lean_inc(x_77);
-lean_inc(x_76);
-lean_dec(x_55);
-x_78 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_78, 0, x_76);
-lean_ctor_set(x_78, 1, x_77);
-return x_78;
+lean_dec(x_56);
+x_79 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_79, 0, x_77);
+lean_ctor_set(x_79, 1, x_78);
+x_12 = x_79;
+goto block_21;
+}
+}
+}
+block_91:
+{
+if (x_81 == 0)
+{
+x_55 = x_82;
+goto block_80;
+}
+else
+{
+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_inc(x_53);
+x_83 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_83, 0, x_53);
+x_84 = l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___closed__2;
+x_85 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_85, 0, x_84);
+lean_ctor_set(x_85, 1, x_83);
+x_86 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_87 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_87, 0, x_85);
+lean_ctor_set(x_87, 1, x_86);
+x_88 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
+x_89 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_88, x_87, x_2, x_3, x_4, x_5, x_82);
+x_90 = lean_ctor_get(x_89, 1);
+lean_inc(x_90);
+lean_dec(x_89);
+x_55 = x_90;
+goto block_80;
+}
}
}
}
else
{
-uint8_t x_79;
-lean_dec(x_49);
-lean_dec(x_48);
-lean_dec(x_26);
+uint8_t x_103;
+lean_dec(x_35);
lean_dec(x_2);
-lean_dec(x_15);
-lean_dec(x_14);
-lean_dec(x_11);
+lean_dec(x_26);
+lean_dec(x_25);
+lean_dec(x_10);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
-x_79 = !lean_is_exclusive(x_51);
-if (x_79 == 0)
+x_103 = !lean_is_exclusive(x_47);
+if (x_103 == 0)
{
-return x_51;
+x_12 = x_47;
+goto block_21;
}
else
{
-lean_object* x_80; lean_object* x_81; lean_object* x_82;
-x_80 = lean_ctor_get(x_51, 0);
-x_81 = lean_ctor_get(x_51, 1);
-lean_inc(x_81);
-lean_inc(x_80);
-lean_dec(x_51);
-x_82 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_82, 0, x_80);
-lean_ctor_set(x_82, 1, x_81);
-return x_82;
-}
-}
-}
-block_94:
-{
-if (x_84 == 0)
-{
-x_50 = x_85;
-goto block_83;
-}
-else
-{
-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_inc(x_48);
-x_86 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_86, 0, x_48);
-x_87 = l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___closed__2;
-x_88 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_88, 0, x_87);
-lean_ctor_set(x_88, 1, x_86);
-x_89 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_90 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_90, 0, x_88);
-lean_ctor_set(x_90, 1, x_89);
-x_91 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
-x_92 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_91, x_90, x_2, x_3, x_4, x_5, x_85);
-x_93 = lean_ctor_get(x_92, 1);
-lean_inc(x_93);
-lean_dec(x_92);
-x_50 = x_93;
-goto block_83;
-}
+lean_object* x_104; lean_object* x_105; lean_object* x_106;
+x_104 = lean_ctor_get(x_47, 0);
+x_105 = lean_ctor_get(x_47, 1);
+lean_inc(x_105);
+lean_inc(x_104);
+lean_dec(x_47);
+x_106 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_106, 0, x_104);
+lean_ctor_set(x_106, 1, x_105);
+x_12 = x_106;
+goto block_21;
}
}
}
else
{
-uint8_t x_106;
-lean_dec(x_26);
+lean_object* x_107;
+lean_dec(x_35);
lean_dec(x_2);
-lean_dec(x_15);
-lean_dec(x_14);
-lean_dec(x_11);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_106 = !lean_is_exclusive(x_38);
-if (x_106 == 0)
-{
-return x_38;
-}
-else
-{
-lean_object* x_107; lean_object* x_108; lean_object* x_109;
-x_107 = lean_ctor_get(x_38, 0);
-x_108 = lean_ctor_get(x_38, 1);
-lean_inc(x_108);
-lean_inc(x_107);
-lean_dec(x_38);
-x_109 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_109, 0, x_107);
-lean_ctor_set(x_109, 1, x_108);
-return x_109;
-}
-}
-}
-else
-{
-lean_object* x_110;
lean_dec(x_26);
-lean_dec(x_2);
-lean_dec(x_15);
-lean_dec(x_14);
-lean_dec(x_11);
+lean_dec(x_25);
+lean_dec(x_10);
lean_dec(x_8);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
-x_110 = lean_ctor_get(x_34, 0);
-lean_inc(x_110);
-lean_dec(x_34);
-lean_ctor_set(x_28, 0, x_110);
-return x_28;
+x_107 = lean_ctor_get(x_43, 0);
+lean_inc(x_107);
+lean_dec(x_43);
+lean_ctor_set(x_37, 0, x_107);
+x_12 = x_37;
+goto block_21;
}
}
else
{
-lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115;
-x_111 = lean_ctor_get(x_28, 0);
-x_112 = lean_ctor_get(x_28, 1);
-lean_inc(x_112);
+lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112;
+x_108 = lean_ctor_get(x_37, 0);
+x_109 = lean_ctor_get(x_37, 1);
+lean_inc(x_109);
+lean_inc(x_108);
+lean_dec(x_37);
+x_110 = lean_ctor_get(x_108, 1);
+lean_inc(x_110);
+lean_dec(x_108);
+x_111 = lean_ctor_get(x_110, 2);
lean_inc(x_111);
-lean_dec(x_28);
-x_113 = lean_ctor_get(x_111, 1);
-lean_inc(x_113);
-lean_dec(x_111);
-x_114 = lean_ctor_get(x_113, 2);
-lean_inc(x_114);
-lean_dec(x_113);
-x_115 = l_Std_PersistentHashMap_find_x3f___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___spec__1(x_114, x_26);
-if (lean_obj_tag(x_115) == 0)
+lean_dec(x_110);
+x_112 = l_Std_PersistentHashMap_find_x3f___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___spec__1(x_111, x_35);
+if (lean_obj_tag(x_112) == 0)
{
-lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119;
-lean_inc(x_26);
-x_116 = lean_alloc_closure((void*)(l___private_Lean_Meta_SynthInstance_0__Lean_Meta_preprocessOutParam), 6, 1);
-lean_closure_set(x_116, 0, x_26);
-lean_inc(x_26);
-x_117 = lean_alloc_closure((void*)(l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___lambda__1), 8, 2);
-lean_closure_set(x_117, 0, x_8);
-lean_closure_set(x_117, 1, x_26);
-x_118 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Meta_Lean_Meta_Basic___instance__5___spec__2___rarg), 7, 2);
-lean_closure_set(x_118, 0, x_116);
-lean_closure_set(x_118, 1, x_117);
+lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116;
+lean_inc(x_35);
+x_113 = lean_alloc_closure((void*)(l___private_Lean_Meta_SynthInstance_0__Lean_Meta_preprocessOutParam), 6, 1);
+lean_closure_set(x_113, 0, x_35);
+lean_inc(x_35);
+x_114 = lean_alloc_closure((void*)(l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___lambda__1), 8, 2);
+lean_closure_set(x_114, 0, x_8);
+lean_closure_set(x_114, 1, x_35);
+x_115 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Meta_Lean_Meta_Basic___instance__5___spec__2___rarg), 7, 2);
+lean_closure_set(x_115, 0, x_113);
+lean_closure_set(x_115, 1, x_114);
lean_inc(x_5);
lean_inc(x_4);
lean_inc(x_3);
lean_inc(x_2);
-x_119 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_118, x_2, x_3, x_4, x_5, x_112);
-if (lean_obj_tag(x_119) == 0)
+x_116 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_115, x_2, x_3, x_4, x_5, x_109);
+if (lean_obj_tag(x_116) == 0)
{
-lean_object* x_120;
-x_120 = lean_ctor_get(x_119, 0);
-lean_inc(x_120);
-if (lean_obj_tag(x_120) == 0)
+lean_object* x_117;
+x_117 = lean_ctor_get(x_116, 0);
+lean_inc(x_117);
+if (lean_obj_tag(x_117) == 0)
{
-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_dec(x_15);
-lean_dec(x_14);
-lean_dec(x_11);
-x_121 = lean_ctor_get(x_119, 1);
-lean_inc(x_121);
-lean_dec(x_119);
-x_122 = lean_box(0);
-x_123 = l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___lambda__2(x_26, x_122, x_2, x_3, x_4, x_5, x_121);
+lean_object* x_118; lean_object* x_119; lean_object* x_120;
+lean_dec(x_26);
+lean_dec(x_25);
+lean_dec(x_10);
+x_118 = lean_ctor_get(x_116, 1);
+lean_inc(x_118);
+lean_dec(x_116);
+x_119 = lean_box(0);
+x_120 = l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___lambda__2(x_35, x_119, x_2, x_3, x_4, x_5, x_118);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_124 = lean_ctor_get(x_123, 0);
-lean_inc(x_124);
-x_125 = lean_ctor_get(x_123, 1);
-lean_inc(x_125);
-if (lean_is_exclusive(x_123)) {
- lean_ctor_release(x_123, 0);
- lean_ctor_release(x_123, 1);
- x_126 = x_123;
-} else {
- lean_dec_ref(x_123);
- x_126 = lean_box(0);
-}
-if (lean_is_scalar(x_126)) {
- x_127 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_127 = x_126;
-}
-lean_ctor_set(x_127, 0, x_124);
-lean_ctor_set(x_127, 1, x_125);
-return x_127;
+x_12 = x_120;
+goto block_21;
}
else
{
-lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; uint8_t x_165; lean_object* x_166; lean_object* x_176; lean_object* x_177; lean_object* x_178; uint8_t x_179;
-x_128 = lean_ctor_get(x_119, 1);
-lean_inc(x_128);
-lean_dec(x_119);
-x_129 = lean_ctor_get(x_120, 0);
-lean_inc(x_129);
-if (lean_is_exclusive(x_120)) {
- lean_ctor_release(x_120, 0);
- x_130 = x_120;
+lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; uint8_t x_150; lean_object* x_151; lean_object* x_161; lean_object* x_162; lean_object* x_163; uint8_t x_164;
+x_121 = lean_ctor_get(x_116, 1);
+lean_inc(x_121);
+lean_dec(x_116);
+x_122 = lean_ctor_get(x_117, 0);
+lean_inc(x_122);
+if (lean_is_exclusive(x_117)) {
+ lean_ctor_release(x_117, 0);
+ x_123 = x_117;
} else {
- lean_dec_ref(x_120);
- x_130 = lean_box(0);
+ lean_dec_ref(x_117);
+ x_123 = lean_box(0);
}
-x_176 = lean_st_ref_get(x_5, x_128);
-x_177 = lean_ctor_get(x_176, 0);
-lean_inc(x_177);
-x_178 = lean_ctor_get(x_177, 3);
-lean_inc(x_178);
-lean_dec(x_177);
-x_179 = lean_ctor_get_uint8(x_178, sizeof(void*)*1);
-lean_dec(x_178);
-if (x_179 == 0)
+x_161 = lean_st_ref_get(x_5, x_121);
+x_162 = lean_ctor_get(x_161, 0);
+lean_inc(x_162);
+x_163 = lean_ctor_get(x_162, 3);
+lean_inc(x_163);
+lean_dec(x_162);
+x_164 = lean_ctor_get_uint8(x_163, sizeof(void*)*1);
+lean_dec(x_163);
+if (x_164 == 0)
{
-lean_object* x_180;
-x_180 = lean_ctor_get(x_176, 1);
-lean_inc(x_180);
-lean_dec(x_176);
-x_165 = x_19;
-x_166 = x_180;
-goto block_175;
+lean_object* x_165;
+x_165 = lean_ctor_get(x_161, 1);
+lean_inc(x_165);
+lean_dec(x_161);
+x_150 = x_28;
+x_151 = x_165;
+goto block_160;
}
else
{
-lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; uint8_t x_186;
-x_181 = lean_ctor_get(x_176, 1);
-lean_inc(x_181);
-lean_dec(x_176);
-x_182 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
-x_183 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_182, x_2, x_3, x_4, x_5, x_181);
-x_184 = lean_ctor_get(x_183, 0);
-lean_inc(x_184);
-x_185 = lean_ctor_get(x_183, 1);
-lean_inc(x_185);
-lean_dec(x_183);
-x_186 = lean_unbox(x_184);
-lean_dec(x_184);
-x_165 = x_186;
-x_166 = x_185;
-goto block_175;
+lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; uint8_t x_171;
+x_166 = lean_ctor_get(x_161, 1);
+lean_inc(x_166);
+lean_dec(x_161);
+x_167 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
+x_168 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_167, x_2, x_3, x_4, x_5, x_166);
+x_169 = lean_ctor_get(x_168, 0);
+lean_inc(x_169);
+x_170 = lean_ctor_get(x_168, 1);
+lean_inc(x_170);
+lean_dec(x_168);
+x_171 = lean_unbox(x_169);
+lean_dec(x_169);
+x_150 = x_171;
+x_151 = x_170;
+goto block_160;
}
-block_164:
+block_149:
{
-lean_object* x_132;
+lean_object* x_125;
lean_inc(x_5);
lean_inc(x_4);
lean_inc(x_3);
lean_inc(x_2);
-lean_inc(x_129);
-x_132 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_129, x_2, x_3, x_4, x_5, x_131);
-if (lean_obj_tag(x_132) == 0)
+lean_inc(x_122);
+x_125 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_122, x_2, x_3, x_4, x_5, x_124);
+if (lean_obj_tag(x_125) == 0)
{
-lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136;
-x_133 = lean_ctor_get(x_132, 0);
-lean_inc(x_133);
-x_134 = lean_ctor_get(x_132, 1);
-lean_inc(x_134);
-lean_dec(x_132);
-x_135 = lean_alloc_ctor(0, 3, 0);
-lean_ctor_set(x_135, 0, x_11);
-lean_ctor_set(x_135, 1, x_14);
-lean_ctor_set(x_135, 2, x_15);
+lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129;
+x_126 = lean_ctor_get(x_125, 0);
+lean_inc(x_126);
+x_127 = lean_ctor_get(x_125, 1);
+lean_inc(x_127);
+lean_dec(x_125);
+x_128 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_128, 0, x_10);
+lean_ctor_set(x_128, 1, x_25);
+lean_ctor_set(x_128, 2, x_26);
lean_inc(x_5);
lean_inc(x_4);
lean_inc(x_3);
-lean_inc(x_26);
-x_136 = l_Lean_Meta_isExprDefEq___at_Lean_Meta_isExprDefEqGuarded___spec__1(x_26, x_133, x_135, x_3, x_4, x_5, x_134);
-if (lean_obj_tag(x_136) == 0)
+lean_inc(x_35);
+x_129 = l_Lean_Meta_isExprDefEq___at_Lean_Meta_isExprDefEqGuarded___spec__1(x_35, x_126, x_128, x_3, x_4, x_5, x_127);
+if (lean_obj_tag(x_129) == 0)
{
-lean_object* x_137; uint8_t x_138;
+lean_object* x_130; uint8_t x_131;
+x_130 = lean_ctor_get(x_129, 0);
+lean_inc(x_130);
+x_131 = lean_unbox(x_130);
+lean_dec(x_130);
+if (x_131 == 0)
+{
+lean_object* x_132; lean_object* x_133; lean_object* x_134;
+lean_dec(x_123);
+lean_dec(x_122);
+x_132 = lean_ctor_get(x_129, 1);
+lean_inc(x_132);
+lean_dec(x_129);
+x_133 = lean_box(0);
+x_134 = l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___lambda__2(x_35, x_133, x_2, x_3, x_4, x_5, x_132);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+x_12 = x_134;
+goto block_21;
+}
+else
+{
+lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140;
+x_135 = lean_ctor_get(x_129, 1);
+lean_inc(x_135);
+lean_dec(x_129);
+x_136 = l_Lean_Meta_instantiateMVars___at_Lean_Meta_instantiateLocalDeclMVars___spec__1(x_122, x_2, x_3, x_4, x_5, x_135);
x_137 = lean_ctor_get(x_136, 0);
lean_inc(x_137);
-x_138 = lean_unbox(x_137);
-lean_dec(x_137);
-if (x_138 == 0)
-{
-lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145;
-lean_dec(x_130);
-lean_dec(x_129);
-x_139 = lean_ctor_get(x_136, 1);
-lean_inc(x_139);
+x_138 = lean_ctor_get(x_136, 1);
+lean_inc(x_138);
lean_dec(x_136);
-x_140 = lean_box(0);
-x_141 = l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___lambda__2(x_26, x_140, x_2, x_3, x_4, x_5, x_139);
+if (lean_is_scalar(x_123)) {
+ x_139 = lean_alloc_ctor(1, 1, 0);
+} else {
+ x_139 = x_123;
+}
+lean_ctor_set(x_139, 0, x_137);
+x_140 = l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___lambda__2(x_35, x_139, x_2, x_3, x_4, x_5, x_138);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_142 = lean_ctor_get(x_141, 0);
+x_12 = x_140;
+goto block_21;
+}
+}
+else
+{
+lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144;
+lean_dec(x_123);
+lean_dec(x_122);
+lean_dec(x_35);
+lean_dec(x_2);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_141 = lean_ctor_get(x_129, 0);
+lean_inc(x_141);
+x_142 = lean_ctor_get(x_129, 1);
lean_inc(x_142);
-x_143 = lean_ctor_get(x_141, 1);
-lean_inc(x_143);
-if (lean_is_exclusive(x_141)) {
- lean_ctor_release(x_141, 0);
- lean_ctor_release(x_141, 1);
- x_144 = x_141;
+if (lean_is_exclusive(x_129)) {
+ lean_ctor_release(x_129, 0);
+ lean_ctor_release(x_129, 1);
+ x_143 = x_129;
} else {
- lean_dec_ref(x_141);
- x_144 = lean_box(0);
+ lean_dec_ref(x_129);
+ x_143 = lean_box(0);
}
-if (lean_is_scalar(x_144)) {
- x_145 = lean_alloc_ctor(0, 2, 0);
+if (lean_is_scalar(x_143)) {
+ x_144 = lean_alloc_ctor(1, 2, 0);
} else {
- x_145 = x_144;
+ x_144 = x_143;
+}
+lean_ctor_set(x_144, 0, x_141);
+lean_ctor_set(x_144, 1, x_142);
+x_12 = x_144;
+goto block_21;
}
-lean_ctor_set(x_145, 0, x_142);
-lean_ctor_set(x_145, 1, x_143);
-return x_145;
}
else
{
-lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155;
-x_146 = lean_ctor_get(x_136, 1);
-lean_inc(x_146);
-lean_dec(x_136);
-x_147 = l_Lean_Meta_instantiateMVars___at_Lean_Meta_instantiateLocalDeclMVars___spec__1(x_129, x_2, x_3, x_4, x_5, x_146);
-x_148 = lean_ctor_get(x_147, 0);
-lean_inc(x_148);
-x_149 = lean_ctor_get(x_147, 1);
-lean_inc(x_149);
-lean_dec(x_147);
-if (lean_is_scalar(x_130)) {
- x_150 = lean_alloc_ctor(1, 1, 0);
-} else {
- x_150 = x_130;
-}
-lean_ctor_set(x_150, 0, x_148);
-x_151 = l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___lambda__2(x_26, x_150, x_2, x_3, x_4, x_5, x_149);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
+lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148;
+lean_dec(x_123);
+lean_dec(x_122);
+lean_dec(x_35);
lean_dec(x_2);
-x_152 = lean_ctor_get(x_151, 0);
-lean_inc(x_152);
-x_153 = lean_ctor_get(x_151, 1);
-lean_inc(x_153);
-if (lean_is_exclusive(x_151)) {
- lean_ctor_release(x_151, 0);
- lean_ctor_release(x_151, 1);
- x_154 = x_151;
-} else {
- lean_dec_ref(x_151);
- x_154 = lean_box(0);
-}
-if (lean_is_scalar(x_154)) {
- x_155 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_155 = x_154;
-}
-lean_ctor_set(x_155, 0, x_152);
-lean_ctor_set(x_155, 1, x_153);
-return x_155;
-}
-}
-else
-{
-lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159;
-lean_dec(x_130);
-lean_dec(x_129);
lean_dec(x_26);
-lean_dec(x_2);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_156 = lean_ctor_get(x_136, 0);
-lean_inc(x_156);
-x_157 = lean_ctor_get(x_136, 1);
-lean_inc(x_157);
-if (lean_is_exclusive(x_136)) {
- lean_ctor_release(x_136, 0);
- lean_ctor_release(x_136, 1);
- x_158 = x_136;
-} else {
- lean_dec_ref(x_136);
- x_158 = lean_box(0);
-}
-if (lean_is_scalar(x_158)) {
- x_159 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_159 = x_158;
-}
-lean_ctor_set(x_159, 0, x_156);
-lean_ctor_set(x_159, 1, x_157);
-return x_159;
-}
-}
-else
-{
-lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163;
-lean_dec(x_130);
-lean_dec(x_129);
-lean_dec(x_26);
-lean_dec(x_2);
-lean_dec(x_15);
-lean_dec(x_14);
-lean_dec(x_11);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_160 = lean_ctor_get(x_132, 0);
-lean_inc(x_160);
-x_161 = lean_ctor_get(x_132, 1);
-lean_inc(x_161);
-if (lean_is_exclusive(x_132)) {
- lean_ctor_release(x_132, 0);
- lean_ctor_release(x_132, 1);
- x_162 = x_132;
-} else {
- lean_dec_ref(x_132);
- x_162 = lean_box(0);
-}
-if (lean_is_scalar(x_162)) {
- x_163 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_163 = x_162;
-}
-lean_ctor_set(x_163, 0, x_160);
-lean_ctor_set(x_163, 1, x_161);
-return x_163;
-}
-}
-block_175:
-{
-if (x_165 == 0)
-{
-x_131 = x_166;
-goto block_164;
-}
-else
-{
-lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174;
-lean_inc(x_129);
-x_167 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_167, 0, x_129);
-x_168 = l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___closed__2;
-x_169 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_169, 0, x_168);
-lean_ctor_set(x_169, 1, x_167);
-x_170 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_171 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_171, 0, x_169);
-lean_ctor_set(x_171, 1, x_170);
-x_172 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
-x_173 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_172, x_171, x_2, x_3, x_4, x_5, x_166);
-x_174 = lean_ctor_get(x_173, 1);
-lean_inc(x_174);
-lean_dec(x_173);
-x_131 = x_174;
-goto block_164;
-}
-}
-}
-}
-else
-{
-lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190;
-lean_dec(x_26);
-lean_dec(x_2);
-lean_dec(x_15);
-lean_dec(x_14);
-lean_dec(x_11);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_187 = lean_ctor_get(x_119, 0);
-lean_inc(x_187);
-x_188 = lean_ctor_get(x_119, 1);
-lean_inc(x_188);
-if (lean_is_exclusive(x_119)) {
- lean_ctor_release(x_119, 0);
- lean_ctor_release(x_119, 1);
- x_189 = x_119;
-} else {
- lean_dec_ref(x_119);
- x_189 = lean_box(0);
-}
-if (lean_is_scalar(x_189)) {
- x_190 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_190 = x_189;
-}
-lean_ctor_set(x_190, 0, x_187);
-lean_ctor_set(x_190, 1, x_188);
-return x_190;
-}
-}
-else
-{
-lean_object* x_191; lean_object* x_192;
-lean_dec(x_26);
-lean_dec(x_2);
-lean_dec(x_15);
-lean_dec(x_14);
-lean_dec(x_11);
-lean_dec(x_8);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_191 = lean_ctor_get(x_115, 0);
-lean_inc(x_191);
-lean_dec(x_115);
-x_192 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_192, 0, x_191);
-lean_ctor_set(x_192, 1, x_112);
-return x_192;
-}
-}
-}
-else
-{
-uint8_t x_193;
-lean_dec(x_2);
-lean_dec(x_15);
-lean_dec(x_14);
-lean_dec(x_11);
-lean_dec(x_8);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_193 = !lean_is_exclusive(x_25);
-if (x_193 == 0)
-{
-return x_25;
-}
-else
-{
-lean_object* x_194; lean_object* x_195; lean_object* x_196;
-x_194 = lean_ctor_get(x_25, 0);
-x_195 = lean_ctor_get(x_25, 1);
-lean_inc(x_195);
-lean_inc(x_194);
lean_dec(x_25);
-x_196 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_196, 0, x_194);
-lean_ctor_set(x_196, 1, x_195);
-return x_196;
+lean_dec(x_10);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_145 = lean_ctor_get(x_125, 0);
+lean_inc(x_145);
+x_146 = lean_ctor_get(x_125, 1);
+lean_inc(x_146);
+if (lean_is_exclusive(x_125)) {
+ lean_ctor_release(x_125, 0);
+ lean_ctor_release(x_125, 1);
+ x_147 = x_125;
+} else {
+ lean_dec_ref(x_125);
+ x_147 = lean_box(0);
+}
+if (lean_is_scalar(x_147)) {
+ x_148 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_148 = x_147;
+}
+lean_ctor_set(x_148, 0, x_145);
+lean_ctor_set(x_148, 1, x_146);
+x_12 = x_148;
+goto block_21;
+}
+}
+block_160:
+{
+if (x_150 == 0)
+{
+x_124 = x_151;
+goto block_149;
+}
+else
+{
+lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159;
+lean_inc(x_122);
+x_152 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_152, 0, x_122);
+x_153 = l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___closed__2;
+x_154 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_154, 0, x_153);
+lean_ctor_set(x_154, 1, x_152);
+x_155 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_156 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_156, 0, x_154);
+lean_ctor_set(x_156, 1, x_155);
+x_157 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
+x_158 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_157, x_156, x_2, x_3, x_4, x_5, x_151);
+x_159 = lean_ctor_get(x_158, 1);
+lean_inc(x_159);
+lean_dec(x_158);
+x_124 = x_159;
+goto block_149;
+}
}
}
}
else
{
-uint8_t x_197; uint8_t x_198; uint8_t x_199; uint8_t x_200; uint8_t x_201; uint8_t x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208;
-x_197 = lean_ctor_get_uint8(x_10, 2);
-x_198 = lean_ctor_get_uint8(x_10, 6);
-x_199 = lean_ctor_get_uint8(x_10, 7);
+lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175;
+lean_dec(x_35);
+lean_dec(x_2);
+lean_dec(x_26);
+lean_dec(x_25);
lean_dec(x_10);
-x_200 = 1;
-x_201 = 0;
-x_202 = 2;
-x_203 = lean_alloc_ctor(0, 0, 8);
-lean_ctor_set_uint8(x_203, 0, x_200);
-lean_ctor_set_uint8(x_203, 1, x_200);
-lean_ctor_set_uint8(x_203, 2, x_197);
-lean_ctor_set_uint8(x_203, 3, x_201);
-lean_ctor_set_uint8(x_203, 4, x_200);
-lean_ctor_set_uint8(x_203, 5, x_202);
-lean_ctor_set_uint8(x_203, 6, x_198);
-lean_ctor_set_uint8(x_203, 7, x_199);
-lean_inc(x_15);
-lean_inc(x_14);
-lean_ctor_set(x_2, 0, x_203);
-x_204 = l_Lean_Meta_instantiateMVars___at_Lean_Meta_instantiateLocalDeclMVars___spec__1(x_1, x_2, x_3, x_4, x_5, x_12);
-x_205 = lean_ctor_get(x_204, 0);
-lean_inc(x_205);
-x_206 = lean_ctor_get(x_204, 1);
-lean_inc(x_206);
-lean_dec(x_204);
-x_207 = l___private_Lean_Meta_SynthInstance_0__Lean_Meta_preprocess___closed__1;
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_172 = lean_ctor_get(x_116, 0);
+lean_inc(x_172);
+x_173 = lean_ctor_get(x_116, 1);
+lean_inc(x_173);
+if (lean_is_exclusive(x_116)) {
+ lean_ctor_release(x_116, 0);
+ lean_ctor_release(x_116, 1);
+ x_174 = x_116;
+} else {
+ lean_dec_ref(x_116);
+ x_174 = lean_box(0);
+}
+if (lean_is_scalar(x_174)) {
+ x_175 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_175 = x_174;
+}
+lean_ctor_set(x_175, 0, x_172);
+lean_ctor_set(x_175, 1, x_173);
+x_12 = x_175;
+goto block_21;
+}
+}
+else
+{
+lean_object* x_176; lean_object* x_177;
+lean_dec(x_35);
+lean_dec(x_2);
+lean_dec(x_26);
+lean_dec(x_25);
+lean_dec(x_10);
+lean_dec(x_8);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_176 = lean_ctor_get(x_112, 0);
+lean_inc(x_176);
+lean_dec(x_112);
+x_177 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_177, 0, x_176);
+lean_ctor_set(x_177, 1, x_109);
+x_12 = x_177;
+goto block_21;
+}
+}
+}
+else
+{
+uint8_t x_178;
+lean_dec(x_2);
+lean_dec(x_26);
+lean_dec(x_25);
+lean_dec(x_10);
+lean_dec(x_8);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_178 = !lean_is_exclusive(x_34);
+if (x_178 == 0)
+{
+return x_34;
+}
+else
+{
+lean_object* x_179; lean_object* x_180; lean_object* x_181;
+x_179 = lean_ctor_get(x_34, 0);
+x_180 = lean_ctor_get(x_34, 1);
+lean_inc(x_180);
+lean_inc(x_179);
+lean_dec(x_34);
+x_181 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_181, 0, x_179);
+lean_ctor_set(x_181, 1, x_180);
+return x_181;
+}
+}
+}
+else
+{
+lean_object* x_182; lean_object* x_183; uint8_t x_184; uint8_t x_185; uint8_t x_186; uint8_t x_187; uint8_t x_188; uint8_t x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195;
+x_182 = lean_ctor_get(x_2, 1);
+x_183 = lean_ctor_get(x_2, 2);
+x_184 = lean_ctor_get_uint8(x_23, 2);
+x_185 = lean_ctor_get_uint8(x_23, 6);
+x_186 = lean_ctor_get_uint8(x_23, 7);
+lean_dec(x_23);
+x_187 = 1;
+x_188 = 0;
+x_189 = 2;
+x_190 = lean_alloc_ctor(0, 0, 8);
+lean_ctor_set_uint8(x_190, 0, x_187);
+lean_ctor_set_uint8(x_190, 1, x_187);
+lean_ctor_set_uint8(x_190, 2, x_184);
+lean_ctor_set_uint8(x_190, 3, x_188);
+lean_ctor_set_uint8(x_190, 4, x_187);
+lean_ctor_set_uint8(x_190, 5, x_189);
+lean_ctor_set_uint8(x_190, 6, x_185);
+lean_ctor_set_uint8(x_190, 7, x_186);
+lean_inc(x_183);
+lean_inc(x_182);
+lean_ctor_set(x_2, 0, x_190);
+x_191 = l_Lean_Meta_instantiateMVars___at_Lean_Meta_instantiateLocalDeclMVars___spec__1(x_1, x_2, x_3, x_4, x_5, x_11);
+x_192 = lean_ctor_get(x_191, 0);
+lean_inc(x_192);
+x_193 = lean_ctor_get(x_191, 1);
+lean_inc(x_193);
+lean_dec(x_191);
+x_194 = l___private_Lean_Meta_SynthInstance_0__Lean_Meta_preprocess___closed__1;
lean_inc(x_5);
lean_inc(x_4);
lean_inc(x_3);
lean_inc(x_2);
-x_208 = l_Lean_Meta_forallTelescopeReducing___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_preprocess___spec__1___rarg(x_205, x_207, x_2, x_3, x_4, x_5, x_206);
+x_195 = l_Lean_Meta_forallTelescopeReducing___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_preprocess___spec__1___rarg(x_192, x_194, x_2, x_3, x_4, x_5, x_193);
+if (lean_obj_tag(x_195) == 0)
+{
+lean_object* x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204;
+x_196 = lean_ctor_get(x_195, 0);
+lean_inc(x_196);
+x_197 = lean_ctor_get(x_195, 1);
+lean_inc(x_197);
+lean_dec(x_195);
+x_198 = lean_st_ref_get(x_3, x_197);
+x_199 = lean_ctor_get(x_198, 0);
+lean_inc(x_199);
+x_200 = lean_ctor_get(x_198, 1);
+lean_inc(x_200);
+if (lean_is_exclusive(x_198)) {
+ lean_ctor_release(x_198, 0);
+ lean_ctor_release(x_198, 1);
+ x_201 = x_198;
+} else {
+ lean_dec_ref(x_198);
+ x_201 = lean_box(0);
+}
+x_202 = lean_ctor_get(x_199, 1);
+lean_inc(x_202);
+lean_dec(x_199);
+x_203 = lean_ctor_get(x_202, 2);
+lean_inc(x_203);
+lean_dec(x_202);
+x_204 = l_Std_PersistentHashMap_find_x3f___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___spec__1(x_203, x_196);
+if (lean_obj_tag(x_204) == 0)
+{
+lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208;
+lean_dec(x_201);
+lean_inc(x_196);
+x_205 = lean_alloc_closure((void*)(l___private_Lean_Meta_SynthInstance_0__Lean_Meta_preprocessOutParam), 6, 1);
+lean_closure_set(x_205, 0, x_196);
+lean_inc(x_196);
+x_206 = lean_alloc_closure((void*)(l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___lambda__1), 8, 2);
+lean_closure_set(x_206, 0, x_8);
+lean_closure_set(x_206, 1, x_196);
+x_207 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Meta_Lean_Meta_Basic___instance__5___spec__2___rarg), 7, 2);
+lean_closure_set(x_207, 0, x_205);
+lean_closure_set(x_207, 1, x_206);
+lean_inc(x_5);
+lean_inc(x_4);
+lean_inc(x_3);
+lean_inc(x_2);
+x_208 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_207, x_2, x_3, x_4, x_5, x_200);
if (lean_obj_tag(x_208) == 0)
{
-lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214; lean_object* x_215; lean_object* x_216; lean_object* x_217;
+lean_object* x_209;
x_209 = lean_ctor_get(x_208, 0);
lean_inc(x_209);
+if (lean_obj_tag(x_209) == 0)
+{
+lean_object* x_210; lean_object* x_211; lean_object* x_212;
+lean_dec(x_183);
+lean_dec(x_182);
+lean_dec(x_10);
x_210 = lean_ctor_get(x_208, 1);
lean_inc(x_210);
lean_dec(x_208);
-x_211 = lean_st_ref_get(x_3, x_210);
-x_212 = lean_ctor_get(x_211, 0);
-lean_inc(x_212);
-x_213 = lean_ctor_get(x_211, 1);
-lean_inc(x_213);
-if (lean_is_exclusive(x_211)) {
- lean_ctor_release(x_211, 0);
- lean_ctor_release(x_211, 1);
- x_214 = x_211;
-} else {
- lean_dec_ref(x_211);
- x_214 = lean_box(0);
+x_211 = lean_box(0);
+x_212 = l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___lambda__2(x_196, x_211, x_2, x_3, x_4, x_5, x_210);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+x_12 = x_212;
+goto block_21;
}
-x_215 = lean_ctor_get(x_212, 1);
-lean_inc(x_215);
-lean_dec(x_212);
-x_216 = lean_ctor_get(x_215, 2);
-lean_inc(x_216);
-lean_dec(x_215);
-x_217 = l_Std_PersistentHashMap_find_x3f___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___spec__1(x_216, x_209);
+else
+{
+lean_object* x_213; lean_object* x_214; lean_object* x_215; lean_object* x_216; uint8_t x_242; lean_object* x_243; lean_object* x_253; lean_object* x_254; lean_object* x_255; uint8_t x_256;
+x_213 = lean_ctor_get(x_208, 1);
+lean_inc(x_213);
+lean_dec(x_208);
+x_214 = lean_ctor_get(x_209, 0);
+lean_inc(x_214);
+if (lean_is_exclusive(x_209)) {
+ lean_ctor_release(x_209, 0);
+ x_215 = x_209;
+} else {
+ lean_dec_ref(x_209);
+ x_215 = lean_box(0);
+}
+x_253 = lean_st_ref_get(x_5, x_213);
+x_254 = lean_ctor_get(x_253, 0);
+lean_inc(x_254);
+x_255 = lean_ctor_get(x_254, 3);
+lean_inc(x_255);
+lean_dec(x_254);
+x_256 = lean_ctor_get_uint8(x_255, sizeof(void*)*1);
+lean_dec(x_255);
+if (x_256 == 0)
+{
+lean_object* x_257;
+x_257 = lean_ctor_get(x_253, 1);
+lean_inc(x_257);
+lean_dec(x_253);
+x_242 = x_188;
+x_243 = x_257;
+goto block_252;
+}
+else
+{
+lean_object* x_258; lean_object* x_259; lean_object* x_260; lean_object* x_261; lean_object* x_262; uint8_t x_263;
+x_258 = lean_ctor_get(x_253, 1);
+lean_inc(x_258);
+lean_dec(x_253);
+x_259 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
+x_260 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_259, x_2, x_3, x_4, x_5, x_258);
+x_261 = lean_ctor_get(x_260, 0);
+lean_inc(x_261);
+x_262 = lean_ctor_get(x_260, 1);
+lean_inc(x_262);
+lean_dec(x_260);
+x_263 = lean_unbox(x_261);
+lean_dec(x_261);
+x_242 = x_263;
+x_243 = x_262;
+goto block_252;
+}
+block_241:
+{
+lean_object* x_217;
+lean_inc(x_5);
+lean_inc(x_4);
+lean_inc(x_3);
+lean_inc(x_2);
+lean_inc(x_214);
+x_217 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_214, x_2, x_3, x_4, x_5, x_216);
if (lean_obj_tag(x_217) == 0)
{
lean_object* x_218; lean_object* x_219; lean_object* x_220; lean_object* x_221;
-lean_dec(x_214);
-lean_inc(x_209);
-x_218 = lean_alloc_closure((void*)(l___private_Lean_Meta_SynthInstance_0__Lean_Meta_preprocessOutParam), 6, 1);
-lean_closure_set(x_218, 0, x_209);
-lean_inc(x_209);
-x_219 = lean_alloc_closure((void*)(l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___lambda__1), 8, 2);
-lean_closure_set(x_219, 0, x_8);
-lean_closure_set(x_219, 1, x_209);
-x_220 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Meta_Lean_Meta_Basic___instance__5___spec__2___rarg), 7, 2);
-lean_closure_set(x_220, 0, x_218);
-lean_closure_set(x_220, 1, x_219);
+x_218 = lean_ctor_get(x_217, 0);
+lean_inc(x_218);
+x_219 = lean_ctor_get(x_217, 1);
+lean_inc(x_219);
+lean_dec(x_217);
+x_220 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_220, 0, x_10);
+lean_ctor_set(x_220, 1, x_182);
+lean_ctor_set(x_220, 2, x_183);
lean_inc(x_5);
lean_inc(x_4);
lean_inc(x_3);
-lean_inc(x_2);
-x_221 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_220, x_2, x_3, x_4, x_5, x_213);
+lean_inc(x_196);
+x_221 = l_Lean_Meta_isExprDefEq___at_Lean_Meta_isExprDefEqGuarded___spec__1(x_196, x_218, x_220, x_3, x_4, x_5, x_219);
if (lean_obj_tag(x_221) == 0)
{
-lean_object* x_222;
+lean_object* x_222; uint8_t x_223;
x_222 = lean_ctor_get(x_221, 0);
lean_inc(x_222);
-if (lean_obj_tag(x_222) == 0)
+x_223 = lean_unbox(x_222);
+lean_dec(x_222);
+if (x_223 == 0)
{
-lean_object* x_223; lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; lean_object* x_228; lean_object* x_229;
-lean_dec(x_15);
-lean_dec(x_14);
-lean_dec(x_11);
-x_223 = lean_ctor_get(x_221, 1);
-lean_inc(x_223);
+lean_object* x_224; lean_object* x_225; lean_object* x_226;
+lean_dec(x_215);
+lean_dec(x_214);
+x_224 = lean_ctor_get(x_221, 1);
+lean_inc(x_224);
lean_dec(x_221);
-x_224 = lean_box(0);
-x_225 = l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___lambda__2(x_209, x_224, x_2, x_3, x_4, x_5, x_223);
+x_225 = lean_box(0);
+x_226 = l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___lambda__2(x_196, x_225, x_2, x_3, x_4, x_5, x_224);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_226 = lean_ctor_get(x_225, 0);
-lean_inc(x_226);
-x_227 = lean_ctor_get(x_225, 1);
+x_12 = x_226;
+goto block_21;
+}
+else
+{
+lean_object* x_227; lean_object* x_228; lean_object* x_229; lean_object* x_230; lean_object* x_231; lean_object* x_232;
+x_227 = lean_ctor_get(x_221, 1);
lean_inc(x_227);
-if (lean_is_exclusive(x_225)) {
- lean_ctor_release(x_225, 0);
- lean_ctor_release(x_225, 1);
- x_228 = x_225;
-} else {
- lean_dec_ref(x_225);
- x_228 = lean_box(0);
-}
-if (lean_is_scalar(x_228)) {
- x_229 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_229 = x_228;
-}
-lean_ctor_set(x_229, 0, x_226);
-lean_ctor_set(x_229, 1, x_227);
-return x_229;
-}
-else
-{
-lean_object* x_230; lean_object* x_231; lean_object* x_232; lean_object* x_233; uint8_t x_267; lean_object* x_268; lean_object* x_278; lean_object* x_279; lean_object* x_280; uint8_t x_281;
-x_230 = lean_ctor_get(x_221, 1);
-lean_inc(x_230);
lean_dec(x_221);
-x_231 = lean_ctor_get(x_222, 0);
-lean_inc(x_231);
-if (lean_is_exclusive(x_222)) {
- lean_ctor_release(x_222, 0);
- x_232 = x_222;
+x_228 = l_Lean_Meta_instantiateMVars___at_Lean_Meta_instantiateLocalDeclMVars___spec__1(x_214, x_2, x_3, x_4, x_5, x_227);
+x_229 = lean_ctor_get(x_228, 0);
+lean_inc(x_229);
+x_230 = lean_ctor_get(x_228, 1);
+lean_inc(x_230);
+lean_dec(x_228);
+if (lean_is_scalar(x_215)) {
+ x_231 = lean_alloc_ctor(1, 1, 0);
} else {
- lean_dec_ref(x_222);
- x_232 = lean_box(0);
+ x_231 = x_215;
}
-x_278 = lean_st_ref_get(x_5, x_230);
-x_279 = lean_ctor_get(x_278, 0);
-lean_inc(x_279);
-x_280 = lean_ctor_get(x_279, 3);
-lean_inc(x_280);
-lean_dec(x_279);
-x_281 = lean_ctor_get_uint8(x_280, sizeof(void*)*1);
-lean_dec(x_280);
-if (x_281 == 0)
-{
-lean_object* x_282;
-x_282 = lean_ctor_get(x_278, 1);
-lean_inc(x_282);
-lean_dec(x_278);
-x_267 = x_201;
-x_268 = x_282;
-goto block_277;
-}
-else
-{
-lean_object* x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286; lean_object* x_287; uint8_t x_288;
-x_283 = lean_ctor_get(x_278, 1);
-lean_inc(x_283);
-lean_dec(x_278);
-x_284 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
-x_285 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_284, x_2, x_3, x_4, x_5, x_283);
-x_286 = lean_ctor_get(x_285, 0);
-lean_inc(x_286);
-x_287 = lean_ctor_get(x_285, 1);
-lean_inc(x_287);
-lean_dec(x_285);
-x_288 = lean_unbox(x_286);
-lean_dec(x_286);
-x_267 = x_288;
-x_268 = x_287;
-goto block_277;
-}
-block_266:
-{
-lean_object* x_234;
-lean_inc(x_5);
-lean_inc(x_4);
-lean_inc(x_3);
-lean_inc(x_2);
-lean_inc(x_231);
-x_234 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_231, x_2, x_3, x_4, x_5, x_233);
-if (lean_obj_tag(x_234) == 0)
-{
-lean_object* x_235; lean_object* x_236; lean_object* x_237; lean_object* x_238;
-x_235 = lean_ctor_get(x_234, 0);
-lean_inc(x_235);
-x_236 = lean_ctor_get(x_234, 1);
-lean_inc(x_236);
-lean_dec(x_234);
-x_237 = lean_alloc_ctor(0, 3, 0);
-lean_ctor_set(x_237, 0, x_11);
-lean_ctor_set(x_237, 1, x_14);
-lean_ctor_set(x_237, 2, x_15);
-lean_inc(x_5);
-lean_inc(x_4);
-lean_inc(x_3);
-lean_inc(x_209);
-x_238 = l_Lean_Meta_isExprDefEq___at_Lean_Meta_isExprDefEqGuarded___spec__1(x_209, x_235, x_237, x_3, x_4, x_5, x_236);
-if (lean_obj_tag(x_238) == 0)
-{
-lean_object* x_239; uint8_t x_240;
-x_239 = lean_ctor_get(x_238, 0);
-lean_inc(x_239);
-x_240 = lean_unbox(x_239);
-lean_dec(x_239);
-if (x_240 == 0)
-{
-lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244; lean_object* x_245; lean_object* x_246; lean_object* x_247;
-lean_dec(x_232);
-lean_dec(x_231);
-x_241 = lean_ctor_get(x_238, 1);
-lean_inc(x_241);
-lean_dec(x_238);
-x_242 = lean_box(0);
-x_243 = l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___lambda__2(x_209, x_242, x_2, x_3, x_4, x_5, x_241);
+lean_ctor_set(x_231, 0, x_229);
+x_232 = l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___lambda__2(x_196, x_231, x_2, x_3, x_4, x_5, x_230);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_244 = lean_ctor_get(x_243, 0);
-lean_inc(x_244);
-x_245 = lean_ctor_get(x_243, 1);
-lean_inc(x_245);
-if (lean_is_exclusive(x_243)) {
- lean_ctor_release(x_243, 0);
- lean_ctor_release(x_243, 1);
- x_246 = x_243;
-} else {
- lean_dec_ref(x_243);
- x_246 = lean_box(0);
-}
-if (lean_is_scalar(x_246)) {
- x_247 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_247 = x_246;
-}
-lean_ctor_set(x_247, 0, x_244);
-lean_ctor_set(x_247, 1, x_245);
-return x_247;
-}
-else
-{
-lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253; lean_object* x_254; lean_object* x_255; lean_object* x_256; lean_object* x_257;
-x_248 = lean_ctor_get(x_238, 1);
-lean_inc(x_248);
-lean_dec(x_238);
-x_249 = l_Lean_Meta_instantiateMVars___at_Lean_Meta_instantiateLocalDeclMVars___spec__1(x_231, x_2, x_3, x_4, x_5, x_248);
-x_250 = lean_ctor_get(x_249, 0);
-lean_inc(x_250);
-x_251 = lean_ctor_get(x_249, 1);
-lean_inc(x_251);
-lean_dec(x_249);
-if (lean_is_scalar(x_232)) {
- x_252 = lean_alloc_ctor(1, 1, 0);
-} else {
- x_252 = x_232;
-}
-lean_ctor_set(x_252, 0, x_250);
-x_253 = l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___lambda__2(x_209, x_252, x_2, x_3, x_4, x_5, x_251);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-x_254 = lean_ctor_get(x_253, 0);
-lean_inc(x_254);
-x_255 = lean_ctor_get(x_253, 1);
-lean_inc(x_255);
-if (lean_is_exclusive(x_253)) {
- lean_ctor_release(x_253, 0);
- lean_ctor_release(x_253, 1);
- x_256 = x_253;
-} else {
- lean_dec_ref(x_253);
- x_256 = lean_box(0);
-}
-if (lean_is_scalar(x_256)) {
- x_257 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_257 = x_256;
-}
-lean_ctor_set(x_257, 0, x_254);
-lean_ctor_set(x_257, 1, x_255);
-return x_257;
+x_12 = x_232;
+goto block_21;
}
}
else
{
-lean_object* x_258; lean_object* x_259; lean_object* x_260; lean_object* x_261;
-lean_dec(x_232);
-lean_dec(x_231);
-lean_dec(x_209);
+lean_object* x_233; lean_object* x_234; lean_object* x_235; lean_object* x_236;
+lean_dec(x_215);
+lean_dec(x_214);
+lean_dec(x_196);
lean_dec(x_2);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
-x_258 = lean_ctor_get(x_238, 0);
-lean_inc(x_258);
-x_259 = lean_ctor_get(x_238, 1);
-lean_inc(x_259);
-if (lean_is_exclusive(x_238)) {
- lean_ctor_release(x_238, 0);
- lean_ctor_release(x_238, 1);
- x_260 = x_238;
-} else {
- lean_dec_ref(x_238);
- x_260 = lean_box(0);
-}
-if (lean_is_scalar(x_260)) {
- x_261 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_261 = x_260;
-}
-lean_ctor_set(x_261, 0, x_258);
-lean_ctor_set(x_261, 1, x_259);
-return x_261;
-}
-}
-else
-{
-lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265;
-lean_dec(x_232);
-lean_dec(x_231);
-lean_dec(x_209);
-lean_dec(x_2);
-lean_dec(x_15);
-lean_dec(x_14);
-lean_dec(x_11);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_262 = lean_ctor_get(x_234, 0);
-lean_inc(x_262);
-x_263 = lean_ctor_get(x_234, 1);
-lean_inc(x_263);
-if (lean_is_exclusive(x_234)) {
- lean_ctor_release(x_234, 0);
- lean_ctor_release(x_234, 1);
- x_264 = x_234;
-} else {
- lean_dec_ref(x_234);
- x_264 = lean_box(0);
-}
-if (lean_is_scalar(x_264)) {
- x_265 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_265 = x_264;
-}
-lean_ctor_set(x_265, 0, x_262);
-lean_ctor_set(x_265, 1, x_263);
-return x_265;
-}
-}
-block_277:
-{
-if (x_267 == 0)
-{
-x_233 = x_268;
-goto block_266;
-}
-else
-{
-lean_object* x_269; lean_object* x_270; lean_object* x_271; lean_object* x_272; lean_object* x_273; lean_object* x_274; lean_object* x_275; lean_object* x_276;
-lean_inc(x_231);
-x_269 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_269, 0, x_231);
-x_270 = l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___closed__2;
-x_271 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_271, 0, x_270);
-lean_ctor_set(x_271, 1, x_269);
-x_272 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_273 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_273, 0, x_271);
-lean_ctor_set(x_273, 1, x_272);
-x_274 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
-x_275 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_274, x_273, x_2, x_3, x_4, x_5, x_268);
-x_276 = lean_ctor_get(x_275, 1);
-lean_inc(x_276);
-lean_dec(x_275);
-x_233 = x_276;
-goto block_266;
-}
-}
-}
-}
-else
-{
-lean_object* x_289; lean_object* x_290; lean_object* x_291; lean_object* x_292;
-lean_dec(x_209);
-lean_dec(x_2);
-lean_dec(x_15);
-lean_dec(x_14);
-lean_dec(x_11);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_289 = lean_ctor_get(x_221, 0);
-lean_inc(x_289);
-x_290 = lean_ctor_get(x_221, 1);
-lean_inc(x_290);
+x_233 = lean_ctor_get(x_221, 0);
+lean_inc(x_233);
+x_234 = lean_ctor_get(x_221, 1);
+lean_inc(x_234);
if (lean_is_exclusive(x_221)) {
lean_ctor_release(x_221, 0);
lean_ctor_release(x_221, 1);
- x_291 = x_221;
+ x_235 = x_221;
} else {
lean_dec_ref(x_221);
- x_291 = lean_box(0);
+ x_235 = lean_box(0);
}
-if (lean_is_scalar(x_291)) {
- x_292 = lean_alloc_ctor(1, 2, 0);
+if (lean_is_scalar(x_235)) {
+ x_236 = lean_alloc_ctor(1, 2, 0);
} else {
- x_292 = x_291;
+ x_236 = x_235;
}
-lean_ctor_set(x_292, 0, x_289);
-lean_ctor_set(x_292, 1, x_290);
-return x_292;
+lean_ctor_set(x_236, 0, x_233);
+lean_ctor_set(x_236, 1, x_234);
+x_12 = x_236;
+goto block_21;
}
}
else
{
-lean_object* x_293; lean_object* x_294;
-lean_dec(x_209);
+lean_object* x_237; lean_object* x_238; lean_object* x_239; lean_object* x_240;
+lean_dec(x_215);
+lean_dec(x_214);
+lean_dec(x_196);
lean_dec(x_2);
-lean_dec(x_15);
-lean_dec(x_14);
-lean_dec(x_11);
-lean_dec(x_8);
+lean_dec(x_183);
+lean_dec(x_182);
+lean_dec(x_10);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
-x_293 = lean_ctor_get(x_217, 0);
-lean_inc(x_293);
-lean_dec(x_217);
-if (lean_is_scalar(x_214)) {
- x_294 = lean_alloc_ctor(0, 2, 0);
+x_237 = lean_ctor_get(x_217, 0);
+lean_inc(x_237);
+x_238 = lean_ctor_get(x_217, 1);
+lean_inc(x_238);
+if (lean_is_exclusive(x_217)) {
+ lean_ctor_release(x_217, 0);
+ lean_ctor_release(x_217, 1);
+ x_239 = x_217;
} else {
- x_294 = x_214;
+ lean_dec_ref(x_217);
+ x_239 = lean_box(0);
+}
+if (lean_is_scalar(x_239)) {
+ x_240 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_240 = x_239;
+}
+lean_ctor_set(x_240, 0, x_237);
+lean_ctor_set(x_240, 1, x_238);
+x_12 = x_240;
+goto block_21;
+}
+}
+block_252:
+{
+if (x_242 == 0)
+{
+x_216 = x_243;
+goto block_241;
+}
+else
+{
+lean_object* x_244; lean_object* x_245; lean_object* x_246; lean_object* x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251;
+lean_inc(x_214);
+x_244 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_244, 0, x_214);
+x_245 = l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___closed__2;
+x_246 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_246, 0, x_245);
+lean_ctor_set(x_246, 1, x_244);
+x_247 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_248 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_248, 0, x_246);
+lean_ctor_set(x_248, 1, x_247);
+x_249 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
+x_250 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_249, x_248, x_2, x_3, x_4, x_5, x_243);
+x_251 = lean_ctor_get(x_250, 1);
+lean_inc(x_251);
+lean_dec(x_250);
+x_216 = x_251;
+goto block_241;
+}
}
-lean_ctor_set(x_294, 0, x_293);
-lean_ctor_set(x_294, 1, x_213);
-return x_294;
}
}
else
{
-lean_object* x_295; lean_object* x_296; lean_object* x_297; lean_object* x_298;
+lean_object* x_264; lean_object* x_265; lean_object* x_266; lean_object* x_267;
+lean_dec(x_196);
lean_dec(x_2);
-lean_dec(x_15);
-lean_dec(x_14);
-lean_dec(x_11);
-lean_dec(x_8);
+lean_dec(x_183);
+lean_dec(x_182);
+lean_dec(x_10);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
-x_295 = lean_ctor_get(x_208, 0);
-lean_inc(x_295);
-x_296 = lean_ctor_get(x_208, 1);
-lean_inc(x_296);
+x_264 = lean_ctor_get(x_208, 0);
+lean_inc(x_264);
+x_265 = lean_ctor_get(x_208, 1);
+lean_inc(x_265);
if (lean_is_exclusive(x_208)) {
lean_ctor_release(x_208, 0);
lean_ctor_release(x_208, 1);
- x_297 = x_208;
+ x_266 = x_208;
} else {
lean_dec_ref(x_208);
- x_297 = lean_box(0);
+ x_266 = lean_box(0);
}
-if (lean_is_scalar(x_297)) {
- x_298 = lean_alloc_ctor(1, 2, 0);
+if (lean_is_scalar(x_266)) {
+ x_267 = lean_alloc_ctor(1, 2, 0);
} else {
- x_298 = x_297;
-}
-lean_ctor_set(x_298, 0, x_295);
-lean_ctor_set(x_298, 1, x_296);
-return x_298;
+ x_267 = x_266;
}
+lean_ctor_set(x_267, 0, x_264);
+lean_ctor_set(x_267, 1, x_265);
+x_12 = x_267;
+goto block_21;
}
}
else
{
-lean_object* x_299; lean_object* x_300; uint8_t x_301; uint8_t x_302; uint8_t x_303; lean_object* x_304; uint8_t x_305; uint8_t x_306; uint8_t x_307; lean_object* x_308; lean_object* x_309; lean_object* x_310; lean_object* x_311; lean_object* x_312; lean_object* x_313; lean_object* x_314;
-x_299 = lean_ctor_get(x_2, 1);
-x_300 = lean_ctor_get(x_2, 2);
-lean_inc(x_300);
-lean_inc(x_299);
+lean_object* x_268; lean_object* x_269;
+lean_dec(x_196);
lean_dec(x_2);
-x_301 = lean_ctor_get_uint8(x_10, 2);
-x_302 = lean_ctor_get_uint8(x_10, 6);
-x_303 = lean_ctor_get_uint8(x_10, 7);
-if (lean_is_exclusive(x_10)) {
- x_304 = x_10;
-} else {
- lean_dec_ref(x_10);
- x_304 = lean_box(0);
-}
-x_305 = 1;
-x_306 = 0;
-x_307 = 2;
-if (lean_is_scalar(x_304)) {
- x_308 = lean_alloc_ctor(0, 0, 8);
-} else {
- x_308 = x_304;
-}
-lean_ctor_set_uint8(x_308, 0, x_305);
-lean_ctor_set_uint8(x_308, 1, x_305);
-lean_ctor_set_uint8(x_308, 2, x_301);
-lean_ctor_set_uint8(x_308, 3, x_306);
-lean_ctor_set_uint8(x_308, 4, x_305);
-lean_ctor_set_uint8(x_308, 5, x_307);
-lean_ctor_set_uint8(x_308, 6, x_302);
-lean_ctor_set_uint8(x_308, 7, x_303);
-lean_inc(x_300);
-lean_inc(x_299);
-x_309 = lean_alloc_ctor(0, 3, 0);
-lean_ctor_set(x_309, 0, x_308);
-lean_ctor_set(x_309, 1, x_299);
-lean_ctor_set(x_309, 2, x_300);
-x_310 = l_Lean_Meta_instantiateMVars___at_Lean_Meta_instantiateLocalDeclMVars___spec__1(x_1, x_309, x_3, x_4, x_5, x_12);
-x_311 = lean_ctor_get(x_310, 0);
-lean_inc(x_311);
-x_312 = lean_ctor_get(x_310, 1);
-lean_inc(x_312);
-lean_dec(x_310);
-x_313 = l___private_Lean_Meta_SynthInstance_0__Lean_Meta_preprocess___closed__1;
-lean_inc(x_5);
-lean_inc(x_4);
-lean_inc(x_3);
-lean_inc(x_309);
-x_314 = l_Lean_Meta_forallTelescopeReducing___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_preprocess___spec__1___rarg(x_311, x_313, x_309, x_3, x_4, x_5, x_312);
-if (lean_obj_tag(x_314) == 0)
-{
-lean_object* x_315; lean_object* x_316; lean_object* x_317; lean_object* x_318; lean_object* x_319; lean_object* x_320; lean_object* x_321; lean_object* x_322; lean_object* x_323;
-x_315 = lean_ctor_get(x_314, 0);
-lean_inc(x_315);
-x_316 = lean_ctor_get(x_314, 1);
-lean_inc(x_316);
-lean_dec(x_314);
-x_317 = lean_st_ref_get(x_3, x_316);
-x_318 = lean_ctor_get(x_317, 0);
-lean_inc(x_318);
-x_319 = lean_ctor_get(x_317, 1);
-lean_inc(x_319);
-if (lean_is_exclusive(x_317)) {
- lean_ctor_release(x_317, 0);
- lean_ctor_release(x_317, 1);
- x_320 = x_317;
-} else {
- lean_dec_ref(x_317);
- x_320 = lean_box(0);
-}
-x_321 = lean_ctor_get(x_318, 1);
-lean_inc(x_321);
-lean_dec(x_318);
-x_322 = lean_ctor_get(x_321, 2);
-lean_inc(x_322);
-lean_dec(x_321);
-x_323 = l_Std_PersistentHashMap_find_x3f___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___spec__1(x_322, x_315);
-if (lean_obj_tag(x_323) == 0)
-{
-lean_object* x_324; lean_object* x_325; lean_object* x_326; lean_object* x_327;
-lean_dec(x_320);
-lean_inc(x_315);
-x_324 = lean_alloc_closure((void*)(l___private_Lean_Meta_SynthInstance_0__Lean_Meta_preprocessOutParam), 6, 1);
-lean_closure_set(x_324, 0, x_315);
-lean_inc(x_315);
-x_325 = lean_alloc_closure((void*)(l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___lambda__1), 8, 2);
-lean_closure_set(x_325, 0, x_8);
-lean_closure_set(x_325, 1, x_315);
-x_326 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Meta_Lean_Meta_Basic___instance__5___spec__2___rarg), 7, 2);
-lean_closure_set(x_326, 0, x_324);
-lean_closure_set(x_326, 1, x_325);
-lean_inc(x_5);
-lean_inc(x_4);
-lean_inc(x_3);
-lean_inc(x_309);
-x_327 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_326, x_309, x_3, x_4, x_5, x_319);
-if (lean_obj_tag(x_327) == 0)
-{
-lean_object* x_328;
-x_328 = lean_ctor_get(x_327, 0);
-lean_inc(x_328);
-if (lean_obj_tag(x_328) == 0)
-{
-lean_object* x_329; lean_object* x_330; lean_object* x_331; lean_object* x_332; lean_object* x_333; lean_object* x_334; lean_object* x_335;
-lean_dec(x_300);
-lean_dec(x_299);
-lean_dec(x_11);
-x_329 = lean_ctor_get(x_327, 1);
-lean_inc(x_329);
-lean_dec(x_327);
-x_330 = lean_box(0);
-x_331 = l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___lambda__2(x_315, x_330, x_309, x_3, x_4, x_5, x_329);
+lean_dec(x_183);
+lean_dec(x_182);
+lean_dec(x_10);
+lean_dec(x_8);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
-lean_dec(x_309);
-x_332 = lean_ctor_get(x_331, 0);
-lean_inc(x_332);
-x_333 = lean_ctor_get(x_331, 1);
-lean_inc(x_333);
-if (lean_is_exclusive(x_331)) {
- lean_ctor_release(x_331, 0);
- lean_ctor_release(x_331, 1);
- x_334 = x_331;
+x_268 = lean_ctor_get(x_204, 0);
+lean_inc(x_268);
+lean_dec(x_204);
+if (lean_is_scalar(x_201)) {
+ x_269 = lean_alloc_ctor(0, 2, 0);
} else {
- lean_dec_ref(x_331);
- x_334 = lean_box(0);
+ x_269 = x_201;
}
-if (lean_is_scalar(x_334)) {
- x_335 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_335 = x_334;
+lean_ctor_set(x_269, 0, x_268);
+lean_ctor_set(x_269, 1, x_200);
+x_12 = x_269;
+goto block_21;
}
-lean_ctor_set(x_335, 0, x_332);
-lean_ctor_set(x_335, 1, x_333);
-return x_335;
}
else
{
-lean_object* x_336; lean_object* x_337; lean_object* x_338; lean_object* x_339; uint8_t x_373; lean_object* x_374; lean_object* x_384; lean_object* x_385; lean_object* x_386; uint8_t x_387;
-x_336 = lean_ctor_get(x_327, 1);
-lean_inc(x_336);
-lean_dec(x_327);
-x_337 = lean_ctor_get(x_328, 0);
-lean_inc(x_337);
-if (lean_is_exclusive(x_328)) {
- lean_ctor_release(x_328, 0);
- x_338 = x_328;
-} else {
- lean_dec_ref(x_328);
- x_338 = lean_box(0);
-}
-x_384 = lean_st_ref_get(x_5, x_336);
-x_385 = lean_ctor_get(x_384, 0);
-lean_inc(x_385);
-x_386 = lean_ctor_get(x_385, 3);
-lean_inc(x_386);
-lean_dec(x_385);
-x_387 = lean_ctor_get_uint8(x_386, sizeof(void*)*1);
-lean_dec(x_386);
-if (x_387 == 0)
-{
-lean_object* x_388;
-x_388 = lean_ctor_get(x_384, 1);
-lean_inc(x_388);
-lean_dec(x_384);
-x_373 = x_306;
-x_374 = x_388;
-goto block_383;
-}
-else
-{
-lean_object* x_389; lean_object* x_390; lean_object* x_391; lean_object* x_392; lean_object* x_393; uint8_t x_394;
-x_389 = lean_ctor_get(x_384, 1);
-lean_inc(x_389);
-lean_dec(x_384);
-x_390 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
-x_391 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_390, x_309, x_3, x_4, x_5, x_389);
-x_392 = lean_ctor_get(x_391, 0);
-lean_inc(x_392);
-x_393 = lean_ctor_get(x_391, 1);
-lean_inc(x_393);
-lean_dec(x_391);
-x_394 = lean_unbox(x_392);
-lean_dec(x_392);
-x_373 = x_394;
-x_374 = x_393;
-goto block_383;
-}
-block_372:
-{
-lean_object* x_340;
-lean_inc(x_5);
-lean_inc(x_4);
-lean_inc(x_3);
-lean_inc(x_309);
-lean_inc(x_337);
-x_340 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_337, x_309, x_3, x_4, x_5, x_339);
-if (lean_obj_tag(x_340) == 0)
-{
-lean_object* x_341; lean_object* x_342; lean_object* x_343; lean_object* x_344;
-x_341 = lean_ctor_get(x_340, 0);
-lean_inc(x_341);
-x_342 = lean_ctor_get(x_340, 1);
-lean_inc(x_342);
-lean_dec(x_340);
-x_343 = lean_alloc_ctor(0, 3, 0);
-lean_ctor_set(x_343, 0, x_11);
-lean_ctor_set(x_343, 1, x_299);
-lean_ctor_set(x_343, 2, x_300);
-lean_inc(x_5);
-lean_inc(x_4);
-lean_inc(x_3);
-lean_inc(x_315);
-x_344 = l_Lean_Meta_isExprDefEq___at_Lean_Meta_isExprDefEqGuarded___spec__1(x_315, x_341, x_343, x_3, x_4, x_5, x_342);
-if (lean_obj_tag(x_344) == 0)
-{
-lean_object* x_345; uint8_t x_346;
-x_345 = lean_ctor_get(x_344, 0);
-lean_inc(x_345);
-x_346 = lean_unbox(x_345);
-lean_dec(x_345);
-if (x_346 == 0)
-{
-lean_object* x_347; lean_object* x_348; lean_object* x_349; lean_object* x_350; lean_object* x_351; lean_object* x_352; lean_object* x_353;
-lean_dec(x_338);
-lean_dec(x_337);
-x_347 = lean_ctor_get(x_344, 1);
-lean_inc(x_347);
-lean_dec(x_344);
-x_348 = lean_box(0);
-x_349 = l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___lambda__2(x_315, x_348, x_309, x_3, x_4, x_5, x_347);
+lean_object* x_270; lean_object* x_271; lean_object* x_272; lean_object* x_273;
+lean_dec(x_2);
+lean_dec(x_183);
+lean_dec(x_182);
+lean_dec(x_10);
+lean_dec(x_8);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
-lean_dec(x_309);
-x_350 = lean_ctor_get(x_349, 0);
+x_270 = lean_ctor_get(x_195, 0);
+lean_inc(x_270);
+x_271 = lean_ctor_get(x_195, 1);
+lean_inc(x_271);
+if (lean_is_exclusive(x_195)) {
+ lean_ctor_release(x_195, 0);
+ lean_ctor_release(x_195, 1);
+ x_272 = x_195;
+} else {
+ lean_dec_ref(x_195);
+ x_272 = lean_box(0);
+}
+if (lean_is_scalar(x_272)) {
+ x_273 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_273 = x_272;
+}
+lean_ctor_set(x_273, 0, x_270);
+lean_ctor_set(x_273, 1, x_271);
+return x_273;
+}
+}
+}
+else
+{
+lean_object* x_274; lean_object* x_275; lean_object* x_276; uint8_t x_277; uint8_t x_278; uint8_t x_279; lean_object* x_280; uint8_t x_281; uint8_t x_282; uint8_t x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286; lean_object* x_287; lean_object* x_288; lean_object* x_289; lean_object* x_290;
+x_274 = lean_ctor_get(x_2, 0);
+x_275 = lean_ctor_get(x_2, 1);
+x_276 = lean_ctor_get(x_2, 2);
+lean_inc(x_276);
+lean_inc(x_275);
+lean_inc(x_274);
+lean_dec(x_2);
+x_277 = lean_ctor_get_uint8(x_274, 2);
+x_278 = lean_ctor_get_uint8(x_274, 6);
+x_279 = lean_ctor_get_uint8(x_274, 7);
+if (lean_is_exclusive(x_274)) {
+ x_280 = x_274;
+} else {
+ lean_dec_ref(x_274);
+ x_280 = lean_box(0);
+}
+x_281 = 1;
+x_282 = 0;
+x_283 = 2;
+if (lean_is_scalar(x_280)) {
+ x_284 = lean_alloc_ctor(0, 0, 8);
+} else {
+ x_284 = x_280;
+}
+lean_ctor_set_uint8(x_284, 0, x_281);
+lean_ctor_set_uint8(x_284, 1, x_281);
+lean_ctor_set_uint8(x_284, 2, x_277);
+lean_ctor_set_uint8(x_284, 3, x_282);
+lean_ctor_set_uint8(x_284, 4, x_281);
+lean_ctor_set_uint8(x_284, 5, x_283);
+lean_ctor_set_uint8(x_284, 6, x_278);
+lean_ctor_set_uint8(x_284, 7, x_279);
+lean_inc(x_276);
+lean_inc(x_275);
+x_285 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_285, 0, x_284);
+lean_ctor_set(x_285, 1, x_275);
+lean_ctor_set(x_285, 2, x_276);
+x_286 = l_Lean_Meta_instantiateMVars___at_Lean_Meta_instantiateLocalDeclMVars___spec__1(x_1, x_285, x_3, x_4, x_5, x_11);
+x_287 = lean_ctor_get(x_286, 0);
+lean_inc(x_287);
+x_288 = lean_ctor_get(x_286, 1);
+lean_inc(x_288);
+lean_dec(x_286);
+x_289 = l___private_Lean_Meta_SynthInstance_0__Lean_Meta_preprocess___closed__1;
+lean_inc(x_5);
+lean_inc(x_4);
+lean_inc(x_3);
+lean_inc(x_285);
+x_290 = l_Lean_Meta_forallTelescopeReducing___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_preprocess___spec__1___rarg(x_287, x_289, x_285, x_3, x_4, x_5, x_288);
+if (lean_obj_tag(x_290) == 0)
+{
+lean_object* x_291; lean_object* x_292; lean_object* x_293; lean_object* x_294; lean_object* x_295; lean_object* x_296; lean_object* x_297; lean_object* x_298; lean_object* x_299;
+x_291 = lean_ctor_get(x_290, 0);
+lean_inc(x_291);
+x_292 = lean_ctor_get(x_290, 1);
+lean_inc(x_292);
+lean_dec(x_290);
+x_293 = lean_st_ref_get(x_3, x_292);
+x_294 = lean_ctor_get(x_293, 0);
+lean_inc(x_294);
+x_295 = lean_ctor_get(x_293, 1);
+lean_inc(x_295);
+if (lean_is_exclusive(x_293)) {
+ lean_ctor_release(x_293, 0);
+ lean_ctor_release(x_293, 1);
+ x_296 = x_293;
+} else {
+ lean_dec_ref(x_293);
+ x_296 = lean_box(0);
+}
+x_297 = lean_ctor_get(x_294, 1);
+lean_inc(x_297);
+lean_dec(x_294);
+x_298 = lean_ctor_get(x_297, 2);
+lean_inc(x_298);
+lean_dec(x_297);
+x_299 = l_Std_PersistentHashMap_find_x3f___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___spec__1(x_298, x_291);
+if (lean_obj_tag(x_299) == 0)
+{
+lean_object* x_300; lean_object* x_301; lean_object* x_302; lean_object* x_303;
+lean_dec(x_296);
+lean_inc(x_291);
+x_300 = lean_alloc_closure((void*)(l___private_Lean_Meta_SynthInstance_0__Lean_Meta_preprocessOutParam), 6, 1);
+lean_closure_set(x_300, 0, x_291);
+lean_inc(x_291);
+x_301 = lean_alloc_closure((void*)(l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___lambda__1), 8, 2);
+lean_closure_set(x_301, 0, x_8);
+lean_closure_set(x_301, 1, x_291);
+x_302 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Meta_Lean_Meta_Basic___instance__5___spec__2___rarg), 7, 2);
+lean_closure_set(x_302, 0, x_300);
+lean_closure_set(x_302, 1, x_301);
+lean_inc(x_5);
+lean_inc(x_4);
+lean_inc(x_3);
+lean_inc(x_285);
+x_303 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__2___rarg(x_302, x_285, x_3, x_4, x_5, x_295);
+if (lean_obj_tag(x_303) == 0)
+{
+lean_object* x_304;
+x_304 = lean_ctor_get(x_303, 0);
+lean_inc(x_304);
+if (lean_obj_tag(x_304) == 0)
+{
+lean_object* x_305; lean_object* x_306; lean_object* x_307;
+lean_dec(x_276);
+lean_dec(x_275);
+lean_dec(x_10);
+x_305 = lean_ctor_get(x_303, 1);
+lean_inc(x_305);
+lean_dec(x_303);
+x_306 = lean_box(0);
+x_307 = l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___lambda__2(x_291, x_306, x_285, x_3, x_4, x_5, x_305);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_285);
+x_12 = x_307;
+goto block_21;
+}
+else
+{
+lean_object* x_308; lean_object* x_309; lean_object* x_310; lean_object* x_311; uint8_t x_337; lean_object* x_338; lean_object* x_348; lean_object* x_349; lean_object* x_350; uint8_t x_351;
+x_308 = lean_ctor_get(x_303, 1);
+lean_inc(x_308);
+lean_dec(x_303);
+x_309 = lean_ctor_get(x_304, 0);
+lean_inc(x_309);
+if (lean_is_exclusive(x_304)) {
+ lean_ctor_release(x_304, 0);
+ x_310 = x_304;
+} else {
+ lean_dec_ref(x_304);
+ x_310 = lean_box(0);
+}
+x_348 = lean_st_ref_get(x_5, x_308);
+x_349 = lean_ctor_get(x_348, 0);
+lean_inc(x_349);
+x_350 = lean_ctor_get(x_349, 3);
lean_inc(x_350);
-x_351 = lean_ctor_get(x_349, 1);
-lean_inc(x_351);
-if (lean_is_exclusive(x_349)) {
- lean_ctor_release(x_349, 0);
- lean_ctor_release(x_349, 1);
- x_352 = x_349;
-} else {
- lean_dec_ref(x_349);
- x_352 = lean_box(0);
-}
-if (lean_is_scalar(x_352)) {
- x_353 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_353 = x_352;
-}
-lean_ctor_set(x_353, 0, x_350);
-lean_ctor_set(x_353, 1, x_351);
-return x_353;
+lean_dec(x_349);
+x_351 = lean_ctor_get_uint8(x_350, sizeof(void*)*1);
+lean_dec(x_350);
+if (x_351 == 0)
+{
+lean_object* x_352;
+x_352 = lean_ctor_get(x_348, 1);
+lean_inc(x_352);
+lean_dec(x_348);
+x_337 = x_282;
+x_338 = x_352;
+goto block_347;
}
else
{
-lean_object* x_354; lean_object* x_355; lean_object* x_356; lean_object* x_357; lean_object* x_358; lean_object* x_359; lean_object* x_360; lean_object* x_361; lean_object* x_362; lean_object* x_363;
-x_354 = lean_ctor_get(x_344, 1);
-lean_inc(x_354);
-lean_dec(x_344);
-x_355 = l_Lean_Meta_instantiateMVars___at_Lean_Meta_instantiateLocalDeclMVars___spec__1(x_337, x_309, x_3, x_4, x_5, x_354);
+lean_object* x_353; lean_object* x_354; lean_object* x_355; lean_object* x_356; lean_object* x_357; uint8_t x_358;
+x_353 = lean_ctor_get(x_348, 1);
+lean_inc(x_353);
+lean_dec(x_348);
+x_354 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
+x_355 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_354, x_285, x_3, x_4, x_5, x_353);
x_356 = lean_ctor_get(x_355, 0);
lean_inc(x_356);
x_357 = lean_ctor_get(x_355, 1);
lean_inc(x_357);
lean_dec(x_355);
-if (lean_is_scalar(x_338)) {
- x_358 = lean_alloc_ctor(1, 1, 0);
-} else {
- x_358 = x_338;
+x_358 = lean_unbox(x_356);
+lean_dec(x_356);
+x_337 = x_358;
+x_338 = x_357;
+goto block_347;
}
-lean_ctor_set(x_358, 0, x_356);
-x_359 = l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___lambda__2(x_315, x_358, x_309, x_3, x_4, x_5, x_357);
+block_336:
+{
+lean_object* x_312;
+lean_inc(x_5);
+lean_inc(x_4);
+lean_inc(x_3);
+lean_inc(x_285);
+lean_inc(x_309);
+x_312 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_309, x_285, x_3, x_4, x_5, x_311);
+if (lean_obj_tag(x_312) == 0)
+{
+lean_object* x_313; lean_object* x_314; lean_object* x_315; lean_object* x_316;
+x_313 = lean_ctor_get(x_312, 0);
+lean_inc(x_313);
+x_314 = lean_ctor_get(x_312, 1);
+lean_inc(x_314);
+lean_dec(x_312);
+x_315 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_315, 0, x_10);
+lean_ctor_set(x_315, 1, x_275);
+lean_ctor_set(x_315, 2, x_276);
+lean_inc(x_5);
+lean_inc(x_4);
+lean_inc(x_3);
+lean_inc(x_291);
+x_316 = l_Lean_Meta_isExprDefEq___at_Lean_Meta_isExprDefEqGuarded___spec__1(x_291, x_313, x_315, x_3, x_4, x_5, x_314);
+if (lean_obj_tag(x_316) == 0)
+{
+lean_object* x_317; uint8_t x_318;
+x_317 = lean_ctor_get(x_316, 0);
+lean_inc(x_317);
+x_318 = lean_unbox(x_317);
+lean_dec(x_317);
+if (x_318 == 0)
+{
+lean_object* x_319; lean_object* x_320; lean_object* x_321;
+lean_dec(x_310);
+lean_dec(x_309);
+x_319 = lean_ctor_get(x_316, 1);
+lean_inc(x_319);
+lean_dec(x_316);
+x_320 = lean_box(0);
+x_321 = l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___lambda__2(x_291, x_320, x_285, x_3, x_4, x_5, x_319);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
-lean_dec(x_309);
-x_360 = lean_ctor_get(x_359, 0);
-lean_inc(x_360);
-x_361 = lean_ctor_get(x_359, 1);
-lean_inc(x_361);
-if (lean_is_exclusive(x_359)) {
- lean_ctor_release(x_359, 0);
- lean_ctor_release(x_359, 1);
- x_362 = x_359;
-} else {
- lean_dec_ref(x_359);
- x_362 = lean_box(0);
-}
-if (lean_is_scalar(x_362)) {
- x_363 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_363 = x_362;
-}
-lean_ctor_set(x_363, 0, x_360);
-lean_ctor_set(x_363, 1, x_361);
-return x_363;
-}
+lean_dec(x_285);
+x_12 = x_321;
+goto block_21;
}
else
{
-lean_object* x_364; lean_object* x_365; lean_object* x_366; lean_object* x_367;
-lean_dec(x_338);
-lean_dec(x_337);
-lean_dec(x_315);
-lean_dec(x_309);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_364 = lean_ctor_get(x_344, 0);
-lean_inc(x_364);
-x_365 = lean_ctor_get(x_344, 1);
-lean_inc(x_365);
-if (lean_is_exclusive(x_344)) {
- lean_ctor_release(x_344, 0);
- lean_ctor_release(x_344, 1);
- x_366 = x_344;
-} else {
- lean_dec_ref(x_344);
- x_366 = lean_box(0);
-}
-if (lean_is_scalar(x_366)) {
- x_367 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_367 = x_366;
-}
-lean_ctor_set(x_367, 0, x_364);
-lean_ctor_set(x_367, 1, x_365);
-return x_367;
-}
-}
-else
-{
-lean_object* x_368; lean_object* x_369; lean_object* x_370; lean_object* x_371;
-lean_dec(x_338);
-lean_dec(x_337);
-lean_dec(x_315);
-lean_dec(x_309);
-lean_dec(x_300);
-lean_dec(x_299);
-lean_dec(x_11);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_368 = lean_ctor_get(x_340, 0);
-lean_inc(x_368);
-x_369 = lean_ctor_get(x_340, 1);
-lean_inc(x_369);
-if (lean_is_exclusive(x_340)) {
- lean_ctor_release(x_340, 0);
- lean_ctor_release(x_340, 1);
- x_370 = x_340;
-} else {
- lean_dec_ref(x_340);
- x_370 = lean_box(0);
-}
-if (lean_is_scalar(x_370)) {
- x_371 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_371 = x_370;
-}
-lean_ctor_set(x_371, 0, x_368);
-lean_ctor_set(x_371, 1, x_369);
-return x_371;
-}
-}
-block_383:
-{
-if (x_373 == 0)
-{
-x_339 = x_374;
-goto block_372;
-}
-else
-{
-lean_object* x_375; lean_object* x_376; lean_object* x_377; lean_object* x_378; lean_object* x_379; lean_object* x_380; lean_object* x_381; lean_object* x_382;
-lean_inc(x_337);
-x_375 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_375, 0, x_337);
-x_376 = l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___closed__2;
-x_377 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_377, 0, x_376);
-lean_ctor_set(x_377, 1, x_375);
-x_378 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
-x_379 = lean_alloc_ctor(10, 2, 0);
-lean_ctor_set(x_379, 0, x_377);
-lean_ctor_set(x_379, 1, x_378);
-x_380 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
-x_381 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_380, x_379, x_309, x_3, x_4, x_5, x_374);
-x_382 = lean_ctor_get(x_381, 1);
-lean_inc(x_382);
-lean_dec(x_381);
-x_339 = x_382;
-goto block_372;
-}
-}
-}
-}
-else
-{
-lean_object* x_395; lean_object* x_396; lean_object* x_397; lean_object* x_398;
-lean_dec(x_315);
-lean_dec(x_309);
-lean_dec(x_300);
-lean_dec(x_299);
-lean_dec(x_11);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_395 = lean_ctor_get(x_327, 0);
-lean_inc(x_395);
-x_396 = lean_ctor_get(x_327, 1);
-lean_inc(x_396);
-if (lean_is_exclusive(x_327)) {
- lean_ctor_release(x_327, 0);
- lean_ctor_release(x_327, 1);
- x_397 = x_327;
-} else {
- lean_dec_ref(x_327);
- x_397 = lean_box(0);
-}
-if (lean_is_scalar(x_397)) {
- x_398 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_398 = x_397;
-}
-lean_ctor_set(x_398, 0, x_395);
-lean_ctor_set(x_398, 1, x_396);
-return x_398;
-}
-}
-else
-{
-lean_object* x_399; lean_object* x_400;
-lean_dec(x_315);
-lean_dec(x_309);
-lean_dec(x_300);
-lean_dec(x_299);
-lean_dec(x_11);
-lean_dec(x_8);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-x_399 = lean_ctor_get(x_323, 0);
-lean_inc(x_399);
+lean_object* x_322; lean_object* x_323; lean_object* x_324; lean_object* x_325; lean_object* x_326; lean_object* x_327;
+x_322 = lean_ctor_get(x_316, 1);
+lean_inc(x_322);
+lean_dec(x_316);
+x_323 = l_Lean_Meta_instantiateMVars___at_Lean_Meta_instantiateLocalDeclMVars___spec__1(x_309, x_285, x_3, x_4, x_5, x_322);
+x_324 = lean_ctor_get(x_323, 0);
+lean_inc(x_324);
+x_325 = lean_ctor_get(x_323, 1);
+lean_inc(x_325);
lean_dec(x_323);
-if (lean_is_scalar(x_320)) {
- x_400 = lean_alloc_ctor(0, 2, 0);
+if (lean_is_scalar(x_310)) {
+ x_326 = lean_alloc_ctor(1, 1, 0);
} else {
- x_400 = x_320;
+ x_326 = x_310;
}
-lean_ctor_set(x_400, 0, x_399);
-lean_ctor_set(x_400, 1, x_319);
-return x_400;
+lean_ctor_set(x_326, 0, x_324);
+x_327 = l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___lambda__2(x_291, x_326, x_285, x_3, x_4, x_5, x_325);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_285);
+x_12 = x_327;
+goto block_21;
}
}
else
{
-lean_object* x_401; lean_object* x_402; lean_object* x_403; lean_object* x_404;
+lean_object* x_328; lean_object* x_329; lean_object* x_330; lean_object* x_331;
+lean_dec(x_310);
lean_dec(x_309);
-lean_dec(x_300);
-lean_dec(x_299);
-lean_dec(x_11);
+lean_dec(x_291);
+lean_dec(x_285);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_328 = lean_ctor_get(x_316, 0);
+lean_inc(x_328);
+x_329 = lean_ctor_get(x_316, 1);
+lean_inc(x_329);
+if (lean_is_exclusive(x_316)) {
+ lean_ctor_release(x_316, 0);
+ lean_ctor_release(x_316, 1);
+ x_330 = x_316;
+} else {
+ lean_dec_ref(x_316);
+ x_330 = lean_box(0);
+}
+if (lean_is_scalar(x_330)) {
+ x_331 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_331 = x_330;
+}
+lean_ctor_set(x_331, 0, x_328);
+lean_ctor_set(x_331, 1, x_329);
+x_12 = x_331;
+goto block_21;
+}
+}
+else
+{
+lean_object* x_332; lean_object* x_333; lean_object* x_334; lean_object* x_335;
+lean_dec(x_310);
+lean_dec(x_309);
+lean_dec(x_291);
+lean_dec(x_285);
+lean_dec(x_276);
+lean_dec(x_275);
+lean_dec(x_10);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_332 = lean_ctor_get(x_312, 0);
+lean_inc(x_332);
+x_333 = lean_ctor_get(x_312, 1);
+lean_inc(x_333);
+if (lean_is_exclusive(x_312)) {
+ lean_ctor_release(x_312, 0);
+ lean_ctor_release(x_312, 1);
+ x_334 = x_312;
+} else {
+ lean_dec_ref(x_312);
+ x_334 = lean_box(0);
+}
+if (lean_is_scalar(x_334)) {
+ x_335 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_335 = x_334;
+}
+lean_ctor_set(x_335, 0, x_332);
+lean_ctor_set(x_335, 1, x_333);
+x_12 = x_335;
+goto block_21;
+}
+}
+block_347:
+{
+if (x_337 == 0)
+{
+x_311 = x_338;
+goto block_336;
+}
+else
+{
+lean_object* x_339; lean_object* x_340; lean_object* x_341; lean_object* x_342; lean_object* x_343; lean_object* x_344; lean_object* x_345; lean_object* x_346;
+lean_inc(x_309);
+x_339 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_339, 0, x_309);
+x_340 = l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthInstanceImp_x3f___closed__2;
+x_341 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_341, 0, x_340);
+lean_ctor_set(x_341, 1, x_339);
+x_342 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
+x_343 = lean_alloc_ctor(10, 2, 0);
+lean_ctor_set(x_343, 0, x_341);
+lean_ctor_set(x_343, 1, x_342);
+x_344 = l_Lean_Meta_SynthInstance_getInstances___lambda__1___closed__5;
+x_345 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_344, x_343, x_285, x_3, x_4, x_5, x_338);
+x_346 = lean_ctor_get(x_345, 1);
+lean_inc(x_346);
+lean_dec(x_345);
+x_311 = x_346;
+goto block_336;
+}
+}
+}
+}
+else
+{
+lean_object* x_359; lean_object* x_360; lean_object* x_361; lean_object* x_362;
+lean_dec(x_291);
+lean_dec(x_285);
+lean_dec(x_276);
+lean_dec(x_275);
+lean_dec(x_10);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_359 = lean_ctor_get(x_303, 0);
+lean_inc(x_359);
+x_360 = lean_ctor_get(x_303, 1);
+lean_inc(x_360);
+if (lean_is_exclusive(x_303)) {
+ lean_ctor_release(x_303, 0);
+ lean_ctor_release(x_303, 1);
+ x_361 = x_303;
+} else {
+ lean_dec_ref(x_303);
+ x_361 = lean_box(0);
+}
+if (lean_is_scalar(x_361)) {
+ x_362 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_362 = x_361;
+}
+lean_ctor_set(x_362, 0, x_359);
+lean_ctor_set(x_362, 1, x_360);
+x_12 = x_362;
+goto block_21;
+}
+}
+else
+{
+lean_object* x_363; lean_object* x_364;
+lean_dec(x_291);
+lean_dec(x_285);
+lean_dec(x_276);
+lean_dec(x_275);
+lean_dec(x_10);
lean_dec(x_8);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
-x_401 = lean_ctor_get(x_314, 0);
-lean_inc(x_401);
-x_402 = lean_ctor_get(x_314, 1);
-lean_inc(x_402);
-if (lean_is_exclusive(x_314)) {
- lean_ctor_release(x_314, 0);
- lean_ctor_release(x_314, 1);
- x_403 = x_314;
+x_363 = lean_ctor_get(x_299, 0);
+lean_inc(x_363);
+lean_dec(x_299);
+if (lean_is_scalar(x_296)) {
+ x_364 = lean_alloc_ctor(0, 2, 0);
} else {
- lean_dec_ref(x_314);
- x_403 = lean_box(0);
+ x_364 = x_296;
}
-if (lean_is_scalar(x_403)) {
- x_404 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_364, 0, x_363);
+lean_ctor_set(x_364, 1, x_295);
+x_12 = x_364;
+goto block_21;
+}
+}
+else
+{
+lean_object* x_365; lean_object* x_366; lean_object* x_367; lean_object* x_368;
+lean_dec(x_285);
+lean_dec(x_276);
+lean_dec(x_275);
+lean_dec(x_10);
+lean_dec(x_8);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_365 = lean_ctor_get(x_290, 0);
+lean_inc(x_365);
+x_366 = lean_ctor_get(x_290, 1);
+lean_inc(x_366);
+if (lean_is_exclusive(x_290)) {
+ lean_ctor_release(x_290, 0);
+ lean_ctor_release(x_290, 1);
+ x_367 = x_290;
} else {
- x_404 = x_403;
+ lean_dec_ref(x_290);
+ x_367 = lean_box(0);
+}
+if (lean_is_scalar(x_367)) {
+ x_368 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_368 = x_367;
+}
+lean_ctor_set(x_368, 0, x_365);
+lean_ctor_set(x_368, 1, x_366);
+return x_368;
+}
+}
+block_21:
+{
+if (lean_obj_tag(x_12) == 0)
+{
+uint8_t x_13;
+x_13 = !lean_is_exclusive(x_12);
+if (x_13 == 0)
+{
+return x_12;
+}
+else
+{
+lean_object* x_14; lean_object* x_15; lean_object* x_16;
+x_14 = lean_ctor_get(x_12, 0);
+x_15 = lean_ctor_get(x_12, 1);
+lean_inc(x_15);
+lean_inc(x_14);
+lean_dec(x_12);
+x_16 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_16, 0, x_14);
+lean_ctor_set(x_16, 1, x_15);
+return x_16;
+}
+}
+else
+{
+uint8_t x_17;
+x_17 = !lean_is_exclusive(x_12);
+if (x_17 == 0)
+{
+return x_12;
+}
+else
+{
+lean_object* x_18; lean_object* x_19; lean_object* x_20;
+x_18 = lean_ctor_get(x_12, 0);
+x_19 = lean_ctor_get(x_12, 1);
+lean_inc(x_19);
+lean_inc(x_18);
+lean_dec(x_12);
+x_20 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_20, 0, x_18);
+lean_ctor_set(x_20, 1, x_19);
+return x_20;
}
-lean_ctor_set(x_404, 0, x_401);
-lean_ctor_set(x_404, 1, x_402);
-return x_404;
}
}
}
diff --git a/stage0/stdlib/Lean/Meta/Tactic/Cases.c b/stage0/stdlib/Lean/Meta/Tactic/Cases.c
index e67b62fa53..09ab706b71 100644
--- a/stage0/stdlib/Lean/Meta/Tactic/Cases.c
+++ b/stage0/stdlib/Lean/Meta/Tactic/Cases.c
@@ -25,7 +25,6 @@ lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Le
lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___lambda__1___closed__1;
lean_object* l_Array_iterateMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqs___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Std_PersistentArray_anyM___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__19(lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__3___boxed(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Expr_eq_x3f___closed__2;
lean_object* l_Lean_Expr_mvarId_x21(lean_object*);
lean_object* l_Lean_Meta_generalizeIndices_match__3___rarg(lean_object*, lean_object*);
@@ -33,7 +32,6 @@ lean_object* l_Lean_registerTraceClass(lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__13(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_PersistentArray_anyM___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_stringToMessageData(lean_object*);
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__16___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_generalizeIndices___spec__1___lambda__6(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___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkEqImp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_mk_empty_array_with_capacity(lean_object*);
@@ -61,7 +59,6 @@ lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_generalizeIndices___spec__1__
lean_object* l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_generalizeIndices___spec__1___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_Meta_generalizeIndices_match__2___rarg(lean_object*, lean_object*);
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__25___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__17(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkEqOfHEqImp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_extract___rarg(lean_object*, lean_object*, lean_object*);
@@ -108,24 +105,19 @@ lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_elimAuxIndice
lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___closed__3;
lean_object* l_Lean_Expr_appArg_x21(lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_toCasesSubgoals___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__22___boxed(lean_object*, lean_object*, lean_object*);
uint8_t l_Array_anyRangeMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__10(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_checkNotAssigned___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_getLocalInstances___at___private_Lean_Meta_Basic_0__Lean_Meta_mkFreshExprMVarCore___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__21(lean_object*, lean_object*, lean_object*);
uint8_t l_Array_anyRangeMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__41(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_nat_add(lean_object*, lean_object*);
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__8___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkForallFVars___at___private_Lean_Meta_InferType_0__Lean_Meta_inferLambdaType___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_mkCasesContext_x3f_match__1(lean_object*);
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__24___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Cases_cases___lambda__1___closed__5;
lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_generalizeIndices___spec__1___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* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_elimAuxIndices___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_Meta_withLocalDecl___at_Lean_Meta_substCore___spec__4___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__15___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__1(lean_object*, lean_object*, lean_object*);
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__20___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_MetavarContext_8__dep___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Meta_casesOnSuffix;
uint8_t l_Array_anyRangeMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -173,7 +165,6 @@ lean_object* l_Lean_Expr_fvarId_x21(lean_object*);
lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___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_array_fset(lean_object*, lean_object*, lean_object*);
uint8_t l_Array_anyRangeMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__15(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__7___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_List_lengthAux___main___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Meta_clear(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_generalizeIndices(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -204,7 +195,6 @@ uint8_t l_Std_PersistentArray_anyM___at___private_Lean_Meta_Tactic_Cases_0__Lean
lean_object* l_Lean_Meta_withMVarContext___at_Lean_Meta_admit___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_anyRangeMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__46___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__9(lean_object*, lean_object*, lean_object*);
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__17___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_MetavarContext_8__dep___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__24(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_withNewIndexEqs_loop___rarg___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*);
uint8_t l_Lean_Environment_contains(lean_object*, lean_object*);
@@ -240,12 +230,10 @@ lean_object* l_Lean_Meta_generalizeIndices_match__2(lean_object*);
lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_mkCasesContext_x3f___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* l_Array_anyRangeMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___closed__4;
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__23___boxed(lean_object*, lean_object*, lean_object*);
uint8_t l_Array_anyRangeMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__17(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Cases___hyg_2406_(lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__2(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_LocalDecl_fvarId(lean_object*);
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__1___boxed(lean_object*, lean_object*, lean_object*);
extern lean_object* l___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkNoConfusionImp___closed__8;
lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_generalizeIndices___spec__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_LocalDecl_type(lean_object*);
@@ -261,12 +249,9 @@ lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_inductionCase
lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux_match__5(lean_object*);
uint8_t l_Std_PersistentArray_anyMAux___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__8(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Cases_Context_nminors___default(lean_object*);
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__6___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Cases_cases(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__19___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux_match__4(lean_object*);
lean_object* l_Lean_LocalDecl_index(lean_object*);
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__21___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_getAppNumArgsAux(lean_object*, lean_object*);
uint8_t l_Std_PersistentArray_anyM___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__31(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_forallTelescopeReducing___at_Lean_Meta_getParamNamesImp___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -279,7 +264,6 @@ lean_object* l_Array_anyRangeMAux___main___at___private_Lean_Meta_Tactic_Cases_0
uint8_t lean_expr_eqv(lean_object*, lean_object*);
lean_object* l_Std_PersistentArray_anyMAux___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__38___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Array_anyRangeMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__45(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__12___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Cases_cases___lambda__1___closed__4;
lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_generalizeIndices___spec__1___closed__2;
lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_elimAuxIndices(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -294,7 +278,6 @@ extern lean_object* l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec
lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqs_match__1(lean_object*);
extern lean_object* l___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkNoConfusionImp___closed__5;
uint8_t l_Std_PersistentArray_anyMAux___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__20(lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__2___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Cases_cases_match__1(lean_object*);
lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_generalizeIndices___spec__1___closed__3;
lean_object* l_Array_anyRangeMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__22___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -320,16 +303,14 @@ lean_object* l_Lean_Meta_generalizeIndices___lambda__1___closed__1;
lean_object* l_Array_anyRangeMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__27___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Array_anyRangeMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_PersistentArray_anyMAux___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__43___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_mk_array(lean_object*, lean_object*);
+lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_PersistentArray_anyM___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__42___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__15(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_MetavarContext_8__dep___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__30(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_generalizeIndices___spec__1___lambda__6___closed__2;
lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_withNewIndexEqs_loop___rarg___closed__1;
uint8_t l_Array_anyRangeMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__11___boxed(lean_object*, lean_object*, lean_object*);
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__5___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux_match__1(lean_object*);
lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_throwInductiveTypeExpected___rarg___closed__1;
lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_elimAuxIndices_match__1___rarg(lean_object*, lean_object*, lean_object*);
@@ -342,16 +323,14 @@ lean_object* l_Array_anyRangeMAux___main___at___private_Lean_Meta_Tactic_Cases_0
lean_object* l_List_toArrayAux___main___rarg(lean_object*, lean_object*);
lean_object* l_Array_anyRangeMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__29___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_anyRangeMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__41___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_unsafeCast(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_mkAppN___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__14___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__20(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqs(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_generalizeIndices___spec__1___lambda__4(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*);
uint8_t l_Std_PersistentArray_anyM___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__7(lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__9___boxed(lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_mkAppB(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_indentExpr(lean_object*);
uint8_t l_Lean_Expr_hasFVar(lean_object*);
@@ -363,21 +342,17 @@ lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux_m
lean_object* l_Lean_mkConst(lean_object*, lean_object*);
uint8_t l_Nat_anyAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__2(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__4___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux_match__7___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_anyRangeMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__44___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__10___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_throwInductiveTypeExpected___rarg___closed__2;
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__16(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_generalizeIndices___spec__1___lambda__6___closed__1;
lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_toCasesSubgoals___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__13___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_assignExprMVar___at___private_Lean_Meta_InferType_0__Lean_Meta_getLevelImp___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_generalizeIndices___spec__1___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*, lean_object*);
lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_PersistentArray_anyMAux___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__20___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_mkApp3(lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__18___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__23(lean_object*, lean_object*, lean_object*);
uint8_t l_Std_PersistentArray_anyM___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__25(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_induction(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -11853,6 +11828,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
+lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@@ -11863,6 +11839,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
+lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@@ -11886,6 +11863,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
+lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@@ -11896,6 +11874,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
+lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@@ -11919,6 +11898,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
+lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@@ -11929,6 +11909,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
+lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@@ -11952,6 +11933,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
+lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@@ -11962,6 +11944,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
+lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@@ -11985,6 +11968,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
+lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@@ -11995,6 +11979,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
+lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@@ -12018,6 +12003,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
+lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@@ -12028,6 +12014,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
+lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@@ -12051,6 +12038,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
+lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@@ -12061,6 +12049,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
+lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@@ -12084,6 +12073,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
+lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@@ -12094,6 +12084,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
+lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@@ -12117,6 +12108,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
+lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@@ -12127,6 +12119,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
+lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@@ -12150,6 +12143,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
+lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@@ -12160,6 +12154,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
+lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@@ -12183,6 +12178,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
+lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@@ -12193,6 +12189,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
+lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@@ -12216,6 +12213,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
+lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@@ -12226,6 +12224,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
+lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@@ -12249,6 +12248,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
+lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@@ -12259,6 +12259,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
+lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@@ -12282,6 +12283,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
+lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@@ -12292,6 +12294,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
+lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@@ -12315,6 +12318,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
+lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@@ -12325,6 +12329,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
+lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@@ -12348,6 +12353,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
+lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@@ -12358,6 +12364,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
+lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@@ -12381,6 +12388,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
+lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@@ -12391,6 +12399,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
+lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@@ -12414,6 +12423,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
+lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@@ -12424,6 +12434,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
+lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@@ -12447,6 +12458,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
+lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@@ -12457,6 +12469,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
+lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@@ -12480,6 +12493,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
+lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@@ -12490,6 +12504,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
+lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@@ -12513,6 +12528,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
+lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@@ -12523,6 +12539,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
+lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@@ -12546,6 +12563,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
+lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@@ -12556,6 +12574,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
+lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@@ -12579,6 +12598,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
+lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@@ -12589,6 +12609,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
+lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@@ -12612,6 +12633,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
+lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@@ -12622,6 +12644,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
+lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@@ -12645,6 +12668,7 @@ if (x_5 == 0)
{
lean_object* x_6;
lean_dec(x_2);
+lean_dec(x_1);
x_6 = x_3;
return x_6;
}
@@ -12655,6 +12679,7 @@ x_7 = lean_array_fget(x_3, x_2);
x_8 = lean_unsigned_to_nat(0u);
x_9 = lean_array_fset(x_3, x_2, x_8);
x_10 = x_7;
+lean_inc(x_1);
x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_10);
x_12 = lean_unsigned_to_nat(1u);
x_13 = lean_nat_add(x_2, x_12);
@@ -12835,6 +12860,7 @@ lean_inc(x_43);
lean_dec(x_40);
x_44 = x_4;
x_45 = lean_unsigned_to_nat(0u);
+lean_inc(x_42);
x_46 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__1(x_42, x_45, x_44);
x_47 = x_46;
x_48 = lean_alloc_ctor(0, 3, 0);
@@ -13009,6 +13035,7 @@ lean_inc(x_80);
lean_dec(x_77);
x_81 = x_4;
x_82 = lean_unsigned_to_nat(0u);
+lean_inc(x_79);
x_83 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__2(x_79, x_82, x_81);
x_84 = x_83;
x_85 = lean_alloc_ctor(0, 3, 0);
@@ -13107,6 +13134,7 @@ lean_inc(x_108);
lean_dec(x_105);
x_109 = x_4;
x_110 = lean_unsigned_to_nat(0u);
+lean_inc(x_107);
x_111 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__3(x_107, x_110, x_109);
x_112 = x_111;
x_113 = lean_alloc_ctor(0, 3, 0);
@@ -13241,6 +13269,7 @@ lean_inc(x_134);
lean_dec(x_131);
x_135 = x_4;
x_136 = lean_unsigned_to_nat(0u);
+lean_inc(x_133);
x_137 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__4(x_133, x_136, x_135);
x_138 = x_137;
x_139 = lean_alloc_ctor(0, 3, 0);
@@ -13309,6 +13338,7 @@ lean_inc(x_152);
lean_dec(x_149);
x_153 = x_4;
x_154 = lean_unsigned_to_nat(0u);
+lean_inc(x_151);
x_155 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__5(x_151, x_154, x_153);
x_156 = x_155;
x_157 = lean_alloc_ctor(0, 3, 0);
@@ -13377,6 +13407,7 @@ lean_inc(x_170);
lean_dec(x_167);
x_171 = x_4;
x_172 = lean_unsigned_to_nat(0u);
+lean_inc(x_169);
x_173 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__6(x_169, x_172, x_171);
x_174 = x_173;
x_175 = lean_alloc_ctor(0, 3, 0);
@@ -13445,6 +13476,7 @@ lean_inc(x_188);
lean_dec(x_185);
x_189 = x_4;
x_190 = lean_unsigned_to_nat(0u);
+lean_inc(x_187);
x_191 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__7(x_187, x_190, x_189);
x_192 = x_191;
x_193 = lean_alloc_ctor(0, 3, 0);
@@ -13513,6 +13545,7 @@ lean_inc(x_206);
lean_dec(x_203);
x_207 = x_4;
x_208 = lean_unsigned_to_nat(0u);
+lean_inc(x_205);
x_209 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__8(x_205, x_208, x_207);
x_210 = x_209;
x_211 = lean_alloc_ctor(0, 3, 0);
@@ -13581,6 +13614,7 @@ lean_inc(x_224);
lean_dec(x_221);
x_225 = x_4;
x_226 = lean_unsigned_to_nat(0u);
+lean_inc(x_223);
x_227 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__9(x_223, x_226, x_225);
x_228 = x_227;
x_229 = lean_alloc_ctor(0, 3, 0);
@@ -13649,6 +13683,7 @@ lean_inc(x_242);
lean_dec(x_239);
x_243 = x_4;
x_244 = lean_unsigned_to_nat(0u);
+lean_inc(x_241);
x_245 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__10(x_241, x_244, x_243);
x_246 = x_245;
x_247 = lean_alloc_ctor(0, 3, 0);
@@ -13717,6 +13752,7 @@ lean_inc(x_260);
lean_dec(x_257);
x_261 = x_4;
x_262 = lean_unsigned_to_nat(0u);
+lean_inc(x_259);
x_263 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__11(x_259, x_262, x_261);
x_264 = x_263;
x_265 = lean_alloc_ctor(0, 3, 0);
@@ -13785,6 +13821,7 @@ lean_inc(x_278);
lean_dec(x_275);
x_279 = x_4;
x_280 = lean_unsigned_to_nat(0u);
+lean_inc(x_277);
x_281 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__12(x_277, x_280, x_279);
x_282 = x_281;
x_283 = lean_alloc_ctor(0, 3, 0);
@@ -13853,6 +13890,7 @@ lean_inc(x_296);
lean_dec(x_293);
x_297 = x_4;
x_298 = lean_unsigned_to_nat(0u);
+lean_inc(x_295);
x_299 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__13(x_295, x_298, x_297);
x_300 = x_299;
x_301 = lean_alloc_ctor(0, 3, 0);
@@ -13921,6 +13959,7 @@ lean_inc(x_314);
lean_dec(x_311);
x_315 = x_4;
x_316 = lean_unsigned_to_nat(0u);
+lean_inc(x_313);
x_317 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__14(x_313, x_316, x_315);
x_318 = x_317;
x_319 = lean_alloc_ctor(0, 3, 0);
@@ -13992,6 +14031,7 @@ lean_inc(x_331);
lean_dec(x_328);
x_332 = x_4;
x_333 = lean_unsigned_to_nat(0u);
+lean_inc(x_330);
x_334 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__15(x_330, x_333, x_332);
x_335 = x_334;
x_336 = lean_alloc_ctor(0, 3, 0);
@@ -14164,6 +14204,7 @@ lean_inc(x_367);
lean_dec(x_364);
x_368 = x_4;
x_369 = lean_unsigned_to_nat(0u);
+lean_inc(x_366);
x_370 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__16(x_366, x_369, x_368);
x_371 = x_370;
x_372 = lean_alloc_ctor(0, 3, 0);
@@ -14336,6 +14377,7 @@ lean_inc(x_403);
lean_dec(x_400);
x_404 = x_4;
x_405 = lean_unsigned_to_nat(0u);
+lean_inc(x_402);
x_406 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__17(x_402, x_405, x_404);
x_407 = x_406;
x_408 = lean_alloc_ctor(0, 3, 0);
@@ -14508,6 +14550,7 @@ lean_inc(x_439);
lean_dec(x_436);
x_440 = x_4;
x_441 = lean_unsigned_to_nat(0u);
+lean_inc(x_438);
x_442 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__18(x_438, x_441, x_440);
x_443 = x_442;
x_444 = lean_alloc_ctor(0, 3, 0);
@@ -14680,6 +14723,7 @@ lean_inc(x_475);
lean_dec(x_472);
x_476 = x_4;
x_477 = lean_unsigned_to_nat(0u);
+lean_inc(x_474);
x_478 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__19(x_474, x_477, x_476);
x_479 = x_478;
x_480 = lean_alloc_ctor(0, 3, 0);
@@ -14852,6 +14896,7 @@ lean_inc(x_511);
lean_dec(x_508);
x_512 = x_4;
x_513 = lean_unsigned_to_nat(0u);
+lean_inc(x_510);
x_514 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__20(x_510, x_513, x_512);
x_515 = x_514;
x_516 = lean_alloc_ctor(0, 3, 0);
@@ -15024,6 +15069,7 @@ lean_inc(x_547);
lean_dec(x_544);
x_548 = x_4;
x_549 = lean_unsigned_to_nat(0u);
+lean_inc(x_546);
x_550 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__21(x_546, x_549, x_548);
x_551 = x_550;
x_552 = lean_alloc_ctor(0, 3, 0);
@@ -15196,6 +15242,7 @@ lean_inc(x_583);
lean_dec(x_580);
x_584 = x_4;
x_585 = lean_unsigned_to_nat(0u);
+lean_inc(x_582);
x_586 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__22(x_582, x_585, x_584);
x_587 = x_586;
x_588 = lean_alloc_ctor(0, 3, 0);
@@ -15368,6 +15415,7 @@ lean_inc(x_619);
lean_dec(x_616);
x_620 = x_4;
x_621 = lean_unsigned_to_nat(0u);
+lean_inc(x_618);
x_622 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__23(x_618, x_621, x_620);
x_623 = x_622;
x_624 = lean_alloc_ctor(0, 3, 0);
@@ -15540,6 +15588,7 @@ lean_inc(x_655);
lean_dec(x_652);
x_656 = x_4;
x_657 = lean_unsigned_to_nat(0u);
+lean_inc(x_654);
x_658 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__24(x_654, x_657, x_656);
x_659 = x_658;
x_660 = lean_alloc_ctor(0, 3, 0);
@@ -15712,6 +15761,7 @@ lean_inc(x_691);
lean_dec(x_688);
x_692 = x_4;
x_693 = lean_unsigned_to_nat(0u);
+lean_inc(x_690);
x_694 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__25(x_690, x_693, x_692);
x_695 = x_694;
x_696 = lean_alloc_ctor(0, 3, 0);
@@ -16497,7 +16547,7 @@ x_58 = lean_ctor_get(x_52, 1);
lean_inc(x_58);
lean_dec(x_52);
x_59 = l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___closed__1;
-x_60 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_59, x_3, x_4, x_5, x_6, x_58);
+x_60 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_59, x_3, x_4, x_5, x_6, x_58);
x_61 = lean_ctor_get(x_60, 0);
lean_inc(x_61);
x_62 = lean_ctor_get(x_60, 1);
@@ -16628,7 +16678,7 @@ x_47 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_47, 0, x_45);
lean_ctor_set(x_47, 1, x_46);
x_48 = l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___closed__1;
-x_49 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_48, x_47, x_3, x_4, x_5, x_6, x_34);
+x_49 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_48, x_47, x_3, x_4, x_5, x_6, x_34);
x_50 = lean_ctor_get(x_49, 1);
lean_inc(x_50);
lean_dec(x_49);
@@ -16666,7 +16716,7 @@ x_88 = lean_ctor_get(x_82, 1);
lean_inc(x_88);
lean_dec(x_82);
x_89 = l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___closed__1;
-x_90 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_89, x_3, x_4, x_5, x_6, x_88);
+x_90 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_89, x_3, x_4, x_5, x_6, x_88);
x_91 = lean_ctor_get(x_90, 0);
lean_inc(x_91);
x_92 = lean_ctor_get(x_90, 1);
@@ -16709,7 +16759,7 @@ x_72 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_72, 0, x_71);
lean_ctor_set(x_72, 1, x_70);
x_73 = l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___closed__1;
-x_74 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_73, x_72, x_3, x_4, x_5, x_6, x_65);
+x_74 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_73, x_72, x_3, x_4, x_5, x_6, x_65);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
@@ -16743,231 +16793,6 @@ return x_80;
}
}
}
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4;
-x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__1(x_1, x_2, x_3);
-lean_dec(x_1);
-return x_4;
-}
-}
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4;
-x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__2(x_1, x_2, x_3);
-lean_dec(x_1);
-return x_4;
-}
-}
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4;
-x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__3(x_1, x_2, x_3);
-lean_dec(x_1);
-return x_4;
-}
-}
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4;
-x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__4(x_1, x_2, x_3);
-lean_dec(x_1);
-return x_4;
-}
-}
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4;
-x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__5(x_1, x_2, x_3);
-lean_dec(x_1);
-return x_4;
-}
-}
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__6___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4;
-x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__6(x_1, x_2, x_3);
-lean_dec(x_1);
-return x_4;
-}
-}
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__7___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4;
-x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__7(x_1, x_2, x_3);
-lean_dec(x_1);
-return x_4;
-}
-}
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__8___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4;
-x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__8(x_1, x_2, x_3);
-lean_dec(x_1);
-return x_4;
-}
-}
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__9___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4;
-x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__9(x_1, x_2, x_3);
-lean_dec(x_1);
-return x_4;
-}
-}
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__10___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4;
-x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__10(x_1, x_2, x_3);
-lean_dec(x_1);
-return x_4;
-}
-}
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__11___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4;
-x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__11(x_1, x_2, x_3);
-lean_dec(x_1);
-return x_4;
-}
-}
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__12___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4;
-x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__12(x_1, x_2, x_3);
-lean_dec(x_1);
-return x_4;
-}
-}
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__13___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4;
-x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__13(x_1, x_2, x_3);
-lean_dec(x_1);
-return x_4;
-}
-}
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__14___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4;
-x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__14(x_1, x_2, x_3);
-lean_dec(x_1);
-return x_4;
-}
-}
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__15___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4;
-x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__15(x_1, x_2, x_3);
-lean_dec(x_1);
-return x_4;
-}
-}
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__16___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4;
-x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__16(x_1, x_2, x_3);
-lean_dec(x_1);
-return x_4;
-}
-}
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__17___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4;
-x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__17(x_1, x_2, x_3);
-lean_dec(x_1);
-return x_4;
-}
-}
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__18___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4;
-x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__18(x_1, x_2, x_3);
-lean_dec(x_1);
-return x_4;
-}
-}
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__19___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4;
-x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__19(x_1, x_2, x_3);
-lean_dec(x_1);
-return x_4;
-}
-}
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__20___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4;
-x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__20(x_1, x_2, x_3);
-lean_dec(x_1);
-return x_4;
-}
-}
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__21___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4;
-x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__21(x_1, x_2, x_3);
-lean_dec(x_1);
-return x_4;
-}
-}
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__22___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4;
-x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__22(x_1, x_2, x_3);
-lean_dec(x_1);
-return x_4;
-}
-}
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__23___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4;
-x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__23(x_1, x_2, x_3);
-lean_dec(x_1);
-return x_4;
-}
-}
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__24___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4;
-x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__24(x_1, x_2, x_3);
-lean_dec(x_1);
-return x_4;
-}
-}
-lean_object* l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__25___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4;
-x_4 = l_Array_umapMAux___main___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___spec__25(x_1, x_2, x_3);
-lean_dec(x_1);
-return x_4;
-}
-}
lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___lambda__1___boxed(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) {
_start:
{
@@ -17506,7 +17331,7 @@ x_80 = lean_ctor_get(x_74, 1);
lean_inc(x_80);
lean_dec(x_74);
x_81 = l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___closed__1;
-x_82 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_81, x_7, x_8, x_9, x_10, x_80);
+x_82 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_81, x_7, x_8, x_9, x_10, x_80);
x_83 = lean_ctor_get(x_82, 0);
lean_inc(x_83);
x_84 = lean_ctor_get(x_82, 1);
@@ -17639,7 +17464,7 @@ x_54 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_54, 0, x_52);
lean_ctor_set(x_54, 1, x_53);
x_55 = l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_unifyEqsAux___closed__1;
-x_56 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_55, x_54, x_7, x_8, x_9, x_10, x_28);
+x_56 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_55, x_54, x_7, x_8, x_9, x_10, x_28);
x_57 = lean_ctor_get(x_56, 1);
lean_inc(x_57);
lean_dec(x_56);
diff --git a/stage0/stdlib/Lean/Meta/Tactic/FVarSubst.c b/stage0/stdlib/Lean/Meta/Tactic/FVarSubst.c
index bd7e66d02d..0cc5dda7a8 100644
--- a/stage0/stdlib/Lean/Meta/Tactic/FVarSubst.c
+++ b/stage0/stdlib/Lean/Meta/Tactic/FVarSubst.c
@@ -13,50 +13,37 @@
#ifdef __cplusplus
extern "C" {
#endif
-lean_object* lean_expr_update_forall(lean_object*, uint8_t, lean_object*, lean_object*);
lean_object* l_Std_AssocList_find_x3f___at_Lean_Meta_FVarSubst_find_x3f___spec__1___boxed(lean_object*, lean_object*);
-lean_object* l_Lean_Meta_FVarSubst_apply___boxed(lean_object*, lean_object*);
uint8_t l_Std_AssocList_contains___at_Lean_Meta_FVarSubst_contains___spec__1(lean_object*, lean_object*);
-lean_object* l_unreachable_x21___rarg(lean_object*);
-uint8_t l_USize_decEq(size_t, size_t);
-lean_object* lean_array_uget(lean_object*, size_t);
-lean_object* lean_expr_update_mdata(lean_object*, lean_object*);
uint8_t lean_name_eq(lean_object*, lean_object*);
lean_object* l_Lean_Meta_FVarSubst_erase(lean_object*, lean_object*);
lean_object* l_Std_AssocList_contains___at_Lean_Meta_FVarSubst_contains___spec__1___boxed(lean_object*, lean_object*);
-lean_object* lean_array_uset(lean_object*, size_t, lean_object*);
+lean_object* l_Lean_Meta_FVarSubst_apply___lambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Meta_FVarSubst_domain(lean_object*);
lean_object* l_Lean_Meta_FVarSubst_find_x3f___boxed(lean_object*, lean_object*);
-lean_object* l_Lean_Expr_applyFVarSubst___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Meta_FVarSubst_domain___boxed(lean_object*);
lean_object* l_Std_AssocList_find_x3f___at_Lean_Meta_FVarSubst_find_x3f___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_Meta_FVarSubst_isEmpty___boxed(lean_object*);
uint8_t l_Lean_Meta_FVarSubst_any(lean_object*, lean_object*);
+lean_object* l_Lean_Meta_FVarSubst_apply___lambda__1___boxed(lean_object*, lean_object*);
lean_object* l_Lean_LocalDecl_applyFVarSubst_match__1(lean_object*);
lean_object* l_Lean_Meta_FVarSubst_apply_match__2___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_FVarSubst_apply(lean_object*, lean_object*);
-lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Meta_FVarSubst_apply___spec__1(lean_object*, size_t, lean_object*, lean_object*);
uint8_t l_Std_AssocList_isEmpty___rarg(lean_object*);
lean_object* l_Lean_Meta_FVarSubst_get___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Meta_FVarSubst_insert___lambda__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_AssocList_foldlM___at_Lean_Meta_FVarSubst_domain___spec__1(lean_object*, lean_object*);
uint8_t l_Lean_Meta_FVarSubst_contains(lean_object*, lean_object*);
-lean_object* lean_expr_update_let(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_mkFVar(lean_object*);
lean_object* l_Lean_Meta_FVarSubst_map___default;
-uint8_t l_Lean_Expr_Data_binderInfo(uint64_t);
uint8_t l_Std_AssocList_any___rarg(lean_object*, lean_object*);
-lean_object* l_Lean_LocalDecl_applyFVarSubst___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Meta_FVarSubst_contains___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Expr_replaceFVarId(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_AssocList_erase___at_Lean_Meta_FVarSubst_erase___spec__1___boxed(lean_object*, lean_object*);
-lean_object* lean_expr_update_proj(lean_object*, lean_object*);
lean_object* l_Lean_Meta_FVarSubst_apply_match__2(lean_object*);
lean_object* l_Lean_Meta_FVarSubst_find_x3f(lean_object*, lean_object*);
-size_t l_USize_mod(size_t, size_t);
lean_object* l_Lean_LocalDecl_applyFVarSubst_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_FVarSubst_get(lean_object*, lean_object*);
-size_t lean_ptr_addr(lean_object*);
lean_object* l_Lean_Meta_FVarSubst_insert___lambda__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_FVarSubst_empty;
lean_object* l_Lean_Meta_FVarSubst_apply_match__1___rarg(lean_object*, lean_object*, lean_object*);
@@ -64,18 +51,15 @@ lean_object* l_Lean_Meta_FVarSubst_insert(lean_object*, lean_object*, lean_objec
lean_object* l_Lean_Meta_FVarSubst_any___boxed(lean_object*, lean_object*);
lean_object* l_Std_AssocList_foldlM___at_Lean_Meta_FVarSubst_domain___spec__1___boxed(lean_object*, lean_object*);
lean_object* l_Std_AssocList_erase___at_Lean_Meta_FVarSubst_erase___spec__1(lean_object*, lean_object*);
-lean_object* lean_expr_update_lambda(lean_object*, uint8_t, lean_object*, lean_object*);
lean_object* l_Std_AssocList_mapVal___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Meta_FVarSubst_erase___boxed(lean_object*, lean_object*);
-extern lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___closed__1;
-lean_object* lean_expr_update_app(lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Expr_hasFVar(lean_object*);
lean_object* l_Lean_Meta_FVarSubst_get_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_FVarSubst_get_match__1(lean_object*);
+lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(lean_object*, size_t, lean_object*, lean_object*);
lean_object* l_Lean_Meta_FVarSubst_apply_match__1(lean_object*);
uint8_t l_Lean_Meta_FVarSubst_isEmpty(lean_object*);
lean_object* l_Lean_LocalDecl_applyFVarSubst(lean_object*, lean_object*);
-lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Meta_FVarSubst_apply___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Expr_ReplaceImpl_initCache;
lean_object* l_Lean_Expr_applyFVarSubst(lean_object*, lean_object*);
static lean_object* _init_l_Lean_Meta_FVarSubst_map___default() {
@@ -494,884 +478,110 @@ x_2 = lean_alloc_closure((void*)(l_Lean_Meta_FVarSubst_apply_match__2___rarg), 3
return x_2;
}
}
-lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Meta_FVarSubst_apply___spec__1(lean_object* x_1, size_t x_2, lean_object* x_3, lean_object* x_4) {
+lean_object* l_Lean_Meta_FVarSubst_apply___lambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-size_t x_5; size_t x_6; lean_object* x_7; lean_object* x_236; lean_object* x_237; lean_object* x_244; size_t x_245; uint8_t x_246;
-x_5 = lean_ptr_addr(x_3);
-x_6 = x_2 == 0 ? 0 : x_5 % x_2;
-x_236 = lean_ctor_get(x_4, 0);
-lean_inc(x_236);
-x_244 = lean_array_uget(x_236, x_6);
-x_245 = lean_ptr_addr(x_244);
-lean_dec(x_244);
-x_246 = x_245 == x_5;
-if (x_246 == 0)
-{
-if (lean_obj_tag(x_3) == 1)
-{
-lean_object* x_247; lean_object* x_248;
-x_247 = lean_ctor_get(x_3, 0);
-lean_inc(x_247);
-x_248 = l_Std_AssocList_find_x3f___at_Lean_Meta_FVarSubst_find_x3f___spec__1(x_247, x_1);
-lean_dec(x_247);
-if (lean_obj_tag(x_248) == 0)
+if (lean_obj_tag(x_2) == 1)
{
+lean_object* x_3; lean_object* x_4;
+x_3 = lean_ctor_get(x_2, 0);
lean_inc(x_3);
-x_237 = x_3;
-goto block_243;
-}
-else
-{
-lean_object* x_249;
-x_249 = lean_ctor_get(x_248, 0);
-lean_inc(x_249);
-lean_dec(x_248);
-x_237 = x_249;
-goto block_243;
-}
-}
-else
-{
-lean_object* x_250;
-lean_dec(x_236);
-x_250 = lean_box(0);
-x_7 = x_250;
-goto block_235;
-}
-}
-else
-{
-lean_object* x_251; lean_object* x_252; lean_object* x_253;
-lean_dec(x_236);
+x_4 = l_Std_AssocList_find_x3f___at_Lean_Meta_FVarSubst_find_x3f___spec__1(x_3, x_1);
lean_dec(x_3);
-x_251 = lean_ctor_get(x_4, 1);
-lean_inc(x_251);
-x_252 = lean_array_uget(x_251, x_6);
-lean_dec(x_251);
-x_253 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_253, 0, x_252);
-lean_ctor_set(x_253, 1, x_4);
-return x_253;
-}
-block_235:
+if (lean_obj_tag(x_4) == 0)
{
-lean_dec(x_7);
-switch (lean_obj_tag(x_3)) {
-case 5:
-{
-lean_object* x_8; lean_object* x_9; uint64_t x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; uint8_t x_15;
-x_8 = lean_ctor_get(x_3, 0);
-lean_inc(x_8);
-x_9 = lean_ctor_get(x_3, 1);
-lean_inc(x_9);
-x_10 = lean_ctor_get_uint64(x_3, sizeof(void*)*2);
-lean_inc(x_8);
-x_11 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Meta_FVarSubst_apply___spec__1(x_1, x_2, x_8, x_4);
-x_12 = lean_ctor_get(x_11, 0);
-lean_inc(x_12);
-x_13 = lean_ctor_get(x_11, 1);
-lean_inc(x_13);
-lean_dec(x_11);
-lean_inc(x_9);
-x_14 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Meta_FVarSubst_apply___spec__1(x_1, x_2, x_9, x_13);
-x_15 = !lean_is_exclusive(x_14);
-if (x_15 == 0)
-{
-lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20;
-x_16 = lean_ctor_get(x_14, 0);
-x_17 = lean_ctor_get(x_14, 1);
-x_18 = lean_ctor_get(x_17, 0);
-lean_inc(x_18);
-lean_inc(x_3);
-x_19 = lean_array_uset(x_18, x_6, x_3);
-x_20 = !lean_is_exclusive(x_3);
-if (x_20 == 0)
-{
-lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26;
-x_21 = lean_ctor_get(x_3, 1);
-lean_dec(x_21);
-x_22 = lean_ctor_get(x_3, 0);
-lean_dec(x_22);
-x_23 = lean_ctor_get(x_17, 1);
-lean_inc(x_23);
-lean_dec(x_17);
-x_24 = lean_expr_update_app(x_3, x_12, x_16);
-lean_inc(x_24);
-x_25 = lean_array_uset(x_23, x_6, x_24);
-x_26 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_26, 0, x_19);
-lean_ctor_set(x_26, 1, x_25);
-lean_ctor_set(x_14, 1, x_26);
-lean_ctor_set(x_14, 0, x_24);
-return x_14;
+lean_object* x_5;
+x_5 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_5, 0, x_2);
+return x_5;
}
else
{
-lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31;
-lean_dec(x_3);
-x_27 = lean_ctor_get(x_17, 1);
-lean_inc(x_27);
-lean_dec(x_17);
-x_28 = lean_alloc_ctor(5, 2, 8);
-lean_ctor_set(x_28, 0, x_8);
-lean_ctor_set(x_28, 1, x_9);
-lean_ctor_set_uint64(x_28, sizeof(void*)*2, x_10);
-x_29 = lean_expr_update_app(x_28, x_12, x_16);
-lean_inc(x_29);
-x_30 = lean_array_uset(x_27, x_6, x_29);
-x_31 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_31, 0, x_19);
-lean_ctor_set(x_31, 1, x_30);
-lean_ctor_set(x_14, 1, x_31);
-lean_ctor_set(x_14, 0, x_29);
-return x_14;
-}
+uint8_t x_6;
+lean_dec(x_2);
+x_6 = !lean_is_exclusive(x_4);
+if (x_6 == 0)
+{
+return x_4;
}
else
{
-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;
-x_32 = lean_ctor_get(x_14, 0);
-x_33 = lean_ctor_get(x_14, 1);
-lean_inc(x_33);
-lean_inc(x_32);
-lean_dec(x_14);
-x_34 = lean_ctor_get(x_33, 0);
-lean_inc(x_34);
-lean_inc(x_3);
-x_35 = lean_array_uset(x_34, x_6, x_3);
-if (lean_is_exclusive(x_3)) {
- lean_ctor_release(x_3, 0);
- lean_ctor_release(x_3, 1);
- x_36 = x_3;
-} else {
- lean_dec_ref(x_3);
- x_36 = lean_box(0);
-}
-x_37 = lean_ctor_get(x_33, 1);
-lean_inc(x_37);
-lean_dec(x_33);
-if (lean_is_scalar(x_36)) {
- x_38 = lean_alloc_ctor(5, 2, 8);
-} else {
- x_38 = x_36;
-}
-lean_ctor_set(x_38, 0, x_8);
-lean_ctor_set(x_38, 1, x_9);
-lean_ctor_set_uint64(x_38, sizeof(void*)*2, x_10);
-x_39 = lean_expr_update_app(x_38, x_12, x_32);
-lean_inc(x_39);
-x_40 = lean_array_uset(x_37, x_6, x_39);
-x_41 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_41, 0, x_35);
-lean_ctor_set(x_41, 1, x_40);
-x_42 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_42, 0, x_39);
-lean_ctor_set(x_42, 1, x_41);
-return x_42;
-}
-}
-case 6:
-{
-lean_object* x_43; lean_object* x_44; lean_object* x_45; uint64_t x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; uint8_t x_51;
-x_43 = lean_ctor_get(x_3, 0);
-lean_inc(x_43);
-x_44 = lean_ctor_get(x_3, 1);
-lean_inc(x_44);
-x_45 = lean_ctor_get(x_3, 2);
-lean_inc(x_45);
-x_46 = lean_ctor_get_uint64(x_3, sizeof(void*)*3);
-lean_inc(x_44);
-x_47 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Meta_FVarSubst_apply___spec__1(x_1, x_2, x_44, x_4);
-x_48 = lean_ctor_get(x_47, 0);
-lean_inc(x_48);
-x_49 = lean_ctor_get(x_47, 1);
-lean_inc(x_49);
-lean_dec(x_47);
-lean_inc(x_45);
-x_50 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Meta_FVarSubst_apply___spec__1(x_1, x_2, x_45, x_49);
-x_51 = !lean_is_exclusive(x_50);
-if (x_51 == 0)
-{
-lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; uint8_t x_56;
-x_52 = lean_ctor_get(x_50, 0);
-x_53 = lean_ctor_get(x_50, 1);
-x_54 = lean_ctor_get(x_53, 0);
-lean_inc(x_54);
-lean_inc(x_3);
-x_55 = lean_array_uset(x_54, x_6, x_3);
-x_56 = !lean_is_exclusive(x_3);
-if (x_56 == 0)
-{
-lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; uint8_t x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64;
-x_57 = lean_ctor_get(x_3, 2);
-lean_dec(x_57);
-x_58 = lean_ctor_get(x_3, 1);
-lean_dec(x_58);
-x_59 = lean_ctor_get(x_3, 0);
-lean_dec(x_59);
-x_60 = lean_ctor_get(x_53, 1);
-lean_inc(x_60);
-lean_dec(x_53);
-x_61 = (uint8_t)((x_46 << 24) >> 61);
-x_62 = lean_expr_update_lambda(x_3, x_61, x_48, x_52);
-lean_inc(x_62);
-x_63 = lean_array_uset(x_60, x_6, x_62);
-x_64 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_64, 0, x_55);
-lean_ctor_set(x_64, 1, x_63);
-lean_ctor_set(x_50, 1, x_64);
-lean_ctor_set(x_50, 0, x_62);
-return x_50;
-}
-else
-{
-lean_object* x_65; lean_object* x_66; uint8_t x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70;
-lean_dec(x_3);
-x_65 = lean_ctor_get(x_53, 1);
-lean_inc(x_65);
-lean_dec(x_53);
-x_66 = lean_alloc_ctor(6, 3, 8);
-lean_ctor_set(x_66, 0, x_43);
-lean_ctor_set(x_66, 1, x_44);
-lean_ctor_set(x_66, 2, x_45);
-lean_ctor_set_uint64(x_66, sizeof(void*)*3, x_46);
-x_67 = (uint8_t)((x_46 << 24) >> 61);
-x_68 = lean_expr_update_lambda(x_66, x_67, x_48, x_52);
-lean_inc(x_68);
-x_69 = lean_array_uset(x_65, x_6, x_68);
-x_70 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_70, 0, x_55);
-lean_ctor_set(x_70, 1, x_69);
-lean_ctor_set(x_50, 1, x_70);
-lean_ctor_set(x_50, 0, x_68);
-return x_50;
-}
-}
-else
-{
-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; uint8_t x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82;
-x_71 = lean_ctor_get(x_50, 0);
-x_72 = lean_ctor_get(x_50, 1);
-lean_inc(x_72);
-lean_inc(x_71);
-lean_dec(x_50);
-x_73 = lean_ctor_get(x_72, 0);
-lean_inc(x_73);
-lean_inc(x_3);
-x_74 = lean_array_uset(x_73, x_6, x_3);
-if (lean_is_exclusive(x_3)) {
- lean_ctor_release(x_3, 0);
- lean_ctor_release(x_3, 1);
- lean_ctor_release(x_3, 2);
- x_75 = x_3;
-} else {
- lean_dec_ref(x_3);
- x_75 = lean_box(0);
-}
-x_76 = lean_ctor_get(x_72, 1);
-lean_inc(x_76);
-lean_dec(x_72);
-if (lean_is_scalar(x_75)) {
- x_77 = lean_alloc_ctor(6, 3, 8);
-} else {
- x_77 = x_75;
-}
-lean_ctor_set(x_77, 0, x_43);
-lean_ctor_set(x_77, 1, x_44);
-lean_ctor_set(x_77, 2, x_45);
-lean_ctor_set_uint64(x_77, sizeof(void*)*3, x_46);
-x_78 = (uint8_t)((x_46 << 24) >> 61);
-x_79 = lean_expr_update_lambda(x_77, x_78, x_48, x_71);
-lean_inc(x_79);
-x_80 = lean_array_uset(x_76, x_6, x_79);
-x_81 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_81, 0, x_74);
-lean_ctor_set(x_81, 1, x_80);
-x_82 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_82, 0, x_79);
-lean_ctor_set(x_82, 1, x_81);
-return x_82;
-}
-}
-case 7:
-{
-lean_object* x_83; lean_object* x_84; lean_object* x_85; uint64_t x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; uint8_t x_91;
-x_83 = lean_ctor_get(x_3, 0);
-lean_inc(x_83);
-x_84 = lean_ctor_get(x_3, 1);
-lean_inc(x_84);
-x_85 = lean_ctor_get(x_3, 2);
-lean_inc(x_85);
-x_86 = lean_ctor_get_uint64(x_3, sizeof(void*)*3);
-lean_inc(x_84);
-x_87 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Meta_FVarSubst_apply___spec__1(x_1, x_2, x_84, x_4);
-x_88 = lean_ctor_get(x_87, 0);
-lean_inc(x_88);
-x_89 = lean_ctor_get(x_87, 1);
-lean_inc(x_89);
-lean_dec(x_87);
-lean_inc(x_85);
-x_90 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Meta_FVarSubst_apply___spec__1(x_1, x_2, x_85, x_89);
-x_91 = !lean_is_exclusive(x_90);
-if (x_91 == 0)
-{
-lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; uint8_t x_96;
-x_92 = lean_ctor_get(x_90, 0);
-x_93 = lean_ctor_get(x_90, 1);
-x_94 = lean_ctor_get(x_93, 0);
-lean_inc(x_94);
-lean_inc(x_3);
-x_95 = lean_array_uset(x_94, x_6, x_3);
-x_96 = !lean_is_exclusive(x_3);
-if (x_96 == 0)
-{
-lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; uint8_t x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104;
-x_97 = lean_ctor_get(x_3, 2);
-lean_dec(x_97);
-x_98 = lean_ctor_get(x_3, 1);
-lean_dec(x_98);
-x_99 = lean_ctor_get(x_3, 0);
-lean_dec(x_99);
-x_100 = lean_ctor_get(x_93, 1);
-lean_inc(x_100);
-lean_dec(x_93);
-x_101 = (uint8_t)((x_86 << 24) >> 61);
-x_102 = lean_expr_update_forall(x_3, x_101, x_88, x_92);
-lean_inc(x_102);
-x_103 = lean_array_uset(x_100, x_6, x_102);
-x_104 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_104, 0, x_95);
-lean_ctor_set(x_104, 1, x_103);
-lean_ctor_set(x_90, 1, x_104);
-lean_ctor_set(x_90, 0, x_102);
-return x_90;
-}
-else
-{
-lean_object* x_105; lean_object* x_106; uint8_t x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110;
-lean_dec(x_3);
-x_105 = lean_ctor_get(x_93, 1);
-lean_inc(x_105);
-lean_dec(x_93);
-x_106 = lean_alloc_ctor(7, 3, 8);
-lean_ctor_set(x_106, 0, x_83);
-lean_ctor_set(x_106, 1, x_84);
-lean_ctor_set(x_106, 2, x_85);
-lean_ctor_set_uint64(x_106, sizeof(void*)*3, x_86);
-x_107 = (uint8_t)((x_86 << 24) >> 61);
-x_108 = lean_expr_update_forall(x_106, x_107, x_88, x_92);
-lean_inc(x_108);
-x_109 = lean_array_uset(x_105, x_6, x_108);
-x_110 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_110, 0, x_95);
-lean_ctor_set(x_110, 1, x_109);
-lean_ctor_set(x_90, 1, x_110);
-lean_ctor_set(x_90, 0, x_108);
-return x_90;
-}
-}
-else
-{
-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; uint8_t x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122;
-x_111 = lean_ctor_get(x_90, 0);
-x_112 = lean_ctor_get(x_90, 1);
-lean_inc(x_112);
-lean_inc(x_111);
-lean_dec(x_90);
-x_113 = lean_ctor_get(x_112, 0);
-lean_inc(x_113);
-lean_inc(x_3);
-x_114 = lean_array_uset(x_113, x_6, x_3);
-if (lean_is_exclusive(x_3)) {
- lean_ctor_release(x_3, 0);
- lean_ctor_release(x_3, 1);
- lean_ctor_release(x_3, 2);
- x_115 = x_3;
-} else {
- lean_dec_ref(x_3);
- x_115 = lean_box(0);
-}
-x_116 = lean_ctor_get(x_112, 1);
-lean_inc(x_116);
-lean_dec(x_112);
-if (lean_is_scalar(x_115)) {
- x_117 = lean_alloc_ctor(7, 3, 8);
-} else {
- x_117 = x_115;
-}
-lean_ctor_set(x_117, 0, x_83);
-lean_ctor_set(x_117, 1, x_84);
-lean_ctor_set(x_117, 2, x_85);
-lean_ctor_set_uint64(x_117, sizeof(void*)*3, x_86);
-x_118 = (uint8_t)((x_86 << 24) >> 61);
-x_119 = lean_expr_update_forall(x_117, x_118, x_88, x_111);
-lean_inc(x_119);
-x_120 = lean_array_uset(x_116, x_6, x_119);
-x_121 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_121, 0, x_114);
-lean_ctor_set(x_121, 1, x_120);
-x_122 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_122, 0, x_119);
-lean_ctor_set(x_122, 1, x_121);
-return x_122;
-}
-}
-case 8:
-{
-lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; uint64_t 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; lean_object* x_134; uint8_t x_135;
-x_123 = lean_ctor_get(x_3, 0);
-lean_inc(x_123);
-x_124 = lean_ctor_get(x_3, 1);
-lean_inc(x_124);
-x_125 = lean_ctor_get(x_3, 2);
-lean_inc(x_125);
-x_126 = lean_ctor_get(x_3, 3);
-lean_inc(x_126);
-x_127 = lean_ctor_get_uint64(x_3, sizeof(void*)*4);
-lean_inc(x_124);
-x_128 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Meta_FVarSubst_apply___spec__1(x_1, x_2, x_124, x_4);
-x_129 = lean_ctor_get(x_128, 0);
-lean_inc(x_129);
-x_130 = lean_ctor_get(x_128, 1);
-lean_inc(x_130);
-lean_dec(x_128);
-lean_inc(x_125);
-x_131 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Meta_FVarSubst_apply___spec__1(x_1, x_2, x_125, x_130);
-x_132 = lean_ctor_get(x_131, 0);
-lean_inc(x_132);
-x_133 = lean_ctor_get(x_131, 1);
-lean_inc(x_133);
-lean_dec(x_131);
-lean_inc(x_126);
-x_134 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Meta_FVarSubst_apply___spec__1(x_1, x_2, x_126, x_133);
-x_135 = !lean_is_exclusive(x_134);
-if (x_135 == 0)
-{
-lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; uint8_t x_140;
-x_136 = lean_ctor_get(x_134, 0);
-x_137 = lean_ctor_get(x_134, 1);
-x_138 = lean_ctor_get(x_137, 0);
-lean_inc(x_138);
-lean_inc(x_3);
-x_139 = lean_array_uset(x_138, x_6, x_3);
-x_140 = !lean_is_exclusive(x_3);
-if (x_140 == 0)
-{
-lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148;
-x_141 = lean_ctor_get(x_3, 3);
-lean_dec(x_141);
-x_142 = lean_ctor_get(x_3, 2);
-lean_dec(x_142);
-x_143 = lean_ctor_get(x_3, 1);
-lean_dec(x_143);
-x_144 = lean_ctor_get(x_3, 0);
-lean_dec(x_144);
-x_145 = lean_ctor_get(x_137, 1);
-lean_inc(x_145);
-lean_dec(x_137);
-x_146 = lean_expr_update_let(x_3, x_129, x_132, x_136);
-lean_inc(x_146);
-x_147 = lean_array_uset(x_145, x_6, x_146);
-x_148 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_148, 0, x_139);
-lean_ctor_set(x_148, 1, x_147);
-lean_ctor_set(x_134, 1, x_148);
-lean_ctor_set(x_134, 0, x_146);
-return x_134;
-}
-else
-{
-lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153;
-lean_dec(x_3);
-x_149 = lean_ctor_get(x_137, 1);
-lean_inc(x_149);
-lean_dec(x_137);
-x_150 = lean_alloc_ctor(8, 4, 8);
-lean_ctor_set(x_150, 0, x_123);
-lean_ctor_set(x_150, 1, x_124);
-lean_ctor_set(x_150, 2, x_125);
-lean_ctor_set(x_150, 3, x_126);
-lean_ctor_set_uint64(x_150, sizeof(void*)*4, x_127);
-x_151 = lean_expr_update_let(x_150, x_129, x_132, x_136);
-lean_inc(x_151);
-x_152 = lean_array_uset(x_149, x_6, x_151);
-x_153 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_153, 0, x_139);
-lean_ctor_set(x_153, 1, x_152);
-lean_ctor_set(x_134, 1, x_153);
-lean_ctor_set(x_134, 0, x_151);
-return x_134;
-}
-}
-else
-{
-lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164;
-x_154 = lean_ctor_get(x_134, 0);
-x_155 = lean_ctor_get(x_134, 1);
-lean_inc(x_155);
-lean_inc(x_154);
-lean_dec(x_134);
-x_156 = lean_ctor_get(x_155, 0);
-lean_inc(x_156);
-lean_inc(x_3);
-x_157 = lean_array_uset(x_156, x_6, x_3);
-if (lean_is_exclusive(x_3)) {
- lean_ctor_release(x_3, 0);
- lean_ctor_release(x_3, 1);
- lean_ctor_release(x_3, 2);
- lean_ctor_release(x_3, 3);
- x_158 = x_3;
-} else {
- lean_dec_ref(x_3);
- x_158 = lean_box(0);
-}
-x_159 = lean_ctor_get(x_155, 1);
-lean_inc(x_159);
-lean_dec(x_155);
-if (lean_is_scalar(x_158)) {
- x_160 = lean_alloc_ctor(8, 4, 8);
-} else {
- x_160 = x_158;
-}
-lean_ctor_set(x_160, 0, x_123);
-lean_ctor_set(x_160, 1, x_124);
-lean_ctor_set(x_160, 2, x_125);
-lean_ctor_set(x_160, 3, x_126);
-lean_ctor_set_uint64(x_160, sizeof(void*)*4, x_127);
-x_161 = lean_expr_update_let(x_160, x_129, x_132, x_154);
-lean_inc(x_161);
-x_162 = lean_array_uset(x_159, x_6, x_161);
-x_163 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_163, 0, x_157);
-lean_ctor_set(x_163, 1, x_162);
-x_164 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_164, 0, x_161);
-lean_ctor_set(x_164, 1, x_163);
-return x_164;
-}
-}
-case 10:
-{
-lean_object* x_165; lean_object* x_166; uint64_t x_167; lean_object* x_168; uint8_t x_169;
-x_165 = lean_ctor_get(x_3, 0);
-lean_inc(x_165);
-x_166 = lean_ctor_get(x_3, 1);
-lean_inc(x_166);
-x_167 = lean_ctor_get_uint64(x_3, sizeof(void*)*2);
-lean_inc(x_166);
-x_168 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Meta_FVarSubst_apply___spec__1(x_1, x_2, x_166, x_4);
-x_169 = !lean_is_exclusive(x_168);
-if (x_169 == 0)
-{
-lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; uint8_t x_174;
-x_170 = lean_ctor_get(x_168, 0);
-x_171 = lean_ctor_get(x_168, 1);
-x_172 = lean_ctor_get(x_171, 0);
-lean_inc(x_172);
-lean_inc(x_3);
-x_173 = lean_array_uset(x_172, x_6, x_3);
-x_174 = !lean_is_exclusive(x_3);
-if (x_174 == 0)
-{
-lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180;
-x_175 = lean_ctor_get(x_3, 1);
-lean_dec(x_175);
-x_176 = lean_ctor_get(x_3, 0);
-lean_dec(x_176);
-x_177 = lean_ctor_get(x_171, 1);
-lean_inc(x_177);
-lean_dec(x_171);
-x_178 = lean_expr_update_mdata(x_3, x_170);
-lean_inc(x_178);
-x_179 = lean_array_uset(x_177, x_6, x_178);
-x_180 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_180, 0, x_173);
-lean_ctor_set(x_180, 1, x_179);
-lean_ctor_set(x_168, 1, x_180);
-lean_ctor_set(x_168, 0, x_178);
-return x_168;
-}
-else
-{
-lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185;
-lean_dec(x_3);
-x_181 = lean_ctor_get(x_171, 1);
-lean_inc(x_181);
-lean_dec(x_171);
-x_182 = lean_alloc_ctor(10, 2, 8);
-lean_ctor_set(x_182, 0, x_165);
-lean_ctor_set(x_182, 1, x_166);
-lean_ctor_set_uint64(x_182, sizeof(void*)*2, x_167);
-x_183 = lean_expr_update_mdata(x_182, x_170);
-lean_inc(x_183);
-x_184 = lean_array_uset(x_181, x_6, x_183);
-x_185 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_185, 0, x_173);
-lean_ctor_set(x_185, 1, x_184);
-lean_ctor_set(x_168, 1, x_185);
-lean_ctor_set(x_168, 0, x_183);
-return x_168;
-}
-}
-else
-{
-lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196;
-x_186 = lean_ctor_get(x_168, 0);
-x_187 = lean_ctor_get(x_168, 1);
-lean_inc(x_187);
-lean_inc(x_186);
-lean_dec(x_168);
-x_188 = lean_ctor_get(x_187, 0);
-lean_inc(x_188);
-lean_inc(x_3);
-x_189 = lean_array_uset(x_188, x_6, x_3);
-if (lean_is_exclusive(x_3)) {
- lean_ctor_release(x_3, 0);
- lean_ctor_release(x_3, 1);
- x_190 = x_3;
-} else {
- lean_dec_ref(x_3);
- x_190 = lean_box(0);
-}
-x_191 = lean_ctor_get(x_187, 1);
-lean_inc(x_191);
-lean_dec(x_187);
-if (lean_is_scalar(x_190)) {
- x_192 = lean_alloc_ctor(10, 2, 8);
-} else {
- x_192 = x_190;
-}
-lean_ctor_set(x_192, 0, x_165);
-lean_ctor_set(x_192, 1, x_166);
-lean_ctor_set_uint64(x_192, sizeof(void*)*2, x_167);
-x_193 = lean_expr_update_mdata(x_192, x_186);
-lean_inc(x_193);
-x_194 = lean_array_uset(x_191, x_6, x_193);
-x_195 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_195, 0, x_189);
-lean_ctor_set(x_195, 1, x_194);
-x_196 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_196, 0, x_193);
-lean_ctor_set(x_196, 1, x_195);
-return x_196;
-}
-}
-case 11:
-{
-lean_object* x_197; lean_object* x_198; lean_object* x_199; uint64_t x_200; lean_object* x_201; uint8_t x_202;
-x_197 = lean_ctor_get(x_3, 0);
-lean_inc(x_197);
-x_198 = lean_ctor_get(x_3, 1);
-lean_inc(x_198);
-x_199 = lean_ctor_get(x_3, 2);
-lean_inc(x_199);
-x_200 = lean_ctor_get_uint64(x_3, sizeof(void*)*3);
-lean_inc(x_199);
-x_201 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Meta_FVarSubst_apply___spec__1(x_1, x_2, x_199, x_4);
-x_202 = !lean_is_exclusive(x_201);
-if (x_202 == 0)
-{
-lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; uint8_t x_207;
-x_203 = lean_ctor_get(x_201, 0);
-x_204 = lean_ctor_get(x_201, 1);
-x_205 = lean_ctor_get(x_204, 0);
-lean_inc(x_205);
-lean_inc(x_3);
-x_206 = lean_array_uset(x_205, x_6, x_3);
-x_207 = !lean_is_exclusive(x_3);
-if (x_207 == 0)
-{
-lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214;
-x_208 = lean_ctor_get(x_3, 2);
-lean_dec(x_208);
-x_209 = lean_ctor_get(x_3, 1);
-lean_dec(x_209);
-x_210 = lean_ctor_get(x_3, 0);
-lean_dec(x_210);
-x_211 = lean_ctor_get(x_204, 1);
-lean_inc(x_211);
-lean_dec(x_204);
-x_212 = lean_expr_update_proj(x_3, x_203);
-lean_inc(x_212);
-x_213 = lean_array_uset(x_211, x_6, x_212);
-x_214 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_214, 0, x_206);
-lean_ctor_set(x_214, 1, x_213);
-lean_ctor_set(x_201, 1, x_214);
-lean_ctor_set(x_201, 0, x_212);
-return x_201;
-}
-else
-{
-lean_object* x_215; lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219;
-lean_dec(x_3);
-x_215 = lean_ctor_get(x_204, 1);
-lean_inc(x_215);
-lean_dec(x_204);
-x_216 = lean_alloc_ctor(11, 3, 8);
-lean_ctor_set(x_216, 0, x_197);
-lean_ctor_set(x_216, 1, x_198);
-lean_ctor_set(x_216, 2, x_199);
-lean_ctor_set_uint64(x_216, sizeof(void*)*3, x_200);
-x_217 = lean_expr_update_proj(x_216, x_203);
-lean_inc(x_217);
-x_218 = lean_array_uset(x_215, x_6, x_217);
-x_219 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_219, 0, x_206);
-lean_ctor_set(x_219, 1, x_218);
-lean_ctor_set(x_201, 1, x_219);
-lean_ctor_set(x_201, 0, x_217);
-return x_201;
-}
-}
-else
-{
-lean_object* x_220; lean_object* x_221; lean_object* x_222; lean_object* x_223; lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; lean_object* x_228; lean_object* x_229; lean_object* x_230;
-x_220 = lean_ctor_get(x_201, 0);
-x_221 = lean_ctor_get(x_201, 1);
-lean_inc(x_221);
-lean_inc(x_220);
-lean_dec(x_201);
-x_222 = lean_ctor_get(x_221, 0);
-lean_inc(x_222);
-lean_inc(x_3);
-x_223 = lean_array_uset(x_222, x_6, x_3);
-if (lean_is_exclusive(x_3)) {
- lean_ctor_release(x_3, 0);
- lean_ctor_release(x_3, 1);
- lean_ctor_release(x_3, 2);
- x_224 = x_3;
-} else {
- lean_dec_ref(x_3);
- x_224 = lean_box(0);
-}
-x_225 = lean_ctor_get(x_221, 1);
-lean_inc(x_225);
-lean_dec(x_221);
-if (lean_is_scalar(x_224)) {
- x_226 = lean_alloc_ctor(11, 3, 8);
-} else {
- x_226 = x_224;
-}
-lean_ctor_set(x_226, 0, x_197);
-lean_ctor_set(x_226, 1, x_198);
-lean_ctor_set(x_226, 2, x_199);
-lean_ctor_set_uint64(x_226, sizeof(void*)*3, x_200);
-x_227 = lean_expr_update_proj(x_226, x_220);
-lean_inc(x_227);
-x_228 = lean_array_uset(x_225, x_6, x_227);
-x_229 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_229, 0, x_223);
-lean_ctor_set(x_229, 1, x_228);
-x_230 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_230, 0, x_227);
-lean_ctor_set(x_230, 1, x_229);
-return x_230;
-}
-}
-case 12:
-{
-lean_object* x_231; lean_object* x_232; lean_object* x_233;
-lean_dec(x_3);
-x_231 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___closed__1;
-x_232 = l_unreachable_x21___rarg(x_231);
-x_233 = lean_apply_1(x_232, x_4);
-return x_233;
-}
-default:
-{
-lean_object* x_234;
-x_234 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_234, 0, x_3);
-lean_ctor_set(x_234, 1, x_4);
-return x_234;
-}
-}
-}
-block_243:
-{
-lean_object* x_238; lean_object* x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242;
-x_238 = lean_array_uset(x_236, x_6, x_3);
-x_239 = lean_ctor_get(x_4, 1);
-lean_inc(x_239);
+lean_object* x_7; lean_object* x_8;
+x_7 = lean_ctor_get(x_4, 0);
+lean_inc(x_7);
lean_dec(x_4);
-lean_inc(x_237);
-x_240 = lean_array_uset(x_239, x_6, x_237);
-x_241 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_241, 0, x_238);
-lean_ctor_set(x_241, 1, x_240);
-x_242 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_242, 0, x_237);
-lean_ctor_set(x_242, 1, x_241);
-return x_242;
+x_8 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_8, 0, x_7);
+return x_8;
+}
+}
+}
+else
+{
+lean_object* x_9;
+lean_dec(x_2);
+x_9 = lean_box(0);
+return x_9;
}
}
}
lean_object* l_Lean_Meta_FVarSubst_apply(lean_object* x_1, lean_object* x_2) {
_start:
{
-uint8_t x_3; uint8_t x_9;
-x_9 = l_Std_AssocList_isEmpty___rarg(x_1);
-if (x_9 == 0)
-{
-uint8_t x_10;
-x_10 = l_Lean_Expr_hasFVar(x_2);
+uint8_t x_3; uint8_t x_10;
+x_10 = l_Std_AssocList_isEmpty___rarg(x_1);
if (x_10 == 0)
{
uint8_t x_11;
-x_11 = 1;
-x_3 = x_11;
-goto block_8;
-}
-else
+x_11 = l_Lean_Expr_hasFVar(x_2);
+if (x_11 == 0)
{
uint8_t x_12;
-x_12 = 0;
+x_12 = 1;
x_3 = x_12;
-goto block_8;
+goto block_9;
+}
+else
+{
+uint8_t x_13;
+x_13 = 0;
+x_3 = x_13;
+goto block_9;
}
}
else
{
+lean_dec(x_1);
return x_2;
}
-block_8:
+block_9:
{
if (x_3 == 0)
{
-size_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_4 = 8192;
-x_5 = l_Lean_Expr_ReplaceImpl_initCache;
-x_6 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Meta_FVarSubst_apply___spec__1(x_1, x_4, x_2, x_5);
-x_7 = lean_ctor_get(x_6, 0);
-lean_inc(x_7);
-lean_dec(x_6);
-return x_7;
+lean_object* x_4; size_t x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8;
+x_4 = lean_alloc_closure((void*)(l_Lean_Meta_FVarSubst_apply___lambda__1___boxed), 2, 1);
+lean_closure_set(x_4, 0, x_1);
+x_5 = 8192;
+x_6 = l_Lean_Expr_ReplaceImpl_initCache;
+x_7 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(x_4, x_5, x_2, x_6);
+x_8 = lean_ctor_get(x_7, 0);
+lean_inc(x_8);
+lean_dec(x_7);
+return x_8;
}
else
{
+lean_dec(x_1);
return x_2;
}
}
}
}
-lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Meta_FVarSubst_apply___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
-_start:
-{
-size_t x_5; lean_object* x_6;
-x_5 = lean_unbox_usize(x_2);
-lean_dec(x_2);
-x_6 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_Meta_FVarSubst_apply___spec__1(x_1, x_5, x_3, x_4);
-lean_dec(x_1);
-return x_6;
-}
-}
-lean_object* l_Lean_Meta_FVarSubst_apply___boxed(lean_object* x_1, lean_object* x_2) {
+lean_object* l_Lean_Meta_FVarSubst_apply___lambda__1___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
-x_3 = l_Lean_Meta_FVarSubst_apply(x_1, x_2);
+x_3 = l_Lean_Meta_FVarSubst_apply___lambda__1(x_1, x_2);
lean_dec(x_1);
return x_3;
}
@@ -1540,6 +750,7 @@ if (x_13 == 0)
lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
x_14 = lean_ctor_get(x_2, 3);
x_15 = lean_ctor_get(x_2, 4);
+lean_inc(x_1);
x_16 = l_Lean_Meta_FVarSubst_apply(x_1, x_14);
x_17 = l_Lean_Meta_FVarSubst_apply(x_1, x_15);
lean_ctor_set(x_2, 4, x_17);
@@ -1561,6 +772,7 @@ lean_inc(x_20);
lean_inc(x_19);
lean_inc(x_18);
lean_dec(x_2);
+lean_inc(x_1);
x_24 = l_Lean_Meta_FVarSubst_apply(x_1, x_21);
x_25 = l_Lean_Meta_FVarSubst_apply(x_1, x_22);
x_26 = lean_alloc_ctor(1, 5, 1);
@@ -1575,15 +787,6 @@ return x_26;
}
}
}
-lean_object* l_Lean_LocalDecl_applyFVarSubst___boxed(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3;
-x_3 = l_Lean_LocalDecl_applyFVarSubst(x_1, x_2);
-lean_dec(x_1);
-return x_3;
-}
-}
lean_object* l_Lean_Expr_applyFVarSubst(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -1592,15 +795,6 @@ x_3 = l_Lean_Meta_FVarSubst_apply(x_1, x_2);
return x_3;
}
}
-lean_object* l_Lean_Expr_applyFVarSubst___boxed(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3;
-x_3 = l_Lean_Expr_applyFVarSubst(x_1, x_2);
-lean_dec(x_1);
-return x_3;
-}
-}
lean_object* initialize_Init(lean_object*);
lean_object* initialize_Std_Data_AssocList(lean_object*);
lean_object* initialize_Lean_Expr(lean_object*);
diff --git a/stage0/stdlib/Lean/Meta/Tactic/Induction.c b/stage0/stdlib/Lean/Meta/Tactic/Induction.c
index 0b3fd94c34..48a9fc5812 100644
--- a/stage0/stdlib/Lean/Meta/Tactic/Induction.c
+++ b/stage0/stdlib/Lean/Meta/Tactic/Induction.c
@@ -221,8 +221,8 @@ lean_object* l_Lean_Meta_withMVarContext___at_Lean_Meta_revert___spec__5___rarg(
lean_object* l_Nat_forMAux___main___at_Lean_Meta_induction___spec__6___lambda__2___closed__1;
lean_object* l_Nat_foldAux___main___at___private_Lean_Meta_Tactic_Induction_0__Lean_Meta_finalize_loop___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_toList___rarg(lean_object*);
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_mk_array(lean_object*, lean_object*);
+lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_induction_match__5(lean_object*);
lean_object* l___private_Lean_Meta_Tactic_Induction_0__Lean_Meta_addRecParams_match__1___rarg(lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Level_isZero(lean_object*);
@@ -235,7 +235,6 @@ lean_object* l___private_Lean_Meta_Tactic_Induction_0__Lean_Meta_getTargetArity_
lean_object* l___private_Lean_Meta_Tactic_Induction_0__Lean_Meta_throwUnexpectedMajorType___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkFreshExprSyntheticOpaqueMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_List_toArrayAux___main___rarg(lean_object*, lean_object*);
-lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Tactic_Induction_0__Lean_Meta_throwUnexpectedMajorType___rarg___closed__1;
lean_object* l_Array_umapMAux___main___at_Lean_Meta_induction___spec__7___lambda__2___closed__3;
lean_object* l_unsafeCast(lean_object*, lean_object*, lean_object*);
@@ -244,6 +243,7 @@ lean_object* l_Lean_Meta_induction_match__4(lean_object*);
extern lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_isClassQuick_x3f___closed__1;
lean_object* l___private_Lean_Meta_Tactic_Induction_0__Lean_Meta_finalize_loop_match__4___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Meta_InductionSubgoal_inhabited;
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Tactic_Induction_0__Lean_Meta_throwUnexpectedMajorType___rarg___closed__2;
lean_object* l_Lean_Meta_induction_match__3(lean_object*);
lean_object* l_Lean_indentExpr(lean_object*);
@@ -6275,7 +6275,7 @@ x_68 = lean_ctor_get(x_62, 1);
lean_inc(x_68);
lean_dec(x_62);
x_69 = l_Lean_Expr_withAppAux___at_Lean_Meta_induction___spec__12___lambda__2___closed__1;
-x_70 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_69, x_11, x_12, x_13, x_14, x_68);
+x_70 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_69, x_11, x_12, x_13, x_14, x_68);
x_71 = lean_ctor_get(x_70, 0);
lean_inc(x_71);
x_72 = lean_ctor_get(x_70, 1);
@@ -6340,7 +6340,7 @@ x_57 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_57, 0, x_55);
lean_ctor_set(x_57, 1, x_56);
x_58 = l_Lean_Expr_withAppAux___at_Lean_Meta_induction___spec__12___lambda__2___closed__1;
-x_59 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_58, x_57, x_11, x_12, x_13, x_14, x_52);
+x_59 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_58, x_57, x_11, x_12, x_13, x_14, x_52);
x_60 = lean_ctor_get(x_59, 1);
lean_inc(x_60);
lean_dec(x_59);
diff --git a/stage0/stdlib/Lean/Meta/Tactic/Subst.c b/stage0/stdlib/Lean/Meta/Tactic/Subst.c
index 1cd9968067..817bb617a6 100644
--- a/stage0/stdlib/Lean/Meta/Tactic/Subst.c
+++ b/stage0/stdlib/Lean/Meta/Tactic/Subst.c
@@ -151,9 +151,9 @@ lean_object* l_Lean_Meta_substCore___lambda__11___closed__1;
lean_object* l_Lean_Meta_substCore___lambda__11___closed__4;
lean_object* l_Lean_Meta_substCore___lambda__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, 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*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_toList___rarg(lean_object*);
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_substCore___lambda__11___closed__2;
lean_object* l_Lean_Meta_substCore___lambda__13(lean_object*, lean_object*, uint8_t, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_substCore___lambda__13___closed__2;
lean_object* l_Array_findSomeMAux___main___at_Lean_Meta_subst___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_substCore_match__4(lean_object*);
@@ -165,10 +165,10 @@ lean_object* l_Lean_Meta_substCore___lambda__13___closed__4;
lean_object* l_Nat_foldMAux___main___at_Lean_Meta_substCore___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkFreshExprSyntheticOpaqueMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_substCore___lambda__13___closed__17;
-lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_isClassQuick_x3f___closed__1;
lean_object* l_Lean_Meta_substCore___lambda__13___closed__8;
lean_object* l_Lean_Meta_substCore_match__2(lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_subst___lambda__1___closed__1;
lean_object* l_Lean_Meta_substCore_match__3___rarg(lean_object*, lean_object*);
lean_object* l_Lean_indentExpr(lean_object*);
@@ -2629,7 +2629,7 @@ x_66 = lean_ctor_get(x_60, 1);
lean_inc(x_66);
lean_dec(x_60);
lean_inc(x_8);
-x_67 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_8, x_10, x_11, x_12, x_13, x_66);
+x_67 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_8, x_10, x_11, x_12, x_13, x_66);
x_68 = lean_ctor_get(x_67, 0);
lean_inc(x_68);
x_69 = lean_ctor_get(x_67, 1);
@@ -2704,7 +2704,7 @@ x_55 = l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed_
x_56 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_56, 0, x_54);
lean_ctor_set(x_56, 1, x_55);
-x_57 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_8, x_56, x_10, x_11, x_12, x_13, x_49);
+x_57 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_8, x_56, x_10, x_11, x_12, x_13, x_49);
x_58 = lean_ctor_get(x_57, 1);
lean_inc(x_58);
lean_dec(x_57);
@@ -3200,7 +3200,7 @@ x_87 = lean_ctor_get(x_81, 1);
lean_inc(x_87);
lean_dec(x_81);
x_88 = l_Lean_Meta_substCore___lambda__13___closed__18;
-x_89 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_88, x_7, x_8, x_9, x_10, x_87);
+x_89 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_88, x_7, x_8, x_9, x_10, x_87);
x_90 = lean_ctor_get(x_89, 0);
lean_inc(x_90);
x_91 = lean_ctor_get(x_89, 1);
@@ -3331,7 +3331,7 @@ x_76 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_76, 0, x_74);
lean_ctor_set(x_76, 1, x_75);
x_77 = l_Lean_Meta_substCore___lambda__13___closed__18;
-x_78 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_77, x_76, x_7, x_8, x_9, x_10, x_63);
+x_78 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_77, x_76, x_7, x_8, x_9, x_10, x_63);
x_79 = lean_ctor_get(x_78, 1);
lean_inc(x_79);
lean_dec(x_78);
diff --git a/stage0/stdlib/Lean/Meta/WHNF.c b/stage0/stdlib/Lean/Meta/WHNF.c
index 99da660e1e..760af0e1fc 100644
--- a/stage0/stdlib/Lean/Meta/WHNF.c
+++ b/stage0/stdlib/Lean/Meta/WHNF.c
@@ -321,11 +321,11 @@ lean_object* l_Std_PersistentHashMap_insert___at___private_Lean_Meta_InferType_0
lean_object* l_Lean_Meta_whnfUntil___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_listToExpr___rarg___closed__2;
lean_object* l___private_Lean_Meta_WHNF_0__Lean_Meta_getStuckMVarImp_x3f_match__2(lean_object*);
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_TagDeclarationExtension_isTagged(lean_object*, lean_object*, lean_object*);
lean_object* lean_mk_array(lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_WHNF_0__Lean_Meta_mkNullaryCtor_match__2___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Expr_0__Lean_mkAppRangeAux(lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_WHNF_0__Lean_Meta_mkNullaryCtor_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_reduceNat_x3f___lambda__1___boxed(lean_object*);
lean_object* l_Lean_Meta_reduceBinNatOp___closed__8;
@@ -345,7 +345,6 @@ lean_object* l_Lean_Meta_reduceBinNatOp___closed__2;
lean_object* l_Lean_Meta_toCtorIfLit___closed__6;
lean_object* l_Lean_Meta_withNatValue_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_reduceNat_x3f___closed__15;
-lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___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* l___private_Lean_Meta_WHNF_0__Lean_Meta_matchConstAux_match__2(lean_object*);
lean_object* l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___closed__5;
@@ -359,6 +358,7 @@ lean_object* l_Lean_Meta_reduceNat_x3f___closed__14;
lean_object* l_Lean_Expr_instantiateLevelParamsCore_visit___at_Lean_Expr_instantiateLevelParams___spec__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_reduceBoolNativeUnsafe___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp_match__1(lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_whnfImp_match__2___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_mkAppB(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_reduceBinNatOp___closed__1;
@@ -6615,61 +6615,44 @@ goto _start;
}
case 4:
{
-lean_object* x_66; lean_object* x_326; lean_object* x_327; lean_object* x_328; uint8_t x_329;
-x_326 = lean_st_ref_get(x_5, x_6);
-x_327 = lean_ctor_get(x_326, 0);
-lean_inc(x_327);
-x_328 = lean_ctor_get(x_327, 3);
-lean_inc(x_328);
-lean_dec(x_327);
-x_329 = lean_ctor_get_uint8(x_328, sizeof(void*)*1);
-lean_dec(x_328);
-if (x_329 == 0)
-{
-lean_object* x_330;
-x_330 = lean_ctor_get(x_326, 1);
-lean_inc(x_330);
-lean_dec(x_326);
-x_66 = x_330;
-goto block_325;
-}
-else
-{
-lean_object* x_331; lean_object* x_332; lean_object* x_333; lean_object* x_334; uint8_t x_335;
-x_331 = lean_ctor_get(x_326, 1);
-lean_inc(x_331);
-lean_dec(x_326);
-x_332 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___closed__5;
-x_333 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_332, x_2, x_3, x_4, x_5, x_331);
+lean_object* x_66; uint8_t x_326; lean_object* x_327; lean_object* x_333; lean_object* x_334; lean_object* x_335; uint8_t x_336;
+x_333 = lean_st_ref_get(x_5, x_6);
x_334 = lean_ctor_get(x_333, 0);
lean_inc(x_334);
-x_335 = lean_unbox(x_334);
+x_335 = lean_ctor_get(x_334, 3);
+lean_inc(x_335);
lean_dec(x_334);
-if (x_335 == 0)
+x_336 = lean_ctor_get_uint8(x_335, sizeof(void*)*1);
+lean_dec(x_335);
+if (x_336 == 0)
{
-lean_object* x_336;
-x_336 = lean_ctor_get(x_333, 1);
-lean_inc(x_336);
-lean_dec(x_333);
-x_66 = x_336;
-goto block_325;
-}
-else
-{
-lean_object* x_337; lean_object* x_338; lean_object* x_339; lean_object* x_340;
+lean_object* x_337; uint8_t x_338;
x_337 = lean_ctor_get(x_333, 1);
lean_inc(x_337);
lean_dec(x_333);
-lean_inc(x_1);
-x_338 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_338, 0, x_1);
-x_339 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_332, x_338, x_2, x_3, x_4, x_5, x_337);
-x_340 = lean_ctor_get(x_339, 1);
-lean_inc(x_340);
-lean_dec(x_339);
-x_66 = x_340;
-goto block_325;
+x_338 = 0;
+x_326 = x_338;
+x_327 = x_337;
+goto block_332;
}
+else
+{
+lean_object* x_339; lean_object* x_340; lean_object* x_341; lean_object* x_342; lean_object* x_343; uint8_t x_344;
+x_339 = lean_ctor_get(x_333, 1);
+lean_inc(x_339);
+lean_dec(x_333);
+x_340 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___closed__5;
+x_341 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_340, x_2, x_3, x_4, x_5, x_339);
+x_342 = lean_ctor_get(x_341, 0);
+lean_inc(x_342);
+x_343 = lean_ctor_get(x_341, 1);
+lean_inc(x_343);
+lean_dec(x_341);
+x_344 = lean_unbox(x_342);
+lean_dec(x_342);
+x_326 = x_344;
+x_327 = x_343;
+goto block_332;
}
block_325:
{
@@ -7980,3147 +7963,3162 @@ return x_324;
}
}
}
+block_332:
+{
+if (x_326 == 0)
+{
+x_66 = x_327;
+goto block_325;
+}
+else
+{
+lean_object* x_328; lean_object* x_329; lean_object* x_330; lean_object* x_331;
+lean_inc(x_1);
+x_328 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_328, 0, x_1);
+x_329 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___closed__5;
+x_330 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_329, x_328, x_2, x_3, x_4, x_5, x_327);
+x_331 = lean_ctor_get(x_330, 1);
+lean_inc(x_331);
+lean_dec(x_330);
+x_66 = x_331;
+goto block_325;
+}
+}
}
case 5:
{
-lean_object* x_341; lean_object* x_601; lean_object* x_602; lean_object* x_603; uint8_t x_604;
-x_601 = lean_st_ref_get(x_5, x_6);
-x_602 = lean_ctor_get(x_601, 0);
-lean_inc(x_602);
-x_603 = lean_ctor_get(x_602, 3);
-lean_inc(x_603);
-lean_dec(x_602);
-x_604 = lean_ctor_get_uint8(x_603, sizeof(void*)*1);
-lean_dec(x_603);
-if (x_604 == 0)
-{
-lean_object* x_605;
-x_605 = lean_ctor_get(x_601, 1);
-lean_inc(x_605);
-lean_dec(x_601);
-x_341 = x_605;
-goto block_600;
-}
-else
-{
-lean_object* x_606; lean_object* x_607; lean_object* x_608; lean_object* x_609; uint8_t x_610;
-x_606 = lean_ctor_get(x_601, 1);
-lean_inc(x_606);
-lean_dec(x_601);
-x_607 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___closed__5;
-x_608 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_607, x_2, x_3, x_4, x_5, x_606);
-x_609 = lean_ctor_get(x_608, 0);
-lean_inc(x_609);
-x_610 = lean_unbox(x_609);
-lean_dec(x_609);
-if (x_610 == 0)
-{
-lean_object* x_611;
-x_611 = lean_ctor_get(x_608, 1);
-lean_inc(x_611);
-lean_dec(x_608);
-x_341 = x_611;
-goto block_600;
-}
-else
-{
-lean_object* x_612; lean_object* x_613; lean_object* x_614; lean_object* x_615;
-x_612 = lean_ctor_get(x_608, 1);
-lean_inc(x_612);
-lean_dec(x_608);
-lean_inc(x_1);
-x_613 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_613, 0, x_1);
-x_614 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_607, x_613, x_2, x_3, x_4, x_5, x_612);
-x_615 = lean_ctor_get(x_614, 1);
-lean_inc(x_615);
+lean_object* x_345; uint8_t x_605; lean_object* x_606; lean_object* x_612; lean_object* x_613; lean_object* x_614; uint8_t x_615;
+x_612 = lean_st_ref_get(x_5, x_6);
+x_613 = lean_ctor_get(x_612, 0);
+lean_inc(x_613);
+x_614 = lean_ctor_get(x_613, 3);
+lean_inc(x_614);
+lean_dec(x_613);
+x_615 = lean_ctor_get_uint8(x_614, sizeof(void*)*1);
lean_dec(x_614);
-x_341 = x_615;
-goto block_600;
+if (x_615 == 0)
+{
+lean_object* x_616; uint8_t x_617;
+x_616 = lean_ctor_get(x_612, 1);
+lean_inc(x_616);
+lean_dec(x_612);
+x_617 = 0;
+x_605 = x_617;
+x_606 = x_616;
+goto block_611;
}
+else
+{
+lean_object* x_618; lean_object* x_619; lean_object* x_620; lean_object* x_621; lean_object* x_622; uint8_t x_623;
+x_618 = lean_ctor_get(x_612, 1);
+lean_inc(x_618);
+lean_dec(x_612);
+x_619 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___closed__5;
+x_620 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_619, x_2, x_3, x_4, x_5, x_618);
+x_621 = lean_ctor_get(x_620, 0);
+lean_inc(x_621);
+x_622 = lean_ctor_get(x_620, 1);
+lean_inc(x_622);
+lean_dec(x_620);
+x_623 = lean_unbox(x_621);
+lean_dec(x_621);
+x_605 = x_623;
+x_606 = x_622;
+goto block_611;
}
-block_600:
+block_604:
{
switch (lean_obj_tag(x_1)) {
case 4:
{
-lean_object* x_342;
+lean_object* x_346;
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_342 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_342, 0, x_1);
-lean_ctor_set(x_342, 1, x_341);
-return x_342;
+x_346 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_346, 0, x_1);
+lean_ctor_set(x_346, 1, x_345);
+return x_346;
}
case 5:
{
-lean_object* x_343; lean_object* x_344; lean_object* x_345;
-x_343 = lean_ctor_get(x_1, 0);
-lean_inc(x_343);
-x_344 = l_Lean_Expr_getAppFn(x_343);
-lean_dec(x_343);
+lean_object* x_347; lean_object* x_348; lean_object* x_349;
+x_347 = lean_ctor_get(x_1, 0);
+lean_inc(x_347);
+x_348 = l_Lean_Expr_getAppFn(x_347);
+lean_dec(x_347);
lean_inc(x_5);
lean_inc(x_4);
lean_inc(x_3);
lean_inc(x_2);
-lean_inc(x_344);
-x_345 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2(x_344, x_2, x_3, x_4, x_5, x_341);
-if (lean_obj_tag(x_345) == 0)
+lean_inc(x_348);
+x_349 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2(x_348, x_2, x_3, x_4, x_5, x_345);
+if (lean_obj_tag(x_349) == 0)
{
-uint8_t x_346;
-x_346 = !lean_is_exclusive(x_345);
-if (x_346 == 0)
+uint8_t x_350;
+x_350 = !lean_is_exclusive(x_349);
+if (x_350 == 0)
{
-lean_object* x_347; lean_object* x_348; uint8_t x_349;
-x_347 = lean_ctor_get(x_345, 0);
-x_348 = lean_ctor_get(x_345, 1);
-x_349 = l_Lean_Expr_isLambda(x_347);
-if (x_349 == 0)
+lean_object* x_351; lean_object* x_352; uint8_t x_353;
+x_351 = lean_ctor_get(x_349, 0);
+x_352 = lean_ctor_get(x_349, 1);
+x_353 = l_Lean_Expr_isLambda(x_351);
+if (x_353 == 0)
{
-if (lean_obj_tag(x_347) == 4)
+if (lean_obj_tag(x_351) == 4)
{
-lean_object* x_350; lean_object* x_351; lean_object* x_352; lean_object* x_353;
-lean_free_object(x_345);
-x_350 = lean_ctor_get(x_347, 0);
-lean_inc(x_350);
-x_351 = lean_ctor_get(x_347, 1);
-lean_inc(x_351);
-lean_inc(x_1);
-lean_inc(x_347);
-lean_inc(x_344);
-x_352 = lean_alloc_closure((void*)(l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___lambda__1___boxed), 9, 3);
-lean_closure_set(x_352, 0, x_344);
-lean_closure_set(x_352, 1, x_347);
-lean_closure_set(x_352, 2, x_1);
-x_353 = l_Lean_Meta_getConst_x3f(x_350, x_2, x_3, x_4, x_5, x_348);
-if (lean_obj_tag(x_353) == 0)
-{
-lean_object* x_354;
-x_354 = lean_ctor_get(x_353, 0);
+lean_object* x_354; lean_object* x_355; lean_object* x_356; lean_object* x_357;
+lean_free_object(x_349);
+x_354 = lean_ctor_get(x_351, 0);
lean_inc(x_354);
-if (lean_obj_tag(x_354) == 0)
-{
-uint8_t x_355;
-lean_dec(x_352);
-lean_dec(x_351);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-x_355 = !lean_is_exclusive(x_353);
-if (x_355 == 0)
-{
-lean_object* x_356; uint8_t x_357;
-x_356 = lean_ctor_get(x_353, 0);
-lean_dec(x_356);
-x_357 = lean_expr_eqv(x_344, x_347);
-lean_dec(x_344);
-if (x_357 == 0)
+x_355 = lean_ctor_get(x_351, 1);
+lean_inc(x_355);
+lean_inc(x_1);
+lean_inc(x_351);
+lean_inc(x_348);
+x_356 = lean_alloc_closure((void*)(l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___lambda__1___boxed), 9, 3);
+lean_closure_set(x_356, 0, x_348);
+lean_closure_set(x_356, 1, x_351);
+lean_closure_set(x_356, 2, x_1);
+x_357 = l_Lean_Meta_getConst_x3f(x_354, x_2, x_3, x_4, x_5, x_352);
+if (lean_obj_tag(x_357) == 0)
{
lean_object* x_358;
-x_358 = l_Lean_Expr_updateFn(x_1, x_347);
-lean_dec(x_347);
-lean_ctor_set(x_353, 0, x_358);
-return x_353;
-}
-else
+x_358 = lean_ctor_get(x_357, 0);
+lean_inc(x_358);
+if (lean_obj_tag(x_358) == 0)
{
-lean_dec(x_347);
-lean_ctor_set(x_353, 0, x_1);
-return x_353;
-}
-}
-else
-{
-lean_object* x_359; uint8_t x_360;
-x_359 = lean_ctor_get(x_353, 1);
-lean_inc(x_359);
-lean_dec(x_353);
-x_360 = lean_expr_eqv(x_344, x_347);
-lean_dec(x_344);
-if (x_360 == 0)
-{
-lean_object* x_361; lean_object* x_362;
-x_361 = l_Lean_Expr_updateFn(x_1, x_347);
-lean_dec(x_347);
-x_362 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_362, 0, x_361);
-lean_ctor_set(x_362, 1, x_359);
-return x_362;
-}
-else
-{
-lean_object* x_363;
-lean_dec(x_347);
-x_363 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_363, 0, x_1);
-lean_ctor_set(x_363, 1, x_359);
-return x_363;
-}
-}
-}
-else
-{
-lean_object* x_364;
-x_364 = lean_ctor_get(x_354, 0);
-lean_inc(x_364);
-lean_dec(x_354);
-switch (lean_obj_tag(x_364)) {
-case 1:
-{
-lean_object* x_365; lean_object* x_366; lean_object* x_367; lean_object* x_368; uint8_t x_369;
-lean_dec(x_352);
-x_365 = lean_ctor_get(x_353, 1);
-lean_inc(x_365);
-lean_dec(x_353);
-x_366 = l_Lean_ConstantInfo_name(x_364);
-x_367 = l___private_Lean_Meta_WHNF_0__Lean_Meta_isAuxDefImp_x3f(x_366, x_2, x_3, x_4, x_5, x_365);
-lean_dec(x_366);
-x_368 = lean_ctor_get(x_367, 0);
-lean_inc(x_368);
-x_369 = lean_unbox(x_368);
-lean_dec(x_368);
-if (x_369 == 0)
-{
-uint8_t x_370;
-lean_dec(x_364);
-lean_dec(x_351);
+uint8_t x_359;
+lean_dec(x_356);
+lean_dec(x_355);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_370 = !lean_is_exclusive(x_367);
-if (x_370 == 0)
+x_359 = !lean_is_exclusive(x_357);
+if (x_359 == 0)
{
-lean_object* x_371; uint8_t x_372;
-x_371 = lean_ctor_get(x_367, 0);
-lean_dec(x_371);
-x_372 = lean_expr_eqv(x_344, x_347);
-lean_dec(x_344);
-if (x_372 == 0)
+lean_object* x_360; uint8_t x_361;
+x_360 = lean_ctor_get(x_357, 0);
+lean_dec(x_360);
+x_361 = lean_expr_eqv(x_348, x_351);
+lean_dec(x_348);
+if (x_361 == 0)
{
-lean_object* x_373;
-x_373 = l_Lean_Expr_updateFn(x_1, x_347);
-lean_dec(x_347);
-lean_ctor_set(x_367, 0, x_373);
-return x_367;
-}
-else
-{
-lean_dec(x_347);
-lean_ctor_set(x_367, 0, x_1);
-return x_367;
-}
-}
-else
-{
-lean_object* x_374; uint8_t x_375;
-x_374 = lean_ctor_get(x_367, 1);
-lean_inc(x_374);
-lean_dec(x_367);
-x_375 = lean_expr_eqv(x_344, x_347);
-lean_dec(x_344);
-if (x_375 == 0)
-{
-lean_object* x_376; lean_object* x_377;
-x_376 = l_Lean_Expr_updateFn(x_1, x_347);
-lean_dec(x_347);
-x_377 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_377, 0, x_376);
-lean_ctor_set(x_377, 1, x_374);
-return x_377;
-}
-else
-{
-lean_object* x_378;
-lean_dec(x_347);
-x_378 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_378, 0, x_1);
-lean_ctor_set(x_378, 1, x_374);
-return x_378;
-}
-}
-}
-else
-{
-lean_object* x_379; lean_object* x_380; lean_object* x_381; lean_object* x_382; lean_object* x_383; lean_object* x_384;
-x_379 = lean_ctor_get(x_367, 1);
-lean_inc(x_379);
-lean_dec(x_367);
-x_380 = lean_unsigned_to_nat(0u);
-x_381 = l_Lean_Expr_getAppNumArgsAux(x_1, x_380);
-x_382 = lean_mk_empty_array_with_capacity(x_381);
-lean_dec(x_381);
-lean_inc(x_1);
-x_383 = l___private_Lean_Expr_0__Lean_Expr_getAppRevArgsAux(x_1, x_382);
-x_384 = l___private_Lean_Meta_WHNF_0__Lean_Meta_deltaBetaDefinition___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__1(x_1, x_344, x_347, x_364, x_351, x_383, x_2, x_3, x_4, x_5, x_379);
-lean_dec(x_383);
+lean_object* x_362;
+x_362 = l_Lean_Expr_updateFn(x_1, x_351);
lean_dec(x_351);
-lean_dec(x_364);
-lean_dec(x_347);
-lean_dec(x_344);
-return x_384;
+lean_ctor_set(x_357, 0, x_362);
+return x_357;
+}
+else
+{
+lean_dec(x_351);
+lean_ctor_set(x_357, 0, x_1);
+return x_357;
+}
+}
+else
+{
+lean_object* x_363; uint8_t x_364;
+x_363 = lean_ctor_get(x_357, 1);
+lean_inc(x_363);
+lean_dec(x_357);
+x_364 = lean_expr_eqv(x_348, x_351);
+lean_dec(x_348);
+if (x_364 == 0)
+{
+lean_object* x_365; lean_object* x_366;
+x_365 = l_Lean_Expr_updateFn(x_1, x_351);
+lean_dec(x_351);
+x_366 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_366, 0, x_365);
+lean_ctor_set(x_366, 1, x_363);
+return x_366;
+}
+else
+{
+lean_object* x_367;
+lean_dec(x_351);
+x_367 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_367, 0, x_1);
+lean_ctor_set(x_367, 1, x_363);
+return x_367;
+}
+}
+}
+else
+{
+lean_object* x_368;
+x_368 = lean_ctor_get(x_358, 0);
+lean_inc(x_368);
+lean_dec(x_358);
+switch (lean_obj_tag(x_368)) {
+case 1:
+{
+lean_object* x_369; lean_object* x_370; lean_object* x_371; lean_object* x_372; uint8_t x_373;
+lean_dec(x_356);
+x_369 = lean_ctor_get(x_357, 1);
+lean_inc(x_369);
+lean_dec(x_357);
+x_370 = l_Lean_ConstantInfo_name(x_368);
+x_371 = l___private_Lean_Meta_WHNF_0__Lean_Meta_isAuxDefImp_x3f(x_370, x_2, x_3, x_4, x_5, x_369);
+lean_dec(x_370);
+x_372 = lean_ctor_get(x_371, 0);
+lean_inc(x_372);
+x_373 = lean_unbox(x_372);
+lean_dec(x_372);
+if (x_373 == 0)
+{
+uint8_t x_374;
+lean_dec(x_368);
+lean_dec(x_355);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+x_374 = !lean_is_exclusive(x_371);
+if (x_374 == 0)
+{
+lean_object* x_375; uint8_t x_376;
+x_375 = lean_ctor_get(x_371, 0);
+lean_dec(x_375);
+x_376 = lean_expr_eqv(x_348, x_351);
+lean_dec(x_348);
+if (x_376 == 0)
+{
+lean_object* x_377;
+x_377 = l_Lean_Expr_updateFn(x_1, x_351);
+lean_dec(x_351);
+lean_ctor_set(x_371, 0, x_377);
+return x_371;
+}
+else
+{
+lean_dec(x_351);
+lean_ctor_set(x_371, 0, x_1);
+return x_371;
+}
+}
+else
+{
+lean_object* x_378; uint8_t x_379;
+x_378 = lean_ctor_get(x_371, 1);
+lean_inc(x_378);
+lean_dec(x_371);
+x_379 = lean_expr_eqv(x_348, x_351);
+lean_dec(x_348);
+if (x_379 == 0)
+{
+lean_object* x_380; lean_object* x_381;
+x_380 = l_Lean_Expr_updateFn(x_1, x_351);
+lean_dec(x_351);
+x_381 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_381, 0, x_380);
+lean_ctor_set(x_381, 1, x_378);
+return x_381;
+}
+else
+{
+lean_object* x_382;
+lean_dec(x_351);
+x_382 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_382, 0, x_1);
+lean_ctor_set(x_382, 1, x_378);
+return x_382;
+}
+}
+}
+else
+{
+lean_object* x_383; lean_object* x_384; lean_object* x_385; lean_object* x_386; lean_object* x_387; lean_object* x_388;
+x_383 = lean_ctor_get(x_371, 1);
+lean_inc(x_383);
+lean_dec(x_371);
+x_384 = lean_unsigned_to_nat(0u);
+x_385 = l_Lean_Expr_getAppNumArgsAux(x_1, x_384);
+x_386 = lean_mk_empty_array_with_capacity(x_385);
+lean_dec(x_385);
+lean_inc(x_1);
+x_387 = l___private_Lean_Expr_0__Lean_Expr_getAppRevArgsAux(x_1, x_386);
+x_388 = l___private_Lean_Meta_WHNF_0__Lean_Meta_deltaBetaDefinition___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__1(x_1, x_348, x_351, x_368, x_355, x_387, x_2, x_3, x_4, x_5, x_383);
+lean_dec(x_387);
+lean_dec(x_355);
+lean_dec(x_368);
+lean_dec(x_351);
+lean_dec(x_348);
+return x_388;
}
}
case 4:
{
-lean_object* x_385; lean_object* x_386; lean_object* x_387; lean_object* x_388; lean_object* x_389; lean_object* x_390; lean_object* x_391; lean_object* x_392; lean_object* x_393; lean_object* x_394; lean_object* x_395;
-lean_dec(x_347);
-lean_dec(x_344);
-x_385 = lean_ctor_get(x_353, 1);
-lean_inc(x_385);
-lean_dec(x_353);
-x_386 = lean_ctor_get(x_364, 0);
-lean_inc(x_386);
-lean_dec(x_364);
-x_387 = lean_unsigned_to_nat(0u);
-x_388 = l_Lean_Expr_getAppNumArgsAux(x_1, x_387);
-x_389 = l_Lean_Expr_getAppArgs___closed__1;
-lean_inc(x_388);
-x_390 = lean_mk_array(x_388, x_389);
-x_391 = lean_unsigned_to_nat(1u);
-x_392 = lean_nat_sub(x_388, x_391);
-lean_dec(x_388);
-x_393 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_390, x_392);
-x_394 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___closed__3;
-x_395 = l___private_Lean_Meta_WHNF_0__Lean_Meta_reduceQuotRec___rarg(x_386, x_351, x_393, x_352, x_394, x_2, x_3, x_4, x_5, x_385);
-lean_dec(x_393);
+lean_object* x_389; lean_object* x_390; lean_object* x_391; lean_object* x_392; lean_object* x_393; lean_object* x_394; lean_object* x_395; lean_object* x_396; lean_object* x_397; lean_object* x_398; lean_object* x_399;
lean_dec(x_351);
-lean_dec(x_386);
-return x_395;
+lean_dec(x_348);
+x_389 = lean_ctor_get(x_357, 1);
+lean_inc(x_389);
+lean_dec(x_357);
+x_390 = lean_ctor_get(x_368, 0);
+lean_inc(x_390);
+lean_dec(x_368);
+x_391 = lean_unsigned_to_nat(0u);
+x_392 = l_Lean_Expr_getAppNumArgsAux(x_1, x_391);
+x_393 = l_Lean_Expr_getAppArgs___closed__1;
+lean_inc(x_392);
+x_394 = lean_mk_array(x_392, x_393);
+x_395 = lean_unsigned_to_nat(1u);
+x_396 = lean_nat_sub(x_392, x_395);
+lean_dec(x_392);
+x_397 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_394, x_396);
+x_398 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___closed__3;
+x_399 = l___private_Lean_Meta_WHNF_0__Lean_Meta_reduceQuotRec___rarg(x_390, x_355, x_397, x_356, x_398, x_2, x_3, x_4, x_5, x_389);
+lean_dec(x_397);
+lean_dec(x_355);
+lean_dec(x_390);
+return x_399;
}
case 7:
{
-lean_object* x_396; lean_object* x_397; lean_object* x_398; lean_object* x_399; lean_object* x_400; lean_object* x_401; lean_object* x_402; lean_object* x_403; lean_object* x_404; lean_object* x_405; lean_object* x_406;
-lean_dec(x_347);
-lean_dec(x_344);
-x_396 = lean_ctor_get(x_353, 1);
-lean_inc(x_396);
-lean_dec(x_353);
-x_397 = lean_ctor_get(x_364, 0);
-lean_inc(x_397);
-lean_dec(x_364);
-x_398 = lean_unsigned_to_nat(0u);
-x_399 = l_Lean_Expr_getAppNumArgsAux(x_1, x_398);
-x_400 = l_Lean_Expr_getAppArgs___closed__1;
-lean_inc(x_399);
-x_401 = lean_mk_array(x_399, x_400);
-x_402 = lean_unsigned_to_nat(1u);
-x_403 = lean_nat_sub(x_399, x_402);
-lean_dec(x_399);
-x_404 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_401, x_403);
-x_405 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___closed__3;
-x_406 = l___private_Lean_Meta_WHNF_0__Lean_Meta_reduceRec___rarg(x_397, x_351, x_404, x_352, x_405, x_2, x_3, x_4, x_5, x_396);
-lean_dec(x_404);
+lean_object* x_400; lean_object* x_401; lean_object* x_402; lean_object* x_403; lean_object* x_404; lean_object* x_405; lean_object* x_406; lean_object* x_407; lean_object* x_408; lean_object* x_409; lean_object* x_410;
lean_dec(x_351);
-return x_406;
+lean_dec(x_348);
+x_400 = lean_ctor_get(x_357, 1);
+lean_inc(x_400);
+lean_dec(x_357);
+x_401 = lean_ctor_get(x_368, 0);
+lean_inc(x_401);
+lean_dec(x_368);
+x_402 = lean_unsigned_to_nat(0u);
+x_403 = l_Lean_Expr_getAppNumArgsAux(x_1, x_402);
+x_404 = l_Lean_Expr_getAppArgs___closed__1;
+lean_inc(x_403);
+x_405 = lean_mk_array(x_403, x_404);
+x_406 = lean_unsigned_to_nat(1u);
+x_407 = lean_nat_sub(x_403, x_406);
+lean_dec(x_403);
+x_408 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_405, x_407);
+x_409 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___closed__3;
+x_410 = l___private_Lean_Meta_WHNF_0__Lean_Meta_reduceRec___rarg(x_401, x_355, x_408, x_356, x_409, x_2, x_3, x_4, x_5, x_400);
+lean_dec(x_408);
+lean_dec(x_355);
+return x_410;
}
default:
{
-uint8_t x_407;
-lean_dec(x_364);
-lean_dec(x_352);
-lean_dec(x_351);
+uint8_t x_411;
+lean_dec(x_368);
+lean_dec(x_356);
+lean_dec(x_355);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_407 = !lean_is_exclusive(x_353);
-if (x_407 == 0)
+x_411 = !lean_is_exclusive(x_357);
+if (x_411 == 0)
{
-lean_object* x_408; uint8_t x_409;
-x_408 = lean_ctor_get(x_353, 0);
-lean_dec(x_408);
-x_409 = lean_expr_eqv(x_344, x_347);
-lean_dec(x_344);
-if (x_409 == 0)
+lean_object* x_412; uint8_t x_413;
+x_412 = lean_ctor_get(x_357, 0);
+lean_dec(x_412);
+x_413 = lean_expr_eqv(x_348, x_351);
+lean_dec(x_348);
+if (x_413 == 0)
{
-lean_object* x_410;
-x_410 = l_Lean_Expr_updateFn(x_1, x_347);
-lean_dec(x_347);
-lean_ctor_set(x_353, 0, x_410);
-return x_353;
-}
-else
-{
-lean_dec(x_347);
-lean_ctor_set(x_353, 0, x_1);
-return x_353;
-}
-}
-else
-{
-lean_object* x_411; uint8_t x_412;
-x_411 = lean_ctor_get(x_353, 1);
-lean_inc(x_411);
-lean_dec(x_353);
-x_412 = lean_expr_eqv(x_344, x_347);
-lean_dec(x_344);
-if (x_412 == 0)
-{
-lean_object* x_413; lean_object* x_414;
-x_413 = l_Lean_Expr_updateFn(x_1, x_347);
-lean_dec(x_347);
-x_414 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_414, 0, x_413);
-lean_ctor_set(x_414, 1, x_411);
-return x_414;
-}
-else
-{
-lean_object* x_415;
-lean_dec(x_347);
-x_415 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_415, 0, x_1);
-lean_ctor_set(x_415, 1, x_411);
-return x_415;
-}
-}
-}
-}
-}
-}
-else
-{
-uint8_t x_416;
-lean_dec(x_352);
+lean_object* x_414;
+x_414 = l_Lean_Expr_updateFn(x_1, x_351);
lean_dec(x_351);
-lean_dec(x_347);
-lean_dec(x_344);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_dec(x_1);
-x_416 = !lean_is_exclusive(x_353);
+lean_ctor_set(x_357, 0, x_414);
+return x_357;
+}
+else
+{
+lean_dec(x_351);
+lean_ctor_set(x_357, 0, x_1);
+return x_357;
+}
+}
+else
+{
+lean_object* x_415; uint8_t x_416;
+x_415 = lean_ctor_get(x_357, 1);
+lean_inc(x_415);
+lean_dec(x_357);
+x_416 = lean_expr_eqv(x_348, x_351);
+lean_dec(x_348);
if (x_416 == 0)
{
-return x_353;
+lean_object* x_417; lean_object* x_418;
+x_417 = l_Lean_Expr_updateFn(x_1, x_351);
+lean_dec(x_351);
+x_418 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_418, 0, x_417);
+lean_ctor_set(x_418, 1, x_415);
+return x_418;
}
else
{
-lean_object* x_417; lean_object* x_418; lean_object* x_419;
-x_417 = lean_ctor_get(x_353, 0);
-x_418 = lean_ctor_get(x_353, 1);
-lean_inc(x_418);
-lean_inc(x_417);
-lean_dec(x_353);
-x_419 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_419, 0, x_417);
-lean_ctor_set(x_419, 1, x_418);
+lean_object* x_419;
+lean_dec(x_351);
+x_419 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_419, 0, x_1);
+lean_ctor_set(x_419, 1, x_415);
return x_419;
}
}
}
+}
+}
+}
else
{
uint8_t x_420;
+lean_dec(x_356);
+lean_dec(x_355);
+lean_dec(x_351);
+lean_dec(x_348);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_420 = lean_expr_eqv(x_344, x_347);
-lean_dec(x_344);
+lean_dec(x_1);
+x_420 = !lean_is_exclusive(x_357);
if (x_420 == 0)
{
-lean_object* x_421;
-x_421 = l_Lean_Expr_updateFn(x_1, x_347);
-lean_dec(x_347);
-lean_ctor_set(x_345, 0, x_421);
-return x_345;
+return x_357;
}
else
{
-lean_dec(x_347);
-lean_ctor_set(x_345, 0, x_1);
-return x_345;
+lean_object* x_421; lean_object* x_422; lean_object* x_423;
+x_421 = lean_ctor_get(x_357, 0);
+x_422 = lean_ctor_get(x_357, 1);
+lean_inc(x_422);
+lean_inc(x_421);
+lean_dec(x_357);
+x_423 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_423, 0, x_421);
+lean_ctor_set(x_423, 1, x_422);
+return x_423;
}
}
}
else
{
-lean_object* x_422; lean_object* x_423; lean_object* x_424; lean_object* x_425; lean_object* x_426;
-lean_free_object(x_345);
-lean_dec(x_344);
-x_422 = lean_unsigned_to_nat(0u);
-x_423 = l_Lean_Expr_getAppNumArgsAux(x_1, x_422);
-x_424 = lean_mk_empty_array_with_capacity(x_423);
-lean_dec(x_423);
-x_425 = l___private_Lean_Expr_0__Lean_Expr_getAppRevArgsAux(x_1, x_424);
-x_426 = l_Lean_Expr_betaRev(x_347, x_425);
-lean_dec(x_425);
-lean_dec(x_347);
-x_1 = x_426;
-x_6 = x_348;
+uint8_t x_424;
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+x_424 = lean_expr_eqv(x_348, x_351);
+lean_dec(x_348);
+if (x_424 == 0)
+{
+lean_object* x_425;
+x_425 = l_Lean_Expr_updateFn(x_1, x_351);
+lean_dec(x_351);
+lean_ctor_set(x_349, 0, x_425);
+return x_349;
+}
+else
+{
+lean_dec(x_351);
+lean_ctor_set(x_349, 0, x_1);
+return x_349;
+}
+}
+}
+else
+{
+lean_object* x_426; lean_object* x_427; lean_object* x_428; lean_object* x_429; lean_object* x_430;
+lean_free_object(x_349);
+lean_dec(x_348);
+x_426 = lean_unsigned_to_nat(0u);
+x_427 = l_Lean_Expr_getAppNumArgsAux(x_1, x_426);
+x_428 = lean_mk_empty_array_with_capacity(x_427);
+lean_dec(x_427);
+x_429 = l___private_Lean_Expr_0__Lean_Expr_getAppRevArgsAux(x_1, x_428);
+x_430 = l_Lean_Expr_betaRev(x_351, x_429);
+lean_dec(x_429);
+lean_dec(x_351);
+x_1 = x_430;
+x_6 = x_352;
goto _start;
}
}
else
{
-lean_object* x_428; lean_object* x_429; uint8_t x_430;
-x_428 = lean_ctor_get(x_345, 0);
-x_429 = lean_ctor_get(x_345, 1);
-lean_inc(x_429);
-lean_inc(x_428);
-lean_dec(x_345);
-x_430 = l_Lean_Expr_isLambda(x_428);
-if (x_430 == 0)
-{
-if (lean_obj_tag(x_428) == 4)
-{
-lean_object* x_431; lean_object* x_432; lean_object* x_433; lean_object* x_434;
-x_431 = lean_ctor_get(x_428, 0);
-lean_inc(x_431);
-x_432 = lean_ctor_get(x_428, 1);
+lean_object* x_432; lean_object* x_433; uint8_t x_434;
+x_432 = lean_ctor_get(x_349, 0);
+x_433 = lean_ctor_get(x_349, 1);
+lean_inc(x_433);
lean_inc(x_432);
-lean_inc(x_1);
-lean_inc(x_428);
-lean_inc(x_344);
-x_433 = lean_alloc_closure((void*)(l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___lambda__1___boxed), 9, 3);
-lean_closure_set(x_433, 0, x_344);
-lean_closure_set(x_433, 1, x_428);
-lean_closure_set(x_433, 2, x_1);
-x_434 = l_Lean_Meta_getConst_x3f(x_431, x_2, x_3, x_4, x_5, x_429);
-if (lean_obj_tag(x_434) == 0)
+lean_dec(x_349);
+x_434 = l_Lean_Expr_isLambda(x_432);
+if (x_434 == 0)
{
-lean_object* x_435;
-x_435 = lean_ctor_get(x_434, 0);
+if (lean_obj_tag(x_432) == 4)
+{
+lean_object* x_435; lean_object* x_436; lean_object* x_437; lean_object* x_438;
+x_435 = lean_ctor_get(x_432, 0);
lean_inc(x_435);
-if (lean_obj_tag(x_435) == 0)
+x_436 = lean_ctor_get(x_432, 1);
+lean_inc(x_436);
+lean_inc(x_1);
+lean_inc(x_432);
+lean_inc(x_348);
+x_437 = lean_alloc_closure((void*)(l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___lambda__1___boxed), 9, 3);
+lean_closure_set(x_437, 0, x_348);
+lean_closure_set(x_437, 1, x_432);
+lean_closure_set(x_437, 2, x_1);
+x_438 = l_Lean_Meta_getConst_x3f(x_435, x_2, x_3, x_4, x_5, x_433);
+if (lean_obj_tag(x_438) == 0)
{
-lean_object* x_436; lean_object* x_437; uint8_t x_438;
-lean_dec(x_433);
-lean_dec(x_432);
+lean_object* x_439;
+x_439 = lean_ctor_get(x_438, 0);
+lean_inc(x_439);
+if (lean_obj_tag(x_439) == 0)
+{
+lean_object* x_440; lean_object* x_441; uint8_t x_442;
+lean_dec(x_437);
+lean_dec(x_436);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_436 = lean_ctor_get(x_434, 1);
-lean_inc(x_436);
-if (lean_is_exclusive(x_434)) {
- lean_ctor_release(x_434, 0);
- lean_ctor_release(x_434, 1);
- x_437 = x_434;
+x_440 = lean_ctor_get(x_438, 1);
+lean_inc(x_440);
+if (lean_is_exclusive(x_438)) {
+ lean_ctor_release(x_438, 0);
+ lean_ctor_release(x_438, 1);
+ x_441 = x_438;
} else {
- lean_dec_ref(x_434);
- x_437 = lean_box(0);
+ lean_dec_ref(x_438);
+ x_441 = lean_box(0);
}
-x_438 = lean_expr_eqv(x_344, x_428);
-lean_dec(x_344);
-if (x_438 == 0)
+x_442 = lean_expr_eqv(x_348, x_432);
+lean_dec(x_348);
+if (x_442 == 0)
{
-lean_object* x_439; lean_object* x_440;
-x_439 = l_Lean_Expr_updateFn(x_1, x_428);
-lean_dec(x_428);
-if (lean_is_scalar(x_437)) {
- x_440 = lean_alloc_ctor(0, 2, 0);
+lean_object* x_443; lean_object* x_444;
+x_443 = l_Lean_Expr_updateFn(x_1, x_432);
+lean_dec(x_432);
+if (lean_is_scalar(x_441)) {
+ x_444 = lean_alloc_ctor(0, 2, 0);
} else {
- x_440 = x_437;
+ x_444 = x_441;
}
-lean_ctor_set(x_440, 0, x_439);
-lean_ctor_set(x_440, 1, x_436);
-return x_440;
+lean_ctor_set(x_444, 0, x_443);
+lean_ctor_set(x_444, 1, x_440);
+return x_444;
}
else
{
-lean_object* x_441;
-lean_dec(x_428);
-if (lean_is_scalar(x_437)) {
- x_441 = lean_alloc_ctor(0, 2, 0);
+lean_object* x_445;
+lean_dec(x_432);
+if (lean_is_scalar(x_441)) {
+ x_445 = lean_alloc_ctor(0, 2, 0);
} else {
- x_441 = x_437;
+ x_445 = x_441;
}
-lean_ctor_set(x_441, 0, x_1);
-lean_ctor_set(x_441, 1, x_436);
-return x_441;
+lean_ctor_set(x_445, 0, x_1);
+lean_ctor_set(x_445, 1, x_440);
+return x_445;
}
}
else
{
-lean_object* x_442;
-x_442 = lean_ctor_get(x_435, 0);
-lean_inc(x_442);
-lean_dec(x_435);
-switch (lean_obj_tag(x_442)) {
+lean_object* x_446;
+x_446 = lean_ctor_get(x_439, 0);
+lean_inc(x_446);
+lean_dec(x_439);
+switch (lean_obj_tag(x_446)) {
case 1:
{
-lean_object* x_443; lean_object* x_444; lean_object* x_445; lean_object* x_446; uint8_t x_447;
-lean_dec(x_433);
-x_443 = lean_ctor_get(x_434, 1);
-lean_inc(x_443);
-lean_dec(x_434);
-x_444 = l_Lean_ConstantInfo_name(x_442);
-x_445 = l___private_Lean_Meta_WHNF_0__Lean_Meta_isAuxDefImp_x3f(x_444, x_2, x_3, x_4, x_5, x_443);
-lean_dec(x_444);
-x_446 = lean_ctor_get(x_445, 0);
-lean_inc(x_446);
-x_447 = lean_unbox(x_446);
-lean_dec(x_446);
-if (x_447 == 0)
+lean_object* x_447; lean_object* x_448; lean_object* x_449; lean_object* x_450; uint8_t x_451;
+lean_dec(x_437);
+x_447 = lean_ctor_get(x_438, 1);
+lean_inc(x_447);
+lean_dec(x_438);
+x_448 = l_Lean_ConstantInfo_name(x_446);
+x_449 = l___private_Lean_Meta_WHNF_0__Lean_Meta_isAuxDefImp_x3f(x_448, x_2, x_3, x_4, x_5, x_447);
+lean_dec(x_448);
+x_450 = lean_ctor_get(x_449, 0);
+lean_inc(x_450);
+x_451 = lean_unbox(x_450);
+lean_dec(x_450);
+if (x_451 == 0)
{
-lean_object* x_448; lean_object* x_449; uint8_t x_450;
-lean_dec(x_442);
-lean_dec(x_432);
+lean_object* x_452; lean_object* x_453; uint8_t x_454;
+lean_dec(x_446);
+lean_dec(x_436);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_448 = lean_ctor_get(x_445, 1);
-lean_inc(x_448);
-if (lean_is_exclusive(x_445)) {
- lean_ctor_release(x_445, 0);
- lean_ctor_release(x_445, 1);
- x_449 = x_445;
-} else {
- lean_dec_ref(x_445);
- x_449 = lean_box(0);
-}
-x_450 = lean_expr_eqv(x_344, x_428);
-lean_dec(x_344);
-if (x_450 == 0)
-{
-lean_object* x_451; lean_object* x_452;
-x_451 = l_Lean_Expr_updateFn(x_1, x_428);
-lean_dec(x_428);
-if (lean_is_scalar(x_449)) {
- x_452 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_452 = x_449;
-}
-lean_ctor_set(x_452, 0, x_451);
-lean_ctor_set(x_452, 1, x_448);
-return x_452;
-}
-else
-{
-lean_object* x_453;
-lean_dec(x_428);
-if (lean_is_scalar(x_449)) {
- x_453 = lean_alloc_ctor(0, 2, 0);
-} else {
+x_452 = lean_ctor_get(x_449, 1);
+lean_inc(x_452);
+if (lean_is_exclusive(x_449)) {
+ lean_ctor_release(x_449, 0);
+ lean_ctor_release(x_449, 1);
x_453 = x_449;
+} else {
+ lean_dec_ref(x_449);
+ x_453 = lean_box(0);
}
-lean_ctor_set(x_453, 0, x_1);
-lean_ctor_set(x_453, 1, x_448);
-return x_453;
+x_454 = lean_expr_eqv(x_348, x_432);
+lean_dec(x_348);
+if (x_454 == 0)
+{
+lean_object* x_455; lean_object* x_456;
+x_455 = l_Lean_Expr_updateFn(x_1, x_432);
+lean_dec(x_432);
+if (lean_is_scalar(x_453)) {
+ x_456 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_456 = x_453;
+}
+lean_ctor_set(x_456, 0, x_455);
+lean_ctor_set(x_456, 1, x_452);
+return x_456;
+}
+else
+{
+lean_object* x_457;
+lean_dec(x_432);
+if (lean_is_scalar(x_453)) {
+ x_457 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_457 = x_453;
+}
+lean_ctor_set(x_457, 0, x_1);
+lean_ctor_set(x_457, 1, x_452);
+return x_457;
}
}
else
{
-lean_object* x_454; lean_object* x_455; lean_object* x_456; lean_object* x_457; lean_object* x_458; lean_object* x_459;
-x_454 = lean_ctor_get(x_445, 1);
-lean_inc(x_454);
-lean_dec(x_445);
-x_455 = lean_unsigned_to_nat(0u);
-x_456 = l_Lean_Expr_getAppNumArgsAux(x_1, x_455);
-x_457 = lean_mk_empty_array_with_capacity(x_456);
-lean_dec(x_456);
+lean_object* x_458; lean_object* x_459; lean_object* x_460; lean_object* x_461; lean_object* x_462; lean_object* x_463;
+x_458 = lean_ctor_get(x_449, 1);
+lean_inc(x_458);
+lean_dec(x_449);
+x_459 = lean_unsigned_to_nat(0u);
+x_460 = l_Lean_Expr_getAppNumArgsAux(x_1, x_459);
+x_461 = lean_mk_empty_array_with_capacity(x_460);
+lean_dec(x_460);
lean_inc(x_1);
-x_458 = l___private_Lean_Expr_0__Lean_Expr_getAppRevArgsAux(x_1, x_457);
-x_459 = l___private_Lean_Meta_WHNF_0__Lean_Meta_deltaBetaDefinition___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__1(x_1, x_344, x_428, x_442, x_432, x_458, x_2, x_3, x_4, x_5, x_454);
-lean_dec(x_458);
+x_462 = l___private_Lean_Expr_0__Lean_Expr_getAppRevArgsAux(x_1, x_461);
+x_463 = l___private_Lean_Meta_WHNF_0__Lean_Meta_deltaBetaDefinition___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__1(x_1, x_348, x_432, x_446, x_436, x_462, x_2, x_3, x_4, x_5, x_458);
+lean_dec(x_462);
+lean_dec(x_436);
+lean_dec(x_446);
lean_dec(x_432);
-lean_dec(x_442);
-lean_dec(x_428);
-lean_dec(x_344);
-return x_459;
+lean_dec(x_348);
+return x_463;
}
}
case 4:
{
-lean_object* x_460; lean_object* x_461; lean_object* x_462; lean_object* x_463; lean_object* x_464; lean_object* x_465; lean_object* x_466; lean_object* x_467; lean_object* x_468; lean_object* x_469; lean_object* x_470;
-lean_dec(x_428);
-lean_dec(x_344);
-x_460 = lean_ctor_get(x_434, 1);
-lean_inc(x_460);
-lean_dec(x_434);
-x_461 = lean_ctor_get(x_442, 0);
-lean_inc(x_461);
-lean_dec(x_442);
-x_462 = lean_unsigned_to_nat(0u);
-x_463 = l_Lean_Expr_getAppNumArgsAux(x_1, x_462);
-x_464 = l_Lean_Expr_getAppArgs___closed__1;
-lean_inc(x_463);
-x_465 = lean_mk_array(x_463, x_464);
-x_466 = lean_unsigned_to_nat(1u);
-x_467 = lean_nat_sub(x_463, x_466);
-lean_dec(x_463);
-x_468 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_465, x_467);
-x_469 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___closed__3;
-x_470 = l___private_Lean_Meta_WHNF_0__Lean_Meta_reduceQuotRec___rarg(x_461, x_432, x_468, x_433, x_469, x_2, x_3, x_4, x_5, x_460);
-lean_dec(x_468);
+lean_object* x_464; lean_object* x_465; lean_object* x_466; lean_object* x_467; lean_object* x_468; lean_object* x_469; lean_object* x_470; lean_object* x_471; lean_object* x_472; lean_object* x_473; lean_object* x_474;
lean_dec(x_432);
-lean_dec(x_461);
-return x_470;
+lean_dec(x_348);
+x_464 = lean_ctor_get(x_438, 1);
+lean_inc(x_464);
+lean_dec(x_438);
+x_465 = lean_ctor_get(x_446, 0);
+lean_inc(x_465);
+lean_dec(x_446);
+x_466 = lean_unsigned_to_nat(0u);
+x_467 = l_Lean_Expr_getAppNumArgsAux(x_1, x_466);
+x_468 = l_Lean_Expr_getAppArgs___closed__1;
+lean_inc(x_467);
+x_469 = lean_mk_array(x_467, x_468);
+x_470 = lean_unsigned_to_nat(1u);
+x_471 = lean_nat_sub(x_467, x_470);
+lean_dec(x_467);
+x_472 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_469, x_471);
+x_473 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___closed__3;
+x_474 = l___private_Lean_Meta_WHNF_0__Lean_Meta_reduceQuotRec___rarg(x_465, x_436, x_472, x_437, x_473, x_2, x_3, x_4, x_5, x_464);
+lean_dec(x_472);
+lean_dec(x_436);
+lean_dec(x_465);
+return x_474;
}
case 7:
{
-lean_object* x_471; lean_object* x_472; lean_object* x_473; lean_object* x_474; lean_object* x_475; lean_object* x_476; lean_object* x_477; lean_object* x_478; lean_object* x_479; lean_object* x_480; lean_object* x_481;
-lean_dec(x_428);
-lean_dec(x_344);
-x_471 = lean_ctor_get(x_434, 1);
-lean_inc(x_471);
-lean_dec(x_434);
-x_472 = lean_ctor_get(x_442, 0);
-lean_inc(x_472);
-lean_dec(x_442);
-x_473 = lean_unsigned_to_nat(0u);
-x_474 = l_Lean_Expr_getAppNumArgsAux(x_1, x_473);
-x_475 = l_Lean_Expr_getAppArgs___closed__1;
-lean_inc(x_474);
-x_476 = lean_mk_array(x_474, x_475);
-x_477 = lean_unsigned_to_nat(1u);
-x_478 = lean_nat_sub(x_474, x_477);
-lean_dec(x_474);
-x_479 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_476, x_478);
-x_480 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___closed__3;
-x_481 = l___private_Lean_Meta_WHNF_0__Lean_Meta_reduceRec___rarg(x_472, x_432, x_479, x_433, x_480, x_2, x_3, x_4, x_5, x_471);
-lean_dec(x_479);
+lean_object* x_475; lean_object* x_476; lean_object* x_477; lean_object* x_478; lean_object* x_479; lean_object* x_480; lean_object* x_481; lean_object* x_482; lean_object* x_483; lean_object* x_484; lean_object* x_485;
lean_dec(x_432);
-return x_481;
+lean_dec(x_348);
+x_475 = lean_ctor_get(x_438, 1);
+lean_inc(x_475);
+lean_dec(x_438);
+x_476 = lean_ctor_get(x_446, 0);
+lean_inc(x_476);
+lean_dec(x_446);
+x_477 = lean_unsigned_to_nat(0u);
+x_478 = l_Lean_Expr_getAppNumArgsAux(x_1, x_477);
+x_479 = l_Lean_Expr_getAppArgs___closed__1;
+lean_inc(x_478);
+x_480 = lean_mk_array(x_478, x_479);
+x_481 = lean_unsigned_to_nat(1u);
+x_482 = lean_nat_sub(x_478, x_481);
+lean_dec(x_478);
+x_483 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_480, x_482);
+x_484 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___closed__3;
+x_485 = l___private_Lean_Meta_WHNF_0__Lean_Meta_reduceRec___rarg(x_476, x_436, x_483, x_437, x_484, x_2, x_3, x_4, x_5, x_475);
+lean_dec(x_483);
+lean_dec(x_436);
+return x_485;
}
default:
{
-lean_object* x_482; lean_object* x_483; uint8_t x_484;
-lean_dec(x_442);
-lean_dec(x_433);
-lean_dec(x_432);
+lean_object* x_486; lean_object* x_487; uint8_t x_488;
+lean_dec(x_446);
+lean_dec(x_437);
+lean_dec(x_436);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_482 = lean_ctor_get(x_434, 1);
-lean_inc(x_482);
-if (lean_is_exclusive(x_434)) {
- lean_ctor_release(x_434, 0);
- lean_ctor_release(x_434, 1);
- x_483 = x_434;
+x_486 = lean_ctor_get(x_438, 1);
+lean_inc(x_486);
+if (lean_is_exclusive(x_438)) {
+ lean_ctor_release(x_438, 0);
+ lean_ctor_release(x_438, 1);
+ x_487 = x_438;
} else {
- lean_dec_ref(x_434);
- x_483 = lean_box(0);
+ lean_dec_ref(x_438);
+ x_487 = lean_box(0);
}
-x_484 = lean_expr_eqv(x_344, x_428);
-lean_dec(x_344);
-if (x_484 == 0)
+x_488 = lean_expr_eqv(x_348, x_432);
+lean_dec(x_348);
+if (x_488 == 0)
{
-lean_object* x_485; lean_object* x_486;
-x_485 = l_Lean_Expr_updateFn(x_1, x_428);
-lean_dec(x_428);
-if (lean_is_scalar(x_483)) {
- x_486 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_486 = x_483;
-}
-lean_ctor_set(x_486, 0, x_485);
-lean_ctor_set(x_486, 1, x_482);
-return x_486;
-}
-else
-{
-lean_object* x_487;
-lean_dec(x_428);
-if (lean_is_scalar(x_483)) {
- x_487 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_487 = x_483;
-}
-lean_ctor_set(x_487, 0, x_1);
-lean_ctor_set(x_487, 1, x_482);
-return x_487;
-}
-}
-}
-}
-}
-else
-{
-lean_object* x_488; lean_object* x_489; lean_object* x_490; lean_object* x_491;
-lean_dec(x_433);
+lean_object* x_489; lean_object* x_490;
+x_489 = l_Lean_Expr_updateFn(x_1, x_432);
lean_dec(x_432);
-lean_dec(x_428);
-lean_dec(x_344);
+if (lean_is_scalar(x_487)) {
+ x_490 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_490 = x_487;
+}
+lean_ctor_set(x_490, 0, x_489);
+lean_ctor_set(x_490, 1, x_486);
+return x_490;
+}
+else
+{
+lean_object* x_491;
+lean_dec(x_432);
+if (lean_is_scalar(x_487)) {
+ x_491 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_491 = x_487;
+}
+lean_ctor_set(x_491, 0, x_1);
+lean_ctor_set(x_491, 1, x_486);
+return x_491;
+}
+}
+}
+}
+}
+else
+{
+lean_object* x_492; lean_object* x_493; lean_object* x_494; lean_object* x_495;
+lean_dec(x_437);
+lean_dec(x_436);
+lean_dec(x_432);
+lean_dec(x_348);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_488 = lean_ctor_get(x_434, 0);
-lean_inc(x_488);
-x_489 = lean_ctor_get(x_434, 1);
-lean_inc(x_489);
-if (lean_is_exclusive(x_434)) {
- lean_ctor_release(x_434, 0);
- lean_ctor_release(x_434, 1);
- x_490 = x_434;
+x_492 = lean_ctor_get(x_438, 0);
+lean_inc(x_492);
+x_493 = lean_ctor_get(x_438, 1);
+lean_inc(x_493);
+if (lean_is_exclusive(x_438)) {
+ lean_ctor_release(x_438, 0);
+ lean_ctor_release(x_438, 1);
+ x_494 = x_438;
} else {
- lean_dec_ref(x_434);
- x_490 = lean_box(0);
+ lean_dec_ref(x_438);
+ x_494 = lean_box(0);
}
-if (lean_is_scalar(x_490)) {
- x_491 = lean_alloc_ctor(1, 2, 0);
+if (lean_is_scalar(x_494)) {
+ x_495 = lean_alloc_ctor(1, 2, 0);
} else {
- x_491 = x_490;
+ x_495 = x_494;
}
-lean_ctor_set(x_491, 0, x_488);
-lean_ctor_set(x_491, 1, x_489);
-return x_491;
+lean_ctor_set(x_495, 0, x_492);
+lean_ctor_set(x_495, 1, x_493);
+return x_495;
}
}
else
{
-uint8_t x_492;
+uint8_t x_496;
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_492 = lean_expr_eqv(x_344, x_428);
-lean_dec(x_344);
-if (x_492 == 0)
+x_496 = lean_expr_eqv(x_348, x_432);
+lean_dec(x_348);
+if (x_496 == 0)
{
-lean_object* x_493; lean_object* x_494;
-x_493 = l_Lean_Expr_updateFn(x_1, x_428);
-lean_dec(x_428);
-x_494 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_494, 0, x_493);
-lean_ctor_set(x_494, 1, x_429);
-return x_494;
+lean_object* x_497; lean_object* x_498;
+x_497 = l_Lean_Expr_updateFn(x_1, x_432);
+lean_dec(x_432);
+x_498 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_498, 0, x_497);
+lean_ctor_set(x_498, 1, x_433);
+return x_498;
}
else
{
-lean_object* x_495;
-lean_dec(x_428);
-x_495 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_495, 0, x_1);
-lean_ctor_set(x_495, 1, x_429);
-return x_495;
+lean_object* x_499;
+lean_dec(x_432);
+x_499 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_499, 0, x_1);
+lean_ctor_set(x_499, 1, x_433);
+return x_499;
}
}
}
else
{
-lean_object* x_496; lean_object* x_497; lean_object* x_498; lean_object* x_499; lean_object* x_500;
-lean_dec(x_344);
-x_496 = lean_unsigned_to_nat(0u);
-x_497 = l_Lean_Expr_getAppNumArgsAux(x_1, x_496);
-x_498 = lean_mk_empty_array_with_capacity(x_497);
-lean_dec(x_497);
-x_499 = l___private_Lean_Expr_0__Lean_Expr_getAppRevArgsAux(x_1, x_498);
-x_500 = l_Lean_Expr_betaRev(x_428, x_499);
-lean_dec(x_499);
-lean_dec(x_428);
-x_1 = x_500;
-x_6 = x_429;
+lean_object* x_500; lean_object* x_501; lean_object* x_502; lean_object* x_503; lean_object* x_504;
+lean_dec(x_348);
+x_500 = lean_unsigned_to_nat(0u);
+x_501 = l_Lean_Expr_getAppNumArgsAux(x_1, x_500);
+x_502 = lean_mk_empty_array_with_capacity(x_501);
+lean_dec(x_501);
+x_503 = l___private_Lean_Expr_0__Lean_Expr_getAppRevArgsAux(x_1, x_502);
+x_504 = l_Lean_Expr_betaRev(x_432, x_503);
+lean_dec(x_503);
+lean_dec(x_432);
+x_1 = x_504;
+x_6 = x_433;
goto _start;
}
}
}
else
{
-uint8_t x_502;
-lean_dec(x_344);
+uint8_t x_506;
+lean_dec(x_348);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_502 = !lean_is_exclusive(x_345);
-if (x_502 == 0)
+x_506 = !lean_is_exclusive(x_349);
+if (x_506 == 0)
{
-return x_345;
+return x_349;
}
else
{
-lean_object* x_503; lean_object* x_504; lean_object* x_505;
-x_503 = lean_ctor_get(x_345, 0);
-x_504 = lean_ctor_get(x_345, 1);
-lean_inc(x_504);
-lean_inc(x_503);
-lean_dec(x_345);
-x_505 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_505, 0, x_503);
-lean_ctor_set(x_505, 1, x_504);
-return x_505;
+lean_object* x_507; lean_object* x_508; lean_object* x_509;
+x_507 = lean_ctor_get(x_349, 0);
+x_508 = lean_ctor_get(x_349, 1);
+lean_inc(x_508);
+lean_inc(x_507);
+lean_dec(x_349);
+x_509 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_509, 0, x_507);
+lean_ctor_set(x_509, 1, x_508);
+return x_509;
}
}
}
case 8:
{
-lean_object* x_506; lean_object* x_507; lean_object* x_508;
-x_506 = lean_ctor_get(x_1, 2);
-lean_inc(x_506);
-x_507 = lean_ctor_get(x_1, 3);
-lean_inc(x_507);
+lean_object* x_510; lean_object* x_511; lean_object* x_512;
+x_510 = lean_ctor_get(x_1, 2);
+lean_inc(x_510);
+x_511 = lean_ctor_get(x_1, 3);
+lean_inc(x_511);
lean_dec(x_1);
-x_508 = lean_expr_instantiate1(x_507, x_506);
-lean_dec(x_506);
-lean_dec(x_507);
-x_1 = x_508;
-x_6 = x_341;
+x_512 = lean_expr_instantiate1(x_511, x_510);
+lean_dec(x_510);
+lean_dec(x_511);
+x_1 = x_512;
+x_6 = x_345;
goto _start;
}
case 11:
{
-lean_object* x_510; lean_object* x_511; lean_object* x_512;
-x_510 = lean_ctor_get(x_1, 1);
-lean_inc(x_510);
-x_511 = lean_ctor_get(x_1, 2);
-lean_inc(x_511);
+lean_object* x_514; lean_object* x_515; lean_object* x_516;
+x_514 = lean_ctor_get(x_1, 1);
+lean_inc(x_514);
+x_515 = lean_ctor_get(x_1, 2);
+lean_inc(x_515);
lean_inc(x_5);
lean_inc(x_4);
lean_inc(x_3);
lean_inc(x_2);
-x_512 = l_Lean_Meta_whnf___at___private_Lean_Meta_Basic_0__Lean_Meta_isClassExpensive_x3f___spec__2(x_511, x_2, x_3, x_4, x_5, x_341);
-if (lean_obj_tag(x_512) == 0)
+x_516 = l_Lean_Meta_whnf___at___private_Lean_Meta_Basic_0__Lean_Meta_isClassExpensive_x3f___spec__2(x_515, x_2, x_3, x_4, x_5, x_345);
+if (lean_obj_tag(x_516) == 0)
{
-uint8_t x_513;
-x_513 = !lean_is_exclusive(x_512);
-if (x_513 == 0)
+uint8_t x_517;
+x_517 = !lean_is_exclusive(x_516);
+if (x_517 == 0)
{
-lean_object* x_514; lean_object* x_515; lean_object* x_516;
-x_514 = lean_ctor_get(x_512, 0);
-x_515 = lean_ctor_get(x_512, 1);
-x_516 = l_Lean_Expr_getAppFn(x_514);
-if (lean_obj_tag(x_516) == 4)
+lean_object* x_518; lean_object* x_519; lean_object* x_520;
+x_518 = lean_ctor_get(x_516, 0);
+x_519 = lean_ctor_get(x_516, 1);
+x_520 = l_Lean_Expr_getAppFn(x_518);
+if (lean_obj_tag(x_520) == 4)
{
-lean_object* x_517; lean_object* x_518;
-lean_free_object(x_512);
-x_517 = lean_ctor_get(x_516, 0);
-lean_inc(x_517);
-lean_dec(x_516);
-x_518 = l_Lean_Meta_getConst_x3f(x_517, x_2, x_3, x_4, x_5, x_515);
-if (lean_obj_tag(x_518) == 0)
+lean_object* x_521; lean_object* x_522;
+lean_free_object(x_516);
+x_521 = lean_ctor_get(x_520, 0);
+lean_inc(x_521);
+lean_dec(x_520);
+x_522 = l_Lean_Meta_getConst_x3f(x_521, x_2, x_3, x_4, x_5, x_519);
+if (lean_obj_tag(x_522) == 0)
{
-lean_object* x_519;
-x_519 = lean_ctor_get(x_518, 0);
-lean_inc(x_519);
-if (lean_obj_tag(x_519) == 0)
+lean_object* x_523;
+x_523 = lean_ctor_get(x_522, 0);
+lean_inc(x_523);
+if (lean_obj_tag(x_523) == 0)
{
-uint8_t x_520;
+uint8_t x_524;
+lean_dec(x_518);
lean_dec(x_514);
-lean_dec(x_510);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_520 = !lean_is_exclusive(x_518);
-if (x_520 == 0)
+x_524 = !lean_is_exclusive(x_522);
+if (x_524 == 0)
{
-lean_object* x_521;
-x_521 = lean_ctor_get(x_518, 0);
-lean_dec(x_521);
-lean_ctor_set(x_518, 0, x_1);
-return x_518;
+lean_object* x_525;
+x_525 = lean_ctor_get(x_522, 0);
+lean_dec(x_525);
+lean_ctor_set(x_522, 0, x_1);
+return x_522;
}
else
{
-lean_object* x_522; lean_object* x_523;
-x_522 = lean_ctor_get(x_518, 1);
-lean_inc(x_522);
-lean_dec(x_518);
-x_523 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_523, 0, x_1);
-lean_ctor_set(x_523, 1, x_522);
-return x_523;
+lean_object* x_526; lean_object* x_527;
+x_526 = lean_ctor_get(x_522, 1);
+lean_inc(x_526);
+lean_dec(x_522);
+x_527 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_527, 0, x_1);
+lean_ctor_set(x_527, 1, x_526);
+return x_527;
}
}
else
{
-lean_object* x_524;
-x_524 = lean_ctor_get(x_519, 0);
-lean_inc(x_524);
-lean_dec(x_519);
-if (lean_obj_tag(x_524) == 6)
-{
-uint8_t x_525;
-x_525 = !lean_is_exclusive(x_518);
-if (x_525 == 0)
-{
-lean_object* x_526; lean_object* x_527; lean_object* x_528; lean_object* x_529; lean_object* x_530; lean_object* x_531; lean_object* x_532; uint8_t x_533;
-x_526 = lean_ctor_get(x_518, 1);
-x_527 = lean_ctor_get(x_518, 0);
-lean_dec(x_527);
-x_528 = lean_ctor_get(x_524, 0);
+lean_object* x_528;
+x_528 = lean_ctor_get(x_523, 0);
lean_inc(x_528);
-lean_dec(x_524);
-x_529 = lean_ctor_get(x_528, 3);
-lean_inc(x_529);
+lean_dec(x_523);
+if (lean_obj_tag(x_528) == 6)
+{
+uint8_t x_529;
+x_529 = !lean_is_exclusive(x_522);
+if (x_529 == 0)
+{
+lean_object* x_530; lean_object* x_531; lean_object* x_532; lean_object* x_533; lean_object* x_534; lean_object* x_535; lean_object* x_536; uint8_t x_537;
+x_530 = lean_ctor_get(x_522, 1);
+x_531 = lean_ctor_get(x_522, 0);
+lean_dec(x_531);
+x_532 = lean_ctor_get(x_528, 0);
+lean_inc(x_532);
lean_dec(x_528);
-x_530 = lean_nat_add(x_529, x_510);
-lean_dec(x_510);
-lean_dec(x_529);
-x_531 = lean_unsigned_to_nat(0u);
-x_532 = l_Lean_Expr_getAppNumArgsAux(x_514, x_531);
-x_533 = lean_nat_dec_lt(x_530, x_532);
-if (x_533 == 0)
-{
+x_533 = lean_ctor_get(x_532, 3);
+lean_inc(x_533);
lean_dec(x_532);
-lean_dec(x_530);
+x_534 = lean_nat_add(x_533, x_514);
lean_dec(x_514);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_ctor_set(x_518, 0, x_1);
-return x_518;
-}
-else
+lean_dec(x_533);
+x_535 = lean_unsigned_to_nat(0u);
+x_536 = l_Lean_Expr_getAppNumArgsAux(x_518, x_535);
+x_537 = lean_nat_dec_lt(x_534, x_536);
+if (x_537 == 0)
{
-lean_object* x_534; lean_object* x_535; lean_object* x_536; lean_object* x_537;
-lean_free_object(x_518);
-lean_dec(x_1);
-x_534 = lean_nat_sub(x_532, x_530);
-lean_dec(x_530);
-lean_dec(x_532);
-x_535 = lean_unsigned_to_nat(1u);
-x_536 = lean_nat_sub(x_534, x_535);
+lean_dec(x_536);
lean_dec(x_534);
-x_537 = l_Lean_Expr_getRevArg_x21(x_514, x_536);
-lean_dec(x_514);
-x_1 = x_537;
-x_6 = x_526;
-goto _start;
-}
-}
-else
-{
-lean_object* x_539; lean_object* x_540; lean_object* x_541; lean_object* x_542; lean_object* x_543; lean_object* x_544; uint8_t x_545;
-x_539 = lean_ctor_get(x_518, 1);
-lean_inc(x_539);
lean_dec(x_518);
-x_540 = lean_ctor_get(x_524, 0);
-lean_inc(x_540);
-lean_dec(x_524);
-x_541 = lean_ctor_get(x_540, 3);
-lean_inc(x_541);
-lean_dec(x_540);
-x_542 = lean_nat_add(x_541, x_510);
-lean_dec(x_510);
-lean_dec(x_541);
-x_543 = lean_unsigned_to_nat(0u);
-x_544 = l_Lean_Expr_getAppNumArgsAux(x_514, x_543);
-x_545 = lean_nat_dec_lt(x_542, x_544);
-if (x_545 == 0)
-{
-lean_object* x_546;
-lean_dec(x_544);
-lean_dec(x_542);
-lean_dec(x_514);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_546 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_546, 0, x_1);
-lean_ctor_set(x_546, 1, x_539);
-return x_546;
+lean_ctor_set(x_522, 0, x_1);
+return x_522;
}
else
{
-lean_object* x_547; lean_object* x_548; lean_object* x_549; lean_object* x_550;
+lean_object* x_538; lean_object* x_539; lean_object* x_540; lean_object* x_541;
+lean_free_object(x_522);
lean_dec(x_1);
-x_547 = lean_nat_sub(x_544, x_542);
-lean_dec(x_542);
-lean_dec(x_544);
-x_548 = lean_unsigned_to_nat(1u);
-x_549 = lean_nat_sub(x_547, x_548);
-lean_dec(x_547);
-x_550 = l_Lean_Expr_getRevArg_x21(x_514, x_549);
-lean_dec(x_514);
-x_1 = x_550;
-x_6 = x_539;
+x_538 = lean_nat_sub(x_536, x_534);
+lean_dec(x_534);
+lean_dec(x_536);
+x_539 = lean_unsigned_to_nat(1u);
+x_540 = lean_nat_sub(x_538, x_539);
+lean_dec(x_538);
+x_541 = l_Lean_Expr_getRevArg_x21(x_518, x_540);
+lean_dec(x_518);
+x_1 = x_541;
+x_6 = x_530;
goto _start;
}
}
-}
else
{
-uint8_t x_552;
-lean_dec(x_524);
+lean_object* x_543; lean_object* x_544; lean_object* x_545; lean_object* x_546; lean_object* x_547; lean_object* x_548; uint8_t x_549;
+x_543 = lean_ctor_get(x_522, 1);
+lean_inc(x_543);
+lean_dec(x_522);
+x_544 = lean_ctor_get(x_528, 0);
+lean_inc(x_544);
+lean_dec(x_528);
+x_545 = lean_ctor_get(x_544, 3);
+lean_inc(x_545);
+lean_dec(x_544);
+x_546 = lean_nat_add(x_545, x_514);
lean_dec(x_514);
-lean_dec(x_510);
+lean_dec(x_545);
+x_547 = lean_unsigned_to_nat(0u);
+x_548 = l_Lean_Expr_getAppNumArgsAux(x_518, x_547);
+x_549 = lean_nat_dec_lt(x_546, x_548);
+if (x_549 == 0)
+{
+lean_object* x_550;
+lean_dec(x_548);
+lean_dec(x_546);
+lean_dec(x_518);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_552 = !lean_is_exclusive(x_518);
-if (x_552 == 0)
-{
-lean_object* x_553;
-x_553 = lean_ctor_get(x_518, 0);
-lean_dec(x_553);
-lean_ctor_set(x_518, 0, x_1);
-return x_518;
+x_550 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_550, 0, x_1);
+lean_ctor_set(x_550, 1, x_543);
+return x_550;
}
else
{
-lean_object* x_554; lean_object* x_555;
-x_554 = lean_ctor_get(x_518, 1);
-lean_inc(x_554);
+lean_object* x_551; lean_object* x_552; lean_object* x_553; lean_object* x_554;
+lean_dec(x_1);
+x_551 = lean_nat_sub(x_548, x_546);
+lean_dec(x_546);
+lean_dec(x_548);
+x_552 = lean_unsigned_to_nat(1u);
+x_553 = lean_nat_sub(x_551, x_552);
+lean_dec(x_551);
+x_554 = l_Lean_Expr_getRevArg_x21(x_518, x_553);
lean_dec(x_518);
-x_555 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_555, 0, x_1);
-lean_ctor_set(x_555, 1, x_554);
-return x_555;
-}
+x_1 = x_554;
+x_6 = x_543;
+goto _start;
}
}
}
else
{
uint8_t x_556;
+lean_dec(x_528);
+lean_dec(x_518);
lean_dec(x_514);
-lean_dec(x_510);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-lean_dec(x_1);
-x_556 = !lean_is_exclusive(x_518);
+x_556 = !lean_is_exclusive(x_522);
if (x_556 == 0)
{
-return x_518;
+lean_object* x_557;
+x_557 = lean_ctor_get(x_522, 0);
+lean_dec(x_557);
+lean_ctor_set(x_522, 0, x_1);
+return x_522;
}
else
{
-lean_object* x_557; lean_object* x_558; lean_object* x_559;
-x_557 = lean_ctor_get(x_518, 0);
-x_558 = lean_ctor_get(x_518, 1);
+lean_object* x_558; lean_object* x_559;
+x_558 = lean_ctor_get(x_522, 1);
lean_inc(x_558);
-lean_inc(x_557);
-lean_dec(x_518);
-x_559 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_559, 0, x_557);
+lean_dec(x_522);
+x_559 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_559, 0, x_1);
lean_ctor_set(x_559, 1, x_558);
return x_559;
}
}
}
+}
else
{
-lean_dec(x_516);
+uint8_t x_560;
+lean_dec(x_518);
lean_dec(x_514);
-lean_dec(x_510);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-lean_ctor_set(x_512, 0, x_1);
-return x_512;
-}
+lean_dec(x_1);
+x_560 = !lean_is_exclusive(x_522);
+if (x_560 == 0)
+{
+return x_522;
}
else
{
-lean_object* x_560; lean_object* x_561; lean_object* x_562;
-x_560 = lean_ctor_get(x_512, 0);
-x_561 = lean_ctor_get(x_512, 1);
+lean_object* x_561; lean_object* x_562; lean_object* x_563;
+x_561 = lean_ctor_get(x_522, 0);
+x_562 = lean_ctor_get(x_522, 1);
+lean_inc(x_562);
lean_inc(x_561);
-lean_inc(x_560);
-lean_dec(x_512);
-x_562 = l_Lean_Expr_getAppFn(x_560);
-if (lean_obj_tag(x_562) == 4)
+lean_dec(x_522);
+x_563 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_563, 0, x_561);
+lean_ctor_set(x_563, 1, x_562);
+return x_563;
+}
+}
+}
+else
{
-lean_object* x_563; lean_object* x_564;
-x_563 = lean_ctor_get(x_562, 0);
-lean_inc(x_563);
-lean_dec(x_562);
-x_564 = l_Lean_Meta_getConst_x3f(x_563, x_2, x_3, x_4, x_5, x_561);
-if (lean_obj_tag(x_564) == 0)
-{
-lean_object* x_565;
-x_565 = lean_ctor_get(x_564, 0);
-lean_inc(x_565);
-if (lean_obj_tag(x_565) == 0)
-{
-lean_object* x_566; lean_object* x_567; lean_object* x_568;
-lean_dec(x_560);
-lean_dec(x_510);
+lean_dec(x_520);
+lean_dec(x_518);
+lean_dec(x_514);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_566 = lean_ctor_get(x_564, 1);
-lean_inc(x_566);
-if (lean_is_exclusive(x_564)) {
- lean_ctor_release(x_564, 0);
- lean_ctor_release(x_564, 1);
- x_567 = x_564;
-} else {
- lean_dec_ref(x_564);
- x_567 = lean_box(0);
+lean_ctor_set(x_516, 0, x_1);
+return x_516;
}
-if (lean_is_scalar(x_567)) {
- x_568 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_568 = x_567;
-}
-lean_ctor_set(x_568, 0, x_1);
-lean_ctor_set(x_568, 1, x_566);
-return x_568;
}
else
{
+lean_object* x_564; lean_object* x_565; lean_object* x_566;
+x_564 = lean_ctor_get(x_516, 0);
+x_565 = lean_ctor_get(x_516, 1);
+lean_inc(x_565);
+lean_inc(x_564);
+lean_dec(x_516);
+x_566 = l_Lean_Expr_getAppFn(x_564);
+if (lean_obj_tag(x_566) == 4)
+{
+lean_object* x_567; lean_object* x_568;
+x_567 = lean_ctor_get(x_566, 0);
+lean_inc(x_567);
+lean_dec(x_566);
+x_568 = l_Lean_Meta_getConst_x3f(x_567, x_2, x_3, x_4, x_5, x_565);
+if (lean_obj_tag(x_568) == 0)
+{
lean_object* x_569;
-x_569 = lean_ctor_get(x_565, 0);
+x_569 = lean_ctor_get(x_568, 0);
lean_inc(x_569);
-lean_dec(x_565);
-if (lean_obj_tag(x_569) == 6)
+if (lean_obj_tag(x_569) == 0)
{
-lean_object* x_570; lean_object* x_571; lean_object* x_572; lean_object* x_573; lean_object* x_574; lean_object* x_575; lean_object* x_576; uint8_t x_577;
-x_570 = lean_ctor_get(x_564, 1);
-lean_inc(x_570);
-if (lean_is_exclusive(x_564)) {
- lean_ctor_release(x_564, 0);
- lean_ctor_release(x_564, 1);
- x_571 = x_564;
-} else {
- lean_dec_ref(x_564);
- x_571 = lean_box(0);
-}
-x_572 = lean_ctor_get(x_569, 0);
-lean_inc(x_572);
-lean_dec(x_569);
-x_573 = lean_ctor_get(x_572, 3);
-lean_inc(x_573);
-lean_dec(x_572);
-x_574 = lean_nat_add(x_573, x_510);
-lean_dec(x_510);
-lean_dec(x_573);
-x_575 = lean_unsigned_to_nat(0u);
-x_576 = l_Lean_Expr_getAppNumArgsAux(x_560, x_575);
-x_577 = lean_nat_dec_lt(x_574, x_576);
-if (x_577 == 0)
-{
-lean_object* x_578;
-lean_dec(x_576);
-lean_dec(x_574);
-lean_dec(x_560);
+lean_object* x_570; lean_object* x_571; lean_object* x_572;
+lean_dec(x_564);
+lean_dec(x_514);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-if (lean_is_scalar(x_571)) {
- x_578 = lean_alloc_ctor(0, 2, 0);
+x_570 = lean_ctor_get(x_568, 1);
+lean_inc(x_570);
+if (lean_is_exclusive(x_568)) {
+ lean_ctor_release(x_568, 0);
+ lean_ctor_release(x_568, 1);
+ x_571 = x_568;
} else {
- x_578 = x_571;
+ lean_dec_ref(x_568);
+ x_571 = lean_box(0);
}
-lean_ctor_set(x_578, 0, x_1);
-lean_ctor_set(x_578, 1, x_570);
-return x_578;
+if (lean_is_scalar(x_571)) {
+ x_572 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_572 = x_571;
+}
+lean_ctor_set(x_572, 0, x_1);
+lean_ctor_set(x_572, 1, x_570);
+return x_572;
}
else
{
-lean_object* x_579; lean_object* x_580; lean_object* x_581; lean_object* x_582;
-lean_dec(x_571);
-lean_dec(x_1);
-x_579 = lean_nat_sub(x_576, x_574);
-lean_dec(x_574);
+lean_object* x_573;
+x_573 = lean_ctor_get(x_569, 0);
+lean_inc(x_573);
+lean_dec(x_569);
+if (lean_obj_tag(x_573) == 6)
+{
+lean_object* x_574; lean_object* x_575; lean_object* x_576; lean_object* x_577; lean_object* x_578; lean_object* x_579; lean_object* x_580; uint8_t x_581;
+x_574 = lean_ctor_get(x_568, 1);
+lean_inc(x_574);
+if (lean_is_exclusive(x_568)) {
+ lean_ctor_release(x_568, 0);
+ lean_ctor_release(x_568, 1);
+ x_575 = x_568;
+} else {
+ lean_dec_ref(x_568);
+ x_575 = lean_box(0);
+}
+x_576 = lean_ctor_get(x_573, 0);
+lean_inc(x_576);
+lean_dec(x_573);
+x_577 = lean_ctor_get(x_576, 3);
+lean_inc(x_577);
lean_dec(x_576);
-x_580 = lean_unsigned_to_nat(1u);
-x_581 = lean_nat_sub(x_579, x_580);
-lean_dec(x_579);
-x_582 = l_Lean_Expr_getRevArg_x21(x_560, x_581);
-lean_dec(x_560);
-x_1 = x_582;
-x_6 = x_570;
+x_578 = lean_nat_add(x_577, x_514);
+lean_dec(x_514);
+lean_dec(x_577);
+x_579 = lean_unsigned_to_nat(0u);
+x_580 = l_Lean_Expr_getAppNumArgsAux(x_564, x_579);
+x_581 = lean_nat_dec_lt(x_578, x_580);
+if (x_581 == 0)
+{
+lean_object* x_582;
+lean_dec(x_580);
+lean_dec(x_578);
+lean_dec(x_564);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+if (lean_is_scalar(x_575)) {
+ x_582 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_582 = x_575;
+}
+lean_ctor_set(x_582, 0, x_1);
+lean_ctor_set(x_582, 1, x_574);
+return x_582;
+}
+else
+{
+lean_object* x_583; lean_object* x_584; lean_object* x_585; lean_object* x_586;
+lean_dec(x_575);
+lean_dec(x_1);
+x_583 = lean_nat_sub(x_580, x_578);
+lean_dec(x_578);
+lean_dec(x_580);
+x_584 = lean_unsigned_to_nat(1u);
+x_585 = lean_nat_sub(x_583, x_584);
+lean_dec(x_583);
+x_586 = l_Lean_Expr_getRevArg_x21(x_564, x_585);
+lean_dec(x_564);
+x_1 = x_586;
+x_6 = x_574;
goto _start;
}
}
else
{
-lean_object* x_584; lean_object* x_585; lean_object* x_586;
-lean_dec(x_569);
-lean_dec(x_560);
-lean_dec(x_510);
+lean_object* x_588; lean_object* x_589; lean_object* x_590;
+lean_dec(x_573);
+lean_dec(x_564);
+lean_dec(x_514);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_584 = lean_ctor_get(x_564, 1);
-lean_inc(x_584);
-if (lean_is_exclusive(x_564)) {
- lean_ctor_release(x_564, 0);
- lean_ctor_release(x_564, 1);
- x_585 = x_564;
-} else {
- lean_dec_ref(x_564);
- x_585 = lean_box(0);
-}
-if (lean_is_scalar(x_585)) {
- x_586 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_586 = x_585;
-}
-lean_ctor_set(x_586, 0, x_1);
-lean_ctor_set(x_586, 1, x_584);
-return x_586;
-}
-}
-}
-else
-{
-lean_object* x_587; lean_object* x_588; lean_object* x_589; lean_object* x_590;
-lean_dec(x_560);
-lean_dec(x_510);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_dec(x_1);
-x_587 = lean_ctor_get(x_564, 0);
-lean_inc(x_587);
-x_588 = lean_ctor_get(x_564, 1);
+x_588 = lean_ctor_get(x_568, 1);
lean_inc(x_588);
-if (lean_is_exclusive(x_564)) {
- lean_ctor_release(x_564, 0);
- lean_ctor_release(x_564, 1);
- x_589 = x_564;
+if (lean_is_exclusive(x_568)) {
+ lean_ctor_release(x_568, 0);
+ lean_ctor_release(x_568, 1);
+ x_589 = x_568;
} else {
- lean_dec_ref(x_564);
+ lean_dec_ref(x_568);
x_589 = lean_box(0);
}
if (lean_is_scalar(x_589)) {
- x_590 = lean_alloc_ctor(1, 2, 0);
+ x_590 = lean_alloc_ctor(0, 2, 0);
} else {
x_590 = x_589;
}
-lean_ctor_set(x_590, 0, x_587);
+lean_ctor_set(x_590, 0, x_1);
lean_ctor_set(x_590, 1, x_588);
return x_590;
}
}
-else
-{
-lean_object* x_591;
-lean_dec(x_562);
-lean_dec(x_560);
-lean_dec(x_510);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-x_591 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_591, 0, x_1);
-lean_ctor_set(x_591, 1, x_561);
-return x_591;
-}
-}
}
else
{
-uint8_t x_592;
-lean_dec(x_510);
+lean_object* x_591; lean_object* x_592; lean_object* x_593; lean_object* x_594;
+lean_dec(x_564);
+lean_dec(x_514);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_592 = !lean_is_exclusive(x_512);
-if (x_592 == 0)
-{
-return x_512;
+x_591 = lean_ctor_get(x_568, 0);
+lean_inc(x_591);
+x_592 = lean_ctor_get(x_568, 1);
+lean_inc(x_592);
+if (lean_is_exclusive(x_568)) {
+ lean_ctor_release(x_568, 0);
+ lean_ctor_release(x_568, 1);
+ x_593 = x_568;
+} else {
+ lean_dec_ref(x_568);
+ x_593 = lean_box(0);
+}
+if (lean_is_scalar(x_593)) {
+ x_594 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_594 = x_593;
+}
+lean_ctor_set(x_594, 0, x_591);
+lean_ctor_set(x_594, 1, x_592);
+return x_594;
+}
}
else
{
-lean_object* x_593; lean_object* x_594; lean_object* x_595;
-x_593 = lean_ctor_get(x_512, 0);
-x_594 = lean_ctor_get(x_512, 1);
-lean_inc(x_594);
-lean_inc(x_593);
-lean_dec(x_512);
-x_595 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_595, 0, x_593);
-lean_ctor_set(x_595, 1, x_594);
+lean_object* x_595;
+lean_dec(x_566);
+lean_dec(x_564);
+lean_dec(x_514);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+x_595 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_595, 0, x_1);
+lean_ctor_set(x_595, 1, x_565);
return x_595;
}
}
}
+else
+{
+uint8_t x_596;
+lean_dec(x_514);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+lean_dec(x_1);
+x_596 = !lean_is_exclusive(x_516);
+if (x_596 == 0)
+{
+return x_516;
+}
+else
+{
+lean_object* x_597; lean_object* x_598; lean_object* x_599;
+x_597 = lean_ctor_get(x_516, 0);
+x_598 = lean_ctor_get(x_516, 1);
+lean_inc(x_598);
+lean_inc(x_597);
+lean_dec(x_516);
+x_599 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_599, 0, x_597);
+lean_ctor_set(x_599, 1, x_598);
+return x_599;
+}
+}
+}
default:
{
-lean_object* x_596; lean_object* x_597; lean_object* x_598; lean_object* x_599;
+lean_object* x_600; lean_object* x_601; lean_object* x_602; lean_object* x_603;
lean_dec(x_1);
-x_596 = l___private_Lean_Meta_Basic_0__Lean_Meta_isClassQuick_x3f___closed__1;
-x_597 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___closed__2;
-x_598 = lean_panic_fn(x_596, x_597);
-x_599 = lean_apply_5(x_598, x_2, x_3, x_4, x_5, x_341);
-return x_599;
+x_600 = l___private_Lean_Meta_Basic_0__Lean_Meta_isClassQuick_x3f___closed__1;
+x_601 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___closed__2;
+x_602 = lean_panic_fn(x_600, x_601);
+x_603 = lean_apply_5(x_602, x_2, x_3, x_4, x_5, x_345);
+return x_603;
}
}
}
+block_611:
+{
+if (x_605 == 0)
+{
+x_345 = x_606;
+goto block_604;
+}
+else
+{
+lean_object* x_607; lean_object* x_608; lean_object* x_609; lean_object* x_610;
+lean_inc(x_1);
+x_607 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_607, 0, x_1);
+x_608 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___closed__5;
+x_609 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_608, x_607, x_2, x_3, x_4, x_5, x_606);
+x_610 = lean_ctor_get(x_609, 1);
+lean_inc(x_610);
+lean_dec(x_609);
+x_345 = x_610;
+goto block_604;
+}
+}
}
case 8:
{
-lean_object* x_616; lean_object* x_876; lean_object* x_877; lean_object* x_878; uint8_t x_879;
-x_876 = lean_st_ref_get(x_5, x_6);
-x_877 = lean_ctor_get(x_876, 0);
-lean_inc(x_877);
-x_878 = lean_ctor_get(x_877, 3);
-lean_inc(x_878);
-lean_dec(x_877);
-x_879 = lean_ctor_get_uint8(x_878, sizeof(void*)*1);
-lean_dec(x_878);
-if (x_879 == 0)
+lean_object* x_624; uint8_t x_884; lean_object* x_885; lean_object* x_891; lean_object* x_892; lean_object* x_893; uint8_t x_894;
+x_891 = lean_st_ref_get(x_5, x_6);
+x_892 = lean_ctor_get(x_891, 0);
+lean_inc(x_892);
+x_893 = lean_ctor_get(x_892, 3);
+lean_inc(x_893);
+lean_dec(x_892);
+x_894 = lean_ctor_get_uint8(x_893, sizeof(void*)*1);
+lean_dec(x_893);
+if (x_894 == 0)
{
-lean_object* x_880;
-x_880 = lean_ctor_get(x_876, 1);
-lean_inc(x_880);
-lean_dec(x_876);
-x_616 = x_880;
-goto block_875;
+lean_object* x_895; uint8_t x_896;
+x_895 = lean_ctor_get(x_891, 1);
+lean_inc(x_895);
+lean_dec(x_891);
+x_896 = 0;
+x_884 = x_896;
+x_885 = x_895;
+goto block_890;
}
else
{
-lean_object* x_881; lean_object* x_882; lean_object* x_883; lean_object* x_884; uint8_t x_885;
-x_881 = lean_ctor_get(x_876, 1);
-lean_inc(x_881);
-lean_dec(x_876);
-x_882 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___closed__5;
-x_883 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_882, x_2, x_3, x_4, x_5, x_881);
-x_884 = lean_ctor_get(x_883, 0);
-lean_inc(x_884);
-x_885 = lean_unbox(x_884);
-lean_dec(x_884);
-if (x_885 == 0)
-{
-lean_object* x_886;
-x_886 = lean_ctor_get(x_883, 1);
-lean_inc(x_886);
-lean_dec(x_883);
-x_616 = x_886;
-goto block_875;
+lean_object* x_897; lean_object* x_898; lean_object* x_899; lean_object* x_900; lean_object* x_901; uint8_t x_902;
+x_897 = lean_ctor_get(x_891, 1);
+lean_inc(x_897);
+lean_dec(x_891);
+x_898 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___closed__5;
+x_899 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_898, x_2, x_3, x_4, x_5, x_897);
+x_900 = lean_ctor_get(x_899, 0);
+lean_inc(x_900);
+x_901 = lean_ctor_get(x_899, 1);
+lean_inc(x_901);
+lean_dec(x_899);
+x_902 = lean_unbox(x_900);
+lean_dec(x_900);
+x_884 = x_902;
+x_885 = x_901;
+goto block_890;
}
-else
-{
-lean_object* x_887; lean_object* x_888; lean_object* x_889; lean_object* x_890;
-x_887 = lean_ctor_get(x_883, 1);
-lean_inc(x_887);
-lean_dec(x_883);
-lean_inc(x_1);
-x_888 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_888, 0, x_1);
-x_889 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_882, x_888, x_2, x_3, x_4, x_5, x_887);
-x_890 = lean_ctor_get(x_889, 1);
-lean_inc(x_890);
-lean_dec(x_889);
-x_616 = x_890;
-goto block_875;
-}
-}
-block_875:
+block_883:
{
switch (lean_obj_tag(x_1)) {
case 4:
{
-lean_object* x_617;
+lean_object* x_625;
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_617 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_617, 0, x_1);
-lean_ctor_set(x_617, 1, x_616);
-return x_617;
+x_625 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_625, 0, x_1);
+lean_ctor_set(x_625, 1, x_624);
+return x_625;
}
case 5:
{
-lean_object* x_618; lean_object* x_619; lean_object* x_620;
-x_618 = lean_ctor_get(x_1, 0);
-lean_inc(x_618);
-x_619 = l_Lean_Expr_getAppFn(x_618);
-lean_dec(x_618);
+lean_object* x_626; lean_object* x_627; lean_object* x_628;
+x_626 = lean_ctor_get(x_1, 0);
+lean_inc(x_626);
+x_627 = l_Lean_Expr_getAppFn(x_626);
+lean_dec(x_626);
lean_inc(x_5);
lean_inc(x_4);
lean_inc(x_3);
lean_inc(x_2);
-lean_inc(x_619);
-x_620 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2(x_619, x_2, x_3, x_4, x_5, x_616);
-if (lean_obj_tag(x_620) == 0)
-{
-uint8_t x_621;
-x_621 = !lean_is_exclusive(x_620);
-if (x_621 == 0)
-{
-lean_object* x_622; lean_object* x_623; uint8_t x_624;
-x_622 = lean_ctor_get(x_620, 0);
-x_623 = lean_ctor_get(x_620, 1);
-x_624 = l_Lean_Expr_isLambda(x_622);
-if (x_624 == 0)
-{
-if (lean_obj_tag(x_622) == 4)
-{
-lean_object* x_625; lean_object* x_626; lean_object* x_627; lean_object* x_628;
-lean_free_object(x_620);
-x_625 = lean_ctor_get(x_622, 0);
-lean_inc(x_625);
-x_626 = lean_ctor_get(x_622, 1);
-lean_inc(x_626);
-lean_inc(x_1);
-lean_inc(x_622);
-lean_inc(x_619);
-x_627 = lean_alloc_closure((void*)(l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___lambda__1___boxed), 9, 3);
-lean_closure_set(x_627, 0, x_619);
-lean_closure_set(x_627, 1, x_622);
-lean_closure_set(x_627, 2, x_1);
-x_628 = l_Lean_Meta_getConst_x3f(x_625, x_2, x_3, x_4, x_5, x_623);
+lean_inc(x_627);
+x_628 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2(x_627, x_2, x_3, x_4, x_5, x_624);
if (lean_obj_tag(x_628) == 0)
{
-lean_object* x_629;
-x_629 = lean_ctor_get(x_628, 0);
-lean_inc(x_629);
-if (lean_obj_tag(x_629) == 0)
+uint8_t x_629;
+x_629 = !lean_is_exclusive(x_628);
+if (x_629 == 0)
{
-uint8_t x_630;
-lean_dec(x_627);
-lean_dec(x_626);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-x_630 = !lean_is_exclusive(x_628);
-if (x_630 == 0)
-{
-lean_object* x_631; uint8_t x_632;
-x_631 = lean_ctor_get(x_628, 0);
-lean_dec(x_631);
-x_632 = lean_expr_eqv(x_619, x_622);
-lean_dec(x_619);
+lean_object* x_630; lean_object* x_631; uint8_t x_632;
+x_630 = lean_ctor_get(x_628, 0);
+x_631 = lean_ctor_get(x_628, 1);
+x_632 = l_Lean_Expr_isLambda(x_630);
if (x_632 == 0)
{
-lean_object* x_633;
-x_633 = l_Lean_Expr_updateFn(x_1, x_622);
-lean_dec(x_622);
-lean_ctor_set(x_628, 0, x_633);
-return x_628;
-}
-else
+if (lean_obj_tag(x_630) == 4)
{
-lean_dec(x_622);
-lean_ctor_set(x_628, 0, x_1);
-return x_628;
-}
-}
-else
-{
-lean_object* x_634; uint8_t x_635;
-x_634 = lean_ctor_get(x_628, 1);
+lean_object* x_633; lean_object* x_634; lean_object* x_635; lean_object* x_636;
+lean_free_object(x_628);
+x_633 = lean_ctor_get(x_630, 0);
+lean_inc(x_633);
+x_634 = lean_ctor_get(x_630, 1);
lean_inc(x_634);
-lean_dec(x_628);
-x_635 = lean_expr_eqv(x_619, x_622);
-lean_dec(x_619);
-if (x_635 == 0)
+lean_inc(x_1);
+lean_inc(x_630);
+lean_inc(x_627);
+x_635 = lean_alloc_closure((void*)(l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___lambda__1___boxed), 9, 3);
+lean_closure_set(x_635, 0, x_627);
+lean_closure_set(x_635, 1, x_630);
+lean_closure_set(x_635, 2, x_1);
+x_636 = l_Lean_Meta_getConst_x3f(x_633, x_2, x_3, x_4, x_5, x_631);
+if (lean_obj_tag(x_636) == 0)
{
-lean_object* x_636; lean_object* x_637;
-x_636 = l_Lean_Expr_updateFn(x_1, x_622);
-lean_dec(x_622);
-x_637 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_637, 0, x_636);
-lean_ctor_set(x_637, 1, x_634);
-return x_637;
-}
-else
+lean_object* x_637;
+x_637 = lean_ctor_get(x_636, 0);
+lean_inc(x_637);
+if (lean_obj_tag(x_637) == 0)
{
-lean_object* x_638;
-lean_dec(x_622);
-x_638 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_638, 0, x_1);
-lean_ctor_set(x_638, 1, x_634);
-return x_638;
-}
-}
-}
-else
-{
-lean_object* x_639;
-x_639 = lean_ctor_get(x_629, 0);
-lean_inc(x_639);
-lean_dec(x_629);
-switch (lean_obj_tag(x_639)) {
-case 1:
-{
-lean_object* x_640; lean_object* x_641; lean_object* x_642; lean_object* x_643; uint8_t x_644;
-lean_dec(x_627);
-x_640 = lean_ctor_get(x_628, 1);
-lean_inc(x_640);
-lean_dec(x_628);
-x_641 = l_Lean_ConstantInfo_name(x_639);
-x_642 = l___private_Lean_Meta_WHNF_0__Lean_Meta_isAuxDefImp_x3f(x_641, x_2, x_3, x_4, x_5, x_640);
-lean_dec(x_641);
-x_643 = lean_ctor_get(x_642, 0);
-lean_inc(x_643);
-x_644 = lean_unbox(x_643);
-lean_dec(x_643);
-if (x_644 == 0)
-{
-uint8_t x_645;
-lean_dec(x_639);
-lean_dec(x_626);
+uint8_t x_638;
+lean_dec(x_635);
+lean_dec(x_634);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_645 = !lean_is_exclusive(x_642);
-if (x_645 == 0)
+x_638 = !lean_is_exclusive(x_636);
+if (x_638 == 0)
{
-lean_object* x_646; uint8_t x_647;
-x_646 = lean_ctor_get(x_642, 0);
-lean_dec(x_646);
-x_647 = lean_expr_eqv(x_619, x_622);
-lean_dec(x_619);
-if (x_647 == 0)
-{
-lean_object* x_648;
-x_648 = l_Lean_Expr_updateFn(x_1, x_622);
-lean_dec(x_622);
-lean_ctor_set(x_642, 0, x_648);
-return x_642;
-}
-else
-{
-lean_dec(x_622);
-lean_ctor_set(x_642, 0, x_1);
-return x_642;
-}
-}
-else
-{
-lean_object* x_649; uint8_t x_650;
-x_649 = lean_ctor_get(x_642, 1);
-lean_inc(x_649);
-lean_dec(x_642);
-x_650 = lean_expr_eqv(x_619, x_622);
-lean_dec(x_619);
-if (x_650 == 0)
-{
-lean_object* x_651; lean_object* x_652;
-x_651 = l_Lean_Expr_updateFn(x_1, x_622);
-lean_dec(x_622);
-x_652 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_652, 0, x_651);
-lean_ctor_set(x_652, 1, x_649);
-return x_652;
-}
-else
-{
-lean_object* x_653;
-lean_dec(x_622);
-x_653 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_653, 0, x_1);
-lean_ctor_set(x_653, 1, x_649);
-return x_653;
-}
-}
-}
-else
-{
-lean_object* x_654; lean_object* x_655; lean_object* x_656; lean_object* x_657; lean_object* x_658; lean_object* x_659;
-x_654 = lean_ctor_get(x_642, 1);
-lean_inc(x_654);
-lean_dec(x_642);
-x_655 = lean_unsigned_to_nat(0u);
-x_656 = l_Lean_Expr_getAppNumArgsAux(x_1, x_655);
-x_657 = lean_mk_empty_array_with_capacity(x_656);
-lean_dec(x_656);
-lean_inc(x_1);
-x_658 = l___private_Lean_Expr_0__Lean_Expr_getAppRevArgsAux(x_1, x_657);
-x_659 = l___private_Lean_Meta_WHNF_0__Lean_Meta_deltaBetaDefinition___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__1(x_1, x_619, x_622, x_639, x_626, x_658, x_2, x_3, x_4, x_5, x_654);
-lean_dec(x_658);
-lean_dec(x_626);
+lean_object* x_639; uint8_t x_640;
+x_639 = lean_ctor_get(x_636, 0);
lean_dec(x_639);
-lean_dec(x_622);
-lean_dec(x_619);
-return x_659;
+x_640 = lean_expr_eqv(x_627, x_630);
+lean_dec(x_627);
+if (x_640 == 0)
+{
+lean_object* x_641;
+x_641 = l_Lean_Expr_updateFn(x_1, x_630);
+lean_dec(x_630);
+lean_ctor_set(x_636, 0, x_641);
+return x_636;
+}
+else
+{
+lean_dec(x_630);
+lean_ctor_set(x_636, 0, x_1);
+return x_636;
+}
+}
+else
+{
+lean_object* x_642; uint8_t x_643;
+x_642 = lean_ctor_get(x_636, 1);
+lean_inc(x_642);
+lean_dec(x_636);
+x_643 = lean_expr_eqv(x_627, x_630);
+lean_dec(x_627);
+if (x_643 == 0)
+{
+lean_object* x_644; lean_object* x_645;
+x_644 = l_Lean_Expr_updateFn(x_1, x_630);
+lean_dec(x_630);
+x_645 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_645, 0, x_644);
+lean_ctor_set(x_645, 1, x_642);
+return x_645;
+}
+else
+{
+lean_object* x_646;
+lean_dec(x_630);
+x_646 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_646, 0, x_1);
+lean_ctor_set(x_646, 1, x_642);
+return x_646;
+}
+}
+}
+else
+{
+lean_object* x_647;
+x_647 = lean_ctor_get(x_637, 0);
+lean_inc(x_647);
+lean_dec(x_637);
+switch (lean_obj_tag(x_647)) {
+case 1:
+{
+lean_object* x_648; lean_object* x_649; lean_object* x_650; lean_object* x_651; uint8_t x_652;
+lean_dec(x_635);
+x_648 = lean_ctor_get(x_636, 1);
+lean_inc(x_648);
+lean_dec(x_636);
+x_649 = l_Lean_ConstantInfo_name(x_647);
+x_650 = l___private_Lean_Meta_WHNF_0__Lean_Meta_isAuxDefImp_x3f(x_649, x_2, x_3, x_4, x_5, x_648);
+lean_dec(x_649);
+x_651 = lean_ctor_get(x_650, 0);
+lean_inc(x_651);
+x_652 = lean_unbox(x_651);
+lean_dec(x_651);
+if (x_652 == 0)
+{
+uint8_t x_653;
+lean_dec(x_647);
+lean_dec(x_634);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+x_653 = !lean_is_exclusive(x_650);
+if (x_653 == 0)
+{
+lean_object* x_654; uint8_t x_655;
+x_654 = lean_ctor_get(x_650, 0);
+lean_dec(x_654);
+x_655 = lean_expr_eqv(x_627, x_630);
+lean_dec(x_627);
+if (x_655 == 0)
+{
+lean_object* x_656;
+x_656 = l_Lean_Expr_updateFn(x_1, x_630);
+lean_dec(x_630);
+lean_ctor_set(x_650, 0, x_656);
+return x_650;
+}
+else
+{
+lean_dec(x_630);
+lean_ctor_set(x_650, 0, x_1);
+return x_650;
+}
+}
+else
+{
+lean_object* x_657; uint8_t x_658;
+x_657 = lean_ctor_get(x_650, 1);
+lean_inc(x_657);
+lean_dec(x_650);
+x_658 = lean_expr_eqv(x_627, x_630);
+lean_dec(x_627);
+if (x_658 == 0)
+{
+lean_object* x_659; lean_object* x_660;
+x_659 = l_Lean_Expr_updateFn(x_1, x_630);
+lean_dec(x_630);
+x_660 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_660, 0, x_659);
+lean_ctor_set(x_660, 1, x_657);
+return x_660;
+}
+else
+{
+lean_object* x_661;
+lean_dec(x_630);
+x_661 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_661, 0, x_1);
+lean_ctor_set(x_661, 1, x_657);
+return x_661;
+}
+}
+}
+else
+{
+lean_object* x_662; lean_object* x_663; lean_object* x_664; lean_object* x_665; lean_object* x_666; lean_object* x_667;
+x_662 = lean_ctor_get(x_650, 1);
+lean_inc(x_662);
+lean_dec(x_650);
+x_663 = lean_unsigned_to_nat(0u);
+x_664 = l_Lean_Expr_getAppNumArgsAux(x_1, x_663);
+x_665 = lean_mk_empty_array_with_capacity(x_664);
+lean_dec(x_664);
+lean_inc(x_1);
+x_666 = l___private_Lean_Expr_0__Lean_Expr_getAppRevArgsAux(x_1, x_665);
+x_667 = l___private_Lean_Meta_WHNF_0__Lean_Meta_deltaBetaDefinition___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__1(x_1, x_627, x_630, x_647, x_634, x_666, x_2, x_3, x_4, x_5, x_662);
+lean_dec(x_666);
+lean_dec(x_634);
+lean_dec(x_647);
+lean_dec(x_630);
+lean_dec(x_627);
+return x_667;
}
}
case 4:
{
-lean_object* x_660; lean_object* x_661; lean_object* x_662; lean_object* x_663; lean_object* x_664; lean_object* x_665; lean_object* x_666; lean_object* x_667; lean_object* x_668; lean_object* x_669; lean_object* x_670;
-lean_dec(x_622);
-lean_dec(x_619);
-x_660 = lean_ctor_get(x_628, 1);
-lean_inc(x_660);
-lean_dec(x_628);
-x_661 = lean_ctor_get(x_639, 0);
-lean_inc(x_661);
-lean_dec(x_639);
-x_662 = lean_unsigned_to_nat(0u);
-x_663 = l_Lean_Expr_getAppNumArgsAux(x_1, x_662);
-x_664 = l_Lean_Expr_getAppArgs___closed__1;
-lean_inc(x_663);
-x_665 = lean_mk_array(x_663, x_664);
-x_666 = lean_unsigned_to_nat(1u);
-x_667 = lean_nat_sub(x_663, x_666);
-lean_dec(x_663);
-x_668 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_665, x_667);
-x_669 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___closed__3;
-x_670 = l___private_Lean_Meta_WHNF_0__Lean_Meta_reduceQuotRec___rarg(x_661, x_626, x_668, x_627, x_669, x_2, x_3, x_4, x_5, x_660);
-lean_dec(x_668);
-lean_dec(x_626);
-lean_dec(x_661);
-return x_670;
+lean_object* x_668; lean_object* x_669; lean_object* x_670; lean_object* x_671; lean_object* x_672; lean_object* x_673; lean_object* x_674; lean_object* x_675; lean_object* x_676; lean_object* x_677; lean_object* x_678;
+lean_dec(x_630);
+lean_dec(x_627);
+x_668 = lean_ctor_get(x_636, 1);
+lean_inc(x_668);
+lean_dec(x_636);
+x_669 = lean_ctor_get(x_647, 0);
+lean_inc(x_669);
+lean_dec(x_647);
+x_670 = lean_unsigned_to_nat(0u);
+x_671 = l_Lean_Expr_getAppNumArgsAux(x_1, x_670);
+x_672 = l_Lean_Expr_getAppArgs___closed__1;
+lean_inc(x_671);
+x_673 = lean_mk_array(x_671, x_672);
+x_674 = lean_unsigned_to_nat(1u);
+x_675 = lean_nat_sub(x_671, x_674);
+lean_dec(x_671);
+x_676 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_673, x_675);
+x_677 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___closed__3;
+x_678 = l___private_Lean_Meta_WHNF_0__Lean_Meta_reduceQuotRec___rarg(x_669, x_634, x_676, x_635, x_677, x_2, x_3, x_4, x_5, x_668);
+lean_dec(x_676);
+lean_dec(x_634);
+lean_dec(x_669);
+return x_678;
}
case 7:
{
-lean_object* x_671; lean_object* x_672; lean_object* x_673; lean_object* x_674; lean_object* x_675; lean_object* x_676; lean_object* x_677; lean_object* x_678; lean_object* x_679; lean_object* x_680; lean_object* x_681;
-lean_dec(x_622);
-lean_dec(x_619);
-x_671 = lean_ctor_get(x_628, 1);
-lean_inc(x_671);
-lean_dec(x_628);
-x_672 = lean_ctor_get(x_639, 0);
-lean_inc(x_672);
-lean_dec(x_639);
-x_673 = lean_unsigned_to_nat(0u);
-x_674 = l_Lean_Expr_getAppNumArgsAux(x_1, x_673);
-x_675 = l_Lean_Expr_getAppArgs___closed__1;
-lean_inc(x_674);
-x_676 = lean_mk_array(x_674, x_675);
-x_677 = lean_unsigned_to_nat(1u);
-x_678 = lean_nat_sub(x_674, x_677);
-lean_dec(x_674);
-x_679 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_676, x_678);
-x_680 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___closed__3;
-x_681 = l___private_Lean_Meta_WHNF_0__Lean_Meta_reduceRec___rarg(x_672, x_626, x_679, x_627, x_680, x_2, x_3, x_4, x_5, x_671);
-lean_dec(x_679);
-lean_dec(x_626);
-return x_681;
+lean_object* x_679; lean_object* x_680; lean_object* x_681; lean_object* x_682; lean_object* x_683; lean_object* x_684; lean_object* x_685; lean_object* x_686; lean_object* x_687; lean_object* x_688; lean_object* x_689;
+lean_dec(x_630);
+lean_dec(x_627);
+x_679 = lean_ctor_get(x_636, 1);
+lean_inc(x_679);
+lean_dec(x_636);
+x_680 = lean_ctor_get(x_647, 0);
+lean_inc(x_680);
+lean_dec(x_647);
+x_681 = lean_unsigned_to_nat(0u);
+x_682 = l_Lean_Expr_getAppNumArgsAux(x_1, x_681);
+x_683 = l_Lean_Expr_getAppArgs___closed__1;
+lean_inc(x_682);
+x_684 = lean_mk_array(x_682, x_683);
+x_685 = lean_unsigned_to_nat(1u);
+x_686 = lean_nat_sub(x_682, x_685);
+lean_dec(x_682);
+x_687 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_684, x_686);
+x_688 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___closed__3;
+x_689 = l___private_Lean_Meta_WHNF_0__Lean_Meta_reduceRec___rarg(x_680, x_634, x_687, x_635, x_688, x_2, x_3, x_4, x_5, x_679);
+lean_dec(x_687);
+lean_dec(x_634);
+return x_689;
}
default:
{
-uint8_t x_682;
-lean_dec(x_639);
-lean_dec(x_627);
-lean_dec(x_626);
+uint8_t x_690;
+lean_dec(x_647);
+lean_dec(x_635);
+lean_dec(x_634);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_682 = !lean_is_exclusive(x_628);
-if (x_682 == 0)
+x_690 = !lean_is_exclusive(x_636);
+if (x_690 == 0)
{
-lean_object* x_683; uint8_t x_684;
-x_683 = lean_ctor_get(x_628, 0);
-lean_dec(x_683);
-x_684 = lean_expr_eqv(x_619, x_622);
-lean_dec(x_619);
-if (x_684 == 0)
-{
-lean_object* x_685;
-x_685 = l_Lean_Expr_updateFn(x_1, x_622);
-lean_dec(x_622);
-lean_ctor_set(x_628, 0, x_685);
-return x_628;
-}
-else
-{
-lean_dec(x_622);
-lean_ctor_set(x_628, 0, x_1);
-return x_628;
-}
-}
-else
-{
-lean_object* x_686; uint8_t x_687;
-x_686 = lean_ctor_get(x_628, 1);
-lean_inc(x_686);
-lean_dec(x_628);
-x_687 = lean_expr_eqv(x_619, x_622);
-lean_dec(x_619);
-if (x_687 == 0)
-{
-lean_object* x_688; lean_object* x_689;
-x_688 = l_Lean_Expr_updateFn(x_1, x_622);
-lean_dec(x_622);
-x_689 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_689, 0, x_688);
-lean_ctor_set(x_689, 1, x_686);
-return x_689;
-}
-else
-{
-lean_object* x_690;
-lean_dec(x_622);
-x_690 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_690, 0, x_1);
-lean_ctor_set(x_690, 1, x_686);
-return x_690;
-}
-}
-}
-}
-}
-}
-else
-{
-uint8_t x_691;
+lean_object* x_691; uint8_t x_692;
+x_691 = lean_ctor_get(x_636, 0);
+lean_dec(x_691);
+x_692 = lean_expr_eqv(x_627, x_630);
+lean_dec(x_627);
+if (x_692 == 0)
+{
+lean_object* x_693;
+x_693 = l_Lean_Expr_updateFn(x_1, x_630);
+lean_dec(x_630);
+lean_ctor_set(x_636, 0, x_693);
+return x_636;
+}
+else
+{
+lean_dec(x_630);
+lean_ctor_set(x_636, 0, x_1);
+return x_636;
+}
+}
+else
+{
+lean_object* x_694; uint8_t x_695;
+x_694 = lean_ctor_get(x_636, 1);
+lean_inc(x_694);
+lean_dec(x_636);
+x_695 = lean_expr_eqv(x_627, x_630);
+lean_dec(x_627);
+if (x_695 == 0)
+{
+lean_object* x_696; lean_object* x_697;
+x_696 = l_Lean_Expr_updateFn(x_1, x_630);
+lean_dec(x_630);
+x_697 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_697, 0, x_696);
+lean_ctor_set(x_697, 1, x_694);
+return x_697;
+}
+else
+{
+lean_object* x_698;
+lean_dec(x_630);
+x_698 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_698, 0, x_1);
+lean_ctor_set(x_698, 1, x_694);
+return x_698;
+}
+}
+}
+}
+}
+}
+else
+{
+uint8_t x_699;
+lean_dec(x_635);
+lean_dec(x_634);
+lean_dec(x_630);
lean_dec(x_627);
-lean_dec(x_626);
-lean_dec(x_622);
-lean_dec(x_619);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_691 = !lean_is_exclusive(x_628);
-if (x_691 == 0)
+x_699 = !lean_is_exclusive(x_636);
+if (x_699 == 0)
{
-return x_628;
+return x_636;
}
else
{
-lean_object* x_692; lean_object* x_693; lean_object* x_694;
-x_692 = lean_ctor_get(x_628, 0);
-x_693 = lean_ctor_get(x_628, 1);
-lean_inc(x_693);
-lean_inc(x_692);
-lean_dec(x_628);
-x_694 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_694, 0, x_692);
-lean_ctor_set(x_694, 1, x_693);
-return x_694;
+lean_object* x_700; lean_object* x_701; lean_object* x_702;
+x_700 = lean_ctor_get(x_636, 0);
+x_701 = lean_ctor_get(x_636, 1);
+lean_inc(x_701);
+lean_inc(x_700);
+lean_dec(x_636);
+x_702 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_702, 0, x_700);
+lean_ctor_set(x_702, 1, x_701);
+return x_702;
}
}
}
else
{
-uint8_t x_695;
+uint8_t x_703;
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_695 = lean_expr_eqv(x_619, x_622);
-lean_dec(x_619);
-if (x_695 == 0)
+x_703 = lean_expr_eqv(x_627, x_630);
+lean_dec(x_627);
+if (x_703 == 0)
{
-lean_object* x_696;
-x_696 = l_Lean_Expr_updateFn(x_1, x_622);
-lean_dec(x_622);
-lean_ctor_set(x_620, 0, x_696);
-return x_620;
+lean_object* x_704;
+x_704 = l_Lean_Expr_updateFn(x_1, x_630);
+lean_dec(x_630);
+lean_ctor_set(x_628, 0, x_704);
+return x_628;
}
else
{
-lean_dec(x_622);
-lean_ctor_set(x_620, 0, x_1);
-return x_620;
+lean_dec(x_630);
+lean_ctor_set(x_628, 0, x_1);
+return x_628;
}
}
}
else
{
-lean_object* x_697; lean_object* x_698; lean_object* x_699; lean_object* x_700; lean_object* x_701;
-lean_free_object(x_620);
-lean_dec(x_619);
-x_697 = lean_unsigned_to_nat(0u);
-x_698 = l_Lean_Expr_getAppNumArgsAux(x_1, x_697);
-x_699 = lean_mk_empty_array_with_capacity(x_698);
-lean_dec(x_698);
-x_700 = l___private_Lean_Expr_0__Lean_Expr_getAppRevArgsAux(x_1, x_699);
-x_701 = l_Lean_Expr_betaRev(x_622, x_700);
-lean_dec(x_700);
-lean_dec(x_622);
-x_1 = x_701;
-x_6 = x_623;
+lean_object* x_705; lean_object* x_706; lean_object* x_707; lean_object* x_708; lean_object* x_709;
+lean_free_object(x_628);
+lean_dec(x_627);
+x_705 = lean_unsigned_to_nat(0u);
+x_706 = l_Lean_Expr_getAppNumArgsAux(x_1, x_705);
+x_707 = lean_mk_empty_array_with_capacity(x_706);
+lean_dec(x_706);
+x_708 = l___private_Lean_Expr_0__Lean_Expr_getAppRevArgsAux(x_1, x_707);
+x_709 = l_Lean_Expr_betaRev(x_630, x_708);
+lean_dec(x_708);
+lean_dec(x_630);
+x_1 = x_709;
+x_6 = x_631;
goto _start;
}
}
else
{
-lean_object* x_703; lean_object* x_704; uint8_t x_705;
-x_703 = lean_ctor_get(x_620, 0);
-x_704 = lean_ctor_get(x_620, 1);
-lean_inc(x_704);
-lean_inc(x_703);
-lean_dec(x_620);
-x_705 = l_Lean_Expr_isLambda(x_703);
-if (x_705 == 0)
-{
-if (lean_obj_tag(x_703) == 4)
-{
-lean_object* x_706; lean_object* x_707; lean_object* x_708; lean_object* x_709;
-x_706 = lean_ctor_get(x_703, 0);
-lean_inc(x_706);
-x_707 = lean_ctor_get(x_703, 1);
-lean_inc(x_707);
-lean_inc(x_1);
-lean_inc(x_703);
-lean_inc(x_619);
-x_708 = lean_alloc_closure((void*)(l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___lambda__1___boxed), 9, 3);
-lean_closure_set(x_708, 0, x_619);
-lean_closure_set(x_708, 1, x_703);
-lean_closure_set(x_708, 2, x_1);
-x_709 = l_Lean_Meta_getConst_x3f(x_706, x_2, x_3, x_4, x_5, x_704);
-if (lean_obj_tag(x_709) == 0)
-{
-lean_object* x_710;
-x_710 = lean_ctor_get(x_709, 0);
-lean_inc(x_710);
-if (lean_obj_tag(x_710) == 0)
-{
lean_object* x_711; lean_object* x_712; uint8_t x_713;
-lean_dec(x_708);
-lean_dec(x_707);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-x_711 = lean_ctor_get(x_709, 1);
+x_711 = lean_ctor_get(x_628, 0);
+x_712 = lean_ctor_get(x_628, 1);
+lean_inc(x_712);
lean_inc(x_711);
-if (lean_is_exclusive(x_709)) {
- lean_ctor_release(x_709, 0);
- lean_ctor_release(x_709, 1);
- x_712 = x_709;
-} else {
- lean_dec_ref(x_709);
- x_712 = lean_box(0);
-}
-x_713 = lean_expr_eqv(x_619, x_703);
-lean_dec(x_619);
+lean_dec(x_628);
+x_713 = l_Lean_Expr_isLambda(x_711);
if (x_713 == 0)
{
-lean_object* x_714; lean_object* x_715;
-x_714 = l_Lean_Expr_updateFn(x_1, x_703);
-lean_dec(x_703);
-if (lean_is_scalar(x_712)) {
- x_715 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_715 = x_712;
-}
-lean_ctor_set(x_715, 0, x_714);
-lean_ctor_set(x_715, 1, x_711);
-return x_715;
-}
-else
+if (lean_obj_tag(x_711) == 4)
{
-lean_object* x_716;
-lean_dec(x_703);
-if (lean_is_scalar(x_712)) {
- x_716 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_716 = x_712;
-}
-lean_ctor_set(x_716, 0, x_1);
-lean_ctor_set(x_716, 1, x_711);
-return x_716;
-}
-}
-else
+lean_object* x_714; lean_object* x_715; lean_object* x_716; lean_object* x_717;
+x_714 = lean_ctor_get(x_711, 0);
+lean_inc(x_714);
+x_715 = lean_ctor_get(x_711, 1);
+lean_inc(x_715);
+lean_inc(x_1);
+lean_inc(x_711);
+lean_inc(x_627);
+x_716 = lean_alloc_closure((void*)(l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___lambda__1___boxed), 9, 3);
+lean_closure_set(x_716, 0, x_627);
+lean_closure_set(x_716, 1, x_711);
+lean_closure_set(x_716, 2, x_1);
+x_717 = l_Lean_Meta_getConst_x3f(x_714, x_2, x_3, x_4, x_5, x_712);
+if (lean_obj_tag(x_717) == 0)
{
-lean_object* x_717;
-x_717 = lean_ctor_get(x_710, 0);
-lean_inc(x_717);
-lean_dec(x_710);
-switch (lean_obj_tag(x_717)) {
-case 1:
-{
-lean_object* x_718; lean_object* x_719; lean_object* x_720; lean_object* x_721; uint8_t x_722;
-lean_dec(x_708);
-x_718 = lean_ctor_get(x_709, 1);
+lean_object* x_718;
+x_718 = lean_ctor_get(x_717, 0);
lean_inc(x_718);
-lean_dec(x_709);
-x_719 = l_Lean_ConstantInfo_name(x_717);
-x_720 = l___private_Lean_Meta_WHNF_0__Lean_Meta_isAuxDefImp_x3f(x_719, x_2, x_3, x_4, x_5, x_718);
-lean_dec(x_719);
-x_721 = lean_ctor_get(x_720, 0);
-lean_inc(x_721);
-x_722 = lean_unbox(x_721);
-lean_dec(x_721);
-if (x_722 == 0)
+if (lean_obj_tag(x_718) == 0)
{
-lean_object* x_723; lean_object* x_724; uint8_t x_725;
-lean_dec(x_717);
-lean_dec(x_707);
+lean_object* x_719; lean_object* x_720; uint8_t x_721;
+lean_dec(x_716);
+lean_dec(x_715);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_723 = lean_ctor_get(x_720, 1);
-lean_inc(x_723);
-if (lean_is_exclusive(x_720)) {
- lean_ctor_release(x_720, 0);
- lean_ctor_release(x_720, 1);
+x_719 = lean_ctor_get(x_717, 1);
+lean_inc(x_719);
+if (lean_is_exclusive(x_717)) {
+ lean_ctor_release(x_717, 0);
+ lean_ctor_release(x_717, 1);
+ x_720 = x_717;
+} else {
+ lean_dec_ref(x_717);
+ x_720 = lean_box(0);
+}
+x_721 = lean_expr_eqv(x_627, x_711);
+lean_dec(x_627);
+if (x_721 == 0)
+{
+lean_object* x_722; lean_object* x_723;
+x_722 = l_Lean_Expr_updateFn(x_1, x_711);
+lean_dec(x_711);
+if (lean_is_scalar(x_720)) {
+ x_723 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_723 = x_720;
+}
+lean_ctor_set(x_723, 0, x_722);
+lean_ctor_set(x_723, 1, x_719);
+return x_723;
+}
+else
+{
+lean_object* x_724;
+lean_dec(x_711);
+if (lean_is_scalar(x_720)) {
+ x_724 = lean_alloc_ctor(0, 2, 0);
+} else {
x_724 = x_720;
-} else {
- lean_dec_ref(x_720);
- x_724 = lean_box(0);
}
-x_725 = lean_expr_eqv(x_619, x_703);
-lean_dec(x_619);
-if (x_725 == 0)
-{
-lean_object* x_726; lean_object* x_727;
-x_726 = l_Lean_Expr_updateFn(x_1, x_703);
-lean_dec(x_703);
-if (lean_is_scalar(x_724)) {
- x_727 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_727 = x_724;
-}
-lean_ctor_set(x_727, 0, x_726);
-lean_ctor_set(x_727, 1, x_723);
-return x_727;
-}
-else
-{
-lean_object* x_728;
-lean_dec(x_703);
-if (lean_is_scalar(x_724)) {
- x_728 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_728 = x_724;
-}
-lean_ctor_set(x_728, 0, x_1);
-lean_ctor_set(x_728, 1, x_723);
-return x_728;
+lean_ctor_set(x_724, 0, x_1);
+lean_ctor_set(x_724, 1, x_719);
+return x_724;
}
}
else
{
-lean_object* x_729; lean_object* x_730; lean_object* x_731; lean_object* x_732; lean_object* x_733; lean_object* x_734;
-x_729 = lean_ctor_get(x_720, 1);
-lean_inc(x_729);
-lean_dec(x_720);
-x_730 = lean_unsigned_to_nat(0u);
-x_731 = l_Lean_Expr_getAppNumArgsAux(x_1, x_730);
-x_732 = lean_mk_empty_array_with_capacity(x_731);
-lean_dec(x_731);
-lean_inc(x_1);
-x_733 = l___private_Lean_Expr_0__Lean_Expr_getAppRevArgsAux(x_1, x_732);
-x_734 = l___private_Lean_Meta_WHNF_0__Lean_Meta_deltaBetaDefinition___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__1(x_1, x_619, x_703, x_717, x_707, x_733, x_2, x_3, x_4, x_5, x_729);
-lean_dec(x_733);
-lean_dec(x_707);
+lean_object* x_725;
+x_725 = lean_ctor_get(x_718, 0);
+lean_inc(x_725);
+lean_dec(x_718);
+switch (lean_obj_tag(x_725)) {
+case 1:
+{
+lean_object* x_726; lean_object* x_727; lean_object* x_728; lean_object* x_729; uint8_t x_730;
+lean_dec(x_716);
+x_726 = lean_ctor_get(x_717, 1);
+lean_inc(x_726);
lean_dec(x_717);
-lean_dec(x_703);
-lean_dec(x_619);
-return x_734;
+x_727 = l_Lean_ConstantInfo_name(x_725);
+x_728 = l___private_Lean_Meta_WHNF_0__Lean_Meta_isAuxDefImp_x3f(x_727, x_2, x_3, x_4, x_5, x_726);
+lean_dec(x_727);
+x_729 = lean_ctor_get(x_728, 0);
+lean_inc(x_729);
+x_730 = lean_unbox(x_729);
+lean_dec(x_729);
+if (x_730 == 0)
+{
+lean_object* x_731; lean_object* x_732; uint8_t x_733;
+lean_dec(x_725);
+lean_dec(x_715);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+x_731 = lean_ctor_get(x_728, 1);
+lean_inc(x_731);
+if (lean_is_exclusive(x_728)) {
+ lean_ctor_release(x_728, 0);
+ lean_ctor_release(x_728, 1);
+ x_732 = x_728;
+} else {
+ lean_dec_ref(x_728);
+ x_732 = lean_box(0);
+}
+x_733 = lean_expr_eqv(x_627, x_711);
+lean_dec(x_627);
+if (x_733 == 0)
+{
+lean_object* x_734; lean_object* x_735;
+x_734 = l_Lean_Expr_updateFn(x_1, x_711);
+lean_dec(x_711);
+if (lean_is_scalar(x_732)) {
+ x_735 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_735 = x_732;
+}
+lean_ctor_set(x_735, 0, x_734);
+lean_ctor_set(x_735, 1, x_731);
+return x_735;
+}
+else
+{
+lean_object* x_736;
+lean_dec(x_711);
+if (lean_is_scalar(x_732)) {
+ x_736 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_736 = x_732;
+}
+lean_ctor_set(x_736, 0, x_1);
+lean_ctor_set(x_736, 1, x_731);
+return x_736;
+}
+}
+else
+{
+lean_object* x_737; lean_object* x_738; lean_object* x_739; lean_object* x_740; lean_object* x_741; lean_object* x_742;
+x_737 = lean_ctor_get(x_728, 1);
+lean_inc(x_737);
+lean_dec(x_728);
+x_738 = lean_unsigned_to_nat(0u);
+x_739 = l_Lean_Expr_getAppNumArgsAux(x_1, x_738);
+x_740 = lean_mk_empty_array_with_capacity(x_739);
+lean_dec(x_739);
+lean_inc(x_1);
+x_741 = l___private_Lean_Expr_0__Lean_Expr_getAppRevArgsAux(x_1, x_740);
+x_742 = l___private_Lean_Meta_WHNF_0__Lean_Meta_deltaBetaDefinition___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__1(x_1, x_627, x_711, x_725, x_715, x_741, x_2, x_3, x_4, x_5, x_737);
+lean_dec(x_741);
+lean_dec(x_715);
+lean_dec(x_725);
+lean_dec(x_711);
+lean_dec(x_627);
+return x_742;
}
}
case 4:
{
-lean_object* x_735; lean_object* x_736; lean_object* x_737; lean_object* x_738; lean_object* x_739; lean_object* x_740; lean_object* x_741; lean_object* x_742; lean_object* x_743; lean_object* x_744; lean_object* x_745;
-lean_dec(x_703);
-lean_dec(x_619);
-x_735 = lean_ctor_get(x_709, 1);
-lean_inc(x_735);
-lean_dec(x_709);
-x_736 = lean_ctor_get(x_717, 0);
-lean_inc(x_736);
+lean_object* x_743; lean_object* x_744; lean_object* x_745; lean_object* x_746; lean_object* x_747; lean_object* x_748; lean_object* x_749; lean_object* x_750; lean_object* x_751; lean_object* x_752; lean_object* x_753;
+lean_dec(x_711);
+lean_dec(x_627);
+x_743 = lean_ctor_get(x_717, 1);
+lean_inc(x_743);
lean_dec(x_717);
-x_737 = lean_unsigned_to_nat(0u);
-x_738 = l_Lean_Expr_getAppNumArgsAux(x_1, x_737);
-x_739 = l_Lean_Expr_getAppArgs___closed__1;
-lean_inc(x_738);
-x_740 = lean_mk_array(x_738, x_739);
-x_741 = lean_unsigned_to_nat(1u);
-x_742 = lean_nat_sub(x_738, x_741);
-lean_dec(x_738);
-x_743 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_740, x_742);
-x_744 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___closed__3;
-x_745 = l___private_Lean_Meta_WHNF_0__Lean_Meta_reduceQuotRec___rarg(x_736, x_707, x_743, x_708, x_744, x_2, x_3, x_4, x_5, x_735);
-lean_dec(x_743);
-lean_dec(x_707);
-lean_dec(x_736);
-return x_745;
+x_744 = lean_ctor_get(x_725, 0);
+lean_inc(x_744);
+lean_dec(x_725);
+x_745 = lean_unsigned_to_nat(0u);
+x_746 = l_Lean_Expr_getAppNumArgsAux(x_1, x_745);
+x_747 = l_Lean_Expr_getAppArgs___closed__1;
+lean_inc(x_746);
+x_748 = lean_mk_array(x_746, x_747);
+x_749 = lean_unsigned_to_nat(1u);
+x_750 = lean_nat_sub(x_746, x_749);
+lean_dec(x_746);
+x_751 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_748, x_750);
+x_752 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___closed__3;
+x_753 = l___private_Lean_Meta_WHNF_0__Lean_Meta_reduceQuotRec___rarg(x_744, x_715, x_751, x_716, x_752, x_2, x_3, x_4, x_5, x_743);
+lean_dec(x_751);
+lean_dec(x_715);
+lean_dec(x_744);
+return x_753;
}
case 7:
{
-lean_object* x_746; lean_object* x_747; lean_object* x_748; lean_object* x_749; lean_object* x_750; lean_object* x_751; lean_object* x_752; lean_object* x_753; lean_object* x_754; lean_object* x_755; lean_object* x_756;
-lean_dec(x_703);
-lean_dec(x_619);
-x_746 = lean_ctor_get(x_709, 1);
-lean_inc(x_746);
-lean_dec(x_709);
-x_747 = lean_ctor_get(x_717, 0);
-lean_inc(x_747);
+lean_object* x_754; lean_object* x_755; lean_object* x_756; lean_object* x_757; lean_object* x_758; lean_object* x_759; lean_object* x_760; lean_object* x_761; lean_object* x_762; lean_object* x_763; lean_object* x_764;
+lean_dec(x_711);
+lean_dec(x_627);
+x_754 = lean_ctor_get(x_717, 1);
+lean_inc(x_754);
lean_dec(x_717);
-x_748 = lean_unsigned_to_nat(0u);
-x_749 = l_Lean_Expr_getAppNumArgsAux(x_1, x_748);
-x_750 = l_Lean_Expr_getAppArgs___closed__1;
-lean_inc(x_749);
-x_751 = lean_mk_array(x_749, x_750);
-x_752 = lean_unsigned_to_nat(1u);
-x_753 = lean_nat_sub(x_749, x_752);
-lean_dec(x_749);
-x_754 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_751, x_753);
-x_755 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___closed__3;
-x_756 = l___private_Lean_Meta_WHNF_0__Lean_Meta_reduceRec___rarg(x_747, x_707, x_754, x_708, x_755, x_2, x_3, x_4, x_5, x_746);
-lean_dec(x_754);
-lean_dec(x_707);
-return x_756;
+x_755 = lean_ctor_get(x_725, 0);
+lean_inc(x_755);
+lean_dec(x_725);
+x_756 = lean_unsigned_to_nat(0u);
+x_757 = l_Lean_Expr_getAppNumArgsAux(x_1, x_756);
+x_758 = l_Lean_Expr_getAppArgs___closed__1;
+lean_inc(x_757);
+x_759 = lean_mk_array(x_757, x_758);
+x_760 = lean_unsigned_to_nat(1u);
+x_761 = lean_nat_sub(x_757, x_760);
+lean_dec(x_757);
+x_762 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_759, x_761);
+x_763 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___closed__3;
+x_764 = l___private_Lean_Meta_WHNF_0__Lean_Meta_reduceRec___rarg(x_755, x_715, x_762, x_716, x_763, x_2, x_3, x_4, x_5, x_754);
+lean_dec(x_762);
+lean_dec(x_715);
+return x_764;
}
default:
{
-lean_object* x_757; lean_object* x_758; uint8_t x_759;
-lean_dec(x_717);
-lean_dec(x_708);
-lean_dec(x_707);
+lean_object* x_765; lean_object* x_766; uint8_t x_767;
+lean_dec(x_725);
+lean_dec(x_716);
+lean_dec(x_715);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_757 = lean_ctor_get(x_709, 1);
-lean_inc(x_757);
-if (lean_is_exclusive(x_709)) {
- lean_ctor_release(x_709, 0);
- lean_ctor_release(x_709, 1);
- x_758 = x_709;
+x_765 = lean_ctor_get(x_717, 1);
+lean_inc(x_765);
+if (lean_is_exclusive(x_717)) {
+ lean_ctor_release(x_717, 0);
+ lean_ctor_release(x_717, 1);
+ x_766 = x_717;
} else {
- lean_dec_ref(x_709);
- x_758 = lean_box(0);
+ lean_dec_ref(x_717);
+ x_766 = lean_box(0);
}
-x_759 = lean_expr_eqv(x_619, x_703);
-lean_dec(x_619);
-if (x_759 == 0)
-{
-lean_object* x_760; lean_object* x_761;
-x_760 = l_Lean_Expr_updateFn(x_1, x_703);
-lean_dec(x_703);
-if (lean_is_scalar(x_758)) {
- x_761 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_761 = x_758;
-}
-lean_ctor_set(x_761, 0, x_760);
-lean_ctor_set(x_761, 1, x_757);
-return x_761;
-}
-else
-{
-lean_object* x_762;
-lean_dec(x_703);
-if (lean_is_scalar(x_758)) {
- x_762 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_762 = x_758;
-}
-lean_ctor_set(x_762, 0, x_1);
-lean_ctor_set(x_762, 1, x_757);
-return x_762;
-}
-}
-}
-}
-}
-else
-{
-lean_object* x_763; lean_object* x_764; lean_object* x_765; lean_object* x_766;
-lean_dec(x_708);
-lean_dec(x_707);
-lean_dec(x_703);
-lean_dec(x_619);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_dec(x_1);
-x_763 = lean_ctor_get(x_709, 0);
-lean_inc(x_763);
-x_764 = lean_ctor_get(x_709, 1);
-lean_inc(x_764);
-if (lean_is_exclusive(x_709)) {
- lean_ctor_release(x_709, 0);
- lean_ctor_release(x_709, 1);
- x_765 = x_709;
-} else {
- lean_dec_ref(x_709);
- x_765 = lean_box(0);
-}
-if (lean_is_scalar(x_765)) {
- x_766 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_766 = x_765;
-}
-lean_ctor_set(x_766, 0, x_763);
-lean_ctor_set(x_766, 1, x_764);
-return x_766;
-}
-}
-else
-{
-uint8_t x_767;
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-x_767 = lean_expr_eqv(x_619, x_703);
-lean_dec(x_619);
+x_767 = lean_expr_eqv(x_627, x_711);
+lean_dec(x_627);
if (x_767 == 0)
{
lean_object* x_768; lean_object* x_769;
-x_768 = l_Lean_Expr_updateFn(x_1, x_703);
-lean_dec(x_703);
-x_769 = lean_alloc_ctor(0, 2, 0);
+x_768 = l_Lean_Expr_updateFn(x_1, x_711);
+lean_dec(x_711);
+if (lean_is_scalar(x_766)) {
+ x_769 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_769 = x_766;
+}
lean_ctor_set(x_769, 0, x_768);
-lean_ctor_set(x_769, 1, x_704);
+lean_ctor_set(x_769, 1, x_765);
return x_769;
}
else
{
lean_object* x_770;
-lean_dec(x_703);
-x_770 = lean_alloc_ctor(0, 2, 0);
+lean_dec(x_711);
+if (lean_is_scalar(x_766)) {
+ x_770 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_770 = x_766;
+}
lean_ctor_set(x_770, 0, x_1);
-lean_ctor_set(x_770, 1, x_704);
+lean_ctor_set(x_770, 1, x_765);
return x_770;
}
}
}
+}
+}
else
{
-lean_object* x_771; lean_object* x_772; lean_object* x_773; lean_object* x_774; lean_object* x_775;
-lean_dec(x_619);
-x_771 = lean_unsigned_to_nat(0u);
-x_772 = l_Lean_Expr_getAppNumArgsAux(x_1, x_771);
-x_773 = lean_mk_empty_array_with_capacity(x_772);
-lean_dec(x_772);
-x_774 = l___private_Lean_Expr_0__Lean_Expr_getAppRevArgsAux(x_1, x_773);
-x_775 = l_Lean_Expr_betaRev(x_703, x_774);
-lean_dec(x_774);
-lean_dec(x_703);
-x_1 = x_775;
-x_6 = x_704;
+lean_object* x_771; lean_object* x_772; lean_object* x_773; lean_object* x_774;
+lean_dec(x_716);
+lean_dec(x_715);
+lean_dec(x_711);
+lean_dec(x_627);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+lean_dec(x_1);
+x_771 = lean_ctor_get(x_717, 0);
+lean_inc(x_771);
+x_772 = lean_ctor_get(x_717, 1);
+lean_inc(x_772);
+if (lean_is_exclusive(x_717)) {
+ lean_ctor_release(x_717, 0);
+ lean_ctor_release(x_717, 1);
+ x_773 = x_717;
+} else {
+ lean_dec_ref(x_717);
+ x_773 = lean_box(0);
+}
+if (lean_is_scalar(x_773)) {
+ x_774 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_774 = x_773;
+}
+lean_ctor_set(x_774, 0, x_771);
+lean_ctor_set(x_774, 1, x_772);
+return x_774;
+}
+}
+else
+{
+uint8_t x_775;
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+x_775 = lean_expr_eqv(x_627, x_711);
+lean_dec(x_627);
+if (x_775 == 0)
+{
+lean_object* x_776; lean_object* x_777;
+x_776 = l_Lean_Expr_updateFn(x_1, x_711);
+lean_dec(x_711);
+x_777 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_777, 0, x_776);
+lean_ctor_set(x_777, 1, x_712);
+return x_777;
+}
+else
+{
+lean_object* x_778;
+lean_dec(x_711);
+x_778 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_778, 0, x_1);
+lean_ctor_set(x_778, 1, x_712);
+return x_778;
+}
+}
+}
+else
+{
+lean_object* x_779; lean_object* x_780; lean_object* x_781; lean_object* x_782; lean_object* x_783;
+lean_dec(x_627);
+x_779 = lean_unsigned_to_nat(0u);
+x_780 = l_Lean_Expr_getAppNumArgsAux(x_1, x_779);
+x_781 = lean_mk_empty_array_with_capacity(x_780);
+lean_dec(x_780);
+x_782 = l___private_Lean_Expr_0__Lean_Expr_getAppRevArgsAux(x_1, x_781);
+x_783 = l_Lean_Expr_betaRev(x_711, x_782);
+lean_dec(x_782);
+lean_dec(x_711);
+x_1 = x_783;
+x_6 = x_712;
goto _start;
}
}
}
else
{
-uint8_t x_777;
-lean_dec(x_619);
+uint8_t x_785;
+lean_dec(x_627);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_777 = !lean_is_exclusive(x_620);
-if (x_777 == 0)
+x_785 = !lean_is_exclusive(x_628);
+if (x_785 == 0)
{
-return x_620;
+return x_628;
}
else
{
-lean_object* x_778; lean_object* x_779; lean_object* x_780;
-x_778 = lean_ctor_get(x_620, 0);
-x_779 = lean_ctor_get(x_620, 1);
-lean_inc(x_779);
-lean_inc(x_778);
-lean_dec(x_620);
-x_780 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_780, 0, x_778);
-lean_ctor_set(x_780, 1, x_779);
-return x_780;
+lean_object* x_786; lean_object* x_787; lean_object* x_788;
+x_786 = lean_ctor_get(x_628, 0);
+x_787 = lean_ctor_get(x_628, 1);
+lean_inc(x_787);
+lean_inc(x_786);
+lean_dec(x_628);
+x_788 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_788, 0, x_786);
+lean_ctor_set(x_788, 1, x_787);
+return x_788;
}
}
}
case 8:
{
-lean_object* x_781; lean_object* x_782; lean_object* x_783;
-x_781 = lean_ctor_get(x_1, 2);
-lean_inc(x_781);
-x_782 = lean_ctor_get(x_1, 3);
-lean_inc(x_782);
+lean_object* x_789; lean_object* x_790; lean_object* x_791;
+x_789 = lean_ctor_get(x_1, 2);
+lean_inc(x_789);
+x_790 = lean_ctor_get(x_1, 3);
+lean_inc(x_790);
lean_dec(x_1);
-x_783 = lean_expr_instantiate1(x_782, x_781);
-lean_dec(x_781);
-lean_dec(x_782);
-x_1 = x_783;
-x_6 = x_616;
+x_791 = lean_expr_instantiate1(x_790, x_789);
+lean_dec(x_789);
+lean_dec(x_790);
+x_1 = x_791;
+x_6 = x_624;
goto _start;
}
case 11:
{
-lean_object* x_785; lean_object* x_786; lean_object* x_787;
-x_785 = lean_ctor_get(x_1, 1);
-lean_inc(x_785);
-x_786 = lean_ctor_get(x_1, 2);
-lean_inc(x_786);
+lean_object* x_793; lean_object* x_794; lean_object* x_795;
+x_793 = lean_ctor_get(x_1, 1);
+lean_inc(x_793);
+x_794 = lean_ctor_get(x_1, 2);
+lean_inc(x_794);
lean_inc(x_5);
lean_inc(x_4);
lean_inc(x_3);
lean_inc(x_2);
-x_787 = l_Lean_Meta_whnf___at___private_Lean_Meta_Basic_0__Lean_Meta_isClassExpensive_x3f___spec__2(x_786, x_2, x_3, x_4, x_5, x_616);
-if (lean_obj_tag(x_787) == 0)
+x_795 = l_Lean_Meta_whnf___at___private_Lean_Meta_Basic_0__Lean_Meta_isClassExpensive_x3f___spec__2(x_794, x_2, x_3, x_4, x_5, x_624);
+if (lean_obj_tag(x_795) == 0)
{
-uint8_t x_788;
-x_788 = !lean_is_exclusive(x_787);
-if (x_788 == 0)
+uint8_t x_796;
+x_796 = !lean_is_exclusive(x_795);
+if (x_796 == 0)
{
-lean_object* x_789; lean_object* x_790; lean_object* x_791;
-x_789 = lean_ctor_get(x_787, 0);
-x_790 = lean_ctor_get(x_787, 1);
-x_791 = l_Lean_Expr_getAppFn(x_789);
-if (lean_obj_tag(x_791) == 4)
+lean_object* x_797; lean_object* x_798; lean_object* x_799;
+x_797 = lean_ctor_get(x_795, 0);
+x_798 = lean_ctor_get(x_795, 1);
+x_799 = l_Lean_Expr_getAppFn(x_797);
+if (lean_obj_tag(x_799) == 4)
{
-lean_object* x_792; lean_object* x_793;
-lean_free_object(x_787);
-x_792 = lean_ctor_get(x_791, 0);
-lean_inc(x_792);
-lean_dec(x_791);
-x_793 = l_Lean_Meta_getConst_x3f(x_792, x_2, x_3, x_4, x_5, x_790);
-if (lean_obj_tag(x_793) == 0)
+lean_object* x_800; lean_object* x_801;
+lean_free_object(x_795);
+x_800 = lean_ctor_get(x_799, 0);
+lean_inc(x_800);
+lean_dec(x_799);
+x_801 = l_Lean_Meta_getConst_x3f(x_800, x_2, x_3, x_4, x_5, x_798);
+if (lean_obj_tag(x_801) == 0)
{
-lean_object* x_794;
-x_794 = lean_ctor_get(x_793, 0);
-lean_inc(x_794);
-if (lean_obj_tag(x_794) == 0)
+lean_object* x_802;
+x_802 = lean_ctor_get(x_801, 0);
+lean_inc(x_802);
+if (lean_obj_tag(x_802) == 0)
{
-uint8_t x_795;
-lean_dec(x_789);
-lean_dec(x_785);
+uint8_t x_803;
+lean_dec(x_797);
+lean_dec(x_793);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_795 = !lean_is_exclusive(x_793);
-if (x_795 == 0)
+x_803 = !lean_is_exclusive(x_801);
+if (x_803 == 0)
{
-lean_object* x_796;
-x_796 = lean_ctor_get(x_793, 0);
-lean_dec(x_796);
-lean_ctor_set(x_793, 0, x_1);
-return x_793;
-}
-else
-{
-lean_object* x_797; lean_object* x_798;
-x_797 = lean_ctor_get(x_793, 1);
-lean_inc(x_797);
-lean_dec(x_793);
-x_798 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_798, 0, x_1);
-lean_ctor_set(x_798, 1, x_797);
-return x_798;
-}
-}
-else
-{
-lean_object* x_799;
-x_799 = lean_ctor_get(x_794, 0);
-lean_inc(x_799);
-lean_dec(x_794);
-if (lean_obj_tag(x_799) == 6)
-{
-uint8_t x_800;
-x_800 = !lean_is_exclusive(x_793);
-if (x_800 == 0)
-{
-lean_object* x_801; lean_object* x_802; lean_object* x_803; lean_object* x_804; lean_object* x_805; lean_object* x_806; lean_object* x_807; uint8_t x_808;
-x_801 = lean_ctor_get(x_793, 1);
-x_802 = lean_ctor_get(x_793, 0);
-lean_dec(x_802);
-x_803 = lean_ctor_get(x_799, 0);
-lean_inc(x_803);
-lean_dec(x_799);
-x_804 = lean_ctor_get(x_803, 3);
-lean_inc(x_804);
-lean_dec(x_803);
-x_805 = lean_nat_add(x_804, x_785);
-lean_dec(x_785);
+lean_object* x_804;
+x_804 = lean_ctor_get(x_801, 0);
lean_dec(x_804);
-x_806 = lean_unsigned_to_nat(0u);
-x_807 = l_Lean_Expr_getAppNumArgsAux(x_789, x_806);
-x_808 = lean_nat_dec_lt(x_805, x_807);
+lean_ctor_set(x_801, 0, x_1);
+return x_801;
+}
+else
+{
+lean_object* x_805; lean_object* x_806;
+x_805 = lean_ctor_get(x_801, 1);
+lean_inc(x_805);
+lean_dec(x_801);
+x_806 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_806, 0, x_1);
+lean_ctor_set(x_806, 1, x_805);
+return x_806;
+}
+}
+else
+{
+lean_object* x_807;
+x_807 = lean_ctor_get(x_802, 0);
+lean_inc(x_807);
+lean_dec(x_802);
+if (lean_obj_tag(x_807) == 6)
+{
+uint8_t x_808;
+x_808 = !lean_is_exclusive(x_801);
if (x_808 == 0)
{
+lean_object* x_809; lean_object* x_810; lean_object* x_811; lean_object* x_812; lean_object* x_813; lean_object* x_814; lean_object* x_815; uint8_t x_816;
+x_809 = lean_ctor_get(x_801, 1);
+x_810 = lean_ctor_get(x_801, 0);
+lean_dec(x_810);
+x_811 = lean_ctor_get(x_807, 0);
+lean_inc(x_811);
lean_dec(x_807);
-lean_dec(x_805);
-lean_dec(x_789);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_ctor_set(x_793, 0, x_1);
-return x_793;
-}
-else
-{
-lean_object* x_809; lean_object* x_810; lean_object* x_811; lean_object* x_812;
-lean_free_object(x_793);
-lean_dec(x_1);
-x_809 = lean_nat_sub(x_807, x_805);
-lean_dec(x_805);
-lean_dec(x_807);
-x_810 = lean_unsigned_to_nat(1u);
-x_811 = lean_nat_sub(x_809, x_810);
-lean_dec(x_809);
-x_812 = l_Lean_Expr_getRevArg_x21(x_789, x_811);
-lean_dec(x_789);
-x_1 = x_812;
-x_6 = x_801;
-goto _start;
-}
-}
-else
-{
-lean_object* x_814; lean_object* x_815; lean_object* x_816; lean_object* x_817; lean_object* x_818; lean_object* x_819; uint8_t x_820;
-x_814 = lean_ctor_get(x_793, 1);
-lean_inc(x_814);
+x_812 = lean_ctor_get(x_811, 3);
+lean_inc(x_812);
+lean_dec(x_811);
+x_813 = lean_nat_add(x_812, x_793);
lean_dec(x_793);
-x_815 = lean_ctor_get(x_799, 0);
-lean_inc(x_815);
-lean_dec(x_799);
-x_816 = lean_ctor_get(x_815, 3);
-lean_inc(x_816);
+lean_dec(x_812);
+x_814 = lean_unsigned_to_nat(0u);
+x_815 = l_Lean_Expr_getAppNumArgsAux(x_797, x_814);
+x_816 = lean_nat_dec_lt(x_813, x_815);
+if (x_816 == 0)
+{
lean_dec(x_815);
-x_817 = lean_nat_add(x_816, x_785);
-lean_dec(x_785);
-lean_dec(x_816);
-x_818 = lean_unsigned_to_nat(0u);
-x_819 = l_Lean_Expr_getAppNumArgsAux(x_789, x_818);
-x_820 = lean_nat_dec_lt(x_817, x_819);
-if (x_820 == 0)
-{
-lean_object* x_821;
-lean_dec(x_819);
-lean_dec(x_817);
-lean_dec(x_789);
+lean_dec(x_813);
+lean_dec(x_797);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_821 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_821, 0, x_1);
-lean_ctor_set(x_821, 1, x_814);
-return x_821;
+lean_ctor_set(x_801, 0, x_1);
+return x_801;
}
else
{
-lean_object* x_822; lean_object* x_823; lean_object* x_824; lean_object* x_825;
+lean_object* x_817; lean_object* x_818; lean_object* x_819; lean_object* x_820;
+lean_free_object(x_801);
lean_dec(x_1);
-x_822 = lean_nat_sub(x_819, x_817);
+x_817 = lean_nat_sub(x_815, x_813);
+lean_dec(x_813);
+lean_dec(x_815);
+x_818 = lean_unsigned_to_nat(1u);
+x_819 = lean_nat_sub(x_817, x_818);
lean_dec(x_817);
-lean_dec(x_819);
-x_823 = lean_unsigned_to_nat(1u);
-x_824 = lean_nat_sub(x_822, x_823);
-lean_dec(x_822);
-x_825 = l_Lean_Expr_getRevArg_x21(x_789, x_824);
-lean_dec(x_789);
-x_1 = x_825;
-x_6 = x_814;
+x_820 = l_Lean_Expr_getRevArg_x21(x_797, x_819);
+lean_dec(x_797);
+x_1 = x_820;
+x_6 = x_809;
+goto _start;
+}
+}
+else
+{
+lean_object* x_822; lean_object* x_823; lean_object* x_824; lean_object* x_825; lean_object* x_826; lean_object* x_827; uint8_t x_828;
+x_822 = lean_ctor_get(x_801, 1);
+lean_inc(x_822);
+lean_dec(x_801);
+x_823 = lean_ctor_get(x_807, 0);
+lean_inc(x_823);
+lean_dec(x_807);
+x_824 = lean_ctor_get(x_823, 3);
+lean_inc(x_824);
+lean_dec(x_823);
+x_825 = lean_nat_add(x_824, x_793);
+lean_dec(x_793);
+lean_dec(x_824);
+x_826 = lean_unsigned_to_nat(0u);
+x_827 = l_Lean_Expr_getAppNumArgsAux(x_797, x_826);
+x_828 = lean_nat_dec_lt(x_825, x_827);
+if (x_828 == 0)
+{
+lean_object* x_829;
+lean_dec(x_827);
+lean_dec(x_825);
+lean_dec(x_797);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+x_829 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_829, 0, x_1);
+lean_ctor_set(x_829, 1, x_822);
+return x_829;
+}
+else
+{
+lean_object* x_830; lean_object* x_831; lean_object* x_832; lean_object* x_833;
+lean_dec(x_1);
+x_830 = lean_nat_sub(x_827, x_825);
+lean_dec(x_825);
+lean_dec(x_827);
+x_831 = lean_unsigned_to_nat(1u);
+x_832 = lean_nat_sub(x_830, x_831);
+lean_dec(x_830);
+x_833 = l_Lean_Expr_getRevArg_x21(x_797, x_832);
+lean_dec(x_797);
+x_1 = x_833;
+x_6 = x_822;
goto _start;
}
}
}
else
{
-uint8_t x_827;
-lean_dec(x_799);
-lean_dec(x_789);
-lean_dec(x_785);
+uint8_t x_835;
+lean_dec(x_807);
+lean_dec(x_797);
+lean_dec(x_793);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_827 = !lean_is_exclusive(x_793);
-if (x_827 == 0)
+x_835 = !lean_is_exclusive(x_801);
+if (x_835 == 0)
{
-lean_object* x_828;
-x_828 = lean_ctor_get(x_793, 0);
-lean_dec(x_828);
-lean_ctor_set(x_793, 0, x_1);
-return x_793;
+lean_object* x_836;
+x_836 = lean_ctor_get(x_801, 0);
+lean_dec(x_836);
+lean_ctor_set(x_801, 0, x_1);
+return x_801;
}
else
{
-lean_object* x_829; lean_object* x_830;
-x_829 = lean_ctor_get(x_793, 1);
-lean_inc(x_829);
+lean_object* x_837; lean_object* x_838;
+x_837 = lean_ctor_get(x_801, 1);
+lean_inc(x_837);
+lean_dec(x_801);
+x_838 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_838, 0, x_1);
+lean_ctor_set(x_838, 1, x_837);
+return x_838;
+}
+}
+}
+}
+else
+{
+uint8_t x_839;
+lean_dec(x_797);
lean_dec(x_793);
-x_830 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_830, 0, x_1);
-lean_ctor_set(x_830, 1, x_829);
-return x_830;
-}
-}
-}
-}
-else
-{
-uint8_t x_831;
-lean_dec(x_789);
-lean_dec(x_785);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_831 = !lean_is_exclusive(x_793);
-if (x_831 == 0)
+x_839 = !lean_is_exclusive(x_801);
+if (x_839 == 0)
{
-return x_793;
+return x_801;
}
else
{
-lean_object* x_832; lean_object* x_833; lean_object* x_834;
-x_832 = lean_ctor_get(x_793, 0);
-x_833 = lean_ctor_get(x_793, 1);
-lean_inc(x_833);
-lean_inc(x_832);
-lean_dec(x_793);
-x_834 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_834, 0, x_832);
-lean_ctor_set(x_834, 1, x_833);
-return x_834;
-}
-}
-}
-else
-{
-lean_dec(x_791);
-lean_dec(x_789);
-lean_dec(x_785);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_ctor_set(x_787, 0, x_1);
-return x_787;
-}
-}
-else
-{
-lean_object* x_835; lean_object* x_836; lean_object* x_837;
-x_835 = lean_ctor_get(x_787, 0);
-x_836 = lean_ctor_get(x_787, 1);
-lean_inc(x_836);
-lean_inc(x_835);
-lean_dec(x_787);
-x_837 = l_Lean_Expr_getAppFn(x_835);
-if (lean_obj_tag(x_837) == 4)
-{
-lean_object* x_838; lean_object* x_839;
-x_838 = lean_ctor_get(x_837, 0);
-lean_inc(x_838);
-lean_dec(x_837);
-x_839 = l_Lean_Meta_getConst_x3f(x_838, x_2, x_3, x_4, x_5, x_836);
-if (lean_obj_tag(x_839) == 0)
-{
-lean_object* x_840;
-x_840 = lean_ctor_get(x_839, 0);
-lean_inc(x_840);
-if (lean_obj_tag(x_840) == 0)
-{
-lean_object* x_841; lean_object* x_842; lean_object* x_843;
-lean_dec(x_835);
-lean_dec(x_785);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-x_841 = lean_ctor_get(x_839, 1);
+lean_object* x_840; lean_object* x_841; lean_object* x_842;
+x_840 = lean_ctor_get(x_801, 0);
+x_841 = lean_ctor_get(x_801, 1);
lean_inc(x_841);
-if (lean_is_exclusive(x_839)) {
- lean_ctor_release(x_839, 0);
- lean_ctor_release(x_839, 1);
- x_842 = x_839;
-} else {
- lean_dec_ref(x_839);
- x_842 = lean_box(0);
+lean_inc(x_840);
+lean_dec(x_801);
+x_842 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_842, 0, x_840);
+lean_ctor_set(x_842, 1, x_841);
+return x_842;
}
-if (lean_is_scalar(x_842)) {
- x_843 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_843 = x_842;
}
-lean_ctor_set(x_843, 0, x_1);
-lean_ctor_set(x_843, 1, x_841);
-return x_843;
}
else
{
-lean_object* x_844;
-x_844 = lean_ctor_get(x_840, 0);
+lean_dec(x_799);
+lean_dec(x_797);
+lean_dec(x_793);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+lean_ctor_set(x_795, 0, x_1);
+return x_795;
+}
+}
+else
+{
+lean_object* x_843; lean_object* x_844; lean_object* x_845;
+x_843 = lean_ctor_get(x_795, 0);
+x_844 = lean_ctor_get(x_795, 1);
lean_inc(x_844);
-lean_dec(x_840);
-if (lean_obj_tag(x_844) == 6)
+lean_inc(x_843);
+lean_dec(x_795);
+x_845 = l_Lean_Expr_getAppFn(x_843);
+if (lean_obj_tag(x_845) == 4)
{
-lean_object* x_845; lean_object* x_846; lean_object* x_847; lean_object* x_848; lean_object* x_849; lean_object* x_850; lean_object* x_851; uint8_t x_852;
-x_845 = lean_ctor_get(x_839, 1);
-lean_inc(x_845);
-if (lean_is_exclusive(x_839)) {
- lean_ctor_release(x_839, 0);
- lean_ctor_release(x_839, 1);
- x_846 = x_839;
-} else {
- lean_dec_ref(x_839);
- x_846 = lean_box(0);
-}
-x_847 = lean_ctor_get(x_844, 0);
-lean_inc(x_847);
-lean_dec(x_844);
-x_848 = lean_ctor_get(x_847, 3);
+lean_object* x_846; lean_object* x_847;
+x_846 = lean_ctor_get(x_845, 0);
+lean_inc(x_846);
+lean_dec(x_845);
+x_847 = l_Lean_Meta_getConst_x3f(x_846, x_2, x_3, x_4, x_5, x_844);
+if (lean_obj_tag(x_847) == 0)
+{
+lean_object* x_848;
+x_848 = lean_ctor_get(x_847, 0);
lean_inc(x_848);
-lean_dec(x_847);
-x_849 = lean_nat_add(x_848, x_785);
-lean_dec(x_785);
+if (lean_obj_tag(x_848) == 0)
+{
+lean_object* x_849; lean_object* x_850; lean_object* x_851;
+lean_dec(x_843);
+lean_dec(x_793);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+x_849 = lean_ctor_get(x_847, 1);
+lean_inc(x_849);
+if (lean_is_exclusive(x_847)) {
+ lean_ctor_release(x_847, 0);
+ lean_ctor_release(x_847, 1);
+ x_850 = x_847;
+} else {
+ lean_dec_ref(x_847);
+ x_850 = lean_box(0);
+}
+if (lean_is_scalar(x_850)) {
+ x_851 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_851 = x_850;
+}
+lean_ctor_set(x_851, 0, x_1);
+lean_ctor_set(x_851, 1, x_849);
+return x_851;
+}
+else
+{
+lean_object* x_852;
+x_852 = lean_ctor_get(x_848, 0);
+lean_inc(x_852);
lean_dec(x_848);
-x_850 = lean_unsigned_to_nat(0u);
-x_851 = l_Lean_Expr_getAppNumArgsAux(x_835, x_850);
-x_852 = lean_nat_dec_lt(x_849, x_851);
-if (x_852 == 0)
+if (lean_obj_tag(x_852) == 6)
{
-lean_object* x_853;
-lean_dec(x_851);
-lean_dec(x_849);
-lean_dec(x_835);
+lean_object* x_853; lean_object* x_854; lean_object* x_855; lean_object* x_856; lean_object* x_857; lean_object* x_858; lean_object* x_859; uint8_t x_860;
+x_853 = lean_ctor_get(x_847, 1);
+lean_inc(x_853);
+if (lean_is_exclusive(x_847)) {
+ lean_ctor_release(x_847, 0);
+ lean_ctor_release(x_847, 1);
+ x_854 = x_847;
+} else {
+ lean_dec_ref(x_847);
+ x_854 = lean_box(0);
+}
+x_855 = lean_ctor_get(x_852, 0);
+lean_inc(x_855);
+lean_dec(x_852);
+x_856 = lean_ctor_get(x_855, 3);
+lean_inc(x_856);
+lean_dec(x_855);
+x_857 = lean_nat_add(x_856, x_793);
+lean_dec(x_793);
+lean_dec(x_856);
+x_858 = lean_unsigned_to_nat(0u);
+x_859 = l_Lean_Expr_getAppNumArgsAux(x_843, x_858);
+x_860 = lean_nat_dec_lt(x_857, x_859);
+if (x_860 == 0)
+{
+lean_object* x_861;
+lean_dec(x_859);
+lean_dec(x_857);
+lean_dec(x_843);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-if (lean_is_scalar(x_846)) {
- x_853 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_853 = x_846;
-}
-lean_ctor_set(x_853, 0, x_1);
-lean_ctor_set(x_853, 1, x_845);
-return x_853;
-}
-else
-{
-lean_object* x_854; lean_object* x_855; lean_object* x_856; lean_object* x_857;
-lean_dec(x_846);
-lean_dec(x_1);
-x_854 = lean_nat_sub(x_851, x_849);
-lean_dec(x_849);
-lean_dec(x_851);
-x_855 = lean_unsigned_to_nat(1u);
-x_856 = lean_nat_sub(x_854, x_855);
-lean_dec(x_854);
-x_857 = l_Lean_Expr_getRevArg_x21(x_835, x_856);
-lean_dec(x_835);
-x_1 = x_857;
-x_6 = x_845;
-goto _start;
-}
-}
-else
-{
-lean_object* x_859; lean_object* x_860; lean_object* x_861;
-lean_dec(x_844);
-lean_dec(x_835);
-lean_dec(x_785);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-x_859 = lean_ctor_get(x_839, 1);
-lean_inc(x_859);
-if (lean_is_exclusive(x_839)) {
- lean_ctor_release(x_839, 0);
- lean_ctor_release(x_839, 1);
- x_860 = x_839;
-} else {
- lean_dec_ref(x_839);
- x_860 = lean_box(0);
-}
-if (lean_is_scalar(x_860)) {
+if (lean_is_scalar(x_854)) {
x_861 = lean_alloc_ctor(0, 2, 0);
} else {
- x_861 = x_860;
+ x_861 = x_854;
}
lean_ctor_set(x_861, 0, x_1);
-lean_ctor_set(x_861, 1, x_859);
+lean_ctor_set(x_861, 1, x_853);
return x_861;
}
-}
-}
else
{
lean_object* x_862; lean_object* x_863; lean_object* x_864; lean_object* x_865;
-lean_dec(x_835);
-lean_dec(x_785);
+lean_dec(x_854);
+lean_dec(x_1);
+x_862 = lean_nat_sub(x_859, x_857);
+lean_dec(x_857);
+lean_dec(x_859);
+x_863 = lean_unsigned_to_nat(1u);
+x_864 = lean_nat_sub(x_862, x_863);
+lean_dec(x_862);
+x_865 = l_Lean_Expr_getRevArg_x21(x_843, x_864);
+lean_dec(x_843);
+x_1 = x_865;
+x_6 = x_853;
+goto _start;
+}
+}
+else
+{
+lean_object* x_867; lean_object* x_868; lean_object* x_869;
+lean_dec(x_852);
+lean_dec(x_843);
+lean_dec(x_793);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+x_867 = lean_ctor_get(x_847, 1);
+lean_inc(x_867);
+if (lean_is_exclusive(x_847)) {
+ lean_ctor_release(x_847, 0);
+ lean_ctor_release(x_847, 1);
+ x_868 = x_847;
+} else {
+ lean_dec_ref(x_847);
+ x_868 = lean_box(0);
+}
+if (lean_is_scalar(x_868)) {
+ x_869 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_869 = x_868;
+}
+lean_ctor_set(x_869, 0, x_1);
+lean_ctor_set(x_869, 1, x_867);
+return x_869;
+}
+}
+}
+else
+{
+lean_object* x_870; lean_object* x_871; lean_object* x_872; lean_object* x_873;
+lean_dec(x_843);
+lean_dec(x_793);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_862 = lean_ctor_get(x_839, 0);
-lean_inc(x_862);
-x_863 = lean_ctor_get(x_839, 1);
-lean_inc(x_863);
-if (lean_is_exclusive(x_839)) {
- lean_ctor_release(x_839, 0);
- lean_ctor_release(x_839, 1);
- x_864 = x_839;
+x_870 = lean_ctor_get(x_847, 0);
+lean_inc(x_870);
+x_871 = lean_ctor_get(x_847, 1);
+lean_inc(x_871);
+if (lean_is_exclusive(x_847)) {
+ lean_ctor_release(x_847, 0);
+ lean_ctor_release(x_847, 1);
+ x_872 = x_847;
} else {
- lean_dec_ref(x_839);
- x_864 = lean_box(0);
+ lean_dec_ref(x_847);
+ x_872 = lean_box(0);
}
-if (lean_is_scalar(x_864)) {
- x_865 = lean_alloc_ctor(1, 2, 0);
+if (lean_is_scalar(x_872)) {
+ x_873 = lean_alloc_ctor(1, 2, 0);
} else {
- x_865 = x_864;
+ x_873 = x_872;
}
-lean_ctor_set(x_865, 0, x_862);
-lean_ctor_set(x_865, 1, x_863);
-return x_865;
+lean_ctor_set(x_873, 0, x_870);
+lean_ctor_set(x_873, 1, x_871);
+return x_873;
}
}
else
{
-lean_object* x_866;
-lean_dec(x_837);
-lean_dec(x_835);
-lean_dec(x_785);
+lean_object* x_874;
+lean_dec(x_845);
+lean_dec(x_843);
+lean_dec(x_793);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_866 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_866, 0, x_1);
-lean_ctor_set(x_866, 1, x_836);
-return x_866;
+x_874 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_874, 0, x_1);
+lean_ctor_set(x_874, 1, x_844);
+return x_874;
}
}
}
else
{
-uint8_t x_867;
-lean_dec(x_785);
+uint8_t x_875;
+lean_dec(x_793);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_867 = !lean_is_exclusive(x_787);
-if (x_867 == 0)
+x_875 = !lean_is_exclusive(x_795);
+if (x_875 == 0)
{
-return x_787;
+return x_795;
}
else
{
-lean_object* x_868; lean_object* x_869; lean_object* x_870;
-x_868 = lean_ctor_get(x_787, 0);
-x_869 = lean_ctor_get(x_787, 1);
-lean_inc(x_869);
-lean_inc(x_868);
-lean_dec(x_787);
-x_870 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_870, 0, x_868);
-lean_ctor_set(x_870, 1, x_869);
-return x_870;
+lean_object* x_876; lean_object* x_877; lean_object* x_878;
+x_876 = lean_ctor_get(x_795, 0);
+x_877 = lean_ctor_get(x_795, 1);
+lean_inc(x_877);
+lean_inc(x_876);
+lean_dec(x_795);
+x_878 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_878, 0, x_876);
+lean_ctor_set(x_878, 1, x_877);
+return x_878;
}
}
}
default:
{
-lean_object* x_871; lean_object* x_872; lean_object* x_873; lean_object* x_874;
+lean_object* x_879; lean_object* x_880; lean_object* x_881; lean_object* x_882;
lean_dec(x_1);
-x_871 = l___private_Lean_Meta_Basic_0__Lean_Meta_isClassQuick_x3f___closed__1;
-x_872 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___closed__2;
-x_873 = lean_panic_fn(x_871, x_872);
-x_874 = lean_apply_5(x_873, x_2, x_3, x_4, x_5, x_616);
-return x_874;
+x_879 = l___private_Lean_Meta_Basic_0__Lean_Meta_isClassQuick_x3f___closed__1;
+x_880 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___closed__2;
+x_881 = lean_panic_fn(x_879, x_880);
+x_882 = lean_apply_5(x_881, x_2, x_3, x_4, x_5, x_624);
+return x_882;
}
}
}
+block_890:
+{
+if (x_884 == 0)
+{
+x_624 = x_885;
+goto block_883;
+}
+else
+{
+lean_object* x_886; lean_object* x_887; lean_object* x_888; lean_object* x_889;
+lean_inc(x_1);
+x_886 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_886, 0, x_1);
+x_887 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___closed__5;
+x_888 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_887, x_886, x_2, x_3, x_4, x_5, x_885);
+x_889 = lean_ctor_get(x_888, 1);
+lean_inc(x_889);
+lean_dec(x_888);
+x_624 = x_889;
+goto block_883;
+}
+}
}
case 10:
{
-lean_object* x_891;
-x_891 = lean_ctor_get(x_1, 1);
-lean_inc(x_891);
+lean_object* x_903;
+x_903 = lean_ctor_get(x_1, 1);
+lean_inc(x_903);
lean_dec(x_1);
-x_1 = x_891;
+x_1 = x_903;
goto _start;
}
case 11:
{
-lean_object* x_893; lean_object* x_1153; lean_object* x_1154; lean_object* x_1155; uint8_t x_1156;
-x_1153 = lean_st_ref_get(x_5, x_6);
-x_1154 = lean_ctor_get(x_1153, 0);
-lean_inc(x_1154);
-x_1155 = lean_ctor_get(x_1154, 3);
-lean_inc(x_1155);
-lean_dec(x_1154);
-x_1156 = lean_ctor_get_uint8(x_1155, sizeof(void*)*1);
-lean_dec(x_1155);
-if (x_1156 == 0)
+lean_object* x_905; uint8_t x_1165; lean_object* x_1166; lean_object* x_1172; lean_object* x_1173; lean_object* x_1174; uint8_t x_1175;
+x_1172 = lean_st_ref_get(x_5, x_6);
+x_1173 = lean_ctor_get(x_1172, 0);
+lean_inc(x_1173);
+x_1174 = lean_ctor_get(x_1173, 3);
+lean_inc(x_1174);
+lean_dec(x_1173);
+x_1175 = lean_ctor_get_uint8(x_1174, sizeof(void*)*1);
+lean_dec(x_1174);
+if (x_1175 == 0)
{
-lean_object* x_1157;
-x_1157 = lean_ctor_get(x_1153, 1);
-lean_inc(x_1157);
-lean_dec(x_1153);
-x_893 = x_1157;
-goto block_1152;
+lean_object* x_1176; uint8_t x_1177;
+x_1176 = lean_ctor_get(x_1172, 1);
+lean_inc(x_1176);
+lean_dec(x_1172);
+x_1177 = 0;
+x_1165 = x_1177;
+x_1166 = x_1176;
+goto block_1171;
}
else
{
-lean_object* x_1158; lean_object* x_1159; lean_object* x_1160; lean_object* x_1161; uint8_t x_1162;
-x_1158 = lean_ctor_get(x_1153, 1);
-lean_inc(x_1158);
-lean_dec(x_1153);
-x_1159 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___closed__5;
-x_1160 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_1159, x_2, x_3, x_4, x_5, x_1158);
-x_1161 = lean_ctor_get(x_1160, 0);
-lean_inc(x_1161);
-x_1162 = lean_unbox(x_1161);
-lean_dec(x_1161);
-if (x_1162 == 0)
-{
-lean_object* x_1163;
-x_1163 = lean_ctor_get(x_1160, 1);
-lean_inc(x_1163);
-lean_dec(x_1160);
-x_893 = x_1163;
-goto block_1152;
+lean_object* x_1178; lean_object* x_1179; lean_object* x_1180; lean_object* x_1181; lean_object* x_1182; uint8_t x_1183;
+x_1178 = lean_ctor_get(x_1172, 1);
+lean_inc(x_1178);
+lean_dec(x_1172);
+x_1179 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___closed__5;
+x_1180 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_1179, x_2, x_3, x_4, x_5, x_1178);
+x_1181 = lean_ctor_get(x_1180, 0);
+lean_inc(x_1181);
+x_1182 = lean_ctor_get(x_1180, 1);
+lean_inc(x_1182);
+lean_dec(x_1180);
+x_1183 = lean_unbox(x_1181);
+lean_dec(x_1181);
+x_1165 = x_1183;
+x_1166 = x_1182;
+goto block_1171;
}
-else
-{
-lean_object* x_1164; lean_object* x_1165; lean_object* x_1166; lean_object* x_1167;
-x_1164 = lean_ctor_get(x_1160, 1);
-lean_inc(x_1164);
-lean_dec(x_1160);
-lean_inc(x_1);
-x_1165 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_1165, 0, x_1);
-x_1166 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_1159, x_1165, x_2, x_3, x_4, x_5, x_1164);
-x_1167 = lean_ctor_get(x_1166, 1);
-lean_inc(x_1167);
-lean_dec(x_1166);
-x_893 = x_1167;
-goto block_1152;
-}
-}
-block_1152:
+block_1164:
{
switch (lean_obj_tag(x_1)) {
case 4:
{
-lean_object* x_894;
+lean_object* x_906;
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_894 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_894, 0, x_1);
-lean_ctor_set(x_894, 1, x_893);
-return x_894;
+x_906 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_906, 0, x_1);
+lean_ctor_set(x_906, 1, x_905);
+return x_906;
}
case 5:
{
-lean_object* x_895; lean_object* x_896; lean_object* x_897;
-x_895 = lean_ctor_get(x_1, 0);
-lean_inc(x_895);
-x_896 = l_Lean_Expr_getAppFn(x_895);
-lean_dec(x_895);
+lean_object* x_907; lean_object* x_908; lean_object* x_909;
+x_907 = lean_ctor_get(x_1, 0);
+lean_inc(x_907);
+x_908 = l_Lean_Expr_getAppFn(x_907);
+lean_dec(x_907);
lean_inc(x_5);
lean_inc(x_4);
lean_inc(x_3);
lean_inc(x_2);
-lean_inc(x_896);
-x_897 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2(x_896, x_2, x_3, x_4, x_5, x_893);
-if (lean_obj_tag(x_897) == 0)
+lean_inc(x_908);
+x_909 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2(x_908, x_2, x_3, x_4, x_5, x_905);
+if (lean_obj_tag(x_909) == 0)
{
-uint8_t x_898;
-x_898 = !lean_is_exclusive(x_897);
-if (x_898 == 0)
+uint8_t x_910;
+x_910 = !lean_is_exclusive(x_909);
+if (x_910 == 0)
{
-lean_object* x_899; lean_object* x_900; uint8_t x_901;
-x_899 = lean_ctor_get(x_897, 0);
-x_900 = lean_ctor_get(x_897, 1);
-x_901 = l_Lean_Expr_isLambda(x_899);
-if (x_901 == 0)
+lean_object* x_911; lean_object* x_912; uint8_t x_913;
+x_911 = lean_ctor_get(x_909, 0);
+x_912 = lean_ctor_get(x_909, 1);
+x_913 = l_Lean_Expr_isLambda(x_911);
+if (x_913 == 0)
{
-if (lean_obj_tag(x_899) == 4)
+if (lean_obj_tag(x_911) == 4)
{
-lean_object* x_902; lean_object* x_903; lean_object* x_904; lean_object* x_905;
-lean_free_object(x_897);
-x_902 = lean_ctor_get(x_899, 0);
-lean_inc(x_902);
-x_903 = lean_ctor_get(x_899, 1);
-lean_inc(x_903);
+lean_object* x_914; lean_object* x_915; lean_object* x_916; lean_object* x_917;
+lean_free_object(x_909);
+x_914 = lean_ctor_get(x_911, 0);
+lean_inc(x_914);
+x_915 = lean_ctor_get(x_911, 1);
+lean_inc(x_915);
lean_inc(x_1);
-lean_inc(x_899);
-lean_inc(x_896);
-x_904 = lean_alloc_closure((void*)(l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___lambda__1___boxed), 9, 3);
-lean_closure_set(x_904, 0, x_896);
-lean_closure_set(x_904, 1, x_899);
-lean_closure_set(x_904, 2, x_1);
-x_905 = l_Lean_Meta_getConst_x3f(x_902, x_2, x_3, x_4, x_5, x_900);
-if (lean_obj_tag(x_905) == 0)
+lean_inc(x_911);
+lean_inc(x_908);
+x_916 = lean_alloc_closure((void*)(l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___lambda__1___boxed), 9, 3);
+lean_closure_set(x_916, 0, x_908);
+lean_closure_set(x_916, 1, x_911);
+lean_closure_set(x_916, 2, x_1);
+x_917 = l_Lean_Meta_getConst_x3f(x_914, x_2, x_3, x_4, x_5, x_912);
+if (lean_obj_tag(x_917) == 0)
{
-lean_object* x_906;
-x_906 = lean_ctor_get(x_905, 0);
-lean_inc(x_906);
-if (lean_obj_tag(x_906) == 0)
+lean_object* x_918;
+x_918 = lean_ctor_get(x_917, 0);
+lean_inc(x_918);
+if (lean_obj_tag(x_918) == 0)
{
-uint8_t x_907;
-lean_dec(x_904);
-lean_dec(x_903);
+uint8_t x_919;
+lean_dec(x_916);
+lean_dec(x_915);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_907 = !lean_is_exclusive(x_905);
-if (x_907 == 0)
+x_919 = !lean_is_exclusive(x_917);
+if (x_919 == 0)
{
-lean_object* x_908; uint8_t x_909;
-x_908 = lean_ctor_get(x_905, 0);
-lean_dec(x_908);
-x_909 = lean_expr_eqv(x_896, x_899);
-lean_dec(x_896);
-if (x_909 == 0)
-{
-lean_object* x_910;
-x_910 = l_Lean_Expr_updateFn(x_1, x_899);
-lean_dec(x_899);
-lean_ctor_set(x_905, 0, x_910);
-return x_905;
-}
-else
-{
-lean_dec(x_899);
-lean_ctor_set(x_905, 0, x_1);
-return x_905;
-}
-}
-else
-{
-lean_object* x_911; uint8_t x_912;
-x_911 = lean_ctor_get(x_905, 1);
-lean_inc(x_911);
-lean_dec(x_905);
-x_912 = lean_expr_eqv(x_896, x_899);
-lean_dec(x_896);
-if (x_912 == 0)
-{
-lean_object* x_913; lean_object* x_914;
-x_913 = l_Lean_Expr_updateFn(x_1, x_899);
-lean_dec(x_899);
-x_914 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_914, 0, x_913);
-lean_ctor_set(x_914, 1, x_911);
-return x_914;
-}
-else
-{
-lean_object* x_915;
-lean_dec(x_899);
-x_915 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_915, 0, x_1);
-lean_ctor_set(x_915, 1, x_911);
-return x_915;
-}
-}
-}
-else
-{
-lean_object* x_916;
-x_916 = lean_ctor_get(x_906, 0);
-lean_inc(x_916);
-lean_dec(x_906);
-switch (lean_obj_tag(x_916)) {
-case 1:
-{
-lean_object* x_917; lean_object* x_918; lean_object* x_919; lean_object* x_920; uint8_t x_921;
-lean_dec(x_904);
-x_917 = lean_ctor_get(x_905, 1);
-lean_inc(x_917);
-lean_dec(x_905);
-x_918 = l_Lean_ConstantInfo_name(x_916);
-x_919 = l___private_Lean_Meta_WHNF_0__Lean_Meta_isAuxDefImp_x3f(x_918, x_2, x_3, x_4, x_5, x_917);
-lean_dec(x_918);
-x_920 = lean_ctor_get(x_919, 0);
-lean_inc(x_920);
-x_921 = lean_unbox(x_920);
+lean_object* x_920; uint8_t x_921;
+x_920 = lean_ctor_get(x_917, 0);
lean_dec(x_920);
+x_921 = lean_expr_eqv(x_908, x_911);
+lean_dec(x_908);
if (x_921 == 0)
{
-uint8_t x_922;
+lean_object* x_922;
+x_922 = l_Lean_Expr_updateFn(x_1, x_911);
+lean_dec(x_911);
+lean_ctor_set(x_917, 0, x_922);
+return x_917;
+}
+else
+{
+lean_dec(x_911);
+lean_ctor_set(x_917, 0, x_1);
+return x_917;
+}
+}
+else
+{
+lean_object* x_923; uint8_t x_924;
+x_923 = lean_ctor_get(x_917, 1);
+lean_inc(x_923);
+lean_dec(x_917);
+x_924 = lean_expr_eqv(x_908, x_911);
+lean_dec(x_908);
+if (x_924 == 0)
+{
+lean_object* x_925; lean_object* x_926;
+x_925 = l_Lean_Expr_updateFn(x_1, x_911);
+lean_dec(x_911);
+x_926 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_926, 0, x_925);
+lean_ctor_set(x_926, 1, x_923);
+return x_926;
+}
+else
+{
+lean_object* x_927;
+lean_dec(x_911);
+x_927 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_927, 0, x_1);
+lean_ctor_set(x_927, 1, x_923);
+return x_927;
+}
+}
+}
+else
+{
+lean_object* x_928;
+x_928 = lean_ctor_get(x_918, 0);
+lean_inc(x_928);
+lean_dec(x_918);
+switch (lean_obj_tag(x_928)) {
+case 1:
+{
+lean_object* x_929; lean_object* x_930; lean_object* x_931; lean_object* x_932; uint8_t x_933;
lean_dec(x_916);
-lean_dec(x_903);
+x_929 = lean_ctor_get(x_917, 1);
+lean_inc(x_929);
+lean_dec(x_917);
+x_930 = l_Lean_ConstantInfo_name(x_928);
+x_931 = l___private_Lean_Meta_WHNF_0__Lean_Meta_isAuxDefImp_x3f(x_930, x_2, x_3, x_4, x_5, x_929);
+lean_dec(x_930);
+x_932 = lean_ctor_get(x_931, 0);
+lean_inc(x_932);
+x_933 = lean_unbox(x_932);
+lean_dec(x_932);
+if (x_933 == 0)
+{
+uint8_t x_934;
+lean_dec(x_928);
+lean_dec(x_915);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_922 = !lean_is_exclusive(x_919);
-if (x_922 == 0)
+x_934 = !lean_is_exclusive(x_931);
+if (x_934 == 0)
{
-lean_object* x_923; uint8_t x_924;
-x_923 = lean_ctor_get(x_919, 0);
-lean_dec(x_923);
-x_924 = lean_expr_eqv(x_896, x_899);
-lean_dec(x_896);
-if (x_924 == 0)
-{
-lean_object* x_925;
-x_925 = l_Lean_Expr_updateFn(x_1, x_899);
-lean_dec(x_899);
-lean_ctor_set(x_919, 0, x_925);
-return x_919;
-}
-else
-{
-lean_dec(x_899);
-lean_ctor_set(x_919, 0, x_1);
-return x_919;
-}
-}
-else
-{
-lean_object* x_926; uint8_t x_927;
-x_926 = lean_ctor_get(x_919, 1);
-lean_inc(x_926);
-lean_dec(x_919);
-x_927 = lean_expr_eqv(x_896, x_899);
-lean_dec(x_896);
-if (x_927 == 0)
-{
-lean_object* x_928; lean_object* x_929;
-x_928 = l_Lean_Expr_updateFn(x_1, x_899);
-lean_dec(x_899);
-x_929 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_929, 0, x_928);
-lean_ctor_set(x_929, 1, x_926);
-return x_929;
-}
-else
-{
-lean_object* x_930;
-lean_dec(x_899);
-x_930 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_930, 0, x_1);
-lean_ctor_set(x_930, 1, x_926);
-return x_930;
-}
-}
-}
-else
-{
-lean_object* x_931; lean_object* x_932; lean_object* x_933; lean_object* x_934; lean_object* x_935; lean_object* x_936;
-x_931 = lean_ctor_get(x_919, 1);
-lean_inc(x_931);
-lean_dec(x_919);
-x_932 = lean_unsigned_to_nat(0u);
-x_933 = l_Lean_Expr_getAppNumArgsAux(x_1, x_932);
-x_934 = lean_mk_empty_array_with_capacity(x_933);
-lean_dec(x_933);
-lean_inc(x_1);
-x_935 = l___private_Lean_Expr_0__Lean_Expr_getAppRevArgsAux(x_1, x_934);
-x_936 = l___private_Lean_Meta_WHNF_0__Lean_Meta_deltaBetaDefinition___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__1(x_1, x_896, x_899, x_916, x_903, x_935, x_2, x_3, x_4, x_5, x_931);
+lean_object* x_935; uint8_t x_936;
+x_935 = lean_ctor_get(x_931, 0);
lean_dec(x_935);
-lean_dec(x_903);
-lean_dec(x_916);
-lean_dec(x_899);
-lean_dec(x_896);
-return x_936;
+x_936 = lean_expr_eqv(x_908, x_911);
+lean_dec(x_908);
+if (x_936 == 0)
+{
+lean_object* x_937;
+x_937 = l_Lean_Expr_updateFn(x_1, x_911);
+lean_dec(x_911);
+lean_ctor_set(x_931, 0, x_937);
+return x_931;
+}
+else
+{
+lean_dec(x_911);
+lean_ctor_set(x_931, 0, x_1);
+return x_931;
+}
+}
+else
+{
+lean_object* x_938; uint8_t x_939;
+x_938 = lean_ctor_get(x_931, 1);
+lean_inc(x_938);
+lean_dec(x_931);
+x_939 = lean_expr_eqv(x_908, x_911);
+lean_dec(x_908);
+if (x_939 == 0)
+{
+lean_object* x_940; lean_object* x_941;
+x_940 = l_Lean_Expr_updateFn(x_1, x_911);
+lean_dec(x_911);
+x_941 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_941, 0, x_940);
+lean_ctor_set(x_941, 1, x_938);
+return x_941;
+}
+else
+{
+lean_object* x_942;
+lean_dec(x_911);
+x_942 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_942, 0, x_1);
+lean_ctor_set(x_942, 1, x_938);
+return x_942;
+}
+}
+}
+else
+{
+lean_object* x_943; lean_object* x_944; lean_object* x_945; lean_object* x_946; lean_object* x_947; lean_object* x_948;
+x_943 = lean_ctor_get(x_931, 1);
+lean_inc(x_943);
+lean_dec(x_931);
+x_944 = lean_unsigned_to_nat(0u);
+x_945 = l_Lean_Expr_getAppNumArgsAux(x_1, x_944);
+x_946 = lean_mk_empty_array_with_capacity(x_945);
+lean_dec(x_945);
+lean_inc(x_1);
+x_947 = l___private_Lean_Expr_0__Lean_Expr_getAppRevArgsAux(x_1, x_946);
+x_948 = l___private_Lean_Meta_WHNF_0__Lean_Meta_deltaBetaDefinition___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__1(x_1, x_908, x_911, x_928, x_915, x_947, x_2, x_3, x_4, x_5, x_943);
+lean_dec(x_947);
+lean_dec(x_915);
+lean_dec(x_928);
+lean_dec(x_911);
+lean_dec(x_908);
+return x_948;
}
}
case 4:
{
-lean_object* x_937; lean_object* x_938; lean_object* x_939; lean_object* x_940; lean_object* x_941; lean_object* x_942; lean_object* x_943; lean_object* x_944; lean_object* x_945; lean_object* x_946; lean_object* x_947;
-lean_dec(x_899);
-lean_dec(x_896);
-x_937 = lean_ctor_get(x_905, 1);
-lean_inc(x_937);
-lean_dec(x_905);
-x_938 = lean_ctor_get(x_916, 0);
-lean_inc(x_938);
-lean_dec(x_916);
-x_939 = lean_unsigned_to_nat(0u);
-x_940 = l_Lean_Expr_getAppNumArgsAux(x_1, x_939);
-x_941 = l_Lean_Expr_getAppArgs___closed__1;
-lean_inc(x_940);
-x_942 = lean_mk_array(x_940, x_941);
-x_943 = lean_unsigned_to_nat(1u);
-x_944 = lean_nat_sub(x_940, x_943);
-lean_dec(x_940);
-x_945 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_942, x_944);
-x_946 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___closed__3;
-x_947 = l___private_Lean_Meta_WHNF_0__Lean_Meta_reduceQuotRec___rarg(x_938, x_903, x_945, x_904, x_946, x_2, x_3, x_4, x_5, x_937);
-lean_dec(x_945);
-lean_dec(x_903);
-lean_dec(x_938);
-return x_947;
+lean_object* x_949; lean_object* x_950; lean_object* x_951; lean_object* x_952; lean_object* x_953; lean_object* x_954; lean_object* x_955; lean_object* x_956; lean_object* x_957; lean_object* x_958; lean_object* x_959;
+lean_dec(x_911);
+lean_dec(x_908);
+x_949 = lean_ctor_get(x_917, 1);
+lean_inc(x_949);
+lean_dec(x_917);
+x_950 = lean_ctor_get(x_928, 0);
+lean_inc(x_950);
+lean_dec(x_928);
+x_951 = lean_unsigned_to_nat(0u);
+x_952 = l_Lean_Expr_getAppNumArgsAux(x_1, x_951);
+x_953 = l_Lean_Expr_getAppArgs___closed__1;
+lean_inc(x_952);
+x_954 = lean_mk_array(x_952, x_953);
+x_955 = lean_unsigned_to_nat(1u);
+x_956 = lean_nat_sub(x_952, x_955);
+lean_dec(x_952);
+x_957 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_954, x_956);
+x_958 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___closed__3;
+x_959 = l___private_Lean_Meta_WHNF_0__Lean_Meta_reduceQuotRec___rarg(x_950, x_915, x_957, x_916, x_958, x_2, x_3, x_4, x_5, x_949);
+lean_dec(x_957);
+lean_dec(x_915);
+lean_dec(x_950);
+return x_959;
}
case 7:
{
-lean_object* x_948; lean_object* x_949; lean_object* x_950; lean_object* x_951; lean_object* x_952; lean_object* x_953; lean_object* x_954; lean_object* x_955; lean_object* x_956; lean_object* x_957; lean_object* x_958;
-lean_dec(x_899);
-lean_dec(x_896);
-x_948 = lean_ctor_get(x_905, 1);
-lean_inc(x_948);
-lean_dec(x_905);
-x_949 = lean_ctor_get(x_916, 0);
-lean_inc(x_949);
-lean_dec(x_916);
-x_950 = lean_unsigned_to_nat(0u);
-x_951 = l_Lean_Expr_getAppNumArgsAux(x_1, x_950);
-x_952 = l_Lean_Expr_getAppArgs___closed__1;
-lean_inc(x_951);
-x_953 = lean_mk_array(x_951, x_952);
-x_954 = lean_unsigned_to_nat(1u);
-x_955 = lean_nat_sub(x_951, x_954);
-lean_dec(x_951);
-x_956 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_953, x_955);
-x_957 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___closed__3;
-x_958 = l___private_Lean_Meta_WHNF_0__Lean_Meta_reduceRec___rarg(x_949, x_903, x_956, x_904, x_957, x_2, x_3, x_4, x_5, x_948);
-lean_dec(x_956);
-lean_dec(x_903);
-return x_958;
+lean_object* x_960; lean_object* x_961; lean_object* x_962; lean_object* x_963; lean_object* x_964; lean_object* x_965; lean_object* x_966; lean_object* x_967; lean_object* x_968; lean_object* x_969; lean_object* x_970;
+lean_dec(x_911);
+lean_dec(x_908);
+x_960 = lean_ctor_get(x_917, 1);
+lean_inc(x_960);
+lean_dec(x_917);
+x_961 = lean_ctor_get(x_928, 0);
+lean_inc(x_961);
+lean_dec(x_928);
+x_962 = lean_unsigned_to_nat(0u);
+x_963 = l_Lean_Expr_getAppNumArgsAux(x_1, x_962);
+x_964 = l_Lean_Expr_getAppArgs___closed__1;
+lean_inc(x_963);
+x_965 = lean_mk_array(x_963, x_964);
+x_966 = lean_unsigned_to_nat(1u);
+x_967 = lean_nat_sub(x_963, x_966);
+lean_dec(x_963);
+x_968 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_965, x_967);
+x_969 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___closed__3;
+x_970 = l___private_Lean_Meta_WHNF_0__Lean_Meta_reduceRec___rarg(x_961, x_915, x_968, x_916, x_969, x_2, x_3, x_4, x_5, x_960);
+lean_dec(x_968);
+lean_dec(x_915);
+return x_970;
}
default:
{
-uint8_t x_959;
+uint8_t x_971;
+lean_dec(x_928);
lean_dec(x_916);
-lean_dec(x_904);
-lean_dec(x_903);
+lean_dec(x_915);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_959 = !lean_is_exclusive(x_905);
-if (x_959 == 0)
+x_971 = !lean_is_exclusive(x_917);
+if (x_971 == 0)
{
-lean_object* x_960; uint8_t x_961;
-x_960 = lean_ctor_get(x_905, 0);
-lean_dec(x_960);
-x_961 = lean_expr_eqv(x_896, x_899);
-lean_dec(x_896);
-if (x_961 == 0)
+lean_object* x_972; uint8_t x_973;
+x_972 = lean_ctor_get(x_917, 0);
+lean_dec(x_972);
+x_973 = lean_expr_eqv(x_908, x_911);
+lean_dec(x_908);
+if (x_973 == 0)
{
-lean_object* x_962;
-x_962 = l_Lean_Expr_updateFn(x_1, x_899);
-lean_dec(x_899);
-lean_ctor_set(x_905, 0, x_962);
-return x_905;
+lean_object* x_974;
+x_974 = l_Lean_Expr_updateFn(x_1, x_911);
+lean_dec(x_911);
+lean_ctor_set(x_917, 0, x_974);
+return x_917;
}
else
{
-lean_dec(x_899);
-lean_ctor_set(x_905, 0, x_1);
-return x_905;
+lean_dec(x_911);
+lean_ctor_set(x_917, 0, x_1);
+return x_917;
}
}
else
{
-lean_object* x_963; uint8_t x_964;
-x_963 = lean_ctor_get(x_905, 1);
-lean_inc(x_963);
-lean_dec(x_905);
-x_964 = lean_expr_eqv(x_896, x_899);
-lean_dec(x_896);
-if (x_964 == 0)
+lean_object* x_975; uint8_t x_976;
+x_975 = lean_ctor_get(x_917, 1);
+lean_inc(x_975);
+lean_dec(x_917);
+x_976 = lean_expr_eqv(x_908, x_911);
+lean_dec(x_908);
+if (x_976 == 0)
{
-lean_object* x_965; lean_object* x_966;
-x_965 = l_Lean_Expr_updateFn(x_1, x_899);
-lean_dec(x_899);
-x_966 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_966, 0, x_965);
-lean_ctor_set(x_966, 1, x_963);
-return x_966;
+lean_object* x_977; lean_object* x_978;
+x_977 = l_Lean_Expr_updateFn(x_1, x_911);
+lean_dec(x_911);
+x_978 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_978, 0, x_977);
+lean_ctor_set(x_978, 1, x_975);
+return x_978;
}
else
{
-lean_object* x_967;
-lean_dec(x_899);
-x_967 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_967, 0, x_1);
-lean_ctor_set(x_967, 1, x_963);
-return x_967;
+lean_object* x_979;
+lean_dec(x_911);
+x_979 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_979, 0, x_1);
+lean_ctor_set(x_979, 1, x_975);
+return x_979;
}
}
}
@@ -11129,206 +11127,136 @@ return x_967;
}
else
{
-uint8_t x_968;
-lean_dec(x_904);
-lean_dec(x_903);
-lean_dec(x_899);
-lean_dec(x_896);
+uint8_t x_980;
+lean_dec(x_916);
+lean_dec(x_915);
+lean_dec(x_911);
+lean_dec(x_908);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_968 = !lean_is_exclusive(x_905);
-if (x_968 == 0)
+x_980 = !lean_is_exclusive(x_917);
+if (x_980 == 0)
{
-return x_905;
+return x_917;
}
else
{
-lean_object* x_969; lean_object* x_970; lean_object* x_971;
-x_969 = lean_ctor_get(x_905, 0);
-x_970 = lean_ctor_get(x_905, 1);
-lean_inc(x_970);
-lean_inc(x_969);
-lean_dec(x_905);
-x_971 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_971, 0, x_969);
-lean_ctor_set(x_971, 1, x_970);
-return x_971;
+lean_object* x_981; lean_object* x_982; lean_object* x_983;
+x_981 = lean_ctor_get(x_917, 0);
+x_982 = lean_ctor_get(x_917, 1);
+lean_inc(x_982);
+lean_inc(x_981);
+lean_dec(x_917);
+x_983 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_983, 0, x_981);
+lean_ctor_set(x_983, 1, x_982);
+return x_983;
}
}
}
else
{
-uint8_t x_972;
+uint8_t x_984;
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_972 = lean_expr_eqv(x_896, x_899);
-lean_dec(x_896);
-if (x_972 == 0)
+x_984 = lean_expr_eqv(x_908, x_911);
+lean_dec(x_908);
+if (x_984 == 0)
{
-lean_object* x_973;
-x_973 = l_Lean_Expr_updateFn(x_1, x_899);
-lean_dec(x_899);
-lean_ctor_set(x_897, 0, x_973);
-return x_897;
+lean_object* x_985;
+x_985 = l_Lean_Expr_updateFn(x_1, x_911);
+lean_dec(x_911);
+lean_ctor_set(x_909, 0, x_985);
+return x_909;
}
else
{
-lean_dec(x_899);
-lean_ctor_set(x_897, 0, x_1);
-return x_897;
+lean_dec(x_911);
+lean_ctor_set(x_909, 0, x_1);
+return x_909;
}
}
}
else
{
-lean_object* x_974; lean_object* x_975; lean_object* x_976; lean_object* x_977; lean_object* x_978;
-lean_free_object(x_897);
-lean_dec(x_896);
-x_974 = lean_unsigned_to_nat(0u);
-x_975 = l_Lean_Expr_getAppNumArgsAux(x_1, x_974);
-x_976 = lean_mk_empty_array_with_capacity(x_975);
-lean_dec(x_975);
-x_977 = l___private_Lean_Expr_0__Lean_Expr_getAppRevArgsAux(x_1, x_976);
-x_978 = l_Lean_Expr_betaRev(x_899, x_977);
-lean_dec(x_977);
-lean_dec(x_899);
-x_1 = x_978;
-x_6 = x_900;
+lean_object* x_986; lean_object* x_987; lean_object* x_988; lean_object* x_989; lean_object* x_990;
+lean_free_object(x_909);
+lean_dec(x_908);
+x_986 = lean_unsigned_to_nat(0u);
+x_987 = l_Lean_Expr_getAppNumArgsAux(x_1, x_986);
+x_988 = lean_mk_empty_array_with_capacity(x_987);
+lean_dec(x_987);
+x_989 = l___private_Lean_Expr_0__Lean_Expr_getAppRevArgsAux(x_1, x_988);
+x_990 = l_Lean_Expr_betaRev(x_911, x_989);
+lean_dec(x_989);
+lean_dec(x_911);
+x_1 = x_990;
+x_6 = x_912;
goto _start;
}
}
else
{
-lean_object* x_980; lean_object* x_981; uint8_t x_982;
-x_980 = lean_ctor_get(x_897, 0);
-x_981 = lean_ctor_get(x_897, 1);
-lean_inc(x_981);
-lean_inc(x_980);
-lean_dec(x_897);
-x_982 = l_Lean_Expr_isLambda(x_980);
-if (x_982 == 0)
+lean_object* x_992; lean_object* x_993; uint8_t x_994;
+x_992 = lean_ctor_get(x_909, 0);
+x_993 = lean_ctor_get(x_909, 1);
+lean_inc(x_993);
+lean_inc(x_992);
+lean_dec(x_909);
+x_994 = l_Lean_Expr_isLambda(x_992);
+if (x_994 == 0)
{
-if (lean_obj_tag(x_980) == 4)
+if (lean_obj_tag(x_992) == 4)
{
-lean_object* x_983; lean_object* x_984; lean_object* x_985; lean_object* x_986;
-x_983 = lean_ctor_get(x_980, 0);
-lean_inc(x_983);
-x_984 = lean_ctor_get(x_980, 1);
-lean_inc(x_984);
-lean_inc(x_1);
-lean_inc(x_980);
-lean_inc(x_896);
-x_985 = lean_alloc_closure((void*)(l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___lambda__1___boxed), 9, 3);
-lean_closure_set(x_985, 0, x_896);
-lean_closure_set(x_985, 1, x_980);
-lean_closure_set(x_985, 2, x_1);
-x_986 = l_Lean_Meta_getConst_x3f(x_983, x_2, x_3, x_4, x_5, x_981);
-if (lean_obj_tag(x_986) == 0)
-{
-lean_object* x_987;
-x_987 = lean_ctor_get(x_986, 0);
-lean_inc(x_987);
-if (lean_obj_tag(x_987) == 0)
-{
-lean_object* x_988; lean_object* x_989; uint8_t x_990;
-lean_dec(x_985);
-lean_dec(x_984);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-x_988 = lean_ctor_get(x_986, 1);
-lean_inc(x_988);
-if (lean_is_exclusive(x_986)) {
- lean_ctor_release(x_986, 0);
- lean_ctor_release(x_986, 1);
- x_989 = x_986;
-} else {
- lean_dec_ref(x_986);
- x_989 = lean_box(0);
-}
-x_990 = lean_expr_eqv(x_896, x_980);
-lean_dec(x_896);
-if (x_990 == 0)
-{
-lean_object* x_991; lean_object* x_992;
-x_991 = l_Lean_Expr_updateFn(x_1, x_980);
-lean_dec(x_980);
-if (lean_is_scalar(x_989)) {
- x_992 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_992 = x_989;
-}
-lean_ctor_set(x_992, 0, x_991);
-lean_ctor_set(x_992, 1, x_988);
-return x_992;
-}
-else
-{
-lean_object* x_993;
-lean_dec(x_980);
-if (lean_is_scalar(x_989)) {
- x_993 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_993 = x_989;
-}
-lean_ctor_set(x_993, 0, x_1);
-lean_ctor_set(x_993, 1, x_988);
-return x_993;
-}
-}
-else
-{
-lean_object* x_994;
-x_994 = lean_ctor_get(x_987, 0);
-lean_inc(x_994);
-lean_dec(x_987);
-switch (lean_obj_tag(x_994)) {
-case 1:
-{
-lean_object* x_995; lean_object* x_996; lean_object* x_997; lean_object* x_998; uint8_t x_999;
-lean_dec(x_985);
-x_995 = lean_ctor_get(x_986, 1);
+lean_object* x_995; lean_object* x_996; lean_object* x_997; lean_object* x_998;
+x_995 = lean_ctor_get(x_992, 0);
lean_inc(x_995);
-lean_dec(x_986);
-x_996 = l_Lean_ConstantInfo_name(x_994);
-x_997 = l___private_Lean_Meta_WHNF_0__Lean_Meta_isAuxDefImp_x3f(x_996, x_2, x_3, x_4, x_5, x_995);
-lean_dec(x_996);
-x_998 = lean_ctor_get(x_997, 0);
-lean_inc(x_998);
-x_999 = lean_unbox(x_998);
-lean_dec(x_998);
-if (x_999 == 0)
+x_996 = lean_ctor_get(x_992, 1);
+lean_inc(x_996);
+lean_inc(x_1);
+lean_inc(x_992);
+lean_inc(x_908);
+x_997 = lean_alloc_closure((void*)(l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___lambda__1___boxed), 9, 3);
+lean_closure_set(x_997, 0, x_908);
+lean_closure_set(x_997, 1, x_992);
+lean_closure_set(x_997, 2, x_1);
+x_998 = l_Lean_Meta_getConst_x3f(x_995, x_2, x_3, x_4, x_5, x_993);
+if (lean_obj_tag(x_998) == 0)
+{
+lean_object* x_999;
+x_999 = lean_ctor_get(x_998, 0);
+lean_inc(x_999);
+if (lean_obj_tag(x_999) == 0)
{
lean_object* x_1000; lean_object* x_1001; uint8_t x_1002;
-lean_dec(x_994);
-lean_dec(x_984);
+lean_dec(x_997);
+lean_dec(x_996);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_1000 = lean_ctor_get(x_997, 1);
+x_1000 = lean_ctor_get(x_998, 1);
lean_inc(x_1000);
-if (lean_is_exclusive(x_997)) {
- lean_ctor_release(x_997, 0);
- lean_ctor_release(x_997, 1);
- x_1001 = x_997;
+if (lean_is_exclusive(x_998)) {
+ lean_ctor_release(x_998, 0);
+ lean_ctor_release(x_998, 1);
+ x_1001 = x_998;
} else {
- lean_dec_ref(x_997);
+ lean_dec_ref(x_998);
x_1001 = lean_box(0);
}
-x_1002 = lean_expr_eqv(x_896, x_980);
-lean_dec(x_896);
+x_1002 = lean_expr_eqv(x_908, x_992);
+lean_dec(x_908);
if (x_1002 == 0)
{
lean_object* x_1003; lean_object* x_1004;
-x_1003 = l_Lean_Expr_updateFn(x_1, x_980);
-lean_dec(x_980);
+x_1003 = l_Lean_Expr_updateFn(x_1, x_992);
+lean_dec(x_992);
if (lean_is_scalar(x_1001)) {
x_1004 = lean_alloc_ctor(0, 2, 0);
} else {
@@ -11341,7 +11269,7 @@ return x_1004;
else
{
lean_object* x_1005;
-lean_dec(x_980);
+lean_dec(x_992);
if (lean_is_scalar(x_1001)) {
x_1005 = lean_alloc_ctor(0, 2, 0);
} else {
@@ -11354,126 +11282,196 @@ return x_1005;
}
else
{
-lean_object* x_1006; lean_object* x_1007; lean_object* x_1008; lean_object* x_1009; lean_object* x_1010; lean_object* x_1011;
-x_1006 = lean_ctor_get(x_997, 1);
+lean_object* x_1006;
+x_1006 = lean_ctor_get(x_999, 0);
lean_inc(x_1006);
+lean_dec(x_999);
+switch (lean_obj_tag(x_1006)) {
+case 1:
+{
+lean_object* x_1007; lean_object* x_1008; lean_object* x_1009; lean_object* x_1010; uint8_t x_1011;
lean_dec(x_997);
-x_1007 = lean_unsigned_to_nat(0u);
-x_1008 = l_Lean_Expr_getAppNumArgsAux(x_1, x_1007);
-x_1009 = lean_mk_empty_array_with_capacity(x_1008);
+x_1007 = lean_ctor_get(x_998, 1);
+lean_inc(x_1007);
+lean_dec(x_998);
+x_1008 = l_Lean_ConstantInfo_name(x_1006);
+x_1009 = l___private_Lean_Meta_WHNF_0__Lean_Meta_isAuxDefImp_x3f(x_1008, x_2, x_3, x_4, x_5, x_1007);
lean_dec(x_1008);
-lean_inc(x_1);
-x_1010 = l___private_Lean_Expr_0__Lean_Expr_getAppRevArgsAux(x_1, x_1009);
-x_1011 = l___private_Lean_Meta_WHNF_0__Lean_Meta_deltaBetaDefinition___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__1(x_1, x_896, x_980, x_994, x_984, x_1010, x_2, x_3, x_4, x_5, x_1006);
+x_1010 = lean_ctor_get(x_1009, 0);
+lean_inc(x_1010);
+x_1011 = lean_unbox(x_1010);
lean_dec(x_1010);
-lean_dec(x_984);
-lean_dec(x_994);
-lean_dec(x_980);
-lean_dec(x_896);
-return x_1011;
-}
-}
-case 4:
+if (x_1011 == 0)
{
-lean_object* x_1012; lean_object* x_1013; lean_object* x_1014; lean_object* x_1015; lean_object* x_1016; lean_object* x_1017; lean_object* x_1018; lean_object* x_1019; lean_object* x_1020; lean_object* x_1021; lean_object* x_1022;
-lean_dec(x_980);
-lean_dec(x_896);
-x_1012 = lean_ctor_get(x_986, 1);
-lean_inc(x_1012);
-lean_dec(x_986);
-x_1013 = lean_ctor_get(x_994, 0);
-lean_inc(x_1013);
-lean_dec(x_994);
-x_1014 = lean_unsigned_to_nat(0u);
-x_1015 = l_Lean_Expr_getAppNumArgsAux(x_1, x_1014);
-x_1016 = l_Lean_Expr_getAppArgs___closed__1;
-lean_inc(x_1015);
-x_1017 = lean_mk_array(x_1015, x_1016);
-x_1018 = lean_unsigned_to_nat(1u);
-x_1019 = lean_nat_sub(x_1015, x_1018);
-lean_dec(x_1015);
-x_1020 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_1017, x_1019);
-x_1021 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___closed__3;
-x_1022 = l___private_Lean_Meta_WHNF_0__Lean_Meta_reduceQuotRec___rarg(x_1013, x_984, x_1020, x_985, x_1021, x_2, x_3, x_4, x_5, x_1012);
-lean_dec(x_1020);
-lean_dec(x_984);
-lean_dec(x_1013);
-return x_1022;
-}
-case 7:
-{
-lean_object* x_1023; lean_object* x_1024; lean_object* x_1025; lean_object* x_1026; lean_object* x_1027; lean_object* x_1028; lean_object* x_1029; lean_object* x_1030; lean_object* x_1031; lean_object* x_1032; lean_object* x_1033;
-lean_dec(x_980);
-lean_dec(x_896);
-x_1023 = lean_ctor_get(x_986, 1);
-lean_inc(x_1023);
-lean_dec(x_986);
-x_1024 = lean_ctor_get(x_994, 0);
-lean_inc(x_1024);
-lean_dec(x_994);
-x_1025 = lean_unsigned_to_nat(0u);
-x_1026 = l_Lean_Expr_getAppNumArgsAux(x_1, x_1025);
-x_1027 = l_Lean_Expr_getAppArgs___closed__1;
-lean_inc(x_1026);
-x_1028 = lean_mk_array(x_1026, x_1027);
-x_1029 = lean_unsigned_to_nat(1u);
-x_1030 = lean_nat_sub(x_1026, x_1029);
-lean_dec(x_1026);
-x_1031 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_1028, x_1030);
-x_1032 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___closed__3;
-x_1033 = l___private_Lean_Meta_WHNF_0__Lean_Meta_reduceRec___rarg(x_1024, x_984, x_1031, x_985, x_1032, x_2, x_3, x_4, x_5, x_1023);
-lean_dec(x_1031);
-lean_dec(x_984);
-return x_1033;
-}
-default:
-{
-lean_object* x_1034; lean_object* x_1035; uint8_t x_1036;
-lean_dec(x_994);
-lean_dec(x_985);
-lean_dec(x_984);
+lean_object* x_1012; lean_object* x_1013; uint8_t x_1014;
+lean_dec(x_1006);
+lean_dec(x_996);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_1034 = lean_ctor_get(x_986, 1);
-lean_inc(x_1034);
-if (lean_is_exclusive(x_986)) {
- lean_ctor_release(x_986, 0);
- lean_ctor_release(x_986, 1);
- x_1035 = x_986;
+x_1012 = lean_ctor_get(x_1009, 1);
+lean_inc(x_1012);
+if (lean_is_exclusive(x_1009)) {
+ lean_ctor_release(x_1009, 0);
+ lean_ctor_release(x_1009, 1);
+ x_1013 = x_1009;
} else {
- lean_dec_ref(x_986);
- x_1035 = lean_box(0);
+ lean_dec_ref(x_1009);
+ x_1013 = lean_box(0);
}
-x_1036 = lean_expr_eqv(x_896, x_980);
-lean_dec(x_896);
-if (x_1036 == 0)
+x_1014 = lean_expr_eqv(x_908, x_992);
+lean_dec(x_908);
+if (x_1014 == 0)
{
-lean_object* x_1037; lean_object* x_1038;
-x_1037 = l_Lean_Expr_updateFn(x_1, x_980);
-lean_dec(x_980);
-if (lean_is_scalar(x_1035)) {
- x_1038 = lean_alloc_ctor(0, 2, 0);
+lean_object* x_1015; lean_object* x_1016;
+x_1015 = l_Lean_Expr_updateFn(x_1, x_992);
+lean_dec(x_992);
+if (lean_is_scalar(x_1013)) {
+ x_1016 = lean_alloc_ctor(0, 2, 0);
} else {
- x_1038 = x_1035;
+ x_1016 = x_1013;
}
-lean_ctor_set(x_1038, 0, x_1037);
-lean_ctor_set(x_1038, 1, x_1034);
-return x_1038;
+lean_ctor_set(x_1016, 0, x_1015);
+lean_ctor_set(x_1016, 1, x_1012);
+return x_1016;
}
else
{
-lean_object* x_1039;
-lean_dec(x_980);
-if (lean_is_scalar(x_1035)) {
- x_1039 = lean_alloc_ctor(0, 2, 0);
+lean_object* x_1017;
+lean_dec(x_992);
+if (lean_is_scalar(x_1013)) {
+ x_1017 = lean_alloc_ctor(0, 2, 0);
} else {
- x_1039 = x_1035;
+ x_1017 = x_1013;
}
-lean_ctor_set(x_1039, 0, x_1);
-lean_ctor_set(x_1039, 1, x_1034);
-return x_1039;
+lean_ctor_set(x_1017, 0, x_1);
+lean_ctor_set(x_1017, 1, x_1012);
+return x_1017;
+}
+}
+else
+{
+lean_object* x_1018; lean_object* x_1019; lean_object* x_1020; lean_object* x_1021; lean_object* x_1022; lean_object* x_1023;
+x_1018 = lean_ctor_get(x_1009, 1);
+lean_inc(x_1018);
+lean_dec(x_1009);
+x_1019 = lean_unsigned_to_nat(0u);
+x_1020 = l_Lean_Expr_getAppNumArgsAux(x_1, x_1019);
+x_1021 = lean_mk_empty_array_with_capacity(x_1020);
+lean_dec(x_1020);
+lean_inc(x_1);
+x_1022 = l___private_Lean_Expr_0__Lean_Expr_getAppRevArgsAux(x_1, x_1021);
+x_1023 = l___private_Lean_Meta_WHNF_0__Lean_Meta_deltaBetaDefinition___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__1(x_1, x_908, x_992, x_1006, x_996, x_1022, x_2, x_3, x_4, x_5, x_1018);
+lean_dec(x_1022);
+lean_dec(x_996);
+lean_dec(x_1006);
+lean_dec(x_992);
+lean_dec(x_908);
+return x_1023;
+}
+}
+case 4:
+{
+lean_object* x_1024; lean_object* x_1025; lean_object* x_1026; lean_object* x_1027; lean_object* x_1028; lean_object* x_1029; lean_object* x_1030; lean_object* x_1031; lean_object* x_1032; lean_object* x_1033; lean_object* x_1034;
+lean_dec(x_992);
+lean_dec(x_908);
+x_1024 = lean_ctor_get(x_998, 1);
+lean_inc(x_1024);
+lean_dec(x_998);
+x_1025 = lean_ctor_get(x_1006, 0);
+lean_inc(x_1025);
+lean_dec(x_1006);
+x_1026 = lean_unsigned_to_nat(0u);
+x_1027 = l_Lean_Expr_getAppNumArgsAux(x_1, x_1026);
+x_1028 = l_Lean_Expr_getAppArgs___closed__1;
+lean_inc(x_1027);
+x_1029 = lean_mk_array(x_1027, x_1028);
+x_1030 = lean_unsigned_to_nat(1u);
+x_1031 = lean_nat_sub(x_1027, x_1030);
+lean_dec(x_1027);
+x_1032 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_1029, x_1031);
+x_1033 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___closed__3;
+x_1034 = l___private_Lean_Meta_WHNF_0__Lean_Meta_reduceQuotRec___rarg(x_1025, x_996, x_1032, x_997, x_1033, x_2, x_3, x_4, x_5, x_1024);
+lean_dec(x_1032);
+lean_dec(x_996);
+lean_dec(x_1025);
+return x_1034;
+}
+case 7:
+{
+lean_object* x_1035; lean_object* x_1036; lean_object* x_1037; lean_object* x_1038; lean_object* x_1039; lean_object* x_1040; lean_object* x_1041; lean_object* x_1042; lean_object* x_1043; lean_object* x_1044; lean_object* x_1045;
+lean_dec(x_992);
+lean_dec(x_908);
+x_1035 = lean_ctor_get(x_998, 1);
+lean_inc(x_1035);
+lean_dec(x_998);
+x_1036 = lean_ctor_get(x_1006, 0);
+lean_inc(x_1036);
+lean_dec(x_1006);
+x_1037 = lean_unsigned_to_nat(0u);
+x_1038 = l_Lean_Expr_getAppNumArgsAux(x_1, x_1037);
+x_1039 = l_Lean_Expr_getAppArgs___closed__1;
+lean_inc(x_1038);
+x_1040 = lean_mk_array(x_1038, x_1039);
+x_1041 = lean_unsigned_to_nat(1u);
+x_1042 = lean_nat_sub(x_1038, x_1041);
+lean_dec(x_1038);
+x_1043 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_1040, x_1042);
+x_1044 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___closed__3;
+x_1045 = l___private_Lean_Meta_WHNF_0__Lean_Meta_reduceRec___rarg(x_1036, x_996, x_1043, x_997, x_1044, x_2, x_3, x_4, x_5, x_1035);
+lean_dec(x_1043);
+lean_dec(x_996);
+return x_1045;
+}
+default:
+{
+lean_object* x_1046; lean_object* x_1047; uint8_t x_1048;
+lean_dec(x_1006);
+lean_dec(x_997);
+lean_dec(x_996);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+x_1046 = lean_ctor_get(x_998, 1);
+lean_inc(x_1046);
+if (lean_is_exclusive(x_998)) {
+ lean_ctor_release(x_998, 0);
+ lean_ctor_release(x_998, 1);
+ x_1047 = x_998;
+} else {
+ lean_dec_ref(x_998);
+ x_1047 = lean_box(0);
+}
+x_1048 = lean_expr_eqv(x_908, x_992);
+lean_dec(x_908);
+if (x_1048 == 0)
+{
+lean_object* x_1049; lean_object* x_1050;
+x_1049 = l_Lean_Expr_updateFn(x_1, x_992);
+lean_dec(x_992);
+if (lean_is_scalar(x_1047)) {
+ x_1050 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_1050 = x_1047;
+}
+lean_ctor_set(x_1050, 0, x_1049);
+lean_ctor_set(x_1050, 1, x_1046);
+return x_1050;
+}
+else
+{
+lean_object* x_1051;
+lean_dec(x_992);
+if (lean_is_scalar(x_1047)) {
+ x_1051 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_1051 = x_1047;
+}
+lean_ctor_set(x_1051, 0, x_1);
+lean_ctor_set(x_1051, 1, x_1046);
+return x_1051;
}
}
}
@@ -11481,640 +11479,662 @@ return x_1039;
}
else
{
-lean_object* x_1040; lean_object* x_1041; lean_object* x_1042; lean_object* x_1043;
-lean_dec(x_985);
-lean_dec(x_984);
-lean_dec(x_980);
-lean_dec(x_896);
+lean_object* x_1052; lean_object* x_1053; lean_object* x_1054; lean_object* x_1055;
+lean_dec(x_997);
+lean_dec(x_996);
+lean_dec(x_992);
+lean_dec(x_908);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_1040 = lean_ctor_get(x_986, 0);
-lean_inc(x_1040);
-x_1041 = lean_ctor_get(x_986, 1);
-lean_inc(x_1041);
-if (lean_is_exclusive(x_986)) {
- lean_ctor_release(x_986, 0);
- lean_ctor_release(x_986, 1);
- x_1042 = x_986;
+x_1052 = lean_ctor_get(x_998, 0);
+lean_inc(x_1052);
+x_1053 = lean_ctor_get(x_998, 1);
+lean_inc(x_1053);
+if (lean_is_exclusive(x_998)) {
+ lean_ctor_release(x_998, 0);
+ lean_ctor_release(x_998, 1);
+ x_1054 = x_998;
} else {
- lean_dec_ref(x_986);
- x_1042 = lean_box(0);
+ lean_dec_ref(x_998);
+ x_1054 = lean_box(0);
}
-if (lean_is_scalar(x_1042)) {
- x_1043 = lean_alloc_ctor(1, 2, 0);
+if (lean_is_scalar(x_1054)) {
+ x_1055 = lean_alloc_ctor(1, 2, 0);
} else {
- x_1043 = x_1042;
+ x_1055 = x_1054;
}
-lean_ctor_set(x_1043, 0, x_1040);
-lean_ctor_set(x_1043, 1, x_1041);
-return x_1043;
+lean_ctor_set(x_1055, 0, x_1052);
+lean_ctor_set(x_1055, 1, x_1053);
+return x_1055;
}
}
else
{
-uint8_t x_1044;
+uint8_t x_1056;
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_1044 = lean_expr_eqv(x_896, x_980);
-lean_dec(x_896);
-if (x_1044 == 0)
+x_1056 = lean_expr_eqv(x_908, x_992);
+lean_dec(x_908);
+if (x_1056 == 0)
{
-lean_object* x_1045; lean_object* x_1046;
-x_1045 = l_Lean_Expr_updateFn(x_1, x_980);
-lean_dec(x_980);
-x_1046 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_1046, 0, x_1045);
-lean_ctor_set(x_1046, 1, x_981);
-return x_1046;
+lean_object* x_1057; lean_object* x_1058;
+x_1057 = l_Lean_Expr_updateFn(x_1, x_992);
+lean_dec(x_992);
+x_1058 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_1058, 0, x_1057);
+lean_ctor_set(x_1058, 1, x_993);
+return x_1058;
}
else
{
-lean_object* x_1047;
-lean_dec(x_980);
-x_1047 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_1047, 0, x_1);
-lean_ctor_set(x_1047, 1, x_981);
-return x_1047;
+lean_object* x_1059;
+lean_dec(x_992);
+x_1059 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_1059, 0, x_1);
+lean_ctor_set(x_1059, 1, x_993);
+return x_1059;
}
}
}
else
{
-lean_object* x_1048; lean_object* x_1049; lean_object* x_1050; lean_object* x_1051; lean_object* x_1052;
-lean_dec(x_896);
-x_1048 = lean_unsigned_to_nat(0u);
-x_1049 = l_Lean_Expr_getAppNumArgsAux(x_1, x_1048);
-x_1050 = lean_mk_empty_array_with_capacity(x_1049);
-lean_dec(x_1049);
-x_1051 = l___private_Lean_Expr_0__Lean_Expr_getAppRevArgsAux(x_1, x_1050);
-x_1052 = l_Lean_Expr_betaRev(x_980, x_1051);
-lean_dec(x_1051);
-lean_dec(x_980);
-x_1 = x_1052;
-x_6 = x_981;
+lean_object* x_1060; lean_object* x_1061; lean_object* x_1062; lean_object* x_1063; lean_object* x_1064;
+lean_dec(x_908);
+x_1060 = lean_unsigned_to_nat(0u);
+x_1061 = l_Lean_Expr_getAppNumArgsAux(x_1, x_1060);
+x_1062 = lean_mk_empty_array_with_capacity(x_1061);
+lean_dec(x_1061);
+x_1063 = l___private_Lean_Expr_0__Lean_Expr_getAppRevArgsAux(x_1, x_1062);
+x_1064 = l_Lean_Expr_betaRev(x_992, x_1063);
+lean_dec(x_1063);
+lean_dec(x_992);
+x_1 = x_1064;
+x_6 = x_993;
goto _start;
}
}
}
else
{
-uint8_t x_1054;
-lean_dec(x_896);
+uint8_t x_1066;
+lean_dec(x_908);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_1054 = !lean_is_exclusive(x_897);
-if (x_1054 == 0)
+x_1066 = !lean_is_exclusive(x_909);
+if (x_1066 == 0)
{
-return x_897;
+return x_909;
}
else
{
-lean_object* x_1055; lean_object* x_1056; lean_object* x_1057;
-x_1055 = lean_ctor_get(x_897, 0);
-x_1056 = lean_ctor_get(x_897, 1);
-lean_inc(x_1056);
-lean_inc(x_1055);
-lean_dec(x_897);
-x_1057 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_1057, 0, x_1055);
-lean_ctor_set(x_1057, 1, x_1056);
-return x_1057;
+lean_object* x_1067; lean_object* x_1068; lean_object* x_1069;
+x_1067 = lean_ctor_get(x_909, 0);
+x_1068 = lean_ctor_get(x_909, 1);
+lean_inc(x_1068);
+lean_inc(x_1067);
+lean_dec(x_909);
+x_1069 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_1069, 0, x_1067);
+lean_ctor_set(x_1069, 1, x_1068);
+return x_1069;
}
}
}
case 8:
{
-lean_object* x_1058; lean_object* x_1059; lean_object* x_1060;
-x_1058 = lean_ctor_get(x_1, 2);
-lean_inc(x_1058);
-x_1059 = lean_ctor_get(x_1, 3);
-lean_inc(x_1059);
+lean_object* x_1070; lean_object* x_1071; lean_object* x_1072;
+x_1070 = lean_ctor_get(x_1, 2);
+lean_inc(x_1070);
+x_1071 = lean_ctor_get(x_1, 3);
+lean_inc(x_1071);
lean_dec(x_1);
-x_1060 = lean_expr_instantiate1(x_1059, x_1058);
-lean_dec(x_1058);
-lean_dec(x_1059);
-x_1 = x_1060;
-x_6 = x_893;
+x_1072 = lean_expr_instantiate1(x_1071, x_1070);
+lean_dec(x_1070);
+lean_dec(x_1071);
+x_1 = x_1072;
+x_6 = x_905;
goto _start;
}
case 11:
{
-lean_object* x_1062; lean_object* x_1063; lean_object* x_1064;
-x_1062 = lean_ctor_get(x_1, 1);
-lean_inc(x_1062);
-x_1063 = lean_ctor_get(x_1, 2);
-lean_inc(x_1063);
+lean_object* x_1074; lean_object* x_1075; lean_object* x_1076;
+x_1074 = lean_ctor_get(x_1, 1);
+lean_inc(x_1074);
+x_1075 = lean_ctor_get(x_1, 2);
+lean_inc(x_1075);
lean_inc(x_5);
lean_inc(x_4);
lean_inc(x_3);
lean_inc(x_2);
-x_1064 = l_Lean_Meta_whnf___at___private_Lean_Meta_Basic_0__Lean_Meta_isClassExpensive_x3f___spec__2(x_1063, x_2, x_3, x_4, x_5, x_893);
-if (lean_obj_tag(x_1064) == 0)
-{
-uint8_t x_1065;
-x_1065 = !lean_is_exclusive(x_1064);
-if (x_1065 == 0)
-{
-lean_object* x_1066; lean_object* x_1067; lean_object* x_1068;
-x_1066 = lean_ctor_get(x_1064, 0);
-x_1067 = lean_ctor_get(x_1064, 1);
-x_1068 = l_Lean_Expr_getAppFn(x_1066);
-if (lean_obj_tag(x_1068) == 4)
-{
-lean_object* x_1069; lean_object* x_1070;
-lean_free_object(x_1064);
-x_1069 = lean_ctor_get(x_1068, 0);
-lean_inc(x_1069);
-lean_dec(x_1068);
-x_1070 = l_Lean_Meta_getConst_x3f(x_1069, x_2, x_3, x_4, x_5, x_1067);
-if (lean_obj_tag(x_1070) == 0)
-{
-lean_object* x_1071;
-x_1071 = lean_ctor_get(x_1070, 0);
-lean_inc(x_1071);
-if (lean_obj_tag(x_1071) == 0)
-{
-uint8_t x_1072;
-lean_dec(x_1066);
-lean_dec(x_1062);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-x_1072 = !lean_is_exclusive(x_1070);
-if (x_1072 == 0)
-{
-lean_object* x_1073;
-x_1073 = lean_ctor_get(x_1070, 0);
-lean_dec(x_1073);
-lean_ctor_set(x_1070, 0, x_1);
-return x_1070;
-}
-else
-{
-lean_object* x_1074; lean_object* x_1075;
-x_1074 = lean_ctor_get(x_1070, 1);
-lean_inc(x_1074);
-lean_dec(x_1070);
-x_1075 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_1075, 0, x_1);
-lean_ctor_set(x_1075, 1, x_1074);
-return x_1075;
-}
-}
-else
-{
-lean_object* x_1076;
-x_1076 = lean_ctor_get(x_1071, 0);
-lean_inc(x_1076);
-lean_dec(x_1071);
-if (lean_obj_tag(x_1076) == 6)
+x_1076 = l_Lean_Meta_whnf___at___private_Lean_Meta_Basic_0__Lean_Meta_isClassExpensive_x3f___spec__2(x_1075, x_2, x_3, x_4, x_5, x_905);
+if (lean_obj_tag(x_1076) == 0)
{
uint8_t x_1077;
-x_1077 = !lean_is_exclusive(x_1070);
+x_1077 = !lean_is_exclusive(x_1076);
if (x_1077 == 0)
{
-lean_object* x_1078; lean_object* x_1079; lean_object* x_1080; lean_object* x_1081; lean_object* x_1082; lean_object* x_1083; lean_object* x_1084; uint8_t x_1085;
-x_1078 = lean_ctor_get(x_1070, 1);
-x_1079 = lean_ctor_get(x_1070, 0);
-lean_dec(x_1079);
-x_1080 = lean_ctor_get(x_1076, 0);
-lean_inc(x_1080);
-lean_dec(x_1076);
-x_1081 = lean_ctor_get(x_1080, 3);
+lean_object* x_1078; lean_object* x_1079; lean_object* x_1080;
+x_1078 = lean_ctor_get(x_1076, 0);
+x_1079 = lean_ctor_get(x_1076, 1);
+x_1080 = l_Lean_Expr_getAppFn(x_1078);
+if (lean_obj_tag(x_1080) == 4)
+{
+lean_object* x_1081; lean_object* x_1082;
+lean_free_object(x_1076);
+x_1081 = lean_ctor_get(x_1080, 0);
lean_inc(x_1081);
lean_dec(x_1080);
-x_1082 = lean_nat_add(x_1081, x_1062);
-lean_dec(x_1062);
-lean_dec(x_1081);
-x_1083 = lean_unsigned_to_nat(0u);
-x_1084 = l_Lean_Expr_getAppNumArgsAux(x_1066, x_1083);
-x_1085 = lean_nat_dec_lt(x_1082, x_1084);
-if (x_1085 == 0)
+x_1082 = l_Lean_Meta_getConst_x3f(x_1081, x_2, x_3, x_4, x_5, x_1079);
+if (lean_obj_tag(x_1082) == 0)
{
-lean_dec(x_1084);
-lean_dec(x_1082);
-lean_dec(x_1066);
+lean_object* x_1083;
+x_1083 = lean_ctor_get(x_1082, 0);
+lean_inc(x_1083);
+if (lean_obj_tag(x_1083) == 0)
+{
+uint8_t x_1084;
+lean_dec(x_1078);
+lean_dec(x_1074);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-lean_ctor_set(x_1070, 0, x_1);
-return x_1070;
+x_1084 = !lean_is_exclusive(x_1082);
+if (x_1084 == 0)
+{
+lean_object* x_1085;
+x_1085 = lean_ctor_get(x_1082, 0);
+lean_dec(x_1085);
+lean_ctor_set(x_1082, 0, x_1);
+return x_1082;
}
else
{
-lean_object* x_1086; lean_object* x_1087; lean_object* x_1088; lean_object* x_1089;
-lean_free_object(x_1070);
-lean_dec(x_1);
-x_1086 = lean_nat_sub(x_1084, x_1082);
+lean_object* x_1086; lean_object* x_1087;
+x_1086 = lean_ctor_get(x_1082, 1);
+lean_inc(x_1086);
lean_dec(x_1082);
-lean_dec(x_1084);
-x_1087 = lean_unsigned_to_nat(1u);
-x_1088 = lean_nat_sub(x_1086, x_1087);
-lean_dec(x_1086);
-x_1089 = l_Lean_Expr_getRevArg_x21(x_1066, x_1088);
-lean_dec(x_1066);
-x_1 = x_1089;
-x_6 = x_1078;
-goto _start;
+x_1087 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_1087, 0, x_1);
+lean_ctor_set(x_1087, 1, x_1086);
+return x_1087;
}
}
else
{
-lean_object* x_1091; lean_object* x_1092; lean_object* x_1093; lean_object* x_1094; lean_object* x_1095; lean_object* x_1096; uint8_t x_1097;
-x_1091 = lean_ctor_get(x_1070, 1);
-lean_inc(x_1091);
-lean_dec(x_1070);
-x_1092 = lean_ctor_get(x_1076, 0);
+lean_object* x_1088;
+x_1088 = lean_ctor_get(x_1083, 0);
+lean_inc(x_1088);
+lean_dec(x_1083);
+if (lean_obj_tag(x_1088) == 6)
+{
+uint8_t x_1089;
+x_1089 = !lean_is_exclusive(x_1082);
+if (x_1089 == 0)
+{
+lean_object* x_1090; lean_object* x_1091; lean_object* x_1092; lean_object* x_1093; lean_object* x_1094; lean_object* x_1095; lean_object* x_1096; uint8_t x_1097;
+x_1090 = lean_ctor_get(x_1082, 1);
+x_1091 = lean_ctor_get(x_1082, 0);
+lean_dec(x_1091);
+x_1092 = lean_ctor_get(x_1088, 0);
lean_inc(x_1092);
-lean_dec(x_1076);
+lean_dec(x_1088);
x_1093 = lean_ctor_get(x_1092, 3);
lean_inc(x_1093);
lean_dec(x_1092);
-x_1094 = lean_nat_add(x_1093, x_1062);
-lean_dec(x_1062);
+x_1094 = lean_nat_add(x_1093, x_1074);
+lean_dec(x_1074);
lean_dec(x_1093);
x_1095 = lean_unsigned_to_nat(0u);
-x_1096 = l_Lean_Expr_getAppNumArgsAux(x_1066, x_1095);
+x_1096 = l_Lean_Expr_getAppNumArgsAux(x_1078, x_1095);
x_1097 = lean_nat_dec_lt(x_1094, x_1096);
if (x_1097 == 0)
{
-lean_object* x_1098;
lean_dec(x_1096);
lean_dec(x_1094);
-lean_dec(x_1066);
+lean_dec(x_1078);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_1098 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_1098, 0, x_1);
-lean_ctor_set(x_1098, 1, x_1091);
-return x_1098;
+lean_ctor_set(x_1082, 0, x_1);
+return x_1082;
}
else
{
-lean_object* x_1099; lean_object* x_1100; lean_object* x_1101; lean_object* x_1102;
+lean_object* x_1098; lean_object* x_1099; lean_object* x_1100; lean_object* x_1101;
+lean_free_object(x_1082);
lean_dec(x_1);
-x_1099 = lean_nat_sub(x_1096, x_1094);
+x_1098 = lean_nat_sub(x_1096, x_1094);
lean_dec(x_1094);
lean_dec(x_1096);
-x_1100 = lean_unsigned_to_nat(1u);
-x_1101 = lean_nat_sub(x_1099, x_1100);
-lean_dec(x_1099);
-x_1102 = l_Lean_Expr_getRevArg_x21(x_1066, x_1101);
-lean_dec(x_1066);
-x_1 = x_1102;
-x_6 = x_1091;
+x_1099 = lean_unsigned_to_nat(1u);
+x_1100 = lean_nat_sub(x_1098, x_1099);
+lean_dec(x_1098);
+x_1101 = l_Lean_Expr_getRevArg_x21(x_1078, x_1100);
+lean_dec(x_1078);
+x_1 = x_1101;
+x_6 = x_1090;
+goto _start;
+}
+}
+else
+{
+lean_object* x_1103; lean_object* x_1104; lean_object* x_1105; lean_object* x_1106; lean_object* x_1107; lean_object* x_1108; uint8_t x_1109;
+x_1103 = lean_ctor_get(x_1082, 1);
+lean_inc(x_1103);
+lean_dec(x_1082);
+x_1104 = lean_ctor_get(x_1088, 0);
+lean_inc(x_1104);
+lean_dec(x_1088);
+x_1105 = lean_ctor_get(x_1104, 3);
+lean_inc(x_1105);
+lean_dec(x_1104);
+x_1106 = lean_nat_add(x_1105, x_1074);
+lean_dec(x_1074);
+lean_dec(x_1105);
+x_1107 = lean_unsigned_to_nat(0u);
+x_1108 = l_Lean_Expr_getAppNumArgsAux(x_1078, x_1107);
+x_1109 = lean_nat_dec_lt(x_1106, x_1108);
+if (x_1109 == 0)
+{
+lean_object* x_1110;
+lean_dec(x_1108);
+lean_dec(x_1106);
+lean_dec(x_1078);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+x_1110 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_1110, 0, x_1);
+lean_ctor_set(x_1110, 1, x_1103);
+return x_1110;
+}
+else
+{
+lean_object* x_1111; lean_object* x_1112; lean_object* x_1113; lean_object* x_1114;
+lean_dec(x_1);
+x_1111 = lean_nat_sub(x_1108, x_1106);
+lean_dec(x_1106);
+lean_dec(x_1108);
+x_1112 = lean_unsigned_to_nat(1u);
+x_1113 = lean_nat_sub(x_1111, x_1112);
+lean_dec(x_1111);
+x_1114 = l_Lean_Expr_getRevArg_x21(x_1078, x_1113);
+lean_dec(x_1078);
+x_1 = x_1114;
+x_6 = x_1103;
goto _start;
}
}
}
else
{
-uint8_t x_1104;
-lean_dec(x_1076);
-lean_dec(x_1066);
-lean_dec(x_1062);
+uint8_t x_1116;
+lean_dec(x_1088);
+lean_dec(x_1078);
+lean_dec(x_1074);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_1104 = !lean_is_exclusive(x_1070);
-if (x_1104 == 0)
-{
-lean_object* x_1105;
-x_1105 = lean_ctor_get(x_1070, 0);
-lean_dec(x_1105);
-lean_ctor_set(x_1070, 0, x_1);
-return x_1070;
-}
-else
-{
-lean_object* x_1106; lean_object* x_1107;
-x_1106 = lean_ctor_get(x_1070, 1);
-lean_inc(x_1106);
-lean_dec(x_1070);
-x_1107 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_1107, 0, x_1);
-lean_ctor_set(x_1107, 1, x_1106);
-return x_1107;
-}
-}
-}
-}
-else
-{
-uint8_t x_1108;
-lean_dec(x_1066);
-lean_dec(x_1062);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_dec(x_1);
-x_1108 = !lean_is_exclusive(x_1070);
-if (x_1108 == 0)
-{
-return x_1070;
-}
-else
-{
-lean_object* x_1109; lean_object* x_1110; lean_object* x_1111;
-x_1109 = lean_ctor_get(x_1070, 0);
-x_1110 = lean_ctor_get(x_1070, 1);
-lean_inc(x_1110);
-lean_inc(x_1109);
-lean_dec(x_1070);
-x_1111 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_1111, 0, x_1109);
-lean_ctor_set(x_1111, 1, x_1110);
-return x_1111;
-}
-}
-}
-else
-{
-lean_dec(x_1068);
-lean_dec(x_1066);
-lean_dec(x_1062);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-lean_ctor_set(x_1064, 0, x_1);
-return x_1064;
-}
-}
-else
-{
-lean_object* x_1112; lean_object* x_1113; lean_object* x_1114;
-x_1112 = lean_ctor_get(x_1064, 0);
-x_1113 = lean_ctor_get(x_1064, 1);
-lean_inc(x_1113);
-lean_inc(x_1112);
-lean_dec(x_1064);
-x_1114 = l_Lean_Expr_getAppFn(x_1112);
-if (lean_obj_tag(x_1114) == 4)
-{
-lean_object* x_1115; lean_object* x_1116;
-x_1115 = lean_ctor_get(x_1114, 0);
-lean_inc(x_1115);
-lean_dec(x_1114);
-x_1116 = l_Lean_Meta_getConst_x3f(x_1115, x_2, x_3, x_4, x_5, x_1113);
-if (lean_obj_tag(x_1116) == 0)
+x_1116 = !lean_is_exclusive(x_1082);
+if (x_1116 == 0)
{
lean_object* x_1117;
-x_1117 = lean_ctor_get(x_1116, 0);
-lean_inc(x_1117);
-if (lean_obj_tag(x_1117) == 0)
-{
-lean_object* x_1118; lean_object* x_1119; lean_object* x_1120;
-lean_dec(x_1112);
-lean_dec(x_1062);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_3);
-lean_dec(x_2);
-x_1118 = lean_ctor_get(x_1116, 1);
-lean_inc(x_1118);
-if (lean_is_exclusive(x_1116)) {
- lean_ctor_release(x_1116, 0);
- lean_ctor_release(x_1116, 1);
- x_1119 = x_1116;
-} else {
- lean_dec_ref(x_1116);
- x_1119 = lean_box(0);
-}
-if (lean_is_scalar(x_1119)) {
- x_1120 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_1120 = x_1119;
-}
-lean_ctor_set(x_1120, 0, x_1);
-lean_ctor_set(x_1120, 1, x_1118);
-return x_1120;
-}
-else
-{
-lean_object* x_1121;
-x_1121 = lean_ctor_get(x_1117, 0);
-lean_inc(x_1121);
+x_1117 = lean_ctor_get(x_1082, 0);
lean_dec(x_1117);
-if (lean_obj_tag(x_1121) == 6)
-{
-lean_object* x_1122; lean_object* x_1123; lean_object* x_1124; lean_object* x_1125; lean_object* x_1126; lean_object* x_1127; lean_object* x_1128; uint8_t x_1129;
-x_1122 = lean_ctor_get(x_1116, 1);
-lean_inc(x_1122);
-if (lean_is_exclusive(x_1116)) {
- lean_ctor_release(x_1116, 0);
- lean_ctor_release(x_1116, 1);
- x_1123 = x_1116;
-} else {
- lean_dec_ref(x_1116);
- x_1123 = lean_box(0);
+lean_ctor_set(x_1082, 0, x_1);
+return x_1082;
}
-x_1124 = lean_ctor_get(x_1121, 0);
-lean_inc(x_1124);
-lean_dec(x_1121);
-x_1125 = lean_ctor_get(x_1124, 3);
-lean_inc(x_1125);
-lean_dec(x_1124);
-x_1126 = lean_nat_add(x_1125, x_1062);
-lean_dec(x_1062);
-lean_dec(x_1125);
-x_1127 = lean_unsigned_to_nat(0u);
-x_1128 = l_Lean_Expr_getAppNumArgsAux(x_1112, x_1127);
-x_1129 = lean_nat_dec_lt(x_1126, x_1128);
-if (x_1129 == 0)
+else
{
-lean_object* x_1130;
-lean_dec(x_1128);
-lean_dec(x_1126);
-lean_dec(x_1112);
+lean_object* x_1118; lean_object* x_1119;
+x_1118 = lean_ctor_get(x_1082, 1);
+lean_inc(x_1118);
+lean_dec(x_1082);
+x_1119 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_1119, 0, x_1);
+lean_ctor_set(x_1119, 1, x_1118);
+return x_1119;
+}
+}
+}
+}
+else
+{
+uint8_t x_1120;
+lean_dec(x_1078);
+lean_dec(x_1074);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-if (lean_is_scalar(x_1123)) {
- x_1130 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_1130 = x_1123;
-}
-lean_ctor_set(x_1130, 0, x_1);
-lean_ctor_set(x_1130, 1, x_1122);
-return x_1130;
+lean_dec(x_1);
+x_1120 = !lean_is_exclusive(x_1082);
+if (x_1120 == 0)
+{
+return x_1082;
}
else
{
-lean_object* x_1131; lean_object* x_1132; lean_object* x_1133; lean_object* x_1134;
-lean_dec(x_1123);
-lean_dec(x_1);
-x_1131 = lean_nat_sub(x_1128, x_1126);
+lean_object* x_1121; lean_object* x_1122; lean_object* x_1123;
+x_1121 = lean_ctor_get(x_1082, 0);
+x_1122 = lean_ctor_get(x_1082, 1);
+lean_inc(x_1122);
+lean_inc(x_1121);
+lean_dec(x_1082);
+x_1123 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_1123, 0, x_1121);
+lean_ctor_set(x_1123, 1, x_1122);
+return x_1123;
+}
+}
+}
+else
+{
+lean_dec(x_1080);
+lean_dec(x_1078);
+lean_dec(x_1074);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+lean_ctor_set(x_1076, 0, x_1);
+return x_1076;
+}
+}
+else
+{
+lean_object* x_1124; lean_object* x_1125; lean_object* x_1126;
+x_1124 = lean_ctor_get(x_1076, 0);
+x_1125 = lean_ctor_get(x_1076, 1);
+lean_inc(x_1125);
+lean_inc(x_1124);
+lean_dec(x_1076);
+x_1126 = l_Lean_Expr_getAppFn(x_1124);
+if (lean_obj_tag(x_1126) == 4)
+{
+lean_object* x_1127; lean_object* x_1128;
+x_1127 = lean_ctor_get(x_1126, 0);
+lean_inc(x_1127);
lean_dec(x_1126);
-lean_dec(x_1128);
-x_1132 = lean_unsigned_to_nat(1u);
-x_1133 = lean_nat_sub(x_1131, x_1132);
-lean_dec(x_1131);
-x_1134 = l_Lean_Expr_getRevArg_x21(x_1112, x_1133);
-lean_dec(x_1112);
-x_1 = x_1134;
-x_6 = x_1122;
+x_1128 = l_Lean_Meta_getConst_x3f(x_1127, x_2, x_3, x_4, x_5, x_1125);
+if (lean_obj_tag(x_1128) == 0)
+{
+lean_object* x_1129;
+x_1129 = lean_ctor_get(x_1128, 0);
+lean_inc(x_1129);
+if (lean_obj_tag(x_1129) == 0)
+{
+lean_object* x_1130; lean_object* x_1131; lean_object* x_1132;
+lean_dec(x_1124);
+lean_dec(x_1074);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+x_1130 = lean_ctor_get(x_1128, 1);
+lean_inc(x_1130);
+if (lean_is_exclusive(x_1128)) {
+ lean_ctor_release(x_1128, 0);
+ lean_ctor_release(x_1128, 1);
+ x_1131 = x_1128;
+} else {
+ lean_dec_ref(x_1128);
+ x_1131 = lean_box(0);
+}
+if (lean_is_scalar(x_1131)) {
+ x_1132 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_1132 = x_1131;
+}
+lean_ctor_set(x_1132, 0, x_1);
+lean_ctor_set(x_1132, 1, x_1130);
+return x_1132;
+}
+else
+{
+lean_object* x_1133;
+x_1133 = lean_ctor_get(x_1129, 0);
+lean_inc(x_1133);
+lean_dec(x_1129);
+if (lean_obj_tag(x_1133) == 6)
+{
+lean_object* x_1134; lean_object* x_1135; lean_object* x_1136; lean_object* x_1137; lean_object* x_1138; lean_object* x_1139; lean_object* x_1140; uint8_t x_1141;
+x_1134 = lean_ctor_get(x_1128, 1);
+lean_inc(x_1134);
+if (lean_is_exclusive(x_1128)) {
+ lean_ctor_release(x_1128, 0);
+ lean_ctor_release(x_1128, 1);
+ x_1135 = x_1128;
+} else {
+ lean_dec_ref(x_1128);
+ x_1135 = lean_box(0);
+}
+x_1136 = lean_ctor_get(x_1133, 0);
+lean_inc(x_1136);
+lean_dec(x_1133);
+x_1137 = lean_ctor_get(x_1136, 3);
+lean_inc(x_1137);
+lean_dec(x_1136);
+x_1138 = lean_nat_add(x_1137, x_1074);
+lean_dec(x_1074);
+lean_dec(x_1137);
+x_1139 = lean_unsigned_to_nat(0u);
+x_1140 = l_Lean_Expr_getAppNumArgsAux(x_1124, x_1139);
+x_1141 = lean_nat_dec_lt(x_1138, x_1140);
+if (x_1141 == 0)
+{
+lean_object* x_1142;
+lean_dec(x_1140);
+lean_dec(x_1138);
+lean_dec(x_1124);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+if (lean_is_scalar(x_1135)) {
+ x_1142 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_1142 = x_1135;
+}
+lean_ctor_set(x_1142, 0, x_1);
+lean_ctor_set(x_1142, 1, x_1134);
+return x_1142;
+}
+else
+{
+lean_object* x_1143; lean_object* x_1144; lean_object* x_1145; lean_object* x_1146;
+lean_dec(x_1135);
+lean_dec(x_1);
+x_1143 = lean_nat_sub(x_1140, x_1138);
+lean_dec(x_1138);
+lean_dec(x_1140);
+x_1144 = lean_unsigned_to_nat(1u);
+x_1145 = lean_nat_sub(x_1143, x_1144);
+lean_dec(x_1143);
+x_1146 = l_Lean_Expr_getRevArg_x21(x_1124, x_1145);
+lean_dec(x_1124);
+x_1 = x_1146;
+x_6 = x_1134;
goto _start;
}
}
else
{
-lean_object* x_1136; lean_object* x_1137; lean_object* x_1138;
-lean_dec(x_1121);
-lean_dec(x_1112);
-lean_dec(x_1062);
+lean_object* x_1148; lean_object* x_1149; lean_object* x_1150;
+lean_dec(x_1133);
+lean_dec(x_1124);
+lean_dec(x_1074);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_1136 = lean_ctor_get(x_1116, 1);
-lean_inc(x_1136);
-if (lean_is_exclusive(x_1116)) {
- lean_ctor_release(x_1116, 0);
- lean_ctor_release(x_1116, 1);
- x_1137 = x_1116;
+x_1148 = lean_ctor_get(x_1128, 1);
+lean_inc(x_1148);
+if (lean_is_exclusive(x_1128)) {
+ lean_ctor_release(x_1128, 0);
+ lean_ctor_release(x_1128, 1);
+ x_1149 = x_1128;
} else {
- lean_dec_ref(x_1116);
- x_1137 = lean_box(0);
+ lean_dec_ref(x_1128);
+ x_1149 = lean_box(0);
}
-if (lean_is_scalar(x_1137)) {
- x_1138 = lean_alloc_ctor(0, 2, 0);
+if (lean_is_scalar(x_1149)) {
+ x_1150 = lean_alloc_ctor(0, 2, 0);
} else {
- x_1138 = x_1137;
+ x_1150 = x_1149;
}
-lean_ctor_set(x_1138, 0, x_1);
-lean_ctor_set(x_1138, 1, x_1136);
-return x_1138;
+lean_ctor_set(x_1150, 0, x_1);
+lean_ctor_set(x_1150, 1, x_1148);
+return x_1150;
}
}
}
else
{
-lean_object* x_1139; lean_object* x_1140; lean_object* x_1141; lean_object* x_1142;
-lean_dec(x_1112);
-lean_dec(x_1062);
+lean_object* x_1151; lean_object* x_1152; lean_object* x_1153; lean_object* x_1154;
+lean_dec(x_1124);
+lean_dec(x_1074);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_1139 = lean_ctor_get(x_1116, 0);
-lean_inc(x_1139);
-x_1140 = lean_ctor_get(x_1116, 1);
-lean_inc(x_1140);
-if (lean_is_exclusive(x_1116)) {
- lean_ctor_release(x_1116, 0);
- lean_ctor_release(x_1116, 1);
- x_1141 = x_1116;
+x_1151 = lean_ctor_get(x_1128, 0);
+lean_inc(x_1151);
+x_1152 = lean_ctor_get(x_1128, 1);
+lean_inc(x_1152);
+if (lean_is_exclusive(x_1128)) {
+ lean_ctor_release(x_1128, 0);
+ lean_ctor_release(x_1128, 1);
+ x_1153 = x_1128;
} else {
- lean_dec_ref(x_1116);
- x_1141 = lean_box(0);
+ lean_dec_ref(x_1128);
+ x_1153 = lean_box(0);
}
-if (lean_is_scalar(x_1141)) {
- x_1142 = lean_alloc_ctor(1, 2, 0);
+if (lean_is_scalar(x_1153)) {
+ x_1154 = lean_alloc_ctor(1, 2, 0);
} else {
- x_1142 = x_1141;
+ x_1154 = x_1153;
}
-lean_ctor_set(x_1142, 0, x_1139);
-lean_ctor_set(x_1142, 1, x_1140);
-return x_1142;
+lean_ctor_set(x_1154, 0, x_1151);
+lean_ctor_set(x_1154, 1, x_1152);
+return x_1154;
}
}
else
{
-lean_object* x_1143;
-lean_dec(x_1114);
-lean_dec(x_1112);
-lean_dec(x_1062);
+lean_object* x_1155;
+lean_dec(x_1126);
+lean_dec(x_1124);
+lean_dec(x_1074);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_1143 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_1143, 0, x_1);
-lean_ctor_set(x_1143, 1, x_1113);
-return x_1143;
+x_1155 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_1155, 0, x_1);
+lean_ctor_set(x_1155, 1, x_1125);
+return x_1155;
}
}
}
else
{
-uint8_t x_1144;
-lean_dec(x_1062);
+uint8_t x_1156;
+lean_dec(x_1074);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_1144 = !lean_is_exclusive(x_1064);
-if (x_1144 == 0)
+x_1156 = !lean_is_exclusive(x_1076);
+if (x_1156 == 0)
{
-return x_1064;
+return x_1076;
}
else
{
-lean_object* x_1145; lean_object* x_1146; lean_object* x_1147;
-x_1145 = lean_ctor_get(x_1064, 0);
-x_1146 = lean_ctor_get(x_1064, 1);
-lean_inc(x_1146);
-lean_inc(x_1145);
-lean_dec(x_1064);
-x_1147 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_1147, 0, x_1145);
-lean_ctor_set(x_1147, 1, x_1146);
-return x_1147;
+lean_object* x_1157; lean_object* x_1158; lean_object* x_1159;
+x_1157 = lean_ctor_get(x_1076, 0);
+x_1158 = lean_ctor_get(x_1076, 1);
+lean_inc(x_1158);
+lean_inc(x_1157);
+lean_dec(x_1076);
+x_1159 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_1159, 0, x_1157);
+lean_ctor_set(x_1159, 1, x_1158);
+return x_1159;
}
}
}
default:
{
-lean_object* x_1148; lean_object* x_1149; lean_object* x_1150; lean_object* x_1151;
+lean_object* x_1160; lean_object* x_1161; lean_object* x_1162; lean_object* x_1163;
lean_dec(x_1);
-x_1148 = l___private_Lean_Meta_Basic_0__Lean_Meta_isClassQuick_x3f___closed__1;
-x_1149 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___closed__2;
-x_1150 = lean_panic_fn(x_1148, x_1149);
-x_1151 = lean_apply_5(x_1150, x_2, x_3, x_4, x_5, x_893);
-return x_1151;
+x_1160 = l___private_Lean_Meta_Basic_0__Lean_Meta_isClassQuick_x3f___closed__1;
+x_1161 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___closed__2;
+x_1162 = lean_panic_fn(x_1160, x_1161);
+x_1163 = lean_apply_5(x_1162, x_2, x_3, x_4, x_5, x_905);
+return x_1163;
}
}
}
+block_1171:
+{
+if (x_1165 == 0)
+{
+x_905 = x_1166;
+goto block_1164;
+}
+else
+{
+lean_object* x_1167; lean_object* x_1168; lean_object* x_1169; lean_object* x_1170;
+lean_inc(x_1);
+x_1167 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_1167, 0, x_1);
+x_1168 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2___closed__5;
+x_1169 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_1168, x_1167, x_2, x_3, x_4, x_5, x_1166);
+x_1170 = lean_ctor_get(x_1169, 1);
+lean_inc(x_1170);
+lean_dec(x_1169);
+x_905 = x_1170;
+goto block_1164;
+}
+}
}
case 12:
{
-lean_object* x_1168; lean_object* x_1169; lean_object* x_1170; lean_object* x_1171;
+lean_object* x_1184; lean_object* x_1185; lean_object* x_1186; lean_object* x_1187;
lean_dec(x_1);
-x_1168 = l___private_Lean_Meta_Basic_0__Lean_Meta_isClassQuick_x3f___closed__1;
-x_1169 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___closed__4;
-x_1170 = lean_panic_fn(x_1168, x_1169);
-x_1171 = lean_apply_5(x_1170, x_2, x_3, x_4, x_5, x_6);
-return x_1171;
+x_1184 = l___private_Lean_Meta_Basic_0__Lean_Meta_isClassQuick_x3f___closed__1;
+x_1185 = l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___closed__4;
+x_1186 = lean_panic_fn(x_1184, x_1185);
+x_1187 = lean_apply_5(x_1186, x_2, x_3, x_4, x_5, x_6);
+return x_1187;
}
default:
{
-lean_object* x_1172;
+lean_object* x_1188;
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
-x_1172 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_1172, 0, x_1);
-lean_ctor_set(x_1172, 1, x_6);
-return x_1172;
+x_1188 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_1188, 0, x_1);
+lean_ctor_set(x_1188, 1, x_6);
+return x_1188;
}
}
}
@@ -15266,7 +15286,7 @@ x_69 = lean_ctor_get(x_63, 1);
lean_inc(x_69);
lean_dec(x_63);
x_70 = l_Lean_Meta_reduceBinNatOp___closed__3;
-x_71 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_70, x_4, x_5, x_6, x_7, x_69);
+x_71 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_70, x_4, x_5, x_6, x_7, x_69);
x_72 = lean_ctor_get(x_71, 0);
lean_inc(x_72);
x_73 = lean_ctor_get(x_71, 1);
@@ -15307,7 +15327,7 @@ lean_object* x_47; lean_object* x_48; lean_object* x_49; uint8_t x_50;
lean_dec(x_31);
x_47 = l_Lean_Meta_reduceBinNatOp___closed__3;
x_48 = l_Lean_Meta_reduceBinNatOp___closed__11;
-x_49 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_47, x_48, x_4, x_5, x_6, x_7, x_41);
+x_49 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_47, x_48, x_4, x_5, x_6, x_7, x_41);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
@@ -15497,7 +15517,7 @@ x_131 = lean_ctor_get(x_125, 1);
lean_inc(x_131);
lean_dec(x_125);
x_132 = l_Lean_Meta_reduceBinNatOp___closed__3;
-x_133 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_132, x_4, x_5, x_6, x_7, x_131);
+x_133 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_132, x_4, x_5, x_6, x_7, x_131);
x_134 = lean_ctor_get(x_133, 0);
lean_inc(x_134);
x_135 = lean_ctor_get(x_133, 1);
@@ -15549,7 +15569,7 @@ x_109 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_109, 0, x_107);
lean_ctor_set(x_109, 1, x_108);
x_110 = l_Lean_Meta_reduceBinNatOp___closed__3;
-x_111 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_110, x_109, x_4, x_5, x_6, x_7, x_98);
+x_111 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_110, x_109, x_4, x_5, x_6, x_7, x_98);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
@@ -15858,7 +15878,7 @@ x_203 = lean_ctor_get(x_197, 1);
lean_inc(x_203);
lean_dec(x_197);
x_204 = l_Lean_Meta_reduceBinNatOp___closed__3;
-x_205 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_204, x_4, x_5, x_6, x_7, x_203);
+x_205 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_204, x_4, x_5, x_6, x_7, x_203);
x_206 = lean_ctor_get(x_205, 0);
lean_inc(x_206);
x_207 = lean_ctor_get(x_205, 1);
@@ -15899,7 +15919,7 @@ lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189;
lean_dec(x_170);
x_186 = l_Lean_Meta_reduceBinNatOp___closed__3;
x_187 = l_Lean_Meta_reduceBinNatOp___closed__11;
-x_188 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_186, x_187, x_4, x_5, x_6, x_7, x_180);
+x_188 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_186, x_187, x_4, x_5, x_6, x_7, x_180);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
@@ -16073,7 +16093,7 @@ x_254 = lean_ctor_get(x_248, 1);
lean_inc(x_254);
lean_dec(x_248);
x_255 = l_Lean_Meta_reduceBinNatOp___closed__3;
-x_256 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_255, x_4, x_5, x_6, x_7, x_254);
+x_256 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_255, x_4, x_5, x_6, x_7, x_254);
x_257 = lean_ctor_get(x_256, 0);
lean_inc(x_257);
x_258 = lean_ctor_get(x_256, 1);
@@ -16125,7 +16145,7 @@ x_237 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_237, 0, x_235);
lean_ctor_set(x_237, 1, x_236);
x_238 = l_Lean_Meta_reduceBinNatOp___closed__3;
-x_239 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_238, x_237, x_4, x_5, x_6, x_7, x_226);
+x_239 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_238, x_237, x_4, x_5, x_6, x_7, x_226);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
@@ -16493,7 +16513,7 @@ x_347 = lean_ctor_get(x_341, 1);
lean_inc(x_347);
lean_dec(x_341);
x_348 = l_Lean_Meta_reduceBinNatOp___closed__3;
-x_349 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_348, x_4, x_5, x_6, x_7, x_347);
+x_349 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_348, x_4, x_5, x_6, x_7, x_347);
x_350 = lean_ctor_get(x_349, 0);
lean_inc(x_350);
x_351 = lean_ctor_get(x_349, 1);
@@ -16552,7 +16572,7 @@ x_325 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_325, 0, x_324);
lean_ctor_set(x_325, 1, x_319);
x_326 = l_Lean_Meta_reduceBinNatOp___closed__3;
-x_327 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_326, x_325, x_4, x_5, x_6, x_7, x_311);
+x_327 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_326, x_325, x_4, x_5, x_6, x_7, x_311);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
@@ -16745,7 +16765,7 @@ x_410 = lean_ctor_get(x_404, 1);
lean_inc(x_410);
lean_dec(x_404);
x_411 = l_Lean_Meta_reduceBinNatOp___closed__3;
-x_412 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_411, x_4, x_5, x_6, x_7, x_410);
+x_412 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEq___spec__1(x_411, x_4, x_5, x_6, x_7, x_410);
x_413 = lean_ctor_get(x_412, 0);
lean_inc(x_413);
x_414 = lean_ctor_get(x_412, 1);
@@ -16806,7 +16826,7 @@ x_390 = lean_alloc_ctor(10, 2, 0);
lean_ctor_set(x_390, 0, x_389);
lean_ctor_set(x_390, 1, x_383);
x_391 = l_Lean_Meta_reduceBinNatOp___closed__3;
-x_392 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__2(x_391, x_390, x_4, x_5, x_6, x_7, x_376);
+x_392 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEq___spec__4(x_391, x_390, x_4, x_5, x_6, x_7, x_376);
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
diff --git a/stage0/stdlib/Lean/Parser/Basic.c b/stage0/stdlib/Lean/Parser/Basic.c
index 2fd2b9792f..8e686033c2 100644
--- a/stage0/stdlib/Lean/Parser/Basic.c
+++ b/stage0/stdlib/Lean/Parser/Basic.c
@@ -16,23 +16,28 @@ extern "C" {
lean_object* l_Lean_Parser_nonReservedSymbol___boxed(lean_object*, lean_object*);
lean_object* l_List_reverse___rarg(lean_object*);
lean_object* l_Lean_Parser_identEq(lean_object*);
-lean_object* l_Lean_Parser_takeWhileFn___at_Lean_Parser_decimalNumberFn___spec__1___boxed(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_mergeOrElseErrors_match__1(lean_object*);
lean_object* l_Lean_Syntax_foldArgs___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_categoryParserOfStack___elambda__1(lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Parser_info___default___elambda__1(lean_object*);
lean_object* l_Lean_Parser_finishCommentBlock(lean_object*, lean_object*, lean_object*);
lean_object* lean_string_push(lean_object*, uint32_t);
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_pickNonNone_match__1(lean_object*);
+lean_object* l_Lean_Parser_Lean_Parser_Basic___instance__9___closed__1;
lean_object* l_Lean_Parser_charLit___closed__1;
lean_object* l_Lean_Parser_andthenInfo___elambda__1(lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Parser_Basic_4__isToken___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_find___at_Lean_Parser_indexed___spec__3___rarg___boxed(lean_object*, lean_object*);
+lean_object* l_Std_RBNode_find___at_Lean_Parser_indexed___spec__5___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Parser_hashOrelse;
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_nameLitAux(lean_object*, lean_object*, lean_object*);
size_t l_USize_add(size_t, size_t);
-lean_object* l_Lean_Parser_manyAux___main___closed__1;
lean_object* l_Lean_Parser_numLit___elambda__1___closed__2;
extern lean_object* l_Lean_fieldIdxKind;
lean_object* l_Lean_Syntax_forArgsM___rarg(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_ParserInfo_firstTokens___default;
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_nameLitAux___closed__1;
+lean_object* l_Lean_Parser_ParserState_mkUnexpectedError_match__1___rarg(lean_object*, lean_object*);
uint8_t l_Lean_Parser_checkTailWs(lean_object*);
-lean_object* l_Lean_Parser_satisfyFn___at_Lean_Parser_hexNumberFn___spec__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_identFn___closed__1;
lean_object* l_Lean_Parser_try(lean_object*);
lean_object* l_Lean_Parser_nodeWithAntiquot___elambda__1(lean_object*, lean_object*, lean_object*, lean_object*);
@@ -42,21 +47,25 @@ lean_object* l_Lean_Parser_andthenInfo(lean_object*, lean_object*);
lean_object* l_Lean_Syntax_foldSepRevArgs___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_ParserState_mkError(lean_object*, lean_object*);
lean_object* l_Lean_Parser_strLitNoAntiquot___closed__2;
-lean_object* l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_octalNumberFn___spec__3(lean_object*, lean_object*);
-lean_object* l_Lean_Parser_InputContext_inhabited___closed__1;
lean_object* lean_mk_empty_array_with_capacity(lean_object*);
lean_object* l_Lean_Parser_sepByInfo(lean_object*, lean_object*);
lean_object* l_Std_RBNode_find___at_Lean_Parser_indexed___spec__2___rarg___boxed(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Parser_info___default;
lean_object* l_Lean_Parser_ParserState_shrinkStack___boxed(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_indexed_match__2(lean_object*, lean_object*);
lean_object* lean_nat_div(lean_object*, lean_object*);
lean_object* l_Lean_Parser_eoi___closed__2;
lean_object* l_Lean_Parser_eoi___closed__1;
lean_object* l_Lean_Parser_decimalNumberFn___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_notFollowedByFn___closed__1;
+lean_object* l_Lean_Parser_ParserState_keepNewError_match__1___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Syntax_foldSepRevArgsM(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_FirstTokens_toOptional_match__1___rarg(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_nullKind;
+lean_object* l_Lean_Parser_Parser_info___default___closed__3;
lean_object* l_Lean_Parser_leadPrec;
lean_object* l_Lean_Parser_notFollowedByFn___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_decimalNumberFn___closed__1;
lean_object* l_Lean_Parser_strLitNoAntiquot;
lean_object* l_Lean_Parser_octalNumberFn___closed__1;
lean_object* l_Lean_Parser_many(lean_object*);
@@ -64,15 +73,14 @@ lean_object* l_Lean_Parser_quotedCharCoreFn(lean_object*, lean_object*, lean_obj
extern lean_object* l_Lean_identKind___closed__1;
lean_object* l_Lean_Parser_FirstTokens_toStr(lean_object*);
lean_object* l_Array_foldlStepMAux___main___at_Array_foldSepBy___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_FirstTokens_toOptional_match__1(lean_object*);
extern lean_object* l_Lean_fieldIdxKind___closed__2;
+lean_object* l_Lean_Parser_checkTailWs_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_strAux___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_satisfyFn___at_Lean_Parser_rawCh___elambda__1___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_eoi;
extern lean_object* l_List_repr___rarg___closed__1;
-lean_object* l___private_Lean_Parser_Basic_3__rawAux___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
extern uint32_t l_Lean_idBeginEscape;
-lean_object* l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_identFnAux___main___spec__2___boxed(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_ParserState_errorMsg___default;
lean_object* l_Lean_Parser_optionaInfo___elambda__2(lean_object*, lean_object*);
lean_object* l_Lean_Parser_ParserFn_inhabited___rarg(lean_object*);
lean_object* l_Lean_Parser_binNumberFn___closed__1;
@@ -80,10 +88,13 @@ lean_object* l_Lean_Parser_hexNumberFn___closed__1;
lean_object* l_Lean_Parser_checkInsideQuotFn(lean_object*, lean_object*);
lean_object* l_Lean_Syntax_foldSepRevArgs(lean_object*);
lean_object* l_Lean_Parser_binNumberFn___boxed(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_ParserState_toErrorMsg_match__1___rarg(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Error_merge_match__1___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Parser_numberFnAux(lean_object*, lean_object*);
lean_object* l_Lean_Parser_identEqFn___closed__1;
lean_object* l_Std_PersistentHashMap_insertAux___at_Lean_Parser_SyntaxNodeKindSet_insert___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_lookahead(lean_object*);
+lean_object* l_Std_RBNode_find___at_Lean_Parser_indexed___spec__6___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Parser_unicodeSymbolInfo___elambda__2(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Syntax_foldSepArgs___rarg___boxed(lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Name_quickLt(lean_object*, lean_object*);
@@ -91,7 +102,6 @@ uint8_t lean_name_eq(lean_object*, lean_object*);
uint8_t l_Lean_Parser_isQuotableCharDefault(uint32_t);
lean_object* l_Lean_Parser_charLit;
lean_object* l_Lean_Parser_hexNumberFn___boxed(lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_trailingLoop___main(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_find___at_Lean_Parser_indexed___spec__2(lean_object*);
lean_object* l_Array_foldSepBy___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_numLit___elambda__1___closed__1;
@@ -99,141 +109,168 @@ lean_object* l_Lean_Parser_longestMatchFn(lean_object*, lean_object*, lean_objec
lean_object* l_Lean_Parser_fieldIdx___closed__6;
lean_object* l_Lean_Parser_nameLitNoAntiquot;
lean_object* l_Lean_Syntax_foldSepArgs___rarg(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_nonReservedSymbolFnAux_match__1(lean_object*);
+lean_object* l_Lean_Parser_ParserState_mkNode_match__1(lean_object*);
+lean_object* l_Lean_Parser_ParserInfo_collectKinds___default___boxed(lean_object*);
+lean_object* l_Lean_Parser_ParserState_keepLatest_match__1___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Parser_nameLitNoAntiquot___closed__2;
-lean_object* l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_decimalNumberFn___spec__2(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_whitespace___lambda__1___boxed(lean_object*);
lean_object* l_Lean_Parser_Trie_matchPrefix___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_octalNumberFn___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_ParserState_stackSize___boxed(lean_object*);
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_octalNumberFn(lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_satisfyFn___at_Lean_Parser_identFnAux___main___spec__4___boxed(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_octalNumberFn___closed__2;
lean_object* l_Lean_Parser_hexNumberFn(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_foldSepBy___rarg___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_strLitFnAux(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_Parser_SyntaxNodeKindSet_insert___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_ParserState_next(lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux(lean_object*, lean_object*, uint8_t, lean_object*, uint8_t, lean_object*, lean_object*);
extern lean_object* l_Prod_HasRepr___rarg___closed__1;
lean_object* l_Array_extract___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_setExpected___elambda__1___boxed(lean_object*);
-lean_object* l_Lean_Parser_PrattParsingTables_inhabited;
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_mkTrailingResult(lean_object*, lean_object*);
lean_object* l_Lean_Parser_categoryParserFnRef;
+lean_object* l_Lean_Parser_Error_expected___default;
lean_object* l_Lean_Parser_pushNone;
lean_object* l_Lean_Parser_checkNoImmediateColon___closed__1;
lean_object* l_Lean_EnvExtensionInterfaceUnsafe_registerExt___rarg(lean_object*, lean_object*);
-lean_object* l___private_Lean_Parser_Basic_1__expectedToString___main___closed__1;
-lean_object* l_Lean_Parser_InputContext_inhabited;
-lean_object* l_Lean_Parser_Error_HasToString___closed__1;
+lean_object* l_Lean_Parser_Parser_info___default___elambda__1___boxed(lean_object*);
+lean_object* l_Lean_Parser_longestMatchFn_match__1(lean_object*);
extern lean_object* l_Lean_Syntax_isAntiquot_match__1___rarg___closed__1;
+lean_object* l_Lean_Parser_ParserInfo_collectKinds___default(lean_object*);
+lean_object* l_Lean_Parser_mkTokenAndFixPos_match__1(lean_object*);
size_t l_USize_sub(size_t, size_t);
+lean_object* l_Lean_Parser_PrattParsingTables_leadingTable___default;
extern lean_object* l_Array_empty___closed__1;
lean_object* l_Lean_Parser_ParserState_pushSyntax(lean_object*, lean_object*);
lean_object* l_Lean_Parser_mkAntiquot___closed__17;
lean_object* l_Lean_Syntax_foldSepArgsM(lean_object*, lean_object*);
lean_object* l_Lean_Parser_unquotedSymbolFn___closed__1;
+lean_object* l_Lean_Parser_quotedSymbolFn___closed__1___boxed__const__1;
lean_object* l_Lean_Parser_nonReservedSymbolInfo___closed__2;
lean_object* l_Lean_Parser_ident;
+lean_object* l_Lean_Parser_anyOfFn_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_strAux_parse(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Parser_isLitKind(lean_object*);
-lean_object* l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_whitespace___main___spec__1(lean_object*, lean_object*);
-lean_object* l_Lean_Parser_satisfyFn___at_Lean_Parser_binNumberFn___spec__1(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_fieldIdxKind___closed__1;
lean_object* l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__1;
lean_object* l_Lean_Parser_withAntiquotFn(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_categoryParserOfStackFn___closed__2;
+lean_object* l_Lean_Parser_longestMatchFnAux_parse_match__2___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_checkColGe(lean_object*);
lean_object* lean_st_ref_get(lean_object*, lean_object*);
lean_object* l_Lean_Parser_nonReservedSymbolFn(lean_object*, lean_object*, lean_object*);
uint8_t l_Char_isDigit(uint32_t);
lean_object* l_Lean_Parser_ParserState_mkNode(lean_object*, lean_object*, lean_object*);
+uint8_t l_Lean_Parser_binNumberFn___lambda__1(uint32_t);
+lean_object* l_Lean_Parser_FirstTokens_toStr_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_List_append___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Parser_nameLitNoAntiquot___closed__1;
+lean_object* l_Lean_Parser_ParserState_mergeErrors_match__1(lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_Syntax_foldArgsM___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_foldlStepMAux___main___at_Array_foldSepByM___spec__1(lean_object*, lean_object*);
+uint8_t l_Lean_Parser_hexNumberFn___lambda__1(uint32_t);
lean_object* l_Lean_Parser_antiquotNestedExpr___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_satisfyFn___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_mkTokenAndFixPos___closed__2;
-extern uint32_t l_Lean_idEndEscape;
lean_object* l_Lean_Parser_mkAntiquot___closed__9;
+uint8_t l_Lean_Parser_octalNumberFn___lambda__1(uint32_t);
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_sepByFnAux___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_isIdRest___boxed(lean_object*);
lean_object* l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
+lean_object* l_IO_mkRef___at_Lean_Parser_initFn____x40_Lean_Parser_Basic___hyg_5876____spec__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_pushNone___elambda__1___boxed(lean_object*);
lean_object* l_Lean_Parser_notFollowedByFn(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_foldSepByM(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_ParserState_mkUnexpectedErrorAt_match__1___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Parser_orelseFn(lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Std_RBNode_find___at_Lean_Parser_indexed___spec__4(lean_object*);
+lean_object* l_Lean_Parser_ParserInfo_collectTokens___default___boxed(lean_object*);
+lean_object* l_Array_findRevMAux___main___at___private_Lean_Parser_Basic_0__Lean_Parser_pickNonNone___spec__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_ParserState_mkTrailingNode(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_ins___at_Lean_Parser_TokenMap_insert___spec__4(lean_object*);
-lean_object* l_Lean_Parser_finishCommentBlock___main___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_quotedSymbol___closed__2;
lean_object* l_Lean_Parser_mkAntiquot___closed__4;
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_Error_expectedToString_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_array_push(lean_object*, lean_object*);
lean_object* l_Lean_Parser_rawCh___elambda__1(uint32_t, uint8_t, lean_object*, lean_object*);
lean_object* lean_array_get_size(lean_object*);
lean_object* l_Std_PersistentHashMap_getCollisionNodeSize___rarg(lean_object*);
extern lean_object* l_Lean_charLitKind___closed__1;
lean_object* l_Lean_Parser_leadPrec___closed__1;
+lean_object* l_Lean_Parser_mkTokenAndFixPos_match__1___rarg(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
lean_object* lean_string_append(lean_object*, lean_object*);
lean_object* l_Lean_Parser_mkAntiquot___closed__27;
+lean_object* l_Lean_Parser_checkColGeFn_match__1___rarg(lean_object*, lean_object*, lean_object*);
uint8_t l_List_beq___main___at_Lean_Syntax_structEq___spec__3(lean_object*, lean_object*);
lean_object* l_Lean_Parser_tokenFn(lean_object*, lean_object*);
lean_object* l_Lean_Parser_withoutForbidden___lambda__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_mkAtomicInfo(lean_object*);
lean_object* l_Lean_Parser_notFollowedBy(lean_object*, lean_object*);
-lean_object* l_Lean_Parser_satisfyFn___at_Lean_Parser_binNumberFn___spec__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_charLit___elambda__1___closed__1;
lean_object* lean_string_utf8_extract(lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Parser_Basic_10__mkResult(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Parser_info___default___closed__1;
lean_object* l_Lean_Parser_numLit___closed__3;
lean_object* l_Lean_Parser_charLit___elambda__1___closed__2;
uint8_t l_Char_isWhitespace(uint32_t);
extern lean_object* l_String_splitAux___main___closed__1;
-lean_object* l_Lean_Parser_mkCategoryParserFnExtension___lambda__1(lean_object*);
+lean_object* l_Lean_Parser_Error_merge_match__1(lean_object*);
lean_object* l_Lean_Parser_withPosition(lean_object*);
lean_object* l_Lean_Parser_mkAntiquot___closed__11;
lean_object* l_Std_RBNode_find___at_Lean_Parser_indexed___spec__3___rarg(lean_object*, lean_object*);
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_updateCache_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_charLitFnAux(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_FirstTokens_seq_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_List_repr___rarg___closed__3;
lean_object* l_Lean_Parser_checkPrecFn___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_quotedSymbol___closed__1;
lean_object* l_Lean_Parser_leadingParserAux___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_foldlStepMAux___main___at_Array_foldSepByM___spec__1___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_mkNodeToken(lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Error_unexpected___default;
lean_object* l_Lean_Parser_tryAnti___boxed(lean_object*, lean_object*);
size_t l_USize_shiftRight(size_t, size_t);
-lean_object* l_Lean_Parser_identFnAux___main___closed__1;
lean_object* l_Lean_Parser_symbolInfo___elambda__1(lean_object*);
lean_object* l_Lean_Parser_nonReservedSymbol(lean_object*, uint8_t);
lean_object* l_Lean_Parser_symbolFnAux___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_mkNodeToken___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_checkPrecFn___closed__1;
+lean_object* l_Lean_Parser_TokenCacheEntry_startPos___default;
lean_object* l_Lean_Parser_initCacheForInput___boxed(lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_Syntax_forArgsM___spec__1(lean_object*);
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_nameLitAux_match__1(lean_object*);
lean_object* lean_string_utf8_byte_size(lean_object*);
lean_object* l_Lean_Syntax_forSepArgsM(lean_object*);
lean_object* l_Lean_Parser_ParserState_mkErrorsAt(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_checkStackTopFn___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Syntax_foldSepRevArgs___rarg___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_leadingParser(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_binNumberFn___closed__2;
lean_object* l_Lean_Parser_checkColGeFn___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_nameLitFn(lean_object*, lean_object*);
lean_object* l_Lean_Parser_quotedSymbolFn(lean_object*, lean_object*);
lean_object* l_Lean_Parser_setExpected___elambda__1___rarg(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Nat_HasOfNat___closed__1;
-lean_object* l_Lean_Parser_takeUntilFn___main(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_strLitFnAux___boxed(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_nameLitKind;
+lean_object* l_Lean_Parser_TokenMap_Lean_Parser_Basic___instance__8(lean_object*);
lean_object* l_Lean_Parser_strLit___closed__1;
lean_object* l_Lean_Parser_unquotedSymbol___closed__2;
-lean_object* l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_binNumberFn___spec__3___boxed(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Error_Lean_Parser_Basic___instance__3;
+lean_object* l_Lean_Parser_indexed_match__4___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_fieldIdx___closed__4;
lean_object* l_Array_foldlStepMAux___main___at_Lean_Syntax_forSepArgsM___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+uint8_t l_Lean_Parser_ParserContext_insideQuot___default;
lean_object* l_Lean_Parser_checkPrecFn(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_orelseFnCore_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_ident___closed__1;
lean_object* l_Array_foldlStepMAux___main___at_Lean_Syntax_foldSepArgsM___spec__1___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_finishCommentBlock___main(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_quotedSymbolFn___closed__2___boxed__const__1;
lean_object* lean_nat_add(lean_object*, lean_object*);
lean_object* l_Lean_Parser_indexed___rarg(lean_object*, lean_object*, lean_object*, uint8_t);
+lean_object* l_Std_RBNode_find___at_Lean_Parser_indexed___spec__6(lean_object*);
uint8_t l_Lean_Parser_takeWhileFn___lambda__1(lean_object*, uint32_t);
-lean_object* l___private_Lean_Parser_Basic_8__updateCache(lean_object*, lean_object*);
uint32_t l_Lean_Parser_getNext(lean_object*, lean_object*);
lean_object* l_Lean_Parser_andthenInfo___elambda__2(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_mkAntiquot___closed__3;
@@ -245,40 +282,42 @@ lean_object* l_Array_foldlStepMAux___main___at_Lean_Syntax_forSepArgsM___spec__1
lean_object* l_Array_foldlStepMAux___main___at_Lean_Syntax_foldSepRevArgsM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_identEqFn(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_optional(lean_object*);
-uint8_t l___private_Lean_Parser_Basic_5__isIdFirstOrBeginEscape(uint32_t);
+lean_object* l_Lean_Parser_indexed_match__5___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Parser_antiquotExpr___closed__2;
lean_object* l___private_Init_Data_Array_Basic_3__iterateRevMAux___main___at_Lean_Syntax_foldSepRevArgs___spec__1(lean_object*);
+lean_object* l_Lean_Parser_ParserState_keepLatest_match__1(lean_object*);
lean_object* l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__3;
+lean_object* l_Lean_Parser_ParserState_mkErrorsAt_match__1___rarg(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_setExpectedFn_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_numLit___closed__1;
lean_object* l_Lean_Parser_rawIdentFn(lean_object*, lean_object*);
lean_object* l_Std_PersistentHashMap_insert___at_Lean_Parser_SyntaxNodeKindSet_insert___spec__1(lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_takeUntilFn___main___boxed(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_whitespace___closed__1;
lean_object* l_Lean_Parser_stringToParserCoe(lean_object*);
lean_object* l_Lean_Parser_indexed(lean_object*);
+lean_object* l_Lean_Parser_tryAnti_match__2(lean_object*);
lean_object* l_Lean_Parser_setExpectedFn___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_strLit___elambda__1(lean_object*, lean_object*);
lean_object* l_Array_foldlStepMAux___main___at_Lean_Syntax_foldSepArgs___spec__1(lean_object*);
lean_object* l_Lean_Parser_mkAntiquot___closed__30;
-lean_object* l___private_Lean_Parser_Basic_5__isIdFirstOrBeginEscape___boxed(lean_object*);
lean_object* lean_string_utf8_next(lean_object*, lean_object*);
lean_object* l_Lean_Parser_invalidLongestMatchParser(lean_object*);
lean_object* l_Lean_Parser_invalidLongestMatchParser___closed__1;
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_isIdFirstOrBeginEscape___boxed(lean_object*);
lean_object* l_Lean_Parser_mkAntiquot___closed__5;
-lean_object* l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_binNumberFn___spec__3(lean_object*, lean_object*);
lean_object* l_Lean_Syntax_forArgsM(lean_object*);
lean_object* l_Lean_Parser_mkAntiquot___closed__28;
+lean_object* l_Lean_Parser_octalNumberFn___lambda__1___boxed(lean_object*);
lean_object* l_Lean_Parser_mkAntiquot___closed__15;
lean_object* l_Lean_Parser_decimalNumberFn(lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_PrattParsingTables_inhabited___closed__1;
extern lean_object* l_ULift_HasRepr___rarg___closed__2;
-lean_object* l_Lean_Parser_satisfyFn___at_Lean_Parser_quotedSymbolFn___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_takeWhileFn(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_numLit___closed__2;
lean_object* l_Array_foldlStepMAux___main___at_Lean_Syntax_foldSepArgsM___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+uint8_t l___private_Lean_Parser_Basic_0__Lean_Parser_isToken(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_nonReservedSymbolInfo___elambda__2(lean_object*);
lean_object* l_Lean_Parser_checkOutsideQuot___closed__1;
lean_object* l_Lean_Parser_initCacheForInput(lean_object*);
-lean_object* l_Lean_Parser_satisfyFn___at_Lean_Parser_identFnAux___main___spec__4(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
lean_object* l_Lean_Parser_mkAntiquot___closed__18;
lean_object* l_Lean_Parser_fieldIdx___closed__1;
@@ -287,15 +326,20 @@ lean_object* l_Lean_Parser_TokenMap_insert(lean_object*);
lean_object* l_Lean_Parser_setExpected___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Parser_unicodeSymbol(lean_object*, lean_object*);
lean_object* l_Lean_Parser_longestMatchFn___closed__1;
+lean_object* l_Lean_Parser_checkColGtFn_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_checkStackTopFn(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_setBlack___rarg(lean_object*);
+lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Basic___hyg_5876____closed__1;
lean_object* l_Lean_Parser_takeWhileFn___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_unicodeSymbolInfo___elambda__1(lean_object*);
lean_object* l_Lean_Parser_identNoAntiquot___closed__1;
lean_object* l_Lean_Parser_ParserState_setPos(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_nonReservedSymbolFnAux_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_antiquotExpr___elambda__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_longestMatchStep_match__1(lean_object*);
lean_object* l_Std_RBNode_ins___at_Lean_Parser_TokenMap_insert___spec__3(lean_object*);
lean_object* l_Lean_Parser_mkTokenAndFixPos___closed__1;
+lean_object* l_Lean_Parser_tryFn_match__1(lean_object*);
lean_object* l_Lean_Parser_whitespace___boxed(lean_object*, lean_object*);
lean_object* l_Array_foldlStepMAux___main___at_Lean_Syntax_forSepArgsM___spec__1___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_quotedCharFn(lean_object*, lean_object*);
@@ -304,21 +348,25 @@ lean_object* l_Lean_Parser_checkNoWsBeforeFn___boxed(lean_object*, lean_object*,
lean_object* lean_array_fget(lean_object*, lean_object*);
lean_object* l_Lean_Parser_mkAtomicInfo___elambda__2(lean_object*);
lean_object* l_Lean_Parser_strLitFn___closed__1;
-lean_object* l_Lean_Parser_manyAux___main(lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_quotedCharCoreFn___at_Lean_Parser_quotedCharFn___spec__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Error_Lean_Parser_Basic___instance__4___closed__1;
+lean_object* l_Lean_Parser_orelseFnCore_match__1(lean_object*);
+lean_object* l_Lean_Parser_ParserState_keepPrevError_match__1(lean_object*);
lean_object* l_Lean_Parser_hasAndthen;
-lean_object* l_Lean_Parser_satisfyFn___at_Lean_Parser_rawCh___elambda__1___spec__1(uint32_t, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_ident___closed__2;
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
-lean_object* l_Lean_Parser_Error_HasBeq___closed__1;
+lean_object* l_Lean_Parser_ParserState_mkErrorAt_match__1(lean_object*);
lean_object* l_Lean_Parser_nonReservedSymbolFnAux(lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_indexed_match__1(lean_object*, lean_object*);
lean_object* l_Lean_Syntax_foldSepArgsM___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_pickNonNone___boxed(lean_object*);
lean_object* l_Lean_Parser_Parser_inhabited;
lean_object* l_Lean_Parser_hasAndthen___closed__1;
+lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Basic___hyg_5876____lambda__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__6;
+lean_object* l_Lean_Parser_checkTailWs_match__1(lean_object*);
lean_object* l_Lean_Parser_takeUntilFn___boxed(lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_quotedSymbolFn___spec__2(uint32_t, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_identFnAux___main___spec__3(lean_object*, lean_object*);
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_sepByFnAux_parse(lean_object*, lean_object*, uint8_t, lean_object*, uint8_t, lean_object*, lean_object*);
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_isToken___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_longestMatchFnAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_lookaheadFn(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_withResultOfInfo___elambda__2(lean_object*, lean_object*);
@@ -329,19 +377,22 @@ lean_object* l_Lean_Parser_symbolFn___boxed(lean_object*, lean_object*, lean_obj
extern lean_object* l_Lean_numLitKind;
lean_object* l_Lean_Parser_quotedSymbol;
lean_object* l_Lean_Parser_numLitNoAntiquot___closed__1;
+lean_object* l_Lean_Parser_indexed_match__4(lean_object*);
lean_object* lean_nat_sub(lean_object*, lean_object*);
lean_object* l_Lean_Parser_setExpected(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_longestMatchFnAux_parse_match__1(lean_object*);
lean_object* l_Lean_Parser_ParserState_keepLatest(lean_object*, lean_object*);
lean_object* l_Lean_Parser_antiquotNestedExpr___closed__1;
lean_object* l_Lean_Syntax_foldSepRevArgsM___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_TokenMap_HasEmptyc(lean_object*);
lean_object* l___private_Init_Data_Array_Basic_3__iterateRevMAux___main___at_Lean_Syntax_foldSepRevArgs___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_checkNoWsBefore(lean_object*);
lean_object* l_Lean_Parser_antiquotNestedExpr___closed__2;
lean_object* l_Lean_Parser_noFirstTokenInfo(lean_object*);
+lean_object* l_Lean_Parser_longestMatchFn_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_array_swap(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_strLitKind;
lean_object* l_Lean_Parser_nonReservedSymbolInfo(lean_object*, uint8_t);
+lean_object* l_Lean_Parser_runLongestMatchParser_match__1(lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_Syntax_forArgsM___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_List_eraseRepsAux___main___at_Lean_Parser_Error_toString___spec__4(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_finishCommentBlock___boxed(lean_object*, lean_object*, lean_object*);
@@ -350,6 +401,7 @@ lean_object* l_Lean_Syntax_foldArgs(lean_object*);
lean_object* l_Lean_Parser_nonReservedSymbolInfo___elambda__1(lean_object*);
lean_object* l_Lean_Parser_nodeInfo___elambda__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Error_merge(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_leadingParserAux_match__1(lean_object*);
lean_object* l_Lean_Parser_checkWsBeforeFn(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Name_append___main(lean_object*, lean_object*);
lean_object* l_Lean_Parser_ParserState_keepLatest___boxed(lean_object*, lean_object*);
@@ -358,6 +410,7 @@ lean_object* l_Lean_Parser_skip___closed__1;
lean_object* l_Lean_Syntax_foldArgsM(lean_object*, lean_object*);
lean_object* l_Array_shrink___main___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Parser_numLitNoAntiquot___closed__2;
+uint8_t l_Lean_Parser_whitespace___lambda__1(uint32_t);
lean_object* l_Std_RBNode_find___at_Lean_Parser_indexed___spec__1___rarg___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Parser_withAntiquot(lean_object*, lean_object*);
lean_object* l_Lean_Parser_fieldIdx___closed__3;
@@ -368,51 +421,53 @@ lean_object* l_Lean_Parser_antiquotExpr;
lean_object* l_Lean_Parser_symbol(lean_object*);
lean_object* l_Lean_Parser_isQuotableCharDefault___boxed(lean_object*);
lean_object* l_Lean_Parser_checkLineEqFn(lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_takeWhileFn___at_Lean_Parser_octalNumberFn___spec__2(lean_object*, lean_object*);
+lean_object* l_Std_RBNode_find___at_Lean_Parser_indexed___spec__5(lean_object*);
lean_object* l_Lean_Parser_symbolInfo___elambda__1___boxed(lean_object*);
-lean_object* l_Lean_Parser_whitespace___main(lean_object*, lean_object*);
lean_object* l_Lean_Parser_nameLit___closed__3;
lean_object* l_Lean_Syntax_foldArgsM___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_numLitFn(lean_object*, lean_object*);
-lean_object* l_Lean_Parser_identFnAux___main(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_array_get(lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_mkResult(lean_object*, lean_object*);
uint8_t l_Lean_Parser_tryAnti(lean_object*, lean_object*);
extern lean_object* l_Lean_numLitKind___closed__1;
lean_object* l_Lean_Parser_optionaInfo(lean_object*);
-lean_object* l_Lean_Parser_quotedCharCoreFn___at_Lean_Parser_quotedCharFn___spec__1___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Parser_FirstTokens_seq(lean_object*, lean_object*);
-lean_object* l___private_Lean_Parser_Basic_9__pickNonNone___boxed(lean_object*);
+lean_object* l_Lean_Parser_ParserState_mkNode_match__1___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Parser_peekToken(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Error_toString___closed__4;
-lean_object* l_Lean_Parser_anyOfFn___main___closed__1;
lean_object* l_Lean_Parser_strLit___elambda__1___closed__2;
lean_object* l_Lean_Parser_SyntaxNodeKindSet_insert(lean_object*, lean_object*);
extern lean_object* l_Lean_strLitKind___closed__1;
-uint8_t l___private_Lean_Parser_Basic_4__isToken(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_nodeWithAntiquot___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_antiquotNestedExpr___closed__4;
+lean_object* l_Lean_Parser_checkColGeFn_match__1(lean_object*);
lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Error_Lean_Parser_Basic___instance__3___closed__1;
lean_object* l_Lean_Parser_skip;
lean_object* l_Lean_Parser_nameLit;
lean_object* l_Lean_Parser_binNumberFn(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_charLitNoAntiquot___closed__3;
lean_object* l_Lean_Parser_peekTokenAux(lean_object*, lean_object*);
-lean_object* l_Lean_Parser_Error_HasBeq;
lean_object* l_Lean_Parser_nonReservedSymbolInfo___closed__3;
-lean_object* l_Lean_Parser_Error_Inhabited___closed__1;
lean_object* l_Lean_Parser_ParserState_shrinkStack(lean_object*, lean_object*);
lean_object* l_Lean_Parser_checkOutsideQuot___closed__2;
uint8_t l_Lean_Parser_checkTailNoWs(lean_object*);
lean_object* l_Lean_Parser_checkTailWs___boxed(lean_object*);
+lean_object* l_Lean_Parser_longestMatchFnAux_parse(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_charLitFn(lean_object*, lean_object*);
lean_object* l_Lean_Parser_trailingLoopStep(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_charLitNoAntiquot___closed__2;
lean_object* l_Array_iterateMAux___main___at_Lean_Syntax_foldArgsM___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_longestMatchStep(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_tryAnti_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_setExpectedFn(lean_object*);
+lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Basic___hyg_5895____lambda__1(lean_object*);
lean_object* l_Lean_Parser_strLitFn(lean_object*, lean_object*);
lean_object* l_Lean_Parser_mkAntiquot___closed__12;
+lean_object* l_Lean_Parser_ParserState_mkErrorAt_match__1___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Parser_charLit___closed__3;
+lean_object* l_Lean_Parser_FirstTokens_seq_match__1(lean_object*);
+lean_object* l_Lean_Parser_ParserContext_savedPos_x3f___default;
size_t l_Lean_Name_hash(lean_object*);
lean_object* l_Lean_Parser_antiquotNestedExpr___closed__7;
lean_object* l_Lean_Parser_nameLit___closed__1;
@@ -421,68 +476,65 @@ lean_object* l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
lean_object* l_Lean_Parser_categoryParserOfStack(lean_object*, lean_object*);
extern lean_object* l_Char_HasRepr___closed__1;
lean_object* l_Lean_Parser_mkAntiquot___closed__20;
-lean_object* l___private_Lean_Parser_Basic_1__expectedToString___main(lean_object*);
lean_object* l_Lean_Parser_checkWsBefore(lean_object*);
lean_object* l_Lean_Parser_checkNoWsBeforeFn(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_ParserState_setCache(lean_object*, lean_object*);
-lean_object* l_Lean_Parser_strAux___main(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_ParserState_mkErrorsAt_match__1(lean_object*);
lean_object* l_Lean_Parser_mkAntiquot___closed__10;
lean_object* l_Array_foldlStepMAux___main___at_Lean_Syntax_foldSepArgsM___spec__1(lean_object*, lean_object*);
-lean_object* l_Lean_Parser_satisfyFn___at_Lean_Parser_chFn___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_ins___at_Lean_Parser_TokenMap_insert___spec__3___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_antiquotNestedExpr___closed__5;
-lean_object* l___private_Lean_Parser_Basic_3__rawAux(lean_object*, uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_Parser_mkIdResult(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_takeWhileFn___at_Lean_Parser_decimalNumberFn___spec__1(lean_object*, lean_object*);
-lean_object* l_Lean_Parser_takeWhileFn___at_Lean_Parser_octalNumberFn___spec__2___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Parser_orelseInfo(lean_object*, lean_object*);
lean_object* lean_st_mk_ref(lean_object*, lean_object*);
lean_object* l_Lean_Parser_nameLit___closed__2;
lean_object* l_Lean_Parser_strLitNoAntiquot___closed__1;
lean_object* l_Lean_Parser_sepByFn(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_fieldIdx___closed__2;
-lean_object* l_Lean_Parser_satisfyFn___at_Lean_Parser_chFn___spec__1(uint32_t, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_many1Unbox___lambda__1(lean_object*);
+lean_object* l_Lean_Parser_Error_Lean_Parser_Basic___instance__5;
lean_object* l_Lean_Parser_rawCh___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Parser_getNext___boxed(lean_object*, lean_object*);
-lean_object* l_IO_mkRef___at_Lean_Parser_mkCategoryParserFnRef___spec__1(lean_object*, lean_object*);
lean_object* lean_name_mk_string(lean_object*, lean_object*);
extern lean_object* l_Lean_choiceKind;
extern lean_object* l_List_repr___rarg___closed__2;
extern lean_object* l_Lean_charLitKind;
lean_object* l_Lean_Parser_errorFn(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Basic___hyg_5895____closed__1;
extern lean_object* l_List_reprAux___main___rarg___closed__1;
-lean_object* l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_hexNumberFn___spec__3___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Parser_maxPrec;
lean_object* l_Lean_Parser_withForbidden___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_TokenMap_Inhabited(lean_object*);
+lean_object* l_Lean_Parser_mergeOrElseErrors_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_rawIdent;
lean_object* l_Array_foldlStepMAux___main___at_Array_foldSepByM___spec__1___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_checkLineEqFn_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_ins___at_Lean_Parser_TokenMap_insert___spec__6(lean_object*);
-lean_object* l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__10;
lean_object* l_Lean_Parser_FirstTokens_merge(lean_object*, lean_object*);
lean_object* l_Lean_Parser_many1Unbox___closed__1;
+lean_object* l_Lean_Parser_setExpectedFn_match__1(lean_object*);
lean_object* l_Lean_Parser_strLit___elambda__1___closed__1;
lean_object* l_Lean_Parser_pushNone___elambda__1___rarg(lean_object*);
+lean_object* l_Lean_Parser_ParserState_mkUnexpectedError_match__1(lean_object*);
lean_object* l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_Parser_Error_toString___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_PrattParsingTables_leadingParsers___default;
lean_object* l_Lean_Parser_fieldIdx___closed__5;
+lean_object* l_Lean_Parser_ParserState_mkUnexpectedErrorAt_match__1(lean_object*);
lean_object* l_Lean_Parser_symbolInfo___elambda__2(lean_object*, lean_object*);
-lean_object* l_Lean_Parser_takeWhileFn___at_Lean_Parser_hexNumberFn___spec__2(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_checkColGtFn_match__1(lean_object*);
lean_object* l_Lean_Parser_charLit___closed__2;
-lean_object* l___private_Lean_Parser_Basic_7__tokenFnAux(lean_object*, lean_object*);
lean_object* l_Lean_Parser_ParserFn_inhabited(lean_object*);
lean_object* l_Lean_Parser_ParserState_mkEOIError___closed__1;
uint8_t l_Lean_Parser_isIdCont(lean_object*, lean_object*);
lean_object* l_Lean_Parser_mergeOrElseErrors___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_checkNoImmediateColon___elambda__1(lean_object*, lean_object*);
-lean_object* l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_quotedSymbolFn___spec__2___boxed(lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_isToken_match__1(lean_object*);
lean_object* l_Lean_Parser_nonReservedSymbolInfo___elambda__1___boxed(lean_object*);
-lean_object* l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_octalNumberFn___spec__3___boxed(lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_Syntax_foldArgs___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_foldlStepMAux___main___at_Lean_Syntax_foldSepArgs___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint32_t lean_string_utf8_get(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_ParserState_mergeErrors_match__1___rarg(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_FirstTokens_Lean_Parser_Basic___instance__6___closed__1;
lean_object* l_Lean_Parser_mkAntiquot___closed__13;
-lean_object* l_Lean_Parser_satisfyFn___at_Lean_Parser_octalNumberFn___spec__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_orelseFnCore___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_symbolFn(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_ParserState_hasError___boxed(lean_object*);
@@ -494,7 +546,7 @@ lean_object* l_Lean_Parser_identFnAux(lean_object*, lean_object*, lean_object*,
lean_object* l_Lean_Parser_strLitNoAntiquot___closed__3;
lean_object* l_Lean_Parser_charLitNoAntiquot___closed__1;
lean_object* l_Array_qsortAux___main___at_Lean_Parser_Error_toString___spec__1___boxed(lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main(lean_object*, lean_object*, uint8_t, lean_object*, uint8_t, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_identFnAux_parse___closed__2;
lean_object* l_Lean_Parser_Parser_inhabited___lambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_checkTailNoWs___boxed(lean_object*);
lean_object* l_Lean_Parser_takeUntilFn(lean_object*, lean_object*, lean_object*);
@@ -504,31 +556,43 @@ lean_object* l_Lean_FileMap_toPosition(lean_object*, lean_object*);
lean_object* l_Lean_Parser_mkAtomicInfo___elambda__1(lean_object*);
lean_object* l_Lean_Parser_anyOfFn(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_mkEmptySubstringAt(lean_object*, lean_object*);
-lean_object* l_Lean_Parser_takeWhileFn___at_Lean_Parser_binNumberFn___spec__2___boxed(lean_object*, lean_object*);
-lean_object* l_Lean_Parser_strLitFnAux___main(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_anyOfFn___closed__1;
+lean_object* l_Array_findRevMAux___main___at___private_Lean_Parser_Basic_0__Lean_Parser_pickNonNone___spec__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Error_toString___closed__2;
+lean_object* l_Lean_Parser_categoryParserOfStackFn_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_checkInsideQuot;
lean_object* l_Lean_Parser_nameLitNoAntiquot___closed__3;
+lean_object* l_Lean_Parser_leadingParserAux_match__1___rarg(lean_object*, lean_object*);
lean_object* l_Array_foldlStepMAux___main___at_Lean_Syntax_foldSepArgs___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_longestMatchMkResult(lean_object*, lean_object*);
size_t l_USize_mul(size_t, size_t);
lean_object* l_Lean_Parser_toggleInsideQuot(lean_object*);
lean_object* l_Lean_Parser_whitespace(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_quotedSymbolFn___closed__4;
lean_object* l_List_redLength___main___rarg(lean_object*);
+lean_object* l_Lean_Parser_identFnAux_parse___closed__1;
+lean_object* l_Lean_Parser_indexed_match__3___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_rawCh(uint32_t, uint8_t);
lean_object* l_Lean_Parser_sepByInfo___elambda__1(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_categoryParserOfStackFn_match__1(lean_object*);
lean_object* l_Lean_Parser_quotedCharCoreFn___closed__1;
-lean_object* l_Array_findRevMAux___main___at___private_Lean_Parser_Basic_9__pickNonNone___spec__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_ParserState_restore___boxed(lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Parser_Basic_11__mkTrailingResult(lean_object*, lean_object*);
lean_object* l_Lean_Parser_mkAntiquot___closed__21;
lean_object* l_Lean_Parser_ParserState_restore(lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_pickNonNone_match__1___rarg(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Lean_Parser_Basic___instance__9;
lean_object* l_Lean_Parser_antiquotNestedExpr___closed__3;
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_pickNonNone(lean_object*);
lean_object* l_Lean_Parser_sepBy1___boxed(lean_object*, lean_object*, lean_object*);
+uint8_t l___private_Lean_Parser_Basic_0__Lean_Parser_isIdFirstOrBeginEscape(uint32_t);
lean_object* l_Lean_quotedSymbolKind;
+lean_object* l_Lean_Parser_binNumberFn___lambda__1___boxed(lean_object*);
lean_object* l_Lean_Parser_strLit___closed__3;
+lean_object* l_Lean_Parser_identFnAux_parse(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_ParserState_popSyntax(lean_object*);
lean_object* l_Lean_Parser_termParser(lean_object*);
+lean_object* l_Lean_Parser_ParserState_mkError_match__1___rarg(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Error_Lean_Parser_Basic___instance__5___closed__1;
lean_object* l_Lean_Parser_sepByFn___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_manyAux(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_checkInsideQuotFn___closed__1;
@@ -537,32 +601,39 @@ lean_object* l_Lean_Parser_pushNone___closed__1;
lean_object* l_Lean_Parser_chFn(uint32_t, uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_Parser_antiquotNestedExpr;
lean_object* l_Lean_Parser_mkAtomicInfo___elambda__2___boxed(lean_object*);
-lean_object* l_Lean_Parser_satisfyFn___at_Lean_Parser_quotedSymbolFn___spec__1(uint32_t, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_trailingNodeAux(lean_object*, lean_object*);
lean_object* l_Lean_Parser_trailingNodeFn(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_rawIdent___closed__2;
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_Error_expectedToString___closed__1;
lean_object* l_Lean_Syntax_foldSepArgsM___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Lean_Parser_Basic___instance__2;
lean_object* l_Lean_Parser_checkNoImmediateColon;
lean_object* l_Lean_Parser_withResultOfFn(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_insert___at_Lean_Parser_TokenMap_insert___spec__2___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_withoutPosition___lambda__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__7;
+lean_object* l_Lean_Parser_Lean_Parser_Basic___instance__1;
lean_object* l_Lean_Parser_rawIdentNoAntiquot___closed__2;
size_t l_USize_land(size_t, size_t);
lean_object* l_Lean_Parser_nameLit___elambda__1___closed__1;
+lean_object* l_Lean_Parser_runLongestMatchParser_match__1___rarg(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_anyOfFn_match__1(lean_object*);
lean_object* l_Lean_Parser_mkAntiquot___elambda__2(lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_EnvExtensionInterfaceUnsafe_Ext_inhabitedExt___closed__2;
lean_object* l_Lean_Parser_checkOutsideQuotFn(lean_object*, lean_object*);
lean_object* l_Lean_Parser_categoryParserFn(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_ParserState_keepPrevError_match__1___rarg(lean_object*, lean_object*);
lean_object* l_Array_foldlStepMAux___main___at_Array_foldSepByM___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_checkInsideQuot___closed__1;
lean_object* l_Lean_Parser_checkLineEqFn___boxed(lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_mkCategoryParserFnExtension___closed__1;
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_updateCache(lean_object*, lean_object*);
lean_object* l_Lean_Parser_sepBy1Info(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_quotedCharFn___closed__1;
lean_object* l_Lean_Parser_charLitFnAux___closed__1;
lean_object* l_Lean_Parser_hexDigitFn___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Parser_checkInsideQuotFn___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Parser_ParserState_mergeErrors___boxed(lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_Error_expectedToString(lean_object*);
lean_object* l_Array_foldSepBy(lean_object*);
lean_object* l_Lean_Parser_trailingNode(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_mkAtomFrom(lean_object*, lean_object*);
@@ -572,7 +643,10 @@ lean_object* l_Lean_Parser_pushNone___closed__2;
lean_object* l_Lean_Parser_quotedCharFn___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Parser_sepBy1(lean_object*, lean_object*, uint8_t);
lean_object* l_Lean_Parser_sepBy1Fn___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_longestMatchFnAux_parse_match__1___rarg(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_checkTailNoWs_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_noFirstTokenInfo___elambda__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Parser_info___default___closed__2;
lean_object* l_Lean_Parser_ident___elambda__1___closed__1;
lean_object* l_Lean_Parser_checkColGeFn(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_charLitFnAux___boxed(lean_object*, lean_object*, lean_object*);
@@ -580,16 +654,18 @@ lean_object* l_Lean_Parser_prattParser___boxed(lean_object*, lean_object*, lean_
lean_object* l_Array_foldSepByM___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_nodeWithAntiquot(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_quotedSymbolKind___closed__1;
+lean_object* l_Lean_Parser_ParserState_mkTrailingNode_match__1___rarg(lean_object*, lean_object*);
extern lean_object* l_Lean_identKind;
+lean_object* l_Lean_Parser_satisfySymbolFn_match__1(lean_object*);
lean_object* l_Lean_Parser_ParserState_mkErrorAt(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_fieldIdxFn___closed__1;
lean_object* l_Lean_Parser_withForbidden(lean_object*, lean_object*);
lean_object* l_Lean_Parser_ident___elambda__1(lean_object*, lean_object*);
-lean_object* l_Lean_Parser_Error_HasToString;
lean_object* l_Lean_Parser_trailingLoop(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Init_Data_Array_Basic_3__iterateRevMAux___main___at_Lean_Syntax_foldSepRevArgsM___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_symbol___boxed(lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_Syntax_foldArgs___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Error_Lean_Parser_Basic___instance__4;
lean_object* l_Lean_Parser_charLit___elambda__1(lean_object*, lean_object*);
uint8_t l_UInt32_decEq(uint32_t, uint32_t);
lean_object* l_Lean_Parser_toggleInsideQuotFn(lean_object*, lean_object*, lean_object*);
@@ -598,15 +674,13 @@ lean_object* l_Lean_Parser_unquotedSymbolFn(lean_object*, lean_object*);
lean_object* l_String_intercalate(lean_object*, lean_object*);
lean_object* l_Lean_Parser_numLit;
lean_object* l_Lean_Parser_leadingParser___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_FirstTokens_toStr_match__1(lean_object*);
lean_object* l_Lean_Parser_hexDigitFn(lean_object*, lean_object*);
-lean_object* l_Lean_Parser_mkCategoryParserFnRef___lambda__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_PersistentHashMap_insertAtCollisionNodeAux___at_Lean_Parser_SyntaxNodeKindSet_insert___spec__3(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_mkAntiquot___closed__16;
-lean_object* l___private_Lean_Parser_Basic_1__expectedToString(lean_object*);
lean_object* l_Lean_Parser_checkNoImmediateColon___elambda__1___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Parser_checkLineEq(lean_object*);
-lean_object* l_Lean_Parser_FirstTokens_HasToString___closed__1;
-lean_object* l_Lean_Parser_FirstTokens_HasToString;
+lean_object* l_Lean_Parser_trailingLoop_match__1(lean_object*);
lean_object* l_Lean_Parser_numLit___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_mkAntiquot___closed__29;
lean_object* l_Lean_Parser_Error_toString(lean_object*);
@@ -614,11 +688,15 @@ lean_object* l_Lean_Parser_categoryParserOfStackFn___boxed(lean_object*, lean_ob
lean_object* l_Lean_Parser_checkNoImmediateColon___elambda__1___closed__1;
lean_object* l_Lean_Parser_runLongestMatchParser(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_ParserState_mkTrailingNode___boxed(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_FirstTokens_merge_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Syntax_getNumArgs(lean_object*);
-lean_object* l_Array_findRevMAux___main___at___private_Lean_Parser_Basic_9__pickNonNone___spec__1(lean_object*, lean_object*, lean_object*);
+uint8_t l_Lean_Parser_quotedSymbolFn___lambda__1(uint32_t, uint32_t);
lean_object* l_Array_foldlStepMAux___main___at_Array_foldSepBy___spec__1(lean_object*);
lean_object* l_Lean_Parser_ParserState_keepNewError___boxed(lean_object*, lean_object*);
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_tokenFnAux_match__1___rarg(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_PrattParsingTables_trailingTable___default;
lean_object* l_Lean_Parser_stringToParserCoeOld___boxed(lean_object*);
+lean_object* l_Lean_Parser_Lean_Parser_Basic___instance__1___closed__1;
lean_object* l_Std_RBNode_insert___at_Lean_Parser_TokenMap_insert___spec__5___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_ParserState_mkUnexpectedErrorAt(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_quotedSymbolKind___closed__2;
@@ -626,99 +704,105 @@ lean_object* l_Lean_Parser_mkAntiquot___closed__24;
lean_object* l_Std_RBNode_find___at_Lean_Parser_TokenMap_insert___spec__1(lean_object*);
lean_object* l_Lean_Parser_mergeOrElseErrors(lean_object*, lean_object*, lean_object*, uint8_t);
lean_object* l_Lean_Parser_tryFn(lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_whitespace___main___boxed(lean_object*, lean_object*);
lean_object* l_Std_RBNode_find___at_Lean_Parser_indexed___spec__1(lean_object*);
lean_object* l_Lean_Parser_withPosition___lambda__1(lean_object*, lean_object*, lean_object*);
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
uint8_t l_USize_decLe(size_t, size_t);
lean_object* l_Lean_Parser_takeWhileFn___lambda__1___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Parser_numLitNoAntiquot___closed__3;
-lean_object* l_Lean_Parser_Error_Inhabited;
lean_object* l_Lean_Parser_categoryParser(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Parser_info___default___elambda__2___boxed(lean_object*);
uint8_t l_Std_RBNode_isRed___rarg(lean_object*);
lean_object* l_Lean_Parser_quotedSymbolFn___closed__2;
-lean_object* l___private_Lean_Parser_Basic_6__nameLitAux___closed__1;
+lean_object* l_Lean_Parser_quotedSymbolFn___lambda__1___boxed(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_ParserState_mkError_match__1(lean_object*);
lean_object* l_Lean_Parser_antiquotNestedExpr___closed__6;
lean_object* l_Lean_Parser_mkAntiquot___closed__22;
+lean_object* l_Lean_Parser_TokenMap_insert_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Syntax_getArgs(lean_object*);
+lean_object* l_Lean_Parser_TokenCacheEntry_token___default;
lean_object* l_Lean_Syntax_getKind(lean_object*);
+lean_object* l_Lean_Parser_ParserState_toErrorMsg_match__1(lean_object*);
lean_object* l_Lean_Parser_chFn___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_numLitNoAntiquot;
-lean_object* l___private_Lean_Parser_Basic_6__nameLitAux(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_checkTailNoWs_match__1(lean_object*);
lean_object* l_Lean_Parser_Error_beq___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Parser_orelseInfo___elambda__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_mkAntiquot___closed__14;
lean_object* l_Lean_Parser_FirstTokens_toStr___closed__1;
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_sepByFnAux(lean_object*, lean_object*, uint8_t, lean_object*, uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_Parser_setExpectedFn___boxed(lean_object*);
lean_object* l_Lean_Parser_quotedSymbolFn___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Parser_withResultOf(lean_object*, lean_object*);
+lean_object* l_Std_RBNode_find___at_Lean_Parser_indexed___spec__6___rarg___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Parser_satisfySymbolFn(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_symbolInfo(lean_object*);
-lean_object* l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-lean_object* l_Lean_Parser_takeWhileFn___at_Lean_Parser_binNumberFn___spec__2(lean_object*, lean_object*);
lean_object* l_Lean_Parser_quotedSymbolFn___closed__1;
lean_object* l_Lean_Parser_checkStackTop(lean_object*, lean_object*);
lean_object* l_Lean_Parser_eoiFn(lean_object*, lean_object*);
lean_object* l_Lean_Parser_sepBy1Fn(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_orelseFnCore(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_satisfyFn___at_Lean_Parser_octalNumberFn___spec__1___boxed(lean_object*, lean_object*, lean_object*);
extern lean_object* l___private_Init_Util_1__mkPanicMessage___closed__2;
lean_object* l_Lean_Parser_epsilonInfo;
-lean_object* l_Lean_Parser_anyOfFn___main(lean_object*, lean_object*, lean_object*);
lean_object* l_List_toString___at_Lean_Parser_FirstTokens_toStr___spec__1(lean_object*);
lean_object* l_Lean_Parser_epsilonInfo___closed__3;
lean_object* l_Lean_Parser_unquotedSymbol;
-lean_object* l___private_Lean_Parser_Basic_9__pickNonNone(lean_object*);
lean_object* l_Lean_Parser_hashOrelse___closed__1;
lean_object* l_Lean_Parser_nonReservedSymbolInfo___elambda__2___boxed(lean_object*);
-lean_object* l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_whitespace___main___spec__1___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Parser_categoryParser___elambda__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_pushNone___elambda__1(lean_object*);
+lean_object* l_Lean_Parser_tryAnti_match__2___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Parser_FirstTokens_toStr___closed__2;
lean_object* l_Lean_Parser_rawIdentNoAntiquot;
lean_object* l_Lean_Parser_ParserState_replaceLongest(lean_object*, lean_object*);
lean_object* l_Lean_Parser_ident___elambda__1___closed__2;
+lean_object* l_Lean_Parser_indexed_match__5(lean_object*);
lean_object* l_Lean_Parser_fieldIdxFn___boxed(lean_object*, lean_object*);
-lean_object* l_Lean_Parser_ParserCategory_inhabited;
+lean_object* l_Std_RBNode_find___at_Lean_Parser_indexed___spec__4___rarg___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Parser_mkAntiquot___closed__19;
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_sepByFnAux_parse___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_rawAux(lean_object*, uint8_t, lean_object*, lean_object*);
+lean_object* l_UInt32_decEq___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Parser_unicodeSymbolFn___closed__1;
-lean_object* l_Lean_Parser_takeWhileFn___at_Lean_Parser_hexNumberFn___spec__2___boxed(lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_Parser_SyntaxNodeKindSet_insert___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_ParserContext_forbiddenTk_x3f___default;
lean_object* l_Std_RBNode_insert___at_Lean_Parser_TokenMap_insert___spec__5(lean_object*);
lean_object* l_Lean_Parser_checkNoWsBefore___elambda__1(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_PrattParsingTables_trailingParsers___default;
lean_object* l_Lean_Parser_noFirstTokenInfo___elambda__2(lean_object*, lean_object*);
lean_object* l_Lean_Parser_withoutPosition(lean_object*);
lean_object* l_Std_RBNode_ins___at_Lean_Parser_TokenMap_insert___spec__6___rarg(lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_mkCategoryParserFnRef___lambda__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_PersistentHashMap_insertAux___at_Lean_Parser_SyntaxNodeKindSet_insert___spec__2(lean_object*, size_t, size_t, lean_object*, lean_object*);
lean_object* l_Lean_Parser_epsilonInfo___closed__2;
lean_object* l_Lean_Parser_Parser_inhabited___closed__2;
-lean_object* l_Lean_Parser_mkCategoryParserFnExtension(lean_object*);
lean_object* l___private_Init_Data_Array_Basic_3__iterateRevMAux___main___at_Lean_Syntax_foldSepRevArgsM___spec__2(lean_object*, lean_object*);
lean_object* l_Lean_Parser_rawCh___elambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_numberFnAux___closed__1;
lean_object* l_Lean_Parser_nonReservedSymbolInfo___closed__1;
lean_object* l_Array_iterateMAux___main___at_Lean_Syntax_foldArgsM___spec__1(lean_object*, lean_object*);
lean_object* l_List_eraseReps___at_Lean_Parser_Error_toString___spec__3(lean_object*);
-lean_object* l_Lean_Parser_ParserCategory_inhabited___closed__1;
lean_object* l_Std_RBNode_find___at_Lean_Parser_TokenMap_insert___spec__1___rarg___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Parser_isIdCont___boxed(lean_object*, lean_object*);
uint8_t l_Lean_Syntax_isNone(lean_object*);
-lean_object* l_Lean_Parser_strAux___main___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_takeWhile1Fn___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_identNoAntiquot___closed__3;
lean_object* l_Lean_Parser_epsilonInfo___closed__1;
lean_object* l_Lean_Parser_checkPrec(lean_object*);
+lean_object* l_Lean_Parser_FirstTokens_Lean_Parser_Basic___instance__6;
lean_object* l_Lean_Parser_checkNoImmediateColon___closed__2;
+lean_object* l_Lean_Parser_identEqFn_match__1(lean_object*);
extern lean_object* l_Lean_mkOptionalNode___closed__1;
+lean_object* l_Lean_Parser_Parser_info___default___elambda__2(lean_object*);
lean_object* l_Array_foldlStepMAux___main___at_Array_foldSepBy___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_String_trim(lean_object*);
+lean_object* l_Lean_isIdEndEscape___boxed(lean_object*);
lean_object* l_Lean_Parser_leadingParserAux(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_Syntax_forSepArgsM___rarg___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_rawFn(lean_object*, uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_Parser_charLitFn___closed__1;
lean_object* l_Lean_Syntax_getTailInfo(lean_object*);
lean_object* l_Lean_Parser_nodeFn(lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_ParserState_pos___default;
extern lean_object* l_Lean_Level_LevelToFormat_toResult___closed__4;
lean_object* l_Array_toList___rarg(lean_object*);
lean_object* l_Lean_Parser_checkWsBeforeFn___boxed(lean_object*, lean_object*, lean_object*);
@@ -730,22 +814,33 @@ lean_object* l_Lean_Parser_checkOutsideQuotFn___boxed(lean_object*, lean_object*
lean_object* lean_array_pop(lean_object*);
lean_object* l_Lean_Parser_TokenMap_insert___rarg(lean_object*, lean_object*, lean_object*);
extern size_t l_Std_PersistentHashMap_insertAux___rarg___closed__2;
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_nameLitAux_match__1___rarg(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_strAux_parse___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_isIdFirst(uint32_t);
uint8_t l_Lean_Syntax_isOfKind(lean_object*, lean_object*);
lean_object* l_Lean_Parser_takeWhile1Fn(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_errorFn___boxed(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_identEqFn_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_many1Unbox(lean_object*);
lean_object* l_Lean_Parser_sepByInfo___elambda__2(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_checkColGt(lean_object*);
lean_object* l_Lean_Parser_symbolInfo___closed__1;
lean_object* l_Lean_Syntax_forSepArgsM___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_nameLit___elambda__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_indexed_match__1___rarg(lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_tokenFnAux_match__1(lean_object*);
lean_object* l_Lean_Parser_mkAntiquot___closed__6;
lean_object* l_Lean_Parser_rawIdent___closed__1;
+lean_object* l_Lean_Parser_Lean_Parser_Basic___instance__10___closed__1;
+lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Basic___hyg_5876_(lean_object*);
+lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Basic___hyg_5895_(lean_object*);
lean_object* l_Lean_Parser_fieldIdx___closed__7;
lean_object* l_Lean_Parser_mkAntiquot(lean_object*, lean_object*, uint8_t);
lean_object* l_Lean_Parser_optionaInfo___elambda__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_identFnAux_parse___closed__3;
+lean_object* l_Lean_Parser_ParserState_mkTrailingNode_match__1(lean_object*);
lean_object* l_Lean_Parser_leadingNode(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_ParserInfo_collectTokens___default(lean_object*);
lean_object* l_Lean_Parser_ParserState_toErrorMsg(lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_Parser_SyntaxNodeKindSet_insert___spec__4(size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_mkStxLit(lean_object*, lean_object*, lean_object*);
@@ -754,9 +849,9 @@ lean_object* l_Lean_Parser_mkAtomicInfo___closed__1;
lean_object* l_Lean_Parser_checkColGtFn(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Error_toString___closed__3;
lean_object* l_Lean_Parser_ParserState_stackSize(lean_object*);
+lean_object* l_Lean_Parser_TokenMap_insert_match__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_fieldIdx;
lean_object* l_Lean_Parser_Parser_inhabited___closed__3;
-lean_object* l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_hexNumberFn___spec__3(lean_object*, lean_object*);
lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*);
lean_object* l_Lean_Parser_unicodeSymbolFn___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_foldlStepMAux___main___at_Lean_Syntax_forSepArgsM___spec__1(lean_object*);
@@ -767,8 +862,11 @@ lean_object* l_Lean_Parser_ParserState_next___boxed(lean_object*, lean_object*,
extern lean_object* l_Lean_FileMap_Lean_Data_Position___instance__5___closed__1;
extern lean_object* l_Lean_mkOptionalNode___closed__2;
lean_object* l_Lean_Parser_Parser_inhabited___lambda__1___boxed(lean_object*, lean_object*);
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_Error_expectedToString_match__1(lean_object*);
lean_object* l_Array_foldlStepMAux___main___at_Lean_Syntax_foldSepArgsM___spec__1___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_updateCache_match__1(lean_object*);
lean_object* l_Lean_Parser_eoiFn___boxed(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_satisfySymbolFn_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Init_Data_Array_Basic_3__iterateRevMAux___main___at_Lean_Syntax_foldSepRevArgsM___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_sepBy1Info___elambda__2(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_epsilonInfo___elambda__2(lean_object*);
@@ -776,27 +874,28 @@ lean_object* l_Lean_Parser_orelse(lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_Syntax_foldArgs___spec__1(lean_object*);
lean_object* l_Lean_Parser_unicodeSymbolFn(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_epsilonInfo___elambda__1(lean_object*);
-lean_object* l_Lean_Parser_satisfyFn___at_Lean_Parser_hexNumberFn___spec__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_categoryParserFnExtension;
+lean_object* l_Std_RBNode_find___at_Lean_Parser_indexed___spec__5___rarg___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Parser_epsilonInfo___elambda__2___boxed(lean_object*);
lean_object* l_Lean_Parser_withResultOfInfo___elambda__1(lean_object*, lean_object*);
lean_object* l_List_toStringAux___main___at_Lean_Parser_FirstTokens_toStr___spec__2(uint8_t, lean_object*);
+lean_object* l_Lean_Parser_TokenMap_Lean_Parser_Basic___instance__7(lean_object*);
lean_object* l_List_toArrayAux___main___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Parser_andthen(lean_object*, lean_object*);
lean_object* l_Lean_Parser_node(lean_object*, lean_object*);
extern lean_object* l_System_FilePath_dirName___closed__1;
lean_object* l_Array_iterateMAux___main___at_Lean_Syntax_forArgsM___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_stringToParserCoe___boxed(lean_object*);
+lean_object* l_Lean_Parser_ParserState_keepNewError_match__1(lean_object*);
lean_object* l_Lean_Parser_mkAntiquot___closed__8;
uint8_t l_List_isEmpty___rarg(lean_object*);
+lean_object* l_Lean_Parser_quotedSymbolFn___closed__5;
lean_object* l_Lean_Parser_unicodeSymbolInfo(lean_object*, lean_object*);
lean_object* l_Lean_Parser_identNoAntiquot;
lean_object* l_Lean_Name_toStringWithSep___main(lean_object*, lean_object*);
-lean_object* l_Lean_Parser_mkCategoryParserFnRef(lean_object*);
+lean_object* l_Lean_Parser_tryAnti_match__1(lean_object*);
lean_object* l_Lean_Parser_ParserState_keepPrevError___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_strAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_mkCategoryParserFnRef___closed__1;
-lean_object* l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_identFnAux___main___spec__2(lean_object*, lean_object*);
lean_object* lean_usize_to_nat(size_t);
lean_object* l_Lean_Parser_mkTokenAndFixPos(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_mkAtomicInfo___elambda__1___boxed(lean_object*);
@@ -804,12 +903,14 @@ lean_object* l_Lean_Parser_FirstTokens_toOptional(lean_object*);
lean_object* l_Lean_Parser_checkWsBefore___elambda__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_ParserState_mkUnexpectedError(lean_object*, lean_object*);
uint8_t l_UInt32_decLe(uint32_t, uint32_t);
-lean_object* l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_identFnAux___main___spec__3___boxed(lean_object*, lean_object*);
+lean_object* l_Std_RBNode_find___at_Lean_Parser_indexed___spec__4___rarg(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_trailingLoop_match__1___rarg(lean_object*, lean_object*);
uint8_t l_Lean_Parser_ParserState_hasError(lean_object*);
lean_object* l_Lean_Parser_symbolFnAux(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_hexDigitFn___closed__1;
lean_object* l_Lean_Parser_mkAtom(lean_object*, lean_object*);
lean_object* l_Lean_Parser_ParserState_mkEOIError(lean_object*);
+lean_object* l_Lean_Parser_checkLineEqFn_match__1(lean_object*);
lean_object* l_Lean_Parser_unicodeSymbolFnAux___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_ident___closed__3;
lean_object* l_Lean_EnvExtensionInterfaceUnsafe_getState___rarg(lean_object*, lean_object*);
@@ -817,20 +918,22 @@ lean_object* l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(lean_object*);
lean_object* l_Lean_Parser_indexed___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_rawFn___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_categoryParserOfStackFn(lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_takeWhileFn___at_Lean_Parser_identFnAux___main___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_Syntax_foldSepArgs(lean_object*);
lean_object* l_Lean_Parser_ParserState_keepPrevError(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_mkAntiquot___closed__25;
lean_object* l_Lean_Parser_checkWsBefore___elambda__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_ParserFn_inhabited___rarg___boxed(lean_object*);
extern lean_object* l_String_Inhabited;
+lean_object* l_Lean_Parser_tryFn_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_List_toStringAux___main___at_Lean_Parser_FirstTokens_toStr___spec__2___boxed(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_TokenCacheEntry_stopPos___default;
lean_object* l_Array_iterateMAux___main___at_Lean_Parser_SyntaxNodeKindSet_insert___spec__5(size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_setExpected___elambda__1(lean_object*);
lean_object* l_Lean_Parser_unicodeSymbolInfo___closed__1;
lean_object* l_Lean_Parser_quotedSymbolFn___closed__3;
-lean_object* l_Lean_Parser_takeWhileFn___at_Lean_Parser_identFnAux___main___spec__1___boxed(lean_object*, lean_object*);
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_tokenFnAux(lean_object*, lean_object*);
lean_object* l_Lean_Syntax_foldArgs___rarg___boxed(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_hexNumberFn___lambda__1___boxed(lean_object*);
uint8_t lean_string_utf8_at_end(lean_object*, lean_object*);
lean_object* l_Lean_Parser_ParserState_replaceLongest___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Parser_longestMatchStep___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -842,21 +945,26 @@ lean_object* l_Lean_Parser_mkAntiquot___closed__2;
lean_object* l_Lean_Parser_withResultOfInfo(lean_object*);
lean_object* l_Lean_Parser_Parser_inhabited___closed__1;
lean_object* l_Lean_Parser_categoryParserOfStack___elambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Lean_Parser_Basic___instance__10;
+lean_object* l_Lean_Parser_manyAux___closed__1;
lean_object* l_Lean_Parser_stringToParserCoeOld(lean_object*);
lean_object* l_Lean_Parser_identFn(lean_object*, lean_object*);
lean_object* l_Std_RBNode_find___at_Lean_Parser_TokenMap_insert___spec__1___rarg(lean_object*, lean_object*);
-lean_object* l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_decimalNumberFn___spec__2___boxed(lean_object*, lean_object*);
lean_object* l_Array_qsortAux___main___at_Lean_Parser_Error_toString___spec__1(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_longestMatchFnAux_parse_match__2(lean_object*);
lean_object* l___private_Init_Data_Array_Basic_3__iterateRevMAux___main___at_Lean_Syntax_foldSepRevArgs___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_antiquotExpr___closed__3;
lean_object* l_Lean_Parser_charLitNoAntiquot;
-lean_object* l_Lean_Parser_strLitFnAux___main___boxed(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_FirstTokens_merge_match__1(lean_object*);
lean_object* l_Lean_mkErrorStringWithPos(lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_isToken_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_unicodeSymbolFnAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_nameLit___elambda__1___closed__2;
+lean_object* l_Lean_Parser_indexed_match__3(lean_object*, lean_object*);
lean_object* l_Lean_Parser_checkColGtFn___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_sepBy1Info___elambda__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_rawIdent___elambda__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Basic___hyg_5876____lambda__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_ins___at_Lean_Parser_TokenMap_insert___spec__4___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_strLit;
lean_object* l_Lean_Parser_many1(lean_object*);
@@ -867,27 +975,31 @@ lean_object* l_Lean_Parser_mkAtomicInfo___closed__2;
lean_object* l_Lean_Parser_sepBy___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_identNoAntiquot___closed__2;
lean_object* l_Lean_Parser_withoutForbidden(lean_object*);
+lean_object* l_Lean_Parser_indexed_match__2___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_strLit___closed__2;
lean_object* l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__2;
lean_object* l_Lean_Parser_nonReservedSymbolInfo___boxed(lean_object*, lean_object*);
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_rawAux___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_ParserState_mergeErrors(lean_object*, lean_object*, lean_object*);
-uint8_t l_Lean_isIdRest(uint32_t);
lean_object* l_Lean_Parser_numberFnAux___boxed(lean_object*, lean_object*);
uint8_t lean_string_dec_lt(lean_object*, lean_object*);
lean_object* l_Lean_Parser_fieldIdxFn(lean_object*, lean_object*);
lean_object* l_Std_PersistentHashMap_mkCollisionNode___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_hexNumberFn___closed__2;
lean_object* l_Lean_Parser_mkIdent(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_nameLitKind___closed__1;
uint8_t lean_string_dec_eq(lean_object*, lean_object*);
lean_object* l_Lean_Parser_isLitKind___boxed(lean_object*);
uint8_t lean_nat_dec_lt(lean_object*, lean_object*);
lean_object* l_Lean_Parser_mkAntiquot___boxed(lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_longestMatchFnAux___main(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_error(lean_object*);
+lean_object* l_Lean_Parser_longestMatchStep_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Syntax_isIdent(lean_object*);
+lean_object* l_Char_isDigit___boxed(lean_object*);
lean_object* l_Lean_Parser_mkAntiquot___closed__1;
lean_object* l_Lean_Parser_ParserFn_inhabited___boxed(lean_object*);
lean_object* l_Lean_Parser_andthenFn(lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_ParserState_stxStack___default;
static lean_object* _init_l_Lean_quotedSymbolKind___closed__1() {
_start:
{
@@ -1039,6 +1151,30 @@ x_1 = l_Lean_Parser_leadPrec___closed__1;
return x_1;
}
}
+static lean_object* _init_l_Lean_Parser_TokenCacheEntry_startPos___default() {
+_start:
+{
+lean_object* x_1;
+x_1 = lean_unsigned_to_nat(0u);
+return x_1;
+}
+}
+static lean_object* _init_l_Lean_Parser_TokenCacheEntry_stopPos___default() {
+_start:
+{
+lean_object* x_1;
+x_1 = lean_unsigned_to_nat(0u);
+return x_1;
+}
+}
+static lean_object* _init_l_Lean_Parser_TokenCacheEntry_token___default() {
+_start:
+{
+lean_object* x_1;
+x_1 = lean_box(0);
+return x_1;
+}
+}
lean_object* l_Lean_Parser_initCacheForInput(lean_object* x_1) {
_start:
{
@@ -1675,7 +1811,7 @@ x_8 = l_Std_PersistentHashMap_insertAux___at_Lean_Parser_SyntaxNodeKindSet_inser
return x_8;
}
}
-static lean_object* _init_l_Lean_Parser_InputContext_inhabited___closed__1() {
+static lean_object* _init_l_Lean_Parser_Lean_Parser_Basic___instance__1___closed__1() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
@@ -1688,15 +1824,63 @@ lean_ctor_set(x_3, 2, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_InputContext_inhabited() {
+static lean_object* _init_l_Lean_Parser_Lean_Parser_Basic___instance__1() {
_start:
{
lean_object* x_1;
-x_1 = l_Lean_Parser_InputContext_inhabited___closed__1;
+x_1 = l_Lean_Parser_Lean_Parser_Basic___instance__1___closed__1;
return x_1;
}
}
-static lean_object* _init_l_Lean_Parser_Error_Inhabited___closed__1() {
+static lean_object* _init_l_Lean_Parser_Lean_Parser_Basic___instance__2() {
+_start:
+{
+lean_object* x_1;
+x_1 = l_Lean_Parser_Lean_Parser_Basic___instance__1___closed__1;
+return x_1;
+}
+}
+static uint8_t _init_l_Lean_Parser_ParserContext_insideQuot___default() {
+_start:
+{
+uint8_t x_1;
+x_1 = 0;
+return x_1;
+}
+}
+static lean_object* _init_l_Lean_Parser_ParserContext_savedPos_x3f___default() {
+_start:
+{
+lean_object* x_1;
+x_1 = lean_box(0);
+return x_1;
+}
+}
+static lean_object* _init_l_Lean_Parser_ParserContext_forbiddenTk_x3f___default() {
+_start:
+{
+lean_object* x_1;
+x_1 = lean_box(0);
+return x_1;
+}
+}
+static lean_object* _init_l_Lean_Parser_Error_unexpected___default() {
+_start:
+{
+lean_object* x_1;
+x_1 = l_String_splitAux___main___closed__1;
+return x_1;
+}
+}
+static lean_object* _init_l_Lean_Parser_Error_expected___default() {
+_start:
+{
+lean_object* x_1;
+x_1 = lean_box(0);
+return x_1;
+}
+}
+static lean_object* _init_l_Lean_Parser_Error_Lean_Parser_Basic___instance__3___closed__1() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
@@ -1708,15 +1892,87 @@ lean_ctor_set(x_3, 1, x_1);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Error_Inhabited() {
+static lean_object* _init_l_Lean_Parser_Error_Lean_Parser_Basic___instance__3() {
_start:
{
lean_object* x_1;
-x_1 = l_Lean_Parser_Error_Inhabited___closed__1;
+x_1 = l_Lean_Parser_Error_Lean_Parser_Basic___instance__3___closed__1;
return x_1;
}
}
-static lean_object* _init_l___private_Lean_Parser_Basic_1__expectedToString___main___closed__1() {
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_Error_expectedToString_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
+_start:
+{
+if (lean_obj_tag(x_1) == 0)
+{
+lean_object* x_6; lean_object* x_7;
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_6 = lean_box(0);
+x_7 = lean_apply_1(x_2, x_6);
+return x_7;
+}
+else
+{
+lean_object* x_8;
+lean_dec(x_2);
+x_8 = lean_ctor_get(x_1, 1);
+lean_inc(x_8);
+if (lean_obj_tag(x_8) == 0)
+{
+lean_object* x_9; lean_object* x_10;
+lean_dec(x_5);
+lean_dec(x_4);
+x_9 = lean_ctor_get(x_1, 0);
+lean_inc(x_9);
+lean_dec(x_1);
+x_10 = lean_apply_1(x_3, x_9);
+return x_10;
+}
+else
+{
+lean_object* x_11;
+lean_dec(x_3);
+x_11 = lean_ctor_get(x_8, 1);
+lean_inc(x_11);
+if (lean_obj_tag(x_11) == 0)
+{
+lean_object* x_12; lean_object* x_13; lean_object* x_14;
+lean_dec(x_5);
+x_12 = lean_ctor_get(x_1, 0);
+lean_inc(x_12);
+lean_dec(x_1);
+x_13 = lean_ctor_get(x_8, 0);
+lean_inc(x_13);
+lean_dec(x_8);
+x_14 = lean_apply_2(x_4, x_12, x_13);
+return x_14;
+}
+else
+{
+lean_object* x_15; lean_object* x_16;
+lean_dec(x_11);
+lean_dec(x_4);
+x_15 = lean_ctor_get(x_1, 0);
+lean_inc(x_15);
+lean_dec(x_1);
+x_16 = lean_apply_2(x_5, x_15, x_8);
+return x_16;
+}
+}
+}
+}
+}
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_Error_expectedToString_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l___private_Lean_Parser_Basic_0__Lean_Parser_Error_expectedToString_match__1___rarg), 5, 0);
+return x_2;
+}
+}
+static lean_object* _init_l___private_Lean_Parser_Basic_0__Lean_Parser_Error_expectedToString___closed__1() {
_start:
{
lean_object* x_1;
@@ -1724,7 +1980,7 @@ x_1 = lean_mk_string(" or ");
return x_1;
}
}
-lean_object* l___private_Lean_Parser_Basic_1__expectedToString___main(lean_object* x_1) {
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_Error_expectedToString(lean_object* x_1) {
_start:
{
if (lean_obj_tag(x_1) == 0)
@@ -1760,7 +2016,7 @@ lean_dec(x_1);
x_7 = lean_ctor_get(x_3, 0);
lean_inc(x_7);
lean_dec(x_3);
-x_8 = l___private_Lean_Parser_Basic_1__expectedToString___main___closed__1;
+x_8 = l___private_Lean_Parser_Basic_0__Lean_Parser_Error_expectedToString___closed__1;
x_9 = lean_string_append(x_6, x_8);
x_10 = lean_string_append(x_9, x_7);
lean_dec(x_7);
@@ -1775,7 +2031,7 @@ lean_inc(x_11);
lean_dec(x_1);
x_12 = l_List_reprAux___main___rarg___closed__1;
x_13 = lean_string_append(x_11, x_12);
-x_14 = l___private_Lean_Parser_Basic_1__expectedToString___main(x_3);
+x_14 = l___private_Lean_Parser_Basic_0__Lean_Parser_Error_expectedToString(x_3);
x_15 = lean_string_append(x_13, x_14);
lean_dec(x_14);
return x_15;
@@ -1784,14 +2040,6 @@ return x_15;
}
}
}
-lean_object* l___private_Lean_Parser_Basic_1__expectedToString(lean_object* x_1) {
-_start:
-{
-lean_object* x_2;
-x_2 = l___private_Lean_Parser_Basic_1__expectedToString___main(x_1);
-return x_2;
-}
-}
lean_object* l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_Parser_Error_toString___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
@@ -2143,7 +2391,7 @@ lean_dec(x_14);
x_17 = l_Array_toList___rarg(x_16);
lean_dec(x_16);
x_18 = l_List_eraseReps___at_Lean_Parser_Error_toString___spec__3(x_17);
-x_19 = l___private_Lean_Parser_Basic_1__expectedToString___main(x_18);
+x_19 = l___private_Lean_Parser_Basic_0__Lean_Parser_Error_expectedToString(x_18);
x_20 = l_Lean_Parser_Error_toString___closed__1;
x_21 = lean_string_append(x_20, x_19);
lean_dec(x_19);
@@ -2185,7 +2433,7 @@ lean_dec(x_34);
x_37 = l_Array_toList___rarg(x_36);
lean_dec(x_36);
x_38 = l_List_eraseReps___at_Lean_Parser_Error_toString___spec__3(x_37);
-x_39 = l___private_Lean_Parser_Basic_1__expectedToString___main(x_38);
+x_39 = l___private_Lean_Parser_Basic_0__Lean_Parser_Error_expectedToString(x_38);
x_40 = l_Lean_Parser_Error_toString___closed__1;
x_41 = lean_string_append(x_40, x_39);
lean_dec(x_39);
@@ -2226,7 +2474,7 @@ lean_dec(x_3);
return x_4;
}
}
-static lean_object* _init_l_Lean_Parser_Error_HasToString___closed__1() {
+static lean_object* _init_l_Lean_Parser_Error_Lean_Parser_Basic___instance__4___closed__1() {
_start:
{
lean_object* x_1;
@@ -2234,11 +2482,11 @@ x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Error_toString), 1, 0);
return x_1;
}
}
-static lean_object* _init_l_Lean_Parser_Error_HasToString() {
+static lean_object* _init_l_Lean_Parser_Error_Lean_Parser_Basic___instance__4() {
_start:
{
lean_object* x_1;
-x_1 = l_Lean_Parser_Error_HasToString___closed__1;
+x_1 = l_Lean_Parser_Error_Lean_Parser_Basic___instance__4___closed__1;
return x_1;
}
}
@@ -2276,7 +2524,7 @@ x_4 = lean_box(x_3);
return x_4;
}
}
-static lean_object* _init_l_Lean_Parser_Error_HasBeq___closed__1() {
+static lean_object* _init_l_Lean_Parser_Error_Lean_Parser_Basic___instance__5___closed__1() {
_start:
{
lean_object* x_1;
@@ -2284,14 +2532,35 @@ x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Error_beq___boxed), 2, 0);
return x_1;
}
}
-static lean_object* _init_l_Lean_Parser_Error_HasBeq() {
+static lean_object* _init_l_Lean_Parser_Error_Lean_Parser_Basic___instance__5() {
_start:
{
lean_object* x_1;
-x_1 = l_Lean_Parser_Error_HasBeq___closed__1;
+x_1 = l_Lean_Parser_Error_Lean_Parser_Basic___instance__5___closed__1;
return x_1;
}
}
+lean_object* l_Lean_Parser_Error_merge_match__1___rarg(lean_object* x_1, lean_object* x_2) {
+_start:
+{
+lean_object* x_3; lean_object* x_4; lean_object* x_5;
+x_3 = lean_ctor_get(x_1, 0);
+lean_inc(x_3);
+x_4 = lean_ctor_get(x_1, 1);
+lean_inc(x_4);
+lean_dec(x_1);
+x_5 = lean_apply_2(x_2, x_3, x_4);
+return x_5;
+}
+}
+lean_object* l_Lean_Parser_Error_merge_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_Error_merge_match__1___rarg), 2, 0);
+return x_2;
+}
+}
lean_object* l_Lean_Parser_Error_merge(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -2354,6 +2623,30 @@ return x_15;
}
}
}
+static lean_object* _init_l_Lean_Parser_ParserState_stxStack___default() {
+_start:
+{
+lean_object* x_1;
+x_1 = l_Array_empty___closed__1;
+return x_1;
+}
+}
+static lean_object* _init_l_Lean_Parser_ParserState_pos___default() {
+_start:
+{
+lean_object* x_1;
+x_1 = lean_unsigned_to_nat(0u);
+return x_1;
+}
+}
+static lean_object* _init_l_Lean_Parser_ParserState_errorMsg___default() {
+_start:
+{
+lean_object* x_1;
+x_1 = lean_box(0);
+return x_1;
+}
+}
uint8_t l_Lean_Parser_ParserState_hasError(lean_object* x_1) {
_start:
{
@@ -2671,6 +2964,37 @@ lean_dec(x_2);
return x_4;
}
}
+lean_object* l_Lean_Parser_ParserState_toErrorMsg_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+if (lean_obj_tag(x_1) == 0)
+{
+lean_object* x_4; lean_object* x_5;
+lean_dec(x_3);
+x_4 = lean_box(0);
+x_5 = lean_apply_1(x_2, x_4);
+return x_5;
+}
+else
+{
+lean_object* x_6; lean_object* x_7;
+lean_dec(x_2);
+x_6 = lean_ctor_get(x_1, 0);
+lean_inc(x_6);
+lean_dec(x_1);
+x_7 = lean_apply_1(x_3, x_6);
+return x_7;
+}
+}
+}
+lean_object* l_Lean_Parser_ParserState_toErrorMsg_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_ParserState_toErrorMsg_match__1___rarg), 3, 0);
+return x_2;
+}
+}
lean_object* l_Lean_Parser_ParserState_toErrorMsg(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -2716,6 +3040,31 @@ return x_14;
}
}
}
+lean_object* l_Lean_Parser_ParserState_mkNode_match__1___rarg(lean_object* x_1, lean_object* x_2) {
+_start:
+{
+lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
+x_3 = lean_ctor_get(x_1, 0);
+lean_inc(x_3);
+x_4 = lean_ctor_get(x_1, 1);
+lean_inc(x_4);
+x_5 = lean_ctor_get(x_1, 2);
+lean_inc(x_5);
+x_6 = lean_ctor_get(x_1, 3);
+lean_inc(x_6);
+lean_dec(x_1);
+x_7 = lean_apply_4(x_2, x_3, x_4, x_5, x_6);
+return x_7;
+}
+}
+lean_object* l_Lean_Parser_ParserState_mkNode_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_ParserState_mkNode_match__1___rarg), 2, 0);
+return x_2;
+}
+}
lean_object* l_Lean_Parser_ParserState_mkNode(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
@@ -2846,6 +3195,31 @@ return x_1;
}
}
}
+lean_object* l_Lean_Parser_ParserState_mkTrailingNode_match__1___rarg(lean_object* x_1, lean_object* x_2) {
+_start:
+{
+lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
+x_3 = lean_ctor_get(x_1, 0);
+lean_inc(x_3);
+x_4 = lean_ctor_get(x_1, 1);
+lean_inc(x_4);
+x_5 = lean_ctor_get(x_1, 2);
+lean_inc(x_5);
+x_6 = lean_ctor_get(x_1, 3);
+lean_inc(x_6);
+lean_dec(x_1);
+x_7 = lean_apply_4(x_2, x_3, x_4, x_5, x_6);
+return x_7;
+}
+}
+lean_object* l_Lean_Parser_ParserState_mkTrailingNode_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_ParserState_mkTrailingNode_match__1___rarg), 2, 0);
+return x_2;
+}
+}
lean_object* l_Lean_Parser_ParserState_mkTrailingNode(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
@@ -2908,6 +3282,31 @@ lean_dec(x_3);
return x_4;
}
}
+lean_object* l_Lean_Parser_ParserState_mkError_match__1___rarg(lean_object* x_1, lean_object* x_2) {
+_start:
+{
+lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
+x_3 = lean_ctor_get(x_1, 0);
+lean_inc(x_3);
+x_4 = lean_ctor_get(x_1, 1);
+lean_inc(x_4);
+x_5 = lean_ctor_get(x_1, 2);
+lean_inc(x_5);
+x_6 = lean_ctor_get(x_1, 3);
+lean_inc(x_6);
+lean_dec(x_1);
+x_7 = lean_apply_4(x_2, x_3, x_4, x_5, x_6);
+return x_7;
+}
+}
+lean_object* l_Lean_Parser_ParserState_mkError_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_ParserState_mkError_match__1___rarg), 2, 0);
+return x_2;
+}
+}
lean_object* l_Lean_Parser_ParserState_mkError(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -2960,6 +3359,31 @@ return x_18;
}
}
}
+lean_object* l_Lean_Parser_ParserState_mkUnexpectedError_match__1___rarg(lean_object* x_1, lean_object* x_2) {
+_start:
+{
+lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
+x_3 = lean_ctor_get(x_1, 0);
+lean_inc(x_3);
+x_4 = lean_ctor_get(x_1, 1);
+lean_inc(x_4);
+x_5 = lean_ctor_get(x_1, 2);
+lean_inc(x_5);
+x_6 = lean_ctor_get(x_1, 3);
+lean_inc(x_6);
+lean_dec(x_1);
+x_7 = lean_apply_4(x_2, x_3, x_4, x_5, x_6);
+return x_7;
+}
+}
+lean_object* l_Lean_Parser_ParserState_mkUnexpectedError_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_ParserState_mkUnexpectedError_match__1___rarg), 2, 0);
+return x_2;
+}
+}
lean_object* l_Lean_Parser_ParserState_mkUnexpectedError(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -3021,6 +3445,31 @@ x_3 = l_Lean_Parser_ParserState_mkUnexpectedError(x_1, x_2);
return x_3;
}
}
+lean_object* l_Lean_Parser_ParserState_mkErrorAt_match__1___rarg(lean_object* x_1, lean_object* x_2) {
+_start:
+{
+lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
+x_3 = lean_ctor_get(x_1, 0);
+lean_inc(x_3);
+x_4 = lean_ctor_get(x_1, 1);
+lean_inc(x_4);
+x_5 = lean_ctor_get(x_1, 2);
+lean_inc(x_5);
+x_6 = lean_ctor_get(x_1, 3);
+lean_inc(x_6);
+lean_dec(x_1);
+x_7 = lean_apply_4(x_2, x_3, x_4, x_5, x_6);
+return x_7;
+}
+}
+lean_object* l_Lean_Parser_ParserState_mkErrorAt_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_ParserState_mkErrorAt_match__1___rarg), 2, 0);
+return x_2;
+}
+}
lean_object* l_Lean_Parser_ParserState_mkErrorAt(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
@@ -3074,6 +3523,31 @@ return x_19;
}
}
}
+lean_object* l_Lean_Parser_ParserState_mkErrorsAt_match__1___rarg(lean_object* x_1, lean_object* x_2) {
+_start:
+{
+lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
+x_3 = lean_ctor_get(x_1, 0);
+lean_inc(x_3);
+x_4 = lean_ctor_get(x_1, 1);
+lean_inc(x_4);
+x_5 = lean_ctor_get(x_1, 2);
+lean_inc(x_5);
+x_6 = lean_ctor_get(x_1, 3);
+lean_inc(x_6);
+lean_dec(x_1);
+x_7 = lean_apply_4(x_2, x_3, x_4, x_5, x_6);
+return x_7;
+}
+}
+lean_object* l_Lean_Parser_ParserState_mkErrorsAt_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_ParserState_mkErrorsAt_match__1___rarg), 2, 0);
+return x_2;
+}
+}
lean_object* l_Lean_Parser_ParserState_mkErrorsAt(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
@@ -3119,6 +3593,31 @@ return x_15;
}
}
}
+lean_object* l_Lean_Parser_ParserState_mkUnexpectedErrorAt_match__1___rarg(lean_object* x_1, lean_object* x_2) {
+_start:
+{
+lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
+x_3 = lean_ctor_get(x_1, 0);
+lean_inc(x_3);
+x_4 = lean_ctor_get(x_1, 1);
+lean_inc(x_4);
+x_5 = lean_ctor_get(x_1, 2);
+lean_inc(x_5);
+x_6 = lean_ctor_get(x_1, 3);
+lean_inc(x_6);
+lean_dec(x_1);
+x_7 = lean_apply_4(x_2, x_3, x_4, x_5, x_6);
+return x_7;
+}
+}
+lean_object* l_Lean_Parser_ParserState_mkUnexpectedErrorAt_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_ParserState_mkUnexpectedErrorAt_match__1___rarg), 2, 0);
+return x_2;
+}
+}
lean_object* l_Lean_Parser_ParserState_mkUnexpectedErrorAt(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
@@ -3197,6 +3696,81 @@ lean_dec(x_1);
return x_2;
}
}
+lean_object* l_Lean_Parser_FirstTokens_seq_match__1___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) {
+_start:
+{
+switch (lean_obj_tag(x_1)) {
+case 0:
+{
+lean_object* x_7;
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+x_7 = lean_apply_1(x_3, x_2);
+return x_7;
+}
+case 3:
+{
+lean_dec(x_3);
+switch (lean_obj_tag(x_2)) {
+case 2:
+{
+lean_object* x_8; lean_object* x_9; lean_object* x_10;
+lean_dec(x_6);
+lean_dec(x_4);
+x_8 = lean_ctor_get(x_1, 0);
+lean_inc(x_8);
+lean_dec(x_1);
+x_9 = lean_ctor_get(x_2, 0);
+lean_inc(x_9);
+lean_dec(x_2);
+x_10 = lean_apply_2(x_5, x_8, x_9);
+return x_10;
+}
+case 3:
+{
+lean_object* x_11; lean_object* x_12; lean_object* x_13;
+lean_dec(x_6);
+lean_dec(x_5);
+x_11 = lean_ctor_get(x_1, 0);
+lean_inc(x_11);
+lean_dec(x_1);
+x_12 = lean_ctor_get(x_2, 0);
+lean_inc(x_12);
+lean_dec(x_2);
+x_13 = lean_apply_2(x_4, x_11, x_12);
+return x_13;
+}
+default:
+{
+lean_object* x_14;
+lean_dec(x_5);
+lean_dec(x_4);
+x_14 = lean_apply_2(x_6, x_1, x_2);
+return x_14;
+}
+}
+}
+default:
+{
+lean_object* x_15;
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_15 = lean_apply_2(x_6, x_1, x_2);
+return x_15;
+}
+}
+}
+}
+lean_object* l_Lean_Parser_FirstTokens_seq_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_FirstTokens_seq_match__1___rarg), 6, 0);
+return x_2;
+}
+}
lean_object* l_Lean_Parser_FirstTokens_seq(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -3277,6 +3851,36 @@ return x_1;
}
}
}
+lean_object* l_Lean_Parser_FirstTokens_toOptional_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+if (lean_obj_tag(x_1) == 2)
+{
+lean_object* x_4; lean_object* x_5;
+lean_dec(x_3);
+x_4 = lean_ctor_get(x_1, 0);
+lean_inc(x_4);
+lean_dec(x_1);
+x_5 = lean_apply_1(x_2, x_4);
+return x_5;
+}
+else
+{
+lean_object* x_6;
+lean_dec(x_2);
+x_6 = lean_apply_1(x_3, x_1);
+return x_6;
+}
+}
+}
+lean_object* l_Lean_Parser_FirstTokens_toOptional_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_FirstTokens_toOptional_match__1___rarg), 3, 0);
+return x_2;
+}
+}
lean_object* l_Lean_Parser_FirstTokens_toOptional(lean_object* x_1) {
_start:
{
@@ -3306,6 +3910,176 @@ return x_1;
}
}
}
+lean_object* l_Lean_Parser_FirstTokens_merge_match__1___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, lean_object* x_9) {
+_start:
+{
+switch (lean_obj_tag(x_1)) {
+case 0:
+{
+lean_object* x_10;
+lean_dec(x_9);
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+x_10 = lean_apply_1(x_3, x_2);
+return x_10;
+}
+case 1:
+{
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_3);
+switch (lean_obj_tag(x_2)) {
+case 0:
+{
+lean_object* x_11;
+lean_dec(x_9);
+x_11 = lean_apply_1(x_4, x_1);
+return x_11;
+}
+case 1:
+{
+lean_object* x_12;
+lean_dec(x_4);
+x_12 = lean_apply_2(x_9, x_2, x_2);
+return x_12;
+}
+default:
+{
+lean_object* x_13;
+lean_dec(x_4);
+x_13 = lean_apply_2(x_9, x_1, x_2);
+return x_13;
+}
+}
+}
+case 2:
+{
+lean_dec(x_8);
+lean_dec(x_6);
+lean_dec(x_3);
+switch (lean_obj_tag(x_2)) {
+case 0:
+{
+lean_object* x_14;
+lean_dec(x_9);
+lean_dec(x_7);
+lean_dec(x_5);
+x_14 = lean_apply_1(x_4, x_1);
+return x_14;
+}
+case 1:
+{
+lean_object* x_15;
+lean_dec(x_7);
+lean_dec(x_5);
+lean_dec(x_4);
+x_15 = lean_apply_2(x_9, x_1, x_2);
+return x_15;
+}
+case 2:
+{
+lean_object* x_16; lean_object* x_17; lean_object* x_18;
+lean_dec(x_9);
+lean_dec(x_7);
+lean_dec(x_4);
+x_16 = lean_ctor_get(x_1, 0);
+lean_inc(x_16);
+lean_dec(x_1);
+x_17 = lean_ctor_get(x_2, 0);
+lean_inc(x_17);
+lean_dec(x_2);
+x_18 = lean_apply_2(x_5, x_16, x_17);
+return x_18;
+}
+default:
+{
+lean_object* x_19; lean_object* x_20; lean_object* x_21;
+lean_dec(x_9);
+lean_dec(x_5);
+lean_dec(x_4);
+x_19 = lean_ctor_get(x_1, 0);
+lean_inc(x_19);
+lean_dec(x_1);
+x_20 = lean_ctor_get(x_2, 0);
+lean_inc(x_20);
+lean_dec(x_2);
+x_21 = lean_apply_2(x_7, x_19, x_20);
+return x_21;
+}
+}
+}
+default:
+{
+lean_dec(x_7);
+lean_dec(x_5);
+lean_dec(x_3);
+switch (lean_obj_tag(x_2)) {
+case 0:
+{
+lean_object* x_22;
+lean_dec(x_9);
+lean_dec(x_8);
+lean_dec(x_6);
+x_22 = lean_apply_1(x_4, x_1);
+return x_22;
+}
+case 1:
+{
+lean_object* x_23;
+lean_dec(x_8);
+lean_dec(x_6);
+lean_dec(x_4);
+x_23 = lean_apply_2(x_9, x_1, x_2);
+return x_23;
+}
+case 2:
+{
+lean_object* x_24; lean_object* x_25; lean_object* x_26;
+lean_dec(x_9);
+lean_dec(x_6);
+lean_dec(x_4);
+x_24 = lean_ctor_get(x_1, 0);
+lean_inc(x_24);
+lean_dec(x_1);
+x_25 = lean_ctor_get(x_2, 0);
+lean_inc(x_25);
+lean_dec(x_2);
+x_26 = lean_apply_2(x_8, x_24, x_25);
+return x_26;
+}
+default:
+{
+lean_object* x_27; lean_object* x_28; lean_object* x_29;
+lean_dec(x_9);
+lean_dec(x_8);
+lean_dec(x_4);
+x_27 = lean_ctor_get(x_1, 0);
+lean_inc(x_27);
+lean_dec(x_1);
+x_28 = lean_ctor_get(x_2, 0);
+lean_inc(x_28);
+lean_dec(x_2);
+x_29 = lean_apply_2(x_6, x_27, x_28);
+return x_29;
+}
+}
+}
+}
+}
+}
+lean_object* l_Lean_Parser_FirstTokens_merge_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_FirstTokens_merge_match__1___rarg), 9, 0);
+return x_2;
+}
+}
lean_object* l_Lean_Parser_FirstTokens_merge(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -3318,90 +4092,88 @@ return x_3;
}
case 1:
{
-switch (lean_obj_tag(x_2)) {
-case 0:
+if (lean_obj_tag(x_2) == 0)
{
lean_object* x_4;
x_4 = l_Lean_Parser_FirstTokens_toOptional(x_1);
return x_4;
}
-case 1:
-{
-return x_2;
-}
-default:
-{
-lean_dec(x_2);
-return x_1;
-}
-}
-}
-case 2:
-{
-switch (lean_obj_tag(x_2)) {
-case 0:
+else
{
lean_object* x_5;
-x_5 = l_Lean_Parser_FirstTokens_toOptional(x_1);
+lean_dec(x_2);
+x_5 = lean_box(1);
return x_5;
}
-case 1:
-{
-lean_dec(x_1);
-return x_2;
}
case 2:
{
-lean_object* x_6; uint8_t x_7;
-x_6 = lean_ctor_get(x_1, 0);
-lean_inc(x_6);
-lean_dec(x_1);
-x_7 = !lean_is_exclusive(x_2);
-if (x_7 == 0)
+switch (lean_obj_tag(x_2)) {
+case 0:
{
-lean_object* x_8; lean_object* x_9;
-x_8 = lean_ctor_get(x_2, 0);
-x_9 = l_List_append___rarg(x_6, x_8);
-lean_ctor_set(x_2, 0, x_9);
+lean_object* x_6;
+x_6 = l_Lean_Parser_FirstTokens_toOptional(x_1);
+return x_6;
+}
+case 1:
+{
+lean_object* x_7;
+lean_dec(x_1);
+x_7 = lean_box(1);
+return x_7;
+}
+case 2:
+{
+lean_object* x_8; uint8_t x_9;
+x_8 = lean_ctor_get(x_1, 0);
+lean_inc(x_8);
+lean_dec(x_1);
+x_9 = !lean_is_exclusive(x_2);
+if (x_9 == 0)
+{
+lean_object* x_10; lean_object* x_11;
+x_10 = lean_ctor_get(x_2, 0);
+x_11 = l_List_append___rarg(x_8, x_10);
+lean_ctor_set(x_2, 0, x_11);
return x_2;
}
else
{
-lean_object* x_10; lean_object* x_11; lean_object* x_12;
-x_10 = lean_ctor_get(x_2, 0);
-lean_inc(x_10);
+lean_object* x_12; lean_object* x_13; lean_object* x_14;
+x_12 = lean_ctor_get(x_2, 0);
+lean_inc(x_12);
lean_dec(x_2);
-x_11 = l_List_append___rarg(x_6, x_10);
-x_12 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_12, 0, x_11);
-return x_12;
+x_13 = l_List_append___rarg(x_8, x_12);
+x_14 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_14, 0, x_13);
+return x_14;
}
}
default:
{
-lean_object* x_13; uint8_t x_14;
-x_13 = lean_ctor_get(x_1, 0);
-lean_inc(x_13);
+lean_object* x_15; uint8_t x_16;
+x_15 = lean_ctor_get(x_1, 0);
+lean_inc(x_15);
lean_dec(x_1);
-x_14 = !lean_is_exclusive(x_2);
-if (x_14 == 0)
+x_16 = !lean_is_exclusive(x_2);
+if (x_16 == 0)
{
-lean_object* x_15; lean_object* x_16;
-x_15 = lean_ctor_get(x_2, 0);
-x_16 = l_List_append___rarg(x_13, x_15);
-lean_ctor_set(x_2, 0, x_16);
+lean_object* x_17; lean_object* x_18;
+x_17 = lean_ctor_get(x_2, 0);
+x_18 = l_List_append___rarg(x_15, x_17);
+lean_ctor_set(x_2, 0, x_18);
return x_2;
}
else
{
-lean_object* x_17; lean_object* x_18; lean_object* x_19;
-x_17 = lean_ctor_get(x_2, 0);
-lean_inc(x_17);
+lean_object* x_19; lean_object* x_20; lean_object* x_21;
+x_19 = lean_ctor_get(x_2, 0);
+lean_inc(x_19);
lean_dec(x_2);
-x_18 = l_List_append___rarg(x_13, x_17);
-x_19 = lean_alloc_ctor(3, 1, 0);
-lean_ctor_set(x_19, 0, x_18);
-return x_19;
+x_20 = l_List_append___rarg(x_15, x_19);
+x_21 = lean_alloc_ctor(3, 1, 0);
+lean_ctor_set(x_21, 0, x_20);
+return x_21;
}
}
}
@@ -3411,68 +4183,70 @@ default:
switch (lean_obj_tag(x_2)) {
case 0:
{
-lean_object* x_20;
-x_20 = l_Lean_Parser_FirstTokens_toOptional(x_1);
-return x_20;
+lean_object* x_22;
+x_22 = l_Lean_Parser_FirstTokens_toOptional(x_1);
+return x_22;
}
case 1:
{
+lean_object* x_23;
lean_dec(x_1);
-return x_2;
+x_23 = lean_box(1);
+return x_23;
}
case 2:
{
-lean_object* x_21; uint8_t x_22;
-x_21 = lean_ctor_get(x_1, 0);
-lean_inc(x_21);
+lean_object* x_24; uint8_t x_25;
+x_24 = lean_ctor_get(x_1, 0);
+lean_inc(x_24);
lean_dec(x_1);
-x_22 = !lean_is_exclusive(x_2);
-if (x_22 == 0)
+x_25 = !lean_is_exclusive(x_2);
+if (x_25 == 0)
{
-lean_object* x_23; lean_object* x_24;
-x_23 = lean_ctor_get(x_2, 0);
-x_24 = l_List_append___rarg(x_21, x_23);
+lean_object* x_26; lean_object* x_27;
+x_26 = lean_ctor_get(x_2, 0);
+x_27 = l_List_append___rarg(x_24, x_26);
lean_ctor_set_tag(x_2, 3);
-lean_ctor_set(x_2, 0, x_24);
+lean_ctor_set(x_2, 0, x_27);
return x_2;
}
else
{
-lean_object* x_25; lean_object* x_26; lean_object* x_27;
-x_25 = lean_ctor_get(x_2, 0);
-lean_inc(x_25);
+lean_object* x_28; lean_object* x_29; lean_object* x_30;
+x_28 = lean_ctor_get(x_2, 0);
+lean_inc(x_28);
lean_dec(x_2);
-x_26 = l_List_append___rarg(x_21, x_25);
-x_27 = lean_alloc_ctor(3, 1, 0);
-lean_ctor_set(x_27, 0, x_26);
-return x_27;
+x_29 = l_List_append___rarg(x_24, x_28);
+x_30 = lean_alloc_ctor(3, 1, 0);
+lean_ctor_set(x_30, 0, x_29);
+return x_30;
}
}
default:
{
-lean_object* x_28; uint8_t x_29;
-x_28 = lean_ctor_get(x_1, 0);
-lean_inc(x_28);
+lean_object* x_31; uint8_t x_32;
+x_31 = lean_ctor_get(x_1, 0);
+lean_inc(x_31);
lean_dec(x_1);
-x_29 = !lean_is_exclusive(x_2);
-if (x_29 == 0)
+x_32 = !lean_is_exclusive(x_2);
+if (x_32 == 0)
{
-lean_object* x_30; lean_object* x_31;
-x_30 = lean_ctor_get(x_2, 0);
-x_31 = l_List_append___rarg(x_28, x_30);
-lean_ctor_set(x_2, 0, x_31);
+lean_object* x_33; lean_object* x_34;
+x_33 = lean_ctor_get(x_2, 0);
+x_34 = l_List_append___rarg(x_31, x_33);
+lean_ctor_set(x_2, 0, x_34);
return x_2;
}
else
{
-lean_object* x_32; lean_object* x_33; lean_object* x_34;
-x_32 = lean_ctor_get(x_2, 0);
-lean_inc(x_32);
+lean_object* x_35; lean_object* x_36; lean_object* x_37;
+x_35 = lean_ctor_get(x_2, 0);
+lean_inc(x_35);
lean_dec(x_2);
-x_33 = l_List_append___rarg(x_28, x_32);
-x_34 = lean_alloc_ctor(3, 1, 0);
-lean_ctor_set(x_34, 0, x_33);
-return x_34;
+x_36 = l_List_append___rarg(x_31, x_35);
+x_37 = lean_alloc_ctor(3, 1, 0);
+lean_ctor_set(x_37, 0, x_36);
+return x_37;
}
}
}
@@ -3480,6 +4254,65 @@ return x_34;
}
}
}
+lean_object* l_Lean_Parser_FirstTokens_toStr_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
+_start:
+{
+switch (lean_obj_tag(x_1)) {
+case 0:
+{
+lean_object* x_6; lean_object* x_7;
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_6 = lean_box(0);
+x_7 = lean_apply_1(x_2, x_6);
+return x_7;
+}
+case 1:
+{
+lean_object* x_8; lean_object* x_9;
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_2);
+x_8 = lean_box(0);
+x_9 = lean_apply_1(x_3, x_8);
+return x_9;
+}
+case 2:
+{
+lean_object* x_10; lean_object* x_11;
+lean_dec(x_5);
+lean_dec(x_3);
+lean_dec(x_2);
+x_10 = lean_ctor_get(x_1, 0);
+lean_inc(x_10);
+lean_dec(x_1);
+x_11 = lean_apply_1(x_4, x_10);
+return x_11;
+}
+default:
+{
+lean_object* x_12; lean_object* x_13;
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+x_12 = lean_ctor_get(x_1, 0);
+lean_inc(x_12);
+lean_dec(x_1);
+x_13 = lean_apply_1(x_5, x_12);
+return x_13;
+}
+}
+}
+}
+lean_object* l_Lean_Parser_FirstTokens_toStr_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_FirstTokens_toStr_match__1___rarg), 5, 0);
+return x_2;
+}
+}
lean_object* l_List_toStringAux___main___at_Lean_Parser_FirstTokens_toStr___spec__2(uint8_t x_1, lean_object* x_2) {
_start:
{
@@ -3622,7 +4455,7 @@ x_4 = l_List_toStringAux___main___at_Lean_Parser_FirstTokens_toStr___spec__2(x_3
return x_4;
}
}
-static lean_object* _init_l_Lean_Parser_FirstTokens_HasToString___closed__1() {
+static lean_object* _init_l_Lean_Parser_FirstTokens_Lean_Parser_Basic___instance__6___closed__1() {
_start:
{
lean_object* x_1;
@@ -3630,14 +4463,124 @@ x_1 = lean_alloc_closure((void*)(l_Lean_Parser_FirstTokens_toStr), 1, 0);
return x_1;
}
}
-static lean_object* _init_l_Lean_Parser_FirstTokens_HasToString() {
+static lean_object* _init_l_Lean_Parser_FirstTokens_Lean_Parser_Basic___instance__6() {
_start:
{
lean_object* x_1;
-x_1 = l_Lean_Parser_FirstTokens_HasToString___closed__1;
+x_1 = l_Lean_Parser_FirstTokens_Lean_Parser_Basic___instance__6___closed__1;
return x_1;
}
}
+lean_object* l_Lean_Parser_ParserInfo_collectTokens___default(lean_object* x_1) {
+_start:
+{
+lean_inc(x_1);
+return x_1;
+}
+}
+lean_object* l_Lean_Parser_ParserInfo_collectTokens___default___boxed(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = l_Lean_Parser_ParserInfo_collectTokens___default(x_1);
+lean_dec(x_1);
+return x_2;
+}
+}
+lean_object* l_Lean_Parser_ParserInfo_collectKinds___default(lean_object* x_1) {
+_start:
+{
+lean_inc(x_1);
+return x_1;
+}
+}
+lean_object* l_Lean_Parser_ParserInfo_collectKinds___default___boxed(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = l_Lean_Parser_ParserInfo_collectKinds___default(x_1);
+lean_dec(x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_ParserInfo_firstTokens___default() {
+_start:
+{
+lean_object* x_1;
+x_1 = lean_box(1);
+return x_1;
+}
+}
+lean_object* l_Lean_Parser_Parser_info___default___elambda__1(lean_object* x_1) {
+_start:
+{
+lean_inc(x_1);
+return x_1;
+}
+}
+lean_object* l_Lean_Parser_Parser_info___default___elambda__2(lean_object* x_1) {
+_start:
+{
+lean_inc(x_1);
+return x_1;
+}
+}
+static lean_object* _init_l_Lean_Parser_Parser_info___default___closed__1() {
+_start:
+{
+lean_object* x_1;
+x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Parser_info___default___elambda__2___boxed), 1, 0);
+return x_1;
+}
+}
+static lean_object* _init_l_Lean_Parser_Parser_info___default___closed__2() {
+_start:
+{
+lean_object* x_1;
+x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Parser_info___default___elambda__1___boxed), 1, 0);
+return x_1;
+}
+}
+static lean_object* _init_l_Lean_Parser_Parser_info___default___closed__3() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
+x_1 = l_Lean_Parser_Parser_info___default___closed__1;
+x_2 = l_Lean_Parser_Parser_info___default___closed__2;
+x_3 = lean_box(1);
+x_4 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_4, 0, x_1);
+lean_ctor_set(x_4, 1, x_2);
+lean_ctor_set(x_4, 2, x_3);
+return x_4;
+}
+}
+static lean_object* _init_l_Lean_Parser_Parser_info___default() {
+_start:
+{
+lean_object* x_1;
+x_1 = l_Lean_Parser_Parser_info___default___closed__3;
+return x_1;
+}
+}
+lean_object* l_Lean_Parser_Parser_info___default___elambda__1___boxed(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = l_Lean_Parser_Parser_info___default___elambda__1(x_1);
+lean_dec(x_1);
+return x_2;
+}
+}
+lean_object* l_Lean_Parser_Parser_info___default___elambda__2___boxed(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = l_Lean_Parser_Parser_info___default___elambda__2(x_1);
+lean_dec(x_1);
+return x_2;
+}
+}
lean_object* l_Lean_Parser_Parser_inhabited___lambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -4244,87 +5187,137 @@ lean_object* l_Lean_Parser_toggleInsideQuotFn(lean_object* x_1, lean_object* x_2
_start:
{
uint8_t x_4;
-x_4 = lean_ctor_get_uint8(x_2, sizeof(void*)*6);
+x_4 = !lean_is_exclusive(x_2);
if (x_4 == 0)
{
-uint8_t x_5;
-x_5 = !lean_is_exclusive(x_2);
-if (x_5 == 0)
+lean_object* x_5; uint8_t x_6;
+x_5 = lean_ctor_get(x_2, 0);
+x_6 = !lean_is_exclusive(x_5);
+if (x_6 == 0)
{
-uint8_t x_6; lean_object* x_7;
-x_6 = 1;
-lean_ctor_set_uint8(x_2, sizeof(void*)*6, x_6);
-x_7 = lean_apply_2(x_1, x_2, x_3);
-return x_7;
+uint8_t x_7;
+x_7 = lean_ctor_get_uint8(x_2, sizeof(void*)*6);
+if (x_7 == 0)
+{
+uint8_t x_8; lean_object* x_9;
+x_8 = 1;
+lean_ctor_set_uint8(x_2, sizeof(void*)*6, x_8);
+x_9 = lean_apply_2(x_1, x_2, x_3);
+return x_9;
}
else
{
-lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; lean_object* x_15; lean_object* x_16;
-x_8 = lean_ctor_get(x_2, 0);
-x_9 = lean_ctor_get(x_2, 1);
-x_10 = lean_ctor_get(x_2, 2);
-x_11 = lean_ctor_get(x_2, 3);
-x_12 = lean_ctor_get(x_2, 4);
-x_13 = lean_ctor_get(x_2, 5);
+uint8_t x_10; lean_object* x_11;
+x_10 = 0;
+lean_ctor_set_uint8(x_2, sizeof(void*)*6, x_10);
+x_11 = lean_apply_2(x_1, x_2, x_3);
+return x_11;
+}
+}
+else
+{
+uint8_t x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
+x_12 = lean_ctor_get_uint8(x_2, sizeof(void*)*6);
+x_13 = lean_ctor_get(x_5, 0);
+x_14 = lean_ctor_get(x_5, 1);
+x_15 = lean_ctor_get(x_5, 2);
+lean_inc(x_15);
+lean_inc(x_14);
lean_inc(x_13);
-lean_inc(x_12);
-lean_inc(x_11);
-lean_inc(x_10);
-lean_inc(x_9);
-lean_inc(x_8);
-lean_dec(x_2);
-x_14 = 1;
-x_15 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_15, 0, x_8);
-lean_ctor_set(x_15, 1, x_9);
-lean_ctor_set(x_15, 2, x_10);
-lean_ctor_set(x_15, 3, x_11);
-lean_ctor_set(x_15, 4, x_12);
-lean_ctor_set(x_15, 5, x_13);
-lean_ctor_set_uint8(x_15, sizeof(void*)*6, x_14);
-x_16 = lean_apply_2(x_1, x_15, x_3);
-return x_16;
+lean_dec(x_5);
+x_16 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_16, 0, x_13);
+lean_ctor_set(x_16, 1, x_14);
+lean_ctor_set(x_16, 2, x_15);
+if (x_12 == 0)
+{
+uint8_t x_17; lean_object* x_18;
+x_17 = 1;
+lean_ctor_set(x_2, 0, x_16);
+lean_ctor_set_uint8(x_2, sizeof(void*)*6, x_17);
+x_18 = lean_apply_2(x_1, x_2, x_3);
+return x_18;
+}
+else
+{
+uint8_t x_19; lean_object* x_20;
+x_19 = 0;
+lean_ctor_set(x_2, 0, x_16);
+lean_ctor_set_uint8(x_2, sizeof(void*)*6, x_19);
+x_20 = lean_apply_2(x_1, x_2, x_3);
+return x_20;
+}
}
}
else
{
-uint8_t x_17;
-x_17 = !lean_is_exclusive(x_2);
-if (x_17 == 0)
-{
-uint8_t x_18; lean_object* x_19;
-x_18 = 0;
-lean_ctor_set_uint8(x_2, sizeof(void*)*6, x_18);
-x_19 = lean_apply_2(x_1, x_2, x_3);
-return x_19;
-}
-else
-{
-lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26; lean_object* x_27; lean_object* x_28;
-x_20 = lean_ctor_get(x_2, 0);
-x_21 = lean_ctor_get(x_2, 1);
-x_22 = lean_ctor_get(x_2, 2);
-x_23 = lean_ctor_get(x_2, 3);
-x_24 = lean_ctor_get(x_2, 4);
-x_25 = lean_ctor_get(x_2, 5);
-lean_inc(x_25);
+lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; uint8_t 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;
+x_21 = lean_ctor_get(x_2, 0);
+x_22 = lean_ctor_get(x_2, 1);
+x_23 = lean_ctor_get(x_2, 2);
+x_24 = lean_ctor_get(x_2, 3);
+x_25 = lean_ctor_get_uint8(x_2, sizeof(void*)*6);
+x_26 = lean_ctor_get(x_2, 4);
+x_27 = lean_ctor_get(x_2, 5);
+lean_inc(x_27);
+lean_inc(x_26);
lean_inc(x_24);
lean_inc(x_23);
lean_inc(x_22);
lean_inc(x_21);
-lean_inc(x_20);
lean_dec(x_2);
-x_26 = 0;
-x_27 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_27, 0, x_20);
-lean_ctor_set(x_27, 1, x_21);
-lean_ctor_set(x_27, 2, x_22);
-lean_ctor_set(x_27, 3, x_23);
-lean_ctor_set(x_27, 4, x_24);
-lean_ctor_set(x_27, 5, x_25);
-lean_ctor_set_uint8(x_27, sizeof(void*)*6, x_26);
-x_28 = lean_apply_2(x_1, x_27, x_3);
-return x_28;
+x_28 = lean_ctor_get(x_21, 0);
+lean_inc(x_28);
+x_29 = lean_ctor_get(x_21, 1);
+lean_inc(x_29);
+x_30 = lean_ctor_get(x_21, 2);
+lean_inc(x_30);
+if (lean_is_exclusive(x_21)) {
+ lean_ctor_release(x_21, 0);
+ lean_ctor_release(x_21, 1);
+ lean_ctor_release(x_21, 2);
+ x_31 = x_21;
+} else {
+ lean_dec_ref(x_21);
+ x_31 = lean_box(0);
+}
+if (lean_is_scalar(x_31)) {
+ x_32 = lean_alloc_ctor(0, 3, 0);
+} else {
+ x_32 = x_31;
+}
+lean_ctor_set(x_32, 0, x_28);
+lean_ctor_set(x_32, 1, x_29);
+lean_ctor_set(x_32, 2, x_30);
+if (x_25 == 0)
+{
+uint8_t x_33; lean_object* x_34; lean_object* x_35;
+x_33 = 1;
+x_34 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_34, 0, x_32);
+lean_ctor_set(x_34, 1, x_22);
+lean_ctor_set(x_34, 2, x_23);
+lean_ctor_set(x_34, 3, x_24);
+lean_ctor_set(x_34, 4, x_26);
+lean_ctor_set(x_34, 5, x_27);
+lean_ctor_set_uint8(x_34, sizeof(void*)*6, x_33);
+x_35 = lean_apply_2(x_1, x_34, x_3);
+return x_35;
+}
+else
+{
+uint8_t x_36; lean_object* x_37; lean_object* x_38;
+x_36 = 0;
+x_37 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_37, 0, x_32);
+lean_ctor_set(x_37, 1, x_22);
+lean_ctor_set(x_37, 2, x_23);
+lean_ctor_set(x_37, 3, x_24);
+lean_ctor_set(x_37, 4, x_26);
+lean_ctor_set(x_37, 5, x_27);
+lean_ctor_set_uint8(x_37, sizeof(void*)*6, x_36);
+x_38 = lean_apply_2(x_1, x_37, x_3);
+return x_38;
}
}
}
@@ -4419,6 +5412,46 @@ lean_ctor_set(x_12, 1, x_11);
return x_12;
}
}
+lean_object* l_Lean_Parser_mergeOrElseErrors_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+lean_object* x_4;
+x_4 = lean_ctor_get(x_1, 3);
+lean_inc(x_4);
+if (lean_obj_tag(x_4) == 0)
+{
+lean_object* x_5;
+lean_dec(x_2);
+x_5 = lean_apply_1(x_3, x_1);
+return x_5;
+}
+else
+{
+lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10;
+lean_dec(x_3);
+x_6 = lean_ctor_get(x_1, 0);
+lean_inc(x_6);
+x_7 = lean_ctor_get(x_1, 1);
+lean_inc(x_7);
+x_8 = lean_ctor_get(x_1, 2);
+lean_inc(x_8);
+lean_dec(x_1);
+x_9 = lean_ctor_get(x_4, 0);
+lean_inc(x_9);
+lean_dec(x_4);
+x_10 = lean_apply_4(x_2, x_6, x_7, x_8, x_9);
+return x_10;
+}
+}
+}
+lean_object* l_Lean_Parser_mergeOrElseErrors_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_mergeOrElseErrors_match__1___rarg), 3, 0);
+return x_2;
+}
+}
lean_object* l_Lean_Parser_mergeOrElseErrors(lean_object* x_1, lean_object* x_2, lean_object* x_3, uint8_t x_4) {
_start:
{
@@ -4591,6 +5624,37 @@ lean_dec(x_3);
return x_6;
}
}
+lean_object* l_Lean_Parser_orelseFnCore_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+if (lean_obj_tag(x_1) == 0)
+{
+lean_object* x_4; lean_object* x_5;
+lean_dec(x_2);
+x_4 = lean_box(0);
+x_5 = lean_apply_1(x_3, x_4);
+return x_5;
+}
+else
+{
+lean_object* x_6; lean_object* x_7;
+lean_dec(x_3);
+x_6 = lean_ctor_get(x_1, 0);
+lean_inc(x_6);
+lean_dec(x_1);
+x_7 = lean_apply_1(x_2, x_6);
+return x_7;
+}
+}
+}
+lean_object* l_Lean_Parser_orelseFnCore_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFnCore_match__1___rarg), 3, 0);
+return x_2;
+}
+}
lean_object* l_Lean_Parser_orelseFnCore(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
@@ -4659,57 +5723,10 @@ return x_7;
lean_object* l_Lean_Parser_orelseFn(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
-lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9;
-x_5 = lean_ctor_get(x_4, 0);
-lean_inc(x_5);
-x_6 = lean_array_get_size(x_5);
-lean_dec(x_5);
-x_7 = lean_ctor_get(x_4, 1);
-lean_inc(x_7);
-lean_inc(x_3);
-x_8 = lean_apply_2(x_1, x_3, x_4);
-x_9 = lean_ctor_get(x_8, 3);
-lean_inc(x_9);
-if (lean_obj_tag(x_9) == 0)
-{
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_3);
-lean_dec(x_2);
-return x_8;
-}
-else
-{
-lean_object* x_10; lean_object* x_11; uint8_t x_12;
-x_10 = lean_ctor_get(x_9, 0);
-lean_inc(x_10);
-lean_dec(x_9);
-x_11 = lean_ctor_get(x_8, 1);
-lean_inc(x_11);
-x_12 = lean_nat_dec_eq(x_11, x_7);
-lean_dec(x_11);
-if (x_12 == 0)
-{
-lean_dec(x_10);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_3);
-lean_dec(x_2);
-return x_8;
-}
-else
-{
-lean_object* x_13; lean_object* x_14; uint8_t x_15; lean_object* x_16;
-lean_inc(x_7);
-x_13 = l_Lean_Parser_ParserState_restore(x_8, x_6, x_7);
-lean_dec(x_6);
-x_14 = lean_apply_2(x_2, x_3, x_13);
-x_15 = 1;
-x_16 = l_Lean_Parser_mergeOrElseErrors(x_14, x_10, x_7, x_15);
-lean_dec(x_7);
-return x_16;
-}
-}
+uint8_t x_5; lean_object* x_6;
+x_5 = 1;
+x_6 = l_Lean_Parser_orelseFnCore(x_1, x_2, x_5, x_3, x_4);
+return x_6;
}
}
lean_object* l_Lean_Parser_orelseInfo___elambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
@@ -4841,6 +5858,46 @@ lean_ctor_set(x_5, 2, x_4);
return x_5;
}
}
+lean_object* l_Lean_Parser_tryFn_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+lean_object* x_4;
+x_4 = lean_ctor_get(x_1, 3);
+lean_inc(x_4);
+if (lean_obj_tag(x_4) == 0)
+{
+lean_object* x_5;
+lean_dec(x_2);
+x_5 = lean_apply_1(x_3, x_1);
+return x_5;
+}
+else
+{
+lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10;
+lean_dec(x_3);
+x_6 = lean_ctor_get(x_1, 0);
+lean_inc(x_6);
+x_7 = lean_ctor_get(x_1, 1);
+lean_inc(x_7);
+x_8 = lean_ctor_get(x_1, 2);
+lean_inc(x_8);
+lean_dec(x_1);
+x_9 = lean_ctor_get(x_4, 0);
+lean_inc(x_9);
+lean_dec(x_4);
+x_10 = lean_apply_4(x_2, x_6, x_7, x_8, x_9);
+return x_10;
+}
+}
+}
+lean_object* l_Lean_Parser_tryFn_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_tryFn_match__1___rarg), 3, 0);
+return x_2;
+}
+}
lean_object* l_Lean_Parser_tryFn(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
@@ -4866,34 +5923,69 @@ uint8_t x_9;
x_9 = !lean_is_exclusive(x_7);
if (x_9 == 0)
{
-lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
+lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13;
x_10 = lean_ctor_get(x_7, 0);
x_11 = lean_ctor_get(x_7, 3);
lean_dec(x_11);
x_12 = lean_ctor_get(x_7, 1);
lean_dec(x_12);
-x_13 = l_Array_shrink___main___rarg(x_10, x_6);
+x_13 = !lean_is_exclusive(x_8);
+if (x_13 == 0)
+{
+lean_object* x_14;
+x_14 = l_Array_shrink___main___rarg(x_10, x_6);
lean_dec(x_6);
lean_ctor_set(x_7, 1, x_5);
-lean_ctor_set(x_7, 0, x_13);
+lean_ctor_set(x_7, 0, x_14);
return x_7;
}
else
{
-lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_14 = lean_ctor_get(x_7, 0);
-x_15 = lean_ctor_get(x_7, 2);
+lean_object* x_15; lean_object* x_16; lean_object* x_17;
+x_15 = lean_ctor_get(x_8, 0);
lean_inc(x_15);
-lean_inc(x_14);
-lean_dec(x_7);
-x_16 = l_Array_shrink___main___rarg(x_14, x_6);
+lean_dec(x_8);
+x_16 = l_Array_shrink___main___rarg(x_10, x_6);
lean_dec(x_6);
-x_17 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_17, 0, x_16);
-lean_ctor_set(x_17, 1, x_5);
-lean_ctor_set(x_17, 2, x_15);
-lean_ctor_set(x_17, 3, x_8);
-return x_17;
+x_17 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_17, 0, x_15);
+lean_ctor_set(x_7, 3, x_17);
+lean_ctor_set(x_7, 1, x_5);
+lean_ctor_set(x_7, 0, x_16);
+return x_7;
+}
+}
+else
+{
+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;
+x_18 = lean_ctor_get(x_7, 0);
+x_19 = lean_ctor_get(x_7, 2);
+lean_inc(x_19);
+lean_inc(x_18);
+lean_dec(x_7);
+x_20 = lean_ctor_get(x_8, 0);
+lean_inc(x_20);
+if (lean_is_exclusive(x_8)) {
+ lean_ctor_release(x_8, 0);
+ x_21 = x_8;
+} else {
+ lean_dec_ref(x_8);
+ x_21 = lean_box(0);
+}
+x_22 = l_Array_shrink___main___rarg(x_18, x_6);
+lean_dec(x_6);
+if (lean_is_scalar(x_21)) {
+ x_23 = lean_alloc_ctor(1, 1, 0);
+} else {
+ x_23 = x_21;
+}
+lean_ctor_set(x_23, 0, x_20);
+x_24 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_24, 0, x_22);
+lean_ctor_set(x_24, 1, x_5);
+lean_ctor_set(x_24, 2, x_19);
+lean_ctor_set(x_24, 3, x_23);
+return x_24;
}
}
}
@@ -5121,21 +6213,23 @@ x_9 = lean_ctor_get(x_8, 3);
lean_inc(x_9);
if (lean_obj_tag(x_9) == 0)
{
-lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
+lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15;
x_10 = l_Lean_Parser_ParserState_restore(x_8, x_6, x_7);
lean_dec(x_6);
x_11 = l_Lean_Parser_notFollowedByFn___closed__1;
x_12 = lean_string_append(x_11, x_2);
-x_13 = l_Lean_Parser_ParserState_mkUnexpectedError(x_10, x_12);
-return x_13;
+x_13 = l_String_splitAux___main___closed__1;
+x_14 = lean_string_append(x_12, x_13);
+x_15 = l_Lean_Parser_ParserState_mkUnexpectedError(x_10, x_14);
+return x_15;
}
else
{
-lean_object* x_14;
+lean_object* x_16;
lean_dec(x_9);
-x_14 = l_Lean_Parser_ParserState_restore(x_8, x_6, x_7);
+x_16 = l_Lean_Parser_ParserState_restore(x_8, x_6, x_7);
lean_dec(x_6);
-return x_14;
+return x_16;
}
}
}
@@ -5165,7 +6259,7 @@ lean_ctor_set(x_6, 1, x_4);
return x_6;
}
}
-static lean_object* _init_l_Lean_Parser_manyAux___main___closed__1() {
+static lean_object* _init_l_Lean_Parser_manyAux___closed__1() {
_start:
{
lean_object* x_1;
@@ -5173,7 +6267,7 @@ x_1 = lean_mk_string("invalid 'many' parser combinator application, parser did n
return x_1;
}
}
-lean_object* l_Lean_Parser_manyAux___main(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l_Lean_Parser_manyAux(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8;
@@ -5207,7 +6301,7 @@ else
lean_object* x_12; lean_object* x_13;
lean_dec(x_2);
lean_dec(x_1);
-x_12 = l_Lean_Parser_manyAux___main___closed__1;
+x_12 = l_Lean_Parser_manyAux___closed__1;
x_13 = l_Lean_Parser_ParserState_mkUnexpectedError(x_7, x_12);
return x_13;
}
@@ -5238,14 +6332,6 @@ return x_16;
}
}
}
-lean_object* l_Lean_Parser_manyAux(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4;
-x_4 = l_Lean_Parser_manyAux___main(x_1, x_2, x_3);
-return x_4;
-}
-}
lean_object* l_Lean_Parser_manyFn(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
@@ -5254,7 +6340,7 @@ x_4 = lean_ctor_get(x_3, 0);
lean_inc(x_4);
x_5 = lean_array_get_size(x_4);
lean_dec(x_4);
-x_6 = l_Lean_Parser_manyAux___main(x_1, x_2, x_3);
+x_6 = l_Lean_Parser_manyAux(x_1, x_2, x_3);
x_7 = l_Lean_nullKind;
x_8 = l_Lean_Parser_ParserState_mkNode(x_6, x_7, x_5);
return x_8;
@@ -5294,7 +6380,7 @@ lean_inc(x_7);
if (lean_obj_tag(x_7) == 0)
{
lean_object* x_8; lean_object* x_9; lean_object* x_10;
-x_8 = l_Lean_Parser_manyAux___main(x_1, x_2, x_6);
+x_8 = l_Lean_Parser_manyAux(x_1, x_2, x_6);
x_9 = l_Lean_nullKind;
x_10 = l_Lean_Parser_ParserState_mkNode(x_8, x_9, x_5);
return x_10;
@@ -5342,10 +6428,10 @@ return x_8;
}
}
}
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, uint8_t x_5, lean_object* x_6, lean_object* x_7) {
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_sepByFnAux_parse(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, uint8_t x_5, lean_object* x_6, lean_object* x_7) {
_start:
{
-lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12;
+lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; uint8_t x_12; lean_object* x_32;
x_8 = lean_ctor_get(x_7, 0);
lean_inc(x_8);
x_9 = lean_array_get_size(x_8);
@@ -5355,9 +6441,26 @@ lean_inc(x_10);
lean_inc(x_1);
lean_inc(x_6);
x_11 = lean_apply_2(x_1, x_6, x_7);
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
+x_32 = lean_ctor_get(x_11, 3);
+lean_inc(x_32);
+if (lean_obj_tag(x_32) == 0)
+{
+uint8_t x_33;
+x_33 = 0;
+x_12 = x_33;
+goto block_31;
+}
+else
+{
+uint8_t x_34;
+lean_dec(x_32);
+x_34 = 1;
+x_12 = x_34;
+goto block_31;
+}
+block_31:
+{
+if (x_12 == 0)
{
lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
lean_dec(x_10);
@@ -5402,7 +6505,6 @@ return x_21;
else
{
lean_object* x_22; uint8_t x_23;
-lean_dec(x_12);
lean_dec(x_6);
lean_dec(x_2);
lean_dec(x_1);
@@ -5443,7 +6545,8 @@ return x_11;
}
}
}
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___boxed(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* l___private_Lean_Parser_Basic_0__Lean_Parser_sepByFnAux_parse___boxed(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) {
_start:
{
uint8_t x_8; uint8_t x_9; lean_object* x_10;
@@ -5451,19 +6554,19 @@ x_8 = lean_unbox(x_3);
lean_dec(x_3);
x_9 = lean_unbox(x_5);
lean_dec(x_5);
-x_10 = l___private_Lean_Parser_Basic_2__sepByFnAux___main(x_1, x_2, x_8, x_4, x_9, x_6, x_7);
+x_10 = l___private_Lean_Parser_Basic_0__Lean_Parser_sepByFnAux_parse(x_1, x_2, x_8, x_4, x_9, x_6, x_7);
return x_10;
}
}
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, uint8_t x_5, lean_object* x_6, lean_object* x_7) {
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_sepByFnAux(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, uint8_t x_5, lean_object* x_6, lean_object* x_7) {
_start:
{
lean_object* x_8;
-x_8 = l___private_Lean_Parser_Basic_2__sepByFnAux___main(x_1, x_2, x_3, x_4, x_5, x_6, x_7);
+x_8 = l___private_Lean_Parser_Basic_0__Lean_Parser_sepByFnAux_parse(x_1, x_2, x_3, x_4, x_5, x_6, x_7);
return x_8;
}
}
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___boxed(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* l___private_Lean_Parser_Basic_0__Lean_Parser_sepByFnAux___boxed(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) {
_start:
{
uint8_t x_8; uint8_t x_9; lean_object* x_10;
@@ -5471,7 +6574,7 @@ x_8 = lean_unbox(x_3);
lean_dec(x_3);
x_9 = lean_unbox(x_5);
lean_dec(x_5);
-x_10 = l___private_Lean_Parser_Basic_2__sepByFnAux(x_1, x_2, x_8, x_4, x_9, x_6, x_7);
+x_10 = l___private_Lean_Parser_Basic_0__Lean_Parser_sepByFnAux(x_1, x_2, x_8, x_4, x_9, x_6, x_7);
return x_10;
}
}
@@ -5484,7 +6587,7 @@ lean_inc(x_6);
x_7 = lean_array_get_size(x_6);
lean_dec(x_6);
x_8 = 1;
-x_9 = l___private_Lean_Parser_Basic_2__sepByFnAux___main(x_2, x_3, x_1, x_7, x_8, x_4, x_5);
+x_9 = l___private_Lean_Parser_Basic_0__Lean_Parser_sepByFnAux_parse(x_2, x_3, x_1, x_7, x_8, x_4, x_5);
return x_9;
}
}
@@ -5507,7 +6610,7 @@ lean_inc(x_6);
x_7 = lean_array_get_size(x_6);
lean_dec(x_6);
x_8 = 0;
-x_9 = l___private_Lean_Parser_Basic_2__sepByFnAux___main(x_2, x_3, x_1, x_7, x_8, x_4, x_5);
+x_9 = l___private_Lean_Parser_Basic_0__Lean_Parser_sepByFnAux_parse(x_2, x_3, x_1, x_7, x_8, x_4, x_5);
return x_9;
}
}
@@ -5903,7 +7006,7 @@ lean_dec(x_3);
return x_5;
}
}
-lean_object* l_Lean_Parser_takeUntilFn___main(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l_Lean_Parser_takeUntilFn(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4; lean_object* x_5; lean_object* x_6; uint8_t x_7;
@@ -5944,23 +7047,6 @@ return x_3;
}
}
}
-lean_object* l_Lean_Parser_takeUntilFn___main___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4;
-x_4 = l_Lean_Parser_takeUntilFn___main(x_1, x_2, x_3);
-lean_dec(x_2);
-return x_4;
-}
-}
-lean_object* l_Lean_Parser_takeUntilFn(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4;
-x_4 = l_Lean_Parser_takeUntilFn___main(x_1, x_2, x_3);
-return x_4;
-}
-}
lean_object* l_Lean_Parser_takeUntilFn___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
@@ -5998,7 +7084,7 @@ _start:
lean_object* x_4; lean_object* x_5;
x_4 = lean_alloc_closure((void*)(l_Lean_Parser_takeWhileFn___lambda__1___boxed), 2, 1);
lean_closure_set(x_4, 0, x_1);
-x_5 = l_Lean_Parser_takeUntilFn___main(x_4, x_2, x_3);
+x_5 = l_Lean_Parser_takeUntilFn(x_4, x_2, x_3);
return x_5;
}
}
@@ -6053,7 +7139,7 @@ lean_dec(x_3);
return x_5;
}
}
-lean_object* l_Lean_Parser_finishCommentBlock___main(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l_Lean_Parser_finishCommentBlock(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4; lean_object* x_5; lean_object* x_6; uint8_t x_7;
@@ -6064,33 +7150,49 @@ lean_inc(x_6);
x_7 = lean_string_utf8_at_end(x_5, x_6);
if (x_7 == 0)
{
-uint32_t x_8; lean_object* x_9; uint32_t x_10; uint8_t x_11; uint8_t x_42;
+uint32_t x_8; lean_object* x_9; uint32_t x_10; uint8_t x_11; uint8_t x_46;
x_8 = lean_string_utf8_get(x_5, x_6);
x_9 = lean_string_utf8_next(x_5, x_6);
lean_dec(x_6);
x_10 = 45;
-x_42 = x_8 == x_10;
-if (x_42 == 0)
+x_46 = x_8 == x_10;
+if (x_46 == 0)
{
-uint8_t x_43;
-x_43 = 0;
-x_11 = x_43;
-goto block_41;
+uint8_t x_47;
+x_47 = 0;
+x_11 = x_47;
+goto block_45;
}
else
{
-uint8_t x_44;
-x_44 = 1;
-x_11 = x_44;
-goto block_41;
+uint8_t x_48;
+x_48 = 1;
+x_11 = x_48;
+goto block_45;
}
-block_41:
+block_45:
{
if (x_11 == 0)
{
-uint32_t x_12; uint8_t x_13;
+uint32_t x_12; uint8_t x_13; uint8_t x_28;
x_12 = 47;
-x_13 = x_8 == x_12;
+x_28 = x_8 == x_12;
+if (x_28 == 0)
+{
+uint8_t x_29;
+x_29 = 0;
+x_13 = x_29;
+goto block_27;
+}
+else
+{
+uint8_t x_30;
+x_30 = 1;
+x_13 = x_30;
+goto block_27;
+}
+block_27:
+{
if (x_13 == 0)
{
lean_object* x_14;
@@ -6138,90 +7240,74 @@ return x_26;
}
}
}
-else
-{
-uint8_t x_27;
-x_27 = lean_string_utf8_at_end(x_5, x_9);
-if (x_27 == 0)
-{
-uint32_t x_28; uint32_t x_29; uint8_t x_30;
-x_28 = lean_string_utf8_get(x_5, x_9);
-x_29 = 47;
-x_30 = x_28 == x_29;
-if (x_30 == 0)
-{
-lean_object* x_31;
-x_31 = l_Lean_Parser_ParserState_next(x_3, x_5, x_9);
-lean_dec(x_9);
-x_3 = x_31;
-goto _start;
}
else
{
-lean_object* x_33; uint8_t x_34;
-x_33 = lean_unsigned_to_nat(1u);
-x_34 = lean_nat_dec_eq(x_1, x_33);
+uint8_t x_31;
+x_31 = lean_string_utf8_at_end(x_5, x_9);
+if (x_31 == 0)
+{
+uint32_t x_32; uint32_t x_33; uint8_t x_34;
+x_32 = lean_string_utf8_get(x_5, x_9);
+x_33 = 47;
+x_34 = x_32 == x_33;
if (x_34 == 0)
{
-lean_object* x_35; lean_object* x_36;
-x_35 = lean_nat_sub(x_1, x_33);
-lean_dec(x_1);
-x_36 = l_Lean_Parser_ParserState_next(x_3, x_5, x_9);
+lean_object* x_35;
+x_35 = l_Lean_Parser_ParserState_next(x_3, x_5, x_9);
lean_dec(x_9);
-x_1 = x_35;
-x_3 = x_36;
+x_3 = x_35;
goto _start;
}
else
{
-lean_object* x_38;
-lean_dec(x_1);
-x_38 = l_Lean_Parser_ParserState_next(x_3, x_5, x_9);
-lean_dec(x_9);
-return x_38;
-}
-}
-}
-else
+lean_object* x_37; uint8_t x_38;
+x_37 = lean_unsigned_to_nat(1u);
+x_38 = lean_nat_dec_eq(x_1, x_37);
+if (x_38 == 0)
{
lean_object* x_39; lean_object* x_40;
+x_39 = lean_nat_sub(x_1, x_37);
+lean_dec(x_1);
+x_40 = l_Lean_Parser_ParserState_next(x_3, x_5, x_9);
+lean_dec(x_9);
+x_1 = x_39;
+x_3 = x_40;
+goto _start;
+}
+else
+{
+lean_object* x_42;
+lean_dec(x_1);
+x_42 = l_Lean_Parser_ParserState_next(x_3, x_5, x_9);
+lean_dec(x_9);
+return x_42;
+}
+}
+}
+else
+{
+lean_object* x_43; lean_object* x_44;
lean_dec(x_9);
lean_dec(x_1);
-x_39 = l_Lean_Parser_ParserState_mkEOIError___closed__1;
-x_40 = l_Lean_Parser_ParserState_mkUnexpectedError(x_3, x_39);
-return x_40;
+x_43 = l_Lean_Parser_ParserState_mkEOIError___closed__1;
+x_44 = l_Lean_Parser_ParserState_mkUnexpectedError(x_3, x_43);
+return x_44;
}
}
}
}
else
{
-lean_object* x_45; lean_object* x_46;
+lean_object* x_49; lean_object* x_50;
lean_dec(x_6);
lean_dec(x_1);
-x_45 = l_Lean_Parser_ParserState_mkEOIError___closed__1;
-x_46 = l_Lean_Parser_ParserState_mkUnexpectedError(x_3, x_45);
-return x_46;
+x_49 = l_Lean_Parser_ParserState_mkEOIError___closed__1;
+x_50 = l_Lean_Parser_ParserState_mkUnexpectedError(x_3, x_49);
+return x_50;
}
}
}
-lean_object* l_Lean_Parser_finishCommentBlock___main___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4;
-x_4 = l_Lean_Parser_finishCommentBlock___main(x_1, x_2, x_3);
-lean_dec(x_2);
-return x_4;
-}
-}
-lean_object* l_Lean_Parser_finishCommentBlock(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4;
-x_4 = l_Lean_Parser_finishCommentBlock___main(x_1, x_2, x_3);
-return x_4;
-}
-}
lean_object* l_Lean_Parser_finishCommentBlock___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
@@ -6231,43 +7317,24 @@ lean_dec(x_2);
return x_4;
}
}
-lean_object* l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_whitespace___main___spec__1(lean_object* x_1, lean_object* x_2) {
+uint8_t l_Lean_Parser_whitespace___lambda__1(uint32_t x_1) {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6;
-x_3 = lean_ctor_get(x_2, 1);
-lean_inc(x_3);
-x_4 = lean_ctor_get(x_1, 0);
-x_5 = lean_ctor_get(x_4, 0);
-x_6 = lean_string_utf8_at_end(x_5, x_3);
-if (x_6 == 0)
+uint32_t x_2; uint8_t x_3;
+x_2 = 10;
+x_3 = x_1 == x_2;
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_whitespace___closed__1() {
+_start:
{
-uint32_t x_7; uint32_t x_8; uint8_t x_9;
-x_7 = lean_string_utf8_get(x_5, x_3);
-x_8 = 10;
-x_9 = x_7 == x_8;
-if (x_9 == 0)
-{
-lean_object* x_10;
-x_10 = l_Lean_Parser_ParserState_next(x_2, x_5, x_3);
-lean_dec(x_3);
-x_2 = x_10;
-goto _start;
-}
-else
-{
-lean_dec(x_3);
-return x_2;
+lean_object* x_1;
+x_1 = lean_alloc_closure((void*)(l_Lean_Parser_whitespace___lambda__1___boxed), 1, 0);
+return x_1;
}
}
-else
-{
-lean_dec(x_3);
-return x_2;
-}
-}
-}
-lean_object* l_Lean_Parser_whitespace___main(lean_object* x_1, lean_object* x_2) {
+lean_object* l_Lean_Parser_whitespace(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6;
@@ -6283,45 +7350,45 @@ x_7 = lean_string_utf8_get(x_4, x_5);
x_8 = l_Char_isWhitespace(x_7);
if (x_8 == 0)
{
-uint32_t x_9; uint8_t x_10; uint8_t x_36;
+uint32_t x_9; uint8_t x_10; uint8_t x_45;
x_9 = 45;
-x_36 = x_7 == x_9;
-if (x_36 == 0)
+x_45 = x_7 == x_9;
+if (x_45 == 0)
{
-uint8_t x_37;
-x_37 = 0;
-x_10 = x_37;
-goto block_35;
+uint8_t x_46;
+x_46 = 0;
+x_10 = x_46;
+goto block_44;
}
else
{
-uint8_t x_38;
-x_38 = 1;
-x_10 = x_38;
-goto block_35;
+uint8_t x_47;
+x_47 = 1;
+x_10 = x_47;
+goto block_44;
}
-block_35:
+block_44:
{
if (x_10 == 0)
{
-uint32_t x_11; uint8_t x_12; uint8_t x_25;
+uint32_t x_11; uint8_t x_12; uint8_t x_29;
x_11 = 47;
-x_25 = x_7 == x_11;
-if (x_25 == 0)
+x_29 = x_7 == x_11;
+if (x_29 == 0)
{
-uint8_t x_26;
-x_26 = 0;
-x_12 = x_26;
-goto block_24;
+uint8_t x_30;
+x_30 = 0;
+x_12 = x_30;
+goto block_28;
}
else
{
-uint8_t x_27;
-x_27 = 1;
-x_12 = x_27;
-goto block_24;
+uint8_t x_31;
+x_31 = 1;
+x_12 = x_31;
+goto block_28;
}
-block_24:
+block_28:
{
if (x_12 == 0)
{
@@ -6330,11 +7397,27 @@ return x_2;
}
else
{
-lean_object* x_13; uint32_t x_14; uint8_t x_15;
+lean_object* x_13; uint32_t x_14; uint8_t x_15; uint8_t x_25;
x_13 = lean_string_utf8_next(x_4, x_5);
lean_dec(x_5);
x_14 = lean_string_utf8_get(x_4, x_13);
-x_15 = x_14 == x_9;
+x_25 = x_14 == x_9;
+if (x_25 == 0)
+{
+uint8_t x_26;
+x_26 = 0;
+x_15 = x_26;
+goto block_24;
+}
+else
+{
+uint8_t x_27;
+x_27 = 1;
+x_15 = x_27;
+goto block_24;
+}
+block_24:
+{
if (x_15 == 0)
{
lean_dec(x_13);
@@ -6353,7 +7436,7 @@ lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
x_19 = l_Lean_Parser_ParserState_next(x_2, x_4, x_16);
lean_dec(x_16);
x_20 = lean_unsigned_to_nat(1u);
-x_21 = l_Lean_Parser_finishCommentBlock___main(x_20, x_1, x_19);
+x_21 = l_Lean_Parser_finishCommentBlock(x_20, x_1, x_19);
x_22 = lean_ctor_get(x_21, 3);
lean_inc(x_22);
if (lean_obj_tag(x_22) == 0)
@@ -6376,35 +7459,54 @@ return x_2;
}
}
}
+}
else
{
-lean_object* x_28; uint32_t x_29; uint8_t x_30;
-x_28 = lean_string_utf8_next(x_4, x_5);
+lean_object* x_32; uint32_t x_33; uint8_t x_34; uint8_t x_41;
+x_32 = lean_string_utf8_next(x_4, x_5);
lean_dec(x_5);
-x_29 = lean_string_utf8_get(x_4, x_28);
-x_30 = x_29 == x_9;
-if (x_30 == 0)
+x_33 = lean_string_utf8_get(x_4, x_32);
+x_41 = x_33 == x_9;
+if (x_41 == 0)
{
-lean_dec(x_28);
+uint8_t x_42;
+x_42 = 0;
+x_34 = x_42;
+goto block_40;
+}
+else
+{
+uint8_t x_43;
+x_43 = 1;
+x_34 = x_43;
+goto block_40;
+}
+block_40:
+{
+if (x_34 == 0)
+{
+lean_dec(x_32);
return x_2;
}
else
{
-lean_object* x_31; lean_object* x_32; lean_object* x_33;
-x_31 = l_Lean_Parser_ParserState_next(x_2, x_4, x_28);
-lean_dec(x_28);
-x_32 = l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_whitespace___main___spec__1(x_1, x_31);
-x_33 = lean_ctor_get(x_32, 3);
-lean_inc(x_33);
-if (lean_obj_tag(x_33) == 0)
+lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38;
+x_35 = l_Lean_Parser_ParserState_next(x_2, x_4, x_32);
+lean_dec(x_32);
+x_36 = l_Lean_Parser_whitespace___closed__1;
+x_37 = l_Lean_Parser_takeUntilFn(x_36, x_1, x_35);
+x_38 = lean_ctor_get(x_37, 3);
+lean_inc(x_38);
+if (lean_obj_tag(x_38) == 0)
{
-x_2 = x_32;
+x_2 = x_37;
goto _start;
}
else
{
-lean_dec(x_33);
-return x_32;
+lean_dec(x_38);
+return x_37;
+}
}
}
}
@@ -6412,10 +7514,10 @@ return x_32;
}
else
{
-lean_object* x_39;
-x_39 = l_Lean_Parser_ParserState_next(x_2, x_4, x_5);
+lean_object* x_48;
+x_48 = l_Lean_Parser_ParserState_next(x_2, x_4, x_5);
lean_dec(x_5);
-x_2 = x_39;
+x_2 = x_48;
goto _start;
}
}
@@ -6426,30 +7528,15 @@ return x_2;
}
}
}
-lean_object* l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_whitespace___main___spec__1___boxed(lean_object* x_1, lean_object* x_2) {
+lean_object* l_Lean_Parser_whitespace___lambda__1___boxed(lean_object* x_1) {
_start:
{
-lean_object* x_3;
-x_3 = l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_whitespace___main___spec__1(x_1, x_2);
+uint32_t x_2; uint8_t x_3; lean_object* x_4;
+x_2 = lean_unbox_uint32(x_1);
lean_dec(x_1);
-return x_3;
-}
-}
-lean_object* l_Lean_Parser_whitespace___main___boxed(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3;
-x_3 = l_Lean_Parser_whitespace___main(x_1, x_2);
-lean_dec(x_1);
-return x_3;
-}
-}
-lean_object* l_Lean_Parser_whitespace(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3;
-x_3 = l_Lean_Parser_whitespace___main(x_1, x_2);
-return x_3;
+x_3 = l_Lean_Parser_whitespace___lambda__1(x_2);
+x_4 = lean_box(x_3);
+return x_4;
}
}
lean_object* l_Lean_Parser_whitespace___boxed(lean_object* x_1, lean_object* x_2) {
@@ -6473,7 +7560,7 @@ lean_ctor_set(x_3, 2, x_2);
return x_3;
}
}
-lean_object* l___private_Lean_Parser_Basic_3__rawAux(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4) {
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_rawAux(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9;
@@ -6516,7 +7603,7 @@ return x_16;
else
{
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;
-x_17 = l_Lean_Parser_whitespace___main(x_3, x_4);
+x_17 = l_Lean_Parser_whitespace(x_3, x_4);
x_18 = lean_ctor_get(x_17, 1);
lean_inc(x_18);
lean_inc(x_6);
@@ -6542,13 +7629,13 @@ return x_25;
}
}
}
-lean_object* l___private_Lean_Parser_Basic_3__rawAux___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_rawAux___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
uint8_t x_5; lean_object* x_6;
x_5 = lean_unbox(x_2);
lean_dec(x_2);
-x_6 = l___private_Lean_Parser_Basic_3__rawAux(x_1, x_5, x_3, x_4);
+x_6 = l___private_Lean_Parser_Basic_0__Lean_Parser_rawAux(x_1, x_5, x_3, x_4);
lean_dec(x_3);
return x_6;
}
@@ -6566,7 +7653,7 @@ lean_inc(x_7);
if (lean_obj_tag(x_7) == 0)
{
lean_object* x_8;
-x_8 = l___private_Lean_Parser_Basic_3__rawAux(x_5, x_2, x_3, x_6);
+x_8 = l___private_Lean_Parser_Basic_0__Lean_Parser_rawAux(x_5, x_2, x_3, x_6);
lean_dec(x_3);
return x_8;
}
@@ -6589,87 +7676,38 @@ x_6 = l_Lean_Parser_rawFn(x_1, x_5, x_3, x_4);
return x_6;
}
}
-lean_object* l_Lean_Parser_satisfyFn___at_Lean_Parser_chFn___spec__1(uint32_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
-_start:
-{
-lean_object* x_5; lean_object* x_6; lean_object* x_7; uint8_t x_8;
-x_5 = lean_ctor_get(x_4, 1);
-lean_inc(x_5);
-x_6 = lean_ctor_get(x_3, 0);
-x_7 = lean_ctor_get(x_6, 0);
-x_8 = lean_string_utf8_at_end(x_7, x_5);
-if (x_8 == 0)
-{
-uint32_t x_9; uint8_t x_10;
-x_9 = lean_string_utf8_get(x_7, x_5);
-x_10 = x_1 == x_9;
-if (x_10 == 0)
-{
-lean_object* x_11;
-lean_dec(x_5);
-x_11 = l_Lean_Parser_ParserState_mkUnexpectedError(x_4, x_2);
-return x_11;
-}
-else
-{
-lean_object* x_12;
-lean_dec(x_2);
-x_12 = l_Lean_Parser_ParserState_next(x_4, x_7, x_5);
-lean_dec(x_5);
-return x_12;
-}
-}
-else
-{
-lean_object* x_13; lean_object* x_14;
-lean_dec(x_5);
-lean_dec(x_2);
-x_13 = l_Lean_Parser_ParserState_mkEOIError___closed__1;
-x_14 = l_Lean_Parser_ParserState_mkUnexpectedError(x_4, x_13);
-return x_14;
-}
-}
-}
lean_object* l_Lean_Parser_chFn(uint32_t x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
-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;
-x_5 = l_String_splitAux___main___closed__1;
-x_6 = lean_string_push(x_5, x_1);
-x_7 = l_Char_HasRepr___closed__1;
-x_8 = lean_string_append(x_7, x_6);
-lean_dec(x_6);
-x_9 = lean_string_append(x_8, x_7);
-x_10 = lean_ctor_get(x_4, 1);
-lean_inc(x_10);
-x_11 = l_Lean_Parser_satisfyFn___at_Lean_Parser_chFn___spec__1(x_1, x_9, x_3, x_4);
-x_12 = lean_ctor_get(x_11, 3);
+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;
+x_5 = lean_box_uint32(x_1);
+x_6 = lean_alloc_closure((void*)(l_UInt32_decEq___boxed), 2, 1);
+lean_closure_set(x_6, 0, x_5);
+x_7 = l_String_splitAux___main___closed__1;
+x_8 = lean_string_push(x_7, x_1);
+x_9 = l_Char_HasRepr___closed__1;
+x_10 = lean_string_append(x_9, x_8);
+lean_dec(x_8);
+x_11 = lean_string_append(x_10, x_9);
+x_12 = lean_ctor_get(x_4, 1);
lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
+x_13 = l_Lean_Parser_satisfyFn(x_6, x_11, x_3, x_4);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_13;
-x_13 = l___private_Lean_Parser_Basic_3__rawAux(x_10, x_2, x_3, x_11);
-return x_13;
+lean_object* x_15;
+x_15 = l___private_Lean_Parser_Basic_0__Lean_Parser_rawAux(x_12, x_2, x_3, x_13);
+return x_15;
}
else
{
+lean_dec(x_14);
lean_dec(x_12);
-lean_dec(x_10);
-return x_11;
+return x_13;
}
}
}
-lean_object* l_Lean_Parser_satisfyFn___at_Lean_Parser_chFn___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
-_start:
-{
-uint32_t x_5; lean_object* x_6;
-x_5 = lean_unbox_uint32(x_1);
-lean_dec(x_1);
-x_6 = l_Lean_Parser_satisfyFn___at_Lean_Parser_chFn___spec__1(x_5, x_2, x_3, x_4);
-lean_dec(x_3);
-return x_6;
-}
-}
lean_object* l_Lean_Parser_chFn___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
@@ -6683,73 +7721,35 @@ lean_dec(x_3);
return x_7;
}
}
-lean_object* l_Lean_Parser_satisfyFn___at_Lean_Parser_rawCh___elambda__1___spec__1(uint32_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
-_start:
-{
-lean_object* x_5; lean_object* x_6; lean_object* x_7; uint8_t x_8;
-x_5 = lean_ctor_get(x_4, 1);
-lean_inc(x_5);
-x_6 = lean_ctor_get(x_3, 0);
-x_7 = lean_ctor_get(x_6, 0);
-x_8 = lean_string_utf8_at_end(x_7, x_5);
-if (x_8 == 0)
-{
-uint32_t x_9; uint8_t x_10;
-x_9 = lean_string_utf8_get(x_7, x_5);
-x_10 = x_1 == x_9;
-if (x_10 == 0)
-{
-lean_object* x_11;
-lean_dec(x_5);
-x_11 = l_Lean_Parser_ParserState_mkUnexpectedError(x_4, x_2);
-return x_11;
-}
-else
-{
-lean_object* x_12;
-lean_dec(x_2);
-x_12 = l_Lean_Parser_ParserState_next(x_4, x_7, x_5);
-lean_dec(x_5);
-return x_12;
-}
-}
-else
-{
-lean_object* x_13; lean_object* x_14;
-lean_dec(x_5);
-lean_dec(x_2);
-x_13 = l_Lean_Parser_ParserState_mkEOIError___closed__1;
-x_14 = l_Lean_Parser_ParserState_mkUnexpectedError(x_4, x_13);
-return x_14;
-}
-}
-}
lean_object* l_Lean_Parser_rawCh___elambda__1(uint32_t x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
-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;
-x_5 = l_String_splitAux___main___closed__1;
-x_6 = lean_string_push(x_5, x_1);
-x_7 = l_Char_HasRepr___closed__1;
-x_8 = lean_string_append(x_7, x_6);
-lean_dec(x_6);
-x_9 = lean_string_append(x_8, x_7);
-x_10 = lean_ctor_get(x_4, 1);
-lean_inc(x_10);
-x_11 = l_Lean_Parser_satisfyFn___at_Lean_Parser_rawCh___elambda__1___spec__1(x_1, x_9, x_3, x_4);
-x_12 = lean_ctor_get(x_11, 3);
+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;
+x_5 = lean_box_uint32(x_1);
+x_6 = lean_alloc_closure((void*)(l_UInt32_decEq___boxed), 2, 1);
+lean_closure_set(x_6, 0, x_5);
+x_7 = l_String_splitAux___main___closed__1;
+x_8 = lean_string_push(x_7, x_1);
+x_9 = l_Char_HasRepr___closed__1;
+x_10 = lean_string_append(x_9, x_8);
+lean_dec(x_8);
+x_11 = lean_string_append(x_10, x_9);
+x_12 = lean_ctor_get(x_4, 1);
lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
+x_13 = l_Lean_Parser_satisfyFn(x_6, x_11, x_3, x_4);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_13;
-x_13 = l___private_Lean_Parser_Basic_3__rawAux(x_10, x_2, x_3, x_11);
-return x_13;
+lean_object* x_15;
+x_15 = l___private_Lean_Parser_Basic_0__Lean_Parser_rawAux(x_12, x_2, x_3, x_13);
+return x_15;
}
else
{
+lean_dec(x_14);
lean_dec(x_12);
-lean_dec(x_10);
-return x_11;
+return x_13;
}
}
}
@@ -6769,17 +7769,6 @@ lean_ctor_set(x_7, 1, x_5);
return x_7;
}
}
-lean_object* l_Lean_Parser_satisfyFn___at_Lean_Parser_rawCh___elambda__1___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
-_start:
-{
-uint32_t x_5; lean_object* x_6;
-x_5 = lean_unbox_uint32(x_1);
-lean_dec(x_1);
-x_6 = l_Lean_Parser_satisfyFn___at_Lean_Parser_rawCh___elambda__1___spec__1(x_5, x_2, x_3, x_4);
-lean_dec(x_3);
-return x_6;
-}
-}
lean_object* l_Lean_Parser_rawCh___elambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
@@ -6953,30 +7942,46 @@ x_11 = lean_unbox(x_10);
lean_dec(x_10);
if (x_11 == 0)
{
-uint32_t x_12; uint8_t x_13; uint8_t x_31;
+uint32_t x_12; uint8_t x_13; uint8_t x_35;
x_12 = 120;
-x_31 = x_8 == x_12;
-if (x_31 == 0)
+x_35 = x_8 == x_12;
+if (x_35 == 0)
{
-uint8_t x_32;
-x_32 = 0;
-x_13 = x_32;
-goto block_30;
+uint8_t x_36;
+x_36 = 0;
+x_13 = x_36;
+goto block_34;
}
else
{
-uint8_t x_33;
-x_33 = 1;
-x_13 = x_33;
-goto block_30;
+uint8_t x_37;
+x_37 = 1;
+x_13 = x_37;
+goto block_34;
}
-block_30:
+block_34:
{
if (x_13 == 0)
{
-uint32_t x_14; uint8_t x_15;
+uint32_t x_14; uint8_t x_15; uint8_t x_27;
x_14 = 117;
-x_15 = x_8 == x_14;
+x_27 = x_8 == x_14;
+if (x_27 == 0)
+{
+uint8_t x_28;
+x_28 = 0;
+x_15 = x_28;
+goto block_26;
+}
+else
+{
+uint8_t x_29;
+x_29 = 1;
+x_15 = x_29;
+goto block_26;
+}
+block_26:
+{
if (x_15 == 0)
{
lean_object* x_16; lean_object* x_17;
@@ -7030,44 +8035,45 @@ return x_19;
}
}
}
+}
else
{
-lean_object* x_26; lean_object* x_27; lean_object* x_28;
-x_26 = l_Lean_Parser_ParserState_next(x_3, x_5, x_6);
+lean_object* x_30; lean_object* x_31; lean_object* x_32;
+x_30 = l_Lean_Parser_ParserState_next(x_3, x_5, x_6);
lean_dec(x_6);
-x_27 = l_Lean_Parser_hexDigitFn(x_2, x_26);
-x_28 = lean_ctor_get(x_27, 3);
-lean_inc(x_28);
-if (lean_obj_tag(x_28) == 0)
+x_31 = l_Lean_Parser_hexDigitFn(x_2, x_30);
+x_32 = lean_ctor_get(x_31, 3);
+lean_inc(x_32);
+if (lean_obj_tag(x_32) == 0)
{
-lean_object* x_29;
-x_29 = l_Lean_Parser_hexDigitFn(x_2, x_27);
-return x_29;
+lean_object* x_33;
+x_33 = l_Lean_Parser_hexDigitFn(x_2, x_31);
+return x_33;
}
else
{
-lean_dec(x_28);
-return x_27;
+lean_dec(x_32);
+return x_31;
}
}
}
}
else
{
-lean_object* x_34;
-x_34 = l_Lean_Parser_ParserState_next(x_3, x_5, x_6);
+lean_object* x_38;
+x_38 = l_Lean_Parser_ParserState_next(x_3, x_5, x_6);
lean_dec(x_6);
-return x_34;
+return x_38;
}
}
else
{
-lean_object* x_35; lean_object* x_36;
+lean_object* x_39; lean_object* x_40;
lean_dec(x_6);
lean_dec(x_1);
-x_35 = l_Lean_Parser_ParserState_mkEOIError___closed__1;
-x_36 = l_Lean_Parser_ParserState_mkUnexpectedError(x_3, x_35);
-return x_36;
+x_39 = l_Lean_Parser_ParserState_mkEOIError___closed__1;
+x_40 = l_Lean_Parser_ParserState_mkUnexpectedError(x_3, x_39);
+return x_40;
}
}
}
@@ -7177,154 +8183,21 @@ x_4 = lean_box(x_3);
return x_4;
}
}
-lean_object* l_Lean_Parser_quotedCharCoreFn___at_Lean_Parser_quotedCharFn___spec__1(lean_object* x_1, lean_object* x_2) {
+static lean_object* _init_l_Lean_Parser_quotedCharFn___closed__1() {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6;
-x_3 = lean_ctor_get(x_1, 0);
-x_4 = lean_ctor_get(x_3, 0);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-x_6 = lean_string_utf8_at_end(x_4, x_5);
-if (x_6 == 0)
-{
-uint32_t x_7; uint8_t x_8;
-x_7 = lean_string_utf8_get(x_4, x_5);
-x_8 = l_Lean_Parser_isQuotableCharDefault(x_7);
-if (x_8 == 0)
-{
-uint32_t x_9; uint8_t x_10; uint8_t x_28;
-x_9 = 120;
-x_28 = x_7 == x_9;
-if (x_28 == 0)
-{
-uint8_t x_29;
-x_29 = 0;
-x_10 = x_29;
-goto block_27;
-}
-else
-{
-uint8_t x_30;
-x_30 = 1;
-x_10 = x_30;
-goto block_27;
-}
-block_27:
-{
-if (x_10 == 0)
-{
-uint32_t x_11; uint8_t x_12;
-x_11 = 117;
-x_12 = x_7 == x_11;
-if (x_12 == 0)
-{
-lean_object* x_13; lean_object* x_14;
-lean_dec(x_5);
-x_13 = l_Lean_Parser_quotedCharCoreFn___closed__1;
-x_14 = l_Lean_Parser_ParserState_mkUnexpectedError(x_2, x_13);
-return x_14;
-}
-else
-{
-lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_15 = l_Lean_Parser_ParserState_next(x_2, x_4, x_5);
-lean_dec(x_5);
-x_16 = l_Lean_Parser_hexDigitFn(x_1, x_15);
-x_17 = lean_ctor_get(x_16, 3);
-lean_inc(x_17);
-if (lean_obj_tag(x_17) == 0)
-{
-lean_object* x_18; lean_object* x_19;
-x_18 = l_Lean_Parser_hexDigitFn(x_1, x_16);
-x_19 = lean_ctor_get(x_18, 3);
-lean_inc(x_19);
-if (lean_obj_tag(x_19) == 0)
-{
-lean_object* x_20; lean_object* x_21;
-x_20 = l_Lean_Parser_hexDigitFn(x_1, x_18);
-x_21 = lean_ctor_get(x_20, 3);
-lean_inc(x_21);
-if (lean_obj_tag(x_21) == 0)
-{
-lean_object* x_22;
-x_22 = l_Lean_Parser_hexDigitFn(x_1, x_20);
-return x_22;
-}
-else
-{
-lean_dec(x_21);
-return x_20;
-}
-}
-else
-{
-lean_dec(x_19);
-return x_18;
-}
-}
-else
-{
-lean_dec(x_17);
-return x_16;
-}
-}
-}
-else
-{
-lean_object* x_23; lean_object* x_24; lean_object* x_25;
-x_23 = l_Lean_Parser_ParserState_next(x_2, x_4, x_5);
-lean_dec(x_5);
-x_24 = l_Lean_Parser_hexDigitFn(x_1, x_23);
-x_25 = lean_ctor_get(x_24, 3);
-lean_inc(x_25);
-if (lean_obj_tag(x_25) == 0)
-{
-lean_object* x_26;
-x_26 = l_Lean_Parser_hexDigitFn(x_1, x_24);
-return x_26;
-}
-else
-{
-lean_dec(x_25);
-return x_24;
-}
-}
-}
-}
-else
-{
-lean_object* x_31;
-x_31 = l_Lean_Parser_ParserState_next(x_2, x_4, x_5);
-lean_dec(x_5);
-return x_31;
-}
-}
-else
-{
-lean_object* x_32; lean_object* x_33;
-lean_dec(x_5);
-x_32 = l_Lean_Parser_ParserState_mkEOIError___closed__1;
-x_33 = l_Lean_Parser_ParserState_mkUnexpectedError(x_2, x_32);
-return x_33;
-}
+lean_object* x_1;
+x_1 = lean_alloc_closure((void*)(l_Lean_Parser_isQuotableCharDefault___boxed), 1, 0);
+return x_1;
}
}
lean_object* l_Lean_Parser_quotedCharFn(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3;
-x_3 = l_Lean_Parser_quotedCharCoreFn___at_Lean_Parser_quotedCharFn___spec__1(x_1, x_2);
-return x_3;
-}
-}
-lean_object* l_Lean_Parser_quotedCharCoreFn___at_Lean_Parser_quotedCharFn___spec__1___boxed(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3;
-x_3 = l_Lean_Parser_quotedCharCoreFn___at_Lean_Parser_quotedCharFn___spec__1(x_1, x_2);
-lean_dec(x_1);
-return x_3;
+lean_object* x_3; lean_object* x_4;
+x_3 = l_Lean_Parser_quotedCharFn___closed__1;
+x_4 = l_Lean_Parser_quotedCharCoreFn(x_3, x_1, x_2);
+return x_4;
}
}
lean_object* l_Lean_Parser_quotedCharFn___boxed(lean_object* x_1, lean_object* x_2) {
@@ -7351,7 +8224,7 @@ lean_ctor_set(x_8, 0, x_6);
lean_ctor_set(x_8, 1, x_2);
lean_ctor_set(x_8, 2, x_2);
x_9 = lean_string_utf8_extract(x_6, x_2, x_7);
-x_10 = l_Lean_Parser_whitespace___main(x_3, x_4);
+x_10 = l_Lean_Parser_whitespace(x_3, x_4);
x_11 = lean_ctor_get(x_10, 1);
lean_inc(x_11);
lean_inc(x_6);
@@ -7394,130 +8267,82 @@ return x_1;
lean_object* l_Lean_Parser_charLitFnAux(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
-lean_object* x_4; lean_object* x_5; lean_object* x_6; uint8_t x_7;
+lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_19; uint8_t x_20;
x_4 = lean_ctor_get(x_2, 0);
x_5 = lean_ctor_get(x_4, 0);
-x_6 = lean_ctor_get(x_3, 1);
-lean_inc(x_6);
-x_7 = lean_string_utf8_at_end(x_5, x_6);
-if (x_7 == 0)
+x_19 = lean_ctor_get(x_3, 1);
+lean_inc(x_19);
+x_20 = lean_string_utf8_at_end(x_5, x_19);
+if (x_20 == 0)
{
-uint32_t x_8; lean_object* x_9; lean_object* x_10; uint32_t x_11; uint8_t x_12; uint8_t x_36;
-x_8 = lean_string_utf8_get(x_5, x_6);
-x_9 = lean_string_utf8_next(x_5, x_6);
-lean_dec(x_6);
-lean_inc(x_9);
-lean_inc(x_3);
-x_10 = l_Lean_Parser_ParserState_setPos(x_3, x_9);
-x_11 = 92;
-x_36 = x_8 == x_11;
-if (x_36 == 0)
+uint32_t x_21; lean_object* x_22; lean_object* x_23; uint32_t x_24; uint8_t x_25;
+x_21 = lean_string_utf8_get(x_5, x_19);
+x_22 = lean_string_utf8_next(x_5, x_19);
+lean_dec(x_19);
+x_23 = l_Lean_Parser_ParserState_setPos(x_3, x_22);
+x_24 = 92;
+x_25 = x_21 == x_24;
+if (x_25 == 0)
{
-uint8_t x_37;
-x_37 = 0;
-x_12 = x_37;
-goto block_35;
+x_6 = x_23;
+goto block_18;
}
else
{
-uint8_t x_38;
-x_38 = 1;
-x_12 = x_38;
-goto block_35;
+lean_object* x_26; lean_object* x_27;
+x_26 = l_Lean_Parser_quotedCharFn___closed__1;
+x_27 = l_Lean_Parser_quotedCharCoreFn(x_26, x_2, x_23);
+x_6 = x_27;
+goto block_18;
}
-block_35:
+}
+else
{
-if (x_12 == 0)
-{
-lean_object* x_13;
-x_13 = lean_ctor_get(x_3, 3);
-lean_inc(x_13);
-lean_dec(x_3);
-if (lean_obj_tag(x_13) == 0)
-{
-uint32_t x_14; lean_object* x_15; lean_object* x_16; uint32_t x_17; uint8_t x_18;
-x_14 = lean_string_utf8_get(x_5, x_9);
-x_15 = lean_string_utf8_next(x_5, x_9);
-lean_dec(x_9);
-x_16 = l_Lean_Parser_ParserState_setPos(x_10, x_15);
-x_17 = 39;
-x_18 = x_14 == x_17;
-if (x_18 == 0)
-{
-lean_object* x_19; lean_object* x_20;
+lean_object* x_28; lean_object* x_29;
+lean_dec(x_19);
lean_dec(x_1);
-x_19 = l_Lean_Parser_charLitFnAux___closed__1;
-x_20 = l_Lean_Parser_ParserState_mkUnexpectedError(x_16, x_19);
-return x_20;
+x_28 = l_Lean_Parser_ParserState_mkEOIError___closed__1;
+x_29 = l_Lean_Parser_ParserState_mkUnexpectedError(x_3, x_28);
+return x_29;
}
-else
+block_18:
{
-lean_object* x_21; lean_object* x_22;
-x_21 = l_Lean_charLitKind;
-x_22 = l_Lean_Parser_mkNodeToken(x_21, x_1, x_2, x_16);
-return x_22;
-}
-}
-else
+lean_object* x_7;
+x_7 = lean_ctor_get(x_6, 3);
+lean_inc(x_7);
+if (lean_obj_tag(x_7) == 0)
{
-lean_dec(x_13);
-lean_dec(x_9);
+lean_object* x_8; uint32_t x_9; lean_object* x_10; lean_object* x_11; uint32_t x_12; uint8_t x_13;
+x_8 = lean_ctor_get(x_6, 1);
+lean_inc(x_8);
+x_9 = lean_string_utf8_get(x_5, x_8);
+x_10 = lean_string_utf8_next(x_5, x_8);
+lean_dec(x_8);
+x_11 = l_Lean_Parser_ParserState_setPos(x_6, x_10);
+x_12 = 39;
+x_13 = x_9 == x_12;
+if (x_13 == 0)
+{
+lean_object* x_14; lean_object* x_15;
lean_dec(x_1);
-return x_10;
+x_14 = l_Lean_Parser_charLitFnAux___closed__1;
+x_15 = l_Lean_Parser_ParserState_mkUnexpectedError(x_11, x_14);
+return x_15;
+}
+else
+{
+lean_object* x_16; lean_object* x_17;
+x_16 = l_Lean_charLitKind;
+x_17 = l_Lean_Parser_mkNodeToken(x_16, x_1, x_2, x_11);
+return x_17;
}
}
else
{
-lean_object* x_23; lean_object* x_24;
-lean_dec(x_9);
-lean_dec(x_3);
-x_23 = l_Lean_Parser_quotedCharCoreFn___at_Lean_Parser_quotedCharFn___spec__1(x_2, x_10);
-x_24 = lean_ctor_get(x_23, 3);
-lean_inc(x_24);
-if (lean_obj_tag(x_24) == 0)
-{
-lean_object* x_25; uint32_t x_26; lean_object* x_27; lean_object* x_28; uint32_t x_29; uint8_t x_30;
-x_25 = lean_ctor_get(x_23, 1);
-lean_inc(x_25);
-x_26 = lean_string_utf8_get(x_5, x_25);
-x_27 = lean_string_utf8_next(x_5, x_25);
-lean_dec(x_25);
-x_28 = l_Lean_Parser_ParserState_setPos(x_23, x_27);
-x_29 = 39;
-x_30 = x_26 == x_29;
-if (x_30 == 0)
-{
-lean_object* x_31; lean_object* x_32;
+lean_dec(x_7);
lean_dec(x_1);
-x_31 = l_Lean_Parser_charLitFnAux___closed__1;
-x_32 = l_Lean_Parser_ParserState_mkUnexpectedError(x_28, x_31);
-return x_32;
+return x_6;
}
-else
-{
-lean_object* x_33; lean_object* x_34;
-x_33 = l_Lean_charLitKind;
-x_34 = l_Lean_Parser_mkNodeToken(x_33, x_1, x_2, x_28);
-return x_34;
-}
-}
-else
-{
-lean_dec(x_24);
-lean_dec(x_1);
-return x_23;
-}
-}
-}
-}
-else
-{
-lean_object* x_39; lean_object* x_40;
-lean_dec(x_6);
-lean_dec(x_1);
-x_39 = l_Lean_Parser_ParserState_mkEOIError___closed__1;
-x_40 = l_Lean_Parser_ParserState_mkUnexpectedError(x_3, x_39);
-return x_40;
}
}
}
@@ -7530,7 +8355,7 @@ lean_dec(x_2);
return x_4;
}
}
-lean_object* l_Lean_Parser_strLitFnAux___main(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l_Lean_Parser_strLitFnAux(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4; lean_object* x_5; lean_object* x_6; uint8_t x_7;
@@ -7541,13 +8366,29 @@ lean_inc(x_6);
x_7 = lean_string_utf8_at_end(x_5, x_6);
if (x_7 == 0)
{
-uint32_t x_8; lean_object* x_9; lean_object* x_10; uint32_t x_11; uint8_t x_12;
+uint32_t x_8; lean_object* x_9; lean_object* x_10; uint32_t x_11; uint8_t x_12; uint8_t x_23;
x_8 = lean_string_utf8_get(x_5, x_6);
x_9 = lean_string_utf8_next(x_5, x_6);
lean_dec(x_6);
x_10 = l_Lean_Parser_ParserState_setPos(x_3, x_9);
x_11 = 34;
-x_12 = x_8 == x_11;
+x_23 = x_8 == x_11;
+if (x_23 == 0)
+{
+uint8_t x_24;
+x_24 = 0;
+x_12 = x_24;
+goto block_22;
+}
+else
+{
+uint8_t x_25;
+x_25 = 1;
+x_12 = x_25;
+goto block_22;
+}
+block_22:
+{
if (x_12 == 0)
{
uint32_t x_13; uint8_t x_14;
@@ -7560,59 +8401,44 @@ goto _start;
}
else
{
-lean_object* x_16; lean_object* x_17;
-x_16 = l_Lean_Parser_quotedCharCoreFn___at_Lean_Parser_quotedCharFn___spec__1(x_2, x_10);
-x_17 = lean_ctor_get(x_16, 3);
-lean_inc(x_17);
-if (lean_obj_tag(x_17) == 0)
+lean_object* x_16; lean_object* x_17; lean_object* x_18;
+x_16 = l_Lean_Parser_quotedCharFn___closed__1;
+x_17 = l_Lean_Parser_quotedCharCoreFn(x_16, x_2, x_10);
+x_18 = lean_ctor_get(x_17, 3);
+lean_inc(x_18);
+if (lean_obj_tag(x_18) == 0)
{
-x_3 = x_16;
+x_3 = x_17;
goto _start;
}
else
{
-lean_dec(x_17);
+lean_dec(x_18);
lean_dec(x_1);
-return x_16;
+return x_17;
}
}
}
else
{
-lean_object* x_19; lean_object* x_20;
-x_19 = l_Lean_strLitKind;
-x_20 = l_Lean_Parser_mkNodeToken(x_19, x_1, x_2, x_10);
-return x_20;
+lean_object* x_20; lean_object* x_21;
+x_20 = l_Lean_strLitKind;
+x_21 = l_Lean_Parser_mkNodeToken(x_20, x_1, x_2, x_10);
+return x_21;
+}
}
}
else
{
-lean_object* x_21; lean_object* x_22;
+lean_object* x_26; lean_object* x_27;
lean_dec(x_6);
lean_dec(x_1);
-x_21 = l_Lean_Parser_ParserState_mkEOIError___closed__1;
-x_22 = l_Lean_Parser_ParserState_mkUnexpectedError(x_3, x_21);
-return x_22;
+x_26 = l_Lean_Parser_ParserState_mkEOIError___closed__1;
+x_27 = l_Lean_Parser_ParserState_mkUnexpectedError(x_3, x_26);
+return x_27;
}
}
}
-lean_object* l_Lean_Parser_strLitFnAux___main___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4;
-x_4 = l_Lean_Parser_strLitFnAux___main(x_1, x_2, x_3);
-lean_dec(x_2);
-return x_4;
-}
-}
-lean_object* l_Lean_Parser_strLitFnAux(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4;
-x_4 = l_Lean_Parser_strLitFnAux___main(x_1, x_2, x_3);
-return x_4;
-}
-}
lean_object* l_Lean_Parser_strLitFnAux___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
@@ -7622,114 +8448,62 @@ lean_dec(x_2);
return x_4;
}
}
-lean_object* l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_decimalNumberFn___spec__2(lean_object* x_1, lean_object* x_2) {
+static lean_object* _init_l_Lean_Parser_decimalNumberFn___closed__1() {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6;
-x_3 = lean_ctor_get(x_2, 1);
-lean_inc(x_3);
-x_4 = lean_ctor_get(x_1, 0);
-x_5 = lean_ctor_get(x_4, 0);
-x_6 = lean_string_utf8_at_end(x_5, x_3);
-if (x_6 == 0)
-{
-uint32_t x_7; uint8_t x_8;
-x_7 = lean_string_utf8_get(x_5, x_3);
-x_8 = l_Char_isDigit(x_7);
-if (x_8 == 0)
-{
-lean_dec(x_3);
-return x_2;
-}
-else
-{
-lean_object* x_9;
-x_9 = l_Lean_Parser_ParserState_next(x_2, x_5, x_3);
-lean_dec(x_3);
-x_2 = x_9;
-goto _start;
-}
-}
-else
-{
-lean_dec(x_3);
-return x_2;
-}
-}
-}
-lean_object* l_Lean_Parser_takeWhileFn___at_Lean_Parser_decimalNumberFn___spec__1(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3;
-x_3 = l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_decimalNumberFn___spec__2(x_1, x_2);
-return x_3;
+lean_object* x_1;
+x_1 = lean_alloc_closure((void*)(l_Char_isDigit___boxed), 1, 0);
+return x_1;
}
}
lean_object* l_Lean_Parser_decimalNumberFn(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
-lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; uint32_t x_8; uint32_t x_9; uint8_t x_10;
-x_4 = l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_decimalNumberFn___spec__2(x_2, x_3);
-x_5 = lean_ctor_get(x_2, 0);
-x_6 = lean_ctor_get(x_5, 0);
-x_7 = lean_ctor_get(x_4, 1);
-lean_inc(x_7);
-x_8 = lean_string_utf8_get(x_6, x_7);
-x_9 = 46;
-x_10 = x_8 == x_9;
-if (x_10 == 0)
+lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; uint32_t x_9; uint32_t x_10; uint8_t x_11;
+x_4 = l_Lean_Parser_decimalNumberFn___closed__1;
+x_5 = l_Lean_Parser_takeWhileFn(x_4, x_2, x_3);
+x_6 = lean_ctor_get(x_2, 0);
+x_7 = lean_ctor_get(x_6, 0);
+x_8 = lean_ctor_get(x_5, 1);
+lean_inc(x_8);
+x_9 = lean_string_utf8_get(x_7, x_8);
+x_10 = 46;
+x_11 = x_9 == x_10;
+if (x_11 == 0)
{
-lean_object* x_11; lean_object* x_12;
-lean_dec(x_7);
-x_11 = l_Lean_numLitKind;
-x_12 = l_Lean_Parser_mkNodeToken(x_11, x_1, x_2, x_4);
-return x_12;
+lean_object* x_12; lean_object* x_13;
+lean_dec(x_8);
+x_12 = l_Lean_numLitKind;
+x_13 = l_Lean_Parser_mkNodeToken(x_12, x_1, x_2, x_5);
+return x_13;
}
else
{
-lean_object* x_13; uint32_t x_14; uint8_t x_15;
-x_13 = lean_string_utf8_next(x_6, x_7);
-lean_dec(x_7);
-x_14 = lean_string_utf8_get(x_6, x_13);
-x_15 = l_Char_isDigit(x_14);
-if (x_15 == 0)
+lean_object* x_14; uint32_t x_15; uint8_t x_16;
+x_14 = lean_string_utf8_next(x_7, x_8);
+lean_dec(x_8);
+x_15 = lean_string_utf8_get(x_7, x_14);
+x_16 = l_Char_isDigit(x_15);
+if (x_16 == 0)
{
-lean_object* x_16; lean_object* x_17;
-lean_dec(x_13);
-x_16 = l_Lean_numLitKind;
-x_17 = l_Lean_Parser_mkNodeToken(x_16, x_1, x_2, x_4);
-return x_17;
+lean_object* x_17; lean_object* x_18;
+lean_dec(x_14);
+x_17 = l_Lean_numLitKind;
+x_18 = l_Lean_Parser_mkNodeToken(x_17, x_1, x_2, x_5);
+return x_18;
}
else
{
-lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
-x_18 = l_Lean_Parser_ParserState_setPos(x_4, x_13);
-x_19 = l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_decimalNumberFn___spec__2(x_2, x_18);
-x_20 = l_Lean_numLitKind;
-x_21 = l_Lean_Parser_mkNodeToken(x_20, x_1, x_2, x_19);
-return x_21;
+lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
+x_19 = l_Lean_Parser_ParserState_setPos(x_5, x_14);
+x_20 = l_Lean_Parser_takeWhileFn(x_4, x_2, x_19);
+x_21 = l_Lean_numLitKind;
+x_22 = l_Lean_Parser_mkNodeToken(x_21, x_1, x_2, x_20);
+return x_22;
}
}
}
}
-lean_object* l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_decimalNumberFn___spec__2___boxed(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3;
-x_3 = l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_decimalNumberFn___spec__2(x_1, x_2);
-lean_dec(x_1);
-return x_3;
-}
-}
-lean_object* l_Lean_Parser_takeWhileFn___at_Lean_Parser_decimalNumberFn___spec__1___boxed(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3;
-x_3 = l_Lean_Parser_takeWhileFn___at_Lean_Parser_decimalNumberFn___spec__1(x_1, x_2);
-lean_dec(x_1);
-return x_3;
-}
-}
lean_object* l_Lean_Parser_decimalNumberFn___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
@@ -7739,124 +8513,39 @@ lean_dec(x_2);
return x_4;
}
}
-lean_object* l_Lean_Parser_satisfyFn___at_Lean_Parser_binNumberFn___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+uint8_t l_Lean_Parser_binNumberFn___lambda__1(uint32_t x_1) {
_start:
{
-lean_object* x_4; lean_object* x_5; lean_object* x_6; uint8_t x_7;
-x_4 = lean_ctor_get(x_3, 1);
-lean_inc(x_4);
-x_5 = lean_ctor_get(x_2, 0);
-x_6 = lean_ctor_get(x_5, 0);
-x_7 = lean_string_utf8_at_end(x_6, x_4);
-if (x_7 == 0)
+uint32_t x_2; uint8_t x_3;
+x_2 = 48;
+x_3 = x_1 == x_2;
+if (x_3 == 0)
{
-uint32_t x_8; uint32_t x_9; uint8_t x_10;
-x_8 = lean_string_utf8_get(x_6, x_4);
-x_9 = 48;
-x_10 = x_8 == x_9;
-if (x_10 == 0)
-{
-uint32_t x_11; uint8_t x_12;
-x_11 = 49;
-x_12 = x_8 == x_11;
-if (x_12 == 0)
-{
-lean_object* x_13;
-lean_dec(x_4);
-x_13 = l_Lean_Parser_ParserState_mkUnexpectedError(x_3, x_1);
-return x_13;
+uint32_t x_4; uint8_t x_5;
+x_4 = 49;
+x_5 = x_1 == x_4;
+return x_5;
}
else
{
-lean_object* x_14;
-lean_dec(x_1);
-x_14 = l_Lean_Parser_ParserState_next(x_3, x_6, x_4);
-lean_dec(x_4);
-return x_14;
+uint8_t x_6;
+x_6 = 1;
+return x_6;
}
}
-else
-{
-lean_object* x_15;
-lean_dec(x_1);
-x_15 = l_Lean_Parser_ParserState_next(x_3, x_6, x_4);
-lean_dec(x_4);
-return x_15;
-}
-}
-else
-{
-lean_object* x_16; lean_object* x_17;
-lean_dec(x_4);
-lean_dec(x_1);
-x_16 = l_Lean_Parser_ParserState_mkEOIError___closed__1;
-x_17 = l_Lean_Parser_ParserState_mkUnexpectedError(x_3, x_16);
-return x_17;
-}
-}
-}
-lean_object* l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_binNumberFn___spec__3(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6;
-x_3 = lean_ctor_get(x_2, 1);
-lean_inc(x_3);
-x_4 = lean_ctor_get(x_1, 0);
-x_5 = lean_ctor_get(x_4, 0);
-x_6 = lean_string_utf8_at_end(x_5, x_3);
-if (x_6 == 0)
-{
-uint32_t x_7; uint32_t x_8; uint8_t x_9;
-x_7 = lean_string_utf8_get(x_5, x_3);
-x_8 = 48;
-x_9 = x_7 == x_8;
-if (x_9 == 0)
-{
-uint32_t x_10; uint8_t x_11;
-x_10 = 49;
-x_11 = x_7 == x_10;
-if (x_11 == 0)
-{
-lean_dec(x_3);
-return x_2;
-}
-else
-{
-lean_object* x_12;
-x_12 = l_Lean_Parser_ParserState_next(x_2, x_5, x_3);
-lean_dec(x_3);
-x_2 = x_12;
-goto _start;
-}
-}
-else
-{
-lean_object* x_14;
-x_14 = l_Lean_Parser_ParserState_next(x_2, x_5, x_3);
-lean_dec(x_3);
-x_2 = x_14;
-goto _start;
-}
-}
-else
-{
-lean_dec(x_3);
-return x_2;
-}
-}
-}
-lean_object* l_Lean_Parser_takeWhileFn___at_Lean_Parser_binNumberFn___spec__2(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3;
-x_3 = l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_binNumberFn___spec__3(x_1, x_2);
-return x_3;
-}
}
static lean_object* _init_l_Lean_Parser_binNumberFn___closed__1() {
_start:
{
lean_object* x_1;
+x_1 = lean_alloc_closure((void*)(l_Lean_Parser_binNumberFn___lambda__1___boxed), 1, 0);
+return x_1;
+}
+}
+static lean_object* _init_l_Lean_Parser_binNumberFn___closed__2() {
+_start:
+{
+lean_object* x_1;
x_1 = lean_mk_string("binary number");
return x_1;
}
@@ -7864,56 +8553,41 @@ return x_1;
lean_object* l_Lean_Parser_binNumberFn(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
-lean_object* x_4; lean_object* x_5; lean_object* x_6;
+lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
x_4 = l_Lean_Parser_binNumberFn___closed__1;
-x_5 = l_Lean_Parser_satisfyFn___at_Lean_Parser_binNumberFn___spec__1(x_4, x_2, x_3);
-x_6 = lean_ctor_get(x_5, 3);
-lean_inc(x_6);
-if (lean_obj_tag(x_6) == 0)
+x_5 = l_Lean_Parser_binNumberFn___closed__2;
+x_6 = l_Lean_Parser_satisfyFn(x_4, x_5, x_2, x_3);
+x_7 = lean_ctor_get(x_6, 3);
+lean_inc(x_7);
+if (lean_obj_tag(x_7) == 0)
{
-lean_object* x_7; lean_object* x_8; lean_object* x_9;
-x_7 = l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_binNumberFn___spec__3(x_2, x_5);
-x_8 = l_Lean_numLitKind;
-x_9 = l_Lean_Parser_mkNodeToken(x_8, x_1, x_2, x_7);
-return x_9;
+lean_object* x_8; lean_object* x_9; lean_object* x_10;
+x_8 = l_Lean_Parser_takeWhileFn(x_4, x_2, x_6);
+x_9 = l_Lean_numLitKind;
+x_10 = l_Lean_Parser_mkNodeToken(x_9, x_1, x_2, x_8);
+return x_10;
}
else
{
-lean_object* x_10; lean_object* x_11;
-lean_dec(x_6);
-x_10 = l_Lean_numLitKind;
-x_11 = l_Lean_Parser_mkNodeToken(x_10, x_1, x_2, x_5);
-return x_11;
+lean_object* x_11; lean_object* x_12;
+lean_dec(x_7);
+x_11 = l_Lean_numLitKind;
+x_12 = l_Lean_Parser_mkNodeToken(x_11, x_1, x_2, x_6);
+return x_12;
}
}
}
-lean_object* l_Lean_Parser_satisfyFn___at_Lean_Parser_binNumberFn___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l_Lean_Parser_binNumberFn___lambda__1___boxed(lean_object* x_1) {
_start:
{
-lean_object* x_4;
-x_4 = l_Lean_Parser_satisfyFn___at_Lean_Parser_binNumberFn___spec__1(x_1, x_2, x_3);
-lean_dec(x_2);
+uint32_t x_2; uint8_t x_3; lean_object* x_4;
+x_2 = lean_unbox_uint32(x_1);
+lean_dec(x_1);
+x_3 = l_Lean_Parser_binNumberFn___lambda__1(x_2);
+x_4 = lean_box(x_3);
return x_4;
}
}
-lean_object* l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_binNumberFn___spec__3___boxed(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3;
-x_3 = l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_binNumberFn___spec__3(x_1, x_2);
-lean_dec(x_1);
-return x_3;
-}
-}
-lean_object* l_Lean_Parser_takeWhileFn___at_Lean_Parser_binNumberFn___spec__2___boxed(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3;
-x_3 = l_Lean_Parser_takeWhileFn___at_Lean_Parser_binNumberFn___spec__2(x_1, x_2);
-lean_dec(x_1);
-return x_3;
-}
-}
lean_object* l_Lean_Parser_binNumberFn___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
@@ -7923,120 +8597,39 @@ lean_dec(x_2);
return x_4;
}
}
-lean_object* l_Lean_Parser_satisfyFn___at_Lean_Parser_octalNumberFn___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+uint8_t l_Lean_Parser_octalNumberFn___lambda__1(uint32_t x_1) {
_start:
{
-lean_object* x_4; lean_object* x_5; lean_object* x_6; uint8_t x_7;
-x_4 = lean_ctor_get(x_3, 1);
-lean_inc(x_4);
-x_5 = lean_ctor_get(x_2, 0);
-x_6 = lean_ctor_get(x_5, 0);
-x_7 = lean_string_utf8_at_end(x_6, x_4);
-if (x_7 == 0)
+uint32_t x_2; uint8_t x_3;
+x_2 = 48;
+x_3 = x_2 <= x_1;
+if (x_3 == 0)
{
-uint32_t x_8; uint32_t x_9; uint8_t x_10;
-x_8 = lean_string_utf8_get(x_6, x_4);
-x_9 = 48;
-x_10 = x_9 <= x_8;
-if (x_10 == 0)
-{
-lean_object* x_11;
-lean_dec(x_4);
-x_11 = l_Lean_Parser_ParserState_mkUnexpectedError(x_3, x_1);
-return x_11;
+uint8_t x_4;
+x_4 = 0;
+return x_4;
}
else
{
-uint32_t x_12; uint8_t x_13;
-x_12 = 55;
-x_13 = x_8 <= x_12;
-if (x_13 == 0)
-{
-lean_object* x_14;
-lean_dec(x_4);
-x_14 = l_Lean_Parser_ParserState_mkUnexpectedError(x_3, x_1);
-return x_14;
+uint32_t x_5; uint8_t x_6;
+x_5 = 55;
+x_6 = x_1 <= x_5;
+return x_6;
}
-else
-{
-lean_object* x_15;
-lean_dec(x_1);
-x_15 = l_Lean_Parser_ParserState_next(x_3, x_6, x_4);
-lean_dec(x_4);
-return x_15;
-}
-}
-}
-else
-{
-lean_object* x_16; lean_object* x_17;
-lean_dec(x_4);
-lean_dec(x_1);
-x_16 = l_Lean_Parser_ParserState_mkEOIError___closed__1;
-x_17 = l_Lean_Parser_ParserState_mkUnexpectedError(x_3, x_16);
-return x_17;
-}
-}
-}
-lean_object* l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_octalNumberFn___spec__3(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6;
-x_3 = lean_ctor_get(x_2, 1);
-lean_inc(x_3);
-x_4 = lean_ctor_get(x_1, 0);
-x_5 = lean_ctor_get(x_4, 0);
-x_6 = lean_string_utf8_at_end(x_5, x_3);
-if (x_6 == 0)
-{
-uint32_t x_7; uint32_t x_8; uint8_t x_9;
-x_7 = lean_string_utf8_get(x_5, x_3);
-x_8 = 48;
-x_9 = x_8 <= x_7;
-if (x_9 == 0)
-{
-lean_dec(x_3);
-return x_2;
-}
-else
-{
-uint32_t x_10; uint8_t x_11;
-x_10 = 55;
-x_11 = x_7 <= x_10;
-if (x_11 == 0)
-{
-lean_dec(x_3);
-return x_2;
-}
-else
-{
-lean_object* x_12;
-x_12 = l_Lean_Parser_ParserState_next(x_2, x_5, x_3);
-lean_dec(x_3);
-x_2 = x_12;
-goto _start;
-}
-}
-}
-else
-{
-lean_dec(x_3);
-return x_2;
-}
-}
-}
-lean_object* l_Lean_Parser_takeWhileFn___at_Lean_Parser_octalNumberFn___spec__2(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3;
-x_3 = l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_octalNumberFn___spec__3(x_1, x_2);
-return x_3;
}
}
static lean_object* _init_l_Lean_Parser_octalNumberFn___closed__1() {
_start:
{
lean_object* x_1;
+x_1 = lean_alloc_closure((void*)(l_Lean_Parser_octalNumberFn___lambda__1___boxed), 1, 0);
+return x_1;
+}
+}
+static lean_object* _init_l_Lean_Parser_octalNumberFn___closed__2() {
+_start:
+{
+lean_object* x_1;
x_1 = lean_mk_string("octal number");
return x_1;
}
@@ -8044,56 +8637,41 @@ return x_1;
lean_object* l_Lean_Parser_octalNumberFn(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
-lean_object* x_4; lean_object* x_5; lean_object* x_6;
+lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
x_4 = l_Lean_Parser_octalNumberFn___closed__1;
-x_5 = l_Lean_Parser_satisfyFn___at_Lean_Parser_octalNumberFn___spec__1(x_4, x_2, x_3);
-x_6 = lean_ctor_get(x_5, 3);
-lean_inc(x_6);
-if (lean_obj_tag(x_6) == 0)
+x_5 = l_Lean_Parser_octalNumberFn___closed__2;
+x_6 = l_Lean_Parser_satisfyFn(x_4, x_5, x_2, x_3);
+x_7 = lean_ctor_get(x_6, 3);
+lean_inc(x_7);
+if (lean_obj_tag(x_7) == 0)
{
-lean_object* x_7; lean_object* x_8; lean_object* x_9;
-x_7 = l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_octalNumberFn___spec__3(x_2, x_5);
-x_8 = l_Lean_numLitKind;
-x_9 = l_Lean_Parser_mkNodeToken(x_8, x_1, x_2, x_7);
-return x_9;
+lean_object* x_8; lean_object* x_9; lean_object* x_10;
+x_8 = l_Lean_Parser_takeWhileFn(x_4, x_2, x_6);
+x_9 = l_Lean_numLitKind;
+x_10 = l_Lean_Parser_mkNodeToken(x_9, x_1, x_2, x_8);
+return x_10;
}
else
{
-lean_object* x_10; lean_object* x_11;
-lean_dec(x_6);
-x_10 = l_Lean_numLitKind;
-x_11 = l_Lean_Parser_mkNodeToken(x_10, x_1, x_2, x_5);
-return x_11;
+lean_object* x_11; lean_object* x_12;
+lean_dec(x_7);
+x_11 = l_Lean_numLitKind;
+x_12 = l_Lean_Parser_mkNodeToken(x_11, x_1, x_2, x_6);
+return x_12;
}
}
}
-lean_object* l_Lean_Parser_satisfyFn___at_Lean_Parser_octalNumberFn___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l_Lean_Parser_octalNumberFn___lambda__1___boxed(lean_object* x_1) {
_start:
{
-lean_object* x_4;
-x_4 = l_Lean_Parser_satisfyFn___at_Lean_Parser_octalNumberFn___spec__1(x_1, x_2, x_3);
-lean_dec(x_2);
+uint32_t x_2; uint8_t x_3; lean_object* x_4;
+x_2 = lean_unbox_uint32(x_1);
+lean_dec(x_1);
+x_3 = l_Lean_Parser_octalNumberFn___lambda__1(x_2);
+x_4 = lean_box(x_3);
return x_4;
}
}
-lean_object* l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_octalNumberFn___spec__3___boxed(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3;
-x_3 = l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_octalNumberFn___spec__3(x_1, x_2);
-lean_dec(x_1);
-return x_3;
-}
-}
-lean_object* l_Lean_Parser_takeWhileFn___at_Lean_Parser_octalNumberFn___spec__2___boxed(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3;
-x_3 = l_Lean_Parser_takeWhileFn___at_Lean_Parser_octalNumberFn___spec__2(x_1, x_2);
-lean_dec(x_1);
-return x_3;
-}
-}
lean_object* l_Lean_Parser_octalNumberFn___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
@@ -8103,310 +8681,111 @@ lean_dec(x_2);
return x_4;
}
}
-lean_object* l_Lean_Parser_satisfyFn___at_Lean_Parser_hexNumberFn___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+uint8_t l_Lean_Parser_hexNumberFn___lambda__1(uint32_t x_1) {
_start:
{
-lean_object* x_4; lean_object* x_5; lean_object* x_6; uint8_t x_7;
-x_4 = lean_ctor_get(x_3, 1);
-lean_inc(x_4);
-x_5 = lean_ctor_get(x_2, 0);
-x_6 = lean_ctor_get(x_5, 0);
-x_7 = lean_string_utf8_at_end(x_6, x_4);
-if (x_7 == 0)
+uint8_t x_2; uint32_t x_18; uint8_t x_19;
+x_18 = 48;
+x_19 = x_18 <= x_1;
+if (x_19 == 0)
{
-uint32_t x_8; uint8_t x_9; uint32_t x_31; uint8_t x_32;
-x_8 = lean_string_utf8_get(x_6, x_4);
-x_31 = 48;
-x_32 = x_31 <= x_8;
-if (x_32 == 0)
-{
-uint8_t x_33;
-x_33 = 0;
-x_9 = x_33;
-goto block_30;
+uint8_t x_20;
+x_20 = 0;
+x_2 = x_20;
+goto block_17;
}
else
{
-uint32_t x_34; uint8_t x_35;
-x_34 = 57;
-x_35 = x_8 <= x_34;
-if (x_35 == 0)
+uint32_t x_21; uint8_t x_22;
+x_21 = 57;
+x_22 = x_1 <= x_21;
+if (x_22 == 0)
{
-x_9 = x_35;
-goto block_30;
+x_2 = x_22;
+goto block_17;
}
else
{
-lean_object* x_36;
-lean_dec(x_1);
-x_36 = l_Lean_Parser_ParserState_next(x_3, x_6, x_4);
-lean_dec(x_4);
-return x_36;
+uint8_t x_23;
+x_23 = 1;
+return x_23;
}
}
-block_30:
+block_17:
+{
+uint32_t x_3; uint8_t x_4;
+x_3 = 97;
+x_4 = x_3 <= x_1;
+if (x_4 == 0)
+{
+if (x_2 == 0)
+{
+uint32_t x_5; uint8_t x_6;
+x_5 = 65;
+x_6 = x_5 <= x_1;
+if (x_6 == 0)
+{
+return x_2;
+}
+else
+{
+uint32_t x_7; uint8_t x_8;
+x_7 = 70;
+x_8 = x_1 <= x_7;
+return x_8;
+}
+}
+else
+{
+uint8_t x_9;
+x_9 = 1;
+return x_9;
+}
+}
+else
{
uint32_t x_10; uint8_t x_11;
-x_10 = 97;
-x_11 = x_10 <= x_8;
+x_10 = 102;
+x_11 = x_1 <= x_10;
if (x_11 == 0)
{
-if (x_9 == 0)
-{
uint32_t x_12; uint8_t x_13;
x_12 = 65;
-x_13 = x_12 <= x_8;
+x_13 = x_12 <= x_1;
if (x_13 == 0)
{
-lean_object* x_14;
-lean_dec(x_4);
-x_14 = l_Lean_Parser_ParserState_mkUnexpectedError(x_3, x_1);
-return x_14;
+return x_11;
}
else
{
-uint32_t x_15; uint8_t x_16;
-x_15 = 70;
-x_16 = x_8 <= x_15;
-if (x_16 == 0)
-{
-lean_object* x_17;
-lean_dec(x_4);
-x_17 = l_Lean_Parser_ParserState_mkUnexpectedError(x_3, x_1);
-return x_17;
-}
-else
-{
-lean_object* x_18;
-lean_dec(x_1);
-x_18 = l_Lean_Parser_ParserState_next(x_3, x_6, x_4);
-lean_dec(x_4);
-return x_18;
-}
+uint32_t x_14; uint8_t x_15;
+x_14 = 70;
+x_15 = x_1 <= x_14;
+return x_15;
}
}
else
{
-lean_object* x_19;
-lean_dec(x_1);
-x_19 = l_Lean_Parser_ParserState_next(x_3, x_6, x_4);
-lean_dec(x_4);
-return x_19;
-}
-}
-else
-{
-uint32_t x_20; uint8_t x_21;
-x_20 = 102;
-x_21 = x_8 <= x_20;
-if (x_21 == 0)
-{
-uint32_t x_22; uint8_t x_23;
-x_22 = 65;
-x_23 = x_22 <= x_8;
-if (x_23 == 0)
-{
-lean_object* x_24;
-lean_dec(x_4);
-x_24 = l_Lean_Parser_ParserState_mkUnexpectedError(x_3, x_1);
-return x_24;
-}
-else
-{
-uint32_t x_25; uint8_t x_26;
-x_25 = 70;
-x_26 = x_8 <= x_25;
-if (x_26 == 0)
-{
-lean_object* x_27;
-lean_dec(x_4);
-x_27 = l_Lean_Parser_ParserState_mkUnexpectedError(x_3, x_1);
-return x_27;
-}
-else
-{
-lean_object* x_28;
-lean_dec(x_1);
-x_28 = l_Lean_Parser_ParserState_next(x_3, x_6, x_4);
-lean_dec(x_4);
-return x_28;
+uint8_t x_16;
+x_16 = 1;
+return x_16;
}
}
}
-else
-{
-lean_object* x_29;
-lean_dec(x_1);
-x_29 = l_Lean_Parser_ParserState_next(x_3, x_6, x_4);
-lean_dec(x_4);
-return x_29;
-}
-}
-}
-}
-else
-{
-lean_object* x_37; lean_object* x_38;
-lean_dec(x_4);
-lean_dec(x_1);
-x_37 = l_Lean_Parser_ParserState_mkEOIError___closed__1;
-x_38 = l_Lean_Parser_ParserState_mkUnexpectedError(x_3, x_37);
-return x_38;
-}
-}
-}
-lean_object* l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_hexNumberFn___spec__3(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6;
-x_3 = lean_ctor_get(x_2, 1);
-lean_inc(x_3);
-x_4 = lean_ctor_get(x_1, 0);
-x_5 = lean_ctor_get(x_4, 0);
-x_6 = lean_string_utf8_at_end(x_5, x_3);
-if (x_6 == 0)
-{
-uint32_t x_7; uint8_t x_8; uint32_t x_30; uint8_t x_31;
-x_7 = lean_string_utf8_get(x_5, x_3);
-x_30 = 48;
-x_31 = x_30 <= x_7;
-if (x_31 == 0)
-{
-uint8_t x_32;
-x_32 = 0;
-x_8 = x_32;
-goto block_29;
-}
-else
-{
-uint32_t x_33; uint8_t x_34;
-x_33 = 57;
-x_34 = x_7 <= x_33;
-if (x_34 == 0)
-{
-x_8 = x_34;
-goto block_29;
-}
-else
-{
-lean_object* x_35;
-x_35 = l_Lean_Parser_ParserState_next(x_2, x_5, x_3);
-lean_dec(x_3);
-x_2 = x_35;
-goto _start;
-}
-}
-block_29:
-{
-uint32_t x_9; uint8_t x_10;
-x_9 = 97;
-x_10 = x_9 <= x_7;
-if (x_10 == 0)
-{
-if (x_8 == 0)
-{
-uint32_t x_11; uint8_t x_12;
-x_11 = 65;
-x_12 = x_11 <= x_7;
-if (x_12 == 0)
-{
-lean_dec(x_3);
-return x_2;
-}
-else
-{
-uint32_t x_13; uint8_t x_14;
-x_13 = 70;
-x_14 = x_7 <= x_13;
-if (x_14 == 0)
-{
-lean_dec(x_3);
-return x_2;
-}
-else
-{
-lean_object* x_15;
-x_15 = l_Lean_Parser_ParserState_next(x_2, x_5, x_3);
-lean_dec(x_3);
-x_2 = x_15;
-goto _start;
-}
-}
-}
-else
-{
-lean_object* x_17;
-x_17 = l_Lean_Parser_ParserState_next(x_2, x_5, x_3);
-lean_dec(x_3);
-x_2 = x_17;
-goto _start;
-}
-}
-else
-{
-uint32_t x_19; uint8_t x_20;
-x_19 = 102;
-x_20 = x_7 <= x_19;
-if (x_20 == 0)
-{
-uint32_t x_21; uint8_t x_22;
-x_21 = 65;
-x_22 = x_21 <= x_7;
-if (x_22 == 0)
-{
-lean_dec(x_3);
-return x_2;
-}
-else
-{
-uint32_t x_23; uint8_t x_24;
-x_23 = 70;
-x_24 = x_7 <= x_23;
-if (x_24 == 0)
-{
-lean_dec(x_3);
-return x_2;
-}
-else
-{
-lean_object* x_25;
-x_25 = l_Lean_Parser_ParserState_next(x_2, x_5, x_3);
-lean_dec(x_3);
-x_2 = x_25;
-goto _start;
-}
-}
-}
-else
-{
-lean_object* x_27;
-x_27 = l_Lean_Parser_ParserState_next(x_2, x_5, x_3);
-lean_dec(x_3);
-x_2 = x_27;
-goto _start;
-}
-}
-}
-}
-else
-{
-lean_dec(x_3);
-return x_2;
-}
-}
-}
-lean_object* l_Lean_Parser_takeWhileFn___at_Lean_Parser_hexNumberFn___spec__2(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3;
-x_3 = l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_hexNumberFn___spec__3(x_1, x_2);
-return x_3;
}
}
static lean_object* _init_l_Lean_Parser_hexNumberFn___closed__1() {
_start:
{
lean_object* x_1;
+x_1 = lean_alloc_closure((void*)(l_Lean_Parser_hexNumberFn___lambda__1___boxed), 1, 0);
+return x_1;
+}
+}
+static lean_object* _init_l_Lean_Parser_hexNumberFn___closed__2() {
+_start:
+{
+lean_object* x_1;
x_1 = lean_mk_string("hexadecimal number");
return x_1;
}
@@ -8414,56 +8793,41 @@ return x_1;
lean_object* l_Lean_Parser_hexNumberFn(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
-lean_object* x_4; lean_object* x_5; lean_object* x_6;
+lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
x_4 = l_Lean_Parser_hexNumberFn___closed__1;
-x_5 = l_Lean_Parser_satisfyFn___at_Lean_Parser_hexNumberFn___spec__1(x_4, x_2, x_3);
-x_6 = lean_ctor_get(x_5, 3);
-lean_inc(x_6);
-if (lean_obj_tag(x_6) == 0)
+x_5 = l_Lean_Parser_hexNumberFn___closed__2;
+x_6 = l_Lean_Parser_satisfyFn(x_4, x_5, x_2, x_3);
+x_7 = lean_ctor_get(x_6, 3);
+lean_inc(x_7);
+if (lean_obj_tag(x_7) == 0)
{
-lean_object* x_7; lean_object* x_8; lean_object* x_9;
-x_7 = l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_hexNumberFn___spec__3(x_2, x_5);
-x_8 = l_Lean_numLitKind;
-x_9 = l_Lean_Parser_mkNodeToken(x_8, x_1, x_2, x_7);
-return x_9;
+lean_object* x_8; lean_object* x_9; lean_object* x_10;
+x_8 = l_Lean_Parser_takeWhileFn(x_4, x_2, x_6);
+x_9 = l_Lean_numLitKind;
+x_10 = l_Lean_Parser_mkNodeToken(x_9, x_1, x_2, x_8);
+return x_10;
}
else
{
-lean_object* x_10; lean_object* x_11;
-lean_dec(x_6);
-x_10 = l_Lean_numLitKind;
-x_11 = l_Lean_Parser_mkNodeToken(x_10, x_1, x_2, x_5);
-return x_11;
+lean_object* x_11; lean_object* x_12;
+lean_dec(x_7);
+x_11 = l_Lean_numLitKind;
+x_12 = l_Lean_Parser_mkNodeToken(x_11, x_1, x_2, x_6);
+return x_12;
}
}
}
-lean_object* l_Lean_Parser_satisfyFn___at_Lean_Parser_hexNumberFn___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l_Lean_Parser_hexNumberFn___lambda__1___boxed(lean_object* x_1) {
_start:
{
-lean_object* x_4;
-x_4 = l_Lean_Parser_satisfyFn___at_Lean_Parser_hexNumberFn___spec__1(x_1, x_2, x_3);
-lean_dec(x_2);
+uint32_t x_2; uint8_t x_3; lean_object* x_4;
+x_2 = lean_unbox_uint32(x_1);
+lean_dec(x_1);
+x_3 = l_Lean_Parser_hexNumberFn___lambda__1(x_2);
+x_4 = lean_box(x_3);
return x_4;
}
}
-lean_object* l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_hexNumberFn___spec__3___boxed(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3;
-x_3 = l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_hexNumberFn___spec__3(x_1, x_2);
-lean_dec(x_1);
-return x_3;
-}
-}
-lean_object* l_Lean_Parser_takeWhileFn___at_Lean_Parser_hexNumberFn___spec__2___boxed(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3;
-x_3 = l_Lean_Parser_takeWhileFn___at_Lean_Parser_hexNumberFn___spec__2(x_1, x_2);
-lean_dec(x_1);
-return x_3;
-}
-}
lean_object* l_Lean_Parser_hexNumberFn___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
@@ -8492,10 +8856,26 @@ lean_inc(x_5);
x_6 = lean_string_utf8_at_end(x_4, x_5);
if (x_6 == 0)
{
-uint32_t x_7; uint32_t x_8; uint8_t x_9;
+uint32_t x_7; uint32_t x_8; uint8_t x_9; uint8_t x_55;
x_7 = lean_string_utf8_get(x_4, x_5);
x_8 = 48;
-x_9 = x_7 == x_8;
+x_55 = x_7 == x_8;
+if (x_55 == 0)
+{
+uint8_t x_56;
+x_56 = 0;
+x_9 = x_56;
+goto block_54;
+}
+else
+{
+uint8_t x_57;
+x_57 = 1;
+x_9 = x_57;
+goto block_54;
+}
+block_54:
+{
if (x_9 == 0)
{
uint8_t x_10;
@@ -8518,122 +8898,156 @@ return x_14;
}
else
{
-lean_object* x_15; uint32_t x_16; uint32_t x_17; uint8_t x_18;
+lean_object* x_15; uint32_t x_16; uint8_t x_17; uint32_t x_35; uint8_t x_36; uint8_t x_51;
x_15 = lean_string_utf8_next(x_4, x_5);
x_16 = lean_string_utf8_get(x_4, x_15);
-x_17 = 98;
-x_18 = x_16 == x_17;
-if (x_18 == 0)
+x_35 = 98;
+x_51 = x_16 == x_35;
+if (x_51 == 0)
{
-uint32_t x_19; uint8_t x_20;
-x_19 = 66;
-x_20 = x_16 == x_19;
-if (x_20 == 0)
+uint8_t x_52;
+x_52 = 0;
+x_36 = x_52;
+goto block_50;
+}
+else
{
-uint32_t x_21; uint8_t x_22; uint8_t x_40;
-x_21 = 111;
-x_40 = x_16 == x_21;
+uint8_t x_53;
+x_53 = 1;
+x_36 = x_53;
+goto block_50;
+}
+block_34:
+{
+if (x_17 == 0)
+{
+uint32_t x_18; uint8_t x_19; uint8_t x_29;
+x_18 = 120;
+x_29 = x_16 == x_18;
+if (x_29 == 0)
+{
+uint8_t x_30;
+x_30 = 0;
+x_19 = x_30;
+goto block_28;
+}
+else
+{
+uint8_t x_31;
+x_31 = 1;
+x_19 = x_31;
+goto block_28;
+}
+block_28:
+{
+if (x_19 == 0)
+{
+uint32_t x_20; uint8_t x_21;
+x_20 = 88;
+x_21 = x_16 == x_20;
+if (x_21 == 0)
+{
+lean_object* x_22; lean_object* x_23;
+x_22 = l_Lean_Parser_ParserState_setPos(x_2, x_15);
+x_23 = l_Lean_Parser_decimalNumberFn(x_5, x_1, x_22);
+return x_23;
+}
+else
+{
+lean_object* x_24; lean_object* x_25;
+x_24 = l_Lean_Parser_ParserState_next(x_2, x_4, x_15);
+lean_dec(x_15);
+x_25 = l_Lean_Parser_hexNumberFn(x_5, x_1, x_24);
+return x_25;
+}
+}
+else
+{
+lean_object* x_26; lean_object* x_27;
+x_26 = l_Lean_Parser_ParserState_next(x_2, x_4, x_15);
+lean_dec(x_15);
+x_27 = l_Lean_Parser_hexNumberFn(x_5, x_1, x_26);
+return x_27;
+}
+}
+}
+else
+{
+lean_object* x_32; lean_object* x_33;
+x_32 = l_Lean_Parser_ParserState_next(x_2, x_4, x_15);
+lean_dec(x_15);
+x_33 = l_Lean_Parser_octalNumberFn(x_5, x_1, x_32);
+return x_33;
+}
+}
+block_50:
+{
+if (x_36 == 0)
+{
+uint32_t x_37; uint8_t x_38;
+x_37 = 66;
+x_38 = x_16 == x_37;
+if (x_38 == 0)
+{
+uint32_t x_39; uint8_t x_40;
+x_39 = 111;
+x_40 = x_16 == x_39;
if (x_40 == 0)
{
-uint8_t x_41;
-x_41 = 0;
-x_22 = x_41;
-goto block_39;
+uint32_t x_41; uint8_t x_42;
+x_41 = 79;
+x_42 = x_16 == x_41;
+if (x_42 == 0)
+{
+uint8_t x_43;
+x_43 = 0;
+x_17 = x_43;
+goto block_34;
}
else
{
-uint8_t x_42;
-x_42 = 1;
-x_22 = x_42;
-goto block_39;
+uint8_t x_44;
+x_44 = 1;
+x_17 = x_44;
+goto block_34;
}
-block_39:
-{
-if (x_22 == 0)
-{
-uint32_t x_23; uint8_t x_24;
-x_23 = 79;
-x_24 = x_16 == x_23;
-if (x_24 == 0)
-{
-uint32_t x_25; uint8_t x_26;
-x_25 = 120;
-x_26 = x_16 == x_25;
-if (x_26 == 0)
-{
-uint32_t x_27; uint8_t x_28;
-x_27 = 88;
-x_28 = x_16 == x_27;
-if (x_28 == 0)
-{
-lean_object* x_29; lean_object* x_30;
-x_29 = l_Lean_Parser_ParserState_setPos(x_2, x_15);
-x_30 = l_Lean_Parser_decimalNumberFn(x_5, x_1, x_29);
-return x_30;
}
else
{
-lean_object* x_31; lean_object* x_32;
-x_31 = l_Lean_Parser_ParserState_next(x_2, x_4, x_15);
+uint8_t x_45;
+x_45 = 1;
+x_17 = x_45;
+goto block_34;
+}
+}
+else
+{
+lean_object* x_46; lean_object* x_47;
+x_46 = l_Lean_Parser_ParserState_next(x_2, x_4, x_15);
lean_dec(x_15);
-x_32 = l_Lean_Parser_hexNumberFn(x_5, x_1, x_31);
-return x_32;
+x_47 = l_Lean_Parser_binNumberFn(x_5, x_1, x_46);
+return x_47;
}
}
else
{
-lean_object* x_33; lean_object* x_34;
-x_33 = l_Lean_Parser_ParserState_next(x_2, x_4, x_15);
+lean_object* x_48; lean_object* x_49;
+x_48 = l_Lean_Parser_ParserState_next(x_2, x_4, x_15);
lean_dec(x_15);
-x_34 = l_Lean_Parser_hexNumberFn(x_5, x_1, x_33);
-return x_34;
+x_49 = l_Lean_Parser_binNumberFn(x_5, x_1, x_48);
+return x_49;
+}
+}
+}
}
}
else
{
-lean_object* x_35; lean_object* x_36;
-x_35 = l_Lean_Parser_ParserState_next(x_2, x_4, x_15);
-lean_dec(x_15);
-x_36 = l_Lean_Parser_octalNumberFn(x_5, x_1, x_35);
-return x_36;
-}
-}
-else
-{
-lean_object* x_37; lean_object* x_38;
-x_37 = l_Lean_Parser_ParserState_next(x_2, x_4, x_15);
-lean_dec(x_15);
-x_38 = l_Lean_Parser_octalNumberFn(x_5, x_1, x_37);
-return x_38;
-}
-}
-}
-else
-{
-lean_object* x_43; lean_object* x_44;
-x_43 = l_Lean_Parser_ParserState_next(x_2, x_4, x_15);
-lean_dec(x_15);
-x_44 = l_Lean_Parser_binNumberFn(x_5, x_1, x_43);
-return x_44;
-}
-}
-else
-{
-lean_object* x_45; lean_object* x_46;
-x_45 = l_Lean_Parser_ParserState_next(x_2, x_4, x_15);
-lean_dec(x_15);
-x_46 = l_Lean_Parser_binNumberFn(x_5, x_1, x_45);
-return x_46;
-}
-}
-}
-else
-{
-lean_object* x_47; lean_object* x_48;
+lean_object* x_58; lean_object* x_59;
lean_dec(x_5);
-x_47 = l_Lean_Parser_ParserState_mkEOIError___closed__1;
-x_48 = l_Lean_Parser_ParserState_mkUnexpectedError(x_2, x_47);
-return x_48;
+x_58 = l_Lean_Parser_ParserState_mkEOIError___closed__1;
+x_59 = l_Lean_Parser_ParserState_mkUnexpectedError(x_2, x_58);
+return x_59;
}
}
}
@@ -8706,7 +9120,38 @@ x_4 = lean_box(x_3);
return x_4;
}
}
-uint8_t l___private_Lean_Parser_Basic_4__isToken(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_isToken_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+if (lean_obj_tag(x_1) == 0)
+{
+lean_object* x_4; lean_object* x_5;
+lean_dec(x_3);
+x_4 = lean_box(0);
+x_5 = lean_apply_1(x_2, x_4);
+return x_5;
+}
+else
+{
+lean_object* x_6; lean_object* x_7;
+lean_dec(x_2);
+x_6 = lean_ctor_get(x_1, 0);
+lean_inc(x_6);
+lean_dec(x_1);
+x_7 = lean_apply_1(x_3, x_6);
+return x_7;
+}
+}
+}
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_isToken_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l___private_Lean_Parser_Basic_0__Lean_Parser_isToken_match__1___rarg), 3, 0);
+return x_2;
+}
+}
+uint8_t l___private_Lean_Parser_Basic_0__Lean_Parser_isToken(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
if (lean_obj_tag(x_3) == 0)
@@ -8728,11 +9173,11 @@ return x_8;
}
}
}
-lean_object* l___private_Lean_Parser_Basic_4__isToken___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_isToken___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
uint8_t x_4; lean_object* x_5;
-x_4 = l___private_Lean_Parser_Basic_4__isToken(x_1, x_2, x_3);
+x_4 = l___private_Lean_Parser_Basic_0__Lean_Parser_isToken(x_1, x_2, x_3);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
@@ -8740,6 +9185,37 @@ x_5 = lean_box(x_4);
return x_5;
}
}
+lean_object* l_Lean_Parser_mkTokenAndFixPos_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+if (lean_obj_tag(x_1) == 0)
+{
+lean_object* x_4; lean_object* x_5;
+lean_dec(x_3);
+x_4 = lean_box(0);
+x_5 = lean_apply_1(x_2, x_4);
+return x_5;
+}
+else
+{
+lean_object* x_6; lean_object* x_7;
+lean_dec(x_2);
+x_6 = lean_ctor_get(x_1, 0);
+lean_inc(x_6);
+lean_dec(x_1);
+x_7 = lean_apply_1(x_3, x_6);
+return x_7;
+}
+}
+}
+lean_object* l_Lean_Parser_mkTokenAndFixPos_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_mkTokenAndFixPos_match__1___rarg), 3, 0);
+return x_2;
+}
+}
static lean_object* _init_l_Lean_Parser_mkTokenAndFixPos___closed__1() {
_start:
{
@@ -8796,7 +9272,7 @@ x_14 = lean_nat_add(x_1, x_13);
lean_dec(x_13);
lean_inc(x_14);
x_15 = l_Lean_Parser_ParserState_setPos(x_4, x_14);
-x_16 = l_Lean_Parser_whitespace___main(x_3, x_15);
+x_16 = l_Lean_Parser_whitespace(x_3, x_15);
lean_dec(x_3);
x_17 = lean_ctor_get(x_16, 1);
lean_inc(x_17);
@@ -8839,7 +9315,7 @@ x_28 = lean_nat_add(x_1, x_27);
lean_dec(x_27);
lean_inc(x_28);
x_29 = l_Lean_Parser_ParserState_setPos(x_4, x_28);
-x_30 = l_Lean_Parser_whitespace___main(x_3, x_29);
+x_30 = l_Lean_Parser_whitespace(x_3, x_29);
lean_dec(x_3);
x_31 = lean_ctor_get(x_30, 1);
lean_inc(x_31);
@@ -8898,7 +9374,7 @@ x_48 = lean_nat_add(x_1, x_47);
lean_dec(x_47);
lean_inc(x_48);
x_49 = l_Lean_Parser_ParserState_setPos(x_4, x_48);
-x_50 = l_Lean_Parser_whitespace___main(x_3, x_49);
+x_50 = l_Lean_Parser_whitespace(x_3, x_49);
lean_dec(x_3);
x_51 = lean_ctor_get(x_50, 1);
lean_inc(x_51);
@@ -8960,7 +9436,7 @@ x_66 = lean_nat_add(x_1, x_65);
lean_dec(x_65);
lean_inc(x_66);
x_67 = l_Lean_Parser_ParserState_setPos(x_4, x_66);
-x_68 = l_Lean_Parser_whitespace___main(x_3, x_67);
+x_68 = l_Lean_Parser_whitespace(x_3, x_67);
lean_dec(x_3);
x_69 = lean_ctor_get(x_68, 1);
lean_inc(x_69);
@@ -9031,7 +9507,7 @@ x_86 = lean_nat_add(x_1, x_85);
lean_dec(x_85);
lean_inc(x_86);
x_87 = l_Lean_Parser_ParserState_setPos(x_4, x_86);
-x_88 = l_Lean_Parser_whitespace___main(x_3, x_87);
+x_88 = l_Lean_Parser_whitespace(x_3, x_87);
lean_dec(x_3);
x_89 = lean_ctor_get(x_88, 1);
lean_inc(x_89);
@@ -9080,7 +9556,7 @@ _start:
lean_object* x_6; uint8_t x_7;
x_6 = lean_ctor_get(x_5, 1);
lean_inc(x_6);
-x_7 = l___private_Lean_Parser_Basic_4__isToken(x_1, x_6, x_2);
+x_7 = l___private_Lean_Parser_Basic_0__Lean_Parser_isToken(x_1, x_6, x_2);
if (x_7 == 0)
{
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; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
@@ -9097,7 +9573,7 @@ x_10 = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(x_10, 0, x_9);
lean_ctor_set(x_10, 1, x_1);
lean_ctor_set(x_10, 2, x_6);
-x_11 = l_Lean_Parser_whitespace___main(x_4, x_5);
+x_11 = l_Lean_Parser_whitespace(x_4, x_5);
lean_dec(x_4);
x_12 = lean_ctor_get(x_11, 1);
lean_inc(x_12);
@@ -9140,128 +9616,23 @@ return x_22;
}
}
}
-lean_object* l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_identFnAux___main___spec__2(lean_object* x_1, lean_object* x_2) {
+static lean_object* _init_l_Lean_Parser_identFnAux_parse___closed__1() {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6;
-x_3 = lean_ctor_get(x_2, 1);
-lean_inc(x_3);
-x_4 = lean_ctor_get(x_1, 0);
-x_5 = lean_ctor_get(x_4, 0);
-x_6 = lean_string_utf8_at_end(x_5, x_3);
-if (x_6 == 0)
-{
-uint32_t x_7; uint8_t x_8;
-x_7 = lean_string_utf8_get(x_5, x_3);
-x_8 = l_Lean_isIdRest(x_7);
-if (x_8 == 0)
-{
-lean_dec(x_3);
-return x_2;
-}
-else
-{
-lean_object* x_9;
-x_9 = l_Lean_Parser_ParserState_next(x_2, x_5, x_3);
-lean_dec(x_3);
-x_2 = x_9;
-goto _start;
+lean_object* x_1;
+x_1 = lean_alloc_closure((void*)(l_Lean_isIdRest___boxed), 1, 0);
+return x_1;
}
}
-else
-{
-lean_dec(x_3);
-return x_2;
-}
-}
-}
-lean_object* l_Lean_Parser_takeWhileFn___at_Lean_Parser_identFnAux___main___spec__1(lean_object* x_1, lean_object* x_2) {
+static lean_object* _init_l_Lean_Parser_identFnAux_parse___closed__2() {
_start:
{
-lean_object* x_3;
-x_3 = l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_identFnAux___main___spec__2(x_1, x_2);
-return x_3;
+lean_object* x_1;
+x_1 = lean_alloc_closure((void*)(l_Lean_isIdEndEscape___boxed), 1, 0);
+return x_1;
}
}
-lean_object* l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_identFnAux___main___spec__3(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6;
-x_3 = lean_ctor_get(x_2, 1);
-lean_inc(x_3);
-x_4 = lean_ctor_get(x_1, 0);
-x_5 = lean_ctor_get(x_4, 0);
-x_6 = lean_string_utf8_at_end(x_5, x_3);
-if (x_6 == 0)
-{
-uint32_t x_7; uint32_t x_8; uint8_t x_9;
-x_7 = lean_string_utf8_get(x_5, x_3);
-x_8 = l_Lean_idEndEscape;
-x_9 = x_7 == x_8;
-if (x_9 == 0)
-{
-lean_object* x_10;
-x_10 = l_Lean_Parser_ParserState_next(x_2, x_5, x_3);
-lean_dec(x_3);
-x_2 = x_10;
-goto _start;
-}
-else
-{
-lean_dec(x_3);
-return x_2;
-}
-}
-else
-{
-lean_dec(x_3);
-return x_2;
-}
-}
-}
-lean_object* l_Lean_Parser_satisfyFn___at_Lean_Parser_identFnAux___main___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4; lean_object* x_5; lean_object* x_6; uint8_t x_7;
-x_4 = lean_ctor_get(x_3, 1);
-lean_inc(x_4);
-x_5 = lean_ctor_get(x_2, 0);
-x_6 = lean_ctor_get(x_5, 0);
-x_7 = lean_string_utf8_at_end(x_6, x_4);
-if (x_7 == 0)
-{
-uint32_t x_8; uint32_t x_9; uint8_t x_10;
-x_8 = lean_string_utf8_get(x_6, x_4);
-x_9 = l_Lean_idEndEscape;
-x_10 = x_8 == x_9;
-if (x_10 == 0)
-{
-lean_object* x_11;
-lean_dec(x_4);
-x_11 = l_Lean_Parser_ParserState_mkUnexpectedError(x_3, x_1);
-return x_11;
-}
-else
-{
-lean_object* x_12;
-lean_dec(x_1);
-x_12 = l_Lean_Parser_ParserState_next(x_3, x_6, x_4);
-lean_dec(x_4);
-return x_12;
-}
-}
-else
-{
-lean_object* x_13; lean_object* x_14;
-lean_dec(x_4);
-lean_dec(x_1);
-x_13 = l_Lean_Parser_ParserState_mkEOIError___closed__1;
-x_14 = l_Lean_Parser_ParserState_mkUnexpectedError(x_3, x_13);
-return x_14;
-}
-}
-}
-static lean_object* _init_l_Lean_Parser_identFnAux___main___closed__1() {
+static lean_object* _init_l_Lean_Parser_identFnAux_parse___closed__3() {
_start:
{
lean_object* x_1;
@@ -9269,7 +9640,7 @@ x_1 = lean_mk_string("missing end of escaped identifier");
return x_1;
}
}
-lean_object* l_Lean_Parser_identFnAux___main(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
+lean_object* l_Lean_Parser_identFnAux_parse(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
lean_object* x_6; lean_object* x_7; lean_object* x_8; uint8_t x_9;
@@ -9302,151 +9673,117 @@ return x_14;
}
else
{
-lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20;
+lean_object* x_15; 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_15 = l_Lean_Parser_ParserState_next(x_5, x_7, x_8);
-x_16 = l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_identFnAux___main___spec__2(x_4, x_15);
-x_17 = lean_ctor_get(x_16, 1);
-lean_inc(x_17);
-x_18 = lean_string_utf8_extract(x_7, x_8, x_17);
+x_16 = l_Lean_Parser_identFnAux_parse___closed__1;
+x_17 = l_Lean_Parser_takeWhileFn(x_16, x_4, x_15);
+x_18 = lean_ctor_get(x_17, 1);
+lean_inc(x_18);
+x_19 = lean_string_utf8_extract(x_7, x_8, x_18);
lean_dec(x_8);
-x_19 = lean_name_mk_string(x_3, x_18);
-x_20 = l_Lean_Parser_isIdCont(x_7, x_16);
-if (x_20 == 0)
-{
-lean_object* x_21;
-lean_dec(x_17);
-lean_dec(x_7);
-x_21 = l_Lean_Parser_mkIdResult(x_1, x_2, x_19, x_4, x_16);
-return x_21;
-}
-else
+x_20 = lean_name_mk_string(x_3, x_19);
+x_21 = l_Lean_Parser_isIdCont(x_7, x_17);
+if (x_21 == 0)
{
lean_object* x_22;
-x_22 = l_Lean_Parser_ParserState_next(x_16, x_7, x_17);
-lean_dec(x_17);
+lean_dec(x_18);
lean_dec(x_7);
-x_3 = x_19;
-x_5 = x_22;
+x_22 = l_Lean_Parser_mkIdResult(x_1, x_2, x_20, x_4, x_17);
+return x_22;
+}
+else
+{
+lean_object* x_23;
+x_23 = l_Lean_Parser_ParserState_next(x_17, x_7, x_18);
+lean_dec(x_18);
+lean_dec(x_7);
+x_3 = x_20;
+x_5 = x_23;
goto _start;
}
}
}
else
{
-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;
-x_24 = lean_string_utf8_next(x_7, x_8);
+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;
+x_25 = lean_string_utf8_next(x_7, x_8);
lean_dec(x_8);
-lean_inc(x_24);
-x_25 = l_Lean_Parser_ParserState_setPos(x_5, x_24);
-x_26 = l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_identFnAux___main___spec__3(x_4, x_25);
-x_27 = lean_ctor_get(x_26, 1);
-lean_inc(x_27);
-x_28 = l_Lean_Parser_identFnAux___main___closed__1;
-x_29 = l_Lean_Parser_satisfyFn___at_Lean_Parser_identFnAux___main___spec__4(x_28, x_4, x_26);
-x_30 = lean_ctor_get(x_29, 3);
-lean_inc(x_30);
-if (lean_obj_tag(x_30) == 0)
+lean_inc(x_25);
+x_26 = l_Lean_Parser_ParserState_setPos(x_5, x_25);
+x_27 = l_Lean_Parser_identFnAux_parse___closed__2;
+x_28 = l_Lean_Parser_takeUntilFn(x_27, x_4, x_26);
+x_29 = lean_ctor_get(x_28, 1);
+lean_inc(x_29);
+x_30 = l_Lean_Parser_identFnAux_parse___closed__3;
+x_31 = l_Lean_Parser_satisfyFn(x_27, x_30, x_4, x_28);
+x_32 = lean_ctor_get(x_31, 3);
+lean_inc(x_32);
+if (lean_obj_tag(x_32) == 0)
{
-lean_object* x_31; lean_object* x_32; uint8_t x_33;
-x_31 = lean_string_utf8_extract(x_7, x_24, x_27);
-lean_dec(x_27);
-lean_dec(x_24);
-x_32 = lean_name_mk_string(x_3, x_31);
-x_33 = l_Lean_Parser_isIdCont(x_7, x_29);
-if (x_33 == 0)
+lean_object* x_33; lean_object* x_34; uint8_t x_35;
+x_33 = lean_string_utf8_extract(x_7, x_25, x_29);
+lean_dec(x_29);
+lean_dec(x_25);
+x_34 = lean_name_mk_string(x_3, x_33);
+x_35 = l_Lean_Parser_isIdCont(x_7, x_31);
+if (x_35 == 0)
{
-lean_object* x_34;
+lean_object* x_36;
lean_dec(x_7);
-x_34 = l_Lean_Parser_mkIdResult(x_1, x_2, x_32, x_4, x_29);
-return x_34;
+x_36 = l_Lean_Parser_mkIdResult(x_1, x_2, x_34, x_4, x_31);
+return x_36;
}
else
{
-lean_object* x_35; lean_object* x_36;
-x_35 = lean_ctor_get(x_29, 1);
-lean_inc(x_35);
-x_36 = l_Lean_Parser_ParserState_next(x_29, x_7, x_35);
-lean_dec(x_35);
+lean_object* x_37; lean_object* x_38;
+x_37 = lean_ctor_get(x_31, 1);
+lean_inc(x_37);
+x_38 = l_Lean_Parser_ParserState_next(x_31, x_7, x_37);
+lean_dec(x_37);
lean_dec(x_7);
-x_3 = x_32;
-x_5 = x_36;
+x_3 = x_34;
+x_5 = x_38;
goto _start;
}
}
else
{
-lean_dec(x_30);
-lean_dec(x_27);
-lean_dec(x_24);
+lean_dec(x_32);
+lean_dec(x_29);
+lean_dec(x_25);
lean_dec(x_7);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-return x_29;
+return x_31;
}
}
}
else
{
-lean_object* x_38; lean_object* x_39;
+lean_object* x_40; lean_object* x_41;
lean_dec(x_8);
lean_dec(x_7);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
-x_38 = l_Lean_Parser_ParserState_mkEOIError___closed__1;
-x_39 = l_Lean_Parser_ParserState_mkUnexpectedError(x_5, x_38);
-return x_39;
+x_40 = l_Lean_Parser_ParserState_mkEOIError___closed__1;
+x_41 = l_Lean_Parser_ParserState_mkUnexpectedError(x_5, x_40);
+return x_41;
}
}
}
-lean_object* l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_identFnAux___main___spec__2___boxed(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3;
-x_3 = l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_identFnAux___main___spec__2(x_1, x_2);
-lean_dec(x_1);
-return x_3;
-}
-}
-lean_object* l_Lean_Parser_takeWhileFn___at_Lean_Parser_identFnAux___main___spec__1___boxed(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3;
-x_3 = l_Lean_Parser_takeWhileFn___at_Lean_Parser_identFnAux___main___spec__1(x_1, x_2);
-lean_dec(x_1);
-return x_3;
-}
-}
-lean_object* l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_identFnAux___main___spec__3___boxed(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3;
-x_3 = l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_identFnAux___main___spec__3(x_1, x_2);
-lean_dec(x_1);
-return x_3;
-}
-}
-lean_object* l_Lean_Parser_satisfyFn___at_Lean_Parser_identFnAux___main___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4;
-x_4 = l_Lean_Parser_satisfyFn___at_Lean_Parser_identFnAux___main___spec__4(x_1, x_2, x_3);
-lean_dec(x_2);
-return x_4;
-}
-}
lean_object* l_Lean_Parser_identFnAux(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
lean_object* x_6;
-x_6 = l_Lean_Parser_identFnAux___main(x_1, x_2, x_3, x_4, x_5);
+x_6 = l_Lean_Parser_identFnAux_parse(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
}
-uint8_t l___private_Lean_Parser_Basic_5__isIdFirstOrBeginEscape(uint32_t x_1) {
+uint8_t l___private_Lean_Parser_Basic_0__Lean_Parser_isIdFirstOrBeginEscape(uint32_t x_1) {
_start:
{
uint8_t x_2;
@@ -9466,18 +9803,54 @@ return x_5;
}
}
}
-lean_object* l___private_Lean_Parser_Basic_5__isIdFirstOrBeginEscape___boxed(lean_object* x_1) {
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_isIdFirstOrBeginEscape___boxed(lean_object* x_1) {
_start:
{
uint32_t x_2; uint8_t x_3; lean_object* x_4;
x_2 = lean_unbox_uint32(x_1);
lean_dec(x_1);
-x_3 = l___private_Lean_Parser_Basic_5__isIdFirstOrBeginEscape(x_2);
+x_3 = l___private_Lean_Parser_Basic_0__Lean_Parser_isIdFirstOrBeginEscape(x_2);
x_4 = lean_box(x_3);
return x_4;
}
}
-static lean_object* _init_l___private_Lean_Parser_Basic_6__nameLitAux___closed__1() {
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_nameLitAux_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+if (lean_obj_tag(x_1) == 3)
+{
+lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8;
+lean_dec(x_3);
+x_4 = lean_ctor_get(x_1, 0);
+lean_inc(x_4);
+x_5 = lean_ctor_get(x_1, 1);
+lean_inc(x_5);
+x_6 = lean_ctor_get(x_1, 2);
+lean_inc(x_6);
+x_7 = lean_ctor_get(x_1, 3);
+lean_inc(x_7);
+lean_dec(x_1);
+x_8 = lean_apply_4(x_2, x_4, x_5, x_6, x_7);
+return x_8;
+}
+else
+{
+lean_object* x_9;
+lean_dec(x_2);
+x_9 = lean_apply_1(x_3, x_1);
+return x_9;
+}
+}
+}
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_nameLitAux_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l___private_Lean_Parser_Basic_0__Lean_Parser_nameLitAux_match__1___rarg), 3, 0);
+return x_2;
+}
+}
+static lean_object* _init_l___private_Lean_Parser_Basic_0__Lean_Parser_nameLitAux___closed__1() {
_start:
{
lean_object* x_1;
@@ -9485,7 +9858,7 @@ x_1 = lean_mk_string("invalid Name literal");
return x_1;
}
}
-lean_object* l___private_Lean_Parser_Basic_6__nameLitAux(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_nameLitAux(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
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;
@@ -9499,7 +9872,7 @@ x_7 = l_Lean_Parser_ParserState_next(x_3, x_5, x_1);
lean_dec(x_5);
x_8 = lean_box(0);
lean_inc(x_1);
-x_9 = l_Lean_Parser_identFnAux___main(x_1, x_6, x_8, x_2, x_7);
+x_9 = l_Lean_Parser_identFnAux_parse(x_1, x_6, x_8, x_2, x_7);
x_10 = lean_ctor_get(x_9, 3);
lean_inc(x_10);
if (lean_obj_tag(x_10) == 0)
@@ -9542,7 +9915,7 @@ else
{
lean_object* x_25; lean_object* x_26;
lean_dec(x_12);
-x_25 = l___private_Lean_Parser_Basic_6__nameLitAux___closed__1;
+x_25 = l___private_Lean_Parser_Basic_0__Lean_Parser_nameLitAux___closed__1;
x_26 = l_Lean_Parser_ParserState_mkError(x_9, x_25);
return x_26;
}
@@ -9551,16 +9924,37 @@ else
{
lean_object* x_27; lean_object* x_28;
lean_dec(x_10);
-x_27 = l___private_Lean_Parser_Basic_6__nameLitAux___closed__1;
+x_27 = l___private_Lean_Parser_Basic_0__Lean_Parser_nameLitAux___closed__1;
x_28 = l_Lean_Parser_ParserState_mkErrorAt(x_9, x_27, x_1);
return x_28;
}
}
}
-lean_object* l___private_Lean_Parser_Basic_7__tokenFnAux(lean_object* x_1, lean_object* x_2) {
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_tokenFnAux_match__1___rarg(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; uint32_t x_6; uint32_t x_7; uint8_t x_8;
+lean_object* x_3; lean_object* x_4; lean_object* x_5;
+x_3 = lean_ctor_get(x_1, 0);
+lean_inc(x_3);
+x_4 = lean_ctor_get(x_1, 1);
+lean_inc(x_4);
+lean_dec(x_1);
+x_5 = lean_apply_2(x_2, x_3, x_4);
+return x_5;
+}
+}
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_tokenFnAux_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l___private_Lean_Parser_Basic_0__Lean_Parser_tokenFnAux_match__1___rarg), 2, 0);
+return x_2;
+}
+}
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_tokenFnAux(lean_object* x_1, lean_object* x_2) {
+_start:
+{
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint32_t x_6; uint32_t x_7; uint8_t x_8; uint8_t x_37;
x_3 = lean_ctor_get(x_1, 0);
lean_inc(x_3);
x_4 = lean_ctor_get(x_3, 0);
@@ -9570,7 +9964,23 @@ x_5 = lean_ctor_get(x_2, 1);
lean_inc(x_5);
x_6 = lean_string_utf8_get(x_4, x_5);
x_7 = 34;
-x_8 = x_6 == x_7;
+x_37 = x_6 == x_7;
+if (x_37 == 0)
+{
+uint8_t x_38;
+x_38 = 0;
+x_8 = x_38;
+goto block_36;
+}
+else
+{
+uint8_t x_39;
+x_39 = 1;
+x_8 = x_39;
+goto block_36;
+}
+block_36:
+{
if (x_8 == 0)
{
uint32_t x_9; uint8_t x_10; uint8_t x_31;
@@ -9613,14 +10023,14 @@ x_16 = lean_ctor_get(x_15, 1);
lean_inc(x_16);
lean_dec(x_15);
x_17 = lean_box(0);
-x_18 = l_Lean_Parser_identFnAux___main(x_5, x_16, x_17, x_1, x_2);
+x_18 = l_Lean_Parser_identFnAux_parse(x_5, x_16, x_17, x_1, x_2);
return x_18;
}
else
{
uint32_t x_19; uint8_t x_20;
x_19 = l_Lean_Parser_getNext(x_4, x_5);
-x_20 = l___private_Lean_Parser_Basic_5__isIdFirstOrBeginEscape(x_19);
+x_20 = l___private_Lean_Parser_Basic_0__Lean_Parser_isIdFirstOrBeginEscape(x_19);
if (x_20 == 0)
{
lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25;
@@ -9633,14 +10043,14 @@ x_23 = lean_ctor_get(x_22, 1);
lean_inc(x_23);
lean_dec(x_22);
x_24 = lean_box(0);
-x_25 = l_Lean_Parser_identFnAux___main(x_5, x_23, x_24, x_1, x_2);
+x_25 = l_Lean_Parser_identFnAux_parse(x_5, x_23, x_24, x_1, x_2);
return x_25;
}
else
{
lean_object* x_26;
lean_dec(x_4);
-x_26 = l___private_Lean_Parser_Basic_6__nameLitAux(x_5, x_1, x_2);
+x_26 = l___private_Lean_Parser_Basic_0__Lean_Parser_nameLitAux(x_5, x_1, x_2);
return x_26;
}
}
@@ -9671,13 +10081,52 @@ else
lean_object* x_34; lean_object* x_35;
x_34 = l_Lean_Parser_ParserState_next(x_2, x_4, x_5);
lean_dec(x_4);
-x_35 = l_Lean_Parser_strLitFnAux___main(x_5, x_1, x_34);
+x_35 = l_Lean_Parser_strLitFnAux(x_5, x_1, x_34);
lean_dec(x_1);
return x_35;
}
}
}
-lean_object* l___private_Lean_Parser_Basic_8__updateCache(lean_object* x_1, lean_object* x_2) {
+}
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_updateCache_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+lean_object* x_4;
+x_4 = lean_ctor_get(x_1, 3);
+lean_inc(x_4);
+if (lean_obj_tag(x_4) == 0)
+{
+lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8;
+lean_dec(x_3);
+x_5 = lean_ctor_get(x_1, 0);
+lean_inc(x_5);
+x_6 = lean_ctor_get(x_1, 1);
+lean_inc(x_6);
+x_7 = lean_ctor_get(x_1, 2);
+lean_inc(x_7);
+lean_dec(x_1);
+x_8 = lean_apply_3(x_2, x_5, x_6, x_7);
+return x_8;
+}
+else
+{
+lean_object* x_9;
+lean_dec(x_4);
+lean_dec(x_2);
+x_9 = lean_apply_1(x_3, x_1);
+return x_9;
+}
+}
+}
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_updateCache_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l___private_Lean_Parser_Basic_0__Lean_Parser_updateCache_match__1___rarg), 3, 0);
+return x_2;
+}
+}
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_updateCache(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
@@ -9700,7 +10149,7 @@ uint8_t x_9;
x_9 = !lean_is_exclusive(x_2);
if (x_9 == 0)
{
-lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15;
+lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
x_10 = lean_ctor_get(x_2, 3);
lean_dec(x_10);
x_11 = lean_ctor_get(x_2, 2);
@@ -9715,25 +10164,28 @@ x_15 = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(x_15, 0, x_1);
lean_ctor_set(x_15, 1, x_5);
lean_ctor_set(x_15, 2, x_14);
+x_16 = lean_box(0);
+lean_ctor_set(x_2, 3, x_16);
lean_ctor_set(x_2, 2, x_15);
return x_2;
}
else
{
-lean_object* x_16; lean_object* x_17; lean_object* x_18;
+lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
lean_dec(x_2);
-x_16 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_4);
+x_17 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_4);
lean_inc(x_5);
-x_17 = lean_alloc_ctor(0, 3, 0);
-lean_ctor_set(x_17, 0, x_1);
-lean_ctor_set(x_17, 1, x_5);
-lean_ctor_set(x_17, 2, x_16);
-x_18 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_18, 0, x_4);
+x_18 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_18, 0, x_1);
lean_ctor_set(x_18, 1, x_5);
lean_ctor_set(x_18, 2, x_17);
-lean_ctor_set(x_18, 3, x_3);
-return x_18;
+x_19 = lean_box(0);
+x_20 = lean_alloc_ctor(0, 4, 0);
+lean_ctor_set(x_20, 0, x_4);
+lean_ctor_set(x_20, 1, x_5);
+lean_ctor_set(x_20, 2, x_18);
+lean_ctor_set(x_20, 3, x_19);
+return x_20;
}
}
else
@@ -9778,8 +10230,8 @@ if (x_9 == 0)
{
lean_object* x_10; lean_object* x_11;
lean_dec(x_7);
-x_10 = l___private_Lean_Parser_Basic_7__tokenFnAux(x_1, x_2);
-x_11 = l___private_Lean_Parser_Basic_8__updateCache(x_5, x_10);
+x_10 = l___private_Lean_Parser_Basic_0__Lean_Parser_tokenFnAux(x_1, x_2);
+x_11 = l___private_Lean_Parser_Basic_0__Lean_Parser_updateCache(x_5, x_10);
return x_11;
}
else
@@ -9905,7 +10357,7 @@ if (x_6 == 0)
lean_object* x_7; lean_object* x_8; lean_object* x_9;
x_7 = lean_box(0);
x_8 = lean_box(0);
-x_9 = l_Lean_Parser_identFnAux___main(x_5, x_7, x_8, x_1, x_2);
+x_9 = l_Lean_Parser_identFnAux_parse(x_5, x_7, x_8, x_1, x_2);
return x_9;
}
else
@@ -9919,6 +10371,38 @@ return x_11;
}
}
}
+lean_object* l_Lean_Parser_satisfySymbolFn_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+if (lean_obj_tag(x_1) == 2)
+{
+lean_object* x_4; lean_object* x_5; lean_object* x_6;
+lean_dec(x_3);
+x_4 = lean_ctor_get(x_1, 0);
+lean_inc(x_4);
+x_5 = lean_ctor_get(x_1, 1);
+lean_inc(x_5);
+lean_dec(x_1);
+x_6 = lean_apply_2(x_2, x_4, x_5);
+return x_6;
+}
+else
+{
+lean_object* x_7;
+lean_dec(x_2);
+x_7 = lean_apply_1(x_3, x_1);
+return x_7;
+}
+}
+}
+lean_object* l_Lean_Parser_satisfySymbolFn_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_satisfySymbolFn_match__1___rarg), 3, 0);
+return x_2;
+}
+}
lean_object* l_Lean_Parser_satisfySymbolFn(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
@@ -10101,62 +10585,12 @@ return x_2;
lean_object* l_Lean_Parser_symbolFn(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
-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_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
x_4 = l_Char_HasRepr___closed__1;
x_5 = lean_string_append(x_4, x_1);
x_6 = lean_string_append(x_5, 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_ctor_get(x_3, 1);
-lean_inc(x_9);
-x_10 = l_Lean_Parser_tokenFn(x_2, x_3);
-x_11 = lean_ctor_get(x_10, 3);
-lean_inc(x_11);
-if (lean_obj_tag(x_11) == 0)
-{
-lean_object* x_12; lean_object* x_13;
-x_12 = lean_ctor_get(x_10, 0);
-lean_inc(x_12);
-x_13 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_12);
-lean_dec(x_12);
-if (lean_obj_tag(x_13) == 2)
-{
-lean_object* x_14; uint8_t x_15;
-x_14 = lean_ctor_get(x_13, 1);
-lean_inc(x_14);
-lean_dec(x_13);
-x_15 = lean_string_dec_eq(x_14, x_1);
-lean_dec(x_14);
-if (x_15 == 0)
-{
-lean_object* x_16;
-x_16 = l_Lean_Parser_ParserState_mkErrorsAt(x_10, x_8, x_9);
-return x_16;
-}
-else
-{
-lean_dec(x_9);
-lean_dec(x_8);
-return x_10;
-}
-}
-else
-{
-lean_object* x_17;
-lean_dec(x_13);
-x_17 = l_Lean_Parser_ParserState_mkErrorsAt(x_10, x_8, x_9);
-return x_17;
-}
-}
-else
-{
-lean_object* x_18;
-lean_dec(x_11);
-x_18 = l_Lean_Parser_ParserState_mkErrorsAt(x_10, x_8, x_9);
-return x_18;
-}
+x_7 = l_Lean_Parser_symbolFnAux(x_1, x_6, x_2, x_3);
+return x_7;
}
}
lean_object* l_Lean_Parser_symbolFn___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
@@ -10192,16 +10626,86 @@ lean_dec(x_1);
return x_2;
}
}
+lean_object* l_Lean_Parser_nonReservedSymbolFnAux_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
+_start:
+{
+switch (lean_obj_tag(x_1)) {
+case 2:
+{
+lean_object* x_5; lean_object* x_6; lean_object* x_7;
+lean_dec(x_4);
+lean_dec(x_3);
+x_5 = lean_ctor_get(x_1, 0);
+lean_inc(x_5);
+x_6 = lean_ctor_get(x_1, 1);
+lean_inc(x_6);
+lean_dec(x_1);
+x_7 = lean_apply_2(x_2, x_5, x_6);
+return x_7;
+}
+case 3:
+{
+lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12;
+lean_dec(x_4);
+lean_dec(x_2);
+x_8 = lean_ctor_get(x_1, 0);
+lean_inc(x_8);
+x_9 = lean_ctor_get(x_1, 1);
+lean_inc(x_9);
+x_10 = lean_ctor_get(x_1, 2);
+lean_inc(x_10);
+x_11 = lean_ctor_get(x_1, 3);
+lean_inc(x_11);
+lean_dec(x_1);
+x_12 = lean_apply_4(x_3, x_8, x_9, x_10, x_11);
+return x_12;
+}
+default:
+{
+lean_object* x_13;
+lean_dec(x_3);
+lean_dec(x_2);
+x_13 = lean_apply_1(x_4, x_1);
+return x_13;
+}
+}
+}
+}
+lean_object* l_Lean_Parser_nonReservedSymbolFnAux_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbolFnAux_match__1___rarg), 4, 0);
+return x_2;
+}
+}
lean_object* l_Lean_Parser_nonReservedSymbolFnAux(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
-lean_object* x_5; lean_object* x_6; lean_object* x_7;
+lean_object* x_5; lean_object* x_6; uint8_t x_7; lean_object* x_27;
x_5 = lean_ctor_get(x_4, 1);
lean_inc(x_5);
x_6 = l_Lean_Parser_tokenFn(x_3, x_4);
-x_7 = lean_ctor_get(x_6, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
+x_27 = lean_ctor_get(x_6, 3);
+lean_inc(x_27);
+if (lean_obj_tag(x_27) == 0)
+{
+uint8_t x_28;
+x_28 = 0;
+x_7 = x_28;
+goto block_26;
+}
+else
+{
+uint8_t x_29;
+lean_dec(x_27);
+x_29 = 1;
+x_7 = x_29;
+goto block_26;
+}
+block_26:
+{
+if (x_7 == 0)
{
lean_object* x_8; lean_object* x_9;
x_8 = lean_ctor_get(x_6, 0);
@@ -10286,13 +10790,13 @@ return x_24;
else
{
lean_object* x_25;
-lean_dec(x_7);
lean_dec(x_1);
x_25 = l_Lean_Parser_ParserState_mkErrorAt(x_6, x_2, x_5);
return x_25;
}
}
}
+}
lean_object* l_Lean_Parser_nonReservedSymbolFn(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
@@ -10439,7 +10943,7 @@ lean_dec(x_1);
return x_4;
}
}
-lean_object* l_Lean_Parser_strAux___main(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
+lean_object* l_Lean_Parser_strAux_parse(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
uint8_t x_6;
@@ -10495,11 +10999,11 @@ return x_5;
}
}
}
-lean_object* l_Lean_Parser_strAux___main___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
+lean_object* l_Lean_Parser_strAux_parse___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
lean_object* x_6;
-x_6 = l_Lean_Parser_strAux___main(x_1, x_2, x_3, x_4, x_5);
+x_6 = l_Lean_Parser_strAux_parse(x_1, x_2, x_3, x_4, x_5);
lean_dec(x_4);
lean_dec(x_1);
return x_6;
@@ -10509,7 +11013,7 @@ lean_object* l_Lean_Parser_strAux(lean_object* x_1, lean_object* x_2, lean_objec
_start:
{
lean_object* x_6;
-x_6 = l_Lean_Parser_strAux___main(x_1, x_2, x_3, x_4, x_5);
+x_6 = l_Lean_Parser_strAux_parse(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
}
@@ -10523,6 +11027,58 @@ lean_dec(x_1);
return x_6;
}
}
+lean_object* l_Lean_Parser_checkTailWs_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+if (lean_obj_tag(x_1) == 0)
+{
+lean_object* x_4;
+lean_dec(x_2);
+x_4 = lean_apply_1(x_3, x_1);
+return x_4;
+}
+else
+{
+lean_object* x_5; lean_object* x_6;
+x_5 = lean_ctor_get(x_1, 0);
+lean_inc(x_5);
+x_6 = lean_ctor_get(x_5, 2);
+lean_inc(x_6);
+if (lean_obj_tag(x_6) == 0)
+{
+lean_object* x_7;
+lean_dec(x_5);
+lean_dec(x_2);
+x_7 = lean_apply_1(x_3, x_1);
+return x_7;
+}
+else
+{
+lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
+lean_dec(x_3);
+lean_dec(x_1);
+x_8 = lean_ctor_get(x_5, 0);
+lean_inc(x_8);
+x_9 = lean_ctor_get(x_5, 1);
+lean_inc(x_9);
+lean_dec(x_5);
+x_10 = lean_ctor_get(x_6, 0);
+lean_inc(x_10);
+lean_dec(x_6);
+x_11 = lean_apply_3(x_2, x_10, x_8, x_9);
+return x_11;
+}
+}
+}
+}
+lean_object* l_Lean_Parser_checkTailWs_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_checkTailWs_match__1___rarg), 3, 0);
+return x_2;
+}
+}
uint8_t l_Lean_Parser_checkTailWs(lean_object* x_1) {
_start:
{
@@ -10640,6 +11196,58 @@ lean_dec(x_2);
return x_4;
}
}
+lean_object* l_Lean_Parser_checkTailNoWs_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+if (lean_obj_tag(x_1) == 0)
+{
+lean_object* x_4;
+lean_dec(x_2);
+x_4 = lean_apply_1(x_3, x_1);
+return x_4;
+}
+else
+{
+lean_object* x_5; lean_object* x_6;
+x_5 = lean_ctor_get(x_1, 0);
+lean_inc(x_5);
+x_6 = lean_ctor_get(x_5, 2);
+lean_inc(x_6);
+if (lean_obj_tag(x_6) == 0)
+{
+lean_object* x_7;
+lean_dec(x_5);
+lean_dec(x_2);
+x_7 = lean_apply_1(x_3, x_1);
+return x_7;
+}
+else
+{
+lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
+lean_dec(x_3);
+lean_dec(x_1);
+x_8 = lean_ctor_get(x_5, 0);
+lean_inc(x_8);
+x_9 = lean_ctor_get(x_5, 1);
+lean_inc(x_9);
+lean_dec(x_5);
+x_10 = lean_ctor_get(x_6, 0);
+lean_inc(x_10);
+lean_dec(x_6);
+x_11 = lean_apply_3(x_2, x_10, x_8, x_9);
+return x_11;
+}
+}
+}
+}
+lean_object* l_Lean_Parser_checkTailNoWs_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_checkTailNoWs_match__1___rarg), 3, 0);
+return x_2;
+}
+}
uint8_t l_Lean_Parser_checkTailNoWs(lean_object* x_1) {
_start:
{
@@ -10695,7 +11303,38 @@ x_3 = lean_box(x_2);
return x_3;
}
}
-lean_object* l_Array_findRevMAux___main___at___private_Lean_Parser_Basic_9__pickNonNone___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_pickNonNone_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+if (lean_obj_tag(x_1) == 0)
+{
+lean_object* x_4; lean_object* x_5;
+lean_dec(x_3);
+x_4 = lean_box(0);
+x_5 = lean_apply_1(x_2, x_4);
+return x_5;
+}
+else
+{
+lean_object* x_6; lean_object* x_7;
+lean_dec(x_2);
+x_6 = lean_ctor_get(x_1, 0);
+lean_inc(x_6);
+lean_dec(x_1);
+x_7 = lean_apply_1(x_3, x_6);
+return x_7;
+}
+}
+}
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_pickNonNone_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l___private_Lean_Parser_Basic_0__Lean_Parser_pickNonNone_match__1___rarg), 3, 0);
+return x_2;
+}
+}
+lean_object* l_Array_findRevMAux___main___at___private_Lean_Parser_Basic_0__Lean_Parser_pickNonNone___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4; uint8_t x_5;
@@ -10734,12 +11373,12 @@ goto _start;
}
}
}
-lean_object* l___private_Lean_Parser_Basic_9__pickNonNone(lean_object* x_1) {
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_pickNonNone(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3;
x_2 = lean_array_get_size(x_1);
-x_3 = l_Array_findRevMAux___main___at___private_Lean_Parser_Basic_9__pickNonNone___spec__1(x_1, x_2, lean_box(0));
+x_3 = l_Array_findRevMAux___main___at___private_Lean_Parser_Basic_0__Lean_Parser_pickNonNone___spec__1(x_1, x_2, lean_box(0));
if (lean_obj_tag(x_3) == 0)
{
lean_object* x_4;
@@ -10756,20 +11395,20 @@ return x_5;
}
}
}
-lean_object* l_Array_findRevMAux___main___at___private_Lean_Parser_Basic_9__pickNonNone___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l_Array_findRevMAux___main___at___private_Lean_Parser_Basic_0__Lean_Parser_pickNonNone___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
-x_4 = l_Array_findRevMAux___main___at___private_Lean_Parser_Basic_9__pickNonNone___spec__1(x_1, x_2, x_3);
+x_4 = l_Array_findRevMAux___main___at___private_Lean_Parser_Basic_0__Lean_Parser_pickNonNone___spec__1(x_1, x_2, x_3);
lean_dec(x_1);
return x_4;
}
}
-lean_object* l___private_Lean_Parser_Basic_9__pickNonNone___boxed(lean_object* x_1) {
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_pickNonNone___boxed(lean_object* x_1) {
_start:
{
lean_object* x_2;
-x_2 = l___private_Lean_Parser_Basic_9__pickNonNone(x_1);
+x_2 = l___private_Lean_Parser_Basic_0__Lean_Parser_pickNonNone(x_1);
lean_dec(x_1);
return x_2;
}
@@ -10780,7 +11419,7 @@ _start:
lean_object* x_4; lean_object* x_5; uint8_t x_6;
x_4 = lean_ctor_get(x_3, 0);
lean_inc(x_4);
-x_5 = l___private_Lean_Parser_Basic_9__pickNonNone(x_4);
+x_5 = l___private_Lean_Parser_Basic_0__Lean_Parser_pickNonNone(x_4);
lean_dec(x_4);
x_6 = l_Lean_Parser_checkTailNoWs(x_5);
lean_dec(x_5);
@@ -11556,6 +12195,42 @@ x_1 = l_Lean_Parser_rawIdentNoAntiquot___closed__2;
return x_1;
}
}
+lean_object* l_Lean_Parser_identEqFn_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+if (lean_obj_tag(x_1) == 3)
+{
+lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8;
+lean_dec(x_3);
+x_4 = lean_ctor_get(x_1, 0);
+lean_inc(x_4);
+x_5 = lean_ctor_get(x_1, 1);
+lean_inc(x_5);
+x_6 = lean_ctor_get(x_1, 2);
+lean_inc(x_6);
+x_7 = lean_ctor_get(x_1, 3);
+lean_inc(x_7);
+lean_dec(x_1);
+x_8 = lean_apply_4(x_2, x_4, x_5, x_6, x_7);
+return x_8;
+}
+else
+{
+lean_object* x_9;
+lean_dec(x_2);
+x_9 = lean_apply_1(x_3, x_1);
+return x_9;
+}
+}
+}
+lean_object* l_Lean_Parser_identEqFn_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_identEqFn_match__1___rarg), 3, 0);
+return x_2;
+}
+}
static lean_object* _init_l_Lean_Parser_identEqFn___closed__1() {
_start:
{
@@ -11567,13 +12242,30 @@ return x_1;
lean_object* l_Lean_Parser_identEqFn(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
-lean_object* x_4; lean_object* x_5; lean_object* x_6;
+lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_23;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
x_5 = l_Lean_Parser_tokenFn(x_2, x_3);
-x_6 = lean_ctor_get(x_5, 3);
-lean_inc(x_6);
-if (lean_obj_tag(x_6) == 0)
+x_23 = lean_ctor_get(x_5, 3);
+lean_inc(x_23);
+if (lean_obj_tag(x_23) == 0)
+{
+uint8_t x_24;
+x_24 = 0;
+x_6 = x_24;
+goto block_22;
+}
+else
+{
+uint8_t x_25;
+lean_dec(x_23);
+x_25 = 1;
+x_6 = x_25;
+goto block_22;
+}
+block_22:
+{
+if (x_6 == 0)
{
lean_object* x_7; lean_object* x_8;
x_7 = lean_ctor_get(x_5, 0);
@@ -11621,7 +12313,6 @@ return x_19;
else
{
lean_object* x_20; lean_object* x_21;
-lean_dec(x_6);
lean_dec(x_1);
x_20 = l_Lean_Parser_identFn___closed__1;
x_21 = l_Lean_Parser_ParserState_mkErrorAt(x_5, x_20, x_4);
@@ -11629,6 +12320,7 @@ return x_21;
}
}
}
+}
lean_object* l_Lean_Parser_identEq(lean_object* x_1) {
_start:
{
@@ -11642,85 +12334,55 @@ lean_ctor_set(x_4, 1, x_2);
return x_4;
}
}
-lean_object* l_Lean_Parser_satisfyFn___at_Lean_Parser_quotedSymbolFn___spec__1(uint32_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
+uint8_t l_Lean_Parser_quotedSymbolFn___lambda__1(uint32_t x_1, uint32_t x_2) {
_start:
{
-lean_object* x_5; lean_object* x_6; lean_object* x_7; uint8_t x_8;
-x_5 = lean_ctor_get(x_4, 1);
-lean_inc(x_5);
-x_6 = lean_ctor_get(x_3, 0);
-x_7 = lean_ctor_get(x_6, 0);
-x_8 = lean_string_utf8_at_end(x_7, x_5);
-if (x_8 == 0)
-{
-uint32_t x_9; uint8_t x_10;
-x_9 = lean_string_utf8_get(x_7, x_5);
-x_10 = x_1 == x_9;
-if (x_10 == 0)
-{
-lean_object* x_11;
-lean_dec(x_5);
-x_11 = l_Lean_Parser_ParserState_mkUnexpectedError(x_4, x_2);
-return x_11;
-}
-else
-{
-lean_object* x_12;
-lean_dec(x_2);
-x_12 = l_Lean_Parser_ParserState_next(x_4, x_7, x_5);
-lean_dec(x_5);
-return x_12;
-}
-}
-else
-{
-lean_object* x_13; lean_object* x_14;
-lean_dec(x_5);
-lean_dec(x_2);
-x_13 = l_Lean_Parser_ParserState_mkEOIError___closed__1;
-x_14 = l_Lean_Parser_ParserState_mkUnexpectedError(x_4, x_13);
-return x_14;
-}
-}
-}
-lean_object* l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_quotedSymbolFn___spec__2(uint32_t x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4; lean_object* x_5; lean_object* x_6; uint8_t x_7;
-x_4 = lean_ctor_get(x_3, 1);
-lean_inc(x_4);
-x_5 = lean_ctor_get(x_2, 0);
-x_6 = lean_ctor_get(x_5, 0);
-x_7 = lean_string_utf8_at_end(x_6, x_4);
-if (x_7 == 0)
-{
-uint32_t x_8; uint8_t x_9;
-x_8 = lean_string_utf8_get(x_6, x_4);
-x_9 = x_8 == x_1;
-if (x_9 == 0)
-{
-lean_object* x_10;
-x_10 = l_Lean_Parser_ParserState_next(x_3, x_6, x_4);
-lean_dec(x_4);
-x_3 = x_10;
-goto _start;
-}
-else
-{
-lean_dec(x_4);
+uint8_t x_3;
+x_3 = x_2 == x_1;
return x_3;
}
}
-else
+static lean_object* _init_l_Lean_Parser_quotedSymbolFn___closed__1___boxed__const__1() {
+_start:
{
-lean_dec(x_4);
-return x_3;
-}
+uint32_t x_1; lean_object* x_2;
+x_1 = 96;
+x_2 = lean_box_uint32(x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_quotedSymbolFn___closed__1() {
_start:
{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_quotedSymbolFn___closed__1___boxed__const__1;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_quotedSymbolFn___lambda__1___boxed), 2, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_quotedSymbolFn___closed__2___boxed__const__1() {
+_start:
+{
+uint32_t x_1; lean_object* x_2;
+x_1 = 96;
+x_2 = lean_box_uint32(x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_quotedSymbolFn___closed__2() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_quotedSymbolFn___closed__2___boxed__const__1;
+x_2 = lean_alloc_closure((void*)(l_UInt32_decEq___boxed), 2, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_quotedSymbolFn___closed__3() {
+_start:
+{
uint32_t x_1; lean_object* x_2; lean_object* x_3;
x_1 = 96;
x_2 = l_String_splitAux___main___closed__1;
@@ -11728,21 +12390,21 @@ x_3 = lean_string_push(x_2, x_1);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_quotedSymbolFn___closed__2() {
+static lean_object* _init_l_Lean_Parser_quotedSymbolFn___closed__4() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_quotedSymbolFn___closed__1;
+x_2 = l_Lean_Parser_quotedSymbolFn___closed__3;
x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_quotedSymbolFn___closed__3() {
+static lean_object* _init_l_Lean_Parser_quotedSymbolFn___closed__5() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_quotedSymbolFn___closed__2;
+x_1 = l_Lean_Parser_quotedSymbolFn___closed__4;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
@@ -11751,126 +12413,126 @@ return x_3;
lean_object* l_Lean_Parser_quotedSymbolFn(lean_object* x_1, lean_object* x_2) {
_start:
{
-uint32_t x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
-x_3 = 96;
-x_4 = lean_ctor_get(x_2, 0);
-lean_inc(x_4);
-x_5 = lean_array_get_size(x_4);
-lean_dec(x_4);
-x_21 = lean_ctor_get(x_2, 1);
-lean_inc(x_21);
-x_22 = l_Lean_Parser_quotedSymbolFn___closed__3;
-x_23 = l_Lean_Parser_satisfyFn___at_Lean_Parser_quotedSymbolFn___spec__1(x_3, x_22, x_1, x_2);
-x_24 = lean_ctor_get(x_23, 3);
-lean_inc(x_24);
-if (lean_obj_tag(x_24) == 0)
-{
-uint8_t x_25; lean_object* x_26; lean_object* x_27;
-x_25 = 0;
-x_26 = l___private_Lean_Parser_Basic_3__rawAux(x_21, x_25, x_1, x_23);
-x_27 = lean_ctor_get(x_26, 3);
-lean_inc(x_27);
-if (lean_obj_tag(x_27) == 0)
-{
-lean_object* x_28; lean_object* x_29; lean_object* x_30;
-x_28 = lean_ctor_get(x_26, 1);
-lean_inc(x_28);
-x_29 = l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_quotedSymbolFn___spec__2(x_3, x_1, x_26);
-x_30 = lean_ctor_get(x_29, 3);
+lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_21; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34;
+x_3 = lean_ctor_get(x_2, 0);
+lean_inc(x_3);
+x_4 = lean_array_get_size(x_3);
+lean_dec(x_3);
+x_30 = lean_ctor_get(x_2, 1);
lean_inc(x_30);
-if (lean_obj_tag(x_30) == 0)
+x_31 = l_Lean_Parser_quotedSymbolFn___closed__2;
+x_32 = l_Lean_Parser_quotedSymbolFn___closed__5;
+x_33 = l_Lean_Parser_satisfyFn(x_31, x_32, x_1, x_2);
+x_34 = lean_ctor_get(x_33, 3);
+lean_inc(x_34);
+if (lean_obj_tag(x_34) == 0)
{
-lean_object* x_31;
-x_31 = l___private_Lean_Parser_Basic_3__rawAux(x_28, x_25, x_1, x_29);
-x_6 = x_31;
-goto block_20;
+uint8_t x_35; lean_object* x_36;
+x_35 = 0;
+x_36 = l___private_Lean_Parser_Basic_0__Lean_Parser_rawAux(x_30, x_35, x_1, x_33);
+x_21 = x_36;
+goto block_29;
}
else
{
+lean_dec(x_34);
lean_dec(x_30);
-lean_dec(x_28);
-x_6 = x_29;
-goto block_20;
-}
-}
-else
-{
-lean_dec(x_27);
-x_6 = x_26;
-goto block_20;
-}
-}
-else
-{
-lean_dec(x_24);
-lean_dec(x_21);
-x_6 = x_23;
-goto block_20;
+x_21 = x_33;
+goto block_29;
}
block_20:
{
-lean_object* x_7;
-x_7 = lean_ctor_get(x_6, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
+lean_object* x_6;
+x_6 = lean_ctor_get(x_5, 3);
+lean_inc(x_6);
+if (lean_obj_tag(x_6) == 0)
{
-lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
-x_8 = lean_ctor_get(x_6, 1);
-lean_inc(x_8);
-x_9 = l_Lean_Parser_quotedSymbolFn___closed__3;
-x_10 = l_Lean_Parser_satisfyFn___at_Lean_Parser_quotedSymbolFn___spec__1(x_3, x_9, x_1, x_6);
+lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
+x_7 = lean_ctor_get(x_5, 1);
+lean_inc(x_7);
+x_8 = l_Lean_Parser_quotedSymbolFn___closed__2;
+x_9 = l_Lean_Parser_quotedSymbolFn___closed__5;
+x_10 = l_Lean_Parser_satisfyFn(x_8, x_9, x_1, x_5);
x_11 = lean_ctor_get(x_10, 3);
lean_inc(x_11);
if (lean_obj_tag(x_11) == 0)
{
uint8_t x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15;
x_12 = 1;
-x_13 = l___private_Lean_Parser_Basic_3__rawAux(x_8, x_12, x_1, x_10);
+x_13 = l___private_Lean_Parser_Basic_0__Lean_Parser_rawAux(x_7, x_12, x_1, x_10);
x_14 = l_Lean_quotedSymbolKind;
-x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_5);
+x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_4);
return x_15;
}
else
{
lean_object* x_16; lean_object* x_17;
lean_dec(x_11);
-lean_dec(x_8);
+lean_dec(x_7);
x_16 = l_Lean_quotedSymbolKind;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_10, x_16, x_5);
+x_17 = l_Lean_Parser_ParserState_mkNode(x_10, x_16, x_4);
return x_17;
}
}
else
{
lean_object* x_18; lean_object* x_19;
-lean_dec(x_7);
+lean_dec(x_6);
x_18 = l_Lean_quotedSymbolKind;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_6, x_18, x_5);
+x_19 = l_Lean_Parser_ParserState_mkNode(x_5, x_18, x_4);
return x_19;
}
}
+block_29:
+{
+lean_object* x_22;
+x_22 = lean_ctor_get(x_21, 3);
+lean_inc(x_22);
+if (lean_obj_tag(x_22) == 0)
+{
+lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26;
+x_23 = lean_ctor_get(x_21, 1);
+lean_inc(x_23);
+x_24 = l_Lean_Parser_quotedSymbolFn___closed__1;
+x_25 = l_Lean_Parser_takeUntilFn(x_24, x_1, x_21);
+x_26 = lean_ctor_get(x_25, 3);
+lean_inc(x_26);
+if (lean_obj_tag(x_26) == 0)
+{
+uint8_t x_27; lean_object* x_28;
+x_27 = 0;
+x_28 = l___private_Lean_Parser_Basic_0__Lean_Parser_rawAux(x_23, x_27, x_1, x_25);
+x_5 = x_28;
+goto block_20;
+}
+else
+{
+lean_dec(x_26);
+lean_dec(x_23);
+x_5 = x_25;
+goto block_20;
}
}
-lean_object* l_Lean_Parser_satisfyFn___at_Lean_Parser_quotedSymbolFn___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
+else
+{
+lean_dec(x_22);
+x_5 = x_21;
+goto block_20;
+}
+}
+}
+}
+lean_object* l_Lean_Parser_quotedSymbolFn___lambda__1___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
-uint32_t x_5; lean_object* x_6;
-x_5 = lean_unbox_uint32(x_1);
+uint32_t x_3; uint32_t x_4; uint8_t x_5; lean_object* x_6;
+x_3 = lean_unbox_uint32(x_1);
lean_dec(x_1);
-x_6 = l_Lean_Parser_satisfyFn___at_Lean_Parser_quotedSymbolFn___spec__1(x_5, x_2, x_3, x_4);
-lean_dec(x_3);
-return x_6;
-}
-}
-lean_object* l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_quotedSymbolFn___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-uint32_t x_4; lean_object* x_5;
-x_4 = lean_unbox_uint32(x_1);
-lean_dec(x_1);
-x_5 = l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_quotedSymbolFn___spec__2(x_4, x_2, x_3);
+x_4 = lean_unbox_uint32(x_2);
lean_dec(x_2);
-return x_5;
+x_5 = l_Lean_Parser_quotedSymbolFn___lambda__1(x_3, x_4);
+x_6 = lean_box(x_5);
+return x_6;
}
}
lean_object* l_Lean_Parser_quotedSymbolFn___boxed(lean_object* x_1, lean_object* x_2) {
@@ -12049,6 +12711,31 @@ lean_dec(x_1);
return x_2;
}
}
+lean_object* l_Lean_Parser_ParserState_keepNewError_match__1___rarg(lean_object* x_1, lean_object* x_2) {
+_start:
+{
+lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
+x_3 = lean_ctor_get(x_1, 0);
+lean_inc(x_3);
+x_4 = lean_ctor_get(x_1, 1);
+lean_inc(x_4);
+x_5 = lean_ctor_get(x_1, 2);
+lean_inc(x_5);
+x_6 = lean_ctor_get(x_1, 3);
+lean_inc(x_6);
+lean_dec(x_1);
+x_7 = lean_apply_4(x_2, x_3, x_4, x_5, x_6);
+return x_7;
+}
+}
+lean_object* l_Lean_Parser_ParserState_keepNewError_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_ParserState_keepNewError_match__1___rarg), 2, 0);
+return x_2;
+}
+}
lean_object* l_Lean_Parser_ParserState_keepNewError(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -12093,6 +12780,31 @@ lean_dec(x_2);
return x_3;
}
}
+lean_object* l_Lean_Parser_ParserState_keepPrevError_match__1___rarg(lean_object* x_1, lean_object* x_2) {
+_start:
+{
+lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
+x_3 = lean_ctor_get(x_1, 0);
+lean_inc(x_3);
+x_4 = lean_ctor_get(x_1, 1);
+lean_inc(x_4);
+x_5 = lean_ctor_get(x_1, 2);
+lean_inc(x_5);
+x_6 = lean_ctor_get(x_1, 3);
+lean_inc(x_6);
+lean_dec(x_1);
+x_7 = lean_apply_4(x_2, x_3, x_4, x_5, x_6);
+return x_7;
+}
+}
+lean_object* l_Lean_Parser_ParserState_keepPrevError_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_ParserState_keepPrevError_match__1___rarg), 2, 0);
+return x_2;
+}
+}
lean_object* l_Lean_Parser_ParserState_keepPrevError(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
@@ -12139,6 +12851,46 @@ lean_dec(x_2);
return x_5;
}
}
+lean_object* l_Lean_Parser_ParserState_mergeErrors_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+lean_object* x_4;
+x_4 = lean_ctor_get(x_1, 3);
+lean_inc(x_4);
+if (lean_obj_tag(x_4) == 0)
+{
+lean_object* x_5;
+lean_dec(x_2);
+x_5 = lean_apply_1(x_3, x_1);
+return x_5;
+}
+else
+{
+lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10;
+lean_dec(x_3);
+x_6 = lean_ctor_get(x_1, 0);
+lean_inc(x_6);
+x_7 = lean_ctor_get(x_1, 1);
+lean_inc(x_7);
+x_8 = lean_ctor_get(x_1, 2);
+lean_inc(x_8);
+lean_dec(x_1);
+x_9 = lean_ctor_get(x_4, 0);
+lean_inc(x_9);
+lean_dec(x_4);
+x_10 = lean_apply_4(x_2, x_6, x_7, x_8, x_9);
+return x_10;
+}
+}
+}
+lean_object* l_Lean_Parser_ParserState_mergeErrors_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_ParserState_mergeErrors_match__1___rarg), 3, 0);
+return x_2;
+}
+}
lean_object* l_Lean_Parser_ParserState_mergeErrors(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
@@ -12269,6 +13021,31 @@ lean_dec(x_2);
return x_4;
}
}
+lean_object* l_Lean_Parser_ParserState_keepLatest_match__1___rarg(lean_object* x_1, lean_object* x_2) {
+_start:
+{
+lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
+x_3 = lean_ctor_get(x_1, 0);
+lean_inc(x_3);
+x_4 = lean_ctor_get(x_1, 1);
+lean_inc(x_4);
+x_5 = lean_ctor_get(x_1, 2);
+lean_inc(x_5);
+x_6 = lean_ctor_get(x_1, 3);
+lean_inc(x_6);
+lean_dec(x_1);
+x_7 = lean_apply_4(x_2, x_3, x_4, x_5, x_6);
+return x_7;
+}
+}
+lean_object* l_Lean_Parser_ParserState_keepLatest_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_ParserState_keepLatest_match__1___rarg), 2, 0);
+return x_2;
+}
+}
lean_object* l_Lean_Parser_ParserState_keepLatest(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -12354,6 +13131,37 @@ x_3 = l_Lean_Parser_ParserState_mkError(x_1, x_2);
return x_3;
}
}
+lean_object* l_Lean_Parser_runLongestMatchParser_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+if (lean_obj_tag(x_1) == 0)
+{
+lean_object* x_4; lean_object* x_5;
+lean_dec(x_3);
+x_4 = lean_box(0);
+x_5 = lean_apply_1(x_2, x_4);
+return x_5;
+}
+else
+{
+lean_object* x_6; lean_object* x_7;
+lean_dec(x_2);
+x_6 = lean_ctor_get(x_1, 0);
+lean_inc(x_6);
+lean_dec(x_1);
+x_7 = lean_apply_1(x_3, x_6);
+return x_7;
+}
+}
+}
+lean_object* l_Lean_Parser_runLongestMatchParser_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_runLongestMatchParser_match__1___rarg), 3, 0);
+return x_2;
+}
+}
lean_object* l_Lean_Parser_runLongestMatchParser(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
@@ -12450,10 +13258,74 @@ return x_18;
}
}
}
+lean_object* l_Lean_Parser_longestMatchStep_match__1___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) {
+_start:
+{
+if (lean_obj_tag(x_1) == 0)
+{
+lean_dec(x_6);
+lean_dec(x_5);
+if (lean_obj_tag(x_2) == 0)
+{
+lean_object* x_7; lean_object* x_8;
+lean_dec(x_4);
+x_7 = lean_box(0);
+x_8 = lean_apply_1(x_3, x_7);
+return x_8;
+}
+else
+{
+lean_object* x_9; lean_object* x_10;
+lean_dec(x_3);
+x_9 = lean_ctor_get(x_2, 0);
+lean_inc(x_9);
+lean_dec(x_2);
+x_10 = lean_apply_1(x_4, x_9);
+return x_10;
+}
+}
+else
+{
+lean_dec(x_4);
+lean_dec(x_3);
+if (lean_obj_tag(x_2) == 0)
+{
+lean_object* x_11; lean_object* x_12;
+lean_dec(x_5);
+x_11 = lean_ctor_get(x_1, 0);
+lean_inc(x_11);
+lean_dec(x_1);
+x_12 = lean_apply_1(x_6, x_11);
+return x_12;
+}
+else
+{
+lean_object* x_13; lean_object* x_14; lean_object* x_15;
+lean_dec(x_6);
+x_13 = lean_ctor_get(x_1, 0);
+lean_inc(x_13);
+lean_dec(x_1);
+x_14 = lean_ctor_get(x_2, 0);
+lean_inc(x_14);
+lean_dec(x_2);
+x_15 = lean_apply_2(x_5, x_13, x_14);
+return x_15;
+}
+}
+}
+}
+lean_object* l_Lean_Parser_longestMatchStep_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_longestMatchStep_match__1___rarg), 6, 0);
+return x_2;
+}
+}
lean_object* l_Lean_Parser_longestMatchStep(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:
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_69; lean_object* x_70; lean_object* x_71;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_8, 3);
lean_inc(x_9);
x_10 = lean_ctor_get(x_8, 1);
@@ -12462,150 +13334,118 @@ x_11 = lean_ctor_get(x_8, 0);
lean_inc(x_11);
x_12 = lean_array_get_size(x_11);
lean_dec(x_11);
-x_69 = l_Lean_Parser_ParserState_restore(x_8, x_12, x_3);
-x_70 = lean_ctor_get(x_69, 0);
-lean_inc(x_70);
-x_71 = lean_array_get_size(x_70);
-lean_dec(x_70);
-if (lean_obj_tag(x_1) == 0)
-{
-lean_object* x_72; lean_object* x_73;
-x_72 = lean_apply_2(x_6, x_7, x_69);
-x_73 = lean_ctor_get(x_72, 3);
-lean_inc(x_73);
-if (lean_obj_tag(x_73) == 0)
-{
-lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; uint8_t x_78;
-x_74 = lean_ctor_get(x_72, 0);
-lean_inc(x_74);
-x_75 = lean_array_get_size(x_74);
-lean_dec(x_74);
-x_76 = lean_unsigned_to_nat(1u);
-x_77 = lean_nat_add(x_71, x_76);
-lean_dec(x_71);
-x_78 = lean_nat_dec_eq(x_75, x_77);
-lean_dec(x_77);
-lean_dec(x_75);
-if (x_78 == 0)
-{
-lean_object* x_79; lean_object* x_80;
-x_79 = l_Lean_Parser_invalidLongestMatchParser___closed__1;
-x_80 = l_Lean_Parser_ParserState_mkError(x_72, x_79);
-x_13 = x_80;
-goto block_68;
-}
-else
-{
-x_13 = x_72;
-goto block_68;
-}
-}
-else
-{
-lean_dec(x_73);
-lean_dec(x_71);
-x_13 = x_72;
-goto block_68;
-}
-}
-else
-{
-lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84;
-x_81 = lean_ctor_get(x_1, 0);
-lean_inc(x_81);
-lean_dec(x_1);
-x_82 = l_Lean_Parser_ParserState_pushSyntax(x_69, x_81);
-x_83 = lean_apply_2(x_6, x_7, x_82);
-x_84 = lean_ctor_get(x_83, 3);
-lean_inc(x_84);
-if (lean_obj_tag(x_84) == 0)
-{
-lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; uint8_t x_89;
-x_85 = lean_ctor_get(x_83, 0);
-lean_inc(x_85);
-x_86 = lean_array_get_size(x_85);
-x_87 = lean_unsigned_to_nat(2u);
-x_88 = lean_nat_add(x_71, x_87);
-x_89 = lean_nat_dec_eq(x_86, x_88);
-lean_dec(x_88);
-lean_dec(x_86);
-if (x_89 == 0)
-{
-lean_object* x_90; lean_object* x_91;
-lean_dec(x_85);
-lean_dec(x_71);
-x_90 = l_Lean_Parser_invalidLongestMatchParser___closed__1;
-x_91 = l_Lean_Parser_ParserState_mkError(x_83, x_90);
-x_13 = x_91;
-goto block_68;
-}
-else
-{
-lean_object* x_92; lean_object* x_93; lean_object* x_94;
-x_92 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_85);
-lean_dec(x_85);
-x_93 = l_Lean_Parser_ParserState_shrinkStack(x_83, x_71);
-lean_dec(x_71);
-x_94 = l_Lean_Parser_ParserState_pushSyntax(x_93, x_92);
-x_13 = x_94;
-goto block_68;
-}
-}
-else
-{
-lean_dec(x_84);
-lean_dec(x_71);
-x_13 = x_83;
-goto block_68;
-}
-}
-block_68:
-{
+x_13 = l_Lean_Parser_ParserState_restore(x_8, x_12, x_3);
+x_14 = l_Lean_Parser_runLongestMatchParser(x_1, x_6, x_7, x_13);
if (lean_obj_tag(x_9) == 0)
{
-lean_object* x_14;
-x_14 = lean_ctor_get(x_13, 3);
-lean_inc(x_14);
-if (lean_obj_tag(x_14) == 0)
-{
-lean_object* x_15; lean_object* x_16; uint8_t x_27;
-x_15 = lean_ctor_get(x_13, 1);
+lean_object* x_15;
+x_15 = lean_ctor_get(x_14, 3);
lean_inc(x_15);
-x_27 = lean_nat_dec_lt(x_10, x_15);
-if (x_27 == 0)
+if (lean_obj_tag(x_15) == 0)
{
-uint8_t x_28;
-x_28 = lean_nat_dec_eq(x_15, x_10);
-if (x_28 == 0)
-{
-lean_object* x_29;
-x_29 = lean_box(0);
-x_16 = x_29;
-goto block_26;
-}
-else
-{
-uint8_t x_30;
-x_30 = lean_nat_dec_lt(x_4, x_5);
+lean_object* x_16; uint8_t x_17; uint8_t x_30;
+x_16 = lean_ctor_get(x_14, 1);
+lean_inc(x_16);
+x_30 = lean_nat_dec_lt(x_10, x_16);
if (x_30 == 0)
{
-lean_object* x_31;
-x_31 = lean_box(0);
-x_16 = x_31;
-goto block_26;
+uint8_t x_31;
+x_31 = lean_nat_dec_eq(x_16, x_10);
+if (x_31 == 0)
+{
+x_17 = x_30;
+goto block_29;
}
else
{
-lean_object* x_32; lean_object* x_33;
-lean_dec(x_15);
+uint8_t x_32;
+x_32 = lean_nat_dec_lt(x_4, x_5);
+x_17 = x_32;
+goto block_29;
+}
+}
+else
+{
+uint8_t x_33;
+x_33 = 1;
+x_17 = x_33;
+goto block_29;
+}
+block_29:
+{
+if (x_17 == 0)
+{
+uint8_t x_18;
+x_18 = lean_nat_dec_lt(x_16, x_10);
+if (x_18 == 0)
+{
+uint8_t x_19;
+x_19 = lean_nat_dec_eq(x_16, x_10);
+lean_dec(x_16);
+if (x_19 == 0)
+{
+lean_object* x_20;
lean_dec(x_12);
lean_dec(x_10);
lean_dec(x_4);
-x_32 = l_Lean_Parser_ParserState_keepLatest(x_13, x_2);
-x_33 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_33, 0, x_32);
-lean_ctor_set(x_33, 1, x_5);
-return x_33;
+x_20 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_20, 0, x_14);
+lean_ctor_set(x_20, 1, x_5);
+return x_20;
+}
+else
+{
+uint8_t x_21;
+x_21 = lean_nat_dec_lt(x_5, x_4);
+if (x_21 == 0)
+{
+lean_object* x_22;
+lean_dec(x_12);
+lean_dec(x_10);
+lean_dec(x_4);
+x_22 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_22, 0, x_14);
+lean_ctor_set(x_22, 1, x_5);
+return x_22;
+}
+else
+{
+lean_object* x_23; lean_object* x_24;
+lean_dec(x_5);
+x_23 = l_Lean_Parser_ParserState_restore(x_14, x_12, x_10);
+lean_dec(x_12);
+x_24 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_24, 0, x_23);
+lean_ctor_set(x_24, 1, x_4);
+return x_24;
+}
+}
+}
+else
+{
+lean_object* x_25; lean_object* x_26;
+lean_dec(x_16);
+lean_dec(x_5);
+x_25 = l_Lean_Parser_ParserState_restore(x_14, x_12, x_10);
+lean_dec(x_12);
+x_26 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_26, 0, x_25);
+lean_ctor_set(x_26, 1, x_4);
+return x_26;
+}
+}
+else
+{
+lean_object* x_27; lean_object* x_28;
+lean_dec(x_16);
+lean_dec(x_12);
+lean_dec(x_10);
+lean_dec(x_4);
+x_27 = l_Lean_Parser_ParserState_keepLatest(x_14, x_2);
+x_28 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_28, 0, x_27);
+lean_ctor_set(x_28, 1, x_5);
+return x_28;
}
}
}
@@ -12613,223 +13453,133 @@ else
{
lean_object* x_34; lean_object* x_35;
lean_dec(x_15);
+lean_dec(x_5);
+x_34 = l_Lean_Parser_ParserState_restore(x_14, x_12, x_10);
lean_dec(x_12);
-lean_dec(x_10);
-lean_dec(x_4);
-x_34 = l_Lean_Parser_ParserState_keepLatest(x_13, x_2);
x_35 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_35, 0, x_34);
-lean_ctor_set(x_35, 1, x_5);
+lean_ctor_set(x_35, 1, x_4);
return x_35;
}
-block_26:
-{
-uint8_t x_17;
-lean_dec(x_16);
-x_17 = lean_nat_dec_lt(x_15, x_10);
-if (x_17 == 0)
-{
-uint8_t x_18;
-x_18 = lean_nat_dec_eq(x_15, x_10);
-lean_dec(x_15);
-if (x_18 == 0)
-{
-lean_object* x_19;
-lean_dec(x_12);
-lean_dec(x_10);
-lean_dec(x_4);
-x_19 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_19, 0, x_13);
-lean_ctor_set(x_19, 1, x_5);
-return x_19;
}
else
{
-uint8_t x_20;
-x_20 = lean_nat_dec_lt(x_5, x_4);
-if (x_20 == 0)
+lean_object* x_36;
+x_36 = lean_ctor_get(x_14, 3);
+lean_inc(x_36);
+if (lean_obj_tag(x_36) == 0)
{
-lean_object* x_21;
-lean_dec(x_12);
-lean_dec(x_10);
-lean_dec(x_4);
-x_21 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_21, 0, x_13);
-lean_ctor_set(x_21, 1, x_5);
-return x_21;
-}
-else
-{
-lean_object* x_22; lean_object* x_23;
-lean_dec(x_5);
-x_22 = l_Lean_Parser_ParserState_restore(x_13, x_12, x_10);
-lean_dec(x_12);
-x_23 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_23, 0, x_22);
-lean_ctor_set(x_23, 1, x_4);
-return x_23;
-}
-}
-}
-else
-{
-lean_object* x_24; lean_object* x_25;
-lean_dec(x_15);
-lean_dec(x_5);
-x_24 = l_Lean_Parser_ParserState_restore(x_13, x_12, x_10);
-lean_dec(x_12);
-x_25 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_25, 0, x_24);
-lean_ctor_set(x_25, 1, x_4);
-return x_25;
-}
-}
-}
-else
-{
-lean_object* x_36; lean_object* x_37;
-lean_dec(x_14);
-lean_dec(x_5);
-x_36 = l_Lean_Parser_ParserState_restore(x_13, x_12, x_10);
-lean_dec(x_12);
-x_37 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_37, 0, x_36);
-lean_ctor_set(x_37, 1, x_4);
-return x_37;
-}
-}
-else
-{
-lean_object* x_38;
-x_38 = lean_ctor_get(x_13, 3);
-lean_inc(x_38);
-if (lean_obj_tag(x_38) == 0)
-{
-lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43;
+lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41;
lean_dec(x_12);
lean_dec(x_10);
lean_dec(x_9);
lean_dec(x_4);
-x_39 = lean_ctor_get(x_13, 0);
-lean_inc(x_39);
-x_40 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_39);
-lean_dec(x_39);
-x_41 = l_Lean_Parser_ParserState_shrinkStack(x_13, x_2);
-x_42 = l_Lean_Parser_ParserState_pushSyntax(x_41, x_40);
-x_43 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_43, 0, x_42);
-lean_ctor_set(x_43, 1, x_5);
-return x_43;
+x_37 = lean_ctor_get(x_14, 0);
+lean_inc(x_37);
+x_38 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_37);
+lean_dec(x_37);
+x_39 = l_Lean_Parser_ParserState_shrinkStack(x_14, x_2);
+x_40 = l_Lean_Parser_ParserState_pushSyntax(x_39, x_38);
+x_41 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_41, 0, x_40);
+lean_ctor_set(x_41, 1, x_5);
+return x_41;
}
else
{
-lean_object* x_44; lean_object* x_45; lean_object* x_46; uint8_t x_59;
-lean_dec(x_38);
-x_44 = lean_ctor_get(x_9, 0);
-lean_inc(x_44);
-x_45 = lean_ctor_get(x_13, 1);
-lean_inc(x_45);
-x_59 = lean_nat_dec_lt(x_10, x_45);
+lean_object* x_42; lean_object* x_43; uint8_t x_44; uint8_t x_59;
+lean_dec(x_36);
+x_42 = lean_ctor_get(x_9, 0);
+lean_inc(x_42);
+x_43 = lean_ctor_get(x_14, 1);
+lean_inc(x_43);
+x_59 = lean_nat_dec_lt(x_10, x_43);
if (x_59 == 0)
{
uint8_t x_60;
-x_60 = lean_nat_dec_eq(x_45, x_10);
+x_60 = lean_nat_dec_eq(x_43, x_10);
if (x_60 == 0)
{
-lean_object* x_61;
-x_61 = lean_box(0);
-x_46 = x_61;
+x_44 = x_59;
goto block_58;
}
else
{
+uint8_t x_61;
+x_61 = lean_nat_dec_lt(x_4, x_5);
+x_44 = x_61;
+goto block_58;
+}
+}
+else
+{
uint8_t x_62;
-x_62 = lean_nat_dec_lt(x_4, x_5);
-if (x_62 == 0)
-{
-lean_object* x_63;
-x_63 = lean_box(0);
-x_46 = x_63;
+x_62 = 1;
+x_44 = x_62;
goto block_58;
}
-else
-{
-lean_object* x_64; lean_object* x_65;
-lean_dec(x_45);
-lean_dec(x_44);
-lean_dec(x_10);
-lean_dec(x_9);
-lean_dec(x_4);
-x_64 = l_Lean_Parser_ParserState_keepNewError(x_13, x_12);
-lean_dec(x_12);
-x_65 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_65, 0, x_64);
-lean_ctor_set(x_65, 1, x_5);
-return x_65;
-}
-}
-}
-else
-{
-lean_object* x_66; lean_object* x_67;
-lean_dec(x_45);
-lean_dec(x_44);
-lean_dec(x_10);
-lean_dec(x_9);
-lean_dec(x_4);
-x_66 = l_Lean_Parser_ParserState_keepNewError(x_13, x_12);
-lean_dec(x_12);
-x_67 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_67, 0, x_66);
-lean_ctor_set(x_67, 1, x_5);
-return x_67;
-}
block_58:
{
-uint8_t x_47;
-lean_dec(x_46);
-x_47 = lean_nat_dec_lt(x_45, x_10);
-if (x_47 == 0)
+if (x_44 == 0)
{
-uint8_t x_48;
-x_48 = lean_nat_dec_eq(x_45, x_10);
-lean_dec(x_45);
-if (x_48 == 0)
+uint8_t x_45;
+x_45 = lean_nat_dec_lt(x_43, x_10);
+if (x_45 == 0)
{
-lean_object* x_49; lean_object* x_50;
+uint8_t x_46;
+x_46 = lean_nat_dec_eq(x_43, x_10);
+lean_dec(x_43);
+if (x_46 == 0)
+{
+lean_object* x_47; lean_object* x_48;
lean_dec(x_10);
lean_dec(x_9);
lean_dec(x_4);
-x_49 = l_Lean_Parser_ParserState_mergeErrors(x_13, x_12, x_44);
+x_47 = l_Lean_Parser_ParserState_mergeErrors(x_14, x_12, x_42);
lean_dec(x_12);
-x_50 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_50, 0, x_49);
-lean_ctor_set(x_50, 1, x_5);
-return x_50;
+x_48 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_48, 0, x_47);
+lean_ctor_set(x_48, 1, x_5);
+return x_48;
}
else
{
-uint8_t x_51;
-x_51 = lean_nat_dec_lt(x_5, x_4);
-if (x_51 == 0)
+uint8_t x_49;
+x_49 = lean_nat_dec_lt(x_5, x_4);
+if (x_49 == 0)
{
-lean_object* x_52; lean_object* x_53;
+lean_object* x_50; lean_object* x_51;
lean_dec(x_10);
lean_dec(x_9);
lean_dec(x_4);
-x_52 = l_Lean_Parser_ParserState_mergeErrors(x_13, x_12, x_44);
+x_50 = l_Lean_Parser_ParserState_mergeErrors(x_14, x_12, x_42);
+lean_dec(x_12);
+x_51 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_51, 0, x_50);
+lean_ctor_set(x_51, 1, x_5);
+return x_51;
+}
+else
+{
+lean_object* x_52; lean_object* x_53;
+lean_dec(x_42);
+lean_dec(x_5);
+x_52 = l_Lean_Parser_ParserState_keepPrevError(x_14, x_12, x_10, x_9);
lean_dec(x_12);
x_53 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_53, 0, x_52);
-lean_ctor_set(x_53, 1, x_5);
+lean_ctor_set(x_53, 1, x_4);
return x_53;
}
+}
+}
else
{
lean_object* x_54; lean_object* x_55;
-lean_dec(x_44);
+lean_dec(x_43);
+lean_dec(x_42);
lean_dec(x_5);
-x_54 = l_Lean_Parser_ParserState_keepPrevError(x_13, x_12, x_10, x_9);
+x_54 = l_Lean_Parser_ParserState_keepPrevError(x_14, x_12, x_10, x_9);
lean_dec(x_12);
x_55 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_55, 0, x_54);
@@ -12837,18 +13587,19 @@ lean_ctor_set(x_55, 1, x_4);
return x_55;
}
}
-}
else
{
lean_object* x_56; lean_object* x_57;
-lean_dec(x_45);
-lean_dec(x_44);
-lean_dec(x_5);
-x_56 = l_Lean_Parser_ParserState_keepPrevError(x_13, x_12, x_10, x_9);
+lean_dec(x_43);
+lean_dec(x_42);
+lean_dec(x_10);
+lean_dec(x_9);
+lean_dec(x_4);
+x_56 = l_Lean_Parser_ParserState_keepNewError(x_14, x_12);
lean_dec(x_12);
x_57 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_57, 0, x_56);
-lean_ctor_set(x_57, 1, x_4);
+lean_ctor_set(x_57, 1, x_5);
return x_57;
}
}
@@ -12856,7 +13607,6 @@ return x_57;
}
}
}
-}
lean_object* l_Lean_Parser_longestMatchStep___boxed(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:
{
@@ -12905,7 +13655,61 @@ return x_2;
}
}
}
-lean_object* l_Lean_Parser_longestMatchFnAux___main(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* l_Lean_Parser_longestMatchFnAux_parse_match__1___rarg(lean_object* x_1, lean_object* x_2) {
+_start:
+{
+lean_object* x_3; lean_object* x_4; lean_object* x_5;
+x_3 = lean_ctor_get(x_1, 0);
+lean_inc(x_3);
+x_4 = lean_ctor_get(x_1, 1);
+lean_inc(x_4);
+lean_dec(x_1);
+x_5 = lean_apply_2(x_2, x_3, x_4);
+return x_5;
+}
+}
+lean_object* l_Lean_Parser_longestMatchFnAux_parse_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_longestMatchFnAux_parse_match__1___rarg), 2, 0);
+return x_2;
+}
+}
+lean_object* l_Lean_Parser_longestMatchFnAux_parse_match__2___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+if (lean_obj_tag(x_1) == 0)
+{
+lean_object* x_4; lean_object* x_5;
+lean_dec(x_3);
+x_4 = lean_box(0);
+x_5 = lean_apply_1(x_2, x_4);
+return x_5;
+}
+else
+{
+lean_object* x_6; lean_object* x_7; lean_object* x_8;
+lean_dec(x_2);
+x_6 = lean_ctor_get(x_1, 0);
+lean_inc(x_6);
+x_7 = lean_ctor_get(x_1, 1);
+lean_inc(x_7);
+lean_dec(x_1);
+x_8 = lean_apply_2(x_3, x_6, x_7);
+return x_8;
+}
+}
+}
+lean_object* l_Lean_Parser_longestMatchFnAux_parse_match__2(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_longestMatchFnAux_parse_match__2___rarg), 3, 0);
+return x_2;
+}
+}
+lean_object* l_Lean_Parser_longestMatchFnAux_parse(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) {
_start:
{
if (lean_obj_tag(x_5) == 0)
@@ -12954,10 +13758,59 @@ lean_object* l_Lean_Parser_longestMatchFnAux(lean_object* x_1, lean_object* x_2,
_start:
{
lean_object* x_8;
-x_8 = l_Lean_Parser_longestMatchFnAux___main(x_1, x_2, x_3, x_4, x_5, x_6, x_7);
+x_8 = l_Lean_Parser_longestMatchFnAux_parse(x_1, x_2, x_3, x_4, x_5, x_6, x_7);
return x_8;
}
}
+lean_object* l_Lean_Parser_longestMatchFn_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
+_start:
+{
+if (lean_obj_tag(x_1) == 0)
+{
+lean_object* x_5; lean_object* x_6;
+lean_dec(x_4);
+lean_dec(x_3);
+x_5 = lean_box(0);
+x_6 = lean_apply_1(x_2, x_5);
+return x_6;
+}
+else
+{
+lean_object* x_7;
+lean_dec(x_2);
+x_7 = lean_ctor_get(x_1, 1);
+lean_inc(x_7);
+if (lean_obj_tag(x_7) == 0)
+{
+lean_object* x_8; lean_object* x_9;
+lean_dec(x_4);
+x_8 = lean_ctor_get(x_1, 0);
+lean_inc(x_8);
+lean_dec(x_1);
+x_9 = lean_apply_1(x_3, x_8);
+return x_9;
+}
+else
+{
+lean_object* x_10; lean_object* x_11;
+lean_dec(x_3);
+x_10 = lean_ctor_get(x_1, 0);
+lean_inc(x_10);
+lean_dec(x_1);
+x_11 = lean_apply_2(x_4, x_10, x_7);
+return x_11;
+}
+}
+}
+}
+lean_object* l_Lean_Parser_longestMatchFn_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_longestMatchFn_match__1___rarg), 4, 0);
+return x_2;
+}
+}
static lean_object* _init_l_Lean_Parser_longestMatchFn___closed__1() {
_start:
{
@@ -12985,7 +13838,7 @@ x_7 = lean_ctor_get(x_2, 1);
lean_inc(x_7);
if (lean_obj_tag(x_7) == 0)
{
-lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12;
+lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
x_8 = lean_ctor_get(x_2, 0);
lean_inc(x_8);
lean_dec(x_2);
@@ -12995,238 +13848,104 @@ lean_dec(x_8);
x_10 = lean_ctor_get(x_9, 1);
lean_inc(x_10);
lean_dec(x_9);
-x_11 = lean_ctor_get(x_4, 0);
-lean_inc(x_11);
-x_12 = lean_array_get_size(x_11);
-lean_dec(x_11);
-if (lean_obj_tag(x_1) == 0)
+x_11 = l_Lean_Parser_runLongestMatchParser(x_1, x_10, x_3, x_4);
+return x_11;
+}
+else
{
-lean_object* x_13; lean_object* x_14;
-x_13 = lean_apply_2(x_10, x_3, x_4);
-x_14 = lean_ctor_get(x_13, 3);
-lean_inc(x_14);
-if (lean_obj_tag(x_14) == 0)
-{
-lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19;
-x_15 = lean_ctor_get(x_13, 0);
+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;
+x_12 = lean_ctor_get(x_2, 0);
+lean_inc(x_12);
+lean_dec(x_2);
+x_13 = lean_ctor_get(x_4, 0);
+lean_inc(x_13);
+x_14 = lean_array_get_size(x_13);
+lean_dec(x_13);
+x_15 = lean_ctor_get(x_4, 1);
lean_inc(x_15);
-x_16 = lean_array_get_size(x_15);
-lean_dec(x_15);
-x_17 = lean_unsigned_to_nat(1u);
-x_18 = lean_nat_add(x_12, x_17);
-lean_dec(x_12);
-x_19 = lean_nat_dec_eq(x_16, x_18);
-lean_dec(x_18);
+x_16 = lean_ctor_get(x_12, 0);
+lean_inc(x_16);
+x_17 = lean_ctor_get(x_16, 1);
+lean_inc(x_17);
lean_dec(x_16);
-if (x_19 == 0)
+lean_inc(x_3);
+lean_inc(x_1);
+x_18 = l_Lean_Parser_runLongestMatchParser(x_1, x_17, x_3, x_4);
+x_19 = lean_ctor_get(x_18, 3);
+lean_inc(x_19);
+if (lean_obj_tag(x_19) == 0)
{
lean_object* x_20; lean_object* x_21;
-x_20 = l_Lean_Parser_invalidLongestMatchParser___closed__1;
-x_21 = l_Lean_Parser_ParserState_mkError(x_13, x_20);
+x_20 = lean_ctor_get(x_12, 1);
+lean_inc(x_20);
+lean_dec(x_12);
+x_21 = l_Lean_Parser_longestMatchFnAux_parse(x_1, x_14, x_15, x_20, x_7, x_3, x_18);
return x_21;
}
else
{
-return x_13;
-}
-}
-else
-{
-lean_dec(x_14);
-lean_dec(x_12);
-return x_13;
-}
-}
-else
-{
-lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25;
-x_22 = lean_ctor_get(x_1, 0);
-lean_inc(x_22);
-lean_dec(x_1);
-x_23 = l_Lean_Parser_ParserState_pushSyntax(x_4, x_22);
-x_24 = lean_apply_2(x_10, x_3, x_23);
-x_25 = lean_ctor_get(x_24, 3);
-lean_inc(x_25);
-if (lean_obj_tag(x_25) == 0)
-{
-lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; uint8_t x_30;
-x_26 = lean_ctor_get(x_24, 0);
-lean_inc(x_26);
-x_27 = lean_array_get_size(x_26);
-x_28 = lean_unsigned_to_nat(2u);
-x_29 = lean_nat_add(x_12, x_28);
-x_30 = lean_nat_dec_eq(x_27, x_29);
-lean_dec(x_29);
-lean_dec(x_27);
-if (x_30 == 0)
-{
-lean_object* x_31; lean_object* x_32;
-lean_dec(x_26);
-lean_dec(x_12);
-x_31 = l_Lean_Parser_invalidLongestMatchParser___closed__1;
-x_32 = l_Lean_Parser_ParserState_mkError(x_24, x_31);
-return x_32;
-}
-else
-{
-lean_object* x_33; lean_object* x_34; lean_object* x_35;
-x_33 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_26);
-lean_dec(x_26);
-x_34 = l_Lean_Parser_ParserState_shrinkStack(x_24, x_12);
-lean_dec(x_12);
-x_35 = l_Lean_Parser_ParserState_pushSyntax(x_34, x_33);
-return x_35;
-}
-}
-else
-{
-lean_dec(x_25);
+lean_object* x_22; lean_object* x_23; lean_object* x_24;
+lean_dec(x_19);
+x_22 = l_Lean_Parser_ParserState_shrinkStack(x_18, x_14);
+x_23 = lean_ctor_get(x_12, 1);
+lean_inc(x_23);
lean_dec(x_12);
+x_24 = l_Lean_Parser_longestMatchFnAux_parse(x_1, x_14, x_15, x_23, x_7, x_3, x_22);
return x_24;
}
}
}
-else
+}
+}
+lean_object* l_Lean_Parser_anyOfFn_match__1___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) {
+_start:
{
-lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40;
-x_36 = lean_ctor_get(x_2, 0);
-lean_inc(x_36);
-lean_dec(x_2);
-x_37 = lean_ctor_get(x_4, 0);
-lean_inc(x_37);
-x_38 = lean_array_get_size(x_37);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_4, 1);
-lean_inc(x_39);
if (lean_obj_tag(x_1) == 0)
{
-lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51;
-x_48 = lean_ctor_get(x_36, 0);
-lean_inc(x_48);
-x_49 = lean_ctor_get(x_48, 1);
-lean_inc(x_49);
-lean_dec(x_48);
-lean_inc(x_3);
-x_50 = lean_apply_2(x_49, x_3, x_4);
-x_51 = lean_ctor_get(x_50, 3);
-lean_inc(x_51);
-if (lean_obj_tag(x_51) == 0)
-{
-lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; uint8_t x_56;
-x_52 = lean_ctor_get(x_50, 0);
-lean_inc(x_52);
-x_53 = lean_array_get_size(x_52);
-lean_dec(x_52);
-x_54 = lean_unsigned_to_nat(1u);
-x_55 = lean_nat_add(x_38, x_54);
-x_56 = lean_nat_dec_eq(x_53, x_55);
-lean_dec(x_55);
-lean_dec(x_53);
-if (x_56 == 0)
-{
-lean_object* x_57; lean_object* x_58;
-x_57 = l_Lean_Parser_invalidLongestMatchParser___closed__1;
-x_58 = l_Lean_Parser_ParserState_mkError(x_50, x_57);
-x_40 = x_58;
-goto block_47;
+lean_object* x_7;
+lean_dec(x_6);
+lean_dec(x_5);
+x_7 = lean_apply_2(x_4, x_2, x_3);
+return x_7;
}
else
{
-x_40 = x_50;
-goto block_47;
-}
+lean_object* x_8;
+lean_dec(x_4);
+x_8 = lean_ctor_get(x_1, 1);
+lean_inc(x_8);
+if (lean_obj_tag(x_8) == 0)
+{
+lean_object* x_9; lean_object* x_10;
+lean_dec(x_6);
+x_9 = lean_ctor_get(x_1, 0);
+lean_inc(x_9);
+lean_dec(x_1);
+x_10 = lean_apply_3(x_5, x_9, x_2, x_3);
+return x_10;
}
else
{
-lean_dec(x_51);
-x_40 = x_50;
-goto block_47;
+lean_object* x_11; lean_object* x_12;
+lean_dec(x_5);
+x_11 = lean_ctor_get(x_1, 0);
+lean_inc(x_11);
+lean_dec(x_1);
+x_12 = lean_apply_4(x_6, x_11, x_8, x_2, x_3);
+return x_12;
}
}
-else
+}
+}
+lean_object* l_Lean_Parser_anyOfFn_match__1(lean_object* x_1) {
+_start:
{
-lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64;
-x_59 = lean_ctor_get(x_36, 0);
-lean_inc(x_59);
-x_60 = lean_ctor_get(x_59, 1);
-lean_inc(x_60);
-lean_dec(x_59);
-x_61 = lean_ctor_get(x_1, 0);
-lean_inc(x_61);
-x_62 = l_Lean_Parser_ParserState_pushSyntax(x_4, x_61);
-lean_inc(x_3);
-x_63 = lean_apply_2(x_60, x_3, x_62);
-x_64 = lean_ctor_get(x_63, 3);
-lean_inc(x_64);
-if (lean_obj_tag(x_64) == 0)
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; uint8_t x_69;
-x_65 = lean_ctor_get(x_63, 0);
-lean_inc(x_65);
-x_66 = lean_array_get_size(x_65);
-x_67 = lean_unsigned_to_nat(2u);
-x_68 = lean_nat_add(x_38, x_67);
-x_69 = lean_nat_dec_eq(x_66, x_68);
-lean_dec(x_68);
-lean_dec(x_66);
-if (x_69 == 0)
-{
-lean_object* x_70; lean_object* x_71;
-lean_dec(x_65);
-x_70 = l_Lean_Parser_invalidLongestMatchParser___closed__1;
-x_71 = l_Lean_Parser_ParserState_mkError(x_63, x_70);
-x_40 = x_71;
-goto block_47;
-}
-else
-{
-lean_object* x_72; lean_object* x_73; lean_object* x_74;
-x_72 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_65);
-lean_dec(x_65);
-x_73 = l_Lean_Parser_ParserState_shrinkStack(x_63, x_38);
-x_74 = l_Lean_Parser_ParserState_pushSyntax(x_73, x_72);
-x_40 = x_74;
-goto block_47;
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_anyOfFn_match__1___rarg), 6, 0);
+return x_2;
}
}
-else
-{
-lean_dec(x_64);
-x_40 = x_63;
-goto block_47;
-}
-}
-block_47:
-{
-lean_object* x_41;
-x_41 = lean_ctor_get(x_40, 3);
-lean_inc(x_41);
-if (lean_obj_tag(x_41) == 0)
-{
-lean_object* x_42; lean_object* x_43;
-x_42 = lean_ctor_get(x_36, 1);
-lean_inc(x_42);
-lean_dec(x_36);
-x_43 = l_Lean_Parser_longestMatchFnAux___main(x_1, x_38, x_39, x_42, x_7, x_3, x_40);
-return x_43;
-}
-else
-{
-lean_object* x_44; lean_object* x_45; lean_object* x_46;
-lean_dec(x_41);
-x_44 = l_Lean_Parser_ParserState_shrinkStack(x_40, x_38);
-x_45 = lean_ctor_get(x_36, 1);
-lean_inc(x_45);
-lean_dec(x_36);
-x_46 = l_Lean_Parser_longestMatchFnAux___main(x_1, x_38, x_39, x_45, x_7, x_3, x_44);
-return x_46;
-}
-}
-}
-}
-}
-}
-static lean_object* _init_l_Lean_Parser_anyOfFn___main___closed__1() {
+static lean_object* _init_l_Lean_Parser_anyOfFn___closed__1() {
_start:
{
lean_object* x_1;
@@ -13234,14 +13953,14 @@ x_1 = lean_mk_string("anyOf: empty list");
return x_1;
}
}
-lean_object* l_Lean_Parser_anyOfFn___main(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l_Lean_Parser_anyOfFn(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
if (lean_obj_tag(x_1) == 0)
{
lean_object* x_4; lean_object* x_5;
lean_dec(x_2);
-x_4 = l_Lean_Parser_anyOfFn___main___closed__1;
+x_4 = l_Lean_Parser_anyOfFn___closed__1;
x_5 = l_Lean_Parser_ParserState_mkError(x_3, x_4);
return x_5;
}
@@ -13264,73 +13983,51 @@ return x_9;
}
else
{
-lean_object* x_10; lean_object* 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_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; lean_object* x_14;
x_10 = lean_ctor_get(x_1, 0);
lean_inc(x_10);
lean_dec(x_1);
x_11 = lean_ctor_get(x_10, 1);
lean_inc(x_11);
lean_dec(x_10);
-x_12 = lean_ctor_get(x_3, 0);
-lean_inc(x_12);
-x_13 = lean_array_get_size(x_12);
-lean_dec(x_12);
-x_14 = lean_ctor_get(x_3, 1);
-lean_inc(x_14);
-lean_inc(x_2);
-x_15 = lean_apply_2(x_11, x_2, x_3);
-x_16 = lean_ctor_get(x_15, 3);
-lean_inc(x_16);
-if (lean_obj_tag(x_16) == 0)
-{
-lean_dec(x_14);
-lean_dec(x_13);
-lean_dec(x_6);
-lean_dec(x_2);
-return x_15;
-}
-else
-{
-lean_object* x_17; lean_object* x_18; uint8_t x_19;
-x_17 = lean_ctor_get(x_16, 0);
-lean_inc(x_17);
-lean_dec(x_16);
-x_18 = lean_ctor_get(x_15, 1);
-lean_inc(x_18);
-x_19 = lean_nat_dec_eq(x_18, x_14);
-lean_dec(x_18);
-if (x_19 == 0)
-{
-lean_dec(x_17);
-lean_dec(x_14);
-lean_dec(x_13);
-lean_dec(x_6);
-lean_dec(x_2);
-return x_15;
-}
-else
-{
-lean_object* x_20; lean_object* x_21; uint8_t x_22; lean_object* x_23;
-lean_inc(x_14);
-x_20 = l_Lean_Parser_ParserState_restore(x_15, x_13, x_14);
-lean_dec(x_13);
-x_21 = l_Lean_Parser_anyOfFn___main(x_6, x_2, x_20);
-x_22 = 1;
-x_23 = l_Lean_Parser_mergeOrElseErrors(x_21, x_17, x_14, x_22);
-lean_dec(x_14);
-return x_23;
+x_12 = lean_alloc_closure((void*)(l_Lean_Parser_anyOfFn), 3, 1);
+lean_closure_set(x_12, 0, x_6);
+x_13 = 1;
+x_14 = l_Lean_Parser_orelseFnCore(x_11, x_12, x_13, x_2, x_3);
+return x_14;
}
}
}
}
-}
-}
-lean_object* l_Lean_Parser_anyOfFn(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l_Lean_Parser_checkColGeFn_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
-lean_object* x_4;
-x_4 = l_Lean_Parser_anyOfFn___main(x_1, x_2, x_3);
-return x_4;
+if (lean_obj_tag(x_1) == 0)
+{
+lean_object* x_4; lean_object* x_5;
+lean_dec(x_3);
+x_4 = lean_box(0);
+x_5 = lean_apply_1(x_2, x_4);
+return x_5;
+}
+else
+{
+lean_object* x_6; lean_object* x_7;
+lean_dec(x_2);
+x_6 = lean_ctor_get(x_1, 0);
+lean_inc(x_6);
+lean_dec(x_1);
+x_7 = lean_apply_1(x_3, x_6);
+return x_7;
+}
+}
+}
+lean_object* l_Lean_Parser_checkColGeFn_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_checkColGeFn_match__1___rarg), 3, 0);
+return x_2;
}
}
lean_object* l_Lean_Parser_checkColGeFn(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
@@ -13394,6 +14091,37 @@ lean_ctor_set(x_4, 1, x_2);
return x_4;
}
}
+lean_object* l_Lean_Parser_checkColGtFn_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+if (lean_obj_tag(x_1) == 0)
+{
+lean_object* x_4; lean_object* x_5;
+lean_dec(x_3);
+x_4 = lean_box(0);
+x_5 = lean_apply_1(x_2, x_4);
+return x_5;
+}
+else
+{
+lean_object* x_6; lean_object* x_7;
+lean_dec(x_2);
+x_6 = lean_ctor_get(x_1, 0);
+lean_inc(x_6);
+lean_dec(x_1);
+x_7 = lean_apply_1(x_3, x_6);
+return x_7;
+}
+}
+}
+lean_object* l_Lean_Parser_checkColGtFn_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_checkColGtFn_match__1___rarg), 3, 0);
+return x_2;
+}
+}
lean_object* l_Lean_Parser_checkColGtFn(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
@@ -13455,6 +14183,37 @@ lean_ctor_set(x_4, 1, x_2);
return x_4;
}
}
+lean_object* l_Lean_Parser_checkLineEqFn_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+if (lean_obj_tag(x_1) == 0)
+{
+lean_object* x_4; lean_object* x_5;
+lean_dec(x_3);
+x_4 = lean_box(0);
+x_5 = lean_apply_1(x_2, x_4);
+return x_5;
+}
+else
+{
+lean_object* x_6; lean_object* x_7;
+lean_dec(x_2);
+x_6 = lean_ctor_get(x_1, 0);
+lean_inc(x_6);
+lean_dec(x_1);
+x_7 = lean_apply_1(x_3, x_6);
+return x_7;
+}
+}
+}
+lean_object* l_Lean_Parser_checkLineEqFn_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_checkLineEqFn_match__1___rarg), 3, 0);
+return x_2;
+}
+}
lean_object* l_Lean_Parser_checkLineEqFn(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
@@ -13523,61 +14282,111 @@ uint8_t x_4;
x_4 = !lean_is_exclusive(x_2);
if (x_4 == 0)
{
-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_5; lean_object* x_6; uint8_t x_7;
x_5 = lean_ctor_get(x_2, 0);
x_6 = lean_ctor_get(x_2, 4);
lean_dec(x_6);
-x_7 = lean_ctor_get(x_5, 2);
-lean_inc(x_7);
-x_8 = lean_ctor_get(x_3, 1);
-lean_inc(x_8);
-x_9 = l_Lean_FileMap_toPosition(x_7, x_8);
-lean_dec(x_7);
-x_10 = lean_ctor_get(x_1, 1);
-lean_inc(x_10);
+x_7 = !lean_is_exclusive(x_5);
+if (x_7 == 0)
+{
+lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
+x_8 = lean_ctor_get(x_5, 2);
+x_9 = lean_ctor_get(x_3, 1);
+lean_inc(x_9);
+x_10 = l_Lean_FileMap_toPosition(x_8, x_9);
+x_11 = lean_ctor_get(x_1, 1);
+lean_inc(x_11);
lean_dec(x_1);
-x_11 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_11, 0, x_9);
-lean_ctor_set(x_2, 4, x_11);
-x_12 = lean_apply_2(x_10, x_2, x_3);
-return x_12;
+x_12 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_12, 0, x_10);
+lean_ctor_set(x_2, 4, x_12);
+x_13 = lean_apply_2(x_11, x_2, x_3);
+return x_13;
}
else
{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t 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;
-x_13 = lean_ctor_get(x_2, 0);
-x_14 = lean_ctor_get(x_2, 1);
-x_15 = lean_ctor_get(x_2, 2);
-x_16 = lean_ctor_get(x_2, 3);
-x_17 = lean_ctor_get_uint8(x_2, sizeof(void*)*6);
-x_18 = lean_ctor_get(x_2, 5);
-lean_inc(x_18);
+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_14 = lean_ctor_get(x_5, 0);
+x_15 = lean_ctor_get(x_5, 1);
+x_16 = lean_ctor_get(x_5, 2);
lean_inc(x_16);
lean_inc(x_15);
lean_inc(x_14);
-lean_inc(x_13);
-lean_dec(x_2);
-x_19 = lean_ctor_get(x_13, 2);
+lean_dec(x_5);
+x_17 = lean_ctor_get(x_3, 1);
+lean_inc(x_17);
+x_18 = l_Lean_FileMap_toPosition(x_16, x_17);
+x_19 = lean_ctor_get(x_1, 1);
lean_inc(x_19);
-x_20 = lean_ctor_get(x_3, 1);
-lean_inc(x_20);
-x_21 = l_Lean_FileMap_toPosition(x_19, x_20);
-lean_dec(x_19);
-x_22 = lean_ctor_get(x_1, 1);
-lean_inc(x_22);
lean_dec(x_1);
-x_23 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_23, 0, x_21);
-x_24 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_24, 0, x_13);
-lean_ctor_set(x_24, 1, x_14);
-lean_ctor_set(x_24, 2, x_15);
-lean_ctor_set(x_24, 3, x_16);
-lean_ctor_set(x_24, 4, x_23);
-lean_ctor_set(x_24, 5, x_18);
-lean_ctor_set_uint8(x_24, sizeof(void*)*6, x_17);
-x_25 = lean_apply_2(x_22, x_24, x_3);
-return x_25;
+x_20 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_20, 0, x_14);
+lean_ctor_set(x_20, 1, x_15);
+lean_ctor_set(x_20, 2, x_16);
+x_21 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_21, 0, x_18);
+lean_ctor_set(x_2, 4, x_21);
+lean_ctor_set(x_2, 0, x_20);
+x_22 = lean_apply_2(x_19, x_2, x_3);
+return x_22;
+}
+}
+else
+{
+lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; uint8_t 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;
+x_23 = lean_ctor_get(x_2, 0);
+x_24 = lean_ctor_get(x_2, 1);
+x_25 = lean_ctor_get(x_2, 2);
+x_26 = lean_ctor_get(x_2, 3);
+x_27 = lean_ctor_get_uint8(x_2, sizeof(void*)*6);
+x_28 = lean_ctor_get(x_2, 5);
+lean_inc(x_28);
+lean_inc(x_26);
+lean_inc(x_25);
+lean_inc(x_24);
+lean_inc(x_23);
+lean_dec(x_2);
+x_29 = lean_ctor_get(x_23, 0);
+lean_inc(x_29);
+x_30 = lean_ctor_get(x_23, 1);
+lean_inc(x_30);
+x_31 = lean_ctor_get(x_23, 2);
+lean_inc(x_31);
+if (lean_is_exclusive(x_23)) {
+ lean_ctor_release(x_23, 0);
+ lean_ctor_release(x_23, 1);
+ lean_ctor_release(x_23, 2);
+ x_32 = x_23;
+} else {
+ lean_dec_ref(x_23);
+ x_32 = lean_box(0);
+}
+x_33 = lean_ctor_get(x_3, 1);
+lean_inc(x_33);
+x_34 = l_Lean_FileMap_toPosition(x_31, x_33);
+x_35 = lean_ctor_get(x_1, 1);
+lean_inc(x_35);
+lean_dec(x_1);
+if (lean_is_scalar(x_32)) {
+ x_36 = lean_alloc_ctor(0, 3, 0);
+} else {
+ x_36 = x_32;
+}
+lean_ctor_set(x_36, 0, x_29);
+lean_ctor_set(x_36, 1, x_30);
+lean_ctor_set(x_36, 2, x_31);
+x_37 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_37, 0, x_34);
+x_38 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_38, 0, x_36);
+lean_ctor_set(x_38, 1, x_24);
+lean_ctor_set(x_38, 2, x_25);
+lean_ctor_set(x_38, 3, x_26);
+lean_ctor_set(x_38, 4, x_37);
+lean_ctor_set(x_38, 5, x_28);
+lean_ctor_set_uint8(x_38, sizeof(void*)*6, x_27);
+x_39 = lean_apply_2(x_35, x_38, x_3);
+return x_39;
}
}
}
@@ -13615,50 +14424,97 @@ return x_7;
lean_object* l_Lean_Parser_withoutPosition___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
-uint8_t x_4;
-x_4 = !lean_is_exclusive(x_2);
-if (x_4 == 0)
-{
-lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8;
-x_5 = lean_ctor_get(x_2, 4);
-lean_dec(x_5);
-x_6 = lean_ctor_get(x_1, 1);
-lean_inc(x_6);
+lean_object* x_4; lean_object* x_5; uint8_t x_6;
+x_4 = lean_ctor_get(x_2, 0);
+lean_inc(x_4);
+x_5 = lean_ctor_get(x_1, 1);
+lean_inc(x_5);
lean_dec(x_1);
-x_7 = lean_box(0);
-lean_ctor_set(x_2, 4, x_7);
-x_8 = lean_apply_2(x_6, x_2, x_3);
-return x_8;
+x_6 = !lean_is_exclusive(x_2);
+if (x_6 == 0)
+{
+lean_object* x_7; lean_object* x_8; uint8_t x_9;
+x_7 = lean_ctor_get(x_2, 4);
+lean_dec(x_7);
+x_8 = lean_ctor_get(x_2, 0);
+lean_dec(x_8);
+x_9 = !lean_is_exclusive(x_4);
+if (x_9 == 0)
+{
+lean_object* x_10; lean_object* x_11;
+x_10 = lean_box(0);
+lean_ctor_set(x_2, 4, x_10);
+x_11 = lean_apply_2(x_5, x_2, x_3);
+return x_11;
}
else
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
-x_9 = lean_ctor_get(x_2, 0);
-x_10 = lean_ctor_get(x_2, 1);
-x_11 = lean_ctor_get(x_2, 2);
-x_12 = lean_ctor_get(x_2, 3);
-x_13 = lean_ctor_get_uint8(x_2, sizeof(void*)*6);
-x_14 = lean_ctor_get(x_2, 5);
+lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
+x_12 = lean_ctor_get(x_4, 0);
+x_13 = lean_ctor_get(x_4, 1);
+x_14 = lean_ctor_get(x_4, 2);
lean_inc(x_14);
+lean_inc(x_13);
lean_inc(x_12);
-lean_inc(x_11);
-lean_inc(x_10);
-lean_inc(x_9);
-lean_dec(x_2);
-x_15 = lean_ctor_get(x_1, 1);
-lean_inc(x_15);
-lean_dec(x_1);
+lean_dec(x_4);
+x_15 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_15, 0, x_12);
+lean_ctor_set(x_15, 1, x_13);
+lean_ctor_set(x_15, 2, x_14);
x_16 = lean_box(0);
-x_17 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_17, 0, x_9);
-lean_ctor_set(x_17, 1, x_10);
-lean_ctor_set(x_17, 2, x_11);
-lean_ctor_set(x_17, 3, x_12);
-lean_ctor_set(x_17, 4, x_16);
-lean_ctor_set(x_17, 5, x_14);
-lean_ctor_set_uint8(x_17, sizeof(void*)*6, x_13);
-x_18 = lean_apply_2(x_15, x_17, x_3);
-return x_18;
+lean_ctor_set(x_2, 4, x_16);
+lean_ctor_set(x_2, 0, x_15);
+x_17 = lean_apply_2(x_5, x_2, x_3);
+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_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;
+x_18 = lean_ctor_get(x_2, 1);
+x_19 = lean_ctor_get(x_2, 2);
+x_20 = lean_ctor_get(x_2, 3);
+x_21 = lean_ctor_get_uint8(x_2, sizeof(void*)*6);
+x_22 = lean_ctor_get(x_2, 5);
+lean_inc(x_22);
+lean_inc(x_20);
+lean_inc(x_19);
+lean_inc(x_18);
+lean_dec(x_2);
+x_23 = lean_ctor_get(x_4, 0);
+lean_inc(x_23);
+x_24 = lean_ctor_get(x_4, 1);
+lean_inc(x_24);
+x_25 = lean_ctor_get(x_4, 2);
+lean_inc(x_25);
+if (lean_is_exclusive(x_4)) {
+ lean_ctor_release(x_4, 0);
+ lean_ctor_release(x_4, 1);
+ lean_ctor_release(x_4, 2);
+ x_26 = x_4;
+} else {
+ lean_dec_ref(x_4);
+ x_26 = lean_box(0);
+}
+if (lean_is_scalar(x_26)) {
+ x_27 = lean_alloc_ctor(0, 3, 0);
+} else {
+ x_27 = x_26;
+}
+lean_ctor_set(x_27, 0, x_23);
+lean_ctor_set(x_27, 1, x_24);
+lean_ctor_set(x_27, 2, x_25);
+x_28 = lean_box(0);
+x_29 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_29, 0, x_27);
+lean_ctor_set(x_29, 1, x_18);
+lean_ctor_set(x_29, 2, x_19);
+lean_ctor_set(x_29, 3, x_20);
+lean_ctor_set(x_29, 4, x_28);
+lean_ctor_set(x_29, 5, x_22);
+lean_ctor_set_uint8(x_29, sizeof(void*)*6, x_21);
+x_30 = lean_apply_2(x_5, x_29, x_3);
+return x_30;
}
}
}
@@ -13696,51 +14552,102 @@ return x_7;
lean_object* l_Lean_Parser_withForbidden___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
-lean_object* x_5; uint8_t x_6;
-x_5 = lean_ctor_get(x_1, 1);
+lean_object* x_5; lean_object* x_6; uint8_t x_7;
+x_5 = lean_ctor_get(x_3, 0);
lean_inc(x_5);
+x_6 = lean_ctor_get(x_1, 1);
+lean_inc(x_6);
lean_dec(x_1);
-x_6 = !lean_is_exclusive(x_3);
-if (x_6 == 0)
+x_7 = !lean_is_exclusive(x_3);
+if (x_7 == 0)
{
-lean_object* x_7; lean_object* x_8; lean_object* x_9;
-x_7 = lean_ctor_get(x_3, 5);
-lean_dec(x_7);
-x_8 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_8, 0, x_2);
-lean_ctor_set(x_3, 5, x_8);
-x_9 = lean_apply_2(x_5, x_3, x_4);
-return x_9;
+lean_object* x_8; lean_object* x_9; uint8_t x_10;
+x_8 = lean_ctor_get(x_3, 5);
+lean_dec(x_8);
+x_9 = lean_ctor_get(x_3, 0);
+lean_dec(x_9);
+x_10 = !lean_is_exclusive(x_5);
+if (x_10 == 0)
+{
+lean_object* x_11; lean_object* x_12;
+x_11 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_11, 0, x_2);
+lean_ctor_set(x_3, 5, x_11);
+x_12 = lean_apply_2(x_6, x_3, x_4);
+return x_12;
}
else
{
-lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
-x_10 = lean_ctor_get(x_3, 0);
-x_11 = lean_ctor_get(x_3, 1);
-x_12 = lean_ctor_get(x_3, 2);
-x_13 = lean_ctor_get(x_3, 3);
-x_14 = lean_ctor_get_uint8(x_3, sizeof(void*)*6);
-x_15 = lean_ctor_get(x_3, 4);
+lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
+x_13 = lean_ctor_get(x_5, 0);
+x_14 = lean_ctor_get(x_5, 1);
+x_15 = lean_ctor_get(x_5, 2);
lean_inc(x_15);
+lean_inc(x_14);
lean_inc(x_13);
-lean_inc(x_12);
-lean_inc(x_11);
-lean_inc(x_10);
-lean_dec(x_3);
-x_16 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_16, 0, x_2);
-x_17 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_17, 0, x_10);
-lean_ctor_set(x_17, 1, x_11);
-lean_ctor_set(x_17, 2, x_12);
-lean_ctor_set(x_17, 3, x_13);
-lean_ctor_set(x_17, 4, x_15);
-lean_ctor_set(x_17, 5, x_16);
-lean_ctor_set_uint8(x_17, sizeof(void*)*6, x_14);
-x_18 = lean_apply_2(x_5, x_17, x_4);
+lean_dec(x_5);
+x_16 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_16, 0, x_13);
+lean_ctor_set(x_16, 1, x_14);
+lean_ctor_set(x_16, 2, x_15);
+x_17 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_17, 0, x_2);
+lean_ctor_set(x_3, 5, x_17);
+lean_ctor_set(x_3, 0, x_16);
+x_18 = lean_apply_2(x_6, x_3, x_4);
return x_18;
}
}
+else
+{
+lean_object* x_19; lean_object* x_20; lean_object* x_21; uint8_t 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;
+x_19 = lean_ctor_get(x_3, 1);
+x_20 = lean_ctor_get(x_3, 2);
+x_21 = lean_ctor_get(x_3, 3);
+x_22 = lean_ctor_get_uint8(x_3, sizeof(void*)*6);
+x_23 = lean_ctor_get(x_3, 4);
+lean_inc(x_23);
+lean_inc(x_21);
+lean_inc(x_20);
+lean_inc(x_19);
+lean_dec(x_3);
+x_24 = lean_ctor_get(x_5, 0);
+lean_inc(x_24);
+x_25 = lean_ctor_get(x_5, 1);
+lean_inc(x_25);
+x_26 = lean_ctor_get(x_5, 2);
+lean_inc(x_26);
+if (lean_is_exclusive(x_5)) {
+ lean_ctor_release(x_5, 0);
+ lean_ctor_release(x_5, 1);
+ lean_ctor_release(x_5, 2);
+ x_27 = x_5;
+} else {
+ lean_dec_ref(x_5);
+ x_27 = lean_box(0);
+}
+if (lean_is_scalar(x_27)) {
+ x_28 = lean_alloc_ctor(0, 3, 0);
+} else {
+ x_28 = x_27;
+}
+lean_ctor_set(x_28, 0, x_24);
+lean_ctor_set(x_28, 1, x_25);
+lean_ctor_set(x_28, 2, x_26);
+x_29 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_29, 0, x_2);
+x_30 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_30, 0, x_28);
+lean_ctor_set(x_30, 1, x_19);
+lean_ctor_set(x_30, 2, x_20);
+lean_ctor_set(x_30, 3, x_21);
+lean_ctor_set(x_30, 4, x_23);
+lean_ctor_set(x_30, 5, x_29);
+lean_ctor_set_uint8(x_30, sizeof(void*)*6, x_22);
+x_31 = lean_apply_2(x_6, x_30, x_4);
+return x_31;
+}
+}
}
lean_object* l_Lean_Parser_withForbidden(lean_object* x_1, lean_object* x_2) {
_start:
@@ -13777,49 +14684,99 @@ return x_8;
lean_object* l_Lean_Parser_withoutForbidden___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
-lean_object* x_4; uint8_t x_5;
-x_4 = lean_ctor_get(x_1, 1);
+lean_object* x_4; lean_object* x_5; uint8_t x_6;
+x_4 = lean_ctor_get(x_2, 0);
lean_inc(x_4);
+x_5 = lean_ctor_get(x_1, 1);
+lean_inc(x_5);
lean_dec(x_1);
-x_5 = !lean_is_exclusive(x_2);
-if (x_5 == 0)
+x_6 = !lean_is_exclusive(x_2);
+if (x_6 == 0)
{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-x_6 = lean_ctor_get(x_2, 5);
-lean_dec(x_6);
-x_7 = lean_box(0);
-lean_ctor_set(x_2, 5, x_7);
-x_8 = lean_apply_2(x_4, x_2, x_3);
-return x_8;
+lean_object* x_7; lean_object* x_8; uint8_t x_9;
+x_7 = lean_ctor_get(x_2, 5);
+lean_dec(x_7);
+x_8 = lean_ctor_get(x_2, 0);
+lean_dec(x_8);
+x_9 = !lean_is_exclusive(x_4);
+if (x_9 == 0)
+{
+lean_object* x_10; lean_object* x_11;
+x_10 = lean_box(0);
+lean_ctor_set(x_2, 5, x_10);
+x_11 = lean_apply_2(x_5, x_2, x_3);
+return x_11;
}
else
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_9 = lean_ctor_get(x_2, 0);
-x_10 = lean_ctor_get(x_2, 1);
-x_11 = lean_ctor_get(x_2, 2);
-x_12 = lean_ctor_get(x_2, 3);
-x_13 = lean_ctor_get_uint8(x_2, sizeof(void*)*6);
-x_14 = lean_ctor_get(x_2, 4);
+lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
+x_12 = lean_ctor_get(x_4, 0);
+x_13 = lean_ctor_get(x_4, 1);
+x_14 = lean_ctor_get(x_4, 2);
lean_inc(x_14);
+lean_inc(x_13);
lean_inc(x_12);
-lean_inc(x_11);
-lean_inc(x_10);
-lean_inc(x_9);
-lean_dec(x_2);
-x_15 = lean_box(0);
-x_16 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_16, 0, x_9);
-lean_ctor_set(x_16, 1, x_10);
-lean_ctor_set(x_16, 2, x_11);
-lean_ctor_set(x_16, 3, x_12);
-lean_ctor_set(x_16, 4, x_14);
-lean_ctor_set(x_16, 5, x_15);
-lean_ctor_set_uint8(x_16, sizeof(void*)*6, x_13);
-x_17 = lean_apply_2(x_4, x_16, x_3);
+lean_dec(x_4);
+x_15 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_15, 0, x_12);
+lean_ctor_set(x_15, 1, x_13);
+lean_ctor_set(x_15, 2, x_14);
+x_16 = lean_box(0);
+lean_ctor_set(x_2, 5, x_16);
+lean_ctor_set(x_2, 0, x_15);
+x_17 = lean_apply_2(x_5, x_2, x_3);
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_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;
+x_18 = lean_ctor_get(x_2, 1);
+x_19 = lean_ctor_get(x_2, 2);
+x_20 = lean_ctor_get(x_2, 3);
+x_21 = lean_ctor_get_uint8(x_2, sizeof(void*)*6);
+x_22 = lean_ctor_get(x_2, 4);
+lean_inc(x_22);
+lean_inc(x_20);
+lean_inc(x_19);
+lean_inc(x_18);
+lean_dec(x_2);
+x_23 = lean_ctor_get(x_4, 0);
+lean_inc(x_23);
+x_24 = lean_ctor_get(x_4, 1);
+lean_inc(x_24);
+x_25 = lean_ctor_get(x_4, 2);
+lean_inc(x_25);
+if (lean_is_exclusive(x_4)) {
+ lean_ctor_release(x_4, 0);
+ lean_ctor_release(x_4, 1);
+ lean_ctor_release(x_4, 2);
+ x_26 = x_4;
+} else {
+ lean_dec_ref(x_4);
+ x_26 = lean_box(0);
+}
+if (lean_is_scalar(x_26)) {
+ x_27 = lean_alloc_ctor(0, 3, 0);
+} else {
+ x_27 = x_26;
+}
+lean_ctor_set(x_27, 0, x_23);
+lean_ctor_set(x_27, 1, x_24);
+lean_ctor_set(x_27, 2, x_25);
+x_28 = lean_box(0);
+x_29 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_29, 0, x_27);
+lean_ctor_set(x_29, 1, x_18);
+lean_ctor_set(x_29, 2, x_19);
+lean_ctor_set(x_29, 3, x_20);
+lean_ctor_set(x_29, 4, x_22);
+lean_ctor_set(x_29, 5, x_28);
+lean_ctor_set_uint8(x_29, sizeof(void*)*6, x_21);
+x_30 = lean_apply_2(x_5, x_29, x_3);
+return x_30;
+}
+}
}
lean_object* l_Lean_Parser_withoutForbidden(lean_object* x_1) {
_start:
@@ -13920,6 +14877,37 @@ x_1 = l_Lean_Parser_eoi___closed__2;
return x_1;
}
}
+lean_object* l_Lean_Parser_TokenMap_insert_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+if (lean_obj_tag(x_1) == 0)
+{
+lean_object* x_4; lean_object* x_5;
+lean_dec(x_3);
+x_4 = lean_box(0);
+x_5 = lean_apply_1(x_2, x_4);
+return x_5;
+}
+else
+{
+lean_object* x_6; lean_object* x_7;
+lean_dec(x_2);
+x_6 = lean_ctor_get(x_1, 0);
+lean_inc(x_6);
+lean_dec(x_1);
+x_7 = lean_apply_1(x_3, x_6);
+return x_7;
+}
+}
+}
+lean_object* l_Lean_Parser_TokenMap_insert_match__1(lean_object* x_1, lean_object* x_2) {
+_start:
+{
+lean_object* x_3;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_TokenMap_insert_match__1___rarg), 3, 0);
+return x_3;
+}
+}
lean_object* l_Std_RBNode_find___at_Lean_Parser_TokenMap_insert___spec__1___rarg(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -23954,7 +24942,7 @@ lean_dec(x_1);
return x_3;
}
}
-lean_object* l_Lean_Parser_TokenMap_Inhabited(lean_object* x_1) {
+lean_object* l_Lean_Parser_TokenMap_Lean_Parser_Basic___instance__7(lean_object* x_1) {
_start:
{
lean_object* x_2;
@@ -23962,7 +24950,7 @@ x_2 = lean_box(0);
return x_2;
}
}
-lean_object* l_Lean_Parser_TokenMap_HasEmptyc(lean_object* x_1) {
+lean_object* l_Lean_Parser_TokenMap_Lean_Parser_Basic___instance__8(lean_object* x_1) {
_start:
{
lean_object* x_2;
@@ -23970,7 +24958,39 @@ x_2 = lean_box(0);
return x_2;
}
}
-static lean_object* _init_l_Lean_Parser_PrattParsingTables_inhabited___closed__1() {
+static lean_object* _init_l_Lean_Parser_PrattParsingTables_leadingTable___default() {
+_start:
+{
+lean_object* x_1;
+x_1 = lean_box(0);
+return x_1;
+}
+}
+static lean_object* _init_l_Lean_Parser_PrattParsingTables_leadingParsers___default() {
+_start:
+{
+lean_object* x_1;
+x_1 = lean_box(0);
+return x_1;
+}
+}
+static lean_object* _init_l_Lean_Parser_PrattParsingTables_trailingTable___default() {
+_start:
+{
+lean_object* x_1;
+x_1 = lean_box(0);
+return x_1;
+}
+}
+static lean_object* _init_l_Lean_Parser_PrattParsingTables_trailingParsers___default() {
+_start:
+{
+lean_object* x_1;
+x_1 = lean_box(0);
+return x_1;
+}
+}
+static lean_object* _init_l_Lean_Parser_Lean_Parser_Basic___instance__9___closed__1() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
@@ -23984,19 +25004,19 @@ lean_ctor_set(x_3, 3, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_PrattParsingTables_inhabited() {
+static lean_object* _init_l_Lean_Parser_Lean_Parser_Basic___instance__9() {
_start:
{
lean_object* x_1;
-x_1 = l_Lean_Parser_PrattParsingTables_inhabited___closed__1;
+x_1 = l_Lean_Parser_Lean_Parser_Basic___instance__9___closed__1;
return x_1;
}
}
-static lean_object* _init_l_Lean_Parser_ParserCategory_inhabited___closed__1() {
+static lean_object* _init_l_Lean_Parser_Lean_Parser_Basic___instance__10___closed__1() {
_start:
{
lean_object* x_1; uint8_t x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_PrattParsingTables_inhabited___closed__1;
+x_1 = l_Lean_Parser_Lean_Parser_Basic___instance__9___closed__1;
x_2 = 0;
x_3 = lean_alloc_ctor(0, 1, 1);
lean_ctor_set(x_3, 0, x_1);
@@ -24004,14 +25024,214 @@ lean_ctor_set_uint8(x_3, sizeof(void*)*1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_ParserCategory_inhabited() {
+static lean_object* _init_l_Lean_Parser_Lean_Parser_Basic___instance__10() {
_start:
{
lean_object* x_1;
-x_1 = l_Lean_Parser_ParserCategory_inhabited___closed__1;
+x_1 = l_Lean_Parser_Lean_Parser_Basic___instance__10___closed__1;
return x_1;
}
}
+lean_object* l_Lean_Parser_indexed_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+if (lean_obj_tag(x_1) == 0)
+{
+lean_object* x_4;
+lean_dec(x_2);
+x_4 = lean_apply_1(x_3, x_1);
+return x_4;
+}
+else
+{
+lean_object* x_5; lean_object* x_6;
+lean_dec(x_3);
+x_5 = lean_ctor_get(x_1, 0);
+lean_inc(x_5);
+lean_dec(x_1);
+x_6 = lean_apply_1(x_2, x_5);
+return x_6;
+}
+}
+}
+lean_object* l_Lean_Parser_indexed_match__1(lean_object* x_1, lean_object* x_2) {
+_start:
+{
+lean_object* x_3;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_indexed_match__1___rarg), 3, 0);
+return x_3;
+}
+}
+lean_object* l_Lean_Parser_indexed_match__2___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+if (lean_obj_tag(x_1) == 0)
+{
+lean_object* x_4;
+lean_dec(x_2);
+x_4 = lean_apply_1(x_3, x_1);
+return x_4;
+}
+else
+{
+lean_object* x_5; lean_object* x_6;
+lean_dec(x_3);
+x_5 = lean_ctor_get(x_1, 0);
+lean_inc(x_5);
+lean_dec(x_1);
+x_6 = lean_apply_1(x_2, x_5);
+return x_6;
+}
+}
+}
+lean_object* l_Lean_Parser_indexed_match__2(lean_object* x_1, lean_object* x_2) {
+_start:
+{
+lean_object* x_3;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_indexed_match__2___rarg), 3, 0);
+return x_3;
+}
+}
+lean_object* l_Lean_Parser_indexed_match__3___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+if (lean_obj_tag(x_1) == 0)
+{
+lean_object* x_4; lean_object* x_5;
+lean_dec(x_2);
+x_4 = lean_box(0);
+x_5 = lean_apply_1(x_3, x_4);
+return x_5;
+}
+else
+{
+lean_object* x_6; lean_object* x_7;
+lean_dec(x_3);
+x_6 = lean_ctor_get(x_1, 0);
+lean_inc(x_6);
+lean_dec(x_1);
+x_7 = lean_apply_1(x_2, x_6);
+return x_7;
+}
+}
+}
+lean_object* l_Lean_Parser_indexed_match__3(lean_object* x_1, lean_object* x_2) {
+_start:
+{
+lean_object* x_3;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_indexed_match__3___rarg), 3, 0);
+return x_3;
+}
+}
+lean_object* l_Lean_Parser_indexed_match__4___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
+_start:
+{
+if (lean_obj_tag(x_1) == 0)
+{
+lean_object* x_6;
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+x_6 = lean_apply_1(x_5, x_1);
+return x_6;
+}
+else
+{
+lean_object* x_7;
+x_7 = lean_ctor_get(x_1, 0);
+lean_inc(x_7);
+switch (lean_obj_tag(x_7)) {
+case 0:
+{
+lean_object* x_8;
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+x_8 = lean_apply_1(x_5, x_1);
+return x_8;
+}
+case 1:
+{
+lean_object* x_9; lean_object* x_10; lean_object* x_11;
+lean_dec(x_5);
+lean_dec(x_3);
+lean_dec(x_2);
+lean_dec(x_1);
+x_9 = lean_ctor_get(x_7, 0);
+lean_inc(x_9);
+x_10 = lean_ctor_get(x_7, 1);
+lean_inc(x_10);
+lean_dec(x_7);
+x_11 = lean_apply_2(x_4, x_9, x_10);
+return x_11;
+}
+case 2:
+{
+lean_object* x_12; lean_object* x_13; lean_object* x_14;
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_1);
+x_12 = lean_ctor_get(x_7, 0);
+lean_inc(x_12);
+x_13 = lean_ctor_get(x_7, 1);
+lean_inc(x_13);
+lean_dec(x_7);
+x_14 = lean_apply_2(x_2, x_12, x_13);
+return x_14;
+}
+default:
+{
+lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_2);
+lean_dec(x_1);
+x_15 = lean_ctor_get(x_7, 0);
+lean_inc(x_15);
+x_16 = lean_ctor_get(x_7, 1);
+lean_inc(x_16);
+x_17 = lean_ctor_get(x_7, 2);
+lean_inc(x_17);
+x_18 = lean_ctor_get(x_7, 3);
+lean_inc(x_18);
+lean_dec(x_7);
+x_19 = lean_apply_4(x_3, x_15, x_16, x_17, x_18);
+return x_19;
+}
+}
+}
+}
+}
+lean_object* l_Lean_Parser_indexed_match__4(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_indexed_match__4___rarg), 5, 0);
+return x_2;
+}
+}
+lean_object* l_Lean_Parser_indexed_match__5___rarg(lean_object* x_1, lean_object* x_2) {
+_start:
+{
+lean_object* x_3; lean_object* x_4; lean_object* x_5;
+x_3 = lean_ctor_get(x_1, 0);
+lean_inc(x_3);
+x_4 = lean_ctor_get(x_1, 1);
+lean_inc(x_4);
+lean_dec(x_1);
+x_5 = lean_apply_2(x_2, x_3, x_4);
+return x_5;
+}
+}
+lean_object* l_Lean_Parser_indexed_match__5(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_indexed_match__5___rarg), 2, 0);
+return x_2;
+}
+}
lean_object* l_Std_RBNode_find___at_Lean_Parser_indexed___spec__1___rarg(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -24165,195 +25385,547 @@ x_2 = lean_alloc_closure((void*)(l_Std_RBNode_find___at_Lean_Parser_indexed___sp
return x_2;
}
}
+lean_object* l_Std_RBNode_find___at_Lean_Parser_indexed___spec__4___rarg(lean_object* x_1, lean_object* x_2) {
+_start:
+{
+if (lean_obj_tag(x_1) == 0)
+{
+lean_object* x_3;
+x_3 = lean_box(0);
+return x_3;
+}
+else
+{
+lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; uint8_t x_8;
+x_4 = lean_ctor_get(x_1, 0);
+x_5 = lean_ctor_get(x_1, 1);
+x_6 = lean_ctor_get(x_1, 2);
+x_7 = lean_ctor_get(x_1, 3);
+x_8 = l_Lean_Name_quickLt(x_2, x_5);
+if (x_8 == 0)
+{
+uint8_t x_9;
+x_9 = l_Lean_Name_quickLt(x_5, x_2);
+if (x_9 == 0)
+{
+lean_object* x_10;
+lean_inc(x_6);
+x_10 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_10, 0, x_6);
+return x_10;
+}
+else
+{
+x_1 = x_7;
+goto _start;
+}
+}
+else
+{
+x_1 = x_4;
+goto _start;
+}
+}
+}
+}
+lean_object* l_Std_RBNode_find___at_Lean_Parser_indexed___spec__4(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Std_RBNode_find___at_Lean_Parser_indexed___spec__4___rarg___boxed), 2, 0);
+return x_2;
+}
+}
+lean_object* l_Std_RBNode_find___at_Lean_Parser_indexed___spec__5___rarg(lean_object* x_1, lean_object* x_2) {
+_start:
+{
+if (lean_obj_tag(x_1) == 0)
+{
+lean_object* x_3;
+x_3 = lean_box(0);
+return x_3;
+}
+else
+{
+lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; uint8_t x_8;
+x_4 = lean_ctor_get(x_1, 0);
+x_5 = lean_ctor_get(x_1, 1);
+x_6 = lean_ctor_get(x_1, 2);
+x_7 = lean_ctor_get(x_1, 3);
+x_8 = l_Lean_Name_quickLt(x_2, x_5);
+if (x_8 == 0)
+{
+uint8_t x_9;
+x_9 = l_Lean_Name_quickLt(x_5, x_2);
+if (x_9 == 0)
+{
+lean_object* x_10;
+lean_inc(x_6);
+x_10 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_10, 0, x_6);
+return x_10;
+}
+else
+{
+x_1 = x_7;
+goto _start;
+}
+}
+else
+{
+x_1 = x_4;
+goto _start;
+}
+}
+}
+}
+lean_object* l_Std_RBNode_find___at_Lean_Parser_indexed___spec__5(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Std_RBNode_find___at_Lean_Parser_indexed___spec__5___rarg___boxed), 2, 0);
+return x_2;
+}
+}
+lean_object* l_Std_RBNode_find___at_Lean_Parser_indexed___spec__6___rarg(lean_object* x_1, lean_object* x_2) {
+_start:
+{
+if (lean_obj_tag(x_1) == 0)
+{
+lean_object* x_3;
+x_3 = lean_box(0);
+return x_3;
+}
+else
+{
+lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; uint8_t x_8;
+x_4 = lean_ctor_get(x_1, 0);
+x_5 = lean_ctor_get(x_1, 1);
+x_6 = lean_ctor_get(x_1, 2);
+x_7 = lean_ctor_get(x_1, 3);
+x_8 = l_Lean_Name_quickLt(x_2, x_5);
+if (x_8 == 0)
+{
+uint8_t x_9;
+x_9 = l_Lean_Name_quickLt(x_5, x_2);
+if (x_9 == 0)
+{
+lean_object* x_10;
+lean_inc(x_6);
+x_10 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_10, 0, x_6);
+return x_10;
+}
+else
+{
+x_1 = x_7;
+goto _start;
+}
+}
+else
+{
+x_1 = x_4;
+goto _start;
+}
+}
+}
+}
+lean_object* l_Std_RBNode_find___at_Lean_Parser_indexed___spec__6(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Std_RBNode_find___at_Lean_Parser_indexed___spec__6___rarg___boxed), 2, 0);
+return x_2;
+}
+}
lean_object* l_Lean_Parser_indexed___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, uint8_t x_4) {
_start:
{
-lean_object* x_5; lean_object* x_37; lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_37 = lean_ctor_get(x_3, 2);
-lean_inc(x_37);
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-x_39 = lean_ctor_get(x_3, 1);
-lean_inc(x_39);
-x_40 = lean_nat_dec_eq(x_38, x_39);
-lean_dec(x_39);
-lean_dec(x_38);
-if (x_40 == 0)
-{
-lean_object* x_41;
-lean_dec(x_37);
-x_41 = l_Lean_Parser_peekTokenAux(x_2, x_3);
-x_5 = x_41;
-goto block_36;
-}
-else
-{
-lean_object* x_42; lean_object* x_43; lean_object* x_44;
-lean_dec(x_2);
-x_42 = lean_ctor_get(x_37, 2);
-lean_inc(x_42);
-lean_dec(x_37);
-x_43 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_43, 0, x_42);
-x_44 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_44, 0, x_3);
-lean_ctor_set(x_44, 1, x_43);
-x_5 = x_44;
-goto block_36;
-}
-block_36:
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9;
-x_6 = lean_ctor_get(x_5, 0);
+lean_object* x_5; lean_object* x_6;
+x_5 = l_Lean_Parser_peekToken(x_2, x_3);
+x_6 = lean_ctor_get(x_5, 1);
lean_inc(x_6);
-x_7 = lean_ctor_get(x_5, 1);
-lean_inc(x_7);
-if (lean_is_exclusive(x_5)) {
- lean_ctor_release(x_5, 0);
- lean_ctor_release(x_5, 1);
- x_8 = x_5;
-} else {
- lean_dec_ref(x_5);
- x_8 = lean_box(0);
-}
-if (lean_obj_tag(x_7) == 0)
+if (lean_obj_tag(x_6) == 0)
{
-lean_object* x_16; lean_object* x_17;
+uint8_t x_7;
+x_7 = !lean_is_exclusive(x_5);
+if (x_7 == 0)
+{
+lean_object* x_8; lean_object* x_9;
+x_8 = lean_ctor_get(x_5, 1);
lean_dec(x_8);
-x_16 = lean_box(0);
-x_17 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_17, 0, x_6);
-lean_ctor_set(x_17, 1, x_16);
-return x_17;
+x_9 = lean_box(0);
+lean_ctor_set(x_5, 1, x_9);
+return x_5;
}
else
{
-lean_object* x_18;
-x_18 = lean_ctor_get(x_7, 0);
-lean_inc(x_18);
-lean_dec(x_7);
-switch (lean_obj_tag(x_18)) {
+lean_object* x_10; lean_object* x_11; lean_object* x_12;
+x_10 = lean_ctor_get(x_5, 0);
+lean_inc(x_10);
+lean_dec(x_5);
+x_11 = lean_box(0);
+x_12 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_12, 0, x_10);
+lean_ctor_set(x_12, 1, x_11);
+return x_12;
+}
+}
+else
+{
+lean_object* x_13;
+x_13 = lean_ctor_get(x_6, 0);
+lean_inc(x_13);
+lean_dec(x_6);
+switch (lean_obj_tag(x_13)) {
case 0:
{
-lean_object* x_19; lean_object* x_20;
-lean_dec(x_8);
-x_19 = lean_box(0);
-x_20 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_20, 0, x_6);
-lean_ctor_set(x_20, 1, x_19);
-return x_20;
+uint8_t x_14;
+x_14 = !lean_is_exclusive(x_5);
+if (x_14 == 0)
+{
+lean_object* x_15; lean_object* x_16;
+x_15 = lean_ctor_get(x_5, 1);
+lean_dec(x_15);
+x_16 = lean_box(0);
+lean_ctor_set(x_5, 1, x_16);
+return x_5;
+}
+else
+{
+lean_object* x_17; lean_object* x_18; lean_object* x_19;
+x_17 = lean_ctor_get(x_5, 0);
+lean_inc(x_17);
+lean_dec(x_5);
+x_18 = lean_box(0);
+x_19 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_19, 0, x_17);
+lean_ctor_set(x_19, 1, x_18);
+return x_19;
+}
}
case 1:
{
-lean_object* x_21;
-x_21 = lean_ctor_get(x_18, 0);
-lean_inc(x_21);
-lean_dec(x_18);
-x_9 = x_21;
-goto block_15;
+uint8_t x_20;
+x_20 = !lean_is_exclusive(x_5);
+if (x_20 == 0)
+{
+lean_object* x_21; lean_object* x_22; lean_object* x_23;
+x_21 = lean_ctor_get(x_5, 1);
+lean_dec(x_21);
+x_22 = lean_ctor_get(x_13, 0);
+lean_inc(x_22);
+lean_dec(x_13);
+x_23 = l_Std_RBNode_find___at_Lean_Parser_indexed___spec__1___rarg(x_1, x_22);
+lean_dec(x_22);
+if (lean_obj_tag(x_23) == 0)
+{
+lean_object* x_24;
+x_24 = lean_box(0);
+lean_ctor_set(x_5, 1, x_24);
+return x_5;
+}
+else
+{
+lean_object* x_25;
+x_25 = lean_ctor_get(x_23, 0);
+lean_inc(x_25);
+lean_dec(x_23);
+lean_ctor_set(x_5, 1, x_25);
+return x_5;
+}
+}
+else
+{
+lean_object* x_26; lean_object* x_27; lean_object* x_28;
+x_26 = lean_ctor_get(x_5, 0);
+lean_inc(x_26);
+lean_dec(x_5);
+x_27 = lean_ctor_get(x_13, 0);
+lean_inc(x_27);
+lean_dec(x_13);
+x_28 = l_Std_RBNode_find___at_Lean_Parser_indexed___spec__1___rarg(x_1, x_27);
+lean_dec(x_27);
+if (lean_obj_tag(x_28) == 0)
+{
+lean_object* x_29; lean_object* x_30;
+x_29 = lean_box(0);
+x_30 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_30, 0, x_26);
+lean_ctor_set(x_30, 1, x_29);
+return x_30;
+}
+else
+{
+lean_object* x_31; lean_object* x_32;
+x_31 = lean_ctor_get(x_28, 0);
+lean_inc(x_31);
+lean_dec(x_28);
+x_32 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_32, 0, x_26);
+lean_ctor_set(x_32, 1, x_31);
+return x_32;
+}
+}
}
case 2:
{
-lean_object* x_22; lean_object* x_23; lean_object* x_24;
-x_22 = lean_ctor_get(x_18, 1);
-lean_inc(x_22);
-lean_dec(x_18);
-x_23 = lean_box(0);
-x_24 = lean_name_mk_string(x_23, x_22);
-x_9 = x_24;
-goto block_15;
+uint8_t x_33;
+x_33 = !lean_is_exclusive(x_5);
+if (x_33 == 0)
+{
+lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38;
+x_34 = lean_ctor_get(x_5, 1);
+lean_dec(x_34);
+x_35 = lean_ctor_get(x_13, 1);
+lean_inc(x_35);
+lean_dec(x_13);
+x_36 = lean_box(0);
+x_37 = lean_name_mk_string(x_36, x_35);
+x_38 = l_Std_RBNode_find___at_Lean_Parser_indexed___spec__2___rarg(x_1, x_37);
+lean_dec(x_37);
+if (lean_obj_tag(x_38) == 0)
+{
+lean_object* x_39;
+x_39 = lean_box(0);
+lean_ctor_set(x_5, 1, x_39);
+return x_5;
+}
+else
+{
+lean_object* x_40;
+x_40 = lean_ctor_get(x_38, 0);
+lean_inc(x_40);
+lean_dec(x_38);
+lean_ctor_set(x_5, 1, x_40);
+return x_5;
+}
+}
+else
+{
+lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45;
+x_41 = lean_ctor_get(x_5, 0);
+lean_inc(x_41);
+lean_dec(x_5);
+x_42 = lean_ctor_get(x_13, 1);
+lean_inc(x_42);
+lean_dec(x_13);
+x_43 = lean_box(0);
+x_44 = lean_name_mk_string(x_43, x_42);
+x_45 = l_Std_RBNode_find___at_Lean_Parser_indexed___spec__2___rarg(x_1, x_44);
+lean_dec(x_44);
+if (lean_obj_tag(x_45) == 0)
+{
+lean_object* x_46; lean_object* x_47;
+x_46 = lean_box(0);
+x_47 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_47, 0, x_41);
+lean_ctor_set(x_47, 1, x_46);
+return x_47;
+}
+else
+{
+lean_object* x_48; lean_object* x_49;
+x_48 = lean_ctor_get(x_45, 0);
+lean_inc(x_48);
+lean_dec(x_45);
+x_49 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_49, 0, x_41);
+lean_ctor_set(x_49, 1, x_48);
+return x_49;
+}
+}
}
default:
{
if (x_4 == 0)
{
-lean_object* x_25;
-lean_dec(x_18);
-x_25 = l_Lean_identKind;
-x_9 = x_25;
-goto block_15;
+uint8_t x_50;
+lean_dec(x_13);
+x_50 = !lean_is_exclusive(x_5);
+if (x_50 == 0)
+{
+lean_object* x_51; lean_object* x_52; lean_object* x_53;
+x_51 = lean_ctor_get(x_5, 1);
+lean_dec(x_51);
+x_52 = l_Lean_identKind;
+x_53 = l_Std_RBNode_find___at_Lean_Parser_indexed___spec__3___rarg(x_1, x_52);
+if (lean_obj_tag(x_53) == 0)
+{
+lean_object* x_54;
+x_54 = lean_box(0);
+lean_ctor_set(x_5, 1, x_54);
+return x_5;
}
else
{
-lean_object* x_26; lean_object* x_27;
-x_26 = lean_ctor_get(x_18, 2);
-lean_inc(x_26);
-lean_dec(x_18);
-x_27 = l_Std_RBNode_find___at_Lean_Parser_indexed___spec__2___rarg(x_1, x_26);
-lean_dec(x_26);
-if (lean_obj_tag(x_27) == 0)
-{
-lean_object* x_28;
-x_28 = l_Lean_identKind;
-x_9 = x_28;
-goto block_15;
+lean_object* x_55;
+x_55 = lean_ctor_get(x_53, 0);
+lean_inc(x_55);
+lean_dec(x_53);
+lean_ctor_set(x_5, 1, x_55);
+return x_5;
+}
}
else
{
-lean_object* x_29; lean_object* x_30; lean_object* x_31;
-lean_dec(x_8);
-x_29 = lean_ctor_get(x_27, 0);
-lean_inc(x_29);
-lean_dec(x_27);
-x_30 = l_Lean_identKind;
-x_31 = l_Std_RBNode_find___at_Lean_Parser_indexed___spec__3___rarg(x_1, x_30);
-if (lean_obj_tag(x_31) == 0)
+lean_object* x_56; lean_object* x_57; lean_object* x_58;
+x_56 = lean_ctor_get(x_5, 0);
+lean_inc(x_56);
+lean_dec(x_5);
+x_57 = l_Lean_identKind;
+x_58 = l_Std_RBNode_find___at_Lean_Parser_indexed___spec__3___rarg(x_1, x_57);
+if (lean_obj_tag(x_58) == 0)
{
-lean_object* x_32;
-x_32 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_32, 0, x_6);
-lean_ctor_set(x_32, 1, x_29);
-return x_32;
+lean_object* x_59; lean_object* x_60;
+x_59 = lean_box(0);
+x_60 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_60, 0, x_56);
+lean_ctor_set(x_60, 1, x_59);
+return x_60;
}
else
{
-lean_object* x_33; lean_object* x_34; lean_object* x_35;
-x_33 = lean_ctor_get(x_31, 0);
-lean_inc(x_33);
-lean_dec(x_31);
-x_34 = l_List_append___rarg(x_29, x_33);
-x_35 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_35, 0, x_6);
-lean_ctor_set(x_35, 1, x_34);
-return x_35;
+lean_object* x_61; lean_object* x_62;
+x_61 = lean_ctor_get(x_58, 0);
+lean_inc(x_61);
+lean_dec(x_58);
+x_62 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_62, 0, x_56);
+lean_ctor_set(x_62, 1, x_61);
+return x_62;
}
}
}
-}
-}
-}
-block_15:
-{
-lean_object* x_10;
-x_10 = l_Std_RBNode_find___at_Lean_Parser_indexed___spec__1___rarg(x_1, x_9);
-lean_dec(x_9);
-if (lean_obj_tag(x_10) == 0)
-{
-lean_object* x_11; lean_object* x_12;
-x_11 = lean_box(0);
-if (lean_is_scalar(x_8)) {
- x_12 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_12 = x_8;
-}
-lean_ctor_set(x_12, 0, x_6);
-lean_ctor_set(x_12, 1, x_11);
-return x_12;
-}
else
{
-lean_object* x_13; lean_object* x_14;
-x_13 = lean_ctor_get(x_10, 0);
-lean_inc(x_13);
-lean_dec(x_10);
-if (lean_is_scalar(x_8)) {
- x_14 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_14 = x_8;
+uint8_t x_63;
+x_63 = !lean_is_exclusive(x_5);
+if (x_63 == 0)
+{
+lean_object* x_64; lean_object* x_65; lean_object* x_66;
+x_64 = lean_ctor_get(x_5, 1);
+lean_dec(x_64);
+x_65 = lean_ctor_get(x_13, 2);
+lean_inc(x_65);
+lean_dec(x_13);
+x_66 = l_Std_RBNode_find___at_Lean_Parser_indexed___spec__4___rarg(x_1, x_65);
+lean_dec(x_65);
+if (lean_obj_tag(x_66) == 0)
+{
+lean_object* x_67; lean_object* x_68;
+x_67 = l_Lean_identKind;
+x_68 = l_Std_RBNode_find___at_Lean_Parser_indexed___spec__5___rarg(x_1, x_67);
+if (lean_obj_tag(x_68) == 0)
+{
+lean_object* x_69;
+x_69 = lean_box(0);
+lean_ctor_set(x_5, 1, x_69);
+return x_5;
+}
+else
+{
+lean_object* x_70;
+x_70 = lean_ctor_get(x_68, 0);
+lean_inc(x_70);
+lean_dec(x_68);
+lean_ctor_set(x_5, 1, x_70);
+return x_5;
+}
+}
+else
+{
+lean_object* x_71; lean_object* x_72; lean_object* x_73;
+x_71 = lean_ctor_get(x_66, 0);
+lean_inc(x_71);
+lean_dec(x_66);
+x_72 = l_Lean_identKind;
+x_73 = l_Std_RBNode_find___at_Lean_Parser_indexed___spec__6___rarg(x_1, x_72);
+if (lean_obj_tag(x_73) == 0)
+{
+lean_ctor_set(x_5, 1, x_71);
+return x_5;
+}
+else
+{
+lean_object* x_74; lean_object* x_75;
+x_74 = lean_ctor_get(x_73, 0);
+lean_inc(x_74);
+lean_dec(x_73);
+x_75 = l_List_append___rarg(x_71, x_74);
+lean_ctor_set(x_5, 1, x_75);
+return x_5;
+}
+}
+}
+else
+{
+lean_object* x_76; lean_object* x_77; lean_object* x_78;
+x_76 = lean_ctor_get(x_5, 0);
+lean_inc(x_76);
+lean_dec(x_5);
+x_77 = lean_ctor_get(x_13, 2);
+lean_inc(x_77);
+lean_dec(x_13);
+x_78 = l_Std_RBNode_find___at_Lean_Parser_indexed___spec__4___rarg(x_1, x_77);
+lean_dec(x_77);
+if (lean_obj_tag(x_78) == 0)
+{
+lean_object* x_79; lean_object* x_80;
+x_79 = l_Lean_identKind;
+x_80 = l_Std_RBNode_find___at_Lean_Parser_indexed___spec__5___rarg(x_1, x_79);
+if (lean_obj_tag(x_80) == 0)
+{
+lean_object* x_81; lean_object* x_82;
+x_81 = lean_box(0);
+x_82 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_82, 0, x_76);
+lean_ctor_set(x_82, 1, x_81);
+return x_82;
+}
+else
+{
+lean_object* x_83; lean_object* x_84;
+x_83 = lean_ctor_get(x_80, 0);
+lean_inc(x_83);
+lean_dec(x_80);
+x_84 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_84, 0, x_76);
+lean_ctor_set(x_84, 1, x_83);
+return x_84;
+}
+}
+else
+{
+lean_object* x_85; lean_object* x_86; lean_object* x_87;
+x_85 = lean_ctor_get(x_78, 0);
+lean_inc(x_85);
+lean_dec(x_78);
+x_86 = l_Lean_identKind;
+x_87 = l_Std_RBNode_find___at_Lean_Parser_indexed___spec__6___rarg(x_1, x_86);
+if (lean_obj_tag(x_87) == 0)
+{
+lean_object* x_88;
+x_88 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_88, 0, x_76);
+lean_ctor_set(x_88, 1, x_85);
+return x_88;
+}
+else
+{
+lean_object* x_89; lean_object* x_90; lean_object* x_91;
+x_89 = lean_ctor_get(x_87, 0);
+lean_inc(x_89);
+lean_dec(x_87);
+x_90 = l_List_append___rarg(x_85, x_89);
+x_91 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_91, 0, x_76);
+lean_ctor_set(x_91, 1, x_90);
+return x_91;
+}
+}
+}
}
-lean_ctor_set(x_14, 0, x_6);
-lean_ctor_set(x_14, 1, x_13);
-return x_14;
}
}
}
@@ -24397,6 +25969,36 @@ lean_dec(x_1);
return x_3;
}
}
+lean_object* l_Std_RBNode_find___at_Lean_Parser_indexed___spec__4___rarg___boxed(lean_object* x_1, lean_object* x_2) {
+_start:
+{
+lean_object* x_3;
+x_3 = l_Std_RBNode_find___at_Lean_Parser_indexed___spec__4___rarg(x_1, x_2);
+lean_dec(x_2);
+lean_dec(x_1);
+return x_3;
+}
+}
+lean_object* l_Std_RBNode_find___at_Lean_Parser_indexed___spec__5___rarg___boxed(lean_object* x_1, lean_object* x_2) {
+_start:
+{
+lean_object* x_3;
+x_3 = l_Std_RBNode_find___at_Lean_Parser_indexed___spec__5___rarg(x_1, x_2);
+lean_dec(x_2);
+lean_dec(x_1);
+return x_3;
+}
+}
+lean_object* l_Std_RBNode_find___at_Lean_Parser_indexed___spec__6___rarg___boxed(lean_object* x_1, lean_object* x_2) {
+_start:
+{
+lean_object* x_3;
+x_3 = l_Std_RBNode_find___at_Lean_Parser_indexed___spec__6___rarg(x_1, x_2);
+lean_dec(x_2);
+lean_dec(x_1);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_indexed___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
@@ -24408,7 +26010,7 @@ lean_dec(x_1);
return x_6;
}
}
-lean_object* l_IO_mkRef___at_Lean_Parser_mkCategoryParserFnRef___spec__1(lean_object* x_1, lean_object* x_2) {
+lean_object* l_IO_mkRef___at_Lean_Parser_initFn____x40_Lean_Parser_Basic___hyg_5876____spec__1(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3; uint8_t x_4;
@@ -24433,42 +26035,42 @@ return x_7;
}
}
}
-lean_object* l_Lean_Parser_mkCategoryParserFnRef___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Basic___hyg_5876____lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
-x_4 = l_Lean_Parser_whitespace___main(x_2, x_3);
+x_4 = l_Lean_Parser_whitespace(x_2, x_3);
return x_4;
}
}
-static lean_object* _init_l_Lean_Parser_mkCategoryParserFnRef___closed__1() {
+static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Basic___hyg_5876____closed__1() {
_start:
{
lean_object* x_1;
-x_1 = lean_alloc_closure((void*)(l_Lean_Parser_mkCategoryParserFnRef___lambda__1___boxed), 3, 0);
+x_1 = lean_alloc_closure((void*)(l_Lean_Parser_initFn____x40_Lean_Parser_Basic___hyg_5876____lambda__1___boxed), 3, 0);
return x_1;
}
}
-lean_object* l_Lean_Parser_mkCategoryParserFnRef(lean_object* x_1) {
+lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Basic___hyg_5876_(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3;
-x_2 = l_Lean_Parser_mkCategoryParserFnRef___closed__1;
-x_3 = l_IO_mkRef___at_Lean_Parser_mkCategoryParserFnRef___spec__1(x_2, x_1);
+x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Basic___hyg_5876____closed__1;
+x_3 = l_IO_mkRef___at_Lean_Parser_initFn____x40_Lean_Parser_Basic___hyg_5876____spec__1(x_2, x_1);
return x_3;
}
}
-lean_object* l_Lean_Parser_mkCategoryParserFnRef___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Basic___hyg_5876____lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
-x_4 = l_Lean_Parser_mkCategoryParserFnRef___lambda__1(x_1, x_2, x_3);
+x_4 = l_Lean_Parser_initFn____x40_Lean_Parser_Basic___hyg_5876____lambda__1(x_1, x_2, x_3);
lean_dec(x_2);
lean_dec(x_1);
return x_4;
}
}
-lean_object* l_Lean_Parser_mkCategoryParserFnExtension___lambda__1(lean_object* x_1) {
+lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Basic___hyg_5895____lambda__1(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3; uint8_t x_4;
@@ -24494,19 +26096,19 @@ return x_7;
}
}
}
-static lean_object* _init_l_Lean_Parser_mkCategoryParserFnExtension___closed__1() {
+static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Basic___hyg_5895____closed__1() {
_start:
{
lean_object* x_1;
-x_1 = lean_alloc_closure((void*)(l_Lean_Parser_mkCategoryParserFnExtension___lambda__1), 1, 0);
+x_1 = lean_alloc_closure((void*)(l_Lean_Parser_initFn____x40_Lean_Parser_Basic___hyg_5895____lambda__1), 1, 0);
return x_1;
}
}
-lean_object* l_Lean_Parser_mkCategoryParserFnExtension(lean_object* x_1) {
+lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Basic___hyg_5895_(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3;
-x_2 = l_Lean_Parser_mkCategoryParserFnExtension___closed__1;
+x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Basic___hyg_5895____closed__1;
x_3 = l_Lean_EnvExtensionInterfaceUnsafe_registerExt___rarg(x_2, x_1);
return x_3;
}
@@ -24531,38 +26133,86 @@ uint8_t x_5;
x_5 = !lean_is_exclusive(x_3);
if (x_5 == 0)
{
-lean_object* x_6; lean_object* x_7;
-x_6 = lean_ctor_get(x_3, 1);
-lean_dec(x_6);
+lean_object* x_6; lean_object* x_7; uint8_t x_8;
+x_6 = lean_ctor_get(x_3, 0);
+x_7 = lean_ctor_get(x_3, 1);
+lean_dec(x_7);
+x_8 = !lean_is_exclusive(x_6);
+if (x_8 == 0)
+{
+lean_object* x_9;
lean_ctor_set(x_3, 1, x_2);
-x_7 = l_Lean_Parser_categoryParserFn(x_1, x_3, x_4);
-return x_7;
+x_9 = l_Lean_Parser_categoryParserFn(x_1, x_3, x_4);
+return x_9;
}
else
{
-lean_object* x_8; lean_object* x_9; lean_object* x_10; uint8_t x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15;
-x_8 = lean_ctor_get(x_3, 0);
-x_9 = lean_ctor_get(x_3, 2);
-x_10 = lean_ctor_get(x_3, 3);
-x_11 = lean_ctor_get_uint8(x_3, sizeof(void*)*6);
-x_12 = lean_ctor_get(x_3, 4);
-x_13 = lean_ctor_get(x_3, 5);
-lean_inc(x_13);
+lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
+x_10 = lean_ctor_get(x_6, 0);
+x_11 = lean_ctor_get(x_6, 1);
+x_12 = lean_ctor_get(x_6, 2);
lean_inc(x_12);
+lean_inc(x_11);
lean_inc(x_10);
-lean_inc(x_9);
-lean_inc(x_8);
+lean_dec(x_6);
+x_13 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_13, 0, x_10);
+lean_ctor_set(x_13, 1, x_11);
+lean_ctor_set(x_13, 2, x_12);
+lean_ctor_set(x_3, 1, x_2);
+lean_ctor_set(x_3, 0, x_13);
+x_14 = l_Lean_Parser_categoryParserFn(x_1, x_3, x_4);
+return x_14;
+}
+}
+else
+{
+lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t 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;
+x_15 = lean_ctor_get(x_3, 0);
+x_16 = lean_ctor_get(x_3, 2);
+x_17 = lean_ctor_get(x_3, 3);
+x_18 = lean_ctor_get_uint8(x_3, sizeof(void*)*6);
+x_19 = lean_ctor_get(x_3, 4);
+x_20 = lean_ctor_get(x_3, 5);
+lean_inc(x_20);
+lean_inc(x_19);
+lean_inc(x_17);
+lean_inc(x_16);
+lean_inc(x_15);
lean_dec(x_3);
-x_14 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_14, 0, x_8);
-lean_ctor_set(x_14, 1, x_2);
-lean_ctor_set(x_14, 2, x_9);
-lean_ctor_set(x_14, 3, x_10);
-lean_ctor_set(x_14, 4, x_12);
-lean_ctor_set(x_14, 5, x_13);
-lean_ctor_set_uint8(x_14, sizeof(void*)*6, x_11);
-x_15 = l_Lean_Parser_categoryParserFn(x_1, x_14, x_4);
-return x_15;
+x_21 = lean_ctor_get(x_15, 0);
+lean_inc(x_21);
+x_22 = lean_ctor_get(x_15, 1);
+lean_inc(x_22);
+x_23 = lean_ctor_get(x_15, 2);
+lean_inc(x_23);
+if (lean_is_exclusive(x_15)) {
+ lean_ctor_release(x_15, 0);
+ lean_ctor_release(x_15, 1);
+ lean_ctor_release(x_15, 2);
+ x_24 = x_15;
+} else {
+ lean_dec_ref(x_15);
+ x_24 = lean_box(0);
+}
+if (lean_is_scalar(x_24)) {
+ x_25 = lean_alloc_ctor(0, 3, 0);
+} else {
+ x_25 = x_24;
+}
+lean_ctor_set(x_25, 0, x_21);
+lean_ctor_set(x_25, 1, x_22);
+lean_ctor_set(x_25, 2, x_23);
+x_26 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_26, 0, x_25);
+lean_ctor_set(x_26, 1, x_2);
+lean_ctor_set(x_26, 2, x_16);
+lean_ctor_set(x_26, 3, x_17);
+lean_ctor_set(x_26, 4, x_19);
+lean_ctor_set(x_26, 5, x_20);
+lean_ctor_set_uint8(x_26, sizeof(void*)*6, x_18);
+x_27 = l_Lean_Parser_categoryParserFn(x_1, x_26, x_4);
+return x_27;
}
}
}
@@ -24683,6 +26333,45 @@ lean_dec(x_1);
return x_3;
}
}
+lean_object* l_Lean_Parser_setExpectedFn_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+lean_object* x_4;
+x_4 = lean_ctor_get(x_1, 3);
+lean_inc(x_4);
+if (lean_obj_tag(x_4) == 0)
+{
+lean_object* x_5;
+lean_dec(x_2);
+x_5 = lean_apply_1(x_3, x_1);
+return x_5;
+}
+else
+{
+lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10;
+lean_dec(x_3);
+x_6 = lean_ctor_get(x_1, 0);
+lean_inc(x_6);
+x_7 = lean_ctor_get(x_1, 1);
+lean_inc(x_7);
+x_8 = lean_ctor_get(x_1, 2);
+lean_inc(x_8);
+x_9 = lean_ctor_get(x_4, 0);
+lean_inc(x_9);
+lean_dec(x_4);
+x_10 = lean_apply_5(x_2, x_1, x_9, x_6, x_7, x_8);
+return x_10;
+}
+}
+}
+lean_object* l_Lean_Parser_setExpectedFn_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_setExpectedFn_match__1___rarg), 3, 0);
+return x_2;
+}
+}
lean_object* l_Lean_Parser_setExpectedFn___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
@@ -25015,7 +26704,7 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
+x_2 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__3;
x_3 = lean_string_append(x_1, x_2);
return x_3;
}
@@ -25034,11 +26723,9 @@ static lean_object* _init_l_Lean_Parser_antiquotNestedExpr___elambda__1___closed
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__7;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -25046,194 +26733,62 @@ static lean_object* _init_l_Lean_Parser_antiquotNestedExpr___elambda__1___closed
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__3;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
-}
-}
-static lean_object* _init_l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__10() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__9;
+x_1 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__10;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
-}
-}
lean_object* l_Lean_Parser_antiquotNestedExpr___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_37; lean_object* x_38; lean_object* x_39;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8;
x_3 = lean_ctor_get(x_2, 0);
lean_inc(x_3);
x_4 = lean_array_get_size(x_3);
lean_dec(x_3);
-x_37 = lean_ctor_get(x_2, 1);
-lean_inc(x_37);
+x_5 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__3;
+x_6 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__7;
lean_inc(x_1);
-x_38 = l_Lean_Parser_tokenFn(x_1, x_2);
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
+x_7 = l_Lean_Parser_symbolFnAux(x_5, x_6, x_1, x_2);
+x_8 = lean_ctor_get(x_7, 3);
+lean_inc(x_8);
+if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_40; lean_object* x_41;
-x_40 = lean_ctor_get(x_38, 0);
-lean_inc(x_40);
-x_41 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_40);
-lean_dec(x_40);
-if (lean_obj_tag(x_41) == 2)
-{
-lean_object* x_42; lean_object* x_43; uint8_t x_44;
-x_42 = lean_ctor_get(x_41, 1);
-lean_inc(x_42);
-lean_dec(x_41);
-x_43 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__3;
-x_44 = lean_string_dec_eq(x_42, x_43);
-lean_dec(x_42);
-if (x_44 == 0)
-{
-lean_object* x_45; lean_object* x_46;
-x_45 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-x_46 = l_Lean_Parser_ParserState_mkErrorsAt(x_38, x_45, x_37);
-x_5 = x_46;
-goto block_36;
-}
-else
-{
-lean_dec(x_37);
-x_5 = x_38;
-goto block_36;
-}
-}
-else
-{
-lean_object* x_47; lean_object* x_48;
-lean_dec(x_41);
-x_47 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-x_48 = l_Lean_Parser_ParserState_mkErrorsAt(x_38, x_47, x_37);
-x_5 = x_48;
-goto block_36;
-}
-}
-else
-{
-lean_object* x_49; lean_object* x_50;
-lean_dec(x_39);
-x_49 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-x_50 = l_Lean_Parser_ParserState_mkErrorsAt(x_38, x_49, x_37);
-x_5 = x_50;
-goto block_36;
-}
-block_36:
-{
-lean_object* x_6;
-x_6 = lean_ctor_get(x_5, 3);
-lean_inc(x_6);
-if (lean_obj_tag(x_6) == 0)
-{
-lean_object* x_7; lean_object* x_8; lean_object* x_9;
-x_7 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+lean_object* x_9; lean_object* x_10; lean_object* x_11;
+x_9 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
lean_inc(x_1);
-x_8 = l_Lean_Parser_toggleInsideQuotFn(x_7, x_1, x_5);
-x_9 = lean_ctor_get(x_8, 3);
-lean_inc(x_9);
-if (lean_obj_tag(x_9) == 0)
+x_10 = l_Lean_Parser_toggleInsideQuotFn(x_9, x_1, x_7);
+x_11 = lean_ctor_get(x_10, 3);
+lean_inc(x_11);
+if (lean_obj_tag(x_11) == 0)
{
-lean_object* x_10; lean_object* x_11; lean_object* x_12;
-x_10 = lean_ctor_get(x_8, 1);
-lean_inc(x_10);
-x_11 = l_Lean_Parser_tokenFn(x_1, x_8);
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14;
-x_13 = lean_ctor_get(x_11, 0);
-lean_inc(x_13);
-x_14 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_13);
-lean_dec(x_13);
-if (lean_obj_tag(x_14) == 2)
-{
-lean_object* x_15; lean_object* x_16; uint8_t x_17;
-x_15 = lean_ctor_get(x_14, 1);
-lean_inc(x_15);
-lean_dec(x_14);
-x_16 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
-x_17 = lean_string_dec_eq(x_15, x_16);
-lean_dec(x_15);
-if (x_17 == 0)
-{
-lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
-x_18 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_19 = l_Lean_Parser_ParserState_mkErrorsAt(x_11, x_18, x_10);
-x_20 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__2;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_4);
-return x_21;
+lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
+x_12 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
+x_13 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__9;
+x_14 = l_Lean_Parser_symbolFnAux(x_12, x_13, x_1, x_10);
+x_15 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__2;
+x_16 = l_Lean_Parser_ParserState_mkNode(x_14, x_15, x_4);
+return x_16;
}
else
{
-lean_object* x_22; lean_object* x_23;
-lean_dec(x_10);
-x_22 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__2;
-x_23 = l_Lean_Parser_ParserState_mkNode(x_11, x_22, x_4);
-return x_23;
-}
-}
-else
-{
-lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
-lean_dec(x_14);
-x_24 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_25 = l_Lean_Parser_ParserState_mkErrorsAt(x_11, x_24, x_10);
-x_26 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__2;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_25, x_26, x_4);
-return x_27;
-}
-}
-else
-{
-lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31;
-lean_dec(x_12);
-x_28 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_29 = l_Lean_Parser_ParserState_mkErrorsAt(x_11, x_28, x_10);
-x_30 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__2;
-x_31 = l_Lean_Parser_ParserState_mkNode(x_29, x_30, x_4);
-return x_31;
-}
-}
-else
-{
-lean_object* x_32; lean_object* x_33;
-lean_dec(x_9);
+lean_object* x_17; lean_object* x_18;
+lean_dec(x_11);
lean_dec(x_1);
-x_32 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__2;
-x_33 = l_Lean_Parser_ParserState_mkNode(x_8, x_32, x_4);
-return x_33;
+x_17 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__2;
+x_18 = l_Lean_Parser_ParserState_mkNode(x_10, x_17, x_4);
+return x_18;
}
}
else
{
-lean_object* x_34; lean_object* x_35;
-lean_dec(x_6);
+lean_object* x_19; lean_object* x_20;
+lean_dec(x_8);
lean_dec(x_1);
-x_34 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__2;
-x_35 = l_Lean_Parser_ParserState_mkNode(x_5, x_34, x_4);
-return x_35;
-}
+x_19 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__2;
+x_20 = l_Lean_Parser_ParserState_mkNode(x_7, x_19, x_4);
+return x_20;
}
}
}
@@ -25316,56 +26871,13 @@ return x_1;
lean_object* l_Lean_Parser_antiquotExpr___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-lean_inc(x_1);
-x_6 = l_Lean_Parser_identFn(x_1, x_2);
-x_7 = lean_ctor_get(x_6, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
-{
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_1);
+lean_object* x_3; lean_object* x_4; uint8_t x_5; lean_object* x_6;
+x_3 = l_Lean_Parser_identNoAntiquot___closed__2;
+x_4 = l_Lean_Parser_antiquotNestedExpr___closed__6;
+x_5 = 1;
+x_6 = l_Lean_Parser_orelseFnCore(x_3, x_4, x_5, x_1, x_2);
return x_6;
}
-else
-{
-lean_object* x_8; lean_object* x_9; uint8_t x_10;
-x_8 = lean_ctor_get(x_7, 0);
-lean_inc(x_8);
-lean_dec(x_7);
-x_9 = lean_ctor_get(x_6, 1);
-lean_inc(x_9);
-x_10 = lean_nat_dec_eq(x_9, x_5);
-lean_dec(x_9);
-if (x_10 == 0)
-{
-lean_dec(x_8);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_6;
-}
-else
-{
-lean_object* x_11; lean_object* x_12; uint8_t x_13; lean_object* x_14;
-lean_inc(x_5);
-x_11 = l_Lean_Parser_ParserState_restore(x_6, x_4, x_5);
-lean_dec(x_4);
-x_12 = l_Lean_Parser_antiquotNestedExpr___elambda__1(x_1, x_11);
-x_13 = 1;
-x_14 = l_Lean_Parser_mergeOrElseErrors(x_12, x_8, x_5, x_13);
-lean_dec(x_5);
-return x_14;
-}
-}
-}
}
static lean_object* _init_l_Lean_Parser_antiquotExpr___closed__1() {
_start:
@@ -25891,45 +27403,78 @@ lean_dec(x_1);
return x_5;
}
}
-uint8_t l_Lean_Parser_tryAnti(lean_object* x_1, lean_object* x_2) {
+lean_object* l_Lean_Parser_tryAnti_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
-lean_object* x_3; lean_object* x_12; lean_object* x_13; lean_object* x_14; uint8_t x_15;
-x_12 = lean_ctor_get(x_2, 2);
-lean_inc(x_12);
-x_13 = lean_ctor_get(x_12, 0);
-lean_inc(x_13);
-x_14 = lean_ctor_get(x_2, 1);
-lean_inc(x_14);
-x_15 = lean_nat_dec_eq(x_13, x_14);
-lean_dec(x_14);
-lean_dec(x_13);
-if (x_15 == 0)
+if (lean_obj_tag(x_1) == 0)
{
-lean_object* x_16;
-lean_dec(x_12);
-x_16 = l_Lean_Parser_peekTokenAux(x_1, x_2);
-x_3 = x_16;
-goto block_11;
+lean_object* x_4;
+lean_dec(x_2);
+x_4 = lean_apply_1(x_3, x_1);
+return x_4;
}
else
{
-lean_object* x_17; lean_object* x_18; lean_object* x_19;
-lean_dec(x_1);
-x_17 = lean_ctor_get(x_12, 2);
-lean_inc(x_17);
-lean_dec(x_12);
-x_18 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_18, 0, x_17);
-x_19 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_19, 0, x_2);
-lean_ctor_set(x_19, 1, x_18);
-x_3 = x_19;
-goto block_11;
-}
-block_11:
+lean_object* x_5;
+x_5 = lean_ctor_get(x_1, 0);
+lean_inc(x_5);
+if (lean_obj_tag(x_5) == 2)
{
-lean_object* x_4;
+lean_object* x_6; lean_object* x_7; lean_object* x_8;
+lean_dec(x_3);
+lean_dec(x_1);
+x_6 = lean_ctor_get(x_5, 0);
+lean_inc(x_6);
+x_7 = lean_ctor_get(x_5, 1);
+lean_inc(x_7);
+x_8 = lean_apply_3(x_2, x_5, x_6, x_7);
+return x_8;
+}
+else
+{
+lean_object* x_9;
+lean_dec(x_5);
+lean_dec(x_2);
+x_9 = lean_apply_1(x_3, x_1);
+return x_9;
+}
+}
+}
+}
+lean_object* l_Lean_Parser_tryAnti_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_tryAnti_match__1___rarg), 3, 0);
+return x_2;
+}
+}
+lean_object* l_Lean_Parser_tryAnti_match__2___rarg(lean_object* x_1, lean_object* x_2) {
+_start:
+{
+lean_object* x_3; lean_object* x_4; lean_object* x_5;
+x_3 = lean_ctor_get(x_1, 0);
+lean_inc(x_3);
+x_4 = lean_ctor_get(x_1, 1);
+lean_inc(x_4);
+lean_dec(x_1);
+x_5 = lean_apply_2(x_2, x_3, x_4);
+return x_5;
+}
+}
+lean_object* l_Lean_Parser_tryAnti_match__2(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_tryAnti_match__2___rarg), 2, 0);
+return x_2;
+}
+}
+uint8_t l_Lean_Parser_tryAnti(lean_object* x_1, lean_object* x_2) {
+_start:
+{
+lean_object* x_3; lean_object* x_4;
+x_3 = l_Lean_Parser_peekToken(x_1, x_2);
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
lean_dec(x_3);
@@ -25966,7 +27511,6 @@ return x_10;
}
}
}
-}
lean_object* l_Lean_Parser_tryAnti___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -25992,57 +27536,10 @@ 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_ctor_get(x_4, 0);
-lean_inc(x_7);
-x_8 = lean_array_get_size(x_7);
-lean_dec(x_7);
-x_9 = lean_ctor_get(x_4, 1);
-lean_inc(x_9);
-lean_inc(x_3);
-x_10 = lean_apply_2(x_1, x_3, x_4);
-x_11 = lean_ctor_get(x_10, 3);
-lean_inc(x_11);
-if (lean_obj_tag(x_11) == 0)
-{
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_3);
-lean_dec(x_2);
-return x_10;
-}
-else
-{
-lean_object* x_12; lean_object* x_13; uint8_t x_14;
-x_12 = lean_ctor_get(x_11, 0);
-lean_inc(x_12);
-lean_dec(x_11);
-x_13 = lean_ctor_get(x_10, 1);
-lean_inc(x_13);
-x_14 = lean_nat_dec_eq(x_13, x_9);
-lean_dec(x_13);
-if (x_14 == 0)
-{
-lean_dec(x_12);
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_3);
-lean_dec(x_2);
-return x_10;
-}
-else
-{
-lean_object* x_15; lean_object* x_16; uint8_t x_17; lean_object* x_18;
-lean_inc(x_9);
-x_15 = l_Lean_Parser_ParserState_restore(x_10, x_8, x_9);
-lean_dec(x_8);
-x_16 = lean_apply_2(x_2, x_3, x_15);
-x_17 = 1;
-x_18 = l_Lean_Parser_mergeOrElseErrors(x_16, x_12, x_9, x_17);
-lean_dec(x_9);
-return x_18;
-}
-}
+uint8_t x_7; lean_object* x_8;
+x_7 = 1;
+x_8 = l_Lean_Parser_orelseFnCore(x_1, x_2, x_7, x_3, x_4);
+return x_8;
}
}
}
@@ -26086,57 +27583,10 @@ 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_ctor_get(x_4, 0);
-lean_inc(x_7);
-x_8 = lean_array_get_size(x_7);
-lean_dec(x_7);
-x_9 = lean_ctor_get(x_4, 1);
-lean_inc(x_9);
-lean_inc(x_3);
-x_10 = lean_apply_2(x_2, x_3, x_4);
-x_11 = lean_ctor_get(x_10, 3);
-lean_inc(x_11);
-if (lean_obj_tag(x_11) == 0)
-{
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_3);
-lean_dec(x_1);
-return x_10;
-}
-else
-{
-lean_object* x_12; lean_object* x_13; uint8_t x_14;
-x_12 = lean_ctor_get(x_11, 0);
-lean_inc(x_12);
-lean_dec(x_11);
-x_13 = lean_ctor_get(x_10, 1);
-lean_inc(x_13);
-x_14 = lean_nat_dec_eq(x_13, x_9);
-lean_dec(x_13);
-if (x_14 == 0)
-{
-lean_dec(x_12);
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_3);
-lean_dec(x_1);
-return x_10;
-}
-else
-{
-lean_object* x_15; lean_object* x_16; uint8_t x_17; lean_object* x_18;
-lean_inc(x_9);
-x_15 = l_Lean_Parser_ParserState_restore(x_10, x_8, x_9);
-lean_dec(x_8);
-x_16 = lean_apply_2(x_1, x_3, x_15);
-x_17 = 1;
-x_18 = l_Lean_Parser_mergeOrElseErrors(x_16, x_12, x_9, x_17);
-lean_dec(x_9);
-return x_18;
-}
-}
+uint8_t x_7; lean_object* x_8;
+x_7 = 1;
+x_8 = l_Lean_Parser_orelseFnCore(x_2, x_1, x_7, x_3, x_4);
+return x_8;
}
}
}
@@ -26223,55 +27673,11 @@ 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_ctor_get(x_2, 0);
-lean_inc(x_7);
-x_8 = lean_array_get_size(x_7);
-lean_dec(x_7);
-x_9 = lean_ctor_get(x_2, 1);
-lean_inc(x_9);
-lean_inc(x_1);
-x_10 = lean_apply_2(x_4, x_1, x_2);
-x_11 = lean_ctor_get(x_10, 3);
-lean_inc(x_11);
-if (lean_obj_tag(x_11) == 0)
-{
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_1);
-return x_10;
-}
-else
-{
-lean_object* x_12; lean_object* x_13; uint8_t x_14;
-x_12 = lean_ctor_get(x_11, 0);
-lean_inc(x_12);
-lean_dec(x_11);
-x_13 = lean_ctor_get(x_10, 1);
-lean_inc(x_13);
-x_14 = lean_nat_dec_eq(x_13, x_9);
-lean_dec(x_13);
-if (x_14 == 0)
-{
-lean_dec(x_12);
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_1);
-return x_10;
-}
-else
-{
-lean_object* x_15; lean_object* x_16; uint8_t x_17; lean_object* x_18;
-lean_inc(x_9);
-x_15 = l_Lean_Parser_ParserState_restore(x_10, x_8, x_9);
-lean_dec(x_8);
-x_16 = l_Lean_Parser_identFn(x_1, x_15);
-x_17 = 1;
-x_18 = l_Lean_Parser_mergeOrElseErrors(x_16, x_12, x_9, x_17);
-lean_dec(x_9);
-return x_18;
-}
-}
+lean_object* x_7; uint8_t x_8; lean_object* x_9;
+x_7 = l_Lean_Parser_identNoAntiquot___closed__2;
+x_8 = 1;
+x_9 = l_Lean_Parser_orelseFnCore(x_4, x_7, x_8, x_1, x_2);
+return x_9;
}
}
}
@@ -26334,55 +27740,11 @@ 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_ctor_get(x_2, 0);
-lean_inc(x_7);
-x_8 = lean_array_get_size(x_7);
-lean_dec(x_7);
-x_9 = lean_ctor_get(x_2, 1);
-lean_inc(x_9);
-lean_inc(x_1);
-x_10 = lean_apply_2(x_4, x_1, x_2);
-x_11 = lean_ctor_get(x_10, 3);
-lean_inc(x_11);
-if (lean_obj_tag(x_11) == 0)
-{
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_1);
-return x_10;
-}
-else
-{
-lean_object* x_12; lean_object* x_13; uint8_t x_14;
-x_12 = lean_ctor_get(x_11, 0);
-lean_inc(x_12);
-lean_dec(x_11);
-x_13 = lean_ctor_get(x_10, 1);
-lean_inc(x_13);
-x_14 = lean_nat_dec_eq(x_13, x_9);
-lean_dec(x_13);
-if (x_14 == 0)
-{
-lean_dec(x_12);
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_1);
-return x_10;
-}
-else
-{
-lean_object* x_15; lean_object* x_16; uint8_t x_17; lean_object* x_18;
-lean_inc(x_9);
-x_15 = l_Lean_Parser_ParserState_restore(x_10, x_8, x_9);
-lean_dec(x_8);
-x_16 = l_Lean_Parser_rawIdentFn(x_1, x_15);
-x_17 = 1;
-x_18 = l_Lean_Parser_mergeOrElseErrors(x_16, x_12, x_9, x_17);
-lean_dec(x_9);
-return x_18;
-}
-}
+lean_object* x_7; uint8_t x_8; lean_object* x_9;
+x_7 = l_Lean_Parser_rawIdentNoAntiquot___closed__1;
+x_8 = 1;
+x_9 = l_Lean_Parser_orelseFnCore(x_4, x_7, x_8, x_1, x_2);
+return x_9;
}
}
}
@@ -26466,55 +27828,11 @@ 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_ctor_get(x_2, 0);
-lean_inc(x_7);
-x_8 = lean_array_get_size(x_7);
-lean_dec(x_7);
-x_9 = lean_ctor_get(x_2, 1);
-lean_inc(x_9);
-lean_inc(x_1);
-x_10 = lean_apply_2(x_4, x_1, x_2);
-x_11 = lean_ctor_get(x_10, 3);
-lean_inc(x_11);
-if (lean_obj_tag(x_11) == 0)
-{
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_1);
-return x_10;
-}
-else
-{
-lean_object* x_12; lean_object* x_13; uint8_t x_14;
-x_12 = lean_ctor_get(x_11, 0);
-lean_inc(x_12);
-lean_dec(x_11);
-x_13 = lean_ctor_get(x_10, 1);
-lean_inc(x_13);
-x_14 = lean_nat_dec_eq(x_13, x_9);
-lean_dec(x_13);
-if (x_14 == 0)
-{
-lean_dec(x_12);
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_1);
-return x_10;
-}
-else
-{
-lean_object* x_15; lean_object* x_16; uint8_t x_17; lean_object* x_18;
-lean_inc(x_9);
-x_15 = l_Lean_Parser_ParserState_restore(x_10, x_8, x_9);
-lean_dec(x_8);
-x_16 = l_Lean_Parser_numLitFn(x_1, x_15);
-x_17 = 1;
-x_18 = l_Lean_Parser_mergeOrElseErrors(x_16, x_12, x_9, x_17);
-lean_dec(x_9);
-return x_18;
-}
-}
+lean_object* x_7; uint8_t x_8; lean_object* x_9;
+x_7 = l_Lean_Parser_numLitNoAntiquot___closed__2;
+x_8 = 1;
+x_9 = l_Lean_Parser_orelseFnCore(x_4, x_7, x_8, x_1, x_2);
+return x_9;
}
}
}
@@ -26598,55 +27916,11 @@ 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_ctor_get(x_2, 0);
-lean_inc(x_7);
-x_8 = lean_array_get_size(x_7);
-lean_dec(x_7);
-x_9 = lean_ctor_get(x_2, 1);
-lean_inc(x_9);
-lean_inc(x_1);
-x_10 = lean_apply_2(x_4, x_1, x_2);
-x_11 = lean_ctor_get(x_10, 3);
-lean_inc(x_11);
-if (lean_obj_tag(x_11) == 0)
-{
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_1);
-return x_10;
-}
-else
-{
-lean_object* x_12; lean_object* x_13; uint8_t x_14;
-x_12 = lean_ctor_get(x_11, 0);
-lean_inc(x_12);
-lean_dec(x_11);
-x_13 = lean_ctor_get(x_10, 1);
-lean_inc(x_13);
-x_14 = lean_nat_dec_eq(x_13, x_9);
-lean_dec(x_13);
-if (x_14 == 0)
-{
-lean_dec(x_12);
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_1);
-return x_10;
-}
-else
-{
-lean_object* x_15; lean_object* x_16; uint8_t x_17; lean_object* x_18;
-lean_inc(x_9);
-x_15 = l_Lean_Parser_ParserState_restore(x_10, x_8, x_9);
-lean_dec(x_8);
-x_16 = l_Lean_Parser_strLitFn(x_1, x_15);
-x_17 = 1;
-x_18 = l_Lean_Parser_mergeOrElseErrors(x_16, x_12, x_9, x_17);
-lean_dec(x_9);
-return x_18;
-}
-}
+lean_object* x_7; uint8_t x_8; lean_object* x_9;
+x_7 = l_Lean_Parser_strLitNoAntiquot___closed__2;
+x_8 = 1;
+x_9 = l_Lean_Parser_orelseFnCore(x_4, x_7, x_8, x_1, x_2);
+return x_9;
}
}
}
@@ -26730,55 +28004,11 @@ 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_ctor_get(x_2, 0);
-lean_inc(x_7);
-x_8 = lean_array_get_size(x_7);
-lean_dec(x_7);
-x_9 = lean_ctor_get(x_2, 1);
-lean_inc(x_9);
-lean_inc(x_1);
-x_10 = lean_apply_2(x_4, x_1, x_2);
-x_11 = lean_ctor_get(x_10, 3);
-lean_inc(x_11);
-if (lean_obj_tag(x_11) == 0)
-{
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_1);
-return x_10;
-}
-else
-{
-lean_object* x_12; lean_object* x_13; uint8_t x_14;
-x_12 = lean_ctor_get(x_11, 0);
-lean_inc(x_12);
-lean_dec(x_11);
-x_13 = lean_ctor_get(x_10, 1);
-lean_inc(x_13);
-x_14 = lean_nat_dec_eq(x_13, x_9);
-lean_dec(x_13);
-if (x_14 == 0)
-{
-lean_dec(x_12);
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_1);
-return x_10;
-}
-else
-{
-lean_object* x_15; lean_object* x_16; uint8_t x_17; lean_object* x_18;
-lean_inc(x_9);
-x_15 = l_Lean_Parser_ParserState_restore(x_10, x_8, x_9);
-lean_dec(x_8);
-x_16 = l_Lean_Parser_charLitFn(x_1, x_15);
-x_17 = 1;
-x_18 = l_Lean_Parser_mergeOrElseErrors(x_16, x_12, x_9, x_17);
-lean_dec(x_9);
-return x_18;
-}
-}
+lean_object* x_7; uint8_t x_8; lean_object* x_9;
+x_7 = l_Lean_Parser_charLitNoAntiquot___closed__2;
+x_8 = 1;
+x_9 = l_Lean_Parser_orelseFnCore(x_4, x_7, x_8, x_1, x_2);
+return x_9;
}
}
}
@@ -26862,55 +28092,11 @@ 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_ctor_get(x_2, 0);
-lean_inc(x_7);
-x_8 = lean_array_get_size(x_7);
-lean_dec(x_7);
-x_9 = lean_ctor_get(x_2, 1);
-lean_inc(x_9);
-lean_inc(x_1);
-x_10 = lean_apply_2(x_4, x_1, x_2);
-x_11 = lean_ctor_get(x_10, 3);
-lean_inc(x_11);
-if (lean_obj_tag(x_11) == 0)
-{
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_1);
-return x_10;
-}
-else
-{
-lean_object* x_12; lean_object* x_13; uint8_t x_14;
-x_12 = lean_ctor_get(x_11, 0);
-lean_inc(x_12);
-lean_dec(x_11);
-x_13 = lean_ctor_get(x_10, 1);
-lean_inc(x_13);
-x_14 = lean_nat_dec_eq(x_13, x_9);
-lean_dec(x_13);
-if (x_14 == 0)
-{
-lean_dec(x_12);
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_1);
-return x_10;
-}
-else
-{
-lean_object* x_15; lean_object* x_16; uint8_t x_17; lean_object* x_18;
-lean_inc(x_9);
-x_15 = l_Lean_Parser_ParserState_restore(x_10, x_8, x_9);
-lean_dec(x_8);
-x_16 = l_Lean_Parser_nameLitFn(x_1, x_15);
-x_17 = 1;
-x_18 = l_Lean_Parser_mergeOrElseErrors(x_16, x_12, x_9, x_17);
-lean_dec(x_9);
-return x_18;
-}
-}
+lean_object* x_7; uint8_t x_8; lean_object* x_9;
+x_7 = l_Lean_Parser_nameLitNoAntiquot___closed__2;
+x_8 = 1;
+x_9 = l_Lean_Parser_orelseFnCore(x_4, x_7, x_8, x_1, x_2);
+return x_9;
}
}
}
@@ -26954,6 +28140,42 @@ x_1 = l_Lean_Parser_nameLit___closed__3;
return x_1;
}
}
+lean_object* l_Lean_Parser_categoryParserOfStackFn_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+if (lean_obj_tag(x_1) == 3)
+{
+lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8;
+lean_dec(x_3);
+x_4 = lean_ctor_get(x_1, 0);
+lean_inc(x_4);
+x_5 = lean_ctor_get(x_1, 1);
+lean_inc(x_5);
+x_6 = lean_ctor_get(x_1, 2);
+lean_inc(x_6);
+x_7 = lean_ctor_get(x_1, 3);
+lean_inc(x_7);
+lean_dec(x_1);
+x_8 = lean_apply_4(x_2, x_4, x_5, x_6, x_7);
+return x_8;
+}
+else
+{
+lean_object* x_9;
+lean_dec(x_2);
+x_9 = lean_apply_1(x_3, x_1);
+return x_9;
+}
+}
+}
+lean_object* l_Lean_Parser_categoryParserOfStackFn_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_categoryParserOfStackFn_match__1___rarg), 3, 0);
+return x_2;
+}
+}
static lean_object* _init_l_Lean_Parser_categoryParserOfStackFn___closed__1() {
_start:
{
@@ -27039,38 +28261,86 @@ uint8_t x_5;
x_5 = !lean_is_exclusive(x_3);
if (x_5 == 0)
{
-lean_object* x_6; lean_object* x_7;
-x_6 = lean_ctor_get(x_3, 1);
-lean_dec(x_6);
+lean_object* x_6; lean_object* x_7; uint8_t x_8;
+x_6 = lean_ctor_get(x_3, 0);
+x_7 = lean_ctor_get(x_3, 1);
+lean_dec(x_7);
+x_8 = !lean_is_exclusive(x_6);
+if (x_8 == 0)
+{
+lean_object* x_9;
lean_ctor_set(x_3, 1, x_2);
-x_7 = l_Lean_Parser_categoryParserOfStackFn(x_1, x_3, x_4);
-return x_7;
+x_9 = l_Lean_Parser_categoryParserOfStackFn(x_1, x_3, x_4);
+return x_9;
}
else
{
-lean_object* x_8; lean_object* x_9; lean_object* x_10; uint8_t x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15;
-x_8 = lean_ctor_get(x_3, 0);
-x_9 = lean_ctor_get(x_3, 2);
-x_10 = lean_ctor_get(x_3, 3);
-x_11 = lean_ctor_get_uint8(x_3, sizeof(void*)*6);
-x_12 = lean_ctor_get(x_3, 4);
-x_13 = lean_ctor_get(x_3, 5);
-lean_inc(x_13);
+lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
+x_10 = lean_ctor_get(x_6, 0);
+x_11 = lean_ctor_get(x_6, 1);
+x_12 = lean_ctor_get(x_6, 2);
lean_inc(x_12);
+lean_inc(x_11);
lean_inc(x_10);
-lean_inc(x_9);
-lean_inc(x_8);
+lean_dec(x_6);
+x_13 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_13, 0, x_10);
+lean_ctor_set(x_13, 1, x_11);
+lean_ctor_set(x_13, 2, x_12);
+lean_ctor_set(x_3, 1, x_2);
+lean_ctor_set(x_3, 0, x_13);
+x_14 = l_Lean_Parser_categoryParserOfStackFn(x_1, x_3, x_4);
+return x_14;
+}
+}
+else
+{
+lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t 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;
+x_15 = lean_ctor_get(x_3, 0);
+x_16 = lean_ctor_get(x_3, 2);
+x_17 = lean_ctor_get(x_3, 3);
+x_18 = lean_ctor_get_uint8(x_3, sizeof(void*)*6);
+x_19 = lean_ctor_get(x_3, 4);
+x_20 = lean_ctor_get(x_3, 5);
+lean_inc(x_20);
+lean_inc(x_19);
+lean_inc(x_17);
+lean_inc(x_16);
+lean_inc(x_15);
lean_dec(x_3);
-x_14 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_14, 0, x_8);
-lean_ctor_set(x_14, 1, x_2);
-lean_ctor_set(x_14, 2, x_9);
-lean_ctor_set(x_14, 3, x_10);
-lean_ctor_set(x_14, 4, x_12);
-lean_ctor_set(x_14, 5, x_13);
-lean_ctor_set_uint8(x_14, sizeof(void*)*6, x_11);
-x_15 = l_Lean_Parser_categoryParserOfStackFn(x_1, x_14, x_4);
-return x_15;
+x_21 = lean_ctor_get(x_15, 0);
+lean_inc(x_21);
+x_22 = lean_ctor_get(x_15, 1);
+lean_inc(x_22);
+x_23 = lean_ctor_get(x_15, 2);
+lean_inc(x_23);
+if (lean_is_exclusive(x_15)) {
+ lean_ctor_release(x_15, 0);
+ lean_ctor_release(x_15, 1);
+ lean_ctor_release(x_15, 2);
+ x_24 = x_15;
+} else {
+ lean_dec_ref(x_15);
+ x_24 = lean_box(0);
+}
+if (lean_is_scalar(x_24)) {
+ x_25 = lean_alloc_ctor(0, 3, 0);
+} else {
+ x_25 = x_24;
+}
+lean_ctor_set(x_25, 0, x_21);
+lean_ctor_set(x_25, 1, x_22);
+lean_ctor_set(x_25, 2, x_23);
+x_26 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_26, 0, x_25);
+lean_ctor_set(x_26, 1, x_2);
+lean_ctor_set(x_26, 2, x_16);
+lean_ctor_set(x_26, 3, x_17);
+lean_ctor_set(x_26, 4, x_19);
+lean_ctor_set(x_26, 5, x_20);
+lean_ctor_set_uint8(x_26, sizeof(void*)*6, x_18);
+x_27 = l_Lean_Parser_categoryParserOfStackFn(x_1, x_26, x_4);
+return x_27;
}
}
}
@@ -27097,7 +28367,7 @@ lean_dec(x_1);
return x_5;
}
}
-lean_object* l___private_Lean_Parser_Basic_10__mkResult(lean_object* x_1, lean_object* x_2) {
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_mkResult(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; uint8_t x_7;
@@ -27124,6 +28394,27 @@ return x_1;
}
}
}
+lean_object* l_Lean_Parser_leadingParserAux_match__1___rarg(lean_object* x_1, lean_object* x_2) {
+_start:
+{
+lean_object* x_3; lean_object* x_4; lean_object* x_5;
+x_3 = lean_ctor_get(x_1, 0);
+lean_inc(x_3);
+x_4 = lean_ctor_get(x_1, 1);
+lean_inc(x_4);
+lean_dec(x_1);
+x_5 = lean_apply_2(x_2, x_3, x_4);
+return x_5;
+}
+}
+lean_object* l_Lean_Parser_leadingParserAux_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_leadingParserAux_match__1___rarg), 2, 0);
+return x_2;
+}
+}
lean_object* l_Lean_Parser_leadingParserAux(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
@@ -27153,7 +28444,7 @@ lean_object* x_15; lean_object* x_16; lean_object* x_17;
lean_dec(x_1);
x_15 = lean_box(0);
x_16 = l_Lean_Parser_longestMatchFn(x_15, x_13, x_4, x_10);
-x_17 = l___private_Lean_Parser_Basic_10__mkResult(x_16, x_7);
+x_17 = l___private_Lean_Parser_Basic_0__Lean_Parser_mkResult(x_16, x_7);
return x_17;
}
else
@@ -27182,73 +28473,34 @@ return x_7;
lean_object* l_Lean_Parser_leadingParser(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
-uint8_t x_7;
+lean_object* x_7; lean_object* x_8; uint8_t x_9;
+x_7 = lean_box(x_3);
+lean_inc(x_2);
+lean_inc(x_1);
+x_8 = lean_alloc_closure((void*)(l_Lean_Parser_leadingParserAux___boxed), 5, 3);
+lean_closure_set(x_8, 0, x_1);
+lean_closure_set(x_8, 1, x_2);
+lean_closure_set(x_8, 2, x_7);
lean_inc(x_6);
lean_inc(x_5);
-x_7 = l_Lean_Parser_tryAnti(x_5, x_6);
-if (x_7 == 0)
+x_9 = l_Lean_Parser_tryAnti(x_5, x_6);
+if (x_9 == 0)
{
-lean_object* x_8;
+lean_object* x_10;
+lean_dec(x_8);
lean_dec(x_4);
-x_8 = l_Lean_Parser_leadingParserAux(x_1, x_2, x_3, x_5, x_6);
-return x_8;
+x_10 = l_Lean_Parser_leadingParserAux(x_1, x_2, x_3, x_5, x_6);
+return x_10;
}
else
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
-x_9 = lean_ctor_get(x_6, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_11 = lean_ctor_get(x_6, 1);
-lean_inc(x_11);
-lean_inc(x_5);
-x_12 = lean_apply_2(x_4, x_5, x_6);
-x_13 = lean_ctor_get(x_12, 3);
-lean_inc(x_13);
-if (lean_obj_tag(x_13) == 0)
-{
-lean_dec(x_11);
-lean_dec(x_10);
-lean_dec(x_5);
+uint8_t x_11; lean_object* x_12;
lean_dec(x_2);
lean_dec(x_1);
+x_11 = 1;
+x_12 = l_Lean_Parser_orelseFnCore(x_4, x_8, x_11, x_5, x_6);
return x_12;
}
-else
-{
-lean_object* x_14; lean_object* x_15; uint8_t x_16;
-x_14 = lean_ctor_get(x_13, 0);
-lean_inc(x_14);
-lean_dec(x_13);
-x_15 = lean_ctor_get(x_12, 1);
-lean_inc(x_15);
-x_16 = lean_nat_dec_eq(x_15, x_11);
-lean_dec(x_15);
-if (x_16 == 0)
-{
-lean_dec(x_14);
-lean_dec(x_11);
-lean_dec(x_10);
-lean_dec(x_5);
-lean_dec(x_2);
-lean_dec(x_1);
-return x_12;
-}
-else
-{
-lean_object* x_17; lean_object* x_18; uint8_t x_19; lean_object* x_20;
-lean_inc(x_11);
-x_17 = l_Lean_Parser_ParserState_restore(x_12, x_10, x_11);
-lean_dec(x_10);
-x_18 = l_Lean_Parser_leadingParserAux(x_1, x_2, x_3, x_5, x_17);
-x_19 = 1;
-x_20 = l_Lean_Parser_mergeOrElseErrors(x_18, x_14, x_11, x_19);
-lean_dec(x_11);
-return x_20;
-}
-}
-}
}
}
lean_object* l_Lean_Parser_leadingParser___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
@@ -27275,11 +28527,11 @@ x_9 = l_Lean_Parser_longestMatchFn(x_6, x_8, x_4, x_5);
return x_9;
}
}
-lean_object* l___private_Lean_Parser_Basic_11__mkTrailingResult(lean_object* x_1, lean_object* x_2) {
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_mkTrailingResult(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8;
-x_3 = l___private_Lean_Parser_Basic_10__mkResult(x_1, x_2);
+x_3 = l___private_Lean_Parser_Basic_0__Lean_Parser_mkResult(x_1, x_2);
x_4 = lean_ctor_get(x_3, 0);
lean_inc(x_4);
x_5 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_4);
@@ -27290,10 +28542,31 @@ x_8 = l_Lean_Parser_ParserState_pushSyntax(x_7, x_5);
return x_8;
}
}
-lean_object* l_Lean_Parser_trailingLoop___main(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l_Lean_Parser_trailingLoop_match__1___rarg(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_4; uint8_t x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; uint8_t x_9;
+lean_object* x_3; lean_object* x_4; lean_object* x_5;
+x_3 = lean_ctor_get(x_1, 0);
+lean_inc(x_3);
+x_4 = lean_ctor_get(x_1, 1);
+lean_inc(x_4);
+lean_dec(x_1);
+x_5 = lean_apply_2(x_2, x_3, x_4);
+return x_5;
+}
+}
+lean_object* l_Lean_Parser_trailingLoop_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_trailingLoop_match__1___rarg), 2, 0);
+return x_2;
+}
+}
+lean_object* l_Lean_Parser_trailingLoop(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+lean_object* x_4; uint8_t x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; uint8_t x_9; uint8_t x_22;
x_4 = lean_ctor_get(x_1, 2);
lean_inc(x_4);
x_5 = 0;
@@ -27305,7 +28578,24 @@ lean_inc(x_7);
x_8 = lean_ctor_get(x_6, 1);
lean_inc(x_8);
lean_dec(x_6);
-x_9 = l_List_isEmpty___rarg(x_8);
+x_22 = l_List_isEmpty___rarg(x_8);
+if (x_22 == 0)
+{
+x_9 = x_5;
+goto block_21;
+}
+else
+{
+lean_object* x_23; uint8_t x_24;
+x_23 = lean_ctor_get(x_1, 3);
+lean_inc(x_23);
+x_24 = l_List_isEmpty___rarg(x_23);
+lean_dec(x_23);
+x_9 = x_24;
+goto block_21;
+}
+block_21:
+{
if (x_9 == 0)
{
lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15;
@@ -27325,7 +28615,7 @@ if (lean_obj_tag(x_15) == 0)
{
lean_object* x_16;
lean_dec(x_13);
-x_16 = l___private_Lean_Parser_Basic_11__mkTrailingResult(x_14, x_12);
+x_16 = l___private_Lean_Parser_Basic_0__Lean_Parser_mkTrailingResult(x_14, x_12);
x_3 = x_16;
goto _start;
}
@@ -27356,61 +28646,6 @@ return x_20;
}
else
{
-lean_object* x_21; uint8_t x_22;
-x_21 = lean_ctor_get(x_1, 3);
-lean_inc(x_21);
-x_22 = l_List_isEmpty___rarg(x_21);
-lean_dec(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;
-x_23 = lean_ctor_get(x_7, 0);
-lean_inc(x_23);
-x_24 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_23);
-x_25 = lean_array_get_size(x_23);
-lean_dec(x_23);
-x_26 = lean_ctor_get(x_7, 1);
-lean_inc(x_26);
-lean_inc(x_2);
-lean_inc(x_1);
-x_27 = l_Lean_Parser_trailingLoopStep(x_1, x_24, x_8, x_2, x_7);
-x_28 = lean_ctor_get(x_27, 3);
-lean_inc(x_28);
-if (lean_obj_tag(x_28) == 0)
-{
-lean_object* x_29;
-lean_dec(x_26);
-x_29 = l___private_Lean_Parser_Basic_11__mkTrailingResult(x_27, x_25);
-x_3 = x_29;
-goto _start;
-}
-else
-{
-lean_object* x_31; uint8_t x_32;
-lean_dec(x_28);
-lean_dec(x_2);
-lean_dec(x_1);
-x_31 = lean_ctor_get(x_27, 1);
-lean_inc(x_31);
-x_32 = lean_nat_dec_eq(x_31, x_26);
-lean_dec(x_31);
-if (x_32 == 0)
-{
-lean_dec(x_26);
-lean_dec(x_25);
-return x_27;
-}
-else
-{
-lean_object* x_33;
-x_33 = l_Lean_Parser_ParserState_restore(x_27, x_25, x_26);
-lean_dec(x_25);
-return x_33;
-}
-}
-}
-else
-{
lean_dec(x_8);
lean_dec(x_2);
lean_dec(x_1);
@@ -27419,115 +28654,66 @@ return x_7;
}
}
}
-lean_object* l_Lean_Parser_trailingLoop(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4;
-x_4 = l_Lean_Parser_trailingLoop___main(x_1, x_2, x_3);
-return x_4;
-}
-}
lean_object* l_Lean_Parser_prattParser(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
-uint8_t x_7;
+lean_object* x_7; lean_object* x_8; uint8_t x_9;
+x_7 = lean_box(x_3);
+lean_inc(x_2);
+lean_inc(x_1);
+x_8 = lean_alloc_closure((void*)(l_Lean_Parser_leadingParserAux___boxed), 5, 3);
+lean_closure_set(x_8, 0, x_1);
+lean_closure_set(x_8, 1, x_2);
+lean_closure_set(x_8, 2, x_7);
lean_inc(x_6);
lean_inc(x_5);
-x_7 = l_Lean_Parser_tryAnti(x_5, x_6);
-if (x_7 == 0)
+x_9 = l_Lean_Parser_tryAnti(x_5, x_6);
+if (x_9 == 0)
{
-lean_object* x_8; lean_object* x_9;
+lean_object* x_10; lean_object* x_11;
+lean_dec(x_8);
lean_dec(x_4);
lean_inc(x_5);
lean_inc(x_2);
-x_8 = l_Lean_Parser_leadingParserAux(x_1, x_2, x_3, x_5, x_6);
-x_9 = lean_ctor_get(x_8, 3);
-lean_inc(x_9);
-if (lean_obj_tag(x_9) == 0)
+x_10 = l_Lean_Parser_leadingParserAux(x_1, x_2, x_3, x_5, x_6);
+x_11 = lean_ctor_get(x_10, 3);
+lean_inc(x_11);
+if (lean_obj_tag(x_11) == 0)
{
-lean_object* x_10;
-x_10 = l_Lean_Parser_trailingLoop___main(x_2, x_5, x_8);
-return x_10;
+lean_object* x_12;
+x_12 = l_Lean_Parser_trailingLoop(x_2, x_5, x_10);
+return x_12;
}
else
{
-lean_dec(x_9);
+lean_dec(x_11);
lean_dec(x_5);
lean_dec(x_2);
-return x_8;
+return x_10;
}
}
else
{
-lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15;
-x_11 = lean_ctor_get(x_6, 0);
-lean_inc(x_11);
-x_12 = lean_array_get_size(x_11);
-lean_dec(x_11);
-x_13 = lean_ctor_get(x_6, 1);
-lean_inc(x_13);
+uint8_t x_13; lean_object* x_14; lean_object* x_15;
+lean_dec(x_1);
+x_13 = 1;
lean_inc(x_5);
-x_14 = lean_apply_2(x_4, x_5, x_6);
+x_14 = l_Lean_Parser_orelseFnCore(x_4, x_8, x_13, x_5, x_6);
x_15 = lean_ctor_get(x_14, 3);
lean_inc(x_15);
if (lean_obj_tag(x_15) == 0)
{
lean_object* x_16;
-lean_dec(x_13);
-lean_dec(x_12);
-lean_dec(x_1);
-x_16 = l_Lean_Parser_trailingLoop___main(x_2, x_5, x_14);
+x_16 = l_Lean_Parser_trailingLoop(x_2, x_5, x_14);
return x_16;
}
else
{
-lean_object* x_17; lean_object* x_18; uint8_t x_19;
-x_17 = lean_ctor_get(x_15, 0);
-lean_inc(x_17);
lean_dec(x_15);
-x_18 = lean_ctor_get(x_14, 1);
-lean_inc(x_18);
-x_19 = lean_nat_dec_eq(x_18, x_13);
-lean_dec(x_18);
-if (x_19 == 0)
-{
-lean_dec(x_17);
-lean_dec(x_13);
-lean_dec(x_12);
lean_dec(x_5);
lean_dec(x_2);
-lean_dec(x_1);
return x_14;
}
-else
-{
-lean_object* x_20; lean_object* x_21; uint8_t x_22; lean_object* x_23; lean_object* x_24;
-lean_inc(x_13);
-x_20 = l_Lean_Parser_ParserState_restore(x_14, x_12, x_13);
-lean_dec(x_12);
-lean_inc(x_5);
-lean_inc(x_2);
-x_21 = l_Lean_Parser_leadingParserAux(x_1, x_2, x_3, x_5, x_20);
-x_22 = 1;
-x_23 = l_Lean_Parser_mergeOrElseErrors(x_21, x_17, x_13, x_22);
-lean_dec(x_13);
-x_24 = lean_ctor_get(x_23, 3);
-lean_inc(x_24);
-if (lean_obj_tag(x_24) == 0)
-{
-lean_object* x_25;
-x_25 = l_Lean_Parser_trailingLoop___main(x_2, x_5, x_23);
-return x_25;
-}
-else
-{
-lean_dec(x_24);
-lean_dec(x_5);
-lean_dec(x_2);
-return x_23;
-}
-}
-}
}
}
}
@@ -27573,18 +28759,19 @@ x_10 = 48;
x_11 = x_6 == x_10;
if (x_11 == 0)
{
-lean_object* x_12; lean_object* x_13; lean_object* x_14;
-x_12 = l_Lean_Parser_takeUntilFn___main___at_Lean_Parser_decimalNumberFn___spec__2(x_1, x_2);
-x_13 = l_Lean_fieldIdxKind;
-x_14 = l_Lean_Parser_mkNodeToken(x_13, x_3, x_1, x_12);
-return x_14;
+lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15;
+x_12 = l_Lean_Parser_decimalNumberFn___closed__1;
+x_13 = l_Lean_Parser_takeWhileFn(x_12, x_1, x_2);
+x_14 = l_Lean_fieldIdxKind;
+x_15 = l_Lean_Parser_mkNodeToken(x_14, x_3, x_1, x_13);
+return x_15;
}
else
{
-lean_object* x_15; lean_object* x_16;
-x_15 = l_Lean_Parser_fieldIdxFn___closed__1;
-x_16 = l_Lean_Parser_ParserState_mkErrorAt(x_2, x_15, x_3);
-return x_16;
+lean_object* x_16; lean_object* x_17;
+x_16 = l_Lean_Parser_fieldIdxFn___closed__1;
+x_17 = l_Lean_Parser_ParserState_mkErrorAt(x_2, x_16, x_3);
+return x_17;
}
}
}
@@ -28611,16 +29798,33 @@ l_Lean_Parser_leadPrec___closed__1 = _init_l_Lean_Parser_leadPrec___closed__1();
lean_mark_persistent(l_Lean_Parser_leadPrec___closed__1);
l_Lean_Parser_leadPrec = _init_l_Lean_Parser_leadPrec();
lean_mark_persistent(l_Lean_Parser_leadPrec);
-l_Lean_Parser_InputContext_inhabited___closed__1 = _init_l_Lean_Parser_InputContext_inhabited___closed__1();
-lean_mark_persistent(l_Lean_Parser_InputContext_inhabited___closed__1);
-l_Lean_Parser_InputContext_inhabited = _init_l_Lean_Parser_InputContext_inhabited();
-lean_mark_persistent(l_Lean_Parser_InputContext_inhabited);
-l_Lean_Parser_Error_Inhabited___closed__1 = _init_l_Lean_Parser_Error_Inhabited___closed__1();
-lean_mark_persistent(l_Lean_Parser_Error_Inhabited___closed__1);
-l_Lean_Parser_Error_Inhabited = _init_l_Lean_Parser_Error_Inhabited();
-lean_mark_persistent(l_Lean_Parser_Error_Inhabited);
-l___private_Lean_Parser_Basic_1__expectedToString___main___closed__1 = _init_l___private_Lean_Parser_Basic_1__expectedToString___main___closed__1();
-lean_mark_persistent(l___private_Lean_Parser_Basic_1__expectedToString___main___closed__1);
+l_Lean_Parser_TokenCacheEntry_startPos___default = _init_l_Lean_Parser_TokenCacheEntry_startPos___default();
+lean_mark_persistent(l_Lean_Parser_TokenCacheEntry_startPos___default);
+l_Lean_Parser_TokenCacheEntry_stopPos___default = _init_l_Lean_Parser_TokenCacheEntry_stopPos___default();
+lean_mark_persistent(l_Lean_Parser_TokenCacheEntry_stopPos___default);
+l_Lean_Parser_TokenCacheEntry_token___default = _init_l_Lean_Parser_TokenCacheEntry_token___default();
+lean_mark_persistent(l_Lean_Parser_TokenCacheEntry_token___default);
+l_Lean_Parser_Lean_Parser_Basic___instance__1___closed__1 = _init_l_Lean_Parser_Lean_Parser_Basic___instance__1___closed__1();
+lean_mark_persistent(l_Lean_Parser_Lean_Parser_Basic___instance__1___closed__1);
+l_Lean_Parser_Lean_Parser_Basic___instance__1 = _init_l_Lean_Parser_Lean_Parser_Basic___instance__1();
+lean_mark_persistent(l_Lean_Parser_Lean_Parser_Basic___instance__1);
+l_Lean_Parser_Lean_Parser_Basic___instance__2 = _init_l_Lean_Parser_Lean_Parser_Basic___instance__2();
+lean_mark_persistent(l_Lean_Parser_Lean_Parser_Basic___instance__2);
+l_Lean_Parser_ParserContext_insideQuot___default = _init_l_Lean_Parser_ParserContext_insideQuot___default();
+l_Lean_Parser_ParserContext_savedPos_x3f___default = _init_l_Lean_Parser_ParserContext_savedPos_x3f___default();
+lean_mark_persistent(l_Lean_Parser_ParserContext_savedPos_x3f___default);
+l_Lean_Parser_ParserContext_forbiddenTk_x3f___default = _init_l_Lean_Parser_ParserContext_forbiddenTk_x3f___default();
+lean_mark_persistent(l_Lean_Parser_ParserContext_forbiddenTk_x3f___default);
+l_Lean_Parser_Error_unexpected___default = _init_l_Lean_Parser_Error_unexpected___default();
+lean_mark_persistent(l_Lean_Parser_Error_unexpected___default);
+l_Lean_Parser_Error_expected___default = _init_l_Lean_Parser_Error_expected___default();
+lean_mark_persistent(l_Lean_Parser_Error_expected___default);
+l_Lean_Parser_Error_Lean_Parser_Basic___instance__3___closed__1 = _init_l_Lean_Parser_Error_Lean_Parser_Basic___instance__3___closed__1();
+lean_mark_persistent(l_Lean_Parser_Error_Lean_Parser_Basic___instance__3___closed__1);
+l_Lean_Parser_Error_Lean_Parser_Basic___instance__3 = _init_l_Lean_Parser_Error_Lean_Parser_Basic___instance__3();
+lean_mark_persistent(l_Lean_Parser_Error_Lean_Parser_Basic___instance__3);
+l___private_Lean_Parser_Basic_0__Lean_Parser_Error_expectedToString___closed__1 = _init_l___private_Lean_Parser_Basic_0__Lean_Parser_Error_expectedToString___closed__1();
+lean_mark_persistent(l___private_Lean_Parser_Basic_0__Lean_Parser_Error_expectedToString___closed__1);
l_Lean_Parser_Error_toString___closed__1 = _init_l_Lean_Parser_Error_toString___closed__1();
lean_mark_persistent(l_Lean_Parser_Error_toString___closed__1);
l_Lean_Parser_Error_toString___closed__2 = _init_l_Lean_Parser_Error_toString___closed__2();
@@ -28629,24 +29833,40 @@ l_Lean_Parser_Error_toString___closed__3 = _init_l_Lean_Parser_Error_toString___
lean_mark_persistent(l_Lean_Parser_Error_toString___closed__3);
l_Lean_Parser_Error_toString___closed__4 = _init_l_Lean_Parser_Error_toString___closed__4();
lean_mark_persistent(l_Lean_Parser_Error_toString___closed__4);
-l_Lean_Parser_Error_HasToString___closed__1 = _init_l_Lean_Parser_Error_HasToString___closed__1();
-lean_mark_persistent(l_Lean_Parser_Error_HasToString___closed__1);
-l_Lean_Parser_Error_HasToString = _init_l_Lean_Parser_Error_HasToString();
-lean_mark_persistent(l_Lean_Parser_Error_HasToString);
-l_Lean_Parser_Error_HasBeq___closed__1 = _init_l_Lean_Parser_Error_HasBeq___closed__1();
-lean_mark_persistent(l_Lean_Parser_Error_HasBeq___closed__1);
-l_Lean_Parser_Error_HasBeq = _init_l_Lean_Parser_Error_HasBeq();
-lean_mark_persistent(l_Lean_Parser_Error_HasBeq);
+l_Lean_Parser_Error_Lean_Parser_Basic___instance__4___closed__1 = _init_l_Lean_Parser_Error_Lean_Parser_Basic___instance__4___closed__1();
+lean_mark_persistent(l_Lean_Parser_Error_Lean_Parser_Basic___instance__4___closed__1);
+l_Lean_Parser_Error_Lean_Parser_Basic___instance__4 = _init_l_Lean_Parser_Error_Lean_Parser_Basic___instance__4();
+lean_mark_persistent(l_Lean_Parser_Error_Lean_Parser_Basic___instance__4);
+l_Lean_Parser_Error_Lean_Parser_Basic___instance__5___closed__1 = _init_l_Lean_Parser_Error_Lean_Parser_Basic___instance__5___closed__1();
+lean_mark_persistent(l_Lean_Parser_Error_Lean_Parser_Basic___instance__5___closed__1);
+l_Lean_Parser_Error_Lean_Parser_Basic___instance__5 = _init_l_Lean_Parser_Error_Lean_Parser_Basic___instance__5();
+lean_mark_persistent(l_Lean_Parser_Error_Lean_Parser_Basic___instance__5);
+l_Lean_Parser_ParserState_stxStack___default = _init_l_Lean_Parser_ParserState_stxStack___default();
+lean_mark_persistent(l_Lean_Parser_ParserState_stxStack___default);
+l_Lean_Parser_ParserState_pos___default = _init_l_Lean_Parser_ParserState_pos___default();
+lean_mark_persistent(l_Lean_Parser_ParserState_pos___default);
+l_Lean_Parser_ParserState_errorMsg___default = _init_l_Lean_Parser_ParserState_errorMsg___default();
+lean_mark_persistent(l_Lean_Parser_ParserState_errorMsg___default);
l_Lean_Parser_ParserState_mkEOIError___closed__1 = _init_l_Lean_Parser_ParserState_mkEOIError___closed__1();
lean_mark_persistent(l_Lean_Parser_ParserState_mkEOIError___closed__1);
l_Lean_Parser_FirstTokens_toStr___closed__1 = _init_l_Lean_Parser_FirstTokens_toStr___closed__1();
lean_mark_persistent(l_Lean_Parser_FirstTokens_toStr___closed__1);
l_Lean_Parser_FirstTokens_toStr___closed__2 = _init_l_Lean_Parser_FirstTokens_toStr___closed__2();
lean_mark_persistent(l_Lean_Parser_FirstTokens_toStr___closed__2);
-l_Lean_Parser_FirstTokens_HasToString___closed__1 = _init_l_Lean_Parser_FirstTokens_HasToString___closed__1();
-lean_mark_persistent(l_Lean_Parser_FirstTokens_HasToString___closed__1);
-l_Lean_Parser_FirstTokens_HasToString = _init_l_Lean_Parser_FirstTokens_HasToString();
-lean_mark_persistent(l_Lean_Parser_FirstTokens_HasToString);
+l_Lean_Parser_FirstTokens_Lean_Parser_Basic___instance__6___closed__1 = _init_l_Lean_Parser_FirstTokens_Lean_Parser_Basic___instance__6___closed__1();
+lean_mark_persistent(l_Lean_Parser_FirstTokens_Lean_Parser_Basic___instance__6___closed__1);
+l_Lean_Parser_FirstTokens_Lean_Parser_Basic___instance__6 = _init_l_Lean_Parser_FirstTokens_Lean_Parser_Basic___instance__6();
+lean_mark_persistent(l_Lean_Parser_FirstTokens_Lean_Parser_Basic___instance__6);
+l_Lean_Parser_ParserInfo_firstTokens___default = _init_l_Lean_Parser_ParserInfo_firstTokens___default();
+lean_mark_persistent(l_Lean_Parser_ParserInfo_firstTokens___default);
+l_Lean_Parser_Parser_info___default___closed__1 = _init_l_Lean_Parser_Parser_info___default___closed__1();
+lean_mark_persistent(l_Lean_Parser_Parser_info___default___closed__1);
+l_Lean_Parser_Parser_info___default___closed__2 = _init_l_Lean_Parser_Parser_info___default___closed__2();
+lean_mark_persistent(l_Lean_Parser_Parser_info___default___closed__2);
+l_Lean_Parser_Parser_info___default___closed__3 = _init_l_Lean_Parser_Parser_info___default___closed__3();
+lean_mark_persistent(l_Lean_Parser_Parser_info___default___closed__3);
+l_Lean_Parser_Parser_info___default = _init_l_Lean_Parser_Parser_info___default();
+lean_mark_persistent(l_Lean_Parser_Parser_info___default);
l_Lean_Parser_Parser_inhabited___closed__1 = _init_l_Lean_Parser_Parser_inhabited___closed__1();
lean_mark_persistent(l_Lean_Parser_Parser_inhabited___closed__1);
l_Lean_Parser_Parser_inhabited___closed__2 = _init_l_Lean_Parser_Parser_inhabited___closed__2();
@@ -28691,32 +29911,48 @@ l_Lean_Parser_hashOrelse = _init_l_Lean_Parser_hashOrelse();
lean_mark_persistent(l_Lean_Parser_hashOrelse);
l_Lean_Parser_notFollowedByFn___closed__1 = _init_l_Lean_Parser_notFollowedByFn___closed__1();
lean_mark_persistent(l_Lean_Parser_notFollowedByFn___closed__1);
-l_Lean_Parser_manyAux___main___closed__1 = _init_l_Lean_Parser_manyAux___main___closed__1();
-lean_mark_persistent(l_Lean_Parser_manyAux___main___closed__1);
+l_Lean_Parser_manyAux___closed__1 = _init_l_Lean_Parser_manyAux___closed__1();
+lean_mark_persistent(l_Lean_Parser_manyAux___closed__1);
l_Lean_Parser_many1Unbox___closed__1 = _init_l_Lean_Parser_many1Unbox___closed__1();
lean_mark_persistent(l_Lean_Parser_many1Unbox___closed__1);
+l_Lean_Parser_whitespace___closed__1 = _init_l_Lean_Parser_whitespace___closed__1();
+lean_mark_persistent(l_Lean_Parser_whitespace___closed__1);
l_Lean_Parser_hexDigitFn___closed__1 = _init_l_Lean_Parser_hexDigitFn___closed__1();
lean_mark_persistent(l_Lean_Parser_hexDigitFn___closed__1);
l_Lean_Parser_quotedCharCoreFn___closed__1 = _init_l_Lean_Parser_quotedCharCoreFn___closed__1();
lean_mark_persistent(l_Lean_Parser_quotedCharCoreFn___closed__1);
+l_Lean_Parser_quotedCharFn___closed__1 = _init_l_Lean_Parser_quotedCharFn___closed__1();
+lean_mark_persistent(l_Lean_Parser_quotedCharFn___closed__1);
l_Lean_Parser_charLitFnAux___closed__1 = _init_l_Lean_Parser_charLitFnAux___closed__1();
lean_mark_persistent(l_Lean_Parser_charLitFnAux___closed__1);
+l_Lean_Parser_decimalNumberFn___closed__1 = _init_l_Lean_Parser_decimalNumberFn___closed__1();
+lean_mark_persistent(l_Lean_Parser_decimalNumberFn___closed__1);
l_Lean_Parser_binNumberFn___closed__1 = _init_l_Lean_Parser_binNumberFn___closed__1();
lean_mark_persistent(l_Lean_Parser_binNumberFn___closed__1);
+l_Lean_Parser_binNumberFn___closed__2 = _init_l_Lean_Parser_binNumberFn___closed__2();
+lean_mark_persistent(l_Lean_Parser_binNumberFn___closed__2);
l_Lean_Parser_octalNumberFn___closed__1 = _init_l_Lean_Parser_octalNumberFn___closed__1();
lean_mark_persistent(l_Lean_Parser_octalNumberFn___closed__1);
+l_Lean_Parser_octalNumberFn___closed__2 = _init_l_Lean_Parser_octalNumberFn___closed__2();
+lean_mark_persistent(l_Lean_Parser_octalNumberFn___closed__2);
l_Lean_Parser_hexNumberFn___closed__1 = _init_l_Lean_Parser_hexNumberFn___closed__1();
lean_mark_persistent(l_Lean_Parser_hexNumberFn___closed__1);
+l_Lean_Parser_hexNumberFn___closed__2 = _init_l_Lean_Parser_hexNumberFn___closed__2();
+lean_mark_persistent(l_Lean_Parser_hexNumberFn___closed__2);
l_Lean_Parser_numberFnAux___closed__1 = _init_l_Lean_Parser_numberFnAux___closed__1();
lean_mark_persistent(l_Lean_Parser_numberFnAux___closed__1);
l_Lean_Parser_mkTokenAndFixPos___closed__1 = _init_l_Lean_Parser_mkTokenAndFixPos___closed__1();
lean_mark_persistent(l_Lean_Parser_mkTokenAndFixPos___closed__1);
l_Lean_Parser_mkTokenAndFixPos___closed__2 = _init_l_Lean_Parser_mkTokenAndFixPos___closed__2();
lean_mark_persistent(l_Lean_Parser_mkTokenAndFixPos___closed__2);
-l_Lean_Parser_identFnAux___main___closed__1 = _init_l_Lean_Parser_identFnAux___main___closed__1();
-lean_mark_persistent(l_Lean_Parser_identFnAux___main___closed__1);
-l___private_Lean_Parser_Basic_6__nameLitAux___closed__1 = _init_l___private_Lean_Parser_Basic_6__nameLitAux___closed__1();
-lean_mark_persistent(l___private_Lean_Parser_Basic_6__nameLitAux___closed__1);
+l_Lean_Parser_identFnAux_parse___closed__1 = _init_l_Lean_Parser_identFnAux_parse___closed__1();
+lean_mark_persistent(l_Lean_Parser_identFnAux_parse___closed__1);
+l_Lean_Parser_identFnAux_parse___closed__2 = _init_l_Lean_Parser_identFnAux_parse___closed__2();
+lean_mark_persistent(l_Lean_Parser_identFnAux_parse___closed__2);
+l_Lean_Parser_identFnAux_parse___closed__3 = _init_l_Lean_Parser_identFnAux_parse___closed__3();
+lean_mark_persistent(l_Lean_Parser_identFnAux_parse___closed__3);
+l___private_Lean_Parser_Basic_0__Lean_Parser_nameLitAux___closed__1 = _init_l___private_Lean_Parser_Basic_0__Lean_Parser_nameLitAux___closed__1();
+lean_mark_persistent(l___private_Lean_Parser_Basic_0__Lean_Parser_nameLitAux___closed__1);
l_Lean_Parser_symbolInfo___closed__1 = _init_l_Lean_Parser_symbolInfo___closed__1();
lean_mark_persistent(l_Lean_Parser_symbolInfo___closed__1);
l_Lean_Parser_nonReservedSymbolInfo___closed__1 = _init_l_Lean_Parser_nonReservedSymbolInfo___closed__1();
@@ -28789,12 +30025,20 @@ l_Lean_Parser_rawIdentNoAntiquot = _init_l_Lean_Parser_rawIdentNoAntiquot();
lean_mark_persistent(l_Lean_Parser_rawIdentNoAntiquot);
l_Lean_Parser_identEqFn___closed__1 = _init_l_Lean_Parser_identEqFn___closed__1();
lean_mark_persistent(l_Lean_Parser_identEqFn___closed__1);
+l_Lean_Parser_quotedSymbolFn___closed__1___boxed__const__1 = _init_l_Lean_Parser_quotedSymbolFn___closed__1___boxed__const__1();
+lean_mark_persistent(l_Lean_Parser_quotedSymbolFn___closed__1___boxed__const__1);
l_Lean_Parser_quotedSymbolFn___closed__1 = _init_l_Lean_Parser_quotedSymbolFn___closed__1();
lean_mark_persistent(l_Lean_Parser_quotedSymbolFn___closed__1);
+l_Lean_Parser_quotedSymbolFn___closed__2___boxed__const__1 = _init_l_Lean_Parser_quotedSymbolFn___closed__2___boxed__const__1();
+lean_mark_persistent(l_Lean_Parser_quotedSymbolFn___closed__2___boxed__const__1);
l_Lean_Parser_quotedSymbolFn___closed__2 = _init_l_Lean_Parser_quotedSymbolFn___closed__2();
lean_mark_persistent(l_Lean_Parser_quotedSymbolFn___closed__2);
l_Lean_Parser_quotedSymbolFn___closed__3 = _init_l_Lean_Parser_quotedSymbolFn___closed__3();
lean_mark_persistent(l_Lean_Parser_quotedSymbolFn___closed__3);
+l_Lean_Parser_quotedSymbolFn___closed__4 = _init_l_Lean_Parser_quotedSymbolFn___closed__4();
+lean_mark_persistent(l_Lean_Parser_quotedSymbolFn___closed__4);
+l_Lean_Parser_quotedSymbolFn___closed__5 = _init_l_Lean_Parser_quotedSymbolFn___closed__5();
+lean_mark_persistent(l_Lean_Parser_quotedSymbolFn___closed__5);
l_Lean_Parser_quotedSymbol___closed__1 = _init_l_Lean_Parser_quotedSymbol___closed__1();
lean_mark_persistent(l_Lean_Parser_quotedSymbol___closed__1);
l_Lean_Parser_quotedSymbol___closed__2 = _init_l_Lean_Parser_quotedSymbol___closed__2();
@@ -28813,8 +30057,8 @@ l_Lean_Parser_invalidLongestMatchParser___closed__1 = _init_l_Lean_Parser_invali
lean_mark_persistent(l_Lean_Parser_invalidLongestMatchParser___closed__1);
l_Lean_Parser_longestMatchFn___closed__1 = _init_l_Lean_Parser_longestMatchFn___closed__1();
lean_mark_persistent(l_Lean_Parser_longestMatchFn___closed__1);
-l_Lean_Parser_anyOfFn___main___closed__1 = _init_l_Lean_Parser_anyOfFn___main___closed__1();
-lean_mark_persistent(l_Lean_Parser_anyOfFn___main___closed__1);
+l_Lean_Parser_anyOfFn___closed__1 = _init_l_Lean_Parser_anyOfFn___closed__1();
+lean_mark_persistent(l_Lean_Parser_anyOfFn___closed__1);
l_Lean_Parser_eoiFn___closed__1 = _init_l_Lean_Parser_eoiFn___closed__1();
lean_mark_persistent(l_Lean_Parser_eoiFn___closed__1);
l_Lean_Parser_eoi___closed__1 = _init_l_Lean_Parser_eoi___closed__1();
@@ -28823,24 +30067,32 @@ l_Lean_Parser_eoi___closed__2 = _init_l_Lean_Parser_eoi___closed__2();
lean_mark_persistent(l_Lean_Parser_eoi___closed__2);
l_Lean_Parser_eoi = _init_l_Lean_Parser_eoi();
lean_mark_persistent(l_Lean_Parser_eoi);
-l_Lean_Parser_PrattParsingTables_inhabited___closed__1 = _init_l_Lean_Parser_PrattParsingTables_inhabited___closed__1();
-lean_mark_persistent(l_Lean_Parser_PrattParsingTables_inhabited___closed__1);
-l_Lean_Parser_PrattParsingTables_inhabited = _init_l_Lean_Parser_PrattParsingTables_inhabited();
-lean_mark_persistent(l_Lean_Parser_PrattParsingTables_inhabited);
-l_Lean_Parser_ParserCategory_inhabited___closed__1 = _init_l_Lean_Parser_ParserCategory_inhabited___closed__1();
-lean_mark_persistent(l_Lean_Parser_ParserCategory_inhabited___closed__1);
-l_Lean_Parser_ParserCategory_inhabited = _init_l_Lean_Parser_ParserCategory_inhabited();
-lean_mark_persistent(l_Lean_Parser_ParserCategory_inhabited);
-l_Lean_Parser_mkCategoryParserFnRef___closed__1 = _init_l_Lean_Parser_mkCategoryParserFnRef___closed__1();
-lean_mark_persistent(l_Lean_Parser_mkCategoryParserFnRef___closed__1);
-res = l_Lean_Parser_mkCategoryParserFnRef(lean_io_mk_world());
+l_Lean_Parser_PrattParsingTables_leadingTable___default = _init_l_Lean_Parser_PrattParsingTables_leadingTable___default();
+lean_mark_persistent(l_Lean_Parser_PrattParsingTables_leadingTable___default);
+l_Lean_Parser_PrattParsingTables_leadingParsers___default = _init_l_Lean_Parser_PrattParsingTables_leadingParsers___default();
+lean_mark_persistent(l_Lean_Parser_PrattParsingTables_leadingParsers___default);
+l_Lean_Parser_PrattParsingTables_trailingTable___default = _init_l_Lean_Parser_PrattParsingTables_trailingTable___default();
+lean_mark_persistent(l_Lean_Parser_PrattParsingTables_trailingTable___default);
+l_Lean_Parser_PrattParsingTables_trailingParsers___default = _init_l_Lean_Parser_PrattParsingTables_trailingParsers___default();
+lean_mark_persistent(l_Lean_Parser_PrattParsingTables_trailingParsers___default);
+l_Lean_Parser_Lean_Parser_Basic___instance__9___closed__1 = _init_l_Lean_Parser_Lean_Parser_Basic___instance__9___closed__1();
+lean_mark_persistent(l_Lean_Parser_Lean_Parser_Basic___instance__9___closed__1);
+l_Lean_Parser_Lean_Parser_Basic___instance__9 = _init_l_Lean_Parser_Lean_Parser_Basic___instance__9();
+lean_mark_persistent(l_Lean_Parser_Lean_Parser_Basic___instance__9);
+l_Lean_Parser_Lean_Parser_Basic___instance__10___closed__1 = _init_l_Lean_Parser_Lean_Parser_Basic___instance__10___closed__1();
+lean_mark_persistent(l_Lean_Parser_Lean_Parser_Basic___instance__10___closed__1);
+l_Lean_Parser_Lean_Parser_Basic___instance__10 = _init_l_Lean_Parser_Lean_Parser_Basic___instance__10();
+lean_mark_persistent(l_Lean_Parser_Lean_Parser_Basic___instance__10);
+l_Lean_Parser_initFn____x40_Lean_Parser_Basic___hyg_5876____closed__1 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Basic___hyg_5876____closed__1();
+lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Basic___hyg_5876____closed__1);
+res = l_Lean_Parser_initFn____x40_Lean_Parser_Basic___hyg_5876_(lean_io_mk_world());
if (lean_io_result_is_error(res)) return res;
l_Lean_Parser_categoryParserFnRef = lean_io_result_get_value(res);
lean_mark_persistent(l_Lean_Parser_categoryParserFnRef);
lean_dec_ref(res);
-l_Lean_Parser_mkCategoryParserFnExtension___closed__1 = _init_l_Lean_Parser_mkCategoryParserFnExtension___closed__1();
-lean_mark_persistent(l_Lean_Parser_mkCategoryParserFnExtension___closed__1);
-res = l_Lean_Parser_mkCategoryParserFnExtension(lean_io_mk_world());
+l_Lean_Parser_initFn____x40_Lean_Parser_Basic___hyg_5895____closed__1 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Basic___hyg_5895____closed__1();
+lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Basic___hyg_5895____closed__1);
+res = l_Lean_Parser_initFn____x40_Lean_Parser_Basic___hyg_5895_(lean_io_mk_world());
if (lean_io_result_is_error(res)) return res;
l_Lean_Parser_categoryParserFnExtension = lean_io_result_get_value(res);
lean_mark_persistent(l_Lean_Parser_categoryParserFnExtension);
@@ -28877,10 +30129,6 @@ l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8 = _init_l_Lean_Parser_
lean_mark_persistent(l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8);
l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__9 = _init_l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__9);
-l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__10 = _init_l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__10();
-lean_mark_persistent(l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__10);
-l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11 = _init_l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11();
-lean_mark_persistent(l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11);
l_Lean_Parser_antiquotNestedExpr___closed__1 = _init_l_Lean_Parser_antiquotNestedExpr___closed__1();
lean_mark_persistent(l_Lean_Parser_antiquotNestedExpr___closed__1);
l_Lean_Parser_antiquotNestedExpr___closed__2 = _init_l_Lean_Parser_antiquotNestedExpr___closed__2();
diff --git a/stage0/stdlib/Lean/Parser/Command.c b/stage0/stdlib/Lean/Parser/Command.c
index f28c261cd6..b8d059b7d7 100644
--- a/stage0/stdlib/Lean/Parser/Command.c
+++ b/stage0/stdlib/Lean/Parser/Command.c
@@ -13,7 +13,9 @@
#ifdef __cplusplus
extern "C" {
#endif
+lean_object* l_Lean_Parser_Command_structFields___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_abbrev_formatter___closed__9;
+lean_object* l_Lean_Parser_Command_structure___elambda__1___closed__15;
lean_object* l_Lean_Parser_Command_universes_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_PrettyPrinter_Parenthesizer_visitToken___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_check__failure___closed__5;
@@ -26,10 +28,13 @@ lean_object* l_Lean_Parser_Command_declModifiers_formatter___closed__22;
lean_object* l_Lean_Parser_Command_check_formatter___closed__2;
lean_object* l_Lean_Parser_Command_mutual___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_init__quot___closed__3;
+lean_object* l_Lean_Parser_Command_theorem___elambda__1___closed__11;
lean_object* l_Lean_Parser_Command_universes___closed__7;
lean_object* l_Lean_Parser_Command_classInductive_formatter___closed__5;
lean_object* l___regBuiltinParser_Lean_Parser_Command_in(lean_object*);
lean_object* l_Lean_Parser_Command_declModifiers_parenthesizer___closed__20;
+lean_object* l_Lean_Parser_Command_classTk___elambda__1___closed__7;
+lean_object* l_Lean_Parser_finishCommentBlock(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_structure___elambda__1___closed__3;
lean_object* l_Lean_Parser_Command_structInstBinder___closed__10;
lean_object* l_Lean_Parser_Command_ctor___elambda__1___closed__1;
@@ -44,6 +49,7 @@ lean_object* l_Lean_Parser_Command_structExplicitBinder_parenthesizer___closed__
lean_object* l_Lean_Parser_Command_structCtor_formatter___closed__4;
lean_object* l_Lean_Parser_Command_mutual___elambda__1___closed__9;
lean_object* l_Lean_Parser_Command_eval___closed__1;
+lean_object* l_Lean_Parser_Command_declaration___elambda__1___closed__15;
lean_object* l_Lean_Parser_Command_structure___closed__7;
lean_object* l_Lean_Parser_Command_openRenaming_formatter___closed__4;
lean_object* l_Lean_Parser_Command_structImplicitBinder_parenthesizer___closed__6;
@@ -55,9 +61,11 @@ lean_object* l_Lean_Parser_Command_printAxioms___elambda__1___closed__7;
lean_object* l_Lean_Parser_Command_structCtor___closed__8;
lean_object* l_Lean_Parser_Command_structExplicitBinder_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_quot_parenthesizer___closed__4;
+lean_object* l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_theorem___closed__9;
lean_object* l_Lean_Parser_Command_structure_formatter___closed__9;
lean_object* l_Lean_Parser_Command_theorem_parenthesizer___closed__5;
+lean_object* l_Lean_Parser_Command_openHiding___elambda__1___closed__12;
lean_object* l_Lean_Parser_Command_check___elambda__1(lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Command_namespace_formatter(lean_object*);
lean_object* l_Lean_Parser_Command_structCtor___elambda__1___closed__2;
@@ -66,7 +74,6 @@ lean_object* l_Lean_Parser_Command_structureTk___closed__2;
lean_object* l_Lean_Parser_Command_ctor_parenthesizer___closed__8;
lean_object* l_Lean_Parser_Command_instance___closed__2;
lean_object* l_Lean_Parser_Command_openHiding_formatter___closed__3;
-extern lean_object* l_Lean_Parser_manyAux___main___closed__1;
lean_object* l_Lean_Parser_Command_structImplicitBinder___closed__9;
lean_object* l_Lean_Parser_Command_declModifiers___elambda__1___closed__3;
lean_object* l___regBuiltin_Lean_Parser_Command_set__option_parenthesizer___closed__1;
@@ -78,6 +85,7 @@ lean_object* l_Lean_Parser_Command_declSig_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_instance_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_printAxioms_parenthesizer___closed__4;
lean_object* l_Lean_Parser_Command_def___elambda__1___closed__6;
+lean_object* l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__7;
lean_object* l_Lean_Parser_Command_exit_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_constant___closed__6;
lean_object* l_Lean_Parser_Command_check__failure___elambda__1___closed__7;
@@ -85,15 +93,19 @@ lean_object* l_Lean_Parser_Command_visibility___elambda__1(lean_object*, lean_ob
lean_object* l_Lean_Parser_Command_structExplicitBinder___closed__8;
lean_object* l_Lean_Parser_Command_protected___elambda__1___closed__1;
lean_object* l_Lean_Parser_Command_print___elambda__1___closed__4;
+lean_object* l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__17;
+lean_object* l_Lean_Parser_Command_set__option___elambda__1___closed__16;
lean_object* l_Lean_Parser_Command_declSig___elambda__1___closed__3;
lean_object* l_Lean_Parser_Command_openRenamingItem___closed__6;
lean_object* l_Lean_Parser_Command_mutual___elambda__1___closed__4;
+lean_object* l_Lean_Parser_Command_declModifiers___elambda__1___closed__16;
lean_object* l_Lean_Parser_Command_axiom___closed__5;
lean_object* l_Lean_Parser_Command_section___closed__3;
lean_object* l_Lean_Parser_Command_set__option_formatter___closed__6;
lean_object* l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__3;
+lean_object* l_Lean_Parser_Command_export___elambda__1___closed__14;
lean_object* l_Lean_Parser_Command_mutual___closed__4;
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Command_openRenaming___elambda__1___spec__1(uint8_t, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Command_structCtor___elambda__1___closed__11;
lean_object* l_Lean_Parser_Command_check_formatter___closed__1;
lean_object* l_Lean_Parser_Command_structCtor_formatter___closed__1;
lean_object* l_Lean_Parser_Command_declaration_formatter___closed__15;
@@ -103,6 +115,7 @@ lean_object* l_Lean_Parser_Command_classInductive_formatter___closed__3;
lean_object* l_Lean_Parser_Command_declModifiers_formatter___closed__18;
lean_object* l_Lean_Parser_Command_abbrev___elambda__1___closed__2;
lean_object* l_Lean_Parser_Command_extends___closed__2;
+lean_object* l_Lean_Parser_Command_constant___elambda__1___closed__12;
lean_object* l_Lean_Parser_Command_open___closed__5;
lean_object* l_Lean_Parser_Command_docComment___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_instance_parenthesizer___closed__5;
@@ -114,18 +127,23 @@ lean_object* l_Lean_Parser_Command_structExplicitBinder_parenthesizer___closed__
lean_object* l_Lean_Parser_Command_instance___closed__4;
lean_object* l_Lean_Parser_Command_ctor___elambda__1___closed__4;
extern lean_object* l_Lean_Syntax_isQuot_match__1___rarg___closed__1;
+extern lean_object* l_Lean_Parser_Term_optType___closed__2;
lean_object* l___regBuiltinParser_Lean_Parser_Command_variable(lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Command_open_formatter(lean_object*);
lean_object* l_Lean_Parser_Command_visibility;
lean_object* l_Lean_Parser_Command_variables_formatter___closed__5;
+lean_object* l_Lean_Parser_Command_structInstBinder___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_declModifiers_formatter___closed__15;
lean_object* l_Lean_Parser_Command_inductive___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_initialize_parenthesizer___closed__5;
lean_object* l_Lean_Parser_Command_ctor___elambda__1___closed__8;
+lean_object* l_Lean_Parser_Command_structure___elambda__1___closed__14;
lean_object* l_Lean_Parser_Command_attribute_parenthesizer___closed__6;
lean_object* l_Lean_Parser_Command_declaration_formatter___closed__3;
lean_object* l_Lean_Parser_Command_declSig_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_declaration_parenthesizer___closed__23;
+lean_object* l_Lean_Parser_Command_open___elambda__1___closed__10;
+lean_object* l_Lean_Parser_Command_variable___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_open_parenthesizer___closed__9;
extern lean_object* l_Lean_Parser_Term_matchAlt___closed__3;
lean_object* l_Lean_Parser_Command_structImplicitBinder___closed__2;
@@ -138,6 +156,7 @@ lean_object* l_Lean_Parser_Command_extends___closed__1;
lean_object* l_Lean_Parser_Command_synth_formatter___closed__4;
lean_object* l___regBuiltinParser_Lean_Parser_Command_section(lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Command_print_formatter___closed__1;
+lean_object* l_Lean_Parser_Command_ctor___elambda__1___closed__17;
lean_object* l_Lean_Parser_Command_print___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_example___closed__3;
lean_object* l_Lean_Parser_Command_ctor___closed__6;
@@ -148,9 +167,9 @@ lean_object* l_Lean_Parser_Command_structureTk___closed__4;
lean_object* l_Lean_Parser_Command_structImplicitBinder___closed__1;
lean_object* l_Lean_Parser_Command_declId___closed__5;
lean_object* l_Lean_Parser_Command_declaration_parenthesizer___closed__13;
-extern lean_object* l_Lean_Parser_notFollowedByFn___closed__1;
lean_object* l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_theorem___closed__8;
+lean_object* l_Lean_Parser_Command_universe___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_declModifiers_formatter___closed__5;
extern lean_object* l_Lean_nullKind;
lean_object* l_Lean_Parser_Command_classInductive;
@@ -166,30 +185,34 @@ lean_object* l_Lean_Parser_Command_attribute___closed__7;
lean_object* l_Lean_Parser_Command_protected___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_attribute_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_noncomputable;
+lean_object* l_Lean_Parser_Command_initialize___elambda__1___closed__13;
lean_object* l_Lean_Parser_Command_section___elambda__1___closed__9;
lean_object* l_Lean_Parser_Command_docComment___closed__5;
lean_object* l_Lean_Parser_Command_theorem___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_builtin__initialize___closed__6;
+lean_object* l_Lean_Parser_Command_declModifiers___elambda__1___closed__7;
lean_object* l_Lean_Parser_Command_structExplicitBinder___closed__12;
lean_object* l_Lean_Parser_Command_private___elambda__1___closed__6;
+lean_object* l_Lean_Parser_notFollowedByFn___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_declModifiers___closed__1;
lean_object* l_Lean_Parser_Command_openRenaming___elambda__1___closed__3;
+extern lean_object* l_Lean_Parser_Term_doFor___elambda__1___closed__9;
lean_object* l_Lean_Parser_Command_structCtor___closed__4;
lean_object* l_Lean_Parser_Command_visibility_formatter___closed__1;
lean_object* l_Lean_Parser_Command_declModifiers_formatter___closed__3;
lean_object* l_Lean_Parser_Command_extends_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_ctor_parenthesizer___closed__3;
+lean_object* l_Lean_Parser_Command_ctor___elambda__1___closed__15;
lean_object* l_Lean_Parser_Command_resolve__name___elambda__1___closed__1;
extern lean_object* l_Lean_Parser_Term_explicitUniv_formatter___closed__1;
lean_object* l_Lean_Parser_Command_print_formatter___closed__2;
-lean_object* l_Lean_Parser_Term_attributes___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_declModifiers___boxed(lean_object*);
lean_object* l_Lean_Parser_Command_extends_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_protected___elambda__1___closed__2;
lean_object* l___regBuiltin_Lean_Parser_Term_quot_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_set__option___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_end_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-extern lean_object* l_Lean_Parser_Term_doFor___elambda__1___closed__8;
+lean_object* l_Lean_Parser_Command_noncomputable___elambda__1___closed__11;
lean_object* l_Lean_Parser_Command_declModifiers___closed__17;
extern lean_object* l_Lean_Parser_Term_optType_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_structExplicitBinder___closed__11;
@@ -198,6 +221,7 @@ lean_object* l_Lean_Parser_Command_variable_formatter___closed__3;
lean_object* l_Lean_Parser_Command_declId___elambda__1___closed__3;
lean_object* l_Lean_Parser_Command_resolve__name_formatter___closed__4;
lean_object* l_Lean_Parser_Command_theorem_parenthesizer___closed__6;
+lean_object* l_Lean_Parser_Command_declModifiers___elambda__1___closed__10;
lean_object* l_Lean_PrettyPrinter_Formatter_many_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Parser_Term_tupleTail_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Command_openRenaming;
@@ -209,25 +233,28 @@ lean_object* l_Lean_Parser_Command_openHiding;
lean_object* l_Lean_Parser_Command_synth___elambda__1___closed__7;
lean_object* l_Lean_Parser_Command_docComment___elambda__1___closed__11;
lean_object* l_Lean_Parser_Command_declModifiers___closed__8;
+lean_object* l_Lean_Parser_Command_optDeclSig___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_ctor___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_axiom_parenthesizer___closed__3;
+lean_object* l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_def___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_attribute_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_declaration_formatter___closed__7;
lean_object* l_Lean_Parser_Command_mutual___closed__8;
lean_object* l_Lean_Parser_Command_visibility_formatter___closed__2;
lean_object* l_Lean_Parser_Command_partial___elambda__1___closed__7;
+lean_object* l_Lean_Parser_Command_namespace___elambda__1___closed__11;
lean_object* l_Lean_Parser_Command_export___closed__8;
lean_object* l_Lean_Parser_Command_variables_formatter___closed__3;
lean_object* l_Lean_Parser_Command_printAxioms___closed__7;
lean_object* l_Lean_Parser_Command_example_formatter___closed__3;
lean_object* l_Lean_Parser_Command_structFields___elambda__1___closed__3;
lean_object* l_Lean_Parser_Command_structInstBinder___closed__5;
+lean_object* l_Lean_Parser_Command_ctor___elambda__1___closed__14;
lean_object* l_Lean_Parser_Term_quot_formatter___closed__9;
lean_object* l_Lean_Parser_Command_section_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Command_eval_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_structCtor_formatter___closed__2;
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_inductive___elambda__1___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_extends___elambda__1___closed__2;
lean_object* l_Lean_Parser_Command_universe_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_declValSimple_parenthesizer___closed__1;
@@ -236,6 +263,7 @@ lean_object* l_Lean_Parser_Command_printAxioms_formatter___closed__2;
lean_object* l_Lean_Parser_Command_declValSimple_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_example___closed__5;
lean_object* l_Lean_Parser_Command_open_parenthesizer___closed__8;
+lean_object* l_Lean_Parser_Command_mutual___elambda__1___closed__19;
lean_object* l_Lean_Parser_Command_openOnly;
lean_object* l___regBuiltin_Lean_Parser_Command_print_parenthesizer(lean_object*);
lean_object* l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -247,17 +275,19 @@ lean_object* l_Lean_Parser_Command_resolve__name___elambda__1___closed__2;
lean_object* l_Lean_Parser_Command_abbrev_formatter___closed__8;
lean_object* l_Lean_Parser_Command_in___closed__3;
lean_object* l_Lean_Parser_Command_print___elambda__1___closed__5;
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_structFields___elambda__1___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_export_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_Term_doSeq___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_init__quot___closed__5;
lean_object* l___regBuiltinParser_Lean_Parser_Command_eval(lean_object*);
lean_object* l_Lean_Parser_Command_extends___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_check__failure___elambda__1___closed__3;
lean_object* l_Lean_Parser_Command_synth___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_quot___elambda__1___closed__3;
+lean_object* l_Lean_Parser_Command_inductive___elambda__1___closed__15;
lean_object* l_Lean_Parser_Command_structFields_formatter___closed__2;
+lean_object* l_Lean_Parser_Command_partial___elambda__1___closed__11;
lean_object* l_Lean_Parser_Command_unsafe___elambda__1___closed__9;
+lean_object* l_Lean_Parser_Command_export___elambda__1___closed__15;
+lean_object* l_Lean_Parser_Command_private___elambda__1___closed__11;
lean_object* l_Lean_Parser_Command_ctor_formatter___closed__8;
lean_object* l_Lean_Parser_Command_structure___closed__15;
lean_object* l_Lean_Parser_Command_inductive___elambda__1___closed__7;
@@ -271,10 +301,14 @@ lean_object* l_Lean_Parser_Command_declaration_formatter(lean_object*, lean_obje
lean_object* l_Lean_Parser_Command_extends___elambda__1___closed__1;
lean_object* l_Lean_Parser_Command_end_formatter___closed__3;
lean_object* l_Lean_Parser_Command_ctor___elambda__1___closed__2;
+lean_object* l_Lean_Parser_Command_declId___elambda__1___closed__7;
lean_object* l_Lean_Parser_Command_open_formatter___closed__9;
lean_object* l___regBuiltin_Lean_Parser_Command_universe_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Command_section_formatter___closed__2;
extern lean_object* l___regBuiltin_Lean_Parser_strLit_parenthesizer___closed__1;
+lean_object* l_Lean_Parser_Command_unsafe___elambda__1___closed__11;
+lean_object* l_Lean_Parser_Command_declaration___elambda__1___closed__12;
+lean_object* l_Lean_Parser_Command_classTk___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_exit___closed__1;
lean_object* l_Lean_Parser_Command_ctor_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_structure_formatter___closed__17;
@@ -295,9 +329,11 @@ lean_object* l_Lean_Parser_Command_structure_formatter___closed__8;
lean_object* l_Lean_Parser_Command_structInstBinder___closed__3;
lean_object* l_Lean_Parser_Command_declModifiers_parenthesizer___closed__16;
lean_object* l_Lean_Parser_Command_export___elambda__1___closed__3;
+lean_object* l_Lean_Parser_Command_instance___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_structFields_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Command_attribute___elambda__1___closed__12;
lean_object* l_Lean_Parser_Term_quot_formatter___closed__4;
+lean_object* l_Lean_Parser_Command_declSig___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_eval_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_structImplicitBinder___closed__4;
lean_object* l_Lean_Parser_Command_declValSimple___elambda__1___closed__6;
@@ -312,12 +348,13 @@ lean_object* l_Lean_Parser_Command_docComment_formatter___closed__4;
lean_object* l_Lean_Parser_Command_abbrev___elambda__1___closed__9;
lean_object* l_Lean_Parser_Command_declaration___closed__3;
lean_object* l_Lean_Parser_Command_theorem___elambda__1___closed__9;
-lean_object* l_Lean_Parser_ParserState_pushSyntax(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_abbrev;
lean_object* l_Lean_Parser_Command_variable_parenthesizer___closed__3;
+lean_object* l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__14;
lean_object* l_Lean_Parser_Command_structExplicitBinder_formatter___closed__9;
lean_object* l_Lean_Parser_Command_declValSimple_formatter___closed__2;
lean_object* l_Lean_Parser_Command_mutual_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Command_print___elambda__1___closed__13;
lean_object* l___regBuiltinParser_Lean_Parser_Command_initialize(lean_object*);
lean_object* l_Lean_PrettyPrinter_Formatter_orelse_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_in___elambda__1___closed__1;
@@ -333,8 +370,11 @@ lean_object* l_Lean_Parser_Command_initialize___elambda__1___closed__4;
lean_object* l_Lean_Parser_Command_export___elambda__1___closed__7;
lean_object* l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_declModifiers___closed__2;
+extern lean_object* l_Lean_Parser_Term_letIdLhs___elambda__1___closed__1;
+lean_object* l_Lean_Parser_Command_structure___elambda__1___closed__16;
lean_object* l_Lean_Parser_Command_unsafe___closed__2;
lean_object* l_Lean_Parser_Command_open;
+lean_object* l_Lean_Parser_Command_variable___elambda__1___closed__11;
lean_object* l_Lean_Parser_Command_universe_formatter___closed__4;
lean_object* l_Lean_Parser_Command_ctor_formatter___closed__6;
lean_object* l_Lean_Parser_Command_exit___elambda__1___closed__8;
@@ -345,9 +385,11 @@ lean_object* l_Lean_Parser_Command_axiom___closed__6;
lean_object* l_Lean_Parser_Command_declValEqns___elambda__1___closed__4;
lean_object* l_Lean_Parser_Command_theorem___closed__5;
lean_object* l___regBuiltin_Lean_Parser_Command_in_formatter___closed__1;
+lean_object* l_Lean_Parser_Command_open___elambda__1___closed__15;
lean_object* l___regBuiltin_Lean_Parser_Command_variable_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_structImplicitBinder_formatter___closed__7;
lean_object* l___regBuiltin_Lean_Parser_Command_attribute_formatter___closed__1;
+extern lean_object* l_Lean_Parser_Term_attrInstance___closed__7;
lean_object* l_Lean_Parser_Command_inferMod___closed__2;
lean_object* l___regBuiltin_Lean_Parser_Command_end_formatter___closed__1;
lean_object* l_Lean_Parser_Command_abbrev___closed__5;
@@ -357,6 +399,8 @@ lean_object* l_Lean_Parser_Command_extends_formatter(lean_object*, lean_object*,
lean_object* l_Lean_Parser_Command_extends___closed__7;
lean_object* l_Lean_Parser_Command_structExplicitBinder_formatter___closed__4;
lean_object* l_Lean_Parser_Command_unsafe___elambda__1___closed__3;
+lean_object* l_Lean_Parser_Command_resolve__name___elambda__1___closed__11;
+lean_object* l_Lean_Parser_nonReservedSymbolFn(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_private_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_structure___closed__16;
lean_object* l_Lean_Parser_Command_variables___closed__2;
@@ -369,6 +413,7 @@ lean_object* l_Lean_Parser_Command_visibility___closed__1;
lean_object* l_Lean_Parser_Command_universes___closed__2;
lean_object* l_Lean_Parser_Command_exit___elambda__1___closed__4;
lean_object* l_Lean_Parser_Command_constant_formatter___closed__7;
+extern lean_object* l_Lean_Parser_Term_tupleTail___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_declValSimple___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_end_formatter___closed__1;
lean_object* l___regBuiltinParser_Lean_Parser_Command_export(lean_object*);
@@ -377,13 +422,16 @@ lean_object* l_Lean_Parser_Command_inductive___closed__5;
lean_object* l_Lean_Parser_Command_declModifiers_parenthesizer___closed__14;
lean_object* l_Lean_Parser_Command_section___closed__4;
lean_object* l_Lean_Parser_Command_check___elambda__1___closed__3;
+lean_object* l_Lean_Parser_Command_section___elambda__1___closed__11;
lean_object* l_Lean_Parser_Command_initialize___elambda__1___closed__9;
lean_object* l_Lean_Parser_Command_synth___elambda__1___closed__3;
lean_object* l_Lean_Parser_Command_namespace___closed__4;
lean_object* l_Lean_Parser_Command_def;
+lean_object* l_Lean_Parser_Command_end___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__13;
lean_object* l_Lean_Parser_Command_declSig___closed__2;
lean_object* l_Lean_Parser_Term_quot_formatter___closed__7;
+lean_object* l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_structure___closed__2;
extern lean_object* l_Lean_initFn____x40_Lean_Modifiers___hyg_3____closed__1;
lean_object* l_Lean_Parser_Command_declaration___elambda__1___closed__2;
@@ -392,6 +440,8 @@ lean_object* l_Lean_Parser_Command_set__option___elambda__1___closed__3;
extern lean_object* l_Lean_Parser_antiquotNestedExpr_parenthesizer___closed__1;
lean_object* l_Lean_PrettyPrinter_Formatter_unicodeSymbol_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_mutual;
+lean_object* l_Lean_Parser_Command_structure___elambda__1___closed__7;
+lean_object* l_Lean_Parser_Command_initialize___elambda__1___closed__17;
lean_object* l_Lean_Parser_Command_constant___closed__9;
lean_object* l_Lean_Parser_Command_structure_formatter___closed__4;
lean_object* l_Lean_Parser_Command_structure___closed__1;
@@ -399,13 +449,13 @@ lean_object* l_Lean_Parser_Command_structureTk___elambda__1___closed__1;
lean_object* l_Lean_Parser_Command_check___closed__5;
lean_object* l_Lean_Parser_Command_def___elambda__1___closed__3;
lean_object* l_Lean_Parser_Command_ctor___closed__3;
-extern lean_object* l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_resolve__name_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_visibility_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_declaration_parenthesizer___closed__17;
lean_object* l_Lean_Parser_Command_classInductive___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_exit___elambda__1___closed__9;
lean_object* l___regBuiltin_Lean_Parser_Command_universes_parenthesizer___closed__1;
+lean_object* l_Lean_Parser_notFollowedByFn(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__3;
lean_object* l_Lean_Parser_Command_structFields___closed__8;
lean_object* l_Lean_Parser_Command_open_parenthesizer___closed__5;
@@ -422,6 +472,7 @@ lean_object* l_Lean_Parser_Command_printAxioms_formatter___closed__1;
lean_object* l_Lean_Parser_Command_declId___closed__4;
lean_object* l_Lean_Parser_Command_end;
lean_object* l_Lean_Parser_Command_initialize___closed__1;
+lean_object* l_Lean_Parser_Command_in___elambda__1___closed__4;
lean_object* l_Lean_Parser_Command_inferMod___elambda__1___closed__3;
lean_object* l_Lean_Parser_Command_def___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_mutual___elambda__1___closed__2;
@@ -429,6 +480,7 @@ lean_object* l_Lean_Parser_Command_attribute_parenthesizer___closed__5;
lean_object* l_Lean_Parser_Command_openHiding___closed__7;
lean_object* l___regBuiltin_Lean_Parser_Command_builtin__initialize_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Command_unsafe_formatter___closed__1;
+lean_object* l_Lean_Parser_Command_noncomputable___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_declaration_formatter___closed__16;
lean_object* l___regBuiltin_Lean_Parser_Command_check__failure_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_instance___elambda__1___closed__3;
@@ -448,13 +500,16 @@ lean_object* l_Lean_Parser_Term_quot_formatter___closed__1;
lean_object* l_Lean_Parser_Command_example___elambda__1___closed__7;
lean_object* l_Lean_Parser_Command_attribute___closed__10;
lean_object* l_Lean_Parser_Command_open_parenthesizer___closed__3;
+lean_object* l_Lean_Parser_Command_openHiding___elambda__1___closed__11;
lean_object* l_Lean_Parser_addBuiltinParser(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Command_theorem___elambda__1___closed__13;
+lean_object* l_Lean_Parser_Command_openSimple___elambda__1___closed__5;
extern lean_object* l_Lean_Parser_Term_letRecDecls_formatter___closed__1;
lean_object* l_Lean_Parser_Command_initialize___elambda__1___closed__8;
+lean_object* l_Lean_Parser_Command_check__failure___elambda__1___closed__10;
lean_object* lean_array_get_size(lean_object*);
lean_object* l_Lean_Parser_Command_declId_formatter___closed__1;
lean_object* l_Lean_Parser_Command_structFields;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Command_declId___elambda__1___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_abbrev___closed__3;
lean_object* l_Lean_Parser_Command_declId___closed__9;
lean_object* l_Lean_Parser_Command_abbrev_formatter___closed__6;
@@ -466,19 +521,23 @@ lean_object* l_Lean_Parser_Command_structInstBinder_formatter___closed__6;
lean_object* l_Lean_Parser_Command_in___elambda__1___closed__2;
lean_object* l_Lean_Parser_Command_ctor___elambda__1___closed__3;
lean_object* l_Lean_Parser_Command_declId___closed__8;
+lean_object* l_Lean_Parser_Command_axiom___elambda__1___closed__10;
extern lean_object* l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
lean_object* l_Lean_Parser_Command_declModifiers_parenthesizer___closed__22;
+lean_object* l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__15;
lean_object* lean_string_append(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_in_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Command_declModifiers___elambda__1___closed__11;
lean_object* l_Lean_Parser_Command_declValEqns___elambda__1___closed__2;
lean_object* l_Lean_Parser_Command_printAxioms___closed__5;
lean_object* l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__2;
lean_object* l_Lean_Parser_Command_abbrev___closed__7;
lean_object* l_Lean_Parser_Command_abbrev_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_initialize_formatter___closed__4;
+lean_object* l_Lean_Parser_Command_inductive___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_structExplicitBinder_parenthesizer___closed__9;
lean_object* l_Lean_Parser_Command_printAxioms___elambda__1___closed__3;
-lean_object* l_Lean_Parser_tokenFn(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Command_docComment___elambda__1___closed__12;
lean_object* l_Lean_Parser_Command_variable_formatter___closed__4;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_toggleInsideQuot_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_printAxioms_parenthesizer___closed__1;
@@ -488,15 +547,19 @@ lean_object* l_Lean_Parser_Command_structure_parenthesizer___closed__8;
lean_object* l_Lean_Parser_Command_visibility_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_exit___closed__6;
lean_object* l_Lean_Parser_Command_print___elambda__1___closed__2;
+lean_object* l_Lean_Parser_Command_structure___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_set__option_formatter___closed__1;
lean_object* l_Lean_Parser_Command_section___elambda__1___closed__8;
+lean_object* l_Lean_Parser_Command_structFields___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_declModifiers_formatter___closed__26;
lean_object* l_Lean_Parser_Command_structure_parenthesizer___closed__17;
lean_object* l_Lean_Parser_Command_universe_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_declModifiers___closed__13;
+lean_object* l_Lean_Parser_Command_constant___elambda__1___closed__11;
lean_object* l_Lean_Parser_Command_universes___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_declaration___closed__10;
lean_object* l_Lean_Parser_Command_commentBody___closed__1;
+lean_object* l_Lean_Parser_Command_eval___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_attribute___closed__12;
lean_object* l_Lean_Parser_Command_export___elambda__1___closed__1;
lean_object* l_Lean_Parser_Command_synth_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -508,6 +571,7 @@ lean_object* l_Lean_Parser_Command_initialize_formatter___closed__8;
lean_object* l_Lean_Parser_Command_unsafe_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_structExplicitBinder_formatter___closed__1;
lean_object* l_Lean_Parser_Command_init__quot___elambda__1___closed__1;
+lean_object* l_Lean_Parser_Command_extends___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_export_formatter___closed__3;
lean_object* l_Lean_Parser_Command_abbrev___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_openRenaming_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -517,6 +581,7 @@ lean_object* l___regBuiltin_Lean_Parser_Command_exit_formatter(lean_object*);
lean_object* l_Lean_Parser_Command_theorem___elambda__1___closed__4;
lean_object* l_Lean_Parser_Command_openSimple;
lean_object* l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__1;
+lean_object* l_Lean_Parser_Command_declaration___elambda__1___closed__8;
lean_object* l_Lean_Parser_Term_quot_formatter___closed__8;
lean_object* l_Lean_Parser_Command_classTk_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_set__option_formatter___closed__8;
@@ -528,18 +593,22 @@ lean_object* l_Lean_Parser_Command_instance;
lean_object* l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_initialize_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_PrettyPrinter_Parenthesizer_skip_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_initialize___closed__7;
lean_object* l_Lean_Parser_Command_print_formatter___closed__4;
lean_object* l_Lean_Parser_Command_instance___closed__8;
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__3;
lean_object* l_Lean_Parser_Command_structure_parenthesizer___closed__4;
lean_object* l_Lean_Parser_Command_inferMod___closed__4;
lean_object* l_Lean_Parser_Command_openOnly___elambda__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Command_declaration___elambda__1___closed__17;
+lean_object* l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__10;
lean_object* l___regBuiltin_Lean_Parser_Command_declaration_parenthesizer___closed__1;
+extern lean_object* l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__16;
lean_object* l_Lean_Parser_Command_structFields___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_export___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_mutual___elambda__1___closed__1;
lean_object* l_Lean_Parser_Command_structure_parenthesizer___closed__1;
+lean_object* l_Lean_Parser_Command_abbrev___elambda__1___closed__13;
lean_object* l_Lean_Parser_Command_variables___closed__1;
lean_object* l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__9;
lean_object* l_Lean_Parser_Command_protected_formatter___closed__3;
@@ -556,7 +625,6 @@ lean_object* l_Lean_Parser_Command_set__option_formatter(lean_object*, lean_obje
lean_object* l_Lean_Parser_Command_constant___closed__1;
lean_object* l_Lean_Parser_Command_structFields___elambda__1___closed__1;
extern lean_object* l_Lean_mkAppStx___closed__4;
-lean_object* l_Lean_Parser_ParserState_mkErrorsAt(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_resolve__name___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_mkAntiquot_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__3;
@@ -580,6 +648,7 @@ lean_object* l___regBuiltin_Lean_Parser_Term_quot_formatter___closed__1;
lean_object* l_Lean_Parser_Command_noncomputable_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_structureTk_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_universe_parenthesizer___closed__2;
+lean_object* l_Lean_Parser_Command_attribute___elambda__1___closed__23;
lean_object* l_Lean_Parser_Command_universe___elambda__1___closed__7;
lean_object* l_Lean_Parser_Command_declaration_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_ctor___closed__10;
@@ -593,6 +662,7 @@ lean_object* l___regBuiltin_Lean_Parser_Command_print_formatter(lean_object*);
lean_object* l_Lean_Parser_Command_classTk___closed__5;
lean_object* l_Lean_Parser_Command_section___elambda__1___closed__1;
lean_object* l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__2;
+lean_object* l_Lean_Parser_Command_mutual___elambda__1___closed__17;
lean_object* l_Lean_Parser_Command_extends___closed__3;
lean_object* l_Lean_Parser_Command_declSig___closed__4;
lean_object* l_Lean_Parser_Command_declValEqns___closed__4;
@@ -601,9 +671,12 @@ lean_object* l_Lean_Parser_Command_constant___closed__7;
lean_object* l_Lean_Parser_Command_def___closed__6;
lean_object* l_Lean_Parser_Command_section_formatter___closed__1;
lean_object* l_Lean_Parser_Command_variable_formatter___closed__2;
+lean_object* l_Lean_Parser_Command_structure___elambda__1___closed__5;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_export_formatter___closed__5;
lean_object* l_Lean_Parser_Command_declSig___closed__1;
+extern lean_object* l_Lean_Parser_Term_attributes___closed__8;
+lean_object* l_Lean_Parser_Command_openRenaming___elambda__1___closed__11;
lean_object* l_Lean_Parser_Command_mutual___closed__1;
lean_object* l_Lean_Parser_Command_declaration_formatter___closed__20;
lean_object* l_Lean_Parser_Command_declId___closed__3;
@@ -612,9 +685,11 @@ lean_object* l_Lean_Parser_Command_namespace___closed__3;
lean_object* l_Lean_Parser_Command_mutual_formatter___closed__6;
lean_object* l_Lean_Parser_Command_instance___closed__9;
lean_object* l_Lean_Parser_Command_openHiding___closed__3;
+lean_object* l_Lean_Parser_Command_declSig___elambda__1___closed__7;
lean_object* l_Lean_Parser_Command_init__quot___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__1;
lean_object* l_Lean_Parser_Command_openHiding_parenthesizer___closed__5;
+lean_object* l_Lean_Parser_Command_structCtor___elambda__1___closed__9;
lean_object* l_Lean_Parser_Command_openHiding___closed__5;
lean_object* l_Lean_Parser_Command_protected___elambda__1___closed__7;
lean_object* l_Lean_Parser_Command_printAxioms_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -627,10 +702,12 @@ lean_object* l_Lean_Parser_Command_declaration_formatter___closed__10;
lean_object* l_Lean_Parser_Command_instance_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_initialize___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_example___elambda__1___closed__1;
+lean_object* l_Lean_Parser_Command_namespace___elambda__1___closed__12;
lean_object* l_Lean_Parser_Command_ctor_formatter___closed__2;
lean_object* l_Lean_Parser_Command_declValSimple_formatter___closed__3;
lean_object* l_Lean_Parser_Command_universes_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Command_openRenamingItem___closed__4;
+lean_object* l_Lean_Parser_Command_attribute___elambda__1___closed__21;
lean_object* l_Lean_Parser_Command_declValSimple___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_open___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_extends___closed__5;
@@ -644,7 +721,6 @@ lean_object* l_Lean_Parser_Command_resolve__name___elambda__1___closed__9;
lean_object* l_Lean_Parser_Command_docComment_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_variables___closed__6;
lean_object* l_Lean_Parser_Command_attribute___elambda__1___closed__7;
-lean_object* l_Lean_Parser_finishCommentBlock___main(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_declId___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_declaration_formatter___closed__13;
lean_object* l_Lean_Parser_Command_declId_formatter___closed__4;
@@ -655,15 +731,18 @@ lean_object* l_Lean_Parser_Command_declModifiers_formatter___closed__10;
lean_object* l_Lean_Parser_Command_def_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Command_init__quot_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Command_universes___closed__6;
+lean_object* l_Lean_Parser_Command_classTk___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_namespace___closed__2;
lean_object* l_Lean_Parser_many1Fn(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_print_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_theorem_formatter___closed__6;
lean_object* l_Lean_Parser_Command_initialize___closed__2;
+extern lean_object* l_Lean_Parser_Term_attrArg___elambda__1___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Command_universes_formatter(lean_object*);
lean_object* l_Lean_Parser_Command_abbrev_parenthesizer___closed__6;
lean_object* l_Lean_Parser_Command_openRenaming___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_theorem___closed__6;
+lean_object* l_Lean_Parser_Command_example___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_openHiding___closed__4;
lean_object* l_Lean_Parser_Command_docComment___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_inductive___closed__7;
@@ -672,12 +751,18 @@ lean_object* l_Lean_Parser_Command_unsafe;
lean_object* l___regBuiltin_Lean_Parser_Command_resolve__name_formatter(lean_object*);
lean_object* l_Lean_Parser_Command_structure___closed__6;
lean_object* l_Lean_Parser_Term_quot_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Command_axiom___elambda__1___closed__12;
lean_object* l_Lean_Parser_Term_quot_formatter___closed__2;
lean_object* l_Lean_Parser_Command_initialize_formatter___closed__2;
+lean_object* l_Lean_Parser_Command_synth___elambda__1___closed__12;
+lean_object* l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__9;
lean_object* l_Lean_Parser_Command_set__option_formatter___closed__9;
lean_object* l_Lean_Parser_Command_inductive_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Command_attribute___elambda__1___closed__24;
extern lean_object* l_Lean_Parser_mkAntiquot_parenthesizer___rarg___closed__6;
lean_object* l_Lean_Parser_Command_check___elambda__1___closed__2;
+lean_object* l_Lean_Parser_Command_printAxioms___elambda__1___closed__12;
+lean_object* l_Lean_Parser_Term_quot___elambda__1___closed__13;
lean_object* l___regBuiltinParser_Lean_Parser_Term_quot(lean_object*);
lean_object* l_Lean_PrettyPrinter_Formatter_optional_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Command_open_formatter___closed__1;
@@ -687,16 +772,21 @@ lean_object* l_Lean_Parser_Command_constant_parenthesizer___closed__5;
lean_object* l_Lean_Parser_Command_print___closed__7;
lean_object* l_Lean_Parser_Command_universe___elambda__1___closed__3;
lean_object* l_Lean_Parser_Command_variables___elambda__1___closed__8;
+lean_object* l_Lean_Parser_Command_declaration___elambda__1___closed__7;
lean_object* l_Lean_Parser_Command_private_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_classInductive_formatter___closed__6;
lean_object* l_Lean_Parser_Command_attribute_formatter___closed__2;
+lean_object* l_Lean_Parser_Command_inductive___elambda__1___closed__13;
lean_object* l_Lean_Parser_Command_classInductive_parenthesizer___closed__4;
lean_object* l_Lean_Parser_Command_axiom_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_print_parenthesizer___closed__1;
+lean_object* l_Lean_Parser_Command_open___elambda__1___closed__12;
+lean_object* l_Lean_Parser_Command_axiom___elambda__1___closed__11;
lean_object* l_Lean_Parser_Command_structure;
lean_object* l_Lean_Parser_Command_declModifiers___closed__6;
lean_object* l_Lean_Parser_Command_constant_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_quot_parenthesizer(lean_object*);
+lean_object* l_Lean_Parser_Command_structInstBinder___elambda__1___closed__9;
extern lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__6;
lean_object* l___regBuiltinParser_Lean_Parser_Command_declaration(lean_object*);
lean_object* l_Lean_Parser_Command_namespace_formatter___closed__3;
@@ -704,13 +794,14 @@ lean_object* l_Lean_Parser_Command_openSimple_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_openRenamingItem_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_structFields_formatter___closed__3;
lean_object* l_Lean_Parser_Command_declModifiers_formatter___closed__20;
-lean_object* l_Lean_Parser_strLit___elambda__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_private_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_classInductive___elambda__1___closed__2;
lean_object* l_Lean_Parser_Command_print_formatter___closed__1;
lean_object* l_Lean_Parser_Command_structCtor_parenthesizer___closed__4;
lean_object* l_Lean_Parser_Term_quot___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_openRenamingItem___closed__7;
+lean_object* l_Lean_Parser_Command_declModifiers___elambda__1___closed__12;
lean_object* l_Lean_Parser_Command_structure_parenthesizer___closed__9;
lean_object* l_Lean_Parser_Command_protected_formatter___closed__2;
lean_object* l_Lean_Parser_Command_attribute___elambda__1___closed__10;
@@ -719,6 +810,7 @@ lean_object* l_Lean_Parser_Command_inferMod___elambda__1___closed__4;
lean_object* l_Lean_Parser_Command_declaration_parenthesizer___closed__19;
lean_object* l___regBuiltin_Lean_Parser_Command_in_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_end_formatter___closed__2;
+lean_object* l_Lean_Parser_Command_protected___elambda__1___closed__9;
lean_object* l_Lean_Parser_Command_printAxioms___closed__3;
lean_object* l_Lean_PrettyPrinter_Formatter_trailingNode_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_openRenaming_formatter___closed__3;
@@ -728,6 +820,7 @@ lean_object* l_Lean_Parser_Command_section_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_set__option___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_declValSimple___elambda__1___closed__1;
lean_object* l_Lean_Parser_Command_axiom_parenthesizer___closed__2;
+lean_object* l_Lean_Parser_Command_mutual___elambda__1___closed__12;
lean_object* l_Lean_Parser_Command_inferMod_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_structInstBinder_formatter___closed__2;
lean_object* l_Lean_Parser_Command_structImplicitBinder_parenthesizer___closed__4;
@@ -738,6 +831,7 @@ lean_object* l_Lean_Parser_Command_structExplicitBinder_formatter___closed__3;
lean_object* l_Lean_Parser_Command_extends___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_structExplicitBinder___closed__4;
lean_object* l_Lean_Parser_Command_init__quot_formatter___closed__2;
+lean_object* l_Lean_Parser_Command_attribute___elambda__1___closed__20;
lean_object* l_Lean_Parser_Command_openHiding_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_abbrev___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_variables___elambda__1___closed__4;
@@ -750,10 +844,16 @@ lean_object* l_Lean_Parser_Command_resolve__name___elambda__1___closed__4;
lean_object* l_Lean_Parser_Command_unsafe_formatter___closed__2;
lean_object* l_Lean_Parser_Command_inferMod___closed__5;
lean_object* l_Lean_Parser_Command_variables___closed__5;
+lean_object* l_Lean_Parser_Command_eval___elambda__1___closed__12;
lean_object* l___regBuiltin_Lean_Parser_Command_universes_parenthesizer(lean_object*);
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__5;
+lean_object* l_Lean_Parser_Command_structInstBinder___elambda__1___closed__8;
+lean_object* l_Lean_Parser_Command_initialize___elambda__1___closed__15;
+lean_object* l_Lean_Parser_Command_export___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_synth;
+lean_object* l_Lean_Parser_Command_set__option___elambda__1___closed__17;
+lean_object* l_Lean_Parser_Command_universes___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_openHiding___elambda__1___closed__7;
+lean_object* l_Lean_Parser_Command_abbrev___elambda__1___closed__14;
lean_object* l___regBuiltin_Lean_Parser_Command_synth_formatter(lean_object*);
extern lean_object* l_Lean_Parser_Term_binderDefault;
lean_object* l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__4;
@@ -769,10 +869,12 @@ lean_object* l_Lean_Parser_Command_declValEqns___elambda__1(lean_object*, lean_o
lean_object* l_Lean_Parser_Command_structExplicitBinder___closed__9;
lean_object* l_Lean_Parser_Command_check__failure_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_attribute___closed__6;
+lean_object* l_Lean_Parser_Command_variables___elambda__1___closed__9;
lean_object* l_Lean_Parser_Command_in;
lean_object* l_Lean_Parser_Command_openHiding___closed__8;
extern lean_object* l_Lean_Parser_Term_letIdLhs_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Command_set__option_formatter___closed__4;
+lean_object* l_Lean_Parser_Command_section___elambda__1___closed__13;
lean_object* l_Lean_Parser_Command_declSig_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Command_visibility_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_structure_formatter___closed__6;
@@ -782,7 +884,6 @@ lean_object* l_Lean_Parser_Command_inferMod_formatter(lean_object*, lean_object*
lean_object* l_Lean_Parser_Command_builtin__initialize_formatter___closed__3;
lean_object* l_Lean_Parser_Command_inferMod_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_declaration___elambda__1(lean_object*, lean_object*);
-extern lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_forall___elambda__1___spec__1___closed__1;
lean_object* l___regBuiltinParser_Lean_Parser_Command_check(lean_object*);
lean_object* l_Lean_Parser_Command_attribute___closed__14;
lean_object* l_Lean_Parser_Command_check__failure_formatter___closed__4;
@@ -799,13 +900,13 @@ lean_object* l_Lean_Parser_Command_classInductive___closed__7;
lean_object* l_Lean_Parser_Command_declModifiers_parenthesizer___closed__19;
lean_object* l_Lean_Parser_Command_structInstBinder___elambda__1___closed__4;
lean_object* l_Lean_Parser_Command_ctor_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+extern lean_object* l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__9;
lean_object* l_Lean_Parser_Command_universes_formatter___closed__3;
lean_object* l_Lean_Parser_Command_openSimple___closed__1;
lean_object* l_Lean_Parser_Command_declaration___elambda__1___closed__3;
lean_object* l_Lean_Parser_Command_structInstBinder;
lean_object* l_Lean_Parser_Command_attribute_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Command_structure_parenthesizer___closed__3;
-lean_object* l_Lean_Parser_manyAux___main(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_export_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_declValEqns_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_classInductive_formatter___closed__8;
@@ -813,11 +914,13 @@ lean_object* l_Lean_Parser_Term_quot___elambda__1___closed__2;
lean_object* l_Lean_Parser_Command_attribute;
lean_object* l_Lean_Parser_Command_docComment___closed__4;
lean_object* l___regBuiltin_Lean_Parser_Command_open_parenthesizer___closed__1;
-uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
+extern lean_object* l_Lean_Parser_ident___closed__2;
+lean_object* l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__7;
lean_object* l_Lean_Parser_Command_mutual_formatter___closed__3;
lean_object* l_Lean_Parser_Command_structure___closed__10;
lean_object* l_Lean_Parser_Command_attribute_formatter___closed__8;
lean_object* l_Lean_Parser_nonReservedSymbolFnAux(lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Command_private___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_partial___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_declaration_parenthesizer___closed__4;
lean_object* l_Lean_Parser_Command_structure_formatter___closed__1;
@@ -827,10 +930,12 @@ lean_object* l_Lean_Parser_Command_in___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_docComment___closed__1;
lean_object* l_Lean_Parser_Command_set__option___closed__10;
lean_object* l___regBuiltin_Lean_Parser_Command_variables_formatter(lean_object*);
+lean_object* l_Lean_Parser_Command_unsafe___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_initialize___elambda__1___closed__1;
lean_object* l_Lean_Parser_Command_end___closed__5;
extern lean_object* l_Lean_Parser_Term_optType;
extern lean_object* l_Lean_Parser_Term_tupleTail___closed__1;
+lean_object* l_Lean_Parser_Command_openRenaming___elambda__1___closed__12;
lean_object* l___regBuiltin_Lean_Parser_Command_section_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Command_declId___closed__2;
lean_object* l_Lean_Parser_Command_commentBody_parenthesizer___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
@@ -840,6 +945,7 @@ lean_object* l_Lean_Parser_Command_exit_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_example_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Command_classInductive___closed__5;
lean_object* l_Lean_Parser_Command_open___closed__2;
+lean_object* l_Lean_Parser_Command_printAxioms___elambda__1___closed__11;
lean_object* l_Lean_Parser_Command_structCtor___closed__6;
lean_object* l_Lean_Parser_Command_initialize___elambda__1___closed__2;
lean_object* l_Lean_Parser_Command_synth___closed__3;
@@ -850,8 +956,9 @@ lean_object* l_Lean_Parser_Command_constant_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Command_declModifiers___closed__18;
lean_object* l_Lean_Parser_Command_eval_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_attribute___closed__3;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Command_openRenaming___elambda__1___spec__2(uint8_t, lean_object*, uint8_t, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_symbolFn___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_attribute___elambda__1___closed__16;
+lean_object* l_Lean_Parser_Command_openOnly___elambda__1___closed__7;
lean_object* l_Lean_Parser_Command_abbrev___elambda__1___closed__1;
lean_object* l_Lean_Parser_Command_initialize___closed__9;
lean_object* l_Lean_Parser_Command_protected___closed__6;
@@ -861,6 +968,7 @@ lean_object* l_Lean_Parser_Command_attribute_formatter___closed__1;
lean_object* l_Lean_Parser_Command_init__quot___closed__1;
lean_object* l_Lean_Parser_Command_declValSimple___elambda__1___closed__9;
lean_object* l_Lean_Parser_Command_inductive___elambda__1___closed__6;
+lean_object* l_Lean_Parser_Command_classInductive___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_universes___closed__1;
lean_object* l_Lean_Parser_Command_unsafe_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_declModifiers_parenthesizer___closed__12;
@@ -881,10 +989,11 @@ lean_object* l_Lean_Parser_Command_export___closed__9;
lean_object* l_Lean_Parser_noFirstTokenInfo(lean_object*);
lean_object* l_Lean_Parser_Command_check__failure___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_printAxioms_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Command_instance___elambda__1___closed__14;
lean_object* l_Lean_Parser_Command_axiom_formatter___closed__4;
+lean_object* l_Lean_Parser_Command_end___elambda__1___closed__11;
lean_object* l___regBuiltin_Lean_Parser_Command_printAxioms_formatter(lean_object*);
lean_object* l_Lean_Parser_Command_init__quot_parenthesizer___closed__1;
-extern lean_object* l_Lean_Parser_Term_fun___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_commentBody_parenthesizer___boxed(lean_object*);
lean_object* l_Lean_Parser_Command_set__option___elambda__1___closed__2;
lean_object* l_Lean_Parser_Command_declId_parenthesizer___closed__6;
@@ -911,7 +1020,7 @@ lean_object* l___regBuiltin_Lean_Parser_Command_namespace_parenthesizer(lean_obj
lean_object* l_Lean_Parser_Command_set__option___closed__12;
lean_object* l_Lean_Parser_Command_structInstBinder___elambda__1___closed__3;
lean_object* l_Lean_Parser_Command_axiom_formatter___closed__5;
-lean_object* l_Array_shrink___main___rarg(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Command_declModifiers___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_printAxioms_formatter___closed__3;
lean_object* l_Lean_Parser_Command_theorem_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_export___closed__4;
@@ -922,6 +1031,7 @@ lean_object* l_Lean_Parser_Command_docComment___elambda__1___closed__1;
lean_object* l_Lean_Parser_notSymbol_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_universe___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_mutual_formatter___closed__5;
+lean_object* l_Lean_Parser_Command_export___elambda__1___closed__12;
lean_object* l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__3;
extern lean_object* l_Lean_Parser_Term_letIdLhs___closed__3;
lean_object* l_Lean_Parser_Command_def___elambda__1___closed__2;
@@ -930,24 +1040,29 @@ extern lean_object* l_Lean_Parser_Term_typeSpec;
lean_object* l_Lean_Parser_Command_eval___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_attribute___elambda__1___closed__11;
lean_object* l_Lean_Parser_Command_protected___closed__4;
+lean_object* l_Lean_Parser_Command_declModifiers___elambda__1___closed__17;
lean_object* l_Lean_Parser_Command_structFields_parenthesizer___closed__9;
lean_object* l_Lean_Parser_Command_structureTk___elambda__1___closed__3;
lean_object* l_Lean_Parser_Command_declModifiers_formatter___closed__7;
lean_object* l_Lean_Parser_Command_classInductive___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_declValSimple___elambda__1___closed__2;
+lean_object* l_Lean_Parser_Command_partial___elambda__1___closed__10;
+lean_object* l_Lean_Parser_Command_printAxioms___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_protected___elambda__1___closed__3;
lean_object* l_Lean_PrettyPrinter_Formatter_visitAtom(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_structFields___elambda__1___closed__2;
lean_object* l_Lean_Parser_Command_print___closed__3;
lean_object* l_Lean_Parser_Command_openSimple_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_declModifiers_formatter___closed__16;
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Command_declId___elambda__1___spec__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_example_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_initialize___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_universes___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_structExplicitBinder;
lean_object* l_Lean_Parser_Command_structExplicitBinder_parenthesizer___closed__3;
+lean_object* l_Lean_Parser_Command_ctor___elambda__1___closed__13;
lean_object* l_Lean_Parser_Command_inferMod___elambda__1___closed__2;
+lean_object* l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__18;
+lean_object* l_Lean_Parser_Term_quot___elambda__1___closed__17;
lean_object* l_Lean_Parser_Command_axiom_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_axiom___closed__7;
lean_object* l_Lean_Parser_Command_eval___elambda__1___closed__2;
@@ -960,12 +1075,16 @@ lean_object* l_Lean_Parser_Command_structureTk___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_structFields_parenthesizer___closed__4;
uint8_t l_Lean_Parser_tryAnti(lean_object*, lean_object*);
lean_object* l___regBuiltinParser_Lean_Parser_Command_exit(lean_object*);
+lean_object* l_Lean_Parser_Command_mutual___elambda__1___closed__11;
lean_object* l_Lean_Parser_Command_namespace___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_inductive___closed__9;
+lean_object* l_Lean_Parser_Command_structInstBinder___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_attribute_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_structFields_parenthesizer___closed__2;
lean_object* l_Lean_Parser_optionaInfo(lean_object*);
extern lean_object* l_Lean_Parser_Term_doSeq;
+lean_object* l_Lean_Parser_Command_theorem___elambda__1___closed__12;
+lean_object* l_Lean_Parser_Command_check__failure___elambda__1___closed__11;
lean_object* l_Lean_Parser_Command_initialize_formatter___closed__6;
lean_object* l_Lean_Parser_Term_quot___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_def___elambda__1___closed__1;
@@ -974,6 +1093,7 @@ lean_object* l_Lean_PrettyPrinter_Parenthesizer_sepBy1_parenthesizer(lean_object
lean_object* l_Lean_Parser_Command_classTk___elambda__1___closed__1;
lean_object* l_Lean_Parser_Command_variable___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Command_check_formatter___closed__1;
+lean_object* l_Lean_Parser_Command_docComment___elambda__1___closed__13;
lean_object* l_Lean_Parser_Command_structure_parenthesizer___closed__18;
lean_object* l_Lean_Parser_Command_namespace___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_declModifiers_formatter___closed__24;
@@ -994,6 +1114,8 @@ lean_object* l_Lean_Parser_Command_openSimple___closed__3;
lean_object* l_Lean_Parser_Command_classInductive_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_abbrev_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_openRenamingItem___closed__2;
+lean_object* l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__13;
+lean_object* l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__15;
lean_object* l_Lean_Parser_Command_structure_parenthesizer___closed__5;
lean_object* l_Lean_Parser_Command_openRenaming___elambda__1___closed__8;
lean_object* l___regBuiltin_Lean_Parser_Command_init__quot_formatter(lean_object*);
@@ -1004,12 +1126,14 @@ lean_object* l_Lean_Parser_Command_structure_parenthesizer___closed__14;
lean_object* l_Lean_Parser_Command_classInductive___closed__3;
lean_object* l_Lean_Parser_Command_resolve__name___closed__7;
lean_object* l_Lean_Parser_Command_optDeclSig;
+lean_object* l_Lean_Parser_Command_synth___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_declId_formatter___closed__3;
lean_object* l_Lean_Parser_Command_structure_formatter___closed__2;
lean_object* l_Lean_Parser_Command_def___closed__3;
lean_object* l_Lean_Parser_Command_structInstBinder_formatter___closed__1;
lean_object* l_Lean_Parser_Command_mutual_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_extends___elambda__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Command_instance___elambda__1___closed__13;
lean_object* l___regBuiltinParser_Lean_Parser_Command_check__failure(lean_object*);
lean_object* l_Lean_Parser_Command_namespace___elambda__1___closed__2;
lean_object* l_Lean_Parser_Command_section___elambda__1___closed__3;
@@ -1020,9 +1144,11 @@ extern lean_object* l_Lean_Parser_Term_doFor_formatter___closed__3;
lean_object* l_Lean_Parser_Command_theorem_formatter___closed__2;
lean_object* l_Lean_Parser_Command_classInductive_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_inferMod___elambda__1___closed__1;
+extern lean_object* l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__7;
lean_object* l_Lean_Parser_Command_axiom_parenthesizer___closed__4;
lean_object* l_Lean_Parser_Command_check_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_end___closed__3;
+lean_object* l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_resolve__name_formatter___closed__3;
lean_object* l_Lean_Parser_Command_printAxioms_formatter___closed__5;
lean_object* l_Lean_Parser_Command_extends___elambda__1___closed__5;
@@ -1035,6 +1161,7 @@ lean_object* l_Lean_Parser_Command_structInstBinder_formatter___closed__7;
lean_object* l_Lean_Parser_Command_axiom___closed__3;
lean_object* l_Lean_Parser_Command_declModifiers_parenthesizer___closed__10;
lean_object* l_Lean_Parser_Command_structFields_parenthesizer___closed__1;
+lean_object* l_Lean_Parser_Command_optDeclSig___elambda__1___closed__7;
lean_object* l_Lean_Parser_Command_section_parenthesizer___closed__4;
lean_object* l_Lean_Parser_Command_protected___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Command_exit_parenthesizer___closed__1;
@@ -1049,6 +1176,7 @@ lean_object* l_Lean_Parser_Command_end_formatter(lean_object*, lean_object*, lea
extern lean_object* l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_classInductive___closed__1;
lean_object* l_Lean_Parser_Command_exit_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Command_openSimple___elambda__1___closed__6;
extern lean_object* l_Char_HasRepr___closed__1;
lean_object* l_Lean_Parser_Command_declaration_parenthesizer___closed__14;
extern lean_object* l_Lean_Parser_Term_emptyC___closed__2;
@@ -1058,6 +1186,7 @@ lean_object* l_Lean_Parser_Command_set__option___elambda__1(lean_object*, lean_o
lean_object* l___regBuiltin_Lean_Parser_Command_check__failure_formatter(lean_object*);
lean_object* l_Lean_Parser_Command_exit_parenthesizer___closed__2;
lean_object* l___regBuiltin_Lean_Parser_Command_check__failure_formatter___closed__1;
+lean_object* l_Lean_Parser_Command_variables___elambda__1___closed__11;
lean_object* l_Lean_Parser_Command_section___closed__2;
lean_object* l_Lean_Parser_Command_declaration_formatter___closed__14;
lean_object* l_Lean_Parser_Command_structInstBinder___closed__8;
@@ -1069,9 +1198,10 @@ lean_object* l_Lean_Parser_Command_set__option___elambda__1___closed__14;
lean_object* l_Lean_Parser_Command_end_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_optDeclSig_formatter___closed__1;
lean_object* l_Lean_Parser_Command_structImplicitBinder___closed__5;
+lean_object* l_Lean_Parser_Command_set__option___elambda__1___closed__18;
+extern lean_object* l_Lean_Parser_Term_forall___elambda__1___closed__9;
lean_object* l_Lean_Parser_Command_structFields___closed__9;
-lean_object* l___private_Lean_Parser_Basic_3__rawAux(lean_object*, uint8_t, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_tupleTail___elambda__1___spec__1(uint8_t, lean_object*, lean_object*);
+extern lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__17;
lean_object* l_Lean_Parser_Command_variable___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_attribute_parenthesizer___closed__4;
lean_object* l_Lean_Parser_Command_synth___closed__6;
@@ -1080,6 +1210,7 @@ lean_object* l_Lean_Parser_Command_structCtor___closed__2;
lean_object* l_Lean_Parser_Command_example_formatter___closed__4;
lean_object* l_Lean_Parser_Command_set__option___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_openOnly_parenthesizer___closed__1;
+extern lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_declValSimple___elambda__1___closed__8;
lean_object* l___regBuiltin_Lean_Parser_Command_export_formatter___closed__1;
lean_object* l___regBuiltinParser_Lean_Parser_Command_namespace(lean_object*);
@@ -1094,6 +1225,7 @@ lean_object* l_Lean_Parser_Command_declValEqns___closed__1;
lean_object* l_Lean_Parser_Command_namespace___elambda__1___closed__9;
lean_object* l_Lean_Parser_Command_variables___closed__3;
lean_object* l_Lean_Parser_Command_attribute___elambda__1___closed__19;
+extern lean_object* l_Lean_Parser_Term_doSeq___closed__2;
lean_object* l_Lean_Parser_Command_openHiding_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_variable___elambda__1___closed__4;
lean_object* l_Lean_Parser_Command_variable_parenthesizer___closed__2;
@@ -1116,6 +1248,7 @@ lean_object* l_Lean_Parser_Command_variable___closed__4;
lean_object* l_Lean_Parser_Command_init__quot_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_example___elambda__1___closed__3;
lean_object* l_Lean_Parser_Command_variable___elambda__1___closed__8;
+lean_object* l_Lean_Parser_Command_openHiding___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_partial___closed__3;
lean_object* l_Lean_Parser_Command_declaration_parenthesizer___closed__18;
lean_object* l_Lean_Parser_Command_structExplicitBinder___closed__2;
@@ -1126,6 +1259,7 @@ lean_object* l_Lean_Parser_Command_end_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_visibility___closed__3;
lean_object* l_Lean_Parser_Command_declaration_parenthesizer___closed__22;
lean_object* l_Lean_Parser_Command_structFields_parenthesizer___closed__8;
+lean_object* l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__14;
lean_object* l_Lean_Parser_Command_open_formatter___closed__10;
lean_object* l_Lean_Parser_Command_unsafe___closed__1;
lean_object* l_Lean_Parser_Command_namespace___elambda__1___closed__4;
@@ -1134,8 +1268,13 @@ lean_object* l_Lean_Parser_Command_check__failure___closed__1;
lean_object* l_Lean_Parser_Command_classTk___closed__2;
lean_object* l_Lean_Parser_Command_declValEqns_formatter___closed__2;
lean_object* l_Lean_Parser_Command_noncomputable_parenthesizer___closed__2;
+lean_object* l_Lean_Parser_Command_initialize___elambda__1___closed__14;
+lean_object* l_Lean_Parser_Command_declaration___elambda__1___closed__11;
+lean_object* l_Lean_Parser_Command_end___elambda__1___closed__12;
lean_object* l_Lean_Parser_Command_optDeclSig_formatter___closed__2;
lean_object* l_Lean_Parser_Command_init__quot_formatter___closed__3;
+lean_object* l_Lean_Parser_Command_inductive___elambda__1___closed__14;
+lean_object* l_Lean_Parser_Command_variable___elambda__1___closed__9;
lean_object* l_Lean_Parser_Command_inductive_formatter___closed__4;
lean_object* l_Lean_Parser_Command_classInductive_formatter___closed__7;
lean_object* l_Lean_Parser_Command_set__option___closed__5;
@@ -1150,15 +1289,19 @@ lean_object* l_Lean_PrettyPrinter_Formatter_many1Unbox_formatter(lean_object*, l
lean_object* l_Lean_Parser_Command_structExplicitBinder_parenthesizer___closed__5;
lean_object* l_Lean_Parser_Command_declVal___closed__2;
lean_object* l_Lean_Parser_Command_declValSimple_parenthesizer___closed__2;
+lean_object* l_Lean_Parser_Command_theorem___elambda__1___closed__10;
extern lean_object* l_Lean_Parser_many1Unbox___closed__1;
+lean_object* l_Lean_Parser_Command_print___elambda__1___closed__12;
lean_object* l_Lean_Parser_Command_partial_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_structImplicitBinder___closed__3;
lean_object* l_Lean_Parser_Command_axiom_formatter___closed__3;
lean_object* l_Lean_Parser_Term_quot_formatter___closed__5;
+lean_object* l_Lean_Parser_Command_eval___elambda__1___closed__11;
lean_object* l_Lean_Parser_Command_declaration_formatter___closed__22;
lean_object* l_Lean_Parser_Command_structCtor_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_openHiding_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_quot_parenthesizer___closed__7;
+lean_object* l_Lean_Parser_Command_constant___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_open_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_open___closed__7;
lean_object* l_Lean_Parser_Command_structCtor___closed__1;
@@ -1170,12 +1313,15 @@ lean_object* l_Lean_Parser_Command_theorem_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Command_structExplicitBinder_formatter___closed__6;
lean_object* l_Lean_Parser_Command_structInstBinder___closed__4;
lean_object* l_Lean_Parser_Command_inductive___closed__3;
+lean_object* l_Lean_Parser_Command_declId___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_mutual_formatter___closed__7;
extern lean_object* l_Lean_Parser_Term_typeAscription_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_section;
lean_object* l_Lean_Parser_Command_structure_formatter___closed__19;
lean_object* l_Lean_Parser_Command_openOnly_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_openRenaming___elambda__1___closed__2;
+lean_object* l_Lean_Parser_Command_declSig___elambda__1___closed__6;
+lean_object* l_Lean_Parser_Command_check__failure___elambda__1___closed__12;
extern lean_object* l_Lean_Parser_Term_subtype_parenthesizer___closed__2;
lean_object* l___regBuiltin_Lean_Parser_Command_set__option_formatter(lean_object*);
lean_object* l_Lean_Parser_Command_attribute_parenthesizer___closed__1;
@@ -1185,6 +1331,7 @@ lean_object* l_Lean_Parser_Command_declVal;
lean_object* l___regBuiltinParser_Lean_Parser_Command_variables(lean_object*);
lean_object* l_Lean_Parser_Command_optDeclSig___closed__4;
lean_object* l_Lean_Parser_Command_classInductive___closed__2;
+lean_object* l_Lean_Parser_Command_variables___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_def___closed__7;
lean_object* l_Lean_Parser_Command_inductive_formatter___closed__9;
lean_object* l_Lean_Parser_Command_exit_formatter___closed__3;
@@ -1192,6 +1339,7 @@ lean_object* l_Lean_Parser_Command_extends_parenthesizer(lean_object*, lean_obje
lean_object* l_Lean_Parser_Command_docComment___elambda__1___closed__2;
lean_object* l_Lean_Parser_Command_optDeclSig___closed__1;
lean_object* l_Lean_Parser_Command_unsafe___closed__4;
+lean_object* l_Lean_Parser_Command_structCtor___elambda__1___closed__12;
lean_object* l_Lean_Parser_Command_structFields___closed__6;
lean_object* l_Lean_Parser_Command_structCtor_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_inductive;
@@ -1202,6 +1350,7 @@ lean_object* l_Lean_Parser_Command_end___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_mutual___closed__7;
lean_object* l_Lean_Parser_Command_declaration___closed__4;
lean_object* l_Lean_Parser_Command_theorem___closed__7;
+lean_object* l_Lean_Parser_Command_structCtor___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_structInstBinder___closed__2;
lean_object* l_Lean_Parser_Command_structureTk_formatter___closed__3;
extern lean_object* l_Lean_mkAppStx___closed__6;
@@ -1219,6 +1368,7 @@ lean_object* l_Lean_Parser_Command_axiom___elambda__1___closed__4;
lean_object* l_Lean_Parser_Command_variable___elambda__1___closed__2;
lean_object* l_Lean_Parser_Command_declModifiers_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_attribute___elambda__1___closed__6;
+lean_object* l_Lean_Parser_Command_theorem___elambda__1___closed__14;
lean_object* l_Lean_Parser_Command_variable_parenthesizer___closed__1;
lean_object* l___regBuiltinParser_Lean_Parser_Command_universe(lean_object*);
lean_object* l_Lean_Parser_Command_set__option_parenthesizer___closed__3;
@@ -1252,9 +1402,12 @@ lean_object* l_Lean_Parser_Command_exit___elambda__1___closed__3;
lean_object* l___regBuiltinParser_Lean_Parser_Command_builtin__initialize(lean_object*);
lean_object* l_Lean_Parser_Command_theorem_formatter___closed__4;
lean_object* l_Lean_Parser_Command_ctor_formatter___closed__9;
+lean_object* l_Lean_Parser_Command_structInstBinder___elambda__1___closed__12;
+lean_object* l_Lean_Parser_Command_protected___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_structFields___closed__3;
lean_object* l_Lean_Parser_Term_quot___closed__5;
lean_object* l_Lean_Parser_Command_commentBody___elambda__1___boxed(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Command_in___elambda__1___closed__3;
lean_object* l_Lean_Parser_Command_private___closed__6;
lean_object* l___regBuiltin_Lean_Parser_Command_init__quot_formatter___closed__1;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_many1Unbox_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -1271,8 +1424,11 @@ lean_object* l_Lean_Parser_Command_ctor_parenthesizer___closed__7;
lean_object* l_Lean_Parser_Command_declaration___closed__9;
lean_object* l_Lean_Parser_Command_declModifiers___closed__7;
lean_object* l_Lean_Parser_Command_set__option___closed__3;
+lean_object* l_Lean_Parser_Command_declValEqns___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_universe___closed__1;
lean_object* l_Lean_Parser_Command_protected___closed__5;
+lean_object* l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__16;
+lean_object* l_Lean_Parser_Command_export___elambda__1___closed__11;
lean_object* l_Lean_Parser_Command_eval___closed__3;
lean_object* l___regBuiltin_Lean_Parser_Command_variable_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Command_partial___elambda__1___closed__8;
@@ -1283,7 +1439,6 @@ lean_object* l_Lean_Parser_Command_structFields___elambda__1___closed__4;
lean_object* l_Lean_Parser_Command_open___elambda__1___closed__2;
lean_object* l_Lean_Parser_Command_openRenaming___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_theorem___elambda__1(lean_object*, lean_object*);
-extern lean_object* l_Lean_Parser_Term_explicitUniv___elambda__1___closed__8;
lean_object* l___regBuiltin_Lean_Parser_Command_check_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__7;
lean_object* l___regBuiltinParser_Lean_Parser_Command_set__option(lean_object*);
@@ -1299,26 +1454,37 @@ lean_object* l_Lean_Parser_Command_ctor___closed__4;
lean_object* l_Lean_Parser_Command_universes___closed__4;
lean_object* l_Lean_Parser_Command_axiom_formatter___closed__2;
lean_object* l_Lean_Parser_Command_classTk___elambda__1___closed__4;
+lean_object* l_Lean_Parser_Command_declModifiers___elambda__1___closed__9;
lean_object* l_Lean_Parser_Command_constant___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_theorem_formatter___closed__1;
lean_object* l_Lean_Parser_Command_open_formatter___closed__3;
+lean_object* l_Lean_Parser_Command_example___elambda__1___closed__11;
lean_object* l_Lean_Parser_Command_ctor_formatter___closed__4;
lean_object* l___regBuiltin_Lean_Parser_Command_printAxioms_formatter___closed__1;
lean_object* l_Lean_Parser_Command_set__option_formatter___closed__3;
+lean_object* l_Lean_Parser_Command_structure___elambda__1___closed__11;
lean_object* l_Lean_Parser_Command_abbrev___closed__9;
lean_object* l___regBuiltin_Lean_Parser_Command_initialize_formatter___closed__1;
+lean_object* l_Lean_Parser_Command_declaration___elambda__1___closed__6;
extern lean_object* l_Lean_Parser_Term_structInstArrayRef_formatter___closed__3;
lean_object* l_Lean_Parser_Command_noncomputable_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_declSig___elambda__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Command_attribute___elambda__1___closed__22;
lean_object* l_Lean_Parser_Command_declModifiers_formatter___closed__8;
+lean_object* l_Lean_Parser_Command_structFields___elambda__1___closed__9;
lean_object* l___regBuiltin_Lean_Parser_Command_declaration_formatter___closed__1;
-extern lean_object* l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
+lean_object* l_Lean_Parser_Command_exit___elambda__1___closed__11;
lean_object* l_Lean_Parser_Command_ctor___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_mutual___elambda__1___closed__7;
+lean_object* l_Lean_Parser_Command_variables___elambda__1___closed__12;
extern lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
+lean_object* l_Lean_Parser_Command_def___elambda__1___closed__12;
+lean_object* l_Lean_Parser_Command_check___elambda__1___closed__11;
+lean_object* l_Lean_Parser_Command_classInductive___elambda__1___closed__11;
lean_object* l_Lean_Parser_Command_openSimple___closed__5;
lean_object* l_Lean_Parser_Command_openRenamingItem_formatter___closed__5;
lean_object* l_Lean_Parser_Command_theorem___elambda__1___closed__5;
+lean_object* l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__12;
extern lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed___closed__3;
lean_object* l_Lean_Parser_Command_abbrev___closed__8;
lean_object* l_Lean_Parser_Command_inductive___elambda__1___closed__1;
@@ -1331,9 +1497,10 @@ lean_object* l___regBuiltin_Lean_Parser_Command_exit_parenthesizer(lean_object*)
lean_object* l_Lean_Parser_Command_classTk___elambda__1(lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Command_variable_formatter(lean_object*);
lean_object* l_Lean_Parser_Command_eval___elambda__1___closed__9;
-lean_object* l_Lean_Parser_ParserState_restore(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Command_ctor___elambda__1___closed__16;
lean_object* l_Lean_Parser_Command_variable___elambda__1___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Command_check_parenthesizer(lean_object*);
+lean_object* l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__12;
lean_object* l_Lean_Parser_Command_optDeclSig___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_variable___closed__6;
lean_object* l_Lean_Parser_Command_resolve__name_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -1355,12 +1522,16 @@ lean_object* l_Lean_Parser_Command_declModifiers___closed__16;
lean_object* l_Lean_Parser_Command_private_formatter___closed__3;
lean_object* l_Lean_Parser_Command_structure_formatter___closed__7;
lean_object* l_Lean_Parser_Command_structFields___closed__1;
+lean_object* l_Lean_Parser_Command_universes___elambda__1___closed__12;
lean_object* l_Lean_Parser_Command_inductive___closed__8;
lean_object* l_Lean_Parser_Command_openHiding___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_printAxioms___elambda__1___closed__8;
+lean_object* l_Lean_Parser_Command_docComment___elambda__1___closed__15;
lean_object* l_Lean_Parser_Command_openRenaming___closed__7;
+lean_object* l_Lean_Parser_Command_ctor___elambda__1___closed__11;
lean_object* l_Lean_Parser_Command_partial___closed__4;
lean_object* l_Lean_Parser_Command_declModifiers___elambda__1___closed__2;
+lean_object* l_Lean_Parser_manyAux(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_structExplicitBinder___closed__5;
lean_object* l_Lean_Parser_Command_private___closed__2;
lean_object* l_Lean_Parser_Command_declSig_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -1387,19 +1558,21 @@ lean_object* l_Lean_Parser_Command_declValSimple_formatter___closed__1;
lean_object* l_Lean_Parser_Command_check___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_printAxioms___elambda__1___closed__1;
lean_object* l_Lean_Parser_Command_eval___elambda__1___closed__8;
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__4;
lean_object* l_Lean_Parser_Command_docComment_formatter___closed__5;
+lean_object* l_Lean_Parser_Command_structureTk___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_docComment___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_example___elambda__1___closed__4;
lean_object* l_Lean_Parser_Command_namespace___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_docComment_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Command_init__quot___elambda__1___closed__7;
lean_object* l_Lean_Parser_Command_structExplicitBinder_parenthesizer___closed__10;
-lean_object* l_Lean_Parser_Term_optType___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_withResultOfFn(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_quot_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Command_synth___elambda__1___closed__9;
+lean_object* l_Lean_Parser_Command_declaration___elambda__1___closed__13;
lean_object* l_Lean_Parser_Command_initialize_formatter___closed__5;
+lean_object* l_Lean_Parser_Command_docComment___elambda__1___closed__14;
+extern lean_object* l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__7;
lean_object* l___regBuiltin_Lean_Parser_Command_universe_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_declModifiers_formatter___closed__19;
lean_object* l_Lean_Parser_Command_declValEqns___elambda__1___closed__1;
@@ -1423,15 +1596,19 @@ lean_object* l_Lean_Parser_Command_structInstBinder___closed__1;
extern lean_object* l_Lean_Parser_Term_letIdLhs___closed__2;
lean_object* l_Lean_Parser_Command_mutual___closed__10;
lean_object* l_Lean_Parser_Command_openSimple_formatter___closed__1;
+lean_object* l_Lean_Parser_Command_attribute___elambda__1___closed__25;
extern lean_object* l_Lean_Parser_antiquotNestedExpr_formatter___closed__2;
+extern lean_object* l_Lean_Parser_Term_binderDefault___closed__4;
lean_object* l_Lean_Parser_Command_structInstBinder_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_declId_parenthesizer___closed__5;
+lean_object* l_Lean_Parser_Command_declId___elambda__1___closed__12;
lean_object* l_Lean_Parser_Command_noncomputable___closed__5;
-extern lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
+lean_object* l_Lean_Parser_Command_declValSimple___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_declModifiers_parenthesizer___closed__9;
lean_object* l_Lean_Parser_Command_variables_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Command_classInductive___closed__8;
lean_object* l_Lean_Parser_Command_structCtor___closed__7;
+lean_object* l_Lean_Parser_Command_openOnly___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_check_parenthesizer___closed__2;
lean_object* l_Lean_PrettyPrinter_Formatter_many1_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_openRenaming___elambda__1___closed__9;
@@ -1444,7 +1621,9 @@ lean_object* l_Lean_Parser_Command_noncomputable___elambda__1___closed__3;
lean_object* l_Lean_Parser_sepBy1Info(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_quot_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_example_parenthesizer___closed__1;
+lean_object* l_Lean_Parser_Command_open___elambda__1___closed__11;
lean_object* l_Lean_Parser_Term_quot___closed__7;
+lean_object* l_Lean_Parser_Command_print___elambda__1___closed__11;
lean_object* l_Lean_Parser_Command_example_formatter___closed__1;
lean_object* l_Lean_PrettyPrinter_Formatter_skip_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_builtin__initialize_formatter___closed__1;
@@ -1467,6 +1646,7 @@ lean_object* l_Lean_Parser_Command_noncomputable___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_check___elambda__1___closed__9;
lean_object* l___regBuiltin_Lean_Parser_Command_universes_formatter___closed__1;
lean_object* l_Lean_Parser_Command_synth___elambda__1___closed__4;
+lean_object* l_Lean_Parser_sepBy1Fn___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_unsafe_formatter___closed__3;
lean_object* l_Lean_Parser_Command_inductive_parenthesizer___closed__8;
lean_object* l___regBuiltin_Lean_Parser_Command_initialize_parenthesizer___closed__1;
@@ -1475,15 +1655,19 @@ lean_object* l_Lean_Parser_Command_declId_parenthesizer___closed__7;
lean_object* l_Lean_Parser_Command_unsafe___closed__3;
lean_object* l_Lean_Parser_Command_constant_formatter___closed__4;
lean_object* l_Lean_Parser_Command_set__option___closed__9;
+lean_object* l_Lean_Parser_Command_declValSimple___elambda__1___closed__12;
lean_object* l_Lean_Parser_Command_constant_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_ctor___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_declModifiers_parenthesizer___closed__4;
lean_object* l_Lean_Parser_Command_structureTk_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Command_eval_formatter___closed__1;
+lean_object* l_Lean_Parser_Command_def___elambda__1___closed__10;
+lean_object* l_Lean_Parser_Command_mutual___elambda__1___closed__18;
lean_object* l___regBuiltin_Lean_Parser_Command_eval_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Command_structInstBinder_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_def_formatter___closed__3;
lean_object* l_Lean_Parser_Command_eval___closed__5;
+lean_object* l_Lean_Parser_Command_structure___elambda__1___closed__12;
lean_object* l_Lean_Parser_Command_universe___elambda__1___closed__2;
lean_object* l_Lean_Parser_Command_declValEqns___closed__3;
lean_object* l_Lean_Parser_Command_mutual___elambda__1___closed__3;
@@ -1510,6 +1694,7 @@ lean_object* l_Lean_Parser_Command_openOnly___elambda__1___closed__4;
lean_object* l_Lean_Parser_ident___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_structure_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_declaration_formatter___closed__17;
+lean_object* l_Lean_Parser_Command_declSig___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_attribute_formatter___closed__6;
lean_object* l_Lean_Parser_Command_set__option___closed__4;
lean_object* l_Lean_Parser_Command_example___elambda__1___closed__9;
@@ -1518,9 +1703,12 @@ lean_object* l_Lean_Parser_Command_constant_parenthesizer___closed__6;
lean_object* l_Lean_Parser_Command_structFields_formatter___closed__5;
lean_object* l_Lean_Parser_Command_declVal___closed__1;
lean_object* l_Lean_Parser_Command_openRenaming___closed__1;
+lean_object* l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__11;
lean_object* l_Lean_Parser_Command_builtin__initialize_formatter___closed__2;
+lean_object* l_Lean_Parser_Command_constant___elambda__1___closed__15;
extern lean_object* l_Bool_HasRepr___closed__1;
lean_object* l_Lean_Parser_toggleInsideQuotFn(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Command_initialize___elambda__1___closed__16;
lean_object* l_Lean_Parser_Command_openOnly_formatter___closed__1;
lean_object* l_Lean_Parser_Command_check;
lean_object* l_Lean_Parser_Command_instance_formatter___closed__4;
@@ -1536,6 +1724,7 @@ extern lean_object* l_Lean_Parser_Term_structInstArrayRef___closed__2;
lean_object* l_Lean_Parser_Command_universe___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_declVal_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_noncomputable___elambda__1___closed__1;
+lean_object* l_Lean_Parser_Command_def___elambda__1___closed__11;
lean_object* l_Lean_Parser_Command_resolve__name___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_open_parenthesizer___closed__10;
lean_object* l_Lean_Parser_Command_instance_formatter___closed__1;
@@ -1545,6 +1734,7 @@ lean_object* l_Lean_Parser_Command_openSimple___closed__4;
lean_object* l___regBuiltin_Lean_Parser_Command_synth_formatter___closed__1;
lean_object* l_Lean_Parser_Command_inductive___elambda__1___closed__8;
extern lean_object* l_Lean_Parser_Term_haveAssign___closed__1;
+extern lean_object* l_Lean_Parser_Term_emptyC___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_declValSimple_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Command_structure_parenthesizer___closed__10;
lean_object* l_Lean_Parser_Command_example_parenthesizer___closed__2;
@@ -1560,19 +1750,24 @@ lean_object* l_Lean_Parser_Command_structImplicitBinder_parenthesizer___closed__
lean_object* l_Lean_Parser_Command_initialize_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_end___elambda__1___closed__2;
lean_object* l_Lean_Parser_Command_declModifiers_formatter___closed__12;
-lean_object* l_Lean_Parser_numLit___elambda__1(lean_object*, lean_object*);
+extern lean_object* l_Lean_Parser_Level_paren___elambda__1___closed__3;
+lean_object* l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__11;
lean_object* l_Lean_Parser_Command_abbrev___closed__1;
lean_object* l_Lean_Parser_Command_universes_formatter___closed__1;
lean_object* l_Lean_Parser_Command_open___closed__1;
+lean_object* l_Lean_Parser_Command_declId___elambda__1___closed__11;
lean_object* l_Lean_Parser_Command_export_formatter___closed__2;
lean_object* l_Lean_Parser_Command_set__option___elambda__1___closed__1;
lean_object* l_Lean_Parser_Command_declaration_parenthesizer___closed__1;
+lean_object* l_Lean_Parser_Command_declModifiers___elambda__1___closed__15;
lean_object* l_Lean_Parser_Command_open_formatter___closed__6;
lean_object* l_Lean_Parser_Command_inductive_parenthesizer___closed__7;
lean_object* l_Lean_Parser_Command_extends_formatter___closed__3;
lean_object* l_Lean_Parser_Command_declModifiers_parenthesizer___closed__11;
lean_object* l_Lean_Parser_Command_structImplicitBinder;
lean_object* l_Lean_Parser_Command_openRenaming_formatter___closed__5;
+lean_object* l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__11;
+lean_object* l_Lean_Parser_Command_declModifiers___elambda__1___closed__18;
extern lean_object* l___regBuiltin_Lean_PrettyPrinter_Formatter_ppLine_formatter___closed__3;
lean_object* l_Lean_Parser_Command_partial___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_set__option___closed__8;
@@ -1581,6 +1776,7 @@ lean_object* l_Lean_Parser_Command_initialize_parenthesizer(lean_object*, lean_o
lean_object* l_Lean_Parser_Command_export_parenthesizer___closed__5;
lean_object* l___regBuiltin_Lean_Parser_Command_initialize_formatter(lean_object*);
lean_object* l_Lean_Parser_Command_declaration_formatter___closed__9;
+extern lean_object* l_Lean_Parser_Term_doSeqBracketed___closed__6;
lean_object* l_Lean_Parser_Command_axiom___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_private___closed__1;
lean_object* l_Lean_Parser_Command_initialize_parenthesizer___closed__6;
@@ -1588,13 +1784,13 @@ lean_object* l_Lean_Parser_Command_declValEqns_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_inductive_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Command_structure_formatter___closed__16;
lean_object* l_Lean_Parser_Command_universe___elambda__1(lean_object*, lean_object*);
-lean_object* l_Lean_Parser_Term_binderDefault___elambda__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Command_mutual___elambda__1___closed__20;
extern lean_object* l_Lean_Parser_Term_emptyC_formatter___closed__3;
lean_object* l_Lean_Parser_Command_resolve__name_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_constant___closed__3;
-extern lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_classInductive___closed__6;
lean_object* l_Lean_Parser_Command_namespace_parenthesizer___closed__2;
+lean_object* l_Lean_Parser_Command_declModifiers___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_end___elambda__1___closed__1;
lean_object* l_Lean_Parser_Command_namespace_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_noncomputable___elambda__1___closed__2;
@@ -1606,14 +1802,13 @@ lean_object* l_Lean_Parser_Command_attribute___closed__2;
lean_object* l_Lean_Parser_Command_synth___closed__4;
lean_object* l_Lean_Parser_Command_inductive_parenthesizer___closed__5;
lean_object* l_Lean_Parser_Command_in_formatter___closed__1;
-extern lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__1;
lean_object* l_Lean_Parser_Command_exit___elambda__1___closed__7;
lean_object* l_Lean_Parser_Command_resolve__name___closed__6;
-lean_object* l_Lean_Parser_mergeOrElseErrors(lean_object*, lean_object*, lean_object*, uint8_t);
lean_object* l_Lean_Parser_Command_init__quot_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_universes___elambda__1___closed__4;
lean_object* l___regBuiltin_Lean_Parser_Command_mutual_formatter(lean_object*);
lean_object* l_Lean_Parser_Command_theorem___elambda__1___closed__7;
+lean_object* l_Lean_Parser_tryFn(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_declVal___closed__3;
lean_object* l_Lean_Parser_Command_set__option___elambda__1___closed__13;
lean_object* l_Lean_Parser_Command_initialize_parenthesizer___closed__2;
@@ -1629,7 +1824,6 @@ lean_object* l_Lean_Parser_Command_docComment___closed__8;
lean_object* l_Lean_Parser_Command_openHiding___elambda__1___closed__5;
extern lean_object* l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_builtin__initialize_formatter___closed__4;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Command_declId___elambda__1___spec__2(uint8_t, lean_object*, uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_resolve__name___elambda__1___closed__3;
lean_object* l_Lean_Parser_Command_private___elambda__1___closed__1;
lean_object* l_Lean_Parser_Command_universes_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -1649,6 +1843,8 @@ lean_object* l_Lean_Parser_Command_structImplicitBinder___elambda__1(lean_object
lean_object* l_Lean_Parser_Command_ctor___closed__2;
lean_object* l_Lean_Parser_Term_quot;
lean_object* l_Lean_Parser_Command_structure___elambda__1___closed__1;
+lean_object* l_Lean_Parser_Command_declModifiers___elambda__1___closed__14;
+lean_object* l_Lean_Parser_Command_mutual___elambda__1___closed__10;
lean_object* l_Lean_Parser_commandParser_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_structCtor___closed__3;
lean_object* l_Lean_Parser_Command_synth_formatter___closed__1;
@@ -1658,15 +1854,19 @@ lean_object* l___regBuiltin_Lean_Parser_Command_variables_parenthesizer(lean_obj
lean_object* l_Lean_Parser_Command_synth_formatter___closed__2;
extern lean_object* l_Lean_Parser_Term_letIdLhs_formatter___closed__3;
lean_object* l_Lean_Parser_Command_noncomputable___elambda__1___closed__4;
+lean_object* l_Lean_Parser_Command_optDeclSig___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_structure___closed__8;
lean_object* l_Lean_Parser_Command_end___elambda__1___closed__8;
+lean_object* l_Lean_Parser_Command_print___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_end___closed__6;
lean_object* l_Lean_Parser_Command_noncomputable_formatter___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Command_section_formatter___closed__1;
extern lean_object* l_Bool_HasRepr___closed__2;
+lean_object* l_Lean_Parser_Command_inferMod___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_instance___closed__6;
lean_object* l_Lean_Parser_Command_namespace___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_structImplicitBinder_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Command_declaration___elambda__1___closed__16;
lean_object* l_Lean_Parser_Command_openSimple___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_structureTk___elambda__1___closed__7;
lean_object* l_Lean_Parser_Command_openOnly_parenthesizer___closed__3;
@@ -1681,10 +1881,12 @@ lean_object* l_Lean_Parser_Command_check__failure___closed__2;
lean_object* l_Lean_Parser_Command_declaration;
lean_object* l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_optDeclSig___closed__5;
+lean_object* l_Lean_Parser_Command_ctor___elambda__1___closed__12;
lean_object* l_Lean_Parser_Command_declSig_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_structExplicitBinder___closed__6;
lean_object* l_Lean_Parser_Command_in___closed__1;
lean_object* l_Lean_Parser_Command_eval___elambda__1___closed__3;
+lean_object* l_Lean_Parser_Command_universes___elambda__1___closed__11;
lean_object* l_Lean_Parser_Command_openRenaming_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_structure_parenthesizer___closed__16;
lean_object* l_Lean_Parser_Command_declId___closed__7;
@@ -1692,12 +1894,13 @@ extern lean_object* l_Lean_Parser_Term_doIf_formatter___closed__2;
lean_object* l___regBuiltin_Lean_Parser_Command_section_formatter(lean_object*);
lean_object* l_Lean_Parser_Command_openOnly___elambda__1___closed__3;
lean_object* l_Lean_Parser_Command_check__failure___elambda__1___closed__8;
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Command_openRenaming___elambda__1___spec__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_open_formatter___closed__8;
lean_object* l_Lean_Parser_Command_structInstBinder___elambda__1___closed__1;
lean_object* l_Lean_Parser_Command_protected___elambda__1___closed__4;
lean_object* l_Lean_Parser_Command_declId_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Command_synth___elambda__1___closed__11;
lean_object* l_Lean_Parser_Command_declaration___closed__1;
+lean_object* l_Lean_Parser_Command_openOnly___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_structFields_formatter___closed__6;
lean_object* l_Lean_Parser_Command_declSig___elambda__1___closed__1;
lean_object* l_Lean_Parser_Command_inductive___closed__1;
@@ -1713,12 +1916,13 @@ lean_object* l_Lean_Parser_Command_theorem___closed__4;
lean_object* l_Lean_Parser_Command_declaration_parenthesizer___closed__21;
lean_object* l_Lean_Parser_Command_variables_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_unsafe___elambda__1___closed__6;
+lean_object* l_Lean_Parser_Command_init__quot___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_init__quot___closed__6;
lean_object* l_Lean_Parser_Command_openSimple___closed__2;
lean_object* l_Lean_Parser_symbolInfo(lean_object*);
lean_object* l_Lean_Parser_Command_structImplicitBinder_formatter___closed__1;
-extern lean_object* l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
+lean_object* l_Lean_Parser_Command_structure___elambda__1___closed__17;
lean_object* l_Lean_Parser_Command_classTk;
lean_object* l_Lean_Parser_Command_end___elambda__1___closed__4;
lean_object* l_Lean_Parser_Command_axiom___elambda__1(lean_object*, lean_object*);
@@ -1727,13 +1931,17 @@ lean_object* l_Lean_Parser_Command_openRenaming___closed__8;
lean_object* l_Lean_Parser_Command_declaration_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_docComment_formatter___closed__7;
lean_object* l_Lean_Parser_Command_classInductive_formatter___closed__2;
+lean_object* l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_docComment;
lean_object* l_Lean_Parser_Command_structExplicitBinder_formatter___closed__5;
+lean_object* l_Lean_Parser_sepBy1Fn(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_orelseFnCore(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_structInstBinder_formatter___closed__3;
lean_object* l_Lean_Parser_Command_structCtor___elambda__1___closed__7;
extern lean_object* l_Lean_Parser_epsilonInfo;
lean_object* l_Lean_Parser_notSymbol_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_def___closed__1;
+lean_object* l_Lean_Parser_Command_axiom___elambda__1___closed__13;
lean_object* l_Lean_Parser_Command_initialize___elambda__1___closed__7;
lean_object* l_Lean_Parser_Command_export___elambda__1___closed__4;
lean_object* l_Lean_Parser_Command_structCtor_formatter___closed__7;
@@ -1742,10 +1950,10 @@ lean_object* l_Lean_Parser_Command_openRenaming_formatter___closed__7;
lean_object* l_Lean_Parser_Command_structure___closed__4;
lean_object* l_Lean_Parser_Command_printAxioms___closed__2;
lean_object* l_Lean_Parser_Command_declModifiers___elambda__1___closed__1;
-extern lean_object* l_Lean_Parser_Term_doFor___elambda__1___closed__11;
extern lean_object* l_Lean_Parser_Term_forall_formatter___closed__3;
lean_object* l_Lean_Parser_Command_namespace_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Command_declModifiers_parenthesizer___closed__21;
+lean_object* l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__12;
extern lean_object* l_Lean_Parser_Term_explicitUniv___closed__1;
lean_object* l_Lean_Parser_Command_print___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_structImplicitBinder_formatter___closed__4;
@@ -1767,6 +1975,7 @@ lean_object* l_Lean_Parser_Command_end___elambda__1___closed__9;
lean_object* l_Lean_Parser_Command_print_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_instance___elambda__1___closed__7;
lean_object* l_Lean_Parser_Command_section_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Command_declValSimple___elambda__1___closed__11;
lean_object* l_Lean_Parser_Command_noncomputable___closed__4;
lean_object* l_Lean_Parser_Command_structInstBinder___elambda__1___closed__2;
lean_object* l_Lean_Parser_Command_check__failure___elambda__1___closed__4;
@@ -1777,13 +1986,16 @@ lean_object* l_Lean_Parser_Command_export___elambda__1___closed__9;
lean_object* l_Lean_Parser_Command_section___closed__7;
lean_object* l_Lean_Parser_Command_noncomputable___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_structFields_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Command_section___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_classInductive_formatter___closed__1;
lean_object* l_Lean_Parser_Command_eval___elambda__1___closed__1;
lean_object* l_Lean_Parser_Command_structImplicitBinder_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_structure___closed__9;
+lean_object* l_Lean_Parser_Command_mutual___elambda__1___closed__16;
lean_object* l_Lean_Parser_Command_set__option_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_openOnly_formatter___closed__2;
lean_object* l_Lean_Parser_Command_declaration___closed__2;
+lean_object* l_Lean_Parser_Command_printAxioms___elambda__1___closed__9;
lean_object* l_Lean_Parser_Term_quot_parenthesizer___closed__6;
lean_object* l_Lean_Parser_Command_open_parenthesizer___closed__4;
lean_object* l_Lean_Parser_Command_universes_formatter___closed__4;
@@ -1791,9 +2003,11 @@ lean_object* l___regBuiltin_Lean_Parser_Command_declaration_formatter(lean_objec
lean_object* l_Lean_Parser_Command_end___elambda__1___closed__7;
extern lean_object* l___regBuiltin_Lean_Parser_ppLine_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_example_formatter___closed__2;
+lean_object* l_Lean_Parser_Command_structFields___elambda__1___closed__7;
lean_object* l_Lean_Parser_Command_constant___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_attribute___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_optDeclSig_parenthesizer___closed__1;
+lean_object* l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__9;
lean_object* l_Lean_Parser_Command_structureTk___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_in_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_protected_parenthesizer___closed__1;
@@ -1802,12 +2016,15 @@ lean_object* l_Lean_Parser_Command_mutual_parenthesizer___closed__7;
lean_object* l_Lean_Parser_Command_check__failure_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_check___closed__3;
lean_object* l_Lean_Parser_Command_mutual_formatter___closed__9;
+lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_rawAux(lean_object*, uint8_t, lean_object*, lean_object*);
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;
lean_object* l___regBuiltin_Lean_Parser_Command_set__option_formatter___closed__1;
lean_object* l_Lean_Parser_Term_quot___closed__1;
lean_object* l_Lean_Parser_Command_namespace_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_axiom___closed__8;
+lean_object* l_Lean_Parser_Command_extends___elambda__1___closed__12;
lean_object* l_Lean_Parser_Command_noncomputable_formatter___closed__3;
lean_object* l_Lean_Parser_Command_openOnly___closed__2;
lean_object* l_Lean_Parser_Command_partial_parenthesizer___closed__1;
@@ -1819,11 +2036,14 @@ lean_object* l_Lean_Parser_Command_ctor_formatter(lean_object*, lean_object*, le
lean_object* l_Lean_Parser_Command_section___elambda__1___closed__7;
lean_object* l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__12;
lean_object* l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__4;
+lean_object* l_Lean_Parser_Command_declId___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_printAxioms___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_declValSimple___closed__1;
lean_object* l_Lean_Parser_Command_structure___elambda__1___closed__2;
+lean_object* l_Lean_Parser_Command_declModifiers___elambda__1___closed__13;
lean_object* l_Lean_Parser_Command_structExplicitBinder_formatter___closed__11;
extern lean_object* l_Lean_Parser_Term_attrArg___closed__1;
+lean_object* l_Lean_Parser_Command_declaration___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_resolve__name___elambda__1___closed__7;
lean_object* l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__11;
lean_object* l_Lean_Parser_Command_openHiding___closed__2;
@@ -1832,10 +2052,10 @@ lean_object* l_Lean_Parser_Command_declModifiers_formatter___closed__21;
lean_object* l_Lean_Parser_Command_universe_formatter___closed__3;
lean_object* l_Lean_Parser_Command_partial___closed__2;
lean_object* l_Lean_Parser_Command_declModifiers_parenthesizer___closed__7;
+extern lean_object* l_Lean_Parser_Parser_inhabited___closed__2;
lean_object* l_Lean_Parser_Command_variables_formatter___closed__2;
lean_object* l_Lean_Parser_Command_attribute___elambda__1___closed__2;
lean_object* l_Lean_Parser_Command_resolve__name_formatter___closed__1;
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_letIdLhs___elambda__1___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_openHiding___closed__1;
extern lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer___closed__3;
extern lean_object* l_Lean_KeyedDeclsAttribute_init___rarg___lambda__3___closed__2;
@@ -1852,6 +2072,7 @@ lean_object* l_Lean_Parser_Command_variable_formatter___closed__1;
lean_object* l_Lean_Parser_Command_declModifiers_formatter___closed__2;
lean_object* l_Lean_Parser_Command_declVal_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_set__option_formatter___closed__7;
+extern lean_object* l_Lean_Parser_Term_typeSpec___closed__4;
lean_object* l_Lean_Parser_Command_constant_formatter___closed__2;
lean_object* l___regBuiltin_Lean_Parser_Command_variable_formatter___closed__1;
lean_object* l_Lean_Parser_Command_declModifiers_parenthesizer___closed__24;
@@ -1861,16 +2082,21 @@ lean_object* l_Lean_Parser_Command_optDeclSig_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_declaration_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Command_universes___elambda__1___closed__2;
lean_object* l_Lean_Parser_Command_structImplicitBinder_formatter___closed__5;
+lean_object* l_Lean_Parser_Command_instance___elambda__1___closed__12;
lean_object* l_Lean_Parser_Command_classInductive___elambda__1___closed__9;
lean_object* l_Lean_Parser_Command_openRenaming___closed__2;
lean_object* l_Lean_Parser_Command_section_formatter___closed__4;
lean_object* l_Lean_Parser_Command_protected_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_print___closed__8;
+lean_object* l_Lean_Parser_Command_check___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_openOnly_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_openHiding___elambda__1___closed__9;
+extern lean_object* l_Lean_Parser_Term_attributes___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_docComment_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_print___closed__4;
lean_object* l_Lean_Parser_Command_declaration___closed__8;
+lean_object* l_Lean_Parser_Command_structInstBinder___elambda__1___closed__7;
+lean_object* l_Lean_Parser_Command_section___elambda__1___closed__12;
lean_object* l_Lean_Parser_Command_optDeclSig___elambda__1___closed__4;
lean_object* l_Lean_Parser_Command_openSimple_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_abbrev_formatter___closed__2;
@@ -1880,16 +2106,19 @@ lean_object* l_String_trim(lean_object*);
lean_object* l_Lean_Parser_Command_commentBody_parenthesizer___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_structure___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_def_formatter___closed__1;
+extern lean_object* l_Lean_Parser_Level_paren___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_structFields_formatter___closed__1;
lean_object* l_Lean_Parser_Command_mutual___elambda__1___closed__6;
-extern lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_optional_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_axiom___closed__4;
lean_object* l_Lean_Parser_Command_structure_parenthesizer___closed__7;
lean_object* l_Lean_Parser_Command_exit___closed__5;
lean_object* l_Lean_Parser_Command_section_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_nodeFn(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_declValSimple;
lean_object* l_Lean_Parser_Command_eval_formatter___closed__4;
+lean_object* l_Lean_Parser_Command_open___elambda__1___closed__14;
+lean_object* l_Lean_Parser_Command_abbrev___elambda__1___closed__11;
lean_object* l_Lean_Parser_Command_constant_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_resolve__name___closed__5;
lean_object* l_Lean_Parser_Command_check__failure_formatter___closed__2;
@@ -1898,15 +2127,19 @@ lean_object* l_Lean_Parser_Command_openOnly___elambda__1___closed__2;
lean_object* l_Lean_Parser_Command_declaration___elambda__1___closed__1;
lean_object* l_Lean_Parser_Command_attribute___elambda__1___closed__1;
lean_object* l_Lean_Parser_Command_axiom___closed__1;
+lean_object* l_Lean_Parser_optionalFn(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_docComment_formatter___closed__1;
lean_object* l_Lean_Parser_Command_partial_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_exit___closed__3;
lean_object* l_Lean_Parser_Command_unsafe___elambda__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Command_declModifiers___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_builtin__initialize;
extern lean_object* l_Lean_Parser_Term_typeAscription___closed__2;
lean_object* l_Lean_Parser_Command_variable___closed__7;
+extern lean_object* l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__14;
lean_object* l_Lean_Parser_Command_private___elambda__1___closed__7;
lean_object* l_Lean_Parser_Command_noncomputable___elambda__1___closed__6;
+extern lean_object* l_Lean_Parser_Term_haveAssign___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_builtin__initialize_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_structExplicitBinder_formatter___closed__8;
lean_object* l_Lean_Parser_Command_builtin__initialize___closed__7;
@@ -1917,22 +2150,28 @@ lean_object* l_Lean_Parser_Command_check___closed__2;
lean_object* l_Lean_Parser_Command_constant___elambda__1___closed__7;
lean_object* l_Lean_Parser_Command_open___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_declSig___closed__5;
+lean_object* l_Lean_Parser_Command_structureTk___elambda__1___closed__11;
lean_object* l_Lean_Parser_Command_declModifiers_formatter___closed__23;
lean_object* l_Lean_Parser_Command_def_formatter___closed__2;
lean_object* l_Lean_Parser_Command_structCtor___elambda__1___closed__4;
lean_object* l_Lean_Parser_Command_structureTk___closed__5;
+extern lean_object* l_Lean_Parser_Term_leftArrow___closed__2;
lean_object* l_Lean_Parser_Command_universes___elambda__1___closed__9;
lean_object* l_Lean_Parser_Command_initialize___closed__10;
lean_object* l_Lean_Parser_Command_print___closed__1;
lean_object* l_Lean_Parser_Command_universes_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_classInductive_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_set__option___closed__1;
+lean_object* l_Lean_Parser_Command_declId___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_protected___elambda__1(lean_object*, lean_object*);
extern lean_object* l_Lean_Parser_Term_tupleTail_formatter___closed__2;
lean_object* l_Lean_Parser_Command_set__option___elambda__1___closed__7;
lean_object* l_Lean_Parser_Term_quot___elambda__1___closed__10;
+lean_object* l_Lean_Parser_Command_initialize___elambda__1___closed__10;
lean_object* l___regBuiltin_Lean_Parser_Command_export_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_structExplicitBinder_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Command_resolve__name___elambda__1___closed__12;
+lean_object* l_Lean_Parser_Command_inferMod___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_unsafe___elambda__1___closed__1;
extern lean_object* l_Lean_Parser_Term_depArrow_parenthesizer___closed__4;
lean_object* l_Lean_Parser_Command_open_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -1946,19 +2185,24 @@ lean_object* l_Lean_Parser_Command_unsafe___elambda__1___closed__2;
lean_object* l_Lean_Parser_Command_synth___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__1;
lean_object* l_Lean_Parser_Command_inferMod_formatter___closed__2;
+lean_object* l_Lean_Parser_Command_structure___elambda__1___closed__13;
lean_object* l_Lean_Parser_Command_classInductive___elambda__1___closed__4;
lean_object* l_Lean_Parser_Command_inductive_formatter___closed__3;
lean_object* l_Lean_Parser_Command_structInstBinder_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Command_openRenaming___elambda__1___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_declValSimple___elambda__1___closed__3;
+lean_object* l_Lean_Parser_Command_abbrev___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_set__option___closed__2;
lean_object* l_Lean_Parser_Command_init__quot___elambda__1___closed__6;
lean_object* l___regBuiltinParser_Lean_Parser_Command_mutual(lean_object*);
lean_object* l_Lean_Parser_Command_attribute___elambda__1___closed__17;
+lean_object* l_Lean_Parser_Command_constant___elambda__1___closed__14;
+lean_object* l_Lean_Parser_Command_universe___elambda__1___closed__11;
+lean_object* l_Lean_Parser_Command_openOnly___elambda__1___closed__9;
lean_object* l_Lean_Parser_Command_openSimple___elambda__1___closed__2;
lean_object* l_Lean_Parser_Command_openOnly___closed__1;
lean_object* l_Lean_Parser_Command_openRenamingItem___closed__1;
lean_object* l_Lean_Parser_Command_theorem___elambda__1___closed__1;
+lean_object* l_Lean_Parser_Command_exit___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_optDeclSig_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Command_attribute_formatter(lean_object*);
lean_object* l_Lean_Parser_Command_universe___closed__6;
@@ -1969,12 +2213,14 @@ lean_object* l_Lean_Parser_Command_attribute___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_declModifiers_formatter___closed__13;
lean_object* l_Lean_Parser_Command_variables;
lean_object* l_Lean_Parser_Command_builtin__initialize___closed__1;
+lean_object* l_Lean_Parser_Command_export___elambda__1___closed__13;
lean_object* l_Lean_Parser_Command_set__option_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_set__option___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_universes___elambda__1___closed__8;
lean_object* l_Lean_Parser_Term_typeSpec___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_docComment_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_init__quot_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Command_declId___elambda__1___closed__9;
lean_object* l_Lean_Parser_Command_unsafe_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_structCtor___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_variables___elambda__1___closed__2;
@@ -1991,12 +2237,14 @@ lean_object* l_Lean_Parser_Command_variable___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_initialize_formatter___closed__7;
lean_object* l_Lean_Parser_Command_open_formatter___closed__4;
lean_object* l_Lean_Parser_Command_def___closed__2;
+extern lean_object* l_Lean_Parser_Term_doSeqIndent___closed__10;
lean_object* l_Lean_Parser_mkAntiquot(lean_object*, lean_object*, uint8_t);
lean_object* l_Lean_Parser_Command_init__quot___elambda__1___closed__3;
lean_object* l_Lean_Parser_Command_attribute_formatter___closed__10;
lean_object* l_Lean_Parser_Command_ctor___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_optDeclSig___elambda__1___closed__1;
lean_object* l_Lean_Parser_Command_variables___elambda__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Command_declaration___elambda__1___closed__9;
lean_object* l_Lean_Parser_Command_check__failure_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_export___closed__6;
lean_object* l_Lean_Parser_Command_declSig___closed__3;
@@ -2010,6 +2258,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Command_end(lean_object*);
lean_object* l_Lean_Parser_Command_print_formatter___closed__5;
lean_object* l_Lean_Parser_Command_commentBody_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_mutual___closed__3;
+lean_object* l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_declValSimple___closed__5;
lean_object* l_Lean_Parser_Command_eval___elambda__1___closed__7;
lean_object* l_Lean_Parser_Command_open___closed__10;
@@ -2018,8 +2267,10 @@ lean_object* l_Lean_Parser_Term_quot___closed__6;
lean_object* l_Lean_Parser_Command_structCtor___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_partial;
lean_object* l_Lean_Parser_Command_declId___elambda__1___closed__4;
+lean_object* l_Lean_Parser_Command_initialize___elambda__1___closed__11;
lean_object* l_Lean_Parser_Command_declModifiers___closed__11;
extern lean_object* l_Lean_Parser_Term_structInstArrayRef_formatter___closed__2;
+lean_object* l_Lean_Parser_Command_mutual___elambda__1___closed__13;
lean_object* l_Lean_Parser_Command_builtin__initialize___closed__2;
lean_object* l_Lean_Parser_Command_set__option_formatter___closed__2;
lean_object* l_Lean_Parser_Command_end___elambda__1___closed__5;
@@ -2030,14 +2281,19 @@ lean_object* l_Lean_Parser_Command_set__option_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_check___closed__7;
lean_object* l_Lean_Parser_Command_check_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_openHiding___elambda__1___closed__8;
+lean_object* l_Lean_Parser_Command_structure___elambda__1___closed__9;
lean_object* l_Lean_Parser_Command_printAxioms_parenthesizer___closed__3;
+lean_object* l_Lean_Parser_unicodeSymbolFn___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_optDeclSig___closed__3;
+lean_object* l_Lean_Parser_Command_check___elambda__1___closed__12;
lean_object* l_Lean_Parser_Command_structExplicitBinder___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_print_formatter___closed__3;
lean_object* l_Lean_Parser_Command_declaration___elambda__1___closed__4;
+lean_object* l_Lean_Parser_manyFn(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Parser_Term_letRecDecls_parenthesizer___closed__1;
extern lean_object* l_Lean_Parser_antiquotNestedExpr_formatter___closed__4;
lean_object* l_Lean_Parser_Command_attribute___elambda__1___closed__9;
+lean_object* l_Lean_Parser_Command_instance___elambda__1___closed__11;
lean_object* l_Lean_Parser_Command_structureTk___elambda__1___closed__9;
lean_object* l_Lean_Parser_Command_classTk_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_structFields_formatter___closed__9;
@@ -2067,10 +2323,10 @@ lean_object* l_Lean_PrettyPrinter_Formatter_symbol_formatter___boxed(lean_object
lean_object* l_Lean_Parser_Command_resolve__name_formatter___closed__2;
lean_object* l_Lean_Parser_Command_axiom___closed__2;
lean_object* l_Lean_Parser_Command_constant___elambda__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Command_openOnly___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_inductive_formatter___closed__5;
lean_object* l_Lean_Parser_Command_structure___elambda__1___closed__4;
lean_object* l_Lean_Parser_Command_check__failure_formatter___closed__3;
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__2;
lean_object* l_Lean_Parser_Command_set__option_formatter___closed__5;
lean_object* l_Lean_Parser_Command_check___elambda__1___closed__7;
lean_object* l_Lean_Parser_Term_quot_parenthesizer___closed__2;
@@ -2084,21 +2340,21 @@ lean_object* l_Lean_Parser_Command_axiom___elambda__1___closed__3;
lean_object* l_Lean_Parser_Command_openHiding___closed__6;
lean_object* l_Lean_Parser_Command_ctor_formatter___closed__7;
lean_object* l_Lean_Parser_Command_declId_parenthesizer___closed__2;
+lean_object* l_Lean_Parser_Command_namespace___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_structureTk___closed__6;
lean_object* l___regBuiltin_Lean_Parser_Command_eval_formatter(lean_object*);
lean_object* l_Lean_Parser_Command_partial___elambda__1___closed__2;
lean_object* l_Lean_Parser_Command_openOnly_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_openOnly___closed__7;
lean_object* l_Lean_Parser_Command_attribute_formatter___closed__7;
+lean_object* l_Lean_Parser_Term_quot___elambda__1___closed__16;
lean_object* l_Lean_Parser_Command_attribute___elambda__1___closed__14;
lean_object* l_Lean_Parser_Command_inductive_formatter___closed__7;
lean_object* l_Lean_Parser_Command_classInductive_formatter___closed__4;
-extern lean_object* l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
lean_object* l___regBuiltin_Lean_Parser_Command_declaration_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Command_namespace_formatter___closed__2;
lean_object* l_Lean_Parser_Command_synth_formatter___closed__3;
lean_object* l_Lean_Parser_Command_export___elambda__1___closed__6;
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_structExplicitBinder___elambda__1___spec__1(lean_object*, lean_object*);
extern lean_object* l___regBuiltin_Lean_Parser_strLit_formatter___closed__2;
lean_object* l_Lean_Parser_Command_builtin__initialize_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_openHiding_parenthesizer___closed__3;
@@ -2110,10 +2366,13 @@ lean_object* l_Lean_Parser_Command_structImplicitBinder_formatter___closed__6;
lean_object* l_Lean_Parser_Command_declaration___closed__5;
lean_object* l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__9;
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_Parser_Command_mutual___elambda__1___closed__15;
lean_object* l_Lean_Parser_Command_extends___closed__6;
lean_object* l_Lean_PrettyPrinter_Formatter_sepBy1_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_unicodeSymbolInfo(lean_object*, lean_object*);
+extern lean_object* l_Lean_Parser_Term_tupleTail___elambda__1___closed__7;
lean_object* l_Lean_Parser_Command_init__quot;
+lean_object* l_Lean_Parser_Command_openRenaming___elambda__1___closed__10;
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_Parser_Command_openRenaming___closed__6;
lean_object* l_Lean_Parser_Command_inductive_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -2124,12 +2383,15 @@ lean_object* l_Lean_Parser_Command_constant___closed__10;
lean_object* l_Lean_Parser_Command_axiom;
lean_object* l_Lean_Parser_Command_ctor_formatter___closed__1;
lean_object* l_Lean_Parser_Command_exit___closed__2;
+lean_object* l_Lean_Parser_Command_initialize___elambda__1___closed__12;
lean_object* l_Lean_Parser_Command_openOnly___closed__4;
lean_object* l_Lean_Parser_Command_declaration_formatter___closed__1;
lean_object* l_Lean_Parser_Command_structureTk_formatter___closed__2;
lean_object* l_Lean_Parser_Command_noncomputable___closed__2;
lean_object* l_Lean_Parser_Command_theorem___elambda__1___closed__3;
lean_object* l_Lean_Parser_Command_check__failure_formatter___closed__1;
+lean_object* l_Lean_Parser_Command_open___elambda__1___closed__13;
+lean_object* l_Lean_Parser_Command_structFields___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_synth_parenthesizer___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Command_synth_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Command_structImplicitBinder_parenthesizer___closed__5;
@@ -2139,17 +2401,20 @@ lean_object* l_Lean_Parser_Command_inductive_parenthesizer___closed__6;
lean_object* l_Lean_Parser_Command_check__failure;
lean_object* l_Lean_Parser_Command_printAxioms___elambda__1___closed__2;
lean_object* l_Lean_Parser_Command_openRenaming_parenthesizer___closed__5;
+lean_object* l_Lean_Parser_Command_mutual___elambda__1___closed__14;
lean_object* l_Lean_Parser_Command_check__failure___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_structFields_formatter___closed__8;
lean_object* l_Lean_Parser_Command_print___elambda__1___closed__3;
lean_object* l_Lean_Parser_Command_builtin__initialize___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_open___closed__8;
+lean_object* l_Lean_Parser_Command_declId___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_variables_formatter___closed__4;
lean_object* l_Lean_Parser_Command_unsafe___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_synth___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_openRenamingItem_formatter___closed__4;
lean_object* l_Lean_Parser_Command_structCtor_parenthesizer___closed__5;
lean_object* l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__2;
+lean_object* l_Lean_Parser_Command_extends___elambda__1___closed__11;
lean_object* l___regBuiltin_Lean_Parser_Command_export_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Command_variables___elambda__1___closed__3;
lean_object* l_Lean_Parser_Command_ctor_formatter___closed__3;
@@ -2157,44 +2422,48 @@ lean_object* l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__2;
lean_object* l_Lean_Parser_Command_synth___elambda__1___closed__1;
lean_object* l_Lean_Parser_Command_structExplicitBinder___closed__3;
lean_object* l_Lean_Parser_Command_structImplicitBinder_parenthesizer___closed__3;
+lean_object* l_Lean_Parser_Command_abbrev___elambda__1___closed__12;
lean_object* l_Lean_Parser_Command_initialize_parenthesizer___closed__7;
lean_object* l_Lean_Parser_Command_structImplicitBinder___closed__7;
lean_object* l_Lean_Parser_Command_inferMod_formatter___closed__1;
lean_object* l_Lean_Parser_Command_axiom___elambda__1___closed__7;
lean_object* l_Lean_Parser_Command_openRenamingItem_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_declVal_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_ParserState_mkUnexpectedError(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_structureTk_formatter___closed__1;
lean_object* l_Lean_Parser_Command_declModifiers_formatter___closed__4;
lean_object* l_Lean_Parser_Command_optDeclSig___closed__2;
lean_object* l_Lean_Parser_Command_declId___elambda__1___closed__1;
lean_object* l_Lean_Parser_Command_instance_parenthesizer___closed__4;
+lean_object* l_Lean_Parser_symbolFnAux(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_declModifiers_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_declaration_formatter___closed__12;
extern lean_object* l_Lean_Parser_Term_liftMethod_parenthesizer___closed__2;
+lean_object* l_Lean_Parser_Command_declValEqns___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_end___closed__1;
+lean_object* l_Lean_Parser_Command_structure___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_init__quot___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_structExplicitBinder_parenthesizer___closed__11;
lean_object* l_Lean_Parser_Command_example___closed__4;
-lean_object* l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(lean_object*);
lean_object* l_Lean_Parser_Command_structure___closed__14;
+lean_object* l_Lean_Parser_Command_set__option___elambda__1___closed__19;
lean_object* l_Lean_Parser_Command_docComment_parenthesizer___closed__6;
lean_object* l_Lean_Parser_Command_builtin__initialize_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_instance___closed__3;
lean_object* l___regBuiltin_Lean_Parser_Command_mutual_formatter___closed__1;
lean_object* l_Lean_Parser_Command_docComment___closed__6;
lean_object* l_Lean_Parser_Command_private_formatter___closed__2;
+lean_object* l_Lean_Parser_Command_structFields___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_instance___closed__5;
lean_object* l_Lean_Parser_Command_declModifiers_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_theorem___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__4;
lean_object* l_Lean_Parser_Command_partial___elambda__1___closed__4;
lean_object* l_Lean_Parser_Command_universes___closed__5;
+lean_object* l_Lean_Parser_Command_resolve__name___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_print_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_openOnly___closed__3;
lean_object* l_Lean_Parser_Command_declValSimple_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_inductive___closed__10;
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_example___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_exit___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_structure_parenthesizer___closed__11;
@@ -2211,9 +2480,11 @@ lean_object* l___regBuiltin_Lean_Parser_Command_check_formatter(lean_object*);
lean_object* l_Lean_Parser_Command_declaration___closed__13;
lean_object* l_Lean_Parser_Command_namespace___closed__6;
lean_object* l_Lean_Parser_Command_theorem_parenthesizer___closed__2;
+lean_object* l_Lean_Parser_Command_classInductive___elambda__1___closed__12;
lean_object* l_Lean_Parser_Command_init__quot___closed__4;
lean_object* l_Lean_Parser_Command_structure___closed__5;
lean_object* l_Lean_Parser_Command_declModifiers_formatter___closed__9;
+lean_object* l_Lean_Parser_Command_constant___elambda__1___closed__13;
lean_object* l_Lean_Parser_Command_abbrev___closed__6;
lean_object* l_Lean_Parser_Command_open___closed__9;
lean_object* l_Lean_Parser_Command_example___closed__2;
@@ -2222,6 +2493,7 @@ lean_object* l_Lean_Parser_Command_mutual___closed__5;
lean_object* l_Lean_Parser_Command_declSig_formatter___closed__3;
lean_object* l_Lean_Parser_Command_declVal_formatter___closed__2;
lean_object* l_Lean_Parser_Command_open_formatter___closed__11;
+lean_object* l_Lean_Parser_Command_inferMod___elambda__1___closed__7;
lean_object* l_Lean_Parser_Command_instance___closed__7;
lean_object* l_Lean_Parser_Command_namespace_formatter___closed__4;
lean_object* l_Lean_Parser_Command_check__failure___elambda__1___closed__1;
@@ -2230,15 +2502,18 @@ lean_object* l_Lean_Parser_Command_attribute___closed__4;
lean_object* l_Lean_Parser_Command_ctor___elambda__1___closed__7;
lean_object* l_Lean_Parser_Term_quot_parenthesizer___closed__8;
lean_object* l_Lean_Parser_Command_namespace___elambda__1___closed__7;
+lean_object* l_Lean_Parser_Term_quot___elambda__1___closed__15;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_many_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_declSig;
lean_object* l_Lean_Parser_Command_declaration_parenthesizer___closed__11;
+extern lean_object* l_Lean_Parser_Term_fun___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_declModifiers_parenthesizer___closed__17;
lean_object* l_Lean_Parser_Command_declaration_formatter___closed__11;
lean_object* l_Lean_Parser_Command_declModifiers___closed__19;
lean_object* l_Lean_Parser_Command_inductive_parenthesizer___closed__2;
extern lean_object* l_Lean_Parser_Parser_inhabited___closed__1;
lean_object* l_Lean_Parser_Command_initialize_parenthesizer___closed__4;
+lean_object* l_Lean_Parser_Command_openRenaming___elambda__1___closed__13;
lean_object* l_Lean_Parser_Command_set__option___elambda__1___closed__11;
lean_object* l_Lean_Parser_Command_declId___closed__6;
lean_object* l_Lean_Parser_Command_in_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -2249,12 +2524,14 @@ lean_object* l_Lean_Parser_Command_declSig___closed__6;
lean_object* l_Lean_Parser_Command_print;
lean_object* l_Lean_Parser_Command_abbrev_formatter___closed__1;
lean_object* l_Lean_Parser_Command_declModifiers_parenthesizer___closed__8;
+lean_object* l_Lean_Parser_Command_example___elambda__1___closed__12;
+extern lean_object* l_Lean_Parser_Level_paren___elambda__1___closed__4;
lean_object* l_Lean_Parser_Command_variables_parenthesizer___closed__4;
lean_object* l_Lean_Parser_Command_structExplicitBinder_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_universe;
+lean_object* l_Lean_Parser_Command_classTk___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_eval___closed__2;
lean_object* l_Lean_Parser_Command_constant___elambda__1___closed__9;
-extern lean_object* l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
lean_object* l_Lean_Parser_Command_openRenamingItem_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_resolve__name___closed__4;
lean_object* l_Lean_Parser_Command_ctor_formatter___closed__5;
@@ -2269,7 +2546,6 @@ lean_object* l_Lean_Parser_Command_openHiding___elambda__1___closed__2;
lean_object* l_Lean_Parser_Command_check___closed__4;
lean_object* l_Lean_Parser_Command_classTk___elambda__1___closed__2;
lean_object* l_Lean_Parser_Command_open___closed__4;
-lean_object* l_Lean_Parser_Term_leftArrow___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_attribute___closed__9;
lean_object* l_Lean_Parser_Command_declId_parenthesizer___closed__4;
lean_object* l_Lean_Parser_Command_classInductive_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -2277,9 +2553,10 @@ lean_object* l_Lean_Parser_Command_export___closed__10;
lean_object* l_Lean_Parser_Command_constant___elambda__1___closed__2;
lean_object* l_Lean_Parser_Command_initialize___closed__6;
lean_object* l_Lean_Parser_unicodeSymbolFnAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Command_printAxioms___elambda__1___closed__13;
lean_object* l_Lean_Parser_Command_ctor___closed__7;
lean_object* l_Lean_Parser_Command_openRenamingItem_parenthesizer___closed__1;
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_attributes___elambda__1___spec__1(uint8_t, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Command_structure___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_inductive_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_private___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_section___elambda__1(lean_object*, lean_object*);
@@ -2301,6 +2578,7 @@ lean_object* l_Lean_Parser_Command_openOnly_formatter___closed__3;
lean_object* l_Lean_Parser_Command_check___closed__1;
lean_object* l_Lean_Parser_Command_constant_formatter___closed__5;
lean_object* l_Lean_Parser_Command_eval_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+extern lean_object* l_Lean_Parser_Term_haveAssign___elambda__1___closed__11;
extern lean_object* l_Lean_Parser_strLit;
lean_object* l_Lean_Parser_Command_structCtor_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_structure_formatter___closed__5;
@@ -2318,19 +2596,23 @@ lean_object* l_Lean_Parser_Command_constant___elambda__1___closed__1;
lean_object* l_Lean_Parser_Command_structCtor___elambda__1___closed__6;
extern lean_object* l_Lean_Parser_Term_optType_formatter___closed__1;
lean_object* l_Lean_Parser_Command_theorem_formatter___closed__3;
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Command_declId___elambda__1___spec__1(uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_openRenamingItem_parenthesizer___closed__4;
extern lean_object* l_Lean_Parser_Term_letIdLhs_formatter___closed__2;
lean_object* l_Lean_Parser_Command_universe___closed__3;
lean_object* l_Lean_Parser_Command_abbrev_parenthesizer___closed__4;
lean_object* l_Lean_Parser_Command_structure___closed__12;
+lean_object* l_Lean_Parser_Command_structInstBinder___elambda__1___closed__11;
+lean_object* l_Lean_Parser_Command_declaration___elambda__1___closed__14;
lean_object* l_Lean_Parser_Command_constant_parenthesizer___closed__4;
lean_object* l___regBuiltin_Lean_Parser_Command_attribute_parenthesizer(lean_object*);
+lean_object* l_Lean_Parser_Command_inductive___elambda__1___closed__11;
lean_object* l_Lean_Parser_Command_structInstBinder___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_structExplicitBinder___closed__10;
lean_object* l_Lean_PrettyPrinter_Formatter_nonReservedSymbol_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+extern lean_object* l_Lean_Parser_strLit___closed__2;
lean_object* l_Lean_Parser_Command_declValEqns___closed__5;
lean_object* l_Lean_Parser_Command_openRenamingItem_formatter___closed__1;
+lean_object* l_Lean_Parser_Command_init__quot___elambda__1___closed__9;
lean_object* l_Lean_Parser_Command_universes___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_ppDedent_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_structCtor_formatter___closed__6;
@@ -2338,10 +2620,11 @@ lean_object* l_Lean_Parser_Command_declId_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_declValEqns;
lean_object* l_Lean_Parser_Command_declModifiers___closed__9;
lean_object* l_Lean_Parser_Command_declModifiers_formatter___closed__1;
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__1;
lean_object* l_Lean_Parser_Command_docComment_formatter___closed__6;
lean_object* l_Lean_Parser_Command_structure_formatter___closed__18;
lean_object* l_Lean_Parser_mkAntiquot_parenthesizer___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_quot___elambda__1___closed__14;
+lean_object* l_Lean_Parser_Command_universe___elambda__1___closed__12;
lean_object* l_Lean_Parser_Command_declaration___closed__14;
lean_object* l_Lean_Parser_Command_example___closed__1;
lean_object* l_Lean_Parser_Command_protected_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -2352,9 +2635,11 @@ lean_object* l_Lean_Parser_Command_attribute___elambda__1___closed__3;
lean_object* l_Lean_Parser_Command_openRenaming_formatter___closed__6;
lean_object* l_Lean_Parser_Command_openHiding_formatter___closed__2;
lean_object* l_Lean_Parser_Command_universes_formatter___closed__2;
+lean_object* l_Lean_Parser_Command_inductive___elambda__1___closed__12;
extern lean_object* l_Lean_Parser_Term_attrArg_formatter___closed__1;
lean_object* l___regBuiltinParser_Lean_Parser_Command_synth(lean_object*);
lean_object* l_Lean_Parser_Command_classTk_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+extern lean_object* l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_abbrev_parenthesizer___closed__8;
lean_object* l_Lean_Parser_Command_initialize_parenthesizer___closed__8;
lean_object* l_Lean_Parser_Command_declValEqns_formatter___closed__1;
@@ -2371,14 +2656,12 @@ lean_object* l_Lean_Parser_Command_theorem_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_init__quot___elambda__1___closed__4;
lean_object* l_Lean_Parser_Command_declModifiers_parenthesizer___closed__15;
lean_object* l_Lean_Parser_Command_attribute___elambda__1___closed__5;
-uint8_t lean_string_dec_eq(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_docComment___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_quot___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_protected___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_set__option;
lean_object* l_Lean_Parser_Command_variable___elambda__1___closed__7;
lean_object* l_Lean_Parser_Command_section___closed__6;
-uint8_t lean_nat_dec_lt(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_variables___elambda__1___closed__1;
lean_object* l_Lean_Parser_Command_declModifiers___closed__4;
lean_object* l_Lean_Parser_Command_structure_formatter___closed__3;
@@ -2392,6 +2675,7 @@ lean_object* l_Lean_Parser_Command_check_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_declaration___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_declId___elambda__1___closed__2;
lean_object* l_Lean_Parser_Command_partial_formatter___closed__2;
+lean_object* l_Lean_Parser_andthenFn(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_declModifiers_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Command_constant;
static lean_object* _init_l_Lean_Parser_Term_quot___elambda__1___closed__1() {
@@ -2445,6 +2729,16 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_quot___elambda__1___closed__6() {
_start:
{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_quot___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_quot___elambda__1___closed__7() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3127____closed__4;
x_2 = lean_unsigned_to_nat(0u);
@@ -2454,35 +2748,23 @@ lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Term_quot___elambda__1___closed__7() {
-_start:
-{
-lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Term_quot___elambda__1___closed__6;
-x_2 = lean_alloc_closure((void*)(l_Lean_Parser_many1Fn), 3, 1);
-lean_closure_set(x_2, 0, x_1);
-return x_2;
-}
-}
static lean_object* _init_l_Lean_Parser_Term_quot___elambda__1___closed__8() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
+lean_object* x_1; lean_object* x_2;
x_1 = l_Lean_Parser_Term_quot___elambda__1___closed__7;
-x_2 = l_Lean_Parser_many1Unbox___closed__1;
-x_3 = lean_alloc_closure((void*)(l_Lean_Parser_withResultOfFn), 4, 2);
-lean_closure_set(x_3, 0, x_1);
-lean_closure_set(x_3, 1, x_2);
-return x_3;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_many1Fn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_quot___elambda__1___closed__9() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
-x_2 = l_Lean_Parser_Term_quot___elambda__1___closed__8;
-x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+x_1 = l_Lean_Parser_Term_quot___elambda__1___closed__8;
+x_2 = l_Lean_Parser_many1Unbox___closed__1;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_withResultOfFn), 4, 2);
lean_closure_set(x_3, 0, x_1);
lean_closure_set(x_3, 1, x_2);
return x_3;
@@ -2492,31 +2774,89 @@ static lean_object* _init_l_Lean_Parser_Term_quot___elambda__1___closed__10() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_quot___elambda__1___closed__5;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_2 = l_Lean_Parser_Term_quot___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
static lean_object* _init_l_Lean_Parser_Term_quot___elambda__1___closed__11() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
+lean_object* x_1; lean_object* x_2;
x_1 = l_Lean_Parser_Term_quot___elambda__1___closed__10;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_toggleInsideQuotFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_quot___elambda__1___closed__12() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Term_quot___elambda__1___closed__11;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_1 = l_Lean_Parser_Term_quot___elambda__1___closed__11;
+x_2 = l_Lean_Parser_Level_paren___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_quot___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_quot___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Term_quot___elambda__1___closed__12;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_quot___elambda__1___closed__14() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_quot___elambda__1___closed__1;
+x_2 = l_Lean_Parser_Term_quot___elambda__1___closed__13;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_quot___elambda__1___closed__15() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_quot___elambda__1___closed__14;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_quot___elambda__1___closed__16() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_quot___elambda__1___closed__5;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_quot___elambda__1___closed__17() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_quot___elambda__1___closed__16;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -2540,163 +2880,53 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_43; lean_object* x_44; lean_object* x_45;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_43 = lean_ctor_get(x_7, 1);
-lean_inc(x_43);
+x_11 = l_Lean_Parser_Term_quot___elambda__1___closed__5;
+x_12 = l_Lean_Parser_Term_quot___elambda__1___closed__17;
lean_inc(x_1);
-x_44 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_45 = lean_ctor_get(x_44, 3);
-lean_inc(x_45);
-if (lean_obj_tag(x_45) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_46; lean_object* x_47;
-x_46 = lean_ctor_get(x_44, 0);
-lean_inc(x_46);
-x_47 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_46);
-lean_dec(x_46);
-if (lean_obj_tag(x_47) == 2)
-{
-lean_object* x_48; lean_object* x_49; uint8_t x_50;
-x_48 = lean_ctor_get(x_47, 1);
-lean_inc(x_48);
-lean_dec(x_47);
-x_49 = l_Lean_Parser_Term_quot___elambda__1___closed__5;
-x_50 = lean_string_dec_eq(x_48, x_49);
-lean_dec(x_48);
-if (x_50 == 0)
-{
-lean_object* x_51; lean_object* x_52;
-x_51 = l_Lean_Parser_Term_quot___elambda__1___closed__12;
-x_52 = l_Lean_Parser_ParserState_mkErrorsAt(x_44, x_51, x_43);
-x_11 = x_52;
-goto block_42;
-}
-else
-{
-lean_dec(x_43);
-x_11 = x_44;
-goto block_42;
-}
-}
-else
-{
-lean_object* x_53; lean_object* x_54;
-lean_dec(x_47);
-x_53 = l_Lean_Parser_Term_quot___elambda__1___closed__12;
-x_54 = l_Lean_Parser_ParserState_mkErrorsAt(x_44, x_53, x_43);
-x_11 = x_54;
-goto block_42;
-}
-}
-else
-{
-lean_object* x_55; lean_object* x_56;
-lean_dec(x_45);
-x_55 = l_Lean_Parser_Term_quot___elambda__1___closed__12;
-x_56 = l_Lean_Parser_ParserState_mkErrorsAt(x_44, x_55, x_43);
-x_11 = x_56;
-goto block_42;
-}
-block_42:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15;
-x_13 = l_Lean_Parser_Term_quot___elambda__1___closed__9;
+lean_object* x_15; lean_object* x_16; lean_object* x_17;
+x_15 = l_Lean_Parser_Term_quot___elambda__1___closed__10;
lean_inc(x_1);
-x_14 = l_Lean_Parser_toggleInsideQuotFn(x_13, x_1, x_11);
-x_15 = lean_ctor_get(x_14, 3);
-lean_inc(x_15);
-if (lean_obj_tag(x_15) == 0)
+x_16 = l_Lean_Parser_toggleInsideQuotFn(x_15, x_1, x_13);
+x_17 = lean_ctor_get(x_16, 3);
+lean_inc(x_17);
+if (lean_obj_tag(x_17) == 0)
{
-lean_object* x_16; lean_object* x_17; lean_object* x_18;
-x_16 = lean_ctor_get(x_14, 1);
-lean_inc(x_16);
-x_17 = l_Lean_Parser_tokenFn(x_1, x_14);
-x_18 = lean_ctor_get(x_17, 3);
-lean_inc(x_18);
-if (lean_obj_tag(x_18) == 0)
-{
-lean_object* x_19; lean_object* x_20;
-x_19 = lean_ctor_get(x_17, 0);
-lean_inc(x_19);
-x_20 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_19);
-lean_dec(x_19);
-if (lean_obj_tag(x_20) == 2)
-{
-lean_object* x_21; lean_object* x_22; uint8_t x_23;
-x_21 = lean_ctor_get(x_20, 1);
-lean_inc(x_21);
-lean_dec(x_20);
-x_22 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
-x_23 = lean_string_dec_eq(x_21, x_22);
-lean_dec(x_21);
-if (x_23 == 0)
-{
-lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
-x_24 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_25 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_24, x_16);
-x_26 = l_Lean_Parser_Term_quot___elambda__1___closed__1;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_25, x_26, x_10);
-return x_27;
+lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
+x_18 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
+x_19 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__9;
+x_20 = l_Lean_Parser_symbolFnAux(x_18, x_19, x_1, x_16);
+x_21 = l_Lean_Parser_Term_quot___elambda__1___closed__1;
+x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_10);
+return x_22;
}
else
{
-lean_object* x_28; lean_object* x_29;
-lean_dec(x_16);
-x_28 = l_Lean_Parser_Term_quot___elambda__1___closed__1;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_17, x_28, x_10);
-return x_29;
-}
-}
-else
-{
-lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
-lean_dec(x_20);
-x_30 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_31 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_30, x_16);
-x_32 = l_Lean_Parser_Term_quot___elambda__1___closed__1;
-x_33 = l_Lean_Parser_ParserState_mkNode(x_31, x_32, x_10);
-return x_33;
-}
-}
-else
-{
-lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-lean_dec(x_18);
-x_34 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_35 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_34, x_16);
-x_36 = l_Lean_Parser_Term_quot___elambda__1___closed__1;
-x_37 = l_Lean_Parser_ParserState_mkNode(x_35, x_36, x_10);
-return x_37;
-}
-}
-else
-{
-lean_object* x_38; lean_object* x_39;
-lean_dec(x_15);
+lean_object* x_23; lean_object* x_24;
+lean_dec(x_17);
lean_dec(x_1);
-x_38 = l_Lean_Parser_Term_quot___elambda__1___closed__1;
-x_39 = l_Lean_Parser_ParserState_mkNode(x_14, x_38, x_10);
-return x_39;
+x_23 = l_Lean_Parser_Term_quot___elambda__1___closed__1;
+x_24 = l_Lean_Parser_ParserState_mkNode(x_16, x_23, x_10);
+return x_24;
}
}
else
{
-lean_object* x_40; lean_object* x_41;
-lean_dec(x_12);
+lean_object* x_25; lean_object* x_26;
+lean_dec(x_14);
lean_dec(x_1);
-x_40 = l_Lean_Parser_Term_quot___elambda__1___closed__1;
-x_41 = l_Lean_Parser_ParserState_mkNode(x_11, x_40, x_10);
-return x_41;
-}
+x_25 = l_Lean_Parser_Term_quot___elambda__1___closed__1;
+x_26 = l_Lean_Parser_ParserState_mkNode(x_13, x_25, x_10);
+return x_26;
}
}
else
@@ -2708,243 +2938,11 @@ return x_7;
}
else
{
-lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61;
-x_57 = lean_ctor_get(x_2, 0);
-lean_inc(x_57);
-x_58 = lean_array_get_size(x_57);
-lean_dec(x_57);
-x_59 = lean_ctor_get(x_2, 1);
-lean_inc(x_59);
-lean_inc(x_1);
-x_60 = lean_apply_2(x_4, x_1, x_2);
-x_61 = lean_ctor_get(x_60, 3);
-lean_inc(x_61);
-if (lean_obj_tag(x_61) == 0)
-{
-lean_dec(x_59);
-lean_dec(x_58);
-lean_dec(x_1);
-return x_60;
-}
-else
-{
-lean_object* x_62; lean_object* x_63; uint8_t x_64;
-x_62 = lean_ctor_get(x_61, 0);
-lean_inc(x_62);
-lean_dec(x_61);
-x_63 = lean_ctor_get(x_60, 1);
-lean_inc(x_63);
-x_64 = lean_nat_dec_eq(x_63, x_59);
-lean_dec(x_63);
-if (x_64 == 0)
-{
-lean_dec(x_62);
-lean_dec(x_59);
-lean_dec(x_58);
-lean_dec(x_1);
-return x_60;
-}
-else
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68;
-lean_inc(x_59);
-x_65 = l_Lean_Parser_ParserState_restore(x_60, x_58, x_59);
-lean_dec(x_58);
-x_66 = lean_unsigned_to_nat(1024u);
-x_67 = l_Lean_Parser_checkPrecFn(x_66, x_1, x_65);
-x_68 = lean_ctor_get(x_67, 3);
-lean_inc(x_68);
-if (lean_obj_tag(x_68) == 0)
-{
-lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_115; lean_object* x_116; lean_object* x_117;
-x_69 = lean_ctor_get(x_67, 0);
-lean_inc(x_69);
-x_70 = lean_array_get_size(x_69);
-lean_dec(x_69);
-x_115 = lean_ctor_get(x_67, 1);
-lean_inc(x_115);
-lean_inc(x_1);
-x_116 = l_Lean_Parser_tokenFn(x_1, x_67);
-x_117 = lean_ctor_get(x_116, 3);
-lean_inc(x_117);
-if (lean_obj_tag(x_117) == 0)
-{
-lean_object* x_118; lean_object* x_119;
-x_118 = lean_ctor_get(x_116, 0);
-lean_inc(x_118);
-x_119 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_118);
-lean_dec(x_118);
-if (lean_obj_tag(x_119) == 2)
-{
-lean_object* x_120; lean_object* x_121; uint8_t x_122;
-x_120 = lean_ctor_get(x_119, 1);
-lean_inc(x_120);
-lean_dec(x_119);
-x_121 = l_Lean_Parser_Term_quot___elambda__1___closed__5;
-x_122 = lean_string_dec_eq(x_120, x_121);
-lean_dec(x_120);
-if (x_122 == 0)
-{
-lean_object* x_123; lean_object* x_124;
-x_123 = l_Lean_Parser_Term_quot___elambda__1___closed__12;
-x_124 = l_Lean_Parser_ParserState_mkErrorsAt(x_116, x_123, x_115);
-x_71 = x_124;
-goto block_114;
-}
-else
-{
-lean_dec(x_115);
-x_71 = x_116;
-goto block_114;
-}
-}
-else
-{
-lean_object* x_125; lean_object* x_126;
-lean_dec(x_119);
-x_125 = l_Lean_Parser_Term_quot___elambda__1___closed__12;
-x_126 = l_Lean_Parser_ParserState_mkErrorsAt(x_116, x_125, x_115);
-x_71 = x_126;
-goto block_114;
-}
-}
-else
-{
-lean_object* x_127; lean_object* x_128;
-lean_dec(x_117);
-x_127 = l_Lean_Parser_Term_quot___elambda__1___closed__12;
-x_128 = l_Lean_Parser_ParserState_mkErrorsAt(x_116, x_127, x_115);
-x_71 = x_128;
-goto block_114;
-}
-block_114:
-{
-lean_object* x_72;
-x_72 = lean_ctor_get(x_71, 3);
-lean_inc(x_72);
-if (lean_obj_tag(x_72) == 0)
-{
-lean_object* x_73; lean_object* x_74; lean_object* x_75;
-x_73 = l_Lean_Parser_Term_quot___elambda__1___closed__9;
-lean_inc(x_1);
-x_74 = l_Lean_Parser_toggleInsideQuotFn(x_73, x_1, x_71);
-x_75 = lean_ctor_get(x_74, 3);
-lean_inc(x_75);
-if (lean_obj_tag(x_75) == 0)
-{
-lean_object* x_76; lean_object* x_77; lean_object* x_78;
-x_76 = lean_ctor_get(x_74, 1);
-lean_inc(x_76);
-x_77 = l_Lean_Parser_tokenFn(x_1, x_74);
-x_78 = lean_ctor_get(x_77, 3);
-lean_inc(x_78);
-if (lean_obj_tag(x_78) == 0)
-{
-lean_object* x_79; lean_object* x_80;
-x_79 = lean_ctor_get(x_77, 0);
-lean_inc(x_79);
-x_80 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_79);
-lean_dec(x_79);
-if (lean_obj_tag(x_80) == 2)
-{
-lean_object* x_81; lean_object* x_82; uint8_t x_83;
-x_81 = lean_ctor_get(x_80, 1);
-lean_inc(x_81);
-lean_dec(x_80);
-x_82 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
-x_83 = lean_string_dec_eq(x_81, x_82);
-lean_dec(x_81);
-if (x_83 == 0)
-{
-lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; uint8_t x_88; lean_object* x_89;
-x_84 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_85 = l_Lean_Parser_ParserState_mkErrorsAt(x_77, x_84, x_76);
-x_86 = l_Lean_Parser_Term_quot___elambda__1___closed__1;
-x_87 = l_Lean_Parser_ParserState_mkNode(x_85, x_86, x_70);
-x_88 = 1;
-x_89 = l_Lean_Parser_mergeOrElseErrors(x_87, x_62, x_59, x_88);
-lean_dec(x_59);
-return x_89;
-}
-else
-{
-lean_object* x_90; lean_object* x_91; uint8_t x_92; lean_object* x_93;
-lean_dec(x_76);
-x_90 = l_Lean_Parser_Term_quot___elambda__1___closed__1;
-x_91 = l_Lean_Parser_ParserState_mkNode(x_77, x_90, x_70);
-x_92 = 1;
-x_93 = l_Lean_Parser_mergeOrElseErrors(x_91, x_62, x_59, x_92);
-lean_dec(x_59);
-return x_93;
-}
-}
-else
-{
-lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; uint8_t x_98; lean_object* x_99;
-lean_dec(x_80);
-x_94 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_95 = l_Lean_Parser_ParserState_mkErrorsAt(x_77, x_94, x_76);
-x_96 = l_Lean_Parser_Term_quot___elambda__1___closed__1;
-x_97 = l_Lean_Parser_ParserState_mkNode(x_95, x_96, x_70);
-x_98 = 1;
-x_99 = l_Lean_Parser_mergeOrElseErrors(x_97, x_62, x_59, x_98);
-lean_dec(x_59);
-return x_99;
-}
-}
-else
-{
-lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; uint8_t x_104; lean_object* x_105;
-lean_dec(x_78);
-x_100 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_101 = l_Lean_Parser_ParserState_mkErrorsAt(x_77, x_100, x_76);
-x_102 = l_Lean_Parser_Term_quot___elambda__1___closed__1;
-x_103 = l_Lean_Parser_ParserState_mkNode(x_101, x_102, x_70);
-x_104 = 1;
-x_105 = l_Lean_Parser_mergeOrElseErrors(x_103, x_62, x_59, x_104);
-lean_dec(x_59);
-return x_105;
-}
-}
-else
-{
-lean_object* x_106; lean_object* x_107; uint8_t x_108; lean_object* x_109;
-lean_dec(x_75);
-lean_dec(x_1);
-x_106 = l_Lean_Parser_Term_quot___elambda__1___closed__1;
-x_107 = l_Lean_Parser_ParserState_mkNode(x_74, x_106, x_70);
-x_108 = 1;
-x_109 = l_Lean_Parser_mergeOrElseErrors(x_107, x_62, x_59, x_108);
-lean_dec(x_59);
-return x_109;
-}
-}
-else
-{
-lean_object* x_110; lean_object* x_111; uint8_t x_112; lean_object* x_113;
-lean_dec(x_72);
-lean_dec(x_1);
-x_110 = l_Lean_Parser_Term_quot___elambda__1___closed__1;
-x_111 = l_Lean_Parser_ParserState_mkNode(x_71, x_110, x_70);
-x_112 = 1;
-x_113 = l_Lean_Parser_mergeOrElseErrors(x_111, x_62, x_59, x_112);
-lean_dec(x_59);
-return x_113;
-}
-}
-}
-else
-{
-uint8_t x_129; lean_object* x_130;
-lean_dec(x_68);
-lean_dec(x_1);
-x_129 = 1;
-x_130 = l_Lean_Parser_mergeOrElseErrors(x_67, x_62, x_59, x_129);
-lean_dec(x_59);
-return x_130;
-}
-}
-}
+lean_object* x_27; uint8_t x_28; lean_object* x_29;
+x_27 = l_Lean_Parser_Term_quot___elambda__1___closed__15;
+x_28 = 1;
+x_29 = l_Lean_Parser_orelseFnCore(x_4, x_27, x_28, x_1, x_2);
+return x_29;
}
}
}
@@ -3301,14 +3299,14 @@ lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
x_3 = lean_ctor_get(x_2, 1);
lean_inc(x_3);
x_4 = lean_unsigned_to_nat(1u);
-x_5 = l_Lean_Parser_finishCommentBlock___main(x_4, x_1, x_2);
+x_5 = l_Lean_Parser_finishCommentBlock(x_4, x_1, x_2);
x_6 = lean_ctor_get(x_5, 3);
lean_inc(x_6);
if (lean_obj_tag(x_6) == 0)
{
uint8_t x_7; lean_object* x_8;
x_7 = 1;
-x_8 = l___private_Lean_Parser_Basic_3__rawAux(x_3, x_7, x_1, x_5);
+x_8 = l___private_Lean_Parser_Basic_0__Lean_Parser_rawAux(x_3, x_7, x_1, x_5);
return x_8;
}
else
@@ -3490,20 +3488,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_docComment___elambda__1___closed__9() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_docComment___elambda__1___closed__8;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_docComment___elambda__1___closed__8;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_docComment___elambda__1___closed__10() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Command_docComment___elambda__1___closed__9;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Command_commentBody___closed__1;
+x_2 = l_Lean_Parser_Parser_inhabited___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -3511,11 +3511,55 @@ static lean_object* _init_l_Lean_Parser_Command_docComment___elambda__1___closed
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Command_docComment___elambda__1___closed__9;
x_2 = l_Lean_Parser_Command_docComment___elambda__1___closed__10;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_docComment___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_docComment___elambda__1___closed__4;
+x_2 = l_Lean_Parser_Command_docComment___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_docComment___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_docComment___elambda__1___closed__12;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_docComment___elambda__1___closed__14() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Command_docComment___elambda__1___closed__8;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_docComment___elambda__1___closed__15() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_docComment___elambda__1___closed__14;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -3539,90 +3583,34 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_19; lean_object* x_20; lean_object* x_21;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_19 = lean_ctor_get(x_7, 1);
-lean_inc(x_19);
+x_11 = l_Lean_Parser_Command_docComment___elambda__1___closed__8;
+x_12 = l_Lean_Parser_Command_docComment___elambda__1___closed__15;
lean_inc(x_1);
-x_20 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_21 = lean_ctor_get(x_20, 3);
-lean_inc(x_21);
-if (lean_obj_tag(x_21) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_22; lean_object* x_23;
-x_22 = lean_ctor_get(x_20, 0);
-lean_inc(x_22);
-x_23 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_22);
-lean_dec(x_22);
-if (lean_obj_tag(x_23) == 2)
-{
-lean_object* x_24; lean_object* x_25; uint8_t x_26;
-x_24 = lean_ctor_get(x_23, 1);
-lean_inc(x_24);
-lean_dec(x_23);
-x_25 = l_Lean_Parser_Command_docComment___elambda__1___closed__8;
-x_26 = lean_string_dec_eq(x_24, x_25);
-lean_dec(x_24);
-if (x_26 == 0)
-{
-lean_object* x_27; lean_object* x_28;
-x_27 = l_Lean_Parser_Command_docComment___elambda__1___closed__11;
-x_28 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_27, x_19);
-x_11 = x_28;
-goto block_18;
-}
-else
-{
-lean_dec(x_19);
-x_11 = x_20;
-goto block_18;
-}
-}
-else
-{
-lean_object* x_29; lean_object* x_30;
-lean_dec(x_23);
-x_29 = l_Lean_Parser_Command_docComment___elambda__1___closed__11;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_29, x_19);
-x_11 = x_30;
-goto block_18;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32;
-lean_dec(x_21);
-x_31 = l_Lean_Parser_Command_docComment___elambda__1___closed__11;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_31, x_19);
-x_11 = x_32;
-goto block_18;
-}
-block_18:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15;
-x_13 = l_Lean_Parser_Command_commentBody___elambda__1(x_1, x_11);
-lean_dec(x_1);
-x_14 = l_Lean_Parser_Command_docComment___elambda__1___closed__4;
-x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
-return x_15;
-}
-else
-{
-lean_object* x_16; lean_object* x_17;
-lean_dec(x_12);
+lean_object* x_15; lean_object* x_16; lean_object* x_17;
+x_15 = l_Lean_Parser_Command_commentBody___elambda__1(x_1, x_13);
lean_dec(x_1);
x_16 = l_Lean_Parser_Command_docComment___elambda__1___closed__4;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_11, x_16, x_10);
+x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_10);
return x_17;
}
+else
+{
+lean_object* x_18; lean_object* x_19;
+lean_dec(x_14);
+lean_dec(x_1);
+x_18 = l_Lean_Parser_Command_docComment___elambda__1___closed__4;
+x_19 = l_Lean_Parser_ParserState_mkNode(x_13, x_18, x_10);
+return x_19;
}
}
else
@@ -3634,158 +3622,11 @@ return x_7;
}
else
{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_33 = lean_ctor_get(x_2, 0);
-lean_inc(x_33);
-x_34 = lean_array_get_size(x_33);
-lean_dec(x_33);
-x_35 = lean_ctor_get(x_2, 1);
-lean_inc(x_35);
-lean_inc(x_1);
-x_36 = lean_apply_2(x_4, x_1, x_2);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_36, 1);
-lean_inc(x_39);
-x_40 = lean_nat_dec_eq(x_39, x_35);
-lean_dec(x_39);
-if (x_40 == 0)
-{
-lean_dec(x_38);
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
-lean_inc(x_35);
-x_41 = l_Lean_Parser_ParserState_restore(x_36, x_34, x_35);
-lean_dec(x_34);
-x_42 = lean_unsigned_to_nat(1024u);
-x_43 = l_Lean_Parser_checkPrecFn(x_42, x_1, x_41);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_59; lean_object* x_60; lean_object* x_61;
-x_45 = lean_ctor_get(x_43, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-x_59 = lean_ctor_get(x_43, 1);
-lean_inc(x_59);
-lean_inc(x_1);
-x_60 = l_Lean_Parser_tokenFn(x_1, x_43);
-x_61 = lean_ctor_get(x_60, 3);
-lean_inc(x_61);
-if (lean_obj_tag(x_61) == 0)
-{
-lean_object* x_62; lean_object* x_63;
-x_62 = lean_ctor_get(x_60, 0);
-lean_inc(x_62);
-x_63 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_62);
-lean_dec(x_62);
-if (lean_obj_tag(x_63) == 2)
-{
-lean_object* x_64; lean_object* x_65; uint8_t x_66;
-x_64 = lean_ctor_get(x_63, 1);
-lean_inc(x_64);
-lean_dec(x_63);
-x_65 = l_Lean_Parser_Command_docComment___elambda__1___closed__8;
-x_66 = lean_string_dec_eq(x_64, x_65);
-lean_dec(x_64);
-if (x_66 == 0)
-{
-lean_object* x_67; lean_object* x_68;
-x_67 = l_Lean_Parser_Command_docComment___elambda__1___closed__11;
-x_68 = l_Lean_Parser_ParserState_mkErrorsAt(x_60, x_67, x_59);
-x_47 = x_68;
-goto block_58;
-}
-else
-{
-lean_dec(x_59);
-x_47 = x_60;
-goto block_58;
-}
-}
-else
-{
-lean_object* x_69; lean_object* x_70;
-lean_dec(x_63);
-x_69 = l_Lean_Parser_Command_docComment___elambda__1___closed__11;
-x_70 = l_Lean_Parser_ParserState_mkErrorsAt(x_60, x_69, x_59);
-x_47 = x_70;
-goto block_58;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72;
-lean_dec(x_61);
-x_71 = l_Lean_Parser_Command_docComment___elambda__1___closed__11;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_60, x_71, x_59);
-x_47 = x_72;
-goto block_58;
-}
-block_58:
-{
-lean_object* x_48;
-x_48 = lean_ctor_get(x_47, 3);
-lean_inc(x_48);
-if (lean_obj_tag(x_48) == 0)
-{
-lean_object* x_49; lean_object* x_50; lean_object* x_51; uint8_t x_52; lean_object* x_53;
-x_49 = l_Lean_Parser_Command_commentBody___elambda__1(x_1, x_47);
-lean_dec(x_1);
-x_50 = l_Lean_Parser_Command_docComment___elambda__1___closed__4;
-x_51 = l_Lean_Parser_ParserState_mkNode(x_49, x_50, x_46);
-x_52 = 1;
-x_53 = l_Lean_Parser_mergeOrElseErrors(x_51, x_38, x_35, x_52);
-lean_dec(x_35);
-return x_53;
-}
-else
-{
-lean_object* x_54; lean_object* x_55; uint8_t x_56; lean_object* x_57;
-lean_dec(x_48);
-lean_dec(x_1);
-x_54 = l_Lean_Parser_Command_docComment___elambda__1___closed__4;
-x_55 = l_Lean_Parser_ParserState_mkNode(x_47, x_54, x_46);
-x_56 = 1;
-x_57 = l_Lean_Parser_mergeOrElseErrors(x_55, x_38, x_35, x_56);
-lean_dec(x_35);
-return x_57;
-}
-}
-}
-else
-{
-uint8_t x_73; lean_object* x_74;
-lean_dec(x_44);
-lean_dec(x_1);
-x_73 = 1;
-x_74 = l_Lean_Parser_mergeOrElseErrors(x_43, x_38, x_35, x_73);
-lean_dec(x_35);
-return x_74;
-}
-}
-}
+lean_object* x_20; uint8_t x_21; lean_object* x_22;
+x_20 = l_Lean_Parser_Command_docComment___elambda__1___closed__13;
+x_21 = 1;
+x_22 = l_Lean_Parser_orelseFnCore(x_4, x_20, x_21, x_1, x_2);
+return x_22;
}
}
}
@@ -3939,20 +3780,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_private___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_private___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_private___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_private___elambda__1___closed__8() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Command_private___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Command_private___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_private___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -3960,11 +3803,31 @@ static lean_object* _init_l_Lean_Parser_Command_private___elambda__1___closed__9
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
x_2 = l_Lean_Parser_Command_private___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_private___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Command_private___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_private___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_private___elambda__1___closed__10;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -3988,71 +3851,17 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
+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;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_11 = lean_ctor_get(x_7, 1);
-lean_inc(x_11);
-x_12 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_13 = lean_ctor_get(x_12, 3);
-lean_inc(x_13);
-if (lean_obj_tag(x_13) == 0)
-{
-lean_object* x_14; lean_object* x_15;
-x_14 = lean_ctor_get(x_12, 0);
-lean_inc(x_14);
-x_15 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_14);
-lean_dec(x_14);
-if (lean_obj_tag(x_15) == 2)
-{
-lean_object* x_16; lean_object* x_17; uint8_t x_18;
-x_16 = lean_ctor_get(x_15, 1);
-lean_inc(x_16);
-lean_dec(x_15);
-x_17 = l_Lean_Parser_Command_private___elambda__1___closed__6;
-x_18 = lean_string_dec_eq(x_16, x_17);
-lean_dec(x_16);
-if (x_18 == 0)
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
-x_19 = l_Lean_Parser_Command_private___elambda__1___closed__9;
-x_20 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_19, x_11);
-x_21 = l_Lean_Parser_Command_private___elambda__1___closed__2;
-x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_10);
-return x_22;
-}
-else
-{
-lean_object* x_23; lean_object* x_24;
-lean_dec(x_11);
-x_23 = l_Lean_Parser_Command_private___elambda__1___closed__2;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_12, x_23, x_10);
-return x_24;
-}
-}
-else
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
-lean_dec(x_15);
-x_25 = l_Lean_Parser_Command_private___elambda__1___closed__9;
-x_26 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_25, x_11);
-x_27 = l_Lean_Parser_Command_private___elambda__1___closed__2;
-x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_10);
-return x_28;
-}
-}
-else
-{
-lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
-lean_dec(x_13);
-x_29 = l_Lean_Parser_Command_private___elambda__1___closed__9;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_29, x_11);
-x_31 = l_Lean_Parser_Command_private___elambda__1___closed__2;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_10);
-return x_32;
-}
+x_11 = l_Lean_Parser_Command_private___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Command_private___elambda__1___closed__11;
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = l_Lean_Parser_Command_private___elambda__1___closed__2;
+x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
+return x_15;
}
else
{
@@ -4063,144 +3872,11 @@ return x_7;
}
else
{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_33 = lean_ctor_get(x_2, 0);
-lean_inc(x_33);
-x_34 = lean_array_get_size(x_33);
-lean_dec(x_33);
-x_35 = lean_ctor_get(x_2, 1);
-lean_inc(x_35);
-lean_inc(x_1);
-x_36 = lean_apply_2(x_4, x_1, x_2);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_36, 1);
-lean_inc(x_39);
-x_40 = lean_nat_dec_eq(x_39, x_35);
-lean_dec(x_39);
-if (x_40 == 0)
-{
-lean_dec(x_38);
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
-lean_inc(x_35);
-x_41 = l_Lean_Parser_ParserState_restore(x_36, x_34, x_35);
-lean_dec(x_34);
-x_42 = lean_unsigned_to_nat(1024u);
-x_43 = l_Lean_Parser_checkPrecFn(x_42, x_1, x_41);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-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_43, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-x_47 = lean_ctor_get(x_43, 1);
-lean_inc(x_47);
-x_48 = l_Lean_Parser_tokenFn(x_1, x_43);
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
-{
-lean_object* x_50; lean_object* x_51;
-x_50 = lean_ctor_get(x_48, 0);
-lean_inc(x_50);
-x_51 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_50);
-lean_dec(x_50);
-if (lean_obj_tag(x_51) == 2)
-{
-lean_object* x_52; lean_object* x_53; uint8_t x_54;
-x_52 = lean_ctor_get(x_51, 1);
-lean_inc(x_52);
-lean_dec(x_51);
-x_53 = l_Lean_Parser_Command_private___elambda__1___closed__6;
-x_54 = lean_string_dec_eq(x_52, x_53);
-lean_dec(x_52);
-if (x_54 == 0)
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; uint8_t x_59; lean_object* x_60;
-x_55 = l_Lean_Parser_Command_private___elambda__1___closed__9;
-x_56 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_55, x_47);
-x_57 = l_Lean_Parser_Command_private___elambda__1___closed__2;
-x_58 = l_Lean_Parser_ParserState_mkNode(x_56, x_57, x_46);
-x_59 = 1;
-x_60 = l_Lean_Parser_mergeOrElseErrors(x_58, x_38, x_35, x_59);
-lean_dec(x_35);
-return x_60;
-}
-else
-{
-lean_object* x_61; lean_object* x_62; uint8_t x_63; lean_object* x_64;
-lean_dec(x_47);
-x_61 = l_Lean_Parser_Command_private___elambda__1___closed__2;
-x_62 = l_Lean_Parser_ParserState_mkNode(x_48, x_61, x_46);
-x_63 = 1;
-x_64 = l_Lean_Parser_mergeOrElseErrors(x_62, x_38, x_35, x_63);
-lean_dec(x_35);
-return x_64;
-}
-}
-else
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; uint8_t x_69; lean_object* x_70;
-lean_dec(x_51);
-x_65 = l_Lean_Parser_Command_private___elambda__1___closed__9;
-x_66 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_65, x_47);
-x_67 = l_Lean_Parser_Command_private___elambda__1___closed__2;
-x_68 = l_Lean_Parser_ParserState_mkNode(x_66, x_67, x_46);
-x_69 = 1;
-x_70 = l_Lean_Parser_mergeOrElseErrors(x_68, x_38, x_35, x_69);
-lean_dec(x_35);
-return x_70;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; uint8_t x_75; lean_object* x_76;
-lean_dec(x_49);
-x_71 = l_Lean_Parser_Command_private___elambda__1___closed__9;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_71, x_47);
-x_73 = l_Lean_Parser_Command_private___elambda__1___closed__2;
-x_74 = l_Lean_Parser_ParserState_mkNode(x_72, x_73, x_46);
-x_75 = 1;
-x_76 = l_Lean_Parser_mergeOrElseErrors(x_74, x_38, x_35, x_75);
-lean_dec(x_35);
-return x_76;
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_44);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_43, x_38, x_35, x_77);
-lean_dec(x_35);
-return x_78;
-}
-}
-}
+lean_object* x_16; uint8_t x_17; lean_object* x_18;
+x_16 = l_Lean_Parser_Command_private___elambda__1___closed__9;
+x_17 = 1;
+x_18 = l_Lean_Parser_orelseFnCore(x_4, x_16, x_17, x_1, x_2);
+return x_18;
}
}
}
@@ -4324,20 +4000,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_protected___elambda__1___closed__6() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_protected___elambda__1___closed__5;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_protected___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_protected___elambda__1___closed__7() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Command_protected___elambda__1___closed__6;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Command_protected___elambda__1___closed__1;
+x_2 = l_Lean_Parser_Command_protected___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -4345,11 +4023,31 @@ static lean_object* _init_l_Lean_Parser_Command_protected___elambda__1___closed_
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
x_2 = l_Lean_Parser_Command_protected___elambda__1___closed__7;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_protected___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Command_protected___elambda__1___closed__5;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_protected___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_protected___elambda__1___closed__9;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -4373,71 +4071,17 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
+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;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_11 = lean_ctor_get(x_7, 1);
-lean_inc(x_11);
-x_12 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_13 = lean_ctor_get(x_12, 3);
-lean_inc(x_13);
-if (lean_obj_tag(x_13) == 0)
-{
-lean_object* x_14; lean_object* x_15;
-x_14 = lean_ctor_get(x_12, 0);
-lean_inc(x_14);
-x_15 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_14);
-lean_dec(x_14);
-if (lean_obj_tag(x_15) == 2)
-{
-lean_object* x_16; lean_object* x_17; uint8_t x_18;
-x_16 = lean_ctor_get(x_15, 1);
-lean_inc(x_16);
-lean_dec(x_15);
-x_17 = l_Lean_Parser_Command_protected___elambda__1___closed__5;
-x_18 = lean_string_dec_eq(x_16, x_17);
-lean_dec(x_16);
-if (x_18 == 0)
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
-x_19 = l_Lean_Parser_Command_protected___elambda__1___closed__8;
-x_20 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_19, x_11);
-x_21 = l_Lean_Parser_Command_protected___elambda__1___closed__1;
-x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_10);
-return x_22;
-}
-else
-{
-lean_object* x_23; lean_object* x_24;
-lean_dec(x_11);
-x_23 = l_Lean_Parser_Command_protected___elambda__1___closed__1;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_12, x_23, x_10);
-return x_24;
-}
-}
-else
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
-lean_dec(x_15);
-x_25 = l_Lean_Parser_Command_protected___elambda__1___closed__8;
-x_26 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_25, x_11);
-x_27 = l_Lean_Parser_Command_protected___elambda__1___closed__1;
-x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_10);
-return x_28;
-}
-}
-else
-{
-lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
-lean_dec(x_13);
-x_29 = l_Lean_Parser_Command_protected___elambda__1___closed__8;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_29, x_11);
-x_31 = l_Lean_Parser_Command_protected___elambda__1___closed__1;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_10);
-return x_32;
-}
+x_11 = l_Lean_Parser_Command_protected___elambda__1___closed__5;
+x_12 = l_Lean_Parser_Command_protected___elambda__1___closed__10;
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = l_Lean_Parser_Command_protected___elambda__1___closed__1;
+x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
+return x_15;
}
else
{
@@ -4448,144 +4092,11 @@ return x_7;
}
else
{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_33 = lean_ctor_get(x_2, 0);
-lean_inc(x_33);
-x_34 = lean_array_get_size(x_33);
-lean_dec(x_33);
-x_35 = lean_ctor_get(x_2, 1);
-lean_inc(x_35);
-lean_inc(x_1);
-x_36 = lean_apply_2(x_4, x_1, x_2);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_36, 1);
-lean_inc(x_39);
-x_40 = lean_nat_dec_eq(x_39, x_35);
-lean_dec(x_39);
-if (x_40 == 0)
-{
-lean_dec(x_38);
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
-lean_inc(x_35);
-x_41 = l_Lean_Parser_ParserState_restore(x_36, x_34, x_35);
-lean_dec(x_34);
-x_42 = lean_unsigned_to_nat(1024u);
-x_43 = l_Lean_Parser_checkPrecFn(x_42, x_1, x_41);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-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_43, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-x_47 = lean_ctor_get(x_43, 1);
-lean_inc(x_47);
-x_48 = l_Lean_Parser_tokenFn(x_1, x_43);
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
-{
-lean_object* x_50; lean_object* x_51;
-x_50 = lean_ctor_get(x_48, 0);
-lean_inc(x_50);
-x_51 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_50);
-lean_dec(x_50);
-if (lean_obj_tag(x_51) == 2)
-{
-lean_object* x_52; lean_object* x_53; uint8_t x_54;
-x_52 = lean_ctor_get(x_51, 1);
-lean_inc(x_52);
-lean_dec(x_51);
-x_53 = l_Lean_Parser_Command_protected___elambda__1___closed__5;
-x_54 = lean_string_dec_eq(x_52, x_53);
-lean_dec(x_52);
-if (x_54 == 0)
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; uint8_t x_59; lean_object* x_60;
-x_55 = l_Lean_Parser_Command_protected___elambda__1___closed__8;
-x_56 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_55, x_47);
-x_57 = l_Lean_Parser_Command_protected___elambda__1___closed__1;
-x_58 = l_Lean_Parser_ParserState_mkNode(x_56, x_57, x_46);
-x_59 = 1;
-x_60 = l_Lean_Parser_mergeOrElseErrors(x_58, x_38, x_35, x_59);
-lean_dec(x_35);
-return x_60;
-}
-else
-{
-lean_object* x_61; lean_object* x_62; uint8_t x_63; lean_object* x_64;
-lean_dec(x_47);
-x_61 = l_Lean_Parser_Command_protected___elambda__1___closed__1;
-x_62 = l_Lean_Parser_ParserState_mkNode(x_48, x_61, x_46);
-x_63 = 1;
-x_64 = l_Lean_Parser_mergeOrElseErrors(x_62, x_38, x_35, x_63);
-lean_dec(x_35);
-return x_64;
-}
-}
-else
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; uint8_t x_69; lean_object* x_70;
-lean_dec(x_51);
-x_65 = l_Lean_Parser_Command_protected___elambda__1___closed__8;
-x_66 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_65, x_47);
-x_67 = l_Lean_Parser_Command_protected___elambda__1___closed__1;
-x_68 = l_Lean_Parser_ParserState_mkNode(x_66, x_67, x_46);
-x_69 = 1;
-x_70 = l_Lean_Parser_mergeOrElseErrors(x_68, x_38, x_35, x_69);
-lean_dec(x_35);
-return x_70;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; uint8_t x_75; lean_object* x_76;
-lean_dec(x_49);
-x_71 = l_Lean_Parser_Command_protected___elambda__1___closed__8;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_71, x_47);
-x_73 = l_Lean_Parser_Command_protected___elambda__1___closed__1;
-x_74 = l_Lean_Parser_ParserState_mkNode(x_72, x_73, x_46);
-x_75 = 1;
-x_76 = l_Lean_Parser_mergeOrElseErrors(x_74, x_38, x_35, x_75);
-lean_dec(x_35);
-return x_76;
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_44);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_43, x_38, x_35, x_77);
-lean_dec(x_35);
-return x_78;
-}
-}
-}
+lean_object* x_16; uint8_t x_17; lean_object* x_18;
+x_16 = l_Lean_Parser_Command_protected___elambda__1___closed__8;
+x_17 = 1;
+x_18 = l_Lean_Parser_orelseFnCore(x_4, x_16, x_17, x_1, x_2);
+return x_18;
}
}
}
@@ -4661,56 +4172,13 @@ return x_1;
lean_object* l_Lean_Parser_Command_visibility___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-lean_inc(x_1);
-x_6 = l_Lean_Parser_Command_private___elambda__1(x_1, x_2);
-x_7 = lean_ctor_get(x_6, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
-{
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_1);
+lean_object* x_3; lean_object* x_4; uint8_t x_5; lean_object* x_6;
+x_3 = l_Lean_Parser_Command_private___closed__5;
+x_4 = l_Lean_Parser_Command_protected___closed__5;
+x_5 = 1;
+x_6 = l_Lean_Parser_orelseFnCore(x_3, x_4, x_5, x_1, x_2);
return x_6;
}
-else
-{
-lean_object* x_8; lean_object* x_9; uint8_t x_10;
-x_8 = lean_ctor_get(x_7, 0);
-lean_inc(x_8);
-lean_dec(x_7);
-x_9 = lean_ctor_get(x_6, 1);
-lean_inc(x_9);
-x_10 = lean_nat_dec_eq(x_9, x_5);
-lean_dec(x_9);
-if (x_10 == 0)
-{
-lean_dec(x_8);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_6;
-}
-else
-{
-lean_object* x_11; lean_object* x_12; uint8_t x_13; lean_object* x_14;
-lean_inc(x_5);
-x_11 = l_Lean_Parser_ParserState_restore(x_6, x_4, x_5);
-lean_dec(x_4);
-x_12 = l_Lean_Parser_Command_protected___elambda__1(x_1, x_11);
-x_13 = 1;
-x_14 = l_Lean_Parser_mergeOrElseErrors(x_12, x_8, x_5, x_13);
-lean_dec(x_5);
-return x_14;
-}
-}
-}
}
static lean_object* _init_l_Lean_Parser_Command_visibility___closed__1() {
_start:
@@ -4813,20 +4281,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_noncomputable___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_noncomputable___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_noncomputable___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_noncomputable___elambda__1___closed__8() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Command_noncomputable___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Command_noncomputable___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_noncomputable___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -4834,11 +4304,31 @@ static lean_object* _init_l_Lean_Parser_Command_noncomputable___elambda__1___clo
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
x_2 = l_Lean_Parser_Command_noncomputable___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_noncomputable___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Command_noncomputable___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_noncomputable___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_noncomputable___elambda__1___closed__10;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -4862,71 +4352,17 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
+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;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_11 = lean_ctor_get(x_7, 1);
-lean_inc(x_11);
-x_12 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_13 = lean_ctor_get(x_12, 3);
-lean_inc(x_13);
-if (lean_obj_tag(x_13) == 0)
-{
-lean_object* x_14; lean_object* x_15;
-x_14 = lean_ctor_get(x_12, 0);
-lean_inc(x_14);
-x_15 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_14);
-lean_dec(x_14);
-if (lean_obj_tag(x_15) == 2)
-{
-lean_object* x_16; lean_object* x_17; uint8_t x_18;
-x_16 = lean_ctor_get(x_15, 1);
-lean_inc(x_16);
-lean_dec(x_15);
-x_17 = l_Lean_Parser_Command_noncomputable___elambda__1___closed__6;
-x_18 = lean_string_dec_eq(x_16, x_17);
-lean_dec(x_16);
-if (x_18 == 0)
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
-x_19 = l_Lean_Parser_Command_noncomputable___elambda__1___closed__9;
-x_20 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_19, x_11);
-x_21 = l_Lean_Parser_Command_noncomputable___elambda__1___closed__2;
-x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_10);
-return x_22;
-}
-else
-{
-lean_object* x_23; lean_object* x_24;
-lean_dec(x_11);
-x_23 = l_Lean_Parser_Command_noncomputable___elambda__1___closed__2;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_12, x_23, x_10);
-return x_24;
-}
-}
-else
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
-lean_dec(x_15);
-x_25 = l_Lean_Parser_Command_noncomputable___elambda__1___closed__9;
-x_26 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_25, x_11);
-x_27 = l_Lean_Parser_Command_noncomputable___elambda__1___closed__2;
-x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_10);
-return x_28;
-}
-}
-else
-{
-lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
-lean_dec(x_13);
-x_29 = l_Lean_Parser_Command_noncomputable___elambda__1___closed__9;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_29, x_11);
-x_31 = l_Lean_Parser_Command_noncomputable___elambda__1___closed__2;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_10);
-return x_32;
-}
+x_11 = l_Lean_Parser_Command_noncomputable___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Command_noncomputable___elambda__1___closed__11;
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = l_Lean_Parser_Command_noncomputable___elambda__1___closed__2;
+x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
+return x_15;
}
else
{
@@ -4937,144 +4373,11 @@ return x_7;
}
else
{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_33 = lean_ctor_get(x_2, 0);
-lean_inc(x_33);
-x_34 = lean_array_get_size(x_33);
-lean_dec(x_33);
-x_35 = lean_ctor_get(x_2, 1);
-lean_inc(x_35);
-lean_inc(x_1);
-x_36 = lean_apply_2(x_4, x_1, x_2);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_36, 1);
-lean_inc(x_39);
-x_40 = lean_nat_dec_eq(x_39, x_35);
-lean_dec(x_39);
-if (x_40 == 0)
-{
-lean_dec(x_38);
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
-lean_inc(x_35);
-x_41 = l_Lean_Parser_ParserState_restore(x_36, x_34, x_35);
-lean_dec(x_34);
-x_42 = lean_unsigned_to_nat(1024u);
-x_43 = l_Lean_Parser_checkPrecFn(x_42, x_1, x_41);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-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_43, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-x_47 = lean_ctor_get(x_43, 1);
-lean_inc(x_47);
-x_48 = l_Lean_Parser_tokenFn(x_1, x_43);
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
-{
-lean_object* x_50; lean_object* x_51;
-x_50 = lean_ctor_get(x_48, 0);
-lean_inc(x_50);
-x_51 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_50);
-lean_dec(x_50);
-if (lean_obj_tag(x_51) == 2)
-{
-lean_object* x_52; lean_object* x_53; uint8_t x_54;
-x_52 = lean_ctor_get(x_51, 1);
-lean_inc(x_52);
-lean_dec(x_51);
-x_53 = l_Lean_Parser_Command_noncomputable___elambda__1___closed__6;
-x_54 = lean_string_dec_eq(x_52, x_53);
-lean_dec(x_52);
-if (x_54 == 0)
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; uint8_t x_59; lean_object* x_60;
-x_55 = l_Lean_Parser_Command_noncomputable___elambda__1___closed__9;
-x_56 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_55, x_47);
-x_57 = l_Lean_Parser_Command_noncomputable___elambda__1___closed__2;
-x_58 = l_Lean_Parser_ParserState_mkNode(x_56, x_57, x_46);
-x_59 = 1;
-x_60 = l_Lean_Parser_mergeOrElseErrors(x_58, x_38, x_35, x_59);
-lean_dec(x_35);
-return x_60;
-}
-else
-{
-lean_object* x_61; lean_object* x_62; uint8_t x_63; lean_object* x_64;
-lean_dec(x_47);
-x_61 = l_Lean_Parser_Command_noncomputable___elambda__1___closed__2;
-x_62 = l_Lean_Parser_ParserState_mkNode(x_48, x_61, x_46);
-x_63 = 1;
-x_64 = l_Lean_Parser_mergeOrElseErrors(x_62, x_38, x_35, x_63);
-lean_dec(x_35);
-return x_64;
-}
-}
-else
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; uint8_t x_69; lean_object* x_70;
-lean_dec(x_51);
-x_65 = l_Lean_Parser_Command_noncomputable___elambda__1___closed__9;
-x_66 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_65, x_47);
-x_67 = l_Lean_Parser_Command_noncomputable___elambda__1___closed__2;
-x_68 = l_Lean_Parser_ParserState_mkNode(x_66, x_67, x_46);
-x_69 = 1;
-x_70 = l_Lean_Parser_mergeOrElseErrors(x_68, x_38, x_35, x_69);
-lean_dec(x_35);
-return x_70;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; uint8_t x_75; lean_object* x_76;
-lean_dec(x_49);
-x_71 = l_Lean_Parser_Command_noncomputable___elambda__1___closed__9;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_71, x_47);
-x_73 = l_Lean_Parser_Command_noncomputable___elambda__1___closed__2;
-x_74 = l_Lean_Parser_ParserState_mkNode(x_72, x_73, x_46);
-x_75 = 1;
-x_76 = l_Lean_Parser_mergeOrElseErrors(x_74, x_38, x_35, x_75);
-lean_dec(x_35);
-return x_76;
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_44);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_43, x_38, x_35, x_77);
-lean_dec(x_35);
-return x_78;
-}
-}
-}
+lean_object* x_16; uint8_t x_17; lean_object* x_18;
+x_16 = l_Lean_Parser_Command_noncomputable___elambda__1___closed__9;
+x_17 = 1;
+x_18 = l_Lean_Parser_orelseFnCore(x_4, x_16, x_17, x_1, x_2);
+return x_18;
}
}
}
@@ -5206,20 +4509,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_unsafe___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_unsafe___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_unsafe___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_unsafe___elambda__1___closed__8() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Command_unsafe___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Command_unsafe___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_unsafe___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -5227,11 +4532,31 @@ static lean_object* _init_l_Lean_Parser_Command_unsafe___elambda__1___closed__9(
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
x_2 = l_Lean_Parser_Command_unsafe___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_unsafe___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Command_unsafe___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_unsafe___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_unsafe___elambda__1___closed__10;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -5255,71 +4580,17 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
+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;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_11 = lean_ctor_get(x_7, 1);
-lean_inc(x_11);
-x_12 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_13 = lean_ctor_get(x_12, 3);
-lean_inc(x_13);
-if (lean_obj_tag(x_13) == 0)
-{
-lean_object* x_14; lean_object* x_15;
-x_14 = lean_ctor_get(x_12, 0);
-lean_inc(x_14);
-x_15 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_14);
-lean_dec(x_14);
-if (lean_obj_tag(x_15) == 2)
-{
-lean_object* x_16; lean_object* x_17; uint8_t x_18;
-x_16 = lean_ctor_get(x_15, 1);
-lean_inc(x_16);
-lean_dec(x_15);
-x_17 = l_Lean_Parser_Command_unsafe___elambda__1___closed__6;
-x_18 = lean_string_dec_eq(x_16, x_17);
-lean_dec(x_16);
-if (x_18 == 0)
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
-x_19 = l_Lean_Parser_Command_unsafe___elambda__1___closed__9;
-x_20 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_19, x_11);
-x_21 = l_Lean_Parser_Command_unsafe___elambda__1___closed__2;
-x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_10);
-return x_22;
-}
-else
-{
-lean_object* x_23; lean_object* x_24;
-lean_dec(x_11);
-x_23 = l_Lean_Parser_Command_unsafe___elambda__1___closed__2;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_12, x_23, x_10);
-return x_24;
-}
-}
-else
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
-lean_dec(x_15);
-x_25 = l_Lean_Parser_Command_unsafe___elambda__1___closed__9;
-x_26 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_25, x_11);
-x_27 = l_Lean_Parser_Command_unsafe___elambda__1___closed__2;
-x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_10);
-return x_28;
-}
-}
-else
-{
-lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
-lean_dec(x_13);
-x_29 = l_Lean_Parser_Command_unsafe___elambda__1___closed__9;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_29, x_11);
-x_31 = l_Lean_Parser_Command_unsafe___elambda__1___closed__2;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_10);
-return x_32;
-}
+x_11 = l_Lean_Parser_Command_unsafe___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Command_unsafe___elambda__1___closed__11;
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = l_Lean_Parser_Command_unsafe___elambda__1___closed__2;
+x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
+return x_15;
}
else
{
@@ -5330,144 +4601,11 @@ return x_7;
}
else
{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_33 = lean_ctor_get(x_2, 0);
-lean_inc(x_33);
-x_34 = lean_array_get_size(x_33);
-lean_dec(x_33);
-x_35 = lean_ctor_get(x_2, 1);
-lean_inc(x_35);
-lean_inc(x_1);
-x_36 = lean_apply_2(x_4, x_1, x_2);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_36, 1);
-lean_inc(x_39);
-x_40 = lean_nat_dec_eq(x_39, x_35);
-lean_dec(x_39);
-if (x_40 == 0)
-{
-lean_dec(x_38);
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
-lean_inc(x_35);
-x_41 = l_Lean_Parser_ParserState_restore(x_36, x_34, x_35);
-lean_dec(x_34);
-x_42 = lean_unsigned_to_nat(1024u);
-x_43 = l_Lean_Parser_checkPrecFn(x_42, x_1, x_41);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-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_43, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-x_47 = lean_ctor_get(x_43, 1);
-lean_inc(x_47);
-x_48 = l_Lean_Parser_tokenFn(x_1, x_43);
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
-{
-lean_object* x_50; lean_object* x_51;
-x_50 = lean_ctor_get(x_48, 0);
-lean_inc(x_50);
-x_51 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_50);
-lean_dec(x_50);
-if (lean_obj_tag(x_51) == 2)
-{
-lean_object* x_52; lean_object* x_53; uint8_t x_54;
-x_52 = lean_ctor_get(x_51, 1);
-lean_inc(x_52);
-lean_dec(x_51);
-x_53 = l_Lean_Parser_Command_unsafe___elambda__1___closed__6;
-x_54 = lean_string_dec_eq(x_52, x_53);
-lean_dec(x_52);
-if (x_54 == 0)
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; uint8_t x_59; lean_object* x_60;
-x_55 = l_Lean_Parser_Command_unsafe___elambda__1___closed__9;
-x_56 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_55, x_47);
-x_57 = l_Lean_Parser_Command_unsafe___elambda__1___closed__2;
-x_58 = l_Lean_Parser_ParserState_mkNode(x_56, x_57, x_46);
-x_59 = 1;
-x_60 = l_Lean_Parser_mergeOrElseErrors(x_58, x_38, x_35, x_59);
-lean_dec(x_35);
-return x_60;
-}
-else
-{
-lean_object* x_61; lean_object* x_62; uint8_t x_63; lean_object* x_64;
-lean_dec(x_47);
-x_61 = l_Lean_Parser_Command_unsafe___elambda__1___closed__2;
-x_62 = l_Lean_Parser_ParserState_mkNode(x_48, x_61, x_46);
-x_63 = 1;
-x_64 = l_Lean_Parser_mergeOrElseErrors(x_62, x_38, x_35, x_63);
-lean_dec(x_35);
-return x_64;
-}
-}
-else
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; uint8_t x_69; lean_object* x_70;
-lean_dec(x_51);
-x_65 = l_Lean_Parser_Command_unsafe___elambda__1___closed__9;
-x_66 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_65, x_47);
-x_67 = l_Lean_Parser_Command_unsafe___elambda__1___closed__2;
-x_68 = l_Lean_Parser_ParserState_mkNode(x_66, x_67, x_46);
-x_69 = 1;
-x_70 = l_Lean_Parser_mergeOrElseErrors(x_68, x_38, x_35, x_69);
-lean_dec(x_35);
-return x_70;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; uint8_t x_75; lean_object* x_76;
-lean_dec(x_49);
-x_71 = l_Lean_Parser_Command_unsafe___elambda__1___closed__9;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_71, x_47);
-x_73 = l_Lean_Parser_Command_unsafe___elambda__1___closed__2;
-x_74 = l_Lean_Parser_ParserState_mkNode(x_72, x_73, x_46);
-x_75 = 1;
-x_76 = l_Lean_Parser_mergeOrElseErrors(x_74, x_38, x_35, x_75);
-lean_dec(x_35);
-return x_76;
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_44);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_43, x_38, x_35, x_77);
-lean_dec(x_35);
-return x_78;
-}
-}
-}
+lean_object* x_16; uint8_t x_17; lean_object* x_18;
+x_16 = l_Lean_Parser_Command_unsafe___elambda__1___closed__9;
+x_17 = 1;
+x_18 = l_Lean_Parser_orelseFnCore(x_4, x_16, x_17, x_1, x_2);
+return x_18;
}
}
}
@@ -5599,20 +4737,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_partial___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_partial___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_partial___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_partial___elambda__1___closed__8() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Command_partial___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Command_partial___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_partial___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -5620,11 +4760,31 @@ static lean_object* _init_l_Lean_Parser_Command_partial___elambda__1___closed__9
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
x_2 = l_Lean_Parser_Command_partial___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_partial___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Command_partial___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_partial___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_partial___elambda__1___closed__10;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -5648,71 +4808,17 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
+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;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_11 = lean_ctor_get(x_7, 1);
-lean_inc(x_11);
-x_12 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_13 = lean_ctor_get(x_12, 3);
-lean_inc(x_13);
-if (lean_obj_tag(x_13) == 0)
-{
-lean_object* x_14; lean_object* x_15;
-x_14 = lean_ctor_get(x_12, 0);
-lean_inc(x_14);
-x_15 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_14);
-lean_dec(x_14);
-if (lean_obj_tag(x_15) == 2)
-{
-lean_object* x_16; lean_object* x_17; uint8_t x_18;
-x_16 = lean_ctor_get(x_15, 1);
-lean_inc(x_16);
-lean_dec(x_15);
-x_17 = l_Lean_Parser_Command_partial___elambda__1___closed__6;
-x_18 = lean_string_dec_eq(x_16, x_17);
-lean_dec(x_16);
-if (x_18 == 0)
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
-x_19 = l_Lean_Parser_Command_partial___elambda__1___closed__9;
-x_20 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_19, x_11);
-x_21 = l_Lean_Parser_Command_partial___elambda__1___closed__2;
-x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_10);
-return x_22;
-}
-else
-{
-lean_object* x_23; lean_object* x_24;
-lean_dec(x_11);
-x_23 = l_Lean_Parser_Command_partial___elambda__1___closed__2;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_12, x_23, x_10);
-return x_24;
-}
-}
-else
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
-lean_dec(x_15);
-x_25 = l_Lean_Parser_Command_partial___elambda__1___closed__9;
-x_26 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_25, x_11);
-x_27 = l_Lean_Parser_Command_partial___elambda__1___closed__2;
-x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_10);
-return x_28;
-}
-}
-else
-{
-lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
-lean_dec(x_13);
-x_29 = l_Lean_Parser_Command_partial___elambda__1___closed__9;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_29, x_11);
-x_31 = l_Lean_Parser_Command_partial___elambda__1___closed__2;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_10);
-return x_32;
-}
+x_11 = l_Lean_Parser_Command_partial___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Command_partial___elambda__1___closed__11;
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = l_Lean_Parser_Command_partial___elambda__1___closed__2;
+x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
+return x_15;
}
else
{
@@ -5723,144 +4829,11 @@ return x_7;
}
else
{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_33 = lean_ctor_get(x_2, 0);
-lean_inc(x_33);
-x_34 = lean_array_get_size(x_33);
-lean_dec(x_33);
-x_35 = lean_ctor_get(x_2, 1);
-lean_inc(x_35);
-lean_inc(x_1);
-x_36 = lean_apply_2(x_4, x_1, x_2);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_36, 1);
-lean_inc(x_39);
-x_40 = lean_nat_dec_eq(x_39, x_35);
-lean_dec(x_39);
-if (x_40 == 0)
-{
-lean_dec(x_38);
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
-lean_inc(x_35);
-x_41 = l_Lean_Parser_ParserState_restore(x_36, x_34, x_35);
-lean_dec(x_34);
-x_42 = lean_unsigned_to_nat(1024u);
-x_43 = l_Lean_Parser_checkPrecFn(x_42, x_1, x_41);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-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_43, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-x_47 = lean_ctor_get(x_43, 1);
-lean_inc(x_47);
-x_48 = l_Lean_Parser_tokenFn(x_1, x_43);
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
-{
-lean_object* x_50; lean_object* x_51;
-x_50 = lean_ctor_get(x_48, 0);
-lean_inc(x_50);
-x_51 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_50);
-lean_dec(x_50);
-if (lean_obj_tag(x_51) == 2)
-{
-lean_object* x_52; lean_object* x_53; uint8_t x_54;
-x_52 = lean_ctor_get(x_51, 1);
-lean_inc(x_52);
-lean_dec(x_51);
-x_53 = l_Lean_Parser_Command_partial___elambda__1___closed__6;
-x_54 = lean_string_dec_eq(x_52, x_53);
-lean_dec(x_52);
-if (x_54 == 0)
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; uint8_t x_59; lean_object* x_60;
-x_55 = l_Lean_Parser_Command_partial___elambda__1___closed__9;
-x_56 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_55, x_47);
-x_57 = l_Lean_Parser_Command_partial___elambda__1___closed__2;
-x_58 = l_Lean_Parser_ParserState_mkNode(x_56, x_57, x_46);
-x_59 = 1;
-x_60 = l_Lean_Parser_mergeOrElseErrors(x_58, x_38, x_35, x_59);
-lean_dec(x_35);
-return x_60;
-}
-else
-{
-lean_object* x_61; lean_object* x_62; uint8_t x_63; lean_object* x_64;
-lean_dec(x_47);
-x_61 = l_Lean_Parser_Command_partial___elambda__1___closed__2;
-x_62 = l_Lean_Parser_ParserState_mkNode(x_48, x_61, x_46);
-x_63 = 1;
-x_64 = l_Lean_Parser_mergeOrElseErrors(x_62, x_38, x_35, x_63);
-lean_dec(x_35);
-return x_64;
-}
-}
-else
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; uint8_t x_69; lean_object* x_70;
-lean_dec(x_51);
-x_65 = l_Lean_Parser_Command_partial___elambda__1___closed__9;
-x_66 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_65, x_47);
-x_67 = l_Lean_Parser_Command_partial___elambda__1___closed__2;
-x_68 = l_Lean_Parser_ParserState_mkNode(x_66, x_67, x_46);
-x_69 = 1;
-x_70 = l_Lean_Parser_mergeOrElseErrors(x_68, x_38, x_35, x_69);
-lean_dec(x_35);
-return x_70;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; uint8_t x_75; lean_object* x_76;
-lean_dec(x_49);
-x_71 = l_Lean_Parser_Command_partial___elambda__1___closed__9;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_71, x_47);
-x_73 = l_Lean_Parser_Command_partial___elambda__1___closed__2;
-x_74 = l_Lean_Parser_ParserState_mkNode(x_72, x_73, x_46);
-x_75 = 1;
-x_76 = l_Lean_Parser_mergeOrElseErrors(x_74, x_38, x_35, x_75);
-lean_dec(x_35);
-return x_76;
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_44);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_43, x_38, x_35, x_77);
-lean_dec(x_35);
-return x_78;
-}
-}
-}
+lean_object* x_16; uint8_t x_17; lean_object* x_18;
+x_16 = l_Lean_Parser_Command_partial___elambda__1___closed__9;
+x_17 = 1;
+x_18 = l_Lean_Parser_orelseFnCore(x_4, x_16, x_17, x_1, x_2);
+return x_18;
}
}
}
@@ -5972,6 +4945,162 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Command_declModifiers___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_docComment___closed__7;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optionalFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_declModifiers___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_visibility___closed__2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optionalFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_declModifiers___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_noncomputable___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optionalFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_declModifiers___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_unsafe___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optionalFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_declModifiers___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_partial___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optionalFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_declModifiers___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_declModifiers___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_declModifiers___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_declModifiers___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_attributes___closed__8;
+x_2 = l_Lean_Parser_Parser_inhabited___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_declModifiers___elambda__1___closed__14() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__13;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optionalFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_declModifiers___elambda__1___closed__15() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__14;
+x_2 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__12;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_declModifiers___elambda__1___closed__16() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__5;
+x_2 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__15;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_declModifiers___elambda__1___closed__17() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__16;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_declModifiers___elambda__1___closed__18() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__17;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Command_declModifiers___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -5992,382 +5121,105 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_36; lean_object* x_55; lean_object* x_74; lean_object* x_93; lean_object* x_112; lean_object* x_113; lean_object* x_114;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_112 = lean_ctor_get(x_7, 1);
-lean_inc(x_112);
+x_11 = l_Lean_Parser_Command_docComment___closed__7;
lean_inc(x_1);
-x_113 = l_Lean_Parser_Command_docComment___elambda__1(x_1, x_7);
-x_114 = lean_ctor_get(x_113, 3);
-lean_inc(x_114);
-if (lean_obj_tag(x_114) == 0)
-{
-lean_object* x_115; lean_object* x_116;
-lean_dec(x_112);
-x_115 = l_Lean_nullKind;
-lean_inc(x_10);
-x_116 = l_Lean_Parser_ParserState_mkNode(x_113, x_115, x_10);
-x_93 = x_116;
-goto block_111;
-}
-else
-{
-lean_object* x_117; uint8_t x_118;
-lean_dec(x_114);
-x_117 = lean_ctor_get(x_113, 1);
-lean_inc(x_117);
-x_118 = lean_nat_dec_eq(x_117, x_112);
-lean_dec(x_117);
-if (x_118 == 0)
-{
-lean_object* x_119; lean_object* x_120;
-lean_dec(x_112);
-x_119 = l_Lean_nullKind;
-lean_inc(x_10);
-x_120 = l_Lean_Parser_ParserState_mkNode(x_113, x_119, x_10);
-x_93 = x_120;
-goto block_111;
-}
-else
-{
-lean_object* x_121; lean_object* x_122; lean_object* x_123;
-x_121 = l_Lean_Parser_ParserState_restore(x_113, x_10, x_112);
-x_122 = l_Lean_nullKind;
-lean_inc(x_10);
-x_123 = l_Lean_Parser_ParserState_mkNode(x_121, x_122, x_10);
-x_93 = x_123;
-goto block_111;
-}
-}
-block_35:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_13 = lean_ctor_get(x_11, 0);
+x_12 = l_Lean_Parser_optionalFn(x_11, x_1, x_7);
+x_13 = lean_ctor_get(x_12, 3);
lean_inc(x_13);
-x_14 = lean_array_get_size(x_13);
-lean_dec(x_13);
-x_15 = lean_ctor_get(x_11, 1);
-lean_inc(x_15);
-x_16 = l_Lean_Parser_Command_partial___elambda__1(x_1, x_11);
-x_17 = lean_ctor_get(x_16, 3);
-lean_inc(x_17);
-if (lean_obj_tag(x_17) == 0)
+if (lean_obj_tag(x_13) == 0)
{
-lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
-lean_dec(x_15);
-x_18 = l_Lean_nullKind;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_16, x_18, x_14);
-x_20 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__2;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_10);
-return x_21;
-}
-else
+lean_object* x_14; lean_object* x_15; lean_object* x_16;
+x_14 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__13;
+lean_inc(x_1);
+x_15 = l_Lean_Parser_optionalFn(x_14, x_1, x_12);
+x_16 = lean_ctor_get(x_15, 3);
+lean_inc(x_16);
+if (lean_obj_tag(x_16) == 0)
{
-lean_object* x_22; uint8_t x_23;
-lean_dec(x_17);
-x_22 = lean_ctor_get(x_16, 1);
+lean_object* x_17; lean_object* x_18; lean_object* x_19;
+x_17 = l_Lean_Parser_Command_visibility___closed__2;
+lean_inc(x_1);
+x_18 = l_Lean_Parser_optionalFn(x_17, x_1, x_15);
+x_19 = lean_ctor_get(x_18, 3);
+lean_inc(x_19);
+if (lean_obj_tag(x_19) == 0)
+{
+lean_object* x_20; lean_object* x_21; lean_object* x_22;
+x_20 = l_Lean_Parser_Command_noncomputable___closed__5;
+lean_inc(x_1);
+x_21 = l_Lean_Parser_optionalFn(x_20, x_1, x_18);
+x_22 = lean_ctor_get(x_21, 3);
lean_inc(x_22);
-x_23 = lean_nat_dec_eq(x_22, x_15);
+if (lean_obj_tag(x_22) == 0)
+{
+lean_object* x_23; lean_object* x_24; lean_object* x_25;
+x_23 = l_Lean_Parser_Command_unsafe___closed__5;
+lean_inc(x_1);
+x_24 = l_Lean_Parser_optionalFn(x_23, x_1, x_21);
+x_25 = lean_ctor_get(x_24, 3);
+lean_inc(x_25);
+if (lean_obj_tag(x_25) == 0)
+{
+lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29;
+x_26 = l_Lean_Parser_Command_partial___closed__5;
+x_27 = l_Lean_Parser_optionalFn(x_26, x_1, x_24);
+x_28 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__2;
+x_29 = l_Lean_Parser_ParserState_mkNode(x_27, x_28, x_10);
+return x_29;
+}
+else
+{
+lean_object* x_30; lean_object* x_31;
+lean_dec(x_25);
+lean_dec(x_1);
+x_30 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__2;
+x_31 = l_Lean_Parser_ParserState_mkNode(x_24, x_30, x_10);
+return x_31;
+}
+}
+else
+{
+lean_object* x_32; lean_object* x_33;
lean_dec(x_22);
-if (x_23 == 0)
-{
-lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
-lean_dec(x_15);
-x_24 = l_Lean_nullKind;
-x_25 = l_Lean_Parser_ParserState_mkNode(x_16, x_24, x_14);
-x_26 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__2;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_25, x_26, x_10);
-return x_27;
-}
-else
-{
-lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
-x_28 = l_Lean_Parser_ParserState_restore(x_16, x_14, x_15);
-x_29 = l_Lean_nullKind;
-x_30 = l_Lean_Parser_ParserState_mkNode(x_28, x_29, x_14);
-x_31 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__2;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_10);
-return x_32;
-}
-}
-}
-else
-{
-lean_object* x_33; lean_object* x_34;
-lean_dec(x_12);
lean_dec(x_1);
-x_33 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__2;
-x_34 = l_Lean_Parser_ParserState_mkNode(x_11, x_33, x_10);
-return x_34;
-}
-}
-block_54:
-{
-lean_object* x_37;
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42;
-x_38 = lean_ctor_get(x_36, 0);
-lean_inc(x_38);
-x_39 = lean_array_get_size(x_38);
-lean_dec(x_38);
-x_40 = lean_ctor_get(x_36, 1);
-lean_inc(x_40);
-lean_inc(x_1);
-x_41 = l_Lean_Parser_Command_unsafe___elambda__1(x_1, x_36);
-x_42 = lean_ctor_get(x_41, 3);
-lean_inc(x_42);
-if (lean_obj_tag(x_42) == 0)
-{
-lean_object* x_43; lean_object* x_44;
-lean_dec(x_40);
-x_43 = l_Lean_nullKind;
-x_44 = l_Lean_Parser_ParserState_mkNode(x_41, x_43, x_39);
-x_11 = x_44;
-goto block_35;
-}
-else
-{
-lean_object* x_45; uint8_t x_46;
-lean_dec(x_42);
-x_45 = lean_ctor_get(x_41, 1);
-lean_inc(x_45);
-x_46 = lean_nat_dec_eq(x_45, x_40);
-lean_dec(x_45);
-if (x_46 == 0)
-{
-lean_object* x_47; lean_object* x_48;
-lean_dec(x_40);
-x_47 = l_Lean_nullKind;
-x_48 = l_Lean_Parser_ParserState_mkNode(x_41, x_47, x_39);
-x_11 = x_48;
-goto block_35;
-}
-else
-{
-lean_object* x_49; lean_object* x_50; lean_object* x_51;
-x_49 = l_Lean_Parser_ParserState_restore(x_41, x_39, x_40);
-x_50 = l_Lean_nullKind;
-x_51 = l_Lean_Parser_ParserState_mkNode(x_49, x_50, x_39);
-x_11 = x_51;
-goto block_35;
-}
+x_32 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__2;
+x_33 = l_Lean_Parser_ParserState_mkNode(x_21, x_32, x_10);
+return x_33;
}
}
else
{
-lean_object* x_52; lean_object* x_53;
-lean_dec(x_37);
+lean_object* x_34; lean_object* x_35;
+lean_dec(x_19);
lean_dec(x_1);
-x_52 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__2;
-x_53 = l_Lean_Parser_ParserState_mkNode(x_36, x_52, x_10);
-return x_53;
-}
-}
-block_73:
-{
-lean_object* x_56;
-x_56 = lean_ctor_get(x_55, 3);
-lean_inc(x_56);
-if (lean_obj_tag(x_56) == 0)
-{
-lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61;
-x_57 = lean_ctor_get(x_55, 0);
-lean_inc(x_57);
-x_58 = lean_array_get_size(x_57);
-lean_dec(x_57);
-x_59 = lean_ctor_get(x_55, 1);
-lean_inc(x_59);
-lean_inc(x_1);
-x_60 = l_Lean_Parser_Command_noncomputable___elambda__1(x_1, x_55);
-x_61 = lean_ctor_get(x_60, 3);
-lean_inc(x_61);
-if (lean_obj_tag(x_61) == 0)
-{
-lean_object* x_62; lean_object* x_63;
-lean_dec(x_59);
-x_62 = l_Lean_nullKind;
-x_63 = l_Lean_Parser_ParserState_mkNode(x_60, x_62, x_58);
-x_36 = x_63;
-goto block_54;
-}
-else
-{
-lean_object* x_64; uint8_t x_65;
-lean_dec(x_61);
-x_64 = lean_ctor_get(x_60, 1);
-lean_inc(x_64);
-x_65 = lean_nat_dec_eq(x_64, x_59);
-lean_dec(x_64);
-if (x_65 == 0)
-{
-lean_object* x_66; lean_object* x_67;
-lean_dec(x_59);
-x_66 = l_Lean_nullKind;
-x_67 = l_Lean_Parser_ParserState_mkNode(x_60, x_66, x_58);
-x_36 = x_67;
-goto block_54;
-}
-else
-{
-lean_object* x_68; lean_object* x_69; lean_object* x_70;
-x_68 = l_Lean_Parser_ParserState_restore(x_60, x_58, x_59);
-x_69 = l_Lean_nullKind;
-x_70 = l_Lean_Parser_ParserState_mkNode(x_68, x_69, x_58);
-x_36 = x_70;
-goto block_54;
-}
+x_34 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__2;
+x_35 = l_Lean_Parser_ParserState_mkNode(x_18, x_34, x_10);
+return x_35;
}
}
else
{
-lean_object* x_71; lean_object* x_72;
-lean_dec(x_56);
+lean_object* x_36; lean_object* x_37;
+lean_dec(x_16);
lean_dec(x_1);
-x_71 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__2;
-x_72 = l_Lean_Parser_ParserState_mkNode(x_55, x_71, x_10);
-return x_72;
-}
-}
-block_92:
-{
-lean_object* x_75;
-x_75 = lean_ctor_get(x_74, 3);
-lean_inc(x_75);
-if (lean_obj_tag(x_75) == 0)
-{
-lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80;
-x_76 = lean_ctor_get(x_74, 0);
-lean_inc(x_76);
-x_77 = lean_array_get_size(x_76);
-lean_dec(x_76);
-x_78 = lean_ctor_get(x_74, 1);
-lean_inc(x_78);
-lean_inc(x_1);
-x_79 = l_Lean_Parser_Command_visibility___elambda__1(x_1, x_74);
-x_80 = lean_ctor_get(x_79, 3);
-lean_inc(x_80);
-if (lean_obj_tag(x_80) == 0)
-{
-lean_object* x_81; lean_object* x_82;
-lean_dec(x_78);
-x_81 = l_Lean_nullKind;
-x_82 = l_Lean_Parser_ParserState_mkNode(x_79, x_81, x_77);
-x_55 = x_82;
-goto block_73;
-}
-else
-{
-lean_object* x_83; uint8_t x_84;
-lean_dec(x_80);
-x_83 = lean_ctor_get(x_79, 1);
-lean_inc(x_83);
-x_84 = lean_nat_dec_eq(x_83, x_78);
-lean_dec(x_83);
-if (x_84 == 0)
-{
-lean_object* x_85; lean_object* x_86;
-lean_dec(x_78);
-x_85 = l_Lean_nullKind;
-x_86 = l_Lean_Parser_ParserState_mkNode(x_79, x_85, x_77);
-x_55 = x_86;
-goto block_73;
-}
-else
-{
-lean_object* x_87; lean_object* x_88; lean_object* x_89;
-x_87 = l_Lean_Parser_ParserState_restore(x_79, x_77, x_78);
-x_88 = l_Lean_nullKind;
-x_89 = l_Lean_Parser_ParserState_mkNode(x_87, x_88, x_77);
-x_55 = x_89;
-goto block_73;
-}
+x_36 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__2;
+x_37 = l_Lean_Parser_ParserState_mkNode(x_15, x_36, x_10);
+return x_37;
}
}
else
{
-lean_object* x_90; lean_object* x_91;
-lean_dec(x_75);
+lean_object* x_38; lean_object* x_39;
+lean_dec(x_13);
lean_dec(x_1);
-x_90 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__2;
-x_91 = l_Lean_Parser_ParserState_mkNode(x_74, x_90, x_10);
-return x_91;
-}
-}
-block_111:
-{
-lean_object* x_94;
-x_94 = lean_ctor_get(x_93, 3);
-lean_inc(x_94);
-if (lean_obj_tag(x_94) == 0)
-{
-lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99;
-x_95 = lean_ctor_get(x_93, 0);
-lean_inc(x_95);
-x_96 = lean_array_get_size(x_95);
-lean_dec(x_95);
-x_97 = lean_ctor_get(x_93, 1);
-lean_inc(x_97);
-lean_inc(x_1);
-x_98 = l_Lean_Parser_Term_attributes___elambda__1(x_1, x_93);
-x_99 = lean_ctor_get(x_98, 3);
-lean_inc(x_99);
-if (lean_obj_tag(x_99) == 0)
-{
-lean_object* x_100; lean_object* x_101;
-lean_dec(x_97);
-x_100 = l_Lean_nullKind;
-x_101 = l_Lean_Parser_ParserState_mkNode(x_98, x_100, x_96);
-x_74 = x_101;
-goto block_92;
-}
-else
-{
-lean_object* x_102; uint8_t x_103;
-lean_dec(x_99);
-x_102 = lean_ctor_get(x_98, 1);
-lean_inc(x_102);
-x_103 = lean_nat_dec_eq(x_102, x_97);
-lean_dec(x_102);
-if (x_103 == 0)
-{
-lean_object* x_104; lean_object* x_105;
-lean_dec(x_97);
-x_104 = l_Lean_nullKind;
-x_105 = l_Lean_Parser_ParserState_mkNode(x_98, x_104, x_96);
-x_74 = x_105;
-goto block_92;
-}
-else
-{
-lean_object* x_106; lean_object* x_107; lean_object* x_108;
-x_106 = l_Lean_Parser_ParserState_restore(x_98, x_96, x_97);
-x_107 = l_Lean_nullKind;
-x_108 = l_Lean_Parser_ParserState_mkNode(x_106, x_107, x_96);
-x_74 = x_108;
-goto block_92;
-}
-}
-}
-else
-{
-lean_object* x_109; lean_object* x_110;
-lean_dec(x_94);
-lean_dec(x_1);
-x_109 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__2;
-x_110 = l_Lean_Parser_ParserState_mkNode(x_93, x_109, x_10);
-return x_110;
-}
+x_38 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__2;
+x_39 = l_Lean_Parser_ParserState_mkNode(x_12, x_38, x_10);
+return x_39;
}
}
else
@@ -6379,468 +5231,11 @@ return x_7;
}
else
{
-lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128;
-x_124 = lean_ctor_get(x_2, 0);
-lean_inc(x_124);
-x_125 = lean_array_get_size(x_124);
-lean_dec(x_124);
-x_126 = lean_ctor_get(x_2, 1);
-lean_inc(x_126);
-lean_inc(x_1);
-x_127 = lean_apply_2(x_4, x_1, x_2);
-x_128 = lean_ctor_get(x_127, 3);
-lean_inc(x_128);
-if (lean_obj_tag(x_128) == 0)
-{
-lean_dec(x_126);
-lean_dec(x_125);
-lean_dec(x_1);
-return x_127;
-}
-else
-{
-lean_object* x_129; lean_object* x_130; uint8_t x_131;
-x_129 = lean_ctor_get(x_128, 0);
-lean_inc(x_129);
-lean_dec(x_128);
-x_130 = lean_ctor_get(x_127, 1);
-lean_inc(x_130);
-x_131 = lean_nat_dec_eq(x_130, x_126);
-lean_dec(x_130);
-if (x_131 == 0)
-{
-lean_dec(x_129);
-lean_dec(x_126);
-lean_dec(x_125);
-lean_dec(x_1);
-return x_127;
-}
-else
-{
-lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135;
-lean_inc(x_126);
-x_132 = l_Lean_Parser_ParserState_restore(x_127, x_125, x_126);
-lean_dec(x_125);
-x_133 = lean_unsigned_to_nat(1024u);
-x_134 = l_Lean_Parser_checkPrecFn(x_133, x_1, x_132);
-x_135 = lean_ctor_get(x_134, 3);
-lean_inc(x_135);
-if (lean_obj_tag(x_135) == 0)
-{
-lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_171; lean_object* x_192; lean_object* x_213; lean_object* x_234; lean_object* x_255; lean_object* x_256; lean_object* x_257;
-x_136 = lean_ctor_get(x_134, 0);
-lean_inc(x_136);
-x_137 = lean_array_get_size(x_136);
-lean_dec(x_136);
-x_255 = lean_ctor_get(x_134, 1);
-lean_inc(x_255);
-lean_inc(x_1);
-x_256 = l_Lean_Parser_Command_docComment___elambda__1(x_1, x_134);
-x_257 = lean_ctor_get(x_256, 3);
-lean_inc(x_257);
-if (lean_obj_tag(x_257) == 0)
-{
-lean_object* x_258; lean_object* x_259;
-lean_dec(x_255);
-x_258 = l_Lean_nullKind;
-lean_inc(x_137);
-x_259 = l_Lean_Parser_ParserState_mkNode(x_256, x_258, x_137);
-x_234 = x_259;
-goto block_254;
-}
-else
-{
-lean_object* x_260; uint8_t x_261;
-lean_dec(x_257);
-x_260 = lean_ctor_get(x_256, 1);
-lean_inc(x_260);
-x_261 = lean_nat_dec_eq(x_260, x_255);
-lean_dec(x_260);
-if (x_261 == 0)
-{
-lean_object* x_262; lean_object* x_263;
-lean_dec(x_255);
-x_262 = l_Lean_nullKind;
-lean_inc(x_137);
-x_263 = l_Lean_Parser_ParserState_mkNode(x_256, x_262, x_137);
-x_234 = x_263;
-goto block_254;
-}
-else
-{
-lean_object* x_264; lean_object* x_265; lean_object* x_266;
-x_264 = l_Lean_Parser_ParserState_restore(x_256, x_137, x_255);
-x_265 = l_Lean_nullKind;
-lean_inc(x_137);
-x_266 = l_Lean_Parser_ParserState_mkNode(x_264, x_265, x_137);
-x_234 = x_266;
-goto block_254;
-}
-}
-block_170:
-{
-lean_object* x_139;
-x_139 = lean_ctor_get(x_138, 3);
-lean_inc(x_139);
-if (lean_obj_tag(x_139) == 0)
-{
-lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144;
-x_140 = lean_ctor_get(x_138, 0);
-lean_inc(x_140);
-x_141 = lean_array_get_size(x_140);
-lean_dec(x_140);
-x_142 = lean_ctor_get(x_138, 1);
-lean_inc(x_142);
-x_143 = l_Lean_Parser_Command_partial___elambda__1(x_1, x_138);
-x_144 = lean_ctor_get(x_143, 3);
-lean_inc(x_144);
-if (lean_obj_tag(x_144) == 0)
-{
-lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; uint8_t x_149; lean_object* x_150;
-lean_dec(x_142);
-x_145 = l_Lean_nullKind;
-x_146 = l_Lean_Parser_ParserState_mkNode(x_143, x_145, x_141);
-x_147 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__2;
-x_148 = l_Lean_Parser_ParserState_mkNode(x_146, x_147, x_137);
-x_149 = 1;
-x_150 = l_Lean_Parser_mergeOrElseErrors(x_148, x_129, x_126, x_149);
-lean_dec(x_126);
-return x_150;
-}
-else
-{
-lean_object* x_151; uint8_t x_152;
-lean_dec(x_144);
-x_151 = lean_ctor_get(x_143, 1);
-lean_inc(x_151);
-x_152 = lean_nat_dec_eq(x_151, x_142);
-lean_dec(x_151);
-if (x_152 == 0)
-{
-lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; uint8_t x_157; lean_object* x_158;
-lean_dec(x_142);
-x_153 = l_Lean_nullKind;
-x_154 = l_Lean_Parser_ParserState_mkNode(x_143, x_153, x_141);
-x_155 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__2;
-x_156 = l_Lean_Parser_ParserState_mkNode(x_154, x_155, x_137);
-x_157 = 1;
-x_158 = l_Lean_Parser_mergeOrElseErrors(x_156, x_129, x_126, x_157);
-lean_dec(x_126);
-return x_158;
-}
-else
-{
-lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; uint8_t x_164; lean_object* x_165;
-x_159 = l_Lean_Parser_ParserState_restore(x_143, x_141, x_142);
-x_160 = l_Lean_nullKind;
-x_161 = l_Lean_Parser_ParserState_mkNode(x_159, x_160, x_141);
-x_162 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__2;
-x_163 = l_Lean_Parser_ParserState_mkNode(x_161, x_162, x_137);
-x_164 = 1;
-x_165 = l_Lean_Parser_mergeOrElseErrors(x_163, x_129, x_126, x_164);
-lean_dec(x_126);
-return x_165;
-}
-}
-}
-else
-{
-lean_object* x_166; lean_object* x_167; uint8_t x_168; lean_object* x_169;
-lean_dec(x_139);
-lean_dec(x_1);
-x_166 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__2;
-x_167 = l_Lean_Parser_ParserState_mkNode(x_138, x_166, x_137);
-x_168 = 1;
-x_169 = l_Lean_Parser_mergeOrElseErrors(x_167, x_129, x_126, x_168);
-lean_dec(x_126);
-return x_169;
-}
-}
-block_191:
-{
-lean_object* x_172;
-x_172 = lean_ctor_get(x_171, 3);
-lean_inc(x_172);
-if (lean_obj_tag(x_172) == 0)
-{
-lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177;
-x_173 = lean_ctor_get(x_171, 0);
-lean_inc(x_173);
-x_174 = lean_array_get_size(x_173);
-lean_dec(x_173);
-x_175 = lean_ctor_get(x_171, 1);
-lean_inc(x_175);
-lean_inc(x_1);
-x_176 = l_Lean_Parser_Command_unsafe___elambda__1(x_1, x_171);
-x_177 = lean_ctor_get(x_176, 3);
-lean_inc(x_177);
-if (lean_obj_tag(x_177) == 0)
-{
-lean_object* x_178; lean_object* x_179;
-lean_dec(x_175);
-x_178 = l_Lean_nullKind;
-x_179 = l_Lean_Parser_ParserState_mkNode(x_176, x_178, x_174);
-x_138 = x_179;
-goto block_170;
-}
-else
-{
-lean_object* x_180; uint8_t x_181;
-lean_dec(x_177);
-x_180 = lean_ctor_get(x_176, 1);
-lean_inc(x_180);
-x_181 = lean_nat_dec_eq(x_180, x_175);
-lean_dec(x_180);
-if (x_181 == 0)
-{
-lean_object* x_182; lean_object* x_183;
-lean_dec(x_175);
-x_182 = l_Lean_nullKind;
-x_183 = l_Lean_Parser_ParserState_mkNode(x_176, x_182, x_174);
-x_138 = x_183;
-goto block_170;
-}
-else
-{
-lean_object* x_184; lean_object* x_185; lean_object* x_186;
-x_184 = l_Lean_Parser_ParserState_restore(x_176, x_174, x_175);
-x_185 = l_Lean_nullKind;
-x_186 = l_Lean_Parser_ParserState_mkNode(x_184, x_185, x_174);
-x_138 = x_186;
-goto block_170;
-}
-}
-}
-else
-{
-lean_object* x_187; lean_object* x_188; uint8_t x_189; lean_object* x_190;
-lean_dec(x_172);
-lean_dec(x_1);
-x_187 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__2;
-x_188 = l_Lean_Parser_ParserState_mkNode(x_171, x_187, x_137);
-x_189 = 1;
-x_190 = l_Lean_Parser_mergeOrElseErrors(x_188, x_129, x_126, x_189);
-lean_dec(x_126);
-return x_190;
-}
-}
-block_212:
-{
-lean_object* x_193;
-x_193 = lean_ctor_get(x_192, 3);
-lean_inc(x_193);
-if (lean_obj_tag(x_193) == 0)
-{
-lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198;
-x_194 = lean_ctor_get(x_192, 0);
-lean_inc(x_194);
-x_195 = lean_array_get_size(x_194);
-lean_dec(x_194);
-x_196 = lean_ctor_get(x_192, 1);
-lean_inc(x_196);
-lean_inc(x_1);
-x_197 = l_Lean_Parser_Command_noncomputable___elambda__1(x_1, x_192);
-x_198 = lean_ctor_get(x_197, 3);
-lean_inc(x_198);
-if (lean_obj_tag(x_198) == 0)
-{
-lean_object* x_199; lean_object* x_200;
-lean_dec(x_196);
-x_199 = l_Lean_nullKind;
-x_200 = l_Lean_Parser_ParserState_mkNode(x_197, x_199, x_195);
-x_171 = x_200;
-goto block_191;
-}
-else
-{
-lean_object* x_201; uint8_t x_202;
-lean_dec(x_198);
-x_201 = lean_ctor_get(x_197, 1);
-lean_inc(x_201);
-x_202 = lean_nat_dec_eq(x_201, x_196);
-lean_dec(x_201);
-if (x_202 == 0)
-{
-lean_object* x_203; lean_object* x_204;
-lean_dec(x_196);
-x_203 = l_Lean_nullKind;
-x_204 = l_Lean_Parser_ParserState_mkNode(x_197, x_203, x_195);
-x_171 = x_204;
-goto block_191;
-}
-else
-{
-lean_object* x_205; lean_object* x_206; lean_object* x_207;
-x_205 = l_Lean_Parser_ParserState_restore(x_197, x_195, x_196);
-x_206 = l_Lean_nullKind;
-x_207 = l_Lean_Parser_ParserState_mkNode(x_205, x_206, x_195);
-x_171 = x_207;
-goto block_191;
-}
-}
-}
-else
-{
-lean_object* x_208; lean_object* x_209; uint8_t x_210; lean_object* x_211;
-lean_dec(x_193);
-lean_dec(x_1);
-x_208 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__2;
-x_209 = l_Lean_Parser_ParserState_mkNode(x_192, x_208, x_137);
-x_210 = 1;
-x_211 = l_Lean_Parser_mergeOrElseErrors(x_209, x_129, x_126, x_210);
-lean_dec(x_126);
-return x_211;
-}
-}
-block_233:
-{
-lean_object* x_214;
-x_214 = lean_ctor_get(x_213, 3);
-lean_inc(x_214);
-if (lean_obj_tag(x_214) == 0)
-{
-lean_object* x_215; lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219;
-x_215 = lean_ctor_get(x_213, 0);
-lean_inc(x_215);
-x_216 = lean_array_get_size(x_215);
-lean_dec(x_215);
-x_217 = lean_ctor_get(x_213, 1);
-lean_inc(x_217);
-lean_inc(x_1);
-x_218 = l_Lean_Parser_Command_visibility___elambda__1(x_1, x_213);
-x_219 = lean_ctor_get(x_218, 3);
-lean_inc(x_219);
-if (lean_obj_tag(x_219) == 0)
-{
-lean_object* x_220; lean_object* x_221;
-lean_dec(x_217);
-x_220 = l_Lean_nullKind;
-x_221 = l_Lean_Parser_ParserState_mkNode(x_218, x_220, x_216);
-x_192 = x_221;
-goto block_212;
-}
-else
-{
-lean_object* x_222; uint8_t x_223;
-lean_dec(x_219);
-x_222 = lean_ctor_get(x_218, 1);
-lean_inc(x_222);
-x_223 = lean_nat_dec_eq(x_222, x_217);
-lean_dec(x_222);
-if (x_223 == 0)
-{
-lean_object* x_224; lean_object* x_225;
-lean_dec(x_217);
-x_224 = l_Lean_nullKind;
-x_225 = l_Lean_Parser_ParserState_mkNode(x_218, x_224, x_216);
-x_192 = x_225;
-goto block_212;
-}
-else
-{
-lean_object* x_226; lean_object* x_227; lean_object* x_228;
-x_226 = l_Lean_Parser_ParserState_restore(x_218, x_216, x_217);
-x_227 = l_Lean_nullKind;
-x_228 = l_Lean_Parser_ParserState_mkNode(x_226, x_227, x_216);
-x_192 = x_228;
-goto block_212;
-}
-}
-}
-else
-{
-lean_object* x_229; lean_object* x_230; uint8_t x_231; lean_object* x_232;
-lean_dec(x_214);
-lean_dec(x_1);
-x_229 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__2;
-x_230 = l_Lean_Parser_ParserState_mkNode(x_213, x_229, x_137);
-x_231 = 1;
-x_232 = l_Lean_Parser_mergeOrElseErrors(x_230, x_129, x_126, x_231);
-lean_dec(x_126);
-return x_232;
-}
-}
-block_254:
-{
-lean_object* x_235;
-x_235 = lean_ctor_get(x_234, 3);
-lean_inc(x_235);
-if (lean_obj_tag(x_235) == 0)
-{
-lean_object* x_236; lean_object* x_237; lean_object* x_238; lean_object* x_239; lean_object* x_240;
-x_236 = lean_ctor_get(x_234, 0);
-lean_inc(x_236);
-x_237 = lean_array_get_size(x_236);
-lean_dec(x_236);
-x_238 = lean_ctor_get(x_234, 1);
-lean_inc(x_238);
-lean_inc(x_1);
-x_239 = l_Lean_Parser_Term_attributes___elambda__1(x_1, x_234);
-x_240 = lean_ctor_get(x_239, 3);
-lean_inc(x_240);
-if (lean_obj_tag(x_240) == 0)
-{
-lean_object* x_241; lean_object* x_242;
-lean_dec(x_238);
-x_241 = l_Lean_nullKind;
-x_242 = l_Lean_Parser_ParserState_mkNode(x_239, x_241, x_237);
-x_213 = x_242;
-goto block_233;
-}
-else
-{
-lean_object* x_243; uint8_t x_244;
-lean_dec(x_240);
-x_243 = lean_ctor_get(x_239, 1);
-lean_inc(x_243);
-x_244 = lean_nat_dec_eq(x_243, x_238);
-lean_dec(x_243);
-if (x_244 == 0)
-{
-lean_object* x_245; lean_object* x_246;
-lean_dec(x_238);
-x_245 = l_Lean_nullKind;
-x_246 = l_Lean_Parser_ParserState_mkNode(x_239, x_245, x_237);
-x_213 = x_246;
-goto block_233;
-}
-else
-{
-lean_object* x_247; lean_object* x_248; lean_object* x_249;
-x_247 = l_Lean_Parser_ParserState_restore(x_239, x_237, x_238);
-x_248 = l_Lean_nullKind;
-x_249 = l_Lean_Parser_ParserState_mkNode(x_247, x_248, x_237);
-x_213 = x_249;
-goto block_233;
-}
-}
-}
-else
-{
-lean_object* x_250; lean_object* x_251; uint8_t x_252; lean_object* x_253;
-lean_dec(x_235);
-lean_dec(x_1);
-x_250 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__2;
-x_251 = l_Lean_Parser_ParserState_mkNode(x_234, x_250, x_137);
-x_252 = 1;
-x_253 = l_Lean_Parser_mergeOrElseErrors(x_251, x_129, x_126, x_252);
-lean_dec(x_126);
-return x_253;
-}
-}
-}
-else
-{
-uint8_t x_267; lean_object* x_268;
-lean_dec(x_135);
-lean_dec(x_1);
-x_267 = 1;
-x_268 = l_Lean_Parser_mergeOrElseErrors(x_134, x_129, x_126, x_267);
-lean_dec(x_126);
-return x_268;
-}
-}
-}
+lean_object* x_40; uint8_t x_41; lean_object* x_42;
+x_40 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__18;
+x_41 = 1;
+x_42 = l_Lean_Parser_orelseFnCore(x_4, x_40, x_41, x_1, x_2);
+return x_42;
}
}
}
@@ -6864,382 +5259,105 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_36; lean_object* x_55; lean_object* x_74; lean_object* x_93; lean_object* x_112; lean_object* x_113; lean_object* x_114;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_112 = lean_ctor_get(x_7, 1);
-lean_inc(x_112);
+x_11 = l_Lean_Parser_Command_docComment___closed__7;
lean_inc(x_1);
-x_113 = l_Lean_Parser_Command_docComment___elambda__1(x_1, x_7);
-x_114 = lean_ctor_get(x_113, 3);
-lean_inc(x_114);
-if (lean_obj_tag(x_114) == 0)
-{
-lean_object* x_115; lean_object* x_116;
-lean_dec(x_112);
-x_115 = l_Lean_nullKind;
-lean_inc(x_10);
-x_116 = l_Lean_Parser_ParserState_mkNode(x_113, x_115, x_10);
-x_93 = x_116;
-goto block_111;
-}
-else
-{
-lean_object* x_117; uint8_t x_118;
-lean_dec(x_114);
-x_117 = lean_ctor_get(x_113, 1);
-lean_inc(x_117);
-x_118 = lean_nat_dec_eq(x_117, x_112);
-lean_dec(x_117);
-if (x_118 == 0)
-{
-lean_object* x_119; lean_object* x_120;
-lean_dec(x_112);
-x_119 = l_Lean_nullKind;
-lean_inc(x_10);
-x_120 = l_Lean_Parser_ParserState_mkNode(x_113, x_119, x_10);
-x_93 = x_120;
-goto block_111;
-}
-else
-{
-lean_object* x_121; lean_object* x_122; lean_object* x_123;
-x_121 = l_Lean_Parser_ParserState_restore(x_113, x_10, x_112);
-x_122 = l_Lean_nullKind;
-lean_inc(x_10);
-x_123 = l_Lean_Parser_ParserState_mkNode(x_121, x_122, x_10);
-x_93 = x_123;
-goto block_111;
-}
-}
-block_35:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_13 = lean_ctor_get(x_11, 0);
+x_12 = l_Lean_Parser_optionalFn(x_11, x_1, x_7);
+x_13 = lean_ctor_get(x_12, 3);
lean_inc(x_13);
-x_14 = lean_array_get_size(x_13);
-lean_dec(x_13);
-x_15 = lean_ctor_get(x_11, 1);
-lean_inc(x_15);
-x_16 = l_Lean_Parser_Command_partial___elambda__1(x_1, x_11);
-x_17 = lean_ctor_get(x_16, 3);
-lean_inc(x_17);
-if (lean_obj_tag(x_17) == 0)
+if (lean_obj_tag(x_13) == 0)
{
-lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
-lean_dec(x_15);
-x_18 = l_Lean_nullKind;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_16, x_18, x_14);
-x_20 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__2;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_10);
-return x_21;
-}
-else
+lean_object* x_14; lean_object* x_15; lean_object* x_16;
+x_14 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__13;
+lean_inc(x_1);
+x_15 = l_Lean_Parser_optionalFn(x_14, x_1, x_12);
+x_16 = lean_ctor_get(x_15, 3);
+lean_inc(x_16);
+if (lean_obj_tag(x_16) == 0)
{
-lean_object* x_22; uint8_t x_23;
-lean_dec(x_17);
-x_22 = lean_ctor_get(x_16, 1);
+lean_object* x_17; lean_object* x_18; lean_object* x_19;
+x_17 = l_Lean_Parser_Command_visibility___closed__2;
+lean_inc(x_1);
+x_18 = l_Lean_Parser_optionalFn(x_17, x_1, x_15);
+x_19 = lean_ctor_get(x_18, 3);
+lean_inc(x_19);
+if (lean_obj_tag(x_19) == 0)
+{
+lean_object* x_20; lean_object* x_21; lean_object* x_22;
+x_20 = l_Lean_Parser_Command_noncomputable___closed__5;
+lean_inc(x_1);
+x_21 = l_Lean_Parser_optionalFn(x_20, x_1, x_18);
+x_22 = lean_ctor_get(x_21, 3);
lean_inc(x_22);
-x_23 = lean_nat_dec_eq(x_22, x_15);
+if (lean_obj_tag(x_22) == 0)
+{
+lean_object* x_23; lean_object* x_24; lean_object* x_25;
+x_23 = l_Lean_Parser_Command_unsafe___closed__5;
+lean_inc(x_1);
+x_24 = l_Lean_Parser_optionalFn(x_23, x_1, x_21);
+x_25 = lean_ctor_get(x_24, 3);
+lean_inc(x_25);
+if (lean_obj_tag(x_25) == 0)
+{
+lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29;
+x_26 = l_Lean_Parser_Command_partial___closed__5;
+x_27 = l_Lean_Parser_optionalFn(x_26, x_1, x_24);
+x_28 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__2;
+x_29 = l_Lean_Parser_ParserState_mkNode(x_27, x_28, x_10);
+return x_29;
+}
+else
+{
+lean_object* x_30; lean_object* x_31;
+lean_dec(x_25);
+lean_dec(x_1);
+x_30 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__2;
+x_31 = l_Lean_Parser_ParserState_mkNode(x_24, x_30, x_10);
+return x_31;
+}
+}
+else
+{
+lean_object* x_32; lean_object* x_33;
lean_dec(x_22);
-if (x_23 == 0)
-{
-lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
-lean_dec(x_15);
-x_24 = l_Lean_nullKind;
-x_25 = l_Lean_Parser_ParserState_mkNode(x_16, x_24, x_14);
-x_26 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__2;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_25, x_26, x_10);
-return x_27;
-}
-else
-{
-lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
-x_28 = l_Lean_Parser_ParserState_restore(x_16, x_14, x_15);
-x_29 = l_Lean_nullKind;
-x_30 = l_Lean_Parser_ParserState_mkNode(x_28, x_29, x_14);
-x_31 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__2;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_10);
-return x_32;
-}
-}
-}
-else
-{
-lean_object* x_33; lean_object* x_34;
-lean_dec(x_12);
lean_dec(x_1);
-x_33 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__2;
-x_34 = l_Lean_Parser_ParserState_mkNode(x_11, x_33, x_10);
-return x_34;
-}
-}
-block_54:
-{
-lean_object* x_37;
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42;
-x_38 = lean_ctor_get(x_36, 0);
-lean_inc(x_38);
-x_39 = lean_array_get_size(x_38);
-lean_dec(x_38);
-x_40 = lean_ctor_get(x_36, 1);
-lean_inc(x_40);
-lean_inc(x_1);
-x_41 = l_Lean_Parser_Command_unsafe___elambda__1(x_1, x_36);
-x_42 = lean_ctor_get(x_41, 3);
-lean_inc(x_42);
-if (lean_obj_tag(x_42) == 0)
-{
-lean_object* x_43; lean_object* x_44;
-lean_dec(x_40);
-x_43 = l_Lean_nullKind;
-x_44 = l_Lean_Parser_ParserState_mkNode(x_41, x_43, x_39);
-x_11 = x_44;
-goto block_35;
-}
-else
-{
-lean_object* x_45; uint8_t x_46;
-lean_dec(x_42);
-x_45 = lean_ctor_get(x_41, 1);
-lean_inc(x_45);
-x_46 = lean_nat_dec_eq(x_45, x_40);
-lean_dec(x_45);
-if (x_46 == 0)
-{
-lean_object* x_47; lean_object* x_48;
-lean_dec(x_40);
-x_47 = l_Lean_nullKind;
-x_48 = l_Lean_Parser_ParserState_mkNode(x_41, x_47, x_39);
-x_11 = x_48;
-goto block_35;
-}
-else
-{
-lean_object* x_49; lean_object* x_50; lean_object* x_51;
-x_49 = l_Lean_Parser_ParserState_restore(x_41, x_39, x_40);
-x_50 = l_Lean_nullKind;
-x_51 = l_Lean_Parser_ParserState_mkNode(x_49, x_50, x_39);
-x_11 = x_51;
-goto block_35;
-}
+x_32 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__2;
+x_33 = l_Lean_Parser_ParserState_mkNode(x_21, x_32, x_10);
+return x_33;
}
}
else
{
-lean_object* x_52; lean_object* x_53;
-lean_dec(x_37);
+lean_object* x_34; lean_object* x_35;
+lean_dec(x_19);
lean_dec(x_1);
-x_52 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__2;
-x_53 = l_Lean_Parser_ParserState_mkNode(x_36, x_52, x_10);
-return x_53;
-}
-}
-block_73:
-{
-lean_object* x_56;
-x_56 = lean_ctor_get(x_55, 3);
-lean_inc(x_56);
-if (lean_obj_tag(x_56) == 0)
-{
-lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61;
-x_57 = lean_ctor_get(x_55, 0);
-lean_inc(x_57);
-x_58 = lean_array_get_size(x_57);
-lean_dec(x_57);
-x_59 = lean_ctor_get(x_55, 1);
-lean_inc(x_59);
-lean_inc(x_1);
-x_60 = l_Lean_Parser_Command_noncomputable___elambda__1(x_1, x_55);
-x_61 = lean_ctor_get(x_60, 3);
-lean_inc(x_61);
-if (lean_obj_tag(x_61) == 0)
-{
-lean_object* x_62; lean_object* x_63;
-lean_dec(x_59);
-x_62 = l_Lean_nullKind;
-x_63 = l_Lean_Parser_ParserState_mkNode(x_60, x_62, x_58);
-x_36 = x_63;
-goto block_54;
-}
-else
-{
-lean_object* x_64; uint8_t x_65;
-lean_dec(x_61);
-x_64 = lean_ctor_get(x_60, 1);
-lean_inc(x_64);
-x_65 = lean_nat_dec_eq(x_64, x_59);
-lean_dec(x_64);
-if (x_65 == 0)
-{
-lean_object* x_66; lean_object* x_67;
-lean_dec(x_59);
-x_66 = l_Lean_nullKind;
-x_67 = l_Lean_Parser_ParserState_mkNode(x_60, x_66, x_58);
-x_36 = x_67;
-goto block_54;
-}
-else
-{
-lean_object* x_68; lean_object* x_69; lean_object* x_70;
-x_68 = l_Lean_Parser_ParserState_restore(x_60, x_58, x_59);
-x_69 = l_Lean_nullKind;
-x_70 = l_Lean_Parser_ParserState_mkNode(x_68, x_69, x_58);
-x_36 = x_70;
-goto block_54;
-}
+x_34 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__2;
+x_35 = l_Lean_Parser_ParserState_mkNode(x_18, x_34, x_10);
+return x_35;
}
}
else
{
-lean_object* x_71; lean_object* x_72;
-lean_dec(x_56);
+lean_object* x_36; lean_object* x_37;
+lean_dec(x_16);
lean_dec(x_1);
-x_71 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__2;
-x_72 = l_Lean_Parser_ParserState_mkNode(x_55, x_71, x_10);
-return x_72;
-}
-}
-block_92:
-{
-lean_object* x_75;
-x_75 = lean_ctor_get(x_74, 3);
-lean_inc(x_75);
-if (lean_obj_tag(x_75) == 0)
-{
-lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80;
-x_76 = lean_ctor_get(x_74, 0);
-lean_inc(x_76);
-x_77 = lean_array_get_size(x_76);
-lean_dec(x_76);
-x_78 = lean_ctor_get(x_74, 1);
-lean_inc(x_78);
-lean_inc(x_1);
-x_79 = l_Lean_Parser_Command_visibility___elambda__1(x_1, x_74);
-x_80 = lean_ctor_get(x_79, 3);
-lean_inc(x_80);
-if (lean_obj_tag(x_80) == 0)
-{
-lean_object* x_81; lean_object* x_82;
-lean_dec(x_78);
-x_81 = l_Lean_nullKind;
-x_82 = l_Lean_Parser_ParserState_mkNode(x_79, x_81, x_77);
-x_55 = x_82;
-goto block_73;
-}
-else
-{
-lean_object* x_83; uint8_t x_84;
-lean_dec(x_80);
-x_83 = lean_ctor_get(x_79, 1);
-lean_inc(x_83);
-x_84 = lean_nat_dec_eq(x_83, x_78);
-lean_dec(x_83);
-if (x_84 == 0)
-{
-lean_object* x_85; lean_object* x_86;
-lean_dec(x_78);
-x_85 = l_Lean_nullKind;
-x_86 = l_Lean_Parser_ParserState_mkNode(x_79, x_85, x_77);
-x_55 = x_86;
-goto block_73;
-}
-else
-{
-lean_object* x_87; lean_object* x_88; lean_object* x_89;
-x_87 = l_Lean_Parser_ParserState_restore(x_79, x_77, x_78);
-x_88 = l_Lean_nullKind;
-x_89 = l_Lean_Parser_ParserState_mkNode(x_87, x_88, x_77);
-x_55 = x_89;
-goto block_73;
-}
+x_36 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__2;
+x_37 = l_Lean_Parser_ParserState_mkNode(x_15, x_36, x_10);
+return x_37;
}
}
else
{
-lean_object* x_90; lean_object* x_91;
-lean_dec(x_75);
+lean_object* x_38; lean_object* x_39;
+lean_dec(x_13);
lean_dec(x_1);
-x_90 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__2;
-x_91 = l_Lean_Parser_ParserState_mkNode(x_74, x_90, x_10);
-return x_91;
-}
-}
-block_111:
-{
-lean_object* x_94;
-x_94 = lean_ctor_get(x_93, 3);
-lean_inc(x_94);
-if (lean_obj_tag(x_94) == 0)
-{
-lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99;
-x_95 = lean_ctor_get(x_93, 0);
-lean_inc(x_95);
-x_96 = lean_array_get_size(x_95);
-lean_dec(x_95);
-x_97 = lean_ctor_get(x_93, 1);
-lean_inc(x_97);
-lean_inc(x_1);
-x_98 = l_Lean_Parser_Term_attributes___elambda__1(x_1, x_93);
-x_99 = lean_ctor_get(x_98, 3);
-lean_inc(x_99);
-if (lean_obj_tag(x_99) == 0)
-{
-lean_object* x_100; lean_object* x_101;
-lean_dec(x_97);
-x_100 = l_Lean_nullKind;
-x_101 = l_Lean_Parser_ParserState_mkNode(x_98, x_100, x_96);
-x_74 = x_101;
-goto block_92;
-}
-else
-{
-lean_object* x_102; uint8_t x_103;
-lean_dec(x_99);
-x_102 = lean_ctor_get(x_98, 1);
-lean_inc(x_102);
-x_103 = lean_nat_dec_eq(x_102, x_97);
-lean_dec(x_102);
-if (x_103 == 0)
-{
-lean_object* x_104; lean_object* x_105;
-lean_dec(x_97);
-x_104 = l_Lean_nullKind;
-x_105 = l_Lean_Parser_ParserState_mkNode(x_98, x_104, x_96);
-x_74 = x_105;
-goto block_92;
-}
-else
-{
-lean_object* x_106; lean_object* x_107; lean_object* x_108;
-x_106 = l_Lean_Parser_ParserState_restore(x_98, x_96, x_97);
-x_107 = l_Lean_nullKind;
-x_108 = l_Lean_Parser_ParserState_mkNode(x_106, x_107, x_96);
-x_74 = x_108;
-goto block_92;
-}
-}
-}
-else
-{
-lean_object* x_109; lean_object* x_110;
-lean_dec(x_94);
-lean_dec(x_1);
-x_109 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__2;
-x_110 = l_Lean_Parser_ParserState_mkNode(x_93, x_109, x_10);
-return x_110;
-}
+x_38 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__2;
+x_39 = l_Lean_Parser_ParserState_mkNode(x_12, x_38, x_10);
+return x_39;
}
}
else
@@ -7251,468 +5369,11 @@ return x_7;
}
else
{
-lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128;
-x_124 = lean_ctor_get(x_2, 0);
-lean_inc(x_124);
-x_125 = lean_array_get_size(x_124);
-lean_dec(x_124);
-x_126 = lean_ctor_get(x_2, 1);
-lean_inc(x_126);
-lean_inc(x_1);
-x_127 = lean_apply_2(x_4, x_1, x_2);
-x_128 = lean_ctor_get(x_127, 3);
-lean_inc(x_128);
-if (lean_obj_tag(x_128) == 0)
-{
-lean_dec(x_126);
-lean_dec(x_125);
-lean_dec(x_1);
-return x_127;
-}
-else
-{
-lean_object* x_129; lean_object* x_130; uint8_t x_131;
-x_129 = lean_ctor_get(x_128, 0);
-lean_inc(x_129);
-lean_dec(x_128);
-x_130 = lean_ctor_get(x_127, 1);
-lean_inc(x_130);
-x_131 = lean_nat_dec_eq(x_130, x_126);
-lean_dec(x_130);
-if (x_131 == 0)
-{
-lean_dec(x_129);
-lean_dec(x_126);
-lean_dec(x_125);
-lean_dec(x_1);
-return x_127;
-}
-else
-{
-lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135;
-lean_inc(x_126);
-x_132 = l_Lean_Parser_ParserState_restore(x_127, x_125, x_126);
-lean_dec(x_125);
-x_133 = lean_unsigned_to_nat(1024u);
-x_134 = l_Lean_Parser_checkPrecFn(x_133, x_1, x_132);
-x_135 = lean_ctor_get(x_134, 3);
-lean_inc(x_135);
-if (lean_obj_tag(x_135) == 0)
-{
-lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_171; lean_object* x_192; lean_object* x_213; lean_object* x_234; lean_object* x_255; lean_object* x_256; lean_object* x_257;
-x_136 = lean_ctor_get(x_134, 0);
-lean_inc(x_136);
-x_137 = lean_array_get_size(x_136);
-lean_dec(x_136);
-x_255 = lean_ctor_get(x_134, 1);
-lean_inc(x_255);
-lean_inc(x_1);
-x_256 = l_Lean_Parser_Command_docComment___elambda__1(x_1, x_134);
-x_257 = lean_ctor_get(x_256, 3);
-lean_inc(x_257);
-if (lean_obj_tag(x_257) == 0)
-{
-lean_object* x_258; lean_object* x_259;
-lean_dec(x_255);
-x_258 = l_Lean_nullKind;
-lean_inc(x_137);
-x_259 = l_Lean_Parser_ParserState_mkNode(x_256, x_258, x_137);
-x_234 = x_259;
-goto block_254;
-}
-else
-{
-lean_object* x_260; uint8_t x_261;
-lean_dec(x_257);
-x_260 = lean_ctor_get(x_256, 1);
-lean_inc(x_260);
-x_261 = lean_nat_dec_eq(x_260, x_255);
-lean_dec(x_260);
-if (x_261 == 0)
-{
-lean_object* x_262; lean_object* x_263;
-lean_dec(x_255);
-x_262 = l_Lean_nullKind;
-lean_inc(x_137);
-x_263 = l_Lean_Parser_ParserState_mkNode(x_256, x_262, x_137);
-x_234 = x_263;
-goto block_254;
-}
-else
-{
-lean_object* x_264; lean_object* x_265; lean_object* x_266;
-x_264 = l_Lean_Parser_ParserState_restore(x_256, x_137, x_255);
-x_265 = l_Lean_nullKind;
-lean_inc(x_137);
-x_266 = l_Lean_Parser_ParserState_mkNode(x_264, x_265, x_137);
-x_234 = x_266;
-goto block_254;
-}
-}
-block_170:
-{
-lean_object* x_139;
-x_139 = lean_ctor_get(x_138, 3);
-lean_inc(x_139);
-if (lean_obj_tag(x_139) == 0)
-{
-lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144;
-x_140 = lean_ctor_get(x_138, 0);
-lean_inc(x_140);
-x_141 = lean_array_get_size(x_140);
-lean_dec(x_140);
-x_142 = lean_ctor_get(x_138, 1);
-lean_inc(x_142);
-x_143 = l_Lean_Parser_Command_partial___elambda__1(x_1, x_138);
-x_144 = lean_ctor_get(x_143, 3);
-lean_inc(x_144);
-if (lean_obj_tag(x_144) == 0)
-{
-lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; uint8_t x_149; lean_object* x_150;
-lean_dec(x_142);
-x_145 = l_Lean_nullKind;
-x_146 = l_Lean_Parser_ParserState_mkNode(x_143, x_145, x_141);
-x_147 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__2;
-x_148 = l_Lean_Parser_ParserState_mkNode(x_146, x_147, x_137);
-x_149 = 1;
-x_150 = l_Lean_Parser_mergeOrElseErrors(x_148, x_129, x_126, x_149);
-lean_dec(x_126);
-return x_150;
-}
-else
-{
-lean_object* x_151; uint8_t x_152;
-lean_dec(x_144);
-x_151 = lean_ctor_get(x_143, 1);
-lean_inc(x_151);
-x_152 = lean_nat_dec_eq(x_151, x_142);
-lean_dec(x_151);
-if (x_152 == 0)
-{
-lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; uint8_t x_157; lean_object* x_158;
-lean_dec(x_142);
-x_153 = l_Lean_nullKind;
-x_154 = l_Lean_Parser_ParserState_mkNode(x_143, x_153, x_141);
-x_155 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__2;
-x_156 = l_Lean_Parser_ParserState_mkNode(x_154, x_155, x_137);
-x_157 = 1;
-x_158 = l_Lean_Parser_mergeOrElseErrors(x_156, x_129, x_126, x_157);
-lean_dec(x_126);
-return x_158;
-}
-else
-{
-lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; uint8_t x_164; lean_object* x_165;
-x_159 = l_Lean_Parser_ParserState_restore(x_143, x_141, x_142);
-x_160 = l_Lean_nullKind;
-x_161 = l_Lean_Parser_ParserState_mkNode(x_159, x_160, x_141);
-x_162 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__2;
-x_163 = l_Lean_Parser_ParserState_mkNode(x_161, x_162, x_137);
-x_164 = 1;
-x_165 = l_Lean_Parser_mergeOrElseErrors(x_163, x_129, x_126, x_164);
-lean_dec(x_126);
-return x_165;
-}
-}
-}
-else
-{
-lean_object* x_166; lean_object* x_167; uint8_t x_168; lean_object* x_169;
-lean_dec(x_139);
-lean_dec(x_1);
-x_166 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__2;
-x_167 = l_Lean_Parser_ParserState_mkNode(x_138, x_166, x_137);
-x_168 = 1;
-x_169 = l_Lean_Parser_mergeOrElseErrors(x_167, x_129, x_126, x_168);
-lean_dec(x_126);
-return x_169;
-}
-}
-block_191:
-{
-lean_object* x_172;
-x_172 = lean_ctor_get(x_171, 3);
-lean_inc(x_172);
-if (lean_obj_tag(x_172) == 0)
-{
-lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177;
-x_173 = lean_ctor_get(x_171, 0);
-lean_inc(x_173);
-x_174 = lean_array_get_size(x_173);
-lean_dec(x_173);
-x_175 = lean_ctor_get(x_171, 1);
-lean_inc(x_175);
-lean_inc(x_1);
-x_176 = l_Lean_Parser_Command_unsafe___elambda__1(x_1, x_171);
-x_177 = lean_ctor_get(x_176, 3);
-lean_inc(x_177);
-if (lean_obj_tag(x_177) == 0)
-{
-lean_object* x_178; lean_object* x_179;
-lean_dec(x_175);
-x_178 = l_Lean_nullKind;
-x_179 = l_Lean_Parser_ParserState_mkNode(x_176, x_178, x_174);
-x_138 = x_179;
-goto block_170;
-}
-else
-{
-lean_object* x_180; uint8_t x_181;
-lean_dec(x_177);
-x_180 = lean_ctor_get(x_176, 1);
-lean_inc(x_180);
-x_181 = lean_nat_dec_eq(x_180, x_175);
-lean_dec(x_180);
-if (x_181 == 0)
-{
-lean_object* x_182; lean_object* x_183;
-lean_dec(x_175);
-x_182 = l_Lean_nullKind;
-x_183 = l_Lean_Parser_ParserState_mkNode(x_176, x_182, x_174);
-x_138 = x_183;
-goto block_170;
-}
-else
-{
-lean_object* x_184; lean_object* x_185; lean_object* x_186;
-x_184 = l_Lean_Parser_ParserState_restore(x_176, x_174, x_175);
-x_185 = l_Lean_nullKind;
-x_186 = l_Lean_Parser_ParserState_mkNode(x_184, x_185, x_174);
-x_138 = x_186;
-goto block_170;
-}
-}
-}
-else
-{
-lean_object* x_187; lean_object* x_188; uint8_t x_189; lean_object* x_190;
-lean_dec(x_172);
-lean_dec(x_1);
-x_187 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__2;
-x_188 = l_Lean_Parser_ParserState_mkNode(x_171, x_187, x_137);
-x_189 = 1;
-x_190 = l_Lean_Parser_mergeOrElseErrors(x_188, x_129, x_126, x_189);
-lean_dec(x_126);
-return x_190;
-}
-}
-block_212:
-{
-lean_object* x_193;
-x_193 = lean_ctor_get(x_192, 3);
-lean_inc(x_193);
-if (lean_obj_tag(x_193) == 0)
-{
-lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198;
-x_194 = lean_ctor_get(x_192, 0);
-lean_inc(x_194);
-x_195 = lean_array_get_size(x_194);
-lean_dec(x_194);
-x_196 = lean_ctor_get(x_192, 1);
-lean_inc(x_196);
-lean_inc(x_1);
-x_197 = l_Lean_Parser_Command_noncomputable___elambda__1(x_1, x_192);
-x_198 = lean_ctor_get(x_197, 3);
-lean_inc(x_198);
-if (lean_obj_tag(x_198) == 0)
-{
-lean_object* x_199; lean_object* x_200;
-lean_dec(x_196);
-x_199 = l_Lean_nullKind;
-x_200 = l_Lean_Parser_ParserState_mkNode(x_197, x_199, x_195);
-x_171 = x_200;
-goto block_191;
-}
-else
-{
-lean_object* x_201; uint8_t x_202;
-lean_dec(x_198);
-x_201 = lean_ctor_get(x_197, 1);
-lean_inc(x_201);
-x_202 = lean_nat_dec_eq(x_201, x_196);
-lean_dec(x_201);
-if (x_202 == 0)
-{
-lean_object* x_203; lean_object* x_204;
-lean_dec(x_196);
-x_203 = l_Lean_nullKind;
-x_204 = l_Lean_Parser_ParserState_mkNode(x_197, x_203, x_195);
-x_171 = x_204;
-goto block_191;
-}
-else
-{
-lean_object* x_205; lean_object* x_206; lean_object* x_207;
-x_205 = l_Lean_Parser_ParserState_restore(x_197, x_195, x_196);
-x_206 = l_Lean_nullKind;
-x_207 = l_Lean_Parser_ParserState_mkNode(x_205, x_206, x_195);
-x_171 = x_207;
-goto block_191;
-}
-}
-}
-else
-{
-lean_object* x_208; lean_object* x_209; uint8_t x_210; lean_object* x_211;
-lean_dec(x_193);
-lean_dec(x_1);
-x_208 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__2;
-x_209 = l_Lean_Parser_ParserState_mkNode(x_192, x_208, x_137);
-x_210 = 1;
-x_211 = l_Lean_Parser_mergeOrElseErrors(x_209, x_129, x_126, x_210);
-lean_dec(x_126);
-return x_211;
-}
-}
-block_233:
-{
-lean_object* x_214;
-x_214 = lean_ctor_get(x_213, 3);
-lean_inc(x_214);
-if (lean_obj_tag(x_214) == 0)
-{
-lean_object* x_215; lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219;
-x_215 = lean_ctor_get(x_213, 0);
-lean_inc(x_215);
-x_216 = lean_array_get_size(x_215);
-lean_dec(x_215);
-x_217 = lean_ctor_get(x_213, 1);
-lean_inc(x_217);
-lean_inc(x_1);
-x_218 = l_Lean_Parser_Command_visibility___elambda__1(x_1, x_213);
-x_219 = lean_ctor_get(x_218, 3);
-lean_inc(x_219);
-if (lean_obj_tag(x_219) == 0)
-{
-lean_object* x_220; lean_object* x_221;
-lean_dec(x_217);
-x_220 = l_Lean_nullKind;
-x_221 = l_Lean_Parser_ParserState_mkNode(x_218, x_220, x_216);
-x_192 = x_221;
-goto block_212;
-}
-else
-{
-lean_object* x_222; uint8_t x_223;
-lean_dec(x_219);
-x_222 = lean_ctor_get(x_218, 1);
-lean_inc(x_222);
-x_223 = lean_nat_dec_eq(x_222, x_217);
-lean_dec(x_222);
-if (x_223 == 0)
-{
-lean_object* x_224; lean_object* x_225;
-lean_dec(x_217);
-x_224 = l_Lean_nullKind;
-x_225 = l_Lean_Parser_ParserState_mkNode(x_218, x_224, x_216);
-x_192 = x_225;
-goto block_212;
-}
-else
-{
-lean_object* x_226; lean_object* x_227; lean_object* x_228;
-x_226 = l_Lean_Parser_ParserState_restore(x_218, x_216, x_217);
-x_227 = l_Lean_nullKind;
-x_228 = l_Lean_Parser_ParserState_mkNode(x_226, x_227, x_216);
-x_192 = x_228;
-goto block_212;
-}
-}
-}
-else
-{
-lean_object* x_229; lean_object* x_230; uint8_t x_231; lean_object* x_232;
-lean_dec(x_214);
-lean_dec(x_1);
-x_229 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__2;
-x_230 = l_Lean_Parser_ParserState_mkNode(x_213, x_229, x_137);
-x_231 = 1;
-x_232 = l_Lean_Parser_mergeOrElseErrors(x_230, x_129, x_126, x_231);
-lean_dec(x_126);
-return x_232;
-}
-}
-block_254:
-{
-lean_object* x_235;
-x_235 = lean_ctor_get(x_234, 3);
-lean_inc(x_235);
-if (lean_obj_tag(x_235) == 0)
-{
-lean_object* x_236; lean_object* x_237; lean_object* x_238; lean_object* x_239; lean_object* x_240;
-x_236 = lean_ctor_get(x_234, 0);
-lean_inc(x_236);
-x_237 = lean_array_get_size(x_236);
-lean_dec(x_236);
-x_238 = lean_ctor_get(x_234, 1);
-lean_inc(x_238);
-lean_inc(x_1);
-x_239 = l_Lean_Parser_Term_attributes___elambda__1(x_1, x_234);
-x_240 = lean_ctor_get(x_239, 3);
-lean_inc(x_240);
-if (lean_obj_tag(x_240) == 0)
-{
-lean_object* x_241; lean_object* x_242;
-lean_dec(x_238);
-x_241 = l_Lean_nullKind;
-x_242 = l_Lean_Parser_ParserState_mkNode(x_239, x_241, x_237);
-x_213 = x_242;
-goto block_233;
-}
-else
-{
-lean_object* x_243; uint8_t x_244;
-lean_dec(x_240);
-x_243 = lean_ctor_get(x_239, 1);
-lean_inc(x_243);
-x_244 = lean_nat_dec_eq(x_243, x_238);
-lean_dec(x_243);
-if (x_244 == 0)
-{
-lean_object* x_245; lean_object* x_246;
-lean_dec(x_238);
-x_245 = l_Lean_nullKind;
-x_246 = l_Lean_Parser_ParserState_mkNode(x_239, x_245, x_237);
-x_213 = x_246;
-goto block_233;
-}
-else
-{
-lean_object* x_247; lean_object* x_248; lean_object* x_249;
-x_247 = l_Lean_Parser_ParserState_restore(x_239, x_237, x_238);
-x_248 = l_Lean_nullKind;
-x_249 = l_Lean_Parser_ParserState_mkNode(x_247, x_248, x_237);
-x_213 = x_249;
-goto block_233;
-}
-}
-}
-else
-{
-lean_object* x_250; lean_object* x_251; uint8_t x_252; lean_object* x_253;
-lean_dec(x_235);
-lean_dec(x_1);
-x_250 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__2;
-x_251 = l_Lean_Parser_ParserState_mkNode(x_234, x_250, x_137);
-x_252 = 1;
-x_253 = l_Lean_Parser_mergeOrElseErrors(x_251, x_129, x_126, x_252);
-lean_dec(x_126);
-return x_253;
-}
-}
-}
-else
-{
-uint8_t x_267; lean_object* x_268;
-lean_dec(x_135);
-lean_dec(x_1);
-x_267 = 1;
-x_268 = l_Lean_Parser_mergeOrElseErrors(x_134, x_129, x_126, x_267);
-lean_dec(x_126);
-return x_268;
-}
-}
-}
+lean_object* x_40; uint8_t x_41; lean_object* x_42;
+x_40 = l_Lean_Parser_Command_declModifiers___elambda__1___closed__18;
+x_41 = 1;
+x_42 = l_Lean_Parser_orelseFnCore(x_4, x_40, x_41, x_1, x_2);
+return x_42;
}
}
}
@@ -7941,172 +5602,6 @@ x_3 = l_Lean_Parser_Command_declModifiers(x_2);
return x_3;
}
}
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Command_declId___elambda__1___spec__2(uint8_t x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5) {
-_start:
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10;
-x_6 = lean_ctor_get(x_5, 0);
-lean_inc(x_6);
-x_7 = lean_array_get_size(x_6);
-lean_dec(x_6);
-x_8 = lean_ctor_get(x_5, 1);
-lean_inc(x_8);
-lean_inc(x_4);
-x_9 = l_Lean_Parser_ident___elambda__1(x_4, x_5);
-x_10 = lean_ctor_get(x_9, 3);
-lean_inc(x_10);
-if (lean_obj_tag(x_10) == 0)
-{
-lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_21; lean_object* x_22;
-lean_dec(x_8);
-lean_dec(x_7);
-x_11 = lean_ctor_get(x_9, 0);
-lean_inc(x_11);
-x_12 = lean_array_get_size(x_11);
-lean_dec(x_11);
-x_13 = lean_ctor_get(x_9, 1);
-lean_inc(x_13);
-lean_inc(x_4);
-x_21 = l_Lean_Parser_tokenFn(x_4, x_9);
-x_22 = lean_ctor_get(x_21, 3);
-lean_inc(x_22);
-if (lean_obj_tag(x_22) == 0)
-{
-lean_object* x_23; lean_object* x_24;
-x_23 = lean_ctor_get(x_21, 0);
-lean_inc(x_23);
-x_24 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_23);
-lean_dec(x_23);
-if (lean_obj_tag(x_24) == 2)
-{
-lean_object* x_25; lean_object* x_26; uint8_t x_27;
-x_25 = lean_ctor_get(x_24, 1);
-lean_inc(x_25);
-lean_dec(x_24);
-x_26 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__1;
-x_27 = lean_string_dec_eq(x_25, x_26);
-lean_dec(x_25);
-if (x_27 == 0)
-{
-lean_object* x_28; lean_object* x_29;
-x_28 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
-lean_inc(x_13);
-x_29 = l_Lean_Parser_ParserState_mkErrorsAt(x_21, x_28, x_13);
-x_14 = x_29;
-goto block_20;
-}
-else
-{
-x_14 = x_21;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_30; lean_object* x_31;
-lean_dec(x_24);
-x_30 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
-lean_inc(x_13);
-x_31 = l_Lean_Parser_ParserState_mkErrorsAt(x_21, x_30, x_13);
-x_14 = x_31;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_32; lean_object* x_33;
-lean_dec(x_22);
-x_32 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
-lean_inc(x_13);
-x_33 = l_Lean_Parser_ParserState_mkErrorsAt(x_21, x_32, x_13);
-x_14 = x_33;
-goto block_20;
-}
-block_20:
-{
-lean_object* x_15;
-x_15 = lean_ctor_get(x_14, 3);
-lean_inc(x_15);
-if (lean_obj_tag(x_15) == 0)
-{
-lean_dec(x_13);
-lean_dec(x_12);
-{
-uint8_t _tmp_2 = x_1;
-lean_object* _tmp_4 = x_14;
-x_3 = _tmp_2;
-x_5 = _tmp_4;
-}
-goto _start;
-}
-else
-{
-lean_object* x_17; lean_object* x_18; lean_object* x_19;
-lean_dec(x_15);
-lean_dec(x_4);
-x_17 = l_Lean_Parser_ParserState_restore(x_14, x_12, x_13);
-lean_dec(x_12);
-x_18 = l_Lean_nullKind;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_2);
-return x_19;
-}
-}
-}
-else
-{
-lean_object* x_34; uint8_t x_35;
-lean_dec(x_10);
-lean_dec(x_4);
-x_34 = lean_ctor_get(x_9, 1);
-lean_inc(x_34);
-x_35 = lean_nat_dec_lt(x_8, x_34);
-lean_dec(x_34);
-if (x_35 == 0)
-{
-if (x_3 == 0)
-{
-lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-lean_dec(x_8);
-lean_dec(x_7);
-x_36 = lean_box(0);
-x_37 = l_Lean_Parser_ParserState_pushSyntax(x_9, x_36);
-x_38 = l_Lean_nullKind;
-x_39 = l_Lean_Parser_ParserState_mkNode(x_37, x_38, x_2);
-return x_39;
-}
-else
-{
-lean_object* x_40; lean_object* x_41; lean_object* x_42;
-x_40 = l_Lean_Parser_ParserState_restore(x_9, x_7, x_8);
-lean_dec(x_7);
-x_41 = l_Lean_nullKind;
-x_42 = l_Lean_Parser_ParserState_mkNode(x_40, x_41, x_2);
-return x_42;
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_2);
-return x_9;
-}
-}
-}
-}
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Command_declId___elambda__1___spec__1(uint8_t x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
-x_4 = lean_ctor_get(x_3, 0);
-lean_inc(x_4);
-x_5 = lean_array_get_size(x_4);
-lean_dec(x_4);
-x_6 = 0;
-x_7 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Command_declId___elambda__1___spec__2(x_1, x_5, x_6, x_2, x_3);
-return x_7;
-}
-}
static lean_object* _init_l_Lean_Parser_Command_declId___elambda__1___closed__1() {
_start:
{
@@ -8146,6 +5641,101 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Command_declId___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__4;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_declId___elambda__1___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 = 0;
+x_2 = l_Lean_Parser_ident___closed__2;
+x_3 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__6;
+x_4 = lean_box(x_1);
+x_5 = lean_alloc_closure((void*)(l_Lean_Parser_sepBy1Fn___boxed), 5, 3);
+lean_closure_set(x_5, 0, x_4);
+lean_closure_set(x_5, 1, x_2);
+lean_closure_set(x_5, 2, x_3);
+return x_5;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_declId___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_declId___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_declId___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_declId___elambda__1___closed__5;
+x_2 = l_Lean_Parser_Command_declId___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_declId___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_declId___elambda__1___closed__8;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optionalFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_declId___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_ident___closed__2;
+x_2 = l_Lean_Parser_Command_declId___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_declId___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_declId___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_declId___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_declId___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_declId___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Command_declId___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -8177,211 +5767,21 @@ x_12 = lean_ctor_get(x_11, 3);
lean_inc(x_12);
if (lean_obj_tag(x_12) == 0)
{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_34; lean_object* x_54; lean_object* x_55;
-x_13 = lean_ctor_get(x_11, 0);
-lean_inc(x_13);
-x_14 = lean_array_get_size(x_13);
-lean_dec(x_13);
-x_15 = lean_ctor_get(x_11, 1);
-lean_inc(x_15);
-lean_inc(x_1);
-x_54 = l_Lean_Parser_tokenFn(x_1, x_11);
-x_55 = lean_ctor_get(x_54, 3);
-lean_inc(x_55);
-if (lean_obj_tag(x_55) == 0)
-{
-lean_object* x_56; lean_object* x_57;
-x_56 = lean_ctor_get(x_54, 0);
-lean_inc(x_56);
-x_57 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_56);
-lean_dec(x_56);
-if (lean_obj_tag(x_57) == 2)
-{
-lean_object* x_58; lean_object* x_59; uint8_t x_60;
-x_58 = lean_ctor_get(x_57, 1);
-lean_inc(x_58);
-lean_dec(x_57);
-x_59 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__4;
-x_60 = lean_string_dec_eq(x_58, x_59);
-lean_dec(x_58);
-if (x_60 == 0)
-{
-lean_object* x_61; lean_object* x_62;
-x_61 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__8;
-lean_inc(x_15);
-x_62 = l_Lean_Parser_ParserState_mkErrorsAt(x_54, x_61, x_15);
-x_34 = x_62;
-goto block_53;
+lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
+x_13 = l_Lean_Parser_Command_declId___elambda__1___closed__8;
+x_14 = l_Lean_Parser_optionalFn(x_13, x_1, x_11);
+x_15 = l_Lean_Parser_Command_declId___elambda__1___closed__2;
+x_16 = l_Lean_Parser_ParserState_mkNode(x_14, x_15, x_10);
+return x_16;
}
else
{
-x_34 = x_54;
-goto block_53;
-}
-}
-else
-{
-lean_object* x_63; lean_object* x_64;
-lean_dec(x_57);
-x_63 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__8;
-lean_inc(x_15);
-x_64 = l_Lean_Parser_ParserState_mkErrorsAt(x_54, x_63, x_15);
-x_34 = x_64;
-goto block_53;
-}
-}
-else
-{
-lean_object* x_65; lean_object* x_66;
-lean_dec(x_55);
-x_65 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__8;
-lean_inc(x_15);
-x_66 = l_Lean_Parser_ParserState_mkErrorsAt(x_54, x_65, x_15);
-x_34 = x_66;
-goto block_53;
-}
-block_33:
-{
-lean_object* x_17;
-x_17 = lean_ctor_get(x_16, 3);
-lean_inc(x_17);
-if (lean_obj_tag(x_17) == 0)
-{
-lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
-lean_dec(x_15);
-x_18 = l_Lean_nullKind;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_16, x_18, x_14);
-x_20 = l_Lean_Parser_Command_declId___elambda__1___closed__2;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_10);
-return x_21;
-}
-else
-{
-lean_object* x_22; uint8_t x_23;
-lean_dec(x_17);
-x_22 = lean_ctor_get(x_16, 1);
-lean_inc(x_22);
-x_23 = lean_nat_dec_eq(x_22, x_15);
-lean_dec(x_22);
-if (x_23 == 0)
-{
-lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
-lean_dec(x_15);
-x_24 = l_Lean_nullKind;
-x_25 = l_Lean_Parser_ParserState_mkNode(x_16, x_24, x_14);
-x_26 = l_Lean_Parser_Command_declId___elambda__1___closed__2;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_25, x_26, x_10);
-return x_27;
-}
-else
-{
-lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
-x_28 = l_Lean_Parser_ParserState_restore(x_16, x_14, x_15);
-x_29 = l_Lean_nullKind;
-x_30 = l_Lean_Parser_ParserState_mkNode(x_28, x_29, x_14);
-x_31 = l_Lean_Parser_Command_declId___elambda__1___closed__2;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_10);
-return x_32;
-}
-}
-}
-block_53:
-{
-lean_object* x_35;
-x_35 = lean_ctor_get(x_34, 3);
-lean_inc(x_35);
-if (lean_obj_tag(x_35) == 0)
-{
-uint8_t x_36; lean_object* x_37; lean_object* x_38;
-x_36 = 0;
-lean_inc(x_1);
-x_37 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Command_declId___elambda__1___spec__1(x_36, x_1, x_34);
-x_38 = lean_ctor_get(x_37, 3);
-lean_inc(x_38);
-if (lean_obj_tag(x_38) == 0)
-{
-lean_object* x_39; lean_object* x_40; lean_object* x_41;
-x_39 = lean_ctor_get(x_37, 1);
-lean_inc(x_39);
-x_40 = l_Lean_Parser_tokenFn(x_1, x_37);
-x_41 = lean_ctor_get(x_40, 3);
-lean_inc(x_41);
-if (lean_obj_tag(x_41) == 0)
-{
-lean_object* x_42; lean_object* x_43;
-x_42 = lean_ctor_get(x_40, 0);
-lean_inc(x_42);
-x_43 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_42);
-lean_dec(x_42);
-if (lean_obj_tag(x_43) == 2)
-{
-lean_object* x_44; lean_object* x_45; uint8_t x_46;
-x_44 = lean_ctor_get(x_43, 1);
-lean_inc(x_44);
-lean_dec(x_43);
-x_45 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__6;
-x_46 = lean_string_dec_eq(x_44, x_45);
-lean_dec(x_44);
-if (x_46 == 0)
-{
-lean_object* x_47; lean_object* x_48;
-x_47 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
-x_48 = l_Lean_Parser_ParserState_mkErrorsAt(x_40, x_47, x_39);
-x_16 = x_48;
-goto block_33;
-}
-else
-{
-lean_dec(x_39);
-x_16 = x_40;
-goto block_33;
-}
-}
-else
-{
-lean_object* x_49; lean_object* x_50;
-lean_dec(x_43);
-x_49 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
-x_50 = l_Lean_Parser_ParserState_mkErrorsAt(x_40, x_49, x_39);
-x_16 = x_50;
-goto block_33;
-}
-}
-else
-{
-lean_object* x_51; lean_object* x_52;
-lean_dec(x_41);
-x_51 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
-x_52 = l_Lean_Parser_ParserState_mkErrorsAt(x_40, x_51, x_39);
-x_16 = x_52;
-goto block_33;
-}
-}
-else
-{
-lean_dec(x_38);
-lean_dec(x_1);
-x_16 = x_37;
-goto block_33;
-}
-}
-else
-{
-lean_dec(x_35);
-lean_dec(x_1);
-x_16 = x_34;
-goto block_33;
-}
-}
-}
-else
-{
-lean_object* x_67; lean_object* x_68;
+lean_object* x_17; lean_object* x_18;
lean_dec(x_12);
lean_dec(x_1);
-x_67 = l_Lean_Parser_Command_declId___elambda__1___closed__2;
-x_68 = l_Lean_Parser_ParserState_mkNode(x_11, x_67, x_10);
-return x_68;
+x_17 = l_Lean_Parser_Command_declId___elambda__1___closed__2;
+x_18 = l_Lean_Parser_ParserState_mkNode(x_11, x_17, x_10);
+return x_18;
}
}
else
@@ -8393,296 +5793,11 @@ return x_7;
}
else
{
-lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73;
-x_69 = lean_ctor_get(x_2, 0);
-lean_inc(x_69);
-x_70 = lean_array_get_size(x_69);
-lean_dec(x_69);
-x_71 = lean_ctor_get(x_2, 1);
-lean_inc(x_71);
-lean_inc(x_1);
-x_72 = lean_apply_2(x_4, x_1, x_2);
-x_73 = lean_ctor_get(x_72, 3);
-lean_inc(x_73);
-if (lean_obj_tag(x_73) == 0)
-{
-lean_dec(x_71);
-lean_dec(x_70);
-lean_dec(x_1);
-return x_72;
-}
-else
-{
-lean_object* x_74; lean_object* x_75; uint8_t x_76;
-x_74 = lean_ctor_get(x_73, 0);
-lean_inc(x_74);
-lean_dec(x_73);
-x_75 = lean_ctor_get(x_72, 1);
-lean_inc(x_75);
-x_76 = lean_nat_dec_eq(x_75, x_71);
-lean_dec(x_75);
-if (x_76 == 0)
-{
-lean_dec(x_74);
-lean_dec(x_71);
-lean_dec(x_70);
-lean_dec(x_1);
-return x_72;
-}
-else
-{
-lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80;
-lean_inc(x_71);
-x_77 = l_Lean_Parser_ParserState_restore(x_72, x_70, x_71);
-lean_dec(x_70);
-x_78 = lean_unsigned_to_nat(1024u);
-x_79 = l_Lean_Parser_checkPrecFn(x_78, x_1, x_77);
-x_80 = lean_ctor_get(x_79, 3);
-lean_inc(x_80);
-if (lean_obj_tag(x_80) == 0)
-{
-lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84;
-x_81 = lean_ctor_get(x_79, 0);
-lean_inc(x_81);
-x_82 = lean_array_get_size(x_81);
-lean_dec(x_81);
-lean_inc(x_1);
-x_83 = l_Lean_Parser_ident___elambda__1(x_1, x_79);
-x_84 = lean_ctor_get(x_83, 3);
-lean_inc(x_84);
-if (lean_obj_tag(x_84) == 0)
-{
-lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_112; lean_object* x_132; lean_object* x_133;
-x_85 = lean_ctor_get(x_83, 0);
-lean_inc(x_85);
-x_86 = lean_array_get_size(x_85);
-lean_dec(x_85);
-x_87 = lean_ctor_get(x_83, 1);
-lean_inc(x_87);
-lean_inc(x_1);
-x_132 = l_Lean_Parser_tokenFn(x_1, x_83);
-x_133 = lean_ctor_get(x_132, 3);
-lean_inc(x_133);
-if (lean_obj_tag(x_133) == 0)
-{
-lean_object* x_134; lean_object* x_135;
-x_134 = lean_ctor_get(x_132, 0);
-lean_inc(x_134);
-x_135 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_134);
-lean_dec(x_134);
-if (lean_obj_tag(x_135) == 2)
-{
-lean_object* x_136; lean_object* x_137; uint8_t x_138;
-x_136 = lean_ctor_get(x_135, 1);
-lean_inc(x_136);
-lean_dec(x_135);
-x_137 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__4;
-x_138 = lean_string_dec_eq(x_136, x_137);
-lean_dec(x_136);
-if (x_138 == 0)
-{
-lean_object* x_139; lean_object* x_140;
-x_139 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__8;
-lean_inc(x_87);
-x_140 = l_Lean_Parser_ParserState_mkErrorsAt(x_132, x_139, x_87);
-x_112 = x_140;
-goto block_131;
-}
-else
-{
-x_112 = x_132;
-goto block_131;
-}
-}
-else
-{
-lean_object* x_141; lean_object* x_142;
-lean_dec(x_135);
-x_141 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__8;
-lean_inc(x_87);
-x_142 = l_Lean_Parser_ParserState_mkErrorsAt(x_132, x_141, x_87);
-x_112 = x_142;
-goto block_131;
-}
-}
-else
-{
-lean_object* x_143; lean_object* x_144;
-lean_dec(x_133);
-x_143 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__8;
-lean_inc(x_87);
-x_144 = l_Lean_Parser_ParserState_mkErrorsAt(x_132, x_143, x_87);
-x_112 = x_144;
-goto block_131;
-}
-block_111:
-{
-lean_object* x_89;
-x_89 = lean_ctor_get(x_88, 3);
-lean_inc(x_89);
-if (lean_obj_tag(x_89) == 0)
-{
-lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; uint8_t x_94; lean_object* x_95;
-lean_dec(x_87);
-x_90 = l_Lean_nullKind;
-x_91 = l_Lean_Parser_ParserState_mkNode(x_88, x_90, x_86);
-x_92 = l_Lean_Parser_Command_declId___elambda__1___closed__2;
-x_93 = l_Lean_Parser_ParserState_mkNode(x_91, x_92, x_82);
-x_94 = 1;
-x_95 = l_Lean_Parser_mergeOrElseErrors(x_93, x_74, x_71, x_94);
-lean_dec(x_71);
-return x_95;
-}
-else
-{
-lean_object* x_96; uint8_t x_97;
-lean_dec(x_89);
-x_96 = lean_ctor_get(x_88, 1);
-lean_inc(x_96);
-x_97 = lean_nat_dec_eq(x_96, x_87);
-lean_dec(x_96);
-if (x_97 == 0)
-{
-lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; uint8_t x_102; lean_object* x_103;
-lean_dec(x_87);
-x_98 = l_Lean_nullKind;
-x_99 = l_Lean_Parser_ParserState_mkNode(x_88, x_98, x_86);
-x_100 = l_Lean_Parser_Command_declId___elambda__1___closed__2;
-x_101 = l_Lean_Parser_ParserState_mkNode(x_99, x_100, x_82);
-x_102 = 1;
-x_103 = l_Lean_Parser_mergeOrElseErrors(x_101, x_74, x_71, x_102);
-lean_dec(x_71);
-return x_103;
-}
-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; lean_object* x_110;
-x_104 = l_Lean_Parser_ParserState_restore(x_88, x_86, x_87);
-x_105 = l_Lean_nullKind;
-x_106 = l_Lean_Parser_ParserState_mkNode(x_104, x_105, x_86);
-x_107 = l_Lean_Parser_Command_declId___elambda__1___closed__2;
-x_108 = l_Lean_Parser_ParserState_mkNode(x_106, x_107, x_82);
-x_109 = 1;
-x_110 = l_Lean_Parser_mergeOrElseErrors(x_108, x_74, x_71, x_109);
-lean_dec(x_71);
-return x_110;
-}
-}
-}
-block_131:
-{
-lean_object* x_113;
-x_113 = lean_ctor_get(x_112, 3);
-lean_inc(x_113);
-if (lean_obj_tag(x_113) == 0)
-{
-uint8_t x_114; lean_object* x_115; lean_object* x_116;
-x_114 = 0;
-lean_inc(x_1);
-x_115 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Command_declId___elambda__1___spec__1(x_114, x_1, x_112);
-x_116 = lean_ctor_get(x_115, 3);
-lean_inc(x_116);
-if (lean_obj_tag(x_116) == 0)
-{
-lean_object* x_117; lean_object* x_118; lean_object* x_119;
-x_117 = lean_ctor_get(x_115, 1);
-lean_inc(x_117);
-x_118 = l_Lean_Parser_tokenFn(x_1, x_115);
-x_119 = lean_ctor_get(x_118, 3);
-lean_inc(x_119);
-if (lean_obj_tag(x_119) == 0)
-{
-lean_object* x_120; lean_object* x_121;
-x_120 = lean_ctor_get(x_118, 0);
-lean_inc(x_120);
-x_121 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_120);
-lean_dec(x_120);
-if (lean_obj_tag(x_121) == 2)
-{
-lean_object* x_122; lean_object* x_123; uint8_t x_124;
-x_122 = lean_ctor_get(x_121, 1);
-lean_inc(x_122);
-lean_dec(x_121);
-x_123 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__6;
-x_124 = lean_string_dec_eq(x_122, x_123);
-lean_dec(x_122);
-if (x_124 == 0)
-{
-lean_object* x_125; lean_object* x_126;
-x_125 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
-x_126 = l_Lean_Parser_ParserState_mkErrorsAt(x_118, x_125, x_117);
-x_88 = x_126;
-goto block_111;
-}
-else
-{
-lean_dec(x_117);
-x_88 = x_118;
-goto block_111;
-}
-}
-else
-{
-lean_object* x_127; lean_object* x_128;
-lean_dec(x_121);
-x_127 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
-x_128 = l_Lean_Parser_ParserState_mkErrorsAt(x_118, x_127, x_117);
-x_88 = x_128;
-goto block_111;
-}
-}
-else
-{
-lean_object* x_129; lean_object* x_130;
-lean_dec(x_119);
-x_129 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
-x_130 = l_Lean_Parser_ParserState_mkErrorsAt(x_118, x_129, x_117);
-x_88 = x_130;
-goto block_111;
-}
-}
-else
-{
-lean_dec(x_116);
-lean_dec(x_1);
-x_88 = x_115;
-goto block_111;
-}
-}
-else
-{
-lean_dec(x_113);
-lean_dec(x_1);
-x_88 = x_112;
-goto block_111;
-}
-}
-}
-else
-{
-lean_object* x_145; lean_object* x_146; uint8_t x_147; lean_object* x_148;
-lean_dec(x_84);
-lean_dec(x_1);
-x_145 = l_Lean_Parser_Command_declId___elambda__1___closed__2;
-x_146 = l_Lean_Parser_ParserState_mkNode(x_83, x_145, x_82);
-x_147 = 1;
-x_148 = l_Lean_Parser_mergeOrElseErrors(x_146, x_74, x_71, x_147);
-lean_dec(x_71);
-return x_148;
-}
-}
-else
-{
-uint8_t x_149; lean_object* x_150;
-lean_dec(x_80);
-lean_dec(x_1);
-x_149 = 1;
-x_150 = l_Lean_Parser_mergeOrElseErrors(x_79, x_74, x_71, x_149);
-lean_dec(x_71);
-return x_150;
-}
-}
-}
+lean_object* x_19; uint8_t x_20; lean_object* x_21;
+x_19 = l_Lean_Parser_Command_declId___elambda__1___closed__12;
+x_20 = 1;
+x_21 = l_Lean_Parser_orelseFnCore(x_4, x_19, x_20, x_1, x_2);
+return x_21;
}
}
}
@@ -8799,28 +5914,6 @@ x_1 = l_Lean_Parser_Command_declId___closed__10;
return x_1;
}
}
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Command_declId___elambda__1___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
-_start:
-{
-uint8_t x_6; uint8_t x_7; lean_object* x_8;
-x_6 = lean_unbox(x_1);
-lean_dec(x_1);
-x_7 = lean_unbox(x_3);
-lean_dec(x_3);
-x_8 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Command_declId___elambda__1___spec__2(x_6, x_2, x_7, x_4, x_5);
-return x_8;
-}
-}
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Command_declId___elambda__1___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-uint8_t x_4; lean_object* x_5;
-x_4 = lean_unbox(x_1);
-lean_dec(x_1);
-x_5 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Command_declId___elambda__1___spec__1(x_4, x_2, x_3);
-return x_5;
-}
-}
static lean_object* _init_l_Lean_Parser_Command_declSig___elambda__1___closed__1() {
_start:
{
@@ -8860,6 +5953,52 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Command_declSig___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_letIdLhs___elambda__1___closed__1;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_manyFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_declSig___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_declSig___elambda__1___closed__5;
+x_2 = l_Lean_Parser_Term_typeSpec___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_declSig___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_declSig___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_declSig___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_declSig___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_declSig___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Command_declSig___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -8880,34 +6019,35 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-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_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;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
+x_11 = l_Lean_Parser_Term_letIdLhs___elambda__1___closed__1;
lean_inc(x_1);
-x_11 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_letIdLhs___elambda__1___spec__1(x_1, x_7);
-x_12 = l_Lean_nullKind;
+x_12 = l_Lean_Parser_manyAux(x_11, x_1, x_7);
+x_13 = l_Lean_nullKind;
lean_inc(x_10);
-x_13 = l_Lean_Parser_ParserState_mkNode(x_11, x_12, x_10);
-x_14 = lean_ctor_get(x_13, 3);
-lean_inc(x_14);
-if (lean_obj_tag(x_14) == 0)
+x_14 = l_Lean_Parser_ParserState_mkNode(x_12, x_13, x_10);
+x_15 = lean_ctor_get(x_14, 3);
+lean_inc(x_15);
+if (lean_obj_tag(x_15) == 0)
{
-lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_15 = l_Lean_Parser_Term_typeSpec___elambda__1(x_1, x_13);
-x_16 = l_Lean_Parser_Command_declSig___elambda__1___closed__2;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_10);
-return x_17;
+lean_object* x_16; lean_object* x_17; lean_object* x_18;
+x_16 = l_Lean_Parser_Term_typeSpec___elambda__1(x_1, x_14);
+x_17 = l_Lean_Parser_Command_declSig___elambda__1___closed__2;
+x_18 = l_Lean_Parser_ParserState_mkNode(x_16, x_17, x_10);
+return x_18;
}
else
{
-lean_object* x_18; lean_object* x_19;
-lean_dec(x_14);
+lean_object* x_19; lean_object* x_20;
+lean_dec(x_15);
lean_dec(x_1);
-x_18 = l_Lean_Parser_Command_declSig___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_13, x_18, x_10);
-return x_19;
+x_19 = l_Lean_Parser_Command_declSig___elambda__1___closed__2;
+x_20 = l_Lean_Parser_ParserState_mkNode(x_14, x_19, x_10);
+return x_20;
}
}
else
@@ -8919,103 +6059,12 @@ return x_7;
}
else
{
-lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
-x_20 = lean_ctor_get(x_2, 0);
-lean_inc(x_20);
-x_21 = lean_array_get_size(x_20);
-lean_dec(x_20);
-x_22 = lean_ctor_get(x_2, 1);
-lean_inc(x_22);
-lean_inc(x_1);
-x_23 = lean_apply_2(x_4, x_1, x_2);
-x_24 = lean_ctor_get(x_23, 3);
-lean_inc(x_24);
-if (lean_obj_tag(x_24) == 0)
-{
-lean_dec(x_22);
-lean_dec(x_21);
-lean_dec(x_1);
+lean_object* x_21; uint8_t x_22; lean_object* x_23;
+x_21 = l_Lean_Parser_Command_declSig___elambda__1___closed__8;
+x_22 = 1;
+x_23 = l_Lean_Parser_orelseFnCore(x_4, x_21, x_22, x_1, x_2);
return x_23;
}
-else
-{
-lean_object* x_25; lean_object* x_26; uint8_t x_27;
-x_25 = lean_ctor_get(x_24, 0);
-lean_inc(x_25);
-lean_dec(x_24);
-x_26 = lean_ctor_get(x_23, 1);
-lean_inc(x_26);
-x_27 = lean_nat_dec_eq(x_26, x_22);
-lean_dec(x_26);
-if (x_27 == 0)
-{
-lean_dec(x_25);
-lean_dec(x_22);
-lean_dec(x_21);
-lean_dec(x_1);
-return x_23;
-}
-else
-{
-lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31;
-lean_inc(x_22);
-x_28 = l_Lean_Parser_ParserState_restore(x_23, x_21, x_22);
-lean_dec(x_21);
-x_29 = lean_unsigned_to_nat(1024u);
-x_30 = l_Lean_Parser_checkPrecFn(x_29, x_1, x_28);
-x_31 = lean_ctor_get(x_30, 3);
-lean_inc(x_31);
-if (lean_obj_tag(x_31) == 0)
-{
-lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_32 = lean_ctor_get(x_30, 0);
-lean_inc(x_32);
-x_33 = lean_array_get_size(x_32);
-lean_dec(x_32);
-lean_inc(x_1);
-x_34 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_letIdLhs___elambda__1___spec__1(x_1, x_30);
-x_35 = l_Lean_nullKind;
-lean_inc(x_33);
-x_36 = l_Lean_Parser_ParserState_mkNode(x_34, x_35, x_33);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_object* x_38; lean_object* x_39; lean_object* x_40; uint8_t x_41; lean_object* x_42;
-x_38 = l_Lean_Parser_Term_typeSpec___elambda__1(x_1, x_36);
-x_39 = l_Lean_Parser_Command_declSig___elambda__1___closed__2;
-x_40 = l_Lean_Parser_ParserState_mkNode(x_38, x_39, x_33);
-x_41 = 1;
-x_42 = l_Lean_Parser_mergeOrElseErrors(x_40, x_25, x_22, x_41);
-lean_dec(x_22);
-return x_42;
-}
-else
-{
-lean_object* x_43; lean_object* x_44; uint8_t x_45; lean_object* x_46;
-lean_dec(x_37);
-lean_dec(x_1);
-x_43 = l_Lean_Parser_Command_declSig___elambda__1___closed__2;
-x_44 = l_Lean_Parser_ParserState_mkNode(x_36, x_43, x_33);
-x_45 = 1;
-x_46 = l_Lean_Parser_mergeOrElseErrors(x_44, x_25, x_22, x_45);
-lean_dec(x_22);
-return x_46;
-}
-}
-else
-{
-uint8_t x_47; lean_object* x_48;
-lean_dec(x_31);
-lean_dec(x_1);
-x_47 = 1;
-x_48 = l_Lean_Parser_mergeOrElseErrors(x_30, x_25, x_22, x_47);
-lean_dec(x_22);
-return x_48;
-}
-}
-}
-}
}
}
static lean_object* _init_l_Lean_Parser_Command_declSig___closed__1() {
@@ -9129,6 +6178,42 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Command_optDeclSig___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_declSig___elambda__1___closed__5;
+x_2 = l_Lean_Parser_Term_optType___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_optDeclSig___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_optDeclSig___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_optDeclSig___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_optDeclSig___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_optDeclSig___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Command_optDeclSig___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -9149,34 +6234,36 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-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_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;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
+x_11 = l_Lean_Parser_Term_letIdLhs___elambda__1___closed__1;
lean_inc(x_1);
-x_11 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_letIdLhs___elambda__1___spec__1(x_1, x_7);
-x_12 = l_Lean_nullKind;
+x_12 = l_Lean_Parser_manyAux(x_11, x_1, x_7);
+x_13 = l_Lean_nullKind;
lean_inc(x_10);
-x_13 = l_Lean_Parser_ParserState_mkNode(x_11, x_12, x_10);
-x_14 = lean_ctor_get(x_13, 3);
-lean_inc(x_14);
-if (lean_obj_tag(x_14) == 0)
+x_14 = l_Lean_Parser_ParserState_mkNode(x_12, x_13, x_10);
+x_15 = lean_ctor_get(x_14, 3);
+lean_inc(x_15);
+if (lean_obj_tag(x_15) == 0)
{
-lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_15 = l_Lean_Parser_Term_optType___elambda__1(x_1, x_13);
-x_16 = l_Lean_Parser_Command_optDeclSig___elambda__1___closed__2;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_10);
-return x_17;
+lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
+x_16 = l_Lean_Parser_Term_typeSpec___closed__4;
+x_17 = l_Lean_Parser_optionalFn(x_16, x_1, x_14);
+x_18 = l_Lean_Parser_Command_optDeclSig___elambda__1___closed__2;
+x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_10);
+return x_19;
}
else
{
-lean_object* x_18; lean_object* x_19;
-lean_dec(x_14);
+lean_object* x_20; lean_object* x_21;
+lean_dec(x_15);
lean_dec(x_1);
-x_18 = l_Lean_Parser_Command_optDeclSig___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_13, x_18, x_10);
-return x_19;
+x_20 = l_Lean_Parser_Command_optDeclSig___elambda__1___closed__2;
+x_21 = l_Lean_Parser_ParserState_mkNode(x_14, x_20, x_10);
+return x_21;
}
}
else
@@ -9188,102 +6275,11 @@ return x_7;
}
else
{
-lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
-x_20 = lean_ctor_get(x_2, 0);
-lean_inc(x_20);
-x_21 = lean_array_get_size(x_20);
-lean_dec(x_20);
-x_22 = lean_ctor_get(x_2, 1);
-lean_inc(x_22);
-lean_inc(x_1);
-x_23 = lean_apply_2(x_4, x_1, x_2);
-x_24 = lean_ctor_get(x_23, 3);
-lean_inc(x_24);
-if (lean_obj_tag(x_24) == 0)
-{
-lean_dec(x_22);
-lean_dec(x_21);
-lean_dec(x_1);
-return x_23;
-}
-else
-{
-lean_object* x_25; lean_object* x_26; uint8_t x_27;
-x_25 = lean_ctor_get(x_24, 0);
-lean_inc(x_25);
-lean_dec(x_24);
-x_26 = lean_ctor_get(x_23, 1);
-lean_inc(x_26);
-x_27 = lean_nat_dec_eq(x_26, x_22);
-lean_dec(x_26);
-if (x_27 == 0)
-{
-lean_dec(x_25);
-lean_dec(x_22);
-lean_dec(x_21);
-lean_dec(x_1);
-return x_23;
-}
-else
-{
-lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31;
-lean_inc(x_22);
-x_28 = l_Lean_Parser_ParserState_restore(x_23, x_21, x_22);
-lean_dec(x_21);
-x_29 = lean_unsigned_to_nat(1024u);
-x_30 = l_Lean_Parser_checkPrecFn(x_29, x_1, x_28);
-x_31 = lean_ctor_get(x_30, 3);
-lean_inc(x_31);
-if (lean_obj_tag(x_31) == 0)
-{
-lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_32 = lean_ctor_get(x_30, 0);
-lean_inc(x_32);
-x_33 = lean_array_get_size(x_32);
-lean_dec(x_32);
-lean_inc(x_1);
-x_34 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_letIdLhs___elambda__1___spec__1(x_1, x_30);
-x_35 = l_Lean_nullKind;
-lean_inc(x_33);
-x_36 = l_Lean_Parser_ParserState_mkNode(x_34, x_35, x_33);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_object* x_38; lean_object* x_39; lean_object* x_40; uint8_t x_41; lean_object* x_42;
-x_38 = l_Lean_Parser_Term_optType___elambda__1(x_1, x_36);
-x_39 = l_Lean_Parser_Command_optDeclSig___elambda__1___closed__2;
-x_40 = l_Lean_Parser_ParserState_mkNode(x_38, x_39, x_33);
-x_41 = 1;
-x_42 = l_Lean_Parser_mergeOrElseErrors(x_40, x_25, x_22, x_41);
-lean_dec(x_22);
-return x_42;
-}
-else
-{
-lean_object* x_43; lean_object* x_44; uint8_t x_45; lean_object* x_46;
-lean_dec(x_37);
-lean_dec(x_1);
-x_43 = l_Lean_Parser_Command_optDeclSig___elambda__1___closed__2;
-x_44 = l_Lean_Parser_ParserState_mkNode(x_36, x_43, x_33);
-x_45 = 1;
-x_46 = l_Lean_Parser_mergeOrElseErrors(x_44, x_25, x_22, x_45);
-lean_dec(x_22);
-return x_46;
-}
-}
-else
-{
-uint8_t x_47; lean_object* x_48;
-lean_dec(x_31);
-lean_dec(x_1);
-x_47 = 1;
-x_48 = l_Lean_Parser_mergeOrElseErrors(x_30, x_25, x_22, x_47);
-lean_dec(x_22);
-return x_48;
-}
-}
-}
+lean_object* x_22; uint8_t x_23; lean_object* x_24;
+x_22 = l_Lean_Parser_Command_optDeclSig___elambda__1___closed__7;
+x_23 = 1;
+x_24 = l_Lean_Parser_orelseFnCore(x_4, x_22, x_23, x_1, x_2);
+return x_24;
}
}
}
@@ -9406,11 +6402,11 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_declValSimple___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_declValSimple___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_declValSimple___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_declValSimple___elambda__1___closed__8() {
@@ -9418,8 +6414,10 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Command_declValSimple___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_2 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -9427,11 +6425,43 @@ static lean_object* _init_l_Lean_Parser_Command_declValSimple___elambda__1___clo
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Command_declValSimple___elambda__1___closed__2;
x_2 = l_Lean_Parser_Command_declValSimple___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_declValSimple___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_declValSimple___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_declValSimple___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Command_declValSimple___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_declValSimple___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_declValSimple___elambda__1___closed__11;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -9455,91 +6485,35 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_21; lean_object* x_22; lean_object* x_23;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_21 = lean_ctor_get(x_7, 1);
-lean_inc(x_21);
+x_11 = l_Lean_Parser_Command_declValSimple___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Command_declValSimple___elambda__1___closed__12;
lean_inc(x_1);
-x_22 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_23 = lean_ctor_get(x_22, 3);
-lean_inc(x_23);
-if (lean_obj_tag(x_23) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_24; lean_object* x_25;
-x_24 = lean_ctor_get(x_22, 0);
-lean_inc(x_24);
-x_25 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_24);
-lean_dec(x_24);
-if (lean_obj_tag(x_25) == 2)
-{
-lean_object* x_26; lean_object* x_27; uint8_t x_28;
-x_26 = lean_ctor_get(x_25, 1);
-lean_inc(x_26);
-lean_dec(x_25);
-x_27 = l_Lean_Parser_Command_declValSimple___elambda__1___closed__6;
-x_28 = lean_string_dec_eq(x_26, x_27);
-lean_dec(x_26);
-if (x_28 == 0)
-{
-lean_object* x_29; lean_object* x_30;
-x_29 = l_Lean_Parser_Command_declValSimple___elambda__1___closed__9;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_29, x_21);
-x_11 = x_30;
-goto block_20;
-}
-else
-{
-lean_dec(x_21);
-x_11 = x_22;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32;
-lean_dec(x_25);
-x_31 = l_Lean_Parser_Command_declValSimple___elambda__1___closed__9;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_31, x_21);
-x_11 = x_32;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_33; lean_object* x_34;
-lean_dec(x_23);
-x_33 = l_Lean_Parser_Command_declValSimple___elambda__1___closed__9;
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_33, x_21);
-x_11 = x_34;
-goto block_20;
-}
-block_20:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_13 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_14 = lean_unsigned_to_nat(0u);
-x_15 = l_Lean_Parser_categoryParser___elambda__1(x_13, x_14, x_1, x_11);
-x_16 = l_Lean_Parser_Command_declValSimple___elambda__1___closed__2;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_10);
-return x_17;
-}
-else
-{
-lean_object* x_18; lean_object* x_19;
-lean_dec(x_12);
-lean_dec(x_1);
+lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
+x_15 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_16 = lean_unsigned_to_nat(0u);
+x_17 = l_Lean_Parser_categoryParser___elambda__1(x_15, x_16, x_1, x_13);
x_18 = l_Lean_Parser_Command_declValSimple___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_11, x_18, x_10);
+x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_10);
return x_19;
}
+else
+{
+lean_object* x_20; lean_object* x_21;
+lean_dec(x_14);
+lean_dec(x_1);
+x_20 = l_Lean_Parser_Command_declValSimple___elambda__1___closed__2;
+x_21 = l_Lean_Parser_ParserState_mkNode(x_13, x_20, x_10);
+return x_21;
}
}
else
@@ -9551,159 +6525,11 @@ return x_7;
}
else
{
-lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_35 = lean_ctor_get(x_2, 0);
-lean_inc(x_35);
-x_36 = lean_array_get_size(x_35);
-lean_dec(x_35);
-x_37 = lean_ctor_get(x_2, 1);
-lean_inc(x_37);
-lean_inc(x_1);
-x_38 = lean_apply_2(x_4, x_1, x_2);
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_40; lean_object* x_41; uint8_t x_42;
-x_40 = lean_ctor_get(x_39, 0);
-lean_inc(x_40);
-lean_dec(x_39);
-x_41 = lean_ctor_get(x_38, 1);
-lean_inc(x_41);
-x_42 = lean_nat_dec_eq(x_41, x_37);
-lean_dec(x_41);
-if (x_42 == 0)
-{
-lean_dec(x_40);
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46;
-lean_inc(x_37);
-x_43 = l_Lean_Parser_ParserState_restore(x_38, x_36, x_37);
-lean_dec(x_36);
-x_44 = lean_unsigned_to_nat(1024u);
-x_45 = l_Lean_Parser_checkPrecFn(x_44, x_1, x_43);
-x_46 = lean_ctor_get(x_45, 3);
-lean_inc(x_46);
-if (lean_obj_tag(x_46) == 0)
-{
-lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_63; lean_object* x_64; lean_object* x_65;
-x_47 = lean_ctor_get(x_45, 0);
-lean_inc(x_47);
-x_48 = lean_array_get_size(x_47);
-lean_dec(x_47);
-x_63 = lean_ctor_get(x_45, 1);
-lean_inc(x_63);
-lean_inc(x_1);
-x_64 = l_Lean_Parser_tokenFn(x_1, x_45);
-x_65 = lean_ctor_get(x_64, 3);
-lean_inc(x_65);
-if (lean_obj_tag(x_65) == 0)
-{
-lean_object* x_66; lean_object* x_67;
-x_66 = lean_ctor_get(x_64, 0);
-lean_inc(x_66);
-x_67 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_66);
-lean_dec(x_66);
-if (lean_obj_tag(x_67) == 2)
-{
-lean_object* x_68; lean_object* x_69; uint8_t x_70;
-x_68 = lean_ctor_get(x_67, 1);
-lean_inc(x_68);
-lean_dec(x_67);
-x_69 = l_Lean_Parser_Command_declValSimple___elambda__1___closed__6;
-x_70 = lean_string_dec_eq(x_68, x_69);
-lean_dec(x_68);
-if (x_70 == 0)
-{
-lean_object* x_71; lean_object* x_72;
-x_71 = l_Lean_Parser_Command_declValSimple___elambda__1___closed__9;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_71, x_63);
-x_49 = x_72;
-goto block_62;
-}
-else
-{
-lean_dec(x_63);
-x_49 = x_64;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_73; lean_object* x_74;
-lean_dec(x_67);
-x_73 = l_Lean_Parser_Command_declValSimple___elambda__1___closed__9;
-x_74 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_73, x_63);
-x_49 = x_74;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_75; lean_object* x_76;
-lean_dec(x_65);
-x_75 = l_Lean_Parser_Command_declValSimple___elambda__1___closed__9;
-x_76 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_75, x_63);
-x_49 = x_76;
-goto block_62;
-}
-block_62:
-{
-lean_object* x_50;
-x_50 = lean_ctor_get(x_49, 3);
-lean_inc(x_50);
-if (lean_obj_tag(x_50) == 0)
-{
-lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; uint8_t x_56; lean_object* x_57;
-x_51 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_52 = lean_unsigned_to_nat(0u);
-x_53 = l_Lean_Parser_categoryParser___elambda__1(x_51, x_52, x_1, x_49);
-x_54 = l_Lean_Parser_Command_declValSimple___elambda__1___closed__2;
-x_55 = l_Lean_Parser_ParserState_mkNode(x_53, x_54, x_48);
-x_56 = 1;
-x_57 = l_Lean_Parser_mergeOrElseErrors(x_55, x_40, x_37, x_56);
-lean_dec(x_37);
-return x_57;
-}
-else
-{
-lean_object* x_58; lean_object* x_59; uint8_t x_60; lean_object* x_61;
-lean_dec(x_50);
-lean_dec(x_1);
-x_58 = l_Lean_Parser_Command_declValSimple___elambda__1___closed__2;
-x_59 = l_Lean_Parser_ParserState_mkNode(x_49, x_58, x_48);
-x_60 = 1;
-x_61 = l_Lean_Parser_mergeOrElseErrors(x_59, x_40, x_37, x_60);
-lean_dec(x_37);
-return x_61;
-}
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_46);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_45, x_40, x_37, x_77);
-lean_dec(x_37);
-return x_78;
-}
-}
-}
+lean_object* x_22; uint8_t x_23; lean_object* x_24;
+x_22 = l_Lean_Parser_Command_declValSimple___elambda__1___closed__10;
+x_23 = 1;
+x_24 = l_Lean_Parser_orelseFnCore(x_4, x_22, x_23, x_1, x_2);
+return x_24;
}
}
}
@@ -9827,11 +6653,37 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Command_declValEqns___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
+x_1 = l_Lean_Parser_Term_fun___elambda__1___closed__10;
+x_2 = lean_ctor_get(x_1, 1);
+lean_inc(x_2);
+x_3 = l_Lean_Parser_Command_declValEqns___elambda__1___closed__2;
+x_4 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_4, 0, x_3);
+lean_closure_set(x_4, 1, x_2);
+return x_4;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_declValEqns___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_declValEqns___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Command_declValEqns___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; uint8_t x_7;
-x_3 = l_Lean_Parser_Term_fun___elambda__1___closed__6;
+x_3 = l_Lean_Parser_Term_fun___elambda__1___closed__10;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
x_5 = l_Lean_Parser_Command_declValEqns___elambda__1___closed__4;
@@ -9870,82 +6722,12 @@ return x_9;
}
else
{
-lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
-x_16 = lean_ctor_get(x_2, 0);
-lean_inc(x_16);
-x_17 = lean_array_get_size(x_16);
-lean_dec(x_16);
-x_18 = lean_ctor_get(x_2, 1);
-lean_inc(x_18);
-lean_inc(x_1);
-x_19 = lean_apply_2(x_6, x_1, x_2);
-x_20 = lean_ctor_get(x_19, 3);
-lean_inc(x_20);
-if (lean_obj_tag(x_20) == 0)
-{
-lean_dec(x_18);
-lean_dec(x_17);
+lean_object* x_16; uint8_t x_17; lean_object* x_18;
lean_dec(x_4);
-lean_dec(x_1);
-return x_19;
-}
-else
-{
-lean_object* x_21; lean_object* x_22; uint8_t x_23;
-x_21 = lean_ctor_get(x_20, 0);
-lean_inc(x_21);
-lean_dec(x_20);
-x_22 = lean_ctor_get(x_19, 1);
-lean_inc(x_22);
-x_23 = lean_nat_dec_eq(x_22, x_18);
-lean_dec(x_22);
-if (x_23 == 0)
-{
-lean_dec(x_21);
-lean_dec(x_18);
-lean_dec(x_17);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_19;
-}
-else
-{
-lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
-lean_inc(x_18);
-x_24 = l_Lean_Parser_ParserState_restore(x_19, x_17, x_18);
-lean_dec(x_17);
-x_25 = lean_unsigned_to_nat(1024u);
-x_26 = l_Lean_Parser_checkPrecFn(x_25, x_1, x_24);
-x_27 = lean_ctor_get(x_26, 3);
-lean_inc(x_27);
-if (lean_obj_tag(x_27) == 0)
-{
-lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; uint8_t x_33; lean_object* x_34;
-x_28 = lean_ctor_get(x_26, 0);
-lean_inc(x_28);
-x_29 = lean_array_get_size(x_28);
-lean_dec(x_28);
-x_30 = lean_apply_2(x_4, x_1, x_26);
-x_31 = l_Lean_Parser_Command_declValEqns___elambda__1___closed__2;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_29);
-x_33 = 1;
-x_34 = l_Lean_Parser_mergeOrElseErrors(x_32, x_21, x_18, x_33);
-lean_dec(x_18);
-return x_34;
-}
-else
-{
-uint8_t x_35; lean_object* x_36;
-lean_dec(x_27);
-lean_dec(x_4);
-lean_dec(x_1);
-x_35 = 1;
-x_36 = l_Lean_Parser_mergeOrElseErrors(x_26, x_21, x_18, x_35);
-lean_dec(x_18);
-return x_36;
-}
-}
-}
+x_16 = l_Lean_Parser_Command_declValEqns___elambda__1___closed__6;
+x_17 = 1;
+x_18 = l_Lean_Parser_orelseFnCore(x_6, x_16, x_17, x_1, x_2);
+return x_18;
}
}
}
@@ -9953,7 +6735,7 @@ static lean_object* _init_l_Lean_Parser_Command_declValEqns___closed__1() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
-x_1 = l_Lean_Parser_Term_fun___elambda__1___closed__6;
+x_1 = l_Lean_Parser_Term_fun___elambda__1___closed__10;
x_2 = lean_ctor_get(x_1, 0);
lean_inc(x_2);
x_3 = l_Lean_Parser_Command_declValEqns___elambda__1___closed__2;
@@ -10014,56 +6796,13 @@ return x_1;
lean_object* l_Lean_Parser_Command_declVal___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-lean_inc(x_1);
-x_6 = l_Lean_Parser_Command_declValSimple___elambda__1(x_1, x_2);
-x_7 = lean_ctor_get(x_6, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
-{
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_1);
+lean_object* x_3; lean_object* x_4; uint8_t x_5; lean_object* x_6;
+x_3 = l_Lean_Parser_Command_declValSimple___closed__6;
+x_4 = l_Lean_Parser_Command_declValEqns___closed__4;
+x_5 = 1;
+x_6 = l_Lean_Parser_orelseFnCore(x_3, x_4, x_5, x_1, x_2);
return x_6;
}
-else
-{
-lean_object* x_8; lean_object* x_9; uint8_t x_10;
-x_8 = lean_ctor_get(x_7, 0);
-lean_inc(x_8);
-lean_dec(x_7);
-x_9 = lean_ctor_get(x_6, 1);
-lean_inc(x_9);
-x_10 = lean_nat_dec_eq(x_9, x_5);
-lean_dec(x_9);
-if (x_10 == 0)
-{
-lean_dec(x_8);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_6;
-}
-else
-{
-lean_object* x_11; lean_object* x_12; uint8_t x_13; lean_object* x_14;
-lean_inc(x_5);
-x_11 = l_Lean_Parser_ParserState_restore(x_6, x_4, x_5);
-lean_dec(x_4);
-x_12 = l_Lean_Parser_Command_declValEqns___elambda__1(x_1, x_11);
-x_13 = 1;
-x_14 = l_Lean_Parser_mergeOrElseErrors(x_12, x_8, x_5, x_13);
-lean_dec(x_5);
-return x_14;
-}
-}
-}
}
static lean_object* _init_l_Lean_Parser_Command_declVal___closed__1() {
_start:
@@ -10166,20 +6905,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_abbrev___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_abbrev___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_abbrev___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_abbrev___elambda__1___closed__8() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Command_abbrev___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Command_optDeclSig___closed__4;
+x_2 = l_Lean_Parser_Command_declVal___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -10187,11 +6928,67 @@ static lean_object* _init_l_Lean_Parser_Command_abbrev___elambda__1___closed__9(
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Command_declId___closed__9;
x_2 = l_Lean_Parser_Command_abbrev___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_abbrev___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_abbrev___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Command_abbrev___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_abbrev___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_abbrev___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_abbrev___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_abbrev___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_abbrev___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_abbrev___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Command_abbrev___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_abbrev___elambda__1___closed__14() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_abbrev___elambda__1___closed__13;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -10215,123 +7012,70 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_27; lean_object* x_28; lean_object* x_29;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_27 = lean_ctor_get(x_7, 1);
-lean_inc(x_27);
+x_11 = l_Lean_Parser_Command_abbrev___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Command_abbrev___elambda__1___closed__14;
lean_inc(x_1);
-x_28 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_29 = lean_ctor_get(x_28, 3);
-lean_inc(x_29);
-if (lean_obj_tag(x_29) == 0)
-{
-lean_object* x_30; lean_object* x_31;
-x_30 = lean_ctor_get(x_28, 0);
-lean_inc(x_30);
-x_31 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_30);
-lean_dec(x_30);
-if (lean_obj_tag(x_31) == 2)
-{
-lean_object* x_32; lean_object* x_33; uint8_t x_34;
-x_32 = lean_ctor_get(x_31, 1);
-lean_inc(x_32);
-lean_dec(x_31);
-x_33 = l_Lean_Parser_Command_abbrev___elambda__1___closed__6;
-x_34 = lean_string_dec_eq(x_32, x_33);
-lean_dec(x_32);
-if (x_34 == 0)
-{
-lean_object* x_35; lean_object* x_36;
-x_35 = l_Lean_Parser_Command_abbrev___elambda__1___closed__9;
-x_36 = l_Lean_Parser_ParserState_mkErrorsAt(x_28, x_35, x_27);
-x_11 = x_36;
-goto block_26;
-}
-else
-{
-lean_dec(x_27);
-x_11 = x_28;
-goto block_26;
-}
-}
-else
-{
-lean_object* x_37; lean_object* x_38;
-lean_dec(x_31);
-x_37 = l_Lean_Parser_Command_abbrev___elambda__1___closed__9;
-x_38 = l_Lean_Parser_ParserState_mkErrorsAt(x_28, x_37, x_27);
-x_11 = x_38;
-goto block_26;
-}
-}
-else
-{
-lean_object* x_39; lean_object* x_40;
-lean_dec(x_29);
-x_39 = l_Lean_Parser_Command_abbrev___elambda__1___closed__9;
-x_40 = l_Lean_Parser_ParserState_mkErrorsAt(x_28, x_39, x_27);
-x_11 = x_40;
-goto block_26;
-}
-block_26:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14;
-lean_inc(x_1);
-x_13 = l_Lean_Parser_Command_declId___elambda__1(x_1, x_11);
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
x_14 = lean_ctor_get(x_13, 3);
lean_inc(x_14);
if (lean_obj_tag(x_14) == 0)
{
lean_object* x_15; lean_object* x_16;
lean_inc(x_1);
-x_15 = l_Lean_Parser_Command_optDeclSig___elambda__1(x_1, x_13);
+x_15 = l_Lean_Parser_Command_declId___elambda__1(x_1, x_13);
x_16 = lean_ctor_get(x_15, 3);
lean_inc(x_16);
if (lean_obj_tag(x_16) == 0)
{
-lean_object* x_17; lean_object* x_18; lean_object* x_19;
-x_17 = l_Lean_Parser_Command_declVal___elambda__1(x_1, x_15);
-x_18 = l_Lean_Parser_Command_abbrev___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_10);
-return x_19;
+lean_object* x_17; lean_object* x_18;
+lean_inc(x_1);
+x_17 = l_Lean_Parser_Command_optDeclSig___elambda__1(x_1, x_15);
+x_18 = lean_ctor_get(x_17, 3);
+lean_inc(x_18);
+if (lean_obj_tag(x_18) == 0)
+{
+lean_object* x_19; lean_object* x_20; uint8_t x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
+x_19 = l_Lean_Parser_Command_declValSimple___closed__6;
+x_20 = l_Lean_Parser_Command_declValEqns___closed__4;
+x_21 = 1;
+x_22 = l_Lean_Parser_orelseFnCore(x_19, x_20, x_21, x_1, x_17);
+x_23 = l_Lean_Parser_Command_abbrev___elambda__1___closed__2;
+x_24 = l_Lean_Parser_ParserState_mkNode(x_22, x_23, x_10);
+return x_24;
}
else
{
-lean_object* x_20; lean_object* x_21;
+lean_object* x_25; lean_object* x_26;
+lean_dec(x_18);
+lean_dec(x_1);
+x_25 = l_Lean_Parser_Command_abbrev___elambda__1___closed__2;
+x_26 = l_Lean_Parser_ParserState_mkNode(x_17, x_25, x_10);
+return x_26;
+}
+}
+else
+{
+lean_object* x_27; lean_object* x_28;
lean_dec(x_16);
lean_dec(x_1);
-x_20 = l_Lean_Parser_Command_abbrev___elambda__1___closed__2;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_15, x_20, x_10);
-return x_21;
+x_27 = l_Lean_Parser_Command_abbrev___elambda__1___closed__2;
+x_28 = l_Lean_Parser_ParserState_mkNode(x_15, x_27, x_10);
+return x_28;
}
}
else
{
-lean_object* x_22; lean_object* x_23;
+lean_object* x_29; lean_object* x_30;
lean_dec(x_14);
lean_dec(x_1);
-x_22 = l_Lean_Parser_Command_abbrev___elambda__1___closed__2;
-x_23 = l_Lean_Parser_ParserState_mkNode(x_13, x_22, x_10);
-return x_23;
-}
-}
-else
-{
-lean_object* x_24; lean_object* x_25;
-lean_dec(x_12);
-lean_dec(x_1);
-x_24 = l_Lean_Parser_Command_abbrev___elambda__1___closed__2;
-x_25 = l_Lean_Parser_ParserState_mkNode(x_11, x_24, x_10);
-return x_25;
-}
+x_29 = l_Lean_Parser_Command_abbrev___elambda__1___closed__2;
+x_30 = l_Lean_Parser_ParserState_mkNode(x_13, x_29, x_10);
+return x_30;
}
}
else
@@ -10343,197 +7087,11 @@ return x_7;
}
else
{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45;
-x_41 = lean_ctor_get(x_2, 0);
-lean_inc(x_41);
-x_42 = lean_array_get_size(x_41);
-lean_dec(x_41);
-x_43 = lean_ctor_get(x_2, 1);
-lean_inc(x_43);
-lean_inc(x_1);
-x_44 = lean_apply_2(x_4, x_1, x_2);
-x_45 = lean_ctor_get(x_44, 3);
-lean_inc(x_45);
-if (lean_obj_tag(x_45) == 0)
-{
-lean_dec(x_43);
-lean_dec(x_42);
-lean_dec(x_1);
-return x_44;
-}
-else
-{
-lean_object* x_46; lean_object* x_47; uint8_t x_48;
-x_46 = lean_ctor_get(x_45, 0);
-lean_inc(x_46);
-lean_dec(x_45);
-x_47 = lean_ctor_get(x_44, 1);
-lean_inc(x_47);
-x_48 = lean_nat_dec_eq(x_47, x_43);
-lean_dec(x_47);
-if (x_48 == 0)
-{
-lean_dec(x_46);
-lean_dec(x_43);
-lean_dec(x_42);
-lean_dec(x_1);
-return x_44;
-}
-else
-{
-lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52;
-lean_inc(x_43);
-x_49 = l_Lean_Parser_ParserState_restore(x_44, x_42, x_43);
-lean_dec(x_42);
-x_50 = lean_unsigned_to_nat(1024u);
-x_51 = l_Lean_Parser_checkPrecFn(x_50, x_1, x_49);
-x_52 = lean_ctor_get(x_51, 3);
-lean_inc(x_52);
-if (lean_obj_tag(x_52) == 0)
-{
-lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_79; lean_object* x_80; lean_object* x_81;
-x_53 = lean_ctor_get(x_51, 0);
-lean_inc(x_53);
-x_54 = lean_array_get_size(x_53);
-lean_dec(x_53);
-x_79 = lean_ctor_get(x_51, 1);
-lean_inc(x_79);
-lean_inc(x_1);
-x_80 = l_Lean_Parser_tokenFn(x_1, x_51);
-x_81 = lean_ctor_get(x_80, 3);
-lean_inc(x_81);
-if (lean_obj_tag(x_81) == 0)
-{
-lean_object* x_82; lean_object* x_83;
-x_82 = lean_ctor_get(x_80, 0);
-lean_inc(x_82);
-x_83 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_82);
-lean_dec(x_82);
-if (lean_obj_tag(x_83) == 2)
-{
-lean_object* x_84; lean_object* x_85; uint8_t x_86;
-x_84 = lean_ctor_get(x_83, 1);
-lean_inc(x_84);
-lean_dec(x_83);
-x_85 = l_Lean_Parser_Command_abbrev___elambda__1___closed__6;
-x_86 = lean_string_dec_eq(x_84, x_85);
-lean_dec(x_84);
-if (x_86 == 0)
-{
-lean_object* x_87; lean_object* x_88;
-x_87 = l_Lean_Parser_Command_abbrev___elambda__1___closed__9;
-x_88 = l_Lean_Parser_ParserState_mkErrorsAt(x_80, x_87, x_79);
-x_55 = x_88;
-goto block_78;
-}
-else
-{
-lean_dec(x_79);
-x_55 = x_80;
-goto block_78;
-}
-}
-else
-{
-lean_object* x_89; lean_object* x_90;
-lean_dec(x_83);
-x_89 = l_Lean_Parser_Command_abbrev___elambda__1___closed__9;
-x_90 = l_Lean_Parser_ParserState_mkErrorsAt(x_80, x_89, x_79);
-x_55 = x_90;
-goto block_78;
-}
-}
-else
-{
-lean_object* x_91; lean_object* x_92;
-lean_dec(x_81);
-x_91 = l_Lean_Parser_Command_abbrev___elambda__1___closed__9;
-x_92 = l_Lean_Parser_ParserState_mkErrorsAt(x_80, x_91, x_79);
-x_55 = x_92;
-goto block_78;
-}
-block_78:
-{
-lean_object* x_56;
-x_56 = lean_ctor_get(x_55, 3);
-lean_inc(x_56);
-if (lean_obj_tag(x_56) == 0)
-{
-lean_object* x_57; lean_object* x_58;
-lean_inc(x_1);
-x_57 = l_Lean_Parser_Command_declId___elambda__1(x_1, x_55);
-x_58 = lean_ctor_get(x_57, 3);
-lean_inc(x_58);
-if (lean_obj_tag(x_58) == 0)
-{
-lean_object* x_59; lean_object* x_60;
-lean_inc(x_1);
-x_59 = l_Lean_Parser_Command_optDeclSig___elambda__1(x_1, x_57);
-x_60 = lean_ctor_get(x_59, 3);
-lean_inc(x_60);
-if (lean_obj_tag(x_60) == 0)
-{
-lean_object* x_61; lean_object* x_62; lean_object* x_63; uint8_t x_64; lean_object* x_65;
-x_61 = l_Lean_Parser_Command_declVal___elambda__1(x_1, x_59);
-x_62 = l_Lean_Parser_Command_abbrev___elambda__1___closed__2;
-x_63 = l_Lean_Parser_ParserState_mkNode(x_61, x_62, x_54);
-x_64 = 1;
-x_65 = l_Lean_Parser_mergeOrElseErrors(x_63, x_46, x_43, x_64);
-lean_dec(x_43);
-return x_65;
-}
-else
-{
-lean_object* x_66; lean_object* x_67; uint8_t x_68; lean_object* x_69;
-lean_dec(x_60);
-lean_dec(x_1);
-x_66 = l_Lean_Parser_Command_abbrev___elambda__1___closed__2;
-x_67 = l_Lean_Parser_ParserState_mkNode(x_59, x_66, x_54);
-x_68 = 1;
-x_69 = l_Lean_Parser_mergeOrElseErrors(x_67, x_46, x_43, x_68);
-lean_dec(x_43);
-return x_69;
-}
-}
-else
-{
-lean_object* x_70; lean_object* x_71; uint8_t x_72; lean_object* x_73;
-lean_dec(x_58);
-lean_dec(x_1);
-x_70 = l_Lean_Parser_Command_abbrev___elambda__1___closed__2;
-x_71 = l_Lean_Parser_ParserState_mkNode(x_57, x_70, x_54);
-x_72 = 1;
-x_73 = l_Lean_Parser_mergeOrElseErrors(x_71, x_46, x_43, x_72);
-lean_dec(x_43);
-return x_73;
-}
-}
-else
-{
-lean_object* x_74; lean_object* x_75; uint8_t x_76; lean_object* x_77;
-lean_dec(x_56);
-lean_dec(x_1);
-x_74 = l_Lean_Parser_Command_abbrev___elambda__1___closed__2;
-x_75 = l_Lean_Parser_ParserState_mkNode(x_55, x_74, x_54);
-x_76 = 1;
-x_77 = l_Lean_Parser_mergeOrElseErrors(x_75, x_46, x_43, x_76);
-lean_dec(x_43);
-return x_77;
-}
-}
-}
-else
-{
-uint8_t x_93; lean_object* x_94;
-lean_dec(x_52);
-lean_dec(x_1);
-x_93 = 1;
-x_94 = l_Lean_Parser_mergeOrElseErrors(x_51, x_46, x_43, x_93);
-lean_dec(x_43);
-return x_94;
-}
-}
-}
+lean_object* x_31; uint8_t x_32; lean_object* x_33;
+x_31 = l_Lean_Parser_Command_abbrev___elambda__1___closed__12;
+x_32 = 1;
+x_33 = l_Lean_Parser_orelseFnCore(x_4, x_31, x_32, x_1, x_2);
+return x_33;
}
}
}
@@ -10701,11 +7259,11 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_def___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_def___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_def___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_def___elambda__1___closed__8() {
@@ -10713,8 +7271,10 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Command_def___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_2 = l_Lean_Parser_Command_abbrev___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -10722,11 +7282,43 @@ static lean_object* _init_l_Lean_Parser_Command_def___elambda__1___closed__9() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Command_def___elambda__1___closed__2;
x_2 = l_Lean_Parser_Command_def___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_def___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_def___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_def___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Command_def___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_def___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_def___elambda__1___closed__11;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -10750,123 +7342,70 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_27; lean_object* x_28; lean_object* x_29;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_27 = lean_ctor_get(x_7, 1);
-lean_inc(x_27);
+x_11 = l_Lean_Parser_Command_def___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Command_def___elambda__1___closed__12;
lean_inc(x_1);
-x_28 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_29 = lean_ctor_get(x_28, 3);
-lean_inc(x_29);
-if (lean_obj_tag(x_29) == 0)
-{
-lean_object* x_30; lean_object* x_31;
-x_30 = lean_ctor_get(x_28, 0);
-lean_inc(x_30);
-x_31 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_30);
-lean_dec(x_30);
-if (lean_obj_tag(x_31) == 2)
-{
-lean_object* x_32; lean_object* x_33; uint8_t x_34;
-x_32 = lean_ctor_get(x_31, 1);
-lean_inc(x_32);
-lean_dec(x_31);
-x_33 = l_Lean_Parser_Command_def___elambda__1___closed__6;
-x_34 = lean_string_dec_eq(x_32, x_33);
-lean_dec(x_32);
-if (x_34 == 0)
-{
-lean_object* x_35; lean_object* x_36;
-x_35 = l_Lean_Parser_Command_def___elambda__1___closed__9;
-x_36 = l_Lean_Parser_ParserState_mkErrorsAt(x_28, x_35, x_27);
-x_11 = x_36;
-goto block_26;
-}
-else
-{
-lean_dec(x_27);
-x_11 = x_28;
-goto block_26;
-}
-}
-else
-{
-lean_object* x_37; lean_object* x_38;
-lean_dec(x_31);
-x_37 = l_Lean_Parser_Command_def___elambda__1___closed__9;
-x_38 = l_Lean_Parser_ParserState_mkErrorsAt(x_28, x_37, x_27);
-x_11 = x_38;
-goto block_26;
-}
-}
-else
-{
-lean_object* x_39; lean_object* x_40;
-lean_dec(x_29);
-x_39 = l_Lean_Parser_Command_def___elambda__1___closed__9;
-x_40 = l_Lean_Parser_ParserState_mkErrorsAt(x_28, x_39, x_27);
-x_11 = x_40;
-goto block_26;
-}
-block_26:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14;
-lean_inc(x_1);
-x_13 = l_Lean_Parser_Command_declId___elambda__1(x_1, x_11);
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
x_14 = lean_ctor_get(x_13, 3);
lean_inc(x_14);
if (lean_obj_tag(x_14) == 0)
{
lean_object* x_15; lean_object* x_16;
lean_inc(x_1);
-x_15 = l_Lean_Parser_Command_optDeclSig___elambda__1(x_1, x_13);
+x_15 = l_Lean_Parser_Command_declId___elambda__1(x_1, x_13);
x_16 = lean_ctor_get(x_15, 3);
lean_inc(x_16);
if (lean_obj_tag(x_16) == 0)
{
-lean_object* x_17; lean_object* x_18; lean_object* x_19;
-x_17 = l_Lean_Parser_Command_declVal___elambda__1(x_1, x_15);
-x_18 = l_Lean_Parser_Command_def___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_10);
-return x_19;
+lean_object* x_17; lean_object* x_18;
+lean_inc(x_1);
+x_17 = l_Lean_Parser_Command_optDeclSig___elambda__1(x_1, x_15);
+x_18 = lean_ctor_get(x_17, 3);
+lean_inc(x_18);
+if (lean_obj_tag(x_18) == 0)
+{
+lean_object* x_19; lean_object* x_20; uint8_t x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
+x_19 = l_Lean_Parser_Command_declValSimple___closed__6;
+x_20 = l_Lean_Parser_Command_declValEqns___closed__4;
+x_21 = 1;
+x_22 = l_Lean_Parser_orelseFnCore(x_19, x_20, x_21, x_1, x_17);
+x_23 = l_Lean_Parser_Command_def___elambda__1___closed__2;
+x_24 = l_Lean_Parser_ParserState_mkNode(x_22, x_23, x_10);
+return x_24;
}
else
{
-lean_object* x_20; lean_object* x_21;
+lean_object* x_25; lean_object* x_26;
+lean_dec(x_18);
+lean_dec(x_1);
+x_25 = l_Lean_Parser_Command_def___elambda__1___closed__2;
+x_26 = l_Lean_Parser_ParserState_mkNode(x_17, x_25, x_10);
+return x_26;
+}
+}
+else
+{
+lean_object* x_27; lean_object* x_28;
lean_dec(x_16);
lean_dec(x_1);
-x_20 = l_Lean_Parser_Command_def___elambda__1___closed__2;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_15, x_20, x_10);
-return x_21;
+x_27 = l_Lean_Parser_Command_def___elambda__1___closed__2;
+x_28 = l_Lean_Parser_ParserState_mkNode(x_15, x_27, x_10);
+return x_28;
}
}
else
{
-lean_object* x_22; lean_object* x_23;
+lean_object* x_29; lean_object* x_30;
lean_dec(x_14);
lean_dec(x_1);
-x_22 = l_Lean_Parser_Command_def___elambda__1___closed__2;
-x_23 = l_Lean_Parser_ParserState_mkNode(x_13, x_22, x_10);
-return x_23;
-}
-}
-else
-{
-lean_object* x_24; lean_object* x_25;
-lean_dec(x_12);
-lean_dec(x_1);
-x_24 = l_Lean_Parser_Command_def___elambda__1___closed__2;
-x_25 = l_Lean_Parser_ParserState_mkNode(x_11, x_24, x_10);
-return x_25;
-}
+x_29 = l_Lean_Parser_Command_def___elambda__1___closed__2;
+x_30 = l_Lean_Parser_ParserState_mkNode(x_13, x_29, x_10);
+return x_30;
}
}
else
@@ -10878,197 +7417,11 @@ return x_7;
}
else
{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45;
-x_41 = lean_ctor_get(x_2, 0);
-lean_inc(x_41);
-x_42 = lean_array_get_size(x_41);
-lean_dec(x_41);
-x_43 = lean_ctor_get(x_2, 1);
-lean_inc(x_43);
-lean_inc(x_1);
-x_44 = lean_apply_2(x_4, x_1, x_2);
-x_45 = lean_ctor_get(x_44, 3);
-lean_inc(x_45);
-if (lean_obj_tag(x_45) == 0)
-{
-lean_dec(x_43);
-lean_dec(x_42);
-lean_dec(x_1);
-return x_44;
-}
-else
-{
-lean_object* x_46; lean_object* x_47; uint8_t x_48;
-x_46 = lean_ctor_get(x_45, 0);
-lean_inc(x_46);
-lean_dec(x_45);
-x_47 = lean_ctor_get(x_44, 1);
-lean_inc(x_47);
-x_48 = lean_nat_dec_eq(x_47, x_43);
-lean_dec(x_47);
-if (x_48 == 0)
-{
-lean_dec(x_46);
-lean_dec(x_43);
-lean_dec(x_42);
-lean_dec(x_1);
-return x_44;
-}
-else
-{
-lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52;
-lean_inc(x_43);
-x_49 = l_Lean_Parser_ParserState_restore(x_44, x_42, x_43);
-lean_dec(x_42);
-x_50 = lean_unsigned_to_nat(1024u);
-x_51 = l_Lean_Parser_checkPrecFn(x_50, x_1, x_49);
-x_52 = lean_ctor_get(x_51, 3);
-lean_inc(x_52);
-if (lean_obj_tag(x_52) == 0)
-{
-lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_79; lean_object* x_80; lean_object* x_81;
-x_53 = lean_ctor_get(x_51, 0);
-lean_inc(x_53);
-x_54 = lean_array_get_size(x_53);
-lean_dec(x_53);
-x_79 = lean_ctor_get(x_51, 1);
-lean_inc(x_79);
-lean_inc(x_1);
-x_80 = l_Lean_Parser_tokenFn(x_1, x_51);
-x_81 = lean_ctor_get(x_80, 3);
-lean_inc(x_81);
-if (lean_obj_tag(x_81) == 0)
-{
-lean_object* x_82; lean_object* x_83;
-x_82 = lean_ctor_get(x_80, 0);
-lean_inc(x_82);
-x_83 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_82);
-lean_dec(x_82);
-if (lean_obj_tag(x_83) == 2)
-{
-lean_object* x_84; lean_object* x_85; uint8_t x_86;
-x_84 = lean_ctor_get(x_83, 1);
-lean_inc(x_84);
-lean_dec(x_83);
-x_85 = l_Lean_Parser_Command_def___elambda__1___closed__6;
-x_86 = lean_string_dec_eq(x_84, x_85);
-lean_dec(x_84);
-if (x_86 == 0)
-{
-lean_object* x_87; lean_object* x_88;
-x_87 = l_Lean_Parser_Command_def___elambda__1___closed__9;
-x_88 = l_Lean_Parser_ParserState_mkErrorsAt(x_80, x_87, x_79);
-x_55 = x_88;
-goto block_78;
-}
-else
-{
-lean_dec(x_79);
-x_55 = x_80;
-goto block_78;
-}
-}
-else
-{
-lean_object* x_89; lean_object* x_90;
-lean_dec(x_83);
-x_89 = l_Lean_Parser_Command_def___elambda__1___closed__9;
-x_90 = l_Lean_Parser_ParserState_mkErrorsAt(x_80, x_89, x_79);
-x_55 = x_90;
-goto block_78;
-}
-}
-else
-{
-lean_object* x_91; lean_object* x_92;
-lean_dec(x_81);
-x_91 = l_Lean_Parser_Command_def___elambda__1___closed__9;
-x_92 = l_Lean_Parser_ParserState_mkErrorsAt(x_80, x_91, x_79);
-x_55 = x_92;
-goto block_78;
-}
-block_78:
-{
-lean_object* x_56;
-x_56 = lean_ctor_get(x_55, 3);
-lean_inc(x_56);
-if (lean_obj_tag(x_56) == 0)
-{
-lean_object* x_57; lean_object* x_58;
-lean_inc(x_1);
-x_57 = l_Lean_Parser_Command_declId___elambda__1(x_1, x_55);
-x_58 = lean_ctor_get(x_57, 3);
-lean_inc(x_58);
-if (lean_obj_tag(x_58) == 0)
-{
-lean_object* x_59; lean_object* x_60;
-lean_inc(x_1);
-x_59 = l_Lean_Parser_Command_optDeclSig___elambda__1(x_1, x_57);
-x_60 = lean_ctor_get(x_59, 3);
-lean_inc(x_60);
-if (lean_obj_tag(x_60) == 0)
-{
-lean_object* x_61; lean_object* x_62; lean_object* x_63; uint8_t x_64; lean_object* x_65;
-x_61 = l_Lean_Parser_Command_declVal___elambda__1(x_1, x_59);
-x_62 = l_Lean_Parser_Command_def___elambda__1___closed__2;
-x_63 = l_Lean_Parser_ParserState_mkNode(x_61, x_62, x_54);
-x_64 = 1;
-x_65 = l_Lean_Parser_mergeOrElseErrors(x_63, x_46, x_43, x_64);
-lean_dec(x_43);
-return x_65;
-}
-else
-{
-lean_object* x_66; lean_object* x_67; uint8_t x_68; lean_object* x_69;
-lean_dec(x_60);
-lean_dec(x_1);
-x_66 = l_Lean_Parser_Command_def___elambda__1___closed__2;
-x_67 = l_Lean_Parser_ParserState_mkNode(x_59, x_66, x_54);
-x_68 = 1;
-x_69 = l_Lean_Parser_mergeOrElseErrors(x_67, x_46, x_43, x_68);
-lean_dec(x_43);
-return x_69;
-}
-}
-else
-{
-lean_object* x_70; lean_object* x_71; uint8_t x_72; lean_object* x_73;
-lean_dec(x_58);
-lean_dec(x_1);
-x_70 = l_Lean_Parser_Command_def___elambda__1___closed__2;
-x_71 = l_Lean_Parser_ParserState_mkNode(x_57, x_70, x_54);
-x_72 = 1;
-x_73 = l_Lean_Parser_mergeOrElseErrors(x_71, x_46, x_43, x_72);
-lean_dec(x_43);
-return x_73;
-}
-}
-else
-{
-lean_object* x_74; lean_object* x_75; uint8_t x_76; lean_object* x_77;
-lean_dec(x_56);
-lean_dec(x_1);
-x_74 = l_Lean_Parser_Command_def___elambda__1___closed__2;
-x_75 = l_Lean_Parser_ParserState_mkNode(x_55, x_74, x_54);
-x_76 = 1;
-x_77 = l_Lean_Parser_mergeOrElseErrors(x_75, x_46, x_43, x_76);
-lean_dec(x_43);
-return x_77;
-}
-}
-}
-else
-{
-uint8_t x_93; lean_object* x_94;
-lean_dec(x_52);
-lean_dec(x_1);
-x_93 = 1;
-x_94 = l_Lean_Parser_mergeOrElseErrors(x_51, x_46, x_43, x_93);
-lean_dec(x_43);
-return x_94;
-}
-}
-}
+lean_object* x_31; uint8_t x_32; lean_object* x_33;
+x_31 = l_Lean_Parser_Command_def___elambda__1___closed__10;
+x_32 = 1;
+x_33 = l_Lean_Parser_orelseFnCore(x_4, x_31, x_32, x_1, x_2);
+return x_33;
}
}
}
@@ -11210,20 +7563,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_theorem___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_theorem___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_theorem___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_theorem___elambda__1___closed__8() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Command_theorem___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Command_declSig___closed__5;
+x_2 = l_Lean_Parser_Command_declVal___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -11231,11 +7586,67 @@ static lean_object* _init_l_Lean_Parser_Command_theorem___elambda__1___closed__9
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Command_declId___closed__9;
x_2 = l_Lean_Parser_Command_theorem___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_theorem___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_theorem___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Command_theorem___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_theorem___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_theorem___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_theorem___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_theorem___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_theorem___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_theorem___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Command_theorem___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_theorem___elambda__1___closed__14() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_theorem___elambda__1___closed__13;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -11259,123 +7670,70 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_27; lean_object* x_28; lean_object* x_29;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_27 = lean_ctor_get(x_7, 1);
-lean_inc(x_27);
+x_11 = l_Lean_Parser_Command_theorem___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Command_theorem___elambda__1___closed__14;
lean_inc(x_1);
-x_28 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_29 = lean_ctor_get(x_28, 3);
-lean_inc(x_29);
-if (lean_obj_tag(x_29) == 0)
-{
-lean_object* x_30; lean_object* x_31;
-x_30 = lean_ctor_get(x_28, 0);
-lean_inc(x_30);
-x_31 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_30);
-lean_dec(x_30);
-if (lean_obj_tag(x_31) == 2)
-{
-lean_object* x_32; lean_object* x_33; uint8_t x_34;
-x_32 = lean_ctor_get(x_31, 1);
-lean_inc(x_32);
-lean_dec(x_31);
-x_33 = l_Lean_Parser_Command_theorem___elambda__1___closed__6;
-x_34 = lean_string_dec_eq(x_32, x_33);
-lean_dec(x_32);
-if (x_34 == 0)
-{
-lean_object* x_35; lean_object* x_36;
-x_35 = l_Lean_Parser_Command_theorem___elambda__1___closed__9;
-x_36 = l_Lean_Parser_ParserState_mkErrorsAt(x_28, x_35, x_27);
-x_11 = x_36;
-goto block_26;
-}
-else
-{
-lean_dec(x_27);
-x_11 = x_28;
-goto block_26;
-}
-}
-else
-{
-lean_object* x_37; lean_object* x_38;
-lean_dec(x_31);
-x_37 = l_Lean_Parser_Command_theorem___elambda__1___closed__9;
-x_38 = l_Lean_Parser_ParserState_mkErrorsAt(x_28, x_37, x_27);
-x_11 = x_38;
-goto block_26;
-}
-}
-else
-{
-lean_object* x_39; lean_object* x_40;
-lean_dec(x_29);
-x_39 = l_Lean_Parser_Command_theorem___elambda__1___closed__9;
-x_40 = l_Lean_Parser_ParserState_mkErrorsAt(x_28, x_39, x_27);
-x_11 = x_40;
-goto block_26;
-}
-block_26:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14;
-lean_inc(x_1);
-x_13 = l_Lean_Parser_Command_declId___elambda__1(x_1, x_11);
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
x_14 = lean_ctor_get(x_13, 3);
lean_inc(x_14);
if (lean_obj_tag(x_14) == 0)
{
lean_object* x_15; lean_object* x_16;
lean_inc(x_1);
-x_15 = l_Lean_Parser_Command_declSig___elambda__1(x_1, x_13);
+x_15 = l_Lean_Parser_Command_declId___elambda__1(x_1, x_13);
x_16 = lean_ctor_get(x_15, 3);
lean_inc(x_16);
if (lean_obj_tag(x_16) == 0)
{
-lean_object* x_17; lean_object* x_18; lean_object* x_19;
-x_17 = l_Lean_Parser_Command_declVal___elambda__1(x_1, x_15);
-x_18 = l_Lean_Parser_Command_theorem___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_10);
-return x_19;
+lean_object* x_17; lean_object* x_18;
+lean_inc(x_1);
+x_17 = l_Lean_Parser_Command_declSig___elambda__1(x_1, x_15);
+x_18 = lean_ctor_get(x_17, 3);
+lean_inc(x_18);
+if (lean_obj_tag(x_18) == 0)
+{
+lean_object* x_19; lean_object* x_20; uint8_t x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
+x_19 = l_Lean_Parser_Command_declValSimple___closed__6;
+x_20 = l_Lean_Parser_Command_declValEqns___closed__4;
+x_21 = 1;
+x_22 = l_Lean_Parser_orelseFnCore(x_19, x_20, x_21, x_1, x_17);
+x_23 = l_Lean_Parser_Command_theorem___elambda__1___closed__2;
+x_24 = l_Lean_Parser_ParserState_mkNode(x_22, x_23, x_10);
+return x_24;
}
else
{
-lean_object* x_20; lean_object* x_21;
+lean_object* x_25; lean_object* x_26;
+lean_dec(x_18);
+lean_dec(x_1);
+x_25 = l_Lean_Parser_Command_theorem___elambda__1___closed__2;
+x_26 = l_Lean_Parser_ParserState_mkNode(x_17, x_25, x_10);
+return x_26;
+}
+}
+else
+{
+lean_object* x_27; lean_object* x_28;
lean_dec(x_16);
lean_dec(x_1);
-x_20 = l_Lean_Parser_Command_theorem___elambda__1___closed__2;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_15, x_20, x_10);
-return x_21;
+x_27 = l_Lean_Parser_Command_theorem___elambda__1___closed__2;
+x_28 = l_Lean_Parser_ParserState_mkNode(x_15, x_27, x_10);
+return x_28;
}
}
else
{
-lean_object* x_22; lean_object* x_23;
+lean_object* x_29; lean_object* x_30;
lean_dec(x_14);
lean_dec(x_1);
-x_22 = l_Lean_Parser_Command_theorem___elambda__1___closed__2;
-x_23 = l_Lean_Parser_ParserState_mkNode(x_13, x_22, x_10);
-return x_23;
-}
-}
-else
-{
-lean_object* x_24; lean_object* x_25;
-lean_dec(x_12);
-lean_dec(x_1);
-x_24 = l_Lean_Parser_Command_theorem___elambda__1___closed__2;
-x_25 = l_Lean_Parser_ParserState_mkNode(x_11, x_24, x_10);
-return x_25;
-}
+x_29 = l_Lean_Parser_Command_theorem___elambda__1___closed__2;
+x_30 = l_Lean_Parser_ParserState_mkNode(x_13, x_29, x_10);
+return x_30;
}
}
else
@@ -11387,197 +7745,11 @@ return x_7;
}
else
{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45;
-x_41 = lean_ctor_get(x_2, 0);
-lean_inc(x_41);
-x_42 = lean_array_get_size(x_41);
-lean_dec(x_41);
-x_43 = lean_ctor_get(x_2, 1);
-lean_inc(x_43);
-lean_inc(x_1);
-x_44 = lean_apply_2(x_4, x_1, x_2);
-x_45 = lean_ctor_get(x_44, 3);
-lean_inc(x_45);
-if (lean_obj_tag(x_45) == 0)
-{
-lean_dec(x_43);
-lean_dec(x_42);
-lean_dec(x_1);
-return x_44;
-}
-else
-{
-lean_object* x_46; lean_object* x_47; uint8_t x_48;
-x_46 = lean_ctor_get(x_45, 0);
-lean_inc(x_46);
-lean_dec(x_45);
-x_47 = lean_ctor_get(x_44, 1);
-lean_inc(x_47);
-x_48 = lean_nat_dec_eq(x_47, x_43);
-lean_dec(x_47);
-if (x_48 == 0)
-{
-lean_dec(x_46);
-lean_dec(x_43);
-lean_dec(x_42);
-lean_dec(x_1);
-return x_44;
-}
-else
-{
-lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52;
-lean_inc(x_43);
-x_49 = l_Lean_Parser_ParserState_restore(x_44, x_42, x_43);
-lean_dec(x_42);
-x_50 = lean_unsigned_to_nat(1024u);
-x_51 = l_Lean_Parser_checkPrecFn(x_50, x_1, x_49);
-x_52 = lean_ctor_get(x_51, 3);
-lean_inc(x_52);
-if (lean_obj_tag(x_52) == 0)
-{
-lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_79; lean_object* x_80; lean_object* x_81;
-x_53 = lean_ctor_get(x_51, 0);
-lean_inc(x_53);
-x_54 = lean_array_get_size(x_53);
-lean_dec(x_53);
-x_79 = lean_ctor_get(x_51, 1);
-lean_inc(x_79);
-lean_inc(x_1);
-x_80 = l_Lean_Parser_tokenFn(x_1, x_51);
-x_81 = lean_ctor_get(x_80, 3);
-lean_inc(x_81);
-if (lean_obj_tag(x_81) == 0)
-{
-lean_object* x_82; lean_object* x_83;
-x_82 = lean_ctor_get(x_80, 0);
-lean_inc(x_82);
-x_83 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_82);
-lean_dec(x_82);
-if (lean_obj_tag(x_83) == 2)
-{
-lean_object* x_84; lean_object* x_85; uint8_t x_86;
-x_84 = lean_ctor_get(x_83, 1);
-lean_inc(x_84);
-lean_dec(x_83);
-x_85 = l_Lean_Parser_Command_theorem___elambda__1___closed__6;
-x_86 = lean_string_dec_eq(x_84, x_85);
-lean_dec(x_84);
-if (x_86 == 0)
-{
-lean_object* x_87; lean_object* x_88;
-x_87 = l_Lean_Parser_Command_theorem___elambda__1___closed__9;
-x_88 = l_Lean_Parser_ParserState_mkErrorsAt(x_80, x_87, x_79);
-x_55 = x_88;
-goto block_78;
-}
-else
-{
-lean_dec(x_79);
-x_55 = x_80;
-goto block_78;
-}
-}
-else
-{
-lean_object* x_89; lean_object* x_90;
-lean_dec(x_83);
-x_89 = l_Lean_Parser_Command_theorem___elambda__1___closed__9;
-x_90 = l_Lean_Parser_ParserState_mkErrorsAt(x_80, x_89, x_79);
-x_55 = x_90;
-goto block_78;
-}
-}
-else
-{
-lean_object* x_91; lean_object* x_92;
-lean_dec(x_81);
-x_91 = l_Lean_Parser_Command_theorem___elambda__1___closed__9;
-x_92 = l_Lean_Parser_ParserState_mkErrorsAt(x_80, x_91, x_79);
-x_55 = x_92;
-goto block_78;
-}
-block_78:
-{
-lean_object* x_56;
-x_56 = lean_ctor_get(x_55, 3);
-lean_inc(x_56);
-if (lean_obj_tag(x_56) == 0)
-{
-lean_object* x_57; lean_object* x_58;
-lean_inc(x_1);
-x_57 = l_Lean_Parser_Command_declId___elambda__1(x_1, x_55);
-x_58 = lean_ctor_get(x_57, 3);
-lean_inc(x_58);
-if (lean_obj_tag(x_58) == 0)
-{
-lean_object* x_59; lean_object* x_60;
-lean_inc(x_1);
-x_59 = l_Lean_Parser_Command_declSig___elambda__1(x_1, x_57);
-x_60 = lean_ctor_get(x_59, 3);
-lean_inc(x_60);
-if (lean_obj_tag(x_60) == 0)
-{
-lean_object* x_61; lean_object* x_62; lean_object* x_63; uint8_t x_64; lean_object* x_65;
-x_61 = l_Lean_Parser_Command_declVal___elambda__1(x_1, x_59);
-x_62 = l_Lean_Parser_Command_theorem___elambda__1___closed__2;
-x_63 = l_Lean_Parser_ParserState_mkNode(x_61, x_62, x_54);
-x_64 = 1;
-x_65 = l_Lean_Parser_mergeOrElseErrors(x_63, x_46, x_43, x_64);
-lean_dec(x_43);
-return x_65;
-}
-else
-{
-lean_object* x_66; lean_object* x_67; uint8_t x_68; lean_object* x_69;
-lean_dec(x_60);
-lean_dec(x_1);
-x_66 = l_Lean_Parser_Command_theorem___elambda__1___closed__2;
-x_67 = l_Lean_Parser_ParserState_mkNode(x_59, x_66, x_54);
-x_68 = 1;
-x_69 = l_Lean_Parser_mergeOrElseErrors(x_67, x_46, x_43, x_68);
-lean_dec(x_43);
-return x_69;
-}
-}
-else
-{
-lean_object* x_70; lean_object* x_71; uint8_t x_72; lean_object* x_73;
-lean_dec(x_58);
-lean_dec(x_1);
-x_70 = l_Lean_Parser_Command_theorem___elambda__1___closed__2;
-x_71 = l_Lean_Parser_ParserState_mkNode(x_57, x_70, x_54);
-x_72 = 1;
-x_73 = l_Lean_Parser_mergeOrElseErrors(x_71, x_46, x_43, x_72);
-lean_dec(x_43);
-return x_73;
-}
-}
-else
-{
-lean_object* x_74; lean_object* x_75; uint8_t x_76; lean_object* x_77;
-lean_dec(x_56);
-lean_dec(x_1);
-x_74 = l_Lean_Parser_Command_theorem___elambda__1___closed__2;
-x_75 = l_Lean_Parser_ParserState_mkNode(x_55, x_74, x_54);
-x_76 = 1;
-x_77 = l_Lean_Parser_mergeOrElseErrors(x_75, x_46, x_43, x_76);
-lean_dec(x_43);
-return x_77;
-}
-}
-}
-else
-{
-uint8_t x_93; lean_object* x_94;
-lean_dec(x_52);
-lean_dec(x_1);
-x_93 = 1;
-x_94 = l_Lean_Parser_mergeOrElseErrors(x_51, x_46, x_43, x_93);
-lean_dec(x_43);
-return x_94;
-}
-}
-}
+lean_object* x_31; uint8_t x_32; lean_object* x_33;
+x_31 = l_Lean_Parser_Command_theorem___elambda__1___closed__12;
+x_32 = 1;
+x_33 = l_Lean_Parser_orelseFnCore(x_4, x_31, x_32, x_1, x_2);
+return x_33;
}
}
}
@@ -11745,6 +7917,86 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_constant___elambda__1___closed__7() {
_start:
{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_constant___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_constant___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_declValSimple___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optionalFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_constant___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_declSig___closed__5;
+x_2 = l_Lean_Parser_Command_constant___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_constant___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_declId___closed__9;
+x_2 = l_Lean_Parser_Command_constant___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_constant___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_constant___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Command_constant___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_constant___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_constant___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_constant___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_constant___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_constant___elambda__1___closed__12;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_constant___elambda__1___closed__14() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Char_HasRepr___closed__1;
x_2 = l_Lean_Parser_Command_constant___elambda__1___closed__6;
@@ -11752,28 +8004,16 @@ x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Command_constant___elambda__1___closed__8() {
+static lean_object* _init_l_Lean_Parser_Command_constant___elambda__1___closed__15() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Command_constant___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Command_constant___elambda__1___closed__14;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Command_constant___elambda__1___closed__9() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Command_constant___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
-}
-}
lean_object* l_Lean_Parser_Command_constant___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -11794,167 +8034,68 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_44; lean_object* x_45; lean_object* x_46;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_44 = lean_ctor_get(x_7, 1);
-lean_inc(x_44);
+x_11 = l_Lean_Parser_Command_constant___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Command_constant___elambda__1___closed__15;
lean_inc(x_1);
-x_45 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_46 = lean_ctor_get(x_45, 3);
-lean_inc(x_46);
-if (lean_obj_tag(x_46) == 0)
-{
-lean_object* x_47; lean_object* x_48;
-x_47 = lean_ctor_get(x_45, 0);
-lean_inc(x_47);
-x_48 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_47);
-lean_dec(x_47);
-if (lean_obj_tag(x_48) == 2)
-{
-lean_object* x_49; lean_object* x_50; uint8_t x_51;
-x_49 = lean_ctor_get(x_48, 1);
-lean_inc(x_49);
-lean_dec(x_48);
-x_50 = l_Lean_Parser_Command_constant___elambda__1___closed__6;
-x_51 = lean_string_dec_eq(x_49, x_50);
-lean_dec(x_49);
-if (x_51 == 0)
-{
-lean_object* x_52; lean_object* x_53;
-x_52 = l_Lean_Parser_Command_constant___elambda__1___closed__9;
-x_53 = l_Lean_Parser_ParserState_mkErrorsAt(x_45, x_52, x_44);
-x_11 = x_53;
-goto block_43;
-}
-else
-{
-lean_dec(x_44);
-x_11 = x_45;
-goto block_43;
-}
-}
-else
-{
-lean_object* x_54; lean_object* x_55;
-lean_dec(x_48);
-x_54 = l_Lean_Parser_Command_constant___elambda__1___closed__9;
-x_55 = l_Lean_Parser_ParserState_mkErrorsAt(x_45, x_54, x_44);
-x_11 = x_55;
-goto block_43;
-}
-}
-else
-{
-lean_object* x_56; lean_object* x_57;
-lean_dec(x_46);
-x_56 = l_Lean_Parser_Command_constant___elambda__1___closed__9;
-x_57 = l_Lean_Parser_ParserState_mkErrorsAt(x_45, x_56, x_44);
-x_11 = x_57;
-goto block_43;
-}
-block_43:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14;
-lean_inc(x_1);
-x_13 = l_Lean_Parser_Command_declId___elambda__1(x_1, x_11);
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
x_14 = lean_ctor_get(x_13, 3);
lean_inc(x_14);
if (lean_obj_tag(x_14) == 0)
{
lean_object* x_15; lean_object* x_16;
lean_inc(x_1);
-x_15 = l_Lean_Parser_Command_declSig___elambda__1(x_1, x_13);
+x_15 = l_Lean_Parser_Command_declId___elambda__1(x_1, x_13);
x_16 = lean_ctor_get(x_15, 3);
lean_inc(x_16);
if (lean_obj_tag(x_16) == 0)
{
-lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
-x_17 = lean_ctor_get(x_15, 0);
-lean_inc(x_17);
-x_18 = lean_array_get_size(x_17);
-lean_dec(x_17);
-x_19 = lean_ctor_get(x_15, 1);
-lean_inc(x_19);
-x_20 = l_Lean_Parser_Command_declValSimple___elambda__1(x_1, x_15);
-x_21 = lean_ctor_get(x_20, 3);
-lean_inc(x_21);
-if (lean_obj_tag(x_21) == 0)
+lean_object* x_17; lean_object* x_18;
+lean_inc(x_1);
+x_17 = l_Lean_Parser_Command_declSig___elambda__1(x_1, x_15);
+x_18 = lean_ctor_get(x_17, 3);
+lean_inc(x_18);
+if (lean_obj_tag(x_18) == 0)
{
-lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25;
-lean_dec(x_19);
-x_22 = l_Lean_nullKind;
-x_23 = l_Lean_Parser_ParserState_mkNode(x_20, x_22, x_18);
-x_24 = l_Lean_Parser_Command_constant___elambda__1___closed__2;
-x_25 = l_Lean_Parser_ParserState_mkNode(x_23, x_24, x_10);
-return x_25;
+lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
+x_19 = l_Lean_Parser_Command_declValSimple___closed__6;
+x_20 = l_Lean_Parser_optionalFn(x_19, x_1, x_17);
+x_21 = l_Lean_Parser_Command_constant___elambda__1___closed__2;
+x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_10);
+return x_22;
}
else
{
-lean_object* x_26; uint8_t x_27;
-lean_dec(x_21);
-x_26 = lean_ctor_get(x_20, 1);
-lean_inc(x_26);
-x_27 = lean_nat_dec_eq(x_26, x_19);
-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_dec(x_19);
-x_28 = l_Lean_nullKind;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_20, x_28, x_18);
-x_30 = l_Lean_Parser_Command_constant___elambda__1___closed__2;
-x_31 = l_Lean_Parser_ParserState_mkNode(x_29, x_30, x_10);
-return x_31;
-}
-else
-{
-lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36;
-x_32 = l_Lean_Parser_ParserState_restore(x_20, x_18, x_19);
-x_33 = l_Lean_nullKind;
-x_34 = l_Lean_Parser_ParserState_mkNode(x_32, x_33, x_18);
-x_35 = l_Lean_Parser_Command_constant___elambda__1___closed__2;
-x_36 = l_Lean_Parser_ParserState_mkNode(x_34, x_35, x_10);
-return x_36;
-}
+lean_object* x_23; lean_object* x_24;
+lean_dec(x_18);
+lean_dec(x_1);
+x_23 = l_Lean_Parser_Command_constant___elambda__1___closed__2;
+x_24 = l_Lean_Parser_ParserState_mkNode(x_17, x_23, x_10);
+return x_24;
}
}
else
{
-lean_object* x_37; lean_object* x_38;
+lean_object* x_25; lean_object* x_26;
lean_dec(x_16);
lean_dec(x_1);
-x_37 = l_Lean_Parser_Command_constant___elambda__1___closed__2;
-x_38 = l_Lean_Parser_ParserState_mkNode(x_15, x_37, x_10);
-return x_38;
+x_25 = l_Lean_Parser_Command_constant___elambda__1___closed__2;
+x_26 = l_Lean_Parser_ParserState_mkNode(x_15, x_25, x_10);
+return x_26;
}
}
else
{
-lean_object* x_39; lean_object* x_40;
+lean_object* x_27; lean_object* x_28;
lean_dec(x_14);
lean_dec(x_1);
-x_39 = l_Lean_Parser_Command_constant___elambda__1___closed__2;
-x_40 = l_Lean_Parser_ParserState_mkNode(x_13, x_39, x_10);
-return x_40;
-}
-}
-else
-{
-lean_object* x_41; lean_object* x_42;
-lean_dec(x_12);
-lean_dec(x_1);
-x_41 = l_Lean_Parser_Command_constant___elambda__1___closed__2;
-x_42 = l_Lean_Parser_ParserState_mkNode(x_11, x_41, x_10);
-return x_42;
-}
+x_27 = l_Lean_Parser_Command_constant___elambda__1___closed__2;
+x_28 = l_Lean_Parser_ParserState_mkNode(x_13, x_27, x_10);
+return x_28;
}
}
else
@@ -11966,247 +8107,11 @@ return x_7;
}
else
{
-lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62;
-x_58 = lean_ctor_get(x_2, 0);
-lean_inc(x_58);
-x_59 = lean_array_get_size(x_58);
-lean_dec(x_58);
-x_60 = lean_ctor_get(x_2, 1);
-lean_inc(x_60);
-lean_inc(x_1);
-x_61 = lean_apply_2(x_4, x_1, x_2);
-x_62 = lean_ctor_get(x_61, 3);
-lean_inc(x_62);
-if (lean_obj_tag(x_62) == 0)
-{
-lean_dec(x_60);
-lean_dec(x_59);
-lean_dec(x_1);
-return x_61;
-}
-else
-{
-lean_object* x_63; lean_object* x_64; uint8_t x_65;
-x_63 = lean_ctor_get(x_62, 0);
-lean_inc(x_63);
-lean_dec(x_62);
-x_64 = lean_ctor_get(x_61, 1);
-lean_inc(x_64);
-x_65 = lean_nat_dec_eq(x_64, x_60);
-lean_dec(x_64);
-if (x_65 == 0)
-{
-lean_dec(x_63);
-lean_dec(x_60);
-lean_dec(x_59);
-lean_dec(x_1);
-return x_61;
-}
-else
-{
-lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69;
-lean_inc(x_60);
-x_66 = l_Lean_Parser_ParserState_restore(x_61, x_59, x_60);
-lean_dec(x_59);
-x_67 = lean_unsigned_to_nat(1024u);
-x_68 = l_Lean_Parser_checkPrecFn(x_67, x_1, x_66);
-x_69 = lean_ctor_get(x_68, 3);
-lean_inc(x_69);
-if (lean_obj_tag(x_69) == 0)
-{
-lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_117; lean_object* x_118; lean_object* x_119;
-x_70 = lean_ctor_get(x_68, 0);
-lean_inc(x_70);
-x_71 = lean_array_get_size(x_70);
-lean_dec(x_70);
-x_117 = lean_ctor_get(x_68, 1);
-lean_inc(x_117);
-lean_inc(x_1);
-x_118 = l_Lean_Parser_tokenFn(x_1, x_68);
-x_119 = lean_ctor_get(x_118, 3);
-lean_inc(x_119);
-if (lean_obj_tag(x_119) == 0)
-{
-lean_object* x_120; lean_object* x_121;
-x_120 = lean_ctor_get(x_118, 0);
-lean_inc(x_120);
-x_121 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_120);
-lean_dec(x_120);
-if (lean_obj_tag(x_121) == 2)
-{
-lean_object* x_122; lean_object* x_123; uint8_t x_124;
-x_122 = lean_ctor_get(x_121, 1);
-lean_inc(x_122);
-lean_dec(x_121);
-x_123 = l_Lean_Parser_Command_constant___elambda__1___closed__6;
-x_124 = lean_string_dec_eq(x_122, x_123);
-lean_dec(x_122);
-if (x_124 == 0)
-{
-lean_object* x_125; lean_object* x_126;
-x_125 = l_Lean_Parser_Command_constant___elambda__1___closed__9;
-x_126 = l_Lean_Parser_ParserState_mkErrorsAt(x_118, x_125, x_117);
-x_72 = x_126;
-goto block_116;
-}
-else
-{
-lean_dec(x_117);
-x_72 = x_118;
-goto block_116;
-}
-}
-else
-{
-lean_object* x_127; lean_object* x_128;
-lean_dec(x_121);
-x_127 = l_Lean_Parser_Command_constant___elambda__1___closed__9;
-x_128 = l_Lean_Parser_ParserState_mkErrorsAt(x_118, x_127, x_117);
-x_72 = x_128;
-goto block_116;
-}
-}
-else
-{
-lean_object* x_129; lean_object* x_130;
-lean_dec(x_119);
-x_129 = l_Lean_Parser_Command_constant___elambda__1___closed__9;
-x_130 = l_Lean_Parser_ParserState_mkErrorsAt(x_118, x_129, x_117);
-x_72 = x_130;
-goto block_116;
-}
-block_116:
-{
-lean_object* x_73;
-x_73 = lean_ctor_get(x_72, 3);
-lean_inc(x_73);
-if (lean_obj_tag(x_73) == 0)
-{
-lean_object* x_74; lean_object* x_75;
-lean_inc(x_1);
-x_74 = l_Lean_Parser_Command_declId___elambda__1(x_1, x_72);
-x_75 = lean_ctor_get(x_74, 3);
-lean_inc(x_75);
-if (lean_obj_tag(x_75) == 0)
-{
-lean_object* x_76; lean_object* x_77;
-lean_inc(x_1);
-x_76 = l_Lean_Parser_Command_declSig___elambda__1(x_1, x_74);
-x_77 = lean_ctor_get(x_76, 3);
-lean_inc(x_77);
-if (lean_obj_tag(x_77) == 0)
-{
-lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82;
-x_78 = lean_ctor_get(x_76, 0);
-lean_inc(x_78);
-x_79 = lean_array_get_size(x_78);
-lean_dec(x_78);
-x_80 = lean_ctor_get(x_76, 1);
-lean_inc(x_80);
-x_81 = l_Lean_Parser_Command_declValSimple___elambda__1(x_1, x_76);
-x_82 = lean_ctor_get(x_81, 3);
-lean_inc(x_82);
-if (lean_obj_tag(x_82) == 0)
-{
-lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; uint8_t x_87; lean_object* x_88;
-lean_dec(x_80);
-x_83 = l_Lean_nullKind;
-x_84 = l_Lean_Parser_ParserState_mkNode(x_81, x_83, x_79);
-x_85 = l_Lean_Parser_Command_constant___elambda__1___closed__2;
-x_86 = l_Lean_Parser_ParserState_mkNode(x_84, x_85, x_71);
-x_87 = 1;
-x_88 = l_Lean_Parser_mergeOrElseErrors(x_86, x_63, x_60, x_87);
-lean_dec(x_60);
-return x_88;
-}
-else
-{
-lean_object* x_89; uint8_t x_90;
-lean_dec(x_82);
-x_89 = lean_ctor_get(x_81, 1);
-lean_inc(x_89);
-x_90 = lean_nat_dec_eq(x_89, x_80);
-lean_dec(x_89);
-if (x_90 == 0)
-{
-lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; uint8_t x_95; lean_object* x_96;
-lean_dec(x_80);
-x_91 = l_Lean_nullKind;
-x_92 = l_Lean_Parser_ParserState_mkNode(x_81, x_91, x_79);
-x_93 = l_Lean_Parser_Command_constant___elambda__1___closed__2;
-x_94 = l_Lean_Parser_ParserState_mkNode(x_92, x_93, x_71);
-x_95 = 1;
-x_96 = l_Lean_Parser_mergeOrElseErrors(x_94, x_63, x_60, x_95);
-lean_dec(x_60);
-return x_96;
-}
-else
-{
-lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; uint8_t x_102; lean_object* x_103;
-x_97 = l_Lean_Parser_ParserState_restore(x_81, x_79, x_80);
-x_98 = l_Lean_nullKind;
-x_99 = l_Lean_Parser_ParserState_mkNode(x_97, x_98, x_79);
-x_100 = l_Lean_Parser_Command_constant___elambda__1___closed__2;
-x_101 = l_Lean_Parser_ParserState_mkNode(x_99, x_100, x_71);
-x_102 = 1;
-x_103 = l_Lean_Parser_mergeOrElseErrors(x_101, x_63, x_60, x_102);
-lean_dec(x_60);
-return x_103;
-}
-}
-}
-else
-{
-lean_object* x_104; lean_object* x_105; uint8_t x_106; lean_object* x_107;
-lean_dec(x_77);
-lean_dec(x_1);
-x_104 = l_Lean_Parser_Command_constant___elambda__1___closed__2;
-x_105 = l_Lean_Parser_ParserState_mkNode(x_76, x_104, x_71);
-x_106 = 1;
-x_107 = l_Lean_Parser_mergeOrElseErrors(x_105, x_63, x_60, x_106);
-lean_dec(x_60);
-return x_107;
-}
-}
-else
-{
-lean_object* x_108; lean_object* x_109; uint8_t x_110; lean_object* x_111;
-lean_dec(x_75);
-lean_dec(x_1);
-x_108 = l_Lean_Parser_Command_constant___elambda__1___closed__2;
-x_109 = l_Lean_Parser_ParserState_mkNode(x_74, x_108, x_71);
-x_110 = 1;
-x_111 = l_Lean_Parser_mergeOrElseErrors(x_109, x_63, x_60, x_110);
-lean_dec(x_60);
-return x_111;
-}
-}
-else
-{
-lean_object* x_112; lean_object* x_113; uint8_t x_114; lean_object* x_115;
-lean_dec(x_73);
-lean_dec(x_1);
-x_112 = l_Lean_Parser_Command_constant___elambda__1___closed__2;
-x_113 = l_Lean_Parser_ParserState_mkNode(x_72, x_112, x_71);
-x_114 = 1;
-x_115 = l_Lean_Parser_mergeOrElseErrors(x_113, x_63, x_60, x_114);
-lean_dec(x_60);
-return x_115;
-}
-}
-}
-else
-{
-uint8_t x_131; lean_object* x_132;
-lean_dec(x_69);
-lean_dec(x_1);
-x_131 = 1;
-x_132 = l_Lean_Parser_mergeOrElseErrors(x_68, x_63, x_60, x_131);
-lean_dec(x_60);
-return x_132;
-}
-}
-}
+lean_object* x_29; uint8_t x_30; lean_object* x_31;
+x_29 = l_Lean_Parser_Command_constant___elambda__1___closed__13;
+x_30 = 1;
+x_31 = l_Lean_Parser_orelseFnCore(x_4, x_29, x_30, x_1, x_2);
+return x_31;
}
}
}
@@ -12383,6 +8288,74 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_instance___elambda__1___closed__7() {
_start:
{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_instance___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_instance___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_declId___closed__9;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optionalFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_instance___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_instance___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_theorem___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_instance___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_instance___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Command_instance___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_instance___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_instance___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_instance___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_instance___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_instance___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_instance___elambda__1___closed__13() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Char_HasRepr___closed__1;
x_2 = l_Lean_Parser_Command_instance___elambda__1___closed__6;
@@ -12390,28 +8363,16 @@ x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Command_instance___elambda__1___closed__8() {
+static lean_object* _init_l_Lean_Parser_Command_instance___elambda__1___closed__14() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Command_instance___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Command_instance___elambda__1___closed__13;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Command_instance___elambda__1___closed__9() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Command_instance___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
-}
-}
lean_object* l_Lean_Parser_Command_instance___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -12432,104 +8393,39 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_60; lean_object* x_61; lean_object* x_62;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_60 = lean_ctor_get(x_7, 1);
-lean_inc(x_60);
+x_11 = l_Lean_Parser_Command_instance___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Command_instance___elambda__1___closed__14;
lean_inc(x_1);
-x_61 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_62 = lean_ctor_get(x_61, 3);
-lean_inc(x_62);
-if (lean_obj_tag(x_62) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_63; lean_object* x_64;
-x_63 = lean_ctor_get(x_61, 0);
-lean_inc(x_63);
-x_64 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_63);
-lean_dec(x_63);
-if (lean_obj_tag(x_64) == 2)
-{
-lean_object* x_65; lean_object* x_66; uint8_t x_67;
-x_65 = lean_ctor_get(x_64, 1);
-lean_inc(x_65);
-lean_dec(x_64);
-x_66 = l_Lean_Parser_Command_instance___elambda__1___closed__6;
-x_67 = lean_string_dec_eq(x_65, x_66);
-lean_dec(x_65);
-if (x_67 == 0)
-{
-lean_object* x_68; lean_object* x_69;
-x_68 = l_Lean_Parser_Command_instance___elambda__1___closed__9;
-x_69 = l_Lean_Parser_ParserState_mkErrorsAt(x_61, x_68, x_60);
-x_11 = x_69;
-goto block_59;
-}
-else
-{
-lean_dec(x_60);
-x_11 = x_61;
-goto block_59;
-}
-}
-else
-{
-lean_object* x_70; lean_object* x_71;
-lean_dec(x_64);
-x_70 = l_Lean_Parser_Command_instance___elambda__1___closed__9;
-x_71 = l_Lean_Parser_ParserState_mkErrorsAt(x_61, x_70, x_60);
-x_11 = x_71;
-goto block_59;
-}
-}
-else
-{
-lean_object* x_72; lean_object* x_73;
-lean_dec(x_62);
-x_72 = l_Lean_Parser_Command_instance___elambda__1___closed__9;
-x_73 = l_Lean_Parser_ParserState_mkErrorsAt(x_61, x_72, x_60);
-x_11 = x_73;
-goto block_59;
-}
-block_59:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_13 = lean_ctor_get(x_11, 0);
-lean_inc(x_13);
-x_14 = lean_array_get_size(x_13);
-lean_dec(x_13);
-x_15 = lean_ctor_get(x_11, 1);
-lean_inc(x_15);
+lean_object* x_15; lean_object* x_16; lean_object* x_17;
+x_15 = l_Lean_Parser_Command_declId___closed__9;
lean_inc(x_1);
-x_16 = l_Lean_Parser_Command_declId___elambda__1(x_1, x_11);
+x_16 = l_Lean_Parser_optionalFn(x_15, x_1, x_13);
x_17 = lean_ctor_get(x_16, 3);
lean_inc(x_17);
if (lean_obj_tag(x_17) == 0)
{
-lean_object* x_18; lean_object* x_19; lean_object* x_20;
-lean_dec(x_15);
-x_18 = l_Lean_nullKind;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_16, x_18, x_14);
-x_20 = lean_ctor_get(x_19, 3);
-lean_inc(x_20);
-if (lean_obj_tag(x_20) == 0)
-{
-lean_object* x_21; lean_object* x_22;
+lean_object* x_18; lean_object* x_19;
lean_inc(x_1);
-x_21 = l_Lean_Parser_Command_declSig___elambda__1(x_1, x_19);
-x_22 = lean_ctor_get(x_21, 3);
-lean_inc(x_22);
-if (lean_obj_tag(x_22) == 0)
+x_18 = l_Lean_Parser_Command_declSig___elambda__1(x_1, x_16);
+x_19 = lean_ctor_get(x_18, 3);
+lean_inc(x_19);
+if (lean_obj_tag(x_19) == 0)
{
-lean_object* x_23; lean_object* x_24; lean_object* x_25;
-x_23 = l_Lean_Parser_Command_declVal___elambda__1(x_1, x_21);
+lean_object* x_20; lean_object* x_21; uint8_t x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25;
+x_20 = l_Lean_Parser_Command_declValSimple___closed__6;
+x_21 = l_Lean_Parser_Command_declValEqns___closed__4;
+x_22 = 1;
+x_23 = l_Lean_Parser_orelseFnCore(x_20, x_21, x_22, x_1, x_18);
x_24 = l_Lean_Parser_Command_instance___elambda__1___closed__2;
x_25 = l_Lean_Parser_ParserState_mkNode(x_23, x_24, x_10);
return x_25;
@@ -12537,128 +8433,31 @@ return x_25;
else
{
lean_object* x_26; lean_object* x_27;
-lean_dec(x_22);
+lean_dec(x_19);
lean_dec(x_1);
x_26 = l_Lean_Parser_Command_instance___elambda__1___closed__2;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_21, x_26, x_10);
+x_27 = l_Lean_Parser_ParserState_mkNode(x_18, x_26, x_10);
return x_27;
}
}
else
{
lean_object* x_28; lean_object* x_29;
-lean_dec(x_20);
+lean_dec(x_17);
lean_dec(x_1);
x_28 = l_Lean_Parser_Command_instance___elambda__1___closed__2;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_19, x_28, x_10);
+x_29 = l_Lean_Parser_ParserState_mkNode(x_16, x_28, x_10);
return x_29;
}
}
else
{
-lean_object* x_30; uint8_t x_31;
-lean_dec(x_17);
-x_30 = lean_ctor_get(x_16, 1);
-lean_inc(x_30);
-x_31 = lean_nat_dec_eq(x_30, x_15);
-lean_dec(x_30);
-if (x_31 == 0)
-{
-lean_object* x_32; lean_object* x_33; lean_object* x_34;
-lean_dec(x_15);
-x_32 = l_Lean_nullKind;
-x_33 = l_Lean_Parser_ParserState_mkNode(x_16, x_32, x_14);
-x_34 = lean_ctor_get(x_33, 3);
-lean_inc(x_34);
-if (lean_obj_tag(x_34) == 0)
-{
-lean_object* x_35; lean_object* x_36;
-lean_inc(x_1);
-x_35 = l_Lean_Parser_Command_declSig___elambda__1(x_1, x_33);
-x_36 = lean_ctor_get(x_35, 3);
-lean_inc(x_36);
-if (lean_obj_tag(x_36) == 0)
-{
-lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_37 = l_Lean_Parser_Command_declVal___elambda__1(x_1, x_35);
-x_38 = l_Lean_Parser_Command_instance___elambda__1___closed__2;
-x_39 = l_Lean_Parser_ParserState_mkNode(x_37, x_38, x_10);
-return x_39;
-}
-else
-{
-lean_object* x_40; lean_object* x_41;
-lean_dec(x_36);
+lean_object* x_30; lean_object* x_31;
+lean_dec(x_14);
lean_dec(x_1);
-x_40 = l_Lean_Parser_Command_instance___elambda__1___closed__2;
-x_41 = l_Lean_Parser_ParserState_mkNode(x_35, x_40, x_10);
-return x_41;
-}
-}
-else
-{
-lean_object* x_42; lean_object* x_43;
-lean_dec(x_34);
-lean_dec(x_1);
-x_42 = l_Lean_Parser_Command_instance___elambda__1___closed__2;
-x_43 = l_Lean_Parser_ParserState_mkNode(x_33, x_42, x_10);
-return x_43;
-}
-}
-else
-{
-lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47;
-x_44 = l_Lean_Parser_ParserState_restore(x_16, x_14, x_15);
-x_45 = l_Lean_nullKind;
-x_46 = l_Lean_Parser_ParserState_mkNode(x_44, x_45, x_14);
-x_47 = lean_ctor_get(x_46, 3);
-lean_inc(x_47);
-if (lean_obj_tag(x_47) == 0)
-{
-lean_object* x_48; lean_object* x_49;
-lean_inc(x_1);
-x_48 = l_Lean_Parser_Command_declSig___elambda__1(x_1, x_46);
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
-{
-lean_object* x_50; lean_object* x_51; lean_object* x_52;
-x_50 = l_Lean_Parser_Command_declVal___elambda__1(x_1, x_48);
-x_51 = l_Lean_Parser_Command_instance___elambda__1___closed__2;
-x_52 = l_Lean_Parser_ParserState_mkNode(x_50, x_51, x_10);
-return x_52;
-}
-else
-{
-lean_object* x_53; lean_object* x_54;
-lean_dec(x_49);
-lean_dec(x_1);
-x_53 = l_Lean_Parser_Command_instance___elambda__1___closed__2;
-x_54 = l_Lean_Parser_ParserState_mkNode(x_48, x_53, x_10);
-return x_54;
-}
-}
-else
-{
-lean_object* x_55; lean_object* x_56;
-lean_dec(x_47);
-lean_dec(x_1);
-x_55 = l_Lean_Parser_Command_instance___elambda__1___closed__2;
-x_56 = l_Lean_Parser_ParserState_mkNode(x_46, x_55, x_10);
-return x_56;
-}
-}
-}
-}
-else
-{
-lean_object* x_57; lean_object* x_58;
-lean_dec(x_12);
-lean_dec(x_1);
-x_57 = l_Lean_Parser_Command_instance___elambda__1___closed__2;
-x_58 = l_Lean_Parser_ParserState_mkNode(x_11, x_57, x_10);
-return x_58;
-}
+x_30 = l_Lean_Parser_Command_instance___elambda__1___closed__2;
+x_31 = l_Lean_Parser_ParserState_mkNode(x_13, x_30, x_10);
+return x_31;
}
}
else
@@ -12670,325 +8469,11 @@ return x_7;
}
else
{
-lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78;
-x_74 = lean_ctor_get(x_2, 0);
-lean_inc(x_74);
-x_75 = lean_array_get_size(x_74);
-lean_dec(x_74);
-x_76 = lean_ctor_get(x_2, 1);
-lean_inc(x_76);
-lean_inc(x_1);
-x_77 = lean_apply_2(x_4, x_1, x_2);
-x_78 = lean_ctor_get(x_77, 3);
-lean_inc(x_78);
-if (lean_obj_tag(x_78) == 0)
-{
-lean_dec(x_76);
-lean_dec(x_75);
-lean_dec(x_1);
-return x_77;
-}
-else
-{
-lean_object* x_79; lean_object* x_80; uint8_t x_81;
-x_79 = lean_ctor_get(x_78, 0);
-lean_inc(x_79);
-lean_dec(x_78);
-x_80 = lean_ctor_get(x_77, 1);
-lean_inc(x_80);
-x_81 = lean_nat_dec_eq(x_80, x_76);
-lean_dec(x_80);
-if (x_81 == 0)
-{
-lean_dec(x_79);
-lean_dec(x_76);
-lean_dec(x_75);
-lean_dec(x_1);
-return x_77;
-}
-else
-{
-lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85;
-lean_inc(x_76);
-x_82 = l_Lean_Parser_ParserState_restore(x_77, x_75, x_76);
-lean_dec(x_75);
-x_83 = lean_unsigned_to_nat(1024u);
-x_84 = l_Lean_Parser_checkPrecFn(x_83, x_1, x_82);
-x_85 = lean_ctor_get(x_84, 3);
-lean_inc(x_85);
-if (lean_obj_tag(x_85) == 0)
-{
-lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_157; lean_object* x_158; lean_object* x_159;
-x_86 = lean_ctor_get(x_84, 0);
-lean_inc(x_86);
-x_87 = lean_array_get_size(x_86);
-lean_dec(x_86);
-x_157 = lean_ctor_get(x_84, 1);
-lean_inc(x_157);
-lean_inc(x_1);
-x_158 = l_Lean_Parser_tokenFn(x_1, x_84);
-x_159 = lean_ctor_get(x_158, 3);
-lean_inc(x_159);
-if (lean_obj_tag(x_159) == 0)
-{
-lean_object* x_160; lean_object* x_161;
-x_160 = lean_ctor_get(x_158, 0);
-lean_inc(x_160);
-x_161 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_160);
-lean_dec(x_160);
-if (lean_obj_tag(x_161) == 2)
-{
-lean_object* x_162; lean_object* x_163; uint8_t x_164;
-x_162 = lean_ctor_get(x_161, 1);
-lean_inc(x_162);
-lean_dec(x_161);
-x_163 = l_Lean_Parser_Command_instance___elambda__1___closed__6;
-x_164 = lean_string_dec_eq(x_162, x_163);
-lean_dec(x_162);
-if (x_164 == 0)
-{
-lean_object* x_165; lean_object* x_166;
-x_165 = l_Lean_Parser_Command_instance___elambda__1___closed__9;
-x_166 = l_Lean_Parser_ParserState_mkErrorsAt(x_158, x_165, x_157);
-x_88 = x_166;
-goto block_156;
-}
-else
-{
-lean_dec(x_157);
-x_88 = x_158;
-goto block_156;
-}
-}
-else
-{
-lean_object* x_167; lean_object* x_168;
-lean_dec(x_161);
-x_167 = l_Lean_Parser_Command_instance___elambda__1___closed__9;
-x_168 = l_Lean_Parser_ParserState_mkErrorsAt(x_158, x_167, x_157);
-x_88 = x_168;
-goto block_156;
-}
-}
-else
-{
-lean_object* x_169; lean_object* x_170;
-lean_dec(x_159);
-x_169 = l_Lean_Parser_Command_instance___elambda__1___closed__9;
-x_170 = l_Lean_Parser_ParserState_mkErrorsAt(x_158, x_169, x_157);
-x_88 = x_170;
-goto block_156;
-}
-block_156:
-{
-lean_object* x_89;
-x_89 = lean_ctor_get(x_88, 3);
-lean_inc(x_89);
-if (lean_obj_tag(x_89) == 0)
-{
-lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94;
-x_90 = lean_ctor_get(x_88, 0);
-lean_inc(x_90);
-x_91 = lean_array_get_size(x_90);
-lean_dec(x_90);
-x_92 = lean_ctor_get(x_88, 1);
-lean_inc(x_92);
-lean_inc(x_1);
-x_93 = l_Lean_Parser_Command_declId___elambda__1(x_1, x_88);
-x_94 = lean_ctor_get(x_93, 3);
-lean_inc(x_94);
-if (lean_obj_tag(x_94) == 0)
-{
-lean_object* x_95; lean_object* x_96; lean_object* x_97;
-lean_dec(x_92);
-x_95 = l_Lean_nullKind;
-x_96 = l_Lean_Parser_ParserState_mkNode(x_93, x_95, x_91);
-x_97 = lean_ctor_get(x_96, 3);
-lean_inc(x_97);
-if (lean_obj_tag(x_97) == 0)
-{
-lean_object* x_98; lean_object* x_99;
-lean_inc(x_1);
-x_98 = l_Lean_Parser_Command_declSig___elambda__1(x_1, x_96);
-x_99 = lean_ctor_get(x_98, 3);
-lean_inc(x_99);
-if (lean_obj_tag(x_99) == 0)
-{
-lean_object* x_100; lean_object* x_101; lean_object* x_102; uint8_t x_103; lean_object* x_104;
-x_100 = l_Lean_Parser_Command_declVal___elambda__1(x_1, x_98);
-x_101 = l_Lean_Parser_Command_instance___elambda__1___closed__2;
-x_102 = l_Lean_Parser_ParserState_mkNode(x_100, x_101, x_87);
-x_103 = 1;
-x_104 = l_Lean_Parser_mergeOrElseErrors(x_102, x_79, x_76, x_103);
-lean_dec(x_76);
-return x_104;
-}
-else
-{
-lean_object* x_105; lean_object* x_106; uint8_t x_107; lean_object* x_108;
-lean_dec(x_99);
-lean_dec(x_1);
-x_105 = l_Lean_Parser_Command_instance___elambda__1___closed__2;
-x_106 = l_Lean_Parser_ParserState_mkNode(x_98, x_105, x_87);
-x_107 = 1;
-x_108 = l_Lean_Parser_mergeOrElseErrors(x_106, x_79, x_76, x_107);
-lean_dec(x_76);
-return x_108;
-}
-}
-else
-{
-lean_object* x_109; lean_object* x_110; uint8_t x_111; lean_object* x_112;
-lean_dec(x_97);
-lean_dec(x_1);
-x_109 = l_Lean_Parser_Command_instance___elambda__1___closed__2;
-x_110 = l_Lean_Parser_ParserState_mkNode(x_96, x_109, x_87);
-x_111 = 1;
-x_112 = l_Lean_Parser_mergeOrElseErrors(x_110, x_79, x_76, x_111);
-lean_dec(x_76);
-return x_112;
-}
-}
-else
-{
-lean_object* x_113; uint8_t x_114;
-lean_dec(x_94);
-x_113 = lean_ctor_get(x_93, 1);
-lean_inc(x_113);
-x_114 = lean_nat_dec_eq(x_113, x_92);
-lean_dec(x_113);
-if (x_114 == 0)
-{
-lean_object* x_115; lean_object* x_116; lean_object* x_117;
-lean_dec(x_92);
-x_115 = l_Lean_nullKind;
-x_116 = l_Lean_Parser_ParserState_mkNode(x_93, x_115, x_91);
-x_117 = lean_ctor_get(x_116, 3);
-lean_inc(x_117);
-if (lean_obj_tag(x_117) == 0)
-{
-lean_object* x_118; lean_object* x_119;
-lean_inc(x_1);
-x_118 = l_Lean_Parser_Command_declSig___elambda__1(x_1, x_116);
-x_119 = lean_ctor_get(x_118, 3);
-lean_inc(x_119);
-if (lean_obj_tag(x_119) == 0)
-{
-lean_object* x_120; lean_object* x_121; lean_object* x_122; uint8_t x_123; lean_object* x_124;
-x_120 = l_Lean_Parser_Command_declVal___elambda__1(x_1, x_118);
-x_121 = l_Lean_Parser_Command_instance___elambda__1___closed__2;
-x_122 = l_Lean_Parser_ParserState_mkNode(x_120, x_121, x_87);
-x_123 = 1;
-x_124 = l_Lean_Parser_mergeOrElseErrors(x_122, x_79, x_76, x_123);
-lean_dec(x_76);
-return x_124;
-}
-else
-{
-lean_object* x_125; lean_object* x_126; uint8_t x_127; lean_object* x_128;
-lean_dec(x_119);
-lean_dec(x_1);
-x_125 = l_Lean_Parser_Command_instance___elambda__1___closed__2;
-x_126 = l_Lean_Parser_ParserState_mkNode(x_118, x_125, x_87);
-x_127 = 1;
-x_128 = l_Lean_Parser_mergeOrElseErrors(x_126, x_79, x_76, x_127);
-lean_dec(x_76);
-return x_128;
-}
-}
-else
-{
-lean_object* x_129; lean_object* x_130; uint8_t x_131; lean_object* x_132;
-lean_dec(x_117);
-lean_dec(x_1);
-x_129 = l_Lean_Parser_Command_instance___elambda__1___closed__2;
-x_130 = l_Lean_Parser_ParserState_mkNode(x_116, x_129, x_87);
-x_131 = 1;
-x_132 = l_Lean_Parser_mergeOrElseErrors(x_130, x_79, x_76, x_131);
-lean_dec(x_76);
-return x_132;
-}
-}
-else
-{
-lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136;
-x_133 = l_Lean_Parser_ParserState_restore(x_93, x_91, x_92);
-x_134 = l_Lean_nullKind;
-x_135 = l_Lean_Parser_ParserState_mkNode(x_133, x_134, x_91);
-x_136 = lean_ctor_get(x_135, 3);
-lean_inc(x_136);
-if (lean_obj_tag(x_136) == 0)
-{
-lean_object* x_137; lean_object* x_138;
-lean_inc(x_1);
-x_137 = l_Lean_Parser_Command_declSig___elambda__1(x_1, x_135);
-x_138 = lean_ctor_get(x_137, 3);
-lean_inc(x_138);
-if (lean_obj_tag(x_138) == 0)
-{
-lean_object* x_139; lean_object* x_140; lean_object* x_141; uint8_t x_142; lean_object* x_143;
-x_139 = l_Lean_Parser_Command_declVal___elambda__1(x_1, x_137);
-x_140 = l_Lean_Parser_Command_instance___elambda__1___closed__2;
-x_141 = l_Lean_Parser_ParserState_mkNode(x_139, x_140, x_87);
-x_142 = 1;
-x_143 = l_Lean_Parser_mergeOrElseErrors(x_141, x_79, x_76, x_142);
-lean_dec(x_76);
-return x_143;
-}
-else
-{
-lean_object* x_144; lean_object* x_145; uint8_t x_146; lean_object* x_147;
-lean_dec(x_138);
-lean_dec(x_1);
-x_144 = l_Lean_Parser_Command_instance___elambda__1___closed__2;
-x_145 = l_Lean_Parser_ParserState_mkNode(x_137, x_144, x_87);
-x_146 = 1;
-x_147 = l_Lean_Parser_mergeOrElseErrors(x_145, x_79, x_76, x_146);
-lean_dec(x_76);
-return x_147;
-}
-}
-else
-{
-lean_object* x_148; lean_object* x_149; uint8_t x_150; lean_object* x_151;
-lean_dec(x_136);
-lean_dec(x_1);
-x_148 = l_Lean_Parser_Command_instance___elambda__1___closed__2;
-x_149 = l_Lean_Parser_ParserState_mkNode(x_135, x_148, x_87);
-x_150 = 1;
-x_151 = l_Lean_Parser_mergeOrElseErrors(x_149, x_79, x_76, x_150);
-lean_dec(x_76);
-return x_151;
-}
-}
-}
-}
-else
-{
-lean_object* x_152; lean_object* x_153; uint8_t x_154; lean_object* x_155;
-lean_dec(x_89);
-lean_dec(x_1);
-x_152 = l_Lean_Parser_Command_instance___elambda__1___closed__2;
-x_153 = l_Lean_Parser_ParserState_mkNode(x_88, x_152, x_87);
-x_154 = 1;
-x_155 = l_Lean_Parser_mergeOrElseErrors(x_153, x_79, x_76, x_154);
-lean_dec(x_76);
-return x_155;
-}
-}
-}
-else
-{
-uint8_t x_171; lean_object* x_172;
-lean_dec(x_85);
-lean_dec(x_1);
-x_171 = 1;
-x_172 = l_Lean_Parser_mergeOrElseErrors(x_84, x_79, x_76, x_171);
-lean_dec(x_76);
-return x_172;
-}
-}
-}
+lean_object* x_32; uint8_t x_33; lean_object* x_34;
+x_32 = l_Lean_Parser_Command_instance___elambda__1___closed__12;
+x_33 = 1;
+x_34 = l_Lean_Parser_orelseFnCore(x_4, x_32, x_33, x_1, x_2);
+return x_34;
}
}
}
@@ -13151,20 +8636,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_axiom___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_axiom___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_axiom___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_axiom___elambda__1___closed__8() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Command_axiom___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Command_declId___closed__9;
+x_2 = l_Lean_Parser_Command_declSig___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -13172,11 +8659,55 @@ static lean_object* _init_l_Lean_Parser_Command_axiom___elambda__1___closed__9()
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Command_axiom___elambda__1___closed__7;
x_2 = l_Lean_Parser_Command_axiom___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_axiom___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_axiom___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_axiom___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_axiom___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_axiom___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_axiom___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Command_axiom___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_axiom___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_axiom___elambda__1___closed__12;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -13200,107 +8731,51 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_23; lean_object* x_24; lean_object* x_25;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_23 = lean_ctor_get(x_7, 1);
-lean_inc(x_23);
+x_11 = l_Lean_Parser_Command_axiom___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Command_axiom___elambda__1___closed__13;
lean_inc(x_1);
-x_24 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_25 = lean_ctor_get(x_24, 3);
-lean_inc(x_25);
-if (lean_obj_tag(x_25) == 0)
-{
-lean_object* x_26; lean_object* x_27;
-x_26 = lean_ctor_get(x_24, 0);
-lean_inc(x_26);
-x_27 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_26);
-lean_dec(x_26);
-if (lean_obj_tag(x_27) == 2)
-{
-lean_object* x_28; lean_object* x_29; uint8_t x_30;
-x_28 = lean_ctor_get(x_27, 1);
-lean_inc(x_28);
-lean_dec(x_27);
-x_29 = l_Lean_Parser_Command_axiom___elambda__1___closed__6;
-x_30 = lean_string_dec_eq(x_28, x_29);
-lean_dec(x_28);
-if (x_30 == 0)
-{
-lean_object* x_31; lean_object* x_32;
-x_31 = l_Lean_Parser_Command_axiom___elambda__1___closed__9;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_24, x_31, x_23);
-x_11 = x_32;
-goto block_22;
-}
-else
-{
-lean_dec(x_23);
-x_11 = x_24;
-goto block_22;
-}
-}
-else
-{
-lean_object* x_33; lean_object* x_34;
-lean_dec(x_27);
-x_33 = l_Lean_Parser_Command_axiom___elambda__1___closed__9;
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_24, x_33, x_23);
-x_11 = x_34;
-goto block_22;
-}
-}
-else
-{
-lean_object* x_35; lean_object* x_36;
-lean_dec(x_25);
-x_35 = l_Lean_Parser_Command_axiom___elambda__1___closed__9;
-x_36 = l_Lean_Parser_ParserState_mkErrorsAt(x_24, x_35, x_23);
-x_11 = x_36;
-goto block_22;
-}
-block_22:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14;
-lean_inc(x_1);
-x_13 = l_Lean_Parser_Command_declId___elambda__1(x_1, x_11);
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
x_14 = lean_ctor_get(x_13, 3);
lean_inc(x_14);
if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_15 = l_Lean_Parser_Command_declSig___elambda__1(x_1, x_13);
-x_16 = l_Lean_Parser_Command_axiom___elambda__1___closed__2;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_10);
-return x_17;
-}
-else
+lean_object* x_15; lean_object* x_16;
+lean_inc(x_1);
+x_15 = l_Lean_Parser_Command_declId___elambda__1(x_1, x_13);
+x_16 = lean_ctor_get(x_15, 3);
+lean_inc(x_16);
+if (lean_obj_tag(x_16) == 0)
{
-lean_object* x_18; lean_object* x_19;
-lean_dec(x_14);
-lean_dec(x_1);
+lean_object* x_17; lean_object* x_18; lean_object* x_19;
+x_17 = l_Lean_Parser_Command_declSig___elambda__1(x_1, x_15);
x_18 = l_Lean_Parser_Command_axiom___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_13, x_18, x_10);
+x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_10);
return x_19;
}
-}
else
{
lean_object* x_20; lean_object* x_21;
-lean_dec(x_12);
+lean_dec(x_16);
lean_dec(x_1);
x_20 = l_Lean_Parser_Command_axiom___elambda__1___closed__2;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_11, x_20, x_10);
+x_21 = l_Lean_Parser_ParserState_mkNode(x_15, x_20, x_10);
return x_21;
}
}
+else
+{
+lean_object* x_22; lean_object* x_23;
+lean_dec(x_14);
+lean_dec(x_1);
+x_22 = l_Lean_Parser_Command_axiom___elambda__1___closed__2;
+x_23 = l_Lean_Parser_ParserState_mkNode(x_13, x_22, x_10);
+return x_23;
+}
}
else
{
@@ -13311,177 +8786,11 @@ return x_7;
}
else
{
-lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41;
-x_37 = lean_ctor_get(x_2, 0);
-lean_inc(x_37);
-x_38 = lean_array_get_size(x_37);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_2, 1);
-lean_inc(x_39);
-lean_inc(x_1);
-x_40 = lean_apply_2(x_4, x_1, x_2);
-x_41 = lean_ctor_get(x_40, 3);
-lean_inc(x_41);
-if (lean_obj_tag(x_41) == 0)
-{
-lean_dec(x_39);
-lean_dec(x_38);
-lean_dec(x_1);
-return x_40;
-}
-else
-{
-lean_object* x_42; lean_object* x_43; uint8_t x_44;
-x_42 = lean_ctor_get(x_41, 0);
-lean_inc(x_42);
-lean_dec(x_41);
-x_43 = lean_ctor_get(x_40, 1);
-lean_inc(x_43);
-x_44 = lean_nat_dec_eq(x_43, x_39);
-lean_dec(x_43);
-if (x_44 == 0)
-{
-lean_dec(x_42);
-lean_dec(x_39);
-lean_dec(x_38);
-lean_dec(x_1);
-return x_40;
-}
-else
-{
-lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48;
-lean_inc(x_39);
-x_45 = l_Lean_Parser_ParserState_restore(x_40, x_38, x_39);
-lean_dec(x_38);
-x_46 = lean_unsigned_to_nat(1024u);
-x_47 = l_Lean_Parser_checkPrecFn(x_46, x_1, x_45);
-x_48 = lean_ctor_get(x_47, 3);
-lean_inc(x_48);
-if (lean_obj_tag(x_48) == 0)
-{
-lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_69; lean_object* x_70; lean_object* x_71;
-x_49 = lean_ctor_get(x_47, 0);
-lean_inc(x_49);
-x_50 = lean_array_get_size(x_49);
-lean_dec(x_49);
-x_69 = lean_ctor_get(x_47, 1);
-lean_inc(x_69);
-lean_inc(x_1);
-x_70 = l_Lean_Parser_tokenFn(x_1, x_47);
-x_71 = lean_ctor_get(x_70, 3);
-lean_inc(x_71);
-if (lean_obj_tag(x_71) == 0)
-{
-lean_object* x_72; lean_object* x_73;
-x_72 = lean_ctor_get(x_70, 0);
-lean_inc(x_72);
-x_73 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_72);
-lean_dec(x_72);
-if (lean_obj_tag(x_73) == 2)
-{
-lean_object* x_74; lean_object* x_75; uint8_t x_76;
-x_74 = lean_ctor_get(x_73, 1);
-lean_inc(x_74);
-lean_dec(x_73);
-x_75 = l_Lean_Parser_Command_axiom___elambda__1___closed__6;
-x_76 = lean_string_dec_eq(x_74, x_75);
-lean_dec(x_74);
-if (x_76 == 0)
-{
-lean_object* x_77; lean_object* x_78;
-x_77 = l_Lean_Parser_Command_axiom___elambda__1___closed__9;
-x_78 = l_Lean_Parser_ParserState_mkErrorsAt(x_70, x_77, x_69);
-x_51 = x_78;
-goto block_68;
-}
-else
-{
-lean_dec(x_69);
-x_51 = x_70;
-goto block_68;
-}
-}
-else
-{
-lean_object* x_79; lean_object* x_80;
-lean_dec(x_73);
-x_79 = l_Lean_Parser_Command_axiom___elambda__1___closed__9;
-x_80 = l_Lean_Parser_ParserState_mkErrorsAt(x_70, x_79, x_69);
-x_51 = x_80;
-goto block_68;
-}
-}
-else
-{
-lean_object* x_81; lean_object* x_82;
-lean_dec(x_71);
-x_81 = l_Lean_Parser_Command_axiom___elambda__1___closed__9;
-x_82 = l_Lean_Parser_ParserState_mkErrorsAt(x_70, x_81, x_69);
-x_51 = x_82;
-goto block_68;
-}
-block_68:
-{
-lean_object* x_52;
-x_52 = lean_ctor_get(x_51, 3);
-lean_inc(x_52);
-if (lean_obj_tag(x_52) == 0)
-{
-lean_object* x_53; lean_object* x_54;
-lean_inc(x_1);
-x_53 = l_Lean_Parser_Command_declId___elambda__1(x_1, x_51);
-x_54 = lean_ctor_get(x_53, 3);
-lean_inc(x_54);
-if (lean_obj_tag(x_54) == 0)
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; uint8_t x_58; lean_object* x_59;
-x_55 = l_Lean_Parser_Command_declSig___elambda__1(x_1, x_53);
-x_56 = l_Lean_Parser_Command_axiom___elambda__1___closed__2;
-x_57 = l_Lean_Parser_ParserState_mkNode(x_55, x_56, x_50);
-x_58 = 1;
-x_59 = l_Lean_Parser_mergeOrElseErrors(x_57, x_42, x_39, x_58);
-lean_dec(x_39);
-return x_59;
-}
-else
-{
-lean_object* x_60; lean_object* x_61; uint8_t x_62; lean_object* x_63;
-lean_dec(x_54);
-lean_dec(x_1);
-x_60 = l_Lean_Parser_Command_axiom___elambda__1___closed__2;
-x_61 = l_Lean_Parser_ParserState_mkNode(x_53, x_60, x_50);
-x_62 = 1;
-x_63 = l_Lean_Parser_mergeOrElseErrors(x_61, x_42, x_39, x_62);
-lean_dec(x_39);
-return x_63;
-}
-}
-else
-{
-lean_object* x_64; lean_object* x_65; uint8_t x_66; lean_object* x_67;
-lean_dec(x_52);
-lean_dec(x_1);
-x_64 = l_Lean_Parser_Command_axiom___elambda__1___closed__2;
-x_65 = l_Lean_Parser_ParserState_mkNode(x_51, x_64, x_50);
-x_66 = 1;
-x_67 = l_Lean_Parser_mergeOrElseErrors(x_65, x_42, x_39, x_66);
-lean_dec(x_39);
-return x_67;
-}
-}
-}
-else
-{
-uint8_t x_83; lean_object* x_84;
-lean_dec(x_48);
-lean_dec(x_1);
-x_83 = 1;
-x_84 = l_Lean_Parser_mergeOrElseErrors(x_47, x_42, x_39, x_83);
-lean_dec(x_39);
-return x_84;
-}
-}
-}
+lean_object* x_24; uint8_t x_25; lean_object* x_26;
+x_24 = l_Lean_Parser_Command_axiom___elambda__1___closed__11;
+x_25 = 1;
+x_26 = l_Lean_Parser_orelseFnCore(x_4, x_24, x_25, x_1, x_2);
+return x_26;
}
}
}
@@ -13637,11 +8946,11 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_example___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_example___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_example___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_example___elambda__1___closed__8() {
@@ -13649,8 +8958,10 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Command_example___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_2 = l_Lean_Parser_Command_theorem___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -13658,11 +8969,43 @@ static lean_object* _init_l_Lean_Parser_Command_example___elambda__1___closed__9
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Command_example___elambda__1___closed__2;
x_2 = l_Lean_Parser_Command_example___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_example___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_example___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_example___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Command_example___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_example___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_example___elambda__1___closed__11;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -13686,106 +9029,53 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_23; lean_object* x_24; lean_object* x_25;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_23 = lean_ctor_get(x_7, 1);
-lean_inc(x_23);
+x_11 = l_Lean_Parser_Command_example___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Command_example___elambda__1___closed__12;
lean_inc(x_1);
-x_24 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_25 = lean_ctor_get(x_24, 3);
-lean_inc(x_25);
-if (lean_obj_tag(x_25) == 0)
-{
-lean_object* x_26; lean_object* x_27;
-x_26 = lean_ctor_get(x_24, 0);
-lean_inc(x_26);
-x_27 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_26);
-lean_dec(x_26);
-if (lean_obj_tag(x_27) == 2)
-{
-lean_object* x_28; lean_object* x_29; uint8_t x_30;
-x_28 = lean_ctor_get(x_27, 1);
-lean_inc(x_28);
-lean_dec(x_27);
-x_29 = l_Lean_Parser_Command_example___elambda__1___closed__6;
-x_30 = lean_string_dec_eq(x_28, x_29);
-lean_dec(x_28);
-if (x_30 == 0)
-{
-lean_object* x_31; lean_object* x_32;
-x_31 = l_Lean_Parser_Command_example___elambda__1___closed__9;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_24, x_31, x_23);
-x_11 = x_32;
-goto block_22;
-}
-else
-{
-lean_dec(x_23);
-x_11 = x_24;
-goto block_22;
-}
-}
-else
-{
-lean_object* x_33; lean_object* x_34;
-lean_dec(x_27);
-x_33 = l_Lean_Parser_Command_example___elambda__1___closed__9;
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_24, x_33, x_23);
-x_11 = x_34;
-goto block_22;
-}
-}
-else
-{
-lean_object* x_35; lean_object* x_36;
-lean_dec(x_25);
-x_35 = l_Lean_Parser_Command_example___elambda__1___closed__9;
-x_36 = l_Lean_Parser_ParserState_mkErrorsAt(x_24, x_35, x_23);
-x_11 = x_36;
-goto block_22;
-}
-block_22:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14;
-lean_inc(x_1);
-x_13 = l_Lean_Parser_Command_declSig___elambda__1(x_1, x_11);
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
x_14 = lean_ctor_get(x_13, 3);
lean_inc(x_14);
if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_15 = l_Lean_Parser_Command_declVal___elambda__1(x_1, x_13);
-x_16 = l_Lean_Parser_Command_example___elambda__1___closed__2;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_10);
-return x_17;
+lean_object* x_15; lean_object* x_16;
+lean_inc(x_1);
+x_15 = l_Lean_Parser_Command_declSig___elambda__1(x_1, x_13);
+x_16 = lean_ctor_get(x_15, 3);
+lean_inc(x_16);
+if (lean_obj_tag(x_16) == 0)
+{
+lean_object* x_17; lean_object* x_18; uint8_t x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
+x_17 = l_Lean_Parser_Command_declValSimple___closed__6;
+x_18 = l_Lean_Parser_Command_declValEqns___closed__4;
+x_19 = 1;
+x_20 = l_Lean_Parser_orelseFnCore(x_17, x_18, x_19, x_1, x_15);
+x_21 = l_Lean_Parser_Command_example___elambda__1___closed__2;
+x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_10);
+return x_22;
}
else
{
-lean_object* x_18; lean_object* x_19;
+lean_object* x_23; lean_object* x_24;
+lean_dec(x_16);
+lean_dec(x_1);
+x_23 = l_Lean_Parser_Command_example___elambda__1___closed__2;
+x_24 = l_Lean_Parser_ParserState_mkNode(x_15, x_23, x_10);
+return x_24;
+}
+}
+else
+{
+lean_object* x_25; lean_object* x_26;
lean_dec(x_14);
lean_dec(x_1);
-x_18 = l_Lean_Parser_Command_example___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_13, x_18, x_10);
-return x_19;
-}
-}
-else
-{
-lean_object* x_20; lean_object* x_21;
-lean_dec(x_12);
-lean_dec(x_1);
-x_20 = l_Lean_Parser_Command_example___elambda__1___closed__2;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_11, x_20, x_10);
-return x_21;
-}
+x_25 = l_Lean_Parser_Command_example___elambda__1___closed__2;
+x_26 = l_Lean_Parser_ParserState_mkNode(x_13, x_25, x_10);
+return x_26;
}
}
else
@@ -13797,177 +9087,11 @@ return x_7;
}
else
{
-lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41;
-x_37 = lean_ctor_get(x_2, 0);
-lean_inc(x_37);
-x_38 = lean_array_get_size(x_37);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_2, 1);
-lean_inc(x_39);
-lean_inc(x_1);
-x_40 = lean_apply_2(x_4, x_1, x_2);
-x_41 = lean_ctor_get(x_40, 3);
-lean_inc(x_41);
-if (lean_obj_tag(x_41) == 0)
-{
-lean_dec(x_39);
-lean_dec(x_38);
-lean_dec(x_1);
-return x_40;
-}
-else
-{
-lean_object* x_42; lean_object* x_43; uint8_t x_44;
-x_42 = lean_ctor_get(x_41, 0);
-lean_inc(x_42);
-lean_dec(x_41);
-x_43 = lean_ctor_get(x_40, 1);
-lean_inc(x_43);
-x_44 = lean_nat_dec_eq(x_43, x_39);
-lean_dec(x_43);
-if (x_44 == 0)
-{
-lean_dec(x_42);
-lean_dec(x_39);
-lean_dec(x_38);
-lean_dec(x_1);
-return x_40;
-}
-else
-{
-lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48;
-lean_inc(x_39);
-x_45 = l_Lean_Parser_ParserState_restore(x_40, x_38, x_39);
-lean_dec(x_38);
-x_46 = lean_unsigned_to_nat(1024u);
-x_47 = l_Lean_Parser_checkPrecFn(x_46, x_1, x_45);
-x_48 = lean_ctor_get(x_47, 3);
-lean_inc(x_48);
-if (lean_obj_tag(x_48) == 0)
-{
-lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_69; lean_object* x_70; lean_object* x_71;
-x_49 = lean_ctor_get(x_47, 0);
-lean_inc(x_49);
-x_50 = lean_array_get_size(x_49);
-lean_dec(x_49);
-x_69 = lean_ctor_get(x_47, 1);
-lean_inc(x_69);
-lean_inc(x_1);
-x_70 = l_Lean_Parser_tokenFn(x_1, x_47);
-x_71 = lean_ctor_get(x_70, 3);
-lean_inc(x_71);
-if (lean_obj_tag(x_71) == 0)
-{
-lean_object* x_72; lean_object* x_73;
-x_72 = lean_ctor_get(x_70, 0);
-lean_inc(x_72);
-x_73 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_72);
-lean_dec(x_72);
-if (lean_obj_tag(x_73) == 2)
-{
-lean_object* x_74; lean_object* x_75; uint8_t x_76;
-x_74 = lean_ctor_get(x_73, 1);
-lean_inc(x_74);
-lean_dec(x_73);
-x_75 = l_Lean_Parser_Command_example___elambda__1___closed__6;
-x_76 = lean_string_dec_eq(x_74, x_75);
-lean_dec(x_74);
-if (x_76 == 0)
-{
-lean_object* x_77; lean_object* x_78;
-x_77 = l_Lean_Parser_Command_example___elambda__1___closed__9;
-x_78 = l_Lean_Parser_ParserState_mkErrorsAt(x_70, x_77, x_69);
-x_51 = x_78;
-goto block_68;
-}
-else
-{
-lean_dec(x_69);
-x_51 = x_70;
-goto block_68;
-}
-}
-else
-{
-lean_object* x_79; lean_object* x_80;
-lean_dec(x_73);
-x_79 = l_Lean_Parser_Command_example___elambda__1___closed__9;
-x_80 = l_Lean_Parser_ParserState_mkErrorsAt(x_70, x_79, x_69);
-x_51 = x_80;
-goto block_68;
-}
-}
-else
-{
-lean_object* x_81; lean_object* x_82;
-lean_dec(x_71);
-x_81 = l_Lean_Parser_Command_example___elambda__1___closed__9;
-x_82 = l_Lean_Parser_ParserState_mkErrorsAt(x_70, x_81, x_69);
-x_51 = x_82;
-goto block_68;
-}
-block_68:
-{
-lean_object* x_52;
-x_52 = lean_ctor_get(x_51, 3);
-lean_inc(x_52);
-if (lean_obj_tag(x_52) == 0)
-{
-lean_object* x_53; lean_object* x_54;
-lean_inc(x_1);
-x_53 = l_Lean_Parser_Command_declSig___elambda__1(x_1, x_51);
-x_54 = lean_ctor_get(x_53, 3);
-lean_inc(x_54);
-if (lean_obj_tag(x_54) == 0)
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; uint8_t x_58; lean_object* x_59;
-x_55 = l_Lean_Parser_Command_declVal___elambda__1(x_1, x_53);
-x_56 = l_Lean_Parser_Command_example___elambda__1___closed__2;
-x_57 = l_Lean_Parser_ParserState_mkNode(x_55, x_56, x_50);
-x_58 = 1;
-x_59 = l_Lean_Parser_mergeOrElseErrors(x_57, x_42, x_39, x_58);
-lean_dec(x_39);
-return x_59;
-}
-else
-{
-lean_object* x_60; lean_object* x_61; uint8_t x_62; lean_object* x_63;
-lean_dec(x_54);
-lean_dec(x_1);
-x_60 = l_Lean_Parser_Command_example___elambda__1___closed__2;
-x_61 = l_Lean_Parser_ParserState_mkNode(x_53, x_60, x_50);
-x_62 = 1;
-x_63 = l_Lean_Parser_mergeOrElseErrors(x_61, x_42, x_39, x_62);
-lean_dec(x_39);
-return x_63;
-}
-}
-else
-{
-lean_object* x_64; lean_object* x_65; uint8_t x_66; lean_object* x_67;
-lean_dec(x_52);
-lean_dec(x_1);
-x_64 = l_Lean_Parser_Command_example___elambda__1___closed__2;
-x_65 = l_Lean_Parser_ParserState_mkNode(x_51, x_64, x_50);
-x_66 = 1;
-x_67 = l_Lean_Parser_mergeOrElseErrors(x_65, x_42, x_39, x_66);
-lean_dec(x_39);
-return x_67;
-}
-}
-}
-else
-{
-uint8_t x_83; lean_object* x_84;
-lean_dec(x_48);
-lean_dec(x_1);
-x_83 = 1;
-x_84 = l_Lean_Parser_mergeOrElseErrors(x_47, x_42, x_39, x_83);
-lean_dec(x_39);
-return x_84;
-}
-}
-}
+lean_object* x_27; uint8_t x_28; lean_object* x_29;
+x_27 = l_Lean_Parser_Command_example___elambda__1___closed__10;
+x_28 = 1;
+x_29 = l_Lean_Parser_orelseFnCore(x_4, x_27, x_28, x_1, x_2);
+return x_29;
}
}
}
@@ -14089,6 +9213,40 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Command_inferMod___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_emptyC___elambda__1___closed__8;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_tryFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_inferMod___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_inferMod___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_inferMod___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_inferMod___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_inferMod___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Command_inferMod___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -14109,215 +9267,16 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-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; lean_object* x_23; lean_object* x_55; lean_object* x_56;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
-x_10 = lean_ctor_get(x_7, 1);
-lean_inc(x_10);
-x_11 = lean_array_get_size(x_9);
+x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-lean_inc(x_1);
-x_55 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_56 = lean_ctor_get(x_55, 3);
-lean_inc(x_56);
-if (lean_obj_tag(x_56) == 0)
-{
-lean_object* x_57; lean_object* x_58;
-x_57 = lean_ctor_get(x_55, 0);
-lean_inc(x_57);
-x_58 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_57);
-lean_dec(x_57);
-if (lean_obj_tag(x_58) == 2)
-{
-lean_object* x_59; lean_object* x_60; uint8_t x_61;
-x_59 = lean_ctor_get(x_58, 1);
-lean_inc(x_59);
-lean_dec(x_58);
-x_60 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__5;
-x_61 = lean_string_dec_eq(x_59, x_60);
-lean_dec(x_59);
-if (x_61 == 0)
-{
-lean_object* x_62; lean_object* x_63;
-x_62 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12;
-lean_inc(x_10);
-x_63 = l_Lean_Parser_ParserState_mkErrorsAt(x_55, x_62, x_10);
-x_23 = x_63;
-goto block_54;
-}
-else
-{
-x_23 = x_55;
-goto block_54;
-}
-}
-else
-{
-lean_object* x_64; lean_object* x_65;
-lean_dec(x_58);
-x_64 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12;
-lean_inc(x_10);
-x_65 = l_Lean_Parser_ParserState_mkErrorsAt(x_55, x_64, x_10);
-x_23 = x_65;
-goto block_54;
-}
-}
-else
-{
-lean_object* x_66; lean_object* x_67;
-lean_dec(x_56);
-x_66 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12;
-lean_inc(x_10);
-x_67 = l_Lean_Parser_ParserState_mkErrorsAt(x_55, x_66, x_10);
-x_23 = x_67;
-goto block_54;
-}
-block_22:
-{
-if (lean_obj_tag(x_15) == 0)
-{
-lean_object* x_16; lean_object* x_17;
-lean_dec(x_14);
-lean_dec(x_13);
-lean_dec(x_10);
-x_16 = l_Lean_Parser_Command_inferMod___elambda__1___closed__2;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_12, x_16, x_11);
-return x_17;
-}
-else
-{
-lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
-lean_dec(x_12);
-x_18 = l_Array_shrink___main___rarg(x_13, x_11);
-x_19 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_19, 0, x_18);
-lean_ctor_set(x_19, 1, x_10);
-lean_ctor_set(x_19, 2, x_14);
-lean_ctor_set(x_19, 3, x_15);
-x_20 = l_Lean_Parser_Command_inferMod___elambda__1___closed__2;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_11);
-return x_21;
-}
-}
-block_54:
-{
-lean_object* x_24;
-x_24 = lean_ctor_get(x_23, 3);
-lean_inc(x_24);
-if (lean_obj_tag(x_24) == 0)
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27;
-x_25 = lean_ctor_get(x_23, 1);
-lean_inc(x_25);
-x_26 = l_Lean_Parser_tokenFn(x_1, x_23);
-x_27 = lean_ctor_get(x_26, 3);
-lean_inc(x_27);
-if (lean_obj_tag(x_27) == 0)
-{
-lean_object* x_28; lean_object* x_29;
-x_28 = lean_ctor_get(x_26, 0);
-lean_inc(x_28);
-x_29 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_28);
-lean_dec(x_28);
-if (lean_obj_tag(x_29) == 2)
-{
-lean_object* x_30; lean_object* x_31; uint8_t x_32;
-x_30 = lean_ctor_get(x_29, 1);
-lean_inc(x_30);
-lean_dec(x_29);
-x_31 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__6;
-x_32 = lean_string_dec_eq(x_30, x_31);
-lean_dec(x_30);
-if (x_32 == 0)
-{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_33 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_26, x_33, x_25);
-x_35 = lean_ctor_get(x_34, 0);
-lean_inc(x_35);
-x_36 = lean_ctor_get(x_34, 2);
-lean_inc(x_36);
-x_37 = lean_ctor_get(x_34, 3);
-lean_inc(x_37);
-x_12 = x_34;
-x_13 = x_35;
-x_14 = x_36;
-x_15 = x_37;
-goto block_22;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; lean_object* x_40;
-lean_dec(x_25);
-x_38 = lean_ctor_get(x_26, 0);
-lean_inc(x_38);
-x_39 = lean_ctor_get(x_26, 2);
-lean_inc(x_39);
-x_40 = lean_ctor_get(x_26, 3);
-lean_inc(x_40);
-x_12 = x_26;
-x_13 = x_38;
-x_14 = x_39;
-x_15 = x_40;
-goto block_22;
-}
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45;
-lean_dec(x_29);
-x_41 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
-x_42 = l_Lean_Parser_ParserState_mkErrorsAt(x_26, x_41, x_25);
-x_43 = lean_ctor_get(x_42, 0);
-lean_inc(x_43);
-x_44 = lean_ctor_get(x_42, 2);
-lean_inc(x_44);
-x_45 = lean_ctor_get(x_42, 3);
-lean_inc(x_45);
-x_12 = x_42;
-x_13 = x_43;
-x_14 = x_44;
-x_15 = x_45;
-goto block_22;
-}
-}
-else
-{
-lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50;
-lean_dec(x_27);
-x_46 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
-x_47 = l_Lean_Parser_ParserState_mkErrorsAt(x_26, x_46, x_25);
-x_48 = lean_ctor_get(x_47, 0);
-lean_inc(x_48);
-x_49 = lean_ctor_get(x_47, 2);
-lean_inc(x_49);
-x_50 = lean_ctor_get(x_47, 3);
-lean_inc(x_50);
-x_12 = x_47;
-x_13 = x_48;
-x_14 = x_49;
-x_15 = x_50;
-goto block_22;
-}
-}
-else
-{
-lean_object* x_51; lean_object* x_52; lean_object* x_53;
-lean_dec(x_24);
-lean_dec(x_1);
-x_51 = lean_ctor_get(x_23, 0);
-lean_inc(x_51);
-x_52 = lean_ctor_get(x_23, 2);
-lean_inc(x_52);
-x_53 = lean_ctor_get(x_23, 3);
-lean_inc(x_53);
-x_12 = x_23;
-x_13 = x_51;
-x_14 = x_52;
-x_15 = x_53;
-goto block_22;
-}
-}
+x_11 = l_Lean_Parser_Term_emptyC___elambda__1___closed__8;
+x_12 = l_Lean_Parser_tryFn(x_11, x_1, x_7);
+x_13 = l_Lean_Parser_Command_inferMod___elambda__1___closed__2;
+x_14 = l_Lean_Parser_ParserState_mkNode(x_12, x_13, x_10);
+return x_14;
}
else
{
@@ -14328,282 +9287,11 @@ return x_7;
}
else
{
-lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72;
-x_68 = lean_ctor_get(x_2, 0);
-lean_inc(x_68);
-x_69 = lean_array_get_size(x_68);
-lean_dec(x_68);
-x_70 = lean_ctor_get(x_2, 1);
-lean_inc(x_70);
-lean_inc(x_1);
-x_71 = lean_apply_2(x_4, x_1, x_2);
-x_72 = lean_ctor_get(x_71, 3);
-lean_inc(x_72);
-if (lean_obj_tag(x_72) == 0)
-{
-lean_dec(x_70);
-lean_dec(x_69);
-lean_dec(x_1);
-return x_71;
-}
-else
-{
-lean_object* x_73; lean_object* x_74; uint8_t x_75;
-x_73 = lean_ctor_get(x_72, 0);
-lean_inc(x_73);
-lean_dec(x_72);
-x_74 = lean_ctor_get(x_71, 1);
-lean_inc(x_74);
-x_75 = lean_nat_dec_eq(x_74, x_70);
-lean_dec(x_74);
-if (x_75 == 0)
-{
-lean_dec(x_73);
-lean_dec(x_70);
-lean_dec(x_69);
-lean_dec(x_1);
-return x_71;
-}
-else
-{
-lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79;
-lean_inc(x_70);
-x_76 = l_Lean_Parser_ParserState_restore(x_71, x_69, x_70);
-lean_dec(x_69);
-x_77 = lean_unsigned_to_nat(1024u);
-x_78 = l_Lean_Parser_checkPrecFn(x_77, x_1, x_76);
-x_79 = lean_ctor_get(x_78, 3);
-lean_inc(x_79);
-if (lean_obj_tag(x_79) == 0)
-{
-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_98; lean_object* x_130; lean_object* x_131;
-x_80 = lean_ctor_get(x_78, 0);
-lean_inc(x_80);
-x_81 = lean_ctor_get(x_78, 1);
-lean_inc(x_81);
-x_82 = lean_array_get_size(x_80);
-lean_dec(x_80);
-lean_inc(x_1);
-x_130 = l_Lean_Parser_tokenFn(x_1, x_78);
-x_131 = lean_ctor_get(x_130, 3);
-lean_inc(x_131);
-if (lean_obj_tag(x_131) == 0)
-{
-lean_object* x_132; lean_object* x_133;
-x_132 = lean_ctor_get(x_130, 0);
-lean_inc(x_132);
-x_133 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_132);
-lean_dec(x_132);
-if (lean_obj_tag(x_133) == 2)
-{
-lean_object* x_134; lean_object* x_135; uint8_t x_136;
-x_134 = lean_ctor_get(x_133, 1);
-lean_inc(x_134);
-lean_dec(x_133);
-x_135 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__5;
-x_136 = lean_string_dec_eq(x_134, x_135);
-lean_dec(x_134);
-if (x_136 == 0)
-{
-lean_object* x_137; lean_object* x_138;
-x_137 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12;
-lean_inc(x_81);
-x_138 = l_Lean_Parser_ParserState_mkErrorsAt(x_130, x_137, x_81);
-x_98 = x_138;
-goto block_129;
-}
-else
-{
-x_98 = x_130;
-goto block_129;
-}
-}
-else
-{
-lean_object* x_139; lean_object* x_140;
-lean_dec(x_133);
-x_139 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12;
-lean_inc(x_81);
-x_140 = l_Lean_Parser_ParserState_mkErrorsAt(x_130, x_139, x_81);
-x_98 = x_140;
-goto block_129;
-}
-}
-else
-{
-lean_object* x_141; lean_object* x_142;
-lean_dec(x_131);
-x_141 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12;
-lean_inc(x_81);
-x_142 = l_Lean_Parser_ParserState_mkErrorsAt(x_130, x_141, x_81);
-x_98 = x_142;
-goto block_129;
-}
-block_97:
-{
-if (lean_obj_tag(x_86) == 0)
-{
-lean_object* x_87; lean_object* x_88; uint8_t x_89; lean_object* x_90;
-lean_dec(x_85);
-lean_dec(x_84);
-lean_dec(x_81);
-x_87 = l_Lean_Parser_Command_inferMod___elambda__1___closed__2;
-x_88 = l_Lean_Parser_ParserState_mkNode(x_83, x_87, x_82);
-x_89 = 1;
-x_90 = l_Lean_Parser_mergeOrElseErrors(x_88, x_73, x_70, x_89);
-lean_dec(x_70);
-return x_90;
-}
-else
-{
-lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; uint8_t x_95; lean_object* x_96;
-lean_dec(x_83);
-x_91 = l_Array_shrink___main___rarg(x_84, x_82);
-x_92 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_92, 0, x_91);
-lean_ctor_set(x_92, 1, x_81);
-lean_ctor_set(x_92, 2, x_85);
-lean_ctor_set(x_92, 3, x_86);
-x_93 = l_Lean_Parser_Command_inferMod___elambda__1___closed__2;
-x_94 = l_Lean_Parser_ParserState_mkNode(x_92, x_93, x_82);
-x_95 = 1;
-x_96 = l_Lean_Parser_mergeOrElseErrors(x_94, x_73, x_70, x_95);
-lean_dec(x_70);
-return x_96;
-}
-}
-block_129:
-{
-lean_object* x_99;
-x_99 = lean_ctor_get(x_98, 3);
-lean_inc(x_99);
-if (lean_obj_tag(x_99) == 0)
-{
-lean_object* x_100; lean_object* x_101; lean_object* x_102;
-x_100 = lean_ctor_get(x_98, 1);
-lean_inc(x_100);
-x_101 = l_Lean_Parser_tokenFn(x_1, x_98);
-x_102 = lean_ctor_get(x_101, 3);
-lean_inc(x_102);
-if (lean_obj_tag(x_102) == 0)
-{
-lean_object* x_103; lean_object* x_104;
-x_103 = lean_ctor_get(x_101, 0);
-lean_inc(x_103);
-x_104 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_103);
-lean_dec(x_103);
-if (lean_obj_tag(x_104) == 2)
-{
-lean_object* x_105; lean_object* x_106; uint8_t x_107;
-x_105 = lean_ctor_get(x_104, 1);
-lean_inc(x_105);
-lean_dec(x_104);
-x_106 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__6;
-x_107 = lean_string_dec_eq(x_105, x_106);
-lean_dec(x_105);
-if (x_107 == 0)
-{
-lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112;
-x_108 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
-x_109 = l_Lean_Parser_ParserState_mkErrorsAt(x_101, x_108, x_100);
-x_110 = lean_ctor_get(x_109, 0);
-lean_inc(x_110);
-x_111 = lean_ctor_get(x_109, 2);
-lean_inc(x_111);
-x_112 = lean_ctor_get(x_109, 3);
-lean_inc(x_112);
-x_83 = x_109;
-x_84 = x_110;
-x_85 = x_111;
-x_86 = x_112;
-goto block_97;
-}
-else
-{
-lean_object* x_113; lean_object* x_114; lean_object* x_115;
-lean_dec(x_100);
-x_113 = lean_ctor_get(x_101, 0);
-lean_inc(x_113);
-x_114 = lean_ctor_get(x_101, 2);
-lean_inc(x_114);
-x_115 = lean_ctor_get(x_101, 3);
-lean_inc(x_115);
-x_83 = x_101;
-x_84 = x_113;
-x_85 = x_114;
-x_86 = x_115;
-goto block_97;
-}
-}
-else
-{
-lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120;
-lean_dec(x_104);
-x_116 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
-x_117 = l_Lean_Parser_ParserState_mkErrorsAt(x_101, x_116, x_100);
-x_118 = lean_ctor_get(x_117, 0);
-lean_inc(x_118);
-x_119 = lean_ctor_get(x_117, 2);
-lean_inc(x_119);
-x_120 = lean_ctor_get(x_117, 3);
-lean_inc(x_120);
-x_83 = x_117;
-x_84 = x_118;
-x_85 = x_119;
-x_86 = x_120;
-goto block_97;
-}
-}
-else
-{
-lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125;
-lean_dec(x_102);
-x_121 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
-x_122 = l_Lean_Parser_ParserState_mkErrorsAt(x_101, x_121, x_100);
-x_123 = lean_ctor_get(x_122, 0);
-lean_inc(x_123);
-x_124 = lean_ctor_get(x_122, 2);
-lean_inc(x_124);
-x_125 = lean_ctor_get(x_122, 3);
-lean_inc(x_125);
-x_83 = x_122;
-x_84 = x_123;
-x_85 = x_124;
-x_86 = x_125;
-goto block_97;
-}
-}
-else
-{
-lean_object* x_126; lean_object* x_127; lean_object* x_128;
-lean_dec(x_99);
-lean_dec(x_1);
-x_126 = lean_ctor_get(x_98, 0);
-lean_inc(x_126);
-x_127 = lean_ctor_get(x_98, 2);
-lean_inc(x_127);
-x_128 = lean_ctor_get(x_98, 3);
-lean_inc(x_128);
-x_83 = x_98;
-x_84 = x_126;
-x_85 = x_127;
-x_86 = x_128;
-goto block_97;
-}
-}
-}
-else
-{
-uint8_t x_143; lean_object* x_144;
-lean_dec(x_79);
-lean_dec(x_1);
-x_143 = 1;
-x_144 = l_Lean_Parser_mergeOrElseErrors(x_78, x_73, x_70, x_143);
-lean_dec(x_70);
-return x_144;
-}
-}
-}
+lean_object* x_15; uint8_t x_16; lean_object* x_17;
+x_15 = l_Lean_Parser_Command_inferMod___elambda__1___closed__7;
+x_16 = 1;
+x_17 = l_Lean_Parser_orelseFnCore(x_4, x_15, x_16, x_1, x_2);
+return x_17;
}
}
}
@@ -14726,13 +9414,107 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_ctor___elambda__1___closed__7() {
_start:
{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_ctor___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_ctor___elambda__1___closed__8() {
+_start:
+{
uint8_t x_1; lean_object* x_2;
x_1 = 1;
x_2 = l_Lean_Parser_Command_declModifiers(x_1);
return x_2;
}
}
-static lean_object* _init_l_Lean_Parser_Command_ctor___elambda__1___closed__8() {
+static lean_object* _init_l_Lean_Parser_Command_ctor___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_inferMod___closed__4;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optionalFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_ctor___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_ctor___elambda__1___closed__9;
+x_2 = l_Lean_Parser_Command_optDeclSig___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_ctor___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_ident___closed__2;
+x_2 = l_Lean_Parser_Command_ctor___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_ctor___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
+x_1 = l_Lean_Parser_Command_ctor___elambda__1___closed__8;
+x_2 = lean_ctor_get(x_1, 1);
+lean_inc(x_2);
+x_3 = l_Lean_Parser_Command_ctor___elambda__1___closed__11;
+x_4 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_4, 0, x_2);
+lean_closure_set(x_4, 1, x_3);
+return x_4;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_ctor___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_ctor___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Command_ctor___elambda__1___closed__12;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_ctor___elambda__1___closed__14() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_ctor___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_ctor___elambda__1___closed__13;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_ctor___elambda__1___closed__15() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_ctor___elambda__1___closed__14;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_ctor___elambda__1___closed__16() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
@@ -14742,33 +9524,21 @@ x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Command_ctor___elambda__1___closed__9() {
+static lean_object* _init_l_Lean_Parser_Command_ctor___elambda__1___closed__17() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Command_ctor___elambda__1___closed__8;
+x_1 = l_Lean_Parser_Command_ctor___elambda__1___closed__16;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Command_ctor___elambda__1___closed__10() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Command_ctor___elambda__1___closed__9;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
-}
-}
lean_object* l_Lean_Parser_Command_ctor___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; uint8_t x_7;
-x_3 = l_Lean_Parser_Command_ctor___elambda__1___closed__7;
+x_3 = l_Lean_Parser_Command_ctor___elambda__1___closed__8;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
x_5 = l_Lean_Parser_Command_ctor___elambda__1___closed__4;
@@ -14787,217 +9557,86 @@ x_10 = lean_ctor_get(x_9, 3);
lean_inc(x_10);
if (lean_obj_tag(x_10) == 0)
{
-lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_58; lean_object* x_59; lean_object* x_60;
+lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
x_11 = lean_ctor_get(x_9, 0);
lean_inc(x_11);
x_12 = lean_array_get_size(x_11);
lean_dec(x_11);
-x_58 = lean_ctor_get(x_9, 1);
-lean_inc(x_58);
+x_13 = l_Lean_Parser_Command_ctor___elambda__1___closed__6;
+x_14 = l_Lean_Parser_Command_ctor___elambda__1___closed__17;
lean_inc(x_1);
-x_59 = l_Lean_Parser_tokenFn(x_1, x_9);
-x_60 = lean_ctor_get(x_59, 3);
-lean_inc(x_60);
-if (lean_obj_tag(x_60) == 0)
-{
-lean_object* x_61; lean_object* x_62;
-x_61 = lean_ctor_get(x_59, 0);
-lean_inc(x_61);
-x_62 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_61);
-lean_dec(x_61);
-if (lean_obj_tag(x_62) == 2)
-{
-lean_object* x_63; lean_object* x_64; uint8_t x_65;
-x_63 = lean_ctor_get(x_62, 1);
-lean_inc(x_63);
-lean_dec(x_62);
-x_64 = l_Lean_Parser_Command_ctor___elambda__1___closed__6;
-x_65 = lean_string_dec_eq(x_63, x_64);
-lean_dec(x_63);
-if (x_65 == 0)
-{
-lean_object* x_66; lean_object* x_67;
-x_66 = l_Lean_Parser_Command_ctor___elambda__1___closed__10;
-x_67 = l_Lean_Parser_ParserState_mkErrorsAt(x_59, x_66, x_58);
-x_13 = x_67;
-goto block_57;
-}
-else
-{
-lean_dec(x_58);
-x_13 = x_59;
-goto block_57;
-}
-}
-else
-{
-lean_object* x_68; lean_object* x_69;
-lean_dec(x_62);
-x_68 = l_Lean_Parser_Command_ctor___elambda__1___closed__10;
-x_69 = l_Lean_Parser_ParserState_mkErrorsAt(x_59, x_68, x_58);
-x_13 = x_69;
-goto block_57;
-}
-}
-else
-{
-lean_object* x_70; lean_object* x_71;
-lean_dec(x_60);
-x_70 = l_Lean_Parser_Command_ctor___elambda__1___closed__10;
-x_71 = l_Lean_Parser_ParserState_mkErrorsAt(x_59, x_70, x_58);
-x_13 = x_71;
-goto block_57;
-}
-block_57:
-{
-lean_object* x_14;
-x_14 = lean_ctor_get(x_13, 3);
-lean_inc(x_14);
-if (lean_obj_tag(x_14) == 0)
-{
-lean_object* x_15; lean_object* x_16;
-lean_inc(x_1);
-x_15 = lean_apply_2(x_4, x_1, x_13);
+x_15 = l_Lean_Parser_symbolFnAux(x_13, x_14, x_1, x_9);
x_16 = lean_ctor_get(x_15, 3);
lean_inc(x_16);
if (lean_obj_tag(x_16) == 0)
{
lean_object* x_17; lean_object* x_18;
lean_inc(x_1);
-x_17 = l_Lean_Parser_ident___elambda__1(x_1, x_15);
+x_17 = lean_apply_2(x_4, x_1, x_15);
x_18 = lean_ctor_get(x_17, 3);
lean_inc(x_18);
if (lean_obj_tag(x_18) == 0)
{
-lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23;
-x_19 = lean_ctor_get(x_17, 0);
-lean_inc(x_19);
-x_20 = lean_array_get_size(x_19);
-lean_dec(x_19);
-x_21 = lean_ctor_get(x_17, 1);
-lean_inc(x_21);
+lean_object* x_19; lean_object* x_20;
lean_inc(x_1);
-x_22 = l_Lean_Parser_Command_inferMod___elambda__1(x_1, x_17);
+x_19 = l_Lean_Parser_ident___elambda__1(x_1, x_17);
+x_20 = lean_ctor_get(x_19, 3);
+lean_inc(x_20);
+if (lean_obj_tag(x_20) == 0)
+{
+lean_object* x_21; lean_object* x_22; lean_object* x_23;
+x_21 = l_Lean_Parser_Command_inferMod___closed__4;
+lean_inc(x_1);
+x_22 = l_Lean_Parser_optionalFn(x_21, x_1, x_19);
x_23 = lean_ctor_get(x_22, 3);
lean_inc(x_23);
if (lean_obj_tag(x_23) == 0)
{
lean_object* x_24; lean_object* x_25; lean_object* x_26;
-lean_dec(x_21);
-x_24 = l_Lean_nullKind;
-x_25 = l_Lean_Parser_ParserState_mkNode(x_22, x_24, x_20);
-x_26 = lean_ctor_get(x_25, 3);
-lean_inc(x_26);
-if (lean_obj_tag(x_26) == 0)
-{
-lean_object* x_27; lean_object* x_28; lean_object* x_29;
-x_27 = l_Lean_Parser_Command_optDeclSig___elambda__1(x_1, x_25);
-x_28 = l_Lean_Parser_Command_ctor___elambda__1___closed__2;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_27, x_28, x_12);
-return x_29;
+x_24 = l_Lean_Parser_Command_optDeclSig___elambda__1(x_1, x_22);
+x_25 = l_Lean_Parser_Command_ctor___elambda__1___closed__2;
+x_26 = l_Lean_Parser_ParserState_mkNode(x_24, x_25, x_12);
+return x_26;
}
else
{
-lean_object* x_30; lean_object* x_31;
-lean_dec(x_26);
-lean_dec(x_1);
-x_30 = l_Lean_Parser_Command_ctor___elambda__1___closed__2;
-x_31 = l_Lean_Parser_ParserState_mkNode(x_25, x_30, x_12);
-return x_31;
-}
-}
-else
-{
-lean_object* x_32; uint8_t x_33;
+lean_object* x_27; lean_object* x_28;
lean_dec(x_23);
-x_32 = lean_ctor_get(x_22, 1);
-lean_inc(x_32);
-x_33 = lean_nat_dec_eq(x_32, x_21);
-lean_dec(x_32);
-if (x_33 == 0)
-{
-lean_object* x_34; lean_object* x_35; lean_object* x_36;
-lean_dec(x_21);
-x_34 = l_Lean_nullKind;
-x_35 = l_Lean_Parser_ParserState_mkNode(x_22, x_34, x_20);
-x_36 = lean_ctor_get(x_35, 3);
-lean_inc(x_36);
-if (lean_obj_tag(x_36) == 0)
-{
-lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_37 = l_Lean_Parser_Command_optDeclSig___elambda__1(x_1, x_35);
-x_38 = l_Lean_Parser_Command_ctor___elambda__1___closed__2;
-x_39 = l_Lean_Parser_ParserState_mkNode(x_37, x_38, x_12);
-return x_39;
-}
-else
-{
-lean_object* x_40; lean_object* x_41;
-lean_dec(x_36);
lean_dec(x_1);
-x_40 = l_Lean_Parser_Command_ctor___elambda__1___closed__2;
-x_41 = l_Lean_Parser_ParserState_mkNode(x_35, x_40, x_12);
-return x_41;
+x_27 = l_Lean_Parser_Command_ctor___elambda__1___closed__2;
+x_28 = l_Lean_Parser_ParserState_mkNode(x_22, x_27, x_12);
+return x_28;
}
}
else
{
-lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45;
-x_42 = l_Lean_Parser_ParserState_restore(x_22, x_20, x_21);
-x_43 = l_Lean_nullKind;
-x_44 = l_Lean_Parser_ParserState_mkNode(x_42, x_43, x_20);
-x_45 = lean_ctor_get(x_44, 3);
-lean_inc(x_45);
-if (lean_obj_tag(x_45) == 0)
-{
-lean_object* x_46; lean_object* x_47; lean_object* x_48;
-x_46 = l_Lean_Parser_Command_optDeclSig___elambda__1(x_1, x_44);
-x_47 = l_Lean_Parser_Command_ctor___elambda__1___closed__2;
-x_48 = l_Lean_Parser_ParserState_mkNode(x_46, x_47, x_12);
-return x_48;
-}
-else
-{
-lean_object* x_49; lean_object* x_50;
-lean_dec(x_45);
+lean_object* x_29; lean_object* x_30;
+lean_dec(x_20);
lean_dec(x_1);
-x_49 = l_Lean_Parser_Command_ctor___elambda__1___closed__2;
-x_50 = l_Lean_Parser_ParserState_mkNode(x_44, x_49, x_12);
-return x_50;
-}
-}
+x_29 = l_Lean_Parser_Command_ctor___elambda__1___closed__2;
+x_30 = l_Lean_Parser_ParserState_mkNode(x_19, x_29, x_12);
+return x_30;
}
}
else
{
-lean_object* x_51; lean_object* x_52;
+lean_object* x_31; lean_object* x_32;
lean_dec(x_18);
lean_dec(x_1);
-x_51 = l_Lean_Parser_Command_ctor___elambda__1___closed__2;
-x_52 = l_Lean_Parser_ParserState_mkNode(x_17, x_51, x_12);
-return x_52;
+x_31 = l_Lean_Parser_Command_ctor___elambda__1___closed__2;
+x_32 = l_Lean_Parser_ParserState_mkNode(x_17, x_31, x_12);
+return x_32;
}
}
else
{
-lean_object* x_53; lean_object* x_54;
+lean_object* x_33; lean_object* x_34;
lean_dec(x_16);
-lean_dec(x_1);
-x_53 = l_Lean_Parser_Command_ctor___elambda__1___closed__2;
-x_54 = l_Lean_Parser_ParserState_mkNode(x_15, x_53, x_12);
-return x_54;
-}
-}
-else
-{
-lean_object* x_55; lean_object* x_56;
-lean_dec(x_14);
lean_dec(x_4);
lean_dec(x_1);
-x_55 = l_Lean_Parser_Command_ctor___elambda__1___closed__2;
-x_56 = l_Lean_Parser_ParserState_mkNode(x_13, x_55, x_12);
-return x_56;
-}
+x_33 = l_Lean_Parser_Command_ctor___elambda__1___closed__2;
+x_34 = l_Lean_Parser_ParserState_mkNode(x_15, x_33, x_12);
+return x_34;
}
}
else
@@ -15010,309 +9649,12 @@ return x_9;
}
else
{
-lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76;
-x_72 = lean_ctor_get(x_2, 0);
-lean_inc(x_72);
-x_73 = lean_array_get_size(x_72);
-lean_dec(x_72);
-x_74 = lean_ctor_get(x_2, 1);
-lean_inc(x_74);
-lean_inc(x_1);
-x_75 = lean_apply_2(x_6, x_1, x_2);
-x_76 = lean_ctor_get(x_75, 3);
-lean_inc(x_76);
-if (lean_obj_tag(x_76) == 0)
-{
-lean_dec(x_74);
-lean_dec(x_73);
+lean_object* x_35; uint8_t x_36; lean_object* x_37;
lean_dec(x_4);
-lean_dec(x_1);
-return x_75;
-}
-else
-{
-lean_object* x_77; lean_object* x_78; uint8_t x_79;
-x_77 = lean_ctor_get(x_76, 0);
-lean_inc(x_77);
-lean_dec(x_76);
-x_78 = lean_ctor_get(x_75, 1);
-lean_inc(x_78);
-x_79 = lean_nat_dec_eq(x_78, x_74);
-lean_dec(x_78);
-if (x_79 == 0)
-{
-lean_dec(x_77);
-lean_dec(x_74);
-lean_dec(x_73);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_75;
-}
-else
-{
-lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83;
-lean_inc(x_74);
-x_80 = l_Lean_Parser_ParserState_restore(x_75, x_73, x_74);
-lean_dec(x_73);
-x_81 = lean_unsigned_to_nat(1024u);
-x_82 = l_Lean_Parser_checkPrecFn(x_81, x_1, x_80);
-x_83 = lean_ctor_get(x_82, 3);
-lean_inc(x_83);
-if (lean_obj_tag(x_83) == 0)
-{
-lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_149; lean_object* x_150; lean_object* x_151;
-x_84 = lean_ctor_get(x_82, 0);
-lean_inc(x_84);
-x_85 = lean_array_get_size(x_84);
-lean_dec(x_84);
-x_149 = lean_ctor_get(x_82, 1);
-lean_inc(x_149);
-lean_inc(x_1);
-x_150 = l_Lean_Parser_tokenFn(x_1, x_82);
-x_151 = lean_ctor_get(x_150, 3);
-lean_inc(x_151);
-if (lean_obj_tag(x_151) == 0)
-{
-lean_object* x_152; lean_object* x_153;
-x_152 = lean_ctor_get(x_150, 0);
-lean_inc(x_152);
-x_153 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_152);
-lean_dec(x_152);
-if (lean_obj_tag(x_153) == 2)
-{
-lean_object* x_154; lean_object* x_155; uint8_t x_156;
-x_154 = lean_ctor_get(x_153, 1);
-lean_inc(x_154);
-lean_dec(x_153);
-x_155 = l_Lean_Parser_Command_ctor___elambda__1___closed__6;
-x_156 = lean_string_dec_eq(x_154, x_155);
-lean_dec(x_154);
-if (x_156 == 0)
-{
-lean_object* x_157; lean_object* x_158;
-x_157 = l_Lean_Parser_Command_ctor___elambda__1___closed__10;
-x_158 = l_Lean_Parser_ParserState_mkErrorsAt(x_150, x_157, x_149);
-x_86 = x_158;
-goto block_148;
-}
-else
-{
-lean_dec(x_149);
-x_86 = x_150;
-goto block_148;
-}
-}
-else
-{
-lean_object* x_159; lean_object* x_160;
-lean_dec(x_153);
-x_159 = l_Lean_Parser_Command_ctor___elambda__1___closed__10;
-x_160 = l_Lean_Parser_ParserState_mkErrorsAt(x_150, x_159, x_149);
-x_86 = x_160;
-goto block_148;
-}
-}
-else
-{
-lean_object* x_161; lean_object* x_162;
-lean_dec(x_151);
-x_161 = l_Lean_Parser_Command_ctor___elambda__1___closed__10;
-x_162 = l_Lean_Parser_ParserState_mkErrorsAt(x_150, x_161, x_149);
-x_86 = x_162;
-goto block_148;
-}
-block_148:
-{
-lean_object* x_87;
-x_87 = lean_ctor_get(x_86, 3);
-lean_inc(x_87);
-if (lean_obj_tag(x_87) == 0)
-{
-lean_object* x_88; lean_object* x_89;
-lean_inc(x_1);
-x_88 = lean_apply_2(x_4, x_1, x_86);
-x_89 = lean_ctor_get(x_88, 3);
-lean_inc(x_89);
-if (lean_obj_tag(x_89) == 0)
-{
-lean_object* x_90; lean_object* x_91;
-lean_inc(x_1);
-x_90 = l_Lean_Parser_ident___elambda__1(x_1, x_88);
-x_91 = lean_ctor_get(x_90, 3);
-lean_inc(x_91);
-if (lean_obj_tag(x_91) == 0)
-{
-lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96;
-x_92 = lean_ctor_get(x_90, 0);
-lean_inc(x_92);
-x_93 = lean_array_get_size(x_92);
-lean_dec(x_92);
-x_94 = lean_ctor_get(x_90, 1);
-lean_inc(x_94);
-lean_inc(x_1);
-x_95 = l_Lean_Parser_Command_inferMod___elambda__1(x_1, x_90);
-x_96 = lean_ctor_get(x_95, 3);
-lean_inc(x_96);
-if (lean_obj_tag(x_96) == 0)
-{
-lean_object* x_97; lean_object* x_98; lean_object* x_99;
-lean_dec(x_94);
-x_97 = l_Lean_nullKind;
-x_98 = l_Lean_Parser_ParserState_mkNode(x_95, x_97, x_93);
-x_99 = lean_ctor_get(x_98, 3);
-lean_inc(x_99);
-if (lean_obj_tag(x_99) == 0)
-{
-lean_object* x_100; lean_object* x_101; lean_object* x_102; uint8_t x_103; lean_object* x_104;
-x_100 = l_Lean_Parser_Command_optDeclSig___elambda__1(x_1, x_98);
-x_101 = l_Lean_Parser_Command_ctor___elambda__1___closed__2;
-x_102 = l_Lean_Parser_ParserState_mkNode(x_100, x_101, x_85);
-x_103 = 1;
-x_104 = l_Lean_Parser_mergeOrElseErrors(x_102, x_77, x_74, x_103);
-lean_dec(x_74);
-return x_104;
-}
-else
-{
-lean_object* x_105; lean_object* x_106; uint8_t x_107; lean_object* x_108;
-lean_dec(x_99);
-lean_dec(x_1);
-x_105 = l_Lean_Parser_Command_ctor___elambda__1___closed__2;
-x_106 = l_Lean_Parser_ParserState_mkNode(x_98, x_105, x_85);
-x_107 = 1;
-x_108 = l_Lean_Parser_mergeOrElseErrors(x_106, x_77, x_74, x_107);
-lean_dec(x_74);
-return x_108;
-}
-}
-else
-{
-lean_object* x_109; uint8_t x_110;
-lean_dec(x_96);
-x_109 = lean_ctor_get(x_95, 1);
-lean_inc(x_109);
-x_110 = lean_nat_dec_eq(x_109, x_94);
-lean_dec(x_109);
-if (x_110 == 0)
-{
-lean_object* x_111; lean_object* x_112; lean_object* x_113;
-lean_dec(x_94);
-x_111 = l_Lean_nullKind;
-x_112 = l_Lean_Parser_ParserState_mkNode(x_95, x_111, x_93);
-x_113 = lean_ctor_get(x_112, 3);
-lean_inc(x_113);
-if (lean_obj_tag(x_113) == 0)
-{
-lean_object* x_114; lean_object* x_115; lean_object* x_116; uint8_t x_117; lean_object* x_118;
-x_114 = l_Lean_Parser_Command_optDeclSig___elambda__1(x_1, x_112);
-x_115 = l_Lean_Parser_Command_ctor___elambda__1___closed__2;
-x_116 = l_Lean_Parser_ParserState_mkNode(x_114, x_115, x_85);
-x_117 = 1;
-x_118 = l_Lean_Parser_mergeOrElseErrors(x_116, x_77, x_74, x_117);
-lean_dec(x_74);
-return x_118;
-}
-else
-{
-lean_object* x_119; lean_object* x_120; uint8_t x_121; lean_object* x_122;
-lean_dec(x_113);
-lean_dec(x_1);
-x_119 = l_Lean_Parser_Command_ctor___elambda__1___closed__2;
-x_120 = l_Lean_Parser_ParserState_mkNode(x_112, x_119, x_85);
-x_121 = 1;
-x_122 = l_Lean_Parser_mergeOrElseErrors(x_120, x_77, x_74, x_121);
-lean_dec(x_74);
-return x_122;
-}
-}
-else
-{
-lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126;
-x_123 = l_Lean_Parser_ParserState_restore(x_95, x_93, x_94);
-x_124 = l_Lean_nullKind;
-x_125 = l_Lean_Parser_ParserState_mkNode(x_123, x_124, x_93);
-x_126 = lean_ctor_get(x_125, 3);
-lean_inc(x_126);
-if (lean_obj_tag(x_126) == 0)
-{
-lean_object* x_127; lean_object* x_128; lean_object* x_129; uint8_t x_130; lean_object* x_131;
-x_127 = l_Lean_Parser_Command_optDeclSig___elambda__1(x_1, x_125);
-x_128 = l_Lean_Parser_Command_ctor___elambda__1___closed__2;
-x_129 = l_Lean_Parser_ParserState_mkNode(x_127, x_128, x_85);
-x_130 = 1;
-x_131 = l_Lean_Parser_mergeOrElseErrors(x_129, x_77, x_74, x_130);
-lean_dec(x_74);
-return x_131;
-}
-else
-{
-lean_object* x_132; lean_object* x_133; uint8_t x_134; lean_object* x_135;
-lean_dec(x_126);
-lean_dec(x_1);
-x_132 = l_Lean_Parser_Command_ctor___elambda__1___closed__2;
-x_133 = l_Lean_Parser_ParserState_mkNode(x_125, x_132, x_85);
-x_134 = 1;
-x_135 = l_Lean_Parser_mergeOrElseErrors(x_133, x_77, x_74, x_134);
-lean_dec(x_74);
-return x_135;
-}
-}
-}
-}
-else
-{
-lean_object* x_136; lean_object* x_137; uint8_t x_138; lean_object* x_139;
-lean_dec(x_91);
-lean_dec(x_1);
-x_136 = l_Lean_Parser_Command_ctor___elambda__1___closed__2;
-x_137 = l_Lean_Parser_ParserState_mkNode(x_90, x_136, x_85);
-x_138 = 1;
-x_139 = l_Lean_Parser_mergeOrElseErrors(x_137, x_77, x_74, x_138);
-lean_dec(x_74);
-return x_139;
-}
-}
-else
-{
-lean_object* x_140; lean_object* x_141; uint8_t x_142; lean_object* x_143;
-lean_dec(x_89);
-lean_dec(x_1);
-x_140 = l_Lean_Parser_Command_ctor___elambda__1___closed__2;
-x_141 = l_Lean_Parser_ParserState_mkNode(x_88, x_140, x_85);
-x_142 = 1;
-x_143 = l_Lean_Parser_mergeOrElseErrors(x_141, x_77, x_74, x_142);
-lean_dec(x_74);
-return x_143;
-}
-}
-else
-{
-lean_object* x_144; lean_object* x_145; uint8_t x_146; lean_object* x_147;
-lean_dec(x_87);
-lean_dec(x_4);
-lean_dec(x_1);
-x_144 = l_Lean_Parser_Command_ctor___elambda__1___closed__2;
-x_145 = l_Lean_Parser_ParserState_mkNode(x_86, x_144, x_85);
-x_146 = 1;
-x_147 = l_Lean_Parser_mergeOrElseErrors(x_145, x_77, x_74, x_146);
-lean_dec(x_74);
-return x_147;
-}
-}
-}
-else
-{
-uint8_t x_163; lean_object* x_164;
-lean_dec(x_83);
-lean_dec(x_4);
-lean_dec(x_1);
-x_163 = 1;
-x_164 = l_Lean_Parser_mergeOrElseErrors(x_82, x_77, x_74, x_163);
-lean_dec(x_74);
-return x_164;
-}
-}
-}
+x_35 = l_Lean_Parser_Command_ctor___elambda__1___closed__15;
+x_36 = 1;
+x_37 = l_Lean_Parser_orelseFnCore(x_6, x_35, x_36, x_1, x_2);
+return x_37;
}
}
}
@@ -15364,7 +9706,7 @@ static lean_object* _init_l_Lean_Parser_Command_ctor___closed__5() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
-x_1 = l_Lean_Parser_Command_ctor___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Command_ctor___elambda__1___closed__8;
x_2 = lean_ctor_get(x_1, 0);
lean_inc(x_2);
x_3 = l_Lean_Parser_Command_ctor___closed__4;
@@ -15442,68 +9784,6 @@ x_1 = l_Lean_Parser_Command_ctor___closed__11;
return x_1;
}
}
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_inductive___elambda__1___spec__1(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-lean_inc(x_1);
-x_6 = l_Lean_Parser_Command_ctor___elambda__1(x_1, x_2);
-x_7 = lean_ctor_get(x_6, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
-{
-lean_object* x_8; uint8_t x_9;
-lean_dec(x_4);
-x_8 = lean_ctor_get(x_6, 1);
-lean_inc(x_8);
-x_9 = lean_nat_dec_eq(x_5, x_8);
-lean_dec(x_8);
-lean_dec(x_5);
-if (x_9 == 0)
-{
-x_2 = x_6;
-goto _start;
-}
-else
-{
-lean_object* x_11; lean_object* x_12;
-lean_dec(x_1);
-x_11 = l_Lean_Parser_manyAux___main___closed__1;
-x_12 = l_Lean_Parser_ParserState_mkUnexpectedError(x_6, x_11);
-return x_12;
-}
-}
-else
-{
-lean_object* x_13; uint8_t x_14;
-lean_dec(x_7);
-lean_dec(x_1);
-x_13 = lean_ctor_get(x_6, 1);
-lean_inc(x_13);
-x_14 = lean_nat_dec_eq(x_5, x_13);
-lean_dec(x_13);
-if (x_14 == 0)
-{
-lean_dec(x_5);
-lean_dec(x_4);
-return x_6;
-}
-else
-{
-lean_object* x_15;
-x_15 = l_Lean_Parser_ParserState_restore(x_6, x_4, x_5);
-lean_dec(x_4);
-return x_15;
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Command_inductive___elambda__1___closed__1() {
_start:
{
@@ -15563,6 +9843,86 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_inductive___elambda__1___closed__7() {
_start:
{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_inductive___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_inductive___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_ctor___closed__10;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_manyFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_inductive___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_optDeclSig___closed__4;
+x_2 = l_Lean_Parser_Command_inductive___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_inductive___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_declId___closed__9;
+x_2 = l_Lean_Parser_Command_inductive___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_inductive___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_inductive___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Command_inductive___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_inductive___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_inductive___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_inductive___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_inductive___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_inductive___elambda__1___closed__12;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_inductive___elambda__1___closed__14() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Char_HasRepr___closed__1;
x_2 = l_Lean_Parser_Command_inductive___elambda__1___closed__6;
@@ -15570,28 +9930,16 @@ x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Command_inductive___elambda__1___closed__8() {
+static lean_object* _init_l_Lean_Parser_Command_inductive___elambda__1___closed__15() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Command_inductive___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Command_inductive___elambda__1___closed__14;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Command_inductive___elambda__1___closed__9() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Command_inductive___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
-}
-}
lean_object* l_Lean_Parser_Command_inductive___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -15612,129 +9960,74 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_31; lean_object* x_32; lean_object* x_33;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_31 = lean_ctor_get(x_7, 1);
-lean_inc(x_31);
+x_11 = l_Lean_Parser_Command_inductive___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Command_inductive___elambda__1___closed__15;
lean_inc(x_1);
-x_32 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_33 = lean_ctor_get(x_32, 3);
-lean_inc(x_33);
-if (lean_obj_tag(x_33) == 0)
-{
-lean_object* x_34; lean_object* x_35;
-x_34 = lean_ctor_get(x_32, 0);
-lean_inc(x_34);
-x_35 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_34);
-lean_dec(x_34);
-if (lean_obj_tag(x_35) == 2)
-{
-lean_object* x_36; lean_object* x_37; uint8_t x_38;
-x_36 = lean_ctor_get(x_35, 1);
-lean_inc(x_36);
-lean_dec(x_35);
-x_37 = l_Lean_Parser_Command_inductive___elambda__1___closed__6;
-x_38 = lean_string_dec_eq(x_36, x_37);
-lean_dec(x_36);
-if (x_38 == 0)
-{
-lean_object* x_39; lean_object* x_40;
-x_39 = l_Lean_Parser_Command_inductive___elambda__1___closed__9;
-x_40 = l_Lean_Parser_ParserState_mkErrorsAt(x_32, x_39, x_31);
-x_11 = x_40;
-goto block_30;
-}
-else
-{
-lean_dec(x_31);
-x_11 = x_32;
-goto block_30;
-}
-}
-else
-{
-lean_object* x_41; lean_object* x_42;
-lean_dec(x_35);
-x_41 = l_Lean_Parser_Command_inductive___elambda__1___closed__9;
-x_42 = l_Lean_Parser_ParserState_mkErrorsAt(x_32, x_41, x_31);
-x_11 = x_42;
-goto block_30;
-}
-}
-else
-{
-lean_object* x_43; lean_object* x_44;
-lean_dec(x_33);
-x_43 = l_Lean_Parser_Command_inductive___elambda__1___closed__9;
-x_44 = l_Lean_Parser_ParserState_mkErrorsAt(x_32, x_43, x_31);
-x_11 = x_44;
-goto block_30;
-}
-block_30:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14;
-lean_inc(x_1);
-x_13 = l_Lean_Parser_Command_declId___elambda__1(x_1, x_11);
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
x_14 = lean_ctor_get(x_13, 3);
lean_inc(x_14);
if (lean_obj_tag(x_14) == 0)
{
lean_object* x_15; lean_object* x_16;
lean_inc(x_1);
-x_15 = l_Lean_Parser_Command_optDeclSig___elambda__1(x_1, x_13);
+x_15 = l_Lean_Parser_Command_declId___elambda__1(x_1, x_13);
x_16 = lean_ctor_get(x_15, 3);
lean_inc(x_16);
if (lean_obj_tag(x_16) == 0)
{
-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;
-x_17 = lean_ctor_get(x_15, 0);
-lean_inc(x_17);
-x_18 = lean_array_get_size(x_17);
-lean_dec(x_17);
-x_19 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_inductive___elambda__1___spec__1(x_1, x_15);
-x_20 = l_Lean_nullKind;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_18);
-x_22 = l_Lean_Parser_Command_inductive___elambda__1___closed__2;
-x_23 = l_Lean_Parser_ParserState_mkNode(x_21, x_22, x_10);
-return x_23;
+lean_object* x_17; lean_object* x_18;
+lean_inc(x_1);
+x_17 = l_Lean_Parser_Command_optDeclSig___elambda__1(x_1, x_15);
+x_18 = lean_ctor_get(x_17, 3);
+lean_inc(x_18);
+if (lean_obj_tag(x_18) == 0)
+{
+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;
+x_19 = lean_ctor_get(x_17, 0);
+lean_inc(x_19);
+x_20 = lean_array_get_size(x_19);
+lean_dec(x_19);
+x_21 = l_Lean_Parser_Command_ctor___closed__10;
+x_22 = l_Lean_Parser_manyAux(x_21, x_1, x_17);
+x_23 = l_Lean_nullKind;
+x_24 = l_Lean_Parser_ParserState_mkNode(x_22, x_23, x_20);
+x_25 = l_Lean_Parser_Command_inductive___elambda__1___closed__2;
+x_26 = l_Lean_Parser_ParserState_mkNode(x_24, x_25, x_10);
+return x_26;
}
else
{
-lean_object* x_24; lean_object* x_25;
+lean_object* x_27; lean_object* x_28;
+lean_dec(x_18);
+lean_dec(x_1);
+x_27 = l_Lean_Parser_Command_inductive___elambda__1___closed__2;
+x_28 = l_Lean_Parser_ParserState_mkNode(x_17, x_27, x_10);
+return x_28;
+}
+}
+else
+{
+lean_object* x_29; lean_object* x_30;
lean_dec(x_16);
lean_dec(x_1);
-x_24 = l_Lean_Parser_Command_inductive___elambda__1___closed__2;
-x_25 = l_Lean_Parser_ParserState_mkNode(x_15, x_24, x_10);
-return x_25;
+x_29 = l_Lean_Parser_Command_inductive___elambda__1___closed__2;
+x_30 = l_Lean_Parser_ParserState_mkNode(x_15, x_29, x_10);
+return x_30;
}
}
else
{
-lean_object* x_26; lean_object* x_27;
+lean_object* x_31; lean_object* x_32;
lean_dec(x_14);
lean_dec(x_1);
-x_26 = l_Lean_Parser_Command_inductive___elambda__1___closed__2;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_13, x_26, x_10);
-return x_27;
-}
-}
-else
-{
-lean_object* x_28; lean_object* x_29;
-lean_dec(x_12);
-lean_dec(x_1);
-x_28 = l_Lean_Parser_Command_inductive___elambda__1___closed__2;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_11, x_28, x_10);
-return x_29;
-}
+x_31 = l_Lean_Parser_Command_inductive___elambda__1___closed__2;
+x_32 = l_Lean_Parser_ParserState_mkNode(x_13, x_31, x_10);
+return x_32;
}
}
else
@@ -15746,203 +10039,11 @@ return x_7;
}
else
{
-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_2, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-x_47 = lean_ctor_get(x_2, 1);
-lean_inc(x_47);
-lean_inc(x_1);
-x_48 = lean_apply_2(x_4, x_1, x_2);
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
-{
-lean_dec(x_47);
-lean_dec(x_46);
-lean_dec(x_1);
-return x_48;
-}
-else
-{
-lean_object* x_50; lean_object* x_51; uint8_t x_52;
-x_50 = lean_ctor_get(x_49, 0);
-lean_inc(x_50);
-lean_dec(x_49);
-x_51 = lean_ctor_get(x_48, 1);
-lean_inc(x_51);
-x_52 = lean_nat_dec_eq(x_51, x_47);
-lean_dec(x_51);
-if (x_52 == 0)
-{
-lean_dec(x_50);
-lean_dec(x_47);
-lean_dec(x_46);
-lean_dec(x_1);
-return x_48;
-}
-else
-{
-lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56;
-lean_inc(x_47);
-x_53 = l_Lean_Parser_ParserState_restore(x_48, x_46, x_47);
-lean_dec(x_46);
-x_54 = lean_unsigned_to_nat(1024u);
-x_55 = l_Lean_Parser_checkPrecFn(x_54, x_1, x_53);
-x_56 = lean_ctor_get(x_55, 3);
-lean_inc(x_56);
-if (lean_obj_tag(x_56) == 0)
-{
-lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_87; lean_object* x_88; lean_object* x_89;
-x_57 = lean_ctor_get(x_55, 0);
-lean_inc(x_57);
-x_58 = lean_array_get_size(x_57);
-lean_dec(x_57);
-x_87 = lean_ctor_get(x_55, 1);
-lean_inc(x_87);
-lean_inc(x_1);
-x_88 = l_Lean_Parser_tokenFn(x_1, x_55);
-x_89 = lean_ctor_get(x_88, 3);
-lean_inc(x_89);
-if (lean_obj_tag(x_89) == 0)
-{
-lean_object* x_90; lean_object* x_91;
-x_90 = lean_ctor_get(x_88, 0);
-lean_inc(x_90);
-x_91 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_90);
-lean_dec(x_90);
-if (lean_obj_tag(x_91) == 2)
-{
-lean_object* x_92; lean_object* x_93; uint8_t x_94;
-x_92 = lean_ctor_get(x_91, 1);
-lean_inc(x_92);
-lean_dec(x_91);
-x_93 = l_Lean_Parser_Command_inductive___elambda__1___closed__6;
-x_94 = lean_string_dec_eq(x_92, x_93);
-lean_dec(x_92);
-if (x_94 == 0)
-{
-lean_object* x_95; lean_object* x_96;
-x_95 = l_Lean_Parser_Command_inductive___elambda__1___closed__9;
-x_96 = l_Lean_Parser_ParserState_mkErrorsAt(x_88, x_95, x_87);
-x_59 = x_96;
-goto block_86;
-}
-else
-{
-lean_dec(x_87);
-x_59 = x_88;
-goto block_86;
-}
-}
-else
-{
-lean_object* x_97; lean_object* x_98;
-lean_dec(x_91);
-x_97 = l_Lean_Parser_Command_inductive___elambda__1___closed__9;
-x_98 = l_Lean_Parser_ParserState_mkErrorsAt(x_88, x_97, x_87);
-x_59 = x_98;
-goto block_86;
-}
-}
-else
-{
-lean_object* x_99; lean_object* x_100;
-lean_dec(x_89);
-x_99 = l_Lean_Parser_Command_inductive___elambda__1___closed__9;
-x_100 = l_Lean_Parser_ParserState_mkErrorsAt(x_88, x_99, x_87);
-x_59 = x_100;
-goto block_86;
-}
-block_86:
-{
-lean_object* x_60;
-x_60 = lean_ctor_get(x_59, 3);
-lean_inc(x_60);
-if (lean_obj_tag(x_60) == 0)
-{
-lean_object* x_61; lean_object* x_62;
-lean_inc(x_1);
-x_61 = l_Lean_Parser_Command_declId___elambda__1(x_1, x_59);
-x_62 = lean_ctor_get(x_61, 3);
-lean_inc(x_62);
-if (lean_obj_tag(x_62) == 0)
-{
-lean_object* x_63; lean_object* x_64;
-lean_inc(x_1);
-x_63 = l_Lean_Parser_Command_optDeclSig___elambda__1(x_1, x_61);
-x_64 = lean_ctor_get(x_63, 3);
-lean_inc(x_64);
-if (lean_obj_tag(x_64) == 0)
-{
-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; uint8_t x_72; lean_object* x_73;
-x_65 = lean_ctor_get(x_63, 0);
-lean_inc(x_65);
-x_66 = lean_array_get_size(x_65);
-lean_dec(x_65);
-x_67 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_inductive___elambda__1___spec__1(x_1, x_63);
-x_68 = l_Lean_nullKind;
-x_69 = l_Lean_Parser_ParserState_mkNode(x_67, x_68, x_66);
-x_70 = l_Lean_Parser_Command_inductive___elambda__1___closed__2;
-x_71 = l_Lean_Parser_ParserState_mkNode(x_69, x_70, x_58);
-x_72 = 1;
-x_73 = l_Lean_Parser_mergeOrElseErrors(x_71, x_50, x_47, x_72);
-lean_dec(x_47);
-return x_73;
-}
-else
-{
-lean_object* x_74; lean_object* x_75; uint8_t x_76; lean_object* x_77;
-lean_dec(x_64);
-lean_dec(x_1);
-x_74 = l_Lean_Parser_Command_inductive___elambda__1___closed__2;
-x_75 = l_Lean_Parser_ParserState_mkNode(x_63, x_74, x_58);
-x_76 = 1;
-x_77 = l_Lean_Parser_mergeOrElseErrors(x_75, x_50, x_47, x_76);
-lean_dec(x_47);
-return x_77;
-}
-}
-else
-{
-lean_object* x_78; lean_object* x_79; uint8_t x_80; lean_object* x_81;
-lean_dec(x_62);
-lean_dec(x_1);
-x_78 = l_Lean_Parser_Command_inductive___elambda__1___closed__2;
-x_79 = l_Lean_Parser_ParserState_mkNode(x_61, x_78, x_58);
-x_80 = 1;
-x_81 = l_Lean_Parser_mergeOrElseErrors(x_79, x_50, x_47, x_80);
-lean_dec(x_47);
-return x_81;
-}
-}
-else
-{
-lean_object* x_82; lean_object* x_83; uint8_t x_84; lean_object* x_85;
-lean_dec(x_60);
-lean_dec(x_1);
-x_82 = l_Lean_Parser_Command_inductive___elambda__1___closed__2;
-x_83 = l_Lean_Parser_ParserState_mkNode(x_59, x_82, x_58);
-x_84 = 1;
-x_85 = l_Lean_Parser_mergeOrElseErrors(x_83, x_50, x_47, x_84);
-lean_dec(x_47);
-return x_85;
-}
-}
-}
-else
-{
-uint8_t x_101; lean_object* x_102;
-lean_dec(x_56);
-lean_dec(x_1);
-x_101 = 1;
-x_102 = l_Lean_Parser_mergeOrElseErrors(x_55, x_50, x_47, x_101);
-lean_dec(x_47);
-return x_102;
-}
-}
-}
+lean_object* x_33; uint8_t x_34; lean_object* x_35;
+x_33 = l_Lean_Parser_Command_inductive___elambda__1___closed__13;
+x_34 = 1;
+x_35 = l_Lean_Parser_orelseFnCore(x_4, x_33, x_34, x_1, x_2);
+return x_35;
}
}
}
@@ -16119,11 +10220,11 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_classInductive___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_classInductive___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_classInductive___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_classInductive___elambda__1___closed__8() {
@@ -16131,20 +10232,56 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Command_classInductive___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_2 = l_Lean_Parser_Command_inductive___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
static lean_object* _init_l_Lean_Parser_Command_classInductive___elambda__1___closed__9() {
_start:
{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_classInductive___elambda__1___closed__8;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_tryFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_classInductive___elambda__1___closed__10() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Command_classInductive___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_1 = l_Lean_Parser_Command_classInductive___elambda__1___closed__9;
+x_2 = l_Lean_Parser_Command_inductive___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_classInductive___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_classInductive___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_classInductive___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_classInductive___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_classInductive___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -16168,275 +10305,77 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-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; lean_object* x_39; lean_object* x_71; lean_object* x_72;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
-x_10 = lean_ctor_get(x_7, 1);
-lean_inc(x_10);
-x_11 = lean_array_get_size(x_9);
+x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
+x_11 = l_Lean_Parser_Command_classInductive___elambda__1___closed__8;
lean_inc(x_1);
-x_71 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_72 = lean_ctor_get(x_71, 3);
-lean_inc(x_72);
-if (lean_obj_tag(x_72) == 0)
-{
-lean_object* x_73; lean_object* x_74;
-x_73 = lean_ctor_get(x_71, 0);
-lean_inc(x_73);
-x_74 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_73);
-lean_dec(x_73);
-if (lean_obj_tag(x_74) == 2)
-{
-lean_object* x_75; lean_object* x_76; uint8_t x_77;
-x_75 = lean_ctor_get(x_74, 1);
-lean_inc(x_75);
-lean_dec(x_74);
-x_76 = l_Lean_Parser_Command_classInductive___elambda__1___closed__6;
-x_77 = lean_string_dec_eq(x_75, x_76);
-lean_dec(x_75);
-if (x_77 == 0)
-{
-lean_object* x_78; lean_object* x_79;
-x_78 = l_Lean_Parser_Command_classInductive___elambda__1___closed__9;
-lean_inc(x_10);
-x_79 = l_Lean_Parser_ParserState_mkErrorsAt(x_71, x_78, x_10);
-x_39 = x_79;
-goto block_70;
-}
-else
-{
-x_39 = x_71;
-goto block_70;
-}
-}
-else
-{
-lean_object* x_80; lean_object* x_81;
-lean_dec(x_74);
-x_80 = l_Lean_Parser_Command_classInductive___elambda__1___closed__9;
-lean_inc(x_10);
-x_81 = l_Lean_Parser_ParserState_mkErrorsAt(x_71, x_80, x_10);
-x_39 = x_81;
-goto block_70;
-}
-}
-else
-{
-lean_object* x_82; lean_object* x_83;
-lean_dec(x_72);
-x_82 = l_Lean_Parser_Command_classInductive___elambda__1___closed__9;
-lean_inc(x_10);
-x_83 = l_Lean_Parser_ParserState_mkErrorsAt(x_71, x_82, x_10);
-x_39 = x_83;
-goto block_70;
-}
-block_38:
+x_12 = l_Lean_Parser_tryFn(x_11, x_1, x_7);
+x_13 = lean_ctor_get(x_12, 3);
+lean_inc(x_13);
+if (lean_obj_tag(x_13) == 0)
{
+lean_object* x_14; lean_object* x_15;
+lean_inc(x_1);
+x_14 = l_Lean_Parser_Command_declId___elambda__1(x_1, x_12);
+x_15 = lean_ctor_get(x_14, 3);
+lean_inc(x_15);
if (lean_obj_tag(x_15) == 0)
{
-lean_object* x_16;
-lean_dec(x_14);
-lean_dec(x_13);
-lean_dec(x_10);
-x_16 = lean_ctor_get(x_12, 3);
-lean_inc(x_16);
-if (lean_obj_tag(x_16) == 0)
-{
-lean_object* x_17; lean_object* x_18;
+lean_object* x_16; lean_object* x_17;
lean_inc(x_1);
-x_17 = l_Lean_Parser_Command_declId___elambda__1(x_1, x_12);
-x_18 = lean_ctor_get(x_17, 3);
+x_16 = l_Lean_Parser_Command_optDeclSig___elambda__1(x_1, x_14);
+x_17 = lean_ctor_get(x_16, 3);
+lean_inc(x_17);
+if (lean_obj_tag(x_17) == 0)
+{
+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;
+x_18 = lean_ctor_get(x_16, 0);
lean_inc(x_18);
-if (lean_obj_tag(x_18) == 0)
+x_19 = lean_array_get_size(x_18);
+lean_dec(x_18);
+x_20 = l_Lean_Parser_Command_ctor___closed__10;
+x_21 = l_Lean_Parser_manyAux(x_20, x_1, x_16);
+x_22 = l_Lean_nullKind;
+x_23 = l_Lean_Parser_ParserState_mkNode(x_21, x_22, x_19);
+x_24 = l_Lean_Parser_Command_classInductive___elambda__1___closed__2;
+x_25 = l_Lean_Parser_ParserState_mkNode(x_23, x_24, x_10);
+return x_25;
+}
+else
{
-lean_object* x_19; lean_object* x_20;
-lean_inc(x_1);
-x_19 = l_Lean_Parser_Command_optDeclSig___elambda__1(x_1, x_17);
-x_20 = lean_ctor_get(x_19, 3);
-lean_inc(x_20);
-if (lean_obj_tag(x_20) == 0)
-{
-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_21 = lean_ctor_get(x_19, 0);
-lean_inc(x_21);
-x_22 = lean_array_get_size(x_21);
-lean_dec(x_21);
-x_23 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_inductive___elambda__1___spec__1(x_1, x_19);
-x_24 = l_Lean_nullKind;
-x_25 = l_Lean_Parser_ParserState_mkNode(x_23, x_24, x_22);
+lean_object* x_26; lean_object* x_27;
+lean_dec(x_17);
+lean_dec(x_1);
x_26 = l_Lean_Parser_Command_classInductive___elambda__1___closed__2;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_25, x_26, x_11);
+x_27 = l_Lean_Parser_ParserState_mkNode(x_16, x_26, x_10);
return x_27;
}
+}
else
{
lean_object* x_28; lean_object* x_29;
-lean_dec(x_20);
+lean_dec(x_15);
lean_dec(x_1);
x_28 = l_Lean_Parser_Command_classInductive___elambda__1___closed__2;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_19, x_28, x_11);
+x_29 = l_Lean_Parser_ParserState_mkNode(x_14, x_28, x_10);
return x_29;
}
}
else
{
lean_object* x_30; lean_object* x_31;
-lean_dec(x_18);
+lean_dec(x_13);
lean_dec(x_1);
x_30 = l_Lean_Parser_Command_classInductive___elambda__1___closed__2;
-x_31 = l_Lean_Parser_ParserState_mkNode(x_17, x_30, x_11);
+x_31 = l_Lean_Parser_ParserState_mkNode(x_12, x_30, x_10);
return x_31;
}
}
else
{
-lean_object* x_32; lean_object* x_33;
-lean_dec(x_16);
-lean_dec(x_1);
-x_32 = l_Lean_Parser_Command_classInductive___elambda__1___closed__2;
-x_33 = l_Lean_Parser_ParserState_mkNode(x_12, x_32, x_11);
-return x_33;
-}
-}
-else
-{
-lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-lean_dec(x_12);
-lean_dec(x_1);
-x_34 = l_Array_shrink___main___rarg(x_13, x_11);
-x_35 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_35, 0, x_34);
-lean_ctor_set(x_35, 1, x_10);
-lean_ctor_set(x_35, 2, x_14);
-lean_ctor_set(x_35, 3, x_15);
-x_36 = l_Lean_Parser_Command_classInductive___elambda__1___closed__2;
-x_37 = l_Lean_Parser_ParserState_mkNode(x_35, x_36, x_11);
-return x_37;
-}
-}
-block_70:
-{
-lean_object* x_40;
-x_40 = lean_ctor_get(x_39, 3);
-lean_inc(x_40);
-if (lean_obj_tag(x_40) == 0)
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43;
-x_41 = lean_ctor_get(x_39, 1);
-lean_inc(x_41);
-lean_inc(x_1);
-x_42 = l_Lean_Parser_tokenFn(x_1, x_39);
-x_43 = lean_ctor_get(x_42, 3);
-lean_inc(x_43);
-if (lean_obj_tag(x_43) == 0)
-{
-lean_object* x_44; lean_object* x_45;
-x_44 = lean_ctor_get(x_42, 0);
-lean_inc(x_44);
-x_45 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_44);
-lean_dec(x_44);
-if (lean_obj_tag(x_45) == 2)
-{
-lean_object* x_46; lean_object* x_47; uint8_t x_48;
-x_46 = lean_ctor_get(x_45, 1);
-lean_inc(x_46);
-lean_dec(x_45);
-x_47 = l_Lean_Parser_Command_inductive___elambda__1___closed__6;
-x_48 = lean_string_dec_eq(x_46, x_47);
-lean_dec(x_46);
-if (x_48 == 0)
-{
-lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53;
-x_49 = l_Lean_Parser_Command_inductive___elambda__1___closed__9;
-x_50 = l_Lean_Parser_ParserState_mkErrorsAt(x_42, x_49, x_41);
-x_51 = lean_ctor_get(x_50, 0);
-lean_inc(x_51);
-x_52 = lean_ctor_get(x_50, 2);
-lean_inc(x_52);
-x_53 = lean_ctor_get(x_50, 3);
-lean_inc(x_53);
-x_12 = x_50;
-x_13 = x_51;
-x_14 = x_52;
-x_15 = x_53;
-goto block_38;
-}
-else
-{
-lean_object* x_54; lean_object* x_55; lean_object* x_56;
-lean_dec(x_41);
-x_54 = lean_ctor_get(x_42, 0);
-lean_inc(x_54);
-x_55 = lean_ctor_get(x_42, 2);
-lean_inc(x_55);
-x_56 = lean_ctor_get(x_42, 3);
-lean_inc(x_56);
-x_12 = x_42;
-x_13 = x_54;
-x_14 = x_55;
-x_15 = x_56;
-goto block_38;
-}
-}
-else
-{
-lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61;
-lean_dec(x_45);
-x_57 = l_Lean_Parser_Command_inductive___elambda__1___closed__9;
-x_58 = l_Lean_Parser_ParserState_mkErrorsAt(x_42, x_57, x_41);
-x_59 = lean_ctor_get(x_58, 0);
-lean_inc(x_59);
-x_60 = lean_ctor_get(x_58, 2);
-lean_inc(x_60);
-x_61 = lean_ctor_get(x_58, 3);
-lean_inc(x_61);
-x_12 = x_58;
-x_13 = x_59;
-x_14 = x_60;
-x_15 = x_61;
-goto block_38;
-}
-}
-else
-{
-lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66;
-lean_dec(x_43);
-x_62 = l_Lean_Parser_Command_inductive___elambda__1___closed__9;
-x_63 = l_Lean_Parser_ParserState_mkErrorsAt(x_42, x_62, x_41);
-x_64 = lean_ctor_get(x_63, 0);
-lean_inc(x_64);
-x_65 = lean_ctor_get(x_63, 2);
-lean_inc(x_65);
-x_66 = lean_ctor_get(x_63, 3);
-lean_inc(x_66);
-x_12 = x_63;
-x_13 = x_64;
-x_14 = x_65;
-x_15 = x_66;
-goto block_38;
-}
-}
-else
-{
-lean_object* x_67; lean_object* x_68; lean_object* x_69;
-lean_dec(x_40);
-x_67 = lean_ctor_get(x_39, 0);
-lean_inc(x_67);
-x_68 = lean_ctor_get(x_39, 2);
-lean_inc(x_68);
-x_69 = lean_ctor_get(x_39, 3);
-lean_inc(x_69);
-x_12 = x_39;
-x_13 = x_67;
-x_14 = x_68;
-x_15 = x_69;
-goto block_38;
-}
-}
-}
-else
-{
lean_dec(x_8);
lean_dec(x_1);
return x_7;
@@ -16444,348 +10383,11 @@ return x_7;
}
else
{
-lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88;
-x_84 = lean_ctor_get(x_2, 0);
-lean_inc(x_84);
-x_85 = lean_array_get_size(x_84);
-lean_dec(x_84);
-x_86 = lean_ctor_get(x_2, 1);
-lean_inc(x_86);
-lean_inc(x_1);
-x_87 = lean_apply_2(x_4, x_1, x_2);
-x_88 = lean_ctor_get(x_87, 3);
-lean_inc(x_88);
-if (lean_obj_tag(x_88) == 0)
-{
-lean_dec(x_86);
-lean_dec(x_85);
-lean_dec(x_1);
-return x_87;
-}
-else
-{
-lean_object* x_89; lean_object* x_90; uint8_t x_91;
-x_89 = lean_ctor_get(x_88, 0);
-lean_inc(x_89);
-lean_dec(x_88);
-x_90 = lean_ctor_get(x_87, 1);
-lean_inc(x_90);
-x_91 = lean_nat_dec_eq(x_90, x_86);
-lean_dec(x_90);
-if (x_91 == 0)
-{
-lean_dec(x_89);
-lean_dec(x_86);
-lean_dec(x_85);
-lean_dec(x_1);
-return x_87;
-}
-else
-{
-lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95;
-lean_inc(x_86);
-x_92 = l_Lean_Parser_ParserState_restore(x_87, x_85, x_86);
-lean_dec(x_85);
-x_93 = lean_unsigned_to_nat(1024u);
-x_94 = l_Lean_Parser_checkPrecFn(x_93, x_1, x_92);
-x_95 = lean_ctor_get(x_94, 3);
-lean_inc(x_95);
-if (lean_obj_tag(x_95) == 0)
-{
-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_136; lean_object* x_168; lean_object* x_169;
-x_96 = lean_ctor_get(x_94, 0);
-lean_inc(x_96);
-x_97 = lean_ctor_get(x_94, 1);
-lean_inc(x_97);
-x_98 = lean_array_get_size(x_96);
-lean_dec(x_96);
-lean_inc(x_1);
-x_168 = l_Lean_Parser_tokenFn(x_1, x_94);
-x_169 = lean_ctor_get(x_168, 3);
-lean_inc(x_169);
-if (lean_obj_tag(x_169) == 0)
-{
-lean_object* x_170; lean_object* x_171;
-x_170 = lean_ctor_get(x_168, 0);
-lean_inc(x_170);
-x_171 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_170);
-lean_dec(x_170);
-if (lean_obj_tag(x_171) == 2)
-{
-lean_object* x_172; lean_object* x_173; uint8_t x_174;
-x_172 = lean_ctor_get(x_171, 1);
-lean_inc(x_172);
-lean_dec(x_171);
-x_173 = l_Lean_Parser_Command_classInductive___elambda__1___closed__6;
-x_174 = lean_string_dec_eq(x_172, x_173);
-lean_dec(x_172);
-if (x_174 == 0)
-{
-lean_object* x_175; lean_object* x_176;
-x_175 = l_Lean_Parser_Command_classInductive___elambda__1___closed__9;
-lean_inc(x_97);
-x_176 = l_Lean_Parser_ParserState_mkErrorsAt(x_168, x_175, x_97);
-x_136 = x_176;
-goto block_167;
-}
-else
-{
-x_136 = x_168;
-goto block_167;
-}
-}
-else
-{
-lean_object* x_177; lean_object* x_178;
-lean_dec(x_171);
-x_177 = l_Lean_Parser_Command_classInductive___elambda__1___closed__9;
-lean_inc(x_97);
-x_178 = l_Lean_Parser_ParserState_mkErrorsAt(x_168, x_177, x_97);
-x_136 = x_178;
-goto block_167;
-}
-}
-else
-{
-lean_object* x_179; lean_object* x_180;
-lean_dec(x_169);
-x_179 = l_Lean_Parser_Command_classInductive___elambda__1___closed__9;
-lean_inc(x_97);
-x_180 = l_Lean_Parser_ParserState_mkErrorsAt(x_168, x_179, x_97);
-x_136 = x_180;
-goto block_167;
-}
-block_135:
-{
-if (lean_obj_tag(x_102) == 0)
-{
-lean_object* x_103;
-lean_dec(x_101);
-lean_dec(x_100);
-lean_dec(x_97);
-x_103 = lean_ctor_get(x_99, 3);
-lean_inc(x_103);
-if (lean_obj_tag(x_103) == 0)
-{
-lean_object* x_104; lean_object* x_105;
-lean_inc(x_1);
-x_104 = l_Lean_Parser_Command_declId___elambda__1(x_1, x_99);
-x_105 = lean_ctor_get(x_104, 3);
-lean_inc(x_105);
-if (lean_obj_tag(x_105) == 0)
-{
-lean_object* x_106; lean_object* x_107;
-lean_inc(x_1);
-x_106 = l_Lean_Parser_Command_optDeclSig___elambda__1(x_1, x_104);
-x_107 = lean_ctor_get(x_106, 3);
-lean_inc(x_107);
-if (lean_obj_tag(x_107) == 0)
-{
-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; uint8_t x_115; lean_object* x_116;
-x_108 = lean_ctor_get(x_106, 0);
-lean_inc(x_108);
-x_109 = lean_array_get_size(x_108);
-lean_dec(x_108);
-x_110 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_inductive___elambda__1___spec__1(x_1, x_106);
-x_111 = l_Lean_nullKind;
-x_112 = l_Lean_Parser_ParserState_mkNode(x_110, x_111, x_109);
-x_113 = l_Lean_Parser_Command_classInductive___elambda__1___closed__2;
-x_114 = l_Lean_Parser_ParserState_mkNode(x_112, x_113, x_98);
-x_115 = 1;
-x_116 = l_Lean_Parser_mergeOrElseErrors(x_114, x_89, x_86, x_115);
-lean_dec(x_86);
-return x_116;
-}
-else
-{
-lean_object* x_117; lean_object* x_118; uint8_t x_119; lean_object* x_120;
-lean_dec(x_107);
-lean_dec(x_1);
-x_117 = l_Lean_Parser_Command_classInductive___elambda__1___closed__2;
-x_118 = l_Lean_Parser_ParserState_mkNode(x_106, x_117, x_98);
-x_119 = 1;
-x_120 = l_Lean_Parser_mergeOrElseErrors(x_118, x_89, x_86, x_119);
-lean_dec(x_86);
-return x_120;
-}
-}
-else
-{
-lean_object* x_121; lean_object* x_122; uint8_t x_123; lean_object* x_124;
-lean_dec(x_105);
-lean_dec(x_1);
-x_121 = l_Lean_Parser_Command_classInductive___elambda__1___closed__2;
-x_122 = l_Lean_Parser_ParserState_mkNode(x_104, x_121, x_98);
-x_123 = 1;
-x_124 = l_Lean_Parser_mergeOrElseErrors(x_122, x_89, x_86, x_123);
-lean_dec(x_86);
-return x_124;
-}
-}
-else
-{
-lean_object* x_125; lean_object* x_126; uint8_t x_127; lean_object* x_128;
-lean_dec(x_103);
-lean_dec(x_1);
-x_125 = l_Lean_Parser_Command_classInductive___elambda__1___closed__2;
-x_126 = l_Lean_Parser_ParserState_mkNode(x_99, x_125, x_98);
-x_127 = 1;
-x_128 = l_Lean_Parser_mergeOrElseErrors(x_126, x_89, x_86, x_127);
-lean_dec(x_86);
-return x_128;
-}
-}
-else
-{
-lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; uint8_t x_133; lean_object* x_134;
-lean_dec(x_99);
-lean_dec(x_1);
-x_129 = l_Array_shrink___main___rarg(x_100, x_98);
-x_130 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_130, 0, x_129);
-lean_ctor_set(x_130, 1, x_97);
-lean_ctor_set(x_130, 2, x_101);
-lean_ctor_set(x_130, 3, x_102);
-x_131 = l_Lean_Parser_Command_classInductive___elambda__1___closed__2;
-x_132 = l_Lean_Parser_ParserState_mkNode(x_130, x_131, x_98);
-x_133 = 1;
-x_134 = l_Lean_Parser_mergeOrElseErrors(x_132, x_89, x_86, x_133);
-lean_dec(x_86);
-return x_134;
-}
-}
-block_167:
-{
-lean_object* x_137;
-x_137 = lean_ctor_get(x_136, 3);
-lean_inc(x_137);
-if (lean_obj_tag(x_137) == 0)
-{
-lean_object* x_138; lean_object* x_139; lean_object* x_140;
-x_138 = lean_ctor_get(x_136, 1);
-lean_inc(x_138);
-lean_inc(x_1);
-x_139 = l_Lean_Parser_tokenFn(x_1, x_136);
-x_140 = lean_ctor_get(x_139, 3);
-lean_inc(x_140);
-if (lean_obj_tag(x_140) == 0)
-{
-lean_object* x_141; lean_object* x_142;
-x_141 = lean_ctor_get(x_139, 0);
-lean_inc(x_141);
-x_142 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_141);
-lean_dec(x_141);
-if (lean_obj_tag(x_142) == 2)
-{
-lean_object* x_143; lean_object* x_144; uint8_t x_145;
-x_143 = lean_ctor_get(x_142, 1);
-lean_inc(x_143);
-lean_dec(x_142);
-x_144 = l_Lean_Parser_Command_inductive___elambda__1___closed__6;
-x_145 = lean_string_dec_eq(x_143, x_144);
-lean_dec(x_143);
-if (x_145 == 0)
-{
-lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150;
-x_146 = l_Lean_Parser_Command_inductive___elambda__1___closed__9;
-x_147 = l_Lean_Parser_ParserState_mkErrorsAt(x_139, x_146, x_138);
-x_148 = lean_ctor_get(x_147, 0);
-lean_inc(x_148);
-x_149 = lean_ctor_get(x_147, 2);
-lean_inc(x_149);
-x_150 = lean_ctor_get(x_147, 3);
-lean_inc(x_150);
-x_99 = x_147;
-x_100 = x_148;
-x_101 = x_149;
-x_102 = x_150;
-goto block_135;
-}
-else
-{
-lean_object* x_151; lean_object* x_152; lean_object* x_153;
-lean_dec(x_138);
-x_151 = lean_ctor_get(x_139, 0);
-lean_inc(x_151);
-x_152 = lean_ctor_get(x_139, 2);
-lean_inc(x_152);
-x_153 = lean_ctor_get(x_139, 3);
-lean_inc(x_153);
-x_99 = x_139;
-x_100 = x_151;
-x_101 = x_152;
-x_102 = x_153;
-goto block_135;
-}
-}
-else
-{
-lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158;
-lean_dec(x_142);
-x_154 = l_Lean_Parser_Command_inductive___elambda__1___closed__9;
-x_155 = l_Lean_Parser_ParserState_mkErrorsAt(x_139, x_154, x_138);
-x_156 = lean_ctor_get(x_155, 0);
-lean_inc(x_156);
-x_157 = lean_ctor_get(x_155, 2);
-lean_inc(x_157);
-x_158 = lean_ctor_get(x_155, 3);
-lean_inc(x_158);
-x_99 = x_155;
-x_100 = x_156;
-x_101 = x_157;
-x_102 = x_158;
-goto block_135;
-}
-}
-else
-{
-lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163;
-lean_dec(x_140);
-x_159 = l_Lean_Parser_Command_inductive___elambda__1___closed__9;
-x_160 = l_Lean_Parser_ParserState_mkErrorsAt(x_139, x_159, x_138);
-x_161 = lean_ctor_get(x_160, 0);
-lean_inc(x_161);
-x_162 = lean_ctor_get(x_160, 2);
-lean_inc(x_162);
-x_163 = lean_ctor_get(x_160, 3);
-lean_inc(x_163);
-x_99 = x_160;
-x_100 = x_161;
-x_101 = x_162;
-x_102 = x_163;
-goto block_135;
-}
-}
-else
-{
-lean_object* x_164; lean_object* x_165; lean_object* x_166;
-lean_dec(x_137);
-x_164 = lean_ctor_get(x_136, 0);
-lean_inc(x_164);
-x_165 = lean_ctor_get(x_136, 2);
-lean_inc(x_165);
-x_166 = lean_ctor_get(x_136, 3);
-lean_inc(x_166);
-x_99 = x_136;
-x_100 = x_164;
-x_101 = x_165;
-x_102 = x_166;
-goto block_135;
-}
-}
-}
-else
-{
-uint8_t x_181; lean_object* x_182;
-lean_dec(x_95);
-lean_dec(x_1);
-x_181 = 1;
-x_182 = l_Lean_Parser_mergeOrElseErrors(x_94, x_89, x_86, x_181);
-lean_dec(x_86);
-return x_182;
-}
-}
-}
+lean_object* x_32; uint8_t x_33; lean_object* x_34;
+x_32 = l_Lean_Parser_Command_classInductive___elambda__1___closed__12;
+x_33 = 1;
+x_34 = l_Lean_Parser_orelseFnCore(x_4, x_32, x_33, x_1, x_2);
+return x_34;
}
}
}
@@ -16878,68 +10480,6 @@ x_1 = l_Lean_Parser_Command_classInductive___closed__8;
return x_1;
}
}
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_structExplicitBinder___elambda__1___spec__1(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-lean_inc(x_1);
-x_6 = l_Lean_Parser_ident___elambda__1(x_1, x_2);
-x_7 = lean_ctor_get(x_6, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
-{
-lean_object* x_8; uint8_t x_9;
-lean_dec(x_4);
-x_8 = lean_ctor_get(x_6, 1);
-lean_inc(x_8);
-x_9 = lean_nat_dec_eq(x_5, x_8);
-lean_dec(x_8);
-lean_dec(x_5);
-if (x_9 == 0)
-{
-x_2 = x_6;
-goto _start;
-}
-else
-{
-lean_object* x_11; lean_object* x_12;
-lean_dec(x_1);
-x_11 = l_Lean_Parser_manyAux___main___closed__1;
-x_12 = l_Lean_Parser_ParserState_mkUnexpectedError(x_6, x_11);
-return x_12;
-}
-}
-else
-{
-lean_object* x_13; uint8_t x_14;
-lean_dec(x_7);
-lean_dec(x_1);
-x_13 = lean_ctor_get(x_6, 1);
-lean_inc(x_13);
-x_14 = lean_nat_dec_eq(x_5, x_13);
-lean_dec(x_13);
-if (x_14 == 0)
-{
-lean_dec(x_5);
-lean_dec(x_4);
-return x_6;
-}
-else
-{
-lean_object* x_15;
-x_15 = l_Lean_Parser_ParserState_restore(x_6, x_4, x_5);
-lean_dec(x_4);
-return x_15;
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__1() {
_start:
{
@@ -16979,1068 +10519,298 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
+x_1 = l_Lean_Parser_Command_ctor___elambda__1___closed__8;
+x_2 = lean_ctor_get(x_1, 1);
+lean_inc(x_2);
+x_3 = l_Lean_Parser_Level_paren___elambda__1___closed__3;
+x_4 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_4, 0, x_2);
+lean_closure_set(x_4, 1, x_3);
+return x_4;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_tryFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_ident___closed__2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_many1Fn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_binderDefault___closed__4;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optionalFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Level_paren___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_optDeclSig___closed__4;
+x_2 = l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_ctor___elambda__1___closed__9;
+x_2 = l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__12;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__14() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__13;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__15() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__14;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Command_structExplicitBinder___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; uint8_t x_7;
-x_3 = l_Lean_Parser_Command_ctor___elambda__1___closed__7;
+lean_object* x_3; lean_object* x_4; uint8_t x_5;
+x_3 = l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-x_5 = l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__4;
-x_6 = lean_ctor_get(x_5, 1);
-lean_inc(x_6);
lean_inc(x_2);
lean_inc(x_1);
-x_7 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_7 == 0)
+x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
+if (x_5 == 0)
{
-lean_object* x_8; lean_object* x_9; lean_object* x_10;
-lean_dec(x_6);
-x_8 = lean_unsigned_to_nat(1024u);
-x_9 = l_Lean_Parser_checkPrecFn(x_8, x_1, x_2);
-x_10 = lean_ctor_get(x_9, 3);
-lean_inc(x_10);
-if (lean_obj_tag(x_10) == 0)
+lean_object* x_6; lean_object* x_7; lean_object* x_8;
+lean_dec(x_4);
+x_6 = lean_unsigned_to_nat(1024u);
+x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
+x_8 = lean_ctor_get(x_7, 3);
+lean_inc(x_8);
+if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_41; lean_object* x_64; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_113; lean_object* x_114;
-x_11 = lean_ctor_get(x_9, 0);
-lean_inc(x_11);
-x_12 = lean_ctor_get(x_9, 1);
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_35; lean_object* x_36; lean_object* x_37;
+x_9 = lean_ctor_get(x_7, 0);
+lean_inc(x_9);
+x_10 = lean_array_get_size(x_9);
+lean_dec(x_9);
+x_35 = l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__5;
+lean_inc(x_1);
+x_36 = l_Lean_Parser_tryFn(x_35, x_1, x_7);
+x_37 = lean_ctor_get(x_36, 3);
+lean_inc(x_37);
+if (lean_obj_tag(x_37) == 0)
+{
+lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41;
+x_38 = lean_ctor_get(x_36, 0);
+lean_inc(x_38);
+x_39 = lean_array_get_size(x_38);
+lean_dec(x_38);
+lean_inc(x_1);
+x_40 = l_Lean_Parser_ident___elambda__1(x_1, x_36);
+x_41 = lean_ctor_get(x_40, 3);
+lean_inc(x_41);
+if (lean_obj_tag(x_41) == 0)
+{
+lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45;
+x_42 = l_Lean_Parser_ident___closed__2;
+lean_inc(x_1);
+x_43 = l_Lean_Parser_manyAux(x_42, x_1, x_40);
+x_44 = l_Lean_nullKind;
+x_45 = l_Lean_Parser_ParserState_mkNode(x_43, x_44, x_39);
+x_11 = x_45;
+goto block_34;
+}
+else
+{
+lean_object* x_46; lean_object* x_47;
+lean_dec(x_41);
+x_46 = l_Lean_nullKind;
+x_47 = l_Lean_Parser_ParserState_mkNode(x_40, x_46, x_39);
+x_11 = x_47;
+goto block_34;
+}
+}
+else
+{
+lean_object* x_48; lean_object* x_49;
+lean_dec(x_37);
+lean_dec(x_1);
+x_48 = l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__2;
+x_49 = l_Lean_Parser_ParserState_mkNode(x_36, x_48, x_10);
+return x_49;
+}
+block_34:
+{
+lean_object* x_12;
+x_12 = lean_ctor_get(x_11, 3);
lean_inc(x_12);
-x_13 = lean_array_get_size(x_11);
-lean_dec(x_11);
+if (lean_obj_tag(x_12) == 0)
+{
+lean_object* x_13; lean_object* x_14; lean_object* x_15;
+x_13 = l_Lean_Parser_Command_inferMod___closed__4;
lean_inc(x_1);
-x_113 = lean_apply_2(x_4, x_1, x_9);
-x_114 = lean_ctor_get(x_113, 3);
-lean_inc(x_114);
-if (lean_obj_tag(x_114) == 0)
-{
-lean_object* x_115; lean_object* x_116; lean_object* x_117;
-x_115 = lean_ctor_get(x_113, 1);
-lean_inc(x_115);
-lean_inc(x_1);
-x_116 = l_Lean_Parser_tokenFn(x_1, x_113);
-x_117 = lean_ctor_get(x_116, 3);
-lean_inc(x_117);
-if (lean_obj_tag(x_117) == 0)
-{
-lean_object* x_118; lean_object* x_119;
-x_118 = lean_ctor_get(x_116, 0);
-lean_inc(x_118);
-x_119 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_118);
-lean_dec(x_118);
-if (lean_obj_tag(x_119) == 2)
-{
-lean_object* x_120; lean_object* x_121; uint8_t x_122;
-x_120 = lean_ctor_get(x_119, 1);
-lean_inc(x_120);
-lean_dec(x_119);
-x_121 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__3;
-x_122 = lean_string_dec_eq(x_120, x_121);
-lean_dec(x_120);
-if (x_122 == 0)
-{
-lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127;
-x_123 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-x_124 = l_Lean_Parser_ParserState_mkErrorsAt(x_116, x_123, x_115);
-x_125 = lean_ctor_get(x_124, 0);
-lean_inc(x_125);
-x_126 = lean_ctor_get(x_124, 2);
-lean_inc(x_126);
-x_127 = lean_ctor_get(x_124, 3);
-lean_inc(x_127);
-x_106 = x_124;
-x_107 = x_125;
-x_108 = x_126;
-x_109 = x_127;
-goto block_112;
-}
-else
-{
-lean_object* x_128; lean_object* x_129; lean_object* x_130;
-lean_dec(x_115);
-x_128 = lean_ctor_get(x_116, 0);
-lean_inc(x_128);
-x_129 = lean_ctor_get(x_116, 2);
-lean_inc(x_129);
-x_130 = lean_ctor_get(x_116, 3);
-lean_inc(x_130);
-x_106 = x_116;
-x_107 = x_128;
-x_108 = x_129;
-x_109 = x_130;
-goto block_112;
-}
-}
-else
-{
-lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135;
-lean_dec(x_119);
-x_131 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-x_132 = l_Lean_Parser_ParserState_mkErrorsAt(x_116, x_131, x_115);
-x_133 = lean_ctor_get(x_132, 0);
-lean_inc(x_133);
-x_134 = lean_ctor_get(x_132, 2);
-lean_inc(x_134);
-x_135 = lean_ctor_get(x_132, 3);
-lean_inc(x_135);
-x_106 = x_132;
-x_107 = x_133;
-x_108 = x_134;
-x_109 = x_135;
-goto block_112;
-}
-}
-else
-{
-lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140;
-lean_dec(x_117);
-x_136 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-x_137 = l_Lean_Parser_ParserState_mkErrorsAt(x_116, x_136, x_115);
-x_138 = lean_ctor_get(x_137, 0);
-lean_inc(x_138);
-x_139 = lean_ctor_get(x_137, 2);
-lean_inc(x_139);
-x_140 = lean_ctor_get(x_137, 3);
-lean_inc(x_140);
-x_106 = x_137;
-x_107 = x_138;
-x_108 = x_139;
-x_109 = x_140;
-goto block_112;
-}
-}
-else
-{
-lean_object* x_141; lean_object* x_142; lean_object* x_143;
-lean_dec(x_114);
-x_141 = lean_ctor_get(x_113, 0);
-lean_inc(x_141);
-x_142 = lean_ctor_get(x_113, 2);
-lean_inc(x_142);
-x_143 = lean_ctor_get(x_113, 3);
-lean_inc(x_143);
-x_106 = x_113;
-x_107 = x_141;
-x_108 = x_142;
-x_109 = x_143;
-goto block_112;
-}
-block_40:
-{
-lean_object* x_15;
+x_14 = l_Lean_Parser_optionalFn(x_13, x_1, x_11);
x_15 = lean_ctor_get(x_14, 3);
lean_inc(x_15);
if (lean_obj_tag(x_15) == 0)
{
-lean_object* x_16; lean_object* x_17; lean_object* x_18;
-x_16 = lean_ctor_get(x_14, 1);
-lean_inc(x_16);
-x_17 = l_Lean_Parser_tokenFn(x_1, x_14);
-x_18 = lean_ctor_get(x_17, 3);
-lean_inc(x_18);
-if (lean_obj_tag(x_18) == 0)
+lean_object* x_16; lean_object* x_17;
+lean_inc(x_1);
+x_16 = l_Lean_Parser_Command_optDeclSig___elambda__1(x_1, x_14);
+x_17 = lean_ctor_get(x_16, 3);
+lean_inc(x_17);
+if (lean_obj_tag(x_17) == 0)
{
-lean_object* x_19; lean_object* x_20;
-x_19 = lean_ctor_get(x_17, 0);
-lean_inc(x_19);
-x_20 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_19);
-lean_dec(x_19);
-if (lean_obj_tag(x_20) == 2)
+lean_object* x_18; lean_object* x_19; lean_object* x_20;
+x_18 = l_Lean_Parser_Term_binderDefault___closed__4;
+lean_inc(x_1);
+x_19 = l_Lean_Parser_optionalFn(x_18, x_1, x_16);
+x_20 = lean_ctor_get(x_19, 3);
+lean_inc(x_20);
+if (lean_obj_tag(x_20) == 0)
{
-lean_object* x_21; lean_object* x_22; uint8_t x_23;
-x_21 = lean_ctor_get(x_20, 1);
-lean_inc(x_21);
+lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25;
+x_21 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
+x_22 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__9;
+x_23 = l_Lean_Parser_symbolFnAux(x_21, x_22, x_1, x_19);
+x_24 = l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__2;
+x_25 = l_Lean_Parser_ParserState_mkNode(x_23, x_24, x_10);
+return x_25;
+}
+else
+{
+lean_object* x_26; lean_object* x_27;
lean_dec(x_20);
-x_22 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
-x_23 = lean_string_dec_eq(x_21, x_22);
-lean_dec(x_21);
-if (x_23 == 0)
-{
-lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
-x_24 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_25 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_24, x_16);
+lean_dec(x_1);
x_26 = l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__2;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_25, x_26, x_13);
+x_27 = l_Lean_Parser_ParserState_mkNode(x_19, x_26, x_10);
return x_27;
}
+}
else
{
lean_object* x_28; lean_object* x_29;
-lean_dec(x_16);
+lean_dec(x_17);
+lean_dec(x_1);
x_28 = l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__2;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_17, x_28, x_13);
+x_29 = l_Lean_Parser_ParserState_mkNode(x_16, x_28, x_10);
return x_29;
}
}
else
{
-lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
-lean_dec(x_20);
-x_30 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_31 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_30, x_16);
+lean_object* x_30; lean_object* x_31;
+lean_dec(x_15);
+lean_dec(x_1);
+x_30 = l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__2;
+x_31 = l_Lean_Parser_ParserState_mkNode(x_14, x_30, x_10);
+return x_31;
+}
+}
+else
+{
+lean_object* x_32; lean_object* x_33;
+lean_dec(x_12);
+lean_dec(x_1);
x_32 = l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__2;
-x_33 = l_Lean_Parser_ParserState_mkNode(x_31, x_32, x_13);
+x_33 = l_Lean_Parser_ParserState_mkNode(x_11, x_32, x_10);
return x_33;
}
}
-else
-{
-lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-lean_dec(x_18);
-x_34 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_35 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_34, x_16);
-x_36 = l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__2;
-x_37 = l_Lean_Parser_ParserState_mkNode(x_35, x_36, x_13);
-return x_37;
-}
}
else
{
-lean_object* x_38; lean_object* x_39;
-lean_dec(x_15);
+lean_dec(x_8);
lean_dec(x_1);
-x_38 = l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__2;
-x_39 = l_Lean_Parser_ParserState_mkNode(x_14, x_38, x_13);
-return x_39;
-}
-}
-block_63:
-{
-lean_object* x_42;
-x_42 = lean_ctor_get(x_41, 3);
-lean_inc(x_42);
-if (lean_obj_tag(x_42) == 0)
-{
-lean_object* x_43; lean_object* x_44;
-lean_inc(x_1);
-x_43 = l_Lean_Parser_Command_optDeclSig___elambda__1(x_1, x_41);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-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_43, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-x_47 = lean_ctor_get(x_43, 1);
-lean_inc(x_47);
-lean_inc(x_1);
-x_48 = l_Lean_Parser_Term_binderDefault___elambda__1(x_1, x_43);
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
-{
-lean_object* x_50; lean_object* x_51;
-lean_dec(x_47);
-x_50 = l_Lean_nullKind;
-x_51 = l_Lean_Parser_ParserState_mkNode(x_48, x_50, x_46);
-x_14 = x_51;
-goto block_40;
-}
-else
-{
-lean_object* x_52; uint8_t x_53;
-lean_dec(x_49);
-x_52 = lean_ctor_get(x_48, 1);
-lean_inc(x_52);
-x_53 = lean_nat_dec_eq(x_52, x_47);
-lean_dec(x_52);
-if (x_53 == 0)
-{
-lean_object* x_54; lean_object* x_55;
-lean_dec(x_47);
-x_54 = l_Lean_nullKind;
-x_55 = l_Lean_Parser_ParserState_mkNode(x_48, x_54, x_46);
-x_14 = x_55;
-goto block_40;
-}
-else
-{
-lean_object* x_56; lean_object* x_57; lean_object* x_58;
-x_56 = l_Lean_Parser_ParserState_restore(x_48, x_46, x_47);
-x_57 = l_Lean_nullKind;
-x_58 = l_Lean_Parser_ParserState_mkNode(x_56, x_57, x_46);
-x_14 = x_58;
-goto block_40;
-}
+return x_7;
}
}
else
{
-lean_object* x_59; lean_object* x_60;
-lean_dec(x_44);
-lean_dec(x_1);
-x_59 = l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__2;
-x_60 = l_Lean_Parser_ParserState_mkNode(x_43, x_59, x_13);
-return x_60;
-}
-}
-else
-{
-lean_object* x_61; lean_object* x_62;
-lean_dec(x_42);
-lean_dec(x_1);
-x_61 = l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__2;
-x_62 = l_Lean_Parser_ParserState_mkNode(x_41, x_61, x_13);
-return x_62;
-}
-}
-block_105:
-{
-lean_object* x_65;
-x_65 = lean_ctor_get(x_64, 3);
-lean_inc(x_65);
-if (lean_obj_tag(x_65) == 0)
-{
-lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69;
-x_66 = lean_ctor_get(x_64, 0);
-lean_inc(x_66);
-x_67 = lean_array_get_size(x_66);
-lean_dec(x_66);
-lean_inc(x_1);
-x_68 = l_Lean_Parser_ident___elambda__1(x_1, x_64);
-x_69 = lean_ctor_get(x_68, 3);
-lean_inc(x_69);
-if (lean_obj_tag(x_69) == 0)
-{
-lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73;
-lean_inc(x_1);
-x_70 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_structExplicitBinder___elambda__1___spec__1(x_1, x_68);
-x_71 = l_Lean_nullKind;
-x_72 = l_Lean_Parser_ParserState_mkNode(x_70, x_71, x_67);
-x_73 = lean_ctor_get(x_72, 3);
-lean_inc(x_73);
-if (lean_obj_tag(x_73) == 0)
-{
-lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78;
-x_74 = lean_ctor_get(x_72, 0);
-lean_inc(x_74);
-x_75 = lean_array_get_size(x_74);
-lean_dec(x_74);
-x_76 = lean_ctor_get(x_72, 1);
-lean_inc(x_76);
-lean_inc(x_1);
-x_77 = l_Lean_Parser_Command_inferMod___elambda__1(x_1, x_72);
-x_78 = lean_ctor_get(x_77, 3);
-lean_inc(x_78);
-if (lean_obj_tag(x_78) == 0)
-{
-lean_object* x_79;
-lean_dec(x_76);
-x_79 = l_Lean_Parser_ParserState_mkNode(x_77, x_71, x_75);
-x_41 = x_79;
-goto block_63;
-}
-else
-{
-lean_object* x_80; uint8_t x_81;
-lean_dec(x_78);
-x_80 = lean_ctor_get(x_77, 1);
-lean_inc(x_80);
-x_81 = lean_nat_dec_eq(x_80, x_76);
-lean_dec(x_80);
-if (x_81 == 0)
-{
-lean_object* x_82;
-lean_dec(x_76);
-x_82 = l_Lean_Parser_ParserState_mkNode(x_77, x_71, x_75);
-x_41 = x_82;
-goto block_63;
-}
-else
-{
-lean_object* x_83; lean_object* x_84;
-x_83 = l_Lean_Parser_ParserState_restore(x_77, x_75, x_76);
-x_84 = l_Lean_Parser_ParserState_mkNode(x_83, x_71, x_75);
-x_41 = x_84;
-goto block_63;
-}
-}
-}
-else
-{
-lean_object* x_85; lean_object* x_86;
-lean_dec(x_73);
-lean_dec(x_1);
-x_85 = l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__2;
-x_86 = l_Lean_Parser_ParserState_mkNode(x_72, x_85, x_13);
-return x_86;
-}
-}
-else
-{
-lean_object* x_87; lean_object* x_88; lean_object* x_89;
-lean_dec(x_69);
-x_87 = l_Lean_nullKind;
-x_88 = l_Lean_Parser_ParserState_mkNode(x_68, x_87, x_67);
-x_89 = lean_ctor_get(x_88, 3);
-lean_inc(x_89);
-if (lean_obj_tag(x_89) == 0)
-{
-lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94;
-x_90 = lean_ctor_get(x_88, 0);
-lean_inc(x_90);
-x_91 = lean_array_get_size(x_90);
-lean_dec(x_90);
-x_92 = lean_ctor_get(x_88, 1);
-lean_inc(x_92);
-lean_inc(x_1);
-x_93 = l_Lean_Parser_Command_inferMod___elambda__1(x_1, x_88);
-x_94 = lean_ctor_get(x_93, 3);
-lean_inc(x_94);
-if (lean_obj_tag(x_94) == 0)
-{
-lean_object* x_95;
-lean_dec(x_92);
-x_95 = l_Lean_Parser_ParserState_mkNode(x_93, x_87, x_91);
-x_41 = x_95;
-goto block_63;
-}
-else
-{
-lean_object* x_96; uint8_t x_97;
-lean_dec(x_94);
-x_96 = lean_ctor_get(x_93, 1);
-lean_inc(x_96);
-x_97 = lean_nat_dec_eq(x_96, x_92);
-lean_dec(x_96);
-if (x_97 == 0)
-{
-lean_object* x_98;
-lean_dec(x_92);
-x_98 = l_Lean_Parser_ParserState_mkNode(x_93, x_87, x_91);
-x_41 = x_98;
-goto block_63;
-}
-else
-{
-lean_object* x_99; lean_object* x_100;
-x_99 = l_Lean_Parser_ParserState_restore(x_93, x_91, x_92);
-x_100 = l_Lean_Parser_ParserState_mkNode(x_99, x_87, x_91);
-x_41 = x_100;
-goto block_63;
-}
-}
-}
-else
-{
-lean_object* x_101; lean_object* x_102;
-lean_dec(x_89);
-lean_dec(x_1);
-x_101 = l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__2;
-x_102 = l_Lean_Parser_ParserState_mkNode(x_88, x_101, x_13);
-return x_102;
-}
-}
-}
-else
-{
-lean_object* x_103; lean_object* x_104;
-lean_dec(x_65);
-lean_dec(x_1);
-x_103 = l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__2;
-x_104 = l_Lean_Parser_ParserState_mkNode(x_64, x_103, x_13);
-return x_104;
-}
-}
-block_112:
-{
-if (lean_obj_tag(x_109) == 0)
-{
-lean_dec(x_108);
-lean_dec(x_107);
-lean_dec(x_12);
-x_64 = x_106;
-goto block_105;
-}
-else
-{
-lean_object* x_110; lean_object* x_111;
-lean_dec(x_106);
-x_110 = l_Array_shrink___main___rarg(x_107, x_13);
-x_111 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_111, 0, x_110);
-lean_ctor_set(x_111, 1, x_12);
-lean_ctor_set(x_111, 2, x_108);
-lean_ctor_set(x_111, 3, x_109);
-x_64 = x_111;
-goto block_105;
-}
-}
-}
-else
-{
-lean_dec(x_10);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_9;
-}
-}
-else
-{
-lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148;
-x_144 = lean_ctor_get(x_2, 0);
-lean_inc(x_144);
-x_145 = lean_array_get_size(x_144);
-lean_dec(x_144);
-x_146 = lean_ctor_get(x_2, 1);
-lean_inc(x_146);
-lean_inc(x_1);
-x_147 = lean_apply_2(x_6, x_1, x_2);
-x_148 = lean_ctor_get(x_147, 3);
-lean_inc(x_148);
-if (lean_obj_tag(x_148) == 0)
-{
-lean_dec(x_146);
-lean_dec(x_145);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_147;
-}
-else
-{
-lean_object* x_149; lean_object* x_150; uint8_t x_151;
-x_149 = lean_ctor_get(x_148, 0);
-lean_inc(x_149);
-lean_dec(x_148);
-x_150 = lean_ctor_get(x_147, 1);
-lean_inc(x_150);
-x_151 = lean_nat_dec_eq(x_150, x_146);
-lean_dec(x_150);
-if (x_151 == 0)
-{
-lean_dec(x_149);
-lean_dec(x_146);
-lean_dec(x_145);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_147;
-}
-else
-{
-lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155;
-lean_inc(x_146);
-x_152 = l_Lean_Parser_ParserState_restore(x_147, x_145, x_146);
-lean_dec(x_145);
-x_153 = lean_unsigned_to_nat(1024u);
-x_154 = l_Lean_Parser_checkPrecFn(x_153, x_1, x_152);
-x_155 = lean_ctor_get(x_154, 3);
-lean_inc(x_155);
-if (lean_obj_tag(x_155) == 0)
-{
-lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_196; lean_object* x_223; lean_object* x_271; lean_object* x_272; lean_object* x_273; lean_object* x_274; lean_object* x_278; lean_object* x_279;
-x_156 = lean_ctor_get(x_154, 0);
-lean_inc(x_156);
-x_157 = lean_ctor_get(x_154, 1);
-lean_inc(x_157);
-x_158 = lean_array_get_size(x_156);
-lean_dec(x_156);
-lean_inc(x_1);
-x_278 = lean_apply_2(x_4, x_1, x_154);
-x_279 = lean_ctor_get(x_278, 3);
-lean_inc(x_279);
-if (lean_obj_tag(x_279) == 0)
-{
-lean_object* x_280; lean_object* x_281; lean_object* x_282;
-x_280 = lean_ctor_get(x_278, 1);
-lean_inc(x_280);
-lean_inc(x_1);
-x_281 = l_Lean_Parser_tokenFn(x_1, x_278);
-x_282 = lean_ctor_get(x_281, 3);
-lean_inc(x_282);
-if (lean_obj_tag(x_282) == 0)
-{
-lean_object* x_283; lean_object* x_284;
-x_283 = lean_ctor_get(x_281, 0);
-lean_inc(x_283);
-x_284 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_283);
-lean_dec(x_283);
-if (lean_obj_tag(x_284) == 2)
-{
-lean_object* x_285; lean_object* x_286; uint8_t x_287;
-x_285 = lean_ctor_get(x_284, 1);
-lean_inc(x_285);
-lean_dec(x_284);
-x_286 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__3;
-x_287 = lean_string_dec_eq(x_285, x_286);
-lean_dec(x_285);
-if (x_287 == 0)
-{
-lean_object* x_288; lean_object* x_289; lean_object* x_290; lean_object* x_291; lean_object* x_292;
-x_288 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-x_289 = l_Lean_Parser_ParserState_mkErrorsAt(x_281, x_288, x_280);
-x_290 = lean_ctor_get(x_289, 0);
-lean_inc(x_290);
-x_291 = lean_ctor_get(x_289, 2);
-lean_inc(x_291);
-x_292 = lean_ctor_get(x_289, 3);
-lean_inc(x_292);
-x_271 = x_289;
-x_272 = x_290;
-x_273 = x_291;
-x_274 = x_292;
-goto block_277;
-}
-else
-{
-lean_object* x_293; lean_object* x_294; lean_object* x_295;
-lean_dec(x_280);
-x_293 = lean_ctor_get(x_281, 0);
-lean_inc(x_293);
-x_294 = lean_ctor_get(x_281, 2);
-lean_inc(x_294);
-x_295 = lean_ctor_get(x_281, 3);
-lean_inc(x_295);
-x_271 = x_281;
-x_272 = x_293;
-x_273 = x_294;
-x_274 = x_295;
-goto block_277;
-}
-}
-else
-{
-lean_object* x_296; lean_object* x_297; lean_object* x_298; lean_object* x_299; lean_object* x_300;
-lean_dec(x_284);
-x_296 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-x_297 = l_Lean_Parser_ParserState_mkErrorsAt(x_281, x_296, x_280);
-x_298 = lean_ctor_get(x_297, 0);
-lean_inc(x_298);
-x_299 = lean_ctor_get(x_297, 2);
-lean_inc(x_299);
-x_300 = lean_ctor_get(x_297, 3);
-lean_inc(x_300);
-x_271 = x_297;
-x_272 = x_298;
-x_273 = x_299;
-x_274 = x_300;
-goto block_277;
-}
-}
-else
-{
-lean_object* x_301; lean_object* x_302; lean_object* x_303; lean_object* x_304; lean_object* x_305;
-lean_dec(x_282);
-x_301 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-x_302 = l_Lean_Parser_ParserState_mkErrorsAt(x_281, x_301, x_280);
-x_303 = lean_ctor_get(x_302, 0);
-lean_inc(x_303);
-x_304 = lean_ctor_get(x_302, 2);
-lean_inc(x_304);
-x_305 = lean_ctor_get(x_302, 3);
-lean_inc(x_305);
-x_271 = x_302;
-x_272 = x_303;
-x_273 = x_304;
-x_274 = x_305;
-goto block_277;
-}
-}
-else
-{
-lean_object* x_306; lean_object* x_307; lean_object* x_308;
-lean_dec(x_279);
-x_306 = lean_ctor_get(x_278, 0);
-lean_inc(x_306);
-x_307 = lean_ctor_get(x_278, 2);
-lean_inc(x_307);
-x_308 = lean_ctor_get(x_278, 3);
-lean_inc(x_308);
-x_271 = x_278;
-x_272 = x_306;
-x_273 = x_307;
-x_274 = x_308;
-goto block_277;
-}
-block_195:
-{
-lean_object* x_160;
-x_160 = lean_ctor_get(x_159, 3);
-lean_inc(x_160);
-if (lean_obj_tag(x_160) == 0)
-{
-lean_object* x_161; lean_object* x_162; lean_object* x_163;
-x_161 = lean_ctor_get(x_159, 1);
-lean_inc(x_161);
-x_162 = l_Lean_Parser_tokenFn(x_1, x_159);
-x_163 = lean_ctor_get(x_162, 3);
-lean_inc(x_163);
-if (lean_obj_tag(x_163) == 0)
-{
-lean_object* x_164; lean_object* x_165;
-x_164 = lean_ctor_get(x_162, 0);
-lean_inc(x_164);
-x_165 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_164);
-lean_dec(x_164);
-if (lean_obj_tag(x_165) == 2)
-{
-lean_object* x_166; lean_object* x_167; uint8_t x_168;
-x_166 = lean_ctor_get(x_165, 1);
-lean_inc(x_166);
-lean_dec(x_165);
-x_167 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
-x_168 = lean_string_dec_eq(x_166, x_167);
-lean_dec(x_166);
-if (x_168 == 0)
-{
-lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; uint8_t x_173; lean_object* x_174;
-x_169 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_170 = l_Lean_Parser_ParserState_mkErrorsAt(x_162, x_169, x_161);
-x_171 = l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__2;
-x_172 = l_Lean_Parser_ParserState_mkNode(x_170, x_171, x_158);
-x_173 = 1;
-x_174 = l_Lean_Parser_mergeOrElseErrors(x_172, x_149, x_146, x_173);
-lean_dec(x_146);
-return x_174;
-}
-else
-{
-lean_object* x_175; lean_object* x_176; uint8_t x_177; lean_object* x_178;
-lean_dec(x_161);
-x_175 = l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__2;
-x_176 = l_Lean_Parser_ParserState_mkNode(x_162, x_175, x_158);
-x_177 = 1;
-x_178 = l_Lean_Parser_mergeOrElseErrors(x_176, x_149, x_146, x_177);
-lean_dec(x_146);
-return x_178;
-}
-}
-else
-{
-lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; uint8_t x_183; lean_object* x_184;
-lean_dec(x_165);
-x_179 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_180 = l_Lean_Parser_ParserState_mkErrorsAt(x_162, x_179, x_161);
-x_181 = l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__2;
-x_182 = l_Lean_Parser_ParserState_mkNode(x_180, x_181, x_158);
-x_183 = 1;
-x_184 = l_Lean_Parser_mergeOrElseErrors(x_182, x_149, x_146, x_183);
-lean_dec(x_146);
-return x_184;
-}
-}
-else
-{
-lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; uint8_t x_189; lean_object* x_190;
-lean_dec(x_163);
-x_185 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_186 = l_Lean_Parser_ParserState_mkErrorsAt(x_162, x_185, x_161);
-x_187 = l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__2;
-x_188 = l_Lean_Parser_ParserState_mkNode(x_186, x_187, x_158);
-x_189 = 1;
-x_190 = l_Lean_Parser_mergeOrElseErrors(x_188, x_149, x_146, x_189);
-lean_dec(x_146);
-return x_190;
-}
-}
-else
-{
-lean_object* x_191; lean_object* x_192; uint8_t x_193; lean_object* x_194;
-lean_dec(x_160);
-lean_dec(x_1);
-x_191 = l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__2;
-x_192 = l_Lean_Parser_ParserState_mkNode(x_159, x_191, x_158);
-x_193 = 1;
-x_194 = l_Lean_Parser_mergeOrElseErrors(x_192, x_149, x_146, x_193);
-lean_dec(x_146);
-return x_194;
-}
-}
-block_222:
-{
-lean_object* x_197;
-x_197 = lean_ctor_get(x_196, 3);
-lean_inc(x_197);
-if (lean_obj_tag(x_197) == 0)
-{
-lean_object* x_198; lean_object* x_199;
-lean_inc(x_1);
-x_198 = l_Lean_Parser_Command_optDeclSig___elambda__1(x_1, x_196);
-x_199 = lean_ctor_get(x_198, 3);
-lean_inc(x_199);
-if (lean_obj_tag(x_199) == 0)
-{
-lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204;
-x_200 = lean_ctor_get(x_198, 0);
-lean_inc(x_200);
-x_201 = lean_array_get_size(x_200);
-lean_dec(x_200);
-x_202 = lean_ctor_get(x_198, 1);
-lean_inc(x_202);
-lean_inc(x_1);
-x_203 = l_Lean_Parser_Term_binderDefault___elambda__1(x_1, x_198);
-x_204 = lean_ctor_get(x_203, 3);
-lean_inc(x_204);
-if (lean_obj_tag(x_204) == 0)
-{
-lean_object* x_205; lean_object* x_206;
-lean_dec(x_202);
-x_205 = l_Lean_nullKind;
-x_206 = l_Lean_Parser_ParserState_mkNode(x_203, x_205, x_201);
-x_159 = x_206;
-goto block_195;
-}
-else
-{
-lean_object* x_207; uint8_t x_208;
-lean_dec(x_204);
-x_207 = lean_ctor_get(x_203, 1);
-lean_inc(x_207);
-x_208 = lean_nat_dec_eq(x_207, x_202);
-lean_dec(x_207);
-if (x_208 == 0)
-{
-lean_object* x_209; lean_object* x_210;
-lean_dec(x_202);
-x_209 = l_Lean_nullKind;
-x_210 = l_Lean_Parser_ParserState_mkNode(x_203, x_209, x_201);
-x_159 = x_210;
-goto block_195;
-}
-else
-{
-lean_object* x_211; lean_object* x_212; lean_object* x_213;
-x_211 = l_Lean_Parser_ParserState_restore(x_203, x_201, x_202);
-x_212 = l_Lean_nullKind;
-x_213 = l_Lean_Parser_ParserState_mkNode(x_211, x_212, x_201);
-x_159 = x_213;
-goto block_195;
-}
-}
-}
-else
-{
-lean_object* x_214; lean_object* x_215; uint8_t x_216; lean_object* x_217;
-lean_dec(x_199);
-lean_dec(x_1);
-x_214 = l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__2;
-x_215 = l_Lean_Parser_ParserState_mkNode(x_198, x_214, x_158);
-x_216 = 1;
-x_217 = l_Lean_Parser_mergeOrElseErrors(x_215, x_149, x_146, x_216);
-lean_dec(x_146);
-return x_217;
-}
-}
-else
-{
-lean_object* x_218; lean_object* x_219; uint8_t x_220; lean_object* x_221;
-lean_dec(x_197);
-lean_dec(x_1);
-x_218 = l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__2;
-x_219 = l_Lean_Parser_ParserState_mkNode(x_196, x_218, x_158);
-x_220 = 1;
-x_221 = l_Lean_Parser_mergeOrElseErrors(x_219, x_149, x_146, x_220);
-lean_dec(x_146);
-return x_221;
-}
-}
-block_270:
-{
-lean_object* x_224;
-x_224 = lean_ctor_get(x_223, 3);
-lean_inc(x_224);
-if (lean_obj_tag(x_224) == 0)
-{
-lean_object* x_225; lean_object* x_226; lean_object* x_227; lean_object* x_228;
-x_225 = lean_ctor_get(x_223, 0);
-lean_inc(x_225);
-x_226 = lean_array_get_size(x_225);
-lean_dec(x_225);
-lean_inc(x_1);
-x_227 = l_Lean_Parser_ident___elambda__1(x_1, x_223);
-x_228 = lean_ctor_get(x_227, 3);
-lean_inc(x_228);
-if (lean_obj_tag(x_228) == 0)
-{
-lean_object* x_229; lean_object* x_230; lean_object* x_231; lean_object* x_232;
-lean_inc(x_1);
-x_229 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_structExplicitBinder___elambda__1___spec__1(x_1, x_227);
-x_230 = l_Lean_nullKind;
-x_231 = l_Lean_Parser_ParserState_mkNode(x_229, x_230, x_226);
-x_232 = lean_ctor_get(x_231, 3);
-lean_inc(x_232);
-if (lean_obj_tag(x_232) == 0)
-{
-lean_object* x_233; lean_object* x_234; lean_object* x_235; lean_object* x_236; lean_object* x_237;
-x_233 = lean_ctor_get(x_231, 0);
-lean_inc(x_233);
-x_234 = lean_array_get_size(x_233);
-lean_dec(x_233);
-x_235 = lean_ctor_get(x_231, 1);
-lean_inc(x_235);
-lean_inc(x_1);
-x_236 = l_Lean_Parser_Command_inferMod___elambda__1(x_1, x_231);
-x_237 = lean_ctor_get(x_236, 3);
-lean_inc(x_237);
-if (lean_obj_tag(x_237) == 0)
-{
-lean_object* x_238;
-lean_dec(x_235);
-x_238 = l_Lean_Parser_ParserState_mkNode(x_236, x_230, x_234);
-x_196 = x_238;
-goto block_222;
-}
-else
-{
-lean_object* x_239; uint8_t x_240;
-lean_dec(x_237);
-x_239 = lean_ctor_get(x_236, 1);
-lean_inc(x_239);
-x_240 = lean_nat_dec_eq(x_239, x_235);
-lean_dec(x_239);
-if (x_240 == 0)
-{
-lean_object* x_241;
-lean_dec(x_235);
-x_241 = l_Lean_Parser_ParserState_mkNode(x_236, x_230, x_234);
-x_196 = x_241;
-goto block_222;
-}
-else
-{
-lean_object* x_242; lean_object* x_243;
-x_242 = l_Lean_Parser_ParserState_restore(x_236, x_234, x_235);
-x_243 = l_Lean_Parser_ParserState_mkNode(x_242, x_230, x_234);
-x_196 = x_243;
-goto block_222;
-}
-}
-}
-else
-{
-lean_object* x_244; lean_object* x_245; uint8_t x_246; lean_object* x_247;
-lean_dec(x_232);
-lean_dec(x_1);
-x_244 = l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__2;
-x_245 = l_Lean_Parser_ParserState_mkNode(x_231, x_244, x_158);
-x_246 = 1;
-x_247 = l_Lean_Parser_mergeOrElseErrors(x_245, x_149, x_146, x_246);
-lean_dec(x_146);
-return x_247;
-}
-}
-else
-{
-lean_object* x_248; lean_object* x_249; lean_object* x_250;
-lean_dec(x_228);
-x_248 = l_Lean_nullKind;
-x_249 = l_Lean_Parser_ParserState_mkNode(x_227, x_248, x_226);
-x_250 = lean_ctor_get(x_249, 3);
-lean_inc(x_250);
-if (lean_obj_tag(x_250) == 0)
-{
-lean_object* x_251; lean_object* x_252; lean_object* x_253; lean_object* x_254; lean_object* x_255;
-x_251 = lean_ctor_get(x_249, 0);
-lean_inc(x_251);
-x_252 = lean_array_get_size(x_251);
-lean_dec(x_251);
-x_253 = lean_ctor_get(x_249, 1);
-lean_inc(x_253);
-lean_inc(x_1);
-x_254 = l_Lean_Parser_Command_inferMod___elambda__1(x_1, x_249);
-x_255 = lean_ctor_get(x_254, 3);
-lean_inc(x_255);
-if (lean_obj_tag(x_255) == 0)
-{
-lean_object* x_256;
-lean_dec(x_253);
-x_256 = l_Lean_Parser_ParserState_mkNode(x_254, x_248, x_252);
-x_196 = x_256;
-goto block_222;
-}
-else
-{
-lean_object* x_257; uint8_t x_258;
-lean_dec(x_255);
-x_257 = lean_ctor_get(x_254, 1);
-lean_inc(x_257);
-x_258 = lean_nat_dec_eq(x_257, x_253);
-lean_dec(x_257);
-if (x_258 == 0)
-{
-lean_object* x_259;
-lean_dec(x_253);
-x_259 = l_Lean_Parser_ParserState_mkNode(x_254, x_248, x_252);
-x_196 = x_259;
-goto block_222;
-}
-else
-{
-lean_object* x_260; lean_object* x_261;
-x_260 = l_Lean_Parser_ParserState_restore(x_254, x_252, x_253);
-x_261 = l_Lean_Parser_ParserState_mkNode(x_260, x_248, x_252);
-x_196 = x_261;
-goto block_222;
-}
-}
-}
-else
-{
-lean_object* x_262; lean_object* x_263; uint8_t x_264; lean_object* x_265;
-lean_dec(x_250);
-lean_dec(x_1);
-x_262 = l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__2;
-x_263 = l_Lean_Parser_ParserState_mkNode(x_249, x_262, x_158);
-x_264 = 1;
-x_265 = l_Lean_Parser_mergeOrElseErrors(x_263, x_149, x_146, x_264);
-lean_dec(x_146);
-return x_265;
-}
-}
-}
-else
-{
-lean_object* x_266; lean_object* x_267; uint8_t x_268; lean_object* x_269;
-lean_dec(x_224);
-lean_dec(x_1);
-x_266 = l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__2;
-x_267 = l_Lean_Parser_ParserState_mkNode(x_223, x_266, x_158);
-x_268 = 1;
-x_269 = l_Lean_Parser_mergeOrElseErrors(x_267, x_149, x_146, x_268);
-lean_dec(x_146);
-return x_269;
-}
-}
-block_277:
-{
-if (lean_obj_tag(x_274) == 0)
-{
-lean_dec(x_273);
-lean_dec(x_272);
-lean_dec(x_157);
-x_223 = x_271;
-goto block_270;
-}
-else
-{
-lean_object* x_275; lean_object* x_276;
-lean_dec(x_271);
-x_275 = l_Array_shrink___main___rarg(x_272, x_158);
-x_276 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_276, 0, x_275);
-lean_ctor_set(x_276, 1, x_157);
-lean_ctor_set(x_276, 2, x_273);
-lean_ctor_set(x_276, 3, x_274);
-x_223 = x_276;
-goto block_270;
-}
-}
-}
-else
-{
-uint8_t x_309; lean_object* x_310;
-lean_dec(x_155);
-lean_dec(x_4);
-lean_dec(x_1);
-x_309 = 1;
-x_310 = l_Lean_Parser_mergeOrElseErrors(x_154, x_149, x_146, x_309);
-lean_dec(x_146);
-return x_310;
-}
-}
-}
+lean_object* x_50; uint8_t x_51; lean_object* x_52;
+x_50 = l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__15;
+x_51 = 1;
+x_52 = l_Lean_Parser_orelseFnCore(x_4, x_50, x_51, x_1, x_2);
+return x_52;
}
}
}
@@ -18048,7 +10818,7 @@ static lean_object* _init_l_Lean_Parser_Command_structExplicitBinder___closed__1
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
-x_1 = l_Lean_Parser_Command_ctor___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Command_ctor___elambda__1___closed__8;
x_2 = lean_ctor_get(x_1, 0);
lean_inc(x_2);
x_3 = l_Lean_Parser_antiquotNestedExpr___closed__1;
@@ -18220,156 +10990,184 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
+x_1 = l_Lean_Parser_Command_ctor___elambda__1___closed__8;
+x_2 = lean_ctor_get(x_1, 1);
+lean_inc(x_2);
+x_3 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__6;
+x_4 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_4, 0, x_2);
+lean_closure_set(x_4, 1, x_3);
+return x_4;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_tryFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_declSig___closed__5;
+x_2 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_ctor___elambda__1___closed__9;
+x_2 = l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Command_structImplicitBinder___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; uint8_t x_7;
-x_3 = l_Lean_Parser_Command_ctor___elambda__1___closed__7;
+lean_object* x_3; lean_object* x_4; uint8_t x_5;
+x_3 = l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-x_5 = l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__4;
-x_6 = lean_ctor_get(x_5, 1);
-lean_inc(x_6);
lean_inc(x_2);
lean_inc(x_1);
-x_7 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_7 == 0)
+x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
+if (x_5 == 0)
{
-lean_object* x_8; lean_object* x_9; lean_object* x_10;
-lean_dec(x_6);
-x_8 = lean_unsigned_to_nat(1024u);
-x_9 = l_Lean_Parser_checkPrecFn(x_8, x_1, x_2);
-x_10 = lean_ctor_get(x_9, 3);
-lean_inc(x_10);
-if (lean_obj_tag(x_10) == 0)
+lean_object* x_6; lean_object* x_7; lean_object* x_8;
+lean_dec(x_4);
+x_6 = lean_unsigned_to_nat(1024u);
+x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
+x_8 = lean_ctor_get(x_7, 3);
+lean_inc(x_8);
+if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_45; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_94; lean_object* x_95;
-x_11 = lean_ctor_get(x_9, 0);
-lean_inc(x_11);
-x_12 = lean_ctor_get(x_9, 1);
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_30; lean_object* x_31; lean_object* x_32;
+x_9 = lean_ctor_get(x_7, 0);
+lean_inc(x_9);
+x_10 = lean_array_get_size(x_9);
+lean_dec(x_9);
+x_30 = l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__5;
+lean_inc(x_1);
+x_31 = l_Lean_Parser_tryFn(x_30, x_1, x_7);
+x_32 = lean_ctor_get(x_31, 3);
+lean_inc(x_32);
+if (lean_obj_tag(x_32) == 0)
+{
+lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36;
+x_33 = lean_ctor_get(x_31, 0);
+lean_inc(x_33);
+x_34 = lean_array_get_size(x_33);
+lean_dec(x_33);
+lean_inc(x_1);
+x_35 = l_Lean_Parser_ident___elambda__1(x_1, x_31);
+x_36 = lean_ctor_get(x_35, 3);
+lean_inc(x_36);
+if (lean_obj_tag(x_36) == 0)
+{
+lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40;
+x_37 = l_Lean_Parser_ident___closed__2;
+lean_inc(x_1);
+x_38 = l_Lean_Parser_manyAux(x_37, x_1, x_35);
+x_39 = l_Lean_nullKind;
+x_40 = l_Lean_Parser_ParserState_mkNode(x_38, x_39, x_34);
+x_11 = x_40;
+goto block_29;
+}
+else
+{
+lean_object* x_41; lean_object* x_42;
+lean_dec(x_36);
+x_41 = l_Lean_nullKind;
+x_42 = l_Lean_Parser_ParserState_mkNode(x_35, x_41, x_34);
+x_11 = x_42;
+goto block_29;
+}
+}
+else
+{
+lean_object* x_43; lean_object* x_44;
+lean_dec(x_32);
+lean_dec(x_1);
+x_43 = l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__2;
+x_44 = l_Lean_Parser_ParserState_mkNode(x_31, x_43, x_10);
+return x_44;
+}
+block_29:
+{
+lean_object* x_12;
+x_12 = lean_ctor_get(x_11, 3);
lean_inc(x_12);
-x_13 = lean_array_get_size(x_11);
-lean_dec(x_11);
+if (lean_obj_tag(x_12) == 0)
+{
+lean_object* x_13; lean_object* x_14; lean_object* x_15;
+x_13 = l_Lean_Parser_Command_inferMod___closed__4;
lean_inc(x_1);
-x_94 = lean_apply_2(x_4, x_1, x_9);
-x_95 = lean_ctor_get(x_94, 3);
-lean_inc(x_95);
-if (lean_obj_tag(x_95) == 0)
-{
-lean_object* x_96; lean_object* x_97; lean_object* x_98;
-x_96 = lean_ctor_get(x_94, 1);
-lean_inc(x_96);
-lean_inc(x_1);
-x_97 = l_Lean_Parser_tokenFn(x_1, x_94);
-x_98 = lean_ctor_get(x_97, 3);
-lean_inc(x_98);
-if (lean_obj_tag(x_98) == 0)
-{
-lean_object* x_99; lean_object* x_100;
-x_99 = lean_ctor_get(x_97, 0);
-lean_inc(x_99);
-x_100 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_99);
-lean_dec(x_99);
-if (lean_obj_tag(x_100) == 2)
-{
-lean_object* x_101; lean_object* x_102; uint8_t x_103;
-x_101 = lean_ctor_get(x_100, 1);
-lean_inc(x_101);
-lean_dec(x_100);
-x_102 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__5;
-x_103 = lean_string_dec_eq(x_101, x_102);
-lean_dec(x_101);
-if (x_103 == 0)
-{
-lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108;
-x_104 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12;
-x_105 = l_Lean_Parser_ParserState_mkErrorsAt(x_97, x_104, x_96);
-x_106 = lean_ctor_get(x_105, 0);
-lean_inc(x_106);
-x_107 = lean_ctor_get(x_105, 2);
-lean_inc(x_107);
-x_108 = lean_ctor_get(x_105, 3);
-lean_inc(x_108);
-x_87 = x_105;
-x_88 = x_106;
-x_89 = x_107;
-x_90 = x_108;
-goto block_93;
-}
-else
-{
-lean_object* x_109; lean_object* x_110; lean_object* x_111;
-lean_dec(x_96);
-x_109 = lean_ctor_get(x_97, 0);
-lean_inc(x_109);
-x_110 = lean_ctor_get(x_97, 2);
-lean_inc(x_110);
-x_111 = lean_ctor_get(x_97, 3);
-lean_inc(x_111);
-x_87 = x_97;
-x_88 = x_109;
-x_89 = x_110;
-x_90 = x_111;
-goto block_93;
-}
-}
-else
-{
-lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116;
-lean_dec(x_100);
-x_112 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12;
-x_113 = l_Lean_Parser_ParserState_mkErrorsAt(x_97, x_112, x_96);
-x_114 = lean_ctor_get(x_113, 0);
-lean_inc(x_114);
-x_115 = lean_ctor_get(x_113, 2);
-lean_inc(x_115);
-x_116 = lean_ctor_get(x_113, 3);
-lean_inc(x_116);
-x_87 = x_113;
-x_88 = x_114;
-x_89 = x_115;
-x_90 = x_116;
-goto block_93;
-}
-}
-else
-{
-lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121;
-lean_dec(x_98);
-x_117 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12;
-x_118 = l_Lean_Parser_ParserState_mkErrorsAt(x_97, x_117, x_96);
-x_119 = lean_ctor_get(x_118, 0);
-lean_inc(x_119);
-x_120 = lean_ctor_get(x_118, 2);
-lean_inc(x_120);
-x_121 = lean_ctor_get(x_118, 3);
-lean_inc(x_121);
-x_87 = x_118;
-x_88 = x_119;
-x_89 = x_120;
-x_90 = x_121;
-goto block_93;
-}
-}
-else
-{
-lean_object* x_122; lean_object* x_123; lean_object* x_124;
-lean_dec(x_95);
-x_122 = lean_ctor_get(x_94, 0);
-lean_inc(x_122);
-x_123 = lean_ctor_get(x_94, 2);
-lean_inc(x_123);
-x_124 = lean_ctor_get(x_94, 3);
-lean_inc(x_124);
-x_87 = x_94;
-x_88 = x_122;
-x_89 = x_123;
-x_90 = x_124;
-goto block_93;
-}
-block_44:
-{
-lean_object* x_15;
+x_14 = l_Lean_Parser_optionalFn(x_13, x_1, x_11);
x_15 = lean_ctor_get(x_14, 3);
lean_inc(x_15);
if (lean_obj_tag(x_15) == 0)
@@ -18381,774 +11179,59 @@ x_17 = lean_ctor_get(x_16, 3);
lean_inc(x_17);
if (lean_obj_tag(x_17) == 0)
{
-lean_object* x_18; lean_object* x_19; lean_object* x_20;
-x_18 = lean_ctor_get(x_16, 1);
-lean_inc(x_18);
-x_19 = l_Lean_Parser_tokenFn(x_1, x_16);
-x_20 = lean_ctor_get(x_19, 3);
-lean_inc(x_20);
-if (lean_obj_tag(x_20) == 0)
-{
-lean_object* x_21; lean_object* x_22;
-x_21 = lean_ctor_get(x_19, 0);
-lean_inc(x_21);
-x_22 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_21);
-lean_dec(x_21);
-if (lean_obj_tag(x_22) == 2)
-{
-lean_object* x_23; lean_object* x_24; uint8_t x_25;
-x_23 = lean_ctor_get(x_22, 1);
-lean_inc(x_23);
-lean_dec(x_22);
-x_24 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__6;
-x_25 = lean_string_dec_eq(x_23, x_24);
-lean_dec(x_23);
-if (x_25 == 0)
-{
-lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29;
-x_26 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
-x_27 = l_Lean_Parser_ParserState_mkErrorsAt(x_19, x_26, x_18);
-x_28 = l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__2;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_27, x_28, x_13);
-return x_29;
+lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
+x_18 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__8;
+x_19 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__17;
+x_20 = l_Lean_Parser_symbolFnAux(x_18, x_19, x_1, x_16);
+x_21 = l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__2;
+x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_10);
+return x_22;
}
else
{
-lean_object* x_30; lean_object* x_31;
-lean_dec(x_18);
-x_30 = l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__2;
-x_31 = l_Lean_Parser_ParserState_mkNode(x_19, x_30, x_13);
-return x_31;
-}
-}
-else
-{
-lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35;
-lean_dec(x_22);
-x_32 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
-x_33 = l_Lean_Parser_ParserState_mkErrorsAt(x_19, x_32, x_18);
-x_34 = l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__2;
-x_35 = l_Lean_Parser_ParserState_mkNode(x_33, x_34, x_13);
-return x_35;
-}
-}
-else
-{
-lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-lean_dec(x_20);
-x_36 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
-x_37 = l_Lean_Parser_ParserState_mkErrorsAt(x_19, x_36, x_18);
-x_38 = l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__2;
-x_39 = l_Lean_Parser_ParserState_mkNode(x_37, x_38, x_13);
-return x_39;
-}
-}
-else
-{
-lean_object* x_40; lean_object* x_41;
+lean_object* x_23; lean_object* x_24;
lean_dec(x_17);
lean_dec(x_1);
-x_40 = l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__2;
-x_41 = l_Lean_Parser_ParserState_mkNode(x_16, x_40, x_13);
-return x_41;
+x_23 = l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__2;
+x_24 = l_Lean_Parser_ParserState_mkNode(x_16, x_23, x_10);
+return x_24;
}
}
else
{
-lean_object* x_42; lean_object* x_43;
+lean_object* x_25; lean_object* x_26;
lean_dec(x_15);
lean_dec(x_1);
-x_42 = l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__2;
-x_43 = l_Lean_Parser_ParserState_mkNode(x_14, x_42, x_13);
-return x_43;
-}
-}
-block_86:
-{
-lean_object* x_46;
-x_46 = lean_ctor_get(x_45, 3);
-lean_inc(x_46);
-if (lean_obj_tag(x_46) == 0)
-{
-lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50;
-x_47 = lean_ctor_get(x_45, 0);
-lean_inc(x_47);
-x_48 = lean_array_get_size(x_47);
-lean_dec(x_47);
-lean_inc(x_1);
-x_49 = l_Lean_Parser_ident___elambda__1(x_1, x_45);
-x_50 = lean_ctor_get(x_49, 3);
-lean_inc(x_50);
-if (lean_obj_tag(x_50) == 0)
-{
-lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54;
-lean_inc(x_1);
-x_51 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_structExplicitBinder___elambda__1___spec__1(x_1, x_49);
-x_52 = l_Lean_nullKind;
-x_53 = l_Lean_Parser_ParserState_mkNode(x_51, x_52, x_48);
-x_54 = lean_ctor_get(x_53, 3);
-lean_inc(x_54);
-if (lean_obj_tag(x_54) == 0)
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59;
-x_55 = lean_ctor_get(x_53, 0);
-lean_inc(x_55);
-x_56 = lean_array_get_size(x_55);
-lean_dec(x_55);
-x_57 = lean_ctor_get(x_53, 1);
-lean_inc(x_57);
-lean_inc(x_1);
-x_58 = l_Lean_Parser_Command_inferMod___elambda__1(x_1, x_53);
-x_59 = lean_ctor_get(x_58, 3);
-lean_inc(x_59);
-if (lean_obj_tag(x_59) == 0)
-{
-lean_object* x_60;
-lean_dec(x_57);
-x_60 = l_Lean_Parser_ParserState_mkNode(x_58, x_52, x_56);
-x_14 = x_60;
-goto block_44;
-}
-else
-{
-lean_object* x_61; uint8_t x_62;
-lean_dec(x_59);
-x_61 = lean_ctor_get(x_58, 1);
-lean_inc(x_61);
-x_62 = lean_nat_dec_eq(x_61, x_57);
-lean_dec(x_61);
-if (x_62 == 0)
-{
-lean_object* x_63;
-lean_dec(x_57);
-x_63 = l_Lean_Parser_ParserState_mkNode(x_58, x_52, x_56);
-x_14 = x_63;
-goto block_44;
-}
-else
-{
-lean_object* x_64; lean_object* x_65;
-x_64 = l_Lean_Parser_ParserState_restore(x_58, x_56, x_57);
-x_65 = l_Lean_Parser_ParserState_mkNode(x_64, x_52, x_56);
-x_14 = x_65;
-goto block_44;
-}
-}
-}
-else
-{
-lean_object* x_66; lean_object* x_67;
-lean_dec(x_54);
-lean_dec(x_1);
-x_66 = l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__2;
-x_67 = l_Lean_Parser_ParserState_mkNode(x_53, x_66, x_13);
-return x_67;
+x_25 = l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__2;
+x_26 = l_Lean_Parser_ParserState_mkNode(x_14, x_25, x_10);
+return x_26;
}
}
else
{
-lean_object* x_68; lean_object* x_69; lean_object* x_70;
-lean_dec(x_50);
-x_68 = l_Lean_nullKind;
-x_69 = l_Lean_Parser_ParserState_mkNode(x_49, x_68, x_48);
-x_70 = lean_ctor_get(x_69, 3);
-lean_inc(x_70);
-if (lean_obj_tag(x_70) == 0)
-{
-lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75;
-x_71 = lean_ctor_get(x_69, 0);
-lean_inc(x_71);
-x_72 = lean_array_get_size(x_71);
-lean_dec(x_71);
-x_73 = lean_ctor_get(x_69, 1);
-lean_inc(x_73);
-lean_inc(x_1);
-x_74 = l_Lean_Parser_Command_inferMod___elambda__1(x_1, x_69);
-x_75 = lean_ctor_get(x_74, 3);
-lean_inc(x_75);
-if (lean_obj_tag(x_75) == 0)
-{
-lean_object* x_76;
-lean_dec(x_73);
-x_76 = l_Lean_Parser_ParserState_mkNode(x_74, x_68, x_72);
-x_14 = x_76;
-goto block_44;
-}
-else
-{
-lean_object* x_77; uint8_t x_78;
-lean_dec(x_75);
-x_77 = lean_ctor_get(x_74, 1);
-lean_inc(x_77);
-x_78 = lean_nat_dec_eq(x_77, x_73);
-lean_dec(x_77);
-if (x_78 == 0)
-{
-lean_object* x_79;
-lean_dec(x_73);
-x_79 = l_Lean_Parser_ParserState_mkNode(x_74, x_68, x_72);
-x_14 = x_79;
-goto block_44;
-}
-else
-{
-lean_object* x_80; lean_object* x_81;
-x_80 = l_Lean_Parser_ParserState_restore(x_74, x_72, x_73);
-x_81 = l_Lean_Parser_ParserState_mkNode(x_80, x_68, x_72);
-x_14 = x_81;
-goto block_44;
-}
-}
-}
-else
-{
-lean_object* x_82; lean_object* x_83;
-lean_dec(x_70);
-lean_dec(x_1);
-x_82 = l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__2;
-x_83 = l_Lean_Parser_ParserState_mkNode(x_69, x_82, x_13);
-return x_83;
-}
-}
-}
-else
-{
-lean_object* x_84; lean_object* x_85;
-lean_dec(x_46);
-lean_dec(x_1);
-x_84 = l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__2;
-x_85 = l_Lean_Parser_ParserState_mkNode(x_45, x_84, x_13);
-return x_85;
-}
-}
-block_93:
-{
-if (lean_obj_tag(x_90) == 0)
-{
-lean_dec(x_89);
-lean_dec(x_88);
+lean_object* x_27; lean_object* x_28;
lean_dec(x_12);
-x_45 = x_87;
-goto block_86;
-}
-else
-{
-lean_object* x_91; lean_object* x_92;
-lean_dec(x_87);
-x_91 = l_Array_shrink___main___rarg(x_88, x_13);
-x_92 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_92, 0, x_91);
-lean_ctor_set(x_92, 1, x_12);
-lean_ctor_set(x_92, 2, x_89);
-lean_ctor_set(x_92, 3, x_90);
-x_45 = x_92;
-goto block_86;
-}
-}
-}
-else
-{
-lean_dec(x_10);
-lean_dec(x_4);
lean_dec(x_1);
-return x_9;
+x_27 = l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__2;
+x_28 = l_Lean_Parser_ParserState_mkNode(x_11, x_27, x_10);
+return x_28;
+}
}
}
else
{
-lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129;
-x_125 = lean_ctor_get(x_2, 0);
-lean_inc(x_125);
-x_126 = lean_array_get_size(x_125);
-lean_dec(x_125);
-x_127 = lean_ctor_get(x_2, 1);
-lean_inc(x_127);
-lean_inc(x_1);
-x_128 = lean_apply_2(x_6, x_1, x_2);
-x_129 = lean_ctor_get(x_128, 3);
-lean_inc(x_129);
-if (lean_obj_tag(x_129) == 0)
-{
-lean_dec(x_127);
-lean_dec(x_126);
-lean_dec(x_4);
+lean_dec(x_8);
lean_dec(x_1);
-return x_128;
-}
-else
-{
-lean_object* x_130; lean_object* x_131; uint8_t x_132;
-x_130 = lean_ctor_get(x_129, 0);
-lean_inc(x_130);
-lean_dec(x_129);
-x_131 = lean_ctor_get(x_128, 1);
-lean_inc(x_131);
-x_132 = lean_nat_dec_eq(x_131, x_127);
-lean_dec(x_131);
-if (x_132 == 0)
-{
-lean_dec(x_130);
-lean_dec(x_127);
-lean_dec(x_126);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_128;
-}
-else
-{
-lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136;
-lean_inc(x_127);
-x_133 = l_Lean_Parser_ParserState_restore(x_128, x_126, x_127);
-lean_dec(x_126);
-x_134 = lean_unsigned_to_nat(1024u);
-x_135 = l_Lean_Parser_checkPrecFn(x_134, x_1, x_133);
-x_136 = lean_ctor_get(x_135, 3);
-lean_inc(x_136);
-if (lean_obj_tag(x_136) == 0)
-{
-lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_183; lean_object* x_231; lean_object* x_232; lean_object* x_233; lean_object* x_234; lean_object* x_238; lean_object* x_239;
-x_137 = lean_ctor_get(x_135, 0);
-lean_inc(x_137);
-x_138 = lean_ctor_get(x_135, 1);
-lean_inc(x_138);
-x_139 = lean_array_get_size(x_137);
-lean_dec(x_137);
-lean_inc(x_1);
-x_238 = lean_apply_2(x_4, x_1, x_135);
-x_239 = lean_ctor_get(x_238, 3);
-lean_inc(x_239);
-if (lean_obj_tag(x_239) == 0)
-{
-lean_object* x_240; lean_object* x_241; lean_object* x_242;
-x_240 = lean_ctor_get(x_238, 1);
-lean_inc(x_240);
-lean_inc(x_1);
-x_241 = l_Lean_Parser_tokenFn(x_1, x_238);
-x_242 = lean_ctor_get(x_241, 3);
-lean_inc(x_242);
-if (lean_obj_tag(x_242) == 0)
-{
-lean_object* x_243; lean_object* x_244;
-x_243 = lean_ctor_get(x_241, 0);
-lean_inc(x_243);
-x_244 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_243);
-lean_dec(x_243);
-if (lean_obj_tag(x_244) == 2)
-{
-lean_object* x_245; lean_object* x_246; uint8_t x_247;
-x_245 = lean_ctor_get(x_244, 1);
-lean_inc(x_245);
-lean_dec(x_244);
-x_246 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__5;
-x_247 = lean_string_dec_eq(x_245, x_246);
-lean_dec(x_245);
-if (x_247 == 0)
-{
-lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252;
-x_248 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12;
-x_249 = l_Lean_Parser_ParserState_mkErrorsAt(x_241, x_248, x_240);
-x_250 = lean_ctor_get(x_249, 0);
-lean_inc(x_250);
-x_251 = lean_ctor_get(x_249, 2);
-lean_inc(x_251);
-x_252 = lean_ctor_get(x_249, 3);
-lean_inc(x_252);
-x_231 = x_249;
-x_232 = x_250;
-x_233 = x_251;
-x_234 = x_252;
-goto block_237;
-}
-else
-{
-lean_object* x_253; lean_object* x_254; lean_object* x_255;
-lean_dec(x_240);
-x_253 = lean_ctor_get(x_241, 0);
-lean_inc(x_253);
-x_254 = lean_ctor_get(x_241, 2);
-lean_inc(x_254);
-x_255 = lean_ctor_get(x_241, 3);
-lean_inc(x_255);
-x_231 = x_241;
-x_232 = x_253;
-x_233 = x_254;
-x_234 = x_255;
-goto block_237;
+return x_7;
}
}
else
{
-lean_object* x_256; lean_object* x_257; lean_object* x_258; lean_object* x_259; lean_object* x_260;
-lean_dec(x_244);
-x_256 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12;
-x_257 = l_Lean_Parser_ParserState_mkErrorsAt(x_241, x_256, x_240);
-x_258 = lean_ctor_get(x_257, 0);
-lean_inc(x_258);
-x_259 = lean_ctor_get(x_257, 2);
-lean_inc(x_259);
-x_260 = lean_ctor_get(x_257, 3);
-lean_inc(x_260);
-x_231 = x_257;
-x_232 = x_258;
-x_233 = x_259;
-x_234 = x_260;
-goto block_237;
-}
-}
-else
-{
-lean_object* x_261; lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265;
-lean_dec(x_242);
-x_261 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12;
-x_262 = l_Lean_Parser_ParserState_mkErrorsAt(x_241, x_261, x_240);
-x_263 = lean_ctor_get(x_262, 0);
-lean_inc(x_263);
-x_264 = lean_ctor_get(x_262, 2);
-lean_inc(x_264);
-x_265 = lean_ctor_get(x_262, 3);
-lean_inc(x_265);
-x_231 = x_262;
-x_232 = x_263;
-x_233 = x_264;
-x_234 = x_265;
-goto block_237;
-}
-}
-else
-{
-lean_object* x_266; lean_object* x_267; lean_object* x_268;
-lean_dec(x_239);
-x_266 = lean_ctor_get(x_238, 0);
-lean_inc(x_266);
-x_267 = lean_ctor_get(x_238, 2);
-lean_inc(x_267);
-x_268 = lean_ctor_get(x_238, 3);
-lean_inc(x_268);
-x_231 = x_238;
-x_232 = x_266;
-x_233 = x_267;
-x_234 = x_268;
-goto block_237;
-}
-block_182:
-{
-lean_object* x_141;
-x_141 = lean_ctor_get(x_140, 3);
-lean_inc(x_141);
-if (lean_obj_tag(x_141) == 0)
-{
-lean_object* x_142; lean_object* x_143;
-lean_inc(x_1);
-x_142 = l_Lean_Parser_Command_declSig___elambda__1(x_1, x_140);
-x_143 = lean_ctor_get(x_142, 3);
-lean_inc(x_143);
-if (lean_obj_tag(x_143) == 0)
-{
-lean_object* x_144; lean_object* x_145; lean_object* x_146;
-x_144 = lean_ctor_get(x_142, 1);
-lean_inc(x_144);
-x_145 = l_Lean_Parser_tokenFn(x_1, x_142);
-x_146 = lean_ctor_get(x_145, 3);
-lean_inc(x_146);
-if (lean_obj_tag(x_146) == 0)
-{
-lean_object* x_147; lean_object* x_148;
-x_147 = lean_ctor_get(x_145, 0);
-lean_inc(x_147);
-x_148 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_147);
-lean_dec(x_147);
-if (lean_obj_tag(x_148) == 2)
-{
-lean_object* x_149; lean_object* x_150; uint8_t x_151;
-x_149 = lean_ctor_get(x_148, 1);
-lean_inc(x_149);
-lean_dec(x_148);
-x_150 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__6;
-x_151 = lean_string_dec_eq(x_149, x_150);
-lean_dec(x_149);
-if (x_151 == 0)
-{
-lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; uint8_t x_156; lean_object* x_157;
-x_152 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
-x_153 = l_Lean_Parser_ParserState_mkErrorsAt(x_145, x_152, x_144);
-x_154 = l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__2;
-x_155 = l_Lean_Parser_ParserState_mkNode(x_153, x_154, x_139);
-x_156 = 1;
-x_157 = l_Lean_Parser_mergeOrElseErrors(x_155, x_130, x_127, x_156);
-lean_dec(x_127);
-return x_157;
-}
-else
-{
-lean_object* x_158; lean_object* x_159; uint8_t x_160; lean_object* x_161;
-lean_dec(x_144);
-x_158 = l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__2;
-x_159 = l_Lean_Parser_ParserState_mkNode(x_145, x_158, x_139);
-x_160 = 1;
-x_161 = l_Lean_Parser_mergeOrElseErrors(x_159, x_130, x_127, x_160);
-lean_dec(x_127);
-return x_161;
-}
-}
-else
-{
-lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; uint8_t x_166; lean_object* x_167;
-lean_dec(x_148);
-x_162 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
-x_163 = l_Lean_Parser_ParserState_mkErrorsAt(x_145, x_162, x_144);
-x_164 = l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__2;
-x_165 = l_Lean_Parser_ParserState_mkNode(x_163, x_164, x_139);
-x_166 = 1;
-x_167 = l_Lean_Parser_mergeOrElseErrors(x_165, x_130, x_127, x_166);
-lean_dec(x_127);
-return x_167;
-}
-}
-else
-{
-lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; uint8_t x_172; lean_object* x_173;
-lean_dec(x_146);
-x_168 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
-x_169 = l_Lean_Parser_ParserState_mkErrorsAt(x_145, x_168, x_144);
-x_170 = l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__2;
-x_171 = l_Lean_Parser_ParserState_mkNode(x_169, x_170, x_139);
-x_172 = 1;
-x_173 = l_Lean_Parser_mergeOrElseErrors(x_171, x_130, x_127, x_172);
-lean_dec(x_127);
-return x_173;
-}
-}
-else
-{
-lean_object* x_174; lean_object* x_175; uint8_t x_176; lean_object* x_177;
-lean_dec(x_143);
-lean_dec(x_1);
-x_174 = l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__2;
-x_175 = l_Lean_Parser_ParserState_mkNode(x_142, x_174, x_139);
-x_176 = 1;
-x_177 = l_Lean_Parser_mergeOrElseErrors(x_175, x_130, x_127, x_176);
-lean_dec(x_127);
-return x_177;
-}
-}
-else
-{
-lean_object* x_178; lean_object* x_179; uint8_t x_180; lean_object* x_181;
-lean_dec(x_141);
-lean_dec(x_1);
-x_178 = l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__2;
-x_179 = l_Lean_Parser_ParserState_mkNode(x_140, x_178, x_139);
-x_180 = 1;
-x_181 = l_Lean_Parser_mergeOrElseErrors(x_179, x_130, x_127, x_180);
-lean_dec(x_127);
-return x_181;
-}
-}
-block_230:
-{
-lean_object* x_184;
-x_184 = lean_ctor_get(x_183, 3);
-lean_inc(x_184);
-if (lean_obj_tag(x_184) == 0)
-{
-lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188;
-x_185 = lean_ctor_get(x_183, 0);
-lean_inc(x_185);
-x_186 = lean_array_get_size(x_185);
-lean_dec(x_185);
-lean_inc(x_1);
-x_187 = l_Lean_Parser_ident___elambda__1(x_1, x_183);
-x_188 = lean_ctor_get(x_187, 3);
-lean_inc(x_188);
-if (lean_obj_tag(x_188) == 0)
-{
-lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192;
-lean_inc(x_1);
-x_189 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_structExplicitBinder___elambda__1___spec__1(x_1, x_187);
-x_190 = l_Lean_nullKind;
-x_191 = l_Lean_Parser_ParserState_mkNode(x_189, x_190, x_186);
-x_192 = lean_ctor_get(x_191, 3);
-lean_inc(x_192);
-if (lean_obj_tag(x_192) == 0)
-{
-lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197;
-x_193 = lean_ctor_get(x_191, 0);
-lean_inc(x_193);
-x_194 = lean_array_get_size(x_193);
-lean_dec(x_193);
-x_195 = lean_ctor_get(x_191, 1);
-lean_inc(x_195);
-lean_inc(x_1);
-x_196 = l_Lean_Parser_Command_inferMod___elambda__1(x_1, x_191);
-x_197 = lean_ctor_get(x_196, 3);
-lean_inc(x_197);
-if (lean_obj_tag(x_197) == 0)
-{
-lean_object* x_198;
-lean_dec(x_195);
-x_198 = l_Lean_Parser_ParserState_mkNode(x_196, x_190, x_194);
-x_140 = x_198;
-goto block_182;
-}
-else
-{
-lean_object* x_199; uint8_t x_200;
-lean_dec(x_197);
-x_199 = lean_ctor_get(x_196, 1);
-lean_inc(x_199);
-x_200 = lean_nat_dec_eq(x_199, x_195);
-lean_dec(x_199);
-if (x_200 == 0)
-{
-lean_object* x_201;
-lean_dec(x_195);
-x_201 = l_Lean_Parser_ParserState_mkNode(x_196, x_190, x_194);
-x_140 = x_201;
-goto block_182;
-}
-else
-{
-lean_object* x_202; lean_object* x_203;
-x_202 = l_Lean_Parser_ParserState_restore(x_196, x_194, x_195);
-x_203 = l_Lean_Parser_ParserState_mkNode(x_202, x_190, x_194);
-x_140 = x_203;
-goto block_182;
-}
-}
-}
-else
-{
-lean_object* x_204; lean_object* x_205; uint8_t x_206; lean_object* x_207;
-lean_dec(x_192);
-lean_dec(x_1);
-x_204 = l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__2;
-x_205 = l_Lean_Parser_ParserState_mkNode(x_191, x_204, x_139);
-x_206 = 1;
-x_207 = l_Lean_Parser_mergeOrElseErrors(x_205, x_130, x_127, x_206);
-lean_dec(x_127);
-return x_207;
-}
-}
-else
-{
-lean_object* x_208; lean_object* x_209; lean_object* x_210;
-lean_dec(x_188);
-x_208 = l_Lean_nullKind;
-x_209 = l_Lean_Parser_ParserState_mkNode(x_187, x_208, x_186);
-x_210 = lean_ctor_get(x_209, 3);
-lean_inc(x_210);
-if (lean_obj_tag(x_210) == 0)
-{
-lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214; lean_object* x_215;
-x_211 = lean_ctor_get(x_209, 0);
-lean_inc(x_211);
-x_212 = lean_array_get_size(x_211);
-lean_dec(x_211);
-x_213 = lean_ctor_get(x_209, 1);
-lean_inc(x_213);
-lean_inc(x_1);
-x_214 = l_Lean_Parser_Command_inferMod___elambda__1(x_1, x_209);
-x_215 = lean_ctor_get(x_214, 3);
-lean_inc(x_215);
-if (lean_obj_tag(x_215) == 0)
-{
-lean_object* x_216;
-lean_dec(x_213);
-x_216 = l_Lean_Parser_ParserState_mkNode(x_214, x_208, x_212);
-x_140 = x_216;
-goto block_182;
-}
-else
-{
-lean_object* x_217; uint8_t x_218;
-lean_dec(x_215);
-x_217 = lean_ctor_get(x_214, 1);
-lean_inc(x_217);
-x_218 = lean_nat_dec_eq(x_217, x_213);
-lean_dec(x_217);
-if (x_218 == 0)
-{
-lean_object* x_219;
-lean_dec(x_213);
-x_219 = l_Lean_Parser_ParserState_mkNode(x_214, x_208, x_212);
-x_140 = x_219;
-goto block_182;
-}
-else
-{
-lean_object* x_220; lean_object* x_221;
-x_220 = l_Lean_Parser_ParserState_restore(x_214, x_212, x_213);
-x_221 = l_Lean_Parser_ParserState_mkNode(x_220, x_208, x_212);
-x_140 = x_221;
-goto block_182;
-}
-}
-}
-else
-{
-lean_object* x_222; lean_object* x_223; uint8_t x_224; lean_object* x_225;
-lean_dec(x_210);
-lean_dec(x_1);
-x_222 = l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__2;
-x_223 = l_Lean_Parser_ParserState_mkNode(x_209, x_222, x_139);
-x_224 = 1;
-x_225 = l_Lean_Parser_mergeOrElseErrors(x_223, x_130, x_127, x_224);
-lean_dec(x_127);
-return x_225;
-}
-}
-}
-else
-{
-lean_object* x_226; lean_object* x_227; uint8_t x_228; lean_object* x_229;
-lean_dec(x_184);
-lean_dec(x_1);
-x_226 = l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__2;
-x_227 = l_Lean_Parser_ParserState_mkNode(x_183, x_226, x_139);
-x_228 = 1;
-x_229 = l_Lean_Parser_mergeOrElseErrors(x_227, x_130, x_127, x_228);
-lean_dec(x_127);
-return x_229;
-}
-}
-block_237:
-{
-if (lean_obj_tag(x_234) == 0)
-{
-lean_dec(x_233);
-lean_dec(x_232);
-lean_dec(x_138);
-x_183 = x_231;
-goto block_230;
-}
-else
-{
-lean_object* x_235; lean_object* x_236;
-lean_dec(x_231);
-x_235 = l_Array_shrink___main___rarg(x_232, x_139);
-x_236 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_236, 0, x_235);
-lean_ctor_set(x_236, 1, x_138);
-lean_ctor_set(x_236, 2, x_233);
-lean_ctor_set(x_236, 3, x_234);
-x_183 = x_236;
-goto block_230;
-}
-}
-}
-else
-{
-uint8_t x_269; lean_object* x_270;
-lean_dec(x_136);
-lean_dec(x_4);
-lean_dec(x_1);
-x_269 = 1;
-x_270 = l_Lean_Parser_mergeOrElseErrors(x_135, x_130, x_127, x_269);
-lean_dec(x_127);
-return x_270;
-}
-}
-}
+lean_object* x_45; uint8_t x_46; lean_object* x_47;
+x_45 = l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__12;
+x_46 = 1;
+x_47 = l_Lean_Parser_orelseFnCore(x_4, x_45, x_46, x_1, x_2);
+return x_47;
}
}
}
@@ -19156,7 +11239,7 @@ static lean_object* _init_l_Lean_Parser_Command_structImplicitBinder___closed__1
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
-x_1 = l_Lean_Parser_Command_ctor___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Command_ctor___elambda__1___closed__8;
x_2 = lean_ctor_get(x_1, 0);
lean_inc(x_2);
x_3 = l_Lean_Parser_Tactic_tacticSeqBracketed___closed__1;
@@ -19307,156 +11390,184 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Command_structInstBinder___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
+x_1 = l_Lean_Parser_Command_ctor___elambda__1___closed__8;
+x_2 = lean_ctor_get(x_1, 1);
+lean_inc(x_2);
+x_3 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__6;
+x_4 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_4, 0, x_2);
+lean_closure_set(x_4, 1, x_3);
+return x_4;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_structInstBinder___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_structInstBinder___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_tryFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_structInstBinder___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_declSig___closed__5;
+x_2 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_structInstBinder___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_ctor___elambda__1___closed__9;
+x_2 = l_Lean_Parser_Command_structInstBinder___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_structInstBinder___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Command_structInstBinder___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_structInstBinder___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_structInstBinder___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Command_structInstBinder___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_structInstBinder___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_structInstBinder___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_structInstBinder___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_structInstBinder___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_structInstBinder___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Command_structInstBinder___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; uint8_t x_7;
-x_3 = l_Lean_Parser_Command_ctor___elambda__1___closed__7;
+lean_object* x_3; lean_object* x_4; uint8_t x_5;
+x_3 = l_Lean_Parser_Command_structInstBinder___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-x_5 = l_Lean_Parser_Command_structInstBinder___elambda__1___closed__4;
-x_6 = lean_ctor_get(x_5, 1);
-lean_inc(x_6);
lean_inc(x_2);
lean_inc(x_1);
-x_7 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_7 == 0)
+x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
+if (x_5 == 0)
{
-lean_object* x_8; lean_object* x_9; lean_object* x_10;
-lean_dec(x_6);
-x_8 = lean_unsigned_to_nat(1024u);
-x_9 = l_Lean_Parser_checkPrecFn(x_8, x_1, x_2);
-x_10 = lean_ctor_get(x_9, 3);
-lean_inc(x_10);
-if (lean_obj_tag(x_10) == 0)
+lean_object* x_6; lean_object* x_7; lean_object* x_8;
+lean_dec(x_4);
+x_6 = lean_unsigned_to_nat(1024u);
+x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
+x_8 = lean_ctor_get(x_7, 3);
+lean_inc(x_8);
+if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_45; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_94; lean_object* x_95;
-x_11 = lean_ctor_get(x_9, 0);
-lean_inc(x_11);
-x_12 = lean_ctor_get(x_9, 1);
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_30; lean_object* x_31; lean_object* x_32;
+x_9 = lean_ctor_get(x_7, 0);
+lean_inc(x_9);
+x_10 = lean_array_get_size(x_9);
+lean_dec(x_9);
+x_30 = l_Lean_Parser_Command_structInstBinder___elambda__1___closed__5;
+lean_inc(x_1);
+x_31 = l_Lean_Parser_tryFn(x_30, x_1, x_7);
+x_32 = lean_ctor_get(x_31, 3);
+lean_inc(x_32);
+if (lean_obj_tag(x_32) == 0)
+{
+lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36;
+x_33 = lean_ctor_get(x_31, 0);
+lean_inc(x_33);
+x_34 = lean_array_get_size(x_33);
+lean_dec(x_33);
+lean_inc(x_1);
+x_35 = l_Lean_Parser_ident___elambda__1(x_1, x_31);
+x_36 = lean_ctor_get(x_35, 3);
+lean_inc(x_36);
+if (lean_obj_tag(x_36) == 0)
+{
+lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40;
+x_37 = l_Lean_Parser_ident___closed__2;
+lean_inc(x_1);
+x_38 = l_Lean_Parser_manyAux(x_37, x_1, x_35);
+x_39 = l_Lean_nullKind;
+x_40 = l_Lean_Parser_ParserState_mkNode(x_38, x_39, x_34);
+x_11 = x_40;
+goto block_29;
+}
+else
+{
+lean_object* x_41; lean_object* x_42;
+lean_dec(x_36);
+x_41 = l_Lean_nullKind;
+x_42 = l_Lean_Parser_ParserState_mkNode(x_35, x_41, x_34);
+x_11 = x_42;
+goto block_29;
+}
+}
+else
+{
+lean_object* x_43; lean_object* x_44;
+lean_dec(x_32);
+lean_dec(x_1);
+x_43 = l_Lean_Parser_Command_structInstBinder___elambda__1___closed__2;
+x_44 = l_Lean_Parser_ParserState_mkNode(x_31, x_43, x_10);
+return x_44;
+}
+block_29:
+{
+lean_object* x_12;
+x_12 = lean_ctor_get(x_11, 3);
lean_inc(x_12);
-x_13 = lean_array_get_size(x_11);
-lean_dec(x_11);
+if (lean_obj_tag(x_12) == 0)
+{
+lean_object* x_13; lean_object* x_14; lean_object* x_15;
+x_13 = l_Lean_Parser_Command_inferMod___closed__4;
lean_inc(x_1);
-x_94 = lean_apply_2(x_4, x_1, x_9);
-x_95 = lean_ctor_get(x_94, 3);
-lean_inc(x_95);
-if (lean_obj_tag(x_95) == 0)
-{
-lean_object* x_96; lean_object* x_97; lean_object* x_98;
-x_96 = lean_ctor_get(x_94, 1);
-lean_inc(x_96);
-lean_inc(x_1);
-x_97 = l_Lean_Parser_tokenFn(x_1, x_94);
-x_98 = lean_ctor_get(x_97, 3);
-lean_inc(x_98);
-if (lean_obj_tag(x_98) == 0)
-{
-lean_object* x_99; lean_object* x_100;
-x_99 = lean_ctor_get(x_97, 0);
-lean_inc(x_99);
-x_100 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_99);
-lean_dec(x_99);
-if (lean_obj_tag(x_100) == 2)
-{
-lean_object* x_101; lean_object* x_102; uint8_t x_103;
-x_101 = lean_ctor_get(x_100, 1);
-lean_inc(x_101);
-lean_dec(x_100);
-x_102 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__5;
-x_103 = lean_string_dec_eq(x_101, x_102);
-lean_dec(x_101);
-if (x_103 == 0)
-{
-lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108;
-x_104 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-x_105 = l_Lean_Parser_ParserState_mkErrorsAt(x_97, x_104, x_96);
-x_106 = lean_ctor_get(x_105, 0);
-lean_inc(x_106);
-x_107 = lean_ctor_get(x_105, 2);
-lean_inc(x_107);
-x_108 = lean_ctor_get(x_105, 3);
-lean_inc(x_108);
-x_87 = x_105;
-x_88 = x_106;
-x_89 = x_107;
-x_90 = x_108;
-goto block_93;
-}
-else
-{
-lean_object* x_109; lean_object* x_110; lean_object* x_111;
-lean_dec(x_96);
-x_109 = lean_ctor_get(x_97, 0);
-lean_inc(x_109);
-x_110 = lean_ctor_get(x_97, 2);
-lean_inc(x_110);
-x_111 = lean_ctor_get(x_97, 3);
-lean_inc(x_111);
-x_87 = x_97;
-x_88 = x_109;
-x_89 = x_110;
-x_90 = x_111;
-goto block_93;
-}
-}
-else
-{
-lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116;
-lean_dec(x_100);
-x_112 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-x_113 = l_Lean_Parser_ParserState_mkErrorsAt(x_97, x_112, x_96);
-x_114 = lean_ctor_get(x_113, 0);
-lean_inc(x_114);
-x_115 = lean_ctor_get(x_113, 2);
-lean_inc(x_115);
-x_116 = lean_ctor_get(x_113, 3);
-lean_inc(x_116);
-x_87 = x_113;
-x_88 = x_114;
-x_89 = x_115;
-x_90 = x_116;
-goto block_93;
-}
-}
-else
-{
-lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121;
-lean_dec(x_98);
-x_117 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-x_118 = l_Lean_Parser_ParserState_mkErrorsAt(x_97, x_117, x_96);
-x_119 = lean_ctor_get(x_118, 0);
-lean_inc(x_119);
-x_120 = lean_ctor_get(x_118, 2);
-lean_inc(x_120);
-x_121 = lean_ctor_get(x_118, 3);
-lean_inc(x_121);
-x_87 = x_118;
-x_88 = x_119;
-x_89 = x_120;
-x_90 = x_121;
-goto block_93;
-}
-}
-else
-{
-lean_object* x_122; lean_object* x_123; lean_object* x_124;
-lean_dec(x_95);
-x_122 = lean_ctor_get(x_94, 0);
-lean_inc(x_122);
-x_123 = lean_ctor_get(x_94, 2);
-lean_inc(x_123);
-x_124 = lean_ctor_get(x_94, 3);
-lean_inc(x_124);
-x_87 = x_94;
-x_88 = x_122;
-x_89 = x_123;
-x_90 = x_124;
-goto block_93;
-}
-block_44:
-{
-lean_object* x_15;
+x_14 = l_Lean_Parser_optionalFn(x_13, x_1, x_11);
x_15 = lean_ctor_get(x_14, 3);
lean_inc(x_15);
if (lean_obj_tag(x_15) == 0)
@@ -19468,774 +11579,59 @@ x_17 = lean_ctor_get(x_16, 3);
lean_inc(x_17);
if (lean_obj_tag(x_17) == 0)
{
-lean_object* x_18; lean_object* x_19; lean_object* x_20;
-x_18 = lean_ctor_get(x_16, 1);
-lean_inc(x_18);
-x_19 = l_Lean_Parser_tokenFn(x_1, x_16);
-x_20 = lean_ctor_get(x_19, 3);
-lean_inc(x_20);
-if (lean_obj_tag(x_20) == 0)
-{
-lean_object* x_21; lean_object* x_22;
-x_21 = lean_ctor_get(x_19, 0);
-lean_inc(x_21);
-x_22 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_21);
-lean_dec(x_21);
-if (lean_obj_tag(x_22) == 2)
-{
-lean_object* x_23; lean_object* x_24; uint8_t x_25;
-x_23 = lean_ctor_get(x_22, 1);
-lean_inc(x_23);
-lean_dec(x_22);
-x_24 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__6;
-x_25 = lean_string_dec_eq(x_23, x_24);
-lean_dec(x_23);
-if (x_25 == 0)
-{
-lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29;
-x_26 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_27 = l_Lean_Parser_ParserState_mkErrorsAt(x_19, x_26, x_18);
-x_28 = l_Lean_Parser_Command_structInstBinder___elambda__1___closed__2;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_27, x_28, x_13);
-return x_29;
+lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
+x_18 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__7;
+x_19 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__16;
+x_20 = l_Lean_Parser_symbolFnAux(x_18, x_19, x_1, x_16);
+x_21 = l_Lean_Parser_Command_structInstBinder___elambda__1___closed__2;
+x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_10);
+return x_22;
}
else
{
-lean_object* x_30; lean_object* x_31;
-lean_dec(x_18);
-x_30 = l_Lean_Parser_Command_structInstBinder___elambda__1___closed__2;
-x_31 = l_Lean_Parser_ParserState_mkNode(x_19, x_30, x_13);
-return x_31;
-}
-}
-else
-{
-lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35;
-lean_dec(x_22);
-x_32 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_33 = l_Lean_Parser_ParserState_mkErrorsAt(x_19, x_32, x_18);
-x_34 = l_Lean_Parser_Command_structInstBinder___elambda__1___closed__2;
-x_35 = l_Lean_Parser_ParserState_mkNode(x_33, x_34, x_13);
-return x_35;
-}
-}
-else
-{
-lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-lean_dec(x_20);
-x_36 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_37 = l_Lean_Parser_ParserState_mkErrorsAt(x_19, x_36, x_18);
-x_38 = l_Lean_Parser_Command_structInstBinder___elambda__1___closed__2;
-x_39 = l_Lean_Parser_ParserState_mkNode(x_37, x_38, x_13);
-return x_39;
-}
-}
-else
-{
-lean_object* x_40; lean_object* x_41;
+lean_object* x_23; lean_object* x_24;
lean_dec(x_17);
lean_dec(x_1);
-x_40 = l_Lean_Parser_Command_structInstBinder___elambda__1___closed__2;
-x_41 = l_Lean_Parser_ParserState_mkNode(x_16, x_40, x_13);
-return x_41;
+x_23 = l_Lean_Parser_Command_structInstBinder___elambda__1___closed__2;
+x_24 = l_Lean_Parser_ParserState_mkNode(x_16, x_23, x_10);
+return x_24;
}
}
else
{
-lean_object* x_42; lean_object* x_43;
+lean_object* x_25; lean_object* x_26;
lean_dec(x_15);
lean_dec(x_1);
-x_42 = l_Lean_Parser_Command_structInstBinder___elambda__1___closed__2;
-x_43 = l_Lean_Parser_ParserState_mkNode(x_14, x_42, x_13);
-return x_43;
-}
-}
-block_86:
-{
-lean_object* x_46;
-x_46 = lean_ctor_get(x_45, 3);
-lean_inc(x_46);
-if (lean_obj_tag(x_46) == 0)
-{
-lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50;
-x_47 = lean_ctor_get(x_45, 0);
-lean_inc(x_47);
-x_48 = lean_array_get_size(x_47);
-lean_dec(x_47);
-lean_inc(x_1);
-x_49 = l_Lean_Parser_ident___elambda__1(x_1, x_45);
-x_50 = lean_ctor_get(x_49, 3);
-lean_inc(x_50);
-if (lean_obj_tag(x_50) == 0)
-{
-lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54;
-lean_inc(x_1);
-x_51 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_structExplicitBinder___elambda__1___spec__1(x_1, x_49);
-x_52 = l_Lean_nullKind;
-x_53 = l_Lean_Parser_ParserState_mkNode(x_51, x_52, x_48);
-x_54 = lean_ctor_get(x_53, 3);
-lean_inc(x_54);
-if (lean_obj_tag(x_54) == 0)
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59;
-x_55 = lean_ctor_get(x_53, 0);
-lean_inc(x_55);
-x_56 = lean_array_get_size(x_55);
-lean_dec(x_55);
-x_57 = lean_ctor_get(x_53, 1);
-lean_inc(x_57);
-lean_inc(x_1);
-x_58 = l_Lean_Parser_Command_inferMod___elambda__1(x_1, x_53);
-x_59 = lean_ctor_get(x_58, 3);
-lean_inc(x_59);
-if (lean_obj_tag(x_59) == 0)
-{
-lean_object* x_60;
-lean_dec(x_57);
-x_60 = l_Lean_Parser_ParserState_mkNode(x_58, x_52, x_56);
-x_14 = x_60;
-goto block_44;
-}
-else
-{
-lean_object* x_61; uint8_t x_62;
-lean_dec(x_59);
-x_61 = lean_ctor_get(x_58, 1);
-lean_inc(x_61);
-x_62 = lean_nat_dec_eq(x_61, x_57);
-lean_dec(x_61);
-if (x_62 == 0)
-{
-lean_object* x_63;
-lean_dec(x_57);
-x_63 = l_Lean_Parser_ParserState_mkNode(x_58, x_52, x_56);
-x_14 = x_63;
-goto block_44;
-}
-else
-{
-lean_object* x_64; lean_object* x_65;
-x_64 = l_Lean_Parser_ParserState_restore(x_58, x_56, x_57);
-x_65 = l_Lean_Parser_ParserState_mkNode(x_64, x_52, x_56);
-x_14 = x_65;
-goto block_44;
-}
-}
-}
-else
-{
-lean_object* x_66; lean_object* x_67;
-lean_dec(x_54);
-lean_dec(x_1);
-x_66 = l_Lean_Parser_Command_structInstBinder___elambda__1___closed__2;
-x_67 = l_Lean_Parser_ParserState_mkNode(x_53, x_66, x_13);
-return x_67;
+x_25 = l_Lean_Parser_Command_structInstBinder___elambda__1___closed__2;
+x_26 = l_Lean_Parser_ParserState_mkNode(x_14, x_25, x_10);
+return x_26;
}
}
else
{
-lean_object* x_68; lean_object* x_69; lean_object* x_70;
-lean_dec(x_50);
-x_68 = l_Lean_nullKind;
-x_69 = l_Lean_Parser_ParserState_mkNode(x_49, x_68, x_48);
-x_70 = lean_ctor_get(x_69, 3);
-lean_inc(x_70);
-if (lean_obj_tag(x_70) == 0)
-{
-lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75;
-x_71 = lean_ctor_get(x_69, 0);
-lean_inc(x_71);
-x_72 = lean_array_get_size(x_71);
-lean_dec(x_71);
-x_73 = lean_ctor_get(x_69, 1);
-lean_inc(x_73);
-lean_inc(x_1);
-x_74 = l_Lean_Parser_Command_inferMod___elambda__1(x_1, x_69);
-x_75 = lean_ctor_get(x_74, 3);
-lean_inc(x_75);
-if (lean_obj_tag(x_75) == 0)
-{
-lean_object* x_76;
-lean_dec(x_73);
-x_76 = l_Lean_Parser_ParserState_mkNode(x_74, x_68, x_72);
-x_14 = x_76;
-goto block_44;
-}
-else
-{
-lean_object* x_77; uint8_t x_78;
-lean_dec(x_75);
-x_77 = lean_ctor_get(x_74, 1);
-lean_inc(x_77);
-x_78 = lean_nat_dec_eq(x_77, x_73);
-lean_dec(x_77);
-if (x_78 == 0)
-{
-lean_object* x_79;
-lean_dec(x_73);
-x_79 = l_Lean_Parser_ParserState_mkNode(x_74, x_68, x_72);
-x_14 = x_79;
-goto block_44;
-}
-else
-{
-lean_object* x_80; lean_object* x_81;
-x_80 = l_Lean_Parser_ParserState_restore(x_74, x_72, x_73);
-x_81 = l_Lean_Parser_ParserState_mkNode(x_80, x_68, x_72);
-x_14 = x_81;
-goto block_44;
-}
-}
-}
-else
-{
-lean_object* x_82; lean_object* x_83;
-lean_dec(x_70);
-lean_dec(x_1);
-x_82 = l_Lean_Parser_Command_structInstBinder___elambda__1___closed__2;
-x_83 = l_Lean_Parser_ParserState_mkNode(x_69, x_82, x_13);
-return x_83;
-}
-}
-}
-else
-{
-lean_object* x_84; lean_object* x_85;
-lean_dec(x_46);
-lean_dec(x_1);
-x_84 = l_Lean_Parser_Command_structInstBinder___elambda__1___closed__2;
-x_85 = l_Lean_Parser_ParserState_mkNode(x_45, x_84, x_13);
-return x_85;
-}
-}
-block_93:
-{
-if (lean_obj_tag(x_90) == 0)
-{
-lean_dec(x_89);
-lean_dec(x_88);
+lean_object* x_27; lean_object* x_28;
lean_dec(x_12);
-x_45 = x_87;
-goto block_86;
-}
-else
-{
-lean_object* x_91; lean_object* x_92;
-lean_dec(x_87);
-x_91 = l_Array_shrink___main___rarg(x_88, x_13);
-x_92 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_92, 0, x_91);
-lean_ctor_set(x_92, 1, x_12);
-lean_ctor_set(x_92, 2, x_89);
-lean_ctor_set(x_92, 3, x_90);
-x_45 = x_92;
-goto block_86;
-}
-}
-}
-else
-{
-lean_dec(x_10);
-lean_dec(x_4);
lean_dec(x_1);
-return x_9;
+x_27 = l_Lean_Parser_Command_structInstBinder___elambda__1___closed__2;
+x_28 = l_Lean_Parser_ParserState_mkNode(x_11, x_27, x_10);
+return x_28;
+}
}
}
else
{
-lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129;
-x_125 = lean_ctor_get(x_2, 0);
-lean_inc(x_125);
-x_126 = lean_array_get_size(x_125);
-lean_dec(x_125);
-x_127 = lean_ctor_get(x_2, 1);
-lean_inc(x_127);
-lean_inc(x_1);
-x_128 = lean_apply_2(x_6, x_1, x_2);
-x_129 = lean_ctor_get(x_128, 3);
-lean_inc(x_129);
-if (lean_obj_tag(x_129) == 0)
-{
-lean_dec(x_127);
-lean_dec(x_126);
-lean_dec(x_4);
+lean_dec(x_8);
lean_dec(x_1);
-return x_128;
-}
-else
-{
-lean_object* x_130; lean_object* x_131; uint8_t x_132;
-x_130 = lean_ctor_get(x_129, 0);
-lean_inc(x_130);
-lean_dec(x_129);
-x_131 = lean_ctor_get(x_128, 1);
-lean_inc(x_131);
-x_132 = lean_nat_dec_eq(x_131, x_127);
-lean_dec(x_131);
-if (x_132 == 0)
-{
-lean_dec(x_130);
-lean_dec(x_127);
-lean_dec(x_126);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_128;
-}
-else
-{
-lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136;
-lean_inc(x_127);
-x_133 = l_Lean_Parser_ParserState_restore(x_128, x_126, x_127);
-lean_dec(x_126);
-x_134 = lean_unsigned_to_nat(1024u);
-x_135 = l_Lean_Parser_checkPrecFn(x_134, x_1, x_133);
-x_136 = lean_ctor_get(x_135, 3);
-lean_inc(x_136);
-if (lean_obj_tag(x_136) == 0)
-{
-lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_183; lean_object* x_231; lean_object* x_232; lean_object* x_233; lean_object* x_234; lean_object* x_238; lean_object* x_239;
-x_137 = lean_ctor_get(x_135, 0);
-lean_inc(x_137);
-x_138 = lean_ctor_get(x_135, 1);
-lean_inc(x_138);
-x_139 = lean_array_get_size(x_137);
-lean_dec(x_137);
-lean_inc(x_1);
-x_238 = lean_apply_2(x_4, x_1, x_135);
-x_239 = lean_ctor_get(x_238, 3);
-lean_inc(x_239);
-if (lean_obj_tag(x_239) == 0)
-{
-lean_object* x_240; lean_object* x_241; lean_object* x_242;
-x_240 = lean_ctor_get(x_238, 1);
-lean_inc(x_240);
-lean_inc(x_1);
-x_241 = l_Lean_Parser_tokenFn(x_1, x_238);
-x_242 = lean_ctor_get(x_241, 3);
-lean_inc(x_242);
-if (lean_obj_tag(x_242) == 0)
-{
-lean_object* x_243; lean_object* x_244;
-x_243 = lean_ctor_get(x_241, 0);
-lean_inc(x_243);
-x_244 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_243);
-lean_dec(x_243);
-if (lean_obj_tag(x_244) == 2)
-{
-lean_object* x_245; lean_object* x_246; uint8_t x_247;
-x_245 = lean_ctor_get(x_244, 1);
-lean_inc(x_245);
-lean_dec(x_244);
-x_246 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__5;
-x_247 = lean_string_dec_eq(x_245, x_246);
-lean_dec(x_245);
-if (x_247 == 0)
-{
-lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252;
-x_248 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-x_249 = l_Lean_Parser_ParserState_mkErrorsAt(x_241, x_248, x_240);
-x_250 = lean_ctor_get(x_249, 0);
-lean_inc(x_250);
-x_251 = lean_ctor_get(x_249, 2);
-lean_inc(x_251);
-x_252 = lean_ctor_get(x_249, 3);
-lean_inc(x_252);
-x_231 = x_249;
-x_232 = x_250;
-x_233 = x_251;
-x_234 = x_252;
-goto block_237;
-}
-else
-{
-lean_object* x_253; lean_object* x_254; lean_object* x_255;
-lean_dec(x_240);
-x_253 = lean_ctor_get(x_241, 0);
-lean_inc(x_253);
-x_254 = lean_ctor_get(x_241, 2);
-lean_inc(x_254);
-x_255 = lean_ctor_get(x_241, 3);
-lean_inc(x_255);
-x_231 = x_241;
-x_232 = x_253;
-x_233 = x_254;
-x_234 = x_255;
-goto block_237;
+return x_7;
}
}
else
{
-lean_object* x_256; lean_object* x_257; lean_object* x_258; lean_object* x_259; lean_object* x_260;
-lean_dec(x_244);
-x_256 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-x_257 = l_Lean_Parser_ParserState_mkErrorsAt(x_241, x_256, x_240);
-x_258 = lean_ctor_get(x_257, 0);
-lean_inc(x_258);
-x_259 = lean_ctor_get(x_257, 2);
-lean_inc(x_259);
-x_260 = lean_ctor_get(x_257, 3);
-lean_inc(x_260);
-x_231 = x_257;
-x_232 = x_258;
-x_233 = x_259;
-x_234 = x_260;
-goto block_237;
-}
-}
-else
-{
-lean_object* x_261; lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265;
-lean_dec(x_242);
-x_261 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-x_262 = l_Lean_Parser_ParserState_mkErrorsAt(x_241, x_261, x_240);
-x_263 = lean_ctor_get(x_262, 0);
-lean_inc(x_263);
-x_264 = lean_ctor_get(x_262, 2);
-lean_inc(x_264);
-x_265 = lean_ctor_get(x_262, 3);
-lean_inc(x_265);
-x_231 = x_262;
-x_232 = x_263;
-x_233 = x_264;
-x_234 = x_265;
-goto block_237;
-}
-}
-else
-{
-lean_object* x_266; lean_object* x_267; lean_object* x_268;
-lean_dec(x_239);
-x_266 = lean_ctor_get(x_238, 0);
-lean_inc(x_266);
-x_267 = lean_ctor_get(x_238, 2);
-lean_inc(x_267);
-x_268 = lean_ctor_get(x_238, 3);
-lean_inc(x_268);
-x_231 = x_238;
-x_232 = x_266;
-x_233 = x_267;
-x_234 = x_268;
-goto block_237;
-}
-block_182:
-{
-lean_object* x_141;
-x_141 = lean_ctor_get(x_140, 3);
-lean_inc(x_141);
-if (lean_obj_tag(x_141) == 0)
-{
-lean_object* x_142; lean_object* x_143;
-lean_inc(x_1);
-x_142 = l_Lean_Parser_Command_declSig___elambda__1(x_1, x_140);
-x_143 = lean_ctor_get(x_142, 3);
-lean_inc(x_143);
-if (lean_obj_tag(x_143) == 0)
-{
-lean_object* x_144; lean_object* x_145; lean_object* x_146;
-x_144 = lean_ctor_get(x_142, 1);
-lean_inc(x_144);
-x_145 = l_Lean_Parser_tokenFn(x_1, x_142);
-x_146 = lean_ctor_get(x_145, 3);
-lean_inc(x_146);
-if (lean_obj_tag(x_146) == 0)
-{
-lean_object* x_147; lean_object* x_148;
-x_147 = lean_ctor_get(x_145, 0);
-lean_inc(x_147);
-x_148 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_147);
-lean_dec(x_147);
-if (lean_obj_tag(x_148) == 2)
-{
-lean_object* x_149; lean_object* x_150; uint8_t x_151;
-x_149 = lean_ctor_get(x_148, 1);
-lean_inc(x_149);
-lean_dec(x_148);
-x_150 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__6;
-x_151 = lean_string_dec_eq(x_149, x_150);
-lean_dec(x_149);
-if (x_151 == 0)
-{
-lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; uint8_t x_156; lean_object* x_157;
-x_152 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_153 = l_Lean_Parser_ParserState_mkErrorsAt(x_145, x_152, x_144);
-x_154 = l_Lean_Parser_Command_structInstBinder___elambda__1___closed__2;
-x_155 = l_Lean_Parser_ParserState_mkNode(x_153, x_154, x_139);
-x_156 = 1;
-x_157 = l_Lean_Parser_mergeOrElseErrors(x_155, x_130, x_127, x_156);
-lean_dec(x_127);
-return x_157;
-}
-else
-{
-lean_object* x_158; lean_object* x_159; uint8_t x_160; lean_object* x_161;
-lean_dec(x_144);
-x_158 = l_Lean_Parser_Command_structInstBinder___elambda__1___closed__2;
-x_159 = l_Lean_Parser_ParserState_mkNode(x_145, x_158, x_139);
-x_160 = 1;
-x_161 = l_Lean_Parser_mergeOrElseErrors(x_159, x_130, x_127, x_160);
-lean_dec(x_127);
-return x_161;
-}
-}
-else
-{
-lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; uint8_t x_166; lean_object* x_167;
-lean_dec(x_148);
-x_162 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_163 = l_Lean_Parser_ParserState_mkErrorsAt(x_145, x_162, x_144);
-x_164 = l_Lean_Parser_Command_structInstBinder___elambda__1___closed__2;
-x_165 = l_Lean_Parser_ParserState_mkNode(x_163, x_164, x_139);
-x_166 = 1;
-x_167 = l_Lean_Parser_mergeOrElseErrors(x_165, x_130, x_127, x_166);
-lean_dec(x_127);
-return x_167;
-}
-}
-else
-{
-lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; uint8_t x_172; lean_object* x_173;
-lean_dec(x_146);
-x_168 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_169 = l_Lean_Parser_ParserState_mkErrorsAt(x_145, x_168, x_144);
-x_170 = l_Lean_Parser_Command_structInstBinder___elambda__1___closed__2;
-x_171 = l_Lean_Parser_ParserState_mkNode(x_169, x_170, x_139);
-x_172 = 1;
-x_173 = l_Lean_Parser_mergeOrElseErrors(x_171, x_130, x_127, x_172);
-lean_dec(x_127);
-return x_173;
-}
-}
-else
-{
-lean_object* x_174; lean_object* x_175; uint8_t x_176; lean_object* x_177;
-lean_dec(x_143);
-lean_dec(x_1);
-x_174 = l_Lean_Parser_Command_structInstBinder___elambda__1___closed__2;
-x_175 = l_Lean_Parser_ParserState_mkNode(x_142, x_174, x_139);
-x_176 = 1;
-x_177 = l_Lean_Parser_mergeOrElseErrors(x_175, x_130, x_127, x_176);
-lean_dec(x_127);
-return x_177;
-}
-}
-else
-{
-lean_object* x_178; lean_object* x_179; uint8_t x_180; lean_object* x_181;
-lean_dec(x_141);
-lean_dec(x_1);
-x_178 = l_Lean_Parser_Command_structInstBinder___elambda__1___closed__2;
-x_179 = l_Lean_Parser_ParserState_mkNode(x_140, x_178, x_139);
-x_180 = 1;
-x_181 = l_Lean_Parser_mergeOrElseErrors(x_179, x_130, x_127, x_180);
-lean_dec(x_127);
-return x_181;
-}
-}
-block_230:
-{
-lean_object* x_184;
-x_184 = lean_ctor_get(x_183, 3);
-lean_inc(x_184);
-if (lean_obj_tag(x_184) == 0)
-{
-lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188;
-x_185 = lean_ctor_get(x_183, 0);
-lean_inc(x_185);
-x_186 = lean_array_get_size(x_185);
-lean_dec(x_185);
-lean_inc(x_1);
-x_187 = l_Lean_Parser_ident___elambda__1(x_1, x_183);
-x_188 = lean_ctor_get(x_187, 3);
-lean_inc(x_188);
-if (lean_obj_tag(x_188) == 0)
-{
-lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192;
-lean_inc(x_1);
-x_189 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_structExplicitBinder___elambda__1___spec__1(x_1, x_187);
-x_190 = l_Lean_nullKind;
-x_191 = l_Lean_Parser_ParserState_mkNode(x_189, x_190, x_186);
-x_192 = lean_ctor_get(x_191, 3);
-lean_inc(x_192);
-if (lean_obj_tag(x_192) == 0)
-{
-lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197;
-x_193 = lean_ctor_get(x_191, 0);
-lean_inc(x_193);
-x_194 = lean_array_get_size(x_193);
-lean_dec(x_193);
-x_195 = lean_ctor_get(x_191, 1);
-lean_inc(x_195);
-lean_inc(x_1);
-x_196 = l_Lean_Parser_Command_inferMod___elambda__1(x_1, x_191);
-x_197 = lean_ctor_get(x_196, 3);
-lean_inc(x_197);
-if (lean_obj_tag(x_197) == 0)
-{
-lean_object* x_198;
-lean_dec(x_195);
-x_198 = l_Lean_Parser_ParserState_mkNode(x_196, x_190, x_194);
-x_140 = x_198;
-goto block_182;
-}
-else
-{
-lean_object* x_199; uint8_t x_200;
-lean_dec(x_197);
-x_199 = lean_ctor_get(x_196, 1);
-lean_inc(x_199);
-x_200 = lean_nat_dec_eq(x_199, x_195);
-lean_dec(x_199);
-if (x_200 == 0)
-{
-lean_object* x_201;
-lean_dec(x_195);
-x_201 = l_Lean_Parser_ParserState_mkNode(x_196, x_190, x_194);
-x_140 = x_201;
-goto block_182;
-}
-else
-{
-lean_object* x_202; lean_object* x_203;
-x_202 = l_Lean_Parser_ParserState_restore(x_196, x_194, x_195);
-x_203 = l_Lean_Parser_ParserState_mkNode(x_202, x_190, x_194);
-x_140 = x_203;
-goto block_182;
-}
-}
-}
-else
-{
-lean_object* x_204; lean_object* x_205; uint8_t x_206; lean_object* x_207;
-lean_dec(x_192);
-lean_dec(x_1);
-x_204 = l_Lean_Parser_Command_structInstBinder___elambda__1___closed__2;
-x_205 = l_Lean_Parser_ParserState_mkNode(x_191, x_204, x_139);
-x_206 = 1;
-x_207 = l_Lean_Parser_mergeOrElseErrors(x_205, x_130, x_127, x_206);
-lean_dec(x_127);
-return x_207;
-}
-}
-else
-{
-lean_object* x_208; lean_object* x_209; lean_object* x_210;
-lean_dec(x_188);
-x_208 = l_Lean_nullKind;
-x_209 = l_Lean_Parser_ParserState_mkNode(x_187, x_208, x_186);
-x_210 = lean_ctor_get(x_209, 3);
-lean_inc(x_210);
-if (lean_obj_tag(x_210) == 0)
-{
-lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214; lean_object* x_215;
-x_211 = lean_ctor_get(x_209, 0);
-lean_inc(x_211);
-x_212 = lean_array_get_size(x_211);
-lean_dec(x_211);
-x_213 = lean_ctor_get(x_209, 1);
-lean_inc(x_213);
-lean_inc(x_1);
-x_214 = l_Lean_Parser_Command_inferMod___elambda__1(x_1, x_209);
-x_215 = lean_ctor_get(x_214, 3);
-lean_inc(x_215);
-if (lean_obj_tag(x_215) == 0)
-{
-lean_object* x_216;
-lean_dec(x_213);
-x_216 = l_Lean_Parser_ParserState_mkNode(x_214, x_208, x_212);
-x_140 = x_216;
-goto block_182;
-}
-else
-{
-lean_object* x_217; uint8_t x_218;
-lean_dec(x_215);
-x_217 = lean_ctor_get(x_214, 1);
-lean_inc(x_217);
-x_218 = lean_nat_dec_eq(x_217, x_213);
-lean_dec(x_217);
-if (x_218 == 0)
-{
-lean_object* x_219;
-lean_dec(x_213);
-x_219 = l_Lean_Parser_ParserState_mkNode(x_214, x_208, x_212);
-x_140 = x_219;
-goto block_182;
-}
-else
-{
-lean_object* x_220; lean_object* x_221;
-x_220 = l_Lean_Parser_ParserState_restore(x_214, x_212, x_213);
-x_221 = l_Lean_Parser_ParserState_mkNode(x_220, x_208, x_212);
-x_140 = x_221;
-goto block_182;
-}
-}
-}
-else
-{
-lean_object* x_222; lean_object* x_223; uint8_t x_224; lean_object* x_225;
-lean_dec(x_210);
-lean_dec(x_1);
-x_222 = l_Lean_Parser_Command_structInstBinder___elambda__1___closed__2;
-x_223 = l_Lean_Parser_ParserState_mkNode(x_209, x_222, x_139);
-x_224 = 1;
-x_225 = l_Lean_Parser_mergeOrElseErrors(x_223, x_130, x_127, x_224);
-lean_dec(x_127);
-return x_225;
-}
-}
-}
-else
-{
-lean_object* x_226; lean_object* x_227; uint8_t x_228; lean_object* x_229;
-lean_dec(x_184);
-lean_dec(x_1);
-x_226 = l_Lean_Parser_Command_structInstBinder___elambda__1___closed__2;
-x_227 = l_Lean_Parser_ParserState_mkNode(x_183, x_226, x_139);
-x_228 = 1;
-x_229 = l_Lean_Parser_mergeOrElseErrors(x_227, x_130, x_127, x_228);
-lean_dec(x_127);
-return x_229;
-}
-}
-block_237:
-{
-if (lean_obj_tag(x_234) == 0)
-{
-lean_dec(x_233);
-lean_dec(x_232);
-lean_dec(x_138);
-x_183 = x_231;
-goto block_230;
-}
-else
-{
-lean_object* x_235; lean_object* x_236;
-lean_dec(x_231);
-x_235 = l_Array_shrink___main___rarg(x_232, x_139);
-x_236 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_236, 0, x_235);
-lean_ctor_set(x_236, 1, x_138);
-lean_ctor_set(x_236, 2, x_233);
-lean_ctor_set(x_236, 3, x_234);
-x_183 = x_236;
-goto block_230;
-}
-}
-}
-else
-{
-uint8_t x_269; lean_object* x_270;
-lean_dec(x_136);
-lean_dec(x_4);
-lean_dec(x_1);
-x_269 = 1;
-x_270 = l_Lean_Parser_mergeOrElseErrors(x_135, x_130, x_127, x_269);
-lean_dec(x_127);
-return x_270;
-}
-}
-}
+lean_object* x_45; uint8_t x_46; lean_object* x_47;
+x_45 = l_Lean_Parser_Command_structInstBinder___elambda__1___closed__12;
+x_46 = 1;
+x_47 = l_Lean_Parser_orelseFnCore(x_4, x_45, x_46, x_1, x_2);
+return x_47;
}
}
}
@@ -20243,7 +11639,7 @@ static lean_object* _init_l_Lean_Parser_Command_structInstBinder___closed__1() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
-x_1 = l_Lean_Parser_Command_ctor___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Command_ctor___elambda__1___closed__8;
x_2 = lean_ctor_get(x_1, 0);
lean_inc(x_2);
x_3 = l_Lean_Parser_Term_structInstArrayRef___closed__1;
@@ -20355,166 +11751,6 @@ x_1 = l_Lean_Parser_Command_structInstBinder___closed__10;
return x_1;
}
}
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_structFields___elambda__1___spec__1(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_17;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-x_17 = lean_ctor_get(x_2, 3);
-lean_inc(x_17);
-if (lean_obj_tag(x_17) == 0)
-{
-lean_object* x_18; lean_object* x_19;
-lean_inc(x_1);
-x_18 = l_Lean_Parser_Command_structExplicitBinder___elambda__1(x_1, x_2);
-x_19 = lean_ctor_get(x_18, 3);
-lean_inc(x_19);
-if (lean_obj_tag(x_19) == 0)
-{
-x_6 = x_18;
-goto block_16;
-}
-else
-{
-lean_object* x_20; lean_object* x_21; uint8_t x_22;
-x_20 = lean_ctor_get(x_19, 0);
-lean_inc(x_20);
-lean_dec(x_19);
-x_21 = lean_ctor_get(x_18, 1);
-lean_inc(x_21);
-x_22 = lean_nat_dec_eq(x_21, x_5);
-lean_dec(x_21);
-if (x_22 == 0)
-{
-lean_dec(x_20);
-x_6 = x_18;
-goto block_16;
-}
-else
-{
-lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
-lean_inc(x_5);
-x_23 = l_Lean_Parser_ParserState_restore(x_18, x_4, x_5);
-x_24 = lean_ctor_get(x_23, 0);
-lean_inc(x_24);
-x_25 = lean_array_get_size(x_24);
-lean_dec(x_24);
-lean_inc(x_1);
-x_26 = l_Lean_Parser_Command_structImplicitBinder___elambda__1(x_1, x_23);
-x_27 = lean_ctor_get(x_26, 3);
-lean_inc(x_27);
-if (lean_obj_tag(x_27) == 0)
-{
-uint8_t x_28; lean_object* x_29;
-lean_dec(x_25);
-x_28 = 1;
-x_29 = l_Lean_Parser_mergeOrElseErrors(x_26, x_20, x_5, x_28);
-x_6 = x_29;
-goto block_16;
-}
-else
-{
-lean_object* x_30; lean_object* x_31; uint8_t x_32;
-x_30 = lean_ctor_get(x_27, 0);
-lean_inc(x_30);
-lean_dec(x_27);
-x_31 = lean_ctor_get(x_26, 1);
-lean_inc(x_31);
-x_32 = lean_nat_dec_eq(x_31, x_5);
-lean_dec(x_31);
-if (x_32 == 0)
-{
-uint8_t x_33; lean_object* x_34;
-lean_dec(x_30);
-lean_dec(x_25);
-x_33 = 1;
-x_34 = l_Lean_Parser_mergeOrElseErrors(x_26, x_20, x_5, x_33);
-x_6 = x_34;
-goto block_16;
-}
-else
-{
-lean_object* x_35; lean_object* x_36; uint8_t x_37; lean_object* x_38; lean_object* x_39;
-lean_inc(x_5);
-x_35 = l_Lean_Parser_ParserState_restore(x_26, x_25, x_5);
-lean_dec(x_25);
-lean_inc(x_1);
-x_36 = l_Lean_Parser_Command_structInstBinder___elambda__1(x_1, x_35);
-x_37 = 1;
-x_38 = l_Lean_Parser_mergeOrElseErrors(x_36, x_30, x_5, x_37);
-x_39 = l_Lean_Parser_mergeOrElseErrors(x_38, x_20, x_5, x_37);
-x_6 = x_39;
-goto block_16;
-}
-}
-}
-}
-}
-else
-{
-lean_dec(x_17);
-x_6 = x_2;
-goto block_16;
-}
-block_16:
-{
-lean_object* x_7;
-x_7 = lean_ctor_get(x_6, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
-{
-lean_object* x_8; uint8_t x_9;
-lean_dec(x_4);
-x_8 = lean_ctor_get(x_6, 1);
-lean_inc(x_8);
-x_9 = lean_nat_dec_eq(x_5, x_8);
-lean_dec(x_8);
-lean_dec(x_5);
-if (x_9 == 0)
-{
-x_2 = x_6;
-goto _start;
-}
-else
-{
-lean_object* x_11; lean_object* x_12;
-lean_dec(x_1);
-x_11 = l_Lean_Parser_manyAux___main___closed__1;
-x_12 = l_Lean_Parser_ParserState_mkUnexpectedError(x_6, x_11);
-return x_12;
-}
-}
-else
-{
-lean_object* x_13; uint8_t x_14;
-lean_dec(x_7);
-lean_dec(x_1);
-x_13 = lean_ctor_get(x_6, 1);
-lean_inc(x_13);
-x_14 = lean_nat_dec_eq(x_5, x_13);
-lean_dec(x_13);
-if (x_14 == 0)
-{
-lean_dec(x_5);
-lean_dec(x_4);
-return x_6;
-}
-else
-{
-lean_object* x_15;
-x_15 = l_Lean_Parser_ParserState_restore(x_6, x_4, x_5);
-lean_dec(x_4);
-return x_15;
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Command_structFields___elambda__1___closed__1() {
_start:
{
@@ -20554,6 +11790,76 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Command_structFields___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_structImplicitBinder___closed__9;
+x_2 = l_Lean_Parser_Command_structInstBinder___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_structFields___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_structExplicitBinder___closed__11;
+x_2 = l_Lean_Parser_Command_structFields___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_structFields___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Parser_inhabited___closed__2;
+x_2 = l_Lean_Parser_Command_structFields___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_structFields___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_structFields___elambda__1___closed__7;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_manyFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_structFields___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_structFields___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_structFields___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_structFields___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_structFields___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Command_structFields___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -20574,18 +11880,19 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-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;
+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; lean_object* x_16;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_11 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_structFields___elambda__1___spec__1(x_1, x_7);
-x_12 = l_Lean_nullKind;
+x_11 = l_Lean_Parser_Command_structFields___elambda__1___closed__7;
+x_12 = l_Lean_Parser_manyAux(x_11, x_1, x_7);
+x_13 = l_Lean_nullKind;
lean_inc(x_10);
-x_13 = l_Lean_Parser_ParserState_mkNode(x_11, x_12, x_10);
-x_14 = l_Lean_Parser_Command_structFields___elambda__1___closed__2;
-x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
-return x_15;
+x_14 = l_Lean_Parser_ParserState_mkNode(x_12, x_13, x_10);
+x_15 = l_Lean_Parser_Command_structFields___elambda__1___closed__2;
+x_16 = l_Lean_Parser_ParserState_mkNode(x_14, x_15, x_10);
+return x_16;
}
else
{
@@ -20596,83 +11903,12 @@ return x_7;
}
else
{
-lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
-x_16 = lean_ctor_get(x_2, 0);
-lean_inc(x_16);
-x_17 = lean_array_get_size(x_16);
-lean_dec(x_16);
-x_18 = lean_ctor_get(x_2, 1);
-lean_inc(x_18);
-lean_inc(x_1);
-x_19 = lean_apply_2(x_4, x_1, x_2);
-x_20 = lean_ctor_get(x_19, 3);
-lean_inc(x_20);
-if (lean_obj_tag(x_20) == 0)
-{
-lean_dec(x_18);
-lean_dec(x_17);
-lean_dec(x_1);
+lean_object* x_17; uint8_t x_18; lean_object* x_19;
+x_17 = l_Lean_Parser_Command_structFields___elambda__1___closed__10;
+x_18 = 1;
+x_19 = l_Lean_Parser_orelseFnCore(x_4, x_17, x_18, x_1, x_2);
return x_19;
}
-else
-{
-lean_object* x_21; lean_object* x_22; uint8_t x_23;
-x_21 = lean_ctor_get(x_20, 0);
-lean_inc(x_21);
-lean_dec(x_20);
-x_22 = lean_ctor_get(x_19, 1);
-lean_inc(x_22);
-x_23 = lean_nat_dec_eq(x_22, x_18);
-lean_dec(x_22);
-if (x_23 == 0)
-{
-lean_dec(x_21);
-lean_dec(x_18);
-lean_dec(x_17);
-lean_dec(x_1);
-return x_19;
-}
-else
-{
-lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
-lean_inc(x_18);
-x_24 = l_Lean_Parser_ParserState_restore(x_19, x_17, x_18);
-lean_dec(x_17);
-x_25 = lean_unsigned_to_nat(1024u);
-x_26 = l_Lean_Parser_checkPrecFn(x_25, x_1, x_24);
-x_27 = lean_ctor_get(x_26, 3);
-lean_inc(x_27);
-if (lean_obj_tag(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; uint8_t x_35; lean_object* x_36;
-x_28 = lean_ctor_get(x_26, 0);
-lean_inc(x_28);
-x_29 = lean_array_get_size(x_28);
-lean_dec(x_28);
-x_30 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_structFields___elambda__1___spec__1(x_1, x_26);
-x_31 = l_Lean_nullKind;
-lean_inc(x_29);
-x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_29);
-x_33 = l_Lean_Parser_Command_structFields___elambda__1___closed__2;
-x_34 = l_Lean_Parser_ParserState_mkNode(x_32, x_33, x_29);
-x_35 = 1;
-x_36 = l_Lean_Parser_mergeOrElseErrors(x_34, x_21, x_18, x_35);
-lean_dec(x_18);
-return x_36;
-}
-else
-{
-uint8_t x_37; lean_object* x_38;
-lean_dec(x_27);
-lean_dec(x_1);
-x_37 = 1;
-x_38 = l_Lean_Parser_mergeOrElseErrors(x_26, x_21, x_18, x_37);
-lean_dec(x_18);
-return x_38;
-}
-}
-}
-}
}
}
static lean_object* _init_l_Lean_Parser_Command_structFields___closed__1() {
@@ -20831,20 +12067,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_structCtor___elambda__1___closed__6() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_structCtor___elambda__1___closed__5;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_structCtor___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_structCtor___elambda__1___closed__7() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Command_structCtor___elambda__1___closed__6;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Command_ctor___elambda__1___closed__9;
+x_2 = l_Lean_Parser_Command_structCtor___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -20852,616 +12090,107 @@ static lean_object* _init_l_Lean_Parser_Command_structCtor___elambda__1___closed
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_ident___closed__2;
x_2 = l_Lean_Parser_Command_structCtor___elambda__1___closed__7;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_structCtor___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
+x_1 = l_Lean_Parser_Command_ctor___elambda__1___closed__8;
+x_2 = lean_ctor_get(x_1, 1);
+lean_inc(x_2);
+x_3 = l_Lean_Parser_Command_structCtor___elambda__1___closed__8;
+x_4 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_4, 0, x_2);
+lean_closure_set(x_4, 1, x_3);
+return x_4;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_structCtor___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_structCtor___elambda__1___closed__9;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_tryFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_structCtor___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_structCtor___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_structCtor___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_structCtor___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_structCtor___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
lean_object* l_Lean_Parser_Command_structCtor___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; uint8_t x_7;
-x_3 = l_Lean_Parser_Command_ctor___elambda__1___closed__7;
+lean_object* x_3; lean_object* x_4; uint8_t x_5;
+x_3 = l_Lean_Parser_Command_structCtor___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-x_5 = l_Lean_Parser_Command_structCtor___elambda__1___closed__4;
-x_6 = lean_ctor_get(x_5, 1);
-lean_inc(x_6);
lean_inc(x_2);
lean_inc(x_1);
-x_7 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_7 == 0)
+x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
+if (x_5 == 0)
{
-lean_object* x_8; lean_object* x_9; lean_object* x_10;
-lean_dec(x_6);
-x_8 = lean_unsigned_to_nat(1024u);
-x_9 = l_Lean_Parser_checkPrecFn(x_8, x_1, x_2);
-x_10 = lean_ctor_get(x_9, 3);
-lean_inc(x_10);
-if (lean_obj_tag(x_10) == 0)
-{
-lean_object* 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_25; lean_object* x_57; lean_object* x_58;
-x_11 = lean_ctor_get(x_9, 0);
-lean_inc(x_11);
-x_12 = lean_ctor_get(x_9, 1);
-lean_inc(x_12);
-x_13 = lean_array_get_size(x_11);
-lean_dec(x_11);
-lean_inc(x_1);
-x_57 = lean_apply_2(x_4, x_1, x_9);
-x_58 = lean_ctor_get(x_57, 3);
-lean_inc(x_58);
-if (lean_obj_tag(x_58) == 0)
-{
-lean_object* x_59; lean_object* x_60;
-lean_inc(x_1);
-x_59 = l_Lean_Parser_ident___elambda__1(x_1, x_57);
-x_60 = lean_ctor_get(x_59, 3);
-lean_inc(x_60);
-if (lean_obj_tag(x_60) == 0)
-{
-lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65;
-x_61 = lean_ctor_get(x_59, 0);
-lean_inc(x_61);
-x_62 = lean_array_get_size(x_61);
-lean_dec(x_61);
-x_63 = lean_ctor_get(x_59, 1);
-lean_inc(x_63);
-lean_inc(x_1);
-x_64 = l_Lean_Parser_Command_inferMod___elambda__1(x_1, x_59);
-x_65 = lean_ctor_get(x_64, 3);
-lean_inc(x_65);
-if (lean_obj_tag(x_65) == 0)
-{
-lean_object* x_66; lean_object* x_67;
-lean_dec(x_63);
-x_66 = l_Lean_nullKind;
-x_67 = l_Lean_Parser_ParserState_mkNode(x_64, x_66, x_62);
-x_25 = x_67;
-goto block_56;
-}
-else
-{
-lean_object* x_68; uint8_t x_69;
-lean_dec(x_65);
-x_68 = lean_ctor_get(x_64, 1);
-lean_inc(x_68);
-x_69 = lean_nat_dec_eq(x_68, x_63);
-lean_dec(x_68);
-if (x_69 == 0)
-{
-lean_object* x_70; lean_object* x_71;
-lean_dec(x_63);
-x_70 = l_Lean_nullKind;
-x_71 = l_Lean_Parser_ParserState_mkNode(x_64, x_70, x_62);
-x_25 = x_71;
-goto block_56;
-}
-else
-{
-lean_object* x_72; lean_object* x_73; lean_object* x_74;
-x_72 = l_Lean_Parser_ParserState_restore(x_64, x_62, x_63);
-x_73 = l_Lean_nullKind;
-x_74 = l_Lean_Parser_ParserState_mkNode(x_72, x_73, x_62);
-x_25 = x_74;
-goto block_56;
-}
-}
-}
-else
-{
-lean_object* x_75; lean_object* x_76; lean_object* x_77;
-lean_dec(x_60);
-lean_dec(x_1);
-x_75 = lean_ctor_get(x_59, 0);
-lean_inc(x_75);
-x_76 = lean_ctor_get(x_59, 2);
-lean_inc(x_76);
-x_77 = lean_ctor_get(x_59, 3);
-lean_inc(x_77);
-x_14 = x_59;
-x_15 = x_75;
-x_16 = x_76;
-x_17 = x_77;
-goto block_24;
-}
-}
-else
-{
-lean_object* x_78; lean_object* x_79; lean_object* x_80;
-lean_dec(x_58);
-lean_dec(x_1);
-x_78 = lean_ctor_get(x_57, 0);
-lean_inc(x_78);
-x_79 = lean_ctor_get(x_57, 2);
-lean_inc(x_79);
-x_80 = lean_ctor_get(x_57, 3);
-lean_inc(x_80);
-x_14 = x_57;
-x_15 = x_78;
-x_16 = x_79;
-x_17 = x_80;
-goto block_24;
-}
-block_24:
-{
-if (lean_obj_tag(x_17) == 0)
-{
-lean_object* x_18; lean_object* x_19;
-lean_dec(x_16);
-lean_dec(x_15);
-lean_dec(x_12);
-x_18 = l_Lean_Parser_Command_structCtor___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_14, x_18, x_13);
-return x_19;
-}
-else
-{
-lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23;
-lean_dec(x_14);
-x_20 = l_Array_shrink___main___rarg(x_15, x_13);
-x_21 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_21, 0, x_20);
-lean_ctor_set(x_21, 1, x_12);
-lean_ctor_set(x_21, 2, x_16);
-lean_ctor_set(x_21, 3, x_17);
-x_22 = l_Lean_Parser_Command_structCtor___elambda__1___closed__2;
-x_23 = l_Lean_Parser_ParserState_mkNode(x_21, x_22, x_13);
-return x_23;
-}
-}
-block_56:
-{
-lean_object* x_26;
-x_26 = lean_ctor_get(x_25, 3);
-lean_inc(x_26);
-if (lean_obj_tag(x_26) == 0)
-{
-lean_object* x_27; lean_object* x_28; lean_object* x_29;
-x_27 = lean_ctor_get(x_25, 1);
-lean_inc(x_27);
-x_28 = l_Lean_Parser_tokenFn(x_1, x_25);
-x_29 = lean_ctor_get(x_28, 3);
-lean_inc(x_29);
-if (lean_obj_tag(x_29) == 0)
-{
-lean_object* x_30; lean_object* x_31;
-x_30 = lean_ctor_get(x_28, 0);
-lean_inc(x_30);
-x_31 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_30);
-lean_dec(x_30);
-if (lean_obj_tag(x_31) == 2)
-{
-lean_object* x_32; lean_object* x_33; uint8_t x_34;
-x_32 = lean_ctor_get(x_31, 1);
-lean_inc(x_32);
-lean_dec(x_31);
-x_33 = l_Lean_Parser_Command_structCtor___elambda__1___closed__5;
-x_34 = lean_string_dec_eq(x_32, x_33);
-lean_dec(x_32);
-if (x_34 == 0)
-{
-lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_35 = l_Lean_Parser_Command_structCtor___elambda__1___closed__8;
-x_36 = l_Lean_Parser_ParserState_mkErrorsAt(x_28, x_35, x_27);
-x_37 = lean_ctor_get(x_36, 0);
-lean_inc(x_37);
-x_38 = lean_ctor_get(x_36, 2);
-lean_inc(x_38);
-x_39 = lean_ctor_get(x_36, 3);
-lean_inc(x_39);
-x_14 = x_36;
-x_15 = x_37;
-x_16 = x_38;
-x_17 = x_39;
-goto block_24;
-}
-else
-{
-lean_object* x_40; lean_object* x_41; lean_object* x_42;
-lean_dec(x_27);
-x_40 = lean_ctor_get(x_28, 0);
-lean_inc(x_40);
-x_41 = lean_ctor_get(x_28, 2);
-lean_inc(x_41);
-x_42 = lean_ctor_get(x_28, 3);
-lean_inc(x_42);
-x_14 = x_28;
-x_15 = x_40;
-x_16 = x_41;
-x_17 = x_42;
-goto block_24;
-}
-}
-else
-{
-lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47;
-lean_dec(x_31);
-x_43 = l_Lean_Parser_Command_structCtor___elambda__1___closed__8;
-x_44 = l_Lean_Parser_ParserState_mkErrorsAt(x_28, x_43, x_27);
-x_45 = lean_ctor_get(x_44, 0);
-lean_inc(x_45);
-x_46 = lean_ctor_get(x_44, 2);
-lean_inc(x_46);
-x_47 = lean_ctor_get(x_44, 3);
-lean_inc(x_47);
-x_14 = x_44;
-x_15 = x_45;
-x_16 = x_46;
-x_17 = x_47;
-goto block_24;
-}
-}
-else
-{
-lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52;
-lean_dec(x_29);
-x_48 = l_Lean_Parser_Command_structCtor___elambda__1___closed__8;
-x_49 = l_Lean_Parser_ParserState_mkErrorsAt(x_28, x_48, x_27);
-x_50 = lean_ctor_get(x_49, 0);
-lean_inc(x_50);
-x_51 = lean_ctor_get(x_49, 2);
-lean_inc(x_51);
-x_52 = lean_ctor_get(x_49, 3);
-lean_inc(x_52);
-x_14 = x_49;
-x_15 = x_50;
-x_16 = x_51;
-x_17 = x_52;
-goto block_24;
-}
-}
-else
-{
-lean_object* x_53; lean_object* x_54; lean_object* x_55;
-lean_dec(x_26);
-lean_dec(x_1);
-x_53 = lean_ctor_get(x_25, 0);
-lean_inc(x_53);
-x_54 = lean_ctor_get(x_25, 2);
-lean_inc(x_54);
-x_55 = lean_ctor_get(x_25, 3);
-lean_inc(x_55);
-x_14 = x_25;
-x_15 = x_53;
-x_16 = x_54;
-x_17 = x_55;
-goto block_24;
-}
-}
-}
-else
-{
-lean_dec(x_10);
+lean_object* x_6; lean_object* x_7; lean_object* x_8;
lean_dec(x_4);
+x_6 = lean_unsigned_to_nat(1024u);
+x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
+x_8 = lean_ctor_get(x_7, 3);
+lean_inc(x_8);
+if (lean_obj_tag(x_8) == 0)
+{
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
+x_9 = lean_ctor_get(x_7, 0);
+lean_inc(x_9);
+x_10 = lean_array_get_size(x_9);
+lean_dec(x_9);
+x_11 = l_Lean_Parser_Command_structCtor___elambda__1___closed__9;
+x_12 = l_Lean_Parser_tryFn(x_11, x_1, x_7);
+x_13 = l_Lean_Parser_Command_structCtor___elambda__1___closed__2;
+x_14 = l_Lean_Parser_ParserState_mkNode(x_12, x_13, x_10);
+return x_14;
+}
+else
+{
+lean_dec(x_8);
lean_dec(x_1);
-return x_9;
+return x_7;
}
}
else
{
-lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85;
-x_81 = lean_ctor_get(x_2, 0);
-lean_inc(x_81);
-x_82 = lean_array_get_size(x_81);
-lean_dec(x_81);
-x_83 = lean_ctor_get(x_2, 1);
-lean_inc(x_83);
-lean_inc(x_1);
-x_84 = lean_apply_2(x_6, x_1, x_2);
-x_85 = lean_ctor_get(x_84, 3);
-lean_inc(x_85);
-if (lean_obj_tag(x_85) == 0)
-{
-lean_dec(x_83);
-lean_dec(x_82);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_84;
-}
-else
-{
-lean_object* x_86; lean_object* x_87; uint8_t x_88;
-x_86 = lean_ctor_get(x_85, 0);
-lean_inc(x_86);
-lean_dec(x_85);
-x_87 = lean_ctor_get(x_84, 1);
-lean_inc(x_87);
-x_88 = lean_nat_dec_eq(x_87, x_83);
-lean_dec(x_87);
-if (x_88 == 0)
-{
-lean_dec(x_86);
-lean_dec(x_83);
-lean_dec(x_82);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_84;
-}
-else
-{
-lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92;
-lean_inc(x_83);
-x_89 = l_Lean_Parser_ParserState_restore(x_84, x_82, x_83);
-lean_dec(x_82);
-x_90 = lean_unsigned_to_nat(1024u);
-x_91 = l_Lean_Parser_checkPrecFn(x_90, x_1, x_89);
-x_92 = lean_ctor_get(x_91, 3);
-lean_inc(x_92);
-if (lean_obj_tag(x_92) == 0)
-{
-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_111; lean_object* x_143; lean_object* x_144;
-x_93 = lean_ctor_get(x_91, 0);
-lean_inc(x_93);
-x_94 = lean_ctor_get(x_91, 1);
-lean_inc(x_94);
-x_95 = lean_array_get_size(x_93);
-lean_dec(x_93);
-lean_inc(x_1);
-x_143 = lean_apply_2(x_4, x_1, x_91);
-x_144 = lean_ctor_get(x_143, 3);
-lean_inc(x_144);
-if (lean_obj_tag(x_144) == 0)
-{
-lean_object* x_145; lean_object* x_146;
-lean_inc(x_1);
-x_145 = l_Lean_Parser_ident___elambda__1(x_1, x_143);
-x_146 = lean_ctor_get(x_145, 3);
-lean_inc(x_146);
-if (lean_obj_tag(x_146) == 0)
-{
-lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151;
-x_147 = lean_ctor_get(x_145, 0);
-lean_inc(x_147);
-x_148 = lean_array_get_size(x_147);
-lean_dec(x_147);
-x_149 = lean_ctor_get(x_145, 1);
-lean_inc(x_149);
-lean_inc(x_1);
-x_150 = l_Lean_Parser_Command_inferMod___elambda__1(x_1, x_145);
-x_151 = lean_ctor_get(x_150, 3);
-lean_inc(x_151);
-if (lean_obj_tag(x_151) == 0)
-{
-lean_object* x_152; lean_object* x_153;
-lean_dec(x_149);
-x_152 = l_Lean_nullKind;
-x_153 = l_Lean_Parser_ParserState_mkNode(x_150, x_152, x_148);
-x_111 = x_153;
-goto block_142;
-}
-else
-{
-lean_object* x_154; uint8_t x_155;
-lean_dec(x_151);
-x_154 = lean_ctor_get(x_150, 1);
-lean_inc(x_154);
-x_155 = lean_nat_dec_eq(x_154, x_149);
-lean_dec(x_154);
-if (x_155 == 0)
-{
-lean_object* x_156; lean_object* x_157;
-lean_dec(x_149);
-x_156 = l_Lean_nullKind;
-x_157 = l_Lean_Parser_ParserState_mkNode(x_150, x_156, x_148);
-x_111 = x_157;
-goto block_142;
-}
-else
-{
-lean_object* x_158; lean_object* x_159; lean_object* x_160;
-x_158 = l_Lean_Parser_ParserState_restore(x_150, x_148, x_149);
-x_159 = l_Lean_nullKind;
-x_160 = l_Lean_Parser_ParserState_mkNode(x_158, x_159, x_148);
-x_111 = x_160;
-goto block_142;
-}
-}
-}
-else
-{
-lean_object* x_161; lean_object* x_162; lean_object* x_163;
-lean_dec(x_146);
-lean_dec(x_1);
-x_161 = lean_ctor_get(x_145, 0);
-lean_inc(x_161);
-x_162 = lean_ctor_get(x_145, 2);
-lean_inc(x_162);
-x_163 = lean_ctor_get(x_145, 3);
-lean_inc(x_163);
-x_96 = x_145;
-x_97 = x_161;
-x_98 = x_162;
-x_99 = x_163;
-goto block_110;
-}
-}
-else
-{
-lean_object* x_164; lean_object* x_165; lean_object* x_166;
-lean_dec(x_144);
-lean_dec(x_1);
-x_164 = lean_ctor_get(x_143, 0);
-lean_inc(x_164);
-x_165 = lean_ctor_get(x_143, 2);
-lean_inc(x_165);
-x_166 = lean_ctor_get(x_143, 3);
-lean_inc(x_166);
-x_96 = x_143;
-x_97 = x_164;
-x_98 = x_165;
-x_99 = x_166;
-goto block_110;
-}
-block_110:
-{
-if (lean_obj_tag(x_99) == 0)
-{
-lean_object* x_100; lean_object* x_101; uint8_t x_102; lean_object* x_103;
-lean_dec(x_98);
-lean_dec(x_97);
-lean_dec(x_94);
-x_100 = l_Lean_Parser_Command_structCtor___elambda__1___closed__2;
-x_101 = l_Lean_Parser_ParserState_mkNode(x_96, x_100, x_95);
-x_102 = 1;
-x_103 = l_Lean_Parser_mergeOrElseErrors(x_101, x_86, x_83, x_102);
-lean_dec(x_83);
-return x_103;
-}
-else
-{
-lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; uint8_t x_108; lean_object* x_109;
-lean_dec(x_96);
-x_104 = l_Array_shrink___main___rarg(x_97, x_95);
-x_105 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_105, 0, x_104);
-lean_ctor_set(x_105, 1, x_94);
-lean_ctor_set(x_105, 2, x_98);
-lean_ctor_set(x_105, 3, x_99);
-x_106 = l_Lean_Parser_Command_structCtor___elambda__1___closed__2;
-x_107 = l_Lean_Parser_ParserState_mkNode(x_105, x_106, x_95);
-x_108 = 1;
-x_109 = l_Lean_Parser_mergeOrElseErrors(x_107, x_86, x_83, x_108);
-lean_dec(x_83);
-return x_109;
-}
-}
-block_142:
-{
-lean_object* x_112;
-x_112 = lean_ctor_get(x_111, 3);
-lean_inc(x_112);
-if (lean_obj_tag(x_112) == 0)
-{
-lean_object* x_113; lean_object* x_114; lean_object* x_115;
-x_113 = lean_ctor_get(x_111, 1);
-lean_inc(x_113);
-x_114 = l_Lean_Parser_tokenFn(x_1, x_111);
-x_115 = lean_ctor_get(x_114, 3);
-lean_inc(x_115);
-if (lean_obj_tag(x_115) == 0)
-{
-lean_object* x_116; lean_object* x_117;
-x_116 = lean_ctor_get(x_114, 0);
-lean_inc(x_116);
-x_117 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_116);
-lean_dec(x_116);
-if (lean_obj_tag(x_117) == 2)
-{
-lean_object* x_118; lean_object* x_119; uint8_t x_120;
-x_118 = lean_ctor_get(x_117, 1);
-lean_inc(x_118);
-lean_dec(x_117);
-x_119 = l_Lean_Parser_Command_structCtor___elambda__1___closed__5;
-x_120 = lean_string_dec_eq(x_118, x_119);
-lean_dec(x_118);
-if (x_120 == 0)
-{
-lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125;
-x_121 = l_Lean_Parser_Command_structCtor___elambda__1___closed__8;
-x_122 = l_Lean_Parser_ParserState_mkErrorsAt(x_114, x_121, x_113);
-x_123 = lean_ctor_get(x_122, 0);
-lean_inc(x_123);
-x_124 = lean_ctor_get(x_122, 2);
-lean_inc(x_124);
-x_125 = lean_ctor_get(x_122, 3);
-lean_inc(x_125);
-x_96 = x_122;
-x_97 = x_123;
-x_98 = x_124;
-x_99 = x_125;
-goto block_110;
-}
-else
-{
-lean_object* x_126; lean_object* x_127; lean_object* x_128;
-lean_dec(x_113);
-x_126 = lean_ctor_get(x_114, 0);
-lean_inc(x_126);
-x_127 = lean_ctor_get(x_114, 2);
-lean_inc(x_127);
-x_128 = lean_ctor_get(x_114, 3);
-lean_inc(x_128);
-x_96 = x_114;
-x_97 = x_126;
-x_98 = x_127;
-x_99 = x_128;
-goto block_110;
-}
-}
-else
-{
-lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133;
-lean_dec(x_117);
-x_129 = l_Lean_Parser_Command_structCtor___elambda__1___closed__8;
-x_130 = l_Lean_Parser_ParserState_mkErrorsAt(x_114, x_129, x_113);
-x_131 = lean_ctor_get(x_130, 0);
-lean_inc(x_131);
-x_132 = lean_ctor_get(x_130, 2);
-lean_inc(x_132);
-x_133 = lean_ctor_get(x_130, 3);
-lean_inc(x_133);
-x_96 = x_130;
-x_97 = x_131;
-x_98 = x_132;
-x_99 = x_133;
-goto block_110;
-}
-}
-else
-{
-lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138;
-lean_dec(x_115);
-x_134 = l_Lean_Parser_Command_structCtor___elambda__1___closed__8;
-x_135 = l_Lean_Parser_ParserState_mkErrorsAt(x_114, x_134, x_113);
-x_136 = lean_ctor_get(x_135, 0);
-lean_inc(x_136);
-x_137 = lean_ctor_get(x_135, 2);
-lean_inc(x_137);
-x_138 = lean_ctor_get(x_135, 3);
-lean_inc(x_138);
-x_96 = x_135;
-x_97 = x_136;
-x_98 = x_137;
-x_99 = x_138;
-goto block_110;
-}
-}
-else
-{
-lean_object* x_139; lean_object* x_140; lean_object* x_141;
-lean_dec(x_112);
-lean_dec(x_1);
-x_139 = lean_ctor_get(x_111, 0);
-lean_inc(x_139);
-x_140 = lean_ctor_get(x_111, 2);
-lean_inc(x_140);
-x_141 = lean_ctor_get(x_111, 3);
-lean_inc(x_141);
-x_96 = x_111;
-x_97 = x_139;
-x_98 = x_140;
-x_99 = x_141;
-goto block_110;
-}
-}
-}
-else
-{
-uint8_t x_167; lean_object* x_168;
-lean_dec(x_92);
-lean_dec(x_4);
-lean_dec(x_1);
-x_167 = 1;
-x_168 = l_Lean_Parser_mergeOrElseErrors(x_91, x_86, x_83, x_167);
-lean_dec(x_83);
-return x_168;
-}
-}
-}
+lean_object* x_15; uint8_t x_16; lean_object* x_17;
+x_15 = l_Lean_Parser_Command_structCtor___elambda__1___closed__12;
+x_16 = 1;
+x_17 = l_Lean_Parser_orelseFnCore(x_4, x_15, x_16, x_1, x_2);
+return x_17;
}
}
}
@@ -21500,7 +12229,7 @@ static lean_object* _init_l_Lean_Parser_Command_structCtor___closed__4() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
-x_1 = l_Lean_Parser_Command_ctor___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Command_ctor___elambda__1___closed__8;
x_2 = lean_ctor_get(x_1, 0);
lean_inc(x_2);
x_3 = l_Lean_Parser_Command_structCtor___closed__3;
@@ -21627,20 +12356,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_structureTk___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_structureTk___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_structureTk___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_structureTk___elambda__1___closed__8() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Command_structureTk___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Command_structureTk___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_structureTk___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -21648,11 +12379,31 @@ static lean_object* _init_l_Lean_Parser_Command_structureTk___elambda__1___close
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
x_2 = l_Lean_Parser_Command_structureTk___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_structureTk___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Command_structureTk___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_structureTk___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_structureTk___elambda__1___closed__10;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -21676,71 +12427,17 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
+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;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_11 = lean_ctor_get(x_7, 1);
-lean_inc(x_11);
-x_12 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_13 = lean_ctor_get(x_12, 3);
-lean_inc(x_13);
-if (lean_obj_tag(x_13) == 0)
-{
-lean_object* x_14; lean_object* x_15;
-x_14 = lean_ctor_get(x_12, 0);
-lean_inc(x_14);
-x_15 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_14);
-lean_dec(x_14);
-if (lean_obj_tag(x_15) == 2)
-{
-lean_object* x_16; lean_object* x_17; uint8_t x_18;
-x_16 = lean_ctor_get(x_15, 1);
-lean_inc(x_16);
-lean_dec(x_15);
-x_17 = l_Lean_Parser_Command_structureTk___elambda__1___closed__6;
-x_18 = lean_string_dec_eq(x_16, x_17);
-lean_dec(x_16);
-if (x_18 == 0)
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
-x_19 = l_Lean_Parser_Command_structureTk___elambda__1___closed__9;
-x_20 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_19, x_11);
-x_21 = l_Lean_Parser_Command_structureTk___elambda__1___closed__2;
-x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_10);
-return x_22;
-}
-else
-{
-lean_object* x_23; lean_object* x_24;
-lean_dec(x_11);
-x_23 = l_Lean_Parser_Command_structureTk___elambda__1___closed__2;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_12, x_23, x_10);
-return x_24;
-}
-}
-else
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
-lean_dec(x_15);
-x_25 = l_Lean_Parser_Command_structureTk___elambda__1___closed__9;
-x_26 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_25, x_11);
-x_27 = l_Lean_Parser_Command_structureTk___elambda__1___closed__2;
-x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_10);
-return x_28;
-}
-}
-else
-{
-lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
-lean_dec(x_13);
-x_29 = l_Lean_Parser_Command_structureTk___elambda__1___closed__9;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_29, x_11);
-x_31 = l_Lean_Parser_Command_structureTk___elambda__1___closed__2;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_10);
-return x_32;
-}
+x_11 = l_Lean_Parser_Command_structureTk___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Command_structureTk___elambda__1___closed__11;
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = l_Lean_Parser_Command_structureTk___elambda__1___closed__2;
+x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
+return x_15;
}
else
{
@@ -21751,144 +12448,11 @@ return x_7;
}
else
{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_33 = lean_ctor_get(x_2, 0);
-lean_inc(x_33);
-x_34 = lean_array_get_size(x_33);
-lean_dec(x_33);
-x_35 = lean_ctor_get(x_2, 1);
-lean_inc(x_35);
-lean_inc(x_1);
-x_36 = lean_apply_2(x_4, x_1, x_2);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_36, 1);
-lean_inc(x_39);
-x_40 = lean_nat_dec_eq(x_39, x_35);
-lean_dec(x_39);
-if (x_40 == 0)
-{
-lean_dec(x_38);
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
-lean_inc(x_35);
-x_41 = l_Lean_Parser_ParserState_restore(x_36, x_34, x_35);
-lean_dec(x_34);
-x_42 = lean_unsigned_to_nat(1024u);
-x_43 = l_Lean_Parser_checkPrecFn(x_42, x_1, x_41);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-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_43, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-x_47 = lean_ctor_get(x_43, 1);
-lean_inc(x_47);
-x_48 = l_Lean_Parser_tokenFn(x_1, x_43);
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
-{
-lean_object* x_50; lean_object* x_51;
-x_50 = lean_ctor_get(x_48, 0);
-lean_inc(x_50);
-x_51 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_50);
-lean_dec(x_50);
-if (lean_obj_tag(x_51) == 2)
-{
-lean_object* x_52; lean_object* x_53; uint8_t x_54;
-x_52 = lean_ctor_get(x_51, 1);
-lean_inc(x_52);
-lean_dec(x_51);
-x_53 = l_Lean_Parser_Command_structureTk___elambda__1___closed__6;
-x_54 = lean_string_dec_eq(x_52, x_53);
-lean_dec(x_52);
-if (x_54 == 0)
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; uint8_t x_59; lean_object* x_60;
-x_55 = l_Lean_Parser_Command_structureTk___elambda__1___closed__9;
-x_56 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_55, x_47);
-x_57 = l_Lean_Parser_Command_structureTk___elambda__1___closed__2;
-x_58 = l_Lean_Parser_ParserState_mkNode(x_56, x_57, x_46);
-x_59 = 1;
-x_60 = l_Lean_Parser_mergeOrElseErrors(x_58, x_38, x_35, x_59);
-lean_dec(x_35);
-return x_60;
-}
-else
-{
-lean_object* x_61; lean_object* x_62; uint8_t x_63; lean_object* x_64;
-lean_dec(x_47);
-x_61 = l_Lean_Parser_Command_structureTk___elambda__1___closed__2;
-x_62 = l_Lean_Parser_ParserState_mkNode(x_48, x_61, x_46);
-x_63 = 1;
-x_64 = l_Lean_Parser_mergeOrElseErrors(x_62, x_38, x_35, x_63);
-lean_dec(x_35);
-return x_64;
-}
-}
-else
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; uint8_t x_69; lean_object* x_70;
-lean_dec(x_51);
-x_65 = l_Lean_Parser_Command_structureTk___elambda__1___closed__9;
-x_66 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_65, x_47);
-x_67 = l_Lean_Parser_Command_structureTk___elambda__1___closed__2;
-x_68 = l_Lean_Parser_ParserState_mkNode(x_66, x_67, x_46);
-x_69 = 1;
-x_70 = l_Lean_Parser_mergeOrElseErrors(x_68, x_38, x_35, x_69);
-lean_dec(x_35);
-return x_70;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; uint8_t x_75; lean_object* x_76;
-lean_dec(x_49);
-x_71 = l_Lean_Parser_Command_structureTk___elambda__1___closed__9;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_71, x_47);
-x_73 = l_Lean_Parser_Command_structureTk___elambda__1___closed__2;
-x_74 = l_Lean_Parser_ParserState_mkNode(x_72, x_73, x_46);
-x_75 = 1;
-x_76 = l_Lean_Parser_mergeOrElseErrors(x_74, x_38, x_35, x_75);
-lean_dec(x_35);
-return x_76;
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_44);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_43, x_38, x_35, x_77);
-lean_dec(x_35);
-return x_78;
-}
-}
-}
+lean_object* x_16; uint8_t x_17; lean_object* x_18;
+x_16 = l_Lean_Parser_Command_structureTk___elambda__1___closed__9;
+x_17 = 1;
+x_18 = l_Lean_Parser_orelseFnCore(x_4, x_16, x_17, x_1, x_2);
+return x_18;
}
}
}
@@ -22000,6 +12564,50 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Command_classTk___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_classTk___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_classInductive___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_classTk___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_classTk___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_classTk___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Command_classInductive___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_classTk___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_classTk___elambda__1___closed__7;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Command_classTk___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -22020,71 +12628,17 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
+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;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_11 = lean_ctor_get(x_7, 1);
-lean_inc(x_11);
-x_12 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_13 = lean_ctor_get(x_12, 3);
-lean_inc(x_13);
-if (lean_obj_tag(x_13) == 0)
-{
-lean_object* x_14; lean_object* x_15;
-x_14 = lean_ctor_get(x_12, 0);
-lean_inc(x_14);
-x_15 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_14);
-lean_dec(x_14);
-if (lean_obj_tag(x_15) == 2)
-{
-lean_object* x_16; lean_object* x_17; uint8_t x_18;
-x_16 = lean_ctor_get(x_15, 1);
-lean_inc(x_16);
-lean_dec(x_15);
-x_17 = l_Lean_Parser_Command_classInductive___elambda__1___closed__6;
-x_18 = lean_string_dec_eq(x_16, x_17);
-lean_dec(x_16);
-if (x_18 == 0)
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
-x_19 = l_Lean_Parser_Command_classInductive___elambda__1___closed__9;
-x_20 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_19, x_11);
-x_21 = l_Lean_Parser_Command_classTk___elambda__1___closed__2;
-x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_10);
-return x_22;
-}
-else
-{
-lean_object* x_23; lean_object* x_24;
-lean_dec(x_11);
-x_23 = l_Lean_Parser_Command_classTk___elambda__1___closed__2;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_12, x_23, x_10);
-return x_24;
-}
-}
-else
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
-lean_dec(x_15);
-x_25 = l_Lean_Parser_Command_classInductive___elambda__1___closed__9;
-x_26 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_25, x_11);
-x_27 = l_Lean_Parser_Command_classTk___elambda__1___closed__2;
-x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_10);
-return x_28;
-}
-}
-else
-{
-lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
-lean_dec(x_13);
-x_29 = l_Lean_Parser_Command_classInductive___elambda__1___closed__9;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_29, x_11);
-x_31 = l_Lean_Parser_Command_classTk___elambda__1___closed__2;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_10);
-return x_32;
-}
+x_11 = l_Lean_Parser_Command_classInductive___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Command_classTk___elambda__1___closed__8;
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = l_Lean_Parser_Command_classTk___elambda__1___closed__2;
+x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
+return x_15;
}
else
{
@@ -22095,144 +12649,11 @@ return x_7;
}
else
{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_33 = lean_ctor_get(x_2, 0);
-lean_inc(x_33);
-x_34 = lean_array_get_size(x_33);
-lean_dec(x_33);
-x_35 = lean_ctor_get(x_2, 1);
-lean_inc(x_35);
-lean_inc(x_1);
-x_36 = lean_apply_2(x_4, x_1, x_2);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_36, 1);
-lean_inc(x_39);
-x_40 = lean_nat_dec_eq(x_39, x_35);
-lean_dec(x_39);
-if (x_40 == 0)
-{
-lean_dec(x_38);
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
-lean_inc(x_35);
-x_41 = l_Lean_Parser_ParserState_restore(x_36, x_34, x_35);
-lean_dec(x_34);
-x_42 = lean_unsigned_to_nat(1024u);
-x_43 = l_Lean_Parser_checkPrecFn(x_42, x_1, x_41);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-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_43, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-x_47 = lean_ctor_get(x_43, 1);
-lean_inc(x_47);
-x_48 = l_Lean_Parser_tokenFn(x_1, x_43);
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
-{
-lean_object* x_50; lean_object* x_51;
-x_50 = lean_ctor_get(x_48, 0);
-lean_inc(x_50);
-x_51 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_50);
-lean_dec(x_50);
-if (lean_obj_tag(x_51) == 2)
-{
-lean_object* x_52; lean_object* x_53; uint8_t x_54;
-x_52 = lean_ctor_get(x_51, 1);
-lean_inc(x_52);
-lean_dec(x_51);
-x_53 = l_Lean_Parser_Command_classInductive___elambda__1___closed__6;
-x_54 = lean_string_dec_eq(x_52, x_53);
-lean_dec(x_52);
-if (x_54 == 0)
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; uint8_t x_59; lean_object* x_60;
-x_55 = l_Lean_Parser_Command_classInductive___elambda__1___closed__9;
-x_56 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_55, x_47);
-x_57 = l_Lean_Parser_Command_classTk___elambda__1___closed__2;
-x_58 = l_Lean_Parser_ParserState_mkNode(x_56, x_57, x_46);
-x_59 = 1;
-x_60 = l_Lean_Parser_mergeOrElseErrors(x_58, x_38, x_35, x_59);
-lean_dec(x_35);
-return x_60;
-}
-else
-{
-lean_object* x_61; lean_object* x_62; uint8_t x_63; lean_object* x_64;
-lean_dec(x_47);
-x_61 = l_Lean_Parser_Command_classTk___elambda__1___closed__2;
-x_62 = l_Lean_Parser_ParserState_mkNode(x_48, x_61, x_46);
-x_63 = 1;
-x_64 = l_Lean_Parser_mergeOrElseErrors(x_62, x_38, x_35, x_63);
-lean_dec(x_35);
-return x_64;
-}
-}
-else
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; uint8_t x_69; lean_object* x_70;
-lean_dec(x_51);
-x_65 = l_Lean_Parser_Command_classInductive___elambda__1___closed__9;
-x_66 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_65, x_47);
-x_67 = l_Lean_Parser_Command_classTk___elambda__1___closed__2;
-x_68 = l_Lean_Parser_ParserState_mkNode(x_66, x_67, x_46);
-x_69 = 1;
-x_70 = l_Lean_Parser_mergeOrElseErrors(x_68, x_38, x_35, x_69);
-lean_dec(x_35);
-return x_70;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; uint8_t x_75; lean_object* x_76;
-lean_dec(x_49);
-x_71 = l_Lean_Parser_Command_classInductive___elambda__1___closed__9;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_71, x_47);
-x_73 = l_Lean_Parser_Command_classTk___elambda__1___closed__2;
-x_74 = l_Lean_Parser_ParserState_mkNode(x_72, x_73, x_46);
-x_75 = 1;
-x_76 = l_Lean_Parser_mergeOrElseErrors(x_74, x_38, x_35, x_75);
-lean_dec(x_35);
-return x_76;
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_44);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_43, x_38, x_35, x_77);
-lean_dec(x_35);
-return x_78;
-}
-}
-}
+lean_object* x_16; uint8_t x_17; lean_object* x_18;
+x_16 = l_Lean_Parser_Command_classTk___elambda__1___closed__6;
+x_17 = 1;
+x_18 = l_Lean_Parser_orelseFnCore(x_4, x_16, x_17, x_1, x_2);
+return x_18;
}
}
}
@@ -22355,11 +12776,11 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_extends___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_extends___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_extends___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_extends___elambda__1___closed__8() {
@@ -22367,8 +12788,10 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Command_extends___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_2 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -22376,11 +12799,43 @@ static lean_object* _init_l_Lean_Parser_Command_extends___elambda__1___closed__9
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Command_extends___elambda__1___closed__2;
x_2 = l_Lean_Parser_Command_extends___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_extends___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_extends___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_extends___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Command_extends___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_extends___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_extends___elambda__1___closed__11;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -22404,90 +12859,36 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_20; lean_object* x_21; lean_object* x_22;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_20 = lean_ctor_get(x_7, 1);
-lean_inc(x_20);
+x_11 = l_Lean_Parser_Command_extends___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Command_extends___elambda__1___closed__12;
lean_inc(x_1);
-x_21 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_22 = lean_ctor_get(x_21, 3);
-lean_inc(x_22);
-if (lean_obj_tag(x_22) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_23; lean_object* x_24;
-x_23 = lean_ctor_get(x_21, 0);
-lean_inc(x_23);
-x_24 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_23);
-lean_dec(x_23);
-if (lean_obj_tag(x_24) == 2)
-{
-lean_object* x_25; lean_object* x_26; uint8_t x_27;
-x_25 = lean_ctor_get(x_24, 1);
-lean_inc(x_25);
-lean_dec(x_24);
-x_26 = l_Lean_Parser_Command_extends___elambda__1___closed__6;
-x_27 = lean_string_dec_eq(x_25, x_26);
-lean_dec(x_25);
-if (x_27 == 0)
-{
-lean_object* x_28; lean_object* x_29;
-x_28 = l_Lean_Parser_Command_extends___elambda__1___closed__9;
-x_29 = l_Lean_Parser_ParserState_mkErrorsAt(x_21, x_28, x_20);
-x_11 = x_29;
-goto block_19;
+uint8_t x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
+x_15 = 0;
+x_16 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_17 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__6;
+x_18 = l_Lean_Parser_sepBy1Fn(x_15, x_16, x_17, x_1, x_13);
+x_19 = l_Lean_Parser_Command_extends___elambda__1___closed__2;
+x_20 = l_Lean_Parser_ParserState_mkNode(x_18, x_19, x_10);
+return x_20;
}
else
{
-lean_dec(x_20);
-x_11 = x_21;
-goto block_19;
-}
-}
-else
-{
-lean_object* x_30; lean_object* x_31;
-lean_dec(x_24);
-x_30 = l_Lean_Parser_Command_extends___elambda__1___closed__9;
-x_31 = l_Lean_Parser_ParserState_mkErrorsAt(x_21, x_30, x_20);
-x_11 = x_31;
-goto block_19;
-}
-}
-else
-{
-lean_object* x_32; lean_object* x_33;
-lean_dec(x_22);
-x_32 = l_Lean_Parser_Command_extends___elambda__1___closed__9;
-x_33 = l_Lean_Parser_ParserState_mkErrorsAt(x_21, x_32, x_20);
-x_11 = x_33;
-goto block_19;
-}
-block_19:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-uint8_t x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
-x_13 = 0;
-x_14 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_tupleTail___elambda__1___spec__1(x_13, x_1, x_11);
-x_15 = l_Lean_Parser_Command_extends___elambda__1___closed__2;
-x_16 = l_Lean_Parser_ParserState_mkNode(x_14, x_15, x_10);
-return x_16;
-}
-else
-{
-lean_object* x_17; lean_object* x_18;
-lean_dec(x_12);
+lean_object* x_21; lean_object* x_22;
+lean_dec(x_14);
lean_dec(x_1);
-x_17 = l_Lean_Parser_Command_extends___elambda__1___closed__2;
-x_18 = l_Lean_Parser_ParserState_mkNode(x_11, x_17, x_10);
-return x_18;
-}
+x_21 = l_Lean_Parser_Command_extends___elambda__1___closed__2;
+x_22 = l_Lean_Parser_ParserState_mkNode(x_13, x_21, x_10);
+return x_22;
}
}
else
@@ -22499,158 +12900,11 @@ return x_7;
}
else
{
-lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38;
-x_34 = lean_ctor_get(x_2, 0);
-lean_inc(x_34);
-x_35 = lean_array_get_size(x_34);
-lean_dec(x_34);
-x_36 = lean_ctor_get(x_2, 1);
-lean_inc(x_36);
-lean_inc(x_1);
-x_37 = lean_apply_2(x_4, x_1, x_2);
-x_38 = lean_ctor_get(x_37, 3);
-lean_inc(x_38);
-if (lean_obj_tag(x_38) == 0)
-{
-lean_dec(x_36);
-lean_dec(x_35);
-lean_dec(x_1);
-return x_37;
-}
-else
-{
-lean_object* x_39; lean_object* x_40; uint8_t x_41;
-x_39 = lean_ctor_get(x_38, 0);
-lean_inc(x_39);
-lean_dec(x_38);
-x_40 = lean_ctor_get(x_37, 1);
-lean_inc(x_40);
-x_41 = lean_nat_dec_eq(x_40, x_36);
-lean_dec(x_40);
-if (x_41 == 0)
-{
-lean_dec(x_39);
-lean_dec(x_36);
-lean_dec(x_35);
-lean_dec(x_1);
-return x_37;
-}
-else
-{
-lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45;
-lean_inc(x_36);
-x_42 = l_Lean_Parser_ParserState_restore(x_37, x_35, x_36);
-lean_dec(x_35);
-x_43 = lean_unsigned_to_nat(1024u);
-x_44 = l_Lean_Parser_checkPrecFn(x_43, x_1, x_42);
-x_45 = lean_ctor_get(x_44, 3);
-lean_inc(x_45);
-if (lean_obj_tag(x_45) == 0)
-{
-lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_61; lean_object* x_62; lean_object* x_63;
-x_46 = lean_ctor_get(x_44, 0);
-lean_inc(x_46);
-x_47 = lean_array_get_size(x_46);
-lean_dec(x_46);
-x_61 = lean_ctor_get(x_44, 1);
-lean_inc(x_61);
-lean_inc(x_1);
-x_62 = l_Lean_Parser_tokenFn(x_1, x_44);
-x_63 = lean_ctor_get(x_62, 3);
-lean_inc(x_63);
-if (lean_obj_tag(x_63) == 0)
-{
-lean_object* x_64; lean_object* x_65;
-x_64 = lean_ctor_get(x_62, 0);
-lean_inc(x_64);
-x_65 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_64);
-lean_dec(x_64);
-if (lean_obj_tag(x_65) == 2)
-{
-lean_object* x_66; lean_object* x_67; uint8_t x_68;
-x_66 = lean_ctor_get(x_65, 1);
-lean_inc(x_66);
-lean_dec(x_65);
-x_67 = l_Lean_Parser_Command_extends___elambda__1___closed__6;
-x_68 = lean_string_dec_eq(x_66, x_67);
-lean_dec(x_66);
-if (x_68 == 0)
-{
-lean_object* x_69; lean_object* x_70;
-x_69 = l_Lean_Parser_Command_extends___elambda__1___closed__9;
-x_70 = l_Lean_Parser_ParserState_mkErrorsAt(x_62, x_69, x_61);
-x_48 = x_70;
-goto block_60;
-}
-else
-{
-lean_dec(x_61);
-x_48 = x_62;
-goto block_60;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72;
-lean_dec(x_65);
-x_71 = l_Lean_Parser_Command_extends___elambda__1___closed__9;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_62, x_71, x_61);
-x_48 = x_72;
-goto block_60;
-}
-}
-else
-{
-lean_object* x_73; lean_object* x_74;
-lean_dec(x_63);
-x_73 = l_Lean_Parser_Command_extends___elambda__1___closed__9;
-x_74 = l_Lean_Parser_ParserState_mkErrorsAt(x_62, x_73, x_61);
-x_48 = x_74;
-goto block_60;
-}
-block_60:
-{
-lean_object* x_49;
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
-{
-uint8_t x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; uint8_t x_54; lean_object* x_55;
-x_50 = 0;
-x_51 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_tupleTail___elambda__1___spec__1(x_50, x_1, x_48);
-x_52 = l_Lean_Parser_Command_extends___elambda__1___closed__2;
-x_53 = l_Lean_Parser_ParserState_mkNode(x_51, x_52, x_47);
-x_54 = 1;
-x_55 = l_Lean_Parser_mergeOrElseErrors(x_53, x_39, x_36, x_54);
-lean_dec(x_36);
-return x_55;
-}
-else
-{
-lean_object* x_56; lean_object* x_57; uint8_t x_58; lean_object* x_59;
-lean_dec(x_49);
-lean_dec(x_1);
-x_56 = l_Lean_Parser_Command_extends___elambda__1___closed__2;
-x_57 = l_Lean_Parser_ParserState_mkNode(x_48, x_56, x_47);
-x_58 = 1;
-x_59 = l_Lean_Parser_mergeOrElseErrors(x_57, x_39, x_36, x_58);
-lean_dec(x_36);
-return x_59;
-}
-}
-}
-else
-{
-uint8_t x_75; lean_object* x_76;
-lean_dec(x_45);
-lean_dec(x_1);
-x_75 = 1;
-x_76 = l_Lean_Parser_mergeOrElseErrors(x_44, x_39, x_36, x_75);
-lean_dec(x_36);
-return x_76;
-}
-}
-}
+lean_object* x_23; uint8_t x_24; lean_object* x_25;
+x_23 = l_Lean_Parser_Command_extends___elambda__1___closed__10;
+x_24 = 1;
+x_25 = l_Lean_Parser_orelseFnCore(x_4, x_23, x_24, x_1, x_2);
+return x_25;
}
}
}
@@ -22772,11 +13026,163 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Command_structure___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_structureTk___closed__5;
+x_2 = l_Lean_Parser_Command_classTk___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_structure___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_forall___elambda__1___closed__9;
+x_2 = lean_ctor_get(x_1, 1);
+lean_inc(x_2);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_manyFn), 3, 1);
+lean_closure_set(x_3, 0, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_structure___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_extends___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optionalFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_structure___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_structCtor___closed__8;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optionalFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_structure___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_structure___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_structFields___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_structure___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Command_structure___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_structure___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_optType___closed__2;
+x_2 = l_Lean_Parser_Command_structure___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_structure___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_structure___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Command_structure___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_structure___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_structure___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Command_structure___elambda__1___closed__12;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_structure___elambda__1___closed__14() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_declId___closed__9;
+x_2 = l_Lean_Parser_Command_structure___elambda__1___closed__13;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_structure___elambda__1___closed__15() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_structure___elambda__1___closed__5;
+x_2 = l_Lean_Parser_Command_structure___elambda__1___closed__14;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_structure___elambda__1___closed__16() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_structure___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_structure___elambda__1___closed__15;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_structure___elambda__1___closed__17() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_structure___elambda__1___closed__16;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Command_structure___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; uint8_t x_7;
-x_3 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_forall___elambda__1___spec__1___closed__1;
+x_3 = l_Lean_Parser_Term_forall___elambda__1___closed__9;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
x_5 = l_Lean_Parser_Command_structure___elambda__1___closed__4;
@@ -22795,365 +13201,149 @@ x_10 = lean_ctor_get(x_9, 3);
lean_inc(x_10);
if (lean_obj_tag(x_10) == 0)
{
-lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_50; lean_object* x_73; lean_object* x_101; lean_object* x_102; lean_object* x_103;
+lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; uint8_t x_15; lean_object* x_16; lean_object* x_17;
x_11 = lean_ctor_get(x_9, 0);
lean_inc(x_11);
x_12 = lean_array_get_size(x_11);
lean_dec(x_11);
-x_101 = lean_ctor_get(x_9, 1);
-lean_inc(x_101);
+x_13 = l_Lean_Parser_Command_structureTk___closed__5;
+x_14 = l_Lean_Parser_Command_classTk___closed__4;
+x_15 = 1;
lean_inc(x_1);
-x_102 = l_Lean_Parser_Command_structureTk___elambda__1(x_1, x_9);
-x_103 = lean_ctor_get(x_102, 3);
-lean_inc(x_103);
-if (lean_obj_tag(x_103) == 0)
-{
-lean_dec(x_101);
-x_73 = x_102;
-goto block_100;
-}
-else
-{
-lean_object* x_104; lean_object* x_105; uint8_t x_106;
-x_104 = lean_ctor_get(x_103, 0);
-lean_inc(x_104);
-lean_dec(x_103);
-x_105 = lean_ctor_get(x_102, 1);
-lean_inc(x_105);
-x_106 = lean_nat_dec_eq(x_105, x_101);
-lean_dec(x_105);
-if (x_106 == 0)
-{
-lean_dec(x_104);
-lean_dec(x_101);
-x_73 = x_102;
-goto block_100;
-}
-else
-{
-lean_object* x_107; lean_object* x_108; uint8_t x_109; lean_object* x_110;
-lean_inc(x_101);
-x_107 = l_Lean_Parser_ParserState_restore(x_102, x_12, x_101);
-lean_inc(x_1);
-x_108 = l_Lean_Parser_Command_classTk___elambda__1(x_1, x_107);
-x_109 = 1;
-x_110 = l_Lean_Parser_mergeOrElseErrors(x_108, x_104, x_101, x_109);
-lean_dec(x_101);
-x_73 = x_110;
-goto block_100;
-}
-}
-block_49:
-{
-lean_object* x_14;
-x_14 = lean_ctor_get(x_13, 3);
-lean_inc(x_14);
-if (lean_obj_tag(x_14) == 0)
-{
-lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
-x_15 = lean_ctor_get(x_13, 0);
-lean_inc(x_15);
-x_16 = lean_array_get_size(x_15);
-lean_dec(x_15);
-x_17 = lean_ctor_get(x_13, 1);
+x_16 = l_Lean_Parser_orelseFnCore(x_13, x_14, x_15, x_1, x_9);
+x_17 = lean_ctor_get(x_16, 3);
lean_inc(x_17);
+if (lean_obj_tag(x_17) == 0)
+{
+lean_object* x_18; lean_object* x_19;
lean_inc(x_1);
-x_18 = l_Lean_Parser_Command_structCtor___elambda__1(x_1, x_13);
+x_18 = l_Lean_Parser_Command_declId___elambda__1(x_1, x_16);
x_19 = lean_ctor_get(x_18, 3);
lean_inc(x_19);
if (lean_obj_tag(x_19) == 0)
{
-lean_object* x_20; lean_object* x_21; lean_object* x_22;
-lean_dec(x_17);
-x_20 = l_Lean_nullKind;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_18, x_20, x_16);
-x_22 = lean_ctor_get(x_21, 3);
-lean_inc(x_22);
-if (lean_obj_tag(x_22) == 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;
+x_20 = lean_ctor_get(x_18, 0);
+lean_inc(x_20);
+x_21 = lean_array_get_size(x_20);
+lean_dec(x_20);
+lean_inc(x_1);
+x_22 = l_Lean_Parser_manyAux(x_4, x_1, x_18);
+x_23 = l_Lean_nullKind;
+x_24 = l_Lean_Parser_ParserState_mkNode(x_22, x_23, x_21);
+x_25 = lean_ctor_get(x_24, 3);
+lean_inc(x_25);
+if (lean_obj_tag(x_25) == 0)
{
-lean_object* x_23; lean_object* x_24; lean_object* x_25;
-x_23 = l_Lean_Parser_Command_structFields___elambda__1(x_1, x_21);
-x_24 = l_Lean_Parser_Command_structure___elambda__1___closed__2;
-x_25 = l_Lean_Parser_ParserState_mkNode(x_23, x_24, x_12);
-return x_25;
-}
-else
-{
-lean_object* x_26; lean_object* x_27;
-lean_dec(x_22);
-lean_dec(x_1);
-x_26 = l_Lean_Parser_Command_structure___elambda__1___closed__2;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_21, x_26, x_12);
-return x_27;
-}
-}
-else
-{
-lean_object* x_28; uint8_t x_29;
-lean_dec(x_19);
-x_28 = lean_ctor_get(x_18, 1);
+lean_object* x_26; lean_object* x_27; lean_object* x_28;
+x_26 = l_Lean_Parser_Command_extends___closed__6;
+lean_inc(x_1);
+x_27 = l_Lean_Parser_optionalFn(x_26, x_1, x_24);
+x_28 = lean_ctor_get(x_27, 3);
lean_inc(x_28);
-x_29 = lean_nat_dec_eq(x_28, x_17);
+if (lean_obj_tag(x_28) == 0)
+{
+lean_object* x_29; lean_object* x_30; lean_object* x_31;
+x_29 = l_Lean_Parser_Term_typeSpec___closed__4;
+lean_inc(x_1);
+x_30 = l_Lean_Parser_optionalFn(x_29, x_1, x_27);
+x_31 = lean_ctor_get(x_30, 3);
+lean_inc(x_31);
+if (lean_obj_tag(x_31) == 0)
+{
+lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35;
+x_32 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__5;
+x_33 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__11;
+lean_inc(x_1);
+x_34 = l_Lean_Parser_symbolFnAux(x_32, x_33, x_1, x_30);
+x_35 = lean_ctor_get(x_34, 3);
+lean_inc(x_35);
+if (lean_obj_tag(x_35) == 0)
+{
+lean_object* x_36; lean_object* x_37; lean_object* x_38;
+x_36 = l_Lean_Parser_Command_structCtor___closed__8;
+lean_inc(x_1);
+x_37 = l_Lean_Parser_optionalFn(x_36, x_1, x_34);
+x_38 = lean_ctor_get(x_37, 3);
+lean_inc(x_38);
+if (lean_obj_tag(x_38) == 0)
+{
+lean_object* x_39; lean_object* x_40; lean_object* x_41;
+x_39 = l_Lean_Parser_Command_structFields___elambda__1(x_1, x_37);
+x_40 = l_Lean_Parser_Command_structure___elambda__1___closed__2;
+x_41 = l_Lean_Parser_ParserState_mkNode(x_39, x_40, x_12);
+return x_41;
+}
+else
+{
+lean_object* x_42; lean_object* x_43;
+lean_dec(x_38);
+lean_dec(x_1);
+x_42 = l_Lean_Parser_Command_structure___elambda__1___closed__2;
+x_43 = l_Lean_Parser_ParserState_mkNode(x_37, x_42, x_12);
+return x_43;
+}
+}
+else
+{
+lean_object* x_44; lean_object* x_45;
+lean_dec(x_35);
+lean_dec(x_1);
+x_44 = l_Lean_Parser_Command_structure___elambda__1___closed__2;
+x_45 = l_Lean_Parser_ParserState_mkNode(x_34, x_44, x_12);
+return x_45;
+}
+}
+else
+{
+lean_object* x_46; lean_object* x_47;
+lean_dec(x_31);
+lean_dec(x_1);
+x_46 = l_Lean_Parser_Command_structure___elambda__1___closed__2;
+x_47 = l_Lean_Parser_ParserState_mkNode(x_30, x_46, x_12);
+return x_47;
+}
+}
+else
+{
+lean_object* x_48; lean_object* x_49;
lean_dec(x_28);
-if (x_29 == 0)
-{
-lean_object* x_30; lean_object* x_31; lean_object* x_32;
-lean_dec(x_17);
-x_30 = l_Lean_nullKind;
-x_31 = l_Lean_Parser_ParserState_mkNode(x_18, x_30, x_16);
-x_32 = lean_ctor_get(x_31, 3);
-lean_inc(x_32);
-if (lean_obj_tag(x_32) == 0)
-{
-lean_object* x_33; lean_object* x_34; lean_object* x_35;
-x_33 = l_Lean_Parser_Command_structFields___elambda__1(x_1, x_31);
-x_34 = l_Lean_Parser_Command_structure___elambda__1___closed__2;
-x_35 = l_Lean_Parser_ParserState_mkNode(x_33, x_34, x_12);
-return x_35;
-}
-else
-{
-lean_object* x_36; lean_object* x_37;
-lean_dec(x_32);
lean_dec(x_1);
-x_36 = l_Lean_Parser_Command_structure___elambda__1___closed__2;
-x_37 = l_Lean_Parser_ParserState_mkNode(x_31, x_36, x_12);
-return x_37;
+x_48 = l_Lean_Parser_Command_structure___elambda__1___closed__2;
+x_49 = l_Lean_Parser_ParserState_mkNode(x_27, x_48, x_12);
+return x_49;
}
}
else
{
-lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41;
-x_38 = l_Lean_Parser_ParserState_restore(x_18, x_16, x_17);
-x_39 = l_Lean_nullKind;
-x_40 = l_Lean_Parser_ParserState_mkNode(x_38, x_39, x_16);
-x_41 = lean_ctor_get(x_40, 3);
-lean_inc(x_41);
-if (lean_obj_tag(x_41) == 0)
-{
-lean_object* x_42; lean_object* x_43; lean_object* x_44;
-x_42 = l_Lean_Parser_Command_structFields___elambda__1(x_1, x_40);
-x_43 = l_Lean_Parser_Command_structure___elambda__1___closed__2;
-x_44 = l_Lean_Parser_ParserState_mkNode(x_42, x_43, x_12);
-return x_44;
-}
-else
-{
-lean_object* x_45; lean_object* x_46;
-lean_dec(x_41);
+lean_object* x_50; lean_object* x_51;
+lean_dec(x_25);
lean_dec(x_1);
-x_45 = l_Lean_Parser_Command_structure___elambda__1___closed__2;
-x_46 = l_Lean_Parser_ParserState_mkNode(x_40, x_45, x_12);
-return x_46;
-}
-}
+x_50 = l_Lean_Parser_Command_structure___elambda__1___closed__2;
+x_51 = l_Lean_Parser_ParserState_mkNode(x_24, x_50, x_12);
+return x_51;
}
}
else
{
-lean_object* x_47; lean_object* x_48;
-lean_dec(x_14);
-lean_dec(x_1);
-x_47 = l_Lean_Parser_Command_structure___elambda__1___closed__2;
-x_48 = l_Lean_Parser_ParserState_mkNode(x_13, x_47, x_12);
-return x_48;
-}
-}
-block_72:
-{
-lean_object* x_51;
-x_51 = lean_ctor_get(x_50, 3);
-lean_inc(x_51);
-if (lean_obj_tag(x_51) == 0)
-{
lean_object* x_52; lean_object* x_53;
-lean_inc(x_1);
-x_52 = l_Lean_Parser_Term_optType___elambda__1(x_1, x_50);
-x_53 = lean_ctor_get(x_52, 3);
-lean_inc(x_53);
-if (lean_obj_tag(x_53) == 0)
-{
-lean_object* x_54; lean_object* x_55; lean_object* x_56;
-x_54 = lean_ctor_get(x_52, 1);
-lean_inc(x_54);
-lean_inc(x_1);
-x_55 = l_Lean_Parser_tokenFn(x_1, x_52);
-x_56 = lean_ctor_get(x_55, 3);
-lean_inc(x_56);
-if (lean_obj_tag(x_56) == 0)
-{
-lean_object* x_57; lean_object* x_58;
-x_57 = lean_ctor_get(x_55, 0);
-lean_inc(x_57);
-x_58 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_57);
-lean_dec(x_57);
-if (lean_obj_tag(x_58) == 2)
-{
-lean_object* x_59; lean_object* x_60; uint8_t x_61;
-x_59 = lean_ctor_get(x_58, 1);
-lean_inc(x_59);
-lean_dec(x_58);
-x_60 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__5;
-x_61 = lean_string_dec_eq(x_59, x_60);
-lean_dec(x_59);
-if (x_61 == 0)
-{
-lean_object* x_62; lean_object* x_63;
-x_62 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-x_63 = l_Lean_Parser_ParserState_mkErrorsAt(x_55, x_62, x_54);
-x_13 = x_63;
-goto block_49;
-}
-else
-{
-lean_dec(x_54);
-x_13 = x_55;
-goto block_49;
-}
-}
-else
-{
-lean_object* x_64; lean_object* x_65;
-lean_dec(x_58);
-x_64 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-x_65 = l_Lean_Parser_ParserState_mkErrorsAt(x_55, x_64, x_54);
-x_13 = x_65;
-goto block_49;
-}
-}
-else
-{
-lean_object* x_66; lean_object* x_67;
-lean_dec(x_56);
-x_66 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-x_67 = l_Lean_Parser_ParserState_mkErrorsAt(x_55, x_66, x_54);
-x_13 = x_67;
-goto block_49;
-}
-}
-else
-{
-lean_object* x_68; lean_object* x_69;
-lean_dec(x_53);
-lean_dec(x_1);
-x_68 = l_Lean_Parser_Command_structure___elambda__1___closed__2;
-x_69 = l_Lean_Parser_ParserState_mkNode(x_52, x_68, x_12);
-return x_69;
-}
-}
-else
-{
-lean_object* x_70; lean_object* x_71;
-lean_dec(x_51);
-lean_dec(x_1);
-x_70 = l_Lean_Parser_Command_structure___elambda__1___closed__2;
-x_71 = l_Lean_Parser_ParserState_mkNode(x_50, x_70, x_12);
-return x_71;
-}
-}
-block_100:
-{
-lean_object* x_74;
-x_74 = lean_ctor_get(x_73, 3);
-lean_inc(x_74);
-if (lean_obj_tag(x_74) == 0)
-{
-lean_object* x_75; lean_object* x_76;
-lean_inc(x_1);
-x_75 = l_Lean_Parser_Command_declId___elambda__1(x_1, x_73);
-x_76 = lean_ctor_get(x_75, 3);
-lean_inc(x_76);
-if (lean_obj_tag(x_76) == 0)
-{
-lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82;
-x_77 = lean_ctor_get(x_75, 0);
-lean_inc(x_77);
-x_78 = lean_array_get_size(x_77);
-lean_dec(x_77);
-lean_inc(x_1);
-x_79 = l_Lean_Parser_manyAux___main(x_4, x_1, x_75);
-x_80 = l_Lean_nullKind;
-x_81 = l_Lean_Parser_ParserState_mkNode(x_79, x_80, x_78);
-x_82 = lean_ctor_get(x_81, 3);
-lean_inc(x_82);
-if (lean_obj_tag(x_82) == 0)
-{
-lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87;
-x_83 = lean_ctor_get(x_81, 0);
-lean_inc(x_83);
-x_84 = lean_array_get_size(x_83);
-lean_dec(x_83);
-x_85 = lean_ctor_get(x_81, 1);
-lean_inc(x_85);
-lean_inc(x_1);
-x_86 = l_Lean_Parser_Command_extends___elambda__1(x_1, x_81);
-x_87 = lean_ctor_get(x_86, 3);
-lean_inc(x_87);
-if (lean_obj_tag(x_87) == 0)
-{
-lean_object* x_88;
-lean_dec(x_85);
-x_88 = l_Lean_Parser_ParserState_mkNode(x_86, x_80, x_84);
-x_50 = x_88;
-goto block_72;
-}
-else
-{
-lean_object* x_89; uint8_t x_90;
-lean_dec(x_87);
-x_89 = lean_ctor_get(x_86, 1);
-lean_inc(x_89);
-x_90 = lean_nat_dec_eq(x_89, x_85);
-lean_dec(x_89);
-if (x_90 == 0)
-{
-lean_object* x_91;
-lean_dec(x_85);
-x_91 = l_Lean_Parser_ParserState_mkNode(x_86, x_80, x_84);
-x_50 = x_91;
-goto block_72;
-}
-else
-{
-lean_object* x_92; lean_object* x_93;
-x_92 = l_Lean_Parser_ParserState_restore(x_86, x_84, x_85);
-x_93 = l_Lean_Parser_ParserState_mkNode(x_92, x_80, x_84);
-x_50 = x_93;
-goto block_72;
-}
-}
-}
-else
-{
-lean_object* x_94; lean_object* x_95;
-lean_dec(x_82);
-lean_dec(x_1);
-x_94 = l_Lean_Parser_Command_structure___elambda__1___closed__2;
-x_95 = l_Lean_Parser_ParserState_mkNode(x_81, x_94, x_12);
-return x_95;
-}
-}
-else
-{
-lean_object* x_96; lean_object* x_97;
-lean_dec(x_76);
+lean_dec(x_19);
lean_dec(x_4);
lean_dec(x_1);
-x_96 = l_Lean_Parser_Command_structure___elambda__1___closed__2;
-x_97 = l_Lean_Parser_ParserState_mkNode(x_75, x_96, x_12);
-return x_97;
+x_52 = l_Lean_Parser_Command_structure___elambda__1___closed__2;
+x_53 = l_Lean_Parser_ParserState_mkNode(x_18, x_52, x_12);
+return x_53;
}
}
else
{
-lean_object* x_98; lean_object* x_99;
-lean_dec(x_74);
+lean_object* x_54; lean_object* x_55;
+lean_dec(x_17);
lean_dec(x_4);
lean_dec(x_1);
-x_98 = l_Lean_Parser_Command_structure___elambda__1___closed__2;
-x_99 = l_Lean_Parser_ParserState_mkNode(x_73, x_98, x_12);
-return x_99;
-}
+x_54 = l_Lean_Parser_Command_structure___elambda__1___closed__2;
+x_55 = l_Lean_Parser_ParserState_mkNode(x_16, x_54, x_12);
+return x_55;
}
}
else
@@ -23166,466 +13356,12 @@ return x_9;
}
else
{
-lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115;
-x_111 = lean_ctor_get(x_2, 0);
-lean_inc(x_111);
-x_112 = lean_array_get_size(x_111);
-lean_dec(x_111);
-x_113 = lean_ctor_get(x_2, 1);
-lean_inc(x_113);
-lean_inc(x_1);
-x_114 = lean_apply_2(x_6, x_1, x_2);
-x_115 = lean_ctor_get(x_114, 3);
-lean_inc(x_115);
-if (lean_obj_tag(x_115) == 0)
-{
-lean_dec(x_113);
-lean_dec(x_112);
+lean_object* x_56; uint8_t x_57; lean_object* x_58;
lean_dec(x_4);
-lean_dec(x_1);
-return x_114;
-}
-else
-{
-lean_object* x_116; lean_object* x_117; uint8_t x_118;
-x_116 = lean_ctor_get(x_115, 0);
-lean_inc(x_116);
-lean_dec(x_115);
-x_117 = lean_ctor_get(x_114, 1);
-lean_inc(x_117);
-x_118 = lean_nat_dec_eq(x_117, x_113);
-lean_dec(x_117);
-if (x_118 == 0)
-{
-lean_dec(x_116);
-lean_dec(x_113);
-lean_dec(x_112);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_114;
-}
-else
-{
-lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122;
-lean_inc(x_113);
-x_119 = l_Lean_Parser_ParserState_restore(x_114, x_112, x_113);
-lean_dec(x_112);
-x_120 = lean_unsigned_to_nat(1024u);
-x_121 = l_Lean_Parser_checkPrecFn(x_120, x_1, x_119);
-x_122 = lean_ctor_get(x_121, 3);
-lean_inc(x_122);
-if (lean_obj_tag(x_122) == 0)
-{
-lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_176; lean_object* x_203; lean_object* x_237; lean_object* x_238; lean_object* x_239;
-x_123 = lean_ctor_get(x_121, 0);
-lean_inc(x_123);
-x_124 = lean_array_get_size(x_123);
-lean_dec(x_123);
-x_237 = lean_ctor_get(x_121, 1);
-lean_inc(x_237);
-lean_inc(x_1);
-x_238 = l_Lean_Parser_Command_structureTk___elambda__1(x_1, x_121);
-x_239 = lean_ctor_get(x_238, 3);
-lean_inc(x_239);
-if (lean_obj_tag(x_239) == 0)
-{
-lean_dec(x_237);
-x_203 = x_238;
-goto block_236;
-}
-else
-{
-lean_object* x_240; lean_object* x_241; uint8_t x_242;
-x_240 = lean_ctor_get(x_239, 0);
-lean_inc(x_240);
-lean_dec(x_239);
-x_241 = lean_ctor_get(x_238, 1);
-lean_inc(x_241);
-x_242 = lean_nat_dec_eq(x_241, x_237);
-lean_dec(x_241);
-if (x_242 == 0)
-{
-lean_dec(x_240);
-lean_dec(x_237);
-x_203 = x_238;
-goto block_236;
-}
-else
-{
-lean_object* x_243; lean_object* x_244; uint8_t x_245; lean_object* x_246;
-lean_inc(x_237);
-x_243 = l_Lean_Parser_ParserState_restore(x_238, x_124, x_237);
-lean_inc(x_1);
-x_244 = l_Lean_Parser_Command_classTk___elambda__1(x_1, x_243);
-x_245 = 1;
-x_246 = l_Lean_Parser_mergeOrElseErrors(x_244, x_240, x_237, x_245);
-lean_dec(x_237);
-x_203 = x_246;
-goto block_236;
-}
-}
-block_175:
-{
-lean_object* x_126;
-x_126 = lean_ctor_get(x_125, 3);
-lean_inc(x_126);
-if (lean_obj_tag(x_126) == 0)
-{
-lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131;
-x_127 = lean_ctor_get(x_125, 0);
-lean_inc(x_127);
-x_128 = lean_array_get_size(x_127);
-lean_dec(x_127);
-x_129 = lean_ctor_get(x_125, 1);
-lean_inc(x_129);
-lean_inc(x_1);
-x_130 = l_Lean_Parser_Command_structCtor___elambda__1(x_1, x_125);
-x_131 = lean_ctor_get(x_130, 3);
-lean_inc(x_131);
-if (lean_obj_tag(x_131) == 0)
-{
-lean_object* x_132; lean_object* x_133; lean_object* x_134;
-lean_dec(x_129);
-x_132 = l_Lean_nullKind;
-x_133 = l_Lean_Parser_ParserState_mkNode(x_130, x_132, x_128);
-x_134 = lean_ctor_get(x_133, 3);
-lean_inc(x_134);
-if (lean_obj_tag(x_134) == 0)
-{
-lean_object* x_135; lean_object* x_136; lean_object* x_137; uint8_t x_138; lean_object* x_139;
-x_135 = l_Lean_Parser_Command_structFields___elambda__1(x_1, x_133);
-x_136 = l_Lean_Parser_Command_structure___elambda__1___closed__2;
-x_137 = l_Lean_Parser_ParserState_mkNode(x_135, x_136, x_124);
-x_138 = 1;
-x_139 = l_Lean_Parser_mergeOrElseErrors(x_137, x_116, x_113, x_138);
-lean_dec(x_113);
-return x_139;
-}
-else
-{
-lean_object* x_140; lean_object* x_141; uint8_t x_142; lean_object* x_143;
-lean_dec(x_134);
-lean_dec(x_1);
-x_140 = l_Lean_Parser_Command_structure___elambda__1___closed__2;
-x_141 = l_Lean_Parser_ParserState_mkNode(x_133, x_140, x_124);
-x_142 = 1;
-x_143 = l_Lean_Parser_mergeOrElseErrors(x_141, x_116, x_113, x_142);
-lean_dec(x_113);
-return x_143;
-}
-}
-else
-{
-lean_object* x_144; uint8_t x_145;
-lean_dec(x_131);
-x_144 = lean_ctor_get(x_130, 1);
-lean_inc(x_144);
-x_145 = lean_nat_dec_eq(x_144, x_129);
-lean_dec(x_144);
-if (x_145 == 0)
-{
-lean_object* x_146; lean_object* x_147; lean_object* x_148;
-lean_dec(x_129);
-x_146 = l_Lean_nullKind;
-x_147 = l_Lean_Parser_ParserState_mkNode(x_130, x_146, x_128);
-x_148 = lean_ctor_get(x_147, 3);
-lean_inc(x_148);
-if (lean_obj_tag(x_148) == 0)
-{
-lean_object* x_149; lean_object* x_150; lean_object* x_151; uint8_t x_152; lean_object* x_153;
-x_149 = l_Lean_Parser_Command_structFields___elambda__1(x_1, x_147);
-x_150 = l_Lean_Parser_Command_structure___elambda__1___closed__2;
-x_151 = l_Lean_Parser_ParserState_mkNode(x_149, x_150, x_124);
-x_152 = 1;
-x_153 = l_Lean_Parser_mergeOrElseErrors(x_151, x_116, x_113, x_152);
-lean_dec(x_113);
-return x_153;
-}
-else
-{
-lean_object* x_154; lean_object* x_155; uint8_t x_156; lean_object* x_157;
-lean_dec(x_148);
-lean_dec(x_1);
-x_154 = l_Lean_Parser_Command_structure___elambda__1___closed__2;
-x_155 = l_Lean_Parser_ParserState_mkNode(x_147, x_154, x_124);
-x_156 = 1;
-x_157 = l_Lean_Parser_mergeOrElseErrors(x_155, x_116, x_113, x_156);
-lean_dec(x_113);
-return x_157;
-}
-}
-else
-{
-lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161;
-x_158 = l_Lean_Parser_ParserState_restore(x_130, x_128, x_129);
-x_159 = l_Lean_nullKind;
-x_160 = l_Lean_Parser_ParserState_mkNode(x_158, x_159, x_128);
-x_161 = lean_ctor_get(x_160, 3);
-lean_inc(x_161);
-if (lean_obj_tag(x_161) == 0)
-{
-lean_object* x_162; lean_object* x_163; lean_object* x_164; uint8_t x_165; lean_object* x_166;
-x_162 = l_Lean_Parser_Command_structFields___elambda__1(x_1, x_160);
-x_163 = l_Lean_Parser_Command_structure___elambda__1___closed__2;
-x_164 = l_Lean_Parser_ParserState_mkNode(x_162, x_163, x_124);
-x_165 = 1;
-x_166 = l_Lean_Parser_mergeOrElseErrors(x_164, x_116, x_113, x_165);
-lean_dec(x_113);
-return x_166;
-}
-else
-{
-lean_object* x_167; lean_object* x_168; uint8_t x_169; lean_object* x_170;
-lean_dec(x_161);
-lean_dec(x_1);
-x_167 = l_Lean_Parser_Command_structure___elambda__1___closed__2;
-x_168 = l_Lean_Parser_ParserState_mkNode(x_160, x_167, x_124);
-x_169 = 1;
-x_170 = l_Lean_Parser_mergeOrElseErrors(x_168, x_116, x_113, x_169);
-lean_dec(x_113);
-return x_170;
-}
-}
-}
-}
-else
-{
-lean_object* x_171; lean_object* x_172; uint8_t x_173; lean_object* x_174;
-lean_dec(x_126);
-lean_dec(x_1);
-x_171 = l_Lean_Parser_Command_structure___elambda__1___closed__2;
-x_172 = l_Lean_Parser_ParserState_mkNode(x_125, x_171, x_124);
-x_173 = 1;
-x_174 = l_Lean_Parser_mergeOrElseErrors(x_172, x_116, x_113, x_173);
-lean_dec(x_113);
-return x_174;
-}
-}
-block_202:
-{
-lean_object* x_177;
-x_177 = lean_ctor_get(x_176, 3);
-lean_inc(x_177);
-if (lean_obj_tag(x_177) == 0)
-{
-lean_object* x_178; lean_object* x_179;
-lean_inc(x_1);
-x_178 = l_Lean_Parser_Term_optType___elambda__1(x_1, x_176);
-x_179 = lean_ctor_get(x_178, 3);
-lean_inc(x_179);
-if (lean_obj_tag(x_179) == 0)
-{
-lean_object* x_180; lean_object* x_181; lean_object* x_182;
-x_180 = lean_ctor_get(x_178, 1);
-lean_inc(x_180);
-lean_inc(x_1);
-x_181 = l_Lean_Parser_tokenFn(x_1, x_178);
-x_182 = lean_ctor_get(x_181, 3);
-lean_inc(x_182);
-if (lean_obj_tag(x_182) == 0)
-{
-lean_object* x_183; lean_object* x_184;
-x_183 = lean_ctor_get(x_181, 0);
-lean_inc(x_183);
-x_184 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_183);
-lean_dec(x_183);
-if (lean_obj_tag(x_184) == 2)
-{
-lean_object* x_185; lean_object* x_186; uint8_t x_187;
-x_185 = lean_ctor_get(x_184, 1);
-lean_inc(x_185);
-lean_dec(x_184);
-x_186 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__5;
-x_187 = lean_string_dec_eq(x_185, x_186);
-lean_dec(x_185);
-if (x_187 == 0)
-{
-lean_object* x_188; lean_object* x_189;
-x_188 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-x_189 = l_Lean_Parser_ParserState_mkErrorsAt(x_181, x_188, x_180);
-x_125 = x_189;
-goto block_175;
-}
-else
-{
-lean_dec(x_180);
-x_125 = x_181;
-goto block_175;
-}
-}
-else
-{
-lean_object* x_190; lean_object* x_191;
-lean_dec(x_184);
-x_190 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-x_191 = l_Lean_Parser_ParserState_mkErrorsAt(x_181, x_190, x_180);
-x_125 = x_191;
-goto block_175;
-}
-}
-else
-{
-lean_object* x_192; lean_object* x_193;
-lean_dec(x_182);
-x_192 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-x_193 = l_Lean_Parser_ParserState_mkErrorsAt(x_181, x_192, x_180);
-x_125 = x_193;
-goto block_175;
-}
-}
-else
-{
-lean_object* x_194; lean_object* x_195; uint8_t x_196; lean_object* x_197;
-lean_dec(x_179);
-lean_dec(x_1);
-x_194 = l_Lean_Parser_Command_structure___elambda__1___closed__2;
-x_195 = l_Lean_Parser_ParserState_mkNode(x_178, x_194, x_124);
-x_196 = 1;
-x_197 = l_Lean_Parser_mergeOrElseErrors(x_195, x_116, x_113, x_196);
-lean_dec(x_113);
-return x_197;
-}
-}
-else
-{
-lean_object* x_198; lean_object* x_199; uint8_t x_200; lean_object* x_201;
-lean_dec(x_177);
-lean_dec(x_1);
-x_198 = l_Lean_Parser_Command_structure___elambda__1___closed__2;
-x_199 = l_Lean_Parser_ParserState_mkNode(x_176, x_198, x_124);
-x_200 = 1;
-x_201 = l_Lean_Parser_mergeOrElseErrors(x_199, x_116, x_113, x_200);
-lean_dec(x_113);
-return x_201;
-}
-}
-block_236:
-{
-lean_object* x_204;
-x_204 = lean_ctor_get(x_203, 3);
-lean_inc(x_204);
-if (lean_obj_tag(x_204) == 0)
-{
-lean_object* x_205; lean_object* x_206;
-lean_inc(x_1);
-x_205 = l_Lean_Parser_Command_declId___elambda__1(x_1, x_203);
-x_206 = lean_ctor_get(x_205, 3);
-lean_inc(x_206);
-if (lean_obj_tag(x_206) == 0)
-{
-lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212;
-x_207 = lean_ctor_get(x_205, 0);
-lean_inc(x_207);
-x_208 = lean_array_get_size(x_207);
-lean_dec(x_207);
-lean_inc(x_1);
-x_209 = l_Lean_Parser_manyAux___main(x_4, x_1, x_205);
-x_210 = l_Lean_nullKind;
-x_211 = l_Lean_Parser_ParserState_mkNode(x_209, x_210, x_208);
-x_212 = lean_ctor_get(x_211, 3);
-lean_inc(x_212);
-if (lean_obj_tag(x_212) == 0)
-{
-lean_object* x_213; lean_object* x_214; lean_object* x_215; lean_object* x_216; lean_object* x_217;
-x_213 = lean_ctor_get(x_211, 0);
-lean_inc(x_213);
-x_214 = lean_array_get_size(x_213);
-lean_dec(x_213);
-x_215 = lean_ctor_get(x_211, 1);
-lean_inc(x_215);
-lean_inc(x_1);
-x_216 = l_Lean_Parser_Command_extends___elambda__1(x_1, x_211);
-x_217 = lean_ctor_get(x_216, 3);
-lean_inc(x_217);
-if (lean_obj_tag(x_217) == 0)
-{
-lean_object* x_218;
-lean_dec(x_215);
-x_218 = l_Lean_Parser_ParserState_mkNode(x_216, x_210, x_214);
-x_176 = x_218;
-goto block_202;
-}
-else
-{
-lean_object* x_219; uint8_t x_220;
-lean_dec(x_217);
-x_219 = lean_ctor_get(x_216, 1);
-lean_inc(x_219);
-x_220 = lean_nat_dec_eq(x_219, x_215);
-lean_dec(x_219);
-if (x_220 == 0)
-{
-lean_object* x_221;
-lean_dec(x_215);
-x_221 = l_Lean_Parser_ParserState_mkNode(x_216, x_210, x_214);
-x_176 = x_221;
-goto block_202;
-}
-else
-{
-lean_object* x_222; lean_object* x_223;
-x_222 = l_Lean_Parser_ParserState_restore(x_216, x_214, x_215);
-x_223 = l_Lean_Parser_ParserState_mkNode(x_222, x_210, x_214);
-x_176 = x_223;
-goto block_202;
-}
-}
-}
-else
-{
-lean_object* x_224; lean_object* x_225; uint8_t x_226; lean_object* x_227;
-lean_dec(x_212);
-lean_dec(x_1);
-x_224 = l_Lean_Parser_Command_structure___elambda__1___closed__2;
-x_225 = l_Lean_Parser_ParserState_mkNode(x_211, x_224, x_124);
-x_226 = 1;
-x_227 = l_Lean_Parser_mergeOrElseErrors(x_225, x_116, x_113, x_226);
-lean_dec(x_113);
-return x_227;
-}
-}
-else
-{
-lean_object* x_228; lean_object* x_229; uint8_t x_230; lean_object* x_231;
-lean_dec(x_206);
-lean_dec(x_4);
-lean_dec(x_1);
-x_228 = l_Lean_Parser_Command_structure___elambda__1___closed__2;
-x_229 = l_Lean_Parser_ParserState_mkNode(x_205, x_228, x_124);
-x_230 = 1;
-x_231 = l_Lean_Parser_mergeOrElseErrors(x_229, x_116, x_113, x_230);
-lean_dec(x_113);
-return x_231;
-}
-}
-else
-{
-lean_object* x_232; lean_object* x_233; uint8_t x_234; lean_object* x_235;
-lean_dec(x_204);
-lean_dec(x_4);
-lean_dec(x_1);
-x_232 = l_Lean_Parser_Command_structure___elambda__1___closed__2;
-x_233 = l_Lean_Parser_ParserState_mkNode(x_203, x_232, x_124);
-x_234 = 1;
-x_235 = l_Lean_Parser_mergeOrElseErrors(x_233, x_116, x_113, x_234);
-lean_dec(x_113);
-return x_235;
-}
-}
-}
-else
-{
-uint8_t x_247; lean_object* x_248;
-lean_dec(x_122);
-lean_dec(x_4);
-lean_dec(x_1);
-x_247 = 1;
-x_248 = l_Lean_Parser_mergeOrElseErrors(x_121, x_116, x_113, x_247);
-lean_dec(x_113);
-return x_248;
-}
-}
-}
+x_56 = l_Lean_Parser_Command_structure___elambda__1___closed__17;
+x_57 = 1;
+x_58 = l_Lean_Parser_orelseFnCore(x_6, x_56, x_57, x_1, x_2);
+return x_58;
}
}
}
@@ -23647,7 +13383,7 @@ static lean_object* _init_l_Lean_Parser_Command_structure___closed__2() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_forall___elambda__1___spec__1___closed__1;
+x_1 = l_Lean_Parser_Term_forall___elambda__1___closed__9;
x_2 = lean_ctor_get(x_1, 0);
lean_inc(x_2);
x_3 = l_Lean_Parser_noFirstTokenInfo(x_2);
@@ -23860,6 +13596,152 @@ x_2 = l_Lean_Parser_Command_declModifiers(x_1);
return x_2;
}
}
+static lean_object* _init_l_Lean_Parser_Command_declaration___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_classInductive___closed__7;
+x_2 = l_Lean_Parser_Command_structure___closed__15;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_declaration___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_inductive___closed__9;
+x_2 = l_Lean_Parser_Command_declaration___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_declaration___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_example___closed__6;
+x_2 = l_Lean_Parser_Command_declaration___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_declaration___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_axiom___closed__7;
+x_2 = l_Lean_Parser_Command_declaration___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_declaration___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_instance___closed__8;
+x_2 = l_Lean_Parser_Command_declaration___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_declaration___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_constant___closed__9;
+x_2 = l_Lean_Parser_Command_declaration___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_declaration___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_theorem___closed__8;
+x_2 = l_Lean_Parser_Command_declaration___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_declaration___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_def___closed__6;
+x_2 = l_Lean_Parser_Command_declaration___elambda__1___closed__12;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_declaration___elambda__1___closed__14() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_abbrev___closed__8;
+x_2 = l_Lean_Parser_Command_declaration___elambda__1___closed__13;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_declaration___elambda__1___closed__15() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
+x_1 = l_Lean_Parser_Command_declaration___elambda__1___closed__5;
+x_2 = lean_ctor_get(x_1, 1);
+lean_inc(x_2);
+x_3 = l_Lean_Parser_Command_declaration___elambda__1___closed__14;
+x_4 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_4, 0, x_2);
+lean_closure_set(x_4, 1, x_3);
+return x_4;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_declaration___elambda__1___closed__16() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_declaration___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_declaration___elambda__1___closed__15;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_declaration___elambda__1___closed__17() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_declaration___elambda__1___closed__16;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Command_declaration___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -23894,544 +13776,23 @@ x_14 = lean_ctor_get(x_13, 3);
lean_inc(x_14);
if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
-x_15 = lean_ctor_get(x_13, 0);
-lean_inc(x_15);
-x_16 = lean_array_get_size(x_15);
-lean_dec(x_15);
-x_17 = lean_ctor_get(x_13, 1);
-lean_inc(x_17);
-lean_inc(x_1);
-x_18 = l_Lean_Parser_Command_abbrev___elambda__1(x_1, x_13);
-x_19 = lean_ctor_get(x_18, 3);
-lean_inc(x_19);
-if (lean_obj_tag(x_19) == 0)
-{
-lean_object* x_20; lean_object* x_21;
-lean_dec(x_17);
-lean_dec(x_16);
-lean_dec(x_1);
-x_20 = l_Lean_Parser_Command_declaration___elambda__1___closed__2;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_18, x_20, x_12);
-return x_21;
+lean_object* x_15; lean_object* x_16; uint8_t x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
+x_15 = l_Lean_Parser_Command_abbrev___closed__8;
+x_16 = l_Lean_Parser_Command_declaration___elambda__1___closed__13;
+x_17 = 1;
+x_18 = l_Lean_Parser_orelseFnCore(x_15, x_16, x_17, x_1, x_13);
+x_19 = l_Lean_Parser_Command_declaration___elambda__1___closed__2;
+x_20 = l_Lean_Parser_ParserState_mkNode(x_18, x_19, x_12);
+return x_20;
}
else
{
-lean_object* x_22; lean_object* x_23; uint8_t x_24;
-x_22 = lean_ctor_get(x_19, 0);
-lean_inc(x_22);
-lean_dec(x_19);
-x_23 = lean_ctor_get(x_18, 1);
-lean_inc(x_23);
-x_24 = lean_nat_dec_eq(x_23, x_17);
-lean_dec(x_23);
-if (x_24 == 0)
-{
-lean_object* x_25; lean_object* x_26;
-lean_dec(x_22);
-lean_dec(x_17);
-lean_dec(x_16);
-lean_dec(x_1);
-x_25 = l_Lean_Parser_Command_declaration___elambda__1___closed__2;
-x_26 = l_Lean_Parser_ParserState_mkNode(x_18, x_25, x_12);
-return x_26;
-}
-else
-{
-lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31;
-lean_inc(x_17);
-x_27 = l_Lean_Parser_ParserState_restore(x_18, x_16, x_17);
-lean_dec(x_16);
-x_28 = lean_ctor_get(x_27, 0);
-lean_inc(x_28);
-x_29 = lean_array_get_size(x_28);
-lean_dec(x_28);
-lean_inc(x_1);
-x_30 = l_Lean_Parser_Command_def___elambda__1(x_1, x_27);
-x_31 = lean_ctor_get(x_30, 3);
-lean_inc(x_31);
-if (lean_obj_tag(x_31) == 0)
-{
-uint8_t x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35;
-lean_dec(x_29);
-lean_dec(x_1);
-x_32 = 1;
-x_33 = l_Lean_Parser_mergeOrElseErrors(x_30, x_22, x_17, x_32);
-lean_dec(x_17);
-x_34 = l_Lean_Parser_Command_declaration___elambda__1___closed__2;
-x_35 = l_Lean_Parser_ParserState_mkNode(x_33, x_34, x_12);
-return x_35;
-}
-else
-{
-lean_object* x_36; lean_object* x_37; uint8_t x_38;
-x_36 = lean_ctor_get(x_31, 0);
-lean_inc(x_36);
-lean_dec(x_31);
-x_37 = lean_ctor_get(x_30, 1);
-lean_inc(x_37);
-x_38 = lean_nat_dec_eq(x_37, x_17);
-lean_dec(x_37);
-if (x_38 == 0)
-{
-uint8_t x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42;
-lean_dec(x_36);
-lean_dec(x_29);
-lean_dec(x_1);
-x_39 = 1;
-x_40 = l_Lean_Parser_mergeOrElseErrors(x_30, x_22, x_17, x_39);
-lean_dec(x_17);
-x_41 = l_Lean_Parser_Command_declaration___elambda__1___closed__2;
-x_42 = l_Lean_Parser_ParserState_mkNode(x_40, x_41, x_12);
-return x_42;
-}
-else
-{
-lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47;
-lean_inc(x_17);
-x_43 = l_Lean_Parser_ParserState_restore(x_30, x_29, x_17);
-lean_dec(x_29);
-x_44 = lean_ctor_get(x_43, 0);
-lean_inc(x_44);
-x_45 = lean_array_get_size(x_44);
-lean_dec(x_44);
-lean_inc(x_1);
-x_46 = l_Lean_Parser_Command_theorem___elambda__1(x_1, x_43);
-x_47 = lean_ctor_get(x_46, 3);
-lean_inc(x_47);
-if (lean_obj_tag(x_47) == 0)
-{
-uint8_t x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52;
-lean_dec(x_45);
-lean_dec(x_1);
-x_48 = 1;
-x_49 = l_Lean_Parser_mergeOrElseErrors(x_46, x_36, x_17, x_48);
-x_50 = l_Lean_Parser_mergeOrElseErrors(x_49, x_22, x_17, x_48);
-lean_dec(x_17);
-x_51 = l_Lean_Parser_Command_declaration___elambda__1___closed__2;
-x_52 = l_Lean_Parser_ParserState_mkNode(x_50, x_51, x_12);
-return x_52;
-}
-else
-{
-lean_object* x_53; lean_object* x_54; uint8_t x_55;
-x_53 = lean_ctor_get(x_47, 0);
-lean_inc(x_53);
-lean_dec(x_47);
-x_54 = lean_ctor_get(x_46, 1);
-lean_inc(x_54);
-x_55 = lean_nat_dec_eq(x_54, x_17);
-lean_dec(x_54);
-if (x_55 == 0)
-{
-uint8_t x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60;
-lean_dec(x_53);
-lean_dec(x_45);
-lean_dec(x_1);
-x_56 = 1;
-x_57 = l_Lean_Parser_mergeOrElseErrors(x_46, x_36, x_17, x_56);
-x_58 = l_Lean_Parser_mergeOrElseErrors(x_57, x_22, x_17, x_56);
-lean_dec(x_17);
-x_59 = l_Lean_Parser_Command_declaration___elambda__1___closed__2;
-x_60 = l_Lean_Parser_ParserState_mkNode(x_58, x_59, x_12);
-return x_60;
-}
-else
-{
-lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65;
-lean_inc(x_17);
-x_61 = l_Lean_Parser_ParserState_restore(x_46, x_45, x_17);
-lean_dec(x_45);
-x_62 = lean_ctor_get(x_61, 0);
-lean_inc(x_62);
-x_63 = lean_array_get_size(x_62);
-lean_dec(x_62);
-lean_inc(x_1);
-x_64 = l_Lean_Parser_Command_constant___elambda__1(x_1, x_61);
-x_65 = lean_ctor_get(x_64, 3);
-lean_inc(x_65);
-if (lean_obj_tag(x_65) == 0)
-{
-uint8_t 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_63);
-lean_dec(x_1);
-x_66 = 1;
-x_67 = l_Lean_Parser_mergeOrElseErrors(x_64, x_53, x_17, x_66);
-x_68 = l_Lean_Parser_mergeOrElseErrors(x_67, x_36, x_17, x_66);
-x_69 = l_Lean_Parser_mergeOrElseErrors(x_68, x_22, x_17, x_66);
-lean_dec(x_17);
-x_70 = l_Lean_Parser_Command_declaration___elambda__1___closed__2;
-x_71 = l_Lean_Parser_ParserState_mkNode(x_69, x_70, x_12);
-return x_71;
-}
-else
-{
-lean_object* x_72; lean_object* x_73; uint8_t x_74;
-x_72 = lean_ctor_get(x_65, 0);
-lean_inc(x_72);
-lean_dec(x_65);
-x_73 = lean_ctor_get(x_64, 1);
-lean_inc(x_73);
-x_74 = lean_nat_dec_eq(x_73, x_17);
-lean_dec(x_73);
-if (x_74 == 0)
-{
-uint8_t x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80;
-lean_dec(x_72);
-lean_dec(x_63);
-lean_dec(x_1);
-x_75 = 1;
-x_76 = l_Lean_Parser_mergeOrElseErrors(x_64, x_53, x_17, x_75);
-x_77 = l_Lean_Parser_mergeOrElseErrors(x_76, x_36, x_17, x_75);
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_77, x_22, x_17, x_75);
-lean_dec(x_17);
-x_79 = l_Lean_Parser_Command_declaration___elambda__1___closed__2;
-x_80 = l_Lean_Parser_ParserState_mkNode(x_78, x_79, x_12);
-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_inc(x_17);
-x_81 = l_Lean_Parser_ParserState_restore(x_64, x_63, x_17);
-lean_dec(x_63);
-x_82 = lean_ctor_get(x_81, 0);
-lean_inc(x_82);
-x_83 = lean_array_get_size(x_82);
-lean_dec(x_82);
-lean_inc(x_1);
-x_84 = l_Lean_Parser_Command_instance___elambda__1(x_1, x_81);
-x_85 = lean_ctor_get(x_84, 3);
-lean_inc(x_85);
-if (lean_obj_tag(x_85) == 0)
-{
-uint8_t 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_dec(x_83);
-lean_dec(x_1);
-x_86 = 1;
-x_87 = l_Lean_Parser_mergeOrElseErrors(x_84, x_72, x_17, x_86);
-x_88 = l_Lean_Parser_mergeOrElseErrors(x_87, x_53, x_17, x_86);
-x_89 = l_Lean_Parser_mergeOrElseErrors(x_88, x_36, x_17, x_86);
-x_90 = l_Lean_Parser_mergeOrElseErrors(x_89, x_22, x_17, x_86);
-lean_dec(x_17);
-x_91 = l_Lean_Parser_Command_declaration___elambda__1___closed__2;
-x_92 = l_Lean_Parser_ParserState_mkNode(x_90, x_91, x_12);
-return x_92;
-}
-else
-{
-lean_object* x_93; lean_object* x_94; uint8_t x_95;
-x_93 = lean_ctor_get(x_85, 0);
-lean_inc(x_93);
-lean_dec(x_85);
-x_94 = lean_ctor_get(x_84, 1);
-lean_inc(x_94);
-x_95 = lean_nat_dec_eq(x_94, x_17);
-lean_dec(x_94);
-if (x_95 == 0)
-{
-uint8_t 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_dec(x_93);
-lean_dec(x_83);
-lean_dec(x_1);
-x_96 = 1;
-x_97 = l_Lean_Parser_mergeOrElseErrors(x_84, x_72, x_17, x_96);
-x_98 = l_Lean_Parser_mergeOrElseErrors(x_97, x_53, x_17, x_96);
-x_99 = l_Lean_Parser_mergeOrElseErrors(x_98, x_36, x_17, x_96);
-x_100 = l_Lean_Parser_mergeOrElseErrors(x_99, x_22, x_17, x_96);
-lean_dec(x_17);
-x_101 = l_Lean_Parser_Command_declaration___elambda__1___closed__2;
-x_102 = l_Lean_Parser_ParserState_mkNode(x_100, x_101, x_12);
-return x_102;
-}
-else
-{
-lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107;
-lean_inc(x_17);
-x_103 = l_Lean_Parser_ParserState_restore(x_84, x_83, x_17);
-lean_dec(x_83);
-x_104 = lean_ctor_get(x_103, 0);
-lean_inc(x_104);
-x_105 = lean_array_get_size(x_104);
-lean_dec(x_104);
-lean_inc(x_1);
-x_106 = l_Lean_Parser_Command_axiom___elambda__1(x_1, x_103);
-x_107 = lean_ctor_get(x_106, 3);
-lean_inc(x_107);
-if (lean_obj_tag(x_107) == 0)
-{
-uint8_t 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_dec(x_105);
-lean_dec(x_1);
-x_108 = 1;
-x_109 = l_Lean_Parser_mergeOrElseErrors(x_106, x_93, x_17, x_108);
-x_110 = l_Lean_Parser_mergeOrElseErrors(x_109, x_72, x_17, x_108);
-x_111 = l_Lean_Parser_mergeOrElseErrors(x_110, x_53, x_17, x_108);
-x_112 = l_Lean_Parser_mergeOrElseErrors(x_111, x_36, x_17, x_108);
-x_113 = l_Lean_Parser_mergeOrElseErrors(x_112, x_22, x_17, x_108);
-lean_dec(x_17);
-x_114 = l_Lean_Parser_Command_declaration___elambda__1___closed__2;
-x_115 = l_Lean_Parser_ParserState_mkNode(x_113, x_114, x_12);
-return x_115;
-}
-else
-{
-lean_object* x_116; lean_object* x_117; uint8_t x_118;
-x_116 = lean_ctor_get(x_107, 0);
-lean_inc(x_116);
-lean_dec(x_107);
-x_117 = lean_ctor_get(x_106, 1);
-lean_inc(x_117);
-x_118 = lean_nat_dec_eq(x_117, x_17);
-lean_dec(x_117);
-if (x_118 == 0)
-{
-uint8_t 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_dec(x_116);
-lean_dec(x_105);
-lean_dec(x_1);
-x_119 = 1;
-x_120 = l_Lean_Parser_mergeOrElseErrors(x_106, x_93, x_17, x_119);
-x_121 = l_Lean_Parser_mergeOrElseErrors(x_120, x_72, x_17, x_119);
-x_122 = l_Lean_Parser_mergeOrElseErrors(x_121, x_53, x_17, x_119);
-x_123 = l_Lean_Parser_mergeOrElseErrors(x_122, x_36, x_17, x_119);
-x_124 = l_Lean_Parser_mergeOrElseErrors(x_123, x_22, x_17, x_119);
-lean_dec(x_17);
-x_125 = l_Lean_Parser_Command_declaration___elambda__1___closed__2;
-x_126 = l_Lean_Parser_ParserState_mkNode(x_124, x_125, x_12);
-return x_126;
-}
-else
-{
-lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131;
-lean_inc(x_17);
-x_127 = l_Lean_Parser_ParserState_restore(x_106, x_105, x_17);
-lean_dec(x_105);
-x_128 = lean_ctor_get(x_127, 0);
-lean_inc(x_128);
-x_129 = lean_array_get_size(x_128);
-lean_dec(x_128);
-lean_inc(x_1);
-x_130 = l_Lean_Parser_Command_example___elambda__1(x_1, x_127);
-x_131 = lean_ctor_get(x_130, 3);
-lean_inc(x_131);
-if (lean_obj_tag(x_131) == 0)
-{
-uint8_t x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140;
-lean_dec(x_129);
-lean_dec(x_1);
-x_132 = 1;
-x_133 = l_Lean_Parser_mergeOrElseErrors(x_130, x_116, x_17, x_132);
-x_134 = l_Lean_Parser_mergeOrElseErrors(x_133, x_93, x_17, x_132);
-x_135 = l_Lean_Parser_mergeOrElseErrors(x_134, x_72, x_17, x_132);
-x_136 = l_Lean_Parser_mergeOrElseErrors(x_135, x_53, x_17, x_132);
-x_137 = l_Lean_Parser_mergeOrElseErrors(x_136, x_36, x_17, x_132);
-x_138 = l_Lean_Parser_mergeOrElseErrors(x_137, x_22, x_17, x_132);
-lean_dec(x_17);
-x_139 = l_Lean_Parser_Command_declaration___elambda__1___closed__2;
-x_140 = l_Lean_Parser_ParserState_mkNode(x_138, x_139, x_12);
-return x_140;
-}
-else
-{
-lean_object* x_141; lean_object* x_142; uint8_t x_143;
-x_141 = lean_ctor_get(x_131, 0);
-lean_inc(x_141);
-lean_dec(x_131);
-x_142 = lean_ctor_get(x_130, 1);
-lean_inc(x_142);
-x_143 = lean_nat_dec_eq(x_142, x_17);
-lean_dec(x_142);
-if (x_143 == 0)
-{
-uint8_t x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152;
-lean_dec(x_141);
-lean_dec(x_129);
-lean_dec(x_1);
-x_144 = 1;
-x_145 = l_Lean_Parser_mergeOrElseErrors(x_130, x_116, x_17, x_144);
-x_146 = l_Lean_Parser_mergeOrElseErrors(x_145, x_93, x_17, x_144);
-x_147 = l_Lean_Parser_mergeOrElseErrors(x_146, x_72, x_17, x_144);
-x_148 = l_Lean_Parser_mergeOrElseErrors(x_147, x_53, x_17, x_144);
-x_149 = l_Lean_Parser_mergeOrElseErrors(x_148, x_36, x_17, x_144);
-x_150 = l_Lean_Parser_mergeOrElseErrors(x_149, x_22, x_17, x_144);
-lean_dec(x_17);
-x_151 = l_Lean_Parser_Command_declaration___elambda__1___closed__2;
-x_152 = l_Lean_Parser_ParserState_mkNode(x_150, x_151, x_12);
-return x_152;
-}
-else
-{
-lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157;
-lean_inc(x_17);
-x_153 = l_Lean_Parser_ParserState_restore(x_130, x_129, x_17);
-lean_dec(x_129);
-x_154 = lean_ctor_get(x_153, 0);
-lean_inc(x_154);
-x_155 = lean_array_get_size(x_154);
-lean_dec(x_154);
-lean_inc(x_1);
-x_156 = l_Lean_Parser_Command_inductive___elambda__1(x_1, x_153);
-x_157 = lean_ctor_get(x_156, 3);
-lean_inc(x_157);
-if (lean_obj_tag(x_157) == 0)
-{
-uint8_t x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167;
-lean_dec(x_155);
-lean_dec(x_1);
-x_158 = 1;
-x_159 = l_Lean_Parser_mergeOrElseErrors(x_156, x_141, x_17, x_158);
-x_160 = l_Lean_Parser_mergeOrElseErrors(x_159, x_116, x_17, x_158);
-x_161 = l_Lean_Parser_mergeOrElseErrors(x_160, x_93, x_17, x_158);
-x_162 = l_Lean_Parser_mergeOrElseErrors(x_161, x_72, x_17, x_158);
-x_163 = l_Lean_Parser_mergeOrElseErrors(x_162, x_53, x_17, x_158);
-x_164 = l_Lean_Parser_mergeOrElseErrors(x_163, x_36, x_17, x_158);
-x_165 = l_Lean_Parser_mergeOrElseErrors(x_164, x_22, x_17, x_158);
-lean_dec(x_17);
-x_166 = l_Lean_Parser_Command_declaration___elambda__1___closed__2;
-x_167 = l_Lean_Parser_ParserState_mkNode(x_165, x_166, x_12);
-return x_167;
-}
-else
-{
-lean_object* x_168; lean_object* x_169; uint8_t x_170;
-x_168 = lean_ctor_get(x_157, 0);
-lean_inc(x_168);
-lean_dec(x_157);
-x_169 = lean_ctor_get(x_156, 1);
-lean_inc(x_169);
-x_170 = lean_nat_dec_eq(x_169, x_17);
-lean_dec(x_169);
-if (x_170 == 0)
-{
-uint8_t x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180;
-lean_dec(x_168);
-lean_dec(x_155);
-lean_dec(x_1);
-x_171 = 1;
-x_172 = l_Lean_Parser_mergeOrElseErrors(x_156, x_141, x_17, x_171);
-x_173 = l_Lean_Parser_mergeOrElseErrors(x_172, x_116, x_17, x_171);
-x_174 = l_Lean_Parser_mergeOrElseErrors(x_173, x_93, x_17, x_171);
-x_175 = l_Lean_Parser_mergeOrElseErrors(x_174, x_72, x_17, x_171);
-x_176 = l_Lean_Parser_mergeOrElseErrors(x_175, x_53, x_17, x_171);
-x_177 = l_Lean_Parser_mergeOrElseErrors(x_176, x_36, x_17, x_171);
-x_178 = l_Lean_Parser_mergeOrElseErrors(x_177, x_22, x_17, x_171);
-lean_dec(x_17);
-x_179 = l_Lean_Parser_Command_declaration___elambda__1___closed__2;
-x_180 = l_Lean_Parser_ParserState_mkNode(x_178, x_179, x_12);
-return x_180;
-}
-else
-{
-lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185;
-lean_inc(x_17);
-x_181 = l_Lean_Parser_ParserState_restore(x_156, x_155, x_17);
-lean_dec(x_155);
-x_182 = lean_ctor_get(x_181, 0);
-lean_inc(x_182);
-x_183 = lean_array_get_size(x_182);
-lean_dec(x_182);
-lean_inc(x_1);
-x_184 = l_Lean_Parser_Command_classInductive___elambda__1(x_1, x_181);
-x_185 = lean_ctor_get(x_184, 3);
-lean_inc(x_185);
-if (lean_obj_tag(x_185) == 0)
-{
-uint8_t x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196;
-lean_dec(x_183);
-lean_dec(x_1);
-x_186 = 1;
-x_187 = l_Lean_Parser_mergeOrElseErrors(x_184, x_168, x_17, x_186);
-x_188 = l_Lean_Parser_mergeOrElseErrors(x_187, x_141, x_17, x_186);
-x_189 = l_Lean_Parser_mergeOrElseErrors(x_188, x_116, x_17, x_186);
-x_190 = l_Lean_Parser_mergeOrElseErrors(x_189, x_93, x_17, x_186);
-x_191 = l_Lean_Parser_mergeOrElseErrors(x_190, x_72, x_17, x_186);
-x_192 = l_Lean_Parser_mergeOrElseErrors(x_191, x_53, x_17, x_186);
-x_193 = l_Lean_Parser_mergeOrElseErrors(x_192, x_36, x_17, x_186);
-x_194 = l_Lean_Parser_mergeOrElseErrors(x_193, x_22, x_17, x_186);
-lean_dec(x_17);
-x_195 = l_Lean_Parser_Command_declaration___elambda__1___closed__2;
-x_196 = l_Lean_Parser_ParserState_mkNode(x_194, x_195, x_12);
-return x_196;
-}
-else
-{
-lean_object* x_197; lean_object* x_198; uint8_t x_199;
-x_197 = lean_ctor_get(x_185, 0);
-lean_inc(x_197);
-lean_dec(x_185);
-x_198 = lean_ctor_get(x_184, 1);
-lean_inc(x_198);
-x_199 = lean_nat_dec_eq(x_198, x_17);
-lean_dec(x_198);
-if (x_199 == 0)
-{
-uint8_t x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210;
-lean_dec(x_197);
-lean_dec(x_183);
-lean_dec(x_1);
-x_200 = 1;
-x_201 = l_Lean_Parser_mergeOrElseErrors(x_184, x_168, x_17, x_200);
-x_202 = l_Lean_Parser_mergeOrElseErrors(x_201, x_141, x_17, x_200);
-x_203 = l_Lean_Parser_mergeOrElseErrors(x_202, x_116, x_17, x_200);
-x_204 = l_Lean_Parser_mergeOrElseErrors(x_203, x_93, x_17, x_200);
-x_205 = l_Lean_Parser_mergeOrElseErrors(x_204, x_72, x_17, x_200);
-x_206 = l_Lean_Parser_mergeOrElseErrors(x_205, x_53, x_17, x_200);
-x_207 = l_Lean_Parser_mergeOrElseErrors(x_206, x_36, x_17, x_200);
-x_208 = l_Lean_Parser_mergeOrElseErrors(x_207, x_22, x_17, x_200);
-lean_dec(x_17);
-x_209 = l_Lean_Parser_Command_declaration___elambda__1___closed__2;
-x_210 = l_Lean_Parser_ParserState_mkNode(x_208, x_209, x_12);
-return x_210;
-}
-else
-{
-lean_object* x_211; lean_object* x_212; uint8_t x_213; lean_object* x_214; lean_object* x_215; lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; lean_object* x_221; lean_object* x_222; lean_object* x_223; lean_object* x_224;
-lean_inc(x_17);
-x_211 = l_Lean_Parser_ParserState_restore(x_184, x_183, x_17);
-lean_dec(x_183);
-x_212 = l_Lean_Parser_Command_structure___elambda__1(x_1, x_211);
-x_213 = 1;
-x_214 = l_Lean_Parser_mergeOrElseErrors(x_212, x_197, x_17, x_213);
-x_215 = l_Lean_Parser_mergeOrElseErrors(x_214, x_168, x_17, x_213);
-x_216 = l_Lean_Parser_mergeOrElseErrors(x_215, x_141, x_17, x_213);
-x_217 = l_Lean_Parser_mergeOrElseErrors(x_216, x_116, x_17, x_213);
-x_218 = l_Lean_Parser_mergeOrElseErrors(x_217, x_93, x_17, x_213);
-x_219 = l_Lean_Parser_mergeOrElseErrors(x_218, x_72, x_17, x_213);
-x_220 = l_Lean_Parser_mergeOrElseErrors(x_219, x_53, x_17, x_213);
-x_221 = l_Lean_Parser_mergeOrElseErrors(x_220, x_36, x_17, x_213);
-x_222 = l_Lean_Parser_mergeOrElseErrors(x_221, x_22, x_17, x_213);
-lean_dec(x_17);
-x_223 = l_Lean_Parser_Command_declaration___elambda__1___closed__2;
-x_224 = l_Lean_Parser_ParserState_mkNode(x_222, x_223, x_12);
-return x_224;
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-else
-{
-lean_object* x_225; lean_object* x_226;
+lean_object* x_21; lean_object* x_22;
lean_dec(x_14);
lean_dec(x_1);
-x_225 = l_Lean_Parser_Command_declaration___elambda__1___closed__2;
-x_226 = l_Lean_Parser_ParserState_mkNode(x_13, x_225, x_12);
-return x_226;
+x_21 = l_Lean_Parser_Command_declaration___elambda__1___closed__2;
+x_22 = l_Lean_Parser_ParserState_mkNode(x_13, x_21, x_12);
+return x_22;
}
}
else
@@ -24444,663 +13805,12 @@ return x_9;
}
else
{
-lean_object* x_227; lean_object* x_228; lean_object* x_229; lean_object* x_230; lean_object* x_231;
-x_227 = lean_ctor_get(x_2, 0);
-lean_inc(x_227);
-x_228 = lean_array_get_size(x_227);
-lean_dec(x_227);
-x_229 = lean_ctor_get(x_2, 1);
-lean_inc(x_229);
-lean_inc(x_1);
-x_230 = lean_apply_2(x_6, x_1, x_2);
-x_231 = lean_ctor_get(x_230, 3);
-lean_inc(x_231);
-if (lean_obj_tag(x_231) == 0)
-{
-lean_dec(x_229);
-lean_dec(x_228);
+lean_object* x_23; uint8_t x_24; lean_object* x_25;
lean_dec(x_4);
-lean_dec(x_1);
-return x_230;
-}
-else
-{
-lean_object* x_232; lean_object* x_233; uint8_t x_234;
-x_232 = lean_ctor_get(x_231, 0);
-lean_inc(x_232);
-lean_dec(x_231);
-x_233 = lean_ctor_get(x_230, 1);
-lean_inc(x_233);
-x_234 = lean_nat_dec_eq(x_233, x_229);
-lean_dec(x_233);
-if (x_234 == 0)
-{
-lean_dec(x_232);
-lean_dec(x_229);
-lean_dec(x_228);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_230;
-}
-else
-{
-lean_object* x_235; lean_object* x_236; lean_object* x_237; lean_object* x_238;
-lean_inc(x_229);
-x_235 = l_Lean_Parser_ParserState_restore(x_230, x_228, x_229);
-lean_dec(x_228);
-x_236 = lean_unsigned_to_nat(1024u);
-x_237 = l_Lean_Parser_checkPrecFn(x_236, x_1, x_235);
-x_238 = lean_ctor_get(x_237, 3);
-lean_inc(x_238);
-if (lean_obj_tag(x_238) == 0)
-{
-lean_object* x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242;
-x_239 = lean_ctor_get(x_237, 0);
-lean_inc(x_239);
-x_240 = lean_array_get_size(x_239);
-lean_dec(x_239);
-lean_inc(x_1);
-x_241 = lean_apply_2(x_4, x_1, x_237);
-x_242 = lean_ctor_get(x_241, 3);
-lean_inc(x_242);
-if (lean_obj_tag(x_242) == 0)
-{
-lean_object* x_243; lean_object* x_244; lean_object* x_245; lean_object* x_246; lean_object* x_247;
-x_243 = lean_ctor_get(x_241, 0);
-lean_inc(x_243);
-x_244 = lean_array_get_size(x_243);
-lean_dec(x_243);
-x_245 = lean_ctor_get(x_241, 1);
-lean_inc(x_245);
-lean_inc(x_1);
-x_246 = l_Lean_Parser_Command_abbrev___elambda__1(x_1, x_241);
-x_247 = lean_ctor_get(x_246, 3);
-lean_inc(x_247);
-if (lean_obj_tag(x_247) == 0)
-{
-lean_object* x_248; lean_object* x_249; uint8_t x_250; lean_object* x_251;
-lean_dec(x_245);
-lean_dec(x_244);
-lean_dec(x_1);
-x_248 = l_Lean_Parser_Command_declaration___elambda__1___closed__2;
-x_249 = l_Lean_Parser_ParserState_mkNode(x_246, x_248, x_240);
-x_250 = 1;
-x_251 = l_Lean_Parser_mergeOrElseErrors(x_249, x_232, x_229, x_250);
-lean_dec(x_229);
-return x_251;
-}
-else
-{
-lean_object* x_252; lean_object* x_253; uint8_t x_254;
-x_252 = lean_ctor_get(x_247, 0);
-lean_inc(x_252);
-lean_dec(x_247);
-x_253 = lean_ctor_get(x_246, 1);
-lean_inc(x_253);
-x_254 = lean_nat_dec_eq(x_253, x_245);
-lean_dec(x_253);
-if (x_254 == 0)
-{
-lean_object* x_255; lean_object* x_256; uint8_t x_257; lean_object* x_258;
-lean_dec(x_252);
-lean_dec(x_245);
-lean_dec(x_244);
-lean_dec(x_1);
-x_255 = l_Lean_Parser_Command_declaration___elambda__1___closed__2;
-x_256 = l_Lean_Parser_ParserState_mkNode(x_246, x_255, x_240);
-x_257 = 1;
-x_258 = l_Lean_Parser_mergeOrElseErrors(x_256, x_232, x_229, x_257);
-lean_dec(x_229);
-return x_258;
-}
-else
-{
-lean_object* x_259; lean_object* x_260; lean_object* x_261; lean_object* x_262; lean_object* x_263;
-lean_inc(x_245);
-x_259 = l_Lean_Parser_ParserState_restore(x_246, x_244, x_245);
-lean_dec(x_244);
-x_260 = lean_ctor_get(x_259, 0);
-lean_inc(x_260);
-x_261 = lean_array_get_size(x_260);
-lean_dec(x_260);
-lean_inc(x_1);
-x_262 = l_Lean_Parser_Command_def___elambda__1(x_1, x_259);
-x_263 = lean_ctor_get(x_262, 3);
-lean_inc(x_263);
-if (lean_obj_tag(x_263) == 0)
-{
-uint8_t x_264; lean_object* x_265; lean_object* x_266; lean_object* x_267; lean_object* x_268;
-lean_dec(x_261);
-lean_dec(x_1);
-x_264 = 1;
-x_265 = l_Lean_Parser_mergeOrElseErrors(x_262, x_252, x_245, x_264);
-lean_dec(x_245);
-x_266 = l_Lean_Parser_Command_declaration___elambda__1___closed__2;
-x_267 = l_Lean_Parser_ParserState_mkNode(x_265, x_266, x_240);
-x_268 = l_Lean_Parser_mergeOrElseErrors(x_267, x_232, x_229, x_264);
-lean_dec(x_229);
-return x_268;
-}
-else
-{
-lean_object* x_269; lean_object* x_270; uint8_t x_271;
-x_269 = lean_ctor_get(x_263, 0);
-lean_inc(x_269);
-lean_dec(x_263);
-x_270 = lean_ctor_get(x_262, 1);
-lean_inc(x_270);
-x_271 = lean_nat_dec_eq(x_270, x_245);
-lean_dec(x_270);
-if (x_271 == 0)
-{
-uint8_t x_272; lean_object* x_273; lean_object* x_274; lean_object* x_275; lean_object* x_276;
-lean_dec(x_269);
-lean_dec(x_261);
-lean_dec(x_1);
-x_272 = 1;
-x_273 = l_Lean_Parser_mergeOrElseErrors(x_262, x_252, x_245, x_272);
-lean_dec(x_245);
-x_274 = l_Lean_Parser_Command_declaration___elambda__1___closed__2;
-x_275 = l_Lean_Parser_ParserState_mkNode(x_273, x_274, x_240);
-x_276 = l_Lean_Parser_mergeOrElseErrors(x_275, x_232, x_229, x_272);
-lean_dec(x_229);
-return x_276;
-}
-else
-{
-lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; lean_object* x_281;
-lean_inc(x_245);
-x_277 = l_Lean_Parser_ParserState_restore(x_262, x_261, x_245);
-lean_dec(x_261);
-x_278 = lean_ctor_get(x_277, 0);
-lean_inc(x_278);
-x_279 = lean_array_get_size(x_278);
-lean_dec(x_278);
-lean_inc(x_1);
-x_280 = l_Lean_Parser_Command_theorem___elambda__1(x_1, x_277);
-x_281 = lean_ctor_get(x_280, 3);
-lean_inc(x_281);
-if (lean_obj_tag(x_281) == 0)
-{
-uint8_t x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286; lean_object* x_287;
-lean_dec(x_279);
-lean_dec(x_1);
-x_282 = 1;
-x_283 = l_Lean_Parser_mergeOrElseErrors(x_280, x_269, x_245, x_282);
-x_284 = l_Lean_Parser_mergeOrElseErrors(x_283, x_252, x_245, x_282);
-lean_dec(x_245);
-x_285 = l_Lean_Parser_Command_declaration___elambda__1___closed__2;
-x_286 = l_Lean_Parser_ParserState_mkNode(x_284, x_285, x_240);
-x_287 = l_Lean_Parser_mergeOrElseErrors(x_286, x_232, x_229, x_282);
-lean_dec(x_229);
-return x_287;
-}
-else
-{
-lean_object* x_288; lean_object* x_289; uint8_t x_290;
-x_288 = lean_ctor_get(x_281, 0);
-lean_inc(x_288);
-lean_dec(x_281);
-x_289 = lean_ctor_get(x_280, 1);
-lean_inc(x_289);
-x_290 = lean_nat_dec_eq(x_289, x_245);
-lean_dec(x_289);
-if (x_290 == 0)
-{
-uint8_t x_291; lean_object* x_292; lean_object* x_293; lean_object* x_294; lean_object* x_295; lean_object* x_296;
-lean_dec(x_288);
-lean_dec(x_279);
-lean_dec(x_1);
-x_291 = 1;
-x_292 = l_Lean_Parser_mergeOrElseErrors(x_280, x_269, x_245, x_291);
-x_293 = l_Lean_Parser_mergeOrElseErrors(x_292, x_252, x_245, x_291);
-lean_dec(x_245);
-x_294 = l_Lean_Parser_Command_declaration___elambda__1___closed__2;
-x_295 = l_Lean_Parser_ParserState_mkNode(x_293, x_294, x_240);
-x_296 = l_Lean_Parser_mergeOrElseErrors(x_295, x_232, x_229, x_291);
-lean_dec(x_229);
-return x_296;
-}
-else
-{
-lean_object* x_297; lean_object* x_298; lean_object* x_299; lean_object* x_300; lean_object* x_301;
-lean_inc(x_245);
-x_297 = l_Lean_Parser_ParserState_restore(x_280, x_279, x_245);
-lean_dec(x_279);
-x_298 = lean_ctor_get(x_297, 0);
-lean_inc(x_298);
-x_299 = lean_array_get_size(x_298);
-lean_dec(x_298);
-lean_inc(x_1);
-x_300 = l_Lean_Parser_Command_constant___elambda__1(x_1, x_297);
-x_301 = lean_ctor_get(x_300, 3);
-lean_inc(x_301);
-if (lean_obj_tag(x_301) == 0)
-{
-uint8_t x_302; lean_object* x_303; lean_object* x_304; lean_object* x_305; lean_object* x_306; lean_object* x_307; lean_object* x_308;
-lean_dec(x_299);
-lean_dec(x_1);
-x_302 = 1;
-x_303 = l_Lean_Parser_mergeOrElseErrors(x_300, x_288, x_245, x_302);
-x_304 = l_Lean_Parser_mergeOrElseErrors(x_303, x_269, x_245, x_302);
-x_305 = l_Lean_Parser_mergeOrElseErrors(x_304, x_252, x_245, x_302);
-lean_dec(x_245);
-x_306 = l_Lean_Parser_Command_declaration___elambda__1___closed__2;
-x_307 = l_Lean_Parser_ParserState_mkNode(x_305, x_306, x_240);
-x_308 = l_Lean_Parser_mergeOrElseErrors(x_307, x_232, x_229, x_302);
-lean_dec(x_229);
-return x_308;
-}
-else
-{
-lean_object* x_309; lean_object* x_310; uint8_t x_311;
-x_309 = lean_ctor_get(x_301, 0);
-lean_inc(x_309);
-lean_dec(x_301);
-x_310 = lean_ctor_get(x_300, 1);
-lean_inc(x_310);
-x_311 = lean_nat_dec_eq(x_310, x_245);
-lean_dec(x_310);
-if (x_311 == 0)
-{
-uint8_t x_312; lean_object* x_313; lean_object* x_314; lean_object* x_315; lean_object* x_316; lean_object* x_317; lean_object* x_318;
-lean_dec(x_309);
-lean_dec(x_299);
-lean_dec(x_1);
-x_312 = 1;
-x_313 = l_Lean_Parser_mergeOrElseErrors(x_300, x_288, x_245, x_312);
-x_314 = l_Lean_Parser_mergeOrElseErrors(x_313, x_269, x_245, x_312);
-x_315 = l_Lean_Parser_mergeOrElseErrors(x_314, x_252, x_245, x_312);
-lean_dec(x_245);
-x_316 = l_Lean_Parser_Command_declaration___elambda__1___closed__2;
-x_317 = l_Lean_Parser_ParserState_mkNode(x_315, x_316, x_240);
-x_318 = l_Lean_Parser_mergeOrElseErrors(x_317, x_232, x_229, x_312);
-lean_dec(x_229);
-return x_318;
-}
-else
-{
-lean_object* x_319; lean_object* x_320; lean_object* x_321; lean_object* x_322; lean_object* x_323;
-lean_inc(x_245);
-x_319 = l_Lean_Parser_ParserState_restore(x_300, x_299, x_245);
-lean_dec(x_299);
-x_320 = lean_ctor_get(x_319, 0);
-lean_inc(x_320);
-x_321 = lean_array_get_size(x_320);
-lean_dec(x_320);
-lean_inc(x_1);
-x_322 = l_Lean_Parser_Command_instance___elambda__1(x_1, x_319);
-x_323 = lean_ctor_get(x_322, 3);
-lean_inc(x_323);
-if (lean_obj_tag(x_323) == 0)
-{
-uint8_t x_324; lean_object* x_325; lean_object* x_326; lean_object* x_327; lean_object* x_328; lean_object* x_329; lean_object* x_330; lean_object* x_331;
-lean_dec(x_321);
-lean_dec(x_1);
-x_324 = 1;
-x_325 = l_Lean_Parser_mergeOrElseErrors(x_322, x_309, x_245, x_324);
-x_326 = l_Lean_Parser_mergeOrElseErrors(x_325, x_288, x_245, x_324);
-x_327 = l_Lean_Parser_mergeOrElseErrors(x_326, x_269, x_245, x_324);
-x_328 = l_Lean_Parser_mergeOrElseErrors(x_327, x_252, x_245, x_324);
-lean_dec(x_245);
-x_329 = l_Lean_Parser_Command_declaration___elambda__1___closed__2;
-x_330 = l_Lean_Parser_ParserState_mkNode(x_328, x_329, x_240);
-x_331 = l_Lean_Parser_mergeOrElseErrors(x_330, x_232, x_229, x_324);
-lean_dec(x_229);
-return x_331;
-}
-else
-{
-lean_object* x_332; lean_object* x_333; uint8_t x_334;
-x_332 = lean_ctor_get(x_323, 0);
-lean_inc(x_332);
-lean_dec(x_323);
-x_333 = lean_ctor_get(x_322, 1);
-lean_inc(x_333);
-x_334 = lean_nat_dec_eq(x_333, x_245);
-lean_dec(x_333);
-if (x_334 == 0)
-{
-uint8_t x_335; lean_object* x_336; lean_object* x_337; lean_object* x_338; lean_object* x_339; lean_object* x_340; lean_object* x_341; lean_object* x_342;
-lean_dec(x_332);
-lean_dec(x_321);
-lean_dec(x_1);
-x_335 = 1;
-x_336 = l_Lean_Parser_mergeOrElseErrors(x_322, x_309, x_245, x_335);
-x_337 = l_Lean_Parser_mergeOrElseErrors(x_336, x_288, x_245, x_335);
-x_338 = l_Lean_Parser_mergeOrElseErrors(x_337, x_269, x_245, x_335);
-x_339 = l_Lean_Parser_mergeOrElseErrors(x_338, x_252, x_245, x_335);
-lean_dec(x_245);
-x_340 = l_Lean_Parser_Command_declaration___elambda__1___closed__2;
-x_341 = l_Lean_Parser_ParserState_mkNode(x_339, x_340, x_240);
-x_342 = l_Lean_Parser_mergeOrElseErrors(x_341, x_232, x_229, x_335);
-lean_dec(x_229);
-return x_342;
-}
-else
-{
-lean_object* x_343; lean_object* x_344; lean_object* x_345; lean_object* x_346; lean_object* x_347;
-lean_inc(x_245);
-x_343 = l_Lean_Parser_ParserState_restore(x_322, x_321, x_245);
-lean_dec(x_321);
-x_344 = lean_ctor_get(x_343, 0);
-lean_inc(x_344);
-x_345 = lean_array_get_size(x_344);
-lean_dec(x_344);
-lean_inc(x_1);
-x_346 = l_Lean_Parser_Command_axiom___elambda__1(x_1, x_343);
-x_347 = lean_ctor_get(x_346, 3);
-lean_inc(x_347);
-if (lean_obj_tag(x_347) == 0)
-{
-uint8_t x_348; lean_object* x_349; lean_object* x_350; lean_object* x_351; lean_object* x_352; lean_object* x_353; lean_object* x_354; lean_object* x_355; lean_object* x_356;
-lean_dec(x_345);
-lean_dec(x_1);
-x_348 = 1;
-x_349 = l_Lean_Parser_mergeOrElseErrors(x_346, x_332, x_245, x_348);
-x_350 = l_Lean_Parser_mergeOrElseErrors(x_349, x_309, x_245, x_348);
-x_351 = l_Lean_Parser_mergeOrElseErrors(x_350, x_288, x_245, x_348);
-x_352 = l_Lean_Parser_mergeOrElseErrors(x_351, x_269, x_245, x_348);
-x_353 = l_Lean_Parser_mergeOrElseErrors(x_352, x_252, x_245, x_348);
-lean_dec(x_245);
-x_354 = l_Lean_Parser_Command_declaration___elambda__1___closed__2;
-x_355 = l_Lean_Parser_ParserState_mkNode(x_353, x_354, x_240);
-x_356 = l_Lean_Parser_mergeOrElseErrors(x_355, x_232, x_229, x_348);
-lean_dec(x_229);
-return x_356;
-}
-else
-{
-lean_object* x_357; lean_object* x_358; uint8_t x_359;
-x_357 = lean_ctor_get(x_347, 0);
-lean_inc(x_357);
-lean_dec(x_347);
-x_358 = lean_ctor_get(x_346, 1);
-lean_inc(x_358);
-x_359 = lean_nat_dec_eq(x_358, x_245);
-lean_dec(x_358);
-if (x_359 == 0)
-{
-uint8_t x_360; lean_object* x_361; lean_object* x_362; lean_object* x_363; lean_object* x_364; lean_object* x_365; lean_object* x_366; lean_object* x_367; lean_object* x_368;
-lean_dec(x_357);
-lean_dec(x_345);
-lean_dec(x_1);
-x_360 = 1;
-x_361 = l_Lean_Parser_mergeOrElseErrors(x_346, x_332, x_245, x_360);
-x_362 = l_Lean_Parser_mergeOrElseErrors(x_361, x_309, x_245, x_360);
-x_363 = l_Lean_Parser_mergeOrElseErrors(x_362, x_288, x_245, x_360);
-x_364 = l_Lean_Parser_mergeOrElseErrors(x_363, x_269, x_245, x_360);
-x_365 = l_Lean_Parser_mergeOrElseErrors(x_364, x_252, x_245, x_360);
-lean_dec(x_245);
-x_366 = l_Lean_Parser_Command_declaration___elambda__1___closed__2;
-x_367 = l_Lean_Parser_ParserState_mkNode(x_365, x_366, x_240);
-x_368 = l_Lean_Parser_mergeOrElseErrors(x_367, x_232, x_229, x_360);
-lean_dec(x_229);
-return x_368;
-}
-else
-{
-lean_object* x_369; lean_object* x_370; lean_object* x_371; lean_object* x_372; lean_object* x_373;
-lean_inc(x_245);
-x_369 = l_Lean_Parser_ParserState_restore(x_346, x_345, x_245);
-lean_dec(x_345);
-x_370 = lean_ctor_get(x_369, 0);
-lean_inc(x_370);
-x_371 = lean_array_get_size(x_370);
-lean_dec(x_370);
-lean_inc(x_1);
-x_372 = l_Lean_Parser_Command_example___elambda__1(x_1, x_369);
-x_373 = lean_ctor_get(x_372, 3);
-lean_inc(x_373);
-if (lean_obj_tag(x_373) == 0)
-{
-uint8_t x_374; lean_object* x_375; lean_object* x_376; lean_object* x_377; lean_object* x_378; lean_object* x_379; lean_object* x_380; lean_object* x_381; lean_object* x_382; lean_object* x_383;
-lean_dec(x_371);
-lean_dec(x_1);
-x_374 = 1;
-x_375 = l_Lean_Parser_mergeOrElseErrors(x_372, x_357, x_245, x_374);
-x_376 = l_Lean_Parser_mergeOrElseErrors(x_375, x_332, x_245, x_374);
-x_377 = l_Lean_Parser_mergeOrElseErrors(x_376, x_309, x_245, x_374);
-x_378 = l_Lean_Parser_mergeOrElseErrors(x_377, x_288, x_245, x_374);
-x_379 = l_Lean_Parser_mergeOrElseErrors(x_378, x_269, x_245, x_374);
-x_380 = l_Lean_Parser_mergeOrElseErrors(x_379, x_252, x_245, x_374);
-lean_dec(x_245);
-x_381 = l_Lean_Parser_Command_declaration___elambda__1___closed__2;
-x_382 = l_Lean_Parser_ParserState_mkNode(x_380, x_381, x_240);
-x_383 = l_Lean_Parser_mergeOrElseErrors(x_382, x_232, x_229, x_374);
-lean_dec(x_229);
-return x_383;
-}
-else
-{
-lean_object* x_384; lean_object* x_385; uint8_t x_386;
-x_384 = lean_ctor_get(x_373, 0);
-lean_inc(x_384);
-lean_dec(x_373);
-x_385 = lean_ctor_get(x_372, 1);
-lean_inc(x_385);
-x_386 = lean_nat_dec_eq(x_385, x_245);
-lean_dec(x_385);
-if (x_386 == 0)
-{
-uint8_t x_387; lean_object* x_388; lean_object* x_389; lean_object* x_390; lean_object* x_391; lean_object* x_392; lean_object* x_393; lean_object* x_394; lean_object* x_395; lean_object* x_396;
-lean_dec(x_384);
-lean_dec(x_371);
-lean_dec(x_1);
-x_387 = 1;
-x_388 = l_Lean_Parser_mergeOrElseErrors(x_372, x_357, x_245, x_387);
-x_389 = l_Lean_Parser_mergeOrElseErrors(x_388, x_332, x_245, x_387);
-x_390 = l_Lean_Parser_mergeOrElseErrors(x_389, x_309, x_245, x_387);
-x_391 = l_Lean_Parser_mergeOrElseErrors(x_390, x_288, x_245, x_387);
-x_392 = l_Lean_Parser_mergeOrElseErrors(x_391, x_269, x_245, x_387);
-x_393 = l_Lean_Parser_mergeOrElseErrors(x_392, x_252, x_245, x_387);
-lean_dec(x_245);
-x_394 = l_Lean_Parser_Command_declaration___elambda__1___closed__2;
-x_395 = l_Lean_Parser_ParserState_mkNode(x_393, x_394, x_240);
-x_396 = l_Lean_Parser_mergeOrElseErrors(x_395, x_232, x_229, x_387);
-lean_dec(x_229);
-return x_396;
-}
-else
-{
-lean_object* x_397; lean_object* x_398; lean_object* x_399; lean_object* x_400; lean_object* x_401;
-lean_inc(x_245);
-x_397 = l_Lean_Parser_ParserState_restore(x_372, x_371, x_245);
-lean_dec(x_371);
-x_398 = lean_ctor_get(x_397, 0);
-lean_inc(x_398);
-x_399 = lean_array_get_size(x_398);
-lean_dec(x_398);
-lean_inc(x_1);
-x_400 = l_Lean_Parser_Command_inductive___elambda__1(x_1, x_397);
-x_401 = lean_ctor_get(x_400, 3);
-lean_inc(x_401);
-if (lean_obj_tag(x_401) == 0)
-{
-uint8_t x_402; lean_object* x_403; lean_object* x_404; lean_object* x_405; lean_object* x_406; lean_object* x_407; lean_object* x_408; lean_object* x_409; lean_object* x_410; lean_object* x_411; lean_object* x_412;
-lean_dec(x_399);
-lean_dec(x_1);
-x_402 = 1;
-x_403 = l_Lean_Parser_mergeOrElseErrors(x_400, x_384, x_245, x_402);
-x_404 = l_Lean_Parser_mergeOrElseErrors(x_403, x_357, x_245, x_402);
-x_405 = l_Lean_Parser_mergeOrElseErrors(x_404, x_332, x_245, x_402);
-x_406 = l_Lean_Parser_mergeOrElseErrors(x_405, x_309, x_245, x_402);
-x_407 = l_Lean_Parser_mergeOrElseErrors(x_406, x_288, x_245, x_402);
-x_408 = l_Lean_Parser_mergeOrElseErrors(x_407, x_269, x_245, x_402);
-x_409 = l_Lean_Parser_mergeOrElseErrors(x_408, x_252, x_245, x_402);
-lean_dec(x_245);
-x_410 = l_Lean_Parser_Command_declaration___elambda__1___closed__2;
-x_411 = l_Lean_Parser_ParserState_mkNode(x_409, x_410, x_240);
-x_412 = l_Lean_Parser_mergeOrElseErrors(x_411, x_232, x_229, x_402);
-lean_dec(x_229);
-return x_412;
-}
-else
-{
-lean_object* x_413; lean_object* x_414; uint8_t x_415;
-x_413 = lean_ctor_get(x_401, 0);
-lean_inc(x_413);
-lean_dec(x_401);
-x_414 = lean_ctor_get(x_400, 1);
-lean_inc(x_414);
-x_415 = lean_nat_dec_eq(x_414, x_245);
-lean_dec(x_414);
-if (x_415 == 0)
-{
-uint8_t x_416; lean_object* x_417; lean_object* x_418; lean_object* x_419; lean_object* x_420; lean_object* x_421; lean_object* x_422; lean_object* x_423; lean_object* x_424; lean_object* x_425; lean_object* x_426;
-lean_dec(x_413);
-lean_dec(x_399);
-lean_dec(x_1);
-x_416 = 1;
-x_417 = l_Lean_Parser_mergeOrElseErrors(x_400, x_384, x_245, x_416);
-x_418 = l_Lean_Parser_mergeOrElseErrors(x_417, x_357, x_245, x_416);
-x_419 = l_Lean_Parser_mergeOrElseErrors(x_418, x_332, x_245, x_416);
-x_420 = l_Lean_Parser_mergeOrElseErrors(x_419, x_309, x_245, x_416);
-x_421 = l_Lean_Parser_mergeOrElseErrors(x_420, x_288, x_245, x_416);
-x_422 = l_Lean_Parser_mergeOrElseErrors(x_421, x_269, x_245, x_416);
-x_423 = l_Lean_Parser_mergeOrElseErrors(x_422, x_252, x_245, x_416);
-lean_dec(x_245);
-x_424 = l_Lean_Parser_Command_declaration___elambda__1___closed__2;
-x_425 = l_Lean_Parser_ParserState_mkNode(x_423, x_424, x_240);
-x_426 = l_Lean_Parser_mergeOrElseErrors(x_425, x_232, x_229, x_416);
-lean_dec(x_229);
-return x_426;
-}
-else
-{
-lean_object* x_427; lean_object* x_428; lean_object* x_429; lean_object* x_430; lean_object* x_431;
-lean_inc(x_245);
-x_427 = l_Lean_Parser_ParserState_restore(x_400, x_399, x_245);
-lean_dec(x_399);
-x_428 = lean_ctor_get(x_427, 0);
-lean_inc(x_428);
-x_429 = lean_array_get_size(x_428);
-lean_dec(x_428);
-lean_inc(x_1);
-x_430 = l_Lean_Parser_Command_classInductive___elambda__1(x_1, x_427);
-x_431 = lean_ctor_get(x_430, 3);
-lean_inc(x_431);
-if (lean_obj_tag(x_431) == 0)
-{
-uint8_t x_432; lean_object* x_433; lean_object* x_434; lean_object* x_435; lean_object* x_436; lean_object* x_437; lean_object* x_438; lean_object* x_439; lean_object* x_440; lean_object* x_441; lean_object* x_442; lean_object* x_443;
-lean_dec(x_429);
-lean_dec(x_1);
-x_432 = 1;
-x_433 = l_Lean_Parser_mergeOrElseErrors(x_430, x_413, x_245, x_432);
-x_434 = l_Lean_Parser_mergeOrElseErrors(x_433, x_384, x_245, x_432);
-x_435 = l_Lean_Parser_mergeOrElseErrors(x_434, x_357, x_245, x_432);
-x_436 = l_Lean_Parser_mergeOrElseErrors(x_435, x_332, x_245, x_432);
-x_437 = l_Lean_Parser_mergeOrElseErrors(x_436, x_309, x_245, x_432);
-x_438 = l_Lean_Parser_mergeOrElseErrors(x_437, x_288, x_245, x_432);
-x_439 = l_Lean_Parser_mergeOrElseErrors(x_438, x_269, x_245, x_432);
-x_440 = l_Lean_Parser_mergeOrElseErrors(x_439, x_252, x_245, x_432);
-lean_dec(x_245);
-x_441 = l_Lean_Parser_Command_declaration___elambda__1___closed__2;
-x_442 = l_Lean_Parser_ParserState_mkNode(x_440, x_441, x_240);
-x_443 = l_Lean_Parser_mergeOrElseErrors(x_442, x_232, x_229, x_432);
-lean_dec(x_229);
-return x_443;
-}
-else
-{
-lean_object* x_444; lean_object* x_445; uint8_t x_446;
-x_444 = lean_ctor_get(x_431, 0);
-lean_inc(x_444);
-lean_dec(x_431);
-x_445 = lean_ctor_get(x_430, 1);
-lean_inc(x_445);
-x_446 = lean_nat_dec_eq(x_445, x_245);
-lean_dec(x_445);
-if (x_446 == 0)
-{
-uint8_t x_447; lean_object* x_448; lean_object* x_449; lean_object* x_450; lean_object* x_451; lean_object* x_452; lean_object* x_453; lean_object* x_454; lean_object* x_455; lean_object* x_456; lean_object* x_457; lean_object* x_458;
-lean_dec(x_444);
-lean_dec(x_429);
-lean_dec(x_1);
-x_447 = 1;
-x_448 = l_Lean_Parser_mergeOrElseErrors(x_430, x_413, x_245, x_447);
-x_449 = l_Lean_Parser_mergeOrElseErrors(x_448, x_384, x_245, x_447);
-x_450 = l_Lean_Parser_mergeOrElseErrors(x_449, x_357, x_245, x_447);
-x_451 = l_Lean_Parser_mergeOrElseErrors(x_450, x_332, x_245, x_447);
-x_452 = l_Lean_Parser_mergeOrElseErrors(x_451, x_309, x_245, x_447);
-x_453 = l_Lean_Parser_mergeOrElseErrors(x_452, x_288, x_245, x_447);
-x_454 = l_Lean_Parser_mergeOrElseErrors(x_453, x_269, x_245, x_447);
-x_455 = l_Lean_Parser_mergeOrElseErrors(x_454, x_252, x_245, x_447);
-lean_dec(x_245);
-x_456 = l_Lean_Parser_Command_declaration___elambda__1___closed__2;
-x_457 = l_Lean_Parser_ParserState_mkNode(x_455, x_456, x_240);
-x_458 = l_Lean_Parser_mergeOrElseErrors(x_457, x_232, x_229, x_447);
-lean_dec(x_229);
-return x_458;
-}
-else
-{
-lean_object* x_459; lean_object* x_460; uint8_t x_461; lean_object* x_462; lean_object* x_463; lean_object* x_464; lean_object* x_465; lean_object* x_466; lean_object* x_467; lean_object* x_468; lean_object* x_469; lean_object* x_470; lean_object* x_471; lean_object* x_472; lean_object* x_473;
-lean_inc(x_245);
-x_459 = l_Lean_Parser_ParserState_restore(x_430, x_429, x_245);
-lean_dec(x_429);
-x_460 = l_Lean_Parser_Command_structure___elambda__1(x_1, x_459);
-x_461 = 1;
-x_462 = l_Lean_Parser_mergeOrElseErrors(x_460, x_444, x_245, x_461);
-x_463 = l_Lean_Parser_mergeOrElseErrors(x_462, x_413, x_245, x_461);
-x_464 = l_Lean_Parser_mergeOrElseErrors(x_463, x_384, x_245, x_461);
-x_465 = l_Lean_Parser_mergeOrElseErrors(x_464, x_357, x_245, x_461);
-x_466 = l_Lean_Parser_mergeOrElseErrors(x_465, x_332, x_245, x_461);
-x_467 = l_Lean_Parser_mergeOrElseErrors(x_466, x_309, x_245, x_461);
-x_468 = l_Lean_Parser_mergeOrElseErrors(x_467, x_288, x_245, x_461);
-x_469 = l_Lean_Parser_mergeOrElseErrors(x_468, x_269, x_245, x_461);
-x_470 = l_Lean_Parser_mergeOrElseErrors(x_469, x_252, x_245, x_461);
-lean_dec(x_245);
-x_471 = l_Lean_Parser_Command_declaration___elambda__1___closed__2;
-x_472 = l_Lean_Parser_ParserState_mkNode(x_470, x_471, x_240);
-x_473 = l_Lean_Parser_mergeOrElseErrors(x_472, x_232, x_229, x_461);
-lean_dec(x_229);
-return x_473;
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-else
-{
-lean_object* x_474; lean_object* x_475; uint8_t x_476; lean_object* x_477;
-lean_dec(x_242);
-lean_dec(x_1);
-x_474 = l_Lean_Parser_Command_declaration___elambda__1___closed__2;
-x_475 = l_Lean_Parser_ParserState_mkNode(x_241, x_474, x_240);
-x_476 = 1;
-x_477 = l_Lean_Parser_mergeOrElseErrors(x_475, x_232, x_229, x_476);
-lean_dec(x_229);
-return x_477;
-}
-}
-else
-{
-uint8_t x_478; lean_object* x_479;
-lean_dec(x_238);
-lean_dec(x_4);
-lean_dec(x_1);
-x_478 = 1;
-x_479 = l_Lean_Parser_mergeOrElseErrors(x_237, x_232, x_229, x_478);
-lean_dec(x_229);
-return x_479;
-}
-}
-}
+x_23 = l_Lean_Parser_Command_declaration___elambda__1___closed__17;
+x_24 = 1;
+x_25 = l_Lean_Parser_orelseFnCore(x_6, x_23, x_24, x_1, x_2);
+return x_25;
}
}
}
@@ -31254,6 +19964,62 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_section___elambda__1___closed__7() {
_start:
{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_section___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_section___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_ident___closed__2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optionalFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_section___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_section___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Command_section___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_section___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_section___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_section___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_section___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_section___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_section___elambda__1___closed__12() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Char_HasRepr___closed__1;
x_2 = l_Lean_Parser_Command_section___elambda__1___closed__6;
@@ -31261,28 +20027,16 @@ x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Command_section___elambda__1___closed__8() {
+static lean_object* _init_l_Lean_Parser_Command_section___elambda__1___closed__13() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Command_section___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Command_section___elambda__1___closed__12;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Command_section___elambda__1___closed__9() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Command_section___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
-}
-}
lean_object* l_Lean_Parser_Command_section___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -31303,133 +20057,34 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_36; lean_object* x_37; lean_object* x_38;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_36 = lean_ctor_get(x_7, 1);
-lean_inc(x_36);
+x_11 = l_Lean_Parser_Command_section___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Command_section___elambda__1___closed__13;
lean_inc(x_1);
-x_37 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_38 = lean_ctor_get(x_37, 3);
-lean_inc(x_38);
-if (lean_obj_tag(x_38) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_39; lean_object* x_40;
-x_39 = lean_ctor_get(x_37, 0);
-lean_inc(x_39);
-x_40 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_39);
-lean_dec(x_39);
-if (lean_obj_tag(x_40) == 2)
-{
-lean_object* x_41; lean_object* x_42; uint8_t x_43;
-x_41 = lean_ctor_get(x_40, 1);
-lean_inc(x_41);
-lean_dec(x_40);
-x_42 = l_Lean_Parser_Command_section___elambda__1___closed__6;
-x_43 = lean_string_dec_eq(x_41, x_42);
-lean_dec(x_41);
-if (x_43 == 0)
-{
-lean_object* x_44; lean_object* x_45;
-x_44 = l_Lean_Parser_Command_section___elambda__1___closed__9;
-x_45 = l_Lean_Parser_ParserState_mkErrorsAt(x_37, x_44, x_36);
-x_11 = x_45;
-goto block_35;
+lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
+x_15 = l_Lean_Parser_ident___closed__2;
+x_16 = l_Lean_Parser_optionalFn(x_15, x_1, x_13);
+x_17 = l_Lean_Parser_Command_section___elambda__1___closed__2;
+x_18 = l_Lean_Parser_ParserState_mkNode(x_16, x_17, x_10);
+return x_18;
}
else
{
-lean_dec(x_36);
-x_11 = x_37;
-goto block_35;
-}
-}
-else
-{
-lean_object* x_46; lean_object* x_47;
-lean_dec(x_40);
-x_46 = l_Lean_Parser_Command_section___elambda__1___closed__9;
-x_47 = l_Lean_Parser_ParserState_mkErrorsAt(x_37, x_46, x_36);
-x_11 = x_47;
-goto block_35;
-}
-}
-else
-{
-lean_object* x_48; lean_object* x_49;
-lean_dec(x_38);
-x_48 = l_Lean_Parser_Command_section___elambda__1___closed__9;
-x_49 = l_Lean_Parser_ParserState_mkErrorsAt(x_37, x_48, x_36);
-x_11 = x_49;
-goto block_35;
-}
-block_35:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_13 = lean_ctor_get(x_11, 0);
-lean_inc(x_13);
-x_14 = lean_array_get_size(x_13);
-lean_dec(x_13);
-x_15 = lean_ctor_get(x_11, 1);
-lean_inc(x_15);
-x_16 = l_Lean_Parser_ident___elambda__1(x_1, x_11);
-x_17 = lean_ctor_get(x_16, 3);
-lean_inc(x_17);
-if (lean_obj_tag(x_17) == 0)
-{
-lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
-lean_dec(x_15);
-x_18 = l_Lean_nullKind;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_16, x_18, x_14);
-x_20 = l_Lean_Parser_Command_section___elambda__1___closed__2;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_10);
-return x_21;
-}
-else
-{
-lean_object* x_22; uint8_t x_23;
-lean_dec(x_17);
-x_22 = lean_ctor_get(x_16, 1);
-lean_inc(x_22);
-x_23 = lean_nat_dec_eq(x_22, x_15);
-lean_dec(x_22);
-if (x_23 == 0)
-{
-lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
-lean_dec(x_15);
-x_24 = l_Lean_nullKind;
-x_25 = l_Lean_Parser_ParserState_mkNode(x_16, x_24, x_14);
-x_26 = l_Lean_Parser_Command_section___elambda__1___closed__2;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_25, x_26, x_10);
-return x_27;
-}
-else
-{
-lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
-x_28 = l_Lean_Parser_ParserState_restore(x_16, x_14, x_15);
-x_29 = l_Lean_nullKind;
-x_30 = l_Lean_Parser_ParserState_mkNode(x_28, x_29, x_14);
-x_31 = l_Lean_Parser_Command_section___elambda__1___closed__2;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_10);
-return x_32;
-}
-}
-}
-else
-{
-lean_object* x_33; lean_object* x_34;
-lean_dec(x_12);
+lean_object* x_19; lean_object* x_20;
+lean_dec(x_14);
lean_dec(x_1);
-x_33 = l_Lean_Parser_Command_section___elambda__1___closed__2;
-x_34 = l_Lean_Parser_ParserState_mkNode(x_11, x_33, x_10);
-return x_34;
-}
+x_19 = l_Lean_Parser_Command_section___elambda__1___closed__2;
+x_20 = l_Lean_Parser_ParserState_mkNode(x_13, x_19, x_10);
+return x_20;
}
}
else
@@ -31441,207 +20096,11 @@ return x_7;
}
else
{
-lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54;
-x_50 = lean_ctor_get(x_2, 0);
-lean_inc(x_50);
-x_51 = lean_array_get_size(x_50);
-lean_dec(x_50);
-x_52 = lean_ctor_get(x_2, 1);
-lean_inc(x_52);
-lean_inc(x_1);
-x_53 = lean_apply_2(x_4, x_1, x_2);
-x_54 = lean_ctor_get(x_53, 3);
-lean_inc(x_54);
-if (lean_obj_tag(x_54) == 0)
-{
-lean_dec(x_52);
-lean_dec(x_51);
-lean_dec(x_1);
-return x_53;
-}
-else
-{
-lean_object* x_55; lean_object* x_56; uint8_t x_57;
-x_55 = lean_ctor_get(x_54, 0);
-lean_inc(x_55);
-lean_dec(x_54);
-x_56 = lean_ctor_get(x_53, 1);
-lean_inc(x_56);
-x_57 = lean_nat_dec_eq(x_56, x_52);
-lean_dec(x_56);
-if (x_57 == 0)
-{
-lean_dec(x_55);
-lean_dec(x_52);
-lean_dec(x_51);
-lean_dec(x_1);
-return x_53;
-}
-else
-{
-lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61;
-lean_inc(x_52);
-x_58 = l_Lean_Parser_ParserState_restore(x_53, x_51, x_52);
-lean_dec(x_51);
-x_59 = lean_unsigned_to_nat(1024u);
-x_60 = l_Lean_Parser_checkPrecFn(x_59, x_1, x_58);
-x_61 = lean_ctor_get(x_60, 3);
-lean_inc(x_61);
-if (lean_obj_tag(x_61) == 0)
-{
-lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_97; lean_object* x_98; lean_object* x_99;
-x_62 = lean_ctor_get(x_60, 0);
-lean_inc(x_62);
-x_63 = lean_array_get_size(x_62);
-lean_dec(x_62);
-x_97 = lean_ctor_get(x_60, 1);
-lean_inc(x_97);
-lean_inc(x_1);
-x_98 = l_Lean_Parser_tokenFn(x_1, x_60);
-x_99 = lean_ctor_get(x_98, 3);
-lean_inc(x_99);
-if (lean_obj_tag(x_99) == 0)
-{
-lean_object* x_100; lean_object* x_101;
-x_100 = lean_ctor_get(x_98, 0);
-lean_inc(x_100);
-x_101 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_100);
-lean_dec(x_100);
-if (lean_obj_tag(x_101) == 2)
-{
-lean_object* x_102; lean_object* x_103; uint8_t x_104;
-x_102 = lean_ctor_get(x_101, 1);
-lean_inc(x_102);
-lean_dec(x_101);
-x_103 = l_Lean_Parser_Command_section___elambda__1___closed__6;
-x_104 = lean_string_dec_eq(x_102, x_103);
-lean_dec(x_102);
-if (x_104 == 0)
-{
-lean_object* x_105; lean_object* x_106;
-x_105 = l_Lean_Parser_Command_section___elambda__1___closed__9;
-x_106 = l_Lean_Parser_ParserState_mkErrorsAt(x_98, x_105, x_97);
-x_64 = x_106;
-goto block_96;
-}
-else
-{
-lean_dec(x_97);
-x_64 = x_98;
-goto block_96;
-}
-}
-else
-{
-lean_object* x_107; lean_object* x_108;
-lean_dec(x_101);
-x_107 = l_Lean_Parser_Command_section___elambda__1___closed__9;
-x_108 = l_Lean_Parser_ParserState_mkErrorsAt(x_98, x_107, x_97);
-x_64 = x_108;
-goto block_96;
-}
-}
-else
-{
-lean_object* x_109; lean_object* x_110;
-lean_dec(x_99);
-x_109 = l_Lean_Parser_Command_section___elambda__1___closed__9;
-x_110 = l_Lean_Parser_ParserState_mkErrorsAt(x_98, x_109, x_97);
-x_64 = x_110;
-goto block_96;
-}
-block_96:
-{
-lean_object* x_65;
-x_65 = lean_ctor_get(x_64, 3);
-lean_inc(x_65);
-if (lean_obj_tag(x_65) == 0)
-{
-lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70;
-x_66 = lean_ctor_get(x_64, 0);
-lean_inc(x_66);
-x_67 = lean_array_get_size(x_66);
-lean_dec(x_66);
-x_68 = lean_ctor_get(x_64, 1);
-lean_inc(x_68);
-x_69 = l_Lean_Parser_ident___elambda__1(x_1, x_64);
-x_70 = lean_ctor_get(x_69, 3);
-lean_inc(x_70);
-if (lean_obj_tag(x_70) == 0)
-{
-lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; uint8_t x_75; lean_object* x_76;
-lean_dec(x_68);
-x_71 = l_Lean_nullKind;
-x_72 = l_Lean_Parser_ParserState_mkNode(x_69, x_71, x_67);
-x_73 = l_Lean_Parser_Command_section___elambda__1___closed__2;
-x_74 = l_Lean_Parser_ParserState_mkNode(x_72, x_73, x_63);
-x_75 = 1;
-x_76 = l_Lean_Parser_mergeOrElseErrors(x_74, x_55, x_52, x_75);
-lean_dec(x_52);
-return x_76;
-}
-else
-{
-lean_object* x_77; uint8_t x_78;
-lean_dec(x_70);
-x_77 = lean_ctor_get(x_69, 1);
-lean_inc(x_77);
-x_78 = lean_nat_dec_eq(x_77, x_68);
-lean_dec(x_77);
-if (x_78 == 0)
-{
-lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; uint8_t x_83; lean_object* x_84;
-lean_dec(x_68);
-x_79 = l_Lean_nullKind;
-x_80 = l_Lean_Parser_ParserState_mkNode(x_69, x_79, x_67);
-x_81 = l_Lean_Parser_Command_section___elambda__1___closed__2;
-x_82 = l_Lean_Parser_ParserState_mkNode(x_80, x_81, x_63);
-x_83 = 1;
-x_84 = l_Lean_Parser_mergeOrElseErrors(x_82, x_55, x_52, x_83);
-lean_dec(x_52);
-return x_84;
-}
-else
-{
-lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; uint8_t x_90; lean_object* x_91;
-x_85 = l_Lean_Parser_ParserState_restore(x_69, x_67, x_68);
-x_86 = l_Lean_nullKind;
-x_87 = l_Lean_Parser_ParserState_mkNode(x_85, x_86, x_67);
-x_88 = l_Lean_Parser_Command_section___elambda__1___closed__2;
-x_89 = l_Lean_Parser_ParserState_mkNode(x_87, x_88, x_63);
-x_90 = 1;
-x_91 = l_Lean_Parser_mergeOrElseErrors(x_89, x_55, x_52, x_90);
-lean_dec(x_52);
-return x_91;
-}
-}
-}
-else
-{
-lean_object* x_92; lean_object* x_93; uint8_t x_94; lean_object* x_95;
-lean_dec(x_65);
-lean_dec(x_1);
-x_92 = l_Lean_Parser_Command_section___elambda__1___closed__2;
-x_93 = l_Lean_Parser_ParserState_mkNode(x_64, x_92, x_63);
-x_94 = 1;
-x_95 = l_Lean_Parser_mergeOrElseErrors(x_93, x_55, x_52, x_94);
-lean_dec(x_52);
-return x_95;
-}
-}
-}
-else
-{
-uint8_t x_111; lean_object* x_112;
-lean_dec(x_61);
-lean_dec(x_1);
-x_111 = 1;
-x_112 = l_Lean_Parser_mergeOrElseErrors(x_60, x_55, x_52, x_111);
-lean_dec(x_52);
-return x_112;
-}
-}
-}
+lean_object* x_21; uint8_t x_22; lean_object* x_23;
+x_21 = l_Lean_Parser_Command_section___elambda__1___closed__11;
+x_22 = 1;
+x_23 = l_Lean_Parser_orelseFnCore(x_4, x_21, x_22, x_1, x_2);
+return x_23;
}
}
}
@@ -31975,11 +20434,11 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_namespace___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_namespace___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_namespace___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_namespace___elambda__1___closed__8() {
@@ -31987,8 +20446,10 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Command_namespace___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_2 = l_Lean_Parser_ident___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -31996,11 +20457,43 @@ static lean_object* _init_l_Lean_Parser_Command_namespace___elambda__1___closed_
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Command_namespace___elambda__1___closed__2;
x_2 = l_Lean_Parser_Command_namespace___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_namespace___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_namespace___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_namespace___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Command_namespace___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_namespace___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_namespace___elambda__1___closed__11;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -32024,89 +20517,33 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_19; lean_object* x_20; lean_object* x_21;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_19 = lean_ctor_get(x_7, 1);
-lean_inc(x_19);
+x_11 = l_Lean_Parser_Command_namespace___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Command_namespace___elambda__1___closed__12;
lean_inc(x_1);
-x_20 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_21 = lean_ctor_get(x_20, 3);
-lean_inc(x_21);
-if (lean_obj_tag(x_21) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_22; lean_object* x_23;
-x_22 = lean_ctor_get(x_20, 0);
-lean_inc(x_22);
-x_23 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_22);
-lean_dec(x_22);
-if (lean_obj_tag(x_23) == 2)
-{
-lean_object* x_24; lean_object* x_25; uint8_t x_26;
-x_24 = lean_ctor_get(x_23, 1);
-lean_inc(x_24);
-lean_dec(x_23);
-x_25 = l_Lean_Parser_Command_namespace___elambda__1___closed__6;
-x_26 = lean_string_dec_eq(x_24, x_25);
-lean_dec(x_24);
-if (x_26 == 0)
-{
-lean_object* x_27; lean_object* x_28;
-x_27 = l_Lean_Parser_Command_namespace___elambda__1___closed__9;
-x_28 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_27, x_19);
-x_11 = x_28;
-goto block_18;
-}
-else
-{
-lean_dec(x_19);
-x_11 = x_20;
-goto block_18;
-}
-}
-else
-{
-lean_object* x_29; lean_object* x_30;
-lean_dec(x_23);
-x_29 = l_Lean_Parser_Command_namespace___elambda__1___closed__9;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_29, x_19);
-x_11 = x_30;
-goto block_18;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32;
-lean_dec(x_21);
-x_31 = l_Lean_Parser_Command_namespace___elambda__1___closed__9;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_31, x_19);
-x_11 = x_32;
-goto block_18;
-}
-block_18:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15;
-x_13 = l_Lean_Parser_ident___elambda__1(x_1, x_11);
-x_14 = l_Lean_Parser_Command_namespace___elambda__1___closed__2;
-x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
-return x_15;
-}
-else
-{
-lean_object* x_16; lean_object* x_17;
-lean_dec(x_12);
-lean_dec(x_1);
+lean_object* x_15; lean_object* x_16; lean_object* x_17;
+x_15 = l_Lean_Parser_ident___elambda__1(x_1, x_13);
x_16 = l_Lean_Parser_Command_namespace___elambda__1___closed__2;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_11, x_16, x_10);
+x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_10);
return x_17;
}
+else
+{
+lean_object* x_18; lean_object* x_19;
+lean_dec(x_14);
+lean_dec(x_1);
+x_18 = l_Lean_Parser_Command_namespace___elambda__1___closed__2;
+x_19 = l_Lean_Parser_ParserState_mkNode(x_13, x_18, x_10);
+return x_19;
}
}
else
@@ -32118,157 +20555,11 @@ return x_7;
}
else
{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_33 = lean_ctor_get(x_2, 0);
-lean_inc(x_33);
-x_34 = lean_array_get_size(x_33);
-lean_dec(x_33);
-x_35 = lean_ctor_get(x_2, 1);
-lean_inc(x_35);
-lean_inc(x_1);
-x_36 = lean_apply_2(x_4, x_1, x_2);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_36, 1);
-lean_inc(x_39);
-x_40 = lean_nat_dec_eq(x_39, x_35);
-lean_dec(x_39);
-if (x_40 == 0)
-{
-lean_dec(x_38);
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
-lean_inc(x_35);
-x_41 = l_Lean_Parser_ParserState_restore(x_36, x_34, x_35);
-lean_dec(x_34);
-x_42 = lean_unsigned_to_nat(1024u);
-x_43 = l_Lean_Parser_checkPrecFn(x_42, x_1, x_41);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_59; lean_object* x_60; lean_object* x_61;
-x_45 = lean_ctor_get(x_43, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-x_59 = lean_ctor_get(x_43, 1);
-lean_inc(x_59);
-lean_inc(x_1);
-x_60 = l_Lean_Parser_tokenFn(x_1, x_43);
-x_61 = lean_ctor_get(x_60, 3);
-lean_inc(x_61);
-if (lean_obj_tag(x_61) == 0)
-{
-lean_object* x_62; lean_object* x_63;
-x_62 = lean_ctor_get(x_60, 0);
-lean_inc(x_62);
-x_63 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_62);
-lean_dec(x_62);
-if (lean_obj_tag(x_63) == 2)
-{
-lean_object* x_64; lean_object* x_65; uint8_t x_66;
-x_64 = lean_ctor_get(x_63, 1);
-lean_inc(x_64);
-lean_dec(x_63);
-x_65 = l_Lean_Parser_Command_namespace___elambda__1___closed__6;
-x_66 = lean_string_dec_eq(x_64, x_65);
-lean_dec(x_64);
-if (x_66 == 0)
-{
-lean_object* x_67; lean_object* x_68;
-x_67 = l_Lean_Parser_Command_namespace___elambda__1___closed__9;
-x_68 = l_Lean_Parser_ParserState_mkErrorsAt(x_60, x_67, x_59);
-x_47 = x_68;
-goto block_58;
-}
-else
-{
-lean_dec(x_59);
-x_47 = x_60;
-goto block_58;
-}
-}
-else
-{
-lean_object* x_69; lean_object* x_70;
-lean_dec(x_63);
-x_69 = l_Lean_Parser_Command_namespace___elambda__1___closed__9;
-x_70 = l_Lean_Parser_ParserState_mkErrorsAt(x_60, x_69, x_59);
-x_47 = x_70;
-goto block_58;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72;
-lean_dec(x_61);
-x_71 = l_Lean_Parser_Command_namespace___elambda__1___closed__9;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_60, x_71, x_59);
-x_47 = x_72;
-goto block_58;
-}
-block_58:
-{
-lean_object* x_48;
-x_48 = lean_ctor_get(x_47, 3);
-lean_inc(x_48);
-if (lean_obj_tag(x_48) == 0)
-{
-lean_object* x_49; lean_object* x_50; lean_object* x_51; uint8_t x_52; lean_object* x_53;
-x_49 = l_Lean_Parser_ident___elambda__1(x_1, x_47);
-x_50 = l_Lean_Parser_Command_namespace___elambda__1___closed__2;
-x_51 = l_Lean_Parser_ParserState_mkNode(x_49, x_50, x_46);
-x_52 = 1;
-x_53 = l_Lean_Parser_mergeOrElseErrors(x_51, x_38, x_35, x_52);
-lean_dec(x_35);
-return x_53;
-}
-else
-{
-lean_object* x_54; lean_object* x_55; uint8_t x_56; lean_object* x_57;
-lean_dec(x_48);
-lean_dec(x_1);
-x_54 = l_Lean_Parser_Command_namespace___elambda__1___closed__2;
-x_55 = l_Lean_Parser_ParserState_mkNode(x_47, x_54, x_46);
-x_56 = 1;
-x_57 = l_Lean_Parser_mergeOrElseErrors(x_55, x_38, x_35, x_56);
-lean_dec(x_35);
-return x_57;
-}
-}
-}
-else
-{
-uint8_t x_73; lean_object* x_74;
-lean_dec(x_44);
-lean_dec(x_1);
-x_73 = 1;
-x_74 = l_Lean_Parser_mergeOrElseErrors(x_43, x_38, x_35, x_73);
-lean_dec(x_35);
-return x_74;
-}
-}
-}
+lean_object* x_20; uint8_t x_21; lean_object* x_22;
+x_20 = l_Lean_Parser_Command_namespace___elambda__1___closed__10;
+x_21 = 1;
+x_22 = l_Lean_Parser_orelseFnCore(x_4, x_20, x_21, x_1, x_2);
+return x_22;
}
}
}
@@ -32573,11 +20864,11 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_end___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_end___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_end___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_end___elambda__1___closed__8() {
@@ -32585,8 +20876,10 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Command_end___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_2 = l_Lean_Parser_Command_section___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -32594,11 +20887,43 @@ static lean_object* _init_l_Lean_Parser_Command_end___elambda__1___closed__9() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Command_end___elambda__1___closed__2;
x_2 = l_Lean_Parser_Command_end___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_end___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_end___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_end___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Command_end___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_end___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_end___elambda__1___closed__11;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -32622,133 +20947,34 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_36; lean_object* x_37; lean_object* x_38;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_36 = lean_ctor_get(x_7, 1);
-lean_inc(x_36);
+x_11 = l_Lean_Parser_Command_end___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Command_end___elambda__1___closed__12;
lean_inc(x_1);
-x_37 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_38 = lean_ctor_get(x_37, 3);
-lean_inc(x_38);
-if (lean_obj_tag(x_38) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_39; lean_object* x_40;
-x_39 = lean_ctor_get(x_37, 0);
-lean_inc(x_39);
-x_40 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_39);
-lean_dec(x_39);
-if (lean_obj_tag(x_40) == 2)
-{
-lean_object* x_41; lean_object* x_42; uint8_t x_43;
-x_41 = lean_ctor_get(x_40, 1);
-lean_inc(x_41);
-lean_dec(x_40);
-x_42 = l_Lean_Parser_Command_end___elambda__1___closed__6;
-x_43 = lean_string_dec_eq(x_41, x_42);
-lean_dec(x_41);
-if (x_43 == 0)
-{
-lean_object* x_44; lean_object* x_45;
-x_44 = l_Lean_Parser_Command_end___elambda__1___closed__9;
-x_45 = l_Lean_Parser_ParserState_mkErrorsAt(x_37, x_44, x_36);
-x_11 = x_45;
-goto block_35;
+lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
+x_15 = l_Lean_Parser_ident___closed__2;
+x_16 = l_Lean_Parser_optionalFn(x_15, x_1, x_13);
+x_17 = l_Lean_Parser_Command_end___elambda__1___closed__2;
+x_18 = l_Lean_Parser_ParserState_mkNode(x_16, x_17, x_10);
+return x_18;
}
else
{
-lean_dec(x_36);
-x_11 = x_37;
-goto block_35;
-}
-}
-else
-{
-lean_object* x_46; lean_object* x_47;
-lean_dec(x_40);
-x_46 = l_Lean_Parser_Command_end___elambda__1___closed__9;
-x_47 = l_Lean_Parser_ParserState_mkErrorsAt(x_37, x_46, x_36);
-x_11 = x_47;
-goto block_35;
-}
-}
-else
-{
-lean_object* x_48; lean_object* x_49;
-lean_dec(x_38);
-x_48 = l_Lean_Parser_Command_end___elambda__1___closed__9;
-x_49 = l_Lean_Parser_ParserState_mkErrorsAt(x_37, x_48, x_36);
-x_11 = x_49;
-goto block_35;
-}
-block_35:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_13 = lean_ctor_get(x_11, 0);
-lean_inc(x_13);
-x_14 = lean_array_get_size(x_13);
-lean_dec(x_13);
-x_15 = lean_ctor_get(x_11, 1);
-lean_inc(x_15);
-x_16 = l_Lean_Parser_ident___elambda__1(x_1, x_11);
-x_17 = lean_ctor_get(x_16, 3);
-lean_inc(x_17);
-if (lean_obj_tag(x_17) == 0)
-{
-lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
-lean_dec(x_15);
-x_18 = l_Lean_nullKind;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_16, x_18, x_14);
-x_20 = l_Lean_Parser_Command_end___elambda__1___closed__2;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_10);
-return x_21;
-}
-else
-{
-lean_object* x_22; uint8_t x_23;
-lean_dec(x_17);
-x_22 = lean_ctor_get(x_16, 1);
-lean_inc(x_22);
-x_23 = lean_nat_dec_eq(x_22, x_15);
-lean_dec(x_22);
-if (x_23 == 0)
-{
-lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
-lean_dec(x_15);
-x_24 = l_Lean_nullKind;
-x_25 = l_Lean_Parser_ParserState_mkNode(x_16, x_24, x_14);
-x_26 = l_Lean_Parser_Command_end___elambda__1___closed__2;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_25, x_26, x_10);
-return x_27;
-}
-else
-{
-lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
-x_28 = l_Lean_Parser_ParserState_restore(x_16, x_14, x_15);
-x_29 = l_Lean_nullKind;
-x_30 = l_Lean_Parser_ParserState_mkNode(x_28, x_29, x_14);
-x_31 = l_Lean_Parser_Command_end___elambda__1___closed__2;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_10);
-return x_32;
-}
-}
-}
-else
-{
-lean_object* x_33; lean_object* x_34;
-lean_dec(x_12);
+lean_object* x_19; lean_object* x_20;
+lean_dec(x_14);
lean_dec(x_1);
-x_33 = l_Lean_Parser_Command_end___elambda__1___closed__2;
-x_34 = l_Lean_Parser_ParserState_mkNode(x_11, x_33, x_10);
-return x_34;
-}
+x_19 = l_Lean_Parser_Command_end___elambda__1___closed__2;
+x_20 = l_Lean_Parser_ParserState_mkNode(x_13, x_19, x_10);
+return x_20;
}
}
else
@@ -32760,207 +20986,11 @@ return x_7;
}
else
{
-lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54;
-x_50 = lean_ctor_get(x_2, 0);
-lean_inc(x_50);
-x_51 = lean_array_get_size(x_50);
-lean_dec(x_50);
-x_52 = lean_ctor_get(x_2, 1);
-lean_inc(x_52);
-lean_inc(x_1);
-x_53 = lean_apply_2(x_4, x_1, x_2);
-x_54 = lean_ctor_get(x_53, 3);
-lean_inc(x_54);
-if (lean_obj_tag(x_54) == 0)
-{
-lean_dec(x_52);
-lean_dec(x_51);
-lean_dec(x_1);
-return x_53;
-}
-else
-{
-lean_object* x_55; lean_object* x_56; uint8_t x_57;
-x_55 = lean_ctor_get(x_54, 0);
-lean_inc(x_55);
-lean_dec(x_54);
-x_56 = lean_ctor_get(x_53, 1);
-lean_inc(x_56);
-x_57 = lean_nat_dec_eq(x_56, x_52);
-lean_dec(x_56);
-if (x_57 == 0)
-{
-lean_dec(x_55);
-lean_dec(x_52);
-lean_dec(x_51);
-lean_dec(x_1);
-return x_53;
-}
-else
-{
-lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61;
-lean_inc(x_52);
-x_58 = l_Lean_Parser_ParserState_restore(x_53, x_51, x_52);
-lean_dec(x_51);
-x_59 = lean_unsigned_to_nat(1024u);
-x_60 = l_Lean_Parser_checkPrecFn(x_59, x_1, x_58);
-x_61 = lean_ctor_get(x_60, 3);
-lean_inc(x_61);
-if (lean_obj_tag(x_61) == 0)
-{
-lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_97; lean_object* x_98; lean_object* x_99;
-x_62 = lean_ctor_get(x_60, 0);
-lean_inc(x_62);
-x_63 = lean_array_get_size(x_62);
-lean_dec(x_62);
-x_97 = lean_ctor_get(x_60, 1);
-lean_inc(x_97);
-lean_inc(x_1);
-x_98 = l_Lean_Parser_tokenFn(x_1, x_60);
-x_99 = lean_ctor_get(x_98, 3);
-lean_inc(x_99);
-if (lean_obj_tag(x_99) == 0)
-{
-lean_object* x_100; lean_object* x_101;
-x_100 = lean_ctor_get(x_98, 0);
-lean_inc(x_100);
-x_101 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_100);
-lean_dec(x_100);
-if (lean_obj_tag(x_101) == 2)
-{
-lean_object* x_102; lean_object* x_103; uint8_t x_104;
-x_102 = lean_ctor_get(x_101, 1);
-lean_inc(x_102);
-lean_dec(x_101);
-x_103 = l_Lean_Parser_Command_end___elambda__1___closed__6;
-x_104 = lean_string_dec_eq(x_102, x_103);
-lean_dec(x_102);
-if (x_104 == 0)
-{
-lean_object* x_105; lean_object* x_106;
-x_105 = l_Lean_Parser_Command_end___elambda__1___closed__9;
-x_106 = l_Lean_Parser_ParserState_mkErrorsAt(x_98, x_105, x_97);
-x_64 = x_106;
-goto block_96;
-}
-else
-{
-lean_dec(x_97);
-x_64 = x_98;
-goto block_96;
-}
-}
-else
-{
-lean_object* x_107; lean_object* x_108;
-lean_dec(x_101);
-x_107 = l_Lean_Parser_Command_end___elambda__1___closed__9;
-x_108 = l_Lean_Parser_ParserState_mkErrorsAt(x_98, x_107, x_97);
-x_64 = x_108;
-goto block_96;
-}
-}
-else
-{
-lean_object* x_109; lean_object* x_110;
-lean_dec(x_99);
-x_109 = l_Lean_Parser_Command_end___elambda__1___closed__9;
-x_110 = l_Lean_Parser_ParserState_mkErrorsAt(x_98, x_109, x_97);
-x_64 = x_110;
-goto block_96;
-}
-block_96:
-{
-lean_object* x_65;
-x_65 = lean_ctor_get(x_64, 3);
-lean_inc(x_65);
-if (lean_obj_tag(x_65) == 0)
-{
-lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70;
-x_66 = lean_ctor_get(x_64, 0);
-lean_inc(x_66);
-x_67 = lean_array_get_size(x_66);
-lean_dec(x_66);
-x_68 = lean_ctor_get(x_64, 1);
-lean_inc(x_68);
-x_69 = l_Lean_Parser_ident___elambda__1(x_1, x_64);
-x_70 = lean_ctor_get(x_69, 3);
-lean_inc(x_70);
-if (lean_obj_tag(x_70) == 0)
-{
-lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; uint8_t x_75; lean_object* x_76;
-lean_dec(x_68);
-x_71 = l_Lean_nullKind;
-x_72 = l_Lean_Parser_ParserState_mkNode(x_69, x_71, x_67);
-x_73 = l_Lean_Parser_Command_end___elambda__1___closed__2;
-x_74 = l_Lean_Parser_ParserState_mkNode(x_72, x_73, x_63);
-x_75 = 1;
-x_76 = l_Lean_Parser_mergeOrElseErrors(x_74, x_55, x_52, x_75);
-lean_dec(x_52);
-return x_76;
-}
-else
-{
-lean_object* x_77; uint8_t x_78;
-lean_dec(x_70);
-x_77 = lean_ctor_get(x_69, 1);
-lean_inc(x_77);
-x_78 = lean_nat_dec_eq(x_77, x_68);
-lean_dec(x_77);
-if (x_78 == 0)
-{
-lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; uint8_t x_83; lean_object* x_84;
-lean_dec(x_68);
-x_79 = l_Lean_nullKind;
-x_80 = l_Lean_Parser_ParserState_mkNode(x_69, x_79, x_67);
-x_81 = l_Lean_Parser_Command_end___elambda__1___closed__2;
-x_82 = l_Lean_Parser_ParserState_mkNode(x_80, x_81, x_63);
-x_83 = 1;
-x_84 = l_Lean_Parser_mergeOrElseErrors(x_82, x_55, x_52, x_83);
-lean_dec(x_52);
-return x_84;
-}
-else
-{
-lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; uint8_t x_90; lean_object* x_91;
-x_85 = l_Lean_Parser_ParserState_restore(x_69, x_67, x_68);
-x_86 = l_Lean_nullKind;
-x_87 = l_Lean_Parser_ParserState_mkNode(x_85, x_86, x_67);
-x_88 = l_Lean_Parser_Command_end___elambda__1___closed__2;
-x_89 = l_Lean_Parser_ParserState_mkNode(x_87, x_88, x_63);
-x_90 = 1;
-x_91 = l_Lean_Parser_mergeOrElseErrors(x_89, x_55, x_52, x_90);
-lean_dec(x_52);
-return x_91;
-}
-}
-}
-else
-{
-lean_object* x_92; lean_object* x_93; uint8_t x_94; lean_object* x_95;
-lean_dec(x_65);
-lean_dec(x_1);
-x_92 = l_Lean_Parser_Command_end___elambda__1___closed__2;
-x_93 = l_Lean_Parser_ParserState_mkNode(x_64, x_92, x_63);
-x_94 = 1;
-x_95 = l_Lean_Parser_mergeOrElseErrors(x_93, x_55, x_52, x_94);
-lean_dec(x_52);
-return x_95;
-}
-}
-}
-else
-{
-uint8_t x_111; lean_object* x_112;
-lean_dec(x_61);
-lean_dec(x_1);
-x_111 = 1;
-x_112 = l_Lean_Parser_mergeOrElseErrors(x_60, x_55, x_52, x_111);
-lean_dec(x_52);
-return x_112;
-}
-}
-}
+lean_object* x_21; uint8_t x_22; lean_object* x_23;
+x_21 = l_Lean_Parser_Command_end___elambda__1___closed__10;
+x_22 = 1;
+x_23 = l_Lean_Parser_orelseFnCore(x_4, x_21, x_22, x_1, x_2);
+return x_23;
}
}
}
@@ -33243,6 +21273,54 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_variable___elambda__1___closed__6() {
_start:
{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_variable___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_variable___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
+x_1 = l_Lean_Parser_Term_forall___elambda__1___closed__9;
+x_2 = lean_ctor_get(x_1, 1);
+lean_inc(x_2);
+x_3 = l_Lean_Parser_Command_variable___elambda__1___closed__6;
+x_4 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_4, 0, x_3);
+lean_closure_set(x_4, 1, x_2);
+return x_4;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_variable___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_variable___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_variable___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_variable___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_variable___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_variable___elambda__1___closed__10() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Char_HasRepr___closed__1;
x_2 = l_Lean_Parser_Command_variable___elambda__1___closed__5;
@@ -33250,33 +21328,21 @@ x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Command_variable___elambda__1___closed__7() {
+static lean_object* _init_l_Lean_Parser_Command_variable___elambda__1___closed__11() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Command_variable___elambda__1___closed__6;
+x_1 = l_Lean_Parser_Command_variable___elambda__1___closed__10;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Command_variable___elambda__1___closed__8() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Command_variable___elambda__1___closed__7;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
-}
-}
lean_object* l_Lean_Parser_Command_variable___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; uint8_t x_7;
-x_3 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_forall___elambda__1___spec__1___closed__1;
+x_3 = l_Lean_Parser_Term_forall___elambda__1___closed__9;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
x_5 = l_Lean_Parser_Command_variable___elambda__1___closed__4;
@@ -33295,90 +21361,34 @@ x_10 = lean_ctor_get(x_9, 3);
lean_inc(x_10);
if (lean_obj_tag(x_10) == 0)
{
-lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_21; lean_object* x_22; lean_object* x_23;
+lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
x_11 = lean_ctor_get(x_9, 0);
lean_inc(x_11);
x_12 = lean_array_get_size(x_11);
lean_dec(x_11);
-x_21 = lean_ctor_get(x_9, 1);
-lean_inc(x_21);
+x_13 = l_Lean_Parser_Command_variable___elambda__1___closed__5;
+x_14 = l_Lean_Parser_Command_variable___elambda__1___closed__11;
lean_inc(x_1);
-x_22 = l_Lean_Parser_tokenFn(x_1, x_9);
-x_23 = lean_ctor_get(x_22, 3);
-lean_inc(x_23);
-if (lean_obj_tag(x_23) == 0)
+x_15 = l_Lean_Parser_symbolFnAux(x_13, x_14, x_1, x_9);
+x_16 = lean_ctor_get(x_15, 3);
+lean_inc(x_16);
+if (lean_obj_tag(x_16) == 0)
{
-lean_object* x_24; lean_object* x_25;
-x_24 = lean_ctor_get(x_22, 0);
-lean_inc(x_24);
-x_25 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_24);
-lean_dec(x_24);
-if (lean_obj_tag(x_25) == 2)
-{
-lean_object* x_26; lean_object* x_27; uint8_t x_28;
-x_26 = lean_ctor_get(x_25, 1);
-lean_inc(x_26);
-lean_dec(x_25);
-x_27 = l_Lean_Parser_Command_variable___elambda__1___closed__5;
-x_28 = lean_string_dec_eq(x_26, x_27);
-lean_dec(x_26);
-if (x_28 == 0)
-{
-lean_object* x_29; lean_object* x_30;
-x_29 = l_Lean_Parser_Command_variable___elambda__1___closed__8;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_29, x_21);
-x_13 = x_30;
-goto block_20;
-}
-else
-{
-lean_dec(x_21);
-x_13 = x_22;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32;
-lean_dec(x_25);
-x_31 = l_Lean_Parser_Command_variable___elambda__1___closed__8;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_31, x_21);
-x_13 = x_32;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_33; lean_object* x_34;
-lean_dec(x_23);
-x_33 = l_Lean_Parser_Command_variable___elambda__1___closed__8;
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_33, x_21);
-x_13 = x_34;
-goto block_20;
-}
-block_20:
-{
-lean_object* x_14;
-x_14 = lean_ctor_get(x_13, 3);
-lean_inc(x_14);
-if (lean_obj_tag(x_14) == 0)
-{
-lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_15 = lean_apply_2(x_4, x_1, x_13);
-x_16 = l_Lean_Parser_Command_variable___elambda__1___closed__2;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_12);
-return x_17;
-}
-else
-{
-lean_object* x_18; lean_object* x_19;
-lean_dec(x_14);
-lean_dec(x_4);
-lean_dec(x_1);
+lean_object* x_17; lean_object* x_18; lean_object* x_19;
+x_17 = lean_apply_2(x_4, x_1, x_15);
x_18 = l_Lean_Parser_Command_variable___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_13, x_18, x_12);
+x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_12);
return x_19;
}
+else
+{
+lean_object* x_20; lean_object* x_21;
+lean_dec(x_16);
+lean_dec(x_4);
+lean_dec(x_1);
+x_20 = l_Lean_Parser_Command_variable___elambda__1___closed__2;
+x_21 = l_Lean_Parser_ParserState_mkNode(x_15, x_20, x_12);
+return x_21;
}
}
else
@@ -33391,161 +21401,12 @@ return x_9;
}
else
{
-lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_35 = lean_ctor_get(x_2, 0);
-lean_inc(x_35);
-x_36 = lean_array_get_size(x_35);
-lean_dec(x_35);
-x_37 = lean_ctor_get(x_2, 1);
-lean_inc(x_37);
-lean_inc(x_1);
-x_38 = lean_apply_2(x_6, x_1, x_2);
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_dec(x_37);
-lean_dec(x_36);
+lean_object* x_22; uint8_t x_23; lean_object* x_24;
lean_dec(x_4);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_40; lean_object* x_41; uint8_t x_42;
-x_40 = lean_ctor_get(x_39, 0);
-lean_inc(x_40);
-lean_dec(x_39);
-x_41 = lean_ctor_get(x_38, 1);
-lean_inc(x_41);
-x_42 = lean_nat_dec_eq(x_41, x_37);
-lean_dec(x_41);
-if (x_42 == 0)
-{
-lean_dec(x_40);
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46;
-lean_inc(x_37);
-x_43 = l_Lean_Parser_ParserState_restore(x_38, x_36, x_37);
-lean_dec(x_36);
-x_44 = lean_unsigned_to_nat(1024u);
-x_45 = l_Lean_Parser_checkPrecFn(x_44, x_1, x_43);
-x_46 = lean_ctor_get(x_45, 3);
-lean_inc(x_46);
-if (lean_obj_tag(x_46) == 0)
-{
-lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_61; lean_object* x_62; lean_object* x_63;
-x_47 = lean_ctor_get(x_45, 0);
-lean_inc(x_47);
-x_48 = lean_array_get_size(x_47);
-lean_dec(x_47);
-x_61 = lean_ctor_get(x_45, 1);
-lean_inc(x_61);
-lean_inc(x_1);
-x_62 = l_Lean_Parser_tokenFn(x_1, x_45);
-x_63 = lean_ctor_get(x_62, 3);
-lean_inc(x_63);
-if (lean_obj_tag(x_63) == 0)
-{
-lean_object* x_64; lean_object* x_65;
-x_64 = lean_ctor_get(x_62, 0);
-lean_inc(x_64);
-x_65 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_64);
-lean_dec(x_64);
-if (lean_obj_tag(x_65) == 2)
-{
-lean_object* x_66; lean_object* x_67; uint8_t x_68;
-x_66 = lean_ctor_get(x_65, 1);
-lean_inc(x_66);
-lean_dec(x_65);
-x_67 = l_Lean_Parser_Command_variable___elambda__1___closed__5;
-x_68 = lean_string_dec_eq(x_66, x_67);
-lean_dec(x_66);
-if (x_68 == 0)
-{
-lean_object* x_69; lean_object* x_70;
-x_69 = l_Lean_Parser_Command_variable___elambda__1___closed__8;
-x_70 = l_Lean_Parser_ParserState_mkErrorsAt(x_62, x_69, x_61);
-x_49 = x_70;
-goto block_60;
-}
-else
-{
-lean_dec(x_61);
-x_49 = x_62;
-goto block_60;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72;
-lean_dec(x_65);
-x_71 = l_Lean_Parser_Command_variable___elambda__1___closed__8;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_62, x_71, x_61);
-x_49 = x_72;
-goto block_60;
-}
-}
-else
-{
-lean_object* x_73; lean_object* x_74;
-lean_dec(x_63);
-x_73 = l_Lean_Parser_Command_variable___elambda__1___closed__8;
-x_74 = l_Lean_Parser_ParserState_mkErrorsAt(x_62, x_73, x_61);
-x_49 = x_74;
-goto block_60;
-}
-block_60:
-{
-lean_object* x_50;
-x_50 = lean_ctor_get(x_49, 3);
-lean_inc(x_50);
-if (lean_obj_tag(x_50) == 0)
-{
-lean_object* x_51; lean_object* x_52; lean_object* x_53; uint8_t x_54; lean_object* x_55;
-x_51 = lean_apply_2(x_4, x_1, x_49);
-x_52 = l_Lean_Parser_Command_variable___elambda__1___closed__2;
-x_53 = l_Lean_Parser_ParserState_mkNode(x_51, x_52, x_48);
-x_54 = 1;
-x_55 = l_Lean_Parser_mergeOrElseErrors(x_53, x_40, x_37, x_54);
-lean_dec(x_37);
-return x_55;
-}
-else
-{
-lean_object* x_56; lean_object* x_57; uint8_t x_58; lean_object* x_59;
-lean_dec(x_50);
-lean_dec(x_4);
-lean_dec(x_1);
-x_56 = l_Lean_Parser_Command_variable___elambda__1___closed__2;
-x_57 = l_Lean_Parser_ParserState_mkNode(x_49, x_56, x_48);
-x_58 = 1;
-x_59 = l_Lean_Parser_mergeOrElseErrors(x_57, x_40, x_37, x_58);
-lean_dec(x_37);
-return x_59;
-}
-}
-}
-else
-{
-uint8_t x_75; lean_object* x_76;
-lean_dec(x_46);
-lean_dec(x_4);
-lean_dec(x_1);
-x_75 = 1;
-x_76 = l_Lean_Parser_mergeOrElseErrors(x_45, x_40, x_37, x_75);
-lean_dec(x_37);
-return x_76;
-}
-}
-}
+x_22 = l_Lean_Parser_Command_variable___elambda__1___closed__9;
+x_23 = 1;
+x_24 = l_Lean_Parser_orelseFnCore(x_6, x_22, x_23, x_1, x_2);
+return x_24;
}
}
}
@@ -33562,7 +21423,7 @@ static lean_object* _init_l_Lean_Parser_Command_variable___closed__2() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
-x_1 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_forall___elambda__1___spec__1___closed__1;
+x_1 = l_Lean_Parser_Term_forall___elambda__1___closed__9;
x_2 = lean_ctor_get(x_1, 0);
lean_inc(x_2);
x_3 = l_Lean_Parser_Command_variable___closed__1;
@@ -33842,20 +21703,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_variables___elambda__1___closed__6() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_variables___elambda__1___closed__5;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_variables___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_variables___elambda__1___closed__7() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Command_variables___elambda__1___closed__6;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Term_forall___elambda__1___closed__9;
+x_2 = lean_ctor_get(x_1, 1);
+lean_inc(x_2);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_many1Fn), 3, 1);
+lean_closure_set(x_3, 0, x_2);
return x_3;
}
}
@@ -33863,11 +21726,55 @@ static lean_object* _init_l_Lean_Parser_Command_variables___elambda__1___closed_
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Command_variables___elambda__1___closed__6;
x_2 = l_Lean_Parser_Command_variables___elambda__1___closed__7;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_variables___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_variables___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_variables___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_variables___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_variables___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_variables___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Command_variables___elambda__1___closed__5;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_variables___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_variables___elambda__1___closed__11;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -33875,7 +21782,7 @@ lean_object* l_Lean_Parser_Command_variables___elambda__1(lean_object* x_1, lean
_start:
{
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; uint8_t x_7;
-x_3 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_forall___elambda__1___spec__1___closed__1;
+x_3 = l_Lean_Parser_Term_forall___elambda__1___closed__9;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
x_5 = l_Lean_Parser_Command_variables___elambda__1___closed__4;
@@ -33894,118 +21801,62 @@ x_10 = lean_ctor_get(x_9, 3);
lean_inc(x_10);
if (lean_obj_tag(x_10) == 0)
{
-lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_31; lean_object* x_32; lean_object* x_33;
+lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
x_11 = lean_ctor_get(x_9, 0);
lean_inc(x_11);
x_12 = lean_array_get_size(x_11);
lean_dec(x_11);
-x_31 = lean_ctor_get(x_9, 1);
-lean_inc(x_31);
+x_13 = l_Lean_Parser_Command_variables___elambda__1___closed__5;
+x_14 = l_Lean_Parser_Command_variables___elambda__1___closed__12;
lean_inc(x_1);
-x_32 = l_Lean_Parser_tokenFn(x_1, x_9);
-x_33 = lean_ctor_get(x_32, 3);
-lean_inc(x_33);
-if (lean_obj_tag(x_33) == 0)
+x_15 = l_Lean_Parser_symbolFnAux(x_13, x_14, x_1, x_9);
+x_16 = lean_ctor_get(x_15, 3);
+lean_inc(x_16);
+if (lean_obj_tag(x_16) == 0)
{
-lean_object* x_34; lean_object* x_35;
-x_34 = lean_ctor_get(x_32, 0);
-lean_inc(x_34);
-x_35 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_34);
-lean_dec(x_34);
-if (lean_obj_tag(x_35) == 2)
-{
-lean_object* x_36; lean_object* x_37; uint8_t x_38;
-x_36 = lean_ctor_get(x_35, 1);
-lean_inc(x_36);
-lean_dec(x_35);
-x_37 = l_Lean_Parser_Command_variables___elambda__1___closed__5;
-x_38 = lean_string_dec_eq(x_36, x_37);
-lean_dec(x_36);
-if (x_38 == 0)
-{
-lean_object* x_39; lean_object* x_40;
-x_39 = l_Lean_Parser_Command_variables___elambda__1___closed__8;
-x_40 = l_Lean_Parser_ParserState_mkErrorsAt(x_32, x_39, x_31);
-x_13 = x_40;
-goto block_30;
-}
-else
-{
-lean_dec(x_31);
-x_13 = x_32;
-goto block_30;
-}
-}
-else
-{
-lean_object* x_41; lean_object* x_42;
-lean_dec(x_35);
-x_41 = l_Lean_Parser_Command_variables___elambda__1___closed__8;
-x_42 = l_Lean_Parser_ParserState_mkErrorsAt(x_32, x_41, x_31);
-x_13 = x_42;
-goto block_30;
-}
-}
-else
-{
-lean_object* x_43; lean_object* x_44;
-lean_dec(x_33);
-x_43 = l_Lean_Parser_Command_variables___elambda__1___closed__8;
-x_44 = l_Lean_Parser_ParserState_mkErrorsAt(x_32, x_43, x_31);
-x_13 = x_44;
-goto block_30;
-}
-block_30:
-{
-lean_object* x_14;
-x_14 = lean_ctor_get(x_13, 3);
-lean_inc(x_14);
-if (lean_obj_tag(x_14) == 0)
-{
-lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
-x_15 = lean_ctor_get(x_13, 0);
-lean_inc(x_15);
-x_16 = lean_array_get_size(x_15);
-lean_dec(x_15);
+lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
+x_17 = lean_ctor_get(x_15, 0);
+lean_inc(x_17);
+x_18 = lean_array_get_size(x_17);
+lean_dec(x_17);
lean_inc(x_4);
lean_inc(x_1);
-x_17 = lean_apply_2(x_4, x_1, x_13);
-x_18 = lean_ctor_get(x_17, 3);
-lean_inc(x_18);
-if (lean_obj_tag(x_18) == 0)
+x_19 = lean_apply_2(x_4, x_1, x_15);
+x_20 = lean_ctor_get(x_19, 3);
+lean_inc(x_20);
+if (lean_obj_tag(x_20) == 0)
{
-lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23;
-x_19 = l_Lean_Parser_manyAux___main(x_4, x_1, x_17);
-x_20 = l_Lean_nullKind;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_16);
-x_22 = l_Lean_Parser_Command_variables___elambda__1___closed__2;
-x_23 = l_Lean_Parser_ParserState_mkNode(x_21, x_22, x_12);
-return x_23;
+lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25;
+x_21 = l_Lean_Parser_manyAux(x_4, x_1, x_19);
+x_22 = l_Lean_nullKind;
+x_23 = l_Lean_Parser_ParserState_mkNode(x_21, x_22, x_18);
+x_24 = l_Lean_Parser_Command_variables___elambda__1___closed__2;
+x_25 = l_Lean_Parser_ParserState_mkNode(x_23, x_24, x_12);
+return x_25;
}
else
{
-lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
-lean_dec(x_18);
-lean_dec(x_4);
-lean_dec(x_1);
-x_24 = l_Lean_nullKind;
-x_25 = l_Lean_Parser_ParserState_mkNode(x_17, x_24, x_16);
-x_26 = l_Lean_Parser_Command_variables___elambda__1___closed__2;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_25, x_26, x_12);
-return x_27;
-}
-}
-else
-{
-lean_object* x_28; lean_object* x_29;
-lean_dec(x_14);
+lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29;
+lean_dec(x_20);
lean_dec(x_4);
lean_dec(x_1);
+x_26 = l_Lean_nullKind;
+x_27 = l_Lean_Parser_ParserState_mkNode(x_19, x_26, x_18);
x_28 = l_Lean_Parser_Command_variables___elambda__1___closed__2;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_13, x_28, x_12);
+x_29 = l_Lean_Parser_ParserState_mkNode(x_27, x_28, x_12);
return x_29;
}
}
+else
+{
+lean_object* x_30; lean_object* x_31;
+lean_dec(x_16);
+lean_dec(x_4);
+lean_dec(x_1);
+x_30 = l_Lean_Parser_Command_variables___elambda__1___closed__2;
+x_31 = l_Lean_Parser_ParserState_mkNode(x_15, x_30, x_12);
+return x_31;
+}
}
else
{
@@ -34017,191 +21868,12 @@ return x_9;
}
else
{
-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_2, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-x_47 = lean_ctor_get(x_2, 1);
-lean_inc(x_47);
-lean_inc(x_1);
-x_48 = lean_apply_2(x_6, x_1, x_2);
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
-{
-lean_dec(x_47);
-lean_dec(x_46);
+lean_object* x_32; uint8_t x_33; lean_object* x_34;
lean_dec(x_4);
-lean_dec(x_1);
-return x_48;
-}
-else
-{
-lean_object* x_50; lean_object* x_51; uint8_t x_52;
-x_50 = lean_ctor_get(x_49, 0);
-lean_inc(x_50);
-lean_dec(x_49);
-x_51 = lean_ctor_get(x_48, 1);
-lean_inc(x_51);
-x_52 = lean_nat_dec_eq(x_51, x_47);
-lean_dec(x_51);
-if (x_52 == 0)
-{
-lean_dec(x_50);
-lean_dec(x_47);
-lean_dec(x_46);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_48;
-}
-else
-{
-lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56;
-lean_inc(x_47);
-x_53 = l_Lean_Parser_ParserState_restore(x_48, x_46, x_47);
-lean_dec(x_46);
-x_54 = lean_unsigned_to_nat(1024u);
-x_55 = l_Lean_Parser_checkPrecFn(x_54, x_1, x_53);
-x_56 = lean_ctor_get(x_55, 3);
-lean_inc(x_56);
-if (lean_obj_tag(x_56) == 0)
-{
-lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_83; lean_object* x_84; lean_object* x_85;
-x_57 = lean_ctor_get(x_55, 0);
-lean_inc(x_57);
-x_58 = lean_array_get_size(x_57);
-lean_dec(x_57);
-x_83 = lean_ctor_get(x_55, 1);
-lean_inc(x_83);
-lean_inc(x_1);
-x_84 = l_Lean_Parser_tokenFn(x_1, x_55);
-x_85 = lean_ctor_get(x_84, 3);
-lean_inc(x_85);
-if (lean_obj_tag(x_85) == 0)
-{
-lean_object* x_86; lean_object* x_87;
-x_86 = lean_ctor_get(x_84, 0);
-lean_inc(x_86);
-x_87 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_86);
-lean_dec(x_86);
-if (lean_obj_tag(x_87) == 2)
-{
-lean_object* x_88; lean_object* x_89; uint8_t x_90;
-x_88 = lean_ctor_get(x_87, 1);
-lean_inc(x_88);
-lean_dec(x_87);
-x_89 = l_Lean_Parser_Command_variables___elambda__1___closed__5;
-x_90 = lean_string_dec_eq(x_88, x_89);
-lean_dec(x_88);
-if (x_90 == 0)
-{
-lean_object* x_91; lean_object* x_92;
-x_91 = l_Lean_Parser_Command_variables___elambda__1___closed__8;
-x_92 = l_Lean_Parser_ParserState_mkErrorsAt(x_84, x_91, x_83);
-x_59 = x_92;
-goto block_82;
-}
-else
-{
-lean_dec(x_83);
-x_59 = x_84;
-goto block_82;
-}
-}
-else
-{
-lean_object* x_93; lean_object* x_94;
-lean_dec(x_87);
-x_93 = l_Lean_Parser_Command_variables___elambda__1___closed__8;
-x_94 = l_Lean_Parser_ParserState_mkErrorsAt(x_84, x_93, x_83);
-x_59 = x_94;
-goto block_82;
-}
-}
-else
-{
-lean_object* x_95; lean_object* x_96;
-lean_dec(x_85);
-x_95 = l_Lean_Parser_Command_variables___elambda__1___closed__8;
-x_96 = l_Lean_Parser_ParserState_mkErrorsAt(x_84, x_95, x_83);
-x_59 = x_96;
-goto block_82;
-}
-block_82:
-{
-lean_object* x_60;
-x_60 = lean_ctor_get(x_59, 3);
-lean_inc(x_60);
-if (lean_obj_tag(x_60) == 0)
-{
-lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64;
-x_61 = lean_ctor_get(x_59, 0);
-lean_inc(x_61);
-x_62 = lean_array_get_size(x_61);
-lean_dec(x_61);
-lean_inc(x_4);
-lean_inc(x_1);
-x_63 = lean_apply_2(x_4, x_1, x_59);
-x_64 = lean_ctor_get(x_63, 3);
-lean_inc(x_64);
-if (lean_obj_tag(x_64) == 0)
-{
-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_object* x_71;
-x_65 = l_Lean_Parser_manyAux___main(x_4, x_1, x_63);
-x_66 = l_Lean_nullKind;
-x_67 = l_Lean_Parser_ParserState_mkNode(x_65, x_66, x_62);
-x_68 = l_Lean_Parser_Command_variables___elambda__1___closed__2;
-x_69 = l_Lean_Parser_ParserState_mkNode(x_67, x_68, x_58);
-x_70 = 1;
-x_71 = l_Lean_Parser_mergeOrElseErrors(x_69, x_50, x_47, x_70);
-lean_dec(x_47);
-return x_71;
-}
-else
-{
-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_dec(x_64);
-lean_dec(x_4);
-lean_dec(x_1);
-x_72 = l_Lean_nullKind;
-x_73 = l_Lean_Parser_ParserState_mkNode(x_63, x_72, x_62);
-x_74 = l_Lean_Parser_Command_variables___elambda__1___closed__2;
-x_75 = l_Lean_Parser_ParserState_mkNode(x_73, x_74, x_58);
-x_76 = 1;
-x_77 = l_Lean_Parser_mergeOrElseErrors(x_75, x_50, x_47, x_76);
-lean_dec(x_47);
-return x_77;
-}
-}
-else
-{
-lean_object* x_78; lean_object* x_79; uint8_t x_80; lean_object* x_81;
-lean_dec(x_60);
-lean_dec(x_4);
-lean_dec(x_1);
-x_78 = l_Lean_Parser_Command_variables___elambda__1___closed__2;
-x_79 = l_Lean_Parser_ParserState_mkNode(x_59, x_78, x_58);
-x_80 = 1;
-x_81 = l_Lean_Parser_mergeOrElseErrors(x_79, x_50, x_47, x_80);
-lean_dec(x_47);
-return x_81;
-}
-}
-}
-else
-{
-uint8_t x_97; lean_object* x_98;
-lean_dec(x_56);
-lean_dec(x_4);
-lean_dec(x_1);
-x_97 = 1;
-x_98 = l_Lean_Parser_mergeOrElseErrors(x_55, x_50, x_47, x_97);
-lean_dec(x_47);
-return x_98;
-}
-}
-}
+x_32 = l_Lean_Parser_Command_variables___elambda__1___closed__10;
+x_33 = 1;
+x_34 = l_Lean_Parser_orelseFnCore(x_6, x_32, x_33, x_1, x_2);
+return x_34;
}
}
}
@@ -34218,7 +21890,7 @@ static lean_object* _init_l_Lean_Parser_Command_variables___closed__2() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
-x_1 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_forall___elambda__1___spec__1___closed__1;
+x_1 = l_Lean_Parser_Term_forall___elambda__1___closed__9;
x_2 = lean_ctor_get(x_1, 0);
lean_inc(x_2);
x_3 = l_Lean_Parser_Command_variables___closed__1;
@@ -34526,11 +22198,11 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_universe___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_universe___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_universe___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_universe___elambda__1___closed__8() {
@@ -34538,8 +22210,10 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Command_universe___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_2 = l_Lean_Parser_ident___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -34547,11 +22221,43 @@ static lean_object* _init_l_Lean_Parser_Command_universe___elambda__1___closed__
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Command_universe___elambda__1___closed__2;
x_2 = l_Lean_Parser_Command_universe___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_universe___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_universe___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_universe___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Command_universe___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_universe___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_universe___elambda__1___closed__11;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -34575,89 +22281,33 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_19; lean_object* x_20; lean_object* x_21;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_19 = lean_ctor_get(x_7, 1);
-lean_inc(x_19);
+x_11 = l_Lean_Parser_Command_universe___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Command_universe___elambda__1___closed__12;
lean_inc(x_1);
-x_20 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_21 = lean_ctor_get(x_20, 3);
-lean_inc(x_21);
-if (lean_obj_tag(x_21) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_22; lean_object* x_23;
-x_22 = lean_ctor_get(x_20, 0);
-lean_inc(x_22);
-x_23 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_22);
-lean_dec(x_22);
-if (lean_obj_tag(x_23) == 2)
-{
-lean_object* x_24; lean_object* x_25; uint8_t x_26;
-x_24 = lean_ctor_get(x_23, 1);
-lean_inc(x_24);
-lean_dec(x_23);
-x_25 = l_Lean_Parser_Command_universe___elambda__1___closed__6;
-x_26 = lean_string_dec_eq(x_24, x_25);
-lean_dec(x_24);
-if (x_26 == 0)
-{
-lean_object* x_27; lean_object* x_28;
-x_27 = l_Lean_Parser_Command_universe___elambda__1___closed__9;
-x_28 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_27, x_19);
-x_11 = x_28;
-goto block_18;
-}
-else
-{
-lean_dec(x_19);
-x_11 = x_20;
-goto block_18;
-}
-}
-else
-{
-lean_object* x_29; lean_object* x_30;
-lean_dec(x_23);
-x_29 = l_Lean_Parser_Command_universe___elambda__1___closed__9;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_29, x_19);
-x_11 = x_30;
-goto block_18;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32;
-lean_dec(x_21);
-x_31 = l_Lean_Parser_Command_universe___elambda__1___closed__9;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_31, x_19);
-x_11 = x_32;
-goto block_18;
-}
-block_18:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15;
-x_13 = l_Lean_Parser_ident___elambda__1(x_1, x_11);
-x_14 = l_Lean_Parser_Command_universe___elambda__1___closed__2;
-x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
-return x_15;
-}
-else
-{
-lean_object* x_16; lean_object* x_17;
-lean_dec(x_12);
-lean_dec(x_1);
+lean_object* x_15; lean_object* x_16; lean_object* x_17;
+x_15 = l_Lean_Parser_ident___elambda__1(x_1, x_13);
x_16 = l_Lean_Parser_Command_universe___elambda__1___closed__2;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_11, x_16, x_10);
+x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_10);
return x_17;
}
+else
+{
+lean_object* x_18; lean_object* x_19;
+lean_dec(x_14);
+lean_dec(x_1);
+x_18 = l_Lean_Parser_Command_universe___elambda__1___closed__2;
+x_19 = l_Lean_Parser_ParserState_mkNode(x_13, x_18, x_10);
+return x_19;
}
}
else
@@ -34669,157 +22319,11 @@ return x_7;
}
else
{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_33 = lean_ctor_get(x_2, 0);
-lean_inc(x_33);
-x_34 = lean_array_get_size(x_33);
-lean_dec(x_33);
-x_35 = lean_ctor_get(x_2, 1);
-lean_inc(x_35);
-lean_inc(x_1);
-x_36 = lean_apply_2(x_4, x_1, x_2);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_36, 1);
-lean_inc(x_39);
-x_40 = lean_nat_dec_eq(x_39, x_35);
-lean_dec(x_39);
-if (x_40 == 0)
-{
-lean_dec(x_38);
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
-lean_inc(x_35);
-x_41 = l_Lean_Parser_ParserState_restore(x_36, x_34, x_35);
-lean_dec(x_34);
-x_42 = lean_unsigned_to_nat(1024u);
-x_43 = l_Lean_Parser_checkPrecFn(x_42, x_1, x_41);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_59; lean_object* x_60; lean_object* x_61;
-x_45 = lean_ctor_get(x_43, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-x_59 = lean_ctor_get(x_43, 1);
-lean_inc(x_59);
-lean_inc(x_1);
-x_60 = l_Lean_Parser_tokenFn(x_1, x_43);
-x_61 = lean_ctor_get(x_60, 3);
-lean_inc(x_61);
-if (lean_obj_tag(x_61) == 0)
-{
-lean_object* x_62; lean_object* x_63;
-x_62 = lean_ctor_get(x_60, 0);
-lean_inc(x_62);
-x_63 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_62);
-lean_dec(x_62);
-if (lean_obj_tag(x_63) == 2)
-{
-lean_object* x_64; lean_object* x_65; uint8_t x_66;
-x_64 = lean_ctor_get(x_63, 1);
-lean_inc(x_64);
-lean_dec(x_63);
-x_65 = l_Lean_Parser_Command_universe___elambda__1___closed__6;
-x_66 = lean_string_dec_eq(x_64, x_65);
-lean_dec(x_64);
-if (x_66 == 0)
-{
-lean_object* x_67; lean_object* x_68;
-x_67 = l_Lean_Parser_Command_universe___elambda__1___closed__9;
-x_68 = l_Lean_Parser_ParserState_mkErrorsAt(x_60, x_67, x_59);
-x_47 = x_68;
-goto block_58;
-}
-else
-{
-lean_dec(x_59);
-x_47 = x_60;
-goto block_58;
-}
-}
-else
-{
-lean_object* x_69; lean_object* x_70;
-lean_dec(x_63);
-x_69 = l_Lean_Parser_Command_universe___elambda__1___closed__9;
-x_70 = l_Lean_Parser_ParserState_mkErrorsAt(x_60, x_69, x_59);
-x_47 = x_70;
-goto block_58;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72;
-lean_dec(x_61);
-x_71 = l_Lean_Parser_Command_universe___elambda__1___closed__9;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_60, x_71, x_59);
-x_47 = x_72;
-goto block_58;
-}
-block_58:
-{
-lean_object* x_48;
-x_48 = lean_ctor_get(x_47, 3);
-lean_inc(x_48);
-if (lean_obj_tag(x_48) == 0)
-{
-lean_object* x_49; lean_object* x_50; lean_object* x_51; uint8_t x_52; lean_object* x_53;
-x_49 = l_Lean_Parser_ident___elambda__1(x_1, x_47);
-x_50 = l_Lean_Parser_Command_universe___elambda__1___closed__2;
-x_51 = l_Lean_Parser_ParserState_mkNode(x_49, x_50, x_46);
-x_52 = 1;
-x_53 = l_Lean_Parser_mergeOrElseErrors(x_51, x_38, x_35, x_52);
-lean_dec(x_35);
-return x_53;
-}
-else
-{
-lean_object* x_54; lean_object* x_55; uint8_t x_56; lean_object* x_57;
-lean_dec(x_48);
-lean_dec(x_1);
-x_54 = l_Lean_Parser_Command_universe___elambda__1___closed__2;
-x_55 = l_Lean_Parser_ParserState_mkNode(x_47, x_54, x_46);
-x_56 = 1;
-x_57 = l_Lean_Parser_mergeOrElseErrors(x_55, x_38, x_35, x_56);
-lean_dec(x_35);
-return x_57;
-}
-}
-}
-else
-{
-uint8_t x_73; lean_object* x_74;
-lean_dec(x_44);
-lean_dec(x_1);
-x_73 = 1;
-x_74 = l_Lean_Parser_mergeOrElseErrors(x_43, x_38, x_35, x_73);
-lean_dec(x_35);
-return x_74;
-}
-}
-}
+lean_object* x_20; uint8_t x_21; lean_object* x_22;
+x_20 = l_Lean_Parser_Command_universe___elambda__1___closed__10;
+x_21 = 1;
+x_22 = l_Lean_Parser_orelseFnCore(x_4, x_20, x_21, x_1, x_2);
+return x_22;
}
}
}
@@ -35112,11 +22616,11 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_universes___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_universes___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_universes___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_universes___elambda__1___closed__8() {
@@ -35124,8 +22628,10 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Command_universes___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_2 = l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -35133,11 +22639,43 @@ static lean_object* _init_l_Lean_Parser_Command_universes___elambda__1___closed_
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Command_universes___elambda__1___closed__2;
x_2 = l_Lean_Parser_Command_universes___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_universes___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_universes___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_universes___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Command_universes___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_universes___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_universes___elambda__1___closed__11;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -35161,114 +22699,59 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_29; lean_object* x_30; lean_object* x_31;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_29 = lean_ctor_get(x_7, 1);
-lean_inc(x_29);
+x_11 = l_Lean_Parser_Command_universes___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Command_universes___elambda__1___closed__12;
lean_inc(x_1);
-x_30 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_31 = lean_ctor_get(x_30, 3);
-lean_inc(x_31);
-if (lean_obj_tag(x_31) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_32; lean_object* x_33;
-x_32 = lean_ctor_get(x_30, 0);
-lean_inc(x_32);
-x_33 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_32);
-lean_dec(x_32);
-if (lean_obj_tag(x_33) == 2)
-{
-lean_object* x_34; lean_object* x_35; uint8_t x_36;
-x_34 = lean_ctor_get(x_33, 1);
-lean_inc(x_34);
-lean_dec(x_33);
-x_35 = l_Lean_Parser_Command_universes___elambda__1___closed__6;
-x_36 = lean_string_dec_eq(x_34, x_35);
-lean_dec(x_34);
-if (x_36 == 0)
-{
-lean_object* x_37; lean_object* x_38;
-x_37 = l_Lean_Parser_Command_universes___elambda__1___closed__9;
-x_38 = l_Lean_Parser_ParserState_mkErrorsAt(x_30, x_37, x_29);
-x_11 = x_38;
-goto block_28;
-}
-else
-{
-lean_dec(x_29);
-x_11 = x_30;
-goto block_28;
-}
-}
-else
-{
-lean_object* x_39; lean_object* x_40;
-lean_dec(x_33);
-x_39 = l_Lean_Parser_Command_universes___elambda__1___closed__9;
-x_40 = l_Lean_Parser_ParserState_mkErrorsAt(x_30, x_39, x_29);
-x_11 = x_40;
-goto block_28;
-}
-}
-else
-{
-lean_object* x_41; lean_object* x_42;
-lean_dec(x_31);
-x_41 = l_Lean_Parser_Command_universes___elambda__1___closed__9;
-x_42 = l_Lean_Parser_ParserState_mkErrorsAt(x_30, x_41, x_29);
-x_11 = x_42;
-goto block_28;
-}
-block_28:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
-x_13 = lean_ctor_get(x_11, 0);
-lean_inc(x_13);
-x_14 = lean_array_get_size(x_13);
-lean_dec(x_13);
+lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
+x_15 = lean_ctor_get(x_13, 0);
+lean_inc(x_15);
+x_16 = lean_array_get_size(x_15);
+lean_dec(x_15);
lean_inc(x_1);
-x_15 = l_Lean_Parser_ident___elambda__1(x_1, x_11);
-x_16 = lean_ctor_get(x_15, 3);
-lean_inc(x_16);
-if (lean_obj_tag(x_16) == 0)
+x_17 = l_Lean_Parser_ident___elambda__1(x_1, x_13);
+x_18 = lean_ctor_get(x_17, 3);
+lean_inc(x_18);
+if (lean_obj_tag(x_18) == 0)
{
-lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
-x_17 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_structExplicitBinder___elambda__1___spec__1(x_1, x_15);
-x_18 = l_Lean_nullKind;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_14);
-x_20 = l_Lean_Parser_Command_universes___elambda__1___closed__2;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_10);
-return x_21;
+lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
+x_19 = l_Lean_Parser_ident___closed__2;
+x_20 = l_Lean_Parser_manyAux(x_19, x_1, x_17);
+x_21 = l_Lean_nullKind;
+x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_16);
+x_23 = l_Lean_Parser_Command_universes___elambda__1___closed__2;
+x_24 = l_Lean_Parser_ParserState_mkNode(x_22, x_23, x_10);
+return x_24;
}
else
{
-lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25;
-lean_dec(x_16);
+lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
+lean_dec(x_18);
lean_dec(x_1);
-x_22 = l_Lean_nullKind;
-x_23 = l_Lean_Parser_ParserState_mkNode(x_15, x_22, x_14);
-x_24 = l_Lean_Parser_Command_universes___elambda__1___closed__2;
-x_25 = l_Lean_Parser_ParserState_mkNode(x_23, x_24, x_10);
-return x_25;
+x_25 = l_Lean_nullKind;
+x_26 = l_Lean_Parser_ParserState_mkNode(x_17, x_25, x_16);
+x_27 = l_Lean_Parser_Command_universes___elambda__1___closed__2;
+x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_10);
+return x_28;
}
}
else
{
-lean_object* x_26; lean_object* x_27;
-lean_dec(x_12);
+lean_object* x_29; lean_object* x_30;
+lean_dec(x_14);
lean_dec(x_1);
-x_26 = l_Lean_Parser_Command_universes___elambda__1___closed__2;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_11, x_26, x_10);
-return x_27;
-}
+x_29 = l_Lean_Parser_Command_universes___elambda__1___closed__2;
+x_30 = l_Lean_Parser_ParserState_mkNode(x_13, x_29, x_10);
+return x_30;
}
}
else
@@ -35280,185 +22763,11 @@ return x_7;
}
else
{
-lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47;
-x_43 = lean_ctor_get(x_2, 0);
-lean_inc(x_43);
-x_44 = lean_array_get_size(x_43);
-lean_dec(x_43);
-x_45 = lean_ctor_get(x_2, 1);
-lean_inc(x_45);
-lean_inc(x_1);
-x_46 = lean_apply_2(x_4, x_1, x_2);
-x_47 = lean_ctor_get(x_46, 3);
-lean_inc(x_47);
-if (lean_obj_tag(x_47) == 0)
-{
-lean_dec(x_45);
-lean_dec(x_44);
-lean_dec(x_1);
-return x_46;
-}
-else
-{
-lean_object* x_48; lean_object* x_49; uint8_t x_50;
-x_48 = lean_ctor_get(x_47, 0);
-lean_inc(x_48);
-lean_dec(x_47);
-x_49 = lean_ctor_get(x_46, 1);
-lean_inc(x_49);
-x_50 = lean_nat_dec_eq(x_49, x_45);
-lean_dec(x_49);
-if (x_50 == 0)
-{
-lean_dec(x_48);
-lean_dec(x_45);
-lean_dec(x_44);
-lean_dec(x_1);
-return x_46;
-}
-else
-{
-lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54;
-lean_inc(x_45);
-x_51 = l_Lean_Parser_ParserState_restore(x_46, x_44, x_45);
-lean_dec(x_44);
-x_52 = lean_unsigned_to_nat(1024u);
-x_53 = l_Lean_Parser_checkPrecFn(x_52, x_1, x_51);
-x_54 = lean_ctor_get(x_53, 3);
-lean_inc(x_54);
-if (lean_obj_tag(x_54) == 0)
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_81; lean_object* x_82; lean_object* x_83;
-x_55 = lean_ctor_get(x_53, 0);
-lean_inc(x_55);
-x_56 = lean_array_get_size(x_55);
-lean_dec(x_55);
-x_81 = lean_ctor_get(x_53, 1);
-lean_inc(x_81);
-lean_inc(x_1);
-x_82 = l_Lean_Parser_tokenFn(x_1, x_53);
-x_83 = lean_ctor_get(x_82, 3);
-lean_inc(x_83);
-if (lean_obj_tag(x_83) == 0)
-{
-lean_object* x_84; lean_object* x_85;
-x_84 = lean_ctor_get(x_82, 0);
-lean_inc(x_84);
-x_85 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_84);
-lean_dec(x_84);
-if (lean_obj_tag(x_85) == 2)
-{
-lean_object* x_86; lean_object* x_87; uint8_t x_88;
-x_86 = lean_ctor_get(x_85, 1);
-lean_inc(x_86);
-lean_dec(x_85);
-x_87 = l_Lean_Parser_Command_universes___elambda__1___closed__6;
-x_88 = lean_string_dec_eq(x_86, x_87);
-lean_dec(x_86);
-if (x_88 == 0)
-{
-lean_object* x_89; lean_object* x_90;
-x_89 = l_Lean_Parser_Command_universes___elambda__1___closed__9;
-x_90 = l_Lean_Parser_ParserState_mkErrorsAt(x_82, x_89, x_81);
-x_57 = x_90;
-goto block_80;
-}
-else
-{
-lean_dec(x_81);
-x_57 = x_82;
-goto block_80;
-}
-}
-else
-{
-lean_object* x_91; lean_object* x_92;
-lean_dec(x_85);
-x_91 = l_Lean_Parser_Command_universes___elambda__1___closed__9;
-x_92 = l_Lean_Parser_ParserState_mkErrorsAt(x_82, x_91, x_81);
-x_57 = x_92;
-goto block_80;
-}
-}
-else
-{
-lean_object* x_93; lean_object* x_94;
-lean_dec(x_83);
-x_93 = l_Lean_Parser_Command_universes___elambda__1___closed__9;
-x_94 = l_Lean_Parser_ParserState_mkErrorsAt(x_82, x_93, x_81);
-x_57 = x_94;
-goto block_80;
-}
-block_80:
-{
-lean_object* x_58;
-x_58 = lean_ctor_get(x_57, 3);
-lean_inc(x_58);
-if (lean_obj_tag(x_58) == 0)
-{
-lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62;
-x_59 = lean_ctor_get(x_57, 0);
-lean_inc(x_59);
-x_60 = lean_array_get_size(x_59);
-lean_dec(x_59);
-lean_inc(x_1);
-x_61 = l_Lean_Parser_ident___elambda__1(x_1, x_57);
-x_62 = lean_ctor_get(x_61, 3);
-lean_inc(x_62);
-if (lean_obj_tag(x_62) == 0)
-{
-lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; uint8_t x_68; lean_object* x_69;
-x_63 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_structExplicitBinder___elambda__1___spec__1(x_1, x_61);
-x_64 = l_Lean_nullKind;
-x_65 = l_Lean_Parser_ParserState_mkNode(x_63, x_64, x_60);
-x_66 = l_Lean_Parser_Command_universes___elambda__1___closed__2;
-x_67 = l_Lean_Parser_ParserState_mkNode(x_65, x_66, x_56);
-x_68 = 1;
-x_69 = l_Lean_Parser_mergeOrElseErrors(x_67, x_48, x_45, x_68);
-lean_dec(x_45);
-return x_69;
-}
-else
-{
-lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; uint8_t x_74; lean_object* x_75;
-lean_dec(x_62);
-lean_dec(x_1);
-x_70 = l_Lean_nullKind;
-x_71 = l_Lean_Parser_ParserState_mkNode(x_61, x_70, x_60);
-x_72 = l_Lean_Parser_Command_universes___elambda__1___closed__2;
-x_73 = l_Lean_Parser_ParserState_mkNode(x_71, x_72, x_56);
-x_74 = 1;
-x_75 = l_Lean_Parser_mergeOrElseErrors(x_73, x_48, x_45, x_74);
-lean_dec(x_45);
-return x_75;
-}
-}
-else
-{
-lean_object* x_76; lean_object* x_77; uint8_t x_78; lean_object* x_79;
-lean_dec(x_58);
-lean_dec(x_1);
-x_76 = l_Lean_Parser_Command_universes___elambda__1___closed__2;
-x_77 = l_Lean_Parser_ParserState_mkNode(x_57, x_76, x_56);
-x_78 = 1;
-x_79 = l_Lean_Parser_mergeOrElseErrors(x_77, x_48, x_45, x_78);
-lean_dec(x_45);
-return x_79;
-}
-}
-}
-else
-{
-uint8_t x_95; lean_object* x_96;
-lean_dec(x_54);
-lean_dec(x_1);
-x_95 = 1;
-x_96 = l_Lean_Parser_mergeOrElseErrors(x_53, x_48, x_45, x_95);
-lean_dec(x_45);
-return x_96;
-}
-}
-}
+lean_object* x_31; uint8_t x_32; lean_object* x_33;
+x_31 = l_Lean_Parser_Command_universes___elambda__1___closed__10;
+x_32 = 1;
+x_33 = l_Lean_Parser_orelseFnCore(x_4, x_31, x_32, x_1, x_2);
+return x_33;
}
}
}
@@ -35763,11 +23072,11 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_check___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_check___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_check___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_check___elambda__1___closed__8() {
@@ -35775,8 +23084,10 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Command_check___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_2 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -35784,11 +23095,43 @@ static lean_object* _init_l_Lean_Parser_Command_check___elambda__1___closed__9()
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Command_check___elambda__1___closed__2;
x_2 = l_Lean_Parser_Command_check___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_check___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_check___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_check___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Command_check___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_check___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_check___elambda__1___closed__11;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -35812,91 +23155,35 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_21; lean_object* x_22; lean_object* x_23;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_21 = lean_ctor_get(x_7, 1);
-lean_inc(x_21);
+x_11 = l_Lean_Parser_Command_check___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Command_check___elambda__1___closed__12;
lean_inc(x_1);
-x_22 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_23 = lean_ctor_get(x_22, 3);
-lean_inc(x_23);
-if (lean_obj_tag(x_23) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_24; lean_object* x_25;
-x_24 = lean_ctor_get(x_22, 0);
-lean_inc(x_24);
-x_25 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_24);
-lean_dec(x_24);
-if (lean_obj_tag(x_25) == 2)
-{
-lean_object* x_26; lean_object* x_27; uint8_t x_28;
-x_26 = lean_ctor_get(x_25, 1);
-lean_inc(x_26);
-lean_dec(x_25);
-x_27 = l_Lean_Parser_Command_check___elambda__1___closed__6;
-x_28 = lean_string_dec_eq(x_26, x_27);
-lean_dec(x_26);
-if (x_28 == 0)
-{
-lean_object* x_29; lean_object* x_30;
-x_29 = l_Lean_Parser_Command_check___elambda__1___closed__9;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_29, x_21);
-x_11 = x_30;
-goto block_20;
-}
-else
-{
-lean_dec(x_21);
-x_11 = x_22;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32;
-lean_dec(x_25);
-x_31 = l_Lean_Parser_Command_check___elambda__1___closed__9;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_31, x_21);
-x_11 = x_32;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_33; lean_object* x_34;
-lean_dec(x_23);
-x_33 = l_Lean_Parser_Command_check___elambda__1___closed__9;
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_33, x_21);
-x_11 = x_34;
-goto block_20;
-}
-block_20:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_13 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_14 = lean_unsigned_to_nat(0u);
-x_15 = l_Lean_Parser_categoryParser___elambda__1(x_13, x_14, x_1, x_11);
-x_16 = l_Lean_Parser_Command_check___elambda__1___closed__2;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_10);
-return x_17;
-}
-else
-{
-lean_object* x_18; lean_object* x_19;
-lean_dec(x_12);
-lean_dec(x_1);
+lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
+x_15 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_16 = lean_unsigned_to_nat(0u);
+x_17 = l_Lean_Parser_categoryParser___elambda__1(x_15, x_16, x_1, x_13);
x_18 = l_Lean_Parser_Command_check___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_11, x_18, x_10);
+x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_10);
return x_19;
}
+else
+{
+lean_object* x_20; lean_object* x_21;
+lean_dec(x_14);
+lean_dec(x_1);
+x_20 = l_Lean_Parser_Command_check___elambda__1___closed__2;
+x_21 = l_Lean_Parser_ParserState_mkNode(x_13, x_20, x_10);
+return x_21;
}
}
else
@@ -35908,159 +23195,11 @@ return x_7;
}
else
{
-lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_35 = lean_ctor_get(x_2, 0);
-lean_inc(x_35);
-x_36 = lean_array_get_size(x_35);
-lean_dec(x_35);
-x_37 = lean_ctor_get(x_2, 1);
-lean_inc(x_37);
-lean_inc(x_1);
-x_38 = lean_apply_2(x_4, x_1, x_2);
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_40; lean_object* x_41; uint8_t x_42;
-x_40 = lean_ctor_get(x_39, 0);
-lean_inc(x_40);
-lean_dec(x_39);
-x_41 = lean_ctor_get(x_38, 1);
-lean_inc(x_41);
-x_42 = lean_nat_dec_eq(x_41, x_37);
-lean_dec(x_41);
-if (x_42 == 0)
-{
-lean_dec(x_40);
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46;
-lean_inc(x_37);
-x_43 = l_Lean_Parser_ParserState_restore(x_38, x_36, x_37);
-lean_dec(x_36);
-x_44 = lean_unsigned_to_nat(1024u);
-x_45 = l_Lean_Parser_checkPrecFn(x_44, x_1, x_43);
-x_46 = lean_ctor_get(x_45, 3);
-lean_inc(x_46);
-if (lean_obj_tag(x_46) == 0)
-{
-lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_63; lean_object* x_64; lean_object* x_65;
-x_47 = lean_ctor_get(x_45, 0);
-lean_inc(x_47);
-x_48 = lean_array_get_size(x_47);
-lean_dec(x_47);
-x_63 = lean_ctor_get(x_45, 1);
-lean_inc(x_63);
-lean_inc(x_1);
-x_64 = l_Lean_Parser_tokenFn(x_1, x_45);
-x_65 = lean_ctor_get(x_64, 3);
-lean_inc(x_65);
-if (lean_obj_tag(x_65) == 0)
-{
-lean_object* x_66; lean_object* x_67;
-x_66 = lean_ctor_get(x_64, 0);
-lean_inc(x_66);
-x_67 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_66);
-lean_dec(x_66);
-if (lean_obj_tag(x_67) == 2)
-{
-lean_object* x_68; lean_object* x_69; uint8_t x_70;
-x_68 = lean_ctor_get(x_67, 1);
-lean_inc(x_68);
-lean_dec(x_67);
-x_69 = l_Lean_Parser_Command_check___elambda__1___closed__6;
-x_70 = lean_string_dec_eq(x_68, x_69);
-lean_dec(x_68);
-if (x_70 == 0)
-{
-lean_object* x_71; lean_object* x_72;
-x_71 = l_Lean_Parser_Command_check___elambda__1___closed__9;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_71, x_63);
-x_49 = x_72;
-goto block_62;
-}
-else
-{
-lean_dec(x_63);
-x_49 = x_64;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_73; lean_object* x_74;
-lean_dec(x_67);
-x_73 = l_Lean_Parser_Command_check___elambda__1___closed__9;
-x_74 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_73, x_63);
-x_49 = x_74;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_75; lean_object* x_76;
-lean_dec(x_65);
-x_75 = l_Lean_Parser_Command_check___elambda__1___closed__9;
-x_76 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_75, x_63);
-x_49 = x_76;
-goto block_62;
-}
-block_62:
-{
-lean_object* x_50;
-x_50 = lean_ctor_get(x_49, 3);
-lean_inc(x_50);
-if (lean_obj_tag(x_50) == 0)
-{
-lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; uint8_t x_56; lean_object* x_57;
-x_51 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_52 = lean_unsigned_to_nat(0u);
-x_53 = l_Lean_Parser_categoryParser___elambda__1(x_51, x_52, x_1, x_49);
-x_54 = l_Lean_Parser_Command_check___elambda__1___closed__2;
-x_55 = l_Lean_Parser_ParserState_mkNode(x_53, x_54, x_48);
-x_56 = 1;
-x_57 = l_Lean_Parser_mergeOrElseErrors(x_55, x_40, x_37, x_56);
-lean_dec(x_37);
-return x_57;
-}
-else
-{
-lean_object* x_58; lean_object* x_59; uint8_t x_60; lean_object* x_61;
-lean_dec(x_50);
-lean_dec(x_1);
-x_58 = l_Lean_Parser_Command_check___elambda__1___closed__2;
-x_59 = l_Lean_Parser_ParserState_mkNode(x_49, x_58, x_48);
-x_60 = 1;
-x_61 = l_Lean_Parser_mergeOrElseErrors(x_59, x_40, x_37, x_60);
-lean_dec(x_37);
-return x_61;
-}
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_46);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_45, x_40, x_37, x_77);
-lean_dec(x_37);
-return x_78;
-}
-}
-}
+lean_object* x_22; uint8_t x_23; lean_object* x_24;
+x_22 = l_Lean_Parser_Command_check___elambda__1___closed__10;
+x_23 = 1;
+x_24 = l_Lean_Parser_orelseFnCore(x_4, x_22, x_23, x_1, x_2);
+return x_24;
}
}
}
@@ -36353,11 +23492,11 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_check__failure___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_check__failure___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_check__failure___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_check__failure___elambda__1___closed__8() {
@@ -36365,8 +23504,10 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Command_check__failure___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_2 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -36374,11 +23515,43 @@ static lean_object* _init_l_Lean_Parser_Command_check__failure___elambda__1___cl
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Command_check__failure___elambda__1___closed__2;
x_2 = l_Lean_Parser_Command_check__failure___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_check__failure___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_check__failure___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_check__failure___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Command_check__failure___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_check__failure___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_check__failure___elambda__1___closed__11;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -36402,91 +23575,35 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_21; lean_object* x_22; lean_object* x_23;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_21 = lean_ctor_get(x_7, 1);
-lean_inc(x_21);
+x_11 = l_Lean_Parser_Command_check__failure___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Command_check__failure___elambda__1___closed__12;
lean_inc(x_1);
-x_22 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_23 = lean_ctor_get(x_22, 3);
-lean_inc(x_23);
-if (lean_obj_tag(x_23) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_24; lean_object* x_25;
-x_24 = lean_ctor_get(x_22, 0);
-lean_inc(x_24);
-x_25 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_24);
-lean_dec(x_24);
-if (lean_obj_tag(x_25) == 2)
-{
-lean_object* x_26; lean_object* x_27; uint8_t x_28;
-x_26 = lean_ctor_get(x_25, 1);
-lean_inc(x_26);
-lean_dec(x_25);
-x_27 = l_Lean_Parser_Command_check__failure___elambda__1___closed__6;
-x_28 = lean_string_dec_eq(x_26, x_27);
-lean_dec(x_26);
-if (x_28 == 0)
-{
-lean_object* x_29; lean_object* x_30;
-x_29 = l_Lean_Parser_Command_check__failure___elambda__1___closed__9;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_29, x_21);
-x_11 = x_30;
-goto block_20;
-}
-else
-{
-lean_dec(x_21);
-x_11 = x_22;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32;
-lean_dec(x_25);
-x_31 = l_Lean_Parser_Command_check__failure___elambda__1___closed__9;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_31, x_21);
-x_11 = x_32;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_33; lean_object* x_34;
-lean_dec(x_23);
-x_33 = l_Lean_Parser_Command_check__failure___elambda__1___closed__9;
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_33, x_21);
-x_11 = x_34;
-goto block_20;
-}
-block_20:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_13 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_14 = lean_unsigned_to_nat(0u);
-x_15 = l_Lean_Parser_categoryParser___elambda__1(x_13, x_14, x_1, x_11);
-x_16 = l_Lean_Parser_Command_check__failure___elambda__1___closed__2;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_10);
-return x_17;
-}
-else
-{
-lean_object* x_18; lean_object* x_19;
-lean_dec(x_12);
-lean_dec(x_1);
+lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
+x_15 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_16 = lean_unsigned_to_nat(0u);
+x_17 = l_Lean_Parser_categoryParser___elambda__1(x_15, x_16, x_1, x_13);
x_18 = l_Lean_Parser_Command_check__failure___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_11, x_18, x_10);
+x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_10);
return x_19;
}
+else
+{
+lean_object* x_20; lean_object* x_21;
+lean_dec(x_14);
+lean_dec(x_1);
+x_20 = l_Lean_Parser_Command_check__failure___elambda__1___closed__2;
+x_21 = l_Lean_Parser_ParserState_mkNode(x_13, x_20, x_10);
+return x_21;
}
}
else
@@ -36498,159 +23615,11 @@ return x_7;
}
else
{
-lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_35 = lean_ctor_get(x_2, 0);
-lean_inc(x_35);
-x_36 = lean_array_get_size(x_35);
-lean_dec(x_35);
-x_37 = lean_ctor_get(x_2, 1);
-lean_inc(x_37);
-lean_inc(x_1);
-x_38 = lean_apply_2(x_4, x_1, x_2);
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_40; lean_object* x_41; uint8_t x_42;
-x_40 = lean_ctor_get(x_39, 0);
-lean_inc(x_40);
-lean_dec(x_39);
-x_41 = lean_ctor_get(x_38, 1);
-lean_inc(x_41);
-x_42 = lean_nat_dec_eq(x_41, x_37);
-lean_dec(x_41);
-if (x_42 == 0)
-{
-lean_dec(x_40);
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46;
-lean_inc(x_37);
-x_43 = l_Lean_Parser_ParserState_restore(x_38, x_36, x_37);
-lean_dec(x_36);
-x_44 = lean_unsigned_to_nat(1024u);
-x_45 = l_Lean_Parser_checkPrecFn(x_44, x_1, x_43);
-x_46 = lean_ctor_get(x_45, 3);
-lean_inc(x_46);
-if (lean_obj_tag(x_46) == 0)
-{
-lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_63; lean_object* x_64; lean_object* x_65;
-x_47 = lean_ctor_get(x_45, 0);
-lean_inc(x_47);
-x_48 = lean_array_get_size(x_47);
-lean_dec(x_47);
-x_63 = lean_ctor_get(x_45, 1);
-lean_inc(x_63);
-lean_inc(x_1);
-x_64 = l_Lean_Parser_tokenFn(x_1, x_45);
-x_65 = lean_ctor_get(x_64, 3);
-lean_inc(x_65);
-if (lean_obj_tag(x_65) == 0)
-{
-lean_object* x_66; lean_object* x_67;
-x_66 = lean_ctor_get(x_64, 0);
-lean_inc(x_66);
-x_67 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_66);
-lean_dec(x_66);
-if (lean_obj_tag(x_67) == 2)
-{
-lean_object* x_68; lean_object* x_69; uint8_t x_70;
-x_68 = lean_ctor_get(x_67, 1);
-lean_inc(x_68);
-lean_dec(x_67);
-x_69 = l_Lean_Parser_Command_check__failure___elambda__1___closed__6;
-x_70 = lean_string_dec_eq(x_68, x_69);
-lean_dec(x_68);
-if (x_70 == 0)
-{
-lean_object* x_71; lean_object* x_72;
-x_71 = l_Lean_Parser_Command_check__failure___elambda__1___closed__9;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_71, x_63);
-x_49 = x_72;
-goto block_62;
-}
-else
-{
-lean_dec(x_63);
-x_49 = x_64;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_73; lean_object* x_74;
-lean_dec(x_67);
-x_73 = l_Lean_Parser_Command_check__failure___elambda__1___closed__9;
-x_74 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_73, x_63);
-x_49 = x_74;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_75; lean_object* x_76;
-lean_dec(x_65);
-x_75 = l_Lean_Parser_Command_check__failure___elambda__1___closed__9;
-x_76 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_75, x_63);
-x_49 = x_76;
-goto block_62;
-}
-block_62:
-{
-lean_object* x_50;
-x_50 = lean_ctor_get(x_49, 3);
-lean_inc(x_50);
-if (lean_obj_tag(x_50) == 0)
-{
-lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; uint8_t x_56; lean_object* x_57;
-x_51 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_52 = lean_unsigned_to_nat(0u);
-x_53 = l_Lean_Parser_categoryParser___elambda__1(x_51, x_52, x_1, x_49);
-x_54 = l_Lean_Parser_Command_check__failure___elambda__1___closed__2;
-x_55 = l_Lean_Parser_ParserState_mkNode(x_53, x_54, x_48);
-x_56 = 1;
-x_57 = l_Lean_Parser_mergeOrElseErrors(x_55, x_40, x_37, x_56);
-lean_dec(x_37);
-return x_57;
-}
-else
-{
-lean_object* x_58; lean_object* x_59; uint8_t x_60; lean_object* x_61;
-lean_dec(x_50);
-lean_dec(x_1);
-x_58 = l_Lean_Parser_Command_check__failure___elambda__1___closed__2;
-x_59 = l_Lean_Parser_ParserState_mkNode(x_49, x_58, x_48);
-x_60 = 1;
-x_61 = l_Lean_Parser_mergeOrElseErrors(x_59, x_40, x_37, x_60);
-lean_dec(x_37);
-return x_61;
-}
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_46);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_45, x_40, x_37, x_77);
-lean_dec(x_37);
-return x_78;
-}
-}
-}
+lean_object* x_22; uint8_t x_23; lean_object* x_24;
+x_22 = l_Lean_Parser_Command_check__failure___elambda__1___closed__10;
+x_23 = 1;
+x_24 = l_Lean_Parser_orelseFnCore(x_4, x_22, x_23, x_1, x_2);
+return x_24;
}
}
}
@@ -36943,11 +23912,11 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_eval___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_eval___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_eval___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_eval___elambda__1___closed__8() {
@@ -36955,8 +23924,10 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Command_eval___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_2 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -36964,11 +23935,43 @@ static lean_object* _init_l_Lean_Parser_Command_eval___elambda__1___closed__9()
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Command_eval___elambda__1___closed__2;
x_2 = l_Lean_Parser_Command_eval___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_eval___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_eval___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_eval___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Command_eval___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_eval___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_eval___elambda__1___closed__11;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -36992,91 +23995,35 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_21; lean_object* x_22; lean_object* x_23;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_21 = lean_ctor_get(x_7, 1);
-lean_inc(x_21);
+x_11 = l_Lean_Parser_Command_eval___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Command_eval___elambda__1___closed__12;
lean_inc(x_1);
-x_22 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_23 = lean_ctor_get(x_22, 3);
-lean_inc(x_23);
-if (lean_obj_tag(x_23) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_24; lean_object* x_25;
-x_24 = lean_ctor_get(x_22, 0);
-lean_inc(x_24);
-x_25 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_24);
-lean_dec(x_24);
-if (lean_obj_tag(x_25) == 2)
-{
-lean_object* x_26; lean_object* x_27; uint8_t x_28;
-x_26 = lean_ctor_get(x_25, 1);
-lean_inc(x_26);
-lean_dec(x_25);
-x_27 = l_Lean_Parser_Command_eval___elambda__1___closed__6;
-x_28 = lean_string_dec_eq(x_26, x_27);
-lean_dec(x_26);
-if (x_28 == 0)
-{
-lean_object* x_29; lean_object* x_30;
-x_29 = l_Lean_Parser_Command_eval___elambda__1___closed__9;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_29, x_21);
-x_11 = x_30;
-goto block_20;
-}
-else
-{
-lean_dec(x_21);
-x_11 = x_22;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32;
-lean_dec(x_25);
-x_31 = l_Lean_Parser_Command_eval___elambda__1___closed__9;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_31, x_21);
-x_11 = x_32;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_33; lean_object* x_34;
-lean_dec(x_23);
-x_33 = l_Lean_Parser_Command_eval___elambda__1___closed__9;
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_33, x_21);
-x_11 = x_34;
-goto block_20;
-}
-block_20:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_13 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_14 = lean_unsigned_to_nat(0u);
-x_15 = l_Lean_Parser_categoryParser___elambda__1(x_13, x_14, x_1, x_11);
-x_16 = l_Lean_Parser_Command_eval___elambda__1___closed__2;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_10);
-return x_17;
-}
-else
-{
-lean_object* x_18; lean_object* x_19;
-lean_dec(x_12);
-lean_dec(x_1);
+lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
+x_15 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_16 = lean_unsigned_to_nat(0u);
+x_17 = l_Lean_Parser_categoryParser___elambda__1(x_15, x_16, x_1, x_13);
x_18 = l_Lean_Parser_Command_eval___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_11, x_18, x_10);
+x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_10);
return x_19;
}
+else
+{
+lean_object* x_20; lean_object* x_21;
+lean_dec(x_14);
+lean_dec(x_1);
+x_20 = l_Lean_Parser_Command_eval___elambda__1___closed__2;
+x_21 = l_Lean_Parser_ParserState_mkNode(x_13, x_20, x_10);
+return x_21;
}
}
else
@@ -37088,159 +24035,11 @@ return x_7;
}
else
{
-lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_35 = lean_ctor_get(x_2, 0);
-lean_inc(x_35);
-x_36 = lean_array_get_size(x_35);
-lean_dec(x_35);
-x_37 = lean_ctor_get(x_2, 1);
-lean_inc(x_37);
-lean_inc(x_1);
-x_38 = lean_apply_2(x_4, x_1, x_2);
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_40; lean_object* x_41; uint8_t x_42;
-x_40 = lean_ctor_get(x_39, 0);
-lean_inc(x_40);
-lean_dec(x_39);
-x_41 = lean_ctor_get(x_38, 1);
-lean_inc(x_41);
-x_42 = lean_nat_dec_eq(x_41, x_37);
-lean_dec(x_41);
-if (x_42 == 0)
-{
-lean_dec(x_40);
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46;
-lean_inc(x_37);
-x_43 = l_Lean_Parser_ParserState_restore(x_38, x_36, x_37);
-lean_dec(x_36);
-x_44 = lean_unsigned_to_nat(1024u);
-x_45 = l_Lean_Parser_checkPrecFn(x_44, x_1, x_43);
-x_46 = lean_ctor_get(x_45, 3);
-lean_inc(x_46);
-if (lean_obj_tag(x_46) == 0)
-{
-lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_63; lean_object* x_64; lean_object* x_65;
-x_47 = lean_ctor_get(x_45, 0);
-lean_inc(x_47);
-x_48 = lean_array_get_size(x_47);
-lean_dec(x_47);
-x_63 = lean_ctor_get(x_45, 1);
-lean_inc(x_63);
-lean_inc(x_1);
-x_64 = l_Lean_Parser_tokenFn(x_1, x_45);
-x_65 = lean_ctor_get(x_64, 3);
-lean_inc(x_65);
-if (lean_obj_tag(x_65) == 0)
-{
-lean_object* x_66; lean_object* x_67;
-x_66 = lean_ctor_get(x_64, 0);
-lean_inc(x_66);
-x_67 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_66);
-lean_dec(x_66);
-if (lean_obj_tag(x_67) == 2)
-{
-lean_object* x_68; lean_object* x_69; uint8_t x_70;
-x_68 = lean_ctor_get(x_67, 1);
-lean_inc(x_68);
-lean_dec(x_67);
-x_69 = l_Lean_Parser_Command_eval___elambda__1___closed__6;
-x_70 = lean_string_dec_eq(x_68, x_69);
-lean_dec(x_68);
-if (x_70 == 0)
-{
-lean_object* x_71; lean_object* x_72;
-x_71 = l_Lean_Parser_Command_eval___elambda__1___closed__9;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_71, x_63);
-x_49 = x_72;
-goto block_62;
-}
-else
-{
-lean_dec(x_63);
-x_49 = x_64;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_73; lean_object* x_74;
-lean_dec(x_67);
-x_73 = l_Lean_Parser_Command_eval___elambda__1___closed__9;
-x_74 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_73, x_63);
-x_49 = x_74;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_75; lean_object* x_76;
-lean_dec(x_65);
-x_75 = l_Lean_Parser_Command_eval___elambda__1___closed__9;
-x_76 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_75, x_63);
-x_49 = x_76;
-goto block_62;
-}
-block_62:
-{
-lean_object* x_50;
-x_50 = lean_ctor_get(x_49, 3);
-lean_inc(x_50);
-if (lean_obj_tag(x_50) == 0)
-{
-lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; uint8_t x_56; lean_object* x_57;
-x_51 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_52 = lean_unsigned_to_nat(0u);
-x_53 = l_Lean_Parser_categoryParser___elambda__1(x_51, x_52, x_1, x_49);
-x_54 = l_Lean_Parser_Command_eval___elambda__1___closed__2;
-x_55 = l_Lean_Parser_ParserState_mkNode(x_53, x_54, x_48);
-x_56 = 1;
-x_57 = l_Lean_Parser_mergeOrElseErrors(x_55, x_40, x_37, x_56);
-lean_dec(x_37);
-return x_57;
-}
-else
-{
-lean_object* x_58; lean_object* x_59; uint8_t x_60; lean_object* x_61;
-lean_dec(x_50);
-lean_dec(x_1);
-x_58 = l_Lean_Parser_Command_eval___elambda__1___closed__2;
-x_59 = l_Lean_Parser_ParserState_mkNode(x_49, x_58, x_48);
-x_60 = 1;
-x_61 = l_Lean_Parser_mergeOrElseErrors(x_59, x_40, x_37, x_60);
-lean_dec(x_37);
-return x_61;
-}
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_46);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_45, x_40, x_37, x_77);
-lean_dec(x_37);
-return x_78;
-}
-}
-}
+lean_object* x_22; uint8_t x_23; lean_object* x_24;
+x_22 = l_Lean_Parser_Command_eval___elambda__1___closed__10;
+x_23 = 1;
+x_24 = l_Lean_Parser_orelseFnCore(x_4, x_22, x_23, x_1, x_2);
+return x_24;
}
}
}
@@ -37533,11 +24332,11 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_synth___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_synth___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_synth___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_synth___elambda__1___closed__8() {
@@ -37545,8 +24344,10 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Command_synth___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_2 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -37554,11 +24355,43 @@ static lean_object* _init_l_Lean_Parser_Command_synth___elambda__1___closed__9()
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Command_synth___elambda__1___closed__2;
x_2 = l_Lean_Parser_Command_synth___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_synth___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_synth___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_synth___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Command_synth___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_synth___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_synth___elambda__1___closed__11;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -37582,91 +24415,35 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_21; lean_object* x_22; lean_object* x_23;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_21 = lean_ctor_get(x_7, 1);
-lean_inc(x_21);
+x_11 = l_Lean_Parser_Command_synth___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Command_synth___elambda__1___closed__12;
lean_inc(x_1);
-x_22 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_23 = lean_ctor_get(x_22, 3);
-lean_inc(x_23);
-if (lean_obj_tag(x_23) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_24; lean_object* x_25;
-x_24 = lean_ctor_get(x_22, 0);
-lean_inc(x_24);
-x_25 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_24);
-lean_dec(x_24);
-if (lean_obj_tag(x_25) == 2)
-{
-lean_object* x_26; lean_object* x_27; uint8_t x_28;
-x_26 = lean_ctor_get(x_25, 1);
-lean_inc(x_26);
-lean_dec(x_25);
-x_27 = l_Lean_Parser_Command_synth___elambda__1___closed__6;
-x_28 = lean_string_dec_eq(x_26, x_27);
-lean_dec(x_26);
-if (x_28 == 0)
-{
-lean_object* x_29; lean_object* x_30;
-x_29 = l_Lean_Parser_Command_synth___elambda__1___closed__9;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_29, x_21);
-x_11 = x_30;
-goto block_20;
-}
-else
-{
-lean_dec(x_21);
-x_11 = x_22;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32;
-lean_dec(x_25);
-x_31 = l_Lean_Parser_Command_synth___elambda__1___closed__9;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_31, x_21);
-x_11 = x_32;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_33; lean_object* x_34;
-lean_dec(x_23);
-x_33 = l_Lean_Parser_Command_synth___elambda__1___closed__9;
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_33, x_21);
-x_11 = x_34;
-goto block_20;
-}
-block_20:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_13 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_14 = lean_unsigned_to_nat(0u);
-x_15 = l_Lean_Parser_categoryParser___elambda__1(x_13, x_14, x_1, x_11);
-x_16 = l_Lean_Parser_Command_synth___elambda__1___closed__2;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_10);
-return x_17;
-}
-else
-{
-lean_object* x_18; lean_object* x_19;
-lean_dec(x_12);
-lean_dec(x_1);
+lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
+x_15 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_16 = lean_unsigned_to_nat(0u);
+x_17 = l_Lean_Parser_categoryParser___elambda__1(x_15, x_16, x_1, x_13);
x_18 = l_Lean_Parser_Command_synth___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_11, x_18, x_10);
+x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_10);
return x_19;
}
+else
+{
+lean_object* x_20; lean_object* x_21;
+lean_dec(x_14);
+lean_dec(x_1);
+x_20 = l_Lean_Parser_Command_synth___elambda__1___closed__2;
+x_21 = l_Lean_Parser_ParserState_mkNode(x_13, x_20, x_10);
+return x_21;
}
}
else
@@ -37678,159 +24455,11 @@ return x_7;
}
else
{
-lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_35 = lean_ctor_get(x_2, 0);
-lean_inc(x_35);
-x_36 = lean_array_get_size(x_35);
-lean_dec(x_35);
-x_37 = lean_ctor_get(x_2, 1);
-lean_inc(x_37);
-lean_inc(x_1);
-x_38 = lean_apply_2(x_4, x_1, x_2);
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_40; lean_object* x_41; uint8_t x_42;
-x_40 = lean_ctor_get(x_39, 0);
-lean_inc(x_40);
-lean_dec(x_39);
-x_41 = lean_ctor_get(x_38, 1);
-lean_inc(x_41);
-x_42 = lean_nat_dec_eq(x_41, x_37);
-lean_dec(x_41);
-if (x_42 == 0)
-{
-lean_dec(x_40);
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46;
-lean_inc(x_37);
-x_43 = l_Lean_Parser_ParserState_restore(x_38, x_36, x_37);
-lean_dec(x_36);
-x_44 = lean_unsigned_to_nat(1024u);
-x_45 = l_Lean_Parser_checkPrecFn(x_44, x_1, x_43);
-x_46 = lean_ctor_get(x_45, 3);
-lean_inc(x_46);
-if (lean_obj_tag(x_46) == 0)
-{
-lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_63; lean_object* x_64; lean_object* x_65;
-x_47 = lean_ctor_get(x_45, 0);
-lean_inc(x_47);
-x_48 = lean_array_get_size(x_47);
-lean_dec(x_47);
-x_63 = lean_ctor_get(x_45, 1);
-lean_inc(x_63);
-lean_inc(x_1);
-x_64 = l_Lean_Parser_tokenFn(x_1, x_45);
-x_65 = lean_ctor_get(x_64, 3);
-lean_inc(x_65);
-if (lean_obj_tag(x_65) == 0)
-{
-lean_object* x_66; lean_object* x_67;
-x_66 = lean_ctor_get(x_64, 0);
-lean_inc(x_66);
-x_67 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_66);
-lean_dec(x_66);
-if (lean_obj_tag(x_67) == 2)
-{
-lean_object* x_68; lean_object* x_69; uint8_t x_70;
-x_68 = lean_ctor_get(x_67, 1);
-lean_inc(x_68);
-lean_dec(x_67);
-x_69 = l_Lean_Parser_Command_synth___elambda__1___closed__6;
-x_70 = lean_string_dec_eq(x_68, x_69);
-lean_dec(x_68);
-if (x_70 == 0)
-{
-lean_object* x_71; lean_object* x_72;
-x_71 = l_Lean_Parser_Command_synth___elambda__1___closed__9;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_71, x_63);
-x_49 = x_72;
-goto block_62;
-}
-else
-{
-lean_dec(x_63);
-x_49 = x_64;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_73; lean_object* x_74;
-lean_dec(x_67);
-x_73 = l_Lean_Parser_Command_synth___elambda__1___closed__9;
-x_74 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_73, x_63);
-x_49 = x_74;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_75; lean_object* x_76;
-lean_dec(x_65);
-x_75 = l_Lean_Parser_Command_synth___elambda__1___closed__9;
-x_76 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_75, x_63);
-x_49 = x_76;
-goto block_62;
-}
-block_62:
-{
-lean_object* x_50;
-x_50 = lean_ctor_get(x_49, 3);
-lean_inc(x_50);
-if (lean_obj_tag(x_50) == 0)
-{
-lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; uint8_t x_56; lean_object* x_57;
-x_51 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_52 = lean_unsigned_to_nat(0u);
-x_53 = l_Lean_Parser_categoryParser___elambda__1(x_51, x_52, x_1, x_49);
-x_54 = l_Lean_Parser_Command_synth___elambda__1___closed__2;
-x_55 = l_Lean_Parser_ParserState_mkNode(x_53, x_54, x_48);
-x_56 = 1;
-x_57 = l_Lean_Parser_mergeOrElseErrors(x_55, x_40, x_37, x_56);
-lean_dec(x_37);
-return x_57;
-}
-else
-{
-lean_object* x_58; lean_object* x_59; uint8_t x_60; lean_object* x_61;
-lean_dec(x_50);
-lean_dec(x_1);
-x_58 = l_Lean_Parser_Command_synth___elambda__1___closed__2;
-x_59 = l_Lean_Parser_ParserState_mkNode(x_49, x_58, x_48);
-x_60 = 1;
-x_61 = l_Lean_Parser_mergeOrElseErrors(x_59, x_40, x_37, x_60);
-lean_dec(x_37);
-return x_61;
-}
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_46);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_45, x_40, x_37, x_77);
-lean_dec(x_37);
-return x_78;
-}
-}
-}
+lean_object* x_22; uint8_t x_23; lean_object* x_24;
+x_22 = l_Lean_Parser_Command_synth___elambda__1___closed__10;
+x_23 = 1;
+x_24 = l_Lean_Parser_orelseFnCore(x_4, x_22, x_23, x_1, x_2);
+return x_24;
}
}
}
@@ -38123,20 +24752,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_exit___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_exit___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_exit___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_exit___elambda__1___closed__8() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Command_exit___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Command_exit___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_exit___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -38144,11 +24775,31 @@ static lean_object* _init_l_Lean_Parser_Command_exit___elambda__1___closed__9()
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
x_2 = l_Lean_Parser_Command_exit___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_exit___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Command_exit___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_exit___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_exit___elambda__1___closed__10;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -38172,71 +24823,17 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
+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;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_11 = lean_ctor_get(x_7, 1);
-lean_inc(x_11);
-x_12 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_13 = lean_ctor_get(x_12, 3);
-lean_inc(x_13);
-if (lean_obj_tag(x_13) == 0)
-{
-lean_object* x_14; lean_object* x_15;
-x_14 = lean_ctor_get(x_12, 0);
-lean_inc(x_14);
-x_15 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_14);
-lean_dec(x_14);
-if (lean_obj_tag(x_15) == 2)
-{
-lean_object* x_16; lean_object* x_17; uint8_t x_18;
-x_16 = lean_ctor_get(x_15, 1);
-lean_inc(x_16);
-lean_dec(x_15);
-x_17 = l_Lean_Parser_Command_exit___elambda__1___closed__6;
-x_18 = lean_string_dec_eq(x_16, x_17);
-lean_dec(x_16);
-if (x_18 == 0)
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
-x_19 = l_Lean_Parser_Command_exit___elambda__1___closed__9;
-x_20 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_19, x_11);
-x_21 = l_Lean_Parser_Command_exit___elambda__1___closed__2;
-x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_10);
-return x_22;
-}
-else
-{
-lean_object* x_23; lean_object* x_24;
-lean_dec(x_11);
-x_23 = l_Lean_Parser_Command_exit___elambda__1___closed__2;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_12, x_23, x_10);
-return x_24;
-}
-}
-else
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
-lean_dec(x_15);
-x_25 = l_Lean_Parser_Command_exit___elambda__1___closed__9;
-x_26 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_25, x_11);
-x_27 = l_Lean_Parser_Command_exit___elambda__1___closed__2;
-x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_10);
-return x_28;
-}
-}
-else
-{
-lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
-lean_dec(x_13);
-x_29 = l_Lean_Parser_Command_exit___elambda__1___closed__9;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_29, x_11);
-x_31 = l_Lean_Parser_Command_exit___elambda__1___closed__2;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_10);
-return x_32;
-}
+x_11 = l_Lean_Parser_Command_exit___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Command_exit___elambda__1___closed__11;
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = l_Lean_Parser_Command_exit___elambda__1___closed__2;
+x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
+return x_15;
}
else
{
@@ -38247,144 +24844,11 @@ return x_7;
}
else
{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_33 = lean_ctor_get(x_2, 0);
-lean_inc(x_33);
-x_34 = lean_array_get_size(x_33);
-lean_dec(x_33);
-x_35 = lean_ctor_get(x_2, 1);
-lean_inc(x_35);
-lean_inc(x_1);
-x_36 = lean_apply_2(x_4, x_1, x_2);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_36, 1);
-lean_inc(x_39);
-x_40 = lean_nat_dec_eq(x_39, x_35);
-lean_dec(x_39);
-if (x_40 == 0)
-{
-lean_dec(x_38);
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
-lean_inc(x_35);
-x_41 = l_Lean_Parser_ParserState_restore(x_36, x_34, x_35);
-lean_dec(x_34);
-x_42 = lean_unsigned_to_nat(1024u);
-x_43 = l_Lean_Parser_checkPrecFn(x_42, x_1, x_41);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-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_43, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-x_47 = lean_ctor_get(x_43, 1);
-lean_inc(x_47);
-x_48 = l_Lean_Parser_tokenFn(x_1, x_43);
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
-{
-lean_object* x_50; lean_object* x_51;
-x_50 = lean_ctor_get(x_48, 0);
-lean_inc(x_50);
-x_51 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_50);
-lean_dec(x_50);
-if (lean_obj_tag(x_51) == 2)
-{
-lean_object* x_52; lean_object* x_53; uint8_t x_54;
-x_52 = lean_ctor_get(x_51, 1);
-lean_inc(x_52);
-lean_dec(x_51);
-x_53 = l_Lean_Parser_Command_exit___elambda__1___closed__6;
-x_54 = lean_string_dec_eq(x_52, x_53);
-lean_dec(x_52);
-if (x_54 == 0)
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; uint8_t x_59; lean_object* x_60;
-x_55 = l_Lean_Parser_Command_exit___elambda__1___closed__9;
-x_56 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_55, x_47);
-x_57 = l_Lean_Parser_Command_exit___elambda__1___closed__2;
-x_58 = l_Lean_Parser_ParserState_mkNode(x_56, x_57, x_46);
-x_59 = 1;
-x_60 = l_Lean_Parser_mergeOrElseErrors(x_58, x_38, x_35, x_59);
-lean_dec(x_35);
-return x_60;
-}
-else
-{
-lean_object* x_61; lean_object* x_62; uint8_t x_63; lean_object* x_64;
-lean_dec(x_47);
-x_61 = l_Lean_Parser_Command_exit___elambda__1___closed__2;
-x_62 = l_Lean_Parser_ParserState_mkNode(x_48, x_61, x_46);
-x_63 = 1;
-x_64 = l_Lean_Parser_mergeOrElseErrors(x_62, x_38, x_35, x_63);
-lean_dec(x_35);
-return x_64;
-}
-}
-else
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; uint8_t x_69; lean_object* x_70;
-lean_dec(x_51);
-x_65 = l_Lean_Parser_Command_exit___elambda__1___closed__9;
-x_66 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_65, x_47);
-x_67 = l_Lean_Parser_Command_exit___elambda__1___closed__2;
-x_68 = l_Lean_Parser_ParserState_mkNode(x_66, x_67, x_46);
-x_69 = 1;
-x_70 = l_Lean_Parser_mergeOrElseErrors(x_68, x_38, x_35, x_69);
-lean_dec(x_35);
-return x_70;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; uint8_t x_75; lean_object* x_76;
-lean_dec(x_49);
-x_71 = l_Lean_Parser_Command_exit___elambda__1___closed__9;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_71, x_47);
-x_73 = l_Lean_Parser_Command_exit___elambda__1___closed__2;
-x_74 = l_Lean_Parser_ParserState_mkNode(x_72, x_73, x_46);
-x_75 = 1;
-x_76 = l_Lean_Parser_mergeOrElseErrors(x_74, x_38, x_35, x_75);
-lean_dec(x_35);
-return x_76;
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_44);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_43, x_38, x_35, x_77);
-lean_dec(x_35);
-return x_78;
-}
-}
-}
+lean_object* x_16; uint8_t x_17; lean_object* x_18;
+x_16 = l_Lean_Parser_Command_exit___elambda__1___closed__9;
+x_17 = 1;
+x_18 = l_Lean_Parser_orelseFnCore(x_4, x_16, x_17, x_1, x_2);
+return x_18;
}
}
}
@@ -38653,20 +25117,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_print___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_print___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_print___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_print___elambda__1___closed__8() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Command_print___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_ident___closed__2;
+x_2 = l_Lean_Parser_strLit___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -38674,11 +25140,55 @@ static lean_object* _init_l_Lean_Parser_Command_print___elambda__1___closed__9()
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Command_print___elambda__1___closed__7;
x_2 = l_Lean_Parser_Command_print___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_print___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_print___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_print___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_print___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_print___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_print___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Command_print___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_print___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_print___elambda__1___closed__12;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -38702,141 +25212,36 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_34; lean_object* x_35; lean_object* x_36;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_34 = lean_ctor_get(x_7, 1);
-lean_inc(x_34);
+x_11 = l_Lean_Parser_Command_print___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Command_print___elambda__1___closed__13;
lean_inc(x_1);
-x_35 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_36 = lean_ctor_get(x_35, 3);
-lean_inc(x_36);
-if (lean_obj_tag(x_36) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_37; lean_object* x_38;
-x_37 = lean_ctor_get(x_35, 0);
-lean_inc(x_37);
-x_38 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_37);
-lean_dec(x_37);
-if (lean_obj_tag(x_38) == 2)
-{
-lean_object* x_39; lean_object* x_40; uint8_t x_41;
-x_39 = lean_ctor_get(x_38, 1);
-lean_inc(x_39);
-lean_dec(x_38);
-x_40 = l_Lean_Parser_Command_print___elambda__1___closed__6;
-x_41 = lean_string_dec_eq(x_39, x_40);
-lean_dec(x_39);
-if (x_41 == 0)
-{
-lean_object* x_42; lean_object* x_43;
-x_42 = l_Lean_Parser_Command_print___elambda__1___closed__9;
-x_43 = l_Lean_Parser_ParserState_mkErrorsAt(x_35, x_42, x_34);
-x_11 = x_43;
-goto block_33;
+lean_object* x_15; lean_object* x_16; uint8_t x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
+x_15 = l_Lean_Parser_ident___closed__2;
+x_16 = l_Lean_Parser_strLit___closed__2;
+x_17 = 1;
+x_18 = l_Lean_Parser_orelseFnCore(x_15, x_16, x_17, x_1, x_13);
+x_19 = l_Lean_Parser_Command_print___elambda__1___closed__2;
+x_20 = l_Lean_Parser_ParserState_mkNode(x_18, x_19, x_10);
+return x_20;
}
else
{
-lean_dec(x_34);
-x_11 = x_35;
-goto block_33;
-}
-}
-else
-{
-lean_object* x_44; lean_object* x_45;
-lean_dec(x_38);
-x_44 = l_Lean_Parser_Command_print___elambda__1___closed__9;
-x_45 = l_Lean_Parser_ParserState_mkErrorsAt(x_35, x_44, x_34);
-x_11 = x_45;
-goto block_33;
-}
-}
-else
-{
-lean_object* x_46; lean_object* x_47;
-lean_dec(x_36);
-x_46 = l_Lean_Parser_Command_print___elambda__1___closed__9;
-x_47 = l_Lean_Parser_ParserState_mkErrorsAt(x_35, x_46, x_34);
-x_11 = x_47;
-goto block_33;
-}
-block_33:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_13 = lean_ctor_get(x_11, 0);
-lean_inc(x_13);
-x_14 = lean_array_get_size(x_13);
-lean_dec(x_13);
-x_15 = lean_ctor_get(x_11, 1);
-lean_inc(x_15);
-lean_inc(x_1);
-x_16 = l_Lean_Parser_ident___elambda__1(x_1, x_11);
-x_17 = lean_ctor_get(x_16, 3);
-lean_inc(x_17);
-if (lean_obj_tag(x_17) == 0)
-{
-lean_object* x_18; lean_object* x_19;
-lean_dec(x_15);
+lean_object* x_21; lean_object* x_22;
lean_dec(x_14);
lean_dec(x_1);
-x_18 = l_Lean_Parser_Command_print___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_16, x_18, x_10);
-return x_19;
-}
-else
-{
-lean_object* x_20; lean_object* x_21; uint8_t x_22;
-x_20 = lean_ctor_get(x_17, 0);
-lean_inc(x_20);
-lean_dec(x_17);
-x_21 = lean_ctor_get(x_16, 1);
-lean_inc(x_21);
-x_22 = lean_nat_dec_eq(x_21, x_15);
-lean_dec(x_21);
-if (x_22 == 0)
-{
-lean_object* x_23; lean_object* x_24;
-lean_dec(x_20);
-lean_dec(x_15);
-lean_dec(x_14);
-lean_dec(x_1);
-x_23 = l_Lean_Parser_Command_print___elambda__1___closed__2;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_16, x_23, x_10);
-return x_24;
-}
-else
-{
-lean_object* x_25; lean_object* x_26; uint8_t x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30;
-lean_inc(x_15);
-x_25 = l_Lean_Parser_ParserState_restore(x_16, x_14, x_15);
-lean_dec(x_14);
-x_26 = l_Lean_Parser_strLit___elambda__1(x_1, x_25);
-x_27 = 1;
-x_28 = l_Lean_Parser_mergeOrElseErrors(x_26, x_20, x_15, x_27);
-lean_dec(x_15);
-x_29 = l_Lean_Parser_Command_print___elambda__1___closed__2;
-x_30 = l_Lean_Parser_ParserState_mkNode(x_28, x_29, x_10);
-return x_30;
-}
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32;
-lean_dec(x_12);
-lean_dec(x_1);
-x_31 = l_Lean_Parser_Command_print___elambda__1___closed__2;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_11, x_31, x_10);
-return x_32;
-}
+x_21 = l_Lean_Parser_Command_print___elambda__1___closed__2;
+x_22 = l_Lean_Parser_ParserState_mkNode(x_13, x_21, x_10);
+return x_22;
}
}
else
@@ -38848,214 +25253,11 @@ return x_7;
}
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_2, 0);
-lean_inc(x_48);
-x_49 = lean_array_get_size(x_48);
-lean_dec(x_48);
-x_50 = lean_ctor_get(x_2, 1);
-lean_inc(x_50);
-lean_inc(x_1);
-x_51 = lean_apply_2(x_4, x_1, x_2);
-x_52 = lean_ctor_get(x_51, 3);
-lean_inc(x_52);
-if (lean_obj_tag(x_52) == 0)
-{
-lean_dec(x_50);
-lean_dec(x_49);
-lean_dec(x_1);
-return x_51;
-}
-else
-{
-lean_object* x_53; lean_object* x_54; uint8_t x_55;
-x_53 = lean_ctor_get(x_52, 0);
-lean_inc(x_53);
-lean_dec(x_52);
-x_54 = lean_ctor_get(x_51, 1);
-lean_inc(x_54);
-x_55 = lean_nat_dec_eq(x_54, x_50);
-lean_dec(x_54);
-if (x_55 == 0)
-{
-lean_dec(x_53);
-lean_dec(x_50);
-lean_dec(x_49);
-lean_dec(x_1);
-return x_51;
-}
-else
-{
-lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59;
-lean_inc(x_50);
-x_56 = l_Lean_Parser_ParserState_restore(x_51, x_49, x_50);
-lean_dec(x_49);
-x_57 = lean_unsigned_to_nat(1024u);
-x_58 = l_Lean_Parser_checkPrecFn(x_57, x_1, x_56);
-x_59 = lean_ctor_get(x_58, 3);
-lean_inc(x_59);
-if (lean_obj_tag(x_59) == 0)
-{
-lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_92; lean_object* x_93; lean_object* x_94;
-x_60 = lean_ctor_get(x_58, 0);
-lean_inc(x_60);
-x_61 = lean_array_get_size(x_60);
-lean_dec(x_60);
-x_92 = lean_ctor_get(x_58, 1);
-lean_inc(x_92);
-lean_inc(x_1);
-x_93 = l_Lean_Parser_tokenFn(x_1, x_58);
-x_94 = lean_ctor_get(x_93, 3);
-lean_inc(x_94);
-if (lean_obj_tag(x_94) == 0)
-{
-lean_object* x_95; lean_object* x_96;
-x_95 = lean_ctor_get(x_93, 0);
-lean_inc(x_95);
-x_96 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_95);
-lean_dec(x_95);
-if (lean_obj_tag(x_96) == 2)
-{
-lean_object* x_97; lean_object* x_98; uint8_t x_99;
-x_97 = lean_ctor_get(x_96, 1);
-lean_inc(x_97);
-lean_dec(x_96);
-x_98 = l_Lean_Parser_Command_print___elambda__1___closed__6;
-x_99 = lean_string_dec_eq(x_97, x_98);
-lean_dec(x_97);
-if (x_99 == 0)
-{
-lean_object* x_100; lean_object* x_101;
-x_100 = l_Lean_Parser_Command_print___elambda__1___closed__9;
-x_101 = l_Lean_Parser_ParserState_mkErrorsAt(x_93, x_100, x_92);
-x_62 = x_101;
-goto block_91;
-}
-else
-{
-lean_dec(x_92);
-x_62 = x_93;
-goto block_91;
-}
-}
-else
-{
-lean_object* x_102; lean_object* x_103;
-lean_dec(x_96);
-x_102 = l_Lean_Parser_Command_print___elambda__1___closed__9;
-x_103 = l_Lean_Parser_ParserState_mkErrorsAt(x_93, x_102, x_92);
-x_62 = x_103;
-goto block_91;
-}
-}
-else
-{
-lean_object* x_104; lean_object* x_105;
-lean_dec(x_94);
-x_104 = l_Lean_Parser_Command_print___elambda__1___closed__9;
-x_105 = l_Lean_Parser_ParserState_mkErrorsAt(x_93, x_104, x_92);
-x_62 = x_105;
-goto block_91;
-}
-block_91:
-{
-lean_object* x_63;
-x_63 = lean_ctor_get(x_62, 3);
-lean_inc(x_63);
-if (lean_obj_tag(x_63) == 0)
-{
-lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68;
-x_64 = lean_ctor_get(x_62, 0);
-lean_inc(x_64);
-x_65 = lean_array_get_size(x_64);
-lean_dec(x_64);
-x_66 = lean_ctor_get(x_62, 1);
-lean_inc(x_66);
-lean_inc(x_1);
-x_67 = l_Lean_Parser_ident___elambda__1(x_1, x_62);
-x_68 = lean_ctor_get(x_67, 3);
-lean_inc(x_68);
-if (lean_obj_tag(x_68) == 0)
-{
-lean_object* x_69; lean_object* x_70; uint8_t x_71; lean_object* x_72;
-lean_dec(x_66);
-lean_dec(x_65);
-lean_dec(x_1);
-x_69 = l_Lean_Parser_Command_print___elambda__1___closed__2;
-x_70 = l_Lean_Parser_ParserState_mkNode(x_67, x_69, x_61);
-x_71 = 1;
-x_72 = l_Lean_Parser_mergeOrElseErrors(x_70, x_53, x_50, x_71);
-lean_dec(x_50);
-return x_72;
-}
-else
-{
-lean_object* x_73; lean_object* x_74; uint8_t x_75;
-x_73 = lean_ctor_get(x_68, 0);
-lean_inc(x_73);
-lean_dec(x_68);
-x_74 = lean_ctor_get(x_67, 1);
-lean_inc(x_74);
-x_75 = lean_nat_dec_eq(x_74, x_66);
-lean_dec(x_74);
-if (x_75 == 0)
-{
-lean_object* x_76; lean_object* x_77; uint8_t x_78; lean_object* x_79;
-lean_dec(x_73);
-lean_dec(x_66);
-lean_dec(x_65);
-lean_dec(x_1);
-x_76 = l_Lean_Parser_Command_print___elambda__1___closed__2;
-x_77 = l_Lean_Parser_ParserState_mkNode(x_67, x_76, x_61);
-x_78 = 1;
-x_79 = l_Lean_Parser_mergeOrElseErrors(x_77, x_53, x_50, x_78);
-lean_dec(x_50);
-return x_79;
-}
-else
-{
-lean_object* x_80; lean_object* x_81; uint8_t x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86;
-lean_inc(x_66);
-x_80 = l_Lean_Parser_ParserState_restore(x_67, x_65, x_66);
-lean_dec(x_65);
-x_81 = l_Lean_Parser_strLit___elambda__1(x_1, x_80);
-x_82 = 1;
-x_83 = l_Lean_Parser_mergeOrElseErrors(x_81, x_73, x_66, x_82);
-lean_dec(x_66);
-x_84 = l_Lean_Parser_Command_print___elambda__1___closed__2;
-x_85 = l_Lean_Parser_ParserState_mkNode(x_83, x_84, x_61);
-x_86 = l_Lean_Parser_mergeOrElseErrors(x_85, x_53, x_50, x_82);
-lean_dec(x_50);
-return x_86;
-}
-}
-}
-else
-{
-lean_object* x_87; lean_object* x_88; uint8_t x_89; lean_object* x_90;
-lean_dec(x_63);
-lean_dec(x_1);
-x_87 = l_Lean_Parser_Command_print___elambda__1___closed__2;
-x_88 = l_Lean_Parser_ParserState_mkNode(x_62, x_87, x_61);
-x_89 = 1;
-x_90 = l_Lean_Parser_mergeOrElseErrors(x_88, x_53, x_50, x_89);
-lean_dec(x_50);
-return x_90;
-}
-}
-}
-else
-{
-uint8_t x_106; lean_object* x_107;
-lean_dec(x_59);
-lean_dec(x_1);
-x_106 = 1;
-x_107 = l_Lean_Parser_mergeOrElseErrors(x_58, x_53, x_50, x_106);
-lean_dec(x_50);
-return x_107;
-}
-}
-}
+lean_object* x_23; uint8_t x_24; lean_object* x_25;
+x_23 = l_Lean_Parser_Command_print___elambda__1___closed__11;
+x_24 = 1;
+x_25 = l_Lean_Parser_orelseFnCore(x_4, x_23, x_24, x_1, x_2);
+return x_25;
}
}
}
@@ -39396,11 +25598,11 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_printAxioms___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_printAxioms___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_printAxioms___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbolFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_printAxioms___elambda__1___closed__8() {
@@ -39408,6 +25610,64 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Command_printAxioms___elambda__1___closed__7;
+x_2 = l_Lean_Parser_ident___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_printAxioms___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_print___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Command_printAxioms___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_printAxioms___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_printAxioms___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_printAxioms___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_printAxioms___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_printAxioms___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_printAxioms___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Command_printAxioms___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_printAxioms___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_printAxioms___elambda__1___closed__12;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
@@ -39433,109 +25693,53 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_25; lean_object* x_26; lean_object* x_27;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_25 = lean_ctor_get(x_7, 1);
-lean_inc(x_25);
+x_11 = l_Lean_Parser_Command_print___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Command_print___elambda__1___closed__13;
lean_inc(x_1);
-x_26 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_27 = lean_ctor_get(x_26, 3);
-lean_inc(x_27);
-if (lean_obj_tag(x_27) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_28; lean_object* x_29;
-x_28 = lean_ctor_get(x_26, 0);
-lean_inc(x_28);
-x_29 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_28);
-lean_dec(x_28);
-if (lean_obj_tag(x_29) == 2)
-{
-lean_object* x_30; lean_object* x_31; uint8_t x_32;
-x_30 = lean_ctor_get(x_29, 1);
-lean_inc(x_30);
-lean_dec(x_29);
-x_31 = l_Lean_Parser_Command_print___elambda__1___closed__6;
-x_32 = lean_string_dec_eq(x_30, x_31);
-lean_dec(x_30);
-if (x_32 == 0)
-{
-lean_object* x_33; lean_object* x_34;
-x_33 = l_Lean_Parser_Command_print___elambda__1___closed__9;
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_26, x_33, x_25);
-x_11 = x_34;
-goto block_24;
-}
-else
-{
-lean_dec(x_25);
-x_11 = x_26;
-goto block_24;
-}
-}
-else
-{
-lean_object* x_35; lean_object* x_36;
-lean_dec(x_29);
-x_35 = l_Lean_Parser_Command_print___elambda__1___closed__9;
-x_36 = l_Lean_Parser_ParserState_mkErrorsAt(x_26, x_35, x_25);
-x_11 = x_36;
-goto block_24;
-}
-}
-else
-{
-lean_object* x_37; lean_object* x_38;
-lean_dec(x_27);
-x_37 = l_Lean_Parser_Command_print___elambda__1___closed__9;
-x_38 = l_Lean_Parser_ParserState_mkErrorsAt(x_26, x_37, x_25);
-x_11 = x_38;
-goto block_24;
-}
-block_24:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
-x_13 = l_Lean_Parser_Command_printAxioms___elambda__1___closed__6;
-x_14 = l_Lean_Parser_Command_printAxioms___elambda__1___closed__8;
+lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
+x_15 = l_Lean_Parser_Command_printAxioms___elambda__1___closed__6;
+x_16 = l_Lean_Parser_Command_printAxioms___elambda__1___closed__13;
lean_inc(x_1);
-x_15 = l_Lean_Parser_nonReservedSymbolFnAux(x_13, x_14, x_1, x_11);
-x_16 = lean_ctor_get(x_15, 3);
-lean_inc(x_16);
-if (lean_obj_tag(x_16) == 0)
+x_17 = l_Lean_Parser_nonReservedSymbolFnAux(x_15, x_16, x_1, x_13);
+x_18 = lean_ctor_get(x_17, 3);
+lean_inc(x_18);
+if (lean_obj_tag(x_18) == 0)
{
-lean_object* x_17; lean_object* x_18; lean_object* x_19;
-x_17 = l_Lean_Parser_ident___elambda__1(x_1, x_15);
-x_18 = l_Lean_Parser_Command_printAxioms___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_10);
-return x_19;
-}
-else
-{
-lean_object* x_20; lean_object* x_21;
-lean_dec(x_16);
-lean_dec(x_1);
+lean_object* x_19; lean_object* x_20; lean_object* x_21;
+x_19 = l_Lean_Parser_ident___elambda__1(x_1, x_17);
x_20 = l_Lean_Parser_Command_printAxioms___elambda__1___closed__2;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_15, x_20, x_10);
+x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_10);
return x_21;
}
-}
else
{
lean_object* x_22; lean_object* x_23;
-lean_dec(x_12);
+lean_dec(x_18);
lean_dec(x_1);
x_22 = l_Lean_Parser_Command_printAxioms___elambda__1___closed__2;
-x_23 = l_Lean_Parser_ParserState_mkNode(x_11, x_22, x_10);
+x_23 = l_Lean_Parser_ParserState_mkNode(x_17, x_22, x_10);
return x_23;
}
}
+else
+{
+lean_object* x_24; lean_object* x_25;
+lean_dec(x_14);
+lean_dec(x_1);
+x_24 = l_Lean_Parser_Command_printAxioms___elambda__1___closed__2;
+x_25 = l_Lean_Parser_ParserState_mkNode(x_13, x_24, x_10);
+return x_25;
+}
}
else
{
@@ -39546,179 +25750,11 @@ return x_7;
}
else
{
-lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43;
-x_39 = lean_ctor_get(x_2, 0);
-lean_inc(x_39);
-x_40 = lean_array_get_size(x_39);
-lean_dec(x_39);
-x_41 = lean_ctor_get(x_2, 1);
-lean_inc(x_41);
-lean_inc(x_1);
-x_42 = lean_apply_2(x_4, x_1, x_2);
-x_43 = lean_ctor_get(x_42, 3);
-lean_inc(x_43);
-if (lean_obj_tag(x_43) == 0)
-{
-lean_dec(x_41);
-lean_dec(x_40);
-lean_dec(x_1);
-return x_42;
-}
-else
-{
-lean_object* x_44; lean_object* x_45; uint8_t x_46;
-x_44 = lean_ctor_get(x_43, 0);
-lean_inc(x_44);
-lean_dec(x_43);
-x_45 = lean_ctor_get(x_42, 1);
-lean_inc(x_45);
-x_46 = lean_nat_dec_eq(x_45, x_41);
-lean_dec(x_45);
-if (x_46 == 0)
-{
-lean_dec(x_44);
-lean_dec(x_41);
-lean_dec(x_40);
-lean_dec(x_1);
-return x_42;
-}
-else
-{
-lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50;
-lean_inc(x_41);
-x_47 = l_Lean_Parser_ParserState_restore(x_42, x_40, x_41);
-lean_dec(x_40);
-x_48 = lean_unsigned_to_nat(1024u);
-x_49 = l_Lean_Parser_checkPrecFn(x_48, x_1, x_47);
-x_50 = lean_ctor_get(x_49, 3);
-lean_inc(x_50);
-if (lean_obj_tag(x_50) == 0)
-{
-lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_73; lean_object* x_74; lean_object* x_75;
-x_51 = lean_ctor_get(x_49, 0);
-lean_inc(x_51);
-x_52 = lean_array_get_size(x_51);
-lean_dec(x_51);
-x_73 = lean_ctor_get(x_49, 1);
-lean_inc(x_73);
-lean_inc(x_1);
-x_74 = l_Lean_Parser_tokenFn(x_1, x_49);
-x_75 = lean_ctor_get(x_74, 3);
-lean_inc(x_75);
-if (lean_obj_tag(x_75) == 0)
-{
-lean_object* x_76; lean_object* x_77;
-x_76 = lean_ctor_get(x_74, 0);
-lean_inc(x_76);
-x_77 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_76);
-lean_dec(x_76);
-if (lean_obj_tag(x_77) == 2)
-{
-lean_object* x_78; lean_object* x_79; uint8_t x_80;
-x_78 = lean_ctor_get(x_77, 1);
-lean_inc(x_78);
-lean_dec(x_77);
-x_79 = l_Lean_Parser_Command_print___elambda__1___closed__6;
-x_80 = lean_string_dec_eq(x_78, x_79);
-lean_dec(x_78);
-if (x_80 == 0)
-{
-lean_object* x_81; lean_object* x_82;
-x_81 = l_Lean_Parser_Command_print___elambda__1___closed__9;
-x_82 = l_Lean_Parser_ParserState_mkErrorsAt(x_74, x_81, x_73);
-x_53 = x_82;
-goto block_72;
-}
-else
-{
-lean_dec(x_73);
-x_53 = x_74;
-goto block_72;
-}
-}
-else
-{
-lean_object* x_83; lean_object* x_84;
-lean_dec(x_77);
-x_83 = l_Lean_Parser_Command_print___elambda__1___closed__9;
-x_84 = l_Lean_Parser_ParserState_mkErrorsAt(x_74, x_83, x_73);
-x_53 = x_84;
-goto block_72;
-}
-}
-else
-{
-lean_object* x_85; lean_object* x_86;
-lean_dec(x_75);
-x_85 = l_Lean_Parser_Command_print___elambda__1___closed__9;
-x_86 = l_Lean_Parser_ParserState_mkErrorsAt(x_74, x_85, x_73);
-x_53 = x_86;
-goto block_72;
-}
-block_72:
-{
-lean_object* x_54;
-x_54 = lean_ctor_get(x_53, 3);
-lean_inc(x_54);
-if (lean_obj_tag(x_54) == 0)
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58;
-x_55 = l_Lean_Parser_Command_printAxioms___elambda__1___closed__6;
-x_56 = l_Lean_Parser_Command_printAxioms___elambda__1___closed__8;
-lean_inc(x_1);
-x_57 = l_Lean_Parser_nonReservedSymbolFnAux(x_55, x_56, x_1, x_53);
-x_58 = lean_ctor_get(x_57, 3);
-lean_inc(x_58);
-if (lean_obj_tag(x_58) == 0)
-{
-lean_object* x_59; lean_object* x_60; lean_object* x_61; uint8_t x_62; lean_object* x_63;
-x_59 = l_Lean_Parser_ident___elambda__1(x_1, x_57);
-x_60 = l_Lean_Parser_Command_printAxioms___elambda__1___closed__2;
-x_61 = l_Lean_Parser_ParserState_mkNode(x_59, x_60, x_52);
-x_62 = 1;
-x_63 = l_Lean_Parser_mergeOrElseErrors(x_61, x_44, x_41, x_62);
-lean_dec(x_41);
-return x_63;
-}
-else
-{
-lean_object* x_64; lean_object* x_65; uint8_t x_66; lean_object* x_67;
-lean_dec(x_58);
-lean_dec(x_1);
-x_64 = l_Lean_Parser_Command_printAxioms___elambda__1___closed__2;
-x_65 = l_Lean_Parser_ParserState_mkNode(x_57, x_64, x_52);
-x_66 = 1;
-x_67 = l_Lean_Parser_mergeOrElseErrors(x_65, x_44, x_41, x_66);
-lean_dec(x_41);
-return x_67;
-}
-}
-else
-{
-lean_object* x_68; lean_object* x_69; uint8_t x_70; lean_object* x_71;
-lean_dec(x_54);
-lean_dec(x_1);
-x_68 = l_Lean_Parser_Command_printAxioms___elambda__1___closed__2;
-x_69 = l_Lean_Parser_ParserState_mkNode(x_53, x_68, x_52);
-x_70 = 1;
-x_71 = l_Lean_Parser_mergeOrElseErrors(x_69, x_44, x_41, x_70);
-lean_dec(x_41);
-return x_71;
-}
-}
-}
-else
-{
-uint8_t x_87; lean_object* x_88;
-lean_dec(x_50);
-lean_dec(x_1);
-x_87 = 1;
-x_88 = l_Lean_Parser_mergeOrElseErrors(x_49, x_44, x_41, x_87);
-lean_dec(x_41);
-return x_88;
-}
-}
-}
+lean_object* x_26; uint8_t x_27; lean_object* x_28;
+x_26 = l_Lean_Parser_Command_printAxioms___elambda__1___closed__11;
+x_27 = 1;
+x_28 = l_Lean_Parser_orelseFnCore(x_4, x_26, x_27, x_1, x_2);
+return x_28;
}
}
}
@@ -40058,11 +26094,11 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_resolve__name___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_resolve__name___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_resolve__name___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_resolve__name___elambda__1___closed__8() {
@@ -40070,8 +26106,10 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Command_resolve__name___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_2 = l_Lean_Parser_ident___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -40079,11 +26117,43 @@ static lean_object* _init_l_Lean_Parser_Command_resolve__name___elambda__1___clo
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Command_resolve__name___elambda__1___closed__2;
x_2 = l_Lean_Parser_Command_resolve__name___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_resolve__name___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_resolve__name___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_resolve__name___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Command_resolve__name___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_resolve__name___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_resolve__name___elambda__1___closed__11;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -40107,89 +26177,33 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_19; lean_object* x_20; lean_object* x_21;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_19 = lean_ctor_get(x_7, 1);
-lean_inc(x_19);
+x_11 = l_Lean_Parser_Command_resolve__name___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Command_resolve__name___elambda__1___closed__12;
lean_inc(x_1);
-x_20 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_21 = lean_ctor_get(x_20, 3);
-lean_inc(x_21);
-if (lean_obj_tag(x_21) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_22; lean_object* x_23;
-x_22 = lean_ctor_get(x_20, 0);
-lean_inc(x_22);
-x_23 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_22);
-lean_dec(x_22);
-if (lean_obj_tag(x_23) == 2)
-{
-lean_object* x_24; lean_object* x_25; uint8_t x_26;
-x_24 = lean_ctor_get(x_23, 1);
-lean_inc(x_24);
-lean_dec(x_23);
-x_25 = l_Lean_Parser_Command_resolve__name___elambda__1___closed__6;
-x_26 = lean_string_dec_eq(x_24, x_25);
-lean_dec(x_24);
-if (x_26 == 0)
-{
-lean_object* x_27; lean_object* x_28;
-x_27 = l_Lean_Parser_Command_resolve__name___elambda__1___closed__9;
-x_28 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_27, x_19);
-x_11 = x_28;
-goto block_18;
-}
-else
-{
-lean_dec(x_19);
-x_11 = x_20;
-goto block_18;
-}
-}
-else
-{
-lean_object* x_29; lean_object* x_30;
-lean_dec(x_23);
-x_29 = l_Lean_Parser_Command_resolve__name___elambda__1___closed__9;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_29, x_19);
-x_11 = x_30;
-goto block_18;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32;
-lean_dec(x_21);
-x_31 = l_Lean_Parser_Command_resolve__name___elambda__1___closed__9;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_31, x_19);
-x_11 = x_32;
-goto block_18;
-}
-block_18:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15;
-x_13 = l_Lean_Parser_ident___elambda__1(x_1, x_11);
-x_14 = l_Lean_Parser_Command_resolve__name___elambda__1___closed__2;
-x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
-return x_15;
-}
-else
-{
-lean_object* x_16; lean_object* x_17;
-lean_dec(x_12);
-lean_dec(x_1);
+lean_object* x_15; lean_object* x_16; lean_object* x_17;
+x_15 = l_Lean_Parser_ident___elambda__1(x_1, x_13);
x_16 = l_Lean_Parser_Command_resolve__name___elambda__1___closed__2;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_11, x_16, x_10);
+x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_10);
return x_17;
}
+else
+{
+lean_object* x_18; lean_object* x_19;
+lean_dec(x_14);
+lean_dec(x_1);
+x_18 = l_Lean_Parser_Command_resolve__name___elambda__1___closed__2;
+x_19 = l_Lean_Parser_ParserState_mkNode(x_13, x_18, x_10);
+return x_19;
}
}
else
@@ -40201,157 +26215,11 @@ return x_7;
}
else
{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_33 = lean_ctor_get(x_2, 0);
-lean_inc(x_33);
-x_34 = lean_array_get_size(x_33);
-lean_dec(x_33);
-x_35 = lean_ctor_get(x_2, 1);
-lean_inc(x_35);
-lean_inc(x_1);
-x_36 = lean_apply_2(x_4, x_1, x_2);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_36, 1);
-lean_inc(x_39);
-x_40 = lean_nat_dec_eq(x_39, x_35);
-lean_dec(x_39);
-if (x_40 == 0)
-{
-lean_dec(x_38);
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
-lean_inc(x_35);
-x_41 = l_Lean_Parser_ParserState_restore(x_36, x_34, x_35);
-lean_dec(x_34);
-x_42 = lean_unsigned_to_nat(1024u);
-x_43 = l_Lean_Parser_checkPrecFn(x_42, x_1, x_41);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_59; lean_object* x_60; lean_object* x_61;
-x_45 = lean_ctor_get(x_43, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-x_59 = lean_ctor_get(x_43, 1);
-lean_inc(x_59);
-lean_inc(x_1);
-x_60 = l_Lean_Parser_tokenFn(x_1, x_43);
-x_61 = lean_ctor_get(x_60, 3);
-lean_inc(x_61);
-if (lean_obj_tag(x_61) == 0)
-{
-lean_object* x_62; lean_object* x_63;
-x_62 = lean_ctor_get(x_60, 0);
-lean_inc(x_62);
-x_63 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_62);
-lean_dec(x_62);
-if (lean_obj_tag(x_63) == 2)
-{
-lean_object* x_64; lean_object* x_65; uint8_t x_66;
-x_64 = lean_ctor_get(x_63, 1);
-lean_inc(x_64);
-lean_dec(x_63);
-x_65 = l_Lean_Parser_Command_resolve__name___elambda__1___closed__6;
-x_66 = lean_string_dec_eq(x_64, x_65);
-lean_dec(x_64);
-if (x_66 == 0)
-{
-lean_object* x_67; lean_object* x_68;
-x_67 = l_Lean_Parser_Command_resolve__name___elambda__1___closed__9;
-x_68 = l_Lean_Parser_ParserState_mkErrorsAt(x_60, x_67, x_59);
-x_47 = x_68;
-goto block_58;
-}
-else
-{
-lean_dec(x_59);
-x_47 = x_60;
-goto block_58;
-}
-}
-else
-{
-lean_object* x_69; lean_object* x_70;
-lean_dec(x_63);
-x_69 = l_Lean_Parser_Command_resolve__name___elambda__1___closed__9;
-x_70 = l_Lean_Parser_ParserState_mkErrorsAt(x_60, x_69, x_59);
-x_47 = x_70;
-goto block_58;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72;
-lean_dec(x_61);
-x_71 = l_Lean_Parser_Command_resolve__name___elambda__1___closed__9;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_60, x_71, x_59);
-x_47 = x_72;
-goto block_58;
-}
-block_58:
-{
-lean_object* x_48;
-x_48 = lean_ctor_get(x_47, 3);
-lean_inc(x_48);
-if (lean_obj_tag(x_48) == 0)
-{
-lean_object* x_49; lean_object* x_50; lean_object* x_51; uint8_t x_52; lean_object* x_53;
-x_49 = l_Lean_Parser_ident___elambda__1(x_1, x_47);
-x_50 = l_Lean_Parser_Command_resolve__name___elambda__1___closed__2;
-x_51 = l_Lean_Parser_ParserState_mkNode(x_49, x_50, x_46);
-x_52 = 1;
-x_53 = l_Lean_Parser_mergeOrElseErrors(x_51, x_38, x_35, x_52);
-lean_dec(x_35);
-return x_53;
-}
-else
-{
-lean_object* x_54; lean_object* x_55; uint8_t x_56; lean_object* x_57;
-lean_dec(x_48);
-lean_dec(x_1);
-x_54 = l_Lean_Parser_Command_resolve__name___elambda__1___closed__2;
-x_55 = l_Lean_Parser_ParserState_mkNode(x_47, x_54, x_46);
-x_56 = 1;
-x_57 = l_Lean_Parser_mergeOrElseErrors(x_55, x_38, x_35, x_56);
-lean_dec(x_35);
-return x_57;
-}
-}
-}
-else
-{
-uint8_t x_73; lean_object* x_74;
-lean_dec(x_44);
-lean_dec(x_1);
-x_73 = 1;
-x_74 = l_Lean_Parser_mergeOrElseErrors(x_43, x_38, x_35, x_73);
-lean_dec(x_35);
-return x_74;
-}
-}
-}
+lean_object* x_20; uint8_t x_21; lean_object* x_22;
+x_20 = l_Lean_Parser_Command_resolve__name___elambda__1___closed__10;
+x_21 = 1;
+x_22 = l_Lean_Parser_orelseFnCore(x_4, x_20, x_21, x_1, x_2);
+return x_22;
}
}
}
@@ -40636,20 +26504,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_init__quot___elambda__1___closed__6() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_init__quot___elambda__1___closed__5;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_init__quot___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_init__quot___elambda__1___closed__7() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Command_init__quot___elambda__1___closed__6;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Command_init__quot___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_init__quot___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -40657,11 +26527,31 @@ static lean_object* _init_l_Lean_Parser_Command_init__quot___elambda__1___closed
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
x_2 = l_Lean_Parser_Command_init__quot___elambda__1___closed__7;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_init__quot___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Command_init__quot___elambda__1___closed__5;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_init__quot___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_init__quot___elambda__1___closed__9;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -40685,71 +26575,17 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
+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;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_11 = lean_ctor_get(x_7, 1);
-lean_inc(x_11);
-x_12 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_13 = lean_ctor_get(x_12, 3);
-lean_inc(x_13);
-if (lean_obj_tag(x_13) == 0)
-{
-lean_object* x_14; lean_object* x_15;
-x_14 = lean_ctor_get(x_12, 0);
-lean_inc(x_14);
-x_15 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_14);
-lean_dec(x_14);
-if (lean_obj_tag(x_15) == 2)
-{
-lean_object* x_16; lean_object* x_17; uint8_t x_18;
-x_16 = lean_ctor_get(x_15, 1);
-lean_inc(x_16);
-lean_dec(x_15);
-x_17 = l_Lean_Parser_Command_init__quot___elambda__1___closed__5;
-x_18 = lean_string_dec_eq(x_16, x_17);
-lean_dec(x_16);
-if (x_18 == 0)
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
-x_19 = l_Lean_Parser_Command_init__quot___elambda__1___closed__8;
-x_20 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_19, x_11);
-x_21 = l_Lean_Parser_Command_init__quot___elambda__1___closed__2;
-x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_10);
-return x_22;
-}
-else
-{
-lean_object* x_23; lean_object* x_24;
-lean_dec(x_11);
-x_23 = l_Lean_Parser_Command_init__quot___elambda__1___closed__2;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_12, x_23, x_10);
-return x_24;
-}
-}
-else
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
-lean_dec(x_15);
-x_25 = l_Lean_Parser_Command_init__quot___elambda__1___closed__8;
-x_26 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_25, x_11);
-x_27 = l_Lean_Parser_Command_init__quot___elambda__1___closed__2;
-x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_10);
-return x_28;
-}
-}
-else
-{
-lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
-lean_dec(x_13);
-x_29 = l_Lean_Parser_Command_init__quot___elambda__1___closed__8;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_29, x_11);
-x_31 = l_Lean_Parser_Command_init__quot___elambda__1___closed__2;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_10);
-return x_32;
-}
+x_11 = l_Lean_Parser_Command_init__quot___elambda__1___closed__5;
+x_12 = l_Lean_Parser_Command_init__quot___elambda__1___closed__10;
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = l_Lean_Parser_Command_init__quot___elambda__1___closed__2;
+x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
+return x_15;
}
else
{
@@ -40760,144 +26596,11 @@ return x_7;
}
else
{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_33 = lean_ctor_get(x_2, 0);
-lean_inc(x_33);
-x_34 = lean_array_get_size(x_33);
-lean_dec(x_33);
-x_35 = lean_ctor_get(x_2, 1);
-lean_inc(x_35);
-lean_inc(x_1);
-x_36 = lean_apply_2(x_4, x_1, x_2);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_36, 1);
-lean_inc(x_39);
-x_40 = lean_nat_dec_eq(x_39, x_35);
-lean_dec(x_39);
-if (x_40 == 0)
-{
-lean_dec(x_38);
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
-lean_inc(x_35);
-x_41 = l_Lean_Parser_ParserState_restore(x_36, x_34, x_35);
-lean_dec(x_34);
-x_42 = lean_unsigned_to_nat(1024u);
-x_43 = l_Lean_Parser_checkPrecFn(x_42, x_1, x_41);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-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_43, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-x_47 = lean_ctor_get(x_43, 1);
-lean_inc(x_47);
-x_48 = l_Lean_Parser_tokenFn(x_1, x_43);
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
-{
-lean_object* x_50; lean_object* x_51;
-x_50 = lean_ctor_get(x_48, 0);
-lean_inc(x_50);
-x_51 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_50);
-lean_dec(x_50);
-if (lean_obj_tag(x_51) == 2)
-{
-lean_object* x_52; lean_object* x_53; uint8_t x_54;
-x_52 = lean_ctor_get(x_51, 1);
-lean_inc(x_52);
-lean_dec(x_51);
-x_53 = l_Lean_Parser_Command_init__quot___elambda__1___closed__5;
-x_54 = lean_string_dec_eq(x_52, x_53);
-lean_dec(x_52);
-if (x_54 == 0)
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; uint8_t x_59; lean_object* x_60;
-x_55 = l_Lean_Parser_Command_init__quot___elambda__1___closed__8;
-x_56 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_55, x_47);
-x_57 = l_Lean_Parser_Command_init__quot___elambda__1___closed__2;
-x_58 = l_Lean_Parser_ParserState_mkNode(x_56, x_57, x_46);
-x_59 = 1;
-x_60 = l_Lean_Parser_mergeOrElseErrors(x_58, x_38, x_35, x_59);
-lean_dec(x_35);
-return x_60;
-}
-else
-{
-lean_object* x_61; lean_object* x_62; uint8_t x_63; lean_object* x_64;
-lean_dec(x_47);
-x_61 = l_Lean_Parser_Command_init__quot___elambda__1___closed__2;
-x_62 = l_Lean_Parser_ParserState_mkNode(x_48, x_61, x_46);
-x_63 = 1;
-x_64 = l_Lean_Parser_mergeOrElseErrors(x_62, x_38, x_35, x_63);
-lean_dec(x_35);
-return x_64;
-}
-}
-else
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; uint8_t x_69; lean_object* x_70;
-lean_dec(x_51);
-x_65 = l_Lean_Parser_Command_init__quot___elambda__1___closed__8;
-x_66 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_65, x_47);
-x_67 = l_Lean_Parser_Command_init__quot___elambda__1___closed__2;
-x_68 = l_Lean_Parser_ParserState_mkNode(x_66, x_67, x_46);
-x_69 = 1;
-x_70 = l_Lean_Parser_mergeOrElseErrors(x_68, x_38, x_35, x_69);
-lean_dec(x_35);
-return x_70;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; uint8_t x_75; lean_object* x_76;
-lean_dec(x_49);
-x_71 = l_Lean_Parser_Command_init__quot___elambda__1___closed__8;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_71, x_47);
-x_73 = l_Lean_Parser_Command_init__quot___elambda__1___closed__2;
-x_74 = l_Lean_Parser_ParserState_mkNode(x_72, x_73, x_46);
-x_75 = 1;
-x_76 = l_Lean_Parser_mergeOrElseErrors(x_74, x_38, x_35, x_75);
-lean_dec(x_35);
-return x_76;
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_44);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_43, x_38, x_35, x_77);
-lean_dec(x_35);
-return x_78;
-}
-}
-}
+lean_object* x_16; uint8_t x_17; lean_object* x_18;
+x_16 = l_Lean_Parser_Command_init__quot___elambda__1___closed__8;
+x_17 = 1;
+x_18 = l_Lean_Parser_orelseFnCore(x_4, x_16, x_17, x_1, x_2);
+return x_18;
}
}
}
@@ -41167,12 +26870,32 @@ static lean_object* _init_l_Lean_Parser_Command_set__option___elambda__1___close
_start:
{
lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_set__option___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_set__option___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
x_1 = l_Bool_HasRepr___closed__2;
x_2 = l_String_trim(x_1);
return x_2;
}
}
-static lean_object* _init_l_Lean_Parser_Command_set__option___elambda__1___closed__8() {
+static lean_object* _init_l_Lean_Parser_Command_set__option___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_set__option___elambda__1___closed__8;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbolFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_set__option___elambda__1___closed__10() {
_start:
{
lean_object* x_1; lean_object* x_2;
@@ -41181,34 +26904,14 @@ x_2 = l_String_trim(x_1);
return x_2;
}
}
-static lean_object* _init_l_Lean_Parser_Command_set__option___elambda__1___closed__9() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_set__option___elambda__1___closed__7;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
-}
-}
-static lean_object* _init_l_Lean_Parser_Command_set__option___elambda__1___closed__10() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Command_set__option___elambda__1___closed__9;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
-}
-}
static lean_object* _init_l_Lean_Parser_Command_set__option___elambda__1___closed__11() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_set__option___elambda__1___closed__8;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_set__option___elambda__1___closed__10;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbolFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_set__option___elambda__1___closed__12() {
@@ -41216,8 +26919,10 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Command_set__option___elambda__1___closed__11;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_2 = l_Lean_Parser_Term_attrArg___elambda__1___closed__1;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -41225,34 +26930,82 @@ static lean_object* _init_l_Lean_Parser_Command_set__option___elambda__1___close
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_set__option___elambda__1___closed__9;
+x_2 = l_Lean_Parser_Command_set__option___elambda__1___closed__12;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_set__option___elambda__1___closed__14() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_ident___closed__2;
+x_2 = l_Lean_Parser_Command_set__option___elambda__1___closed__13;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_set__option___elambda__1___closed__15() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_set__option___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Command_set__option___elambda__1___closed__14;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_set__option___elambda__1___closed__16() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_set__option___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_set__option___elambda__1___closed__15;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_set__option___elambda__1___closed__17() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_set__option___elambda__1___closed__16;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_set__option___elambda__1___closed__18() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Char_HasRepr___closed__1;
x_2 = l_Lean_Parser_Command_set__option___elambda__1___closed__6;
x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Command_set__option___elambda__1___closed__14() {
+static lean_object* _init_l_Lean_Parser_Command_set__option___elambda__1___closed__19() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Command_set__option___elambda__1___closed__13;
+x_1 = l_Lean_Parser_Command_set__option___elambda__1___closed__18;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Command_set__option___elambda__1___closed__15() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Command_set__option___elambda__1___closed__14;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
-}
-}
lean_object* l_Lean_Parser_Command_set__option___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -41273,268 +27026,53 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_78; lean_object* x_79; lean_object* x_80;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_78 = lean_ctor_get(x_7, 1);
-lean_inc(x_78);
+x_11 = l_Lean_Parser_Command_set__option___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Command_set__option___elambda__1___closed__19;
lean_inc(x_1);
-x_79 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_80 = lean_ctor_get(x_79, 3);
-lean_inc(x_80);
-if (lean_obj_tag(x_80) == 0)
-{
-lean_object* x_81; lean_object* x_82;
-x_81 = lean_ctor_get(x_79, 0);
-lean_inc(x_81);
-x_82 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_81);
-lean_dec(x_81);
-if (lean_obj_tag(x_82) == 2)
-{
-lean_object* x_83; lean_object* x_84; uint8_t x_85;
-x_83 = lean_ctor_get(x_82, 1);
-lean_inc(x_83);
-lean_dec(x_82);
-x_84 = l_Lean_Parser_Command_set__option___elambda__1___closed__6;
-x_85 = lean_string_dec_eq(x_83, x_84);
-lean_dec(x_83);
-if (x_85 == 0)
-{
-lean_object* x_86; lean_object* x_87;
-x_86 = l_Lean_Parser_Command_set__option___elambda__1___closed__15;
-x_87 = l_Lean_Parser_ParserState_mkErrorsAt(x_79, x_86, x_78);
-x_11 = x_87;
-goto block_77;
-}
-else
-{
-lean_dec(x_78);
-x_11 = x_79;
-goto block_77;
-}
-}
-else
-{
-lean_object* x_88; lean_object* x_89;
-lean_dec(x_82);
-x_88 = l_Lean_Parser_Command_set__option___elambda__1___closed__15;
-x_89 = l_Lean_Parser_ParserState_mkErrorsAt(x_79, x_88, x_78);
-x_11 = x_89;
-goto block_77;
-}
-}
-else
-{
-lean_object* x_90; lean_object* x_91;
-lean_dec(x_80);
-x_90 = l_Lean_Parser_Command_set__option___elambda__1___closed__15;
-x_91 = l_Lean_Parser_ParserState_mkErrorsAt(x_79, x_90, x_78);
-x_11 = x_91;
-goto block_77;
-}
-block_77:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14;
-lean_inc(x_1);
-x_13 = l_Lean_Parser_ident___elambda__1(x_1, x_11);
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
x_14 = lean_ctor_get(x_13, 3);
lean_inc(x_14);
if (lean_obj_tag(x_14) == 0)
{
-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;
-x_15 = lean_ctor_get(x_13, 0);
-lean_inc(x_15);
-x_16 = lean_array_get_size(x_15);
-lean_dec(x_15);
-x_17 = lean_ctor_get(x_13, 1);
-lean_inc(x_17);
-x_18 = l_Lean_Parser_Command_set__option___elambda__1___closed__7;
-x_19 = l_Lean_Parser_Command_set__option___elambda__1___closed__10;
+lean_object* x_15; lean_object* x_16;
lean_inc(x_1);
-x_20 = l_Lean_Parser_nonReservedSymbolFnAux(x_18, x_19, x_1, x_13);
-x_21 = lean_ctor_get(x_20, 3);
-lean_inc(x_21);
-if (lean_obj_tag(x_21) == 0)
+x_15 = l_Lean_Parser_ident___elambda__1(x_1, x_13);
+x_16 = lean_ctor_get(x_15, 3);
+lean_inc(x_16);
+if (lean_obj_tag(x_16) == 0)
{
-lean_object* x_22; lean_object* x_23;
-lean_dec(x_17);
+lean_object* x_17; lean_object* x_18; uint8_t x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
+x_17 = l_Lean_Parser_Command_set__option___elambda__1___closed__9;
+x_18 = l_Lean_Parser_Command_set__option___elambda__1___closed__12;
+x_19 = 1;
+x_20 = l_Lean_Parser_orelseFnCore(x_17, x_18, x_19, x_1, x_15);
+x_21 = l_Lean_Parser_Command_set__option___elambda__1___closed__2;
+x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_10);
+return x_22;
+}
+else
+{
+lean_object* x_23; lean_object* x_24;
lean_dec(x_16);
lean_dec(x_1);
-x_22 = l_Lean_Parser_Command_set__option___elambda__1___closed__2;
-x_23 = l_Lean_Parser_ParserState_mkNode(x_20, x_22, x_10);
-return x_23;
-}
-else
-{
-lean_object* x_24; lean_object* x_25; uint8_t x_26;
-x_24 = lean_ctor_get(x_21, 0);
-lean_inc(x_24);
-lean_dec(x_21);
-x_25 = lean_ctor_get(x_20, 1);
-lean_inc(x_25);
-x_26 = lean_nat_dec_eq(x_25, x_17);
-lean_dec(x_25);
-if (x_26 == 0)
-{
-lean_object* x_27; lean_object* x_28;
-lean_dec(x_24);
-lean_dec(x_17);
-lean_dec(x_16);
-lean_dec(x_1);
-x_27 = l_Lean_Parser_Command_set__option___elambda__1___closed__2;
-x_28 = l_Lean_Parser_ParserState_mkNode(x_20, x_27, x_10);
-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_inc(x_17);
-x_29 = l_Lean_Parser_ParserState_restore(x_20, x_16, x_17);
-lean_dec(x_16);
-x_30 = lean_ctor_get(x_29, 0);
-lean_inc(x_30);
-x_31 = lean_array_get_size(x_30);
-lean_dec(x_30);
-x_32 = l_Lean_Parser_Command_set__option___elambda__1___closed__8;
-x_33 = l_Lean_Parser_Command_set__option___elambda__1___closed__12;
-lean_inc(x_1);
-x_34 = l_Lean_Parser_nonReservedSymbolFnAux(x_32, x_33, x_1, x_29);
-x_35 = lean_ctor_get(x_34, 3);
-lean_inc(x_35);
-if (lean_obj_tag(x_35) == 0)
-{
-uint8_t x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-lean_dec(x_31);
-lean_dec(x_1);
-x_36 = 1;
-x_37 = l_Lean_Parser_mergeOrElseErrors(x_34, x_24, x_17, x_36);
-lean_dec(x_17);
-x_38 = l_Lean_Parser_Command_set__option___elambda__1___closed__2;
-x_39 = l_Lean_Parser_ParserState_mkNode(x_37, x_38, x_10);
-return x_39;
-}
-else
-{
-lean_object* x_40; lean_object* x_41; uint8_t x_42;
-x_40 = lean_ctor_get(x_35, 0);
-lean_inc(x_40);
-lean_dec(x_35);
-x_41 = lean_ctor_get(x_34, 1);
-lean_inc(x_41);
-x_42 = lean_nat_dec_eq(x_41, x_17);
-lean_dec(x_41);
-if (x_42 == 0)
-{
-uint8_t x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46;
-lean_dec(x_40);
-lean_dec(x_31);
-lean_dec(x_1);
-x_43 = 1;
-x_44 = l_Lean_Parser_mergeOrElseErrors(x_34, x_24, x_17, x_43);
-lean_dec(x_17);
-x_45 = l_Lean_Parser_Command_set__option___elambda__1___closed__2;
-x_46 = l_Lean_Parser_ParserState_mkNode(x_44, x_45, x_10);
-return x_46;
-}
-else
-{
-lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51;
-lean_inc(x_17);
-x_47 = l_Lean_Parser_ParserState_restore(x_34, x_31, x_17);
-lean_dec(x_31);
-x_48 = lean_ctor_get(x_47, 0);
-lean_inc(x_48);
-x_49 = lean_array_get_size(x_48);
-lean_dec(x_48);
-lean_inc(x_1);
-x_50 = l_Lean_Parser_strLit___elambda__1(x_1, x_47);
-x_51 = lean_ctor_get(x_50, 3);
-lean_inc(x_51);
-if (lean_obj_tag(x_51) == 0)
-{
-uint8_t x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56;
-lean_dec(x_49);
-lean_dec(x_1);
-x_52 = 1;
-x_53 = l_Lean_Parser_mergeOrElseErrors(x_50, x_40, x_17, x_52);
-x_54 = l_Lean_Parser_mergeOrElseErrors(x_53, x_24, x_17, x_52);
-lean_dec(x_17);
-x_55 = l_Lean_Parser_Command_set__option___elambda__1___closed__2;
-x_56 = l_Lean_Parser_ParserState_mkNode(x_54, x_55, x_10);
-return x_56;
-}
-else
-{
-lean_object* x_57; lean_object* x_58; uint8_t x_59;
-x_57 = lean_ctor_get(x_51, 0);
-lean_inc(x_57);
-lean_dec(x_51);
-x_58 = lean_ctor_get(x_50, 1);
-lean_inc(x_58);
-x_59 = lean_nat_dec_eq(x_58, x_17);
-lean_dec(x_58);
-if (x_59 == 0)
-{
-uint8_t x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64;
-lean_dec(x_57);
-lean_dec(x_49);
-lean_dec(x_1);
-x_60 = 1;
-x_61 = l_Lean_Parser_mergeOrElseErrors(x_50, x_40, x_17, x_60);
-x_62 = l_Lean_Parser_mergeOrElseErrors(x_61, x_24, x_17, x_60);
-lean_dec(x_17);
-x_63 = l_Lean_Parser_Command_set__option___elambda__1___closed__2;
-x_64 = l_Lean_Parser_ParserState_mkNode(x_62, x_63, x_10);
-return x_64;
-}
-else
-{
-lean_object* x_65; lean_object* x_66; uint8_t x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72;
-lean_inc(x_17);
-x_65 = l_Lean_Parser_ParserState_restore(x_50, x_49, x_17);
-lean_dec(x_49);
-x_66 = l_Lean_Parser_numLit___elambda__1(x_1, x_65);
-x_67 = 1;
-x_68 = l_Lean_Parser_mergeOrElseErrors(x_66, x_57, x_17, x_67);
-x_69 = l_Lean_Parser_mergeOrElseErrors(x_68, x_40, x_17, x_67);
-x_70 = l_Lean_Parser_mergeOrElseErrors(x_69, x_24, x_17, x_67);
-lean_dec(x_17);
-x_71 = l_Lean_Parser_Command_set__option___elambda__1___closed__2;
-x_72 = l_Lean_Parser_ParserState_mkNode(x_70, x_71, x_10);
-return x_72;
-}
-}
-}
-}
-}
+x_23 = l_Lean_Parser_Command_set__option___elambda__1___closed__2;
+x_24 = l_Lean_Parser_ParserState_mkNode(x_15, x_23, x_10);
+return x_24;
}
}
else
{
-lean_object* x_73; lean_object* x_74;
+lean_object* x_25; lean_object* x_26;
lean_dec(x_14);
lean_dec(x_1);
-x_73 = l_Lean_Parser_Command_set__option___elambda__1___closed__2;
-x_74 = l_Lean_Parser_ParserState_mkNode(x_13, x_73, x_10);
-return x_74;
-}
-}
-else
-{
-lean_object* x_75; lean_object* x_76;
-lean_dec(x_12);
-lean_dec(x_1);
-x_75 = l_Lean_Parser_Command_set__option___elambda__1___closed__2;
-x_76 = l_Lean_Parser_ParserState_mkNode(x_11, x_75, x_10);
-return x_76;
-}
+x_25 = l_Lean_Parser_Command_set__option___elambda__1___closed__2;
+x_26 = l_Lean_Parser_ParserState_mkNode(x_13, x_25, x_10);
+return x_26;
}
}
else
@@ -41546,352 +27084,11 @@ return x_7;
}
else
{
-lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96;
-x_92 = lean_ctor_get(x_2, 0);
-lean_inc(x_92);
-x_93 = lean_array_get_size(x_92);
-lean_dec(x_92);
-x_94 = lean_ctor_get(x_2, 1);
-lean_inc(x_94);
-lean_inc(x_1);
-x_95 = lean_apply_2(x_4, x_1, x_2);
-x_96 = lean_ctor_get(x_95, 3);
-lean_inc(x_96);
-if (lean_obj_tag(x_96) == 0)
-{
-lean_dec(x_94);
-lean_dec(x_93);
-lean_dec(x_1);
-return x_95;
-}
-else
-{
-lean_object* x_97; lean_object* x_98; uint8_t x_99;
-x_97 = lean_ctor_get(x_96, 0);
-lean_inc(x_97);
-lean_dec(x_96);
-x_98 = lean_ctor_get(x_95, 1);
-lean_inc(x_98);
-x_99 = lean_nat_dec_eq(x_98, x_94);
-lean_dec(x_98);
-if (x_99 == 0)
-{
-lean_dec(x_97);
-lean_dec(x_94);
-lean_dec(x_93);
-lean_dec(x_1);
-return x_95;
-}
-else
-{
-lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103;
-lean_inc(x_94);
-x_100 = l_Lean_Parser_ParserState_restore(x_95, x_93, x_94);
-lean_dec(x_93);
-x_101 = lean_unsigned_to_nat(1024u);
-x_102 = l_Lean_Parser_checkPrecFn(x_101, x_1, x_100);
-x_103 = lean_ctor_get(x_102, 3);
-lean_inc(x_103);
-if (lean_obj_tag(x_103) == 0)
-{
-lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_186; lean_object* x_187; lean_object* x_188;
-x_104 = lean_ctor_get(x_102, 0);
-lean_inc(x_104);
-x_105 = lean_array_get_size(x_104);
-lean_dec(x_104);
-x_186 = lean_ctor_get(x_102, 1);
-lean_inc(x_186);
-lean_inc(x_1);
-x_187 = l_Lean_Parser_tokenFn(x_1, x_102);
-x_188 = lean_ctor_get(x_187, 3);
-lean_inc(x_188);
-if (lean_obj_tag(x_188) == 0)
-{
-lean_object* x_189; lean_object* x_190;
-x_189 = lean_ctor_get(x_187, 0);
-lean_inc(x_189);
-x_190 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_189);
-lean_dec(x_189);
-if (lean_obj_tag(x_190) == 2)
-{
-lean_object* x_191; lean_object* x_192; uint8_t x_193;
-x_191 = lean_ctor_get(x_190, 1);
-lean_inc(x_191);
-lean_dec(x_190);
-x_192 = l_Lean_Parser_Command_set__option___elambda__1___closed__6;
-x_193 = lean_string_dec_eq(x_191, x_192);
-lean_dec(x_191);
-if (x_193 == 0)
-{
-lean_object* x_194; lean_object* x_195;
-x_194 = l_Lean_Parser_Command_set__option___elambda__1___closed__15;
-x_195 = l_Lean_Parser_ParserState_mkErrorsAt(x_187, x_194, x_186);
-x_106 = x_195;
-goto block_185;
-}
-else
-{
-lean_dec(x_186);
-x_106 = x_187;
-goto block_185;
-}
-}
-else
-{
-lean_object* x_196; lean_object* x_197;
-lean_dec(x_190);
-x_196 = l_Lean_Parser_Command_set__option___elambda__1___closed__15;
-x_197 = l_Lean_Parser_ParserState_mkErrorsAt(x_187, x_196, x_186);
-x_106 = x_197;
-goto block_185;
-}
-}
-else
-{
-lean_object* x_198; lean_object* x_199;
-lean_dec(x_188);
-x_198 = l_Lean_Parser_Command_set__option___elambda__1___closed__15;
-x_199 = l_Lean_Parser_ParserState_mkErrorsAt(x_187, x_198, x_186);
-x_106 = x_199;
-goto block_185;
-}
-block_185:
-{
-lean_object* x_107;
-x_107 = lean_ctor_get(x_106, 3);
-lean_inc(x_107);
-if (lean_obj_tag(x_107) == 0)
-{
-lean_object* x_108; lean_object* x_109;
-lean_inc(x_1);
-x_108 = l_Lean_Parser_ident___elambda__1(x_1, x_106);
-x_109 = lean_ctor_get(x_108, 3);
-lean_inc(x_109);
-if (lean_obj_tag(x_109) == 0)
-{
-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;
-x_110 = lean_ctor_get(x_108, 0);
-lean_inc(x_110);
-x_111 = lean_array_get_size(x_110);
-lean_dec(x_110);
-x_112 = lean_ctor_get(x_108, 1);
-lean_inc(x_112);
-x_113 = l_Lean_Parser_Command_set__option___elambda__1___closed__7;
-x_114 = l_Lean_Parser_Command_set__option___elambda__1___closed__10;
-lean_inc(x_1);
-x_115 = l_Lean_Parser_nonReservedSymbolFnAux(x_113, x_114, x_1, x_108);
-x_116 = lean_ctor_get(x_115, 3);
-lean_inc(x_116);
-if (lean_obj_tag(x_116) == 0)
-{
-lean_object* x_117; lean_object* x_118; uint8_t x_119; lean_object* x_120;
-lean_dec(x_112);
-lean_dec(x_111);
-lean_dec(x_1);
-x_117 = l_Lean_Parser_Command_set__option___elambda__1___closed__2;
-x_118 = l_Lean_Parser_ParserState_mkNode(x_115, x_117, x_105);
-x_119 = 1;
-x_120 = l_Lean_Parser_mergeOrElseErrors(x_118, x_97, x_94, x_119);
-lean_dec(x_94);
-return x_120;
-}
-else
-{
-lean_object* x_121; lean_object* x_122; uint8_t x_123;
-x_121 = lean_ctor_get(x_116, 0);
-lean_inc(x_121);
-lean_dec(x_116);
-x_122 = lean_ctor_get(x_115, 1);
-lean_inc(x_122);
-x_123 = lean_nat_dec_eq(x_122, x_112);
-lean_dec(x_122);
-if (x_123 == 0)
-{
-lean_object* x_124; lean_object* x_125; uint8_t x_126; lean_object* x_127;
-lean_dec(x_121);
-lean_dec(x_112);
-lean_dec(x_111);
-lean_dec(x_1);
-x_124 = l_Lean_Parser_Command_set__option___elambda__1___closed__2;
-x_125 = l_Lean_Parser_ParserState_mkNode(x_115, x_124, x_105);
-x_126 = 1;
-x_127 = l_Lean_Parser_mergeOrElseErrors(x_125, x_97, x_94, x_126);
-lean_dec(x_94);
-return x_127;
-}
-else
-{
-lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134;
-lean_inc(x_112);
-x_128 = l_Lean_Parser_ParserState_restore(x_115, x_111, x_112);
-lean_dec(x_111);
-x_129 = lean_ctor_get(x_128, 0);
-lean_inc(x_129);
-x_130 = lean_array_get_size(x_129);
-lean_dec(x_129);
-x_131 = l_Lean_Parser_Command_set__option___elambda__1___closed__8;
-x_132 = l_Lean_Parser_Command_set__option___elambda__1___closed__12;
-lean_inc(x_1);
-x_133 = l_Lean_Parser_nonReservedSymbolFnAux(x_131, x_132, x_1, x_128);
-x_134 = lean_ctor_get(x_133, 3);
-lean_inc(x_134);
-if (lean_obj_tag(x_134) == 0)
-{
-uint8_t x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139;
-lean_dec(x_130);
-lean_dec(x_1);
-x_135 = 1;
-x_136 = l_Lean_Parser_mergeOrElseErrors(x_133, x_121, x_112, x_135);
-lean_dec(x_112);
-x_137 = l_Lean_Parser_Command_set__option___elambda__1___closed__2;
-x_138 = l_Lean_Parser_ParserState_mkNode(x_136, x_137, x_105);
-x_139 = l_Lean_Parser_mergeOrElseErrors(x_138, x_97, x_94, x_135);
-lean_dec(x_94);
-return x_139;
-}
-else
-{
-lean_object* x_140; lean_object* x_141; uint8_t x_142;
-x_140 = lean_ctor_get(x_134, 0);
-lean_inc(x_140);
-lean_dec(x_134);
-x_141 = lean_ctor_get(x_133, 1);
-lean_inc(x_141);
-x_142 = lean_nat_dec_eq(x_141, x_112);
-lean_dec(x_141);
-if (x_142 == 0)
-{
-uint8_t x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147;
-lean_dec(x_140);
-lean_dec(x_130);
-lean_dec(x_1);
-x_143 = 1;
-x_144 = l_Lean_Parser_mergeOrElseErrors(x_133, x_121, x_112, x_143);
-lean_dec(x_112);
-x_145 = l_Lean_Parser_Command_set__option___elambda__1___closed__2;
-x_146 = l_Lean_Parser_ParserState_mkNode(x_144, x_145, x_105);
-x_147 = l_Lean_Parser_mergeOrElseErrors(x_146, x_97, x_94, x_143);
-lean_dec(x_94);
-return x_147;
-}
-else
-{
-lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152;
-lean_inc(x_112);
-x_148 = l_Lean_Parser_ParserState_restore(x_133, x_130, x_112);
-lean_dec(x_130);
-x_149 = lean_ctor_get(x_148, 0);
-lean_inc(x_149);
-x_150 = lean_array_get_size(x_149);
-lean_dec(x_149);
-lean_inc(x_1);
-x_151 = l_Lean_Parser_strLit___elambda__1(x_1, x_148);
-x_152 = lean_ctor_get(x_151, 3);
-lean_inc(x_152);
-if (lean_obj_tag(x_152) == 0)
-{
-uint8_t x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158;
-lean_dec(x_150);
-lean_dec(x_1);
-x_153 = 1;
-x_154 = l_Lean_Parser_mergeOrElseErrors(x_151, x_140, x_112, x_153);
-x_155 = l_Lean_Parser_mergeOrElseErrors(x_154, x_121, x_112, x_153);
-lean_dec(x_112);
-x_156 = l_Lean_Parser_Command_set__option___elambda__1___closed__2;
-x_157 = l_Lean_Parser_ParserState_mkNode(x_155, x_156, x_105);
-x_158 = l_Lean_Parser_mergeOrElseErrors(x_157, x_97, x_94, x_153);
-lean_dec(x_94);
-return x_158;
-}
-else
-{
-lean_object* x_159; lean_object* x_160; uint8_t x_161;
-x_159 = lean_ctor_get(x_152, 0);
-lean_inc(x_159);
-lean_dec(x_152);
-x_160 = lean_ctor_get(x_151, 1);
-lean_inc(x_160);
-x_161 = lean_nat_dec_eq(x_160, x_112);
-lean_dec(x_160);
-if (x_161 == 0)
-{
-uint8_t x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167;
-lean_dec(x_159);
-lean_dec(x_150);
-lean_dec(x_1);
-x_162 = 1;
-x_163 = l_Lean_Parser_mergeOrElseErrors(x_151, x_140, x_112, x_162);
-x_164 = l_Lean_Parser_mergeOrElseErrors(x_163, x_121, x_112, x_162);
-lean_dec(x_112);
-x_165 = l_Lean_Parser_Command_set__option___elambda__1___closed__2;
-x_166 = l_Lean_Parser_ParserState_mkNode(x_164, x_165, x_105);
-x_167 = l_Lean_Parser_mergeOrElseErrors(x_166, x_97, x_94, x_162);
-lean_dec(x_94);
-return x_167;
-}
-else
-{
-lean_object* x_168; lean_object* x_169; uint8_t x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176;
-lean_inc(x_112);
-x_168 = l_Lean_Parser_ParserState_restore(x_151, x_150, x_112);
-lean_dec(x_150);
-x_169 = l_Lean_Parser_numLit___elambda__1(x_1, x_168);
-x_170 = 1;
-x_171 = l_Lean_Parser_mergeOrElseErrors(x_169, x_159, x_112, x_170);
-x_172 = l_Lean_Parser_mergeOrElseErrors(x_171, x_140, x_112, x_170);
-x_173 = l_Lean_Parser_mergeOrElseErrors(x_172, x_121, x_112, x_170);
-lean_dec(x_112);
-x_174 = l_Lean_Parser_Command_set__option___elambda__1___closed__2;
-x_175 = l_Lean_Parser_ParserState_mkNode(x_173, x_174, x_105);
-x_176 = l_Lean_Parser_mergeOrElseErrors(x_175, x_97, x_94, x_170);
-lean_dec(x_94);
-return x_176;
-}
-}
-}
-}
-}
-}
-}
-else
-{
-lean_object* x_177; lean_object* x_178; uint8_t x_179; lean_object* x_180;
-lean_dec(x_109);
-lean_dec(x_1);
-x_177 = l_Lean_Parser_Command_set__option___elambda__1___closed__2;
-x_178 = l_Lean_Parser_ParserState_mkNode(x_108, x_177, x_105);
-x_179 = 1;
-x_180 = l_Lean_Parser_mergeOrElseErrors(x_178, x_97, x_94, x_179);
-lean_dec(x_94);
-return x_180;
-}
-}
-else
-{
-lean_object* x_181; lean_object* x_182; uint8_t x_183; lean_object* x_184;
-lean_dec(x_107);
-lean_dec(x_1);
-x_181 = l_Lean_Parser_Command_set__option___elambda__1___closed__2;
-x_182 = l_Lean_Parser_ParserState_mkNode(x_106, x_181, x_105);
-x_183 = 1;
-x_184 = l_Lean_Parser_mergeOrElseErrors(x_182, x_97, x_94, x_183);
-lean_dec(x_94);
-return x_184;
-}
-}
-}
-else
-{
-uint8_t x_200; lean_object* x_201;
-lean_dec(x_103);
-lean_dec(x_1);
-x_200 = 1;
-x_201 = l_Lean_Parser_mergeOrElseErrors(x_102, x_97, x_94, x_200);
-lean_dec(x_94);
-return x_201;
-}
-}
-}
+lean_object* x_27; uint8_t x_28; lean_object* x_29;
+x_27 = l_Lean_Parser_Command_set__option___elambda__1___closed__17;
+x_28 = 1;
+x_29 = l_Lean_Parser_orelseFnCore(x_4, x_27, x_28, x_1, x_2);
+return x_29;
}
}
}
@@ -41908,7 +27105,7 @@ static lean_object* _init_l_Lean_Parser_Command_set__option___closed__2() {
_start:
{
lean_object* x_1; uint8_t x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Command_set__option___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Command_set__option___elambda__1___closed__8;
x_2 = 0;
x_3 = l_Lean_Parser_nonReservedSymbolInfo(x_1, x_2);
return x_3;
@@ -41918,7 +27115,7 @@ static lean_object* _init_l_Lean_Parser_Command_set__option___closed__3() {
_start:
{
lean_object* x_1; uint8_t x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Command_set__option___elambda__1___closed__8;
+x_1 = l_Lean_Parser_Command_set__option___elambda__1___closed__10;
x_2 = 0;
x_3 = l_Lean_Parser_nonReservedSymbolInfo(x_1, x_2);
return x_3;
@@ -42338,9 +27535,11 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_attribute___elambda__1___closed__7() {
_start:
{
-lean_object* x_1;
-x_1 = lean_mk_string("attribute ");
-return x_1;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_attribute___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_attribute___elambda__1___closed__8() {
@@ -42348,7 +27547,8 @@ _start:
{
lean_object* x_1; lean_object* x_2;
x_1 = l_Lean_Parser_Command_attribute___elambda__1___closed__7;
-x_2 = l_String_trim(x_1);
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optionalFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
return x_2;
}
}
@@ -42356,7 +27556,7 @@ static lean_object* _init_l_Lean_Parser_Command_attribute___elambda__1___closed_
_start:
{
lean_object* x_1;
-x_1 = lean_mk_string("] ");
+x_1 = lean_mk_string("attribute ");
return x_1;
}
}
@@ -42372,43 +27572,38 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_attribute___elambda__1___closed__11() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_attribute___elambda__1___closed__10;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_attribute___elambda__1___closed__10;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_attribute___elambda__1___closed__12() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Command_attribute___elambda__1___closed__11;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1;
+x_1 = lean_mk_string("] ");
+return x_1;
}
}
static lean_object* _init_l_Lean_Parser_Command_attribute___elambda__1___closed__13() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Command_attribute___elambda__1___closed__12;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_attribute___elambda__1___closed__12;
+x_2 = l_String_trim(x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_attribute___elambda__1___closed__14() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_attribute___elambda__1___closed__8;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_attribute___elambda__1___closed__13;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_attribute___elambda__1___closed__15() {
@@ -42416,8 +27611,10 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Command_attribute___elambda__1___closed__14;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_2 = l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -42425,11 +27622,11 @@ static lean_object* _init_l_Lean_Parser_Command_attribute___elambda__1___closed_
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Term_attributes___elambda__1___closed__8;
x_2 = l_Lean_Parser_Command_attribute___elambda__1___closed__15;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -42437,9 +27634,11 @@ static lean_object* _init_l_Lean_Parser_Command_attribute___elambda__1___closed_
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_attribute___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Command_attribute___elambda__1___closed__16;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -42447,9 +27646,11 @@ static lean_object* _init_l_Lean_Parser_Command_attribute___elambda__1___closed_
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Command_attribute___elambda__1___closed__17;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Command_attribute___elambda__1___closed__11;
+x_2 = l_Lean_Parser_Command_attribute___elambda__1___closed__17;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -42457,11 +27658,75 @@ static lean_object* _init_l_Lean_Parser_Command_attribute___elambda__1___closed_
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Command_attribute___elambda__1___closed__8;
x_2 = l_Lean_Parser_Command_attribute___elambda__1___closed__18;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_attribute___elambda__1___closed__20() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_attribute___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_attribute___elambda__1___closed__19;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_attribute___elambda__1___closed__21() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_attribute___elambda__1___closed__20;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_attribute___elambda__1___closed__22() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Command_attribute___elambda__1___closed__10;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_attribute___elambda__1___closed__23() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_attribute___elambda__1___closed__22;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_attribute___elambda__1___closed__24() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Command_attribute___elambda__1___closed__13;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_attribute___elambda__1___closed__25() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_attribute___elambda__1___closed__24;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -42485,404 +27750,135 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_29; lean_object* x_53; lean_object* x_72; lean_object* x_91; lean_object* x_92; lean_object* x_104; lean_object* x_105;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_91 = lean_ctor_get(x_7, 1);
-lean_inc(x_91);
+x_11 = l_Lean_Parser_Command_attribute___elambda__1___closed__7;
lean_inc(x_1);
-x_104 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_105 = lean_ctor_get(x_104, 3);
-lean_inc(x_105);
-if (lean_obj_tag(x_105) == 0)
-{
-lean_object* x_106; lean_object* x_107;
-x_106 = lean_ctor_get(x_104, 0);
-lean_inc(x_106);
-x_107 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_106);
-lean_dec(x_106);
-if (lean_obj_tag(x_107) == 2)
-{
-lean_object* x_108; lean_object* x_109; uint8_t x_110;
-x_108 = lean_ctor_get(x_107, 1);
-lean_inc(x_108);
-lean_dec(x_107);
-x_109 = l_Lean_Parser_Command_attribute___elambda__1___closed__6;
-x_110 = lean_string_dec_eq(x_108, x_109);
-lean_dec(x_108);
-if (x_110 == 0)
-{
-lean_object* x_111; lean_object* x_112;
-x_111 = l_Lean_Parser_Command_attribute___elambda__1___closed__19;
-lean_inc(x_91);
-x_112 = l_Lean_Parser_ParserState_mkErrorsAt(x_104, x_111, x_91);
-x_92 = x_112;
-goto block_103;
-}
-else
-{
-x_92 = x_104;
-goto block_103;
-}
-}
-else
-{
-lean_object* x_113; lean_object* x_114;
-lean_dec(x_107);
-x_113 = l_Lean_Parser_Command_attribute___elambda__1___closed__19;
-lean_inc(x_91);
-x_114 = l_Lean_Parser_ParserState_mkErrorsAt(x_104, x_113, x_91);
-x_92 = x_114;
-goto block_103;
-}
-}
-else
-{
-lean_object* x_115; lean_object* x_116;
-lean_dec(x_105);
-x_115 = l_Lean_Parser_Command_attribute___elambda__1___closed__19;
-lean_inc(x_91);
-x_116 = l_Lean_Parser_ParserState_mkErrorsAt(x_104, x_115, x_91);
-x_92 = x_116;
-goto block_103;
-}
-block_28:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
-x_13 = lean_ctor_get(x_11, 0);
+x_12 = l_Lean_Parser_optionalFn(x_11, x_1, x_7);
+x_13 = lean_ctor_get(x_12, 3);
lean_inc(x_13);
-x_14 = lean_array_get_size(x_13);
-lean_dec(x_13);
+if (lean_obj_tag(x_13) == 0)
+{
+lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
+x_14 = l_Lean_Parser_Command_attribute___elambda__1___closed__10;
+x_15 = l_Lean_Parser_Command_attribute___elambda__1___closed__23;
lean_inc(x_1);
-x_15 = l_Lean_Parser_ident___elambda__1(x_1, x_11);
-x_16 = lean_ctor_get(x_15, 3);
-lean_inc(x_16);
-if (lean_obj_tag(x_16) == 0)
+x_16 = l_Lean_Parser_symbolFnAux(x_14, x_15, x_1, x_12);
+x_17 = lean_ctor_get(x_16, 3);
+lean_inc(x_17);
+if (lean_obj_tag(x_17) == 0)
{
-lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
-x_17 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_structExplicitBinder___elambda__1___spec__1(x_1, x_15);
-x_18 = l_Lean_nullKind;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_14);
-x_20 = l_Lean_Parser_Command_attribute___elambda__1___closed__2;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_10);
-return x_21;
-}
-else
+lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
+x_18 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__5;
+x_19 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__14;
+lean_inc(x_1);
+x_20 = l_Lean_Parser_symbolFnAux(x_18, x_19, x_1, x_16);
+x_21 = lean_ctor_get(x_20, 3);
+lean_inc(x_21);
+if (lean_obj_tag(x_21) == 0)
{
-lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25;
-lean_dec(x_16);
-lean_dec(x_1);
-x_22 = l_Lean_nullKind;
-x_23 = l_Lean_Parser_ParserState_mkNode(x_15, x_22, x_14);
-x_24 = l_Lean_Parser_Command_attribute___elambda__1___closed__2;
-x_25 = l_Lean_Parser_ParserState_mkNode(x_23, x_24, x_10);
-return x_25;
-}
-}
-else
+uint8_t x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26;
+x_22 = 0;
+x_23 = l_Lean_Parser_Term_attrInstance___closed__7;
+x_24 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__6;
+lean_inc(x_1);
+x_25 = l_Lean_Parser_sepBy1Fn(x_22, x_23, x_24, x_1, x_20);
+x_26 = lean_ctor_get(x_25, 3);
+lean_inc(x_26);
+if (lean_obj_tag(x_26) == 0)
{
-lean_object* x_26; lean_object* x_27;
-lean_dec(x_12);
-lean_dec(x_1);
-x_26 = l_Lean_Parser_Command_attribute___elambda__1___closed__2;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_11, x_26, x_10);
-return x_27;
-}
-}
-block_52:
-{
-lean_object* x_30;
+lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30;
+x_27 = l_Lean_Parser_Command_attribute___elambda__1___closed__13;
+x_28 = l_Lean_Parser_Command_attribute___elambda__1___closed__25;
+lean_inc(x_1);
+x_29 = l_Lean_Parser_symbolFnAux(x_27, x_28, x_1, x_25);
x_30 = lean_ctor_get(x_29, 3);
lean_inc(x_30);
if (lean_obj_tag(x_30) == 0)
{
-uint8_t x_31; lean_object* x_32; lean_object* x_33;
-x_31 = 0;
+lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34;
+x_31 = lean_ctor_get(x_29, 0);
+lean_inc(x_31);
+x_32 = lean_array_get_size(x_31);
+lean_dec(x_31);
lean_inc(x_1);
-x_32 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_attributes___elambda__1___spec__1(x_31, x_1, x_29);
-x_33 = lean_ctor_get(x_32, 3);
-lean_inc(x_33);
-if (lean_obj_tag(x_33) == 0)
-{
-lean_object* x_34; lean_object* x_35; lean_object* x_36;
-x_34 = lean_ctor_get(x_32, 1);
+x_33 = l_Lean_Parser_ident___elambda__1(x_1, x_29);
+x_34 = lean_ctor_get(x_33, 3);
lean_inc(x_34);
-lean_inc(x_1);
-x_35 = l_Lean_Parser_tokenFn(x_1, x_32);
-x_36 = lean_ctor_get(x_35, 3);
-lean_inc(x_36);
-if (lean_obj_tag(x_36) == 0)
+if (lean_obj_tag(x_34) == 0)
{
-lean_object* x_37; lean_object* x_38;
-x_37 = lean_ctor_get(x_35, 0);
-lean_inc(x_37);
-x_38 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_37);
-lean_dec(x_37);
-if (lean_obj_tag(x_38) == 2)
-{
-lean_object* x_39; lean_object* x_40; uint8_t x_41;
-x_39 = lean_ctor_get(x_38, 1);
-lean_inc(x_39);
-lean_dec(x_38);
-x_40 = l_Lean_Parser_Command_attribute___elambda__1___closed__10;
-x_41 = lean_string_dec_eq(x_39, x_40);
-lean_dec(x_39);
-if (x_41 == 0)
-{
-lean_object* x_42; lean_object* x_43;
-x_42 = l_Lean_Parser_Command_attribute___elambda__1___closed__13;
-x_43 = l_Lean_Parser_ParserState_mkErrorsAt(x_35, x_42, x_34);
-x_11 = x_43;
-goto block_28;
+lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40;
+x_35 = l_Lean_Parser_ident___closed__2;
+x_36 = l_Lean_Parser_manyAux(x_35, x_1, x_33);
+x_37 = l_Lean_nullKind;
+x_38 = l_Lean_Parser_ParserState_mkNode(x_36, x_37, x_32);
+x_39 = l_Lean_Parser_Command_attribute___elambda__1___closed__2;
+x_40 = l_Lean_Parser_ParserState_mkNode(x_38, x_39, x_10);
+return x_40;
}
else
{
+lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
lean_dec(x_34);
-x_11 = x_35;
-goto block_28;
-}
-}
-else
-{
-lean_object* x_44; lean_object* x_45;
-lean_dec(x_38);
-x_44 = l_Lean_Parser_Command_attribute___elambda__1___closed__13;
-x_45 = l_Lean_Parser_ParserState_mkErrorsAt(x_35, x_44, x_34);
-x_11 = x_45;
-goto block_28;
-}
-}
-else
-{
-lean_object* x_46; lean_object* x_47;
-lean_dec(x_36);
-x_46 = l_Lean_Parser_Command_attribute___elambda__1___closed__13;
-x_47 = l_Lean_Parser_ParserState_mkErrorsAt(x_35, x_46, x_34);
-x_11 = x_47;
-goto block_28;
-}
-}
-else
-{
-lean_object* x_48; lean_object* x_49;
-lean_dec(x_33);
lean_dec(x_1);
-x_48 = l_Lean_Parser_Command_attribute___elambda__1___closed__2;
-x_49 = l_Lean_Parser_ParserState_mkNode(x_32, x_48, x_10);
-return x_49;
+x_41 = l_Lean_nullKind;
+x_42 = l_Lean_Parser_ParserState_mkNode(x_33, x_41, x_32);
+x_43 = l_Lean_Parser_Command_attribute___elambda__1___closed__2;
+x_44 = l_Lean_Parser_ParserState_mkNode(x_42, x_43, x_10);
+return x_44;
}
}
else
{
-lean_object* x_50; lean_object* x_51;
+lean_object* x_45; lean_object* x_46;
lean_dec(x_30);
lean_dec(x_1);
-x_50 = l_Lean_Parser_Command_attribute___elambda__1___closed__2;
-x_51 = l_Lean_Parser_ParserState_mkNode(x_29, x_50, x_10);
-return x_51;
-}
-}
-block_71:
-{
-lean_object* x_54;
-x_54 = lean_ctor_get(x_53, 3);
-lean_inc(x_54);
-if (lean_obj_tag(x_54) == 0)
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57;
-x_55 = lean_ctor_get(x_53, 1);
-lean_inc(x_55);
-lean_inc(x_1);
-x_56 = l_Lean_Parser_tokenFn(x_1, x_53);
-x_57 = lean_ctor_get(x_56, 3);
-lean_inc(x_57);
-if (lean_obj_tag(x_57) == 0)
-{
-lean_object* x_58; lean_object* x_59;
-x_58 = lean_ctor_get(x_56, 0);
-lean_inc(x_58);
-x_59 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_58);
-lean_dec(x_58);
-if (lean_obj_tag(x_59) == 2)
-{
-lean_object* x_60; lean_object* x_61; uint8_t x_62;
-x_60 = lean_ctor_get(x_59, 1);
-lean_inc(x_60);
-lean_dec(x_59);
-x_61 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__5;
-x_62 = lean_string_dec_eq(x_60, x_61);
-lean_dec(x_60);
-if (x_62 == 0)
-{
-lean_object* x_63; lean_object* x_64;
-x_63 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-x_64 = l_Lean_Parser_ParserState_mkErrorsAt(x_56, x_63, x_55);
-x_29 = x_64;
-goto block_52;
-}
-else
-{
-lean_dec(x_55);
-x_29 = x_56;
-goto block_52;
+x_45 = l_Lean_Parser_Command_attribute___elambda__1___closed__2;
+x_46 = l_Lean_Parser_ParserState_mkNode(x_29, x_45, x_10);
+return x_46;
}
}
else
{
-lean_object* x_65; lean_object* x_66;
-lean_dec(x_59);
-x_65 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-x_66 = l_Lean_Parser_ParserState_mkErrorsAt(x_56, x_65, x_55);
-x_29 = x_66;
-goto block_52;
-}
-}
-else
-{
-lean_object* x_67; lean_object* x_68;
-lean_dec(x_57);
-x_67 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-x_68 = l_Lean_Parser_ParserState_mkErrorsAt(x_56, x_67, x_55);
-x_29 = x_68;
-goto block_52;
-}
-}
-else
-{
-lean_object* x_69; lean_object* x_70;
-lean_dec(x_54);
+lean_object* x_47; lean_object* x_48;
+lean_dec(x_26);
lean_dec(x_1);
-x_69 = l_Lean_Parser_Command_attribute___elambda__1___closed__2;
-x_70 = l_Lean_Parser_ParserState_mkNode(x_53, x_69, x_10);
-return x_70;
-}
-}
-block_90:
-{
-lean_object* x_73;
-x_73 = lean_ctor_get(x_72, 3);
-lean_inc(x_73);
-if (lean_obj_tag(x_73) == 0)
-{
-lean_object* x_74; lean_object* x_75; lean_object* x_76;
-x_74 = lean_ctor_get(x_72, 1);
-lean_inc(x_74);
-lean_inc(x_1);
-x_75 = l_Lean_Parser_tokenFn(x_1, x_72);
-x_76 = lean_ctor_get(x_75, 3);
-lean_inc(x_76);
-if (lean_obj_tag(x_76) == 0)
-{
-lean_object* x_77; lean_object* x_78;
-x_77 = lean_ctor_get(x_75, 0);
-lean_inc(x_77);
-x_78 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_77);
-lean_dec(x_77);
-if (lean_obj_tag(x_78) == 2)
-{
-lean_object* x_79; lean_object* x_80; uint8_t x_81;
-x_79 = lean_ctor_get(x_78, 1);
-lean_inc(x_79);
-lean_dec(x_78);
-x_80 = l_Lean_Parser_Command_attribute___elambda__1___closed__8;
-x_81 = lean_string_dec_eq(x_79, x_80);
-lean_dec(x_79);
-if (x_81 == 0)
-{
-lean_object* x_82; lean_object* x_83;
-x_82 = l_Lean_Parser_Command_attribute___elambda__1___closed__16;
-x_83 = l_Lean_Parser_ParserState_mkErrorsAt(x_75, x_82, x_74);
-x_53 = x_83;
-goto block_71;
-}
-else
-{
-lean_dec(x_74);
-x_53 = x_75;
-goto block_71;
+x_47 = l_Lean_Parser_Command_attribute___elambda__1___closed__2;
+x_48 = l_Lean_Parser_ParserState_mkNode(x_25, x_47, x_10);
+return x_48;
}
}
else
{
-lean_object* x_84; lean_object* x_85;
-lean_dec(x_78);
-x_84 = l_Lean_Parser_Command_attribute___elambda__1___closed__16;
-x_85 = l_Lean_Parser_ParserState_mkErrorsAt(x_75, x_84, x_74);
-x_53 = x_85;
-goto block_71;
-}
-}
-else
-{
-lean_object* x_86; lean_object* x_87;
-lean_dec(x_76);
-x_86 = l_Lean_Parser_Command_attribute___elambda__1___closed__16;
-x_87 = l_Lean_Parser_ParserState_mkErrorsAt(x_75, x_86, x_74);
-x_53 = x_87;
-goto block_71;
-}
-}
-else
-{
-lean_object* x_88; lean_object* x_89;
-lean_dec(x_73);
+lean_object* x_49; lean_object* x_50;
+lean_dec(x_21);
lean_dec(x_1);
-x_88 = l_Lean_Parser_Command_attribute___elambda__1___closed__2;
-x_89 = l_Lean_Parser_ParserState_mkNode(x_72, x_88, x_10);
-return x_89;
+x_49 = l_Lean_Parser_Command_attribute___elambda__1___closed__2;
+x_50 = l_Lean_Parser_ParserState_mkNode(x_20, x_49, x_10);
+return x_50;
}
}
-block_103:
-{
-lean_object* x_93;
-x_93 = lean_ctor_get(x_92, 3);
-lean_inc(x_93);
-if (lean_obj_tag(x_93) == 0)
-{
-lean_object* x_94; lean_object* x_95;
-lean_dec(x_91);
-x_94 = l_Lean_nullKind;
-lean_inc(x_10);
-x_95 = l_Lean_Parser_ParserState_mkNode(x_92, x_94, x_10);
-x_72 = x_95;
-goto block_90;
-}
else
{
-lean_object* x_96; uint8_t x_97;
-lean_dec(x_93);
-x_96 = lean_ctor_get(x_92, 1);
-lean_inc(x_96);
-x_97 = lean_nat_dec_eq(x_96, x_91);
-lean_dec(x_96);
-if (x_97 == 0)
-{
-lean_object* x_98; lean_object* x_99;
-lean_dec(x_91);
-x_98 = l_Lean_nullKind;
-lean_inc(x_10);
-x_99 = l_Lean_Parser_ParserState_mkNode(x_92, x_98, x_10);
-x_72 = x_99;
-goto block_90;
+lean_object* x_51; lean_object* x_52;
+lean_dec(x_17);
+lean_dec(x_1);
+x_51 = l_Lean_Parser_Command_attribute___elambda__1___closed__2;
+x_52 = l_Lean_Parser_ParserState_mkNode(x_16, x_51, x_10);
+return x_52;
+}
}
else
{
-lean_object* x_100; lean_object* x_101; lean_object* x_102;
-x_100 = l_Lean_Parser_ParserState_restore(x_92, x_10, x_91);
-x_101 = l_Lean_nullKind;
-lean_inc(x_10);
-x_102 = l_Lean_Parser_ParserState_mkNode(x_100, x_101, x_10);
-x_72 = x_102;
-goto block_90;
-}
-}
+lean_object* x_53; lean_object* x_54;
+lean_dec(x_13);
+lean_dec(x_1);
+x_53 = l_Lean_Parser_Command_attribute___elambda__1___closed__2;
+x_54 = l_Lean_Parser_ParserState_mkNode(x_12, x_53, x_10);
+return x_54;
}
}
else
@@ -42894,487 +27890,11 @@ return x_7;
}
else
{
-lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121;
-x_117 = lean_ctor_get(x_2, 0);
-lean_inc(x_117);
-x_118 = lean_array_get_size(x_117);
-lean_dec(x_117);
-x_119 = lean_ctor_get(x_2, 1);
-lean_inc(x_119);
-lean_inc(x_1);
-x_120 = lean_apply_2(x_4, x_1, x_2);
-x_121 = lean_ctor_get(x_120, 3);
-lean_inc(x_121);
-if (lean_obj_tag(x_121) == 0)
-{
-lean_dec(x_119);
-lean_dec(x_118);
-lean_dec(x_1);
-return x_120;
-}
-else
-{
-lean_object* x_122; lean_object* x_123; uint8_t x_124;
-x_122 = lean_ctor_get(x_121, 0);
-lean_inc(x_122);
-lean_dec(x_121);
-x_123 = lean_ctor_get(x_120, 1);
-lean_inc(x_123);
-x_124 = lean_nat_dec_eq(x_123, x_119);
-lean_dec(x_123);
-if (x_124 == 0)
-{
-lean_dec(x_122);
-lean_dec(x_119);
-lean_dec(x_118);
-lean_dec(x_1);
-return x_120;
-}
-else
-{
-lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128;
-lean_inc(x_119);
-x_125 = l_Lean_Parser_ParserState_restore(x_120, x_118, x_119);
-lean_dec(x_118);
-x_126 = lean_unsigned_to_nat(1024u);
-x_127 = l_Lean_Parser_checkPrecFn(x_126, x_1, x_125);
-x_128 = lean_ctor_get(x_127, 3);
-lean_inc(x_128);
-if (lean_obj_tag(x_128) == 0)
-{
-lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_155; lean_object* x_183; lean_object* x_204; lean_object* x_225; lean_object* x_226; lean_object* x_238; lean_object* x_239;
-x_129 = lean_ctor_get(x_127, 0);
-lean_inc(x_129);
-x_130 = lean_array_get_size(x_129);
-lean_dec(x_129);
-x_225 = lean_ctor_get(x_127, 1);
-lean_inc(x_225);
-lean_inc(x_1);
-x_238 = l_Lean_Parser_tokenFn(x_1, x_127);
-x_239 = lean_ctor_get(x_238, 3);
-lean_inc(x_239);
-if (lean_obj_tag(x_239) == 0)
-{
-lean_object* x_240; lean_object* x_241;
-x_240 = lean_ctor_get(x_238, 0);
-lean_inc(x_240);
-x_241 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_240);
-lean_dec(x_240);
-if (lean_obj_tag(x_241) == 2)
-{
-lean_object* x_242; lean_object* x_243; uint8_t x_244;
-x_242 = lean_ctor_get(x_241, 1);
-lean_inc(x_242);
-lean_dec(x_241);
-x_243 = l_Lean_Parser_Command_attribute___elambda__1___closed__6;
-x_244 = lean_string_dec_eq(x_242, x_243);
-lean_dec(x_242);
-if (x_244 == 0)
-{
-lean_object* x_245; lean_object* x_246;
-x_245 = l_Lean_Parser_Command_attribute___elambda__1___closed__19;
-lean_inc(x_225);
-x_246 = l_Lean_Parser_ParserState_mkErrorsAt(x_238, x_245, x_225);
-x_226 = x_246;
-goto block_237;
-}
-else
-{
-x_226 = x_238;
-goto block_237;
-}
-}
-else
-{
-lean_object* x_247; lean_object* x_248;
-lean_dec(x_241);
-x_247 = l_Lean_Parser_Command_attribute___elambda__1___closed__19;
-lean_inc(x_225);
-x_248 = l_Lean_Parser_ParserState_mkErrorsAt(x_238, x_247, x_225);
-x_226 = x_248;
-goto block_237;
-}
-}
-else
-{
-lean_object* x_249; lean_object* x_250;
-lean_dec(x_239);
-x_249 = l_Lean_Parser_Command_attribute___elambda__1___closed__19;
-lean_inc(x_225);
-x_250 = l_Lean_Parser_ParserState_mkErrorsAt(x_238, x_249, x_225);
-x_226 = x_250;
-goto block_237;
-}
-block_154:
-{
-lean_object* x_132;
-x_132 = lean_ctor_get(x_131, 3);
-lean_inc(x_132);
-if (lean_obj_tag(x_132) == 0)
-{
-lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136;
-x_133 = lean_ctor_get(x_131, 0);
-lean_inc(x_133);
-x_134 = lean_array_get_size(x_133);
-lean_dec(x_133);
-lean_inc(x_1);
-x_135 = l_Lean_Parser_ident___elambda__1(x_1, x_131);
-x_136 = lean_ctor_get(x_135, 3);
-lean_inc(x_136);
-if (lean_obj_tag(x_136) == 0)
-{
-lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; uint8_t x_142; lean_object* x_143;
-x_137 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_structExplicitBinder___elambda__1___spec__1(x_1, x_135);
-x_138 = l_Lean_nullKind;
-x_139 = l_Lean_Parser_ParserState_mkNode(x_137, x_138, x_134);
-x_140 = l_Lean_Parser_Command_attribute___elambda__1___closed__2;
-x_141 = l_Lean_Parser_ParserState_mkNode(x_139, x_140, x_130);
-x_142 = 1;
-x_143 = l_Lean_Parser_mergeOrElseErrors(x_141, x_122, x_119, x_142);
-lean_dec(x_119);
-return x_143;
-}
-else
-{
-lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; uint8_t x_148; lean_object* x_149;
-lean_dec(x_136);
-lean_dec(x_1);
-x_144 = l_Lean_nullKind;
-x_145 = l_Lean_Parser_ParserState_mkNode(x_135, x_144, x_134);
-x_146 = l_Lean_Parser_Command_attribute___elambda__1___closed__2;
-x_147 = l_Lean_Parser_ParserState_mkNode(x_145, x_146, x_130);
-x_148 = 1;
-x_149 = l_Lean_Parser_mergeOrElseErrors(x_147, x_122, x_119, x_148);
-lean_dec(x_119);
-return x_149;
-}
-}
-else
-{
-lean_object* x_150; lean_object* x_151; uint8_t x_152; lean_object* x_153;
-lean_dec(x_132);
-lean_dec(x_1);
-x_150 = l_Lean_Parser_Command_attribute___elambda__1___closed__2;
-x_151 = l_Lean_Parser_ParserState_mkNode(x_131, x_150, x_130);
-x_152 = 1;
-x_153 = l_Lean_Parser_mergeOrElseErrors(x_151, x_122, x_119, x_152);
-lean_dec(x_119);
-return x_153;
-}
-}
-block_182:
-{
-lean_object* x_156;
-x_156 = lean_ctor_get(x_155, 3);
-lean_inc(x_156);
-if (lean_obj_tag(x_156) == 0)
-{
-uint8_t x_157; lean_object* x_158; lean_object* x_159;
-x_157 = 0;
-lean_inc(x_1);
-x_158 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_attributes___elambda__1___spec__1(x_157, x_1, x_155);
-x_159 = lean_ctor_get(x_158, 3);
-lean_inc(x_159);
-if (lean_obj_tag(x_159) == 0)
-{
-lean_object* x_160; lean_object* x_161; lean_object* x_162;
-x_160 = lean_ctor_get(x_158, 1);
-lean_inc(x_160);
-lean_inc(x_1);
-x_161 = l_Lean_Parser_tokenFn(x_1, x_158);
-x_162 = lean_ctor_get(x_161, 3);
-lean_inc(x_162);
-if (lean_obj_tag(x_162) == 0)
-{
-lean_object* x_163; lean_object* x_164;
-x_163 = lean_ctor_get(x_161, 0);
-lean_inc(x_163);
-x_164 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_163);
-lean_dec(x_163);
-if (lean_obj_tag(x_164) == 2)
-{
-lean_object* x_165; lean_object* x_166; uint8_t x_167;
-x_165 = lean_ctor_get(x_164, 1);
-lean_inc(x_165);
-lean_dec(x_164);
-x_166 = l_Lean_Parser_Command_attribute___elambda__1___closed__10;
-x_167 = lean_string_dec_eq(x_165, x_166);
-lean_dec(x_165);
-if (x_167 == 0)
-{
-lean_object* x_168; lean_object* x_169;
-x_168 = l_Lean_Parser_Command_attribute___elambda__1___closed__13;
-x_169 = l_Lean_Parser_ParserState_mkErrorsAt(x_161, x_168, x_160);
-x_131 = x_169;
-goto block_154;
-}
-else
-{
-lean_dec(x_160);
-x_131 = x_161;
-goto block_154;
-}
-}
-else
-{
-lean_object* x_170; lean_object* x_171;
-lean_dec(x_164);
-x_170 = l_Lean_Parser_Command_attribute___elambda__1___closed__13;
-x_171 = l_Lean_Parser_ParserState_mkErrorsAt(x_161, x_170, x_160);
-x_131 = x_171;
-goto block_154;
-}
-}
-else
-{
-lean_object* x_172; lean_object* x_173;
-lean_dec(x_162);
-x_172 = l_Lean_Parser_Command_attribute___elambda__1___closed__13;
-x_173 = l_Lean_Parser_ParserState_mkErrorsAt(x_161, x_172, x_160);
-x_131 = x_173;
-goto block_154;
-}
-}
-else
-{
-lean_object* x_174; lean_object* x_175; uint8_t x_176; lean_object* x_177;
-lean_dec(x_159);
-lean_dec(x_1);
-x_174 = l_Lean_Parser_Command_attribute___elambda__1___closed__2;
-x_175 = l_Lean_Parser_ParserState_mkNode(x_158, x_174, x_130);
-x_176 = 1;
-x_177 = l_Lean_Parser_mergeOrElseErrors(x_175, x_122, x_119, x_176);
-lean_dec(x_119);
-return x_177;
-}
-}
-else
-{
-lean_object* x_178; lean_object* x_179; uint8_t x_180; lean_object* x_181;
-lean_dec(x_156);
-lean_dec(x_1);
-x_178 = l_Lean_Parser_Command_attribute___elambda__1___closed__2;
-x_179 = l_Lean_Parser_ParserState_mkNode(x_155, x_178, x_130);
-x_180 = 1;
-x_181 = l_Lean_Parser_mergeOrElseErrors(x_179, x_122, x_119, x_180);
-lean_dec(x_119);
-return x_181;
-}
-}
-block_203:
-{
-lean_object* x_184;
-x_184 = lean_ctor_get(x_183, 3);
-lean_inc(x_184);
-if (lean_obj_tag(x_184) == 0)
-{
-lean_object* x_185; lean_object* x_186; lean_object* x_187;
-x_185 = lean_ctor_get(x_183, 1);
-lean_inc(x_185);
-lean_inc(x_1);
-x_186 = l_Lean_Parser_tokenFn(x_1, x_183);
-x_187 = lean_ctor_get(x_186, 3);
-lean_inc(x_187);
-if (lean_obj_tag(x_187) == 0)
-{
-lean_object* x_188; lean_object* x_189;
-x_188 = lean_ctor_get(x_186, 0);
-lean_inc(x_188);
-x_189 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_188);
-lean_dec(x_188);
-if (lean_obj_tag(x_189) == 2)
-{
-lean_object* x_190; lean_object* x_191; uint8_t x_192;
-x_190 = lean_ctor_get(x_189, 1);
-lean_inc(x_190);
-lean_dec(x_189);
-x_191 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__5;
-x_192 = lean_string_dec_eq(x_190, x_191);
-lean_dec(x_190);
-if (x_192 == 0)
-{
-lean_object* x_193; lean_object* x_194;
-x_193 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-x_194 = l_Lean_Parser_ParserState_mkErrorsAt(x_186, x_193, x_185);
-x_155 = x_194;
-goto block_182;
-}
-else
-{
-lean_dec(x_185);
-x_155 = x_186;
-goto block_182;
-}
-}
-else
-{
-lean_object* x_195; lean_object* x_196;
-lean_dec(x_189);
-x_195 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-x_196 = l_Lean_Parser_ParserState_mkErrorsAt(x_186, x_195, x_185);
-x_155 = x_196;
-goto block_182;
-}
-}
-else
-{
-lean_object* x_197; lean_object* x_198;
-lean_dec(x_187);
-x_197 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-x_198 = l_Lean_Parser_ParserState_mkErrorsAt(x_186, x_197, x_185);
-x_155 = x_198;
-goto block_182;
-}
-}
-else
-{
-lean_object* x_199; lean_object* x_200; uint8_t x_201; lean_object* x_202;
-lean_dec(x_184);
-lean_dec(x_1);
-x_199 = l_Lean_Parser_Command_attribute___elambda__1___closed__2;
-x_200 = l_Lean_Parser_ParserState_mkNode(x_183, x_199, x_130);
-x_201 = 1;
-x_202 = l_Lean_Parser_mergeOrElseErrors(x_200, x_122, x_119, x_201);
-lean_dec(x_119);
-return x_202;
-}
-}
-block_224:
-{
-lean_object* x_205;
-x_205 = lean_ctor_get(x_204, 3);
-lean_inc(x_205);
-if (lean_obj_tag(x_205) == 0)
-{
-lean_object* x_206; lean_object* x_207; lean_object* x_208;
-x_206 = lean_ctor_get(x_204, 1);
-lean_inc(x_206);
-lean_inc(x_1);
-x_207 = l_Lean_Parser_tokenFn(x_1, x_204);
-x_208 = lean_ctor_get(x_207, 3);
-lean_inc(x_208);
-if (lean_obj_tag(x_208) == 0)
-{
-lean_object* x_209; lean_object* x_210;
-x_209 = lean_ctor_get(x_207, 0);
-lean_inc(x_209);
-x_210 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_209);
-lean_dec(x_209);
-if (lean_obj_tag(x_210) == 2)
-{
-lean_object* x_211; lean_object* x_212; uint8_t x_213;
-x_211 = lean_ctor_get(x_210, 1);
-lean_inc(x_211);
-lean_dec(x_210);
-x_212 = l_Lean_Parser_Command_attribute___elambda__1___closed__8;
-x_213 = lean_string_dec_eq(x_211, x_212);
-lean_dec(x_211);
-if (x_213 == 0)
-{
-lean_object* x_214; lean_object* x_215;
-x_214 = l_Lean_Parser_Command_attribute___elambda__1___closed__16;
-x_215 = l_Lean_Parser_ParserState_mkErrorsAt(x_207, x_214, x_206);
-x_183 = x_215;
-goto block_203;
-}
-else
-{
-lean_dec(x_206);
-x_183 = x_207;
-goto block_203;
-}
-}
-else
-{
-lean_object* x_216; lean_object* x_217;
-lean_dec(x_210);
-x_216 = l_Lean_Parser_Command_attribute___elambda__1___closed__16;
-x_217 = l_Lean_Parser_ParserState_mkErrorsAt(x_207, x_216, x_206);
-x_183 = x_217;
-goto block_203;
-}
-}
-else
-{
-lean_object* x_218; lean_object* x_219;
-lean_dec(x_208);
-x_218 = l_Lean_Parser_Command_attribute___elambda__1___closed__16;
-x_219 = l_Lean_Parser_ParserState_mkErrorsAt(x_207, x_218, x_206);
-x_183 = x_219;
-goto block_203;
-}
-}
-else
-{
-lean_object* x_220; lean_object* x_221; uint8_t x_222; lean_object* x_223;
-lean_dec(x_205);
-lean_dec(x_1);
-x_220 = l_Lean_Parser_Command_attribute___elambda__1___closed__2;
-x_221 = l_Lean_Parser_ParserState_mkNode(x_204, x_220, x_130);
-x_222 = 1;
-x_223 = l_Lean_Parser_mergeOrElseErrors(x_221, x_122, x_119, x_222);
-lean_dec(x_119);
-return x_223;
-}
-}
-block_237:
-{
-lean_object* x_227;
-x_227 = lean_ctor_get(x_226, 3);
-lean_inc(x_227);
-if (lean_obj_tag(x_227) == 0)
-{
-lean_object* x_228; lean_object* x_229;
-lean_dec(x_225);
-x_228 = l_Lean_nullKind;
-lean_inc(x_130);
-x_229 = l_Lean_Parser_ParserState_mkNode(x_226, x_228, x_130);
-x_204 = x_229;
-goto block_224;
-}
-else
-{
-lean_object* x_230; uint8_t x_231;
-lean_dec(x_227);
-x_230 = lean_ctor_get(x_226, 1);
-lean_inc(x_230);
-x_231 = lean_nat_dec_eq(x_230, x_225);
-lean_dec(x_230);
-if (x_231 == 0)
-{
-lean_object* x_232; lean_object* x_233;
-lean_dec(x_225);
-x_232 = l_Lean_nullKind;
-lean_inc(x_130);
-x_233 = l_Lean_Parser_ParserState_mkNode(x_226, x_232, x_130);
-x_204 = x_233;
-goto block_224;
-}
-else
-{
-lean_object* x_234; lean_object* x_235; lean_object* x_236;
-x_234 = l_Lean_Parser_ParserState_restore(x_226, x_130, x_225);
-x_235 = l_Lean_nullKind;
-lean_inc(x_130);
-x_236 = l_Lean_Parser_ParserState_mkNode(x_234, x_235, x_130);
-x_204 = x_236;
-goto block_224;
-}
-}
-}
-}
-else
-{
-uint8_t x_251; lean_object* x_252;
-lean_dec(x_128);
-lean_dec(x_1);
-x_251 = 1;
-x_252 = l_Lean_Parser_mergeOrElseErrors(x_127, x_122, x_119, x_251);
-lean_dec(x_119);
-return x_252;
-}
-}
-}
+lean_object* x_55; uint8_t x_56; lean_object* x_57;
+x_55 = l_Lean_Parser_Command_attribute___elambda__1___closed__21;
+x_56 = 1;
+x_57 = l_Lean_Parser_orelseFnCore(x_4, x_55, x_56, x_1, x_2);
+return x_57;
}
}
}
@@ -43400,7 +27920,7 @@ static lean_object* _init_l_Lean_Parser_Command_attribute___closed__3() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Command_attribute___elambda__1___closed__8;
+x_1 = l_Lean_Parser_Command_attribute___elambda__1___closed__10;
x_2 = l_Lean_Parser_symbolInfo(x_1);
return x_2;
}
@@ -43409,7 +27929,7 @@ static lean_object* _init_l_Lean_Parser_Command_attribute___closed__4() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Command_attribute___elambda__1___closed__10;
+x_1 = l_Lean_Parser_Command_attribute___elambda__1___closed__13;
x_2 = l_Lean_Parser_symbolInfo(x_1);
return x_2;
}
@@ -43578,7 +28098,7 @@ static lean_object* _init_l_Lean_Parser_Command_attribute_formatter___closed__4(
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Command_attribute___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Command_attribute___elambda__1___closed__9;
x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_symbol_formatter___boxed), 6, 1);
lean_closure_set(x_2, 0, x_1);
return x_2;
@@ -43588,7 +28108,7 @@ static lean_object* _init_l_Lean_Parser_Command_attribute_formatter___closed__5(
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Command_attribute___elambda__1___closed__9;
+x_1 = l_Lean_Parser_Command_attribute___elambda__1___closed__12;
x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_symbol_formatter___boxed), 6, 1);
lean_closure_set(x_2, 0, x_1);
return x_2;
@@ -43860,20 +28380,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_export___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_export___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_export___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_export___elambda__1___closed__8() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Command_export___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Level_paren___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -43881,11 +28403,79 @@ static lean_object* _init_l_Lean_Parser_Command_export___elambda__1___closed__9(
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__3;
x_2 = l_Lean_Parser_Command_export___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_export___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_ident___closed__2;
+x_2 = l_Lean_Parser_Command_export___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_export___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_export___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Command_export___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_export___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_export___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_export___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_export___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_export___elambda__1___closed__12;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_export___elambda__1___closed__14() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Command_export___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_export___elambda__1___closed__15() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_export___elambda__1___closed__14;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -43909,282 +28499,117 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_38; lean_object* x_52; lean_object* x_75; lean_object* x_76; lean_object* x_77;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_75 = lean_ctor_get(x_7, 1);
-lean_inc(x_75);
+x_21 = l_Lean_Parser_Command_export___elambda__1___closed__6;
+x_22 = l_Lean_Parser_Command_export___elambda__1___closed__15;
lean_inc(x_1);
-x_76 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_77 = lean_ctor_get(x_76, 3);
-lean_inc(x_77);
-if (lean_obj_tag(x_77) == 0)
+x_23 = l_Lean_Parser_symbolFnAux(x_21, x_22, x_1, x_7);
+x_24 = lean_ctor_get(x_23, 3);
+lean_inc(x_24);
+if (lean_obj_tag(x_24) == 0)
{
-lean_object* x_78; lean_object* x_79;
-x_78 = lean_ctor_get(x_76, 0);
-lean_inc(x_78);
-x_79 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_78);
-lean_dec(x_78);
-if (lean_obj_tag(x_79) == 2)
+lean_object* x_25; lean_object* x_26;
+lean_inc(x_1);
+x_25 = l_Lean_Parser_ident___elambda__1(x_1, x_23);
+x_26 = lean_ctor_get(x_25, 3);
+lean_inc(x_26);
+if (lean_obj_tag(x_26) == 0)
{
-lean_object* x_80; lean_object* x_81; uint8_t x_82;
-x_80 = lean_ctor_get(x_79, 1);
-lean_inc(x_80);
-lean_dec(x_79);
-x_81 = l_Lean_Parser_Command_export___elambda__1___closed__6;
-x_82 = lean_string_dec_eq(x_80, x_81);
-lean_dec(x_80);
-if (x_82 == 0)
+lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30;
+x_27 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__3;
+x_28 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__7;
+lean_inc(x_1);
+x_29 = l_Lean_Parser_symbolFnAux(x_27, x_28, x_1, x_25);
+x_30 = lean_ctor_get(x_29, 3);
+lean_inc(x_30);
+if (lean_obj_tag(x_30) == 0)
{
-lean_object* x_83; lean_object* x_84;
-x_83 = l_Lean_Parser_Command_export___elambda__1___closed__9;
-x_84 = l_Lean_Parser_ParserState_mkErrorsAt(x_76, x_83, x_75);
-x_52 = x_84;
-goto block_74;
+lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34;
+x_31 = lean_ctor_get(x_29, 0);
+lean_inc(x_31);
+x_32 = lean_array_get_size(x_31);
+lean_dec(x_31);
+lean_inc(x_1);
+x_33 = l_Lean_Parser_ident___elambda__1(x_1, x_29);
+x_34 = lean_ctor_get(x_33, 3);
+lean_inc(x_34);
+if (lean_obj_tag(x_34) == 0)
+{
+lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38;
+x_35 = l_Lean_Parser_ident___closed__2;
+lean_inc(x_1);
+x_36 = l_Lean_Parser_manyAux(x_35, x_1, x_33);
+x_37 = l_Lean_nullKind;
+x_38 = l_Lean_Parser_ParserState_mkNode(x_36, x_37, x_32);
+x_11 = x_38;
+goto block_20;
}
else
{
-lean_dec(x_75);
-x_52 = x_76;
-goto block_74;
+lean_object* x_39; lean_object* x_40;
+lean_dec(x_34);
+x_39 = l_Lean_nullKind;
+x_40 = l_Lean_Parser_ParserState_mkNode(x_33, x_39, x_32);
+x_11 = x_40;
+goto block_20;
}
}
else
{
-lean_object* x_85; lean_object* x_86;
-lean_dec(x_79);
-x_85 = l_Lean_Parser_Command_export___elambda__1___closed__9;
-x_86 = l_Lean_Parser_ParserState_mkErrorsAt(x_76, x_85, x_75);
-x_52 = x_86;
-goto block_74;
+lean_object* x_41; lean_object* x_42;
+lean_dec(x_30);
+lean_dec(x_1);
+x_41 = l_Lean_Parser_Command_export___elambda__1___closed__2;
+x_42 = l_Lean_Parser_ParserState_mkNode(x_29, x_41, x_10);
+return x_42;
}
}
else
{
-lean_object* x_87; lean_object* x_88;
-lean_dec(x_77);
-x_87 = l_Lean_Parser_Command_export___elambda__1___closed__9;
-x_88 = l_Lean_Parser_ParserState_mkErrorsAt(x_76, x_87, x_75);
-x_52 = x_88;
-goto block_74;
+lean_object* x_43; lean_object* x_44;
+lean_dec(x_26);
+lean_dec(x_1);
+x_43 = l_Lean_Parser_Command_export___elambda__1___closed__2;
+x_44 = l_Lean_Parser_ParserState_mkNode(x_25, x_43, x_10);
+return x_44;
}
-block_37:
+}
+else
+{
+lean_object* x_45; lean_object* x_46;
+lean_dec(x_24);
+lean_dec(x_1);
+x_45 = l_Lean_Parser_Command_export___elambda__1___closed__2;
+x_46 = l_Lean_Parser_ParserState_mkNode(x_23, x_45, x_10);
+return x_46;
+}
+block_20:
{
lean_object* x_12;
x_12 = lean_ctor_get(x_11, 3);
lean_inc(x_12);
if (lean_obj_tag(x_12) == 0)
{
-lean_object* x_13; lean_object* x_14; lean_object* x_15;
-x_13 = lean_ctor_get(x_11, 1);
-lean_inc(x_13);
-x_14 = l_Lean_Parser_tokenFn(x_1, x_11);
-x_15 = lean_ctor_get(x_14, 3);
-lean_inc(x_15);
-if (lean_obj_tag(x_15) == 0)
-{
-lean_object* x_16; lean_object* x_17;
-x_16 = lean_ctor_get(x_14, 0);
-lean_inc(x_16);
-x_17 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_16);
-lean_dec(x_16);
-if (lean_obj_tag(x_17) == 2)
-{
-lean_object* x_18; lean_object* x_19; uint8_t x_20;
-x_18 = lean_ctor_get(x_17, 1);
-lean_inc(x_18);
-lean_dec(x_17);
-x_19 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
-x_20 = lean_string_dec_eq(x_18, x_19);
-lean_dec(x_18);
-if (x_20 == 0)
-{
-lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
-x_21 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_22 = l_Lean_Parser_ParserState_mkErrorsAt(x_14, x_21, x_13);
-x_23 = l_Lean_Parser_Command_export___elambda__1___closed__2;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_22, x_23, x_10);
-return x_24;
+lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
+x_13 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
+x_14 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__9;
+x_15 = l_Lean_Parser_symbolFnAux(x_13, x_14, x_1, x_11);
+x_16 = l_Lean_Parser_Command_export___elambda__1___closed__2;
+x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_10);
+return x_17;
}
else
{
-lean_object* x_25; lean_object* x_26;
-lean_dec(x_13);
-x_25 = l_Lean_Parser_Command_export___elambda__1___closed__2;
-x_26 = l_Lean_Parser_ParserState_mkNode(x_14, x_25, x_10);
-return x_26;
-}
-}
-else
-{
-lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30;
-lean_dec(x_17);
-x_27 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_28 = l_Lean_Parser_ParserState_mkErrorsAt(x_14, x_27, x_13);
-x_29 = l_Lean_Parser_Command_export___elambda__1___closed__2;
-x_30 = l_Lean_Parser_ParserState_mkNode(x_28, x_29, x_10);
-return x_30;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34;
-lean_dec(x_15);
-x_31 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_14, x_31, x_13);
-x_33 = l_Lean_Parser_Command_export___elambda__1___closed__2;
-x_34 = l_Lean_Parser_ParserState_mkNode(x_32, x_33, x_10);
-return x_34;
-}
-}
-else
-{
-lean_object* x_35; lean_object* x_36;
+lean_object* x_18; lean_object* x_19;
lean_dec(x_12);
lean_dec(x_1);
-x_35 = l_Lean_Parser_Command_export___elambda__1___closed__2;
-x_36 = l_Lean_Parser_ParserState_mkNode(x_11, x_35, x_10);
-return x_36;
-}
-}
-block_51:
-{
-lean_object* x_39;
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43;
-x_40 = lean_ctor_get(x_38, 0);
-lean_inc(x_40);
-x_41 = lean_array_get_size(x_40);
-lean_dec(x_40);
-lean_inc(x_1);
-x_42 = l_Lean_Parser_ident___elambda__1(x_1, x_38);
-x_43 = lean_ctor_get(x_42, 3);
-lean_inc(x_43);
-if (lean_obj_tag(x_43) == 0)
-{
-lean_object* x_44; lean_object* x_45; lean_object* x_46;
-lean_inc(x_1);
-x_44 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_structExplicitBinder___elambda__1___spec__1(x_1, x_42);
-x_45 = l_Lean_nullKind;
-x_46 = l_Lean_Parser_ParserState_mkNode(x_44, x_45, x_41);
-x_11 = x_46;
-goto block_37;
-}
-else
-{
-lean_object* x_47; lean_object* x_48;
-lean_dec(x_43);
-x_47 = l_Lean_nullKind;
-x_48 = l_Lean_Parser_ParserState_mkNode(x_42, x_47, x_41);
-x_11 = x_48;
-goto block_37;
-}
-}
-else
-{
-lean_object* x_49; lean_object* x_50;
-lean_dec(x_39);
-lean_dec(x_1);
-x_49 = l_Lean_Parser_Command_export___elambda__1___closed__2;
-x_50 = l_Lean_Parser_ParserState_mkNode(x_38, x_49, x_10);
-return x_50;
-}
-}
-block_74:
-{
-lean_object* x_53;
-x_53 = lean_ctor_get(x_52, 3);
-lean_inc(x_53);
-if (lean_obj_tag(x_53) == 0)
-{
-lean_object* x_54; lean_object* x_55;
-lean_inc(x_1);
-x_54 = l_Lean_Parser_ident___elambda__1(x_1, x_52);
-x_55 = lean_ctor_get(x_54, 3);
-lean_inc(x_55);
-if (lean_obj_tag(x_55) == 0)
-{
-lean_object* x_56; lean_object* x_57; lean_object* x_58;
-x_56 = lean_ctor_get(x_54, 1);
-lean_inc(x_56);
-lean_inc(x_1);
-x_57 = l_Lean_Parser_tokenFn(x_1, x_54);
-x_58 = lean_ctor_get(x_57, 3);
-lean_inc(x_58);
-if (lean_obj_tag(x_58) == 0)
-{
-lean_object* x_59; lean_object* x_60;
-x_59 = lean_ctor_get(x_57, 0);
-lean_inc(x_59);
-x_60 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_59);
-lean_dec(x_59);
-if (lean_obj_tag(x_60) == 2)
-{
-lean_object* x_61; lean_object* x_62; uint8_t x_63;
-x_61 = lean_ctor_get(x_60, 1);
-lean_inc(x_61);
-lean_dec(x_60);
-x_62 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__3;
-x_63 = lean_string_dec_eq(x_61, x_62);
-lean_dec(x_61);
-if (x_63 == 0)
-{
-lean_object* x_64; lean_object* x_65;
-x_64 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-x_65 = l_Lean_Parser_ParserState_mkErrorsAt(x_57, x_64, x_56);
-x_38 = x_65;
-goto block_51;
-}
-else
-{
-lean_dec(x_56);
-x_38 = x_57;
-goto block_51;
-}
-}
-else
-{
-lean_object* x_66; lean_object* x_67;
-lean_dec(x_60);
-x_66 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-x_67 = l_Lean_Parser_ParserState_mkErrorsAt(x_57, x_66, x_56);
-x_38 = x_67;
-goto block_51;
-}
-}
-else
-{
-lean_object* x_68; lean_object* x_69;
-lean_dec(x_58);
-x_68 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-x_69 = l_Lean_Parser_ParserState_mkErrorsAt(x_57, x_68, x_56);
-x_38 = x_69;
-goto block_51;
-}
-}
-else
-{
-lean_object* x_70; lean_object* x_71;
-lean_dec(x_55);
-lean_dec(x_1);
-x_70 = l_Lean_Parser_Command_export___elambda__1___closed__2;
-x_71 = l_Lean_Parser_ParserState_mkNode(x_54, x_70, x_10);
-return x_71;
-}
-}
-else
-{
-lean_object* x_72; lean_object* x_73;
-lean_dec(x_53);
-lean_dec(x_1);
-x_72 = l_Lean_Parser_Command_export___elambda__1___closed__2;
-x_73 = l_Lean_Parser_ParserState_mkNode(x_52, x_72, x_10);
-return x_73;
+x_18 = l_Lean_Parser_Command_export___elambda__1___closed__2;
+x_19 = l_Lean_Parser_ParserState_mkNode(x_11, x_18, x_10);
+return x_19;
}
}
}
@@ -44197,369 +28622,11 @@ return x_7;
}
else
{
-lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93;
-x_89 = lean_ctor_get(x_2, 0);
-lean_inc(x_89);
-x_90 = lean_array_get_size(x_89);
-lean_dec(x_89);
-x_91 = lean_ctor_get(x_2, 1);
-lean_inc(x_91);
-lean_inc(x_1);
-x_92 = lean_apply_2(x_4, x_1, x_2);
-x_93 = lean_ctor_get(x_92, 3);
-lean_inc(x_93);
-if (lean_obj_tag(x_93) == 0)
-{
-lean_dec(x_91);
-lean_dec(x_90);
-lean_dec(x_1);
-return x_92;
-}
-else
-{
-lean_object* x_94; lean_object* x_95; uint8_t x_96;
-x_94 = lean_ctor_get(x_93, 0);
-lean_inc(x_94);
-lean_dec(x_93);
-x_95 = lean_ctor_get(x_92, 1);
-lean_inc(x_95);
-x_96 = lean_nat_dec_eq(x_95, x_91);
-lean_dec(x_95);
-if (x_96 == 0)
-{
-lean_dec(x_94);
-lean_dec(x_91);
-lean_dec(x_90);
-lean_dec(x_1);
-return x_92;
-}
-else
-{
-lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100;
-lean_inc(x_91);
-x_97 = l_Lean_Parser_ParserState_restore(x_92, x_90, x_91);
-lean_dec(x_90);
-x_98 = lean_unsigned_to_nat(1024u);
-x_99 = l_Lean_Parser_checkPrecFn(x_98, x_1, x_97);
-x_100 = lean_ctor_get(x_99, 3);
-lean_inc(x_100);
-if (lean_obj_tag(x_100) == 0)
-{
-lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_140; lean_object* x_156; lean_object* x_183; lean_object* x_184; lean_object* x_185;
-x_101 = lean_ctor_get(x_99, 0);
-lean_inc(x_101);
-x_102 = lean_array_get_size(x_101);
-lean_dec(x_101);
-x_183 = lean_ctor_get(x_99, 1);
-lean_inc(x_183);
-lean_inc(x_1);
-x_184 = l_Lean_Parser_tokenFn(x_1, x_99);
-x_185 = lean_ctor_get(x_184, 3);
-lean_inc(x_185);
-if (lean_obj_tag(x_185) == 0)
-{
-lean_object* x_186; lean_object* x_187;
-x_186 = lean_ctor_get(x_184, 0);
-lean_inc(x_186);
-x_187 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_186);
-lean_dec(x_186);
-if (lean_obj_tag(x_187) == 2)
-{
-lean_object* x_188; lean_object* x_189; uint8_t x_190;
-x_188 = lean_ctor_get(x_187, 1);
-lean_inc(x_188);
-lean_dec(x_187);
-x_189 = l_Lean_Parser_Command_export___elambda__1___closed__6;
-x_190 = lean_string_dec_eq(x_188, x_189);
-lean_dec(x_188);
-if (x_190 == 0)
-{
-lean_object* x_191; lean_object* x_192;
-x_191 = l_Lean_Parser_Command_export___elambda__1___closed__9;
-x_192 = l_Lean_Parser_ParserState_mkErrorsAt(x_184, x_191, x_183);
-x_156 = x_192;
-goto block_182;
-}
-else
-{
-lean_dec(x_183);
-x_156 = x_184;
-goto block_182;
-}
-}
-else
-{
-lean_object* x_193; lean_object* x_194;
-lean_dec(x_187);
-x_193 = l_Lean_Parser_Command_export___elambda__1___closed__9;
-x_194 = l_Lean_Parser_ParserState_mkErrorsAt(x_184, x_193, x_183);
-x_156 = x_194;
-goto block_182;
-}
-}
-else
-{
-lean_object* x_195; lean_object* x_196;
-lean_dec(x_185);
-x_195 = l_Lean_Parser_Command_export___elambda__1___closed__9;
-x_196 = l_Lean_Parser_ParserState_mkErrorsAt(x_184, x_195, x_183);
-x_156 = x_196;
-goto block_182;
-}
-block_139:
-{
-lean_object* x_104;
-x_104 = lean_ctor_get(x_103, 3);
-lean_inc(x_104);
-if (lean_obj_tag(x_104) == 0)
-{
-lean_object* x_105; lean_object* x_106; lean_object* x_107;
-x_105 = lean_ctor_get(x_103, 1);
-lean_inc(x_105);
-x_106 = l_Lean_Parser_tokenFn(x_1, x_103);
-x_107 = lean_ctor_get(x_106, 3);
-lean_inc(x_107);
-if (lean_obj_tag(x_107) == 0)
-{
-lean_object* x_108; lean_object* x_109;
-x_108 = lean_ctor_get(x_106, 0);
-lean_inc(x_108);
-x_109 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_108);
-lean_dec(x_108);
-if (lean_obj_tag(x_109) == 2)
-{
-lean_object* x_110; lean_object* x_111; uint8_t x_112;
-x_110 = lean_ctor_get(x_109, 1);
-lean_inc(x_110);
-lean_dec(x_109);
-x_111 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
-x_112 = lean_string_dec_eq(x_110, x_111);
-lean_dec(x_110);
-if (x_112 == 0)
-{
-lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; uint8_t x_117; lean_object* x_118;
-x_113 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_114 = l_Lean_Parser_ParserState_mkErrorsAt(x_106, x_113, x_105);
-x_115 = l_Lean_Parser_Command_export___elambda__1___closed__2;
-x_116 = l_Lean_Parser_ParserState_mkNode(x_114, x_115, x_102);
-x_117 = 1;
-x_118 = l_Lean_Parser_mergeOrElseErrors(x_116, x_94, x_91, x_117);
-lean_dec(x_91);
-return x_118;
-}
-else
-{
-lean_object* x_119; lean_object* x_120; uint8_t x_121; lean_object* x_122;
-lean_dec(x_105);
-x_119 = l_Lean_Parser_Command_export___elambda__1___closed__2;
-x_120 = l_Lean_Parser_ParserState_mkNode(x_106, x_119, x_102);
-x_121 = 1;
-x_122 = l_Lean_Parser_mergeOrElseErrors(x_120, x_94, x_91, x_121);
-lean_dec(x_91);
-return x_122;
-}
-}
-else
-{
-lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; uint8_t x_127; lean_object* x_128;
-lean_dec(x_109);
-x_123 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_124 = l_Lean_Parser_ParserState_mkErrorsAt(x_106, x_123, x_105);
-x_125 = l_Lean_Parser_Command_export___elambda__1___closed__2;
-x_126 = l_Lean_Parser_ParserState_mkNode(x_124, x_125, x_102);
-x_127 = 1;
-x_128 = l_Lean_Parser_mergeOrElseErrors(x_126, x_94, x_91, x_127);
-lean_dec(x_91);
-return x_128;
-}
-}
-else
-{
-lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; uint8_t x_133; lean_object* x_134;
-lean_dec(x_107);
-x_129 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_130 = l_Lean_Parser_ParserState_mkErrorsAt(x_106, x_129, x_105);
-x_131 = l_Lean_Parser_Command_export___elambda__1___closed__2;
-x_132 = l_Lean_Parser_ParserState_mkNode(x_130, x_131, x_102);
-x_133 = 1;
-x_134 = l_Lean_Parser_mergeOrElseErrors(x_132, x_94, x_91, x_133);
-lean_dec(x_91);
-return x_134;
-}
-}
-else
-{
-lean_object* x_135; lean_object* x_136; uint8_t x_137; lean_object* x_138;
-lean_dec(x_104);
-lean_dec(x_1);
-x_135 = l_Lean_Parser_Command_export___elambda__1___closed__2;
-x_136 = l_Lean_Parser_ParserState_mkNode(x_103, x_135, x_102);
-x_137 = 1;
-x_138 = l_Lean_Parser_mergeOrElseErrors(x_136, x_94, x_91, x_137);
-lean_dec(x_91);
-return x_138;
-}
-}
-block_155:
-{
-lean_object* x_141;
-x_141 = lean_ctor_get(x_140, 3);
-lean_inc(x_141);
-if (lean_obj_tag(x_141) == 0)
-{
-lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145;
-x_142 = lean_ctor_get(x_140, 0);
-lean_inc(x_142);
-x_143 = lean_array_get_size(x_142);
-lean_dec(x_142);
-lean_inc(x_1);
-x_144 = l_Lean_Parser_ident___elambda__1(x_1, x_140);
-x_145 = lean_ctor_get(x_144, 3);
-lean_inc(x_145);
-if (lean_obj_tag(x_145) == 0)
-{
-lean_object* x_146; lean_object* x_147; lean_object* x_148;
-lean_inc(x_1);
-x_146 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_structExplicitBinder___elambda__1___spec__1(x_1, x_144);
-x_147 = l_Lean_nullKind;
-x_148 = l_Lean_Parser_ParserState_mkNode(x_146, x_147, x_143);
-x_103 = x_148;
-goto block_139;
-}
-else
-{
-lean_object* x_149; lean_object* x_150;
-lean_dec(x_145);
-x_149 = l_Lean_nullKind;
-x_150 = l_Lean_Parser_ParserState_mkNode(x_144, x_149, x_143);
-x_103 = x_150;
-goto block_139;
-}
-}
-else
-{
-lean_object* x_151; lean_object* x_152; uint8_t x_153; lean_object* x_154;
-lean_dec(x_141);
-lean_dec(x_1);
-x_151 = l_Lean_Parser_Command_export___elambda__1___closed__2;
-x_152 = l_Lean_Parser_ParserState_mkNode(x_140, x_151, x_102);
-x_153 = 1;
-x_154 = l_Lean_Parser_mergeOrElseErrors(x_152, x_94, x_91, x_153);
-lean_dec(x_91);
-return x_154;
-}
-}
-block_182:
-{
-lean_object* x_157;
-x_157 = lean_ctor_get(x_156, 3);
-lean_inc(x_157);
-if (lean_obj_tag(x_157) == 0)
-{
-lean_object* x_158; lean_object* x_159;
-lean_inc(x_1);
-x_158 = l_Lean_Parser_ident___elambda__1(x_1, x_156);
-x_159 = lean_ctor_get(x_158, 3);
-lean_inc(x_159);
-if (lean_obj_tag(x_159) == 0)
-{
-lean_object* x_160; lean_object* x_161; lean_object* x_162;
-x_160 = lean_ctor_get(x_158, 1);
-lean_inc(x_160);
-lean_inc(x_1);
-x_161 = l_Lean_Parser_tokenFn(x_1, x_158);
-x_162 = lean_ctor_get(x_161, 3);
-lean_inc(x_162);
-if (lean_obj_tag(x_162) == 0)
-{
-lean_object* x_163; lean_object* x_164;
-x_163 = lean_ctor_get(x_161, 0);
-lean_inc(x_163);
-x_164 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_163);
-lean_dec(x_163);
-if (lean_obj_tag(x_164) == 2)
-{
-lean_object* x_165; lean_object* x_166; uint8_t x_167;
-x_165 = lean_ctor_get(x_164, 1);
-lean_inc(x_165);
-lean_dec(x_164);
-x_166 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__3;
-x_167 = lean_string_dec_eq(x_165, x_166);
-lean_dec(x_165);
-if (x_167 == 0)
-{
-lean_object* x_168; lean_object* x_169;
-x_168 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-x_169 = l_Lean_Parser_ParserState_mkErrorsAt(x_161, x_168, x_160);
-x_140 = x_169;
-goto block_155;
-}
-else
-{
-lean_dec(x_160);
-x_140 = x_161;
-goto block_155;
-}
-}
-else
-{
-lean_object* x_170; lean_object* x_171;
-lean_dec(x_164);
-x_170 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-x_171 = l_Lean_Parser_ParserState_mkErrorsAt(x_161, x_170, x_160);
-x_140 = x_171;
-goto block_155;
-}
-}
-else
-{
-lean_object* x_172; lean_object* x_173;
-lean_dec(x_162);
-x_172 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-x_173 = l_Lean_Parser_ParserState_mkErrorsAt(x_161, x_172, x_160);
-x_140 = x_173;
-goto block_155;
-}
-}
-else
-{
-lean_object* x_174; lean_object* x_175; uint8_t x_176; lean_object* x_177;
-lean_dec(x_159);
-lean_dec(x_1);
-x_174 = l_Lean_Parser_Command_export___elambda__1___closed__2;
-x_175 = l_Lean_Parser_ParserState_mkNode(x_158, x_174, x_102);
-x_176 = 1;
-x_177 = l_Lean_Parser_mergeOrElseErrors(x_175, x_94, x_91, x_176);
-lean_dec(x_91);
-return x_177;
-}
-}
-else
-{
-lean_object* x_178; lean_object* x_179; uint8_t x_180; lean_object* x_181;
-lean_dec(x_157);
-lean_dec(x_1);
-x_178 = l_Lean_Parser_Command_export___elambda__1___closed__2;
-x_179 = l_Lean_Parser_ParserState_mkNode(x_156, x_178, x_102);
-x_180 = 1;
-x_181 = l_Lean_Parser_mergeOrElseErrors(x_179, x_94, x_91, x_180);
-lean_dec(x_91);
-return x_181;
-}
-}
-}
-else
-{
-uint8_t x_197; lean_object* x_198;
-lean_dec(x_100);
-lean_dec(x_1);
-x_197 = 1;
-x_198 = l_Lean_Parser_mergeOrElseErrors(x_99, x_94, x_91, x_197);
-lean_dec(x_91);
-return x_198;
-}
-}
-}
+lean_object* x_47; uint8_t x_48; lean_object* x_49;
+x_47 = l_Lean_Parser_Command_export___elambda__1___closed__13;
+x_48 = 1;
+x_49 = l_Lean_Parser_orelseFnCore(x_4, x_47, x_48, x_1, x_2);
+return x_49;
}
}
}
@@ -44968,32 +29035,68 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_openHiding___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_openHiding___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_openHiding___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_openHiding___elambda__1___closed__8() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Command_openHiding___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_ident___closed__2;
+x_2 = l_Lean_Parser_Command_openHiding___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
static lean_object* _init_l_Lean_Parser_Command_openHiding___elambda__1___closed__9() {
_start:
{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_openHiding___elambda__1___closed__8;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_tryFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_openHiding___elambda__1___closed__10() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Command_openHiding___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_1 = l_Lean_Parser_Command_openHiding___elambda__1___closed__9;
+x_2 = l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_openHiding___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_openHiding___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_openHiding___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_openHiding___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_openHiding___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -45017,202 +29120,62 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-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; lean_object* x_37; lean_object* x_38;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
-x_10 = lean_ctor_get(x_7, 1);
-lean_inc(x_10);
-x_11 = lean_array_get_size(x_9);
+x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
+x_11 = l_Lean_Parser_Command_openHiding___elambda__1___closed__8;
lean_inc(x_1);
-x_37 = l_Lean_Parser_ident___elambda__1(x_1, x_7);
-x_38 = lean_ctor_get(x_37, 3);
-lean_inc(x_38);
-if (lean_obj_tag(x_38) == 0)
+x_12 = l_Lean_Parser_tryFn(x_11, x_1, x_7);
+x_13 = lean_ctor_get(x_12, 3);
+lean_inc(x_13);
+if (lean_obj_tag(x_13) == 0)
{
-lean_object* x_39; lean_object* x_40; lean_object* x_41;
-x_39 = lean_ctor_get(x_37, 1);
-lean_inc(x_39);
-lean_inc(x_1);
-x_40 = l_Lean_Parser_tokenFn(x_1, x_37);
-x_41 = lean_ctor_get(x_40, 3);
-lean_inc(x_41);
-if (lean_obj_tag(x_41) == 0)
-{
-lean_object* x_42; lean_object* x_43;
-x_42 = lean_ctor_get(x_40, 0);
-lean_inc(x_42);
-x_43 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_42);
-lean_dec(x_42);
-if (lean_obj_tag(x_43) == 2)
-{
-lean_object* x_44; lean_object* x_45; uint8_t x_46;
-x_44 = lean_ctor_get(x_43, 1);
-lean_inc(x_44);
-lean_dec(x_43);
-x_45 = l_Lean_Parser_Command_openHiding___elambda__1___closed__6;
-x_46 = lean_string_dec_eq(x_44, x_45);
-lean_dec(x_44);
-if (x_46 == 0)
-{
-lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51;
-x_47 = l_Lean_Parser_Command_openHiding___elambda__1___closed__9;
-x_48 = l_Lean_Parser_ParserState_mkErrorsAt(x_40, x_47, x_39);
-x_49 = lean_ctor_get(x_48, 0);
-lean_inc(x_49);
-x_50 = lean_ctor_get(x_48, 2);
-lean_inc(x_50);
-x_51 = lean_ctor_get(x_48, 3);
-lean_inc(x_51);
-x_12 = x_48;
-x_13 = x_49;
-x_14 = x_50;
-x_15 = x_51;
-goto block_36;
-}
-else
-{
-lean_object* x_52; lean_object* x_53; lean_object* x_54;
-lean_dec(x_39);
-x_52 = lean_ctor_get(x_40, 0);
-lean_inc(x_52);
-x_53 = lean_ctor_get(x_40, 2);
-lean_inc(x_53);
-x_54 = lean_ctor_get(x_40, 3);
-lean_inc(x_54);
-x_12 = x_40;
-x_13 = x_52;
-x_14 = x_53;
-x_15 = x_54;
-goto block_36;
-}
-}
-else
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59;
-lean_dec(x_43);
-x_55 = l_Lean_Parser_Command_openHiding___elambda__1___closed__9;
-x_56 = l_Lean_Parser_ParserState_mkErrorsAt(x_40, x_55, x_39);
-x_57 = lean_ctor_get(x_56, 0);
-lean_inc(x_57);
-x_58 = lean_ctor_get(x_56, 2);
-lean_inc(x_58);
-x_59 = lean_ctor_get(x_56, 3);
-lean_inc(x_59);
-x_12 = x_56;
-x_13 = x_57;
-x_14 = x_58;
-x_15 = x_59;
-goto block_36;
-}
-}
-else
-{
-lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64;
-lean_dec(x_41);
-x_60 = l_Lean_Parser_Command_openHiding___elambda__1___closed__9;
-x_61 = l_Lean_Parser_ParserState_mkErrorsAt(x_40, x_60, x_39);
-x_62 = lean_ctor_get(x_61, 0);
-lean_inc(x_62);
-x_63 = lean_ctor_get(x_61, 2);
-lean_inc(x_63);
-x_64 = lean_ctor_get(x_61, 3);
-lean_inc(x_64);
-x_12 = x_61;
-x_13 = x_62;
-x_14 = x_63;
-x_15 = x_64;
-goto block_36;
-}
-}
-else
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67;
-lean_dec(x_38);
-x_65 = lean_ctor_get(x_37, 0);
-lean_inc(x_65);
-x_66 = lean_ctor_get(x_37, 2);
-lean_inc(x_66);
-x_67 = lean_ctor_get(x_37, 3);
-lean_inc(x_67);
-x_12 = x_37;
-x_13 = x_65;
-x_14 = x_66;
-x_15 = x_67;
-goto block_36;
-}
-block_36:
-{
-if (lean_obj_tag(x_15) == 0)
-{
-lean_object* x_16;
+lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
+x_14 = lean_ctor_get(x_12, 0);
+lean_inc(x_14);
+x_15 = lean_array_get_size(x_14);
lean_dec(x_14);
-lean_dec(x_13);
-lean_dec(x_10);
-x_16 = lean_ctor_get(x_12, 3);
-lean_inc(x_16);
-if (lean_obj_tag(x_16) == 0)
-{
-lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
-x_17 = lean_ctor_get(x_12, 0);
-lean_inc(x_17);
-x_18 = lean_array_get_size(x_17);
-lean_dec(x_17);
lean_inc(x_1);
-x_19 = l_Lean_Parser_ident___elambda__1(x_1, x_12);
-x_20 = lean_ctor_get(x_19, 3);
-lean_inc(x_20);
-if (lean_obj_tag(x_20) == 0)
+x_16 = l_Lean_Parser_ident___elambda__1(x_1, x_12);
+x_17 = lean_ctor_get(x_16, 3);
+lean_inc(x_17);
+if (lean_obj_tag(x_17) == 0)
{
-lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25;
-x_21 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_structExplicitBinder___elambda__1___spec__1(x_1, x_19);
-x_22 = l_Lean_nullKind;
-x_23 = l_Lean_Parser_ParserState_mkNode(x_21, x_22, x_18);
-x_24 = l_Lean_Parser_Command_openHiding___elambda__1___closed__2;
-x_25 = l_Lean_Parser_ParserState_mkNode(x_23, x_24, x_11);
-return x_25;
+lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23;
+x_18 = l_Lean_Parser_ident___closed__2;
+x_19 = l_Lean_Parser_manyAux(x_18, x_1, x_16);
+x_20 = l_Lean_nullKind;
+x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_15);
+x_22 = l_Lean_Parser_Command_openHiding___elambda__1___closed__2;
+x_23 = l_Lean_Parser_ParserState_mkNode(x_21, x_22, x_10);
+return x_23;
}
else
{
-lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29;
-lean_dec(x_20);
+lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
+lean_dec(x_17);
+lean_dec(x_1);
+x_24 = l_Lean_nullKind;
+x_25 = l_Lean_Parser_ParserState_mkNode(x_16, x_24, x_15);
+x_26 = l_Lean_Parser_Command_openHiding___elambda__1___closed__2;
+x_27 = l_Lean_Parser_ParserState_mkNode(x_25, x_26, x_10);
+return x_27;
+}
+}
+else
+{
+lean_object* x_28; lean_object* x_29;
+lean_dec(x_13);
lean_dec(x_1);
-x_26 = l_Lean_nullKind;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_19, x_26, x_18);
x_28 = l_Lean_Parser_Command_openHiding___elambda__1___closed__2;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_27, x_28, x_11);
+x_29 = l_Lean_Parser_ParserState_mkNode(x_12, x_28, x_10);
return x_29;
}
}
else
{
-lean_object* x_30; lean_object* x_31;
-lean_dec(x_16);
-lean_dec(x_1);
-x_30 = l_Lean_Parser_Command_openHiding___elambda__1___closed__2;
-x_31 = l_Lean_Parser_ParserState_mkNode(x_12, x_30, x_11);
-return x_31;
-}
-}
-else
-{
-lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35;
-lean_dec(x_12);
-lean_dec(x_1);
-x_32 = l_Array_shrink___main___rarg(x_13, x_11);
-x_33 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_33, 0, x_32);
-lean_ctor_set(x_33, 1, x_10);
-lean_ctor_set(x_33, 2, x_14);
-lean_ctor_set(x_33, 3, x_15);
-x_34 = l_Lean_Parser_Command_openHiding___elambda__1___closed__2;
-x_35 = l_Lean_Parser_ParserState_mkNode(x_33, x_34, x_11);
-return x_35;
-}
-}
-}
-else
-{
lean_dec(x_8);
lean_dec(x_1);
return x_7;
@@ -45220,272 +29183,11 @@ return x_7;
}
else
{
-lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72;
-x_68 = lean_ctor_get(x_2, 0);
-lean_inc(x_68);
-x_69 = lean_array_get_size(x_68);
-lean_dec(x_68);
-x_70 = lean_ctor_get(x_2, 1);
-lean_inc(x_70);
-lean_inc(x_1);
-x_71 = lean_apply_2(x_4, x_1, x_2);
-x_72 = lean_ctor_get(x_71, 3);
-lean_inc(x_72);
-if (lean_obj_tag(x_72) == 0)
-{
-lean_dec(x_70);
-lean_dec(x_69);
-lean_dec(x_1);
-return x_71;
-}
-else
-{
-lean_object* x_73; lean_object* x_74; uint8_t x_75;
-x_73 = lean_ctor_get(x_72, 0);
-lean_inc(x_73);
-lean_dec(x_72);
-x_74 = lean_ctor_get(x_71, 1);
-lean_inc(x_74);
-x_75 = lean_nat_dec_eq(x_74, x_70);
-lean_dec(x_74);
-if (x_75 == 0)
-{
-lean_dec(x_73);
-lean_dec(x_70);
-lean_dec(x_69);
-lean_dec(x_1);
-return x_71;
-}
-else
-{
-lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79;
-lean_inc(x_70);
-x_76 = l_Lean_Parser_ParserState_restore(x_71, x_69, x_70);
-lean_dec(x_69);
-x_77 = lean_unsigned_to_nat(1024u);
-x_78 = l_Lean_Parser_checkPrecFn(x_77, x_1, x_76);
-x_79 = lean_ctor_get(x_78, 3);
-lean_inc(x_79);
-if (lean_obj_tag(x_79) == 0)
-{
-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_116; lean_object* x_117;
-x_80 = lean_ctor_get(x_78, 0);
-lean_inc(x_80);
-x_81 = lean_ctor_get(x_78, 1);
-lean_inc(x_81);
-x_82 = lean_array_get_size(x_80);
-lean_dec(x_80);
-lean_inc(x_1);
-x_116 = l_Lean_Parser_ident___elambda__1(x_1, x_78);
-x_117 = lean_ctor_get(x_116, 3);
-lean_inc(x_117);
-if (lean_obj_tag(x_117) == 0)
-{
-lean_object* x_118; lean_object* x_119; lean_object* x_120;
-x_118 = lean_ctor_get(x_116, 1);
-lean_inc(x_118);
-lean_inc(x_1);
-x_119 = l_Lean_Parser_tokenFn(x_1, x_116);
-x_120 = lean_ctor_get(x_119, 3);
-lean_inc(x_120);
-if (lean_obj_tag(x_120) == 0)
-{
-lean_object* x_121; lean_object* x_122;
-x_121 = lean_ctor_get(x_119, 0);
-lean_inc(x_121);
-x_122 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_121);
-lean_dec(x_121);
-if (lean_obj_tag(x_122) == 2)
-{
-lean_object* x_123; lean_object* x_124; uint8_t x_125;
-x_123 = lean_ctor_get(x_122, 1);
-lean_inc(x_123);
-lean_dec(x_122);
-x_124 = l_Lean_Parser_Command_openHiding___elambda__1___closed__6;
-x_125 = lean_string_dec_eq(x_123, x_124);
-lean_dec(x_123);
-if (x_125 == 0)
-{
-lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130;
-x_126 = l_Lean_Parser_Command_openHiding___elambda__1___closed__9;
-x_127 = l_Lean_Parser_ParserState_mkErrorsAt(x_119, x_126, x_118);
-x_128 = lean_ctor_get(x_127, 0);
-lean_inc(x_128);
-x_129 = lean_ctor_get(x_127, 2);
-lean_inc(x_129);
-x_130 = lean_ctor_get(x_127, 3);
-lean_inc(x_130);
-x_83 = x_127;
-x_84 = x_128;
-x_85 = x_129;
-x_86 = x_130;
-goto block_115;
-}
-else
-{
-lean_object* x_131; lean_object* x_132; lean_object* x_133;
-lean_dec(x_118);
-x_131 = lean_ctor_get(x_119, 0);
-lean_inc(x_131);
-x_132 = lean_ctor_get(x_119, 2);
-lean_inc(x_132);
-x_133 = lean_ctor_get(x_119, 3);
-lean_inc(x_133);
-x_83 = x_119;
-x_84 = x_131;
-x_85 = x_132;
-x_86 = x_133;
-goto block_115;
-}
-}
-else
-{
-lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138;
-lean_dec(x_122);
-x_134 = l_Lean_Parser_Command_openHiding___elambda__1___closed__9;
-x_135 = l_Lean_Parser_ParserState_mkErrorsAt(x_119, x_134, x_118);
-x_136 = lean_ctor_get(x_135, 0);
-lean_inc(x_136);
-x_137 = lean_ctor_get(x_135, 2);
-lean_inc(x_137);
-x_138 = lean_ctor_get(x_135, 3);
-lean_inc(x_138);
-x_83 = x_135;
-x_84 = x_136;
-x_85 = x_137;
-x_86 = x_138;
-goto block_115;
-}
-}
-else
-{
-lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143;
-lean_dec(x_120);
-x_139 = l_Lean_Parser_Command_openHiding___elambda__1___closed__9;
-x_140 = l_Lean_Parser_ParserState_mkErrorsAt(x_119, x_139, x_118);
-x_141 = lean_ctor_get(x_140, 0);
-lean_inc(x_141);
-x_142 = lean_ctor_get(x_140, 2);
-lean_inc(x_142);
-x_143 = lean_ctor_get(x_140, 3);
-lean_inc(x_143);
-x_83 = x_140;
-x_84 = x_141;
-x_85 = x_142;
-x_86 = x_143;
-goto block_115;
-}
-}
-else
-{
-lean_object* x_144; lean_object* x_145; lean_object* x_146;
-lean_dec(x_117);
-x_144 = lean_ctor_get(x_116, 0);
-lean_inc(x_144);
-x_145 = lean_ctor_get(x_116, 2);
-lean_inc(x_145);
-x_146 = lean_ctor_get(x_116, 3);
-lean_inc(x_146);
-x_83 = x_116;
-x_84 = x_144;
-x_85 = x_145;
-x_86 = x_146;
-goto block_115;
-}
-block_115:
-{
-if (lean_obj_tag(x_86) == 0)
-{
-lean_object* x_87;
-lean_dec(x_85);
-lean_dec(x_84);
-lean_dec(x_81);
-x_87 = lean_ctor_get(x_83, 3);
-lean_inc(x_87);
-if (lean_obj_tag(x_87) == 0)
-{
-lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91;
-x_88 = lean_ctor_get(x_83, 0);
-lean_inc(x_88);
-x_89 = lean_array_get_size(x_88);
-lean_dec(x_88);
-lean_inc(x_1);
-x_90 = l_Lean_Parser_ident___elambda__1(x_1, x_83);
-x_91 = lean_ctor_get(x_90, 3);
-lean_inc(x_91);
-if (lean_obj_tag(x_91) == 0)
-{
-lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; uint8_t x_97; lean_object* x_98;
-x_92 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_structExplicitBinder___elambda__1___spec__1(x_1, x_90);
-x_93 = l_Lean_nullKind;
-x_94 = l_Lean_Parser_ParserState_mkNode(x_92, x_93, x_89);
-x_95 = l_Lean_Parser_Command_openHiding___elambda__1___closed__2;
-x_96 = l_Lean_Parser_ParserState_mkNode(x_94, x_95, x_82);
-x_97 = 1;
-x_98 = l_Lean_Parser_mergeOrElseErrors(x_96, x_73, x_70, x_97);
-lean_dec(x_70);
-return x_98;
-}
-else
-{
-lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; uint8_t x_103; lean_object* x_104;
-lean_dec(x_91);
-lean_dec(x_1);
-x_99 = l_Lean_nullKind;
-x_100 = l_Lean_Parser_ParserState_mkNode(x_90, x_99, x_89);
-x_101 = l_Lean_Parser_Command_openHiding___elambda__1___closed__2;
-x_102 = l_Lean_Parser_ParserState_mkNode(x_100, x_101, x_82);
-x_103 = 1;
-x_104 = l_Lean_Parser_mergeOrElseErrors(x_102, x_73, x_70, x_103);
-lean_dec(x_70);
-return x_104;
-}
-}
-else
-{
-lean_object* x_105; lean_object* x_106; uint8_t x_107; lean_object* x_108;
-lean_dec(x_87);
-lean_dec(x_1);
-x_105 = l_Lean_Parser_Command_openHiding___elambda__1___closed__2;
-x_106 = l_Lean_Parser_ParserState_mkNode(x_83, x_105, x_82);
-x_107 = 1;
-x_108 = l_Lean_Parser_mergeOrElseErrors(x_106, x_73, x_70, x_107);
-lean_dec(x_70);
-return x_108;
-}
-}
-else
-{
-lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; uint8_t x_113; lean_object* x_114;
-lean_dec(x_83);
-lean_dec(x_1);
-x_109 = l_Array_shrink___main___rarg(x_84, x_82);
-x_110 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_110, 0, x_109);
-lean_ctor_set(x_110, 1, x_81);
-lean_ctor_set(x_110, 2, x_85);
-lean_ctor_set(x_110, 3, x_86);
-x_111 = l_Lean_Parser_Command_openHiding___elambda__1___closed__2;
-x_112 = l_Lean_Parser_ParserState_mkNode(x_110, x_111, x_82);
-x_113 = 1;
-x_114 = l_Lean_Parser_mergeOrElseErrors(x_112, x_73, x_70, x_113);
-lean_dec(x_70);
-return x_114;
-}
-}
-}
-else
-{
-uint8_t x_147; lean_object* x_148;
-lean_dec(x_79);
-lean_dec(x_1);
-x_147 = 1;
-x_148 = l_Lean_Parser_mergeOrElseErrors(x_78, x_73, x_70, x_147);
-lean_dec(x_70);
-return x_148;
-}
-}
-}
+lean_object* x_30; uint8_t x_31; lean_object* x_32;
+x_30 = l_Lean_Parser_Command_openHiding___elambda__1___closed__12;
+x_31 = 1;
+x_32 = l_Lean_Parser_orelseFnCore(x_4, x_30, x_31, x_1, x_2);
+return x_32;
}
}
}
@@ -45659,9 +29361,11 @@ static lean_object* _init_l_Lean_Parser_Command_openRenamingItem___elambda__1___
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_unicodeSymbolFn___boxed), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -45670,8 +29374,10 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__9;
-x_2 = l_Lean_KeyedDeclsAttribute_init___rarg___lambda__3___closed__2;
-x_3 = lean_string_append(x_1, x_2);
+x_2 = l_Lean_Parser_ident___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -45679,9 +29385,11 @@ static lean_object* _init_l_Lean_Parser_Command_openRenamingItem___elambda__1___
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__10;
-x_2 = l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__8;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_ident___closed__2;
+x_2 = l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -45689,9 +29397,11 @@ static lean_object* _init_l_Lean_Parser_Command_openRenamingItem___elambda__1___
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__11;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -45699,8 +29409,60 @@ static lean_object* _init_l_Lean_Parser_Command_openRenamingItem___elambda__1___
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
x_2 = l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__12;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__14() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__15() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__14;
+x_2 = l_Lean_KeyedDeclsAttribute_init___rarg___lambda__3___closed__2;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__16() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__15;
+x_2 = l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__8;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__17() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__16;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__18() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = lean_box(0);
+x_2 = l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__17;
x_3 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_3, 0, x_2);
lean_ctor_set(x_3, 1, x_1);
@@ -45741,7 +29503,7 @@ if (lean_obj_tag(x_12) == 0)
lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
x_13 = l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__6;
x_14 = l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__8;
-x_15 = l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__13;
+x_15 = l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__18;
lean_inc(x_1);
x_16 = l_Lean_Parser_unicodeSymbolFnAux(x_13, x_14, x_15, x_1, x_11);
x_17 = lean_ctor_get(x_16, 3);
@@ -45783,122 +29545,11 @@ return x_7;
}
else
{
-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_2, 0);
-lean_inc(x_25);
-x_26 = lean_array_get_size(x_25);
-lean_dec(x_25);
-x_27 = lean_ctor_get(x_2, 1);
-lean_inc(x_27);
-lean_inc(x_1);
-x_28 = lean_apply_2(x_4, x_1, x_2);
-x_29 = lean_ctor_get(x_28, 3);
-lean_inc(x_29);
-if (lean_obj_tag(x_29) == 0)
-{
-lean_dec(x_27);
-lean_dec(x_26);
-lean_dec(x_1);
-return x_28;
-}
-else
-{
-lean_object* x_30; lean_object* x_31; uint8_t x_32;
-x_30 = lean_ctor_get(x_29, 0);
-lean_inc(x_30);
-lean_dec(x_29);
-x_31 = lean_ctor_get(x_28, 1);
-lean_inc(x_31);
-x_32 = lean_nat_dec_eq(x_31, x_27);
-lean_dec(x_31);
-if (x_32 == 0)
-{
-lean_dec(x_30);
-lean_dec(x_27);
-lean_dec(x_26);
-lean_dec(x_1);
-return x_28;
-}
-else
-{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36;
-lean_inc(x_27);
-x_33 = l_Lean_Parser_ParserState_restore(x_28, x_26, x_27);
-lean_dec(x_26);
-x_34 = lean_unsigned_to_nat(1024u);
-x_35 = l_Lean_Parser_checkPrecFn(x_34, x_1, x_33);
-x_36 = lean_ctor_get(x_35, 3);
-lean_inc(x_36);
-if (lean_obj_tag(x_36) == 0)
-{
-lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40;
-x_37 = lean_ctor_get(x_35, 0);
-lean_inc(x_37);
-x_38 = lean_array_get_size(x_37);
-lean_dec(x_37);
-lean_inc(x_1);
-x_39 = l_Lean_Parser_ident___elambda__1(x_1, x_35);
-x_40 = lean_ctor_get(x_39, 3);
-lean_inc(x_40);
-if (lean_obj_tag(x_40) == 0)
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45;
-x_41 = l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__6;
-x_42 = l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__8;
-x_43 = l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__13;
-lean_inc(x_1);
-x_44 = l_Lean_Parser_unicodeSymbolFnAux(x_41, x_42, x_43, x_1, x_39);
-x_45 = lean_ctor_get(x_44, 3);
-lean_inc(x_45);
-if (lean_obj_tag(x_45) == 0)
-{
-lean_object* x_46; lean_object* x_47; lean_object* x_48; uint8_t x_49; lean_object* x_50;
-x_46 = l_Lean_Parser_ident___elambda__1(x_1, x_44);
-x_47 = l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__2;
-x_48 = l_Lean_Parser_ParserState_mkNode(x_46, x_47, x_38);
-x_49 = 1;
-x_50 = l_Lean_Parser_mergeOrElseErrors(x_48, x_30, x_27, x_49);
-lean_dec(x_27);
-return x_50;
-}
-else
-{
-lean_object* x_51; lean_object* x_52; uint8_t x_53; lean_object* x_54;
-lean_dec(x_45);
-lean_dec(x_1);
-x_51 = l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__2;
-x_52 = l_Lean_Parser_ParserState_mkNode(x_44, x_51, x_38);
-x_53 = 1;
-x_54 = l_Lean_Parser_mergeOrElseErrors(x_52, x_30, x_27, x_53);
-lean_dec(x_27);
-return x_54;
-}
-}
-else
-{
-lean_object* x_55; lean_object* x_56; uint8_t x_57; lean_object* x_58;
-lean_dec(x_40);
-lean_dec(x_1);
-x_55 = l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__2;
-x_56 = l_Lean_Parser_ParserState_mkNode(x_39, x_55, x_38);
-x_57 = 1;
-x_58 = l_Lean_Parser_mergeOrElseErrors(x_56, x_30, x_27, x_57);
-lean_dec(x_27);
-return x_58;
-}
-}
-else
-{
-uint8_t x_59; lean_object* x_60;
-lean_dec(x_36);
-lean_dec(x_1);
-x_59 = 1;
-x_60 = l_Lean_Parser_mergeOrElseErrors(x_35, x_30, x_27, x_59);
-lean_dec(x_27);
-return x_60;
-}
-}
-}
+lean_object* x_25; uint8_t x_26; lean_object* x_27;
+x_25 = l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__13;
+x_26 = 1;
+x_27 = l_Lean_Parser_orelseFnCore(x_4, x_25, x_26, x_1, x_2);
+return x_27;
}
}
}
@@ -45996,172 +29647,6 @@ x_1 = l_Lean_Parser_Command_openRenamingItem___closed__8;
return x_1;
}
}
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Command_openRenaming___elambda__1___spec__2(uint8_t x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5) {
-_start:
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10;
-x_6 = lean_ctor_get(x_5, 0);
-lean_inc(x_6);
-x_7 = lean_array_get_size(x_6);
-lean_dec(x_6);
-x_8 = lean_ctor_get(x_5, 1);
-lean_inc(x_8);
-lean_inc(x_4);
-x_9 = l_Lean_Parser_Command_openRenamingItem___elambda__1(x_4, x_5);
-x_10 = lean_ctor_get(x_9, 3);
-lean_inc(x_10);
-if (lean_obj_tag(x_10) == 0)
-{
-lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_21; lean_object* x_22;
-lean_dec(x_8);
-lean_dec(x_7);
-x_11 = lean_ctor_get(x_9, 0);
-lean_inc(x_11);
-x_12 = lean_array_get_size(x_11);
-lean_dec(x_11);
-x_13 = lean_ctor_get(x_9, 1);
-lean_inc(x_13);
-lean_inc(x_4);
-x_21 = l_Lean_Parser_tokenFn(x_4, x_9);
-x_22 = lean_ctor_get(x_21, 3);
-lean_inc(x_22);
-if (lean_obj_tag(x_22) == 0)
-{
-lean_object* x_23; lean_object* x_24;
-x_23 = lean_ctor_get(x_21, 0);
-lean_inc(x_23);
-x_24 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_23);
-lean_dec(x_23);
-if (lean_obj_tag(x_24) == 2)
-{
-lean_object* x_25; lean_object* x_26; uint8_t x_27;
-x_25 = lean_ctor_get(x_24, 1);
-lean_inc(x_25);
-lean_dec(x_24);
-x_26 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__1;
-x_27 = lean_string_dec_eq(x_25, x_26);
-lean_dec(x_25);
-if (x_27 == 0)
-{
-lean_object* x_28; lean_object* x_29;
-x_28 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
-lean_inc(x_13);
-x_29 = l_Lean_Parser_ParserState_mkErrorsAt(x_21, x_28, x_13);
-x_14 = x_29;
-goto block_20;
-}
-else
-{
-x_14 = x_21;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_30; lean_object* x_31;
-lean_dec(x_24);
-x_30 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
-lean_inc(x_13);
-x_31 = l_Lean_Parser_ParserState_mkErrorsAt(x_21, x_30, x_13);
-x_14 = x_31;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_32; lean_object* x_33;
-lean_dec(x_22);
-x_32 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
-lean_inc(x_13);
-x_33 = l_Lean_Parser_ParserState_mkErrorsAt(x_21, x_32, x_13);
-x_14 = x_33;
-goto block_20;
-}
-block_20:
-{
-lean_object* x_15;
-x_15 = lean_ctor_get(x_14, 3);
-lean_inc(x_15);
-if (lean_obj_tag(x_15) == 0)
-{
-lean_dec(x_13);
-lean_dec(x_12);
-{
-uint8_t _tmp_2 = x_1;
-lean_object* _tmp_4 = x_14;
-x_3 = _tmp_2;
-x_5 = _tmp_4;
-}
-goto _start;
-}
-else
-{
-lean_object* x_17; lean_object* x_18; lean_object* x_19;
-lean_dec(x_15);
-lean_dec(x_4);
-x_17 = l_Lean_Parser_ParserState_restore(x_14, x_12, x_13);
-lean_dec(x_12);
-x_18 = l_Lean_nullKind;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_2);
-return x_19;
-}
-}
-}
-else
-{
-lean_object* x_34; uint8_t x_35;
-lean_dec(x_10);
-lean_dec(x_4);
-x_34 = lean_ctor_get(x_9, 1);
-lean_inc(x_34);
-x_35 = lean_nat_dec_lt(x_8, x_34);
-lean_dec(x_34);
-if (x_35 == 0)
-{
-if (x_3 == 0)
-{
-lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-lean_dec(x_8);
-lean_dec(x_7);
-x_36 = lean_box(0);
-x_37 = l_Lean_Parser_ParserState_pushSyntax(x_9, x_36);
-x_38 = l_Lean_nullKind;
-x_39 = l_Lean_Parser_ParserState_mkNode(x_37, x_38, x_2);
-return x_39;
-}
-else
-{
-lean_object* x_40; lean_object* x_41; lean_object* x_42;
-x_40 = l_Lean_Parser_ParserState_restore(x_9, x_7, x_8);
-lean_dec(x_7);
-x_41 = l_Lean_nullKind;
-x_42 = l_Lean_Parser_ParserState_mkNode(x_40, x_41, x_2);
-return x_42;
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_2);
-return x_9;
-}
-}
-}
-}
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Command_openRenaming___elambda__1___spec__1(uint8_t x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
-x_4 = lean_ctor_get(x_3, 0);
-lean_inc(x_4);
-x_5 = lean_array_get_size(x_4);
-lean_dec(x_4);
-x_6 = 0;
-x_7 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Command_openRenaming___elambda__1___spec__2(x_1, x_5, x_6, x_2, x_3);
-return x_7;
-}
-}
static lean_object* _init_l_Lean_Parser_Command_openRenaming___elambda__1___closed__1() {
_start:
{
@@ -46221,32 +29706,83 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_openRenaming___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_openRenaming___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_openRenaming___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_openRenaming___elambda__1___closed__8() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Command_openRenaming___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_ident___closed__2;
+x_2 = l_Lean_Parser_Command_openRenaming___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
static lean_object* _init_l_Lean_Parser_Command_openRenaming___elambda__1___closed__9() {
_start:
{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_openRenaming___elambda__1___closed__8;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_tryFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_openRenaming___elambda__1___closed__10() {
+_start:
+{
+uint8_t x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
+x_1 = 0;
+x_2 = l_Lean_Parser_Command_openRenamingItem___closed__7;
+x_3 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__6;
+x_4 = lean_box(x_1);
+x_5 = lean_alloc_closure((void*)(l_Lean_Parser_sepBy1Fn___boxed), 5, 3);
+lean_closure_set(x_5, 0, x_4);
+lean_closure_set(x_5, 1, x_2);
+lean_closure_set(x_5, 2, x_3);
+return x_5;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_openRenaming___elambda__1___closed__11() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Command_openRenaming___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_1 = l_Lean_Parser_Command_openRenaming___elambda__1___closed__9;
+x_2 = l_Lean_Parser_Command_openRenaming___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_openRenaming___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_openRenaming___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_openRenaming___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_openRenaming___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_openRenaming___elambda__1___closed__12;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -46270,174 +29806,35 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-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; lean_object* x_28; lean_object* x_29;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
-x_10 = lean_ctor_get(x_7, 1);
-lean_inc(x_10);
-x_11 = lean_array_get_size(x_9);
+x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
+x_11 = l_Lean_Parser_Command_openRenaming___elambda__1___closed__8;
lean_inc(x_1);
-x_28 = l_Lean_Parser_ident___elambda__1(x_1, x_7);
-x_29 = lean_ctor_get(x_28, 3);
-lean_inc(x_29);
-if (lean_obj_tag(x_29) == 0)
+x_12 = l_Lean_Parser_tryFn(x_11, x_1, x_7);
+x_13 = lean_ctor_get(x_12, 3);
+lean_inc(x_13);
+if (lean_obj_tag(x_13) == 0)
{
-lean_object* x_30; lean_object* x_31; lean_object* x_32;
-x_30 = lean_ctor_get(x_28, 1);
-lean_inc(x_30);
-lean_inc(x_1);
-x_31 = l_Lean_Parser_tokenFn(x_1, x_28);
-x_32 = lean_ctor_get(x_31, 3);
-lean_inc(x_32);
-if (lean_obj_tag(x_32) == 0)
-{
-lean_object* x_33; lean_object* x_34;
-x_33 = lean_ctor_get(x_31, 0);
-lean_inc(x_33);
-x_34 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_33);
-lean_dec(x_33);
-if (lean_obj_tag(x_34) == 2)
-{
-lean_object* x_35; lean_object* x_36; uint8_t x_37;
-x_35 = lean_ctor_get(x_34, 1);
-lean_inc(x_35);
-lean_dec(x_34);
-x_36 = l_Lean_Parser_Command_openRenaming___elambda__1___closed__6;
-x_37 = lean_string_dec_eq(x_35, x_36);
-lean_dec(x_35);
-if (x_37 == 0)
-{
-lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42;
-x_38 = l_Lean_Parser_Command_openRenaming___elambda__1___closed__9;
-x_39 = l_Lean_Parser_ParserState_mkErrorsAt(x_31, x_38, x_30);
-x_40 = lean_ctor_get(x_39, 0);
-lean_inc(x_40);
-x_41 = lean_ctor_get(x_39, 2);
-lean_inc(x_41);
-x_42 = lean_ctor_get(x_39, 3);
-lean_inc(x_42);
-x_12 = x_39;
-x_13 = x_40;
-x_14 = x_41;
-x_15 = x_42;
-goto block_27;
+uint8_t x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
+x_14 = 0;
+x_15 = l_Lean_Parser_Command_openRenamingItem___closed__7;
+x_16 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__6;
+x_17 = l_Lean_Parser_sepBy1Fn(x_14, x_15, x_16, x_1, x_12);
+x_18 = l_Lean_Parser_Command_openRenaming___elambda__1___closed__2;
+x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_10);
+return x_19;
}
else
{
-lean_object* x_43; lean_object* x_44; lean_object* x_45;
-lean_dec(x_30);
-x_43 = lean_ctor_get(x_31, 0);
-lean_inc(x_43);
-x_44 = lean_ctor_get(x_31, 2);
-lean_inc(x_44);
-x_45 = lean_ctor_get(x_31, 3);
-lean_inc(x_45);
-x_12 = x_31;
-x_13 = x_43;
-x_14 = x_44;
-x_15 = x_45;
-goto block_27;
-}
-}
-else
-{
-lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50;
-lean_dec(x_34);
-x_46 = l_Lean_Parser_Command_openRenaming___elambda__1___closed__9;
-x_47 = l_Lean_Parser_ParserState_mkErrorsAt(x_31, x_46, x_30);
-x_48 = lean_ctor_get(x_47, 0);
-lean_inc(x_48);
-x_49 = lean_ctor_get(x_47, 2);
-lean_inc(x_49);
-x_50 = lean_ctor_get(x_47, 3);
-lean_inc(x_50);
-x_12 = x_47;
-x_13 = x_48;
-x_14 = x_49;
-x_15 = x_50;
-goto block_27;
-}
-}
-else
-{
-lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55;
-lean_dec(x_32);
-x_51 = l_Lean_Parser_Command_openRenaming___elambda__1___closed__9;
-x_52 = l_Lean_Parser_ParserState_mkErrorsAt(x_31, x_51, x_30);
-x_53 = lean_ctor_get(x_52, 0);
-lean_inc(x_53);
-x_54 = lean_ctor_get(x_52, 2);
-lean_inc(x_54);
-x_55 = lean_ctor_get(x_52, 3);
-lean_inc(x_55);
-x_12 = x_52;
-x_13 = x_53;
-x_14 = x_54;
-x_15 = x_55;
-goto block_27;
-}
-}
-else
-{
-lean_object* x_56; lean_object* x_57; lean_object* x_58;
-lean_dec(x_29);
-x_56 = lean_ctor_get(x_28, 0);
-lean_inc(x_56);
-x_57 = lean_ctor_get(x_28, 2);
-lean_inc(x_57);
-x_58 = lean_ctor_get(x_28, 3);
-lean_inc(x_58);
-x_12 = x_28;
-x_13 = x_56;
-x_14 = x_57;
-x_15 = x_58;
-goto block_27;
-}
-block_27:
-{
-if (lean_obj_tag(x_15) == 0)
-{
-lean_object* x_16;
-lean_dec(x_14);
+lean_object* x_20; lean_object* x_21;
lean_dec(x_13);
-lean_dec(x_10);
-x_16 = lean_ctor_get(x_12, 3);
-lean_inc(x_16);
-if (lean_obj_tag(x_16) == 0)
-{
-uint8_t x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
-x_17 = 0;
-x_18 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Command_openRenaming___elambda__1___spec__1(x_17, x_1, x_12);
-x_19 = l_Lean_Parser_Command_openRenaming___elambda__1___closed__2;
-x_20 = l_Lean_Parser_ParserState_mkNode(x_18, x_19, x_11);
-return x_20;
-}
-else
-{
-lean_object* x_21; lean_object* x_22;
-lean_dec(x_16);
lean_dec(x_1);
-x_21 = l_Lean_Parser_Command_openRenaming___elambda__1___closed__2;
-x_22 = l_Lean_Parser_ParserState_mkNode(x_12, x_21, x_11);
-return x_22;
-}
-}
-else
-{
-lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26;
-lean_dec(x_12);
-lean_dec(x_1);
-x_23 = l_Array_shrink___main___rarg(x_13, x_11);
-x_24 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_24, 0, x_23);
-lean_ctor_set(x_24, 1, x_10);
-lean_ctor_set(x_24, 2, x_14);
-lean_ctor_set(x_24, 3, x_15);
-x_25 = l_Lean_Parser_Command_openRenaming___elambda__1___closed__2;
-x_26 = l_Lean_Parser_ParserState_mkNode(x_24, x_25, x_11);
-return x_26;
-}
+x_20 = l_Lean_Parser_Command_openRenaming___elambda__1___closed__2;
+x_21 = l_Lean_Parser_ParserState_mkNode(x_12, x_20, x_10);
+return x_21;
}
}
else
@@ -46449,245 +29846,11 @@ return x_7;
}
else
{
-lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63;
-x_59 = lean_ctor_get(x_2, 0);
-lean_inc(x_59);
-x_60 = lean_array_get_size(x_59);
-lean_dec(x_59);
-x_61 = lean_ctor_get(x_2, 1);
-lean_inc(x_61);
-lean_inc(x_1);
-x_62 = lean_apply_2(x_4, x_1, x_2);
-x_63 = lean_ctor_get(x_62, 3);
-lean_inc(x_63);
-if (lean_obj_tag(x_63) == 0)
-{
-lean_dec(x_61);
-lean_dec(x_60);
-lean_dec(x_1);
-return x_62;
-}
-else
-{
-lean_object* x_64; lean_object* x_65; uint8_t x_66;
-x_64 = lean_ctor_get(x_63, 0);
-lean_inc(x_64);
-lean_dec(x_63);
-x_65 = lean_ctor_get(x_62, 1);
-lean_inc(x_65);
-x_66 = lean_nat_dec_eq(x_65, x_61);
-lean_dec(x_65);
-if (x_66 == 0)
-{
-lean_dec(x_64);
-lean_dec(x_61);
-lean_dec(x_60);
-lean_dec(x_1);
-return x_62;
-}
-else
-{
-lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70;
-lean_inc(x_61);
-x_67 = l_Lean_Parser_ParserState_restore(x_62, x_60, x_61);
-lean_dec(x_60);
-x_68 = lean_unsigned_to_nat(1024u);
-x_69 = l_Lean_Parser_checkPrecFn(x_68, x_1, x_67);
-x_70 = lean_ctor_get(x_69, 3);
-lean_inc(x_70);
-if (lean_obj_tag(x_70) == 0)
-{
-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; lean_object* x_96; lean_object* x_97;
-x_71 = lean_ctor_get(x_69, 0);
-lean_inc(x_71);
-x_72 = lean_ctor_get(x_69, 1);
-lean_inc(x_72);
-x_73 = lean_array_get_size(x_71);
-lean_dec(x_71);
-lean_inc(x_1);
-x_96 = l_Lean_Parser_ident___elambda__1(x_1, x_69);
-x_97 = lean_ctor_get(x_96, 3);
-lean_inc(x_97);
-if (lean_obj_tag(x_97) == 0)
-{
-lean_object* x_98; lean_object* x_99; lean_object* x_100;
-x_98 = lean_ctor_get(x_96, 1);
-lean_inc(x_98);
-lean_inc(x_1);
-x_99 = l_Lean_Parser_tokenFn(x_1, x_96);
-x_100 = lean_ctor_get(x_99, 3);
-lean_inc(x_100);
-if (lean_obj_tag(x_100) == 0)
-{
-lean_object* x_101; lean_object* x_102;
-x_101 = lean_ctor_get(x_99, 0);
-lean_inc(x_101);
-x_102 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_101);
-lean_dec(x_101);
-if (lean_obj_tag(x_102) == 2)
-{
-lean_object* x_103; lean_object* x_104; uint8_t x_105;
-x_103 = lean_ctor_get(x_102, 1);
-lean_inc(x_103);
-lean_dec(x_102);
-x_104 = l_Lean_Parser_Command_openRenaming___elambda__1___closed__6;
-x_105 = lean_string_dec_eq(x_103, x_104);
-lean_dec(x_103);
-if (x_105 == 0)
-{
-lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110;
-x_106 = l_Lean_Parser_Command_openRenaming___elambda__1___closed__9;
-x_107 = l_Lean_Parser_ParserState_mkErrorsAt(x_99, x_106, x_98);
-x_108 = lean_ctor_get(x_107, 0);
-lean_inc(x_108);
-x_109 = lean_ctor_get(x_107, 2);
-lean_inc(x_109);
-x_110 = lean_ctor_get(x_107, 3);
-lean_inc(x_110);
-x_74 = x_107;
-x_75 = x_108;
-x_76 = x_109;
-x_77 = x_110;
-goto block_95;
-}
-else
-{
-lean_object* x_111; lean_object* x_112; lean_object* x_113;
-lean_dec(x_98);
-x_111 = lean_ctor_get(x_99, 0);
-lean_inc(x_111);
-x_112 = lean_ctor_get(x_99, 2);
-lean_inc(x_112);
-x_113 = lean_ctor_get(x_99, 3);
-lean_inc(x_113);
-x_74 = x_99;
-x_75 = x_111;
-x_76 = x_112;
-x_77 = x_113;
-goto block_95;
-}
-}
-else
-{
-lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118;
-lean_dec(x_102);
-x_114 = l_Lean_Parser_Command_openRenaming___elambda__1___closed__9;
-x_115 = l_Lean_Parser_ParserState_mkErrorsAt(x_99, x_114, x_98);
-x_116 = lean_ctor_get(x_115, 0);
-lean_inc(x_116);
-x_117 = lean_ctor_get(x_115, 2);
-lean_inc(x_117);
-x_118 = lean_ctor_get(x_115, 3);
-lean_inc(x_118);
-x_74 = x_115;
-x_75 = x_116;
-x_76 = x_117;
-x_77 = x_118;
-goto block_95;
-}
-}
-else
-{
-lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123;
-lean_dec(x_100);
-x_119 = l_Lean_Parser_Command_openRenaming___elambda__1___closed__9;
-x_120 = l_Lean_Parser_ParserState_mkErrorsAt(x_99, x_119, x_98);
-x_121 = lean_ctor_get(x_120, 0);
-lean_inc(x_121);
-x_122 = lean_ctor_get(x_120, 2);
-lean_inc(x_122);
-x_123 = lean_ctor_get(x_120, 3);
-lean_inc(x_123);
-x_74 = x_120;
-x_75 = x_121;
-x_76 = x_122;
-x_77 = x_123;
-goto block_95;
-}
-}
-else
-{
-lean_object* x_124; lean_object* x_125; lean_object* x_126;
-lean_dec(x_97);
-x_124 = lean_ctor_get(x_96, 0);
-lean_inc(x_124);
-x_125 = lean_ctor_get(x_96, 2);
-lean_inc(x_125);
-x_126 = lean_ctor_get(x_96, 3);
-lean_inc(x_126);
-x_74 = x_96;
-x_75 = x_124;
-x_76 = x_125;
-x_77 = x_126;
-goto block_95;
-}
-block_95:
-{
-if (lean_obj_tag(x_77) == 0)
-{
-lean_object* x_78;
-lean_dec(x_76);
-lean_dec(x_75);
-lean_dec(x_72);
-x_78 = lean_ctor_get(x_74, 3);
-lean_inc(x_78);
-if (lean_obj_tag(x_78) == 0)
-{
-uint8_t x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; uint8_t x_83; lean_object* x_84;
-x_79 = 0;
-x_80 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Command_openRenaming___elambda__1___spec__1(x_79, x_1, x_74);
-x_81 = l_Lean_Parser_Command_openRenaming___elambda__1___closed__2;
-x_82 = l_Lean_Parser_ParserState_mkNode(x_80, x_81, x_73);
-x_83 = 1;
-x_84 = l_Lean_Parser_mergeOrElseErrors(x_82, x_64, x_61, x_83);
-lean_dec(x_61);
-return x_84;
-}
-else
-{
-lean_object* x_85; lean_object* x_86; uint8_t x_87; lean_object* x_88;
-lean_dec(x_78);
-lean_dec(x_1);
-x_85 = l_Lean_Parser_Command_openRenaming___elambda__1___closed__2;
-x_86 = l_Lean_Parser_ParserState_mkNode(x_74, x_85, x_73);
-x_87 = 1;
-x_88 = l_Lean_Parser_mergeOrElseErrors(x_86, x_64, x_61, x_87);
-lean_dec(x_61);
-return x_88;
-}
-}
-else
-{
-lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; uint8_t x_93; lean_object* x_94;
-lean_dec(x_74);
-lean_dec(x_1);
-x_89 = l_Array_shrink___main___rarg(x_75, x_73);
-x_90 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_90, 0, x_89);
-lean_ctor_set(x_90, 1, x_72);
-lean_ctor_set(x_90, 2, x_76);
-lean_ctor_set(x_90, 3, x_77);
-x_91 = l_Lean_Parser_Command_openRenaming___elambda__1___closed__2;
-x_92 = l_Lean_Parser_ParserState_mkNode(x_90, x_91, x_73);
-x_93 = 1;
-x_94 = l_Lean_Parser_mergeOrElseErrors(x_92, x_64, x_61, x_93);
-lean_dec(x_61);
-return x_94;
-}
-}
-}
-else
-{
-uint8_t x_127; lean_object* x_128;
-lean_dec(x_70);
-lean_dec(x_1);
-x_127 = 1;
-x_128 = l_Lean_Parser_mergeOrElseErrors(x_69, x_64, x_61, x_127);
-lean_dec(x_61);
-return x_128;
-}
-}
-}
+lean_object* x_22; uint8_t x_23; lean_object* x_24;
+x_22 = l_Lean_Parser_Command_openRenaming___elambda__1___closed__13;
+x_23 = 1;
+x_24 = l_Lean_Parser_orelseFnCore(x_4, x_22, x_23, x_1, x_2);
+return x_24;
}
}
}
@@ -46794,28 +29957,6 @@ x_1 = l_Lean_Parser_Command_openRenaming___closed__9;
return x_1;
}
}
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Command_openRenaming___elambda__1___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
-_start:
-{
-uint8_t x_6; uint8_t x_7; lean_object* x_8;
-x_6 = lean_unbox(x_1);
-lean_dec(x_1);
-x_7 = lean_unbox(x_3);
-lean_dec(x_3);
-x_8 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Command_openRenaming___elambda__1___spec__2(x_6, x_2, x_7, x_4, x_5);
-return x_8;
-}
-}
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Command_openRenaming___elambda__1___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-uint8_t x_4; lean_object* x_5;
-x_4 = lean_unbox(x_1);
-lean_dec(x_1);
-x_5 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Command_openRenaming___elambda__1___spec__1(x_4, x_2, x_3);
-return x_5;
-}
-}
static lean_object* _init_l_Lean_Parser_Command_openOnly___elambda__1___closed__1() {
_start:
{
@@ -46855,6 +29996,64 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Command_openOnly___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_ident___closed__2;
+x_2 = l_Lean_Parser_Level_paren___elambda__1___closed__3;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_openOnly___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_openOnly___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_tryFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_openOnly___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_openOnly___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Command_export___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_openOnly___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_openOnly___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_openOnly___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_openOnly___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_openOnly___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Command_openOnly___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -46875,274 +30074,80 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_60; lean_object* x_61;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_21; lean_object* x_22; lean_object* x_23;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
-x_10 = lean_ctor_get(x_7, 1);
-lean_inc(x_10);
-x_11 = lean_array_get_size(x_9);
+x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
+x_21 = l_Lean_Parser_Command_openOnly___elambda__1___closed__5;
lean_inc(x_1);
-x_60 = l_Lean_Parser_ident___elambda__1(x_1, x_7);
-x_61 = lean_ctor_get(x_60, 3);
-lean_inc(x_61);
-if (lean_obj_tag(x_61) == 0)
+x_22 = l_Lean_Parser_tryFn(x_21, x_1, x_7);
+x_23 = lean_ctor_get(x_22, 3);
+lean_inc(x_23);
+if (lean_obj_tag(x_23) == 0)
{
-lean_object* x_62; lean_object* x_63; lean_object* x_64;
-x_62 = lean_ctor_get(x_60, 1);
-lean_inc(x_62);
+lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
+x_24 = lean_ctor_get(x_22, 0);
+lean_inc(x_24);
+x_25 = lean_array_get_size(x_24);
+lean_dec(x_24);
lean_inc(x_1);
-x_63 = l_Lean_Parser_tokenFn(x_1, x_60);
-x_64 = lean_ctor_get(x_63, 3);
-lean_inc(x_64);
-if (lean_obj_tag(x_64) == 0)
-{
-lean_object* x_65; lean_object* x_66;
-x_65 = lean_ctor_get(x_63, 0);
-lean_inc(x_65);
-x_66 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_65);
-lean_dec(x_65);
-if (lean_obj_tag(x_66) == 2)
-{
-lean_object* x_67; lean_object* x_68; uint8_t x_69;
-x_67 = lean_ctor_get(x_66, 1);
-lean_inc(x_67);
-lean_dec(x_66);
-x_68 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__3;
-x_69 = lean_string_dec_eq(x_67, x_68);
-lean_dec(x_67);
-if (x_69 == 0)
-{
-lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74;
-x_70 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-x_71 = l_Lean_Parser_ParserState_mkErrorsAt(x_63, x_70, x_62);
-x_72 = lean_ctor_get(x_71, 0);
-lean_inc(x_72);
-x_73 = lean_ctor_get(x_71, 2);
-lean_inc(x_73);
-x_74 = lean_ctor_get(x_71, 3);
-lean_inc(x_74);
-x_39 = x_71;
-x_40 = x_72;
-x_41 = x_73;
-x_42 = x_74;
-goto block_59;
-}
-else
-{
-lean_object* x_75; lean_object* x_76; lean_object* x_77;
-lean_dec(x_62);
-x_75 = lean_ctor_get(x_63, 0);
-lean_inc(x_75);
-x_76 = lean_ctor_get(x_63, 2);
-lean_inc(x_76);
-x_77 = lean_ctor_get(x_63, 3);
-lean_inc(x_77);
-x_39 = x_63;
-x_40 = x_75;
-x_41 = x_76;
-x_42 = x_77;
-goto block_59;
-}
-}
-else
-{
-lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82;
-lean_dec(x_66);
-x_78 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-x_79 = l_Lean_Parser_ParserState_mkErrorsAt(x_63, x_78, x_62);
-x_80 = lean_ctor_get(x_79, 0);
-lean_inc(x_80);
-x_81 = lean_ctor_get(x_79, 2);
-lean_inc(x_81);
-x_82 = lean_ctor_get(x_79, 3);
-lean_inc(x_82);
-x_39 = x_79;
-x_40 = x_80;
-x_41 = x_81;
-x_42 = x_82;
-goto block_59;
-}
-}
-else
-{
-lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87;
-lean_dec(x_64);
-x_83 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-x_84 = l_Lean_Parser_ParserState_mkErrorsAt(x_63, x_83, x_62);
-x_85 = lean_ctor_get(x_84, 0);
-lean_inc(x_85);
-x_86 = lean_ctor_get(x_84, 2);
-lean_inc(x_86);
-x_87 = lean_ctor_get(x_84, 3);
-lean_inc(x_87);
-x_39 = x_84;
-x_40 = x_85;
-x_41 = x_86;
-x_42 = x_87;
-goto block_59;
-}
-}
-else
-{
-lean_object* x_88; lean_object* x_89; lean_object* x_90;
-lean_dec(x_61);
-x_88 = lean_ctor_get(x_60, 0);
-lean_inc(x_88);
-x_89 = lean_ctor_get(x_60, 2);
-lean_inc(x_89);
-x_90 = lean_ctor_get(x_60, 3);
-lean_inc(x_90);
-x_39 = x_60;
-x_40 = x_88;
-x_41 = x_89;
-x_42 = x_90;
-goto block_59;
-}
-block_38:
-{
-lean_object* x_13;
-x_13 = lean_ctor_get(x_12, 3);
-lean_inc(x_13);
-if (lean_obj_tag(x_13) == 0)
-{
-lean_object* x_14; lean_object* x_15; lean_object* x_16;
-x_14 = lean_ctor_get(x_12, 1);
-lean_inc(x_14);
-x_15 = l_Lean_Parser_tokenFn(x_1, x_12);
-x_16 = lean_ctor_get(x_15, 3);
-lean_inc(x_16);
-if (lean_obj_tag(x_16) == 0)
-{
-lean_object* x_17; lean_object* x_18;
-x_17 = lean_ctor_get(x_15, 0);
-lean_inc(x_17);
-x_18 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_17);
-lean_dec(x_17);
-if (lean_obj_tag(x_18) == 2)
-{
-lean_object* x_19; lean_object* x_20; uint8_t x_21;
-x_19 = lean_ctor_get(x_18, 1);
-lean_inc(x_19);
-lean_dec(x_18);
-x_20 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
-x_21 = lean_string_dec_eq(x_19, x_20);
-lean_dec(x_19);
-if (x_21 == 0)
-{
-lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25;
-x_22 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_23 = l_Lean_Parser_ParserState_mkErrorsAt(x_15, x_22, x_14);
-x_24 = l_Lean_Parser_Command_openOnly___elambda__1___closed__2;
-x_25 = l_Lean_Parser_ParserState_mkNode(x_23, x_24, x_11);
-return x_25;
-}
-else
-{
-lean_object* x_26; lean_object* x_27;
-lean_dec(x_14);
-x_26 = l_Lean_Parser_Command_openOnly___elambda__1___closed__2;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_15, x_26, x_11);
-return x_27;
-}
-}
-else
+x_26 = l_Lean_Parser_ident___elambda__1(x_1, x_22);
+x_27 = lean_ctor_get(x_26, 3);
+lean_inc(x_27);
+if (lean_obj_tag(x_27) == 0)
{
lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31;
-lean_dec(x_18);
-x_28 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_29 = l_Lean_Parser_ParserState_mkErrorsAt(x_15, x_28, x_14);
-x_30 = l_Lean_Parser_Command_openOnly___elambda__1___closed__2;
-x_31 = l_Lean_Parser_ParserState_mkNode(x_29, x_30, x_11);
-return x_31;
+x_28 = l_Lean_Parser_ident___closed__2;
+lean_inc(x_1);
+x_29 = l_Lean_Parser_manyAux(x_28, x_1, x_26);
+x_30 = l_Lean_nullKind;
+x_31 = l_Lean_Parser_ParserState_mkNode(x_29, x_30, x_25);
+x_11 = x_31;
+goto block_20;
+}
+else
+{
+lean_object* x_32; lean_object* x_33;
+lean_dec(x_27);
+x_32 = l_Lean_nullKind;
+x_33 = l_Lean_Parser_ParserState_mkNode(x_26, x_32, x_25);
+x_11 = x_33;
+goto block_20;
}
}
else
{
-lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35;
-lean_dec(x_16);
-x_32 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_33 = l_Lean_Parser_ParserState_mkErrorsAt(x_15, x_32, x_14);
+lean_object* x_34; lean_object* x_35;
+lean_dec(x_23);
+lean_dec(x_1);
x_34 = l_Lean_Parser_Command_openOnly___elambda__1___closed__2;
-x_35 = l_Lean_Parser_ParserState_mkNode(x_33, x_34, x_11);
+x_35 = l_Lean_Parser_ParserState_mkNode(x_22, x_34, x_10);
return x_35;
}
+block_20:
+{
+lean_object* x_12;
+x_12 = lean_ctor_get(x_11, 3);
+lean_inc(x_12);
+if (lean_obj_tag(x_12) == 0)
+{
+lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
+x_13 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
+x_14 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__9;
+x_15 = l_Lean_Parser_symbolFnAux(x_13, x_14, x_1, x_11);
+x_16 = l_Lean_Parser_Command_openOnly___elambda__1___closed__2;
+x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_10);
+return x_17;
}
else
{
-lean_object* x_36; lean_object* x_37;
-lean_dec(x_13);
+lean_object* x_18; lean_object* x_19;
+lean_dec(x_12);
lean_dec(x_1);
-x_36 = l_Lean_Parser_Command_openOnly___elambda__1___closed__2;
-x_37 = l_Lean_Parser_ParserState_mkNode(x_12, x_36, x_11);
-return x_37;
-}
-}
-block_59:
-{
-if (lean_obj_tag(x_42) == 0)
-{
-lean_object* x_43;
-lean_dec(x_41);
-lean_dec(x_40);
-lean_dec(x_10);
-x_43 = lean_ctor_get(x_39, 3);
-lean_inc(x_43);
-if (lean_obj_tag(x_43) == 0)
-{
-lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47;
-x_44 = lean_ctor_get(x_39, 0);
-lean_inc(x_44);
-x_45 = lean_array_get_size(x_44);
-lean_dec(x_44);
-lean_inc(x_1);
-x_46 = l_Lean_Parser_ident___elambda__1(x_1, x_39);
-x_47 = lean_ctor_get(x_46, 3);
-lean_inc(x_47);
-if (lean_obj_tag(x_47) == 0)
-{
-lean_object* x_48; lean_object* x_49; lean_object* x_50;
-lean_inc(x_1);
-x_48 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_structExplicitBinder___elambda__1___spec__1(x_1, x_46);
-x_49 = l_Lean_nullKind;
-x_50 = l_Lean_Parser_ParserState_mkNode(x_48, x_49, x_45);
-x_12 = x_50;
-goto block_38;
-}
-else
-{
-lean_object* x_51; lean_object* x_52;
-lean_dec(x_47);
-x_51 = l_Lean_nullKind;
-x_52 = l_Lean_Parser_ParserState_mkNode(x_46, x_51, x_45);
-x_12 = x_52;
-goto block_38;
-}
-}
-else
-{
-lean_object* x_53; lean_object* x_54;
-lean_dec(x_43);
-lean_dec(x_1);
-x_53 = l_Lean_Parser_Command_openOnly___elambda__1___closed__2;
-x_54 = l_Lean_Parser_ParserState_mkNode(x_39, x_53, x_11);
-return x_54;
-}
-}
-else
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58;
-lean_dec(x_39);
-lean_dec(x_1);
-x_55 = l_Array_shrink___main___rarg(x_40, x_11);
-x_56 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_56, 0, x_55);
-lean_ctor_set(x_56, 1, x_10);
-lean_ctor_set(x_56, 2, x_41);
-lean_ctor_set(x_56, 3, x_42);
-x_57 = l_Lean_Parser_Command_openOnly___elambda__1___closed__2;
-x_58 = l_Lean_Parser_ParserState_mkNode(x_56, x_57, x_11);
-return x_58;
+x_18 = l_Lean_Parser_Command_openOnly___elambda__1___closed__2;
+x_19 = l_Lean_Parser_ParserState_mkNode(x_11, x_18, x_10);
+return x_19;
}
}
}
@@ -47155,358 +30160,11 @@ return x_7;
}
else
{
-lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95;
-x_91 = lean_ctor_get(x_2, 0);
-lean_inc(x_91);
-x_92 = lean_array_get_size(x_91);
-lean_dec(x_91);
-x_93 = lean_ctor_get(x_2, 1);
-lean_inc(x_93);
-lean_inc(x_1);
-x_94 = lean_apply_2(x_4, x_1, x_2);
-x_95 = lean_ctor_get(x_94, 3);
-lean_inc(x_95);
-if (lean_obj_tag(x_95) == 0)
-{
-lean_dec(x_93);
-lean_dec(x_92);
-lean_dec(x_1);
-return x_94;
-}
-else
-{
-lean_object* x_96; lean_object* x_97; uint8_t x_98;
-x_96 = lean_ctor_get(x_95, 0);
-lean_inc(x_96);
-lean_dec(x_95);
-x_97 = lean_ctor_get(x_94, 1);
-lean_inc(x_97);
-x_98 = lean_nat_dec_eq(x_97, x_93);
-lean_dec(x_97);
-if (x_98 == 0)
-{
-lean_dec(x_96);
-lean_dec(x_93);
-lean_dec(x_92);
-lean_dec(x_1);
-return x_94;
-}
-else
-{
-lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102;
-lean_inc(x_93);
-x_99 = l_Lean_Parser_ParserState_restore(x_94, x_92, x_93);
-lean_dec(x_92);
-x_100 = lean_unsigned_to_nat(1024u);
-x_101 = l_Lean_Parser_checkPrecFn(x_100, x_1, x_99);
-x_102 = lean_ctor_get(x_101, 3);
-lean_inc(x_102);
-if (lean_obj_tag(x_102) == 0)
-{
-lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_168; lean_object* x_169;
-x_103 = lean_ctor_get(x_101, 0);
-lean_inc(x_103);
-x_104 = lean_ctor_get(x_101, 1);
-lean_inc(x_104);
-x_105 = lean_array_get_size(x_103);
-lean_dec(x_103);
-lean_inc(x_1);
-x_168 = l_Lean_Parser_ident___elambda__1(x_1, x_101);
-x_169 = lean_ctor_get(x_168, 3);
-lean_inc(x_169);
-if (lean_obj_tag(x_169) == 0)
-{
-lean_object* x_170; lean_object* x_171; lean_object* x_172;
-x_170 = lean_ctor_get(x_168, 1);
-lean_inc(x_170);
-lean_inc(x_1);
-x_171 = l_Lean_Parser_tokenFn(x_1, x_168);
-x_172 = lean_ctor_get(x_171, 3);
-lean_inc(x_172);
-if (lean_obj_tag(x_172) == 0)
-{
-lean_object* x_173; lean_object* x_174;
-x_173 = lean_ctor_get(x_171, 0);
-lean_inc(x_173);
-x_174 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_173);
-lean_dec(x_173);
-if (lean_obj_tag(x_174) == 2)
-{
-lean_object* x_175; lean_object* x_176; uint8_t x_177;
-x_175 = lean_ctor_get(x_174, 1);
-lean_inc(x_175);
-lean_dec(x_174);
-x_176 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__3;
-x_177 = lean_string_dec_eq(x_175, x_176);
-lean_dec(x_175);
-if (x_177 == 0)
-{
-lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182;
-x_178 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-x_179 = l_Lean_Parser_ParserState_mkErrorsAt(x_171, x_178, x_170);
-x_180 = lean_ctor_get(x_179, 0);
-lean_inc(x_180);
-x_181 = lean_ctor_get(x_179, 2);
-lean_inc(x_181);
-x_182 = lean_ctor_get(x_179, 3);
-lean_inc(x_182);
-x_143 = x_179;
-x_144 = x_180;
-x_145 = x_181;
-x_146 = x_182;
-goto block_167;
-}
-else
-{
-lean_object* x_183; lean_object* x_184; lean_object* x_185;
-lean_dec(x_170);
-x_183 = lean_ctor_get(x_171, 0);
-lean_inc(x_183);
-x_184 = lean_ctor_get(x_171, 2);
-lean_inc(x_184);
-x_185 = lean_ctor_get(x_171, 3);
-lean_inc(x_185);
-x_143 = x_171;
-x_144 = x_183;
-x_145 = x_184;
-x_146 = x_185;
-goto block_167;
-}
-}
-else
-{
-lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190;
-lean_dec(x_174);
-x_186 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-x_187 = l_Lean_Parser_ParserState_mkErrorsAt(x_171, x_186, x_170);
-x_188 = lean_ctor_get(x_187, 0);
-lean_inc(x_188);
-x_189 = lean_ctor_get(x_187, 2);
-lean_inc(x_189);
-x_190 = lean_ctor_get(x_187, 3);
-lean_inc(x_190);
-x_143 = x_187;
-x_144 = x_188;
-x_145 = x_189;
-x_146 = x_190;
-goto block_167;
-}
-}
-else
-{
-lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195;
-lean_dec(x_172);
-x_191 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-x_192 = l_Lean_Parser_ParserState_mkErrorsAt(x_171, x_191, x_170);
-x_193 = lean_ctor_get(x_192, 0);
-lean_inc(x_193);
-x_194 = lean_ctor_get(x_192, 2);
-lean_inc(x_194);
-x_195 = lean_ctor_get(x_192, 3);
-lean_inc(x_195);
-x_143 = x_192;
-x_144 = x_193;
-x_145 = x_194;
-x_146 = x_195;
-goto block_167;
-}
-}
-else
-{
-lean_object* x_196; lean_object* x_197; lean_object* x_198;
-lean_dec(x_169);
-x_196 = lean_ctor_get(x_168, 0);
-lean_inc(x_196);
-x_197 = lean_ctor_get(x_168, 2);
-lean_inc(x_197);
-x_198 = lean_ctor_get(x_168, 3);
-lean_inc(x_198);
-x_143 = x_168;
-x_144 = x_196;
-x_145 = x_197;
-x_146 = x_198;
-goto block_167;
-}
-block_142:
-{
-lean_object* x_107;
-x_107 = lean_ctor_get(x_106, 3);
-lean_inc(x_107);
-if (lean_obj_tag(x_107) == 0)
-{
-lean_object* x_108; lean_object* x_109; lean_object* x_110;
-x_108 = lean_ctor_get(x_106, 1);
-lean_inc(x_108);
-x_109 = l_Lean_Parser_tokenFn(x_1, x_106);
-x_110 = lean_ctor_get(x_109, 3);
-lean_inc(x_110);
-if (lean_obj_tag(x_110) == 0)
-{
-lean_object* x_111; lean_object* x_112;
-x_111 = lean_ctor_get(x_109, 0);
-lean_inc(x_111);
-x_112 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_111);
-lean_dec(x_111);
-if (lean_obj_tag(x_112) == 2)
-{
-lean_object* x_113; lean_object* x_114; uint8_t x_115;
-x_113 = lean_ctor_get(x_112, 1);
-lean_inc(x_113);
-lean_dec(x_112);
-x_114 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
-x_115 = lean_string_dec_eq(x_113, x_114);
-lean_dec(x_113);
-if (x_115 == 0)
-{
-lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; uint8_t x_120; lean_object* x_121;
-x_116 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_117 = l_Lean_Parser_ParserState_mkErrorsAt(x_109, x_116, x_108);
-x_118 = l_Lean_Parser_Command_openOnly___elambda__1___closed__2;
-x_119 = l_Lean_Parser_ParserState_mkNode(x_117, x_118, x_105);
-x_120 = 1;
-x_121 = l_Lean_Parser_mergeOrElseErrors(x_119, x_96, x_93, x_120);
-lean_dec(x_93);
-return x_121;
-}
-else
-{
-lean_object* x_122; lean_object* x_123; uint8_t x_124; lean_object* x_125;
-lean_dec(x_108);
-x_122 = l_Lean_Parser_Command_openOnly___elambda__1___closed__2;
-x_123 = l_Lean_Parser_ParserState_mkNode(x_109, x_122, x_105);
-x_124 = 1;
-x_125 = l_Lean_Parser_mergeOrElseErrors(x_123, x_96, x_93, x_124);
-lean_dec(x_93);
-return x_125;
-}
-}
-else
-{
-lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; uint8_t x_130; lean_object* x_131;
-lean_dec(x_112);
-x_126 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_127 = l_Lean_Parser_ParserState_mkErrorsAt(x_109, x_126, x_108);
-x_128 = l_Lean_Parser_Command_openOnly___elambda__1___closed__2;
-x_129 = l_Lean_Parser_ParserState_mkNode(x_127, x_128, x_105);
-x_130 = 1;
-x_131 = l_Lean_Parser_mergeOrElseErrors(x_129, x_96, x_93, x_130);
-lean_dec(x_93);
-return x_131;
-}
-}
-else
-{
-lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; uint8_t x_136; lean_object* x_137;
-lean_dec(x_110);
-x_132 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_133 = l_Lean_Parser_ParserState_mkErrorsAt(x_109, x_132, x_108);
-x_134 = l_Lean_Parser_Command_openOnly___elambda__1___closed__2;
-x_135 = l_Lean_Parser_ParserState_mkNode(x_133, x_134, x_105);
-x_136 = 1;
-x_137 = l_Lean_Parser_mergeOrElseErrors(x_135, x_96, x_93, x_136);
-lean_dec(x_93);
-return x_137;
-}
-}
-else
-{
-lean_object* x_138; lean_object* x_139; uint8_t x_140; lean_object* x_141;
-lean_dec(x_107);
-lean_dec(x_1);
-x_138 = l_Lean_Parser_Command_openOnly___elambda__1___closed__2;
-x_139 = l_Lean_Parser_ParserState_mkNode(x_106, x_138, x_105);
-x_140 = 1;
-x_141 = l_Lean_Parser_mergeOrElseErrors(x_139, x_96, x_93, x_140);
-lean_dec(x_93);
-return x_141;
-}
-}
-block_167:
-{
-if (lean_obj_tag(x_146) == 0)
-{
-lean_object* x_147;
-lean_dec(x_145);
-lean_dec(x_144);
-lean_dec(x_104);
-x_147 = lean_ctor_get(x_143, 3);
-lean_inc(x_147);
-if (lean_obj_tag(x_147) == 0)
-{
-lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151;
-x_148 = lean_ctor_get(x_143, 0);
-lean_inc(x_148);
-x_149 = lean_array_get_size(x_148);
-lean_dec(x_148);
-lean_inc(x_1);
-x_150 = l_Lean_Parser_ident___elambda__1(x_1, x_143);
-x_151 = lean_ctor_get(x_150, 3);
-lean_inc(x_151);
-if (lean_obj_tag(x_151) == 0)
-{
-lean_object* x_152; lean_object* x_153; lean_object* x_154;
-lean_inc(x_1);
-x_152 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_structExplicitBinder___elambda__1___spec__1(x_1, x_150);
-x_153 = l_Lean_nullKind;
-x_154 = l_Lean_Parser_ParserState_mkNode(x_152, x_153, x_149);
-x_106 = x_154;
-goto block_142;
-}
-else
-{
-lean_object* x_155; lean_object* x_156;
-lean_dec(x_151);
-x_155 = l_Lean_nullKind;
-x_156 = l_Lean_Parser_ParserState_mkNode(x_150, x_155, x_149);
-x_106 = x_156;
-goto block_142;
-}
-}
-else
-{
-lean_object* x_157; lean_object* x_158; uint8_t x_159; lean_object* x_160;
-lean_dec(x_147);
-lean_dec(x_1);
-x_157 = l_Lean_Parser_Command_openOnly___elambda__1___closed__2;
-x_158 = l_Lean_Parser_ParserState_mkNode(x_143, x_157, x_105);
-x_159 = 1;
-x_160 = l_Lean_Parser_mergeOrElseErrors(x_158, x_96, x_93, x_159);
-lean_dec(x_93);
-return x_160;
-}
-}
-else
-{
-lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; uint8_t x_165; lean_object* x_166;
-lean_dec(x_143);
-lean_dec(x_1);
-x_161 = l_Array_shrink___main___rarg(x_144, x_105);
-x_162 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_162, 0, x_161);
-lean_ctor_set(x_162, 1, x_104);
-lean_ctor_set(x_162, 2, x_145);
-lean_ctor_set(x_162, 3, x_146);
-x_163 = l_Lean_Parser_Command_openOnly___elambda__1___closed__2;
-x_164 = l_Lean_Parser_ParserState_mkNode(x_162, x_163, x_105);
-x_165 = 1;
-x_166 = l_Lean_Parser_mergeOrElseErrors(x_164, x_96, x_93, x_165);
-lean_dec(x_93);
-return x_166;
-}
-}
-}
-else
-{
-uint8_t x_199; lean_object* x_200;
-lean_dec(x_102);
-lean_dec(x_1);
-x_199 = 1;
-x_200 = l_Lean_Parser_mergeOrElseErrors(x_101, x_96, x_93, x_199);
-lean_dec(x_93);
-return x_200;
-}
-}
-}
+lean_object* x_36; uint8_t x_37; lean_object* x_38;
+x_36 = l_Lean_Parser_Command_openOnly___elambda__1___closed__9;
+x_37 = 1;
+x_38 = l_Lean_Parser_orelseFnCore(x_4, x_36, x_37, x_1, x_2);
+return x_38;
}
}
}
@@ -47631,6 +30289,30 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Command_openSimple___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_openSimple___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_openSimple___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_openSimple___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Command_openSimple___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -47662,26 +30344,27 @@ x_12 = lean_ctor_get(x_11, 3);
lean_inc(x_12);
if (lean_obj_tag(x_12) == 0)
{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_13 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_structExplicitBinder___elambda__1___spec__1(x_1, x_11);
-x_14 = l_Lean_nullKind;
+lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
+x_13 = l_Lean_Parser_ident___closed__2;
+x_14 = l_Lean_Parser_manyAux(x_13, x_1, x_11);
+x_15 = l_Lean_nullKind;
lean_inc(x_10);
-x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
-x_16 = l_Lean_Parser_Command_openSimple___elambda__1___closed__2;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_10);
-return x_17;
+x_16 = l_Lean_Parser_ParserState_mkNode(x_14, x_15, x_10);
+x_17 = l_Lean_Parser_Command_openSimple___elambda__1___closed__2;
+x_18 = l_Lean_Parser_ParserState_mkNode(x_16, x_17, x_10);
+return x_18;
}
else
{
-lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
+lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
lean_dec(x_12);
lean_dec(x_1);
-x_18 = l_Lean_nullKind;
+x_19 = l_Lean_nullKind;
lean_inc(x_10);
-x_19 = l_Lean_Parser_ParserState_mkNode(x_11, x_18, x_10);
-x_20 = l_Lean_Parser_Command_openSimple___elambda__1___closed__2;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_10);
-return x_21;
+x_20 = l_Lean_Parser_ParserState_mkNode(x_11, x_19, x_10);
+x_21 = l_Lean_Parser_Command_openSimple___elambda__1___closed__2;
+x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_10);
+return x_22;
}
}
else
@@ -47693,106 +30376,12 @@ return x_7;
}
else
{
-lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26;
-x_22 = lean_ctor_get(x_2, 0);
-lean_inc(x_22);
-x_23 = lean_array_get_size(x_22);
-lean_dec(x_22);
-x_24 = lean_ctor_get(x_2, 1);
-lean_inc(x_24);
-lean_inc(x_1);
-x_25 = lean_apply_2(x_4, x_1, x_2);
-x_26 = lean_ctor_get(x_25, 3);
-lean_inc(x_26);
-if (lean_obj_tag(x_26) == 0)
-{
-lean_dec(x_24);
-lean_dec(x_23);
-lean_dec(x_1);
+lean_object* x_23; uint8_t x_24; lean_object* x_25;
+x_23 = l_Lean_Parser_Command_openSimple___elambda__1___closed__6;
+x_24 = 1;
+x_25 = l_Lean_Parser_orelseFnCore(x_4, x_23, x_24, x_1, x_2);
return x_25;
}
-else
-{
-lean_object* x_27; lean_object* x_28; uint8_t x_29;
-x_27 = lean_ctor_get(x_26, 0);
-lean_inc(x_27);
-lean_dec(x_26);
-x_28 = lean_ctor_get(x_25, 1);
-lean_inc(x_28);
-x_29 = lean_nat_dec_eq(x_28, x_24);
-lean_dec(x_28);
-if (x_29 == 0)
-{
-lean_dec(x_27);
-lean_dec(x_24);
-lean_dec(x_23);
-lean_dec(x_1);
-return x_25;
-}
-else
-{
-lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
-lean_inc(x_24);
-x_30 = l_Lean_Parser_ParserState_restore(x_25, x_23, x_24);
-lean_dec(x_23);
-x_31 = lean_unsigned_to_nat(1024u);
-x_32 = l_Lean_Parser_checkPrecFn(x_31, x_1, x_30);
-x_33 = lean_ctor_get(x_32, 3);
-lean_inc(x_33);
-if (lean_obj_tag(x_33) == 0)
-{
-lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_34 = lean_ctor_get(x_32, 0);
-lean_inc(x_34);
-x_35 = lean_array_get_size(x_34);
-lean_dec(x_34);
-lean_inc(x_1);
-x_36 = l_Lean_Parser_ident___elambda__1(x_1, x_32);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-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_object* x_44;
-x_38 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_structExplicitBinder___elambda__1___spec__1(x_1, x_36);
-x_39 = l_Lean_nullKind;
-lean_inc(x_35);
-x_40 = l_Lean_Parser_ParserState_mkNode(x_38, x_39, x_35);
-x_41 = l_Lean_Parser_Command_openSimple___elambda__1___closed__2;
-x_42 = l_Lean_Parser_ParserState_mkNode(x_40, x_41, x_35);
-x_43 = 1;
-x_44 = l_Lean_Parser_mergeOrElseErrors(x_42, x_27, x_24, x_43);
-lean_dec(x_24);
-return x_44;
-}
-else
-{
-lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; uint8_t x_49; lean_object* x_50;
-lean_dec(x_37);
-lean_dec(x_1);
-x_45 = l_Lean_nullKind;
-lean_inc(x_35);
-x_46 = l_Lean_Parser_ParserState_mkNode(x_36, x_45, x_35);
-x_47 = l_Lean_Parser_Command_openSimple___elambda__1___closed__2;
-x_48 = l_Lean_Parser_ParserState_mkNode(x_46, x_47, x_35);
-x_49 = 1;
-x_50 = l_Lean_Parser_mergeOrElseErrors(x_48, x_27, x_24, x_49);
-lean_dec(x_24);
-return x_50;
-}
-}
-else
-{
-uint8_t x_51; lean_object* x_52;
-lean_dec(x_33);
-lean_dec(x_1);
-x_51 = 1;
-x_52 = l_Lean_Parser_mergeOrElseErrors(x_32, x_27, x_24, x_51);
-lean_dec(x_24);
-return x_52;
-}
-}
-}
-}
}
}
static lean_object* _init_l_Lean_Parser_Command_openSimple___closed__1() {
@@ -47916,20 +30505,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_open___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_open___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_open___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_open___elambda__1___closed__8() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Command_open___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Command_openOnly___closed__6;
+x_2 = l_Lean_Parser_Command_openSimple___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -47937,11 +30528,79 @@ static lean_object* _init_l_Lean_Parser_Command_open___elambda__1___closed__9()
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Command_openRenaming___closed__8;
x_2 = l_Lean_Parser_Command_open___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_open___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_openHiding___closed__7;
+x_2 = l_Lean_Parser_Command_open___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_open___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_open___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Command_open___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_open___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_open___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_open___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_open___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_open___elambda__1___closed__12;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_open___elambda__1___closed__14() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Command_open___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_open___elambda__1___closed__15() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_open___elambda__1___closed__14;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -47965,247 +30624,36 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_70; lean_object* x_71; lean_object* x_72;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_70 = lean_ctor_get(x_7, 1);
-lean_inc(x_70);
+x_11 = l_Lean_Parser_Command_open___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Command_open___elambda__1___closed__15;
lean_inc(x_1);
-x_71 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_72 = lean_ctor_get(x_71, 3);
-lean_inc(x_72);
-if (lean_obj_tag(x_72) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_73; lean_object* x_74;
-x_73 = lean_ctor_get(x_71, 0);
-lean_inc(x_73);
-x_74 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_73);
-lean_dec(x_73);
-if (lean_obj_tag(x_74) == 2)
-{
-lean_object* x_75; lean_object* x_76; uint8_t x_77;
-x_75 = lean_ctor_get(x_74, 1);
-lean_inc(x_75);
-lean_dec(x_74);
-x_76 = l_Lean_Parser_Command_open___elambda__1___closed__6;
-x_77 = lean_string_dec_eq(x_75, x_76);
-lean_dec(x_75);
-if (x_77 == 0)
-{
-lean_object* x_78; lean_object* x_79;
-x_78 = l_Lean_Parser_Command_open___elambda__1___closed__9;
-x_79 = l_Lean_Parser_ParserState_mkErrorsAt(x_71, x_78, x_70);
-x_11 = x_79;
-goto block_69;
+lean_object* x_15; lean_object* x_16; uint8_t x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
+x_15 = l_Lean_Parser_Command_openHiding___closed__7;
+x_16 = l_Lean_Parser_Command_open___elambda__1___closed__9;
+x_17 = 1;
+x_18 = l_Lean_Parser_orelseFnCore(x_15, x_16, x_17, x_1, x_13);
+x_19 = l_Lean_Parser_Command_open___elambda__1___closed__2;
+x_20 = l_Lean_Parser_ParserState_mkNode(x_18, x_19, x_10);
+return x_20;
}
else
{
-lean_dec(x_70);
-x_11 = x_71;
-goto block_69;
-}
-}
-else
-{
-lean_object* x_80; lean_object* x_81;
-lean_dec(x_74);
-x_80 = l_Lean_Parser_Command_open___elambda__1___closed__9;
-x_81 = l_Lean_Parser_ParserState_mkErrorsAt(x_71, x_80, x_70);
-x_11 = x_81;
-goto block_69;
-}
-}
-else
-{
-lean_object* x_82; lean_object* x_83;
-lean_dec(x_72);
-x_82 = l_Lean_Parser_Command_open___elambda__1___closed__9;
-x_83 = l_Lean_Parser_ParserState_mkErrorsAt(x_71, x_82, x_70);
-x_11 = x_83;
-goto block_69;
-}
-block_69:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_13 = lean_ctor_get(x_11, 0);
-lean_inc(x_13);
-x_14 = lean_array_get_size(x_13);
-lean_dec(x_13);
-x_15 = lean_ctor_get(x_11, 1);
-lean_inc(x_15);
-lean_inc(x_1);
-x_16 = l_Lean_Parser_Command_openHiding___elambda__1(x_1, x_11);
-x_17 = lean_ctor_get(x_16, 3);
-lean_inc(x_17);
-if (lean_obj_tag(x_17) == 0)
-{
-lean_object* x_18; lean_object* x_19;
-lean_dec(x_15);
+lean_object* x_21; lean_object* x_22;
lean_dec(x_14);
lean_dec(x_1);
-x_18 = l_Lean_Parser_Command_open___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_16, x_18, x_10);
-return x_19;
-}
-else
-{
-lean_object* x_20; lean_object* x_21; uint8_t x_22;
-x_20 = lean_ctor_get(x_17, 0);
-lean_inc(x_20);
-lean_dec(x_17);
-x_21 = lean_ctor_get(x_16, 1);
-lean_inc(x_21);
-x_22 = lean_nat_dec_eq(x_21, x_15);
-lean_dec(x_21);
-if (x_22 == 0)
-{
-lean_object* x_23; lean_object* x_24;
-lean_dec(x_20);
-lean_dec(x_15);
-lean_dec(x_14);
-lean_dec(x_1);
-x_23 = l_Lean_Parser_Command_open___elambda__1___closed__2;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_16, x_23, x_10);
-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_inc(x_15);
-x_25 = l_Lean_Parser_ParserState_restore(x_16, x_14, x_15);
-lean_dec(x_14);
-x_26 = lean_ctor_get(x_25, 0);
-lean_inc(x_26);
-x_27 = lean_array_get_size(x_26);
-lean_dec(x_26);
-lean_inc(x_1);
-x_28 = l_Lean_Parser_Command_openRenaming___elambda__1(x_1, x_25);
-x_29 = lean_ctor_get(x_28, 3);
-lean_inc(x_29);
-if (lean_obj_tag(x_29) == 0)
-{
-uint8_t x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
-lean_dec(x_27);
-lean_dec(x_1);
-x_30 = 1;
-x_31 = l_Lean_Parser_mergeOrElseErrors(x_28, x_20, x_15, x_30);
-lean_dec(x_15);
-x_32 = l_Lean_Parser_Command_open___elambda__1___closed__2;
-x_33 = l_Lean_Parser_ParserState_mkNode(x_31, x_32, x_10);
-return x_33;
-}
-else
-{
-lean_object* x_34; lean_object* x_35; uint8_t x_36;
-x_34 = lean_ctor_get(x_29, 0);
-lean_inc(x_34);
-lean_dec(x_29);
-x_35 = lean_ctor_get(x_28, 1);
-lean_inc(x_35);
-x_36 = lean_nat_dec_eq(x_35, x_15);
-lean_dec(x_35);
-if (x_36 == 0)
-{
-uint8_t x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40;
-lean_dec(x_34);
-lean_dec(x_27);
-lean_dec(x_1);
-x_37 = 1;
-x_38 = l_Lean_Parser_mergeOrElseErrors(x_28, x_20, x_15, x_37);
-lean_dec(x_15);
-x_39 = l_Lean_Parser_Command_open___elambda__1___closed__2;
-x_40 = l_Lean_Parser_ParserState_mkNode(x_38, x_39, x_10);
-return x_40;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45;
-lean_inc(x_15);
-x_41 = l_Lean_Parser_ParserState_restore(x_28, x_27, x_15);
-lean_dec(x_27);
-x_42 = lean_ctor_get(x_41, 0);
-lean_inc(x_42);
-x_43 = lean_array_get_size(x_42);
-lean_dec(x_42);
-lean_inc(x_1);
-x_44 = l_Lean_Parser_Command_openOnly___elambda__1(x_1, x_41);
-x_45 = lean_ctor_get(x_44, 3);
-lean_inc(x_45);
-if (lean_obj_tag(x_45) == 0)
-{
-uint8_t x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50;
-lean_dec(x_43);
-lean_dec(x_1);
-x_46 = 1;
-x_47 = l_Lean_Parser_mergeOrElseErrors(x_44, x_34, x_15, x_46);
-x_48 = l_Lean_Parser_mergeOrElseErrors(x_47, x_20, x_15, x_46);
-lean_dec(x_15);
-x_49 = l_Lean_Parser_Command_open___elambda__1___closed__2;
-x_50 = l_Lean_Parser_ParserState_mkNode(x_48, x_49, x_10);
-return x_50;
-}
-else
-{
-lean_object* x_51; lean_object* x_52; uint8_t x_53;
-x_51 = lean_ctor_get(x_45, 0);
-lean_inc(x_51);
-lean_dec(x_45);
-x_52 = lean_ctor_get(x_44, 1);
-lean_inc(x_52);
-x_53 = lean_nat_dec_eq(x_52, x_15);
-lean_dec(x_52);
-if (x_53 == 0)
-{
-uint8_t x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58;
-lean_dec(x_51);
-lean_dec(x_43);
-lean_dec(x_1);
-x_54 = 1;
-x_55 = l_Lean_Parser_mergeOrElseErrors(x_44, x_34, x_15, x_54);
-x_56 = l_Lean_Parser_mergeOrElseErrors(x_55, x_20, x_15, x_54);
-lean_dec(x_15);
-x_57 = l_Lean_Parser_Command_open___elambda__1___closed__2;
-x_58 = l_Lean_Parser_ParserState_mkNode(x_56, x_57, x_10);
-return x_58;
-}
-else
-{
-lean_object* x_59; lean_object* x_60; uint8_t x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66;
-lean_inc(x_15);
-x_59 = l_Lean_Parser_ParserState_restore(x_44, x_43, x_15);
-lean_dec(x_43);
-x_60 = l_Lean_Parser_Command_openSimple___elambda__1(x_1, x_59);
-x_61 = 1;
-x_62 = l_Lean_Parser_mergeOrElseErrors(x_60, x_51, x_15, x_61);
-x_63 = l_Lean_Parser_mergeOrElseErrors(x_62, x_34, x_15, x_61);
-x_64 = l_Lean_Parser_mergeOrElseErrors(x_63, x_20, x_15, x_61);
-lean_dec(x_15);
-x_65 = l_Lean_Parser_Command_open___elambda__1___closed__2;
-x_66 = l_Lean_Parser_ParserState_mkNode(x_64, x_65, x_10);
-return x_66;
-}
-}
-}
-}
-}
-}
-}
-else
-{
-lean_object* x_67; lean_object* x_68;
-lean_dec(x_12);
-lean_dec(x_1);
-x_67 = l_Lean_Parser_Command_open___elambda__1___closed__2;
-x_68 = l_Lean_Parser_ParserState_mkNode(x_11, x_67, x_10);
-return x_68;
-}
+x_21 = l_Lean_Parser_Command_open___elambda__1___closed__2;
+x_22 = l_Lean_Parser_ParserState_mkNode(x_13, x_21, x_10);
+return x_22;
}
}
else
@@ -48217,328 +30665,11 @@ return x_7;
}
else
{
-lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88;
-x_84 = lean_ctor_get(x_2, 0);
-lean_inc(x_84);
-x_85 = lean_array_get_size(x_84);
-lean_dec(x_84);
-x_86 = lean_ctor_get(x_2, 1);
-lean_inc(x_86);
-lean_inc(x_1);
-x_87 = lean_apply_2(x_4, x_1, x_2);
-x_88 = lean_ctor_get(x_87, 3);
-lean_inc(x_88);
-if (lean_obj_tag(x_88) == 0)
-{
-lean_dec(x_86);
-lean_dec(x_85);
-lean_dec(x_1);
-return x_87;
-}
-else
-{
-lean_object* x_89; lean_object* x_90; uint8_t x_91;
-x_89 = lean_ctor_get(x_88, 0);
-lean_inc(x_89);
-lean_dec(x_88);
-x_90 = lean_ctor_get(x_87, 1);
-lean_inc(x_90);
-x_91 = lean_nat_dec_eq(x_90, x_86);
-lean_dec(x_90);
-if (x_91 == 0)
-{
-lean_dec(x_89);
-lean_dec(x_86);
-lean_dec(x_85);
-lean_dec(x_1);
-return x_87;
-}
-else
-{
-lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95;
-lean_inc(x_86);
-x_92 = l_Lean_Parser_ParserState_restore(x_87, x_85, x_86);
-lean_dec(x_85);
-x_93 = lean_unsigned_to_nat(1024u);
-x_94 = l_Lean_Parser_checkPrecFn(x_93, x_1, x_92);
-x_95 = lean_ctor_get(x_94, 3);
-lean_inc(x_95);
-if (lean_obj_tag(x_95) == 0)
-{
-lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_168; lean_object* x_169; lean_object* x_170;
-x_96 = lean_ctor_get(x_94, 0);
-lean_inc(x_96);
-x_97 = lean_array_get_size(x_96);
-lean_dec(x_96);
-x_168 = lean_ctor_get(x_94, 1);
-lean_inc(x_168);
-lean_inc(x_1);
-x_169 = l_Lean_Parser_tokenFn(x_1, x_94);
-x_170 = lean_ctor_get(x_169, 3);
-lean_inc(x_170);
-if (lean_obj_tag(x_170) == 0)
-{
-lean_object* x_171; lean_object* x_172;
-x_171 = lean_ctor_get(x_169, 0);
-lean_inc(x_171);
-x_172 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_171);
-lean_dec(x_171);
-if (lean_obj_tag(x_172) == 2)
-{
-lean_object* x_173; lean_object* x_174; uint8_t x_175;
-x_173 = lean_ctor_get(x_172, 1);
-lean_inc(x_173);
-lean_dec(x_172);
-x_174 = l_Lean_Parser_Command_open___elambda__1___closed__6;
-x_175 = lean_string_dec_eq(x_173, x_174);
-lean_dec(x_173);
-if (x_175 == 0)
-{
-lean_object* x_176; lean_object* x_177;
-x_176 = l_Lean_Parser_Command_open___elambda__1___closed__9;
-x_177 = l_Lean_Parser_ParserState_mkErrorsAt(x_169, x_176, x_168);
-x_98 = x_177;
-goto block_167;
-}
-else
-{
-lean_dec(x_168);
-x_98 = x_169;
-goto block_167;
-}
-}
-else
-{
-lean_object* x_178; lean_object* x_179;
-lean_dec(x_172);
-x_178 = l_Lean_Parser_Command_open___elambda__1___closed__9;
-x_179 = l_Lean_Parser_ParserState_mkErrorsAt(x_169, x_178, x_168);
-x_98 = x_179;
-goto block_167;
-}
-}
-else
-{
-lean_object* x_180; lean_object* x_181;
-lean_dec(x_170);
-x_180 = l_Lean_Parser_Command_open___elambda__1___closed__9;
-x_181 = l_Lean_Parser_ParserState_mkErrorsAt(x_169, x_180, x_168);
-x_98 = x_181;
-goto block_167;
-}
-block_167:
-{
-lean_object* x_99;
-x_99 = lean_ctor_get(x_98, 3);
-lean_inc(x_99);
-if (lean_obj_tag(x_99) == 0)
-{
-lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104;
-x_100 = lean_ctor_get(x_98, 0);
-lean_inc(x_100);
-x_101 = lean_array_get_size(x_100);
-lean_dec(x_100);
-x_102 = lean_ctor_get(x_98, 1);
-lean_inc(x_102);
-lean_inc(x_1);
-x_103 = l_Lean_Parser_Command_openHiding___elambda__1(x_1, x_98);
-x_104 = lean_ctor_get(x_103, 3);
-lean_inc(x_104);
-if (lean_obj_tag(x_104) == 0)
-{
-lean_object* x_105; lean_object* x_106; uint8_t x_107; lean_object* x_108;
-lean_dec(x_102);
-lean_dec(x_101);
-lean_dec(x_1);
-x_105 = l_Lean_Parser_Command_open___elambda__1___closed__2;
-x_106 = l_Lean_Parser_ParserState_mkNode(x_103, x_105, x_97);
-x_107 = 1;
-x_108 = l_Lean_Parser_mergeOrElseErrors(x_106, x_89, x_86, x_107);
-lean_dec(x_86);
-return x_108;
-}
-else
-{
-lean_object* x_109; lean_object* x_110; uint8_t x_111;
-x_109 = lean_ctor_get(x_104, 0);
-lean_inc(x_109);
-lean_dec(x_104);
-x_110 = lean_ctor_get(x_103, 1);
-lean_inc(x_110);
-x_111 = lean_nat_dec_eq(x_110, x_102);
-lean_dec(x_110);
-if (x_111 == 0)
-{
-lean_object* x_112; lean_object* x_113; uint8_t x_114; lean_object* x_115;
-lean_dec(x_109);
-lean_dec(x_102);
-lean_dec(x_101);
-lean_dec(x_1);
-x_112 = l_Lean_Parser_Command_open___elambda__1___closed__2;
-x_113 = l_Lean_Parser_ParserState_mkNode(x_103, x_112, x_97);
-x_114 = 1;
-x_115 = l_Lean_Parser_mergeOrElseErrors(x_113, x_89, x_86, x_114);
-lean_dec(x_86);
-return x_115;
-}
-else
-{
-lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120;
-lean_inc(x_102);
-x_116 = l_Lean_Parser_ParserState_restore(x_103, x_101, x_102);
-lean_dec(x_101);
-x_117 = lean_ctor_get(x_116, 0);
-lean_inc(x_117);
-x_118 = lean_array_get_size(x_117);
-lean_dec(x_117);
-lean_inc(x_1);
-x_119 = l_Lean_Parser_Command_openRenaming___elambda__1(x_1, x_116);
-x_120 = lean_ctor_get(x_119, 3);
-lean_inc(x_120);
-if (lean_obj_tag(x_120) == 0)
-{
-uint8_t x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125;
-lean_dec(x_118);
-lean_dec(x_1);
-x_121 = 1;
-x_122 = l_Lean_Parser_mergeOrElseErrors(x_119, x_109, x_102, x_121);
-lean_dec(x_102);
-x_123 = l_Lean_Parser_Command_open___elambda__1___closed__2;
-x_124 = l_Lean_Parser_ParserState_mkNode(x_122, x_123, x_97);
-x_125 = l_Lean_Parser_mergeOrElseErrors(x_124, x_89, x_86, x_121);
-lean_dec(x_86);
-return x_125;
-}
-else
-{
-lean_object* x_126; lean_object* x_127; uint8_t x_128;
-x_126 = lean_ctor_get(x_120, 0);
-lean_inc(x_126);
-lean_dec(x_120);
-x_127 = lean_ctor_get(x_119, 1);
-lean_inc(x_127);
-x_128 = lean_nat_dec_eq(x_127, x_102);
-lean_dec(x_127);
-if (x_128 == 0)
-{
-uint8_t x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133;
-lean_dec(x_126);
-lean_dec(x_118);
-lean_dec(x_1);
-x_129 = 1;
-x_130 = l_Lean_Parser_mergeOrElseErrors(x_119, x_109, x_102, x_129);
-lean_dec(x_102);
-x_131 = l_Lean_Parser_Command_open___elambda__1___closed__2;
-x_132 = l_Lean_Parser_ParserState_mkNode(x_130, x_131, x_97);
-x_133 = l_Lean_Parser_mergeOrElseErrors(x_132, x_89, x_86, x_129);
-lean_dec(x_86);
-return x_133;
-}
-else
-{
-lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138;
-lean_inc(x_102);
-x_134 = l_Lean_Parser_ParserState_restore(x_119, x_118, x_102);
-lean_dec(x_118);
-x_135 = lean_ctor_get(x_134, 0);
-lean_inc(x_135);
-x_136 = lean_array_get_size(x_135);
-lean_dec(x_135);
-lean_inc(x_1);
-x_137 = l_Lean_Parser_Command_openOnly___elambda__1(x_1, x_134);
-x_138 = lean_ctor_get(x_137, 3);
-lean_inc(x_138);
-if (lean_obj_tag(x_138) == 0)
-{
-uint8_t x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144;
-lean_dec(x_136);
-lean_dec(x_1);
-x_139 = 1;
-x_140 = l_Lean_Parser_mergeOrElseErrors(x_137, x_126, x_102, x_139);
-x_141 = l_Lean_Parser_mergeOrElseErrors(x_140, x_109, x_102, x_139);
-lean_dec(x_102);
-x_142 = l_Lean_Parser_Command_open___elambda__1___closed__2;
-x_143 = l_Lean_Parser_ParserState_mkNode(x_141, x_142, x_97);
-x_144 = l_Lean_Parser_mergeOrElseErrors(x_143, x_89, x_86, x_139);
-lean_dec(x_86);
-return x_144;
-}
-else
-{
-lean_object* x_145; lean_object* x_146; uint8_t x_147;
-x_145 = lean_ctor_get(x_138, 0);
-lean_inc(x_145);
-lean_dec(x_138);
-x_146 = lean_ctor_get(x_137, 1);
-lean_inc(x_146);
-x_147 = lean_nat_dec_eq(x_146, x_102);
-lean_dec(x_146);
-if (x_147 == 0)
-{
-uint8_t x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153;
-lean_dec(x_145);
-lean_dec(x_136);
-lean_dec(x_1);
-x_148 = 1;
-x_149 = l_Lean_Parser_mergeOrElseErrors(x_137, x_126, x_102, x_148);
-x_150 = l_Lean_Parser_mergeOrElseErrors(x_149, x_109, x_102, x_148);
-lean_dec(x_102);
-x_151 = l_Lean_Parser_Command_open___elambda__1___closed__2;
-x_152 = l_Lean_Parser_ParserState_mkNode(x_150, x_151, x_97);
-x_153 = l_Lean_Parser_mergeOrElseErrors(x_152, x_89, x_86, x_148);
-lean_dec(x_86);
-return x_153;
-}
-else
-{
-lean_object* x_154; lean_object* x_155; uint8_t x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162;
-lean_inc(x_102);
-x_154 = l_Lean_Parser_ParserState_restore(x_137, x_136, x_102);
-lean_dec(x_136);
-x_155 = l_Lean_Parser_Command_openSimple___elambda__1(x_1, x_154);
-x_156 = 1;
-x_157 = l_Lean_Parser_mergeOrElseErrors(x_155, x_145, x_102, x_156);
-x_158 = l_Lean_Parser_mergeOrElseErrors(x_157, x_126, x_102, x_156);
-x_159 = l_Lean_Parser_mergeOrElseErrors(x_158, x_109, x_102, x_156);
-lean_dec(x_102);
-x_160 = l_Lean_Parser_Command_open___elambda__1___closed__2;
-x_161 = l_Lean_Parser_ParserState_mkNode(x_159, x_160, x_97);
-x_162 = l_Lean_Parser_mergeOrElseErrors(x_161, x_89, x_86, x_156);
-lean_dec(x_86);
-return x_162;
-}
-}
-}
-}
-}
-}
-}
-else
-{
-lean_object* x_163; lean_object* x_164; uint8_t x_165; lean_object* x_166;
-lean_dec(x_99);
-lean_dec(x_1);
-x_163 = l_Lean_Parser_Command_open___elambda__1___closed__2;
-x_164 = l_Lean_Parser_ParserState_mkNode(x_98, x_163, x_97);
-x_165 = 1;
-x_166 = l_Lean_Parser_mergeOrElseErrors(x_164, x_89, x_86, x_165);
-lean_dec(x_86);
-return x_166;
-}
-}
-}
-else
-{
-uint8_t x_182; lean_object* x_183;
-lean_dec(x_95);
-lean_dec(x_1);
-x_182 = 1;
-x_183 = l_Lean_Parser_mergeOrElseErrors(x_94, x_89, x_86, x_182);
-lean_dec(x_86);
-return x_183;
-}
-}
-}
+lean_object* x_23; uint8_t x_24; lean_object* x_25;
+x_23 = l_Lean_Parser_Command_open___elambda__1___closed__13;
+x_24 = 1;
+x_25 = l_Lean_Parser_orelseFnCore(x_4, x_23, x_24, x_1, x_2);
+return x_25;
}
}
}
@@ -49616,235 +31747,6 @@ x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1);
return x_5;
}
}
-static lean_object* _init_l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__1() {
-_start:
-{
-lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Command_end___elambda__1___closed__1;
-x_2 = l_String_trim(x_1);
-return x_2;
-}
-}
-static lean_object* _init_l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__2() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_notFollowedByFn___closed__1;
-x_2 = l_Lean_Parser_Command_end___elambda__1___closed__1;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
-}
-}
-static lean_object* _init_l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__3() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__1;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
-}
-}
-static lean_object* _init_l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__4() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__3;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
-}
-}
-static lean_object* _init_l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__5() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__4;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
-}
-}
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_24; lean_object* x_31; lean_object* x_32;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-lean_inc(x_1);
-x_31 = l_Lean_Parser_tokenFn(x_1, x_2);
-x_32 = lean_ctor_get(x_31, 3);
-lean_inc(x_32);
-if (lean_obj_tag(x_32) == 0)
-{
-lean_object* x_33; lean_object* x_34;
-x_33 = lean_ctor_get(x_31, 0);
-lean_inc(x_33);
-x_34 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_33);
-lean_dec(x_33);
-if (lean_obj_tag(x_34) == 2)
-{
-lean_object* x_35; lean_object* x_36; uint8_t x_37;
-x_35 = lean_ctor_get(x_34, 1);
-lean_inc(x_35);
-lean_dec(x_34);
-x_36 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__1;
-x_37 = lean_string_dec_eq(x_35, x_36);
-lean_dec(x_35);
-if (x_37 == 0)
-{
-lean_object* x_38; lean_object* x_39;
-x_38 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__5;
-lean_inc(x_5);
-x_39 = l_Lean_Parser_ParserState_mkErrorsAt(x_31, x_38, x_5);
-x_24 = x_39;
-goto block_30;
-}
-else
-{
-x_24 = x_31;
-goto block_30;
-}
-}
-else
-{
-lean_object* x_40; lean_object* x_41;
-lean_dec(x_34);
-x_40 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__5;
-lean_inc(x_5);
-x_41 = l_Lean_Parser_ParserState_mkErrorsAt(x_31, x_40, x_5);
-x_24 = x_41;
-goto block_30;
-}
-}
-else
-{
-lean_object* x_42; lean_object* x_43;
-lean_dec(x_32);
-x_42 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__5;
-lean_inc(x_5);
-x_43 = l_Lean_Parser_ParserState_mkErrorsAt(x_31, x_42, x_5);
-x_24 = x_43;
-goto block_30;
-}
-block_23:
-{
-lean_object* x_7;
-x_7 = lean_ctor_get(x_6, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
-{
-lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
-x_8 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3127____closed__4;
-x_9 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_10 = l_Lean_Parser_categoryParser___elambda__1(x_8, x_9, x_1, x_6);
-x_11 = lean_ctor_get(x_10, 3);
-lean_inc(x_11);
-if (lean_obj_tag(x_11) == 0)
-{
-lean_object* x_12; uint8_t x_13;
-lean_dec(x_4);
-x_12 = lean_ctor_get(x_10, 1);
-lean_inc(x_12);
-x_13 = lean_nat_dec_eq(x_5, x_12);
-lean_dec(x_12);
-lean_dec(x_5);
-if (x_13 == 0)
-{
-x_2 = x_10;
-goto _start;
-}
-else
-{
-lean_object* x_15; lean_object* x_16;
-lean_dec(x_1);
-x_15 = l_Lean_Parser_manyAux___main___closed__1;
-x_16 = l_Lean_Parser_ParserState_mkUnexpectedError(x_10, x_15);
-return x_16;
-}
-}
-else
-{
-lean_object* x_17; uint8_t x_18;
-lean_dec(x_11);
-lean_dec(x_1);
-x_17 = lean_ctor_get(x_10, 1);
-lean_inc(x_17);
-x_18 = lean_nat_dec_eq(x_5, x_17);
-lean_dec(x_17);
-if (x_18 == 0)
-{
-lean_dec(x_5);
-lean_dec(x_4);
-return x_10;
-}
-else
-{
-lean_object* x_19;
-x_19 = l_Lean_Parser_ParserState_restore(x_10, x_4, x_5);
-lean_dec(x_4);
-return x_19;
-}
-}
-}
-else
-{
-lean_object* x_20; uint8_t x_21;
-lean_dec(x_7);
-lean_dec(x_1);
-x_20 = lean_ctor_get(x_6, 1);
-lean_inc(x_20);
-x_21 = lean_nat_dec_eq(x_5, x_20);
-lean_dec(x_20);
-if (x_21 == 0)
-{
-lean_dec(x_5);
-lean_dec(x_4);
-return x_6;
-}
-else
-{
-lean_object* x_22;
-x_22 = l_Lean_Parser_ParserState_restore(x_6, x_4, x_5);
-lean_dec(x_4);
-return x_22;
-}
-}
-}
-block_30:
-{
-lean_object* x_25;
-x_25 = lean_ctor_get(x_24, 3);
-lean_inc(x_25);
-if (lean_obj_tag(x_25) == 0)
-{
-lean_object* x_26; lean_object* x_27; lean_object* x_28;
-lean_inc(x_5);
-x_26 = l_Lean_Parser_ParserState_restore(x_24, x_4, x_5);
-x_27 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__2;
-x_28 = l_Lean_Parser_ParserState_mkUnexpectedError(x_26, x_27);
-x_6 = x_28;
-goto block_23;
-}
-else
-{
-lean_object* x_29;
-lean_dec(x_25);
-lean_inc(x_5);
-x_29 = l_Lean_Parser_ParserState_restore(x_24, x_4, x_5);
-x_6 = x_29;
-goto block_23;
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Command_mutual___elambda__1___closed__1() {
_start:
{
@@ -49904,6 +31806,137 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_mutual___elambda__1___closed__7() {
_start:
{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_mutual___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_mutual___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_end___elambda__1___closed__1;
+x_2 = l_String_trim(x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_mutual___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_mutual___elambda__1___closed__8;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_mutual___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_mutual___elambda__1___closed__9;
+x_2 = l_Lean_Parser_Command_end___elambda__1___closed__1;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_notFollowedByFn___boxed), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_mutual___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_mutual___elambda__1___closed__10;
+x_2 = l_Lean_Parser_Term_quot___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_mutual___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_mutual___elambda__1___closed__11;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_many1Fn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_mutual___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_mutual___elambda__1___closed__12;
+x_2 = l_Lean_Parser_Command_mutual___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_mutual___elambda__1___closed__14() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_mutual___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Command_mutual___elambda__1___closed__13;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_mutual___elambda__1___closed__15() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_mutual___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_mutual___elambda__1___closed__14;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_mutual___elambda__1___closed__16() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_mutual___elambda__1___closed__15;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_mutual___elambda__1___closed__17() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Command_mutual___elambda__1___closed__8;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_mutual___elambda__1___closed__18() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_mutual___elambda__1___closed__17;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_mutual___elambda__1___closed__19() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Char_HasRepr___closed__1;
x_2 = l_Lean_Parser_Command_mutual___elambda__1___closed__6;
@@ -49911,28 +31944,16 @@ x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Command_mutual___elambda__1___closed__8() {
+static lean_object* _init_l_Lean_Parser_Command_mutual___elambda__1___closed__20() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Command_mutual___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Command_mutual___elambda__1___closed__19;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Command_mutual___elambda__1___closed__9() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Command_mutual___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
-}
-}
lean_object* l_Lean_Parser_Command_mutual___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -49953,273 +31974,105 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_38; lean_object* x_77; lean_object* x_78; lean_object* x_79;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_77 = lean_ctor_get(x_7, 1);
-lean_inc(x_77);
+x_21 = l_Lean_Parser_Command_mutual___elambda__1___closed__6;
+x_22 = l_Lean_Parser_Command_mutual___elambda__1___closed__20;
lean_inc(x_1);
-x_78 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_79 = lean_ctor_get(x_78, 3);
-lean_inc(x_79);
-if (lean_obj_tag(x_79) == 0)
+x_23 = l_Lean_Parser_symbolFnAux(x_21, x_22, x_1, x_7);
+x_24 = lean_ctor_get(x_23, 3);
+lean_inc(x_24);
+if (lean_obj_tag(x_24) == 0)
{
-lean_object* x_80; lean_object* x_81;
-x_80 = lean_ctor_get(x_78, 0);
-lean_inc(x_80);
-x_81 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_80);
-lean_dec(x_80);
-if (lean_obj_tag(x_81) == 2)
+lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
+x_25 = lean_ctor_get(x_23, 0);
+lean_inc(x_25);
+x_26 = lean_array_get_size(x_25);
+lean_dec(x_25);
+x_36 = l_Lean_Parser_Command_mutual___elambda__1___closed__9;
+x_37 = l_Lean_Parser_Command_end___elambda__1___closed__1;
+lean_inc(x_1);
+x_38 = l_Lean_Parser_notFollowedByFn(x_36, x_37, x_1, x_23);
+x_39 = lean_ctor_get(x_38, 3);
+lean_inc(x_39);
+if (lean_obj_tag(x_39) == 0)
{
-lean_object* x_82; lean_object* x_83; uint8_t x_84;
-x_82 = lean_ctor_get(x_81, 1);
-lean_inc(x_82);
-lean_dec(x_81);
-x_83 = l_Lean_Parser_Command_mutual___elambda__1___closed__6;
-x_84 = lean_string_dec_eq(x_82, x_83);
-lean_dec(x_82);
-if (x_84 == 0)
-{
-lean_object* x_85; lean_object* x_86;
-x_85 = l_Lean_Parser_Command_mutual___elambda__1___closed__9;
-x_86 = l_Lean_Parser_ParserState_mkErrorsAt(x_78, x_85, x_77);
-x_38 = x_86;
-goto block_76;
+lean_object* x_40; lean_object* x_41; lean_object* x_42;
+x_40 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3127____closed__4;
+x_41 = lean_unsigned_to_nat(0u);
+lean_inc(x_1);
+x_42 = l_Lean_Parser_categoryParser___elambda__1(x_40, x_41, x_1, x_38);
+x_27 = x_42;
+goto block_35;
}
else
{
-lean_dec(x_77);
-x_38 = x_78;
-goto block_76;
+lean_dec(x_39);
+x_27 = x_38;
+goto block_35;
+}
+block_35:
+{
+lean_object* x_28;
+x_28 = lean_ctor_get(x_27, 3);
+lean_inc(x_28);
+if (lean_obj_tag(x_28) == 0)
+{
+lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
+x_29 = l_Lean_Parser_Command_mutual___elambda__1___closed__11;
+lean_inc(x_1);
+x_30 = l_Lean_Parser_manyAux(x_29, x_1, x_27);
+x_31 = l_Lean_nullKind;
+x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_26);
+x_11 = x_32;
+goto block_20;
+}
+else
+{
+lean_object* x_33; lean_object* x_34;
+lean_dec(x_28);
+x_33 = l_Lean_nullKind;
+x_34 = l_Lean_Parser_ParserState_mkNode(x_27, x_33, x_26);
+x_11 = x_34;
+goto block_20;
+}
}
}
else
{
-lean_object* x_87; lean_object* x_88;
-lean_dec(x_81);
-x_87 = l_Lean_Parser_Command_mutual___elambda__1___closed__9;
-x_88 = l_Lean_Parser_ParserState_mkErrorsAt(x_78, x_87, x_77);
-x_38 = x_88;
-goto block_76;
+lean_object* x_43; lean_object* x_44;
+lean_dec(x_24);
+lean_dec(x_1);
+x_43 = l_Lean_Parser_Command_mutual___elambda__1___closed__2;
+x_44 = l_Lean_Parser_ParserState_mkNode(x_23, x_43, x_10);
+return x_44;
}
-}
-else
-{
-lean_object* x_89; lean_object* x_90;
-lean_dec(x_79);
-x_89 = l_Lean_Parser_Command_mutual___elambda__1___closed__9;
-x_90 = l_Lean_Parser_ParserState_mkErrorsAt(x_78, x_89, x_77);
-x_38 = x_90;
-goto block_76;
-}
-block_37:
+block_20:
{
lean_object* x_12;
x_12 = lean_ctor_get(x_11, 3);
lean_inc(x_12);
if (lean_obj_tag(x_12) == 0)
{
-lean_object* x_13; lean_object* x_14; lean_object* x_15;
-x_13 = lean_ctor_get(x_11, 1);
-lean_inc(x_13);
-x_14 = l_Lean_Parser_tokenFn(x_1, x_11);
-x_15 = lean_ctor_get(x_14, 3);
-lean_inc(x_15);
-if (lean_obj_tag(x_15) == 0)
-{
-lean_object* x_16; lean_object* x_17;
-x_16 = lean_ctor_get(x_14, 0);
-lean_inc(x_16);
-x_17 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_16);
-lean_dec(x_16);
-if (lean_obj_tag(x_17) == 2)
-{
-lean_object* x_18; lean_object* x_19; uint8_t x_20;
-x_18 = lean_ctor_get(x_17, 1);
-lean_inc(x_18);
-lean_dec(x_17);
-x_19 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__1;
-x_20 = lean_string_dec_eq(x_18, x_19);
-lean_dec(x_18);
-if (x_20 == 0)
-{
-lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
-x_21 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__5;
-x_22 = l_Lean_Parser_ParserState_mkErrorsAt(x_14, x_21, x_13);
-x_23 = l_Lean_Parser_Command_mutual___elambda__1___closed__2;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_22, x_23, x_10);
-return x_24;
+lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
+x_13 = l_Lean_Parser_Command_mutual___elambda__1___closed__8;
+x_14 = l_Lean_Parser_Command_mutual___elambda__1___closed__18;
+x_15 = l_Lean_Parser_symbolFnAux(x_13, x_14, x_1, x_11);
+x_16 = l_Lean_Parser_Command_mutual___elambda__1___closed__2;
+x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_10);
+return x_17;
}
else
{
-lean_object* x_25; lean_object* x_26;
-lean_dec(x_13);
-x_25 = l_Lean_Parser_Command_mutual___elambda__1___closed__2;
-x_26 = l_Lean_Parser_ParserState_mkNode(x_14, x_25, x_10);
-return x_26;
-}
-}
-else
-{
-lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30;
-lean_dec(x_17);
-x_27 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__5;
-x_28 = l_Lean_Parser_ParserState_mkErrorsAt(x_14, x_27, x_13);
-x_29 = l_Lean_Parser_Command_mutual___elambda__1___closed__2;
-x_30 = l_Lean_Parser_ParserState_mkNode(x_28, x_29, x_10);
-return x_30;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34;
-lean_dec(x_15);
-x_31 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__5;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_14, x_31, x_13);
-x_33 = l_Lean_Parser_Command_mutual___elambda__1___closed__2;
-x_34 = l_Lean_Parser_ParserState_mkNode(x_32, x_33, x_10);
-return x_34;
-}
-}
-else
-{
-lean_object* x_35; lean_object* x_36;
+lean_object* x_18; lean_object* x_19;
lean_dec(x_12);
lean_dec(x_1);
-x_35 = l_Lean_Parser_Command_mutual___elambda__1___closed__2;
-x_36 = l_Lean_Parser_ParserState_mkNode(x_11, x_35, x_10);
-return x_36;
-}
-}
-block_76:
-{
-lean_object* x_39;
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_61; lean_object* x_62;
-x_40 = lean_ctor_get(x_38, 0);
-lean_inc(x_40);
-x_41 = lean_array_get_size(x_40);
-lean_dec(x_40);
-x_42 = lean_ctor_get(x_38, 1);
-lean_inc(x_42);
-lean_inc(x_1);
-x_61 = l_Lean_Parser_tokenFn(x_1, x_38);
-x_62 = lean_ctor_get(x_61, 3);
-lean_inc(x_62);
-if (lean_obj_tag(x_62) == 0)
-{
-lean_object* x_63; lean_object* x_64;
-x_63 = lean_ctor_get(x_61, 0);
-lean_inc(x_63);
-x_64 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_63);
-lean_dec(x_63);
-if (lean_obj_tag(x_64) == 2)
-{
-lean_object* x_65; lean_object* x_66; uint8_t x_67;
-x_65 = lean_ctor_get(x_64, 1);
-lean_inc(x_65);
-lean_dec(x_64);
-x_66 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__1;
-x_67 = lean_string_dec_eq(x_65, x_66);
-lean_dec(x_65);
-if (x_67 == 0)
-{
-lean_object* x_68; lean_object* x_69;
-x_68 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__5;
-lean_inc(x_42);
-x_69 = l_Lean_Parser_ParserState_mkErrorsAt(x_61, x_68, x_42);
-x_43 = x_69;
-goto block_60;
-}
-else
-{
-x_43 = x_61;
-goto block_60;
-}
-}
-else
-{
-lean_object* x_70; lean_object* x_71;
-lean_dec(x_64);
-x_70 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__5;
-lean_inc(x_42);
-x_71 = l_Lean_Parser_ParserState_mkErrorsAt(x_61, x_70, x_42);
-x_43 = x_71;
-goto block_60;
-}
-}
-else
-{
-lean_object* x_72; lean_object* x_73;
-lean_dec(x_62);
-x_72 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__5;
-lean_inc(x_42);
-x_73 = l_Lean_Parser_ParserState_mkErrorsAt(x_61, x_72, x_42);
-x_43 = x_73;
-goto block_60;
-}
-block_60:
-{
-lean_object* x_44;
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49;
-x_45 = l_Lean_Parser_ParserState_restore(x_43, x_41, x_42);
-x_46 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__2;
-x_47 = l_Lean_Parser_ParserState_mkUnexpectedError(x_45, x_46);
-x_48 = l_Lean_nullKind;
-x_49 = l_Lean_Parser_ParserState_mkNode(x_47, x_48, x_41);
-x_11 = x_49;
-goto block_37;
-}
-else
-{
-lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54;
-lean_dec(x_44);
-x_50 = l_Lean_Parser_ParserState_restore(x_43, x_41, x_42);
-x_51 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3127____closed__4;
-x_52 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_53 = l_Lean_Parser_categoryParser___elambda__1(x_51, x_52, x_1, x_50);
-x_54 = lean_ctor_get(x_53, 3);
-lean_inc(x_54);
-if (lean_obj_tag(x_54) == 0)
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57;
-lean_inc(x_1);
-x_55 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1(x_1, x_53);
-x_56 = l_Lean_nullKind;
-x_57 = l_Lean_Parser_ParserState_mkNode(x_55, x_56, x_41);
-x_11 = x_57;
-goto block_37;
-}
-else
-{
-lean_object* x_58; lean_object* x_59;
-lean_dec(x_54);
-x_58 = l_Lean_nullKind;
-x_59 = l_Lean_Parser_ParserState_mkNode(x_53, x_58, x_41);
-x_11 = x_59;
-goto block_37;
-}
-}
-}
-}
-else
-{
-lean_object* x_74; lean_object* x_75;
-lean_dec(x_39);
-lean_dec(x_1);
-x_74 = l_Lean_Parser_Command_mutual___elambda__1___closed__2;
-x_75 = l_Lean_Parser_ParserState_mkNode(x_38, x_74, x_10);
-return x_75;
+x_18 = l_Lean_Parser_Command_mutual___elambda__1___closed__2;
+x_19 = l_Lean_Parser_ParserState_mkNode(x_11, x_18, x_10);
+return x_19;
}
}
}
@@ -50232,354 +32085,11 @@ return x_7;
}
else
{
-lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95;
-x_91 = lean_ctor_get(x_2, 0);
-lean_inc(x_91);
-x_92 = lean_array_get_size(x_91);
-lean_dec(x_91);
-x_93 = lean_ctor_get(x_2, 1);
-lean_inc(x_93);
-lean_inc(x_1);
-x_94 = lean_apply_2(x_4, x_1, x_2);
-x_95 = lean_ctor_get(x_94, 3);
-lean_inc(x_95);
-if (lean_obj_tag(x_95) == 0)
-{
-lean_dec(x_93);
-lean_dec(x_92);
-lean_dec(x_1);
-return x_94;
-}
-else
-{
-lean_object* x_96; lean_object* x_97; uint8_t x_98;
-x_96 = lean_ctor_get(x_95, 0);
-lean_inc(x_96);
-lean_dec(x_95);
-x_97 = lean_ctor_get(x_94, 1);
-lean_inc(x_97);
-x_98 = lean_nat_dec_eq(x_97, x_93);
-lean_dec(x_97);
-if (x_98 == 0)
-{
-lean_dec(x_96);
-lean_dec(x_93);
-lean_dec(x_92);
-lean_dec(x_1);
-return x_94;
-}
-else
-{
-lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102;
-lean_inc(x_93);
-x_99 = l_Lean_Parser_ParserState_restore(x_94, x_92, x_93);
-lean_dec(x_92);
-x_100 = lean_unsigned_to_nat(1024u);
-x_101 = l_Lean_Parser_checkPrecFn(x_100, x_1, x_99);
-x_102 = lean_ctor_get(x_101, 3);
-lean_inc(x_102);
-if (lean_obj_tag(x_102) == 0)
-{
-lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_142; lean_object* x_183; lean_object* x_184; lean_object* x_185;
-x_103 = lean_ctor_get(x_101, 0);
-lean_inc(x_103);
-x_104 = lean_array_get_size(x_103);
-lean_dec(x_103);
-x_183 = lean_ctor_get(x_101, 1);
-lean_inc(x_183);
-lean_inc(x_1);
-x_184 = l_Lean_Parser_tokenFn(x_1, x_101);
-x_185 = lean_ctor_get(x_184, 3);
-lean_inc(x_185);
-if (lean_obj_tag(x_185) == 0)
-{
-lean_object* x_186; lean_object* x_187;
-x_186 = lean_ctor_get(x_184, 0);
-lean_inc(x_186);
-x_187 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_186);
-lean_dec(x_186);
-if (lean_obj_tag(x_187) == 2)
-{
-lean_object* x_188; lean_object* x_189; uint8_t x_190;
-x_188 = lean_ctor_get(x_187, 1);
-lean_inc(x_188);
-lean_dec(x_187);
-x_189 = l_Lean_Parser_Command_mutual___elambda__1___closed__6;
-x_190 = lean_string_dec_eq(x_188, x_189);
-lean_dec(x_188);
-if (x_190 == 0)
-{
-lean_object* x_191; lean_object* x_192;
-x_191 = l_Lean_Parser_Command_mutual___elambda__1___closed__9;
-x_192 = l_Lean_Parser_ParserState_mkErrorsAt(x_184, x_191, x_183);
-x_142 = x_192;
-goto block_182;
-}
-else
-{
-lean_dec(x_183);
-x_142 = x_184;
-goto block_182;
-}
-}
-else
-{
-lean_object* x_193; lean_object* x_194;
-lean_dec(x_187);
-x_193 = l_Lean_Parser_Command_mutual___elambda__1___closed__9;
-x_194 = l_Lean_Parser_ParserState_mkErrorsAt(x_184, x_193, x_183);
-x_142 = x_194;
-goto block_182;
-}
-}
-else
-{
-lean_object* x_195; lean_object* x_196;
-lean_dec(x_185);
-x_195 = l_Lean_Parser_Command_mutual___elambda__1___closed__9;
-x_196 = l_Lean_Parser_ParserState_mkErrorsAt(x_184, x_195, x_183);
-x_142 = x_196;
-goto block_182;
-}
-block_141:
-{
-lean_object* x_106;
-x_106 = lean_ctor_get(x_105, 3);
-lean_inc(x_106);
-if (lean_obj_tag(x_106) == 0)
-{
-lean_object* x_107; lean_object* x_108; lean_object* x_109;
-x_107 = lean_ctor_get(x_105, 1);
-lean_inc(x_107);
-x_108 = l_Lean_Parser_tokenFn(x_1, x_105);
-x_109 = lean_ctor_get(x_108, 3);
-lean_inc(x_109);
-if (lean_obj_tag(x_109) == 0)
-{
-lean_object* x_110; lean_object* x_111;
-x_110 = lean_ctor_get(x_108, 0);
-lean_inc(x_110);
-x_111 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_110);
-lean_dec(x_110);
-if (lean_obj_tag(x_111) == 2)
-{
-lean_object* x_112; lean_object* x_113; uint8_t x_114;
-x_112 = lean_ctor_get(x_111, 1);
-lean_inc(x_112);
-lean_dec(x_111);
-x_113 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__1;
-x_114 = lean_string_dec_eq(x_112, x_113);
-lean_dec(x_112);
-if (x_114 == 0)
-{
-lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; uint8_t x_119; lean_object* x_120;
-x_115 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__5;
-x_116 = l_Lean_Parser_ParserState_mkErrorsAt(x_108, x_115, x_107);
-x_117 = l_Lean_Parser_Command_mutual___elambda__1___closed__2;
-x_118 = l_Lean_Parser_ParserState_mkNode(x_116, x_117, x_104);
-x_119 = 1;
-x_120 = l_Lean_Parser_mergeOrElseErrors(x_118, x_96, x_93, x_119);
-lean_dec(x_93);
-return x_120;
-}
-else
-{
-lean_object* x_121; lean_object* x_122; uint8_t x_123; lean_object* x_124;
-lean_dec(x_107);
-x_121 = l_Lean_Parser_Command_mutual___elambda__1___closed__2;
-x_122 = l_Lean_Parser_ParserState_mkNode(x_108, x_121, x_104);
-x_123 = 1;
-x_124 = l_Lean_Parser_mergeOrElseErrors(x_122, x_96, x_93, x_123);
-lean_dec(x_93);
-return x_124;
-}
-}
-else
-{
-lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; uint8_t x_129; lean_object* x_130;
-lean_dec(x_111);
-x_125 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__5;
-x_126 = l_Lean_Parser_ParserState_mkErrorsAt(x_108, x_125, x_107);
-x_127 = l_Lean_Parser_Command_mutual___elambda__1___closed__2;
-x_128 = l_Lean_Parser_ParserState_mkNode(x_126, x_127, x_104);
-x_129 = 1;
-x_130 = l_Lean_Parser_mergeOrElseErrors(x_128, x_96, x_93, x_129);
-lean_dec(x_93);
-return x_130;
-}
-}
-else
-{
-lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; uint8_t x_135; lean_object* x_136;
-lean_dec(x_109);
-x_131 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__5;
-x_132 = l_Lean_Parser_ParserState_mkErrorsAt(x_108, x_131, x_107);
-x_133 = l_Lean_Parser_Command_mutual___elambda__1___closed__2;
-x_134 = l_Lean_Parser_ParserState_mkNode(x_132, x_133, x_104);
-x_135 = 1;
-x_136 = l_Lean_Parser_mergeOrElseErrors(x_134, x_96, x_93, x_135);
-lean_dec(x_93);
-return x_136;
-}
-}
-else
-{
-lean_object* x_137; lean_object* x_138; uint8_t x_139; lean_object* x_140;
-lean_dec(x_106);
-lean_dec(x_1);
-x_137 = l_Lean_Parser_Command_mutual___elambda__1___closed__2;
-x_138 = l_Lean_Parser_ParserState_mkNode(x_105, x_137, x_104);
-x_139 = 1;
-x_140 = l_Lean_Parser_mergeOrElseErrors(x_138, x_96, x_93, x_139);
-lean_dec(x_93);
-return x_140;
-}
-}
-block_182:
-{
-lean_object* x_143;
-x_143 = lean_ctor_get(x_142, 3);
-lean_inc(x_143);
-if (lean_obj_tag(x_143) == 0)
-{
-lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_165; lean_object* x_166;
-x_144 = lean_ctor_get(x_142, 0);
-lean_inc(x_144);
-x_145 = lean_array_get_size(x_144);
-lean_dec(x_144);
-x_146 = lean_ctor_get(x_142, 1);
-lean_inc(x_146);
-lean_inc(x_1);
-x_165 = l_Lean_Parser_tokenFn(x_1, x_142);
-x_166 = lean_ctor_get(x_165, 3);
-lean_inc(x_166);
-if (lean_obj_tag(x_166) == 0)
-{
-lean_object* x_167; lean_object* x_168;
-x_167 = lean_ctor_get(x_165, 0);
-lean_inc(x_167);
-x_168 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_167);
-lean_dec(x_167);
-if (lean_obj_tag(x_168) == 2)
-{
-lean_object* x_169; lean_object* x_170; uint8_t x_171;
-x_169 = lean_ctor_get(x_168, 1);
-lean_inc(x_169);
-lean_dec(x_168);
-x_170 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__1;
-x_171 = lean_string_dec_eq(x_169, x_170);
-lean_dec(x_169);
-if (x_171 == 0)
-{
-lean_object* x_172; lean_object* x_173;
-x_172 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__5;
-lean_inc(x_146);
-x_173 = l_Lean_Parser_ParserState_mkErrorsAt(x_165, x_172, x_146);
-x_147 = x_173;
-goto block_164;
-}
-else
-{
-x_147 = x_165;
-goto block_164;
-}
-}
-else
-{
-lean_object* x_174; lean_object* x_175;
-lean_dec(x_168);
-x_174 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__5;
-lean_inc(x_146);
-x_175 = l_Lean_Parser_ParserState_mkErrorsAt(x_165, x_174, x_146);
-x_147 = x_175;
-goto block_164;
-}
-}
-else
-{
-lean_object* x_176; lean_object* x_177;
-lean_dec(x_166);
-x_176 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__5;
-lean_inc(x_146);
-x_177 = l_Lean_Parser_ParserState_mkErrorsAt(x_165, x_176, x_146);
-x_147 = x_177;
-goto block_164;
-}
-block_164:
-{
-lean_object* x_148;
-x_148 = lean_ctor_get(x_147, 3);
-lean_inc(x_148);
-if (lean_obj_tag(x_148) == 0)
-{
-lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153;
-x_149 = l_Lean_Parser_ParserState_restore(x_147, x_145, x_146);
-x_150 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__2;
-x_151 = l_Lean_Parser_ParserState_mkUnexpectedError(x_149, x_150);
-x_152 = l_Lean_nullKind;
-x_153 = l_Lean_Parser_ParserState_mkNode(x_151, x_152, x_145);
-x_105 = x_153;
-goto block_141;
-}
-else
-{
-lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158;
-lean_dec(x_148);
-x_154 = l_Lean_Parser_ParserState_restore(x_147, x_145, x_146);
-x_155 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3127____closed__4;
-x_156 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_157 = l_Lean_Parser_categoryParser___elambda__1(x_155, x_156, x_1, x_154);
-x_158 = lean_ctor_get(x_157, 3);
-lean_inc(x_158);
-if (lean_obj_tag(x_158) == 0)
-{
-lean_object* x_159; lean_object* x_160; lean_object* x_161;
-lean_inc(x_1);
-x_159 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1(x_1, x_157);
-x_160 = l_Lean_nullKind;
-x_161 = l_Lean_Parser_ParserState_mkNode(x_159, x_160, x_145);
-x_105 = x_161;
-goto block_141;
-}
-else
-{
-lean_object* x_162; lean_object* x_163;
-lean_dec(x_158);
-x_162 = l_Lean_nullKind;
-x_163 = l_Lean_Parser_ParserState_mkNode(x_157, x_162, x_145);
-x_105 = x_163;
-goto block_141;
-}
-}
-}
-}
-else
-{
-lean_object* x_178; lean_object* x_179; uint8_t x_180; lean_object* x_181;
-lean_dec(x_143);
-lean_dec(x_1);
-x_178 = l_Lean_Parser_Command_mutual___elambda__1___closed__2;
-x_179 = l_Lean_Parser_ParserState_mkNode(x_142, x_178, x_104);
-x_180 = 1;
-x_181 = l_Lean_Parser_mergeOrElseErrors(x_179, x_96, x_93, x_180);
-lean_dec(x_93);
-return x_181;
-}
-}
-}
-else
-{
-uint8_t x_197; lean_object* x_198;
-lean_dec(x_102);
-lean_dec(x_1);
-x_197 = 1;
-x_198 = l_Lean_Parser_mergeOrElseErrors(x_101, x_96, x_93, x_197);
-lean_dec(x_93);
-return x_198;
-}
-}
-}
+lean_object* x_45; uint8_t x_46; lean_object* x_47;
+x_45 = l_Lean_Parser_Command_mutual___elambda__1___closed__16;
+x_46 = 1;
+x_47 = l_Lean_Parser_orelseFnCore(x_4, x_45, x_46, x_1, x_2);
+return x_47;
}
}
}
@@ -50618,7 +32128,7 @@ static lean_object* _init_l_Lean_Parser_Command_mutual___closed__4() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__1;
+x_1 = l_Lean_Parser_Command_mutual___elambda__1___closed__8;
x_2 = l_Lean_Parser_symbolInfo(x_1);
return x_2;
}
@@ -51021,20 +32531,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_initialize___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_initialize___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_initialize___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_initialize___elambda__1___closed__8() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Command_initialize___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Term_typeSpec___closed__4;
+x_2 = l_Lean_Parser_Term_leftArrow___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -51042,11 +32554,99 @@ static lean_object* _init_l_Lean_Parser_Command_initialize___elambda__1___closed
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_ident___closed__2;
x_2 = l_Lean_Parser_Command_initialize___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_initialize___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_initialize___elambda__1___closed__9;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_tryFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_initialize___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_initialize___elambda__1___closed__10;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optionalFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_initialize___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_initialize___elambda__1___closed__11;
+x_2 = l_Lean_Parser_Term_doSeq___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_initialize___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_initialize___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Command_initialize___elambda__1___closed__12;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_initialize___elambda__1___closed__14() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_initialize___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_initialize___elambda__1___closed__13;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_initialize___elambda__1___closed__15() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_initialize___elambda__1___closed__14;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_initialize___elambda__1___closed__16() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Command_initialize___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_initialize___elambda__1___closed__17() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_initialize___elambda__1___closed__16;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -51070,261 +32670,32 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_84; lean_object* x_85; lean_object* x_86;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_84 = lean_ctor_get(x_7, 1);
-lean_inc(x_84);
+x_11 = l_Lean_Parser_Command_initialize___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Command_initialize___elambda__1___closed__17;
lean_inc(x_1);
-x_85 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_86 = lean_ctor_get(x_85, 3);
-lean_inc(x_86);
-if (lean_obj_tag(x_86) == 0)
-{
-lean_object* x_87; lean_object* x_88;
-x_87 = lean_ctor_get(x_85, 0);
-lean_inc(x_87);
-x_88 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_87);
-lean_dec(x_87);
-if (lean_obj_tag(x_88) == 2)
-{
-lean_object* x_89; lean_object* x_90; uint8_t x_91;
-x_89 = lean_ctor_get(x_88, 1);
-lean_inc(x_89);
-lean_dec(x_88);
-x_90 = l_Lean_Parser_Command_initialize___elambda__1___closed__6;
-x_91 = lean_string_dec_eq(x_89, x_90);
-lean_dec(x_89);
-if (x_91 == 0)
-{
-lean_object* x_92; lean_object* x_93;
-x_92 = l_Lean_Parser_Command_initialize___elambda__1___closed__9;
-x_93 = l_Lean_Parser_ParserState_mkErrorsAt(x_85, x_92, x_84);
-x_11 = x_93;
-goto block_83;
-}
-else
-{
-lean_dec(x_84);
-x_11 = x_85;
-goto block_83;
-}
-}
-else
-{
-lean_object* x_94; lean_object* x_95;
-lean_dec(x_88);
-x_94 = l_Lean_Parser_Command_initialize___elambda__1___closed__9;
-x_95 = l_Lean_Parser_ParserState_mkErrorsAt(x_85, x_94, x_84);
-x_11 = x_95;
-goto block_83;
-}
-}
-else
-{
-lean_object* x_96; lean_object* x_97;
-lean_dec(x_86);
-x_96 = l_Lean_Parser_Command_initialize___elambda__1___closed__9;
-x_97 = l_Lean_Parser_ParserState_mkErrorsAt(x_85, x_96, x_84);
-x_11 = x_97;
-goto block_83;
-}
-block_83:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_46; lean_object* x_47;
-x_13 = lean_ctor_get(x_11, 0);
-lean_inc(x_13);
-x_14 = lean_ctor_get(x_11, 1);
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
lean_inc(x_14);
-x_15 = lean_array_get_size(x_13);
-lean_dec(x_13);
+if (lean_obj_tag(x_14) == 0)
+{
+lean_object* x_15; lean_object* x_16; lean_object* x_17;
+x_15 = l_Lean_Parser_Command_initialize___elambda__1___closed__10;
lean_inc(x_1);
-x_46 = l_Lean_Parser_ident___elambda__1(x_1, x_11);
-x_47 = lean_ctor_get(x_46, 3);
-lean_inc(x_47);
-if (lean_obj_tag(x_47) == 0)
-{
-lean_object* x_48; lean_object* x_49;
-lean_inc(x_1);
-x_48 = l_Lean_Parser_Term_typeSpec___elambda__1(x_1, x_46);
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
-{
-lean_object* x_50; lean_object* x_51;
-lean_inc(x_1);
-x_50 = l_Lean_Parser_Term_leftArrow___elambda__1(x_1, x_48);
-x_51 = lean_ctor_get(x_50, 3);
-lean_inc(x_51);
-if (lean_obj_tag(x_51) == 0)
-{
-x_16 = x_50;
-goto block_45;
-}
-else
-{
-uint8_t x_52;
-x_52 = !lean_is_exclusive(x_50);
-if (x_52 == 0)
-{
-lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56;
-x_53 = lean_ctor_get(x_50, 0);
-x_54 = lean_ctor_get(x_50, 3);
-lean_dec(x_54);
-x_55 = lean_ctor_get(x_50, 1);
-lean_dec(x_55);
-x_56 = l_Array_shrink___main___rarg(x_53, x_15);
-lean_inc(x_14);
-lean_ctor_set(x_50, 1, x_14);
-lean_ctor_set(x_50, 0, x_56);
-x_16 = x_50;
-goto block_45;
-}
-else
-{
-lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60;
-x_57 = lean_ctor_get(x_50, 0);
-x_58 = lean_ctor_get(x_50, 2);
-lean_inc(x_58);
-lean_inc(x_57);
-lean_dec(x_50);
-x_59 = l_Array_shrink___main___rarg(x_57, x_15);
-lean_inc(x_14);
-x_60 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_60, 0, x_59);
-lean_ctor_set(x_60, 1, x_14);
-lean_ctor_set(x_60, 2, x_58);
-lean_ctor_set(x_60, 3, x_51);
-x_16 = x_60;
-goto block_45;
-}
-}
-}
-else
-{
-lean_object* x_61;
-lean_dec(x_49);
-x_61 = lean_ctor_get(x_48, 3);
-lean_inc(x_61);
-if (lean_obj_tag(x_61) == 0)
-{
-x_16 = x_48;
-goto block_45;
-}
-else
-{
-uint8_t x_62;
-x_62 = !lean_is_exclusive(x_48);
-if (x_62 == 0)
-{
-lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66;
-x_63 = lean_ctor_get(x_48, 0);
-x_64 = lean_ctor_get(x_48, 3);
-lean_dec(x_64);
-x_65 = lean_ctor_get(x_48, 1);
-lean_dec(x_65);
-x_66 = l_Array_shrink___main___rarg(x_63, x_15);
-lean_inc(x_14);
-lean_ctor_set(x_48, 1, x_14);
-lean_ctor_set(x_48, 0, x_66);
-x_16 = x_48;
-goto block_45;
-}
-else
-{
-lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70;
-x_67 = lean_ctor_get(x_48, 0);
-x_68 = lean_ctor_get(x_48, 2);
-lean_inc(x_68);
-lean_inc(x_67);
-lean_dec(x_48);
-x_69 = l_Array_shrink___main___rarg(x_67, x_15);
-lean_inc(x_14);
-x_70 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_70, 0, x_69);
-lean_ctor_set(x_70, 1, x_14);
-lean_ctor_set(x_70, 2, x_68);
-lean_ctor_set(x_70, 3, x_61);
-x_16 = x_70;
-goto block_45;
-}
-}
-}
-}
-else
-{
-lean_object* x_71;
-lean_dec(x_47);
-x_71 = lean_ctor_get(x_46, 3);
-lean_inc(x_71);
-if (lean_obj_tag(x_71) == 0)
-{
-x_16 = x_46;
-goto block_45;
-}
-else
-{
-uint8_t x_72;
-x_72 = !lean_is_exclusive(x_46);
-if (x_72 == 0)
-{
-lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76;
-x_73 = lean_ctor_get(x_46, 0);
-x_74 = lean_ctor_get(x_46, 3);
-lean_dec(x_74);
-x_75 = lean_ctor_get(x_46, 1);
-lean_dec(x_75);
-x_76 = l_Array_shrink___main___rarg(x_73, x_15);
-lean_inc(x_14);
-lean_ctor_set(x_46, 1, x_14);
-lean_ctor_set(x_46, 0, x_76);
-x_16 = x_46;
-goto block_45;
-}
-else
-{
-lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80;
-x_77 = lean_ctor_get(x_46, 0);
-x_78 = lean_ctor_get(x_46, 2);
-lean_inc(x_78);
-lean_inc(x_77);
-lean_dec(x_46);
-x_79 = l_Array_shrink___main___rarg(x_77, x_15);
-lean_inc(x_14);
-x_80 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_80, 0, x_79);
-lean_ctor_set(x_80, 1, x_14);
-lean_ctor_set(x_80, 2, x_78);
-lean_ctor_set(x_80, 3, x_71);
-x_16 = x_80;
-goto block_45;
-}
-}
-}
-block_45:
-{
-lean_object* x_17;
+x_16 = l_Lean_Parser_optionalFn(x_15, x_1, x_13);
x_17 = lean_ctor_get(x_16, 3);
lean_inc(x_17);
if (lean_obj_tag(x_17) == 0)
{
-lean_object* x_18; lean_object* x_19; lean_object* x_20;
-lean_dec(x_14);
-x_18 = l_Lean_nullKind;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_16, x_18, x_15);
-x_20 = lean_ctor_get(x_19, 3);
-lean_inc(x_20);
-if (lean_obj_tag(x_20) == 0)
-{
-lean_object* x_21; lean_object* x_22; lean_object* x_23;
-x_21 = l_Lean_Parser_Term_doSeq___elambda__1(x_1, x_19);
+lean_object* x_18; lean_object* x_19; uint8_t x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23;
+x_18 = l_Lean_Parser_Term_doSeqBracketed___closed__6;
+x_19 = l_Lean_Parser_Term_doSeqIndent___closed__10;
+x_20 = 1;
+x_21 = l_Lean_Parser_orelseFnCore(x_18, x_19, x_20, x_1, x_16);
x_22 = l_Lean_Parser_Command_initialize___elambda__1___closed__2;
x_23 = l_Lean_Parser_ParserState_mkNode(x_21, x_22, x_10);
return x_23;
@@ -51332,85 +32703,21 @@ return x_23;
else
{
lean_object* x_24; lean_object* x_25;
-lean_dec(x_20);
+lean_dec(x_17);
lean_dec(x_1);
x_24 = l_Lean_Parser_Command_initialize___elambda__1___closed__2;
-x_25 = l_Lean_Parser_ParserState_mkNode(x_19, x_24, x_10);
+x_25 = l_Lean_Parser_ParserState_mkNode(x_16, x_24, x_10);
return x_25;
}
}
else
{
-lean_object* x_26; uint8_t x_27;
-lean_dec(x_17);
-x_26 = lean_ctor_get(x_16, 1);
-lean_inc(x_26);
-x_27 = lean_nat_dec_eq(x_26, x_14);
-lean_dec(x_26);
-if (x_27 == 0)
-{
-lean_object* x_28; lean_object* x_29; lean_object* x_30;
+lean_object* x_26; lean_object* x_27;
lean_dec(x_14);
-x_28 = l_Lean_nullKind;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_16, x_28, x_15);
-x_30 = lean_ctor_get(x_29, 3);
-lean_inc(x_30);
-if (lean_obj_tag(x_30) == 0)
-{
-lean_object* x_31; lean_object* x_32; lean_object* x_33;
-x_31 = l_Lean_Parser_Term_doSeq___elambda__1(x_1, x_29);
-x_32 = l_Lean_Parser_Command_initialize___elambda__1___closed__2;
-x_33 = l_Lean_Parser_ParserState_mkNode(x_31, x_32, x_10);
-return x_33;
-}
-else
-{
-lean_object* x_34; lean_object* x_35;
-lean_dec(x_30);
lean_dec(x_1);
-x_34 = l_Lean_Parser_Command_initialize___elambda__1___closed__2;
-x_35 = l_Lean_Parser_ParserState_mkNode(x_29, x_34, x_10);
-return x_35;
-}
-}
-else
-{
-lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_36 = l_Lean_Parser_ParserState_restore(x_16, x_15, x_14);
-x_37 = l_Lean_nullKind;
-x_38 = l_Lean_Parser_ParserState_mkNode(x_36, x_37, x_15);
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_object* x_40; lean_object* x_41; lean_object* x_42;
-x_40 = l_Lean_Parser_Term_doSeq___elambda__1(x_1, x_38);
-x_41 = l_Lean_Parser_Command_initialize___elambda__1___closed__2;
-x_42 = l_Lean_Parser_ParserState_mkNode(x_40, x_41, x_10);
-return x_42;
-}
-else
-{
-lean_object* x_43; lean_object* x_44;
-lean_dec(x_39);
-lean_dec(x_1);
-x_43 = l_Lean_Parser_Command_initialize___elambda__1___closed__2;
-x_44 = l_Lean_Parser_ParserState_mkNode(x_38, x_43, x_10);
-return x_44;
-}
-}
-}
-}
-}
-else
-{
-lean_object* x_81; lean_object* x_82;
-lean_dec(x_12);
-lean_dec(x_1);
-x_81 = l_Lean_Parser_Command_initialize___elambda__1___closed__2;
-x_82 = l_Lean_Parser_ParserState_mkNode(x_11, x_81, x_10);
-return x_82;
-}
+x_26 = l_Lean_Parser_Command_initialize___elambda__1___closed__2;
+x_27 = l_Lean_Parser_ParserState_mkNode(x_13, x_26, x_10);
+return x_27;
}
}
else
@@ -51422,430 +32729,11 @@ return x_7;
}
else
{
-lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102;
-x_98 = lean_ctor_get(x_2, 0);
-lean_inc(x_98);
-x_99 = lean_array_get_size(x_98);
-lean_dec(x_98);
-x_100 = lean_ctor_get(x_2, 1);
-lean_inc(x_100);
-lean_inc(x_1);
-x_101 = lean_apply_2(x_4, x_1, x_2);
-x_102 = lean_ctor_get(x_101, 3);
-lean_inc(x_102);
-if (lean_obj_tag(x_102) == 0)
-{
-lean_dec(x_100);
-lean_dec(x_99);
-lean_dec(x_1);
-return x_101;
-}
-else
-{
-lean_object* x_103; lean_object* x_104; uint8_t x_105;
-x_103 = lean_ctor_get(x_102, 0);
-lean_inc(x_103);
-lean_dec(x_102);
-x_104 = lean_ctor_get(x_101, 1);
-lean_inc(x_104);
-x_105 = lean_nat_dec_eq(x_104, x_100);
-lean_dec(x_104);
-if (x_105 == 0)
-{
-lean_dec(x_103);
-lean_dec(x_100);
-lean_dec(x_99);
-lean_dec(x_1);
-return x_101;
-}
-else
-{
-lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109;
-lean_inc(x_100);
-x_106 = l_Lean_Parser_ParserState_restore(x_101, x_99, x_100);
-lean_dec(x_99);
-x_107 = lean_unsigned_to_nat(1024u);
-x_108 = l_Lean_Parser_checkPrecFn(x_107, x_1, x_106);
-x_109 = lean_ctor_get(x_108, 3);
-lean_inc(x_109);
-if (lean_obj_tag(x_109) == 0)
-{
-lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_199; lean_object* x_200; lean_object* x_201;
-x_110 = lean_ctor_get(x_108, 0);
-lean_inc(x_110);
-x_111 = lean_array_get_size(x_110);
-lean_dec(x_110);
-x_199 = lean_ctor_get(x_108, 1);
-lean_inc(x_199);
-lean_inc(x_1);
-x_200 = l_Lean_Parser_tokenFn(x_1, x_108);
-x_201 = lean_ctor_get(x_200, 3);
-lean_inc(x_201);
-if (lean_obj_tag(x_201) == 0)
-{
-lean_object* x_202; lean_object* x_203;
-x_202 = lean_ctor_get(x_200, 0);
-lean_inc(x_202);
-x_203 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_202);
-lean_dec(x_202);
-if (lean_obj_tag(x_203) == 2)
-{
-lean_object* x_204; lean_object* x_205; uint8_t x_206;
-x_204 = lean_ctor_get(x_203, 1);
-lean_inc(x_204);
-lean_dec(x_203);
-x_205 = l_Lean_Parser_Command_initialize___elambda__1___closed__6;
-x_206 = lean_string_dec_eq(x_204, x_205);
-lean_dec(x_204);
-if (x_206 == 0)
-{
-lean_object* x_207; lean_object* x_208;
-x_207 = l_Lean_Parser_Command_initialize___elambda__1___closed__9;
-x_208 = l_Lean_Parser_ParserState_mkErrorsAt(x_200, x_207, x_199);
-x_112 = x_208;
-goto block_198;
-}
-else
-{
-lean_dec(x_199);
-x_112 = x_200;
-goto block_198;
-}
-}
-else
-{
-lean_object* x_209; lean_object* x_210;
-lean_dec(x_203);
-x_209 = l_Lean_Parser_Command_initialize___elambda__1___closed__9;
-x_210 = l_Lean_Parser_ParserState_mkErrorsAt(x_200, x_209, x_199);
-x_112 = x_210;
-goto block_198;
-}
-}
-else
-{
-lean_object* x_211; lean_object* x_212;
-lean_dec(x_201);
-x_211 = l_Lean_Parser_Command_initialize___elambda__1___closed__9;
-x_212 = l_Lean_Parser_ParserState_mkErrorsAt(x_200, x_211, x_199);
-x_112 = x_212;
-goto block_198;
-}
-block_198:
-{
-lean_object* x_113;
-x_113 = lean_ctor_get(x_112, 3);
-lean_inc(x_113);
-if (lean_obj_tag(x_113) == 0)
-{
-lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_159; lean_object* x_160;
-x_114 = lean_ctor_get(x_112, 0);
-lean_inc(x_114);
-x_115 = lean_ctor_get(x_112, 1);
-lean_inc(x_115);
-x_116 = lean_array_get_size(x_114);
-lean_dec(x_114);
-lean_inc(x_1);
-x_159 = l_Lean_Parser_ident___elambda__1(x_1, x_112);
-x_160 = lean_ctor_get(x_159, 3);
-lean_inc(x_160);
-if (lean_obj_tag(x_160) == 0)
-{
-lean_object* x_161; lean_object* x_162;
-lean_inc(x_1);
-x_161 = l_Lean_Parser_Term_typeSpec___elambda__1(x_1, x_159);
-x_162 = lean_ctor_get(x_161, 3);
-lean_inc(x_162);
-if (lean_obj_tag(x_162) == 0)
-{
-lean_object* x_163; lean_object* x_164;
-lean_inc(x_1);
-x_163 = l_Lean_Parser_Term_leftArrow___elambda__1(x_1, x_161);
-x_164 = lean_ctor_get(x_163, 3);
-lean_inc(x_164);
-if (lean_obj_tag(x_164) == 0)
-{
-x_117 = x_163;
-goto block_158;
-}
-else
-{
-uint8_t x_165;
-x_165 = !lean_is_exclusive(x_163);
-if (x_165 == 0)
-{
-lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169;
-x_166 = lean_ctor_get(x_163, 0);
-x_167 = lean_ctor_get(x_163, 3);
-lean_dec(x_167);
-x_168 = lean_ctor_get(x_163, 1);
-lean_dec(x_168);
-x_169 = l_Array_shrink___main___rarg(x_166, x_116);
-lean_inc(x_115);
-lean_ctor_set(x_163, 1, x_115);
-lean_ctor_set(x_163, 0, x_169);
-x_117 = x_163;
-goto block_158;
-}
-else
-{
-lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173;
-x_170 = lean_ctor_get(x_163, 0);
-x_171 = lean_ctor_get(x_163, 2);
-lean_inc(x_171);
-lean_inc(x_170);
-lean_dec(x_163);
-x_172 = l_Array_shrink___main___rarg(x_170, x_116);
-lean_inc(x_115);
-x_173 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_173, 0, x_172);
-lean_ctor_set(x_173, 1, x_115);
-lean_ctor_set(x_173, 2, x_171);
-lean_ctor_set(x_173, 3, x_164);
-x_117 = x_173;
-goto block_158;
-}
-}
-}
-else
-{
-lean_object* x_174;
-lean_dec(x_162);
-x_174 = lean_ctor_get(x_161, 3);
-lean_inc(x_174);
-if (lean_obj_tag(x_174) == 0)
-{
-x_117 = x_161;
-goto block_158;
-}
-else
-{
-uint8_t x_175;
-x_175 = !lean_is_exclusive(x_161);
-if (x_175 == 0)
-{
-lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179;
-x_176 = lean_ctor_get(x_161, 0);
-x_177 = lean_ctor_get(x_161, 3);
-lean_dec(x_177);
-x_178 = lean_ctor_get(x_161, 1);
-lean_dec(x_178);
-x_179 = l_Array_shrink___main___rarg(x_176, x_116);
-lean_inc(x_115);
-lean_ctor_set(x_161, 1, x_115);
-lean_ctor_set(x_161, 0, x_179);
-x_117 = x_161;
-goto block_158;
-}
-else
-{
-lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183;
-x_180 = lean_ctor_get(x_161, 0);
-x_181 = lean_ctor_get(x_161, 2);
-lean_inc(x_181);
-lean_inc(x_180);
-lean_dec(x_161);
-x_182 = l_Array_shrink___main___rarg(x_180, x_116);
-lean_inc(x_115);
-x_183 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_183, 0, x_182);
-lean_ctor_set(x_183, 1, x_115);
-lean_ctor_set(x_183, 2, x_181);
-lean_ctor_set(x_183, 3, x_174);
-x_117 = x_183;
-goto block_158;
-}
-}
-}
-}
-else
-{
-lean_object* x_184;
-lean_dec(x_160);
-x_184 = lean_ctor_get(x_159, 3);
-lean_inc(x_184);
-if (lean_obj_tag(x_184) == 0)
-{
-x_117 = x_159;
-goto block_158;
-}
-else
-{
-uint8_t x_185;
-x_185 = !lean_is_exclusive(x_159);
-if (x_185 == 0)
-{
-lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189;
-x_186 = lean_ctor_get(x_159, 0);
-x_187 = lean_ctor_get(x_159, 3);
-lean_dec(x_187);
-x_188 = lean_ctor_get(x_159, 1);
-lean_dec(x_188);
-x_189 = l_Array_shrink___main___rarg(x_186, x_116);
-lean_inc(x_115);
-lean_ctor_set(x_159, 1, x_115);
-lean_ctor_set(x_159, 0, x_189);
-x_117 = x_159;
-goto block_158;
-}
-else
-{
-lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193;
-x_190 = lean_ctor_get(x_159, 0);
-x_191 = lean_ctor_get(x_159, 2);
-lean_inc(x_191);
-lean_inc(x_190);
-lean_dec(x_159);
-x_192 = l_Array_shrink___main___rarg(x_190, x_116);
-lean_inc(x_115);
-x_193 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_193, 0, x_192);
-lean_ctor_set(x_193, 1, x_115);
-lean_ctor_set(x_193, 2, x_191);
-lean_ctor_set(x_193, 3, x_184);
-x_117 = x_193;
-goto block_158;
-}
-}
-}
-block_158:
-{
-lean_object* x_118;
-x_118 = lean_ctor_get(x_117, 3);
-lean_inc(x_118);
-if (lean_obj_tag(x_118) == 0)
-{
-lean_object* x_119; lean_object* x_120; lean_object* x_121;
-lean_dec(x_115);
-x_119 = l_Lean_nullKind;
-x_120 = l_Lean_Parser_ParserState_mkNode(x_117, x_119, x_116);
-x_121 = lean_ctor_get(x_120, 3);
-lean_inc(x_121);
-if (lean_obj_tag(x_121) == 0)
-{
-lean_object* x_122; lean_object* x_123; lean_object* x_124; uint8_t x_125; lean_object* x_126;
-x_122 = l_Lean_Parser_Term_doSeq___elambda__1(x_1, x_120);
-x_123 = l_Lean_Parser_Command_initialize___elambda__1___closed__2;
-x_124 = l_Lean_Parser_ParserState_mkNode(x_122, x_123, x_111);
-x_125 = 1;
-x_126 = l_Lean_Parser_mergeOrElseErrors(x_124, x_103, x_100, x_125);
-lean_dec(x_100);
-return x_126;
-}
-else
-{
-lean_object* x_127; lean_object* x_128; uint8_t x_129; lean_object* x_130;
-lean_dec(x_121);
-lean_dec(x_1);
-x_127 = l_Lean_Parser_Command_initialize___elambda__1___closed__2;
-x_128 = l_Lean_Parser_ParserState_mkNode(x_120, x_127, x_111);
-x_129 = 1;
-x_130 = l_Lean_Parser_mergeOrElseErrors(x_128, x_103, x_100, x_129);
-lean_dec(x_100);
-return x_130;
-}
-}
-else
-{
-lean_object* x_131; uint8_t x_132;
-lean_dec(x_118);
-x_131 = lean_ctor_get(x_117, 1);
-lean_inc(x_131);
-x_132 = lean_nat_dec_eq(x_131, x_115);
-lean_dec(x_131);
-if (x_132 == 0)
-{
-lean_object* x_133; lean_object* x_134; lean_object* x_135;
-lean_dec(x_115);
-x_133 = l_Lean_nullKind;
-x_134 = l_Lean_Parser_ParserState_mkNode(x_117, x_133, x_116);
-x_135 = lean_ctor_get(x_134, 3);
-lean_inc(x_135);
-if (lean_obj_tag(x_135) == 0)
-{
-lean_object* x_136; lean_object* x_137; lean_object* x_138; uint8_t x_139; lean_object* x_140;
-x_136 = l_Lean_Parser_Term_doSeq___elambda__1(x_1, x_134);
-x_137 = l_Lean_Parser_Command_initialize___elambda__1___closed__2;
-x_138 = l_Lean_Parser_ParserState_mkNode(x_136, x_137, x_111);
-x_139 = 1;
-x_140 = l_Lean_Parser_mergeOrElseErrors(x_138, x_103, x_100, x_139);
-lean_dec(x_100);
-return x_140;
-}
-else
-{
-lean_object* x_141; lean_object* x_142; uint8_t x_143; lean_object* x_144;
-lean_dec(x_135);
-lean_dec(x_1);
-x_141 = l_Lean_Parser_Command_initialize___elambda__1___closed__2;
-x_142 = l_Lean_Parser_ParserState_mkNode(x_134, x_141, x_111);
-x_143 = 1;
-x_144 = l_Lean_Parser_mergeOrElseErrors(x_142, x_103, x_100, x_143);
-lean_dec(x_100);
-return x_144;
-}
-}
-else
-{
-lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148;
-x_145 = l_Lean_Parser_ParserState_restore(x_117, x_116, x_115);
-x_146 = l_Lean_nullKind;
-x_147 = l_Lean_Parser_ParserState_mkNode(x_145, x_146, x_116);
-x_148 = lean_ctor_get(x_147, 3);
-lean_inc(x_148);
-if (lean_obj_tag(x_148) == 0)
-{
-lean_object* x_149; lean_object* x_150; lean_object* x_151; uint8_t x_152; lean_object* x_153;
-x_149 = l_Lean_Parser_Term_doSeq___elambda__1(x_1, x_147);
-x_150 = l_Lean_Parser_Command_initialize___elambda__1___closed__2;
-x_151 = l_Lean_Parser_ParserState_mkNode(x_149, x_150, x_111);
-x_152 = 1;
-x_153 = l_Lean_Parser_mergeOrElseErrors(x_151, x_103, x_100, x_152);
-lean_dec(x_100);
-return x_153;
-}
-else
-{
-lean_object* x_154; lean_object* x_155; uint8_t x_156; lean_object* x_157;
-lean_dec(x_148);
-lean_dec(x_1);
-x_154 = l_Lean_Parser_Command_initialize___elambda__1___closed__2;
-x_155 = l_Lean_Parser_ParserState_mkNode(x_147, x_154, x_111);
-x_156 = 1;
-x_157 = l_Lean_Parser_mergeOrElseErrors(x_155, x_103, x_100, x_156);
-lean_dec(x_100);
-return x_157;
-}
-}
-}
-}
-}
-else
-{
-lean_object* x_194; lean_object* x_195; uint8_t x_196; lean_object* x_197;
-lean_dec(x_113);
-lean_dec(x_1);
-x_194 = l_Lean_Parser_Command_initialize___elambda__1___closed__2;
-x_195 = l_Lean_Parser_ParserState_mkNode(x_112, x_194, x_111);
-x_196 = 1;
-x_197 = l_Lean_Parser_mergeOrElseErrors(x_195, x_103, x_100, x_196);
-lean_dec(x_100);
-return x_197;
-}
-}
-}
-else
-{
-uint8_t x_213; lean_object* x_214;
-lean_dec(x_109);
-lean_dec(x_1);
-x_213 = 1;
-x_214 = l_Lean_Parser_mergeOrElseErrors(x_108, x_103, x_100, x_213);
-lean_dec(x_100);
-return x_214;
-}
-}
-}
+lean_object* x_28; uint8_t x_29; lean_object* x_30;
+x_28 = l_Lean_Parser_Command_initialize___elambda__1___closed__15;
+x_29 = 1;
+x_30 = l_Lean_Parser_orelseFnCore(x_4, x_28, x_29, x_1, x_2);
+return x_30;
}
}
}
@@ -52307,11 +33195,11 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__8() {
@@ -52319,8 +33207,10 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_2 = l_Lean_Parser_Command_initialize___elambda__1___closed__12;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -52328,11 +33218,43 @@ static lean_object* _init_l_Lean_Parser_Command_builtin__initialize___elambda__1
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__2;
x_2 = l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__11;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -52356,261 +33278,32 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_84; lean_object* x_85; lean_object* x_86;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_84 = lean_ctor_get(x_7, 1);
-lean_inc(x_84);
+x_11 = l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__12;
lean_inc(x_1);
-x_85 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_86 = lean_ctor_get(x_85, 3);
-lean_inc(x_86);
-if (lean_obj_tag(x_86) == 0)
-{
-lean_object* x_87; lean_object* x_88;
-x_87 = lean_ctor_get(x_85, 0);
-lean_inc(x_87);
-x_88 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_87);
-lean_dec(x_87);
-if (lean_obj_tag(x_88) == 2)
-{
-lean_object* x_89; lean_object* x_90; uint8_t x_91;
-x_89 = lean_ctor_get(x_88, 1);
-lean_inc(x_89);
-lean_dec(x_88);
-x_90 = l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__6;
-x_91 = lean_string_dec_eq(x_89, x_90);
-lean_dec(x_89);
-if (x_91 == 0)
-{
-lean_object* x_92; lean_object* x_93;
-x_92 = l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__9;
-x_93 = l_Lean_Parser_ParserState_mkErrorsAt(x_85, x_92, x_84);
-x_11 = x_93;
-goto block_83;
-}
-else
-{
-lean_dec(x_84);
-x_11 = x_85;
-goto block_83;
-}
-}
-else
-{
-lean_object* x_94; lean_object* x_95;
-lean_dec(x_88);
-x_94 = l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__9;
-x_95 = l_Lean_Parser_ParserState_mkErrorsAt(x_85, x_94, x_84);
-x_11 = x_95;
-goto block_83;
-}
-}
-else
-{
-lean_object* x_96; lean_object* x_97;
-lean_dec(x_86);
-x_96 = l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__9;
-x_97 = l_Lean_Parser_ParserState_mkErrorsAt(x_85, x_96, x_84);
-x_11 = x_97;
-goto block_83;
-}
-block_83:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_46; lean_object* x_47;
-x_13 = lean_ctor_get(x_11, 0);
-lean_inc(x_13);
-x_14 = lean_ctor_get(x_11, 1);
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
lean_inc(x_14);
-x_15 = lean_array_get_size(x_13);
-lean_dec(x_13);
+if (lean_obj_tag(x_14) == 0)
+{
+lean_object* x_15; lean_object* x_16; lean_object* x_17;
+x_15 = l_Lean_Parser_Command_initialize___elambda__1___closed__10;
lean_inc(x_1);
-x_46 = l_Lean_Parser_ident___elambda__1(x_1, x_11);
-x_47 = lean_ctor_get(x_46, 3);
-lean_inc(x_47);
-if (lean_obj_tag(x_47) == 0)
-{
-lean_object* x_48; lean_object* x_49;
-lean_inc(x_1);
-x_48 = l_Lean_Parser_Term_typeSpec___elambda__1(x_1, x_46);
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
-{
-lean_object* x_50; lean_object* x_51;
-lean_inc(x_1);
-x_50 = l_Lean_Parser_Term_leftArrow___elambda__1(x_1, x_48);
-x_51 = lean_ctor_get(x_50, 3);
-lean_inc(x_51);
-if (lean_obj_tag(x_51) == 0)
-{
-x_16 = x_50;
-goto block_45;
-}
-else
-{
-uint8_t x_52;
-x_52 = !lean_is_exclusive(x_50);
-if (x_52 == 0)
-{
-lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56;
-x_53 = lean_ctor_get(x_50, 0);
-x_54 = lean_ctor_get(x_50, 3);
-lean_dec(x_54);
-x_55 = lean_ctor_get(x_50, 1);
-lean_dec(x_55);
-x_56 = l_Array_shrink___main___rarg(x_53, x_15);
-lean_inc(x_14);
-lean_ctor_set(x_50, 1, x_14);
-lean_ctor_set(x_50, 0, x_56);
-x_16 = x_50;
-goto block_45;
-}
-else
-{
-lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60;
-x_57 = lean_ctor_get(x_50, 0);
-x_58 = lean_ctor_get(x_50, 2);
-lean_inc(x_58);
-lean_inc(x_57);
-lean_dec(x_50);
-x_59 = l_Array_shrink___main___rarg(x_57, x_15);
-lean_inc(x_14);
-x_60 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_60, 0, x_59);
-lean_ctor_set(x_60, 1, x_14);
-lean_ctor_set(x_60, 2, x_58);
-lean_ctor_set(x_60, 3, x_51);
-x_16 = x_60;
-goto block_45;
-}
-}
-}
-else
-{
-lean_object* x_61;
-lean_dec(x_49);
-x_61 = lean_ctor_get(x_48, 3);
-lean_inc(x_61);
-if (lean_obj_tag(x_61) == 0)
-{
-x_16 = x_48;
-goto block_45;
-}
-else
-{
-uint8_t x_62;
-x_62 = !lean_is_exclusive(x_48);
-if (x_62 == 0)
-{
-lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66;
-x_63 = lean_ctor_get(x_48, 0);
-x_64 = lean_ctor_get(x_48, 3);
-lean_dec(x_64);
-x_65 = lean_ctor_get(x_48, 1);
-lean_dec(x_65);
-x_66 = l_Array_shrink___main___rarg(x_63, x_15);
-lean_inc(x_14);
-lean_ctor_set(x_48, 1, x_14);
-lean_ctor_set(x_48, 0, x_66);
-x_16 = x_48;
-goto block_45;
-}
-else
-{
-lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70;
-x_67 = lean_ctor_get(x_48, 0);
-x_68 = lean_ctor_get(x_48, 2);
-lean_inc(x_68);
-lean_inc(x_67);
-lean_dec(x_48);
-x_69 = l_Array_shrink___main___rarg(x_67, x_15);
-lean_inc(x_14);
-x_70 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_70, 0, x_69);
-lean_ctor_set(x_70, 1, x_14);
-lean_ctor_set(x_70, 2, x_68);
-lean_ctor_set(x_70, 3, x_61);
-x_16 = x_70;
-goto block_45;
-}
-}
-}
-}
-else
-{
-lean_object* x_71;
-lean_dec(x_47);
-x_71 = lean_ctor_get(x_46, 3);
-lean_inc(x_71);
-if (lean_obj_tag(x_71) == 0)
-{
-x_16 = x_46;
-goto block_45;
-}
-else
-{
-uint8_t x_72;
-x_72 = !lean_is_exclusive(x_46);
-if (x_72 == 0)
-{
-lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76;
-x_73 = lean_ctor_get(x_46, 0);
-x_74 = lean_ctor_get(x_46, 3);
-lean_dec(x_74);
-x_75 = lean_ctor_get(x_46, 1);
-lean_dec(x_75);
-x_76 = l_Array_shrink___main___rarg(x_73, x_15);
-lean_inc(x_14);
-lean_ctor_set(x_46, 1, x_14);
-lean_ctor_set(x_46, 0, x_76);
-x_16 = x_46;
-goto block_45;
-}
-else
-{
-lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80;
-x_77 = lean_ctor_get(x_46, 0);
-x_78 = lean_ctor_get(x_46, 2);
-lean_inc(x_78);
-lean_inc(x_77);
-lean_dec(x_46);
-x_79 = l_Array_shrink___main___rarg(x_77, x_15);
-lean_inc(x_14);
-x_80 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_80, 0, x_79);
-lean_ctor_set(x_80, 1, x_14);
-lean_ctor_set(x_80, 2, x_78);
-lean_ctor_set(x_80, 3, x_71);
-x_16 = x_80;
-goto block_45;
-}
-}
-}
-block_45:
-{
-lean_object* x_17;
+x_16 = l_Lean_Parser_optionalFn(x_15, x_1, x_13);
x_17 = lean_ctor_get(x_16, 3);
lean_inc(x_17);
if (lean_obj_tag(x_17) == 0)
{
-lean_object* x_18; lean_object* x_19; lean_object* x_20;
-lean_dec(x_14);
-x_18 = l_Lean_nullKind;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_16, x_18, x_15);
-x_20 = lean_ctor_get(x_19, 3);
-lean_inc(x_20);
-if (lean_obj_tag(x_20) == 0)
-{
-lean_object* x_21; lean_object* x_22; lean_object* x_23;
-x_21 = l_Lean_Parser_Term_doSeq___elambda__1(x_1, x_19);
+lean_object* x_18; lean_object* x_19; uint8_t x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23;
+x_18 = l_Lean_Parser_Term_doSeqBracketed___closed__6;
+x_19 = l_Lean_Parser_Term_doSeqIndent___closed__10;
+x_20 = 1;
+x_21 = l_Lean_Parser_orelseFnCore(x_18, x_19, x_20, x_1, x_16);
x_22 = l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__2;
x_23 = l_Lean_Parser_ParserState_mkNode(x_21, x_22, x_10);
return x_23;
@@ -52618,85 +33311,21 @@ return x_23;
else
{
lean_object* x_24; lean_object* x_25;
-lean_dec(x_20);
+lean_dec(x_17);
lean_dec(x_1);
x_24 = l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__2;
-x_25 = l_Lean_Parser_ParserState_mkNode(x_19, x_24, x_10);
+x_25 = l_Lean_Parser_ParserState_mkNode(x_16, x_24, x_10);
return x_25;
}
}
else
{
-lean_object* x_26; uint8_t x_27;
-lean_dec(x_17);
-x_26 = lean_ctor_get(x_16, 1);
-lean_inc(x_26);
-x_27 = lean_nat_dec_eq(x_26, x_14);
-lean_dec(x_26);
-if (x_27 == 0)
-{
-lean_object* x_28; lean_object* x_29; lean_object* x_30;
+lean_object* x_26; lean_object* x_27;
lean_dec(x_14);
-x_28 = l_Lean_nullKind;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_16, x_28, x_15);
-x_30 = lean_ctor_get(x_29, 3);
-lean_inc(x_30);
-if (lean_obj_tag(x_30) == 0)
-{
-lean_object* x_31; lean_object* x_32; lean_object* x_33;
-x_31 = l_Lean_Parser_Term_doSeq___elambda__1(x_1, x_29);
-x_32 = l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__2;
-x_33 = l_Lean_Parser_ParserState_mkNode(x_31, x_32, x_10);
-return x_33;
-}
-else
-{
-lean_object* x_34; lean_object* x_35;
-lean_dec(x_30);
lean_dec(x_1);
-x_34 = l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__2;
-x_35 = l_Lean_Parser_ParserState_mkNode(x_29, x_34, x_10);
-return x_35;
-}
-}
-else
-{
-lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_36 = l_Lean_Parser_ParserState_restore(x_16, x_15, x_14);
-x_37 = l_Lean_nullKind;
-x_38 = l_Lean_Parser_ParserState_mkNode(x_36, x_37, x_15);
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_object* x_40; lean_object* x_41; lean_object* x_42;
-x_40 = l_Lean_Parser_Term_doSeq___elambda__1(x_1, x_38);
-x_41 = l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__2;
-x_42 = l_Lean_Parser_ParserState_mkNode(x_40, x_41, x_10);
-return x_42;
-}
-else
-{
-lean_object* x_43; lean_object* x_44;
-lean_dec(x_39);
-lean_dec(x_1);
-x_43 = l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__2;
-x_44 = l_Lean_Parser_ParserState_mkNode(x_38, x_43, x_10);
-return x_44;
-}
-}
-}
-}
-}
-else
-{
-lean_object* x_81; lean_object* x_82;
-lean_dec(x_12);
-lean_dec(x_1);
-x_81 = l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__2;
-x_82 = l_Lean_Parser_ParserState_mkNode(x_11, x_81, x_10);
-return x_82;
-}
+x_26 = l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__2;
+x_27 = l_Lean_Parser_ParserState_mkNode(x_13, x_26, x_10);
+return x_27;
}
}
else
@@ -52708,430 +33337,11 @@ return x_7;
}
else
{
-lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102;
-x_98 = lean_ctor_get(x_2, 0);
-lean_inc(x_98);
-x_99 = lean_array_get_size(x_98);
-lean_dec(x_98);
-x_100 = lean_ctor_get(x_2, 1);
-lean_inc(x_100);
-lean_inc(x_1);
-x_101 = lean_apply_2(x_4, x_1, x_2);
-x_102 = lean_ctor_get(x_101, 3);
-lean_inc(x_102);
-if (lean_obj_tag(x_102) == 0)
-{
-lean_dec(x_100);
-lean_dec(x_99);
-lean_dec(x_1);
-return x_101;
-}
-else
-{
-lean_object* x_103; lean_object* x_104; uint8_t x_105;
-x_103 = lean_ctor_get(x_102, 0);
-lean_inc(x_103);
-lean_dec(x_102);
-x_104 = lean_ctor_get(x_101, 1);
-lean_inc(x_104);
-x_105 = lean_nat_dec_eq(x_104, x_100);
-lean_dec(x_104);
-if (x_105 == 0)
-{
-lean_dec(x_103);
-lean_dec(x_100);
-lean_dec(x_99);
-lean_dec(x_1);
-return x_101;
-}
-else
-{
-lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109;
-lean_inc(x_100);
-x_106 = l_Lean_Parser_ParserState_restore(x_101, x_99, x_100);
-lean_dec(x_99);
-x_107 = lean_unsigned_to_nat(1024u);
-x_108 = l_Lean_Parser_checkPrecFn(x_107, x_1, x_106);
-x_109 = lean_ctor_get(x_108, 3);
-lean_inc(x_109);
-if (lean_obj_tag(x_109) == 0)
-{
-lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_199; lean_object* x_200; lean_object* x_201;
-x_110 = lean_ctor_get(x_108, 0);
-lean_inc(x_110);
-x_111 = lean_array_get_size(x_110);
-lean_dec(x_110);
-x_199 = lean_ctor_get(x_108, 1);
-lean_inc(x_199);
-lean_inc(x_1);
-x_200 = l_Lean_Parser_tokenFn(x_1, x_108);
-x_201 = lean_ctor_get(x_200, 3);
-lean_inc(x_201);
-if (lean_obj_tag(x_201) == 0)
-{
-lean_object* x_202; lean_object* x_203;
-x_202 = lean_ctor_get(x_200, 0);
-lean_inc(x_202);
-x_203 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_202);
-lean_dec(x_202);
-if (lean_obj_tag(x_203) == 2)
-{
-lean_object* x_204; lean_object* x_205; uint8_t x_206;
-x_204 = lean_ctor_get(x_203, 1);
-lean_inc(x_204);
-lean_dec(x_203);
-x_205 = l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__6;
-x_206 = lean_string_dec_eq(x_204, x_205);
-lean_dec(x_204);
-if (x_206 == 0)
-{
-lean_object* x_207; lean_object* x_208;
-x_207 = l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__9;
-x_208 = l_Lean_Parser_ParserState_mkErrorsAt(x_200, x_207, x_199);
-x_112 = x_208;
-goto block_198;
-}
-else
-{
-lean_dec(x_199);
-x_112 = x_200;
-goto block_198;
-}
-}
-else
-{
-lean_object* x_209; lean_object* x_210;
-lean_dec(x_203);
-x_209 = l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__9;
-x_210 = l_Lean_Parser_ParserState_mkErrorsAt(x_200, x_209, x_199);
-x_112 = x_210;
-goto block_198;
-}
-}
-else
-{
-lean_object* x_211; lean_object* x_212;
-lean_dec(x_201);
-x_211 = l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__9;
-x_212 = l_Lean_Parser_ParserState_mkErrorsAt(x_200, x_211, x_199);
-x_112 = x_212;
-goto block_198;
-}
-block_198:
-{
-lean_object* x_113;
-x_113 = lean_ctor_get(x_112, 3);
-lean_inc(x_113);
-if (lean_obj_tag(x_113) == 0)
-{
-lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_159; lean_object* x_160;
-x_114 = lean_ctor_get(x_112, 0);
-lean_inc(x_114);
-x_115 = lean_ctor_get(x_112, 1);
-lean_inc(x_115);
-x_116 = lean_array_get_size(x_114);
-lean_dec(x_114);
-lean_inc(x_1);
-x_159 = l_Lean_Parser_ident___elambda__1(x_1, x_112);
-x_160 = lean_ctor_get(x_159, 3);
-lean_inc(x_160);
-if (lean_obj_tag(x_160) == 0)
-{
-lean_object* x_161; lean_object* x_162;
-lean_inc(x_1);
-x_161 = l_Lean_Parser_Term_typeSpec___elambda__1(x_1, x_159);
-x_162 = lean_ctor_get(x_161, 3);
-lean_inc(x_162);
-if (lean_obj_tag(x_162) == 0)
-{
-lean_object* x_163; lean_object* x_164;
-lean_inc(x_1);
-x_163 = l_Lean_Parser_Term_leftArrow___elambda__1(x_1, x_161);
-x_164 = lean_ctor_get(x_163, 3);
-lean_inc(x_164);
-if (lean_obj_tag(x_164) == 0)
-{
-x_117 = x_163;
-goto block_158;
-}
-else
-{
-uint8_t x_165;
-x_165 = !lean_is_exclusive(x_163);
-if (x_165 == 0)
-{
-lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169;
-x_166 = lean_ctor_get(x_163, 0);
-x_167 = lean_ctor_get(x_163, 3);
-lean_dec(x_167);
-x_168 = lean_ctor_get(x_163, 1);
-lean_dec(x_168);
-x_169 = l_Array_shrink___main___rarg(x_166, x_116);
-lean_inc(x_115);
-lean_ctor_set(x_163, 1, x_115);
-lean_ctor_set(x_163, 0, x_169);
-x_117 = x_163;
-goto block_158;
-}
-else
-{
-lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173;
-x_170 = lean_ctor_get(x_163, 0);
-x_171 = lean_ctor_get(x_163, 2);
-lean_inc(x_171);
-lean_inc(x_170);
-lean_dec(x_163);
-x_172 = l_Array_shrink___main___rarg(x_170, x_116);
-lean_inc(x_115);
-x_173 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_173, 0, x_172);
-lean_ctor_set(x_173, 1, x_115);
-lean_ctor_set(x_173, 2, x_171);
-lean_ctor_set(x_173, 3, x_164);
-x_117 = x_173;
-goto block_158;
-}
-}
-}
-else
-{
-lean_object* x_174;
-lean_dec(x_162);
-x_174 = lean_ctor_get(x_161, 3);
-lean_inc(x_174);
-if (lean_obj_tag(x_174) == 0)
-{
-x_117 = x_161;
-goto block_158;
-}
-else
-{
-uint8_t x_175;
-x_175 = !lean_is_exclusive(x_161);
-if (x_175 == 0)
-{
-lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179;
-x_176 = lean_ctor_get(x_161, 0);
-x_177 = lean_ctor_get(x_161, 3);
-lean_dec(x_177);
-x_178 = lean_ctor_get(x_161, 1);
-lean_dec(x_178);
-x_179 = l_Array_shrink___main___rarg(x_176, x_116);
-lean_inc(x_115);
-lean_ctor_set(x_161, 1, x_115);
-lean_ctor_set(x_161, 0, x_179);
-x_117 = x_161;
-goto block_158;
-}
-else
-{
-lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183;
-x_180 = lean_ctor_get(x_161, 0);
-x_181 = lean_ctor_get(x_161, 2);
-lean_inc(x_181);
-lean_inc(x_180);
-lean_dec(x_161);
-x_182 = l_Array_shrink___main___rarg(x_180, x_116);
-lean_inc(x_115);
-x_183 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_183, 0, x_182);
-lean_ctor_set(x_183, 1, x_115);
-lean_ctor_set(x_183, 2, x_181);
-lean_ctor_set(x_183, 3, x_174);
-x_117 = x_183;
-goto block_158;
-}
-}
-}
-}
-else
-{
-lean_object* x_184;
-lean_dec(x_160);
-x_184 = lean_ctor_get(x_159, 3);
-lean_inc(x_184);
-if (lean_obj_tag(x_184) == 0)
-{
-x_117 = x_159;
-goto block_158;
-}
-else
-{
-uint8_t x_185;
-x_185 = !lean_is_exclusive(x_159);
-if (x_185 == 0)
-{
-lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189;
-x_186 = lean_ctor_get(x_159, 0);
-x_187 = lean_ctor_get(x_159, 3);
-lean_dec(x_187);
-x_188 = lean_ctor_get(x_159, 1);
-lean_dec(x_188);
-x_189 = l_Array_shrink___main___rarg(x_186, x_116);
-lean_inc(x_115);
-lean_ctor_set(x_159, 1, x_115);
-lean_ctor_set(x_159, 0, x_189);
-x_117 = x_159;
-goto block_158;
-}
-else
-{
-lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193;
-x_190 = lean_ctor_get(x_159, 0);
-x_191 = lean_ctor_get(x_159, 2);
-lean_inc(x_191);
-lean_inc(x_190);
-lean_dec(x_159);
-x_192 = l_Array_shrink___main___rarg(x_190, x_116);
-lean_inc(x_115);
-x_193 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_193, 0, x_192);
-lean_ctor_set(x_193, 1, x_115);
-lean_ctor_set(x_193, 2, x_191);
-lean_ctor_set(x_193, 3, x_184);
-x_117 = x_193;
-goto block_158;
-}
-}
-}
-block_158:
-{
-lean_object* x_118;
-x_118 = lean_ctor_get(x_117, 3);
-lean_inc(x_118);
-if (lean_obj_tag(x_118) == 0)
-{
-lean_object* x_119; lean_object* x_120; lean_object* x_121;
-lean_dec(x_115);
-x_119 = l_Lean_nullKind;
-x_120 = l_Lean_Parser_ParserState_mkNode(x_117, x_119, x_116);
-x_121 = lean_ctor_get(x_120, 3);
-lean_inc(x_121);
-if (lean_obj_tag(x_121) == 0)
-{
-lean_object* x_122; lean_object* x_123; lean_object* x_124; uint8_t x_125; lean_object* x_126;
-x_122 = l_Lean_Parser_Term_doSeq___elambda__1(x_1, x_120);
-x_123 = l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__2;
-x_124 = l_Lean_Parser_ParserState_mkNode(x_122, x_123, x_111);
-x_125 = 1;
-x_126 = l_Lean_Parser_mergeOrElseErrors(x_124, x_103, x_100, x_125);
-lean_dec(x_100);
-return x_126;
-}
-else
-{
-lean_object* x_127; lean_object* x_128; uint8_t x_129; lean_object* x_130;
-lean_dec(x_121);
-lean_dec(x_1);
-x_127 = l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__2;
-x_128 = l_Lean_Parser_ParserState_mkNode(x_120, x_127, x_111);
-x_129 = 1;
-x_130 = l_Lean_Parser_mergeOrElseErrors(x_128, x_103, x_100, x_129);
-lean_dec(x_100);
-return x_130;
-}
-}
-else
-{
-lean_object* x_131; uint8_t x_132;
-lean_dec(x_118);
-x_131 = lean_ctor_get(x_117, 1);
-lean_inc(x_131);
-x_132 = lean_nat_dec_eq(x_131, x_115);
-lean_dec(x_131);
-if (x_132 == 0)
-{
-lean_object* x_133; lean_object* x_134; lean_object* x_135;
-lean_dec(x_115);
-x_133 = l_Lean_nullKind;
-x_134 = l_Lean_Parser_ParserState_mkNode(x_117, x_133, x_116);
-x_135 = lean_ctor_get(x_134, 3);
-lean_inc(x_135);
-if (lean_obj_tag(x_135) == 0)
-{
-lean_object* x_136; lean_object* x_137; lean_object* x_138; uint8_t x_139; lean_object* x_140;
-x_136 = l_Lean_Parser_Term_doSeq___elambda__1(x_1, x_134);
-x_137 = l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__2;
-x_138 = l_Lean_Parser_ParserState_mkNode(x_136, x_137, x_111);
-x_139 = 1;
-x_140 = l_Lean_Parser_mergeOrElseErrors(x_138, x_103, x_100, x_139);
-lean_dec(x_100);
-return x_140;
-}
-else
-{
-lean_object* x_141; lean_object* x_142; uint8_t x_143; lean_object* x_144;
-lean_dec(x_135);
-lean_dec(x_1);
-x_141 = l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__2;
-x_142 = l_Lean_Parser_ParserState_mkNode(x_134, x_141, x_111);
-x_143 = 1;
-x_144 = l_Lean_Parser_mergeOrElseErrors(x_142, x_103, x_100, x_143);
-lean_dec(x_100);
-return x_144;
-}
-}
-else
-{
-lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148;
-x_145 = l_Lean_Parser_ParserState_restore(x_117, x_116, x_115);
-x_146 = l_Lean_nullKind;
-x_147 = l_Lean_Parser_ParserState_mkNode(x_145, x_146, x_116);
-x_148 = lean_ctor_get(x_147, 3);
-lean_inc(x_148);
-if (lean_obj_tag(x_148) == 0)
-{
-lean_object* x_149; lean_object* x_150; lean_object* x_151; uint8_t x_152; lean_object* x_153;
-x_149 = l_Lean_Parser_Term_doSeq___elambda__1(x_1, x_147);
-x_150 = l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__2;
-x_151 = l_Lean_Parser_ParserState_mkNode(x_149, x_150, x_111);
-x_152 = 1;
-x_153 = l_Lean_Parser_mergeOrElseErrors(x_151, x_103, x_100, x_152);
-lean_dec(x_100);
-return x_153;
-}
-else
-{
-lean_object* x_154; lean_object* x_155; uint8_t x_156; lean_object* x_157;
-lean_dec(x_148);
-lean_dec(x_1);
-x_154 = l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__2;
-x_155 = l_Lean_Parser_ParserState_mkNode(x_147, x_154, x_111);
-x_156 = 1;
-x_157 = l_Lean_Parser_mergeOrElseErrors(x_155, x_103, x_100, x_156);
-lean_dec(x_100);
-return x_157;
-}
-}
-}
-}
-}
-else
-{
-lean_object* x_194; lean_object* x_195; uint8_t x_196; lean_object* x_197;
-lean_dec(x_113);
-lean_dec(x_1);
-x_194 = l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__2;
-x_195 = l_Lean_Parser_ParserState_mkNode(x_112, x_194, x_111);
-x_196 = 1;
-x_197 = l_Lean_Parser_mergeOrElseErrors(x_195, x_103, x_100, x_196);
-lean_dec(x_100);
-return x_197;
-}
-}
-}
-else
-{
-uint8_t x_213; lean_object* x_214;
-lean_dec(x_109);
-lean_dec(x_1);
-x_213 = 1;
-x_214 = l_Lean_Parser_mergeOrElseErrors(x_108, x_103, x_100, x_213);
-lean_dec(x_100);
-return x_214;
-}
-}
-}
+lean_object* x_28; uint8_t x_29; lean_object* x_30;
+x_28 = l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__10;
+x_29 = 1;
+x_30 = l_Lean_Parser_orelseFnCore(x_4, x_28, x_29, x_1, x_2);
+return x_30;
}
}
}
@@ -53381,6 +33591,26 @@ x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
}
}
+static lean_object* _init_l_Lean_Parser_Command_in___elambda__1___closed__3() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_doFor___elambda__1___closed__9;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_in___elambda__1___closed__4() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_in___elambda__1___closed__3;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Command_in___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -53391,93 +33621,37 @@ x_5 = lean_ctor_get(x_4, 3);
lean_inc(x_5);
if (lean_obj_tag(x_5) == 0)
{
-lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_18; lean_object* x_19; lean_object* x_20;
+lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
x_6 = lean_ctor_get(x_4, 0);
lean_inc(x_6);
x_7 = lean_array_get_size(x_6);
lean_dec(x_6);
-x_18 = lean_ctor_get(x_4, 1);
-lean_inc(x_18);
+x_8 = l_Lean_Parser_Term_doFor___elambda__1___closed__9;
+x_9 = l_Lean_Parser_Command_in___elambda__1___closed__4;
lean_inc(x_1);
-x_19 = l_Lean_Parser_tokenFn(x_1, x_4);
-x_20 = lean_ctor_get(x_19, 3);
-lean_inc(x_20);
-if (lean_obj_tag(x_20) == 0)
+x_10 = l_Lean_Parser_symbolFnAux(x_8, x_9, x_1, x_4);
+x_11 = lean_ctor_get(x_10, 3);
+lean_inc(x_11);
+if (lean_obj_tag(x_11) == 0)
{
-lean_object* x_21; lean_object* x_22;
-x_21 = lean_ctor_get(x_19, 0);
-lean_inc(x_21);
-x_22 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_21);
-lean_dec(x_21);
-if (lean_obj_tag(x_22) == 2)
-{
-lean_object* x_23; lean_object* x_24; uint8_t x_25;
-x_23 = lean_ctor_get(x_22, 1);
-lean_inc(x_23);
-lean_dec(x_22);
-x_24 = l_Lean_Parser_Term_doFor___elambda__1___closed__8;
-x_25 = lean_string_dec_eq(x_23, x_24);
-lean_dec(x_23);
-if (x_25 == 0)
-{
-lean_object* x_26; lean_object* x_27;
-x_26 = l_Lean_Parser_Term_doFor___elambda__1___closed__11;
-x_27 = l_Lean_Parser_ParserState_mkErrorsAt(x_19, x_26, x_18);
-x_8 = x_27;
-goto block_17;
-}
-else
-{
-lean_dec(x_18);
-x_8 = x_19;
-goto block_17;
-}
-}
-else
-{
-lean_object* x_28; lean_object* x_29;
-lean_dec(x_22);
-x_28 = l_Lean_Parser_Term_doFor___elambda__1___closed__11;
-x_29 = l_Lean_Parser_ParserState_mkErrorsAt(x_19, x_28, x_18);
-x_8 = x_29;
-goto block_17;
-}
-}
-else
-{
-lean_object* x_30; lean_object* x_31;
-lean_dec(x_20);
-x_30 = l_Lean_Parser_Term_doFor___elambda__1___closed__11;
-x_31 = l_Lean_Parser_ParserState_mkErrorsAt(x_19, x_30, x_18);
-x_8 = x_31;
-goto block_17;
-}
-block_17:
-{
-lean_object* x_9;
-x_9 = lean_ctor_get(x_8, 3);
-lean_inc(x_9);
-if (lean_obj_tag(x_9) == 0)
-{
-lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
-x_10 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3127____closed__4;
-x_11 = lean_unsigned_to_nat(0u);
-x_12 = l_Lean_Parser_categoryParser___elambda__1(x_10, x_11, x_1, x_8);
-x_13 = l_Lean_Parser_Command_in___elambda__1___closed__2;
-x_14 = l_Lean_Parser_ParserState_mkTrailingNode(x_12, x_13, x_7);
-lean_dec(x_7);
-return x_14;
-}
-else
-{
-lean_object* x_15; lean_object* x_16;
-lean_dec(x_9);
-lean_dec(x_1);
+lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
+x_12 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3127____closed__4;
+x_13 = lean_unsigned_to_nat(0u);
+x_14 = l_Lean_Parser_categoryParser___elambda__1(x_12, x_13, x_1, x_10);
x_15 = l_Lean_Parser_Command_in___elambda__1___closed__2;
-x_16 = l_Lean_Parser_ParserState_mkTrailingNode(x_8, x_15, x_7);
+x_16 = l_Lean_Parser_ParserState_mkTrailingNode(x_14, x_15, x_7);
lean_dec(x_7);
return x_16;
}
+else
+{
+lean_object* x_17; lean_object* x_18;
+lean_dec(x_11);
+lean_dec(x_1);
+x_17 = l_Lean_Parser_Command_in___elambda__1___closed__2;
+x_18 = l_Lean_Parser_ParserState_mkTrailingNode(x_10, x_17, x_7);
+lean_dec(x_7);
+return x_18;
}
}
else
@@ -53686,6 +33860,16 @@ l_Lean_Parser_Term_quot___elambda__1___closed__11 = _init_l_Lean_Parser_Term_quo
lean_mark_persistent(l_Lean_Parser_Term_quot___elambda__1___closed__11);
l_Lean_Parser_Term_quot___elambda__1___closed__12 = _init_l_Lean_Parser_Term_quot___elambda__1___closed__12();
lean_mark_persistent(l_Lean_Parser_Term_quot___elambda__1___closed__12);
+l_Lean_Parser_Term_quot___elambda__1___closed__13 = _init_l_Lean_Parser_Term_quot___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Term_quot___elambda__1___closed__13);
+l_Lean_Parser_Term_quot___elambda__1___closed__14 = _init_l_Lean_Parser_Term_quot___elambda__1___closed__14();
+lean_mark_persistent(l_Lean_Parser_Term_quot___elambda__1___closed__14);
+l_Lean_Parser_Term_quot___elambda__1___closed__15 = _init_l_Lean_Parser_Term_quot___elambda__1___closed__15();
+lean_mark_persistent(l_Lean_Parser_Term_quot___elambda__1___closed__15);
+l_Lean_Parser_Term_quot___elambda__1___closed__16 = _init_l_Lean_Parser_Term_quot___elambda__1___closed__16();
+lean_mark_persistent(l_Lean_Parser_Term_quot___elambda__1___closed__16);
+l_Lean_Parser_Term_quot___elambda__1___closed__17 = _init_l_Lean_Parser_Term_quot___elambda__1___closed__17();
+lean_mark_persistent(l_Lean_Parser_Term_quot___elambda__1___closed__17);
l_Lean_Parser_Term_quot___closed__1 = _init_l_Lean_Parser_Term_quot___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_quot___closed__1);
l_Lean_Parser_Term_quot___closed__2 = _init_l_Lean_Parser_Term_quot___closed__2();
@@ -53777,6 +33961,14 @@ l_Lean_Parser_Command_docComment___elambda__1___closed__10 = _init_l_Lean_Parser
lean_mark_persistent(l_Lean_Parser_Command_docComment___elambda__1___closed__10);
l_Lean_Parser_Command_docComment___elambda__1___closed__11 = _init_l_Lean_Parser_Command_docComment___elambda__1___closed__11();
lean_mark_persistent(l_Lean_Parser_Command_docComment___elambda__1___closed__11);
+l_Lean_Parser_Command_docComment___elambda__1___closed__12 = _init_l_Lean_Parser_Command_docComment___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_docComment___elambda__1___closed__12);
+l_Lean_Parser_Command_docComment___elambda__1___closed__13 = _init_l_Lean_Parser_Command_docComment___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Command_docComment___elambda__1___closed__13);
+l_Lean_Parser_Command_docComment___elambda__1___closed__14 = _init_l_Lean_Parser_Command_docComment___elambda__1___closed__14();
+lean_mark_persistent(l_Lean_Parser_Command_docComment___elambda__1___closed__14);
+l_Lean_Parser_Command_docComment___elambda__1___closed__15 = _init_l_Lean_Parser_Command_docComment___elambda__1___closed__15();
+lean_mark_persistent(l_Lean_Parser_Command_docComment___elambda__1___closed__15);
l_Lean_Parser_Command_docComment___closed__1 = _init_l_Lean_Parser_Command_docComment___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_docComment___closed__1);
l_Lean_Parser_Command_docComment___closed__2 = _init_l_Lean_Parser_Command_docComment___closed__2();
@@ -53813,6 +34005,10 @@ l_Lean_Parser_Command_private___elambda__1___closed__8 = _init_l_Lean_Parser_Com
lean_mark_persistent(l_Lean_Parser_Command_private___elambda__1___closed__8);
l_Lean_Parser_Command_private___elambda__1___closed__9 = _init_l_Lean_Parser_Command_private___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Command_private___elambda__1___closed__9);
+l_Lean_Parser_Command_private___elambda__1___closed__10 = _init_l_Lean_Parser_Command_private___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_private___elambda__1___closed__10);
+l_Lean_Parser_Command_private___elambda__1___closed__11 = _init_l_Lean_Parser_Command_private___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_private___elambda__1___closed__11);
l_Lean_Parser_Command_private___closed__1 = _init_l_Lean_Parser_Command_private___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_private___closed__1);
l_Lean_Parser_Command_private___closed__2 = _init_l_Lean_Parser_Command_private___closed__2();
@@ -53843,6 +34039,10 @@ l_Lean_Parser_Command_protected___elambda__1___closed__7 = _init_l_Lean_Parser_C
lean_mark_persistent(l_Lean_Parser_Command_protected___elambda__1___closed__7);
l_Lean_Parser_Command_protected___elambda__1___closed__8 = _init_l_Lean_Parser_Command_protected___elambda__1___closed__8();
lean_mark_persistent(l_Lean_Parser_Command_protected___elambda__1___closed__8);
+l_Lean_Parser_Command_protected___elambda__1___closed__9 = _init_l_Lean_Parser_Command_protected___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Command_protected___elambda__1___closed__9);
+l_Lean_Parser_Command_protected___elambda__1___closed__10 = _init_l_Lean_Parser_Command_protected___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_protected___elambda__1___closed__10);
l_Lean_Parser_Command_protected___closed__1 = _init_l_Lean_Parser_Command_protected___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_protected___closed__1);
l_Lean_Parser_Command_protected___closed__2 = _init_l_Lean_Parser_Command_protected___closed__2();
@@ -53883,6 +34083,10 @@ l_Lean_Parser_Command_noncomputable___elambda__1___closed__8 = _init_l_Lean_Pars
lean_mark_persistent(l_Lean_Parser_Command_noncomputable___elambda__1___closed__8);
l_Lean_Parser_Command_noncomputable___elambda__1___closed__9 = _init_l_Lean_Parser_Command_noncomputable___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Command_noncomputable___elambda__1___closed__9);
+l_Lean_Parser_Command_noncomputable___elambda__1___closed__10 = _init_l_Lean_Parser_Command_noncomputable___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_noncomputable___elambda__1___closed__10);
+l_Lean_Parser_Command_noncomputable___elambda__1___closed__11 = _init_l_Lean_Parser_Command_noncomputable___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_noncomputable___elambda__1___closed__11);
l_Lean_Parser_Command_noncomputable___closed__1 = _init_l_Lean_Parser_Command_noncomputable___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_noncomputable___closed__1);
l_Lean_Parser_Command_noncomputable___closed__2 = _init_l_Lean_Parser_Command_noncomputable___closed__2();
@@ -53915,6 +34119,10 @@ l_Lean_Parser_Command_unsafe___elambda__1___closed__8 = _init_l_Lean_Parser_Comm
lean_mark_persistent(l_Lean_Parser_Command_unsafe___elambda__1___closed__8);
l_Lean_Parser_Command_unsafe___elambda__1___closed__9 = _init_l_Lean_Parser_Command_unsafe___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Command_unsafe___elambda__1___closed__9);
+l_Lean_Parser_Command_unsafe___elambda__1___closed__10 = _init_l_Lean_Parser_Command_unsafe___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_unsafe___elambda__1___closed__10);
+l_Lean_Parser_Command_unsafe___elambda__1___closed__11 = _init_l_Lean_Parser_Command_unsafe___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_unsafe___elambda__1___closed__11);
l_Lean_Parser_Command_unsafe___closed__1 = _init_l_Lean_Parser_Command_unsafe___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_unsafe___closed__1);
l_Lean_Parser_Command_unsafe___closed__2 = _init_l_Lean_Parser_Command_unsafe___closed__2();
@@ -53947,6 +34155,10 @@ l_Lean_Parser_Command_partial___elambda__1___closed__8 = _init_l_Lean_Parser_Com
lean_mark_persistent(l_Lean_Parser_Command_partial___elambda__1___closed__8);
l_Lean_Parser_Command_partial___elambda__1___closed__9 = _init_l_Lean_Parser_Command_partial___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Command_partial___elambda__1___closed__9);
+l_Lean_Parser_Command_partial___elambda__1___closed__10 = _init_l_Lean_Parser_Command_partial___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_partial___elambda__1___closed__10);
+l_Lean_Parser_Command_partial___elambda__1___closed__11 = _init_l_Lean_Parser_Command_partial___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_partial___elambda__1___closed__11);
l_Lean_Parser_Command_partial___closed__1 = _init_l_Lean_Parser_Command_partial___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_partial___closed__1);
l_Lean_Parser_Command_partial___closed__2 = _init_l_Lean_Parser_Command_partial___closed__2();
@@ -53969,6 +34181,34 @@ l_Lean_Parser_Command_declModifiers___elambda__1___closed__3 = _init_l_Lean_Pars
lean_mark_persistent(l_Lean_Parser_Command_declModifiers___elambda__1___closed__3);
l_Lean_Parser_Command_declModifiers___elambda__1___closed__4 = _init_l_Lean_Parser_Command_declModifiers___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Command_declModifiers___elambda__1___closed__4);
+l_Lean_Parser_Command_declModifiers___elambda__1___closed__5 = _init_l_Lean_Parser_Command_declModifiers___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Command_declModifiers___elambda__1___closed__5);
+l_Lean_Parser_Command_declModifiers___elambda__1___closed__6 = _init_l_Lean_Parser_Command_declModifiers___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Command_declModifiers___elambda__1___closed__6);
+l_Lean_Parser_Command_declModifiers___elambda__1___closed__7 = _init_l_Lean_Parser_Command_declModifiers___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Command_declModifiers___elambda__1___closed__7);
+l_Lean_Parser_Command_declModifiers___elambda__1___closed__8 = _init_l_Lean_Parser_Command_declModifiers___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Command_declModifiers___elambda__1___closed__8);
+l_Lean_Parser_Command_declModifiers___elambda__1___closed__9 = _init_l_Lean_Parser_Command_declModifiers___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Command_declModifiers___elambda__1___closed__9);
+l_Lean_Parser_Command_declModifiers___elambda__1___closed__10 = _init_l_Lean_Parser_Command_declModifiers___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_declModifiers___elambda__1___closed__10);
+l_Lean_Parser_Command_declModifiers___elambda__1___closed__11 = _init_l_Lean_Parser_Command_declModifiers___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_declModifiers___elambda__1___closed__11);
+l_Lean_Parser_Command_declModifiers___elambda__1___closed__12 = _init_l_Lean_Parser_Command_declModifiers___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_declModifiers___elambda__1___closed__12);
+l_Lean_Parser_Command_declModifiers___elambda__1___closed__13 = _init_l_Lean_Parser_Command_declModifiers___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Command_declModifiers___elambda__1___closed__13);
+l_Lean_Parser_Command_declModifiers___elambda__1___closed__14 = _init_l_Lean_Parser_Command_declModifiers___elambda__1___closed__14();
+lean_mark_persistent(l_Lean_Parser_Command_declModifiers___elambda__1___closed__14);
+l_Lean_Parser_Command_declModifiers___elambda__1___closed__15 = _init_l_Lean_Parser_Command_declModifiers___elambda__1___closed__15();
+lean_mark_persistent(l_Lean_Parser_Command_declModifiers___elambda__1___closed__15);
+l_Lean_Parser_Command_declModifiers___elambda__1___closed__16 = _init_l_Lean_Parser_Command_declModifiers___elambda__1___closed__16();
+lean_mark_persistent(l_Lean_Parser_Command_declModifiers___elambda__1___closed__16);
+l_Lean_Parser_Command_declModifiers___elambda__1___closed__17 = _init_l_Lean_Parser_Command_declModifiers___elambda__1___closed__17();
+lean_mark_persistent(l_Lean_Parser_Command_declModifiers___elambda__1___closed__17);
+l_Lean_Parser_Command_declModifiers___elambda__1___closed__18 = _init_l_Lean_Parser_Command_declModifiers___elambda__1___closed__18();
+lean_mark_persistent(l_Lean_Parser_Command_declModifiers___elambda__1___closed__18);
l_Lean_Parser_Command_declModifiers___closed__1 = _init_l_Lean_Parser_Command_declModifiers___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_declModifiers___closed__1);
l_Lean_Parser_Command_declModifiers___closed__2 = _init_l_Lean_Parser_Command_declModifiers___closed__2();
@@ -54015,6 +34255,22 @@ l_Lean_Parser_Command_declId___elambda__1___closed__3 = _init_l_Lean_Parser_Comm
lean_mark_persistent(l_Lean_Parser_Command_declId___elambda__1___closed__3);
l_Lean_Parser_Command_declId___elambda__1___closed__4 = _init_l_Lean_Parser_Command_declId___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Command_declId___elambda__1___closed__4);
+l_Lean_Parser_Command_declId___elambda__1___closed__5 = _init_l_Lean_Parser_Command_declId___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Command_declId___elambda__1___closed__5);
+l_Lean_Parser_Command_declId___elambda__1___closed__6 = _init_l_Lean_Parser_Command_declId___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Command_declId___elambda__1___closed__6);
+l_Lean_Parser_Command_declId___elambda__1___closed__7 = _init_l_Lean_Parser_Command_declId___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Command_declId___elambda__1___closed__7);
+l_Lean_Parser_Command_declId___elambda__1___closed__8 = _init_l_Lean_Parser_Command_declId___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Command_declId___elambda__1___closed__8);
+l_Lean_Parser_Command_declId___elambda__1___closed__9 = _init_l_Lean_Parser_Command_declId___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Command_declId___elambda__1___closed__9);
+l_Lean_Parser_Command_declId___elambda__1___closed__10 = _init_l_Lean_Parser_Command_declId___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_declId___elambda__1___closed__10);
+l_Lean_Parser_Command_declId___elambda__1___closed__11 = _init_l_Lean_Parser_Command_declId___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_declId___elambda__1___closed__11);
+l_Lean_Parser_Command_declId___elambda__1___closed__12 = _init_l_Lean_Parser_Command_declId___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_declId___elambda__1___closed__12);
l_Lean_Parser_Command_declId___closed__1 = _init_l_Lean_Parser_Command_declId___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_declId___closed__1);
l_Lean_Parser_Command_declId___closed__2 = _init_l_Lean_Parser_Command_declId___closed__2();
@@ -54045,6 +34301,14 @@ l_Lean_Parser_Command_declSig___elambda__1___closed__3 = _init_l_Lean_Parser_Com
lean_mark_persistent(l_Lean_Parser_Command_declSig___elambda__1___closed__3);
l_Lean_Parser_Command_declSig___elambda__1___closed__4 = _init_l_Lean_Parser_Command_declSig___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Command_declSig___elambda__1___closed__4);
+l_Lean_Parser_Command_declSig___elambda__1___closed__5 = _init_l_Lean_Parser_Command_declSig___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Command_declSig___elambda__1___closed__5);
+l_Lean_Parser_Command_declSig___elambda__1___closed__6 = _init_l_Lean_Parser_Command_declSig___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Command_declSig___elambda__1___closed__6);
+l_Lean_Parser_Command_declSig___elambda__1___closed__7 = _init_l_Lean_Parser_Command_declSig___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Command_declSig___elambda__1___closed__7);
+l_Lean_Parser_Command_declSig___elambda__1___closed__8 = _init_l_Lean_Parser_Command_declSig___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Command_declSig___elambda__1___closed__8);
l_Lean_Parser_Command_declSig___closed__1 = _init_l_Lean_Parser_Command_declSig___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_declSig___closed__1);
l_Lean_Parser_Command_declSig___closed__2 = _init_l_Lean_Parser_Command_declSig___closed__2();
@@ -54067,6 +34331,12 @@ l_Lean_Parser_Command_optDeclSig___elambda__1___closed__3 = _init_l_Lean_Parser_
lean_mark_persistent(l_Lean_Parser_Command_optDeclSig___elambda__1___closed__3);
l_Lean_Parser_Command_optDeclSig___elambda__1___closed__4 = _init_l_Lean_Parser_Command_optDeclSig___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Command_optDeclSig___elambda__1___closed__4);
+l_Lean_Parser_Command_optDeclSig___elambda__1___closed__5 = _init_l_Lean_Parser_Command_optDeclSig___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Command_optDeclSig___elambda__1___closed__5);
+l_Lean_Parser_Command_optDeclSig___elambda__1___closed__6 = _init_l_Lean_Parser_Command_optDeclSig___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Command_optDeclSig___elambda__1___closed__6);
+l_Lean_Parser_Command_optDeclSig___elambda__1___closed__7 = _init_l_Lean_Parser_Command_optDeclSig___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Command_optDeclSig___elambda__1___closed__7);
l_Lean_Parser_Command_optDeclSig___closed__1 = _init_l_Lean_Parser_Command_optDeclSig___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_optDeclSig___closed__1);
l_Lean_Parser_Command_optDeclSig___closed__2 = _init_l_Lean_Parser_Command_optDeclSig___closed__2();
@@ -54097,6 +34367,12 @@ l_Lean_Parser_Command_declValSimple___elambda__1___closed__8 = _init_l_Lean_Pars
lean_mark_persistent(l_Lean_Parser_Command_declValSimple___elambda__1___closed__8);
l_Lean_Parser_Command_declValSimple___elambda__1___closed__9 = _init_l_Lean_Parser_Command_declValSimple___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Command_declValSimple___elambda__1___closed__9);
+l_Lean_Parser_Command_declValSimple___elambda__1___closed__10 = _init_l_Lean_Parser_Command_declValSimple___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_declValSimple___elambda__1___closed__10);
+l_Lean_Parser_Command_declValSimple___elambda__1___closed__11 = _init_l_Lean_Parser_Command_declValSimple___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_declValSimple___elambda__1___closed__11);
+l_Lean_Parser_Command_declValSimple___elambda__1___closed__12 = _init_l_Lean_Parser_Command_declValSimple___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_declValSimple___elambda__1___closed__12);
l_Lean_Parser_Command_declValSimple___closed__1 = _init_l_Lean_Parser_Command_declValSimple___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_declValSimple___closed__1);
l_Lean_Parser_Command_declValSimple___closed__2 = _init_l_Lean_Parser_Command_declValSimple___closed__2();
@@ -54121,6 +34397,10 @@ l_Lean_Parser_Command_declValEqns___elambda__1___closed__3 = _init_l_Lean_Parser
lean_mark_persistent(l_Lean_Parser_Command_declValEqns___elambda__1___closed__3);
l_Lean_Parser_Command_declValEqns___elambda__1___closed__4 = _init_l_Lean_Parser_Command_declValEqns___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Command_declValEqns___elambda__1___closed__4);
+l_Lean_Parser_Command_declValEqns___elambda__1___closed__5 = _init_l_Lean_Parser_Command_declValEqns___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Command_declValEqns___elambda__1___closed__5);
+l_Lean_Parser_Command_declValEqns___elambda__1___closed__6 = _init_l_Lean_Parser_Command_declValEqns___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Command_declValEqns___elambda__1___closed__6);
l_Lean_Parser_Command_declValEqns___closed__1 = _init_l_Lean_Parser_Command_declValEqns___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_declValEqns___closed__1);
l_Lean_Parser_Command_declValEqns___closed__2 = _init_l_Lean_Parser_Command_declValEqns___closed__2();
@@ -54159,6 +34439,16 @@ l_Lean_Parser_Command_abbrev___elambda__1___closed__8 = _init_l_Lean_Parser_Comm
lean_mark_persistent(l_Lean_Parser_Command_abbrev___elambda__1___closed__8);
l_Lean_Parser_Command_abbrev___elambda__1___closed__9 = _init_l_Lean_Parser_Command_abbrev___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Command_abbrev___elambda__1___closed__9);
+l_Lean_Parser_Command_abbrev___elambda__1___closed__10 = _init_l_Lean_Parser_Command_abbrev___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_abbrev___elambda__1___closed__10);
+l_Lean_Parser_Command_abbrev___elambda__1___closed__11 = _init_l_Lean_Parser_Command_abbrev___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_abbrev___elambda__1___closed__11);
+l_Lean_Parser_Command_abbrev___elambda__1___closed__12 = _init_l_Lean_Parser_Command_abbrev___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_abbrev___elambda__1___closed__12);
+l_Lean_Parser_Command_abbrev___elambda__1___closed__13 = _init_l_Lean_Parser_Command_abbrev___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Command_abbrev___elambda__1___closed__13);
+l_Lean_Parser_Command_abbrev___elambda__1___closed__14 = _init_l_Lean_Parser_Command_abbrev___elambda__1___closed__14();
+lean_mark_persistent(l_Lean_Parser_Command_abbrev___elambda__1___closed__14);
l_Lean_Parser_Command_abbrev___closed__1 = _init_l_Lean_Parser_Command_abbrev___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_abbrev___closed__1);
l_Lean_Parser_Command_abbrev___closed__2 = _init_l_Lean_Parser_Command_abbrev___closed__2();
@@ -54197,6 +34487,12 @@ l_Lean_Parser_Command_def___elambda__1___closed__8 = _init_l_Lean_Parser_Command
lean_mark_persistent(l_Lean_Parser_Command_def___elambda__1___closed__8);
l_Lean_Parser_Command_def___elambda__1___closed__9 = _init_l_Lean_Parser_Command_def___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Command_def___elambda__1___closed__9);
+l_Lean_Parser_Command_def___elambda__1___closed__10 = _init_l_Lean_Parser_Command_def___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_def___elambda__1___closed__10);
+l_Lean_Parser_Command_def___elambda__1___closed__11 = _init_l_Lean_Parser_Command_def___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_def___elambda__1___closed__11);
+l_Lean_Parser_Command_def___elambda__1___closed__12 = _init_l_Lean_Parser_Command_def___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_def___elambda__1___closed__12);
l_Lean_Parser_Command_def___closed__1 = _init_l_Lean_Parser_Command_def___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_def___closed__1);
l_Lean_Parser_Command_def___closed__2 = _init_l_Lean_Parser_Command_def___closed__2();
@@ -54231,6 +34527,16 @@ l_Lean_Parser_Command_theorem___elambda__1___closed__8 = _init_l_Lean_Parser_Com
lean_mark_persistent(l_Lean_Parser_Command_theorem___elambda__1___closed__8);
l_Lean_Parser_Command_theorem___elambda__1___closed__9 = _init_l_Lean_Parser_Command_theorem___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Command_theorem___elambda__1___closed__9);
+l_Lean_Parser_Command_theorem___elambda__1___closed__10 = _init_l_Lean_Parser_Command_theorem___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_theorem___elambda__1___closed__10);
+l_Lean_Parser_Command_theorem___elambda__1___closed__11 = _init_l_Lean_Parser_Command_theorem___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_theorem___elambda__1___closed__11);
+l_Lean_Parser_Command_theorem___elambda__1___closed__12 = _init_l_Lean_Parser_Command_theorem___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_theorem___elambda__1___closed__12);
+l_Lean_Parser_Command_theorem___elambda__1___closed__13 = _init_l_Lean_Parser_Command_theorem___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Command_theorem___elambda__1___closed__13);
+l_Lean_Parser_Command_theorem___elambda__1___closed__14 = _init_l_Lean_Parser_Command_theorem___elambda__1___closed__14();
+lean_mark_persistent(l_Lean_Parser_Command_theorem___elambda__1___closed__14);
l_Lean_Parser_Command_theorem___closed__1 = _init_l_Lean_Parser_Command_theorem___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_theorem___closed__1);
l_Lean_Parser_Command_theorem___closed__2 = _init_l_Lean_Parser_Command_theorem___closed__2();
@@ -54269,6 +34575,18 @@ l_Lean_Parser_Command_constant___elambda__1___closed__8 = _init_l_Lean_Parser_Co
lean_mark_persistent(l_Lean_Parser_Command_constant___elambda__1___closed__8);
l_Lean_Parser_Command_constant___elambda__1___closed__9 = _init_l_Lean_Parser_Command_constant___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Command_constant___elambda__1___closed__9);
+l_Lean_Parser_Command_constant___elambda__1___closed__10 = _init_l_Lean_Parser_Command_constant___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_constant___elambda__1___closed__10);
+l_Lean_Parser_Command_constant___elambda__1___closed__11 = _init_l_Lean_Parser_Command_constant___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_constant___elambda__1___closed__11);
+l_Lean_Parser_Command_constant___elambda__1___closed__12 = _init_l_Lean_Parser_Command_constant___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_constant___elambda__1___closed__12);
+l_Lean_Parser_Command_constant___elambda__1___closed__13 = _init_l_Lean_Parser_Command_constant___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Command_constant___elambda__1___closed__13);
+l_Lean_Parser_Command_constant___elambda__1___closed__14 = _init_l_Lean_Parser_Command_constant___elambda__1___closed__14();
+lean_mark_persistent(l_Lean_Parser_Command_constant___elambda__1___closed__14);
+l_Lean_Parser_Command_constant___elambda__1___closed__15 = _init_l_Lean_Parser_Command_constant___elambda__1___closed__15();
+lean_mark_persistent(l_Lean_Parser_Command_constant___elambda__1___closed__15);
l_Lean_Parser_Command_constant___closed__1 = _init_l_Lean_Parser_Command_constant___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_constant___closed__1);
l_Lean_Parser_Command_constant___closed__2 = _init_l_Lean_Parser_Command_constant___closed__2();
@@ -54309,6 +34627,16 @@ l_Lean_Parser_Command_instance___elambda__1___closed__8 = _init_l_Lean_Parser_Co
lean_mark_persistent(l_Lean_Parser_Command_instance___elambda__1___closed__8);
l_Lean_Parser_Command_instance___elambda__1___closed__9 = _init_l_Lean_Parser_Command_instance___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Command_instance___elambda__1___closed__9);
+l_Lean_Parser_Command_instance___elambda__1___closed__10 = _init_l_Lean_Parser_Command_instance___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_instance___elambda__1___closed__10);
+l_Lean_Parser_Command_instance___elambda__1___closed__11 = _init_l_Lean_Parser_Command_instance___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_instance___elambda__1___closed__11);
+l_Lean_Parser_Command_instance___elambda__1___closed__12 = _init_l_Lean_Parser_Command_instance___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_instance___elambda__1___closed__12);
+l_Lean_Parser_Command_instance___elambda__1___closed__13 = _init_l_Lean_Parser_Command_instance___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Command_instance___elambda__1___closed__13);
+l_Lean_Parser_Command_instance___elambda__1___closed__14 = _init_l_Lean_Parser_Command_instance___elambda__1___closed__14();
+lean_mark_persistent(l_Lean_Parser_Command_instance___elambda__1___closed__14);
l_Lean_Parser_Command_instance___closed__1 = _init_l_Lean_Parser_Command_instance___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_instance___closed__1);
l_Lean_Parser_Command_instance___closed__2 = _init_l_Lean_Parser_Command_instance___closed__2();
@@ -54347,6 +34675,14 @@ l_Lean_Parser_Command_axiom___elambda__1___closed__8 = _init_l_Lean_Parser_Comma
lean_mark_persistent(l_Lean_Parser_Command_axiom___elambda__1___closed__8);
l_Lean_Parser_Command_axiom___elambda__1___closed__9 = _init_l_Lean_Parser_Command_axiom___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Command_axiom___elambda__1___closed__9);
+l_Lean_Parser_Command_axiom___elambda__1___closed__10 = _init_l_Lean_Parser_Command_axiom___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_axiom___elambda__1___closed__10);
+l_Lean_Parser_Command_axiom___elambda__1___closed__11 = _init_l_Lean_Parser_Command_axiom___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_axiom___elambda__1___closed__11);
+l_Lean_Parser_Command_axiom___elambda__1___closed__12 = _init_l_Lean_Parser_Command_axiom___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_axiom___elambda__1___closed__12);
+l_Lean_Parser_Command_axiom___elambda__1___closed__13 = _init_l_Lean_Parser_Command_axiom___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Command_axiom___elambda__1___closed__13);
l_Lean_Parser_Command_axiom___closed__1 = _init_l_Lean_Parser_Command_axiom___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_axiom___closed__1);
l_Lean_Parser_Command_axiom___closed__2 = _init_l_Lean_Parser_Command_axiom___closed__2();
@@ -54383,6 +34719,12 @@ l_Lean_Parser_Command_example___elambda__1___closed__8 = _init_l_Lean_Parser_Com
lean_mark_persistent(l_Lean_Parser_Command_example___elambda__1___closed__8);
l_Lean_Parser_Command_example___elambda__1___closed__9 = _init_l_Lean_Parser_Command_example___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Command_example___elambda__1___closed__9);
+l_Lean_Parser_Command_example___elambda__1___closed__10 = _init_l_Lean_Parser_Command_example___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_example___elambda__1___closed__10);
+l_Lean_Parser_Command_example___elambda__1___closed__11 = _init_l_Lean_Parser_Command_example___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_example___elambda__1___closed__11);
+l_Lean_Parser_Command_example___elambda__1___closed__12 = _init_l_Lean_Parser_Command_example___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_example___elambda__1___closed__12);
l_Lean_Parser_Command_example___closed__1 = _init_l_Lean_Parser_Command_example___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_example___closed__1);
l_Lean_Parser_Command_example___closed__2 = _init_l_Lean_Parser_Command_example___closed__2();
@@ -54407,6 +34749,12 @@ l_Lean_Parser_Command_inferMod___elambda__1___closed__3 = _init_l_Lean_Parser_Co
lean_mark_persistent(l_Lean_Parser_Command_inferMod___elambda__1___closed__3);
l_Lean_Parser_Command_inferMod___elambda__1___closed__4 = _init_l_Lean_Parser_Command_inferMod___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Command_inferMod___elambda__1___closed__4);
+l_Lean_Parser_Command_inferMod___elambda__1___closed__5 = _init_l_Lean_Parser_Command_inferMod___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Command_inferMod___elambda__1___closed__5);
+l_Lean_Parser_Command_inferMod___elambda__1___closed__6 = _init_l_Lean_Parser_Command_inferMod___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Command_inferMod___elambda__1___closed__6);
+l_Lean_Parser_Command_inferMod___elambda__1___closed__7 = _init_l_Lean_Parser_Command_inferMod___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Command_inferMod___elambda__1___closed__7);
l_Lean_Parser_Command_inferMod___closed__1 = _init_l_Lean_Parser_Command_inferMod___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_inferMod___closed__1);
l_Lean_Parser_Command_inferMod___closed__2 = _init_l_Lean_Parser_Command_inferMod___closed__2();
@@ -54439,6 +34787,20 @@ l_Lean_Parser_Command_ctor___elambda__1___closed__9 = _init_l_Lean_Parser_Comman
lean_mark_persistent(l_Lean_Parser_Command_ctor___elambda__1___closed__9);
l_Lean_Parser_Command_ctor___elambda__1___closed__10 = _init_l_Lean_Parser_Command_ctor___elambda__1___closed__10();
lean_mark_persistent(l_Lean_Parser_Command_ctor___elambda__1___closed__10);
+l_Lean_Parser_Command_ctor___elambda__1___closed__11 = _init_l_Lean_Parser_Command_ctor___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_ctor___elambda__1___closed__11);
+l_Lean_Parser_Command_ctor___elambda__1___closed__12 = _init_l_Lean_Parser_Command_ctor___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_ctor___elambda__1___closed__12);
+l_Lean_Parser_Command_ctor___elambda__1___closed__13 = _init_l_Lean_Parser_Command_ctor___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Command_ctor___elambda__1___closed__13);
+l_Lean_Parser_Command_ctor___elambda__1___closed__14 = _init_l_Lean_Parser_Command_ctor___elambda__1___closed__14();
+lean_mark_persistent(l_Lean_Parser_Command_ctor___elambda__1___closed__14);
+l_Lean_Parser_Command_ctor___elambda__1___closed__15 = _init_l_Lean_Parser_Command_ctor___elambda__1___closed__15();
+lean_mark_persistent(l_Lean_Parser_Command_ctor___elambda__1___closed__15);
+l_Lean_Parser_Command_ctor___elambda__1___closed__16 = _init_l_Lean_Parser_Command_ctor___elambda__1___closed__16();
+lean_mark_persistent(l_Lean_Parser_Command_ctor___elambda__1___closed__16);
+l_Lean_Parser_Command_ctor___elambda__1___closed__17 = _init_l_Lean_Parser_Command_ctor___elambda__1___closed__17();
+lean_mark_persistent(l_Lean_Parser_Command_ctor___elambda__1___closed__17);
l_Lean_Parser_Command_ctor___closed__1 = _init_l_Lean_Parser_Command_ctor___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_ctor___closed__1);
l_Lean_Parser_Command_ctor___closed__2 = _init_l_Lean_Parser_Command_ctor___closed__2();
@@ -54481,6 +34843,18 @@ l_Lean_Parser_Command_inductive___elambda__1___closed__8 = _init_l_Lean_Parser_C
lean_mark_persistent(l_Lean_Parser_Command_inductive___elambda__1___closed__8);
l_Lean_Parser_Command_inductive___elambda__1___closed__9 = _init_l_Lean_Parser_Command_inductive___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Command_inductive___elambda__1___closed__9);
+l_Lean_Parser_Command_inductive___elambda__1___closed__10 = _init_l_Lean_Parser_Command_inductive___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_inductive___elambda__1___closed__10);
+l_Lean_Parser_Command_inductive___elambda__1___closed__11 = _init_l_Lean_Parser_Command_inductive___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_inductive___elambda__1___closed__11);
+l_Lean_Parser_Command_inductive___elambda__1___closed__12 = _init_l_Lean_Parser_Command_inductive___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_inductive___elambda__1___closed__12);
+l_Lean_Parser_Command_inductive___elambda__1___closed__13 = _init_l_Lean_Parser_Command_inductive___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Command_inductive___elambda__1___closed__13);
+l_Lean_Parser_Command_inductive___elambda__1___closed__14 = _init_l_Lean_Parser_Command_inductive___elambda__1___closed__14();
+lean_mark_persistent(l_Lean_Parser_Command_inductive___elambda__1___closed__14);
+l_Lean_Parser_Command_inductive___elambda__1___closed__15 = _init_l_Lean_Parser_Command_inductive___elambda__1___closed__15();
+lean_mark_persistent(l_Lean_Parser_Command_inductive___elambda__1___closed__15);
l_Lean_Parser_Command_inductive___closed__1 = _init_l_Lean_Parser_Command_inductive___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_inductive___closed__1);
l_Lean_Parser_Command_inductive___closed__2 = _init_l_Lean_Parser_Command_inductive___closed__2();
@@ -54521,6 +34895,12 @@ l_Lean_Parser_Command_classInductive___elambda__1___closed__8 = _init_l_Lean_Par
lean_mark_persistent(l_Lean_Parser_Command_classInductive___elambda__1___closed__8);
l_Lean_Parser_Command_classInductive___elambda__1___closed__9 = _init_l_Lean_Parser_Command_classInductive___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Command_classInductive___elambda__1___closed__9);
+l_Lean_Parser_Command_classInductive___elambda__1___closed__10 = _init_l_Lean_Parser_Command_classInductive___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_classInductive___elambda__1___closed__10);
+l_Lean_Parser_Command_classInductive___elambda__1___closed__11 = _init_l_Lean_Parser_Command_classInductive___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_classInductive___elambda__1___closed__11);
+l_Lean_Parser_Command_classInductive___elambda__1___closed__12 = _init_l_Lean_Parser_Command_classInductive___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_classInductive___elambda__1___closed__12);
l_Lean_Parser_Command_classInductive___closed__1 = _init_l_Lean_Parser_Command_classInductive___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_classInductive___closed__1);
l_Lean_Parser_Command_classInductive___closed__2 = _init_l_Lean_Parser_Command_classInductive___closed__2();
@@ -54547,6 +34927,28 @@ l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__3 = _init_l_Le
lean_mark_persistent(l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__3);
l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__4 = _init_l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__4);
+l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__5 = _init_l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__5);
+l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__6 = _init_l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__6);
+l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__7 = _init_l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__7);
+l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__8 = _init_l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__8);
+l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__9 = _init_l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__9);
+l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__10 = _init_l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__10);
+l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__11 = _init_l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__11);
+l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__12 = _init_l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__12);
+l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__13 = _init_l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__13);
+l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__14 = _init_l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__14();
+lean_mark_persistent(l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__14);
+l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__15 = _init_l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__15();
+lean_mark_persistent(l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__15);
l_Lean_Parser_Command_structExplicitBinder___closed__1 = _init_l_Lean_Parser_Command_structExplicitBinder___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_structExplicitBinder___closed__1);
l_Lean_Parser_Command_structExplicitBinder___closed__2 = _init_l_Lean_Parser_Command_structExplicitBinder___closed__2();
@@ -54581,6 +34983,22 @@ l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__3 = _init_l_Le
lean_mark_persistent(l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__3);
l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__4 = _init_l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__4);
+l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__5 = _init_l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__5);
+l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__6 = _init_l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__6);
+l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__7 = _init_l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__7);
+l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__8 = _init_l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__8);
+l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__9 = _init_l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__9);
+l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__10 = _init_l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__10);
+l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__11 = _init_l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__11);
+l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__12 = _init_l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__12);
l_Lean_Parser_Command_structImplicitBinder___closed__1 = _init_l_Lean_Parser_Command_structImplicitBinder___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_structImplicitBinder___closed__1);
l_Lean_Parser_Command_structImplicitBinder___closed__2 = _init_l_Lean_Parser_Command_structImplicitBinder___closed__2();
@@ -54611,6 +35029,22 @@ l_Lean_Parser_Command_structInstBinder___elambda__1___closed__3 = _init_l_Lean_P
lean_mark_persistent(l_Lean_Parser_Command_structInstBinder___elambda__1___closed__3);
l_Lean_Parser_Command_structInstBinder___elambda__1___closed__4 = _init_l_Lean_Parser_Command_structInstBinder___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Command_structInstBinder___elambda__1___closed__4);
+l_Lean_Parser_Command_structInstBinder___elambda__1___closed__5 = _init_l_Lean_Parser_Command_structInstBinder___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Command_structInstBinder___elambda__1___closed__5);
+l_Lean_Parser_Command_structInstBinder___elambda__1___closed__6 = _init_l_Lean_Parser_Command_structInstBinder___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Command_structInstBinder___elambda__1___closed__6);
+l_Lean_Parser_Command_structInstBinder___elambda__1___closed__7 = _init_l_Lean_Parser_Command_structInstBinder___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Command_structInstBinder___elambda__1___closed__7);
+l_Lean_Parser_Command_structInstBinder___elambda__1___closed__8 = _init_l_Lean_Parser_Command_structInstBinder___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Command_structInstBinder___elambda__1___closed__8);
+l_Lean_Parser_Command_structInstBinder___elambda__1___closed__9 = _init_l_Lean_Parser_Command_structInstBinder___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Command_structInstBinder___elambda__1___closed__9);
+l_Lean_Parser_Command_structInstBinder___elambda__1___closed__10 = _init_l_Lean_Parser_Command_structInstBinder___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_structInstBinder___elambda__1___closed__10);
+l_Lean_Parser_Command_structInstBinder___elambda__1___closed__11 = _init_l_Lean_Parser_Command_structInstBinder___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_structInstBinder___elambda__1___closed__11);
+l_Lean_Parser_Command_structInstBinder___elambda__1___closed__12 = _init_l_Lean_Parser_Command_structInstBinder___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_structInstBinder___elambda__1___closed__12);
l_Lean_Parser_Command_structInstBinder___closed__1 = _init_l_Lean_Parser_Command_structInstBinder___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_structInstBinder___closed__1);
l_Lean_Parser_Command_structInstBinder___closed__2 = _init_l_Lean_Parser_Command_structInstBinder___closed__2();
@@ -54641,6 +35075,18 @@ l_Lean_Parser_Command_structFields___elambda__1___closed__3 = _init_l_Lean_Parse
lean_mark_persistent(l_Lean_Parser_Command_structFields___elambda__1___closed__3);
l_Lean_Parser_Command_structFields___elambda__1___closed__4 = _init_l_Lean_Parser_Command_structFields___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Command_structFields___elambda__1___closed__4);
+l_Lean_Parser_Command_structFields___elambda__1___closed__5 = _init_l_Lean_Parser_Command_structFields___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Command_structFields___elambda__1___closed__5);
+l_Lean_Parser_Command_structFields___elambda__1___closed__6 = _init_l_Lean_Parser_Command_structFields___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Command_structFields___elambda__1___closed__6);
+l_Lean_Parser_Command_structFields___elambda__1___closed__7 = _init_l_Lean_Parser_Command_structFields___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Command_structFields___elambda__1___closed__7);
+l_Lean_Parser_Command_structFields___elambda__1___closed__8 = _init_l_Lean_Parser_Command_structFields___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Command_structFields___elambda__1___closed__8);
+l_Lean_Parser_Command_structFields___elambda__1___closed__9 = _init_l_Lean_Parser_Command_structFields___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Command_structFields___elambda__1___closed__9);
+l_Lean_Parser_Command_structFields___elambda__1___closed__10 = _init_l_Lean_Parser_Command_structFields___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_structFields___elambda__1___closed__10);
l_Lean_Parser_Command_structFields___closed__1 = _init_l_Lean_Parser_Command_structFields___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_structFields___closed__1);
l_Lean_Parser_Command_structFields___closed__2 = _init_l_Lean_Parser_Command_structFields___closed__2();
@@ -54677,6 +35123,14 @@ l_Lean_Parser_Command_structCtor___elambda__1___closed__7 = _init_l_Lean_Parser_
lean_mark_persistent(l_Lean_Parser_Command_structCtor___elambda__1___closed__7);
l_Lean_Parser_Command_structCtor___elambda__1___closed__8 = _init_l_Lean_Parser_Command_structCtor___elambda__1___closed__8();
lean_mark_persistent(l_Lean_Parser_Command_structCtor___elambda__1___closed__8);
+l_Lean_Parser_Command_structCtor___elambda__1___closed__9 = _init_l_Lean_Parser_Command_structCtor___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Command_structCtor___elambda__1___closed__9);
+l_Lean_Parser_Command_structCtor___elambda__1___closed__10 = _init_l_Lean_Parser_Command_structCtor___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_structCtor___elambda__1___closed__10);
+l_Lean_Parser_Command_structCtor___elambda__1___closed__11 = _init_l_Lean_Parser_Command_structCtor___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_structCtor___elambda__1___closed__11);
+l_Lean_Parser_Command_structCtor___elambda__1___closed__12 = _init_l_Lean_Parser_Command_structCtor___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_structCtor___elambda__1___closed__12);
l_Lean_Parser_Command_structCtor___closed__1 = _init_l_Lean_Parser_Command_structCtor___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_structCtor___closed__1);
l_Lean_Parser_Command_structCtor___closed__2 = _init_l_Lean_Parser_Command_structCtor___closed__2();
@@ -54715,6 +35169,10 @@ l_Lean_Parser_Command_structureTk___elambda__1___closed__8 = _init_l_Lean_Parser
lean_mark_persistent(l_Lean_Parser_Command_structureTk___elambda__1___closed__8);
l_Lean_Parser_Command_structureTk___elambda__1___closed__9 = _init_l_Lean_Parser_Command_structureTk___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Command_structureTk___elambda__1___closed__9);
+l_Lean_Parser_Command_structureTk___elambda__1___closed__10 = _init_l_Lean_Parser_Command_structureTk___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_structureTk___elambda__1___closed__10);
+l_Lean_Parser_Command_structureTk___elambda__1___closed__11 = _init_l_Lean_Parser_Command_structureTk___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_structureTk___elambda__1___closed__11);
l_Lean_Parser_Command_structureTk___closed__1 = _init_l_Lean_Parser_Command_structureTk___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_structureTk___closed__1);
l_Lean_Parser_Command_structureTk___closed__2 = _init_l_Lean_Parser_Command_structureTk___closed__2();
@@ -54737,6 +35195,14 @@ l_Lean_Parser_Command_classTk___elambda__1___closed__3 = _init_l_Lean_Parser_Com
lean_mark_persistent(l_Lean_Parser_Command_classTk___elambda__1___closed__3);
l_Lean_Parser_Command_classTk___elambda__1___closed__4 = _init_l_Lean_Parser_Command_classTk___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Command_classTk___elambda__1___closed__4);
+l_Lean_Parser_Command_classTk___elambda__1___closed__5 = _init_l_Lean_Parser_Command_classTk___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Command_classTk___elambda__1___closed__5);
+l_Lean_Parser_Command_classTk___elambda__1___closed__6 = _init_l_Lean_Parser_Command_classTk___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Command_classTk___elambda__1___closed__6);
+l_Lean_Parser_Command_classTk___elambda__1___closed__7 = _init_l_Lean_Parser_Command_classTk___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Command_classTk___elambda__1___closed__7);
+l_Lean_Parser_Command_classTk___elambda__1___closed__8 = _init_l_Lean_Parser_Command_classTk___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Command_classTk___elambda__1___closed__8);
l_Lean_Parser_Command_classTk___closed__1 = _init_l_Lean_Parser_Command_classTk___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_classTk___closed__1);
l_Lean_Parser_Command_classTk___closed__2 = _init_l_Lean_Parser_Command_classTk___closed__2();
@@ -54767,6 +35233,12 @@ l_Lean_Parser_Command_extends___elambda__1___closed__8 = _init_l_Lean_Parser_Com
lean_mark_persistent(l_Lean_Parser_Command_extends___elambda__1___closed__8);
l_Lean_Parser_Command_extends___elambda__1___closed__9 = _init_l_Lean_Parser_Command_extends___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Command_extends___elambda__1___closed__9);
+l_Lean_Parser_Command_extends___elambda__1___closed__10 = _init_l_Lean_Parser_Command_extends___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_extends___elambda__1___closed__10);
+l_Lean_Parser_Command_extends___elambda__1___closed__11 = _init_l_Lean_Parser_Command_extends___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_extends___elambda__1___closed__11);
+l_Lean_Parser_Command_extends___elambda__1___closed__12 = _init_l_Lean_Parser_Command_extends___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_extends___elambda__1___closed__12);
l_Lean_Parser_Command_extends___closed__1 = _init_l_Lean_Parser_Command_extends___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_extends___closed__1);
l_Lean_Parser_Command_extends___closed__2 = _init_l_Lean_Parser_Command_extends___closed__2();
@@ -54791,6 +35263,32 @@ l_Lean_Parser_Command_structure___elambda__1___closed__3 = _init_l_Lean_Parser_C
lean_mark_persistent(l_Lean_Parser_Command_structure___elambda__1___closed__3);
l_Lean_Parser_Command_structure___elambda__1___closed__4 = _init_l_Lean_Parser_Command_structure___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Command_structure___elambda__1___closed__4);
+l_Lean_Parser_Command_structure___elambda__1___closed__5 = _init_l_Lean_Parser_Command_structure___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Command_structure___elambda__1___closed__5);
+l_Lean_Parser_Command_structure___elambda__1___closed__6 = _init_l_Lean_Parser_Command_structure___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Command_structure___elambda__1___closed__6);
+l_Lean_Parser_Command_structure___elambda__1___closed__7 = _init_l_Lean_Parser_Command_structure___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Command_structure___elambda__1___closed__7);
+l_Lean_Parser_Command_structure___elambda__1___closed__8 = _init_l_Lean_Parser_Command_structure___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Command_structure___elambda__1___closed__8);
+l_Lean_Parser_Command_structure___elambda__1___closed__9 = _init_l_Lean_Parser_Command_structure___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Command_structure___elambda__1___closed__9);
+l_Lean_Parser_Command_structure___elambda__1___closed__10 = _init_l_Lean_Parser_Command_structure___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_structure___elambda__1___closed__10);
+l_Lean_Parser_Command_structure___elambda__1___closed__11 = _init_l_Lean_Parser_Command_structure___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_structure___elambda__1___closed__11);
+l_Lean_Parser_Command_structure___elambda__1___closed__12 = _init_l_Lean_Parser_Command_structure___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_structure___elambda__1___closed__12);
+l_Lean_Parser_Command_structure___elambda__1___closed__13 = _init_l_Lean_Parser_Command_structure___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Command_structure___elambda__1___closed__13);
+l_Lean_Parser_Command_structure___elambda__1___closed__14 = _init_l_Lean_Parser_Command_structure___elambda__1___closed__14();
+lean_mark_persistent(l_Lean_Parser_Command_structure___elambda__1___closed__14);
+l_Lean_Parser_Command_structure___elambda__1___closed__15 = _init_l_Lean_Parser_Command_structure___elambda__1___closed__15();
+lean_mark_persistent(l_Lean_Parser_Command_structure___elambda__1___closed__15);
+l_Lean_Parser_Command_structure___elambda__1___closed__16 = _init_l_Lean_Parser_Command_structure___elambda__1___closed__16();
+lean_mark_persistent(l_Lean_Parser_Command_structure___elambda__1___closed__16);
+l_Lean_Parser_Command_structure___elambda__1___closed__17 = _init_l_Lean_Parser_Command_structure___elambda__1___closed__17();
+lean_mark_persistent(l_Lean_Parser_Command_structure___elambda__1___closed__17);
l_Lean_Parser_Command_structure___closed__1 = _init_l_Lean_Parser_Command_structure___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_structure___closed__1);
l_Lean_Parser_Command_structure___closed__2 = _init_l_Lean_Parser_Command_structure___closed__2();
@@ -54835,6 +35333,30 @@ l_Lean_Parser_Command_declaration___elambda__1___closed__4 = _init_l_Lean_Parser
lean_mark_persistent(l_Lean_Parser_Command_declaration___elambda__1___closed__4);
l_Lean_Parser_Command_declaration___elambda__1___closed__5 = _init_l_Lean_Parser_Command_declaration___elambda__1___closed__5();
lean_mark_persistent(l_Lean_Parser_Command_declaration___elambda__1___closed__5);
+l_Lean_Parser_Command_declaration___elambda__1___closed__6 = _init_l_Lean_Parser_Command_declaration___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Command_declaration___elambda__1___closed__6);
+l_Lean_Parser_Command_declaration___elambda__1___closed__7 = _init_l_Lean_Parser_Command_declaration___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Command_declaration___elambda__1___closed__7);
+l_Lean_Parser_Command_declaration___elambda__1___closed__8 = _init_l_Lean_Parser_Command_declaration___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Command_declaration___elambda__1___closed__8);
+l_Lean_Parser_Command_declaration___elambda__1___closed__9 = _init_l_Lean_Parser_Command_declaration___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Command_declaration___elambda__1___closed__9);
+l_Lean_Parser_Command_declaration___elambda__1___closed__10 = _init_l_Lean_Parser_Command_declaration___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_declaration___elambda__1___closed__10);
+l_Lean_Parser_Command_declaration___elambda__1___closed__11 = _init_l_Lean_Parser_Command_declaration___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_declaration___elambda__1___closed__11);
+l_Lean_Parser_Command_declaration___elambda__1___closed__12 = _init_l_Lean_Parser_Command_declaration___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_declaration___elambda__1___closed__12);
+l_Lean_Parser_Command_declaration___elambda__1___closed__13 = _init_l_Lean_Parser_Command_declaration___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Command_declaration___elambda__1___closed__13);
+l_Lean_Parser_Command_declaration___elambda__1___closed__14 = _init_l_Lean_Parser_Command_declaration___elambda__1___closed__14();
+lean_mark_persistent(l_Lean_Parser_Command_declaration___elambda__1___closed__14);
+l_Lean_Parser_Command_declaration___elambda__1___closed__15 = _init_l_Lean_Parser_Command_declaration___elambda__1___closed__15();
+lean_mark_persistent(l_Lean_Parser_Command_declaration___elambda__1___closed__15);
+l_Lean_Parser_Command_declaration___elambda__1___closed__16 = _init_l_Lean_Parser_Command_declaration___elambda__1___closed__16();
+lean_mark_persistent(l_Lean_Parser_Command_declaration___elambda__1___closed__16);
+l_Lean_Parser_Command_declaration___elambda__1___closed__17 = _init_l_Lean_Parser_Command_declaration___elambda__1___closed__17();
+lean_mark_persistent(l_Lean_Parser_Command_declaration___elambda__1___closed__17);
l_Lean_Parser_Command_declaration___closed__1 = _init_l_Lean_Parser_Command_declaration___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_declaration___closed__1);
l_Lean_Parser_Command_declaration___closed__2 = _init_l_Lean_Parser_Command_declaration___closed__2();
@@ -55778,6 +36300,14 @@ l_Lean_Parser_Command_section___elambda__1___closed__8 = _init_l_Lean_Parser_Com
lean_mark_persistent(l_Lean_Parser_Command_section___elambda__1___closed__8);
l_Lean_Parser_Command_section___elambda__1___closed__9 = _init_l_Lean_Parser_Command_section___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Command_section___elambda__1___closed__9);
+l_Lean_Parser_Command_section___elambda__1___closed__10 = _init_l_Lean_Parser_Command_section___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_section___elambda__1___closed__10);
+l_Lean_Parser_Command_section___elambda__1___closed__11 = _init_l_Lean_Parser_Command_section___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_section___elambda__1___closed__11);
+l_Lean_Parser_Command_section___elambda__1___closed__12 = _init_l_Lean_Parser_Command_section___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_section___elambda__1___closed__12);
+l_Lean_Parser_Command_section___elambda__1___closed__13 = _init_l_Lean_Parser_Command_section___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Command_section___elambda__1___closed__13);
l_Lean_Parser_Command_section___closed__1 = _init_l_Lean_Parser_Command_section___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_section___closed__1);
l_Lean_Parser_Command_section___closed__2 = _init_l_Lean_Parser_Command_section___closed__2();
@@ -55845,6 +36375,12 @@ l_Lean_Parser_Command_namespace___elambda__1___closed__8 = _init_l_Lean_Parser_C
lean_mark_persistent(l_Lean_Parser_Command_namespace___elambda__1___closed__8);
l_Lean_Parser_Command_namespace___elambda__1___closed__9 = _init_l_Lean_Parser_Command_namespace___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Command_namespace___elambda__1___closed__9);
+l_Lean_Parser_Command_namespace___elambda__1___closed__10 = _init_l_Lean_Parser_Command_namespace___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_namespace___elambda__1___closed__10);
+l_Lean_Parser_Command_namespace___elambda__1___closed__11 = _init_l_Lean_Parser_Command_namespace___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_namespace___elambda__1___closed__11);
+l_Lean_Parser_Command_namespace___elambda__1___closed__12 = _init_l_Lean_Parser_Command_namespace___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_namespace___elambda__1___closed__12);
l_Lean_Parser_Command_namespace___closed__1 = _init_l_Lean_Parser_Command_namespace___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_namespace___closed__1);
l_Lean_Parser_Command_namespace___closed__2 = _init_l_Lean_Parser_Command_namespace___closed__2();
@@ -55906,6 +36442,12 @@ l_Lean_Parser_Command_end___elambda__1___closed__8 = _init_l_Lean_Parser_Command
lean_mark_persistent(l_Lean_Parser_Command_end___elambda__1___closed__8);
l_Lean_Parser_Command_end___elambda__1___closed__9 = _init_l_Lean_Parser_Command_end___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Command_end___elambda__1___closed__9);
+l_Lean_Parser_Command_end___elambda__1___closed__10 = _init_l_Lean_Parser_Command_end___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_end___elambda__1___closed__10);
+l_Lean_Parser_Command_end___elambda__1___closed__11 = _init_l_Lean_Parser_Command_end___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_end___elambda__1___closed__11);
+l_Lean_Parser_Command_end___elambda__1___closed__12 = _init_l_Lean_Parser_Command_end___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_end___elambda__1___closed__12);
l_Lean_Parser_Command_end___closed__1 = _init_l_Lean_Parser_Command_end___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_end___closed__1);
l_Lean_Parser_Command_end___closed__2 = _init_l_Lean_Parser_Command_end___closed__2();
@@ -55963,6 +36505,12 @@ l_Lean_Parser_Command_variable___elambda__1___closed__7 = _init_l_Lean_Parser_Co
lean_mark_persistent(l_Lean_Parser_Command_variable___elambda__1___closed__7);
l_Lean_Parser_Command_variable___elambda__1___closed__8 = _init_l_Lean_Parser_Command_variable___elambda__1___closed__8();
lean_mark_persistent(l_Lean_Parser_Command_variable___elambda__1___closed__8);
+l_Lean_Parser_Command_variable___elambda__1___closed__9 = _init_l_Lean_Parser_Command_variable___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Command_variable___elambda__1___closed__9);
+l_Lean_Parser_Command_variable___elambda__1___closed__10 = _init_l_Lean_Parser_Command_variable___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_variable___elambda__1___closed__10);
+l_Lean_Parser_Command_variable___elambda__1___closed__11 = _init_l_Lean_Parser_Command_variable___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_variable___elambda__1___closed__11);
l_Lean_Parser_Command_variable___closed__1 = _init_l_Lean_Parser_Command_variable___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_variable___closed__1);
l_Lean_Parser_Command_variable___closed__2 = _init_l_Lean_Parser_Command_variable___closed__2();
@@ -56022,6 +36570,14 @@ l_Lean_Parser_Command_variables___elambda__1___closed__7 = _init_l_Lean_Parser_C
lean_mark_persistent(l_Lean_Parser_Command_variables___elambda__1___closed__7);
l_Lean_Parser_Command_variables___elambda__1___closed__8 = _init_l_Lean_Parser_Command_variables___elambda__1___closed__8();
lean_mark_persistent(l_Lean_Parser_Command_variables___elambda__1___closed__8);
+l_Lean_Parser_Command_variables___elambda__1___closed__9 = _init_l_Lean_Parser_Command_variables___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Command_variables___elambda__1___closed__9);
+l_Lean_Parser_Command_variables___elambda__1___closed__10 = _init_l_Lean_Parser_Command_variables___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_variables___elambda__1___closed__10);
+l_Lean_Parser_Command_variables___elambda__1___closed__11 = _init_l_Lean_Parser_Command_variables___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_variables___elambda__1___closed__11);
+l_Lean_Parser_Command_variables___elambda__1___closed__12 = _init_l_Lean_Parser_Command_variables___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_variables___elambda__1___closed__12);
l_Lean_Parser_Command_variables___closed__1 = _init_l_Lean_Parser_Command_variables___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_variables___closed__1);
l_Lean_Parser_Command_variables___closed__2 = _init_l_Lean_Parser_Command_variables___closed__2();
@@ -56087,6 +36643,12 @@ l_Lean_Parser_Command_universe___elambda__1___closed__8 = _init_l_Lean_Parser_Co
lean_mark_persistent(l_Lean_Parser_Command_universe___elambda__1___closed__8);
l_Lean_Parser_Command_universe___elambda__1___closed__9 = _init_l_Lean_Parser_Command_universe___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Command_universe___elambda__1___closed__9);
+l_Lean_Parser_Command_universe___elambda__1___closed__10 = _init_l_Lean_Parser_Command_universe___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_universe___elambda__1___closed__10);
+l_Lean_Parser_Command_universe___elambda__1___closed__11 = _init_l_Lean_Parser_Command_universe___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_universe___elambda__1___closed__11);
+l_Lean_Parser_Command_universe___elambda__1___closed__12 = _init_l_Lean_Parser_Command_universe___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_universe___elambda__1___closed__12);
l_Lean_Parser_Command_universe___closed__1 = _init_l_Lean_Parser_Command_universe___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_universe___closed__1);
l_Lean_Parser_Command_universe___closed__2 = _init_l_Lean_Parser_Command_universe___closed__2();
@@ -56146,6 +36708,12 @@ l_Lean_Parser_Command_universes___elambda__1___closed__8 = _init_l_Lean_Parser_C
lean_mark_persistent(l_Lean_Parser_Command_universes___elambda__1___closed__8);
l_Lean_Parser_Command_universes___elambda__1___closed__9 = _init_l_Lean_Parser_Command_universes___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Command_universes___elambda__1___closed__9);
+l_Lean_Parser_Command_universes___elambda__1___closed__10 = _init_l_Lean_Parser_Command_universes___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_universes___elambda__1___closed__10);
+l_Lean_Parser_Command_universes___elambda__1___closed__11 = _init_l_Lean_Parser_Command_universes___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_universes___elambda__1___closed__11);
+l_Lean_Parser_Command_universes___elambda__1___closed__12 = _init_l_Lean_Parser_Command_universes___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_universes___elambda__1___closed__12);
l_Lean_Parser_Command_universes___closed__1 = _init_l_Lean_Parser_Command_universes___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_universes___closed__1);
l_Lean_Parser_Command_universes___closed__2 = _init_l_Lean_Parser_Command_universes___closed__2();
@@ -56207,6 +36775,12 @@ l_Lean_Parser_Command_check___elambda__1___closed__8 = _init_l_Lean_Parser_Comma
lean_mark_persistent(l_Lean_Parser_Command_check___elambda__1___closed__8);
l_Lean_Parser_Command_check___elambda__1___closed__9 = _init_l_Lean_Parser_Command_check___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Command_check___elambda__1___closed__9);
+l_Lean_Parser_Command_check___elambda__1___closed__10 = _init_l_Lean_Parser_Command_check___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_check___elambda__1___closed__10);
+l_Lean_Parser_Command_check___elambda__1___closed__11 = _init_l_Lean_Parser_Command_check___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_check___elambda__1___closed__11);
+l_Lean_Parser_Command_check___elambda__1___closed__12 = _init_l_Lean_Parser_Command_check___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_check___elambda__1___closed__12);
l_Lean_Parser_Command_check___closed__1 = _init_l_Lean_Parser_Command_check___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_check___closed__1);
l_Lean_Parser_Command_check___closed__2 = _init_l_Lean_Parser_Command_check___closed__2();
@@ -56266,6 +36840,12 @@ l_Lean_Parser_Command_check__failure___elambda__1___closed__8 = _init_l_Lean_Par
lean_mark_persistent(l_Lean_Parser_Command_check__failure___elambda__1___closed__8);
l_Lean_Parser_Command_check__failure___elambda__1___closed__9 = _init_l_Lean_Parser_Command_check__failure___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Command_check__failure___elambda__1___closed__9);
+l_Lean_Parser_Command_check__failure___elambda__1___closed__10 = _init_l_Lean_Parser_Command_check__failure___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_check__failure___elambda__1___closed__10);
+l_Lean_Parser_Command_check__failure___elambda__1___closed__11 = _init_l_Lean_Parser_Command_check__failure___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_check__failure___elambda__1___closed__11);
+l_Lean_Parser_Command_check__failure___elambda__1___closed__12 = _init_l_Lean_Parser_Command_check__failure___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_check__failure___elambda__1___closed__12);
l_Lean_Parser_Command_check__failure___closed__1 = _init_l_Lean_Parser_Command_check__failure___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_check__failure___closed__1);
l_Lean_Parser_Command_check__failure___closed__2 = _init_l_Lean_Parser_Command_check__failure___closed__2();
@@ -56325,6 +36905,12 @@ l_Lean_Parser_Command_eval___elambda__1___closed__8 = _init_l_Lean_Parser_Comman
lean_mark_persistent(l_Lean_Parser_Command_eval___elambda__1___closed__8);
l_Lean_Parser_Command_eval___elambda__1___closed__9 = _init_l_Lean_Parser_Command_eval___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Command_eval___elambda__1___closed__9);
+l_Lean_Parser_Command_eval___elambda__1___closed__10 = _init_l_Lean_Parser_Command_eval___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_eval___elambda__1___closed__10);
+l_Lean_Parser_Command_eval___elambda__1___closed__11 = _init_l_Lean_Parser_Command_eval___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_eval___elambda__1___closed__11);
+l_Lean_Parser_Command_eval___elambda__1___closed__12 = _init_l_Lean_Parser_Command_eval___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_eval___elambda__1___closed__12);
l_Lean_Parser_Command_eval___closed__1 = _init_l_Lean_Parser_Command_eval___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_eval___closed__1);
l_Lean_Parser_Command_eval___closed__2 = _init_l_Lean_Parser_Command_eval___closed__2();
@@ -56384,6 +36970,12 @@ l_Lean_Parser_Command_synth___elambda__1___closed__8 = _init_l_Lean_Parser_Comma
lean_mark_persistent(l_Lean_Parser_Command_synth___elambda__1___closed__8);
l_Lean_Parser_Command_synth___elambda__1___closed__9 = _init_l_Lean_Parser_Command_synth___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Command_synth___elambda__1___closed__9);
+l_Lean_Parser_Command_synth___elambda__1___closed__10 = _init_l_Lean_Parser_Command_synth___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_synth___elambda__1___closed__10);
+l_Lean_Parser_Command_synth___elambda__1___closed__11 = _init_l_Lean_Parser_Command_synth___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_synth___elambda__1___closed__11);
+l_Lean_Parser_Command_synth___elambda__1___closed__12 = _init_l_Lean_Parser_Command_synth___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_synth___elambda__1___closed__12);
l_Lean_Parser_Command_synth___closed__1 = _init_l_Lean_Parser_Command_synth___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_synth___closed__1);
l_Lean_Parser_Command_synth___closed__2 = _init_l_Lean_Parser_Command_synth___closed__2();
@@ -56443,6 +37035,10 @@ l_Lean_Parser_Command_exit___elambda__1___closed__8 = _init_l_Lean_Parser_Comman
lean_mark_persistent(l_Lean_Parser_Command_exit___elambda__1___closed__8);
l_Lean_Parser_Command_exit___elambda__1___closed__9 = _init_l_Lean_Parser_Command_exit___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Command_exit___elambda__1___closed__9);
+l_Lean_Parser_Command_exit___elambda__1___closed__10 = _init_l_Lean_Parser_Command_exit___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_exit___elambda__1___closed__10);
+l_Lean_Parser_Command_exit___elambda__1___closed__11 = _init_l_Lean_Parser_Command_exit___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_exit___elambda__1___closed__11);
l_Lean_Parser_Command_exit___closed__1 = _init_l_Lean_Parser_Command_exit___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_exit___closed__1);
l_Lean_Parser_Command_exit___closed__2 = _init_l_Lean_Parser_Command_exit___closed__2();
@@ -56498,6 +37094,14 @@ l_Lean_Parser_Command_print___elambda__1___closed__8 = _init_l_Lean_Parser_Comma
lean_mark_persistent(l_Lean_Parser_Command_print___elambda__1___closed__8);
l_Lean_Parser_Command_print___elambda__1___closed__9 = _init_l_Lean_Parser_Command_print___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Command_print___elambda__1___closed__9);
+l_Lean_Parser_Command_print___elambda__1___closed__10 = _init_l_Lean_Parser_Command_print___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_print___elambda__1___closed__10);
+l_Lean_Parser_Command_print___elambda__1___closed__11 = _init_l_Lean_Parser_Command_print___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_print___elambda__1___closed__11);
+l_Lean_Parser_Command_print___elambda__1___closed__12 = _init_l_Lean_Parser_Command_print___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_print___elambda__1___closed__12);
+l_Lean_Parser_Command_print___elambda__1___closed__13 = _init_l_Lean_Parser_Command_print___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Command_print___elambda__1___closed__13);
l_Lean_Parser_Command_print___closed__1 = _init_l_Lean_Parser_Command_print___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_print___closed__1);
l_Lean_Parser_Command_print___closed__2 = _init_l_Lean_Parser_Command_print___closed__2();
@@ -56563,6 +37167,16 @@ l_Lean_Parser_Command_printAxioms___elambda__1___closed__7 = _init_l_Lean_Parser
lean_mark_persistent(l_Lean_Parser_Command_printAxioms___elambda__1___closed__7);
l_Lean_Parser_Command_printAxioms___elambda__1___closed__8 = _init_l_Lean_Parser_Command_printAxioms___elambda__1___closed__8();
lean_mark_persistent(l_Lean_Parser_Command_printAxioms___elambda__1___closed__8);
+l_Lean_Parser_Command_printAxioms___elambda__1___closed__9 = _init_l_Lean_Parser_Command_printAxioms___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Command_printAxioms___elambda__1___closed__9);
+l_Lean_Parser_Command_printAxioms___elambda__1___closed__10 = _init_l_Lean_Parser_Command_printAxioms___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_printAxioms___elambda__1___closed__10);
+l_Lean_Parser_Command_printAxioms___elambda__1___closed__11 = _init_l_Lean_Parser_Command_printAxioms___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_printAxioms___elambda__1___closed__11);
+l_Lean_Parser_Command_printAxioms___elambda__1___closed__12 = _init_l_Lean_Parser_Command_printAxioms___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_printAxioms___elambda__1___closed__12);
+l_Lean_Parser_Command_printAxioms___elambda__1___closed__13 = _init_l_Lean_Parser_Command_printAxioms___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Command_printAxioms___elambda__1___closed__13);
l_Lean_Parser_Command_printAxioms___closed__1 = _init_l_Lean_Parser_Command_printAxioms___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_printAxioms___closed__1);
l_Lean_Parser_Command_printAxioms___closed__2 = _init_l_Lean_Parser_Command_printAxioms___closed__2();
@@ -56630,6 +37244,12 @@ l_Lean_Parser_Command_resolve__name___elambda__1___closed__8 = _init_l_Lean_Pars
lean_mark_persistent(l_Lean_Parser_Command_resolve__name___elambda__1___closed__8);
l_Lean_Parser_Command_resolve__name___elambda__1___closed__9 = _init_l_Lean_Parser_Command_resolve__name___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Command_resolve__name___elambda__1___closed__9);
+l_Lean_Parser_Command_resolve__name___elambda__1___closed__10 = _init_l_Lean_Parser_Command_resolve__name___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_resolve__name___elambda__1___closed__10);
+l_Lean_Parser_Command_resolve__name___elambda__1___closed__11 = _init_l_Lean_Parser_Command_resolve__name___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_resolve__name___elambda__1___closed__11);
+l_Lean_Parser_Command_resolve__name___elambda__1___closed__12 = _init_l_Lean_Parser_Command_resolve__name___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_resolve__name___elambda__1___closed__12);
l_Lean_Parser_Command_resolve__name___closed__1 = _init_l_Lean_Parser_Command_resolve__name___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_resolve__name___closed__1);
l_Lean_Parser_Command_resolve__name___closed__2 = _init_l_Lean_Parser_Command_resolve__name___closed__2();
@@ -56687,6 +37307,10 @@ l_Lean_Parser_Command_init__quot___elambda__1___closed__7 = _init_l_Lean_Parser_
lean_mark_persistent(l_Lean_Parser_Command_init__quot___elambda__1___closed__7);
l_Lean_Parser_Command_init__quot___elambda__1___closed__8 = _init_l_Lean_Parser_Command_init__quot___elambda__1___closed__8();
lean_mark_persistent(l_Lean_Parser_Command_init__quot___elambda__1___closed__8);
+l_Lean_Parser_Command_init__quot___elambda__1___closed__9 = _init_l_Lean_Parser_Command_init__quot___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Command_init__quot___elambda__1___closed__9);
+l_Lean_Parser_Command_init__quot___elambda__1___closed__10 = _init_l_Lean_Parser_Command_init__quot___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_init__quot___elambda__1___closed__10);
l_Lean_Parser_Command_init__quot___closed__1 = _init_l_Lean_Parser_Command_init__quot___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_init__quot___closed__1);
l_Lean_Parser_Command_init__quot___closed__2 = _init_l_Lean_Parser_Command_init__quot___closed__2();
@@ -56754,6 +37378,14 @@ l_Lean_Parser_Command_set__option___elambda__1___closed__14 = _init_l_Lean_Parse
lean_mark_persistent(l_Lean_Parser_Command_set__option___elambda__1___closed__14);
l_Lean_Parser_Command_set__option___elambda__1___closed__15 = _init_l_Lean_Parser_Command_set__option___elambda__1___closed__15();
lean_mark_persistent(l_Lean_Parser_Command_set__option___elambda__1___closed__15);
+l_Lean_Parser_Command_set__option___elambda__1___closed__16 = _init_l_Lean_Parser_Command_set__option___elambda__1___closed__16();
+lean_mark_persistent(l_Lean_Parser_Command_set__option___elambda__1___closed__16);
+l_Lean_Parser_Command_set__option___elambda__1___closed__17 = _init_l_Lean_Parser_Command_set__option___elambda__1___closed__17();
+lean_mark_persistent(l_Lean_Parser_Command_set__option___elambda__1___closed__17);
+l_Lean_Parser_Command_set__option___elambda__1___closed__18 = _init_l_Lean_Parser_Command_set__option___elambda__1___closed__18();
+lean_mark_persistent(l_Lean_Parser_Command_set__option___elambda__1___closed__18);
+l_Lean_Parser_Command_set__option___elambda__1___closed__19 = _init_l_Lean_Parser_Command_set__option___elambda__1___closed__19();
+lean_mark_persistent(l_Lean_Parser_Command_set__option___elambda__1___closed__19);
l_Lean_Parser_Command_set__option___closed__1 = _init_l_Lean_Parser_Command_set__option___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_set__option___closed__1);
l_Lean_Parser_Command_set__option___closed__2 = _init_l_Lean_Parser_Command_set__option___closed__2();
@@ -56861,6 +37493,18 @@ l_Lean_Parser_Command_attribute___elambda__1___closed__18 = _init_l_Lean_Parser_
lean_mark_persistent(l_Lean_Parser_Command_attribute___elambda__1___closed__18);
l_Lean_Parser_Command_attribute___elambda__1___closed__19 = _init_l_Lean_Parser_Command_attribute___elambda__1___closed__19();
lean_mark_persistent(l_Lean_Parser_Command_attribute___elambda__1___closed__19);
+l_Lean_Parser_Command_attribute___elambda__1___closed__20 = _init_l_Lean_Parser_Command_attribute___elambda__1___closed__20();
+lean_mark_persistent(l_Lean_Parser_Command_attribute___elambda__1___closed__20);
+l_Lean_Parser_Command_attribute___elambda__1___closed__21 = _init_l_Lean_Parser_Command_attribute___elambda__1___closed__21();
+lean_mark_persistent(l_Lean_Parser_Command_attribute___elambda__1___closed__21);
+l_Lean_Parser_Command_attribute___elambda__1___closed__22 = _init_l_Lean_Parser_Command_attribute___elambda__1___closed__22();
+lean_mark_persistent(l_Lean_Parser_Command_attribute___elambda__1___closed__22);
+l_Lean_Parser_Command_attribute___elambda__1___closed__23 = _init_l_Lean_Parser_Command_attribute___elambda__1___closed__23();
+lean_mark_persistent(l_Lean_Parser_Command_attribute___elambda__1___closed__23);
+l_Lean_Parser_Command_attribute___elambda__1___closed__24 = _init_l_Lean_Parser_Command_attribute___elambda__1___closed__24();
+lean_mark_persistent(l_Lean_Parser_Command_attribute___elambda__1___closed__24);
+l_Lean_Parser_Command_attribute___elambda__1___closed__25 = _init_l_Lean_Parser_Command_attribute___elambda__1___closed__25();
+lean_mark_persistent(l_Lean_Parser_Command_attribute___elambda__1___closed__25);
l_Lean_Parser_Command_attribute___closed__1 = _init_l_Lean_Parser_Command_attribute___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_attribute___closed__1);
l_Lean_Parser_Command_attribute___closed__2 = _init_l_Lean_Parser_Command_attribute___closed__2();
@@ -56956,6 +37600,18 @@ l_Lean_Parser_Command_export___elambda__1___closed__8 = _init_l_Lean_Parser_Comm
lean_mark_persistent(l_Lean_Parser_Command_export___elambda__1___closed__8);
l_Lean_Parser_Command_export___elambda__1___closed__9 = _init_l_Lean_Parser_Command_export___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Command_export___elambda__1___closed__9);
+l_Lean_Parser_Command_export___elambda__1___closed__10 = _init_l_Lean_Parser_Command_export___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_export___elambda__1___closed__10);
+l_Lean_Parser_Command_export___elambda__1___closed__11 = _init_l_Lean_Parser_Command_export___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_export___elambda__1___closed__11);
+l_Lean_Parser_Command_export___elambda__1___closed__12 = _init_l_Lean_Parser_Command_export___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_export___elambda__1___closed__12);
+l_Lean_Parser_Command_export___elambda__1___closed__13 = _init_l_Lean_Parser_Command_export___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Command_export___elambda__1___closed__13);
+l_Lean_Parser_Command_export___elambda__1___closed__14 = _init_l_Lean_Parser_Command_export___elambda__1___closed__14();
+lean_mark_persistent(l_Lean_Parser_Command_export___elambda__1___closed__14);
+l_Lean_Parser_Command_export___elambda__1___closed__15 = _init_l_Lean_Parser_Command_export___elambda__1___closed__15();
+lean_mark_persistent(l_Lean_Parser_Command_export___elambda__1___closed__15);
l_Lean_Parser_Command_export___closed__1 = _init_l_Lean_Parser_Command_export___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_export___closed__1);
l_Lean_Parser_Command_export___closed__2 = _init_l_Lean_Parser_Command_export___closed__2();
@@ -57035,6 +37691,12 @@ l_Lean_Parser_Command_openHiding___elambda__1___closed__8 = _init_l_Lean_Parser_
lean_mark_persistent(l_Lean_Parser_Command_openHiding___elambda__1___closed__8);
l_Lean_Parser_Command_openHiding___elambda__1___closed__9 = _init_l_Lean_Parser_Command_openHiding___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Command_openHiding___elambda__1___closed__9);
+l_Lean_Parser_Command_openHiding___elambda__1___closed__10 = _init_l_Lean_Parser_Command_openHiding___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_openHiding___elambda__1___closed__10);
+l_Lean_Parser_Command_openHiding___elambda__1___closed__11 = _init_l_Lean_Parser_Command_openHiding___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_openHiding___elambda__1___closed__11);
+l_Lean_Parser_Command_openHiding___elambda__1___closed__12 = _init_l_Lean_Parser_Command_openHiding___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_openHiding___elambda__1___closed__12);
l_Lean_Parser_Command_openHiding___closed__1 = _init_l_Lean_Parser_Command_openHiding___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_openHiding___closed__1);
l_Lean_Parser_Command_openHiding___closed__2 = _init_l_Lean_Parser_Command_openHiding___closed__2();
@@ -57079,6 +37741,16 @@ l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__12 = _init_l_Lean_
lean_mark_persistent(l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__12);
l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__13 = _init_l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__13();
lean_mark_persistent(l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__13);
+l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__14 = _init_l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__14();
+lean_mark_persistent(l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__14);
+l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__15 = _init_l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__15();
+lean_mark_persistent(l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__15);
+l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__16 = _init_l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__16();
+lean_mark_persistent(l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__16);
+l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__17 = _init_l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__17();
+lean_mark_persistent(l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__17);
+l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__18 = _init_l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__18();
+lean_mark_persistent(l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__18);
l_Lean_Parser_Command_openRenamingItem___closed__1 = _init_l_Lean_Parser_Command_openRenamingItem___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_openRenamingItem___closed__1);
l_Lean_Parser_Command_openRenamingItem___closed__2 = _init_l_Lean_Parser_Command_openRenamingItem___closed__2();
@@ -57115,6 +37787,14 @@ l_Lean_Parser_Command_openRenaming___elambda__1___closed__8 = _init_l_Lean_Parse
lean_mark_persistent(l_Lean_Parser_Command_openRenaming___elambda__1___closed__8);
l_Lean_Parser_Command_openRenaming___elambda__1___closed__9 = _init_l_Lean_Parser_Command_openRenaming___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Command_openRenaming___elambda__1___closed__9);
+l_Lean_Parser_Command_openRenaming___elambda__1___closed__10 = _init_l_Lean_Parser_Command_openRenaming___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_openRenaming___elambda__1___closed__10);
+l_Lean_Parser_Command_openRenaming___elambda__1___closed__11 = _init_l_Lean_Parser_Command_openRenaming___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_openRenaming___elambda__1___closed__11);
+l_Lean_Parser_Command_openRenaming___elambda__1___closed__12 = _init_l_Lean_Parser_Command_openRenaming___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_openRenaming___elambda__1___closed__12);
+l_Lean_Parser_Command_openRenaming___elambda__1___closed__13 = _init_l_Lean_Parser_Command_openRenaming___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Command_openRenaming___elambda__1___closed__13);
l_Lean_Parser_Command_openRenaming___closed__1 = _init_l_Lean_Parser_Command_openRenaming___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_openRenaming___closed__1);
l_Lean_Parser_Command_openRenaming___closed__2 = _init_l_Lean_Parser_Command_openRenaming___closed__2();
@@ -57143,6 +37823,16 @@ l_Lean_Parser_Command_openOnly___elambda__1___closed__3 = _init_l_Lean_Parser_Co
lean_mark_persistent(l_Lean_Parser_Command_openOnly___elambda__1___closed__3);
l_Lean_Parser_Command_openOnly___elambda__1___closed__4 = _init_l_Lean_Parser_Command_openOnly___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Command_openOnly___elambda__1___closed__4);
+l_Lean_Parser_Command_openOnly___elambda__1___closed__5 = _init_l_Lean_Parser_Command_openOnly___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Command_openOnly___elambda__1___closed__5);
+l_Lean_Parser_Command_openOnly___elambda__1___closed__6 = _init_l_Lean_Parser_Command_openOnly___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Command_openOnly___elambda__1___closed__6);
+l_Lean_Parser_Command_openOnly___elambda__1___closed__7 = _init_l_Lean_Parser_Command_openOnly___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Command_openOnly___elambda__1___closed__7);
+l_Lean_Parser_Command_openOnly___elambda__1___closed__8 = _init_l_Lean_Parser_Command_openOnly___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Command_openOnly___elambda__1___closed__8);
+l_Lean_Parser_Command_openOnly___elambda__1___closed__9 = _init_l_Lean_Parser_Command_openOnly___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Command_openOnly___elambda__1___closed__9);
l_Lean_Parser_Command_openOnly___closed__1 = _init_l_Lean_Parser_Command_openOnly___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_openOnly___closed__1);
l_Lean_Parser_Command_openOnly___closed__2 = _init_l_Lean_Parser_Command_openOnly___closed__2();
@@ -57167,6 +37857,10 @@ l_Lean_Parser_Command_openSimple___elambda__1___closed__3 = _init_l_Lean_Parser_
lean_mark_persistent(l_Lean_Parser_Command_openSimple___elambda__1___closed__3);
l_Lean_Parser_Command_openSimple___elambda__1___closed__4 = _init_l_Lean_Parser_Command_openSimple___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Command_openSimple___elambda__1___closed__4);
+l_Lean_Parser_Command_openSimple___elambda__1___closed__5 = _init_l_Lean_Parser_Command_openSimple___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Command_openSimple___elambda__1___closed__5);
+l_Lean_Parser_Command_openSimple___elambda__1___closed__6 = _init_l_Lean_Parser_Command_openSimple___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Command_openSimple___elambda__1___closed__6);
l_Lean_Parser_Command_openSimple___closed__1 = _init_l_Lean_Parser_Command_openSimple___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_openSimple___closed__1);
l_Lean_Parser_Command_openSimple___closed__2 = _init_l_Lean_Parser_Command_openSimple___closed__2();
@@ -57197,6 +37891,18 @@ l_Lean_Parser_Command_open___elambda__1___closed__8 = _init_l_Lean_Parser_Comman
lean_mark_persistent(l_Lean_Parser_Command_open___elambda__1___closed__8);
l_Lean_Parser_Command_open___elambda__1___closed__9 = _init_l_Lean_Parser_Command_open___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Command_open___elambda__1___closed__9);
+l_Lean_Parser_Command_open___elambda__1___closed__10 = _init_l_Lean_Parser_Command_open___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_open___elambda__1___closed__10);
+l_Lean_Parser_Command_open___elambda__1___closed__11 = _init_l_Lean_Parser_Command_open___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_open___elambda__1___closed__11);
+l_Lean_Parser_Command_open___elambda__1___closed__12 = _init_l_Lean_Parser_Command_open___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_open___elambda__1___closed__12);
+l_Lean_Parser_Command_open___elambda__1___closed__13 = _init_l_Lean_Parser_Command_open___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Command_open___elambda__1___closed__13);
+l_Lean_Parser_Command_open___elambda__1___closed__14 = _init_l_Lean_Parser_Command_open___elambda__1___closed__14();
+lean_mark_persistent(l_Lean_Parser_Command_open___elambda__1___closed__14);
+l_Lean_Parser_Command_open___elambda__1___closed__15 = _init_l_Lean_Parser_Command_open___elambda__1___closed__15();
+lean_mark_persistent(l_Lean_Parser_Command_open___elambda__1___closed__15);
l_Lean_Parser_Command_open___closed__1 = _init_l_Lean_Parser_Command_open___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_open___closed__1);
l_Lean_Parser_Command_open___closed__2 = _init_l_Lean_Parser_Command_open___closed__2();
@@ -57364,16 +38070,6 @@ lean_mark_persistent(l___regBuiltin_Lean_Parser_Command_open_parenthesizer___clo
res = l___regBuiltin_Lean_Parser_Command_open_parenthesizer(lean_io_mk_world());
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
-l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__1 = _init_l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__1();
-lean_mark_persistent(l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__1);
-l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__2 = _init_l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__2();
-lean_mark_persistent(l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__2);
-l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__3 = _init_l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__3();
-lean_mark_persistent(l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__3);
-l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__4 = _init_l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__4();
-lean_mark_persistent(l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__4);
-l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__5 = _init_l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__5();
-lean_mark_persistent(l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_mutual___elambda__1___spec__1___closed__5);
l_Lean_Parser_Command_mutual___elambda__1___closed__1 = _init_l_Lean_Parser_Command_mutual___elambda__1___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_mutual___elambda__1___closed__1);
l_Lean_Parser_Command_mutual___elambda__1___closed__2 = _init_l_Lean_Parser_Command_mutual___elambda__1___closed__2();
@@ -57392,6 +38088,28 @@ l_Lean_Parser_Command_mutual___elambda__1___closed__8 = _init_l_Lean_Parser_Comm
lean_mark_persistent(l_Lean_Parser_Command_mutual___elambda__1___closed__8);
l_Lean_Parser_Command_mutual___elambda__1___closed__9 = _init_l_Lean_Parser_Command_mutual___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Command_mutual___elambda__1___closed__9);
+l_Lean_Parser_Command_mutual___elambda__1___closed__10 = _init_l_Lean_Parser_Command_mutual___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_mutual___elambda__1___closed__10);
+l_Lean_Parser_Command_mutual___elambda__1___closed__11 = _init_l_Lean_Parser_Command_mutual___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_mutual___elambda__1___closed__11);
+l_Lean_Parser_Command_mutual___elambda__1___closed__12 = _init_l_Lean_Parser_Command_mutual___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_mutual___elambda__1___closed__12);
+l_Lean_Parser_Command_mutual___elambda__1___closed__13 = _init_l_Lean_Parser_Command_mutual___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Command_mutual___elambda__1___closed__13);
+l_Lean_Parser_Command_mutual___elambda__1___closed__14 = _init_l_Lean_Parser_Command_mutual___elambda__1___closed__14();
+lean_mark_persistent(l_Lean_Parser_Command_mutual___elambda__1___closed__14);
+l_Lean_Parser_Command_mutual___elambda__1___closed__15 = _init_l_Lean_Parser_Command_mutual___elambda__1___closed__15();
+lean_mark_persistent(l_Lean_Parser_Command_mutual___elambda__1___closed__15);
+l_Lean_Parser_Command_mutual___elambda__1___closed__16 = _init_l_Lean_Parser_Command_mutual___elambda__1___closed__16();
+lean_mark_persistent(l_Lean_Parser_Command_mutual___elambda__1___closed__16);
+l_Lean_Parser_Command_mutual___elambda__1___closed__17 = _init_l_Lean_Parser_Command_mutual___elambda__1___closed__17();
+lean_mark_persistent(l_Lean_Parser_Command_mutual___elambda__1___closed__17);
+l_Lean_Parser_Command_mutual___elambda__1___closed__18 = _init_l_Lean_Parser_Command_mutual___elambda__1___closed__18();
+lean_mark_persistent(l_Lean_Parser_Command_mutual___elambda__1___closed__18);
+l_Lean_Parser_Command_mutual___elambda__1___closed__19 = _init_l_Lean_Parser_Command_mutual___elambda__1___closed__19();
+lean_mark_persistent(l_Lean_Parser_Command_mutual___elambda__1___closed__19);
+l_Lean_Parser_Command_mutual___elambda__1___closed__20 = _init_l_Lean_Parser_Command_mutual___elambda__1___closed__20();
+lean_mark_persistent(l_Lean_Parser_Command_mutual___elambda__1___closed__20);
l_Lean_Parser_Command_mutual___closed__1 = _init_l_Lean_Parser_Command_mutual___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_mutual___closed__1);
l_Lean_Parser_Command_mutual___closed__2 = _init_l_Lean_Parser_Command_mutual___closed__2();
@@ -57479,6 +38197,22 @@ l_Lean_Parser_Command_initialize___elambda__1___closed__8 = _init_l_Lean_Parser_
lean_mark_persistent(l_Lean_Parser_Command_initialize___elambda__1___closed__8);
l_Lean_Parser_Command_initialize___elambda__1___closed__9 = _init_l_Lean_Parser_Command_initialize___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Command_initialize___elambda__1___closed__9);
+l_Lean_Parser_Command_initialize___elambda__1___closed__10 = _init_l_Lean_Parser_Command_initialize___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_initialize___elambda__1___closed__10);
+l_Lean_Parser_Command_initialize___elambda__1___closed__11 = _init_l_Lean_Parser_Command_initialize___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_initialize___elambda__1___closed__11);
+l_Lean_Parser_Command_initialize___elambda__1___closed__12 = _init_l_Lean_Parser_Command_initialize___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_initialize___elambda__1___closed__12);
+l_Lean_Parser_Command_initialize___elambda__1___closed__13 = _init_l_Lean_Parser_Command_initialize___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Command_initialize___elambda__1___closed__13);
+l_Lean_Parser_Command_initialize___elambda__1___closed__14 = _init_l_Lean_Parser_Command_initialize___elambda__1___closed__14();
+lean_mark_persistent(l_Lean_Parser_Command_initialize___elambda__1___closed__14);
+l_Lean_Parser_Command_initialize___elambda__1___closed__15 = _init_l_Lean_Parser_Command_initialize___elambda__1___closed__15();
+lean_mark_persistent(l_Lean_Parser_Command_initialize___elambda__1___closed__15);
+l_Lean_Parser_Command_initialize___elambda__1___closed__16 = _init_l_Lean_Parser_Command_initialize___elambda__1___closed__16();
+lean_mark_persistent(l_Lean_Parser_Command_initialize___elambda__1___closed__16);
+l_Lean_Parser_Command_initialize___elambda__1___closed__17 = _init_l_Lean_Parser_Command_initialize___elambda__1___closed__17();
+lean_mark_persistent(l_Lean_Parser_Command_initialize___elambda__1___closed__17);
l_Lean_Parser_Command_initialize___closed__1 = _init_l_Lean_Parser_Command_initialize___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_initialize___closed__1);
l_Lean_Parser_Command_initialize___closed__2 = _init_l_Lean_Parser_Command_initialize___closed__2();
@@ -57568,6 +38302,12 @@ l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__8 = _init_l_Lea
lean_mark_persistent(l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__8);
l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__9 = _init_l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__9);
+l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__10 = _init_l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__10);
+l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__11 = _init_l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__11);
+l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__12 = _init_l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_builtin__initialize___elambda__1___closed__12);
l_Lean_Parser_Command_builtin__initialize___closed__1 = _init_l_Lean_Parser_Command_builtin__initialize___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_builtin__initialize___closed__1);
l_Lean_Parser_Command_builtin__initialize___closed__2 = _init_l_Lean_Parser_Command_builtin__initialize___closed__2();
@@ -57613,6 +38353,10 @@ l_Lean_Parser_Command_in___elambda__1___closed__1 = _init_l_Lean_Parser_Command_
lean_mark_persistent(l_Lean_Parser_Command_in___elambda__1___closed__1);
l_Lean_Parser_Command_in___elambda__1___closed__2 = _init_l_Lean_Parser_Command_in___elambda__1___closed__2();
lean_mark_persistent(l_Lean_Parser_Command_in___elambda__1___closed__2);
+l_Lean_Parser_Command_in___elambda__1___closed__3 = _init_l_Lean_Parser_Command_in___elambda__1___closed__3();
+lean_mark_persistent(l_Lean_Parser_Command_in___elambda__1___closed__3);
+l_Lean_Parser_Command_in___elambda__1___closed__4 = _init_l_Lean_Parser_Command_in___elambda__1___closed__4();
+lean_mark_persistent(l_Lean_Parser_Command_in___elambda__1___closed__4);
l_Lean_Parser_Command_in___closed__1 = _init_l_Lean_Parser_Command_in___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_in___closed__1);
l_Lean_Parser_Command_in___closed__2 = _init_l_Lean_Parser_Command_in___closed__2();
diff --git a/stage0/stdlib/Lean/Parser/Do.c b/stage0/stdlib/Lean/Parser/Do.c
index 891dc62f23..0ea690110e 100644
--- a/stage0/stdlib/Lean/Parser/Do.c
+++ b/stage0/stdlib/Lean/Parser/Do.c
@@ -15,7 +15,6 @@ extern "C" {
#endif
lean_object* l_Lean_Parser_Term_doReassign___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_do___closed__4;
-extern lean_object* l_Lean_Parser_Term_match___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_doIdDecl_parenthesizer___closed__3;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_visitToken___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_doBreak_parenthesizer___closed__1;
@@ -41,22 +40,25 @@ lean_object* l_Lean_Parser_Term_doElem_quot_formatter___closed__1;
lean_object* l_Lean_Parser_Term_doMatch_parenthesizer___closed__5;
lean_object* l_Lean_Parser_Term_doNested_formatter___closed__1;
lean_object* l_Lean_Parser_Term_doSeqBracketed___closed__2;
-extern lean_object* l_Lean_Parser_manyAux___main___closed__1;
lean_object* l_Lean_Parser_Term_doIf___closed__12;
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doIf___elambda__1___spec__1___closed__1;
lean_object* l_Lean_Parser_Term_doElem_quot___elambda__1___closed__5;
+lean_object* l_Lean_Parser_Term_doIdDecl___elambda__1___closed__7;
+lean_object* l_Lean_Parser_Term_doReassignArrow___elambda__1___closed__6;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_categoryParser_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+extern lean_object* l_Lean_Parser_Term_optIdent___closed__3;
lean_object* l_Lean_Parser_Term_doIdDecl___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_doPatDecl___closed__11;
lean_object* l_Lean_Parser_andthenInfo(lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_doTry_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Term_doDbgTrace___closed__1;
+lean_object* l_Lean_Parser_Term_doIf___elambda__1___closed__12;
lean_object* l_Lean_Parser_ParserState_mkError(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doIdDecl___closed__4;
lean_object* l_Lean_Parser_Term_doExpr_parenthesizer___closed__1;
extern lean_object* l_Lean_Syntax_isQuot_match__1___rarg___closed__1;
lean_object* l_Lean_Parser_Term_doElem_quot___closed__7;
+extern lean_object* l_Lean_Parser_Term_optType___closed__2;
lean_object* l_Lean_Parser_Term_doElem_quot_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doReturn___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_doIdDecl_parenthesizer___closed__7;
@@ -64,22 +66,24 @@ lean_object* l_Lean_Parser_Term_doIdDecl___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_doIdDecl_formatter___closed__2;
lean_object* l_Lean_Parser_Term_doReassignArrow___closed__5;
lean_object* l_Lean_Parser_Term_doBreak___elambda__1___closed__7;
+lean_object* l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__6;
lean_object* l___regBuiltin_Lean_Parser_Term_do_parenthesizer(lean_object*);
extern lean_object* l_Lean_Parser_Term_letDecl_parenthesizer___closed__2;
extern lean_object* l_Lean_Parser_Term_matchAlt___closed__3;
extern lean_object* l_Lean_Parser_Term_structInst___closed__1;
lean_object* l_Lean_Parser_Term_doTry_formatter___closed__1;
lean_object* l_Lean_Parser_Term_leftArrow_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_doMatchAlts___elambda__1___spec__2(uint8_t, lean_object*, uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doTry_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Term_doNested_formatter___closed__2;
lean_object* l_Lean_Parser_Term_leftArrow_parenthesizer___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__8;
lean_object* l_Lean_Parser_Term_doContinue___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_doMatch_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Term_doCatch___closed__8;
-extern lean_object* l_Lean_Parser_notFollowedByFn___closed__1;
+lean_object* l_Lean_Parser_Term_doLetArrow___elambda__1___closed__7;
lean_object* l_Lean_Parser_Term_doUnless___closed__6;
lean_object* l_Lean_Parser_Term_doIf_formatter___closed__20;
+lean_object* l_Lean_Parser_Term_liftMethod___elambda__1___closed__6;
extern lean_object* l_Lean_nullKind;
lean_object* l_Lean_Parser_Term_doMatch_formatter___closed__6;
lean_object* l_Lean_Parser_Term_doReassign___elambda__1___closed__1;
@@ -90,9 +94,9 @@ extern lean_object* l_Lean_Parser_leadPrec;
lean_object* l_Lean_Parser_Term_doReassignArrow___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_doFor___elambda__1___closed__9;
lean_object* l_Lean_Parser_Term_doExpr___closed__2;
+extern lean_object* l_Lean_Parser_Term_matchAlts___closed__13;
lean_object* l_Lean_Parser_Term_doTry___closed__4;
lean_object* l_Lean_Parser_Term_doLetArrow___closed__1;
-extern lean_object* l_Lean_Parser_Term_have___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_doSeqBracketed___closed__4;
lean_object* l_Lean_Parser_Term_doSeqBracketed_formatter___closed__8;
lean_object* l_Lean_Parser_Term_doDbgTrace_formatter___closed__2;
@@ -116,11 +120,13 @@ lean_object* l_Lean_Parser_Term_doReturn_formatter___closed__5;
lean_object* l_Lean_Parser_Term_doNested___closed__2;
lean_object* l_Lean_Parser_Term_doTry_formatter___closed__2;
lean_object* l___regBuiltinParser_Lean_Parser_Term_liftMethod(lean_object*);
+lean_object* l_Lean_Parser_Term_doFinally___elambda__1___closed__10;
extern lean_object* l_Lean_Parser_Term_have___closed__2;
lean_object* l_Lean_Parser_Term_doContinue_formatter___closed__2;
extern lean_object* l_Lean_Parser_Term_if_formatter___closed__3;
lean_object* l_Lean_Parser_Term_do___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_doUnless___closed__1;
+lean_object* l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_doReassignArrow___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_doFor_formatter___closed__6;
lean_object* l_Lean_Parser_Term_doCatchMatch_formatter___closed__2;
@@ -146,6 +152,7 @@ lean_object* l_Lean_Parser_Term_doPatDecl___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_doIf___closed__6;
lean_object* l_Lean_Parser_Term_doReturn_parenthesizer___closed__4;
lean_object* l_Lean_Parser_Term_doReassignArrow___elambda__1___closed__2;
+lean_object* l_Lean_Parser_Term_doPatDecl___elambda__1___closed__10;
lean_object* l_Lean_Parser_group_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doAssert;
lean_object* l_Lean_Parser_Term_doIf_parenthesizer___closed__17;
@@ -154,47 +161,54 @@ extern lean_object* l_Lean_Parser_Term_match___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_doDbgTrace___closed__4;
lean_object* l_Lean_Parser_Term_doCatchMatch_formatter___closed__1;
extern lean_object* l_Lean_Parser_Term_letPatDecl;
+lean_object* l_Lean_Parser_Term_doPatDecl___elambda__1___closed__14;
lean_object* l___regBuiltin_Lean_Parser_Term_doLetArrow_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Term_doFinally___closed__5;
lean_object* l_Lean_Parser_Term_doUnless___elambda__1___closed__11;
lean_object* l_Lean_Parser_Term_doMatch___closed__5;
lean_object* l___regBuiltin_Lean_Parser_Term_doReturn_formatter___closed__1;
+lean_object* l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__7;
lean_object* l_Lean_Parser_Term_doIf_parenthesizer___closed__4;
lean_object* l_Lean_Parser_Term_doIdDecl_formatter___closed__4;
lean_object* l_Lean_Parser_Term_doAssert___elambda__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__14;
+extern lean_object* l_Lean_Parser_Term_match___elambda__1___closed__8;
lean_object* l_Lean_Parser_Term_doElem_quot___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_doCatch___closed__6;
lean_object* l_Lean_Parser_Term_doReassignArrow;
lean_object* l_Lean_Parser_Term_doUnless_parenthesizer___closed__3;
+lean_object* l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_doAssert_formatter___closed__1;
lean_object* l_Lean_Parser_Term_doIf___closed__21;
-lean_object* l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__33;
lean_object* l_Lean_Parser_Term_doTry___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_doElem_quot___elambda__1___closed__6;
extern lean_object* l_Lean_Parser_Term_dbgTrace_formatter___closed__5;
lean_object* l_Lean_Parser_Term_doReturn___closed__1;
-lean_object* l_Lean_Parser_ParserState_pushSyntax(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doMatchAlts___closed__8;
+lean_object* l_Lean_Parser_Term_doMatch___elambda__1___closed__6;
lean_object* l_Lean_PrettyPrinter_Formatter_orelse_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doIf_formatter___closed__16;
lean_object* l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__22;
lean_object* l___regBuiltin_Lean_Parser_Term_doLetRec_formatter(lean_object*);
lean_object* l_Lean_Parser_Term_doIdDecl_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doIf___elambda__1___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doIdDecl___closed__7;
+lean_object* l_Lean_Parser_Term_doLetRec___elambda__1___closed__8;
lean_object* l_Lean_Parser_Term_doFor___closed__9;
lean_object* l_Lean_Parser_Term_doAssert_formatter___closed__2;
lean_object* l_Lean_Parser_Term_doTry_formatter___closed__9;
lean_object* l_Lean_Parser_Term_doIf___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_doBreak___elambda__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_doReassign___elambda__1___closed__7;
lean_object* l_Lean_Parser_Term_doElem_quot_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Term_doElem_quot___elambda__1___closed__9;
lean_object* l_Lean_Parser_Term_doTry___elambda__1___closed__9;
-extern lean_object* l_Lean_Parser_Term_if___elambda__1___closed__16;
+lean_object* l_Lean_Parser_nonReservedSymbolFn(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_ParserState_mkNode(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doUnless_formatter___closed__7;
lean_object* l_Lean_Parser_Term_doFor___closed__1;
+extern lean_object* l_Lean_Parser_Term_ident___closed__1;
lean_object* l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__3;
+lean_object* l_Lean_Parser_Term_doHave___elambda__1___closed__7;
lean_object* l_Lean_Parser_Term_doIdDecl_parenthesizer___closed__5;
extern lean_object* l_Lean_Parser_darrow;
lean_object* l_Lean_Parser_Term_doCatch___elambda__1___closed__2;
@@ -203,20 +217,23 @@ lean_object* l_Lean_Parser_Term_doElem_quot_parenthesizer(lean_object*, lean_obj
lean_object* l_Lean_Parser_Term_doMatchAlts___closed__4;
lean_object* l_Lean_Parser_Term_doLetRec;
extern lean_object* l_Lean_Parser_antiquotNestedExpr_parenthesizer___closed__1;
+lean_object* l_Lean_Parser_Term_do___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_doReturn___closed__2;
+extern lean_object* l_Lean_Parser_Term_matchAlts___closed__6;
lean_object* l_Lean_Parser_Term_doMatch___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_liftMethod___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doUnless___closed__2;
lean_object* l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_doElem_quot_parenthesizer___closed__4;
+lean_object* l_Lean_Parser_Term_doIf___elambda__1___closed__18;
lean_object* l___regBuiltinParser_Lean_Parser_Term_do(lean_object*);
lean_object* l_Lean_Parser_Term_doElem_quot___elambda__1___closed__4;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_withoutPosition_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-extern lean_object* l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
lean_object* l_Lean_Parser_Term_doTry___closed__8;
lean_object* l_Lean_Parser_Term_doPatDecl_parenthesizer___closed__7;
lean_object* l_Lean_Parser_Term_doIdDecl___closed__5;
-extern lean_object* l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
+lean_object* l_Lean_Parser_Term_doIdDecl___elambda__1___closed__8;
+lean_object* l_Lean_Parser_notFollowedByFn(lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Parser_Term_if_parenthesizer___closed__5;
lean_object* l_Lean_Parser_Term_doMatchAlt___closed__1;
lean_object* l_Lean_Parser_Term_doBreak_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -225,15 +242,17 @@ extern lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed_formatter___closed__
lean_object* l_Lean_Parser_Term_doCatchMatch_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doTry_formatter___closed__4;
lean_object* l_Lean_Parser_doElemParser_formatter(lean_object*);
+lean_object* l_Lean_Parser_orelseFn(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_registerBuiltinDynamicParserAttribute(lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__28;
lean_object* l_Lean_Parser_Term_doLet___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__14;
+lean_object* l_Lean_Parser_Term_doHave___elambda__1___closed__8;
lean_object* l_Lean_Parser_Term_doElem_quot_formatter___closed__3;
lean_object* l_Lean_Parser_Term_doCatchMatch___closed__5;
lean_object* l_Lean_Parser_Term_doTry_formatter___closed__8;
extern lean_object* l_Lean_Parser_Term_let_formatter___closed__2;
lean_object* l_Lean_Parser_Term_doPatDecl_formatter___closed__9;
+lean_object* l_Lean_Parser_Term_doIf___elambda__1___closed__15;
lean_object* l_Lean_Parser_Term_doFor___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_doPatDecl___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doIdDecl___closed__3;
@@ -245,11 +264,9 @@ lean_object* l___regBuiltin_Lean_Parser_Term_doReassignArrow_formatter(lean_obje
lean_object* l_Lean_Parser_Term_doTry___elambda__1___closed__2;
lean_object* l___regBuiltin_Lean_Parser_Term_doFor_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_doElem_quot___closed__5;
-extern lean_object* l_Lean_Parser_Term_let___elambda__1___closed__7;
-lean_object* l_Lean_Parser_regDoElemParserAttribute___closed__1;
lean_object* l_Lean_Parser_Term_doReassignArrow_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_doLetRec_formatter___closed__1;
-extern lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__2;
+lean_object* l_Lean_Parser_Term_doHave___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_doReturn___closed__8;
lean_object* l_Lean_Parser_addBuiltinParser(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doSeqBracketed___closed__5;
@@ -270,20 +287,18 @@ lean_object* lean_string_append(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doIdDecl_formatter___closed__1;
lean_object* l_Lean_Parser_Term_doIf___closed__13;
lean_object* l_Lean_Parser_Term_doReassign___closed__1;
-lean_object* l_Lean_Parser_tokenFn(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_doFor___elambda__1___closed__15;
lean_object* l_Lean_Parser_Term_doFinally___closed__6;
lean_object* l_Lean_Parser_Term_doIf___closed__1;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_toggleInsideQuot_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-extern lean_object* l_Lean_Parser_Term_dbgTrace___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_doCatchMatch___closed__3;
lean_object* l_Lean_Parser_Term_doAssert___closed__1;
lean_object* l_Lean_Parser_Term_doMatch_formatter___closed__2;
+lean_object* l_Lean_Parser_Term_liftMethod___elambda__1___closed__5;
lean_object* l___regBuiltin_Lean_Parser_Term_doReturn_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_doCatch___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_doUnless___closed__7;
lean_object* l_Lean_Parser_Term_doBreak___elambda__1___closed__1;
-lean_object* l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__25;
-lean_object* l_Lean_Parser_regDoElemParserAttribute___closed__2;
lean_object* l_Lean_Parser_Term_doTry___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_doIf_formatter___closed__10;
lean_object* l_Lean_Parser_Term_elseIf_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -295,20 +310,23 @@ lean_object* l_Lean_Parser_Term_doMatch_formatter___closed__1;
lean_object* l_Lean_Parser_Term_doTry_parenthesizer___closed__5;
lean_object* l_Lean_Parser_Term_doMatchAlts_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Term_liftMethod___elambda__1___closed__3;
+lean_object* l_Lean_Parser_Term_doUnless___elambda__1___closed__16;
lean_object* l_Lean_Parser_Term_doReassign___closed__2;
+lean_object* l_Lean_Parser_checkPrecFn___boxed(lean_object*, lean_object*, lean_object*);
+extern lean_object* l_Lean_Parser_Term_letRecDecls___closed__5;
+lean_object* l_Lean_Parser_Term_doCatchMatch___elambda__1___closed__7;
lean_object* l_Lean_Parser_Term_doReturn___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_doReassign_formatter___closed__4;
lean_object* l_Lean_Parser_Term_doAssert___closed__2;
lean_object* l_Lean_Parser_group_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doMatchAlt___elambda__1___closed__2;
+lean_object* l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_doPatDecl___elambda__1___closed__9;
extern lean_object* l_Lean_Parser_antiquotNestedExpr_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Term_doSeqBracketed___closed__3;
-lean_object* l_Lean_Parser_ParserState_mkErrorsAt(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doSeqBracketed_formatter___closed__9;
lean_object* l_Lean_Parser_Term_notFollowedByRedefinedTermToken_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_mkAntiquot_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__29;
lean_object* l_Lean_Parser_leadingNode_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doDbgTrace___closed__2;
lean_object* l_Lean_Parser_Term_liftMethod___closed__4;
@@ -318,10 +336,13 @@ lean_object* l_Lean_Parser_Term_doFor___elambda__1___closed__14;
lean_object* l_Lean_Parser_Term_doCatch___closed__2;
lean_object* l_Lean_Parser_Term_doAssert___closed__4;
lean_object* l_Lean_Parser_Term_doReassign;
+lean_object* l_Lean_Parser_checkColGeFn___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doIf_parenthesizer___closed__19;
lean_object* l_Lean_Parser_Term_doTry_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_do___elambda__1___closed__2;
+lean_object* l_Lean_Parser_Term_doMatchAlt___elambda__1___closed__6;
+lean_object* l_Lean_Parser_Term_doLet___elambda__1___closed__7;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doFor___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_liftMethod___elambda__1___closed__1;
@@ -335,29 +356,36 @@ lean_object* l_Lean_Parser_Term_doCatch___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_doUnless___elambda__1___closed__7;
lean_object* l_Lean_Parser_Term_doTry___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_doTry_formatter___closed__11;
+lean_object* l_Lean_Parser_Term_doTry___elambda__1___closed__15;
lean_object* l_Lean_Parser_Term_doIf___closed__2;
lean_object* l___regBuiltin_Lean_Parser_Term_doLetArrow_parenthesizer___closed__1;
extern lean_object* l_Lean_Parser_Term_dbgTrace___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_doSeq_formatter___closed__2;
lean_object* l_Lean_Parser_Term_doMatchAlt_parenthesizer___closed__3;
+lean_object* l_Lean_Parser_Term_doCatch___elambda__1___closed__12;
lean_object* l_Lean_Parser_Term_liftMethod___closed__5;
+lean_object* l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__9;
lean_object* l_Lean_Parser_Term_elseIf___elambda__1___closed__4;
+extern lean_object* l_Lean_Parser_Term_letPatDecl___closed__6;
+extern lean_object* l_Lean_Parser_Term_match___elambda__1___closed__7;
lean_object* l_Lean_Parser_Term_doIf;
-lean_object* l_Lean_Parser_checkPrecFn(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_elseIf_parenthesizer___closed__4;
lean_object* l_Lean_Parser_Term_doMatchAlt___elambda__1___closed__3;
lean_object* l___regBuiltin_Lean_Parser_Term_doReassignArrow_formatter___closed__1;
lean_object* l_Lean_Parser_Term_doIf_parenthesizer___closed__12;
+lean_object* l_Lean_Parser_Term_doIf___elambda__1___closed__8;
+lean_object* l_Lean_Parser_Term_doIf___elambda__1___closed__17;
lean_object* l_Lean_Parser_Term_doReassign___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_doIf___closed__4;
lean_object* l_Lean_Parser_Term_doLetArrow_parenthesizer___closed__4;
lean_object* l_Lean_Parser_Term_doUnless___elambda__1___closed__2;
+lean_object* l_Lean_Parser_Term_doAssert___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_doReturn_parenthesizer___closed__6;
lean_object* l_Lean_PrettyPrinter_Formatter_optional_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+extern lean_object* l_Lean_Parser_Term_byTactic___elambda__1___closed__9;
lean_object* l_Lean_Parser_Term_doSeqIndent___closed__1;
lean_object* l_Lean_Parser_Term_doReturn_formatter___closed__1;
lean_object* l_Lean_Parser_Term_doTry_formatter___closed__3;
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__4;
lean_object* l_Lean_Parser_Term_doLetArrow___closed__5;
lean_object* l_Lean_Parser_Term_doMatchAlts_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_doNested_formatter___closed__1;
@@ -368,35 +396,44 @@ lean_object* l___regBuiltin_Lean_Parser_Term_doLetRec_parenthesizer(lean_object*
lean_object* l_Lean_Parser_Term_doContinue_formatter___closed__3;
extern lean_object* l_Lean_Parser_Term_assert___closed__2;
lean_object* l_Lean_Parser_Term_doReassignArrow___elambda__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_doTry___elambda__1___closed__11;
extern lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_doIf___closed__9;
+lean_object* l_Lean_Parser_Term_doIdDecl___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_doIf_parenthesizer___closed__14;
lean_object* l_Lean_Parser_Term_doLetArrow_parenthesizer___closed__1;
lean_object* l___regBuiltinParser_Lean_Parser_Term_doBreak(lean_object*);
+lean_object* l_Lean_Parser_Term_doReassignArrow___elambda__1___closed__7;
lean_object* l_Lean_Parser_Term_doLet_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doUnless___closed__9;
+lean_object* l_Lean_Parser_Term_doMatchAlt___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_notFollowedByRedefinedTermToken_formatter___rarg(lean_object*);
lean_object* l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__7;
lean_object* l_Lean_Parser_Term_doReassignArrow_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_doReassign_formatter(lean_object*);
lean_object* l_Lean_Parser_Term_doUnless___elambda__1___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Term_doLet_formatter(lean_object*);
+lean_object* l_Lean_Parser_Term_doIf___elambda__1___closed__9;
extern lean_object* l_Lean_Parser_Term_letrec_formatter___closed__6;
lean_object* l_Lean_Parser_Term_doPatDecl_formatter___closed__5;
lean_object* l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__24;
extern lean_object* l_Lean_Parser_Term_have___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_doFor___closed__2;
+lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_14____closed__1;
lean_object* l_Lean_Parser_Term_doMatchAlt___elambda__1(lean_object*, lean_object*);
extern lean_object* l_Lean_Parser_Term_if___closed__3;
lean_object* l_Lean_Parser_Term_doBreak___elambda__1___closed__6;
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqBracketed___elambda__1___spec__1(lean_object*, lean_object*);
extern lean_object* l_Lean_PrettyPrinter_parenthesizerAttribute;
lean_object* l_Lean_Parser_Term_liftMethod_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doLetRec___elambda__1(lean_object*, lean_object*);
extern lean_object* l_Lean_Parser_Term_let___closed__2;
+lean_object* l_Lean_Parser_Term_doIf___elambda__1___closed__11;
lean_object* l_Lean_Parser_Term_doContinue;
lean_object* l_Lean_Parser_Term_elseIf___elambda__1___closed__2;
+lean_object* l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_doReassign___closed__5;
+extern lean_object* l_Lean_Parser_Term_typeAscription___elambda__1___closed__5;
+lean_object* l_Lean_Parser_Term_doLetArrow___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_leftArrow_parenthesizer___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doLetRec___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_doSeq_formatter___closed__1;
@@ -404,8 +441,11 @@ lean_object* l_Lean_Parser_Term_doIdDecl_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Term_doReassign_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Term_doMatchAlts_parenthesizer___closed__5;
lean_object* l_Lean_Parser_Term_doIf___closed__8;
+extern lean_object* l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_do___closed__1;
lean_object* l_Lean_Parser_Term_doIf___closed__17;
+extern lean_object* l_Lean_Parser_Term_structInst___elambda__1___closed__5;
+lean_object* l_Lean_Parser_Term_doReturn___elambda__1___closed__11;
lean_object* l_Lean_Parser_Term_doMatch___elambda__1___closed__1;
extern lean_object* l_Lean_Parser_Term_let___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Term_doMatch_formatter___closed__1;
@@ -416,25 +456,27 @@ lean_object* l_Lean_Parser_Term_doIdDecl_parenthesizer___closed__6;
lean_object* l_Lean_Parser_Term_doSeqIndent_formatter___closed__2;
lean_object* l_Lean_Parser_Term_doIdDecl___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_doAssert_parenthesizer___closed__1;
+lean_object* l_Lean_Parser_Term_doPatDecl___elambda__1___closed__13;
lean_object* l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__4;
extern lean_object* l_Lean_Parser_Term_structInst_formatter___closed__2;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_doMatchAlts___elambda__1___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_elseIf_formatter___closed__3;
lean_object* l_Lean_Parser_Term_do___closed__2;
lean_object* l_Lean_Parser_Term_doUnless___elambda__1___closed__3;
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doFinally___closed__2;
extern lean_object* l_Lean_Parser_Term_explicitBinder_formatter___closed__2;
+lean_object* l_Lean_Parser_Term_doLetRec___elambda__1___closed__5;
extern lean_object* l_Lean_Parser_Term_optIdent;
-lean_object* l_Lean_Parser_nonReservedSymbolFnAux(lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_doMatchAlts___elambda__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doDbgTrace_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Term_doContinue___closed__3;
lean_object* l___regBuiltin_Lean_Parser_Term_doHave_parenthesizer___closed__1;
-extern lean_object* l_Lean_Parser_Term_structInst___elambda__1___closed__16;
lean_object* l_Lean_Parser_Term_doSeqIndent___closed__9;
lean_object* l_Lean_Parser_Term_doElem_quot_parenthesizer___closed__3;
extern lean_object* l_Lean_Parser_Term_optType;
lean_object* l_Lean_Parser_Term_doMatchAlt___closed__5;
+lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4_(lean_object*);
+lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_14_(lean_object*);
lean_object* l_Lean_Parser_Term_doElem_quot_formatter___closed__5;
lean_object* l_Lean_Parser_Term_doFor_formatter___closed__7;
lean_object* l_Lean_Parser_Term_doIdDecl___elambda__1(lean_object*, lean_object*);
@@ -443,11 +485,13 @@ lean_object* l___regBuiltin_Lean_Parser_Term_doTry_formatter(lean_object*);
lean_object* l_Lean_Parser_Term_elseIf___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_doFor___closed__4;
extern lean_object* l_Lean_Parser_Term_structInst_parenthesizer___closed__6;
-lean_object* l_Lean_Parser_regBuiltinDoElemParserAttr___closed__3;
lean_object* l___regBuiltin_Lean_Parser_Term_doReassignArrow_parenthesizer(lean_object*);
+lean_object* l_Lean_Parser_Term_doMatch___elambda__1___closed__8;
lean_object* l_Lean_Parser_Term_elseIf;
lean_object* l_Lean_Parser_Term_doMatch___elambda__1___closed__4;
lean_object* l_Lean_Parser_nodeInfo(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_symbolFn___boxed(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_doReassign___elambda__1___closed__5;
lean_object* l___regBuiltinParser_Lean_Parser_Term_doUnless(lean_object*);
lean_object* l_Lean_Parser_Term_doReturn_formatter___closed__4;
lean_object* l_Lean_Parser_Term_doMatch_parenthesizer___closed__6;
@@ -455,6 +499,7 @@ lean_object* l_Lean_Parser_Term_doNested_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_doFor___elambda__1___closed__12;
lean_object* l_Lean_Parser_Term_doSeq___closed__1;
lean_object* l_Lean_Parser_Term_doSeqIndent___closed__2;
+lean_object* l_Lean_Parser_Term_doMatch___elambda__1___closed__9;
lean_object* l_Lean_Parser_Term_doIf___closed__7;
lean_object* l_Lean_Parser_Term_doIf_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doAssert___closed__3;
@@ -475,6 +520,7 @@ lean_object* l_Lean_Parser_Term_doBreak_formatter___closed__3;
lean_object* l_Lean_Parser_Term_doSeqIndent_formatter___closed__1;
extern lean_object* l_Lean_Parser_Term_matchAlts_formatter___closed__5;
lean_object* l_Lean_Parser_Term_doLetArrow_parenthesizer___closed__2;
+lean_object* l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_doBreak___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_doLetArrow_parenthesizer___closed__5;
lean_object* l_Lean_Parser_Term_doCatch___closed__7;
@@ -485,37 +531,37 @@ lean_object* l_Lean_Parser_Term_doTry___closed__6;
lean_object* l_Lean_Parser_Term_doElem_quot___closed__3;
lean_object* l_Lean_Parser_Term_doPatDecl_formatter___closed__6;
lean_object* l_Lean_Parser_Term_doNested_parenthesizer___closed__2;
-lean_object* l_Array_shrink___main___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doIf___closed__15;
+lean_object* l_Lean_Parser_Term_doIf___elambda__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doElem_quot___elambda__1___closed__7;
+lean_object* l_Lean_Parser_Term_doTry___elambda__1___closed__12;
lean_object* l___regBuiltin_Lean_Parser_Term_doElem_quot_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_doExpr_parenthesizer___closed__2;
+lean_object* l_Lean_Parser_Term_elseIf___elambda__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doContinue___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_doSeqBracketed___elambda__1(lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_doIf_formatter(lean_object*);
lean_object* l_Lean_Parser_Term_doLetArrow___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_doIdDecl_parenthesizer___closed__4;
+lean_object* l_Lean_Parser_Term_doAssert___elambda__1___closed__7;
lean_object* l_Lean_Parser_Term_doHave_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Term_doIf___closed__18;
-lean_object* l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__32;
lean_object* l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_leftArrow___closed__3;
lean_object* l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__1;
lean_object* l_Lean_PrettyPrinter_Formatter_withForbidden_formatter___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-extern lean_object* l_Lean_Parser_Term_typeAscription___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_doFor;
lean_object* l_Lean_Parser_Term_doLetArrow;
lean_object* l_Lean_Parser_Term_doFor___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_doMatchAlts_formatter___closed__6;
lean_object* l_Lean_Parser_Term_doExpr_formatter___closed__3;
lean_object* l_Lean_Parser_Term_doHave_parenthesizer___closed__1;
-lean_object* l_Lean_Parser_Term_letIdDecl___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doMatch_parenthesizer___closed__4;
lean_object* l_Lean_Parser_Term_doAssert_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doReassignArrow___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_doLet___closed__3;
lean_object* l___regBuiltinParser_Lean_Parser_Term_doContinue(lean_object*);
-uint8_t l_Lean_Parser_tryAnti(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_doIdDecl___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_doLetRec_parenthesizer___closed__1;
lean_object* l_Lean_Parser_optionaInfo(lean_object*);
lean_object* l_Lean_Parser_Term_doSeq;
@@ -527,7 +573,6 @@ extern lean_object* l_Lean_Parser_Term_if___elambda__1___closed__6;
lean_object* l_Lean_PrettyPrinter_Formatter_toggleInsideQuot_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doIdDecl_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doHave_formatter___closed__1;
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__2;
lean_object* l_Lean_Parser_Term_doSeqIndent___closed__4;
lean_object* l_Lean_Parser_Term_doLetArrow___closed__6;
lean_object* l_Lean_Parser_Term_doTry_parenthesizer___closed__9;
@@ -535,6 +580,7 @@ lean_object* l_Lean_Parser_Term_doFor___elambda__1___closed__13;
extern lean_object* l_Lean_Parser_Term_assert___elambda__1___closed__6;
lean_object* l_Lean_PrettyPrinter_Formatter_node_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doCatchMatch___closed__6;
+lean_object* l_Lean_Parser_Term_doCatch___elambda__1___closed__14;
lean_object* l_Lean_PrettyPrinter_Formatter_unicodeSymbol_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doCatch___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_doSeqIndent___closed__8;
@@ -545,6 +591,7 @@ lean_object* l_Lean_Parser_Term_doUnless___closed__4;
lean_object* l_Lean_Parser_Term_doIf___closed__3;
lean_object* l_Lean_Parser_Term_doAssert___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_doMatchAlts_formatter___closed__4;
+lean_object* l_Lean_Parser_Term_doLetRec___elambda__1___closed__7;
lean_object* l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__20;
lean_object* l_Lean_Parser_Term_doPatDecl_formatter___closed__1;
lean_object* l_Lean_Parser_Term_doElem_quot___elambda__1___closed__3;
@@ -557,6 +604,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Term_doIf(lean_object*);
lean_object* l_Lean_Parser_Term_doLetRec_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Term_doLetRec_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_doUnless_parenthesizer(lean_object*);
+lean_object* l_Lean_Parser_Term_doPatDecl___elambda__1___closed__12;
lean_object* l_Lean_Parser_Term_doFor___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_doDbgTrace_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_doUnless___elambda__1___closed__8;
@@ -564,25 +612,27 @@ lean_object* l___regBuiltin_Lean_Parser_Term_doElem_quot_formatter(lean_object*)
lean_object* l_Lean_Parser_Term_doReassignArrow_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Term_doSeqIndent_parenthesizer___closed__3;
lean_object* l_Lean_Parser_doElemParser_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-extern lean_object* l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
extern lean_object* l_Char_HasRepr___closed__1;
lean_object* l_Lean_Parser_Term_doReassign___closed__3;
+lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_14____closed__2;
lean_object* l_Lean_Parser_Term_doSeqIndent___closed__5;
lean_object* l_Lean_Parser_Term_doFor_formatter___closed__5;
lean_object* l___regBuiltin_Lean_Parser_Term_doFor_formatter(lean_object*);
lean_object* l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__16;
lean_object* l_Lean_Parser_Term_doCatch___elambda__1___closed__7;
lean_object* l_Lean_Parser_Term_doNested___closed__1;
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_tupleTail___elambda__1___spec__1(uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doContinue___closed__2;
lean_object* l_Lean_Parser_Term_doSeqBracketed_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doPatDecl___closed__10;
lean_object* l_Lean_Parser_Term_doMatch_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_doReturn___closed__6;
+lean_object* l_Lean_Parser_Term_doExpr___elambda__1___closed__7;
lean_object* l_Lean_Parser_Term_doPatDecl_formatter___closed__2;
lean_object* l_Lean_Parser_orelseInfo(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doPatDecl_formatter___closed__8;
lean_object* l_Lean_Parser_Term_elseIf___closed__6;
+lean_object* l_Lean_Parser_Term_doIf___elambda__1___closed__10;
+extern lean_object* l_Lean_Parser_Term_binderIdent___closed__1;
lean_object* l_Lean_Parser_Term_doLet_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Term_doSeq___closed__2;
lean_object* l_Lean_Parser_Term_doLetRec___closed__3;
@@ -600,8 +650,10 @@ extern lean_object* l_Lean_Parser_Term_match___closed__2;
lean_object* l_Lean_Parser_Term_doPatDecl_formatter___closed__4;
lean_object* l_Lean_Parser_Term_doReturn_formatter___closed__3;
lean_object* l_Lean_Parser_Term_doTry___closed__11;
+lean_object* l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__7;
extern lean_object* l_Lean_Parser_maxPrec;
lean_object* l_Lean_Parser_Term_doNested___closed__4;
+lean_object* l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__8;
lean_object* l___regBuiltinParser_Lean_Parser_Term_doElem_quot(lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_doExpr_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Term_doTry_formatter___closed__6;
@@ -609,21 +661,27 @@ lean_object* l_Lean_Parser_Term_doFinally___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_doElem_quot___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_doReturn_parenthesizer___closed__5;
lean_object* l_Lean_Parser_Term_doIf___closed__14;
+lean_object* l_Lean_Parser_Term_doTry___elambda__1___closed__13;
lean_object* l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_doIf_formatter___closed__11;
lean_object* l_Lean_Parser_Term_doContinue___closed__1;
lean_object* l_Lean_Parser_Term_doReturn___elambda__1___closed__9;
+lean_object* l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__7;
+lean_object* l_Lean_Parser_Term_doMatchAlt___elambda__1___closed__7;
lean_object* l___regBuiltin_Lean_Parser_Term_doLet_formatter___closed__1;
lean_object* l_Lean_Parser_many1Indent_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doFinally___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_doSeqBracketed_formatter___closed__4;
lean_object* l_Lean_Parser_Term_leftArrow___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_doSeqIndent_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_doLetRec___elambda__1___closed__10;
extern lean_object* l_Lean_Parser_Term_typeAscription_parenthesizer___closed__2;
extern lean_object* l_Lean_Parser_Term_subtype_parenthesizer___closed__2;
+lean_object* l_Lean_Parser_Term_doCatch___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_doMatchAlts_formatter___closed__1;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkLineEq_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doMatch_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+extern lean_object* l_Lean_Parser_Term_haveDecl___closed__5;
extern lean_object* l_Lean_Parser_Term_if___closed__1;
lean_object* l_Lean_Parser_Term_doMatch___closed__7;
lean_object* l_Lean_Parser_Term_doFinally___closed__4;
@@ -633,6 +691,7 @@ lean_object* l_Lean_Parser_Term_doLetArrow___closed__3;
extern lean_object* l_Lean_Parser_Term_letrec_parenthesizer___closed__4;
lean_object* l_Lean_Parser_Term_doMatchAlt___closed__3;
extern lean_object* l_Lean_Parser_Term_dbgTrace___elambda__1___closed__7;
+lean_object* l_Lean_Parser_Term_doLetArrow___elambda__1___closed__8;
lean_object* l_Lean_Parser_Term_doContinue___closed__6;
extern lean_object* l_Lean_PrettyPrinter_formatterAttribute;
lean_object* l_Lean_Parser_Term_doMatchAlts_formatter___closed__2;
@@ -673,20 +732,22 @@ lean_object* l_Lean_Parser_Term_doPatDecl___closed__5;
lean_object* l_Lean_Parser_Term_doLetArrow___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_doCatchMatch___closed__1;
lean_object* l_Lean_Parser_Term_doIf_formatter___closed__13;
+lean_object* l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doCatch_formatter___closed__1;
lean_object* l_Lean_FileMap_toPosition(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doCatchMatch___elambda__1___closed__1;
+lean_object* l_Lean_Parser_Term_doReturn___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_doBreak___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Term_doLetArrow_formatter___closed__1;
lean_object* l_Lean_Parser_Term_doFinally_formatter___closed__1;
-lean_object* l_Lean_Parser_regBuiltinDoElemParserAttr(lean_object*);
+lean_object* l_Lean_Parser_Term_doUnless___elambda__1___lambda__1___closed__1;
extern lean_object* l_Lean_Parser_Error_toString___closed__2;
lean_object* l_Lean_Parser_Term_doMatchAlts_formatter___closed__5;
lean_object* l_Lean_Parser_Term_doTry___elambda__1___closed__7;
lean_object* l___regBuiltinParser_Lean_Parser_Term_doFor(lean_object*);
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_letRecDecls___elambda__1___spec__1(uint8_t, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_doIf_formatter___closed__1;
lean_object* l_Lean_Parser_Term_doIdDecl_formatter___closed__3;
+lean_object* l_Lean_Parser_Term_doReturn___elambda__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Parser_Term_match_formatter___closed__4;
lean_object* l_Lean_Parser_Term_elseIf___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doContinue___elambda__1___closed__7;
@@ -706,17 +767,17 @@ lean_object* l_Lean_Parser_Term_doCatch_parenthesizer___closed__4;
lean_object* l_Lean_Parser_Term_doUnless_formatter___closed__5;
lean_object* l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__2;
lean_object* l___regBuiltin_Lean_Parser_Term_doDbgTrace_formatter___closed__1;
+lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__4;
lean_object* l_Lean_Parser_Term_leftArrow___elambda__1___closed__8;
lean_object* l_Lean_Parser_Term_liftMethod___closed__3;
extern lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
extern lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed___closed__3;
lean_object* l_Lean_Parser_Term_doCatchMatch___closed__2;
-lean_object* l_Lean_Parser_ParserState_restore(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_doLet___elambda__1___closed__8;
lean_object* l_Lean_Parser_Term_doFinally___elambda__1___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Term_doTry_formatter___closed__1;
lean_object* l_Lean_Parser_Term_doCatchMatch___elambda__1___closed__4;
extern lean_object* l_Lean_Parser_antiquotNestedExpr___closed__3;
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_doMatchAlts___elambda__1___spec__1(uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doMatch___closed__8;
lean_object* l___regBuiltin_Lean_Parser_Term_doLet_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Term_doAssert___elambda__1___closed__1;
@@ -730,6 +791,9 @@ lean_object* l_Lean_Parser_Term_doUnless___elambda__1___closed__13;
lean_object* l_Lean_Parser_Term_doIf_formatter___closed__6;
lean_object* l_Lean_Parser_Term_doElem_quot___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_leftArrow___elambda__1___closed__1;
+lean_object* l_Lean_Parser_Term_doSeqBracketed___elambda__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_manyAux(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__12;
lean_object* l_Lean_Parser_Term_doCatchMatch___closed__4;
lean_object* l_Lean_PrettyPrinter_Formatter_checkLineEq_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doLet___closed__5;
@@ -737,9 +801,11 @@ lean_object* l_Lean_Parser_Term_doIf_parenthesizer___closed__1;
extern lean_object* l_Lean_Parser_Term_tupleTail_formatter___closed__3;
lean_object* l_Lean_Parser_Term_doBreak___closed__4;
extern lean_object* l_Lean_Parser_Term_matchAlts_formatter___closed__13;
+lean_object* l_Lean_Parser_Term_doExpr___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_doDbgTrace_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doReturn___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_doExpr_formatter___closed__2;
+lean_object* l_Lean_Parser_Term_doCatchMatch___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_doCatch_formatter___closed__4;
lean_object* l_Lean_Parser_Term_doLetRec_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doUnless_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -749,7 +815,6 @@ lean_object* l_Lean_PrettyPrinter_Formatter_withPosition_formatter(lean_object*,
lean_object* l_Lean_Parser_Term_notFollowedByRedefinedTermToken_formatter(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doReassign_parenthesizer___closed__3;
lean_object* l___regBuiltinParser_Lean_Parser_Term_doNested(lean_object*);
-lean_object* l_Lean_Parser_Term_optType___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doReassign_formatter___closed__3;
lean_object* l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__21;
lean_object* l___regBuiltin_Lean_Parser_Term_doExpr_formatter(lean_object*);
@@ -762,39 +827,45 @@ lean_object* l_Lean_Parser_Term_doIdDecl_formatter___closed__7;
lean_object* l_Lean_Parser_Term_doPatDecl_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_doLetArrow_formatter___closed__5;
+lean_object* l_Lean_Parser_Term_doReturn___elambda__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doFinally___elambda__1___closed__2;
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__1;
lean_object* l_Lean_Parser_Term_doFor_parenthesizer___closed__2;
+lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__2;
lean_object* l_Lean_Parser_Term_doTry___closed__7;
+lean_object* l_Lean_Parser_Term_liftMethod___elambda__1___closed__8;
extern lean_object* l_Lean_Parser_antiquotNestedExpr_formatter___closed__2;
extern lean_object* l_Lean_Parser_Term_if___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_leftArrow___elambda__1___closed__2;
+lean_object* l_Lean_Parser_checkLineEqFn___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_PrettyPrinter_Formatter_many1_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doUnless___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_doMatch___closed__2;
lean_object* l_Lean_Parser_Term_doReassign_formatter___closed__5;
+lean_object* l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__13;
lean_object* l_Lean_Parser_sepBy1Info(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doExpr_formatter___closed__1;
+lean_object* l_Lean_Parser_Term_doIdDecl___elambda__1___closed__9;
lean_object* l_Lean_Parser_Term_doReturn;
lean_object* l_Lean_Parser_Term_doUnless_formatter___closed__3;
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_elseIf___closed__1;
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_match___elambda__1___spec__1(uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doFor___elambda__1___closed__7;
-extern lean_object* l_Lean_Parser_Term_if___elambda__1___closed__19;
lean_object* l_Lean_Parser_Term_doLetRec___closed__4;
lean_object* l_Lean_Parser_Term_doPatDecl_parenthesizer___closed__5;
+lean_object* l_Lean_Parser_Term_doPatDecl___elambda__1___closed__11;
lean_object* l_Lean_Parser_Term_doUnless___elambda__1___closed__14;
lean_object* l_Lean_Parser_Term_doSeqBracketed_parenthesizer___closed__6;
extern lean_object* l_Lean_Parser_Term_let_formatter___closed__4;
lean_object* l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__23;
lean_object* l_Lean_Parser_Term_doCatch_parenthesizer___closed__1;
+lean_object* l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__11;
lean_object* l_Lean_Parser_Term_leftArrow___elambda__1___closed__9;
lean_object* l_Lean_Parser_Term_doSeqIndent___closed__6;
lean_object* l_Lean_Parser_Term_doFor___closed__6;
+lean_object* l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__8;
lean_object* l_Lean_Parser_Term_doIf_parenthesizer___closed__16;
lean_object* l___regBuiltin_Lean_Parser_Term_doDbgTrace_formatter(lean_object*);
lean_object* l_Lean_Parser_Term_doTry_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__1;
lean_object* l_Lean_Parser_Term_doFinally___elambda__1___closed__9;
extern lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed___closed__1;
lean_object* l_Lean_Parser_Term_doHave___closed__1;
@@ -804,13 +875,16 @@ lean_object* l_Lean_Parser_Term_doPatDecl_formatter___closed__7;
lean_object* l_Lean_Parser_Term_doCatch___elambda__1___closed__9;
lean_object* l_Lean_Parser_Term_notFollowedByRedefinedTermToken_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doCatch_formatter___closed__2;
+lean_object* l_Lean_Parser_Term_doAssert___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_doSeq_parenthesizer___closed__2;
extern lean_object* l_Lean_Parser_Term_binderIdent;
lean_object* l_Lean_Parser_Term_doSeq_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doTry___closed__1;
-lean_object* l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__31;
+lean_object* l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__6;
+lean_object* l_Lean_Parser_Term_doIf___elambda__1___closed__19;
lean_object* l_Lean_Parser_Term_doFinally_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Term_elseIf___elambda__1___closed__3;
+lean_object* l_Lean_Parser_Term_doReassignArrow___elambda__1___closed__5;
lean_object* l_Lean_Parser_toggleInsideQuotFn(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doTry_formatter___closed__7;
lean_object* l_Lean_Parser_Term_doIf_parenthesizer___closed__5;
@@ -820,7 +894,7 @@ lean_object* l_Lean_Parser_Term_leftArrow;
lean_object* l_Lean_Parser_Term_doTry_parenthesizer___closed__8;
lean_object* l_Lean_Parser_Term_doAssert___closed__5;
extern lean_object* l_Lean_Parser_Term_matchAlt_parenthesizer___closed__1;
-lean_object* l_Lean_Parser_Term_ident___elambda__1(lean_object*, lean_object*);
+extern lean_object* l_Lean_Parser_Term_if___elambda__1___closed__9;
lean_object* l_Lean_Parser_Term_doReassignArrow___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Term_doReassign_parenthesizer(lean_object*);
extern lean_object* l_Lean_Parser_Term_match_formatter___closed__2;
@@ -833,6 +907,7 @@ lean_object* l_Lean_Parser_Term_doIf_formatter___closed__17;
lean_object* l_Lean_Parser_Term_doIf_parenthesizer___closed__7;
lean_object* l_Lean_Parser_Term_doSeqIndent;
lean_object* l_Lean_Parser_Term_doSeqIndent___elambda__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_doAssert___elambda__1___closed__8;
lean_object* l___regBuiltin_Lean_Parser_Term_do_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_liftMethod_parenthesizer___closed__4;
lean_object* l_Lean_Parser_Term_doSeqIndent_parenthesizer___closed__2;
@@ -845,7 +920,6 @@ lean_object* l_Lean_Parser_Term_doLetArrow_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Term_doLetArrow_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doReassign___closed__6;
lean_object* l_Lean_Parser_Term_doLetArrow___closed__7;
-extern lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_doBreak;
lean_object* l___regBuiltin_Lean_Parser_Term_doNested_parenthesizer___closed__1;
extern lean_object* l_Lean_Parser_Term_letDecl_formatter___closed__3;
@@ -860,22 +934,24 @@ lean_object* l_Lean_Parser_Term_leftArrow_parenthesizer(lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_doIf_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Term_doExpr_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Term_doPatDecl_parenthesizer___closed__1;
-lean_object* l_Lean_Parser_mergeOrElseErrors(lean_object*, lean_object*, lean_object*, uint8_t);
lean_object* l_Lean_Parser_Term_doSeqBracketed_parenthesizer___closed__8;
lean_object* l_Lean_Parser_Term_doFinally;
+lean_object* l_Lean_Parser_tryFn(lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_do_formatter(lean_object*);
lean_object* l_Lean_Parser_Term_elseIf___closed__4;
+lean_object* l_Lean_Parser_Term_doLetRec___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_doTry_parenthesizer___closed__4;
-uint8_t lean_nat_dec_le(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doSeqBracketed_formatter___closed__10;
+lean_object* l_Lean_Parser_Term_doIf___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_doNested___closed__5;
-extern lean_object* l_Lean_Parser_Term_letrec___elambda__1___closed__8;
lean_object* l_Lean_Parser_Term_doMatchAlts_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_categoryParser(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_doTry___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_doMatchAlts___closed__7;
lean_object* l_Lean_Parser_Term_do_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doBreak___closed__6;
extern lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed_formatter___closed__10;
+lean_object* l_Lean_Parser_Term_doPatDecl___elambda__1___closed__15;
lean_object* l_Lean_Parser_Term_doSeqIndent_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_doSeqIndent_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doCatch___closed__5;
@@ -889,6 +965,7 @@ lean_object* l_Lean_Parser_Term_doHave___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_doMatch___closed__9;
lean_object* l_Lean_Parser_Term_doReturn___closed__7;
lean_object* l_Lean_Parser_Term_doFor_parenthesizer___closed__1;
+lean_object* l_Lean_Parser_Term_doExpr___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_doSeq___closed__3;
lean_object* l_Lean_Parser_Term_doReturn_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doLet___elambda__1___closed__4;
@@ -899,6 +976,9 @@ lean_object* l_Lean_Parser_Term_doElem_quot_formatter___closed__4;
lean_object* l_Lean_Parser_Term_doMatchAlt_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doTry_parenthesizer___closed__11;
lean_object* l_Lean_Parser_Term_doSeqBracketed_parenthesizer___closed__4;
+extern lean_object* l_Lean_Parser_darrow___closed__2;
+extern lean_object* l_Lean_Parser_Term_fun___elambda__1___closed__13;
+lean_object* l_Lean_Parser_Term_doReassign___elambda__1___closed__8;
lean_object* l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__12;
lean_object* l_Lean_Parser_Term_doReassignArrow_formatter___closed__1;
lean_object* l_Lean_Parser_Term_doReassignArrow___closed__4;
@@ -913,31 +993,28 @@ lean_object* l_Lean_Parser_Term_doContinue_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Term_doFor___closed__3;
lean_object* l_Lean_Parser_Term_doBreak_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Term_doIf_formatter___closed__4;
-extern lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__6;
+lean_object* l_Lean_Parser_sepBy1Fn(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_orelseFnCore(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*);
extern lean_object* l_Lean_Parser_epsilonInfo;
lean_object* l_Lean_Parser_Term_doCatch_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Term_doIf_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_doNested___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_leftArrow___elambda__1___closed__7;
lean_object* l_Lean_Parser_Term_doUnless___elambda__1___closed__9;
-lean_object* l_Lean_Parser_Term_elseIf___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_doPatDecl_parenthesizer___closed__8;
lean_object* l_Lean_Parser_Term_doTry_parenthesizer___closed__1;
-extern lean_object* l_Lean_Parser_Term_if___elambda__1___closed__8;
lean_object* l_Lean_Parser_Term_doFor___elambda__1___closed__11;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_withForbidden_parenthesizer___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_doMatch_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Term_doReassign___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_doIf_parenthesizer___closed__3;
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_doMatchAlts___elambda__1___spec__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doCatch_formatter___closed__6;
lean_object* l_Lean_Parser_Term_doTry___closed__2;
lean_object* l_Lean_Parser_Term_doTry_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Term_doLet___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doUnless___closed__10;
lean_object* l_Lean_Parser_categoryParser___elambda__1(lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__26;
lean_object* l_Lean_Parser_Term_doReassignArrow_parenthesizer___closed__1;
-lean_object* l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4;
lean_object* l_Lean_Parser_Term_doMatch___closed__6;
lean_object* l_Lean_Parser_Term_doBreak_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_doIf_parenthesizer___closed__15;
@@ -955,6 +1032,7 @@ lean_object* l_Lean_Parser_Term_doIf_formatter___closed__8;
lean_object* l_Lean_Parser_Term_doContinue_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doFor_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doDbgTrace___closed__5;
+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_doElem_quot___closed__4;
lean_object* l_Lean_Parser_Term_doHave___elambda__1___closed__2;
@@ -962,22 +1040,25 @@ 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*);
lean_object* l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__3;
-extern lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_many1Indent___spec__1___closed__1;
lean_object* l_Lean_Parser_Term_doReassignArrow___closed__2;
lean_object* l_Lean_Parser_Term_doMatchAlts_parenthesizer___closed__6;
lean_object* l_Lean_Parser_Term_doTry___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_doIf_formatter___closed__3;
lean_object* l_Lean_Parser_Term_doSeqBracketed_parenthesizer___closed__3;
+extern lean_object* l_Lean_Parser_Term_matchAlts___closed__2;
lean_object* l_Lean_Parser_Term_doTry___closed__10;
+lean_object* l_Lean_Parser_Term_doMatch___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_doContinue___elambda__1___closed__5;
-extern lean_object* l_Lean_Parser_Term_assert___elambda__1___closed__9;
lean_object* l_Lean_Parser_Term_notFollowedByRedefinedTermToken;
lean_object* l_Lean_Parser_Term_doUnless___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_doBreak_formatter___closed__1;
lean_object* l_Lean_Parser_Term_doIf_parenthesizer___closed__11;
+lean_object* l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__5;
+lean_object* l_Lean_Parser_Term_doIf___elambda__1___closed__16;
lean_object* l_Lean_Parser_Term_doReassign_parenthesizer___closed__4;
lean_object* l_Lean_Parser_Term_doLet___elambda__1___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Term_doContinue_formatter(lean_object*);
+lean_object* l_Lean_Parser_Term_doNested___elambda__1___closed__5;
extern lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Term_doFor___elambda__1(lean_object*, lean_object*);
extern lean_object* l_Lean_KeyedDeclsAttribute_init___rarg___lambda__3___closed__2;
@@ -985,6 +1066,7 @@ lean_object* l_Lean_Parser_Term_doTry___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doExpr___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_elseIf___closed__3;
lean_object* l_Lean_Parser_Term_doSeqBracketed_formatter___closed__5;
+lean_object* l_Lean_Parser_Term_doTry___elambda__1___closed__14;
lean_object* l_Lean_Parser_Term_doCatch_parenthesizer___closed__2;
lean_object* l___regBuiltin_Lean_Parser_Term_doAssert_formatter___closed__1;
lean_object* l_Lean_Parser_Term_doHave___closed__3;
@@ -1001,18 +1083,19 @@ lean_object* l_Lean_Parser_Term_doMatchAlt_parenthesizer___closed__1;
extern lean_object* l_Lean_Parser_Term_if_formatter___closed__4;
lean_object* l_String_trim(lean_object*);
lean_object* l_Lean_Parser_Term_doSeq_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__7;
lean_object* l_Lean_Parser_Term_doPatDecl_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doExpr___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_doReassign_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_darrow___elambda__1(lean_object*, lean_object*);
+extern lean_object* l_Lean_Parser_Level_paren___elambda__1___closed__8;
+lean_object* l_Lean_Parser_Term_doIf___elambda__1___closed__14;
lean_object* l___regBuiltinParser_Lean_Parser_Term_doLetRec(lean_object*);
lean_object* l_Lean_Parser_Term_doPatDecl___elambda__1___closed__4;
-extern lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12;
lean_object* l_Lean_Parser_Term_doFor_parenthesizer___closed__4;
lean_object* l_Lean_Parser_Term_doIf___closed__16;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_optional_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Parser_Term_assert_formatter___closed__3;
-lean_object* l_Lean_Parser_regBuiltinDoElemParserAttr___closed__1;
+lean_object* l_Lean_Parser_nodeFn(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doLet___closed__1;
lean_object* l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doElem_quot_parenthesizer___closed__1;
@@ -1024,18 +1107,20 @@ lean_object* l_Lean_Parser_Term_doUnless_formatter(lean_object*, lean_object*, l
lean_object* l_Lean_Parser_Term_doBreak_formatter___closed__2;
lean_object* l_Lean_Parser_Term_doMatchAlt_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Term_doLetRec_formatter___closed__2;
+lean_object* l_Lean_Parser_optionalFn(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doMatch_formatter___closed__7;
lean_object* l_Lean_Parser_Term_doExpr___elambda__1___closed__1;
extern lean_object* l_Lean_Parser_Term_typeAscription___closed__2;
lean_object* l_Lean_Parser_Term_doHave___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_doHave___closed__5;
-extern lean_object* l_Lean_Parser_Term_matchAlts___closed__1;
lean_object* l_Lean_Parser_Term_liftMethod_formatter___closed__4;
lean_object* l_Lean_Parser_Term_doFor_formatter___closed__4;
extern lean_object* l_Lean_Parser_Term_if_formatter___closed__9;
+lean_object* l_Lean_Parser_Term_liftMethod___elambda__1___closed__7;
lean_object* l_Lean_Parser_Term_doIf___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_doContinue___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_doLet___closed__4;
+lean_object* l_Lean_Parser_Term_doLet___elambda__1___closed__5;
lean_object* l___regBuiltin_Lean_Parser_Term_doUnless_formatter(lean_object*);
lean_object* l_Lean_Parser_Term_doMatchAlt_formatter___closed__1;
lean_object* l_Lean_Parser_Term_doUnless;
@@ -1046,6 +1131,7 @@ lean_object* l_Lean_Parser_Term_doTry_parenthesizer___closed__6;
lean_object* l___regBuiltinParser_Lean_Parser_Term_doAssert(lean_object*);
lean_object* l_Lean_Parser_Term_leftArrow___closed__2;
lean_object* l_Lean_Parser_Term_doMatchAlt___closed__2;
+lean_object* l_Lean_Parser_Term_elseIf___elambda__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doTry___closed__12;
lean_object* l_Lean_Parser_Term_doIf_formatter___closed__7;
lean_object* l_Lean_Parser_Term_doUnless___closed__5;
@@ -1054,24 +1140,22 @@ lean_object* l_Lean_Parser_Term_doFinally_parenthesizer(lean_object*, lean_objec
lean_object* l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__18;
lean_object* l_Lean_Parser_Term_doCatchMatch_formatter___closed__3;
lean_object* l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__3;
-extern lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__5;
lean_object* l_Lean_Parser_Term_doLet___closed__2;
lean_object* l_Lean_Parser_Term_doLetArrow___elambda__1___closed__3;
-extern lean_object* l_Lean_Parser_Term_match___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_doCatch_formatter___closed__3;
lean_object* l_Lean_Parser_Term_doReturn_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doTry_parenthesizer___closed__7;
-lean_object* l_Lean_Parser_regBuiltinDoElemParserAttr___closed__2;
lean_object* l___regBuiltinParser_Lean_Parser_Term_doReassignArrow(lean_object*);
lean_object* l_Lean_Parser_Term_doSeqBracketed_parenthesizer___closed__5;
-lean_object* l_Lean_Parser_Term_letPatDecl___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doIdDecl_formatter___closed__6;
extern lean_object* l_Lean_Parser_Term_have_formatter___closed__4;
-lean_object* l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__30;
lean_object* l_Lean_Parser_Term_doMatchAlt_formatter___closed__3;
+lean_object* l_Lean_Parser_Term_elseIf___elambda__1___lambda__1___closed__1;
extern lean_object* l_Lean_Parser_Term_if_formatter___closed__2;
lean_object* l_Lean_Parser_Term_doNested___elambda__1___closed__1;
+lean_object* l_Lean_Parser_Term_doUnless___elambda__1___lambda__1(lean_object*, lean_object*, lean_object*);
+extern lean_object* l_Lean_Parser_Term_letIdDecl___closed__4;
lean_object* l_Lean_Parser_Term_leftArrow___closed__1;
lean_object* l_Lean_Parser_Term_doLet___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_doSeqIndent___closed__10;
@@ -1084,6 +1168,7 @@ lean_object* l___regBuiltin_Lean_Parser_Term_doReassignArrow_parenthesizer___clo
lean_object* l_Lean_PrettyPrinter_Parenthesizer_withPosition_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_doNested_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Term_notFollowedByRedefinedTermToken_parenthesizer___rarg(lean_object*);
+lean_object* l_Lean_Parser_Term_doLetArrow___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_doIf_formatter___closed__15;
lean_object* l_Lean_Parser_Term_doElem_quot_formatter___closed__2;
lean_object* l_Lean_Parser_Term_do_formatter___closed__2;
@@ -1094,11 +1179,15 @@ lean_object* l_Lean_Parser_doElemParser_formatter___boxed(lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_doUnless_formatter___closed__1;
lean_object* l_Lean_Parser_Term_doLetRec_formatter___closed__1;
extern lean_object* l_Lean_Parser_Term_matchAlt_formatter___closed__1;
+extern lean_object* l_Lean_Parser_Term_matchAlts___closed__5;
+lean_object* l_Lean_Parser_Term_doIdDecl___elambda__1___closed__10;
lean_object* l___regBuiltinParser_Lean_Parser_Term_doMatch(lean_object*);
+lean_object* l_Lean_Parser_manyFn(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doTry_formatter___closed__12;
lean_object* l_Lean_Parser_Term_doSeqIndent_formatter___closed__3;
extern lean_object* l_Lean_Parser_antiquotNestedExpr_formatter___closed__4;
lean_object* l_Lean_Parser_Term_doContinue_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_doCatch___elambda__1___closed__13;
lean_object* l_Lean_Parser_Term_doSeqBracketed_parenthesizer___closed__7;
lean_object* l_Lean_Parser_Term_optIdent___elambda__1(lean_object*, lean_object*);
extern lean_object* l_Lean_Parser_Term_structInst_formatter___closed__10;
@@ -1118,8 +1207,11 @@ lean_object* l_Lean_Parser_Term_doPatDecl___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_liftMethod_formatter___closed__3;
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;
lean_object* l_Lean_Parser_Term_doFinally___closed__1;
+lean_object* l_Lean_Parser_Term_doIf___elambda__1___closed__13;
lean_object* l_Lean_Parser_Term_doHave;
+extern lean_object* l_Lean_Parser_Term_if___elambda__1___closed__12;
lean_object* l_Lean_Parser_Term_doMatchAlt___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_doIdDecl___closed__6;
lean_object* l___regBuiltin_Lean_Parser_Term_doLetArrow_formatter(lean_object*);
@@ -1128,7 +1220,10 @@ lean_object* l_Lean_Parser_Term_elseIf_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Term_doFinally_formatter___closed__2;
lean_object* l_Lean_Parser_Term_doCatchMatch_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Term_doFinally___elambda__1___closed__4;
+lean_object* l_Lean_Parser_Term_do___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_doReturn___elambda__1___closed__3;
+lean_object* l_Lean_Parser_Term_doReassign___elambda__1___closed__6;
+lean_object* l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__9;
lean_object* l_Lean_Parser_Term_doLetRec___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_doCatchMatch___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doCatch___elambda__1(lean_object*, lean_object*);
@@ -1137,18 +1232,21 @@ lean_object* l_Lean_PrettyPrinter_Formatter_sepBy1_formatter(lean_object*, lean_
lean_object* l_Lean_Parser_Term_do_formatter___closed__1;
lean_object* l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__1;
lean_object* l_Lean_Parser_unicodeSymbolInfo(lean_object*, lean_object*);
+extern lean_object* l_Lean_Parser_Term_tupleTail___elambda__1___closed__7;
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_Parser_Term_doIdDecl___closed__2;
+lean_object* l_Lean_Parser_Term_doMatchAlt___elambda__1___closed__8;
lean_object* l_Lean_Parser_Term_doSeqBracketed_formatter___closed__6;
lean_object* l_Lean_Parser_Term_doPatDecl___closed__1;
+lean_object* l_Lean_Parser_Term_doHave___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_doIf_formatter___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Term_doTry_parenthesizer___closed__1;
+lean_object* l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__9;
lean_object* l_Lean_Parser_Term_doPatDecl___closed__4;
lean_object* l_Lean_Parser_Term_doMatchAlts_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Term_doLetArrow_formatter___closed__1;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_many1_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doContinue___elambda__1(lean_object*, lean_object*);
-extern lean_object* l_Lean_Parser_Term_matchAlts___closed__7;
lean_object* l_Lean_Parser_Term_doIf_parenthesizer___closed__6;
lean_object* l_Lean_Parser_Term_notFollowedByRedefinedTermToken___closed__2;
lean_object* l_Lean_Parser_Term_doBreak___closed__5;
@@ -1157,20 +1255,21 @@ lean_object* l_Lean_Parser_Term_leftArrow_formatter___boxed(lean_object*, lean_o
lean_object* l_Lean_Parser_Term_doPatDecl___closed__6;
lean_object* l_Lean_Parser_Term_doPatDecl___elambda__1___closed__8;
lean_object* l___regBuiltin_Lean_Parser_Term_doIf_parenthesizer___closed__1;
-lean_object* l_Lean_Parser_ParserState_mkUnexpectedError(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_doElem_quot___elambda__1___closed__12;
lean_object* l_Lean_Parser_Term_doCatchMatch_parenthesizer___closed__1;
extern lean_object* l_Lean_Parser_Term_dbgTrace___closed__3;
lean_object* l_Lean_Parser_Term_doFinally___elambda__1___closed__8;
+lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__3;
lean_object* l_Lean_Parser_Term_doSeqBracketed___closed__7;
+lean_object* l_Lean_Parser_symbolFnAux(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doSeqBracketed_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_doCatch___elambda__1___closed__11;
lean_object* l_Lean_Parser_Term_doLetRec___closed__1;
lean_object* l_Lean_Parser_Term_liftMethod_parenthesizer___closed__2;
-lean_object* l_Lean_Parser_Term_binderIdent___elambda__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_doIf___elambda__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doIf_parenthesizer___closed__20;
lean_object* l_Lean_Parser_Term_doDbgTrace___closed__3;
lean_object* l_Lean_Parser_Term_doExpr_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-extern lean_object* l_Lean_Parser_Term_structInst___elambda__1___closed__4;
-lean_object* l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_doContinue_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_do___closed__5;
@@ -1178,6 +1277,7 @@ lean_object* l_Lean_Parser_Term_doCatchMatch___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_doIf_parenthesizer___closed__10;
lean_object* l_Lean_Parser_Term_doExpr___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_doLetArrow_formatter___closed__2;
+lean_object* l_Lean_Parser_Term_doIf___elambda__1___closed__7;
lean_object* l_Lean_Parser_Term_doUnless_formatter___closed__4;
lean_object* l_Lean_Parser_Term_doReassignArrow___closed__6;
lean_object* l_Lean_Parser_Term_doReassign_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -1196,16 +1296,16 @@ lean_object* l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___c
lean_object* l___regBuiltinParser_Lean_Parser_Term_doReassign(lean_object*);
lean_object* l_Lean_Parser_Term_doSeqIndent___closed__11;
lean_object* l_Lean_Parser_Term_doHave_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_doLetRec___elambda__1___closed__9;
lean_object* l_Lean_Parser_Term_do___elambda__1(lean_object*, lean_object*);
+extern lean_object* l_Lean_Parser_many1Indent___closed__1;
lean_object* l_Lean_Parser_Term_doIdDecl_formatter___closed__5;
lean_object* l_Lean_Parser_Term_doElem_quot___elambda__1___closed__8;
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doTry___elambda__1___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doBreak___closed__3;
lean_object* l_Lean_Parser_Term_doLetArrow_formatter___closed__4;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_many_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doIf___elambda__1___closed__2;
lean_object* l___regBuiltin_Lean_Parser_Term_liftMethod_parenthesizer___closed__1;
-lean_object* l_Lean_Parser_Term_haveDecl___elambda__1(lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_doContinue_parenthesizer___closed__1;
extern lean_object* l_Lean_Parser_Parser_inhabited___closed__1;
lean_object* l_Lean_Parser_Term_doCatchMatch_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -1215,6 +1315,7 @@ lean_object* l_Lean_Parser_Term_liftMethod_formatter___closed__2;
lean_object* l_Lean_Parser_Term_doSeqBracketed;
lean_object* l_Lean_Parser_Term_doLet;
lean_object* l_Lean_Parser_Term_doPatDecl___closed__2;
+extern lean_object* l_Lean_Parser_Level_paren___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_doMatchAlt;
lean_object* l_Lean_Parser_Term_doExpr;
lean_object* l_Lean_Parser_Term_doUnless_parenthesizer___closed__2;
@@ -1230,10 +1331,11 @@ lean_object* l_Lean_Parser_Term_doMatchAlt___closed__6;
lean_object* l_Lean_Parser_Term_doIdDecl___closed__1;
lean_object* l_Lean_Parser_Term_doElem_quot___closed__2;
lean_object* l_Lean_Parser_Term_leftArrow___elambda__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_doMatch___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_doElem_quot___elambda__1___closed__1;
+lean_object* l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_doCatch___elambda__1___closed__1;
-lean_object* l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__27;
lean_object* l_Lean_Parser_unicodeSymbolFnAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_elseIf_formatter___closed__4;
lean_object* l_Lean_Parser_Term_doTry___closed__3;
@@ -1242,6 +1344,7 @@ lean_object* l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_doReturn_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_doFinally___closed__7;
lean_object* l_Lean_Parser_Term_doFinally_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_doCatchMatch___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_doReturn___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doPatDecl;
lean_object* l_Lean_Parser_Term_doFinally_formatter___closed__4;
@@ -1256,7 +1359,6 @@ lean_object* l_Lean_Parser_Term_doLetRec___elambda__1___closed__2;
lean_object* l_Lean_PrettyPrinter_Formatter_andthen_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doIf_formatter___closed__18;
lean_object* l_Lean_Parser_Term_doIf___elambda__1___closed__1;
-lean_object* l_Lean_Parser_Term_elseIf___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_doCatch___elambda__1___closed__8;
lean_object* l_Lean_Parser_Term_doLetRec___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_doExpr___closed__5;
@@ -1268,27 +1370,24 @@ lean_object* l_Lean_Parser_Term_doMatch_formatter___closed__5;
lean_object* l_Lean_Parser_Term_doHave___elambda__1(lean_object*, lean_object*);
extern lean_object* l___regBuiltin_Lean_Parser_Term_ident_formatter___closed__1;
lean_object* l_Lean_Parser_Term_doElem_quot___closed__1;
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__3;
lean_object* l_Lean_Parser_mkAntiquot_parenthesizer___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doTry___closed__5;
lean_object* l_Lean_Parser_Term_doReassign_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_doIf___closed__11;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_try_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doPatDecl___closed__8;
-lean_object* l_Lean_Parser_regDoElemParserAttribute(lean_object*);
lean_object* l_Lean_Parser_Term_do_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__17;
lean_object* l_Lean_Parser_Term_doMatchAlt___closed__4;
lean_object* l_Lean_Parser_Term_doNested___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_doCatch_formatter___closed__7;
+lean_object* l_Lean_Parser_Term_doLet___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_doLet_formatter___closed__2;
lean_object* l___regBuiltin_Lean_Parser_Term_doDbgTrace_parenthesizer(lean_object*);
extern lean_object* l_Lean_Parser_Term_ident;
-uint8_t lean_string_dec_eq(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doIf_formatter___closed__5;
lean_object* l_Lean_Parser_Term_doMatchAlts___closed__3;
lean_object* l_Lean_Parser_Term_liftMethod_formatter___closed__1;
-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_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__8;
lean_object* l_Lean_Parser_Term_doUnless_parenthesizer___closed__1;
@@ -1297,8 +1396,10 @@ lean_object* l_Lean_Parser_Term_doLet_formatter___closed__1;
lean_object* l___regBuiltinParser_Lean_Parser_Term_doExpr(lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_doReturn_parenthesizer(lean_object*);
lean_object* l_Lean_PrettyPrinter_Formatter_categoryParser_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_andthenFn(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_doElem_quot_parenthesizer___closed__5;
-static lean_object* _init_l_Lean_Parser_regBuiltinDoElemParserAttr___closed__1() {
+lean_object* l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__8;
+static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__1() {
_start:
{
lean_object* x_1;
@@ -1306,17 +1407,17 @@ x_1 = lean_mk_string("builtinDoElemParser");
return x_1;
}
}
-static lean_object* _init_l_Lean_Parser_regBuiltinDoElemParserAttr___closed__2() {
+static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__2() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = lean_box(0);
-x_2 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__1;
+x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_regBuiltinDoElemParserAttr___closed__3() {
+static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__3() {
_start:
{
lean_object* x_1;
@@ -1324,28 +1425,28 @@ x_1 = lean_mk_string("doElem");
return x_1;
}
}
-static lean_object* _init_l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4() {
+static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__4() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = lean_box(0);
-x_2 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__3;
+x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__3;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
}
}
-lean_object* l_Lean_Parser_regBuiltinDoElemParserAttr(lean_object* x_1) {
+lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4_(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5;
-x_2 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__2;
-x_3 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4;
+x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__2;
+x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__4;
x_4 = 0;
x_5 = l_Lean_Parser_registerBuiltinParserAttribute(x_2, x_3, x_4, x_1);
return x_5;
}
}
-static lean_object* _init_l_Lean_Parser_regDoElemParserAttribute___closed__1() {
+static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_14____closed__1() {
_start:
{
lean_object* x_1;
@@ -1353,22 +1454,22 @@ x_1 = lean_mk_string("doElemParser");
return x_1;
}
}
-static lean_object* _init_l_Lean_Parser_regDoElemParserAttribute___closed__2() {
+static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_14____closed__2() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = lean_box(0);
-x_2 = l_Lean_Parser_regDoElemParserAttribute___closed__1;
+x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_14____closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
}
}
-lean_object* l_Lean_Parser_regDoElemParserAttribute(lean_object* x_1) {
+lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_14_(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3; lean_object* x_4;
-x_2 = l_Lean_Parser_regDoElemParserAttribute___closed__2;
-x_3 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4;
+x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_14____closed__2;
+x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__4;
x_4 = l_Lean_Parser_registerBuiltinDynamicParserAttribute(x_2, x_3, x_1);
return x_4;
}
@@ -1377,7 +1478,7 @@ lean_object* l_Lean_Parser_doElemParser(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3;
-x_2 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4;
+x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__4;
x_3 = l_Lean_Parser_categoryParser(x_2, x_1);
return x_3;
}
@@ -1556,160 +1657,65 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Term_liftMethod___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_leftArrow___closed__2;
+x_2 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_liftMethod___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = lean_unsigned_to_nat(0u);
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_checkPrecFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_liftMethod___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_liftMethod___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_liftMethod___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_liftMethod___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_liftMethod___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Term_liftMethod___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Term_liftMethod___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Term_liftMethod___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(0u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-lean_inc(x_1);
-x_11 = l_Lean_Parser_Term_leftArrow___elambda__1(x_1, x_7);
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
-x_13 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_14 = l_Lean_Parser_categoryParser___elambda__1(x_13, x_6, x_1, x_11);
-x_15 = l_Lean_Parser_Term_liftMethod___elambda__1___closed__2;
-x_16 = l_Lean_Parser_ParserState_mkNode(x_14, x_15, x_10);
-return x_16;
-}
-else
-{
-lean_object* x_17; lean_object* x_18;
-lean_dec(x_12);
-lean_dec(x_1);
-x_17 = l_Lean_Parser_Term_liftMethod___elambda__1___closed__2;
-x_18 = l_Lean_Parser_ParserState_mkNode(x_11, x_17, x_10);
-return x_18;
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Term_liftMethod___elambda__1___closed__8;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23;
-x_19 = lean_ctor_get(x_2, 0);
-lean_inc(x_19);
-x_20 = lean_array_get_size(x_19);
-lean_dec(x_19);
-x_21 = lean_ctor_get(x_2, 1);
-lean_inc(x_21);
-lean_inc(x_1);
-x_22 = lean_apply_2(x_4, x_1, x_2);
-x_23 = lean_ctor_get(x_22, 3);
-lean_inc(x_23);
-if (lean_obj_tag(x_23) == 0)
-{
-lean_dec(x_21);
-lean_dec(x_20);
-lean_dec(x_1);
-return x_22;
-}
-else
-{
-lean_object* x_24; lean_object* x_25; uint8_t x_26;
-x_24 = lean_ctor_get(x_23, 0);
-lean_inc(x_24);
-lean_dec(x_23);
-x_25 = lean_ctor_get(x_22, 1);
-lean_inc(x_25);
-x_26 = lean_nat_dec_eq(x_25, x_21);
-lean_dec(x_25);
-if (x_26 == 0)
-{
-lean_dec(x_24);
-lean_dec(x_21);
-lean_dec(x_20);
-lean_dec(x_1);
-return x_22;
-}
-else
-{
-lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30;
-lean_inc(x_21);
-x_27 = l_Lean_Parser_ParserState_restore(x_22, x_20, x_21);
-lean_dec(x_20);
-x_28 = lean_unsigned_to_nat(0u);
-x_29 = l_Lean_Parser_checkPrecFn(x_28, x_1, x_27);
-x_30 = lean_ctor_get(x_29, 3);
-lean_inc(x_30);
-if (lean_obj_tag(x_30) == 0)
-{
-lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34;
-x_31 = lean_ctor_get(x_29, 0);
-lean_inc(x_31);
-x_32 = lean_array_get_size(x_31);
-lean_dec(x_31);
-lean_inc(x_1);
-x_33 = l_Lean_Parser_Term_leftArrow___elambda__1(x_1, x_29);
-x_34 = lean_ctor_get(x_33, 3);
-lean_inc(x_34);
-if (lean_obj_tag(x_34) == 0)
-{
-lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; uint8_t x_39; lean_object* x_40;
-x_35 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_36 = l_Lean_Parser_categoryParser___elambda__1(x_35, x_28, x_1, x_33);
-x_37 = l_Lean_Parser_Term_liftMethod___elambda__1___closed__2;
-x_38 = l_Lean_Parser_ParserState_mkNode(x_36, x_37, x_32);
-x_39 = 1;
-x_40 = l_Lean_Parser_mergeOrElseErrors(x_38, x_24, x_21, x_39);
-lean_dec(x_21);
-return x_40;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; uint8_t x_43; lean_object* x_44;
-lean_dec(x_34);
-lean_dec(x_1);
-x_41 = l_Lean_Parser_Term_liftMethod___elambda__1___closed__2;
-x_42 = l_Lean_Parser_ParserState_mkNode(x_33, x_41, x_32);
-x_43 = 1;
-x_44 = l_Lean_Parser_mergeOrElseErrors(x_42, x_24, x_21, x_43);
-lean_dec(x_21);
-return x_44;
-}
-}
-else
-{
-uint8_t x_45; lean_object* x_46;
-lean_dec(x_30);
-lean_dec(x_1);
-x_45 = 1;
-x_46 = l_Lean_Parser_mergeOrElseErrors(x_29, x_24, x_21, x_45);
-lean_dec(x_21);
-return x_46;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Term_liftMethod___closed__1() {
_start:
{
@@ -2009,301 +2015,6 @@ x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1);
return x_5;
}
}
-static lean_object* _init_l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__1() {
-_start:
-{
-lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Error_toString___closed__2;
-x_2 = l_String_trim(x_1);
-return x_2;
-}
-}
-static lean_object* _init_l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__2() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__1;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
-}
-}
-static lean_object* _init_l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__3() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__2;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
-}
-}
-static lean_object* _init_l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__4() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__3;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
-}
-}
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_17; lean_object* x_59;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-x_59 = lean_ctor_get(x_1, 4);
-lean_inc(x_59);
-if (lean_obj_tag(x_59) == 0)
-{
-x_17 = x_2;
-goto block_58;
-}
-else
-{
-lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; uint8_t x_66;
-x_60 = lean_ctor_get(x_59, 0);
-lean_inc(x_60);
-lean_dec(x_59);
-x_61 = lean_ctor_get(x_1, 0);
-lean_inc(x_61);
-x_62 = lean_ctor_get(x_61, 2);
-lean_inc(x_62);
-lean_dec(x_61);
-lean_inc(x_5);
-x_63 = l_Lean_FileMap_toPosition(x_62, x_5);
-lean_dec(x_62);
-x_64 = lean_ctor_get(x_60, 1);
-lean_inc(x_64);
-lean_dec(x_60);
-x_65 = lean_ctor_get(x_63, 1);
-lean_inc(x_65);
-lean_dec(x_63);
-x_66 = lean_nat_dec_le(x_64, x_65);
-lean_dec(x_65);
-lean_dec(x_64);
-if (x_66 == 0)
-{
-lean_object* x_67; lean_object* x_68;
-x_67 = l_Lean_Parser_manyAux___main___at_Lean_Parser_many1Indent___spec__1___closed__1;
-x_68 = l_Lean_Parser_ParserState_mkError(x_2, x_67);
-x_17 = x_68;
-goto block_58;
-}
-else
-{
-x_17 = x_2;
-goto block_58;
-}
-}
-block_16:
-{
-lean_object* x_7;
-x_7 = lean_ctor_get(x_6, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
-{
-lean_object* x_8; uint8_t x_9;
-lean_dec(x_4);
-x_8 = lean_ctor_get(x_6, 1);
-lean_inc(x_8);
-x_9 = lean_nat_dec_eq(x_5, x_8);
-lean_dec(x_8);
-lean_dec(x_5);
-if (x_9 == 0)
-{
-x_2 = x_6;
-goto _start;
-}
-else
-{
-lean_object* x_11; lean_object* x_12;
-lean_dec(x_1);
-x_11 = l_Lean_Parser_manyAux___main___closed__1;
-x_12 = l_Lean_Parser_ParserState_mkUnexpectedError(x_6, x_11);
-return x_12;
-}
-}
-else
-{
-lean_object* x_13; uint8_t x_14;
-lean_dec(x_7);
-lean_dec(x_1);
-x_13 = lean_ctor_get(x_6, 1);
-lean_inc(x_13);
-x_14 = lean_nat_dec_eq(x_5, x_13);
-lean_dec(x_13);
-if (x_14 == 0)
-{
-lean_dec(x_5);
-lean_dec(x_4);
-return x_6;
-}
-else
-{
-lean_object* x_15;
-x_15 = l_Lean_Parser_ParserState_restore(x_6, x_4, x_5);
-lean_dec(x_4);
-return x_15;
-}
-}
-}
-block_58:
-{
-lean_object* x_18;
-x_18 = lean_ctor_get(x_17, 3);
-lean_inc(x_18);
-if (lean_obj_tag(x_18) == 0)
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
-x_19 = lean_ctor_get(x_17, 0);
-lean_inc(x_19);
-x_20 = lean_array_get_size(x_19);
-lean_dec(x_19);
-x_21 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4;
-x_22 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_23 = l_Lean_Parser_categoryParser___elambda__1(x_21, x_22, x_1, x_17);
-x_24 = lean_ctor_get(x_23, 3);
-lean_inc(x_24);
-if (lean_obj_tag(x_24) == 0)
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_43; lean_object* x_44;
-x_25 = lean_ctor_get(x_23, 0);
-lean_inc(x_25);
-x_26 = lean_array_get_size(x_25);
-lean_dec(x_25);
-x_27 = lean_ctor_get(x_23, 1);
-lean_inc(x_27);
-lean_inc(x_1);
-x_43 = l_Lean_Parser_tokenFn(x_1, x_23);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-lean_object* x_45; lean_object* x_46;
-x_45 = lean_ctor_get(x_43, 0);
-lean_inc(x_45);
-x_46 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_45);
-lean_dec(x_45);
-if (lean_obj_tag(x_46) == 2)
-{
-lean_object* x_47; lean_object* x_48; uint8_t x_49;
-x_47 = lean_ctor_get(x_46, 1);
-lean_inc(x_47);
-lean_dec(x_46);
-x_48 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__1;
-x_49 = lean_string_dec_eq(x_47, x_48);
-lean_dec(x_47);
-if (x_49 == 0)
-{
-lean_object* x_50; lean_object* x_51;
-x_50 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__4;
-lean_inc(x_27);
-x_51 = l_Lean_Parser_ParserState_mkErrorsAt(x_43, x_50, x_27);
-x_28 = x_51;
-goto block_42;
-}
-else
-{
-x_28 = x_43;
-goto block_42;
-}
-}
-else
-{
-lean_object* x_52; lean_object* x_53;
-lean_dec(x_46);
-x_52 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__4;
-lean_inc(x_27);
-x_53 = l_Lean_Parser_ParserState_mkErrorsAt(x_43, x_52, x_27);
-x_28 = x_53;
-goto block_42;
-}
-}
-else
-{
-lean_object* x_54; lean_object* x_55;
-lean_dec(x_44);
-x_54 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__4;
-lean_inc(x_27);
-x_55 = l_Lean_Parser_ParserState_mkErrorsAt(x_43, x_54, x_27);
-x_28 = x_55;
-goto block_42;
-}
-block_42:
-{
-lean_object* x_29;
-x_29 = lean_ctor_get(x_28, 3);
-lean_inc(x_29);
-if (lean_obj_tag(x_29) == 0)
-{
-lean_object* x_30; lean_object* x_31; lean_object* x_32;
-lean_dec(x_27);
-x_30 = l_Lean_nullKind;
-x_31 = l_Lean_Parser_ParserState_mkNode(x_28, x_30, x_26);
-x_32 = l_Lean_Parser_ParserState_mkNode(x_31, x_30, x_20);
-x_6 = x_32;
-goto block_16;
-}
-else
-{
-lean_object* x_33; uint8_t x_34;
-lean_dec(x_29);
-x_33 = lean_ctor_get(x_28, 1);
-lean_inc(x_33);
-x_34 = lean_nat_dec_eq(x_33, x_27);
-lean_dec(x_33);
-if (x_34 == 0)
-{
-lean_object* x_35; lean_object* x_36; lean_object* x_37;
-lean_dec(x_27);
-x_35 = l_Lean_nullKind;
-x_36 = l_Lean_Parser_ParserState_mkNode(x_28, x_35, x_26);
-x_37 = l_Lean_Parser_ParserState_mkNode(x_36, x_35, x_20);
-x_6 = x_37;
-goto block_16;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41;
-x_38 = l_Lean_Parser_ParserState_restore(x_28, x_26, x_27);
-x_39 = l_Lean_nullKind;
-x_40 = l_Lean_Parser_ParserState_mkNode(x_38, x_39, x_26);
-x_41 = l_Lean_Parser_ParserState_mkNode(x_40, x_39, x_20);
-x_6 = x_41;
-goto block_16;
-}
-}
-}
-}
-else
-{
-lean_object* x_56; lean_object* x_57;
-lean_dec(x_24);
-x_56 = l_Lean_nullKind;
-x_57 = l_Lean_Parser_ParserState_mkNode(x_23, x_56, x_20);
-x_6 = x_57;
-goto block_16;
-}
-}
-else
-{
-lean_dec(x_18);
-x_6 = x_17;
-goto block_16;
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__1() {
_start:
{
@@ -2343,1199 +2054,139 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Error_toString___closed__2;
+x_2 = l_String_trim(x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optionalFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__4;
+x_2 = lean_unsigned_to_nat(0u);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_categoryParser___elambda__1), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_nullKind;
+x_2 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_many1Indent___closed__1;
+x_2 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
+x_1 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__11;
+x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__4;
+x_3 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__6;
+x_4 = lean_alloc_closure((void*)(l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___lambda__1), 5, 3);
+lean_closure_set(x_4, 0, x_1);
+lean_closure_set(x_4, 1, x_2);
+lean_closure_set(x_4, 2, x_3);
+return x_4;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__12;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__14() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__13;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Term_doSeqIndent___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; uint8_t x_11;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_11 = !lean_is_exclusive(x_1);
-if (x_11 == 0)
-{
-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_30; uint8_t x_31;
-x_12 = lean_ctor_get(x_1, 0);
-x_13 = lean_ctor_get(x_1, 4);
-lean_dec(x_13);
-x_14 = lean_ctor_get(x_12, 2);
-lean_inc(x_14);
-x_15 = lean_ctor_get(x_7, 1);
-lean_inc(x_15);
-x_16 = l_Lean_FileMap_toPosition(x_14, x_15);
-lean_dec(x_14);
-lean_inc(x_16);
-x_17 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_17, 0, x_16);
-lean_ctor_set(x_1, 4, x_17);
-x_30 = lean_ctor_get(x_16, 1);
-lean_inc(x_30);
-lean_dec(x_16);
-x_31 = lean_nat_dec_le(x_30, x_30);
-lean_dec(x_30);
-if (x_31 == 0)
-{
-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_dec(x_1);
-x_32 = l_Lean_Parser_manyAux___main___at_Lean_Parser_many1Indent___spec__1___closed__1;
-x_33 = l_Lean_Parser_ParserState_mkError(x_7, x_32);
-x_34 = l_Lean_nullKind;
-lean_inc(x_10);
-x_35 = l_Lean_Parser_ParserState_mkNode(x_33, x_34, x_10);
-x_36 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__2;
-x_37 = l_Lean_Parser_ParserState_mkNode(x_35, x_36, x_10);
-return x_37;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41;
-x_38 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4;
-x_39 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_40 = l_Lean_Parser_categoryParser___elambda__1(x_38, x_39, x_1, x_7);
-x_41 = lean_ctor_get(x_40, 3);
-lean_inc(x_41);
-if (lean_obj_tag(x_41) == 0)
-{
-lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_57; lean_object* x_58;
-x_42 = lean_ctor_get(x_40, 0);
-lean_inc(x_42);
-x_43 = lean_array_get_size(x_42);
-lean_dec(x_42);
-x_44 = lean_ctor_get(x_40, 1);
-lean_inc(x_44);
-lean_inc(x_1);
-x_57 = l_Lean_Parser_tokenFn(x_1, x_40);
-x_58 = lean_ctor_get(x_57, 3);
-lean_inc(x_58);
-if (lean_obj_tag(x_58) == 0)
-{
-lean_object* x_59; lean_object* x_60;
-x_59 = lean_ctor_get(x_57, 0);
-lean_inc(x_59);
-x_60 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_59);
-lean_dec(x_59);
-if (lean_obj_tag(x_60) == 2)
-{
-lean_object* x_61; lean_object* x_62; uint8_t x_63;
-x_61 = lean_ctor_get(x_60, 1);
-lean_inc(x_61);
-lean_dec(x_60);
-x_62 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__1;
-x_63 = lean_string_dec_eq(x_61, x_62);
-lean_dec(x_61);
-if (x_63 == 0)
-{
-lean_object* x_64; lean_object* x_65;
-x_64 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__4;
-lean_inc(x_44);
-x_65 = l_Lean_Parser_ParserState_mkErrorsAt(x_57, x_64, x_44);
-x_45 = x_65;
-goto block_56;
-}
-else
-{
-x_45 = x_57;
-goto block_56;
-}
-}
-else
-{
-lean_object* x_66; lean_object* x_67;
-lean_dec(x_60);
-x_66 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__4;
-lean_inc(x_44);
-x_67 = l_Lean_Parser_ParserState_mkErrorsAt(x_57, x_66, x_44);
-x_45 = x_67;
-goto block_56;
-}
-}
-else
-{
-lean_object* x_68; lean_object* x_69;
-lean_dec(x_58);
-x_68 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__4;
-lean_inc(x_44);
-x_69 = l_Lean_Parser_ParserState_mkErrorsAt(x_57, x_68, x_44);
-x_45 = x_69;
-goto block_56;
-}
-block_56:
-{
-lean_object* x_46;
-x_46 = lean_ctor_get(x_45, 3);
-lean_inc(x_46);
-if (lean_obj_tag(x_46) == 0)
-{
-lean_object* x_47; lean_object* x_48;
-lean_dec(x_44);
-x_47 = l_Lean_nullKind;
-x_48 = l_Lean_Parser_ParserState_mkNode(x_45, x_47, x_43);
-x_18 = x_48;
-goto block_29;
-}
-else
-{
-lean_object* x_49; uint8_t x_50;
-lean_dec(x_46);
-x_49 = lean_ctor_get(x_45, 1);
-lean_inc(x_49);
-x_50 = lean_nat_dec_eq(x_49, x_44);
-lean_dec(x_49);
-if (x_50 == 0)
-{
-lean_object* x_51; lean_object* x_52;
-lean_dec(x_44);
-x_51 = l_Lean_nullKind;
-x_52 = l_Lean_Parser_ParserState_mkNode(x_45, x_51, x_43);
-x_18 = x_52;
-goto block_29;
-}
-else
-{
-lean_object* x_53; lean_object* x_54; lean_object* x_55;
-x_53 = l_Lean_Parser_ParserState_restore(x_45, x_43, x_44);
-x_54 = l_Lean_nullKind;
-x_55 = l_Lean_Parser_ParserState_mkNode(x_53, x_54, x_43);
-x_18 = x_55;
-goto block_29;
-}
-}
-}
-}
-else
-{
-lean_dec(x_41);
-x_18 = x_40;
-goto block_29;
-}
-}
-block_29:
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21;
-x_19 = l_Lean_nullKind;
-lean_inc(x_10);
-x_20 = l_Lean_Parser_ParserState_mkNode(x_18, x_19, x_10);
-x_21 = lean_ctor_get(x_20, 3);
-lean_inc(x_21);
-if (lean_obj_tag(x_21) == 0)
-{
-lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25;
-x_22 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1(x_1, x_20);
-lean_inc(x_10);
-x_23 = l_Lean_Parser_ParserState_mkNode(x_22, x_19, x_10);
-x_24 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__2;
-x_25 = l_Lean_Parser_ParserState_mkNode(x_23, x_24, x_10);
-return x_25;
-}
-else
-{
-lean_object* x_26; lean_object* x_27; lean_object* x_28;
-lean_dec(x_21);
-lean_dec(x_1);
-lean_inc(x_10);
-x_26 = l_Lean_Parser_ParserState_mkNode(x_20, x_19, x_10);
-x_27 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__2;
-x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_10);
-return x_28;
-}
-}
-}
-else
-{
-lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; uint8_t x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_93; uint8_t x_94;
-x_70 = lean_ctor_get(x_1, 0);
-x_71 = lean_ctor_get(x_1, 1);
-x_72 = lean_ctor_get(x_1, 2);
-x_73 = lean_ctor_get(x_1, 3);
-x_74 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
-x_75 = lean_ctor_get(x_1, 5);
-lean_inc(x_75);
-lean_inc(x_73);
-lean_inc(x_72);
-lean_inc(x_71);
-lean_inc(x_70);
-lean_dec(x_1);
-x_76 = lean_ctor_get(x_70, 2);
-lean_inc(x_76);
-x_77 = lean_ctor_get(x_7, 1);
-lean_inc(x_77);
-x_78 = l_Lean_FileMap_toPosition(x_76, x_77);
-lean_dec(x_76);
-lean_inc(x_78);
-x_79 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_79, 0, x_78);
-x_80 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_80, 0, x_70);
-lean_ctor_set(x_80, 1, x_71);
-lean_ctor_set(x_80, 2, x_72);
-lean_ctor_set(x_80, 3, x_73);
-lean_ctor_set(x_80, 4, x_79);
-lean_ctor_set(x_80, 5, x_75);
-lean_ctor_set_uint8(x_80, sizeof(void*)*6, x_74);
-x_93 = lean_ctor_get(x_78, 1);
-lean_inc(x_93);
-lean_dec(x_78);
-x_94 = lean_nat_dec_le(x_93, x_93);
-lean_dec(x_93);
-if (x_94 == 0)
-{
-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_dec(x_80);
-x_95 = l_Lean_Parser_manyAux___main___at_Lean_Parser_many1Indent___spec__1___closed__1;
-x_96 = l_Lean_Parser_ParserState_mkError(x_7, x_95);
-x_97 = l_Lean_nullKind;
-lean_inc(x_10);
-x_98 = l_Lean_Parser_ParserState_mkNode(x_96, x_97, x_10);
-x_99 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__2;
-x_100 = l_Lean_Parser_ParserState_mkNode(x_98, x_99, x_10);
-return x_100;
-}
-else
-{
-lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104;
-x_101 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4;
-x_102 = lean_unsigned_to_nat(0u);
-lean_inc(x_80);
-x_103 = l_Lean_Parser_categoryParser___elambda__1(x_101, x_102, x_80, x_7);
-x_104 = lean_ctor_get(x_103, 3);
-lean_inc(x_104);
-if (lean_obj_tag(x_104) == 0)
-{
-lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_120; lean_object* x_121;
-x_105 = lean_ctor_get(x_103, 0);
-lean_inc(x_105);
-x_106 = lean_array_get_size(x_105);
-lean_dec(x_105);
-x_107 = lean_ctor_get(x_103, 1);
-lean_inc(x_107);
-lean_inc(x_80);
-x_120 = l_Lean_Parser_tokenFn(x_80, x_103);
-x_121 = lean_ctor_get(x_120, 3);
-lean_inc(x_121);
-if (lean_obj_tag(x_121) == 0)
-{
-lean_object* x_122; lean_object* x_123;
-x_122 = lean_ctor_get(x_120, 0);
-lean_inc(x_122);
-x_123 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_122);
-lean_dec(x_122);
-if (lean_obj_tag(x_123) == 2)
-{
-lean_object* x_124; lean_object* x_125; uint8_t x_126;
-x_124 = lean_ctor_get(x_123, 1);
-lean_inc(x_124);
-lean_dec(x_123);
-x_125 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__1;
-x_126 = lean_string_dec_eq(x_124, x_125);
-lean_dec(x_124);
-if (x_126 == 0)
-{
-lean_object* x_127; lean_object* x_128;
-x_127 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__4;
-lean_inc(x_107);
-x_128 = l_Lean_Parser_ParserState_mkErrorsAt(x_120, x_127, x_107);
-x_108 = x_128;
-goto block_119;
-}
-else
-{
-x_108 = x_120;
-goto block_119;
-}
-}
-else
-{
-lean_object* x_129; lean_object* x_130;
-lean_dec(x_123);
-x_129 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__4;
-lean_inc(x_107);
-x_130 = l_Lean_Parser_ParserState_mkErrorsAt(x_120, x_129, x_107);
-x_108 = x_130;
-goto block_119;
-}
-}
-else
-{
-lean_object* x_131; lean_object* x_132;
-lean_dec(x_121);
-x_131 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__4;
-lean_inc(x_107);
-x_132 = l_Lean_Parser_ParserState_mkErrorsAt(x_120, x_131, x_107);
-x_108 = x_132;
-goto block_119;
-}
-block_119:
-{
-lean_object* x_109;
-x_109 = lean_ctor_get(x_108, 3);
-lean_inc(x_109);
-if (lean_obj_tag(x_109) == 0)
-{
-lean_object* x_110; lean_object* x_111;
-lean_dec(x_107);
-x_110 = l_Lean_nullKind;
-x_111 = l_Lean_Parser_ParserState_mkNode(x_108, x_110, x_106);
-x_81 = x_111;
-goto block_92;
-}
-else
-{
-lean_object* x_112; uint8_t x_113;
-lean_dec(x_109);
-x_112 = lean_ctor_get(x_108, 1);
-lean_inc(x_112);
-x_113 = lean_nat_dec_eq(x_112, x_107);
-lean_dec(x_112);
-if (x_113 == 0)
-{
-lean_object* x_114; lean_object* x_115;
-lean_dec(x_107);
-x_114 = l_Lean_nullKind;
-x_115 = l_Lean_Parser_ParserState_mkNode(x_108, x_114, x_106);
-x_81 = x_115;
-goto block_92;
-}
-else
-{
-lean_object* x_116; lean_object* x_117; lean_object* x_118;
-x_116 = l_Lean_Parser_ParserState_restore(x_108, x_106, x_107);
-x_117 = l_Lean_nullKind;
-x_118 = l_Lean_Parser_ParserState_mkNode(x_116, x_117, x_106);
-x_81 = x_118;
-goto block_92;
-}
-}
-}
-}
-else
-{
-lean_dec(x_104);
-x_81 = x_103;
-goto block_92;
-}
-}
-block_92:
-{
-lean_object* x_82; lean_object* x_83; lean_object* x_84;
-x_82 = l_Lean_nullKind;
-lean_inc(x_10);
-x_83 = l_Lean_Parser_ParserState_mkNode(x_81, x_82, x_10);
-x_84 = lean_ctor_get(x_83, 3);
-lean_inc(x_84);
-if (lean_obj_tag(x_84) == 0)
-{
-lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88;
-x_85 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1(x_80, x_83);
-lean_inc(x_10);
-x_86 = l_Lean_Parser_ParserState_mkNode(x_85, x_82, x_10);
-x_87 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__2;
-x_88 = l_Lean_Parser_ParserState_mkNode(x_86, x_87, x_10);
-return x_88;
-}
-else
-{
-lean_object* x_89; lean_object* x_90; lean_object* x_91;
-lean_dec(x_84);
-lean_dec(x_80);
-lean_inc(x_10);
-x_89 = l_Lean_Parser_ParserState_mkNode(x_83, x_82, x_10);
-x_90 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__2;
-x_91 = l_Lean_Parser_ParserState_mkNode(x_89, x_90, x_10);
-return x_91;
-}
-}
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__14;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137;
-x_133 = lean_ctor_get(x_2, 0);
-lean_inc(x_133);
-x_134 = lean_array_get_size(x_133);
-lean_dec(x_133);
-x_135 = lean_ctor_get(x_2, 1);
-lean_inc(x_135);
-lean_inc(x_1);
-x_136 = lean_apply_2(x_4, x_1, x_2);
-x_137 = lean_ctor_get(x_136, 3);
-lean_inc(x_137);
-if (lean_obj_tag(x_137) == 0)
-{
-lean_dec(x_135);
-lean_dec(x_134);
-lean_dec(x_1);
-return x_136;
-}
-else
-{
-uint8_t x_138;
-x_138 = !lean_is_exclusive(x_137);
-if (x_138 == 0)
-{
-lean_object* x_139; lean_object* x_140; uint8_t x_141;
-x_139 = lean_ctor_get(x_137, 0);
-x_140 = lean_ctor_get(x_136, 1);
-lean_inc(x_140);
-x_141 = lean_nat_dec_eq(x_140, x_135);
-lean_dec(x_140);
-if (x_141 == 0)
-{
-lean_free_object(x_137);
-lean_dec(x_139);
-lean_dec(x_135);
-lean_dec(x_134);
-lean_dec(x_1);
-return x_136;
-}
-else
-{
-lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145;
-lean_inc(x_135);
-x_142 = l_Lean_Parser_ParserState_restore(x_136, x_134, x_135);
-lean_dec(x_134);
-x_143 = lean_unsigned_to_nat(1024u);
-x_144 = l_Lean_Parser_checkPrecFn(x_143, x_1, x_142);
-x_145 = lean_ctor_get(x_144, 3);
-lean_inc(x_145);
-if (lean_obj_tag(x_145) == 0)
-{
-lean_object* x_146; lean_object* x_147; uint8_t x_148;
-x_146 = lean_ctor_get(x_144, 0);
-lean_inc(x_146);
-x_147 = lean_array_get_size(x_146);
-lean_dec(x_146);
-x_148 = !lean_is_exclusive(x_1);
-if (x_148 == 0)
-{
-lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_170; uint8_t x_171;
-x_149 = lean_ctor_get(x_1, 0);
-x_150 = lean_ctor_get(x_1, 4);
-lean_dec(x_150);
-x_151 = lean_ctor_get(x_149, 2);
-lean_inc(x_151);
-x_152 = lean_ctor_get(x_144, 1);
-lean_inc(x_152);
-x_153 = l_Lean_FileMap_toPosition(x_151, x_152);
-lean_dec(x_151);
-lean_inc(x_153);
-lean_ctor_set(x_137, 0, x_153);
-lean_ctor_set(x_1, 4, x_137);
-x_170 = lean_ctor_get(x_153, 1);
-lean_inc(x_170);
-lean_dec(x_153);
-x_171 = lean_nat_dec_le(x_170, x_170);
-lean_dec(x_170);
-if (x_171 == 0)
-{
-lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; uint8_t x_178; lean_object* x_179;
-lean_dec(x_1);
-x_172 = l_Lean_Parser_manyAux___main___at_Lean_Parser_many1Indent___spec__1___closed__1;
-x_173 = l_Lean_Parser_ParserState_mkError(x_144, x_172);
-x_174 = l_Lean_nullKind;
-lean_inc(x_147);
-x_175 = l_Lean_Parser_ParserState_mkNode(x_173, x_174, x_147);
-x_176 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__2;
-x_177 = l_Lean_Parser_ParserState_mkNode(x_175, x_176, x_147);
-x_178 = 1;
-x_179 = l_Lean_Parser_mergeOrElseErrors(x_177, x_139, x_135, x_178);
-lean_dec(x_135);
-return x_179;
-}
-else
-{
-lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183;
-x_180 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4;
-x_181 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_182 = l_Lean_Parser_categoryParser___elambda__1(x_180, x_181, x_1, x_144);
-x_183 = lean_ctor_get(x_182, 3);
-lean_inc(x_183);
-if (lean_obj_tag(x_183) == 0)
-{
-lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_199; lean_object* x_200;
-x_184 = lean_ctor_get(x_182, 0);
-lean_inc(x_184);
-x_185 = lean_array_get_size(x_184);
-lean_dec(x_184);
-x_186 = lean_ctor_get(x_182, 1);
-lean_inc(x_186);
-lean_inc(x_1);
-x_199 = l_Lean_Parser_tokenFn(x_1, x_182);
-x_200 = lean_ctor_get(x_199, 3);
-lean_inc(x_200);
-if (lean_obj_tag(x_200) == 0)
-{
-lean_object* x_201; lean_object* x_202;
-x_201 = lean_ctor_get(x_199, 0);
-lean_inc(x_201);
-x_202 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_201);
-lean_dec(x_201);
-if (lean_obj_tag(x_202) == 2)
-{
-lean_object* x_203; lean_object* x_204; uint8_t x_205;
-x_203 = lean_ctor_get(x_202, 1);
-lean_inc(x_203);
-lean_dec(x_202);
-x_204 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__1;
-x_205 = lean_string_dec_eq(x_203, x_204);
-lean_dec(x_203);
-if (x_205 == 0)
-{
-lean_object* x_206; lean_object* x_207;
-x_206 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__4;
-lean_inc(x_186);
-x_207 = l_Lean_Parser_ParserState_mkErrorsAt(x_199, x_206, x_186);
-x_187 = x_207;
-goto block_198;
-}
-else
-{
-x_187 = x_199;
-goto block_198;
-}
-}
-else
-{
-lean_object* x_208; lean_object* x_209;
-lean_dec(x_202);
-x_208 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__4;
-lean_inc(x_186);
-x_209 = l_Lean_Parser_ParserState_mkErrorsAt(x_199, x_208, x_186);
-x_187 = x_209;
-goto block_198;
-}
-}
-else
-{
-lean_object* x_210; lean_object* x_211;
-lean_dec(x_200);
-x_210 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__4;
-lean_inc(x_186);
-x_211 = l_Lean_Parser_ParserState_mkErrorsAt(x_199, x_210, x_186);
-x_187 = x_211;
-goto block_198;
-}
-block_198:
-{
-lean_object* x_188;
-x_188 = lean_ctor_get(x_187, 3);
-lean_inc(x_188);
-if (lean_obj_tag(x_188) == 0)
-{
-lean_object* x_189; lean_object* x_190;
-lean_dec(x_186);
-x_189 = l_Lean_nullKind;
-x_190 = l_Lean_Parser_ParserState_mkNode(x_187, x_189, x_185);
-x_154 = x_190;
-goto block_169;
-}
-else
-{
-lean_object* x_191; uint8_t x_192;
-lean_dec(x_188);
-x_191 = lean_ctor_get(x_187, 1);
-lean_inc(x_191);
-x_192 = lean_nat_dec_eq(x_191, x_186);
-lean_dec(x_191);
-if (x_192 == 0)
-{
-lean_object* x_193; lean_object* x_194;
-lean_dec(x_186);
-x_193 = l_Lean_nullKind;
-x_194 = l_Lean_Parser_ParserState_mkNode(x_187, x_193, x_185);
-x_154 = x_194;
-goto block_169;
-}
-else
-{
-lean_object* x_195; lean_object* x_196; lean_object* x_197;
-x_195 = l_Lean_Parser_ParserState_restore(x_187, x_185, x_186);
-x_196 = l_Lean_nullKind;
-x_197 = l_Lean_Parser_ParserState_mkNode(x_195, x_196, x_185);
-x_154 = x_197;
-goto block_169;
-}
-}
-}
-}
-else
-{
-lean_dec(x_183);
-x_154 = x_182;
-goto block_169;
-}
-}
-block_169:
-{
-lean_object* x_155; lean_object* x_156; lean_object* x_157;
-x_155 = l_Lean_nullKind;
-lean_inc(x_147);
-x_156 = l_Lean_Parser_ParserState_mkNode(x_154, x_155, x_147);
-x_157 = lean_ctor_get(x_156, 3);
-lean_inc(x_157);
-if (lean_obj_tag(x_157) == 0)
-{
-lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; uint8_t x_162; lean_object* x_163;
-x_158 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1(x_1, x_156);
-lean_inc(x_147);
-x_159 = l_Lean_Parser_ParserState_mkNode(x_158, x_155, x_147);
-x_160 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__2;
-x_161 = l_Lean_Parser_ParserState_mkNode(x_159, x_160, x_147);
-x_162 = 1;
-x_163 = l_Lean_Parser_mergeOrElseErrors(x_161, x_139, x_135, x_162);
-lean_dec(x_135);
-return x_163;
-}
-else
-{
-lean_object* x_164; lean_object* x_165; lean_object* x_166; uint8_t x_167; lean_object* x_168;
-lean_dec(x_157);
-lean_dec(x_1);
-lean_inc(x_147);
-x_164 = l_Lean_Parser_ParserState_mkNode(x_156, x_155, x_147);
-x_165 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__2;
-x_166 = l_Lean_Parser_ParserState_mkNode(x_164, x_165, x_147);
-x_167 = 1;
-x_168 = l_Lean_Parser_mergeOrElseErrors(x_166, x_139, x_135, x_167);
-lean_dec(x_135);
-return x_168;
-}
-}
-}
-else
-{
-lean_object* x_212; lean_object* x_213; lean_object* x_214; lean_object* x_215; uint8_t x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; lean_object* x_221; lean_object* x_222; lean_object* x_238; uint8_t x_239;
-x_212 = lean_ctor_get(x_1, 0);
-x_213 = lean_ctor_get(x_1, 1);
-x_214 = lean_ctor_get(x_1, 2);
-x_215 = lean_ctor_get(x_1, 3);
-x_216 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
-x_217 = lean_ctor_get(x_1, 5);
-lean_inc(x_217);
-lean_inc(x_215);
-lean_inc(x_214);
-lean_inc(x_213);
-lean_inc(x_212);
-lean_dec(x_1);
-x_218 = lean_ctor_get(x_212, 2);
-lean_inc(x_218);
-x_219 = lean_ctor_get(x_144, 1);
-lean_inc(x_219);
-x_220 = l_Lean_FileMap_toPosition(x_218, x_219);
-lean_dec(x_218);
-lean_inc(x_220);
-lean_ctor_set(x_137, 0, x_220);
-x_221 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_221, 0, x_212);
-lean_ctor_set(x_221, 1, x_213);
-lean_ctor_set(x_221, 2, x_214);
-lean_ctor_set(x_221, 3, x_215);
-lean_ctor_set(x_221, 4, x_137);
-lean_ctor_set(x_221, 5, x_217);
-lean_ctor_set_uint8(x_221, sizeof(void*)*6, x_216);
-x_238 = lean_ctor_get(x_220, 1);
-lean_inc(x_238);
-lean_dec(x_220);
-x_239 = lean_nat_dec_le(x_238, x_238);
-lean_dec(x_238);
-if (x_239 == 0)
-{
-lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244; lean_object* x_245; uint8_t x_246; lean_object* x_247;
-lean_dec(x_221);
-x_240 = l_Lean_Parser_manyAux___main___at_Lean_Parser_many1Indent___spec__1___closed__1;
-x_241 = l_Lean_Parser_ParserState_mkError(x_144, x_240);
-x_242 = l_Lean_nullKind;
-lean_inc(x_147);
-x_243 = l_Lean_Parser_ParserState_mkNode(x_241, x_242, x_147);
-x_244 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__2;
-x_245 = l_Lean_Parser_ParserState_mkNode(x_243, x_244, x_147);
-x_246 = 1;
-x_247 = l_Lean_Parser_mergeOrElseErrors(x_245, x_139, x_135, x_246);
-lean_dec(x_135);
-return x_247;
-}
-else
-{
-lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251;
-x_248 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4;
-x_249 = lean_unsigned_to_nat(0u);
-lean_inc(x_221);
-x_250 = l_Lean_Parser_categoryParser___elambda__1(x_248, x_249, x_221, x_144);
-x_251 = lean_ctor_get(x_250, 3);
-lean_inc(x_251);
-if (lean_obj_tag(x_251) == 0)
-{
-lean_object* x_252; lean_object* x_253; lean_object* x_254; lean_object* x_255; lean_object* x_267; lean_object* x_268;
-x_252 = lean_ctor_get(x_250, 0);
-lean_inc(x_252);
-x_253 = lean_array_get_size(x_252);
-lean_dec(x_252);
-x_254 = lean_ctor_get(x_250, 1);
-lean_inc(x_254);
-lean_inc(x_221);
-x_267 = l_Lean_Parser_tokenFn(x_221, x_250);
-x_268 = lean_ctor_get(x_267, 3);
-lean_inc(x_268);
-if (lean_obj_tag(x_268) == 0)
-{
-lean_object* x_269; lean_object* x_270;
-x_269 = lean_ctor_get(x_267, 0);
-lean_inc(x_269);
-x_270 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_269);
-lean_dec(x_269);
-if (lean_obj_tag(x_270) == 2)
-{
-lean_object* x_271; lean_object* x_272; uint8_t x_273;
-x_271 = lean_ctor_get(x_270, 1);
-lean_inc(x_271);
-lean_dec(x_270);
-x_272 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__1;
-x_273 = lean_string_dec_eq(x_271, x_272);
-lean_dec(x_271);
-if (x_273 == 0)
-{
-lean_object* x_274; lean_object* x_275;
-x_274 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__4;
-lean_inc(x_254);
-x_275 = l_Lean_Parser_ParserState_mkErrorsAt(x_267, x_274, x_254);
-x_255 = x_275;
-goto block_266;
-}
-else
-{
-x_255 = x_267;
-goto block_266;
-}
-}
-else
-{
-lean_object* x_276; lean_object* x_277;
-lean_dec(x_270);
-x_276 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__4;
-lean_inc(x_254);
-x_277 = l_Lean_Parser_ParserState_mkErrorsAt(x_267, x_276, x_254);
-x_255 = x_277;
-goto block_266;
-}
-}
-else
-{
-lean_object* x_278; lean_object* x_279;
-lean_dec(x_268);
-x_278 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__4;
-lean_inc(x_254);
-x_279 = l_Lean_Parser_ParserState_mkErrorsAt(x_267, x_278, x_254);
-x_255 = x_279;
-goto block_266;
-}
-block_266:
-{
-lean_object* x_256;
-x_256 = lean_ctor_get(x_255, 3);
-lean_inc(x_256);
-if (lean_obj_tag(x_256) == 0)
-{
-lean_object* x_257; lean_object* x_258;
-lean_dec(x_254);
-x_257 = l_Lean_nullKind;
-x_258 = l_Lean_Parser_ParserState_mkNode(x_255, x_257, x_253);
-x_222 = x_258;
-goto block_237;
-}
-else
-{
-lean_object* x_259; uint8_t x_260;
-lean_dec(x_256);
-x_259 = lean_ctor_get(x_255, 1);
-lean_inc(x_259);
-x_260 = lean_nat_dec_eq(x_259, x_254);
-lean_dec(x_259);
-if (x_260 == 0)
-{
-lean_object* x_261; lean_object* x_262;
-lean_dec(x_254);
-x_261 = l_Lean_nullKind;
-x_262 = l_Lean_Parser_ParserState_mkNode(x_255, x_261, x_253);
-x_222 = x_262;
-goto block_237;
-}
-else
-{
-lean_object* x_263; lean_object* x_264; lean_object* x_265;
-x_263 = l_Lean_Parser_ParserState_restore(x_255, x_253, x_254);
-x_264 = l_Lean_nullKind;
-x_265 = l_Lean_Parser_ParserState_mkNode(x_263, x_264, x_253);
-x_222 = x_265;
-goto block_237;
-}
-}
-}
-}
-else
-{
-lean_dec(x_251);
-x_222 = x_250;
-goto block_237;
-}
-}
-block_237:
-{
-lean_object* x_223; lean_object* x_224; lean_object* x_225;
-x_223 = l_Lean_nullKind;
-lean_inc(x_147);
-x_224 = l_Lean_Parser_ParserState_mkNode(x_222, x_223, x_147);
-x_225 = lean_ctor_get(x_224, 3);
-lean_inc(x_225);
-if (lean_obj_tag(x_225) == 0)
-{
-lean_object* x_226; lean_object* x_227; lean_object* x_228; lean_object* x_229; uint8_t x_230; lean_object* x_231;
-x_226 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1(x_221, x_224);
-lean_inc(x_147);
-x_227 = l_Lean_Parser_ParserState_mkNode(x_226, x_223, x_147);
-x_228 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__2;
-x_229 = l_Lean_Parser_ParserState_mkNode(x_227, x_228, x_147);
-x_230 = 1;
-x_231 = l_Lean_Parser_mergeOrElseErrors(x_229, x_139, x_135, x_230);
-lean_dec(x_135);
-return x_231;
-}
-else
-{
-lean_object* x_232; lean_object* x_233; lean_object* x_234; uint8_t x_235; lean_object* x_236;
-lean_dec(x_225);
-lean_dec(x_221);
-lean_inc(x_147);
-x_232 = l_Lean_Parser_ParserState_mkNode(x_224, x_223, x_147);
-x_233 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__2;
-x_234 = l_Lean_Parser_ParserState_mkNode(x_232, x_233, x_147);
-x_235 = 1;
-x_236 = l_Lean_Parser_mergeOrElseErrors(x_234, x_139, x_135, x_235);
-lean_dec(x_135);
-return x_236;
-}
-}
-}
-}
-else
-{
-uint8_t x_280; lean_object* x_281;
-lean_dec(x_145);
-lean_free_object(x_137);
-lean_dec(x_1);
-x_280 = 1;
-x_281 = l_Lean_Parser_mergeOrElseErrors(x_144, x_139, x_135, x_280);
-lean_dec(x_135);
-return x_281;
-}
-}
-}
-else
-{
-lean_object* x_282; lean_object* x_283; uint8_t x_284;
-x_282 = lean_ctor_get(x_137, 0);
-lean_inc(x_282);
-lean_dec(x_137);
-x_283 = lean_ctor_get(x_136, 1);
-lean_inc(x_283);
-x_284 = lean_nat_dec_eq(x_283, x_135);
-lean_dec(x_283);
-if (x_284 == 0)
-{
-lean_dec(x_282);
-lean_dec(x_135);
-lean_dec(x_134);
-lean_dec(x_1);
-return x_136;
-}
-else
-{
-lean_object* x_285; lean_object* x_286; lean_object* x_287; lean_object* x_288;
-lean_inc(x_135);
-x_285 = l_Lean_Parser_ParserState_restore(x_136, x_134, x_135);
-lean_dec(x_134);
-x_286 = lean_unsigned_to_nat(1024u);
-x_287 = l_Lean_Parser_checkPrecFn(x_286, x_1, x_285);
-x_288 = lean_ctor_get(x_287, 3);
-lean_inc(x_288);
-if (lean_obj_tag(x_288) == 0)
-{
-lean_object* x_289; lean_object* x_290; lean_object* x_291; lean_object* x_292; lean_object* x_293; lean_object* x_294; uint8_t x_295; lean_object* x_296; lean_object* x_297; lean_object* x_298; lean_object* x_299; lean_object* x_300; lean_object* x_301; lean_object* x_302; lean_object* x_303; lean_object* x_319; uint8_t x_320;
-x_289 = lean_ctor_get(x_287, 0);
-lean_inc(x_289);
-x_290 = lean_array_get_size(x_289);
-lean_dec(x_289);
-x_291 = lean_ctor_get(x_1, 0);
-lean_inc(x_291);
-x_292 = lean_ctor_get(x_1, 1);
-lean_inc(x_292);
-x_293 = lean_ctor_get(x_1, 2);
-lean_inc(x_293);
-x_294 = lean_ctor_get(x_1, 3);
-lean_inc(x_294);
-x_295 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
-x_296 = lean_ctor_get(x_1, 5);
-lean_inc(x_296);
-if (lean_is_exclusive(x_1)) {
- lean_ctor_release(x_1, 0);
- lean_ctor_release(x_1, 1);
- lean_ctor_release(x_1, 2);
- lean_ctor_release(x_1, 3);
- lean_ctor_release(x_1, 4);
- lean_ctor_release(x_1, 5);
- x_297 = x_1;
-} else {
- lean_dec_ref(x_1);
- x_297 = lean_box(0);
-}
-x_298 = lean_ctor_get(x_291, 2);
-lean_inc(x_298);
-x_299 = lean_ctor_get(x_287, 1);
-lean_inc(x_299);
-x_300 = l_Lean_FileMap_toPosition(x_298, x_299);
-lean_dec(x_298);
-lean_inc(x_300);
-x_301 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_301, 0, x_300);
-if (lean_is_scalar(x_297)) {
- x_302 = lean_alloc_ctor(0, 6, 1);
-} else {
- x_302 = x_297;
-}
-lean_ctor_set(x_302, 0, x_291);
-lean_ctor_set(x_302, 1, x_292);
-lean_ctor_set(x_302, 2, x_293);
-lean_ctor_set(x_302, 3, x_294);
-lean_ctor_set(x_302, 4, x_301);
-lean_ctor_set(x_302, 5, x_296);
-lean_ctor_set_uint8(x_302, sizeof(void*)*6, x_295);
-x_319 = lean_ctor_get(x_300, 1);
-lean_inc(x_319);
-lean_dec(x_300);
-x_320 = lean_nat_dec_le(x_319, x_319);
-lean_dec(x_319);
-if (x_320 == 0)
-{
-lean_object* x_321; lean_object* x_322; lean_object* x_323; lean_object* x_324; lean_object* x_325; lean_object* x_326; uint8_t x_327; lean_object* x_328;
-lean_dec(x_302);
-x_321 = l_Lean_Parser_manyAux___main___at_Lean_Parser_many1Indent___spec__1___closed__1;
-x_322 = l_Lean_Parser_ParserState_mkError(x_287, x_321);
-x_323 = l_Lean_nullKind;
-lean_inc(x_290);
-x_324 = l_Lean_Parser_ParserState_mkNode(x_322, x_323, x_290);
-x_325 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__2;
-x_326 = l_Lean_Parser_ParserState_mkNode(x_324, x_325, x_290);
-x_327 = 1;
-x_328 = l_Lean_Parser_mergeOrElseErrors(x_326, x_282, x_135, x_327);
-lean_dec(x_135);
-return x_328;
-}
-else
-{
-lean_object* x_329; lean_object* x_330; lean_object* x_331; lean_object* x_332;
-x_329 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4;
-x_330 = lean_unsigned_to_nat(0u);
-lean_inc(x_302);
-x_331 = l_Lean_Parser_categoryParser___elambda__1(x_329, x_330, x_302, x_287);
-x_332 = lean_ctor_get(x_331, 3);
-lean_inc(x_332);
-if (lean_obj_tag(x_332) == 0)
-{
-lean_object* x_333; lean_object* x_334; lean_object* x_335; lean_object* x_336; lean_object* x_348; lean_object* x_349;
-x_333 = lean_ctor_get(x_331, 0);
-lean_inc(x_333);
-x_334 = lean_array_get_size(x_333);
-lean_dec(x_333);
-x_335 = lean_ctor_get(x_331, 1);
-lean_inc(x_335);
-lean_inc(x_302);
-x_348 = l_Lean_Parser_tokenFn(x_302, x_331);
-x_349 = lean_ctor_get(x_348, 3);
-lean_inc(x_349);
-if (lean_obj_tag(x_349) == 0)
-{
-lean_object* x_350; lean_object* x_351;
-x_350 = lean_ctor_get(x_348, 0);
-lean_inc(x_350);
-x_351 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_350);
-lean_dec(x_350);
-if (lean_obj_tag(x_351) == 2)
-{
-lean_object* x_352; lean_object* x_353; uint8_t x_354;
-x_352 = lean_ctor_get(x_351, 1);
-lean_inc(x_352);
-lean_dec(x_351);
-x_353 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__1;
-x_354 = lean_string_dec_eq(x_352, x_353);
-lean_dec(x_352);
-if (x_354 == 0)
-{
-lean_object* x_355; lean_object* x_356;
-x_355 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__4;
-lean_inc(x_335);
-x_356 = l_Lean_Parser_ParserState_mkErrorsAt(x_348, x_355, x_335);
-x_336 = x_356;
-goto block_347;
-}
-else
-{
-x_336 = x_348;
-goto block_347;
-}
-}
-else
-{
-lean_object* x_357; lean_object* x_358;
-lean_dec(x_351);
-x_357 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__4;
-lean_inc(x_335);
-x_358 = l_Lean_Parser_ParserState_mkErrorsAt(x_348, x_357, x_335);
-x_336 = x_358;
-goto block_347;
-}
-}
-else
-{
-lean_object* x_359; lean_object* x_360;
-lean_dec(x_349);
-x_359 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__4;
-lean_inc(x_335);
-x_360 = l_Lean_Parser_ParserState_mkErrorsAt(x_348, x_359, x_335);
-x_336 = x_360;
-goto block_347;
-}
-block_347:
-{
-lean_object* x_337;
-x_337 = lean_ctor_get(x_336, 3);
-lean_inc(x_337);
-if (lean_obj_tag(x_337) == 0)
-{
-lean_object* x_338; lean_object* x_339;
-lean_dec(x_335);
-x_338 = l_Lean_nullKind;
-x_339 = l_Lean_Parser_ParserState_mkNode(x_336, x_338, x_334);
-x_303 = x_339;
-goto block_318;
-}
-else
-{
-lean_object* x_340; uint8_t x_341;
-lean_dec(x_337);
-x_340 = lean_ctor_get(x_336, 1);
-lean_inc(x_340);
-x_341 = lean_nat_dec_eq(x_340, x_335);
-lean_dec(x_340);
-if (x_341 == 0)
-{
-lean_object* x_342; lean_object* x_343;
-lean_dec(x_335);
-x_342 = l_Lean_nullKind;
-x_343 = l_Lean_Parser_ParserState_mkNode(x_336, x_342, x_334);
-x_303 = x_343;
-goto block_318;
-}
-else
-{
-lean_object* x_344; lean_object* x_345; lean_object* x_346;
-x_344 = l_Lean_Parser_ParserState_restore(x_336, x_334, x_335);
-x_345 = l_Lean_nullKind;
-x_346 = l_Lean_Parser_ParserState_mkNode(x_344, x_345, x_334);
-x_303 = x_346;
-goto block_318;
-}
-}
-}
-}
-else
-{
-lean_dec(x_332);
-x_303 = x_331;
-goto block_318;
-}
-}
-block_318:
-{
-lean_object* x_304; lean_object* x_305; lean_object* x_306;
-x_304 = l_Lean_nullKind;
-lean_inc(x_290);
-x_305 = l_Lean_Parser_ParserState_mkNode(x_303, x_304, x_290);
-x_306 = lean_ctor_get(x_305, 3);
-lean_inc(x_306);
-if (lean_obj_tag(x_306) == 0)
-{
-lean_object* x_307; lean_object* x_308; lean_object* x_309; lean_object* x_310; uint8_t x_311; lean_object* x_312;
-x_307 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1(x_302, x_305);
-lean_inc(x_290);
-x_308 = l_Lean_Parser_ParserState_mkNode(x_307, x_304, x_290);
-x_309 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__2;
-x_310 = l_Lean_Parser_ParserState_mkNode(x_308, x_309, x_290);
-x_311 = 1;
-x_312 = l_Lean_Parser_mergeOrElseErrors(x_310, x_282, x_135, x_311);
-lean_dec(x_135);
-return x_312;
-}
-else
-{
-lean_object* x_313; lean_object* x_314; lean_object* x_315; uint8_t x_316; lean_object* x_317;
-lean_dec(x_306);
-lean_dec(x_302);
-lean_inc(x_290);
-x_313 = l_Lean_Parser_ParserState_mkNode(x_305, x_304, x_290);
-x_314 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__2;
-x_315 = l_Lean_Parser_ParserState_mkNode(x_313, x_314, x_290);
-x_316 = 1;
-x_317 = l_Lean_Parser_mergeOrElseErrors(x_315, x_282, x_135, x_316);
-lean_dec(x_135);
-return x_317;
-}
-}
-}
-else
-{
-uint8_t x_361; lean_object* x_362;
-lean_dec(x_288);
-lean_dec(x_1);
-x_361 = 1;
-x_362 = l_Lean_Parser_mergeOrElseErrors(x_287, x_282, x_135, x_361);
-lean_dec(x_135);
-return x_362;
-}
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Term_doSeqIndent___closed__1() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4;
+x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__4;
x_2 = lean_unsigned_to_nat(0u);
x_3 = l_Lean_Parser_categoryParser(x_1, x_2);
return x_3;
@@ -3545,7 +2196,7 @@ static lean_object* _init_l_Lean_Parser_Term_doSeqIndent___closed__2() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__1;
+x_1 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__5;
x_2 = l_Lean_Parser_symbolInfo(x_1);
return x_2;
}
@@ -3651,188 +2302,235 @@ x_1 = l_Lean_Parser_Term_doSeqIndent___closed__11;
return x_1;
}
}
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqBracketed___elambda__1___spec__1(lean_object* x_1, lean_object* x_2) {
+lean_object* l_Lean_Parser_Term_doSeqBracketed___elambda__1___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-x_19 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4;
-x_20 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_21 = l_Lean_Parser_categoryParser___elambda__1(x_19, x_20, x_1, x_2);
-x_22 = lean_ctor_get(x_21, 3);
-lean_inc(x_22);
-if (lean_obj_tag(x_22) == 0)
+uint8_t x_6;
+x_6 = !lean_is_exclusive(x_4);
+if (x_6 == 0)
{
-lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_38; lean_object* x_39;
-x_23 = lean_ctor_get(x_21, 0);
-lean_inc(x_23);
-x_24 = lean_array_get_size(x_23);
-lean_dec(x_23);
-x_25 = lean_ctor_get(x_21, 1);
-lean_inc(x_25);
-lean_inc(x_1);
-x_38 = l_Lean_Parser_tokenFn(x_1, x_21);
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
+lean_object* x_7; lean_object* x_8; uint8_t x_9;
+x_7 = lean_ctor_get(x_4, 0);
+x_8 = lean_ctor_get(x_4, 4);
+lean_dec(x_8);
+x_9 = !lean_is_exclusive(x_7);
+if (x_9 == 0)
{
-lean_object* x_40; lean_object* x_41;
-x_40 = lean_ctor_get(x_38, 0);
-lean_inc(x_40);
-x_41 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_40);
-lean_dec(x_40);
-if (lean_obj_tag(x_41) == 2)
-{
-lean_object* x_42; lean_object* x_43; uint8_t x_44;
-x_42 = lean_ctor_get(x_41, 1);
-lean_inc(x_42);
-lean_dec(x_41);
-x_43 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__1;
-x_44 = lean_string_dec_eq(x_42, x_43);
-lean_dec(x_42);
-if (x_44 == 0)
-{
-lean_object* x_45; lean_object* x_46;
-x_45 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__4;
-lean_inc(x_25);
-x_46 = l_Lean_Parser_ParserState_mkErrorsAt(x_38, x_45, x_25);
-x_26 = x_46;
-goto block_37;
-}
-else
-{
-x_26 = x_38;
-goto block_37;
-}
-}
-else
-{
-lean_object* x_47; lean_object* x_48;
-lean_dec(x_41);
-x_47 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__4;
-lean_inc(x_25);
-x_48 = l_Lean_Parser_ParserState_mkErrorsAt(x_38, x_47, x_25);
-x_26 = x_48;
-goto block_37;
-}
-}
-else
-{
-lean_object* x_49; lean_object* x_50;
-lean_dec(x_39);
-x_49 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__4;
-lean_inc(x_25);
-x_50 = l_Lean_Parser_ParserState_mkErrorsAt(x_38, x_49, x_25);
-x_26 = x_50;
-goto block_37;
-}
-block_37:
-{
-lean_object* x_27;
-x_27 = lean_ctor_get(x_26, 3);
-lean_inc(x_27);
-if (lean_obj_tag(x_27) == 0)
-{
-lean_object* x_28; lean_object* x_29;
-lean_dec(x_25);
-x_28 = l_Lean_nullKind;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_26, x_28, x_24);
-x_6 = x_29;
-goto block_18;
-}
-else
-{
-lean_object* x_30; uint8_t x_31;
-lean_dec(x_27);
-x_30 = lean_ctor_get(x_26, 1);
-lean_inc(x_30);
-x_31 = lean_nat_dec_eq(x_30, x_25);
-lean_dec(x_30);
-if (x_31 == 0)
-{
-lean_object* x_32; lean_object* x_33;
-lean_dec(x_25);
-x_32 = l_Lean_nullKind;
-x_33 = l_Lean_Parser_ParserState_mkNode(x_26, x_32, x_24);
-x_6 = x_33;
-goto block_18;
-}
-else
-{
-lean_object* x_34; lean_object* x_35; lean_object* x_36;
-x_34 = l_Lean_Parser_ParserState_restore(x_26, x_24, x_25);
-x_35 = l_Lean_nullKind;
-x_36 = l_Lean_Parser_ParserState_mkNode(x_34, x_35, x_24);
-x_6 = x_36;
-goto block_18;
-}
-}
-}
-}
-else
-{
-lean_dec(x_22);
-x_6 = x_21;
-goto block_18;
-}
-block_18:
-{
-lean_object* x_7; lean_object* x_8; lean_object* x_9;
-x_7 = l_Lean_nullKind;
+lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_21; lean_object* x_22; lean_object* x_23;
+x_10 = lean_box(0);
+lean_ctor_set(x_4, 4, x_10);
+x_11 = lean_ctor_get(x_5, 0);
+lean_inc(x_11);
+x_12 = lean_array_get_size(x_11);
+lean_dec(x_11);
+x_21 = lean_unsigned_to_nat(0u);
lean_inc(x_4);
-x_8 = l_Lean_Parser_ParserState_mkNode(x_6, x_7, x_4);
-x_9 = lean_ctor_get(x_8, 3);
-lean_inc(x_9);
-if (lean_obj_tag(x_9) == 0)
+x_22 = l_Lean_Parser_categoryParser___elambda__1(x_2, x_21, x_4, x_5);
+x_23 = lean_ctor_get(x_22, 3);
+lean_inc(x_23);
+if (lean_obj_tag(x_23) == 0)
{
-lean_object* x_10; uint8_t x_11;
-lean_dec(x_4);
-x_10 = lean_ctor_get(x_8, 1);
-lean_inc(x_10);
-x_11 = lean_nat_dec_eq(x_5, x_10);
-lean_dec(x_10);
-lean_dec(x_5);
-if (x_11 == 0)
-{
-x_2 = x_8;
-goto _start;
+lean_object* x_24;
+lean_inc(x_4);
+x_24 = l_Lean_Parser_optionalFn(x_3, x_4, x_22);
+x_13 = x_24;
+goto block_20;
}
else
{
-lean_object* x_13; lean_object* x_14;
+lean_dec(x_23);
+lean_dec(x_3);
+x_13 = x_22;
+goto block_20;
+}
+block_20:
+{
+lean_object* x_14; lean_object* x_15; lean_object* x_16;
+x_14 = l_Lean_nullKind;
+lean_inc(x_12);
+x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_12);
+x_16 = lean_ctor_get(x_15, 3);
+lean_inc(x_16);
+if (lean_obj_tag(x_16) == 0)
+{
+lean_object* x_17; lean_object* x_18;
+x_17 = l_Lean_Parser_manyAux(x_1, x_4, x_15);
+x_18 = l_Lean_Parser_ParserState_mkNode(x_17, x_14, x_12);
+return x_18;
+}
+else
+{
+lean_object* x_19;
+lean_dec(x_16);
+lean_dec(x_4);
lean_dec(x_1);
-x_13 = l_Lean_Parser_manyAux___main___closed__1;
-x_14 = l_Lean_Parser_ParserState_mkUnexpectedError(x_8, x_13);
-return x_14;
+x_19 = l_Lean_Parser_ParserState_mkNode(x_15, x_14, x_12);
+return x_19;
+}
}
}
else
{
-lean_object* x_15; uint8_t x_16;
-lean_dec(x_9);
+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_40; lean_object* x_41; lean_object* x_42;
+x_25 = lean_ctor_get(x_7, 0);
+x_26 = lean_ctor_get(x_7, 1);
+x_27 = lean_ctor_get(x_7, 2);
+lean_inc(x_27);
+lean_inc(x_26);
+lean_inc(x_25);
+lean_dec(x_7);
+x_28 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_28, 0, x_25);
+lean_ctor_set(x_28, 1, x_26);
+lean_ctor_set(x_28, 2, x_27);
+x_29 = lean_box(0);
+lean_ctor_set(x_4, 4, x_29);
+lean_ctor_set(x_4, 0, x_28);
+x_30 = lean_ctor_get(x_5, 0);
+lean_inc(x_30);
+x_31 = lean_array_get_size(x_30);
+lean_dec(x_30);
+x_40 = lean_unsigned_to_nat(0u);
+lean_inc(x_4);
+x_41 = l_Lean_Parser_categoryParser___elambda__1(x_2, x_40, x_4, x_5);
+x_42 = lean_ctor_get(x_41, 3);
+lean_inc(x_42);
+if (lean_obj_tag(x_42) == 0)
+{
+lean_object* x_43;
+lean_inc(x_4);
+x_43 = l_Lean_Parser_optionalFn(x_3, x_4, x_41);
+x_32 = x_43;
+goto block_39;
+}
+else
+{
+lean_dec(x_42);
+lean_dec(x_3);
+x_32 = x_41;
+goto block_39;
+}
+block_39:
+{
+lean_object* x_33; lean_object* x_34; lean_object* x_35;
+x_33 = l_Lean_nullKind;
+lean_inc(x_31);
+x_34 = l_Lean_Parser_ParserState_mkNode(x_32, x_33, x_31);
+x_35 = lean_ctor_get(x_34, 3);
+lean_inc(x_35);
+if (lean_obj_tag(x_35) == 0)
+{
+lean_object* x_36; lean_object* x_37;
+x_36 = l_Lean_Parser_manyAux(x_1, x_4, x_34);
+x_37 = l_Lean_Parser_ParserState_mkNode(x_36, x_33, x_31);
+return x_37;
+}
+else
+{
+lean_object* x_38;
+lean_dec(x_35);
+lean_dec(x_4);
lean_dec(x_1);
-x_15 = lean_ctor_get(x_8, 1);
-lean_inc(x_15);
-x_16 = lean_nat_dec_eq(x_5, x_15);
-lean_dec(x_15);
-if (x_16 == 0)
-{
-lean_dec(x_5);
-lean_dec(x_4);
-return x_8;
+x_38 = l_Lean_Parser_ParserState_mkNode(x_34, x_33, x_31);
+return x_38;
+}
+}
+}
}
else
{
-lean_object* x_17;
-x_17 = l_Lean_Parser_ParserState_restore(x_8, x_4, x_5);
+lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; uint8_t 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_67; lean_object* x_68; lean_object* x_69;
+x_44 = lean_ctor_get(x_4, 0);
+x_45 = lean_ctor_get(x_4, 1);
+x_46 = lean_ctor_get(x_4, 2);
+x_47 = lean_ctor_get(x_4, 3);
+x_48 = lean_ctor_get_uint8(x_4, sizeof(void*)*6);
+x_49 = lean_ctor_get(x_4, 5);
+lean_inc(x_49);
+lean_inc(x_47);
+lean_inc(x_46);
+lean_inc(x_45);
+lean_inc(x_44);
lean_dec(x_4);
-return x_17;
+x_50 = lean_ctor_get(x_44, 0);
+lean_inc(x_50);
+x_51 = lean_ctor_get(x_44, 1);
+lean_inc(x_51);
+x_52 = lean_ctor_get(x_44, 2);
+lean_inc(x_52);
+if (lean_is_exclusive(x_44)) {
+ lean_ctor_release(x_44, 0);
+ lean_ctor_release(x_44, 1);
+ lean_ctor_release(x_44, 2);
+ x_53 = x_44;
+} else {
+ lean_dec_ref(x_44);
+ x_53 = lean_box(0);
+}
+if (lean_is_scalar(x_53)) {
+ x_54 = lean_alloc_ctor(0, 3, 0);
+} else {
+ x_54 = x_53;
+}
+lean_ctor_set(x_54, 0, x_50);
+lean_ctor_set(x_54, 1, x_51);
+lean_ctor_set(x_54, 2, x_52);
+x_55 = lean_box(0);
+x_56 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_56, 0, x_54);
+lean_ctor_set(x_56, 1, x_45);
+lean_ctor_set(x_56, 2, x_46);
+lean_ctor_set(x_56, 3, x_47);
+lean_ctor_set(x_56, 4, x_55);
+lean_ctor_set(x_56, 5, x_49);
+lean_ctor_set_uint8(x_56, sizeof(void*)*6, x_48);
+x_57 = lean_ctor_get(x_5, 0);
+lean_inc(x_57);
+x_58 = lean_array_get_size(x_57);
+lean_dec(x_57);
+x_67 = lean_unsigned_to_nat(0u);
+lean_inc(x_56);
+x_68 = l_Lean_Parser_categoryParser___elambda__1(x_2, x_67, x_56, x_5);
+x_69 = lean_ctor_get(x_68, 3);
+lean_inc(x_69);
+if (lean_obj_tag(x_69) == 0)
+{
+lean_object* x_70;
+lean_inc(x_56);
+x_70 = l_Lean_Parser_optionalFn(x_3, x_56, x_68);
+x_59 = x_70;
+goto block_66;
+}
+else
+{
+lean_dec(x_69);
+lean_dec(x_3);
+x_59 = x_68;
+goto block_66;
+}
+block_66:
+{
+lean_object* x_60; lean_object* x_61; lean_object* x_62;
+x_60 = l_Lean_nullKind;
+lean_inc(x_58);
+x_61 = l_Lean_Parser_ParserState_mkNode(x_59, x_60, x_58);
+x_62 = lean_ctor_get(x_61, 3);
+lean_inc(x_62);
+if (lean_obj_tag(x_62) == 0)
+{
+lean_object* x_63; lean_object* x_64;
+x_63 = l_Lean_Parser_manyAux(x_1, x_56, x_61);
+x_64 = l_Lean_Parser_ParserState_mkNode(x_63, x_60, x_58);
+return x_64;
+}
+else
+{
+lean_object* x_65;
+lean_dec(x_62);
+lean_dec(x_56);
+lean_dec(x_1);
+x_65 = l_Lean_Parser_ParserState_mkNode(x_61, x_60, x_58);
+return x_65;
}
}
}
@@ -3877,776 +2575,81 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
+x_1 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__10;
+x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__4;
+x_3 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__6;
+x_4 = lean_alloc_closure((void*)(l_Lean_Parser_Term_doSeqBracketed___elambda__1___lambda__1), 5, 3);
+lean_closure_set(x_4, 0, x_1);
+lean_closure_set(x_4, 1, x_2);
+lean_closure_set(x_4, 2, x_3);
+return x_4;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__5;
+x_2 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Term_doSeqBracketed___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_38; lean_object* x_93; lean_object* x_94; lean_object* x_95;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_93 = lean_ctor_get(x_7, 1);
-lean_inc(x_93);
-lean_inc(x_1);
-x_94 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_95 = lean_ctor_get(x_94, 3);
-lean_inc(x_95);
-if (lean_obj_tag(x_95) == 0)
-{
-lean_object* x_96; lean_object* x_97;
-x_96 = lean_ctor_get(x_94, 0);
-lean_inc(x_96);
-x_97 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_96);
-lean_dec(x_96);
-if (lean_obj_tag(x_97) == 2)
-{
-lean_object* x_98; lean_object* x_99; uint8_t x_100;
-x_98 = lean_ctor_get(x_97, 1);
-lean_inc(x_98);
-lean_dec(x_97);
-x_99 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__5;
-x_100 = lean_string_dec_eq(x_98, x_99);
-lean_dec(x_98);
-if (x_100 == 0)
-{
-lean_object* x_101; lean_object* x_102;
-x_101 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12;
-x_102 = l_Lean_Parser_ParserState_mkErrorsAt(x_94, x_101, x_93);
-x_38 = x_102;
-goto block_92;
-}
-else
-{
-lean_dec(x_93);
-x_38 = x_94;
-goto block_92;
-}
-}
-else
-{
-lean_object* x_103; lean_object* x_104;
-lean_dec(x_97);
-x_103 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12;
-x_104 = l_Lean_Parser_ParserState_mkErrorsAt(x_94, x_103, x_93);
-x_38 = x_104;
-goto block_92;
-}
-}
-else
-{
-lean_object* x_105; lean_object* x_106;
-lean_dec(x_95);
-x_105 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12;
-x_106 = l_Lean_Parser_ParserState_mkErrorsAt(x_94, x_105, x_93);
-x_38 = x_106;
-goto block_92;
-}
-block_37:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15;
-x_13 = lean_ctor_get(x_11, 1);
-lean_inc(x_13);
-x_14 = l_Lean_Parser_tokenFn(x_1, x_11);
-x_15 = lean_ctor_get(x_14, 3);
-lean_inc(x_15);
-if (lean_obj_tag(x_15) == 0)
-{
-lean_object* x_16; lean_object* x_17;
-x_16 = lean_ctor_get(x_14, 0);
-lean_inc(x_16);
-x_17 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_16);
-lean_dec(x_16);
-if (lean_obj_tag(x_17) == 2)
-{
-lean_object* x_18; lean_object* x_19; uint8_t x_20;
-x_18 = lean_ctor_get(x_17, 1);
-lean_inc(x_18);
-lean_dec(x_17);
-x_19 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__6;
-x_20 = lean_string_dec_eq(x_18, x_19);
-lean_dec(x_18);
-if (x_20 == 0)
-{
-lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
-x_21 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
-x_22 = l_Lean_Parser_ParserState_mkErrorsAt(x_14, x_21, x_13);
-x_23 = l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__2;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_22, x_23, x_10);
-return x_24;
-}
-else
-{
-lean_object* x_25; lean_object* x_26;
-lean_dec(x_13);
-x_25 = l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__2;
-x_26 = l_Lean_Parser_ParserState_mkNode(x_14, x_25, x_10);
-return x_26;
-}
-}
-else
-{
-lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30;
-lean_dec(x_17);
-x_27 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
-x_28 = l_Lean_Parser_ParserState_mkErrorsAt(x_14, x_27, x_13);
-x_29 = l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__2;
-x_30 = l_Lean_Parser_ParserState_mkNode(x_28, x_29, x_10);
-return x_30;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34;
-lean_dec(x_15);
-x_31 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_14, x_31, x_13);
-x_33 = l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__2;
-x_34 = l_Lean_Parser_ParserState_mkNode(x_32, x_33, x_10);
-return x_34;
-}
-}
-else
-{
-lean_object* x_35; lean_object* x_36;
-lean_dec(x_12);
-lean_dec(x_1);
-x_35 = l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__2;
-x_36 = l_Lean_Parser_ParserState_mkNode(x_11, x_35, x_10);
-return x_36;
-}
-}
-block_92:
-{
-lean_object* x_39;
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; uint8_t 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_58; lean_object* x_59; lean_object* x_60; lean_object* x_61;
-x_40 = lean_ctor_get(x_1, 0);
-lean_inc(x_40);
-x_41 = lean_ctor_get(x_1, 1);
-lean_inc(x_41);
-x_42 = lean_ctor_get(x_1, 2);
-lean_inc(x_42);
-x_43 = lean_ctor_get(x_1, 3);
-lean_inc(x_43);
-x_44 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
-x_45 = lean_ctor_get(x_1, 5);
-lean_inc(x_45);
-x_46 = lean_box(0);
-x_47 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_47, 0, x_40);
-lean_ctor_set(x_47, 1, x_41);
-lean_ctor_set(x_47, 2, x_42);
-lean_ctor_set(x_47, 3, x_43);
-lean_ctor_set(x_47, 4, x_46);
-lean_ctor_set(x_47, 5, x_45);
-lean_ctor_set_uint8(x_47, sizeof(void*)*6, x_44);
-x_48 = lean_ctor_get(x_38, 0);
-lean_inc(x_48);
-x_49 = lean_array_get_size(x_48);
-lean_dec(x_48);
-x_58 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4;
-x_59 = lean_unsigned_to_nat(0u);
-lean_inc(x_47);
-x_60 = l_Lean_Parser_categoryParser___elambda__1(x_58, x_59, x_47, x_38);
-x_61 = lean_ctor_get(x_60, 3);
-lean_inc(x_61);
-if (lean_obj_tag(x_61) == 0)
-{
-lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_77; lean_object* x_78;
-x_62 = lean_ctor_get(x_60, 0);
-lean_inc(x_62);
-x_63 = lean_array_get_size(x_62);
-lean_dec(x_62);
-x_64 = lean_ctor_get(x_60, 1);
-lean_inc(x_64);
-lean_inc(x_47);
-x_77 = l_Lean_Parser_tokenFn(x_47, x_60);
-x_78 = lean_ctor_get(x_77, 3);
-lean_inc(x_78);
-if (lean_obj_tag(x_78) == 0)
-{
-lean_object* x_79; lean_object* x_80;
-x_79 = lean_ctor_get(x_77, 0);
-lean_inc(x_79);
-x_80 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_79);
-lean_dec(x_79);
-if (lean_obj_tag(x_80) == 2)
-{
-lean_object* x_81; lean_object* x_82; uint8_t x_83;
-x_81 = lean_ctor_get(x_80, 1);
-lean_inc(x_81);
-lean_dec(x_80);
-x_82 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__1;
-x_83 = lean_string_dec_eq(x_81, x_82);
-lean_dec(x_81);
-if (x_83 == 0)
-{
-lean_object* x_84; lean_object* x_85;
-x_84 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__4;
-lean_inc(x_64);
-x_85 = l_Lean_Parser_ParserState_mkErrorsAt(x_77, x_84, x_64);
-x_65 = x_85;
-goto block_76;
-}
-else
-{
-x_65 = x_77;
-goto block_76;
-}
-}
-else
-{
-lean_object* x_86; lean_object* x_87;
-lean_dec(x_80);
-x_86 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__4;
-lean_inc(x_64);
-x_87 = l_Lean_Parser_ParserState_mkErrorsAt(x_77, x_86, x_64);
-x_65 = x_87;
-goto block_76;
-}
-}
-else
-{
-lean_object* x_88; lean_object* x_89;
-lean_dec(x_78);
-x_88 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__4;
-lean_inc(x_64);
-x_89 = l_Lean_Parser_ParserState_mkErrorsAt(x_77, x_88, x_64);
-x_65 = x_89;
-goto block_76;
-}
-block_76:
-{
-lean_object* x_66;
-x_66 = lean_ctor_get(x_65, 3);
-lean_inc(x_66);
-if (lean_obj_tag(x_66) == 0)
-{
-lean_object* x_67; lean_object* x_68;
-lean_dec(x_64);
-x_67 = l_Lean_nullKind;
-x_68 = l_Lean_Parser_ParserState_mkNode(x_65, x_67, x_63);
-x_50 = x_68;
-goto block_57;
-}
-else
-{
-lean_object* x_69; uint8_t x_70;
-lean_dec(x_66);
-x_69 = lean_ctor_get(x_65, 1);
-lean_inc(x_69);
-x_70 = lean_nat_dec_eq(x_69, x_64);
-lean_dec(x_69);
-if (x_70 == 0)
-{
-lean_object* x_71; lean_object* x_72;
-lean_dec(x_64);
-x_71 = l_Lean_nullKind;
-x_72 = l_Lean_Parser_ParserState_mkNode(x_65, x_71, x_63);
-x_50 = x_72;
-goto block_57;
-}
-else
-{
-lean_object* x_73; lean_object* x_74; lean_object* x_75;
-x_73 = l_Lean_Parser_ParserState_restore(x_65, x_63, x_64);
-x_74 = l_Lean_nullKind;
-x_75 = l_Lean_Parser_ParserState_mkNode(x_73, x_74, x_63);
-x_50 = x_75;
-goto block_57;
-}
-}
-}
-}
-else
-{
-lean_dec(x_61);
-x_50 = x_60;
-goto block_57;
-}
-block_57:
-{
-lean_object* x_51; lean_object* x_52; lean_object* x_53;
-x_51 = l_Lean_nullKind;
-lean_inc(x_49);
-x_52 = l_Lean_Parser_ParserState_mkNode(x_50, x_51, x_49);
-x_53 = lean_ctor_get(x_52, 3);
-lean_inc(x_53);
-if (lean_obj_tag(x_53) == 0)
-{
-lean_object* x_54; lean_object* x_55;
-x_54 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqBracketed___elambda__1___spec__1(x_47, x_52);
-x_55 = l_Lean_Parser_ParserState_mkNode(x_54, x_51, x_49);
-x_11 = x_55;
-goto block_37;
-}
-else
-{
-lean_object* x_56;
-lean_dec(x_53);
-lean_dec(x_47);
-x_56 = l_Lean_Parser_ParserState_mkNode(x_52, x_51, x_49);
-x_11 = x_56;
-goto block_37;
-}
-}
-}
-else
-{
-lean_object* x_90; lean_object* x_91;
-lean_dec(x_39);
-lean_dec(x_1);
-x_90 = l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__2;
-x_91 = l_Lean_Parser_ParserState_mkNode(x_38, x_90, x_10);
-return x_91;
-}
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__9;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111;
-x_107 = lean_ctor_get(x_2, 0);
-lean_inc(x_107);
-x_108 = lean_array_get_size(x_107);
-lean_dec(x_107);
-x_109 = lean_ctor_get(x_2, 1);
-lean_inc(x_109);
-lean_inc(x_1);
-x_110 = lean_apply_2(x_4, x_1, x_2);
-x_111 = lean_ctor_get(x_110, 3);
-lean_inc(x_111);
-if (lean_obj_tag(x_111) == 0)
-{
-lean_dec(x_109);
-lean_dec(x_108);
-lean_dec(x_1);
-return x_110;
-}
-else
-{
-lean_object* x_112; lean_object* x_113; uint8_t x_114;
-x_112 = lean_ctor_get(x_111, 0);
-lean_inc(x_112);
-lean_dec(x_111);
-x_113 = lean_ctor_get(x_110, 1);
-lean_inc(x_113);
-x_114 = lean_nat_dec_eq(x_113, x_109);
-lean_dec(x_113);
-if (x_114 == 0)
-{
-lean_dec(x_112);
-lean_dec(x_109);
-lean_dec(x_108);
-lean_dec(x_1);
-return x_110;
-}
-else
-{
-lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118;
-lean_inc(x_109);
-x_115 = l_Lean_Parser_ParserState_restore(x_110, x_108, x_109);
-lean_dec(x_108);
-x_116 = lean_unsigned_to_nat(1024u);
-x_117 = l_Lean_Parser_checkPrecFn(x_116, x_1, x_115);
-x_118 = lean_ctor_get(x_117, 3);
-lean_inc(x_118);
-if (lean_obj_tag(x_118) == 0)
-{
-lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_158; lean_object* x_215; lean_object* x_216; lean_object* x_217;
-x_119 = lean_ctor_get(x_117, 0);
-lean_inc(x_119);
-x_120 = lean_array_get_size(x_119);
-lean_dec(x_119);
-x_215 = lean_ctor_get(x_117, 1);
-lean_inc(x_215);
-lean_inc(x_1);
-x_216 = l_Lean_Parser_tokenFn(x_1, x_117);
-x_217 = lean_ctor_get(x_216, 3);
-lean_inc(x_217);
-if (lean_obj_tag(x_217) == 0)
-{
-lean_object* x_218; lean_object* x_219;
-x_218 = lean_ctor_get(x_216, 0);
-lean_inc(x_218);
-x_219 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_218);
-lean_dec(x_218);
-if (lean_obj_tag(x_219) == 2)
-{
-lean_object* x_220; lean_object* x_221; uint8_t x_222;
-x_220 = lean_ctor_get(x_219, 1);
-lean_inc(x_220);
-lean_dec(x_219);
-x_221 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__5;
-x_222 = lean_string_dec_eq(x_220, x_221);
-lean_dec(x_220);
-if (x_222 == 0)
-{
-lean_object* x_223; lean_object* x_224;
-x_223 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12;
-x_224 = l_Lean_Parser_ParserState_mkErrorsAt(x_216, x_223, x_215);
-x_158 = x_224;
-goto block_214;
-}
-else
-{
-lean_dec(x_215);
-x_158 = x_216;
-goto block_214;
-}
-}
-else
-{
-lean_object* x_225; lean_object* x_226;
-lean_dec(x_219);
-x_225 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12;
-x_226 = l_Lean_Parser_ParserState_mkErrorsAt(x_216, x_225, x_215);
-x_158 = x_226;
-goto block_214;
-}
-}
-else
-{
-lean_object* x_227; lean_object* x_228;
-lean_dec(x_217);
-x_227 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12;
-x_228 = l_Lean_Parser_ParserState_mkErrorsAt(x_216, x_227, x_215);
-x_158 = x_228;
-goto block_214;
-}
-block_157:
-{
-lean_object* x_122;
-x_122 = lean_ctor_get(x_121, 3);
-lean_inc(x_122);
-if (lean_obj_tag(x_122) == 0)
-{
-lean_object* x_123; lean_object* x_124; lean_object* x_125;
-x_123 = lean_ctor_get(x_121, 1);
-lean_inc(x_123);
-x_124 = l_Lean_Parser_tokenFn(x_1, x_121);
-x_125 = lean_ctor_get(x_124, 3);
-lean_inc(x_125);
-if (lean_obj_tag(x_125) == 0)
-{
-lean_object* x_126; lean_object* x_127;
-x_126 = lean_ctor_get(x_124, 0);
-lean_inc(x_126);
-x_127 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_126);
-lean_dec(x_126);
-if (lean_obj_tag(x_127) == 2)
-{
-lean_object* x_128; lean_object* x_129; uint8_t x_130;
-x_128 = lean_ctor_get(x_127, 1);
-lean_inc(x_128);
-lean_dec(x_127);
-x_129 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__6;
-x_130 = lean_string_dec_eq(x_128, x_129);
-lean_dec(x_128);
-if (x_130 == 0)
-{
-lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; uint8_t x_135; lean_object* x_136;
-x_131 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
-x_132 = l_Lean_Parser_ParserState_mkErrorsAt(x_124, x_131, x_123);
-x_133 = l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__2;
-x_134 = l_Lean_Parser_ParserState_mkNode(x_132, x_133, x_120);
-x_135 = 1;
-x_136 = l_Lean_Parser_mergeOrElseErrors(x_134, x_112, x_109, x_135);
-lean_dec(x_109);
-return x_136;
-}
-else
-{
-lean_object* x_137; lean_object* x_138; uint8_t x_139; lean_object* x_140;
-lean_dec(x_123);
-x_137 = l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__2;
-x_138 = l_Lean_Parser_ParserState_mkNode(x_124, x_137, x_120);
-x_139 = 1;
-x_140 = l_Lean_Parser_mergeOrElseErrors(x_138, x_112, x_109, x_139);
-lean_dec(x_109);
-return x_140;
-}
-}
-else
-{
-lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; uint8_t x_145; lean_object* x_146;
-lean_dec(x_127);
-x_141 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
-x_142 = l_Lean_Parser_ParserState_mkErrorsAt(x_124, x_141, x_123);
-x_143 = l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__2;
-x_144 = l_Lean_Parser_ParserState_mkNode(x_142, x_143, x_120);
-x_145 = 1;
-x_146 = l_Lean_Parser_mergeOrElseErrors(x_144, x_112, x_109, x_145);
-lean_dec(x_109);
-return x_146;
-}
-}
-else
-{
-lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; uint8_t x_151; lean_object* x_152;
-lean_dec(x_125);
-x_147 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
-x_148 = l_Lean_Parser_ParserState_mkErrorsAt(x_124, x_147, x_123);
-x_149 = l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__2;
-x_150 = l_Lean_Parser_ParserState_mkNode(x_148, x_149, x_120);
-x_151 = 1;
-x_152 = l_Lean_Parser_mergeOrElseErrors(x_150, x_112, x_109, x_151);
-lean_dec(x_109);
-return x_152;
-}
-}
-else
-{
-lean_object* x_153; lean_object* x_154; uint8_t x_155; lean_object* x_156;
-lean_dec(x_122);
-lean_dec(x_1);
-x_153 = l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__2;
-x_154 = l_Lean_Parser_ParserState_mkNode(x_121, x_153, x_120);
-x_155 = 1;
-x_156 = l_Lean_Parser_mergeOrElseErrors(x_154, x_112, x_109, x_155);
-lean_dec(x_109);
-return x_156;
-}
-}
-block_214:
-{
-lean_object* x_159;
-x_159 = lean_ctor_get(x_158, 3);
-lean_inc(x_159);
-if (lean_obj_tag(x_159) == 0)
-{
-lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; uint8_t x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181;
-x_160 = lean_ctor_get(x_1, 0);
-lean_inc(x_160);
-x_161 = lean_ctor_get(x_1, 1);
-lean_inc(x_161);
-x_162 = lean_ctor_get(x_1, 2);
-lean_inc(x_162);
-x_163 = lean_ctor_get(x_1, 3);
-lean_inc(x_163);
-x_164 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
-x_165 = lean_ctor_get(x_1, 5);
-lean_inc(x_165);
-x_166 = lean_box(0);
-x_167 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_167, 0, x_160);
-lean_ctor_set(x_167, 1, x_161);
-lean_ctor_set(x_167, 2, x_162);
-lean_ctor_set(x_167, 3, x_163);
-lean_ctor_set(x_167, 4, x_166);
-lean_ctor_set(x_167, 5, x_165);
-lean_ctor_set_uint8(x_167, sizeof(void*)*6, x_164);
-x_168 = lean_ctor_get(x_158, 0);
-lean_inc(x_168);
-x_169 = lean_array_get_size(x_168);
-lean_dec(x_168);
-x_178 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4;
-x_179 = lean_unsigned_to_nat(0u);
-lean_inc(x_167);
-x_180 = l_Lean_Parser_categoryParser___elambda__1(x_178, x_179, x_167, x_158);
-x_181 = lean_ctor_get(x_180, 3);
-lean_inc(x_181);
-if (lean_obj_tag(x_181) == 0)
-{
-lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_197; lean_object* x_198;
-x_182 = lean_ctor_get(x_180, 0);
-lean_inc(x_182);
-x_183 = lean_array_get_size(x_182);
-lean_dec(x_182);
-x_184 = lean_ctor_get(x_180, 1);
-lean_inc(x_184);
-lean_inc(x_167);
-x_197 = l_Lean_Parser_tokenFn(x_167, x_180);
-x_198 = lean_ctor_get(x_197, 3);
-lean_inc(x_198);
-if (lean_obj_tag(x_198) == 0)
-{
-lean_object* x_199; lean_object* x_200;
-x_199 = lean_ctor_get(x_197, 0);
-lean_inc(x_199);
-x_200 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_199);
-lean_dec(x_199);
-if (lean_obj_tag(x_200) == 2)
-{
-lean_object* x_201; lean_object* x_202; uint8_t x_203;
-x_201 = lean_ctor_get(x_200, 1);
-lean_inc(x_201);
-lean_dec(x_200);
-x_202 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__1;
-x_203 = lean_string_dec_eq(x_201, x_202);
-lean_dec(x_201);
-if (x_203 == 0)
-{
-lean_object* x_204; lean_object* x_205;
-x_204 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__4;
-lean_inc(x_184);
-x_205 = l_Lean_Parser_ParserState_mkErrorsAt(x_197, x_204, x_184);
-x_185 = x_205;
-goto block_196;
-}
-else
-{
-x_185 = x_197;
-goto block_196;
-}
-}
-else
-{
-lean_object* x_206; lean_object* x_207;
-lean_dec(x_200);
-x_206 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__4;
-lean_inc(x_184);
-x_207 = l_Lean_Parser_ParserState_mkErrorsAt(x_197, x_206, x_184);
-x_185 = x_207;
-goto block_196;
-}
-}
-else
-{
-lean_object* x_208; lean_object* x_209;
-lean_dec(x_198);
-x_208 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__4;
-lean_inc(x_184);
-x_209 = l_Lean_Parser_ParserState_mkErrorsAt(x_197, x_208, x_184);
-x_185 = x_209;
-goto block_196;
-}
-block_196:
-{
-lean_object* x_186;
-x_186 = lean_ctor_get(x_185, 3);
-lean_inc(x_186);
-if (lean_obj_tag(x_186) == 0)
-{
-lean_object* x_187; lean_object* x_188;
-lean_dec(x_184);
-x_187 = l_Lean_nullKind;
-x_188 = l_Lean_Parser_ParserState_mkNode(x_185, x_187, x_183);
-x_170 = x_188;
-goto block_177;
-}
-else
-{
-lean_object* x_189; uint8_t x_190;
-lean_dec(x_186);
-x_189 = lean_ctor_get(x_185, 1);
-lean_inc(x_189);
-x_190 = lean_nat_dec_eq(x_189, x_184);
-lean_dec(x_189);
-if (x_190 == 0)
-{
-lean_object* x_191; lean_object* x_192;
-lean_dec(x_184);
-x_191 = l_Lean_nullKind;
-x_192 = l_Lean_Parser_ParserState_mkNode(x_185, x_191, x_183);
-x_170 = x_192;
-goto block_177;
-}
-else
-{
-lean_object* x_193; lean_object* x_194; lean_object* x_195;
-x_193 = l_Lean_Parser_ParserState_restore(x_185, x_183, x_184);
-x_194 = l_Lean_nullKind;
-x_195 = l_Lean_Parser_ParserState_mkNode(x_193, x_194, x_183);
-x_170 = x_195;
-goto block_177;
-}
-}
-}
-}
-else
-{
-lean_dec(x_181);
-x_170 = x_180;
-goto block_177;
-}
-block_177:
-{
-lean_object* x_171; lean_object* x_172; lean_object* x_173;
-x_171 = l_Lean_nullKind;
-lean_inc(x_169);
-x_172 = l_Lean_Parser_ParserState_mkNode(x_170, x_171, x_169);
-x_173 = lean_ctor_get(x_172, 3);
-lean_inc(x_173);
-if (lean_obj_tag(x_173) == 0)
-{
-lean_object* x_174; lean_object* x_175;
-x_174 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqBracketed___elambda__1___spec__1(x_167, x_172);
-x_175 = l_Lean_Parser_ParserState_mkNode(x_174, x_171, x_169);
-x_121 = x_175;
-goto block_157;
-}
-else
-{
-lean_object* x_176;
-lean_dec(x_173);
-lean_dec(x_167);
-x_176 = l_Lean_Parser_ParserState_mkNode(x_172, x_171, x_169);
-x_121 = x_176;
-goto block_157;
-}
-}
-}
-else
-{
-lean_object* x_210; lean_object* x_211; uint8_t x_212; lean_object* x_213;
-lean_dec(x_159);
-lean_dec(x_1);
-x_210 = l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__2;
-x_211 = l_Lean_Parser_ParserState_mkNode(x_158, x_210, x_120);
-x_212 = 1;
-x_213 = l_Lean_Parser_mergeOrElseErrors(x_211, x_112, x_109, x_212);
-lean_dec(x_109);
-return x_213;
-}
-}
-}
-else
-{
-uint8_t x_229; lean_object* x_230;
-lean_dec(x_118);
-lean_dec(x_1);
-x_229 = 1;
-x_230 = l_Lean_Parser_mergeOrElseErrors(x_117, x_112, x_109, x_229);
-lean_dec(x_109);
-return x_230;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Term_doSeqBracketed___closed__1() {
_start:
{
@@ -4730,56 +2733,13 @@ return x_1;
lean_object* l_Lean_Parser_Term_doSeq___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-lean_inc(x_1);
-x_6 = l_Lean_Parser_Term_doSeqBracketed___elambda__1(x_1, x_2);
-x_7 = lean_ctor_get(x_6, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
-{
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_1);
+lean_object* x_3; lean_object* x_4; uint8_t x_5; lean_object* x_6;
+x_3 = l_Lean_Parser_Term_doSeqBracketed___closed__6;
+x_4 = l_Lean_Parser_Term_doSeqIndent___closed__10;
+x_5 = 1;
+x_6 = l_Lean_Parser_orelseFnCore(x_3, x_4, x_5, x_1, x_2);
return x_6;
}
-else
-{
-lean_object* x_8; lean_object* x_9; uint8_t x_10;
-x_8 = lean_ctor_get(x_7, 0);
-lean_inc(x_8);
-lean_dec(x_7);
-x_9 = lean_ctor_get(x_6, 1);
-lean_inc(x_9);
-x_10 = lean_nat_dec_eq(x_9, x_5);
-lean_dec(x_9);
-if (x_10 == 0)
-{
-lean_dec(x_8);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_6;
-}
-else
-{
-lean_object* x_11; lean_object* x_12; uint8_t x_13; lean_object* x_14;
-lean_inc(x_5);
-x_11 = l_Lean_Parser_ParserState_restore(x_6, x_4, x_5);
-lean_dec(x_4);
-x_12 = l_Lean_Parser_Term_doSeqIndent___elambda__1(x_1, x_11);
-x_13 = 1;
-x_14 = l_Lean_Parser_mergeOrElseErrors(x_12, x_8, x_5, x_13);
-lean_dec(x_5);
-return x_14;
-}
-}
-}
}
static lean_object* _init_l_Lean_Parser_Term_doSeq___closed__1() {
_start:
@@ -4836,8 +2796,9 @@ static lean_object* _init_l_Lean_Parser_Term_notFollowedByRedefinedTermToken___e
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Term_match___elambda__1___closed__1;
-x_2 = l_String_trim(x_1);
+x_1 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__1;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
return x_2;
}
}
@@ -4845,7 +2806,7 @@ static lean_object* _init_l_Lean_Parser_Term_notFollowedByRedefinedTermToken___e
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Array_myMacro____x40_Init_Data_Array_Macros___hyg_464____closed__1;
+x_1 = l_Lean_Parser_Term_match___elambda__1___closed__1;
x_2 = l_String_trim(x_1);
return x_2;
}
@@ -4854,17 +2815,19 @@ static lean_object* _init_l_Lean_Parser_Term_notFollowedByRedefinedTermToken___e
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Term_have___elambda__1___closed__1;
-x_2 = l_String_trim(x_1);
+x_1 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__3;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__5() {
_start:
{
-lean_object* x_1;
-x_1 = lean_mk_string("do");
-return x_1;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Array_myMacro____x40_Init_Data_Array_Macros___hyg_464____closed__1;
+x_2 = l_String_trim(x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__6() {
@@ -4872,16 +2835,18 @@ _start:
{
lean_object* x_1; lean_object* x_2;
x_1 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__5;
-x_2 = l_String_trim(x_1);
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__7() {
_start:
{
-lean_object* x_1;
-x_1 = lean_mk_string("dbgTrace!");
-return x_1;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_have___elambda__1___closed__1;
+x_2 = l_String_trim(x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__8() {
@@ -4889,7 +2854,8 @@ _start:
{
lean_object* x_1; lean_object* x_2;
x_1 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__7;
-x_2 = l_String_trim(x_1);
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
return x_2;
}
}
@@ -4897,7 +2863,7 @@ static lean_object* _init_l_Lean_Parser_Term_notFollowedByRedefinedTermToken___e
_start:
{
lean_object* x_1;
-x_1 = lean_mk_string("assert!");
+x_1 = lean_mk_string("do");
return x_1;
}
}
@@ -4913,82 +2879,76 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__11() {
_start:
{
-lean_object* x_1;
-x_1 = lean_mk_string("token at 'do' element");
-return x_1;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__10;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__12() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_notFollowedByFn___closed__1;
-x_2 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__11;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1;
+x_1 = lean_mk_string("dbgTrace!");
+return x_1;
}
}
static lean_object* _init_l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__13() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__10;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__12;
+x_2 = l_String_trim(x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__14() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
+lean_object* x_1; lean_object* x_2;
x_1 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__13;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__15() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__14;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
+lean_object* x_1;
+x_1 = lean_mk_string("assert!");
+return x_1;
}
}
static lean_object* _init_l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__16() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__8;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__15;
+x_2 = l_String_trim(x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__17() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
+lean_object* x_1; lean_object* x_2;
x_1 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__16;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__18() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__14;
x_2 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__17;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -4996,9 +2956,11 @@ static lean_object* _init_l_Lean_Parser_Term_notFollowedByRedefinedTermToken___e
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__11;
+x_2 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__18;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -5006,9 +2968,11 @@ static lean_object* _init_l_Lean_Parser_Term_notFollowedByRedefinedTermToken___e
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__19;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__19;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -5016,11 +2980,11 @@ static lean_object* _init_l_Lean_Parser_Term_notFollowedByRedefinedTermToken___e
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__6;
x_2 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__20;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -5028,9 +2992,11 @@ static lean_object* _init_l_Lean_Parser_Term_notFollowedByRedefinedTermToken___e
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__4;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__4;
+x_2 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__21;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -5038,874 +3004,30 @@ static lean_object* _init_l_Lean_Parser_Term_notFollowedByRedefinedTermToken___e
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__22;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__22;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
static lean_object* _init_l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__24() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__23;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
-}
-}
-static lean_object* _init_l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__25() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__3;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
-}
-}
-static lean_object* _init_l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__26() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__25;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
-}
-}
-static lean_object* _init_l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__27() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__26;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
-}
-}
-static lean_object* _init_l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__28() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__2;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
-}
-}
-static lean_object* _init_l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__29() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__28;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
-}
-}
-static lean_object* _init_l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__30() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__29;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
-}
-}
-static lean_object* _init_l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__31() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__1;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
-}
-}
-static lean_object* _init_l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__32() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__31;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
-}
-}
-static lean_object* _init_l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__33() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__32;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
+lean_object* x_1;
+x_1 = lean_mk_string("token at 'do' element");
+return x_1;
}
}
lean_object* l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_13; lean_object* x_211; lean_object* x_212;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-lean_inc(x_1);
-x_211 = l_Lean_Parser_tokenFn(x_1, x_2);
-x_212 = lean_ctor_get(x_211, 3);
-lean_inc(x_212);
-if (lean_obj_tag(x_212) == 0)
-{
-lean_object* x_213; lean_object* x_214;
-x_213 = lean_ctor_get(x_211, 0);
-lean_inc(x_213);
-x_214 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_213);
-lean_dec(x_213);
-if (lean_obj_tag(x_214) == 2)
-{
-lean_object* x_215; lean_object* x_216; uint8_t x_217;
-x_215 = lean_ctor_get(x_214, 1);
-lean_inc(x_215);
-lean_dec(x_214);
-x_216 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__1;
-x_217 = lean_string_dec_eq(x_215, x_216);
-lean_dec(x_215);
-if (x_217 == 0)
-{
-lean_object* x_218; lean_object* x_219;
-x_218 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__33;
-lean_inc(x_5);
-x_219 = l_Lean_Parser_ParserState_mkErrorsAt(x_211, x_218, x_5);
-x_13 = x_219;
-goto block_210;
-}
-else
-{
-x_13 = x_211;
-goto block_210;
-}
-}
-else
-{
-lean_object* x_220; lean_object* x_221;
-lean_dec(x_214);
-x_220 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__33;
-lean_inc(x_5);
-x_221 = l_Lean_Parser_ParserState_mkErrorsAt(x_211, x_220, x_5);
-x_13 = x_221;
-goto block_210;
-}
-}
-else
-{
-lean_object* x_222; lean_object* x_223;
-lean_dec(x_212);
-x_222 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__33;
-lean_inc(x_5);
-x_223 = l_Lean_Parser_ParserState_mkErrorsAt(x_211, x_222, x_5);
-x_13 = x_223;
-goto block_210;
-}
-block_12:
-{
-lean_object* x_7;
-x_7 = lean_ctor_get(x_6, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
-{
-lean_object* x_8; lean_object* x_9; lean_object* x_10;
-x_8 = l_Lean_Parser_ParserState_restore(x_6, x_4, x_5);
-lean_dec(x_4);
-x_9 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__12;
-x_10 = l_Lean_Parser_ParserState_mkUnexpectedError(x_8, x_9);
-return x_10;
-}
-else
-{
-lean_object* x_11;
-lean_dec(x_7);
-x_11 = l_Lean_Parser_ParserState_restore(x_6, x_4, x_5);
-lean_dec(x_4);
-return x_11;
-}
-}
-block_210:
-{
-lean_object* x_14;
-x_14 = lean_ctor_get(x_13, 3);
-lean_inc(x_14);
-if (lean_obj_tag(x_14) == 0)
-{
-lean_dec(x_1);
-x_6 = x_13;
-goto block_12;
-}
-else
-{
-lean_object* x_15; lean_object* x_16; uint8_t x_17;
-x_15 = lean_ctor_get(x_14, 0);
-lean_inc(x_15);
-lean_dec(x_14);
-x_16 = lean_ctor_get(x_13, 1);
-lean_inc(x_16);
-x_17 = lean_nat_dec_eq(x_16, x_5);
-lean_dec(x_16);
-if (x_17 == 0)
-{
-lean_dec(x_15);
-lean_dec(x_1);
-x_6 = x_13;
-goto block_12;
-}
-else
-{
-lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_197; lean_object* x_198;
-lean_inc(x_5);
-x_18 = l_Lean_Parser_ParserState_restore(x_13, x_4, x_5);
-x_19 = lean_ctor_get(x_18, 0);
-lean_inc(x_19);
-x_20 = lean_array_get_size(x_19);
-lean_dec(x_19);
-lean_inc(x_1);
-x_197 = l_Lean_Parser_tokenFn(x_1, x_18);
-x_198 = lean_ctor_get(x_197, 3);
-lean_inc(x_198);
-if (lean_obj_tag(x_198) == 0)
-{
-lean_object* x_199; lean_object* x_200;
-x_199 = lean_ctor_get(x_197, 0);
-lean_inc(x_199);
-x_200 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_199);
-lean_dec(x_199);
-if (lean_obj_tag(x_200) == 2)
-{
-lean_object* x_201; lean_object* x_202; uint8_t x_203;
-x_201 = lean_ctor_get(x_200, 1);
-lean_inc(x_201);
-lean_dec(x_200);
-x_202 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__2;
-x_203 = lean_string_dec_eq(x_201, x_202);
-lean_dec(x_201);
-if (x_203 == 0)
-{
-lean_object* x_204; lean_object* x_205;
-x_204 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__30;
-lean_inc(x_5);
-x_205 = l_Lean_Parser_ParserState_mkErrorsAt(x_197, x_204, x_5);
-x_21 = x_205;
-goto block_196;
-}
-else
-{
-x_21 = x_197;
-goto block_196;
-}
-}
-else
-{
-lean_object* x_206; lean_object* x_207;
-lean_dec(x_200);
-x_206 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__30;
-lean_inc(x_5);
-x_207 = l_Lean_Parser_ParserState_mkErrorsAt(x_197, x_206, x_5);
-x_21 = x_207;
-goto block_196;
-}
-}
-else
-{
-lean_object* x_208; lean_object* x_209;
-lean_dec(x_198);
-x_208 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__30;
-lean_inc(x_5);
-x_209 = l_Lean_Parser_ParserState_mkErrorsAt(x_197, x_208, x_5);
-x_21 = x_209;
-goto block_196;
-}
-block_196:
-{
-lean_object* x_22;
-x_22 = lean_ctor_get(x_21, 3);
-lean_inc(x_22);
-if (lean_obj_tag(x_22) == 0)
-{
-uint8_t x_23; lean_object* x_24;
-lean_dec(x_20);
-lean_dec(x_1);
-x_23 = 1;
-x_24 = l_Lean_Parser_mergeOrElseErrors(x_21, x_15, x_5, x_23);
-x_6 = x_24;
-goto block_12;
-}
-else
-{
-lean_object* x_25; lean_object* x_26; uint8_t x_27;
-x_25 = lean_ctor_get(x_22, 0);
-lean_inc(x_25);
-lean_dec(x_22);
-x_26 = lean_ctor_get(x_21, 1);
-lean_inc(x_26);
-x_27 = lean_nat_dec_eq(x_26, x_5);
-lean_dec(x_26);
-if (x_27 == 0)
-{
-uint8_t x_28; lean_object* x_29;
-lean_dec(x_25);
-lean_dec(x_20);
-lean_dec(x_1);
-x_28 = 1;
-x_29 = l_Lean_Parser_mergeOrElseErrors(x_21, x_15, x_5, x_28);
-x_6 = x_29;
-goto block_12;
-}
-else
-{
-lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_183; lean_object* x_184;
-lean_inc(x_5);
-x_30 = l_Lean_Parser_ParserState_restore(x_21, x_20, x_5);
-lean_dec(x_20);
-x_31 = lean_ctor_get(x_30, 0);
-lean_inc(x_31);
-x_32 = lean_array_get_size(x_31);
-lean_dec(x_31);
-lean_inc(x_1);
-x_183 = l_Lean_Parser_tokenFn(x_1, x_30);
-x_184 = lean_ctor_get(x_183, 3);
-lean_inc(x_184);
-if (lean_obj_tag(x_184) == 0)
-{
-lean_object* x_185; lean_object* x_186;
-x_185 = lean_ctor_get(x_183, 0);
-lean_inc(x_185);
-x_186 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_185);
-lean_dec(x_185);
-if (lean_obj_tag(x_186) == 2)
-{
-lean_object* x_187; lean_object* x_188; uint8_t x_189;
-x_187 = lean_ctor_get(x_186, 1);
-lean_inc(x_187);
-lean_dec(x_186);
-x_188 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__3;
-x_189 = lean_string_dec_eq(x_187, x_188);
-lean_dec(x_187);
-if (x_189 == 0)
-{
-lean_object* x_190; lean_object* x_191;
-x_190 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__27;
-lean_inc(x_5);
-x_191 = l_Lean_Parser_ParserState_mkErrorsAt(x_183, x_190, x_5);
-x_33 = x_191;
-goto block_182;
-}
-else
-{
-x_33 = x_183;
-goto block_182;
-}
-}
-else
-{
-lean_object* x_192; lean_object* x_193;
-lean_dec(x_186);
-x_192 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__27;
-lean_inc(x_5);
-x_193 = l_Lean_Parser_ParserState_mkErrorsAt(x_183, x_192, x_5);
-x_33 = x_193;
-goto block_182;
-}
-}
-else
-{
-lean_object* x_194; lean_object* x_195;
-lean_dec(x_184);
-x_194 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__27;
-lean_inc(x_5);
-x_195 = l_Lean_Parser_ParserState_mkErrorsAt(x_183, x_194, x_5);
-x_33 = x_195;
-goto block_182;
-}
-block_182:
-{
-lean_object* x_34;
-x_34 = lean_ctor_get(x_33, 3);
-lean_inc(x_34);
-if (lean_obj_tag(x_34) == 0)
-{
-uint8_t x_35; lean_object* x_36; lean_object* x_37;
-lean_dec(x_32);
-lean_dec(x_1);
-x_35 = 1;
-x_36 = l_Lean_Parser_mergeOrElseErrors(x_33, x_25, x_5, x_35);
-x_37 = l_Lean_Parser_mergeOrElseErrors(x_36, x_15, x_5, x_35);
-x_6 = x_37;
-goto block_12;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_34, 0);
-lean_inc(x_38);
-lean_dec(x_34);
-x_39 = lean_ctor_get(x_33, 1);
-lean_inc(x_39);
-x_40 = lean_nat_dec_eq(x_39, x_5);
-lean_dec(x_39);
-if (x_40 == 0)
-{
-uint8_t x_41; lean_object* x_42; lean_object* x_43;
-lean_dec(x_38);
-lean_dec(x_32);
-lean_dec(x_1);
-x_41 = 1;
-x_42 = l_Lean_Parser_mergeOrElseErrors(x_33, x_25, x_5, x_41);
-x_43 = l_Lean_Parser_mergeOrElseErrors(x_42, x_15, x_5, x_41);
-x_6 = x_43;
-goto block_12;
-}
-else
-{
-lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_169; lean_object* x_170;
-lean_inc(x_5);
-x_44 = l_Lean_Parser_ParserState_restore(x_33, x_32, x_5);
-lean_dec(x_32);
-x_45 = lean_ctor_get(x_44, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-lean_inc(x_1);
-x_169 = l_Lean_Parser_tokenFn(x_1, x_44);
-x_170 = lean_ctor_get(x_169, 3);
-lean_inc(x_170);
-if (lean_obj_tag(x_170) == 0)
-{
-lean_object* x_171; lean_object* x_172;
-x_171 = lean_ctor_get(x_169, 0);
-lean_inc(x_171);
-x_172 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_171);
-lean_dec(x_171);
-if (lean_obj_tag(x_172) == 2)
-{
-lean_object* x_173; lean_object* x_174; uint8_t x_175;
-x_173 = lean_ctor_get(x_172, 1);
-lean_inc(x_173);
-lean_dec(x_172);
-x_174 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__4;
-x_175 = lean_string_dec_eq(x_173, x_174);
-lean_dec(x_173);
-if (x_175 == 0)
-{
-lean_object* x_176; lean_object* x_177;
-x_176 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__24;
-lean_inc(x_5);
-x_177 = l_Lean_Parser_ParserState_mkErrorsAt(x_169, x_176, x_5);
-x_47 = x_177;
-goto block_168;
-}
-else
-{
-x_47 = x_169;
-goto block_168;
-}
-}
-else
-{
-lean_object* x_178; lean_object* x_179;
-lean_dec(x_172);
-x_178 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__24;
-lean_inc(x_5);
-x_179 = l_Lean_Parser_ParserState_mkErrorsAt(x_169, x_178, x_5);
-x_47 = x_179;
-goto block_168;
-}
-}
-else
-{
-lean_object* x_180; lean_object* x_181;
-lean_dec(x_170);
-x_180 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__24;
-lean_inc(x_5);
-x_181 = l_Lean_Parser_ParserState_mkErrorsAt(x_169, x_180, x_5);
-x_47 = x_181;
-goto block_168;
-}
-block_168:
-{
-lean_object* x_48;
-x_48 = lean_ctor_get(x_47, 3);
-lean_inc(x_48);
-if (lean_obj_tag(x_48) == 0)
-{
-uint8_t x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52;
-lean_dec(x_46);
-lean_dec(x_1);
-x_49 = 1;
-x_50 = l_Lean_Parser_mergeOrElseErrors(x_47, x_38, x_5, x_49);
-x_51 = l_Lean_Parser_mergeOrElseErrors(x_50, x_25, x_5, x_49);
-x_52 = l_Lean_Parser_mergeOrElseErrors(x_51, x_15, x_5, x_49);
-x_6 = x_52;
-goto block_12;
-}
-else
-{
-lean_object* x_53; lean_object* x_54; uint8_t x_55;
-x_53 = lean_ctor_get(x_48, 0);
-lean_inc(x_53);
-lean_dec(x_48);
-x_54 = lean_ctor_get(x_47, 1);
-lean_inc(x_54);
-x_55 = lean_nat_dec_eq(x_54, x_5);
-lean_dec(x_54);
-if (x_55 == 0)
-{
-uint8_t x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59;
-lean_dec(x_53);
-lean_dec(x_46);
-lean_dec(x_1);
-x_56 = 1;
-x_57 = l_Lean_Parser_mergeOrElseErrors(x_47, x_38, x_5, x_56);
-x_58 = l_Lean_Parser_mergeOrElseErrors(x_57, x_25, x_5, x_56);
-x_59 = l_Lean_Parser_mergeOrElseErrors(x_58, x_15, x_5, x_56);
-x_6 = x_59;
-goto block_12;
-}
-else
-{
-lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_155; lean_object* x_156;
-lean_inc(x_5);
-x_60 = l_Lean_Parser_ParserState_restore(x_47, x_46, x_5);
-lean_dec(x_46);
-x_61 = lean_ctor_get(x_60, 0);
-lean_inc(x_61);
-x_62 = lean_array_get_size(x_61);
-lean_dec(x_61);
-lean_inc(x_1);
-x_155 = l_Lean_Parser_tokenFn(x_1, x_60);
-x_156 = lean_ctor_get(x_155, 3);
-lean_inc(x_156);
-if (lean_obj_tag(x_156) == 0)
-{
-lean_object* x_157; lean_object* x_158;
-x_157 = lean_ctor_get(x_155, 0);
-lean_inc(x_157);
-x_158 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_157);
-lean_dec(x_157);
-if (lean_obj_tag(x_158) == 2)
-{
-lean_object* x_159; lean_object* x_160; uint8_t x_161;
-x_159 = lean_ctor_get(x_158, 1);
-lean_inc(x_159);
-lean_dec(x_158);
-x_160 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__6;
-x_161 = lean_string_dec_eq(x_159, x_160);
-lean_dec(x_159);
-if (x_161 == 0)
-{
-lean_object* x_162; lean_object* x_163;
-x_162 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__21;
-lean_inc(x_5);
-x_163 = l_Lean_Parser_ParserState_mkErrorsAt(x_155, x_162, x_5);
-x_63 = x_163;
-goto block_154;
-}
-else
-{
-x_63 = x_155;
-goto block_154;
-}
-}
-else
-{
-lean_object* x_164; lean_object* x_165;
-lean_dec(x_158);
-x_164 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__21;
-lean_inc(x_5);
-x_165 = l_Lean_Parser_ParserState_mkErrorsAt(x_155, x_164, x_5);
-x_63 = x_165;
-goto block_154;
-}
-}
-else
-{
-lean_object* x_166; lean_object* x_167;
-lean_dec(x_156);
-x_166 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__21;
-lean_inc(x_5);
-x_167 = l_Lean_Parser_ParserState_mkErrorsAt(x_155, x_166, x_5);
-x_63 = x_167;
-goto block_154;
-}
-block_154:
-{
-lean_object* x_64;
-x_64 = lean_ctor_get(x_63, 3);
-lean_inc(x_64);
-if (lean_obj_tag(x_64) == 0)
-{
-uint8_t x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69;
-lean_dec(x_62);
-lean_dec(x_1);
-x_65 = 1;
-x_66 = l_Lean_Parser_mergeOrElseErrors(x_63, x_53, x_5, x_65);
-x_67 = l_Lean_Parser_mergeOrElseErrors(x_66, x_38, x_5, x_65);
-x_68 = l_Lean_Parser_mergeOrElseErrors(x_67, x_25, x_5, x_65);
-x_69 = l_Lean_Parser_mergeOrElseErrors(x_68, x_15, x_5, x_65);
-x_6 = x_69;
-goto block_12;
-}
-else
-{
-lean_object* x_70; lean_object* x_71; uint8_t x_72;
-x_70 = lean_ctor_get(x_64, 0);
-lean_inc(x_70);
-lean_dec(x_64);
-x_71 = lean_ctor_get(x_63, 1);
-lean_inc(x_71);
-x_72 = lean_nat_dec_eq(x_71, x_5);
-lean_dec(x_71);
-if (x_72 == 0)
-{
-uint8_t x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77;
-lean_dec(x_70);
-lean_dec(x_62);
-lean_dec(x_1);
-x_73 = 1;
-x_74 = l_Lean_Parser_mergeOrElseErrors(x_63, x_53, x_5, x_73);
-x_75 = l_Lean_Parser_mergeOrElseErrors(x_74, x_38, x_5, x_73);
-x_76 = l_Lean_Parser_mergeOrElseErrors(x_75, x_25, x_5, x_73);
-x_77 = l_Lean_Parser_mergeOrElseErrors(x_76, x_15, x_5, x_73);
-x_6 = x_77;
-goto block_12;
-}
-else
-{
-lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_141; lean_object* x_142;
-lean_inc(x_5);
-x_78 = l_Lean_Parser_ParserState_restore(x_63, x_62, x_5);
-lean_dec(x_62);
-x_79 = lean_ctor_get(x_78, 0);
-lean_inc(x_79);
-x_80 = lean_array_get_size(x_79);
-lean_dec(x_79);
-lean_inc(x_1);
-x_141 = l_Lean_Parser_tokenFn(x_1, x_78);
-x_142 = lean_ctor_get(x_141, 3);
-lean_inc(x_142);
-if (lean_obj_tag(x_142) == 0)
-{
-lean_object* x_143; lean_object* x_144;
-x_143 = lean_ctor_get(x_141, 0);
-lean_inc(x_143);
-x_144 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_143);
-lean_dec(x_143);
-if (lean_obj_tag(x_144) == 2)
-{
-lean_object* x_145; lean_object* x_146; uint8_t x_147;
-x_145 = lean_ctor_get(x_144, 1);
-lean_inc(x_145);
-lean_dec(x_144);
-x_146 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__8;
-x_147 = lean_string_dec_eq(x_145, x_146);
-lean_dec(x_145);
-if (x_147 == 0)
-{
-lean_object* x_148; lean_object* x_149;
-x_148 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__18;
-lean_inc(x_5);
-x_149 = l_Lean_Parser_ParserState_mkErrorsAt(x_141, x_148, x_5);
-x_81 = x_149;
-goto block_140;
-}
-else
-{
-x_81 = x_141;
-goto block_140;
-}
-}
-else
-{
-lean_object* x_150; lean_object* x_151;
-lean_dec(x_144);
-x_150 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__18;
-lean_inc(x_5);
-x_151 = l_Lean_Parser_ParserState_mkErrorsAt(x_141, x_150, x_5);
-x_81 = x_151;
-goto block_140;
-}
-}
-else
-{
-lean_object* x_152; lean_object* x_153;
-lean_dec(x_142);
-x_152 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__18;
-lean_inc(x_5);
-x_153 = l_Lean_Parser_ParserState_mkErrorsAt(x_141, x_152, x_5);
-x_81 = x_153;
-goto block_140;
-}
-block_140:
-{
-lean_object* x_82;
-x_82 = lean_ctor_get(x_81, 3);
-lean_inc(x_82);
-if (lean_obj_tag(x_82) == 0)
-{
-uint8_t x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88;
-lean_dec(x_80);
-lean_dec(x_1);
-x_83 = 1;
-x_84 = l_Lean_Parser_mergeOrElseErrors(x_81, x_70, x_5, x_83);
-x_85 = l_Lean_Parser_mergeOrElseErrors(x_84, x_53, x_5, x_83);
-x_86 = l_Lean_Parser_mergeOrElseErrors(x_85, x_38, x_5, x_83);
-x_87 = l_Lean_Parser_mergeOrElseErrors(x_86, x_25, x_5, x_83);
-x_88 = l_Lean_Parser_mergeOrElseErrors(x_87, x_15, x_5, x_83);
-x_6 = x_88;
-goto block_12;
-}
-else
-{
-lean_object* x_89; lean_object* x_90; uint8_t x_91;
-x_89 = lean_ctor_get(x_82, 0);
-lean_inc(x_89);
-lean_dec(x_82);
-x_90 = lean_ctor_get(x_81, 1);
-lean_inc(x_90);
-x_91 = lean_nat_dec_eq(x_90, x_5);
-lean_dec(x_90);
-if (x_91 == 0)
-{
-uint8_t x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97;
-lean_dec(x_89);
-lean_dec(x_80);
-lean_dec(x_1);
-x_92 = 1;
-x_93 = l_Lean_Parser_mergeOrElseErrors(x_81, x_70, x_5, x_92);
-x_94 = l_Lean_Parser_mergeOrElseErrors(x_93, x_53, x_5, x_92);
-x_95 = l_Lean_Parser_mergeOrElseErrors(x_94, x_38, x_5, x_92);
-x_96 = l_Lean_Parser_mergeOrElseErrors(x_95, x_25, x_5, x_92);
-x_97 = l_Lean_Parser_mergeOrElseErrors(x_96, x_15, x_5, x_92);
-x_6 = x_97;
-goto block_12;
-}
-else
-{
-lean_object* x_98; lean_object* x_99; lean_object* x_100;
-lean_inc(x_5);
-x_98 = l_Lean_Parser_ParserState_restore(x_81, x_80, x_5);
-lean_dec(x_80);
-x_99 = l_Lean_Parser_tokenFn(x_1, x_98);
-x_100 = lean_ctor_get(x_99, 3);
-lean_inc(x_100);
-if (lean_obj_tag(x_100) == 0)
-{
-lean_object* x_101; lean_object* x_102;
-x_101 = lean_ctor_get(x_99, 0);
-lean_inc(x_101);
-x_102 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_101);
-lean_dec(x_101);
-if (lean_obj_tag(x_102) == 2)
-{
-lean_object* x_103; lean_object* x_104; uint8_t x_105;
-x_103 = lean_ctor_get(x_102, 1);
-lean_inc(x_103);
-lean_dec(x_102);
-x_104 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__10;
-x_105 = lean_string_dec_eq(x_103, x_104);
-lean_dec(x_103);
-if (x_105 == 0)
-{
-lean_object* x_106; lean_object* x_107; uint8_t 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;
-x_106 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__15;
-lean_inc(x_5);
-x_107 = l_Lean_Parser_ParserState_mkErrorsAt(x_99, x_106, x_5);
-x_108 = 1;
-x_109 = l_Lean_Parser_mergeOrElseErrors(x_107, x_89, x_5, x_108);
-x_110 = l_Lean_Parser_mergeOrElseErrors(x_109, x_70, x_5, x_108);
-x_111 = l_Lean_Parser_mergeOrElseErrors(x_110, x_53, x_5, x_108);
-x_112 = l_Lean_Parser_mergeOrElseErrors(x_111, x_38, x_5, x_108);
-x_113 = l_Lean_Parser_mergeOrElseErrors(x_112, x_25, x_5, x_108);
-x_114 = l_Lean_Parser_mergeOrElseErrors(x_113, x_15, x_5, x_108);
-x_6 = x_114;
-goto block_12;
-}
-else
-{
-uint8_t 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;
-x_115 = 1;
-x_116 = l_Lean_Parser_mergeOrElseErrors(x_99, x_89, x_5, x_115);
-x_117 = l_Lean_Parser_mergeOrElseErrors(x_116, x_70, x_5, x_115);
-x_118 = l_Lean_Parser_mergeOrElseErrors(x_117, x_53, x_5, x_115);
-x_119 = l_Lean_Parser_mergeOrElseErrors(x_118, x_38, x_5, x_115);
-x_120 = l_Lean_Parser_mergeOrElseErrors(x_119, x_25, x_5, x_115);
-x_121 = l_Lean_Parser_mergeOrElseErrors(x_120, x_15, x_5, x_115);
-x_6 = x_121;
-goto block_12;
-}
-}
-else
-{
-lean_object* x_122; lean_object* x_123; uint8_t 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_dec(x_102);
-x_122 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__15;
-lean_inc(x_5);
-x_123 = l_Lean_Parser_ParserState_mkErrorsAt(x_99, x_122, x_5);
-x_124 = 1;
-x_125 = l_Lean_Parser_mergeOrElseErrors(x_123, x_89, x_5, x_124);
-x_126 = l_Lean_Parser_mergeOrElseErrors(x_125, x_70, x_5, x_124);
-x_127 = l_Lean_Parser_mergeOrElseErrors(x_126, x_53, x_5, x_124);
-x_128 = l_Lean_Parser_mergeOrElseErrors(x_127, x_38, x_5, x_124);
-x_129 = l_Lean_Parser_mergeOrElseErrors(x_128, x_25, x_5, x_124);
-x_130 = l_Lean_Parser_mergeOrElseErrors(x_129, x_15, x_5, x_124);
-x_6 = x_130;
-goto block_12;
-}
-}
-else
-{
-lean_object* x_131; lean_object* x_132; uint8_t x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139;
-lean_dec(x_100);
-x_131 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__15;
-lean_inc(x_5);
-x_132 = l_Lean_Parser_ParserState_mkErrorsAt(x_99, x_131, x_5);
-x_133 = 1;
-x_134 = l_Lean_Parser_mergeOrElseErrors(x_132, x_89, x_5, x_133);
-x_135 = l_Lean_Parser_mergeOrElseErrors(x_134, x_70, x_5, x_133);
-x_136 = l_Lean_Parser_mergeOrElseErrors(x_135, x_53, x_5, x_133);
-x_137 = l_Lean_Parser_mergeOrElseErrors(x_136, x_38, x_5, x_133);
-x_138 = l_Lean_Parser_mergeOrElseErrors(x_137, x_25, x_5, x_133);
-x_139 = l_Lean_Parser_mergeOrElseErrors(x_138, x_15, x_5, x_133);
-x_6 = x_139;
-goto block_12;
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
+lean_object* x_3; lean_object* x_4; lean_object* x_5;
+x_3 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__23;
+x_4 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__24;
+x_5 = l_Lean_Parser_notFollowedByFn(x_3, x_4, x_1, x_2);
+return x_5;
}
}
static lean_object* _init_l_Lean_Parser_Term_notFollowedByRedefinedTermToken___closed__1() {
@@ -5975,281 +3097,65 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Term_doLet___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_let___elambda__1___closed__4;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doLet___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
+x_1 = l_Lean_Parser_Term_letDecl;
+x_2 = lean_ctor_get(x_1, 1);
+lean_inc(x_2);
+x_3 = l_Lean_Parser_Term_doLet___elambda__1___closed__5;
+x_4 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_4, 0, x_3);
+lean_closure_set(x_4, 1, x_2);
+return x_4;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doLet___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_doLet___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_doLet___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doLet___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_doLet___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Term_doLet___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; uint8_t x_7;
-x_3 = l_Lean_Parser_Term_letDecl;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
+x_3 = l_Lean_Parser_Term_doLet___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-x_5 = l_Lean_Parser_Term_doLet___elambda__1___closed__4;
-x_6 = lean_ctor_get(x_5, 1);
-lean_inc(x_6);
-lean_inc(x_2);
-lean_inc(x_1);
-x_7 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_7 == 0)
-{
-lean_object* x_8; lean_object* x_9; lean_object* x_10;
-lean_dec(x_6);
-x_8 = lean_unsigned_to_nat(1024u);
-x_9 = l_Lean_Parser_checkPrecFn(x_8, x_1, x_2);
-x_10 = lean_ctor_get(x_9, 3);
-lean_inc(x_10);
-if (lean_obj_tag(x_10) == 0)
-{
-lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_21; lean_object* x_22; lean_object* x_23;
-x_11 = lean_ctor_get(x_9, 0);
-lean_inc(x_11);
-x_12 = lean_array_get_size(x_11);
-lean_dec(x_11);
-x_21 = lean_ctor_get(x_9, 1);
-lean_inc(x_21);
-lean_inc(x_1);
-x_22 = l_Lean_Parser_tokenFn(x_1, x_9);
-x_23 = lean_ctor_get(x_22, 3);
-lean_inc(x_23);
-if (lean_obj_tag(x_23) == 0)
-{
-lean_object* x_24; lean_object* x_25;
-x_24 = lean_ctor_get(x_22, 0);
-lean_inc(x_24);
-x_25 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_24);
-lean_dec(x_24);
-if (lean_obj_tag(x_25) == 2)
-{
-lean_object* x_26; lean_object* x_27; uint8_t x_28;
-x_26 = lean_ctor_get(x_25, 1);
-lean_inc(x_26);
-lean_dec(x_25);
-x_27 = l_Lean_Parser_Term_let___elambda__1___closed__4;
-x_28 = lean_string_dec_eq(x_26, x_27);
-lean_dec(x_26);
-if (x_28 == 0)
-{
-lean_object* x_29; lean_object* x_30;
-x_29 = l_Lean_Parser_Term_let___elambda__1___closed__7;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_29, x_21);
-x_13 = x_30;
-goto block_20;
-}
-else
-{
-lean_dec(x_21);
-x_13 = x_22;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32;
-lean_dec(x_25);
-x_31 = l_Lean_Parser_Term_let___elambda__1___closed__7;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_31, x_21);
-x_13 = x_32;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_33; lean_object* x_34;
-lean_dec(x_23);
-x_33 = l_Lean_Parser_Term_let___elambda__1___closed__7;
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_33, x_21);
-x_13 = x_34;
-goto block_20;
-}
-block_20:
-{
-lean_object* x_14;
-x_14 = lean_ctor_get(x_13, 3);
-lean_inc(x_14);
-if (lean_obj_tag(x_14) == 0)
-{
-lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_15 = lean_apply_2(x_4, x_1, x_13);
-x_16 = l_Lean_Parser_Term_doLet___elambda__1___closed__2;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_12);
-return x_17;
-}
-else
-{
-lean_object* x_18; lean_object* x_19;
-lean_dec(x_14);
-lean_dec(x_4);
-lean_dec(x_1);
-x_18 = l_Lean_Parser_Term_doLet___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_13, x_18, x_12);
-return x_19;
-}
-}
-}
-else
-{
-lean_dec(x_10);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_9;
-}
-}
-else
-{
-lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_35 = lean_ctor_get(x_2, 0);
-lean_inc(x_35);
-x_36 = lean_array_get_size(x_35);
-lean_dec(x_35);
-x_37 = lean_ctor_get(x_2, 1);
-lean_inc(x_37);
-lean_inc(x_1);
-x_38 = lean_apply_2(x_6, x_1, x_2);
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_40; lean_object* x_41; uint8_t x_42;
-x_40 = lean_ctor_get(x_39, 0);
-lean_inc(x_40);
-lean_dec(x_39);
-x_41 = lean_ctor_get(x_38, 1);
-lean_inc(x_41);
-x_42 = lean_nat_dec_eq(x_41, x_37);
-lean_dec(x_41);
-if (x_42 == 0)
-{
-lean_dec(x_40);
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46;
-lean_inc(x_37);
-x_43 = l_Lean_Parser_ParserState_restore(x_38, x_36, x_37);
-lean_dec(x_36);
-x_44 = lean_unsigned_to_nat(1024u);
-x_45 = l_Lean_Parser_checkPrecFn(x_44, x_1, x_43);
-x_46 = lean_ctor_get(x_45, 3);
-lean_inc(x_46);
-if (lean_obj_tag(x_46) == 0)
-{
-lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_61; lean_object* x_62; lean_object* x_63;
-x_47 = lean_ctor_get(x_45, 0);
-lean_inc(x_47);
-x_48 = lean_array_get_size(x_47);
-lean_dec(x_47);
-x_61 = lean_ctor_get(x_45, 1);
-lean_inc(x_61);
-lean_inc(x_1);
-x_62 = l_Lean_Parser_tokenFn(x_1, x_45);
-x_63 = lean_ctor_get(x_62, 3);
-lean_inc(x_63);
-if (lean_obj_tag(x_63) == 0)
-{
-lean_object* x_64; lean_object* x_65;
-x_64 = lean_ctor_get(x_62, 0);
-lean_inc(x_64);
-x_65 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_64);
-lean_dec(x_64);
-if (lean_obj_tag(x_65) == 2)
-{
-lean_object* x_66; lean_object* x_67; uint8_t x_68;
-x_66 = lean_ctor_get(x_65, 1);
-lean_inc(x_66);
-lean_dec(x_65);
-x_67 = l_Lean_Parser_Term_let___elambda__1___closed__4;
-x_68 = lean_string_dec_eq(x_66, x_67);
-lean_dec(x_66);
-if (x_68 == 0)
-{
-lean_object* x_69; lean_object* x_70;
-x_69 = l_Lean_Parser_Term_let___elambda__1___closed__7;
-x_70 = l_Lean_Parser_ParserState_mkErrorsAt(x_62, x_69, x_61);
-x_49 = x_70;
-goto block_60;
-}
-else
-{
-lean_dec(x_61);
-x_49 = x_62;
-goto block_60;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72;
-lean_dec(x_65);
-x_71 = l_Lean_Parser_Term_let___elambda__1___closed__7;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_62, x_71, x_61);
-x_49 = x_72;
-goto block_60;
-}
-}
-else
-{
-lean_object* x_73; lean_object* x_74;
-lean_dec(x_63);
-x_73 = l_Lean_Parser_Term_let___elambda__1___closed__7;
-x_74 = l_Lean_Parser_ParserState_mkErrorsAt(x_62, x_73, x_61);
-x_49 = x_74;
-goto block_60;
-}
-block_60:
-{
-lean_object* x_50;
-x_50 = lean_ctor_get(x_49, 3);
-lean_inc(x_50);
-if (lean_obj_tag(x_50) == 0)
-{
-lean_object* x_51; lean_object* x_52; lean_object* x_53; uint8_t x_54; lean_object* x_55;
-x_51 = lean_apply_2(x_4, x_1, x_49);
-x_52 = l_Lean_Parser_Term_doLet___elambda__1___closed__2;
-x_53 = l_Lean_Parser_ParserState_mkNode(x_51, x_52, x_48);
-x_54 = 1;
-x_55 = l_Lean_Parser_mergeOrElseErrors(x_53, x_40, x_37, x_54);
-lean_dec(x_37);
-return x_55;
-}
-else
-{
-lean_object* x_56; lean_object* x_57; uint8_t x_58; lean_object* x_59;
-lean_dec(x_50);
-lean_dec(x_4);
-lean_dec(x_1);
-x_56 = l_Lean_Parser_Term_doLet___elambda__1___closed__2;
-x_57 = l_Lean_Parser_ParserState_mkNode(x_49, x_56, x_48);
-x_58 = 1;
-x_59 = l_Lean_Parser_mergeOrElseErrors(x_57, x_40, x_37, x_58);
-lean_dec(x_37);
-return x_59;
-}
-}
-}
-else
-{
-uint8_t x_75; lean_object* x_76;
-lean_dec(x_46);
-lean_dec(x_4);
-lean_dec(x_1);
-x_75 = 1;
-x_76 = l_Lean_Parser_mergeOrElseErrors(x_45, x_40, x_37, x_75);
-lean_dec(x_37);
-return x_76;
-}
-}
-}
-}
+x_5 = l_Lean_Parser_Term_doLet___elambda__1___closed__8;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
+return x_7;
}
}
static lean_object* _init_l_Lean_Parser_Term_doLet___closed__1() {
@@ -6316,7 +3222,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Term_doLet(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_2 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4;
+x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__4;
x_3 = l_Lean_Parser_Term_doLet___elambda__1___closed__2;
x_4 = 1;
x_5 = l_Lean_Parser_Term_doLet;
@@ -6478,364 +3384,89 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Term_doLetRec___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_letrec___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbolFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doLetRec___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_doLet___elambda__1___closed__5;
+x_2 = l_Lean_Parser_Term_doLetRec___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doLetRec___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_nullKind;
+x_2 = l_Lean_Parser_Term_doLetRec___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doLetRec___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_doLetRec___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Term_letRecDecls___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doLetRec___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_doLetRec___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_doLetRec___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doLetRec___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_doLetRec___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Term_doLetRec___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Term_doLetRec___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_35 = lean_ctor_get(x_7, 1);
-lean_inc(x_35);
-lean_inc(x_1);
-x_36 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_object* x_38; lean_object* x_39;
-x_38 = lean_ctor_get(x_36, 0);
-lean_inc(x_38);
-x_39 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_38);
-lean_dec(x_38);
-if (lean_obj_tag(x_39) == 2)
-{
-lean_object* x_40; lean_object* x_41; uint8_t x_42;
-x_40 = lean_ctor_get(x_39, 1);
-lean_inc(x_40);
-lean_dec(x_39);
-x_41 = l_Lean_Parser_Term_let___elambda__1___closed__4;
-x_42 = lean_string_dec_eq(x_40, x_41);
-lean_dec(x_40);
-if (x_42 == 0)
-{
-lean_object* x_43; lean_object* x_44;
-x_43 = l_Lean_Parser_Term_let___elambda__1___closed__7;
-x_44 = l_Lean_Parser_ParserState_mkErrorsAt(x_36, x_43, x_35);
-x_11 = x_44;
-goto block_34;
-}
-else
-{
-lean_dec(x_35);
-x_11 = x_36;
-goto block_34;
-}
-}
-else
-{
-lean_object* x_45; lean_object* x_46;
-lean_dec(x_39);
-x_45 = l_Lean_Parser_Term_let___elambda__1___closed__7;
-x_46 = l_Lean_Parser_ParserState_mkErrorsAt(x_36, x_45, x_35);
-x_11 = x_46;
-goto block_34;
-}
-}
-else
-{
-lean_object* x_47; lean_object* x_48;
-lean_dec(x_37);
-x_47 = l_Lean_Parser_Term_let___elambda__1___closed__7;
-x_48 = l_Lean_Parser_ParserState_mkErrorsAt(x_36, x_47, x_35);
-x_11 = x_48;
-goto block_34;
-}
-block_34:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
-x_13 = l_Lean_Parser_Term_letrec___elambda__1___closed__6;
-x_14 = l_Lean_Parser_Term_letrec___elambda__1___closed__8;
-lean_inc(x_1);
-x_15 = l_Lean_Parser_nonReservedSymbolFnAux(x_13, x_14, x_1, x_11);
-x_16 = l_Lean_nullKind;
-lean_inc(x_10);
-x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_10);
-x_18 = lean_ctor_get(x_17, 3);
-lean_inc(x_18);
-if (lean_obj_tag(x_18) == 0)
-{
-uint8_t x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
-x_19 = 0;
-x_20 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_letRecDecls___elambda__1___spec__1(x_19, x_1, x_17);
-x_21 = l_Lean_Parser_Term_doLetRec___elambda__1___closed__2;
-x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_10);
-return x_22;
-}
-else
-{
-lean_object* x_23; lean_object* x_24;
-lean_dec(x_18);
-lean_dec(x_1);
-x_23 = l_Lean_Parser_Term_doLetRec___elambda__1___closed__2;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_17, x_23, x_10);
-return x_24;
-}
-}
-else
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27;
-lean_dec(x_12);
-x_25 = l_Lean_nullKind;
-lean_inc(x_10);
-x_26 = l_Lean_Parser_ParserState_mkNode(x_11, x_25, x_10);
-x_27 = lean_ctor_get(x_26, 3);
-lean_inc(x_27);
-if (lean_obj_tag(x_27) == 0)
-{
-uint8_t x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31;
-x_28 = 0;
-x_29 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_letRecDecls___elambda__1___spec__1(x_28, x_1, x_26);
-x_30 = l_Lean_Parser_Term_doLetRec___elambda__1___closed__2;
-x_31 = l_Lean_Parser_ParserState_mkNode(x_29, x_30, x_10);
-return x_31;
-}
-else
-{
-lean_object* x_32; lean_object* x_33;
-lean_dec(x_27);
-lean_dec(x_1);
-x_32 = l_Lean_Parser_Term_doLetRec___elambda__1___closed__2;
-x_33 = l_Lean_Parser_ParserState_mkNode(x_26, x_32, x_10);
-return x_33;
-}
-}
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Term_doLetRec___elambda__1___closed__10;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53;
-x_49 = lean_ctor_get(x_2, 0);
-lean_inc(x_49);
-x_50 = lean_array_get_size(x_49);
-lean_dec(x_49);
-x_51 = lean_ctor_get(x_2, 1);
-lean_inc(x_51);
-lean_inc(x_1);
-x_52 = lean_apply_2(x_4, x_1, x_2);
-x_53 = lean_ctor_get(x_52, 3);
-lean_inc(x_53);
-if (lean_obj_tag(x_53) == 0)
-{
-lean_dec(x_51);
-lean_dec(x_50);
-lean_dec(x_1);
-return x_52;
-}
-else
-{
-lean_object* x_54; lean_object* x_55; uint8_t x_56;
-x_54 = lean_ctor_get(x_53, 0);
-lean_inc(x_54);
-lean_dec(x_53);
-x_55 = lean_ctor_get(x_52, 1);
-lean_inc(x_55);
-x_56 = lean_nat_dec_eq(x_55, x_51);
-lean_dec(x_55);
-if (x_56 == 0)
-{
-lean_dec(x_54);
-lean_dec(x_51);
-lean_dec(x_50);
-lean_dec(x_1);
-return x_52;
-}
-else
-{
-lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60;
-lean_inc(x_51);
-x_57 = l_Lean_Parser_ParserState_restore(x_52, x_50, x_51);
-lean_dec(x_50);
-x_58 = lean_unsigned_to_nat(1024u);
-x_59 = l_Lean_Parser_checkPrecFn(x_58, x_1, x_57);
-x_60 = lean_ctor_get(x_59, 3);
-lean_inc(x_60);
-if (lean_obj_tag(x_60) == 0)
-{
-lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_95; lean_object* x_96; lean_object* x_97;
-x_61 = lean_ctor_get(x_59, 0);
-lean_inc(x_61);
-x_62 = lean_array_get_size(x_61);
-lean_dec(x_61);
-x_95 = lean_ctor_get(x_59, 1);
-lean_inc(x_95);
-lean_inc(x_1);
-x_96 = l_Lean_Parser_tokenFn(x_1, x_59);
-x_97 = lean_ctor_get(x_96, 3);
-lean_inc(x_97);
-if (lean_obj_tag(x_97) == 0)
-{
-lean_object* x_98; lean_object* x_99;
-x_98 = lean_ctor_get(x_96, 0);
-lean_inc(x_98);
-x_99 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_98);
-lean_dec(x_98);
-if (lean_obj_tag(x_99) == 2)
-{
-lean_object* x_100; lean_object* x_101; uint8_t x_102;
-x_100 = lean_ctor_get(x_99, 1);
-lean_inc(x_100);
-lean_dec(x_99);
-x_101 = l_Lean_Parser_Term_let___elambda__1___closed__4;
-x_102 = lean_string_dec_eq(x_100, x_101);
-lean_dec(x_100);
-if (x_102 == 0)
-{
-lean_object* x_103; lean_object* x_104;
-x_103 = l_Lean_Parser_Term_let___elambda__1___closed__7;
-x_104 = l_Lean_Parser_ParserState_mkErrorsAt(x_96, x_103, x_95);
-x_63 = x_104;
-goto block_94;
-}
-else
-{
-lean_dec(x_95);
-x_63 = x_96;
-goto block_94;
-}
-}
-else
-{
-lean_object* x_105; lean_object* x_106;
-lean_dec(x_99);
-x_105 = l_Lean_Parser_Term_let___elambda__1___closed__7;
-x_106 = l_Lean_Parser_ParserState_mkErrorsAt(x_96, x_105, x_95);
-x_63 = x_106;
-goto block_94;
-}
-}
-else
-{
-lean_object* x_107; lean_object* x_108;
-lean_dec(x_97);
-x_107 = l_Lean_Parser_Term_let___elambda__1___closed__7;
-x_108 = l_Lean_Parser_ParserState_mkErrorsAt(x_96, x_107, x_95);
-x_63 = x_108;
-goto block_94;
-}
-block_94:
-{
-lean_object* x_64;
-x_64 = lean_ctor_get(x_63, 3);
-lean_inc(x_64);
-if (lean_obj_tag(x_64) == 0)
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70;
-x_65 = l_Lean_Parser_Term_letrec___elambda__1___closed__6;
-x_66 = l_Lean_Parser_Term_letrec___elambda__1___closed__8;
-lean_inc(x_1);
-x_67 = l_Lean_Parser_nonReservedSymbolFnAux(x_65, x_66, x_1, x_63);
-x_68 = l_Lean_nullKind;
-lean_inc(x_62);
-x_69 = l_Lean_Parser_ParserState_mkNode(x_67, x_68, x_62);
-x_70 = lean_ctor_get(x_69, 3);
-lean_inc(x_70);
-if (lean_obj_tag(x_70) == 0)
-{
-uint8_t x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; uint8_t x_75; lean_object* x_76;
-x_71 = 0;
-x_72 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_letRecDecls___elambda__1___spec__1(x_71, x_1, x_69);
-x_73 = l_Lean_Parser_Term_doLetRec___elambda__1___closed__2;
-x_74 = l_Lean_Parser_ParserState_mkNode(x_72, x_73, x_62);
-x_75 = 1;
-x_76 = l_Lean_Parser_mergeOrElseErrors(x_74, x_54, x_51, x_75);
-lean_dec(x_51);
-return x_76;
-}
-else
-{
-lean_object* x_77; lean_object* x_78; uint8_t x_79; lean_object* x_80;
-lean_dec(x_70);
-lean_dec(x_1);
-x_77 = l_Lean_Parser_Term_doLetRec___elambda__1___closed__2;
-x_78 = l_Lean_Parser_ParserState_mkNode(x_69, x_77, x_62);
-x_79 = 1;
-x_80 = l_Lean_Parser_mergeOrElseErrors(x_78, x_54, x_51, x_79);
-lean_dec(x_51);
-return x_80;
-}
-}
-else
-{
-lean_object* x_81; lean_object* x_82; lean_object* x_83;
-lean_dec(x_64);
-x_81 = l_Lean_nullKind;
-lean_inc(x_62);
-x_82 = l_Lean_Parser_ParserState_mkNode(x_63, x_81, x_62);
-x_83 = lean_ctor_get(x_82, 3);
-lean_inc(x_83);
-if (lean_obj_tag(x_83) == 0)
-{
-uint8_t x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; uint8_t x_88; lean_object* x_89;
-x_84 = 0;
-x_85 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_letRecDecls___elambda__1___spec__1(x_84, x_1, x_82);
-x_86 = l_Lean_Parser_Term_doLetRec___elambda__1___closed__2;
-x_87 = l_Lean_Parser_ParserState_mkNode(x_85, x_86, x_62);
-x_88 = 1;
-x_89 = l_Lean_Parser_mergeOrElseErrors(x_87, x_54, x_51, x_88);
-lean_dec(x_51);
-return x_89;
-}
-else
-{
-lean_object* x_90; lean_object* x_91; uint8_t x_92; lean_object* x_93;
-lean_dec(x_83);
-lean_dec(x_1);
-x_90 = l_Lean_Parser_Term_doLetRec___elambda__1___closed__2;
-x_91 = l_Lean_Parser_ParserState_mkNode(x_82, x_90, x_62);
-x_92 = 1;
-x_93 = l_Lean_Parser_mergeOrElseErrors(x_91, x_54, x_51, x_92);
-lean_dec(x_51);
-return x_93;
-}
-}
-}
-}
-else
-{
-uint8_t x_109; lean_object* x_110;
-lean_dec(x_60);
-lean_dec(x_1);
-x_109 = 1;
-x_110 = l_Lean_Parser_mergeOrElseErrors(x_59, x_54, x_51, x_109);
-lean_dec(x_51);
-return x_110;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Term_doLetRec___closed__1() {
_start:
{
@@ -6900,7 +3531,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Term_doLetRec(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_2 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4;
+x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__4;
x_3 = l_Lean_Parser_Term_doLetRec___elambda__1___closed__2;
x_4 = 1;
x_5 = l_Lean_Parser_Term_doLetRec;
@@ -7062,337 +3693,89 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Term_doIdDecl___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_optType___closed__2;
+x_2 = l_Lean_Parser_Term_leftArrow___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doIdDecl___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_ident___closed__1;
+x_2 = l_Lean_Parser_Term_doIdDecl___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doIdDecl___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_doIdDecl___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_tryFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doIdDecl___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_doIdDecl___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doIdDecl___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_doIdDecl___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_doIdDecl___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doIdDecl___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_doIdDecl___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Term_doIdDecl___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Term_doIdDecl___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-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; lean_object* x_29; lean_object* x_30;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_ctor_get(x_7, 1);
-lean_inc(x_10);
-x_11 = lean_array_get_size(x_9);
-lean_dec(x_9);
-lean_inc(x_1);
-x_29 = l_Lean_Parser_Term_ident___elambda__1(x_1, x_7);
-x_30 = lean_ctor_get(x_29, 3);
-lean_inc(x_30);
-if (lean_obj_tag(x_30) == 0)
-{
-lean_object* x_31; lean_object* x_32;
-lean_inc(x_1);
-x_31 = l_Lean_Parser_Term_optType___elambda__1(x_1, x_29);
-x_32 = lean_ctor_get(x_31, 3);
-lean_inc(x_32);
-if (lean_obj_tag(x_32) == 0)
-{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36;
-lean_inc(x_1);
-x_33 = l_Lean_Parser_Term_leftArrow___elambda__1(x_1, x_31);
-x_34 = lean_ctor_get(x_33, 0);
-lean_inc(x_34);
-x_35 = lean_ctor_get(x_33, 2);
-lean_inc(x_35);
-x_36 = lean_ctor_get(x_33, 3);
-lean_inc(x_36);
-x_12 = x_33;
-x_13 = x_34;
-x_14 = x_35;
-x_15 = x_36;
-goto block_28;
-}
-else
-{
-lean_object* x_37; lean_object* x_38; lean_object* x_39;
-lean_dec(x_32);
-x_37 = lean_ctor_get(x_31, 0);
-lean_inc(x_37);
-x_38 = lean_ctor_get(x_31, 2);
-lean_inc(x_38);
-x_39 = lean_ctor_get(x_31, 3);
-lean_inc(x_39);
-x_12 = x_31;
-x_13 = x_37;
-x_14 = x_38;
-x_15 = x_39;
-goto block_28;
-}
-}
-else
-{
-lean_object* x_40; lean_object* x_41; lean_object* x_42;
-lean_dec(x_30);
-x_40 = lean_ctor_get(x_29, 0);
-lean_inc(x_40);
-x_41 = lean_ctor_get(x_29, 2);
-lean_inc(x_41);
-x_42 = lean_ctor_get(x_29, 3);
-lean_inc(x_42);
-x_12 = x_29;
-x_13 = x_40;
-x_14 = x_41;
-x_15 = x_42;
-goto block_28;
-}
-block_28:
-{
-if (lean_obj_tag(x_15) == 0)
-{
-lean_object* x_16;
-lean_dec(x_14);
-lean_dec(x_13);
-lean_dec(x_10);
-x_16 = lean_ctor_get(x_12, 3);
-lean_inc(x_16);
-if (lean_obj_tag(x_16) == 0)
-{
-lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
-x_17 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4;
-x_18 = lean_unsigned_to_nat(0u);
-x_19 = l_Lean_Parser_categoryParser___elambda__1(x_17, x_18, x_1, x_12);
-x_20 = l_Lean_Parser_Term_doIdDecl___elambda__1___closed__2;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_11);
-return x_21;
-}
-else
-{
-lean_object* x_22; lean_object* x_23;
-lean_dec(x_16);
-lean_dec(x_1);
-x_22 = l_Lean_Parser_Term_doIdDecl___elambda__1___closed__2;
-x_23 = l_Lean_Parser_ParserState_mkNode(x_12, x_22, x_11);
-return x_23;
-}
-}
-else
-{
-lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
-lean_dec(x_12);
-lean_dec(x_1);
-x_24 = l_Array_shrink___main___rarg(x_13, x_11);
-x_25 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_25, 0, x_24);
-lean_ctor_set(x_25, 1, x_10);
-lean_ctor_set(x_25, 2, x_14);
-lean_ctor_set(x_25, 3, x_15);
-x_26 = l_Lean_Parser_Term_doIdDecl___elambda__1___closed__2;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_25, x_26, x_11);
-return x_27;
-}
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Term_doIdDecl___elambda__1___closed__10;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47;
-x_43 = lean_ctor_get(x_2, 0);
-lean_inc(x_43);
-x_44 = lean_array_get_size(x_43);
-lean_dec(x_43);
-x_45 = lean_ctor_get(x_2, 1);
-lean_inc(x_45);
-lean_inc(x_1);
-x_46 = lean_apply_2(x_4, x_1, x_2);
-x_47 = lean_ctor_get(x_46, 3);
-lean_inc(x_47);
-if (lean_obj_tag(x_47) == 0)
-{
-lean_dec(x_45);
-lean_dec(x_44);
-lean_dec(x_1);
-return x_46;
-}
-else
-{
-lean_object* x_48; lean_object* x_49; uint8_t x_50;
-x_48 = lean_ctor_get(x_47, 0);
-lean_inc(x_48);
-lean_dec(x_47);
-x_49 = lean_ctor_get(x_46, 1);
-lean_inc(x_49);
-x_50 = lean_nat_dec_eq(x_49, x_45);
-lean_dec(x_49);
-if (x_50 == 0)
-{
-lean_dec(x_48);
-lean_dec(x_45);
-lean_dec(x_44);
-lean_dec(x_1);
-return x_46;
-}
-else
-{
-lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54;
-lean_inc(x_45);
-x_51 = l_Lean_Parser_ParserState_restore(x_46, x_44, x_45);
-lean_dec(x_44);
-x_52 = lean_unsigned_to_nat(1024u);
-x_53 = l_Lean_Parser_checkPrecFn(x_52, x_1, x_51);
-x_54 = lean_ctor_get(x_53, 3);
-lean_inc(x_54);
-if (lean_obj_tag(x_54) == 0)
-{
-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_81; lean_object* x_82;
-x_55 = lean_ctor_get(x_53, 0);
-lean_inc(x_55);
-x_56 = lean_ctor_get(x_53, 1);
-lean_inc(x_56);
-x_57 = lean_array_get_size(x_55);
-lean_dec(x_55);
-lean_inc(x_1);
-x_81 = l_Lean_Parser_Term_ident___elambda__1(x_1, x_53);
-x_82 = lean_ctor_get(x_81, 3);
-lean_inc(x_82);
-if (lean_obj_tag(x_82) == 0)
-{
-lean_object* x_83; lean_object* x_84;
-lean_inc(x_1);
-x_83 = l_Lean_Parser_Term_optType___elambda__1(x_1, x_81);
-x_84 = lean_ctor_get(x_83, 3);
-lean_inc(x_84);
-if (lean_obj_tag(x_84) == 0)
-{
-lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88;
-lean_inc(x_1);
-x_85 = l_Lean_Parser_Term_leftArrow___elambda__1(x_1, x_83);
-x_86 = lean_ctor_get(x_85, 0);
-lean_inc(x_86);
-x_87 = lean_ctor_get(x_85, 2);
-lean_inc(x_87);
-x_88 = lean_ctor_get(x_85, 3);
-lean_inc(x_88);
-x_58 = x_85;
-x_59 = x_86;
-x_60 = x_87;
-x_61 = x_88;
-goto block_80;
-}
-else
-{
-lean_object* x_89; lean_object* x_90; lean_object* x_91;
-lean_dec(x_84);
-x_89 = lean_ctor_get(x_83, 0);
-lean_inc(x_89);
-x_90 = lean_ctor_get(x_83, 2);
-lean_inc(x_90);
-x_91 = lean_ctor_get(x_83, 3);
-lean_inc(x_91);
-x_58 = x_83;
-x_59 = x_89;
-x_60 = x_90;
-x_61 = x_91;
-goto block_80;
-}
-}
-else
-{
-lean_object* x_92; lean_object* x_93; lean_object* x_94;
-lean_dec(x_82);
-x_92 = lean_ctor_get(x_81, 0);
-lean_inc(x_92);
-x_93 = lean_ctor_get(x_81, 2);
-lean_inc(x_93);
-x_94 = lean_ctor_get(x_81, 3);
-lean_inc(x_94);
-x_58 = x_81;
-x_59 = x_92;
-x_60 = x_93;
-x_61 = x_94;
-goto block_80;
-}
-block_80:
-{
-if (lean_obj_tag(x_61) == 0)
-{
-lean_object* x_62;
-lean_dec(x_60);
-lean_dec(x_59);
-lean_dec(x_56);
-x_62 = lean_ctor_get(x_58, 3);
-lean_inc(x_62);
-if (lean_obj_tag(x_62) == 0)
-{
-lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; uint8_t x_68; lean_object* x_69;
-x_63 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4;
-x_64 = lean_unsigned_to_nat(0u);
-x_65 = l_Lean_Parser_categoryParser___elambda__1(x_63, x_64, x_1, x_58);
-x_66 = l_Lean_Parser_Term_doIdDecl___elambda__1___closed__2;
-x_67 = l_Lean_Parser_ParserState_mkNode(x_65, x_66, x_57);
-x_68 = 1;
-x_69 = l_Lean_Parser_mergeOrElseErrors(x_67, x_48, x_45, x_68);
-lean_dec(x_45);
-return x_69;
-}
-else
-{
-lean_object* x_70; lean_object* x_71; uint8_t x_72; lean_object* x_73;
-lean_dec(x_62);
-lean_dec(x_1);
-x_70 = l_Lean_Parser_Term_doIdDecl___elambda__1___closed__2;
-x_71 = l_Lean_Parser_ParserState_mkNode(x_58, x_70, x_57);
-x_72 = 1;
-x_73 = l_Lean_Parser_mergeOrElseErrors(x_71, x_48, x_45, x_72);
-lean_dec(x_45);
-return x_73;
-}
-}
-else
-{
-lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; uint8_t x_78; lean_object* x_79;
-lean_dec(x_58);
-lean_dec(x_1);
-x_74 = l_Array_shrink___main___rarg(x_59, x_57);
-x_75 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_75, 0, x_74);
-lean_ctor_set(x_75, 1, x_56);
-lean_ctor_set(x_75, 2, x_60);
-lean_ctor_set(x_75, 3, x_61);
-x_76 = l_Lean_Parser_Term_doIdDecl___elambda__1___closed__2;
-x_77 = l_Lean_Parser_ParserState_mkNode(x_75, x_76, x_57);
-x_78 = 1;
-x_79 = l_Lean_Parser_mergeOrElseErrors(x_77, x_48, x_45, x_78);
-lean_dec(x_45);
-return x_79;
-}
-}
-}
-else
-{
-uint8_t x_95; lean_object* x_96;
-lean_dec(x_54);
-lean_dec(x_1);
-x_95 = 1;
-x_96 = l_Lean_Parser_mergeOrElseErrors(x_53, x_48, x_45, x_95);
-lean_dec(x_45);
-return x_96;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Term_doIdDecl___closed__1() {
_start:
{
@@ -7533,9 +3916,13 @@ return x_4;
static lean_object* _init_l_Lean_Parser_Term_doPatDecl___elambda__1___closed__5() {
_start:
{
-lean_object* x_1;
-x_1 = lean_mk_string(" | ");
-return x_1;
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_2 = l_Lean_Parser_Term_leftArrow___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
}
}
static lean_object* _init_l_Lean_Parser_Term_doPatDecl___elambda__1___closed__6() {
@@ -7543,745 +3930,121 @@ _start:
{
lean_object* x_1; lean_object* x_2;
x_1 = l_Lean_Parser_Term_doPatDecl___elambda__1___closed__5;
-x_2 = l_String_trim(x_1);
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_tryFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_doPatDecl___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_doPatDecl___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1;
+x_1 = lean_mk_string(" | ");
+return x_1;
}
}
static lean_object* _init_l_Lean_Parser_Term_doPatDecl___elambda__1___closed__8() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
+lean_object* x_1; lean_object* x_2;
x_1 = l_Lean_Parser_Term_doPatDecl___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+x_2 = l_String_trim(x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_doPatDecl___elambda__1___closed__9() {
_start:
{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_doPatDecl___elambda__1___closed__8;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doPatDecl___elambda__1___closed__10() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Term_doPatDecl___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_1 = l_Lean_Parser_Term_doPatDecl___elambda__1___closed__9;
+x_2 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doPatDecl___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_doPatDecl___elambda__1___closed__10;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optionalFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doPatDecl___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_doPatDecl___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doPatDecl___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_doPatDecl___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Term_doPatDecl___elambda__1___closed__12;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doPatDecl___elambda__1___closed__14() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_doPatDecl___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_doPatDecl___elambda__1___closed__13;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doPatDecl___elambda__1___closed__15() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_doPatDecl___elambda__1___closed__14;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
lean_object* l_Lean_Parser_Term_doPatDecl___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Term_doPatDecl___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_ctor_get(x_7, 1);
-lean_inc(x_10);
-x_11 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_70 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_71 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_72 = l_Lean_Parser_categoryParser___elambda__1(x_70, x_71, x_1, x_7);
-x_73 = lean_ctor_get(x_72, 3);
-lean_inc(x_73);
-if (lean_obj_tag(x_73) == 0)
-{
-lean_object* x_74; lean_object* x_75;
-lean_inc(x_1);
-x_74 = l_Lean_Parser_Term_leftArrow___elambda__1(x_1, x_72);
-x_75 = lean_ctor_get(x_74, 3);
-lean_inc(x_75);
-if (lean_obj_tag(x_75) == 0)
-{
-lean_dec(x_10);
-x_12 = x_74;
-goto block_69;
-}
-else
-{
-uint8_t x_76;
-x_76 = !lean_is_exclusive(x_74);
-if (x_76 == 0)
-{
-lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80;
-x_77 = lean_ctor_get(x_74, 0);
-x_78 = lean_ctor_get(x_74, 3);
-lean_dec(x_78);
-x_79 = lean_ctor_get(x_74, 1);
-lean_dec(x_79);
-x_80 = l_Array_shrink___main___rarg(x_77, x_11);
-lean_ctor_set(x_74, 1, x_10);
-lean_ctor_set(x_74, 0, x_80);
-x_12 = x_74;
-goto block_69;
-}
-else
-{
-lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84;
-x_81 = lean_ctor_get(x_74, 0);
-x_82 = lean_ctor_get(x_74, 2);
-lean_inc(x_82);
-lean_inc(x_81);
-lean_dec(x_74);
-x_83 = l_Array_shrink___main___rarg(x_81, x_11);
-x_84 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_84, 0, x_83);
-lean_ctor_set(x_84, 1, x_10);
-lean_ctor_set(x_84, 2, x_82);
-lean_ctor_set(x_84, 3, x_75);
-x_12 = x_84;
-goto block_69;
-}
-}
-}
-else
-{
-lean_object* x_85;
-lean_dec(x_73);
-x_85 = lean_ctor_get(x_72, 3);
-lean_inc(x_85);
-if (lean_obj_tag(x_85) == 0)
-{
-lean_dec(x_10);
-x_12 = x_72;
-goto block_69;
-}
-else
-{
-uint8_t x_86;
-x_86 = !lean_is_exclusive(x_72);
-if (x_86 == 0)
-{
-lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90;
-x_87 = lean_ctor_get(x_72, 0);
-x_88 = lean_ctor_get(x_72, 3);
-lean_dec(x_88);
-x_89 = lean_ctor_get(x_72, 1);
-lean_dec(x_89);
-x_90 = l_Array_shrink___main___rarg(x_87, x_11);
-lean_ctor_set(x_72, 1, x_10);
-lean_ctor_set(x_72, 0, x_90);
-x_12 = x_72;
-goto block_69;
-}
-else
-{
-lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94;
-x_91 = lean_ctor_get(x_72, 0);
-x_92 = lean_ctor_get(x_72, 2);
-lean_inc(x_92);
-lean_inc(x_91);
-lean_dec(x_72);
-x_93 = l_Array_shrink___main___rarg(x_91, x_11);
-x_94 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_94, 0, x_93);
-lean_ctor_set(x_94, 1, x_10);
-lean_ctor_set(x_94, 2, x_92);
-lean_ctor_set(x_94, 3, x_85);
-x_12 = x_94;
-goto block_69;
-}
-}
-}
-block_69:
-{
-lean_object* x_13;
-x_13 = lean_ctor_get(x_12, 3);
-lean_inc(x_13);
-if (lean_obj_tag(x_13) == 0)
-{
-lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_14 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4;
-x_15 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_16 = l_Lean_Parser_categoryParser___elambda__1(x_14, x_15, x_1, x_12);
-x_17 = lean_ctor_get(x_16, 3);
-lean_inc(x_17);
-if (lean_obj_tag(x_17) == 0)
-{
-lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_52; lean_object* x_53;
-x_18 = lean_ctor_get(x_16, 0);
-lean_inc(x_18);
-x_19 = lean_array_get_size(x_18);
-lean_dec(x_18);
-x_20 = lean_ctor_get(x_16, 1);
-lean_inc(x_20);
-lean_inc(x_1);
-x_52 = l_Lean_Parser_tokenFn(x_1, x_16);
-x_53 = lean_ctor_get(x_52, 3);
-lean_inc(x_53);
-if (lean_obj_tag(x_53) == 0)
-{
-lean_object* x_54; lean_object* x_55;
-x_54 = lean_ctor_get(x_52, 0);
-lean_inc(x_54);
-x_55 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_54);
-lean_dec(x_54);
-if (lean_obj_tag(x_55) == 2)
-{
-lean_object* x_56; lean_object* x_57; uint8_t x_58;
-x_56 = lean_ctor_get(x_55, 1);
-lean_inc(x_56);
-lean_dec(x_55);
-x_57 = l_Lean_Parser_Term_doPatDecl___elambda__1___closed__6;
-x_58 = lean_string_dec_eq(x_56, x_57);
-lean_dec(x_56);
-if (x_58 == 0)
-{
-lean_object* x_59; lean_object* x_60;
-x_59 = l_Lean_Parser_Term_doPatDecl___elambda__1___closed__9;
-lean_inc(x_20);
-x_60 = l_Lean_Parser_ParserState_mkErrorsAt(x_52, x_59, x_20);
-x_21 = x_60;
-goto block_51;
-}
-else
-{
-x_21 = x_52;
-goto block_51;
-}
-}
-else
-{
-lean_object* x_61; lean_object* x_62;
-lean_dec(x_55);
-x_61 = l_Lean_Parser_Term_doPatDecl___elambda__1___closed__9;
-lean_inc(x_20);
-x_62 = l_Lean_Parser_ParserState_mkErrorsAt(x_52, x_61, x_20);
-x_21 = x_62;
-goto block_51;
-}
-}
-else
-{
-lean_object* x_63; lean_object* x_64;
-lean_dec(x_53);
-x_63 = l_Lean_Parser_Term_doPatDecl___elambda__1___closed__9;
-lean_inc(x_20);
-x_64 = l_Lean_Parser_ParserState_mkErrorsAt(x_52, x_63, x_20);
-x_21 = x_64;
-goto block_51;
-}
-block_51:
-{
-lean_object* x_22;
-x_22 = lean_ctor_get(x_21, 3);
-lean_inc(x_22);
-if (lean_obj_tag(x_22) == 0)
-{
-lean_object* x_23; lean_object* x_24;
-x_23 = l_Lean_Parser_categoryParser___elambda__1(x_14, x_15, x_1, x_21);
-x_24 = lean_ctor_get(x_23, 3);
-lean_inc(x_24);
-if (lean_obj_tag(x_24) == 0)
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
-lean_dec(x_20);
-x_25 = l_Lean_nullKind;
-x_26 = l_Lean_Parser_ParserState_mkNode(x_23, x_25, x_19);
-x_27 = l_Lean_Parser_Term_doPatDecl___elambda__1___closed__2;
-x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_11);
-return x_28;
-}
-else
-{
-lean_object* x_29; uint8_t x_30;
-lean_dec(x_24);
-x_29 = lean_ctor_get(x_23, 1);
-lean_inc(x_29);
-x_30 = lean_nat_dec_eq(x_29, x_20);
-lean_dec(x_29);
-if (x_30 == 0)
-{
-lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34;
-lean_dec(x_20);
-x_31 = l_Lean_nullKind;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_23, x_31, x_19);
-x_33 = l_Lean_Parser_Term_doPatDecl___elambda__1___closed__2;
-x_34 = l_Lean_Parser_ParserState_mkNode(x_32, x_33, x_11);
-return x_34;
-}
-else
-{
-lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_35 = l_Lean_Parser_ParserState_restore(x_23, x_19, x_20);
-x_36 = l_Lean_nullKind;
-x_37 = l_Lean_Parser_ParserState_mkNode(x_35, x_36, x_19);
-x_38 = l_Lean_Parser_Term_doPatDecl___elambda__1___closed__2;
-x_39 = l_Lean_Parser_ParserState_mkNode(x_37, x_38, x_11);
-return x_39;
-}
-}
-}
-else
-{
-lean_object* x_40; uint8_t x_41;
-lean_dec(x_22);
-lean_dec(x_1);
-x_40 = lean_ctor_get(x_21, 1);
-lean_inc(x_40);
-x_41 = lean_nat_dec_eq(x_40, x_20);
-lean_dec(x_40);
-if (x_41 == 0)
-{
-lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45;
-lean_dec(x_20);
-x_42 = l_Lean_nullKind;
-x_43 = l_Lean_Parser_ParserState_mkNode(x_21, x_42, x_19);
-x_44 = l_Lean_Parser_Term_doPatDecl___elambda__1___closed__2;
-x_45 = l_Lean_Parser_ParserState_mkNode(x_43, x_44, x_11);
-return x_45;
-}
-else
-{
-lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50;
-x_46 = l_Lean_Parser_ParserState_restore(x_21, x_19, x_20);
-x_47 = l_Lean_nullKind;
-x_48 = l_Lean_Parser_ParserState_mkNode(x_46, x_47, x_19);
-x_49 = l_Lean_Parser_Term_doPatDecl___elambda__1___closed__2;
-x_50 = l_Lean_Parser_ParserState_mkNode(x_48, x_49, x_11);
-return x_50;
-}
-}
-}
-}
-else
-{
-lean_object* x_65; lean_object* x_66;
-lean_dec(x_17);
-lean_dec(x_1);
-x_65 = l_Lean_Parser_Term_doPatDecl___elambda__1___closed__2;
-x_66 = l_Lean_Parser_ParserState_mkNode(x_16, x_65, x_11);
-return x_66;
-}
-}
-else
-{
-lean_object* x_67; lean_object* x_68;
-lean_dec(x_13);
-lean_dec(x_1);
-x_67 = l_Lean_Parser_Term_doPatDecl___elambda__1___closed__2;
-x_68 = l_Lean_Parser_ParserState_mkNode(x_12, x_67, x_11);
-return x_68;
-}
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Term_doPatDecl___elambda__1___closed__15;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99;
-x_95 = lean_ctor_get(x_2, 0);
-lean_inc(x_95);
-x_96 = lean_array_get_size(x_95);
-lean_dec(x_95);
-x_97 = lean_ctor_get(x_2, 1);
-lean_inc(x_97);
-lean_inc(x_1);
-x_98 = lean_apply_2(x_4, x_1, x_2);
-x_99 = lean_ctor_get(x_98, 3);
-lean_inc(x_99);
-if (lean_obj_tag(x_99) == 0)
-{
-lean_dec(x_97);
-lean_dec(x_96);
-lean_dec(x_1);
-return x_98;
-}
-else
-{
-lean_object* x_100; lean_object* x_101; uint8_t x_102;
-x_100 = lean_ctor_get(x_99, 0);
-lean_inc(x_100);
-lean_dec(x_99);
-x_101 = lean_ctor_get(x_98, 1);
-lean_inc(x_101);
-x_102 = lean_nat_dec_eq(x_101, x_97);
-lean_dec(x_101);
-if (x_102 == 0)
-{
-lean_dec(x_100);
-lean_dec(x_97);
-lean_dec(x_96);
-lean_dec(x_1);
-return x_98;
-}
-else
-{
-lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106;
-lean_inc(x_97);
-x_103 = l_Lean_Parser_ParserState_restore(x_98, x_96, x_97);
-lean_dec(x_96);
-x_104 = lean_unsigned_to_nat(1024u);
-x_105 = l_Lean_Parser_checkPrecFn(x_104, x_1, x_103);
-x_106 = lean_ctor_get(x_105, 3);
-lean_inc(x_106);
-if (lean_obj_tag(x_106) == 0)
-{
-lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185;
-x_107 = lean_ctor_get(x_105, 0);
-lean_inc(x_107);
-x_108 = lean_ctor_get(x_105, 1);
-lean_inc(x_108);
-x_109 = lean_array_get_size(x_107);
-lean_dec(x_107);
-x_182 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_183 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_184 = l_Lean_Parser_categoryParser___elambda__1(x_182, x_183, x_1, x_105);
-x_185 = lean_ctor_get(x_184, 3);
-lean_inc(x_185);
-if (lean_obj_tag(x_185) == 0)
-{
-lean_object* x_186; lean_object* x_187;
-lean_inc(x_1);
-x_186 = l_Lean_Parser_Term_leftArrow___elambda__1(x_1, x_184);
-x_187 = lean_ctor_get(x_186, 3);
-lean_inc(x_187);
-if (lean_obj_tag(x_187) == 0)
-{
-lean_dec(x_108);
-x_110 = x_186;
-goto block_181;
-}
-else
-{
-uint8_t x_188;
-x_188 = !lean_is_exclusive(x_186);
-if (x_188 == 0)
-{
-lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192;
-x_189 = lean_ctor_get(x_186, 0);
-x_190 = lean_ctor_get(x_186, 3);
-lean_dec(x_190);
-x_191 = lean_ctor_get(x_186, 1);
-lean_dec(x_191);
-x_192 = l_Array_shrink___main___rarg(x_189, x_109);
-lean_ctor_set(x_186, 1, x_108);
-lean_ctor_set(x_186, 0, x_192);
-x_110 = x_186;
-goto block_181;
-}
-else
-{
-lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196;
-x_193 = lean_ctor_get(x_186, 0);
-x_194 = lean_ctor_get(x_186, 2);
-lean_inc(x_194);
-lean_inc(x_193);
-lean_dec(x_186);
-x_195 = l_Array_shrink___main___rarg(x_193, x_109);
-x_196 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_196, 0, x_195);
-lean_ctor_set(x_196, 1, x_108);
-lean_ctor_set(x_196, 2, x_194);
-lean_ctor_set(x_196, 3, x_187);
-x_110 = x_196;
-goto block_181;
-}
-}
-}
-else
-{
-lean_object* x_197;
-lean_dec(x_185);
-x_197 = lean_ctor_get(x_184, 3);
-lean_inc(x_197);
-if (lean_obj_tag(x_197) == 0)
-{
-lean_dec(x_108);
-x_110 = x_184;
-goto block_181;
-}
-else
-{
-uint8_t x_198;
-x_198 = !lean_is_exclusive(x_184);
-if (x_198 == 0)
-{
-lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202;
-x_199 = lean_ctor_get(x_184, 0);
-x_200 = lean_ctor_get(x_184, 3);
-lean_dec(x_200);
-x_201 = lean_ctor_get(x_184, 1);
-lean_dec(x_201);
-x_202 = l_Array_shrink___main___rarg(x_199, x_109);
-lean_ctor_set(x_184, 1, x_108);
-lean_ctor_set(x_184, 0, x_202);
-x_110 = x_184;
-goto block_181;
-}
-else
-{
-lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206;
-x_203 = lean_ctor_get(x_184, 0);
-x_204 = lean_ctor_get(x_184, 2);
-lean_inc(x_204);
-lean_inc(x_203);
-lean_dec(x_184);
-x_205 = l_Array_shrink___main___rarg(x_203, x_109);
-x_206 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_206, 0, x_205);
-lean_ctor_set(x_206, 1, x_108);
-lean_ctor_set(x_206, 2, x_204);
-lean_ctor_set(x_206, 3, x_197);
-x_110 = x_206;
-goto block_181;
-}
-}
-}
-block_181:
-{
-lean_object* x_111;
-x_111 = lean_ctor_get(x_110, 3);
-lean_inc(x_111);
-if (lean_obj_tag(x_111) == 0)
-{
-lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115;
-x_112 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4;
-x_113 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_114 = l_Lean_Parser_categoryParser___elambda__1(x_112, x_113, x_1, x_110);
-x_115 = lean_ctor_get(x_114, 3);
-lean_inc(x_115);
-if (lean_obj_tag(x_115) == 0)
-{
-lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_160; lean_object* x_161;
-x_116 = lean_ctor_get(x_114, 0);
-lean_inc(x_116);
-x_117 = lean_array_get_size(x_116);
-lean_dec(x_116);
-x_118 = lean_ctor_get(x_114, 1);
-lean_inc(x_118);
-lean_inc(x_1);
-x_160 = l_Lean_Parser_tokenFn(x_1, x_114);
-x_161 = lean_ctor_get(x_160, 3);
-lean_inc(x_161);
-if (lean_obj_tag(x_161) == 0)
-{
-lean_object* x_162; lean_object* x_163;
-x_162 = lean_ctor_get(x_160, 0);
-lean_inc(x_162);
-x_163 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_162);
-lean_dec(x_162);
-if (lean_obj_tag(x_163) == 2)
-{
-lean_object* x_164; lean_object* x_165; uint8_t x_166;
-x_164 = lean_ctor_get(x_163, 1);
-lean_inc(x_164);
-lean_dec(x_163);
-x_165 = l_Lean_Parser_Term_doPatDecl___elambda__1___closed__6;
-x_166 = lean_string_dec_eq(x_164, x_165);
-lean_dec(x_164);
-if (x_166 == 0)
-{
-lean_object* x_167; lean_object* x_168;
-x_167 = l_Lean_Parser_Term_doPatDecl___elambda__1___closed__9;
-lean_inc(x_118);
-x_168 = l_Lean_Parser_ParserState_mkErrorsAt(x_160, x_167, x_118);
-x_119 = x_168;
-goto block_159;
-}
-else
-{
-x_119 = x_160;
-goto block_159;
-}
-}
-else
-{
-lean_object* x_169; lean_object* x_170;
-lean_dec(x_163);
-x_169 = l_Lean_Parser_Term_doPatDecl___elambda__1___closed__9;
-lean_inc(x_118);
-x_170 = l_Lean_Parser_ParserState_mkErrorsAt(x_160, x_169, x_118);
-x_119 = x_170;
-goto block_159;
-}
-}
-else
-{
-lean_object* x_171; lean_object* x_172;
-lean_dec(x_161);
-x_171 = l_Lean_Parser_Term_doPatDecl___elambda__1___closed__9;
-lean_inc(x_118);
-x_172 = l_Lean_Parser_ParserState_mkErrorsAt(x_160, x_171, x_118);
-x_119 = x_172;
-goto block_159;
-}
-block_159:
-{
-lean_object* x_120;
-x_120 = lean_ctor_get(x_119, 3);
-lean_inc(x_120);
-if (lean_obj_tag(x_120) == 0)
-{
-lean_object* x_121; lean_object* x_122;
-x_121 = l_Lean_Parser_categoryParser___elambda__1(x_112, x_113, x_1, x_119);
-x_122 = lean_ctor_get(x_121, 3);
-lean_inc(x_122);
-if (lean_obj_tag(x_122) == 0)
-{
-lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; uint8_t x_127; lean_object* x_128;
-lean_dec(x_118);
-x_123 = l_Lean_nullKind;
-x_124 = l_Lean_Parser_ParserState_mkNode(x_121, x_123, x_117);
-x_125 = l_Lean_Parser_Term_doPatDecl___elambda__1___closed__2;
-x_126 = l_Lean_Parser_ParserState_mkNode(x_124, x_125, x_109);
-x_127 = 1;
-x_128 = l_Lean_Parser_mergeOrElseErrors(x_126, x_100, x_97, x_127);
-lean_dec(x_97);
-return x_128;
-}
-else
-{
-lean_object* x_129; uint8_t x_130;
-lean_dec(x_122);
-x_129 = lean_ctor_get(x_121, 1);
-lean_inc(x_129);
-x_130 = lean_nat_dec_eq(x_129, x_118);
-lean_dec(x_129);
-if (x_130 == 0)
-{
-lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; uint8_t x_135; lean_object* x_136;
-lean_dec(x_118);
-x_131 = l_Lean_nullKind;
-x_132 = l_Lean_Parser_ParserState_mkNode(x_121, x_131, x_117);
-x_133 = l_Lean_Parser_Term_doPatDecl___elambda__1___closed__2;
-x_134 = l_Lean_Parser_ParserState_mkNode(x_132, x_133, x_109);
-x_135 = 1;
-x_136 = l_Lean_Parser_mergeOrElseErrors(x_134, x_100, x_97, x_135);
-lean_dec(x_97);
-return x_136;
-}
-else
-{
-lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; uint8_t x_142; lean_object* x_143;
-x_137 = l_Lean_Parser_ParserState_restore(x_121, x_117, x_118);
-x_138 = l_Lean_nullKind;
-x_139 = l_Lean_Parser_ParserState_mkNode(x_137, x_138, x_117);
-x_140 = l_Lean_Parser_Term_doPatDecl___elambda__1___closed__2;
-x_141 = l_Lean_Parser_ParserState_mkNode(x_139, x_140, x_109);
-x_142 = 1;
-x_143 = l_Lean_Parser_mergeOrElseErrors(x_141, x_100, x_97, x_142);
-lean_dec(x_97);
-return x_143;
-}
-}
-}
-else
-{
-lean_object* x_144; uint8_t x_145;
-lean_dec(x_120);
-lean_dec(x_1);
-x_144 = lean_ctor_get(x_119, 1);
-lean_inc(x_144);
-x_145 = lean_nat_dec_eq(x_144, x_118);
-lean_dec(x_144);
-if (x_145 == 0)
-{
-lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; uint8_t x_150; lean_object* x_151;
-lean_dec(x_118);
-x_146 = l_Lean_nullKind;
-x_147 = l_Lean_Parser_ParserState_mkNode(x_119, x_146, x_117);
-x_148 = l_Lean_Parser_Term_doPatDecl___elambda__1___closed__2;
-x_149 = l_Lean_Parser_ParserState_mkNode(x_147, x_148, x_109);
-x_150 = 1;
-x_151 = l_Lean_Parser_mergeOrElseErrors(x_149, x_100, x_97, x_150);
-lean_dec(x_97);
-return x_151;
-}
-else
-{
-lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; uint8_t x_157; lean_object* x_158;
-x_152 = l_Lean_Parser_ParserState_restore(x_119, x_117, x_118);
-x_153 = l_Lean_nullKind;
-x_154 = l_Lean_Parser_ParserState_mkNode(x_152, x_153, x_117);
-x_155 = l_Lean_Parser_Term_doPatDecl___elambda__1___closed__2;
-x_156 = l_Lean_Parser_ParserState_mkNode(x_154, x_155, x_109);
-x_157 = 1;
-x_158 = l_Lean_Parser_mergeOrElseErrors(x_156, x_100, x_97, x_157);
-lean_dec(x_97);
-return x_158;
-}
-}
-}
-}
-else
-{
-lean_object* x_173; lean_object* x_174; uint8_t x_175; lean_object* x_176;
-lean_dec(x_115);
-lean_dec(x_1);
-x_173 = l_Lean_Parser_Term_doPatDecl___elambda__1___closed__2;
-x_174 = l_Lean_Parser_ParserState_mkNode(x_114, x_173, x_109);
-x_175 = 1;
-x_176 = l_Lean_Parser_mergeOrElseErrors(x_174, x_100, x_97, x_175);
-lean_dec(x_97);
-return x_176;
-}
-}
-else
-{
-lean_object* x_177; lean_object* x_178; uint8_t x_179; lean_object* x_180;
-lean_dec(x_111);
-lean_dec(x_1);
-x_177 = l_Lean_Parser_Term_doPatDecl___elambda__1___closed__2;
-x_178 = l_Lean_Parser_ParserState_mkNode(x_110, x_177, x_109);
-x_179 = 1;
-x_180 = l_Lean_Parser_mergeOrElseErrors(x_178, x_100, x_97, x_179);
-lean_dec(x_97);
-return x_180;
-}
-}
-}
-else
-{
-uint8_t x_207; lean_object* x_208;
-lean_dec(x_106);
-lean_dec(x_1);
-x_207 = 1;
-x_208 = l_Lean_Parser_mergeOrElseErrors(x_105, x_100, x_97, x_207);
-lean_dec(x_97);
-return x_208;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Term_doPatDecl___closed__1() {
_start:
{
@@ -8300,7 +4063,7 @@ static lean_object* _init_l_Lean_Parser_Term_doPatDecl___closed__2() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Term_doPatDecl___elambda__1___closed__6;
+x_1 = l_Lean_Parser_Term_doPatDecl___elambda__1___closed__8;
x_2 = l_Lean_Parser_symbolInfo(x_1);
return x_2;
}
@@ -8447,383 +4210,67 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Term_doLetArrow___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_doIdDecl___closed__7;
+x_2 = l_Lean_Parser_Term_doPatDecl___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doLetArrow___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_doLet___elambda__1___closed__5;
+x_2 = l_Lean_Parser_Term_doLetArrow___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doLetArrow___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_doLetArrow___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_doLetArrow___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doLetArrow___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_doLetArrow___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Term_doLetArrow___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Term_doLetArrow___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_34; lean_object* x_35; lean_object* x_36;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_34 = lean_ctor_get(x_7, 1);
-lean_inc(x_34);
-lean_inc(x_1);
-x_35 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_36 = lean_ctor_get(x_35, 3);
-lean_inc(x_36);
-if (lean_obj_tag(x_36) == 0)
-{
-lean_object* x_37; lean_object* x_38;
-x_37 = lean_ctor_get(x_35, 0);
-lean_inc(x_37);
-x_38 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_37);
-lean_dec(x_37);
-if (lean_obj_tag(x_38) == 2)
-{
-lean_object* x_39; lean_object* x_40; uint8_t x_41;
-x_39 = lean_ctor_get(x_38, 1);
-lean_inc(x_39);
-lean_dec(x_38);
-x_40 = l_Lean_Parser_Term_let___elambda__1___closed__4;
-x_41 = lean_string_dec_eq(x_39, x_40);
-lean_dec(x_39);
-if (x_41 == 0)
-{
-lean_object* x_42; lean_object* x_43;
-x_42 = l_Lean_Parser_Term_let___elambda__1___closed__7;
-x_43 = l_Lean_Parser_ParserState_mkErrorsAt(x_35, x_42, x_34);
-x_11 = x_43;
-goto block_33;
-}
-else
-{
-lean_dec(x_34);
-x_11 = x_35;
-goto block_33;
-}
-}
-else
-{
-lean_object* x_44; lean_object* x_45;
-lean_dec(x_38);
-x_44 = l_Lean_Parser_Term_let___elambda__1___closed__7;
-x_45 = l_Lean_Parser_ParserState_mkErrorsAt(x_35, x_44, x_34);
-x_11 = x_45;
-goto block_33;
-}
-}
-else
-{
-lean_object* x_46; lean_object* x_47;
-lean_dec(x_36);
-x_46 = l_Lean_Parser_Term_let___elambda__1___closed__7;
-x_47 = l_Lean_Parser_ParserState_mkErrorsAt(x_35, x_46, x_34);
-x_11 = x_47;
-goto block_33;
-}
-block_33:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_13 = lean_ctor_get(x_11, 0);
-lean_inc(x_13);
-x_14 = lean_array_get_size(x_13);
-lean_dec(x_13);
-x_15 = lean_ctor_get(x_11, 1);
-lean_inc(x_15);
-lean_inc(x_1);
-x_16 = l_Lean_Parser_Term_doIdDecl___elambda__1(x_1, x_11);
-x_17 = lean_ctor_get(x_16, 3);
-lean_inc(x_17);
-if (lean_obj_tag(x_17) == 0)
-{
-lean_object* x_18; lean_object* x_19;
-lean_dec(x_15);
-lean_dec(x_14);
-lean_dec(x_1);
-x_18 = l_Lean_Parser_Term_doLetArrow___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_16, x_18, x_10);
-return x_19;
-}
-else
-{
-lean_object* x_20; lean_object* x_21; uint8_t x_22;
-x_20 = lean_ctor_get(x_17, 0);
-lean_inc(x_20);
-lean_dec(x_17);
-x_21 = lean_ctor_get(x_16, 1);
-lean_inc(x_21);
-x_22 = lean_nat_dec_eq(x_21, x_15);
-lean_dec(x_21);
-if (x_22 == 0)
-{
-lean_object* x_23; lean_object* x_24;
-lean_dec(x_20);
-lean_dec(x_15);
-lean_dec(x_14);
-lean_dec(x_1);
-x_23 = l_Lean_Parser_Term_doLetArrow___elambda__1___closed__2;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_16, x_23, x_10);
-return x_24;
-}
-else
-{
-lean_object* x_25; lean_object* x_26; uint8_t x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30;
-lean_inc(x_15);
-x_25 = l_Lean_Parser_ParserState_restore(x_16, x_14, x_15);
-lean_dec(x_14);
-x_26 = l_Lean_Parser_Term_doPatDecl___elambda__1(x_1, x_25);
-x_27 = 1;
-x_28 = l_Lean_Parser_mergeOrElseErrors(x_26, x_20, x_15, x_27);
-lean_dec(x_15);
-x_29 = l_Lean_Parser_Term_doLetArrow___elambda__1___closed__2;
-x_30 = l_Lean_Parser_ParserState_mkNode(x_28, x_29, x_10);
-return x_30;
-}
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32;
-lean_dec(x_12);
-lean_dec(x_1);
-x_31 = l_Lean_Parser_Term_doLetArrow___elambda__1___closed__2;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_11, x_31, x_10);
-return x_32;
-}
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Term_doLetArrow___elambda__1___closed__8;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-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_2, 0);
-lean_inc(x_48);
-x_49 = lean_array_get_size(x_48);
-lean_dec(x_48);
-x_50 = lean_ctor_get(x_2, 1);
-lean_inc(x_50);
-lean_inc(x_1);
-x_51 = lean_apply_2(x_4, x_1, x_2);
-x_52 = lean_ctor_get(x_51, 3);
-lean_inc(x_52);
-if (lean_obj_tag(x_52) == 0)
-{
-lean_dec(x_50);
-lean_dec(x_49);
-lean_dec(x_1);
-return x_51;
-}
-else
-{
-lean_object* x_53; lean_object* x_54; uint8_t x_55;
-x_53 = lean_ctor_get(x_52, 0);
-lean_inc(x_53);
-lean_dec(x_52);
-x_54 = lean_ctor_get(x_51, 1);
-lean_inc(x_54);
-x_55 = lean_nat_dec_eq(x_54, x_50);
-lean_dec(x_54);
-if (x_55 == 0)
-{
-lean_dec(x_53);
-lean_dec(x_50);
-lean_dec(x_49);
-lean_dec(x_1);
-return x_51;
-}
-else
-{
-lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59;
-lean_inc(x_50);
-x_56 = l_Lean_Parser_ParserState_restore(x_51, x_49, x_50);
-lean_dec(x_49);
-x_57 = lean_unsigned_to_nat(1024u);
-x_58 = l_Lean_Parser_checkPrecFn(x_57, x_1, x_56);
-x_59 = lean_ctor_get(x_58, 3);
-lean_inc(x_59);
-if (lean_obj_tag(x_59) == 0)
-{
-lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_92; lean_object* x_93; lean_object* x_94;
-x_60 = lean_ctor_get(x_58, 0);
-lean_inc(x_60);
-x_61 = lean_array_get_size(x_60);
-lean_dec(x_60);
-x_92 = lean_ctor_get(x_58, 1);
-lean_inc(x_92);
-lean_inc(x_1);
-x_93 = l_Lean_Parser_tokenFn(x_1, x_58);
-x_94 = lean_ctor_get(x_93, 3);
-lean_inc(x_94);
-if (lean_obj_tag(x_94) == 0)
-{
-lean_object* x_95; lean_object* x_96;
-x_95 = lean_ctor_get(x_93, 0);
-lean_inc(x_95);
-x_96 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_95);
-lean_dec(x_95);
-if (lean_obj_tag(x_96) == 2)
-{
-lean_object* x_97; lean_object* x_98; uint8_t x_99;
-x_97 = lean_ctor_get(x_96, 1);
-lean_inc(x_97);
-lean_dec(x_96);
-x_98 = l_Lean_Parser_Term_let___elambda__1___closed__4;
-x_99 = lean_string_dec_eq(x_97, x_98);
-lean_dec(x_97);
-if (x_99 == 0)
-{
-lean_object* x_100; lean_object* x_101;
-x_100 = l_Lean_Parser_Term_let___elambda__1___closed__7;
-x_101 = l_Lean_Parser_ParserState_mkErrorsAt(x_93, x_100, x_92);
-x_62 = x_101;
-goto block_91;
-}
-else
-{
-lean_dec(x_92);
-x_62 = x_93;
-goto block_91;
-}
-}
-else
-{
-lean_object* x_102; lean_object* x_103;
-lean_dec(x_96);
-x_102 = l_Lean_Parser_Term_let___elambda__1___closed__7;
-x_103 = l_Lean_Parser_ParserState_mkErrorsAt(x_93, x_102, x_92);
-x_62 = x_103;
-goto block_91;
-}
-}
-else
-{
-lean_object* x_104; lean_object* x_105;
-lean_dec(x_94);
-x_104 = l_Lean_Parser_Term_let___elambda__1___closed__7;
-x_105 = l_Lean_Parser_ParserState_mkErrorsAt(x_93, x_104, x_92);
-x_62 = x_105;
-goto block_91;
-}
-block_91:
-{
-lean_object* x_63;
-x_63 = lean_ctor_get(x_62, 3);
-lean_inc(x_63);
-if (lean_obj_tag(x_63) == 0)
-{
-lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68;
-x_64 = lean_ctor_get(x_62, 0);
-lean_inc(x_64);
-x_65 = lean_array_get_size(x_64);
-lean_dec(x_64);
-x_66 = lean_ctor_get(x_62, 1);
-lean_inc(x_66);
-lean_inc(x_1);
-x_67 = l_Lean_Parser_Term_doIdDecl___elambda__1(x_1, x_62);
-x_68 = lean_ctor_get(x_67, 3);
-lean_inc(x_68);
-if (lean_obj_tag(x_68) == 0)
-{
-lean_object* x_69; lean_object* x_70; uint8_t x_71; lean_object* x_72;
-lean_dec(x_66);
-lean_dec(x_65);
-lean_dec(x_1);
-x_69 = l_Lean_Parser_Term_doLetArrow___elambda__1___closed__2;
-x_70 = l_Lean_Parser_ParserState_mkNode(x_67, x_69, x_61);
-x_71 = 1;
-x_72 = l_Lean_Parser_mergeOrElseErrors(x_70, x_53, x_50, x_71);
-lean_dec(x_50);
-return x_72;
-}
-else
-{
-lean_object* x_73; lean_object* x_74; uint8_t x_75;
-x_73 = lean_ctor_get(x_68, 0);
-lean_inc(x_73);
-lean_dec(x_68);
-x_74 = lean_ctor_get(x_67, 1);
-lean_inc(x_74);
-x_75 = lean_nat_dec_eq(x_74, x_66);
-lean_dec(x_74);
-if (x_75 == 0)
-{
-lean_object* x_76; lean_object* x_77; uint8_t x_78; lean_object* x_79;
-lean_dec(x_73);
-lean_dec(x_66);
-lean_dec(x_65);
-lean_dec(x_1);
-x_76 = l_Lean_Parser_Term_doLetArrow___elambda__1___closed__2;
-x_77 = l_Lean_Parser_ParserState_mkNode(x_67, x_76, x_61);
-x_78 = 1;
-x_79 = l_Lean_Parser_mergeOrElseErrors(x_77, x_53, x_50, x_78);
-lean_dec(x_50);
-return x_79;
-}
-else
-{
-lean_object* x_80; lean_object* x_81; uint8_t x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86;
-lean_inc(x_66);
-x_80 = l_Lean_Parser_ParserState_restore(x_67, x_65, x_66);
-lean_dec(x_65);
-x_81 = l_Lean_Parser_Term_doPatDecl___elambda__1(x_1, x_80);
-x_82 = 1;
-x_83 = l_Lean_Parser_mergeOrElseErrors(x_81, x_73, x_66, x_82);
-lean_dec(x_66);
-x_84 = l_Lean_Parser_Term_doLetArrow___elambda__1___closed__2;
-x_85 = l_Lean_Parser_ParserState_mkNode(x_83, x_84, x_61);
-x_86 = l_Lean_Parser_mergeOrElseErrors(x_85, x_53, x_50, x_82);
-lean_dec(x_50);
-return x_86;
-}
-}
-}
-else
-{
-lean_object* x_87; lean_object* x_88; uint8_t x_89; lean_object* x_90;
-lean_dec(x_63);
-lean_dec(x_1);
-x_87 = l_Lean_Parser_Term_doLetArrow___elambda__1___closed__2;
-x_88 = l_Lean_Parser_ParserState_mkNode(x_62, x_87, x_61);
-x_89 = 1;
-x_90 = l_Lean_Parser_mergeOrElseErrors(x_88, x_53, x_50, x_89);
-lean_dec(x_50);
-return x_90;
-}
-}
-}
-else
-{
-uint8_t x_106; lean_object* x_107;
-lean_dec(x_59);
-lean_dec(x_1);
-x_106 = 1;
-x_107 = l_Lean_Parser_mergeOrElseErrors(x_58, x_53, x_50, x_106);
-lean_dec(x_50);
-return x_107;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Term_doLetArrow___closed__1() {
_start:
{
@@ -8912,7 +4359,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Term_doLetArrow(lean_object* x_1)
_start:
{
lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_2 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4;
+x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__4;
x_3 = l_Lean_Parser_Term_doLetArrow___elambda__1___closed__2;
x_4 = 1;
x_5 = l_Lean_Parser_Term_doLetArrow;
@@ -8925,7 +4372,7 @@ lean_object* l_Lean_Parser_doElemParser_formatter___rarg(lean_object* x_1, lean_
_start:
{
lean_object* x_6; lean_object* x_7;
-x_6 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4;
+x_6 = l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__4;
x_7 = l_Lean_PrettyPrinter_Formatter_categoryParser_formatter(x_6, x_1, x_2, x_3, x_4, x_5);
return x_7;
}
@@ -9081,7 +4528,7 @@ static lean_object* _init_l_Lean_Parser_Term_doPatDecl_formatter___closed__4() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Term_doPatDecl___elambda__1___closed__5;
+x_1 = l_Lean_Parser_Term_doPatDecl___elambda__1___closed__7;
x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_symbol_formatter___boxed), 6, 1);
lean_closure_set(x_2, 0, x_1);
return x_2;
@@ -9259,7 +4706,7 @@ lean_object* l_Lean_Parser_doElemParser_parenthesizer(lean_object* x_1, lean_obj
_start:
{
lean_object* x_7; lean_object* x_8;
-x_7 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4;
+x_7 = l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__4;
x_8 = l_Lean_PrettyPrinter_Parenthesizer_categoryParser_parenthesizer(x_7, x_1, x_2, x_3, x_4, x_5, x_6);
return x_8;
}
@@ -9597,267 +5044,67 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Term_doReassign___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_letIdDecl___closed__4;
+x_2 = l_Lean_Parser_Term_letPatDecl___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doReassign___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___closed__1;
+x_2 = l_Lean_Parser_Term_doReassign___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doReassign___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_doReassign___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_doReassign___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doReassign___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_doReassign___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Term_doReassign___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Term_doReassign___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-lean_inc(x_1);
-x_11 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1(x_1, x_7);
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_13 = lean_ctor_get(x_11, 0);
-lean_inc(x_13);
-x_14 = lean_array_get_size(x_13);
-lean_dec(x_13);
-x_15 = lean_ctor_get(x_11, 1);
-lean_inc(x_15);
-lean_inc(x_1);
-x_16 = l_Lean_Parser_Term_letIdDecl___elambda__1(x_1, x_11);
-x_17 = lean_ctor_get(x_16, 3);
-lean_inc(x_17);
-if (lean_obj_tag(x_17) == 0)
-{
-lean_object* x_18; lean_object* x_19;
-lean_dec(x_15);
-lean_dec(x_14);
-lean_dec(x_1);
-x_18 = l_Lean_Parser_Term_doReassign___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_16, x_18, x_10);
-return x_19;
-}
-else
-{
-lean_object* x_20; lean_object* x_21; uint8_t x_22;
-x_20 = lean_ctor_get(x_17, 0);
-lean_inc(x_20);
-lean_dec(x_17);
-x_21 = lean_ctor_get(x_16, 1);
-lean_inc(x_21);
-x_22 = lean_nat_dec_eq(x_21, x_15);
-lean_dec(x_21);
-if (x_22 == 0)
-{
-lean_object* x_23; lean_object* x_24;
-lean_dec(x_20);
-lean_dec(x_15);
-lean_dec(x_14);
-lean_dec(x_1);
-x_23 = l_Lean_Parser_Term_doReassign___elambda__1___closed__2;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_16, x_23, x_10);
-return x_24;
-}
-else
-{
-lean_object* x_25; lean_object* x_26; uint8_t x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30;
-lean_inc(x_15);
-x_25 = l_Lean_Parser_ParserState_restore(x_16, x_14, x_15);
-lean_dec(x_14);
-x_26 = l_Lean_Parser_Term_letPatDecl___elambda__1(x_1, x_25);
-x_27 = 1;
-x_28 = l_Lean_Parser_mergeOrElseErrors(x_26, x_20, x_15, x_27);
-lean_dec(x_15);
-x_29 = l_Lean_Parser_Term_doReassign___elambda__1___closed__2;
-x_30 = l_Lean_Parser_ParserState_mkNode(x_28, x_29, x_10);
-return x_30;
-}
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32;
-lean_dec(x_12);
-lean_dec(x_1);
-x_31 = l_Lean_Parser_Term_doReassign___elambda__1___closed__2;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_11, x_31, x_10);
-return x_32;
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Term_doReassign___elambda__1___closed__8;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_33 = lean_ctor_get(x_2, 0);
-lean_inc(x_33);
-x_34 = lean_array_get_size(x_33);
-lean_dec(x_33);
-x_35 = lean_ctor_get(x_2, 1);
-lean_inc(x_35);
-lean_inc(x_1);
-x_36 = lean_apply_2(x_4, x_1, x_2);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_36, 1);
-lean_inc(x_39);
-x_40 = lean_nat_dec_eq(x_39, x_35);
-lean_dec(x_39);
-if (x_40 == 0)
-{
-lean_dec(x_38);
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
-lean_inc(x_35);
-x_41 = l_Lean_Parser_ParserState_restore(x_36, x_34, x_35);
-lean_dec(x_34);
-x_42 = lean_unsigned_to_nat(1024u);
-x_43 = l_Lean_Parser_checkPrecFn(x_42, x_1, x_41);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48;
-x_45 = lean_ctor_get(x_43, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-lean_inc(x_1);
-x_47 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1(x_1, x_43);
-x_48 = lean_ctor_get(x_47, 3);
-lean_inc(x_48);
-if (lean_obj_tag(x_48) == 0)
-{
-lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53;
-x_49 = lean_ctor_get(x_47, 0);
-lean_inc(x_49);
-x_50 = lean_array_get_size(x_49);
-lean_dec(x_49);
-x_51 = lean_ctor_get(x_47, 1);
-lean_inc(x_51);
-lean_inc(x_1);
-x_52 = l_Lean_Parser_Term_letIdDecl___elambda__1(x_1, x_47);
-x_53 = lean_ctor_get(x_52, 3);
-lean_inc(x_53);
-if (lean_obj_tag(x_53) == 0)
-{
-lean_object* x_54; lean_object* x_55; uint8_t x_56; lean_object* x_57;
-lean_dec(x_51);
-lean_dec(x_50);
-lean_dec(x_1);
-x_54 = l_Lean_Parser_Term_doReassign___elambda__1___closed__2;
-x_55 = l_Lean_Parser_ParserState_mkNode(x_52, x_54, x_46);
-x_56 = 1;
-x_57 = l_Lean_Parser_mergeOrElseErrors(x_55, x_38, x_35, x_56);
-lean_dec(x_35);
-return x_57;
-}
-else
-{
-lean_object* x_58; lean_object* x_59; uint8_t x_60;
-x_58 = lean_ctor_get(x_53, 0);
-lean_inc(x_58);
-lean_dec(x_53);
-x_59 = lean_ctor_get(x_52, 1);
-lean_inc(x_59);
-x_60 = lean_nat_dec_eq(x_59, x_51);
-lean_dec(x_59);
-if (x_60 == 0)
-{
-lean_object* x_61; lean_object* x_62; uint8_t x_63; lean_object* x_64;
-lean_dec(x_58);
-lean_dec(x_51);
-lean_dec(x_50);
-lean_dec(x_1);
-x_61 = l_Lean_Parser_Term_doReassign___elambda__1___closed__2;
-x_62 = l_Lean_Parser_ParserState_mkNode(x_52, x_61, x_46);
-x_63 = 1;
-x_64 = l_Lean_Parser_mergeOrElseErrors(x_62, x_38, x_35, x_63);
-lean_dec(x_35);
-return x_64;
-}
-else
-{
-lean_object* x_65; lean_object* x_66; uint8_t x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71;
-lean_inc(x_51);
-x_65 = l_Lean_Parser_ParserState_restore(x_52, x_50, x_51);
-lean_dec(x_50);
-x_66 = l_Lean_Parser_Term_letPatDecl___elambda__1(x_1, x_65);
-x_67 = 1;
-x_68 = l_Lean_Parser_mergeOrElseErrors(x_66, x_58, x_51, x_67);
-lean_dec(x_51);
-x_69 = l_Lean_Parser_Term_doReassign___elambda__1___closed__2;
-x_70 = l_Lean_Parser_ParserState_mkNode(x_68, x_69, x_46);
-x_71 = l_Lean_Parser_mergeOrElseErrors(x_70, x_38, x_35, x_67);
-lean_dec(x_35);
-return x_71;
-}
-}
-}
-else
-{
-lean_object* x_72; lean_object* x_73; uint8_t x_74; lean_object* x_75;
-lean_dec(x_48);
-lean_dec(x_1);
-x_72 = l_Lean_Parser_Term_doReassign___elambda__1___closed__2;
-x_73 = l_Lean_Parser_ParserState_mkNode(x_47, x_72, x_46);
-x_74 = 1;
-x_75 = l_Lean_Parser_mergeOrElseErrors(x_73, x_38, x_35, x_74);
-lean_dec(x_35);
-return x_75;
-}
-}
-else
-{
-uint8_t x_76; lean_object* x_77;
-lean_dec(x_44);
-lean_dec(x_1);
-x_76 = 1;
-x_77 = l_Lean_Parser_mergeOrElseErrors(x_43, x_38, x_35, x_76);
-lean_dec(x_35);
-return x_77;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Term_doReassign___closed__1() {
_start:
{
@@ -9948,7 +5195,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Term_doReassign(lean_object* x_1)
_start:
{
lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_2 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4;
+x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__4;
x_3 = l_Lean_Parser_Term_doReassign___elambda__1___closed__2;
x_4 = 1;
x_5 = l_Lean_Parser_Term_doReassign;
@@ -10236,267 +5483,55 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Term_doReassignArrow___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___closed__1;
+x_2 = l_Lean_Parser_Term_doLetArrow___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doReassignArrow___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_doReassignArrow___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_doReassignArrow___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doReassignArrow___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_doReassignArrow___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Term_doReassignArrow___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Term_doReassignArrow___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-lean_inc(x_1);
-x_11 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1(x_1, x_7);
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_13 = lean_ctor_get(x_11, 0);
-lean_inc(x_13);
-x_14 = lean_array_get_size(x_13);
-lean_dec(x_13);
-x_15 = lean_ctor_get(x_11, 1);
-lean_inc(x_15);
-lean_inc(x_1);
-x_16 = l_Lean_Parser_Term_doIdDecl___elambda__1(x_1, x_11);
-x_17 = lean_ctor_get(x_16, 3);
-lean_inc(x_17);
-if (lean_obj_tag(x_17) == 0)
-{
-lean_object* x_18; lean_object* x_19;
-lean_dec(x_15);
-lean_dec(x_14);
-lean_dec(x_1);
-x_18 = l_Lean_Parser_Term_doReassignArrow___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_16, x_18, x_10);
-return x_19;
-}
-else
-{
-lean_object* x_20; lean_object* x_21; uint8_t x_22;
-x_20 = lean_ctor_get(x_17, 0);
-lean_inc(x_20);
-lean_dec(x_17);
-x_21 = lean_ctor_get(x_16, 1);
-lean_inc(x_21);
-x_22 = lean_nat_dec_eq(x_21, x_15);
-lean_dec(x_21);
-if (x_22 == 0)
-{
-lean_object* x_23; lean_object* x_24;
-lean_dec(x_20);
-lean_dec(x_15);
-lean_dec(x_14);
-lean_dec(x_1);
-x_23 = l_Lean_Parser_Term_doReassignArrow___elambda__1___closed__2;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_16, x_23, x_10);
-return x_24;
-}
-else
-{
-lean_object* x_25; lean_object* x_26; uint8_t x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30;
-lean_inc(x_15);
-x_25 = l_Lean_Parser_ParserState_restore(x_16, x_14, x_15);
-lean_dec(x_14);
-x_26 = l_Lean_Parser_Term_doPatDecl___elambda__1(x_1, x_25);
-x_27 = 1;
-x_28 = l_Lean_Parser_mergeOrElseErrors(x_26, x_20, x_15, x_27);
-lean_dec(x_15);
-x_29 = l_Lean_Parser_Term_doReassignArrow___elambda__1___closed__2;
-x_30 = l_Lean_Parser_ParserState_mkNode(x_28, x_29, x_10);
-return x_30;
-}
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32;
-lean_dec(x_12);
-lean_dec(x_1);
-x_31 = l_Lean_Parser_Term_doReassignArrow___elambda__1___closed__2;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_11, x_31, x_10);
-return x_32;
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Term_doReassignArrow___elambda__1___closed__7;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_33 = lean_ctor_get(x_2, 0);
-lean_inc(x_33);
-x_34 = lean_array_get_size(x_33);
-lean_dec(x_33);
-x_35 = lean_ctor_get(x_2, 1);
-lean_inc(x_35);
-lean_inc(x_1);
-x_36 = lean_apply_2(x_4, x_1, x_2);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_36, 1);
-lean_inc(x_39);
-x_40 = lean_nat_dec_eq(x_39, x_35);
-lean_dec(x_39);
-if (x_40 == 0)
-{
-lean_dec(x_38);
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
-lean_inc(x_35);
-x_41 = l_Lean_Parser_ParserState_restore(x_36, x_34, x_35);
-lean_dec(x_34);
-x_42 = lean_unsigned_to_nat(1024u);
-x_43 = l_Lean_Parser_checkPrecFn(x_42, x_1, x_41);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48;
-x_45 = lean_ctor_get(x_43, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-lean_inc(x_1);
-x_47 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1(x_1, x_43);
-x_48 = lean_ctor_get(x_47, 3);
-lean_inc(x_48);
-if (lean_obj_tag(x_48) == 0)
-{
-lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53;
-x_49 = lean_ctor_get(x_47, 0);
-lean_inc(x_49);
-x_50 = lean_array_get_size(x_49);
-lean_dec(x_49);
-x_51 = lean_ctor_get(x_47, 1);
-lean_inc(x_51);
-lean_inc(x_1);
-x_52 = l_Lean_Parser_Term_doIdDecl___elambda__1(x_1, x_47);
-x_53 = lean_ctor_get(x_52, 3);
-lean_inc(x_53);
-if (lean_obj_tag(x_53) == 0)
-{
-lean_object* x_54; lean_object* x_55; uint8_t x_56; lean_object* x_57;
-lean_dec(x_51);
-lean_dec(x_50);
-lean_dec(x_1);
-x_54 = l_Lean_Parser_Term_doReassignArrow___elambda__1___closed__2;
-x_55 = l_Lean_Parser_ParserState_mkNode(x_52, x_54, x_46);
-x_56 = 1;
-x_57 = l_Lean_Parser_mergeOrElseErrors(x_55, x_38, x_35, x_56);
-lean_dec(x_35);
-return x_57;
-}
-else
-{
-lean_object* x_58; lean_object* x_59; uint8_t x_60;
-x_58 = lean_ctor_get(x_53, 0);
-lean_inc(x_58);
-lean_dec(x_53);
-x_59 = lean_ctor_get(x_52, 1);
-lean_inc(x_59);
-x_60 = lean_nat_dec_eq(x_59, x_51);
-lean_dec(x_59);
-if (x_60 == 0)
-{
-lean_object* x_61; lean_object* x_62; uint8_t x_63; lean_object* x_64;
-lean_dec(x_58);
-lean_dec(x_51);
-lean_dec(x_50);
-lean_dec(x_1);
-x_61 = l_Lean_Parser_Term_doReassignArrow___elambda__1___closed__2;
-x_62 = l_Lean_Parser_ParserState_mkNode(x_52, x_61, x_46);
-x_63 = 1;
-x_64 = l_Lean_Parser_mergeOrElseErrors(x_62, x_38, x_35, x_63);
-lean_dec(x_35);
-return x_64;
-}
-else
-{
-lean_object* x_65; lean_object* x_66; uint8_t x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71;
-lean_inc(x_51);
-x_65 = l_Lean_Parser_ParserState_restore(x_52, x_50, x_51);
-lean_dec(x_50);
-x_66 = l_Lean_Parser_Term_doPatDecl___elambda__1(x_1, x_65);
-x_67 = 1;
-x_68 = l_Lean_Parser_mergeOrElseErrors(x_66, x_58, x_51, x_67);
-lean_dec(x_51);
-x_69 = l_Lean_Parser_Term_doReassignArrow___elambda__1___closed__2;
-x_70 = l_Lean_Parser_ParserState_mkNode(x_68, x_69, x_46);
-x_71 = l_Lean_Parser_mergeOrElseErrors(x_70, x_38, x_35, x_67);
-lean_dec(x_35);
-return x_71;
-}
-}
-}
-else
-{
-lean_object* x_72; lean_object* x_73; uint8_t x_74; lean_object* x_75;
-lean_dec(x_48);
-lean_dec(x_1);
-x_72 = l_Lean_Parser_Term_doReassignArrow___elambda__1___closed__2;
-x_73 = l_Lean_Parser_ParserState_mkNode(x_47, x_72, x_46);
-x_74 = 1;
-x_75 = l_Lean_Parser_mergeOrElseErrors(x_73, x_38, x_35, x_74);
-lean_dec(x_35);
-return x_75;
-}
-}
-else
-{
-uint8_t x_76; lean_object* x_77;
-lean_dec(x_44);
-lean_dec(x_1);
-x_76 = 1;
-x_77 = l_Lean_Parser_mergeOrElseErrors(x_43, x_38, x_35, x_76);
-lean_dec(x_35);
-return x_77;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Term_doReassignArrow___closed__1() {
_start:
{
@@ -10573,7 +5608,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Term_doReassignArrow(lean_object*
_start:
{
lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_2 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4;
+x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__4;
x_3 = l_Lean_Parser_Term_doReassignArrow___elambda__1___closed__2;
x_4 = 1;
x_5 = l_Lean_Parser_Term_doReassignArrow;
@@ -10759,274 +5794,65 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Term_doHave___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_have___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doHave___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_doHave___elambda__1___closed__5;
+x_2 = l_Lean_Parser_Term_haveDecl___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doHave___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_doHave___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_doHave___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doHave___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_doHave___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Term_doHave___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Term_doHave___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_19; lean_object* x_20; lean_object* x_21;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_19 = lean_ctor_get(x_7, 1);
-lean_inc(x_19);
-lean_inc(x_1);
-x_20 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_21 = lean_ctor_get(x_20, 3);
-lean_inc(x_21);
-if (lean_obj_tag(x_21) == 0)
-{
-lean_object* x_22; lean_object* x_23;
-x_22 = lean_ctor_get(x_20, 0);
-lean_inc(x_22);
-x_23 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_22);
-lean_dec(x_22);
-if (lean_obj_tag(x_23) == 2)
-{
-lean_object* x_24; lean_object* x_25; uint8_t x_26;
-x_24 = lean_ctor_get(x_23, 1);
-lean_inc(x_24);
-lean_dec(x_23);
-x_25 = l_Lean_Parser_Term_have___elambda__1___closed__6;
-x_26 = lean_string_dec_eq(x_24, x_25);
-lean_dec(x_24);
-if (x_26 == 0)
-{
-lean_object* x_27; lean_object* x_28;
-x_27 = l_Lean_Parser_Term_have___elambda__1___closed__10;
-x_28 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_27, x_19);
-x_11 = x_28;
-goto block_18;
-}
-else
-{
-lean_dec(x_19);
-x_11 = x_20;
-goto block_18;
-}
-}
-else
-{
-lean_object* x_29; lean_object* x_30;
-lean_dec(x_23);
-x_29 = l_Lean_Parser_Term_have___elambda__1___closed__10;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_29, x_19);
-x_11 = x_30;
-goto block_18;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32;
-lean_dec(x_21);
-x_31 = l_Lean_Parser_Term_have___elambda__1___closed__10;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_31, x_19);
-x_11 = x_32;
-goto block_18;
-}
-block_18:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15;
-x_13 = l_Lean_Parser_Term_haveDecl___elambda__1(x_1, x_11);
-x_14 = l_Lean_Parser_Term_doHave___elambda__1___closed__2;
-x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
-return x_15;
-}
-else
-{
-lean_object* x_16; lean_object* x_17;
-lean_dec(x_12);
-lean_dec(x_1);
-x_16 = l_Lean_Parser_Term_doHave___elambda__1___closed__2;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_11, x_16, x_10);
-return x_17;
-}
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Term_doHave___elambda__1___closed__8;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_33 = lean_ctor_get(x_2, 0);
-lean_inc(x_33);
-x_34 = lean_array_get_size(x_33);
-lean_dec(x_33);
-x_35 = lean_ctor_get(x_2, 1);
-lean_inc(x_35);
-lean_inc(x_1);
-x_36 = lean_apply_2(x_4, x_1, x_2);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_36, 1);
-lean_inc(x_39);
-x_40 = lean_nat_dec_eq(x_39, x_35);
-lean_dec(x_39);
-if (x_40 == 0)
-{
-lean_dec(x_38);
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
-lean_inc(x_35);
-x_41 = l_Lean_Parser_ParserState_restore(x_36, x_34, x_35);
-lean_dec(x_34);
-x_42 = lean_unsigned_to_nat(1024u);
-x_43 = l_Lean_Parser_checkPrecFn(x_42, x_1, x_41);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_59; lean_object* x_60; lean_object* x_61;
-x_45 = lean_ctor_get(x_43, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-x_59 = lean_ctor_get(x_43, 1);
-lean_inc(x_59);
-lean_inc(x_1);
-x_60 = l_Lean_Parser_tokenFn(x_1, x_43);
-x_61 = lean_ctor_get(x_60, 3);
-lean_inc(x_61);
-if (lean_obj_tag(x_61) == 0)
-{
-lean_object* x_62; lean_object* x_63;
-x_62 = lean_ctor_get(x_60, 0);
-lean_inc(x_62);
-x_63 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_62);
-lean_dec(x_62);
-if (lean_obj_tag(x_63) == 2)
-{
-lean_object* x_64; lean_object* x_65; uint8_t x_66;
-x_64 = lean_ctor_get(x_63, 1);
-lean_inc(x_64);
-lean_dec(x_63);
-x_65 = l_Lean_Parser_Term_have___elambda__1___closed__6;
-x_66 = lean_string_dec_eq(x_64, x_65);
-lean_dec(x_64);
-if (x_66 == 0)
-{
-lean_object* x_67; lean_object* x_68;
-x_67 = l_Lean_Parser_Term_have___elambda__1___closed__10;
-x_68 = l_Lean_Parser_ParserState_mkErrorsAt(x_60, x_67, x_59);
-x_47 = x_68;
-goto block_58;
-}
-else
-{
-lean_dec(x_59);
-x_47 = x_60;
-goto block_58;
-}
-}
-else
-{
-lean_object* x_69; lean_object* x_70;
-lean_dec(x_63);
-x_69 = l_Lean_Parser_Term_have___elambda__1___closed__10;
-x_70 = l_Lean_Parser_ParserState_mkErrorsAt(x_60, x_69, x_59);
-x_47 = x_70;
-goto block_58;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72;
-lean_dec(x_61);
-x_71 = l_Lean_Parser_Term_have___elambda__1___closed__10;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_60, x_71, x_59);
-x_47 = x_72;
-goto block_58;
-}
-block_58:
-{
-lean_object* x_48;
-x_48 = lean_ctor_get(x_47, 3);
-lean_inc(x_48);
-if (lean_obj_tag(x_48) == 0)
-{
-lean_object* x_49; lean_object* x_50; lean_object* x_51; uint8_t x_52; lean_object* x_53;
-x_49 = l_Lean_Parser_Term_haveDecl___elambda__1(x_1, x_47);
-x_50 = l_Lean_Parser_Term_doHave___elambda__1___closed__2;
-x_51 = l_Lean_Parser_ParserState_mkNode(x_49, x_50, x_46);
-x_52 = 1;
-x_53 = l_Lean_Parser_mergeOrElseErrors(x_51, x_38, x_35, x_52);
-lean_dec(x_35);
-return x_53;
-}
-else
-{
-lean_object* x_54; lean_object* x_55; uint8_t x_56; lean_object* x_57;
-lean_dec(x_48);
-lean_dec(x_1);
-x_54 = l_Lean_Parser_Term_doHave___elambda__1___closed__2;
-x_55 = l_Lean_Parser_ParserState_mkNode(x_47, x_54, x_46);
-x_56 = 1;
-x_57 = l_Lean_Parser_mergeOrElseErrors(x_55, x_38, x_35, x_56);
-lean_dec(x_35);
-return x_57;
-}
-}
-}
-else
-{
-uint8_t x_73; lean_object* x_74;
-lean_dec(x_44);
-lean_dec(x_1);
-x_73 = 1;
-x_74 = l_Lean_Parser_mergeOrElseErrors(x_43, x_38, x_35, x_73);
-lean_dec(x_35);
-return x_74;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Term_doHave___closed__1() {
_start:
{
@@ -11091,7 +5917,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Term_doHave(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_2 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4;
+x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__4;
x_3 = l_Lean_Parser_Term_doHave___elambda__1___closed__2;
x_4 = 1;
x_5 = l_Lean_Parser_Term_doHave;
@@ -11214,6 +6040,264 @@ x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1);
return x_5;
}
}
+static lean_object* _init_l_Lean_Parser_Term_elseIf___elambda__1___lambda__1___closed__1() {
+_start:
+{
+lean_object* x_1;
+x_1 = lean_mk_string("checkLineEq");
+return x_1;
+}
+}
+lean_object* l_Lean_Parser_Term_elseIf___elambda__1___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
+_start:
+{
+uint8_t x_5;
+x_5 = !lean_is_exclusive(x_3);
+if (x_5 == 0)
+{
+lean_object* x_6; lean_object* x_7; uint8_t x_8;
+x_6 = lean_ctor_get(x_3, 0);
+x_7 = lean_ctor_get(x_3, 4);
+lean_dec(x_7);
+x_8 = !lean_is_exclusive(x_6);
+if (x_8 == 0)
+{
+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; lean_object* x_16; lean_object* x_17;
+x_9 = lean_ctor_get(x_6, 2);
+x_10 = lean_ctor_get(x_4, 1);
+lean_inc(x_10);
+x_11 = l_Lean_FileMap_toPosition(x_9, x_10);
+lean_inc(x_9);
+lean_inc(x_11);
+x_12 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_12, 0, x_11);
+lean_ctor_set(x_3, 4, x_12);
+x_13 = l_Char_HasRepr___closed__1;
+x_14 = lean_string_append(x_13, x_1);
+x_15 = lean_string_append(x_14, x_13);
+lean_inc(x_3);
+x_16 = l_Lean_Parser_symbolFnAux(x_1, x_15, x_3, x_4);
+x_17 = lean_ctor_get(x_16, 3);
+lean_inc(x_17);
+if (lean_obj_tag(x_17) == 0)
+{
+lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; uint8_t x_22;
+x_18 = lean_ctor_get(x_16, 1);
+lean_inc(x_18);
+x_19 = l_Lean_FileMap_toPosition(x_9, x_18);
+lean_dec(x_9);
+x_20 = lean_ctor_get(x_19, 0);
+lean_inc(x_20);
+lean_dec(x_19);
+x_21 = lean_ctor_get(x_11, 0);
+lean_inc(x_21);
+lean_dec(x_11);
+x_22 = lean_nat_dec_eq(x_20, x_21);
+lean_dec(x_21);
+lean_dec(x_20);
+if (x_22 == 0)
+{
+lean_object* x_23; lean_object* x_24;
+lean_dec(x_3);
+x_23 = l_Lean_Parser_Term_elseIf___elambda__1___lambda__1___closed__1;
+x_24 = l_Lean_Parser_ParserState_mkError(x_16, x_23);
+return x_24;
+}
+else
+{
+lean_object* x_25; lean_object* x_26; lean_object* x_27;
+x_25 = lean_string_append(x_13, x_2);
+x_26 = lean_string_append(x_25, x_13);
+x_27 = l_Lean_Parser_symbolFnAux(x_2, x_26, x_3, x_16);
+return x_27;
+}
+}
+else
+{
+lean_dec(x_17);
+lean_dec(x_3);
+lean_dec(x_11);
+lean_dec(x_9);
+return x_16;
+}
+}
+else
+{
+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;
+x_28 = lean_ctor_get(x_6, 0);
+x_29 = lean_ctor_get(x_6, 1);
+x_30 = lean_ctor_get(x_6, 2);
+lean_inc(x_30);
+lean_inc(x_29);
+lean_inc(x_28);
+lean_dec(x_6);
+x_31 = lean_ctor_get(x_4, 1);
+lean_inc(x_31);
+x_32 = l_Lean_FileMap_toPosition(x_30, x_31);
+lean_inc(x_30);
+x_33 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_33, 0, x_28);
+lean_ctor_set(x_33, 1, x_29);
+lean_ctor_set(x_33, 2, x_30);
+lean_inc(x_32);
+x_34 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_34, 0, x_32);
+lean_ctor_set(x_3, 4, x_34);
+lean_ctor_set(x_3, 0, x_33);
+x_35 = l_Char_HasRepr___closed__1;
+x_36 = lean_string_append(x_35, x_1);
+x_37 = lean_string_append(x_36, x_35);
+lean_inc(x_3);
+x_38 = l_Lean_Parser_symbolFnAux(x_1, x_37, x_3, x_4);
+x_39 = lean_ctor_get(x_38, 3);
+lean_inc(x_39);
+if (lean_obj_tag(x_39) == 0)
+{
+lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; uint8_t x_44;
+x_40 = lean_ctor_get(x_38, 1);
+lean_inc(x_40);
+x_41 = l_Lean_FileMap_toPosition(x_30, x_40);
+lean_dec(x_30);
+x_42 = lean_ctor_get(x_41, 0);
+lean_inc(x_42);
+lean_dec(x_41);
+x_43 = lean_ctor_get(x_32, 0);
+lean_inc(x_43);
+lean_dec(x_32);
+x_44 = lean_nat_dec_eq(x_42, x_43);
+lean_dec(x_43);
+lean_dec(x_42);
+if (x_44 == 0)
+{
+lean_object* x_45; lean_object* x_46;
+lean_dec(x_3);
+x_45 = l_Lean_Parser_Term_elseIf___elambda__1___lambda__1___closed__1;
+x_46 = l_Lean_Parser_ParserState_mkError(x_38, x_45);
+return x_46;
+}
+else
+{
+lean_object* x_47; lean_object* x_48; lean_object* x_49;
+x_47 = lean_string_append(x_35, x_2);
+x_48 = lean_string_append(x_47, x_35);
+x_49 = l_Lean_Parser_symbolFnAux(x_2, x_48, x_3, x_38);
+return x_49;
+}
+}
+else
+{
+lean_dec(x_39);
+lean_dec(x_3);
+lean_dec(x_32);
+lean_dec(x_30);
+return x_38;
+}
+}
+}
+else
+{
+lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; uint8_t 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;
+x_50 = lean_ctor_get(x_3, 0);
+x_51 = lean_ctor_get(x_3, 1);
+x_52 = lean_ctor_get(x_3, 2);
+x_53 = lean_ctor_get(x_3, 3);
+x_54 = lean_ctor_get_uint8(x_3, sizeof(void*)*6);
+x_55 = lean_ctor_get(x_3, 5);
+lean_inc(x_55);
+lean_inc(x_53);
+lean_inc(x_52);
+lean_inc(x_51);
+lean_inc(x_50);
+lean_dec(x_3);
+x_56 = lean_ctor_get(x_50, 0);
+lean_inc(x_56);
+x_57 = lean_ctor_get(x_50, 1);
+lean_inc(x_57);
+x_58 = lean_ctor_get(x_50, 2);
+lean_inc(x_58);
+if (lean_is_exclusive(x_50)) {
+ lean_ctor_release(x_50, 0);
+ lean_ctor_release(x_50, 1);
+ lean_ctor_release(x_50, 2);
+ x_59 = x_50;
+} else {
+ lean_dec_ref(x_50);
+ x_59 = lean_box(0);
+}
+x_60 = lean_ctor_get(x_4, 1);
+lean_inc(x_60);
+x_61 = l_Lean_FileMap_toPosition(x_58, x_60);
+lean_inc(x_58);
+if (lean_is_scalar(x_59)) {
+ x_62 = lean_alloc_ctor(0, 3, 0);
+} else {
+ x_62 = x_59;
+}
+lean_ctor_set(x_62, 0, x_56);
+lean_ctor_set(x_62, 1, x_57);
+lean_ctor_set(x_62, 2, x_58);
+lean_inc(x_61);
+x_63 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_63, 0, x_61);
+x_64 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_64, 0, x_62);
+lean_ctor_set(x_64, 1, x_51);
+lean_ctor_set(x_64, 2, x_52);
+lean_ctor_set(x_64, 3, x_53);
+lean_ctor_set(x_64, 4, x_63);
+lean_ctor_set(x_64, 5, x_55);
+lean_ctor_set_uint8(x_64, sizeof(void*)*6, x_54);
+x_65 = l_Char_HasRepr___closed__1;
+x_66 = lean_string_append(x_65, x_1);
+x_67 = lean_string_append(x_66, x_65);
+lean_inc(x_64);
+x_68 = l_Lean_Parser_symbolFnAux(x_1, x_67, x_64, x_4);
+x_69 = lean_ctor_get(x_68, 3);
+lean_inc(x_69);
+if (lean_obj_tag(x_69) == 0)
+{
+lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; uint8_t x_74;
+x_70 = lean_ctor_get(x_68, 1);
+lean_inc(x_70);
+x_71 = l_Lean_FileMap_toPosition(x_58, x_70);
+lean_dec(x_58);
+x_72 = lean_ctor_get(x_71, 0);
+lean_inc(x_72);
+lean_dec(x_71);
+x_73 = lean_ctor_get(x_61, 0);
+lean_inc(x_73);
+lean_dec(x_61);
+x_74 = lean_nat_dec_eq(x_72, x_73);
+lean_dec(x_73);
+lean_dec(x_72);
+if (x_74 == 0)
+{
+lean_object* x_75; lean_object* x_76;
+lean_dec(x_64);
+x_75 = l_Lean_Parser_Term_elseIf___elambda__1___lambda__1___closed__1;
+x_76 = l_Lean_Parser_ParserState_mkError(x_68, x_75);
+return x_76;
+}
+else
+{
+lean_object* x_77; lean_object* x_78; lean_object* x_79;
+x_77 = lean_string_append(x_65, x_2);
+x_78 = lean_string_append(x_77, x_65);
+x_79 = l_Lean_Parser_symbolFnAux(x_2, x_78, x_64, x_68);
+return x_79;
+}
+}
+else
+{
+lean_dec(x_69);
+lean_dec(x_64);
+lean_dec(x_61);
+lean_dec(x_58);
+return x_68;
+}
+}
+}
+}
static lean_object* _init_l_Lean_Parser_Term_elseIf___elambda__1___closed__1() {
_start:
{
@@ -11235,9 +6319,11 @@ static lean_object* _init_l_Lean_Parser_Term_elseIf___elambda__1___closed__3() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
+x_1 = l_Lean_Parser_Term_if___elambda__1___closed__12;
x_2 = l_Lean_Parser_Term_elseIf___elambda__1___closed__2;
-x_3 = lean_string_append(x_1, x_2);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_Term_elseIf___elambda__1___lambda__1___boxed), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -11245,486 +6331,21 @@ static lean_object* _init_l_Lean_Parser_Term_elseIf___elambda__1___closed__4() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_elseIf___elambda__1___closed__3;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_nullKind;
+x_2 = l_Lean_Parser_Term_elseIf___elambda__1___closed__3;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Term_elseIf___elambda__1___closed__5() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Term_elseIf___elambda__1___closed__4;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
-}
-}
-static lean_object* _init_l_Lean_Parser_Term_elseIf___elambda__1___closed__6() {
-_start:
-{
-lean_object* x_1;
-x_1 = lean_mk_string("checkLineEq");
-return x_1;
-}
-}
lean_object* l_Lean_Parser_Term_elseIf___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; uint8_t x_20;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_ctor_get(x_2, 1);
-lean_inc(x_4);
-x_5 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_20 = !lean_is_exclusive(x_1);
-if (x_20 == 0)
-{
-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_43; lean_object* x_53; lean_object* x_54;
-x_21 = lean_ctor_get(x_1, 0);
-x_22 = lean_ctor_get(x_1, 4);
-lean_dec(x_22);
-x_23 = lean_ctor_get(x_21, 2);
-lean_inc(x_23);
-lean_inc(x_4);
-x_24 = l_Lean_FileMap_toPosition(x_23, x_4);
-lean_inc(x_24);
-x_25 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_25, 0, x_24);
-lean_ctor_set(x_1, 4, x_25);
-lean_inc(x_1);
-x_53 = l_Lean_Parser_tokenFn(x_1, x_2);
-x_54 = lean_ctor_get(x_53, 3);
-lean_inc(x_54);
-if (lean_obj_tag(x_54) == 0)
-{
-lean_object* x_55; lean_object* x_56;
-x_55 = lean_ctor_get(x_53, 0);
-lean_inc(x_55);
-x_56 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_55);
-lean_dec(x_55);
-if (lean_obj_tag(x_56) == 2)
-{
-lean_object* x_57; lean_object* x_58; uint8_t x_59;
-x_57 = lean_ctor_get(x_56, 1);
-lean_inc(x_57);
-lean_dec(x_56);
-x_58 = l_Lean_Parser_Term_if___elambda__1___closed__10;
-x_59 = lean_string_dec_eq(x_57, x_58);
-lean_dec(x_57);
-if (x_59 == 0)
-{
-lean_object* x_60; lean_object* x_61;
-x_60 = l_Lean_Parser_Term_if___elambda__1___closed__13;
-lean_inc(x_4);
-x_61 = l_Lean_Parser_ParserState_mkErrorsAt(x_53, x_60, x_4);
-x_43 = x_61;
-goto block_52;
-}
-else
-{
-x_43 = x_53;
-goto block_52;
-}
-}
-else
-{
-lean_object* x_62; lean_object* x_63;
-lean_dec(x_56);
-x_62 = l_Lean_Parser_Term_if___elambda__1___closed__13;
-lean_inc(x_4);
-x_63 = l_Lean_Parser_ParserState_mkErrorsAt(x_53, x_62, x_4);
-x_43 = x_63;
-goto block_52;
-}
-}
-else
-{
-lean_object* x_64; lean_object* x_65;
-lean_dec(x_54);
-x_64 = l_Lean_Parser_Term_if___elambda__1___closed__13;
-lean_inc(x_4);
-x_65 = l_Lean_Parser_ParserState_mkErrorsAt(x_53, x_64, x_4);
-x_43 = x_65;
-goto block_52;
-}
-block_42:
-{
-lean_object* x_27;
-x_27 = lean_ctor_get(x_26, 3);
-lean_inc(x_27);
-if (lean_obj_tag(x_27) == 0)
-{
-lean_object* x_28; lean_object* x_29; lean_object* x_30;
-x_28 = lean_ctor_get(x_26, 1);
-lean_inc(x_28);
-x_29 = l_Lean_Parser_tokenFn(x_1, x_26);
-x_30 = lean_ctor_get(x_29, 3);
-lean_inc(x_30);
-if (lean_obj_tag(x_30) == 0)
-{
-lean_object* x_31; lean_object* x_32;
-x_31 = lean_ctor_get(x_29, 0);
-lean_inc(x_31);
-x_32 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_31);
-lean_dec(x_31);
-if (lean_obj_tag(x_32) == 2)
-{
-lean_object* x_33; lean_object* x_34; uint8_t x_35;
-x_33 = lean_ctor_get(x_32, 1);
-lean_inc(x_33);
-lean_dec(x_32);
-x_34 = l_Lean_Parser_Term_elseIf___elambda__1___closed__2;
-x_35 = lean_string_dec_eq(x_33, x_34);
-lean_dec(x_33);
-if (x_35 == 0)
-{
-lean_object* x_36; lean_object* x_37;
-x_36 = l_Lean_Parser_Term_elseIf___elambda__1___closed__5;
-x_37 = l_Lean_Parser_ParserState_mkErrorsAt(x_29, x_36, x_28);
-x_6 = x_37;
-goto block_19;
-}
-else
-{
-lean_dec(x_28);
-x_6 = x_29;
-goto block_19;
-}
-}
-else
-{
-lean_object* x_38; lean_object* x_39;
-lean_dec(x_32);
-x_38 = l_Lean_Parser_Term_elseIf___elambda__1___closed__5;
-x_39 = l_Lean_Parser_ParserState_mkErrorsAt(x_29, x_38, x_28);
-x_6 = x_39;
-goto block_19;
-}
-}
-else
-{
-lean_object* x_40; lean_object* x_41;
-lean_dec(x_30);
-x_40 = l_Lean_Parser_Term_elseIf___elambda__1___closed__5;
-x_41 = l_Lean_Parser_ParserState_mkErrorsAt(x_29, x_40, x_28);
-x_6 = x_41;
-goto block_19;
-}
-}
-else
-{
-lean_dec(x_27);
-lean_dec(x_1);
-x_6 = x_26;
-goto block_19;
-}
-}
-block_52:
-{
-lean_object* x_44;
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; uint8_t x_49;
-x_45 = lean_ctor_get(x_43, 1);
-lean_inc(x_45);
-x_46 = l_Lean_FileMap_toPosition(x_23, x_45);
-lean_dec(x_23);
-x_47 = lean_ctor_get(x_46, 0);
-lean_inc(x_47);
-lean_dec(x_46);
-x_48 = lean_ctor_get(x_24, 0);
-lean_inc(x_48);
-lean_dec(x_24);
-x_49 = lean_nat_dec_eq(x_47, x_48);
-lean_dec(x_48);
-lean_dec(x_47);
-if (x_49 == 0)
-{
-lean_object* x_50; lean_object* x_51;
-x_50 = l_Lean_Parser_Term_elseIf___elambda__1___closed__6;
-x_51 = l_Lean_Parser_ParserState_mkError(x_43, x_50);
-x_26 = x_51;
-goto block_42;
-}
-else
-{
-x_26 = x_43;
-goto block_42;
-}
-}
-else
-{
-lean_dec(x_44);
-lean_dec(x_1);
-lean_dec(x_24);
-lean_dec(x_23);
-x_6 = x_43;
-goto block_19;
-}
-}
-}
-else
-{
-lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; uint8_t 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_93; lean_object* x_103; lean_object* x_104;
-x_66 = lean_ctor_get(x_1, 0);
-x_67 = lean_ctor_get(x_1, 1);
-x_68 = lean_ctor_get(x_1, 2);
-x_69 = lean_ctor_get(x_1, 3);
-x_70 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
-x_71 = lean_ctor_get(x_1, 5);
-lean_inc(x_71);
-lean_inc(x_69);
-lean_inc(x_68);
-lean_inc(x_67);
-lean_inc(x_66);
-lean_dec(x_1);
-x_72 = lean_ctor_get(x_66, 2);
-lean_inc(x_72);
-lean_inc(x_4);
-x_73 = l_Lean_FileMap_toPosition(x_72, x_4);
-lean_inc(x_73);
-x_74 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_74, 0, x_73);
-x_75 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_75, 0, x_66);
-lean_ctor_set(x_75, 1, x_67);
-lean_ctor_set(x_75, 2, x_68);
-lean_ctor_set(x_75, 3, x_69);
-lean_ctor_set(x_75, 4, x_74);
-lean_ctor_set(x_75, 5, x_71);
-lean_ctor_set_uint8(x_75, sizeof(void*)*6, x_70);
-lean_inc(x_75);
-x_103 = l_Lean_Parser_tokenFn(x_75, x_2);
-x_104 = lean_ctor_get(x_103, 3);
-lean_inc(x_104);
-if (lean_obj_tag(x_104) == 0)
-{
-lean_object* x_105; lean_object* x_106;
-x_105 = lean_ctor_get(x_103, 0);
-lean_inc(x_105);
-x_106 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_105);
-lean_dec(x_105);
-if (lean_obj_tag(x_106) == 2)
-{
-lean_object* x_107; lean_object* x_108; uint8_t x_109;
-x_107 = lean_ctor_get(x_106, 1);
-lean_inc(x_107);
-lean_dec(x_106);
-x_108 = l_Lean_Parser_Term_if___elambda__1___closed__10;
-x_109 = lean_string_dec_eq(x_107, x_108);
-lean_dec(x_107);
-if (x_109 == 0)
-{
-lean_object* x_110; lean_object* x_111;
-x_110 = l_Lean_Parser_Term_if___elambda__1___closed__13;
-lean_inc(x_4);
-x_111 = l_Lean_Parser_ParserState_mkErrorsAt(x_103, x_110, x_4);
-x_93 = x_111;
-goto block_102;
-}
-else
-{
-x_93 = x_103;
-goto block_102;
-}
-}
-else
-{
-lean_object* x_112; lean_object* x_113;
-lean_dec(x_106);
-x_112 = l_Lean_Parser_Term_if___elambda__1___closed__13;
-lean_inc(x_4);
-x_113 = l_Lean_Parser_ParserState_mkErrorsAt(x_103, x_112, x_4);
-x_93 = x_113;
-goto block_102;
-}
-}
-else
-{
-lean_object* x_114; lean_object* x_115;
-lean_dec(x_104);
-x_114 = l_Lean_Parser_Term_if___elambda__1___closed__13;
-lean_inc(x_4);
-x_115 = l_Lean_Parser_ParserState_mkErrorsAt(x_103, x_114, x_4);
-x_93 = x_115;
-goto block_102;
-}
-block_92:
-{
-lean_object* x_77;
-x_77 = lean_ctor_get(x_76, 3);
-lean_inc(x_77);
-if (lean_obj_tag(x_77) == 0)
-{
-lean_object* x_78; lean_object* x_79; lean_object* x_80;
-x_78 = lean_ctor_get(x_76, 1);
-lean_inc(x_78);
-x_79 = l_Lean_Parser_tokenFn(x_75, x_76);
-x_80 = lean_ctor_get(x_79, 3);
-lean_inc(x_80);
-if (lean_obj_tag(x_80) == 0)
-{
-lean_object* x_81; lean_object* x_82;
-x_81 = lean_ctor_get(x_79, 0);
-lean_inc(x_81);
-x_82 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_81);
-lean_dec(x_81);
-if (lean_obj_tag(x_82) == 2)
-{
-lean_object* x_83; lean_object* x_84; uint8_t x_85;
-x_83 = lean_ctor_get(x_82, 1);
-lean_inc(x_83);
-lean_dec(x_82);
-x_84 = l_Lean_Parser_Term_elseIf___elambda__1___closed__2;
-x_85 = lean_string_dec_eq(x_83, x_84);
-lean_dec(x_83);
-if (x_85 == 0)
-{
-lean_object* x_86; lean_object* x_87;
-x_86 = l_Lean_Parser_Term_elseIf___elambda__1___closed__5;
-x_87 = l_Lean_Parser_ParserState_mkErrorsAt(x_79, x_86, x_78);
-x_6 = x_87;
-goto block_19;
-}
-else
-{
-lean_dec(x_78);
-x_6 = x_79;
-goto block_19;
-}
-}
-else
-{
-lean_object* x_88; lean_object* x_89;
-lean_dec(x_82);
-x_88 = l_Lean_Parser_Term_elseIf___elambda__1___closed__5;
-x_89 = l_Lean_Parser_ParserState_mkErrorsAt(x_79, x_88, x_78);
-x_6 = x_89;
-goto block_19;
-}
-}
-else
-{
-lean_object* x_90; lean_object* x_91;
-lean_dec(x_80);
-x_90 = l_Lean_Parser_Term_elseIf___elambda__1___closed__5;
-x_91 = l_Lean_Parser_ParserState_mkErrorsAt(x_79, x_90, x_78);
-x_6 = x_91;
-goto block_19;
-}
-}
-else
-{
-lean_dec(x_77);
-lean_dec(x_75);
-x_6 = x_76;
-goto block_19;
-}
-}
-block_102:
-{
-lean_object* x_94;
-x_94 = lean_ctor_get(x_93, 3);
-lean_inc(x_94);
-if (lean_obj_tag(x_94) == 0)
-{
-lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; uint8_t x_99;
-x_95 = lean_ctor_get(x_93, 1);
-lean_inc(x_95);
-x_96 = l_Lean_FileMap_toPosition(x_72, x_95);
-lean_dec(x_72);
-x_97 = lean_ctor_get(x_96, 0);
-lean_inc(x_97);
-lean_dec(x_96);
-x_98 = lean_ctor_get(x_73, 0);
-lean_inc(x_98);
-lean_dec(x_73);
-x_99 = lean_nat_dec_eq(x_97, x_98);
-lean_dec(x_98);
-lean_dec(x_97);
-if (x_99 == 0)
-{
-lean_object* x_100; lean_object* x_101;
-x_100 = l_Lean_Parser_Term_elseIf___elambda__1___closed__6;
-x_101 = l_Lean_Parser_ParserState_mkError(x_93, x_100);
-x_76 = x_101;
-goto block_92;
-}
-else
-{
-x_76 = x_93;
-goto block_92;
-}
-}
-else
-{
-lean_dec(x_94);
-lean_dec(x_75);
-lean_dec(x_73);
-lean_dec(x_72);
-x_6 = x_93;
-goto block_19;
-}
-}
-}
-block_19:
-{
-lean_object* x_7; lean_object* x_8; lean_object* x_9;
-x_7 = l_Lean_nullKind;
-lean_inc(x_5);
-x_8 = l_Lean_Parser_ParserState_mkNode(x_6, x_7, x_5);
-x_9 = lean_ctor_get(x_8, 3);
-lean_inc(x_9);
-if (lean_obj_tag(x_9) == 0)
-{
-lean_dec(x_5);
-lean_dec(x_4);
-return x_8;
-}
-else
-{
-uint8_t x_10;
-x_10 = !lean_is_exclusive(x_8);
-if (x_10 == 0)
-{
-lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
-x_11 = lean_ctor_get(x_8, 0);
-x_12 = lean_ctor_get(x_8, 3);
-lean_dec(x_12);
-x_13 = lean_ctor_get(x_8, 1);
-lean_dec(x_13);
-x_14 = l_Array_shrink___main___rarg(x_11, x_5);
-lean_dec(x_5);
-lean_ctor_set(x_8, 1, x_4);
-lean_ctor_set(x_8, 0, x_14);
-return x_8;
-}
-else
-{
-lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
-x_15 = lean_ctor_get(x_8, 0);
-x_16 = lean_ctor_get(x_8, 2);
-lean_inc(x_16);
-lean_inc(x_15);
-lean_dec(x_8);
-x_17 = l_Array_shrink___main___rarg(x_15, x_5);
-lean_dec(x_5);
-x_18 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_18, 0, x_17);
-lean_ctor_set(x_18, 1, x_4);
-lean_ctor_set(x_18, 2, x_16);
-lean_ctor_set(x_18, 3, x_9);
-return x_18;
-}
-}
-}
+lean_object* x_3; lean_object* x_4;
+x_3 = l_Lean_Parser_Term_elseIf___elambda__1___closed__4;
+x_4 = l_Lean_Parser_tryFn(x_3, x_1, x_2);
+return x_4;
}
}
static lean_object* _init_l_Lean_Parser_Term_elseIf___closed__1() {
@@ -11794,258 +6415,454 @@ x_1 = l_Lean_Parser_Term_elseIf___closed__6;
return x_1;
}
}
-static lean_object* _init_l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doIf___elambda__1___spec__1___closed__1() {
+lean_object* l_Lean_Parser_Term_elseIf___elambda__1___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
-lean_object* x_1;
-x_1 = lean_mk_string("'else if' in 'do' must be indented");
-return x_1;
+lean_object* x_5;
+x_5 = l_Lean_Parser_Term_elseIf___elambda__1___lambda__1(x_1, x_2, x_3, x_4);
+lean_dec(x_2);
+lean_dec(x_1);
+return x_5;
}
}
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doIf___elambda__1___spec__1(lean_object* x_1, lean_object* x_2) {
+lean_object* l_Lean_Parser_Term_doIf___elambda__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) {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_17; lean_object* x_59;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-x_59 = lean_ctor_get(x_1, 4);
-lean_inc(x_59);
-if (lean_obj_tag(x_59) == 0)
+uint8_t x_8;
+x_8 = !lean_is_exclusive(x_6);
+if (x_8 == 0)
{
-x_17 = x_2;
-goto block_58;
-}
-else
+lean_object* x_9; lean_object* x_10; uint8_t x_11;
+x_9 = lean_ctor_get(x_6, 0);
+x_10 = lean_ctor_get(x_6, 4);
+lean_dec(x_10);
+x_11 = !lean_is_exclusive(x_9);
+if (x_11 == 0)
{
-lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; uint8_t x_66;
-x_60 = lean_ctor_get(x_59, 0);
-lean_inc(x_60);
-lean_dec(x_59);
-x_61 = lean_ctor_get(x_1, 0);
-lean_inc(x_61);
-x_62 = lean_ctor_get(x_61, 2);
-lean_inc(x_62);
-lean_dec(x_61);
-lean_inc(x_5);
-x_63 = l_Lean_FileMap_toPosition(x_62, x_5);
-lean_dec(x_62);
-x_64 = lean_ctor_get(x_60, 1);
-lean_inc(x_64);
-lean_dec(x_60);
-x_65 = lean_ctor_get(x_63, 1);
-lean_inc(x_65);
-lean_dec(x_63);
-x_66 = lean_nat_dec_le(x_64, x_65);
-lean_dec(x_65);
-lean_dec(x_64);
-if (x_66 == 0)
-{
-lean_object* x_67; lean_object* x_68;
-x_67 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doIf___elambda__1___spec__1___closed__1;
-x_68 = l_Lean_Parser_ParserState_mkError(x_2, x_67);
-x_17 = x_68;
-goto block_58;
-}
-else
-{
-x_17 = x_2;
-goto block_58;
-}
-}
-block_16:
-{
-lean_object* x_7;
-x_7 = lean_ctor_get(x_6, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
-{
-lean_object* x_8; uint8_t x_9;
-lean_dec(x_4);
-x_8 = lean_ctor_get(x_6, 1);
-lean_inc(x_8);
-x_9 = lean_nat_dec_eq(x_5, x_8);
-lean_dec(x_8);
-lean_dec(x_5);
-if (x_9 == 0)
-{
-x_2 = x_6;
-goto _start;
-}
-else
-{
-lean_object* x_11; lean_object* x_12;
-lean_dec(x_1);
-x_11 = l_Lean_Parser_manyAux___main___closed__1;
-x_12 = l_Lean_Parser_ParserState_mkUnexpectedError(x_6, x_11);
-return x_12;
-}
-}
-else
-{
-lean_object* x_13; uint8_t x_14;
-lean_dec(x_7);
-lean_dec(x_1);
-x_13 = lean_ctor_get(x_6, 1);
+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;
+x_12 = lean_ctor_get(x_9, 2);
+x_13 = lean_ctor_get(x_7, 1);
lean_inc(x_13);
-x_14 = lean_nat_dec_eq(x_5, x_13);
-lean_dec(x_13);
-if (x_14 == 0)
+x_14 = l_Lean_FileMap_toPosition(x_12, x_13);
+x_15 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_15, 0, x_14);
+lean_ctor_set(x_6, 4, x_15);
+x_16 = l_Char_HasRepr___closed__1;
+x_17 = lean_string_append(x_16, x_1);
+x_18 = lean_string_append(x_17, x_16);
+lean_inc(x_6);
+x_19 = l_Lean_Parser_symbolFnAux(x_1, x_18, x_6, x_7);
+x_20 = lean_ctor_get(x_19, 3);
+lean_inc(x_20);
+if (lean_obj_tag(x_20) == 0)
{
-lean_dec(x_5);
-lean_dec(x_4);
-return x_6;
-}
-else
-{
-lean_object* x_15;
-x_15 = l_Lean_Parser_ParserState_restore(x_6, x_4, x_5);
-lean_dec(x_4);
-return x_15;
-}
-}
-}
-block_58:
-{
-lean_object* x_18;
-x_18 = lean_ctor_get(x_17, 3);
-lean_inc(x_18);
-if (lean_obj_tag(x_18) == 0)
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
-x_19 = lean_ctor_get(x_17, 0);
-lean_inc(x_19);
-x_20 = lean_array_get_size(x_19);
-lean_dec(x_19);
-lean_inc(x_1);
-x_21 = l_Lean_Parser_Term_elseIf___elambda__1(x_1, x_17);
+lean_object* x_21; lean_object* x_22;
+lean_inc(x_6);
+x_21 = l_Lean_Parser_Term_optIdent___elambda__1(x_6, x_19);
x_22 = lean_ctor_get(x_21, 3);
lean_inc(x_22);
if (lean_obj_tag(x_22) == 0)
{
-lean_object* x_23; lean_object* x_24;
-lean_inc(x_1);
-x_23 = l_Lean_Parser_Term_optIdent___elambda__1(x_1, x_21);
-x_24 = lean_ctor_get(x_23, 3);
-lean_inc(x_24);
-if (lean_obj_tag(x_24) == 0)
+lean_object* x_23; lean_object* x_24; lean_object* x_25;
+x_23 = lean_unsigned_to_nat(0u);
+lean_inc(x_6);
+x_24 = l_Lean_Parser_categoryParser___elambda__1(x_2, x_23, x_6, x_21);
+x_25 = lean_ctor_get(x_24, 3);
+lean_inc(x_25);
+if (lean_obj_tag(x_25) == 0)
{
-lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
-x_25 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_26 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_27 = l_Lean_Parser_categoryParser___elambda__1(x_25, x_26, x_1, x_23);
-x_28 = lean_ctor_get(x_27, 3);
-lean_inc(x_28);
-if (lean_obj_tag(x_28) == 0)
-{
-lean_object* x_29; lean_object* x_30; lean_object* x_31;
-x_29 = lean_ctor_get(x_27, 1);
+lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29;
+x_26 = lean_string_append(x_16, x_3);
+x_27 = lean_string_append(x_26, x_16);
+lean_inc(x_6);
+x_28 = l_Lean_Parser_symbolFnAux(x_3, x_27, x_6, x_24);
+x_29 = lean_ctor_get(x_28, 3);
lean_inc(x_29);
-lean_inc(x_1);
-x_30 = l_Lean_Parser_tokenFn(x_1, x_27);
-x_31 = lean_ctor_get(x_30, 3);
-lean_inc(x_31);
-if (lean_obj_tag(x_31) == 0)
+if (lean_obj_tag(x_29) == 0)
{
-lean_object* x_32; lean_object* x_33;
-x_32 = lean_ctor_get(x_30, 0);
-lean_inc(x_32);
-x_33 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_32);
-lean_dec(x_32);
-if (lean_obj_tag(x_33) == 2)
-{
-lean_object* x_34; lean_object* x_35; uint8_t x_36;
-x_34 = lean_ctor_get(x_33, 1);
+lean_object* x_30; lean_object* x_31; uint8_t x_32; lean_object* x_33; lean_object* x_34;
+x_30 = l_Lean_Parser_Term_doSeqBracketed___closed__6;
+x_31 = l_Lean_Parser_Term_doSeqIndent___closed__10;
+x_32 = 1;
+lean_inc(x_6);
+x_33 = l_Lean_Parser_orelseFnCore(x_30, x_31, x_32, x_6, x_28);
+x_34 = lean_ctor_get(x_33, 3);
lean_inc(x_34);
-lean_dec(x_33);
-x_35 = l_Lean_Parser_Term_if___elambda__1___closed__8;
-x_36 = lean_string_dec_eq(x_34, x_35);
+if (lean_obj_tag(x_34) == 0)
+{
+lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40;
+x_35 = lean_ctor_get(x_33, 0);
+lean_inc(x_35);
+x_36 = lean_array_get_size(x_35);
+lean_dec(x_35);
+lean_inc(x_6);
+x_37 = l_Lean_Parser_manyAux(x_4, x_6, x_33);
+x_38 = l_Lean_nullKind;
+x_39 = l_Lean_Parser_ParserState_mkNode(x_37, x_38, x_36);
+x_40 = lean_ctor_get(x_39, 3);
+lean_inc(x_40);
+if (lean_obj_tag(x_40) == 0)
+{
+lean_object* x_41;
+x_41 = l_Lean_Parser_optionalFn(x_5, x_6, x_39);
+return x_41;
+}
+else
+{
+lean_dec(x_40);
+lean_dec(x_6);
+lean_dec(x_5);
+return x_39;
+}
+}
+else
+{
lean_dec(x_34);
-if (x_36 == 0)
-{
-lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40;
-x_37 = l_Lean_Parser_Term_if___elambda__1___closed__16;
-x_38 = l_Lean_Parser_ParserState_mkErrorsAt(x_30, x_37, x_29);
-x_39 = l_Lean_nullKind;
-x_40 = l_Lean_Parser_ParserState_mkNode(x_38, x_39, x_20);
-x_6 = x_40;
-goto block_16;
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+return x_33;
+}
}
else
{
-lean_object* x_41; lean_object* x_42; lean_object* x_43;
lean_dec(x_29);
-lean_inc(x_1);
-x_41 = l_Lean_Parser_Term_doSeq___elambda__1(x_1, x_30);
-x_42 = l_Lean_nullKind;
-x_43 = l_Lean_Parser_ParserState_mkNode(x_41, x_42, x_20);
-x_6 = x_43;
-goto block_16;
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+return x_28;
}
}
else
{
-lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47;
-lean_dec(x_33);
-x_44 = l_Lean_Parser_Term_if___elambda__1___closed__16;
-x_45 = l_Lean_Parser_ParserState_mkErrorsAt(x_30, x_44, x_29);
-x_46 = l_Lean_nullKind;
-x_47 = l_Lean_Parser_ParserState_mkNode(x_45, x_46, x_20);
-x_6 = x_47;
-goto block_16;
+lean_dec(x_25);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+return x_24;
}
}
else
{
-lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51;
-lean_dec(x_31);
-x_48 = l_Lean_Parser_Term_if___elambda__1___closed__16;
-x_49 = l_Lean_Parser_ParserState_mkErrorsAt(x_30, x_48, x_29);
-x_50 = l_Lean_nullKind;
-x_51 = l_Lean_Parser_ParserState_mkNode(x_49, x_50, x_20);
-x_6 = x_51;
-goto block_16;
+lean_dec(x_22);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_2);
+return x_21;
}
}
else
{
-lean_object* x_52; lean_object* x_53;
-lean_dec(x_28);
-x_52 = l_Lean_nullKind;
-x_53 = l_Lean_Parser_ParserState_mkNode(x_27, x_52, x_20);
-x_6 = x_53;
-goto block_16;
+lean_dec(x_20);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_2);
+return x_19;
}
}
else
{
+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;
+x_42 = lean_ctor_get(x_9, 0);
+x_43 = lean_ctor_get(x_9, 1);
+x_44 = lean_ctor_get(x_9, 2);
+lean_inc(x_44);
+lean_inc(x_43);
+lean_inc(x_42);
+lean_dec(x_9);
+x_45 = lean_ctor_get(x_7, 1);
+lean_inc(x_45);
+x_46 = l_Lean_FileMap_toPosition(x_44, x_45);
+x_47 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_47, 0, x_42);
+lean_ctor_set(x_47, 1, x_43);
+lean_ctor_set(x_47, 2, x_44);
+x_48 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_48, 0, x_46);
+lean_ctor_set(x_6, 4, x_48);
+lean_ctor_set(x_6, 0, x_47);
+x_49 = l_Char_HasRepr___closed__1;
+x_50 = lean_string_append(x_49, x_1);
+x_51 = lean_string_append(x_50, x_49);
+lean_inc(x_6);
+x_52 = l_Lean_Parser_symbolFnAux(x_1, x_51, x_6, x_7);
+x_53 = lean_ctor_get(x_52, 3);
+lean_inc(x_53);
+if (lean_obj_tag(x_53) == 0)
+{
lean_object* x_54; lean_object* x_55;
-lean_dec(x_24);
-x_54 = l_Lean_nullKind;
-x_55 = l_Lean_Parser_ParserState_mkNode(x_23, x_54, x_20);
-x_6 = x_55;
-goto block_16;
+lean_inc(x_6);
+x_54 = l_Lean_Parser_Term_optIdent___elambda__1(x_6, x_52);
+x_55 = lean_ctor_get(x_54, 3);
+lean_inc(x_55);
+if (lean_obj_tag(x_55) == 0)
+{
+lean_object* x_56; lean_object* x_57; lean_object* x_58;
+x_56 = lean_unsigned_to_nat(0u);
+lean_inc(x_6);
+x_57 = l_Lean_Parser_categoryParser___elambda__1(x_2, x_56, x_6, x_54);
+x_58 = lean_ctor_get(x_57, 3);
+lean_inc(x_58);
+if (lean_obj_tag(x_58) == 0)
+{
+lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62;
+x_59 = lean_string_append(x_49, x_3);
+x_60 = lean_string_append(x_59, x_49);
+lean_inc(x_6);
+x_61 = l_Lean_Parser_symbolFnAux(x_3, x_60, x_6, x_57);
+x_62 = lean_ctor_get(x_61, 3);
+lean_inc(x_62);
+if (lean_obj_tag(x_62) == 0)
+{
+lean_object* x_63; lean_object* x_64; uint8_t x_65; lean_object* x_66; lean_object* x_67;
+x_63 = l_Lean_Parser_Term_doSeqBracketed___closed__6;
+x_64 = l_Lean_Parser_Term_doSeqIndent___closed__10;
+x_65 = 1;
+lean_inc(x_6);
+x_66 = l_Lean_Parser_orelseFnCore(x_63, x_64, x_65, x_6, x_61);
+x_67 = lean_ctor_get(x_66, 3);
+lean_inc(x_67);
+if (lean_obj_tag(x_67) == 0)
+{
+lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73;
+x_68 = lean_ctor_get(x_66, 0);
+lean_inc(x_68);
+x_69 = lean_array_get_size(x_68);
+lean_dec(x_68);
+lean_inc(x_6);
+x_70 = l_Lean_Parser_manyAux(x_4, x_6, x_66);
+x_71 = l_Lean_nullKind;
+x_72 = l_Lean_Parser_ParserState_mkNode(x_70, x_71, x_69);
+x_73 = lean_ctor_get(x_72, 3);
+lean_inc(x_73);
+if (lean_obj_tag(x_73) == 0)
+{
+lean_object* x_74;
+x_74 = l_Lean_Parser_optionalFn(x_5, x_6, x_72);
+return x_74;
+}
+else
+{
+lean_dec(x_73);
+lean_dec(x_6);
+lean_dec(x_5);
+return x_72;
}
}
else
{
-lean_object* x_56; lean_object* x_57;
-lean_dec(x_22);
-x_56 = l_Lean_nullKind;
-x_57 = l_Lean_Parser_ParserState_mkNode(x_21, x_56, x_20);
-x_6 = x_57;
-goto block_16;
+lean_dec(x_67);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+return x_66;
}
}
else
{
-lean_dec(x_18);
-x_6 = x_17;
-goto block_16;
+lean_dec(x_62);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+return x_61;
+}
+}
+else
+{
+lean_dec(x_58);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+return x_57;
+}
+}
+else
+{
+lean_dec(x_55);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_2);
+return x_54;
+}
+}
+else
+{
+lean_dec(x_53);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_2);
+return x_52;
+}
+}
+}
+else
+{
+lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; uint8_t 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;
+x_75 = lean_ctor_get(x_6, 0);
+x_76 = lean_ctor_get(x_6, 1);
+x_77 = lean_ctor_get(x_6, 2);
+x_78 = lean_ctor_get(x_6, 3);
+x_79 = lean_ctor_get_uint8(x_6, sizeof(void*)*6);
+x_80 = lean_ctor_get(x_6, 5);
+lean_inc(x_80);
+lean_inc(x_78);
+lean_inc(x_77);
+lean_inc(x_76);
+lean_inc(x_75);
+lean_dec(x_6);
+x_81 = lean_ctor_get(x_75, 0);
+lean_inc(x_81);
+x_82 = lean_ctor_get(x_75, 1);
+lean_inc(x_82);
+x_83 = lean_ctor_get(x_75, 2);
+lean_inc(x_83);
+if (lean_is_exclusive(x_75)) {
+ lean_ctor_release(x_75, 0);
+ lean_ctor_release(x_75, 1);
+ lean_ctor_release(x_75, 2);
+ x_84 = x_75;
+} else {
+ lean_dec_ref(x_75);
+ x_84 = lean_box(0);
+}
+x_85 = lean_ctor_get(x_7, 1);
+lean_inc(x_85);
+x_86 = l_Lean_FileMap_toPosition(x_83, x_85);
+if (lean_is_scalar(x_84)) {
+ x_87 = lean_alloc_ctor(0, 3, 0);
+} else {
+ x_87 = x_84;
+}
+lean_ctor_set(x_87, 0, x_81);
+lean_ctor_set(x_87, 1, x_82);
+lean_ctor_set(x_87, 2, x_83);
+x_88 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_88, 0, x_86);
+x_89 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_89, 0, x_87);
+lean_ctor_set(x_89, 1, x_76);
+lean_ctor_set(x_89, 2, x_77);
+lean_ctor_set(x_89, 3, x_78);
+lean_ctor_set(x_89, 4, x_88);
+lean_ctor_set(x_89, 5, x_80);
+lean_ctor_set_uint8(x_89, sizeof(void*)*6, x_79);
+x_90 = l_Char_HasRepr___closed__1;
+x_91 = lean_string_append(x_90, x_1);
+x_92 = lean_string_append(x_91, x_90);
+lean_inc(x_89);
+x_93 = l_Lean_Parser_symbolFnAux(x_1, x_92, x_89, x_7);
+x_94 = lean_ctor_get(x_93, 3);
+lean_inc(x_94);
+if (lean_obj_tag(x_94) == 0)
+{
+lean_object* x_95; lean_object* x_96;
+lean_inc(x_89);
+x_95 = l_Lean_Parser_Term_optIdent___elambda__1(x_89, x_93);
+x_96 = lean_ctor_get(x_95, 3);
+lean_inc(x_96);
+if (lean_obj_tag(x_96) == 0)
+{
+lean_object* x_97; lean_object* x_98; lean_object* x_99;
+x_97 = lean_unsigned_to_nat(0u);
+lean_inc(x_89);
+x_98 = l_Lean_Parser_categoryParser___elambda__1(x_2, x_97, x_89, x_95);
+x_99 = lean_ctor_get(x_98, 3);
+lean_inc(x_99);
+if (lean_obj_tag(x_99) == 0)
+{
+lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103;
+x_100 = lean_string_append(x_90, x_3);
+x_101 = lean_string_append(x_100, x_90);
+lean_inc(x_89);
+x_102 = l_Lean_Parser_symbolFnAux(x_3, x_101, x_89, x_98);
+x_103 = lean_ctor_get(x_102, 3);
+lean_inc(x_103);
+if (lean_obj_tag(x_103) == 0)
+{
+lean_object* x_104; lean_object* x_105; uint8_t x_106; lean_object* x_107; lean_object* x_108;
+x_104 = l_Lean_Parser_Term_doSeqBracketed___closed__6;
+x_105 = l_Lean_Parser_Term_doSeqIndent___closed__10;
+x_106 = 1;
+lean_inc(x_89);
+x_107 = l_Lean_Parser_orelseFnCore(x_104, x_105, x_106, x_89, x_102);
+x_108 = lean_ctor_get(x_107, 3);
+lean_inc(x_108);
+if (lean_obj_tag(x_108) == 0)
+{
+lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114;
+x_109 = lean_ctor_get(x_107, 0);
+lean_inc(x_109);
+x_110 = lean_array_get_size(x_109);
+lean_dec(x_109);
+lean_inc(x_89);
+x_111 = l_Lean_Parser_manyAux(x_4, x_89, x_107);
+x_112 = l_Lean_nullKind;
+x_113 = l_Lean_Parser_ParserState_mkNode(x_111, x_112, x_110);
+x_114 = lean_ctor_get(x_113, 3);
+lean_inc(x_114);
+if (lean_obj_tag(x_114) == 0)
+{
+lean_object* x_115;
+x_115 = l_Lean_Parser_optionalFn(x_5, x_89, x_113);
+return x_115;
+}
+else
+{
+lean_dec(x_114);
+lean_dec(x_89);
+lean_dec(x_5);
+return x_113;
+}
+}
+else
+{
+lean_dec(x_108);
+lean_dec(x_89);
+lean_dec(x_5);
+lean_dec(x_4);
+return x_107;
+}
+}
+else
+{
+lean_dec(x_103);
+lean_dec(x_89);
+lean_dec(x_5);
+lean_dec(x_4);
+return x_102;
+}
+}
+else
+{
+lean_dec(x_99);
+lean_dec(x_89);
+lean_dec(x_5);
+lean_dec(x_4);
+return x_98;
+}
+}
+else
+{
+lean_dec(x_96);
+lean_dec(x_89);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_2);
+return x_95;
+}
+}
+else
+{
+lean_dec(x_94);
+lean_dec(x_89);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_2);
+return x_93;
}
}
}
@@ -12093,2327 +6910,189 @@ static lean_object* _init_l_Lean_Parser_Term_doIf___elambda__1___closed__5() {
_start:
{
lean_object* x_1;
+x_1 = lean_mk_string("'else if' in 'do' must be indented");
+return x_1;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doIf___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_doIf___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_checkColGeFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doIf___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_if___elambda__1___closed__10;
+x_2 = l_Lean_Parser_Term_doSeq___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doIf___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_2 = l_Lean_Parser_Term_doIf___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doIf___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_optIdent___closed__3;
+x_2 = l_Lean_Parser_Term_doIf___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doIf___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_elseIf___closed__5;
+x_2 = l_Lean_Parser_Term_doIf___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doIf___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_nullKind;
+x_2 = l_Lean_Parser_Term_doIf___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doIf___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_doIf___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Term_doIf___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doIf___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1;
x_1 = lean_mk_string("'else' in 'do' must be indented");
return x_1;
}
}
+static lean_object* _init_l_Lean_Parser_Term_doIf___elambda__1___closed__14() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_doIf___elambda__1___closed__13;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_checkColGeFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doIf___elambda__1___closed__15() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_if___elambda__1___closed__13;
+x_2 = l_Lean_Parser_Term_doSeq___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doIf___elambda__1___closed__16() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_doIf___elambda__1___closed__14;
+x_2 = l_Lean_Parser_Term_doIf___elambda__1___closed__15;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doIf___elambda__1___closed__17() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
+x_1 = l_Lean_Parser_Term_if___elambda__1___closed__6;
+x_2 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_3 = l_Lean_Parser_Term_if___elambda__1___closed__9;
+x_4 = l_Lean_Parser_Term_doIf___elambda__1___closed__12;
+x_5 = l_Lean_Parser_Term_doIf___elambda__1___closed__16;
+x_6 = lean_alloc_closure((void*)(l_Lean_Parser_Term_doIf___elambda__1___lambda__1___boxed), 7, 5);
+lean_closure_set(x_6, 0, x_1);
+lean_closure_set(x_6, 1, x_2);
+lean_closure_set(x_6, 2, x_3);
+lean_closure_set(x_6, 3, x_4);
+lean_closure_set(x_6, 4, x_5);
+return x_6;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doIf___elambda__1___closed__18() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_doIf___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_doIf___elambda__1___closed__17;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doIf___elambda__1___closed__19() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_doIf___elambda__1___closed__18;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Term_doIf___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Term_doIf___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; uint8_t x_11;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_11 = !lean_is_exclusive(x_1);
-if (x_11 == 0)
-{
-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_77; lean_object* x_106; lean_object* x_107;
-x_12 = lean_ctor_get(x_1, 0);
-x_13 = lean_ctor_get(x_1, 4);
-lean_dec(x_13);
-x_14 = lean_ctor_get(x_12, 2);
-lean_inc(x_14);
-x_15 = lean_ctor_get(x_7, 1);
-lean_inc(x_15);
-lean_inc(x_15);
-x_16 = l_Lean_FileMap_toPosition(x_14, x_15);
-lean_inc(x_16);
-x_17 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_17, 0, x_16);
-lean_ctor_set(x_1, 4, x_17);
-lean_inc(x_1);
-x_106 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_107 = lean_ctor_get(x_106, 3);
-lean_inc(x_107);
-if (lean_obj_tag(x_107) == 0)
-{
-lean_object* x_108; lean_object* x_109;
-x_108 = lean_ctor_get(x_106, 0);
-lean_inc(x_108);
-x_109 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_108);
-lean_dec(x_108);
-if (lean_obj_tag(x_109) == 2)
-{
-lean_object* x_110; lean_object* x_111; uint8_t x_112;
-x_110 = lean_ctor_get(x_109, 1);
-lean_inc(x_110);
-lean_dec(x_109);
-x_111 = l_Lean_Parser_Term_if___elambda__1___closed__6;
-x_112 = lean_string_dec_eq(x_110, x_111);
-lean_dec(x_110);
-if (x_112 == 0)
-{
-lean_object* x_113; lean_object* x_114;
-x_113 = l_Lean_Parser_Term_if___elambda__1___closed__19;
-x_114 = l_Lean_Parser_ParserState_mkErrorsAt(x_106, x_113, x_15);
-x_77 = x_114;
-goto block_105;
-}
-else
-{
-lean_dec(x_15);
-x_77 = x_106;
-goto block_105;
-}
-}
-else
-{
-lean_object* x_115; lean_object* x_116;
-lean_dec(x_109);
-x_115 = l_Lean_Parser_Term_if___elambda__1___closed__19;
-x_116 = l_Lean_Parser_ParserState_mkErrorsAt(x_106, x_115, x_15);
-x_77 = x_116;
-goto block_105;
-}
-}
-else
-{
-lean_object* x_117; lean_object* x_118;
-lean_dec(x_107);
-x_117 = l_Lean_Parser_Term_if___elambda__1___closed__19;
-x_118 = l_Lean_Parser_ParserState_mkErrorsAt(x_106, x_117, x_15);
-x_77 = x_118;
-goto block_105;
-}
-block_76:
-{
-lean_object* x_19;
-x_19 = lean_ctor_get(x_18, 3);
-lean_inc(x_19);
-if (lean_obj_tag(x_19) == 0)
-{
-lean_object* x_20; lean_object* x_21;
-lean_inc(x_1);
-x_20 = l_Lean_Parser_Term_doSeq___elambda__1(x_1, x_18);
-x_21 = lean_ctor_get(x_20, 3);
-lean_inc(x_21);
-if (lean_obj_tag(x_21) == 0)
-{
-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_22 = lean_ctor_get(x_20, 0);
-lean_inc(x_22);
-x_23 = lean_array_get_size(x_22);
-lean_dec(x_22);
-lean_inc(x_1);
-x_24 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doIf___elambda__1___spec__1(x_1, x_20);
-x_25 = l_Lean_nullKind;
-x_26 = l_Lean_Parser_ParserState_mkNode(x_24, x_25, x_23);
-x_27 = lean_ctor_get(x_26, 3);
-lean_inc(x_27);
-if (lean_obj_tag(x_27) == 0)
-{
-lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_46; lean_object* x_64; lean_object* x_65; lean_object* x_66; uint8_t x_67;
-x_28 = lean_ctor_get(x_26, 0);
-lean_inc(x_28);
-x_29 = lean_array_get_size(x_28);
-lean_dec(x_28);
-x_30 = lean_ctor_get(x_26, 1);
-lean_inc(x_30);
-lean_inc(x_30);
-x_64 = l_Lean_FileMap_toPosition(x_14, x_30);
-lean_dec(x_14);
-x_65 = lean_ctor_get(x_16, 1);
-lean_inc(x_65);
-lean_dec(x_16);
-x_66 = lean_ctor_get(x_64, 1);
-lean_inc(x_66);
-lean_dec(x_64);
-x_67 = lean_nat_dec_le(x_65, x_66);
-lean_dec(x_66);
-lean_dec(x_65);
-if (x_67 == 0)
-{
-lean_object* x_68; lean_object* x_69;
-x_68 = l_Lean_Parser_Term_doIf___elambda__1___closed__5;
-x_69 = l_Lean_Parser_ParserState_mkError(x_26, x_68);
-x_46 = x_69;
-goto block_63;
-}
-else
-{
-x_46 = x_26;
-goto block_63;
-}
-block_45:
-{
-lean_object* x_32;
-x_32 = lean_ctor_get(x_31, 3);
-lean_inc(x_32);
-if (lean_obj_tag(x_32) == 0)
-{
-lean_object* x_33; lean_object* x_34; lean_object* x_35;
-lean_dec(x_30);
-x_33 = l_Lean_Parser_ParserState_mkNode(x_31, x_25, x_29);
-x_34 = l_Lean_Parser_Term_doIf___elambda__1___closed__2;
-x_35 = l_Lean_Parser_ParserState_mkNode(x_33, x_34, x_10);
-return x_35;
-}
-else
-{
-lean_object* x_36; uint8_t x_37;
-lean_dec(x_32);
-x_36 = lean_ctor_get(x_31, 1);
-lean_inc(x_36);
-x_37 = lean_nat_dec_eq(x_36, x_30);
-lean_dec(x_36);
-if (x_37 == 0)
-{
-lean_object* x_38; lean_object* x_39; lean_object* x_40;
-lean_dec(x_30);
-x_38 = l_Lean_Parser_ParserState_mkNode(x_31, x_25, x_29);
-x_39 = l_Lean_Parser_Term_doIf___elambda__1___closed__2;
-x_40 = l_Lean_Parser_ParserState_mkNode(x_38, x_39, x_10);
-return x_40;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
-x_41 = l_Lean_Parser_ParserState_restore(x_31, x_29, x_30);
-x_42 = l_Lean_Parser_ParserState_mkNode(x_41, x_25, x_29);
-x_43 = l_Lean_Parser_Term_doIf___elambda__1___closed__2;
-x_44 = l_Lean_Parser_ParserState_mkNode(x_42, x_43, x_10);
-return x_44;
-}
-}
-}
-block_63:
-{
-lean_object* x_47;
-x_47 = lean_ctor_get(x_46, 3);
-lean_inc(x_47);
-if (lean_obj_tag(x_47) == 0)
-{
-lean_object* x_48; lean_object* x_49; lean_object* x_50;
-x_48 = lean_ctor_get(x_46, 1);
-lean_inc(x_48);
-lean_inc(x_1);
-x_49 = l_Lean_Parser_tokenFn(x_1, x_46);
-x_50 = lean_ctor_get(x_49, 3);
-lean_inc(x_50);
-if (lean_obj_tag(x_50) == 0)
-{
-lean_object* x_51; lean_object* x_52;
-x_51 = lean_ctor_get(x_49, 0);
-lean_inc(x_51);
-x_52 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_51);
-lean_dec(x_51);
-if (lean_obj_tag(x_52) == 2)
-{
-lean_object* x_53; lean_object* x_54; uint8_t x_55;
-x_53 = lean_ctor_get(x_52, 1);
-lean_inc(x_53);
-lean_dec(x_52);
-x_54 = l_Lean_Parser_Term_if___elambda__1___closed__10;
-x_55 = lean_string_dec_eq(x_53, x_54);
-lean_dec(x_53);
-if (x_55 == 0)
-{
-lean_object* x_56; lean_object* x_57;
-lean_dec(x_1);
-x_56 = l_Lean_Parser_Term_if___elambda__1___closed__13;
-x_57 = l_Lean_Parser_ParserState_mkErrorsAt(x_49, x_56, x_48);
-x_31 = x_57;
-goto block_45;
-}
-else
-{
-lean_object* x_58;
-lean_dec(x_48);
-x_58 = l_Lean_Parser_Term_doSeq___elambda__1(x_1, x_49);
-x_31 = x_58;
-goto block_45;
-}
-}
-else
-{
-lean_object* x_59; lean_object* x_60;
-lean_dec(x_52);
-lean_dec(x_1);
-x_59 = l_Lean_Parser_Term_if___elambda__1___closed__13;
-x_60 = l_Lean_Parser_ParserState_mkErrorsAt(x_49, x_59, x_48);
-x_31 = x_60;
-goto block_45;
-}
-}
-else
-{
-lean_object* x_61; lean_object* x_62;
-lean_dec(x_50);
-lean_dec(x_1);
-x_61 = l_Lean_Parser_Term_if___elambda__1___closed__13;
-x_62 = l_Lean_Parser_ParserState_mkErrorsAt(x_49, x_61, x_48);
-x_31 = x_62;
-goto block_45;
-}
-}
-else
-{
-lean_dec(x_47);
-lean_dec(x_1);
-x_31 = x_46;
-goto block_45;
-}
-}
-}
-else
-{
-lean_object* x_70; lean_object* x_71;
-lean_dec(x_27);
-lean_dec(x_1);
-lean_dec(x_16);
-lean_dec(x_14);
-x_70 = l_Lean_Parser_Term_doIf___elambda__1___closed__2;
-x_71 = l_Lean_Parser_ParserState_mkNode(x_26, x_70, x_10);
-return x_71;
-}
-}
-else
-{
-lean_object* x_72; lean_object* x_73;
-lean_dec(x_21);
-lean_dec(x_1);
-lean_dec(x_16);
-lean_dec(x_14);
-x_72 = l_Lean_Parser_Term_doIf___elambda__1___closed__2;
-x_73 = l_Lean_Parser_ParserState_mkNode(x_20, x_72, x_10);
-return x_73;
-}
-}
-else
-{
-lean_object* x_74; lean_object* x_75;
-lean_dec(x_19);
-lean_dec(x_1);
-lean_dec(x_16);
-lean_dec(x_14);
-x_74 = l_Lean_Parser_Term_doIf___elambda__1___closed__2;
-x_75 = l_Lean_Parser_ParserState_mkNode(x_18, x_74, x_10);
-return x_75;
-}
-}
-block_105:
-{
-lean_object* x_78;
-x_78 = lean_ctor_get(x_77, 3);
-lean_inc(x_78);
-if (lean_obj_tag(x_78) == 0)
-{
-lean_object* x_79; lean_object* x_80;
-lean_inc(x_1);
-x_79 = l_Lean_Parser_Term_optIdent___elambda__1(x_1, x_77);
-x_80 = lean_ctor_get(x_79, 3);
-lean_inc(x_80);
-if (lean_obj_tag(x_80) == 0)
-{
-lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84;
-x_81 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_82 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_83 = l_Lean_Parser_categoryParser___elambda__1(x_81, x_82, x_1, x_79);
-x_84 = lean_ctor_get(x_83, 3);
-lean_inc(x_84);
-if (lean_obj_tag(x_84) == 0)
-{
-lean_object* x_85; lean_object* x_86; lean_object* x_87;
-x_85 = lean_ctor_get(x_83, 1);
-lean_inc(x_85);
-lean_inc(x_1);
-x_86 = l_Lean_Parser_tokenFn(x_1, x_83);
-x_87 = lean_ctor_get(x_86, 3);
-lean_inc(x_87);
-if (lean_obj_tag(x_87) == 0)
-{
-lean_object* x_88; lean_object* x_89;
-x_88 = lean_ctor_get(x_86, 0);
-lean_inc(x_88);
-x_89 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_88);
-lean_dec(x_88);
-if (lean_obj_tag(x_89) == 2)
-{
-lean_object* x_90; lean_object* x_91; uint8_t x_92;
-x_90 = lean_ctor_get(x_89, 1);
-lean_inc(x_90);
-lean_dec(x_89);
-x_91 = l_Lean_Parser_Term_if___elambda__1___closed__8;
-x_92 = lean_string_dec_eq(x_90, x_91);
-lean_dec(x_90);
-if (x_92 == 0)
-{
-lean_object* x_93; lean_object* x_94;
-x_93 = l_Lean_Parser_Term_if___elambda__1___closed__16;
-x_94 = l_Lean_Parser_ParserState_mkErrorsAt(x_86, x_93, x_85);
-x_18 = x_94;
-goto block_76;
-}
-else
-{
-lean_dec(x_85);
-x_18 = x_86;
-goto block_76;
-}
-}
-else
-{
-lean_object* x_95; lean_object* x_96;
-lean_dec(x_89);
-x_95 = l_Lean_Parser_Term_if___elambda__1___closed__16;
-x_96 = l_Lean_Parser_ParserState_mkErrorsAt(x_86, x_95, x_85);
-x_18 = x_96;
-goto block_76;
-}
-}
-else
-{
-lean_object* x_97; lean_object* x_98;
-lean_dec(x_87);
-x_97 = l_Lean_Parser_Term_if___elambda__1___closed__16;
-x_98 = l_Lean_Parser_ParserState_mkErrorsAt(x_86, x_97, x_85);
-x_18 = x_98;
-goto block_76;
-}
-}
-else
-{
-lean_object* x_99; lean_object* x_100;
-lean_dec(x_84);
-lean_dec(x_1);
-lean_dec(x_16);
-lean_dec(x_14);
-x_99 = l_Lean_Parser_Term_doIf___elambda__1___closed__2;
-x_100 = l_Lean_Parser_ParserState_mkNode(x_83, x_99, x_10);
-return x_100;
-}
-}
-else
-{
-lean_object* x_101; lean_object* x_102;
-lean_dec(x_80);
-lean_dec(x_1);
-lean_dec(x_16);
-lean_dec(x_14);
-x_101 = l_Lean_Parser_Term_doIf___elambda__1___closed__2;
-x_102 = l_Lean_Parser_ParserState_mkNode(x_79, x_101, x_10);
-return x_102;
-}
-}
-else
-{
-lean_object* x_103; lean_object* x_104;
-lean_dec(x_78);
-lean_dec(x_1);
-lean_dec(x_16);
-lean_dec(x_14);
-x_103 = l_Lean_Parser_Term_doIf___elambda__1___closed__2;
-x_104 = l_Lean_Parser_ParserState_mkNode(x_77, x_103, x_10);
-return x_104;
-}
-}
-}
-else
-{
-lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; uint8_t 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_189; lean_object* x_218; lean_object* x_219;
-x_119 = lean_ctor_get(x_1, 0);
-x_120 = lean_ctor_get(x_1, 1);
-x_121 = lean_ctor_get(x_1, 2);
-x_122 = lean_ctor_get(x_1, 3);
-x_123 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
-x_124 = lean_ctor_get(x_1, 5);
-lean_inc(x_124);
-lean_inc(x_122);
-lean_inc(x_121);
-lean_inc(x_120);
-lean_inc(x_119);
-lean_dec(x_1);
-x_125 = lean_ctor_get(x_119, 2);
-lean_inc(x_125);
-x_126 = lean_ctor_get(x_7, 1);
-lean_inc(x_126);
-lean_inc(x_126);
-x_127 = l_Lean_FileMap_toPosition(x_125, x_126);
-lean_inc(x_127);
-x_128 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_128, 0, x_127);
-x_129 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_129, 0, x_119);
-lean_ctor_set(x_129, 1, x_120);
-lean_ctor_set(x_129, 2, x_121);
-lean_ctor_set(x_129, 3, x_122);
-lean_ctor_set(x_129, 4, x_128);
-lean_ctor_set(x_129, 5, x_124);
-lean_ctor_set_uint8(x_129, sizeof(void*)*6, x_123);
-lean_inc(x_129);
-x_218 = l_Lean_Parser_tokenFn(x_129, x_7);
-x_219 = lean_ctor_get(x_218, 3);
-lean_inc(x_219);
-if (lean_obj_tag(x_219) == 0)
-{
-lean_object* x_220; lean_object* x_221;
-x_220 = lean_ctor_get(x_218, 0);
-lean_inc(x_220);
-x_221 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_220);
-lean_dec(x_220);
-if (lean_obj_tag(x_221) == 2)
-{
-lean_object* x_222; lean_object* x_223; uint8_t x_224;
-x_222 = lean_ctor_get(x_221, 1);
-lean_inc(x_222);
-lean_dec(x_221);
-x_223 = l_Lean_Parser_Term_if___elambda__1___closed__6;
-x_224 = lean_string_dec_eq(x_222, x_223);
-lean_dec(x_222);
-if (x_224 == 0)
-{
-lean_object* x_225; lean_object* x_226;
-x_225 = l_Lean_Parser_Term_if___elambda__1___closed__19;
-x_226 = l_Lean_Parser_ParserState_mkErrorsAt(x_218, x_225, x_126);
-x_189 = x_226;
-goto block_217;
-}
-else
-{
-lean_dec(x_126);
-x_189 = x_218;
-goto block_217;
-}
-}
-else
-{
-lean_object* x_227; lean_object* x_228;
-lean_dec(x_221);
-x_227 = l_Lean_Parser_Term_if___elambda__1___closed__19;
-x_228 = l_Lean_Parser_ParserState_mkErrorsAt(x_218, x_227, x_126);
-x_189 = x_228;
-goto block_217;
-}
-}
-else
-{
-lean_object* x_229; lean_object* x_230;
-lean_dec(x_219);
-x_229 = l_Lean_Parser_Term_if___elambda__1___closed__19;
-x_230 = l_Lean_Parser_ParserState_mkErrorsAt(x_218, x_229, x_126);
-x_189 = x_230;
-goto block_217;
-}
-block_188:
-{
-lean_object* x_131;
-x_131 = lean_ctor_get(x_130, 3);
-lean_inc(x_131);
-if (lean_obj_tag(x_131) == 0)
-{
-lean_object* x_132; lean_object* x_133;
-lean_inc(x_129);
-x_132 = l_Lean_Parser_Term_doSeq___elambda__1(x_129, x_130);
-x_133 = lean_ctor_get(x_132, 3);
-lean_inc(x_133);
-if (lean_obj_tag(x_133) == 0)
-{
-lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139;
-x_134 = lean_ctor_get(x_132, 0);
-lean_inc(x_134);
-x_135 = lean_array_get_size(x_134);
-lean_dec(x_134);
-lean_inc(x_129);
-x_136 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doIf___elambda__1___spec__1(x_129, x_132);
-x_137 = l_Lean_nullKind;
-x_138 = l_Lean_Parser_ParserState_mkNode(x_136, x_137, x_135);
-x_139 = lean_ctor_get(x_138, 3);
-lean_inc(x_139);
-if (lean_obj_tag(x_139) == 0)
-{
-lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_158; lean_object* x_176; lean_object* x_177; lean_object* x_178; uint8_t x_179;
-x_140 = lean_ctor_get(x_138, 0);
-lean_inc(x_140);
-x_141 = lean_array_get_size(x_140);
-lean_dec(x_140);
-x_142 = lean_ctor_get(x_138, 1);
-lean_inc(x_142);
-lean_inc(x_142);
-x_176 = l_Lean_FileMap_toPosition(x_125, x_142);
-lean_dec(x_125);
-x_177 = lean_ctor_get(x_127, 1);
-lean_inc(x_177);
-lean_dec(x_127);
-x_178 = lean_ctor_get(x_176, 1);
-lean_inc(x_178);
-lean_dec(x_176);
-x_179 = lean_nat_dec_le(x_177, x_178);
-lean_dec(x_178);
-lean_dec(x_177);
-if (x_179 == 0)
-{
-lean_object* x_180; lean_object* x_181;
-x_180 = l_Lean_Parser_Term_doIf___elambda__1___closed__5;
-x_181 = l_Lean_Parser_ParserState_mkError(x_138, x_180);
-x_158 = x_181;
-goto block_175;
-}
-else
-{
-x_158 = x_138;
-goto block_175;
-}
-block_157:
-{
-lean_object* x_144;
-x_144 = lean_ctor_get(x_143, 3);
-lean_inc(x_144);
-if (lean_obj_tag(x_144) == 0)
-{
-lean_object* x_145; lean_object* x_146; lean_object* x_147;
-lean_dec(x_142);
-x_145 = l_Lean_Parser_ParserState_mkNode(x_143, x_137, x_141);
-x_146 = l_Lean_Parser_Term_doIf___elambda__1___closed__2;
-x_147 = l_Lean_Parser_ParserState_mkNode(x_145, x_146, x_10);
-return x_147;
-}
-else
-{
-lean_object* x_148; uint8_t x_149;
-lean_dec(x_144);
-x_148 = lean_ctor_get(x_143, 1);
-lean_inc(x_148);
-x_149 = lean_nat_dec_eq(x_148, x_142);
-lean_dec(x_148);
-if (x_149 == 0)
-{
-lean_object* x_150; lean_object* x_151; lean_object* x_152;
-lean_dec(x_142);
-x_150 = l_Lean_Parser_ParserState_mkNode(x_143, x_137, x_141);
-x_151 = l_Lean_Parser_Term_doIf___elambda__1___closed__2;
-x_152 = l_Lean_Parser_ParserState_mkNode(x_150, x_151, x_10);
-return x_152;
-}
-else
-{
-lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156;
-x_153 = l_Lean_Parser_ParserState_restore(x_143, x_141, x_142);
-x_154 = l_Lean_Parser_ParserState_mkNode(x_153, x_137, x_141);
-x_155 = l_Lean_Parser_Term_doIf___elambda__1___closed__2;
-x_156 = l_Lean_Parser_ParserState_mkNode(x_154, x_155, x_10);
-return x_156;
-}
-}
-}
-block_175:
-{
-lean_object* x_159;
-x_159 = lean_ctor_get(x_158, 3);
-lean_inc(x_159);
-if (lean_obj_tag(x_159) == 0)
-{
-lean_object* x_160; lean_object* x_161; lean_object* x_162;
-x_160 = lean_ctor_get(x_158, 1);
-lean_inc(x_160);
-lean_inc(x_129);
-x_161 = l_Lean_Parser_tokenFn(x_129, x_158);
-x_162 = lean_ctor_get(x_161, 3);
-lean_inc(x_162);
-if (lean_obj_tag(x_162) == 0)
-{
-lean_object* x_163; lean_object* x_164;
-x_163 = lean_ctor_get(x_161, 0);
-lean_inc(x_163);
-x_164 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_163);
-lean_dec(x_163);
-if (lean_obj_tag(x_164) == 2)
-{
-lean_object* x_165; lean_object* x_166; uint8_t x_167;
-x_165 = lean_ctor_get(x_164, 1);
-lean_inc(x_165);
-lean_dec(x_164);
-x_166 = l_Lean_Parser_Term_if___elambda__1___closed__10;
-x_167 = lean_string_dec_eq(x_165, x_166);
-lean_dec(x_165);
-if (x_167 == 0)
-{
-lean_object* x_168; lean_object* x_169;
-lean_dec(x_129);
-x_168 = l_Lean_Parser_Term_if___elambda__1___closed__13;
-x_169 = l_Lean_Parser_ParserState_mkErrorsAt(x_161, x_168, x_160);
-x_143 = x_169;
-goto block_157;
-}
-else
-{
-lean_object* x_170;
-lean_dec(x_160);
-x_170 = l_Lean_Parser_Term_doSeq___elambda__1(x_129, x_161);
-x_143 = x_170;
-goto block_157;
-}
-}
-else
-{
-lean_object* x_171; lean_object* x_172;
-lean_dec(x_164);
-lean_dec(x_129);
-x_171 = l_Lean_Parser_Term_if___elambda__1___closed__13;
-x_172 = l_Lean_Parser_ParserState_mkErrorsAt(x_161, x_171, x_160);
-x_143 = x_172;
-goto block_157;
-}
-}
-else
-{
-lean_object* x_173; lean_object* x_174;
-lean_dec(x_162);
-lean_dec(x_129);
-x_173 = l_Lean_Parser_Term_if___elambda__1___closed__13;
-x_174 = l_Lean_Parser_ParserState_mkErrorsAt(x_161, x_173, x_160);
-x_143 = x_174;
-goto block_157;
-}
-}
-else
-{
-lean_dec(x_159);
-lean_dec(x_129);
-x_143 = x_158;
-goto block_157;
-}
-}
-}
-else
-{
-lean_object* x_182; lean_object* x_183;
-lean_dec(x_139);
-lean_dec(x_129);
-lean_dec(x_127);
-lean_dec(x_125);
-x_182 = l_Lean_Parser_Term_doIf___elambda__1___closed__2;
-x_183 = l_Lean_Parser_ParserState_mkNode(x_138, x_182, x_10);
-return x_183;
-}
-}
-else
-{
-lean_object* x_184; lean_object* x_185;
-lean_dec(x_133);
-lean_dec(x_129);
-lean_dec(x_127);
-lean_dec(x_125);
-x_184 = l_Lean_Parser_Term_doIf___elambda__1___closed__2;
-x_185 = l_Lean_Parser_ParserState_mkNode(x_132, x_184, x_10);
-return x_185;
-}
-}
-else
-{
-lean_object* x_186; lean_object* x_187;
-lean_dec(x_131);
-lean_dec(x_129);
-lean_dec(x_127);
-lean_dec(x_125);
-x_186 = l_Lean_Parser_Term_doIf___elambda__1___closed__2;
-x_187 = l_Lean_Parser_ParserState_mkNode(x_130, x_186, x_10);
-return x_187;
-}
-}
-block_217:
-{
-lean_object* x_190;
-x_190 = lean_ctor_get(x_189, 3);
-lean_inc(x_190);
-if (lean_obj_tag(x_190) == 0)
-{
-lean_object* x_191; lean_object* x_192;
-lean_inc(x_129);
-x_191 = l_Lean_Parser_Term_optIdent___elambda__1(x_129, x_189);
-x_192 = lean_ctor_get(x_191, 3);
-lean_inc(x_192);
-if (lean_obj_tag(x_192) == 0)
-{
-lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196;
-x_193 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_194 = lean_unsigned_to_nat(0u);
-lean_inc(x_129);
-x_195 = l_Lean_Parser_categoryParser___elambda__1(x_193, x_194, x_129, x_191);
-x_196 = lean_ctor_get(x_195, 3);
-lean_inc(x_196);
-if (lean_obj_tag(x_196) == 0)
-{
-lean_object* x_197; lean_object* x_198; lean_object* x_199;
-x_197 = lean_ctor_get(x_195, 1);
-lean_inc(x_197);
-lean_inc(x_129);
-x_198 = l_Lean_Parser_tokenFn(x_129, x_195);
-x_199 = lean_ctor_get(x_198, 3);
-lean_inc(x_199);
-if (lean_obj_tag(x_199) == 0)
-{
-lean_object* x_200; lean_object* x_201;
-x_200 = lean_ctor_get(x_198, 0);
-lean_inc(x_200);
-x_201 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_200);
-lean_dec(x_200);
-if (lean_obj_tag(x_201) == 2)
-{
-lean_object* x_202; lean_object* x_203; uint8_t x_204;
-x_202 = lean_ctor_get(x_201, 1);
-lean_inc(x_202);
-lean_dec(x_201);
-x_203 = l_Lean_Parser_Term_if___elambda__1___closed__8;
-x_204 = lean_string_dec_eq(x_202, x_203);
-lean_dec(x_202);
-if (x_204 == 0)
-{
-lean_object* x_205; lean_object* x_206;
-x_205 = l_Lean_Parser_Term_if___elambda__1___closed__16;
-x_206 = l_Lean_Parser_ParserState_mkErrorsAt(x_198, x_205, x_197);
-x_130 = x_206;
-goto block_188;
-}
-else
-{
-lean_dec(x_197);
-x_130 = x_198;
-goto block_188;
-}
-}
-else
-{
-lean_object* x_207; lean_object* x_208;
-lean_dec(x_201);
-x_207 = l_Lean_Parser_Term_if___elambda__1___closed__16;
-x_208 = l_Lean_Parser_ParserState_mkErrorsAt(x_198, x_207, x_197);
-x_130 = x_208;
-goto block_188;
-}
-}
-else
-{
-lean_object* x_209; lean_object* x_210;
-lean_dec(x_199);
-x_209 = l_Lean_Parser_Term_if___elambda__1___closed__16;
-x_210 = l_Lean_Parser_ParserState_mkErrorsAt(x_198, x_209, x_197);
-x_130 = x_210;
-goto block_188;
-}
-}
-else
-{
-lean_object* x_211; lean_object* x_212;
-lean_dec(x_196);
-lean_dec(x_129);
-lean_dec(x_127);
-lean_dec(x_125);
-x_211 = l_Lean_Parser_Term_doIf___elambda__1___closed__2;
-x_212 = l_Lean_Parser_ParserState_mkNode(x_195, x_211, x_10);
-return x_212;
-}
-}
-else
-{
-lean_object* x_213; lean_object* x_214;
-lean_dec(x_192);
-lean_dec(x_129);
-lean_dec(x_127);
-lean_dec(x_125);
-x_213 = l_Lean_Parser_Term_doIf___elambda__1___closed__2;
-x_214 = l_Lean_Parser_ParserState_mkNode(x_191, x_213, x_10);
-return x_214;
-}
-}
-else
-{
-lean_object* x_215; lean_object* x_216;
-lean_dec(x_190);
-lean_dec(x_129);
-lean_dec(x_127);
-lean_dec(x_125);
-x_215 = l_Lean_Parser_Term_doIf___elambda__1___closed__2;
-x_216 = l_Lean_Parser_ParserState_mkNode(x_189, x_215, x_10);
-return x_216;
-}
-}
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Term_doIf___elambda__1___closed__19;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_231; lean_object* x_232; lean_object* x_233; lean_object* x_234; lean_object* x_235;
-x_231 = lean_ctor_get(x_2, 0);
-lean_inc(x_231);
-x_232 = lean_array_get_size(x_231);
-lean_dec(x_231);
-x_233 = lean_ctor_get(x_2, 1);
-lean_inc(x_233);
-lean_inc(x_1);
-x_234 = lean_apply_2(x_4, x_1, x_2);
-x_235 = lean_ctor_get(x_234, 3);
-lean_inc(x_235);
-if (lean_obj_tag(x_235) == 0)
-{
-lean_dec(x_233);
-lean_dec(x_232);
-lean_dec(x_1);
-return x_234;
-}
-else
-{
-uint8_t x_236;
-x_236 = !lean_is_exclusive(x_235);
-if (x_236 == 0)
-{
-lean_object* x_237; lean_object* x_238; uint8_t x_239;
-x_237 = lean_ctor_get(x_235, 0);
-x_238 = lean_ctor_get(x_234, 1);
-lean_inc(x_238);
-x_239 = lean_nat_dec_eq(x_238, x_233);
-lean_dec(x_238);
-if (x_239 == 0)
-{
-lean_free_object(x_235);
-lean_dec(x_237);
-lean_dec(x_233);
-lean_dec(x_232);
-lean_dec(x_1);
-return x_234;
-}
-else
-{
-lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243;
-lean_inc(x_233);
-x_240 = l_Lean_Parser_ParserState_restore(x_234, x_232, x_233);
-lean_dec(x_232);
-x_241 = lean_unsigned_to_nat(1024u);
-x_242 = l_Lean_Parser_checkPrecFn(x_241, x_1, x_240);
-x_243 = lean_ctor_get(x_242, 3);
-lean_inc(x_243);
-if (lean_obj_tag(x_243) == 0)
-{
-lean_object* x_244; lean_object* x_245; uint8_t x_246;
-x_244 = lean_ctor_get(x_242, 0);
-lean_inc(x_244);
-x_245 = lean_array_get_size(x_244);
-lean_dec(x_244);
-x_246 = !lean_is_exclusive(x_1);
-if (x_246 == 0)
-{
-lean_object* x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_323; lean_object* x_358; lean_object* x_359;
-x_247 = lean_ctor_get(x_1, 0);
-x_248 = lean_ctor_get(x_1, 4);
-lean_dec(x_248);
-x_249 = lean_ctor_get(x_247, 2);
-lean_inc(x_249);
-x_250 = lean_ctor_get(x_242, 1);
-lean_inc(x_250);
-lean_inc(x_250);
-x_251 = l_Lean_FileMap_toPosition(x_249, x_250);
-lean_inc(x_251);
-lean_ctor_set(x_235, 0, x_251);
-lean_ctor_set(x_1, 4, x_235);
-lean_inc(x_1);
-x_358 = l_Lean_Parser_tokenFn(x_1, x_242);
-x_359 = lean_ctor_get(x_358, 3);
-lean_inc(x_359);
-if (lean_obj_tag(x_359) == 0)
-{
-lean_object* x_360; lean_object* x_361;
-x_360 = lean_ctor_get(x_358, 0);
-lean_inc(x_360);
-x_361 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_360);
-lean_dec(x_360);
-if (lean_obj_tag(x_361) == 2)
-{
-lean_object* x_362; lean_object* x_363; uint8_t x_364;
-x_362 = lean_ctor_get(x_361, 1);
-lean_inc(x_362);
-lean_dec(x_361);
-x_363 = l_Lean_Parser_Term_if___elambda__1___closed__6;
-x_364 = lean_string_dec_eq(x_362, x_363);
-lean_dec(x_362);
-if (x_364 == 0)
-{
-lean_object* x_365; lean_object* x_366;
-x_365 = l_Lean_Parser_Term_if___elambda__1___closed__19;
-x_366 = l_Lean_Parser_ParserState_mkErrorsAt(x_358, x_365, x_250);
-x_323 = x_366;
-goto block_357;
-}
-else
-{
-lean_dec(x_250);
-x_323 = x_358;
-goto block_357;
-}
-}
-else
-{
-lean_object* x_367; lean_object* x_368;
-lean_dec(x_361);
-x_367 = l_Lean_Parser_Term_if___elambda__1___closed__19;
-x_368 = l_Lean_Parser_ParserState_mkErrorsAt(x_358, x_367, x_250);
-x_323 = x_368;
-goto block_357;
-}
-}
-else
-{
-lean_object* x_369; lean_object* x_370;
-lean_dec(x_359);
-x_369 = l_Lean_Parser_Term_if___elambda__1___closed__19;
-x_370 = l_Lean_Parser_ParserState_mkErrorsAt(x_358, x_369, x_250);
-x_323 = x_370;
-goto block_357;
-}
-block_322:
-{
-lean_object* x_253;
-x_253 = lean_ctor_get(x_252, 3);
-lean_inc(x_253);
-if (lean_obj_tag(x_253) == 0)
-{
-lean_object* x_254; lean_object* x_255;
-lean_inc(x_1);
-x_254 = l_Lean_Parser_Term_doSeq___elambda__1(x_1, x_252);
-x_255 = lean_ctor_get(x_254, 3);
-lean_inc(x_255);
-if (lean_obj_tag(x_255) == 0)
-{
-lean_object* x_256; lean_object* x_257; lean_object* x_258; lean_object* x_259; lean_object* x_260; lean_object* x_261;
-x_256 = lean_ctor_get(x_254, 0);
-lean_inc(x_256);
-x_257 = lean_array_get_size(x_256);
-lean_dec(x_256);
-lean_inc(x_1);
-x_258 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doIf___elambda__1___spec__1(x_1, x_254);
-x_259 = l_Lean_nullKind;
-x_260 = l_Lean_Parser_ParserState_mkNode(x_258, x_259, x_257);
-x_261 = lean_ctor_get(x_260, 3);
-lean_inc(x_261);
-if (lean_obj_tag(x_261) == 0)
-{
-lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265; lean_object* x_286; lean_object* x_304; lean_object* x_305; lean_object* x_306; uint8_t x_307;
-x_262 = lean_ctor_get(x_260, 0);
-lean_inc(x_262);
-x_263 = lean_array_get_size(x_262);
-lean_dec(x_262);
-x_264 = lean_ctor_get(x_260, 1);
-lean_inc(x_264);
-lean_inc(x_264);
-x_304 = l_Lean_FileMap_toPosition(x_249, x_264);
-lean_dec(x_249);
-x_305 = lean_ctor_get(x_251, 1);
-lean_inc(x_305);
-lean_dec(x_251);
-x_306 = lean_ctor_get(x_304, 1);
-lean_inc(x_306);
-lean_dec(x_304);
-x_307 = lean_nat_dec_le(x_305, x_306);
-lean_dec(x_306);
-lean_dec(x_305);
-if (x_307 == 0)
-{
-lean_object* x_308; lean_object* x_309;
-x_308 = l_Lean_Parser_Term_doIf___elambda__1___closed__5;
-x_309 = l_Lean_Parser_ParserState_mkError(x_260, x_308);
-x_286 = x_309;
-goto block_303;
-}
-else
-{
-x_286 = x_260;
-goto block_303;
-}
-block_285:
-{
-lean_object* x_266;
-x_266 = lean_ctor_get(x_265, 3);
-lean_inc(x_266);
-if (lean_obj_tag(x_266) == 0)
-{
-lean_object* x_267; lean_object* x_268; lean_object* x_269; uint8_t x_270; lean_object* x_271;
-lean_dec(x_264);
-x_267 = l_Lean_Parser_ParserState_mkNode(x_265, x_259, x_263);
-x_268 = l_Lean_Parser_Term_doIf___elambda__1___closed__2;
-x_269 = l_Lean_Parser_ParserState_mkNode(x_267, x_268, x_245);
-x_270 = 1;
-x_271 = l_Lean_Parser_mergeOrElseErrors(x_269, x_237, x_233, x_270);
-lean_dec(x_233);
-return x_271;
-}
-else
-{
-lean_object* x_272; uint8_t x_273;
-lean_dec(x_266);
-x_272 = lean_ctor_get(x_265, 1);
-lean_inc(x_272);
-x_273 = lean_nat_dec_eq(x_272, x_264);
-lean_dec(x_272);
-if (x_273 == 0)
-{
-lean_object* x_274; lean_object* x_275; lean_object* x_276; uint8_t x_277; lean_object* x_278;
-lean_dec(x_264);
-x_274 = l_Lean_Parser_ParserState_mkNode(x_265, x_259, x_263);
-x_275 = l_Lean_Parser_Term_doIf___elambda__1___closed__2;
-x_276 = l_Lean_Parser_ParserState_mkNode(x_274, x_275, x_245);
-x_277 = 1;
-x_278 = l_Lean_Parser_mergeOrElseErrors(x_276, x_237, x_233, x_277);
-lean_dec(x_233);
-return x_278;
-}
-else
-{
-lean_object* x_279; lean_object* x_280; lean_object* x_281; lean_object* x_282; uint8_t x_283; lean_object* x_284;
-x_279 = l_Lean_Parser_ParserState_restore(x_265, x_263, x_264);
-x_280 = l_Lean_Parser_ParserState_mkNode(x_279, x_259, x_263);
-x_281 = l_Lean_Parser_Term_doIf___elambda__1___closed__2;
-x_282 = l_Lean_Parser_ParserState_mkNode(x_280, x_281, x_245);
-x_283 = 1;
-x_284 = l_Lean_Parser_mergeOrElseErrors(x_282, x_237, x_233, x_283);
-lean_dec(x_233);
-return x_284;
-}
-}
-}
-block_303:
-{
-lean_object* x_287;
-x_287 = lean_ctor_get(x_286, 3);
-lean_inc(x_287);
-if (lean_obj_tag(x_287) == 0)
-{
-lean_object* x_288; lean_object* x_289; lean_object* x_290;
-x_288 = lean_ctor_get(x_286, 1);
-lean_inc(x_288);
-lean_inc(x_1);
-x_289 = l_Lean_Parser_tokenFn(x_1, x_286);
-x_290 = lean_ctor_get(x_289, 3);
-lean_inc(x_290);
-if (lean_obj_tag(x_290) == 0)
-{
-lean_object* x_291; lean_object* x_292;
-x_291 = lean_ctor_get(x_289, 0);
-lean_inc(x_291);
-x_292 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_291);
-lean_dec(x_291);
-if (lean_obj_tag(x_292) == 2)
-{
-lean_object* x_293; lean_object* x_294; uint8_t x_295;
-x_293 = lean_ctor_get(x_292, 1);
-lean_inc(x_293);
-lean_dec(x_292);
-x_294 = l_Lean_Parser_Term_if___elambda__1___closed__10;
-x_295 = lean_string_dec_eq(x_293, x_294);
-lean_dec(x_293);
-if (x_295 == 0)
-{
-lean_object* x_296; lean_object* x_297;
-lean_dec(x_1);
-x_296 = l_Lean_Parser_Term_if___elambda__1___closed__13;
-x_297 = l_Lean_Parser_ParserState_mkErrorsAt(x_289, x_296, x_288);
-x_265 = x_297;
-goto block_285;
-}
-else
-{
-lean_object* x_298;
-lean_dec(x_288);
-x_298 = l_Lean_Parser_Term_doSeq___elambda__1(x_1, x_289);
-x_265 = x_298;
-goto block_285;
-}
-}
-else
-{
-lean_object* x_299; lean_object* x_300;
-lean_dec(x_292);
-lean_dec(x_1);
-x_299 = l_Lean_Parser_Term_if___elambda__1___closed__13;
-x_300 = l_Lean_Parser_ParserState_mkErrorsAt(x_289, x_299, x_288);
-x_265 = x_300;
-goto block_285;
-}
-}
-else
-{
-lean_object* x_301; lean_object* x_302;
-lean_dec(x_290);
-lean_dec(x_1);
-x_301 = l_Lean_Parser_Term_if___elambda__1___closed__13;
-x_302 = l_Lean_Parser_ParserState_mkErrorsAt(x_289, x_301, x_288);
-x_265 = x_302;
-goto block_285;
-}
-}
-else
-{
-lean_dec(x_287);
-lean_dec(x_1);
-x_265 = x_286;
-goto block_285;
-}
-}
-}
-else
-{
-lean_object* x_310; lean_object* x_311; uint8_t x_312; lean_object* x_313;
-lean_dec(x_261);
-lean_dec(x_1);
-lean_dec(x_251);
-lean_dec(x_249);
-x_310 = l_Lean_Parser_Term_doIf___elambda__1___closed__2;
-x_311 = l_Lean_Parser_ParserState_mkNode(x_260, x_310, x_245);
-x_312 = 1;
-x_313 = l_Lean_Parser_mergeOrElseErrors(x_311, x_237, x_233, x_312);
-lean_dec(x_233);
-return x_313;
-}
-}
-else
-{
-lean_object* x_314; lean_object* x_315; uint8_t x_316; lean_object* x_317;
-lean_dec(x_255);
-lean_dec(x_1);
-lean_dec(x_251);
-lean_dec(x_249);
-x_314 = l_Lean_Parser_Term_doIf___elambda__1___closed__2;
-x_315 = l_Lean_Parser_ParserState_mkNode(x_254, x_314, x_245);
-x_316 = 1;
-x_317 = l_Lean_Parser_mergeOrElseErrors(x_315, x_237, x_233, x_316);
-lean_dec(x_233);
-return x_317;
-}
-}
-else
-{
-lean_object* x_318; lean_object* x_319; uint8_t x_320; lean_object* x_321;
-lean_dec(x_253);
-lean_dec(x_1);
-lean_dec(x_251);
-lean_dec(x_249);
-x_318 = l_Lean_Parser_Term_doIf___elambda__1___closed__2;
-x_319 = l_Lean_Parser_ParserState_mkNode(x_252, x_318, x_245);
-x_320 = 1;
-x_321 = l_Lean_Parser_mergeOrElseErrors(x_319, x_237, x_233, x_320);
-lean_dec(x_233);
-return x_321;
-}
-}
-block_357:
-{
-lean_object* x_324;
-x_324 = lean_ctor_get(x_323, 3);
-lean_inc(x_324);
-if (lean_obj_tag(x_324) == 0)
-{
-lean_object* x_325; lean_object* x_326;
-lean_inc(x_1);
-x_325 = l_Lean_Parser_Term_optIdent___elambda__1(x_1, x_323);
-x_326 = lean_ctor_get(x_325, 3);
-lean_inc(x_326);
-if (lean_obj_tag(x_326) == 0)
-{
-lean_object* x_327; lean_object* x_328; lean_object* x_329; lean_object* x_330;
-x_327 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_328 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_329 = l_Lean_Parser_categoryParser___elambda__1(x_327, x_328, x_1, x_325);
-x_330 = lean_ctor_get(x_329, 3);
-lean_inc(x_330);
-if (lean_obj_tag(x_330) == 0)
-{
-lean_object* x_331; lean_object* x_332; lean_object* x_333;
-x_331 = lean_ctor_get(x_329, 1);
-lean_inc(x_331);
-lean_inc(x_1);
-x_332 = l_Lean_Parser_tokenFn(x_1, x_329);
-x_333 = lean_ctor_get(x_332, 3);
-lean_inc(x_333);
-if (lean_obj_tag(x_333) == 0)
-{
-lean_object* x_334; lean_object* x_335;
-x_334 = lean_ctor_get(x_332, 0);
-lean_inc(x_334);
-x_335 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_334);
-lean_dec(x_334);
-if (lean_obj_tag(x_335) == 2)
-{
-lean_object* x_336; lean_object* x_337; uint8_t x_338;
-x_336 = lean_ctor_get(x_335, 1);
-lean_inc(x_336);
-lean_dec(x_335);
-x_337 = l_Lean_Parser_Term_if___elambda__1___closed__8;
-x_338 = lean_string_dec_eq(x_336, x_337);
-lean_dec(x_336);
-if (x_338 == 0)
-{
-lean_object* x_339; lean_object* x_340;
-x_339 = l_Lean_Parser_Term_if___elambda__1___closed__16;
-x_340 = l_Lean_Parser_ParserState_mkErrorsAt(x_332, x_339, x_331);
-x_252 = x_340;
-goto block_322;
-}
-else
-{
-lean_dec(x_331);
-x_252 = x_332;
-goto block_322;
-}
-}
-else
-{
-lean_object* x_341; lean_object* x_342;
-lean_dec(x_335);
-x_341 = l_Lean_Parser_Term_if___elambda__1___closed__16;
-x_342 = l_Lean_Parser_ParserState_mkErrorsAt(x_332, x_341, x_331);
-x_252 = x_342;
-goto block_322;
-}
-}
-else
-{
-lean_object* x_343; lean_object* x_344;
-lean_dec(x_333);
-x_343 = l_Lean_Parser_Term_if___elambda__1___closed__16;
-x_344 = l_Lean_Parser_ParserState_mkErrorsAt(x_332, x_343, x_331);
-x_252 = x_344;
-goto block_322;
-}
-}
-else
-{
-lean_object* x_345; lean_object* x_346; uint8_t x_347; lean_object* x_348;
-lean_dec(x_330);
-lean_dec(x_1);
-lean_dec(x_251);
-lean_dec(x_249);
-x_345 = l_Lean_Parser_Term_doIf___elambda__1___closed__2;
-x_346 = l_Lean_Parser_ParserState_mkNode(x_329, x_345, x_245);
-x_347 = 1;
-x_348 = l_Lean_Parser_mergeOrElseErrors(x_346, x_237, x_233, x_347);
-lean_dec(x_233);
-return x_348;
-}
-}
-else
-{
-lean_object* x_349; lean_object* x_350; uint8_t x_351; lean_object* x_352;
-lean_dec(x_326);
-lean_dec(x_1);
-lean_dec(x_251);
-lean_dec(x_249);
-x_349 = l_Lean_Parser_Term_doIf___elambda__1___closed__2;
-x_350 = l_Lean_Parser_ParserState_mkNode(x_325, x_349, x_245);
-x_351 = 1;
-x_352 = l_Lean_Parser_mergeOrElseErrors(x_350, x_237, x_233, x_351);
-lean_dec(x_233);
-return x_352;
-}
-}
-else
-{
-lean_object* x_353; lean_object* x_354; uint8_t x_355; lean_object* x_356;
-lean_dec(x_324);
-lean_dec(x_1);
-lean_dec(x_251);
-lean_dec(x_249);
-x_353 = l_Lean_Parser_Term_doIf___elambda__1___closed__2;
-x_354 = l_Lean_Parser_ParserState_mkNode(x_323, x_353, x_245);
-x_355 = 1;
-x_356 = l_Lean_Parser_mergeOrElseErrors(x_354, x_237, x_233, x_355);
-lean_dec(x_233);
-return x_356;
-}
-}
-}
-else
-{
-lean_object* x_371; lean_object* x_372; lean_object* x_373; lean_object* x_374; uint8_t x_375; lean_object* x_376; lean_object* x_377; lean_object* x_378; lean_object* x_379; lean_object* x_380; lean_object* x_381; lean_object* x_452; lean_object* x_487; lean_object* x_488;
-x_371 = lean_ctor_get(x_1, 0);
-x_372 = lean_ctor_get(x_1, 1);
-x_373 = lean_ctor_get(x_1, 2);
-x_374 = lean_ctor_get(x_1, 3);
-x_375 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
-x_376 = lean_ctor_get(x_1, 5);
-lean_inc(x_376);
-lean_inc(x_374);
-lean_inc(x_373);
-lean_inc(x_372);
-lean_inc(x_371);
-lean_dec(x_1);
-x_377 = lean_ctor_get(x_371, 2);
-lean_inc(x_377);
-x_378 = lean_ctor_get(x_242, 1);
-lean_inc(x_378);
-lean_inc(x_378);
-x_379 = l_Lean_FileMap_toPosition(x_377, x_378);
-lean_inc(x_379);
-lean_ctor_set(x_235, 0, x_379);
-x_380 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_380, 0, x_371);
-lean_ctor_set(x_380, 1, x_372);
-lean_ctor_set(x_380, 2, x_373);
-lean_ctor_set(x_380, 3, x_374);
-lean_ctor_set(x_380, 4, x_235);
-lean_ctor_set(x_380, 5, x_376);
-lean_ctor_set_uint8(x_380, sizeof(void*)*6, x_375);
-lean_inc(x_380);
-x_487 = l_Lean_Parser_tokenFn(x_380, x_242);
-x_488 = lean_ctor_get(x_487, 3);
-lean_inc(x_488);
-if (lean_obj_tag(x_488) == 0)
-{
-lean_object* x_489; lean_object* x_490;
-x_489 = lean_ctor_get(x_487, 0);
-lean_inc(x_489);
-x_490 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_489);
-lean_dec(x_489);
-if (lean_obj_tag(x_490) == 2)
-{
-lean_object* x_491; lean_object* x_492; uint8_t x_493;
-x_491 = lean_ctor_get(x_490, 1);
-lean_inc(x_491);
-lean_dec(x_490);
-x_492 = l_Lean_Parser_Term_if___elambda__1___closed__6;
-x_493 = lean_string_dec_eq(x_491, x_492);
-lean_dec(x_491);
-if (x_493 == 0)
-{
-lean_object* x_494; lean_object* x_495;
-x_494 = l_Lean_Parser_Term_if___elambda__1___closed__19;
-x_495 = l_Lean_Parser_ParserState_mkErrorsAt(x_487, x_494, x_378);
-x_452 = x_495;
-goto block_486;
-}
-else
-{
-lean_dec(x_378);
-x_452 = x_487;
-goto block_486;
-}
-}
-else
-{
-lean_object* x_496; lean_object* x_497;
-lean_dec(x_490);
-x_496 = l_Lean_Parser_Term_if___elambda__1___closed__19;
-x_497 = l_Lean_Parser_ParserState_mkErrorsAt(x_487, x_496, x_378);
-x_452 = x_497;
-goto block_486;
-}
-}
-else
-{
-lean_object* x_498; lean_object* x_499;
-lean_dec(x_488);
-x_498 = l_Lean_Parser_Term_if___elambda__1___closed__19;
-x_499 = l_Lean_Parser_ParserState_mkErrorsAt(x_487, x_498, x_378);
-x_452 = x_499;
-goto block_486;
-}
-block_451:
-{
-lean_object* x_382;
-x_382 = lean_ctor_get(x_381, 3);
-lean_inc(x_382);
-if (lean_obj_tag(x_382) == 0)
-{
-lean_object* x_383; lean_object* x_384;
-lean_inc(x_380);
-x_383 = l_Lean_Parser_Term_doSeq___elambda__1(x_380, x_381);
-x_384 = lean_ctor_get(x_383, 3);
-lean_inc(x_384);
-if (lean_obj_tag(x_384) == 0)
-{
-lean_object* x_385; lean_object* x_386; lean_object* x_387; lean_object* x_388; lean_object* x_389; lean_object* x_390;
-x_385 = lean_ctor_get(x_383, 0);
-lean_inc(x_385);
-x_386 = lean_array_get_size(x_385);
-lean_dec(x_385);
-lean_inc(x_380);
-x_387 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doIf___elambda__1___spec__1(x_380, x_383);
-x_388 = l_Lean_nullKind;
-x_389 = l_Lean_Parser_ParserState_mkNode(x_387, x_388, x_386);
-x_390 = lean_ctor_get(x_389, 3);
-lean_inc(x_390);
-if (lean_obj_tag(x_390) == 0)
-{
-lean_object* x_391; lean_object* x_392; lean_object* x_393; lean_object* x_394; lean_object* x_415; lean_object* x_433; lean_object* x_434; lean_object* x_435; uint8_t x_436;
-x_391 = lean_ctor_get(x_389, 0);
-lean_inc(x_391);
-x_392 = lean_array_get_size(x_391);
-lean_dec(x_391);
-x_393 = lean_ctor_get(x_389, 1);
-lean_inc(x_393);
-lean_inc(x_393);
-x_433 = l_Lean_FileMap_toPosition(x_377, x_393);
-lean_dec(x_377);
-x_434 = lean_ctor_get(x_379, 1);
-lean_inc(x_434);
-lean_dec(x_379);
-x_435 = lean_ctor_get(x_433, 1);
-lean_inc(x_435);
-lean_dec(x_433);
-x_436 = lean_nat_dec_le(x_434, x_435);
-lean_dec(x_435);
-lean_dec(x_434);
-if (x_436 == 0)
-{
-lean_object* x_437; lean_object* x_438;
-x_437 = l_Lean_Parser_Term_doIf___elambda__1___closed__5;
-x_438 = l_Lean_Parser_ParserState_mkError(x_389, x_437);
-x_415 = x_438;
-goto block_432;
-}
-else
-{
-x_415 = x_389;
-goto block_432;
-}
-block_414:
-{
-lean_object* x_395;
-x_395 = lean_ctor_get(x_394, 3);
-lean_inc(x_395);
-if (lean_obj_tag(x_395) == 0)
-{
-lean_object* x_396; lean_object* x_397; lean_object* x_398; uint8_t x_399; lean_object* x_400;
-lean_dec(x_393);
-x_396 = l_Lean_Parser_ParserState_mkNode(x_394, x_388, x_392);
-x_397 = l_Lean_Parser_Term_doIf___elambda__1___closed__2;
-x_398 = l_Lean_Parser_ParserState_mkNode(x_396, x_397, x_245);
-x_399 = 1;
-x_400 = l_Lean_Parser_mergeOrElseErrors(x_398, x_237, x_233, x_399);
-lean_dec(x_233);
-return x_400;
-}
-else
-{
-lean_object* x_401; uint8_t x_402;
-lean_dec(x_395);
-x_401 = lean_ctor_get(x_394, 1);
-lean_inc(x_401);
-x_402 = lean_nat_dec_eq(x_401, x_393);
-lean_dec(x_401);
-if (x_402 == 0)
-{
-lean_object* x_403; lean_object* x_404; lean_object* x_405; uint8_t x_406; lean_object* x_407;
-lean_dec(x_393);
-x_403 = l_Lean_Parser_ParserState_mkNode(x_394, x_388, x_392);
-x_404 = l_Lean_Parser_Term_doIf___elambda__1___closed__2;
-x_405 = l_Lean_Parser_ParserState_mkNode(x_403, x_404, x_245);
-x_406 = 1;
-x_407 = l_Lean_Parser_mergeOrElseErrors(x_405, x_237, x_233, x_406);
-lean_dec(x_233);
-return x_407;
-}
-else
-{
-lean_object* x_408; lean_object* x_409; lean_object* x_410; lean_object* x_411; uint8_t x_412; lean_object* x_413;
-x_408 = l_Lean_Parser_ParserState_restore(x_394, x_392, x_393);
-x_409 = l_Lean_Parser_ParserState_mkNode(x_408, x_388, x_392);
-x_410 = l_Lean_Parser_Term_doIf___elambda__1___closed__2;
-x_411 = l_Lean_Parser_ParserState_mkNode(x_409, x_410, x_245);
-x_412 = 1;
-x_413 = l_Lean_Parser_mergeOrElseErrors(x_411, x_237, x_233, x_412);
-lean_dec(x_233);
-return x_413;
-}
-}
-}
-block_432:
-{
-lean_object* x_416;
-x_416 = lean_ctor_get(x_415, 3);
-lean_inc(x_416);
-if (lean_obj_tag(x_416) == 0)
-{
-lean_object* x_417; lean_object* x_418; lean_object* x_419;
-x_417 = lean_ctor_get(x_415, 1);
-lean_inc(x_417);
-lean_inc(x_380);
-x_418 = l_Lean_Parser_tokenFn(x_380, x_415);
-x_419 = lean_ctor_get(x_418, 3);
-lean_inc(x_419);
-if (lean_obj_tag(x_419) == 0)
-{
-lean_object* x_420; lean_object* x_421;
-x_420 = lean_ctor_get(x_418, 0);
-lean_inc(x_420);
-x_421 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_420);
-lean_dec(x_420);
-if (lean_obj_tag(x_421) == 2)
-{
-lean_object* x_422; lean_object* x_423; uint8_t x_424;
-x_422 = lean_ctor_get(x_421, 1);
-lean_inc(x_422);
-lean_dec(x_421);
-x_423 = l_Lean_Parser_Term_if___elambda__1___closed__10;
-x_424 = lean_string_dec_eq(x_422, x_423);
-lean_dec(x_422);
-if (x_424 == 0)
-{
-lean_object* x_425; lean_object* x_426;
-lean_dec(x_380);
-x_425 = l_Lean_Parser_Term_if___elambda__1___closed__13;
-x_426 = l_Lean_Parser_ParserState_mkErrorsAt(x_418, x_425, x_417);
-x_394 = x_426;
-goto block_414;
-}
-else
-{
-lean_object* x_427;
-lean_dec(x_417);
-x_427 = l_Lean_Parser_Term_doSeq___elambda__1(x_380, x_418);
-x_394 = x_427;
-goto block_414;
-}
-}
-else
-{
-lean_object* x_428; lean_object* x_429;
-lean_dec(x_421);
-lean_dec(x_380);
-x_428 = l_Lean_Parser_Term_if___elambda__1___closed__13;
-x_429 = l_Lean_Parser_ParserState_mkErrorsAt(x_418, x_428, x_417);
-x_394 = x_429;
-goto block_414;
-}
-}
-else
-{
-lean_object* x_430; lean_object* x_431;
-lean_dec(x_419);
-lean_dec(x_380);
-x_430 = l_Lean_Parser_Term_if___elambda__1___closed__13;
-x_431 = l_Lean_Parser_ParserState_mkErrorsAt(x_418, x_430, x_417);
-x_394 = x_431;
-goto block_414;
-}
-}
-else
-{
-lean_dec(x_416);
-lean_dec(x_380);
-x_394 = x_415;
-goto block_414;
-}
-}
-}
-else
-{
-lean_object* x_439; lean_object* x_440; uint8_t x_441; lean_object* x_442;
-lean_dec(x_390);
-lean_dec(x_380);
-lean_dec(x_379);
-lean_dec(x_377);
-x_439 = l_Lean_Parser_Term_doIf___elambda__1___closed__2;
-x_440 = l_Lean_Parser_ParserState_mkNode(x_389, x_439, x_245);
-x_441 = 1;
-x_442 = l_Lean_Parser_mergeOrElseErrors(x_440, x_237, x_233, x_441);
-lean_dec(x_233);
-return x_442;
-}
-}
-else
-{
-lean_object* x_443; lean_object* x_444; uint8_t x_445; lean_object* x_446;
-lean_dec(x_384);
-lean_dec(x_380);
-lean_dec(x_379);
-lean_dec(x_377);
-x_443 = l_Lean_Parser_Term_doIf___elambda__1___closed__2;
-x_444 = l_Lean_Parser_ParserState_mkNode(x_383, x_443, x_245);
-x_445 = 1;
-x_446 = l_Lean_Parser_mergeOrElseErrors(x_444, x_237, x_233, x_445);
-lean_dec(x_233);
-return x_446;
-}
-}
-else
-{
-lean_object* x_447; lean_object* x_448; uint8_t x_449; lean_object* x_450;
-lean_dec(x_382);
-lean_dec(x_380);
-lean_dec(x_379);
-lean_dec(x_377);
-x_447 = l_Lean_Parser_Term_doIf___elambda__1___closed__2;
-x_448 = l_Lean_Parser_ParserState_mkNode(x_381, x_447, x_245);
-x_449 = 1;
-x_450 = l_Lean_Parser_mergeOrElseErrors(x_448, x_237, x_233, x_449);
-lean_dec(x_233);
-return x_450;
-}
-}
-block_486:
-{
-lean_object* x_453;
-x_453 = lean_ctor_get(x_452, 3);
-lean_inc(x_453);
-if (lean_obj_tag(x_453) == 0)
-{
-lean_object* x_454; lean_object* x_455;
-lean_inc(x_380);
-x_454 = l_Lean_Parser_Term_optIdent___elambda__1(x_380, x_452);
-x_455 = lean_ctor_get(x_454, 3);
-lean_inc(x_455);
-if (lean_obj_tag(x_455) == 0)
-{
-lean_object* x_456; lean_object* x_457; lean_object* x_458; lean_object* x_459;
-x_456 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_457 = lean_unsigned_to_nat(0u);
-lean_inc(x_380);
-x_458 = l_Lean_Parser_categoryParser___elambda__1(x_456, x_457, x_380, x_454);
-x_459 = lean_ctor_get(x_458, 3);
-lean_inc(x_459);
-if (lean_obj_tag(x_459) == 0)
-{
-lean_object* x_460; lean_object* x_461; lean_object* x_462;
-x_460 = lean_ctor_get(x_458, 1);
-lean_inc(x_460);
-lean_inc(x_380);
-x_461 = l_Lean_Parser_tokenFn(x_380, x_458);
-x_462 = lean_ctor_get(x_461, 3);
-lean_inc(x_462);
-if (lean_obj_tag(x_462) == 0)
-{
-lean_object* x_463; lean_object* x_464;
-x_463 = lean_ctor_get(x_461, 0);
-lean_inc(x_463);
-x_464 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_463);
-lean_dec(x_463);
-if (lean_obj_tag(x_464) == 2)
-{
-lean_object* x_465; lean_object* x_466; uint8_t x_467;
-x_465 = lean_ctor_get(x_464, 1);
-lean_inc(x_465);
-lean_dec(x_464);
-x_466 = l_Lean_Parser_Term_if___elambda__1___closed__8;
-x_467 = lean_string_dec_eq(x_465, x_466);
-lean_dec(x_465);
-if (x_467 == 0)
-{
-lean_object* x_468; lean_object* x_469;
-x_468 = l_Lean_Parser_Term_if___elambda__1___closed__16;
-x_469 = l_Lean_Parser_ParserState_mkErrorsAt(x_461, x_468, x_460);
-x_381 = x_469;
-goto block_451;
-}
-else
-{
-lean_dec(x_460);
-x_381 = x_461;
-goto block_451;
-}
-}
-else
-{
-lean_object* x_470; lean_object* x_471;
-lean_dec(x_464);
-x_470 = l_Lean_Parser_Term_if___elambda__1___closed__16;
-x_471 = l_Lean_Parser_ParserState_mkErrorsAt(x_461, x_470, x_460);
-x_381 = x_471;
-goto block_451;
-}
-}
-else
-{
-lean_object* x_472; lean_object* x_473;
-lean_dec(x_462);
-x_472 = l_Lean_Parser_Term_if___elambda__1___closed__16;
-x_473 = l_Lean_Parser_ParserState_mkErrorsAt(x_461, x_472, x_460);
-x_381 = x_473;
-goto block_451;
-}
-}
-else
-{
-lean_object* x_474; lean_object* x_475; uint8_t x_476; lean_object* x_477;
-lean_dec(x_459);
-lean_dec(x_380);
-lean_dec(x_379);
-lean_dec(x_377);
-x_474 = l_Lean_Parser_Term_doIf___elambda__1___closed__2;
-x_475 = l_Lean_Parser_ParserState_mkNode(x_458, x_474, x_245);
-x_476 = 1;
-x_477 = l_Lean_Parser_mergeOrElseErrors(x_475, x_237, x_233, x_476);
-lean_dec(x_233);
-return x_477;
-}
-}
-else
-{
-lean_object* x_478; lean_object* x_479; uint8_t x_480; lean_object* x_481;
-lean_dec(x_455);
-lean_dec(x_380);
-lean_dec(x_379);
-lean_dec(x_377);
-x_478 = l_Lean_Parser_Term_doIf___elambda__1___closed__2;
-x_479 = l_Lean_Parser_ParserState_mkNode(x_454, x_478, x_245);
-x_480 = 1;
-x_481 = l_Lean_Parser_mergeOrElseErrors(x_479, x_237, x_233, x_480);
-lean_dec(x_233);
-return x_481;
-}
-}
-else
-{
-lean_object* x_482; lean_object* x_483; uint8_t x_484; lean_object* x_485;
-lean_dec(x_453);
-lean_dec(x_380);
-lean_dec(x_379);
-lean_dec(x_377);
-x_482 = l_Lean_Parser_Term_doIf___elambda__1___closed__2;
-x_483 = l_Lean_Parser_ParserState_mkNode(x_452, x_482, x_245);
-x_484 = 1;
-x_485 = l_Lean_Parser_mergeOrElseErrors(x_483, x_237, x_233, x_484);
-lean_dec(x_233);
-return x_485;
-}
-}
-}
-}
-else
-{
-uint8_t x_500; lean_object* x_501;
-lean_dec(x_243);
-lean_free_object(x_235);
-lean_dec(x_1);
-x_500 = 1;
-x_501 = l_Lean_Parser_mergeOrElseErrors(x_242, x_237, x_233, x_500);
-lean_dec(x_233);
-return x_501;
-}
-}
-}
-else
-{
-lean_object* x_502; lean_object* x_503; uint8_t x_504;
-x_502 = lean_ctor_get(x_235, 0);
-lean_inc(x_502);
-lean_dec(x_235);
-x_503 = lean_ctor_get(x_234, 1);
-lean_inc(x_503);
-x_504 = lean_nat_dec_eq(x_503, x_233);
-lean_dec(x_503);
-if (x_504 == 0)
-{
-lean_dec(x_502);
-lean_dec(x_233);
-lean_dec(x_232);
-lean_dec(x_1);
-return x_234;
-}
-else
-{
-lean_object* x_505; lean_object* x_506; lean_object* x_507; lean_object* x_508;
-lean_inc(x_233);
-x_505 = l_Lean_Parser_ParserState_restore(x_234, x_232, x_233);
-lean_dec(x_232);
-x_506 = lean_unsigned_to_nat(1024u);
-x_507 = l_Lean_Parser_checkPrecFn(x_506, x_1, x_505);
-x_508 = lean_ctor_get(x_507, 3);
-lean_inc(x_508);
-if (lean_obj_tag(x_508) == 0)
-{
-lean_object* x_509; lean_object* x_510; lean_object* x_511; lean_object* x_512; lean_object* x_513; lean_object* x_514; uint8_t x_515; lean_object* x_516; lean_object* x_517; lean_object* x_518; lean_object* x_519; lean_object* x_520; lean_object* x_521; lean_object* x_522; lean_object* x_523; lean_object* x_594; lean_object* x_629; lean_object* x_630;
-x_509 = lean_ctor_get(x_507, 0);
-lean_inc(x_509);
-x_510 = lean_array_get_size(x_509);
-lean_dec(x_509);
-x_511 = lean_ctor_get(x_1, 0);
-lean_inc(x_511);
-x_512 = lean_ctor_get(x_1, 1);
-lean_inc(x_512);
-x_513 = lean_ctor_get(x_1, 2);
-lean_inc(x_513);
-x_514 = lean_ctor_get(x_1, 3);
-lean_inc(x_514);
-x_515 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
-x_516 = lean_ctor_get(x_1, 5);
-lean_inc(x_516);
-if (lean_is_exclusive(x_1)) {
- lean_ctor_release(x_1, 0);
- lean_ctor_release(x_1, 1);
- lean_ctor_release(x_1, 2);
- lean_ctor_release(x_1, 3);
- lean_ctor_release(x_1, 4);
- lean_ctor_release(x_1, 5);
- x_517 = x_1;
-} else {
- lean_dec_ref(x_1);
- x_517 = lean_box(0);
-}
-x_518 = lean_ctor_get(x_511, 2);
-lean_inc(x_518);
-x_519 = lean_ctor_get(x_507, 1);
-lean_inc(x_519);
-lean_inc(x_519);
-x_520 = l_Lean_FileMap_toPosition(x_518, x_519);
-lean_inc(x_520);
-x_521 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_521, 0, x_520);
-if (lean_is_scalar(x_517)) {
- x_522 = lean_alloc_ctor(0, 6, 1);
-} else {
- x_522 = x_517;
-}
-lean_ctor_set(x_522, 0, x_511);
-lean_ctor_set(x_522, 1, x_512);
-lean_ctor_set(x_522, 2, x_513);
-lean_ctor_set(x_522, 3, x_514);
-lean_ctor_set(x_522, 4, x_521);
-lean_ctor_set(x_522, 5, x_516);
-lean_ctor_set_uint8(x_522, sizeof(void*)*6, x_515);
-lean_inc(x_522);
-x_629 = l_Lean_Parser_tokenFn(x_522, x_507);
-x_630 = lean_ctor_get(x_629, 3);
-lean_inc(x_630);
-if (lean_obj_tag(x_630) == 0)
-{
-lean_object* x_631; lean_object* x_632;
-x_631 = lean_ctor_get(x_629, 0);
-lean_inc(x_631);
-x_632 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_631);
-lean_dec(x_631);
-if (lean_obj_tag(x_632) == 2)
-{
-lean_object* x_633; lean_object* x_634; uint8_t x_635;
-x_633 = lean_ctor_get(x_632, 1);
-lean_inc(x_633);
-lean_dec(x_632);
-x_634 = l_Lean_Parser_Term_if___elambda__1___closed__6;
-x_635 = lean_string_dec_eq(x_633, x_634);
-lean_dec(x_633);
-if (x_635 == 0)
-{
-lean_object* x_636; lean_object* x_637;
-x_636 = l_Lean_Parser_Term_if___elambda__1___closed__19;
-x_637 = l_Lean_Parser_ParserState_mkErrorsAt(x_629, x_636, x_519);
-x_594 = x_637;
-goto block_628;
-}
-else
-{
-lean_dec(x_519);
-x_594 = x_629;
-goto block_628;
-}
-}
-else
-{
-lean_object* x_638; lean_object* x_639;
-lean_dec(x_632);
-x_638 = l_Lean_Parser_Term_if___elambda__1___closed__19;
-x_639 = l_Lean_Parser_ParserState_mkErrorsAt(x_629, x_638, x_519);
-x_594 = x_639;
-goto block_628;
-}
-}
-else
-{
-lean_object* x_640; lean_object* x_641;
-lean_dec(x_630);
-x_640 = l_Lean_Parser_Term_if___elambda__1___closed__19;
-x_641 = l_Lean_Parser_ParserState_mkErrorsAt(x_629, x_640, x_519);
-x_594 = x_641;
-goto block_628;
-}
-block_593:
-{
-lean_object* x_524;
-x_524 = lean_ctor_get(x_523, 3);
-lean_inc(x_524);
-if (lean_obj_tag(x_524) == 0)
-{
-lean_object* x_525; lean_object* x_526;
-lean_inc(x_522);
-x_525 = l_Lean_Parser_Term_doSeq___elambda__1(x_522, x_523);
-x_526 = lean_ctor_get(x_525, 3);
-lean_inc(x_526);
-if (lean_obj_tag(x_526) == 0)
-{
-lean_object* x_527; lean_object* x_528; lean_object* x_529; lean_object* x_530; lean_object* x_531; lean_object* x_532;
-x_527 = lean_ctor_get(x_525, 0);
-lean_inc(x_527);
-x_528 = lean_array_get_size(x_527);
-lean_dec(x_527);
-lean_inc(x_522);
-x_529 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doIf___elambda__1___spec__1(x_522, x_525);
-x_530 = l_Lean_nullKind;
-x_531 = l_Lean_Parser_ParserState_mkNode(x_529, x_530, x_528);
-x_532 = lean_ctor_get(x_531, 3);
-lean_inc(x_532);
-if (lean_obj_tag(x_532) == 0)
-{
-lean_object* x_533; lean_object* x_534; lean_object* x_535; lean_object* x_536; lean_object* x_557; lean_object* x_575; lean_object* x_576; lean_object* x_577; uint8_t x_578;
-x_533 = lean_ctor_get(x_531, 0);
-lean_inc(x_533);
-x_534 = lean_array_get_size(x_533);
-lean_dec(x_533);
-x_535 = lean_ctor_get(x_531, 1);
-lean_inc(x_535);
-lean_inc(x_535);
-x_575 = l_Lean_FileMap_toPosition(x_518, x_535);
-lean_dec(x_518);
-x_576 = lean_ctor_get(x_520, 1);
-lean_inc(x_576);
-lean_dec(x_520);
-x_577 = lean_ctor_get(x_575, 1);
-lean_inc(x_577);
-lean_dec(x_575);
-x_578 = lean_nat_dec_le(x_576, x_577);
-lean_dec(x_577);
-lean_dec(x_576);
-if (x_578 == 0)
-{
-lean_object* x_579; lean_object* x_580;
-x_579 = l_Lean_Parser_Term_doIf___elambda__1___closed__5;
-x_580 = l_Lean_Parser_ParserState_mkError(x_531, x_579);
-x_557 = x_580;
-goto block_574;
-}
-else
-{
-x_557 = x_531;
-goto block_574;
-}
-block_556:
-{
-lean_object* x_537;
-x_537 = lean_ctor_get(x_536, 3);
-lean_inc(x_537);
-if (lean_obj_tag(x_537) == 0)
-{
-lean_object* x_538; lean_object* x_539; lean_object* x_540; uint8_t x_541; lean_object* x_542;
-lean_dec(x_535);
-x_538 = l_Lean_Parser_ParserState_mkNode(x_536, x_530, x_534);
-x_539 = l_Lean_Parser_Term_doIf___elambda__1___closed__2;
-x_540 = l_Lean_Parser_ParserState_mkNode(x_538, x_539, x_510);
-x_541 = 1;
-x_542 = l_Lean_Parser_mergeOrElseErrors(x_540, x_502, x_233, x_541);
-lean_dec(x_233);
-return x_542;
-}
-else
-{
-lean_object* x_543; uint8_t x_544;
-lean_dec(x_537);
-x_543 = lean_ctor_get(x_536, 1);
-lean_inc(x_543);
-x_544 = lean_nat_dec_eq(x_543, x_535);
-lean_dec(x_543);
-if (x_544 == 0)
-{
-lean_object* x_545; lean_object* x_546; lean_object* x_547; uint8_t x_548; lean_object* x_549;
-lean_dec(x_535);
-x_545 = l_Lean_Parser_ParserState_mkNode(x_536, x_530, x_534);
-x_546 = l_Lean_Parser_Term_doIf___elambda__1___closed__2;
-x_547 = l_Lean_Parser_ParserState_mkNode(x_545, x_546, x_510);
-x_548 = 1;
-x_549 = l_Lean_Parser_mergeOrElseErrors(x_547, x_502, x_233, x_548);
-lean_dec(x_233);
-return x_549;
-}
-else
-{
-lean_object* x_550; lean_object* x_551; lean_object* x_552; lean_object* x_553; uint8_t x_554; lean_object* x_555;
-x_550 = l_Lean_Parser_ParserState_restore(x_536, x_534, x_535);
-x_551 = l_Lean_Parser_ParserState_mkNode(x_550, x_530, x_534);
-x_552 = l_Lean_Parser_Term_doIf___elambda__1___closed__2;
-x_553 = l_Lean_Parser_ParserState_mkNode(x_551, x_552, x_510);
-x_554 = 1;
-x_555 = l_Lean_Parser_mergeOrElseErrors(x_553, x_502, x_233, x_554);
-lean_dec(x_233);
-return x_555;
-}
-}
-}
-block_574:
-{
-lean_object* x_558;
-x_558 = lean_ctor_get(x_557, 3);
-lean_inc(x_558);
-if (lean_obj_tag(x_558) == 0)
-{
-lean_object* x_559; lean_object* x_560; lean_object* x_561;
-x_559 = lean_ctor_get(x_557, 1);
-lean_inc(x_559);
-lean_inc(x_522);
-x_560 = l_Lean_Parser_tokenFn(x_522, x_557);
-x_561 = lean_ctor_get(x_560, 3);
-lean_inc(x_561);
-if (lean_obj_tag(x_561) == 0)
-{
-lean_object* x_562; lean_object* x_563;
-x_562 = lean_ctor_get(x_560, 0);
-lean_inc(x_562);
-x_563 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_562);
-lean_dec(x_562);
-if (lean_obj_tag(x_563) == 2)
-{
-lean_object* x_564; lean_object* x_565; uint8_t x_566;
-x_564 = lean_ctor_get(x_563, 1);
-lean_inc(x_564);
-lean_dec(x_563);
-x_565 = l_Lean_Parser_Term_if___elambda__1___closed__10;
-x_566 = lean_string_dec_eq(x_564, x_565);
-lean_dec(x_564);
-if (x_566 == 0)
-{
-lean_object* x_567; lean_object* x_568;
-lean_dec(x_522);
-x_567 = l_Lean_Parser_Term_if___elambda__1___closed__13;
-x_568 = l_Lean_Parser_ParserState_mkErrorsAt(x_560, x_567, x_559);
-x_536 = x_568;
-goto block_556;
-}
-else
-{
-lean_object* x_569;
-lean_dec(x_559);
-x_569 = l_Lean_Parser_Term_doSeq___elambda__1(x_522, x_560);
-x_536 = x_569;
-goto block_556;
-}
-}
-else
-{
-lean_object* x_570; lean_object* x_571;
-lean_dec(x_563);
-lean_dec(x_522);
-x_570 = l_Lean_Parser_Term_if___elambda__1___closed__13;
-x_571 = l_Lean_Parser_ParserState_mkErrorsAt(x_560, x_570, x_559);
-x_536 = x_571;
-goto block_556;
-}
-}
-else
-{
-lean_object* x_572; lean_object* x_573;
-lean_dec(x_561);
-lean_dec(x_522);
-x_572 = l_Lean_Parser_Term_if___elambda__1___closed__13;
-x_573 = l_Lean_Parser_ParserState_mkErrorsAt(x_560, x_572, x_559);
-x_536 = x_573;
-goto block_556;
-}
-}
-else
-{
-lean_dec(x_558);
-lean_dec(x_522);
-x_536 = x_557;
-goto block_556;
-}
-}
-}
-else
-{
-lean_object* x_581; lean_object* x_582; uint8_t x_583; lean_object* x_584;
-lean_dec(x_532);
-lean_dec(x_522);
-lean_dec(x_520);
-lean_dec(x_518);
-x_581 = l_Lean_Parser_Term_doIf___elambda__1___closed__2;
-x_582 = l_Lean_Parser_ParserState_mkNode(x_531, x_581, x_510);
-x_583 = 1;
-x_584 = l_Lean_Parser_mergeOrElseErrors(x_582, x_502, x_233, x_583);
-lean_dec(x_233);
-return x_584;
-}
-}
-else
-{
-lean_object* x_585; lean_object* x_586; uint8_t x_587; lean_object* x_588;
-lean_dec(x_526);
-lean_dec(x_522);
-lean_dec(x_520);
-lean_dec(x_518);
-x_585 = l_Lean_Parser_Term_doIf___elambda__1___closed__2;
-x_586 = l_Lean_Parser_ParserState_mkNode(x_525, x_585, x_510);
-x_587 = 1;
-x_588 = l_Lean_Parser_mergeOrElseErrors(x_586, x_502, x_233, x_587);
-lean_dec(x_233);
-return x_588;
-}
-}
-else
-{
-lean_object* x_589; lean_object* x_590; uint8_t x_591; lean_object* x_592;
-lean_dec(x_524);
-lean_dec(x_522);
-lean_dec(x_520);
-lean_dec(x_518);
-x_589 = l_Lean_Parser_Term_doIf___elambda__1___closed__2;
-x_590 = l_Lean_Parser_ParserState_mkNode(x_523, x_589, x_510);
-x_591 = 1;
-x_592 = l_Lean_Parser_mergeOrElseErrors(x_590, x_502, x_233, x_591);
-lean_dec(x_233);
-return x_592;
-}
-}
-block_628:
-{
-lean_object* x_595;
-x_595 = lean_ctor_get(x_594, 3);
-lean_inc(x_595);
-if (lean_obj_tag(x_595) == 0)
-{
-lean_object* x_596; lean_object* x_597;
-lean_inc(x_522);
-x_596 = l_Lean_Parser_Term_optIdent___elambda__1(x_522, x_594);
-x_597 = lean_ctor_get(x_596, 3);
-lean_inc(x_597);
-if (lean_obj_tag(x_597) == 0)
-{
-lean_object* x_598; lean_object* x_599; lean_object* x_600; lean_object* x_601;
-x_598 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_599 = lean_unsigned_to_nat(0u);
-lean_inc(x_522);
-x_600 = l_Lean_Parser_categoryParser___elambda__1(x_598, x_599, x_522, x_596);
-x_601 = lean_ctor_get(x_600, 3);
-lean_inc(x_601);
-if (lean_obj_tag(x_601) == 0)
-{
-lean_object* x_602; lean_object* x_603; lean_object* x_604;
-x_602 = lean_ctor_get(x_600, 1);
-lean_inc(x_602);
-lean_inc(x_522);
-x_603 = l_Lean_Parser_tokenFn(x_522, x_600);
-x_604 = lean_ctor_get(x_603, 3);
-lean_inc(x_604);
-if (lean_obj_tag(x_604) == 0)
-{
-lean_object* x_605; lean_object* x_606;
-x_605 = lean_ctor_get(x_603, 0);
-lean_inc(x_605);
-x_606 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_605);
-lean_dec(x_605);
-if (lean_obj_tag(x_606) == 2)
-{
-lean_object* x_607; lean_object* x_608; uint8_t x_609;
-x_607 = lean_ctor_get(x_606, 1);
-lean_inc(x_607);
-lean_dec(x_606);
-x_608 = l_Lean_Parser_Term_if___elambda__1___closed__8;
-x_609 = lean_string_dec_eq(x_607, x_608);
-lean_dec(x_607);
-if (x_609 == 0)
-{
-lean_object* x_610; lean_object* x_611;
-x_610 = l_Lean_Parser_Term_if___elambda__1___closed__16;
-x_611 = l_Lean_Parser_ParserState_mkErrorsAt(x_603, x_610, x_602);
-x_523 = x_611;
-goto block_593;
-}
-else
-{
-lean_dec(x_602);
-x_523 = x_603;
-goto block_593;
-}
-}
-else
-{
-lean_object* x_612; lean_object* x_613;
-lean_dec(x_606);
-x_612 = l_Lean_Parser_Term_if___elambda__1___closed__16;
-x_613 = l_Lean_Parser_ParserState_mkErrorsAt(x_603, x_612, x_602);
-x_523 = x_613;
-goto block_593;
-}
-}
-else
-{
-lean_object* x_614; lean_object* x_615;
-lean_dec(x_604);
-x_614 = l_Lean_Parser_Term_if___elambda__1___closed__16;
-x_615 = l_Lean_Parser_ParserState_mkErrorsAt(x_603, x_614, x_602);
-x_523 = x_615;
-goto block_593;
-}
-}
-else
-{
-lean_object* x_616; lean_object* x_617; uint8_t x_618; lean_object* x_619;
-lean_dec(x_601);
-lean_dec(x_522);
-lean_dec(x_520);
-lean_dec(x_518);
-x_616 = l_Lean_Parser_Term_doIf___elambda__1___closed__2;
-x_617 = l_Lean_Parser_ParserState_mkNode(x_600, x_616, x_510);
-x_618 = 1;
-x_619 = l_Lean_Parser_mergeOrElseErrors(x_617, x_502, x_233, x_618);
-lean_dec(x_233);
-return x_619;
-}
-}
-else
-{
-lean_object* x_620; lean_object* x_621; uint8_t x_622; lean_object* x_623;
-lean_dec(x_597);
-lean_dec(x_522);
-lean_dec(x_520);
-lean_dec(x_518);
-x_620 = l_Lean_Parser_Term_doIf___elambda__1___closed__2;
-x_621 = l_Lean_Parser_ParserState_mkNode(x_596, x_620, x_510);
-x_622 = 1;
-x_623 = l_Lean_Parser_mergeOrElseErrors(x_621, x_502, x_233, x_622);
-lean_dec(x_233);
-return x_623;
-}
-}
-else
-{
-lean_object* x_624; lean_object* x_625; uint8_t x_626; lean_object* x_627;
-lean_dec(x_595);
-lean_dec(x_522);
-lean_dec(x_520);
-lean_dec(x_518);
-x_624 = l_Lean_Parser_Term_doIf___elambda__1___closed__2;
-x_625 = l_Lean_Parser_ParserState_mkNode(x_594, x_624, x_510);
-x_626 = 1;
-x_627 = l_Lean_Parser_mergeOrElseErrors(x_625, x_502, x_233, x_626);
-lean_dec(x_233);
-return x_627;
-}
-}
-}
-else
-{
-uint8_t x_642; lean_object* x_643;
-lean_dec(x_508);
-lean_dec(x_1);
-x_642 = 1;
-x_643 = l_Lean_Parser_mergeOrElseErrors(x_507, x_502, x_233, x_642);
-lean_dec(x_233);
-return x_643;
-}
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Term_doIf___closed__1() {
_start:
{
@@ -14648,11 +7327,21 @@ x_1 = l_Lean_Parser_Term_doIf___closed__21;
return x_1;
}
}
+lean_object* l_Lean_Parser_Term_doIf___elambda__1___lambda__1___boxed(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) {
+_start:
+{
+lean_object* x_8;
+x_8 = l_Lean_Parser_Term_doIf___elambda__1___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7);
+lean_dec(x_3);
+lean_dec(x_1);
+return x_8;
+}
+}
lean_object* l___regBuiltinParser_Lean_Parser_Term_doIf(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_2 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4;
+x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__4;
x_3 = l_Lean_Parser_Term_doIf___elambda__1___closed__2;
x_4 = 1;
x_5 = l_Lean_Parser_Term_doIf;
@@ -15677,6 +8366,112 @@ x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1);
return x_5;
}
}
+static lean_object* _init_l_Lean_Parser_Term_doUnless___elambda__1___lambda__1___closed__1() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__9;
+x_2 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_2, 0, x_1);
+return x_2;
+}
+}
+lean_object* l_Lean_Parser_Term_doUnless___elambda__1___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+uint8_t x_4;
+x_4 = !lean_is_exclusive(x_2);
+if (x_4 == 0)
+{
+lean_object* x_5; lean_object* x_6; uint8_t x_7;
+x_5 = lean_ctor_get(x_2, 0);
+x_6 = lean_ctor_get(x_2, 5);
+lean_dec(x_6);
+x_7 = !lean_is_exclusive(x_5);
+if (x_7 == 0)
+{
+lean_object* x_8; lean_object* x_9; lean_object* x_10;
+x_8 = l_Lean_Parser_Term_doUnless___elambda__1___lambda__1___closed__1;
+lean_ctor_set(x_2, 5, x_8);
+x_9 = lean_unsigned_to_nat(0u);
+x_10 = l_Lean_Parser_categoryParser___elambda__1(x_1, x_9, x_2, x_3);
+return x_10;
+}
+else
+{
+lean_object* 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;
+x_11 = lean_ctor_get(x_5, 0);
+x_12 = lean_ctor_get(x_5, 1);
+x_13 = lean_ctor_get(x_5, 2);
+lean_inc(x_13);
+lean_inc(x_12);
+lean_inc(x_11);
+lean_dec(x_5);
+x_14 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_14, 0, x_11);
+lean_ctor_set(x_14, 1, x_12);
+lean_ctor_set(x_14, 2, x_13);
+x_15 = l_Lean_Parser_Term_doUnless___elambda__1___lambda__1___closed__1;
+lean_ctor_set(x_2, 5, x_15);
+lean_ctor_set(x_2, 0, x_14);
+x_16 = lean_unsigned_to_nat(0u);
+x_17 = l_Lean_Parser_categoryParser___elambda__1(x_1, x_16, x_2, x_3);
+return x_17;
+}
+}
+else
+{
+lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; uint8_t 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;
+x_18 = lean_ctor_get(x_2, 0);
+x_19 = lean_ctor_get(x_2, 1);
+x_20 = lean_ctor_get(x_2, 2);
+x_21 = lean_ctor_get(x_2, 3);
+x_22 = lean_ctor_get_uint8(x_2, sizeof(void*)*6);
+x_23 = lean_ctor_get(x_2, 4);
+lean_inc(x_23);
+lean_inc(x_21);
+lean_inc(x_20);
+lean_inc(x_19);
+lean_inc(x_18);
+lean_dec(x_2);
+x_24 = lean_ctor_get(x_18, 0);
+lean_inc(x_24);
+x_25 = lean_ctor_get(x_18, 1);
+lean_inc(x_25);
+x_26 = lean_ctor_get(x_18, 2);
+lean_inc(x_26);
+if (lean_is_exclusive(x_18)) {
+ lean_ctor_release(x_18, 0);
+ lean_ctor_release(x_18, 1);
+ lean_ctor_release(x_18, 2);
+ x_27 = x_18;
+} else {
+ lean_dec_ref(x_18);
+ x_27 = lean_box(0);
+}
+if (lean_is_scalar(x_27)) {
+ x_28 = lean_alloc_ctor(0, 3, 0);
+} else {
+ x_28 = x_27;
+}
+lean_ctor_set(x_28, 0, x_24);
+lean_ctor_set(x_28, 1, x_25);
+lean_ctor_set(x_28, 2, x_26);
+x_29 = l_Lean_Parser_Term_doUnless___elambda__1___lambda__1___closed__1;
+x_30 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_30, 0, x_28);
+lean_ctor_set(x_30, 1, x_19);
+lean_ctor_set(x_30, 2, x_20);
+lean_ctor_set(x_30, 3, x_21);
+lean_ctor_set(x_30, 4, x_23);
+lean_ctor_set(x_30, 5, x_29);
+lean_ctor_set_uint8(x_30, sizeof(void*)*6, x_22);
+x_31 = lean_unsigned_to_nat(0u);
+x_32 = l_Lean_Parser_categoryParser___elambda__1(x_1, x_31, x_30, x_3);
+return x_32;
+}
+}
+}
static lean_object* _init_l_Lean_Parser_Term_doUnless___elambda__1___closed__1() {
_start:
{
@@ -15736,59 +8531,59 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_doUnless___elambda__1___closed__7() {
_start:
{
-lean_object* x_1;
-x_1 = lean_mk_string("do ");
-return x_1;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_doUnless___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_doUnless___elambda__1___closed__8() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Term_doUnless___elambda__1___closed__7;
-x_2 = l_String_trim(x_1);
+x_1 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_Term_doUnless___elambda__1___lambda__1), 3, 1);
+lean_closure_set(x_2, 0, x_1);
return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_doUnless___elambda__1___closed__9() {
_start:
{
-lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__5;
-x_2 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_2, 0, x_1);
-return x_2;
+lean_object* x_1;
+x_1 = lean_mk_string("do ");
+return x_1;
}
}
static lean_object* _init_l_Lean_Parser_Term_doUnless___elambda__1___closed__10() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_doUnless___elambda__1___closed__8;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_doUnless___elambda__1___closed__9;
+x_2 = l_String_trim(x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_doUnless___elambda__1___closed__11() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
+lean_object* x_1; lean_object* x_2;
x_1 = l_Lean_Parser_Term_doUnless___elambda__1___closed__10;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_doUnless___elambda__1___closed__12() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Term_doUnless___elambda__1___closed__11;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_1 = l_Lean_Parser_Term_doUnless___elambda__1___closed__11;
+x_2 = l_Lean_Parser_Term_doSeq___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -15796,9 +8591,11 @@ static lean_object* _init_l_Lean_Parser_Term_doUnless___elambda__1___closed__13(
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_doUnless___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Term_doUnless___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_doUnless___elambda__1___closed__12;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -15806,9 +8603,11 @@ static lean_object* _init_l_Lean_Parser_Term_doUnless___elambda__1___closed__14(
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_doUnless___elambda__1___closed__13;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Term_doUnless___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Term_doUnless___elambda__1___closed__13;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -15816,492 +8615,39 @@ static lean_object* _init_l_Lean_Parser_Term_doUnless___elambda__1___closed__15(
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Term_doUnless___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_doUnless___elambda__1___closed__14;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doUnless___elambda__1___closed__16() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_doUnless___elambda__1___closed__15;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
lean_object* l_Lean_Parser_Term_doUnless___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Term_doUnless___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_53; lean_object* x_54; lean_object* x_55;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_53 = lean_ctor_get(x_7, 1);
-lean_inc(x_53);
-lean_inc(x_1);
-x_54 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_55 = lean_ctor_get(x_54, 3);
-lean_inc(x_55);
-if (lean_obj_tag(x_55) == 0)
-{
-lean_object* x_56; lean_object* x_57;
-x_56 = lean_ctor_get(x_54, 0);
-lean_inc(x_56);
-x_57 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_56);
-lean_dec(x_56);
-if (lean_obj_tag(x_57) == 2)
-{
-lean_object* x_58; lean_object* x_59; uint8_t x_60;
-x_58 = lean_ctor_get(x_57, 1);
-lean_inc(x_58);
-lean_dec(x_57);
-x_59 = l_Lean_Parser_Term_doUnless___elambda__1___closed__6;
-x_60 = lean_string_dec_eq(x_58, x_59);
-lean_dec(x_58);
-if (x_60 == 0)
-{
-lean_object* x_61; lean_object* x_62;
-x_61 = l_Lean_Parser_Term_doUnless___elambda__1___closed__15;
-x_62 = l_Lean_Parser_ParserState_mkErrorsAt(x_54, x_61, x_53);
-x_11 = x_62;
-goto block_52;
-}
-else
-{
-lean_dec(x_53);
-x_11 = x_54;
-goto block_52;
-}
-}
-else
-{
-lean_object* x_63; lean_object* x_64;
-lean_dec(x_57);
-x_63 = l_Lean_Parser_Term_doUnless___elambda__1___closed__15;
-x_64 = l_Lean_Parser_ParserState_mkErrorsAt(x_54, x_63, x_53);
-x_11 = x_64;
-goto block_52;
-}
-}
-else
-{
-lean_object* x_65; lean_object* x_66;
-lean_dec(x_55);
-x_65 = l_Lean_Parser_Term_doUnless___elambda__1___closed__15;
-x_66 = l_Lean_Parser_ParserState_mkErrorsAt(x_54, x_65, x_53);
-x_11 = x_66;
-goto block_52;
-}
-block_52:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t 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;
-x_13 = lean_ctor_get(x_1, 0);
-lean_inc(x_13);
-x_14 = lean_ctor_get(x_1, 1);
-lean_inc(x_14);
-x_15 = lean_ctor_get(x_1, 2);
-lean_inc(x_15);
-x_16 = lean_ctor_get(x_1, 3);
-lean_inc(x_16);
-x_17 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
-x_18 = lean_ctor_get(x_1, 4);
-lean_inc(x_18);
-x_19 = l_Lean_Parser_Term_doUnless___elambda__1___closed__9;
-x_20 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_20, 0, x_13);
-lean_ctor_set(x_20, 1, x_14);
-lean_ctor_set(x_20, 2, x_15);
-lean_ctor_set(x_20, 3, x_16);
-lean_ctor_set(x_20, 4, x_18);
-lean_ctor_set(x_20, 5, x_19);
-lean_ctor_set_uint8(x_20, sizeof(void*)*6, x_17);
-x_21 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_22 = lean_unsigned_to_nat(0u);
-x_23 = l_Lean_Parser_categoryParser___elambda__1(x_21, x_22, x_20, x_11);
-x_24 = lean_ctor_get(x_23, 3);
-lean_inc(x_24);
-if (lean_obj_tag(x_24) == 0)
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27;
-x_25 = lean_ctor_get(x_23, 1);
-lean_inc(x_25);
-lean_inc(x_1);
-x_26 = l_Lean_Parser_tokenFn(x_1, x_23);
-x_27 = lean_ctor_get(x_26, 3);
-lean_inc(x_27);
-if (lean_obj_tag(x_27) == 0)
-{
-lean_object* x_28; lean_object* x_29;
-x_28 = lean_ctor_get(x_26, 0);
-lean_inc(x_28);
-x_29 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_28);
-lean_dec(x_28);
-if (lean_obj_tag(x_29) == 2)
-{
-lean_object* x_30; lean_object* x_31; uint8_t x_32;
-x_30 = lean_ctor_get(x_29, 1);
-lean_inc(x_30);
-lean_dec(x_29);
-x_31 = l_Lean_Parser_Term_doUnless___elambda__1___closed__8;
-x_32 = lean_string_dec_eq(x_30, x_31);
-lean_dec(x_30);
-if (x_32 == 0)
-{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36;
-lean_dec(x_1);
-x_33 = l_Lean_Parser_Term_doUnless___elambda__1___closed__12;
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_26, x_33, x_25);
-x_35 = l_Lean_Parser_Term_doUnless___elambda__1___closed__2;
-x_36 = l_Lean_Parser_ParserState_mkNode(x_34, x_35, x_10);
-return x_36;
-}
-else
-{
-lean_object* x_37; lean_object* x_38; lean_object* x_39;
-lean_dec(x_25);
-x_37 = l_Lean_Parser_Term_doSeq___elambda__1(x_1, x_26);
-x_38 = l_Lean_Parser_Term_doUnless___elambda__1___closed__2;
-x_39 = l_Lean_Parser_ParserState_mkNode(x_37, x_38, x_10);
-return x_39;
-}
-}
-else
-{
-lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43;
-lean_dec(x_29);
-lean_dec(x_1);
-x_40 = l_Lean_Parser_Term_doUnless___elambda__1___closed__12;
-x_41 = l_Lean_Parser_ParserState_mkErrorsAt(x_26, x_40, x_25);
-x_42 = l_Lean_Parser_Term_doUnless___elambda__1___closed__2;
-x_43 = l_Lean_Parser_ParserState_mkNode(x_41, x_42, x_10);
-return x_43;
-}
-}
-else
-{
-lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47;
-lean_dec(x_27);
-lean_dec(x_1);
-x_44 = l_Lean_Parser_Term_doUnless___elambda__1___closed__12;
-x_45 = l_Lean_Parser_ParserState_mkErrorsAt(x_26, x_44, x_25);
-x_46 = l_Lean_Parser_Term_doUnless___elambda__1___closed__2;
-x_47 = l_Lean_Parser_ParserState_mkNode(x_45, x_46, x_10);
-return x_47;
-}
-}
-else
-{
-lean_object* x_48; lean_object* x_49;
-lean_dec(x_24);
-lean_dec(x_1);
-x_48 = l_Lean_Parser_Term_doUnless___elambda__1___closed__2;
-x_49 = l_Lean_Parser_ParserState_mkNode(x_23, x_48, x_10);
-return x_49;
-}
-}
-else
-{
-lean_object* x_50; lean_object* x_51;
-lean_dec(x_12);
-lean_dec(x_1);
-x_50 = l_Lean_Parser_Term_doUnless___elambda__1___closed__2;
-x_51 = l_Lean_Parser_ParserState_mkNode(x_11, x_50, x_10);
-return x_51;
-}
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Term_doUnless___elambda__1___closed__16;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71;
-x_67 = lean_ctor_get(x_2, 0);
-lean_inc(x_67);
-x_68 = lean_array_get_size(x_67);
-lean_dec(x_67);
-x_69 = lean_ctor_get(x_2, 1);
-lean_inc(x_69);
-lean_inc(x_1);
-x_70 = lean_apply_2(x_4, x_1, x_2);
-x_71 = lean_ctor_get(x_70, 3);
-lean_inc(x_71);
-if (lean_obj_tag(x_71) == 0)
-{
-lean_dec(x_69);
-lean_dec(x_68);
-lean_dec(x_1);
-return x_70;
-}
-else
-{
-lean_object* x_72; lean_object* x_73; uint8_t x_74;
-x_72 = lean_ctor_get(x_71, 0);
-lean_inc(x_72);
-lean_dec(x_71);
-x_73 = lean_ctor_get(x_70, 1);
-lean_inc(x_73);
-x_74 = lean_nat_dec_eq(x_73, x_69);
-lean_dec(x_73);
-if (x_74 == 0)
-{
-lean_dec(x_72);
-lean_dec(x_69);
-lean_dec(x_68);
-lean_dec(x_1);
-return x_70;
-}
-else
-{
-lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78;
-lean_inc(x_69);
-x_75 = l_Lean_Parser_ParserState_restore(x_70, x_68, x_69);
-lean_dec(x_68);
-x_76 = lean_unsigned_to_nat(1024u);
-x_77 = l_Lean_Parser_checkPrecFn(x_76, x_1, x_75);
-x_78 = lean_ctor_get(x_77, 3);
-lean_inc(x_78);
-if (lean_obj_tag(x_78) == 0)
-{
-lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_135; lean_object* x_136; lean_object* x_137;
-x_79 = lean_ctor_get(x_77, 0);
-lean_inc(x_79);
-x_80 = lean_array_get_size(x_79);
-lean_dec(x_79);
-x_135 = lean_ctor_get(x_77, 1);
-lean_inc(x_135);
-lean_inc(x_1);
-x_136 = l_Lean_Parser_tokenFn(x_1, x_77);
-x_137 = lean_ctor_get(x_136, 3);
-lean_inc(x_137);
-if (lean_obj_tag(x_137) == 0)
-{
-lean_object* x_138; lean_object* x_139;
-x_138 = lean_ctor_get(x_136, 0);
-lean_inc(x_138);
-x_139 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_138);
-lean_dec(x_138);
-if (lean_obj_tag(x_139) == 2)
-{
-lean_object* x_140; lean_object* x_141; uint8_t x_142;
-x_140 = lean_ctor_get(x_139, 1);
-lean_inc(x_140);
-lean_dec(x_139);
-x_141 = l_Lean_Parser_Term_doUnless___elambda__1___closed__6;
-x_142 = lean_string_dec_eq(x_140, x_141);
-lean_dec(x_140);
-if (x_142 == 0)
-{
-lean_object* x_143; lean_object* x_144;
-x_143 = l_Lean_Parser_Term_doUnless___elambda__1___closed__15;
-x_144 = l_Lean_Parser_ParserState_mkErrorsAt(x_136, x_143, x_135);
-x_81 = x_144;
-goto block_134;
-}
-else
-{
-lean_dec(x_135);
-x_81 = x_136;
-goto block_134;
-}
-}
-else
-{
-lean_object* x_145; lean_object* x_146;
-lean_dec(x_139);
-x_145 = l_Lean_Parser_Term_doUnless___elambda__1___closed__15;
-x_146 = l_Lean_Parser_ParserState_mkErrorsAt(x_136, x_145, x_135);
-x_81 = x_146;
-goto block_134;
-}
-}
-else
-{
-lean_object* x_147; lean_object* x_148;
-lean_dec(x_137);
-x_147 = l_Lean_Parser_Term_doUnless___elambda__1___closed__15;
-x_148 = l_Lean_Parser_ParserState_mkErrorsAt(x_136, x_147, x_135);
-x_81 = x_148;
-goto block_134;
-}
-block_134:
-{
-lean_object* x_82;
-x_82 = lean_ctor_get(x_81, 3);
-lean_inc(x_82);
-if (lean_obj_tag(x_82) == 0)
-{
-lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; uint8_t 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;
-x_83 = lean_ctor_get(x_1, 0);
-lean_inc(x_83);
-x_84 = lean_ctor_get(x_1, 1);
-lean_inc(x_84);
-x_85 = lean_ctor_get(x_1, 2);
-lean_inc(x_85);
-x_86 = lean_ctor_get(x_1, 3);
-lean_inc(x_86);
-x_87 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
-x_88 = lean_ctor_get(x_1, 4);
-lean_inc(x_88);
-x_89 = l_Lean_Parser_Term_doUnless___elambda__1___closed__9;
-x_90 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_90, 0, x_83);
-lean_ctor_set(x_90, 1, x_84);
-lean_ctor_set(x_90, 2, x_85);
-lean_ctor_set(x_90, 3, x_86);
-lean_ctor_set(x_90, 4, x_88);
-lean_ctor_set(x_90, 5, x_89);
-lean_ctor_set_uint8(x_90, sizeof(void*)*6, x_87);
-x_91 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_92 = lean_unsigned_to_nat(0u);
-x_93 = l_Lean_Parser_categoryParser___elambda__1(x_91, x_92, x_90, x_81);
-x_94 = lean_ctor_get(x_93, 3);
-lean_inc(x_94);
-if (lean_obj_tag(x_94) == 0)
-{
-lean_object* x_95; lean_object* x_96; lean_object* x_97;
-x_95 = lean_ctor_get(x_93, 1);
-lean_inc(x_95);
-lean_inc(x_1);
-x_96 = l_Lean_Parser_tokenFn(x_1, x_93);
-x_97 = lean_ctor_get(x_96, 3);
-lean_inc(x_97);
-if (lean_obj_tag(x_97) == 0)
-{
-lean_object* x_98; lean_object* x_99;
-x_98 = lean_ctor_get(x_96, 0);
-lean_inc(x_98);
-x_99 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_98);
-lean_dec(x_98);
-if (lean_obj_tag(x_99) == 2)
-{
-lean_object* x_100; lean_object* x_101; uint8_t x_102;
-x_100 = lean_ctor_get(x_99, 1);
-lean_inc(x_100);
-lean_dec(x_99);
-x_101 = l_Lean_Parser_Term_doUnless___elambda__1___closed__8;
-x_102 = lean_string_dec_eq(x_100, x_101);
-lean_dec(x_100);
-if (x_102 == 0)
-{
-lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; uint8_t x_107; lean_object* x_108;
-lean_dec(x_1);
-x_103 = l_Lean_Parser_Term_doUnless___elambda__1___closed__12;
-x_104 = l_Lean_Parser_ParserState_mkErrorsAt(x_96, x_103, x_95);
-x_105 = l_Lean_Parser_Term_doUnless___elambda__1___closed__2;
-x_106 = l_Lean_Parser_ParserState_mkNode(x_104, x_105, x_80);
-x_107 = 1;
-x_108 = l_Lean_Parser_mergeOrElseErrors(x_106, x_72, x_69, x_107);
-lean_dec(x_69);
-return x_108;
-}
-else
-{
-lean_object* x_109; lean_object* x_110; lean_object* x_111; uint8_t x_112; lean_object* x_113;
-lean_dec(x_95);
-x_109 = l_Lean_Parser_Term_doSeq___elambda__1(x_1, x_96);
-x_110 = l_Lean_Parser_Term_doUnless___elambda__1___closed__2;
-x_111 = l_Lean_Parser_ParserState_mkNode(x_109, x_110, x_80);
-x_112 = 1;
-x_113 = l_Lean_Parser_mergeOrElseErrors(x_111, x_72, x_69, x_112);
-lean_dec(x_69);
-return x_113;
-}
-}
-else
-{
-lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; uint8_t x_118; lean_object* x_119;
-lean_dec(x_99);
-lean_dec(x_1);
-x_114 = l_Lean_Parser_Term_doUnless___elambda__1___closed__12;
-x_115 = l_Lean_Parser_ParserState_mkErrorsAt(x_96, x_114, x_95);
-x_116 = l_Lean_Parser_Term_doUnless___elambda__1___closed__2;
-x_117 = l_Lean_Parser_ParserState_mkNode(x_115, x_116, x_80);
-x_118 = 1;
-x_119 = l_Lean_Parser_mergeOrElseErrors(x_117, x_72, x_69, x_118);
-lean_dec(x_69);
-return x_119;
-}
-}
-else
-{
-lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; uint8_t x_124; lean_object* x_125;
-lean_dec(x_97);
-lean_dec(x_1);
-x_120 = l_Lean_Parser_Term_doUnless___elambda__1___closed__12;
-x_121 = l_Lean_Parser_ParserState_mkErrorsAt(x_96, x_120, x_95);
-x_122 = l_Lean_Parser_Term_doUnless___elambda__1___closed__2;
-x_123 = l_Lean_Parser_ParserState_mkNode(x_121, x_122, x_80);
-x_124 = 1;
-x_125 = l_Lean_Parser_mergeOrElseErrors(x_123, x_72, x_69, x_124);
-lean_dec(x_69);
-return x_125;
-}
-}
-else
-{
-lean_object* x_126; lean_object* x_127; uint8_t x_128; lean_object* x_129;
-lean_dec(x_94);
-lean_dec(x_1);
-x_126 = l_Lean_Parser_Term_doUnless___elambda__1___closed__2;
-x_127 = l_Lean_Parser_ParserState_mkNode(x_93, x_126, x_80);
-x_128 = 1;
-x_129 = l_Lean_Parser_mergeOrElseErrors(x_127, x_72, x_69, x_128);
-lean_dec(x_69);
-return x_129;
-}
-}
-else
-{
-lean_object* x_130; lean_object* x_131; uint8_t x_132; lean_object* x_133;
-lean_dec(x_82);
-lean_dec(x_1);
-x_130 = l_Lean_Parser_Term_doUnless___elambda__1___closed__2;
-x_131 = l_Lean_Parser_ParserState_mkNode(x_81, x_130, x_80);
-x_132 = 1;
-x_133 = l_Lean_Parser_mergeOrElseErrors(x_131, x_72, x_69, x_132);
-lean_dec(x_69);
-return x_133;
-}
-}
-}
-else
-{
-uint8_t x_149; lean_object* x_150;
-lean_dec(x_78);
-lean_dec(x_1);
-x_149 = 1;
-x_150 = l_Lean_Parser_mergeOrElseErrors(x_77, x_72, x_69, x_149);
-lean_dec(x_69);
-return x_150;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Term_doUnless___closed__1() {
_start:
{
@@ -16315,7 +8661,7 @@ static lean_object* _init_l_Lean_Parser_Term_doUnless___closed__2() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Term_doUnless___elambda__1___closed__8;
+x_1 = l_Lean_Parser_Term_doUnless___elambda__1___closed__10;
x_2 = l_Lean_Parser_symbolInfo(x_1);
return x_2;
}
@@ -16418,7 +8764,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Term_doUnless(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_2 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4;
+x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__4;
x_3 = l_Lean_Parser_Term_doUnless___elambda__1___closed__2;
x_4 = 1;
x_5 = l_Lean_Parser_Term_doUnless;
@@ -16466,7 +8812,7 @@ static lean_object* _init_l_Lean_Parser_Term_doUnless_formatter___closed__4() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Term_doUnless___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Term_doUnless___elambda__1___closed__9;
x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_symbol_formatter___boxed), 6, 1);
lean_closure_set(x_2, 0, x_1);
return x_2;
@@ -16700,49 +9046,49 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_doFor___elambda__1___closed__7() {
_start:
{
-lean_object* x_1;
-x_1 = lean_mk_string(" in ");
-return x_1;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_doFor___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_doFor___elambda__1___closed__8() {
_start:
{
-lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Term_doFor___elambda__1___closed__7;
-x_2 = l_String_trim(x_1);
-return x_2;
+lean_object* x_1;
+x_1 = lean_mk_string(" in ");
+return x_1;
}
}
static lean_object* _init_l_Lean_Parser_Term_doFor___elambda__1___closed__9() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_doFor___elambda__1___closed__8;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_doFor___elambda__1___closed__8;
+x_2 = l_String_trim(x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_doFor___elambda__1___closed__10() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
+lean_object* x_1; lean_object* x_2;
x_1 = l_Lean_Parser_Term_doFor___elambda__1___closed__9;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_doFor___elambda__1___closed__11() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Term_doFor___elambda__1___closed__10;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_1 = l_Lean_Parser_Term_doFor___elambda__1___closed__10;
+x_2 = l_Lean_Parser_Term_doUnless___elambda__1___closed__13;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -16750,9 +9096,11 @@ static lean_object* _init_l_Lean_Parser_Term_doFor___elambda__1___closed__12() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_doFor___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_2 = l_Lean_Parser_Term_doFor___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -16760,9 +9108,11 @@ static lean_object* _init_l_Lean_Parser_Term_doFor___elambda__1___closed__13() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_doFor___elambda__1___closed__12;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Term_doFor___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Term_doFor___elambda__1___closed__12;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -16770,686 +9120,39 @@ static lean_object* _init_l_Lean_Parser_Term_doFor___elambda__1___closed__14() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Term_doFor___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_doFor___elambda__1___closed__13;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doFor___elambda__1___closed__15() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_doFor___elambda__1___closed__14;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
lean_object* l_Lean_Parser_Term_doFor___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Term_doFor___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_53; lean_object* x_78; lean_object* x_79; lean_object* x_80;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_78 = lean_ctor_get(x_7, 1);
-lean_inc(x_78);
-lean_inc(x_1);
-x_79 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_80 = lean_ctor_get(x_79, 3);
-lean_inc(x_80);
-if (lean_obj_tag(x_80) == 0)
-{
-lean_object* x_81; lean_object* x_82;
-x_81 = lean_ctor_get(x_79, 0);
-lean_inc(x_81);
-x_82 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_81);
-lean_dec(x_81);
-if (lean_obj_tag(x_82) == 2)
-{
-lean_object* x_83; lean_object* x_84; uint8_t x_85;
-x_83 = lean_ctor_get(x_82, 1);
-lean_inc(x_83);
-lean_dec(x_82);
-x_84 = l_Lean_Parser_Term_doFor___elambda__1___closed__6;
-x_85 = lean_string_dec_eq(x_83, x_84);
-lean_dec(x_83);
-if (x_85 == 0)
-{
-lean_object* x_86; lean_object* x_87;
-x_86 = l_Lean_Parser_Term_doFor___elambda__1___closed__14;
-x_87 = l_Lean_Parser_ParserState_mkErrorsAt(x_79, x_86, x_78);
-x_53 = x_87;
-goto block_77;
-}
-else
-{
-lean_dec(x_78);
-x_53 = x_79;
-goto block_77;
-}
-}
-else
-{
-lean_object* x_88; lean_object* x_89;
-lean_dec(x_82);
-x_88 = l_Lean_Parser_Term_doFor___elambda__1___closed__14;
-x_89 = l_Lean_Parser_ParserState_mkErrorsAt(x_79, x_88, x_78);
-x_53 = x_89;
-goto block_77;
-}
-}
-else
-{
-lean_object* x_90; lean_object* x_91;
-lean_dec(x_80);
-x_90 = l_Lean_Parser_Term_doFor___elambda__1___closed__14;
-x_91 = l_Lean_Parser_ParserState_mkErrorsAt(x_79, x_90, x_78);
-x_53 = x_91;
-goto block_77;
-}
-block_52:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t 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;
-x_13 = lean_ctor_get(x_1, 0);
-lean_inc(x_13);
-x_14 = lean_ctor_get(x_1, 1);
-lean_inc(x_14);
-x_15 = lean_ctor_get(x_1, 2);
-lean_inc(x_15);
-x_16 = lean_ctor_get(x_1, 3);
-lean_inc(x_16);
-x_17 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
-x_18 = lean_ctor_get(x_1, 4);
-lean_inc(x_18);
-x_19 = l_Lean_Parser_Term_doUnless___elambda__1___closed__9;
-x_20 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_20, 0, x_13);
-lean_ctor_set(x_20, 1, x_14);
-lean_ctor_set(x_20, 2, x_15);
-lean_ctor_set(x_20, 3, x_16);
-lean_ctor_set(x_20, 4, x_18);
-lean_ctor_set(x_20, 5, x_19);
-lean_ctor_set_uint8(x_20, sizeof(void*)*6, x_17);
-x_21 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_22 = lean_unsigned_to_nat(0u);
-x_23 = l_Lean_Parser_categoryParser___elambda__1(x_21, x_22, x_20, x_11);
-x_24 = lean_ctor_get(x_23, 3);
-lean_inc(x_24);
-if (lean_obj_tag(x_24) == 0)
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27;
-x_25 = lean_ctor_get(x_23, 1);
-lean_inc(x_25);
-lean_inc(x_1);
-x_26 = l_Lean_Parser_tokenFn(x_1, x_23);
-x_27 = lean_ctor_get(x_26, 3);
-lean_inc(x_27);
-if (lean_obj_tag(x_27) == 0)
-{
-lean_object* x_28; lean_object* x_29;
-x_28 = lean_ctor_get(x_26, 0);
-lean_inc(x_28);
-x_29 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_28);
-lean_dec(x_28);
-if (lean_obj_tag(x_29) == 2)
-{
-lean_object* x_30; lean_object* x_31; uint8_t x_32;
-x_30 = lean_ctor_get(x_29, 1);
-lean_inc(x_30);
-lean_dec(x_29);
-x_31 = l_Lean_Parser_Term_doUnless___elambda__1___closed__8;
-x_32 = lean_string_dec_eq(x_30, x_31);
-lean_dec(x_30);
-if (x_32 == 0)
-{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36;
-lean_dec(x_1);
-x_33 = l_Lean_Parser_Term_doUnless___elambda__1___closed__12;
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_26, x_33, x_25);
-x_35 = l_Lean_Parser_Term_doFor___elambda__1___closed__2;
-x_36 = l_Lean_Parser_ParserState_mkNode(x_34, x_35, x_10);
-return x_36;
-}
-else
-{
-lean_object* x_37; lean_object* x_38; lean_object* x_39;
-lean_dec(x_25);
-x_37 = l_Lean_Parser_Term_doSeq___elambda__1(x_1, x_26);
-x_38 = l_Lean_Parser_Term_doFor___elambda__1___closed__2;
-x_39 = l_Lean_Parser_ParserState_mkNode(x_37, x_38, x_10);
-return x_39;
-}
-}
-else
-{
-lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43;
-lean_dec(x_29);
-lean_dec(x_1);
-x_40 = l_Lean_Parser_Term_doUnless___elambda__1___closed__12;
-x_41 = l_Lean_Parser_ParserState_mkErrorsAt(x_26, x_40, x_25);
-x_42 = l_Lean_Parser_Term_doFor___elambda__1___closed__2;
-x_43 = l_Lean_Parser_ParserState_mkNode(x_41, x_42, x_10);
-return x_43;
-}
-}
-else
-{
-lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47;
-lean_dec(x_27);
-lean_dec(x_1);
-x_44 = l_Lean_Parser_Term_doUnless___elambda__1___closed__12;
-x_45 = l_Lean_Parser_ParserState_mkErrorsAt(x_26, x_44, x_25);
-x_46 = l_Lean_Parser_Term_doFor___elambda__1___closed__2;
-x_47 = l_Lean_Parser_ParserState_mkNode(x_45, x_46, x_10);
-return x_47;
-}
-}
-else
-{
-lean_object* x_48; lean_object* x_49;
-lean_dec(x_24);
-lean_dec(x_1);
-x_48 = l_Lean_Parser_Term_doFor___elambda__1___closed__2;
-x_49 = l_Lean_Parser_ParserState_mkNode(x_23, x_48, x_10);
-return x_49;
-}
-}
-else
-{
-lean_object* x_50; lean_object* x_51;
-lean_dec(x_12);
-lean_dec(x_1);
-x_50 = l_Lean_Parser_Term_doFor___elambda__1___closed__2;
-x_51 = l_Lean_Parser_ParserState_mkNode(x_11, x_50, x_10);
-return x_51;
-}
-}
-block_77:
-{
-lean_object* x_54;
-x_54 = lean_ctor_get(x_53, 3);
-lean_inc(x_54);
-if (lean_obj_tag(x_54) == 0)
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58;
-x_55 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_56 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_57 = l_Lean_Parser_categoryParser___elambda__1(x_55, x_56, x_1, x_53);
-x_58 = lean_ctor_get(x_57, 3);
-lean_inc(x_58);
-if (lean_obj_tag(x_58) == 0)
-{
-lean_object* x_59; lean_object* x_60; lean_object* x_61;
-x_59 = lean_ctor_get(x_57, 1);
-lean_inc(x_59);
-lean_inc(x_1);
-x_60 = l_Lean_Parser_tokenFn(x_1, x_57);
-x_61 = lean_ctor_get(x_60, 3);
-lean_inc(x_61);
-if (lean_obj_tag(x_61) == 0)
-{
-lean_object* x_62; lean_object* x_63;
-x_62 = lean_ctor_get(x_60, 0);
-lean_inc(x_62);
-x_63 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_62);
-lean_dec(x_62);
-if (lean_obj_tag(x_63) == 2)
-{
-lean_object* x_64; lean_object* x_65; uint8_t x_66;
-x_64 = lean_ctor_get(x_63, 1);
-lean_inc(x_64);
-lean_dec(x_63);
-x_65 = l_Lean_Parser_Term_doFor___elambda__1___closed__8;
-x_66 = lean_string_dec_eq(x_64, x_65);
-lean_dec(x_64);
-if (x_66 == 0)
-{
-lean_object* x_67; lean_object* x_68;
-x_67 = l_Lean_Parser_Term_doFor___elambda__1___closed__11;
-x_68 = l_Lean_Parser_ParserState_mkErrorsAt(x_60, x_67, x_59);
-x_11 = x_68;
-goto block_52;
-}
-else
-{
-lean_dec(x_59);
-x_11 = x_60;
-goto block_52;
-}
-}
-else
-{
-lean_object* x_69; lean_object* x_70;
-lean_dec(x_63);
-x_69 = l_Lean_Parser_Term_doFor___elambda__1___closed__11;
-x_70 = l_Lean_Parser_ParserState_mkErrorsAt(x_60, x_69, x_59);
-x_11 = x_70;
-goto block_52;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72;
-lean_dec(x_61);
-x_71 = l_Lean_Parser_Term_doFor___elambda__1___closed__11;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_60, x_71, x_59);
-x_11 = x_72;
-goto block_52;
-}
-}
-else
-{
-lean_object* x_73; lean_object* x_74;
-lean_dec(x_58);
-lean_dec(x_1);
-x_73 = l_Lean_Parser_Term_doFor___elambda__1___closed__2;
-x_74 = l_Lean_Parser_ParserState_mkNode(x_57, x_73, x_10);
-return x_74;
-}
-}
-else
-{
-lean_object* x_75; lean_object* x_76;
-lean_dec(x_54);
-lean_dec(x_1);
-x_75 = l_Lean_Parser_Term_doFor___elambda__1___closed__2;
-x_76 = l_Lean_Parser_ParserState_mkNode(x_53, x_75, x_10);
-return x_76;
-}
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Term_doFor___elambda__1___closed__15;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96;
-x_92 = lean_ctor_get(x_2, 0);
-lean_inc(x_92);
-x_93 = lean_array_get_size(x_92);
-lean_dec(x_92);
-x_94 = lean_ctor_get(x_2, 1);
-lean_inc(x_94);
-lean_inc(x_1);
-x_95 = lean_apply_2(x_4, x_1, x_2);
-x_96 = lean_ctor_get(x_95, 3);
-lean_inc(x_96);
-if (lean_obj_tag(x_96) == 0)
-{
-lean_dec(x_94);
-lean_dec(x_93);
-lean_dec(x_1);
-return x_95;
-}
-else
-{
-lean_object* x_97; lean_object* x_98; uint8_t x_99;
-x_97 = lean_ctor_get(x_96, 0);
-lean_inc(x_97);
-lean_dec(x_96);
-x_98 = lean_ctor_get(x_95, 1);
-lean_inc(x_98);
-x_99 = lean_nat_dec_eq(x_98, x_94);
-lean_dec(x_98);
-if (x_99 == 0)
-{
-lean_dec(x_97);
-lean_dec(x_94);
-lean_dec(x_93);
-lean_dec(x_1);
-return x_95;
-}
-else
-{
-lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103;
-lean_inc(x_94);
-x_100 = l_Lean_Parser_ParserState_restore(x_95, x_93, x_94);
-lean_dec(x_93);
-x_101 = lean_unsigned_to_nat(1024u);
-x_102 = l_Lean_Parser_checkPrecFn(x_101, x_1, x_100);
-x_103 = lean_ctor_get(x_102, 3);
-lean_inc(x_103);
-if (lean_obj_tag(x_103) == 0)
-{
-lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_160; lean_object* x_189; lean_object* x_190; lean_object* x_191;
-x_104 = lean_ctor_get(x_102, 0);
-lean_inc(x_104);
-x_105 = lean_array_get_size(x_104);
-lean_dec(x_104);
-x_189 = lean_ctor_get(x_102, 1);
-lean_inc(x_189);
-lean_inc(x_1);
-x_190 = l_Lean_Parser_tokenFn(x_1, x_102);
-x_191 = lean_ctor_get(x_190, 3);
-lean_inc(x_191);
-if (lean_obj_tag(x_191) == 0)
-{
-lean_object* x_192; lean_object* x_193;
-x_192 = lean_ctor_get(x_190, 0);
-lean_inc(x_192);
-x_193 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_192);
-lean_dec(x_192);
-if (lean_obj_tag(x_193) == 2)
-{
-lean_object* x_194; lean_object* x_195; uint8_t x_196;
-x_194 = lean_ctor_get(x_193, 1);
-lean_inc(x_194);
-lean_dec(x_193);
-x_195 = l_Lean_Parser_Term_doFor___elambda__1___closed__6;
-x_196 = lean_string_dec_eq(x_194, x_195);
-lean_dec(x_194);
-if (x_196 == 0)
-{
-lean_object* x_197; lean_object* x_198;
-x_197 = l_Lean_Parser_Term_doFor___elambda__1___closed__14;
-x_198 = l_Lean_Parser_ParserState_mkErrorsAt(x_190, x_197, x_189);
-x_160 = x_198;
-goto block_188;
-}
-else
-{
-lean_dec(x_189);
-x_160 = x_190;
-goto block_188;
-}
-}
-else
-{
-lean_object* x_199; lean_object* x_200;
-lean_dec(x_193);
-x_199 = l_Lean_Parser_Term_doFor___elambda__1___closed__14;
-x_200 = l_Lean_Parser_ParserState_mkErrorsAt(x_190, x_199, x_189);
-x_160 = x_200;
-goto block_188;
-}
-}
-else
-{
-lean_object* x_201; lean_object* x_202;
-lean_dec(x_191);
-x_201 = l_Lean_Parser_Term_doFor___elambda__1___closed__14;
-x_202 = l_Lean_Parser_ParserState_mkErrorsAt(x_190, x_201, x_189);
-x_160 = x_202;
-goto block_188;
-}
-block_159:
-{
-lean_object* x_107;
-x_107 = lean_ctor_get(x_106, 3);
-lean_inc(x_107);
-if (lean_obj_tag(x_107) == 0)
-{
-lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; uint8_t 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;
-x_108 = lean_ctor_get(x_1, 0);
-lean_inc(x_108);
-x_109 = lean_ctor_get(x_1, 1);
-lean_inc(x_109);
-x_110 = lean_ctor_get(x_1, 2);
-lean_inc(x_110);
-x_111 = lean_ctor_get(x_1, 3);
-lean_inc(x_111);
-x_112 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
-x_113 = lean_ctor_get(x_1, 4);
-lean_inc(x_113);
-x_114 = l_Lean_Parser_Term_doUnless___elambda__1___closed__9;
-x_115 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_115, 0, x_108);
-lean_ctor_set(x_115, 1, x_109);
-lean_ctor_set(x_115, 2, x_110);
-lean_ctor_set(x_115, 3, x_111);
-lean_ctor_set(x_115, 4, x_113);
-lean_ctor_set(x_115, 5, x_114);
-lean_ctor_set_uint8(x_115, sizeof(void*)*6, x_112);
-x_116 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_117 = lean_unsigned_to_nat(0u);
-x_118 = l_Lean_Parser_categoryParser___elambda__1(x_116, x_117, x_115, x_106);
-x_119 = lean_ctor_get(x_118, 3);
-lean_inc(x_119);
-if (lean_obj_tag(x_119) == 0)
-{
-lean_object* x_120; lean_object* x_121; lean_object* x_122;
-x_120 = lean_ctor_get(x_118, 1);
-lean_inc(x_120);
-lean_inc(x_1);
-x_121 = l_Lean_Parser_tokenFn(x_1, x_118);
-x_122 = lean_ctor_get(x_121, 3);
-lean_inc(x_122);
-if (lean_obj_tag(x_122) == 0)
-{
-lean_object* x_123; lean_object* x_124;
-x_123 = lean_ctor_get(x_121, 0);
-lean_inc(x_123);
-x_124 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_123);
-lean_dec(x_123);
-if (lean_obj_tag(x_124) == 2)
-{
-lean_object* x_125; lean_object* x_126; uint8_t x_127;
-x_125 = lean_ctor_get(x_124, 1);
-lean_inc(x_125);
-lean_dec(x_124);
-x_126 = l_Lean_Parser_Term_doUnless___elambda__1___closed__8;
-x_127 = lean_string_dec_eq(x_125, x_126);
-lean_dec(x_125);
-if (x_127 == 0)
-{
-lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; uint8_t x_132; lean_object* x_133;
-lean_dec(x_1);
-x_128 = l_Lean_Parser_Term_doUnless___elambda__1___closed__12;
-x_129 = l_Lean_Parser_ParserState_mkErrorsAt(x_121, x_128, x_120);
-x_130 = l_Lean_Parser_Term_doFor___elambda__1___closed__2;
-x_131 = l_Lean_Parser_ParserState_mkNode(x_129, x_130, x_105);
-x_132 = 1;
-x_133 = l_Lean_Parser_mergeOrElseErrors(x_131, x_97, x_94, x_132);
-lean_dec(x_94);
-return x_133;
-}
-else
-{
-lean_object* x_134; lean_object* x_135; lean_object* x_136; uint8_t x_137; lean_object* x_138;
-lean_dec(x_120);
-x_134 = l_Lean_Parser_Term_doSeq___elambda__1(x_1, x_121);
-x_135 = l_Lean_Parser_Term_doFor___elambda__1___closed__2;
-x_136 = l_Lean_Parser_ParserState_mkNode(x_134, x_135, x_105);
-x_137 = 1;
-x_138 = l_Lean_Parser_mergeOrElseErrors(x_136, x_97, x_94, x_137);
-lean_dec(x_94);
-return x_138;
-}
-}
-else
-{
-lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; uint8_t x_143; lean_object* x_144;
-lean_dec(x_124);
-lean_dec(x_1);
-x_139 = l_Lean_Parser_Term_doUnless___elambda__1___closed__12;
-x_140 = l_Lean_Parser_ParserState_mkErrorsAt(x_121, x_139, x_120);
-x_141 = l_Lean_Parser_Term_doFor___elambda__1___closed__2;
-x_142 = l_Lean_Parser_ParserState_mkNode(x_140, x_141, x_105);
-x_143 = 1;
-x_144 = l_Lean_Parser_mergeOrElseErrors(x_142, x_97, x_94, x_143);
-lean_dec(x_94);
-return x_144;
-}
-}
-else
-{
-lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; uint8_t x_149; lean_object* x_150;
-lean_dec(x_122);
-lean_dec(x_1);
-x_145 = l_Lean_Parser_Term_doUnless___elambda__1___closed__12;
-x_146 = l_Lean_Parser_ParserState_mkErrorsAt(x_121, x_145, x_120);
-x_147 = l_Lean_Parser_Term_doFor___elambda__1___closed__2;
-x_148 = l_Lean_Parser_ParserState_mkNode(x_146, x_147, x_105);
-x_149 = 1;
-x_150 = l_Lean_Parser_mergeOrElseErrors(x_148, x_97, x_94, x_149);
-lean_dec(x_94);
-return x_150;
-}
-}
-else
-{
-lean_object* x_151; lean_object* x_152; uint8_t x_153; lean_object* x_154;
-lean_dec(x_119);
-lean_dec(x_1);
-x_151 = l_Lean_Parser_Term_doFor___elambda__1___closed__2;
-x_152 = l_Lean_Parser_ParserState_mkNode(x_118, x_151, x_105);
-x_153 = 1;
-x_154 = l_Lean_Parser_mergeOrElseErrors(x_152, x_97, x_94, x_153);
-lean_dec(x_94);
-return x_154;
-}
-}
-else
-{
-lean_object* x_155; lean_object* x_156; uint8_t x_157; lean_object* x_158;
-lean_dec(x_107);
-lean_dec(x_1);
-x_155 = l_Lean_Parser_Term_doFor___elambda__1___closed__2;
-x_156 = l_Lean_Parser_ParserState_mkNode(x_106, x_155, x_105);
-x_157 = 1;
-x_158 = l_Lean_Parser_mergeOrElseErrors(x_156, x_97, x_94, x_157);
-lean_dec(x_94);
-return x_158;
-}
-}
-block_188:
-{
-lean_object* x_161;
-x_161 = lean_ctor_get(x_160, 3);
-lean_inc(x_161);
-if (lean_obj_tag(x_161) == 0)
-{
-lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165;
-x_162 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_163 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_164 = l_Lean_Parser_categoryParser___elambda__1(x_162, x_163, x_1, x_160);
-x_165 = lean_ctor_get(x_164, 3);
-lean_inc(x_165);
-if (lean_obj_tag(x_165) == 0)
-{
-lean_object* x_166; lean_object* x_167; lean_object* x_168;
-x_166 = lean_ctor_get(x_164, 1);
-lean_inc(x_166);
-lean_inc(x_1);
-x_167 = l_Lean_Parser_tokenFn(x_1, x_164);
-x_168 = lean_ctor_get(x_167, 3);
-lean_inc(x_168);
-if (lean_obj_tag(x_168) == 0)
-{
-lean_object* x_169; lean_object* x_170;
-x_169 = lean_ctor_get(x_167, 0);
-lean_inc(x_169);
-x_170 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_169);
-lean_dec(x_169);
-if (lean_obj_tag(x_170) == 2)
-{
-lean_object* x_171; lean_object* x_172; uint8_t x_173;
-x_171 = lean_ctor_get(x_170, 1);
-lean_inc(x_171);
-lean_dec(x_170);
-x_172 = l_Lean_Parser_Term_doFor___elambda__1___closed__8;
-x_173 = lean_string_dec_eq(x_171, x_172);
-lean_dec(x_171);
-if (x_173 == 0)
-{
-lean_object* x_174; lean_object* x_175;
-x_174 = l_Lean_Parser_Term_doFor___elambda__1___closed__11;
-x_175 = l_Lean_Parser_ParserState_mkErrorsAt(x_167, x_174, x_166);
-x_106 = x_175;
-goto block_159;
-}
-else
-{
-lean_dec(x_166);
-x_106 = x_167;
-goto block_159;
-}
-}
-else
-{
-lean_object* x_176; lean_object* x_177;
-lean_dec(x_170);
-x_176 = l_Lean_Parser_Term_doFor___elambda__1___closed__11;
-x_177 = l_Lean_Parser_ParserState_mkErrorsAt(x_167, x_176, x_166);
-x_106 = x_177;
-goto block_159;
-}
-}
-else
-{
-lean_object* x_178; lean_object* x_179;
-lean_dec(x_168);
-x_178 = l_Lean_Parser_Term_doFor___elambda__1___closed__11;
-x_179 = l_Lean_Parser_ParserState_mkErrorsAt(x_167, x_178, x_166);
-x_106 = x_179;
-goto block_159;
-}
-}
-else
-{
-lean_object* x_180; lean_object* x_181; uint8_t x_182; lean_object* x_183;
-lean_dec(x_165);
-lean_dec(x_1);
-x_180 = l_Lean_Parser_Term_doFor___elambda__1___closed__2;
-x_181 = l_Lean_Parser_ParserState_mkNode(x_164, x_180, x_105);
-x_182 = 1;
-x_183 = l_Lean_Parser_mergeOrElseErrors(x_181, x_97, x_94, x_182);
-lean_dec(x_94);
-return x_183;
-}
-}
-else
-{
-lean_object* x_184; lean_object* x_185; uint8_t x_186; lean_object* x_187;
-lean_dec(x_161);
-lean_dec(x_1);
-x_184 = l_Lean_Parser_Term_doFor___elambda__1___closed__2;
-x_185 = l_Lean_Parser_ParserState_mkNode(x_160, x_184, x_105);
-x_186 = 1;
-x_187 = l_Lean_Parser_mergeOrElseErrors(x_185, x_97, x_94, x_186);
-lean_dec(x_94);
-return x_187;
-}
-}
-}
-else
-{
-uint8_t x_203; lean_object* x_204;
-lean_dec(x_103);
-lean_dec(x_1);
-x_203 = 1;
-x_204 = l_Lean_Parser_mergeOrElseErrors(x_102, x_97, x_94, x_203);
-lean_dec(x_94);
-return x_204;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Term_doFor___closed__1() {
_start:
{
@@ -17463,7 +9166,7 @@ static lean_object* _init_l_Lean_Parser_Term_doFor___closed__2() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Term_doFor___elambda__1___closed__8;
+x_1 = l_Lean_Parser_Term_doFor___elambda__1___closed__9;
x_2 = l_Lean_Parser_symbolInfo(x_1);
return x_2;
}
@@ -17564,7 +9267,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Term_doFor(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_2 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4;
+x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__4;
x_3 = l_Lean_Parser_Term_doFor___elambda__1___closed__2;
x_4 = 1;
x_5 = l_Lean_Parser_Term_doFor;
@@ -17602,7 +9305,7 @@ static lean_object* _init_l_Lean_Parser_Term_doFor_formatter___closed__3() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Term_doFor___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Term_doFor___elambda__1___closed__8;
x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_symbol_formatter___boxed), 6, 1);
lean_closure_set(x_2, 0, x_1);
return x_2;
@@ -17806,197 +9509,67 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Term_doMatchAlt___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_darrow___closed__2;
+x_2 = l_Lean_Parser_Term_doSeq___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doMatchAlt___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Term_doMatchAlt___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doMatchAlt___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_doMatchAlt___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_doMatchAlt___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doMatchAlt___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_doMatchAlt___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Term_doMatchAlt___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Term_doMatchAlt___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; uint8_t x_11; lean_object* x_12; lean_object* x_13;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_11 = 0;
-lean_inc(x_1);
-x_12 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_tupleTail___elambda__1___spec__1(x_11, x_1, x_7);
-x_13 = lean_ctor_get(x_12, 3);
-lean_inc(x_13);
-if (lean_obj_tag(x_13) == 0)
-{
-lean_object* x_14; lean_object* x_15;
-lean_inc(x_1);
-x_14 = l_Lean_Parser_darrow___elambda__1(x_1, x_12);
-x_15 = lean_ctor_get(x_14, 3);
-lean_inc(x_15);
-if (lean_obj_tag(x_15) == 0)
-{
-lean_object* x_16; lean_object* x_17; lean_object* x_18;
-x_16 = l_Lean_Parser_Term_doSeq___elambda__1(x_1, x_14);
-x_17 = l_Lean_Parser_Term_doMatchAlt___elambda__1___closed__2;
-x_18 = l_Lean_Parser_ParserState_mkNode(x_16, x_17, x_10);
-return x_18;
-}
-else
-{
-lean_object* x_19; lean_object* x_20;
-lean_dec(x_15);
-lean_dec(x_1);
-x_19 = l_Lean_Parser_Term_doMatchAlt___elambda__1___closed__2;
-x_20 = l_Lean_Parser_ParserState_mkNode(x_14, x_19, x_10);
-return x_20;
-}
-}
-else
-{
-lean_object* x_21; lean_object* x_22;
-lean_dec(x_13);
-lean_dec(x_1);
-x_21 = l_Lean_Parser_Term_doMatchAlt___elambda__1___closed__2;
-x_22 = l_Lean_Parser_ParserState_mkNode(x_12, x_21, x_10);
-return x_22;
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Term_doMatchAlt___elambda__1___closed__8;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
-x_23 = lean_ctor_get(x_2, 0);
-lean_inc(x_23);
-x_24 = lean_array_get_size(x_23);
-lean_dec(x_23);
-x_25 = lean_ctor_get(x_2, 1);
-lean_inc(x_25);
-lean_inc(x_1);
-x_26 = lean_apply_2(x_4, x_1, x_2);
-x_27 = lean_ctor_get(x_26, 3);
-lean_inc(x_27);
-if (lean_obj_tag(x_27) == 0)
-{
-lean_dec(x_25);
-lean_dec(x_24);
-lean_dec(x_1);
-return x_26;
-}
-else
-{
-lean_object* x_28; lean_object* x_29; uint8_t x_30;
-x_28 = lean_ctor_get(x_27, 0);
-lean_inc(x_28);
-lean_dec(x_27);
-x_29 = lean_ctor_get(x_26, 1);
-lean_inc(x_29);
-x_30 = lean_nat_dec_eq(x_29, x_25);
-lean_dec(x_29);
-if (x_30 == 0)
-{
-lean_dec(x_28);
-lean_dec(x_25);
-lean_dec(x_24);
-lean_dec(x_1);
-return x_26;
-}
-else
-{
-lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34;
-lean_inc(x_25);
-x_31 = l_Lean_Parser_ParserState_restore(x_26, x_24, x_25);
-lean_dec(x_24);
-x_32 = lean_unsigned_to_nat(1024u);
-x_33 = l_Lean_Parser_checkPrecFn(x_32, x_1, x_31);
-x_34 = lean_ctor_get(x_33, 3);
-lean_inc(x_34);
-if (lean_obj_tag(x_34) == 0)
-{
-lean_object* x_35; lean_object* x_36; uint8_t x_37; lean_object* x_38; lean_object* x_39;
-x_35 = lean_ctor_get(x_33, 0);
-lean_inc(x_35);
-x_36 = lean_array_get_size(x_35);
-lean_dec(x_35);
-x_37 = 0;
-lean_inc(x_1);
-x_38 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_tupleTail___elambda__1___spec__1(x_37, x_1, x_33);
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_object* x_40; lean_object* x_41;
-lean_inc(x_1);
-x_40 = l_Lean_Parser_darrow___elambda__1(x_1, x_38);
-x_41 = lean_ctor_get(x_40, 3);
-lean_inc(x_41);
-if (lean_obj_tag(x_41) == 0)
-{
-lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45; lean_object* x_46;
-x_42 = l_Lean_Parser_Term_doSeq___elambda__1(x_1, x_40);
-x_43 = l_Lean_Parser_Term_doMatchAlt___elambda__1___closed__2;
-x_44 = l_Lean_Parser_ParserState_mkNode(x_42, x_43, x_36);
-x_45 = 1;
-x_46 = l_Lean_Parser_mergeOrElseErrors(x_44, x_28, x_25, x_45);
-lean_dec(x_25);
-return x_46;
-}
-else
-{
-lean_object* x_47; lean_object* x_48; uint8_t x_49; lean_object* x_50;
-lean_dec(x_41);
-lean_dec(x_1);
-x_47 = l_Lean_Parser_Term_doMatchAlt___elambda__1___closed__2;
-x_48 = l_Lean_Parser_ParserState_mkNode(x_40, x_47, x_36);
-x_49 = 1;
-x_50 = l_Lean_Parser_mergeOrElseErrors(x_48, x_28, x_25, x_49);
-lean_dec(x_25);
-return x_50;
-}
-}
-else
-{
-lean_object* x_51; lean_object* x_52; uint8_t x_53; lean_object* x_54;
-lean_dec(x_39);
-lean_dec(x_1);
-x_51 = l_Lean_Parser_Term_doMatchAlt___elambda__1___closed__2;
-x_52 = l_Lean_Parser_ParserState_mkNode(x_38, x_51, x_36);
-x_53 = 1;
-x_54 = l_Lean_Parser_mergeOrElseErrors(x_52, x_28, x_25, x_53);
-lean_dec(x_25);
-return x_54;
-}
-}
-else
-{
-uint8_t x_55; lean_object* x_56;
-lean_dec(x_34);
-lean_dec(x_1);
-x_55 = 1;
-x_56 = l_Lean_Parser_mergeOrElseErrors(x_33, x_28, x_25, x_55);
-lean_dec(x_25);
-return x_56;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Term_doMatchAlt___closed__1() {
_start:
{
@@ -18081,230 +9654,161 @@ x_1 = l_Lean_Parser_Term_doMatchAlt___closed__7;
return x_1;
}
}
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_doMatchAlts___elambda__1___spec__2(uint8_t x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5) {
+lean_object* l_Lean_Parser_Term_doMatchAlts___elambda__1___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
-lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10;
-x_6 = lean_ctor_get(x_5, 0);
-lean_inc(x_6);
-x_7 = lean_array_get_size(x_6);
-lean_dec(x_6);
-x_8 = lean_ctor_get(x_5, 1);
-lean_inc(x_8);
-lean_inc(x_4);
-x_9 = l_Lean_Parser_Term_doMatchAlt___elambda__1(x_4, x_5);
-x_10 = lean_ctor_get(x_9, 3);
+uint8_t x_5;
+x_5 = !lean_is_exclusive(x_3);
+if (x_5 == 0)
+{
+lean_object* x_6; lean_object* x_7; uint8_t x_8;
+x_6 = lean_ctor_get(x_3, 0);
+x_7 = lean_ctor_get(x_3, 4);
+lean_dec(x_7);
+x_8 = !lean_is_exclusive(x_6);
+if (x_8 == 0)
+{
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
+x_9 = lean_ctor_get(x_6, 2);
+x_10 = lean_ctor_get(x_4, 1);
lean_inc(x_10);
-if (lean_obj_tag(x_10) == 0)
+x_11 = l_Lean_FileMap_toPosition(x_9, x_10);
+x_12 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_12, 0, x_11);
+lean_ctor_set(x_3, 4, x_12);
+lean_inc(x_3);
+x_13 = l_Lean_Parser_optionalFn(x_1, x_3, x_4);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_21; lean_object* x_38;
-lean_dec(x_8);
-lean_dec(x_7);
-x_11 = lean_ctor_get(x_9, 0);
-lean_inc(x_11);
-x_12 = lean_array_get_size(x_11);
-lean_dec(x_11);
-x_13 = lean_ctor_get(x_9, 1);
-lean_inc(x_13);
-x_38 = lean_ctor_get(x_4, 4);
-lean_inc(x_38);
-if (lean_obj_tag(x_38) == 0)
-{
-x_21 = x_9;
-goto block_37;
+uint8_t x_15; lean_object* x_16; lean_object* x_17;
+x_15 = 0;
+x_16 = l_Lean_Parser_Term_doMatchAlt___closed__6;
+x_17 = l_Lean_Parser_sepBy1Fn(x_15, x_16, x_2, x_3, x_13);
+return x_17;
}
else
{
-lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45;
-x_39 = lean_ctor_get(x_38, 0);
-lean_inc(x_39);
-lean_dec(x_38);
-x_40 = lean_ctor_get(x_4, 0);
-lean_inc(x_40);
-x_41 = lean_ctor_get(x_40, 2);
-lean_inc(x_41);
-lean_dec(x_40);
-lean_inc(x_13);
-x_42 = l_Lean_FileMap_toPosition(x_41, x_13);
-lean_dec(x_41);
-x_43 = lean_ctor_get(x_39, 1);
-lean_inc(x_43);
-lean_dec(x_39);
-x_44 = lean_ctor_get(x_42, 1);
-lean_inc(x_44);
-lean_dec(x_42);
-x_45 = lean_nat_dec_le(x_43, x_44);
-lean_dec(x_44);
-lean_dec(x_43);
-if (x_45 == 0)
-{
-lean_object* x_46; lean_object* x_47;
-x_46 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__6;
-x_47 = l_Lean_Parser_ParserState_mkError(x_9, x_46);
-x_21 = x_47;
-goto block_37;
-}
-else
-{
-x_21 = x_9;
-goto block_37;
-}
-}
-block_20:
-{
-lean_object* x_15;
-x_15 = lean_ctor_get(x_14, 3);
-lean_inc(x_15);
-if (lean_obj_tag(x_15) == 0)
-{
-lean_dec(x_13);
-lean_dec(x_12);
-{
-uint8_t _tmp_2 = x_1;
-lean_object* _tmp_4 = x_14;
-x_3 = _tmp_2;
-x_5 = _tmp_4;
-}
-goto _start;
-}
-else
-{
-lean_object* x_17; lean_object* x_18; lean_object* x_19;
-lean_dec(x_15);
-lean_dec(x_4);
-x_17 = l_Lean_Parser_ParserState_restore(x_14, x_12, x_13);
-lean_dec(x_12);
-x_18 = l_Lean_nullKind;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_2);
-return x_19;
-}
-}
-block_37:
-{
-lean_object* x_22;
-x_22 = lean_ctor_get(x_21, 3);
-lean_inc(x_22);
-if (lean_obj_tag(x_22) == 0)
-{
-lean_object* x_23; lean_object* x_24; lean_object* x_25;
-x_23 = lean_ctor_get(x_21, 1);
-lean_inc(x_23);
-lean_inc(x_4);
-x_24 = l_Lean_Parser_tokenFn(x_4, x_21);
-x_25 = lean_ctor_get(x_24, 3);
-lean_inc(x_25);
-if (lean_obj_tag(x_25) == 0)
-{
-lean_object* x_26; lean_object* x_27;
-x_26 = lean_ctor_get(x_24, 0);
-lean_inc(x_26);
-x_27 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_26);
-lean_dec(x_26);
-if (lean_obj_tag(x_27) == 2)
-{
-lean_object* x_28; lean_object* x_29; uint8_t x_30;
-x_28 = lean_ctor_get(x_27, 1);
-lean_inc(x_28);
-lean_dec(x_27);
-x_29 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__2;
-x_30 = lean_string_dec_eq(x_28, x_29);
-lean_dec(x_28);
-if (x_30 == 0)
-{
-lean_object* x_31; lean_object* x_32;
-x_31 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__5;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_24, x_31, x_23);
-x_14 = x_32;
-goto block_20;
-}
-else
-{
-lean_dec(x_23);
-x_14 = x_24;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_33; lean_object* x_34;
-lean_dec(x_27);
-x_33 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__5;
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_24, x_33, x_23);
-x_14 = x_34;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_35; lean_object* x_36;
-lean_dec(x_25);
-x_35 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__5;
-x_36 = l_Lean_Parser_ParserState_mkErrorsAt(x_24, x_35, x_23);
-x_14 = x_36;
-goto block_20;
-}
-}
-else
-{
-lean_dec(x_22);
-x_14 = x_21;
-goto block_20;
-}
-}
-}
-else
-{
-lean_object* x_48; uint8_t x_49;
-lean_dec(x_10);
-lean_dec(x_4);
-x_48 = lean_ctor_get(x_9, 1);
-lean_inc(x_48);
-x_49 = lean_nat_dec_lt(x_8, x_48);
-lean_dec(x_48);
-if (x_49 == 0)
-{
-if (x_3 == 0)
-{
-lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53;
-lean_dec(x_8);
-lean_dec(x_7);
-x_50 = lean_box(0);
-x_51 = l_Lean_Parser_ParserState_pushSyntax(x_9, x_50);
-x_52 = l_Lean_nullKind;
-x_53 = l_Lean_Parser_ParserState_mkNode(x_51, x_52, x_2);
-return x_53;
-}
-else
-{
-lean_object* x_54; lean_object* x_55; lean_object* x_56;
-x_54 = l_Lean_Parser_ParserState_restore(x_9, x_7, x_8);
-lean_dec(x_7);
-x_55 = l_Lean_nullKind;
-x_56 = l_Lean_Parser_ParserState_mkNode(x_54, x_55, x_2);
-return x_56;
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_7);
+lean_dec(x_14);
+lean_dec(x_3);
lean_dec(x_2);
-return x_9;
+return x_13;
}
}
-}
-}
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_doMatchAlts___elambda__1___spec__1(uint8_t x_1, lean_object* x_2, lean_object* x_3) {
-_start:
+else
{
-lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
-x_4 = lean_ctor_get(x_3, 0);
-lean_inc(x_4);
-x_5 = lean_array_get_size(x_4);
-lean_dec(x_4);
-x_6 = 0;
-x_7 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_doMatchAlts___elambda__1___spec__2(x_1, x_5, x_6, x_2, x_3);
-return x_7;
+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;
+x_18 = lean_ctor_get(x_6, 0);
+x_19 = lean_ctor_get(x_6, 1);
+x_20 = lean_ctor_get(x_6, 2);
+lean_inc(x_20);
+lean_inc(x_19);
+lean_inc(x_18);
+lean_dec(x_6);
+x_21 = lean_ctor_get(x_4, 1);
+lean_inc(x_21);
+x_22 = l_Lean_FileMap_toPosition(x_20, x_21);
+x_23 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_23, 0, x_18);
+lean_ctor_set(x_23, 1, x_19);
+lean_ctor_set(x_23, 2, x_20);
+x_24 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_24, 0, x_22);
+lean_ctor_set(x_3, 4, x_24);
+lean_ctor_set(x_3, 0, x_23);
+lean_inc(x_3);
+x_25 = l_Lean_Parser_optionalFn(x_1, x_3, x_4);
+x_26 = lean_ctor_get(x_25, 3);
+lean_inc(x_26);
+if (lean_obj_tag(x_26) == 0)
+{
+uint8_t x_27; lean_object* x_28; lean_object* x_29;
+x_27 = 0;
+x_28 = l_Lean_Parser_Term_doMatchAlt___closed__6;
+x_29 = l_Lean_Parser_sepBy1Fn(x_27, x_28, x_2, x_3, x_25);
+return x_29;
+}
+else
+{
+lean_dec(x_26);
+lean_dec(x_3);
+lean_dec(x_2);
+return x_25;
+}
+}
+}
+else
+{
+lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; uint8_t 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;
+x_30 = lean_ctor_get(x_3, 0);
+x_31 = lean_ctor_get(x_3, 1);
+x_32 = lean_ctor_get(x_3, 2);
+x_33 = lean_ctor_get(x_3, 3);
+x_34 = lean_ctor_get_uint8(x_3, sizeof(void*)*6);
+x_35 = lean_ctor_get(x_3, 5);
+lean_inc(x_35);
+lean_inc(x_33);
+lean_inc(x_32);
+lean_inc(x_31);
+lean_inc(x_30);
+lean_dec(x_3);
+x_36 = lean_ctor_get(x_30, 0);
+lean_inc(x_36);
+x_37 = lean_ctor_get(x_30, 1);
+lean_inc(x_37);
+x_38 = lean_ctor_get(x_30, 2);
+lean_inc(x_38);
+if (lean_is_exclusive(x_30)) {
+ lean_ctor_release(x_30, 0);
+ lean_ctor_release(x_30, 1);
+ lean_ctor_release(x_30, 2);
+ x_39 = x_30;
+} else {
+ lean_dec_ref(x_30);
+ x_39 = lean_box(0);
+}
+x_40 = lean_ctor_get(x_4, 1);
+lean_inc(x_40);
+x_41 = l_Lean_FileMap_toPosition(x_38, x_40);
+if (lean_is_scalar(x_39)) {
+ x_42 = lean_alloc_ctor(0, 3, 0);
+} else {
+ x_42 = x_39;
+}
+lean_ctor_set(x_42, 0, x_36);
+lean_ctor_set(x_42, 1, x_37);
+lean_ctor_set(x_42, 2, x_38);
+x_43 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_43, 0, x_41);
+x_44 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_44, 0, x_42);
+lean_ctor_set(x_44, 1, x_31);
+lean_ctor_set(x_44, 2, x_32);
+lean_ctor_set(x_44, 3, x_33);
+lean_ctor_set(x_44, 4, x_43);
+lean_ctor_set(x_44, 5, x_35);
+lean_ctor_set_uint8(x_44, sizeof(void*)*6, x_34);
+lean_inc(x_44);
+x_45 = l_Lean_Parser_optionalFn(x_1, x_44, x_4);
+x_46 = lean_ctor_get(x_45, 3);
+lean_inc(x_46);
+if (lean_obj_tag(x_46) == 0)
+{
+uint8_t x_47; lean_object* x_48; lean_object* x_49;
+x_47 = 0;
+x_48 = l_Lean_Parser_Term_doMatchAlt___closed__6;
+x_49 = l_Lean_Parser_sepBy1Fn(x_47, x_48, x_2, x_44, x_45);
+return x_49;
+}
+else
+{
+lean_dec(x_46);
+lean_dec(x_44);
+lean_dec(x_2);
+return x_45;
+}
+}
}
}
static lean_object* _init_l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__1() {
@@ -18346,1142 +9850,73 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_matchAlts___closed__2;
+x_2 = l_Lean_Parser_Term_matchAlts___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_matchAlts___closed__6;
+x_2 = l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_Term_doMatchAlts___elambda__1___lambda__1), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Term_doMatchAlts___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; uint8_t x_11;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_11 = !lean_is_exclusive(x_1);
-if (x_11 == 0)
-{
-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_51; lean_object* x_52;
-x_12 = lean_ctor_get(x_1, 0);
-x_13 = lean_ctor_get(x_1, 4);
-lean_dec(x_13);
-x_14 = lean_ctor_get(x_12, 2);
-lean_inc(x_14);
-x_15 = lean_ctor_get(x_7, 1);
-lean_inc(x_15);
-lean_inc(x_15);
-x_16 = l_Lean_FileMap_toPosition(x_14, x_15);
-lean_dec(x_14);
-x_17 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_17, 0, x_16);
-lean_ctor_set(x_1, 4, x_17);
-lean_inc(x_1);
-x_51 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_52 = lean_ctor_get(x_51, 3);
-lean_inc(x_52);
-if (lean_obj_tag(x_52) == 0)
-{
-lean_object* x_53; lean_object* x_54;
-x_53 = lean_ctor_get(x_51, 0);
-lean_inc(x_53);
-x_54 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_53);
-lean_dec(x_53);
-if (lean_obj_tag(x_54) == 2)
-{
-lean_object* x_55; lean_object* x_56; uint8_t x_57;
-x_55 = lean_ctor_get(x_54, 1);
-lean_inc(x_55);
-lean_dec(x_54);
-x_56 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__2;
-x_57 = lean_string_dec_eq(x_55, x_56);
-lean_dec(x_55);
-if (x_57 == 0)
-{
-lean_object* x_58; lean_object* x_59;
-x_58 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__5;
-lean_inc(x_15);
-x_59 = l_Lean_Parser_ParserState_mkErrorsAt(x_51, x_58, x_15);
-x_18 = x_59;
-goto block_50;
-}
-else
-{
-x_18 = x_51;
-goto block_50;
-}
-}
-else
-{
-lean_object* x_60; lean_object* x_61;
-lean_dec(x_54);
-x_60 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__5;
-lean_inc(x_15);
-x_61 = l_Lean_Parser_ParserState_mkErrorsAt(x_51, x_60, x_15);
-x_18 = x_61;
-goto block_50;
-}
-}
-else
-{
-lean_object* x_62; lean_object* x_63;
-lean_dec(x_52);
-x_62 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__5;
-lean_inc(x_15);
-x_63 = l_Lean_Parser_ParserState_mkErrorsAt(x_51, x_62, x_15);
-x_18 = x_63;
-goto block_50;
-}
-block_50:
-{
-lean_object* x_19;
-x_19 = lean_ctor_get(x_18, 3);
-lean_inc(x_19);
-if (lean_obj_tag(x_19) == 0)
-{
-lean_object* x_20; lean_object* x_21; lean_object* x_22;
-lean_dec(x_15);
-x_20 = l_Lean_nullKind;
-lean_inc(x_10);
-x_21 = l_Lean_Parser_ParserState_mkNode(x_18, x_20, x_10);
-x_22 = lean_ctor_get(x_21, 3);
-lean_inc(x_22);
-if (lean_obj_tag(x_22) == 0)
-{
-uint8_t x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26;
-x_23 = 0;
-x_24 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_doMatchAlts___elambda__1___spec__1(x_23, x_1, x_21);
-x_25 = l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__2;
-x_26 = l_Lean_Parser_ParserState_mkNode(x_24, x_25, x_10);
-return x_26;
-}
-else
-{
-lean_object* x_27; lean_object* x_28;
-lean_dec(x_22);
-lean_dec(x_1);
-x_27 = l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__2;
-x_28 = l_Lean_Parser_ParserState_mkNode(x_21, x_27, x_10);
-return x_28;
-}
-}
-else
-{
-lean_object* x_29; uint8_t x_30;
-lean_dec(x_19);
-x_29 = lean_ctor_get(x_18, 1);
-lean_inc(x_29);
-x_30 = lean_nat_dec_eq(x_29, x_15);
-lean_dec(x_29);
-if (x_30 == 0)
-{
-lean_object* x_31; lean_object* x_32; lean_object* x_33;
-lean_dec(x_15);
-x_31 = l_Lean_nullKind;
-lean_inc(x_10);
-x_32 = l_Lean_Parser_ParserState_mkNode(x_18, x_31, x_10);
-x_33 = lean_ctor_get(x_32, 3);
-lean_inc(x_33);
-if (lean_obj_tag(x_33) == 0)
-{
-uint8_t x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_34 = 0;
-x_35 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_doMatchAlts___elambda__1___spec__1(x_34, x_1, x_32);
-x_36 = l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__2;
-x_37 = l_Lean_Parser_ParserState_mkNode(x_35, x_36, x_10);
-return x_37;
-}
-else
-{
-lean_object* x_38; lean_object* x_39;
-lean_dec(x_33);
-lean_dec(x_1);
-x_38 = l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__2;
-x_39 = l_Lean_Parser_ParserState_mkNode(x_32, x_38, x_10);
-return x_39;
-}
-}
-else
-{
-lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43;
-x_40 = l_Lean_Parser_ParserState_restore(x_18, x_10, x_15);
-x_41 = l_Lean_nullKind;
-lean_inc(x_10);
-x_42 = l_Lean_Parser_ParserState_mkNode(x_40, x_41, x_10);
-x_43 = lean_ctor_get(x_42, 3);
-lean_inc(x_43);
-if (lean_obj_tag(x_43) == 0)
-{
-uint8_t x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47;
-x_44 = 0;
-x_45 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_doMatchAlts___elambda__1___spec__1(x_44, x_1, x_42);
-x_46 = l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__2;
-x_47 = l_Lean_Parser_ParserState_mkNode(x_45, x_46, x_10);
-return x_47;
-}
-else
-{
-lean_object* x_48; lean_object* x_49;
-lean_dec(x_43);
-lean_dec(x_1);
-x_48 = l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__2;
-x_49 = l_Lean_Parser_ParserState_mkNode(x_42, x_48, x_10);
-return x_49;
-}
-}
-}
-}
-}
-else
-{
-lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; uint8_t 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_108; lean_object* x_109;
-x_64 = lean_ctor_get(x_1, 0);
-x_65 = lean_ctor_get(x_1, 1);
-x_66 = lean_ctor_get(x_1, 2);
-x_67 = lean_ctor_get(x_1, 3);
-x_68 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
-x_69 = lean_ctor_get(x_1, 5);
-lean_inc(x_69);
-lean_inc(x_67);
-lean_inc(x_66);
-lean_inc(x_65);
-lean_inc(x_64);
-lean_dec(x_1);
-x_70 = lean_ctor_get(x_64, 2);
-lean_inc(x_70);
-x_71 = lean_ctor_get(x_7, 1);
-lean_inc(x_71);
-lean_inc(x_71);
-x_72 = l_Lean_FileMap_toPosition(x_70, x_71);
-lean_dec(x_70);
-x_73 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_73, 0, x_72);
-x_74 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_74, 0, x_64);
-lean_ctor_set(x_74, 1, x_65);
-lean_ctor_set(x_74, 2, x_66);
-lean_ctor_set(x_74, 3, x_67);
-lean_ctor_set(x_74, 4, x_73);
-lean_ctor_set(x_74, 5, x_69);
-lean_ctor_set_uint8(x_74, sizeof(void*)*6, x_68);
-lean_inc(x_74);
-x_108 = l_Lean_Parser_tokenFn(x_74, x_7);
-x_109 = lean_ctor_get(x_108, 3);
-lean_inc(x_109);
-if (lean_obj_tag(x_109) == 0)
-{
-lean_object* x_110; lean_object* x_111;
-x_110 = lean_ctor_get(x_108, 0);
-lean_inc(x_110);
-x_111 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_110);
-lean_dec(x_110);
-if (lean_obj_tag(x_111) == 2)
-{
-lean_object* x_112; lean_object* x_113; uint8_t x_114;
-x_112 = lean_ctor_get(x_111, 1);
-lean_inc(x_112);
-lean_dec(x_111);
-x_113 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__2;
-x_114 = lean_string_dec_eq(x_112, x_113);
-lean_dec(x_112);
-if (x_114 == 0)
-{
-lean_object* x_115; lean_object* x_116;
-x_115 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__5;
-lean_inc(x_71);
-x_116 = l_Lean_Parser_ParserState_mkErrorsAt(x_108, x_115, x_71);
-x_75 = x_116;
-goto block_107;
-}
-else
-{
-x_75 = x_108;
-goto block_107;
-}
-}
-else
-{
-lean_object* x_117; lean_object* x_118;
-lean_dec(x_111);
-x_117 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__5;
-lean_inc(x_71);
-x_118 = l_Lean_Parser_ParserState_mkErrorsAt(x_108, x_117, x_71);
-x_75 = x_118;
-goto block_107;
-}
-}
-else
-{
-lean_object* x_119; lean_object* x_120;
-lean_dec(x_109);
-x_119 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__5;
-lean_inc(x_71);
-x_120 = l_Lean_Parser_ParserState_mkErrorsAt(x_108, x_119, x_71);
-x_75 = x_120;
-goto block_107;
-}
-block_107:
-{
-lean_object* x_76;
-x_76 = lean_ctor_get(x_75, 3);
-lean_inc(x_76);
-if (lean_obj_tag(x_76) == 0)
-{
-lean_object* x_77; lean_object* x_78; lean_object* x_79;
-lean_dec(x_71);
-x_77 = l_Lean_nullKind;
-lean_inc(x_10);
-x_78 = l_Lean_Parser_ParserState_mkNode(x_75, x_77, x_10);
-x_79 = lean_ctor_get(x_78, 3);
-lean_inc(x_79);
-if (lean_obj_tag(x_79) == 0)
-{
-uint8_t x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83;
-x_80 = 0;
-x_81 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_doMatchAlts___elambda__1___spec__1(x_80, x_74, x_78);
-x_82 = l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__2;
-x_83 = l_Lean_Parser_ParserState_mkNode(x_81, x_82, x_10);
-return x_83;
-}
-else
-{
-lean_object* x_84; lean_object* x_85;
-lean_dec(x_79);
-lean_dec(x_74);
-x_84 = l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__2;
-x_85 = l_Lean_Parser_ParserState_mkNode(x_78, x_84, x_10);
-return x_85;
-}
-}
-else
-{
-lean_object* x_86; uint8_t x_87;
-lean_dec(x_76);
-x_86 = lean_ctor_get(x_75, 1);
-lean_inc(x_86);
-x_87 = lean_nat_dec_eq(x_86, x_71);
-lean_dec(x_86);
-if (x_87 == 0)
-{
-lean_object* x_88; lean_object* x_89; lean_object* x_90;
-lean_dec(x_71);
-x_88 = l_Lean_nullKind;
-lean_inc(x_10);
-x_89 = l_Lean_Parser_ParserState_mkNode(x_75, x_88, x_10);
-x_90 = lean_ctor_get(x_89, 3);
-lean_inc(x_90);
-if (lean_obj_tag(x_90) == 0)
-{
-uint8_t x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94;
-x_91 = 0;
-x_92 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_doMatchAlts___elambda__1___spec__1(x_91, x_74, x_89);
-x_93 = l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__2;
-x_94 = l_Lean_Parser_ParserState_mkNode(x_92, x_93, x_10);
-return x_94;
-}
-else
-{
-lean_object* x_95; lean_object* x_96;
-lean_dec(x_90);
-lean_dec(x_74);
-x_95 = l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__2;
-x_96 = l_Lean_Parser_ParserState_mkNode(x_89, x_95, x_10);
-return x_96;
-}
-}
-else
-{
-lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100;
-x_97 = l_Lean_Parser_ParserState_restore(x_75, x_10, x_71);
-x_98 = l_Lean_nullKind;
-lean_inc(x_10);
-x_99 = l_Lean_Parser_ParserState_mkNode(x_97, x_98, x_10);
-x_100 = lean_ctor_get(x_99, 3);
-lean_inc(x_100);
-if (lean_obj_tag(x_100) == 0)
-{
-uint8_t x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104;
-x_101 = 0;
-x_102 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_doMatchAlts___elambda__1___spec__1(x_101, x_74, x_99);
-x_103 = l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__2;
-x_104 = l_Lean_Parser_ParserState_mkNode(x_102, x_103, x_10);
-return x_104;
-}
-else
-{
-lean_object* x_105; lean_object* x_106;
-lean_dec(x_100);
-lean_dec(x_74);
-x_105 = l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__2;
-x_106 = l_Lean_Parser_ParserState_mkNode(x_99, x_105, x_10);
-return x_106;
-}
-}
-}
-}
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__8;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125;
-x_121 = lean_ctor_get(x_2, 0);
-lean_inc(x_121);
-x_122 = lean_array_get_size(x_121);
-lean_dec(x_121);
-x_123 = lean_ctor_get(x_2, 1);
-lean_inc(x_123);
-lean_inc(x_1);
-x_124 = lean_apply_2(x_4, x_1, x_2);
-x_125 = lean_ctor_get(x_124, 3);
-lean_inc(x_125);
-if (lean_obj_tag(x_125) == 0)
-{
-lean_dec(x_123);
-lean_dec(x_122);
-lean_dec(x_1);
-return x_124;
-}
-else
-{
-uint8_t x_126;
-x_126 = !lean_is_exclusive(x_125);
-if (x_126 == 0)
-{
-lean_object* x_127; lean_object* x_128; uint8_t x_129;
-x_127 = lean_ctor_get(x_125, 0);
-x_128 = lean_ctor_get(x_124, 1);
-lean_inc(x_128);
-x_129 = lean_nat_dec_eq(x_128, x_123);
-lean_dec(x_128);
-if (x_129 == 0)
-{
-lean_free_object(x_125);
-lean_dec(x_127);
-lean_dec(x_123);
-lean_dec(x_122);
-lean_dec(x_1);
-return x_124;
-}
-else
-{
-lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133;
-lean_inc(x_123);
-x_130 = l_Lean_Parser_ParserState_restore(x_124, x_122, x_123);
-lean_dec(x_122);
-x_131 = lean_unsigned_to_nat(1024u);
-x_132 = l_Lean_Parser_checkPrecFn(x_131, x_1, x_130);
-x_133 = lean_ctor_get(x_132, 3);
-lean_inc(x_133);
-if (lean_obj_tag(x_133) == 0)
-{
-lean_object* x_134; lean_object* x_135; uint8_t x_136;
-x_134 = lean_ctor_get(x_132, 0);
-lean_inc(x_134);
-x_135 = lean_array_get_size(x_134);
-lean_dec(x_134);
-x_136 = !lean_is_exclusive(x_1);
-if (x_136 == 0)
-{
-lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_187; lean_object* x_188;
-x_137 = lean_ctor_get(x_1, 0);
-x_138 = lean_ctor_get(x_1, 4);
-lean_dec(x_138);
-x_139 = lean_ctor_get(x_137, 2);
-lean_inc(x_139);
-x_140 = lean_ctor_get(x_132, 1);
-lean_inc(x_140);
-lean_inc(x_140);
-x_141 = l_Lean_FileMap_toPosition(x_139, x_140);
-lean_dec(x_139);
-lean_ctor_set(x_125, 0, x_141);
-lean_ctor_set(x_1, 4, x_125);
-lean_inc(x_1);
-x_187 = l_Lean_Parser_tokenFn(x_1, x_132);
-x_188 = lean_ctor_get(x_187, 3);
-lean_inc(x_188);
-if (lean_obj_tag(x_188) == 0)
-{
-lean_object* x_189; lean_object* x_190;
-x_189 = lean_ctor_get(x_187, 0);
-lean_inc(x_189);
-x_190 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_189);
-lean_dec(x_189);
-if (lean_obj_tag(x_190) == 2)
-{
-lean_object* x_191; lean_object* x_192; uint8_t x_193;
-x_191 = lean_ctor_get(x_190, 1);
-lean_inc(x_191);
-lean_dec(x_190);
-x_192 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__2;
-x_193 = lean_string_dec_eq(x_191, x_192);
-lean_dec(x_191);
-if (x_193 == 0)
-{
-lean_object* x_194; lean_object* x_195;
-x_194 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__5;
-lean_inc(x_140);
-x_195 = l_Lean_Parser_ParserState_mkErrorsAt(x_187, x_194, x_140);
-x_142 = x_195;
-goto block_186;
-}
-else
-{
-x_142 = x_187;
-goto block_186;
-}
-}
-else
-{
-lean_object* x_196; lean_object* x_197;
-lean_dec(x_190);
-x_196 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__5;
-lean_inc(x_140);
-x_197 = l_Lean_Parser_ParserState_mkErrorsAt(x_187, x_196, x_140);
-x_142 = x_197;
-goto block_186;
-}
-}
-else
-{
-lean_object* x_198; lean_object* x_199;
-lean_dec(x_188);
-x_198 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__5;
-lean_inc(x_140);
-x_199 = l_Lean_Parser_ParserState_mkErrorsAt(x_187, x_198, x_140);
-x_142 = x_199;
-goto block_186;
-}
-block_186:
-{
-lean_object* x_143;
-x_143 = lean_ctor_get(x_142, 3);
-lean_inc(x_143);
-if (lean_obj_tag(x_143) == 0)
-{
-lean_object* x_144; lean_object* x_145; lean_object* x_146;
-lean_dec(x_140);
-x_144 = l_Lean_nullKind;
-lean_inc(x_135);
-x_145 = l_Lean_Parser_ParserState_mkNode(x_142, x_144, x_135);
-x_146 = lean_ctor_get(x_145, 3);
-lean_inc(x_146);
-if (lean_obj_tag(x_146) == 0)
-{
-uint8_t x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; uint8_t x_151; lean_object* x_152;
-x_147 = 0;
-x_148 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_doMatchAlts___elambda__1___spec__1(x_147, x_1, x_145);
-x_149 = l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__2;
-x_150 = l_Lean_Parser_ParserState_mkNode(x_148, x_149, x_135);
-x_151 = 1;
-x_152 = l_Lean_Parser_mergeOrElseErrors(x_150, x_127, x_123, x_151);
-lean_dec(x_123);
-return x_152;
-}
-else
-{
-lean_object* x_153; lean_object* x_154; uint8_t x_155; lean_object* x_156;
-lean_dec(x_146);
-lean_dec(x_1);
-x_153 = l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__2;
-x_154 = l_Lean_Parser_ParserState_mkNode(x_145, x_153, x_135);
-x_155 = 1;
-x_156 = l_Lean_Parser_mergeOrElseErrors(x_154, x_127, x_123, x_155);
-lean_dec(x_123);
-return x_156;
-}
-}
-else
-{
-lean_object* x_157; uint8_t x_158;
-lean_dec(x_143);
-x_157 = lean_ctor_get(x_142, 1);
-lean_inc(x_157);
-x_158 = lean_nat_dec_eq(x_157, x_140);
-lean_dec(x_157);
-if (x_158 == 0)
-{
-lean_object* x_159; lean_object* x_160; lean_object* x_161;
-lean_dec(x_140);
-x_159 = l_Lean_nullKind;
-lean_inc(x_135);
-x_160 = l_Lean_Parser_ParserState_mkNode(x_142, x_159, x_135);
-x_161 = lean_ctor_get(x_160, 3);
-lean_inc(x_161);
-if (lean_obj_tag(x_161) == 0)
-{
-uint8_t x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; uint8_t x_166; lean_object* x_167;
-x_162 = 0;
-x_163 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_doMatchAlts___elambda__1___spec__1(x_162, x_1, x_160);
-x_164 = l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__2;
-x_165 = l_Lean_Parser_ParserState_mkNode(x_163, x_164, x_135);
-x_166 = 1;
-x_167 = l_Lean_Parser_mergeOrElseErrors(x_165, x_127, x_123, x_166);
-lean_dec(x_123);
-return x_167;
-}
-else
-{
-lean_object* x_168; lean_object* x_169; uint8_t x_170; lean_object* x_171;
-lean_dec(x_161);
-lean_dec(x_1);
-x_168 = l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__2;
-x_169 = l_Lean_Parser_ParserState_mkNode(x_160, x_168, x_135);
-x_170 = 1;
-x_171 = l_Lean_Parser_mergeOrElseErrors(x_169, x_127, x_123, x_170);
-lean_dec(x_123);
-return x_171;
-}
-}
-else
-{
-lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175;
-x_172 = l_Lean_Parser_ParserState_restore(x_142, x_135, x_140);
-x_173 = l_Lean_nullKind;
-lean_inc(x_135);
-x_174 = l_Lean_Parser_ParserState_mkNode(x_172, x_173, x_135);
-x_175 = lean_ctor_get(x_174, 3);
-lean_inc(x_175);
-if (lean_obj_tag(x_175) == 0)
-{
-uint8_t x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; uint8_t x_180; lean_object* x_181;
-x_176 = 0;
-x_177 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_doMatchAlts___elambda__1___spec__1(x_176, x_1, x_174);
-x_178 = l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__2;
-x_179 = l_Lean_Parser_ParserState_mkNode(x_177, x_178, x_135);
-x_180 = 1;
-x_181 = l_Lean_Parser_mergeOrElseErrors(x_179, x_127, x_123, x_180);
-lean_dec(x_123);
-return x_181;
-}
-else
-{
-lean_object* x_182; lean_object* x_183; uint8_t x_184; lean_object* x_185;
-lean_dec(x_175);
-lean_dec(x_1);
-x_182 = l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__2;
-x_183 = l_Lean_Parser_ParserState_mkNode(x_174, x_182, x_135);
-x_184 = 1;
-x_185 = l_Lean_Parser_mergeOrElseErrors(x_183, x_127, x_123, x_184);
-lean_dec(x_123);
-return x_185;
-}
-}
-}
-}
-}
-else
-{
-lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; uint8_t x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_255; lean_object* x_256;
-x_200 = lean_ctor_get(x_1, 0);
-x_201 = lean_ctor_get(x_1, 1);
-x_202 = lean_ctor_get(x_1, 2);
-x_203 = lean_ctor_get(x_1, 3);
-x_204 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
-x_205 = lean_ctor_get(x_1, 5);
-lean_inc(x_205);
-lean_inc(x_203);
-lean_inc(x_202);
-lean_inc(x_201);
-lean_inc(x_200);
-lean_dec(x_1);
-x_206 = lean_ctor_get(x_200, 2);
-lean_inc(x_206);
-x_207 = lean_ctor_get(x_132, 1);
-lean_inc(x_207);
-lean_inc(x_207);
-x_208 = l_Lean_FileMap_toPosition(x_206, x_207);
-lean_dec(x_206);
-lean_ctor_set(x_125, 0, x_208);
-x_209 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_209, 0, x_200);
-lean_ctor_set(x_209, 1, x_201);
-lean_ctor_set(x_209, 2, x_202);
-lean_ctor_set(x_209, 3, x_203);
-lean_ctor_set(x_209, 4, x_125);
-lean_ctor_set(x_209, 5, x_205);
-lean_ctor_set_uint8(x_209, sizeof(void*)*6, x_204);
-lean_inc(x_209);
-x_255 = l_Lean_Parser_tokenFn(x_209, x_132);
-x_256 = lean_ctor_get(x_255, 3);
-lean_inc(x_256);
-if (lean_obj_tag(x_256) == 0)
-{
-lean_object* x_257; lean_object* x_258;
-x_257 = lean_ctor_get(x_255, 0);
-lean_inc(x_257);
-x_258 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_257);
-lean_dec(x_257);
-if (lean_obj_tag(x_258) == 2)
-{
-lean_object* x_259; lean_object* x_260; uint8_t x_261;
-x_259 = lean_ctor_get(x_258, 1);
-lean_inc(x_259);
-lean_dec(x_258);
-x_260 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__2;
-x_261 = lean_string_dec_eq(x_259, x_260);
-lean_dec(x_259);
-if (x_261 == 0)
-{
-lean_object* x_262; lean_object* x_263;
-x_262 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__5;
-lean_inc(x_207);
-x_263 = l_Lean_Parser_ParserState_mkErrorsAt(x_255, x_262, x_207);
-x_210 = x_263;
-goto block_254;
-}
-else
-{
-x_210 = x_255;
-goto block_254;
-}
-}
-else
-{
-lean_object* x_264; lean_object* x_265;
-lean_dec(x_258);
-x_264 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__5;
-lean_inc(x_207);
-x_265 = l_Lean_Parser_ParserState_mkErrorsAt(x_255, x_264, x_207);
-x_210 = x_265;
-goto block_254;
-}
-}
-else
-{
-lean_object* x_266; lean_object* x_267;
-lean_dec(x_256);
-x_266 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__5;
-lean_inc(x_207);
-x_267 = l_Lean_Parser_ParserState_mkErrorsAt(x_255, x_266, x_207);
-x_210 = x_267;
-goto block_254;
-}
-block_254:
-{
-lean_object* x_211;
-x_211 = lean_ctor_get(x_210, 3);
-lean_inc(x_211);
-if (lean_obj_tag(x_211) == 0)
-{
-lean_object* x_212; lean_object* x_213; lean_object* x_214;
-lean_dec(x_207);
-x_212 = l_Lean_nullKind;
-lean_inc(x_135);
-x_213 = l_Lean_Parser_ParserState_mkNode(x_210, x_212, x_135);
-x_214 = lean_ctor_get(x_213, 3);
-lean_inc(x_214);
-if (lean_obj_tag(x_214) == 0)
-{
-uint8_t x_215; lean_object* x_216; lean_object* x_217; lean_object* x_218; uint8_t x_219; lean_object* x_220;
-x_215 = 0;
-x_216 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_doMatchAlts___elambda__1___spec__1(x_215, x_209, x_213);
-x_217 = l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__2;
-x_218 = l_Lean_Parser_ParserState_mkNode(x_216, x_217, x_135);
-x_219 = 1;
-x_220 = l_Lean_Parser_mergeOrElseErrors(x_218, x_127, x_123, x_219);
-lean_dec(x_123);
-return x_220;
-}
-else
-{
-lean_object* x_221; lean_object* x_222; uint8_t x_223; lean_object* x_224;
-lean_dec(x_214);
-lean_dec(x_209);
-x_221 = l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__2;
-x_222 = l_Lean_Parser_ParserState_mkNode(x_213, x_221, x_135);
-x_223 = 1;
-x_224 = l_Lean_Parser_mergeOrElseErrors(x_222, x_127, x_123, x_223);
-lean_dec(x_123);
-return x_224;
-}
-}
-else
-{
-lean_object* x_225; uint8_t x_226;
-lean_dec(x_211);
-x_225 = lean_ctor_get(x_210, 1);
-lean_inc(x_225);
-x_226 = lean_nat_dec_eq(x_225, x_207);
-lean_dec(x_225);
-if (x_226 == 0)
-{
-lean_object* x_227; lean_object* x_228; lean_object* x_229;
-lean_dec(x_207);
-x_227 = l_Lean_nullKind;
-lean_inc(x_135);
-x_228 = l_Lean_Parser_ParserState_mkNode(x_210, x_227, x_135);
-x_229 = lean_ctor_get(x_228, 3);
-lean_inc(x_229);
-if (lean_obj_tag(x_229) == 0)
-{
-uint8_t x_230; lean_object* x_231; lean_object* x_232; lean_object* x_233; uint8_t x_234; lean_object* x_235;
-x_230 = 0;
-x_231 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_doMatchAlts___elambda__1___spec__1(x_230, x_209, x_228);
-x_232 = l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__2;
-x_233 = l_Lean_Parser_ParserState_mkNode(x_231, x_232, x_135);
-x_234 = 1;
-x_235 = l_Lean_Parser_mergeOrElseErrors(x_233, x_127, x_123, x_234);
-lean_dec(x_123);
-return x_235;
-}
-else
-{
-lean_object* x_236; lean_object* x_237; uint8_t x_238; lean_object* x_239;
-lean_dec(x_229);
-lean_dec(x_209);
-x_236 = l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__2;
-x_237 = l_Lean_Parser_ParserState_mkNode(x_228, x_236, x_135);
-x_238 = 1;
-x_239 = l_Lean_Parser_mergeOrElseErrors(x_237, x_127, x_123, x_238);
-lean_dec(x_123);
-return x_239;
-}
-}
-else
-{
-lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243;
-x_240 = l_Lean_Parser_ParserState_restore(x_210, x_135, x_207);
-x_241 = l_Lean_nullKind;
-lean_inc(x_135);
-x_242 = l_Lean_Parser_ParserState_mkNode(x_240, x_241, x_135);
-x_243 = lean_ctor_get(x_242, 3);
-lean_inc(x_243);
-if (lean_obj_tag(x_243) == 0)
-{
-uint8_t x_244; lean_object* x_245; lean_object* x_246; lean_object* x_247; uint8_t x_248; lean_object* x_249;
-x_244 = 0;
-x_245 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_doMatchAlts___elambda__1___spec__1(x_244, x_209, x_242);
-x_246 = l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__2;
-x_247 = l_Lean_Parser_ParserState_mkNode(x_245, x_246, x_135);
-x_248 = 1;
-x_249 = l_Lean_Parser_mergeOrElseErrors(x_247, x_127, x_123, x_248);
-lean_dec(x_123);
-return x_249;
-}
-else
-{
-lean_object* x_250; lean_object* x_251; uint8_t x_252; lean_object* x_253;
-lean_dec(x_243);
-lean_dec(x_209);
-x_250 = l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__2;
-x_251 = l_Lean_Parser_ParserState_mkNode(x_242, x_250, x_135);
-x_252 = 1;
-x_253 = l_Lean_Parser_mergeOrElseErrors(x_251, x_127, x_123, x_252);
-lean_dec(x_123);
-return x_253;
-}
-}
-}
-}
-}
-}
-else
-{
-uint8_t x_268; lean_object* x_269;
-lean_dec(x_133);
-lean_free_object(x_125);
-lean_dec(x_1);
-x_268 = 1;
-x_269 = l_Lean_Parser_mergeOrElseErrors(x_132, x_127, x_123, x_268);
-lean_dec(x_123);
-return x_269;
-}
-}
-}
-else
-{
-lean_object* x_270; lean_object* x_271; uint8_t x_272;
-x_270 = lean_ctor_get(x_125, 0);
-lean_inc(x_270);
-lean_dec(x_125);
-x_271 = lean_ctor_get(x_124, 1);
-lean_inc(x_271);
-x_272 = lean_nat_dec_eq(x_271, x_123);
-lean_dec(x_271);
-if (x_272 == 0)
-{
-lean_dec(x_270);
-lean_dec(x_123);
-lean_dec(x_122);
-lean_dec(x_1);
-return x_124;
-}
-else
-{
-lean_object* x_273; lean_object* x_274; lean_object* x_275; lean_object* x_276;
-lean_inc(x_123);
-x_273 = l_Lean_Parser_ParserState_restore(x_124, x_122, x_123);
-lean_dec(x_122);
-x_274 = lean_unsigned_to_nat(1024u);
-x_275 = l_Lean_Parser_checkPrecFn(x_274, x_1, x_273);
-x_276 = lean_ctor_get(x_275, 3);
-lean_inc(x_276);
-if (lean_obj_tag(x_276) == 0)
-{
-lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; lean_object* x_281; lean_object* x_282; uint8_t x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286; lean_object* x_287; lean_object* x_288; lean_object* x_289; lean_object* x_290; lean_object* x_291; lean_object* x_336; lean_object* x_337;
-x_277 = lean_ctor_get(x_275, 0);
-lean_inc(x_277);
-x_278 = lean_array_get_size(x_277);
-lean_dec(x_277);
-x_279 = lean_ctor_get(x_1, 0);
-lean_inc(x_279);
-x_280 = lean_ctor_get(x_1, 1);
-lean_inc(x_280);
-x_281 = lean_ctor_get(x_1, 2);
-lean_inc(x_281);
-x_282 = lean_ctor_get(x_1, 3);
-lean_inc(x_282);
-x_283 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
-x_284 = lean_ctor_get(x_1, 5);
-lean_inc(x_284);
-if (lean_is_exclusive(x_1)) {
- lean_ctor_release(x_1, 0);
- lean_ctor_release(x_1, 1);
- lean_ctor_release(x_1, 2);
- lean_ctor_release(x_1, 3);
- lean_ctor_release(x_1, 4);
- lean_ctor_release(x_1, 5);
- x_285 = x_1;
-} else {
- lean_dec_ref(x_1);
- x_285 = lean_box(0);
-}
-x_286 = lean_ctor_get(x_279, 2);
-lean_inc(x_286);
-x_287 = lean_ctor_get(x_275, 1);
-lean_inc(x_287);
-lean_inc(x_287);
-x_288 = l_Lean_FileMap_toPosition(x_286, x_287);
-lean_dec(x_286);
-x_289 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_289, 0, x_288);
-if (lean_is_scalar(x_285)) {
- x_290 = lean_alloc_ctor(0, 6, 1);
-} else {
- x_290 = x_285;
-}
-lean_ctor_set(x_290, 0, x_279);
-lean_ctor_set(x_290, 1, x_280);
-lean_ctor_set(x_290, 2, x_281);
-lean_ctor_set(x_290, 3, x_282);
-lean_ctor_set(x_290, 4, x_289);
-lean_ctor_set(x_290, 5, x_284);
-lean_ctor_set_uint8(x_290, sizeof(void*)*6, x_283);
-lean_inc(x_290);
-x_336 = l_Lean_Parser_tokenFn(x_290, x_275);
-x_337 = lean_ctor_get(x_336, 3);
-lean_inc(x_337);
-if (lean_obj_tag(x_337) == 0)
-{
-lean_object* x_338; lean_object* x_339;
-x_338 = lean_ctor_get(x_336, 0);
-lean_inc(x_338);
-x_339 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_338);
-lean_dec(x_338);
-if (lean_obj_tag(x_339) == 2)
-{
-lean_object* x_340; lean_object* x_341; uint8_t x_342;
-x_340 = lean_ctor_get(x_339, 1);
-lean_inc(x_340);
-lean_dec(x_339);
-x_341 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__2;
-x_342 = lean_string_dec_eq(x_340, x_341);
-lean_dec(x_340);
-if (x_342 == 0)
-{
-lean_object* x_343; lean_object* x_344;
-x_343 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__5;
-lean_inc(x_287);
-x_344 = l_Lean_Parser_ParserState_mkErrorsAt(x_336, x_343, x_287);
-x_291 = x_344;
-goto block_335;
-}
-else
-{
-x_291 = x_336;
-goto block_335;
-}
-}
-else
-{
-lean_object* x_345; lean_object* x_346;
-lean_dec(x_339);
-x_345 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__5;
-lean_inc(x_287);
-x_346 = l_Lean_Parser_ParserState_mkErrorsAt(x_336, x_345, x_287);
-x_291 = x_346;
-goto block_335;
-}
-}
-else
-{
-lean_object* x_347; lean_object* x_348;
-lean_dec(x_337);
-x_347 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__5;
-lean_inc(x_287);
-x_348 = l_Lean_Parser_ParserState_mkErrorsAt(x_336, x_347, x_287);
-x_291 = x_348;
-goto block_335;
-}
-block_335:
-{
-lean_object* x_292;
-x_292 = lean_ctor_get(x_291, 3);
-lean_inc(x_292);
-if (lean_obj_tag(x_292) == 0)
-{
-lean_object* x_293; lean_object* x_294; lean_object* x_295;
-lean_dec(x_287);
-x_293 = l_Lean_nullKind;
-lean_inc(x_278);
-x_294 = l_Lean_Parser_ParserState_mkNode(x_291, x_293, x_278);
-x_295 = lean_ctor_get(x_294, 3);
-lean_inc(x_295);
-if (lean_obj_tag(x_295) == 0)
-{
-uint8_t x_296; lean_object* x_297; lean_object* x_298; lean_object* x_299; uint8_t x_300; lean_object* x_301;
-x_296 = 0;
-x_297 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_doMatchAlts___elambda__1___spec__1(x_296, x_290, x_294);
-x_298 = l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__2;
-x_299 = l_Lean_Parser_ParserState_mkNode(x_297, x_298, x_278);
-x_300 = 1;
-x_301 = l_Lean_Parser_mergeOrElseErrors(x_299, x_270, x_123, x_300);
-lean_dec(x_123);
-return x_301;
-}
-else
-{
-lean_object* x_302; lean_object* x_303; uint8_t x_304; lean_object* x_305;
-lean_dec(x_295);
-lean_dec(x_290);
-x_302 = l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__2;
-x_303 = l_Lean_Parser_ParserState_mkNode(x_294, x_302, x_278);
-x_304 = 1;
-x_305 = l_Lean_Parser_mergeOrElseErrors(x_303, x_270, x_123, x_304);
-lean_dec(x_123);
-return x_305;
-}
-}
-else
-{
-lean_object* x_306; uint8_t x_307;
-lean_dec(x_292);
-x_306 = lean_ctor_get(x_291, 1);
-lean_inc(x_306);
-x_307 = lean_nat_dec_eq(x_306, x_287);
-lean_dec(x_306);
-if (x_307 == 0)
-{
-lean_object* x_308; lean_object* x_309; lean_object* x_310;
-lean_dec(x_287);
-x_308 = l_Lean_nullKind;
-lean_inc(x_278);
-x_309 = l_Lean_Parser_ParserState_mkNode(x_291, x_308, x_278);
-x_310 = lean_ctor_get(x_309, 3);
-lean_inc(x_310);
-if (lean_obj_tag(x_310) == 0)
-{
-uint8_t x_311; lean_object* x_312; lean_object* x_313; lean_object* x_314; uint8_t x_315; lean_object* x_316;
-x_311 = 0;
-x_312 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_doMatchAlts___elambda__1___spec__1(x_311, x_290, x_309);
-x_313 = l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__2;
-x_314 = l_Lean_Parser_ParserState_mkNode(x_312, x_313, x_278);
-x_315 = 1;
-x_316 = l_Lean_Parser_mergeOrElseErrors(x_314, x_270, x_123, x_315);
-lean_dec(x_123);
-return x_316;
-}
-else
-{
-lean_object* x_317; lean_object* x_318; uint8_t x_319; lean_object* x_320;
-lean_dec(x_310);
-lean_dec(x_290);
-x_317 = l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__2;
-x_318 = l_Lean_Parser_ParserState_mkNode(x_309, x_317, x_278);
-x_319 = 1;
-x_320 = l_Lean_Parser_mergeOrElseErrors(x_318, x_270, x_123, x_319);
-lean_dec(x_123);
-return x_320;
-}
-}
-else
-{
-lean_object* x_321; lean_object* x_322; lean_object* x_323; lean_object* x_324;
-x_321 = l_Lean_Parser_ParserState_restore(x_291, x_278, x_287);
-x_322 = l_Lean_nullKind;
-lean_inc(x_278);
-x_323 = l_Lean_Parser_ParserState_mkNode(x_321, x_322, x_278);
-x_324 = lean_ctor_get(x_323, 3);
-lean_inc(x_324);
-if (lean_obj_tag(x_324) == 0)
-{
-uint8_t x_325; lean_object* x_326; lean_object* x_327; lean_object* x_328; uint8_t x_329; lean_object* x_330;
-x_325 = 0;
-x_326 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_doMatchAlts___elambda__1___spec__1(x_325, x_290, x_323);
-x_327 = l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__2;
-x_328 = l_Lean_Parser_ParserState_mkNode(x_326, x_327, x_278);
-x_329 = 1;
-x_330 = l_Lean_Parser_mergeOrElseErrors(x_328, x_270, x_123, x_329);
-lean_dec(x_123);
-return x_330;
-}
-else
-{
-lean_object* x_331; lean_object* x_332; uint8_t x_333; lean_object* x_334;
-lean_dec(x_324);
-lean_dec(x_290);
-x_331 = l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__2;
-x_332 = l_Lean_Parser_ParserState_mkNode(x_323, x_331, x_278);
-x_333 = 1;
-x_334 = l_Lean_Parser_mergeOrElseErrors(x_332, x_270, x_123, x_333);
-lean_dec(x_123);
-return x_334;
-}
-}
-}
-}
-}
-else
-{
-uint8_t x_349; lean_object* x_350;
-lean_dec(x_276);
-lean_dec(x_1);
-x_349 = 1;
-x_350 = l_Lean_Parser_mergeOrElseErrors(x_275, x_270, x_123, x_349);
-lean_dec(x_123);
-return x_350;
-}
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Term_doMatchAlts___closed__1() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Parser_inhabited___closed__1;
-x_2 = l_Lean_Parser_Term_matchAlts___closed__1;
+x_2 = l_Lean_Parser_Term_matchAlts___closed__5;
x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
return x_3;
}
@@ -19502,7 +9937,7 @@ static lean_object* _init_l_Lean_Parser_Term_doMatchAlts___closed__3() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_matchAlts___closed__7;
+x_1 = l_Lean_Parser_Term_matchAlts___closed__13;
x_2 = l_Lean_Parser_Term_doMatchAlts___closed__2;
x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
return x_3;
@@ -19568,28 +10003,6 @@ x_1 = l_Lean_Parser_Term_doMatchAlts___closed__8;
return x_1;
}
}
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_doMatchAlts___elambda__1___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
-_start:
-{
-uint8_t x_6; uint8_t x_7; lean_object* x_8;
-x_6 = lean_unbox(x_1);
-lean_dec(x_1);
-x_7 = lean_unbox(x_3);
-lean_dec(x_3);
-x_8 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_doMatchAlts___elambda__1___spec__2(x_6, x_2, x_7, x_4, x_5);
-return x_8;
-}
-}
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_doMatchAlts___elambda__1___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-uint8_t x_4; lean_object* x_5;
-x_4 = lean_unbox(x_1);
-lean_dec(x_1);
-x_5 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_doMatchAlts___elambda__1___spec__1(x_4, x_2, x_3);
-return x_5;
-}
-}
static lean_object* _init_l_Lean_Parser_Term_doMatch___elambda__1___closed__1() {
_start:
{
@@ -19629,481 +10042,91 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Term_doMatch___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_structInst___elambda__1___closed__5;
+x_2 = l_Lean_Parser_Term_doMatchAlts___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doMatch___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_optType___closed__2;
+x_2 = l_Lean_Parser_Term_doMatch___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doMatch___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_match___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_doMatch___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doMatch___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_match___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Term_doMatch___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doMatch___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_doMatch___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_doMatch___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doMatch___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_byTactic___elambda__1___closed__9;
+x_2 = l_Lean_Parser_Term_doMatch___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Term_doMatch___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Term_doMatch___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = l_Lean_Parser_leadPrec;
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_48; lean_object* x_49; lean_object* x_50;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_48 = lean_ctor_get(x_7, 1);
-lean_inc(x_48);
-lean_inc(x_1);
-x_49 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_50 = lean_ctor_get(x_49, 3);
-lean_inc(x_50);
-if (lean_obj_tag(x_50) == 0)
-{
-lean_object* x_51; lean_object* x_52;
-x_51 = lean_ctor_get(x_49, 0);
-lean_inc(x_51);
-x_52 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_51);
-lean_dec(x_51);
-if (lean_obj_tag(x_52) == 2)
-{
-lean_object* x_53; lean_object* x_54; uint8_t x_55;
-x_53 = lean_ctor_get(x_52, 1);
-lean_inc(x_53);
-lean_dec(x_52);
-x_54 = l_Lean_Parser_Term_match___elambda__1___closed__6;
-x_55 = lean_string_dec_eq(x_53, x_54);
-lean_dec(x_53);
-if (x_55 == 0)
-{
-lean_object* x_56; lean_object* x_57;
-x_56 = l_Lean_Parser_Term_match___elambda__1___closed__10;
-x_57 = l_Lean_Parser_ParserState_mkErrorsAt(x_49, x_56, x_48);
-x_11 = x_57;
-goto block_47;
-}
-else
-{
-lean_dec(x_48);
-x_11 = x_49;
-goto block_47;
-}
-}
-else
-{
-lean_object* x_58; lean_object* x_59;
-lean_dec(x_52);
-x_58 = l_Lean_Parser_Term_match___elambda__1___closed__10;
-x_59 = l_Lean_Parser_ParserState_mkErrorsAt(x_49, x_58, x_48);
-x_11 = x_59;
-goto block_47;
-}
-}
-else
-{
-lean_object* x_60; lean_object* x_61;
-lean_dec(x_50);
-x_60 = l_Lean_Parser_Term_match___elambda__1___closed__10;
-x_61 = l_Lean_Parser_ParserState_mkErrorsAt(x_49, x_60, x_48);
-x_11 = x_61;
-goto block_47;
-}
-block_47:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-uint8_t x_13; lean_object* x_14; lean_object* x_15;
-x_13 = 0;
-lean_inc(x_1);
-x_14 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_match___elambda__1___spec__1(x_13, x_1, x_11);
-x_15 = lean_ctor_get(x_14, 3);
-lean_inc(x_15);
-if (lean_obj_tag(x_15) == 0)
-{
-lean_object* x_16; lean_object* x_17;
-lean_inc(x_1);
-x_16 = l_Lean_Parser_Term_optType___elambda__1(x_1, x_14);
-x_17 = lean_ctor_get(x_16, 3);
-lean_inc(x_17);
-if (lean_obj_tag(x_17) == 0)
-{
-lean_object* x_18; lean_object* x_19; lean_object* x_20;
-x_18 = lean_ctor_get(x_16, 1);
-lean_inc(x_18);
-lean_inc(x_1);
-x_19 = l_Lean_Parser_tokenFn(x_1, x_16);
-x_20 = lean_ctor_get(x_19, 3);
-lean_inc(x_20);
-if (lean_obj_tag(x_20) == 0)
-{
-lean_object* x_21; lean_object* x_22;
-x_21 = lean_ctor_get(x_19, 0);
-lean_inc(x_21);
-x_22 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_21);
-lean_dec(x_21);
-if (lean_obj_tag(x_22) == 2)
-{
-lean_object* x_23; lean_object* x_24; uint8_t x_25;
-x_23 = lean_ctor_get(x_22, 1);
-lean_inc(x_23);
-lean_dec(x_22);
-x_24 = l_Lean_Parser_Term_structInst___elambda__1___closed__4;
-x_25 = lean_string_dec_eq(x_23, x_24);
-lean_dec(x_23);
-if (x_25 == 0)
-{
-lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29;
-lean_dec(x_1);
-x_26 = l_Lean_Parser_Term_structInst___elambda__1___closed__16;
-x_27 = l_Lean_Parser_ParserState_mkErrorsAt(x_19, x_26, x_18);
-x_28 = l_Lean_Parser_Term_doMatch___elambda__1___closed__2;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_27, x_28, x_10);
-return x_29;
-}
-else
-{
-lean_object* x_30; lean_object* x_31; lean_object* x_32;
-lean_dec(x_18);
-x_30 = l_Lean_Parser_Term_doMatchAlts___elambda__1(x_1, x_19);
-x_31 = l_Lean_Parser_Term_doMatch___elambda__1___closed__2;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_10);
-return x_32;
-}
-}
-else
-{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36;
-lean_dec(x_22);
-lean_dec(x_1);
-x_33 = l_Lean_Parser_Term_structInst___elambda__1___closed__16;
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_19, x_33, x_18);
-x_35 = l_Lean_Parser_Term_doMatch___elambda__1___closed__2;
-x_36 = l_Lean_Parser_ParserState_mkNode(x_34, x_35, x_10);
-return x_36;
-}
-}
-else
-{
-lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40;
-lean_dec(x_20);
-lean_dec(x_1);
-x_37 = l_Lean_Parser_Term_structInst___elambda__1___closed__16;
-x_38 = l_Lean_Parser_ParserState_mkErrorsAt(x_19, x_37, x_18);
-x_39 = l_Lean_Parser_Term_doMatch___elambda__1___closed__2;
-x_40 = l_Lean_Parser_ParserState_mkNode(x_38, x_39, x_10);
-return x_40;
-}
-}
-else
-{
-lean_object* x_41; lean_object* x_42;
-lean_dec(x_17);
-lean_dec(x_1);
-x_41 = l_Lean_Parser_Term_doMatch___elambda__1___closed__2;
-x_42 = l_Lean_Parser_ParserState_mkNode(x_16, x_41, x_10);
-return x_42;
-}
-}
-else
-{
-lean_object* x_43; lean_object* x_44;
-lean_dec(x_15);
-lean_dec(x_1);
-x_43 = l_Lean_Parser_Term_doMatch___elambda__1___closed__2;
-x_44 = l_Lean_Parser_ParserState_mkNode(x_14, x_43, x_10);
-return x_44;
-}
-}
-else
-{
-lean_object* x_45; lean_object* x_46;
-lean_dec(x_12);
-lean_dec(x_1);
-x_45 = l_Lean_Parser_Term_doMatch___elambda__1___closed__2;
-x_46 = l_Lean_Parser_ParserState_mkNode(x_11, x_45, x_10);
-return x_46;
-}
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Term_doMatch___elambda__1___closed__10;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66;
-x_62 = lean_ctor_get(x_2, 0);
-lean_inc(x_62);
-x_63 = lean_array_get_size(x_62);
-lean_dec(x_62);
-x_64 = lean_ctor_get(x_2, 1);
-lean_inc(x_64);
-lean_inc(x_1);
-x_65 = lean_apply_2(x_4, x_1, x_2);
-x_66 = lean_ctor_get(x_65, 3);
-lean_inc(x_66);
-if (lean_obj_tag(x_66) == 0)
-{
-lean_dec(x_64);
-lean_dec(x_63);
-lean_dec(x_1);
-return x_65;
-}
-else
-{
-lean_object* x_67; lean_object* x_68; uint8_t x_69;
-x_67 = lean_ctor_get(x_66, 0);
-lean_inc(x_67);
-lean_dec(x_66);
-x_68 = lean_ctor_get(x_65, 1);
-lean_inc(x_68);
-x_69 = lean_nat_dec_eq(x_68, x_64);
-lean_dec(x_68);
-if (x_69 == 0)
-{
-lean_dec(x_67);
-lean_dec(x_64);
-lean_dec(x_63);
-lean_dec(x_1);
-return x_65;
-}
-else
-{
-lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73;
-lean_inc(x_64);
-x_70 = l_Lean_Parser_ParserState_restore(x_65, x_63, x_64);
-lean_dec(x_63);
-x_71 = l_Lean_Parser_leadPrec;
-x_72 = l_Lean_Parser_checkPrecFn(x_71, x_1, x_70);
-x_73 = lean_ctor_get(x_72, 3);
-lean_inc(x_73);
-if (lean_obj_tag(x_73) == 0)
-{
-lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_127; lean_object* x_128; lean_object* x_129;
-x_74 = lean_ctor_get(x_72, 0);
-lean_inc(x_74);
-x_75 = lean_array_get_size(x_74);
-lean_dec(x_74);
-x_127 = lean_ctor_get(x_72, 1);
-lean_inc(x_127);
-lean_inc(x_1);
-x_128 = l_Lean_Parser_tokenFn(x_1, x_72);
-x_129 = lean_ctor_get(x_128, 3);
-lean_inc(x_129);
-if (lean_obj_tag(x_129) == 0)
-{
-lean_object* x_130; lean_object* x_131;
-x_130 = lean_ctor_get(x_128, 0);
-lean_inc(x_130);
-x_131 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_130);
-lean_dec(x_130);
-if (lean_obj_tag(x_131) == 2)
-{
-lean_object* x_132; lean_object* x_133; uint8_t x_134;
-x_132 = lean_ctor_get(x_131, 1);
-lean_inc(x_132);
-lean_dec(x_131);
-x_133 = l_Lean_Parser_Term_match___elambda__1___closed__6;
-x_134 = lean_string_dec_eq(x_132, x_133);
-lean_dec(x_132);
-if (x_134 == 0)
-{
-lean_object* x_135; lean_object* x_136;
-x_135 = l_Lean_Parser_Term_match___elambda__1___closed__10;
-x_136 = l_Lean_Parser_ParserState_mkErrorsAt(x_128, x_135, x_127);
-x_76 = x_136;
-goto block_126;
-}
-else
-{
-lean_dec(x_127);
-x_76 = x_128;
-goto block_126;
-}
-}
-else
-{
-lean_object* x_137; lean_object* x_138;
-lean_dec(x_131);
-x_137 = l_Lean_Parser_Term_match___elambda__1___closed__10;
-x_138 = l_Lean_Parser_ParserState_mkErrorsAt(x_128, x_137, x_127);
-x_76 = x_138;
-goto block_126;
-}
-}
-else
-{
-lean_object* x_139; lean_object* x_140;
-lean_dec(x_129);
-x_139 = l_Lean_Parser_Term_match___elambda__1___closed__10;
-x_140 = l_Lean_Parser_ParserState_mkErrorsAt(x_128, x_139, x_127);
-x_76 = x_140;
-goto block_126;
-}
-block_126:
-{
-lean_object* x_77;
-x_77 = lean_ctor_get(x_76, 3);
-lean_inc(x_77);
-if (lean_obj_tag(x_77) == 0)
-{
-uint8_t x_78; lean_object* x_79; lean_object* x_80;
-x_78 = 0;
-lean_inc(x_1);
-x_79 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_match___elambda__1___spec__1(x_78, x_1, x_76);
-x_80 = lean_ctor_get(x_79, 3);
-lean_inc(x_80);
-if (lean_obj_tag(x_80) == 0)
-{
-lean_object* x_81; lean_object* x_82;
-lean_inc(x_1);
-x_81 = l_Lean_Parser_Term_optType___elambda__1(x_1, x_79);
-x_82 = lean_ctor_get(x_81, 3);
-lean_inc(x_82);
-if (lean_obj_tag(x_82) == 0)
-{
-lean_object* x_83; lean_object* x_84; lean_object* x_85;
-x_83 = lean_ctor_get(x_81, 1);
-lean_inc(x_83);
-lean_inc(x_1);
-x_84 = l_Lean_Parser_tokenFn(x_1, x_81);
-x_85 = lean_ctor_get(x_84, 3);
-lean_inc(x_85);
-if (lean_obj_tag(x_85) == 0)
-{
-lean_object* x_86; lean_object* x_87;
-x_86 = lean_ctor_get(x_84, 0);
-lean_inc(x_86);
-x_87 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_86);
-lean_dec(x_86);
-if (lean_obj_tag(x_87) == 2)
-{
-lean_object* x_88; lean_object* x_89; uint8_t x_90;
-x_88 = lean_ctor_get(x_87, 1);
-lean_inc(x_88);
-lean_dec(x_87);
-x_89 = l_Lean_Parser_Term_structInst___elambda__1___closed__4;
-x_90 = lean_string_dec_eq(x_88, x_89);
-lean_dec(x_88);
-if (x_90 == 0)
-{
-lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; uint8_t x_95; lean_object* x_96;
-lean_dec(x_1);
-x_91 = l_Lean_Parser_Term_structInst___elambda__1___closed__16;
-x_92 = l_Lean_Parser_ParserState_mkErrorsAt(x_84, x_91, x_83);
-x_93 = l_Lean_Parser_Term_doMatch___elambda__1___closed__2;
-x_94 = l_Lean_Parser_ParserState_mkNode(x_92, x_93, x_75);
-x_95 = 1;
-x_96 = l_Lean_Parser_mergeOrElseErrors(x_94, x_67, x_64, x_95);
-lean_dec(x_64);
-return x_96;
-}
-else
-{
-lean_object* x_97; lean_object* x_98; lean_object* x_99; uint8_t x_100; lean_object* x_101;
-lean_dec(x_83);
-x_97 = l_Lean_Parser_Term_doMatchAlts___elambda__1(x_1, x_84);
-x_98 = l_Lean_Parser_Term_doMatch___elambda__1___closed__2;
-x_99 = l_Lean_Parser_ParserState_mkNode(x_97, x_98, x_75);
-x_100 = 1;
-x_101 = l_Lean_Parser_mergeOrElseErrors(x_99, x_67, x_64, x_100);
-lean_dec(x_64);
-return x_101;
-}
-}
-else
-{
-lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; uint8_t x_106; lean_object* x_107;
-lean_dec(x_87);
-lean_dec(x_1);
-x_102 = l_Lean_Parser_Term_structInst___elambda__1___closed__16;
-x_103 = l_Lean_Parser_ParserState_mkErrorsAt(x_84, x_102, x_83);
-x_104 = l_Lean_Parser_Term_doMatch___elambda__1___closed__2;
-x_105 = l_Lean_Parser_ParserState_mkNode(x_103, x_104, x_75);
-x_106 = 1;
-x_107 = l_Lean_Parser_mergeOrElseErrors(x_105, x_67, x_64, x_106);
-lean_dec(x_64);
-return x_107;
-}
-}
-else
-{
-lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; uint8_t x_112; lean_object* x_113;
-lean_dec(x_85);
-lean_dec(x_1);
-x_108 = l_Lean_Parser_Term_structInst___elambda__1___closed__16;
-x_109 = l_Lean_Parser_ParserState_mkErrorsAt(x_84, x_108, x_83);
-x_110 = l_Lean_Parser_Term_doMatch___elambda__1___closed__2;
-x_111 = l_Lean_Parser_ParserState_mkNode(x_109, x_110, x_75);
-x_112 = 1;
-x_113 = l_Lean_Parser_mergeOrElseErrors(x_111, x_67, x_64, x_112);
-lean_dec(x_64);
-return x_113;
-}
-}
-else
-{
-lean_object* x_114; lean_object* x_115; uint8_t x_116; lean_object* x_117;
-lean_dec(x_82);
-lean_dec(x_1);
-x_114 = l_Lean_Parser_Term_doMatch___elambda__1___closed__2;
-x_115 = l_Lean_Parser_ParserState_mkNode(x_81, x_114, x_75);
-x_116 = 1;
-x_117 = l_Lean_Parser_mergeOrElseErrors(x_115, x_67, x_64, x_116);
-lean_dec(x_64);
-return x_117;
-}
-}
-else
-{
-lean_object* x_118; lean_object* x_119; uint8_t x_120; lean_object* x_121;
-lean_dec(x_80);
-lean_dec(x_1);
-x_118 = l_Lean_Parser_Term_doMatch___elambda__1___closed__2;
-x_119 = l_Lean_Parser_ParserState_mkNode(x_79, x_118, x_75);
-x_120 = 1;
-x_121 = l_Lean_Parser_mergeOrElseErrors(x_119, x_67, x_64, x_120);
-lean_dec(x_64);
-return x_121;
-}
-}
-else
-{
-lean_object* x_122; lean_object* x_123; uint8_t x_124; lean_object* x_125;
-lean_dec(x_77);
-lean_dec(x_1);
-x_122 = l_Lean_Parser_Term_doMatch___elambda__1___closed__2;
-x_123 = l_Lean_Parser_ParserState_mkNode(x_76, x_122, x_75);
-x_124 = 1;
-x_125 = l_Lean_Parser_mergeOrElseErrors(x_123, x_67, x_64, x_124);
-lean_dec(x_64);
-return x_125;
-}
-}
-}
-else
-{
-uint8_t x_141; lean_object* x_142;
-lean_dec(x_73);
-lean_dec(x_1);
-x_141 = 1;
-x_142 = l_Lean_Parser_mergeOrElseErrors(x_72, x_67, x_64, x_141);
-lean_dec(x_64);
-return x_142;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Term_doMatch___closed__1() {
_start:
{
@@ -20212,7 +10235,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Term_doMatch(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_2 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4;
+x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__4;
x_3 = l_Lean_Parser_Term_doMatch___elambda__1___closed__2;
x_4 = 1;
x_5 = l_Lean_Parser_Term_doMatch;
@@ -20790,11 +10813,11 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_doCatch___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_doCatch___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_doCatch___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_doCatch___elambda__1___closed__8() {
@@ -20802,977 +10825,94 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Term_doCatch___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_2 = l_Lean_Parser_Term_binderIdent___closed__1;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
static lean_object* _init_l_Lean_Parser_Term_doCatch___elambda__1___closed__9() {
_start:
{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_doCatch___elambda__1___closed__8;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_tryFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doCatch___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optionalFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doCatch___elambda__1___closed__11() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Term_doCatch___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_1 = l_Lean_Parser_Term_doCatch___elambda__1___closed__10;
+x_2 = l_Lean_Parser_Term_doMatchAlt___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doCatch___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_doCatch___elambda__1___closed__9;
+x_2 = l_Lean_Parser_Term_doCatch___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doCatch___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_doCatch___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_doCatch___elambda__1___closed__12;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doCatch___elambda__1___closed__14() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_doCatch___elambda__1___closed__13;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
lean_object* l_Lean_Parser_Term_doCatch___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Term_doCatch___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_81; lean_object* x_105; lean_object* x_106;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_ctor_get(x_7, 1);
-lean_inc(x_10);
-x_11 = lean_array_get_size(x_9);
-lean_dec(x_9);
-lean_inc(x_1);
-x_105 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_106 = lean_ctor_get(x_105, 3);
-lean_inc(x_106);
-if (lean_obj_tag(x_106) == 0)
-{
-lean_object* x_107; lean_object* x_108;
-x_107 = lean_ctor_get(x_105, 0);
-lean_inc(x_107);
-x_108 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_107);
-lean_dec(x_107);
-if (lean_obj_tag(x_108) == 2)
-{
-lean_object* x_109; lean_object* x_110; uint8_t x_111;
-x_109 = lean_ctor_get(x_108, 1);
-lean_inc(x_109);
-lean_dec(x_108);
-x_110 = l_Lean_Parser_Term_doCatch___elambda__1___closed__6;
-x_111 = lean_string_dec_eq(x_109, x_110);
-lean_dec(x_109);
-if (x_111 == 0)
-{
-lean_object* x_112; lean_object* x_113;
-x_112 = l_Lean_Parser_Term_doCatch___elambda__1___closed__9;
-lean_inc(x_10);
-x_113 = l_Lean_Parser_ParserState_mkErrorsAt(x_105, x_112, x_10);
-x_81 = x_113;
-goto block_104;
-}
-else
-{
-x_81 = x_105;
-goto block_104;
-}
-}
-else
-{
-lean_object* x_114; lean_object* x_115;
-lean_dec(x_108);
-x_114 = l_Lean_Parser_Term_doCatch___elambda__1___closed__9;
-lean_inc(x_10);
-x_115 = l_Lean_Parser_ParserState_mkErrorsAt(x_105, x_114, x_10);
-x_81 = x_115;
-goto block_104;
-}
-}
-else
-{
-lean_object* x_116; lean_object* x_117;
-lean_dec(x_106);
-x_116 = l_Lean_Parser_Term_doCatch___elambda__1___closed__9;
-lean_inc(x_10);
-x_117 = l_Lean_Parser_ParserState_mkErrorsAt(x_105, x_116, x_10);
-x_81 = x_117;
-goto block_104;
-}
-block_80:
-{
-lean_object* x_13;
-x_13 = lean_ctor_get(x_12, 3);
-lean_inc(x_13);
-if (lean_obj_tag(x_13) == 0)
-{
-lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_59; lean_object* x_65; lean_object* x_66;
-x_14 = lean_ctor_get(x_12, 0);
-lean_inc(x_14);
-x_15 = lean_array_get_size(x_14);
-lean_dec(x_14);
-x_16 = lean_ctor_get(x_12, 1);
-lean_inc(x_16);
-lean_inc(x_1);
-x_65 = l_Lean_Parser_tokenFn(x_1, x_12);
-x_66 = lean_ctor_get(x_65, 3);
-lean_inc(x_66);
-if (lean_obj_tag(x_66) == 0)
-{
-lean_object* x_67; lean_object* x_68;
-x_67 = lean_ctor_get(x_65, 0);
-lean_inc(x_67);
-x_68 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_67);
-lean_dec(x_67);
-if (lean_obj_tag(x_68) == 2)
-{
-lean_object* x_69; lean_object* x_70; uint8_t x_71;
-x_69 = lean_ctor_get(x_68, 1);
-lean_inc(x_69);
-lean_dec(x_68);
-x_70 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__3;
-x_71 = lean_string_dec_eq(x_69, x_70);
-lean_dec(x_69);
-if (x_71 == 0)
-{
-lean_object* x_72; lean_object* x_73;
-x_72 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-lean_inc(x_16);
-x_73 = l_Lean_Parser_ParserState_mkErrorsAt(x_65, x_72, x_16);
-x_59 = x_73;
-goto block_64;
-}
-else
-{
-x_59 = x_65;
-goto block_64;
-}
-}
-else
-{
-lean_object* x_74; lean_object* x_75;
-lean_dec(x_68);
-x_74 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-lean_inc(x_16);
-x_75 = l_Lean_Parser_ParserState_mkErrorsAt(x_65, x_74, x_16);
-x_59 = x_75;
-goto block_64;
-}
-}
-else
-{
-lean_object* x_76; lean_object* x_77;
-lean_dec(x_66);
-x_76 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-lean_inc(x_16);
-x_77 = l_Lean_Parser_ParserState_mkErrorsAt(x_65, x_76, x_16);
-x_59 = x_77;
-goto block_64;
-}
-block_58:
-{
-lean_object* x_18;
-x_18 = lean_ctor_get(x_17, 3);
-lean_inc(x_18);
-if (lean_obj_tag(x_18) == 0)
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21;
-lean_dec(x_16);
-x_19 = l_Lean_nullKind;
-x_20 = l_Lean_Parser_ParserState_mkNode(x_17, x_19, x_15);
-x_21 = lean_ctor_get(x_20, 3);
-lean_inc(x_21);
-if (lean_obj_tag(x_21) == 0)
-{
-lean_object* x_22; lean_object* x_23;
-lean_inc(x_1);
-x_22 = l_Lean_Parser_darrow___elambda__1(x_1, x_20);
-x_23 = lean_ctor_get(x_22, 3);
-lean_inc(x_23);
-if (lean_obj_tag(x_23) == 0)
-{
-lean_object* x_24; lean_object* x_25; lean_object* x_26;
-x_24 = l_Lean_Parser_Term_doSeq___elambda__1(x_1, x_22);
-x_25 = l_Lean_Parser_Term_doCatch___elambda__1___closed__2;
-x_26 = l_Lean_Parser_ParserState_mkNode(x_24, x_25, x_11);
-return x_26;
-}
-else
-{
-lean_object* x_27; lean_object* x_28;
-lean_dec(x_23);
-lean_dec(x_1);
-x_27 = l_Lean_Parser_Term_doCatch___elambda__1___closed__2;
-x_28 = l_Lean_Parser_ParserState_mkNode(x_22, x_27, x_11);
-return x_28;
-}
-}
-else
-{
-lean_object* x_29; lean_object* x_30;
-lean_dec(x_21);
-lean_dec(x_1);
-x_29 = l_Lean_Parser_Term_doCatch___elambda__1___closed__2;
-x_30 = l_Lean_Parser_ParserState_mkNode(x_20, x_29, x_11);
-return x_30;
-}
-}
-else
-{
-lean_object* x_31; uint8_t x_32;
-lean_dec(x_18);
-x_31 = lean_ctor_get(x_17, 1);
-lean_inc(x_31);
-x_32 = lean_nat_dec_eq(x_31, x_16);
-lean_dec(x_31);
-if (x_32 == 0)
-{
-lean_object* x_33; lean_object* x_34; lean_object* x_35;
-lean_dec(x_16);
-x_33 = l_Lean_nullKind;
-x_34 = l_Lean_Parser_ParserState_mkNode(x_17, x_33, x_15);
-x_35 = lean_ctor_get(x_34, 3);
-lean_inc(x_35);
-if (lean_obj_tag(x_35) == 0)
-{
-lean_object* x_36; lean_object* x_37;
-lean_inc(x_1);
-x_36 = l_Lean_Parser_darrow___elambda__1(x_1, x_34);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_object* x_38; lean_object* x_39; lean_object* x_40;
-x_38 = l_Lean_Parser_Term_doSeq___elambda__1(x_1, x_36);
-x_39 = l_Lean_Parser_Term_doCatch___elambda__1___closed__2;
-x_40 = l_Lean_Parser_ParserState_mkNode(x_38, x_39, x_11);
-return x_40;
-}
-else
-{
-lean_object* x_41; lean_object* x_42;
-lean_dec(x_37);
-lean_dec(x_1);
-x_41 = l_Lean_Parser_Term_doCatch___elambda__1___closed__2;
-x_42 = l_Lean_Parser_ParserState_mkNode(x_36, x_41, x_11);
-return x_42;
-}
-}
-else
-{
-lean_object* x_43; lean_object* x_44;
-lean_dec(x_35);
-lean_dec(x_1);
-x_43 = l_Lean_Parser_Term_doCatch___elambda__1___closed__2;
-x_44 = l_Lean_Parser_ParserState_mkNode(x_34, x_43, x_11);
-return x_44;
-}
-}
-else
-{
-lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48;
-x_45 = l_Lean_Parser_ParserState_restore(x_17, x_15, x_16);
-x_46 = l_Lean_nullKind;
-x_47 = l_Lean_Parser_ParserState_mkNode(x_45, x_46, x_15);
-x_48 = lean_ctor_get(x_47, 3);
-lean_inc(x_48);
-if (lean_obj_tag(x_48) == 0)
-{
-lean_object* x_49; lean_object* x_50;
-lean_inc(x_1);
-x_49 = l_Lean_Parser_darrow___elambda__1(x_1, x_47);
-x_50 = lean_ctor_get(x_49, 3);
-lean_inc(x_50);
-if (lean_obj_tag(x_50) == 0)
-{
-lean_object* x_51; lean_object* x_52; lean_object* x_53;
-x_51 = l_Lean_Parser_Term_doSeq___elambda__1(x_1, x_49);
-x_52 = l_Lean_Parser_Term_doCatch___elambda__1___closed__2;
-x_53 = l_Lean_Parser_ParserState_mkNode(x_51, x_52, x_11);
-return x_53;
-}
-else
-{
-lean_object* x_54; lean_object* x_55;
-lean_dec(x_50);
-lean_dec(x_1);
-x_54 = l_Lean_Parser_Term_doCatch___elambda__1___closed__2;
-x_55 = l_Lean_Parser_ParserState_mkNode(x_49, x_54, x_11);
-return x_55;
-}
-}
-else
-{
-lean_object* x_56; lean_object* x_57;
-lean_dec(x_48);
-lean_dec(x_1);
-x_56 = l_Lean_Parser_Term_doCatch___elambda__1___closed__2;
-x_57 = l_Lean_Parser_ParserState_mkNode(x_47, x_56, x_11);
-return x_57;
-}
-}
-}
-}
-block_64:
-{
-lean_object* x_60;
-x_60 = lean_ctor_get(x_59, 3);
-lean_inc(x_60);
-if (lean_obj_tag(x_60) == 0)
-{
-lean_object* x_61; lean_object* x_62; lean_object* x_63;
-x_61 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_62 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_63 = l_Lean_Parser_categoryParser___elambda__1(x_61, x_62, x_1, x_59);
-x_17 = x_63;
-goto block_58;
-}
-else
-{
-lean_dec(x_60);
-x_17 = x_59;
-goto block_58;
-}
-}
-}
-else
-{
-lean_object* x_78; lean_object* x_79;
-lean_dec(x_13);
-lean_dec(x_1);
-x_78 = l_Lean_Parser_Term_doCatch___elambda__1___closed__2;
-x_79 = l_Lean_Parser_ParserState_mkNode(x_12, x_78, x_11);
-return x_79;
-}
-}
-block_104:
-{
-lean_object* x_82;
-x_82 = lean_ctor_get(x_81, 3);
-lean_inc(x_82);
-if (lean_obj_tag(x_82) == 0)
-{
-lean_object* x_83; lean_object* x_84;
-lean_inc(x_1);
-x_83 = l_Lean_Parser_Term_binderIdent___elambda__1(x_1, x_81);
-x_84 = lean_ctor_get(x_83, 3);
-lean_inc(x_84);
-if (lean_obj_tag(x_84) == 0)
-{
-lean_dec(x_10);
-x_12 = x_83;
-goto block_80;
-}
-else
-{
-uint8_t x_85;
-x_85 = !lean_is_exclusive(x_83);
-if (x_85 == 0)
-{
-lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89;
-x_86 = lean_ctor_get(x_83, 0);
-x_87 = lean_ctor_get(x_83, 3);
-lean_dec(x_87);
-x_88 = lean_ctor_get(x_83, 1);
-lean_dec(x_88);
-x_89 = l_Array_shrink___main___rarg(x_86, x_11);
-lean_ctor_set(x_83, 1, x_10);
-lean_ctor_set(x_83, 0, x_89);
-x_12 = x_83;
-goto block_80;
-}
-else
-{
-lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93;
-x_90 = lean_ctor_get(x_83, 0);
-x_91 = lean_ctor_get(x_83, 2);
-lean_inc(x_91);
-lean_inc(x_90);
-lean_dec(x_83);
-x_92 = l_Array_shrink___main___rarg(x_90, x_11);
-x_93 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_93, 0, x_92);
-lean_ctor_set(x_93, 1, x_10);
-lean_ctor_set(x_93, 2, x_91);
-lean_ctor_set(x_93, 3, x_84);
-x_12 = x_93;
-goto block_80;
-}
-}
-}
-else
-{
-lean_object* x_94;
-lean_dec(x_82);
-x_94 = lean_ctor_get(x_81, 3);
-lean_inc(x_94);
-if (lean_obj_tag(x_94) == 0)
-{
-lean_dec(x_10);
-x_12 = x_81;
-goto block_80;
-}
-else
-{
-uint8_t x_95;
-x_95 = !lean_is_exclusive(x_81);
-if (x_95 == 0)
-{
-lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99;
-x_96 = lean_ctor_get(x_81, 0);
-x_97 = lean_ctor_get(x_81, 3);
-lean_dec(x_97);
-x_98 = lean_ctor_get(x_81, 1);
-lean_dec(x_98);
-x_99 = l_Array_shrink___main___rarg(x_96, x_11);
-lean_ctor_set(x_81, 1, x_10);
-lean_ctor_set(x_81, 0, x_99);
-x_12 = x_81;
-goto block_80;
-}
-else
-{
-lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103;
-x_100 = lean_ctor_get(x_81, 0);
-x_101 = lean_ctor_get(x_81, 2);
-lean_inc(x_101);
-lean_inc(x_100);
-lean_dec(x_81);
-x_102 = l_Array_shrink___main___rarg(x_100, x_11);
-x_103 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_103, 0, x_102);
-lean_ctor_set(x_103, 1, x_10);
-lean_ctor_set(x_103, 2, x_101);
-lean_ctor_set(x_103, 3, x_94);
-x_12 = x_103;
-goto block_80;
-}
-}
-}
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Term_doCatch___elambda__1___closed__14;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122;
-x_118 = lean_ctor_get(x_2, 0);
-lean_inc(x_118);
-x_119 = lean_array_get_size(x_118);
-lean_dec(x_118);
-x_120 = lean_ctor_get(x_2, 1);
-lean_inc(x_120);
-lean_inc(x_1);
-x_121 = lean_apply_2(x_4, x_1, x_2);
-x_122 = lean_ctor_get(x_121, 3);
-lean_inc(x_122);
-if (lean_obj_tag(x_122) == 0)
-{
-lean_dec(x_120);
-lean_dec(x_119);
-lean_dec(x_1);
-return x_121;
-}
-else
-{
-lean_object* x_123; lean_object* x_124; uint8_t x_125;
-x_123 = lean_ctor_get(x_122, 0);
-lean_inc(x_123);
-lean_dec(x_122);
-x_124 = lean_ctor_get(x_121, 1);
-lean_inc(x_124);
-x_125 = lean_nat_dec_eq(x_124, x_120);
-lean_dec(x_124);
-if (x_125 == 0)
-{
-lean_dec(x_123);
-lean_dec(x_120);
-lean_dec(x_119);
-lean_dec(x_1);
-return x_121;
-}
-else
-{
-lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129;
-lean_inc(x_120);
-x_126 = l_Lean_Parser_ParserState_restore(x_121, x_119, x_120);
-lean_dec(x_119);
-x_127 = lean_unsigned_to_nat(1024u);
-x_128 = l_Lean_Parser_checkPrecFn(x_127, x_1, x_126);
-x_129 = lean_ctor_get(x_128, 3);
-lean_inc(x_129);
-if (lean_obj_tag(x_129) == 0)
-{
-lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_222; lean_object* x_246; lean_object* x_247;
-x_130 = lean_ctor_get(x_128, 0);
-lean_inc(x_130);
-x_131 = lean_ctor_get(x_128, 1);
-lean_inc(x_131);
-x_132 = lean_array_get_size(x_130);
-lean_dec(x_130);
-lean_inc(x_1);
-x_246 = l_Lean_Parser_tokenFn(x_1, x_128);
-x_247 = lean_ctor_get(x_246, 3);
-lean_inc(x_247);
-if (lean_obj_tag(x_247) == 0)
-{
-lean_object* x_248; lean_object* x_249;
-x_248 = lean_ctor_get(x_246, 0);
-lean_inc(x_248);
-x_249 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_248);
-lean_dec(x_248);
-if (lean_obj_tag(x_249) == 2)
-{
-lean_object* x_250; lean_object* x_251; uint8_t x_252;
-x_250 = lean_ctor_get(x_249, 1);
-lean_inc(x_250);
-lean_dec(x_249);
-x_251 = l_Lean_Parser_Term_doCatch___elambda__1___closed__6;
-x_252 = lean_string_dec_eq(x_250, x_251);
-lean_dec(x_250);
-if (x_252 == 0)
-{
-lean_object* x_253; lean_object* x_254;
-x_253 = l_Lean_Parser_Term_doCatch___elambda__1___closed__9;
-lean_inc(x_131);
-x_254 = l_Lean_Parser_ParserState_mkErrorsAt(x_246, x_253, x_131);
-x_222 = x_254;
-goto block_245;
-}
-else
-{
-x_222 = x_246;
-goto block_245;
-}
-}
-else
-{
-lean_object* x_255; lean_object* x_256;
-lean_dec(x_249);
-x_255 = l_Lean_Parser_Term_doCatch___elambda__1___closed__9;
-lean_inc(x_131);
-x_256 = l_Lean_Parser_ParserState_mkErrorsAt(x_246, x_255, x_131);
-x_222 = x_256;
-goto block_245;
-}
-}
-else
-{
-lean_object* x_257; lean_object* x_258;
-lean_dec(x_247);
-x_257 = l_Lean_Parser_Term_doCatch___elambda__1___closed__9;
-lean_inc(x_131);
-x_258 = l_Lean_Parser_ParserState_mkErrorsAt(x_246, x_257, x_131);
-x_222 = x_258;
-goto block_245;
-}
-block_221:
-{
-lean_object* x_134;
-x_134 = lean_ctor_get(x_133, 3);
-lean_inc(x_134);
-if (lean_obj_tag(x_134) == 0)
-{
-lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_198; lean_object* x_204; lean_object* x_205;
-x_135 = lean_ctor_get(x_133, 0);
-lean_inc(x_135);
-x_136 = lean_array_get_size(x_135);
-lean_dec(x_135);
-x_137 = lean_ctor_get(x_133, 1);
-lean_inc(x_137);
-lean_inc(x_1);
-x_204 = l_Lean_Parser_tokenFn(x_1, x_133);
-x_205 = lean_ctor_get(x_204, 3);
-lean_inc(x_205);
-if (lean_obj_tag(x_205) == 0)
-{
-lean_object* x_206; lean_object* x_207;
-x_206 = lean_ctor_get(x_204, 0);
-lean_inc(x_206);
-x_207 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_206);
-lean_dec(x_206);
-if (lean_obj_tag(x_207) == 2)
-{
-lean_object* x_208; lean_object* x_209; uint8_t x_210;
-x_208 = lean_ctor_get(x_207, 1);
-lean_inc(x_208);
-lean_dec(x_207);
-x_209 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__3;
-x_210 = lean_string_dec_eq(x_208, x_209);
-lean_dec(x_208);
-if (x_210 == 0)
-{
-lean_object* x_211; lean_object* x_212;
-x_211 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-lean_inc(x_137);
-x_212 = l_Lean_Parser_ParserState_mkErrorsAt(x_204, x_211, x_137);
-x_198 = x_212;
-goto block_203;
-}
-else
-{
-x_198 = x_204;
-goto block_203;
-}
-}
-else
-{
-lean_object* x_213; lean_object* x_214;
-lean_dec(x_207);
-x_213 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-lean_inc(x_137);
-x_214 = l_Lean_Parser_ParserState_mkErrorsAt(x_204, x_213, x_137);
-x_198 = x_214;
-goto block_203;
-}
-}
-else
-{
-lean_object* x_215; lean_object* x_216;
-lean_dec(x_205);
-x_215 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-lean_inc(x_137);
-x_216 = l_Lean_Parser_ParserState_mkErrorsAt(x_204, x_215, x_137);
-x_198 = x_216;
-goto block_203;
-}
-block_197:
-{
-lean_object* x_139;
-x_139 = lean_ctor_get(x_138, 3);
-lean_inc(x_139);
-if (lean_obj_tag(x_139) == 0)
-{
-lean_object* x_140; lean_object* x_141; lean_object* x_142;
-lean_dec(x_137);
-x_140 = l_Lean_nullKind;
-x_141 = l_Lean_Parser_ParserState_mkNode(x_138, x_140, x_136);
-x_142 = lean_ctor_get(x_141, 3);
-lean_inc(x_142);
-if (lean_obj_tag(x_142) == 0)
-{
-lean_object* x_143; lean_object* x_144;
-lean_inc(x_1);
-x_143 = l_Lean_Parser_darrow___elambda__1(x_1, x_141);
-x_144 = lean_ctor_get(x_143, 3);
-lean_inc(x_144);
-if (lean_obj_tag(x_144) == 0)
-{
-lean_object* x_145; lean_object* x_146; lean_object* x_147; uint8_t x_148; lean_object* x_149;
-x_145 = l_Lean_Parser_Term_doSeq___elambda__1(x_1, x_143);
-x_146 = l_Lean_Parser_Term_doCatch___elambda__1___closed__2;
-x_147 = l_Lean_Parser_ParserState_mkNode(x_145, x_146, x_132);
-x_148 = 1;
-x_149 = l_Lean_Parser_mergeOrElseErrors(x_147, x_123, x_120, x_148);
-lean_dec(x_120);
-return x_149;
-}
-else
-{
-lean_object* x_150; lean_object* x_151; uint8_t x_152; lean_object* x_153;
-lean_dec(x_144);
-lean_dec(x_1);
-x_150 = l_Lean_Parser_Term_doCatch___elambda__1___closed__2;
-x_151 = l_Lean_Parser_ParserState_mkNode(x_143, x_150, x_132);
-x_152 = 1;
-x_153 = l_Lean_Parser_mergeOrElseErrors(x_151, x_123, x_120, x_152);
-lean_dec(x_120);
-return x_153;
-}
-}
-else
-{
-lean_object* x_154; lean_object* x_155; uint8_t x_156; lean_object* x_157;
-lean_dec(x_142);
-lean_dec(x_1);
-x_154 = l_Lean_Parser_Term_doCatch___elambda__1___closed__2;
-x_155 = l_Lean_Parser_ParserState_mkNode(x_141, x_154, x_132);
-x_156 = 1;
-x_157 = l_Lean_Parser_mergeOrElseErrors(x_155, x_123, x_120, x_156);
-lean_dec(x_120);
-return x_157;
-}
-}
-else
-{
-lean_object* x_158; uint8_t x_159;
-lean_dec(x_139);
-x_158 = lean_ctor_get(x_138, 1);
-lean_inc(x_158);
-x_159 = lean_nat_dec_eq(x_158, x_137);
-lean_dec(x_158);
-if (x_159 == 0)
-{
-lean_object* x_160; lean_object* x_161; lean_object* x_162;
-lean_dec(x_137);
-x_160 = l_Lean_nullKind;
-x_161 = l_Lean_Parser_ParserState_mkNode(x_138, x_160, x_136);
-x_162 = lean_ctor_get(x_161, 3);
-lean_inc(x_162);
-if (lean_obj_tag(x_162) == 0)
-{
-lean_object* x_163; lean_object* x_164;
-lean_inc(x_1);
-x_163 = l_Lean_Parser_darrow___elambda__1(x_1, x_161);
-x_164 = lean_ctor_get(x_163, 3);
-lean_inc(x_164);
-if (lean_obj_tag(x_164) == 0)
-{
-lean_object* x_165; lean_object* x_166; lean_object* x_167; uint8_t x_168; lean_object* x_169;
-x_165 = l_Lean_Parser_Term_doSeq___elambda__1(x_1, x_163);
-x_166 = l_Lean_Parser_Term_doCatch___elambda__1___closed__2;
-x_167 = l_Lean_Parser_ParserState_mkNode(x_165, x_166, x_132);
-x_168 = 1;
-x_169 = l_Lean_Parser_mergeOrElseErrors(x_167, x_123, x_120, x_168);
-lean_dec(x_120);
-return x_169;
-}
-else
-{
-lean_object* x_170; lean_object* x_171; uint8_t x_172; lean_object* x_173;
-lean_dec(x_164);
-lean_dec(x_1);
-x_170 = l_Lean_Parser_Term_doCatch___elambda__1___closed__2;
-x_171 = l_Lean_Parser_ParserState_mkNode(x_163, x_170, x_132);
-x_172 = 1;
-x_173 = l_Lean_Parser_mergeOrElseErrors(x_171, x_123, x_120, x_172);
-lean_dec(x_120);
-return x_173;
-}
-}
-else
-{
-lean_object* x_174; lean_object* x_175; uint8_t x_176; lean_object* x_177;
-lean_dec(x_162);
-lean_dec(x_1);
-x_174 = l_Lean_Parser_Term_doCatch___elambda__1___closed__2;
-x_175 = l_Lean_Parser_ParserState_mkNode(x_161, x_174, x_132);
-x_176 = 1;
-x_177 = l_Lean_Parser_mergeOrElseErrors(x_175, x_123, x_120, x_176);
-lean_dec(x_120);
-return x_177;
-}
-}
-else
-{
-lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181;
-x_178 = l_Lean_Parser_ParserState_restore(x_138, x_136, x_137);
-x_179 = l_Lean_nullKind;
-x_180 = l_Lean_Parser_ParserState_mkNode(x_178, x_179, x_136);
-x_181 = lean_ctor_get(x_180, 3);
-lean_inc(x_181);
-if (lean_obj_tag(x_181) == 0)
-{
-lean_object* x_182; lean_object* x_183;
-lean_inc(x_1);
-x_182 = l_Lean_Parser_darrow___elambda__1(x_1, x_180);
-x_183 = lean_ctor_get(x_182, 3);
-lean_inc(x_183);
-if (lean_obj_tag(x_183) == 0)
-{
-lean_object* x_184; lean_object* x_185; lean_object* x_186; uint8_t x_187; lean_object* x_188;
-x_184 = l_Lean_Parser_Term_doSeq___elambda__1(x_1, x_182);
-x_185 = l_Lean_Parser_Term_doCatch___elambda__1___closed__2;
-x_186 = l_Lean_Parser_ParserState_mkNode(x_184, x_185, x_132);
-x_187 = 1;
-x_188 = l_Lean_Parser_mergeOrElseErrors(x_186, x_123, x_120, x_187);
-lean_dec(x_120);
-return x_188;
-}
-else
-{
-lean_object* x_189; lean_object* x_190; uint8_t x_191; lean_object* x_192;
-lean_dec(x_183);
-lean_dec(x_1);
-x_189 = l_Lean_Parser_Term_doCatch___elambda__1___closed__2;
-x_190 = l_Lean_Parser_ParserState_mkNode(x_182, x_189, x_132);
-x_191 = 1;
-x_192 = l_Lean_Parser_mergeOrElseErrors(x_190, x_123, x_120, x_191);
-lean_dec(x_120);
-return x_192;
-}
-}
-else
-{
-lean_object* x_193; lean_object* x_194; uint8_t x_195; lean_object* x_196;
-lean_dec(x_181);
-lean_dec(x_1);
-x_193 = l_Lean_Parser_Term_doCatch___elambda__1___closed__2;
-x_194 = l_Lean_Parser_ParserState_mkNode(x_180, x_193, x_132);
-x_195 = 1;
-x_196 = l_Lean_Parser_mergeOrElseErrors(x_194, x_123, x_120, x_195);
-lean_dec(x_120);
-return x_196;
-}
-}
-}
-}
-block_203:
-{
-lean_object* x_199;
-x_199 = lean_ctor_get(x_198, 3);
-lean_inc(x_199);
-if (lean_obj_tag(x_199) == 0)
-{
-lean_object* x_200; lean_object* x_201; lean_object* x_202;
-x_200 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_201 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_202 = l_Lean_Parser_categoryParser___elambda__1(x_200, x_201, x_1, x_198);
-x_138 = x_202;
-goto block_197;
-}
-else
-{
-lean_dec(x_199);
-x_138 = x_198;
-goto block_197;
-}
-}
-}
-else
-{
-lean_object* x_217; lean_object* x_218; uint8_t x_219; lean_object* x_220;
-lean_dec(x_134);
-lean_dec(x_1);
-x_217 = l_Lean_Parser_Term_doCatch___elambda__1___closed__2;
-x_218 = l_Lean_Parser_ParserState_mkNode(x_133, x_217, x_132);
-x_219 = 1;
-x_220 = l_Lean_Parser_mergeOrElseErrors(x_218, x_123, x_120, x_219);
-lean_dec(x_120);
-return x_220;
-}
-}
-block_245:
-{
-lean_object* x_223;
-x_223 = lean_ctor_get(x_222, 3);
-lean_inc(x_223);
-if (lean_obj_tag(x_223) == 0)
-{
-lean_object* x_224; lean_object* x_225;
-lean_inc(x_1);
-x_224 = l_Lean_Parser_Term_binderIdent___elambda__1(x_1, x_222);
-x_225 = lean_ctor_get(x_224, 3);
-lean_inc(x_225);
-if (lean_obj_tag(x_225) == 0)
-{
-lean_dec(x_131);
-x_133 = x_224;
-goto block_221;
-}
-else
-{
-uint8_t x_226;
-x_226 = !lean_is_exclusive(x_224);
-if (x_226 == 0)
-{
-lean_object* x_227; lean_object* x_228; lean_object* x_229; lean_object* x_230;
-x_227 = lean_ctor_get(x_224, 0);
-x_228 = lean_ctor_get(x_224, 3);
-lean_dec(x_228);
-x_229 = lean_ctor_get(x_224, 1);
-lean_dec(x_229);
-x_230 = l_Array_shrink___main___rarg(x_227, x_132);
-lean_ctor_set(x_224, 1, x_131);
-lean_ctor_set(x_224, 0, x_230);
-x_133 = x_224;
-goto block_221;
-}
-else
-{
-lean_object* x_231; lean_object* x_232; lean_object* x_233; lean_object* x_234;
-x_231 = lean_ctor_get(x_224, 0);
-x_232 = lean_ctor_get(x_224, 2);
-lean_inc(x_232);
-lean_inc(x_231);
-lean_dec(x_224);
-x_233 = l_Array_shrink___main___rarg(x_231, x_132);
-x_234 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_234, 0, x_233);
-lean_ctor_set(x_234, 1, x_131);
-lean_ctor_set(x_234, 2, x_232);
-lean_ctor_set(x_234, 3, x_225);
-x_133 = x_234;
-goto block_221;
-}
-}
-}
-else
-{
-lean_object* x_235;
-lean_dec(x_223);
-x_235 = lean_ctor_get(x_222, 3);
-lean_inc(x_235);
-if (lean_obj_tag(x_235) == 0)
-{
-lean_dec(x_131);
-x_133 = x_222;
-goto block_221;
-}
-else
-{
-uint8_t x_236;
-x_236 = !lean_is_exclusive(x_222);
-if (x_236 == 0)
-{
-lean_object* x_237; lean_object* x_238; lean_object* x_239; lean_object* x_240;
-x_237 = lean_ctor_get(x_222, 0);
-x_238 = lean_ctor_get(x_222, 3);
-lean_dec(x_238);
-x_239 = lean_ctor_get(x_222, 1);
-lean_dec(x_239);
-x_240 = l_Array_shrink___main___rarg(x_237, x_132);
-lean_ctor_set(x_222, 1, x_131);
-lean_ctor_set(x_222, 0, x_240);
-x_133 = x_222;
-goto block_221;
-}
-else
-{
-lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244;
-x_241 = lean_ctor_get(x_222, 0);
-x_242 = lean_ctor_get(x_222, 2);
-lean_inc(x_242);
-lean_inc(x_241);
-lean_dec(x_222);
-x_243 = l_Array_shrink___main___rarg(x_241, x_132);
-x_244 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_244, 0, x_243);
-lean_ctor_set(x_244, 1, x_131);
-lean_ctor_set(x_244, 2, x_242);
-lean_ctor_set(x_244, 3, x_235);
-x_133 = x_244;
-goto block_221;
-}
-}
-}
-}
-}
-else
-{
-uint8_t x_259; lean_object* x_260;
-lean_dec(x_129);
-lean_dec(x_1);
-x_259 = 1;
-x_260 = l_Lean_Parser_mergeOrElseErrors(x_128, x_123, x_120, x_259);
-lean_dec(x_120);
-return x_260;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Term_doCatch___closed__1() {
_start:
{
@@ -21913,274 +11053,55 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Term_doCatchMatch___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_doCatch___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Term_doMatchAlts___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doCatchMatch___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_doCatchMatch___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_doCatchMatch___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doCatchMatch___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_doCatchMatch___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Term_doCatchMatch___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Term_doCatchMatch___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_19; lean_object* x_20; lean_object* x_21;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_19 = lean_ctor_get(x_7, 1);
-lean_inc(x_19);
-lean_inc(x_1);
-x_20 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_21 = lean_ctor_get(x_20, 3);
-lean_inc(x_21);
-if (lean_obj_tag(x_21) == 0)
-{
-lean_object* x_22; lean_object* x_23;
-x_22 = lean_ctor_get(x_20, 0);
-lean_inc(x_22);
-x_23 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_22);
-lean_dec(x_22);
-if (lean_obj_tag(x_23) == 2)
-{
-lean_object* x_24; lean_object* x_25; uint8_t x_26;
-x_24 = lean_ctor_get(x_23, 1);
-lean_inc(x_24);
-lean_dec(x_23);
-x_25 = l_Lean_Parser_Term_doCatch___elambda__1___closed__6;
-x_26 = lean_string_dec_eq(x_24, x_25);
-lean_dec(x_24);
-if (x_26 == 0)
-{
-lean_object* x_27; lean_object* x_28;
-x_27 = l_Lean_Parser_Term_doCatch___elambda__1___closed__9;
-x_28 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_27, x_19);
-x_11 = x_28;
-goto block_18;
-}
-else
-{
-lean_dec(x_19);
-x_11 = x_20;
-goto block_18;
-}
-}
-else
-{
-lean_object* x_29; lean_object* x_30;
-lean_dec(x_23);
-x_29 = l_Lean_Parser_Term_doCatch___elambda__1___closed__9;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_29, x_19);
-x_11 = x_30;
-goto block_18;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32;
-lean_dec(x_21);
-x_31 = l_Lean_Parser_Term_doCatch___elambda__1___closed__9;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_31, x_19);
-x_11 = x_32;
-goto block_18;
-}
-block_18:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15;
-x_13 = l_Lean_Parser_Term_doMatchAlts___elambda__1(x_1, x_11);
-x_14 = l_Lean_Parser_Term_doCatchMatch___elambda__1___closed__2;
-x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
-return x_15;
-}
-else
-{
-lean_object* x_16; lean_object* x_17;
-lean_dec(x_12);
-lean_dec(x_1);
-x_16 = l_Lean_Parser_Term_doCatchMatch___elambda__1___closed__2;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_11, x_16, x_10);
-return x_17;
-}
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Term_doCatchMatch___elambda__1___closed__7;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_33 = lean_ctor_get(x_2, 0);
-lean_inc(x_33);
-x_34 = lean_array_get_size(x_33);
-lean_dec(x_33);
-x_35 = lean_ctor_get(x_2, 1);
-lean_inc(x_35);
-lean_inc(x_1);
-x_36 = lean_apply_2(x_4, x_1, x_2);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_36, 1);
-lean_inc(x_39);
-x_40 = lean_nat_dec_eq(x_39, x_35);
-lean_dec(x_39);
-if (x_40 == 0)
-{
-lean_dec(x_38);
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
-lean_inc(x_35);
-x_41 = l_Lean_Parser_ParserState_restore(x_36, x_34, x_35);
-lean_dec(x_34);
-x_42 = lean_unsigned_to_nat(1024u);
-x_43 = l_Lean_Parser_checkPrecFn(x_42, x_1, x_41);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_59; lean_object* x_60; lean_object* x_61;
-x_45 = lean_ctor_get(x_43, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-x_59 = lean_ctor_get(x_43, 1);
-lean_inc(x_59);
-lean_inc(x_1);
-x_60 = l_Lean_Parser_tokenFn(x_1, x_43);
-x_61 = lean_ctor_get(x_60, 3);
-lean_inc(x_61);
-if (lean_obj_tag(x_61) == 0)
-{
-lean_object* x_62; lean_object* x_63;
-x_62 = lean_ctor_get(x_60, 0);
-lean_inc(x_62);
-x_63 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_62);
-lean_dec(x_62);
-if (lean_obj_tag(x_63) == 2)
-{
-lean_object* x_64; lean_object* x_65; uint8_t x_66;
-x_64 = lean_ctor_get(x_63, 1);
-lean_inc(x_64);
-lean_dec(x_63);
-x_65 = l_Lean_Parser_Term_doCatch___elambda__1___closed__6;
-x_66 = lean_string_dec_eq(x_64, x_65);
-lean_dec(x_64);
-if (x_66 == 0)
-{
-lean_object* x_67; lean_object* x_68;
-x_67 = l_Lean_Parser_Term_doCatch___elambda__1___closed__9;
-x_68 = l_Lean_Parser_ParserState_mkErrorsAt(x_60, x_67, x_59);
-x_47 = x_68;
-goto block_58;
-}
-else
-{
-lean_dec(x_59);
-x_47 = x_60;
-goto block_58;
-}
-}
-else
-{
-lean_object* x_69; lean_object* x_70;
-lean_dec(x_63);
-x_69 = l_Lean_Parser_Term_doCatch___elambda__1___closed__9;
-x_70 = l_Lean_Parser_ParserState_mkErrorsAt(x_60, x_69, x_59);
-x_47 = x_70;
-goto block_58;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72;
-lean_dec(x_61);
-x_71 = l_Lean_Parser_Term_doCatch___elambda__1___closed__9;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_60, x_71, x_59);
-x_47 = x_72;
-goto block_58;
-}
-block_58:
-{
-lean_object* x_48;
-x_48 = lean_ctor_get(x_47, 3);
-lean_inc(x_48);
-if (lean_obj_tag(x_48) == 0)
-{
-lean_object* x_49; lean_object* x_50; lean_object* x_51; uint8_t x_52; lean_object* x_53;
-x_49 = l_Lean_Parser_Term_doMatchAlts___elambda__1(x_1, x_47);
-x_50 = l_Lean_Parser_Term_doCatchMatch___elambda__1___closed__2;
-x_51 = l_Lean_Parser_ParserState_mkNode(x_49, x_50, x_46);
-x_52 = 1;
-x_53 = l_Lean_Parser_mergeOrElseErrors(x_51, x_38, x_35, x_52);
-lean_dec(x_35);
-return x_53;
-}
-else
-{
-lean_object* x_54; lean_object* x_55; uint8_t x_56; lean_object* x_57;
-lean_dec(x_48);
-lean_dec(x_1);
-x_54 = l_Lean_Parser_Term_doCatchMatch___elambda__1___closed__2;
-x_55 = l_Lean_Parser_ParserState_mkNode(x_47, x_54, x_46);
-x_56 = 1;
-x_57 = l_Lean_Parser_mergeOrElseErrors(x_55, x_38, x_35, x_56);
-lean_dec(x_35);
-return x_57;
-}
-}
-}
-else
-{
-uint8_t x_73; lean_object* x_74;
-lean_dec(x_44);
-lean_dec(x_1);
-x_73 = 1;
-x_74 = l_Lean_Parser_mergeOrElseErrors(x_43, x_38, x_35, x_73);
-lean_dec(x_35);
-return x_74;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Term_doCatchMatch___closed__1() {
_start:
{
@@ -22312,11 +11233,11 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_doFinally___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_doFinally___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_doFinally___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_doFinally___elambda__1___closed__8() {
@@ -22324,8 +11245,10 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Term_doFinally___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_2 = l_Lean_Parser_Term_doSeq___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -22333,282 +11256,39 @@ static lean_object* _init_l_Lean_Parser_Term_doFinally___elambda__1___closed__9(
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Term_doFinally___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_doFinally___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doFinally___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_doFinally___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
lean_object* l_Lean_Parser_Term_doFinally___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Term_doFinally___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_19; lean_object* x_20; lean_object* x_21;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_19 = lean_ctor_get(x_7, 1);
-lean_inc(x_19);
-lean_inc(x_1);
-x_20 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_21 = lean_ctor_get(x_20, 3);
-lean_inc(x_21);
-if (lean_obj_tag(x_21) == 0)
-{
-lean_object* x_22; lean_object* x_23;
-x_22 = lean_ctor_get(x_20, 0);
-lean_inc(x_22);
-x_23 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_22);
-lean_dec(x_22);
-if (lean_obj_tag(x_23) == 2)
-{
-lean_object* x_24; lean_object* x_25; uint8_t x_26;
-x_24 = lean_ctor_get(x_23, 1);
-lean_inc(x_24);
-lean_dec(x_23);
-x_25 = l_Lean_Parser_Term_doFinally___elambda__1___closed__6;
-x_26 = lean_string_dec_eq(x_24, x_25);
-lean_dec(x_24);
-if (x_26 == 0)
-{
-lean_object* x_27; lean_object* x_28;
-x_27 = l_Lean_Parser_Term_doFinally___elambda__1___closed__9;
-x_28 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_27, x_19);
-x_11 = x_28;
-goto block_18;
-}
-else
-{
-lean_dec(x_19);
-x_11 = x_20;
-goto block_18;
-}
-}
-else
-{
-lean_object* x_29; lean_object* x_30;
-lean_dec(x_23);
-x_29 = l_Lean_Parser_Term_doFinally___elambda__1___closed__9;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_29, x_19);
-x_11 = x_30;
-goto block_18;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32;
-lean_dec(x_21);
-x_31 = l_Lean_Parser_Term_doFinally___elambda__1___closed__9;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_31, x_19);
-x_11 = x_32;
-goto block_18;
-}
-block_18:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15;
-x_13 = l_Lean_Parser_Term_doSeq___elambda__1(x_1, x_11);
-x_14 = l_Lean_Parser_Term_doFinally___elambda__1___closed__2;
-x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
-return x_15;
-}
-else
-{
-lean_object* x_16; lean_object* x_17;
-lean_dec(x_12);
-lean_dec(x_1);
-x_16 = l_Lean_Parser_Term_doFinally___elambda__1___closed__2;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_11, x_16, x_10);
-return x_17;
-}
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Term_doFinally___elambda__1___closed__10;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_33 = lean_ctor_get(x_2, 0);
-lean_inc(x_33);
-x_34 = lean_array_get_size(x_33);
-lean_dec(x_33);
-x_35 = lean_ctor_get(x_2, 1);
-lean_inc(x_35);
-lean_inc(x_1);
-x_36 = lean_apply_2(x_4, x_1, x_2);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_36, 1);
-lean_inc(x_39);
-x_40 = lean_nat_dec_eq(x_39, x_35);
-lean_dec(x_39);
-if (x_40 == 0)
-{
-lean_dec(x_38);
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
-lean_inc(x_35);
-x_41 = l_Lean_Parser_ParserState_restore(x_36, x_34, x_35);
-lean_dec(x_34);
-x_42 = lean_unsigned_to_nat(1024u);
-x_43 = l_Lean_Parser_checkPrecFn(x_42, x_1, x_41);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_59; lean_object* x_60; lean_object* x_61;
-x_45 = lean_ctor_get(x_43, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-x_59 = lean_ctor_get(x_43, 1);
-lean_inc(x_59);
-lean_inc(x_1);
-x_60 = l_Lean_Parser_tokenFn(x_1, x_43);
-x_61 = lean_ctor_get(x_60, 3);
-lean_inc(x_61);
-if (lean_obj_tag(x_61) == 0)
-{
-lean_object* x_62; lean_object* x_63;
-x_62 = lean_ctor_get(x_60, 0);
-lean_inc(x_62);
-x_63 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_62);
-lean_dec(x_62);
-if (lean_obj_tag(x_63) == 2)
-{
-lean_object* x_64; lean_object* x_65; uint8_t x_66;
-x_64 = lean_ctor_get(x_63, 1);
-lean_inc(x_64);
-lean_dec(x_63);
-x_65 = l_Lean_Parser_Term_doFinally___elambda__1___closed__6;
-x_66 = lean_string_dec_eq(x_64, x_65);
-lean_dec(x_64);
-if (x_66 == 0)
-{
-lean_object* x_67; lean_object* x_68;
-x_67 = l_Lean_Parser_Term_doFinally___elambda__1___closed__9;
-x_68 = l_Lean_Parser_ParserState_mkErrorsAt(x_60, x_67, x_59);
-x_47 = x_68;
-goto block_58;
-}
-else
-{
-lean_dec(x_59);
-x_47 = x_60;
-goto block_58;
-}
-}
-else
-{
-lean_object* x_69; lean_object* x_70;
-lean_dec(x_63);
-x_69 = l_Lean_Parser_Term_doFinally___elambda__1___closed__9;
-x_70 = l_Lean_Parser_ParserState_mkErrorsAt(x_60, x_69, x_59);
-x_47 = x_70;
-goto block_58;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72;
-lean_dec(x_61);
-x_71 = l_Lean_Parser_Term_doFinally___elambda__1___closed__9;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_60, x_71, x_59);
-x_47 = x_72;
-goto block_58;
-}
-block_58:
-{
-lean_object* x_48;
-x_48 = lean_ctor_get(x_47, 3);
-lean_inc(x_48);
-if (lean_obj_tag(x_48) == 0)
-{
-lean_object* x_49; lean_object* x_50; lean_object* x_51; uint8_t x_52; lean_object* x_53;
-x_49 = l_Lean_Parser_Term_doSeq___elambda__1(x_1, x_47);
-x_50 = l_Lean_Parser_Term_doFinally___elambda__1___closed__2;
-x_51 = l_Lean_Parser_ParserState_mkNode(x_49, x_50, x_46);
-x_52 = 1;
-x_53 = l_Lean_Parser_mergeOrElseErrors(x_51, x_38, x_35, x_52);
-lean_dec(x_35);
-return x_53;
-}
-else
-{
-lean_object* x_54; lean_object* x_55; uint8_t x_56; lean_object* x_57;
-lean_dec(x_48);
-lean_dec(x_1);
-x_54 = l_Lean_Parser_Term_doFinally___elambda__1___closed__2;
-x_55 = l_Lean_Parser_ParserState_mkNode(x_47, x_54, x_46);
-x_56 = 1;
-x_57 = l_Lean_Parser_mergeOrElseErrors(x_55, x_38, x_35, x_56);
-lean_dec(x_35);
-return x_57;
-}
-}
-}
-else
-{
-uint8_t x_73; lean_object* x_74;
-lean_dec(x_44);
-lean_dec(x_1);
-x_73 = 1;
-x_74 = l_Lean_Parser_mergeOrElseErrors(x_43, x_38, x_35, x_73);
-lean_dec(x_35);
-return x_74;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Term_doFinally___closed__1() {
_start:
{
@@ -22690,108 +11370,6 @@ x_1 = l_Lean_Parser_Term_doFinally___closed__7;
return x_1;
}
}
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doTry___elambda__1___spec__1(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_17; lean_object* x_18;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-lean_inc(x_1);
-x_17 = l_Lean_Parser_Term_doCatch___elambda__1(x_1, x_2);
-x_18 = lean_ctor_get(x_17, 3);
-lean_inc(x_18);
-if (lean_obj_tag(x_18) == 0)
-{
-x_6 = x_17;
-goto block_16;
-}
-else
-{
-lean_object* x_19; lean_object* x_20; uint8_t x_21;
-x_19 = lean_ctor_get(x_18, 0);
-lean_inc(x_19);
-lean_dec(x_18);
-x_20 = lean_ctor_get(x_17, 1);
-lean_inc(x_20);
-x_21 = lean_nat_dec_eq(x_20, x_5);
-lean_dec(x_20);
-if (x_21 == 0)
-{
-lean_dec(x_19);
-x_6 = x_17;
-goto block_16;
-}
-else
-{
-lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25;
-lean_inc(x_5);
-x_22 = l_Lean_Parser_ParserState_restore(x_17, x_4, x_5);
-lean_inc(x_1);
-x_23 = l_Lean_Parser_Term_doCatchMatch___elambda__1(x_1, x_22);
-x_24 = 1;
-x_25 = l_Lean_Parser_mergeOrElseErrors(x_23, x_19, x_5, x_24);
-x_6 = x_25;
-goto block_16;
-}
-}
-block_16:
-{
-lean_object* x_7;
-x_7 = lean_ctor_get(x_6, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
-{
-lean_object* x_8; uint8_t x_9;
-lean_dec(x_4);
-x_8 = lean_ctor_get(x_6, 1);
-lean_inc(x_8);
-x_9 = lean_nat_dec_eq(x_5, x_8);
-lean_dec(x_8);
-lean_dec(x_5);
-if (x_9 == 0)
-{
-x_2 = x_6;
-goto _start;
-}
-else
-{
-lean_object* x_11; lean_object* x_12;
-lean_dec(x_1);
-x_11 = l_Lean_Parser_manyAux___main___closed__1;
-x_12 = l_Lean_Parser_ParserState_mkUnexpectedError(x_6, x_11);
-return x_12;
-}
-}
-else
-{
-lean_object* x_13; uint8_t x_14;
-lean_dec(x_7);
-lean_dec(x_1);
-x_13 = lean_ctor_get(x_6, 1);
-lean_inc(x_13);
-x_14 = lean_nat_dec_eq(x_5, x_13);
-lean_dec(x_13);
-if (x_14 == 0)
-{
-lean_dec(x_5);
-lean_dec(x_4);
-return x_6;
-}
-else
-{
-lean_object* x_15;
-x_15 = l_Lean_Parser_ParserState_restore(x_6, x_4, x_5);
-lean_dec(x_4);
-return x_15;
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Term_doTry___elambda__1___closed__1() {
_start:
{
@@ -22851,477 +11429,118 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_doTry___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_doTry___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_doTry___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_doTry___elambda__1___closed__8() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_doTry___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Term_doCatch___closed__8;
+x_2 = l_Lean_Parser_Term_doCatchMatch___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
static lean_object* _init_l_Lean_Parser_Term_doTry___elambda__1___closed__9() {
_start:
{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_doTry___elambda__1___closed__8;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_manyFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doTry___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_doFinally___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optionalFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doTry___elambda__1___closed__11() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Term_doTry___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_1 = l_Lean_Parser_Term_doTry___elambda__1___closed__9;
+x_2 = l_Lean_Parser_Term_doTry___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doTry___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_doSeq___closed__2;
+x_2 = l_Lean_Parser_Term_doTry___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doTry___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_doTry___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Term_doTry___elambda__1___closed__12;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doTry___elambda__1___closed__14() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_doTry___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_doTry___elambda__1___closed__13;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doTry___elambda__1___closed__15() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_doTry___elambda__1___closed__14;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
lean_object* l_Lean_Parser_Term_doTry___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Term_doTry___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_45; lean_object* x_46; lean_object* x_47;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_45 = lean_ctor_get(x_7, 1);
-lean_inc(x_45);
-lean_inc(x_1);
-x_46 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_47 = lean_ctor_get(x_46, 3);
-lean_inc(x_47);
-if (lean_obj_tag(x_47) == 0)
-{
-lean_object* x_48; lean_object* x_49;
-x_48 = lean_ctor_get(x_46, 0);
-lean_inc(x_48);
-x_49 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_48);
-lean_dec(x_48);
-if (lean_obj_tag(x_49) == 2)
-{
-lean_object* x_50; lean_object* x_51; uint8_t x_52;
-x_50 = lean_ctor_get(x_49, 1);
-lean_inc(x_50);
-lean_dec(x_49);
-x_51 = l_Lean_Parser_Term_doTry___elambda__1___closed__6;
-x_52 = lean_string_dec_eq(x_50, x_51);
-lean_dec(x_50);
-if (x_52 == 0)
-{
-lean_object* x_53; lean_object* x_54;
-x_53 = l_Lean_Parser_Term_doTry___elambda__1___closed__9;
-x_54 = l_Lean_Parser_ParserState_mkErrorsAt(x_46, x_53, x_45);
-x_11 = x_54;
-goto block_44;
-}
-else
-{
-lean_dec(x_45);
-x_11 = x_46;
-goto block_44;
-}
-}
-else
-{
-lean_object* x_55; lean_object* x_56;
-lean_dec(x_49);
-x_55 = l_Lean_Parser_Term_doTry___elambda__1___closed__9;
-x_56 = l_Lean_Parser_ParserState_mkErrorsAt(x_46, x_55, x_45);
-x_11 = x_56;
-goto block_44;
-}
-}
-else
-{
-lean_object* x_57; lean_object* x_58;
-lean_dec(x_47);
-x_57 = l_Lean_Parser_Term_doTry___elambda__1___closed__9;
-x_58 = l_Lean_Parser_ParserState_mkErrorsAt(x_46, x_57, x_45);
-x_11 = x_58;
-goto block_44;
-}
-block_44:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14;
-lean_inc(x_1);
-x_13 = l_Lean_Parser_Term_doSeq___elambda__1(x_1, x_11);
-x_14 = lean_ctor_get(x_13, 3);
-lean_inc(x_14);
-if (lean_obj_tag(x_14) == 0)
-{
-lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
-x_15 = lean_ctor_get(x_13, 0);
-lean_inc(x_15);
-x_16 = lean_array_get_size(x_15);
-lean_dec(x_15);
-lean_inc(x_1);
-x_17 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doTry___elambda__1___spec__1(x_1, x_13);
-x_18 = l_Lean_nullKind;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_16);
-x_20 = lean_ctor_get(x_19, 3);
-lean_inc(x_20);
-if (lean_obj_tag(x_20) == 0)
-{
-lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25;
-x_21 = lean_ctor_get(x_19, 0);
-lean_inc(x_21);
-x_22 = lean_array_get_size(x_21);
-lean_dec(x_21);
-x_23 = lean_ctor_get(x_19, 1);
-lean_inc(x_23);
-x_24 = l_Lean_Parser_Term_doFinally___elambda__1(x_1, x_19);
-x_25 = lean_ctor_get(x_24, 3);
-lean_inc(x_25);
-if (lean_obj_tag(x_25) == 0)
-{
-lean_object* x_26; lean_object* x_27; lean_object* x_28;
-lean_dec(x_23);
-x_26 = l_Lean_Parser_ParserState_mkNode(x_24, x_18, x_22);
-x_27 = l_Lean_Parser_Term_doTry___elambda__1___closed__2;
-x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_10);
-return x_28;
-}
-else
-{
-lean_object* x_29; uint8_t x_30;
-lean_dec(x_25);
-x_29 = lean_ctor_get(x_24, 1);
-lean_inc(x_29);
-x_30 = lean_nat_dec_eq(x_29, x_23);
-lean_dec(x_29);
-if (x_30 == 0)
-{
-lean_object* x_31; lean_object* x_32; lean_object* x_33;
-lean_dec(x_23);
-x_31 = l_Lean_Parser_ParserState_mkNode(x_24, x_18, x_22);
-x_32 = l_Lean_Parser_Term_doTry___elambda__1___closed__2;
-x_33 = l_Lean_Parser_ParserState_mkNode(x_31, x_32, x_10);
-return x_33;
-}
-else
-{
-lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_34 = l_Lean_Parser_ParserState_restore(x_24, x_22, x_23);
-x_35 = l_Lean_Parser_ParserState_mkNode(x_34, x_18, x_22);
-x_36 = l_Lean_Parser_Term_doTry___elambda__1___closed__2;
-x_37 = l_Lean_Parser_ParserState_mkNode(x_35, x_36, x_10);
-return x_37;
-}
-}
-}
-else
-{
-lean_object* x_38; lean_object* x_39;
-lean_dec(x_20);
-lean_dec(x_1);
-x_38 = l_Lean_Parser_Term_doTry___elambda__1___closed__2;
-x_39 = l_Lean_Parser_ParserState_mkNode(x_19, x_38, x_10);
-return x_39;
-}
-}
-else
-{
-lean_object* x_40; lean_object* x_41;
-lean_dec(x_14);
-lean_dec(x_1);
-x_40 = l_Lean_Parser_Term_doTry___elambda__1___closed__2;
-x_41 = l_Lean_Parser_ParserState_mkNode(x_13, x_40, x_10);
-return x_41;
-}
-}
-else
-{
-lean_object* x_42; lean_object* x_43;
-lean_dec(x_12);
-lean_dec(x_1);
-x_42 = l_Lean_Parser_Term_doTry___elambda__1___closed__2;
-x_43 = l_Lean_Parser_ParserState_mkNode(x_11, x_42, x_10);
-return x_43;
-}
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Term_doTry___elambda__1___closed__15;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63;
-x_59 = lean_ctor_get(x_2, 0);
-lean_inc(x_59);
-x_60 = lean_array_get_size(x_59);
-lean_dec(x_59);
-x_61 = lean_ctor_get(x_2, 1);
-lean_inc(x_61);
-lean_inc(x_1);
-x_62 = lean_apply_2(x_4, x_1, x_2);
-x_63 = lean_ctor_get(x_62, 3);
-lean_inc(x_63);
-if (lean_obj_tag(x_63) == 0)
-{
-lean_dec(x_61);
-lean_dec(x_60);
-lean_dec(x_1);
-return x_62;
-}
-else
-{
-lean_object* x_64; lean_object* x_65; uint8_t x_66;
-x_64 = lean_ctor_get(x_63, 0);
-lean_inc(x_64);
-lean_dec(x_63);
-x_65 = lean_ctor_get(x_62, 1);
-lean_inc(x_65);
-x_66 = lean_nat_dec_eq(x_65, x_61);
-lean_dec(x_65);
-if (x_66 == 0)
-{
-lean_dec(x_64);
-lean_dec(x_61);
-lean_dec(x_60);
-lean_dec(x_1);
-return x_62;
-}
-else
-{
-lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70;
-lean_inc(x_61);
-x_67 = l_Lean_Parser_ParserState_restore(x_62, x_60, x_61);
-lean_dec(x_60);
-x_68 = lean_unsigned_to_nat(1024u);
-x_69 = l_Lean_Parser_checkPrecFn(x_68, x_1, x_67);
-x_70 = lean_ctor_get(x_69, 3);
-lean_inc(x_70);
-if (lean_obj_tag(x_70) == 0)
-{
-lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_119; lean_object* x_120; lean_object* x_121;
-x_71 = lean_ctor_get(x_69, 0);
-lean_inc(x_71);
-x_72 = lean_array_get_size(x_71);
-lean_dec(x_71);
-x_119 = lean_ctor_get(x_69, 1);
-lean_inc(x_119);
-lean_inc(x_1);
-x_120 = l_Lean_Parser_tokenFn(x_1, x_69);
-x_121 = lean_ctor_get(x_120, 3);
-lean_inc(x_121);
-if (lean_obj_tag(x_121) == 0)
-{
-lean_object* x_122; lean_object* x_123;
-x_122 = lean_ctor_get(x_120, 0);
-lean_inc(x_122);
-x_123 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_122);
-lean_dec(x_122);
-if (lean_obj_tag(x_123) == 2)
-{
-lean_object* x_124; lean_object* x_125; uint8_t x_126;
-x_124 = lean_ctor_get(x_123, 1);
-lean_inc(x_124);
-lean_dec(x_123);
-x_125 = l_Lean_Parser_Term_doTry___elambda__1___closed__6;
-x_126 = lean_string_dec_eq(x_124, x_125);
-lean_dec(x_124);
-if (x_126 == 0)
-{
-lean_object* x_127; lean_object* x_128;
-x_127 = l_Lean_Parser_Term_doTry___elambda__1___closed__9;
-x_128 = l_Lean_Parser_ParserState_mkErrorsAt(x_120, x_127, x_119);
-x_73 = x_128;
-goto block_118;
-}
-else
-{
-lean_dec(x_119);
-x_73 = x_120;
-goto block_118;
-}
-}
-else
-{
-lean_object* x_129; lean_object* x_130;
-lean_dec(x_123);
-x_129 = l_Lean_Parser_Term_doTry___elambda__1___closed__9;
-x_130 = l_Lean_Parser_ParserState_mkErrorsAt(x_120, x_129, x_119);
-x_73 = x_130;
-goto block_118;
-}
-}
-else
-{
-lean_object* x_131; lean_object* x_132;
-lean_dec(x_121);
-x_131 = l_Lean_Parser_Term_doTry___elambda__1___closed__9;
-x_132 = l_Lean_Parser_ParserState_mkErrorsAt(x_120, x_131, x_119);
-x_73 = x_132;
-goto block_118;
-}
-block_118:
-{
-lean_object* x_74;
-x_74 = lean_ctor_get(x_73, 3);
-lean_inc(x_74);
-if (lean_obj_tag(x_74) == 0)
-{
-lean_object* x_75; lean_object* x_76;
-lean_inc(x_1);
-x_75 = l_Lean_Parser_Term_doSeq___elambda__1(x_1, x_73);
-x_76 = lean_ctor_get(x_75, 3);
-lean_inc(x_76);
-if (lean_obj_tag(x_76) == 0)
-{
-lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82;
-x_77 = lean_ctor_get(x_75, 0);
-lean_inc(x_77);
-x_78 = lean_array_get_size(x_77);
-lean_dec(x_77);
-lean_inc(x_1);
-x_79 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doTry___elambda__1___spec__1(x_1, x_75);
-x_80 = l_Lean_nullKind;
-x_81 = l_Lean_Parser_ParserState_mkNode(x_79, x_80, x_78);
-x_82 = lean_ctor_get(x_81, 3);
-lean_inc(x_82);
-if (lean_obj_tag(x_82) == 0)
-{
-lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87;
-x_83 = lean_ctor_get(x_81, 0);
-lean_inc(x_83);
-x_84 = lean_array_get_size(x_83);
-lean_dec(x_83);
-x_85 = lean_ctor_get(x_81, 1);
-lean_inc(x_85);
-x_86 = l_Lean_Parser_Term_doFinally___elambda__1(x_1, x_81);
-x_87 = lean_ctor_get(x_86, 3);
-lean_inc(x_87);
-if (lean_obj_tag(x_87) == 0)
-{
-lean_object* x_88; lean_object* x_89; lean_object* x_90; uint8_t x_91; lean_object* x_92;
-lean_dec(x_85);
-x_88 = l_Lean_Parser_ParserState_mkNode(x_86, x_80, x_84);
-x_89 = l_Lean_Parser_Term_doTry___elambda__1___closed__2;
-x_90 = l_Lean_Parser_ParserState_mkNode(x_88, x_89, x_72);
-x_91 = 1;
-x_92 = l_Lean_Parser_mergeOrElseErrors(x_90, x_64, x_61, x_91);
-lean_dec(x_61);
-return x_92;
-}
-else
-{
-lean_object* x_93; uint8_t x_94;
-lean_dec(x_87);
-x_93 = lean_ctor_get(x_86, 1);
-lean_inc(x_93);
-x_94 = lean_nat_dec_eq(x_93, x_85);
-lean_dec(x_93);
-if (x_94 == 0)
-{
-lean_object* x_95; lean_object* x_96; lean_object* x_97; uint8_t x_98; lean_object* x_99;
-lean_dec(x_85);
-x_95 = l_Lean_Parser_ParserState_mkNode(x_86, x_80, x_84);
-x_96 = l_Lean_Parser_Term_doTry___elambda__1___closed__2;
-x_97 = l_Lean_Parser_ParserState_mkNode(x_95, x_96, x_72);
-x_98 = 1;
-x_99 = l_Lean_Parser_mergeOrElseErrors(x_97, x_64, x_61, x_98);
-lean_dec(x_61);
-return x_99;
-}
-else
-{
-lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; uint8_t x_104; lean_object* x_105;
-x_100 = l_Lean_Parser_ParserState_restore(x_86, x_84, x_85);
-x_101 = l_Lean_Parser_ParserState_mkNode(x_100, x_80, x_84);
-x_102 = l_Lean_Parser_Term_doTry___elambda__1___closed__2;
-x_103 = l_Lean_Parser_ParserState_mkNode(x_101, x_102, x_72);
-x_104 = 1;
-x_105 = l_Lean_Parser_mergeOrElseErrors(x_103, x_64, x_61, x_104);
-lean_dec(x_61);
-return x_105;
-}
-}
-}
-else
-{
-lean_object* x_106; lean_object* x_107; uint8_t x_108; lean_object* x_109;
-lean_dec(x_82);
-lean_dec(x_1);
-x_106 = l_Lean_Parser_Term_doTry___elambda__1___closed__2;
-x_107 = l_Lean_Parser_ParserState_mkNode(x_81, x_106, x_72);
-x_108 = 1;
-x_109 = l_Lean_Parser_mergeOrElseErrors(x_107, x_64, x_61, x_108);
-lean_dec(x_61);
-return x_109;
-}
-}
-else
-{
-lean_object* x_110; lean_object* x_111; uint8_t x_112; lean_object* x_113;
-lean_dec(x_76);
-lean_dec(x_1);
-x_110 = l_Lean_Parser_Term_doTry___elambda__1___closed__2;
-x_111 = l_Lean_Parser_ParserState_mkNode(x_75, x_110, x_72);
-x_112 = 1;
-x_113 = l_Lean_Parser_mergeOrElseErrors(x_111, x_64, x_61, x_112);
-lean_dec(x_61);
-return x_113;
-}
-}
-else
-{
-lean_object* x_114; lean_object* x_115; uint8_t x_116; lean_object* x_117;
-lean_dec(x_74);
-lean_dec(x_1);
-x_114 = l_Lean_Parser_Term_doTry___elambda__1___closed__2;
-x_115 = l_Lean_Parser_ParserState_mkNode(x_73, x_114, x_72);
-x_116 = 1;
-x_117 = l_Lean_Parser_mergeOrElseErrors(x_115, x_64, x_61, x_116);
-lean_dec(x_61);
-return x_117;
-}
-}
-}
-else
-{
-uint8_t x_133; lean_object* x_134;
-lean_dec(x_70);
-lean_dec(x_1);
-x_133 = 1;
-x_134 = l_Lean_Parser_mergeOrElseErrors(x_69, x_64, x_61, x_133);
-lean_dec(x_61);
-return x_134;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Term_doTry___closed__1() {
_start:
{
@@ -23461,7 +11680,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Term_doTry(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_2 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4;
+x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__4;
x_3 = l_Lean_Parser_Term_doTry___elambda__1___closed__2;
x_4 = 1;
x_5 = l_Lean_Parser_Term_doTry;
@@ -24201,20 +12420,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_doBreak___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_doBreak___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_doBreak___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_doBreak___elambda__1___closed__8() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_doBreak___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Term_doBreak___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_doBreak___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -24222,250 +12443,27 @@ static lean_object* _init_l_Lean_Parser_Term_doBreak___elambda__1___closed__9()
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
x_2 = l_Lean_Parser_Term_doBreak___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
lean_object* l_Lean_Parser_Term_doBreak___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Term_doBreak___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_11 = lean_ctor_get(x_7, 1);
-lean_inc(x_11);
-x_12 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_13 = lean_ctor_get(x_12, 3);
-lean_inc(x_13);
-if (lean_obj_tag(x_13) == 0)
-{
-lean_object* x_14; lean_object* x_15;
-x_14 = lean_ctor_get(x_12, 0);
-lean_inc(x_14);
-x_15 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_14);
-lean_dec(x_14);
-if (lean_obj_tag(x_15) == 2)
-{
-lean_object* x_16; lean_object* x_17; uint8_t x_18;
-x_16 = lean_ctor_get(x_15, 1);
-lean_inc(x_16);
-lean_dec(x_15);
-x_17 = l_Lean_Parser_Term_doBreak___elambda__1___closed__6;
-x_18 = lean_string_dec_eq(x_16, x_17);
-lean_dec(x_16);
-if (x_18 == 0)
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
-x_19 = l_Lean_Parser_Term_doBreak___elambda__1___closed__9;
-x_20 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_19, x_11);
-x_21 = l_Lean_Parser_Term_doBreak___elambda__1___closed__2;
-x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_10);
-return x_22;
-}
-else
-{
-lean_object* x_23; lean_object* x_24;
-lean_dec(x_11);
-x_23 = l_Lean_Parser_Term_doBreak___elambda__1___closed__2;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_12, x_23, x_10);
-return x_24;
-}
-}
-else
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
-lean_dec(x_15);
-x_25 = l_Lean_Parser_Term_doBreak___elambda__1___closed__9;
-x_26 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_25, x_11);
-x_27 = l_Lean_Parser_Term_doBreak___elambda__1___closed__2;
-x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_10);
-return x_28;
-}
-}
-else
-{
-lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
-lean_dec(x_13);
-x_29 = l_Lean_Parser_Term_doBreak___elambda__1___closed__9;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_29, x_11);
-x_31 = l_Lean_Parser_Term_doBreak___elambda__1___closed__2;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_10);
-return x_32;
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Term_doBreak___elambda__1___closed__9;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_33 = lean_ctor_get(x_2, 0);
-lean_inc(x_33);
-x_34 = lean_array_get_size(x_33);
-lean_dec(x_33);
-x_35 = lean_ctor_get(x_2, 1);
-lean_inc(x_35);
-lean_inc(x_1);
-x_36 = lean_apply_2(x_4, x_1, x_2);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_36, 1);
-lean_inc(x_39);
-x_40 = lean_nat_dec_eq(x_39, x_35);
-lean_dec(x_39);
-if (x_40 == 0)
-{
-lean_dec(x_38);
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
-lean_inc(x_35);
-x_41 = l_Lean_Parser_ParserState_restore(x_36, x_34, x_35);
-lean_dec(x_34);
-x_42 = lean_unsigned_to_nat(1024u);
-x_43 = l_Lean_Parser_checkPrecFn(x_42, x_1, x_41);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-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_43, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-x_47 = lean_ctor_get(x_43, 1);
-lean_inc(x_47);
-x_48 = l_Lean_Parser_tokenFn(x_1, x_43);
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
-{
-lean_object* x_50; lean_object* x_51;
-x_50 = lean_ctor_get(x_48, 0);
-lean_inc(x_50);
-x_51 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_50);
-lean_dec(x_50);
-if (lean_obj_tag(x_51) == 2)
-{
-lean_object* x_52; lean_object* x_53; uint8_t x_54;
-x_52 = lean_ctor_get(x_51, 1);
-lean_inc(x_52);
-lean_dec(x_51);
-x_53 = l_Lean_Parser_Term_doBreak___elambda__1___closed__6;
-x_54 = lean_string_dec_eq(x_52, x_53);
-lean_dec(x_52);
-if (x_54 == 0)
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; uint8_t x_59; lean_object* x_60;
-x_55 = l_Lean_Parser_Term_doBreak___elambda__1___closed__9;
-x_56 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_55, x_47);
-x_57 = l_Lean_Parser_Term_doBreak___elambda__1___closed__2;
-x_58 = l_Lean_Parser_ParserState_mkNode(x_56, x_57, x_46);
-x_59 = 1;
-x_60 = l_Lean_Parser_mergeOrElseErrors(x_58, x_38, x_35, x_59);
-lean_dec(x_35);
-return x_60;
-}
-else
-{
-lean_object* x_61; lean_object* x_62; uint8_t x_63; lean_object* x_64;
-lean_dec(x_47);
-x_61 = l_Lean_Parser_Term_doBreak___elambda__1___closed__2;
-x_62 = l_Lean_Parser_ParserState_mkNode(x_48, x_61, x_46);
-x_63 = 1;
-x_64 = l_Lean_Parser_mergeOrElseErrors(x_62, x_38, x_35, x_63);
-lean_dec(x_35);
-return x_64;
-}
-}
-else
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; uint8_t x_69; lean_object* x_70;
-lean_dec(x_51);
-x_65 = l_Lean_Parser_Term_doBreak___elambda__1___closed__9;
-x_66 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_65, x_47);
-x_67 = l_Lean_Parser_Term_doBreak___elambda__1___closed__2;
-x_68 = l_Lean_Parser_ParserState_mkNode(x_66, x_67, x_46);
-x_69 = 1;
-x_70 = l_Lean_Parser_mergeOrElseErrors(x_68, x_38, x_35, x_69);
-lean_dec(x_35);
-return x_70;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; uint8_t x_75; lean_object* x_76;
-lean_dec(x_49);
-x_71 = l_Lean_Parser_Term_doBreak___elambda__1___closed__9;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_71, x_47);
-x_73 = l_Lean_Parser_Term_doBreak___elambda__1___closed__2;
-x_74 = l_Lean_Parser_ParserState_mkNode(x_72, x_73, x_46);
-x_75 = 1;
-x_76 = l_Lean_Parser_mergeOrElseErrors(x_74, x_38, x_35, x_75);
-lean_dec(x_35);
-return x_76;
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_44);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_43, x_38, x_35, x_77);
-lean_dec(x_35);
-return x_78;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Term_doBreak___closed__1() {
_start:
{
@@ -24539,7 +12537,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Term_doBreak(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_2 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4;
+x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__4;
x_3 = l_Lean_Parser_Term_doBreak___elambda__1___closed__2;
x_4 = 1;
x_5 = l_Lean_Parser_Term_doBreak;
@@ -24731,20 +12729,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_doContinue___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_doContinue___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_doContinue___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_doContinue___elambda__1___closed__8() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_doContinue___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Term_doContinue___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_doContinue___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -24752,250 +12752,27 @@ static lean_object* _init_l_Lean_Parser_Term_doContinue___elambda__1___closed__9
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
x_2 = l_Lean_Parser_Term_doContinue___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
lean_object* l_Lean_Parser_Term_doContinue___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Term_doContinue___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_11 = lean_ctor_get(x_7, 1);
-lean_inc(x_11);
-x_12 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_13 = lean_ctor_get(x_12, 3);
-lean_inc(x_13);
-if (lean_obj_tag(x_13) == 0)
-{
-lean_object* x_14; lean_object* x_15;
-x_14 = lean_ctor_get(x_12, 0);
-lean_inc(x_14);
-x_15 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_14);
-lean_dec(x_14);
-if (lean_obj_tag(x_15) == 2)
-{
-lean_object* x_16; lean_object* x_17; uint8_t x_18;
-x_16 = lean_ctor_get(x_15, 1);
-lean_inc(x_16);
-lean_dec(x_15);
-x_17 = l_Lean_Parser_Term_doContinue___elambda__1___closed__6;
-x_18 = lean_string_dec_eq(x_16, x_17);
-lean_dec(x_16);
-if (x_18 == 0)
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
-x_19 = l_Lean_Parser_Term_doContinue___elambda__1___closed__9;
-x_20 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_19, x_11);
-x_21 = l_Lean_Parser_Term_doContinue___elambda__1___closed__2;
-x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_10);
-return x_22;
-}
-else
-{
-lean_object* x_23; lean_object* x_24;
-lean_dec(x_11);
-x_23 = l_Lean_Parser_Term_doContinue___elambda__1___closed__2;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_12, x_23, x_10);
-return x_24;
-}
-}
-else
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
-lean_dec(x_15);
-x_25 = l_Lean_Parser_Term_doContinue___elambda__1___closed__9;
-x_26 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_25, x_11);
-x_27 = l_Lean_Parser_Term_doContinue___elambda__1___closed__2;
-x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_10);
-return x_28;
-}
-}
-else
-{
-lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
-lean_dec(x_13);
-x_29 = l_Lean_Parser_Term_doContinue___elambda__1___closed__9;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_29, x_11);
-x_31 = l_Lean_Parser_Term_doContinue___elambda__1___closed__2;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_10);
-return x_32;
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Term_doContinue___elambda__1___closed__9;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_33 = lean_ctor_get(x_2, 0);
-lean_inc(x_33);
-x_34 = lean_array_get_size(x_33);
-lean_dec(x_33);
-x_35 = lean_ctor_get(x_2, 1);
-lean_inc(x_35);
-lean_inc(x_1);
-x_36 = lean_apply_2(x_4, x_1, x_2);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_36, 1);
-lean_inc(x_39);
-x_40 = lean_nat_dec_eq(x_39, x_35);
-lean_dec(x_39);
-if (x_40 == 0)
-{
-lean_dec(x_38);
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
-lean_inc(x_35);
-x_41 = l_Lean_Parser_ParserState_restore(x_36, x_34, x_35);
-lean_dec(x_34);
-x_42 = lean_unsigned_to_nat(1024u);
-x_43 = l_Lean_Parser_checkPrecFn(x_42, x_1, x_41);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-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_43, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-x_47 = lean_ctor_get(x_43, 1);
-lean_inc(x_47);
-x_48 = l_Lean_Parser_tokenFn(x_1, x_43);
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
-{
-lean_object* x_50; lean_object* x_51;
-x_50 = lean_ctor_get(x_48, 0);
-lean_inc(x_50);
-x_51 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_50);
-lean_dec(x_50);
-if (lean_obj_tag(x_51) == 2)
-{
-lean_object* x_52; lean_object* x_53; uint8_t x_54;
-x_52 = lean_ctor_get(x_51, 1);
-lean_inc(x_52);
-lean_dec(x_51);
-x_53 = l_Lean_Parser_Term_doContinue___elambda__1___closed__6;
-x_54 = lean_string_dec_eq(x_52, x_53);
-lean_dec(x_52);
-if (x_54 == 0)
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; uint8_t x_59; lean_object* x_60;
-x_55 = l_Lean_Parser_Term_doContinue___elambda__1___closed__9;
-x_56 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_55, x_47);
-x_57 = l_Lean_Parser_Term_doContinue___elambda__1___closed__2;
-x_58 = l_Lean_Parser_ParserState_mkNode(x_56, x_57, x_46);
-x_59 = 1;
-x_60 = l_Lean_Parser_mergeOrElseErrors(x_58, x_38, x_35, x_59);
-lean_dec(x_35);
-return x_60;
-}
-else
-{
-lean_object* x_61; lean_object* x_62; uint8_t x_63; lean_object* x_64;
-lean_dec(x_47);
-x_61 = l_Lean_Parser_Term_doContinue___elambda__1___closed__2;
-x_62 = l_Lean_Parser_ParserState_mkNode(x_48, x_61, x_46);
-x_63 = 1;
-x_64 = l_Lean_Parser_mergeOrElseErrors(x_62, x_38, x_35, x_63);
-lean_dec(x_35);
-return x_64;
-}
-}
-else
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; uint8_t x_69; lean_object* x_70;
-lean_dec(x_51);
-x_65 = l_Lean_Parser_Term_doContinue___elambda__1___closed__9;
-x_66 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_65, x_47);
-x_67 = l_Lean_Parser_Term_doContinue___elambda__1___closed__2;
-x_68 = l_Lean_Parser_ParserState_mkNode(x_66, x_67, x_46);
-x_69 = 1;
-x_70 = l_Lean_Parser_mergeOrElseErrors(x_68, x_38, x_35, x_69);
-lean_dec(x_35);
-return x_70;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; uint8_t x_75; lean_object* x_76;
-lean_dec(x_49);
-x_71 = l_Lean_Parser_Term_doContinue___elambda__1___closed__9;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_71, x_47);
-x_73 = l_Lean_Parser_Term_doContinue___elambda__1___closed__2;
-x_74 = l_Lean_Parser_ParserState_mkNode(x_72, x_73, x_46);
-x_75 = 1;
-x_76 = l_Lean_Parser_mergeOrElseErrors(x_74, x_38, x_35, x_75);
-lean_dec(x_35);
-return x_76;
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_44);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_43, x_38, x_35, x_77);
-lean_dec(x_35);
-return x_78;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Term_doContinue___closed__1() {
_start:
{
@@ -25069,7 +12846,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Term_doContinue(lean_object* x_1)
_start:
{
lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_2 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4;
+x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__4;
x_3 = l_Lean_Parser_Term_doContinue___elambda__1___closed__2;
x_4 = 1;
x_5 = l_Lean_Parser_Term_doContinue;
@@ -25202,6 +12979,166 @@ x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1);
return x_5;
}
}
+lean_object* l_Lean_Parser_Term_doReturn___elambda__1___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
+_start:
+{
+uint8_t x_5;
+x_5 = !lean_is_exclusive(x_3);
+if (x_5 == 0)
+{
+lean_object* x_6; lean_object* x_7; uint8_t x_8;
+x_6 = lean_ctor_get(x_3, 0);
+x_7 = lean_ctor_get(x_3, 4);
+lean_dec(x_7);
+x_8 = !lean_is_exclusive(x_6);
+if (x_8 == 0)
+{
+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; lean_object* x_16; lean_object* x_17;
+x_9 = lean_ctor_get(x_6, 2);
+x_10 = lean_ctor_get(x_4, 1);
+lean_inc(x_10);
+x_11 = l_Lean_FileMap_toPosition(x_9, x_10);
+x_12 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_12, 0, x_11);
+lean_ctor_set(x_3, 4, x_12);
+x_13 = l_Char_HasRepr___closed__1;
+x_14 = lean_string_append(x_13, x_1);
+x_15 = lean_string_append(x_14, x_13);
+lean_inc(x_3);
+x_16 = l_Lean_Parser_symbolFnAux(x_1, x_15, x_3, x_4);
+x_17 = lean_ctor_get(x_16, 3);
+lean_inc(x_17);
+if (lean_obj_tag(x_17) == 0)
+{
+lean_object* x_18;
+x_18 = l_Lean_Parser_optionalFn(x_2, x_3, x_16);
+return x_18;
+}
+else
+{
+lean_dec(x_17);
+lean_dec(x_3);
+lean_dec(x_2);
+return x_16;
+}
+}
+else
+{
+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;
+x_19 = lean_ctor_get(x_6, 0);
+x_20 = lean_ctor_get(x_6, 1);
+x_21 = lean_ctor_get(x_6, 2);
+lean_inc(x_21);
+lean_inc(x_20);
+lean_inc(x_19);
+lean_dec(x_6);
+x_22 = lean_ctor_get(x_4, 1);
+lean_inc(x_22);
+x_23 = l_Lean_FileMap_toPosition(x_21, x_22);
+x_24 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_24, 0, x_19);
+lean_ctor_set(x_24, 1, x_20);
+lean_ctor_set(x_24, 2, x_21);
+x_25 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_25, 0, x_23);
+lean_ctor_set(x_3, 4, x_25);
+lean_ctor_set(x_3, 0, x_24);
+x_26 = l_Char_HasRepr___closed__1;
+x_27 = lean_string_append(x_26, x_1);
+x_28 = lean_string_append(x_27, x_26);
+lean_inc(x_3);
+x_29 = l_Lean_Parser_symbolFnAux(x_1, x_28, x_3, x_4);
+x_30 = lean_ctor_get(x_29, 3);
+lean_inc(x_30);
+if (lean_obj_tag(x_30) == 0)
+{
+lean_object* x_31;
+x_31 = l_Lean_Parser_optionalFn(x_2, x_3, x_29);
+return x_31;
+}
+else
+{
+lean_dec(x_30);
+lean_dec(x_3);
+lean_dec(x_2);
+return x_29;
+}
+}
+}
+else
+{
+lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; uint8_t 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;
+x_32 = lean_ctor_get(x_3, 0);
+x_33 = lean_ctor_get(x_3, 1);
+x_34 = lean_ctor_get(x_3, 2);
+x_35 = lean_ctor_get(x_3, 3);
+x_36 = lean_ctor_get_uint8(x_3, sizeof(void*)*6);
+x_37 = lean_ctor_get(x_3, 5);
+lean_inc(x_37);
+lean_inc(x_35);
+lean_inc(x_34);
+lean_inc(x_33);
+lean_inc(x_32);
+lean_dec(x_3);
+x_38 = lean_ctor_get(x_32, 0);
+lean_inc(x_38);
+x_39 = lean_ctor_get(x_32, 1);
+lean_inc(x_39);
+x_40 = lean_ctor_get(x_32, 2);
+lean_inc(x_40);
+if (lean_is_exclusive(x_32)) {
+ lean_ctor_release(x_32, 0);
+ lean_ctor_release(x_32, 1);
+ lean_ctor_release(x_32, 2);
+ x_41 = x_32;
+} else {
+ lean_dec_ref(x_32);
+ x_41 = lean_box(0);
+}
+x_42 = lean_ctor_get(x_4, 1);
+lean_inc(x_42);
+x_43 = l_Lean_FileMap_toPosition(x_40, x_42);
+if (lean_is_scalar(x_41)) {
+ x_44 = lean_alloc_ctor(0, 3, 0);
+} else {
+ x_44 = x_41;
+}
+lean_ctor_set(x_44, 0, x_38);
+lean_ctor_set(x_44, 1, x_39);
+lean_ctor_set(x_44, 2, x_40);
+x_45 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_45, 0, x_43);
+x_46 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_46, 0, x_44);
+lean_ctor_set(x_46, 1, x_33);
+lean_ctor_set(x_46, 2, x_34);
+lean_ctor_set(x_46, 3, x_35);
+lean_ctor_set(x_46, 4, x_45);
+lean_ctor_set(x_46, 5, x_37);
+lean_ctor_set_uint8(x_46, sizeof(void*)*6, x_36);
+x_47 = l_Char_HasRepr___closed__1;
+x_48 = lean_string_append(x_47, x_1);
+x_49 = lean_string_append(x_48, x_47);
+lean_inc(x_46);
+x_50 = l_Lean_Parser_symbolFnAux(x_1, x_49, x_46, x_4);
+x_51 = lean_ctor_get(x_50, 3);
+lean_inc(x_51);
+if (lean_obj_tag(x_51) == 0)
+{
+lean_object* x_52;
+x_52 = l_Lean_Parser_optionalFn(x_2, x_46, x_50);
+return x_52;
+}
+else
+{
+lean_dec(x_51);
+lean_dec(x_46);
+lean_dec(x_2);
+return x_50;
+}
+}
+}
+}
static lean_object* _init_l_Lean_Parser_Term_doReturn___elambda__1___closed__1() {
_start:
{
@@ -25261,11 +13198,11 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_doReturn___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_doReturn___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_elseIf___elambda__1___lambda__1___closed__1;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_checkLineEqFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_doReturn___elambda__1___closed__8() {
@@ -25273,8 +13210,10 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Term_doReturn___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_2 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -25282,1319 +13221,51 @@ static lean_object* _init_l_Lean_Parser_Term_doReturn___elambda__1___closed__9()
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Term_doReturn___elambda__1___closed__6;
x_2 = l_Lean_Parser_Term_doReturn___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_Term_doReturn___elambda__1___lambda__1___boxed), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doReturn___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_doReturn___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_doReturn___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doReturn___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_byTactic___elambda__1___closed__9;
+x_2 = l_Lean_Parser_Term_doReturn___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
lean_object* l_Lean_Parser_Term_doReturn___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Term_doReturn___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = l_Lean_Parser_leadPrec;
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; uint8_t x_11;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_11 = !lean_is_exclusive(x_1);
-if (x_11 == 0)
-{
-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_65; lean_object* x_66;
-x_12 = lean_ctor_get(x_1, 0);
-x_13 = lean_ctor_get(x_1, 4);
-lean_dec(x_13);
-x_14 = lean_ctor_get(x_12, 2);
-lean_inc(x_14);
-x_15 = lean_ctor_get(x_7, 1);
-lean_inc(x_15);
-lean_inc(x_15);
-x_16 = l_Lean_FileMap_toPosition(x_14, x_15);
-lean_inc(x_16);
-x_17 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_17, 0, x_16);
-lean_ctor_set(x_1, 4, x_17);
-lean_inc(x_1);
-x_65 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_66 = lean_ctor_get(x_65, 3);
-lean_inc(x_66);
-if (lean_obj_tag(x_66) == 0)
-{
-lean_object* x_67; lean_object* x_68;
-x_67 = lean_ctor_get(x_65, 0);
-lean_inc(x_67);
-x_68 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_67);
-lean_dec(x_67);
-if (lean_obj_tag(x_68) == 2)
-{
-lean_object* x_69; lean_object* x_70; uint8_t x_71;
-x_69 = lean_ctor_get(x_68, 1);
-lean_inc(x_69);
-lean_dec(x_68);
-x_70 = l_Lean_Parser_Term_doReturn___elambda__1___closed__6;
-x_71 = lean_string_dec_eq(x_69, x_70);
-lean_dec(x_69);
-if (x_71 == 0)
-{
-lean_object* x_72; lean_object* x_73;
-x_72 = l_Lean_Parser_Term_doReturn___elambda__1___closed__9;
-x_73 = l_Lean_Parser_ParserState_mkErrorsAt(x_65, x_72, x_15);
-x_18 = x_73;
-goto block_64;
-}
-else
-{
-lean_dec(x_15);
-x_18 = x_65;
-goto block_64;
-}
-}
-else
-{
-lean_object* x_74; lean_object* x_75;
-lean_dec(x_68);
-x_74 = l_Lean_Parser_Term_doReturn___elambda__1___closed__9;
-x_75 = l_Lean_Parser_ParserState_mkErrorsAt(x_65, x_74, x_15);
-x_18 = x_75;
-goto block_64;
-}
-}
-else
-{
-lean_object* x_76; lean_object* x_77;
-lean_dec(x_66);
-x_76 = l_Lean_Parser_Term_doReturn___elambda__1___closed__9;
-x_77 = l_Lean_Parser_ParserState_mkErrorsAt(x_65, x_76, x_15);
-x_18 = x_77;
-goto block_64;
-}
-block_64:
-{
-lean_object* x_19;
-x_19 = lean_ctor_get(x_18, 3);
-lean_inc(x_19);
-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_56; lean_object* x_57; lean_object* x_58; uint8_t x_59;
-x_20 = lean_ctor_get(x_18, 0);
-lean_inc(x_20);
-x_21 = lean_array_get_size(x_20);
-lean_dec(x_20);
-x_22 = lean_ctor_get(x_18, 1);
-lean_inc(x_22);
-lean_inc(x_22);
-x_56 = l_Lean_FileMap_toPosition(x_14, x_22);
-lean_dec(x_14);
-x_57 = lean_ctor_get(x_56, 0);
-lean_inc(x_57);
-lean_dec(x_56);
-x_58 = lean_ctor_get(x_16, 0);
-lean_inc(x_58);
-lean_dec(x_16);
-x_59 = lean_nat_dec_eq(x_57, x_58);
-lean_dec(x_58);
-lean_dec(x_57);
-if (x_59 == 0)
-{
-lean_object* x_60; lean_object* x_61;
-x_60 = l_Lean_Parser_Term_elseIf___elambda__1___closed__6;
-x_61 = l_Lean_Parser_ParserState_mkError(x_18, x_60);
-x_23 = x_61;
-goto block_55;
-}
-else
-{
-x_23 = x_18;
-goto block_55;
-}
-block_55:
-{
-lean_object* x_24;
-x_24 = lean_ctor_get(x_23, 3);
-lean_inc(x_24);
-if (lean_obj_tag(x_24) == 0)
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
-x_25 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_26 = lean_unsigned_to_nat(0u);
-x_27 = l_Lean_Parser_categoryParser___elambda__1(x_25, x_26, x_1, x_23);
-x_28 = lean_ctor_get(x_27, 3);
-lean_inc(x_28);
-if (lean_obj_tag(x_28) == 0)
-{
-lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
-lean_dec(x_22);
-x_29 = l_Lean_nullKind;
-x_30 = l_Lean_Parser_ParserState_mkNode(x_27, x_29, x_21);
-x_31 = l_Lean_Parser_Term_doReturn___elambda__1___closed__2;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_10);
-return x_32;
-}
-else
-{
-lean_object* x_33; uint8_t x_34;
-lean_dec(x_28);
-x_33 = lean_ctor_get(x_27, 1);
-lean_inc(x_33);
-x_34 = lean_nat_dec_eq(x_33, x_22);
-lean_dec(x_33);
-if (x_34 == 0)
-{
-lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38;
-lean_dec(x_22);
-x_35 = l_Lean_nullKind;
-x_36 = l_Lean_Parser_ParserState_mkNode(x_27, x_35, x_21);
-x_37 = l_Lean_Parser_Term_doReturn___elambda__1___closed__2;
-x_38 = l_Lean_Parser_ParserState_mkNode(x_36, x_37, x_10);
-return x_38;
-}
-else
-{
-lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43;
-x_39 = l_Lean_Parser_ParserState_restore(x_27, x_21, x_22);
-x_40 = l_Lean_nullKind;
-x_41 = l_Lean_Parser_ParserState_mkNode(x_39, x_40, x_21);
-x_42 = l_Lean_Parser_Term_doReturn___elambda__1___closed__2;
-x_43 = l_Lean_Parser_ParserState_mkNode(x_41, x_42, x_10);
-return x_43;
-}
-}
-}
-else
-{
-lean_object* x_44; uint8_t x_45;
-lean_dec(x_24);
-lean_dec(x_1);
-x_44 = lean_ctor_get(x_23, 1);
-lean_inc(x_44);
-x_45 = lean_nat_dec_eq(x_44, x_22);
-lean_dec(x_44);
-if (x_45 == 0)
-{
-lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49;
-lean_dec(x_22);
-x_46 = l_Lean_nullKind;
-x_47 = l_Lean_Parser_ParserState_mkNode(x_23, x_46, x_21);
-x_48 = l_Lean_Parser_Term_doReturn___elambda__1___closed__2;
-x_49 = l_Lean_Parser_ParserState_mkNode(x_47, x_48, x_10);
-return x_49;
-}
-else
-{
-lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54;
-x_50 = l_Lean_Parser_ParserState_restore(x_23, x_21, x_22);
-x_51 = l_Lean_nullKind;
-x_52 = l_Lean_Parser_ParserState_mkNode(x_50, x_51, x_21);
-x_53 = l_Lean_Parser_Term_doReturn___elambda__1___closed__2;
-x_54 = l_Lean_Parser_ParserState_mkNode(x_52, x_53, x_10);
-return x_54;
-}
-}
-}
-}
-else
-{
-lean_object* x_62; lean_object* x_63;
-lean_dec(x_19);
-lean_dec(x_1);
-lean_dec(x_16);
-lean_dec(x_14);
-x_62 = l_Lean_Parser_Term_doReturn___elambda__1___closed__2;
-x_63 = l_Lean_Parser_ParserState_mkNode(x_18, x_62, x_10);
-return x_63;
-}
-}
-}
-else
-{
-lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; uint8_t 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_136; lean_object* x_137;
-x_78 = lean_ctor_get(x_1, 0);
-x_79 = lean_ctor_get(x_1, 1);
-x_80 = lean_ctor_get(x_1, 2);
-x_81 = lean_ctor_get(x_1, 3);
-x_82 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
-x_83 = lean_ctor_get(x_1, 5);
-lean_inc(x_83);
-lean_inc(x_81);
-lean_inc(x_80);
-lean_inc(x_79);
-lean_inc(x_78);
-lean_dec(x_1);
-x_84 = lean_ctor_get(x_78, 2);
-lean_inc(x_84);
-x_85 = lean_ctor_get(x_7, 1);
-lean_inc(x_85);
-lean_inc(x_85);
-x_86 = l_Lean_FileMap_toPosition(x_84, x_85);
-lean_inc(x_86);
-x_87 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_87, 0, x_86);
-x_88 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_88, 0, x_78);
-lean_ctor_set(x_88, 1, x_79);
-lean_ctor_set(x_88, 2, x_80);
-lean_ctor_set(x_88, 3, x_81);
-lean_ctor_set(x_88, 4, x_87);
-lean_ctor_set(x_88, 5, x_83);
-lean_ctor_set_uint8(x_88, sizeof(void*)*6, x_82);
-lean_inc(x_88);
-x_136 = l_Lean_Parser_tokenFn(x_88, x_7);
-x_137 = lean_ctor_get(x_136, 3);
-lean_inc(x_137);
-if (lean_obj_tag(x_137) == 0)
-{
-lean_object* x_138; lean_object* x_139;
-x_138 = lean_ctor_get(x_136, 0);
-lean_inc(x_138);
-x_139 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_138);
-lean_dec(x_138);
-if (lean_obj_tag(x_139) == 2)
-{
-lean_object* x_140; lean_object* x_141; uint8_t x_142;
-x_140 = lean_ctor_get(x_139, 1);
-lean_inc(x_140);
-lean_dec(x_139);
-x_141 = l_Lean_Parser_Term_doReturn___elambda__1___closed__6;
-x_142 = lean_string_dec_eq(x_140, x_141);
-lean_dec(x_140);
-if (x_142 == 0)
-{
-lean_object* x_143; lean_object* x_144;
-x_143 = l_Lean_Parser_Term_doReturn___elambda__1___closed__9;
-x_144 = l_Lean_Parser_ParserState_mkErrorsAt(x_136, x_143, x_85);
-x_89 = x_144;
-goto block_135;
-}
-else
-{
-lean_dec(x_85);
-x_89 = x_136;
-goto block_135;
-}
-}
-else
-{
-lean_object* x_145; lean_object* x_146;
-lean_dec(x_139);
-x_145 = l_Lean_Parser_Term_doReturn___elambda__1___closed__9;
-x_146 = l_Lean_Parser_ParserState_mkErrorsAt(x_136, x_145, x_85);
-x_89 = x_146;
-goto block_135;
-}
-}
-else
-{
-lean_object* x_147; lean_object* x_148;
-lean_dec(x_137);
-x_147 = l_Lean_Parser_Term_doReturn___elambda__1___closed__9;
-x_148 = l_Lean_Parser_ParserState_mkErrorsAt(x_136, x_147, x_85);
-x_89 = x_148;
-goto block_135;
-}
-block_135:
-{
-lean_object* x_90;
-x_90 = lean_ctor_get(x_89, 3);
-lean_inc(x_90);
-if (lean_obj_tag(x_90) == 0)
-{
-lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_127; lean_object* x_128; lean_object* x_129; uint8_t x_130;
-x_91 = lean_ctor_get(x_89, 0);
-lean_inc(x_91);
-x_92 = lean_array_get_size(x_91);
-lean_dec(x_91);
-x_93 = lean_ctor_get(x_89, 1);
-lean_inc(x_93);
-lean_inc(x_93);
-x_127 = l_Lean_FileMap_toPosition(x_84, x_93);
-lean_dec(x_84);
-x_128 = lean_ctor_get(x_127, 0);
-lean_inc(x_128);
-lean_dec(x_127);
-x_129 = lean_ctor_get(x_86, 0);
-lean_inc(x_129);
-lean_dec(x_86);
-x_130 = lean_nat_dec_eq(x_128, x_129);
-lean_dec(x_129);
-lean_dec(x_128);
-if (x_130 == 0)
-{
-lean_object* x_131; lean_object* x_132;
-x_131 = l_Lean_Parser_Term_elseIf___elambda__1___closed__6;
-x_132 = l_Lean_Parser_ParserState_mkError(x_89, x_131);
-x_94 = x_132;
-goto block_126;
-}
-else
-{
-x_94 = x_89;
-goto block_126;
-}
-block_126:
-{
-lean_object* x_95;
-x_95 = lean_ctor_get(x_94, 3);
-lean_inc(x_95);
-if (lean_obj_tag(x_95) == 0)
-{
-lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99;
-x_96 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_97 = lean_unsigned_to_nat(0u);
-x_98 = l_Lean_Parser_categoryParser___elambda__1(x_96, x_97, x_88, x_94);
-x_99 = lean_ctor_get(x_98, 3);
-lean_inc(x_99);
-if (lean_obj_tag(x_99) == 0)
-{
-lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103;
-lean_dec(x_93);
-x_100 = l_Lean_nullKind;
-x_101 = l_Lean_Parser_ParserState_mkNode(x_98, x_100, x_92);
-x_102 = l_Lean_Parser_Term_doReturn___elambda__1___closed__2;
-x_103 = l_Lean_Parser_ParserState_mkNode(x_101, x_102, x_10);
-return x_103;
-}
-else
-{
-lean_object* x_104; uint8_t x_105;
-lean_dec(x_99);
-x_104 = lean_ctor_get(x_98, 1);
-lean_inc(x_104);
-x_105 = lean_nat_dec_eq(x_104, x_93);
-lean_dec(x_104);
-if (x_105 == 0)
-{
-lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109;
-lean_dec(x_93);
-x_106 = l_Lean_nullKind;
-x_107 = l_Lean_Parser_ParserState_mkNode(x_98, x_106, x_92);
-x_108 = l_Lean_Parser_Term_doReturn___elambda__1___closed__2;
-x_109 = l_Lean_Parser_ParserState_mkNode(x_107, x_108, x_10);
-return x_109;
-}
-else
-{
-lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114;
-x_110 = l_Lean_Parser_ParserState_restore(x_98, x_92, x_93);
-x_111 = l_Lean_nullKind;
-x_112 = l_Lean_Parser_ParserState_mkNode(x_110, x_111, x_92);
-x_113 = l_Lean_Parser_Term_doReturn___elambda__1___closed__2;
-x_114 = l_Lean_Parser_ParserState_mkNode(x_112, x_113, x_10);
-return x_114;
-}
-}
-}
-else
-{
-lean_object* x_115; uint8_t x_116;
-lean_dec(x_95);
-lean_dec(x_88);
-x_115 = lean_ctor_get(x_94, 1);
-lean_inc(x_115);
-x_116 = lean_nat_dec_eq(x_115, x_93);
-lean_dec(x_115);
-if (x_116 == 0)
-{
-lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120;
-lean_dec(x_93);
-x_117 = l_Lean_nullKind;
-x_118 = l_Lean_Parser_ParserState_mkNode(x_94, x_117, x_92);
-x_119 = l_Lean_Parser_Term_doReturn___elambda__1___closed__2;
-x_120 = l_Lean_Parser_ParserState_mkNode(x_118, x_119, x_10);
-return x_120;
-}
-else
-{
-lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125;
-x_121 = l_Lean_Parser_ParserState_restore(x_94, x_92, x_93);
-x_122 = l_Lean_nullKind;
-x_123 = l_Lean_Parser_ParserState_mkNode(x_121, x_122, x_92);
-x_124 = l_Lean_Parser_Term_doReturn___elambda__1___closed__2;
-x_125 = l_Lean_Parser_ParserState_mkNode(x_123, x_124, x_10);
-return x_125;
-}
-}
-}
-}
-else
-{
-lean_object* x_133; lean_object* x_134;
-lean_dec(x_90);
-lean_dec(x_88);
-lean_dec(x_86);
-lean_dec(x_84);
-x_133 = l_Lean_Parser_Term_doReturn___elambda__1___closed__2;
-x_134 = l_Lean_Parser_ParserState_mkNode(x_89, x_133, x_10);
-return x_134;
-}
-}
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Term_doReturn___elambda__1___closed__11;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153;
-x_149 = lean_ctor_get(x_2, 0);
-lean_inc(x_149);
-x_150 = lean_array_get_size(x_149);
-lean_dec(x_149);
-x_151 = lean_ctor_get(x_2, 1);
-lean_inc(x_151);
-lean_inc(x_1);
-x_152 = lean_apply_2(x_4, x_1, x_2);
-x_153 = lean_ctor_get(x_152, 3);
-lean_inc(x_153);
-if (lean_obj_tag(x_153) == 0)
-{
-lean_dec(x_151);
-lean_dec(x_150);
-lean_dec(x_1);
-return x_152;
-}
-else
-{
-uint8_t x_154;
-x_154 = !lean_is_exclusive(x_153);
-if (x_154 == 0)
-{
-lean_object* x_155; lean_object* x_156; uint8_t x_157;
-x_155 = lean_ctor_get(x_153, 0);
-x_156 = lean_ctor_get(x_152, 1);
-lean_inc(x_156);
-x_157 = lean_nat_dec_eq(x_156, x_151);
-lean_dec(x_156);
-if (x_157 == 0)
-{
-lean_free_object(x_153);
-lean_dec(x_155);
-lean_dec(x_151);
-lean_dec(x_150);
-lean_dec(x_1);
-return x_152;
-}
-else
-{
-lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161;
-lean_inc(x_151);
-x_158 = l_Lean_Parser_ParserState_restore(x_152, x_150, x_151);
-lean_dec(x_150);
-x_159 = l_Lean_Parser_leadPrec;
-x_160 = l_Lean_Parser_checkPrecFn(x_159, x_1, x_158);
-x_161 = lean_ctor_get(x_160, 3);
-lean_inc(x_161);
-if (lean_obj_tag(x_161) == 0)
-{
-lean_object* x_162; lean_object* x_163; uint8_t x_164;
-x_162 = lean_ctor_get(x_160, 0);
-lean_inc(x_162);
-x_163 = lean_array_get_size(x_162);
-lean_dec(x_162);
-x_164 = !lean_is_exclusive(x_1);
-if (x_164 == 0)
-{
-lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_229; lean_object* x_230;
-x_165 = lean_ctor_get(x_1, 0);
-x_166 = lean_ctor_get(x_1, 4);
-lean_dec(x_166);
-x_167 = lean_ctor_get(x_165, 2);
-lean_inc(x_167);
-x_168 = lean_ctor_get(x_160, 1);
-lean_inc(x_168);
-lean_inc(x_168);
-x_169 = l_Lean_FileMap_toPosition(x_167, x_168);
-lean_inc(x_169);
-lean_ctor_set(x_153, 0, x_169);
-lean_ctor_set(x_1, 4, x_153);
-lean_inc(x_1);
-x_229 = l_Lean_Parser_tokenFn(x_1, x_160);
-x_230 = lean_ctor_get(x_229, 3);
-lean_inc(x_230);
-if (lean_obj_tag(x_230) == 0)
-{
-lean_object* x_231; lean_object* x_232;
-x_231 = lean_ctor_get(x_229, 0);
-lean_inc(x_231);
-x_232 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_231);
-lean_dec(x_231);
-if (lean_obj_tag(x_232) == 2)
-{
-lean_object* x_233; lean_object* x_234; uint8_t x_235;
-x_233 = lean_ctor_get(x_232, 1);
-lean_inc(x_233);
-lean_dec(x_232);
-x_234 = l_Lean_Parser_Term_doReturn___elambda__1___closed__6;
-x_235 = lean_string_dec_eq(x_233, x_234);
-lean_dec(x_233);
-if (x_235 == 0)
-{
-lean_object* x_236; lean_object* x_237;
-x_236 = l_Lean_Parser_Term_doReturn___elambda__1___closed__9;
-x_237 = l_Lean_Parser_ParserState_mkErrorsAt(x_229, x_236, x_168);
-x_170 = x_237;
-goto block_228;
-}
-else
-{
-lean_dec(x_168);
-x_170 = x_229;
-goto block_228;
-}
-}
-else
-{
-lean_object* x_238; lean_object* x_239;
-lean_dec(x_232);
-x_238 = l_Lean_Parser_Term_doReturn___elambda__1___closed__9;
-x_239 = l_Lean_Parser_ParserState_mkErrorsAt(x_229, x_238, x_168);
-x_170 = x_239;
-goto block_228;
-}
-}
-else
-{
-lean_object* x_240; lean_object* x_241;
-lean_dec(x_230);
-x_240 = l_Lean_Parser_Term_doReturn___elambda__1___closed__9;
-x_241 = l_Lean_Parser_ParserState_mkErrorsAt(x_229, x_240, x_168);
-x_170 = x_241;
-goto block_228;
-}
-block_228:
-{
-lean_object* x_171;
-x_171 = lean_ctor_get(x_170, 3);
-lean_inc(x_171);
-if (lean_obj_tag(x_171) == 0)
-{
-lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_218; lean_object* x_219; lean_object* x_220; uint8_t x_221;
-x_172 = lean_ctor_get(x_170, 0);
-lean_inc(x_172);
-x_173 = lean_array_get_size(x_172);
-lean_dec(x_172);
-x_174 = lean_ctor_get(x_170, 1);
-lean_inc(x_174);
-lean_inc(x_174);
-x_218 = l_Lean_FileMap_toPosition(x_167, x_174);
-lean_dec(x_167);
-x_219 = lean_ctor_get(x_218, 0);
-lean_inc(x_219);
-lean_dec(x_218);
-x_220 = lean_ctor_get(x_169, 0);
-lean_inc(x_220);
-lean_dec(x_169);
-x_221 = lean_nat_dec_eq(x_219, x_220);
-lean_dec(x_220);
-lean_dec(x_219);
-if (x_221 == 0)
-{
-lean_object* x_222; lean_object* x_223;
-x_222 = l_Lean_Parser_Term_elseIf___elambda__1___closed__6;
-x_223 = l_Lean_Parser_ParserState_mkError(x_170, x_222);
-x_175 = x_223;
-goto block_217;
-}
-else
-{
-x_175 = x_170;
-goto block_217;
-}
-block_217:
-{
-lean_object* x_176;
-x_176 = lean_ctor_get(x_175, 3);
-lean_inc(x_176);
-if (lean_obj_tag(x_176) == 0)
-{
-lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180;
-x_177 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_178 = lean_unsigned_to_nat(0u);
-x_179 = l_Lean_Parser_categoryParser___elambda__1(x_177, x_178, x_1, x_175);
-x_180 = lean_ctor_get(x_179, 3);
-lean_inc(x_180);
-if (lean_obj_tag(x_180) == 0)
-{
-lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; uint8_t x_185; lean_object* x_186;
-lean_dec(x_174);
-x_181 = l_Lean_nullKind;
-x_182 = l_Lean_Parser_ParserState_mkNode(x_179, x_181, x_173);
-x_183 = l_Lean_Parser_Term_doReturn___elambda__1___closed__2;
-x_184 = l_Lean_Parser_ParserState_mkNode(x_182, x_183, x_163);
-x_185 = 1;
-x_186 = l_Lean_Parser_mergeOrElseErrors(x_184, x_155, x_151, x_185);
-lean_dec(x_151);
-return x_186;
-}
-else
-{
-lean_object* x_187; uint8_t x_188;
-lean_dec(x_180);
-x_187 = lean_ctor_get(x_179, 1);
-lean_inc(x_187);
-x_188 = lean_nat_dec_eq(x_187, x_174);
-lean_dec(x_187);
-if (x_188 == 0)
-{
-lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; uint8_t x_193; lean_object* x_194;
-lean_dec(x_174);
-x_189 = l_Lean_nullKind;
-x_190 = l_Lean_Parser_ParserState_mkNode(x_179, x_189, x_173);
-x_191 = l_Lean_Parser_Term_doReturn___elambda__1___closed__2;
-x_192 = l_Lean_Parser_ParserState_mkNode(x_190, x_191, x_163);
-x_193 = 1;
-x_194 = l_Lean_Parser_mergeOrElseErrors(x_192, x_155, x_151, x_193);
-lean_dec(x_151);
-return x_194;
-}
-else
-{
-lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; uint8_t x_200; lean_object* x_201;
-x_195 = l_Lean_Parser_ParserState_restore(x_179, x_173, x_174);
-x_196 = l_Lean_nullKind;
-x_197 = l_Lean_Parser_ParserState_mkNode(x_195, x_196, x_173);
-x_198 = l_Lean_Parser_Term_doReturn___elambda__1___closed__2;
-x_199 = l_Lean_Parser_ParserState_mkNode(x_197, x_198, x_163);
-x_200 = 1;
-x_201 = l_Lean_Parser_mergeOrElseErrors(x_199, x_155, x_151, x_200);
-lean_dec(x_151);
-return x_201;
-}
-}
-}
-else
-{
-lean_object* x_202; uint8_t x_203;
-lean_dec(x_176);
-lean_dec(x_1);
-x_202 = lean_ctor_get(x_175, 1);
-lean_inc(x_202);
-x_203 = lean_nat_dec_eq(x_202, x_174);
-lean_dec(x_202);
-if (x_203 == 0)
-{
-lean_object* x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207; uint8_t x_208; lean_object* x_209;
-lean_dec(x_174);
-x_204 = l_Lean_nullKind;
-x_205 = l_Lean_Parser_ParserState_mkNode(x_175, x_204, x_173);
-x_206 = l_Lean_Parser_Term_doReturn___elambda__1___closed__2;
-x_207 = l_Lean_Parser_ParserState_mkNode(x_205, x_206, x_163);
-x_208 = 1;
-x_209 = l_Lean_Parser_mergeOrElseErrors(x_207, x_155, x_151, x_208);
-lean_dec(x_151);
-return x_209;
-}
-else
-{
-lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214; uint8_t x_215; lean_object* x_216;
-x_210 = l_Lean_Parser_ParserState_restore(x_175, x_173, x_174);
-x_211 = l_Lean_nullKind;
-x_212 = l_Lean_Parser_ParserState_mkNode(x_210, x_211, x_173);
-x_213 = l_Lean_Parser_Term_doReturn___elambda__1___closed__2;
-x_214 = l_Lean_Parser_ParserState_mkNode(x_212, x_213, x_163);
-x_215 = 1;
-x_216 = l_Lean_Parser_mergeOrElseErrors(x_214, x_155, x_151, x_215);
-lean_dec(x_151);
-return x_216;
-}
-}
-}
-}
-else
-{
-lean_object* x_224; lean_object* x_225; uint8_t x_226; lean_object* x_227;
-lean_dec(x_171);
-lean_dec(x_1);
-lean_dec(x_169);
-lean_dec(x_167);
-x_224 = l_Lean_Parser_Term_doReturn___elambda__1___closed__2;
-x_225 = l_Lean_Parser_ParserState_mkNode(x_170, x_224, x_163);
-x_226 = 1;
-x_227 = l_Lean_Parser_mergeOrElseErrors(x_225, x_155, x_151, x_226);
-lean_dec(x_151);
-return x_227;
-}
-}
-}
-else
-{
-lean_object* x_242; lean_object* x_243; lean_object* x_244; lean_object* x_245; uint8_t x_246; lean_object* x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_311; lean_object* x_312;
-x_242 = lean_ctor_get(x_1, 0);
-x_243 = lean_ctor_get(x_1, 1);
-x_244 = lean_ctor_get(x_1, 2);
-x_245 = lean_ctor_get(x_1, 3);
-x_246 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
-x_247 = lean_ctor_get(x_1, 5);
-lean_inc(x_247);
-lean_inc(x_245);
-lean_inc(x_244);
-lean_inc(x_243);
-lean_inc(x_242);
-lean_dec(x_1);
-x_248 = lean_ctor_get(x_242, 2);
-lean_inc(x_248);
-x_249 = lean_ctor_get(x_160, 1);
-lean_inc(x_249);
-lean_inc(x_249);
-x_250 = l_Lean_FileMap_toPosition(x_248, x_249);
-lean_inc(x_250);
-lean_ctor_set(x_153, 0, x_250);
-x_251 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_251, 0, x_242);
-lean_ctor_set(x_251, 1, x_243);
-lean_ctor_set(x_251, 2, x_244);
-lean_ctor_set(x_251, 3, x_245);
-lean_ctor_set(x_251, 4, x_153);
-lean_ctor_set(x_251, 5, x_247);
-lean_ctor_set_uint8(x_251, sizeof(void*)*6, x_246);
-lean_inc(x_251);
-x_311 = l_Lean_Parser_tokenFn(x_251, x_160);
-x_312 = lean_ctor_get(x_311, 3);
-lean_inc(x_312);
-if (lean_obj_tag(x_312) == 0)
-{
-lean_object* x_313; lean_object* x_314;
-x_313 = lean_ctor_get(x_311, 0);
-lean_inc(x_313);
-x_314 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_313);
-lean_dec(x_313);
-if (lean_obj_tag(x_314) == 2)
-{
-lean_object* x_315; lean_object* x_316; uint8_t x_317;
-x_315 = lean_ctor_get(x_314, 1);
-lean_inc(x_315);
-lean_dec(x_314);
-x_316 = l_Lean_Parser_Term_doReturn___elambda__1___closed__6;
-x_317 = lean_string_dec_eq(x_315, x_316);
-lean_dec(x_315);
-if (x_317 == 0)
-{
-lean_object* x_318; lean_object* x_319;
-x_318 = l_Lean_Parser_Term_doReturn___elambda__1___closed__9;
-x_319 = l_Lean_Parser_ParserState_mkErrorsAt(x_311, x_318, x_249);
-x_252 = x_319;
-goto block_310;
-}
-else
-{
-lean_dec(x_249);
-x_252 = x_311;
-goto block_310;
-}
-}
-else
-{
-lean_object* x_320; lean_object* x_321;
-lean_dec(x_314);
-x_320 = l_Lean_Parser_Term_doReturn___elambda__1___closed__9;
-x_321 = l_Lean_Parser_ParserState_mkErrorsAt(x_311, x_320, x_249);
-x_252 = x_321;
-goto block_310;
-}
-}
-else
-{
-lean_object* x_322; lean_object* x_323;
-lean_dec(x_312);
-x_322 = l_Lean_Parser_Term_doReturn___elambda__1___closed__9;
-x_323 = l_Lean_Parser_ParserState_mkErrorsAt(x_311, x_322, x_249);
-x_252 = x_323;
-goto block_310;
-}
-block_310:
-{
-lean_object* x_253;
-x_253 = lean_ctor_get(x_252, 3);
-lean_inc(x_253);
-if (lean_obj_tag(x_253) == 0)
-{
-lean_object* x_254; lean_object* x_255; lean_object* x_256; lean_object* x_257; lean_object* x_300; lean_object* x_301; lean_object* x_302; uint8_t x_303;
-x_254 = lean_ctor_get(x_252, 0);
-lean_inc(x_254);
-x_255 = lean_array_get_size(x_254);
-lean_dec(x_254);
-x_256 = lean_ctor_get(x_252, 1);
-lean_inc(x_256);
-lean_inc(x_256);
-x_300 = l_Lean_FileMap_toPosition(x_248, x_256);
-lean_dec(x_248);
-x_301 = lean_ctor_get(x_300, 0);
-lean_inc(x_301);
-lean_dec(x_300);
-x_302 = lean_ctor_get(x_250, 0);
-lean_inc(x_302);
-lean_dec(x_250);
-x_303 = lean_nat_dec_eq(x_301, x_302);
-lean_dec(x_302);
-lean_dec(x_301);
-if (x_303 == 0)
-{
-lean_object* x_304; lean_object* x_305;
-x_304 = l_Lean_Parser_Term_elseIf___elambda__1___closed__6;
-x_305 = l_Lean_Parser_ParserState_mkError(x_252, x_304);
-x_257 = x_305;
-goto block_299;
-}
-else
-{
-x_257 = x_252;
-goto block_299;
-}
-block_299:
-{
-lean_object* x_258;
-x_258 = lean_ctor_get(x_257, 3);
-lean_inc(x_258);
-if (lean_obj_tag(x_258) == 0)
-{
-lean_object* x_259; lean_object* x_260; lean_object* x_261; lean_object* x_262;
-x_259 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_260 = lean_unsigned_to_nat(0u);
-x_261 = l_Lean_Parser_categoryParser___elambda__1(x_259, x_260, x_251, x_257);
-x_262 = lean_ctor_get(x_261, 3);
-lean_inc(x_262);
-if (lean_obj_tag(x_262) == 0)
-{
-lean_object* x_263; lean_object* x_264; lean_object* x_265; lean_object* x_266; uint8_t x_267; lean_object* x_268;
-lean_dec(x_256);
-x_263 = l_Lean_nullKind;
-x_264 = l_Lean_Parser_ParserState_mkNode(x_261, x_263, x_255);
-x_265 = l_Lean_Parser_Term_doReturn___elambda__1___closed__2;
-x_266 = l_Lean_Parser_ParserState_mkNode(x_264, x_265, x_163);
-x_267 = 1;
-x_268 = l_Lean_Parser_mergeOrElseErrors(x_266, x_155, x_151, x_267);
-lean_dec(x_151);
-return x_268;
-}
-else
-{
-lean_object* x_269; uint8_t x_270;
-lean_dec(x_262);
-x_269 = lean_ctor_get(x_261, 1);
-lean_inc(x_269);
-x_270 = lean_nat_dec_eq(x_269, x_256);
-lean_dec(x_269);
-if (x_270 == 0)
-{
-lean_object* x_271; lean_object* x_272; lean_object* x_273; lean_object* x_274; uint8_t x_275; lean_object* x_276;
-lean_dec(x_256);
-x_271 = l_Lean_nullKind;
-x_272 = l_Lean_Parser_ParserState_mkNode(x_261, x_271, x_255);
-x_273 = l_Lean_Parser_Term_doReturn___elambda__1___closed__2;
-x_274 = l_Lean_Parser_ParserState_mkNode(x_272, x_273, x_163);
-x_275 = 1;
-x_276 = l_Lean_Parser_mergeOrElseErrors(x_274, x_155, x_151, x_275);
-lean_dec(x_151);
-return x_276;
-}
-else
-{
-lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; lean_object* x_281; uint8_t x_282; lean_object* x_283;
-x_277 = l_Lean_Parser_ParserState_restore(x_261, x_255, x_256);
-x_278 = l_Lean_nullKind;
-x_279 = l_Lean_Parser_ParserState_mkNode(x_277, x_278, x_255);
-x_280 = l_Lean_Parser_Term_doReturn___elambda__1___closed__2;
-x_281 = l_Lean_Parser_ParserState_mkNode(x_279, x_280, x_163);
-x_282 = 1;
-x_283 = l_Lean_Parser_mergeOrElseErrors(x_281, x_155, x_151, x_282);
-lean_dec(x_151);
-return x_283;
-}
-}
-}
-else
-{
-lean_object* x_284; uint8_t x_285;
-lean_dec(x_258);
-lean_dec(x_251);
-x_284 = lean_ctor_get(x_257, 1);
-lean_inc(x_284);
-x_285 = lean_nat_dec_eq(x_284, x_256);
-lean_dec(x_284);
-if (x_285 == 0)
-{
-lean_object* x_286; lean_object* x_287; lean_object* x_288; lean_object* x_289; uint8_t x_290; lean_object* x_291;
-lean_dec(x_256);
-x_286 = l_Lean_nullKind;
-x_287 = l_Lean_Parser_ParserState_mkNode(x_257, x_286, x_255);
-x_288 = l_Lean_Parser_Term_doReturn___elambda__1___closed__2;
-x_289 = l_Lean_Parser_ParserState_mkNode(x_287, x_288, x_163);
-x_290 = 1;
-x_291 = l_Lean_Parser_mergeOrElseErrors(x_289, x_155, x_151, x_290);
-lean_dec(x_151);
-return x_291;
-}
-else
-{
-lean_object* x_292; lean_object* x_293; lean_object* x_294; lean_object* x_295; lean_object* x_296; uint8_t x_297; lean_object* x_298;
-x_292 = l_Lean_Parser_ParserState_restore(x_257, x_255, x_256);
-x_293 = l_Lean_nullKind;
-x_294 = l_Lean_Parser_ParserState_mkNode(x_292, x_293, x_255);
-x_295 = l_Lean_Parser_Term_doReturn___elambda__1___closed__2;
-x_296 = l_Lean_Parser_ParserState_mkNode(x_294, x_295, x_163);
-x_297 = 1;
-x_298 = l_Lean_Parser_mergeOrElseErrors(x_296, x_155, x_151, x_297);
-lean_dec(x_151);
-return x_298;
-}
-}
-}
-}
-else
-{
-lean_object* x_306; lean_object* x_307; uint8_t x_308; lean_object* x_309;
-lean_dec(x_253);
-lean_dec(x_251);
-lean_dec(x_250);
-lean_dec(x_248);
-x_306 = l_Lean_Parser_Term_doReturn___elambda__1___closed__2;
-x_307 = l_Lean_Parser_ParserState_mkNode(x_252, x_306, x_163);
-x_308 = 1;
-x_309 = l_Lean_Parser_mergeOrElseErrors(x_307, x_155, x_151, x_308);
-lean_dec(x_151);
-return x_309;
-}
-}
-}
-}
-else
-{
-uint8_t x_324; lean_object* x_325;
-lean_dec(x_161);
-lean_free_object(x_153);
-lean_dec(x_1);
-x_324 = 1;
-x_325 = l_Lean_Parser_mergeOrElseErrors(x_160, x_155, x_151, x_324);
-lean_dec(x_151);
-return x_325;
-}
-}
-}
-else
-{
-lean_object* x_326; lean_object* x_327; uint8_t x_328;
-x_326 = lean_ctor_get(x_153, 0);
-lean_inc(x_326);
-lean_dec(x_153);
-x_327 = lean_ctor_get(x_152, 1);
-lean_inc(x_327);
-x_328 = lean_nat_dec_eq(x_327, x_151);
-lean_dec(x_327);
-if (x_328 == 0)
-{
-lean_dec(x_326);
-lean_dec(x_151);
-lean_dec(x_150);
-lean_dec(x_1);
-return x_152;
-}
-else
-{
-lean_object* x_329; lean_object* x_330; lean_object* x_331; lean_object* x_332;
-lean_inc(x_151);
-x_329 = l_Lean_Parser_ParserState_restore(x_152, x_150, x_151);
-lean_dec(x_150);
-x_330 = l_Lean_Parser_leadPrec;
-x_331 = l_Lean_Parser_checkPrecFn(x_330, x_1, x_329);
-x_332 = lean_ctor_get(x_331, 3);
-lean_inc(x_332);
-if (lean_obj_tag(x_332) == 0)
-{
-lean_object* x_333; lean_object* x_334; lean_object* x_335; lean_object* x_336; lean_object* x_337; lean_object* x_338; uint8_t x_339; lean_object* x_340; lean_object* x_341; lean_object* x_342; lean_object* x_343; lean_object* x_344; lean_object* x_345; lean_object* x_346; lean_object* x_347; lean_object* x_406; lean_object* x_407;
-x_333 = lean_ctor_get(x_331, 0);
-lean_inc(x_333);
-x_334 = lean_array_get_size(x_333);
-lean_dec(x_333);
-x_335 = lean_ctor_get(x_1, 0);
-lean_inc(x_335);
-x_336 = lean_ctor_get(x_1, 1);
-lean_inc(x_336);
-x_337 = lean_ctor_get(x_1, 2);
-lean_inc(x_337);
-x_338 = lean_ctor_get(x_1, 3);
-lean_inc(x_338);
-x_339 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
-x_340 = lean_ctor_get(x_1, 5);
-lean_inc(x_340);
-if (lean_is_exclusive(x_1)) {
- lean_ctor_release(x_1, 0);
- lean_ctor_release(x_1, 1);
- lean_ctor_release(x_1, 2);
- lean_ctor_release(x_1, 3);
- lean_ctor_release(x_1, 4);
- lean_ctor_release(x_1, 5);
- x_341 = x_1;
-} else {
- lean_dec_ref(x_1);
- x_341 = lean_box(0);
-}
-x_342 = lean_ctor_get(x_335, 2);
-lean_inc(x_342);
-x_343 = lean_ctor_get(x_331, 1);
-lean_inc(x_343);
-lean_inc(x_343);
-x_344 = l_Lean_FileMap_toPosition(x_342, x_343);
-lean_inc(x_344);
-x_345 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_345, 0, x_344);
-if (lean_is_scalar(x_341)) {
- x_346 = lean_alloc_ctor(0, 6, 1);
-} else {
- x_346 = x_341;
-}
-lean_ctor_set(x_346, 0, x_335);
-lean_ctor_set(x_346, 1, x_336);
-lean_ctor_set(x_346, 2, x_337);
-lean_ctor_set(x_346, 3, x_338);
-lean_ctor_set(x_346, 4, x_345);
-lean_ctor_set(x_346, 5, x_340);
-lean_ctor_set_uint8(x_346, sizeof(void*)*6, x_339);
-lean_inc(x_346);
-x_406 = l_Lean_Parser_tokenFn(x_346, x_331);
-x_407 = lean_ctor_get(x_406, 3);
-lean_inc(x_407);
-if (lean_obj_tag(x_407) == 0)
-{
-lean_object* x_408; lean_object* x_409;
-x_408 = lean_ctor_get(x_406, 0);
-lean_inc(x_408);
-x_409 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_408);
-lean_dec(x_408);
-if (lean_obj_tag(x_409) == 2)
-{
-lean_object* x_410; lean_object* x_411; uint8_t x_412;
-x_410 = lean_ctor_get(x_409, 1);
-lean_inc(x_410);
-lean_dec(x_409);
-x_411 = l_Lean_Parser_Term_doReturn___elambda__1___closed__6;
-x_412 = lean_string_dec_eq(x_410, x_411);
-lean_dec(x_410);
-if (x_412 == 0)
-{
-lean_object* x_413; lean_object* x_414;
-x_413 = l_Lean_Parser_Term_doReturn___elambda__1___closed__9;
-x_414 = l_Lean_Parser_ParserState_mkErrorsAt(x_406, x_413, x_343);
-x_347 = x_414;
-goto block_405;
-}
-else
-{
-lean_dec(x_343);
-x_347 = x_406;
-goto block_405;
-}
-}
-else
-{
-lean_object* x_415; lean_object* x_416;
-lean_dec(x_409);
-x_415 = l_Lean_Parser_Term_doReturn___elambda__1___closed__9;
-x_416 = l_Lean_Parser_ParserState_mkErrorsAt(x_406, x_415, x_343);
-x_347 = x_416;
-goto block_405;
-}
-}
-else
-{
-lean_object* x_417; lean_object* x_418;
-lean_dec(x_407);
-x_417 = l_Lean_Parser_Term_doReturn___elambda__1___closed__9;
-x_418 = l_Lean_Parser_ParserState_mkErrorsAt(x_406, x_417, x_343);
-x_347 = x_418;
-goto block_405;
-}
-block_405:
-{
-lean_object* x_348;
-x_348 = lean_ctor_get(x_347, 3);
-lean_inc(x_348);
-if (lean_obj_tag(x_348) == 0)
-{
-lean_object* x_349; lean_object* x_350; lean_object* x_351; lean_object* x_352; lean_object* x_395; lean_object* x_396; lean_object* x_397; uint8_t x_398;
-x_349 = lean_ctor_get(x_347, 0);
-lean_inc(x_349);
-x_350 = lean_array_get_size(x_349);
-lean_dec(x_349);
-x_351 = lean_ctor_get(x_347, 1);
-lean_inc(x_351);
-lean_inc(x_351);
-x_395 = l_Lean_FileMap_toPosition(x_342, x_351);
-lean_dec(x_342);
-x_396 = lean_ctor_get(x_395, 0);
-lean_inc(x_396);
-lean_dec(x_395);
-x_397 = lean_ctor_get(x_344, 0);
-lean_inc(x_397);
-lean_dec(x_344);
-x_398 = lean_nat_dec_eq(x_396, x_397);
-lean_dec(x_397);
-lean_dec(x_396);
-if (x_398 == 0)
-{
-lean_object* x_399; lean_object* x_400;
-x_399 = l_Lean_Parser_Term_elseIf___elambda__1___closed__6;
-x_400 = l_Lean_Parser_ParserState_mkError(x_347, x_399);
-x_352 = x_400;
-goto block_394;
-}
-else
-{
-x_352 = x_347;
-goto block_394;
-}
-block_394:
-{
-lean_object* x_353;
-x_353 = lean_ctor_get(x_352, 3);
-lean_inc(x_353);
-if (lean_obj_tag(x_353) == 0)
-{
-lean_object* x_354; lean_object* x_355; lean_object* x_356; lean_object* x_357;
-x_354 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_355 = lean_unsigned_to_nat(0u);
-x_356 = l_Lean_Parser_categoryParser___elambda__1(x_354, x_355, x_346, x_352);
-x_357 = lean_ctor_get(x_356, 3);
-lean_inc(x_357);
-if (lean_obj_tag(x_357) == 0)
-{
-lean_object* x_358; lean_object* x_359; lean_object* x_360; lean_object* x_361; uint8_t x_362; lean_object* x_363;
-lean_dec(x_351);
-x_358 = l_Lean_nullKind;
-x_359 = l_Lean_Parser_ParserState_mkNode(x_356, x_358, x_350);
-x_360 = l_Lean_Parser_Term_doReturn___elambda__1___closed__2;
-x_361 = l_Lean_Parser_ParserState_mkNode(x_359, x_360, x_334);
-x_362 = 1;
-x_363 = l_Lean_Parser_mergeOrElseErrors(x_361, x_326, x_151, x_362);
-lean_dec(x_151);
-return x_363;
-}
-else
-{
-lean_object* x_364; uint8_t x_365;
-lean_dec(x_357);
-x_364 = lean_ctor_get(x_356, 1);
-lean_inc(x_364);
-x_365 = lean_nat_dec_eq(x_364, x_351);
-lean_dec(x_364);
-if (x_365 == 0)
-{
-lean_object* x_366; lean_object* x_367; lean_object* x_368; lean_object* x_369; uint8_t x_370; lean_object* x_371;
-lean_dec(x_351);
-x_366 = l_Lean_nullKind;
-x_367 = l_Lean_Parser_ParserState_mkNode(x_356, x_366, x_350);
-x_368 = l_Lean_Parser_Term_doReturn___elambda__1___closed__2;
-x_369 = l_Lean_Parser_ParserState_mkNode(x_367, x_368, x_334);
-x_370 = 1;
-x_371 = l_Lean_Parser_mergeOrElseErrors(x_369, x_326, x_151, x_370);
-lean_dec(x_151);
-return x_371;
-}
-else
-{
-lean_object* x_372; lean_object* x_373; lean_object* x_374; lean_object* x_375; lean_object* x_376; uint8_t x_377; lean_object* x_378;
-x_372 = l_Lean_Parser_ParserState_restore(x_356, x_350, x_351);
-x_373 = l_Lean_nullKind;
-x_374 = l_Lean_Parser_ParserState_mkNode(x_372, x_373, x_350);
-x_375 = l_Lean_Parser_Term_doReturn___elambda__1___closed__2;
-x_376 = l_Lean_Parser_ParserState_mkNode(x_374, x_375, x_334);
-x_377 = 1;
-x_378 = l_Lean_Parser_mergeOrElseErrors(x_376, x_326, x_151, x_377);
-lean_dec(x_151);
-return x_378;
-}
-}
-}
-else
-{
-lean_object* x_379; uint8_t x_380;
-lean_dec(x_353);
-lean_dec(x_346);
-x_379 = lean_ctor_get(x_352, 1);
-lean_inc(x_379);
-x_380 = lean_nat_dec_eq(x_379, x_351);
-lean_dec(x_379);
-if (x_380 == 0)
-{
-lean_object* x_381; lean_object* x_382; lean_object* x_383; lean_object* x_384; uint8_t x_385; lean_object* x_386;
-lean_dec(x_351);
-x_381 = l_Lean_nullKind;
-x_382 = l_Lean_Parser_ParserState_mkNode(x_352, x_381, x_350);
-x_383 = l_Lean_Parser_Term_doReturn___elambda__1___closed__2;
-x_384 = l_Lean_Parser_ParserState_mkNode(x_382, x_383, x_334);
-x_385 = 1;
-x_386 = l_Lean_Parser_mergeOrElseErrors(x_384, x_326, x_151, x_385);
-lean_dec(x_151);
-return x_386;
-}
-else
-{
-lean_object* x_387; lean_object* x_388; lean_object* x_389; lean_object* x_390; lean_object* x_391; uint8_t x_392; lean_object* x_393;
-x_387 = l_Lean_Parser_ParserState_restore(x_352, x_350, x_351);
-x_388 = l_Lean_nullKind;
-x_389 = l_Lean_Parser_ParserState_mkNode(x_387, x_388, x_350);
-x_390 = l_Lean_Parser_Term_doReturn___elambda__1___closed__2;
-x_391 = l_Lean_Parser_ParserState_mkNode(x_389, x_390, x_334);
-x_392 = 1;
-x_393 = l_Lean_Parser_mergeOrElseErrors(x_391, x_326, x_151, x_392);
-lean_dec(x_151);
-return x_393;
-}
-}
-}
-}
-else
-{
-lean_object* x_401; lean_object* x_402; uint8_t x_403; lean_object* x_404;
-lean_dec(x_348);
-lean_dec(x_346);
-lean_dec(x_344);
-lean_dec(x_342);
-x_401 = l_Lean_Parser_Term_doReturn___elambda__1___closed__2;
-x_402 = l_Lean_Parser_ParserState_mkNode(x_347, x_401, x_334);
-x_403 = 1;
-x_404 = l_Lean_Parser_mergeOrElseErrors(x_402, x_326, x_151, x_403);
-lean_dec(x_151);
-return x_404;
-}
-}
-}
-else
-{
-uint8_t x_419; lean_object* x_420;
-lean_dec(x_332);
-lean_dec(x_1);
-x_419 = 1;
-x_420 = l_Lean_Parser_mergeOrElseErrors(x_331, x_326, x_151, x_419);
-lean_dec(x_151);
-return x_420;
-}
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Term_doReturn___closed__1() {
_start:
{
@@ -26695,11 +13366,20 @@ x_1 = l_Lean_Parser_Term_doReturn___closed__9;
return x_1;
}
}
+lean_object* l_Lean_Parser_Term_doReturn___elambda__1___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
+_start:
+{
+lean_object* x_5;
+x_5 = l_Lean_Parser_Term_doReturn___elambda__1___lambda__1(x_1, x_2, x_3, x_4);
+lean_dec(x_1);
+return x_5;
+}
+}
lean_object* l___regBuiltinParser_Lean_Parser_Term_doReturn(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_2 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4;
+x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__4;
x_3 = l_Lean_Parser_Term_doReturn___elambda__1___closed__2;
x_4 = 1;
x_5 = l_Lean_Parser_Term_doReturn;
@@ -26959,394 +13639,77 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
+x_1 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__7;
+x_2 = lean_ctor_get(x_1, 1);
+lean_inc(x_2);
+x_3 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_4 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_4, 0, x_2);
+lean_closure_set(x_4, 1, x_3);
+return x_4;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__5;
+x_2 = l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_byTactic___elambda__1___closed__9;
+x_2 = l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Term_doDbgTrace___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; uint8_t x_7;
-x_3 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__7;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
+x_3 = l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-x_5 = l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__4;
-x_6 = lean_ctor_get(x_5, 1);
-lean_inc(x_6);
-lean_inc(x_2);
-lean_inc(x_1);
-x_7 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_7 == 0)
-{
-lean_object* x_8; lean_object* x_9; lean_object* x_10;
-lean_dec(x_6);
-x_8 = l_Lean_Parser_leadPrec;
-x_9 = l_Lean_Parser_checkPrecFn(x_8, x_1, x_2);
-x_10 = lean_ctor_get(x_9, 3);
-lean_inc(x_10);
-if (lean_obj_tag(x_10) == 0)
-{
-lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_38; lean_object* x_39; lean_object* x_40;
-x_11 = lean_ctor_get(x_9, 0);
-lean_inc(x_11);
-x_12 = lean_array_get_size(x_11);
-lean_dec(x_11);
-x_38 = lean_ctor_get(x_9, 1);
-lean_inc(x_38);
-lean_inc(x_1);
-x_39 = l_Lean_Parser_tokenFn(x_1, x_9);
-x_40 = lean_ctor_get(x_39, 3);
-lean_inc(x_40);
-if (lean_obj_tag(x_40) == 0)
-{
-lean_object* x_41; lean_object* x_42;
-x_41 = lean_ctor_get(x_39, 0);
-lean_inc(x_41);
-x_42 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_41);
-lean_dec(x_41);
-if (lean_obj_tag(x_42) == 2)
-{
-lean_object* x_43; lean_object* x_44; uint8_t x_45;
-x_43 = lean_ctor_get(x_42, 1);
-lean_inc(x_43);
-lean_dec(x_42);
-x_44 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__6;
-x_45 = lean_string_dec_eq(x_43, x_44);
-lean_dec(x_43);
-if (x_45 == 0)
-{
-lean_object* x_46; lean_object* x_47;
-x_46 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__10;
-x_47 = l_Lean_Parser_ParserState_mkErrorsAt(x_39, x_46, x_38);
-x_13 = x_47;
-goto block_37;
-}
-else
-{
-lean_dec(x_38);
-x_13 = x_39;
-goto block_37;
-}
-}
-else
-{
-lean_object* x_48; lean_object* x_49;
-lean_dec(x_42);
-x_48 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__10;
-x_49 = l_Lean_Parser_ParserState_mkErrorsAt(x_39, x_48, x_38);
-x_13 = x_49;
-goto block_37;
-}
-}
-else
-{
-lean_object* x_50; lean_object* x_51;
-lean_dec(x_40);
-x_50 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__10;
-x_51 = l_Lean_Parser_ParserState_mkErrorsAt(x_39, x_50, x_38);
-x_13 = x_51;
-goto block_37;
-}
-block_37:
-{
-lean_object* x_14;
-x_14 = lean_ctor_get(x_13, 3);
-lean_inc(x_14);
-if (lean_obj_tag(x_14) == 0)
-{
-lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
-x_15 = lean_ctor_get(x_13, 0);
-lean_inc(x_15);
-x_16 = lean_array_get_size(x_15);
-lean_dec(x_15);
-x_17 = lean_ctor_get(x_13, 1);
-lean_inc(x_17);
-lean_inc(x_1);
-x_18 = lean_apply_2(x_4, x_1, x_13);
-x_19 = lean_ctor_get(x_18, 3);
-lean_inc(x_19);
-if (lean_obj_tag(x_19) == 0)
-{
-lean_object* x_20; lean_object* x_21;
-lean_dec(x_17);
-lean_dec(x_16);
-lean_dec(x_1);
-x_20 = l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__2;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_18, x_20, x_12);
-return x_21;
-}
-else
-{
-lean_object* x_22; lean_object* x_23; uint8_t x_24;
-x_22 = lean_ctor_get(x_19, 0);
-lean_inc(x_22);
-lean_dec(x_19);
-x_23 = lean_ctor_get(x_18, 1);
-lean_inc(x_23);
-x_24 = lean_nat_dec_eq(x_23, x_17);
-lean_dec(x_23);
-if (x_24 == 0)
-{
-lean_object* x_25; lean_object* x_26;
-lean_dec(x_22);
-lean_dec(x_17);
-lean_dec(x_16);
-lean_dec(x_1);
-x_25 = l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__2;
-x_26 = l_Lean_Parser_ParserState_mkNode(x_18, x_25, x_12);
-return x_26;
-}
-else
-{
-lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34;
-lean_inc(x_17);
-x_27 = l_Lean_Parser_ParserState_restore(x_18, x_16, x_17);
-lean_dec(x_16);
-x_28 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_29 = lean_unsigned_to_nat(0u);
-x_30 = l_Lean_Parser_categoryParser___elambda__1(x_28, x_29, x_1, x_27);
-x_31 = 1;
-x_32 = l_Lean_Parser_mergeOrElseErrors(x_30, x_22, x_17, x_31);
-lean_dec(x_17);
-x_33 = l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__2;
-x_34 = l_Lean_Parser_ParserState_mkNode(x_32, x_33, x_12);
-return x_34;
-}
-}
-}
-else
-{
-lean_object* x_35; lean_object* x_36;
-lean_dec(x_14);
-lean_dec(x_4);
-lean_dec(x_1);
-x_35 = l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__2;
-x_36 = l_Lean_Parser_ParserState_mkNode(x_13, x_35, x_12);
-return x_36;
-}
-}
-}
-else
-{
-lean_dec(x_10);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_9;
-}
-}
-else
-{
-lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56;
-x_52 = lean_ctor_get(x_2, 0);
-lean_inc(x_52);
-x_53 = lean_array_get_size(x_52);
-lean_dec(x_52);
-x_54 = lean_ctor_get(x_2, 1);
-lean_inc(x_54);
-lean_inc(x_1);
-x_55 = lean_apply_2(x_6, x_1, x_2);
-x_56 = lean_ctor_get(x_55, 3);
-lean_inc(x_56);
-if (lean_obj_tag(x_56) == 0)
-{
-lean_dec(x_54);
-lean_dec(x_53);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_55;
-}
-else
-{
-lean_object* x_57; lean_object* x_58; uint8_t x_59;
-x_57 = lean_ctor_get(x_56, 0);
-lean_inc(x_57);
-lean_dec(x_56);
-x_58 = lean_ctor_get(x_55, 1);
-lean_inc(x_58);
-x_59 = lean_nat_dec_eq(x_58, x_54);
-lean_dec(x_58);
-if (x_59 == 0)
-{
-lean_dec(x_57);
-lean_dec(x_54);
-lean_dec(x_53);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_55;
-}
-else
-{
-lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63;
-lean_inc(x_54);
-x_60 = l_Lean_Parser_ParserState_restore(x_55, x_53, x_54);
-lean_dec(x_53);
-x_61 = l_Lean_Parser_leadPrec;
-x_62 = l_Lean_Parser_checkPrecFn(x_61, x_1, x_60);
-x_63 = lean_ctor_get(x_62, 3);
-lean_inc(x_63);
-if (lean_obj_tag(x_63) == 0)
-{
-lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_98; lean_object* x_99; lean_object* x_100;
-x_64 = lean_ctor_get(x_62, 0);
-lean_inc(x_64);
-x_65 = lean_array_get_size(x_64);
-lean_dec(x_64);
-x_98 = lean_ctor_get(x_62, 1);
-lean_inc(x_98);
-lean_inc(x_1);
-x_99 = l_Lean_Parser_tokenFn(x_1, x_62);
-x_100 = lean_ctor_get(x_99, 3);
-lean_inc(x_100);
-if (lean_obj_tag(x_100) == 0)
-{
-lean_object* x_101; lean_object* x_102;
-x_101 = lean_ctor_get(x_99, 0);
-lean_inc(x_101);
-x_102 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_101);
-lean_dec(x_101);
-if (lean_obj_tag(x_102) == 2)
-{
-lean_object* x_103; lean_object* x_104; uint8_t x_105;
-x_103 = lean_ctor_get(x_102, 1);
-lean_inc(x_103);
-lean_dec(x_102);
-x_104 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__6;
-x_105 = lean_string_dec_eq(x_103, x_104);
-lean_dec(x_103);
-if (x_105 == 0)
-{
-lean_object* x_106; lean_object* x_107;
-x_106 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__10;
-x_107 = l_Lean_Parser_ParserState_mkErrorsAt(x_99, x_106, x_98);
-x_66 = x_107;
-goto block_97;
-}
-else
-{
-lean_dec(x_98);
-x_66 = x_99;
-goto block_97;
-}
-}
-else
-{
-lean_object* x_108; lean_object* x_109;
-lean_dec(x_102);
-x_108 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__10;
-x_109 = l_Lean_Parser_ParserState_mkErrorsAt(x_99, x_108, x_98);
-x_66 = x_109;
-goto block_97;
-}
-}
-else
-{
-lean_object* x_110; lean_object* x_111;
-lean_dec(x_100);
-x_110 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__10;
-x_111 = l_Lean_Parser_ParserState_mkErrorsAt(x_99, x_110, x_98);
-x_66 = x_111;
-goto block_97;
-}
-block_97:
-{
-lean_object* x_67;
-x_67 = lean_ctor_get(x_66, 3);
-lean_inc(x_67);
-if (lean_obj_tag(x_67) == 0)
-{
-lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72;
-x_68 = lean_ctor_get(x_66, 0);
-lean_inc(x_68);
-x_69 = lean_array_get_size(x_68);
-lean_dec(x_68);
-x_70 = lean_ctor_get(x_66, 1);
-lean_inc(x_70);
-lean_inc(x_1);
-x_71 = lean_apply_2(x_4, x_1, x_66);
-x_72 = lean_ctor_get(x_71, 3);
-lean_inc(x_72);
-if (lean_obj_tag(x_72) == 0)
-{
-lean_object* x_73; lean_object* x_74; uint8_t x_75; lean_object* x_76;
-lean_dec(x_70);
-lean_dec(x_69);
-lean_dec(x_1);
-x_73 = l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__2;
-x_74 = l_Lean_Parser_ParserState_mkNode(x_71, x_73, x_65);
-x_75 = 1;
-x_76 = l_Lean_Parser_mergeOrElseErrors(x_74, x_57, x_54, x_75);
-lean_dec(x_54);
-return x_76;
-}
-else
-{
-lean_object* x_77; lean_object* x_78; uint8_t x_79;
-x_77 = lean_ctor_get(x_72, 0);
-lean_inc(x_77);
-lean_dec(x_72);
-x_78 = lean_ctor_get(x_71, 1);
-lean_inc(x_78);
-x_79 = lean_nat_dec_eq(x_78, x_70);
-lean_dec(x_78);
-if (x_79 == 0)
-{
-lean_object* x_80; lean_object* x_81; uint8_t x_82; lean_object* x_83;
-lean_dec(x_77);
-lean_dec(x_70);
-lean_dec(x_69);
-lean_dec(x_1);
-x_80 = l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__2;
-x_81 = l_Lean_Parser_ParserState_mkNode(x_71, x_80, x_65);
-x_82 = 1;
-x_83 = l_Lean_Parser_mergeOrElseErrors(x_81, x_57, x_54, x_82);
-lean_dec(x_54);
-return x_83;
-}
-else
-{
-lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; uint8_t x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92;
-lean_inc(x_70);
-x_84 = l_Lean_Parser_ParserState_restore(x_71, x_69, x_70);
-lean_dec(x_69);
-x_85 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_86 = lean_unsigned_to_nat(0u);
-x_87 = l_Lean_Parser_categoryParser___elambda__1(x_85, x_86, x_1, x_84);
-x_88 = 1;
-x_89 = l_Lean_Parser_mergeOrElseErrors(x_87, x_77, x_70, x_88);
-lean_dec(x_70);
-x_90 = l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__2;
-x_91 = l_Lean_Parser_ParserState_mkNode(x_89, x_90, x_65);
-x_92 = l_Lean_Parser_mergeOrElseErrors(x_91, x_57, x_54, x_88);
-lean_dec(x_54);
-return x_92;
-}
-}
-}
-else
-{
-lean_object* x_93; lean_object* x_94; uint8_t x_95; lean_object* x_96;
-lean_dec(x_67);
-lean_dec(x_4);
-lean_dec(x_1);
-x_93 = l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__2;
-x_94 = l_Lean_Parser_ParserState_mkNode(x_66, x_93, x_65);
-x_95 = 1;
-x_96 = l_Lean_Parser_mergeOrElseErrors(x_94, x_57, x_54, x_95);
-lean_dec(x_54);
-return x_96;
-}
-}
-}
-else
-{
-uint8_t x_112; lean_object* x_113;
-lean_dec(x_63);
-lean_dec(x_4);
-lean_dec(x_1);
-x_112 = 1;
-x_113 = l_Lean_Parser_mergeOrElseErrors(x_62, x_57, x_54, x_112);
-lean_dec(x_54);
-return x_113;
-}
-}
-}
-}
+x_5 = l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__9;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
+return x_7;
}
}
static lean_object* _init_l_Lean_Parser_Term_doDbgTrace___closed__1() {
@@ -27413,7 +13776,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Term_doDbgTrace(lean_object* x_1)
_start:
{
lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_2 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4;
+x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__4;
x_3 = l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__2;
x_4 = 1;
x_5 = l_Lean_Parser_Term_doDbgTrace;
@@ -27575,278 +13938,65 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Term_doAssert___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_assert___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doAssert___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_doAssert___elambda__1___closed__5;
+x_2 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doAssert___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_doAssert___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_doAssert___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doAssert___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_byTactic___elambda__1___closed__9;
+x_2 = l_Lean_Parser_Term_doAssert___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Term_doAssert___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Term_doAssert___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = l_Lean_Parser_leadPrec;
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_21; lean_object* x_22; lean_object* x_23;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_21 = lean_ctor_get(x_7, 1);
-lean_inc(x_21);
-lean_inc(x_1);
-x_22 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_23 = lean_ctor_get(x_22, 3);
-lean_inc(x_23);
-if (lean_obj_tag(x_23) == 0)
-{
-lean_object* x_24; lean_object* x_25;
-x_24 = lean_ctor_get(x_22, 0);
-lean_inc(x_24);
-x_25 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_24);
-lean_dec(x_24);
-if (lean_obj_tag(x_25) == 2)
-{
-lean_object* x_26; lean_object* x_27; uint8_t x_28;
-x_26 = lean_ctor_get(x_25, 1);
-lean_inc(x_26);
-lean_dec(x_25);
-x_27 = l_Lean_Parser_Term_assert___elambda__1___closed__6;
-x_28 = lean_string_dec_eq(x_26, x_27);
-lean_dec(x_26);
-if (x_28 == 0)
-{
-lean_object* x_29; lean_object* x_30;
-x_29 = l_Lean_Parser_Term_assert___elambda__1___closed__9;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_29, x_21);
-x_11 = x_30;
-goto block_20;
-}
-else
-{
-lean_dec(x_21);
-x_11 = x_22;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32;
-lean_dec(x_25);
-x_31 = l_Lean_Parser_Term_assert___elambda__1___closed__9;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_31, x_21);
-x_11 = x_32;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_33; lean_object* x_34;
-lean_dec(x_23);
-x_33 = l_Lean_Parser_Term_assert___elambda__1___closed__9;
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_33, x_21);
-x_11 = x_34;
-goto block_20;
-}
-block_20:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_13 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_14 = lean_unsigned_to_nat(0u);
-x_15 = l_Lean_Parser_categoryParser___elambda__1(x_13, x_14, x_1, x_11);
-x_16 = l_Lean_Parser_Term_doAssert___elambda__1___closed__2;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_10);
-return x_17;
-}
-else
-{
-lean_object* x_18; lean_object* x_19;
-lean_dec(x_12);
-lean_dec(x_1);
-x_18 = l_Lean_Parser_Term_doAssert___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_11, x_18, x_10);
-return x_19;
-}
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Term_doAssert___elambda__1___closed__8;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_35 = lean_ctor_get(x_2, 0);
-lean_inc(x_35);
-x_36 = lean_array_get_size(x_35);
-lean_dec(x_35);
-x_37 = lean_ctor_get(x_2, 1);
-lean_inc(x_37);
-lean_inc(x_1);
-x_38 = lean_apply_2(x_4, x_1, x_2);
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_40; lean_object* x_41; uint8_t x_42;
-x_40 = lean_ctor_get(x_39, 0);
-lean_inc(x_40);
-lean_dec(x_39);
-x_41 = lean_ctor_get(x_38, 1);
-lean_inc(x_41);
-x_42 = lean_nat_dec_eq(x_41, x_37);
-lean_dec(x_41);
-if (x_42 == 0)
-{
-lean_dec(x_40);
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46;
-lean_inc(x_37);
-x_43 = l_Lean_Parser_ParserState_restore(x_38, x_36, x_37);
-lean_dec(x_36);
-x_44 = l_Lean_Parser_leadPrec;
-x_45 = l_Lean_Parser_checkPrecFn(x_44, x_1, x_43);
-x_46 = lean_ctor_get(x_45, 3);
-lean_inc(x_46);
-if (lean_obj_tag(x_46) == 0)
-{
-lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_63; lean_object* x_64; lean_object* x_65;
-x_47 = lean_ctor_get(x_45, 0);
-lean_inc(x_47);
-x_48 = lean_array_get_size(x_47);
-lean_dec(x_47);
-x_63 = lean_ctor_get(x_45, 1);
-lean_inc(x_63);
-lean_inc(x_1);
-x_64 = l_Lean_Parser_tokenFn(x_1, x_45);
-x_65 = lean_ctor_get(x_64, 3);
-lean_inc(x_65);
-if (lean_obj_tag(x_65) == 0)
-{
-lean_object* x_66; lean_object* x_67;
-x_66 = lean_ctor_get(x_64, 0);
-lean_inc(x_66);
-x_67 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_66);
-lean_dec(x_66);
-if (lean_obj_tag(x_67) == 2)
-{
-lean_object* x_68; lean_object* x_69; uint8_t x_70;
-x_68 = lean_ctor_get(x_67, 1);
-lean_inc(x_68);
-lean_dec(x_67);
-x_69 = l_Lean_Parser_Term_assert___elambda__1___closed__6;
-x_70 = lean_string_dec_eq(x_68, x_69);
-lean_dec(x_68);
-if (x_70 == 0)
-{
-lean_object* x_71; lean_object* x_72;
-x_71 = l_Lean_Parser_Term_assert___elambda__1___closed__9;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_71, x_63);
-x_49 = x_72;
-goto block_62;
-}
-else
-{
-lean_dec(x_63);
-x_49 = x_64;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_73; lean_object* x_74;
-lean_dec(x_67);
-x_73 = l_Lean_Parser_Term_assert___elambda__1___closed__9;
-x_74 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_73, x_63);
-x_49 = x_74;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_75; lean_object* x_76;
-lean_dec(x_65);
-x_75 = l_Lean_Parser_Term_assert___elambda__1___closed__9;
-x_76 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_75, x_63);
-x_49 = x_76;
-goto block_62;
-}
-block_62:
-{
-lean_object* x_50;
-x_50 = lean_ctor_get(x_49, 3);
-lean_inc(x_50);
-if (lean_obj_tag(x_50) == 0)
-{
-lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; uint8_t x_56; lean_object* x_57;
-x_51 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_52 = lean_unsigned_to_nat(0u);
-x_53 = l_Lean_Parser_categoryParser___elambda__1(x_51, x_52, x_1, x_49);
-x_54 = l_Lean_Parser_Term_doAssert___elambda__1___closed__2;
-x_55 = l_Lean_Parser_ParserState_mkNode(x_53, x_54, x_48);
-x_56 = 1;
-x_57 = l_Lean_Parser_mergeOrElseErrors(x_55, x_40, x_37, x_56);
-lean_dec(x_37);
-return x_57;
-}
-else
-{
-lean_object* x_58; lean_object* x_59; uint8_t x_60; lean_object* x_61;
-lean_dec(x_50);
-lean_dec(x_1);
-x_58 = l_Lean_Parser_Term_doAssert___elambda__1___closed__2;
-x_59 = l_Lean_Parser_ParserState_mkNode(x_49, x_58, x_48);
-x_60 = 1;
-x_61 = l_Lean_Parser_mergeOrElseErrors(x_59, x_40, x_37, x_60);
-lean_dec(x_37);
-return x_61;
-}
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_46);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_45, x_40, x_37, x_77);
-lean_dec(x_37);
-return x_78;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Term_doAssert___closed__1() {
_start:
{
@@ -27911,7 +14061,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Term_doAssert(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_2 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4;
+x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__4;
x_3 = l_Lean_Parser_Term_doAssert___elambda__1___closed__2;
x_4 = 1;
x_5 = l_Lean_Parser_Term_doAssert;
@@ -28073,162 +14223,55 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Term_doExpr___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___closed__1;
+x_2 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doExpr___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_doExpr___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_doExpr___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doExpr___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_doExpr___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Term_doExpr___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Term_doExpr___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-lean_inc(x_1);
-x_11 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1(x_1, x_7);
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_13 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_14 = lean_unsigned_to_nat(0u);
-x_15 = l_Lean_Parser_categoryParser___elambda__1(x_13, x_14, x_1, x_11);
-x_16 = l_Lean_Parser_Term_doExpr___elambda__1___closed__2;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_10);
-return x_17;
-}
-else
-{
-lean_object* x_18; lean_object* x_19;
-lean_dec(x_12);
-lean_dec(x_1);
-x_18 = l_Lean_Parser_Term_doExpr___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_11, x_18, x_10);
-return x_19;
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Term_doExpr___elambda__1___closed__7;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
-x_20 = lean_ctor_get(x_2, 0);
-lean_inc(x_20);
-x_21 = lean_array_get_size(x_20);
-lean_dec(x_20);
-x_22 = lean_ctor_get(x_2, 1);
-lean_inc(x_22);
-lean_inc(x_1);
-x_23 = lean_apply_2(x_4, x_1, x_2);
-x_24 = lean_ctor_get(x_23, 3);
-lean_inc(x_24);
-if (lean_obj_tag(x_24) == 0)
-{
-lean_dec(x_22);
-lean_dec(x_21);
-lean_dec(x_1);
-return x_23;
-}
-else
-{
-lean_object* x_25; lean_object* x_26; uint8_t x_27;
-x_25 = lean_ctor_get(x_24, 0);
-lean_inc(x_25);
-lean_dec(x_24);
-x_26 = lean_ctor_get(x_23, 1);
-lean_inc(x_26);
-x_27 = lean_nat_dec_eq(x_26, x_22);
-lean_dec(x_26);
-if (x_27 == 0)
-{
-lean_dec(x_25);
-lean_dec(x_22);
-lean_dec(x_21);
-lean_dec(x_1);
-return x_23;
-}
-else
-{
-lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31;
-lean_inc(x_22);
-x_28 = l_Lean_Parser_ParserState_restore(x_23, x_21, x_22);
-lean_dec(x_21);
-x_29 = lean_unsigned_to_nat(1024u);
-x_30 = l_Lean_Parser_checkPrecFn(x_29, x_1, x_28);
-x_31 = lean_ctor_get(x_30, 3);
-lean_inc(x_31);
-if (lean_obj_tag(x_31) == 0)
-{
-lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35;
-x_32 = lean_ctor_get(x_30, 0);
-lean_inc(x_32);
-x_33 = lean_array_get_size(x_32);
-lean_dec(x_32);
-lean_inc(x_1);
-x_34 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1(x_1, x_30);
-x_35 = lean_ctor_get(x_34, 3);
-lean_inc(x_35);
-if (lean_obj_tag(x_35) == 0)
-{
-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_object* x_42;
-x_36 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_37 = lean_unsigned_to_nat(0u);
-x_38 = l_Lean_Parser_categoryParser___elambda__1(x_36, x_37, x_1, x_34);
-x_39 = l_Lean_Parser_Term_doExpr___elambda__1___closed__2;
-x_40 = l_Lean_Parser_ParserState_mkNode(x_38, x_39, x_33);
-x_41 = 1;
-x_42 = l_Lean_Parser_mergeOrElseErrors(x_40, x_25, x_22, x_41);
-lean_dec(x_22);
-return x_42;
-}
-else
-{
-lean_object* x_43; lean_object* x_44; uint8_t x_45; lean_object* x_46;
-lean_dec(x_35);
-lean_dec(x_1);
-x_43 = l_Lean_Parser_Term_doExpr___elambda__1___closed__2;
-x_44 = l_Lean_Parser_ParserState_mkNode(x_34, x_43, x_33);
-x_45 = 1;
-x_46 = l_Lean_Parser_mergeOrElseErrors(x_44, x_25, x_22, x_45);
-lean_dec(x_22);
-return x_46;
-}
-}
-else
-{
-uint8_t x_47; lean_object* x_48;
-lean_dec(x_31);
-lean_dec(x_1);
-x_47 = 1;
-x_48 = l_Lean_Parser_mergeOrElseErrors(x_30, x_25, x_22, x_47);
-lean_dec(x_22);
-return x_48;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Term_doExpr___closed__1() {
_start:
{
@@ -28307,7 +14350,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Term_doExpr(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_2 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4;
+x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__4;
x_3 = l_Lean_Parser_Term_doExpr___elambda__1___closed__2;
x_4 = 1;
x_5 = l_Lean_Parser_Term_doExpr;
@@ -28493,274 +14536,43 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Term_doNested___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_doNested___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_doUnless___elambda__1___closed__12;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doNested___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_doNested___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Term_doNested___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Term_doNested___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_19; lean_object* x_20; lean_object* x_21;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_19 = lean_ctor_get(x_7, 1);
-lean_inc(x_19);
-lean_inc(x_1);
-x_20 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_21 = lean_ctor_get(x_20, 3);
-lean_inc(x_21);
-if (lean_obj_tag(x_21) == 0)
-{
-lean_object* x_22; lean_object* x_23;
-x_22 = lean_ctor_get(x_20, 0);
-lean_inc(x_22);
-x_23 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_22);
-lean_dec(x_22);
-if (lean_obj_tag(x_23) == 2)
-{
-lean_object* x_24; lean_object* x_25; uint8_t x_26;
-x_24 = lean_ctor_get(x_23, 1);
-lean_inc(x_24);
-lean_dec(x_23);
-x_25 = l_Lean_Parser_Term_doUnless___elambda__1___closed__8;
-x_26 = lean_string_dec_eq(x_24, x_25);
-lean_dec(x_24);
-if (x_26 == 0)
-{
-lean_object* x_27; lean_object* x_28;
-x_27 = l_Lean_Parser_Term_doUnless___elambda__1___closed__12;
-x_28 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_27, x_19);
-x_11 = x_28;
-goto block_18;
-}
-else
-{
-lean_dec(x_19);
-x_11 = x_20;
-goto block_18;
-}
-}
-else
-{
-lean_object* x_29; lean_object* x_30;
-lean_dec(x_23);
-x_29 = l_Lean_Parser_Term_doUnless___elambda__1___closed__12;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_29, x_19);
-x_11 = x_30;
-goto block_18;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32;
-lean_dec(x_21);
-x_31 = l_Lean_Parser_Term_doUnless___elambda__1___closed__12;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_31, x_19);
-x_11 = x_32;
-goto block_18;
-}
-block_18:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15;
-x_13 = l_Lean_Parser_Term_doSeq___elambda__1(x_1, x_11);
-x_14 = l_Lean_Parser_Term_doNested___elambda__1___closed__2;
-x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
-return x_15;
-}
-else
-{
-lean_object* x_16; lean_object* x_17;
-lean_dec(x_12);
-lean_dec(x_1);
-x_16 = l_Lean_Parser_Term_doNested___elambda__1___closed__2;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_11, x_16, x_10);
-return x_17;
-}
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Term_doNested___elambda__1___closed__6;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_33 = lean_ctor_get(x_2, 0);
-lean_inc(x_33);
-x_34 = lean_array_get_size(x_33);
-lean_dec(x_33);
-x_35 = lean_ctor_get(x_2, 1);
-lean_inc(x_35);
-lean_inc(x_1);
-x_36 = lean_apply_2(x_4, x_1, x_2);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_36, 1);
-lean_inc(x_39);
-x_40 = lean_nat_dec_eq(x_39, x_35);
-lean_dec(x_39);
-if (x_40 == 0)
-{
-lean_dec(x_38);
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
-lean_inc(x_35);
-x_41 = l_Lean_Parser_ParserState_restore(x_36, x_34, x_35);
-lean_dec(x_34);
-x_42 = lean_unsigned_to_nat(1024u);
-x_43 = l_Lean_Parser_checkPrecFn(x_42, x_1, x_41);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_59; lean_object* x_60; lean_object* x_61;
-x_45 = lean_ctor_get(x_43, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-x_59 = lean_ctor_get(x_43, 1);
-lean_inc(x_59);
-lean_inc(x_1);
-x_60 = l_Lean_Parser_tokenFn(x_1, x_43);
-x_61 = lean_ctor_get(x_60, 3);
-lean_inc(x_61);
-if (lean_obj_tag(x_61) == 0)
-{
-lean_object* x_62; lean_object* x_63;
-x_62 = lean_ctor_get(x_60, 0);
-lean_inc(x_62);
-x_63 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_62);
-lean_dec(x_62);
-if (lean_obj_tag(x_63) == 2)
-{
-lean_object* x_64; lean_object* x_65; uint8_t x_66;
-x_64 = lean_ctor_get(x_63, 1);
-lean_inc(x_64);
-lean_dec(x_63);
-x_65 = l_Lean_Parser_Term_doUnless___elambda__1___closed__8;
-x_66 = lean_string_dec_eq(x_64, x_65);
-lean_dec(x_64);
-if (x_66 == 0)
-{
-lean_object* x_67; lean_object* x_68;
-x_67 = l_Lean_Parser_Term_doUnless___elambda__1___closed__12;
-x_68 = l_Lean_Parser_ParserState_mkErrorsAt(x_60, x_67, x_59);
-x_47 = x_68;
-goto block_58;
-}
-else
-{
-lean_dec(x_59);
-x_47 = x_60;
-goto block_58;
-}
-}
-else
-{
-lean_object* x_69; lean_object* x_70;
-lean_dec(x_63);
-x_69 = l_Lean_Parser_Term_doUnless___elambda__1___closed__12;
-x_70 = l_Lean_Parser_ParserState_mkErrorsAt(x_60, x_69, x_59);
-x_47 = x_70;
-goto block_58;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72;
-lean_dec(x_61);
-x_71 = l_Lean_Parser_Term_doUnless___elambda__1___closed__12;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_60, x_71, x_59);
-x_47 = x_72;
-goto block_58;
-}
-block_58:
-{
-lean_object* x_48;
-x_48 = lean_ctor_get(x_47, 3);
-lean_inc(x_48);
-if (lean_obj_tag(x_48) == 0)
-{
-lean_object* x_49; lean_object* x_50; lean_object* x_51; uint8_t x_52; lean_object* x_53;
-x_49 = l_Lean_Parser_Term_doSeq___elambda__1(x_1, x_47);
-x_50 = l_Lean_Parser_Term_doNested___elambda__1___closed__2;
-x_51 = l_Lean_Parser_ParserState_mkNode(x_49, x_50, x_46);
-x_52 = 1;
-x_53 = l_Lean_Parser_mergeOrElseErrors(x_51, x_38, x_35, x_52);
-lean_dec(x_35);
-return x_53;
-}
-else
-{
-lean_object* x_54; lean_object* x_55; uint8_t x_56; lean_object* x_57;
-lean_dec(x_48);
-lean_dec(x_1);
-x_54 = l_Lean_Parser_Term_doNested___elambda__1___closed__2;
-x_55 = l_Lean_Parser_ParserState_mkNode(x_47, x_54, x_46);
-x_56 = 1;
-x_57 = l_Lean_Parser_mergeOrElseErrors(x_55, x_38, x_35, x_56);
-lean_dec(x_35);
-return x_57;
-}
-}
-}
-else
-{
-uint8_t x_73; lean_object* x_74;
-lean_dec(x_44);
-lean_dec(x_1);
-x_73 = 1;
-x_74 = l_Lean_Parser_mergeOrElseErrors(x_43, x_38, x_35, x_73);
-lean_dec(x_35);
-return x_74;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Term_doNested___closed__1() {
_start:
{
@@ -28825,7 +14637,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Term_doNested(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_2 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4;
+x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__4;
x_3 = l_Lean_Parser_Term_doNested___elambda__1___closed__2;
x_4 = 1;
x_5 = l_Lean_Parser_Term_doNested;
@@ -28953,7 +14765,7 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_mkAppStx___closed__6;
-x_2 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__5;
+x_2 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__9;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
}
@@ -28972,281 +14784,50 @@ static lean_object* _init_l_Lean_Parser_Term_do___elambda__1___closed__3() {
_start:
{
lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4;
-x_1 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__5;
+x_1 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__9;
x_2 = l_Lean_Parser_Term_do___elambda__1___closed__2;
x_3 = 1;
x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Term_do___elambda__1___closed__4() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_do___elambda__1___closed__1;
+x_2 = l_Lean_Parser_Term_doUnless___elambda__1___closed__12;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_do___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_fun___elambda__1___closed__13;
+x_2 = l_Lean_Parser_Term_do___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Term_do___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Term_do___elambda__1___closed__3;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = l_Lean_Parser_maxPrec;
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_19; lean_object* x_20; lean_object* x_21;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_19 = lean_ctor_get(x_7, 1);
-lean_inc(x_19);
-lean_inc(x_1);
-x_20 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_21 = lean_ctor_get(x_20, 3);
-lean_inc(x_21);
-if (lean_obj_tag(x_21) == 0)
-{
-lean_object* x_22; lean_object* x_23;
-x_22 = lean_ctor_get(x_20, 0);
-lean_inc(x_22);
-x_23 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_22);
-lean_dec(x_22);
-if (lean_obj_tag(x_23) == 2)
-{
-lean_object* x_24; lean_object* x_25; uint8_t x_26;
-x_24 = lean_ctor_get(x_23, 1);
-lean_inc(x_24);
-lean_dec(x_23);
-x_25 = l_Lean_Parser_Term_doUnless___elambda__1___closed__8;
-x_26 = lean_string_dec_eq(x_24, x_25);
-lean_dec(x_24);
-if (x_26 == 0)
-{
-lean_object* x_27; lean_object* x_28;
-x_27 = l_Lean_Parser_Term_doUnless___elambda__1___closed__12;
-x_28 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_27, x_19);
-x_11 = x_28;
-goto block_18;
-}
-else
-{
-lean_dec(x_19);
-x_11 = x_20;
-goto block_18;
-}
-}
-else
-{
-lean_object* x_29; lean_object* x_30;
-lean_dec(x_23);
-x_29 = l_Lean_Parser_Term_doUnless___elambda__1___closed__12;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_29, x_19);
-x_11 = x_30;
-goto block_18;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32;
-lean_dec(x_21);
-x_31 = l_Lean_Parser_Term_doUnless___elambda__1___closed__12;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_31, x_19);
-x_11 = x_32;
-goto block_18;
-}
-block_18:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15;
-x_13 = l_Lean_Parser_Term_doSeq___elambda__1(x_1, x_11);
-x_14 = l_Lean_Parser_Term_do___elambda__1___closed__1;
-x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
-return x_15;
-}
-else
-{
-lean_object* x_16; lean_object* x_17;
-lean_dec(x_12);
-lean_dec(x_1);
-x_16 = l_Lean_Parser_Term_do___elambda__1___closed__1;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_11, x_16, x_10);
-return x_17;
-}
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Term_do___elambda__1___closed__5;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_33 = lean_ctor_get(x_2, 0);
-lean_inc(x_33);
-x_34 = lean_array_get_size(x_33);
-lean_dec(x_33);
-x_35 = lean_ctor_get(x_2, 1);
-lean_inc(x_35);
-lean_inc(x_1);
-x_36 = lean_apply_2(x_4, x_1, x_2);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_36, 1);
-lean_inc(x_39);
-x_40 = lean_nat_dec_eq(x_39, x_35);
-lean_dec(x_39);
-if (x_40 == 0)
-{
-lean_dec(x_38);
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
-lean_inc(x_35);
-x_41 = l_Lean_Parser_ParserState_restore(x_36, x_34, x_35);
-lean_dec(x_34);
-x_42 = l_Lean_Parser_maxPrec;
-x_43 = l_Lean_Parser_checkPrecFn(x_42, x_1, x_41);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_59; lean_object* x_60; lean_object* x_61;
-x_45 = lean_ctor_get(x_43, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-x_59 = lean_ctor_get(x_43, 1);
-lean_inc(x_59);
-lean_inc(x_1);
-x_60 = l_Lean_Parser_tokenFn(x_1, x_43);
-x_61 = lean_ctor_get(x_60, 3);
-lean_inc(x_61);
-if (lean_obj_tag(x_61) == 0)
-{
-lean_object* x_62; lean_object* x_63;
-x_62 = lean_ctor_get(x_60, 0);
-lean_inc(x_62);
-x_63 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_62);
-lean_dec(x_62);
-if (lean_obj_tag(x_63) == 2)
-{
-lean_object* x_64; lean_object* x_65; uint8_t x_66;
-x_64 = lean_ctor_get(x_63, 1);
-lean_inc(x_64);
-lean_dec(x_63);
-x_65 = l_Lean_Parser_Term_doUnless___elambda__1___closed__8;
-x_66 = lean_string_dec_eq(x_64, x_65);
-lean_dec(x_64);
-if (x_66 == 0)
-{
-lean_object* x_67; lean_object* x_68;
-x_67 = l_Lean_Parser_Term_doUnless___elambda__1___closed__12;
-x_68 = l_Lean_Parser_ParserState_mkErrorsAt(x_60, x_67, x_59);
-x_47 = x_68;
-goto block_58;
-}
-else
-{
-lean_dec(x_59);
-x_47 = x_60;
-goto block_58;
-}
-}
-else
-{
-lean_object* x_69; lean_object* x_70;
-lean_dec(x_63);
-x_69 = l_Lean_Parser_Term_doUnless___elambda__1___closed__12;
-x_70 = l_Lean_Parser_ParserState_mkErrorsAt(x_60, x_69, x_59);
-x_47 = x_70;
-goto block_58;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72;
-lean_dec(x_61);
-x_71 = l_Lean_Parser_Term_doUnless___elambda__1___closed__12;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_60, x_71, x_59);
-x_47 = x_72;
-goto block_58;
-}
-block_58:
-{
-lean_object* x_48;
-x_48 = lean_ctor_get(x_47, 3);
-lean_inc(x_48);
-if (lean_obj_tag(x_48) == 0)
-{
-lean_object* x_49; lean_object* x_50; lean_object* x_51; uint8_t x_52; lean_object* x_53;
-x_49 = l_Lean_Parser_Term_doSeq___elambda__1(x_1, x_47);
-x_50 = l_Lean_Parser_Term_do___elambda__1___closed__1;
-x_51 = l_Lean_Parser_ParserState_mkNode(x_49, x_50, x_46);
-x_52 = 1;
-x_53 = l_Lean_Parser_mergeOrElseErrors(x_51, x_38, x_35, x_52);
-lean_dec(x_35);
-return x_53;
-}
-else
-{
-lean_object* x_54; lean_object* x_55; uint8_t x_56; lean_object* x_57;
-lean_dec(x_48);
-lean_dec(x_1);
-x_54 = l_Lean_Parser_Term_do___elambda__1___closed__1;
-x_55 = l_Lean_Parser_ParserState_mkNode(x_47, x_54, x_46);
-x_56 = 1;
-x_57 = l_Lean_Parser_mergeOrElseErrors(x_55, x_38, x_35, x_56);
-lean_dec(x_35);
-return x_57;
-}
-}
-}
-else
-{
-uint8_t x_73; lean_object* x_74;
-lean_dec(x_44);
-lean_dec(x_1);
-x_73 = 1;
-x_74 = l_Lean_Parser_mergeOrElseErrors(x_43, x_38, x_35, x_73);
-lean_dec(x_35);
-return x_74;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Term_do___closed__1() {
_start:
{
@@ -29324,7 +14905,7 @@ static lean_object* _init_l_Lean_Parser_Term_do_formatter___closed__1() {
_start:
{
lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5;
-x_1 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__5;
+x_1 = l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__9;
x_2 = l_Lean_Parser_Term_do___elambda__1___closed__2;
x_3 = 1;
x_4 = lean_box(x_3);
@@ -29439,7 +15020,7 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_mkAppStx___closed__6;
-x_2 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__3;
+x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__3;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
}
@@ -29495,23 +15076,21 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_doElem_quot___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4;
-x_2 = lean_unsigned_to_nat(0u);
-x_3 = lean_alloc_closure((void*)(l_Lean_Parser_categoryParser___elambda__1), 4, 2);
-lean_closure_set(x_3, 0, x_1);
-lean_closure_set(x_3, 1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_doElem_quot___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_doElem_quot___elambda__1___closed__8() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_doElem_quot___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__8;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_toggleInsideQuotFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_doElem_quot___elambda__1___closed__9() {
@@ -29519,8 +15098,10 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Term_doElem_quot___elambda__1___closed__8;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_2 = l_Lean_Parser_Level_paren___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -29528,442 +15109,51 @@ static lean_object* _init_l_Lean_Parser_Term_doElem_quot___elambda__1___closed__
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Term_doElem_quot___elambda__1___closed__7;
x_2 = l_Lean_Parser_Term_doElem_quot___elambda__1___closed__9;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doElem_quot___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_doElem_quot___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_doElem_quot___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_doElem_quot___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_doElem_quot___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
lean_object* l_Lean_Parser_Term_doElem_quot___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Term_doElem_quot___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_43; lean_object* x_44; lean_object* x_45;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_43 = lean_ctor_get(x_7, 1);
-lean_inc(x_43);
-lean_inc(x_1);
-x_44 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_45 = lean_ctor_get(x_44, 3);
-lean_inc(x_45);
-if (lean_obj_tag(x_45) == 0)
-{
-lean_object* x_46; lean_object* x_47;
-x_46 = lean_ctor_get(x_44, 0);
-lean_inc(x_46);
-x_47 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_46);
-lean_dec(x_46);
-if (lean_obj_tag(x_47) == 2)
-{
-lean_object* x_48; lean_object* x_49; uint8_t x_50;
-x_48 = lean_ctor_get(x_47, 1);
-lean_inc(x_48);
-lean_dec(x_47);
-x_49 = l_Lean_Parser_Term_doElem_quot___elambda__1___closed__6;
-x_50 = lean_string_dec_eq(x_48, x_49);
-lean_dec(x_48);
-if (x_50 == 0)
-{
-lean_object* x_51; lean_object* x_52;
-x_51 = l_Lean_Parser_Term_doElem_quot___elambda__1___closed__10;
-x_52 = l_Lean_Parser_ParserState_mkErrorsAt(x_44, x_51, x_43);
-x_11 = x_52;
-goto block_42;
-}
-else
-{
-lean_dec(x_43);
-x_11 = x_44;
-goto block_42;
-}
-}
-else
-{
-lean_object* x_53; lean_object* x_54;
-lean_dec(x_47);
-x_53 = l_Lean_Parser_Term_doElem_quot___elambda__1___closed__10;
-x_54 = l_Lean_Parser_ParserState_mkErrorsAt(x_44, x_53, x_43);
-x_11 = x_54;
-goto block_42;
-}
-}
-else
-{
-lean_object* x_55; lean_object* x_56;
-lean_dec(x_45);
-x_55 = l_Lean_Parser_Term_doElem_quot___elambda__1___closed__10;
-x_56 = l_Lean_Parser_ParserState_mkErrorsAt(x_44, x_55, x_43);
-x_11 = x_56;
-goto block_42;
-}
-block_42:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15;
-x_13 = l_Lean_Parser_Term_doElem_quot___elambda__1___closed__7;
-lean_inc(x_1);
-x_14 = l_Lean_Parser_toggleInsideQuotFn(x_13, x_1, x_11);
-x_15 = lean_ctor_get(x_14, 3);
-lean_inc(x_15);
-if (lean_obj_tag(x_15) == 0)
-{
-lean_object* x_16; lean_object* x_17; lean_object* x_18;
-x_16 = lean_ctor_get(x_14, 1);
-lean_inc(x_16);
-x_17 = l_Lean_Parser_tokenFn(x_1, x_14);
-x_18 = lean_ctor_get(x_17, 3);
-lean_inc(x_18);
-if (lean_obj_tag(x_18) == 0)
-{
-lean_object* x_19; lean_object* x_20;
-x_19 = lean_ctor_get(x_17, 0);
-lean_inc(x_19);
-x_20 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_19);
-lean_dec(x_19);
-if (lean_obj_tag(x_20) == 2)
-{
-lean_object* x_21; lean_object* x_22; uint8_t x_23;
-x_21 = lean_ctor_get(x_20, 1);
-lean_inc(x_21);
-lean_dec(x_20);
-x_22 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
-x_23 = lean_string_dec_eq(x_21, x_22);
-lean_dec(x_21);
-if (x_23 == 0)
-{
-lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
-x_24 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_25 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_24, x_16);
-x_26 = l_Lean_Parser_Term_doElem_quot___elambda__1___closed__2;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_25, x_26, x_10);
-return x_27;
-}
-else
-{
-lean_object* x_28; lean_object* x_29;
-lean_dec(x_16);
-x_28 = l_Lean_Parser_Term_doElem_quot___elambda__1___closed__2;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_17, x_28, x_10);
-return x_29;
-}
-}
-else
-{
-lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
-lean_dec(x_20);
-x_30 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_31 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_30, x_16);
-x_32 = l_Lean_Parser_Term_doElem_quot___elambda__1___closed__2;
-x_33 = l_Lean_Parser_ParserState_mkNode(x_31, x_32, x_10);
-return x_33;
-}
-}
-else
-{
-lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-lean_dec(x_18);
-x_34 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_35 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_34, x_16);
-x_36 = l_Lean_Parser_Term_doElem_quot___elambda__1___closed__2;
-x_37 = l_Lean_Parser_ParserState_mkNode(x_35, x_36, x_10);
-return x_37;
-}
-}
-else
-{
-lean_object* x_38; lean_object* x_39;
-lean_dec(x_15);
-lean_dec(x_1);
-x_38 = l_Lean_Parser_Term_doElem_quot___elambda__1___closed__2;
-x_39 = l_Lean_Parser_ParserState_mkNode(x_14, x_38, x_10);
-return x_39;
-}
-}
-else
-{
-lean_object* x_40; lean_object* x_41;
-lean_dec(x_12);
-lean_dec(x_1);
-x_40 = l_Lean_Parser_Term_doElem_quot___elambda__1___closed__2;
-x_41 = l_Lean_Parser_ParserState_mkNode(x_11, x_40, x_10);
-return x_41;
-}
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Term_doElem_quot___elambda__1___closed__12;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61;
-x_57 = lean_ctor_get(x_2, 0);
-lean_inc(x_57);
-x_58 = lean_array_get_size(x_57);
-lean_dec(x_57);
-x_59 = lean_ctor_get(x_2, 1);
-lean_inc(x_59);
-lean_inc(x_1);
-x_60 = lean_apply_2(x_4, x_1, x_2);
-x_61 = lean_ctor_get(x_60, 3);
-lean_inc(x_61);
-if (lean_obj_tag(x_61) == 0)
-{
-lean_dec(x_59);
-lean_dec(x_58);
-lean_dec(x_1);
-return x_60;
-}
-else
-{
-lean_object* x_62; lean_object* x_63; uint8_t x_64;
-x_62 = lean_ctor_get(x_61, 0);
-lean_inc(x_62);
-lean_dec(x_61);
-x_63 = lean_ctor_get(x_60, 1);
-lean_inc(x_63);
-x_64 = lean_nat_dec_eq(x_63, x_59);
-lean_dec(x_63);
-if (x_64 == 0)
-{
-lean_dec(x_62);
-lean_dec(x_59);
-lean_dec(x_58);
-lean_dec(x_1);
-return x_60;
-}
-else
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68;
-lean_inc(x_59);
-x_65 = l_Lean_Parser_ParserState_restore(x_60, x_58, x_59);
-lean_dec(x_58);
-x_66 = lean_unsigned_to_nat(1024u);
-x_67 = l_Lean_Parser_checkPrecFn(x_66, x_1, x_65);
-x_68 = lean_ctor_get(x_67, 3);
-lean_inc(x_68);
-if (lean_obj_tag(x_68) == 0)
-{
-lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_115; lean_object* x_116; lean_object* x_117;
-x_69 = lean_ctor_get(x_67, 0);
-lean_inc(x_69);
-x_70 = lean_array_get_size(x_69);
-lean_dec(x_69);
-x_115 = lean_ctor_get(x_67, 1);
-lean_inc(x_115);
-lean_inc(x_1);
-x_116 = l_Lean_Parser_tokenFn(x_1, x_67);
-x_117 = lean_ctor_get(x_116, 3);
-lean_inc(x_117);
-if (lean_obj_tag(x_117) == 0)
-{
-lean_object* x_118; lean_object* x_119;
-x_118 = lean_ctor_get(x_116, 0);
-lean_inc(x_118);
-x_119 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_118);
-lean_dec(x_118);
-if (lean_obj_tag(x_119) == 2)
-{
-lean_object* x_120; lean_object* x_121; uint8_t x_122;
-x_120 = lean_ctor_get(x_119, 1);
-lean_inc(x_120);
-lean_dec(x_119);
-x_121 = l_Lean_Parser_Term_doElem_quot___elambda__1___closed__6;
-x_122 = lean_string_dec_eq(x_120, x_121);
-lean_dec(x_120);
-if (x_122 == 0)
-{
-lean_object* x_123; lean_object* x_124;
-x_123 = l_Lean_Parser_Term_doElem_quot___elambda__1___closed__10;
-x_124 = l_Lean_Parser_ParserState_mkErrorsAt(x_116, x_123, x_115);
-x_71 = x_124;
-goto block_114;
-}
-else
-{
-lean_dec(x_115);
-x_71 = x_116;
-goto block_114;
-}
-}
-else
-{
-lean_object* x_125; lean_object* x_126;
-lean_dec(x_119);
-x_125 = l_Lean_Parser_Term_doElem_quot___elambda__1___closed__10;
-x_126 = l_Lean_Parser_ParserState_mkErrorsAt(x_116, x_125, x_115);
-x_71 = x_126;
-goto block_114;
-}
-}
-else
-{
-lean_object* x_127; lean_object* x_128;
-lean_dec(x_117);
-x_127 = l_Lean_Parser_Term_doElem_quot___elambda__1___closed__10;
-x_128 = l_Lean_Parser_ParserState_mkErrorsAt(x_116, x_127, x_115);
-x_71 = x_128;
-goto block_114;
-}
-block_114:
-{
-lean_object* x_72;
-x_72 = lean_ctor_get(x_71, 3);
-lean_inc(x_72);
-if (lean_obj_tag(x_72) == 0)
-{
-lean_object* x_73; lean_object* x_74; lean_object* x_75;
-x_73 = l_Lean_Parser_Term_doElem_quot___elambda__1___closed__7;
-lean_inc(x_1);
-x_74 = l_Lean_Parser_toggleInsideQuotFn(x_73, x_1, x_71);
-x_75 = lean_ctor_get(x_74, 3);
-lean_inc(x_75);
-if (lean_obj_tag(x_75) == 0)
-{
-lean_object* x_76; lean_object* x_77; lean_object* x_78;
-x_76 = lean_ctor_get(x_74, 1);
-lean_inc(x_76);
-x_77 = l_Lean_Parser_tokenFn(x_1, x_74);
-x_78 = lean_ctor_get(x_77, 3);
-lean_inc(x_78);
-if (lean_obj_tag(x_78) == 0)
-{
-lean_object* x_79; lean_object* x_80;
-x_79 = lean_ctor_get(x_77, 0);
-lean_inc(x_79);
-x_80 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_79);
-lean_dec(x_79);
-if (lean_obj_tag(x_80) == 2)
-{
-lean_object* x_81; lean_object* x_82; uint8_t x_83;
-x_81 = lean_ctor_get(x_80, 1);
-lean_inc(x_81);
-lean_dec(x_80);
-x_82 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
-x_83 = lean_string_dec_eq(x_81, x_82);
-lean_dec(x_81);
-if (x_83 == 0)
-{
-lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; uint8_t x_88; lean_object* x_89;
-x_84 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_85 = l_Lean_Parser_ParserState_mkErrorsAt(x_77, x_84, x_76);
-x_86 = l_Lean_Parser_Term_doElem_quot___elambda__1___closed__2;
-x_87 = l_Lean_Parser_ParserState_mkNode(x_85, x_86, x_70);
-x_88 = 1;
-x_89 = l_Lean_Parser_mergeOrElseErrors(x_87, x_62, x_59, x_88);
-lean_dec(x_59);
-return x_89;
-}
-else
-{
-lean_object* x_90; lean_object* x_91; uint8_t x_92; lean_object* x_93;
-lean_dec(x_76);
-x_90 = l_Lean_Parser_Term_doElem_quot___elambda__1___closed__2;
-x_91 = l_Lean_Parser_ParserState_mkNode(x_77, x_90, x_70);
-x_92 = 1;
-x_93 = l_Lean_Parser_mergeOrElseErrors(x_91, x_62, x_59, x_92);
-lean_dec(x_59);
-return x_93;
-}
-}
-else
-{
-lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; uint8_t x_98; lean_object* x_99;
-lean_dec(x_80);
-x_94 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_95 = l_Lean_Parser_ParserState_mkErrorsAt(x_77, x_94, x_76);
-x_96 = l_Lean_Parser_Term_doElem_quot___elambda__1___closed__2;
-x_97 = l_Lean_Parser_ParserState_mkNode(x_95, x_96, x_70);
-x_98 = 1;
-x_99 = l_Lean_Parser_mergeOrElseErrors(x_97, x_62, x_59, x_98);
-lean_dec(x_59);
-return x_99;
-}
-}
-else
-{
-lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; uint8_t x_104; lean_object* x_105;
-lean_dec(x_78);
-x_100 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_101 = l_Lean_Parser_ParserState_mkErrorsAt(x_77, x_100, x_76);
-x_102 = l_Lean_Parser_Term_doElem_quot___elambda__1___closed__2;
-x_103 = l_Lean_Parser_ParserState_mkNode(x_101, x_102, x_70);
-x_104 = 1;
-x_105 = l_Lean_Parser_mergeOrElseErrors(x_103, x_62, x_59, x_104);
-lean_dec(x_59);
-return x_105;
-}
-}
-else
-{
-lean_object* x_106; lean_object* x_107; uint8_t x_108; lean_object* x_109;
-lean_dec(x_75);
-lean_dec(x_1);
-x_106 = l_Lean_Parser_Term_doElem_quot___elambda__1___closed__2;
-x_107 = l_Lean_Parser_ParserState_mkNode(x_74, x_106, x_70);
-x_108 = 1;
-x_109 = l_Lean_Parser_mergeOrElseErrors(x_107, x_62, x_59, x_108);
-lean_dec(x_59);
-return x_109;
-}
-}
-else
-{
-lean_object* x_110; lean_object* x_111; uint8_t x_112; lean_object* x_113;
-lean_dec(x_72);
-lean_dec(x_1);
-x_110 = l_Lean_Parser_Term_doElem_quot___elambda__1___closed__2;
-x_111 = l_Lean_Parser_ParserState_mkNode(x_71, x_110, x_70);
-x_112 = 1;
-x_113 = l_Lean_Parser_mergeOrElseErrors(x_111, x_62, x_59, x_112);
-lean_dec(x_59);
-return x_113;
-}
-}
-}
-else
-{
-uint8_t x_129; lean_object* x_130;
-lean_dec(x_68);
-lean_dec(x_1);
-x_129 = 1;
-x_130 = l_Lean_Parser_mergeOrElseErrors(x_67, x_62, x_59, x_129);
-lean_dec(x_59);
-return x_130;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Term_doElem_quot___closed__1() {
_start:
{
@@ -30261,22 +15451,22 @@ lean_dec_ref(res);
res = initialize_Lean_Parser_Term(lean_io_mk_world());
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
-l_Lean_Parser_regBuiltinDoElemParserAttr___closed__1 = _init_l_Lean_Parser_regBuiltinDoElemParserAttr___closed__1();
-lean_mark_persistent(l_Lean_Parser_regBuiltinDoElemParserAttr___closed__1);
-l_Lean_Parser_regBuiltinDoElemParserAttr___closed__2 = _init_l_Lean_Parser_regBuiltinDoElemParserAttr___closed__2();
-lean_mark_persistent(l_Lean_Parser_regBuiltinDoElemParserAttr___closed__2);
-l_Lean_Parser_regBuiltinDoElemParserAttr___closed__3 = _init_l_Lean_Parser_regBuiltinDoElemParserAttr___closed__3();
-lean_mark_persistent(l_Lean_Parser_regBuiltinDoElemParserAttr___closed__3);
-l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4 = _init_l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4();
-lean_mark_persistent(l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4);
-res = l_Lean_Parser_regBuiltinDoElemParserAttr(lean_io_mk_world());
+l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__1 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__1();
+lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__1);
+l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__2 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__2();
+lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__2);
+l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__3 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__3();
+lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__3);
+l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__4 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__4();
+lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4____closed__4);
+res = l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_4_(lean_io_mk_world());
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
-l_Lean_Parser_regDoElemParserAttribute___closed__1 = _init_l_Lean_Parser_regDoElemParserAttribute___closed__1();
-lean_mark_persistent(l_Lean_Parser_regDoElemParserAttribute___closed__1);
-l_Lean_Parser_regDoElemParserAttribute___closed__2 = _init_l_Lean_Parser_regDoElemParserAttribute___closed__2();
-lean_mark_persistent(l_Lean_Parser_regDoElemParserAttribute___closed__2);
-res = l_Lean_Parser_regDoElemParserAttribute(lean_io_mk_world());
+l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_14____closed__1 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_14____closed__1();
+lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_14____closed__1);
+l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_14____closed__2 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_14____closed__2();
+lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_14____closed__2);
+res = l_Lean_Parser_initFn____x40_Lean_Parser_Do___hyg_14_(lean_io_mk_world());
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
l_Lean_Parser_Term_leftArrow___elambda__1___closed__1 = _init_l_Lean_Parser_Term_leftArrow___elambda__1___closed__1();
@@ -30313,6 +15503,14 @@ l_Lean_Parser_Term_liftMethod___elambda__1___closed__3 = _init_l_Lean_Parser_Ter
lean_mark_persistent(l_Lean_Parser_Term_liftMethod___elambda__1___closed__3);
l_Lean_Parser_Term_liftMethod___elambda__1___closed__4 = _init_l_Lean_Parser_Term_liftMethod___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Term_liftMethod___elambda__1___closed__4);
+l_Lean_Parser_Term_liftMethod___elambda__1___closed__5 = _init_l_Lean_Parser_Term_liftMethod___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Term_liftMethod___elambda__1___closed__5);
+l_Lean_Parser_Term_liftMethod___elambda__1___closed__6 = _init_l_Lean_Parser_Term_liftMethod___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Term_liftMethod___elambda__1___closed__6);
+l_Lean_Parser_Term_liftMethod___elambda__1___closed__7 = _init_l_Lean_Parser_Term_liftMethod___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Term_liftMethod___elambda__1___closed__7);
+l_Lean_Parser_Term_liftMethod___elambda__1___closed__8 = _init_l_Lean_Parser_Term_liftMethod___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Term_liftMethod___elambda__1___closed__8);
l_Lean_Parser_Term_liftMethod___closed__1 = _init_l_Lean_Parser_Term_liftMethod___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_liftMethod___closed__1);
l_Lean_Parser_Term_liftMethod___closed__2 = _init_l_Lean_Parser_Term_liftMethod___closed__2();
@@ -30356,14 +15554,6 @@ lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_liftMethod_parenthesizer___
res = l___regBuiltin_Lean_Parser_Term_liftMethod_parenthesizer(lean_io_mk_world());
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
-l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__1 = _init_l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__1();
-lean_mark_persistent(l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__1);
-l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__2 = _init_l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__2();
-lean_mark_persistent(l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__2);
-l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__3 = _init_l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__3();
-lean_mark_persistent(l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__3);
-l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__4 = _init_l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__4();
-lean_mark_persistent(l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1___closed__4);
l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__1 = _init_l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__1);
l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__2 = _init_l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__2();
@@ -30372,6 +15562,26 @@ l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__3 = _init_l_Lean_Parser_Te
lean_mark_persistent(l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__3);
l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__4 = _init_l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__4);
+l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__5 = _init_l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__5);
+l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__6 = _init_l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__6);
+l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__7 = _init_l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__7);
+l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__8 = _init_l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__8);
+l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__9 = _init_l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__9);
+l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__10 = _init_l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__10);
+l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__11 = _init_l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__11);
+l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__12 = _init_l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__12);
+l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__13 = _init_l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__13);
+l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__14 = _init_l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__14();
+lean_mark_persistent(l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__14);
l_Lean_Parser_Term_doSeqIndent___closed__1 = _init_l_Lean_Parser_Term_doSeqIndent___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_doSeqIndent___closed__1);
l_Lean_Parser_Term_doSeqIndent___closed__2 = _init_l_Lean_Parser_Term_doSeqIndent___closed__2();
@@ -30404,6 +15614,16 @@ l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__3 = _init_l_Lean_Parser
lean_mark_persistent(l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__3);
l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__4 = _init_l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__4);
+l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__5 = _init_l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__5);
+l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__6 = _init_l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__6);
+l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__7 = _init_l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__7);
+l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__8 = _init_l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__8);
+l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__9 = _init_l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__9);
l_Lean_Parser_Term_doSeqBracketed___closed__1 = _init_l_Lean_Parser_Term_doSeqBracketed___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_doSeqBracketed___closed__1);
l_Lean_Parser_Term_doSeqBracketed___closed__2 = _init_l_Lean_Parser_Term_doSeqBracketed___closed__2();
@@ -30476,24 +15696,6 @@ l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__23 = _
lean_mark_persistent(l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__23);
l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__24 = _init_l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__24();
lean_mark_persistent(l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__24);
-l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__25 = _init_l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__25();
-lean_mark_persistent(l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__25);
-l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__26 = _init_l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__26();
-lean_mark_persistent(l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__26);
-l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__27 = _init_l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__27();
-lean_mark_persistent(l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__27);
-l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__28 = _init_l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__28();
-lean_mark_persistent(l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__28);
-l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__29 = _init_l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__29();
-lean_mark_persistent(l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__29);
-l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__30 = _init_l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__30();
-lean_mark_persistent(l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__30);
-l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__31 = _init_l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__31();
-lean_mark_persistent(l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__31);
-l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__32 = _init_l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__32();
-lean_mark_persistent(l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__32);
-l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__33 = _init_l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__33();
-lean_mark_persistent(l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__33);
l_Lean_Parser_Term_notFollowedByRedefinedTermToken___closed__1 = _init_l_Lean_Parser_Term_notFollowedByRedefinedTermToken___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_notFollowedByRedefinedTermToken___closed__1);
l_Lean_Parser_Term_notFollowedByRedefinedTermToken___closed__2 = _init_l_Lean_Parser_Term_notFollowedByRedefinedTermToken___closed__2();
@@ -30508,6 +15710,14 @@ l_Lean_Parser_Term_doLet___elambda__1___closed__3 = _init_l_Lean_Parser_Term_doL
lean_mark_persistent(l_Lean_Parser_Term_doLet___elambda__1___closed__3);
l_Lean_Parser_Term_doLet___elambda__1___closed__4 = _init_l_Lean_Parser_Term_doLet___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Term_doLet___elambda__1___closed__4);
+l_Lean_Parser_Term_doLet___elambda__1___closed__5 = _init_l_Lean_Parser_Term_doLet___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Term_doLet___elambda__1___closed__5);
+l_Lean_Parser_Term_doLet___elambda__1___closed__6 = _init_l_Lean_Parser_Term_doLet___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Term_doLet___elambda__1___closed__6);
+l_Lean_Parser_Term_doLet___elambda__1___closed__7 = _init_l_Lean_Parser_Term_doLet___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Term_doLet___elambda__1___closed__7);
+l_Lean_Parser_Term_doLet___elambda__1___closed__8 = _init_l_Lean_Parser_Term_doLet___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Term_doLet___elambda__1___closed__8);
l_Lean_Parser_Term_doLet___closed__1 = _init_l_Lean_Parser_Term_doLet___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_doLet___closed__1);
l_Lean_Parser_Term_doLet___closed__2 = _init_l_Lean_Parser_Term_doLet___closed__2();
@@ -30549,6 +15759,18 @@ l_Lean_Parser_Term_doLetRec___elambda__1___closed__3 = _init_l_Lean_Parser_Term_
lean_mark_persistent(l_Lean_Parser_Term_doLetRec___elambda__1___closed__3);
l_Lean_Parser_Term_doLetRec___elambda__1___closed__4 = _init_l_Lean_Parser_Term_doLetRec___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Term_doLetRec___elambda__1___closed__4);
+l_Lean_Parser_Term_doLetRec___elambda__1___closed__5 = _init_l_Lean_Parser_Term_doLetRec___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Term_doLetRec___elambda__1___closed__5);
+l_Lean_Parser_Term_doLetRec___elambda__1___closed__6 = _init_l_Lean_Parser_Term_doLetRec___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Term_doLetRec___elambda__1___closed__6);
+l_Lean_Parser_Term_doLetRec___elambda__1___closed__7 = _init_l_Lean_Parser_Term_doLetRec___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Term_doLetRec___elambda__1___closed__7);
+l_Lean_Parser_Term_doLetRec___elambda__1___closed__8 = _init_l_Lean_Parser_Term_doLetRec___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Term_doLetRec___elambda__1___closed__8);
+l_Lean_Parser_Term_doLetRec___elambda__1___closed__9 = _init_l_Lean_Parser_Term_doLetRec___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Term_doLetRec___elambda__1___closed__9);
+l_Lean_Parser_Term_doLetRec___elambda__1___closed__10 = _init_l_Lean_Parser_Term_doLetRec___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_doLetRec___elambda__1___closed__10);
l_Lean_Parser_Term_doLetRec___closed__1 = _init_l_Lean_Parser_Term_doLetRec___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_doLetRec___closed__1);
l_Lean_Parser_Term_doLetRec___closed__2 = _init_l_Lean_Parser_Term_doLetRec___closed__2();
@@ -30590,6 +15812,18 @@ l_Lean_Parser_Term_doIdDecl___elambda__1___closed__3 = _init_l_Lean_Parser_Term_
lean_mark_persistent(l_Lean_Parser_Term_doIdDecl___elambda__1___closed__3);
l_Lean_Parser_Term_doIdDecl___elambda__1___closed__4 = _init_l_Lean_Parser_Term_doIdDecl___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Term_doIdDecl___elambda__1___closed__4);
+l_Lean_Parser_Term_doIdDecl___elambda__1___closed__5 = _init_l_Lean_Parser_Term_doIdDecl___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Term_doIdDecl___elambda__1___closed__5);
+l_Lean_Parser_Term_doIdDecl___elambda__1___closed__6 = _init_l_Lean_Parser_Term_doIdDecl___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Term_doIdDecl___elambda__1___closed__6);
+l_Lean_Parser_Term_doIdDecl___elambda__1___closed__7 = _init_l_Lean_Parser_Term_doIdDecl___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Term_doIdDecl___elambda__1___closed__7);
+l_Lean_Parser_Term_doIdDecl___elambda__1___closed__8 = _init_l_Lean_Parser_Term_doIdDecl___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Term_doIdDecl___elambda__1___closed__8);
+l_Lean_Parser_Term_doIdDecl___elambda__1___closed__9 = _init_l_Lean_Parser_Term_doIdDecl___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Term_doIdDecl___elambda__1___closed__9);
+l_Lean_Parser_Term_doIdDecl___elambda__1___closed__10 = _init_l_Lean_Parser_Term_doIdDecl___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_doIdDecl___elambda__1___closed__10);
l_Lean_Parser_Term_doIdDecl___closed__1 = _init_l_Lean_Parser_Term_doIdDecl___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_doIdDecl___closed__1);
l_Lean_Parser_Term_doIdDecl___closed__2 = _init_l_Lean_Parser_Term_doIdDecl___closed__2();
@@ -30626,6 +15860,18 @@ l_Lean_Parser_Term_doPatDecl___elambda__1___closed__8 = _init_l_Lean_Parser_Term
lean_mark_persistent(l_Lean_Parser_Term_doPatDecl___elambda__1___closed__8);
l_Lean_Parser_Term_doPatDecl___elambda__1___closed__9 = _init_l_Lean_Parser_Term_doPatDecl___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Term_doPatDecl___elambda__1___closed__9);
+l_Lean_Parser_Term_doPatDecl___elambda__1___closed__10 = _init_l_Lean_Parser_Term_doPatDecl___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_doPatDecl___elambda__1___closed__10);
+l_Lean_Parser_Term_doPatDecl___elambda__1___closed__11 = _init_l_Lean_Parser_Term_doPatDecl___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_doPatDecl___elambda__1___closed__11);
+l_Lean_Parser_Term_doPatDecl___elambda__1___closed__12 = _init_l_Lean_Parser_Term_doPatDecl___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Term_doPatDecl___elambda__1___closed__12);
+l_Lean_Parser_Term_doPatDecl___elambda__1___closed__13 = _init_l_Lean_Parser_Term_doPatDecl___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Term_doPatDecl___elambda__1___closed__13);
+l_Lean_Parser_Term_doPatDecl___elambda__1___closed__14 = _init_l_Lean_Parser_Term_doPatDecl___elambda__1___closed__14();
+lean_mark_persistent(l_Lean_Parser_Term_doPatDecl___elambda__1___closed__14);
+l_Lean_Parser_Term_doPatDecl___elambda__1___closed__15 = _init_l_Lean_Parser_Term_doPatDecl___elambda__1___closed__15();
+lean_mark_persistent(l_Lean_Parser_Term_doPatDecl___elambda__1___closed__15);
l_Lean_Parser_Term_doPatDecl___closed__1 = _init_l_Lean_Parser_Term_doPatDecl___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_doPatDecl___closed__1);
l_Lean_Parser_Term_doPatDecl___closed__2 = _init_l_Lean_Parser_Term_doPatDecl___closed__2();
@@ -30658,6 +15904,14 @@ l_Lean_Parser_Term_doLetArrow___elambda__1___closed__3 = _init_l_Lean_Parser_Ter
lean_mark_persistent(l_Lean_Parser_Term_doLetArrow___elambda__1___closed__3);
l_Lean_Parser_Term_doLetArrow___elambda__1___closed__4 = _init_l_Lean_Parser_Term_doLetArrow___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Term_doLetArrow___elambda__1___closed__4);
+l_Lean_Parser_Term_doLetArrow___elambda__1___closed__5 = _init_l_Lean_Parser_Term_doLetArrow___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Term_doLetArrow___elambda__1___closed__5);
+l_Lean_Parser_Term_doLetArrow___elambda__1___closed__6 = _init_l_Lean_Parser_Term_doLetArrow___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Term_doLetArrow___elambda__1___closed__6);
+l_Lean_Parser_Term_doLetArrow___elambda__1___closed__7 = _init_l_Lean_Parser_Term_doLetArrow___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Term_doLetArrow___elambda__1___closed__7);
+l_Lean_Parser_Term_doLetArrow___elambda__1___closed__8 = _init_l_Lean_Parser_Term_doLetArrow___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Term_doLetArrow___elambda__1___closed__8);
l_Lean_Parser_Term_doLetArrow___closed__1 = _init_l_Lean_Parser_Term_doLetArrow___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_doLetArrow___closed__1);
l_Lean_Parser_Term_doLetArrow___closed__2 = _init_l_Lean_Parser_Term_doLetArrow___closed__2();
@@ -30781,6 +16035,14 @@ l_Lean_Parser_Term_doReassign___elambda__1___closed__3 = _init_l_Lean_Parser_Ter
lean_mark_persistent(l_Lean_Parser_Term_doReassign___elambda__1___closed__3);
l_Lean_Parser_Term_doReassign___elambda__1___closed__4 = _init_l_Lean_Parser_Term_doReassign___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Term_doReassign___elambda__1___closed__4);
+l_Lean_Parser_Term_doReassign___elambda__1___closed__5 = _init_l_Lean_Parser_Term_doReassign___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Term_doReassign___elambda__1___closed__5);
+l_Lean_Parser_Term_doReassign___elambda__1___closed__6 = _init_l_Lean_Parser_Term_doReassign___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Term_doReassign___elambda__1___closed__6);
+l_Lean_Parser_Term_doReassign___elambda__1___closed__7 = _init_l_Lean_Parser_Term_doReassign___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Term_doReassign___elambda__1___closed__7);
+l_Lean_Parser_Term_doReassign___elambda__1___closed__8 = _init_l_Lean_Parser_Term_doReassign___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Term_doReassign___elambda__1___closed__8);
l_Lean_Parser_Term_doReassign___closed__1 = _init_l_Lean_Parser_Term_doReassign___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_doReassign___closed__1);
l_Lean_Parser_Term_doReassign___closed__2 = _init_l_Lean_Parser_Term_doReassign___closed__2();
@@ -30838,6 +16100,12 @@ l_Lean_Parser_Term_doReassignArrow___elambda__1___closed__3 = _init_l_Lean_Parse
lean_mark_persistent(l_Lean_Parser_Term_doReassignArrow___elambda__1___closed__3);
l_Lean_Parser_Term_doReassignArrow___elambda__1___closed__4 = _init_l_Lean_Parser_Term_doReassignArrow___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Term_doReassignArrow___elambda__1___closed__4);
+l_Lean_Parser_Term_doReassignArrow___elambda__1___closed__5 = _init_l_Lean_Parser_Term_doReassignArrow___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Term_doReassignArrow___elambda__1___closed__5);
+l_Lean_Parser_Term_doReassignArrow___elambda__1___closed__6 = _init_l_Lean_Parser_Term_doReassignArrow___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Term_doReassignArrow___elambda__1___closed__6);
+l_Lean_Parser_Term_doReassignArrow___elambda__1___closed__7 = _init_l_Lean_Parser_Term_doReassignArrow___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Term_doReassignArrow___elambda__1___closed__7);
l_Lean_Parser_Term_doReassignArrow___closed__1 = _init_l_Lean_Parser_Term_doReassignArrow___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_doReassignArrow___closed__1);
l_Lean_Parser_Term_doReassignArrow___closed__2 = _init_l_Lean_Parser_Term_doReassignArrow___closed__2();
@@ -30885,6 +16153,14 @@ l_Lean_Parser_Term_doHave___elambda__1___closed__3 = _init_l_Lean_Parser_Term_do
lean_mark_persistent(l_Lean_Parser_Term_doHave___elambda__1___closed__3);
l_Lean_Parser_Term_doHave___elambda__1___closed__4 = _init_l_Lean_Parser_Term_doHave___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Term_doHave___elambda__1___closed__4);
+l_Lean_Parser_Term_doHave___elambda__1___closed__5 = _init_l_Lean_Parser_Term_doHave___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Term_doHave___elambda__1___closed__5);
+l_Lean_Parser_Term_doHave___elambda__1___closed__6 = _init_l_Lean_Parser_Term_doHave___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Term_doHave___elambda__1___closed__6);
+l_Lean_Parser_Term_doHave___elambda__1___closed__7 = _init_l_Lean_Parser_Term_doHave___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Term_doHave___elambda__1___closed__7);
+l_Lean_Parser_Term_doHave___elambda__1___closed__8 = _init_l_Lean_Parser_Term_doHave___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Term_doHave___elambda__1___closed__8);
l_Lean_Parser_Term_doHave___closed__1 = _init_l_Lean_Parser_Term_doHave___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_doHave___closed__1);
l_Lean_Parser_Term_doHave___closed__2 = _init_l_Lean_Parser_Term_doHave___closed__2();
@@ -30918,6 +16194,8 @@ lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_doHave_parenthesizer___clos
res = l___regBuiltin_Lean_Parser_Term_doHave_parenthesizer(lean_io_mk_world());
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
+l_Lean_Parser_Term_elseIf___elambda__1___lambda__1___closed__1 = _init_l_Lean_Parser_Term_elseIf___elambda__1___lambda__1___closed__1();
+lean_mark_persistent(l_Lean_Parser_Term_elseIf___elambda__1___lambda__1___closed__1);
l_Lean_Parser_Term_elseIf___elambda__1___closed__1 = _init_l_Lean_Parser_Term_elseIf___elambda__1___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_elseIf___elambda__1___closed__1);
l_Lean_Parser_Term_elseIf___elambda__1___closed__2 = _init_l_Lean_Parser_Term_elseIf___elambda__1___closed__2();
@@ -30926,10 +16204,6 @@ l_Lean_Parser_Term_elseIf___elambda__1___closed__3 = _init_l_Lean_Parser_Term_el
lean_mark_persistent(l_Lean_Parser_Term_elseIf___elambda__1___closed__3);
l_Lean_Parser_Term_elseIf___elambda__1___closed__4 = _init_l_Lean_Parser_Term_elseIf___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Term_elseIf___elambda__1___closed__4);
-l_Lean_Parser_Term_elseIf___elambda__1___closed__5 = _init_l_Lean_Parser_Term_elseIf___elambda__1___closed__5();
-lean_mark_persistent(l_Lean_Parser_Term_elseIf___elambda__1___closed__5);
-l_Lean_Parser_Term_elseIf___elambda__1___closed__6 = _init_l_Lean_Parser_Term_elseIf___elambda__1___closed__6();
-lean_mark_persistent(l_Lean_Parser_Term_elseIf___elambda__1___closed__6);
l_Lean_Parser_Term_elseIf___closed__1 = _init_l_Lean_Parser_Term_elseIf___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_elseIf___closed__1);
l_Lean_Parser_Term_elseIf___closed__2 = _init_l_Lean_Parser_Term_elseIf___closed__2();
@@ -30944,8 +16218,6 @@ l_Lean_Parser_Term_elseIf___closed__6 = _init_l_Lean_Parser_Term_elseIf___closed
lean_mark_persistent(l_Lean_Parser_Term_elseIf___closed__6);
l_Lean_Parser_Term_elseIf = _init_l_Lean_Parser_Term_elseIf();
lean_mark_persistent(l_Lean_Parser_Term_elseIf);
-l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doIf___elambda__1___spec__1___closed__1 = _init_l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doIf___elambda__1___spec__1___closed__1();
-lean_mark_persistent(l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doIf___elambda__1___spec__1___closed__1);
l_Lean_Parser_Term_doIf___elambda__1___closed__1 = _init_l_Lean_Parser_Term_doIf___elambda__1___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_doIf___elambda__1___closed__1);
l_Lean_Parser_Term_doIf___elambda__1___closed__2 = _init_l_Lean_Parser_Term_doIf___elambda__1___closed__2();
@@ -30956,6 +16228,34 @@ l_Lean_Parser_Term_doIf___elambda__1___closed__4 = _init_l_Lean_Parser_Term_doIf
lean_mark_persistent(l_Lean_Parser_Term_doIf___elambda__1___closed__4);
l_Lean_Parser_Term_doIf___elambda__1___closed__5 = _init_l_Lean_Parser_Term_doIf___elambda__1___closed__5();
lean_mark_persistent(l_Lean_Parser_Term_doIf___elambda__1___closed__5);
+l_Lean_Parser_Term_doIf___elambda__1___closed__6 = _init_l_Lean_Parser_Term_doIf___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Term_doIf___elambda__1___closed__6);
+l_Lean_Parser_Term_doIf___elambda__1___closed__7 = _init_l_Lean_Parser_Term_doIf___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Term_doIf___elambda__1___closed__7);
+l_Lean_Parser_Term_doIf___elambda__1___closed__8 = _init_l_Lean_Parser_Term_doIf___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Term_doIf___elambda__1___closed__8);
+l_Lean_Parser_Term_doIf___elambda__1___closed__9 = _init_l_Lean_Parser_Term_doIf___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Term_doIf___elambda__1___closed__9);
+l_Lean_Parser_Term_doIf___elambda__1___closed__10 = _init_l_Lean_Parser_Term_doIf___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_doIf___elambda__1___closed__10);
+l_Lean_Parser_Term_doIf___elambda__1___closed__11 = _init_l_Lean_Parser_Term_doIf___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_doIf___elambda__1___closed__11);
+l_Lean_Parser_Term_doIf___elambda__1___closed__12 = _init_l_Lean_Parser_Term_doIf___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Term_doIf___elambda__1___closed__12);
+l_Lean_Parser_Term_doIf___elambda__1___closed__13 = _init_l_Lean_Parser_Term_doIf___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Term_doIf___elambda__1___closed__13);
+l_Lean_Parser_Term_doIf___elambda__1___closed__14 = _init_l_Lean_Parser_Term_doIf___elambda__1___closed__14();
+lean_mark_persistent(l_Lean_Parser_Term_doIf___elambda__1___closed__14);
+l_Lean_Parser_Term_doIf___elambda__1___closed__15 = _init_l_Lean_Parser_Term_doIf___elambda__1___closed__15();
+lean_mark_persistent(l_Lean_Parser_Term_doIf___elambda__1___closed__15);
+l_Lean_Parser_Term_doIf___elambda__1___closed__16 = _init_l_Lean_Parser_Term_doIf___elambda__1___closed__16();
+lean_mark_persistent(l_Lean_Parser_Term_doIf___elambda__1___closed__16);
+l_Lean_Parser_Term_doIf___elambda__1___closed__17 = _init_l_Lean_Parser_Term_doIf___elambda__1___closed__17();
+lean_mark_persistent(l_Lean_Parser_Term_doIf___elambda__1___closed__17);
+l_Lean_Parser_Term_doIf___elambda__1___closed__18 = _init_l_Lean_Parser_Term_doIf___elambda__1___closed__18();
+lean_mark_persistent(l_Lean_Parser_Term_doIf___elambda__1___closed__18);
+l_Lean_Parser_Term_doIf___elambda__1___closed__19 = _init_l_Lean_Parser_Term_doIf___elambda__1___closed__19();
+lean_mark_persistent(l_Lean_Parser_Term_doIf___elambda__1___closed__19);
l_Lean_Parser_Term_doIf___closed__1 = _init_l_Lean_Parser_Term_doIf___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_doIf___closed__1);
l_Lean_Parser_Term_doIf___closed__2 = _init_l_Lean_Parser_Term_doIf___closed__2();
@@ -31169,6 +16469,8 @@ lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_doIf_parenthesizer___closed
res = l___regBuiltin_Lean_Parser_Term_doIf_parenthesizer(lean_io_mk_world());
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
+l_Lean_Parser_Term_doUnless___elambda__1___lambda__1___closed__1 = _init_l_Lean_Parser_Term_doUnless___elambda__1___lambda__1___closed__1();
+lean_mark_persistent(l_Lean_Parser_Term_doUnless___elambda__1___lambda__1___closed__1);
l_Lean_Parser_Term_doUnless___elambda__1___closed__1 = _init_l_Lean_Parser_Term_doUnless___elambda__1___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_doUnless___elambda__1___closed__1);
l_Lean_Parser_Term_doUnless___elambda__1___closed__2 = _init_l_Lean_Parser_Term_doUnless___elambda__1___closed__2();
@@ -31199,6 +16501,8 @@ l_Lean_Parser_Term_doUnless___elambda__1___closed__14 = _init_l_Lean_Parser_Term
lean_mark_persistent(l_Lean_Parser_Term_doUnless___elambda__1___closed__14);
l_Lean_Parser_Term_doUnless___elambda__1___closed__15 = _init_l_Lean_Parser_Term_doUnless___elambda__1___closed__15();
lean_mark_persistent(l_Lean_Parser_Term_doUnless___elambda__1___closed__15);
+l_Lean_Parser_Term_doUnless___elambda__1___closed__16 = _init_l_Lean_Parser_Term_doUnless___elambda__1___closed__16();
+lean_mark_persistent(l_Lean_Parser_Term_doUnless___elambda__1___closed__16);
l_Lean_Parser_Term_doUnless___closed__1 = _init_l_Lean_Parser_Term_doUnless___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_doUnless___closed__1);
l_Lean_Parser_Term_doUnless___closed__2 = _init_l_Lean_Parser_Term_doUnless___closed__2();
@@ -31288,6 +16592,8 @@ l_Lean_Parser_Term_doFor___elambda__1___closed__13 = _init_l_Lean_Parser_Term_do
lean_mark_persistent(l_Lean_Parser_Term_doFor___elambda__1___closed__13);
l_Lean_Parser_Term_doFor___elambda__1___closed__14 = _init_l_Lean_Parser_Term_doFor___elambda__1___closed__14();
lean_mark_persistent(l_Lean_Parser_Term_doFor___elambda__1___closed__14);
+l_Lean_Parser_Term_doFor___elambda__1___closed__15 = _init_l_Lean_Parser_Term_doFor___elambda__1___closed__15();
+lean_mark_persistent(l_Lean_Parser_Term_doFor___elambda__1___closed__15);
l_Lean_Parser_Term_doFor___closed__1 = _init_l_Lean_Parser_Term_doFor___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_doFor___closed__1);
l_Lean_Parser_Term_doFor___closed__2 = _init_l_Lean_Parser_Term_doFor___closed__2();
@@ -31353,6 +16659,14 @@ l_Lean_Parser_Term_doMatchAlt___elambda__1___closed__3 = _init_l_Lean_Parser_Ter
lean_mark_persistent(l_Lean_Parser_Term_doMatchAlt___elambda__1___closed__3);
l_Lean_Parser_Term_doMatchAlt___elambda__1___closed__4 = _init_l_Lean_Parser_Term_doMatchAlt___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Term_doMatchAlt___elambda__1___closed__4);
+l_Lean_Parser_Term_doMatchAlt___elambda__1___closed__5 = _init_l_Lean_Parser_Term_doMatchAlt___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Term_doMatchAlt___elambda__1___closed__5);
+l_Lean_Parser_Term_doMatchAlt___elambda__1___closed__6 = _init_l_Lean_Parser_Term_doMatchAlt___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Term_doMatchAlt___elambda__1___closed__6);
+l_Lean_Parser_Term_doMatchAlt___elambda__1___closed__7 = _init_l_Lean_Parser_Term_doMatchAlt___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Term_doMatchAlt___elambda__1___closed__7);
+l_Lean_Parser_Term_doMatchAlt___elambda__1___closed__8 = _init_l_Lean_Parser_Term_doMatchAlt___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Term_doMatchAlt___elambda__1___closed__8);
l_Lean_Parser_Term_doMatchAlt___closed__1 = _init_l_Lean_Parser_Term_doMatchAlt___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_doMatchAlt___closed__1);
l_Lean_Parser_Term_doMatchAlt___closed__2 = _init_l_Lean_Parser_Term_doMatchAlt___closed__2();
@@ -31377,6 +16691,14 @@ l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__3 = _init_l_Lean_Parser_Te
lean_mark_persistent(l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__3);
l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__4 = _init_l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__4);
+l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__5 = _init_l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__5);
+l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__6 = _init_l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__6);
+l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__7 = _init_l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__7);
+l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__8 = _init_l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__8);
l_Lean_Parser_Term_doMatchAlts___closed__1 = _init_l_Lean_Parser_Term_doMatchAlts___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_doMatchAlts___closed__1);
l_Lean_Parser_Term_doMatchAlts___closed__2 = _init_l_Lean_Parser_Term_doMatchAlts___closed__2();
@@ -31403,6 +16725,18 @@ l_Lean_Parser_Term_doMatch___elambda__1___closed__3 = _init_l_Lean_Parser_Term_d
lean_mark_persistent(l_Lean_Parser_Term_doMatch___elambda__1___closed__3);
l_Lean_Parser_Term_doMatch___elambda__1___closed__4 = _init_l_Lean_Parser_Term_doMatch___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Term_doMatch___elambda__1___closed__4);
+l_Lean_Parser_Term_doMatch___elambda__1___closed__5 = _init_l_Lean_Parser_Term_doMatch___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Term_doMatch___elambda__1___closed__5);
+l_Lean_Parser_Term_doMatch___elambda__1___closed__6 = _init_l_Lean_Parser_Term_doMatch___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Term_doMatch___elambda__1___closed__6);
+l_Lean_Parser_Term_doMatch___elambda__1___closed__7 = _init_l_Lean_Parser_Term_doMatch___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Term_doMatch___elambda__1___closed__7);
+l_Lean_Parser_Term_doMatch___elambda__1___closed__8 = _init_l_Lean_Parser_Term_doMatch___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Term_doMatch___elambda__1___closed__8);
+l_Lean_Parser_Term_doMatch___elambda__1___closed__9 = _init_l_Lean_Parser_Term_doMatch___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Term_doMatch___elambda__1___closed__9);
+l_Lean_Parser_Term_doMatch___elambda__1___closed__10 = _init_l_Lean_Parser_Term_doMatch___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_doMatch___elambda__1___closed__10);
l_Lean_Parser_Term_doMatch___closed__1 = _init_l_Lean_Parser_Term_doMatch___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_doMatch___closed__1);
l_Lean_Parser_Term_doMatch___closed__2 = _init_l_Lean_Parser_Term_doMatch___closed__2();
@@ -31522,6 +16856,16 @@ l_Lean_Parser_Term_doCatch___elambda__1___closed__8 = _init_l_Lean_Parser_Term_d
lean_mark_persistent(l_Lean_Parser_Term_doCatch___elambda__1___closed__8);
l_Lean_Parser_Term_doCatch___elambda__1___closed__9 = _init_l_Lean_Parser_Term_doCatch___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Term_doCatch___elambda__1___closed__9);
+l_Lean_Parser_Term_doCatch___elambda__1___closed__10 = _init_l_Lean_Parser_Term_doCatch___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_doCatch___elambda__1___closed__10);
+l_Lean_Parser_Term_doCatch___elambda__1___closed__11 = _init_l_Lean_Parser_Term_doCatch___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_doCatch___elambda__1___closed__11);
+l_Lean_Parser_Term_doCatch___elambda__1___closed__12 = _init_l_Lean_Parser_Term_doCatch___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Term_doCatch___elambda__1___closed__12);
+l_Lean_Parser_Term_doCatch___elambda__1___closed__13 = _init_l_Lean_Parser_Term_doCatch___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Term_doCatch___elambda__1___closed__13);
+l_Lean_Parser_Term_doCatch___elambda__1___closed__14 = _init_l_Lean_Parser_Term_doCatch___elambda__1___closed__14();
+lean_mark_persistent(l_Lean_Parser_Term_doCatch___elambda__1___closed__14);
l_Lean_Parser_Term_doCatch___closed__1 = _init_l_Lean_Parser_Term_doCatch___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_doCatch___closed__1);
l_Lean_Parser_Term_doCatch___closed__2 = _init_l_Lean_Parser_Term_doCatch___closed__2();
@@ -31550,6 +16894,12 @@ l_Lean_Parser_Term_doCatchMatch___elambda__1___closed__3 = _init_l_Lean_Parser_T
lean_mark_persistent(l_Lean_Parser_Term_doCatchMatch___elambda__1___closed__3);
l_Lean_Parser_Term_doCatchMatch___elambda__1___closed__4 = _init_l_Lean_Parser_Term_doCatchMatch___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Term_doCatchMatch___elambda__1___closed__4);
+l_Lean_Parser_Term_doCatchMatch___elambda__1___closed__5 = _init_l_Lean_Parser_Term_doCatchMatch___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Term_doCatchMatch___elambda__1___closed__5);
+l_Lean_Parser_Term_doCatchMatch___elambda__1___closed__6 = _init_l_Lean_Parser_Term_doCatchMatch___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Term_doCatchMatch___elambda__1___closed__6);
+l_Lean_Parser_Term_doCatchMatch___elambda__1___closed__7 = _init_l_Lean_Parser_Term_doCatchMatch___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Term_doCatchMatch___elambda__1___closed__7);
l_Lean_Parser_Term_doCatchMatch___closed__1 = _init_l_Lean_Parser_Term_doCatchMatch___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_doCatchMatch___closed__1);
l_Lean_Parser_Term_doCatchMatch___closed__2 = _init_l_Lean_Parser_Term_doCatchMatch___closed__2();
@@ -31582,6 +16932,8 @@ l_Lean_Parser_Term_doFinally___elambda__1___closed__8 = _init_l_Lean_Parser_Term
lean_mark_persistent(l_Lean_Parser_Term_doFinally___elambda__1___closed__8);
l_Lean_Parser_Term_doFinally___elambda__1___closed__9 = _init_l_Lean_Parser_Term_doFinally___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Term_doFinally___elambda__1___closed__9);
+l_Lean_Parser_Term_doFinally___elambda__1___closed__10 = _init_l_Lean_Parser_Term_doFinally___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_doFinally___elambda__1___closed__10);
l_Lean_Parser_Term_doFinally___closed__1 = _init_l_Lean_Parser_Term_doFinally___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_doFinally___closed__1);
l_Lean_Parser_Term_doFinally___closed__2 = _init_l_Lean_Parser_Term_doFinally___closed__2();
@@ -31616,6 +16968,18 @@ l_Lean_Parser_Term_doTry___elambda__1___closed__8 = _init_l_Lean_Parser_Term_doT
lean_mark_persistent(l_Lean_Parser_Term_doTry___elambda__1___closed__8);
l_Lean_Parser_Term_doTry___elambda__1___closed__9 = _init_l_Lean_Parser_Term_doTry___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Term_doTry___elambda__1___closed__9);
+l_Lean_Parser_Term_doTry___elambda__1___closed__10 = _init_l_Lean_Parser_Term_doTry___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_doTry___elambda__1___closed__10);
+l_Lean_Parser_Term_doTry___elambda__1___closed__11 = _init_l_Lean_Parser_Term_doTry___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_doTry___elambda__1___closed__11);
+l_Lean_Parser_Term_doTry___elambda__1___closed__12 = _init_l_Lean_Parser_Term_doTry___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Term_doTry___elambda__1___closed__12);
+l_Lean_Parser_Term_doTry___elambda__1___closed__13 = _init_l_Lean_Parser_Term_doTry___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Term_doTry___elambda__1___closed__13);
+l_Lean_Parser_Term_doTry___elambda__1___closed__14 = _init_l_Lean_Parser_Term_doTry___elambda__1___closed__14();
+lean_mark_persistent(l_Lean_Parser_Term_doTry___elambda__1___closed__14);
+l_Lean_Parser_Term_doTry___elambda__1___closed__15 = _init_l_Lean_Parser_Term_doTry___elambda__1___closed__15();
+lean_mark_persistent(l_Lean_Parser_Term_doTry___elambda__1___closed__15);
l_Lean_Parser_Term_doTry___closed__1 = _init_l_Lean_Parser_Term_doTry___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_doTry___closed__1);
l_Lean_Parser_Term_doTry___closed__2 = _init_l_Lean_Parser_Term_doTry___closed__2();
@@ -31877,6 +17241,10 @@ l_Lean_Parser_Term_doReturn___elambda__1___closed__8 = _init_l_Lean_Parser_Term_
lean_mark_persistent(l_Lean_Parser_Term_doReturn___elambda__1___closed__8);
l_Lean_Parser_Term_doReturn___elambda__1___closed__9 = _init_l_Lean_Parser_Term_doReturn___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Term_doReturn___elambda__1___closed__9);
+l_Lean_Parser_Term_doReturn___elambda__1___closed__10 = _init_l_Lean_Parser_Term_doReturn___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_doReturn___elambda__1___closed__10);
+l_Lean_Parser_Term_doReturn___elambda__1___closed__11 = _init_l_Lean_Parser_Term_doReturn___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_doReturn___elambda__1___closed__11);
l_Lean_Parser_Term_doReturn___closed__1 = _init_l_Lean_Parser_Term_doReturn___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_doReturn___closed__1);
l_Lean_Parser_Term_doReturn___closed__2 = _init_l_Lean_Parser_Term_doReturn___closed__2();
@@ -31944,6 +17312,16 @@ l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__3 = _init_l_Lean_Parser_Ter
lean_mark_persistent(l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__3);
l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__4 = _init_l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__4);
+l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__5 = _init_l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__5);
+l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__6 = _init_l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__6);
+l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__7 = _init_l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__7);
+l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__8 = _init_l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__8);
+l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__9 = _init_l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__9);
l_Lean_Parser_Term_doDbgTrace___closed__1 = _init_l_Lean_Parser_Term_doDbgTrace___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_doDbgTrace___closed__1);
l_Lean_Parser_Term_doDbgTrace___closed__2 = _init_l_Lean_Parser_Term_doDbgTrace___closed__2();
@@ -31985,6 +17363,14 @@ l_Lean_Parser_Term_doAssert___elambda__1___closed__3 = _init_l_Lean_Parser_Term_
lean_mark_persistent(l_Lean_Parser_Term_doAssert___elambda__1___closed__3);
l_Lean_Parser_Term_doAssert___elambda__1___closed__4 = _init_l_Lean_Parser_Term_doAssert___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Term_doAssert___elambda__1___closed__4);
+l_Lean_Parser_Term_doAssert___elambda__1___closed__5 = _init_l_Lean_Parser_Term_doAssert___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Term_doAssert___elambda__1___closed__5);
+l_Lean_Parser_Term_doAssert___elambda__1___closed__6 = _init_l_Lean_Parser_Term_doAssert___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Term_doAssert___elambda__1___closed__6);
+l_Lean_Parser_Term_doAssert___elambda__1___closed__7 = _init_l_Lean_Parser_Term_doAssert___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Term_doAssert___elambda__1___closed__7);
+l_Lean_Parser_Term_doAssert___elambda__1___closed__8 = _init_l_Lean_Parser_Term_doAssert___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Term_doAssert___elambda__1___closed__8);
l_Lean_Parser_Term_doAssert___closed__1 = _init_l_Lean_Parser_Term_doAssert___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_doAssert___closed__1);
l_Lean_Parser_Term_doAssert___closed__2 = _init_l_Lean_Parser_Term_doAssert___closed__2();
@@ -32026,6 +17412,12 @@ l_Lean_Parser_Term_doExpr___elambda__1___closed__3 = _init_l_Lean_Parser_Term_do
lean_mark_persistent(l_Lean_Parser_Term_doExpr___elambda__1___closed__3);
l_Lean_Parser_Term_doExpr___elambda__1___closed__4 = _init_l_Lean_Parser_Term_doExpr___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Term_doExpr___elambda__1___closed__4);
+l_Lean_Parser_Term_doExpr___elambda__1___closed__5 = _init_l_Lean_Parser_Term_doExpr___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Term_doExpr___elambda__1___closed__5);
+l_Lean_Parser_Term_doExpr___elambda__1___closed__6 = _init_l_Lean_Parser_Term_doExpr___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Term_doExpr___elambda__1___closed__6);
+l_Lean_Parser_Term_doExpr___elambda__1___closed__7 = _init_l_Lean_Parser_Term_doExpr___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Term_doExpr___elambda__1___closed__7);
l_Lean_Parser_Term_doExpr___closed__1 = _init_l_Lean_Parser_Term_doExpr___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_doExpr___closed__1);
l_Lean_Parser_Term_doExpr___closed__2 = _init_l_Lean_Parser_Term_doExpr___closed__2();
@@ -32073,6 +17465,10 @@ l_Lean_Parser_Term_doNested___elambda__1___closed__3 = _init_l_Lean_Parser_Term_
lean_mark_persistent(l_Lean_Parser_Term_doNested___elambda__1___closed__3);
l_Lean_Parser_Term_doNested___elambda__1___closed__4 = _init_l_Lean_Parser_Term_doNested___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Term_doNested___elambda__1___closed__4);
+l_Lean_Parser_Term_doNested___elambda__1___closed__5 = _init_l_Lean_Parser_Term_doNested___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Term_doNested___elambda__1___closed__5);
+l_Lean_Parser_Term_doNested___elambda__1___closed__6 = _init_l_Lean_Parser_Term_doNested___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Term_doNested___elambda__1___closed__6);
l_Lean_Parser_Term_doNested___closed__1 = _init_l_Lean_Parser_Term_doNested___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_doNested___closed__1);
l_Lean_Parser_Term_doNested___closed__2 = _init_l_Lean_Parser_Term_doNested___closed__2();
@@ -32112,6 +17508,10 @@ l_Lean_Parser_Term_do___elambda__1___closed__2 = _init_l_Lean_Parser_Term_do___e
lean_mark_persistent(l_Lean_Parser_Term_do___elambda__1___closed__2);
l_Lean_Parser_Term_do___elambda__1___closed__3 = _init_l_Lean_Parser_Term_do___elambda__1___closed__3();
lean_mark_persistent(l_Lean_Parser_Term_do___elambda__1___closed__3);
+l_Lean_Parser_Term_do___elambda__1___closed__4 = _init_l_Lean_Parser_Term_do___elambda__1___closed__4();
+lean_mark_persistent(l_Lean_Parser_Term_do___elambda__1___closed__4);
+l_Lean_Parser_Term_do___elambda__1___closed__5 = _init_l_Lean_Parser_Term_do___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Term_do___elambda__1___closed__5);
l_Lean_Parser_Term_do___closed__1 = _init_l_Lean_Parser_Term_do___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_do___closed__1);
l_Lean_Parser_Term_do___closed__2 = _init_l_Lean_Parser_Term_do___closed__2();
@@ -32165,6 +17565,10 @@ l_Lean_Parser_Term_doElem_quot___elambda__1___closed__9 = _init_l_Lean_Parser_Te
lean_mark_persistent(l_Lean_Parser_Term_doElem_quot___elambda__1___closed__9);
l_Lean_Parser_Term_doElem_quot___elambda__1___closed__10 = _init_l_Lean_Parser_Term_doElem_quot___elambda__1___closed__10();
lean_mark_persistent(l_Lean_Parser_Term_doElem_quot___elambda__1___closed__10);
+l_Lean_Parser_Term_doElem_quot___elambda__1___closed__11 = _init_l_Lean_Parser_Term_doElem_quot___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_doElem_quot___elambda__1___closed__11);
+l_Lean_Parser_Term_doElem_quot___elambda__1___closed__12 = _init_l_Lean_Parser_Term_doElem_quot___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Term_doElem_quot___elambda__1___closed__12);
l_Lean_Parser_Term_doElem_quot___closed__1 = _init_l_Lean_Parser_Term_doElem_quot___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_doElem_quot___closed__1);
l_Lean_Parser_Term_doElem_quot___closed__2 = _init_l_Lean_Parser_Term_doElem_quot___closed__2();
diff --git a/stage0/stdlib/Lean/Parser/Extension.c b/stage0/stdlib/Lean/Parser/Extension.c
index 470d3f842b..27baf32de8 100644
--- a/stage0/stdlib/Lean/Parser/Extension.c
+++ b/stage0/stdlib/Lean/Parser/Extension.c
@@ -18,6 +18,7 @@ lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1658____clo
lean_object* l_Lean_Parser_declareLeadingBuiltinParser___closed__2;
lean_object* l_Lean_Parser_builtinTokenTable;
lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_updateBuiltinTokens_match__1(lean_object*);
+extern lean_object* l_Lean_Parser_Lean_Parser_Basic___instance__9___closed__1;
lean_object* l_Array_iterateMAux___main___at___private_Lean_Parser_Extension_0__Lean_Parser_addParserCategoryCore___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_ParserAttribute_add_match__1(lean_object*);
size_t l_USize_add(size_t, size_t);
@@ -60,7 +61,6 @@ lean_object* l_IO_mkRef___at_Lean_Parser_mkParserAttributeHooks___spec__1(lean_o
uint8_t l_Lean_Name_quickLt(lean_object*, lean_object*);
uint8_t lean_name_eq(lean_object*, lean_object*);
extern lean_object* l_Lean_Parser_charLit;
-lean_object* l_Lean_Parser_trailingLoop___main(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_mkParserOfConstantAux___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_addTokenConfig_match__1(lean_object*);
lean_object* l_Lean_Parser_registerBuiltinParserAttribute___closed__1;
@@ -122,6 +122,7 @@ extern lean_object* l_String_splitAux___main___closed__1;
lean_object* l_Lean_Parser_categoryParserFnImpl(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_PersistentHashMap_find_x3f___at_Lean_Parser_getCategory___spec__1___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Parser_checkPrecFn___boxed(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_leadingParserAux___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_PersistentHashMap_foldlM___at_Lean_Parser_getSyntaxNodeKinds___spec__1___boxed(lean_object*, lean_object*);
lean_object* l_IO_mkRef___at_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_22____spec__1(lean_object*, lean_object*);
size_t l_USize_shiftRight(size_t, size_t);
@@ -174,7 +175,6 @@ lean_object* l_List_forM___main___at_Lean_Parser_runParserAttributeHooks___spec_
lean_object* l_Lean_Parser_setCategoryParserFnRef(lean_object*);
lean_object* l_Lean_Parser_throwUnknownParserCategory(lean_object*);
lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_ParserAttribute_add___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-extern lean_object* l_Lean_Parser_PrattParsingTables_inhabited___closed__1;
extern lean_object* l_Lean_KeyedDeclsAttribute_init___rarg___lambda__4___closed__2;
lean_object* l_Lean_Parser_throwUnknownParserCategory___rarg___closed__1;
lean_object* l_Std_PersistentHashMap_containsAux___at___private_Lean_Parser_Extension_0__Lean_Parser_addParserCategoryCore___spec__2___boxed(lean_object*, lean_object*, lean_object*);
@@ -247,7 +247,6 @@ extern lean_object* l_Lean_Parser_Trie_Lean_Data_Trie___instance__1___closed__1;
lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_BuiltinParserAttribute_add___lambda__2___closed__1;
uint8_t l_Std_PersistentHashMap_contains___at___private_Lean_Parser_Extension_0__Lean_Parser_addParserCategoryCore___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1602____lambda__2(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_whitespace___main(lean_object*, lean_object*);
lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_addTrailingParserAux_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_parserExtension___closed__4;
lean_object* lean_array_get(lean_object*, lean_object*, lean_object*);
@@ -255,13 +254,13 @@ uint8_t l_Lean_Parser_tryAnti(lean_object*, lean_object*);
lean_object* l_Lean_Parser_optionaInfo(lean_object*);
lean_object* l_Array_iterateMAux___main___at___private_Lean_Parser_Extension_0__Lean_Parser_ParserExtension_addImported___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_BuiltinParserAttribute_add(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_peekToken(lean_object*, lean_object*);
lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_registerParserAttributeImplBuilder___lambda__1(lean_object*);
lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1867____closed__5;
lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_BuiltinParserAttribute_add___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Parser_nameLit;
lean_object* l_List_lengthAux___main___rarg(lean_object*, lean_object*);
-lean_object* l_Lean_Parser_peekTokenAux(lean_object*, lean_object*);
lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_registerParserAttributeImplBuilder___closed__2;
lean_object* l_Lean_Parser_parserExtension___elambda__4(lean_object*, lean_object*);
lean_object* l_Std_PersistentHashMap_foldlMAux___at_Lean_Parser_getSyntaxNodeKinds___spec__2(lean_object*, lean_object*);
@@ -332,13 +331,13 @@ lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1602____clo
size_t l_USize_mul(size_t, size_t);
lean_object* l_Lean_FileMap_ofString(lean_object*);
lean_object* l_Lean_Parser_addParser_match__1(lean_object*);
+lean_object* l_Lean_Parser_whitespace(lean_object*, lean_object*);
lean_object* l_List_redLength___main___rarg(lean_object*);
lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_ParserAttribute_add___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_getTokenTable(lean_object*);
lean_object* l_List_foldl___main___at___private_Lean_Parser_Extension_0__Lean_Parser_addTrailingParserAux___spec__2(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_getParserPriority___closed__2;
uint8_t l_Std_PersistentHashMap_containsAtAux___at_Lean_Parser_isValidSyntaxNodeKind___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_ParserState_restore(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1602____lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_isValidSyntaxNodeKind___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1658____lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -373,6 +372,7 @@ lean_object* l_Lean_Parser_compileParserDescr_visit(lean_object*, lean_object*,
lean_object* l_Lean_Parser_registerParserCategory(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*);
lean_object* l_IO_ofExcept___at___private_Lean_Parser_Extension_0__Lean_Parser_ParserExtension_addImported___spec__1(lean_object*, lean_object*);
extern lean_object* l_Lean_identKind;
+lean_object* l_Lean_Parser_trailingLoop(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_ParserExtensionAddEntry(lean_object*, lean_object*);
lean_object* l_List_forM___main___at___private_Lean_Parser_Extension_0__Lean_Parser_ParserAttribute_add___spec__1___closed__3;
extern lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1;
@@ -391,7 +391,6 @@ extern lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda_
lean_object* l_Lean_Parser_notFollowedByCategoryTokenFn_match__2(lean_object*);
lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_ParserAttribute_add___rarg(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Syntax_hasArgs(lean_object*);
-lean_object* l_Lean_Parser_mergeOrElseErrors(lean_object*, lean_object*, lean_object*, uint8_t);
lean_object* l_Lean_Parser_tryFn(lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Parser_isParserCategory(lean_object*, lean_object*);
lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_BuiltinParserAttribute_add___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -419,6 +418,7 @@ lean_object* l_Lean_Parser_addLeadingParser_match__1(lean_object*);
lean_object* l_Lean_Parser_symbolInfo(lean_object*);
lean_object* l_Lean_Parser_parserAttributeHooks;
lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_updateBuiltinTokens(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_orelseFnCore(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*);
extern lean_object* l_Lean_Parser_epsilonInfo;
lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_registerParserAttributeImplBuilder___closed__3;
lean_object* l_Lean_Parser_notFollowedByTermToken;
@@ -1568,7 +1568,7 @@ lean_inc(x_6);
x_7 = lean_ctor_get(x_5, 1);
lean_inc(x_7);
lean_dec(x_5);
-x_8 = l_Lean_Parser_PrattParsingTables_inhabited___closed__1;
+x_8 = l_Lean_Parser_Lean_Parser_Basic___instance__9___closed__1;
x_9 = lean_alloc_ctor(0, 1, 1);
lean_ctor_set(x_9, 0, x_8);
lean_ctor_set_uint8(x_9, sizeof(void*)*1, x_2);
@@ -3631,7 +3631,7 @@ x_55 = lean_ctor_get(x_1, 1);
lean_dec(x_55);
x_56 = lean_ctor_get(x_1, 0);
lean_dec(x_56);
-x_57 = l_Lean_Parser_PrattParsingTables_inhabited___closed__1;
+x_57 = l_Lean_Parser_Lean_Parser_Basic___instance__9___closed__1;
x_58 = lean_alloc_ctor(0, 1, 1);
lean_ctor_set(x_58, 0, x_57);
lean_ctor_set_uint8(x_58, sizeof(void*)*1, x_46);
@@ -3651,7 +3651,7 @@ else
{
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_dec(x_1);
-x_62 = l_Lean_Parser_PrattParsingTables_inhabited___closed__1;
+x_62 = l_Lean_Parser_Lean_Parser_Basic___instance__9___closed__1;
x_63 = lean_alloc_ctor(0, 1, 1);
lean_ctor_set(x_63, 0, x_62);
lean_ctor_set_uint8(x_63, sizeof(void*)*1, x_46);
@@ -8777,7 +8777,7 @@ x_60 = lean_ctor_get(x_5, 0);
x_61 = lean_ctor_get(x_5, 1);
x_62 = lean_ctor_get(x_5, 2);
x_63 = lean_ctor_get(x_5, 3);
-x_64 = l_Lean_Parser_PrattParsingTables_inhabited___closed__1;
+x_64 = l_Lean_Parser_Lean_Parser_Basic___instance__9___closed__1;
x_65 = lean_alloc_ctor(0, 1, 1);
lean_ctor_set(x_65, 0, x_64);
lean_ctor_set_uint8(x_65, sizeof(void*)*1, x_58);
@@ -8838,7 +8838,7 @@ lean_inc(x_77);
lean_inc(x_76);
lean_inc(x_75);
lean_dec(x_5);
-x_79 = l_Lean_Parser_PrattParsingTables_inhabited___closed__1;
+x_79 = l_Lean_Parser_Lean_Parser_Basic___instance__9___closed__1;
x_80 = lean_alloc_ctor(0, 1, 1);
lean_ctor_set(x_80, 0, x_79);
lean_ctor_set_uint8(x_80, sizeof(void*)*1, x_58);
@@ -10075,17 +10075,17 @@ lean_dec(x_8);
if (x_5 == 0)
{
x_10 = x_1;
-goto block_43;
+goto block_34;
}
else
{
-lean_object* x_44;
+lean_object* x_35;
lean_dec(x_1);
-x_44 = l_Lean_Parser_categoryParserFnImpl___closed__4;
-x_10 = x_44;
-goto block_43;
+x_35 = l_Lean_Parser_categoryParserFnImpl___closed__4;
+x_10 = x_35;
+goto block_34;
}
-block_43:
+block_34:
{
lean_object* x_11;
x_11 = l_Std_PersistentHashMap_find_x3f___at_Lean_Parser_getCategory___spec__1(x_9, x_10);
@@ -10105,7 +10105,7 @@ return x_18;
}
else
{
-lean_object* x_19; lean_object* x_20; uint8_t x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24;
+lean_object* x_19; lean_object* x_20; uint8_t x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26;
x_19 = lean_ctor_get(x_11, 0);
lean_inc(x_19);
lean_dec(x_11);
@@ -10118,103 +10118,62 @@ x_22 = l_Lean_Parser_mkCategoryAntiquotParser(x_10);
x_23 = lean_ctor_get(x_22, 1);
lean_inc(x_23);
lean_dec(x_22);
+x_24 = lean_box(x_21);
+lean_inc(x_20);
+lean_inc(x_10);
+x_25 = lean_alloc_closure((void*)(l_Lean_Parser_leadingParserAux___boxed), 5, 3);
+lean_closure_set(x_25, 0, x_10);
+lean_closure_set(x_25, 1, x_20);
+lean_closure_set(x_25, 2, x_24);
lean_inc(x_3);
lean_inc(x_2);
-x_24 = l_Lean_Parser_tryAnti(x_2, x_3);
-if (x_24 == 0)
+x_26 = l_Lean_Parser_tryAnti(x_2, x_3);
+if (x_26 == 0)
{
-lean_object* x_25; lean_object* x_26;
+lean_object* x_27; lean_object* x_28;
+lean_dec(x_25);
lean_dec(x_23);
lean_inc(x_2);
lean_inc(x_20);
-x_25 = l_Lean_Parser_leadingParserAux(x_10, x_20, x_21, x_2, x_3);
-x_26 = lean_ctor_get(x_25, 3);
-lean_inc(x_26);
-if (lean_obj_tag(x_26) == 0)
+x_27 = l_Lean_Parser_leadingParserAux(x_10, x_20, x_21, x_2, x_3);
+x_28 = lean_ctor_get(x_27, 3);
+lean_inc(x_28);
+if (lean_obj_tag(x_28) == 0)
{
-lean_object* x_27;
-x_27 = l_Lean_Parser_trailingLoop___main(x_20, x_2, x_25);
-return x_27;
+lean_object* x_29;
+x_29 = l_Lean_Parser_trailingLoop(x_20, x_2, x_27);
+return x_29;
}
else
{
-lean_dec(x_26);
+lean_dec(x_28);
lean_dec(x_20);
lean_dec(x_2);
-return x_25;
+return x_27;
}
}
else
{
-lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
-x_28 = lean_ctor_get(x_3, 0);
-lean_inc(x_28);
-x_29 = lean_array_get_size(x_28);
-lean_dec(x_28);
-x_30 = lean_ctor_get(x_3, 1);
-lean_inc(x_30);
+uint8_t x_30; lean_object* x_31; lean_object* x_32;
+lean_dec(x_10);
+x_30 = 1;
lean_inc(x_2);
-x_31 = lean_apply_2(x_23, x_2, x_3);
+x_31 = l_Lean_Parser_orelseFnCore(x_23, x_25, x_30, x_2, x_3);
x_32 = lean_ctor_get(x_31, 3);
lean_inc(x_32);
if (lean_obj_tag(x_32) == 0)
{
lean_object* x_33;
-lean_dec(x_30);
-lean_dec(x_29);
-lean_dec(x_10);
-x_33 = l_Lean_Parser_trailingLoop___main(x_20, x_2, x_31);
+x_33 = l_Lean_Parser_trailingLoop(x_20, x_2, x_31);
return x_33;
}
else
{
-lean_object* x_34; lean_object* x_35; uint8_t x_36;
-x_34 = lean_ctor_get(x_32, 0);
-lean_inc(x_34);
lean_dec(x_32);
-x_35 = lean_ctor_get(x_31, 1);
-lean_inc(x_35);
-x_36 = lean_nat_dec_eq(x_35, x_30);
-lean_dec(x_35);
-if (x_36 == 0)
-{
-lean_dec(x_34);
-lean_dec(x_30);
-lean_dec(x_29);
lean_dec(x_20);
-lean_dec(x_10);
lean_dec(x_2);
return x_31;
}
-else
-{
-lean_object* x_37; lean_object* x_38; uint8_t x_39; lean_object* x_40; lean_object* x_41;
-lean_inc(x_30);
-x_37 = l_Lean_Parser_ParserState_restore(x_31, x_29, x_30);
-lean_dec(x_29);
-lean_inc(x_2);
-lean_inc(x_20);
-x_38 = l_Lean_Parser_leadingParserAux(x_10, x_20, x_21, x_2, x_37);
-x_39 = 1;
-x_40 = l_Lean_Parser_mergeOrElseErrors(x_38, x_34, x_30, x_39);
-lean_dec(x_30);
-x_41 = lean_ctor_get(x_40, 3);
-lean_inc(x_41);
-if (lean_obj_tag(x_41) == 0)
-{
-lean_object* x_42;
-x_42 = l_Lean_Parser_trailingLoop___main(x_20, x_2, x_40);
-return x_42;
-}
-else
-{
-lean_dec(x_41);
-lean_dec(x_20);
-lean_dec(x_2);
-return x_40;
-}
-}
-}
}
}
}
@@ -10760,7 +10719,7 @@ lean_inc(x_3);
x_5 = l_Lean_Parser_mkInputContext(x_3, x_4);
x_6 = l_Lean_Parser_mkParserContext(x_1, x_5);
x_7 = l_Lean_Parser_mkParserState(x_3);
-x_8 = l_Lean_Parser_whitespace___main(x_6, x_7);
+x_8 = l_Lean_Parser_whitespace(x_6, x_7);
lean_inc(x_6);
x_9 = l_Lean_Parser_categoryParserFnImpl(x_2, x_6, x_8);
x_10 = lean_ctor_get(x_9, 3);
@@ -14388,334 +14347,133 @@ return x_15;
}
else
{
-uint8_t x_16;
-x_16 = !lean_is_exclusive(x_8);
-if (x_16 == 0)
-{
-lean_object* x_17; lean_object* x_18; lean_object* x_47; lean_object* x_48; lean_object* x_49; uint8_t x_50;
-x_17 = lean_ctor_get(x_8, 0);
-x_47 = lean_ctor_get(x_3, 2);
-lean_inc(x_47);
-x_48 = lean_ctor_get(x_47, 0);
-lean_inc(x_48);
-x_49 = lean_ctor_get(x_3, 1);
-lean_inc(x_49);
-x_50 = lean_nat_dec_eq(x_48, x_49);
-lean_dec(x_49);
-lean_dec(x_48);
-if (x_50 == 0)
-{
-lean_object* x_51;
-lean_dec(x_47);
-lean_free_object(x_8);
+lean_object* x_16; lean_object* x_17; lean_object* x_18;
+x_16 = lean_ctor_get(x_8, 0);
+lean_inc(x_16);
+lean_dec(x_8);
lean_inc(x_2);
-x_51 = l_Lean_Parser_peekTokenAux(x_2, x_3);
-x_18 = x_51;
-goto block_46;
+x_17 = l_Lean_Parser_peekToken(x_2, x_3);
+x_18 = lean_ctor_get(x_17, 1);
+lean_inc(x_18);
+if (lean_obj_tag(x_18) == 0)
+{
+lean_object* x_19;
+lean_dec(x_16);
+lean_dec(x_2);
+lean_dec(x_1);
+x_19 = lean_ctor_get(x_17, 0);
+lean_inc(x_19);
+lean_dec(x_17);
+return x_19;
}
else
{
-lean_object* x_52; lean_object* x_53;
-x_52 = lean_ctor_get(x_47, 2);
-lean_inc(x_52);
-lean_dec(x_47);
-lean_ctor_set(x_8, 0, x_52);
-x_53 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_53, 0, x_3);
-lean_ctor_set(x_53, 1, x_8);
-x_18 = x_53;
-goto block_46;
-}
-block_46:
-{
-lean_object* x_19;
-x_19 = lean_ctor_get(x_18, 1);
-lean_inc(x_19);
-if (lean_obj_tag(x_19) == 0)
-{
lean_object* x_20;
-lean_dec(x_17);
-lean_dec(x_2);
-lean_dec(x_1);
x_20 = lean_ctor_get(x_18, 0);
lean_inc(x_20);
lean_dec(x_18);
-return x_20;
-}
-else
+if (lean_obj_tag(x_20) == 2)
{
-lean_object* x_21;
-x_21 = lean_ctor_get(x_19, 0);
-lean_inc(x_21);
-lean_dec(x_19);
-if (lean_obj_tag(x_21) == 2)
-{
-uint8_t x_22;
-x_22 = lean_ctor_get_uint8(x_2, sizeof(void*)*6);
+uint8_t x_21;
+x_21 = lean_ctor_get_uint8(x_2, sizeof(void*)*6);
lean_dec(x_2);
-if (x_22 == 0)
+if (x_21 == 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;
-x_23 = lean_ctor_get(x_18, 0);
-lean_inc(x_23);
-lean_dec(x_18);
-x_24 = lean_ctor_get(x_21, 1);
-lean_inc(x_24);
-lean_dec(x_21);
-x_25 = lean_ctor_get(x_17, 0);
-lean_inc(x_25);
+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;
+x_22 = lean_ctor_get(x_17, 0);
+lean_inc(x_22);
lean_dec(x_17);
-x_26 = lean_ctor_get(x_25, 0);
-lean_inc(x_26);
+x_23 = lean_ctor_get(x_20, 1);
+lean_inc(x_23);
+lean_dec(x_20);
+x_24 = lean_ctor_get(x_16, 0);
+lean_inc(x_24);
+lean_dec(x_16);
+x_25 = lean_ctor_get(x_24, 0);
+lean_inc(x_25);
+lean_dec(x_24);
+x_26 = lean_box(0);
+x_27 = lean_name_mk_string(x_26, x_23);
+x_28 = l_Std_RBNode_find___at_Lean_Parser_notFollowedByCategoryTokenFn___spec__1(x_25, x_27);
+lean_dec(x_27);
lean_dec(x_25);
-x_27 = lean_box(0);
-x_28 = lean_name_mk_string(x_27, x_24);
-x_29 = l_Std_RBNode_find___at_Lean_Parser_notFollowedByCategoryTokenFn___spec__1(x_26, x_28);
-lean_dec(x_28);
-lean_dec(x_26);
-if (lean_obj_tag(x_29) == 0)
+if (lean_obj_tag(x_28) == 0)
{
lean_dec(x_1);
-return x_23;
+return x_22;
}
else
{
-lean_object* x_30; lean_object* x_31; lean_object* x_32;
-lean_dec(x_29);
-x_30 = l_System_FilePath_dirName___closed__1;
-x_31 = l_Lean_Name_toStringWithSep___main(x_30, x_1);
-x_32 = l_Lean_Parser_ParserState_mkUnexpectedError(x_23, x_31);
+lean_object* x_29; lean_object* x_30; lean_object* x_31;
+lean_dec(x_28);
+x_29 = l_System_FilePath_dirName___closed__1;
+x_30 = l_Lean_Name_toStringWithSep___main(x_29, x_1);
+x_31 = l_Lean_Parser_ParserState_mkUnexpectedError(x_22, x_30);
+return x_31;
+}
+}
+else
+{
+lean_object* x_32; lean_object* x_33; lean_object* x_34; uint8_t x_35;
+x_32 = lean_ctor_get(x_17, 0);
+lean_inc(x_32);
+lean_dec(x_17);
+x_33 = lean_ctor_get(x_20, 1);
+lean_inc(x_33);
+lean_dec(x_20);
+x_34 = l_Lean_Parser_mkAntiquot___closed__8;
+x_35 = lean_string_dec_eq(x_33, x_34);
+if (x_35 == 0)
+{
+lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40;
+x_36 = lean_ctor_get(x_16, 0);
+lean_inc(x_36);
+lean_dec(x_16);
+x_37 = lean_ctor_get(x_36, 0);
+lean_inc(x_37);
+lean_dec(x_36);
+x_38 = lean_box(0);
+x_39 = lean_name_mk_string(x_38, x_33);
+x_40 = l_Std_RBNode_find___at_Lean_Parser_notFollowedByCategoryTokenFn___spec__1(x_37, x_39);
+lean_dec(x_39);
+lean_dec(x_37);
+if (lean_obj_tag(x_40) == 0)
+{
+lean_dec(x_1);
+return x_32;
+}
+else
+{
+lean_object* x_41; lean_object* x_42; lean_object* x_43;
+lean_dec(x_40);
+x_41 = l_System_FilePath_dirName___closed__1;
+x_42 = l_Lean_Name_toStringWithSep___main(x_41, x_1);
+x_43 = l_Lean_Parser_ParserState_mkUnexpectedError(x_32, x_42);
+return x_43;
+}
+}
+else
+{
+lean_dec(x_33);
+lean_dec(x_16);
+lean_dec(x_1);
return x_32;
}
}
-else
-{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; uint8_t x_36;
-x_33 = lean_ctor_get(x_18, 0);
-lean_inc(x_33);
-lean_dec(x_18);
-x_34 = lean_ctor_get(x_21, 1);
-lean_inc(x_34);
-lean_dec(x_21);
-x_35 = l_Lean_Parser_mkAntiquot___closed__8;
-x_36 = lean_string_dec_eq(x_34, x_35);
-if (x_36 == 0)
-{
-lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41;
-x_37 = lean_ctor_get(x_17, 0);
-lean_inc(x_37);
-lean_dec(x_17);
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_box(0);
-x_40 = lean_name_mk_string(x_39, x_34);
-x_41 = l_Std_RBNode_find___at_Lean_Parser_notFollowedByCategoryTokenFn___spec__1(x_38, x_40);
-lean_dec(x_40);
-lean_dec(x_38);
-if (lean_obj_tag(x_41) == 0)
-{
-lean_dec(x_1);
-return x_33;
}
else
{
-lean_object* x_42; lean_object* x_43; lean_object* x_44;
-lean_dec(x_41);
-x_42 = l_System_FilePath_dirName___closed__1;
-x_43 = l_Lean_Name_toStringWithSep___main(x_42, x_1);
-x_44 = l_Lean_Parser_ParserState_mkUnexpectedError(x_33, x_43);
+lean_object* x_44;
+lean_dec(x_20);
+lean_dec(x_16);
+lean_dec(x_2);
+lean_dec(x_1);
+x_44 = lean_ctor_get(x_17, 0);
+lean_inc(x_44);
+lean_dec(x_17);
return x_44;
}
}
-else
-{
-lean_dec(x_34);
-lean_dec(x_17);
-lean_dec(x_1);
-return x_33;
-}
-}
-}
-else
-{
-lean_object* x_45;
-lean_dec(x_21);
-lean_dec(x_17);
-lean_dec(x_2);
-lean_dec(x_1);
-x_45 = lean_ctor_get(x_18, 0);
-lean_inc(x_45);
-lean_dec(x_18);
-return x_45;
-}
-}
-}
-}
-else
-{
-lean_object* x_54; lean_object* x_55; lean_object* x_84; lean_object* x_85; lean_object* x_86; uint8_t x_87;
-x_54 = lean_ctor_get(x_8, 0);
-lean_inc(x_54);
-lean_dec(x_8);
-x_84 = lean_ctor_get(x_3, 2);
-lean_inc(x_84);
-x_85 = lean_ctor_get(x_84, 0);
-lean_inc(x_85);
-x_86 = lean_ctor_get(x_3, 1);
-lean_inc(x_86);
-x_87 = lean_nat_dec_eq(x_85, x_86);
-lean_dec(x_86);
-lean_dec(x_85);
-if (x_87 == 0)
-{
-lean_object* x_88;
-lean_dec(x_84);
-lean_inc(x_2);
-x_88 = l_Lean_Parser_peekTokenAux(x_2, x_3);
-x_55 = x_88;
-goto block_83;
-}
-else
-{
-lean_object* x_89; lean_object* x_90; lean_object* x_91;
-x_89 = lean_ctor_get(x_84, 2);
-lean_inc(x_89);
-lean_dec(x_84);
-x_90 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_90, 0, x_89);
-x_91 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_91, 0, x_3);
-lean_ctor_set(x_91, 1, x_90);
-x_55 = x_91;
-goto block_83;
-}
-block_83:
-{
-lean_object* x_56;
-x_56 = lean_ctor_get(x_55, 1);
-lean_inc(x_56);
-if (lean_obj_tag(x_56) == 0)
-{
-lean_object* x_57;
-lean_dec(x_54);
-lean_dec(x_2);
-lean_dec(x_1);
-x_57 = lean_ctor_get(x_55, 0);
-lean_inc(x_57);
-lean_dec(x_55);
-return x_57;
-}
-else
-{
-lean_object* x_58;
-x_58 = lean_ctor_get(x_56, 0);
-lean_inc(x_58);
-lean_dec(x_56);
-if (lean_obj_tag(x_58) == 2)
-{
-uint8_t x_59;
-x_59 = lean_ctor_get_uint8(x_2, sizeof(void*)*6);
-lean_dec(x_2);
-if (x_59 == 0)
-{
-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;
-x_60 = lean_ctor_get(x_55, 0);
-lean_inc(x_60);
-lean_dec(x_55);
-x_61 = lean_ctor_get(x_58, 1);
-lean_inc(x_61);
-lean_dec(x_58);
-x_62 = lean_ctor_get(x_54, 0);
-lean_inc(x_62);
-lean_dec(x_54);
-x_63 = lean_ctor_get(x_62, 0);
-lean_inc(x_63);
-lean_dec(x_62);
-x_64 = lean_box(0);
-x_65 = lean_name_mk_string(x_64, x_61);
-x_66 = l_Std_RBNode_find___at_Lean_Parser_notFollowedByCategoryTokenFn___spec__1(x_63, x_65);
-lean_dec(x_65);
-lean_dec(x_63);
-if (lean_obj_tag(x_66) == 0)
-{
-lean_dec(x_1);
-return x_60;
-}
-else
-{
-lean_object* x_67; lean_object* x_68; lean_object* x_69;
-lean_dec(x_66);
-x_67 = l_System_FilePath_dirName___closed__1;
-x_68 = l_Lean_Name_toStringWithSep___main(x_67, x_1);
-x_69 = l_Lean_Parser_ParserState_mkUnexpectedError(x_60, x_68);
-return x_69;
-}
-}
-else
-{
-lean_object* x_70; lean_object* x_71; lean_object* x_72; uint8_t x_73;
-x_70 = lean_ctor_get(x_55, 0);
-lean_inc(x_70);
-lean_dec(x_55);
-x_71 = lean_ctor_get(x_58, 1);
-lean_inc(x_71);
-lean_dec(x_58);
-x_72 = l_Lean_Parser_mkAntiquot___closed__8;
-x_73 = lean_string_dec_eq(x_71, x_72);
-if (x_73 == 0)
-{
-lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78;
-x_74 = lean_ctor_get(x_54, 0);
-lean_inc(x_74);
-lean_dec(x_54);
-x_75 = lean_ctor_get(x_74, 0);
-lean_inc(x_75);
-lean_dec(x_74);
-x_76 = lean_box(0);
-x_77 = lean_name_mk_string(x_76, x_71);
-x_78 = l_Std_RBNode_find___at_Lean_Parser_notFollowedByCategoryTokenFn___spec__1(x_75, x_77);
-lean_dec(x_77);
-lean_dec(x_75);
-if (lean_obj_tag(x_78) == 0)
-{
-lean_dec(x_1);
-return x_70;
-}
-else
-{
-lean_object* x_79; lean_object* x_80; lean_object* x_81;
-lean_dec(x_78);
-x_79 = l_System_FilePath_dirName___closed__1;
-x_80 = l_Lean_Name_toStringWithSep___main(x_79, x_1);
-x_81 = l_Lean_Parser_ParserState_mkUnexpectedError(x_70, x_80);
-return x_81;
-}
-}
-else
-{
-lean_dec(x_71);
-lean_dec(x_54);
-lean_dec(x_1);
-return x_70;
-}
-}
-}
-else
-{
-lean_object* x_82;
-lean_dec(x_58);
-lean_dec(x_54);
-lean_dec(x_2);
-lean_dec(x_1);
-x_82 = lean_ctor_get(x_55, 0);
-lean_inc(x_82);
-lean_dec(x_55);
-return x_82;
-}
-}
-}
-}
}
}
}
diff --git a/stage0/stdlib/Lean/Parser/Extra.c b/stage0/stdlib/Lean/Parser/Extra.c
index b5b8b70259..7ac98e3bcc 100644
--- a/stage0/stdlib/Lean/Parser/Extra.c
+++ b/stage0/stdlib/Lean/Parser/Extra.c
@@ -19,7 +19,6 @@ lean_object* l_Lean_PrettyPrinter_Formatter_indent___boxed(lean_object*, lean_ob
lean_object* l_Lean_PrettyPrinter_Formatter_ppIndent_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_many1Indent_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_ppSpace_parenthesizer(lean_object*);
-extern lean_object* l_Lean_Parser_manyAux___main___closed__1;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_categoryParser_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_andthenInfo(lean_object*, lean_object*);
lean_object* l_Lean_Parser_ParserState_mkError(lean_object*, lean_object*);
@@ -89,6 +88,7 @@ extern lean_object* l_Lean_mkAppStx___closed__4;
lean_object* l_Lean_Parser_mkAntiquot_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_leadingNode_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_antiquotNestedExpr_parenthesizer___closed__1;
+lean_object* l_Lean_Parser_checkColGeFn___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_nodeWithAntiquot_parenthesizer___boxed(lean_object*);
lean_object* l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_mkAntiquot_formatter___closed__4;
@@ -112,7 +112,6 @@ lean_object* l_Lean_Parser_antiquotNestedExpr_parenthesizer___closed__2;
lean_object* l_Lean_Parser_mkAntiquot_parenthesizer___rarg___closed__21;
lean_object* l_Lean_Parser_ppSpace_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_PrettyPrinter_Formatter_ppSpace_formatter___closed__3;
-uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
lean_object* l_Lean_Parser_ppHardSpace_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_charLit_formatter(lean_object*);
lean_object* l_Lean_Parser_charLit_formatter___closed__2;
@@ -195,9 +194,9 @@ lean_object* l_Lean_Parser_mkAntiquot_parenthesizer___rarg___closed__3;
lean_object* l___regBuiltin_Lean_Parser_strLit_formatter___closed__1;
lean_object* l_Lean_Parser_antiquotNestedExpr_formatter___closed__1;
lean_object* l_Lean_Parser_mkAntiquot_formatter___closed__11;
-lean_object* l_Lean_Parser_ParserState_restore(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_commandParser_formatter(lean_object*);
lean_object* l_Lean_Parser_mkAntiquot_parenthesizer___rarg___closed__5;
+lean_object* l_Lean_Parser_manyAux(lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_antiquotExpr_parenthesizer___closed__1;
lean_object* l_Lean_Parser_numLit_parenthesizer___closed__1;
extern lean_object* l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1;
@@ -215,7 +214,6 @@ lean_object* l_Lean_Parser_mkAntiquot_parenthesizer___boxed(lean_object*);
lean_object* l_Lean_Parser_ppLine_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_mkAntiquot_parenthesizer___rarg___closed__10;
lean_object* l_Lean_Parser_nodeWithAntiquot_parenthesizer___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_manyIndent___spec__1(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Parser_ident___elambda__1___closed__1;
lean_object* l_Lean_Parser_commandParser_formatter___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkNoWsBefore_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
@@ -233,8 +231,6 @@ lean_object* l___regBuiltin_Lean_Parser_nameLit_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_ppGroup_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_commandParser_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3127____closed__4;
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_many1Indent___spec__2(lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_many1Indent___spec__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_mkAntiquot_parenthesizer___rarg___closed__12;
lean_object* l_Lean_Parser_mkAntiquot_formatter___closed__7;
lean_object* l___regBuiltin_Lean_Parser_ppLine_parenthesizer(lean_object*);
@@ -243,6 +239,7 @@ lean_object* l___regBuiltin_Lean_Parser_numLit_formatter___closed__2;
lean_object* l_Lean_PrettyPrinter_Formatter_ppDedent_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_charLit_parenthesizer___closed__1;
lean_object* l_Lean_Parser_charLit_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_many1Indent___lambda__1___closed__1;
lean_object* l_Lean_Parser_charLit_parenthesizer___closed__2;
extern lean_object* l___private_Init_Util_1__mkPanicMessage___closed__2;
lean_object* l_Lean_Parser_notSymbol_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -254,7 +251,6 @@ lean_object* l___regBuiltin_Lean_Parser_charLit_parenthesizer(lean_object*);
lean_object* l___regBuiltin_Lean_Parser_ppLine_parenthesizer___closed__1;
lean_object* l_Lean_Parser_notSymbol_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Parser_mkAntiquot___closed__19;
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_many1Indent___spec__1___closed__1;
lean_object* l_Lean_Parser_leadingNode_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_nameLit_formatter___closed__1;
lean_object* l_Lean_Parser_antiquotExpr_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -292,10 +288,10 @@ lean_object* l_Lean_Parser_notSymbol_parenthesizer(lean_object*, lean_object*, l
lean_object* l_Lean_Parser_antiquotExpr_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_charLit_parenthesizer___closed__1;
lean_object* l_Lean_Parser_numLit_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_ParserState_mkUnexpectedError(lean_object*, lean_object*);
lean_object* l_Lean_PrettyPrinter_Formatter_ppHardSpace_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_mkAntiquot_parenthesizer___rarg___closed__9;
lean_object* l_Lean_Parser_ident_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_many1Indent___closed__1;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_many_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Parser_Parser_inhabited___closed__1;
lean_object* l_Lean_PrettyPrinter_Formatter_group(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -322,6 +318,7 @@ lean_object* l_Lean_PrettyPrinter_Parenthesizer_node_parenthesizer(lean_object*,
lean_object* l_Lean_Parser_ppLine_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_PrettyPrinter_Formatter_categoryParser_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Parser_mkAntiquot___closed__1;
+lean_object* l_Lean_Parser_andthenFn(lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* _init_l_Lean_Parser_leadingNode_formatter___closed__1() {
_start:
{
@@ -1962,7 +1959,7 @@ x_9 = l_Lean_PrettyPrinter_Parenthesizer_many_parenthesizer(x_8, x_2, x_3, x_4,
return x_9;
}
}
-static lean_object* _init_l_Lean_Parser_manyAux___main___at_Lean_Parser_many1Indent___spec__1___closed__1() {
+static lean_object* _init_l_Lean_Parser_many1Indent___lambda__1___closed__1() {
_start:
{
lean_object* x_1;
@@ -1970,296 +1967,6 @@ x_1 = lean_mk_string("irrelevant");
return x_1;
}
}
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_many1Indent___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_24;
-x_4 = lean_ctor_get(x_1, 1);
-lean_inc(x_4);
-x_5 = lean_ctor_get(x_3, 0);
-lean_inc(x_5);
-x_6 = lean_array_get_size(x_5);
-lean_dec(x_5);
-x_7 = lean_ctor_get(x_3, 1);
-lean_inc(x_7);
-x_24 = lean_ctor_get(x_2, 4);
-lean_inc(x_24);
-if (lean_obj_tag(x_24) == 0)
-{
-x_8 = x_3;
-goto block_23;
-}
-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; uint8_t x_31;
-x_25 = lean_ctor_get(x_24, 0);
-lean_inc(x_25);
-lean_dec(x_24);
-x_26 = lean_ctor_get(x_2, 0);
-lean_inc(x_26);
-x_27 = lean_ctor_get(x_26, 2);
-lean_inc(x_27);
-lean_dec(x_26);
-lean_inc(x_7);
-x_28 = l_Lean_FileMap_toPosition(x_27, x_7);
-lean_dec(x_27);
-x_29 = lean_ctor_get(x_25, 1);
-lean_inc(x_29);
-lean_dec(x_25);
-x_30 = lean_ctor_get(x_28, 1);
-lean_inc(x_30);
-lean_dec(x_28);
-x_31 = lean_nat_dec_le(x_29, x_30);
-lean_dec(x_30);
-lean_dec(x_29);
-if (x_31 == 0)
-{
-lean_object* x_32; lean_object* x_33;
-x_32 = l_Lean_Parser_manyAux___main___at_Lean_Parser_many1Indent___spec__1___closed__1;
-x_33 = l_Lean_Parser_ParserState_mkError(x_3, x_32);
-x_8 = x_33;
-goto block_23;
-}
-else
-{
-x_8 = x_3;
-goto block_23;
-}
-}
-block_23:
-{
-lean_object* x_9;
-x_9 = lean_ctor_get(x_8, 3);
-lean_inc(x_9);
-if (lean_obj_tag(x_9) == 0)
-{
-lean_object* x_10; lean_object* x_11;
-lean_inc(x_2);
-x_10 = lean_apply_2(x_4, x_2, x_8);
-x_11 = lean_ctor_get(x_10, 3);
-lean_inc(x_11);
-if (lean_obj_tag(x_11) == 0)
-{
-lean_object* x_12; uint8_t x_13;
-lean_dec(x_6);
-x_12 = lean_ctor_get(x_10, 1);
-lean_inc(x_12);
-x_13 = lean_nat_dec_eq(x_7, x_12);
-lean_dec(x_12);
-lean_dec(x_7);
-if (x_13 == 0)
-{
-x_3 = x_10;
-goto _start;
-}
-else
-{
-lean_object* x_15; lean_object* x_16;
-lean_dec(x_2);
-lean_dec(x_1);
-x_15 = l_Lean_Parser_manyAux___main___closed__1;
-x_16 = l_Lean_Parser_ParserState_mkUnexpectedError(x_10, x_15);
-return x_16;
-}
-}
-else
-{
-lean_object* x_17; uint8_t x_18;
-lean_dec(x_11);
-lean_dec(x_2);
-lean_dec(x_1);
-x_17 = lean_ctor_get(x_10, 1);
-lean_inc(x_17);
-x_18 = lean_nat_dec_eq(x_7, x_17);
-lean_dec(x_17);
-if (x_18 == 0)
-{
-lean_dec(x_7);
-lean_dec(x_6);
-return x_10;
-}
-else
-{
-lean_object* x_19;
-x_19 = l_Lean_Parser_ParserState_restore(x_10, x_6, x_7);
-lean_dec(x_6);
-return x_19;
-}
-}
-}
-else
-{
-lean_object* x_20; uint8_t x_21;
-lean_dec(x_9);
-lean_dec(x_4);
-lean_dec(x_2);
-lean_dec(x_1);
-x_20 = lean_ctor_get(x_8, 1);
-lean_inc(x_20);
-x_21 = lean_nat_dec_eq(x_7, x_20);
-lean_dec(x_20);
-if (x_21 == 0)
-{
-lean_dec(x_7);
-lean_dec(x_6);
-return x_8;
-}
-else
-{
-lean_object* x_22;
-x_22 = l_Lean_Parser_ParserState_restore(x_8, x_6, x_7);
-lean_dec(x_6);
-return x_22;
-}
-}
-}
-}
-}
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_many1Indent___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_24;
-x_4 = lean_ctor_get(x_1, 1);
-lean_inc(x_4);
-x_5 = lean_ctor_get(x_3, 0);
-lean_inc(x_5);
-x_6 = lean_array_get_size(x_5);
-lean_dec(x_5);
-x_7 = lean_ctor_get(x_3, 1);
-lean_inc(x_7);
-x_24 = lean_ctor_get(x_2, 4);
-lean_inc(x_24);
-if (lean_obj_tag(x_24) == 0)
-{
-x_8 = x_3;
-goto block_23;
-}
-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; uint8_t x_31;
-x_25 = lean_ctor_get(x_24, 0);
-lean_inc(x_25);
-lean_dec(x_24);
-x_26 = lean_ctor_get(x_2, 0);
-lean_inc(x_26);
-x_27 = lean_ctor_get(x_26, 2);
-lean_inc(x_27);
-lean_dec(x_26);
-lean_inc(x_7);
-x_28 = l_Lean_FileMap_toPosition(x_27, x_7);
-lean_dec(x_27);
-x_29 = lean_ctor_get(x_25, 1);
-lean_inc(x_29);
-lean_dec(x_25);
-x_30 = lean_ctor_get(x_28, 1);
-lean_inc(x_30);
-lean_dec(x_28);
-x_31 = lean_nat_dec_le(x_29, x_30);
-lean_dec(x_30);
-lean_dec(x_29);
-if (x_31 == 0)
-{
-lean_object* x_32; lean_object* x_33;
-x_32 = l_Lean_Parser_manyAux___main___at_Lean_Parser_many1Indent___spec__1___closed__1;
-x_33 = l_Lean_Parser_ParserState_mkError(x_3, x_32);
-x_8 = x_33;
-goto block_23;
-}
-else
-{
-x_8 = x_3;
-goto block_23;
-}
-}
-block_23:
-{
-lean_object* x_9;
-x_9 = lean_ctor_get(x_8, 3);
-lean_inc(x_9);
-if (lean_obj_tag(x_9) == 0)
-{
-lean_object* x_10; lean_object* x_11;
-lean_inc(x_2);
-x_10 = lean_apply_2(x_4, x_2, x_8);
-x_11 = lean_ctor_get(x_10, 3);
-lean_inc(x_11);
-if (lean_obj_tag(x_11) == 0)
-{
-lean_object* x_12; uint8_t x_13;
-lean_dec(x_6);
-x_12 = lean_ctor_get(x_10, 1);
-lean_inc(x_12);
-x_13 = lean_nat_dec_eq(x_7, x_12);
-lean_dec(x_12);
-lean_dec(x_7);
-if (x_13 == 0)
-{
-x_3 = x_10;
-goto _start;
-}
-else
-{
-lean_object* x_15; lean_object* x_16;
-lean_dec(x_2);
-lean_dec(x_1);
-x_15 = l_Lean_Parser_manyAux___main___closed__1;
-x_16 = l_Lean_Parser_ParserState_mkUnexpectedError(x_10, x_15);
-return x_16;
-}
-}
-else
-{
-lean_object* x_17; uint8_t x_18;
-lean_dec(x_11);
-lean_dec(x_2);
-lean_dec(x_1);
-x_17 = lean_ctor_get(x_10, 1);
-lean_inc(x_17);
-x_18 = lean_nat_dec_eq(x_7, x_17);
-lean_dec(x_17);
-if (x_18 == 0)
-{
-lean_dec(x_7);
-lean_dec(x_6);
-return x_10;
-}
-else
-{
-lean_object* x_19;
-x_19 = l_Lean_Parser_ParserState_restore(x_10, x_6, x_7);
-lean_dec(x_6);
-return x_19;
-}
-}
-}
-else
-{
-lean_object* x_20; uint8_t x_21;
-lean_dec(x_9);
-lean_dec(x_4);
-lean_dec(x_2);
-lean_dec(x_1);
-x_20 = lean_ctor_get(x_8, 1);
-lean_inc(x_20);
-x_21 = lean_nat_dec_eq(x_7, x_20);
-lean_dec(x_20);
-if (x_21 == 0)
-{
-lean_dec(x_7);
-lean_dec(x_6);
-return x_8;
-}
-else
-{
-lean_object* x_22;
-x_22 = l_Lean_Parser_ParserState_restore(x_8, x_6, x_7);
-lean_dec(x_6);
-return x_22;
-}
-}
-}
-}
-}
lean_object* l_Lean_Parser_many1Indent___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
@@ -2267,201 +1974,324 @@ uint8_t x_5;
x_5 = !lean_is_exclusive(x_3);
if (x_5 == 0)
{
-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; uint8_t x_15;
+lean_object* x_6; lean_object* x_7; uint8_t x_8;
x_6 = lean_ctor_get(x_3, 0);
x_7 = lean_ctor_get(x_3, 4);
lean_dec(x_7);
-x_8 = lean_ctor_get(x_6, 2);
-lean_inc(x_8);
-x_9 = lean_ctor_get(x_4, 1);
-lean_inc(x_9);
-x_10 = l_Lean_FileMap_toPosition(x_8, x_9);
-lean_dec(x_8);
-lean_inc(x_10);
-x_11 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_11, 0, x_10);
-lean_ctor_set(x_3, 4, x_11);
-x_12 = lean_ctor_get(x_4, 0);
-lean_inc(x_12);
-x_13 = lean_array_get_size(x_12);
-lean_dec(x_12);
-x_14 = lean_ctor_get(x_10, 1);
-lean_inc(x_14);
-lean_dec(x_10);
-x_15 = lean_nat_dec_le(x_14, x_14);
-lean_dec(x_14);
-if (x_15 == 0)
+x_8 = !lean_is_exclusive(x_6);
+if (x_8 == 0)
{
-lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
-lean_dec(x_3);
+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; lean_object* x_23; uint8_t x_24;
+x_9 = lean_ctor_get(x_6, 2);
+x_10 = lean_ctor_get(x_4, 1);
+lean_inc(x_10);
+x_11 = l_Lean_FileMap_toPosition(x_9, x_10);
+lean_inc(x_11);
+x_12 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_12, 0, x_11);
+lean_ctor_set(x_3, 4, x_12);
+x_13 = lean_ctor_get(x_4, 0);
+lean_inc(x_13);
+x_14 = lean_array_get_size(x_13);
+lean_dec(x_13);
+x_23 = lean_ctor_get(x_11, 1);
+lean_inc(x_23);
+lean_dec(x_11);
+x_24 = lean_nat_dec_le(x_23, x_23);
+lean_dec(x_23);
+if (x_24 == 0)
+{
+lean_object* x_25; lean_object* x_26;
lean_dec(x_2);
-lean_dec(x_1);
-x_16 = l_Lean_Parser_manyAux___main___at_Lean_Parser_many1Indent___spec__1___closed__1;
-x_17 = l_Lean_Parser_ParserState_mkError(x_4, x_16);
+x_25 = l_Lean_Parser_many1Indent___lambda__1___closed__1;
+x_26 = l_Lean_Parser_ParserState_mkError(x_4, x_25);
+x_15 = x_26;
+goto block_22;
+}
+else
+{
+lean_object* x_27;
+x_27 = lean_ctor_get(x_4, 3);
+lean_inc(x_27);
+if (lean_obj_tag(x_27) == 0)
+{
+lean_object* x_28;
+lean_inc(x_3);
+x_28 = lean_apply_2(x_2, x_3, x_4);
+x_15 = x_28;
+goto block_22;
+}
+else
+{
+lean_dec(x_27);
+lean_dec(x_2);
+x_15 = x_4;
+goto block_22;
+}
+}
+block_22:
+{
+lean_object* x_16;
+x_16 = lean_ctor_get(x_15, 3);
+lean_inc(x_16);
+if (lean_obj_tag(x_16) == 0)
+{
+lean_object* x_17; lean_object* x_18; lean_object* x_19;
+x_17 = l_Lean_Parser_manyAux(x_1, x_3, x_15);
x_18 = l_Lean_nullKind;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_13);
+x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_14);
return x_19;
}
else
{
-lean_object* x_20;
-x_20 = lean_ctor_get(x_4, 3);
-lean_inc(x_20);
-if (lean_obj_tag(x_20) == 0)
-{
-lean_object* x_21; lean_object* x_22;
-lean_inc(x_3);
-x_21 = lean_apply_2(x_1, x_3, x_4);
-x_22 = lean_ctor_get(x_21, 3);
-lean_inc(x_22);
-if (lean_obj_tag(x_22) == 0)
-{
-lean_object* x_23; lean_object* x_24; lean_object* x_25;
-x_23 = l_Lean_Parser_manyAux___main___at_Lean_Parser_many1Indent___spec__2(x_2, x_3, x_21);
-x_24 = l_Lean_nullKind;
-x_25 = l_Lean_Parser_ParserState_mkNode(x_23, x_24, x_13);
-return x_25;
-}
-else
-{
-lean_object* x_26; lean_object* x_27;
-lean_dec(x_22);
+lean_object* x_20; lean_object* x_21;
+lean_dec(x_16);
lean_dec(x_3);
-lean_dec(x_2);
-x_26 = l_Lean_nullKind;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_21, x_26, x_13);
-return x_27;
-}
-}
-else
-{
-lean_object* x_28; lean_object* x_29;
-lean_dec(x_20);
-lean_dec(x_3);
-lean_dec(x_2);
lean_dec(x_1);
-x_28 = l_Lean_nullKind;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_4, x_28, x_13);
-return x_29;
+x_20 = l_Lean_nullKind;
+x_21 = l_Lean_Parser_ParserState_mkNode(x_15, x_20, x_14);
+return x_21;
}
}
}
else
{
-lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; uint8_t 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;
-x_30 = lean_ctor_get(x_3, 0);
-x_31 = lean_ctor_get(x_3, 1);
-x_32 = lean_ctor_get(x_3, 2);
-x_33 = lean_ctor_get(x_3, 3);
-x_34 = lean_ctor_get_uint8(x_3, sizeof(void*)*6);
-x_35 = lean_ctor_get(x_3, 5);
-lean_inc(x_35);
-lean_inc(x_33);
-lean_inc(x_32);
+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_46; uint8_t x_47;
+x_29 = lean_ctor_get(x_6, 0);
+x_30 = lean_ctor_get(x_6, 1);
+x_31 = lean_ctor_get(x_6, 2);
lean_inc(x_31);
lean_inc(x_30);
-lean_dec(x_3);
-x_36 = lean_ctor_get(x_30, 2);
+lean_inc(x_29);
+lean_dec(x_6);
+x_32 = lean_ctor_get(x_4, 1);
+lean_inc(x_32);
+x_33 = l_Lean_FileMap_toPosition(x_31, x_32);
+x_34 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_34, 0, x_29);
+lean_ctor_set(x_34, 1, x_30);
+lean_ctor_set(x_34, 2, x_31);
+lean_inc(x_33);
+x_35 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_35, 0, x_33);
+lean_ctor_set(x_3, 4, x_35);
+lean_ctor_set(x_3, 0, x_34);
+x_36 = lean_ctor_get(x_4, 0);
lean_inc(x_36);
-x_37 = lean_ctor_get(x_4, 1);
-lean_inc(x_37);
-x_38 = l_Lean_FileMap_toPosition(x_36, x_37);
+x_37 = lean_array_get_size(x_36);
lean_dec(x_36);
-lean_inc(x_38);
-x_39 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_39, 0, x_38);
-x_40 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_40, 0, x_30);
-lean_ctor_set(x_40, 1, x_31);
-lean_ctor_set(x_40, 2, x_32);
-lean_ctor_set(x_40, 3, x_33);
-lean_ctor_set(x_40, 4, x_39);
-lean_ctor_set(x_40, 5, x_35);
-lean_ctor_set_uint8(x_40, sizeof(void*)*6, x_34);
-x_41 = lean_ctor_get(x_4, 0);
-lean_inc(x_41);
-x_42 = lean_array_get_size(x_41);
-lean_dec(x_41);
-x_43 = lean_ctor_get(x_38, 1);
-lean_inc(x_43);
-lean_dec(x_38);
-x_44 = lean_nat_dec_le(x_43, x_43);
-lean_dec(x_43);
-if (x_44 == 0)
+x_46 = lean_ctor_get(x_33, 1);
+lean_inc(x_46);
+lean_dec(x_33);
+x_47 = lean_nat_dec_le(x_46, x_46);
+lean_dec(x_46);
+if (x_47 == 0)
{
-lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48;
-lean_dec(x_40);
+lean_object* x_48; lean_object* x_49;
lean_dec(x_2);
+x_48 = l_Lean_Parser_many1Indent___lambda__1___closed__1;
+x_49 = l_Lean_Parser_ParserState_mkError(x_4, x_48);
+x_38 = x_49;
+goto block_45;
+}
+else
+{
+lean_object* x_50;
+x_50 = lean_ctor_get(x_4, 3);
+lean_inc(x_50);
+if (lean_obj_tag(x_50) == 0)
+{
+lean_object* x_51;
+lean_inc(x_3);
+x_51 = lean_apply_2(x_2, x_3, x_4);
+x_38 = x_51;
+goto block_45;
+}
+else
+{
+lean_dec(x_50);
+lean_dec(x_2);
+x_38 = x_4;
+goto block_45;
+}
+}
+block_45:
+{
+lean_object* x_39;
+x_39 = lean_ctor_get(x_38, 3);
+lean_inc(x_39);
+if (lean_obj_tag(x_39) == 0)
+{
+lean_object* x_40; lean_object* x_41; lean_object* x_42;
+x_40 = l_Lean_Parser_manyAux(x_1, x_3, x_38);
+x_41 = l_Lean_nullKind;
+x_42 = l_Lean_Parser_ParserState_mkNode(x_40, x_41, x_37);
+return x_42;
+}
+else
+{
+lean_object* x_43; lean_object* x_44;
+lean_dec(x_39);
+lean_dec(x_3);
lean_dec(x_1);
-x_45 = l_Lean_Parser_manyAux___main___at_Lean_Parser_many1Indent___spec__1___closed__1;
-x_46 = l_Lean_Parser_ParserState_mkError(x_4, x_45);
-x_47 = l_Lean_nullKind;
-x_48 = l_Lean_Parser_ParserState_mkNode(x_46, x_47, x_42);
-return x_48;
+x_43 = l_Lean_nullKind;
+x_44 = l_Lean_Parser_ParserState_mkNode(x_38, x_43, x_37);
+return x_44;
+}
+}
+}
}
else
{
-lean_object* x_49;
-x_49 = lean_ctor_get(x_4, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
-{
-lean_object* x_50; lean_object* x_51;
-lean_inc(x_40);
-x_50 = lean_apply_2(x_1, x_40, x_4);
-x_51 = lean_ctor_get(x_50, 3);
-lean_inc(x_51);
-if (lean_obj_tag(x_51) == 0)
-{
-lean_object* x_52; lean_object* x_53; lean_object* x_54;
-x_52 = l_Lean_Parser_manyAux___main___at_Lean_Parser_many1Indent___spec__2(x_2, x_40, x_50);
-x_53 = l_Lean_nullKind;
-x_54 = l_Lean_Parser_ParserState_mkNode(x_52, x_53, x_42);
-return x_54;
+lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; uint8_t 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_77; uint8_t x_78;
+x_52 = lean_ctor_get(x_3, 0);
+x_53 = lean_ctor_get(x_3, 1);
+x_54 = lean_ctor_get(x_3, 2);
+x_55 = lean_ctor_get(x_3, 3);
+x_56 = lean_ctor_get_uint8(x_3, sizeof(void*)*6);
+x_57 = lean_ctor_get(x_3, 5);
+lean_inc(x_57);
+lean_inc(x_55);
+lean_inc(x_54);
+lean_inc(x_53);
+lean_inc(x_52);
+lean_dec(x_3);
+x_58 = lean_ctor_get(x_52, 0);
+lean_inc(x_58);
+x_59 = lean_ctor_get(x_52, 1);
+lean_inc(x_59);
+x_60 = lean_ctor_get(x_52, 2);
+lean_inc(x_60);
+if (lean_is_exclusive(x_52)) {
+ lean_ctor_release(x_52, 0);
+ lean_ctor_release(x_52, 1);
+ lean_ctor_release(x_52, 2);
+ x_61 = x_52;
+} else {
+ lean_dec_ref(x_52);
+ x_61 = lean_box(0);
}
-else
+x_62 = lean_ctor_get(x_4, 1);
+lean_inc(x_62);
+x_63 = l_Lean_FileMap_toPosition(x_60, x_62);
+if (lean_is_scalar(x_61)) {
+ x_64 = lean_alloc_ctor(0, 3, 0);
+} else {
+ x_64 = x_61;
+}
+lean_ctor_set(x_64, 0, x_58);
+lean_ctor_set(x_64, 1, x_59);
+lean_ctor_set(x_64, 2, x_60);
+lean_inc(x_63);
+x_65 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_65, 0, x_63);
+x_66 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_66, 0, x_64);
+lean_ctor_set(x_66, 1, x_53);
+lean_ctor_set(x_66, 2, x_54);
+lean_ctor_set(x_66, 3, x_55);
+lean_ctor_set(x_66, 4, x_65);
+lean_ctor_set(x_66, 5, x_57);
+lean_ctor_set_uint8(x_66, sizeof(void*)*6, x_56);
+x_67 = lean_ctor_get(x_4, 0);
+lean_inc(x_67);
+x_68 = lean_array_get_size(x_67);
+lean_dec(x_67);
+x_77 = lean_ctor_get(x_63, 1);
+lean_inc(x_77);
+lean_dec(x_63);
+x_78 = lean_nat_dec_le(x_77, x_77);
+lean_dec(x_77);
+if (x_78 == 0)
{
-lean_object* x_55; lean_object* x_56;
-lean_dec(x_51);
-lean_dec(x_40);
+lean_object* x_79; lean_object* x_80;
lean_dec(x_2);
-x_55 = l_Lean_nullKind;
-x_56 = l_Lean_Parser_ParserState_mkNode(x_50, x_55, x_42);
-return x_56;
-}
+x_79 = l_Lean_Parser_many1Indent___lambda__1___closed__1;
+x_80 = l_Lean_Parser_ParserState_mkError(x_4, x_79);
+x_69 = x_80;
+goto block_76;
}
else
{
-lean_object* x_57; lean_object* x_58;
-lean_dec(x_49);
-lean_dec(x_40);
+lean_object* x_81;
+x_81 = lean_ctor_get(x_4, 3);
+lean_inc(x_81);
+if (lean_obj_tag(x_81) == 0)
+{
+lean_object* x_82;
+lean_inc(x_66);
+x_82 = lean_apply_2(x_2, x_66, x_4);
+x_69 = x_82;
+goto block_76;
+}
+else
+{
+lean_dec(x_81);
lean_dec(x_2);
+x_69 = x_4;
+goto block_76;
+}
+}
+block_76:
+{
+lean_object* x_70;
+x_70 = lean_ctor_get(x_69, 3);
+lean_inc(x_70);
+if (lean_obj_tag(x_70) == 0)
+{
+lean_object* x_71; lean_object* x_72; lean_object* x_73;
+x_71 = l_Lean_Parser_manyAux(x_1, x_66, x_69);
+x_72 = l_Lean_nullKind;
+x_73 = l_Lean_Parser_ParserState_mkNode(x_71, x_72, x_68);
+return x_73;
+}
+else
+{
+lean_object* x_74; lean_object* x_75;
+lean_dec(x_70);
+lean_dec(x_66);
lean_dec(x_1);
-x_57 = l_Lean_nullKind;
-x_58 = l_Lean_Parser_ParserState_mkNode(x_4, x_57, x_42);
-return x_58;
+x_74 = l_Lean_nullKind;
+x_75 = l_Lean_Parser_ParserState_mkNode(x_69, x_74, x_68);
+return x_75;
}
}
}
}
}
+static lean_object* _init_l_Lean_Parser_many1Indent___closed__1() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_many1Indent___lambda__1___closed__1;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_checkColGeFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
lean_object* l_Lean_Parser_many1Indent(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_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_ctor_get(x_1, 0);
lean_inc(x_2);
x_3 = l_Lean_Parser_Parser_inhabited___closed__1;
x_4 = l_Lean_Parser_andthenInfo(x_3, x_2);
x_5 = lean_ctor_get(x_1, 1);
lean_inc(x_5);
-x_6 = lean_alloc_closure((void*)(l_Lean_Parser_many1Indent___lambda__1), 4, 2);
-lean_closure_set(x_6, 0, x_5);
-lean_closure_set(x_6, 1, x_1);
-x_7 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_7, 0, x_4);
-lean_ctor_set(x_7, 1, x_6);
-return x_7;
+lean_dec(x_1);
+x_6 = l_Lean_Parser_many1Indent___closed__1;
+lean_inc(x_5);
+x_7 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_7, 0, x_6);
+lean_closure_set(x_7, 1, x_5);
+x_8 = lean_alloc_closure((void*)(l_Lean_Parser_many1Indent___lambda__1), 4, 2);
+lean_closure_set(x_8, 0, x_7);
+lean_closure_set(x_8, 1, x_5);
+x_9 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_9, 0, x_4);
+lean_ctor_set(x_9, 1, x_8);
+return x_9;
}
}
lean_object* l_Lean_Parser_manyIndent_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
@@ -2488,151 +2318,6 @@ x_9 = l_Lean_PrettyPrinter_Parenthesizer_many_parenthesizer(x_8, x_2, x_3, x_4,
return x_9;
}
}
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_manyIndent___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_24;
-x_4 = lean_ctor_get(x_1, 1);
-lean_inc(x_4);
-x_5 = lean_ctor_get(x_3, 0);
-lean_inc(x_5);
-x_6 = lean_array_get_size(x_5);
-lean_dec(x_5);
-x_7 = lean_ctor_get(x_3, 1);
-lean_inc(x_7);
-x_24 = lean_ctor_get(x_2, 4);
-lean_inc(x_24);
-if (lean_obj_tag(x_24) == 0)
-{
-x_8 = x_3;
-goto block_23;
-}
-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; uint8_t x_31;
-x_25 = lean_ctor_get(x_24, 0);
-lean_inc(x_25);
-lean_dec(x_24);
-x_26 = lean_ctor_get(x_2, 0);
-lean_inc(x_26);
-x_27 = lean_ctor_get(x_26, 2);
-lean_inc(x_27);
-lean_dec(x_26);
-lean_inc(x_7);
-x_28 = l_Lean_FileMap_toPosition(x_27, x_7);
-lean_dec(x_27);
-x_29 = lean_ctor_get(x_25, 1);
-lean_inc(x_29);
-lean_dec(x_25);
-x_30 = lean_ctor_get(x_28, 1);
-lean_inc(x_30);
-lean_dec(x_28);
-x_31 = lean_nat_dec_le(x_29, x_30);
-lean_dec(x_30);
-lean_dec(x_29);
-if (x_31 == 0)
-{
-lean_object* x_32; lean_object* x_33;
-x_32 = l_Lean_Parser_manyAux___main___at_Lean_Parser_many1Indent___spec__1___closed__1;
-x_33 = l_Lean_Parser_ParserState_mkError(x_3, x_32);
-x_8 = x_33;
-goto block_23;
-}
-else
-{
-x_8 = x_3;
-goto block_23;
-}
-}
-block_23:
-{
-lean_object* x_9;
-x_9 = lean_ctor_get(x_8, 3);
-lean_inc(x_9);
-if (lean_obj_tag(x_9) == 0)
-{
-lean_object* x_10; lean_object* x_11;
-lean_inc(x_2);
-x_10 = lean_apply_2(x_4, x_2, x_8);
-x_11 = lean_ctor_get(x_10, 3);
-lean_inc(x_11);
-if (lean_obj_tag(x_11) == 0)
-{
-lean_object* x_12; uint8_t x_13;
-lean_dec(x_6);
-x_12 = lean_ctor_get(x_10, 1);
-lean_inc(x_12);
-x_13 = lean_nat_dec_eq(x_7, x_12);
-lean_dec(x_12);
-lean_dec(x_7);
-if (x_13 == 0)
-{
-x_3 = x_10;
-goto _start;
-}
-else
-{
-lean_object* x_15; lean_object* x_16;
-lean_dec(x_2);
-lean_dec(x_1);
-x_15 = l_Lean_Parser_manyAux___main___closed__1;
-x_16 = l_Lean_Parser_ParserState_mkUnexpectedError(x_10, x_15);
-return x_16;
-}
-}
-else
-{
-lean_object* x_17; uint8_t x_18;
-lean_dec(x_11);
-lean_dec(x_2);
-lean_dec(x_1);
-x_17 = lean_ctor_get(x_10, 1);
-lean_inc(x_17);
-x_18 = lean_nat_dec_eq(x_7, x_17);
-lean_dec(x_17);
-if (x_18 == 0)
-{
-lean_dec(x_7);
-lean_dec(x_6);
-return x_10;
-}
-else
-{
-lean_object* x_19;
-x_19 = l_Lean_Parser_ParserState_restore(x_10, x_6, x_7);
-lean_dec(x_6);
-return x_19;
-}
-}
-}
-else
-{
-lean_object* x_20; uint8_t x_21;
-lean_dec(x_9);
-lean_dec(x_4);
-lean_dec(x_2);
-lean_dec(x_1);
-x_20 = lean_ctor_get(x_8, 1);
-lean_inc(x_20);
-x_21 = lean_nat_dec_eq(x_7, x_20);
-lean_dec(x_20);
-if (x_21 == 0)
-{
-lean_dec(x_7);
-lean_dec(x_6);
-return x_8;
-}
-else
-{
-lean_object* x_22;
-x_22 = l_Lean_Parser_ParserState_restore(x_8, x_6, x_7);
-lean_dec(x_6);
-return x_22;
-}
-}
-}
-}
-}
lean_object* l_Lean_Parser_manyIndent___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
@@ -2640,85 +2325,145 @@ uint8_t x_4;
x_4 = !lean_is_exclusive(x_2);
if (x_4 == 0)
{
-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;
+lean_object* x_5; lean_object* x_6; uint8_t x_7;
x_5 = lean_ctor_get(x_2, 0);
x_6 = lean_ctor_get(x_2, 4);
lean_dec(x_6);
-x_7 = lean_ctor_get(x_5, 2);
-lean_inc(x_7);
-x_8 = lean_ctor_get(x_3, 1);
-lean_inc(x_8);
-x_9 = l_Lean_FileMap_toPosition(x_7, x_8);
-lean_dec(x_7);
-x_10 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_10, 0, x_9);
-lean_ctor_set(x_2, 4, x_10);
-x_11 = lean_ctor_get(x_3, 0);
-lean_inc(x_11);
-x_12 = lean_array_get_size(x_11);
-lean_dec(x_11);
-x_13 = l_Lean_Parser_manyAux___main___at_Lean_Parser_manyIndent___spec__1(x_1, x_2, x_3);
-x_14 = l_Lean_nullKind;
-x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_12);
-return x_15;
+x_7 = !lean_is_exclusive(x_5);
+if (x_7 == 0)
+{
+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; lean_object* x_16;
+x_8 = lean_ctor_get(x_5, 2);
+x_9 = lean_ctor_get(x_3, 1);
+lean_inc(x_9);
+x_10 = l_Lean_FileMap_toPosition(x_8, x_9);
+x_11 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_11, 0, x_10);
+lean_ctor_set(x_2, 4, x_11);
+x_12 = lean_ctor_get(x_3, 0);
+lean_inc(x_12);
+x_13 = lean_array_get_size(x_12);
+lean_dec(x_12);
+x_14 = l_Lean_Parser_manyAux(x_1, x_2, x_3);
+x_15 = l_Lean_nullKind;
+x_16 = l_Lean_Parser_ParserState_mkNode(x_14, x_15, x_13);
+return x_16;
}
else
{
-lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t 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;
-x_16 = lean_ctor_get(x_2, 0);
-x_17 = lean_ctor_get(x_2, 1);
-x_18 = lean_ctor_get(x_2, 2);
-x_19 = lean_ctor_get(x_2, 3);
-x_20 = lean_ctor_get_uint8(x_2, sizeof(void*)*6);
-x_21 = lean_ctor_get(x_2, 5);
-lean_inc(x_21);
+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;
+x_17 = lean_ctor_get(x_5, 0);
+x_18 = lean_ctor_get(x_5, 1);
+x_19 = lean_ctor_get(x_5, 2);
lean_inc(x_19);
lean_inc(x_18);
lean_inc(x_17);
-lean_inc(x_16);
+lean_dec(x_5);
+x_20 = lean_ctor_get(x_3, 1);
+lean_inc(x_20);
+x_21 = l_Lean_FileMap_toPosition(x_19, x_20);
+x_22 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_22, 0, x_17);
+lean_ctor_set(x_22, 1, x_18);
+lean_ctor_set(x_22, 2, x_19);
+x_23 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_23, 0, x_21);
+lean_ctor_set(x_2, 4, x_23);
+lean_ctor_set(x_2, 0, x_22);
+x_24 = lean_ctor_get(x_3, 0);
+lean_inc(x_24);
+x_25 = lean_array_get_size(x_24);
+lean_dec(x_24);
+x_26 = l_Lean_Parser_manyAux(x_1, x_2, x_3);
+x_27 = l_Lean_nullKind;
+x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_25);
+return x_28;
+}
+}
+else
+{
+lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; uint8_t 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;
+x_29 = lean_ctor_get(x_2, 0);
+x_30 = lean_ctor_get(x_2, 1);
+x_31 = lean_ctor_get(x_2, 2);
+x_32 = lean_ctor_get(x_2, 3);
+x_33 = lean_ctor_get_uint8(x_2, sizeof(void*)*6);
+x_34 = lean_ctor_get(x_2, 5);
+lean_inc(x_34);
+lean_inc(x_32);
+lean_inc(x_31);
+lean_inc(x_30);
+lean_inc(x_29);
lean_dec(x_2);
-x_22 = lean_ctor_get(x_16, 2);
-lean_inc(x_22);
-x_23 = lean_ctor_get(x_3, 1);
-lean_inc(x_23);
-x_24 = l_Lean_FileMap_toPosition(x_22, x_23);
-lean_dec(x_22);
-x_25 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_25, 0, x_24);
-x_26 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_26, 0, x_16);
-lean_ctor_set(x_26, 1, x_17);
-lean_ctor_set(x_26, 2, x_18);
-lean_ctor_set(x_26, 3, x_19);
-lean_ctor_set(x_26, 4, x_25);
-lean_ctor_set(x_26, 5, x_21);
-lean_ctor_set_uint8(x_26, sizeof(void*)*6, x_20);
-x_27 = lean_ctor_get(x_3, 0);
-lean_inc(x_27);
-x_28 = lean_array_get_size(x_27);
-lean_dec(x_27);
-x_29 = l_Lean_Parser_manyAux___main___at_Lean_Parser_manyIndent___spec__1(x_1, x_26, x_3);
-x_30 = l_Lean_nullKind;
-x_31 = l_Lean_Parser_ParserState_mkNode(x_29, x_30, x_28);
-return x_31;
+x_35 = lean_ctor_get(x_29, 0);
+lean_inc(x_35);
+x_36 = lean_ctor_get(x_29, 1);
+lean_inc(x_36);
+x_37 = lean_ctor_get(x_29, 2);
+lean_inc(x_37);
+if (lean_is_exclusive(x_29)) {
+ lean_ctor_release(x_29, 0);
+ lean_ctor_release(x_29, 1);
+ lean_ctor_release(x_29, 2);
+ x_38 = x_29;
+} else {
+ lean_dec_ref(x_29);
+ x_38 = lean_box(0);
+}
+x_39 = lean_ctor_get(x_3, 1);
+lean_inc(x_39);
+x_40 = l_Lean_FileMap_toPosition(x_37, x_39);
+if (lean_is_scalar(x_38)) {
+ x_41 = lean_alloc_ctor(0, 3, 0);
+} else {
+ x_41 = x_38;
+}
+lean_ctor_set(x_41, 0, x_35);
+lean_ctor_set(x_41, 1, x_36);
+lean_ctor_set(x_41, 2, x_37);
+x_42 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_42, 0, x_40);
+x_43 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_43, 0, x_41);
+lean_ctor_set(x_43, 1, x_30);
+lean_ctor_set(x_43, 2, x_31);
+lean_ctor_set(x_43, 3, x_32);
+lean_ctor_set(x_43, 4, x_42);
+lean_ctor_set(x_43, 5, x_34);
+lean_ctor_set_uint8(x_43, sizeof(void*)*6, x_33);
+x_44 = lean_ctor_get(x_3, 0);
+lean_inc(x_44);
+x_45 = lean_array_get_size(x_44);
+lean_dec(x_44);
+x_46 = l_Lean_Parser_manyAux(x_1, x_43, x_3);
+x_47 = l_Lean_nullKind;
+x_48 = l_Lean_Parser_ParserState_mkNode(x_46, x_47, x_45);
+return x_48;
}
}
}
lean_object* l_Lean_Parser_manyIndent(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_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;
x_2 = lean_ctor_get(x_1, 0);
lean_inc(x_2);
x_3 = l_Lean_Parser_Parser_inhabited___closed__1;
x_4 = l_Lean_Parser_andthenInfo(x_3, x_2);
-x_5 = l_Lean_Parser_noFirstTokenInfo(x_4);
-x_6 = lean_alloc_closure((void*)(l_Lean_Parser_manyIndent___lambda__1), 3, 1);
-lean_closure_set(x_6, 0, x_1);
-x_7 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_7, 0, x_5);
-lean_ctor_set(x_7, 1, x_6);
-return x_7;
+x_5 = lean_ctor_get(x_1, 1);
+lean_inc(x_5);
+lean_dec(x_1);
+x_6 = l_Lean_Parser_many1Indent___closed__1;
+x_7 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_7, 0, x_6);
+lean_closure_set(x_7, 1, x_5);
+x_8 = l_Lean_Parser_noFirstTokenInfo(x_4);
+x_9 = lean_alloc_closure((void*)(l_Lean_Parser_manyIndent___lambda__1), 3, 1);
+lean_closure_set(x_9, 0, x_7);
+x_10 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_10, 0, x_8);
+lean_ctor_set(x_10, 1, x_9);
+return x_10;
}
}
lean_object* l_Lean_Parser_notSymbol_formatter___rarg(lean_object* x_1) {
@@ -3519,8 +3264,10 @@ l_Lean_Parser_many1Indent_formatter___closed__1 = _init_l_Lean_Parser_many1Inden
lean_mark_persistent(l_Lean_Parser_many1Indent_formatter___closed__1);
l_Lean_Parser_many1Indent_parenthesizer___closed__1 = _init_l_Lean_Parser_many1Indent_parenthesizer___closed__1();
lean_mark_persistent(l_Lean_Parser_many1Indent_parenthesizer___closed__1);
-l_Lean_Parser_manyAux___main___at_Lean_Parser_many1Indent___spec__1___closed__1 = _init_l_Lean_Parser_manyAux___main___at_Lean_Parser_many1Indent___spec__1___closed__1();
-lean_mark_persistent(l_Lean_Parser_manyAux___main___at_Lean_Parser_many1Indent___spec__1___closed__1);
+l_Lean_Parser_many1Indent___lambda__1___closed__1 = _init_l_Lean_Parser_many1Indent___lambda__1___closed__1();
+lean_mark_persistent(l_Lean_Parser_many1Indent___lambda__1___closed__1);
+l_Lean_Parser_many1Indent___closed__1 = _init_l_Lean_Parser_many1Indent___closed__1();
+lean_mark_persistent(l_Lean_Parser_many1Indent___closed__1);
l_Lean_Parser_ppHardSpace = _init_l_Lean_Parser_ppHardSpace();
lean_mark_persistent(l_Lean_Parser_ppHardSpace);
l_Lean_Parser_ppSpace = _init_l_Lean_Parser_ppSpace();
diff --git a/stage0/stdlib/Lean/Parser/Level.c b/stage0/stdlib/Lean/Parser/Level.c
index 85ede33d54..40e324e444 100644
--- a/stage0/stdlib/Lean/Parser/Level.c
+++ b/stage0/stdlib/Lean/Parser/Level.c
@@ -14,9 +14,9 @@
extern "C" {
#endif
extern lean_object* l_Lean_mkHole___closed__3;
+lean_object* l_Lean_Parser_Level_hole___elambda__1___closed__9;
lean_object* l_Lean_Parser_Level_ident_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Level_ident_parenthesizer(lean_object*);
-extern lean_object* l_Lean_Parser_manyAux___main___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Level_ident_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Level_hole___elambda__1___closed__4;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_categoryParser_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -38,6 +38,7 @@ lean_object* l_Lean_Parser_regBuiltinLevelParserAttr(lean_object*);
lean_object* l_Lean_Parser_Level_addLit_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Level_max_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Level_imax_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Level_imax___elambda__1___closed__11;
lean_object* l_Lean_Parser_Level_hole___closed__5;
lean_object* l_Lean_Parser_Level_hole___closed__3;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -55,13 +56,13 @@ lean_object* l_Lean_Parser_Level_paren___elambda__1___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Level_ident_formatter(lean_object*);
lean_object* l_Lean_Parser_Level_imax_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Level_imax___closed__7;
+lean_object* l_Lean_Parser_nonReservedSymbolFn(lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltinParser_Lean_Parser_Level_max(lean_object*);
lean_object* l_Lean_Parser_ParserState_mkNode(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Level_max___elambda__1___closed__1;
lean_object* l_Lean_Parser_Level_hole_formatter___closed__1;
lean_object* l_Lean_Parser_Level_ident_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Level_imax_parenthesizer___closed__2;
-extern lean_object* l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
lean_object* l_Lean_Parser_levelParser_formatter(lean_object*);
lean_object* l_Lean_Parser_Level_paren_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Level_max_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -73,17 +74,19 @@ lean_object* l_Lean_Parser_Level_hole___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_addBuiltinParser(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*);
lean_object* lean_array_get_size(lean_object*);
lean_object* lean_string_append(lean_object*, lean_object*);
-lean_object* l_Lean_Parser_tokenFn(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Level_max___elambda__1___closed__13;
lean_object* l_Lean_Parser_Level_paren___closed__5;
lean_object* l___regBuiltin_Lean_Parser_Level_paren_formatter(lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Level_hole_parenthesizer(lean_object*);
+lean_object* l_Lean_Parser_Level_hole___elambda__1___closed__8;
lean_object* l___regBuiltin_Lean_Parser_Level_addLit_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Level_paren___closed__3;
+lean_object* l_Lean_Parser_checkPrecFn___boxed(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Level_max___elambda__1___closed__9;
lean_object* l_Lean_Parser_Level_paren___elambda__1___closed__2;
lean_object* l_Lean_Parser_Level_num___closed__1;
lean_object* l_Lean_Parser_Level_paren_formatter___closed__3;
extern lean_object* l_Lean_Parser_antiquotNestedExpr_parenthesizer___closed__3;
-lean_object* l_Lean_Parser_ParserState_mkErrorsAt(lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Level_max_formatter(lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Level_imax_formatter___closed__1;
lean_object* l_Lean_Parser_mkAntiquot_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -96,6 +99,7 @@ extern lean_object* l_Lean_Parser_leadingNode_formatter___closed__1;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkPrec_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Level_max___elambda__1___closed__2;
lean_object* l_Lean_Parser_checkPrecFn(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_many1Fn(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Parser_mkAntiquot_parenthesizer___rarg___closed__6;
extern lean_object* l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__3;
lean_object* l_Lean_Parser_Level_addLit_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -108,11 +112,12 @@ extern lean_object* l_Lean_PrettyPrinter_parenthesizerAttribute;
lean_object* l_Lean_Parser_Level_imax___elambda__1___closed__4;
lean_object* l_Lean_Parser_Level_paren___elambda__1(lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Level_num_parenthesizer(lean_object*);
+lean_object* l_Lean_Parser_Level_max___elambda__1___closed__8;
lean_object* l_Lean_Parser_Level_addLit_formatter___closed__1;
lean_object* l_Lean_Parser_Level_imax___elambda__1___closed__1;
lean_object* l_Lean_Parser_Level_ident___closed__3;
lean_object* l___regBuiltinParser_Lean_Parser_Level_paren(lean_object*);
-uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
+extern lean_object* l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__9;
lean_object* l_Lean_Parser_nonReservedSymbolFnAux(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Level_num_formatter___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Level_paren_formatter___closed__1;
@@ -120,8 +125,11 @@ extern lean_object* l_Lean_Level_LevelToFormat_Result_format___closed__3;
lean_object* l_Lean_Parser_nodeInfo(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Level_addLit___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Level_imax___elambda__1___closed__2;
+lean_object* l_Lean_Parser_symbolFn___boxed(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Level_paren___elambda__1___closed__7;
extern lean_object* l_Lean_Parser_antiquotNestedExpr___closed__1;
extern lean_object* l_Lean_Parser_antiquotNestedExpr___closed__2;
+lean_object* l_Lean_Parser_Level_imax___elambda__1___closed__8;
lean_object* l_Lean_Parser_nonReservedSymbolInfo(lean_object*, uint8_t);
lean_object* l_Lean_Parser_Level_paren;
lean_object* l___regBuiltin_Lean_Parser_Level_addLit_formatter___closed__1;
@@ -138,14 +146,16 @@ lean_object* l___regBuiltin_Lean_Parser_Level_max_parenthesizer___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Level_paren_parenthesizer___closed__1;
extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_level_parenthesizer___lambda__1___closed__3;
lean_object* l_Lean_Parser_Level_max_formatter___closed__1;
+lean_object* l_Lean_Parser_Level_imax___elambda__1___closed__9;
extern lean_object* l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
extern lean_object* l_Char_HasRepr___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Level_num_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Level_max_parenthesizer___closed__1;
+lean_object* l_Lean_Parser_Level_max___elambda__1___closed__11;
lean_object* l_Lean_Parser_Level_hole;
lean_object* l_Lean_Parser_orelseInfo(lean_object*, lean_object*);
lean_object* l_Lean_Parser_levelParser(lean_object*);
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Level_max___elambda__1___spec__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Level_max___elambda__1___closed__12;
extern lean_object* l___regBuiltin_Lean_Parser_ident_formatter___closed__2;
lean_object* lean_name_mk_string(lean_object*, lean_object*);
extern lean_object* l_Lean_Parser_maxPrec;
@@ -163,13 +173,15 @@ lean_object* l_Lean_Parser_Level_num_formatter(lean_object*, lean_object*, lean_
lean_object* l_Lean_Parser_Level_paren_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Level_num_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Parser_antiquotNestedExpr_formatter___closed__1;
-lean_object* l_Lean_Parser_ParserState_restore(lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Level_max_formatter___closed__1;
+lean_object* l_Lean_Parser_manyAux(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Level_paren___closed__4;
lean_object* l_Lean_Parser_Level_imax___elambda__1___closed__3;
+extern lean_object* l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__7;
lean_object* l_Lean_Parser_Level_addLit_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Level_hole_formatter___closed__3;
lean_object* l_Lean_PrettyPrinter_Formatter_many1_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Level_paren___elambda__1___closed__6;
lean_object* l_Lean_Parser_Level_hole___elambda__1___closed__2;
lean_object* l_Lean_Parser_Level_hole___elambda__1___closed__1;
lean_object* l_Lean_Parser_Level_ident___closed__2;
@@ -180,11 +192,11 @@ lean_object* l_Lean_Parser_Level_hole___elambda__1___closed__5;
lean_object* l___regBuiltin_Lean_Parser_Level_addLit_formatter(lean_object*);
extern lean_object* l_Lean_Parser_numLit;
lean_object* l_Lean_Parser_Level_max___closed__8;
+lean_object* l_Lean_Parser_Level_paren___elambda__1___closed__3;
lean_object* l_Lean_Parser_numLit___elambda__1(lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Level_hole_parenthesizer___closed__1;
extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_level_parenthesizer___lambda__1___closed__2;
lean_object* l_Lean_Parser_Level_hole___closed__6;
-lean_object* l_Lean_Parser_mergeOrElseErrors(lean_object*, lean_object*, lean_object*, uint8_t);
lean_object* l_Lean_Parser_Level_max;
lean_object* l_Lean_Parser_Level_num;
lean_object* l_Lean_Parser_categoryParser(lean_object*, lean_object*);
@@ -192,17 +204,21 @@ lean_object* l___regBuiltin_Lean_Parser_Level_imax_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Level_max___closed__5;
lean_object* l_Lean_Parser_Level_num___closed__3;
extern lean_object* l___regBuiltin_Lean_Parser_numLit_formatter___closed__2;
+lean_object* l_Lean_Parser_Level_paren___elambda__1___closed__10;
lean_object* l___regBuiltin_Lean_Parser_Level_ident_formatter___closed__1;
lean_object* l_Lean_Parser_Level_paren_parenthesizer___closed__5;
lean_object* l_Lean_Parser_symbolInfo(lean_object*);
-extern lean_object* l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
+lean_object* l_Lean_Parser_orelseFnCore(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*);
extern lean_object* l_Lean_Parser_epsilonInfo;
+lean_object* l_Lean_Parser_Level_max___elambda__1___closed__10;
lean_object* l_Lean_Parser_Level_imax___elambda__1___closed__6;
extern lean_object* l_Lean_mkHole___closed__1;
lean_object* l_Lean_Parser_categoryParser___elambda__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Level_hole___elambda__1___closed__7;
lean_object* l___regBuiltinParser_Lean_Parser_Level_addLit(lean_object*);
lean_object* l_Lean_Parser_Level_max_parenthesizer___closed__3;
+lean_object* l_Lean_Parser_Level_paren___elambda__1___closed__9;
+lean_object* l_Lean_Parser_Level_imax___elambda__1___closed__10;
lean_object* l_Lean_Parser_Level_hole_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Level_paren_formatter___closed__5;
lean_object* l_Lean_Parser_levelParser_formatter___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -211,8 +227,10 @@ lean_object* l_Lean_Parser_Level_max_formatter___closed__5;
lean_object* l_Lean_Parser_Level_hole___closed__1;
lean_object* l_Lean_Parser_levelParser_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_String_trim(lean_object*);
+lean_object* l_Lean_Parser_Level_paren___elambda__1___closed__8;
lean_object* l_Lean_Parser_Level_hole_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Level_max_formatter___closed__3;
+lean_object* l_Lean_Parser_nodeFn(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Level_hole___closed__2;
lean_object* l_Lean_Parser_Level_imax_parenthesizer___closed__1;
lean_object* l___regBuiltinParser_Lean_Parser_Level_ident___closed__1;
@@ -245,17 +263,17 @@ lean_object* l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer___boxe
lean_object* l_Lean_Parser_Level_imax_formatter___closed__3;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_many1_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Level_addLit___closed__4;
-lean_object* l_Lean_Parser_ParserState_mkUnexpectedError(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Level_paren___closed__6;
+lean_object* l_Lean_Parser_symbolFnAux(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Level_paren_parenthesizer___closed__2;
lean_object* l___regBuiltinParser_Lean_Parser_Level_imax(lean_object*);
lean_object* l_Lean_Parser_Level_hole_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(lean_object*);
lean_object* l_Lean_Parser_Level_imax___closed__4;
lean_object* l_Lean_Parser_Level_paren_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Level_paren_formatter___closed__2;
lean_object* l_Lean_Parser_Level_imax___elambda__1___closed__7;
lean_object* l_Lean_Parser_Level_paren___closed__8;
+lean_object* l_Lean_Parser_Level_paren___elambda__1___closed__4;
lean_object* l_Lean_Parser_Level_hole___closed__4;
lean_object* l___regBuiltin_Lean_Parser_Level_hole_formatter___closed__1;
extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_level_parenthesizer___closed__2;
@@ -263,16 +281,16 @@ extern lean_object* l___regBuiltin_Lean_Parser_numLit_parenthesizer___closed__1;
lean_object* l_Lean_PrettyPrinter_Formatter_andthen_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Level_addLit___closed__1;
lean_object* l_Lean_Parser_Level_max___closed__1;
+lean_object* l_Lean_Parser_Level_paren___elambda__1___closed__5;
lean_object* l_Lean_PrettyPrinter_Formatter_nonReservedSymbol_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_mkAntiquot_parenthesizer___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Level_paren___closed__1;
lean_object* l_Lean_Parser_Level_paren_parenthesizer___closed__3;
-uint8_t lean_string_dec_eq(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Level_max___closed__2;
lean_object* l_Lean_Parser_Level_paren_parenthesizer___closed__4;
lean_object* l_Lean_Parser_Level_hole___elambda__1___closed__6;
-lean_object* l_Lean_Parser_Level_addLit___elambda__1___closed__7;
lean_object* l_Lean_PrettyPrinter_Formatter_categoryParser_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_andthenFn(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Level_max_parenthesizer___closed__5;
static lean_object* _init_l_Lean_Parser_regBuiltinLevelParserAttr___closed__1() {
_start:
@@ -333,6 +351,96 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Level_paren___elambda__1___closed__3() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__3;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Level_paren___elambda__1___closed__4() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Level_paren___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_PrettyPrinter_Parenthesizer_level_parenthesizer___closed__2;
+x_2 = lean_unsigned_to_nat(0u);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_categoryParser___elambda__1), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Level_paren___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__5;
+x_2 = l_Lean_Parser_Level_paren___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Level_paren___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__3;
+x_2 = l_Lean_Parser_Level_paren___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Level_paren___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = lean_unsigned_to_nat(1024u);
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_checkPrecFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Level_paren___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_PrettyPrinter_Parenthesizer_level_parenthesizer___lambda__1___closed__3;
+x_2 = l_Lean_Parser_Level_paren___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Level_paren___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Level_paren___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Level_paren___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -353,164 +461,54 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_44; lean_object* x_45; lean_object* x_46;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_44 = lean_ctor_get(x_7, 1);
-lean_inc(x_44);
+x_11 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__3;
+x_12 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__7;
lean_inc(x_1);
-x_45 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_46 = lean_ctor_get(x_45, 3);
-lean_inc(x_46);
-if (lean_obj_tag(x_46) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_47; lean_object* x_48;
-x_47 = lean_ctor_get(x_45, 0);
-lean_inc(x_47);
-x_48 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_47);
-lean_dec(x_47);
-if (lean_obj_tag(x_48) == 2)
-{
-lean_object* x_49; lean_object* x_50; uint8_t x_51;
-x_49 = lean_ctor_get(x_48, 1);
-lean_inc(x_49);
-lean_dec(x_48);
-x_50 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__3;
-x_51 = lean_string_dec_eq(x_49, x_50);
-lean_dec(x_49);
-if (x_51 == 0)
-{
-lean_object* x_52; lean_object* x_53;
-x_52 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-x_53 = l_Lean_Parser_ParserState_mkErrorsAt(x_45, x_52, x_44);
-x_11 = x_53;
-goto block_43;
-}
-else
-{
-lean_dec(x_44);
-x_11 = x_45;
-goto block_43;
-}
-}
-else
-{
-lean_object* x_54; lean_object* x_55;
-lean_dec(x_48);
-x_54 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-x_55 = l_Lean_Parser_ParserState_mkErrorsAt(x_45, x_54, x_44);
-x_11 = x_55;
-goto block_43;
-}
-}
-else
-{
-lean_object* x_56; lean_object* x_57;
-lean_dec(x_46);
-x_56 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-x_57 = l_Lean_Parser_ParserState_mkErrorsAt(x_45, x_56, x_44);
-x_11 = x_57;
-goto block_43;
-}
-block_43:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
-x_13 = l_Lean_PrettyPrinter_Parenthesizer_level_parenthesizer___closed__2;
-x_14 = lean_unsigned_to_nat(0u);
+lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
+x_15 = l_Lean_PrettyPrinter_Parenthesizer_level_parenthesizer___closed__2;
+x_16 = lean_unsigned_to_nat(0u);
lean_inc(x_1);
-x_15 = l_Lean_Parser_categoryParser___elambda__1(x_13, x_14, x_1, x_11);
-x_16 = lean_ctor_get(x_15, 3);
-lean_inc(x_16);
-if (lean_obj_tag(x_16) == 0)
+x_17 = l_Lean_Parser_categoryParser___elambda__1(x_15, x_16, x_1, x_13);
+x_18 = lean_ctor_get(x_17, 3);
+lean_inc(x_18);
+if (lean_obj_tag(x_18) == 0)
{
-lean_object* x_17; lean_object* x_18; lean_object* x_19;
-x_17 = lean_ctor_get(x_15, 1);
-lean_inc(x_17);
-x_18 = l_Lean_Parser_tokenFn(x_1, x_15);
-x_19 = lean_ctor_get(x_18, 3);
-lean_inc(x_19);
-if (lean_obj_tag(x_19) == 0)
-{
-lean_object* x_20; lean_object* x_21;
-x_20 = lean_ctor_get(x_18, 0);
-lean_inc(x_20);
-x_21 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_20);
-lean_dec(x_20);
-if (lean_obj_tag(x_21) == 2)
-{
-lean_object* x_22; lean_object* x_23; uint8_t x_24;
-x_22 = lean_ctor_get(x_21, 1);
-lean_inc(x_22);
-lean_dec(x_21);
-x_23 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
-x_24 = lean_string_dec_eq(x_22, x_23);
-lean_dec(x_22);
-if (x_24 == 0)
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
-x_25 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_26 = l_Lean_Parser_ParserState_mkErrorsAt(x_18, x_25, x_17);
-x_27 = l_Lean_PrettyPrinter_Parenthesizer_level_parenthesizer___lambda__1___closed__3;
-x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_10);
-return x_28;
+lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23;
+x_19 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
+x_20 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__9;
+x_21 = l_Lean_Parser_symbolFnAux(x_19, x_20, x_1, x_17);
+x_22 = l_Lean_PrettyPrinter_Parenthesizer_level_parenthesizer___lambda__1___closed__3;
+x_23 = l_Lean_Parser_ParserState_mkNode(x_21, x_22, x_10);
+return x_23;
}
else
{
-lean_object* x_29; lean_object* x_30;
-lean_dec(x_17);
-x_29 = l_Lean_PrettyPrinter_Parenthesizer_level_parenthesizer___lambda__1___closed__3;
-x_30 = l_Lean_Parser_ParserState_mkNode(x_18, x_29, x_10);
-return x_30;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34;
-lean_dec(x_21);
-x_31 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_18, x_31, x_17);
-x_33 = l_Lean_PrettyPrinter_Parenthesizer_level_parenthesizer___lambda__1___closed__3;
-x_34 = l_Lean_Parser_ParserState_mkNode(x_32, x_33, x_10);
-return x_34;
-}
-}
-else
-{
-lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38;
-lean_dec(x_19);
-x_35 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_36 = l_Lean_Parser_ParserState_mkErrorsAt(x_18, x_35, x_17);
-x_37 = l_Lean_PrettyPrinter_Parenthesizer_level_parenthesizer___lambda__1___closed__3;
-x_38 = l_Lean_Parser_ParserState_mkNode(x_36, x_37, x_10);
-return x_38;
-}
-}
-else
-{
-lean_object* x_39; lean_object* x_40;
-lean_dec(x_16);
+lean_object* x_24; lean_object* x_25;
+lean_dec(x_18);
lean_dec(x_1);
-x_39 = l_Lean_PrettyPrinter_Parenthesizer_level_parenthesizer___lambda__1___closed__3;
-x_40 = l_Lean_Parser_ParserState_mkNode(x_15, x_39, x_10);
-return x_40;
+x_24 = l_Lean_PrettyPrinter_Parenthesizer_level_parenthesizer___lambda__1___closed__3;
+x_25 = l_Lean_Parser_ParserState_mkNode(x_17, x_24, x_10);
+return x_25;
}
}
else
{
-lean_object* x_41; lean_object* x_42;
-lean_dec(x_12);
+lean_object* x_26; lean_object* x_27;
+lean_dec(x_14);
lean_dec(x_1);
-x_41 = l_Lean_PrettyPrinter_Parenthesizer_level_parenthesizer___lambda__1___closed__3;
-x_42 = l_Lean_Parser_ParserState_mkNode(x_11, x_41, x_10);
-return x_42;
-}
+x_26 = l_Lean_PrettyPrinter_Parenthesizer_level_parenthesizer___lambda__1___closed__3;
+x_27 = l_Lean_Parser_ParserState_mkNode(x_13, x_26, x_10);
+return x_27;
}
}
else
@@ -522,244 +520,11 @@ return x_7;
}
else
{
-lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62;
-x_58 = lean_ctor_get(x_2, 0);
-lean_inc(x_58);
-x_59 = lean_array_get_size(x_58);
-lean_dec(x_58);
-x_60 = lean_ctor_get(x_2, 1);
-lean_inc(x_60);
-lean_inc(x_1);
-x_61 = lean_apply_2(x_4, x_1, x_2);
-x_62 = lean_ctor_get(x_61, 3);
-lean_inc(x_62);
-if (lean_obj_tag(x_62) == 0)
-{
-lean_dec(x_60);
-lean_dec(x_59);
-lean_dec(x_1);
-return x_61;
-}
-else
-{
-lean_object* x_63; lean_object* x_64; uint8_t x_65;
-x_63 = lean_ctor_get(x_62, 0);
-lean_inc(x_63);
-lean_dec(x_62);
-x_64 = lean_ctor_get(x_61, 1);
-lean_inc(x_64);
-x_65 = lean_nat_dec_eq(x_64, x_60);
-lean_dec(x_64);
-if (x_65 == 0)
-{
-lean_dec(x_63);
-lean_dec(x_60);
-lean_dec(x_59);
-lean_dec(x_1);
-return x_61;
-}
-else
-{
-lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69;
-lean_inc(x_60);
-x_66 = l_Lean_Parser_ParserState_restore(x_61, x_59, x_60);
-lean_dec(x_59);
-x_67 = lean_unsigned_to_nat(1024u);
-x_68 = l_Lean_Parser_checkPrecFn(x_67, x_1, x_66);
-x_69 = lean_ctor_get(x_68, 3);
-lean_inc(x_69);
-if (lean_obj_tag(x_69) == 0)
-{
-lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_117; lean_object* x_118; lean_object* x_119;
-x_70 = lean_ctor_get(x_68, 0);
-lean_inc(x_70);
-x_71 = lean_array_get_size(x_70);
-lean_dec(x_70);
-x_117 = lean_ctor_get(x_68, 1);
-lean_inc(x_117);
-lean_inc(x_1);
-x_118 = l_Lean_Parser_tokenFn(x_1, x_68);
-x_119 = lean_ctor_get(x_118, 3);
-lean_inc(x_119);
-if (lean_obj_tag(x_119) == 0)
-{
-lean_object* x_120; lean_object* x_121;
-x_120 = lean_ctor_get(x_118, 0);
-lean_inc(x_120);
-x_121 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_120);
-lean_dec(x_120);
-if (lean_obj_tag(x_121) == 2)
-{
-lean_object* x_122; lean_object* x_123; uint8_t x_124;
-x_122 = lean_ctor_get(x_121, 1);
-lean_inc(x_122);
-lean_dec(x_121);
-x_123 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__3;
-x_124 = lean_string_dec_eq(x_122, x_123);
-lean_dec(x_122);
-if (x_124 == 0)
-{
-lean_object* x_125; lean_object* x_126;
-x_125 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-x_126 = l_Lean_Parser_ParserState_mkErrorsAt(x_118, x_125, x_117);
-x_72 = x_126;
-goto block_116;
-}
-else
-{
-lean_dec(x_117);
-x_72 = x_118;
-goto block_116;
-}
-}
-else
-{
-lean_object* x_127; lean_object* x_128;
-lean_dec(x_121);
-x_127 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-x_128 = l_Lean_Parser_ParserState_mkErrorsAt(x_118, x_127, x_117);
-x_72 = x_128;
-goto block_116;
-}
-}
-else
-{
-lean_object* x_129; lean_object* x_130;
-lean_dec(x_119);
-x_129 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-x_130 = l_Lean_Parser_ParserState_mkErrorsAt(x_118, x_129, x_117);
-x_72 = x_130;
-goto block_116;
-}
-block_116:
-{
-lean_object* x_73;
-x_73 = lean_ctor_get(x_72, 3);
-lean_inc(x_73);
-if (lean_obj_tag(x_73) == 0)
-{
-lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77;
-x_74 = l_Lean_PrettyPrinter_Parenthesizer_level_parenthesizer___closed__2;
-x_75 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_76 = l_Lean_Parser_categoryParser___elambda__1(x_74, x_75, x_1, x_72);
-x_77 = lean_ctor_get(x_76, 3);
-lean_inc(x_77);
-if (lean_obj_tag(x_77) == 0)
-{
-lean_object* x_78; lean_object* x_79; lean_object* x_80;
-x_78 = lean_ctor_get(x_76, 1);
-lean_inc(x_78);
-x_79 = l_Lean_Parser_tokenFn(x_1, x_76);
-x_80 = lean_ctor_get(x_79, 3);
-lean_inc(x_80);
-if (lean_obj_tag(x_80) == 0)
-{
-lean_object* x_81; lean_object* x_82;
-x_81 = lean_ctor_get(x_79, 0);
-lean_inc(x_81);
-x_82 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_81);
-lean_dec(x_81);
-if (lean_obj_tag(x_82) == 2)
-{
-lean_object* x_83; lean_object* x_84; uint8_t x_85;
-x_83 = lean_ctor_get(x_82, 1);
-lean_inc(x_83);
-lean_dec(x_82);
-x_84 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
-x_85 = lean_string_dec_eq(x_83, x_84);
-lean_dec(x_83);
-if (x_85 == 0)
-{
-lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; uint8_t x_90; lean_object* x_91;
-x_86 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_87 = l_Lean_Parser_ParserState_mkErrorsAt(x_79, x_86, x_78);
-x_88 = l_Lean_PrettyPrinter_Parenthesizer_level_parenthesizer___lambda__1___closed__3;
-x_89 = l_Lean_Parser_ParserState_mkNode(x_87, x_88, x_71);
-x_90 = 1;
-x_91 = l_Lean_Parser_mergeOrElseErrors(x_89, x_63, x_60, x_90);
-lean_dec(x_60);
-return x_91;
-}
-else
-{
-lean_object* x_92; lean_object* x_93; uint8_t x_94; lean_object* x_95;
-lean_dec(x_78);
-x_92 = l_Lean_PrettyPrinter_Parenthesizer_level_parenthesizer___lambda__1___closed__3;
-x_93 = l_Lean_Parser_ParserState_mkNode(x_79, x_92, x_71);
-x_94 = 1;
-x_95 = l_Lean_Parser_mergeOrElseErrors(x_93, x_63, x_60, x_94);
-lean_dec(x_60);
-return x_95;
-}
-}
-else
-{
-lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; uint8_t x_100; lean_object* x_101;
-lean_dec(x_82);
-x_96 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_97 = l_Lean_Parser_ParserState_mkErrorsAt(x_79, x_96, x_78);
-x_98 = l_Lean_PrettyPrinter_Parenthesizer_level_parenthesizer___lambda__1___closed__3;
-x_99 = l_Lean_Parser_ParserState_mkNode(x_97, x_98, x_71);
-x_100 = 1;
-x_101 = l_Lean_Parser_mergeOrElseErrors(x_99, x_63, x_60, x_100);
-lean_dec(x_60);
-return x_101;
-}
-}
-else
-{
-lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; uint8_t x_106; lean_object* x_107;
-lean_dec(x_80);
-x_102 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_103 = l_Lean_Parser_ParserState_mkErrorsAt(x_79, x_102, x_78);
-x_104 = l_Lean_PrettyPrinter_Parenthesizer_level_parenthesizer___lambda__1___closed__3;
-x_105 = l_Lean_Parser_ParserState_mkNode(x_103, x_104, x_71);
-x_106 = 1;
-x_107 = l_Lean_Parser_mergeOrElseErrors(x_105, x_63, x_60, x_106);
-lean_dec(x_60);
-return x_107;
-}
-}
-else
-{
-lean_object* x_108; lean_object* x_109; uint8_t x_110; lean_object* x_111;
-lean_dec(x_77);
-lean_dec(x_1);
-x_108 = l_Lean_PrettyPrinter_Parenthesizer_level_parenthesizer___lambda__1___closed__3;
-x_109 = l_Lean_Parser_ParserState_mkNode(x_76, x_108, x_71);
-x_110 = 1;
-x_111 = l_Lean_Parser_mergeOrElseErrors(x_109, x_63, x_60, x_110);
-lean_dec(x_60);
-return x_111;
-}
-}
-else
-{
-lean_object* x_112; lean_object* x_113; uint8_t x_114; lean_object* x_115;
-lean_dec(x_73);
-lean_dec(x_1);
-x_112 = l_Lean_PrettyPrinter_Parenthesizer_level_parenthesizer___lambda__1___closed__3;
-x_113 = l_Lean_Parser_ParserState_mkNode(x_72, x_112, x_71);
-x_114 = 1;
-x_115 = l_Lean_Parser_mergeOrElseErrors(x_113, x_63, x_60, x_114);
-lean_dec(x_60);
-return x_115;
-}
-}
-}
-else
-{
-uint8_t x_131; lean_object* x_132;
-lean_dec(x_69);
-lean_dec(x_1);
-x_131 = 1;
-x_132 = l_Lean_Parser_mergeOrElseErrors(x_68, x_63, x_60, x_131);
-lean_dec(x_60);
-return x_132;
-}
-}
-}
+lean_object* x_28; uint8_t x_29; lean_object* x_30;
+x_28 = l_Lean_Parser_Level_paren___elambda__1___closed__10;
+x_29 = 1;
+x_30 = l_Lean_Parser_orelseFnCore(x_4, x_28, x_29, x_1, x_2);
+return x_30;
}
}
}
@@ -1083,70 +848,6 @@ x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1);
return x_5;
}
}
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Level_max___elambda__1___spec__1(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-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_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-x_6 = l_Lean_PrettyPrinter_Parenthesizer_level_parenthesizer___closed__2;
-x_7 = l_Lean_Parser_maxPrec;
-lean_inc(x_1);
-x_8 = l_Lean_Parser_categoryParser___elambda__1(x_6, x_7, x_1, x_2);
-x_9 = lean_ctor_get(x_8, 3);
-lean_inc(x_9);
-if (lean_obj_tag(x_9) == 0)
-{
-lean_object* x_10; uint8_t x_11;
-lean_dec(x_4);
-x_10 = lean_ctor_get(x_8, 1);
-lean_inc(x_10);
-x_11 = lean_nat_dec_eq(x_5, x_10);
-lean_dec(x_10);
-lean_dec(x_5);
-if (x_11 == 0)
-{
-x_2 = x_8;
-goto _start;
-}
-else
-{
-lean_object* x_13; lean_object* x_14;
-lean_dec(x_1);
-x_13 = l_Lean_Parser_manyAux___main___closed__1;
-x_14 = l_Lean_Parser_ParserState_mkUnexpectedError(x_8, x_13);
-return x_14;
-}
-}
-else
-{
-lean_object* x_15; uint8_t x_16;
-lean_dec(x_9);
-lean_dec(x_1);
-x_15 = lean_ctor_get(x_8, 1);
-lean_inc(x_15);
-x_16 = lean_nat_dec_eq(x_5, x_15);
-lean_dec(x_15);
-if (x_16 == 0)
-{
-lean_dec(x_5);
-lean_dec(x_4);
-return x_8;
-}
-else
-{
-lean_object* x_17;
-x_17 = l_Lean_Parser_ParserState_restore(x_8, x_4, x_5);
-lean_dec(x_4);
-return x_17;
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Level_max___elambda__1___closed__1() {
_start:
{
@@ -1198,6 +899,74 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Level_max___elambda__1___closed__6() {
_start:
{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Level_max___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbolFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Level_max___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_PrettyPrinter_Parenthesizer_level_parenthesizer___closed__2;
+x_2 = l_Lean_Parser_maxPrec;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_categoryParser___elambda__1), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Level_max___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Level_max___elambda__1___closed__7;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_many1Fn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Level_max___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_max___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Level_max___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Level_max___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_max___elambda__1___closed__1;
+x_2 = l_Lean_Parser_Level_max___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Level_max___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Level_max___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Level_max___elambda__1___closed__12() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Char_HasRepr___closed__1;
x_2 = l_Lean_Parser_Level_max___elambda__1___closed__5;
@@ -1205,11 +974,11 @@ x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Level_max___elambda__1___closed__7() {
+static lean_object* _init_l_Lean_Parser_Level_max___elambda__1___closed__13() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Level_max___elambda__1___closed__6;
+x_1 = l_Lean_Parser_Level_max___elambda__1___closed__12;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
@@ -1241,7 +1010,7 @@ lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
x_11 = l_Lean_Parser_Level_max___elambda__1___closed__5;
-x_12 = l_Lean_Parser_Level_max___elambda__1___closed__7;
+x_12 = l_Lean_Parser_Level_max___elambda__1___closed__13;
lean_inc(x_1);
x_13 = l_Lean_Parser_nonReservedSymbolFnAux(x_11, x_12, x_1, x_7);
x_14 = lean_ctor_get(x_13, 3);
@@ -1261,34 +1030,35 @@ x_20 = lean_ctor_get(x_19, 3);
lean_inc(x_20);
if (lean_obj_tag(x_20) == 0)
{
-lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25;
-x_21 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Level_max___elambda__1___spec__1(x_1, x_19);
-x_22 = l_Lean_nullKind;
-x_23 = l_Lean_Parser_ParserState_mkNode(x_21, x_22, x_16);
-x_24 = l_Lean_Parser_Level_max___elambda__1___closed__1;
-x_25 = l_Lean_Parser_ParserState_mkNode(x_23, x_24, x_10);
-return x_25;
+lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26;
+x_21 = l_Lean_Parser_Level_max___elambda__1___closed__7;
+x_22 = l_Lean_Parser_manyAux(x_21, x_1, x_19);
+x_23 = l_Lean_nullKind;
+x_24 = l_Lean_Parser_ParserState_mkNode(x_22, x_23, x_16);
+x_25 = l_Lean_Parser_Level_max___elambda__1___closed__1;
+x_26 = l_Lean_Parser_ParserState_mkNode(x_24, x_25, x_10);
+return x_26;
}
else
{
-lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29;
+lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30;
lean_dec(x_20);
lean_dec(x_1);
-x_26 = l_Lean_nullKind;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_19, x_26, x_16);
-x_28 = l_Lean_Parser_Level_max___elambda__1___closed__1;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_27, x_28, x_10);
-return x_29;
+x_27 = l_Lean_nullKind;
+x_28 = l_Lean_Parser_ParserState_mkNode(x_19, x_27, x_16);
+x_29 = l_Lean_Parser_Level_max___elambda__1___closed__1;
+x_30 = l_Lean_Parser_ParserState_mkNode(x_28, x_29, x_10);
+return x_30;
}
}
else
{
-lean_object* x_30; lean_object* x_31;
+lean_object* x_31; lean_object* x_32;
lean_dec(x_14);
lean_dec(x_1);
-x_30 = l_Lean_Parser_Level_max___elambda__1___closed__1;
-x_31 = l_Lean_Parser_ParserState_mkNode(x_13, x_30, x_10);
-return x_31;
+x_31 = l_Lean_Parser_Level_max___elambda__1___closed__1;
+x_32 = l_Lean_Parser_ParserState_mkNode(x_13, x_31, x_10);
+return x_32;
}
}
else
@@ -1300,132 +1070,12 @@ return x_7;
}
else
{
-lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36;
-x_32 = lean_ctor_get(x_2, 0);
-lean_inc(x_32);
-x_33 = lean_array_get_size(x_32);
-lean_dec(x_32);
-x_34 = lean_ctor_get(x_2, 1);
-lean_inc(x_34);
-lean_inc(x_1);
-x_35 = lean_apply_2(x_4, x_1, x_2);
-x_36 = lean_ctor_get(x_35, 3);
-lean_inc(x_36);
-if (lean_obj_tag(x_36) == 0)
-{
-lean_dec(x_34);
-lean_dec(x_33);
-lean_dec(x_1);
+lean_object* x_33; uint8_t x_34; lean_object* x_35;
+x_33 = l_Lean_Parser_Level_max___elambda__1___closed__11;
+x_34 = 1;
+x_35 = l_Lean_Parser_orelseFnCore(x_4, x_33, x_34, x_1, x_2);
return x_35;
}
-else
-{
-lean_object* x_37; lean_object* x_38; uint8_t x_39;
-x_37 = lean_ctor_get(x_36, 0);
-lean_inc(x_37);
-lean_dec(x_36);
-x_38 = lean_ctor_get(x_35, 1);
-lean_inc(x_38);
-x_39 = lean_nat_dec_eq(x_38, x_34);
-lean_dec(x_38);
-if (x_39 == 0)
-{
-lean_dec(x_37);
-lean_dec(x_34);
-lean_dec(x_33);
-lean_dec(x_1);
-return x_35;
-}
-else
-{
-lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43;
-lean_inc(x_34);
-x_40 = l_Lean_Parser_ParserState_restore(x_35, x_33, x_34);
-lean_dec(x_33);
-x_41 = lean_unsigned_to_nat(1024u);
-x_42 = l_Lean_Parser_checkPrecFn(x_41, x_1, x_40);
-x_43 = lean_ctor_get(x_42, 3);
-lean_inc(x_43);
-if (lean_obj_tag(x_43) == 0)
-{
-lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49;
-x_44 = lean_ctor_get(x_42, 0);
-lean_inc(x_44);
-x_45 = lean_array_get_size(x_44);
-lean_dec(x_44);
-x_46 = l_Lean_Parser_Level_max___elambda__1___closed__5;
-x_47 = l_Lean_Parser_Level_max___elambda__1___closed__7;
-lean_inc(x_1);
-x_48 = l_Lean_Parser_nonReservedSymbolFnAux(x_46, x_47, x_1, x_42);
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
-{
-lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55;
-x_50 = lean_ctor_get(x_48, 0);
-lean_inc(x_50);
-x_51 = lean_array_get_size(x_50);
-lean_dec(x_50);
-x_52 = l_Lean_PrettyPrinter_Parenthesizer_level_parenthesizer___closed__2;
-x_53 = l_Lean_Parser_maxPrec;
-lean_inc(x_1);
-x_54 = l_Lean_Parser_categoryParser___elambda__1(x_52, x_53, x_1, x_48);
-x_55 = lean_ctor_get(x_54, 3);
-lean_inc(x_55);
-if (lean_obj_tag(x_55) == 0)
-{
-lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; uint8_t x_61; lean_object* x_62;
-x_56 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Level_max___elambda__1___spec__1(x_1, x_54);
-x_57 = l_Lean_nullKind;
-x_58 = l_Lean_Parser_ParserState_mkNode(x_56, x_57, x_51);
-x_59 = l_Lean_Parser_Level_max___elambda__1___closed__1;
-x_60 = l_Lean_Parser_ParserState_mkNode(x_58, x_59, x_45);
-x_61 = 1;
-x_62 = l_Lean_Parser_mergeOrElseErrors(x_60, x_37, x_34, x_61);
-lean_dec(x_34);
-return x_62;
-}
-else
-{
-lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; uint8_t x_67; lean_object* x_68;
-lean_dec(x_55);
-lean_dec(x_1);
-x_63 = l_Lean_nullKind;
-x_64 = l_Lean_Parser_ParserState_mkNode(x_54, x_63, x_51);
-x_65 = l_Lean_Parser_Level_max___elambda__1___closed__1;
-x_66 = l_Lean_Parser_ParserState_mkNode(x_64, x_65, x_45);
-x_67 = 1;
-x_68 = l_Lean_Parser_mergeOrElseErrors(x_66, x_37, x_34, x_67);
-lean_dec(x_34);
-return x_68;
-}
-}
-else
-{
-lean_object* x_69; lean_object* x_70; uint8_t x_71; lean_object* x_72;
-lean_dec(x_49);
-lean_dec(x_1);
-x_69 = l_Lean_Parser_Level_max___elambda__1___closed__1;
-x_70 = l_Lean_Parser_ParserState_mkNode(x_48, x_69, x_45);
-x_71 = 1;
-x_72 = l_Lean_Parser_mergeOrElseErrors(x_70, x_37, x_34, x_71);
-lean_dec(x_34);
-return x_72;
-}
-}
-else
-{
-uint8_t x_73; lean_object* x_74;
-lean_dec(x_43);
-lean_dec(x_1);
-x_73 = 1;
-x_74 = l_Lean_Parser_mergeOrElseErrors(x_42, x_37, x_34, x_73);
-lean_dec(x_34);
-return x_74;
-}
-}
-}
-}
}
}
static lean_object* _init_l_Lean_Parser_Level_max___closed__1() {
@@ -1762,11 +1412,11 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Level_imax___elambda__1___closed__6() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Level_imax___elambda__1___closed__5;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Level_imax___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbolFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Level_imax___elambda__1___closed__7() {
@@ -1774,6 +1424,52 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Level_imax___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Level_max___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Level_imax___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_imax___elambda__1___closed__1;
+x_2 = l_Lean_Parser_Level_imax___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Level_imax___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Level_imax___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Level_imax___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Level_imax___elambda__1___closed__5;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Level_imax___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_imax___elambda__1___closed__10;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
@@ -1805,7 +1501,7 @@ lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
x_11 = l_Lean_Parser_Level_imax___elambda__1___closed__5;
-x_12 = l_Lean_Parser_Level_imax___elambda__1___closed__7;
+x_12 = l_Lean_Parser_Level_imax___elambda__1___closed__11;
lean_inc(x_1);
x_13 = l_Lean_Parser_nonReservedSymbolFnAux(x_11, x_12, x_1, x_7);
x_14 = lean_ctor_get(x_13, 3);
@@ -1825,34 +1521,35 @@ x_20 = lean_ctor_get(x_19, 3);
lean_inc(x_20);
if (lean_obj_tag(x_20) == 0)
{
-lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25;
-x_21 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Level_max___elambda__1___spec__1(x_1, x_19);
-x_22 = l_Lean_nullKind;
-x_23 = l_Lean_Parser_ParserState_mkNode(x_21, x_22, x_16);
-x_24 = l_Lean_Parser_Level_imax___elambda__1___closed__1;
-x_25 = l_Lean_Parser_ParserState_mkNode(x_23, x_24, x_10);
-return x_25;
+lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26;
+x_21 = l_Lean_Parser_Level_max___elambda__1___closed__7;
+x_22 = l_Lean_Parser_manyAux(x_21, x_1, x_19);
+x_23 = l_Lean_nullKind;
+x_24 = l_Lean_Parser_ParserState_mkNode(x_22, x_23, x_16);
+x_25 = l_Lean_Parser_Level_imax___elambda__1___closed__1;
+x_26 = l_Lean_Parser_ParserState_mkNode(x_24, x_25, x_10);
+return x_26;
}
else
{
-lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29;
+lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30;
lean_dec(x_20);
lean_dec(x_1);
-x_26 = l_Lean_nullKind;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_19, x_26, x_16);
-x_28 = l_Lean_Parser_Level_imax___elambda__1___closed__1;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_27, x_28, x_10);
-return x_29;
+x_27 = l_Lean_nullKind;
+x_28 = l_Lean_Parser_ParserState_mkNode(x_19, x_27, x_16);
+x_29 = l_Lean_Parser_Level_imax___elambda__1___closed__1;
+x_30 = l_Lean_Parser_ParserState_mkNode(x_28, x_29, x_10);
+return x_30;
}
}
else
{
-lean_object* x_30; lean_object* x_31;
+lean_object* x_31; lean_object* x_32;
lean_dec(x_14);
lean_dec(x_1);
-x_30 = l_Lean_Parser_Level_imax___elambda__1___closed__1;
-x_31 = l_Lean_Parser_ParserState_mkNode(x_13, x_30, x_10);
-return x_31;
+x_31 = l_Lean_Parser_Level_imax___elambda__1___closed__1;
+x_32 = l_Lean_Parser_ParserState_mkNode(x_13, x_31, x_10);
+return x_32;
}
}
else
@@ -1864,132 +1561,12 @@ return x_7;
}
else
{
-lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36;
-x_32 = lean_ctor_get(x_2, 0);
-lean_inc(x_32);
-x_33 = lean_array_get_size(x_32);
-lean_dec(x_32);
-x_34 = lean_ctor_get(x_2, 1);
-lean_inc(x_34);
-lean_inc(x_1);
-x_35 = lean_apply_2(x_4, x_1, x_2);
-x_36 = lean_ctor_get(x_35, 3);
-lean_inc(x_36);
-if (lean_obj_tag(x_36) == 0)
-{
-lean_dec(x_34);
-lean_dec(x_33);
-lean_dec(x_1);
+lean_object* x_33; uint8_t x_34; lean_object* x_35;
+x_33 = l_Lean_Parser_Level_imax___elambda__1___closed__9;
+x_34 = 1;
+x_35 = l_Lean_Parser_orelseFnCore(x_4, x_33, x_34, x_1, x_2);
return x_35;
}
-else
-{
-lean_object* x_37; lean_object* x_38; uint8_t x_39;
-x_37 = lean_ctor_get(x_36, 0);
-lean_inc(x_37);
-lean_dec(x_36);
-x_38 = lean_ctor_get(x_35, 1);
-lean_inc(x_38);
-x_39 = lean_nat_dec_eq(x_38, x_34);
-lean_dec(x_38);
-if (x_39 == 0)
-{
-lean_dec(x_37);
-lean_dec(x_34);
-lean_dec(x_33);
-lean_dec(x_1);
-return x_35;
-}
-else
-{
-lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43;
-lean_inc(x_34);
-x_40 = l_Lean_Parser_ParserState_restore(x_35, x_33, x_34);
-lean_dec(x_33);
-x_41 = lean_unsigned_to_nat(1024u);
-x_42 = l_Lean_Parser_checkPrecFn(x_41, x_1, x_40);
-x_43 = lean_ctor_get(x_42, 3);
-lean_inc(x_43);
-if (lean_obj_tag(x_43) == 0)
-{
-lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49;
-x_44 = lean_ctor_get(x_42, 0);
-lean_inc(x_44);
-x_45 = lean_array_get_size(x_44);
-lean_dec(x_44);
-x_46 = l_Lean_Parser_Level_imax___elambda__1___closed__5;
-x_47 = l_Lean_Parser_Level_imax___elambda__1___closed__7;
-lean_inc(x_1);
-x_48 = l_Lean_Parser_nonReservedSymbolFnAux(x_46, x_47, x_1, x_42);
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
-{
-lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55;
-x_50 = lean_ctor_get(x_48, 0);
-lean_inc(x_50);
-x_51 = lean_array_get_size(x_50);
-lean_dec(x_50);
-x_52 = l_Lean_PrettyPrinter_Parenthesizer_level_parenthesizer___closed__2;
-x_53 = l_Lean_Parser_maxPrec;
-lean_inc(x_1);
-x_54 = l_Lean_Parser_categoryParser___elambda__1(x_52, x_53, x_1, x_48);
-x_55 = lean_ctor_get(x_54, 3);
-lean_inc(x_55);
-if (lean_obj_tag(x_55) == 0)
-{
-lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; uint8_t x_61; lean_object* x_62;
-x_56 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Level_max___elambda__1___spec__1(x_1, x_54);
-x_57 = l_Lean_nullKind;
-x_58 = l_Lean_Parser_ParserState_mkNode(x_56, x_57, x_51);
-x_59 = l_Lean_Parser_Level_imax___elambda__1___closed__1;
-x_60 = l_Lean_Parser_ParserState_mkNode(x_58, x_59, x_45);
-x_61 = 1;
-x_62 = l_Lean_Parser_mergeOrElseErrors(x_60, x_37, x_34, x_61);
-lean_dec(x_34);
-return x_62;
-}
-else
-{
-lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; uint8_t x_67; lean_object* x_68;
-lean_dec(x_55);
-lean_dec(x_1);
-x_63 = l_Lean_nullKind;
-x_64 = l_Lean_Parser_ParserState_mkNode(x_54, x_63, x_51);
-x_65 = l_Lean_Parser_Level_imax___elambda__1___closed__1;
-x_66 = l_Lean_Parser_ParserState_mkNode(x_64, x_65, x_45);
-x_67 = 1;
-x_68 = l_Lean_Parser_mergeOrElseErrors(x_66, x_37, x_34, x_67);
-lean_dec(x_34);
-return x_68;
-}
-}
-else
-{
-lean_object* x_69; lean_object* x_70; uint8_t x_71; lean_object* x_72;
-lean_dec(x_49);
-lean_dec(x_1);
-x_69 = l_Lean_Parser_Level_imax___elambda__1___closed__1;
-x_70 = l_Lean_Parser_ParserState_mkNode(x_48, x_69, x_45);
-x_71 = 1;
-x_72 = l_Lean_Parser_mergeOrElseErrors(x_70, x_37, x_34, x_71);
-lean_dec(x_34);
-return x_72;
-}
-}
-else
-{
-uint8_t x_73; lean_object* x_74;
-lean_dec(x_43);
-lean_dec(x_1);
-x_73 = 1;
-x_74 = l_Lean_Parser_mergeOrElseErrors(x_42, x_37, x_34, x_73);
-lean_dec(x_34);
-return x_74;
-}
-}
-}
-}
}
}
static lean_object* _init_l_Lean_Parser_Level_imax___closed__1() {
@@ -2266,20 +1843,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Level_hole___elambda__1___closed__5() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Level_hole___elambda__1___closed__4;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Level_hole___elambda__1___closed__4;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Level_hole___elambda__1___closed__6() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Level_hole___elambda__1___closed__5;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Level_hole___elambda__1___closed__1;
+x_2 = l_Lean_Parser_Level_hole___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -2287,11 +1866,31 @@ static lean_object* _init_l_Lean_Parser_Level_hole___elambda__1___closed__7() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
x_2 = l_Lean_Parser_Level_hole___elambda__1___closed__6;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Level_hole___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Level_hole___elambda__1___closed__4;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Level_hole___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_hole___elambda__1___closed__8;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -2315,71 +1914,17 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
+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;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_11 = lean_ctor_get(x_7, 1);
-lean_inc(x_11);
-x_12 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_13 = lean_ctor_get(x_12, 3);
-lean_inc(x_13);
-if (lean_obj_tag(x_13) == 0)
-{
-lean_object* x_14; lean_object* x_15;
-x_14 = lean_ctor_get(x_12, 0);
-lean_inc(x_14);
-x_15 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_14);
-lean_dec(x_14);
-if (lean_obj_tag(x_15) == 2)
-{
-lean_object* x_16; lean_object* x_17; uint8_t x_18;
-x_16 = lean_ctor_get(x_15, 1);
-lean_inc(x_16);
-lean_dec(x_15);
-x_17 = l_Lean_Parser_Level_hole___elambda__1___closed__4;
-x_18 = lean_string_dec_eq(x_16, x_17);
-lean_dec(x_16);
-if (x_18 == 0)
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
-x_19 = l_Lean_Parser_Level_hole___elambda__1___closed__7;
-x_20 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_19, x_11);
-x_21 = l_Lean_Parser_Level_hole___elambda__1___closed__1;
-x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_10);
-return x_22;
-}
-else
-{
-lean_object* x_23; lean_object* x_24;
-lean_dec(x_11);
-x_23 = l_Lean_Parser_Level_hole___elambda__1___closed__1;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_12, x_23, x_10);
-return x_24;
-}
-}
-else
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
-lean_dec(x_15);
-x_25 = l_Lean_Parser_Level_hole___elambda__1___closed__7;
-x_26 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_25, x_11);
-x_27 = l_Lean_Parser_Level_hole___elambda__1___closed__1;
-x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_10);
-return x_28;
-}
-}
-else
-{
-lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
-lean_dec(x_13);
-x_29 = l_Lean_Parser_Level_hole___elambda__1___closed__7;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_29, x_11);
-x_31 = l_Lean_Parser_Level_hole___elambda__1___closed__1;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_10);
-return x_32;
-}
+x_11 = l_Lean_Parser_Level_hole___elambda__1___closed__4;
+x_12 = l_Lean_Parser_Level_hole___elambda__1___closed__9;
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = l_Lean_Parser_Level_hole___elambda__1___closed__1;
+x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
+return x_15;
}
else
{
@@ -2390,144 +1935,11 @@ return x_7;
}
else
{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_33 = lean_ctor_get(x_2, 0);
-lean_inc(x_33);
-x_34 = lean_array_get_size(x_33);
-lean_dec(x_33);
-x_35 = lean_ctor_get(x_2, 1);
-lean_inc(x_35);
-lean_inc(x_1);
-x_36 = lean_apply_2(x_4, x_1, x_2);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_36, 1);
-lean_inc(x_39);
-x_40 = lean_nat_dec_eq(x_39, x_35);
-lean_dec(x_39);
-if (x_40 == 0)
-{
-lean_dec(x_38);
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
-lean_inc(x_35);
-x_41 = l_Lean_Parser_ParserState_restore(x_36, x_34, x_35);
-lean_dec(x_34);
-x_42 = lean_unsigned_to_nat(1024u);
-x_43 = l_Lean_Parser_checkPrecFn(x_42, x_1, x_41);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-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_43, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-x_47 = lean_ctor_get(x_43, 1);
-lean_inc(x_47);
-x_48 = l_Lean_Parser_tokenFn(x_1, x_43);
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
-{
-lean_object* x_50; lean_object* x_51;
-x_50 = lean_ctor_get(x_48, 0);
-lean_inc(x_50);
-x_51 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_50);
-lean_dec(x_50);
-if (lean_obj_tag(x_51) == 2)
-{
-lean_object* x_52; lean_object* x_53; uint8_t x_54;
-x_52 = lean_ctor_get(x_51, 1);
-lean_inc(x_52);
-lean_dec(x_51);
-x_53 = l_Lean_Parser_Level_hole___elambda__1___closed__4;
-x_54 = lean_string_dec_eq(x_52, x_53);
-lean_dec(x_52);
-if (x_54 == 0)
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; uint8_t x_59; lean_object* x_60;
-x_55 = l_Lean_Parser_Level_hole___elambda__1___closed__7;
-x_56 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_55, x_47);
-x_57 = l_Lean_Parser_Level_hole___elambda__1___closed__1;
-x_58 = l_Lean_Parser_ParserState_mkNode(x_56, x_57, x_46);
-x_59 = 1;
-x_60 = l_Lean_Parser_mergeOrElseErrors(x_58, x_38, x_35, x_59);
-lean_dec(x_35);
-return x_60;
-}
-else
-{
-lean_object* x_61; lean_object* x_62; uint8_t x_63; lean_object* x_64;
-lean_dec(x_47);
-x_61 = l_Lean_Parser_Level_hole___elambda__1___closed__1;
-x_62 = l_Lean_Parser_ParserState_mkNode(x_48, x_61, x_46);
-x_63 = 1;
-x_64 = l_Lean_Parser_mergeOrElseErrors(x_62, x_38, x_35, x_63);
-lean_dec(x_35);
-return x_64;
-}
-}
-else
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; uint8_t x_69; lean_object* x_70;
-lean_dec(x_51);
-x_65 = l_Lean_Parser_Level_hole___elambda__1___closed__7;
-x_66 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_65, x_47);
-x_67 = l_Lean_Parser_Level_hole___elambda__1___closed__1;
-x_68 = l_Lean_Parser_ParserState_mkNode(x_66, x_67, x_46);
-x_69 = 1;
-x_70 = l_Lean_Parser_mergeOrElseErrors(x_68, x_38, x_35, x_69);
-lean_dec(x_35);
-return x_70;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; uint8_t x_75; lean_object* x_76;
-lean_dec(x_49);
-x_71 = l_Lean_Parser_Level_hole___elambda__1___closed__7;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_71, x_47);
-x_73 = l_Lean_Parser_Level_hole___elambda__1___closed__1;
-x_74 = l_Lean_Parser_ParserState_mkNode(x_72, x_73, x_46);
-x_75 = 1;
-x_76 = l_Lean_Parser_mergeOrElseErrors(x_74, x_38, x_35, x_75);
-lean_dec(x_35);
-return x_76;
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_44);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_43, x_38, x_35, x_77);
-lean_dec(x_35);
-return x_78;
-}
-}
-}
+lean_object* x_16; uint8_t x_17; lean_object* x_18;
+x_16 = l_Lean_Parser_Level_hole___elambda__1___closed__7;
+x_17 = 1;
+x_18 = l_Lean_Parser_orelseFnCore(x_4, x_16, x_17, x_1, x_2);
+return x_18;
}
}
}
@@ -3096,18 +2508,6 @@ x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Level_addLit___elambda__1___closed__7() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Level_addLit___elambda__1___closed__6;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
-}
-}
lean_object* l_Lean_Parser_Level_addLit___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -3118,91 +2518,35 @@ x_5 = lean_ctor_get(x_4, 3);
lean_inc(x_5);
if (lean_obj_tag(x_5) == 0)
{
-lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_16; lean_object* x_17; lean_object* x_18;
+lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
x_6 = lean_ctor_get(x_4, 0);
lean_inc(x_6);
x_7 = lean_array_get_size(x_6);
lean_dec(x_6);
-x_16 = lean_ctor_get(x_4, 1);
-lean_inc(x_16);
+x_8 = l_Lean_Parser_Level_addLit___elambda__1___closed__4;
+x_9 = l_Lean_Parser_Level_addLit___elambda__1___closed__6;
lean_inc(x_1);
-x_17 = l_Lean_Parser_tokenFn(x_1, x_4);
-x_18 = lean_ctor_get(x_17, 3);
-lean_inc(x_18);
-if (lean_obj_tag(x_18) == 0)
+x_10 = l_Lean_Parser_symbolFnAux(x_8, x_9, x_1, x_4);
+x_11 = lean_ctor_get(x_10, 3);
+lean_inc(x_11);
+if (lean_obj_tag(x_11) == 0)
{
-lean_object* x_19; lean_object* x_20;
-x_19 = lean_ctor_get(x_17, 0);
-lean_inc(x_19);
-x_20 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_19);
-lean_dec(x_19);
-if (lean_obj_tag(x_20) == 2)
-{
-lean_object* x_21; lean_object* x_22; uint8_t x_23;
-x_21 = lean_ctor_get(x_20, 1);
-lean_inc(x_21);
-lean_dec(x_20);
-x_22 = l_Lean_Parser_Level_addLit___elambda__1___closed__4;
-x_23 = lean_string_dec_eq(x_21, x_22);
-lean_dec(x_21);
-if (x_23 == 0)
-{
-lean_object* x_24; lean_object* x_25;
-x_24 = l_Lean_Parser_Level_addLit___elambda__1___closed__7;
-x_25 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_24, x_16);
-x_8 = x_25;
-goto block_15;
-}
-else
-{
-lean_dec(x_16);
-x_8 = x_17;
-goto block_15;
-}
-}
-else
-{
-lean_object* x_26; lean_object* x_27;
-lean_dec(x_20);
-x_26 = l_Lean_Parser_Level_addLit___elambda__1___closed__7;
-x_27 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_26, x_16);
-x_8 = x_27;
-goto block_15;
-}
-}
-else
-{
-lean_object* x_28; lean_object* x_29;
-lean_dec(x_18);
-x_28 = l_Lean_Parser_Level_addLit___elambda__1___closed__7;
-x_29 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_28, x_16);
-x_8 = x_29;
-goto block_15;
-}
-block_15:
-{
-lean_object* x_9;
-x_9 = lean_ctor_get(x_8, 3);
-lean_inc(x_9);
-if (lean_obj_tag(x_9) == 0)
-{
-lean_object* x_10; lean_object* x_11; lean_object* x_12;
-x_10 = l_Lean_Parser_numLit___elambda__1(x_1, x_8);
-x_11 = l_Lean_Parser_Level_addLit___elambda__1___closed__2;
-x_12 = l_Lean_Parser_ParserState_mkTrailingNode(x_10, x_11, x_7);
-lean_dec(x_7);
-return x_12;
-}
-else
-{
-lean_object* x_13; lean_object* x_14;
-lean_dec(x_9);
-lean_dec(x_1);
+lean_object* x_12; lean_object* x_13; lean_object* x_14;
+x_12 = l_Lean_Parser_numLit___elambda__1(x_1, x_10);
x_13 = l_Lean_Parser_Level_addLit___elambda__1___closed__2;
-x_14 = l_Lean_Parser_ParserState_mkTrailingNode(x_8, x_13, x_7);
+x_14 = l_Lean_Parser_ParserState_mkTrailingNode(x_12, x_13, x_7);
lean_dec(x_7);
return x_14;
}
+else
+{
+lean_object* x_15; lean_object* x_16;
+lean_dec(x_11);
+lean_dec(x_1);
+x_15 = l_Lean_Parser_Level_addLit___elambda__1___closed__2;
+x_16 = l_Lean_Parser_ParserState_mkTrailingNode(x_10, x_15, x_7);
+lean_dec(x_7);
+return x_16;
}
}
else
@@ -3421,6 +2765,22 @@ l_Lean_Parser_Level_paren___elambda__1___closed__1 = _init_l_Lean_Parser_Level_p
lean_mark_persistent(l_Lean_Parser_Level_paren___elambda__1___closed__1);
l_Lean_Parser_Level_paren___elambda__1___closed__2 = _init_l_Lean_Parser_Level_paren___elambda__1___closed__2();
lean_mark_persistent(l_Lean_Parser_Level_paren___elambda__1___closed__2);
+l_Lean_Parser_Level_paren___elambda__1___closed__3 = _init_l_Lean_Parser_Level_paren___elambda__1___closed__3();
+lean_mark_persistent(l_Lean_Parser_Level_paren___elambda__1___closed__3);
+l_Lean_Parser_Level_paren___elambda__1___closed__4 = _init_l_Lean_Parser_Level_paren___elambda__1___closed__4();
+lean_mark_persistent(l_Lean_Parser_Level_paren___elambda__1___closed__4);
+l_Lean_Parser_Level_paren___elambda__1___closed__5 = _init_l_Lean_Parser_Level_paren___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Level_paren___elambda__1___closed__5);
+l_Lean_Parser_Level_paren___elambda__1___closed__6 = _init_l_Lean_Parser_Level_paren___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Level_paren___elambda__1___closed__6);
+l_Lean_Parser_Level_paren___elambda__1___closed__7 = _init_l_Lean_Parser_Level_paren___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Level_paren___elambda__1___closed__7);
+l_Lean_Parser_Level_paren___elambda__1___closed__8 = _init_l_Lean_Parser_Level_paren___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Level_paren___elambda__1___closed__8);
+l_Lean_Parser_Level_paren___elambda__1___closed__9 = _init_l_Lean_Parser_Level_paren___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Level_paren___elambda__1___closed__9);
+l_Lean_Parser_Level_paren___elambda__1___closed__10 = _init_l_Lean_Parser_Level_paren___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Level_paren___elambda__1___closed__10);
l_Lean_Parser_Level_paren___closed__1 = _init_l_Lean_Parser_Level_paren___closed__1();
lean_mark_persistent(l_Lean_Parser_Level_paren___closed__1);
l_Lean_Parser_Level_paren___closed__2 = _init_l_Lean_Parser_Level_paren___closed__2();
@@ -3486,6 +2846,18 @@ l_Lean_Parser_Level_max___elambda__1___closed__6 = _init_l_Lean_Parser_Level_max
lean_mark_persistent(l_Lean_Parser_Level_max___elambda__1___closed__6);
l_Lean_Parser_Level_max___elambda__1___closed__7 = _init_l_Lean_Parser_Level_max___elambda__1___closed__7();
lean_mark_persistent(l_Lean_Parser_Level_max___elambda__1___closed__7);
+l_Lean_Parser_Level_max___elambda__1___closed__8 = _init_l_Lean_Parser_Level_max___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Level_max___elambda__1___closed__8);
+l_Lean_Parser_Level_max___elambda__1___closed__9 = _init_l_Lean_Parser_Level_max___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Level_max___elambda__1___closed__9);
+l_Lean_Parser_Level_max___elambda__1___closed__10 = _init_l_Lean_Parser_Level_max___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Level_max___elambda__1___closed__10);
+l_Lean_Parser_Level_max___elambda__1___closed__11 = _init_l_Lean_Parser_Level_max___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Level_max___elambda__1___closed__11);
+l_Lean_Parser_Level_max___elambda__1___closed__12 = _init_l_Lean_Parser_Level_max___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Level_max___elambda__1___closed__12);
+l_Lean_Parser_Level_max___elambda__1___closed__13 = _init_l_Lean_Parser_Level_max___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Level_max___elambda__1___closed__13);
l_Lean_Parser_Level_max___closed__1 = _init_l_Lean_Parser_Level_max___closed__1();
lean_mark_persistent(l_Lean_Parser_Level_max___closed__1);
l_Lean_Parser_Level_max___closed__2 = _init_l_Lean_Parser_Level_max___closed__2();
@@ -3551,6 +2923,14 @@ l_Lean_Parser_Level_imax___elambda__1___closed__6 = _init_l_Lean_Parser_Level_im
lean_mark_persistent(l_Lean_Parser_Level_imax___elambda__1___closed__6);
l_Lean_Parser_Level_imax___elambda__1___closed__7 = _init_l_Lean_Parser_Level_imax___elambda__1___closed__7();
lean_mark_persistent(l_Lean_Parser_Level_imax___elambda__1___closed__7);
+l_Lean_Parser_Level_imax___elambda__1___closed__8 = _init_l_Lean_Parser_Level_imax___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Level_imax___elambda__1___closed__8);
+l_Lean_Parser_Level_imax___elambda__1___closed__9 = _init_l_Lean_Parser_Level_imax___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Level_imax___elambda__1___closed__9);
+l_Lean_Parser_Level_imax___elambda__1___closed__10 = _init_l_Lean_Parser_Level_imax___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Level_imax___elambda__1___closed__10);
+l_Lean_Parser_Level_imax___elambda__1___closed__11 = _init_l_Lean_Parser_Level_imax___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Level_imax___elambda__1___closed__11);
l_Lean_Parser_Level_imax___closed__1 = _init_l_Lean_Parser_Level_imax___closed__1();
lean_mark_persistent(l_Lean_Parser_Level_imax___closed__1);
l_Lean_Parser_Level_imax___closed__2 = _init_l_Lean_Parser_Level_imax___closed__2();
@@ -3606,6 +2986,10 @@ l_Lean_Parser_Level_hole___elambda__1___closed__6 = _init_l_Lean_Parser_Level_ho
lean_mark_persistent(l_Lean_Parser_Level_hole___elambda__1___closed__6);
l_Lean_Parser_Level_hole___elambda__1___closed__7 = _init_l_Lean_Parser_Level_hole___elambda__1___closed__7();
lean_mark_persistent(l_Lean_Parser_Level_hole___elambda__1___closed__7);
+l_Lean_Parser_Level_hole___elambda__1___closed__8 = _init_l_Lean_Parser_Level_hole___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Level_hole___elambda__1___closed__8);
+l_Lean_Parser_Level_hole___elambda__1___closed__9 = _init_l_Lean_Parser_Level_hole___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Level_hole___elambda__1___closed__9);
l_Lean_Parser_Level_hole___closed__1 = _init_l_Lean_Parser_Level_hole___closed__1();
lean_mark_persistent(l_Lean_Parser_Level_hole___closed__1);
l_Lean_Parser_Level_hole___closed__2 = _init_l_Lean_Parser_Level_hole___closed__2();
@@ -3705,8 +3089,6 @@ l_Lean_Parser_Level_addLit___elambda__1___closed__5 = _init_l_Lean_Parser_Level_
lean_mark_persistent(l_Lean_Parser_Level_addLit___elambda__1___closed__5);
l_Lean_Parser_Level_addLit___elambda__1___closed__6 = _init_l_Lean_Parser_Level_addLit___elambda__1___closed__6();
lean_mark_persistent(l_Lean_Parser_Level_addLit___elambda__1___closed__6);
-l_Lean_Parser_Level_addLit___elambda__1___closed__7 = _init_l_Lean_Parser_Level_addLit___elambda__1___closed__7();
-lean_mark_persistent(l_Lean_Parser_Level_addLit___elambda__1___closed__7);
l_Lean_Parser_Level_addLit___closed__1 = _init_l_Lean_Parser_Level_addLit___closed__1();
lean_mark_persistent(l_Lean_Parser_Level_addLit___closed__1);
l_Lean_Parser_Level_addLit___closed__2 = _init_l_Lean_Parser_Level_addLit___closed__2();
diff --git a/stage0/stdlib/Lean/Parser/Module.c b/stage0/stdlib/Lean/Parser/Module.c
index a1409c7f89..95d652f605 100644
--- a/stage0/stdlib/Lean/Parser/Module.c
+++ b/stage0/stdlib/Lean/Parser/Module.c
@@ -15,34 +15,42 @@ extern "C" {
#endif
lean_object* lean_string_push(lean_object*, uint32_t);
lean_object* l_Lean_Parser_Module_import___elambda__1___closed__5;
+lean_object* l_Lean_Parser_Module_import___elambda__1___closed__15;
lean_object* l_Lean_Parser_Module_header_parenthesizer___closed__10;
lean_object* l_Lean_Parser_Module_module_parenthesizer___closed__6;
lean_object* l_Lean_Parser_Module_module_formatter___closed__2;
lean_object* l_Lean_Parser_Module_module___closed__5;
-lean_object* l_Std_PersistentArray_forMAux___at___private_Lean_Parser_Module_4__testModuleParserAux___main___spec__4___boxed(lean_object*, lean_object*, lean_object*);
-extern lean_object* l_Lean_Parser_manyAux___main___closed__1;
+extern lean_object* l_Lean_Name_getString_x21___closed__3;
lean_object* l_Lean_Parser_Module_module_formatter___closed__1;
+lean_object* l_Lean_Parser_Module_header___elambda__1___closed__5;
+lean_object* l_Lean_Parser_Module_updateTokens___closed__2;
+lean_object* l___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+extern lean_object* l_Lean_Parser_Term_quot___elambda__1___closed__7;
lean_object* l_Lean_Parser_andthenInfo(lean_object*, lean_object*);
lean_object* l_Lean_Parser_mkParserContext(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_prelude_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Module_import___closed__8;
-lean_object* l_Array_forMAux___main___at___private_Lean_Parser_Module_4__testModuleParserAux___main___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* lean_io_prim_handle_get_line(lean_object*, lean_object*);
lean_object* lean_io_timeit(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_module_parenthesizer___closed__4;
lean_object* l_Lean_Parser_Module_import___closed__4;
lean_object* l_Lean_Parser_Module_module_formatter___closed__9;
-lean_object* l_unreachable_x21___rarg(lean_object*);
lean_object* l_Lean_Parser_parseModule(lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_nullKind;
+lean_object* l___private_Lean_Parser_Module_0__Lean_Parser_mkEOI(lean_object*);
+lean_object* l_Lean_Parser_topLevelCommandParserFn___closed__3;
+lean_object* l_Lean_Parser_parseHeader_match__1(lean_object*);
lean_object* l_Lean_Parser_parseHeader(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_parseCommand_parse_match__2___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_module___closed__7;
lean_object* l_Lean_PrettyPrinter_Formatter_many_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_ModuleParserState_inhabited___closed__1;
-lean_object* l_IO_realPath___at_Lean_Parser_parseModule___spec__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Module_updateTokens___closed__4;
+lean_object* l_Lean_Parser_Module_header___elambda__1___closed__12;
lean_object* l_Lean_Format_pretty(lean_object*, lean_object*);
-lean_object* l_IO_print___at_Lean_HasRepr_hasEval___spec__2(lean_object*, lean_object*);
+lean_object* l___private_Lean_Parser_Module_0__Lean_Parser_mkEOI___closed__2;
lean_object* l_Lean_Parser_Module_header___closed__11;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_parseModuleAux_parse_match__1(lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Module_module_parenthesizer(lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Module_module_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Module_module_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -51,36 +59,38 @@ lean_object* l_Lean_Parser_Module_import___closed__10;
lean_object* l_Lean_Parser_Module_prelude;
lean_object* l_Lean_Parser_Module_import___elambda__1___closed__12;
extern lean_object* l_Array_empty___closed__1;
+lean_object* l___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop_match__1___rarg(lean_object*, lean_object*);
lean_object* l_Lean_PrettyPrinter_Formatter_orelse_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Parser_ident;
-lean_object* l_Lean_Parser_ParserState_mkNode(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_mkParserState(lean_object*);
+lean_object* l_Lean_Parser_testModuleParser_match__1(lean_object*);
extern lean_object* l_Std_PersistentArray_empty___closed__1;
lean_object* l_Lean_Parser_Module_prelude___elambda__1___closed__2;
+lean_object* l_Array_forMAux___main___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__10___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Parser_Module_0__Lean_Parser_consumeInput_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_import;
lean_object* l_Lean_Parser_Module_import___elambda__1___closed__2;
-lean_object* l___private_Lean_Parser_Module_1__mkErrorMessage___boxed(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Module_header___elambda__1___closed__9;
lean_object* l_Lean_Parser_Module_prelude_formatter___closed__2;
lean_object* l_Lean_Parser_Module_module___closed__3;
-lean_object* l_Lean_MessageLog_forM___at___private_Lean_Parser_Module_4__testModuleParserAux___main___spec__2(lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Parser_Module_0__Lean_Parser_mkEOI___closed__1;
+lean_object* l_IO_println___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Module_header___elambda__1___closed__8;
lean_object* l_Lean_Parser_Module_header___closed__4;
-lean_object* l_Std_PersistentArray_forM___at___private_Lean_Parser_Module_4__testModuleParserAux___main___spec__3___boxed(lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Parser_Module_2__mkEOI(lean_object*);
lean_object* l_Lean_Parser_mkInputContext(lean_object*, lean_object*);
lean_object* lean_array_push(lean_object*, lean_object*);
lean_object* lean_array_get_size(lean_object*);
lean_object* l_Lean_Parser_Module_prelude___elambda__1___closed__1;
lean_object* l_Lean_Parser_Module_prelude_formatter___closed__1;
lean_object* l_Lean_Parser_Module_module_parenthesizer___closed__1;
-extern lean_object* l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
lean_object* lean_string_append(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_header___closed__9;
lean_object* l_Lean_Parser_tokenFn(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_updateTokens___closed__1;
lean_object* l_Lean_Parser_Module_header_parenthesizer___closed__5;
lean_object* l_Lean_Parser_Module_import___closed__9;
+lean_object* l_Array_forMAux___main___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_isExitCommand___boxed(lean_object*);
-lean_object* l___private_Lean_Parser_Module_1__mkErrorMessage(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_import___elambda__1___closed__1;
extern lean_object* l_String_splitAux___main___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Module_module_formatter___closed__1;
@@ -91,193 +101,232 @@ lean_object* l_Lean_Parser_Module_header_formatter___closed__6;
lean_object* l_Lean_Parser_parseFile(lean_object*, lean_object*, lean_object*);
lean_object* l_IO_FS_Handle_mk___at_Lean_Parser_parseFile___spec__2(lean_object*, uint8_t, uint8_t, lean_object*);
extern lean_object* l_Lean_Parser_antiquotNestedExpr_parenthesizer___closed__3;
-lean_object* l_Array_forMAux___main___at___private_Lean_Parser_Module_4__testModuleParserAux___main___spec__5(lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_IO_FS_Handle_getLine___at_Lean_Parser_parseFile___spec__4___boxed(lean_object*, lean_object*);
extern lean_object* l_Lean_mkAppStx___closed__4;
-lean_object* l_Lean_Parser_ParserState_mkErrorsAt(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_module_formatter___closed__4;
lean_object* l_Lean_Parser_mkAntiquot_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_leadingNode_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+uint8_t l_Lean_Parser_ModuleParserState_recovering___default;
lean_object* l_Lean_Parser_Module_prelude_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_import_parenthesizer___closed__3;
-lean_object* l_Lean_Parser_testModuleParser___lambda__1(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_testModuleParser___lambda__1(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*);
lean_object* l_IO_FS_readFile___at_Lean_Parser_parseFile___spec__1___boxed(lean_object*, lean_object*);
lean_object* l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_import_formatter___closed__4;
+lean_object* l_Lean_Parser_parseModuleAux_parse___closed__2;
lean_object* l_Lean_Parser_Module_header___elambda__1___closed__4;
lean_object* l_Lean_Parser_Module_import___elambda__1___closed__13;
lean_object* l_Lean_Parser_Module_module___closed__8;
-lean_object* l_Lean_Parser_checkPrecFn(lean_object*, lean_object*, lean_object*);
lean_object* lean_nat_add(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_prelude___closed__4;
lean_object* l_Lean_Parser_Module_module___closed__4;
+lean_object* l_Lean_Parser_testModuleParser_match__1___rarg(lean_object*, lean_object*);
lean_object* l_Lean_PrettyPrinter_Formatter_optional_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_module_parenthesizer___closed__7;
lean_object* l_Lean_Parser_Module_header___elambda__1___closed__1;
-lean_object* l_Lean_Parser_parseModuleAux___main___closed__1;
+lean_object* l___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_MessageLog_forM___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__5___boxed(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_PrettyPrinter_parenthesizerAttribute;
lean_object* l_Lean_Parser_Module_import_parenthesizer___closed__1;
lean_object* l_Lean_Parser_initCacheForInput(lean_object*);
lean_object* l_Lean_Parser_Module_import___elambda__1___closed__4;
+extern lean_object* l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
lean_object* l_Lean_Parser_Module_import___elambda__1___closed__11;
lean_object* l_Lean_Parser_Module_module_parenthesizer___closed__2;
extern lean_object* l_Lean_Parser_Command_exit___elambda__1___closed__2;
+lean_object* l_IO_FS_Handle_readToEndAux___main___at_Lean_Parser_parseFile___spec__3(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_header___elambda__1___closed__2;
lean_object* lean_array_fget(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_parseHeader_match__1___rarg(lean_object*, lean_object*, lean_object*);
+extern lean_object* l_Lean_Parser_ident___closed__2;
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
lean_object* l_Lean_Parser_testModuleParser___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_parseModuleAux___main___closed__2;
+lean_object* l_Lean_Parser_lookaheadFn(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_header___closed__2;
lean_object* l_Lean_Parser_Module_import___elambda__1___closed__8;
lean_object* l_Lean_Parser_nodeInfo(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_symbolFn___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_EStateM_bind___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_module___closed__6;
lean_object* l_Lean_Parser_Module_header_parenthesizer___closed__6;
-lean_object* l_IO_println___at_Lean_HasRepr_hasEval___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_noFirstTokenInfo(lean_object*);
lean_object* l_Lean_Parser_Module_module___elambda__1___closed__1;
lean_object* l_Lean_Parser_Module_prelude_formatter___closed__3;
extern lean_object* l___regBuiltin_Lean_Parser_ident_parenthesizer___closed__1;
-lean_object* l_Lean_Parser_parseModuleAux___main(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_header___closed__1;
-lean_object* l_Lean_Parser_whitespace___main(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_import_parenthesizer___closed__4;
-uint8_t l_Lean_Parser_tryAnti(lean_object*, lean_object*);
lean_object* l_Lean_Parser_optionaInfo(lean_object*);
lean_object* l_Lean_Parser_Module_import_parenthesizer___closed__2;
lean_object* l_Lean_Syntax_updateLeading(lean_object*);
lean_object* lean_io_realpath(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_header___closed__8;
+lean_object* l___private_Lean_Parser_Module_0__Lean_Parser_mkErrorMessage___boxed(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Module_module___elambda__1___closed__4;
+lean_object* l_Lean_Parser_Lean_Parser_Module___instance__1___closed__1;
lean_object* l_Lean_Parser_testModuleParser___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_parseCommand___main(lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Parser_Module_0__Lean_Parser_mkErrorMessage(lean_object*, lean_object*, lean_object*);
lean_object* l_IO_Prim_fopenFlags(uint8_t, uint8_t);
-extern lean_object* l_Char_HasRepr___closed__1;
+lean_object* l_Lean_Parser_Module_updateTokens___closed__3;
+lean_object* l_Lean_Parser_Module_module___elambda__1___closed__2;
lean_object* l_Lean_Parser_Module_header___closed__6;
lean_object* l_Lean_Parser_orelseInfo(lean_object*, lean_object*);
lean_object* l_Lean_Parser_topLevelCommandParserFn(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_header_formatter___closed__7;
+lean_object* l___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_prelude___elambda__1___closed__10;
lean_object* l_Lean_Parser_testModuleParser___closed__1;
extern lean_object* l___regBuiltin_Lean_Parser_ident_formatter___closed__2;
-lean_object* l_IO_println___at___private_Lean_Parser_Module_4__testModuleParserAux___main___spec__1(lean_object*, lean_object*);
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Module_module___elambda__1___spec__1(lean_object*, lean_object*);
lean_object* lean_name_mk_string(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_import_formatter___closed__6;
lean_object* l_Lean_Parser_Module_module_parenthesizer___closed__5;
lean_object* l_Lean_Parser_Module_prelude___elambda__1___closed__7;
-lean_object* l_Array_forMAux___main___at___private_Lean_Parser_Module_4__testModuleParserAux___main___spec__6(lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_parseModule_match__1___rarg(lean_object*, lean_object*);
extern lean_object* l_Lean_PrettyPrinter_formatterAttribute;
lean_object* l_Lean_Parser_addParserTokens(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_header_parenthesizer___closed__2;
-lean_object* l___private_Lean_Parser_Module_4__testModuleParserAux___main___closed__1;
+lean_object* l_IO_FS_Handle_readToEndAux___main___at_Lean_Parser_parseFile___spec__3___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_import___closed__1;
-lean_object* l___private_Lean_Parser_Module_4__testModuleParserAux___main___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Module_header___elambda__1___closed__11;
lean_object* l_Lean_Parser_Module_import_formatter___closed__7;
lean_object* l_Lean_FileMap_toPosition(lean_object*, lean_object*);
uint8_t l_Std_PersistentArray_isEmpty___rarg(lean_object*);
lean_object* l_Lean_Parser_Module_header_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Module_header_formatter___closed__9;
lean_object* l_Lean_Parser_Module_module_formatter___closed__10;
+lean_object* l_Lean_Parser_whitespace(lean_object*, lean_object*);
extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___closed__12;
lean_object* l_IO_FS_readFile___at_Lean_Parser_parseFile___spec__1(lean_object*, lean_object*);
-lean_object* l_Lean_Parser_ParserState_restore(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_module;
lean_object* l_Lean_Parser_Module_prelude_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Module_import_formatter___closed__5;
lean_object* l_Lean_Parser_Module_header;
lean_object* l_Lean_Parser_Module_import_formatter___closed__3;
lean_object* l_Lean_Parser_Module_header_parenthesizer___closed__4;
+lean_object* l_Lean_Parser_Module_module___elambda__1___closed__6;
+lean_object* l_Std_PersistentArray_forM___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__6(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_import___closed__6;
lean_object* l_Lean_Parser_Module_module_formatter___closed__5;
lean_object* l_Lean_Parser_Module_header___closed__5;
lean_object* l_Lean_Parser_Module_header_parenthesizer___closed__8;
+lean_object* l_IO_FS_Handle_getLine___at_Lean_Parser_parseFile___spec__4(lean_object*, lean_object*);
+lean_object* l___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___lambda__1(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_header_parenthesizer___closed__9;
lean_object* l_Lean_Parser_Module_prelude___closed__5;
lean_object* l_Lean_Parser_Module_import___closed__2;
-lean_object* l_Lean_Parser_ModuleParserState_inhabited;
+lean_object* l_Lean_Parser_parseCommand_parse_match__1(lean_object*);
lean_object* l_Lean_Parser_Module_prelude___elambda__1___closed__5;
extern lean_object* l_Lean_Parser_Term_quot_formatter___closed__3;
+lean_object* l___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_module_formatter___closed__3;
+lean_object* l___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_parseModuleAux_parse(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_mk_empty_environment(uint32_t, lean_object*);
-lean_object* l_Lean_Parser_ident___elambda__1(lean_object*, lean_object*);
-lean_object* l___private_Lean_Parser_Module_4__testModuleParserAux___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_header_formatter___closed__2;
+lean_object* l_Lean_Parser_parseCommand_parse_match__2(lean_object*);
+lean_object* l_Lean_Parser_parseCommand_parse(lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Parser_Command_mutual___closed__2;
lean_object* l_Std_PersistentArray_push___rarg(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Module_header___elambda__1___closed__7;
lean_object* l_Lean_Parser_Module_module___closed__9;
-lean_object* l_Lean_MessageLog_forM___at___private_Lean_Parser_Module_4__testModuleParserAux___main___spec__2___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Error_toString(lean_object*);
+lean_object* l___private_Lean_Parser_Module_0__Lean_Parser_consumeInput_match__1(lean_object*);
extern lean_object* l___regBuiltin_Lean_PrettyPrinter_Formatter_ppLine_formatter___closed__3;
-lean_object* l___private_Lean_Parser_Module_2__mkEOI___closed__2;
+lean_object* l_Lean_Parser_Module_header___elambda__1___closed__10;
uint8_t l_Lean_Parser_isExitCommand(lean_object*);
+lean_object* l_Lean_Parser_Module_module___elambda__1___closed__3;
lean_object* l_Lean_Parser_Module_updateTokens(lean_object*);
lean_object* l_Lean_Parser_Module_prelude___closed__3;
-lean_object* l_Lean_Parser_mergeOrElseErrors(lean_object*, lean_object*, lean_object*, uint8_t);
lean_object* l_Lean_Parser_Module_import___closed__3;
lean_object* l_Lean_Parser_Module_module_formatter___closed__7;
+lean_object* l_Lean_Parser_Lean_Parser_Module___instance__1;
lean_object* l_Lean_Parser_Module_prelude___closed__1;
-extern lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3127____closed__4;
-lean_object* l___private_Lean_Parser_Module_2__mkEOI___closed__1;
-lean_object* l_Std_PersistentArray_forMAux___at___private_Lean_Parser_Module_4__testModuleParserAux___main___spec__4(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_header_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_header___closed__7;
+lean_object* lean_panic_fn(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_import_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_import___closed__7;
+lean_object* l_IO_println___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__4(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_header_parenthesizer___closed__3;
+lean_object* l___private_Lean_Parser_Module_0__Lean_Parser_consumeInput(lean_object*, lean_object*);
+lean_object* l___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___closed__1;
+lean_object* lean_get_stdout(lean_object*);
lean_object* l_Lean_Parser_Module_module___closed__2;
lean_object* l_Lean_Parser_Module_module___closed__1;
lean_object* l_Lean_Parser_symbolInfo(lean_object*);
+lean_object* l_Lean_Parser_orelseFnCore(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*);
extern lean_object* l_Lean_Parser_epsilonInfo;
lean_object* l_Lean_Parser_Module_prelude___elambda__1___closed__6;
lean_object* l___regBuiltin_Lean_Parser_Module_module_formatter(lean_object*);
-lean_object* l_Lean_Parser_categoryParser___elambda__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_prelude___closed__2;
extern lean_object* l___regBuiltin_Lean_Parser_ppLine_parenthesizer___closed__1;
lean_object* l_Lean_Parser_topLevelCommandParserFn___closed__1;
lean_object* l_Lean_Parser_Module_module_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_import_formatter___closed__2;
extern lean_object* l_Lean_mkAppStx___closed__9;
+lean_object* l_Lean_Parser_parseModuleAux_parse_match__1___rarg(lean_object*, lean_object*);
+extern lean_object* l_Lean_Parser_Parser_inhabited___closed__2;
+lean_object* l_Lean_Parser_topLevelCommandParserFn___closed__2;
extern lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer___closed__3;
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Module_header___elambda__1___spec__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_topLevelCommandParserFn___closed__4;
lean_object* l_Lean_Parser_Module_import___elambda__1___closed__7;
-lean_object* l_Array_forMAux___main___at___private_Lean_Parser_Module_4__testModuleParserAux___main___spec__7(lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Module_module___elambda__1___closed__5;
lean_object* l_Lean_Parser_Module_header___closed__3;
+lean_object* l_IO_getStdout___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__3(lean_object*);
+lean_object* l_Array_forMAux___main___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__10(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_String_trim(lean_object*);
lean_object* l_Lean_Parser_Module_module___elambda__1(lean_object*, lean_object*);
+extern lean_object* l_Lean_Parser_Level_paren___elambda__1___closed__8;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_optional_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Parser_Module_4__testModuleParserAux(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_nodeFn(lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_optionalFn(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Module_updateTokens_match__1(lean_object*);
+lean_object* l_Lean_Parser_parseModuleAux_parse___closed__1;
lean_object* l_IO_FS_Handle_mk___at_Lean_Parser_parseFile___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Syntax_isOfKind(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_import___closed__5;
lean_object* l_Lean_Parser_Module_module_parenthesizer___closed__3;
-lean_object* l_IO_FS_Handle_readToEndAux___main___at_IO_Process_output___spec__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_header_formatter___closed__3;
+lean_object* l_Lean_Parser_errorFn___boxed(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Module_module___elambda__1___closed__7;
lean_object* l_Lean_Parser_Module_prelude___elambda__1(lean_object*, lean_object*);
+lean_object* l_Array_forMAux___main___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* lean_string_length(lean_object*);
lean_object* l_Lean_Parser_Module_import___elambda__1___closed__14;
lean_object* l_Lean_Parser_Module_header_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_mkAntiquot(lean_object*, lean_object*, uint8_t);
+lean_object* l_Std_PersistentArray_forM___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__6___boxed(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_parseModule_match__1(lean_object*);
+lean_object* l_Lean_Parser_ModuleParserState_pos___default;
uint8_t l_Lean_Parser_isEOI(lean_object*);
-lean_object* l___private_Lean_Parser_Module_4__testModuleParserAux___main___lambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_prelude_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___lambda__2(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_manyFn(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_mkOptionalNode___closed__2;
lean_object* l_Lean_Parser_Module_import___elambda__1___closed__10;
-lean_object* l_Array_forMAux___main___at___private_Lean_Parser_Module_4__testModuleParserAux___main___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_PrettyPrinter_Formatter_symbol_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_header___closed__10;
+lean_object* l_Lean_MessageLog_forM___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__5(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Parser_Term_quot_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Module_prelude___elambda__1___closed__3;
uint8_t l_Std_PersistentArray_anyM___at_Lean_MessageLog_hasErrors___spec__1(lean_object*);
lean_object* l_Lean_Parser_Module_import___elambda__1___closed__9;
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_Parser_Module_header___elambda__1___closed__6;
+lean_object* l___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop_match__1(lean_object*);
lean_object* l_Lean_Parser_parseModuleAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Array_forMAux___main___at___private_Lean_Parser_Module_4__testModuleParserAux___main___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_header_formatter___closed__5;
-lean_object* l_Lean_Parser_ParserState_mkUnexpectedError(lean_object*, lean_object*);
+lean_object* l_Array_forMAux___main___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__8(lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_parseCommand_parse_match__1___rarg(lean_object*, lean_object*, lean_object*);
+lean_object* l_Std_PersistentArray_forMAux___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__7(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_import_formatter___closed__1;
lean_object* l_Lean_Message_toString(lean_object*, lean_object*);
+lean_object* l_Array_forMAux___main___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__9(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_prelude___elambda__1___closed__8;
lean_object* l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(lean_object*);
+lean_object* l_IO_print___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__2(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_import___elambda__1___closed__3;
+lean_object* l_Lean_Parser_Module_updateTokens_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_header_formatter___closed__10;
uint8_t lean_string_utf8_at_end(lean_object*, lean_object*);
lean_object* lean_test_module_parser(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*);
@@ -285,24 +334,23 @@ lean_object* l_Lean_Parser_Module_header_formatter___closed__8;
lean_object* l_Lean_Parser_Module_module_formatter___closed__6;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_many_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_io_prim_handle_mk(lean_object*, lean_object*, lean_object*);
-lean_object* l_Std_PersistentArray_forM___at___private_Lean_Parser_Module_4__testModuleParserAux___main___spec__3(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Trie_Lean_Data_Trie___instance__2(lean_object*);
lean_object* l_Lean_Parser_Module_prelude___elambda__1___closed__4;
lean_object* l_Lean_Parser_Module_import___elambda__1___closed__6;
lean_object* l_Lean_Syntax_formatStxAux(lean_object*, uint8_t, lean_object*, lean_object*);
-lean_object* l___private_Lean_Parser_Module_4__testModuleParserAux___main(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Init_Util_2__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_PrettyPrinter_Formatter_andthen_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_parseCommand(lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Std_PersistentArray_forMAux___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__7___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_prelude___closed__6;
lean_object* l_Lean_Parser_Module_header_formatter___closed__1;
lean_object* l_Lean_Parser_mkAntiquot_parenthesizer___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_import___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_isEOI___boxed(lean_object*);
lean_object* l_Lean_Parser_Module_header___elambda__1(lean_object*, lean_object*);
-uint8_t lean_string_dec_eq(lean_object*, lean_object*);
uint8_t lean_nat_dec_lt(lean_object*, lean_object*);
-lean_object* l___private_Lean_Parser_Module_3__consumeInput(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_header_formatter___closed__4;
+lean_object* l_Lean_Parser_andthenFn(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Module_prelude___elambda__1___closed__9;
static lean_object* _init_l_Lean_Parser_Module_prelude___elambda__1___closed__1() {
_start:
@@ -373,20 +421,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Module_prelude___elambda__1___closed__8() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Module_prelude___elambda__1___closed__7;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Module_prelude___elambda__1___closed__7;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Module_prelude___elambda__1___closed__9() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Module_prelude___elambda__1___closed__8;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Module_prelude___elambda__1___closed__4;
+x_2 = l_Lean_Parser_Module_prelude___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -394,250 +444,27 @@ static lean_object* _init_l_Lean_Parser_Module_prelude___elambda__1___closed__10
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
x_2 = l_Lean_Parser_Module_prelude___elambda__1___closed__9;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
lean_object* l_Lean_Parser_Module_prelude___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Module_prelude___elambda__1___closed__6;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_11 = lean_ctor_get(x_7, 1);
-lean_inc(x_11);
-x_12 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_13 = lean_ctor_get(x_12, 3);
-lean_inc(x_13);
-if (lean_obj_tag(x_13) == 0)
-{
-lean_object* x_14; lean_object* x_15;
-x_14 = lean_ctor_get(x_12, 0);
-lean_inc(x_14);
-x_15 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_14);
-lean_dec(x_14);
-if (lean_obj_tag(x_15) == 2)
-{
-lean_object* x_16; lean_object* x_17; uint8_t x_18;
-x_16 = lean_ctor_get(x_15, 1);
-lean_inc(x_16);
-lean_dec(x_15);
-x_17 = l_Lean_Parser_Module_prelude___elambda__1___closed__7;
-x_18 = lean_string_dec_eq(x_16, x_17);
-lean_dec(x_16);
-if (x_18 == 0)
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
-x_19 = l_Lean_Parser_Module_prelude___elambda__1___closed__10;
-x_20 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_19, x_11);
-x_21 = l_Lean_Parser_Module_prelude___elambda__1___closed__4;
-x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_10);
-return x_22;
-}
-else
-{
-lean_object* x_23; lean_object* x_24;
-lean_dec(x_11);
-x_23 = l_Lean_Parser_Module_prelude___elambda__1___closed__4;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_12, x_23, x_10);
-return x_24;
-}
-}
-else
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
-lean_dec(x_15);
-x_25 = l_Lean_Parser_Module_prelude___elambda__1___closed__10;
-x_26 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_25, x_11);
-x_27 = l_Lean_Parser_Module_prelude___elambda__1___closed__4;
-x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_10);
-return x_28;
-}
-}
-else
-{
-lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
-lean_dec(x_13);
-x_29 = l_Lean_Parser_Module_prelude___elambda__1___closed__10;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_29, x_11);
-x_31 = l_Lean_Parser_Module_prelude___elambda__1___closed__4;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_10);
-return x_32;
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Module_prelude___elambda__1___closed__10;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_33 = lean_ctor_get(x_2, 0);
-lean_inc(x_33);
-x_34 = lean_array_get_size(x_33);
-lean_dec(x_33);
-x_35 = lean_ctor_get(x_2, 1);
-lean_inc(x_35);
-lean_inc(x_1);
-x_36 = lean_apply_2(x_4, x_1, x_2);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_36, 1);
-lean_inc(x_39);
-x_40 = lean_nat_dec_eq(x_39, x_35);
-lean_dec(x_39);
-if (x_40 == 0)
-{
-lean_dec(x_38);
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
-lean_inc(x_35);
-x_41 = l_Lean_Parser_ParserState_restore(x_36, x_34, x_35);
-lean_dec(x_34);
-x_42 = lean_unsigned_to_nat(1024u);
-x_43 = l_Lean_Parser_checkPrecFn(x_42, x_1, x_41);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-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_43, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-x_47 = lean_ctor_get(x_43, 1);
-lean_inc(x_47);
-x_48 = l_Lean_Parser_tokenFn(x_1, x_43);
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
-{
-lean_object* x_50; lean_object* x_51;
-x_50 = lean_ctor_get(x_48, 0);
-lean_inc(x_50);
-x_51 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_50);
-lean_dec(x_50);
-if (lean_obj_tag(x_51) == 2)
-{
-lean_object* x_52; lean_object* x_53; uint8_t x_54;
-x_52 = lean_ctor_get(x_51, 1);
-lean_inc(x_52);
-lean_dec(x_51);
-x_53 = l_Lean_Parser_Module_prelude___elambda__1___closed__7;
-x_54 = lean_string_dec_eq(x_52, x_53);
-lean_dec(x_52);
-if (x_54 == 0)
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; uint8_t x_59; lean_object* x_60;
-x_55 = l_Lean_Parser_Module_prelude___elambda__1___closed__10;
-x_56 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_55, x_47);
-x_57 = l_Lean_Parser_Module_prelude___elambda__1___closed__4;
-x_58 = l_Lean_Parser_ParserState_mkNode(x_56, x_57, x_46);
-x_59 = 1;
-x_60 = l_Lean_Parser_mergeOrElseErrors(x_58, x_38, x_35, x_59);
-lean_dec(x_35);
-return x_60;
-}
-else
-{
-lean_object* x_61; lean_object* x_62; uint8_t x_63; lean_object* x_64;
-lean_dec(x_47);
-x_61 = l_Lean_Parser_Module_prelude___elambda__1___closed__4;
-x_62 = l_Lean_Parser_ParserState_mkNode(x_48, x_61, x_46);
-x_63 = 1;
-x_64 = l_Lean_Parser_mergeOrElseErrors(x_62, x_38, x_35, x_63);
-lean_dec(x_35);
-return x_64;
-}
-}
-else
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; uint8_t x_69; lean_object* x_70;
-lean_dec(x_51);
-x_65 = l_Lean_Parser_Module_prelude___elambda__1___closed__10;
-x_66 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_65, x_47);
-x_67 = l_Lean_Parser_Module_prelude___elambda__1___closed__4;
-x_68 = l_Lean_Parser_ParserState_mkNode(x_66, x_67, x_46);
-x_69 = 1;
-x_70 = l_Lean_Parser_mergeOrElseErrors(x_68, x_38, x_35, x_69);
-lean_dec(x_35);
-return x_70;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; uint8_t x_75; lean_object* x_76;
-lean_dec(x_49);
-x_71 = l_Lean_Parser_Module_prelude___elambda__1___closed__10;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_71, x_47);
-x_73 = l_Lean_Parser_Module_prelude___elambda__1___closed__4;
-x_74 = l_Lean_Parser_ParserState_mkNode(x_72, x_73, x_46);
-x_75 = 1;
-x_76 = l_Lean_Parser_mergeOrElseErrors(x_74, x_38, x_35, x_75);
-lean_dec(x_35);
-return x_76;
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_44);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_43, x_38, x_35, x_77);
-lean_dec(x_35);
-return x_78;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Module_prelude___closed__1() {
_start:
{
@@ -766,59 +593,59 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Module_import___elambda__1___closed__7() {
_start:
{
-lean_object* x_1;
-x_1 = lean_mk_string("runtime");
-return x_1;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Module_import___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Module_import___elambda__1___closed__8() {
_start:
{
-lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Module_import___elambda__1___closed__7;
-x_2 = l_String_trim(x_1);
-return x_2;
+lean_object* x_1;
+x_1 = lean_mk_string("runtime");
+return x_1;
}
}
static lean_object* _init_l_Lean_Parser_Module_import___elambda__1___closed__9() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Module_import___elambda__1___closed__8;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Module_import___elambda__1___closed__8;
+x_2 = l_String_trim(x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Module_import___elambda__1___closed__10() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
+lean_object* x_1; lean_object* x_2;
x_1 = l_Lean_Parser_Module_import___elambda__1___closed__9;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Module_import___elambda__1___closed__11() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Module_import___elambda__1___closed__10;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Module_import___elambda__1___closed__10;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optionalFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Module_import___elambda__1___closed__12() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Module_import___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Module_import___elambda__1___closed__11;
+x_2 = l_Lean_Parser_ident___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -826,9 +653,11 @@ static lean_object* _init_l_Lean_Parser_Module_import___elambda__1___closed__13(
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Module_import___elambda__1___closed__12;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Module_import___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Module_import___elambda__1___closed__12;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -836,599 +665,39 @@ static lean_object* _init_l_Lean_Parser_Module_import___elambda__1___closed__14(
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Module_import___elambda__1___closed__2;
x_2 = l_Lean_Parser_Module_import___elambda__1___closed__13;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Module_import___elambda__1___closed__15() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Module_import___elambda__1___closed__14;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
lean_object* l_Lean_Parser_Module_import___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Module_import___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_62; lean_object* x_63; lean_object* x_64;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_62 = lean_ctor_get(x_7, 1);
-lean_inc(x_62);
-lean_inc(x_1);
-x_63 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_64 = lean_ctor_get(x_63, 3);
-lean_inc(x_64);
-if (lean_obj_tag(x_64) == 0)
-{
-lean_object* x_65; lean_object* x_66;
-x_65 = lean_ctor_get(x_63, 0);
-lean_inc(x_65);
-x_66 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_65);
-lean_dec(x_65);
-if (lean_obj_tag(x_66) == 2)
-{
-lean_object* x_67; lean_object* x_68; uint8_t x_69;
-x_67 = lean_ctor_get(x_66, 1);
-lean_inc(x_67);
-lean_dec(x_66);
-x_68 = l_Lean_Parser_Module_import___elambda__1___closed__6;
-x_69 = lean_string_dec_eq(x_67, x_68);
-lean_dec(x_67);
-if (x_69 == 0)
-{
-lean_object* x_70; lean_object* x_71;
-x_70 = l_Lean_Parser_Module_import___elambda__1___closed__14;
-x_71 = l_Lean_Parser_ParserState_mkErrorsAt(x_63, x_70, x_62);
-x_11 = x_71;
-goto block_61;
-}
-else
-{
-lean_dec(x_62);
-x_11 = x_63;
-goto block_61;
-}
-}
-else
-{
-lean_object* x_72; lean_object* x_73;
-lean_dec(x_66);
-x_72 = l_Lean_Parser_Module_import___elambda__1___closed__14;
-x_73 = l_Lean_Parser_ParserState_mkErrorsAt(x_63, x_72, x_62);
-x_11 = x_73;
-goto block_61;
-}
-}
-else
-{
-lean_object* x_74; lean_object* x_75;
-lean_dec(x_64);
-x_74 = l_Lean_Parser_Module_import___elambda__1___closed__14;
-x_75 = l_Lean_Parser_ParserState_mkErrorsAt(x_63, x_74, x_62);
-x_11 = x_75;
-goto block_61;
-}
-block_61:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_46; lean_object* x_47;
-x_13 = lean_ctor_get(x_11, 0);
-lean_inc(x_13);
-x_14 = lean_array_get_size(x_13);
-lean_dec(x_13);
-x_15 = lean_ctor_get(x_11, 1);
-lean_inc(x_15);
-lean_inc(x_1);
-x_46 = l_Lean_Parser_tokenFn(x_1, x_11);
-x_47 = lean_ctor_get(x_46, 3);
-lean_inc(x_47);
-if (lean_obj_tag(x_47) == 0)
-{
-lean_object* x_48; lean_object* x_49;
-x_48 = lean_ctor_get(x_46, 0);
-lean_inc(x_48);
-x_49 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_48);
-lean_dec(x_48);
-if (lean_obj_tag(x_49) == 2)
-{
-lean_object* x_50; lean_object* x_51; uint8_t x_52;
-x_50 = lean_ctor_get(x_49, 1);
-lean_inc(x_50);
-lean_dec(x_49);
-x_51 = l_Lean_Parser_Module_import___elambda__1___closed__8;
-x_52 = lean_string_dec_eq(x_50, x_51);
-lean_dec(x_50);
-if (x_52 == 0)
-{
-lean_object* x_53; lean_object* x_54;
-x_53 = l_Lean_Parser_Module_import___elambda__1___closed__11;
-lean_inc(x_15);
-x_54 = l_Lean_Parser_ParserState_mkErrorsAt(x_46, x_53, x_15);
-x_16 = x_54;
-goto block_45;
-}
-else
-{
-x_16 = x_46;
-goto block_45;
-}
-}
-else
-{
-lean_object* x_55; lean_object* x_56;
-lean_dec(x_49);
-x_55 = l_Lean_Parser_Module_import___elambda__1___closed__11;
-lean_inc(x_15);
-x_56 = l_Lean_Parser_ParserState_mkErrorsAt(x_46, x_55, x_15);
-x_16 = x_56;
-goto block_45;
-}
-}
-else
-{
-lean_object* x_57; lean_object* x_58;
-lean_dec(x_47);
-x_57 = l_Lean_Parser_Module_import___elambda__1___closed__11;
-lean_inc(x_15);
-x_58 = l_Lean_Parser_ParserState_mkErrorsAt(x_46, x_57, x_15);
-x_16 = x_58;
-goto block_45;
-}
-block_45:
-{
-lean_object* x_17;
-x_17 = lean_ctor_get(x_16, 3);
-lean_inc(x_17);
-if (lean_obj_tag(x_17) == 0)
-{
-lean_object* x_18; lean_object* x_19; lean_object* x_20;
-lean_dec(x_15);
-x_18 = l_Lean_nullKind;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_16, x_18, x_14);
-x_20 = lean_ctor_get(x_19, 3);
-lean_inc(x_20);
-if (lean_obj_tag(x_20) == 0)
-{
-lean_object* x_21; lean_object* x_22; lean_object* x_23;
-x_21 = l_Lean_Parser_ident___elambda__1(x_1, x_19);
-x_22 = l_Lean_Parser_Module_import___elambda__1___closed__2;
-x_23 = l_Lean_Parser_ParserState_mkNode(x_21, x_22, x_10);
-return x_23;
-}
-else
-{
-lean_object* x_24; lean_object* x_25;
-lean_dec(x_20);
-lean_dec(x_1);
-x_24 = l_Lean_Parser_Module_import___elambda__1___closed__2;
-x_25 = l_Lean_Parser_ParserState_mkNode(x_19, x_24, x_10);
-return x_25;
-}
-}
-else
-{
-lean_object* x_26; uint8_t x_27;
-lean_dec(x_17);
-x_26 = lean_ctor_get(x_16, 1);
-lean_inc(x_26);
-x_27 = lean_nat_dec_eq(x_26, x_15);
-lean_dec(x_26);
-if (x_27 == 0)
-{
-lean_object* x_28; lean_object* x_29; lean_object* x_30;
-lean_dec(x_15);
-x_28 = l_Lean_nullKind;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_16, x_28, x_14);
-x_30 = lean_ctor_get(x_29, 3);
-lean_inc(x_30);
-if (lean_obj_tag(x_30) == 0)
-{
-lean_object* x_31; lean_object* x_32; lean_object* x_33;
-x_31 = l_Lean_Parser_ident___elambda__1(x_1, x_29);
-x_32 = l_Lean_Parser_Module_import___elambda__1___closed__2;
-x_33 = l_Lean_Parser_ParserState_mkNode(x_31, x_32, x_10);
-return x_33;
-}
-else
-{
-lean_object* x_34; lean_object* x_35;
-lean_dec(x_30);
-lean_dec(x_1);
-x_34 = l_Lean_Parser_Module_import___elambda__1___closed__2;
-x_35 = l_Lean_Parser_ParserState_mkNode(x_29, x_34, x_10);
-return x_35;
-}
-}
-else
-{
-lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_36 = l_Lean_Parser_ParserState_restore(x_16, x_14, x_15);
-x_37 = l_Lean_nullKind;
-x_38 = l_Lean_Parser_ParserState_mkNode(x_36, x_37, x_14);
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_object* x_40; lean_object* x_41; lean_object* x_42;
-x_40 = l_Lean_Parser_ident___elambda__1(x_1, x_38);
-x_41 = l_Lean_Parser_Module_import___elambda__1___closed__2;
-x_42 = l_Lean_Parser_ParserState_mkNode(x_40, x_41, x_10);
-return x_42;
-}
-else
-{
-lean_object* x_43; lean_object* x_44;
-lean_dec(x_39);
-lean_dec(x_1);
-x_43 = l_Lean_Parser_Module_import___elambda__1___closed__2;
-x_44 = l_Lean_Parser_ParserState_mkNode(x_38, x_43, x_10);
-return x_44;
-}
-}
-}
-}
-}
-else
-{
-lean_object* x_59; lean_object* x_60;
-lean_dec(x_12);
-lean_dec(x_1);
-x_59 = l_Lean_Parser_Module_import___elambda__1___closed__2;
-x_60 = l_Lean_Parser_ParserState_mkNode(x_11, x_59, x_10);
-return x_60;
-}
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Module_import___elambda__1___closed__15;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80;
-x_76 = lean_ctor_get(x_2, 0);
-lean_inc(x_76);
-x_77 = lean_array_get_size(x_76);
-lean_dec(x_76);
-x_78 = lean_ctor_get(x_2, 1);
-lean_inc(x_78);
-lean_inc(x_1);
-x_79 = lean_apply_2(x_4, x_1, x_2);
-x_80 = lean_ctor_get(x_79, 3);
-lean_inc(x_80);
-if (lean_obj_tag(x_80) == 0)
-{
-lean_dec(x_78);
-lean_dec(x_77);
-lean_dec(x_1);
-return x_79;
-}
-else
-{
-lean_object* x_81; lean_object* x_82; uint8_t x_83;
-x_81 = lean_ctor_get(x_80, 0);
-lean_inc(x_81);
-lean_dec(x_80);
-x_82 = lean_ctor_get(x_79, 1);
-lean_inc(x_82);
-x_83 = lean_nat_dec_eq(x_82, x_78);
-lean_dec(x_82);
-if (x_83 == 0)
-{
-lean_dec(x_81);
-lean_dec(x_78);
-lean_dec(x_77);
-lean_dec(x_1);
-return x_79;
-}
-else
-{
-lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87;
-lean_inc(x_78);
-x_84 = l_Lean_Parser_ParserState_restore(x_79, x_77, x_78);
-lean_dec(x_77);
-x_85 = lean_unsigned_to_nat(1024u);
-x_86 = l_Lean_Parser_checkPrecFn(x_85, x_1, x_84);
-x_87 = lean_ctor_get(x_86, 3);
-lean_inc(x_87);
-if (lean_obj_tag(x_87) == 0)
-{
-lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_155; lean_object* x_156; lean_object* x_157;
-x_88 = lean_ctor_get(x_86, 0);
-lean_inc(x_88);
-x_89 = lean_array_get_size(x_88);
-lean_dec(x_88);
-x_155 = lean_ctor_get(x_86, 1);
-lean_inc(x_155);
-lean_inc(x_1);
-x_156 = l_Lean_Parser_tokenFn(x_1, x_86);
-x_157 = lean_ctor_get(x_156, 3);
-lean_inc(x_157);
-if (lean_obj_tag(x_157) == 0)
-{
-lean_object* x_158; lean_object* x_159;
-x_158 = lean_ctor_get(x_156, 0);
-lean_inc(x_158);
-x_159 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_158);
-lean_dec(x_158);
-if (lean_obj_tag(x_159) == 2)
-{
-lean_object* x_160; lean_object* x_161; uint8_t x_162;
-x_160 = lean_ctor_get(x_159, 1);
-lean_inc(x_160);
-lean_dec(x_159);
-x_161 = l_Lean_Parser_Module_import___elambda__1___closed__6;
-x_162 = lean_string_dec_eq(x_160, x_161);
-lean_dec(x_160);
-if (x_162 == 0)
-{
-lean_object* x_163; lean_object* x_164;
-x_163 = l_Lean_Parser_Module_import___elambda__1___closed__14;
-x_164 = l_Lean_Parser_ParserState_mkErrorsAt(x_156, x_163, x_155);
-x_90 = x_164;
-goto block_154;
-}
-else
-{
-lean_dec(x_155);
-x_90 = x_156;
-goto block_154;
-}
-}
-else
-{
-lean_object* x_165; lean_object* x_166;
-lean_dec(x_159);
-x_165 = l_Lean_Parser_Module_import___elambda__1___closed__14;
-x_166 = l_Lean_Parser_ParserState_mkErrorsAt(x_156, x_165, x_155);
-x_90 = x_166;
-goto block_154;
-}
-}
-else
-{
-lean_object* x_167; lean_object* x_168;
-lean_dec(x_157);
-x_167 = l_Lean_Parser_Module_import___elambda__1___closed__14;
-x_168 = l_Lean_Parser_ParserState_mkErrorsAt(x_156, x_167, x_155);
-x_90 = x_168;
-goto block_154;
-}
-block_154:
-{
-lean_object* x_91;
-x_91 = lean_ctor_get(x_90, 3);
-lean_inc(x_91);
-if (lean_obj_tag(x_91) == 0)
-{
-lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_137; lean_object* x_138;
-x_92 = lean_ctor_get(x_90, 0);
-lean_inc(x_92);
-x_93 = lean_array_get_size(x_92);
-lean_dec(x_92);
-x_94 = lean_ctor_get(x_90, 1);
-lean_inc(x_94);
-lean_inc(x_1);
-x_137 = l_Lean_Parser_tokenFn(x_1, x_90);
-x_138 = lean_ctor_get(x_137, 3);
-lean_inc(x_138);
-if (lean_obj_tag(x_138) == 0)
-{
-lean_object* x_139; lean_object* x_140;
-x_139 = lean_ctor_get(x_137, 0);
-lean_inc(x_139);
-x_140 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_139);
-lean_dec(x_139);
-if (lean_obj_tag(x_140) == 2)
-{
-lean_object* x_141; lean_object* x_142; uint8_t x_143;
-x_141 = lean_ctor_get(x_140, 1);
-lean_inc(x_141);
-lean_dec(x_140);
-x_142 = l_Lean_Parser_Module_import___elambda__1___closed__8;
-x_143 = lean_string_dec_eq(x_141, x_142);
-lean_dec(x_141);
-if (x_143 == 0)
-{
-lean_object* x_144; lean_object* x_145;
-x_144 = l_Lean_Parser_Module_import___elambda__1___closed__11;
-lean_inc(x_94);
-x_145 = l_Lean_Parser_ParserState_mkErrorsAt(x_137, x_144, x_94);
-x_95 = x_145;
-goto block_136;
-}
-else
-{
-x_95 = x_137;
-goto block_136;
-}
-}
-else
-{
-lean_object* x_146; lean_object* x_147;
-lean_dec(x_140);
-x_146 = l_Lean_Parser_Module_import___elambda__1___closed__11;
-lean_inc(x_94);
-x_147 = l_Lean_Parser_ParserState_mkErrorsAt(x_137, x_146, x_94);
-x_95 = x_147;
-goto block_136;
-}
-}
-else
-{
-lean_object* x_148; lean_object* x_149;
-lean_dec(x_138);
-x_148 = l_Lean_Parser_Module_import___elambda__1___closed__11;
-lean_inc(x_94);
-x_149 = l_Lean_Parser_ParserState_mkErrorsAt(x_137, x_148, x_94);
-x_95 = x_149;
-goto block_136;
-}
-block_136:
-{
-lean_object* x_96;
-x_96 = lean_ctor_get(x_95, 3);
-lean_inc(x_96);
-if (lean_obj_tag(x_96) == 0)
-{
-lean_object* x_97; lean_object* x_98; lean_object* x_99;
-lean_dec(x_94);
-x_97 = l_Lean_nullKind;
-x_98 = l_Lean_Parser_ParserState_mkNode(x_95, x_97, x_93);
-x_99 = lean_ctor_get(x_98, 3);
-lean_inc(x_99);
-if (lean_obj_tag(x_99) == 0)
-{
-lean_object* x_100; lean_object* x_101; lean_object* x_102; uint8_t x_103; lean_object* x_104;
-x_100 = l_Lean_Parser_ident___elambda__1(x_1, x_98);
-x_101 = l_Lean_Parser_Module_import___elambda__1___closed__2;
-x_102 = l_Lean_Parser_ParserState_mkNode(x_100, x_101, x_89);
-x_103 = 1;
-x_104 = l_Lean_Parser_mergeOrElseErrors(x_102, x_81, x_78, x_103);
-lean_dec(x_78);
-return x_104;
-}
-else
-{
-lean_object* x_105; lean_object* x_106; uint8_t x_107; lean_object* x_108;
-lean_dec(x_99);
-lean_dec(x_1);
-x_105 = l_Lean_Parser_Module_import___elambda__1___closed__2;
-x_106 = l_Lean_Parser_ParserState_mkNode(x_98, x_105, x_89);
-x_107 = 1;
-x_108 = l_Lean_Parser_mergeOrElseErrors(x_106, x_81, x_78, x_107);
-lean_dec(x_78);
-return x_108;
-}
-}
-else
-{
-lean_object* x_109; uint8_t x_110;
-lean_dec(x_96);
-x_109 = lean_ctor_get(x_95, 1);
-lean_inc(x_109);
-x_110 = lean_nat_dec_eq(x_109, x_94);
-lean_dec(x_109);
-if (x_110 == 0)
-{
-lean_object* x_111; lean_object* x_112; lean_object* x_113;
-lean_dec(x_94);
-x_111 = l_Lean_nullKind;
-x_112 = l_Lean_Parser_ParserState_mkNode(x_95, x_111, x_93);
-x_113 = lean_ctor_get(x_112, 3);
-lean_inc(x_113);
-if (lean_obj_tag(x_113) == 0)
-{
-lean_object* x_114; lean_object* x_115; lean_object* x_116; uint8_t x_117; lean_object* x_118;
-x_114 = l_Lean_Parser_ident___elambda__1(x_1, x_112);
-x_115 = l_Lean_Parser_Module_import___elambda__1___closed__2;
-x_116 = l_Lean_Parser_ParserState_mkNode(x_114, x_115, x_89);
-x_117 = 1;
-x_118 = l_Lean_Parser_mergeOrElseErrors(x_116, x_81, x_78, x_117);
-lean_dec(x_78);
-return x_118;
-}
-else
-{
-lean_object* x_119; lean_object* x_120; uint8_t x_121; lean_object* x_122;
-lean_dec(x_113);
-lean_dec(x_1);
-x_119 = l_Lean_Parser_Module_import___elambda__1___closed__2;
-x_120 = l_Lean_Parser_ParserState_mkNode(x_112, x_119, x_89);
-x_121 = 1;
-x_122 = l_Lean_Parser_mergeOrElseErrors(x_120, x_81, x_78, x_121);
-lean_dec(x_78);
-return x_122;
-}
-}
-else
-{
-lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126;
-x_123 = l_Lean_Parser_ParserState_restore(x_95, x_93, x_94);
-x_124 = l_Lean_nullKind;
-x_125 = l_Lean_Parser_ParserState_mkNode(x_123, x_124, x_93);
-x_126 = lean_ctor_get(x_125, 3);
-lean_inc(x_126);
-if (lean_obj_tag(x_126) == 0)
-{
-lean_object* x_127; lean_object* x_128; lean_object* x_129; uint8_t x_130; lean_object* x_131;
-x_127 = l_Lean_Parser_ident___elambda__1(x_1, x_125);
-x_128 = l_Lean_Parser_Module_import___elambda__1___closed__2;
-x_129 = l_Lean_Parser_ParserState_mkNode(x_127, x_128, x_89);
-x_130 = 1;
-x_131 = l_Lean_Parser_mergeOrElseErrors(x_129, x_81, x_78, x_130);
-lean_dec(x_78);
-return x_131;
-}
-else
-{
-lean_object* x_132; lean_object* x_133; uint8_t x_134; lean_object* x_135;
-lean_dec(x_126);
-lean_dec(x_1);
-x_132 = l_Lean_Parser_Module_import___elambda__1___closed__2;
-x_133 = l_Lean_Parser_ParserState_mkNode(x_125, x_132, x_89);
-x_134 = 1;
-x_135 = l_Lean_Parser_mergeOrElseErrors(x_133, x_81, x_78, x_134);
-lean_dec(x_78);
-return x_135;
-}
-}
-}
-}
-}
-else
-{
-lean_object* x_150; lean_object* x_151; uint8_t x_152; lean_object* x_153;
-lean_dec(x_91);
-lean_dec(x_1);
-x_150 = l_Lean_Parser_Module_import___elambda__1___closed__2;
-x_151 = l_Lean_Parser_ParserState_mkNode(x_90, x_150, x_89);
-x_152 = 1;
-x_153 = l_Lean_Parser_mergeOrElseErrors(x_151, x_81, x_78, x_152);
-lean_dec(x_78);
-return x_153;
-}
-}
-}
-else
-{
-uint8_t x_169; lean_object* x_170;
-lean_dec(x_87);
-lean_dec(x_1);
-x_169 = 1;
-x_170 = l_Lean_Parser_mergeOrElseErrors(x_86, x_81, x_78, x_169);
-lean_dec(x_78);
-return x_170;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Module_import___closed__1() {
_start:
{
@@ -1442,7 +711,7 @@ static lean_object* _init_l_Lean_Parser_Module_import___closed__2() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Module_import___elambda__1___closed__8;
+x_1 = l_Lean_Parser_Module_import___elambda__1___closed__9;
x_2 = l_Lean_Parser_symbolInfo(x_1);
return x_2;
}
@@ -1538,68 +807,6 @@ x_1 = l_Lean_Parser_Module_import___closed__10;
return x_1;
}
}
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Module_header___elambda__1___spec__1(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-lean_inc(x_1);
-x_6 = l_Lean_Parser_Module_import___elambda__1(x_1, x_2);
-x_7 = lean_ctor_get(x_6, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
-{
-lean_object* x_8; uint8_t x_9;
-lean_dec(x_4);
-x_8 = lean_ctor_get(x_6, 1);
-lean_inc(x_8);
-x_9 = lean_nat_dec_eq(x_5, x_8);
-lean_dec(x_8);
-lean_dec(x_5);
-if (x_9 == 0)
-{
-x_2 = x_6;
-goto _start;
-}
-else
-{
-lean_object* x_11; lean_object* x_12;
-lean_dec(x_1);
-x_11 = l_Lean_Parser_manyAux___main___closed__1;
-x_12 = l_Lean_Parser_ParserState_mkUnexpectedError(x_6, x_11);
-return x_12;
-}
-}
-else
-{
-lean_object* x_13; uint8_t x_14;
-lean_dec(x_7);
-lean_dec(x_1);
-x_13 = lean_ctor_get(x_6, 1);
-lean_inc(x_13);
-x_14 = lean_nat_dec_eq(x_5, x_13);
-lean_dec(x_13);
-if (x_14 == 0)
-{
-lean_dec(x_5);
-lean_dec(x_4);
-return x_6;
-}
-else
-{
-lean_object* x_15;
-x_15 = l_Lean_Parser_ParserState_restore(x_6, x_4, x_5);
-lean_dec(x_4);
-return x_15;
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Module_header___elambda__1___closed__1() {
_start:
{
@@ -1639,350 +846,111 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Module_header___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Module_prelude___closed__5;
+x_2 = l_Lean_Parser_Parser_inhabited___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Module_header___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Module_header___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optionalFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Module_header___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Module_import___closed__9;
+x_2 = l_Lean_Parser_Parser_inhabited___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Module_header___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Module_header___elambda__1___closed__7;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_manyFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Module_header___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Module_header___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Parser_inhabited___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Module_header___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Module_header___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Module_header___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Module_header___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Module_header___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Module_header___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Module_header___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Module_header___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Module_header___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Module_header___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_11 = lean_ctor_get(x_7, 1);
-lean_inc(x_11);
-lean_inc(x_1);
-x_12 = l_Lean_Parser_Module_prelude___elambda__1(x_1, x_7);
-x_13 = lean_ctor_get(x_12, 3);
-lean_inc(x_13);
-if (lean_obj_tag(x_13) == 0)
-{
-lean_object* x_14; lean_object* x_15; lean_object* x_16;
-lean_dec(x_11);
-x_14 = l_Lean_nullKind;
-lean_inc(x_10);
-x_15 = l_Lean_Parser_ParserState_mkNode(x_12, x_14, x_10);
-x_16 = lean_ctor_get(x_15, 3);
-lean_inc(x_16);
-if (lean_obj_tag(x_16) == 0)
-{
-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_17 = lean_ctor_get(x_15, 0);
-lean_inc(x_17);
-x_18 = lean_array_get_size(x_17);
-lean_dec(x_17);
-x_19 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Module_header___elambda__1___spec__1(x_1, x_15);
-x_20 = l_Lean_Parser_ParserState_mkNode(x_19, x_14, x_18);
-x_21 = l_Lean_Parser_Module_header___elambda__1___closed__2;
-x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_10);
-return x_22;
-}
-else
-{
-lean_object* x_23; lean_object* x_24;
-lean_dec(x_16);
-lean_dec(x_1);
-x_23 = l_Lean_Parser_Module_header___elambda__1___closed__2;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_15, x_23, x_10);
-return x_24;
-}
-}
-else
-{
-lean_object* x_25; uint8_t x_26;
-lean_dec(x_13);
-x_25 = lean_ctor_get(x_12, 1);
-lean_inc(x_25);
-x_26 = lean_nat_dec_eq(x_25, x_11);
-lean_dec(x_25);
-if (x_26 == 0)
-{
-lean_object* x_27; lean_object* x_28; lean_object* x_29;
-lean_dec(x_11);
-x_27 = l_Lean_nullKind;
-lean_inc(x_10);
-x_28 = l_Lean_Parser_ParserState_mkNode(x_12, x_27, x_10);
-x_29 = lean_ctor_get(x_28, 3);
-lean_inc(x_29);
-if (lean_obj_tag(x_29) == 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;
-x_30 = lean_ctor_get(x_28, 0);
-lean_inc(x_30);
-x_31 = lean_array_get_size(x_30);
-lean_dec(x_30);
-x_32 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Module_header___elambda__1___spec__1(x_1, x_28);
-x_33 = l_Lean_Parser_ParserState_mkNode(x_32, x_27, x_31);
-x_34 = l_Lean_Parser_Module_header___elambda__1___closed__2;
-x_35 = l_Lean_Parser_ParserState_mkNode(x_33, x_34, x_10);
-return x_35;
-}
-else
-{
-lean_object* x_36; lean_object* x_37;
-lean_dec(x_29);
-lean_dec(x_1);
-x_36 = l_Lean_Parser_Module_header___elambda__1___closed__2;
-x_37 = l_Lean_Parser_ParserState_mkNode(x_28, x_36, x_10);
-return x_37;
-}
-}
-else
-{
-lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41;
-x_38 = l_Lean_Parser_ParserState_restore(x_12, x_10, x_11);
-x_39 = l_Lean_nullKind;
-lean_inc(x_10);
-x_40 = l_Lean_Parser_ParserState_mkNode(x_38, x_39, x_10);
-x_41 = lean_ctor_get(x_40, 3);
-lean_inc(x_41);
-if (lean_obj_tag(x_41) == 0)
-{
-lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47;
-x_42 = lean_ctor_get(x_40, 0);
-lean_inc(x_42);
-x_43 = lean_array_get_size(x_42);
-lean_dec(x_42);
-x_44 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Module_header___elambda__1___spec__1(x_1, x_40);
-x_45 = l_Lean_Parser_ParserState_mkNode(x_44, x_39, x_43);
-x_46 = l_Lean_Parser_Module_header___elambda__1___closed__2;
-x_47 = l_Lean_Parser_ParserState_mkNode(x_45, x_46, x_10);
-return x_47;
-}
-else
-{
-lean_object* x_48; lean_object* x_49;
-lean_dec(x_41);
-lean_dec(x_1);
-x_48 = l_Lean_Parser_Module_header___elambda__1___closed__2;
-x_49 = l_Lean_Parser_ParserState_mkNode(x_40, x_48, x_10);
-return x_49;
-}
-}
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Module_header___elambda__1___closed__12;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54;
-x_50 = lean_ctor_get(x_2, 0);
-lean_inc(x_50);
-x_51 = lean_array_get_size(x_50);
-lean_dec(x_50);
-x_52 = lean_ctor_get(x_2, 1);
-lean_inc(x_52);
-lean_inc(x_1);
-x_53 = lean_apply_2(x_4, x_1, x_2);
-x_54 = lean_ctor_get(x_53, 3);
-lean_inc(x_54);
-if (lean_obj_tag(x_54) == 0)
-{
-lean_dec(x_52);
-lean_dec(x_51);
-lean_dec(x_1);
-return x_53;
-}
-else
-{
-lean_object* x_55; lean_object* x_56; uint8_t x_57;
-x_55 = lean_ctor_get(x_54, 0);
-lean_inc(x_55);
-lean_dec(x_54);
-x_56 = lean_ctor_get(x_53, 1);
-lean_inc(x_56);
-x_57 = lean_nat_dec_eq(x_56, x_52);
-lean_dec(x_56);
-if (x_57 == 0)
-{
-lean_dec(x_55);
-lean_dec(x_52);
-lean_dec(x_51);
-lean_dec(x_1);
-return x_53;
-}
-else
-{
-lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61;
-lean_inc(x_52);
-x_58 = l_Lean_Parser_ParserState_restore(x_53, x_51, x_52);
-lean_dec(x_51);
-x_59 = lean_unsigned_to_nat(1024u);
-x_60 = l_Lean_Parser_checkPrecFn(x_59, x_1, x_58);
-x_61 = lean_ctor_get(x_60, 3);
-lean_inc(x_61);
-if (lean_obj_tag(x_61) == 0)
-{
-lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66;
-x_62 = lean_ctor_get(x_60, 0);
-lean_inc(x_62);
-x_63 = lean_array_get_size(x_62);
-lean_dec(x_62);
-x_64 = lean_ctor_get(x_60, 1);
-lean_inc(x_64);
-lean_inc(x_1);
-x_65 = l_Lean_Parser_Module_prelude___elambda__1(x_1, x_60);
-x_66 = lean_ctor_get(x_65, 3);
-lean_inc(x_66);
-if (lean_obj_tag(x_66) == 0)
-{
-lean_object* x_67; lean_object* x_68; lean_object* x_69;
-lean_dec(x_64);
-x_67 = l_Lean_nullKind;
-lean_inc(x_63);
-x_68 = l_Lean_Parser_ParserState_mkNode(x_65, x_67, x_63);
-x_69 = lean_ctor_get(x_68, 3);
-lean_inc(x_69);
-if (lean_obj_tag(x_69) == 0)
-{
-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;
-x_70 = lean_ctor_get(x_68, 0);
-lean_inc(x_70);
-x_71 = lean_array_get_size(x_70);
-lean_dec(x_70);
-x_72 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Module_header___elambda__1___spec__1(x_1, x_68);
-x_73 = l_Lean_Parser_ParserState_mkNode(x_72, x_67, x_71);
-x_74 = l_Lean_Parser_Module_header___elambda__1___closed__2;
-x_75 = l_Lean_Parser_ParserState_mkNode(x_73, x_74, x_63);
-x_76 = 1;
-x_77 = l_Lean_Parser_mergeOrElseErrors(x_75, x_55, x_52, x_76);
-lean_dec(x_52);
-return x_77;
-}
-else
-{
-lean_object* x_78; lean_object* x_79; uint8_t x_80; lean_object* x_81;
-lean_dec(x_69);
-lean_dec(x_1);
-x_78 = l_Lean_Parser_Module_header___elambda__1___closed__2;
-x_79 = l_Lean_Parser_ParserState_mkNode(x_68, x_78, x_63);
-x_80 = 1;
-x_81 = l_Lean_Parser_mergeOrElseErrors(x_79, x_55, x_52, x_80);
-lean_dec(x_52);
-return x_81;
-}
-}
-else
-{
-lean_object* x_82; uint8_t x_83;
-lean_dec(x_66);
-x_82 = lean_ctor_get(x_65, 1);
-lean_inc(x_82);
-x_83 = lean_nat_dec_eq(x_82, x_64);
-lean_dec(x_82);
-if (x_83 == 0)
-{
-lean_object* x_84; lean_object* x_85; lean_object* x_86;
-lean_dec(x_64);
-x_84 = l_Lean_nullKind;
-lean_inc(x_63);
-x_85 = l_Lean_Parser_ParserState_mkNode(x_65, x_84, x_63);
-x_86 = lean_ctor_get(x_85, 3);
-lean_inc(x_86);
-if (lean_obj_tag(x_86) == 0)
-{
-lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; uint8_t x_93; lean_object* x_94;
-x_87 = lean_ctor_get(x_85, 0);
-lean_inc(x_87);
-x_88 = lean_array_get_size(x_87);
-lean_dec(x_87);
-x_89 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Module_header___elambda__1___spec__1(x_1, x_85);
-x_90 = l_Lean_Parser_ParserState_mkNode(x_89, x_84, x_88);
-x_91 = l_Lean_Parser_Module_header___elambda__1___closed__2;
-x_92 = l_Lean_Parser_ParserState_mkNode(x_90, x_91, x_63);
-x_93 = 1;
-x_94 = l_Lean_Parser_mergeOrElseErrors(x_92, x_55, x_52, x_93);
-lean_dec(x_52);
-return x_94;
-}
-else
-{
-lean_object* x_95; lean_object* x_96; uint8_t x_97; lean_object* x_98;
-lean_dec(x_86);
-lean_dec(x_1);
-x_95 = l_Lean_Parser_Module_header___elambda__1___closed__2;
-x_96 = l_Lean_Parser_ParserState_mkNode(x_85, x_95, x_63);
-x_97 = 1;
-x_98 = l_Lean_Parser_mergeOrElseErrors(x_96, x_55, x_52, x_97);
-lean_dec(x_52);
-return x_98;
-}
-}
-else
-{
-lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102;
-x_99 = l_Lean_Parser_ParserState_restore(x_65, x_63, x_64);
-x_100 = l_Lean_nullKind;
-lean_inc(x_63);
-x_101 = l_Lean_Parser_ParserState_mkNode(x_99, x_100, x_63);
-x_102 = lean_ctor_get(x_101, 3);
-lean_inc(x_102);
-if (lean_obj_tag(x_102) == 0)
-{
-lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; uint8_t x_109; lean_object* x_110;
-x_103 = lean_ctor_get(x_101, 0);
-lean_inc(x_103);
-x_104 = lean_array_get_size(x_103);
-lean_dec(x_103);
-x_105 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Module_header___elambda__1___spec__1(x_1, x_101);
-x_106 = l_Lean_Parser_ParserState_mkNode(x_105, x_100, x_104);
-x_107 = l_Lean_Parser_Module_header___elambda__1___closed__2;
-x_108 = l_Lean_Parser_ParserState_mkNode(x_106, x_107, x_63);
-x_109 = 1;
-x_110 = l_Lean_Parser_mergeOrElseErrors(x_108, x_55, x_52, x_109);
-lean_dec(x_52);
-return x_110;
-}
-else
-{
-lean_object* x_111; lean_object* x_112; uint8_t x_113; lean_object* x_114;
-lean_dec(x_102);
-lean_dec(x_1);
-x_111 = l_Lean_Parser_Module_header___elambda__1___closed__2;
-x_112 = l_Lean_Parser_ParserState_mkNode(x_101, x_111, x_63);
-x_113 = 1;
-x_114 = l_Lean_Parser_mergeOrElseErrors(x_112, x_55, x_52, x_113);
-lean_dec(x_52);
-return x_114;
-}
-}
-}
-}
-else
-{
-uint8_t x_115; lean_object* x_116;
-lean_dec(x_61);
-lean_dec(x_1);
-x_115 = 1;
-x_116 = l_Lean_Parser_mergeOrElseErrors(x_60, x_55, x_52, x_115);
-lean_dec(x_52);
-return x_116;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Module_header___closed__1() {
_start:
{
@@ -2183,7 +1151,7 @@ static lean_object* _init_l_Lean_Parser_Module_import_formatter___closed__3() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Module_import___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Module_import___elambda__1___closed__8;
x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_symbol_formatter___boxed), 6, 1);
lean_closure_set(x_2, 0, x_1);
return x_2;
@@ -2837,70 +1805,6 @@ x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1);
return x_5;
}
}
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Module_module___elambda__1___spec__1(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-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_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-x_6 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3127____closed__4;
-x_7 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_8 = l_Lean_Parser_categoryParser___elambda__1(x_6, x_7, x_1, x_2);
-x_9 = lean_ctor_get(x_8, 3);
-lean_inc(x_9);
-if (lean_obj_tag(x_9) == 0)
-{
-lean_object* x_10; uint8_t x_11;
-lean_dec(x_4);
-x_10 = lean_ctor_get(x_8, 1);
-lean_inc(x_10);
-x_11 = lean_nat_dec_eq(x_5, x_10);
-lean_dec(x_10);
-lean_dec(x_5);
-if (x_11 == 0)
-{
-x_2 = x_8;
-goto _start;
-}
-else
-{
-lean_object* x_13; lean_object* x_14;
-lean_dec(x_1);
-x_13 = l_Lean_Parser_manyAux___main___closed__1;
-x_14 = l_Lean_Parser_ParserState_mkUnexpectedError(x_8, x_13);
-return x_14;
-}
-}
-else
-{
-lean_object* x_15; uint8_t x_16;
-lean_dec(x_9);
-lean_dec(x_1);
-x_15 = lean_ctor_get(x_8, 1);
-lean_inc(x_15);
-x_16 = lean_nat_dec_eq(x_5, x_15);
-lean_dec(x_15);
-if (x_16 == 0)
-{
-lean_dec(x_5);
-lean_dec(x_4);
-return x_8;
-}
-else
-{
-lean_object* x_17;
-x_17 = l_Lean_Parser_ParserState_restore(x_8, x_4, x_5);
-lean_dec(x_4);
-return x_17;
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Module_module___elambda__1___closed__1() {
_start:
{
@@ -2912,170 +1816,88 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Module_module___elambda__1___closed__2() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Parser_inhabited___closed__2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_2, 0, x_1);
+lean_closure_set(x_2, 1, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Module_module___elambda__1___closed__3() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_quot___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Module_module___elambda__1___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Module_module___elambda__1___closed__4() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Module_module___elambda__1___closed__3;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_manyFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Module_module___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Module_header___closed__10;
+x_2 = l_Lean_Parser_Module_module___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Module_module___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Module_module_formatter___closed__2;
+x_2 = l_Lean_Parser_Module_module___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Module_module___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Module_module___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Module_module___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Module_module___elambda__1___closed__1;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-lean_inc(x_1);
-x_11 = l_Lean_Parser_Module_header___elambda__1(x_1, x_7);
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-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;
-x_13 = lean_ctor_get(x_11, 0);
-lean_inc(x_13);
-x_14 = lean_array_get_size(x_13);
-lean_dec(x_13);
-x_15 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Module_module___elambda__1___spec__1(x_1, x_11);
-x_16 = l_Lean_nullKind;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_14);
-x_18 = l_Lean_Parser_Module_module_formatter___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_10);
-return x_19;
-}
-else
-{
-lean_object* x_20; lean_object* x_21;
-lean_dec(x_12);
-lean_dec(x_1);
-x_20 = l_Lean_Parser_Module_module_formatter___closed__2;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_11, x_20, x_10);
-return x_21;
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Module_module___elambda__1___closed__7;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26;
-x_22 = lean_ctor_get(x_2, 0);
-lean_inc(x_22);
-x_23 = lean_array_get_size(x_22);
-lean_dec(x_22);
-x_24 = lean_ctor_get(x_2, 1);
-lean_inc(x_24);
-lean_inc(x_1);
-x_25 = lean_apply_2(x_4, x_1, x_2);
-x_26 = lean_ctor_get(x_25, 3);
-lean_inc(x_26);
-if (lean_obj_tag(x_26) == 0)
-{
-lean_dec(x_24);
-lean_dec(x_23);
-lean_dec(x_1);
-return x_25;
-}
-else
-{
-lean_object* x_27; lean_object* x_28; uint8_t x_29;
-x_27 = lean_ctor_get(x_26, 0);
-lean_inc(x_27);
-lean_dec(x_26);
-x_28 = lean_ctor_get(x_25, 1);
-lean_inc(x_28);
-x_29 = lean_nat_dec_eq(x_28, x_24);
-lean_dec(x_28);
-if (x_29 == 0)
-{
-lean_dec(x_27);
-lean_dec(x_24);
-lean_dec(x_23);
-lean_dec(x_1);
-return x_25;
-}
-else
-{
-lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
-lean_inc(x_24);
-x_30 = l_Lean_Parser_ParserState_restore(x_25, x_23, x_24);
-lean_dec(x_23);
-x_31 = lean_unsigned_to_nat(1024u);
-x_32 = l_Lean_Parser_checkPrecFn(x_31, x_1, x_30);
-x_33 = lean_ctor_get(x_32, 3);
-lean_inc(x_33);
-if (lean_obj_tag(x_33) == 0)
-{
-lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_34 = lean_ctor_get(x_32, 0);
-lean_inc(x_34);
-x_35 = lean_array_get_size(x_34);
-lean_dec(x_34);
-lean_inc(x_1);
-x_36 = l_Lean_Parser_Module_header___elambda__1(x_1, x_32);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-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; uint8_t x_45; lean_object* x_46;
-x_38 = lean_ctor_get(x_36, 0);
-lean_inc(x_38);
-x_39 = lean_array_get_size(x_38);
-lean_dec(x_38);
-x_40 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Module_module___elambda__1___spec__1(x_1, x_36);
-x_41 = l_Lean_nullKind;
-x_42 = l_Lean_Parser_ParserState_mkNode(x_40, x_41, x_39);
-x_43 = l_Lean_Parser_Module_module_formatter___closed__2;
-x_44 = l_Lean_Parser_ParserState_mkNode(x_42, x_43, x_35);
-x_45 = 1;
-x_46 = l_Lean_Parser_mergeOrElseErrors(x_44, x_27, x_24, x_45);
-lean_dec(x_24);
-return x_46;
-}
-else
-{
-lean_object* x_47; lean_object* x_48; uint8_t x_49; lean_object* x_50;
-lean_dec(x_37);
-lean_dec(x_1);
-x_47 = l_Lean_Parser_Module_module_formatter___closed__2;
-x_48 = l_Lean_Parser_ParserState_mkNode(x_36, x_47, x_35);
-x_49 = 1;
-x_50 = l_Lean_Parser_mergeOrElseErrors(x_48, x_27, x_24, x_49);
-lean_dec(x_24);
-return x_50;
-}
-}
-else
-{
-uint8_t x_51; lean_object* x_52;
-lean_dec(x_33);
-lean_dec(x_1);
-x_51 = 1;
-x_52 = l_Lean_Parser_mergeOrElseErrors(x_32, x_27, x_24, x_51);
-lean_dec(x_24);
-return x_52;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Module_module___closed__1() {
_start:
{
@@ -3178,6 +2000,39 @@ x_1 = l_Lean_Parser_Module_module___closed__9;
return x_1;
}
}
+lean_object* l_Lean_Parser_Module_updateTokens_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+if (lean_obj_tag(x_1) == 0)
+{
+lean_object* x_4; lean_object* x_5;
+lean_dec(x_2);
+x_4 = lean_ctor_get(x_1, 0);
+lean_inc(x_4);
+lean_dec(x_1);
+x_5 = lean_apply_1(x_3, x_4);
+return x_5;
+}
+else
+{
+lean_object* x_6; lean_object* x_7;
+lean_dec(x_3);
+x_6 = lean_ctor_get(x_1, 0);
+lean_inc(x_6);
+lean_dec(x_1);
+x_7 = lean_apply_1(x_2, x_6);
+return x_7;
+}
+}
+}
+lean_object* l_Lean_Parser_Module_updateTokens_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_Module_updateTokens_match__1___rarg), 3, 0);
+return x_2;
+}
+}
static lean_object* _init_l_Lean_Parser_Module_updateTokens___closed__1() {
_start:
{
@@ -3186,6 +2041,34 @@ x_1 = l_Lean_Parser_Trie_Lean_Data_Trie___instance__2(lean_box(0));
return x_1;
}
}
+static lean_object* _init_l_Lean_Parser_Module_updateTokens___closed__2() {
+_start:
+{
+lean_object* x_1;
+x_1 = lean_mk_string("Lean.Parser.Module");
+return x_1;
+}
+}
+static lean_object* _init_l_Lean_Parser_Module_updateTokens___closed__3() {
+_start:
+{
+lean_object* x_1;
+x_1 = lean_mk_string("Lean.Parser.Module.updateTokens");
+return x_1;
+}
+}
+static lean_object* _init_l_Lean_Parser_Module_updateTokens___closed__4() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
+x_1 = l_Lean_Parser_Module_updateTokens___closed__2;
+x_2 = l_Lean_Parser_Module_updateTokens___closed__3;
+x_3 = lean_unsigned_to_nat(28u);
+x_4 = l_Lean_Name_getString_x21___closed__3;
+x_5 = l___private_Init_Util_2__mkPanicMessageWithDecl(x_1, x_2, x_3, x_3, x_4);
+return x_5;
+}
+}
lean_object* l_Lean_Parser_Module_updateTokens(lean_object* x_1) {
_start:
{
@@ -3193,88 +2076,176 @@ uint8_t x_2;
x_2 = !lean_is_exclusive(x_1);
if (x_2 == 0)
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
-x_3 = lean_ctor_get(x_1, 3);
-x_4 = l_Lean_Parser_Module_header;
-x_5 = lean_ctor_get(x_4, 0);
-lean_inc(x_5);
-x_6 = l_Lean_Parser_addParserTokens(x_3, x_5);
-if (lean_obj_tag(x_6) == 0)
+lean_object* x_3; uint8_t x_4;
+x_3 = lean_ctor_get(x_1, 0);
+x_4 = !lean_is_exclusive(x_3);
+if (x_4 == 0)
{
-lean_object* x_7; lean_object* x_8;
-lean_dec(x_6);
-x_7 = l_Lean_Parser_Module_updateTokens___closed__1;
-x_8 = l_unreachable_x21___rarg(x_7);
-lean_ctor_set(x_1, 3, x_8);
+lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8;
+x_5 = lean_ctor_get(x_1, 3);
+x_6 = l_Lean_Parser_Module_header;
+x_7 = lean_ctor_get(x_6, 0);
+lean_inc(x_7);
+x_8 = l_Lean_Parser_addParserTokens(x_5, x_7);
+if (lean_obj_tag(x_8) == 0)
+{
+lean_object* x_9; lean_object* x_10; lean_object* x_11;
+lean_dec(x_8);
+x_9 = l_Lean_Parser_Module_updateTokens___closed__1;
+x_10 = l_Lean_Parser_Module_updateTokens___closed__4;
+x_11 = lean_panic_fn(x_9, x_10);
+lean_ctor_set(x_1, 3, x_11);
return x_1;
}
else
{
-lean_object* x_9;
-x_9 = lean_ctor_get(x_6, 0);
-lean_inc(x_9);
-lean_dec(x_6);
-lean_ctor_set(x_1, 3, x_9);
+lean_object* x_12;
+x_12 = lean_ctor_get(x_8, 0);
+lean_inc(x_12);
+lean_dec(x_8);
+lean_ctor_set(x_1, 3, x_12);
return x_1;
}
}
else
{
-lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
-x_10 = lean_ctor_get(x_1, 0);
-x_11 = lean_ctor_get(x_1, 1);
-x_12 = lean_ctor_get(x_1, 2);
+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;
x_13 = lean_ctor_get(x_1, 3);
-x_14 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
-x_15 = lean_ctor_get(x_1, 4);
-x_16 = lean_ctor_get(x_1, 5);
+x_14 = lean_ctor_get(x_3, 0);
+x_15 = lean_ctor_get(x_3, 1);
+x_16 = lean_ctor_get(x_3, 2);
lean_inc(x_16);
lean_inc(x_15);
-lean_inc(x_13);
-lean_inc(x_12);
-lean_inc(x_11);
-lean_inc(x_10);
-lean_dec(x_1);
-x_17 = l_Lean_Parser_Module_header;
-x_18 = lean_ctor_get(x_17, 0);
-lean_inc(x_18);
-x_19 = l_Lean_Parser_addParserTokens(x_13, x_18);
-if (lean_obj_tag(x_19) == 0)
+lean_inc(x_14);
+lean_dec(x_3);
+x_17 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_17, 0, x_14);
+lean_ctor_set(x_17, 1, x_15);
+lean_ctor_set(x_17, 2, x_16);
+x_18 = l_Lean_Parser_Module_header;
+x_19 = lean_ctor_get(x_18, 0);
+lean_inc(x_19);
+x_20 = l_Lean_Parser_addParserTokens(x_13, x_19);
+if (lean_obj_tag(x_20) == 0)
{
-lean_object* x_20; lean_object* x_21; lean_object* x_22;
-lean_dec(x_19);
-x_20 = l_Lean_Parser_Module_updateTokens___closed__1;
-x_21 = l_unreachable_x21___rarg(x_20);
-x_22 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_22, 0, x_10);
-lean_ctor_set(x_22, 1, x_11);
-lean_ctor_set(x_22, 2, x_12);
-lean_ctor_set(x_22, 3, x_21);
-lean_ctor_set(x_22, 4, x_15);
-lean_ctor_set(x_22, 5, x_16);
-lean_ctor_set_uint8(x_22, sizeof(void*)*6, x_14);
-return x_22;
+lean_object* x_21; lean_object* x_22; lean_object* x_23;
+lean_dec(x_20);
+x_21 = l_Lean_Parser_Module_updateTokens___closed__1;
+x_22 = l_Lean_Parser_Module_updateTokens___closed__4;
+x_23 = lean_panic_fn(x_21, x_22);
+lean_ctor_set(x_1, 3, x_23);
+lean_ctor_set(x_1, 0, x_17);
+return x_1;
}
else
{
-lean_object* x_23; lean_object* x_24;
-x_23 = lean_ctor_get(x_19, 0);
-lean_inc(x_23);
-lean_dec(x_19);
-x_24 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_24, 0, x_10);
-lean_ctor_set(x_24, 1, x_11);
-lean_ctor_set(x_24, 2, x_12);
-lean_ctor_set(x_24, 3, x_23);
-lean_ctor_set(x_24, 4, x_15);
-lean_ctor_set(x_24, 5, x_16);
-lean_ctor_set_uint8(x_24, sizeof(void*)*6, x_14);
-return x_24;
+lean_object* x_24;
+x_24 = lean_ctor_get(x_20, 0);
+lean_inc(x_24);
+lean_dec(x_20);
+lean_ctor_set(x_1, 3, x_24);
+lean_ctor_set(x_1, 0, x_17);
+return x_1;
+}
+}
+}
+else
+{
+lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t 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;
+x_25 = lean_ctor_get(x_1, 0);
+x_26 = lean_ctor_get(x_1, 1);
+x_27 = lean_ctor_get(x_1, 2);
+x_28 = lean_ctor_get(x_1, 3);
+x_29 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
+x_30 = lean_ctor_get(x_1, 4);
+x_31 = lean_ctor_get(x_1, 5);
+lean_inc(x_31);
+lean_inc(x_30);
+lean_inc(x_28);
+lean_inc(x_27);
+lean_inc(x_26);
+lean_inc(x_25);
+lean_dec(x_1);
+x_32 = lean_ctor_get(x_25, 0);
+lean_inc(x_32);
+x_33 = lean_ctor_get(x_25, 1);
+lean_inc(x_33);
+x_34 = lean_ctor_get(x_25, 2);
+lean_inc(x_34);
+if (lean_is_exclusive(x_25)) {
+ lean_ctor_release(x_25, 0);
+ lean_ctor_release(x_25, 1);
+ lean_ctor_release(x_25, 2);
+ x_35 = x_25;
+} else {
+ lean_dec_ref(x_25);
+ x_35 = lean_box(0);
+}
+if (lean_is_scalar(x_35)) {
+ x_36 = lean_alloc_ctor(0, 3, 0);
+} else {
+ x_36 = x_35;
+}
+lean_ctor_set(x_36, 0, x_32);
+lean_ctor_set(x_36, 1, x_33);
+lean_ctor_set(x_36, 2, x_34);
+x_37 = l_Lean_Parser_Module_header;
+x_38 = lean_ctor_get(x_37, 0);
+lean_inc(x_38);
+x_39 = l_Lean_Parser_addParserTokens(x_28, x_38);
+if (lean_obj_tag(x_39) == 0)
+{
+lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43;
+lean_dec(x_39);
+x_40 = l_Lean_Parser_Module_updateTokens___closed__1;
+x_41 = l_Lean_Parser_Module_updateTokens___closed__4;
+x_42 = lean_panic_fn(x_40, x_41);
+x_43 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_43, 0, x_36);
+lean_ctor_set(x_43, 1, x_26);
+lean_ctor_set(x_43, 2, x_27);
+lean_ctor_set(x_43, 3, x_42);
+lean_ctor_set(x_43, 4, x_30);
+lean_ctor_set(x_43, 5, x_31);
+lean_ctor_set_uint8(x_43, sizeof(void*)*6, x_29);
+return x_43;
+}
+else
+{
+lean_object* x_44; lean_object* x_45;
+x_44 = lean_ctor_get(x_39, 0);
+lean_inc(x_44);
+lean_dec(x_39);
+x_45 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_45, 0, x_36);
+lean_ctor_set(x_45, 1, x_26);
+lean_ctor_set(x_45, 2, x_27);
+lean_ctor_set(x_45, 3, x_44);
+lean_ctor_set(x_45, 4, x_30);
+lean_ctor_set(x_45, 5, x_31);
+lean_ctor_set_uint8(x_45, sizeof(void*)*6, x_29);
+return x_45;
}
}
}
}
-static lean_object* _init_l_Lean_Parser_ModuleParserState_inhabited___closed__1() {
+static lean_object* _init_l_Lean_Parser_ModuleParserState_pos___default() {
+_start:
+{
+lean_object* x_1;
+x_1 = lean_unsigned_to_nat(0u);
+return x_1;
+}
+}
+static uint8_t _init_l_Lean_Parser_ModuleParserState_recovering___default() {
+_start:
+{
+uint8_t x_1;
+x_1 = 0;
+return x_1;
+}
+}
+static lean_object* _init_l_Lean_Parser_Lean_Parser_Module___instance__1___closed__1() {
_start:
{
lean_object* x_1; uint8_t x_2; lean_object* x_3;
@@ -3286,15 +2257,15 @@ lean_ctor_set_uint8(x_3, sizeof(void*)*1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_ModuleParserState_inhabited() {
+static lean_object* _init_l_Lean_Parser_Lean_Parser_Module___instance__1() {
_start:
{
lean_object* x_1;
-x_1 = l_Lean_Parser_ModuleParserState_inhabited___closed__1;
+x_1 = l_Lean_Parser_Lean_Parser_Module___instance__1___closed__1;
return x_1;
}
}
-lean_object* l___private_Lean_Parser_Module_1__mkErrorMessage(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l___private_Lean_Parser_Module_0__Lean_Parser_mkErrorMessage(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
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; uint8_t x_11; lean_object* x_12; lean_object* x_13;
@@ -3320,15 +2291,46 @@ lean_ctor_set_uint8(x_13, sizeof(void*)*5, x_11);
return x_13;
}
}
-lean_object* l___private_Lean_Parser_Module_1__mkErrorMessage___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l___private_Lean_Parser_Module_0__Lean_Parser_mkErrorMessage___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
-x_4 = l___private_Lean_Parser_Module_1__mkErrorMessage(x_1, x_2, x_3);
+x_4 = l___private_Lean_Parser_Module_0__Lean_Parser_mkErrorMessage(x_1, x_2, x_3);
lean_dec(x_1);
return x_4;
}
}
+lean_object* l_Lean_Parser_parseHeader_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+if (lean_obj_tag(x_1) == 0)
+{
+lean_object* x_4; lean_object* x_5;
+lean_dec(x_2);
+x_4 = lean_box(0);
+x_5 = lean_apply_1(x_3, x_4);
+return x_5;
+}
+else
+{
+lean_object* x_6; lean_object* x_7;
+lean_dec(x_3);
+x_6 = lean_ctor_get(x_1, 0);
+lean_inc(x_6);
+lean_dec(x_1);
+x_7 = lean_apply_1(x_2, x_6);
+return x_7;
+}
+}
+}
+lean_object* l_Lean_Parser_parseHeader_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_parseHeader_match__1___rarg), 3, 0);
+return x_2;
+}
+}
lean_object* l_Lean_Parser_parseHeader(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -3352,7 +2354,7 @@ lean_inc(x_10);
lean_dec(x_9);
x_11 = l_Lean_Parser_mkParserState(x_10);
lean_dec(x_10);
-x_12 = l_Lean_Parser_whitespace___main(x_8, x_11);
+x_12 = l_Lean_Parser_whitespace(x_8, x_11);
lean_inc(x_8);
x_13 = l_Lean_Parser_Module_header___elambda__1(x_8, x_12);
x_14 = lean_ctor_get(x_13, 0);
@@ -3393,7 +2395,7 @@ lean_inc(x_24);
lean_dec(x_13);
x_25 = l_Lean_Parser_Error_toString(x_23);
lean_inc(x_24);
-x_26 = l___private_Lean_Parser_Module_1__mkErrorMessage(x_8, x_24, x_25);
+x_26 = l___private_Lean_Parser_Module_0__Lean_Parser_mkErrorMessage(x_8, x_24, x_25);
lean_dec(x_8);
x_27 = 1;
x_28 = lean_alloc_ctor(0, 1, 1);
@@ -3428,7 +2430,7 @@ lean_inc(x_38);
lean_dec(x_37);
x_39 = l_Lean_Parser_mkParserState(x_38);
lean_dec(x_38);
-x_40 = l_Lean_Parser_whitespace___main(x_36, x_39);
+x_40 = l_Lean_Parser_whitespace(x_36, x_39);
lean_inc(x_36);
x_41 = l_Lean_Parser_Module_header___elambda__1(x_36, x_40);
x_42 = lean_ctor_get(x_41, 0);
@@ -3471,7 +2473,7 @@ lean_inc(x_53);
lean_dec(x_41);
x_54 = l_Lean_Parser_Error_toString(x_52);
lean_inc(x_53);
-x_55 = l___private_Lean_Parser_Module_1__mkErrorMessage(x_36, x_53, x_54);
+x_55 = l___private_Lean_Parser_Module_0__Lean_Parser_mkErrorMessage(x_36, x_53, x_54);
lean_dec(x_36);
x_56 = 1;
x_57 = lean_alloc_ctor(0, 1, 1);
@@ -3517,7 +2519,7 @@ return x_66;
}
}
}
-static lean_object* _init_l___private_Lean_Parser_Module_2__mkEOI___closed__1() {
+static lean_object* _init_l___private_Lean_Parser_Module_0__Lean_Parser_mkEOI___closed__1() {
_start:
{
lean_object* x_1;
@@ -3525,17 +2527,17 @@ x_1 = lean_mk_string("eoi");
return x_1;
}
}
-static lean_object* _init_l___private_Lean_Parser_Module_2__mkEOI___closed__2() {
+static lean_object* _init_l___private_Lean_Parser_Module_0__Lean_Parser_mkEOI___closed__2() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Module_prelude___elambda__1___closed__2;
-x_2 = l___private_Lean_Parser_Module_2__mkEOI___closed__1;
+x_2 = l___private_Lean_Parser_Module_0__Lean_Parser_mkEOI___closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
}
}
-lean_object* l___private_Lean_Parser_Module_2__mkEOI(lean_object* x_1) {
+lean_object* l___private_Lean_Parser_Module_0__Lean_Parser_mkEOI(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; lean_object* x_10;
@@ -3552,7 +2554,7 @@ lean_ctor_set(x_6, 0, x_4);
lean_ctor_set(x_6, 1, x_5);
x_7 = l_Lean_mkOptionalNode___closed__2;
x_8 = lean_array_push(x_7, x_6);
-x_9 = l___private_Lean_Parser_Module_2__mkEOI___closed__2;
+x_9 = l___private_Lean_Parser_Module_0__Lean_Parser_mkEOI___closed__2;
x_10 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_10, 0, x_9);
lean_ctor_set(x_10, 1, x_8);
@@ -3563,7 +2565,7 @@ uint8_t l_Lean_Parser_isEOI(lean_object* x_1) {
_start:
{
lean_object* x_2; uint8_t x_3;
-x_2 = l___private_Lean_Parser_Module_2__mkEOI___closed__2;
+x_2 = l___private_Lean_Parser_Module_0__Lean_Parser_mkEOI___closed__2;
x_3 = l_Lean_Syntax_isOfKind(x_1, x_2);
return x_3;
}
@@ -3595,7 +2597,38 @@ x_3 = lean_box(x_2);
return x_3;
}
}
-lean_object* l___private_Lean_Parser_Module_3__consumeInput(lean_object* x_1, lean_object* x_2) {
+lean_object* l___private_Lean_Parser_Module_0__Lean_Parser_consumeInput_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+if (lean_obj_tag(x_1) == 0)
+{
+lean_object* x_4; lean_object* x_5;
+lean_dec(x_2);
+x_4 = lean_box(0);
+x_5 = lean_apply_1(x_3, x_4);
+return x_5;
+}
+else
+{
+lean_object* x_6; lean_object* x_7;
+lean_dec(x_3);
+x_6 = lean_ctor_get(x_1, 0);
+lean_inc(x_6);
+lean_dec(x_1);
+x_7 = lean_apply_1(x_2, x_6);
+return x_7;
+}
+}
+}
+lean_object* l___private_Lean_Parser_Module_0__Lean_Parser_consumeInput_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l___private_Lean_Parser_Module_0__Lean_Parser_consumeInput_match__1___rarg), 3, 0);
+return x_2;
+}
+}
+lean_object* l___private_Lean_Parser_Module_0__Lean_Parser_consumeInput(lean_object* x_1, lean_object* x_2) {
_start:
{
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;
@@ -3641,94 +2674,107 @@ return x_13;
static lean_object* _init_l_Lean_Parser_topLevelCommandParserFn___closed__1() {
_start:
{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_lookaheadFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_topLevelCommandParserFn___closed__2() {
+_start:
+{
lean_object* x_1;
x_1 = lean_mk_string("expected command, but found term; this error may be due to parsing precedence levels, consider parenthesizing the term");
return x_1;
}
}
+static lean_object* _init_l_Lean_Parser_topLevelCommandParserFn___closed__3() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_topLevelCommandParserFn___closed__2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_errorFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_topLevelCommandParserFn___closed__4() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_topLevelCommandParserFn___closed__1;
+x_2 = l_Lean_Parser_topLevelCommandParserFn___closed__3;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_topLevelCommandParserFn(lean_object* x_1, lean_object* x_2) {
_start:
{
-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_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_array_get_size(x_3);
+lean_object* x_3; lean_object* x_4; uint8_t x_5; lean_object* x_6;
+x_3 = l_Lean_Parser_Term_quot___elambda__1___closed__7;
+x_4 = l_Lean_Parser_topLevelCommandParserFn___closed__4;
+x_5 = 0;
+x_6 = l_Lean_Parser_orelseFnCore(x_3, x_4, x_5, x_1, x_2);
+return x_6;
+}
+}
+lean_object* l_Lean_Parser_parseCommand_parse_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+if (lean_obj_tag(x_1) == 0)
+{
+lean_object* x_4; lean_object* x_5;
lean_dec(x_3);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-x_6 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3127____closed__4;
-x_7 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_8 = l_Lean_Parser_categoryParser___elambda__1(x_6, x_7, x_1, x_2);
-x_9 = lean_ctor_get(x_8, 3);
-lean_inc(x_9);
-if (lean_obj_tag(x_9) == 0)
+x_4 = lean_box(0);
+x_5 = lean_apply_1(x_2, x_4);
+return x_5;
+}
+else
{
-lean_dec(x_5);
-lean_dec(x_4);
+lean_object* x_6; lean_object* x_7;
+lean_dec(x_2);
+x_6 = lean_ctor_get(x_1, 0);
+lean_inc(x_6);
lean_dec(x_1);
-return x_8;
+x_7 = lean_apply_1(x_3, x_6);
+return x_7;
}
-else
+}
+}
+lean_object* l_Lean_Parser_parseCommand_parse_match__1(lean_object* x_1) {
+_start:
{
-lean_object* x_10; lean_object* x_11; uint8_t x_12;
-x_10 = lean_ctor_get(x_9, 0);
-lean_inc(x_10);
-lean_dec(x_9);
-x_11 = lean_ctor_get(x_8, 1);
-lean_inc(x_11);
-x_12 = lean_nat_dec_eq(x_11, x_5);
-lean_dec(x_11);
-if (x_12 == 0)
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_parseCommand_parse_match__1___rarg), 3, 0);
+return x_2;
+}
+}
+lean_object* l_Lean_Parser_parseCommand_parse_match__2___rarg(lean_object* x_1, lean_object* x_2) {
+_start:
{
-lean_dec(x_10);
-lean_dec(x_5);
-lean_dec(x_4);
+lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6;
+x_3 = lean_ctor_get(x_1, 0);
+lean_inc(x_3);
+x_4 = lean_ctor_get_uint8(x_1, sizeof(void*)*1);
lean_dec(x_1);
-return x_8;
+x_5 = lean_box(x_4);
+x_6 = lean_apply_2(x_2, x_3, x_5);
+return x_6;
}
-else
+}
+lean_object* l_Lean_Parser_parseCommand_parse_match__2(lean_object* x_1) {
+_start:
{
-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_inc(x_5);
-x_13 = l_Lean_Parser_ParserState_restore(x_8, x_4, x_5);
-lean_dec(x_4);
-x_14 = lean_ctor_get(x_13, 0);
-lean_inc(x_14);
-x_15 = lean_array_get_size(x_14);
-lean_dec(x_14);
-x_16 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_17 = l_Lean_Parser_categoryParser___elambda__1(x_16, x_7, x_1, x_13);
-x_18 = lean_ctor_get(x_17, 3);
-lean_inc(x_18);
-if (lean_obj_tag(x_18) == 0)
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21; uint8_t x_22; lean_object* x_23;
-lean_inc(x_5);
-x_19 = l_Lean_Parser_ParserState_restore(x_17, x_15, x_5);
-lean_dec(x_15);
-x_20 = l_Lean_Parser_topLevelCommandParserFn___closed__1;
-x_21 = l_Lean_Parser_ParserState_mkUnexpectedError(x_19, x_20);
-x_22 = 0;
-x_23 = l_Lean_Parser_mergeOrElseErrors(x_21, x_10, x_5, x_22);
-lean_dec(x_5);
-return x_23;
-}
-else
-{
-uint8_t x_24; lean_object* x_25;
-lean_dec(x_18);
-lean_dec(x_15);
-x_24 = 0;
-x_25 = l_Lean_Parser_mergeOrElseErrors(x_17, x_10, x_5, x_24);
-lean_dec(x_5);
-return x_25;
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_parseCommand_parse_match__2___rarg), 2, 0);
+return x_2;
}
}
-}
-}
-}
-lean_object* l_Lean_Parser_parseCommand___main(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
+lean_object* l_Lean_Parser_parseCommand_parse(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
lean_object* x_5; uint8_t x_6; lean_object* x_7; uint8_t x_8;
@@ -3760,7 +2806,7 @@ lean_ctor_set(x_15, 0, x_14);
lean_ctor_set(x_15, 1, x_5);
lean_ctor_set(x_15, 2, x_12);
lean_ctor_set(x_15, 3, x_13);
-x_16 = l_Lean_Parser_whitespace___main(x_11, x_15);
+x_16 = l_Lean_Parser_whitespace(x_11, x_15);
lean_inc(x_11);
x_17 = l_Lean_Parser_topLevelCommandParserFn(x_11, x_16);
x_18 = lean_ctor_get(x_17, 3);
@@ -3808,7 +2854,7 @@ if (x_6 == 0)
lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31;
x_28 = l_Lean_Parser_Error_toString(x_25);
lean_inc(x_26);
-x_29 = l___private_Lean_Parser_Module_1__mkErrorMessage(x_11, x_26, x_28);
+x_29 = l___private_Lean_Parser_Module_0__Lean_Parser_mkErrorMessage(x_11, x_26, x_28);
lean_dec(x_11);
x_30 = l_Std_PersistentArray_push___rarg(x_4, x_29);
x_31 = 1;
@@ -3833,12 +2879,12 @@ else
lean_object* x_35;
lean_inc(x_26);
lean_inc(x_11);
-x_35 = l___private_Lean_Parser_Module_3__consumeInput(x_11, x_26);
+x_35 = l___private_Lean_Parser_Module_0__Lean_Parser_consumeInput(x_11, x_26);
if (x_6 == 0)
{
lean_object* x_36; lean_object* x_37; lean_object* x_38; uint8_t x_39;
x_36 = l_Lean_Parser_Error_toString(x_25);
-x_37 = l___private_Lean_Parser_Module_1__mkErrorMessage(x_11, x_26, x_36);
+x_37 = l___private_Lean_Parser_Module_0__Lean_Parser_mkErrorMessage(x_11, x_26, x_36);
lean_dec(x_11);
x_38 = l_Std_PersistentArray_push___rarg(x_4, x_37);
x_39 = 1;
@@ -3878,7 +2924,7 @@ lean_ctor_set(x_47, 0, x_46);
lean_ctor_set(x_47, 1, x_5);
lean_ctor_set(x_47, 2, x_44);
lean_ctor_set(x_47, 3, x_45);
-x_48 = l_Lean_Parser_whitespace___main(x_43, x_47);
+x_48 = l_Lean_Parser_whitespace(x_43, x_47);
lean_inc(x_43);
x_49 = l_Lean_Parser_topLevelCommandParserFn(x_43, x_48);
x_50 = lean_ctor_get(x_49, 3);
@@ -3927,7 +2973,7 @@ if (x_6 == 0)
lean_object* x_61; lean_object* x_62; lean_object* x_63; uint8_t x_64; lean_object* x_65;
x_61 = l_Lean_Parser_Error_toString(x_58);
lean_inc(x_59);
-x_62 = l___private_Lean_Parser_Module_1__mkErrorMessage(x_43, x_59, x_61);
+x_62 = l___private_Lean_Parser_Module_0__Lean_Parser_mkErrorMessage(x_43, x_59, x_61);
lean_dec(x_43);
x_63 = l_Std_PersistentArray_push___rarg(x_4, x_62);
x_64 = 1;
@@ -3956,12 +3002,12 @@ else
lean_object* x_70;
lean_inc(x_59);
lean_inc(x_43);
-x_70 = l___private_Lean_Parser_Module_3__consumeInput(x_43, x_59);
+x_70 = l___private_Lean_Parser_Module_0__Lean_Parser_consumeInput(x_43, x_59);
if (x_6 == 0)
{
lean_object* x_71; lean_object* x_72; lean_object* x_73; uint8_t x_74; lean_object* x_75;
x_71 = l_Lean_Parser_Error_toString(x_58);
-x_72 = l___private_Lean_Parser_Module_1__mkErrorMessage(x_43, x_59, x_71);
+x_72 = l___private_Lean_Parser_Module_0__Lean_Parser_mkErrorMessage(x_43, x_59, x_71);
lean_dec(x_43);
x_73 = l_Std_PersistentArray_push___rarg(x_4, x_72);
x_74 = 1;
@@ -3995,7 +3041,7 @@ lean_object* x_80; lean_object* x_81; lean_object* x_82;
lean_dec(x_7);
lean_dec(x_2);
lean_dec(x_1);
-x_80 = l___private_Lean_Parser_Module_2__mkEOI(x_5);
+x_80 = l___private_Lean_Parser_Module_0__Lean_Parser_mkEOI(x_5);
x_81 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_81, 0, x_3);
lean_ctor_set(x_81, 1, x_4);
@@ -4010,11 +3056,89 @@ lean_object* l_Lean_Parser_parseCommand(lean_object* x_1, lean_object* x_2, lean
_start:
{
lean_object* x_5;
-x_5 = l_Lean_Parser_parseCommand___main(x_1, x_2, x_3, x_4);
+x_5 = l_Lean_Parser_parseCommand_parse(x_1, x_2, x_3, x_4);
return x_5;
}
}
-lean_object* l_IO_println___at___private_Lean_Parser_Module_4__testModuleParserAux___main___spec__1(lean_object* x_1, lean_object* x_2) {
+lean_object* l___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop_match__1___rarg(lean_object* x_1, lean_object* x_2) {
+_start:
+{
+lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
+x_3 = lean_ctor_get(x_1, 1);
+lean_inc(x_3);
+x_4 = lean_ctor_get(x_1, 0);
+lean_inc(x_4);
+lean_dec(x_1);
+x_5 = lean_ctor_get(x_3, 0);
+lean_inc(x_5);
+x_6 = lean_ctor_get(x_3, 1);
+lean_inc(x_6);
+lean_dec(x_3);
+x_7 = lean_apply_3(x_2, x_4, x_5, x_6);
+return x_7;
+}
+}
+lean_object* l___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop_match__1___rarg), 2, 0);
+return x_2;
+}
+}
+lean_object* l_IO_getStdout___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__3(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_get_stdout(x_1);
+return x_2;
+}
+}
+lean_object* l_IO_print___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__2(lean_object* x_1, lean_object* x_2) {
+_start:
+{
+lean_object* x_3;
+x_3 = lean_get_stdout(x_2);
+if (lean_obj_tag(x_3) == 0)
+{
+lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
+x_4 = lean_ctor_get(x_3, 0);
+lean_inc(x_4);
+x_5 = lean_ctor_get(x_3, 1);
+lean_inc(x_5);
+lean_dec(x_3);
+x_6 = lean_ctor_get(x_4, 5);
+lean_inc(x_6);
+lean_dec(x_4);
+x_7 = lean_apply_2(x_6, x_1, x_5);
+return x_7;
+}
+else
+{
+uint8_t x_8;
+lean_dec(x_1);
+x_8 = !lean_is_exclusive(x_3);
+if (x_8 == 0)
+{
+return x_3;
+}
+else
+{
+lean_object* x_9; lean_object* x_10; lean_object* x_11;
+x_9 = lean_ctor_get(x_3, 0);
+x_10 = lean_ctor_get(x_3, 1);
+lean_inc(x_10);
+lean_inc(x_9);
+lean_dec(x_3);
+x_11 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_11, 0, x_9);
+lean_ctor_set(x_11, 1, x_10);
+return x_11;
+}
+}
+}
+}
+lean_object* l_IO_println___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__1(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; uint32_t x_9; lean_object* x_10; lean_object* x_11;
@@ -4026,11 +3150,21 @@ x_7 = lean_box(0);
x_8 = l_Lean_Format_pretty(x_6, x_7);
x_9 = 10;
x_10 = lean_string_push(x_8, x_9);
-x_11 = l_IO_print___at_Lean_HasRepr_hasEval___spec__2(x_10, x_2);
+x_11 = l_IO_print___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__2(x_10, x_2);
return x_11;
}
}
-lean_object* l_Array_forMAux___main___at___private_Lean_Parser_Module_4__testModuleParserAux___main___spec__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
+lean_object* l_IO_println___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__4(lean_object* x_1, lean_object* x_2) {
+_start:
+{
+uint32_t x_3; lean_object* x_4; lean_object* x_5;
+x_3 = 10;
+x_4 = lean_string_push(x_1, x_3);
+x_5 = l_IO_print___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__2(x_4, x_2);
+return x_5;
+}
+}
+lean_object* l_Array_forMAux___main___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__8(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
lean_object* x_5; uint8_t x_6;
@@ -4053,7 +3187,7 @@ else
lean_object* x_9; lean_object* x_10;
x_9 = lean_array_fget(x_2, x_3);
lean_inc(x_1);
-x_10 = l_Std_PersistentArray_forMAux___at___private_Lean_Parser_Module_4__testModuleParserAux___main___spec__4(x_1, x_9, x_4);
+x_10 = l_Std_PersistentArray_forMAux___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__7(x_1, x_9, x_4);
lean_dec(x_9);
if (lean_obj_tag(x_10) == 0)
{
@@ -4095,7 +3229,7 @@ return x_18;
}
}
}
-lean_object* l_Array_forMAux___main___at___private_Lean_Parser_Module_4__testModuleParserAux___main___spec__6(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
+lean_object* l_Array_forMAux___main___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__9(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
lean_object* x_5; uint8_t x_6;
@@ -4159,7 +3293,7 @@ return x_18;
}
}
}
-lean_object* l_Std_PersistentArray_forMAux___at___private_Lean_Parser_Module_4__testModuleParserAux___main___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l_Std_PersistentArray_forMAux___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__7(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
if (lean_obj_tag(x_2) == 0)
@@ -4167,7 +3301,7 @@ if (lean_obj_tag(x_2) == 0)
lean_object* x_4; lean_object* x_5; lean_object* x_6;
x_4 = lean_ctor_get(x_2, 0);
x_5 = lean_unsigned_to_nat(0u);
-x_6 = l_Array_forMAux___main___at___private_Lean_Parser_Module_4__testModuleParserAux___main___spec__5(x_1, x_4, x_5, x_3);
+x_6 = l_Array_forMAux___main___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__8(x_1, x_4, x_5, x_3);
return x_6;
}
else
@@ -4175,12 +3309,12 @@ else
lean_object* x_7; lean_object* x_8; lean_object* x_9;
x_7 = lean_ctor_get(x_2, 0);
x_8 = lean_unsigned_to_nat(0u);
-x_9 = l_Array_forMAux___main___at___private_Lean_Parser_Module_4__testModuleParserAux___main___spec__6(x_1, x_7, x_8, x_3);
+x_9 = l_Array_forMAux___main___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__9(x_1, x_7, x_8, x_3);
return x_9;
}
}
}
-lean_object* l_Array_forMAux___main___at___private_Lean_Parser_Module_4__testModuleParserAux___main___spec__7(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
+lean_object* l_Array_forMAux___main___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__10(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
lean_object* x_5; uint8_t x_6;
@@ -4244,14 +3378,14 @@ return x_18;
}
}
}
-lean_object* l_Std_PersistentArray_forM___at___private_Lean_Parser_Module_4__testModuleParserAux___main___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l_Std_PersistentArray_forM___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__6(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4; lean_object* x_5; lean_object* x_6;
x_4 = lean_ctor_get(x_2, 0);
x_5 = lean_ctor_get(x_2, 1);
lean_inc(x_1);
-x_6 = l_Std_PersistentArray_forMAux___at___private_Lean_Parser_Module_4__testModuleParserAux___main___spec__4(x_1, x_4, x_3);
+x_6 = l_Std_PersistentArray_forMAux___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__7(x_1, x_4, x_3);
if (lean_obj_tag(x_6) == 0)
{
lean_object* x_7; lean_object* x_8; lean_object* x_9;
@@ -4259,7 +3393,7 @@ x_7 = lean_ctor_get(x_6, 1);
lean_inc(x_7);
lean_dec(x_6);
x_8 = lean_unsigned_to_nat(0u);
-x_9 = l_Array_forMAux___main___at___private_Lean_Parser_Module_4__testModuleParserAux___main___spec__7(x_1, x_5, x_8, x_7);
+x_9 = l_Array_forMAux___main___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__10(x_1, x_5, x_8, x_7);
return x_9;
}
else
@@ -4287,15 +3421,23 @@ return x_13;
}
}
}
-lean_object* l_Lean_MessageLog_forM___at___private_Lean_Parser_Module_4__testModuleParserAux___main___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l_Lean_MessageLog_forM___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__5(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
-x_4 = l_Std_PersistentArray_forM___at___private_Lean_Parser_Module_4__testModuleParserAux___main___spec__3(x_2, x_1, x_3);
+x_4 = l_Std_PersistentArray_forM___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__6(x_2, x_1, x_3);
return x_4;
}
}
-lean_object* l___private_Lean_Parser_Module_4__testModuleParserAux___main___lambda__1(lean_object* x_1, lean_object* x_2) {
+lean_object* l___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___lambda__1(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) {
+_start:
+{
+lean_object* x_8;
+x_8 = l___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop(x_1, x_2, x_3, x_4, x_5, x_7);
+return x_8;
+}
+}
+lean_object* l___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___lambda__2(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
@@ -4308,7 +3450,7 @@ lean_inc(x_4);
x_5 = lean_ctor_get(x_3, 1);
lean_inc(x_5);
lean_dec(x_3);
-x_6 = l_IO_println___at_Lean_HasRepr_hasEval___spec__1(x_4, x_5);
+x_6 = l_IO_println___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__4(x_4, x_5);
return x_6;
}
else
@@ -4335,21 +3477,21 @@ return x_10;
}
}
}
-static lean_object* _init_l___private_Lean_Parser_Module_4__testModuleParserAux___main___closed__1() {
+static lean_object* _init_l___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___closed__1() {
_start:
{
lean_object* x_1;
-x_1 = lean_alloc_closure((void*)(l___private_Lean_Parser_Module_4__testModuleParserAux___main___lambda__1), 2, 0);
+x_1 = lean_alloc_closure((void*)(l___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___lambda__2), 2, 0);
return x_1;
}
}
-lean_object* l___private_Lean_Parser_Module_4__testModuleParserAux___main(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
+lean_object* l___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
-lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; uint8_t x_12;
+lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; uint8_t x_12; uint8_t x_43;
lean_inc(x_2);
lean_inc(x_1);
-x_7 = l_Lean_Parser_parseCommand___main(x_1, x_2, x_4, x_5);
+x_7 = l_Lean_Parser_parseCommand_parse(x_1, x_2, x_4, x_5);
x_8 = lean_ctor_get(x_7, 1);
lean_inc(x_8);
x_9 = lean_ctor_get(x_7, 0);
@@ -4361,13 +3503,25 @@ x_11 = lean_ctor_get(x_8, 1);
lean_inc(x_11);
lean_dec(x_8);
lean_inc(x_9);
-x_12 = l_Lean_Parser_isEOI(x_9);
-if (x_12 == 0)
+x_43 = l_Lean_Parser_isEOI(x_9);
+if (x_43 == 0)
{
-uint8_t x_13;
+uint8_t x_44;
lean_inc(x_9);
-x_13 = l_Lean_Parser_isExitCommand(x_9);
-if (x_13 == 0)
+x_44 = l_Lean_Parser_isExitCommand(x_9);
+x_12 = x_44;
+goto block_42;
+}
+else
+{
+uint8_t x_45;
+x_45 = 1;
+x_12 = x_45;
+goto block_42;
+}
+block_42:
+{
+if (x_12 == 0)
{
if (x_3 == 0)
{
@@ -4378,321 +3532,267 @@ goto _start;
}
else
{
-lean_object* x_15;
-x_15 = l_IO_println___at___private_Lean_Parser_Module_4__testModuleParserAux___main___spec__1(x_9, x_6);
-if (lean_obj_tag(x_15) == 0)
+lean_object* x_14;
+x_14 = l_IO_println___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__1(x_9, x_6);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_16;
-x_16 = lean_ctor_get(x_15, 1);
-lean_inc(x_16);
-lean_dec(x_15);
+lean_object* x_15;
+x_15 = lean_ctor_get(x_14, 1);
+lean_inc(x_15);
+lean_dec(x_14);
x_4 = x_10;
x_5 = x_11;
-x_6 = x_16;
+x_6 = x_15;
goto _start;
}
else
{
-uint8_t x_18;
+uint8_t x_17;
lean_dec(x_11);
lean_dec(x_10);
lean_dec(x_2);
lean_dec(x_1);
-x_18 = !lean_is_exclusive(x_15);
-if (x_18 == 0)
+x_17 = !lean_is_exclusive(x_14);
+if (x_17 == 0)
{
-return x_15;
+return x_14;
}
else
{
-lean_object* x_19; lean_object* x_20; lean_object* x_21;
-x_19 = lean_ctor_get(x_15, 0);
-x_20 = lean_ctor_get(x_15, 1);
-lean_inc(x_20);
+lean_object* x_18; lean_object* x_19; lean_object* x_20;
+x_18 = lean_ctor_get(x_14, 0);
+x_19 = lean_ctor_get(x_14, 1);
lean_inc(x_19);
-lean_dec(x_15);
-x_21 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_21, 0, x_19);
-lean_ctor_set(x_21, 1, x_20);
-return x_21;
+lean_inc(x_18);
+lean_dec(x_14);
+x_20 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_20, 0, x_18);
+lean_ctor_set(x_20, 1, x_19);
+return x_20;
}
}
}
}
else
{
-lean_object* x_22; lean_object* x_23;
+lean_object* x_21; lean_object* x_22;
lean_dec(x_10);
lean_dec(x_9);
lean_dec(x_2);
lean_dec(x_1);
-x_22 = l___private_Lean_Parser_Module_4__testModuleParserAux___main___closed__1;
-x_23 = l_Std_PersistentArray_forM___at___private_Lean_Parser_Module_4__testModuleParserAux___main___spec__3(x_22, x_11, x_6);
-if (lean_obj_tag(x_23) == 0)
+x_21 = l___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___closed__1;
+x_22 = l_Std_PersistentArray_forM___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__6(x_21, x_11, x_6);
+if (lean_obj_tag(x_22) == 0)
{
-uint8_t x_24;
-x_24 = !lean_is_exclusive(x_23);
-if (x_24 == 0)
+uint8_t x_23;
+x_23 = !lean_is_exclusive(x_22);
+if (x_23 == 0)
{
-lean_object* x_25; uint8_t x_26;
-x_25 = lean_ctor_get(x_23, 0);
-lean_dec(x_25);
-x_26 = l_Std_PersistentArray_anyM___at_Lean_MessageLog_hasErrors___spec__1(x_11);
+lean_object* x_24; uint8_t x_25;
+x_24 = lean_ctor_get(x_22, 0);
+lean_dec(x_24);
+x_25 = l_Std_PersistentArray_anyM___at_Lean_MessageLog_hasErrors___spec__1(x_11);
lean_dec(x_11);
-if (x_26 == 0)
+if (x_25 == 0)
{
-uint8_t x_27; lean_object* x_28;
-x_27 = 1;
-x_28 = lean_box(x_27);
-lean_ctor_set(x_23, 0, x_28);
-return x_23;
+uint8_t x_26; lean_object* x_27;
+x_26 = 1;
+x_27 = lean_box(x_26);
+lean_ctor_set(x_22, 0, x_27);
+return x_22;
}
else
{
-uint8_t x_29; lean_object* x_30;
-x_29 = 0;
-x_30 = lean_box(x_29);
-lean_ctor_set(x_23, 0, x_30);
-return x_23;
+uint8_t x_28; lean_object* x_29;
+x_28 = 0;
+x_29 = lean_box(x_28);
+lean_ctor_set(x_22, 0, x_29);
+return x_22;
}
}
else
{
-lean_object* x_31; uint8_t x_32;
-x_31 = lean_ctor_get(x_23, 1);
-lean_inc(x_31);
-lean_dec(x_23);
-x_32 = l_Std_PersistentArray_anyM___at_Lean_MessageLog_hasErrors___spec__1(x_11);
+lean_object* x_30; uint8_t x_31;
+x_30 = lean_ctor_get(x_22, 1);
+lean_inc(x_30);
+lean_dec(x_22);
+x_31 = l_Std_PersistentArray_anyM___at_Lean_MessageLog_hasErrors___spec__1(x_11);
lean_dec(x_11);
-if (x_32 == 0)
+if (x_31 == 0)
{
-uint8_t x_33; lean_object* x_34; lean_object* x_35;
-x_33 = 1;
-x_34 = lean_box(x_33);
-x_35 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_35, 0, x_34);
-lean_ctor_set(x_35, 1, x_31);
-return x_35;
+uint8_t x_32; lean_object* x_33; lean_object* x_34;
+x_32 = 1;
+x_33 = lean_box(x_32);
+x_34 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_34, 0, x_33);
+lean_ctor_set(x_34, 1, x_30);
+return x_34;
}
else
{
-uint8_t x_36; lean_object* x_37; lean_object* x_38;
-x_36 = 0;
-x_37 = lean_box(x_36);
-x_38 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_38, 0, x_37);
-lean_ctor_set(x_38, 1, x_31);
-return x_38;
+uint8_t x_35; lean_object* x_36; lean_object* x_37;
+x_35 = 0;
+x_36 = lean_box(x_35);
+x_37 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_37, 0, x_36);
+lean_ctor_set(x_37, 1, x_30);
+return x_37;
}
}
}
else
{
-uint8_t x_39;
+uint8_t x_38;
lean_dec(x_11);
-x_39 = !lean_is_exclusive(x_23);
-if (x_39 == 0)
+x_38 = !lean_is_exclusive(x_22);
+if (x_38 == 0)
{
-return x_23;
+return x_22;
}
else
{
-lean_object* x_40; lean_object* x_41; lean_object* x_42;
-x_40 = lean_ctor_get(x_23, 0);
-x_41 = lean_ctor_get(x_23, 1);
-lean_inc(x_41);
+lean_object* x_39; lean_object* x_40; lean_object* x_41;
+x_39 = lean_ctor_get(x_22, 0);
+x_40 = lean_ctor_get(x_22, 1);
lean_inc(x_40);
-lean_dec(x_23);
-x_42 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_42, 0, x_40);
-lean_ctor_set(x_42, 1, x_41);
-return x_42;
-}
-}
-}
-}
-else
-{
-lean_object* x_43; lean_object* x_44;
-lean_dec(x_10);
-lean_dec(x_9);
-lean_dec(x_2);
-lean_dec(x_1);
-x_43 = l___private_Lean_Parser_Module_4__testModuleParserAux___main___closed__1;
-x_44 = l_Std_PersistentArray_forM___at___private_Lean_Parser_Module_4__testModuleParserAux___main___spec__3(x_43, x_11, x_6);
-if (lean_obj_tag(x_44) == 0)
-{
-uint8_t x_45;
-x_45 = !lean_is_exclusive(x_44);
-if (x_45 == 0)
-{
-lean_object* x_46; uint8_t x_47;
-x_46 = lean_ctor_get(x_44, 0);
-lean_dec(x_46);
-x_47 = l_Std_PersistentArray_anyM___at_Lean_MessageLog_hasErrors___spec__1(x_11);
-lean_dec(x_11);
-if (x_47 == 0)
-{
-uint8_t x_48; lean_object* x_49;
-x_48 = 1;
-x_49 = lean_box(x_48);
-lean_ctor_set(x_44, 0, x_49);
-return x_44;
-}
-else
-{
-uint8_t x_50; lean_object* x_51;
-x_50 = 0;
-x_51 = lean_box(x_50);
-lean_ctor_set(x_44, 0, x_51);
-return x_44;
-}
-}
-else
-{
-lean_object* x_52; uint8_t x_53;
-x_52 = lean_ctor_get(x_44, 1);
-lean_inc(x_52);
-lean_dec(x_44);
-x_53 = l_Std_PersistentArray_anyM___at_Lean_MessageLog_hasErrors___spec__1(x_11);
-lean_dec(x_11);
-if (x_53 == 0)
-{
-uint8_t x_54; lean_object* x_55; lean_object* x_56;
-x_54 = 1;
-x_55 = lean_box(x_54);
-x_56 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_56, 0, x_55);
-lean_ctor_set(x_56, 1, x_52);
-return x_56;
-}
-else
-{
-uint8_t x_57; lean_object* x_58; lean_object* x_59;
-x_57 = 0;
-x_58 = lean_box(x_57);
-x_59 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_59, 0, x_58);
-lean_ctor_set(x_59, 1, x_52);
-return x_59;
-}
-}
-}
-else
-{
-uint8_t x_60;
-lean_dec(x_11);
-x_60 = !lean_is_exclusive(x_44);
-if (x_60 == 0)
-{
-return x_44;
-}
-else
-{
-lean_object* x_61; lean_object* x_62; lean_object* x_63;
-x_61 = lean_ctor_get(x_44, 0);
-x_62 = lean_ctor_get(x_44, 1);
-lean_inc(x_62);
-lean_inc(x_61);
-lean_dec(x_44);
-x_63 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_63, 0, x_61);
-lean_ctor_set(x_63, 1, x_62);
-return x_63;
+lean_inc(x_39);
+lean_dec(x_22);
+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;
}
}
}
}
}
-lean_object* l_Array_forMAux___main___at___private_Lean_Parser_Module_4__testModuleParserAux___main___spec__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
+}
+lean_object* l_Array_forMAux___main___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__8___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
lean_object* x_5;
-x_5 = l_Array_forMAux___main___at___private_Lean_Parser_Module_4__testModuleParserAux___main___spec__5(x_1, x_2, x_3, x_4);
+x_5 = l_Array_forMAux___main___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__8(x_1, x_2, x_3, x_4);
lean_dec(x_2);
return x_5;
}
}
-lean_object* l_Array_forMAux___main___at___private_Lean_Parser_Module_4__testModuleParserAux___main___spec__6___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
+lean_object* l_Array_forMAux___main___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__9___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
lean_object* x_5;
-x_5 = l_Array_forMAux___main___at___private_Lean_Parser_Module_4__testModuleParserAux___main___spec__6(x_1, x_2, x_3, x_4);
+x_5 = l_Array_forMAux___main___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__9(x_1, x_2, x_3, x_4);
lean_dec(x_2);
return x_5;
}
}
-lean_object* l_Std_PersistentArray_forMAux___at___private_Lean_Parser_Module_4__testModuleParserAux___main___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l_Std_PersistentArray_forMAux___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__7___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
-x_4 = l_Std_PersistentArray_forMAux___at___private_Lean_Parser_Module_4__testModuleParserAux___main___spec__4(x_1, x_2, x_3);
+x_4 = l_Std_PersistentArray_forMAux___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__7(x_1, x_2, x_3);
lean_dec(x_2);
return x_4;
}
}
-lean_object* l_Array_forMAux___main___at___private_Lean_Parser_Module_4__testModuleParserAux___main___spec__7___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
+lean_object* l_Array_forMAux___main___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__10___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
lean_object* x_5;
-x_5 = l_Array_forMAux___main___at___private_Lean_Parser_Module_4__testModuleParserAux___main___spec__7(x_1, x_2, x_3, x_4);
+x_5 = l_Array_forMAux___main___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__10(x_1, x_2, x_3, x_4);
lean_dec(x_2);
return x_5;
}
}
-lean_object* l_Std_PersistentArray_forM___at___private_Lean_Parser_Module_4__testModuleParserAux___main___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l_Std_PersistentArray_forM___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__6___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
-x_4 = l_Std_PersistentArray_forM___at___private_Lean_Parser_Module_4__testModuleParserAux___main___spec__3(x_1, x_2, x_3);
+x_4 = l_Std_PersistentArray_forM___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__6(x_1, x_2, x_3);
lean_dec(x_2);
return x_4;
}
}
-lean_object* l_Lean_MessageLog_forM___at___private_Lean_Parser_Module_4__testModuleParserAux___main___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l_Lean_MessageLog_forM___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
-x_4 = l_Lean_MessageLog_forM___at___private_Lean_Parser_Module_4__testModuleParserAux___main___spec__2(x_1, x_2, x_3);
+x_4 = l_Lean_MessageLog_forM___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__5(x_1, x_2, x_3);
lean_dec(x_1);
return x_4;
}
}
-lean_object* l___private_Lean_Parser_Module_4__testModuleParserAux___main___boxed(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* l___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___lambda__1___boxed(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) {
+_start:
+{
+uint8_t x_8; lean_object* x_9;
+x_8 = lean_unbox(x_3);
+lean_dec(x_3);
+x_9 = l___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___lambda__1(x_1, x_2, x_8, x_4, x_5, x_6, x_7);
+lean_dec(x_6);
+return x_9;
+}
+}
+lean_object* l___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
uint8_t x_7; lean_object* x_8;
x_7 = lean_unbox(x_3);
lean_dec(x_3);
-x_8 = l___private_Lean_Parser_Module_4__testModuleParserAux___main(x_1, x_2, x_7, x_4, x_5, x_6);
+x_8 = l___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop(x_1, x_2, x_7, x_4, x_5, x_6);
return x_8;
}
}
-lean_object* l___private_Lean_Parser_Module_4__testModuleParserAux(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
+lean_object* l___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
lean_object* x_7;
-x_7 = l___private_Lean_Parser_Module_4__testModuleParserAux___main(x_1, x_2, x_3, x_4, x_5, x_6);
+x_7 = l___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop(x_1, x_2, x_3, x_4, x_5, x_6);
return x_7;
}
}
-lean_object* l___private_Lean_Parser_Module_4__testModuleParserAux___boxed(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* l___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
uint8_t x_7; lean_object* x_8;
x_7 = lean_unbox(x_3);
lean_dec(x_3);
-x_8 = l___private_Lean_Parser_Module_4__testModuleParserAux(x_1, x_2, x_7, x_4, x_5, x_6);
+x_8 = l___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux(x_1, x_2, x_7, x_4, x_5, x_6);
return x_8;
}
}
-lean_object* l_Lean_Parser_testModuleParser___lambda__1(uint8_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
+lean_object* l_Lean_Parser_testModuleParser_match__1___rarg(lean_object* x_1, lean_object* x_2) {
+_start:
+{
+lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
+x_3 = lean_ctor_get(x_1, 1);
+lean_inc(x_3);
+x_4 = lean_ctor_get(x_1, 0);
+lean_inc(x_4);
+lean_dec(x_1);
+x_5 = lean_ctor_get(x_3, 0);
+lean_inc(x_5);
+x_6 = lean_ctor_get(x_3, 1);
+lean_inc(x_6);
+lean_dec(x_3);
+x_7 = lean_apply_3(x_2, x_4, x_5, x_6);
+return x_7;
+}
+}
+lean_object* l_Lean_Parser_testModuleParser_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_testModuleParser_match__1___rarg), 2, 0);
+return x_2;
+}
+}
+lean_object* l_Lean_Parser_testModuleParser___lambda__1(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
lean_object* x_6;
x_6 = lean_ctor_get(x_4, 1);
lean_inc(x_6);
-if (x_1 == 0)
+if (x_3 == 0)
{
lean_object* x_7; lean_object* x_8; lean_object* x_9;
lean_dec(x_4);
@@ -4701,7 +3801,7 @@ lean_inc(x_7);
x_8 = lean_ctor_get(x_6, 1);
lean_inc(x_8);
lean_dec(x_6);
-x_9 = l___private_Lean_Parser_Module_4__testModuleParserAux___main(x_2, x_3, x_1, x_7, x_8, x_5);
+x_9 = l___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop(x_1, x_2, x_3, x_7, x_8, x_5);
return x_9;
}
else
@@ -4715,14 +3815,14 @@ lean_inc(x_11);
x_12 = lean_ctor_get(x_6, 1);
lean_inc(x_12);
lean_dec(x_6);
-x_13 = l_IO_println___at___private_Lean_Parser_Module_4__testModuleParserAux___main___spec__1(x_10, x_5);
+x_13 = l_IO_println___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__1(x_10, x_5);
if (lean_obj_tag(x_13) == 0)
{
lean_object* x_14; lean_object* x_15;
x_14 = lean_ctor_get(x_13, 1);
lean_inc(x_14);
lean_dec(x_13);
-x_15 = l___private_Lean_Parser_Module_4__testModuleParserAux___main(x_2, x_3, x_1, x_11, x_12, x_14);
+x_15 = l___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop(x_1, x_2, x_3, x_11, x_12, x_14);
return x_15;
}
else
@@ -4730,8 +3830,8 @@ else
uint8_t x_16;
lean_dec(x_12);
lean_dec(x_11);
-lean_dec(x_3);
lean_dec(x_2);
+lean_dec(x_1);
x_16 = !lean_is_exclusive(x_13);
if (x_16 == 0)
{
@@ -4775,9 +3875,9 @@ x_9 = lean_alloc_closure((void*)(l_Lean_Parser_parseHeader), 2, 1);
lean_closure_set(x_9, 0, x_8);
x_10 = lean_box(x_4);
x_11 = lean_alloc_closure((void*)(l_Lean_Parser_testModuleParser___lambda__1___boxed), 5, 3);
-lean_closure_set(x_11, 0, x_10);
-lean_closure_set(x_11, 1, x_1);
-lean_closure_set(x_11, 2, x_8);
+lean_closure_set(x_11, 0, x_1);
+lean_closure_set(x_11, 1, x_8);
+lean_closure_set(x_11, 2, x_10);
x_12 = lean_alloc_closure((void*)(l_EStateM_bind___rarg), 3, 2);
lean_closure_set(x_12, 0, x_9);
lean_closure_set(x_12, 1, x_11);
@@ -4790,9 +3890,9 @@ lean_object* l_Lean_Parser_testModuleParser___lambda__1___boxed(lean_object* x_1
_start:
{
uint8_t x_6; lean_object* x_7;
-x_6 = lean_unbox(x_1);
-lean_dec(x_1);
-x_7 = l_Lean_Parser_testModuleParser___lambda__1(x_6, x_2, x_3, x_4, x_5);
+x_6 = lean_unbox(x_3);
+lean_dec(x_3);
+x_7 = l_Lean_Parser_testModuleParser___lambda__1(x_1, x_2, x_6, x_4, x_5);
return x_7;
}
}
@@ -4806,7 +3906,33 @@ x_7 = lean_test_module_parser(x_1, x_2, x_3, x_6, x_5);
return x_7;
}
}
-static lean_object* _init_l_Lean_Parser_parseModuleAux___main___closed__1() {
+lean_object* l_Lean_Parser_parseModuleAux_parse_match__1___rarg(lean_object* x_1, lean_object* x_2) {
+_start:
+{
+lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
+x_3 = lean_ctor_get(x_1, 1);
+lean_inc(x_3);
+x_4 = lean_ctor_get(x_1, 0);
+lean_inc(x_4);
+lean_dec(x_1);
+x_5 = lean_ctor_get(x_3, 0);
+lean_inc(x_5);
+x_6 = lean_ctor_get(x_3, 1);
+lean_inc(x_6);
+lean_dec(x_3);
+x_7 = lean_apply_3(x_2, x_4, x_5, x_6);
+return x_7;
+}
+}
+lean_object* l_Lean_Parser_parseModuleAux_parse_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_parseModuleAux_parse_match__1___rarg), 2, 0);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_parseModuleAux_parse___closed__1() {
_start:
{
lean_object* x_1;
@@ -4814,23 +3940,23 @@ x_1 = lean_mk_string("failed to parse file");
return x_1;
}
}
-static lean_object* _init_l_Lean_Parser_parseModuleAux___main___closed__2() {
+static lean_object* _init_l_Lean_Parser_parseModuleAux_parse___closed__2() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_parseModuleAux___main___closed__1;
+x_1 = l_Lean_Parser_parseModuleAux_parse___closed__1;
x_2 = lean_alloc_ctor(18, 1, 0);
lean_ctor_set(x_2, 0, x_1);
return x_2;
}
}
-lean_object* l_Lean_Parser_parseModuleAux___main(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* l_Lean_Parser_parseModuleAux_parse(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; uint8_t x_12;
lean_inc(x_2);
lean_inc(x_1);
-x_7 = l_Lean_Parser_parseCommand___main(x_1, x_2, x_3, x_4);
+x_7 = l_Lean_Parser_parseCommand_parse(x_1, x_2, x_3, x_4);
x_8 = lean_ctor_get(x_7, 1);
lean_inc(x_8);
x_9 = lean_ctor_get(x_7, 0);
@@ -4864,8 +3990,8 @@ if (x_15 == 0)
{
lean_object* x_16; lean_object* x_17;
lean_dec(x_5);
-x_16 = l___private_Lean_Parser_Module_4__testModuleParserAux___main___closed__1;
-x_17 = l_Std_PersistentArray_forM___at___private_Lean_Parser_Module_4__testModuleParserAux___main___spec__3(x_16, x_11, x_6);
+x_16 = l___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___closed__1;
+x_17 = l_Std_PersistentArray_forM___at___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___spec__6(x_16, x_11, x_6);
lean_dec(x_11);
if (lean_obj_tag(x_17) == 0)
{
@@ -4876,7 +4002,7 @@ if (x_18 == 0)
lean_object* x_19; lean_object* x_20;
x_19 = lean_ctor_get(x_17, 0);
lean_dec(x_19);
-x_20 = l_Lean_Parser_parseModuleAux___main___closed__2;
+x_20 = l_Lean_Parser_parseModuleAux_parse___closed__2;
lean_ctor_set_tag(x_17, 1);
lean_ctor_set(x_17, 0, x_20);
return x_17;
@@ -4887,7 +4013,7 @@ lean_object* x_21; lean_object* x_22; lean_object* x_23;
x_21 = lean_ctor_get(x_17, 1);
lean_inc(x_21);
lean_dec(x_17);
-x_22 = l_Lean_Parser_parseModuleAux___main___closed__2;
+x_22 = l_Lean_Parser_parseModuleAux_parse___closed__2;
x_23 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_23, 0, x_22);
lean_ctor_set(x_23, 1, x_21);
@@ -4933,16 +4059,34 @@ lean_object* l_Lean_Parser_parseModuleAux(lean_object* x_1, lean_object* x_2, le
_start:
{
lean_object* x_7;
-x_7 = l_Lean_Parser_parseModuleAux___main(x_1, x_2, x_3, x_4, x_5, x_6);
+x_7 = l_Lean_Parser_parseModuleAux_parse(x_1, x_2, x_3, x_4, x_5, x_6);
return x_7;
}
}
-lean_object* l_IO_realPath___at_Lean_Parser_parseModule___spec__1(lean_object* x_1, lean_object* x_2) {
+lean_object* l_Lean_Parser_parseModule_match__1___rarg(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3;
-x_3 = lean_io_realpath(x_1, x_2);
-return x_3;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
+x_3 = lean_ctor_get(x_1, 1);
+lean_inc(x_3);
+x_4 = lean_ctor_get(x_1, 0);
+lean_inc(x_4);
+lean_dec(x_1);
+x_5 = lean_ctor_get(x_3, 0);
+lean_inc(x_5);
+x_6 = lean_ctor_get(x_3, 1);
+lean_inc(x_6);
+lean_dec(x_3);
+x_7 = lean_apply_3(x_2, x_4, x_5, x_6);
+return x_7;
+}
+}
+lean_object* l_Lean_Parser_parseModule_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_parseModule_match__1___rarg), 2, 0);
+return x_2;
}
}
lean_object* l_Lean_Parser_parseModule(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
@@ -4980,7 +4124,7 @@ x_15 = lean_ctor_get(x_11, 1);
lean_inc(x_15);
lean_dec(x_11);
x_16 = l_Array_empty___closed__1;
-x_17 = l_Lean_Parser_parseModuleAux___main(x_1, x_8, x_14, x_15, x_16, x_12);
+x_17 = l_Lean_Parser_parseModuleAux_parse(x_1, x_8, x_14, x_15, x_16, x_12);
if (lean_obj_tag(x_17) == 0)
{
uint8_t x_18;
@@ -5115,6 +4259,106 @@ lean_dec(x_5);
return x_6;
}
}
+lean_object* l_IO_FS_Handle_getLine___at_Lean_Parser_parseFile___spec__4(lean_object* x_1, lean_object* x_2) {
+_start:
+{
+lean_object* x_3;
+x_3 = lean_io_prim_handle_get_line(x_1, x_2);
+return x_3;
+}
+}
+lean_object* l_IO_FS_Handle_readToEndAux___main___at_Lean_Parser_parseFile___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+lean_object* x_4;
+x_4 = lean_io_prim_handle_get_line(x_1, x_3);
+if (lean_obj_tag(x_4) == 0)
+{
+uint8_t x_5;
+x_5 = !lean_is_exclusive(x_4);
+if (x_5 == 0)
+{
+lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; uint8_t x_10;
+x_6 = lean_ctor_get(x_4, 0);
+x_7 = lean_ctor_get(x_4, 1);
+x_8 = lean_string_length(x_6);
+x_9 = lean_unsigned_to_nat(0u);
+x_10 = lean_nat_dec_eq(x_8, x_9);
+lean_dec(x_8);
+if (x_10 == 0)
+{
+lean_object* x_11;
+lean_free_object(x_4);
+x_11 = lean_string_append(x_2, x_6);
+lean_dec(x_6);
+x_2 = x_11;
+x_3 = x_7;
+goto _start;
+}
+else
+{
+lean_dec(x_6);
+lean_ctor_set(x_4, 0, x_2);
+return x_4;
+}
+}
+else
+{
+lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t x_17;
+x_13 = lean_ctor_get(x_4, 0);
+x_14 = lean_ctor_get(x_4, 1);
+lean_inc(x_14);
+lean_inc(x_13);
+lean_dec(x_4);
+x_15 = lean_string_length(x_13);
+x_16 = lean_unsigned_to_nat(0u);
+x_17 = lean_nat_dec_eq(x_15, x_16);
+lean_dec(x_15);
+if (x_17 == 0)
+{
+lean_object* x_18;
+x_18 = lean_string_append(x_2, x_13);
+lean_dec(x_13);
+x_2 = x_18;
+x_3 = x_14;
+goto _start;
+}
+else
+{
+lean_object* x_20;
+lean_dec(x_13);
+x_20 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_20, 0, x_2);
+lean_ctor_set(x_20, 1, x_14);
+return x_20;
+}
+}
+}
+else
+{
+uint8_t x_21;
+lean_dec(x_2);
+x_21 = !lean_is_exclusive(x_4);
+if (x_21 == 0)
+{
+return x_4;
+}
+else
+{
+lean_object* x_22; lean_object* x_23; lean_object* x_24;
+x_22 = lean_ctor_get(x_4, 0);
+x_23 = lean_ctor_get(x_4, 1);
+lean_inc(x_23);
+lean_inc(x_22);
+lean_dec(x_4);
+x_24 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_24, 0, x_22);
+lean_ctor_set(x_24, 1, x_23);
+return x_24;
+}
+}
+}
+}
lean_object* l_IO_FS_readFile___at_Lean_Parser_parseFile___spec__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -5131,7 +4375,7 @@ x_7 = lean_ctor_get(x_5, 1);
lean_inc(x_7);
lean_dec(x_5);
x_8 = l_String_splitAux___main___closed__1;
-x_9 = l_IO_FS_Handle_readToEndAux___main___at_IO_Process_output___spec__1(x_6, x_8, x_7);
+x_9 = l_IO_FS_Handle_readToEndAux___main___at_Lean_Parser_parseFile___spec__3(x_6, x_8, x_7);
lean_dec(x_6);
return x_9;
}
@@ -5214,6 +4458,24 @@ lean_dec(x_1);
return x_7;
}
}
+lean_object* l_IO_FS_Handle_getLine___at_Lean_Parser_parseFile___spec__4___boxed(lean_object* x_1, lean_object* x_2) {
+_start:
+{
+lean_object* x_3;
+x_3 = l_IO_FS_Handle_getLine___at_Lean_Parser_parseFile___spec__4(x_1, x_2);
+lean_dec(x_1);
+return x_3;
+}
+}
+lean_object* l_IO_FS_Handle_readToEndAux___main___at_Lean_Parser_parseFile___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+lean_object* x_4;
+x_4 = l_IO_FS_Handle_readToEndAux___main___at_Lean_Parser_parseFile___spec__3(x_1, x_2, x_3);
+lean_dec(x_1);
+return x_4;
+}
+}
lean_object* l_IO_FS_readFile___at_Lean_Parser_parseFile___spec__1___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -5302,6 +4564,8 @@ l_Lean_Parser_Module_import___elambda__1___closed__13 = _init_l_Lean_Parser_Modu
lean_mark_persistent(l_Lean_Parser_Module_import___elambda__1___closed__13);
l_Lean_Parser_Module_import___elambda__1___closed__14 = _init_l_Lean_Parser_Module_import___elambda__1___closed__14();
lean_mark_persistent(l_Lean_Parser_Module_import___elambda__1___closed__14);
+l_Lean_Parser_Module_import___elambda__1___closed__15 = _init_l_Lean_Parser_Module_import___elambda__1___closed__15();
+lean_mark_persistent(l_Lean_Parser_Module_import___elambda__1___closed__15);
l_Lean_Parser_Module_import___closed__1 = _init_l_Lean_Parser_Module_import___closed__1();
lean_mark_persistent(l_Lean_Parser_Module_import___closed__1);
l_Lean_Parser_Module_import___closed__2 = _init_l_Lean_Parser_Module_import___closed__2();
@@ -5332,6 +4596,22 @@ l_Lean_Parser_Module_header___elambda__1___closed__3 = _init_l_Lean_Parser_Modul
lean_mark_persistent(l_Lean_Parser_Module_header___elambda__1___closed__3);
l_Lean_Parser_Module_header___elambda__1___closed__4 = _init_l_Lean_Parser_Module_header___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Module_header___elambda__1___closed__4);
+l_Lean_Parser_Module_header___elambda__1___closed__5 = _init_l_Lean_Parser_Module_header___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Module_header___elambda__1___closed__5);
+l_Lean_Parser_Module_header___elambda__1___closed__6 = _init_l_Lean_Parser_Module_header___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Module_header___elambda__1___closed__6);
+l_Lean_Parser_Module_header___elambda__1___closed__7 = _init_l_Lean_Parser_Module_header___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Module_header___elambda__1___closed__7);
+l_Lean_Parser_Module_header___elambda__1___closed__8 = _init_l_Lean_Parser_Module_header___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Module_header___elambda__1___closed__8);
+l_Lean_Parser_Module_header___elambda__1___closed__9 = _init_l_Lean_Parser_Module_header___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Module_header___elambda__1___closed__9);
+l_Lean_Parser_Module_header___elambda__1___closed__10 = _init_l_Lean_Parser_Module_header___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Module_header___elambda__1___closed__10);
+l_Lean_Parser_Module_header___elambda__1___closed__11 = _init_l_Lean_Parser_Module_header___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Module_header___elambda__1___closed__11);
+l_Lean_Parser_Module_header___elambda__1___closed__12 = _init_l_Lean_Parser_Module_header___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Module_header___elambda__1___closed__12);
l_Lean_Parser_Module_header___closed__1 = _init_l_Lean_Parser_Module_header___closed__1();
lean_mark_persistent(l_Lean_Parser_Module_header___closed__1);
l_Lean_Parser_Module_header___closed__2 = _init_l_Lean_Parser_Module_header___closed__2();
@@ -5474,6 +4754,18 @@ if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
l_Lean_Parser_Module_module___elambda__1___closed__1 = _init_l_Lean_Parser_Module_module___elambda__1___closed__1();
lean_mark_persistent(l_Lean_Parser_Module_module___elambda__1___closed__1);
+l_Lean_Parser_Module_module___elambda__1___closed__2 = _init_l_Lean_Parser_Module_module___elambda__1___closed__2();
+lean_mark_persistent(l_Lean_Parser_Module_module___elambda__1___closed__2);
+l_Lean_Parser_Module_module___elambda__1___closed__3 = _init_l_Lean_Parser_Module_module___elambda__1___closed__3();
+lean_mark_persistent(l_Lean_Parser_Module_module___elambda__1___closed__3);
+l_Lean_Parser_Module_module___elambda__1___closed__4 = _init_l_Lean_Parser_Module_module___elambda__1___closed__4();
+lean_mark_persistent(l_Lean_Parser_Module_module___elambda__1___closed__4);
+l_Lean_Parser_Module_module___elambda__1___closed__5 = _init_l_Lean_Parser_Module_module___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Module_module___elambda__1___closed__5);
+l_Lean_Parser_Module_module___elambda__1___closed__6 = _init_l_Lean_Parser_Module_module___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Module_module___elambda__1___closed__6);
+l_Lean_Parser_Module_module___elambda__1___closed__7 = _init_l_Lean_Parser_Module_module___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Module_module___elambda__1___closed__7);
l_Lean_Parser_Module_module___closed__1 = _init_l_Lean_Parser_Module_module___closed__1();
lean_mark_persistent(l_Lean_Parser_Module_module___closed__1);
l_Lean_Parser_Module_module___closed__2 = _init_l_Lean_Parser_Module_module___closed__2();
@@ -5496,24 +4788,39 @@ l_Lean_Parser_Module_module = _init_l_Lean_Parser_Module_module();
lean_mark_persistent(l_Lean_Parser_Module_module);
l_Lean_Parser_Module_updateTokens___closed__1 = _init_l_Lean_Parser_Module_updateTokens___closed__1();
lean_mark_persistent(l_Lean_Parser_Module_updateTokens___closed__1);
-l_Lean_Parser_ModuleParserState_inhabited___closed__1 = _init_l_Lean_Parser_ModuleParserState_inhabited___closed__1();
-lean_mark_persistent(l_Lean_Parser_ModuleParserState_inhabited___closed__1);
-l_Lean_Parser_ModuleParserState_inhabited = _init_l_Lean_Parser_ModuleParserState_inhabited();
-lean_mark_persistent(l_Lean_Parser_ModuleParserState_inhabited);
-l___private_Lean_Parser_Module_2__mkEOI___closed__1 = _init_l___private_Lean_Parser_Module_2__mkEOI___closed__1();
-lean_mark_persistent(l___private_Lean_Parser_Module_2__mkEOI___closed__1);
-l___private_Lean_Parser_Module_2__mkEOI___closed__2 = _init_l___private_Lean_Parser_Module_2__mkEOI___closed__2();
-lean_mark_persistent(l___private_Lean_Parser_Module_2__mkEOI___closed__2);
+l_Lean_Parser_Module_updateTokens___closed__2 = _init_l_Lean_Parser_Module_updateTokens___closed__2();
+lean_mark_persistent(l_Lean_Parser_Module_updateTokens___closed__2);
+l_Lean_Parser_Module_updateTokens___closed__3 = _init_l_Lean_Parser_Module_updateTokens___closed__3();
+lean_mark_persistent(l_Lean_Parser_Module_updateTokens___closed__3);
+l_Lean_Parser_Module_updateTokens___closed__4 = _init_l_Lean_Parser_Module_updateTokens___closed__4();
+lean_mark_persistent(l_Lean_Parser_Module_updateTokens___closed__4);
+l_Lean_Parser_ModuleParserState_pos___default = _init_l_Lean_Parser_ModuleParserState_pos___default();
+lean_mark_persistent(l_Lean_Parser_ModuleParserState_pos___default);
+l_Lean_Parser_ModuleParserState_recovering___default = _init_l_Lean_Parser_ModuleParserState_recovering___default();
+l_Lean_Parser_Lean_Parser_Module___instance__1___closed__1 = _init_l_Lean_Parser_Lean_Parser_Module___instance__1___closed__1();
+lean_mark_persistent(l_Lean_Parser_Lean_Parser_Module___instance__1___closed__1);
+l_Lean_Parser_Lean_Parser_Module___instance__1 = _init_l_Lean_Parser_Lean_Parser_Module___instance__1();
+lean_mark_persistent(l_Lean_Parser_Lean_Parser_Module___instance__1);
+l___private_Lean_Parser_Module_0__Lean_Parser_mkEOI___closed__1 = _init_l___private_Lean_Parser_Module_0__Lean_Parser_mkEOI___closed__1();
+lean_mark_persistent(l___private_Lean_Parser_Module_0__Lean_Parser_mkEOI___closed__1);
+l___private_Lean_Parser_Module_0__Lean_Parser_mkEOI___closed__2 = _init_l___private_Lean_Parser_Module_0__Lean_Parser_mkEOI___closed__2();
+lean_mark_persistent(l___private_Lean_Parser_Module_0__Lean_Parser_mkEOI___closed__2);
l_Lean_Parser_topLevelCommandParserFn___closed__1 = _init_l_Lean_Parser_topLevelCommandParserFn___closed__1();
lean_mark_persistent(l_Lean_Parser_topLevelCommandParserFn___closed__1);
-l___private_Lean_Parser_Module_4__testModuleParserAux___main___closed__1 = _init_l___private_Lean_Parser_Module_4__testModuleParserAux___main___closed__1();
-lean_mark_persistent(l___private_Lean_Parser_Module_4__testModuleParserAux___main___closed__1);
+l_Lean_Parser_topLevelCommandParserFn___closed__2 = _init_l_Lean_Parser_topLevelCommandParserFn___closed__2();
+lean_mark_persistent(l_Lean_Parser_topLevelCommandParserFn___closed__2);
+l_Lean_Parser_topLevelCommandParserFn___closed__3 = _init_l_Lean_Parser_topLevelCommandParserFn___closed__3();
+lean_mark_persistent(l_Lean_Parser_topLevelCommandParserFn___closed__3);
+l_Lean_Parser_topLevelCommandParserFn___closed__4 = _init_l_Lean_Parser_topLevelCommandParserFn___closed__4();
+lean_mark_persistent(l_Lean_Parser_topLevelCommandParserFn___closed__4);
+l___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___closed__1 = _init_l___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___closed__1();
+lean_mark_persistent(l___private_Lean_Parser_Module_0__Lean_Parser_testModuleParserAux_loop___closed__1);
l_Lean_Parser_testModuleParser___closed__1 = _init_l_Lean_Parser_testModuleParser___closed__1();
lean_mark_persistent(l_Lean_Parser_testModuleParser___closed__1);
-l_Lean_Parser_parseModuleAux___main___closed__1 = _init_l_Lean_Parser_parseModuleAux___main___closed__1();
-lean_mark_persistent(l_Lean_Parser_parseModuleAux___main___closed__1);
-l_Lean_Parser_parseModuleAux___main___closed__2 = _init_l_Lean_Parser_parseModuleAux___main___closed__2();
-lean_mark_persistent(l_Lean_Parser_parseModuleAux___main___closed__2);
+l_Lean_Parser_parseModuleAux_parse___closed__1 = _init_l_Lean_Parser_parseModuleAux_parse___closed__1();
+lean_mark_persistent(l_Lean_Parser_parseModuleAux_parse___closed__1);
+l_Lean_Parser_parseModuleAux_parse___closed__2 = _init_l_Lean_Parser_parseModuleAux_parse___closed__2();
+lean_mark_persistent(l_Lean_Parser_parseModuleAux_parse___closed__2);
return lean_io_result_mk_ok(lean_box(0));
}
#ifdef __cplusplus
diff --git a/stage0/stdlib/Lean/Parser/StrInterpolation.c b/stage0/stdlib/Lean/Parser/StrInterpolation.c
index 5265e90502..e886286cf8 100644
--- a/stage0/stdlib/Lean/Parser/StrInterpolation.c
+++ b/stage0/stdlib/Lean/Parser/StrInterpolation.c
@@ -13,8 +13,8 @@
#ifdef __cplusplus
extern "C" {
#endif
-lean_object* l_Lean_Parser_quotedCharCoreFn___at_Lean_Parser_interpolatedStrFn_parse___spec__2___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Parser_ParserState_mkError(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_quotedCharCoreFn(lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Parser_isQuotableCharDefault(uint32_t);
lean_object* l_Lean_Parser_ParserState_next(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_interpolatedStrNoAntiquot___closed__1;
@@ -22,34 +22,32 @@ lean_object* l_Lean_Parser_ParserState_mkNode(lean_object*, lean_object*, lean_o
lean_object* lean_array_get_size(lean_object*);
extern lean_object* l_Lean_interpolatedStrKind;
lean_object* l_Lean_Parser_mkAtomicInfo(lean_object*);
+lean_object* l_Lean_Parser_interpolatedStrFn_parse___lambda__1___boxed(lean_object*);
lean_object* l_Lean_Parser_mkNodeToken(lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_satisfyFn(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_string_utf8_next(lean_object*, lean_object*);
lean_object* l_Lean_Parser_interpolatedStr___elambda__1___closed__1;
lean_object* l_Lean_Parser_interpolatedStr___elambda__1___closed__2;
lean_object* l_Lean_Parser_ParserState_setPos(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_interpolatedStrFn_parse___closed__2;
lean_object* l_Lean_Parser_interpolatedStrFn___closed__1;
-uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
lean_object* l_Lean_Parser_interpolatedStrFn_parse___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_interpolatedStrFn_parse___closed__1;
lean_object* l_Lean_Parser_interpolatedStrNoAntiquot(lean_object*);
+lean_object* l_Lean_Parser_interpolatedStrFn_parse___closed__3;
uint8_t l_Lean_Parser_tryAnti(lean_object*, lean_object*);
lean_object* l_Lean_Parser_orelseInfo(lean_object*, lean_object*);
uint8_t l_Lean_Parser_isQuotableCharForStrInterpolant(uint32_t);
extern lean_object* l_Lean_Parser_ParserState_mkEOIError___closed__1;
uint32_t lean_string_utf8_get(lean_object*, lean_object*);
lean_object* l_Lean_Parser_interpolatedStr(lean_object*);
-lean_object* l_Lean_Parser_quotedCharCoreFn___at_Lean_Parser_interpolatedStrFn_parse___spec__2(lean_object*, lean_object*);
lean_object* l_Lean_Parser_interpolatedStr___closed__1;
-extern lean_object* l_Lean_Parser_quotedCharCoreFn___closed__1;
-lean_object* l_Lean_Parser_ParserState_restore(lean_object*, lean_object*, lean_object*);
uint8_t l_UInt32_decEq(uint32_t, uint32_t);
-lean_object* l_Lean_Parser_hexDigitFn(lean_object*, lean_object*);
-lean_object* l_Lean_Parser_mergeOrElseErrors(lean_object*, lean_object*, lean_object*, uint8_t);
+uint8_t l_Lean_Parser_interpolatedStrFn_parse___lambda__1(uint32_t);
lean_object* l_Lean_Parser_interpolatedStr___elambda__1(lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_satisfyFn___at_Lean_Parser_interpolatedStrFn_parse___spec__1(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_orelseFnCore(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_Parser_interpolatedStrFn_parse(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_interpolatedStrNoAntiquot___closed__2;
-lean_object* l_Lean_Parser_satisfyFn___at_Lean_Parser_interpolatedStrFn_parse___spec__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_mkAntiquot(lean_object*, lean_object*, uint8_t);
lean_object* l_Lean_Parser_isQuotableCharForStrInterpolant___boxed(lean_object*);
lean_object* l_Lean_Parser_interpolatedStrFn(lean_object*, lean_object*, lean_object*);
@@ -87,189 +85,39 @@ x_4 = lean_box(x_3);
return x_4;
}
}
-lean_object* l_Lean_Parser_satisfyFn___at_Lean_Parser_interpolatedStrFn_parse___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+uint8_t l_Lean_Parser_interpolatedStrFn_parse___lambda__1(uint32_t x_1) {
_start:
{
-lean_object* x_4; lean_object* x_5; lean_object* x_6; uint8_t x_7;
-x_4 = lean_ctor_get(x_3, 1);
-lean_inc(x_4);
-x_5 = lean_ctor_get(x_2, 0);
-x_6 = lean_ctor_get(x_5, 0);
-x_7 = lean_string_utf8_at_end(x_6, x_4);
-if (x_7 == 0)
-{
-uint32_t x_8; uint32_t x_9; uint8_t x_10;
-x_8 = lean_string_utf8_get(x_6, x_4);
-x_9 = 125;
-x_10 = x_8 == x_9;
-if (x_10 == 0)
-{
-lean_object* x_11;
-lean_dec(x_4);
-x_11 = l_Lean_Parser_ParserState_mkUnexpectedError(x_3, x_1);
-return x_11;
-}
-else
-{
-lean_object* x_12;
-lean_dec(x_1);
-x_12 = l_Lean_Parser_ParserState_next(x_3, x_6, x_4);
-lean_dec(x_4);
-return x_12;
-}
-}
-else
-{
-lean_object* x_13; lean_object* x_14;
-lean_dec(x_4);
-lean_dec(x_1);
-x_13 = l_Lean_Parser_ParserState_mkEOIError___closed__1;
-x_14 = l_Lean_Parser_ParserState_mkUnexpectedError(x_3, x_13);
-return x_14;
-}
-}
-}
-lean_object* l_Lean_Parser_quotedCharCoreFn___at_Lean_Parser_interpolatedStrFn_parse___spec__2(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6;
-x_3 = lean_ctor_get(x_1, 0);
-x_4 = lean_ctor_get(x_3, 0);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-x_6 = lean_string_utf8_at_end(x_4, x_5);
-if (x_6 == 0)
-{
-uint32_t x_7; uint8_t x_8;
-x_7 = lean_string_utf8_get(x_4, x_5);
-x_8 = l_Lean_Parser_isQuotableCharForStrInterpolant(x_7);
-if (x_8 == 0)
-{
-uint32_t x_9; uint8_t x_10; uint8_t x_28;
-x_9 = 120;
-x_28 = x_7 == x_9;
-if (x_28 == 0)
-{
-uint8_t x_29;
-x_29 = 0;
-x_10 = x_29;
-goto block_27;
-}
-else
-{
-uint8_t x_30;
-x_30 = 1;
-x_10 = x_30;
-goto block_27;
-}
-block_27:
-{
-if (x_10 == 0)
-{
-uint32_t x_11; uint8_t x_12;
-x_11 = 117;
-x_12 = x_7 == x_11;
-if (x_12 == 0)
-{
-lean_object* x_13; lean_object* x_14;
-lean_dec(x_5);
-x_13 = l_Lean_Parser_quotedCharCoreFn___closed__1;
-x_14 = l_Lean_Parser_ParserState_mkUnexpectedError(x_2, x_13);
-return x_14;
-}
-else
-{
-lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_15 = l_Lean_Parser_ParserState_next(x_2, x_4, x_5);
-lean_dec(x_5);
-x_16 = l_Lean_Parser_hexDigitFn(x_1, x_15);
-x_17 = lean_ctor_get(x_16, 3);
-lean_inc(x_17);
-if (lean_obj_tag(x_17) == 0)
-{
-lean_object* x_18; lean_object* x_19;
-x_18 = l_Lean_Parser_hexDigitFn(x_1, x_16);
-x_19 = lean_ctor_get(x_18, 3);
-lean_inc(x_19);
-if (lean_obj_tag(x_19) == 0)
-{
-lean_object* x_20; lean_object* x_21;
-x_20 = l_Lean_Parser_hexDigitFn(x_1, x_18);
-x_21 = lean_ctor_get(x_20, 3);
-lean_inc(x_21);
-if (lean_obj_tag(x_21) == 0)
-{
-lean_object* x_22;
-x_22 = l_Lean_Parser_hexDigitFn(x_1, x_20);
-return x_22;
-}
-else
-{
-lean_dec(x_21);
-return x_20;
-}
-}
-else
-{
-lean_dec(x_19);
-return x_18;
-}
-}
-else
-{
-lean_dec(x_17);
-return x_16;
-}
-}
-}
-else
-{
-lean_object* x_23; lean_object* x_24; lean_object* x_25;
-x_23 = l_Lean_Parser_ParserState_next(x_2, x_4, x_5);
-lean_dec(x_5);
-x_24 = l_Lean_Parser_hexDigitFn(x_1, x_23);
-x_25 = lean_ctor_get(x_24, 3);
-lean_inc(x_25);
-if (lean_obj_tag(x_25) == 0)
-{
-lean_object* x_26;
-x_26 = l_Lean_Parser_hexDigitFn(x_1, x_24);
-return x_26;
-}
-else
-{
-lean_dec(x_25);
-return x_24;
-}
-}
-}
-}
-else
-{
-lean_object* x_31;
-x_31 = l_Lean_Parser_ParserState_next(x_2, x_4, x_5);
-lean_dec(x_5);
-return x_31;
-}
-}
-else
-{
-lean_object* x_32; lean_object* x_33;
-lean_dec(x_5);
-x_32 = l_Lean_Parser_ParserState_mkEOIError___closed__1;
-x_33 = l_Lean_Parser_ParserState_mkUnexpectedError(x_2, x_32);
-return x_33;
-}
+uint32_t x_2; uint8_t x_3;
+x_2 = 125;
+x_3 = x_1 == x_2;
+return x_3;
}
}
static lean_object* _init_l_Lean_Parser_interpolatedStrFn_parse___closed__1() {
_start:
{
lean_object* x_1;
+x_1 = lean_alloc_closure((void*)(l_Lean_Parser_interpolatedStrFn_parse___lambda__1___boxed), 1, 0);
+return x_1;
+}
+}
+static lean_object* _init_l_Lean_Parser_interpolatedStrFn_parse___closed__2() {
+_start:
+{
+lean_object* x_1;
x_1 = lean_mk_string("expected '}'");
return x_1;
}
}
+static lean_object* _init_l_Lean_Parser_interpolatedStrFn_parse___closed__3() {
+_start:
+{
+lean_object* x_1;
+x_1 = lean_alloc_closure((void*)(l_Lean_Parser_isQuotableCharForStrInterpolant___boxed), 1, 0);
+return x_1;
+}
+}
lean_object* l_Lean_Parser_interpolatedStrFn_parse(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
@@ -279,70 +127,70 @@ lean_inc(x_7);
x_8 = lean_string_utf8_at_end(x_2, x_7);
if (x_8 == 0)
{
-uint32_t x_9; lean_object* x_10; lean_object* x_11; uint32_t x_12; uint8_t x_13; uint8_t x_44;
+uint32_t x_9; lean_object* x_10; lean_object* x_11; uint32_t x_12; uint8_t x_13; uint8_t x_50;
x_9 = lean_string_utf8_get(x_2, x_7);
x_10 = lean_string_utf8_next(x_2, x_7);
lean_dec(x_7);
x_11 = l_Lean_Parser_ParserState_setPos(x_6, x_10);
x_12 = 34;
-x_44 = x_9 == x_12;
-if (x_44 == 0)
+x_50 = x_9 == x_12;
+if (x_50 == 0)
{
-uint8_t x_45;
-x_45 = 0;
-x_13 = x_45;
-goto block_43;
+uint8_t x_51;
+x_51 = 0;
+x_13 = x_51;
+goto block_49;
}
else
{
-uint8_t x_46;
-x_46 = 1;
-x_13 = x_46;
-goto block_43;
+uint8_t x_52;
+x_52 = 1;
+x_13 = x_52;
+goto block_49;
}
-block_43:
+block_49:
{
if (x_13 == 0)
{
-uint32_t x_14; uint8_t x_15; uint8_t x_36;
+uint32_t x_14; uint8_t x_15; uint8_t x_42;
x_14 = 92;
-x_36 = x_9 == x_14;
-if (x_36 == 0)
+x_42 = x_9 == x_14;
+if (x_42 == 0)
{
-uint8_t x_37;
-x_37 = 0;
-x_15 = x_37;
-goto block_35;
+uint8_t x_43;
+x_43 = 0;
+x_15 = x_43;
+goto block_41;
}
else
{
-uint8_t x_38;
-x_38 = 1;
-x_15 = x_38;
-goto block_35;
+uint8_t x_44;
+x_44 = 1;
+x_15 = x_44;
+goto block_41;
}
-block_35:
+block_41:
{
if (x_15 == 0)
{
-uint32_t x_16; uint8_t x_17; uint8_t x_29;
+uint32_t x_16; uint8_t x_17; uint8_t x_34;
x_16 = 123;
-x_29 = x_9 == x_16;
-if (x_29 == 0)
+x_34 = x_9 == x_16;
+if (x_34 == 0)
{
-uint8_t x_30;
-x_30 = 0;
-x_17 = x_30;
-goto block_28;
+uint8_t x_35;
+x_35 = 0;
+x_17 = x_35;
+goto block_33;
}
else
{
-uint8_t x_31;
-x_31 = 1;
-x_17 = x_31;
-goto block_28;
+uint8_t x_36;
+x_36 = 1;
+x_17 = x_36;
+goto block_33;
}
-block_28:
+block_33:
{
if (x_17 == 0)
{
@@ -351,42 +199,59 @@ goto _start;
}
else
{
-lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
+lean_object* x_19; lean_object* x_20; lean_object* x_21; uint8_t x_22; lean_object* x_30;
x_19 = l_Lean_interpolatedStrLitKind;
x_20 = l_Lean_Parser_mkNodeToken(x_19, x_4, x_5, x_11);
lean_inc(x_1);
lean_inc(x_5);
x_21 = lean_apply_2(x_1, x_5, x_20);
-x_22 = lean_ctor_get(x_21, 3);
-lean_inc(x_22);
-if (lean_obj_tag(x_22) == 0)
+x_30 = lean_ctor_get(x_21, 3);
+lean_inc(x_30);
+if (lean_obj_tag(x_30) == 0)
{
-lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26;
+uint8_t x_31;
+x_31 = 0;
+x_22 = x_31;
+goto block_29;
+}
+else
+{
+uint8_t x_32;
+lean_dec(x_30);
+x_32 = 1;
+x_22 = x_32;
+goto block_29;
+}
+block_29:
+{
+if (x_22 == 0)
+{
+lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
x_23 = lean_ctor_get(x_21, 1);
lean_inc(x_23);
x_24 = l_Lean_Parser_interpolatedStrFn_parse___closed__1;
-x_25 = l_Lean_Parser_satisfyFn___at_Lean_Parser_interpolatedStrFn_parse___spec__1(x_24, x_5, x_21);
-x_26 = lean_ctor_get(x_25, 3);
-lean_inc(x_26);
-if (lean_obj_tag(x_26) == 0)
+x_25 = l_Lean_Parser_interpolatedStrFn_parse___closed__2;
+x_26 = l_Lean_Parser_satisfyFn(x_24, x_25, x_5, x_21);
+x_27 = lean_ctor_get(x_26, 3);
+lean_inc(x_27);
+if (lean_obj_tag(x_27) == 0)
{
x_4 = x_23;
-x_6 = x_25;
+x_6 = x_26;
goto _start;
}
else
{
-lean_dec(x_26);
+lean_dec(x_27);
lean_dec(x_23);
lean_dec(x_5);
lean_dec(x_3);
lean_dec(x_1);
-return x_25;
+return x_26;
}
}
else
{
-lean_dec(x_22);
lean_dec(x_5);
lean_dec(x_3);
lean_dec(x_1);
@@ -395,72 +260,67 @@ return x_21;
}
}
}
+}
else
{
-lean_object* x_32; lean_object* x_33;
-x_32 = l_Lean_Parser_quotedCharCoreFn___at_Lean_Parser_interpolatedStrFn_parse___spec__2(x_5, x_11);
-x_33 = lean_ctor_get(x_32, 3);
-lean_inc(x_33);
-if (lean_obj_tag(x_33) == 0)
+lean_object* x_37; lean_object* x_38; lean_object* x_39;
+x_37 = l_Lean_Parser_interpolatedStrFn_parse___closed__3;
+x_38 = l_Lean_Parser_quotedCharCoreFn(x_37, x_5, x_11);
+x_39 = lean_ctor_get(x_38, 3);
+lean_inc(x_39);
+if (lean_obj_tag(x_39) == 0)
{
-x_6 = x_32;
+x_6 = x_38;
goto _start;
}
else
{
-lean_dec(x_33);
+lean_dec(x_39);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_1);
-return x_32;
+return x_38;
}
}
}
}
else
{
-lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42;
+lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48;
lean_dec(x_1);
-x_39 = l_Lean_interpolatedStrLitKind;
-x_40 = l_Lean_Parser_mkNodeToken(x_39, x_4, x_5, x_11);
+x_45 = l_Lean_interpolatedStrLitKind;
+x_46 = l_Lean_Parser_mkNodeToken(x_45, x_4, x_5, x_11);
lean_dec(x_5);
-x_41 = l_Lean_interpolatedStrKind;
-x_42 = l_Lean_Parser_ParserState_mkNode(x_40, x_41, x_3);
-return x_42;
+x_47 = l_Lean_interpolatedStrKind;
+x_48 = l_Lean_Parser_ParserState_mkNode(x_46, x_47, x_3);
+return x_48;
}
}
}
else
{
-lean_object* x_47; lean_object* x_48;
+lean_object* x_53; lean_object* x_54;
lean_dec(x_7);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_1);
-x_47 = l_Lean_Parser_ParserState_mkEOIError___closed__1;
-x_48 = l_Lean_Parser_ParserState_mkUnexpectedError(x_6, x_47);
-return x_48;
+x_53 = l_Lean_Parser_ParserState_mkEOIError___closed__1;
+x_54 = l_Lean_Parser_ParserState_mkUnexpectedError(x_6, x_53);
+return x_54;
}
}
}
-lean_object* l_Lean_Parser_satisfyFn___at_Lean_Parser_interpolatedStrFn_parse___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l_Lean_Parser_interpolatedStrFn_parse___lambda__1___boxed(lean_object* x_1) {
_start:
{
-lean_object* x_4;
-x_4 = l_Lean_Parser_satisfyFn___at_Lean_Parser_interpolatedStrFn_parse___spec__1(x_1, x_2, x_3);
-lean_dec(x_2);
-return x_4;
-}
-}
-lean_object* l_Lean_Parser_quotedCharCoreFn___at_Lean_Parser_interpolatedStrFn_parse___spec__2___boxed(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3;
-x_3 = l_Lean_Parser_quotedCharCoreFn___at_Lean_Parser_interpolatedStrFn_parse___spec__2(x_1, x_2);
+uint32_t x_2; uint8_t x_3; lean_object* x_4;
+x_2 = lean_unbox_uint32(x_1);
lean_dec(x_1);
-return x_3;
+x_3 = l_Lean_Parser_interpolatedStrFn_parse___lambda__1(x_2);
+x_4 = lean_box(x_3);
+return x_4;
}
}
lean_object* l_Lean_Parser_interpolatedStrFn_parse___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
@@ -610,57 +470,10 @@ return x_7;
}
else
{
-lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12;
-x_8 = lean_ctor_get(x_3, 0);
-lean_inc(x_8);
-x_9 = lean_array_get_size(x_8);
-lean_dec(x_8);
-x_10 = lean_ctor_get(x_3, 1);
-lean_inc(x_10);
-lean_inc(x_2);
-x_11 = lean_apply_2(x_5, x_2, x_3);
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_dec(x_10);
-lean_dec(x_9);
-lean_dec(x_2);
-lean_dec(x_1);
-return x_11;
-}
-else
-{
-lean_object* x_13; lean_object* x_14; uint8_t x_15;
-x_13 = lean_ctor_get(x_12, 0);
-lean_inc(x_13);
-lean_dec(x_12);
-x_14 = lean_ctor_get(x_11, 1);
-lean_inc(x_14);
-x_15 = lean_nat_dec_eq(x_14, x_10);
-lean_dec(x_14);
-if (x_15 == 0)
-{
-lean_dec(x_13);
-lean_dec(x_10);
-lean_dec(x_9);
-lean_dec(x_2);
-lean_dec(x_1);
-return x_11;
-}
-else
-{
-lean_object* x_16; lean_object* x_17; uint8_t x_18; lean_object* x_19;
-lean_inc(x_10);
-x_16 = l_Lean_Parser_ParserState_restore(x_11, x_9, x_10);
-lean_dec(x_9);
-x_17 = lean_apply_2(x_1, x_2, x_16);
-x_18 = 1;
-x_19 = l_Lean_Parser_mergeOrElseErrors(x_17, x_13, x_10, x_18);
-lean_dec(x_10);
-return x_19;
-}
-}
+uint8_t x_8; lean_object* x_9;
+x_8 = 1;
+x_9 = l_Lean_Parser_orelseFnCore(x_5, x_1, x_8, x_2, x_3);
+return x_9;
}
}
}
@@ -709,6 +522,10 @@ if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
l_Lean_Parser_interpolatedStrFn_parse___closed__1 = _init_l_Lean_Parser_interpolatedStrFn_parse___closed__1();
lean_mark_persistent(l_Lean_Parser_interpolatedStrFn_parse___closed__1);
+l_Lean_Parser_interpolatedStrFn_parse___closed__2 = _init_l_Lean_Parser_interpolatedStrFn_parse___closed__2();
+lean_mark_persistent(l_Lean_Parser_interpolatedStrFn_parse___closed__2);
+l_Lean_Parser_interpolatedStrFn_parse___closed__3 = _init_l_Lean_Parser_interpolatedStrFn_parse___closed__3();
+lean_mark_persistent(l_Lean_Parser_interpolatedStrFn_parse___closed__3);
l_Lean_Parser_interpolatedStrFn___closed__1 = _init_l_Lean_Parser_interpolatedStrFn___closed__1();
lean_mark_persistent(l_Lean_Parser_interpolatedStrFn___closed__1);
l_Lean_Parser_interpolatedStrNoAntiquot___closed__1 = _init_l_Lean_Parser_interpolatedStrNoAntiquot___closed__1();
diff --git a/stage0/stdlib/Lean/Parser/Syntax.c b/stage0/stdlib/Lean/Parser/Syntax.c
index 41d31c917d..3ec1f5410b 100644
--- a/stage0/stdlib/Lean/Parser/Syntax.c
+++ b/stage0/stdlib/Lean/Parser/Syntax.c
@@ -14,12 +14,11 @@
extern "C" {
#endif
lean_object* l_Lean_Parser_Command_infixl___elambda__1___closed__8;
-extern lean_object* l_Lean_Parser_Tactic_locationWildcard___elambda__1___closed__7;
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_notation___elambda__1___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_macroHead___closed__3;
lean_object* l_Lean_Parser_Command_syntax___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_optKindPrio_formatter___closed__7;
lean_object* l_Lean_Parser_Syntax_noWs___closed__3;
+lean_object* l_Lean_Parser_Command_macro___elambda__1___closed__12;
lean_object* l_Lean_Parser_Syntax_cat___closed__6;
lean_object* l_Lean_Parser_Syntax_notFollowedBy_formatter___closed__2;
lean_object* l_Lean_Parser_Syntax_orelse___closed__5;
@@ -29,6 +28,7 @@ lean_object* l_Lean_Parser_Command_parserPrio___closed__1;
lean_object* l_Lean_Parser_Command_mixfix_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Command_notation___closed__12;
lean_object* l_Lean_Parser_Syntax_many___elambda__1___closed__1;
+lean_object* l_Lean_Parser_Command_mixfixKind___elambda__1___closed__3;
lean_object* l_Lean_Parser_Command_elab__rules___elambda__1___closed__7;
lean_object* l_Lean_Parser_Command_postfix___closed__6;
lean_object* l_Lean_Parser_Command_parserPrio_formatter___closed__2;
@@ -40,8 +40,10 @@ lean_object* l_Lean_Parser_maxSymbol___elambda__1___closed__7;
lean_object* l_Lean_Parser_Command_prefix___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Command_elab__rules_formatter(lean_object*);
+lean_object* l_Lean_Parser_Command_elab__rules___elambda__1___closed__10;
lean_object* l_Lean_Parser_Syntax_str___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_notationItem___closed__4;
+lean_object* l_Lean_Parser_Command_macroTailTactic___elambda__1___closed__3;
lean_object* l_Lean_Parser_Syntax_paren_parenthesizer___closed__5;
lean_object* l_Lean_Parser_Command_prefix_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_infixl___closed__5;
@@ -53,7 +55,6 @@ lean_object* l_Lean_PrettyPrinter_Formatter_visitArgs(lean_object*, lean_object*
lean_object* l_Lean_Parser_Command_syntaxCat___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_postfix___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_macro__rules_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-extern lean_object* l_Lean_Parser_manyAux___main___closed__1;
lean_object* l_Lean_Parser_Command_elabTail___closed__2;
lean_object* l_Lean_Parser_Command_macroTail_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_elabTail_formatter___closed__2;
@@ -62,6 +63,7 @@ lean_object* l_Lean_Parser_Syntax_sepBy___elambda__1___closed__7;
lean_object* l_Lean_Parser_Command_notation___closed__7;
lean_object* l_Lean_Parser_Command_macroArgSimple___closed__3;
lean_object* l_Lean_Parser_Command_macroTailTactic___closed__1;
+lean_object* l_Lean_Parser_precedence___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_macro__rules___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_macroArgSimple_formatter___closed__5;
lean_object* l_Lean_Parser_Command_elab_formatter___closed__3;
@@ -71,13 +73,13 @@ lean_object* l_Lean_Parser_Command_macroArgSimple_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Syntax_interpolatedStr___closed__3;
lean_object* l_Lean_Parser_Command_infixr___elambda__1___closed__3;
lean_object* l_Lean_Parser_Syntax_many1;
+lean_object* l_Lean_Parser_Syntax_interpolatedStr___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_parserKind___closed__4;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_categoryParser_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_notation___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_macroTailTactic_formatter___closed__5;
lean_object* l_Lean_Parser_Command_optKind_parenthesizer___closed__1;
lean_object* l_Lean_Parser_syntaxParser_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-extern lean_object* l_Lean_Parser_Term_matchDiscr___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_parserPrio___closed__2;
lean_object* l_Lean_Parser_Command_mixfix_parenthesizer___closed__5;
lean_object* l_Lean_Parser_Command_macroArg_formatter___closed__1;
@@ -95,6 +97,7 @@ lean_object* l_Lean_Parser_Syntax_str___closed__6;
lean_object* l_Lean_Parser_Command_macroHead_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Syntax_sepBy_formatter___closed__1;
lean_object* l_Lean_Parser_Syntax_lookahead___closed__4;
+lean_object* l_Lean_Parser_Command_elab___elambda__1___closed__13;
lean_object* l_Lean_Parser_Command_macroTail_formatter___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Syntax_lookahead_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Syntax_num___closed__5;
@@ -108,7 +111,7 @@ lean_object* l_Lean_Parser_Command_notation_formatter___closed__2;
lean_object* l_Lean_Parser_Command_syntaxAbbrev___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_maxSymbol___elambda__1___closed__3;
-extern lean_object* l_Lean_nullKind;
+lean_object* l_Lean_Parser_Command_macro___elambda__1___closed__11;
lean_object* l_Lean_Parser_Command_macroTailCommand_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Parser_Term_quot___closed__2;
lean_object* l_Lean_Parser_Command_macroTailTactic_formatter___closed__3;
@@ -121,6 +124,7 @@ lean_object* l___regBuiltin_Lean_Parser_Syntax_many_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Command_macro_formatter___closed__6;
lean_object* l_Lean_Parser_Syntax_str___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_macroTail___elambda__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__9;
extern lean_object* l_Lean_identKind___closed__1;
lean_object* l_Lean_Parser_Command_mixfix___elambda__1___closed__4;
lean_object* l_Lean_Parser_Command_syntaxCat___elambda__1___closed__3;
@@ -129,6 +133,7 @@ lean_object* l_Lean_Parser_Syntax_sepBy1_formatter___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Command_syntaxCat_parenthesizer___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Syntax_str_formatter___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Syntax_sepBy1_parenthesizer(lean_object*);
+lean_object* l_Lean_Parser_Syntax_try___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_mixfix_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_syntaxAbbrev___closed__2;
lean_object* l_Lean_Parser_Command_notationItem_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -137,13 +142,14 @@ lean_object* l_Lean_PrettyPrinter_Formatter_many_formatter(lean_object*, lean_ob
lean_object* l_Lean_Parser_Command_optKindPrio;
lean_object* l_Lean_Parser_Command_reserve___elambda__1___closed__7;
lean_object* l_Lean_Parser_Command_elab___elambda__1___closed__9;
-lean_object* l_Lean_Parser_regBuiltinSyntaxParserAttr___closed__2;
lean_object* l_Lean_Parser_maxSymbol___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_stx_quot_formatter___closed__2;
lean_object* l_Lean_Parser_Command_syntaxAbbrev___closed__1;
+lean_object* l_Lean_Parser_Command_parserKindPrio___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_infixl_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_parserKindPrio_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_parserKindPrio___closed__7;
+lean_object* l_Lean_Parser_Command_mixfix___elambda__1___closed__9;
extern lean_object* l_Lean_Parser_mkAntiquot_formatter___closed__3;
lean_object* l_Lean_Parser_Command_infixr___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_mixfix_formatter___closed__7;
@@ -157,6 +163,7 @@ lean_object* l_Lean_Parser_Syntax_try_formatter___closed__4;
lean_object* l_Lean_Parser_Syntax_interpolatedStr___closed__6;
lean_object* l_Lean_Parser_Command_macroHead;
lean_object* l_Lean_Parser_Command_mixfix_parenthesizer___closed__10;
+lean_object* l_Lean_Parser_Command_elabTail___elambda__1___closed__6;
lean_object* l_Lean_Parser_Syntax_paren___closed__4;
lean_object* l_Lean_Parser_Command_elab_parenthesizer___closed__10;
lean_object* l_Lean_Parser_Syntax_many1___elambda__1___closed__2;
@@ -166,8 +173,9 @@ lean_object* l_Lean_Parser_Syntax_cat___closed__4;
lean_object* l_Lean_Parser_Command_macroTail_parenthesizer___closed__4;
lean_object* l___regBuiltinParser_Lean_Parser_Syntax_cat(lean_object*);
lean_object* l_Lean_Parser_Syntax_sepBy1_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-extern lean_object* l_Lean_Parser_Term_doTry___elambda__1___closed__8;
+lean_object* l_Lean_Parser_Syntax_sepBy1___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_infixr_parenthesizer___closed__1;
+lean_object* l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__8;
lean_object* l_Lean_Parser_Syntax_paren___elambda__1___closed__3;
lean_object* l_Lean_Parser_Command_macroTailTactic___closed__5;
lean_object* l_Lean_Parser_Command_elab___closed__6;
@@ -188,6 +196,8 @@ lean_object* l_Lean_Parser_Syntax_ident_formatter___closed__1;
lean_object* l_Lean_Parser_Syntax_many1___elambda__1___closed__4;
lean_object* l_Lean_Parser_Command_macro_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_precedenceLit_parenthesizer___closed__1;
+lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Syntax___hyg_19_(lean_object*);
+lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Syntax___hyg_4_(lean_object*);
lean_object* l_Lean_Parser_maxSymbol___elambda__1___closed__2;
lean_object* l_Lean_Parser_Syntax_notFollowedBy_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Syntax_many___closed__1;
@@ -213,6 +223,7 @@ lean_object* l_Lean_Parser_Command_parserPrio_formatter___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Command_macro__rules_formatter(lean_object*);
lean_object* l_Lean_Parser_Command_mixfix_formatter___closed__3;
extern lean_object* l_Lean_Parser_interpolatedStrNoAntiquot___closed__1;
+lean_object* l_Lean_Parser_Syntax_char___elambda__1___closed__7;
lean_object* l___regBuiltinParser_Lean_Parser_Syntax_many(lean_object*);
lean_object* l_Lean_Parser_Syntax_orelse___elambda__1___closed__1;
lean_object* l_Lean_Parser_Syntax_paren_parenthesizer___closed__4;
@@ -225,18 +236,23 @@ lean_object* l_Lean_Parser_Command_infixr___closed__1;
lean_object* l_Lean_PrettyPrinter_Formatter_orelse_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_macroArg_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Command_elab__rules___closed__7;
+lean_object* l_Lean_Parser_Syntax_paren___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_macroTail_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_elab__rules_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Parser_ident;
lean_object* l_Lean_Parser_Syntax_lookahead___closed__5;
lean_object* l_Lean_Parser_precedence___elambda__1___closed__2;
+lean_object* l_Lean_Parser_Syntax_sepBy___elambda__1___closed__11;
lean_object* l_Lean_Parser_Term_stx_quot___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_notationItem___closed__3;
lean_object* l_Lean_Parser_Syntax_str___closed__3;
lean_object* l_Lean_Parser_Command_macro_formatter___closed__5;
lean_object* l_Lean_Parser_Command_macroArgSimple_formatter___closed__3;
+lean_object* l_Lean_Parser_Command_mixfixKind___elambda__1___closed__2;
lean_object* l_Lean_Parser_Syntax_sepBy;
+extern lean_object* l_Lean_Parser_Term_syntheticHole___elambda__1___closed__12;
lean_object* l_Lean_Parser_Syntax_sepBy___closed__5;
+lean_object* l_Lean_Parser_nonReservedSymbolFn(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Syntax_interpolatedStr_formatter___closed__2;
lean_object* l_Lean_Parser_Syntax_paren;
lean_object* l___regBuiltin_Lean_Parser_Syntax_sepBy_formatter(lean_object*);
@@ -244,13 +260,15 @@ lean_object* l_Lean_Parser_Syntax_paren___elambda__1(lean_object*, lean_object*)
lean_object* l_Lean_Parser_Command_reserve___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_macro__rules___elambda__1___closed__7;
lean_object* l___regBuiltinParser_Lean_Parser_Syntax_try(lean_object*);
-lean_object* l_Lean_Parser_ParserState_mkNode(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_syntax_formatter___closed__2;
lean_object* l_Lean_Parser_Command_macroTailDefault_formatter___closed__4;
+extern lean_object* l_Lean_Parser_Term_matchDiscr___elambda__1___closed__6;
+extern lean_object* l_Lean_Parser_Term_tupleTail___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_mixfix_formatter___closed__5;
lean_object* l_Lean_Parser_Command_identPrec_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_notation___closed__11;
lean_object* l_Lean_Parser_maxSymbol___elambda__1___closed__1;
+lean_object* l_Lean_Parser_Syntax_lookahead___elambda__1___closed__10;
extern lean_object* l_Lean_Parser_darrow;
lean_object* l_Lean_Parser_Command_reserve_parenthesizer___closed__3;
lean_object* l___regBuiltin_Lean_Parser_Syntax_many1_formatter(lean_object*);
@@ -264,19 +282,20 @@ lean_object* l_Lean_Parser_Syntax_interpolatedStr_formatter___closed__4;
lean_object* l_Lean_Parser_Syntax_str___closed__5;
lean_object* l_Lean_Parser_Syntax_char_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_macroArgSimple_parenthesizer___closed__2;
+lean_object* l_Lean_Parser_Command_notation___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_elab_formatter___closed__1;
-extern lean_object* l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_parserKindPrio___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_elabTail_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Command_elab__rules_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Command_elab__rules_formatter___closed__6;
-extern lean_object* l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
lean_object* l___regBuiltinParser_Lean_Parser_Term_stx_quot(lean_object*);
+lean_object* l_Lean_Parser_Command_syntax___elambda__1___closed__13;
lean_object* l_Lean_Parser_Command_syntaxCat___elambda__1___closed__7;
lean_object* l_Lean_Parser_Syntax_atom_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Parser_Tactic_quotSeq_formatter___closed__4;
lean_object* l_Lean_Parser_Syntax_noWs___elambda__1___closed__7;
lean_object* l_Lean_Parser_Command_macroArgSimple___closed__1;
+lean_object* l_Lean_Parser_orelseFn(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_registerBuiltinDynamicParserAttribute(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Syntax_try___closed__7;
lean_object* l_Lean_Parser_Command_macroTail_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -292,10 +311,10 @@ lean_object* l_Lean_Parser_ParserState_mkTrailingNode(lean_object*, lean_object*
lean_object* l_Lean_Parser_Command_mixfix___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Syntax_cat___closed__2;
lean_object* l_Lean_Parser_Command_notation___closed__10;
+lean_object* l_Lean_Parser_Command_reserve___elambda__1___closed__12;
extern lean_object* l___regBuiltin_Lean_Parser_ppSpace_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_identPrec_parenthesizer___closed__2;
lean_object* l_Lean_Parser_addBuiltinParser(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_regBuiltinSyntaxParserAttr___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Syntax_atom_formatter___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Syntax_many_formatter(lean_object*);
lean_object* l_Lean_Parser_Command_macroHead___closed__2;
@@ -313,7 +332,6 @@ extern lean_object* l_Lean_Parser_mkAntiquot_formatter___closed__9;
lean_object* l_Lean_Parser_Command_mixfix_parenthesizer___closed__7;
lean_object* l_Lean_Parser_Command_infixr;
lean_object* l_Lean_Parser_Command_elab_parenthesizer___closed__6;
-lean_object* l_Lean_Parser_tokenFn(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Syntax_sepBy___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_syntax_formatter___closed__4;
lean_object* l_Lean_Parser_Command_macroTailTactic_formatter___closed__2;
@@ -321,9 +339,12 @@ lean_object* l_Lean_PrettyPrinter_Parenthesizer_toggleInsideQuot_parenthesizer(l
lean_object* l_Lean_Parser_Command_mixfixKind_parenthesizer___closed__7;
lean_object* l_Lean_Parser_Command_infixl_parenthesizer___closed__2;
lean_object* l___regBuiltin_Lean_Parser_Syntax_sepBy1_formatter(lean_object*);
+lean_object* l_Lean_Parser_Command_reserve___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_macroArg_formatter___closed__2;
lean_object* l_Lean_Parser_Command_infixr___elambda__1___closed__6;
lean_object* l___regBuiltin_Lean_Parser_Syntax_try_parenthesizer___closed__1;
+lean_object* l_Lean_Parser_Command_macroTail___elambda__1___closed__1;
+lean_object* l_Lean_Parser_maxSymbol___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_macroTailDefault___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_maxSymbol___closed__6;
lean_object* l_Lean_Parser_Syntax_paren_parenthesizer___closed__1;
@@ -343,7 +364,10 @@ lean_object* l_Lean_Parser_Command_elab_formatter___closed__2;
lean_object* l_Lean_Parser_Command_notation_formatter___closed__5;
lean_object* l_Lean_Parser_Command_macro___elambda__1___closed__3;
lean_object* l_Lean_Parser_Command_macroHead___closed__1;
+extern lean_object* l_Lean_Parser_quotedSymbol___closed__1;
+lean_object* l_Lean_Parser_Command_elab__rules___elambda__1___closed__12;
lean_object* l_Lean_Parser_Command_parserKindPrio_parenthesizer___closed__3;
+lean_object* l_Lean_Parser_Command_elab___elambda__1___closed__11;
lean_object* l_Lean_Parser_Syntax_noWs_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Syntax_sepBy___closed__8;
lean_object* l_Lean_Parser_precedence___elambda__1___closed__4;
@@ -360,7 +384,6 @@ lean_object* l_Lean_Parser_Command_postfix_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Syntax_lookahead_formatter___closed__4;
lean_object* l_Lean_Parser_Syntax_ident_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_mkAppStx___closed__4;
-lean_object* l_Lean_Parser_ParserState_mkErrorsAt(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_infixl___closed__4;
lean_object* l_Lean_Parser_mkAntiquot_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Syntax_many___elambda__1(lean_object*, lean_object*);
@@ -377,12 +400,12 @@ lean_object* l_Lean_Parser_Command_optKindPrio_parenthesizer(lean_object*, lean_
lean_object* l_Lean_Parser_Syntax_try_formatter___closed__1;
lean_object* l_Lean_Parser_Command_optKind___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_mixfix___elambda__1___closed__2;
-lean_object* l_Lean_Parser_quotedSymbolFn(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_syntax___elambda__1___closed__2;
lean_object* l___regBuiltinParser_Lean_Parser_Command_reserve(lean_object*);
lean_object* l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Syntax_sepBy_formatter___closed__5;
lean_object* l_Lean_Parser_Command_syntax_formatter___closed__9;
+lean_object* l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__7;
lean_object* l_Lean_Parser_Command_macroArgSimple___closed__8;
lean_object* l_Lean_Parser_Command_identPrec;
lean_object* l_Lean_Parser_Command_infixl___closed__2;
@@ -403,9 +426,9 @@ lean_object* l_Lean_Parser_Command_infix_formatter___closed__3;
lean_object* l_Lean_Parser_Syntax_char___closed__2;
lean_object* l_Lean_Parser_Command_postfix___elambda__1___closed__8;
extern lean_object* l_Lean_Parser_Term_syntheticHole___closed__1;
+lean_object* l_Lean_Parser_Syntax_try___elambda__1___closed__8;
lean_object* l_Lean_Parser_Syntax_noWs_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_parserKindPrio___closed__2;
-extern lean_object* l_Lean_Parser_Term_match___elambda__1___closed__7;
lean_object* l_Lean_Parser_checkPrecFn(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_PrettyPrinter_Parenthesizer_unquotedSymbol_parenthesizer___boxed(lean_object*);
lean_object* l_Lean_Parser_Command_elab__rules___closed__5;
@@ -417,6 +440,7 @@ lean_object* l_Lean_Parser_Command_macro___closed__5;
lean_object* l_Lean_Parser_optPrecedence_formatter___closed__1;
lean_object* l_Lean_Parser_Syntax_str___closed__4;
lean_object* l_Lean_Parser_Syntax_interpolatedStr___closed__2;
+lean_object* l_Lean_Parser_many1Fn(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_elab__rules_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_infix___elambda__1___closed__4;
lean_object* l_Lean_Parser_Command_identPrec_formatter___closed__2;
@@ -428,6 +452,7 @@ lean_object* l_Lean_Parser_Command_syntax___closed__5;
lean_object* l_Lean_Parser_Syntax_lookahead___closed__6;
lean_object* l_Lean_Parser_Syntax_noWs___elambda__1___closed__1;
lean_object* l_Lean_Parser_Syntax_notFollowedBy___elambda__1___closed__4;
+lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Syntax___hyg_4____closed__2;
extern lean_object* l_Lean_Parser_Term_quot_formatter___closed__2;
lean_object* l_Lean_Parser_Syntax_str___elambda__1___closed__6;
extern lean_object* l_Lean_Parser_Term_match_parenthesizer___closed__4;
@@ -441,7 +466,6 @@ lean_object* l_Lean_Parser_Command_mixfix___closed__8;
lean_object* l_Lean_Parser_Command_elab__rules___closed__3;
lean_object* l_Lean_PrettyPrinter_Formatter_optional_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_optKindPrio_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-extern lean_object* l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__3;
lean_object* l_Lean_Parser_Syntax_ident___closed__3;
lean_object* l_Lean_Parser_Command_macroArgSimple___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_parserPrio___elambda__1___closed__3;
@@ -462,17 +486,18 @@ lean_object* l_Lean_Parser_Command_macroArg___closed__3;
lean_object* l___regBuiltin_Lean_Parser_Syntax_many_formatter___closed__1;
lean_object* l_Lean_Parser_Command_elab__rules_parenthesizer___closed__4;
lean_object* l_Lean_Parser_Command_macroTail___closed__2;
+lean_object* l_Lean_Parser_Syntax_notFollowedBy___elambda__1___closed__9;
lean_object* l_Lean_Parser_Syntax_atom_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Command_mixfix_formatter___closed__1;
-lean_object* l_Lean_Parser_strLit___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Syntax_many1___elambda__1___closed__3;
lean_object* l_Lean_Parser_Command_reserve___elambda__1___closed__5;
lean_object* l_Lean_Parser_Syntax_notFollowedBy___elambda__1___closed__1;
+extern lean_object* l_Lean_Parser_Term_quot___elambda__1___closed__6;
lean_object* l_Lean_Parser_precedence_formatter___closed__1;
lean_object* l_Lean_Parser_Syntax_paren___closed__1;
lean_object* l_Lean_Parser_Command_macroArg;
lean_object* l_Lean_Parser_Command_macro__rules___elambda__1___closed__1;
-extern lean_object* l_Lean_Parser_mkAntiquot___closed__5;
+extern lean_object* l_Lean_Parser_Tactic_orelse___elambda__1___closed__4;
lean_object* l_Lean_Parser_Command_macro__rules___elambda__1___closed__2;
lean_object* l_Lean_PrettyPrinter_Formatter_trailingNode_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_infix___closed__4;
@@ -495,10 +520,11 @@ lean_object* l_Lean_Parser_Command_macroArgSimple_parenthesizer___closed__4;
lean_object* l___regBuiltinParser_Lean_Parser_Syntax_orelse(lean_object*);
lean_object* l_Lean_Parser_Command_syntaxAbbrev_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Syntax_noWs___elambda__1___closed__5;
-extern lean_object* l_Lean_Parser_Term_syntheticHole___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_notation_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Syntax_interpolatedStr_parenthesizer___closed__1;
+lean_object* l_Lean_Parser_Command_mixfix___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_elab__rules_formatter___closed__2;
+extern lean_object* l_Lean_Parser_numLit___closed__2;
lean_object* l_Lean_Parser_Command_macroArg___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Term_stx_quot_formatter___closed__1;
lean_object* l_Lean_Parser_Command_macroTailCommand_formatter___closed__1;
@@ -508,15 +534,19 @@ lean_object* l___regBuiltin_Lean_Parser_Syntax_atom_formatter(lean_object*);
lean_object* l_Lean_PrettyPrinter_Formatter_withAntiquot_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_elab___elambda__1___closed__3;
lean_object* l_Lean_Parser_Command_syntaxAbbrev_formatter___closed__3;
+extern lean_object* l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
lean_object* l_Lean_Parser_Command_macroTailDefault_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Syntax_num_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltinParser_Lean_Parser_Syntax_noWs(lean_object*);
lean_object* l_Lean_Parser_Command_parserKind_formatter___closed__1;
+extern lean_object* l_Lean_Parser_unquotedSymbol___closed__1;
lean_object* l_Lean_Parser_Syntax_notFollowedBy___elambda__1___closed__2;
lean_object* l_Lean_Parser_Command_reserve_formatter___closed__7;
lean_object* l_Lean_Parser_Term_stx_quot_formatter___closed__6;
+lean_object* l_Lean_Parser_Syntax_lookahead___elambda__1___closed__9;
lean_object* l_Lean_Parser_Command_infixl;
lean_object* l_Lean_Parser_Syntax_sepBy1___elambda__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Syntax___hyg_19____closed__1;
lean_object* l_Lean_Parser_Term_stx_quot___elambda__1___closed__5;
lean_object* l_Lean_Parser_Syntax_noWs___elambda__1___closed__3;
lean_object* l_Lean_Parser_Syntax_num_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -531,6 +561,8 @@ lean_object* l_Lean_Parser_Command_infixr_formatter___closed__3;
lean_object* l_Lean_Parser_Command_postfix___elambda__1___closed__2;
lean_object* l_Lean_Parser_Command_prefix___elambda__1___closed__5;
lean_object* l_Lean_Parser_precedence___elambda__1___closed__3;
+lean_object* l_Lean_Parser_Command_parserKindPrio___elambda__1___closed__9;
+lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Syntax___hyg_19____closed__2;
lean_object* l_Lean_Parser_Command_infixl___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_macroArgSimple_parenthesizer___closed__5;
lean_object* l_Lean_Parser_optPrecedence_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -551,20 +583,17 @@ lean_object* l_Lean_Parser_Syntax_many1_formatter___closed__1;
lean_object* l_Lean_Parser_Command_reserve_parenthesizer___closed__6;
lean_object* l_Lean_Parser_Command_mixfix___closed__11;
lean_object* l_Lean_Parser_Command_postfix___closed__1;
-lean_object* l_Lean_Parser_manyAux___main(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_mixfix_formatter___closed__6;
lean_object* l_Lean_Parser_Command_elabTail___closed__1;
-lean_object* l_Lean_Parser_regSyntaxParserAttribute___closed__2;
-lean_object* l_Lean_Parser_Syntax_many1___elambda__1___closed__6;
+lean_object* l_Lean_Parser_Syntax_ident___elambda__1___closed__7;
lean_object* l_Lean_Parser_Syntax_interpolatedStr_parenthesizer___closed__2;
extern lean_object* l___regBuiltin_Lean_PrettyPrinter_Formatter_ppSpace_formatter___closed__3;
lean_object* l_Lean_Parser_Command_parserKindPrio___closed__6;
-uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
+extern lean_object* l_Lean_Parser_ident___closed__2;
lean_object* l___regBuiltin_Lean_Parser_Command_reserve_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_macro__rules_formatter___closed__3;
-lean_object* l_Lean_Parser_nonReservedSymbolFnAux(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_elabTail_parenthesizer___closed__2;
-lean_object* l_Lean_Parser_regSyntaxParserAttribute___closed__1;
+lean_object* l_Lean_Parser_Command_mixfixKind___elambda__1___closed__1;
lean_object* l_Lean_Parser_Syntax_many1___closed__1;
lean_object* l_Lean_Parser_Syntax_interpolatedStr_formatter___closed__3;
extern lean_object* l_Lean_Parser_Term_tupleTail___closed__1;
@@ -579,14 +608,16 @@ lean_object* l___regBuiltin_Lean_Parser_Command_syntax_parenthesizer(lean_object
lean_object* l___regBuiltin_Lean_Parser_Term_stx_quot_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_notation___closed__5;
lean_object* l_Lean_Parser_Term_stx_quot___closed__3;
+lean_object* l_Lean_Parser_Command_mixfix___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_notation_formatter___closed__6;
lean_object* l_Lean_Parser_Syntax_paren_parenthesizer___closed__6;
extern lean_object* l_Lean_Level_LevelToFormat_Result_format___closed__3;
lean_object* l_Lean_Parser_nodeInfo(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Syntax___hyg_4____closed__1;
lean_object* l_Lean_Parser_Command_elabTail_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_infix___closed__1;
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_macro___elambda__1___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_macro_parenthesizer___closed__7;
+lean_object* l_Lean_Parser_symbolFn___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_postfix___elambda__1___closed__1;
lean_object* l_Lean_Parser_Syntax_many1___closed__2;
extern lean_object* l_Lean_Parser_categoryParserFnImpl___closed__1;
@@ -594,6 +625,7 @@ lean_object* l_Lean_Parser_Syntax_sepBy1;
lean_object* l_Lean_Parser_Command_elab_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Parser_quotedSymbol;
lean_object* l_Lean_Parser_Syntax_num___elambda__1___closed__1;
+lean_object* l_Lean_Parser_Command_syntaxCat___elambda__1___closed__10;
lean_object* l_Lean_Parser_Syntax_sepBy1_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_optKindPrio___closed__7;
lean_object* l_Lean_Parser_Syntax_sepBy1___closed__2;
@@ -606,6 +638,8 @@ lean_object* l_Lean_Parser_Command_macroTailTactic_parenthesizer(lean_object*, l
lean_object* l_Lean_Parser_Syntax_try___elambda__1___closed__4;
extern lean_object* l_Lean_Parser_antiquotNestedExpr___closed__1;
lean_object* l_Lean_Parser_Command_postfix;
+extern lean_object* l_Lean_Parser_Term_quot___elambda__1___closed__9;
+lean_object* l_Lean_Parser_Syntax_paren___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_infix___closed__2;
lean_object* l_Lean_Parser_Command_parserKindPrio___elambda__1___closed__4;
lean_object* l___regBuiltin_Lean_Parser_Syntax_notFollowedBy_parenthesizer___closed__1;
@@ -649,7 +683,6 @@ lean_object* l_Lean_Parser_Syntax_sepBy1___closed__4;
extern lean_object* l___regBuiltin_Lean_Parser_ident_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Syntax_char___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_optKind_formatter___closed__1;
-lean_object* l_Array_shrink___main___rarg(lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Command_reserve_formatter___closed__1;
lean_object* l_Lean_Parser_precedenceLit;
lean_object* l_Lean_Parser_Syntax_lookahead_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -672,16 +705,19 @@ lean_object* l_Lean_Parser_Command_macro___closed__7;
lean_object* l_Lean_Parser_Command_elab___closed__10;
lean_object* l_Lean_Parser_Syntax_sepBy_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_parserKindPrio___closed__3;
+lean_object* l_Lean_Parser_Command_parserKindPrio___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_optKindPrio_formatter___closed__5;
lean_object* l_Lean_Parser_Command_elabTail___elambda__1(lean_object*, lean_object*);
lean_object* l___regBuiltinParser_Lean_Parser_Command_macro__rules(lean_object*);
lean_object* l_Lean_Parser_optPrecedence_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-extern lean_object* l_Lean_Parser_Term_typeAscription___elambda__1___closed__3;
lean_object* l_Lean_Parser_Command_parserKind___elambda__1___closed__4;
+lean_object* l_Lean_Parser_Command_macro___elambda__1___closed__10;
lean_object* l___regBuiltin_Lean_Parser_Command_elab_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_elab_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Syntax_try_formatter___closed__3;
+lean_object* l_Lean_Parser_Syntax_sepBy___elambda__1___closed__10;
lean_object* l_Lean_Parser_Syntax_paren___elambda__1___closed__1;
+lean_object* l_Lean_Parser_Command_macroTailCommand___elambda__1___closed__4;
lean_object* l_Lean_Parser_Command_macro__rules___elambda__1___closed__6;
lean_object* l___regBuiltin_Lean_Parser_Command_syntaxAbbrev_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Command_notation_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -707,7 +743,6 @@ lean_object* l_Lean_Parser_Command_elab___elambda__1___closed__8;
lean_object* l_Lean_Parser_Syntax_str___closed__1;
lean_object* l_Lean_Parser_optionaInfo(lean_object*);
lean_object* l_Lean_Parser_Command_syntaxCat___elambda__1(lean_object*, lean_object*);
-extern lean_object* l_Lean_Parser_Term_quot___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_parserKind_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_parserKindPrio___elambda__1___closed__2;
lean_object* l_Lean_Parser_Command_macroTailDefault_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -721,6 +756,7 @@ lean_object* l_Lean_Parser_precedence_parenthesizer(lean_object*, lean_object*,
lean_object* l_Lean_Parser_syntaxParser_formatter___boxed(lean_object*);
lean_object* l_Lean_Parser_Syntax_orelse_formatter___closed__1;
lean_object* l_Lean_Parser_Command_parserKindPrio___closed__5;
+lean_object* l_Lean_Parser_Command_macro___elambda__1___closed__13;
lean_object* l_Lean_Parser_Syntax_noWs___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_elab__rules_formatter___closed__7;
lean_object* l_Lean_Parser_Term_stx_quot___elambda__1___closed__7;
@@ -733,13 +769,16 @@ lean_object* l_Lean_Parser_Syntax_paren___elambda__1___closed__4;
extern lean_object* l_Lean_Parser_Term_syntheticHole___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_reserve___elambda__1___closed__9;
lean_object* l_Lean_Parser_Syntax_notFollowedBy___elambda__1___closed__7;
+lean_object* l_Lean_Parser_precedence___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_reserve___elambda__1___closed__4;
lean_object* l_Lean_Parser_Command_mixfixKind_parenthesizer___closed__5;
+lean_object* l_Lean_Parser_Command_macroTailDefault___elambda__1___closed__3;
lean_object* l___regBuiltin_Lean_Parser_Syntax_char_formatter___closed__1;
lean_object* l_Lean_Parser_Syntax_interpolatedStr___elambda__1___closed__1;
lean_object* l_Lean_Parser_Command_identPrec___closed__3;
lean_object* l_Lean_Parser_Command_notationItem___elambda__1___closed__4;
lean_object* l_Lean_Parser_Syntax_num___closed__2;
+lean_object* l_Lean_Parser_Syntax_notFollowedBy___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_macroArg_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Syntax_lookahead___elambda__1___closed__5;
lean_object* l_Lean_Parser_Syntax_notFollowedBy;
@@ -756,14 +795,15 @@ lean_object* l_Lean_Parser_Command_optKindPrio_formatter___closed__3;
lean_object* l_Lean_Parser_Command_parserKind___closed__3;
lean_object* l_Lean_Parser_Syntax_char_formatter___closed__2;
lean_object* l_Lean_Parser_Syntax_ident;
+lean_object* l_Lean_Parser_Command_mixfix___elambda__1___closed__13;
lean_object* l___regBuiltin_Lean_Parser_Syntax_ident_formatter(lean_object*);
lean_object* l_Lean_Parser_Command_mixfix_formatter___closed__2;
lean_object* l_Lean_Parser_Syntax_interpolatedStr___elambda__1___closed__2;
+lean_object* l_Lean_Parser_Term_stx_quot___elambda__1___closed__12;
lean_object* l_Lean_Parser_Syntax_char_formatter___closed__1;
lean_object* l_Lean_Parser_Command_elab_formatter___closed__11;
lean_object* l_Lean_Parser_Syntax_num___closed__4;
extern lean_object* l_Lean_Parser_categoryParserFnImpl___closed__4;
-extern lean_object* l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
extern lean_object* l_Char_HasRepr___closed__1;
lean_object* l_Lean_Parser_Syntax_lookahead___elambda__1___closed__3;
extern lean_object* l_Lean_Parser_mkAntiquot___closed__20;
@@ -771,7 +811,7 @@ lean_object* l_Lean_Parser_precedence_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_infixr___elambda__1___closed__7;
lean_object* l_Lean_Parser_Command_infixl___closed__6;
lean_object* l_Lean_Parser_Command_infixl___elambda__1___closed__6;
-lean_object* l_Lean_Parser_checkNoWsBeforeFn(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Command_notation___elambda__1___closed__11;
lean_object* l_Lean_Parser_Term_stx_quot___closed__6;
lean_object* l_Lean_Parser_Syntax_noWs___elambda__1___closed__4;
lean_object* l_Lean_Parser_maxSymbol_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -782,11 +822,13 @@ lean_object* l_Lean_Parser_Command_mixfixKind_parenthesizer___closed__6;
lean_object* l_Lean_Parser_Command_notation_formatter___closed__10;
lean_object* l_Lean_Parser_orelseInfo(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Syntax_char___closed__4;
+lean_object* l_Lean_Parser_Command_notation___elambda__1___closed__12;
lean_object* l_Lean_Parser_Command_syntax___elambda__1___closed__3;
lean_object* l_Lean_Parser_Syntax_notFollowedBy___elambda__1___closed__3;
lean_object* l_Lean_Parser_Command_macroTailCommand_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Command_reserve_formatter___closed__2;
lean_object* l_Lean_Parser_Syntax_char_formatter___closed__3;
+lean_object* l_Lean_Parser_Syntax_interpolatedStr___elambda__1___closed__9;
lean_object* l_Lean_Parser_Syntax_paren___closed__8;
lean_object* l_Lean_Parser_Syntax_lookahead___closed__3;
lean_object* l_Lean_Parser_Command_parserKind_parenthesizer___closed__2;
@@ -801,10 +843,14 @@ lean_object* l_Lean_Parser_Syntax_lookahead_formatter___closed__1;
lean_object* l_Lean_Parser_Command_syntaxAbbrev_parenthesizer___closed__5;
lean_object* l_Lean_Parser_Command_syntaxAbbrev___closed__6;
lean_object* l_Lean_Parser_Syntax_sepBy1___elambda__1___closed__3;
+extern lean_object* l_Lean_Parser_Tactic_locationWildcard___elambda__1___closed__8;
+lean_object* l_Lean_Parser_Command_mixfix___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_macro_formatter___closed__9;
lean_object* lean_name_mk_string(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_stx_quot_formatter___closed__4;
lean_object* l_Lean_Parser_Command_macroTailDefault_parenthesizer___closed__1;
+lean_object* l_Lean_Parser_Command_mixfix___elambda__1___closed__14;
+lean_object* l_Lean_Parser_Syntax_paren___elambda__1___closed__9;
lean_object* l_Lean_Parser_Command_infix___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_precedence_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Command_mixfix_formatter___closed__1;
@@ -814,25 +860,27 @@ lean_object* l_Lean_Parser_Syntax_notFollowedBy___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_parserKind_formatter___closed__2;
lean_object* l_Lean_Parser_Syntax_ident___elambda__1___closed__3;
lean_object* l_Lean_Parser_Command_macroTailDefault_formatter___closed__2;
-extern lean_object* l_Lean_Parser_Term_matchDiscr___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_elab__rules___elambda__1___closed__4;
lean_object* l_Lean_Parser_Syntax_ident___closed__6;
lean_object* l_Lean_Parser_Command_elab_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_syntaxParser_formatter___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-extern lean_object* l_Lean_Parser_Term_haveAssign___elambda__1___closed__5;
+lean_object* l_Lean_Parser_Syntax_noWs___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_macro___closed__10;
lean_object* l_Lean_Parser_Syntax_notFollowedBy___closed__4;
+lean_object* l_Lean_Parser_Command_syntax___elambda__1___closed__10;
lean_object* l___regBuiltin_Lean_Parser_Syntax_ident_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Command_syntax___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_infixr_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_elab___elambda__1___closed__2;
lean_object* l_Lean_Parser_Command_mixfix_parenthesizer___closed__13;
lean_object* l_Lean_Parser_Syntax_orelse_parenthesizer___closed__1;
+lean_object* l_Lean_Parser_optPrecedence___elambda__1___closed__1;
lean_object* l_Lean_Parser_Syntax_char___elambda__1___closed__2;
lean_object* l_Lean_Parser_Command_mixfixKind___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Syntax_str_formatter(lean_object*);
lean_object* l_Lean_Parser_Command_reserve___elambda__1___closed__3;
lean_object* l_Lean_Parser_precedenceLit___closed__1;
+lean_object* l_Lean_Parser_Command_elab__rules___elambda__1___closed__11;
lean_object* l_Lean_Parser_Syntax_lookahead_formatter___closed__2;
lean_object* l_Lean_Parser_Command_macro_formatter___closed__8;
lean_object* l_Lean_Parser_Command_optKind_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -845,6 +893,7 @@ lean_object* l_Lean_Parser_Command_macroTail_parenthesizer___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Command_mixfix_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_parserKind_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_reserve_parenthesizer___closed__5;
+lean_object* l_Lean_Parser_Command_elab__rules___elambda__1___closed__9;
extern lean_object* l_Lean_Parser_Command_docComment___elambda__1___closed__2;
lean_object* l_Lean_Parser_Command_syntaxAbbrev_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Syntax_char___closed__1;
@@ -860,16 +909,19 @@ extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___cl
extern lean_object* l_Lean_mkAppStx___closed__6;
lean_object* l_Lean_Parser_Syntax_interpolatedStr___elambda__1___closed__7;
lean_object* l_Lean_Parser_Command_infixr___closed__5;
+extern lean_object* l_Lean_Parser_Term_typeAscription___elambda__1___closed__4;
lean_object* l_Lean_Parser_Command_macroTailCommand_formatter___closed__3;
lean_object* l_Lean_Parser_Command_macro__rules_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_syntax_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_infix___closed__6;
lean_object* l_Lean_Parser_Syntax_many_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Syntax_sepBy___elambda__1___closed__9;
lean_object* l_Lean_Parser_Command_infixr___closed__3;
lean_object* l_Lean_Parser_Command_elab_parenthesizer___closed__8;
lean_object* l_Lean_Parser_Command_identPrec___elambda__1___closed__1;
lean_object* l_Lean_Parser_Command_infixr_formatter___closed__2;
lean_object* l_Lean_Parser_Syntax_lookahead___closed__7;
+lean_object* l_Lean_Parser_Syntax_str___elambda__1___closed__7;
lean_object* l_Lean_Parser_Syntax_lookahead_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_macroTail___closed__4;
lean_object* l_Lean_Parser_Command_reserve_formatter___closed__1;
@@ -883,19 +935,21 @@ lean_object* l_Lean_Parser_Syntax_char___elambda__1___closed__1;
lean_object* l_Lean_Parser_Syntax_sepBy1___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_macroTailCommand_parenthesizer___closed__2;
lean_object* l___regBuiltin_Lean_Parser_Command_syntax_formatter(lean_object*);
+lean_object* l_Lean_Parser_Command_notationItem___elambda__1___closed__6;
lean_object* l_Lean_Parser_precedence_parenthesizer___closed__4;
lean_object* l_Lean_Parser_Command_syntax_parenthesizer___closed__4;
lean_object* l_Lean_Parser_Command_elab_parenthesizer___closed__4;
+lean_object* l_Lean_Parser_Command_syntax___elambda__1___closed__12;
extern lean_object* l_Lean_Parser_Tactic_generalize_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Syntax_paren_formatter___closed__2;
lean_object* l_Lean_Parser_Command_identPrec___elambda__1___closed__2;
lean_object* l_Lean_Parser_Command_optKindPrio_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Syntax_cat___elambda__1___closed__2;
lean_object* l_Lean_Parser_Command_prefix___closed__2;
+lean_object* l_Lean_Parser_Command_macroArg___elambda__1___closed__1;
lean_object* l_Lean_Parser_Syntax_lookahead_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Syntax_many_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Syntax_num___elambda__1(lean_object*, lean_object*);
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Syntax_paren___elambda__1___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_notationItem___closed__2;
lean_object* l_Lean_Parser_Command_elab__rules___elambda__1___closed__1;
lean_object* l_Lean_Parser_Command_reserve___closed__1;
@@ -908,12 +962,14 @@ lean_object* l_Lean_Parser_Command_mixfix_parenthesizer___closed__11;
lean_object* l_Lean_Parser_precedence_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_mixfix_formatter___closed__9;
lean_object* l_Lean_Parser_Command_elabTail;
+lean_object* l_Lean_Parser_Command_parserKind___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_elabTail___closed__6;
lean_object* l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__2;
lean_object* l_Lean_Parser_Command_macroTailDefault_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Term_stx_quot_parenthesizer___closed__3;
lean_object* l___regBuiltin_Lean_Parser_Syntax_cat_formatter(lean_object*);
lean_object* l_Lean_Parser_Command_macro__rules_parenthesizer___closed__1;
+lean_object* l_Lean_Parser_Command_macroTailCommand___elambda__1___closed__3;
lean_object* l_Lean_Parser_Syntax_sepBy___elambda__1___closed__1;
lean_object* l_Lean_Parser_Command_macroTailDefault_parenthesizer___closed__5;
extern lean_object* l_Lean_Parser_Term_structInstArrayRef_formatter___closed__3;
@@ -923,7 +979,6 @@ lean_object* l___regBuiltin_Lean_Parser_Syntax_try_formatter___closed__1;
lean_object* l_Lean_Parser_Command_mixfix_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_parserKindPrio_formatter___closed__4;
lean_object* l_Lean_Parser_Command_syntaxAbbrev_formatter___closed__1;
-extern lean_object* l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
lean_object* l_Lean_Parser_Syntax_sepBy___closed__2;
lean_object* l_Lean_Parser_Command_mixfixKind_formatter___closed__5;
lean_object* l___regBuiltinParser_Lean_Parser_Syntax_interpolatedStr(lean_object*);
@@ -936,13 +991,15 @@ lean_object* l_Lean_Parser_Syntax_sepBy___closed__1;
extern lean_object* l_Lean_Parser_antiquotNestedExpr_formatter___closed__1;
extern lean_object* l_Lean_Parser_mkAntiquot___closed__21;
lean_object* l_Lean_Parser_Command_mixfixKind;
+lean_object* l_Lean_Parser_Command_macro___elambda__1___closed__14;
lean_object* l_Lean_Parser_Syntax_ident___closed__2;
-lean_object* l_Lean_Parser_ParserState_restore(lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltinParser_Lean_Parser_Command_syntaxCat(lean_object*);
+lean_object* l_Lean_Parser_precedence___elambda__1___closed__7;
lean_object* l_Lean_Parser_Command_macro___elambda__1___closed__5;
lean_object* l_Lean_Parser_Syntax_many___closed__3;
lean_object* l_Lean_Parser_Syntax_optional___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_macroTailTactic_parenthesizer___closed__4;
+lean_object* l_Lean_Parser_Command_macroArg___elambda__1___closed__2;
lean_object* l_Lean_Parser_Syntax_num___elambda__1___closed__6;
extern lean_object* l_Lean_Parser_antiquotNestedExpr___closed__3;
lean_object* l_Lean_Parser_maxSymbol___closed__5;
@@ -959,12 +1016,15 @@ lean_object* l_Lean_Parser_Term_stx_quot_parenthesizer(lean_object*, lean_object
lean_object* l_Lean_Parser_Syntax_sepBy___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_reserve_formatter___closed__6;
lean_object* l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__2;
+lean_object* l_Lean_Parser_Command_macroTailTactic___elambda__1___closed__2;
lean_object* l_Lean_Parser_Syntax_cat_formatter___closed__1;
+extern lean_object* l_Lean_Parser_mkAntiquot___closed__7;
lean_object* l_Lean_Parser_Command_mixfix_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_macroTailCommand___closed__1;
lean_object* l_Lean_Parser_Command_identPrec___closed__4;
lean_object* l___regBuiltin_Lean_Parser_Command_elab__rules_formatter___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Syntax_optional_parenthesizer(lean_object*);
+lean_object* l_Lean_Parser_Syntax_paren___elambda__1___closed__11;
lean_object* l_Lean_Parser_Command_syntax___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Syntax_paren_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_elab__rules_formatter___closed__5;
@@ -973,6 +1033,7 @@ lean_object* l_Lean_Parser_Command_elabHead_formatter(lean_object*, lean_object*
lean_object* l_Lean_Parser_Command_elabTail_formatter___closed__3;
lean_object* l_Lean_Parser_Command_elab_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_notation_formatter___closed__9;
+lean_object* l_Lean_Parser_Term_stx_quot___elambda__1___closed__11;
lean_object* l_Lean_Parser_precedence___closed__3;
extern lean_object* l_Lean_Parser_Tactic_orelse___elambda__1___closed__2;
lean_object* l_Lean_Parser_Command_notationItem___closed__1;
@@ -991,6 +1052,7 @@ lean_object* l_Lean_Parser_Command_reserve___closed__9;
lean_object* l_Lean_Parser_Command_parserKindPrio_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Syntax_char___elambda__1___closed__4;
lean_object* l_Lean_Parser_Command_infixr_formatter___closed__1;
+lean_object* l_Lean_Parser_Command_mixfix___elambda__1___closed__7;
lean_object* l_Lean_Parser_Command_notationItem_formatter___closed__3;
lean_object* l_Lean_Parser_Syntax_interpolatedStr_parenthesizer___closed__4;
extern lean_object* l_Lean_Parser_antiquotNestedExpr_formatter___closed__2;
@@ -998,7 +1060,6 @@ lean_object* l_Lean_Parser_Command_elab_formatter___closed__4;
lean_object* l_Lean_Parser_Command_elab__rules___closed__1;
lean_object* l_Lean_Parser_Command_notation_parenthesizer___closed__6;
lean_object* l_Lean_Parser_maxSymbol_formatter___closed__2;
-extern lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
lean_object* l_Lean_Parser_Command_syntax_parenthesizer___closed__2;
lean_object* l_Lean_PrettyPrinter_Formatter_many1_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_mixfixKind_parenthesizer___closed__1;
@@ -1008,8 +1069,11 @@ lean_object* l_Lean_Parser_Syntax_lookahead___elambda__1___closed__1;
lean_object* l_Lean_Parser_precedence;
lean_object* l___regBuiltin_Lean_Parser_Command_syntax_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Syntax_sepBy1___elambda__1___closed__2;
+lean_object* l_Lean_Parser_Command_macroTailTactic___elambda__1___closed__1;
lean_object* l_Lean_Parser_Command_reserve_parenthesizer___closed__4;
lean_object* l_Lean_Parser_precedenceLit___closed__3;
+lean_object* l_Lean_Parser_Command_parserKind___elambda__1___closed__6;
+lean_object* l_Lean_Parser_Command_optKindPrio___elambda__1___closed__2;
lean_object* l_Lean_Parser_Syntax_optional;
lean_object* l_Lean_Parser_Command_optKindPrio___elambda__1(lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Syntax_orelse_formatter___closed__1;
@@ -1022,14 +1086,17 @@ lean_object* l_Lean_Parser_Syntax_num_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_parserKind_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Syntax_sepBy___elambda__1___closed__4;
lean_object* l___regBuiltin_Lean_Parser_Syntax_num_parenthesizer___closed__1;
+lean_object* l_Lean_Parser_Syntax_atom___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_mixfix___closed__2;
+lean_object* l_Lean_Parser_Command_optKindPrio___elambda__1___closed__1;
lean_object* l_Lean_Parser_Command_prefix_formatter___closed__3;
lean_object* l_Lean_Parser_Command_reserve_formatter___closed__4;
lean_object* l_Lean_Parser_Command_syntaxCat___closed__6;
lean_object* l_Lean_Parser_Command_macro_parenthesizer___closed__2;
+lean_object* l_Lean_Parser_Command_notation___elambda__1___closed__13;
lean_object* l_Lean_Parser_Command_infix___elambda__1___closed__6;
-extern lean_object* l_Lean_Parser_Term_quot___elambda__1___closed__12;
lean_object* l_Lean_Parser_Command_syntaxCat_parenthesizer___closed__1;
+lean_object* l_Lean_Parser_Command_optKind___elambda__1___closed__2;
lean_object* l_Lean_Parser_Command_parserKindPrio_formatter___closed__2;
lean_object* l_Lean_Parser_Command_mixfix___closed__5;
lean_object* l_Lean_Parser_Syntax_cat_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -1037,15 +1104,15 @@ lean_object* l_Lean_Parser_Command_elab__rules___elambda__1___closed__2;
lean_object* l_Lean_Parser_Command_syntaxAbbrev___closed__3;
lean_object* l_Lean_Parser_Command_notation_formatter___closed__4;
lean_object* l_Lean_Parser_Syntax_notFollowedBy___closed__7;
-lean_object* l_Lean_Parser_ident___elambda__1(lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Syntax_paren_parenthesizer(lean_object*);
+lean_object* l_Lean_Parser_Command_macro__rules___elambda__1___closed__9;
+lean_object* l_Lean_Parser_Command_optKind___elambda__1___closed__1;
lean_object* l___regBuiltinParser_Lean_Parser_Syntax_sepBy1(lean_object*);
-extern lean_object* l_Lean_Parser_Tactic_seq1___closed__4;
lean_object* l_Lean_Parser_Command_mixfix_parenthesizer___closed__9;
lean_object* l_Lean_Parser_toggleInsideQuotFn(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Parser_Tactic_generalize_parenthesizer___closed__6;
-lean_object* l_Lean_Parser_unquotedSymbolFn(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Syntax_notFollowedBy_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Syntax_cat___elambda__1___closed__7;
lean_object* l_Lean_Parser_Command_identPrec___elambda__1___closed__4;
lean_object* l_Lean_Parser_Command_reserve___elambda__1___closed__8;
lean_object* l_Lean_Parser_Syntax_sepBy___elambda__1___closed__5;
@@ -1078,7 +1145,8 @@ lean_object* l_Lean_Parser_Command_notationItem_formatter___closed__1;
lean_object* l_Lean_Parser_optPrecedence___closed__3;
lean_object* l_Lean_Parser_Command_infix___closed__5;
lean_object* l_Lean_Parser_Command_syntax_parenthesizer___closed__3;
-lean_object* l_Lean_Parser_numLit___elambda__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__6;
+extern lean_object* l_Lean_Parser_Level_paren___elambda__1___closed__3;
lean_object* l_Lean_Parser_Command_mixfix_formatter___closed__11;
lean_object* l_Lean_Parser_Syntax_atom___elambda__1___closed__4;
lean_object* l_Lean_Parser_Command_macro_parenthesizer___closed__9;
@@ -1111,16 +1179,16 @@ lean_object* l_Lean_Parser_Command_syntaxCat___closed__3;
lean_object* l_Lean_Parser_Syntax_str___elambda__1___closed__4;
lean_object* l_Lean_Parser_Syntax_cat_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Syntax_char___closed__6;
-extern lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__1;
lean_object* l_Lean_Parser_Term_stx_quot___elambda__1___closed__9;
lean_object* l_Lean_Parser_Syntax_sepBy1___elambda__1___closed__1;
-lean_object* l_Lean_Parser_mergeOrElseErrors(lean_object*, lean_object*, lean_object*, uint8_t);
lean_object* l_Lean_Parser_Command_macroHead_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Syntax_cat___elambda__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_tryFn(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_reserve___closed__6;
lean_object* l_Lean_Parser_Syntax_sepBy1___closed__1;
lean_object* l_Lean_Parser_Command_elab__rules___elambda__1___closed__8;
extern lean_object* l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__6;
+lean_object* l_Lean_Parser_Command_macroHead___elambda__1___closed__1;
lean_object* l_Lean_Parser_Command_macro_parenthesizer___closed__8;
lean_object* l_Lean_Parser_Command_syntaxCat_formatter___closed__1;
lean_object* l_Lean_Parser_Command_notationItem_formatter___closed__2;
@@ -1136,9 +1204,11 @@ lean_object* l_Lean_Parser_Command_syntax_parenthesizer___closed__6;
lean_object* l_Lean_Parser_Command_parserPrio_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_optKindPrio_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_syntaxAbbrev___closed__7;
+lean_object* l_Lean_Parser_Syntax_cat___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_infix___closed__3;
extern lean_object* l_Lean_Parser_categoryParserFnImpl___closed__3;
extern lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3127____closed__4;
+lean_object* l_Lean_Parser_Command_elab___elambda__1___closed__14;
lean_object* l_Lean_Parser_Command_notationItem___elambda__1___closed__2;
lean_object* l_Lean_Parser_Command_infixl_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Syntax_many1_formatter___closed__1;
@@ -1160,15 +1230,16 @@ lean_object* l_Lean_Parser_Command_macroTailCommand_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_elab__rules___closed__8;
lean_object* l_Lean_Parser_Command_syntaxCat___closed__5;
lean_object* l_Lean_Parser_Command_elab_formatter___closed__10;
+extern lean_object* l_Lean_Parser_Term_match___elambda__1___closed__9;
lean_object* l_Lean_Parser_Command_syntaxAbbrev_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_syntaxAbbrev_formatter___closed__2;
lean_object* l___regBuiltin_Lean_Parser_Command_macro_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_macroTailTactic___closed__6;
lean_object* l_Lean_Parser_Command_notation___closed__1;
extern lean_object* l___regBuiltin_Lean_Parser_numLit_formatter___closed__2;
-lean_object* l_Lean_Parser_regSyntaxParserAttribute(lean_object*);
lean_object* l_Lean_Parser_Syntax_many1_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_PrettyPrinter_Formatter_quotedSymbol_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+extern lean_object* l_Lean_Parser_darrow___closed__2;
lean_object* l_Lean_Parser_Command_elabHead_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_elab__rules___closed__2;
lean_object* l_Lean_Parser_Command_infixl___elambda__1___closed__7;
@@ -1183,22 +1254,24 @@ extern lean_object* l_Lean_Parser_Term_fun___closed__3;
lean_object* l_Lean_Parser_Command_reserve_parenthesizer___closed__2;
lean_object* l___regBuiltin_Lean_Parser_Syntax_interpolatedStr_formatter(lean_object*);
lean_object* l_Lean_Parser_symbolInfo(lean_object*);
-extern lean_object* l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
lean_object* l_Lean_Parser_Syntax_noWs___closed__1;
lean_object* l___regBuiltinParser_Lean_Parser_Command_mixfix(lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Syntax_try_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Command_mixfix___closed__3;
lean_object* l_Lean_Parser_Command_macroArg___closed__2;
lean_object* l_Lean_Parser_Command_syntaxAbbrev___closed__5;
+lean_object* l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__9;
lean_object* l_Lean_Parser_Command_optKind___closed__2;
lean_object* l_Lean_Parser_Command_notationItem_formatter___closed__4;
lean_object* l_Lean_Parser_Command_elabArg_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Syntax_optional_formatter(lean_object*);
+lean_object* l_Lean_Parser_orelseFnCore(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Syntax_str_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_notation___closed__8;
extern lean_object* l_Lean_Parser_epsilonInfo;
lean_object* l_Lean_Parser_Term_stx_quot_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Syntax_noWs_formatter___closed__1;
+lean_object* l_Lean_Parser_Command_identPrec___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_macroTailDefault;
lean_object* l_Lean_Parser_Term_stx_quot___closed__7;
lean_object* l_Lean_Parser_Command_mixfix___closed__6;
@@ -1234,6 +1307,7 @@ lean_object* l_Lean_Parser_Command_elab__rules___closed__9;
lean_object* l_Lean_Parser_Command_notation___closed__4;
lean_object* l_Lean_Parser_Syntax_str___elambda__1___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Syntax_sepBy_parenthesizer___closed__1;
+lean_object* l_Lean_Parser_Command_notation___elambda__1___closed__9;
lean_object* l_Lean_Parser_Command_identPrec___closed__2;
lean_object* l_Lean_Parser_Command_notation_formatter___closed__8;
lean_object* l_Lean_Parser_Syntax_sepBy1___closed__6;
@@ -1241,6 +1315,7 @@ lean_object* l_Lean_Parser_Command_macroArgSimple___closed__7;
lean_object* l_Lean_Parser_Command_macroArgSimple_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_elab__rules_formatter___closed__3;
lean_object* l_Lean_Parser_Command_syntaxCat___elambda__1___closed__1;
+lean_object* l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_mixfixKind_parenthesizer___closed__8;
lean_object* l_Lean_Parser_Command_macro_parenthesizer___closed__5;
lean_object* l_Lean_Parser_Syntax_ident___elambda__1___closed__4;
@@ -1248,16 +1323,18 @@ extern lean_object* l_Lean_Parser_Term_typeAscription_formatter___closed__2;
lean_object* l_Lean_Parser_maxSymbol___elambda__1___closed__6;
lean_object* l_Lean_Parser_Syntax_cat_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_optKindPrio_formatter___closed__6;
+lean_object* l_Lean_Parser_Command_mixfix___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_infix_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Syntax_sepBy1___closed__3;
lean_object* l_Lean_Parser_Command_macroTailDefault_formatter___closed__5;
lean_object* l_Lean_Parser_Command_mixfixKind_formatter___closed__2;
lean_object* l_Lean_Parser_Syntax_sepBy1___closed__5;
lean_object* l_Lean_Parser_Syntax_str_formatter___closed__3;
+lean_object* l_Lean_Parser_Command_reserve___elambda__1___closed__13;
lean_object* l_Lean_Parser_Command_notation___closed__9;
lean_object* l_Lean_Parser_Command_notation_formatter___closed__3;
-extern lean_object* l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_macro___closed__11;
+lean_object* l_Lean_Parser_Syntax_sepBy1___elambda__1___closed__9;
lean_object* l_Lean_Parser_Syntax_lookahead___elambda__1___closed__7;
extern lean_object* l_Lean_Parser_Term_doTry___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_macro_formatter___closed__7;
@@ -1266,18 +1343,21 @@ lean_object* l_Lean_Parser_Command_macro___elambda__1___closed__4;
lean_object* l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__3;
lean_object* l_Lean_Parser_Command_postfix_formatter___closed__1;
lean_object* l_Lean_Parser_Syntax_atom___elambda__1___closed__3;
+lean_object* l_Lean_Parser_Command_syntax___elambda__1___closed__9;
lean_object* l___regBuiltin_Lean_Parser_Syntax_many1_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Command_postfix___elambda__1___closed__7;
lean_object* l_Lean_Parser_Command_macroArg___elambda__1(lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Command_macro__rules_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Syntax_ident_formatter___closed__3;
lean_object* l___regBuiltin_Lean_Parser_Syntax_cat_parenthesizer(lean_object*);
+extern lean_object* l_Lean_Parser_Parser_inhabited___closed__2;
lean_object* l_Lean_Parser_Command_notation_parenthesizer___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Command_elab_formatter___closed__1;
-lean_object* l_Lean_Parser_regBuiltinSyntaxParserAttr(lean_object*);
+lean_object* l_Lean_Parser_Command_optKindPrio___elambda__1___closed__3;
lean_object* l_Lean_Parser_Command_infixl___closed__1;
lean_object* l_Lean_Parser_Command_optKind___closed__4;
lean_object* l_Lean_Parser_Syntax_notFollowedBy___closed__2;
+lean_object* l_Lean_Parser_Command_reserve___elambda__1___closed__11;
lean_object* l_Lean_Parser_Command_macroHead_formatter___closed__1;
lean_object* l_Lean_Parser_Command_syntax___closed__11;
lean_object* l_Lean_Parser_precedenceLit___elambda__1(lean_object*, lean_object*);
@@ -1297,6 +1377,7 @@ lean_object* l___regBuiltin_Lean_Parser_Syntax_noWs_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_mixfixKind_parenthesizer___closed__4;
extern lean_object* l_Lean_Parser_Term_doTry___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_macro___elambda__1___closed__8;
+lean_object* l_Lean_Parser_Command_macroTailDefault___elambda__1___closed__4;
lean_object* l_Lean_Parser_Syntax_orelse___closed__2;
lean_object* l_Lean_Parser_Command_syntax___elambda__1___closed__4;
lean_object* l_Lean_Parser_Command_prefix_formatter___closed__1;
@@ -1313,26 +1394,33 @@ lean_object* l_Lean_Parser_maxSymbol_parenthesizer___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Syntax_many_parenthesizer___closed__1;
lean_object* l_Lean_Parser_darrow___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_parserPrio___elambda__1___closed__4;
+extern lean_object* l_Lean_Parser_Level_paren___elambda__1___closed__8;
lean_object* l___regBuiltin_Lean_Parser_Syntax_notFollowedBy_formatter(lean_object*);
lean_object* l_Lean_Parser_Command_elab_parenthesizer___closed__5;
lean_object* l_Lean_Parser_Syntax_orelse___closed__1;
lean_object* l_Lean_Parser_Command_parserPrio___closed__4;
+lean_object* l_Lean_Parser_Command_macro__rules___elambda__1___closed__10;
lean_object* l_Lean_Parser_Syntax_sepBy_parenthesizer___closed__2;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_optional_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Syntax_noWs_parenthesizer(lean_object*);
+lean_object* l_Lean_Parser_nodeFn(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_optKind_formatter___closed__2;
lean_object* l_Lean_Parser_Syntax_interpolatedStr___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_macroTailTactic___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_syntax___elambda__1___closed__8;
+lean_object* l_Lean_Parser_optionalFn(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Syntax_lookahead_formatter___closed__3;
lean_object* l_Lean_Parser_Command_mixfixKind___closed__3;
lean_object* l_Lean_Parser_Command_infixr___elambda__1___closed__1;
extern lean_object* l_Lean_Parser_Term_typeAscription___closed__2;
+lean_object* l_Lean_Parser_Command_elab___elambda__1___closed__12;
lean_object* l_Lean_Parser_Command_syntax_formatter___closed__7;
lean_object* l_Lean_Parser_Command_optKind___closed__1;
+extern lean_object* l_Lean_Parser_Term_haveAssign___elambda__1___closed__6;
lean_object* l_Lean_Parser_Syntax_paren_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Syntax_paren___closed__7;
lean_object* l_Lean_Parser_Command_optKind;
+lean_object* l_Lean_Parser_Syntax_num___elambda__1___closed__7;
lean_object* l_Lean_Parser_precedence___closed__6;
lean_object* l_Lean_Parser_Command_macro__rules_formatter___closed__1;
lean_object* l_Lean_Parser_Syntax_sepBy_parenthesizer___closed__4;
@@ -1347,6 +1435,7 @@ extern lean_object* l_Lean_Parser_Term_tupleTail_formatter___closed__2;
lean_object* l_Lean_Parser_Command_elab___closed__9;
lean_object* l___regBuiltinParser_Lean_Parser_Command_syntaxAbbrev(lean_object*);
lean_object* l_Lean_Parser_Syntax_str;
+lean_object* l_Lean_Parser_Command_macroTailCommand___elambda__1___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Syntax_sepBy1_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_macro___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_stx_quot___elambda__1(lean_object*, lean_object*);
@@ -1367,10 +1456,13 @@ lean_object* l_Lean_Parser_maxSymbol_formatter___closed__1;
lean_object* l_Lean_Parser_Command_reserve_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Syntax_notFollowedBy_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_macro_parenthesizer___closed__1;
+lean_object* l_Lean_Parser_Command_macroTailCommand___elambda__1___closed__2;
lean_object* l_Lean_Parser_Syntax_many;
+lean_object* l_Lean_Parser_Command_mixfix___elambda__1___closed__12;
lean_object* l___regBuiltin_Lean_Parser_Syntax_interpolatedStr_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Command_syntax_formatter___closed__3;
lean_object* l_Lean_Parser_Syntax_try___closed__1;
+lean_object* l_Lean_Parser_Command_parserKindPrio___elambda__1___closed__7;
lean_object* l_Lean_Parser_Syntax_interpolatedStr_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_notationItem_parenthesizer___closed__3;
extern lean_object* l_Lean_Parser_mkAntiquot___closed__6;
@@ -1383,6 +1475,7 @@ lean_object* l_Lean_Parser_Command_parserPrio___closed__3;
lean_object* l_Lean_Parser_Command_macroArg_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_macro__rules___closed__3;
lean_object* l_Lean_Parser_Command_syntaxCat___closed__4;
+lean_object* l_Lean_Parser_Syntax_try___elambda__1___closed__7;
lean_object* l_Lean_Parser_Command_optKindPrio_formatter___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Command_macro_formatter(lean_object*);
lean_object* l_Lean_Parser_Syntax_optional_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -1403,20 +1496,24 @@ lean_object* l_Lean_Parser_Command_macro__rules;
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_Syntax_atom___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_macro__rules_formatter___closed__2;
lean_object* l_Lean_Parser_Syntax_noWs___closed__4;
extern lean_object* l_Lean_Parser_Term_matchAlt_formatter___closed__1;
extern lean_object* l_Lean_Parser_Term_structInstArrayRef_formatter___closed__2;
+lean_object* l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__5;
lean_object* l_Lean_Parser_Syntax_sepBy_formatter___closed__1;
lean_object* l_Lean_Parser_Command_optKindPrio_parenthesizer___closed__6;
lean_object* l_Lean_Parser_Command_elab__rules___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_syntax_parenthesizer___closed__5;
+lean_object* l_Lean_Parser_manyFn(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_optKindPrio_formatter___closed__2;
lean_object* l___regBuiltin_Lean_Parser_Syntax_try_formatter(lean_object*);
extern lean_object* l_Lean_Parser_antiquotNestedExpr_formatter___closed__4;
lean_object* l_Lean_Parser_Command_macroTailTactic_formatter___closed__6;
lean_object* l_Lean_Parser_Syntax_atom_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_notation_parenthesizer___closed__2;
+lean_object* l_Lean_Parser_Command_macroTailDefault___elambda__1___closed__2;
lean_object* l_Lean_Parser_Command_postfix_formatter___closed__2;
lean_object* l_Lean_Parser_Command_elab___closed__4;
lean_object* l___regBuiltin_Lean_Parser_Command_macro__rules_formatter___closed__1;
@@ -1424,11 +1521,13 @@ lean_object* l___regBuiltinParser_Lean_Parser_Syntax_notFollowedBy(lean_object*)
lean_object* l_Lean_Parser_Command_postfix_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Syntax_try___closed__2;
lean_object* l_Lean_Parser_Syntax_notFollowedBy___closed__5;
+lean_object* l_Lean_Parser_Command_elab___elambda__1___closed__10;
lean_object* l___regBuiltinParser_Lean_Parser_Syntax_ident(lean_object*);
lean_object* l_Lean_Parser_Syntax_cat___closed__3;
lean_object* l_Lean_PrettyPrinter_Formatter_symbol_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Syntax_lookahead___closed__2;
lean_object* l_Lean_Parser_Syntax_sepBy1___elambda__1___closed__4;
+extern lean_object* l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_notation___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_macroArg_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_elabTail___elambda__1___closed__4;
@@ -1438,6 +1537,7 @@ lean_object* l_Lean_Parser_Command_optKind___closed__5;
lean_object* l_Lean_Parser_Command_infix___elambda__1___closed__3;
lean_object* l_Lean_Parser_Command_macro__rules___closed__2;
lean_object* l_Lean_Parser_Command_syntaxCat_formatter___closed__3;
+lean_object* l_Lean_Parser_Command_parserPrio___elambda__1___closed__5;
lean_object* l_Lean_Parser_Syntax_char_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_syntax___closed__9;
lean_object* l_Lean_Parser_Command_optKindPrio_parenthesizer___closed__3;
@@ -1446,7 +1546,7 @@ lean_object* l___regBuiltin_Lean_Parser_Command_syntaxCat_formatter(lean_object*
lean_object* l_Lean_Parser_Command_notationItem___elambda__1___closed__3;
lean_object* l_Lean_Parser_Command_macroTailDefault___closed__2;
lean_object* l_Lean_Parser_Command_mixfix_parenthesizer___closed__12;
-extern lean_object* l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
+lean_object* l_Lean_Parser_Syntax_cat___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_elab__rules_formatter___closed__1;
lean_object* l_Lean_Parser_Command_prefix_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l___regBuiltin_Lean_Parser_strLit_formatter___closed__2;
@@ -1460,7 +1560,9 @@ lean_object* l_Lean_Parser_Syntax_sepBy_formatter___closed__2;
lean_object* l___regBuiltin_Lean_Parser_Syntax_orelse_formatter(lean_object*);
lean_object* l_Lean_Parser_Syntax_many1_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Syntax_notFollowedBy___elambda__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__7;
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_Parser_Syntax_paren___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_optKind___closed__3;
lean_object* l_Lean_Parser_Command_infixr___closed__4;
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*);
@@ -1481,6 +1583,7 @@ lean_object* l_Lean_PrettyPrinter_Parenthesizer_many1_parenthesizer(lean_object*
lean_object* l_Lean_Parser_Syntax_notFollowedBy_formatter___closed__3;
extern lean_object* l_Lean_Parser_mkAntiquot_parenthesizer___rarg___closed__2;
lean_object* l_Lean_Parser_Syntax_noWs_formatter___closed__2;
+lean_object* l_Lean_Parser_Command_optKindPrio___elambda__1___closed__4;
lean_object* l_Lean_Parser_Syntax_sepBy_formatter___closed__4;
lean_object* l_Lean_Parser_Syntax_cat_formatter___closed__4;
lean_object* l_Lean_Parser_maxSymbol;
@@ -1489,7 +1592,6 @@ lean_object* l_Lean_Parser_Syntax_sepBy___closed__7;
lean_object* l_Lean_Parser_Syntax_sepBy_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_infix_formatter___closed__1;
lean_object* l_Lean_Parser_Command_infixl___elambda__1___closed__4;
-lean_object* l_Lean_Parser_ParserState_mkUnexpectedError(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Syntax_many___closed__4;
lean_object* l___regBuiltin_Lean_Parser_Syntax_char_formatter(lean_object*);
lean_object* l_Lean_Parser_Syntax_sepBy___elambda__1___closed__2;
@@ -1499,10 +1601,11 @@ lean_object* l_Lean_Parser_Command_elabTail_formatter___closed__4;
lean_object* l_Lean_Parser_Command_macroTailDefault___closed__1;
lean_object* l_Lean_Parser_Command_mixfix___closed__10;
lean_object* l_Lean_Parser_Command_elab_parenthesizer___closed__9;
-extern lean_object* l_Lean_Parser_Tactic_orelse___elambda__1___closed__5;
+lean_object* l_Lean_Parser_symbolFnAux(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Syntax_sepBy1_formatter___closed__1;
lean_object* l_Lean_Parser_Command_syntax___closed__2;
lean_object* l___regBuiltinParser_Lean_Parser_Syntax_atom(lean_object*);
+lean_object* l_Lean_Parser_Syntax_interpolatedStr___elambda__1___closed__10;
lean_object* l_Lean_Parser_Command_elabTail___elambda__1___closed__2;
lean_object* l_Lean_Parser_maxSymbol___closed__4;
lean_object* l_Lean_Parser_Syntax_noWs_formatter___closed__1;
@@ -1510,7 +1613,6 @@ lean_object* l_Lean_Parser_Syntax_optional___closed__2;
lean_object* l_Lean_Parser_Command_elabTail___closed__5;
lean_object* l_Lean_Parser_Syntax_num___elambda__1___closed__5;
lean_object* l___regBuiltin_Lean_Parser_Syntax_cat_formatter___closed__1;
-lean_object* l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(lean_object*);
lean_object* l_Lean_Parser_Syntax_char_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_mixfixKind___closed__5;
lean_object* l_Lean_Parser_Command_infix_formatter___closed__2;
@@ -1525,6 +1627,7 @@ lean_object* l_Lean_Parser_Command_syntax_parenthesizer___closed__7;
lean_object* l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__4;
lean_object* l_Lean_Parser_Command_mixfixKind_formatter___closed__7;
lean_object* l_Lean_Parser_Command_elab___closed__8;
+lean_object* l_Lean_Parser_Command_identPrec___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_macroTailCommand_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltinParser_Lean_Parser_Syntax_optional(lean_object*);
lean_object* l_Lean_Parser_Command_mixfix_formatter___closed__10;
@@ -1540,6 +1643,7 @@ lean_object* l_Lean_Parser_Command_syntaxCat;
lean_object* l___regBuiltinParser_Lean_Parser_Syntax_char(lean_object*);
lean_object* l_Lean_Parser_Command_macroTail;
lean_object* l_Lean_Parser_Command_reserve___closed__5;
+lean_object* l_Lean_Parser_Command_parserKindPrio___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_macroArgSimple_formatter___closed__1;
lean_object* l_Lean_Parser_Command_syntax___elambda__1___closed__1;
lean_object* l___regBuiltinParser_Lean_Parser_Command_syntax(lean_object*);
@@ -1550,19 +1654,24 @@ lean_object* l_Lean_PrettyPrinter_Parenthesizer_categoryParserOfStack_parenthesi
lean_object* l_Lean_PrettyPrinter_Parenthesizer_many_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_elab__rules_formatter___closed__4;
lean_object* l_Lean_Parser_Command_macroTailTactic_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Command_notation___elambda__1___closed__14;
lean_object* l_Lean_Parser_categoryParserOfStack___elambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_optPrecedence_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_elabTail___closed__3;
+extern lean_object* l_Lean_Parser_Level_paren___elambda__1___closed__4;
+lean_object* l_Lean_Parser_Command_elabTail___elambda__1___closed__5;
lean_object* l_Lean_Parser_Syntax_sepBy1_formatter___closed__3;
+lean_object* l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__5;
+lean_object* l_Lean_Parser_Syntax_paren___elambda__1___closed__7;
extern lean_object* l_Lean_Parser_Term_orelse___elambda__1___closed__1;
lean_object* l___regBuiltinParser_Lean_Parser_Command_elab(lean_object*);
lean_object* l_Lean_Parser_Syntax_orelse___closed__4;
-extern lean_object* l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
lean_object* l_Lean_Parser_Command_syntax___closed__8;
lean_object* l_Lean_Parser_Command_macroTail_formatter___closed__3;
lean_object* l_Lean_Parser_precedence___closed__4;
lean_object* l_Lean_Parser_Syntax_cat_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_prefix_formatter___closed__2;
+lean_object* l_Lean_Parser_Command_parserPrio___elambda__1___closed__6;
lean_object* l_Lean_Parser_Syntax_sepBy_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_prefix___elambda__1___closed__4;
lean_object* l_Lean_Parser_Syntax_num___elambda__1___closed__3;
@@ -1582,6 +1691,7 @@ lean_object* l___regBuiltin_Lean_Parser_Command_macro_parenthesizer(lean_object*
lean_object* l_Lean_Parser_Syntax_sepBy1___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_parserKindPrio_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Parser_Term_haveAssign_formatter___closed__2;
+lean_object* l_Lean_Parser_Command_mixfix___elambda__1___closed__11;
lean_object* l_Lean_Parser_Command_parserKindPrio___elambda__1___closed__3;
lean_object* l_Lean_Parser_Syntax_interpolatedStr_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Syntax_sepBy1___closed__7;
@@ -1595,6 +1705,7 @@ lean_object* l_Lean_Parser_Command_prefix___elambda__1___closed__2;
lean_object* l_Lean_Parser_Command_optKindPrio_parenthesizer___closed__5;
lean_object* l_Lean_Parser_Command_elab_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Command_elabTail_formatter___closed__1;
+lean_object* l_Lean_Parser_Command_notationItem___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_infixr___elambda__1___closed__4;
lean_object* l_Lean_Parser_Command_macroArgSimple_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Command_syntax_formatter___closed__6;
@@ -1604,6 +1715,7 @@ lean_object* l_Lean_Parser_Command_mixfix_formatter(lean_object*, lean_object*,
lean_object* l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__3;
lean_object* l_Lean_PrettyPrinter_Formatter_nonReservedSymbol_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_prefix___elambda__1(lean_object*, lean_object*);
+extern lean_object* l_Lean_Parser_strLit___closed__2;
lean_object* l_Lean_Parser_Syntax_cat___elambda__1___closed__4;
lean_object* l_Lean_Parser_Command_mixfix___closed__7;
lean_object* l_Lean_Parser_Command_prefix___elambda__1___closed__1;
@@ -1615,18 +1727,21 @@ lean_object* l___regBuiltin_Lean_Parser_Syntax_orelse_parenthesizer(lean_object*
lean_object* l_Lean_PrettyPrinter_Parenthesizer_try_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Command_mixfix_parenthesizer(lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Command_macro_formatter___closed__1;
+extern lean_object* l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__8;
lean_object* l_Lean_Parser_Command_notationItem_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_macroTailCommand___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Command_notationItem;
lean_object* l_Lean_Parser_optPrecedence___closed__1;
lean_object* l_Lean_Parser_Command_prefix_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Command_reserve___closed__3;
+lean_object* l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__6;
lean_object* l_Lean_Parser_Command_mixfixKind_formatter___closed__8;
-uint8_t lean_string_dec_eq(lean_object*, lean_object*);
-extern lean_object* l_Lean_Parser_Term_quot___elambda__1___closed__5;
+lean_object* l_Lean_Parser_Command_syntax___elambda__1___closed__11;
lean_object* l_Lean_Parser_Command_elab__rules___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Syntax_noWs;
+lean_object* l_Lean_Parser_Command_macroTailCommand___elambda__1___closed__5;
lean_object* l_Lean_Parser_Syntax_orelse;
+lean_object* l_Lean_Parser_Syntax_try___elambda__1___closed__5;
lean_object* l_Lean_Parser_Command_notationItem_parenthesizer___closed__5;
lean_object* l_Lean_Parser_Command_elabTail___elambda__1___closed__3;
lean_object* l_Lean_Parser_Command_macroTailCommand_parenthesizer___closed__4;
@@ -1643,9 +1758,10 @@ lean_object* l_Lean_PrettyPrinter_Formatter_categoryParser_formatter(lean_object
lean_object* l_Lean_Parser_Command_syntaxCat_formatter___closed__4;
lean_object* l___regBuiltin_Lean_Parser_Command_elab_formatter(lean_object*);
lean_object* l_Lean_Parser_Command_macro__rules___closed__5;
+lean_object* l_Lean_Parser_andthenFn(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Command_notation_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Command_parserPrio_parenthesizer___closed__1;
-static lean_object* _init_l_Lean_Parser_regBuiltinSyntaxParserAttr___closed__1() {
+static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Syntax___hyg_4____closed__1() {
_start:
{
lean_object* x_1;
@@ -1653,28 +1769,28 @@ x_1 = lean_mk_string("builtinSyntaxParser");
return x_1;
}
}
-static lean_object* _init_l_Lean_Parser_regBuiltinSyntaxParserAttr___closed__2() {
+static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Syntax___hyg_4____closed__2() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = lean_box(0);
-x_2 = l_Lean_Parser_regBuiltinSyntaxParserAttr___closed__1;
+x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Syntax___hyg_4____closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
}
}
-lean_object* l_Lean_Parser_regBuiltinSyntaxParserAttr(lean_object* x_1) {
+lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Syntax___hyg_4_(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5;
-x_2 = l_Lean_Parser_regBuiltinSyntaxParserAttr___closed__2;
+x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Syntax___hyg_4____closed__2;
x_3 = l_Lean_Parser_categoryParserFnImpl___closed__4;
x_4 = 1;
x_5 = l_Lean_Parser_registerBuiltinParserAttribute(x_2, x_3, x_4, x_1);
return x_5;
}
}
-static lean_object* _init_l_Lean_Parser_regSyntaxParserAttribute___closed__1() {
+static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Syntax___hyg_19____closed__1() {
_start:
{
lean_object* x_1;
@@ -1682,21 +1798,21 @@ x_1 = lean_mk_string("stxParser");
return x_1;
}
}
-static lean_object* _init_l_Lean_Parser_regSyntaxParserAttribute___closed__2() {
+static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Syntax___hyg_19____closed__2() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = lean_box(0);
-x_2 = l_Lean_Parser_regSyntaxParserAttribute___closed__1;
+x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Syntax___hyg_19____closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
}
}
-lean_object* l_Lean_Parser_regSyntaxParserAttribute(lean_object* x_1) {
+lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Syntax___hyg_19_(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3; lean_object* x_4;
-x_2 = l_Lean_Parser_regSyntaxParserAttribute___closed__2;
+x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Syntax___hyg_19____closed__2;
x_3 = l_Lean_Parser_categoryParserFnImpl___closed__4;
x_4 = l_Lean_Parser_registerBuiltinDynamicParserAttribute(x_2, x_3, x_1);
return x_4;
@@ -1762,142 +1878,50 @@ return x_2;
static lean_object* _init_l_Lean_Parser_maxSymbol___elambda__1___closed__6() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_maxSymbol___elambda__1___closed__5;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_maxSymbol___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbolFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_maxSymbol___elambda__1___closed__7() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_maxSymbol___elambda__1___closed__6;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_maxSymbol___elambda__1___closed__2;
+x_2 = l_Lean_Parser_maxSymbol___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_maxSymbol___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_maxSymbol___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
lean_object* l_Lean_Parser_maxSymbol___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_maxSymbol___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-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;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_11 = l_Lean_Parser_maxSymbol___elambda__1___closed__5;
-x_12 = l_Lean_Parser_maxSymbol___elambda__1___closed__7;
-x_13 = l_Lean_Parser_nonReservedSymbolFnAux(x_11, x_12, x_1, x_7);
-x_14 = l_Lean_Parser_maxSymbol___elambda__1___closed__2;
-x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
-return x_15;
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_maxSymbol___elambda__1___closed__8;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
-x_16 = lean_ctor_get(x_2, 0);
-lean_inc(x_16);
-x_17 = lean_array_get_size(x_16);
-lean_dec(x_16);
-x_18 = lean_ctor_get(x_2, 1);
-lean_inc(x_18);
-lean_inc(x_1);
-x_19 = lean_apply_2(x_4, x_1, x_2);
-x_20 = lean_ctor_get(x_19, 3);
-lean_inc(x_20);
-if (lean_obj_tag(x_20) == 0)
-{
-lean_dec(x_18);
-lean_dec(x_17);
-lean_dec(x_1);
-return x_19;
-}
-else
-{
-lean_object* x_21; lean_object* x_22; uint8_t x_23;
-x_21 = lean_ctor_get(x_20, 0);
-lean_inc(x_21);
-lean_dec(x_20);
-x_22 = lean_ctor_get(x_19, 1);
-lean_inc(x_22);
-x_23 = lean_nat_dec_eq(x_22, x_18);
-lean_dec(x_22);
-if (x_23 == 0)
-{
-lean_dec(x_21);
-lean_dec(x_18);
-lean_dec(x_17);
-lean_dec(x_1);
-return x_19;
-}
-else
-{
-lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
-lean_inc(x_18);
-x_24 = l_Lean_Parser_ParserState_restore(x_19, x_17, x_18);
-lean_dec(x_17);
-x_25 = lean_unsigned_to_nat(1024u);
-x_26 = l_Lean_Parser_checkPrecFn(x_25, x_1, x_24);
-x_27 = lean_ctor_get(x_26, 3);
-lean_inc(x_27);
-if (lean_obj_tag(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; uint8_t x_35; lean_object* x_36;
-x_28 = lean_ctor_get(x_26, 0);
-lean_inc(x_28);
-x_29 = lean_array_get_size(x_28);
-lean_dec(x_28);
-x_30 = l_Lean_Parser_maxSymbol___elambda__1___closed__5;
-x_31 = l_Lean_Parser_maxSymbol___elambda__1___closed__7;
-x_32 = l_Lean_Parser_nonReservedSymbolFnAux(x_30, x_31, x_1, x_26);
-x_33 = l_Lean_Parser_maxSymbol___elambda__1___closed__2;
-x_34 = l_Lean_Parser_ParserState_mkNode(x_32, x_33, x_29);
-x_35 = 1;
-x_36 = l_Lean_Parser_mergeOrElseErrors(x_34, x_21, x_18, x_35);
-lean_dec(x_18);
-return x_36;
-}
-else
-{
-uint8_t x_37; lean_object* x_38;
-lean_dec(x_27);
-lean_dec(x_1);
-x_37 = 1;
-x_38 = l_Lean_Parser_mergeOrElseErrors(x_26, x_21, x_18, x_37);
-lean_dec(x_18);
-return x_38;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_maxSymbol___closed__1() {
_start:
{
@@ -1971,56 +1995,13 @@ return x_1;
lean_object* l_Lean_Parser_precedenceLit___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-lean_inc(x_1);
-x_6 = l_Lean_Parser_numLit___elambda__1(x_1, x_2);
-x_7 = lean_ctor_get(x_6, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
-{
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_1);
+lean_object* x_3; lean_object* x_4; uint8_t x_5; lean_object* x_6;
+x_3 = l_Lean_Parser_numLit___closed__2;
+x_4 = l_Lean_Parser_maxSymbol___closed__5;
+x_5 = 1;
+x_6 = l_Lean_Parser_orelseFnCore(x_3, x_4, x_5, x_1, x_2);
return x_6;
}
-else
-{
-lean_object* x_8; lean_object* x_9; uint8_t x_10;
-x_8 = lean_ctor_get(x_7, 0);
-lean_inc(x_8);
-lean_dec(x_7);
-x_9 = lean_ctor_get(x_6, 1);
-lean_inc(x_9);
-x_10 = lean_nat_dec_eq(x_9, x_5);
-lean_dec(x_9);
-if (x_10 == 0)
-{
-lean_dec(x_8);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_6;
-}
-else
-{
-lean_object* x_11; lean_object* x_12; uint8_t x_13; lean_object* x_14;
-lean_inc(x_5);
-x_11 = l_Lean_Parser_ParserState_restore(x_6, x_4, x_5);
-lean_dec(x_4);
-x_12 = l_Lean_Parser_maxSymbol___elambda__1(x_1, x_11);
-x_13 = 1;
-x_14 = l_Lean_Parser_mergeOrElseErrors(x_12, x_8, x_5, x_13);
-lean_dec(x_5);
-return x_14;
-}
-}
-}
}
static lean_object* _init_l_Lean_Parser_precedenceLit___closed__1() {
_start:
@@ -2103,274 +2084,55 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_precedence___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_mkAntiquot___closed__7;
+x_2 = l_Lean_Parser_precedenceLit___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_precedence___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_precedence___elambda__1___closed__2;
+x_2 = l_Lean_Parser_precedence___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_precedence___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_precedence___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_precedence___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_precedence___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_19; lean_object* x_20; lean_object* x_21;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_19 = lean_ctor_get(x_7, 1);
-lean_inc(x_19);
-lean_inc(x_1);
-x_20 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_21 = lean_ctor_get(x_20, 3);
-lean_inc(x_21);
-if (lean_obj_tag(x_21) == 0)
-{
-lean_object* x_22; lean_object* x_23;
-x_22 = lean_ctor_get(x_20, 0);
-lean_inc(x_22);
-x_23 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_22);
-lean_dec(x_22);
-if (lean_obj_tag(x_23) == 2)
-{
-lean_object* x_24; lean_object* x_25; uint8_t x_26;
-x_24 = lean_ctor_get(x_23, 1);
-lean_inc(x_24);
-lean_dec(x_23);
-x_25 = l_Lean_Parser_mkAntiquot___closed__5;
-x_26 = lean_string_dec_eq(x_24, x_25);
-lean_dec(x_24);
-if (x_26 == 0)
-{
-lean_object* x_27; lean_object* x_28;
-x_27 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__8;
-x_28 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_27, x_19);
-x_11 = x_28;
-goto block_18;
-}
-else
-{
-lean_dec(x_19);
-x_11 = x_20;
-goto block_18;
-}
-}
-else
-{
-lean_object* x_29; lean_object* x_30;
-lean_dec(x_23);
-x_29 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__8;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_29, x_19);
-x_11 = x_30;
-goto block_18;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32;
-lean_dec(x_21);
-x_31 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__8;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_31, x_19);
-x_11 = x_32;
-goto block_18;
-}
-block_18:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15;
-x_13 = l_Lean_Parser_precedenceLit___elambda__1(x_1, x_11);
-x_14 = l_Lean_Parser_precedence___elambda__1___closed__2;
-x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
-return x_15;
-}
-else
-{
-lean_object* x_16; lean_object* x_17;
-lean_dec(x_12);
-lean_dec(x_1);
-x_16 = l_Lean_Parser_precedence___elambda__1___closed__2;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_11, x_16, x_10);
-return x_17;
-}
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_precedence___elambda__1___closed__7;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_33 = lean_ctor_get(x_2, 0);
-lean_inc(x_33);
-x_34 = lean_array_get_size(x_33);
-lean_dec(x_33);
-x_35 = lean_ctor_get(x_2, 1);
-lean_inc(x_35);
-lean_inc(x_1);
-x_36 = lean_apply_2(x_4, x_1, x_2);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_36, 1);
-lean_inc(x_39);
-x_40 = lean_nat_dec_eq(x_39, x_35);
-lean_dec(x_39);
-if (x_40 == 0)
-{
-lean_dec(x_38);
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
-lean_inc(x_35);
-x_41 = l_Lean_Parser_ParserState_restore(x_36, x_34, x_35);
-lean_dec(x_34);
-x_42 = lean_unsigned_to_nat(1024u);
-x_43 = l_Lean_Parser_checkPrecFn(x_42, x_1, x_41);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_59; lean_object* x_60; lean_object* x_61;
-x_45 = lean_ctor_get(x_43, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-x_59 = lean_ctor_get(x_43, 1);
-lean_inc(x_59);
-lean_inc(x_1);
-x_60 = l_Lean_Parser_tokenFn(x_1, x_43);
-x_61 = lean_ctor_get(x_60, 3);
-lean_inc(x_61);
-if (lean_obj_tag(x_61) == 0)
-{
-lean_object* x_62; lean_object* x_63;
-x_62 = lean_ctor_get(x_60, 0);
-lean_inc(x_62);
-x_63 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_62);
-lean_dec(x_62);
-if (lean_obj_tag(x_63) == 2)
-{
-lean_object* x_64; lean_object* x_65; uint8_t x_66;
-x_64 = lean_ctor_get(x_63, 1);
-lean_inc(x_64);
-lean_dec(x_63);
-x_65 = l_Lean_Parser_mkAntiquot___closed__5;
-x_66 = lean_string_dec_eq(x_64, x_65);
-lean_dec(x_64);
-if (x_66 == 0)
-{
-lean_object* x_67; lean_object* x_68;
-x_67 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__8;
-x_68 = l_Lean_Parser_ParserState_mkErrorsAt(x_60, x_67, x_59);
-x_47 = x_68;
-goto block_58;
-}
-else
-{
-lean_dec(x_59);
-x_47 = x_60;
-goto block_58;
-}
-}
-else
-{
-lean_object* x_69; lean_object* x_70;
-lean_dec(x_63);
-x_69 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__8;
-x_70 = l_Lean_Parser_ParserState_mkErrorsAt(x_60, x_69, x_59);
-x_47 = x_70;
-goto block_58;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72;
-lean_dec(x_61);
-x_71 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__8;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_60, x_71, x_59);
-x_47 = x_72;
-goto block_58;
-}
-block_58:
-{
-lean_object* x_48;
-x_48 = lean_ctor_get(x_47, 3);
-lean_inc(x_48);
-if (lean_obj_tag(x_48) == 0)
-{
-lean_object* x_49; lean_object* x_50; lean_object* x_51; uint8_t x_52; lean_object* x_53;
-x_49 = l_Lean_Parser_precedenceLit___elambda__1(x_1, x_47);
-x_50 = l_Lean_Parser_precedence___elambda__1___closed__2;
-x_51 = l_Lean_Parser_ParserState_mkNode(x_49, x_50, x_46);
-x_52 = 1;
-x_53 = l_Lean_Parser_mergeOrElseErrors(x_51, x_38, x_35, x_52);
-lean_dec(x_35);
-return x_53;
-}
-else
-{
-lean_object* x_54; lean_object* x_55; uint8_t x_56; lean_object* x_57;
-lean_dec(x_48);
-lean_dec(x_1);
-x_54 = l_Lean_Parser_precedence___elambda__1___closed__2;
-x_55 = l_Lean_Parser_ParserState_mkNode(x_47, x_54, x_46);
-x_56 = 1;
-x_57 = l_Lean_Parser_mergeOrElseErrors(x_55, x_38, x_35, x_56);
-lean_dec(x_35);
-return x_57;
-}
-}
-}
-else
-{
-uint8_t x_73; lean_object* x_74;
-lean_dec(x_44);
-lean_dec(x_1);
-x_73 = 1;
-x_74 = l_Lean_Parser_mergeOrElseErrors(x_43, x_38, x_35, x_73);
-lean_dec(x_35);
-return x_74;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_precedence___closed__1() {
_start:
{
@@ -2443,95 +2205,23 @@ x_1 = l_Lean_Parser_precedence___closed__6;
return x_1;
}
}
+static lean_object* _init_l_Lean_Parser_optPrecedence___elambda__1___closed__1() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_precedence___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_tryFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
lean_object* l_Lean_Parser_optPrecedence___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_ctor_get(x_2, 1);
-lean_inc(x_4);
-x_5 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_6 = l_Lean_Parser_precedence___elambda__1(x_1, x_2);
-x_7 = lean_ctor_get(x_6, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
-{
-lean_object* x_8; lean_object* x_9;
-lean_dec(x_4);
-x_8 = l_Lean_nullKind;
-x_9 = l_Lean_Parser_ParserState_mkNode(x_6, x_8, x_5);
-return x_9;
-}
-else
-{
-uint8_t x_10;
-x_10 = !lean_is_exclusive(x_6);
-if (x_10 == 0)
-{
-lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; uint8_t x_15;
-x_11 = lean_ctor_get(x_6, 0);
-x_12 = lean_ctor_get(x_6, 3);
-lean_dec(x_12);
-x_13 = lean_ctor_get(x_6, 1);
-lean_dec(x_13);
-x_14 = l_Array_shrink___main___rarg(x_11, x_5);
-lean_inc(x_4);
-lean_ctor_set(x_6, 1, x_4);
-lean_ctor_set(x_6, 0, x_14);
-x_15 = lean_nat_dec_eq(x_4, x_4);
-if (x_15 == 0)
-{
-lean_object* x_16; lean_object* x_17;
-lean_dec(x_4);
-x_16 = l_Lean_nullKind;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_6, x_16, x_5);
-return x_17;
-}
-else
-{
-lean_object* x_18; lean_object* x_19; lean_object* x_20;
-x_18 = l_Lean_Parser_ParserState_restore(x_6, x_5, x_4);
-x_19 = l_Lean_nullKind;
-x_20 = l_Lean_Parser_ParserState_mkNode(x_18, x_19, x_5);
-return x_20;
-}
-}
-else
-{
-lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; uint8_t x_25;
-x_21 = lean_ctor_get(x_6, 0);
-x_22 = lean_ctor_get(x_6, 2);
-lean_inc(x_22);
-lean_inc(x_21);
-lean_dec(x_6);
-x_23 = l_Array_shrink___main___rarg(x_21, x_5);
-lean_inc(x_4);
-x_24 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_24, 0, x_23);
-lean_ctor_set(x_24, 1, x_4);
-lean_ctor_set(x_24, 2, x_22);
-lean_ctor_set(x_24, 3, x_7);
-x_25 = lean_nat_dec_eq(x_4, x_4);
-if (x_25 == 0)
-{
-lean_object* x_26; lean_object* x_27;
-lean_dec(x_4);
-x_26 = l_Lean_nullKind;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_24, x_26, x_5);
-return x_27;
-}
-else
-{
-lean_object* x_28; lean_object* x_29; lean_object* x_30;
-x_28 = l_Lean_Parser_ParserState_restore(x_24, x_5, x_4);
-x_29 = l_Lean_nullKind;
-x_30 = l_Lean_Parser_ParserState_mkNode(x_28, x_29, x_5);
-return x_30;
-}
-}
-}
+lean_object* x_3; lean_object* x_4;
+x_3 = l_Lean_Parser_optPrecedence___elambda__1___closed__1;
+x_4 = l_Lean_Parser_optionalFn(x_3, x_1, x_2);
+return x_4;
}
}
static lean_object* _init_l_Lean_Parser_optPrecedence___closed__1() {
@@ -2573,70 +2263,6 @@ x_1 = l_Lean_Parser_optPrecedence___closed__3;
return x_1;
}
}
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Syntax_paren___elambda__1___spec__1(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-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_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-x_6 = l_Lean_Parser_categoryParserFnImpl___closed__4;
-x_7 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_8 = l_Lean_Parser_categoryParser___elambda__1(x_6, x_7, x_1, x_2);
-x_9 = lean_ctor_get(x_8, 3);
-lean_inc(x_9);
-if (lean_obj_tag(x_9) == 0)
-{
-lean_object* x_10; uint8_t x_11;
-lean_dec(x_4);
-x_10 = lean_ctor_get(x_8, 1);
-lean_inc(x_10);
-x_11 = lean_nat_dec_eq(x_5, x_10);
-lean_dec(x_10);
-lean_dec(x_5);
-if (x_11 == 0)
-{
-x_2 = x_8;
-goto _start;
-}
-else
-{
-lean_object* x_13; lean_object* x_14;
-lean_dec(x_1);
-x_13 = l_Lean_Parser_manyAux___main___closed__1;
-x_14 = l_Lean_Parser_ParserState_mkUnexpectedError(x_8, x_13);
-return x_14;
-}
-}
-else
-{
-lean_object* x_15; uint8_t x_16;
-lean_dec(x_9);
-lean_dec(x_1);
-x_15 = lean_ctor_get(x_8, 1);
-lean_inc(x_15);
-x_16 = lean_nat_dec_eq(x_5, x_15);
-lean_dec(x_15);
-if (x_16 == 0)
-{
-lean_dec(x_5);
-lean_dec(x_4);
-return x_8;
-}
-else
-{
-lean_object* x_17;
-x_17 = l_Lean_Parser_ParserState_restore(x_8, x_4, x_5);
-lean_dec(x_4);
-return x_17;
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Syntax_paren___elambda__1___closed__1() {
_start:
{
@@ -2686,494 +2312,89 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Syntax_paren___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_categoryParserFnImpl___closed__4;
+x_2 = lean_unsigned_to_nat(0u);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_categoryParser___elambda__1), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Syntax_paren___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Syntax_paren___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_many1Fn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Syntax_paren___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Syntax_paren___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Level_paren___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Syntax_paren___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__3;
+x_2 = l_Lean_Parser_Syntax_paren___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Syntax_paren___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Syntax_paren___elambda__1___closed__3;
+x_2 = l_Lean_Parser_Syntax_paren___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Syntax_paren___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Syntax_paren___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Syntax_paren___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Syntax_paren___elambda__1___closed__5;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_38; lean_object* x_54; lean_object* x_55; lean_object* x_56;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_54 = lean_ctor_get(x_7, 1);
-lean_inc(x_54);
-lean_inc(x_1);
-x_55 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_56 = lean_ctor_get(x_55, 3);
-lean_inc(x_56);
-if (lean_obj_tag(x_56) == 0)
-{
-lean_object* x_57; lean_object* x_58;
-x_57 = lean_ctor_get(x_55, 0);
-lean_inc(x_57);
-x_58 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_57);
-lean_dec(x_57);
-if (lean_obj_tag(x_58) == 2)
-{
-lean_object* x_59; lean_object* x_60; uint8_t x_61;
-x_59 = lean_ctor_get(x_58, 1);
-lean_inc(x_59);
-lean_dec(x_58);
-x_60 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__3;
-x_61 = lean_string_dec_eq(x_59, x_60);
-lean_dec(x_59);
-if (x_61 == 0)
-{
-lean_object* x_62; lean_object* x_63;
-x_62 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-x_63 = l_Lean_Parser_ParserState_mkErrorsAt(x_55, x_62, x_54);
-x_38 = x_63;
-goto block_53;
-}
-else
-{
-lean_dec(x_54);
-x_38 = x_55;
-goto block_53;
-}
-}
-else
-{
-lean_object* x_64; lean_object* x_65;
-lean_dec(x_58);
-x_64 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-x_65 = l_Lean_Parser_ParserState_mkErrorsAt(x_55, x_64, x_54);
-x_38 = x_65;
-goto block_53;
-}
-}
-else
-{
-lean_object* x_66; lean_object* x_67;
-lean_dec(x_56);
-x_66 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-x_67 = l_Lean_Parser_ParserState_mkErrorsAt(x_55, x_66, x_54);
-x_38 = x_67;
-goto block_53;
-}
-block_37:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15;
-x_13 = lean_ctor_get(x_11, 1);
-lean_inc(x_13);
-x_14 = l_Lean_Parser_tokenFn(x_1, x_11);
-x_15 = lean_ctor_get(x_14, 3);
-lean_inc(x_15);
-if (lean_obj_tag(x_15) == 0)
-{
-lean_object* x_16; lean_object* x_17;
-x_16 = lean_ctor_get(x_14, 0);
-lean_inc(x_16);
-x_17 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_16);
-lean_dec(x_16);
-if (lean_obj_tag(x_17) == 2)
-{
-lean_object* x_18; lean_object* x_19; uint8_t x_20;
-x_18 = lean_ctor_get(x_17, 1);
-lean_inc(x_18);
-lean_dec(x_17);
-x_19 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
-x_20 = lean_string_dec_eq(x_18, x_19);
-lean_dec(x_18);
-if (x_20 == 0)
-{
-lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
-x_21 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_22 = l_Lean_Parser_ParserState_mkErrorsAt(x_14, x_21, x_13);
-x_23 = l_Lean_Parser_Syntax_paren___elambda__1___closed__3;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_22, x_23, x_10);
-return x_24;
-}
-else
-{
-lean_object* x_25; lean_object* x_26;
-lean_dec(x_13);
-x_25 = l_Lean_Parser_Syntax_paren___elambda__1___closed__3;
-x_26 = l_Lean_Parser_ParserState_mkNode(x_14, x_25, x_10);
-return x_26;
-}
-}
-else
-{
-lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30;
-lean_dec(x_17);
-x_27 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_28 = l_Lean_Parser_ParserState_mkErrorsAt(x_14, x_27, x_13);
-x_29 = l_Lean_Parser_Syntax_paren___elambda__1___closed__3;
-x_30 = l_Lean_Parser_ParserState_mkNode(x_28, x_29, x_10);
-return x_30;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34;
-lean_dec(x_15);
-x_31 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_14, x_31, x_13);
-x_33 = l_Lean_Parser_Syntax_paren___elambda__1___closed__3;
-x_34 = l_Lean_Parser_ParserState_mkNode(x_32, x_33, x_10);
-return x_34;
-}
-}
-else
-{
-lean_object* x_35; lean_object* x_36;
-lean_dec(x_12);
-lean_dec(x_1);
-x_35 = l_Lean_Parser_Syntax_paren___elambda__1___closed__3;
-x_36 = l_Lean_Parser_ParserState_mkNode(x_11, x_35, x_10);
-return x_36;
-}
-}
-block_53:
-{
-lean_object* x_39;
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45;
-x_40 = lean_ctor_get(x_38, 0);
-lean_inc(x_40);
-x_41 = lean_array_get_size(x_40);
-lean_dec(x_40);
-x_42 = l_Lean_Parser_categoryParserFnImpl___closed__4;
-x_43 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_44 = l_Lean_Parser_categoryParser___elambda__1(x_42, x_43, x_1, x_38);
-x_45 = lean_ctor_get(x_44, 3);
-lean_inc(x_45);
-if (lean_obj_tag(x_45) == 0)
-{
-lean_object* x_46; lean_object* x_47; lean_object* x_48;
-lean_inc(x_1);
-x_46 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Syntax_paren___elambda__1___spec__1(x_1, x_44);
-x_47 = l_Lean_nullKind;
-x_48 = l_Lean_Parser_ParserState_mkNode(x_46, x_47, x_41);
-x_11 = x_48;
-goto block_37;
-}
-else
-{
-lean_object* x_49; lean_object* x_50;
-lean_dec(x_45);
-x_49 = l_Lean_nullKind;
-x_50 = l_Lean_Parser_ParserState_mkNode(x_44, x_49, x_41);
-x_11 = x_50;
-goto block_37;
-}
-}
-else
-{
-lean_object* x_51; lean_object* x_52;
-lean_dec(x_39);
-lean_dec(x_1);
-x_51 = l_Lean_Parser_Syntax_paren___elambda__1___closed__3;
-x_52 = l_Lean_Parser_ParserState_mkNode(x_38, x_51, x_10);
-return x_52;
-}
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Syntax_paren___elambda__1___closed__11;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72;
-x_68 = lean_ctor_get(x_2, 0);
-lean_inc(x_68);
-x_69 = lean_array_get_size(x_68);
-lean_dec(x_68);
-x_70 = lean_ctor_get(x_2, 1);
-lean_inc(x_70);
-lean_inc(x_1);
-x_71 = lean_apply_2(x_4, x_1, x_2);
-x_72 = lean_ctor_get(x_71, 3);
-lean_inc(x_72);
-if (lean_obj_tag(x_72) == 0)
-{
-lean_dec(x_70);
-lean_dec(x_69);
-lean_dec(x_1);
-return x_71;
-}
-else
-{
-lean_object* x_73; lean_object* x_74; uint8_t x_75;
-x_73 = lean_ctor_get(x_72, 0);
-lean_inc(x_73);
-lean_dec(x_72);
-x_74 = lean_ctor_get(x_71, 1);
-lean_inc(x_74);
-x_75 = lean_nat_dec_eq(x_74, x_70);
-lean_dec(x_74);
-if (x_75 == 0)
-{
-lean_dec(x_73);
-lean_dec(x_70);
-lean_dec(x_69);
-lean_dec(x_1);
-return x_71;
-}
-else
-{
-lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79;
-lean_inc(x_70);
-x_76 = l_Lean_Parser_ParserState_restore(x_71, x_69, x_70);
-lean_dec(x_69);
-x_77 = lean_unsigned_to_nat(1024u);
-x_78 = l_Lean_Parser_checkPrecFn(x_77, x_1, x_76);
-x_79 = lean_ctor_get(x_78, 3);
-lean_inc(x_79);
-if (lean_obj_tag(x_79) == 0)
-{
-lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_119; lean_object* x_137; lean_object* x_138; lean_object* x_139;
-x_80 = lean_ctor_get(x_78, 0);
-lean_inc(x_80);
-x_81 = lean_array_get_size(x_80);
-lean_dec(x_80);
-x_137 = lean_ctor_get(x_78, 1);
-lean_inc(x_137);
-lean_inc(x_1);
-x_138 = l_Lean_Parser_tokenFn(x_1, x_78);
-x_139 = lean_ctor_get(x_138, 3);
-lean_inc(x_139);
-if (lean_obj_tag(x_139) == 0)
-{
-lean_object* x_140; lean_object* x_141;
-x_140 = lean_ctor_get(x_138, 0);
-lean_inc(x_140);
-x_141 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_140);
-lean_dec(x_140);
-if (lean_obj_tag(x_141) == 2)
-{
-lean_object* x_142; lean_object* x_143; uint8_t x_144;
-x_142 = lean_ctor_get(x_141, 1);
-lean_inc(x_142);
-lean_dec(x_141);
-x_143 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__3;
-x_144 = lean_string_dec_eq(x_142, x_143);
-lean_dec(x_142);
-if (x_144 == 0)
-{
-lean_object* x_145; lean_object* x_146;
-x_145 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-x_146 = l_Lean_Parser_ParserState_mkErrorsAt(x_138, x_145, x_137);
-x_119 = x_146;
-goto block_136;
-}
-else
-{
-lean_dec(x_137);
-x_119 = x_138;
-goto block_136;
-}
-}
-else
-{
-lean_object* x_147; lean_object* x_148;
-lean_dec(x_141);
-x_147 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-x_148 = l_Lean_Parser_ParserState_mkErrorsAt(x_138, x_147, x_137);
-x_119 = x_148;
-goto block_136;
-}
-}
-else
-{
-lean_object* x_149; lean_object* x_150;
-lean_dec(x_139);
-x_149 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-x_150 = l_Lean_Parser_ParserState_mkErrorsAt(x_138, x_149, x_137);
-x_119 = x_150;
-goto block_136;
-}
-block_118:
-{
-lean_object* x_83;
-x_83 = lean_ctor_get(x_82, 3);
-lean_inc(x_83);
-if (lean_obj_tag(x_83) == 0)
-{
-lean_object* x_84; lean_object* x_85; lean_object* x_86;
-x_84 = lean_ctor_get(x_82, 1);
-lean_inc(x_84);
-x_85 = l_Lean_Parser_tokenFn(x_1, x_82);
-x_86 = lean_ctor_get(x_85, 3);
-lean_inc(x_86);
-if (lean_obj_tag(x_86) == 0)
-{
-lean_object* x_87; lean_object* x_88;
-x_87 = lean_ctor_get(x_85, 0);
-lean_inc(x_87);
-x_88 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_87);
-lean_dec(x_87);
-if (lean_obj_tag(x_88) == 2)
-{
-lean_object* x_89; lean_object* x_90; uint8_t x_91;
-x_89 = lean_ctor_get(x_88, 1);
-lean_inc(x_89);
-lean_dec(x_88);
-x_90 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
-x_91 = lean_string_dec_eq(x_89, x_90);
-lean_dec(x_89);
-if (x_91 == 0)
-{
-lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; uint8_t x_96; lean_object* x_97;
-x_92 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_93 = l_Lean_Parser_ParserState_mkErrorsAt(x_85, x_92, x_84);
-x_94 = l_Lean_Parser_Syntax_paren___elambda__1___closed__3;
-x_95 = l_Lean_Parser_ParserState_mkNode(x_93, x_94, x_81);
-x_96 = 1;
-x_97 = l_Lean_Parser_mergeOrElseErrors(x_95, x_73, x_70, x_96);
-lean_dec(x_70);
-return x_97;
-}
-else
-{
-lean_object* x_98; lean_object* x_99; uint8_t x_100; lean_object* x_101;
-lean_dec(x_84);
-x_98 = l_Lean_Parser_Syntax_paren___elambda__1___closed__3;
-x_99 = l_Lean_Parser_ParserState_mkNode(x_85, x_98, x_81);
-x_100 = 1;
-x_101 = l_Lean_Parser_mergeOrElseErrors(x_99, x_73, x_70, x_100);
-lean_dec(x_70);
-return x_101;
-}
-}
-else
-{
-lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; uint8_t x_106; lean_object* x_107;
-lean_dec(x_88);
-x_102 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_103 = l_Lean_Parser_ParserState_mkErrorsAt(x_85, x_102, x_84);
-x_104 = l_Lean_Parser_Syntax_paren___elambda__1___closed__3;
-x_105 = l_Lean_Parser_ParserState_mkNode(x_103, x_104, x_81);
-x_106 = 1;
-x_107 = l_Lean_Parser_mergeOrElseErrors(x_105, x_73, x_70, x_106);
-lean_dec(x_70);
-return x_107;
-}
-}
-else
-{
-lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; uint8_t x_112; lean_object* x_113;
-lean_dec(x_86);
-x_108 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_109 = l_Lean_Parser_ParserState_mkErrorsAt(x_85, x_108, x_84);
-x_110 = l_Lean_Parser_Syntax_paren___elambda__1___closed__3;
-x_111 = l_Lean_Parser_ParserState_mkNode(x_109, x_110, x_81);
-x_112 = 1;
-x_113 = l_Lean_Parser_mergeOrElseErrors(x_111, x_73, x_70, x_112);
-lean_dec(x_70);
-return x_113;
-}
-}
-else
-{
-lean_object* x_114; lean_object* x_115; uint8_t x_116; lean_object* x_117;
-lean_dec(x_83);
-lean_dec(x_1);
-x_114 = l_Lean_Parser_Syntax_paren___elambda__1___closed__3;
-x_115 = l_Lean_Parser_ParserState_mkNode(x_82, x_114, x_81);
-x_116 = 1;
-x_117 = l_Lean_Parser_mergeOrElseErrors(x_115, x_73, x_70, x_116);
-lean_dec(x_70);
-return x_117;
-}
-}
-block_136:
-{
-lean_object* x_120;
-x_120 = lean_ctor_get(x_119, 3);
-lean_inc(x_120);
-if (lean_obj_tag(x_120) == 0)
-{
-lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126;
-x_121 = lean_ctor_get(x_119, 0);
-lean_inc(x_121);
-x_122 = lean_array_get_size(x_121);
-lean_dec(x_121);
-x_123 = l_Lean_Parser_categoryParserFnImpl___closed__4;
-x_124 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_125 = l_Lean_Parser_categoryParser___elambda__1(x_123, x_124, x_1, x_119);
-x_126 = lean_ctor_get(x_125, 3);
-lean_inc(x_126);
-if (lean_obj_tag(x_126) == 0)
-{
-lean_object* x_127; lean_object* x_128; lean_object* x_129;
-lean_inc(x_1);
-x_127 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Syntax_paren___elambda__1___spec__1(x_1, x_125);
-x_128 = l_Lean_nullKind;
-x_129 = l_Lean_Parser_ParserState_mkNode(x_127, x_128, x_122);
-x_82 = x_129;
-goto block_118;
-}
-else
-{
-lean_object* x_130; lean_object* x_131;
-lean_dec(x_126);
-x_130 = l_Lean_nullKind;
-x_131 = l_Lean_Parser_ParserState_mkNode(x_125, x_130, x_122);
-x_82 = x_131;
-goto block_118;
-}
-}
-else
-{
-lean_object* x_132; lean_object* x_133; uint8_t x_134; lean_object* x_135;
-lean_dec(x_120);
-lean_dec(x_1);
-x_132 = l_Lean_Parser_Syntax_paren___elambda__1___closed__3;
-x_133 = l_Lean_Parser_ParserState_mkNode(x_119, x_132, x_81);
-x_134 = 1;
-x_135 = l_Lean_Parser_mergeOrElseErrors(x_133, x_73, x_70, x_134);
-lean_dec(x_70);
-return x_135;
-}
-}
-}
-else
-{
-uint8_t x_151; lean_object* x_152;
-lean_dec(x_79);
-lean_dec(x_1);
-x_151 = 1;
-x_152 = l_Lean_Parser_mergeOrElseErrors(x_78, x_73, x_70, x_151);
-lean_dec(x_70);
-return x_152;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Syntax_paren___closed__1() {
_start:
{
@@ -3553,158 +2774,55 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Syntax_cat___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_ident___closed__2;
+x_2 = l_Lean_Parser_optPrecedence___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Syntax_cat___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Syntax_cat___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Syntax_cat___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Syntax_cat___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Syntax_cat___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Syntax_cat___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Syntax_cat___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-lean_inc(x_1);
-x_11 = l_Lean_Parser_ident___elambda__1(x_1, x_7);
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15;
-x_13 = l_Lean_Parser_optPrecedence___elambda__1(x_1, x_11);
-x_14 = l_Lean_Parser_Syntax_cat___elambda__1___closed__2;
-x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
-return x_15;
-}
-else
-{
-lean_object* x_16; lean_object* x_17;
-lean_dec(x_12);
-lean_dec(x_1);
-x_16 = l_Lean_Parser_Syntax_cat___elambda__1___closed__2;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_11, x_16, x_10);
-return x_17;
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Syntax_cat___elambda__1___closed__7;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-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_2, 0);
-lean_inc(x_18);
-x_19 = lean_array_get_size(x_18);
-lean_dec(x_18);
-x_20 = lean_ctor_get(x_2, 1);
-lean_inc(x_20);
-lean_inc(x_1);
-x_21 = lean_apply_2(x_4, x_1, x_2);
-x_22 = lean_ctor_get(x_21, 3);
-lean_inc(x_22);
-if (lean_obj_tag(x_22) == 0)
-{
-lean_dec(x_20);
-lean_dec(x_19);
-lean_dec(x_1);
-return x_21;
-}
-else
-{
-lean_object* x_23; lean_object* x_24; uint8_t x_25;
-x_23 = lean_ctor_get(x_22, 0);
-lean_inc(x_23);
-lean_dec(x_22);
-x_24 = lean_ctor_get(x_21, 1);
-lean_inc(x_24);
-x_25 = lean_nat_dec_eq(x_24, x_20);
-lean_dec(x_24);
-if (x_25 == 0)
-{
-lean_dec(x_23);
-lean_dec(x_20);
-lean_dec(x_19);
-lean_dec(x_1);
-return x_21;
-}
-else
-{
-lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29;
-lean_inc(x_20);
-x_26 = l_Lean_Parser_ParserState_restore(x_21, x_19, x_20);
-lean_dec(x_19);
-x_27 = lean_unsigned_to_nat(1024u);
-x_28 = l_Lean_Parser_checkPrecFn(x_27, x_1, x_26);
-x_29 = lean_ctor_get(x_28, 3);
-lean_inc(x_29);
-if (lean_obj_tag(x_29) == 0)
-{
-lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
-x_30 = lean_ctor_get(x_28, 0);
-lean_inc(x_30);
-x_31 = lean_array_get_size(x_30);
-lean_dec(x_30);
-lean_inc(x_1);
-x_32 = l_Lean_Parser_ident___elambda__1(x_1, x_28);
-x_33 = lean_ctor_get(x_32, 3);
-lean_inc(x_33);
-if (lean_obj_tag(x_33) == 0)
-{
-lean_object* x_34; lean_object* x_35; lean_object* x_36; uint8_t x_37; lean_object* x_38;
-x_34 = l_Lean_Parser_optPrecedence___elambda__1(x_1, x_32);
-x_35 = l_Lean_Parser_Syntax_cat___elambda__1___closed__2;
-x_36 = l_Lean_Parser_ParserState_mkNode(x_34, x_35, x_31);
-x_37 = 1;
-x_38 = l_Lean_Parser_mergeOrElseErrors(x_36, x_23, x_20, x_37);
-lean_dec(x_20);
-return x_38;
-}
-else
-{
-lean_object* x_39; lean_object* x_40; uint8_t x_41; lean_object* x_42;
-lean_dec(x_33);
-lean_dec(x_1);
-x_39 = l_Lean_Parser_Syntax_cat___elambda__1___closed__2;
-x_40 = l_Lean_Parser_ParserState_mkNode(x_32, x_39, x_31);
-x_41 = 1;
-x_42 = l_Lean_Parser_mergeOrElseErrors(x_40, x_23, x_20, x_41);
-lean_dec(x_20);
-return x_42;
-}
-}
-else
-{
-uint8_t x_43; lean_object* x_44;
-lean_dec(x_29);
-lean_dec(x_1);
-x_43 = 1;
-x_44 = l_Lean_Parser_mergeOrElseErrors(x_28, x_23, x_20, x_43);
-lean_dec(x_20);
-return x_44;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Syntax_cat___closed__1() {
_start:
{
@@ -4277,121 +3395,43 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Syntax_atom___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Syntax_atom___elambda__1___closed__2;
+x_2 = l_Lean_Parser_strLit___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Syntax_atom___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Syntax_atom___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Syntax_atom___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Syntax_atom___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_11 = l_Lean_Parser_strLit___elambda__1(x_1, x_7);
-x_12 = l_Lean_Parser_Syntax_atom___elambda__1___closed__2;
-x_13 = l_Lean_Parser_ParserState_mkNode(x_11, x_12, x_10);
-return x_13;
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Syntax_atom___elambda__1___closed__6;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
-x_14 = lean_ctor_get(x_2, 0);
-lean_inc(x_14);
-x_15 = lean_array_get_size(x_14);
-lean_dec(x_14);
-x_16 = lean_ctor_get(x_2, 1);
-lean_inc(x_16);
-lean_inc(x_1);
-x_17 = lean_apply_2(x_4, x_1, x_2);
-x_18 = lean_ctor_get(x_17, 3);
-lean_inc(x_18);
-if (lean_obj_tag(x_18) == 0)
-{
-lean_dec(x_16);
-lean_dec(x_15);
-lean_dec(x_1);
-return x_17;
-}
-else
-{
-lean_object* x_19; lean_object* x_20; uint8_t x_21;
-x_19 = lean_ctor_get(x_18, 0);
-lean_inc(x_19);
-lean_dec(x_18);
-x_20 = lean_ctor_get(x_17, 1);
-lean_inc(x_20);
-x_21 = lean_nat_dec_eq(x_20, x_16);
-lean_dec(x_20);
-if (x_21 == 0)
-{
-lean_dec(x_19);
-lean_dec(x_16);
-lean_dec(x_15);
-lean_dec(x_1);
-return x_17;
-}
-else
-{
-lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25;
-lean_inc(x_16);
-x_22 = l_Lean_Parser_ParserState_restore(x_17, x_15, x_16);
-lean_dec(x_15);
-x_23 = lean_unsigned_to_nat(1024u);
-x_24 = l_Lean_Parser_checkPrecFn(x_23, x_1, x_22);
-x_25 = lean_ctor_get(x_24, 3);
-lean_inc(x_25);
-if (lean_obj_tag(x_25) == 0)
-{
-lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31; lean_object* x_32;
-x_26 = lean_ctor_get(x_24, 0);
-lean_inc(x_26);
-x_27 = lean_array_get_size(x_26);
-lean_dec(x_26);
-x_28 = l_Lean_Parser_strLit___elambda__1(x_1, x_24);
-x_29 = l_Lean_Parser_Syntax_atom___elambda__1___closed__2;
-x_30 = l_Lean_Parser_ParserState_mkNode(x_28, x_29, x_27);
-x_31 = 1;
-x_32 = l_Lean_Parser_mergeOrElseErrors(x_30, x_19, x_16, x_31);
-lean_dec(x_16);
-return x_32;
-}
-else
-{
-uint8_t x_33; lean_object* x_34;
-lean_dec(x_25);
-lean_dec(x_1);
-x_33 = 1;
-x_34 = l_Lean_Parser_mergeOrElseErrors(x_24, x_19, x_16, x_33);
-lean_dec(x_16);
-return x_34;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Syntax_atom___closed__1() {
_start:
{
@@ -4624,142 +3664,50 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Syntax_num___elambda__1___closed__5() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Syntax_num___elambda__1___closed__4;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Syntax_num___elambda__1___closed__4;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbolFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Syntax_num___elambda__1___closed__6() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Syntax_num___elambda__1___closed__5;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Syntax_num___elambda__1___closed__1;
+x_2 = l_Lean_Parser_Syntax_num___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Syntax_num___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Syntax_num___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
lean_object* l_Lean_Parser_Syntax_num___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Syntax_num___elambda__1___closed__3;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-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;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_11 = l_Lean_Parser_Syntax_num___elambda__1___closed__4;
-x_12 = l_Lean_Parser_Syntax_num___elambda__1___closed__6;
-x_13 = l_Lean_Parser_nonReservedSymbolFnAux(x_11, x_12, x_1, x_7);
-x_14 = l_Lean_Parser_Syntax_num___elambda__1___closed__1;
-x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
-return x_15;
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Syntax_num___elambda__1___closed__7;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
-x_16 = lean_ctor_get(x_2, 0);
-lean_inc(x_16);
-x_17 = lean_array_get_size(x_16);
-lean_dec(x_16);
-x_18 = lean_ctor_get(x_2, 1);
-lean_inc(x_18);
-lean_inc(x_1);
-x_19 = lean_apply_2(x_4, x_1, x_2);
-x_20 = lean_ctor_get(x_19, 3);
-lean_inc(x_20);
-if (lean_obj_tag(x_20) == 0)
-{
-lean_dec(x_18);
-lean_dec(x_17);
-lean_dec(x_1);
-return x_19;
-}
-else
-{
-lean_object* x_21; lean_object* x_22; uint8_t x_23;
-x_21 = lean_ctor_get(x_20, 0);
-lean_inc(x_21);
-lean_dec(x_20);
-x_22 = lean_ctor_get(x_19, 1);
-lean_inc(x_22);
-x_23 = lean_nat_dec_eq(x_22, x_18);
-lean_dec(x_22);
-if (x_23 == 0)
-{
-lean_dec(x_21);
-lean_dec(x_18);
-lean_dec(x_17);
-lean_dec(x_1);
-return x_19;
-}
-else
-{
-lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
-lean_inc(x_18);
-x_24 = l_Lean_Parser_ParserState_restore(x_19, x_17, x_18);
-lean_dec(x_17);
-x_25 = lean_unsigned_to_nat(1024u);
-x_26 = l_Lean_Parser_checkPrecFn(x_25, x_1, x_24);
-x_27 = lean_ctor_get(x_26, 3);
-lean_inc(x_27);
-if (lean_obj_tag(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; uint8_t x_35; lean_object* x_36;
-x_28 = lean_ctor_get(x_26, 0);
-lean_inc(x_28);
-x_29 = lean_array_get_size(x_28);
-lean_dec(x_28);
-x_30 = l_Lean_Parser_Syntax_num___elambda__1___closed__4;
-x_31 = l_Lean_Parser_Syntax_num___elambda__1___closed__6;
-x_32 = l_Lean_Parser_nonReservedSymbolFnAux(x_30, x_31, x_1, x_26);
-x_33 = l_Lean_Parser_Syntax_num___elambda__1___closed__1;
-x_34 = l_Lean_Parser_ParserState_mkNode(x_32, x_33, x_29);
-x_35 = 1;
-x_36 = l_Lean_Parser_mergeOrElseErrors(x_34, x_21, x_18, x_35);
-lean_dec(x_18);
-return x_36;
-}
-else
-{
-uint8_t x_37; lean_object* x_38;
-lean_dec(x_27);
-lean_dec(x_1);
-x_37 = 1;
-x_38 = l_Lean_Parser_mergeOrElseErrors(x_26, x_21, x_18, x_37);
-lean_dec(x_18);
-return x_38;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Syntax_num___closed__1() {
_start:
{
@@ -5010,142 +3958,50 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Syntax_str___elambda__1___closed__5() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Syntax_str___elambda__1___closed__4;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Syntax_str___elambda__1___closed__4;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbolFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Syntax_str___elambda__1___closed__6() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Syntax_str___elambda__1___closed__5;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Syntax_str___elambda__1___closed__1;
+x_2 = l_Lean_Parser_Syntax_str___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Syntax_str___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Syntax_str___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
lean_object* l_Lean_Parser_Syntax_str___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Syntax_str___elambda__1___closed__3;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-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;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_11 = l_Lean_Parser_Syntax_str___elambda__1___closed__4;
-x_12 = l_Lean_Parser_Syntax_str___elambda__1___closed__6;
-x_13 = l_Lean_Parser_nonReservedSymbolFnAux(x_11, x_12, x_1, x_7);
-x_14 = l_Lean_Parser_Syntax_str___elambda__1___closed__1;
-x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
-return x_15;
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Syntax_str___elambda__1___closed__7;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
-x_16 = lean_ctor_get(x_2, 0);
-lean_inc(x_16);
-x_17 = lean_array_get_size(x_16);
-lean_dec(x_16);
-x_18 = lean_ctor_get(x_2, 1);
-lean_inc(x_18);
-lean_inc(x_1);
-x_19 = lean_apply_2(x_4, x_1, x_2);
-x_20 = lean_ctor_get(x_19, 3);
-lean_inc(x_20);
-if (lean_obj_tag(x_20) == 0)
-{
-lean_dec(x_18);
-lean_dec(x_17);
-lean_dec(x_1);
-return x_19;
-}
-else
-{
-lean_object* x_21; lean_object* x_22; uint8_t x_23;
-x_21 = lean_ctor_get(x_20, 0);
-lean_inc(x_21);
-lean_dec(x_20);
-x_22 = lean_ctor_get(x_19, 1);
-lean_inc(x_22);
-x_23 = lean_nat_dec_eq(x_22, x_18);
-lean_dec(x_22);
-if (x_23 == 0)
-{
-lean_dec(x_21);
-lean_dec(x_18);
-lean_dec(x_17);
-lean_dec(x_1);
-return x_19;
-}
-else
-{
-lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
-lean_inc(x_18);
-x_24 = l_Lean_Parser_ParserState_restore(x_19, x_17, x_18);
-lean_dec(x_17);
-x_25 = lean_unsigned_to_nat(1024u);
-x_26 = l_Lean_Parser_checkPrecFn(x_25, x_1, x_24);
-x_27 = lean_ctor_get(x_26, 3);
-lean_inc(x_27);
-if (lean_obj_tag(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; uint8_t x_35; lean_object* x_36;
-x_28 = lean_ctor_get(x_26, 0);
-lean_inc(x_28);
-x_29 = lean_array_get_size(x_28);
-lean_dec(x_28);
-x_30 = l_Lean_Parser_Syntax_str___elambda__1___closed__4;
-x_31 = l_Lean_Parser_Syntax_str___elambda__1___closed__6;
-x_32 = l_Lean_Parser_nonReservedSymbolFnAux(x_30, x_31, x_1, x_26);
-x_33 = l_Lean_Parser_Syntax_str___elambda__1___closed__1;
-x_34 = l_Lean_Parser_ParserState_mkNode(x_32, x_33, x_29);
-x_35 = 1;
-x_36 = l_Lean_Parser_mergeOrElseErrors(x_34, x_21, x_18, x_35);
-lean_dec(x_18);
-return x_36;
-}
-else
-{
-uint8_t x_37; lean_object* x_38;
-lean_dec(x_27);
-lean_dec(x_1);
-x_37 = 1;
-x_38 = l_Lean_Parser_mergeOrElseErrors(x_26, x_21, x_18, x_37);
-lean_dec(x_18);
-return x_38;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Syntax_str___closed__1() {
_start:
{
@@ -5396,142 +4252,50 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Syntax_char___elambda__1___closed__5() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Syntax_char___elambda__1___closed__4;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Syntax_char___elambda__1___closed__4;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbolFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Syntax_char___elambda__1___closed__6() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Syntax_char___elambda__1___closed__5;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Syntax_char___elambda__1___closed__1;
+x_2 = l_Lean_Parser_Syntax_char___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Syntax_char___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Syntax_char___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
lean_object* l_Lean_Parser_Syntax_char___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Syntax_char___elambda__1___closed__3;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-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;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_11 = l_Lean_Parser_Syntax_char___elambda__1___closed__4;
-x_12 = l_Lean_Parser_Syntax_char___elambda__1___closed__6;
-x_13 = l_Lean_Parser_nonReservedSymbolFnAux(x_11, x_12, x_1, x_7);
-x_14 = l_Lean_Parser_Syntax_char___elambda__1___closed__1;
-x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
-return x_15;
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Syntax_char___elambda__1___closed__7;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
-x_16 = lean_ctor_get(x_2, 0);
-lean_inc(x_16);
-x_17 = lean_array_get_size(x_16);
-lean_dec(x_16);
-x_18 = lean_ctor_get(x_2, 1);
-lean_inc(x_18);
-lean_inc(x_1);
-x_19 = lean_apply_2(x_4, x_1, x_2);
-x_20 = lean_ctor_get(x_19, 3);
-lean_inc(x_20);
-if (lean_obj_tag(x_20) == 0)
-{
-lean_dec(x_18);
-lean_dec(x_17);
-lean_dec(x_1);
-return x_19;
-}
-else
-{
-lean_object* x_21; lean_object* x_22; uint8_t x_23;
-x_21 = lean_ctor_get(x_20, 0);
-lean_inc(x_21);
-lean_dec(x_20);
-x_22 = lean_ctor_get(x_19, 1);
-lean_inc(x_22);
-x_23 = lean_nat_dec_eq(x_22, x_18);
-lean_dec(x_22);
-if (x_23 == 0)
-{
-lean_dec(x_21);
-lean_dec(x_18);
-lean_dec(x_17);
-lean_dec(x_1);
-return x_19;
-}
-else
-{
-lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
-lean_inc(x_18);
-x_24 = l_Lean_Parser_ParserState_restore(x_19, x_17, x_18);
-lean_dec(x_17);
-x_25 = lean_unsigned_to_nat(1024u);
-x_26 = l_Lean_Parser_checkPrecFn(x_25, x_1, x_24);
-x_27 = lean_ctor_get(x_26, 3);
-lean_inc(x_27);
-if (lean_obj_tag(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; uint8_t x_35; lean_object* x_36;
-x_28 = lean_ctor_get(x_26, 0);
-lean_inc(x_28);
-x_29 = lean_array_get_size(x_28);
-lean_dec(x_28);
-x_30 = l_Lean_Parser_Syntax_char___elambda__1___closed__4;
-x_31 = l_Lean_Parser_Syntax_char___elambda__1___closed__6;
-x_32 = l_Lean_Parser_nonReservedSymbolFnAux(x_30, x_31, x_1, x_26);
-x_33 = l_Lean_Parser_Syntax_char___elambda__1___closed__1;
-x_34 = l_Lean_Parser_ParserState_mkNode(x_32, x_33, x_29);
-x_35 = 1;
-x_36 = l_Lean_Parser_mergeOrElseErrors(x_34, x_21, x_18, x_35);
-lean_dec(x_18);
-return x_36;
-}
-else
-{
-uint8_t x_37; lean_object* x_38;
-lean_dec(x_27);
-lean_dec(x_1);
-x_37 = 1;
-x_38 = l_Lean_Parser_mergeOrElseErrors(x_26, x_21, x_18, x_37);
-lean_dec(x_18);
-return x_38;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Syntax_char___closed__1() {
_start:
{
@@ -5782,142 +4546,50 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Syntax_ident___elambda__1___closed__5() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Syntax_ident___elambda__1___closed__4;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Syntax_ident___elambda__1___closed__4;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbolFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Syntax_ident___elambda__1___closed__6() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Syntax_ident___elambda__1___closed__5;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Syntax_ident___elambda__1___closed__1;
+x_2 = l_Lean_Parser_Syntax_ident___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Syntax_ident___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Syntax_ident___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
lean_object* l_Lean_Parser_Syntax_ident___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Syntax_ident___elambda__1___closed__3;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-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;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_11 = l_Lean_Parser_Syntax_ident___elambda__1___closed__4;
-x_12 = l_Lean_Parser_Syntax_ident___elambda__1___closed__6;
-x_13 = l_Lean_Parser_nonReservedSymbolFnAux(x_11, x_12, x_1, x_7);
-x_14 = l_Lean_Parser_Syntax_ident___elambda__1___closed__1;
-x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
-return x_15;
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Syntax_ident___elambda__1___closed__7;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
-x_16 = lean_ctor_get(x_2, 0);
-lean_inc(x_16);
-x_17 = lean_array_get_size(x_16);
-lean_dec(x_16);
-x_18 = lean_ctor_get(x_2, 1);
-lean_inc(x_18);
-lean_inc(x_1);
-x_19 = lean_apply_2(x_4, x_1, x_2);
-x_20 = lean_ctor_get(x_19, 3);
-lean_inc(x_20);
-if (lean_obj_tag(x_20) == 0)
-{
-lean_dec(x_18);
-lean_dec(x_17);
-lean_dec(x_1);
-return x_19;
-}
-else
-{
-lean_object* x_21; lean_object* x_22; uint8_t x_23;
-x_21 = lean_ctor_get(x_20, 0);
-lean_inc(x_21);
-lean_dec(x_20);
-x_22 = lean_ctor_get(x_19, 1);
-lean_inc(x_22);
-x_23 = lean_nat_dec_eq(x_22, x_18);
-lean_dec(x_22);
-if (x_23 == 0)
-{
-lean_dec(x_21);
-lean_dec(x_18);
-lean_dec(x_17);
-lean_dec(x_1);
-return x_19;
-}
-else
-{
-lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
-lean_inc(x_18);
-x_24 = l_Lean_Parser_ParserState_restore(x_19, x_17, x_18);
-lean_dec(x_17);
-x_25 = lean_unsigned_to_nat(1024u);
-x_26 = l_Lean_Parser_checkPrecFn(x_25, x_1, x_24);
-x_27 = lean_ctor_get(x_26, 3);
-lean_inc(x_27);
-if (lean_obj_tag(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; uint8_t x_35; lean_object* x_36;
-x_28 = lean_ctor_get(x_26, 0);
-lean_inc(x_28);
-x_29 = lean_array_get_size(x_28);
-lean_dec(x_28);
-x_30 = l_Lean_Parser_Syntax_ident___elambda__1___closed__4;
-x_31 = l_Lean_Parser_Syntax_ident___elambda__1___closed__6;
-x_32 = l_Lean_Parser_nonReservedSymbolFnAux(x_30, x_31, x_1, x_26);
-x_33 = l_Lean_Parser_Syntax_ident___elambda__1___closed__1;
-x_34 = l_Lean_Parser_ParserState_mkNode(x_32, x_33, x_29);
-x_35 = 1;
-x_36 = l_Lean_Parser_mergeOrElseErrors(x_34, x_21, x_18, x_35);
-lean_dec(x_18);
-return x_36;
-}
-else
-{
-uint8_t x_37; lean_object* x_38;
-lean_dec(x_27);
-lean_dec(x_1);
-x_37 = 1;
-x_38 = l_Lean_Parser_mergeOrElseErrors(x_26, x_21, x_18, x_37);
-lean_dec(x_18);
-return x_38;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Syntax_ident___closed__1() {
_start:
{
@@ -6176,142 +4848,50 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Syntax_noWs___elambda__1___closed__6() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Syntax_noWs___elambda__1___closed__5;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Syntax_noWs___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbolFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Syntax_noWs___elambda__1___closed__7() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Syntax_noWs___elambda__1___closed__6;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Syntax_noWs___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Syntax_noWs___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Syntax_noWs___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Syntax_noWs___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
lean_object* l_Lean_Parser_Syntax_noWs___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Syntax_noWs___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-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;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_11 = l_Lean_Parser_Syntax_noWs___elambda__1___closed__5;
-x_12 = l_Lean_Parser_Syntax_noWs___elambda__1___closed__7;
-x_13 = l_Lean_Parser_nonReservedSymbolFnAux(x_11, x_12, x_1, x_7);
-x_14 = l_Lean_Parser_Syntax_noWs___elambda__1___closed__2;
-x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
-return x_15;
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Syntax_noWs___elambda__1___closed__8;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
-x_16 = lean_ctor_get(x_2, 0);
-lean_inc(x_16);
-x_17 = lean_array_get_size(x_16);
-lean_dec(x_16);
-x_18 = lean_ctor_get(x_2, 1);
-lean_inc(x_18);
-lean_inc(x_1);
-x_19 = lean_apply_2(x_4, x_1, x_2);
-x_20 = lean_ctor_get(x_19, 3);
-lean_inc(x_20);
-if (lean_obj_tag(x_20) == 0)
-{
-lean_dec(x_18);
-lean_dec(x_17);
-lean_dec(x_1);
-return x_19;
-}
-else
-{
-lean_object* x_21; lean_object* x_22; uint8_t x_23;
-x_21 = lean_ctor_get(x_20, 0);
-lean_inc(x_21);
-lean_dec(x_20);
-x_22 = lean_ctor_get(x_19, 1);
-lean_inc(x_22);
-x_23 = lean_nat_dec_eq(x_22, x_18);
-lean_dec(x_22);
-if (x_23 == 0)
-{
-lean_dec(x_21);
-lean_dec(x_18);
-lean_dec(x_17);
-lean_dec(x_1);
-return x_19;
-}
-else
-{
-lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
-lean_inc(x_18);
-x_24 = l_Lean_Parser_ParserState_restore(x_19, x_17, x_18);
-lean_dec(x_17);
-x_25 = lean_unsigned_to_nat(1024u);
-x_26 = l_Lean_Parser_checkPrecFn(x_25, x_1, x_24);
-x_27 = lean_ctor_get(x_26, 3);
-lean_inc(x_27);
-if (lean_obj_tag(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; uint8_t x_35; lean_object* x_36;
-x_28 = lean_ctor_get(x_26, 0);
-lean_inc(x_28);
-x_29 = lean_array_get_size(x_28);
-lean_dec(x_28);
-x_30 = l_Lean_Parser_Syntax_noWs___elambda__1___closed__5;
-x_31 = l_Lean_Parser_Syntax_noWs___elambda__1___closed__7;
-x_32 = l_Lean_Parser_nonReservedSymbolFnAux(x_30, x_31, x_1, x_26);
-x_33 = l_Lean_Parser_Syntax_noWs___elambda__1___closed__2;
-x_34 = l_Lean_Parser_ParserState_mkNode(x_32, x_33, x_29);
-x_35 = 1;
-x_36 = l_Lean_Parser_mergeOrElseErrors(x_34, x_21, x_18, x_35);
-lean_dec(x_18);
-return x_36;
-}
-else
-{
-uint8_t x_37; lean_object* x_38;
-lean_dec(x_27);
-lean_dec(x_1);
-x_37 = 1;
-x_38 = l_Lean_Parser_mergeOrElseErrors(x_26, x_21, x_18, x_37);
-lean_dec(x_18);
-return x_38;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Syntax_noWs___closed__1() {
_start:
{
@@ -6570,183 +5150,74 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Syntax_interpolatedStr___elambda__1___closed__6() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Syntax_interpolatedStr___elambda__1___closed__5;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Syntax_interpolatedStr___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbolFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Syntax_interpolatedStr___elambda__1___closed__7() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_categoryParserFnImpl___closed__4;
+x_2 = l_Lean_Parser_maxPrec;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_categoryParser___elambda__1), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Syntax_interpolatedStr___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Syntax_interpolatedStr___elambda__1___closed__6;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_2 = l_Lean_Parser_Syntax_interpolatedStr___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Syntax_interpolatedStr___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Syntax_interpolatedStr___elambda__1___closed__1;
+x_2 = l_Lean_Parser_Syntax_interpolatedStr___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Syntax_interpolatedStr___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Syntax_interpolatedStr___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
lean_object* l_Lean_Parser_Syntax_interpolatedStr___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Syntax_interpolatedStr___elambda__1___closed__3;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_11 = l_Lean_Parser_Syntax_interpolatedStr___elambda__1___closed__5;
-x_12 = l_Lean_Parser_Syntax_interpolatedStr___elambda__1___closed__7;
-lean_inc(x_1);
-x_13 = l_Lean_Parser_nonReservedSymbolFnAux(x_11, x_12, x_1, x_7);
-x_14 = lean_ctor_get(x_13, 3);
-lean_inc(x_14);
-if (lean_obj_tag(x_14) == 0)
-{
-lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
-x_15 = l_Lean_Parser_categoryParserFnImpl___closed__4;
-x_16 = l_Lean_Parser_maxPrec;
-x_17 = l_Lean_Parser_categoryParser___elambda__1(x_15, x_16, x_1, x_13);
-x_18 = l_Lean_Parser_Syntax_interpolatedStr___elambda__1___closed__1;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_10);
-return x_19;
-}
-else
-{
-lean_object* x_20; lean_object* x_21;
-lean_dec(x_14);
-lean_dec(x_1);
-x_20 = l_Lean_Parser_Syntax_interpolatedStr___elambda__1___closed__1;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_13, x_20, x_10);
-return x_21;
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Syntax_interpolatedStr___elambda__1___closed__10;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26;
-x_22 = lean_ctor_get(x_2, 0);
-lean_inc(x_22);
-x_23 = lean_array_get_size(x_22);
-lean_dec(x_22);
-x_24 = lean_ctor_get(x_2, 1);
-lean_inc(x_24);
-lean_inc(x_1);
-x_25 = lean_apply_2(x_4, x_1, x_2);
-x_26 = lean_ctor_get(x_25, 3);
-lean_inc(x_26);
-if (lean_obj_tag(x_26) == 0)
-{
-lean_dec(x_24);
-lean_dec(x_23);
-lean_dec(x_1);
-return x_25;
-}
-else
-{
-lean_object* x_27; lean_object* x_28; uint8_t x_29;
-x_27 = lean_ctor_get(x_26, 0);
-lean_inc(x_27);
-lean_dec(x_26);
-x_28 = lean_ctor_get(x_25, 1);
-lean_inc(x_28);
-x_29 = lean_nat_dec_eq(x_28, x_24);
-lean_dec(x_28);
-if (x_29 == 0)
-{
-lean_dec(x_27);
-lean_dec(x_24);
-lean_dec(x_23);
-lean_dec(x_1);
-return x_25;
-}
-else
-{
-lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
-lean_inc(x_24);
-x_30 = l_Lean_Parser_ParserState_restore(x_25, x_23, x_24);
-lean_dec(x_23);
-x_31 = lean_unsigned_to_nat(1024u);
-x_32 = l_Lean_Parser_checkPrecFn(x_31, x_1, x_30);
-x_33 = lean_ctor_get(x_32, 3);
-lean_inc(x_33);
-if (lean_obj_tag(x_33) == 0)
-{
-lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_34 = lean_ctor_get(x_32, 0);
-lean_inc(x_34);
-x_35 = lean_array_get_size(x_34);
-lean_dec(x_34);
-x_36 = l_Lean_Parser_Syntax_interpolatedStr___elambda__1___closed__5;
-x_37 = l_Lean_Parser_Syntax_interpolatedStr___elambda__1___closed__7;
-lean_inc(x_1);
-x_38 = l_Lean_Parser_nonReservedSymbolFnAux(x_36, x_37, x_1, x_32);
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45; lean_object* x_46;
-x_40 = l_Lean_Parser_categoryParserFnImpl___closed__4;
-x_41 = l_Lean_Parser_maxPrec;
-x_42 = l_Lean_Parser_categoryParser___elambda__1(x_40, x_41, x_1, x_38);
-x_43 = l_Lean_Parser_Syntax_interpolatedStr___elambda__1___closed__1;
-x_44 = l_Lean_Parser_ParserState_mkNode(x_42, x_43, x_35);
-x_45 = 1;
-x_46 = l_Lean_Parser_mergeOrElseErrors(x_44, x_27, x_24, x_45);
-lean_dec(x_24);
-return x_46;
-}
-else
-{
-lean_object* x_47; lean_object* x_48; uint8_t x_49; lean_object* x_50;
-lean_dec(x_39);
-lean_dec(x_1);
-x_47 = l_Lean_Parser_Syntax_interpolatedStr___elambda__1___closed__1;
-x_48 = l_Lean_Parser_ParserState_mkNode(x_38, x_47, x_35);
-x_49 = 1;
-x_50 = l_Lean_Parser_mergeOrElseErrors(x_48, x_27, x_24, x_49);
-lean_dec(x_24);
-return x_50;
-}
-}
-else
-{
-uint8_t x_51; lean_object* x_52;
-lean_dec(x_33);
-lean_dec(x_1);
-x_51 = 1;
-x_52 = l_Lean_Parser_mergeOrElseErrors(x_32, x_27, x_24, x_51);
-lean_dec(x_24);
-return x_52;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Syntax_interpolatedStr___closed__1() {
_start:
{
@@ -7049,166 +5520,65 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Syntax_try___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_doTry___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbolFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Syntax_try___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Syntax_try___elambda__1___closed__5;
+x_2 = l_Lean_Parser_Syntax_interpolatedStr___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Syntax_try___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Syntax_try___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Syntax_try___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Syntax_try___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Syntax_try___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Syntax_try___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Syntax_try___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_11 = l_Lean_Parser_Term_doTry___elambda__1___closed__6;
-x_12 = l_Lean_Parser_Term_doTry___elambda__1___closed__8;
-lean_inc(x_1);
-x_13 = l_Lean_Parser_nonReservedSymbolFnAux(x_11, x_12, x_1, x_7);
-x_14 = lean_ctor_get(x_13, 3);
-lean_inc(x_14);
-if (lean_obj_tag(x_14) == 0)
-{
-lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
-x_15 = l_Lean_Parser_categoryParserFnImpl___closed__4;
-x_16 = l_Lean_Parser_maxPrec;
-x_17 = l_Lean_Parser_categoryParser___elambda__1(x_15, x_16, x_1, x_13);
-x_18 = l_Lean_Parser_Syntax_try___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_10);
-return x_19;
-}
-else
-{
-lean_object* x_20; lean_object* x_21;
-lean_dec(x_14);
-lean_dec(x_1);
-x_20 = l_Lean_Parser_Syntax_try___elambda__1___closed__2;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_13, x_20, x_10);
-return x_21;
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Syntax_try___elambda__1___closed__8;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26;
-x_22 = lean_ctor_get(x_2, 0);
-lean_inc(x_22);
-x_23 = lean_array_get_size(x_22);
-lean_dec(x_22);
-x_24 = lean_ctor_get(x_2, 1);
-lean_inc(x_24);
-lean_inc(x_1);
-x_25 = lean_apply_2(x_4, x_1, x_2);
-x_26 = lean_ctor_get(x_25, 3);
-lean_inc(x_26);
-if (lean_obj_tag(x_26) == 0)
-{
-lean_dec(x_24);
-lean_dec(x_23);
-lean_dec(x_1);
-return x_25;
-}
-else
-{
-lean_object* x_27; lean_object* x_28; uint8_t x_29;
-x_27 = lean_ctor_get(x_26, 0);
-lean_inc(x_27);
-lean_dec(x_26);
-x_28 = lean_ctor_get(x_25, 1);
-lean_inc(x_28);
-x_29 = lean_nat_dec_eq(x_28, x_24);
-lean_dec(x_28);
-if (x_29 == 0)
-{
-lean_dec(x_27);
-lean_dec(x_24);
-lean_dec(x_23);
-lean_dec(x_1);
-return x_25;
-}
-else
-{
-lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
-lean_inc(x_24);
-x_30 = l_Lean_Parser_ParserState_restore(x_25, x_23, x_24);
-lean_dec(x_23);
-x_31 = lean_unsigned_to_nat(1024u);
-x_32 = l_Lean_Parser_checkPrecFn(x_31, x_1, x_30);
-x_33 = lean_ctor_get(x_32, 3);
-lean_inc(x_33);
-if (lean_obj_tag(x_33) == 0)
-{
-lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_34 = lean_ctor_get(x_32, 0);
-lean_inc(x_34);
-x_35 = lean_array_get_size(x_34);
-lean_dec(x_34);
-x_36 = l_Lean_Parser_Term_doTry___elambda__1___closed__6;
-x_37 = l_Lean_Parser_Term_doTry___elambda__1___closed__8;
-lean_inc(x_1);
-x_38 = l_Lean_Parser_nonReservedSymbolFnAux(x_36, x_37, x_1, x_32);
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45; lean_object* x_46;
-x_40 = l_Lean_Parser_categoryParserFnImpl___closed__4;
-x_41 = l_Lean_Parser_maxPrec;
-x_42 = l_Lean_Parser_categoryParser___elambda__1(x_40, x_41, x_1, x_38);
-x_43 = l_Lean_Parser_Syntax_try___elambda__1___closed__2;
-x_44 = l_Lean_Parser_ParserState_mkNode(x_42, x_43, x_35);
-x_45 = 1;
-x_46 = l_Lean_Parser_mergeOrElseErrors(x_44, x_27, x_24, x_45);
-lean_dec(x_24);
-return x_46;
-}
-else
-{
-lean_object* x_47; lean_object* x_48; uint8_t x_49; lean_object* x_50;
-lean_dec(x_39);
-lean_dec(x_1);
-x_47 = l_Lean_Parser_Syntax_try___elambda__1___closed__2;
-x_48 = l_Lean_Parser_ParserState_mkNode(x_38, x_47, x_35);
-x_49 = 1;
-x_50 = l_Lean_Parser_mergeOrElseErrors(x_48, x_27, x_24, x_49);
-lean_dec(x_24);
-return x_50;
-}
-}
-else
-{
-uint8_t x_51; lean_object* x_52;
-lean_dec(x_33);
-lean_dec(x_1);
-x_51 = 1;
-x_52 = l_Lean_Parser_mergeOrElseErrors(x_32, x_27, x_24, x_51);
-lean_dec(x_24);
-return x_52;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Syntax_try___closed__1() {
_start:
{
@@ -7499,11 +5869,11 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Syntax_lookahead___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Syntax_lookahead___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Syntax_lookahead___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbolFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Syntax_lookahead___elambda__1___closed__8() {
@@ -7511,171 +5881,50 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Syntax_lookahead___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_2 = l_Lean_Parser_Syntax_interpolatedStr___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Syntax_lookahead___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Syntax_lookahead___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Syntax_lookahead___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Syntax_lookahead___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Syntax_lookahead___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
lean_object* l_Lean_Parser_Syntax_lookahead___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Syntax_lookahead___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_11 = l_Lean_Parser_Syntax_lookahead___elambda__1___closed__6;
-x_12 = l_Lean_Parser_Syntax_lookahead___elambda__1___closed__8;
-lean_inc(x_1);
-x_13 = l_Lean_Parser_nonReservedSymbolFnAux(x_11, x_12, x_1, x_7);
-x_14 = lean_ctor_get(x_13, 3);
-lean_inc(x_14);
-if (lean_obj_tag(x_14) == 0)
-{
-lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
-x_15 = l_Lean_Parser_categoryParserFnImpl___closed__4;
-x_16 = l_Lean_Parser_maxPrec;
-x_17 = l_Lean_Parser_categoryParser___elambda__1(x_15, x_16, x_1, x_13);
-x_18 = l_Lean_Parser_Syntax_lookahead___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_10);
-return x_19;
-}
-else
-{
-lean_object* x_20; lean_object* x_21;
-lean_dec(x_14);
-lean_dec(x_1);
-x_20 = l_Lean_Parser_Syntax_lookahead___elambda__1___closed__2;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_13, x_20, x_10);
-return x_21;
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Syntax_lookahead___elambda__1___closed__10;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26;
-x_22 = lean_ctor_get(x_2, 0);
-lean_inc(x_22);
-x_23 = lean_array_get_size(x_22);
-lean_dec(x_22);
-x_24 = lean_ctor_get(x_2, 1);
-lean_inc(x_24);
-lean_inc(x_1);
-x_25 = lean_apply_2(x_4, x_1, x_2);
-x_26 = lean_ctor_get(x_25, 3);
-lean_inc(x_26);
-if (lean_obj_tag(x_26) == 0)
-{
-lean_dec(x_24);
-lean_dec(x_23);
-lean_dec(x_1);
-return x_25;
-}
-else
-{
-lean_object* x_27; lean_object* x_28; uint8_t x_29;
-x_27 = lean_ctor_get(x_26, 0);
-lean_inc(x_27);
-lean_dec(x_26);
-x_28 = lean_ctor_get(x_25, 1);
-lean_inc(x_28);
-x_29 = lean_nat_dec_eq(x_28, x_24);
-lean_dec(x_28);
-if (x_29 == 0)
-{
-lean_dec(x_27);
-lean_dec(x_24);
-lean_dec(x_23);
-lean_dec(x_1);
-return x_25;
-}
-else
-{
-lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
-lean_inc(x_24);
-x_30 = l_Lean_Parser_ParserState_restore(x_25, x_23, x_24);
-lean_dec(x_23);
-x_31 = lean_unsigned_to_nat(1024u);
-x_32 = l_Lean_Parser_checkPrecFn(x_31, x_1, x_30);
-x_33 = lean_ctor_get(x_32, 3);
-lean_inc(x_33);
-if (lean_obj_tag(x_33) == 0)
-{
-lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_34 = lean_ctor_get(x_32, 0);
-lean_inc(x_34);
-x_35 = lean_array_get_size(x_34);
-lean_dec(x_34);
-x_36 = l_Lean_Parser_Syntax_lookahead___elambda__1___closed__6;
-x_37 = l_Lean_Parser_Syntax_lookahead___elambda__1___closed__8;
-lean_inc(x_1);
-x_38 = l_Lean_Parser_nonReservedSymbolFnAux(x_36, x_37, x_1, x_32);
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45; lean_object* x_46;
-x_40 = l_Lean_Parser_categoryParserFnImpl___closed__4;
-x_41 = l_Lean_Parser_maxPrec;
-x_42 = l_Lean_Parser_categoryParser___elambda__1(x_40, x_41, x_1, x_38);
-x_43 = l_Lean_Parser_Syntax_lookahead___elambda__1___closed__2;
-x_44 = l_Lean_Parser_ParserState_mkNode(x_42, x_43, x_35);
-x_45 = 1;
-x_46 = l_Lean_Parser_mergeOrElseErrors(x_44, x_27, x_24, x_45);
-lean_dec(x_24);
-return x_46;
-}
-else
-{
-lean_object* x_47; lean_object* x_48; uint8_t x_49; lean_object* x_50;
-lean_dec(x_39);
-lean_dec(x_1);
-x_47 = l_Lean_Parser_Syntax_lookahead___elambda__1___closed__2;
-x_48 = l_Lean_Parser_ParserState_mkNode(x_38, x_47, x_35);
-x_49 = 1;
-x_50 = l_Lean_Parser_mergeOrElseErrors(x_48, x_27, x_24, x_49);
-lean_dec(x_24);
-return x_50;
-}
-}
-else
-{
-uint8_t x_51; lean_object* x_52;
-lean_dec(x_33);
-lean_dec(x_1);
-x_51 = 1;
-x_52 = l_Lean_Parser_mergeOrElseErrors(x_32, x_27, x_24, x_51);
-lean_dec(x_24);
-return x_52;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Syntax_lookahead___closed__1() {
_start:
{
@@ -7966,220 +6215,73 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Syntax_sepBy___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Syntax_sepBy___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Syntax_sepBy___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbolFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Syntax_sepBy___elambda__1___closed__8() {
_start:
{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Syntax_interpolatedStr___elambda__1___closed__7;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_2, 0, x_1);
+lean_closure_set(x_2, 1, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Syntax_sepBy___elambda__1___closed__9() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Syntax_sepBy___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_2 = l_Lean_Parser_Syntax_sepBy___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Syntax_sepBy___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Syntax_sepBy___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Syntax_sepBy___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Syntax_sepBy___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Syntax_sepBy___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
lean_object* l_Lean_Parser_Syntax_sepBy___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Syntax_sepBy___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_11 = l_Lean_Parser_Syntax_sepBy___elambda__1___closed__6;
-x_12 = l_Lean_Parser_Syntax_sepBy___elambda__1___closed__8;
-lean_inc(x_1);
-x_13 = l_Lean_Parser_nonReservedSymbolFnAux(x_11, x_12, x_1, x_7);
-x_14 = lean_ctor_get(x_13, 3);
-lean_inc(x_14);
-if (lean_obj_tag(x_14) == 0)
-{
-lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
-x_15 = l_Lean_Parser_categoryParserFnImpl___closed__4;
-x_16 = l_Lean_Parser_maxPrec;
-lean_inc(x_1);
-x_17 = l_Lean_Parser_categoryParser___elambda__1(x_15, x_16, x_1, x_13);
-x_18 = lean_ctor_get(x_17, 3);
-lean_inc(x_18);
-if (lean_obj_tag(x_18) == 0)
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21;
-x_19 = l_Lean_Parser_categoryParser___elambda__1(x_15, x_16, x_1, x_17);
-x_20 = l_Lean_Parser_Syntax_sepBy___elambda__1___closed__2;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_10);
-return x_21;
-}
-else
-{
-lean_object* x_22; lean_object* x_23;
-lean_dec(x_18);
-lean_dec(x_1);
-x_22 = l_Lean_Parser_Syntax_sepBy___elambda__1___closed__2;
-x_23 = l_Lean_Parser_ParserState_mkNode(x_17, x_22, x_10);
-return x_23;
-}
-}
-else
-{
-lean_object* x_24; lean_object* x_25;
-lean_dec(x_14);
-lean_dec(x_1);
-x_24 = l_Lean_Parser_Syntax_sepBy___elambda__1___closed__2;
-x_25 = l_Lean_Parser_ParserState_mkNode(x_13, x_24, x_10);
-return x_25;
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Syntax_sepBy___elambda__1___closed__11;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30;
-x_26 = lean_ctor_get(x_2, 0);
-lean_inc(x_26);
-x_27 = lean_array_get_size(x_26);
-lean_dec(x_26);
-x_28 = lean_ctor_get(x_2, 1);
-lean_inc(x_28);
-lean_inc(x_1);
-x_29 = lean_apply_2(x_4, x_1, x_2);
-x_30 = lean_ctor_get(x_29, 3);
-lean_inc(x_30);
-if (lean_obj_tag(x_30) == 0)
-{
-lean_dec(x_28);
-lean_dec(x_27);
-lean_dec(x_1);
-return x_29;
-}
-else
-{
-lean_object* x_31; lean_object* x_32; uint8_t x_33;
-x_31 = lean_ctor_get(x_30, 0);
-lean_inc(x_31);
-lean_dec(x_30);
-x_32 = lean_ctor_get(x_29, 1);
-lean_inc(x_32);
-x_33 = lean_nat_dec_eq(x_32, x_28);
-lean_dec(x_32);
-if (x_33 == 0)
-{
-lean_dec(x_31);
-lean_dec(x_28);
-lean_dec(x_27);
-lean_dec(x_1);
-return x_29;
-}
-else
-{
-lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-lean_inc(x_28);
-x_34 = l_Lean_Parser_ParserState_restore(x_29, x_27, x_28);
-lean_dec(x_27);
-x_35 = lean_unsigned_to_nat(1024u);
-x_36 = l_Lean_Parser_checkPrecFn(x_35, x_1, x_34);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43;
-x_38 = lean_ctor_get(x_36, 0);
-lean_inc(x_38);
-x_39 = lean_array_get_size(x_38);
-lean_dec(x_38);
-x_40 = l_Lean_Parser_Syntax_sepBy___elambda__1___closed__6;
-x_41 = l_Lean_Parser_Syntax_sepBy___elambda__1___closed__8;
-lean_inc(x_1);
-x_42 = l_Lean_Parser_nonReservedSymbolFnAux(x_40, x_41, x_1, x_36);
-x_43 = lean_ctor_get(x_42, 3);
-lean_inc(x_43);
-if (lean_obj_tag(x_43) == 0)
-{
-lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47;
-x_44 = l_Lean_Parser_categoryParserFnImpl___closed__4;
-x_45 = l_Lean_Parser_maxPrec;
-lean_inc(x_1);
-x_46 = l_Lean_Parser_categoryParser___elambda__1(x_44, x_45, x_1, x_42);
-x_47 = lean_ctor_get(x_46, 3);
-lean_inc(x_47);
-if (lean_obj_tag(x_47) == 0)
-{
-lean_object* x_48; lean_object* x_49; lean_object* x_50; uint8_t x_51; lean_object* x_52;
-x_48 = l_Lean_Parser_categoryParser___elambda__1(x_44, x_45, x_1, x_46);
-x_49 = l_Lean_Parser_Syntax_sepBy___elambda__1___closed__2;
-x_50 = l_Lean_Parser_ParserState_mkNode(x_48, x_49, x_39);
-x_51 = 1;
-x_52 = l_Lean_Parser_mergeOrElseErrors(x_50, x_31, x_28, x_51);
-lean_dec(x_28);
-return x_52;
-}
-else
-{
-lean_object* x_53; lean_object* x_54; uint8_t x_55; lean_object* x_56;
-lean_dec(x_47);
-lean_dec(x_1);
-x_53 = l_Lean_Parser_Syntax_sepBy___elambda__1___closed__2;
-x_54 = l_Lean_Parser_ParserState_mkNode(x_46, x_53, x_39);
-x_55 = 1;
-x_56 = l_Lean_Parser_mergeOrElseErrors(x_54, x_31, x_28, x_55);
-lean_dec(x_28);
-return x_56;
-}
-}
-else
-{
-lean_object* x_57; lean_object* x_58; uint8_t x_59; lean_object* x_60;
-lean_dec(x_43);
-lean_dec(x_1);
-x_57 = l_Lean_Parser_Syntax_sepBy___elambda__1___closed__2;
-x_58 = l_Lean_Parser_ParserState_mkNode(x_42, x_57, x_39);
-x_59 = 1;
-x_60 = l_Lean_Parser_mergeOrElseErrors(x_58, x_31, x_28, x_59);
-lean_dec(x_28);
-return x_60;
-}
-}
-else
-{
-uint8_t x_61; lean_object* x_62;
-lean_dec(x_37);
-lean_dec(x_1);
-x_61 = 1;
-x_62 = l_Lean_Parser_mergeOrElseErrors(x_36, x_31, x_28, x_61);
-lean_dec(x_28);
-return x_62;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Syntax_sepBy___closed__1() {
_start:
{
@@ -8514,11 +6616,11 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Syntax_sepBy1___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Syntax_sepBy1___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Syntax_sepBy1___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbolFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Syntax_sepBy1___elambda__1___closed__8() {
@@ -8526,208 +6628,50 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Syntax_sepBy1___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_2 = l_Lean_Parser_Syntax_sepBy___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Syntax_sepBy1___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Syntax_sepBy1___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Syntax_sepBy1___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Syntax_sepBy1___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Syntax_sepBy1___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
lean_object* l_Lean_Parser_Syntax_sepBy1___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Syntax_sepBy1___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_11 = l_Lean_Parser_Syntax_sepBy1___elambda__1___closed__6;
-x_12 = l_Lean_Parser_Syntax_sepBy1___elambda__1___closed__8;
-lean_inc(x_1);
-x_13 = l_Lean_Parser_nonReservedSymbolFnAux(x_11, x_12, x_1, x_7);
-x_14 = lean_ctor_get(x_13, 3);
-lean_inc(x_14);
-if (lean_obj_tag(x_14) == 0)
-{
-lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
-x_15 = l_Lean_Parser_categoryParserFnImpl___closed__4;
-x_16 = l_Lean_Parser_maxPrec;
-lean_inc(x_1);
-x_17 = l_Lean_Parser_categoryParser___elambda__1(x_15, x_16, x_1, x_13);
-x_18 = lean_ctor_get(x_17, 3);
-lean_inc(x_18);
-if (lean_obj_tag(x_18) == 0)
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21;
-x_19 = l_Lean_Parser_categoryParser___elambda__1(x_15, x_16, x_1, x_17);
-x_20 = l_Lean_Parser_Syntax_sepBy1___elambda__1___closed__2;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_10);
-return x_21;
-}
-else
-{
-lean_object* x_22; lean_object* x_23;
-lean_dec(x_18);
-lean_dec(x_1);
-x_22 = l_Lean_Parser_Syntax_sepBy1___elambda__1___closed__2;
-x_23 = l_Lean_Parser_ParserState_mkNode(x_17, x_22, x_10);
-return x_23;
-}
-}
-else
-{
-lean_object* x_24; lean_object* x_25;
-lean_dec(x_14);
-lean_dec(x_1);
-x_24 = l_Lean_Parser_Syntax_sepBy1___elambda__1___closed__2;
-x_25 = l_Lean_Parser_ParserState_mkNode(x_13, x_24, x_10);
-return x_25;
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Syntax_sepBy1___elambda__1___closed__10;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30;
-x_26 = lean_ctor_get(x_2, 0);
-lean_inc(x_26);
-x_27 = lean_array_get_size(x_26);
-lean_dec(x_26);
-x_28 = lean_ctor_get(x_2, 1);
-lean_inc(x_28);
-lean_inc(x_1);
-x_29 = lean_apply_2(x_4, x_1, x_2);
-x_30 = lean_ctor_get(x_29, 3);
-lean_inc(x_30);
-if (lean_obj_tag(x_30) == 0)
-{
-lean_dec(x_28);
-lean_dec(x_27);
-lean_dec(x_1);
-return x_29;
-}
-else
-{
-lean_object* x_31; lean_object* x_32; uint8_t x_33;
-x_31 = lean_ctor_get(x_30, 0);
-lean_inc(x_31);
-lean_dec(x_30);
-x_32 = lean_ctor_get(x_29, 1);
-lean_inc(x_32);
-x_33 = lean_nat_dec_eq(x_32, x_28);
-lean_dec(x_32);
-if (x_33 == 0)
-{
-lean_dec(x_31);
-lean_dec(x_28);
-lean_dec(x_27);
-lean_dec(x_1);
-return x_29;
-}
-else
-{
-lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-lean_inc(x_28);
-x_34 = l_Lean_Parser_ParserState_restore(x_29, x_27, x_28);
-lean_dec(x_27);
-x_35 = lean_unsigned_to_nat(1024u);
-x_36 = l_Lean_Parser_checkPrecFn(x_35, x_1, x_34);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43;
-x_38 = lean_ctor_get(x_36, 0);
-lean_inc(x_38);
-x_39 = lean_array_get_size(x_38);
-lean_dec(x_38);
-x_40 = l_Lean_Parser_Syntax_sepBy1___elambda__1___closed__6;
-x_41 = l_Lean_Parser_Syntax_sepBy1___elambda__1___closed__8;
-lean_inc(x_1);
-x_42 = l_Lean_Parser_nonReservedSymbolFnAux(x_40, x_41, x_1, x_36);
-x_43 = lean_ctor_get(x_42, 3);
-lean_inc(x_43);
-if (lean_obj_tag(x_43) == 0)
-{
-lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47;
-x_44 = l_Lean_Parser_categoryParserFnImpl___closed__4;
-x_45 = l_Lean_Parser_maxPrec;
-lean_inc(x_1);
-x_46 = l_Lean_Parser_categoryParser___elambda__1(x_44, x_45, x_1, x_42);
-x_47 = lean_ctor_get(x_46, 3);
-lean_inc(x_47);
-if (lean_obj_tag(x_47) == 0)
-{
-lean_object* x_48; lean_object* x_49; lean_object* x_50; uint8_t x_51; lean_object* x_52;
-x_48 = l_Lean_Parser_categoryParser___elambda__1(x_44, x_45, x_1, x_46);
-x_49 = l_Lean_Parser_Syntax_sepBy1___elambda__1___closed__2;
-x_50 = l_Lean_Parser_ParserState_mkNode(x_48, x_49, x_39);
-x_51 = 1;
-x_52 = l_Lean_Parser_mergeOrElseErrors(x_50, x_31, x_28, x_51);
-lean_dec(x_28);
-return x_52;
-}
-else
-{
-lean_object* x_53; lean_object* x_54; uint8_t x_55; lean_object* x_56;
-lean_dec(x_47);
-lean_dec(x_1);
-x_53 = l_Lean_Parser_Syntax_sepBy1___elambda__1___closed__2;
-x_54 = l_Lean_Parser_ParserState_mkNode(x_46, x_53, x_39);
-x_55 = 1;
-x_56 = l_Lean_Parser_mergeOrElseErrors(x_54, x_31, x_28, x_55);
-lean_dec(x_28);
-return x_56;
-}
-}
-else
-{
-lean_object* x_57; lean_object* x_58; uint8_t x_59; lean_object* x_60;
-lean_dec(x_43);
-lean_dec(x_1);
-x_57 = l_Lean_Parser_Syntax_sepBy1___elambda__1___closed__2;
-x_58 = l_Lean_Parser_ParserState_mkNode(x_42, x_57, x_39);
-x_59 = 1;
-x_60 = l_Lean_Parser_mergeOrElseErrors(x_58, x_31, x_28, x_59);
-lean_dec(x_28);
-return x_60;
-}
-}
-else
-{
-uint8_t x_61; lean_object* x_62;
-lean_dec(x_37);
-lean_dec(x_1);
-x_61 = 1;
-x_62 = l_Lean_Parser_mergeOrElseErrors(x_36, x_31, x_28, x_61);
-lean_dec(x_28);
-return x_62;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Syntax_sepBy1___closed__1() {
_start:
{
@@ -9016,11 +6960,11 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Syntax_notFollowedBy___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Syntax_notFollowedBy___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Syntax_notFollowedBy___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbolFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Syntax_notFollowedBy___elambda__1___closed__8() {
@@ -9028,171 +6972,50 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Syntax_notFollowedBy___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_2 = l_Lean_Parser_Syntax_interpolatedStr___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Syntax_notFollowedBy___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Syntax_notFollowedBy___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Syntax_notFollowedBy___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Syntax_notFollowedBy___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Syntax_notFollowedBy___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
lean_object* l_Lean_Parser_Syntax_notFollowedBy___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Syntax_notFollowedBy___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_11 = l_Lean_Parser_Syntax_notFollowedBy___elambda__1___closed__6;
-x_12 = l_Lean_Parser_Syntax_notFollowedBy___elambda__1___closed__8;
-lean_inc(x_1);
-x_13 = l_Lean_Parser_nonReservedSymbolFnAux(x_11, x_12, x_1, x_7);
-x_14 = lean_ctor_get(x_13, 3);
-lean_inc(x_14);
-if (lean_obj_tag(x_14) == 0)
-{
-lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
-x_15 = l_Lean_Parser_categoryParserFnImpl___closed__4;
-x_16 = l_Lean_Parser_maxPrec;
-x_17 = l_Lean_Parser_categoryParser___elambda__1(x_15, x_16, x_1, x_13);
-x_18 = l_Lean_Parser_Syntax_notFollowedBy___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_10);
-return x_19;
-}
-else
-{
-lean_object* x_20; lean_object* x_21;
-lean_dec(x_14);
-lean_dec(x_1);
-x_20 = l_Lean_Parser_Syntax_notFollowedBy___elambda__1___closed__2;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_13, x_20, x_10);
-return x_21;
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Syntax_notFollowedBy___elambda__1___closed__10;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26;
-x_22 = lean_ctor_get(x_2, 0);
-lean_inc(x_22);
-x_23 = lean_array_get_size(x_22);
-lean_dec(x_22);
-x_24 = lean_ctor_get(x_2, 1);
-lean_inc(x_24);
-lean_inc(x_1);
-x_25 = lean_apply_2(x_4, x_1, x_2);
-x_26 = lean_ctor_get(x_25, 3);
-lean_inc(x_26);
-if (lean_obj_tag(x_26) == 0)
-{
-lean_dec(x_24);
-lean_dec(x_23);
-lean_dec(x_1);
-return x_25;
-}
-else
-{
-lean_object* x_27; lean_object* x_28; uint8_t x_29;
-x_27 = lean_ctor_get(x_26, 0);
-lean_inc(x_27);
-lean_dec(x_26);
-x_28 = lean_ctor_get(x_25, 1);
-lean_inc(x_28);
-x_29 = lean_nat_dec_eq(x_28, x_24);
-lean_dec(x_28);
-if (x_29 == 0)
-{
-lean_dec(x_27);
-lean_dec(x_24);
-lean_dec(x_23);
-lean_dec(x_1);
-return x_25;
-}
-else
-{
-lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
-lean_inc(x_24);
-x_30 = l_Lean_Parser_ParserState_restore(x_25, x_23, x_24);
-lean_dec(x_23);
-x_31 = lean_unsigned_to_nat(1024u);
-x_32 = l_Lean_Parser_checkPrecFn(x_31, x_1, x_30);
-x_33 = lean_ctor_get(x_32, 3);
-lean_inc(x_33);
-if (lean_obj_tag(x_33) == 0)
-{
-lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_34 = lean_ctor_get(x_32, 0);
-lean_inc(x_34);
-x_35 = lean_array_get_size(x_34);
-lean_dec(x_34);
-x_36 = l_Lean_Parser_Syntax_notFollowedBy___elambda__1___closed__6;
-x_37 = l_Lean_Parser_Syntax_notFollowedBy___elambda__1___closed__8;
-lean_inc(x_1);
-x_38 = l_Lean_Parser_nonReservedSymbolFnAux(x_36, x_37, x_1, x_32);
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45; lean_object* x_46;
-x_40 = l_Lean_Parser_categoryParserFnImpl___closed__4;
-x_41 = l_Lean_Parser_maxPrec;
-x_42 = l_Lean_Parser_categoryParser___elambda__1(x_40, x_41, x_1, x_38);
-x_43 = l_Lean_Parser_Syntax_notFollowedBy___elambda__1___closed__2;
-x_44 = l_Lean_Parser_ParserState_mkNode(x_42, x_43, x_35);
-x_45 = 1;
-x_46 = l_Lean_Parser_mergeOrElseErrors(x_44, x_27, x_24, x_45);
-lean_dec(x_24);
-return x_46;
-}
-else
-{
-lean_object* x_47; lean_object* x_48; uint8_t x_49; lean_object* x_50;
-lean_dec(x_39);
-lean_dec(x_1);
-x_47 = l_Lean_Parser_Syntax_notFollowedBy___elambda__1___closed__2;
-x_48 = l_Lean_Parser_ParserState_mkNode(x_38, x_47, x_35);
-x_49 = 1;
-x_50 = l_Lean_Parser_mergeOrElseErrors(x_48, x_27, x_24, x_49);
-lean_dec(x_24);
-return x_50;
-}
-}
-else
-{
-uint8_t x_51; lean_object* x_52;
-lean_dec(x_33);
-lean_dec(x_1);
-x_51 = 1;
-x_52 = l_Lean_Parser_mergeOrElseErrors(x_32, x_27, x_24, x_51);
-lean_dec(x_24);
-return x_52;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Syntax_notFollowedBy___closed__1() {
_start:
{
@@ -9452,75 +7275,18 @@ x_5 = lean_ctor_get(x_4, 3);
lean_inc(x_5);
if (lean_obj_tag(x_5) == 0)
{
-lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10;
+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;
x_6 = lean_ctor_get(x_4, 0);
lean_inc(x_6);
x_7 = lean_array_get_size(x_6);
lean_dec(x_6);
-x_8 = lean_ctor_get(x_4, 1);
-lean_inc(x_8);
-x_9 = l_Lean_Parser_tokenFn(x_1, x_4);
-x_10 = lean_ctor_get(x_9, 3);
-lean_inc(x_10);
-if (lean_obj_tag(x_10) == 0)
-{
-lean_object* x_11; lean_object* x_12;
-x_11 = lean_ctor_get(x_9, 0);
-lean_inc(x_11);
-x_12 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_11);
-lean_dec(x_11);
-if (lean_obj_tag(x_12) == 2)
-{
-lean_object* x_13; lean_object* x_14; uint8_t x_15;
-x_13 = lean_ctor_get(x_12, 1);
-lean_inc(x_13);
-lean_dec(x_12);
-x_14 = l_Lean_Parser_Term_syntheticHole___elambda__1___closed__5;
-x_15 = lean_string_dec_eq(x_13, x_14);
-lean_dec(x_13);
-if (x_15 == 0)
-{
-lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
-x_16 = l_Lean_Parser_Term_syntheticHole___elambda__1___closed__8;
-x_17 = l_Lean_Parser_ParserState_mkErrorsAt(x_9, x_16, x_8);
-x_18 = l_Lean_Parser_Syntax_optional___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkTrailingNode(x_17, x_18, x_7);
+x_8 = l_Lean_Parser_Term_syntheticHole___elambda__1___closed__5;
+x_9 = l_Lean_Parser_Term_syntheticHole___elambda__1___closed__12;
+x_10 = l_Lean_Parser_symbolFnAux(x_8, x_9, x_1, x_4);
+x_11 = l_Lean_Parser_Syntax_optional___elambda__1___closed__2;
+x_12 = l_Lean_Parser_ParserState_mkTrailingNode(x_10, x_11, x_7);
lean_dec(x_7);
-return x_19;
-}
-else
-{
-lean_object* x_20; lean_object* x_21;
-lean_dec(x_8);
-x_20 = l_Lean_Parser_Syntax_optional___elambda__1___closed__2;
-x_21 = l_Lean_Parser_ParserState_mkTrailingNode(x_9, x_20, x_7);
-lean_dec(x_7);
-return x_21;
-}
-}
-else
-{
-lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25;
-lean_dec(x_12);
-x_22 = l_Lean_Parser_Term_syntheticHole___elambda__1___closed__8;
-x_23 = l_Lean_Parser_ParserState_mkErrorsAt(x_9, x_22, x_8);
-x_24 = l_Lean_Parser_Syntax_optional___elambda__1___closed__2;
-x_25 = l_Lean_Parser_ParserState_mkTrailingNode(x_23, x_24, x_7);
-lean_dec(x_7);
-return x_25;
-}
-}
-else
-{
-lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29;
-lean_dec(x_10);
-x_26 = l_Lean_Parser_Term_syntheticHole___elambda__1___closed__8;
-x_27 = l_Lean_Parser_ParserState_mkErrorsAt(x_9, x_26, x_8);
-x_28 = l_Lean_Parser_Syntax_optional___elambda__1___closed__2;
-x_29 = l_Lean_Parser_ParserState_mkTrailingNode(x_27, x_28, x_7);
-lean_dec(x_7);
-return x_29;
-}
+return x_12;
}
else
{
@@ -9679,75 +7445,18 @@ x_5 = lean_ctor_get(x_4, 3);
lean_inc(x_5);
if (lean_obj_tag(x_5) == 0)
{
-lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10;
+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;
x_6 = lean_ctor_get(x_4, 0);
lean_inc(x_6);
x_7 = lean_array_get_size(x_6);
lean_dec(x_6);
-x_8 = lean_ctor_get(x_4, 1);
-lean_inc(x_8);
-x_9 = l_Lean_Parser_tokenFn(x_1, x_4);
-x_10 = lean_ctor_get(x_9, 3);
-lean_inc(x_10);
-if (lean_obj_tag(x_10) == 0)
-{
-lean_object* x_11; lean_object* x_12;
-x_11 = lean_ctor_get(x_9, 0);
-lean_inc(x_11);
-x_12 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_11);
-lean_dec(x_11);
-if (lean_obj_tag(x_12) == 2)
-{
-lean_object* x_13; lean_object* x_14; uint8_t x_15;
-x_13 = lean_ctor_get(x_12, 1);
-lean_inc(x_13);
-lean_dec(x_12);
-x_14 = l_Lean_Parser_mkAntiquot___closed__20;
-x_15 = lean_string_dec_eq(x_13, x_14);
-lean_dec(x_13);
-if (x_15 == 0)
-{
-lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
-x_16 = l_Lean_Parser_Tactic_locationWildcard___elambda__1___closed__7;
-x_17 = l_Lean_Parser_ParserState_mkErrorsAt(x_9, x_16, x_8);
-x_18 = l_Lean_Parser_Syntax_many___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkTrailingNode(x_17, x_18, x_7);
+x_8 = l_Lean_Parser_mkAntiquot___closed__20;
+x_9 = l_Lean_Parser_Tactic_locationWildcard___elambda__1___closed__8;
+x_10 = l_Lean_Parser_symbolFnAux(x_8, x_9, x_1, x_4);
+x_11 = l_Lean_Parser_Syntax_many___elambda__1___closed__2;
+x_12 = l_Lean_Parser_ParserState_mkTrailingNode(x_10, x_11, x_7);
lean_dec(x_7);
-return x_19;
-}
-else
-{
-lean_object* x_20; lean_object* x_21;
-lean_dec(x_8);
-x_20 = l_Lean_Parser_Syntax_many___elambda__1___closed__2;
-x_21 = l_Lean_Parser_ParserState_mkTrailingNode(x_9, x_20, x_7);
-lean_dec(x_7);
-return x_21;
-}
-}
-else
-{
-lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25;
-lean_dec(x_12);
-x_22 = l_Lean_Parser_Tactic_locationWildcard___elambda__1___closed__7;
-x_23 = l_Lean_Parser_ParserState_mkErrorsAt(x_9, x_22, x_8);
-x_24 = l_Lean_Parser_Syntax_many___elambda__1___closed__2;
-x_25 = l_Lean_Parser_ParserState_mkTrailingNode(x_23, x_24, x_7);
-lean_dec(x_7);
-return x_25;
-}
-}
-else
-{
-lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29;
-lean_dec(x_10);
-x_26 = l_Lean_Parser_Tactic_locationWildcard___elambda__1___closed__7;
-x_27 = l_Lean_Parser_ParserState_mkErrorsAt(x_9, x_26, x_8);
-x_28 = l_Lean_Parser_Syntax_many___elambda__1___closed__2;
-x_29 = l_Lean_Parser_ParserState_mkTrailingNode(x_27, x_28, x_7);
-lean_dec(x_7);
-return x_29;
-}
+return x_12;
}
else
{
@@ -9925,18 +7634,6 @@ x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Syntax_many1___elambda__1___closed__6() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Syntax_many1___elambda__1___closed__5;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
-}
-}
lean_object* l_Lean_Parser_Syntax_many1___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -9947,75 +7644,18 @@ x_5 = lean_ctor_get(x_4, 3);
lean_inc(x_5);
if (lean_obj_tag(x_5) == 0)
{
-lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10;
+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;
x_6 = lean_ctor_get(x_4, 0);
lean_inc(x_6);
x_7 = lean_array_get_size(x_6);
lean_dec(x_6);
-x_8 = lean_ctor_get(x_4, 1);
-lean_inc(x_8);
-x_9 = l_Lean_Parser_tokenFn(x_1, x_4);
-x_10 = lean_ctor_get(x_9, 3);
-lean_inc(x_10);
-if (lean_obj_tag(x_10) == 0)
-{
-lean_object* x_11; lean_object* x_12;
-x_11 = lean_ctor_get(x_9, 0);
-lean_inc(x_11);
-x_12 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_11);
-lean_dec(x_11);
-if (lean_obj_tag(x_12) == 2)
-{
-lean_object* x_13; lean_object* x_14; uint8_t x_15;
-x_13 = lean_ctor_get(x_12, 1);
-lean_inc(x_13);
-lean_dec(x_12);
-x_14 = l_Lean_Parser_Syntax_many1___elambda__1___closed__3;
-x_15 = lean_string_dec_eq(x_13, x_14);
-lean_dec(x_13);
-if (x_15 == 0)
-{
-lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
-x_16 = l_Lean_Parser_Syntax_many1___elambda__1___closed__6;
-x_17 = l_Lean_Parser_ParserState_mkErrorsAt(x_9, x_16, x_8);
-x_18 = l_Lean_Parser_Syntax_many1___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkTrailingNode(x_17, x_18, x_7);
+x_8 = l_Lean_Parser_Syntax_many1___elambda__1___closed__3;
+x_9 = l_Lean_Parser_Syntax_many1___elambda__1___closed__5;
+x_10 = l_Lean_Parser_symbolFnAux(x_8, x_9, x_1, x_4);
+x_11 = l_Lean_Parser_Syntax_many1___elambda__1___closed__2;
+x_12 = l_Lean_Parser_ParserState_mkTrailingNode(x_10, x_11, x_7);
lean_dec(x_7);
-return x_19;
-}
-else
-{
-lean_object* x_20; lean_object* x_21;
-lean_dec(x_8);
-x_20 = l_Lean_Parser_Syntax_many1___elambda__1___closed__2;
-x_21 = l_Lean_Parser_ParserState_mkTrailingNode(x_9, x_20, x_7);
-lean_dec(x_7);
-return x_21;
-}
-}
-else
-{
-lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25;
-lean_dec(x_12);
-x_22 = l_Lean_Parser_Syntax_many1___elambda__1___closed__6;
-x_23 = l_Lean_Parser_ParserState_mkErrorsAt(x_9, x_22, x_8);
-x_24 = l_Lean_Parser_Syntax_many1___elambda__1___closed__2;
-x_25 = l_Lean_Parser_ParserState_mkTrailingNode(x_23, x_24, x_7);
-lean_dec(x_7);
-return x_25;
-}
-}
-else
-{
-lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29;
-lean_dec(x_10);
-x_26 = l_Lean_Parser_Syntax_many1___elambda__1___closed__6;
-x_27 = l_Lean_Parser_ParserState_mkErrorsAt(x_9, x_26, x_8);
-x_28 = l_Lean_Parser_Syntax_many1___elambda__1___closed__2;
-x_29 = l_Lean_Parser_ParserState_mkTrailingNode(x_27, x_28, x_7);
-lean_dec(x_7);
-return x_29;
-}
+return x_12;
}
else
{
@@ -10185,93 +7825,37 @@ x_5 = lean_ctor_get(x_4, 3);
lean_inc(x_5);
if (lean_obj_tag(x_5) == 0)
{
-lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_18; lean_object* x_19; lean_object* x_20;
+lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
x_6 = lean_ctor_get(x_4, 0);
lean_inc(x_6);
x_7 = lean_array_get_size(x_6);
lean_dec(x_6);
-x_18 = lean_ctor_get(x_4, 1);
-lean_inc(x_18);
+x_8 = l_Lean_Parser_Tactic_orelse___elambda__1___closed__2;
+x_9 = l_Lean_Parser_Tactic_orelse___elambda__1___closed__4;
lean_inc(x_1);
-x_19 = l_Lean_Parser_tokenFn(x_1, x_4);
-x_20 = lean_ctor_get(x_19, 3);
-lean_inc(x_20);
-if (lean_obj_tag(x_20) == 0)
+x_10 = l_Lean_Parser_symbolFnAux(x_8, x_9, x_1, x_4);
+x_11 = lean_ctor_get(x_10, 3);
+lean_inc(x_11);
+if (lean_obj_tag(x_11) == 0)
{
-lean_object* x_21; lean_object* x_22;
-x_21 = lean_ctor_get(x_19, 0);
-lean_inc(x_21);
-x_22 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_21);
-lean_dec(x_21);
-if (lean_obj_tag(x_22) == 2)
-{
-lean_object* x_23; lean_object* x_24; uint8_t x_25;
-x_23 = lean_ctor_get(x_22, 1);
-lean_inc(x_23);
-lean_dec(x_22);
-x_24 = l_Lean_Parser_Tactic_orelse___elambda__1___closed__2;
-x_25 = lean_string_dec_eq(x_23, x_24);
-lean_dec(x_23);
-if (x_25 == 0)
-{
-lean_object* x_26; lean_object* x_27;
-x_26 = l_Lean_Parser_Tactic_orelse___elambda__1___closed__5;
-x_27 = l_Lean_Parser_ParserState_mkErrorsAt(x_19, x_26, x_18);
-x_8 = x_27;
-goto block_17;
-}
-else
-{
-lean_dec(x_18);
-x_8 = x_19;
-goto block_17;
-}
-}
-else
-{
-lean_object* x_28; lean_object* x_29;
-lean_dec(x_22);
-x_28 = l_Lean_Parser_Tactic_orelse___elambda__1___closed__5;
-x_29 = l_Lean_Parser_ParserState_mkErrorsAt(x_19, x_28, x_18);
-x_8 = x_29;
-goto block_17;
-}
-}
-else
-{
-lean_object* x_30; lean_object* x_31;
-lean_dec(x_20);
-x_30 = l_Lean_Parser_Tactic_orelse___elambda__1___closed__5;
-x_31 = l_Lean_Parser_ParserState_mkErrorsAt(x_19, x_30, x_18);
-x_8 = x_31;
-goto block_17;
-}
-block_17:
-{
-lean_object* x_9;
-x_9 = lean_ctor_get(x_8, 3);
-lean_inc(x_9);
-if (lean_obj_tag(x_9) == 0)
-{
-lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
-x_10 = l_Lean_Parser_categoryParserFnImpl___closed__4;
-x_11 = lean_unsigned_to_nat(1u);
-x_12 = l_Lean_Parser_categoryParser___elambda__1(x_10, x_11, x_1, x_8);
-x_13 = l_Lean_Parser_Syntax_orelse___elambda__1___closed__1;
-x_14 = l_Lean_Parser_ParserState_mkTrailingNode(x_12, x_13, x_7);
-lean_dec(x_7);
-return x_14;
-}
-else
-{
-lean_object* x_15; lean_object* x_16;
-lean_dec(x_9);
-lean_dec(x_1);
+lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
+x_12 = l_Lean_Parser_categoryParserFnImpl___closed__4;
+x_13 = lean_unsigned_to_nat(1u);
+x_14 = l_Lean_Parser_categoryParser___elambda__1(x_12, x_13, x_1, x_10);
x_15 = l_Lean_Parser_Syntax_orelse___elambda__1___closed__1;
-x_16 = l_Lean_Parser_ParserState_mkTrailingNode(x_8, x_15, x_7);
+x_16 = l_Lean_Parser_ParserState_mkTrailingNode(x_14, x_15, x_7);
lean_dec(x_7);
return x_16;
}
+else
+{
+lean_object* x_17; lean_object* x_18;
+lean_dec(x_11);
+lean_dec(x_1);
+x_17 = l_Lean_Parser_Syntax_orelse___elambda__1___closed__1;
+x_18 = l_Lean_Parser_ParserState_mkTrailingNode(x_10, x_17, x_7);
+lean_dec(x_7);
+return x_18;
}
}
else
@@ -10520,23 +8104,21 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_stx_quot___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_categoryParserFnImpl___closed__4;
-x_2 = lean_unsigned_to_nat(0u);
-x_3 = lean_alloc_closure((void*)(l_Lean_Parser_categoryParser___elambda__1), 4, 2);
-lean_closure_set(x_3, 0, x_1);
-lean_closure_set(x_3, 1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_stx_quot___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_stx_quot___elambda__1___closed__8() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_stx_quot___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Syntax_paren___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_toggleInsideQuotFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_stx_quot___elambda__1___closed__9() {
@@ -10544,8 +8126,10 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Term_stx_quot___elambda__1___closed__8;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_2 = l_Lean_Parser_Level_paren___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -10553,442 +8137,51 @@ static lean_object* _init_l_Lean_Parser_Term_stx_quot___elambda__1___closed__10(
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Term_stx_quot___elambda__1___closed__7;
x_2 = l_Lean_Parser_Term_stx_quot___elambda__1___closed__9;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_stx_quot___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_stx_quot___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_stx_quot___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_stx_quot___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_stx_quot___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
lean_object* l_Lean_Parser_Term_stx_quot___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Term_stx_quot___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_43; lean_object* x_44; lean_object* x_45;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_43 = lean_ctor_get(x_7, 1);
-lean_inc(x_43);
-lean_inc(x_1);
-x_44 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_45 = lean_ctor_get(x_44, 3);
-lean_inc(x_45);
-if (lean_obj_tag(x_45) == 0)
-{
-lean_object* x_46; lean_object* x_47;
-x_46 = lean_ctor_get(x_44, 0);
-lean_inc(x_46);
-x_47 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_46);
-lean_dec(x_46);
-if (lean_obj_tag(x_47) == 2)
-{
-lean_object* x_48; lean_object* x_49; uint8_t x_50;
-x_48 = lean_ctor_get(x_47, 1);
-lean_inc(x_48);
-lean_dec(x_47);
-x_49 = l_Lean_Parser_Term_stx_quot___elambda__1___closed__6;
-x_50 = lean_string_dec_eq(x_48, x_49);
-lean_dec(x_48);
-if (x_50 == 0)
-{
-lean_object* x_51; lean_object* x_52;
-x_51 = l_Lean_Parser_Term_stx_quot___elambda__1___closed__10;
-x_52 = l_Lean_Parser_ParserState_mkErrorsAt(x_44, x_51, x_43);
-x_11 = x_52;
-goto block_42;
-}
-else
-{
-lean_dec(x_43);
-x_11 = x_44;
-goto block_42;
-}
-}
-else
-{
-lean_object* x_53; lean_object* x_54;
-lean_dec(x_47);
-x_53 = l_Lean_Parser_Term_stx_quot___elambda__1___closed__10;
-x_54 = l_Lean_Parser_ParserState_mkErrorsAt(x_44, x_53, x_43);
-x_11 = x_54;
-goto block_42;
-}
-}
-else
-{
-lean_object* x_55; lean_object* x_56;
-lean_dec(x_45);
-x_55 = l_Lean_Parser_Term_stx_quot___elambda__1___closed__10;
-x_56 = l_Lean_Parser_ParserState_mkErrorsAt(x_44, x_55, x_43);
-x_11 = x_56;
-goto block_42;
-}
-block_42:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15;
-x_13 = l_Lean_Parser_Term_stx_quot___elambda__1___closed__7;
-lean_inc(x_1);
-x_14 = l_Lean_Parser_toggleInsideQuotFn(x_13, x_1, x_11);
-x_15 = lean_ctor_get(x_14, 3);
-lean_inc(x_15);
-if (lean_obj_tag(x_15) == 0)
-{
-lean_object* x_16; lean_object* x_17; lean_object* x_18;
-x_16 = lean_ctor_get(x_14, 1);
-lean_inc(x_16);
-x_17 = l_Lean_Parser_tokenFn(x_1, x_14);
-x_18 = lean_ctor_get(x_17, 3);
-lean_inc(x_18);
-if (lean_obj_tag(x_18) == 0)
-{
-lean_object* x_19; lean_object* x_20;
-x_19 = lean_ctor_get(x_17, 0);
-lean_inc(x_19);
-x_20 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_19);
-lean_dec(x_19);
-if (lean_obj_tag(x_20) == 2)
-{
-lean_object* x_21; lean_object* x_22; uint8_t x_23;
-x_21 = lean_ctor_get(x_20, 1);
-lean_inc(x_21);
-lean_dec(x_20);
-x_22 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
-x_23 = lean_string_dec_eq(x_21, x_22);
-lean_dec(x_21);
-if (x_23 == 0)
-{
-lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
-x_24 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_25 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_24, x_16);
-x_26 = l_Lean_Parser_Term_stx_quot___elambda__1___closed__2;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_25, x_26, x_10);
-return x_27;
-}
-else
-{
-lean_object* x_28; lean_object* x_29;
-lean_dec(x_16);
-x_28 = l_Lean_Parser_Term_stx_quot___elambda__1___closed__2;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_17, x_28, x_10);
-return x_29;
-}
-}
-else
-{
-lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
-lean_dec(x_20);
-x_30 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_31 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_30, x_16);
-x_32 = l_Lean_Parser_Term_stx_quot___elambda__1___closed__2;
-x_33 = l_Lean_Parser_ParserState_mkNode(x_31, x_32, x_10);
-return x_33;
-}
-}
-else
-{
-lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-lean_dec(x_18);
-x_34 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_35 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_34, x_16);
-x_36 = l_Lean_Parser_Term_stx_quot___elambda__1___closed__2;
-x_37 = l_Lean_Parser_ParserState_mkNode(x_35, x_36, x_10);
-return x_37;
-}
-}
-else
-{
-lean_object* x_38; lean_object* x_39;
-lean_dec(x_15);
-lean_dec(x_1);
-x_38 = l_Lean_Parser_Term_stx_quot___elambda__1___closed__2;
-x_39 = l_Lean_Parser_ParserState_mkNode(x_14, x_38, x_10);
-return x_39;
-}
-}
-else
-{
-lean_object* x_40; lean_object* x_41;
-lean_dec(x_12);
-lean_dec(x_1);
-x_40 = l_Lean_Parser_Term_stx_quot___elambda__1___closed__2;
-x_41 = l_Lean_Parser_ParserState_mkNode(x_11, x_40, x_10);
-return x_41;
-}
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Term_stx_quot___elambda__1___closed__12;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61;
-x_57 = lean_ctor_get(x_2, 0);
-lean_inc(x_57);
-x_58 = lean_array_get_size(x_57);
-lean_dec(x_57);
-x_59 = lean_ctor_get(x_2, 1);
-lean_inc(x_59);
-lean_inc(x_1);
-x_60 = lean_apply_2(x_4, x_1, x_2);
-x_61 = lean_ctor_get(x_60, 3);
-lean_inc(x_61);
-if (lean_obj_tag(x_61) == 0)
-{
-lean_dec(x_59);
-lean_dec(x_58);
-lean_dec(x_1);
-return x_60;
-}
-else
-{
-lean_object* x_62; lean_object* x_63; uint8_t x_64;
-x_62 = lean_ctor_get(x_61, 0);
-lean_inc(x_62);
-lean_dec(x_61);
-x_63 = lean_ctor_get(x_60, 1);
-lean_inc(x_63);
-x_64 = lean_nat_dec_eq(x_63, x_59);
-lean_dec(x_63);
-if (x_64 == 0)
-{
-lean_dec(x_62);
-lean_dec(x_59);
-lean_dec(x_58);
-lean_dec(x_1);
-return x_60;
-}
-else
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68;
-lean_inc(x_59);
-x_65 = l_Lean_Parser_ParserState_restore(x_60, x_58, x_59);
-lean_dec(x_58);
-x_66 = lean_unsigned_to_nat(1024u);
-x_67 = l_Lean_Parser_checkPrecFn(x_66, x_1, x_65);
-x_68 = lean_ctor_get(x_67, 3);
-lean_inc(x_68);
-if (lean_obj_tag(x_68) == 0)
-{
-lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_115; lean_object* x_116; lean_object* x_117;
-x_69 = lean_ctor_get(x_67, 0);
-lean_inc(x_69);
-x_70 = lean_array_get_size(x_69);
-lean_dec(x_69);
-x_115 = lean_ctor_get(x_67, 1);
-lean_inc(x_115);
-lean_inc(x_1);
-x_116 = l_Lean_Parser_tokenFn(x_1, x_67);
-x_117 = lean_ctor_get(x_116, 3);
-lean_inc(x_117);
-if (lean_obj_tag(x_117) == 0)
-{
-lean_object* x_118; lean_object* x_119;
-x_118 = lean_ctor_get(x_116, 0);
-lean_inc(x_118);
-x_119 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_118);
-lean_dec(x_118);
-if (lean_obj_tag(x_119) == 2)
-{
-lean_object* x_120; lean_object* x_121; uint8_t x_122;
-x_120 = lean_ctor_get(x_119, 1);
-lean_inc(x_120);
-lean_dec(x_119);
-x_121 = l_Lean_Parser_Term_stx_quot___elambda__1___closed__6;
-x_122 = lean_string_dec_eq(x_120, x_121);
-lean_dec(x_120);
-if (x_122 == 0)
-{
-lean_object* x_123; lean_object* x_124;
-x_123 = l_Lean_Parser_Term_stx_quot___elambda__1___closed__10;
-x_124 = l_Lean_Parser_ParserState_mkErrorsAt(x_116, x_123, x_115);
-x_71 = x_124;
-goto block_114;
-}
-else
-{
-lean_dec(x_115);
-x_71 = x_116;
-goto block_114;
-}
-}
-else
-{
-lean_object* x_125; lean_object* x_126;
-lean_dec(x_119);
-x_125 = l_Lean_Parser_Term_stx_quot___elambda__1___closed__10;
-x_126 = l_Lean_Parser_ParserState_mkErrorsAt(x_116, x_125, x_115);
-x_71 = x_126;
-goto block_114;
-}
-}
-else
-{
-lean_object* x_127; lean_object* x_128;
-lean_dec(x_117);
-x_127 = l_Lean_Parser_Term_stx_quot___elambda__1___closed__10;
-x_128 = l_Lean_Parser_ParserState_mkErrorsAt(x_116, x_127, x_115);
-x_71 = x_128;
-goto block_114;
-}
-block_114:
-{
-lean_object* x_72;
-x_72 = lean_ctor_get(x_71, 3);
-lean_inc(x_72);
-if (lean_obj_tag(x_72) == 0)
-{
-lean_object* x_73; lean_object* x_74; lean_object* x_75;
-x_73 = l_Lean_Parser_Term_stx_quot___elambda__1___closed__7;
-lean_inc(x_1);
-x_74 = l_Lean_Parser_toggleInsideQuotFn(x_73, x_1, x_71);
-x_75 = lean_ctor_get(x_74, 3);
-lean_inc(x_75);
-if (lean_obj_tag(x_75) == 0)
-{
-lean_object* x_76; lean_object* x_77; lean_object* x_78;
-x_76 = lean_ctor_get(x_74, 1);
-lean_inc(x_76);
-x_77 = l_Lean_Parser_tokenFn(x_1, x_74);
-x_78 = lean_ctor_get(x_77, 3);
-lean_inc(x_78);
-if (lean_obj_tag(x_78) == 0)
-{
-lean_object* x_79; lean_object* x_80;
-x_79 = lean_ctor_get(x_77, 0);
-lean_inc(x_79);
-x_80 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_79);
-lean_dec(x_79);
-if (lean_obj_tag(x_80) == 2)
-{
-lean_object* x_81; lean_object* x_82; uint8_t x_83;
-x_81 = lean_ctor_get(x_80, 1);
-lean_inc(x_81);
-lean_dec(x_80);
-x_82 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
-x_83 = lean_string_dec_eq(x_81, x_82);
-lean_dec(x_81);
-if (x_83 == 0)
-{
-lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; uint8_t x_88; lean_object* x_89;
-x_84 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_85 = l_Lean_Parser_ParserState_mkErrorsAt(x_77, x_84, x_76);
-x_86 = l_Lean_Parser_Term_stx_quot___elambda__1___closed__2;
-x_87 = l_Lean_Parser_ParserState_mkNode(x_85, x_86, x_70);
-x_88 = 1;
-x_89 = l_Lean_Parser_mergeOrElseErrors(x_87, x_62, x_59, x_88);
-lean_dec(x_59);
-return x_89;
-}
-else
-{
-lean_object* x_90; lean_object* x_91; uint8_t x_92; lean_object* x_93;
-lean_dec(x_76);
-x_90 = l_Lean_Parser_Term_stx_quot___elambda__1___closed__2;
-x_91 = l_Lean_Parser_ParserState_mkNode(x_77, x_90, x_70);
-x_92 = 1;
-x_93 = l_Lean_Parser_mergeOrElseErrors(x_91, x_62, x_59, x_92);
-lean_dec(x_59);
-return x_93;
-}
-}
-else
-{
-lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; uint8_t x_98; lean_object* x_99;
-lean_dec(x_80);
-x_94 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_95 = l_Lean_Parser_ParserState_mkErrorsAt(x_77, x_94, x_76);
-x_96 = l_Lean_Parser_Term_stx_quot___elambda__1___closed__2;
-x_97 = l_Lean_Parser_ParserState_mkNode(x_95, x_96, x_70);
-x_98 = 1;
-x_99 = l_Lean_Parser_mergeOrElseErrors(x_97, x_62, x_59, x_98);
-lean_dec(x_59);
-return x_99;
-}
-}
-else
-{
-lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; uint8_t x_104; lean_object* x_105;
-lean_dec(x_78);
-x_100 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_101 = l_Lean_Parser_ParserState_mkErrorsAt(x_77, x_100, x_76);
-x_102 = l_Lean_Parser_Term_stx_quot___elambda__1___closed__2;
-x_103 = l_Lean_Parser_ParserState_mkNode(x_101, x_102, x_70);
-x_104 = 1;
-x_105 = l_Lean_Parser_mergeOrElseErrors(x_103, x_62, x_59, x_104);
-lean_dec(x_59);
-return x_105;
-}
-}
-else
-{
-lean_object* x_106; lean_object* x_107; uint8_t x_108; lean_object* x_109;
-lean_dec(x_75);
-lean_dec(x_1);
-x_106 = l_Lean_Parser_Term_stx_quot___elambda__1___closed__2;
-x_107 = l_Lean_Parser_ParserState_mkNode(x_74, x_106, x_70);
-x_108 = 1;
-x_109 = l_Lean_Parser_mergeOrElseErrors(x_107, x_62, x_59, x_108);
-lean_dec(x_59);
-return x_109;
-}
-}
-else
-{
-lean_object* x_110; lean_object* x_111; uint8_t x_112; lean_object* x_113;
-lean_dec(x_72);
-lean_dec(x_1);
-x_110 = l_Lean_Parser_Term_stx_quot___elambda__1___closed__2;
-x_111 = l_Lean_Parser_ParserState_mkNode(x_71, x_110, x_70);
-x_112 = 1;
-x_113 = l_Lean_Parser_mergeOrElseErrors(x_111, x_62, x_59, x_112);
-lean_dec(x_59);
-return x_113;
-}
-}
-}
-else
-{
-uint8_t x_129; lean_object* x_130;
-lean_dec(x_68);
-lean_dec(x_1);
-x_129 = 1;
-x_130 = l_Lean_Parser_mergeOrElseErrors(x_67, x_62, x_59, x_129);
-lean_dec(x_59);
-return x_130;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Term_stx_quot___closed__1() {
_start:
{
@@ -11324,20 +8517,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_prefix___elambda__1___closed__6() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_prefix___elambda__1___closed__5;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_prefix___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_prefix___elambda__1___closed__7() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Command_prefix___elambda__1___closed__6;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Command_prefix___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_prefix___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -11345,250 +8540,27 @@ static lean_object* _init_l_Lean_Parser_Command_prefix___elambda__1___closed__8(
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
x_2 = l_Lean_Parser_Command_prefix___elambda__1___closed__7;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
lean_object* l_Lean_Parser_Command_prefix___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Command_prefix___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_11 = lean_ctor_get(x_7, 1);
-lean_inc(x_11);
-x_12 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_13 = lean_ctor_get(x_12, 3);
-lean_inc(x_13);
-if (lean_obj_tag(x_13) == 0)
-{
-lean_object* x_14; lean_object* x_15;
-x_14 = lean_ctor_get(x_12, 0);
-lean_inc(x_14);
-x_15 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_14);
-lean_dec(x_14);
-if (lean_obj_tag(x_15) == 2)
-{
-lean_object* x_16; lean_object* x_17; uint8_t x_18;
-x_16 = lean_ctor_get(x_15, 1);
-lean_inc(x_16);
-lean_dec(x_15);
-x_17 = l_Lean_Parser_Command_prefix___elambda__1___closed__5;
-x_18 = lean_string_dec_eq(x_16, x_17);
-lean_dec(x_16);
-if (x_18 == 0)
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
-x_19 = l_Lean_Parser_Command_prefix___elambda__1___closed__8;
-x_20 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_19, x_11);
-x_21 = l_Lean_Parser_Command_prefix___elambda__1___closed__2;
-x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_10);
-return x_22;
-}
-else
-{
-lean_object* x_23; lean_object* x_24;
-lean_dec(x_11);
-x_23 = l_Lean_Parser_Command_prefix___elambda__1___closed__2;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_12, x_23, x_10);
-return x_24;
-}
-}
-else
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
-lean_dec(x_15);
-x_25 = l_Lean_Parser_Command_prefix___elambda__1___closed__8;
-x_26 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_25, x_11);
-x_27 = l_Lean_Parser_Command_prefix___elambda__1___closed__2;
-x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_10);
-return x_28;
-}
-}
-else
-{
-lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
-lean_dec(x_13);
-x_29 = l_Lean_Parser_Command_prefix___elambda__1___closed__8;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_29, x_11);
-x_31 = l_Lean_Parser_Command_prefix___elambda__1___closed__2;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_10);
-return x_32;
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Command_prefix___elambda__1___closed__8;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_33 = lean_ctor_get(x_2, 0);
-lean_inc(x_33);
-x_34 = lean_array_get_size(x_33);
-lean_dec(x_33);
-x_35 = lean_ctor_get(x_2, 1);
-lean_inc(x_35);
-lean_inc(x_1);
-x_36 = lean_apply_2(x_4, x_1, x_2);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_36, 1);
-lean_inc(x_39);
-x_40 = lean_nat_dec_eq(x_39, x_35);
-lean_dec(x_39);
-if (x_40 == 0)
-{
-lean_dec(x_38);
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
-lean_inc(x_35);
-x_41 = l_Lean_Parser_ParserState_restore(x_36, x_34, x_35);
-lean_dec(x_34);
-x_42 = lean_unsigned_to_nat(1024u);
-x_43 = l_Lean_Parser_checkPrecFn(x_42, x_1, x_41);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-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_43, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-x_47 = lean_ctor_get(x_43, 1);
-lean_inc(x_47);
-x_48 = l_Lean_Parser_tokenFn(x_1, x_43);
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
-{
-lean_object* x_50; lean_object* x_51;
-x_50 = lean_ctor_get(x_48, 0);
-lean_inc(x_50);
-x_51 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_50);
-lean_dec(x_50);
-if (lean_obj_tag(x_51) == 2)
-{
-lean_object* x_52; lean_object* x_53; uint8_t x_54;
-x_52 = lean_ctor_get(x_51, 1);
-lean_inc(x_52);
-lean_dec(x_51);
-x_53 = l_Lean_Parser_Command_prefix___elambda__1___closed__5;
-x_54 = lean_string_dec_eq(x_52, x_53);
-lean_dec(x_52);
-if (x_54 == 0)
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; uint8_t x_59; lean_object* x_60;
-x_55 = l_Lean_Parser_Command_prefix___elambda__1___closed__8;
-x_56 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_55, x_47);
-x_57 = l_Lean_Parser_Command_prefix___elambda__1___closed__2;
-x_58 = l_Lean_Parser_ParserState_mkNode(x_56, x_57, x_46);
-x_59 = 1;
-x_60 = l_Lean_Parser_mergeOrElseErrors(x_58, x_38, x_35, x_59);
-lean_dec(x_35);
-return x_60;
-}
-else
-{
-lean_object* x_61; lean_object* x_62; uint8_t x_63; lean_object* x_64;
-lean_dec(x_47);
-x_61 = l_Lean_Parser_Command_prefix___elambda__1___closed__2;
-x_62 = l_Lean_Parser_ParserState_mkNode(x_48, x_61, x_46);
-x_63 = 1;
-x_64 = l_Lean_Parser_mergeOrElseErrors(x_62, x_38, x_35, x_63);
-lean_dec(x_35);
-return x_64;
-}
-}
-else
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; uint8_t x_69; lean_object* x_70;
-lean_dec(x_51);
-x_65 = l_Lean_Parser_Command_prefix___elambda__1___closed__8;
-x_66 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_65, x_47);
-x_67 = l_Lean_Parser_Command_prefix___elambda__1___closed__2;
-x_68 = l_Lean_Parser_ParserState_mkNode(x_66, x_67, x_46);
-x_69 = 1;
-x_70 = l_Lean_Parser_mergeOrElseErrors(x_68, x_38, x_35, x_69);
-lean_dec(x_35);
-return x_70;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; uint8_t x_75; lean_object* x_76;
-lean_dec(x_49);
-x_71 = l_Lean_Parser_Command_prefix___elambda__1___closed__8;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_71, x_47);
-x_73 = l_Lean_Parser_Command_prefix___elambda__1___closed__2;
-x_74 = l_Lean_Parser_ParserState_mkNode(x_72, x_73, x_46);
-x_75 = 1;
-x_76 = l_Lean_Parser_mergeOrElseErrors(x_74, x_38, x_35, x_75);
-lean_dec(x_35);
-return x_76;
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_44);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_43, x_38, x_35, x_77);
-lean_dec(x_35);
-return x_78;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Command_prefix___closed__1() {
_start:
{
@@ -11709,20 +8681,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_infix___elambda__1___closed__6() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_infix___elambda__1___closed__5;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_infix___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_infix___elambda__1___closed__7() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Command_infix___elambda__1___closed__6;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Command_infix___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_infix___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -11730,250 +8704,27 @@ static lean_object* _init_l_Lean_Parser_Command_infix___elambda__1___closed__8()
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
x_2 = l_Lean_Parser_Command_infix___elambda__1___closed__7;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
lean_object* l_Lean_Parser_Command_infix___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Command_infix___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_11 = lean_ctor_get(x_7, 1);
-lean_inc(x_11);
-x_12 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_13 = lean_ctor_get(x_12, 3);
-lean_inc(x_13);
-if (lean_obj_tag(x_13) == 0)
-{
-lean_object* x_14; lean_object* x_15;
-x_14 = lean_ctor_get(x_12, 0);
-lean_inc(x_14);
-x_15 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_14);
-lean_dec(x_14);
-if (lean_obj_tag(x_15) == 2)
-{
-lean_object* x_16; lean_object* x_17; uint8_t x_18;
-x_16 = lean_ctor_get(x_15, 1);
-lean_inc(x_16);
-lean_dec(x_15);
-x_17 = l_Lean_Parser_Command_infix___elambda__1___closed__5;
-x_18 = lean_string_dec_eq(x_16, x_17);
-lean_dec(x_16);
-if (x_18 == 0)
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
-x_19 = l_Lean_Parser_Command_infix___elambda__1___closed__8;
-x_20 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_19, x_11);
-x_21 = l_Lean_Parser_Command_infix___elambda__1___closed__2;
-x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_10);
-return x_22;
-}
-else
-{
-lean_object* x_23; lean_object* x_24;
-lean_dec(x_11);
-x_23 = l_Lean_Parser_Command_infix___elambda__1___closed__2;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_12, x_23, x_10);
-return x_24;
-}
-}
-else
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
-lean_dec(x_15);
-x_25 = l_Lean_Parser_Command_infix___elambda__1___closed__8;
-x_26 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_25, x_11);
-x_27 = l_Lean_Parser_Command_infix___elambda__1___closed__2;
-x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_10);
-return x_28;
-}
-}
-else
-{
-lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
-lean_dec(x_13);
-x_29 = l_Lean_Parser_Command_infix___elambda__1___closed__8;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_29, x_11);
-x_31 = l_Lean_Parser_Command_infix___elambda__1___closed__2;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_10);
-return x_32;
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Command_infix___elambda__1___closed__8;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_33 = lean_ctor_get(x_2, 0);
-lean_inc(x_33);
-x_34 = lean_array_get_size(x_33);
-lean_dec(x_33);
-x_35 = lean_ctor_get(x_2, 1);
-lean_inc(x_35);
-lean_inc(x_1);
-x_36 = lean_apply_2(x_4, x_1, x_2);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_36, 1);
-lean_inc(x_39);
-x_40 = lean_nat_dec_eq(x_39, x_35);
-lean_dec(x_39);
-if (x_40 == 0)
-{
-lean_dec(x_38);
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
-lean_inc(x_35);
-x_41 = l_Lean_Parser_ParserState_restore(x_36, x_34, x_35);
-lean_dec(x_34);
-x_42 = lean_unsigned_to_nat(1024u);
-x_43 = l_Lean_Parser_checkPrecFn(x_42, x_1, x_41);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-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_43, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-x_47 = lean_ctor_get(x_43, 1);
-lean_inc(x_47);
-x_48 = l_Lean_Parser_tokenFn(x_1, x_43);
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
-{
-lean_object* x_50; lean_object* x_51;
-x_50 = lean_ctor_get(x_48, 0);
-lean_inc(x_50);
-x_51 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_50);
-lean_dec(x_50);
-if (lean_obj_tag(x_51) == 2)
-{
-lean_object* x_52; lean_object* x_53; uint8_t x_54;
-x_52 = lean_ctor_get(x_51, 1);
-lean_inc(x_52);
-lean_dec(x_51);
-x_53 = l_Lean_Parser_Command_infix___elambda__1___closed__5;
-x_54 = lean_string_dec_eq(x_52, x_53);
-lean_dec(x_52);
-if (x_54 == 0)
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; uint8_t x_59; lean_object* x_60;
-x_55 = l_Lean_Parser_Command_infix___elambda__1___closed__8;
-x_56 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_55, x_47);
-x_57 = l_Lean_Parser_Command_infix___elambda__1___closed__2;
-x_58 = l_Lean_Parser_ParserState_mkNode(x_56, x_57, x_46);
-x_59 = 1;
-x_60 = l_Lean_Parser_mergeOrElseErrors(x_58, x_38, x_35, x_59);
-lean_dec(x_35);
-return x_60;
-}
-else
-{
-lean_object* x_61; lean_object* x_62; uint8_t x_63; lean_object* x_64;
-lean_dec(x_47);
-x_61 = l_Lean_Parser_Command_infix___elambda__1___closed__2;
-x_62 = l_Lean_Parser_ParserState_mkNode(x_48, x_61, x_46);
-x_63 = 1;
-x_64 = l_Lean_Parser_mergeOrElseErrors(x_62, x_38, x_35, x_63);
-lean_dec(x_35);
-return x_64;
-}
-}
-else
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; uint8_t x_69; lean_object* x_70;
-lean_dec(x_51);
-x_65 = l_Lean_Parser_Command_infix___elambda__1___closed__8;
-x_66 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_65, x_47);
-x_67 = l_Lean_Parser_Command_infix___elambda__1___closed__2;
-x_68 = l_Lean_Parser_ParserState_mkNode(x_66, x_67, x_46);
-x_69 = 1;
-x_70 = l_Lean_Parser_mergeOrElseErrors(x_68, x_38, x_35, x_69);
-lean_dec(x_35);
-return x_70;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; uint8_t x_75; lean_object* x_76;
-lean_dec(x_49);
-x_71 = l_Lean_Parser_Command_infix___elambda__1___closed__8;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_71, x_47);
-x_73 = l_Lean_Parser_Command_infix___elambda__1___closed__2;
-x_74 = l_Lean_Parser_ParserState_mkNode(x_72, x_73, x_46);
-x_75 = 1;
-x_76 = l_Lean_Parser_mergeOrElseErrors(x_74, x_38, x_35, x_75);
-lean_dec(x_35);
-return x_76;
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_44);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_43, x_38, x_35, x_77);
-lean_dec(x_35);
-return x_78;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Command_infix___closed__1() {
_start:
{
@@ -12094,20 +8845,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_infixl___elambda__1___closed__6() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_infixl___elambda__1___closed__5;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_infixl___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_infixl___elambda__1___closed__7() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Command_infixl___elambda__1___closed__6;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Command_infixl___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_infixl___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -12115,250 +8868,27 @@ static lean_object* _init_l_Lean_Parser_Command_infixl___elambda__1___closed__8(
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
x_2 = l_Lean_Parser_Command_infixl___elambda__1___closed__7;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
lean_object* l_Lean_Parser_Command_infixl___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Command_infixl___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_11 = lean_ctor_get(x_7, 1);
-lean_inc(x_11);
-x_12 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_13 = lean_ctor_get(x_12, 3);
-lean_inc(x_13);
-if (lean_obj_tag(x_13) == 0)
-{
-lean_object* x_14; lean_object* x_15;
-x_14 = lean_ctor_get(x_12, 0);
-lean_inc(x_14);
-x_15 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_14);
-lean_dec(x_14);
-if (lean_obj_tag(x_15) == 2)
-{
-lean_object* x_16; lean_object* x_17; uint8_t x_18;
-x_16 = lean_ctor_get(x_15, 1);
-lean_inc(x_16);
-lean_dec(x_15);
-x_17 = l_Lean_Parser_Command_infixl___elambda__1___closed__5;
-x_18 = lean_string_dec_eq(x_16, x_17);
-lean_dec(x_16);
-if (x_18 == 0)
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
-x_19 = l_Lean_Parser_Command_infixl___elambda__1___closed__8;
-x_20 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_19, x_11);
-x_21 = l_Lean_Parser_Command_infixl___elambda__1___closed__2;
-x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_10);
-return x_22;
-}
-else
-{
-lean_object* x_23; lean_object* x_24;
-lean_dec(x_11);
-x_23 = l_Lean_Parser_Command_infixl___elambda__1___closed__2;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_12, x_23, x_10);
-return x_24;
-}
-}
-else
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
-lean_dec(x_15);
-x_25 = l_Lean_Parser_Command_infixl___elambda__1___closed__8;
-x_26 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_25, x_11);
-x_27 = l_Lean_Parser_Command_infixl___elambda__1___closed__2;
-x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_10);
-return x_28;
-}
-}
-else
-{
-lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
-lean_dec(x_13);
-x_29 = l_Lean_Parser_Command_infixl___elambda__1___closed__8;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_29, x_11);
-x_31 = l_Lean_Parser_Command_infixl___elambda__1___closed__2;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_10);
-return x_32;
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Command_infixl___elambda__1___closed__8;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_33 = lean_ctor_get(x_2, 0);
-lean_inc(x_33);
-x_34 = lean_array_get_size(x_33);
-lean_dec(x_33);
-x_35 = lean_ctor_get(x_2, 1);
-lean_inc(x_35);
-lean_inc(x_1);
-x_36 = lean_apply_2(x_4, x_1, x_2);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_36, 1);
-lean_inc(x_39);
-x_40 = lean_nat_dec_eq(x_39, x_35);
-lean_dec(x_39);
-if (x_40 == 0)
-{
-lean_dec(x_38);
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
-lean_inc(x_35);
-x_41 = l_Lean_Parser_ParserState_restore(x_36, x_34, x_35);
-lean_dec(x_34);
-x_42 = lean_unsigned_to_nat(1024u);
-x_43 = l_Lean_Parser_checkPrecFn(x_42, x_1, x_41);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-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_43, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-x_47 = lean_ctor_get(x_43, 1);
-lean_inc(x_47);
-x_48 = l_Lean_Parser_tokenFn(x_1, x_43);
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
-{
-lean_object* x_50; lean_object* x_51;
-x_50 = lean_ctor_get(x_48, 0);
-lean_inc(x_50);
-x_51 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_50);
-lean_dec(x_50);
-if (lean_obj_tag(x_51) == 2)
-{
-lean_object* x_52; lean_object* x_53; uint8_t x_54;
-x_52 = lean_ctor_get(x_51, 1);
-lean_inc(x_52);
-lean_dec(x_51);
-x_53 = l_Lean_Parser_Command_infixl___elambda__1___closed__5;
-x_54 = lean_string_dec_eq(x_52, x_53);
-lean_dec(x_52);
-if (x_54 == 0)
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; uint8_t x_59; lean_object* x_60;
-x_55 = l_Lean_Parser_Command_infixl___elambda__1___closed__8;
-x_56 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_55, x_47);
-x_57 = l_Lean_Parser_Command_infixl___elambda__1___closed__2;
-x_58 = l_Lean_Parser_ParserState_mkNode(x_56, x_57, x_46);
-x_59 = 1;
-x_60 = l_Lean_Parser_mergeOrElseErrors(x_58, x_38, x_35, x_59);
-lean_dec(x_35);
-return x_60;
-}
-else
-{
-lean_object* x_61; lean_object* x_62; uint8_t x_63; lean_object* x_64;
-lean_dec(x_47);
-x_61 = l_Lean_Parser_Command_infixl___elambda__1___closed__2;
-x_62 = l_Lean_Parser_ParserState_mkNode(x_48, x_61, x_46);
-x_63 = 1;
-x_64 = l_Lean_Parser_mergeOrElseErrors(x_62, x_38, x_35, x_63);
-lean_dec(x_35);
-return x_64;
-}
-}
-else
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; uint8_t x_69; lean_object* x_70;
-lean_dec(x_51);
-x_65 = l_Lean_Parser_Command_infixl___elambda__1___closed__8;
-x_66 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_65, x_47);
-x_67 = l_Lean_Parser_Command_infixl___elambda__1___closed__2;
-x_68 = l_Lean_Parser_ParserState_mkNode(x_66, x_67, x_46);
-x_69 = 1;
-x_70 = l_Lean_Parser_mergeOrElseErrors(x_68, x_38, x_35, x_69);
-lean_dec(x_35);
-return x_70;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; uint8_t x_75; lean_object* x_76;
-lean_dec(x_49);
-x_71 = l_Lean_Parser_Command_infixl___elambda__1___closed__8;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_71, x_47);
-x_73 = l_Lean_Parser_Command_infixl___elambda__1___closed__2;
-x_74 = l_Lean_Parser_ParserState_mkNode(x_72, x_73, x_46);
-x_75 = 1;
-x_76 = l_Lean_Parser_mergeOrElseErrors(x_74, x_38, x_35, x_75);
-lean_dec(x_35);
-return x_76;
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_44);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_43, x_38, x_35, x_77);
-lean_dec(x_35);
-return x_78;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Command_infixl___closed__1() {
_start:
{
@@ -12479,20 +9009,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_infixr___elambda__1___closed__6() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_infixr___elambda__1___closed__5;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_infixr___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_infixr___elambda__1___closed__7() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Command_infixr___elambda__1___closed__6;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Command_infixr___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_infixr___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -12500,250 +9032,27 @@ static lean_object* _init_l_Lean_Parser_Command_infixr___elambda__1___closed__8(
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
x_2 = l_Lean_Parser_Command_infixr___elambda__1___closed__7;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
lean_object* l_Lean_Parser_Command_infixr___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Command_infixr___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_11 = lean_ctor_get(x_7, 1);
-lean_inc(x_11);
-x_12 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_13 = lean_ctor_get(x_12, 3);
-lean_inc(x_13);
-if (lean_obj_tag(x_13) == 0)
-{
-lean_object* x_14; lean_object* x_15;
-x_14 = lean_ctor_get(x_12, 0);
-lean_inc(x_14);
-x_15 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_14);
-lean_dec(x_14);
-if (lean_obj_tag(x_15) == 2)
-{
-lean_object* x_16; lean_object* x_17; uint8_t x_18;
-x_16 = lean_ctor_get(x_15, 1);
-lean_inc(x_16);
-lean_dec(x_15);
-x_17 = l_Lean_Parser_Command_infixr___elambda__1___closed__5;
-x_18 = lean_string_dec_eq(x_16, x_17);
-lean_dec(x_16);
-if (x_18 == 0)
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
-x_19 = l_Lean_Parser_Command_infixr___elambda__1___closed__8;
-x_20 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_19, x_11);
-x_21 = l_Lean_Parser_Command_infixr___elambda__1___closed__2;
-x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_10);
-return x_22;
-}
-else
-{
-lean_object* x_23; lean_object* x_24;
-lean_dec(x_11);
-x_23 = l_Lean_Parser_Command_infixr___elambda__1___closed__2;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_12, x_23, x_10);
-return x_24;
-}
-}
-else
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
-lean_dec(x_15);
-x_25 = l_Lean_Parser_Command_infixr___elambda__1___closed__8;
-x_26 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_25, x_11);
-x_27 = l_Lean_Parser_Command_infixr___elambda__1___closed__2;
-x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_10);
-return x_28;
-}
-}
-else
-{
-lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
-lean_dec(x_13);
-x_29 = l_Lean_Parser_Command_infixr___elambda__1___closed__8;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_29, x_11);
-x_31 = l_Lean_Parser_Command_infixr___elambda__1___closed__2;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_10);
-return x_32;
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Command_infixr___elambda__1___closed__8;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_33 = lean_ctor_get(x_2, 0);
-lean_inc(x_33);
-x_34 = lean_array_get_size(x_33);
-lean_dec(x_33);
-x_35 = lean_ctor_get(x_2, 1);
-lean_inc(x_35);
-lean_inc(x_1);
-x_36 = lean_apply_2(x_4, x_1, x_2);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_36, 1);
-lean_inc(x_39);
-x_40 = lean_nat_dec_eq(x_39, x_35);
-lean_dec(x_39);
-if (x_40 == 0)
-{
-lean_dec(x_38);
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
-lean_inc(x_35);
-x_41 = l_Lean_Parser_ParserState_restore(x_36, x_34, x_35);
-lean_dec(x_34);
-x_42 = lean_unsigned_to_nat(1024u);
-x_43 = l_Lean_Parser_checkPrecFn(x_42, x_1, x_41);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-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_43, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-x_47 = lean_ctor_get(x_43, 1);
-lean_inc(x_47);
-x_48 = l_Lean_Parser_tokenFn(x_1, x_43);
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
-{
-lean_object* x_50; lean_object* x_51;
-x_50 = lean_ctor_get(x_48, 0);
-lean_inc(x_50);
-x_51 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_50);
-lean_dec(x_50);
-if (lean_obj_tag(x_51) == 2)
-{
-lean_object* x_52; lean_object* x_53; uint8_t x_54;
-x_52 = lean_ctor_get(x_51, 1);
-lean_inc(x_52);
-lean_dec(x_51);
-x_53 = l_Lean_Parser_Command_infixr___elambda__1___closed__5;
-x_54 = lean_string_dec_eq(x_52, x_53);
-lean_dec(x_52);
-if (x_54 == 0)
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; uint8_t x_59; lean_object* x_60;
-x_55 = l_Lean_Parser_Command_infixr___elambda__1___closed__8;
-x_56 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_55, x_47);
-x_57 = l_Lean_Parser_Command_infixr___elambda__1___closed__2;
-x_58 = l_Lean_Parser_ParserState_mkNode(x_56, x_57, x_46);
-x_59 = 1;
-x_60 = l_Lean_Parser_mergeOrElseErrors(x_58, x_38, x_35, x_59);
-lean_dec(x_35);
-return x_60;
-}
-else
-{
-lean_object* x_61; lean_object* x_62; uint8_t x_63; lean_object* x_64;
-lean_dec(x_47);
-x_61 = l_Lean_Parser_Command_infixr___elambda__1___closed__2;
-x_62 = l_Lean_Parser_ParserState_mkNode(x_48, x_61, x_46);
-x_63 = 1;
-x_64 = l_Lean_Parser_mergeOrElseErrors(x_62, x_38, x_35, x_63);
-lean_dec(x_35);
-return x_64;
-}
-}
-else
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; uint8_t x_69; lean_object* x_70;
-lean_dec(x_51);
-x_65 = l_Lean_Parser_Command_infixr___elambda__1___closed__8;
-x_66 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_65, x_47);
-x_67 = l_Lean_Parser_Command_infixr___elambda__1___closed__2;
-x_68 = l_Lean_Parser_ParserState_mkNode(x_66, x_67, x_46);
-x_69 = 1;
-x_70 = l_Lean_Parser_mergeOrElseErrors(x_68, x_38, x_35, x_69);
-lean_dec(x_35);
-return x_70;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; uint8_t x_75; lean_object* x_76;
-lean_dec(x_49);
-x_71 = l_Lean_Parser_Command_infixr___elambda__1___closed__8;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_71, x_47);
-x_73 = l_Lean_Parser_Command_infixr___elambda__1___closed__2;
-x_74 = l_Lean_Parser_ParserState_mkNode(x_72, x_73, x_46);
-x_75 = 1;
-x_76 = l_Lean_Parser_mergeOrElseErrors(x_74, x_38, x_35, x_75);
-lean_dec(x_35);
-return x_76;
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_44);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_43, x_38, x_35, x_77);
-lean_dec(x_35);
-return x_78;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Command_infixr___closed__1() {
_start:
{
@@ -12864,20 +9173,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_postfix___elambda__1___closed__6() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_postfix___elambda__1___closed__5;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_postfix___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_postfix___elambda__1___closed__7() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Command_postfix___elambda__1___closed__6;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Command_postfix___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_postfix___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -12885,250 +9196,27 @@ static lean_object* _init_l_Lean_Parser_Command_postfix___elambda__1___closed__8
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
x_2 = l_Lean_Parser_Command_postfix___elambda__1___closed__7;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
lean_object* l_Lean_Parser_Command_postfix___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Command_postfix___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_11 = lean_ctor_get(x_7, 1);
-lean_inc(x_11);
-x_12 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_13 = lean_ctor_get(x_12, 3);
-lean_inc(x_13);
-if (lean_obj_tag(x_13) == 0)
-{
-lean_object* x_14; lean_object* x_15;
-x_14 = lean_ctor_get(x_12, 0);
-lean_inc(x_14);
-x_15 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_14);
-lean_dec(x_14);
-if (lean_obj_tag(x_15) == 2)
-{
-lean_object* x_16; lean_object* x_17; uint8_t x_18;
-x_16 = lean_ctor_get(x_15, 1);
-lean_inc(x_16);
-lean_dec(x_15);
-x_17 = l_Lean_Parser_Command_postfix___elambda__1___closed__5;
-x_18 = lean_string_dec_eq(x_16, x_17);
-lean_dec(x_16);
-if (x_18 == 0)
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
-x_19 = l_Lean_Parser_Command_postfix___elambda__1___closed__8;
-x_20 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_19, x_11);
-x_21 = l_Lean_Parser_Command_postfix___elambda__1___closed__2;
-x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_10);
-return x_22;
-}
-else
-{
-lean_object* x_23; lean_object* x_24;
-lean_dec(x_11);
-x_23 = l_Lean_Parser_Command_postfix___elambda__1___closed__2;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_12, x_23, x_10);
-return x_24;
-}
-}
-else
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
-lean_dec(x_15);
-x_25 = l_Lean_Parser_Command_postfix___elambda__1___closed__8;
-x_26 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_25, x_11);
-x_27 = l_Lean_Parser_Command_postfix___elambda__1___closed__2;
-x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_10);
-return x_28;
-}
-}
-else
-{
-lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
-lean_dec(x_13);
-x_29 = l_Lean_Parser_Command_postfix___elambda__1___closed__8;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_29, x_11);
-x_31 = l_Lean_Parser_Command_postfix___elambda__1___closed__2;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_10);
-return x_32;
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Command_postfix___elambda__1___closed__8;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_33 = lean_ctor_get(x_2, 0);
-lean_inc(x_33);
-x_34 = lean_array_get_size(x_33);
-lean_dec(x_33);
-x_35 = lean_ctor_get(x_2, 1);
-lean_inc(x_35);
-lean_inc(x_1);
-x_36 = lean_apply_2(x_4, x_1, x_2);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_36, 1);
-lean_inc(x_39);
-x_40 = lean_nat_dec_eq(x_39, x_35);
-lean_dec(x_39);
-if (x_40 == 0)
-{
-lean_dec(x_38);
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
-lean_inc(x_35);
-x_41 = l_Lean_Parser_ParserState_restore(x_36, x_34, x_35);
-lean_dec(x_34);
-x_42 = lean_unsigned_to_nat(1024u);
-x_43 = l_Lean_Parser_checkPrecFn(x_42, x_1, x_41);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-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_43, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-x_47 = lean_ctor_get(x_43, 1);
-lean_inc(x_47);
-x_48 = l_Lean_Parser_tokenFn(x_1, x_43);
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
-{
-lean_object* x_50; lean_object* x_51;
-x_50 = lean_ctor_get(x_48, 0);
-lean_inc(x_50);
-x_51 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_50);
-lean_dec(x_50);
-if (lean_obj_tag(x_51) == 2)
-{
-lean_object* x_52; lean_object* x_53; uint8_t x_54;
-x_52 = lean_ctor_get(x_51, 1);
-lean_inc(x_52);
-lean_dec(x_51);
-x_53 = l_Lean_Parser_Command_postfix___elambda__1___closed__5;
-x_54 = lean_string_dec_eq(x_52, x_53);
-lean_dec(x_52);
-if (x_54 == 0)
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; uint8_t x_59; lean_object* x_60;
-x_55 = l_Lean_Parser_Command_postfix___elambda__1___closed__8;
-x_56 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_55, x_47);
-x_57 = l_Lean_Parser_Command_postfix___elambda__1___closed__2;
-x_58 = l_Lean_Parser_ParserState_mkNode(x_56, x_57, x_46);
-x_59 = 1;
-x_60 = l_Lean_Parser_mergeOrElseErrors(x_58, x_38, x_35, x_59);
-lean_dec(x_35);
-return x_60;
-}
-else
-{
-lean_object* x_61; lean_object* x_62; uint8_t x_63; lean_object* x_64;
-lean_dec(x_47);
-x_61 = l_Lean_Parser_Command_postfix___elambda__1___closed__2;
-x_62 = l_Lean_Parser_ParserState_mkNode(x_48, x_61, x_46);
-x_63 = 1;
-x_64 = l_Lean_Parser_mergeOrElseErrors(x_62, x_38, x_35, x_63);
-lean_dec(x_35);
-return x_64;
-}
-}
-else
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; uint8_t x_69; lean_object* x_70;
-lean_dec(x_51);
-x_65 = l_Lean_Parser_Command_postfix___elambda__1___closed__8;
-x_66 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_65, x_47);
-x_67 = l_Lean_Parser_Command_postfix___elambda__1___closed__2;
-x_68 = l_Lean_Parser_ParserState_mkNode(x_66, x_67, x_46);
-x_69 = 1;
-x_70 = l_Lean_Parser_mergeOrElseErrors(x_68, x_38, x_35, x_69);
-lean_dec(x_35);
-return x_70;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; uint8_t x_75; lean_object* x_76;
-lean_dec(x_49);
-x_71 = l_Lean_Parser_Command_postfix___elambda__1___closed__8;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_71, x_47);
-x_73 = l_Lean_Parser_Command_postfix___elambda__1___closed__2;
-x_74 = l_Lean_Parser_ParserState_mkNode(x_72, x_73, x_46);
-x_75 = 1;
-x_76 = l_Lean_Parser_mergeOrElseErrors(x_74, x_38, x_35, x_75);
-lean_dec(x_35);
-return x_76;
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_44);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_43, x_38, x_35, x_77);
-lean_dec(x_35);
-return x_78;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Command_postfix___closed__1() {
_start:
{
@@ -13198,209 +9286,52 @@ x_1 = l_Lean_Parser_Command_postfix___closed__6;
return x_1;
}
}
+static lean_object* _init_l_Lean_Parser_Command_mixfixKind___elambda__1___closed__1() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_infixr___closed__5;
+x_2 = l_Lean_Parser_Command_postfix___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_mixfixKind___elambda__1___closed__2() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_infixl___closed__5;
+x_2 = l_Lean_Parser_Command_mixfixKind___elambda__1___closed__1;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_mixfixKind___elambda__1___closed__3() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_infix___closed__5;
+x_2 = l_Lean_Parser_Command_mixfixKind___elambda__1___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Command_mixfixKind___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-lean_inc(x_1);
-x_6 = l_Lean_Parser_Command_prefix___elambda__1(x_1, x_2);
-x_7 = lean_ctor_get(x_6, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
-{
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_1);
+lean_object* x_3; lean_object* x_4; uint8_t x_5; lean_object* x_6;
+x_3 = l_Lean_Parser_Command_prefix___closed__5;
+x_4 = l_Lean_Parser_Command_mixfixKind___elambda__1___closed__3;
+x_5 = 1;
+x_6 = l_Lean_Parser_orelseFnCore(x_3, x_4, x_5, x_1, x_2);
return x_6;
}
-else
-{
-lean_object* x_8; lean_object* x_9; uint8_t x_10;
-x_8 = lean_ctor_get(x_7, 0);
-lean_inc(x_8);
-lean_dec(x_7);
-x_9 = lean_ctor_get(x_6, 1);
-lean_inc(x_9);
-x_10 = lean_nat_dec_eq(x_9, x_5);
-lean_dec(x_9);
-if (x_10 == 0)
-{
-lean_dec(x_8);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_6;
-}
-else
-{
-lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15;
-lean_inc(x_5);
-x_11 = l_Lean_Parser_ParserState_restore(x_6, x_4, x_5);
-lean_dec(x_4);
-x_12 = lean_ctor_get(x_11, 0);
-lean_inc(x_12);
-x_13 = lean_array_get_size(x_12);
-lean_dec(x_12);
-lean_inc(x_1);
-x_14 = l_Lean_Parser_Command_infix___elambda__1(x_1, x_11);
-x_15 = lean_ctor_get(x_14, 3);
-lean_inc(x_15);
-if (lean_obj_tag(x_15) == 0)
-{
-uint8_t x_16; lean_object* x_17;
-lean_dec(x_13);
-lean_dec(x_1);
-x_16 = 1;
-x_17 = l_Lean_Parser_mergeOrElseErrors(x_14, x_8, x_5, x_16);
-lean_dec(x_5);
-return x_17;
-}
-else
-{
-lean_object* x_18; lean_object* x_19; uint8_t x_20;
-x_18 = lean_ctor_get(x_15, 0);
-lean_inc(x_18);
-lean_dec(x_15);
-x_19 = lean_ctor_get(x_14, 1);
-lean_inc(x_19);
-x_20 = lean_nat_dec_eq(x_19, x_5);
-lean_dec(x_19);
-if (x_20 == 0)
-{
-uint8_t x_21; lean_object* x_22;
-lean_dec(x_18);
-lean_dec(x_13);
-lean_dec(x_1);
-x_21 = 1;
-x_22 = l_Lean_Parser_mergeOrElseErrors(x_14, x_8, x_5, x_21);
-lean_dec(x_5);
-return x_22;
-}
-else
-{
-lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
-lean_inc(x_5);
-x_23 = l_Lean_Parser_ParserState_restore(x_14, x_13, x_5);
-lean_dec(x_13);
-x_24 = lean_ctor_get(x_23, 0);
-lean_inc(x_24);
-x_25 = lean_array_get_size(x_24);
-lean_dec(x_24);
-lean_inc(x_1);
-x_26 = l_Lean_Parser_Command_infixl___elambda__1(x_1, x_23);
-x_27 = lean_ctor_get(x_26, 3);
-lean_inc(x_27);
-if (lean_obj_tag(x_27) == 0)
-{
-uint8_t x_28; lean_object* x_29; lean_object* x_30;
-lean_dec(x_25);
-lean_dec(x_1);
-x_28 = 1;
-x_29 = l_Lean_Parser_mergeOrElseErrors(x_26, x_18, x_5, x_28);
-x_30 = l_Lean_Parser_mergeOrElseErrors(x_29, x_8, x_5, x_28);
-lean_dec(x_5);
-return x_30;
-}
-else
-{
-lean_object* x_31; lean_object* x_32; uint8_t x_33;
-x_31 = lean_ctor_get(x_27, 0);
-lean_inc(x_31);
-lean_dec(x_27);
-x_32 = lean_ctor_get(x_26, 1);
-lean_inc(x_32);
-x_33 = lean_nat_dec_eq(x_32, x_5);
-lean_dec(x_32);
-if (x_33 == 0)
-{
-uint8_t x_34; lean_object* x_35; lean_object* x_36;
-lean_dec(x_31);
-lean_dec(x_25);
-lean_dec(x_1);
-x_34 = 1;
-x_35 = l_Lean_Parser_mergeOrElseErrors(x_26, x_18, x_5, x_34);
-x_36 = l_Lean_Parser_mergeOrElseErrors(x_35, x_8, x_5, x_34);
-lean_dec(x_5);
-return x_36;
-}
-else
-{
-lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41;
-lean_inc(x_5);
-x_37 = l_Lean_Parser_ParserState_restore(x_26, x_25, x_5);
-lean_dec(x_25);
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-x_39 = lean_array_get_size(x_38);
-lean_dec(x_38);
-lean_inc(x_1);
-x_40 = l_Lean_Parser_Command_infixr___elambda__1(x_1, x_37);
-x_41 = lean_ctor_get(x_40, 3);
-lean_inc(x_41);
-if (lean_obj_tag(x_41) == 0)
-{
-uint8_t x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45;
-lean_dec(x_39);
-lean_dec(x_1);
-x_42 = 1;
-x_43 = l_Lean_Parser_mergeOrElseErrors(x_40, x_31, x_5, x_42);
-x_44 = l_Lean_Parser_mergeOrElseErrors(x_43, x_18, x_5, x_42);
-x_45 = l_Lean_Parser_mergeOrElseErrors(x_44, x_8, x_5, x_42);
-lean_dec(x_5);
-return x_45;
-}
-else
-{
-lean_object* x_46; lean_object* x_47; uint8_t x_48;
-x_46 = lean_ctor_get(x_41, 0);
-lean_inc(x_46);
-lean_dec(x_41);
-x_47 = lean_ctor_get(x_40, 1);
-lean_inc(x_47);
-x_48 = lean_nat_dec_eq(x_47, x_5);
-lean_dec(x_47);
-if (x_48 == 0)
-{
-uint8_t x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52;
-lean_dec(x_46);
-lean_dec(x_39);
-lean_dec(x_1);
-x_49 = 1;
-x_50 = l_Lean_Parser_mergeOrElseErrors(x_40, x_31, x_5, x_49);
-x_51 = l_Lean_Parser_mergeOrElseErrors(x_50, x_18, x_5, x_49);
-x_52 = l_Lean_Parser_mergeOrElseErrors(x_51, x_8, x_5, x_49);
-lean_dec(x_5);
-return x_52;
-}
-else
-{
-lean_object* x_53; lean_object* x_54; uint8_t x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59;
-lean_inc(x_5);
-x_53 = l_Lean_Parser_ParserState_restore(x_40, x_39, x_5);
-lean_dec(x_39);
-x_54 = l_Lean_Parser_Command_postfix___elambda__1(x_1, x_53);
-x_55 = 1;
-x_56 = l_Lean_Parser_mergeOrElseErrors(x_54, x_46, x_5, x_55);
-x_57 = l_Lean_Parser_mergeOrElseErrors(x_56, x_31, x_5, x_55);
-x_58 = l_Lean_Parser_mergeOrElseErrors(x_57, x_18, x_5, x_55);
-x_59 = l_Lean_Parser_mergeOrElseErrors(x_58, x_8, x_5, x_55);
-lean_dec(x_5);
-return x_59;
-}
-}
-}
-}
-}
-}
-}
-}
-}
}
static lean_object* _init_l_Lean_Parser_Command_mixfixKind___closed__1() {
_start:
@@ -13519,699 +9450,139 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Command_mixfix___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_quotedSymbol___closed__1;
+x_2 = l_Lean_Parser_unquotedSymbol___closed__1;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_mixfix___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_strLit___closed__2;
+x_2 = l_Lean_Parser_Command_mixfix___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_mixfix___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Parser_inhabited___closed__2;
+x_2 = l_Lean_Parser_Command_mixfix___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_mixfix___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_darrow___closed__2;
+x_2 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_mixfix___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_mixfix___elambda__1___closed__8;
+x_2 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_mixfix___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_mixfix___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Command_mixfix___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_mixfix___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_optPrecedence___closed__2;
+x_2 = l_Lean_Parser_Command_mixfix___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_mixfix___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_mixfixKind___closed__5;
+x_2 = l_Lean_Parser_Command_mixfix___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_mixfix___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_mixfix___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_mixfix___elambda__1___closed__12;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_mixfix___elambda__1___closed__14() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_mixfix___elambda__1___closed__13;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Command_mixfix___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Command_mixfix___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_21; lean_object* x_56; lean_object* x_57;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-lean_inc(x_1);
-x_56 = l_Lean_Parser_Command_mixfixKind___elambda__1(x_1, x_7);
-x_57 = lean_ctor_get(x_56, 3);
-lean_inc(x_57);
-if (lean_obj_tag(x_57) == 0)
-{
-lean_object* x_58; lean_object* x_59;
-lean_inc(x_1);
-x_58 = l_Lean_Parser_optPrecedence___elambda__1(x_1, x_56);
-x_59 = lean_ctor_get(x_58, 3);
-lean_inc(x_59);
-if (lean_obj_tag(x_59) == 0)
-{
-lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64;
-x_60 = lean_ctor_get(x_58, 0);
-lean_inc(x_60);
-x_61 = lean_array_get_size(x_60);
-lean_dec(x_60);
-x_62 = lean_ctor_get(x_58, 1);
-lean_inc(x_62);
-lean_inc(x_1);
-x_63 = l_Lean_Parser_strLit___elambda__1(x_1, x_58);
-x_64 = lean_ctor_get(x_63, 3);
-lean_inc(x_64);
-if (lean_obj_tag(x_64) == 0)
-{
-lean_dec(x_62);
-lean_dec(x_61);
-x_21 = x_63;
-goto block_55;
-}
-else
-{
-lean_object* x_65; lean_object* x_66; uint8_t x_67;
-x_65 = lean_ctor_get(x_64, 0);
-lean_inc(x_65);
-lean_dec(x_64);
-x_66 = lean_ctor_get(x_63, 1);
-lean_inc(x_66);
-x_67 = lean_nat_dec_eq(x_66, x_62);
-lean_dec(x_66);
-if (x_67 == 0)
-{
-lean_dec(x_65);
-lean_dec(x_62);
-lean_dec(x_61);
-x_21 = x_63;
-goto block_55;
-}
-else
-{
-lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72;
-lean_inc(x_62);
-x_68 = l_Lean_Parser_ParserState_restore(x_63, x_61, x_62);
-lean_dec(x_61);
-x_69 = lean_ctor_get(x_68, 0);
-lean_inc(x_69);
-x_70 = lean_array_get_size(x_69);
-lean_dec(x_69);
-x_71 = l_Lean_Parser_quotedSymbolFn(x_1, x_68);
-x_72 = lean_ctor_get(x_71, 3);
-lean_inc(x_72);
-if (lean_obj_tag(x_72) == 0)
-{
-uint8_t x_73; lean_object* x_74;
-lean_dec(x_70);
-x_73 = 1;
-x_74 = l_Lean_Parser_mergeOrElseErrors(x_71, x_65, x_62, x_73);
-lean_dec(x_62);
-x_21 = x_74;
-goto block_55;
-}
-else
-{
-lean_object* x_75; lean_object* x_76; uint8_t x_77;
-x_75 = lean_ctor_get(x_72, 0);
-lean_inc(x_75);
-lean_dec(x_72);
-x_76 = lean_ctor_get(x_71, 1);
-lean_inc(x_76);
-x_77 = lean_nat_dec_eq(x_76, x_62);
-lean_dec(x_76);
-if (x_77 == 0)
-{
-uint8_t x_78; lean_object* x_79;
-lean_dec(x_75);
-lean_dec(x_70);
-x_78 = 1;
-x_79 = l_Lean_Parser_mergeOrElseErrors(x_71, x_65, x_62, x_78);
-lean_dec(x_62);
-x_21 = x_79;
-goto block_55;
-}
-else
-{
-lean_object* x_80; lean_object* x_81; uint8_t x_82; lean_object* x_83; lean_object* x_84;
-lean_inc(x_62);
-x_80 = l_Lean_Parser_ParserState_restore(x_71, x_70, x_62);
-lean_dec(x_70);
-lean_inc(x_1);
-x_81 = l_Lean_Parser_unquotedSymbolFn(x_1, x_80);
-x_82 = 1;
-x_83 = l_Lean_Parser_mergeOrElseErrors(x_81, x_75, x_62, x_82);
-x_84 = l_Lean_Parser_mergeOrElseErrors(x_83, x_65, x_62, x_82);
-lean_dec(x_62);
-x_21 = x_84;
-goto block_55;
-}
-}
-}
-}
-}
-else
-{
-lean_object* x_85; lean_object* x_86;
-lean_dec(x_59);
-lean_dec(x_1);
-x_85 = l_Lean_Parser_Command_mixfix___elambda__1___closed__2;
-x_86 = l_Lean_Parser_ParserState_mkNode(x_58, x_85, x_10);
-return x_86;
-}
-}
-else
-{
-lean_object* x_87; lean_object* x_88;
-lean_dec(x_57);
-lean_dec(x_1);
-x_87 = l_Lean_Parser_Command_mixfix___elambda__1___closed__2;
-x_88 = l_Lean_Parser_ParserState_mkNode(x_56, x_87, x_10);
-return x_88;
-}
-block_20:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_13 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_14 = lean_unsigned_to_nat(0u);
-x_15 = l_Lean_Parser_categoryParser___elambda__1(x_13, x_14, x_1, x_11);
-x_16 = l_Lean_Parser_Command_mixfix___elambda__1___closed__2;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_10);
-return x_17;
-}
-else
-{
-lean_object* x_18; lean_object* x_19;
-lean_dec(x_12);
-lean_dec(x_1);
-x_18 = l_Lean_Parser_Command_mixfix___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_11, x_18, x_10);
-return x_19;
-}
-}
-block_55:
-{
-lean_object* x_22;
-x_22 = lean_ctor_get(x_21, 3);
-lean_inc(x_22);
-if (lean_obj_tag(x_22) == 0)
-{
-lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
-x_23 = lean_ctor_get(x_21, 0);
-lean_inc(x_23);
-x_24 = lean_array_get_size(x_23);
-lean_dec(x_23);
-x_25 = lean_ctor_get(x_21, 1);
-lean_inc(x_25);
-lean_inc(x_1);
-x_26 = l_Lean_Parser_darrow___elambda__1(x_1, x_21);
-x_27 = lean_ctor_get(x_26, 3);
-lean_inc(x_27);
-if (lean_obj_tag(x_27) == 0)
-{
-lean_dec(x_25);
-lean_dec(x_24);
-x_11 = x_26;
-goto block_20;
-}
-else
-{
-lean_object* x_28; lean_object* x_29; uint8_t x_30;
-x_28 = lean_ctor_get(x_27, 0);
-lean_inc(x_28);
-lean_dec(x_27);
-x_29 = lean_ctor_get(x_26, 1);
-lean_inc(x_29);
-x_30 = lean_nat_dec_eq(x_29, x_25);
-lean_dec(x_29);
-if (x_30 == 0)
-{
-lean_dec(x_28);
-lean_dec(x_25);
-lean_dec(x_24);
-x_11 = x_26;
-goto block_20;
-}
-else
-{
-lean_object* x_31; lean_object* x_32; lean_object* x_33;
-lean_inc(x_25);
-x_31 = l_Lean_Parser_ParserState_restore(x_26, x_24, x_25);
-lean_dec(x_24);
-lean_inc(x_1);
-x_32 = l_Lean_Parser_tokenFn(x_1, x_31);
-x_33 = lean_ctor_get(x_32, 3);
-lean_inc(x_33);
-if (lean_obj_tag(x_33) == 0)
-{
-lean_object* x_34; lean_object* x_35;
-x_34 = lean_ctor_get(x_32, 0);
-lean_inc(x_34);
-x_35 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_34);
-lean_dec(x_34);
-if (lean_obj_tag(x_35) == 2)
-{
-lean_object* x_36; lean_object* x_37; uint8_t x_38;
-x_36 = lean_ctor_get(x_35, 1);
-lean_inc(x_36);
-lean_dec(x_35);
-x_37 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__5;
-x_38 = lean_string_dec_eq(x_36, x_37);
-lean_dec(x_36);
-if (x_38 == 0)
-{
-lean_object* x_39; lean_object* x_40; uint8_t x_41; lean_object* x_42;
-x_39 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-lean_inc(x_25);
-x_40 = l_Lean_Parser_ParserState_mkErrorsAt(x_32, x_39, x_25);
-x_41 = 1;
-x_42 = l_Lean_Parser_mergeOrElseErrors(x_40, x_28, x_25, x_41);
-lean_dec(x_25);
-x_11 = x_42;
-goto block_20;
-}
-else
-{
-uint8_t x_43; lean_object* x_44;
-x_43 = 1;
-x_44 = l_Lean_Parser_mergeOrElseErrors(x_32, x_28, x_25, x_43);
-lean_dec(x_25);
-x_11 = x_44;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_45; lean_object* x_46; uint8_t x_47; lean_object* x_48;
-lean_dec(x_35);
-x_45 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-lean_inc(x_25);
-x_46 = l_Lean_Parser_ParserState_mkErrorsAt(x_32, x_45, x_25);
-x_47 = 1;
-x_48 = l_Lean_Parser_mergeOrElseErrors(x_46, x_28, x_25, x_47);
-lean_dec(x_25);
-x_11 = x_48;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_49; lean_object* x_50; uint8_t x_51; lean_object* x_52;
-lean_dec(x_33);
-x_49 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-lean_inc(x_25);
-x_50 = l_Lean_Parser_ParserState_mkErrorsAt(x_32, x_49, x_25);
-x_51 = 1;
-x_52 = l_Lean_Parser_mergeOrElseErrors(x_50, x_28, x_25, x_51);
-lean_dec(x_25);
-x_11 = x_52;
-goto block_20;
-}
-}
-}
-}
-else
-{
-lean_object* x_53; lean_object* x_54;
-lean_dec(x_22);
-lean_dec(x_1);
-x_53 = l_Lean_Parser_Command_mixfix___elambda__1___closed__2;
-x_54 = l_Lean_Parser_ParserState_mkNode(x_21, x_53, x_10);
-return x_54;
-}
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Command_mixfix___elambda__1___closed__14;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93;
-x_89 = lean_ctor_get(x_2, 0);
-lean_inc(x_89);
-x_90 = lean_array_get_size(x_89);
-lean_dec(x_89);
-x_91 = lean_ctor_get(x_2, 1);
-lean_inc(x_91);
-lean_inc(x_1);
-x_92 = lean_apply_2(x_4, x_1, x_2);
-x_93 = lean_ctor_get(x_92, 3);
-lean_inc(x_93);
-if (lean_obj_tag(x_93) == 0)
-{
-lean_dec(x_91);
-lean_dec(x_90);
-lean_dec(x_1);
-return x_92;
-}
-else
-{
-lean_object* x_94; lean_object* x_95; uint8_t x_96;
-x_94 = lean_ctor_get(x_93, 0);
-lean_inc(x_94);
-lean_dec(x_93);
-x_95 = lean_ctor_get(x_92, 1);
-lean_inc(x_95);
-x_96 = lean_nat_dec_eq(x_95, x_91);
-lean_dec(x_95);
-if (x_96 == 0)
-{
-lean_dec(x_94);
-lean_dec(x_91);
-lean_dec(x_90);
-lean_dec(x_1);
-return x_92;
-}
-else
-{
-lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100;
-lean_inc(x_91);
-x_97 = l_Lean_Parser_ParserState_restore(x_92, x_90, x_91);
-lean_dec(x_90);
-x_98 = lean_unsigned_to_nat(1024u);
-x_99 = l_Lean_Parser_checkPrecFn(x_98, x_1, x_97);
-x_100 = lean_ctor_get(x_99, 3);
-lean_inc(x_100);
-if (lean_obj_tag(x_100) == 0)
-{
-lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_117; lean_object* x_154; lean_object* x_155;
-x_101 = lean_ctor_get(x_99, 0);
-lean_inc(x_101);
-x_102 = lean_array_get_size(x_101);
-lean_dec(x_101);
-lean_inc(x_1);
-x_154 = l_Lean_Parser_Command_mixfixKind___elambda__1(x_1, x_99);
-x_155 = lean_ctor_get(x_154, 3);
-lean_inc(x_155);
-if (lean_obj_tag(x_155) == 0)
-{
-lean_object* x_156; lean_object* x_157;
-lean_inc(x_1);
-x_156 = l_Lean_Parser_optPrecedence___elambda__1(x_1, x_154);
-x_157 = lean_ctor_get(x_156, 3);
-lean_inc(x_157);
-if (lean_obj_tag(x_157) == 0)
-{
-lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162;
-x_158 = lean_ctor_get(x_156, 0);
-lean_inc(x_158);
-x_159 = lean_array_get_size(x_158);
-lean_dec(x_158);
-x_160 = lean_ctor_get(x_156, 1);
-lean_inc(x_160);
-lean_inc(x_1);
-x_161 = l_Lean_Parser_strLit___elambda__1(x_1, x_156);
-x_162 = lean_ctor_get(x_161, 3);
-lean_inc(x_162);
-if (lean_obj_tag(x_162) == 0)
-{
-lean_dec(x_160);
-lean_dec(x_159);
-x_117 = x_161;
-goto block_153;
-}
-else
-{
-lean_object* x_163; lean_object* x_164; uint8_t x_165;
-x_163 = lean_ctor_get(x_162, 0);
-lean_inc(x_163);
-lean_dec(x_162);
-x_164 = lean_ctor_get(x_161, 1);
-lean_inc(x_164);
-x_165 = lean_nat_dec_eq(x_164, x_160);
-lean_dec(x_164);
-if (x_165 == 0)
-{
-lean_dec(x_163);
-lean_dec(x_160);
-lean_dec(x_159);
-x_117 = x_161;
-goto block_153;
-}
-else
-{
-lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170;
-lean_inc(x_160);
-x_166 = l_Lean_Parser_ParserState_restore(x_161, x_159, x_160);
-lean_dec(x_159);
-x_167 = lean_ctor_get(x_166, 0);
-lean_inc(x_167);
-x_168 = lean_array_get_size(x_167);
-lean_dec(x_167);
-x_169 = l_Lean_Parser_quotedSymbolFn(x_1, x_166);
-x_170 = lean_ctor_get(x_169, 3);
-lean_inc(x_170);
-if (lean_obj_tag(x_170) == 0)
-{
-uint8_t x_171; lean_object* x_172;
-lean_dec(x_168);
-x_171 = 1;
-x_172 = l_Lean_Parser_mergeOrElseErrors(x_169, x_163, x_160, x_171);
-lean_dec(x_160);
-x_117 = x_172;
-goto block_153;
-}
-else
-{
-lean_object* x_173; lean_object* x_174; uint8_t x_175;
-x_173 = lean_ctor_get(x_170, 0);
-lean_inc(x_173);
-lean_dec(x_170);
-x_174 = lean_ctor_get(x_169, 1);
-lean_inc(x_174);
-x_175 = lean_nat_dec_eq(x_174, x_160);
-lean_dec(x_174);
-if (x_175 == 0)
-{
-uint8_t x_176; lean_object* x_177;
-lean_dec(x_173);
-lean_dec(x_168);
-x_176 = 1;
-x_177 = l_Lean_Parser_mergeOrElseErrors(x_169, x_163, x_160, x_176);
-lean_dec(x_160);
-x_117 = x_177;
-goto block_153;
-}
-else
-{
-lean_object* x_178; lean_object* x_179; uint8_t x_180; lean_object* x_181; lean_object* x_182;
-lean_inc(x_160);
-x_178 = l_Lean_Parser_ParserState_restore(x_169, x_168, x_160);
-lean_dec(x_168);
-lean_inc(x_1);
-x_179 = l_Lean_Parser_unquotedSymbolFn(x_1, x_178);
-x_180 = 1;
-x_181 = l_Lean_Parser_mergeOrElseErrors(x_179, x_173, x_160, x_180);
-x_182 = l_Lean_Parser_mergeOrElseErrors(x_181, x_163, x_160, x_180);
-lean_dec(x_160);
-x_117 = x_182;
-goto block_153;
-}
-}
-}
-}
-}
-else
-{
-lean_object* x_183; lean_object* x_184; uint8_t x_185; lean_object* x_186;
-lean_dec(x_157);
-lean_dec(x_1);
-x_183 = l_Lean_Parser_Command_mixfix___elambda__1___closed__2;
-x_184 = l_Lean_Parser_ParserState_mkNode(x_156, x_183, x_102);
-x_185 = 1;
-x_186 = l_Lean_Parser_mergeOrElseErrors(x_184, x_94, x_91, x_185);
-lean_dec(x_91);
-return x_186;
-}
-}
-else
-{
-lean_object* x_187; lean_object* x_188; uint8_t x_189; lean_object* x_190;
-lean_dec(x_155);
-lean_dec(x_1);
-x_187 = l_Lean_Parser_Command_mixfix___elambda__1___closed__2;
-x_188 = l_Lean_Parser_ParserState_mkNode(x_154, x_187, x_102);
-x_189 = 1;
-x_190 = l_Lean_Parser_mergeOrElseErrors(x_188, x_94, x_91, x_189);
-lean_dec(x_91);
-return x_190;
-}
-block_116:
-{
-lean_object* x_104;
-x_104 = lean_ctor_get(x_103, 3);
-lean_inc(x_104);
-if (lean_obj_tag(x_104) == 0)
-{
-lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; uint8_t x_110; lean_object* x_111;
-x_105 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_106 = lean_unsigned_to_nat(0u);
-x_107 = l_Lean_Parser_categoryParser___elambda__1(x_105, x_106, x_1, x_103);
-x_108 = l_Lean_Parser_Command_mixfix___elambda__1___closed__2;
-x_109 = l_Lean_Parser_ParserState_mkNode(x_107, x_108, x_102);
-x_110 = 1;
-x_111 = l_Lean_Parser_mergeOrElseErrors(x_109, x_94, x_91, x_110);
-lean_dec(x_91);
-return x_111;
-}
-else
-{
-lean_object* x_112; lean_object* x_113; uint8_t x_114; lean_object* x_115;
-lean_dec(x_104);
-lean_dec(x_1);
-x_112 = l_Lean_Parser_Command_mixfix___elambda__1___closed__2;
-x_113 = l_Lean_Parser_ParserState_mkNode(x_103, x_112, x_102);
-x_114 = 1;
-x_115 = l_Lean_Parser_mergeOrElseErrors(x_113, x_94, x_91, x_114);
-lean_dec(x_91);
-return x_115;
-}
-}
-block_153:
-{
-lean_object* x_118;
-x_118 = lean_ctor_get(x_117, 3);
-lean_inc(x_118);
-if (lean_obj_tag(x_118) == 0)
-{
-lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123;
-x_119 = lean_ctor_get(x_117, 0);
-lean_inc(x_119);
-x_120 = lean_array_get_size(x_119);
-lean_dec(x_119);
-x_121 = lean_ctor_get(x_117, 1);
-lean_inc(x_121);
-lean_inc(x_1);
-x_122 = l_Lean_Parser_darrow___elambda__1(x_1, x_117);
-x_123 = lean_ctor_get(x_122, 3);
-lean_inc(x_123);
-if (lean_obj_tag(x_123) == 0)
-{
-lean_dec(x_121);
-lean_dec(x_120);
-x_103 = x_122;
-goto block_116;
-}
-else
-{
-lean_object* x_124; lean_object* x_125; uint8_t x_126;
-x_124 = lean_ctor_get(x_123, 0);
-lean_inc(x_124);
-lean_dec(x_123);
-x_125 = lean_ctor_get(x_122, 1);
-lean_inc(x_125);
-x_126 = lean_nat_dec_eq(x_125, x_121);
-lean_dec(x_125);
-if (x_126 == 0)
-{
-lean_dec(x_124);
-lean_dec(x_121);
-lean_dec(x_120);
-x_103 = x_122;
-goto block_116;
-}
-else
-{
-lean_object* x_127; lean_object* x_128; lean_object* x_129;
-lean_inc(x_121);
-x_127 = l_Lean_Parser_ParserState_restore(x_122, x_120, x_121);
-lean_dec(x_120);
-lean_inc(x_1);
-x_128 = l_Lean_Parser_tokenFn(x_1, x_127);
-x_129 = lean_ctor_get(x_128, 3);
-lean_inc(x_129);
-if (lean_obj_tag(x_129) == 0)
-{
-lean_object* x_130; lean_object* x_131;
-x_130 = lean_ctor_get(x_128, 0);
-lean_inc(x_130);
-x_131 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_130);
-lean_dec(x_130);
-if (lean_obj_tag(x_131) == 2)
-{
-lean_object* x_132; lean_object* x_133; uint8_t x_134;
-x_132 = lean_ctor_get(x_131, 1);
-lean_inc(x_132);
-lean_dec(x_131);
-x_133 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__5;
-x_134 = lean_string_dec_eq(x_132, x_133);
-lean_dec(x_132);
-if (x_134 == 0)
-{
-lean_object* x_135; lean_object* x_136; uint8_t x_137; lean_object* x_138;
-x_135 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-lean_inc(x_121);
-x_136 = l_Lean_Parser_ParserState_mkErrorsAt(x_128, x_135, x_121);
-x_137 = 1;
-x_138 = l_Lean_Parser_mergeOrElseErrors(x_136, x_124, x_121, x_137);
-lean_dec(x_121);
-x_103 = x_138;
-goto block_116;
-}
-else
-{
-uint8_t x_139; lean_object* x_140;
-x_139 = 1;
-x_140 = l_Lean_Parser_mergeOrElseErrors(x_128, x_124, x_121, x_139);
-lean_dec(x_121);
-x_103 = x_140;
-goto block_116;
-}
-}
-else
-{
-lean_object* x_141; lean_object* x_142; uint8_t x_143; lean_object* x_144;
-lean_dec(x_131);
-x_141 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-lean_inc(x_121);
-x_142 = l_Lean_Parser_ParserState_mkErrorsAt(x_128, x_141, x_121);
-x_143 = 1;
-x_144 = l_Lean_Parser_mergeOrElseErrors(x_142, x_124, x_121, x_143);
-lean_dec(x_121);
-x_103 = x_144;
-goto block_116;
-}
-}
-else
-{
-lean_object* x_145; lean_object* x_146; uint8_t x_147; lean_object* x_148;
-lean_dec(x_129);
-x_145 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-lean_inc(x_121);
-x_146 = l_Lean_Parser_ParserState_mkErrorsAt(x_128, x_145, x_121);
-x_147 = 1;
-x_148 = l_Lean_Parser_mergeOrElseErrors(x_146, x_124, x_121, x_147);
-lean_dec(x_121);
-x_103 = x_148;
-goto block_116;
-}
-}
-}
-}
-else
-{
-lean_object* x_149; lean_object* x_150; uint8_t x_151; lean_object* x_152;
-lean_dec(x_118);
-lean_dec(x_1);
-x_149 = l_Lean_Parser_Command_mixfix___elambda__1___closed__2;
-x_150 = l_Lean_Parser_ParserState_mkNode(x_117, x_149, x_102);
-x_151 = 1;
-x_152 = l_Lean_Parser_mergeOrElseErrors(x_150, x_94, x_91, x_151);
-lean_dec(x_91);
-return x_152;
-}
-}
-}
-else
-{
-uint8_t x_191; lean_object* x_192;
-lean_dec(x_100);
-lean_dec(x_1);
-x_191 = 1;
-x_192 = l_Lean_Parser_mergeOrElseErrors(x_99, x_94, x_91, x_191);
-lean_dec(x_91);
-return x_192;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Command_mixfix___closed__1() {
_start:
{
@@ -15394,20 +10765,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_reserve___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_reserve___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_reserve___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_reserve___elambda__1___closed__8() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Command_reserve___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_quotedSymbol___closed__1;
+x_2 = l_Lean_Parser_optPrecedence___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -15415,354 +10788,75 @@ static lean_object* _init_l_Lean_Parser_Command_reserve___elambda__1___closed__9
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Parser_inhabited___closed__2;
x_2 = l_Lean_Parser_Command_reserve___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_reserve___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_mixfixKind___closed__5;
+x_2 = l_Lean_Parser_Command_reserve___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_reserve___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_reserve___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Command_reserve___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_reserve___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_reserve___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_reserve___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_reserve___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_reserve___elambda__1___closed__12;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
lean_object* l_Lean_Parser_Command_reserve___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Command_reserve___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_27; lean_object* x_28; lean_object* x_29;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_27 = lean_ctor_get(x_7, 1);
-lean_inc(x_27);
-lean_inc(x_1);
-x_28 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_29 = lean_ctor_get(x_28, 3);
-lean_inc(x_29);
-if (lean_obj_tag(x_29) == 0)
-{
-lean_object* x_30; lean_object* x_31;
-x_30 = lean_ctor_get(x_28, 0);
-lean_inc(x_30);
-x_31 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_30);
-lean_dec(x_30);
-if (lean_obj_tag(x_31) == 2)
-{
-lean_object* x_32; lean_object* x_33; uint8_t x_34;
-x_32 = lean_ctor_get(x_31, 1);
-lean_inc(x_32);
-lean_dec(x_31);
-x_33 = l_Lean_Parser_Command_reserve___elambda__1___closed__6;
-x_34 = lean_string_dec_eq(x_32, x_33);
-lean_dec(x_32);
-if (x_34 == 0)
-{
-lean_object* x_35; lean_object* x_36;
-x_35 = l_Lean_Parser_Command_reserve___elambda__1___closed__9;
-x_36 = l_Lean_Parser_ParserState_mkErrorsAt(x_28, x_35, x_27);
-x_11 = x_36;
-goto block_26;
-}
-else
-{
-lean_dec(x_27);
-x_11 = x_28;
-goto block_26;
-}
-}
-else
-{
-lean_object* x_37; lean_object* x_38;
-lean_dec(x_31);
-x_37 = l_Lean_Parser_Command_reserve___elambda__1___closed__9;
-x_38 = l_Lean_Parser_ParserState_mkErrorsAt(x_28, x_37, x_27);
-x_11 = x_38;
-goto block_26;
-}
-}
-else
-{
-lean_object* x_39; lean_object* x_40;
-lean_dec(x_29);
-x_39 = l_Lean_Parser_Command_reserve___elambda__1___closed__9;
-x_40 = l_Lean_Parser_ParserState_mkErrorsAt(x_28, x_39, x_27);
-x_11 = x_40;
-goto block_26;
-}
-block_26:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14;
-lean_inc(x_1);
-x_13 = l_Lean_Parser_Command_mixfixKind___elambda__1(x_1, x_11);
-x_14 = lean_ctor_get(x_13, 3);
-lean_inc(x_14);
-if (lean_obj_tag(x_14) == 0)
-{
-lean_object* x_15; lean_object* x_16;
-x_15 = l_Lean_Parser_quotedSymbolFn(x_1, x_13);
-x_16 = lean_ctor_get(x_15, 3);
-lean_inc(x_16);
-if (lean_obj_tag(x_16) == 0)
-{
-lean_object* x_17; lean_object* x_18; lean_object* x_19;
-x_17 = l_Lean_Parser_optPrecedence___elambda__1(x_1, x_15);
-x_18 = l_Lean_Parser_Command_reserve___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_10);
-return x_19;
-}
-else
-{
-lean_object* x_20; lean_object* x_21;
-lean_dec(x_16);
-lean_dec(x_1);
-x_20 = l_Lean_Parser_Command_reserve___elambda__1___closed__2;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_15, x_20, x_10);
-return x_21;
-}
-}
-else
-{
-lean_object* x_22; lean_object* x_23;
-lean_dec(x_14);
-lean_dec(x_1);
-x_22 = l_Lean_Parser_Command_reserve___elambda__1___closed__2;
-x_23 = l_Lean_Parser_ParserState_mkNode(x_13, x_22, x_10);
-return x_23;
-}
-}
-else
-{
-lean_object* x_24; lean_object* x_25;
-lean_dec(x_12);
-lean_dec(x_1);
-x_24 = l_Lean_Parser_Command_reserve___elambda__1___closed__2;
-x_25 = l_Lean_Parser_ParserState_mkNode(x_11, x_24, x_10);
-return x_25;
-}
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Command_reserve___elambda__1___closed__13;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45;
-x_41 = lean_ctor_get(x_2, 0);
-lean_inc(x_41);
-x_42 = lean_array_get_size(x_41);
-lean_dec(x_41);
-x_43 = lean_ctor_get(x_2, 1);
-lean_inc(x_43);
-lean_inc(x_1);
-x_44 = lean_apply_2(x_4, x_1, x_2);
-x_45 = lean_ctor_get(x_44, 3);
-lean_inc(x_45);
-if (lean_obj_tag(x_45) == 0)
-{
-lean_dec(x_43);
-lean_dec(x_42);
-lean_dec(x_1);
-return x_44;
-}
-else
-{
-lean_object* x_46; lean_object* x_47; uint8_t x_48;
-x_46 = lean_ctor_get(x_45, 0);
-lean_inc(x_46);
-lean_dec(x_45);
-x_47 = lean_ctor_get(x_44, 1);
-lean_inc(x_47);
-x_48 = lean_nat_dec_eq(x_47, x_43);
-lean_dec(x_47);
-if (x_48 == 0)
-{
-lean_dec(x_46);
-lean_dec(x_43);
-lean_dec(x_42);
-lean_dec(x_1);
-return x_44;
-}
-else
-{
-lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52;
-lean_inc(x_43);
-x_49 = l_Lean_Parser_ParserState_restore(x_44, x_42, x_43);
-lean_dec(x_42);
-x_50 = lean_unsigned_to_nat(1024u);
-x_51 = l_Lean_Parser_checkPrecFn(x_50, x_1, x_49);
-x_52 = lean_ctor_get(x_51, 3);
-lean_inc(x_52);
-if (lean_obj_tag(x_52) == 0)
-{
-lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_79; lean_object* x_80; lean_object* x_81;
-x_53 = lean_ctor_get(x_51, 0);
-lean_inc(x_53);
-x_54 = lean_array_get_size(x_53);
-lean_dec(x_53);
-x_79 = lean_ctor_get(x_51, 1);
-lean_inc(x_79);
-lean_inc(x_1);
-x_80 = l_Lean_Parser_tokenFn(x_1, x_51);
-x_81 = lean_ctor_get(x_80, 3);
-lean_inc(x_81);
-if (lean_obj_tag(x_81) == 0)
-{
-lean_object* x_82; lean_object* x_83;
-x_82 = lean_ctor_get(x_80, 0);
-lean_inc(x_82);
-x_83 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_82);
-lean_dec(x_82);
-if (lean_obj_tag(x_83) == 2)
-{
-lean_object* x_84; lean_object* x_85; uint8_t x_86;
-x_84 = lean_ctor_get(x_83, 1);
-lean_inc(x_84);
-lean_dec(x_83);
-x_85 = l_Lean_Parser_Command_reserve___elambda__1___closed__6;
-x_86 = lean_string_dec_eq(x_84, x_85);
-lean_dec(x_84);
-if (x_86 == 0)
-{
-lean_object* x_87; lean_object* x_88;
-x_87 = l_Lean_Parser_Command_reserve___elambda__1___closed__9;
-x_88 = l_Lean_Parser_ParserState_mkErrorsAt(x_80, x_87, x_79);
-x_55 = x_88;
-goto block_78;
-}
-else
-{
-lean_dec(x_79);
-x_55 = x_80;
-goto block_78;
-}
-}
-else
-{
-lean_object* x_89; lean_object* x_90;
-lean_dec(x_83);
-x_89 = l_Lean_Parser_Command_reserve___elambda__1___closed__9;
-x_90 = l_Lean_Parser_ParserState_mkErrorsAt(x_80, x_89, x_79);
-x_55 = x_90;
-goto block_78;
-}
-}
-else
-{
-lean_object* x_91; lean_object* x_92;
-lean_dec(x_81);
-x_91 = l_Lean_Parser_Command_reserve___elambda__1___closed__9;
-x_92 = l_Lean_Parser_ParserState_mkErrorsAt(x_80, x_91, x_79);
-x_55 = x_92;
-goto block_78;
-}
-block_78:
-{
-lean_object* x_56;
-x_56 = lean_ctor_get(x_55, 3);
-lean_inc(x_56);
-if (lean_obj_tag(x_56) == 0)
-{
-lean_object* x_57; lean_object* x_58;
-lean_inc(x_1);
-x_57 = l_Lean_Parser_Command_mixfixKind___elambda__1(x_1, x_55);
-x_58 = lean_ctor_get(x_57, 3);
-lean_inc(x_58);
-if (lean_obj_tag(x_58) == 0)
-{
-lean_object* x_59; lean_object* x_60;
-x_59 = l_Lean_Parser_quotedSymbolFn(x_1, x_57);
-x_60 = lean_ctor_get(x_59, 3);
-lean_inc(x_60);
-if (lean_obj_tag(x_60) == 0)
-{
-lean_object* x_61; lean_object* x_62; lean_object* x_63; uint8_t x_64; lean_object* x_65;
-x_61 = l_Lean_Parser_optPrecedence___elambda__1(x_1, x_59);
-x_62 = l_Lean_Parser_Command_reserve___elambda__1___closed__2;
-x_63 = l_Lean_Parser_ParserState_mkNode(x_61, x_62, x_54);
-x_64 = 1;
-x_65 = l_Lean_Parser_mergeOrElseErrors(x_63, x_46, x_43, x_64);
-lean_dec(x_43);
-return x_65;
-}
-else
-{
-lean_object* x_66; lean_object* x_67; uint8_t x_68; lean_object* x_69;
-lean_dec(x_60);
-lean_dec(x_1);
-x_66 = l_Lean_Parser_Command_reserve___elambda__1___closed__2;
-x_67 = l_Lean_Parser_ParserState_mkNode(x_59, x_66, x_54);
-x_68 = 1;
-x_69 = l_Lean_Parser_mergeOrElseErrors(x_67, x_46, x_43, x_68);
-lean_dec(x_43);
-return x_69;
-}
-}
-else
-{
-lean_object* x_70; lean_object* x_71; uint8_t x_72; lean_object* x_73;
-lean_dec(x_58);
-lean_dec(x_1);
-x_70 = l_Lean_Parser_Command_reserve___elambda__1___closed__2;
-x_71 = l_Lean_Parser_ParserState_mkNode(x_57, x_70, x_54);
-x_72 = 1;
-x_73 = l_Lean_Parser_mergeOrElseErrors(x_71, x_46, x_43, x_72);
-lean_dec(x_43);
-return x_73;
-}
-}
-else
-{
-lean_object* x_74; lean_object* x_75; uint8_t x_76; lean_object* x_77;
-lean_dec(x_56);
-lean_dec(x_1);
-x_74 = l_Lean_Parser_Command_reserve___elambda__1___closed__2;
-x_75 = l_Lean_Parser_ParserState_mkNode(x_55, x_74, x_54);
-x_76 = 1;
-x_77 = l_Lean_Parser_mergeOrElseErrors(x_75, x_46, x_43, x_76);
-lean_dec(x_43);
-return x_77;
-}
-}
-}
-else
-{
-uint8_t x_93; lean_object* x_94;
-lean_dec(x_52);
-lean_dec(x_1);
-x_93 = 1;
-x_94 = l_Lean_Parser_mergeOrElseErrors(x_51, x_46, x_43, x_93);
-lean_dec(x_43);
-return x_94;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Command_reserve___closed__1() {
_start:
{
@@ -16150,158 +11244,43 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Command_identPrec___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_identPrec___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Syntax_cat___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_identPrec___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_identPrec___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Command_identPrec___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Command_identPrec___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-lean_inc(x_1);
-x_11 = l_Lean_Parser_ident___elambda__1(x_1, x_7);
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15;
-x_13 = l_Lean_Parser_optPrecedence___elambda__1(x_1, x_11);
-x_14 = l_Lean_Parser_Command_identPrec___elambda__1___closed__2;
-x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
-return x_15;
-}
-else
-{
-lean_object* x_16; lean_object* x_17;
-lean_dec(x_12);
-lean_dec(x_1);
-x_16 = l_Lean_Parser_Command_identPrec___elambda__1___closed__2;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_11, x_16, x_10);
-return x_17;
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Command_identPrec___elambda__1___closed__6;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-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_2, 0);
-lean_inc(x_18);
-x_19 = lean_array_get_size(x_18);
-lean_dec(x_18);
-x_20 = lean_ctor_get(x_2, 1);
-lean_inc(x_20);
-lean_inc(x_1);
-x_21 = lean_apply_2(x_4, x_1, x_2);
-x_22 = lean_ctor_get(x_21, 3);
-lean_inc(x_22);
-if (lean_obj_tag(x_22) == 0)
-{
-lean_dec(x_20);
-lean_dec(x_19);
-lean_dec(x_1);
-return x_21;
-}
-else
-{
-lean_object* x_23; lean_object* x_24; uint8_t x_25;
-x_23 = lean_ctor_get(x_22, 0);
-lean_inc(x_23);
-lean_dec(x_22);
-x_24 = lean_ctor_get(x_21, 1);
-lean_inc(x_24);
-x_25 = lean_nat_dec_eq(x_24, x_20);
-lean_dec(x_24);
-if (x_25 == 0)
-{
-lean_dec(x_23);
-lean_dec(x_20);
-lean_dec(x_19);
-lean_dec(x_1);
-return x_21;
-}
-else
-{
-lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29;
-lean_inc(x_20);
-x_26 = l_Lean_Parser_ParserState_restore(x_21, x_19, x_20);
-lean_dec(x_19);
-x_27 = lean_unsigned_to_nat(1024u);
-x_28 = l_Lean_Parser_checkPrecFn(x_27, x_1, x_26);
-x_29 = lean_ctor_get(x_28, 3);
-lean_inc(x_29);
-if (lean_obj_tag(x_29) == 0)
-{
-lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
-x_30 = lean_ctor_get(x_28, 0);
-lean_inc(x_30);
-x_31 = lean_array_get_size(x_30);
-lean_dec(x_30);
-lean_inc(x_1);
-x_32 = l_Lean_Parser_ident___elambda__1(x_1, x_28);
-x_33 = lean_ctor_get(x_32, 3);
-lean_inc(x_33);
-if (lean_obj_tag(x_33) == 0)
-{
-lean_object* x_34; lean_object* x_35; lean_object* x_36; uint8_t x_37; lean_object* x_38;
-x_34 = l_Lean_Parser_optPrecedence___elambda__1(x_1, x_32);
-x_35 = l_Lean_Parser_Command_identPrec___elambda__1___closed__2;
-x_36 = l_Lean_Parser_ParserState_mkNode(x_34, x_35, x_31);
-x_37 = 1;
-x_38 = l_Lean_Parser_mergeOrElseErrors(x_36, x_23, x_20, x_37);
-lean_dec(x_20);
-return x_38;
-}
-else
-{
-lean_object* x_39; lean_object* x_40; uint8_t x_41; lean_object* x_42;
-lean_dec(x_33);
-lean_dec(x_1);
-x_39 = l_Lean_Parser_Command_identPrec___elambda__1___closed__2;
-x_40 = l_Lean_Parser_ParserState_mkNode(x_32, x_39, x_31);
-x_41 = 1;
-x_42 = l_Lean_Parser_mergeOrElseErrors(x_40, x_23, x_20, x_41);
-lean_dec(x_20);
-return x_42;
-}
-}
-else
-{
-uint8_t x_43; lean_object* x_44;
-lean_dec(x_29);
-lean_dec(x_1);
-x_43 = 1;
-x_44 = l_Lean_Parser_mergeOrElseErrors(x_28, x_23, x_20, x_43);
-lean_dec(x_20);
-return x_44;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Command_identPrec___closed__1() {
_start:
{
@@ -16362,198 +11341,37 @@ x_1 = l_Lean_Parser_Command_identPrec___closed__5;
return x_1;
}
}
+static lean_object* _init_l_Lean_Parser_Command_optKind___elambda__1___closed__1() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_ident___closed__2;
+x_2 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_optKind___elambda__1___closed__2() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Command_optKind___elambda__1___closed__1;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Command_optKind___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_18; lean_object* x_37; lean_object* x_38;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-lean_inc(x_1);
-x_37 = l_Lean_Parser_tokenFn(x_1, x_2);
-x_38 = lean_ctor_get(x_37, 3);
-lean_inc(x_38);
-if (lean_obj_tag(x_38) == 0)
-{
-lean_object* x_39; lean_object* x_40;
-x_39 = lean_ctor_get(x_37, 0);
-lean_inc(x_39);
-x_40 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_39);
-lean_dec(x_39);
-if (lean_obj_tag(x_40) == 2)
-{
-lean_object* x_41; lean_object* x_42; uint8_t x_43;
-x_41 = lean_ctor_get(x_40, 1);
-lean_inc(x_41);
-lean_dec(x_40);
-x_42 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__5;
-x_43 = lean_string_dec_eq(x_41, x_42);
-lean_dec(x_41);
-if (x_43 == 0)
-{
-lean_object* x_44; lean_object* x_45;
-x_44 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-lean_inc(x_5);
-x_45 = l_Lean_Parser_ParserState_mkErrorsAt(x_37, x_44, x_5);
-x_18 = x_45;
-goto block_36;
-}
-else
-{
-x_18 = x_37;
-goto block_36;
-}
-}
-else
-{
-lean_object* x_46; lean_object* x_47;
-lean_dec(x_40);
-x_46 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-lean_inc(x_5);
-x_47 = l_Lean_Parser_ParserState_mkErrorsAt(x_37, x_46, x_5);
-x_18 = x_47;
-goto block_36;
-}
-}
-else
-{
-lean_object* x_48; lean_object* x_49;
-lean_dec(x_38);
-x_48 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-lean_inc(x_5);
-x_49 = l_Lean_Parser_ParserState_mkErrorsAt(x_37, x_48, x_5);
-x_18 = x_49;
-goto block_36;
-}
-block_17:
-{
-lean_object* x_7;
-x_7 = lean_ctor_get(x_6, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
-{
-lean_object* x_8; lean_object* x_9;
-lean_dec(x_5);
-x_8 = l_Lean_nullKind;
-x_9 = l_Lean_Parser_ParserState_mkNode(x_6, x_8, x_4);
-return x_9;
-}
-else
-{
-lean_object* x_10; uint8_t x_11;
-lean_dec(x_7);
-x_10 = lean_ctor_get(x_6, 1);
-lean_inc(x_10);
-x_11 = lean_nat_dec_eq(x_10, x_5);
-lean_dec(x_10);
-if (x_11 == 0)
-{
-lean_object* x_12; lean_object* x_13;
-lean_dec(x_5);
-x_12 = l_Lean_nullKind;
-x_13 = l_Lean_Parser_ParserState_mkNode(x_6, x_12, x_4);
-return x_13;
-}
-else
-{
-lean_object* x_14; lean_object* x_15; lean_object* x_16;
-x_14 = l_Lean_Parser_ParserState_restore(x_6, x_4, x_5);
-x_15 = l_Lean_nullKind;
-x_16 = l_Lean_Parser_ParserState_mkNode(x_14, x_15, x_4);
-return x_16;
-}
-}
-}
-block_36:
-{
-lean_object* x_19;
-x_19 = lean_ctor_get(x_18, 3);
-lean_inc(x_19);
-if (lean_obj_tag(x_19) == 0)
-{
-lean_object* x_20; lean_object* x_21;
-lean_inc(x_1);
-x_20 = l_Lean_Parser_ident___elambda__1(x_1, x_18);
-x_21 = lean_ctor_get(x_20, 3);
-lean_inc(x_21);
-if (lean_obj_tag(x_21) == 0)
-{
-lean_object* x_22; lean_object* x_23; lean_object* x_24;
-x_22 = lean_ctor_get(x_20, 1);
-lean_inc(x_22);
-x_23 = l_Lean_Parser_tokenFn(x_1, x_20);
-x_24 = lean_ctor_get(x_23, 3);
-lean_inc(x_24);
-if (lean_obj_tag(x_24) == 0)
-{
-lean_object* x_25; lean_object* x_26;
-x_25 = lean_ctor_get(x_23, 0);
-lean_inc(x_25);
-x_26 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_25);
-lean_dec(x_25);
-if (lean_obj_tag(x_26) == 2)
-{
-lean_object* x_27; lean_object* x_28; uint8_t x_29;
-x_27 = lean_ctor_get(x_26, 1);
-lean_inc(x_27);
-lean_dec(x_26);
-x_28 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__6;
-x_29 = lean_string_dec_eq(x_27, x_28);
-lean_dec(x_27);
-if (x_29 == 0)
-{
-lean_object* x_30; lean_object* x_31;
-x_30 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_31 = l_Lean_Parser_ParserState_mkErrorsAt(x_23, x_30, x_22);
-x_6 = x_31;
-goto block_17;
-}
-else
-{
-lean_dec(x_22);
-x_6 = x_23;
-goto block_17;
-}
-}
-else
-{
-lean_object* x_32; lean_object* x_33;
-lean_dec(x_26);
-x_32 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_33 = l_Lean_Parser_ParserState_mkErrorsAt(x_23, x_32, x_22);
-x_6 = x_33;
-goto block_17;
-}
-}
-else
-{
-lean_object* x_34; lean_object* x_35;
-lean_dec(x_24);
-x_34 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_35 = l_Lean_Parser_ParserState_mkErrorsAt(x_23, x_34, x_22);
-x_6 = x_35;
-goto block_17;
-}
-}
-else
-{
-lean_dec(x_21);
-lean_dec(x_1);
-x_6 = x_20;
-goto block_17;
-}
-}
-else
-{
-lean_dec(x_19);
-lean_dec(x_1);
-x_6 = x_18;
-goto block_17;
-}
-}
+lean_object* x_3; lean_object* x_4;
+x_3 = l_Lean_Parser_Command_optKind___elambda__1___closed__2;
+x_4 = l_Lean_Parser_optionalFn(x_3, x_1, x_2);
+return x_4;
}
}
static lean_object* _init_l_Lean_Parser_Command_optKind___closed__1() {
@@ -16654,6 +11472,30 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Command_notationItem___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_quotedSymbol___closed__1;
+x_2 = l_Lean_Parser_Command_identPrec___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_notationItem___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_strLit___closed__2;
+x_2 = l_Lean_Parser_Command_notationItem___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Command_notationItem___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -16671,252 +11513,21 @@ lean_inc(x_1);
x_6 = l_Lean_Parser_tryAnti(x_1, x_2);
if (x_6 == 0)
{
-lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
+lean_object* x_7; lean_object* x_8; uint8_t x_9; lean_object* x_10;
lean_dec(x_5);
-x_7 = lean_ctor_get(x_2, 0);
-lean_inc(x_7);
-x_8 = lean_array_get_size(x_7);
-lean_dec(x_7);
-x_9 = lean_ctor_get(x_2, 1);
-lean_inc(x_9);
-lean_inc(x_1);
-x_10 = l_Lean_Parser_strLit___elambda__1(x_1, x_2);
-x_11 = lean_ctor_get(x_10, 3);
-lean_inc(x_11);
-if (lean_obj_tag(x_11) == 0)
-{
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_1);
+x_7 = l_Lean_Parser_strLit___closed__2;
+x_8 = l_Lean_Parser_Command_notationItem___elambda__1___closed__5;
+x_9 = 1;
+x_10 = l_Lean_Parser_orelseFnCore(x_7, x_8, x_9, x_1, x_2);
return x_10;
}
else
{
-lean_object* x_12; lean_object* x_13; uint8_t x_14;
-x_12 = lean_ctor_get(x_11, 0);
-lean_inc(x_12);
-lean_dec(x_11);
-x_13 = lean_ctor_get(x_10, 1);
-lean_inc(x_13);
-x_14 = lean_nat_dec_eq(x_13, x_9);
-lean_dec(x_13);
-if (x_14 == 0)
-{
-lean_dec(x_12);
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_1);
-return x_10;
-}
-else
-{
-lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
-lean_inc(x_9);
-x_15 = l_Lean_Parser_ParserState_restore(x_10, x_8, x_9);
-lean_dec(x_8);
-x_16 = lean_ctor_get(x_15, 0);
-lean_inc(x_16);
-x_17 = lean_array_get_size(x_16);
-lean_dec(x_16);
-x_18 = l_Lean_Parser_quotedSymbolFn(x_1, x_15);
-x_19 = lean_ctor_get(x_18, 3);
-lean_inc(x_19);
-if (lean_obj_tag(x_19) == 0)
-{
-uint8_t x_20; lean_object* x_21;
-lean_dec(x_17);
-lean_dec(x_1);
-x_20 = 1;
-x_21 = l_Lean_Parser_mergeOrElseErrors(x_18, x_12, x_9, x_20);
-lean_dec(x_9);
-return x_21;
-}
-else
-{
-lean_object* x_22; lean_object* x_23; uint8_t x_24;
-x_22 = lean_ctor_get(x_19, 0);
-lean_inc(x_22);
-lean_dec(x_19);
-x_23 = lean_ctor_get(x_18, 1);
-lean_inc(x_23);
-x_24 = lean_nat_dec_eq(x_23, x_9);
-lean_dec(x_23);
-if (x_24 == 0)
-{
-uint8_t x_25; lean_object* x_26;
-lean_dec(x_22);
-lean_dec(x_17);
-lean_dec(x_1);
-x_25 = 1;
-x_26 = l_Lean_Parser_mergeOrElseErrors(x_18, x_12, x_9, x_25);
-lean_dec(x_9);
-return x_26;
-}
-else
-{
-lean_object* x_27; lean_object* x_28; uint8_t x_29; lean_object* x_30; lean_object* x_31;
-lean_inc(x_9);
-x_27 = l_Lean_Parser_ParserState_restore(x_18, x_17, x_9);
-lean_dec(x_17);
-x_28 = l_Lean_Parser_Command_identPrec___elambda__1(x_1, x_27);
-x_29 = 1;
-x_30 = l_Lean_Parser_mergeOrElseErrors(x_28, x_22, x_9, x_29);
-x_31 = l_Lean_Parser_mergeOrElseErrors(x_30, x_12, x_9, x_29);
-lean_dec(x_9);
-return x_31;
-}
-}
-}
-}
-}
-else
-{
-lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36;
-x_32 = lean_ctor_get(x_2, 0);
-lean_inc(x_32);
-x_33 = lean_array_get_size(x_32);
-lean_dec(x_32);
-x_34 = lean_ctor_get(x_2, 1);
-lean_inc(x_34);
-lean_inc(x_1);
-x_35 = lean_apply_2(x_5, x_1, x_2);
-x_36 = lean_ctor_get(x_35, 3);
-lean_inc(x_36);
-if (lean_obj_tag(x_36) == 0)
-{
-lean_dec(x_34);
-lean_dec(x_33);
-lean_dec(x_1);
-return x_35;
-}
-else
-{
-lean_object* x_37; lean_object* x_38; uint8_t x_39;
-x_37 = lean_ctor_get(x_36, 0);
-lean_inc(x_37);
-lean_dec(x_36);
-x_38 = lean_ctor_get(x_35, 1);
-lean_inc(x_38);
-x_39 = lean_nat_dec_eq(x_38, x_34);
-lean_dec(x_38);
-if (x_39 == 0)
-{
-lean_dec(x_37);
-lean_dec(x_34);
-lean_dec(x_33);
-lean_dec(x_1);
-return x_35;
-}
-else
-{
-lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
-lean_inc(x_34);
-x_40 = l_Lean_Parser_ParserState_restore(x_35, x_33, x_34);
-lean_dec(x_33);
-x_41 = lean_ctor_get(x_40, 0);
-lean_inc(x_41);
-x_42 = lean_array_get_size(x_41);
-lean_dec(x_41);
-lean_inc(x_1);
-x_43 = l_Lean_Parser_strLit___elambda__1(x_1, x_40);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-uint8_t x_45; lean_object* x_46;
-lean_dec(x_42);
-lean_dec(x_1);
-x_45 = 1;
-x_46 = l_Lean_Parser_mergeOrElseErrors(x_43, x_37, x_34, x_45);
-lean_dec(x_34);
-return x_46;
-}
-else
-{
-lean_object* x_47; lean_object* x_48; uint8_t x_49;
-x_47 = lean_ctor_get(x_44, 0);
-lean_inc(x_47);
-lean_dec(x_44);
-x_48 = lean_ctor_get(x_43, 1);
-lean_inc(x_48);
-x_49 = lean_nat_dec_eq(x_48, x_34);
-lean_dec(x_48);
-if (x_49 == 0)
-{
-uint8_t x_50; lean_object* x_51;
-lean_dec(x_47);
-lean_dec(x_42);
-lean_dec(x_1);
-x_50 = 1;
-x_51 = l_Lean_Parser_mergeOrElseErrors(x_43, x_37, x_34, x_50);
-lean_dec(x_34);
-return x_51;
-}
-else
-{
-lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56;
-lean_inc(x_34);
-x_52 = l_Lean_Parser_ParserState_restore(x_43, x_42, x_34);
-lean_dec(x_42);
-x_53 = lean_ctor_get(x_52, 0);
-lean_inc(x_53);
-x_54 = lean_array_get_size(x_53);
-lean_dec(x_53);
-x_55 = l_Lean_Parser_quotedSymbolFn(x_1, x_52);
-x_56 = lean_ctor_get(x_55, 3);
-lean_inc(x_56);
-if (lean_obj_tag(x_56) == 0)
-{
-uint8_t x_57; lean_object* x_58; lean_object* x_59;
-lean_dec(x_54);
-lean_dec(x_1);
-x_57 = 1;
-x_58 = l_Lean_Parser_mergeOrElseErrors(x_55, x_47, x_34, x_57);
-x_59 = l_Lean_Parser_mergeOrElseErrors(x_58, x_37, x_34, x_57);
-lean_dec(x_34);
-return x_59;
-}
-else
-{
-lean_object* x_60; lean_object* x_61; uint8_t x_62;
-x_60 = lean_ctor_get(x_56, 0);
-lean_inc(x_60);
-lean_dec(x_56);
-x_61 = lean_ctor_get(x_55, 1);
-lean_inc(x_61);
-x_62 = lean_nat_dec_eq(x_61, x_34);
-lean_dec(x_61);
-if (x_62 == 0)
-{
-uint8_t x_63; lean_object* x_64; lean_object* x_65;
-lean_dec(x_60);
-lean_dec(x_54);
-lean_dec(x_1);
-x_63 = 1;
-x_64 = l_Lean_Parser_mergeOrElseErrors(x_55, x_47, x_34, x_63);
-x_65 = l_Lean_Parser_mergeOrElseErrors(x_64, x_37, x_34, x_63);
-lean_dec(x_34);
-return x_65;
-}
-else
-{
-lean_object* x_66; lean_object* x_67; uint8_t x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71;
-lean_inc(x_34);
-x_66 = l_Lean_Parser_ParserState_restore(x_55, x_54, x_34);
-lean_dec(x_54);
-x_67 = l_Lean_Parser_Command_identPrec___elambda__1(x_1, x_66);
-x_68 = 1;
-x_69 = l_Lean_Parser_mergeOrElseErrors(x_67, x_60, x_34, x_68);
-x_70 = l_Lean_Parser_mergeOrElseErrors(x_69, x_47, x_34, x_68);
-x_71 = l_Lean_Parser_mergeOrElseErrors(x_70, x_37, x_34, x_68);
-lean_dec(x_34);
-return x_71;
-}
-}
-}
-}
-}
-}
+lean_object* x_11; uint8_t x_12; lean_object* x_13;
+x_11 = l_Lean_Parser_Command_notationItem___elambda__1___closed__6;
+x_12 = 1;
+x_13 = l_Lean_Parser_orelseFnCore(x_5, x_11, x_12, x_1, x_2);
+return x_13;
}
}
else
@@ -17003,68 +11614,6 @@ x_1 = l_Lean_Parser_Command_notationItem___closed__6;
return x_1;
}
}
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_notation___elambda__1___spec__1(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-lean_inc(x_1);
-x_6 = l_Lean_Parser_Command_notationItem___elambda__1(x_1, x_2);
-x_7 = lean_ctor_get(x_6, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
-{
-lean_object* x_8; uint8_t x_9;
-lean_dec(x_4);
-x_8 = lean_ctor_get(x_6, 1);
-lean_inc(x_8);
-x_9 = lean_nat_dec_eq(x_5, x_8);
-lean_dec(x_8);
-lean_dec(x_5);
-if (x_9 == 0)
-{
-x_2 = x_6;
-goto _start;
-}
-else
-{
-lean_object* x_11; lean_object* x_12;
-lean_dec(x_1);
-x_11 = l_Lean_Parser_manyAux___main___closed__1;
-x_12 = l_Lean_Parser_ParserState_mkUnexpectedError(x_6, x_11);
-return x_12;
-}
-}
-else
-{
-lean_object* x_13; uint8_t x_14;
-lean_dec(x_7);
-lean_dec(x_1);
-x_13 = lean_ctor_get(x_6, 1);
-lean_inc(x_13);
-x_14 = lean_nat_dec_eq(x_5, x_13);
-lean_dec(x_13);
-if (x_14 == 0)
-{
-lean_dec(x_5);
-lean_dec(x_4);
-return x_6;
-}
-else
-{
-lean_object* x_15;
-x_15 = l_Lean_Parser_ParserState_restore(x_6, x_4, x_5);
-lean_dec(x_4);
-return x_15;
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Command_notation___elambda__1___closed__1() {
_start:
{
@@ -17116,658 +11665,120 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_notation___elambda__1___closed__6() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_notation___elambda__1___closed__5;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_notation___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_notation___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Command_notation___elambda__1___closed__6;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_notationItem___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_manyFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_notation___elambda__1___closed__8() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Command_notation___elambda__1___closed__7;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_1 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__6;
+x_2 = l_Lean_Parser_darrow___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_notation___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_notation___elambda__1___closed__8;
+x_2 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_notation___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_notation___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Command_notation___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_notation___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_optPrecedence___closed__2;
+x_2 = l_Lean_Parser_Command_notation___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_notation___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_notation___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Command_notation___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_notation___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_notation___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_notation___elambda__1___closed__12;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_notation___elambda__1___closed__14() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_notation___elambda__1___closed__13;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
lean_object* l_Lean_Parser_Command_notation___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Command_notation___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_69; lean_object* x_70; lean_object* x_71;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_69 = lean_ctor_get(x_7, 1);
-lean_inc(x_69);
-lean_inc(x_1);
-x_70 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_71 = lean_ctor_get(x_70, 3);
-lean_inc(x_71);
-if (lean_obj_tag(x_71) == 0)
-{
-lean_object* x_72; lean_object* x_73;
-x_72 = lean_ctor_get(x_70, 0);
-lean_inc(x_72);
-x_73 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_72);
-lean_dec(x_72);
-if (lean_obj_tag(x_73) == 2)
-{
-lean_object* x_74; lean_object* x_75; uint8_t x_76;
-x_74 = lean_ctor_get(x_73, 1);
-lean_inc(x_74);
-lean_dec(x_73);
-x_75 = l_Lean_Parser_Command_notation___elambda__1___closed__5;
-x_76 = lean_string_dec_eq(x_74, x_75);
-lean_dec(x_74);
-if (x_76 == 0)
-{
-lean_object* x_77; lean_object* x_78;
-x_77 = l_Lean_Parser_Command_notation___elambda__1___closed__8;
-x_78 = l_Lean_Parser_ParserState_mkErrorsAt(x_70, x_77, x_69);
-x_11 = x_78;
-goto block_68;
-}
-else
-{
-lean_dec(x_69);
-x_11 = x_70;
-goto block_68;
-}
-}
-else
-{
-lean_object* x_79; lean_object* x_80;
-lean_dec(x_73);
-x_79 = l_Lean_Parser_Command_notation___elambda__1___closed__8;
-x_80 = l_Lean_Parser_ParserState_mkErrorsAt(x_70, x_79, x_69);
-x_11 = x_80;
-goto block_68;
-}
-}
-else
-{
-lean_object* x_81; lean_object* x_82;
-lean_dec(x_71);
-x_81 = l_Lean_Parser_Command_notation___elambda__1___closed__8;
-x_82 = l_Lean_Parser_ParserState_mkErrorsAt(x_70, x_81, x_69);
-x_11 = x_82;
-goto block_68;
-}
-block_68:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14;
-lean_inc(x_1);
-x_13 = l_Lean_Parser_optPrecedence___elambda__1(x_1, x_11);
-x_14 = lean_ctor_get(x_13, 3);
-lean_inc(x_14);
-if (lean_obj_tag(x_14) == 0)
-{
-lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
-x_15 = lean_ctor_get(x_13, 0);
-lean_inc(x_15);
-x_16 = lean_array_get_size(x_15);
-lean_dec(x_15);
-lean_inc(x_1);
-x_17 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_notation___elambda__1___spec__1(x_1, x_13);
-x_18 = l_Lean_nullKind;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_16);
-x_20 = lean_ctor_get(x_19, 3);
-lean_inc(x_20);
-if (lean_obj_tag(x_20) == 0)
-{
-lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_49; lean_object* x_50;
-x_21 = lean_ctor_get(x_19, 0);
-lean_inc(x_21);
-x_22 = lean_array_get_size(x_21);
-lean_dec(x_21);
-x_23 = lean_ctor_get(x_19, 1);
-lean_inc(x_23);
-lean_inc(x_1);
-x_49 = l_Lean_Parser_tokenFn(x_1, x_19);
-x_50 = lean_ctor_get(x_49, 3);
-lean_inc(x_50);
-if (lean_obj_tag(x_50) == 0)
-{
-lean_object* x_51; lean_object* x_52;
-x_51 = lean_ctor_get(x_49, 0);
-lean_inc(x_51);
-x_52 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_51);
-lean_dec(x_51);
-if (lean_obj_tag(x_52) == 2)
-{
-lean_object* x_53; lean_object* x_54; uint8_t x_55;
-x_53 = lean_ctor_get(x_52, 1);
-lean_inc(x_53);
-lean_dec(x_52);
-x_54 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__5;
-x_55 = lean_string_dec_eq(x_53, x_54);
-lean_dec(x_53);
-if (x_55 == 0)
-{
-lean_object* x_56; lean_object* x_57;
-x_56 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-lean_inc(x_23);
-x_57 = l_Lean_Parser_ParserState_mkErrorsAt(x_49, x_56, x_23);
-x_24 = x_57;
-goto block_48;
-}
-else
-{
-x_24 = x_49;
-goto block_48;
-}
-}
-else
-{
-lean_object* x_58; lean_object* x_59;
-lean_dec(x_52);
-x_58 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-lean_inc(x_23);
-x_59 = l_Lean_Parser_ParserState_mkErrorsAt(x_49, x_58, x_23);
-x_24 = x_59;
-goto block_48;
-}
-}
-else
-{
-lean_object* x_60; lean_object* x_61;
-lean_dec(x_50);
-x_60 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-lean_inc(x_23);
-x_61 = l_Lean_Parser_ParserState_mkErrorsAt(x_49, x_60, x_23);
-x_24 = x_61;
-goto block_48;
-}
-block_48:
-{
-lean_object* x_25;
-x_25 = lean_ctor_get(x_24, 3);
-lean_inc(x_25);
-if (lean_obj_tag(x_25) == 0)
-{
-lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30;
-lean_dec(x_23);
-lean_dec(x_22);
-x_26 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_27 = lean_unsigned_to_nat(0u);
-x_28 = l_Lean_Parser_categoryParser___elambda__1(x_26, x_27, x_1, x_24);
-x_29 = l_Lean_Parser_Command_notation___elambda__1___closed__2;
-x_30 = l_Lean_Parser_ParserState_mkNode(x_28, x_29, x_10);
-return x_30;
-}
-else
-{
-lean_object* x_31; lean_object* x_32; uint8_t x_33;
-x_31 = lean_ctor_get(x_25, 0);
-lean_inc(x_31);
-lean_dec(x_25);
-x_32 = lean_ctor_get(x_24, 1);
-lean_inc(x_32);
-x_33 = lean_nat_dec_eq(x_32, x_23);
-lean_dec(x_32);
-if (x_33 == 0)
-{
-lean_object* x_34; lean_object* x_35;
-lean_dec(x_31);
-lean_dec(x_23);
-lean_dec(x_22);
-lean_dec(x_1);
-x_34 = l_Lean_Parser_Command_notation___elambda__1___closed__2;
-x_35 = l_Lean_Parser_ParserState_mkNode(x_24, x_34, x_10);
-return x_35;
-}
-else
-{
-lean_object* x_36; lean_object* x_37; uint8_t x_38; lean_object* x_39; lean_object* x_40;
-lean_inc(x_23);
-x_36 = l_Lean_Parser_ParserState_restore(x_24, x_22, x_23);
-lean_dec(x_22);
-lean_inc(x_1);
-x_37 = l_Lean_Parser_darrow___elambda__1(x_1, x_36);
-x_38 = 1;
-x_39 = l_Lean_Parser_mergeOrElseErrors(x_37, x_31, x_23, x_38);
-lean_dec(x_23);
-x_40 = lean_ctor_get(x_39, 3);
-lean_inc(x_40);
-if (lean_obj_tag(x_40) == 0)
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45;
-x_41 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_42 = lean_unsigned_to_nat(0u);
-x_43 = l_Lean_Parser_categoryParser___elambda__1(x_41, x_42, x_1, x_39);
-x_44 = l_Lean_Parser_Command_notation___elambda__1___closed__2;
-x_45 = l_Lean_Parser_ParserState_mkNode(x_43, x_44, x_10);
-return x_45;
-}
-else
-{
-lean_object* x_46; lean_object* x_47;
-lean_dec(x_40);
-lean_dec(x_1);
-x_46 = l_Lean_Parser_Command_notation___elambda__1___closed__2;
-x_47 = l_Lean_Parser_ParserState_mkNode(x_39, x_46, x_10);
-return x_47;
-}
-}
-}
-}
-}
-else
-{
-lean_object* x_62; lean_object* x_63;
-lean_dec(x_20);
-lean_dec(x_1);
-x_62 = l_Lean_Parser_Command_notation___elambda__1___closed__2;
-x_63 = l_Lean_Parser_ParserState_mkNode(x_19, x_62, x_10);
-return x_63;
-}
-}
-else
-{
-lean_object* x_64; lean_object* x_65;
-lean_dec(x_14);
-lean_dec(x_1);
-x_64 = l_Lean_Parser_Command_notation___elambda__1___closed__2;
-x_65 = l_Lean_Parser_ParserState_mkNode(x_13, x_64, x_10);
-return x_65;
-}
-}
-else
-{
-lean_object* x_66; lean_object* x_67;
-lean_dec(x_12);
-lean_dec(x_1);
-x_66 = l_Lean_Parser_Command_notation___elambda__1___closed__2;
-x_67 = l_Lean_Parser_ParserState_mkNode(x_11, x_66, x_10);
-return x_67;
-}
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Command_notation___elambda__1___closed__14;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87;
-x_83 = lean_ctor_get(x_2, 0);
-lean_inc(x_83);
-x_84 = lean_array_get_size(x_83);
-lean_dec(x_83);
-x_85 = lean_ctor_get(x_2, 1);
-lean_inc(x_85);
-lean_inc(x_1);
-x_86 = lean_apply_2(x_4, x_1, x_2);
-x_87 = lean_ctor_get(x_86, 3);
-lean_inc(x_87);
-if (lean_obj_tag(x_87) == 0)
-{
-lean_dec(x_85);
-lean_dec(x_84);
-lean_dec(x_1);
-return x_86;
-}
-else
-{
-lean_object* x_88; lean_object* x_89; uint8_t x_90;
-x_88 = lean_ctor_get(x_87, 0);
-lean_inc(x_88);
-lean_dec(x_87);
-x_89 = lean_ctor_get(x_86, 1);
-lean_inc(x_89);
-x_90 = lean_nat_dec_eq(x_89, x_85);
-lean_dec(x_89);
-if (x_90 == 0)
-{
-lean_dec(x_88);
-lean_dec(x_85);
-lean_dec(x_84);
-lean_dec(x_1);
-return x_86;
-}
-else
-{
-lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94;
-lean_inc(x_85);
-x_91 = l_Lean_Parser_ParserState_restore(x_86, x_84, x_85);
-lean_dec(x_84);
-x_92 = lean_unsigned_to_nat(1024u);
-x_93 = l_Lean_Parser_checkPrecFn(x_92, x_1, x_91);
-x_94 = lean_ctor_get(x_93, 3);
-lean_inc(x_94);
-if (lean_obj_tag(x_94) == 0)
-{
-lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_167; lean_object* x_168; lean_object* x_169;
-x_95 = lean_ctor_get(x_93, 0);
-lean_inc(x_95);
-x_96 = lean_array_get_size(x_95);
-lean_dec(x_95);
-x_167 = lean_ctor_get(x_93, 1);
-lean_inc(x_167);
-lean_inc(x_1);
-x_168 = l_Lean_Parser_tokenFn(x_1, x_93);
-x_169 = lean_ctor_get(x_168, 3);
-lean_inc(x_169);
-if (lean_obj_tag(x_169) == 0)
-{
-lean_object* x_170; lean_object* x_171;
-x_170 = lean_ctor_get(x_168, 0);
-lean_inc(x_170);
-x_171 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_170);
-lean_dec(x_170);
-if (lean_obj_tag(x_171) == 2)
-{
-lean_object* x_172; lean_object* x_173; uint8_t x_174;
-x_172 = lean_ctor_get(x_171, 1);
-lean_inc(x_172);
-lean_dec(x_171);
-x_173 = l_Lean_Parser_Command_notation___elambda__1___closed__5;
-x_174 = lean_string_dec_eq(x_172, x_173);
-lean_dec(x_172);
-if (x_174 == 0)
-{
-lean_object* x_175; lean_object* x_176;
-x_175 = l_Lean_Parser_Command_notation___elambda__1___closed__8;
-x_176 = l_Lean_Parser_ParserState_mkErrorsAt(x_168, x_175, x_167);
-x_97 = x_176;
-goto block_166;
-}
-else
-{
-lean_dec(x_167);
-x_97 = x_168;
-goto block_166;
-}
-}
-else
-{
-lean_object* x_177; lean_object* x_178;
-lean_dec(x_171);
-x_177 = l_Lean_Parser_Command_notation___elambda__1___closed__8;
-x_178 = l_Lean_Parser_ParserState_mkErrorsAt(x_168, x_177, x_167);
-x_97 = x_178;
-goto block_166;
-}
-}
-else
-{
-lean_object* x_179; lean_object* x_180;
-lean_dec(x_169);
-x_179 = l_Lean_Parser_Command_notation___elambda__1___closed__8;
-x_180 = l_Lean_Parser_ParserState_mkErrorsAt(x_168, x_179, x_167);
-x_97 = x_180;
-goto block_166;
-}
-block_166:
-{
-lean_object* x_98;
-x_98 = lean_ctor_get(x_97, 3);
-lean_inc(x_98);
-if (lean_obj_tag(x_98) == 0)
-{
-lean_object* x_99; lean_object* x_100;
-lean_inc(x_1);
-x_99 = l_Lean_Parser_optPrecedence___elambda__1(x_1, x_97);
-x_100 = lean_ctor_get(x_99, 3);
-lean_inc(x_100);
-if (lean_obj_tag(x_100) == 0)
-{
-lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106;
-x_101 = lean_ctor_get(x_99, 0);
-lean_inc(x_101);
-x_102 = lean_array_get_size(x_101);
-lean_dec(x_101);
-lean_inc(x_1);
-x_103 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_notation___elambda__1___spec__1(x_1, x_99);
-x_104 = l_Lean_nullKind;
-x_105 = l_Lean_Parser_ParserState_mkNode(x_103, x_104, x_102);
-x_106 = lean_ctor_get(x_105, 3);
-lean_inc(x_106);
-if (lean_obj_tag(x_106) == 0)
-{
-lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_141; lean_object* x_142;
-x_107 = lean_ctor_get(x_105, 0);
-lean_inc(x_107);
-x_108 = lean_array_get_size(x_107);
-lean_dec(x_107);
-x_109 = lean_ctor_get(x_105, 1);
-lean_inc(x_109);
-lean_inc(x_1);
-x_141 = l_Lean_Parser_tokenFn(x_1, x_105);
-x_142 = lean_ctor_get(x_141, 3);
-lean_inc(x_142);
-if (lean_obj_tag(x_142) == 0)
-{
-lean_object* x_143; lean_object* x_144;
-x_143 = lean_ctor_get(x_141, 0);
-lean_inc(x_143);
-x_144 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_143);
-lean_dec(x_143);
-if (lean_obj_tag(x_144) == 2)
-{
-lean_object* x_145; lean_object* x_146; uint8_t x_147;
-x_145 = lean_ctor_get(x_144, 1);
-lean_inc(x_145);
-lean_dec(x_144);
-x_146 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__5;
-x_147 = lean_string_dec_eq(x_145, x_146);
-lean_dec(x_145);
-if (x_147 == 0)
-{
-lean_object* x_148; lean_object* x_149;
-x_148 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-lean_inc(x_109);
-x_149 = l_Lean_Parser_ParserState_mkErrorsAt(x_141, x_148, x_109);
-x_110 = x_149;
-goto block_140;
-}
-else
-{
-x_110 = x_141;
-goto block_140;
-}
-}
-else
-{
-lean_object* x_150; lean_object* x_151;
-lean_dec(x_144);
-x_150 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-lean_inc(x_109);
-x_151 = l_Lean_Parser_ParserState_mkErrorsAt(x_141, x_150, x_109);
-x_110 = x_151;
-goto block_140;
-}
-}
-else
-{
-lean_object* x_152; lean_object* x_153;
-lean_dec(x_142);
-x_152 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-lean_inc(x_109);
-x_153 = l_Lean_Parser_ParserState_mkErrorsAt(x_141, x_152, x_109);
-x_110 = x_153;
-goto block_140;
-}
-block_140:
-{
-lean_object* x_111;
-x_111 = lean_ctor_get(x_110, 3);
-lean_inc(x_111);
-if (lean_obj_tag(x_111) == 0)
-{
-lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; uint8_t x_117; lean_object* x_118;
-lean_dec(x_109);
-lean_dec(x_108);
-x_112 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_113 = lean_unsigned_to_nat(0u);
-x_114 = l_Lean_Parser_categoryParser___elambda__1(x_112, x_113, x_1, x_110);
-x_115 = l_Lean_Parser_Command_notation___elambda__1___closed__2;
-x_116 = l_Lean_Parser_ParserState_mkNode(x_114, x_115, x_96);
-x_117 = 1;
-x_118 = l_Lean_Parser_mergeOrElseErrors(x_116, x_88, x_85, x_117);
-lean_dec(x_85);
-return x_118;
-}
-else
-{
-lean_object* x_119; lean_object* x_120; uint8_t x_121;
-x_119 = lean_ctor_get(x_111, 0);
-lean_inc(x_119);
-lean_dec(x_111);
-x_120 = lean_ctor_get(x_110, 1);
-lean_inc(x_120);
-x_121 = lean_nat_dec_eq(x_120, x_109);
-lean_dec(x_120);
-if (x_121 == 0)
-{
-lean_object* x_122; lean_object* x_123; uint8_t x_124; lean_object* x_125;
-lean_dec(x_119);
-lean_dec(x_109);
-lean_dec(x_108);
-lean_dec(x_1);
-x_122 = l_Lean_Parser_Command_notation___elambda__1___closed__2;
-x_123 = l_Lean_Parser_ParserState_mkNode(x_110, x_122, x_96);
-x_124 = 1;
-x_125 = l_Lean_Parser_mergeOrElseErrors(x_123, x_88, x_85, x_124);
-lean_dec(x_85);
-return x_125;
-}
-else
-{
-lean_object* x_126; lean_object* x_127; uint8_t x_128; lean_object* x_129; lean_object* x_130;
-lean_inc(x_109);
-x_126 = l_Lean_Parser_ParserState_restore(x_110, x_108, x_109);
-lean_dec(x_108);
-lean_inc(x_1);
-x_127 = l_Lean_Parser_darrow___elambda__1(x_1, x_126);
-x_128 = 1;
-x_129 = l_Lean_Parser_mergeOrElseErrors(x_127, x_119, x_109, x_128);
-lean_dec(x_109);
-x_130 = lean_ctor_get(x_129, 3);
-lean_inc(x_130);
-if (lean_obj_tag(x_130) == 0)
-{
-lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136;
-x_131 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_132 = lean_unsigned_to_nat(0u);
-x_133 = l_Lean_Parser_categoryParser___elambda__1(x_131, x_132, x_1, x_129);
-x_134 = l_Lean_Parser_Command_notation___elambda__1___closed__2;
-x_135 = l_Lean_Parser_ParserState_mkNode(x_133, x_134, x_96);
-x_136 = l_Lean_Parser_mergeOrElseErrors(x_135, x_88, x_85, x_128);
-lean_dec(x_85);
-return x_136;
-}
-else
-{
-lean_object* x_137; lean_object* x_138; lean_object* x_139;
-lean_dec(x_130);
-lean_dec(x_1);
-x_137 = l_Lean_Parser_Command_notation___elambda__1___closed__2;
-x_138 = l_Lean_Parser_ParserState_mkNode(x_129, x_137, x_96);
-x_139 = l_Lean_Parser_mergeOrElseErrors(x_138, x_88, x_85, x_128);
-lean_dec(x_85);
-return x_139;
-}
-}
-}
-}
-}
-else
-{
-lean_object* x_154; lean_object* x_155; uint8_t x_156; lean_object* x_157;
-lean_dec(x_106);
-lean_dec(x_1);
-x_154 = l_Lean_Parser_Command_notation___elambda__1___closed__2;
-x_155 = l_Lean_Parser_ParserState_mkNode(x_105, x_154, x_96);
-x_156 = 1;
-x_157 = l_Lean_Parser_mergeOrElseErrors(x_155, x_88, x_85, x_156);
-lean_dec(x_85);
-return x_157;
-}
-}
-else
-{
-lean_object* x_158; lean_object* x_159; uint8_t x_160; lean_object* x_161;
-lean_dec(x_100);
-lean_dec(x_1);
-x_158 = l_Lean_Parser_Command_notation___elambda__1___closed__2;
-x_159 = l_Lean_Parser_ParserState_mkNode(x_99, x_158, x_96);
-x_160 = 1;
-x_161 = l_Lean_Parser_mergeOrElseErrors(x_159, x_88, x_85, x_160);
-lean_dec(x_85);
-return x_161;
-}
-}
-else
-{
-lean_object* x_162; lean_object* x_163; uint8_t x_164; lean_object* x_165;
-lean_dec(x_98);
-lean_dec(x_1);
-x_162 = l_Lean_Parser_Command_notation___elambda__1___closed__2;
-x_163 = l_Lean_Parser_ParserState_mkNode(x_97, x_162, x_96);
-x_164 = 1;
-x_165 = l_Lean_Parser_mergeOrElseErrors(x_163, x_88, x_85, x_164);
-lean_dec(x_85);
-return x_165;
-}
-}
-}
-else
-{
-uint8_t x_181; lean_object* x_182;
-lean_dec(x_94);
-lean_dec(x_1);
-x_181 = 1;
-x_182 = l_Lean_Parser_mergeOrElseErrors(x_93, x_88, x_85, x_181);
-lean_dec(x_85);
-return x_182;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Command_notation___closed__1() {
_start:
{
@@ -18460,349 +12471,74 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_macro__rules___elambda__1___closed__6() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_macro__rules___elambda__1___closed__5;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_macro__rules___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_macro__rules___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Command_macro__rules___elambda__1___closed__6;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
+x_1 = l_Lean_Parser_Term_match___elambda__1___closed__9;
+x_2 = lean_ctor_get(x_1, 1);
+lean_inc(x_2);
+x_3 = l_Lean_Parser_Command_optKind___closed__4;
+x_4 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_4, 0, x_3);
+lean_closure_set(x_4, 1, x_2);
+return x_4;
}
}
static lean_object* _init_l_Lean_Parser_Command_macro__rules___elambda__1___closed__8() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Command_macro__rules___elambda__1___closed__6;
x_2 = l_Lean_Parser_Command_macro__rules___elambda__1___closed__7;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_macro__rules___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_macro__rules___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_macro__rules___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_macro__rules___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_macro__rules___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
lean_object* l_Lean_Parser_Command_macro__rules___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; uint8_t x_7;
-x_3 = l_Lean_Parser_Term_match___elambda__1___closed__7;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
+x_3 = l_Lean_Parser_Command_macro__rules___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-x_5 = l_Lean_Parser_Command_macro__rules___elambda__1___closed__4;
-x_6 = lean_ctor_get(x_5, 1);
-lean_inc(x_6);
-lean_inc(x_2);
-lean_inc(x_1);
-x_7 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_7 == 0)
-{
-lean_object* x_8; lean_object* x_9; lean_object* x_10;
-lean_dec(x_6);
-x_8 = lean_unsigned_to_nat(1024u);
-x_9 = l_Lean_Parser_checkPrecFn(x_8, x_1, x_2);
-x_10 = lean_ctor_get(x_9, 3);
-lean_inc(x_10);
-if (lean_obj_tag(x_10) == 0)
-{
-lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_25; lean_object* x_26; lean_object* x_27;
-x_11 = lean_ctor_get(x_9, 0);
-lean_inc(x_11);
-x_12 = lean_array_get_size(x_11);
-lean_dec(x_11);
-x_25 = lean_ctor_get(x_9, 1);
-lean_inc(x_25);
-lean_inc(x_1);
-x_26 = l_Lean_Parser_tokenFn(x_1, x_9);
-x_27 = lean_ctor_get(x_26, 3);
-lean_inc(x_27);
-if (lean_obj_tag(x_27) == 0)
-{
-lean_object* x_28; lean_object* x_29;
-x_28 = lean_ctor_get(x_26, 0);
-lean_inc(x_28);
-x_29 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_28);
-lean_dec(x_28);
-if (lean_obj_tag(x_29) == 2)
-{
-lean_object* x_30; lean_object* x_31; uint8_t x_32;
-x_30 = lean_ctor_get(x_29, 1);
-lean_inc(x_30);
-lean_dec(x_29);
-x_31 = l_Lean_Parser_Command_macro__rules___elambda__1___closed__5;
-x_32 = lean_string_dec_eq(x_30, x_31);
-lean_dec(x_30);
-if (x_32 == 0)
-{
-lean_object* x_33; lean_object* x_34;
-x_33 = l_Lean_Parser_Command_macro__rules___elambda__1___closed__8;
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_26, x_33, x_25);
-x_13 = x_34;
-goto block_24;
-}
-else
-{
-lean_dec(x_25);
-x_13 = x_26;
-goto block_24;
-}
-}
-else
-{
-lean_object* x_35; lean_object* x_36;
-lean_dec(x_29);
-x_35 = l_Lean_Parser_Command_macro__rules___elambda__1___closed__8;
-x_36 = l_Lean_Parser_ParserState_mkErrorsAt(x_26, x_35, x_25);
-x_13 = x_36;
-goto block_24;
-}
-}
-else
-{
-lean_object* x_37; lean_object* x_38;
-lean_dec(x_27);
-x_37 = l_Lean_Parser_Command_macro__rules___elambda__1___closed__8;
-x_38 = l_Lean_Parser_ParserState_mkErrorsAt(x_26, x_37, x_25);
-x_13 = x_38;
-goto block_24;
-}
-block_24:
-{
-lean_object* x_14;
-x_14 = lean_ctor_get(x_13, 3);
-lean_inc(x_14);
-if (lean_obj_tag(x_14) == 0)
-{
-lean_object* x_15; lean_object* x_16;
-lean_inc(x_1);
-x_15 = l_Lean_Parser_Command_optKind___elambda__1(x_1, x_13);
-x_16 = lean_ctor_get(x_15, 3);
-lean_inc(x_16);
-if (lean_obj_tag(x_16) == 0)
-{
-lean_object* x_17; lean_object* x_18; lean_object* x_19;
-x_17 = lean_apply_2(x_4, x_1, x_15);
-x_18 = l_Lean_Parser_Command_macro__rules___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_12);
-return x_19;
-}
-else
-{
-lean_object* x_20; lean_object* x_21;
-lean_dec(x_16);
-lean_dec(x_4);
-lean_dec(x_1);
-x_20 = l_Lean_Parser_Command_macro__rules___elambda__1___closed__2;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_15, x_20, x_12);
-return x_21;
-}
-}
-else
-{
-lean_object* x_22; lean_object* x_23;
-lean_dec(x_14);
-lean_dec(x_4);
-lean_dec(x_1);
-x_22 = l_Lean_Parser_Command_macro__rules___elambda__1___closed__2;
-x_23 = l_Lean_Parser_ParserState_mkNode(x_13, x_22, x_12);
-return x_23;
-}
-}
-}
-else
-{
-lean_dec(x_10);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_9;
-}
-}
-else
-{
-lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43;
-x_39 = lean_ctor_get(x_2, 0);
-lean_inc(x_39);
-x_40 = lean_array_get_size(x_39);
-lean_dec(x_39);
-x_41 = lean_ctor_get(x_2, 1);
-lean_inc(x_41);
-lean_inc(x_1);
-x_42 = lean_apply_2(x_6, x_1, x_2);
-x_43 = lean_ctor_get(x_42, 3);
-lean_inc(x_43);
-if (lean_obj_tag(x_43) == 0)
-{
-lean_dec(x_41);
-lean_dec(x_40);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_42;
-}
-else
-{
-lean_object* x_44; lean_object* x_45; uint8_t x_46;
-x_44 = lean_ctor_get(x_43, 0);
-lean_inc(x_44);
-lean_dec(x_43);
-x_45 = lean_ctor_get(x_42, 1);
-lean_inc(x_45);
-x_46 = lean_nat_dec_eq(x_45, x_41);
-lean_dec(x_45);
-if (x_46 == 0)
-{
-lean_dec(x_44);
-lean_dec(x_41);
-lean_dec(x_40);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_42;
-}
-else
-{
-lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50;
-lean_inc(x_41);
-x_47 = l_Lean_Parser_ParserState_restore(x_42, x_40, x_41);
-lean_dec(x_40);
-x_48 = lean_unsigned_to_nat(1024u);
-x_49 = l_Lean_Parser_checkPrecFn(x_48, x_1, x_47);
-x_50 = lean_ctor_get(x_49, 3);
-lean_inc(x_50);
-if (lean_obj_tag(x_50) == 0)
-{
-lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_71; lean_object* x_72; lean_object* x_73;
-x_51 = lean_ctor_get(x_49, 0);
-lean_inc(x_51);
-x_52 = lean_array_get_size(x_51);
-lean_dec(x_51);
-x_71 = lean_ctor_get(x_49, 1);
-lean_inc(x_71);
-lean_inc(x_1);
-x_72 = l_Lean_Parser_tokenFn(x_1, x_49);
-x_73 = lean_ctor_get(x_72, 3);
-lean_inc(x_73);
-if (lean_obj_tag(x_73) == 0)
-{
-lean_object* x_74; lean_object* x_75;
-x_74 = lean_ctor_get(x_72, 0);
-lean_inc(x_74);
-x_75 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_74);
-lean_dec(x_74);
-if (lean_obj_tag(x_75) == 2)
-{
-lean_object* x_76; lean_object* x_77; uint8_t x_78;
-x_76 = lean_ctor_get(x_75, 1);
-lean_inc(x_76);
-lean_dec(x_75);
-x_77 = l_Lean_Parser_Command_macro__rules___elambda__1___closed__5;
-x_78 = lean_string_dec_eq(x_76, x_77);
-lean_dec(x_76);
-if (x_78 == 0)
-{
-lean_object* x_79; lean_object* x_80;
-x_79 = l_Lean_Parser_Command_macro__rules___elambda__1___closed__8;
-x_80 = l_Lean_Parser_ParserState_mkErrorsAt(x_72, x_79, x_71);
-x_53 = x_80;
-goto block_70;
-}
-else
-{
-lean_dec(x_71);
-x_53 = x_72;
-goto block_70;
-}
-}
-else
-{
-lean_object* x_81; lean_object* x_82;
-lean_dec(x_75);
-x_81 = l_Lean_Parser_Command_macro__rules___elambda__1___closed__8;
-x_82 = l_Lean_Parser_ParserState_mkErrorsAt(x_72, x_81, x_71);
-x_53 = x_82;
-goto block_70;
-}
-}
-else
-{
-lean_object* x_83; lean_object* x_84;
-lean_dec(x_73);
-x_83 = l_Lean_Parser_Command_macro__rules___elambda__1___closed__8;
-x_84 = l_Lean_Parser_ParserState_mkErrorsAt(x_72, x_83, x_71);
-x_53 = x_84;
-goto block_70;
-}
-block_70:
-{
-lean_object* x_54;
-x_54 = lean_ctor_get(x_53, 3);
-lean_inc(x_54);
-if (lean_obj_tag(x_54) == 0)
-{
-lean_object* x_55; lean_object* x_56;
-lean_inc(x_1);
-x_55 = l_Lean_Parser_Command_optKind___elambda__1(x_1, x_53);
-x_56 = lean_ctor_get(x_55, 3);
-lean_inc(x_56);
-if (lean_obj_tag(x_56) == 0)
-{
-lean_object* x_57; lean_object* x_58; lean_object* x_59; uint8_t x_60; lean_object* x_61;
-x_57 = lean_apply_2(x_4, x_1, x_55);
-x_58 = l_Lean_Parser_Command_macro__rules___elambda__1___closed__2;
-x_59 = l_Lean_Parser_ParserState_mkNode(x_57, x_58, x_52);
-x_60 = 1;
-x_61 = l_Lean_Parser_mergeOrElseErrors(x_59, x_44, x_41, x_60);
-lean_dec(x_41);
-return x_61;
-}
-else
-{
-lean_object* x_62; lean_object* x_63; uint8_t x_64; lean_object* x_65;
-lean_dec(x_56);
-lean_dec(x_4);
-lean_dec(x_1);
-x_62 = l_Lean_Parser_Command_macro__rules___elambda__1___closed__2;
-x_63 = l_Lean_Parser_ParserState_mkNode(x_55, x_62, x_52);
-x_64 = 1;
-x_65 = l_Lean_Parser_mergeOrElseErrors(x_63, x_44, x_41, x_64);
-lean_dec(x_41);
-return x_65;
-}
-}
-else
-{
-lean_object* x_66; lean_object* x_67; uint8_t x_68; lean_object* x_69;
-lean_dec(x_54);
-lean_dec(x_4);
-lean_dec(x_1);
-x_66 = l_Lean_Parser_Command_macro__rules___elambda__1___closed__2;
-x_67 = l_Lean_Parser_ParserState_mkNode(x_53, x_66, x_52);
-x_68 = 1;
-x_69 = l_Lean_Parser_mergeOrElseErrors(x_67, x_44, x_41, x_68);
-lean_dec(x_41);
-return x_69;
-}
-}
-}
-else
-{
-uint8_t x_85; lean_object* x_86;
-lean_dec(x_50);
-lean_dec(x_4);
-lean_dec(x_1);
-x_85 = 1;
-x_86 = l_Lean_Parser_mergeOrElseErrors(x_49, x_44, x_41, x_85);
-lean_dec(x_41);
-return x_86;
-}
-}
-}
-}
+x_5 = l_Lean_Parser_Command_macro__rules___elambda__1___closed__10;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
+return x_7;
}
}
static lean_object* _init_l_Lean_Parser_Command_macro__rules___closed__1() {
@@ -18821,7 +12557,7 @@ lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_obj
x_1 = l_Lean_Parser_Command_optKind;
x_2 = lean_ctor_get(x_1, 0);
lean_inc(x_2);
-x_3 = l_Lean_Parser_Term_match___elambda__1___closed__7;
+x_3 = l_Lean_Parser_Term_match___elambda__1___closed__9;
x_4 = lean_ctor_get(x_3, 0);
lean_inc(x_4);
x_5 = l_Lean_Parser_andthenInfo(x_2, x_4);
@@ -19192,121 +12928,43 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Command_parserKind___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_parserKind___elambda__1___closed__2;
+x_2 = l_Lean_Parser_ident___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_parserKind___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_parserKind___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Command_parserKind___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Command_parserKind___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_11 = l_Lean_Parser_ident___elambda__1(x_1, x_7);
-x_12 = l_Lean_Parser_Command_parserKind___elambda__1___closed__2;
-x_13 = l_Lean_Parser_ParserState_mkNode(x_11, x_12, x_10);
-return x_13;
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Command_parserKind___elambda__1___closed__6;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
-x_14 = lean_ctor_get(x_2, 0);
-lean_inc(x_14);
-x_15 = lean_array_get_size(x_14);
-lean_dec(x_14);
-x_16 = lean_ctor_get(x_2, 1);
-lean_inc(x_16);
-lean_inc(x_1);
-x_17 = lean_apply_2(x_4, x_1, x_2);
-x_18 = lean_ctor_get(x_17, 3);
-lean_inc(x_18);
-if (lean_obj_tag(x_18) == 0)
-{
-lean_dec(x_16);
-lean_dec(x_15);
-lean_dec(x_1);
-return x_17;
-}
-else
-{
-lean_object* x_19; lean_object* x_20; uint8_t x_21;
-x_19 = lean_ctor_get(x_18, 0);
-lean_inc(x_19);
-lean_dec(x_18);
-x_20 = lean_ctor_get(x_17, 1);
-lean_inc(x_20);
-x_21 = lean_nat_dec_eq(x_20, x_16);
-lean_dec(x_20);
-if (x_21 == 0)
-{
-lean_dec(x_19);
-lean_dec(x_16);
-lean_dec(x_15);
-lean_dec(x_1);
-return x_17;
-}
-else
-{
-lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25;
-lean_inc(x_16);
-x_22 = l_Lean_Parser_ParserState_restore(x_17, x_15, x_16);
-lean_dec(x_15);
-x_23 = lean_unsigned_to_nat(1024u);
-x_24 = l_Lean_Parser_checkPrecFn(x_23, x_1, x_22);
-x_25 = lean_ctor_get(x_24, 3);
-lean_inc(x_25);
-if (lean_obj_tag(x_25) == 0)
-{
-lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31; lean_object* x_32;
-x_26 = lean_ctor_get(x_24, 0);
-lean_inc(x_26);
-x_27 = lean_array_get_size(x_26);
-lean_dec(x_26);
-x_28 = l_Lean_Parser_ident___elambda__1(x_1, x_24);
-x_29 = l_Lean_Parser_Command_parserKind___elambda__1___closed__2;
-x_30 = l_Lean_Parser_ParserState_mkNode(x_28, x_29, x_27);
-x_31 = 1;
-x_32 = l_Lean_Parser_mergeOrElseErrors(x_30, x_19, x_16, x_31);
-lean_dec(x_16);
-return x_32;
-}
-else
-{
-uint8_t x_33; lean_object* x_34;
-lean_dec(x_25);
-lean_dec(x_1);
-x_33 = 1;
-x_34 = l_Lean_Parser_mergeOrElseErrors(x_24, x_19, x_16, x_33);
-lean_dec(x_16);
-return x_34;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Command_parserKind___closed__1() {
_start:
{
@@ -19408,121 +13066,43 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Command_parserPrio___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_parserPrio___elambda__1___closed__2;
+x_2 = l_Lean_Parser_numLit___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_parserPrio___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_parserPrio___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Command_parserPrio___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Command_parserPrio___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_11 = l_Lean_Parser_numLit___elambda__1(x_1, x_7);
-x_12 = l_Lean_Parser_Command_parserPrio___elambda__1___closed__2;
-x_13 = l_Lean_Parser_ParserState_mkNode(x_11, x_12, x_10);
-return x_13;
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Command_parserPrio___elambda__1___closed__6;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
-x_14 = lean_ctor_get(x_2, 0);
-lean_inc(x_14);
-x_15 = lean_array_get_size(x_14);
-lean_dec(x_14);
-x_16 = lean_ctor_get(x_2, 1);
-lean_inc(x_16);
-lean_inc(x_1);
-x_17 = lean_apply_2(x_4, x_1, x_2);
-x_18 = lean_ctor_get(x_17, 3);
-lean_inc(x_18);
-if (lean_obj_tag(x_18) == 0)
-{
-lean_dec(x_16);
-lean_dec(x_15);
-lean_dec(x_1);
-return x_17;
-}
-else
-{
-lean_object* x_19; lean_object* x_20; uint8_t x_21;
-x_19 = lean_ctor_get(x_18, 0);
-lean_inc(x_19);
-lean_dec(x_18);
-x_20 = lean_ctor_get(x_17, 1);
-lean_inc(x_20);
-x_21 = lean_nat_dec_eq(x_20, x_16);
-lean_dec(x_20);
-if (x_21 == 0)
-{
-lean_dec(x_19);
-lean_dec(x_16);
-lean_dec(x_15);
-lean_dec(x_1);
-return x_17;
-}
-else
-{
-lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25;
-lean_inc(x_16);
-x_22 = l_Lean_Parser_ParserState_restore(x_17, x_15, x_16);
-lean_dec(x_15);
-x_23 = lean_unsigned_to_nat(1024u);
-x_24 = l_Lean_Parser_checkPrecFn(x_23, x_1, x_22);
-x_25 = lean_ctor_get(x_24, 3);
-lean_inc(x_25);
-if (lean_obj_tag(x_25) == 0)
-{
-lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31; lean_object* x_32;
-x_26 = lean_ctor_get(x_24, 0);
-lean_inc(x_26);
-x_27 = lean_array_get_size(x_26);
-lean_dec(x_26);
-x_28 = l_Lean_Parser_numLit___elambda__1(x_1, x_24);
-x_29 = l_Lean_Parser_Command_parserPrio___elambda__1___closed__2;
-x_30 = l_Lean_Parser_ParserState_mkNode(x_28, x_29, x_27);
-x_31 = 1;
-x_32 = l_Lean_Parser_mergeOrElseErrors(x_30, x_19, x_16, x_31);
-lean_dec(x_16);
-return x_32;
-}
-else
-{
-uint8_t x_33; lean_object* x_34;
-lean_dec(x_25);
-lean_dec(x_1);
-x_33 = 1;
-x_34 = l_Lean_Parser_mergeOrElseErrors(x_24, x_19, x_16, x_33);
-lean_dec(x_16);
-return x_34;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Command_parserPrio___closed__1() {
_start:
{
@@ -19624,445 +13204,77 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Command_parserKindPrio___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_ident___closed__2;
+x_2 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_parserKindPrio___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_parserKindPrio___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_tryFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_parserKindPrio___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_parserKindPrio___elambda__1___closed__6;
+x_2 = l_Lean_Parser_numLit___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_parserKindPrio___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_parserKindPrio___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_parserKindPrio___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_parserKindPrio___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_parserKindPrio___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Command_parserKindPrio___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Command_parserKindPrio___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-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; lean_object* x_27; lean_object* x_28;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_ctor_get(x_7, 1);
-lean_inc(x_10);
-x_11 = lean_array_get_size(x_9);
-lean_dec(x_9);
-lean_inc(x_1);
-x_27 = l_Lean_Parser_ident___elambda__1(x_1, x_7);
-x_28 = lean_ctor_get(x_27, 3);
-lean_inc(x_28);
-if (lean_obj_tag(x_28) == 0)
-{
-lean_object* x_29; lean_object* x_30; lean_object* x_31;
-x_29 = lean_ctor_get(x_27, 1);
-lean_inc(x_29);
-lean_inc(x_1);
-x_30 = l_Lean_Parser_tokenFn(x_1, x_27);
-x_31 = lean_ctor_get(x_30, 3);
-lean_inc(x_31);
-if (lean_obj_tag(x_31) == 0)
-{
-lean_object* x_32; lean_object* x_33;
-x_32 = lean_ctor_get(x_30, 0);
-lean_inc(x_32);
-x_33 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_32);
-lean_dec(x_32);
-if (lean_obj_tag(x_33) == 2)
-{
-lean_object* x_34; lean_object* x_35; uint8_t x_36;
-x_34 = lean_ctor_get(x_33, 1);
-lean_inc(x_34);
-lean_dec(x_33);
-x_35 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__1;
-x_36 = lean_string_dec_eq(x_34, x_35);
-lean_dec(x_34);
-if (x_36 == 0)
-{
-lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41;
-x_37 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
-x_38 = l_Lean_Parser_ParserState_mkErrorsAt(x_30, x_37, x_29);
-x_39 = lean_ctor_get(x_38, 0);
-lean_inc(x_39);
-x_40 = lean_ctor_get(x_38, 2);
-lean_inc(x_40);
-x_41 = lean_ctor_get(x_38, 3);
-lean_inc(x_41);
-x_12 = x_38;
-x_13 = x_39;
-x_14 = x_40;
-x_15 = x_41;
-goto block_26;
-}
-else
-{
-lean_object* x_42; lean_object* x_43; lean_object* x_44;
-lean_dec(x_29);
-x_42 = lean_ctor_get(x_30, 0);
-lean_inc(x_42);
-x_43 = lean_ctor_get(x_30, 2);
-lean_inc(x_43);
-x_44 = lean_ctor_get(x_30, 3);
-lean_inc(x_44);
-x_12 = x_30;
-x_13 = x_42;
-x_14 = x_43;
-x_15 = x_44;
-goto block_26;
-}
-}
-else
-{
-lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49;
-lean_dec(x_33);
-x_45 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
-x_46 = l_Lean_Parser_ParserState_mkErrorsAt(x_30, x_45, x_29);
-x_47 = lean_ctor_get(x_46, 0);
-lean_inc(x_47);
-x_48 = lean_ctor_get(x_46, 2);
-lean_inc(x_48);
-x_49 = lean_ctor_get(x_46, 3);
-lean_inc(x_49);
-x_12 = x_46;
-x_13 = x_47;
-x_14 = x_48;
-x_15 = x_49;
-goto block_26;
-}
-}
-else
-{
-lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54;
-lean_dec(x_31);
-x_50 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
-x_51 = l_Lean_Parser_ParserState_mkErrorsAt(x_30, x_50, x_29);
-x_52 = lean_ctor_get(x_51, 0);
-lean_inc(x_52);
-x_53 = lean_ctor_get(x_51, 2);
-lean_inc(x_53);
-x_54 = lean_ctor_get(x_51, 3);
-lean_inc(x_54);
-x_12 = x_51;
-x_13 = x_52;
-x_14 = x_53;
-x_15 = x_54;
-goto block_26;
-}
-}
-else
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57;
-lean_dec(x_28);
-x_55 = lean_ctor_get(x_27, 0);
-lean_inc(x_55);
-x_56 = lean_ctor_get(x_27, 2);
-lean_inc(x_56);
-x_57 = lean_ctor_get(x_27, 3);
-lean_inc(x_57);
-x_12 = x_27;
-x_13 = x_55;
-x_14 = x_56;
-x_15 = x_57;
-goto block_26;
-}
-block_26:
-{
-if (lean_obj_tag(x_15) == 0)
-{
-lean_object* x_16;
-lean_dec(x_14);
-lean_dec(x_13);
-lean_dec(x_10);
-x_16 = lean_ctor_get(x_12, 3);
-lean_inc(x_16);
-if (lean_obj_tag(x_16) == 0)
-{
-lean_object* x_17; lean_object* x_18; lean_object* x_19;
-x_17 = l_Lean_Parser_numLit___elambda__1(x_1, x_12);
-x_18 = l_Lean_Parser_Command_parserKindPrio___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_11);
-return x_19;
-}
-else
-{
-lean_object* x_20; lean_object* x_21;
-lean_dec(x_16);
-lean_dec(x_1);
-x_20 = l_Lean_Parser_Command_parserKindPrio___elambda__1___closed__2;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_12, x_20, x_11);
-return x_21;
-}
-}
-else
-{
-lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25;
-lean_dec(x_12);
-lean_dec(x_1);
-x_22 = l_Array_shrink___main___rarg(x_13, x_11);
-x_23 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_23, 0, x_22);
-lean_ctor_set(x_23, 1, x_10);
-lean_ctor_set(x_23, 2, x_14);
-lean_ctor_set(x_23, 3, x_15);
-x_24 = l_Lean_Parser_Command_parserKindPrio___elambda__1___closed__2;
-x_25 = l_Lean_Parser_ParserState_mkNode(x_23, x_24, x_11);
-return x_25;
-}
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Command_parserKindPrio___elambda__1___closed__9;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62;
-x_58 = lean_ctor_get(x_2, 0);
-lean_inc(x_58);
-x_59 = lean_array_get_size(x_58);
-lean_dec(x_58);
-x_60 = lean_ctor_get(x_2, 1);
-lean_inc(x_60);
-lean_inc(x_1);
-x_61 = lean_apply_2(x_4, x_1, x_2);
-x_62 = lean_ctor_get(x_61, 3);
-lean_inc(x_62);
-if (lean_obj_tag(x_62) == 0)
-{
-lean_dec(x_60);
-lean_dec(x_59);
-lean_dec(x_1);
-return x_61;
-}
-else
-{
-lean_object* x_63; lean_object* x_64; uint8_t x_65;
-x_63 = lean_ctor_get(x_62, 0);
-lean_inc(x_63);
-lean_dec(x_62);
-x_64 = lean_ctor_get(x_61, 1);
-lean_inc(x_64);
-x_65 = lean_nat_dec_eq(x_64, x_60);
-lean_dec(x_64);
-if (x_65 == 0)
-{
-lean_dec(x_63);
-lean_dec(x_60);
-lean_dec(x_59);
-lean_dec(x_1);
-return x_61;
-}
-else
-{
-lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69;
-lean_inc(x_60);
-x_66 = l_Lean_Parser_ParserState_restore(x_61, x_59, x_60);
-lean_dec(x_59);
-x_67 = lean_unsigned_to_nat(1024u);
-x_68 = l_Lean_Parser_checkPrecFn(x_67, x_1, x_66);
-x_69 = lean_ctor_get(x_68, 3);
-lean_inc(x_69);
-if (lean_obj_tag(x_69) == 0)
-{
-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_94; lean_object* x_95;
-x_70 = lean_ctor_get(x_68, 0);
-lean_inc(x_70);
-x_71 = lean_ctor_get(x_68, 1);
-lean_inc(x_71);
-x_72 = lean_array_get_size(x_70);
-lean_dec(x_70);
-lean_inc(x_1);
-x_94 = l_Lean_Parser_ident___elambda__1(x_1, x_68);
-x_95 = lean_ctor_get(x_94, 3);
-lean_inc(x_95);
-if (lean_obj_tag(x_95) == 0)
-{
-lean_object* x_96; lean_object* x_97; lean_object* x_98;
-x_96 = lean_ctor_get(x_94, 1);
-lean_inc(x_96);
-lean_inc(x_1);
-x_97 = l_Lean_Parser_tokenFn(x_1, x_94);
-x_98 = lean_ctor_get(x_97, 3);
-lean_inc(x_98);
-if (lean_obj_tag(x_98) == 0)
-{
-lean_object* x_99; lean_object* x_100;
-x_99 = lean_ctor_get(x_97, 0);
-lean_inc(x_99);
-x_100 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_99);
-lean_dec(x_99);
-if (lean_obj_tag(x_100) == 2)
-{
-lean_object* x_101; lean_object* x_102; uint8_t x_103;
-x_101 = lean_ctor_get(x_100, 1);
-lean_inc(x_101);
-lean_dec(x_100);
-x_102 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__1;
-x_103 = lean_string_dec_eq(x_101, x_102);
-lean_dec(x_101);
-if (x_103 == 0)
-{
-lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108;
-x_104 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
-x_105 = l_Lean_Parser_ParserState_mkErrorsAt(x_97, x_104, x_96);
-x_106 = lean_ctor_get(x_105, 0);
-lean_inc(x_106);
-x_107 = lean_ctor_get(x_105, 2);
-lean_inc(x_107);
-x_108 = lean_ctor_get(x_105, 3);
-lean_inc(x_108);
-x_73 = x_105;
-x_74 = x_106;
-x_75 = x_107;
-x_76 = x_108;
-goto block_93;
-}
-else
-{
-lean_object* x_109; lean_object* x_110; lean_object* x_111;
-lean_dec(x_96);
-x_109 = lean_ctor_get(x_97, 0);
-lean_inc(x_109);
-x_110 = lean_ctor_get(x_97, 2);
-lean_inc(x_110);
-x_111 = lean_ctor_get(x_97, 3);
-lean_inc(x_111);
-x_73 = x_97;
-x_74 = x_109;
-x_75 = x_110;
-x_76 = x_111;
-goto block_93;
-}
-}
-else
-{
-lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116;
-lean_dec(x_100);
-x_112 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
-x_113 = l_Lean_Parser_ParserState_mkErrorsAt(x_97, x_112, x_96);
-x_114 = lean_ctor_get(x_113, 0);
-lean_inc(x_114);
-x_115 = lean_ctor_get(x_113, 2);
-lean_inc(x_115);
-x_116 = lean_ctor_get(x_113, 3);
-lean_inc(x_116);
-x_73 = x_113;
-x_74 = x_114;
-x_75 = x_115;
-x_76 = x_116;
-goto block_93;
-}
-}
-else
-{
-lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121;
-lean_dec(x_98);
-x_117 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
-x_118 = l_Lean_Parser_ParserState_mkErrorsAt(x_97, x_117, x_96);
-x_119 = lean_ctor_get(x_118, 0);
-lean_inc(x_119);
-x_120 = lean_ctor_get(x_118, 2);
-lean_inc(x_120);
-x_121 = lean_ctor_get(x_118, 3);
-lean_inc(x_121);
-x_73 = x_118;
-x_74 = x_119;
-x_75 = x_120;
-x_76 = x_121;
-goto block_93;
-}
-}
-else
-{
-lean_object* x_122; lean_object* x_123; lean_object* x_124;
-lean_dec(x_95);
-x_122 = lean_ctor_get(x_94, 0);
-lean_inc(x_122);
-x_123 = lean_ctor_get(x_94, 2);
-lean_inc(x_123);
-x_124 = lean_ctor_get(x_94, 3);
-lean_inc(x_124);
-x_73 = x_94;
-x_74 = x_122;
-x_75 = x_123;
-x_76 = x_124;
-goto block_93;
-}
-block_93:
-{
-if (lean_obj_tag(x_76) == 0)
-{
-lean_object* x_77;
-lean_dec(x_75);
-lean_dec(x_74);
-lean_dec(x_71);
-x_77 = lean_ctor_get(x_73, 3);
-lean_inc(x_77);
-if (lean_obj_tag(x_77) == 0)
-{
-lean_object* x_78; lean_object* x_79; lean_object* x_80; uint8_t x_81; lean_object* x_82;
-x_78 = l_Lean_Parser_numLit___elambda__1(x_1, x_73);
-x_79 = l_Lean_Parser_Command_parserKindPrio___elambda__1___closed__2;
-x_80 = l_Lean_Parser_ParserState_mkNode(x_78, x_79, x_72);
-x_81 = 1;
-x_82 = l_Lean_Parser_mergeOrElseErrors(x_80, x_63, x_60, x_81);
-lean_dec(x_60);
-return x_82;
-}
-else
-{
-lean_object* x_83; lean_object* x_84; uint8_t x_85; lean_object* x_86;
-lean_dec(x_77);
-lean_dec(x_1);
-x_83 = l_Lean_Parser_Command_parserKindPrio___elambda__1___closed__2;
-x_84 = l_Lean_Parser_ParserState_mkNode(x_73, x_83, x_72);
-x_85 = 1;
-x_86 = l_Lean_Parser_mergeOrElseErrors(x_84, x_63, x_60, x_85);
-lean_dec(x_60);
-return x_86;
-}
-}
-else
-{
-lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; uint8_t x_91; lean_object* x_92;
-lean_dec(x_73);
-lean_dec(x_1);
-x_87 = l_Array_shrink___main___rarg(x_74, x_72);
-x_88 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_88, 0, x_87);
-lean_ctor_set(x_88, 1, x_71);
-lean_ctor_set(x_88, 2, x_75);
-lean_ctor_set(x_88, 3, x_76);
-x_89 = l_Lean_Parser_Command_parserKindPrio___elambda__1___closed__2;
-x_90 = l_Lean_Parser_ParserState_mkNode(x_88, x_89, x_72);
-x_91 = 1;
-x_92 = l_Lean_Parser_mergeOrElseErrors(x_90, x_63, x_60, x_91);
-lean_dec(x_60);
-return x_92;
-}
-}
-}
-else
-{
-uint8_t x_125; lean_object* x_126;
-lean_dec(x_69);
-lean_dec(x_1);
-x_125 = 1;
-x_126 = l_Lean_Parser_mergeOrElseErrors(x_68, x_63, x_60, x_125);
-lean_dec(x_60);
-return x_126;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Command_parserKindPrio___closed__1() {
_start:
{
@@ -20147,298 +13359,61 @@ x_1 = l_Lean_Parser_Command_parserKindPrio___closed__7;
return x_1;
}
}
+static lean_object* _init_l_Lean_Parser_Command_optKindPrio___elambda__1___closed__1() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_parserKind___closed__4;
+x_2 = l_Lean_Parser_Command_parserPrio___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_optKindPrio___elambda__1___closed__2() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_parserKindPrio___closed__6;
+x_2 = l_Lean_Parser_Command_optKindPrio___elambda__1___closed__1;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_optKindPrio___elambda__1___closed__3() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_optKindPrio___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_optKindPrio___elambda__1___closed__4() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Command_optKindPrio___elambda__1___closed__3;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Command_optKindPrio___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_18; lean_object* x_35; lean_object* x_63; lean_object* x_64;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-lean_inc(x_1);
-x_63 = l_Lean_Parser_tokenFn(x_1, x_2);
-x_64 = lean_ctor_get(x_63, 3);
-lean_inc(x_64);
-if (lean_obj_tag(x_64) == 0)
-{
-lean_object* x_65; lean_object* x_66;
-x_65 = lean_ctor_get(x_63, 0);
-lean_inc(x_65);
-x_66 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_65);
-lean_dec(x_65);
-if (lean_obj_tag(x_66) == 2)
-{
-lean_object* x_67; lean_object* x_68; uint8_t x_69;
-x_67 = lean_ctor_get(x_66, 1);
-lean_inc(x_67);
-lean_dec(x_66);
-x_68 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__5;
-x_69 = lean_string_dec_eq(x_67, x_68);
-lean_dec(x_67);
-if (x_69 == 0)
-{
-lean_object* x_70; lean_object* x_71;
-x_70 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-lean_inc(x_5);
-x_71 = l_Lean_Parser_ParserState_mkErrorsAt(x_63, x_70, x_5);
-x_35 = x_71;
-goto block_62;
-}
-else
-{
-x_35 = x_63;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_72; lean_object* x_73;
-lean_dec(x_66);
-x_72 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-lean_inc(x_5);
-x_73 = l_Lean_Parser_ParserState_mkErrorsAt(x_63, x_72, x_5);
-x_35 = x_73;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_74; lean_object* x_75;
-lean_dec(x_64);
-x_74 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-lean_inc(x_5);
-x_75 = l_Lean_Parser_ParserState_mkErrorsAt(x_63, x_74, x_5);
-x_35 = x_75;
-goto block_62;
-}
-block_17:
-{
-lean_object* x_7;
-x_7 = lean_ctor_get(x_6, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
-{
-lean_object* x_8; lean_object* x_9;
-lean_dec(x_5);
-x_8 = l_Lean_nullKind;
-x_9 = l_Lean_Parser_ParserState_mkNode(x_6, x_8, x_4);
-return x_9;
-}
-else
-{
-lean_object* x_10; uint8_t x_11;
-lean_dec(x_7);
-x_10 = lean_ctor_get(x_6, 1);
-lean_inc(x_10);
-x_11 = lean_nat_dec_eq(x_10, x_5);
-lean_dec(x_10);
-if (x_11 == 0)
-{
-lean_object* x_12; lean_object* x_13;
-lean_dec(x_5);
-x_12 = l_Lean_nullKind;
-x_13 = l_Lean_Parser_ParserState_mkNode(x_6, x_12, x_4);
-return x_13;
-}
-else
-{
-lean_object* x_14; lean_object* x_15; lean_object* x_16;
-x_14 = l_Lean_Parser_ParserState_restore(x_6, x_4, x_5);
-x_15 = l_Lean_nullKind;
-x_16 = l_Lean_Parser_ParserState_mkNode(x_14, x_15, x_4);
-return x_16;
-}
-}
-}
-block_34:
-{
-lean_object* x_19;
-x_19 = lean_ctor_get(x_18, 3);
-lean_inc(x_19);
-if (lean_obj_tag(x_19) == 0)
-{
-lean_object* x_20; lean_object* x_21; lean_object* x_22;
-x_20 = lean_ctor_get(x_18, 1);
-lean_inc(x_20);
-x_21 = l_Lean_Parser_tokenFn(x_1, x_18);
-x_22 = lean_ctor_get(x_21, 3);
-lean_inc(x_22);
-if (lean_obj_tag(x_22) == 0)
-{
-lean_object* x_23; lean_object* x_24;
-x_23 = lean_ctor_get(x_21, 0);
-lean_inc(x_23);
-x_24 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_23);
-lean_dec(x_23);
-if (lean_obj_tag(x_24) == 2)
-{
-lean_object* x_25; lean_object* x_26; uint8_t x_27;
-x_25 = lean_ctor_get(x_24, 1);
-lean_inc(x_25);
-lean_dec(x_24);
-x_26 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__6;
-x_27 = lean_string_dec_eq(x_25, x_26);
-lean_dec(x_25);
-if (x_27 == 0)
-{
-lean_object* x_28; lean_object* x_29;
-x_28 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_29 = l_Lean_Parser_ParserState_mkErrorsAt(x_21, x_28, x_20);
-x_6 = x_29;
-goto block_17;
-}
-else
-{
-lean_dec(x_20);
-x_6 = x_21;
-goto block_17;
-}
-}
-else
-{
-lean_object* x_30; lean_object* x_31;
-lean_dec(x_24);
-x_30 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_31 = l_Lean_Parser_ParserState_mkErrorsAt(x_21, x_30, x_20);
-x_6 = x_31;
-goto block_17;
-}
-}
-else
-{
-lean_object* x_32; lean_object* x_33;
-lean_dec(x_22);
-x_32 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_33 = l_Lean_Parser_ParserState_mkErrorsAt(x_21, x_32, x_20);
-x_6 = x_33;
-goto block_17;
-}
-}
-else
-{
-lean_dec(x_19);
-lean_dec(x_1);
-x_6 = x_18;
-goto block_17;
-}
-}
-block_62:
-{
-lean_object* x_36;
-x_36 = lean_ctor_get(x_35, 3);
-lean_inc(x_36);
-if (lean_obj_tag(x_36) == 0)
-{
-lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41;
-x_37 = lean_ctor_get(x_35, 0);
-lean_inc(x_37);
-x_38 = lean_array_get_size(x_37);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_35, 1);
-lean_inc(x_39);
-lean_inc(x_1);
-x_40 = l_Lean_Parser_Command_parserKindPrio___elambda__1(x_1, x_35);
-x_41 = lean_ctor_get(x_40, 3);
-lean_inc(x_41);
-if (lean_obj_tag(x_41) == 0)
-{
-lean_dec(x_39);
-lean_dec(x_38);
-x_18 = x_40;
-goto block_34;
-}
-else
-{
-lean_object* x_42; lean_object* x_43; uint8_t x_44;
-x_42 = lean_ctor_get(x_41, 0);
-lean_inc(x_42);
-lean_dec(x_41);
-x_43 = lean_ctor_get(x_40, 1);
-lean_inc(x_43);
-x_44 = lean_nat_dec_eq(x_43, x_39);
-lean_dec(x_43);
-if (x_44 == 0)
-{
-lean_dec(x_42);
-lean_dec(x_39);
-lean_dec(x_38);
-x_18 = x_40;
-goto block_34;
-}
-else
-{
-lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49;
-lean_inc(x_39);
-x_45 = l_Lean_Parser_ParserState_restore(x_40, x_38, x_39);
-lean_dec(x_38);
-x_46 = lean_ctor_get(x_45, 0);
-lean_inc(x_46);
-x_47 = lean_array_get_size(x_46);
-lean_dec(x_46);
-lean_inc(x_1);
-x_48 = l_Lean_Parser_Command_parserKind___elambda__1(x_1, x_45);
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
-{
-uint8_t x_50; lean_object* x_51;
-lean_dec(x_47);
-x_50 = 1;
-x_51 = l_Lean_Parser_mergeOrElseErrors(x_48, x_42, x_39, x_50);
-lean_dec(x_39);
-x_18 = x_51;
-goto block_34;
-}
-else
-{
-lean_object* x_52; lean_object* x_53; uint8_t x_54;
-x_52 = lean_ctor_get(x_49, 0);
-lean_inc(x_52);
-lean_dec(x_49);
-x_53 = lean_ctor_get(x_48, 1);
-lean_inc(x_53);
-x_54 = lean_nat_dec_eq(x_53, x_39);
-lean_dec(x_53);
-if (x_54 == 0)
-{
-uint8_t x_55; lean_object* x_56;
-lean_dec(x_52);
-lean_dec(x_47);
-x_55 = 1;
-x_56 = l_Lean_Parser_mergeOrElseErrors(x_48, x_42, x_39, x_55);
-lean_dec(x_39);
-x_18 = x_56;
-goto block_34;
-}
-else
-{
-lean_object* x_57; lean_object* x_58; uint8_t x_59; lean_object* x_60; lean_object* x_61;
-lean_inc(x_39);
-x_57 = l_Lean_Parser_ParserState_restore(x_48, x_47, x_39);
-lean_dec(x_47);
-lean_inc(x_1);
-x_58 = l_Lean_Parser_Command_parserPrio___elambda__1(x_1, x_57);
-x_59 = 1;
-x_60 = l_Lean_Parser_mergeOrElseErrors(x_58, x_52, x_39, x_59);
-x_61 = l_Lean_Parser_mergeOrElseErrors(x_60, x_42, x_39, x_59);
-lean_dec(x_39);
-x_18 = x_61;
-goto block_34;
-}
-}
-}
-}
-}
-else
-{
-lean_dec(x_36);
-lean_dec(x_1);
-x_6 = x_35;
-goto block_17;
-}
-}
+lean_object* x_3; lean_object* x_4;
+x_3 = l_Lean_Parser_Command_optKindPrio___elambda__1___closed__4;
+x_4 = l_Lean_Parser_optionalFn(x_3, x_1, x_2);
+return x_4;
}
}
static lean_object* _init_l_Lean_Parser_Command_optKindPrio___closed__1() {
@@ -20575,20 +13550,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_syntax___elambda__1___closed__6() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_syntax___elambda__1___closed__5;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_syntax___elambda__1___closed__7() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__6;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__4;
+x_2 = l_Lean_Parser_ident___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -20596,586 +13573,87 @@ static lean_object* _init_l_Lean_Parser_Command_syntax___elambda__1___closed__8(
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Syntax_paren___elambda__1___closed__7;
x_2 = l_Lean_Parser_Command_syntax___elambda__1___closed__7;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_syntax___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_optKindPrio___closed__6;
+x_2 = l_Lean_Parser_Command_syntax___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_syntax___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_optPrecedence___closed__2;
+x_2 = l_Lean_Parser_Command_syntax___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_syntax___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Command_syntax___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_syntax___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__1;
+x_2 = l_Lean_Parser_Command_syntax___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_syntax___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_syntax___elambda__1___closed__12;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
lean_object* l_Lean_Parser_Command_syntax___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Command_syntax___elambda__1___closed__3;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_39; lean_object* x_63; lean_object* x_64; lean_object* x_65;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_63 = lean_ctor_get(x_7, 1);
-lean_inc(x_63);
-lean_inc(x_1);
-x_64 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_65 = lean_ctor_get(x_64, 3);
-lean_inc(x_65);
-if (lean_obj_tag(x_65) == 0)
-{
-lean_object* x_66; lean_object* x_67;
-x_66 = lean_ctor_get(x_64, 0);
-lean_inc(x_66);
-x_67 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_66);
-lean_dec(x_66);
-if (lean_obj_tag(x_67) == 2)
-{
-lean_object* x_68; lean_object* x_69; uint8_t x_70;
-x_68 = lean_ctor_get(x_67, 1);
-lean_inc(x_68);
-lean_dec(x_67);
-x_69 = l_Lean_Parser_Command_syntax___elambda__1___closed__5;
-x_70 = lean_string_dec_eq(x_68, x_69);
-lean_dec(x_68);
-if (x_70 == 0)
-{
-lean_object* x_71; lean_object* x_72;
-x_71 = l_Lean_Parser_Command_syntax___elambda__1___closed__8;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_71, x_63);
-x_39 = x_72;
-goto block_62;
-}
-else
-{
-lean_dec(x_63);
-x_39 = x_64;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_73; lean_object* x_74;
-lean_dec(x_67);
-x_73 = l_Lean_Parser_Command_syntax___elambda__1___closed__8;
-x_74 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_73, x_63);
-x_39 = x_74;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_75; lean_object* x_76;
-lean_dec(x_65);
-x_75 = l_Lean_Parser_Command_syntax___elambda__1___closed__8;
-x_76 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_75, x_63);
-x_39 = x_76;
-goto block_62;
-}
-block_38:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15;
-x_13 = lean_ctor_get(x_11, 1);
-lean_inc(x_13);
-lean_inc(x_1);
-x_14 = l_Lean_Parser_tokenFn(x_1, x_11);
-x_15 = lean_ctor_get(x_14, 3);
-lean_inc(x_15);
-if (lean_obj_tag(x_15) == 0)
-{
-lean_object* x_16; lean_object* x_17;
-x_16 = lean_ctor_get(x_14, 0);
-lean_inc(x_16);
-x_17 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_16);
-lean_dec(x_16);
-if (lean_obj_tag(x_17) == 2)
-{
-lean_object* x_18; lean_object* x_19; uint8_t x_20;
-x_18 = lean_ctor_get(x_17, 1);
-lean_inc(x_18);
-lean_dec(x_17);
-x_19 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__3;
-x_20 = lean_string_dec_eq(x_18, x_19);
-lean_dec(x_18);
-if (x_20 == 0)
-{
-lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
-lean_dec(x_1);
-x_21 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-x_22 = l_Lean_Parser_ParserState_mkErrorsAt(x_14, x_21, x_13);
-x_23 = l_Lean_Parser_Command_syntax___elambda__1___closed__1;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_22, x_23, x_10);
-return x_24;
-}
-else
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27;
-lean_dec(x_13);
-x_25 = l_Lean_Parser_ident___elambda__1(x_1, x_14);
-x_26 = l_Lean_Parser_Command_syntax___elambda__1___closed__1;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_25, x_26, x_10);
-return x_27;
-}
-}
-else
-{
-lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31;
-lean_dec(x_17);
-lean_dec(x_1);
-x_28 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-x_29 = l_Lean_Parser_ParserState_mkErrorsAt(x_14, x_28, x_13);
-x_30 = l_Lean_Parser_Command_syntax___elambda__1___closed__1;
-x_31 = l_Lean_Parser_ParserState_mkNode(x_29, x_30, x_10);
-return x_31;
-}
-}
-else
-{
-lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35;
-lean_dec(x_15);
-lean_dec(x_1);
-x_32 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-x_33 = l_Lean_Parser_ParserState_mkErrorsAt(x_14, x_32, x_13);
-x_34 = l_Lean_Parser_Command_syntax___elambda__1___closed__1;
-x_35 = l_Lean_Parser_ParserState_mkNode(x_33, x_34, x_10);
-return x_35;
-}
-}
-else
-{
-lean_object* x_36; lean_object* x_37;
-lean_dec(x_12);
-lean_dec(x_1);
-x_36 = l_Lean_Parser_Command_syntax___elambda__1___closed__1;
-x_37 = l_Lean_Parser_ParserState_mkNode(x_11, x_36, x_10);
-return x_37;
-}
-}
-block_62:
-{
-lean_object* x_40;
-x_40 = lean_ctor_get(x_39, 3);
-lean_inc(x_40);
-if (lean_obj_tag(x_40) == 0)
-{
-lean_object* x_41; lean_object* x_42;
-lean_inc(x_1);
-x_41 = l_Lean_Parser_optPrecedence___elambda__1(x_1, x_39);
-x_42 = lean_ctor_get(x_41, 3);
-lean_inc(x_42);
-if (lean_obj_tag(x_42) == 0)
-{
-lean_object* x_43; lean_object* x_44;
-lean_inc(x_1);
-x_43 = l_Lean_Parser_Command_optKindPrio___elambda__1(x_1, x_41);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50;
-x_45 = lean_ctor_get(x_43, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-x_47 = l_Lean_Parser_categoryParserFnImpl___closed__4;
-x_48 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_49 = l_Lean_Parser_categoryParser___elambda__1(x_47, x_48, x_1, x_43);
-x_50 = lean_ctor_get(x_49, 3);
-lean_inc(x_50);
-if (lean_obj_tag(x_50) == 0)
-{
-lean_object* x_51; lean_object* x_52; lean_object* x_53;
-lean_inc(x_1);
-x_51 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Syntax_paren___elambda__1___spec__1(x_1, x_49);
-x_52 = l_Lean_nullKind;
-x_53 = l_Lean_Parser_ParserState_mkNode(x_51, x_52, x_46);
-x_11 = x_53;
-goto block_38;
-}
-else
-{
-lean_object* x_54; lean_object* x_55;
-lean_dec(x_50);
-x_54 = l_Lean_nullKind;
-x_55 = l_Lean_Parser_ParserState_mkNode(x_49, x_54, x_46);
-x_11 = x_55;
-goto block_38;
-}
-}
-else
-{
-lean_object* x_56; lean_object* x_57;
-lean_dec(x_44);
-lean_dec(x_1);
-x_56 = l_Lean_Parser_Command_syntax___elambda__1___closed__1;
-x_57 = l_Lean_Parser_ParserState_mkNode(x_43, x_56, x_10);
-return x_57;
-}
-}
-else
-{
-lean_object* x_58; lean_object* x_59;
-lean_dec(x_42);
-lean_dec(x_1);
-x_58 = l_Lean_Parser_Command_syntax___elambda__1___closed__1;
-x_59 = l_Lean_Parser_ParserState_mkNode(x_41, x_58, x_10);
-return x_59;
-}
-}
-else
-{
-lean_object* x_60; lean_object* x_61;
-lean_dec(x_40);
-lean_dec(x_1);
-x_60 = l_Lean_Parser_Command_syntax___elambda__1___closed__1;
-x_61 = l_Lean_Parser_ParserState_mkNode(x_39, x_60, x_10);
-return x_61;
-}
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Command_syntax___elambda__1___closed__13;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81;
-x_77 = lean_ctor_get(x_2, 0);
-lean_inc(x_77);
-x_78 = lean_array_get_size(x_77);
-lean_dec(x_77);
-x_79 = lean_ctor_get(x_2, 1);
-lean_inc(x_79);
-lean_inc(x_1);
-x_80 = lean_apply_2(x_4, x_1, x_2);
-x_81 = lean_ctor_get(x_80, 3);
-lean_inc(x_81);
-if (lean_obj_tag(x_81) == 0)
-{
-lean_dec(x_79);
-lean_dec(x_78);
-lean_dec(x_1);
-return x_80;
-}
-else
-{
-lean_object* x_82; lean_object* x_83; uint8_t x_84;
-x_82 = lean_ctor_get(x_81, 0);
-lean_inc(x_82);
-lean_dec(x_81);
-x_83 = lean_ctor_get(x_80, 1);
-lean_inc(x_83);
-x_84 = lean_nat_dec_eq(x_83, x_79);
-lean_dec(x_83);
-if (x_84 == 0)
-{
-lean_dec(x_82);
-lean_dec(x_79);
-lean_dec(x_78);
-lean_dec(x_1);
-return x_80;
-}
-else
-{
-lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88;
-lean_inc(x_79);
-x_85 = l_Lean_Parser_ParserState_restore(x_80, x_78, x_79);
-lean_dec(x_78);
-x_86 = lean_unsigned_to_nat(1024u);
-x_87 = l_Lean_Parser_checkPrecFn(x_86, x_1, x_85);
-x_88 = lean_ctor_get(x_87, 3);
-lean_inc(x_88);
-if (lean_obj_tag(x_88) == 0)
-{
-lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_129; lean_object* x_159; lean_object* x_160; lean_object* x_161;
-x_89 = lean_ctor_get(x_87, 0);
-lean_inc(x_89);
-x_90 = lean_array_get_size(x_89);
-lean_dec(x_89);
-x_159 = lean_ctor_get(x_87, 1);
-lean_inc(x_159);
-lean_inc(x_1);
-x_160 = l_Lean_Parser_tokenFn(x_1, x_87);
-x_161 = lean_ctor_get(x_160, 3);
-lean_inc(x_161);
-if (lean_obj_tag(x_161) == 0)
-{
-lean_object* x_162; lean_object* x_163;
-x_162 = lean_ctor_get(x_160, 0);
-lean_inc(x_162);
-x_163 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_162);
-lean_dec(x_162);
-if (lean_obj_tag(x_163) == 2)
-{
-lean_object* x_164; lean_object* x_165; uint8_t x_166;
-x_164 = lean_ctor_get(x_163, 1);
-lean_inc(x_164);
-lean_dec(x_163);
-x_165 = l_Lean_Parser_Command_syntax___elambda__1___closed__5;
-x_166 = lean_string_dec_eq(x_164, x_165);
-lean_dec(x_164);
-if (x_166 == 0)
-{
-lean_object* x_167; lean_object* x_168;
-x_167 = l_Lean_Parser_Command_syntax___elambda__1___closed__8;
-x_168 = l_Lean_Parser_ParserState_mkErrorsAt(x_160, x_167, x_159);
-x_129 = x_168;
-goto block_158;
-}
-else
-{
-lean_dec(x_159);
-x_129 = x_160;
-goto block_158;
-}
-}
-else
-{
-lean_object* x_169; lean_object* x_170;
-lean_dec(x_163);
-x_169 = l_Lean_Parser_Command_syntax___elambda__1___closed__8;
-x_170 = l_Lean_Parser_ParserState_mkErrorsAt(x_160, x_169, x_159);
-x_129 = x_170;
-goto block_158;
-}
-}
-else
-{
-lean_object* x_171; lean_object* x_172;
-lean_dec(x_161);
-x_171 = l_Lean_Parser_Command_syntax___elambda__1___closed__8;
-x_172 = l_Lean_Parser_ParserState_mkErrorsAt(x_160, x_171, x_159);
-x_129 = x_172;
-goto block_158;
-}
-block_128:
-{
-lean_object* x_92;
-x_92 = lean_ctor_get(x_91, 3);
-lean_inc(x_92);
-if (lean_obj_tag(x_92) == 0)
-{
-lean_object* x_93; lean_object* x_94; lean_object* x_95;
-x_93 = lean_ctor_get(x_91, 1);
-lean_inc(x_93);
-lean_inc(x_1);
-x_94 = l_Lean_Parser_tokenFn(x_1, x_91);
-x_95 = lean_ctor_get(x_94, 3);
-lean_inc(x_95);
-if (lean_obj_tag(x_95) == 0)
-{
-lean_object* x_96; lean_object* x_97;
-x_96 = lean_ctor_get(x_94, 0);
-lean_inc(x_96);
-x_97 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_96);
-lean_dec(x_96);
-if (lean_obj_tag(x_97) == 2)
-{
-lean_object* x_98; lean_object* x_99; uint8_t x_100;
-x_98 = lean_ctor_get(x_97, 1);
-lean_inc(x_98);
-lean_dec(x_97);
-x_99 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__3;
-x_100 = lean_string_dec_eq(x_98, x_99);
-lean_dec(x_98);
-if (x_100 == 0)
-{
-lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; uint8_t x_105; lean_object* x_106;
-lean_dec(x_1);
-x_101 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-x_102 = l_Lean_Parser_ParserState_mkErrorsAt(x_94, x_101, x_93);
-x_103 = l_Lean_Parser_Command_syntax___elambda__1___closed__1;
-x_104 = l_Lean_Parser_ParserState_mkNode(x_102, x_103, x_90);
-x_105 = 1;
-x_106 = l_Lean_Parser_mergeOrElseErrors(x_104, x_82, x_79, x_105);
-lean_dec(x_79);
-return x_106;
-}
-else
-{
-lean_object* x_107; lean_object* x_108; lean_object* x_109; uint8_t x_110; lean_object* x_111;
-lean_dec(x_93);
-x_107 = l_Lean_Parser_ident___elambda__1(x_1, x_94);
-x_108 = l_Lean_Parser_Command_syntax___elambda__1___closed__1;
-x_109 = l_Lean_Parser_ParserState_mkNode(x_107, x_108, x_90);
-x_110 = 1;
-x_111 = l_Lean_Parser_mergeOrElseErrors(x_109, x_82, x_79, x_110);
-lean_dec(x_79);
-return x_111;
-}
-}
-else
-{
-lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; uint8_t x_116; lean_object* x_117;
-lean_dec(x_97);
-lean_dec(x_1);
-x_112 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-x_113 = l_Lean_Parser_ParserState_mkErrorsAt(x_94, x_112, x_93);
-x_114 = l_Lean_Parser_Command_syntax___elambda__1___closed__1;
-x_115 = l_Lean_Parser_ParserState_mkNode(x_113, x_114, x_90);
-x_116 = 1;
-x_117 = l_Lean_Parser_mergeOrElseErrors(x_115, x_82, x_79, x_116);
-lean_dec(x_79);
-return x_117;
-}
-}
-else
-{
-lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; uint8_t x_122; lean_object* x_123;
-lean_dec(x_95);
-lean_dec(x_1);
-x_118 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-x_119 = l_Lean_Parser_ParserState_mkErrorsAt(x_94, x_118, x_93);
-x_120 = l_Lean_Parser_Command_syntax___elambda__1___closed__1;
-x_121 = l_Lean_Parser_ParserState_mkNode(x_119, x_120, x_90);
-x_122 = 1;
-x_123 = l_Lean_Parser_mergeOrElseErrors(x_121, x_82, x_79, x_122);
-lean_dec(x_79);
-return x_123;
-}
-}
-else
-{
-lean_object* x_124; lean_object* x_125; uint8_t x_126; lean_object* x_127;
-lean_dec(x_92);
-lean_dec(x_1);
-x_124 = l_Lean_Parser_Command_syntax___elambda__1___closed__1;
-x_125 = l_Lean_Parser_ParserState_mkNode(x_91, x_124, x_90);
-x_126 = 1;
-x_127 = l_Lean_Parser_mergeOrElseErrors(x_125, x_82, x_79, x_126);
-lean_dec(x_79);
-return x_127;
-}
-}
-block_158:
-{
-lean_object* x_130;
-x_130 = lean_ctor_get(x_129, 3);
-lean_inc(x_130);
-if (lean_obj_tag(x_130) == 0)
-{
-lean_object* x_131; lean_object* x_132;
-lean_inc(x_1);
-x_131 = l_Lean_Parser_optPrecedence___elambda__1(x_1, x_129);
-x_132 = lean_ctor_get(x_131, 3);
-lean_inc(x_132);
-if (lean_obj_tag(x_132) == 0)
-{
-lean_object* x_133; lean_object* x_134;
-lean_inc(x_1);
-x_133 = l_Lean_Parser_Command_optKindPrio___elambda__1(x_1, x_131);
-x_134 = lean_ctor_get(x_133, 3);
-lean_inc(x_134);
-if (lean_obj_tag(x_134) == 0)
-{
-lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140;
-x_135 = lean_ctor_get(x_133, 0);
-lean_inc(x_135);
-x_136 = lean_array_get_size(x_135);
-lean_dec(x_135);
-x_137 = l_Lean_Parser_categoryParserFnImpl___closed__4;
-x_138 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_139 = l_Lean_Parser_categoryParser___elambda__1(x_137, x_138, x_1, x_133);
-x_140 = lean_ctor_get(x_139, 3);
-lean_inc(x_140);
-if (lean_obj_tag(x_140) == 0)
-{
-lean_object* x_141; lean_object* x_142; lean_object* x_143;
-lean_inc(x_1);
-x_141 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Syntax_paren___elambda__1___spec__1(x_1, x_139);
-x_142 = l_Lean_nullKind;
-x_143 = l_Lean_Parser_ParserState_mkNode(x_141, x_142, x_136);
-x_91 = x_143;
-goto block_128;
-}
-else
-{
-lean_object* x_144; lean_object* x_145;
-lean_dec(x_140);
-x_144 = l_Lean_nullKind;
-x_145 = l_Lean_Parser_ParserState_mkNode(x_139, x_144, x_136);
-x_91 = x_145;
-goto block_128;
-}
-}
-else
-{
-lean_object* x_146; lean_object* x_147; uint8_t x_148; lean_object* x_149;
-lean_dec(x_134);
-lean_dec(x_1);
-x_146 = l_Lean_Parser_Command_syntax___elambda__1___closed__1;
-x_147 = l_Lean_Parser_ParserState_mkNode(x_133, x_146, x_90);
-x_148 = 1;
-x_149 = l_Lean_Parser_mergeOrElseErrors(x_147, x_82, x_79, x_148);
-lean_dec(x_79);
-return x_149;
-}
-}
-else
-{
-lean_object* x_150; lean_object* x_151; uint8_t x_152; lean_object* x_153;
-lean_dec(x_132);
-lean_dec(x_1);
-x_150 = l_Lean_Parser_Command_syntax___elambda__1___closed__1;
-x_151 = l_Lean_Parser_ParserState_mkNode(x_131, x_150, x_90);
-x_152 = 1;
-x_153 = l_Lean_Parser_mergeOrElseErrors(x_151, x_82, x_79, x_152);
-lean_dec(x_79);
-return x_153;
-}
-}
-else
-{
-lean_object* x_154; lean_object* x_155; uint8_t x_156; lean_object* x_157;
-lean_dec(x_130);
-lean_dec(x_1);
-x_154 = l_Lean_Parser_Command_syntax___elambda__1___closed__1;
-x_155 = l_Lean_Parser_ParserState_mkNode(x_129, x_154, x_90);
-x_156 = 1;
-x_157 = l_Lean_Parser_mergeOrElseErrors(x_155, x_82, x_79, x_156);
-lean_dec(x_79);
-return x_157;
-}
-}
-}
-else
-{
-uint8_t x_173; lean_object* x_174;
-lean_dec(x_88);
-lean_dec(x_1);
-x_173 = 1;
-x_174 = l_Lean_Parser_mergeOrElseErrors(x_87, x_82, x_79, x_173);
-lean_dec(x_79);
-return x_174;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Command_syntax___closed__1() {
_start:
{
@@ -22039,521 +14517,79 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Syntax_paren___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_ident___closed__2;
+x_2 = l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Command_syntaxAbbrev___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_31; lean_object* x_54; lean_object* x_55; lean_object* x_56;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_54 = lean_ctor_get(x_7, 1);
-lean_inc(x_54);
-lean_inc(x_1);
-x_55 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_56 = lean_ctor_get(x_55, 3);
-lean_inc(x_56);
-if (lean_obj_tag(x_56) == 0)
-{
-lean_object* x_57; lean_object* x_58;
-x_57 = lean_ctor_get(x_55, 0);
-lean_inc(x_57);
-x_58 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_57);
-lean_dec(x_57);
-if (lean_obj_tag(x_58) == 2)
-{
-lean_object* x_59; lean_object* x_60; uint8_t x_61;
-x_59 = lean_ctor_get(x_58, 1);
-lean_inc(x_59);
-lean_dec(x_58);
-x_60 = l_Lean_Parser_Command_syntax___elambda__1___closed__5;
-x_61 = lean_string_dec_eq(x_59, x_60);
-lean_dec(x_59);
-if (x_61 == 0)
-{
-lean_object* x_62; lean_object* x_63;
-x_62 = l_Lean_Parser_Command_syntax___elambda__1___closed__8;
-x_63 = l_Lean_Parser_ParserState_mkErrorsAt(x_55, x_62, x_54);
-x_31 = x_63;
-goto block_53;
-}
-else
-{
-lean_dec(x_54);
-x_31 = x_55;
-goto block_53;
-}
-}
-else
-{
-lean_object* x_64; lean_object* x_65;
-lean_dec(x_58);
-x_64 = l_Lean_Parser_Command_syntax___elambda__1___closed__8;
-x_65 = l_Lean_Parser_ParserState_mkErrorsAt(x_55, x_64, x_54);
-x_31 = x_65;
-goto block_53;
-}
-}
-else
-{
-lean_object* x_66; lean_object* x_67;
-lean_dec(x_56);
-x_66 = l_Lean_Parser_Command_syntax___elambda__1___closed__8;
-x_67 = l_Lean_Parser_ParserState_mkErrorsAt(x_55, x_66, x_54);
-x_31 = x_67;
-goto block_53;
-}
-block_30:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
-x_13 = lean_ctor_get(x_11, 0);
-lean_inc(x_13);
-x_14 = lean_array_get_size(x_13);
-lean_dec(x_13);
-x_15 = l_Lean_Parser_categoryParserFnImpl___closed__4;
-x_16 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_17 = l_Lean_Parser_categoryParser___elambda__1(x_15, x_16, x_1, x_11);
-x_18 = lean_ctor_get(x_17, 3);
-lean_inc(x_18);
-if (lean_obj_tag(x_18) == 0)
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23;
-x_19 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Syntax_paren___elambda__1___spec__1(x_1, x_17);
-x_20 = l_Lean_nullKind;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_14);
-x_22 = l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__2;
-x_23 = l_Lean_Parser_ParserState_mkNode(x_21, x_22, x_10);
-return x_23;
-}
-else
-{
-lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
-lean_dec(x_18);
-lean_dec(x_1);
-x_24 = l_Lean_nullKind;
-x_25 = l_Lean_Parser_ParserState_mkNode(x_17, x_24, x_14);
-x_26 = l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__2;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_25, x_26, x_10);
-return x_27;
-}
-}
-else
-{
-lean_object* x_28; lean_object* x_29;
-lean_dec(x_12);
-lean_dec(x_1);
-x_28 = l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__2;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_11, x_28, x_10);
-return x_29;
-}
-}
-block_53:
-{
-lean_object* x_32;
-x_32 = lean_ctor_get(x_31, 3);
-lean_inc(x_32);
-if (lean_obj_tag(x_32) == 0)
-{
-lean_object* x_33; lean_object* x_34;
-lean_inc(x_1);
-x_33 = l_Lean_Parser_ident___elambda__1(x_1, x_31);
-x_34 = lean_ctor_get(x_33, 3);
-lean_inc(x_34);
-if (lean_obj_tag(x_34) == 0)
-{
-lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_35 = lean_ctor_get(x_33, 1);
-lean_inc(x_35);
-lean_inc(x_1);
-x_36 = l_Lean_Parser_tokenFn(x_1, x_33);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_object* x_38; lean_object* x_39;
-x_38 = lean_ctor_get(x_36, 0);
-lean_inc(x_38);
-x_39 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_38);
-lean_dec(x_38);
-if (lean_obj_tag(x_39) == 2)
-{
-lean_object* x_40; lean_object* x_41; uint8_t x_42;
-x_40 = lean_ctor_get(x_39, 1);
-lean_inc(x_40);
-lean_dec(x_39);
-x_41 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__5;
-x_42 = lean_string_dec_eq(x_40, x_41);
-lean_dec(x_40);
-if (x_42 == 0)
-{
-lean_object* x_43; lean_object* x_44;
-x_43 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-x_44 = l_Lean_Parser_ParserState_mkErrorsAt(x_36, x_43, x_35);
-x_11 = x_44;
-goto block_30;
-}
-else
-{
-lean_dec(x_35);
-x_11 = x_36;
-goto block_30;
-}
-}
-else
-{
-lean_object* x_45; lean_object* x_46;
-lean_dec(x_39);
-x_45 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-x_46 = l_Lean_Parser_ParserState_mkErrorsAt(x_36, x_45, x_35);
-x_11 = x_46;
-goto block_30;
-}
-}
-else
-{
-lean_object* x_47; lean_object* x_48;
-lean_dec(x_37);
-x_47 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-x_48 = l_Lean_Parser_ParserState_mkErrorsAt(x_36, x_47, x_35);
-x_11 = x_48;
-goto block_30;
-}
-}
-else
-{
-lean_object* x_49; lean_object* x_50;
-lean_dec(x_34);
-lean_dec(x_1);
-x_49 = l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__2;
-x_50 = l_Lean_Parser_ParserState_mkNode(x_33, x_49, x_10);
-return x_50;
-}
-}
-else
-{
-lean_object* x_51; lean_object* x_52;
-lean_dec(x_32);
-lean_dec(x_1);
-x_51 = l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__2;
-x_52 = l_Lean_Parser_ParserState_mkNode(x_31, x_51, x_10);
-return x_52;
-}
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__9;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72;
-x_68 = lean_ctor_get(x_2, 0);
-lean_inc(x_68);
-x_69 = lean_array_get_size(x_68);
-lean_dec(x_68);
-x_70 = lean_ctor_get(x_2, 1);
-lean_inc(x_70);
-lean_inc(x_1);
-x_71 = lean_apply_2(x_4, x_1, x_2);
-x_72 = lean_ctor_get(x_71, 3);
-lean_inc(x_72);
-if (lean_obj_tag(x_72) == 0)
-{
-lean_dec(x_70);
-lean_dec(x_69);
-lean_dec(x_1);
-return x_71;
-}
-else
-{
-lean_object* x_73; lean_object* x_74; uint8_t x_75;
-x_73 = lean_ctor_get(x_72, 0);
-lean_inc(x_73);
-lean_dec(x_72);
-x_74 = lean_ctor_get(x_71, 1);
-lean_inc(x_74);
-x_75 = lean_nat_dec_eq(x_74, x_70);
-lean_dec(x_74);
-if (x_75 == 0)
-{
-lean_dec(x_73);
-lean_dec(x_70);
-lean_dec(x_69);
-lean_dec(x_1);
-return x_71;
-}
-else
-{
-lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79;
-lean_inc(x_70);
-x_76 = l_Lean_Parser_ParserState_restore(x_71, x_69, x_70);
-lean_dec(x_69);
-x_77 = lean_unsigned_to_nat(1024u);
-x_78 = l_Lean_Parser_checkPrecFn(x_77, x_1, x_76);
-x_79 = lean_ctor_get(x_78, 3);
-lean_inc(x_79);
-if (lean_obj_tag(x_79) == 0)
-{
-lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_108; lean_object* x_135; lean_object* x_136; lean_object* x_137;
-x_80 = lean_ctor_get(x_78, 0);
-lean_inc(x_80);
-x_81 = lean_array_get_size(x_80);
-lean_dec(x_80);
-x_135 = lean_ctor_get(x_78, 1);
-lean_inc(x_135);
-lean_inc(x_1);
-x_136 = l_Lean_Parser_tokenFn(x_1, x_78);
-x_137 = lean_ctor_get(x_136, 3);
-lean_inc(x_137);
-if (lean_obj_tag(x_137) == 0)
-{
-lean_object* x_138; lean_object* x_139;
-x_138 = lean_ctor_get(x_136, 0);
-lean_inc(x_138);
-x_139 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_138);
-lean_dec(x_138);
-if (lean_obj_tag(x_139) == 2)
-{
-lean_object* x_140; lean_object* x_141; uint8_t x_142;
-x_140 = lean_ctor_get(x_139, 1);
-lean_inc(x_140);
-lean_dec(x_139);
-x_141 = l_Lean_Parser_Command_syntax___elambda__1___closed__5;
-x_142 = lean_string_dec_eq(x_140, x_141);
-lean_dec(x_140);
-if (x_142 == 0)
-{
-lean_object* x_143; lean_object* x_144;
-x_143 = l_Lean_Parser_Command_syntax___elambda__1___closed__8;
-x_144 = l_Lean_Parser_ParserState_mkErrorsAt(x_136, x_143, x_135);
-x_108 = x_144;
-goto block_134;
-}
-else
-{
-lean_dec(x_135);
-x_108 = x_136;
-goto block_134;
-}
-}
-else
-{
-lean_object* x_145; lean_object* x_146;
-lean_dec(x_139);
-x_145 = l_Lean_Parser_Command_syntax___elambda__1___closed__8;
-x_146 = l_Lean_Parser_ParserState_mkErrorsAt(x_136, x_145, x_135);
-x_108 = x_146;
-goto block_134;
-}
-}
-else
-{
-lean_object* x_147; lean_object* x_148;
-lean_dec(x_137);
-x_147 = l_Lean_Parser_Command_syntax___elambda__1___closed__8;
-x_148 = l_Lean_Parser_ParserState_mkErrorsAt(x_136, x_147, x_135);
-x_108 = x_148;
-goto block_134;
-}
-block_107:
-{
-lean_object* x_83;
-x_83 = lean_ctor_get(x_82, 3);
-lean_inc(x_83);
-if (lean_obj_tag(x_83) == 0)
-{
-lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89;
-x_84 = lean_ctor_get(x_82, 0);
-lean_inc(x_84);
-x_85 = lean_array_get_size(x_84);
-lean_dec(x_84);
-x_86 = l_Lean_Parser_categoryParserFnImpl___closed__4;
-x_87 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_88 = l_Lean_Parser_categoryParser___elambda__1(x_86, x_87, x_1, x_82);
-x_89 = lean_ctor_get(x_88, 3);
-lean_inc(x_89);
-if (lean_obj_tag(x_89) == 0)
-{
-lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; uint8_t x_95; lean_object* x_96;
-x_90 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Syntax_paren___elambda__1___spec__1(x_1, x_88);
-x_91 = l_Lean_nullKind;
-x_92 = l_Lean_Parser_ParserState_mkNode(x_90, x_91, x_85);
-x_93 = l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__2;
-x_94 = l_Lean_Parser_ParserState_mkNode(x_92, x_93, x_81);
-x_95 = 1;
-x_96 = l_Lean_Parser_mergeOrElseErrors(x_94, x_73, x_70, x_95);
-lean_dec(x_70);
-return x_96;
-}
-else
-{
-lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; uint8_t x_101; lean_object* x_102;
-lean_dec(x_89);
-lean_dec(x_1);
-x_97 = l_Lean_nullKind;
-x_98 = l_Lean_Parser_ParserState_mkNode(x_88, x_97, x_85);
-x_99 = l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__2;
-x_100 = l_Lean_Parser_ParserState_mkNode(x_98, x_99, x_81);
-x_101 = 1;
-x_102 = l_Lean_Parser_mergeOrElseErrors(x_100, x_73, x_70, x_101);
-lean_dec(x_70);
-return x_102;
-}
-}
-else
-{
-lean_object* x_103; lean_object* x_104; uint8_t x_105; lean_object* x_106;
-lean_dec(x_83);
-lean_dec(x_1);
-x_103 = l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__2;
-x_104 = l_Lean_Parser_ParserState_mkNode(x_82, x_103, x_81);
-x_105 = 1;
-x_106 = l_Lean_Parser_mergeOrElseErrors(x_104, x_73, x_70, x_105);
-lean_dec(x_70);
-return x_106;
-}
-}
-block_134:
-{
-lean_object* x_109;
-x_109 = lean_ctor_get(x_108, 3);
-lean_inc(x_109);
-if (lean_obj_tag(x_109) == 0)
-{
-lean_object* x_110; lean_object* x_111;
-lean_inc(x_1);
-x_110 = l_Lean_Parser_ident___elambda__1(x_1, x_108);
-x_111 = lean_ctor_get(x_110, 3);
-lean_inc(x_111);
-if (lean_obj_tag(x_111) == 0)
-{
-lean_object* x_112; lean_object* x_113; lean_object* x_114;
-x_112 = lean_ctor_get(x_110, 1);
-lean_inc(x_112);
-lean_inc(x_1);
-x_113 = l_Lean_Parser_tokenFn(x_1, x_110);
-x_114 = lean_ctor_get(x_113, 3);
-lean_inc(x_114);
-if (lean_obj_tag(x_114) == 0)
-{
-lean_object* x_115; lean_object* x_116;
-x_115 = lean_ctor_get(x_113, 0);
-lean_inc(x_115);
-x_116 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_115);
-lean_dec(x_115);
-if (lean_obj_tag(x_116) == 2)
-{
-lean_object* x_117; lean_object* x_118; uint8_t x_119;
-x_117 = lean_ctor_get(x_116, 1);
-lean_inc(x_117);
-lean_dec(x_116);
-x_118 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__5;
-x_119 = lean_string_dec_eq(x_117, x_118);
-lean_dec(x_117);
-if (x_119 == 0)
-{
-lean_object* x_120; lean_object* x_121;
-x_120 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-x_121 = l_Lean_Parser_ParserState_mkErrorsAt(x_113, x_120, x_112);
-x_82 = x_121;
-goto block_107;
-}
-else
-{
-lean_dec(x_112);
-x_82 = x_113;
-goto block_107;
-}
-}
-else
-{
-lean_object* x_122; lean_object* x_123;
-lean_dec(x_116);
-x_122 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-x_123 = l_Lean_Parser_ParserState_mkErrorsAt(x_113, x_122, x_112);
-x_82 = x_123;
-goto block_107;
-}
-}
-else
-{
-lean_object* x_124; lean_object* x_125;
-lean_dec(x_114);
-x_124 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-x_125 = l_Lean_Parser_ParserState_mkErrorsAt(x_113, x_124, x_112);
-x_82 = x_125;
-goto block_107;
-}
-}
-else
-{
-lean_object* x_126; lean_object* x_127; uint8_t x_128; lean_object* x_129;
-lean_dec(x_111);
-lean_dec(x_1);
-x_126 = l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__2;
-x_127 = l_Lean_Parser_ParserState_mkNode(x_110, x_126, x_81);
-x_128 = 1;
-x_129 = l_Lean_Parser_mergeOrElseErrors(x_127, x_73, x_70, x_128);
-lean_dec(x_70);
-return x_129;
-}
-}
-else
-{
-lean_object* x_130; lean_object* x_131; uint8_t x_132; lean_object* x_133;
-lean_dec(x_109);
-lean_dec(x_1);
-x_130 = l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__2;
-x_131 = l_Lean_Parser_ParserState_mkNode(x_108, x_130, x_81);
-x_132 = 1;
-x_133 = l_Lean_Parser_mergeOrElseErrors(x_131, x_73, x_70, x_132);
-lean_dec(x_70);
-return x_133;
-}
-}
-}
-else
-{
-uint8_t x_149; lean_object* x_150;
-lean_dec(x_79);
-lean_dec(x_1);
-x_149 = 1;
-x_150 = l_Lean_Parser_mergeOrElseErrors(x_78, x_73, x_70, x_149);
-lean_dec(x_70);
-return x_150;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Command_syntaxAbbrev___closed__1() {
_start:
{
@@ -22906,11 +14942,11 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_syntaxCat___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_syntaxCat___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_syntaxCat___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_syntaxCat___elambda__1___closed__8() {
@@ -22918,8 +14954,10 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Command_syntaxCat___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_2 = l_Lean_Parser_ident___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -22927,282 +14965,39 @@ static lean_object* _init_l_Lean_Parser_Command_syntaxCat___elambda__1___closed_
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Command_syntaxCat___elambda__1___closed__2;
x_2 = l_Lean_Parser_Command_syntaxCat___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_syntaxCat___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_syntaxCat___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
lean_object* l_Lean_Parser_Command_syntaxCat___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Command_syntaxCat___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_19; lean_object* x_20; lean_object* x_21;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_19 = lean_ctor_get(x_7, 1);
-lean_inc(x_19);
-lean_inc(x_1);
-x_20 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_21 = lean_ctor_get(x_20, 3);
-lean_inc(x_21);
-if (lean_obj_tag(x_21) == 0)
-{
-lean_object* x_22; lean_object* x_23;
-x_22 = lean_ctor_get(x_20, 0);
-lean_inc(x_22);
-x_23 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_22);
-lean_dec(x_22);
-if (lean_obj_tag(x_23) == 2)
-{
-lean_object* x_24; lean_object* x_25; uint8_t x_26;
-x_24 = lean_ctor_get(x_23, 1);
-lean_inc(x_24);
-lean_dec(x_23);
-x_25 = l_Lean_Parser_Command_syntaxCat___elambda__1___closed__6;
-x_26 = lean_string_dec_eq(x_24, x_25);
-lean_dec(x_24);
-if (x_26 == 0)
-{
-lean_object* x_27; lean_object* x_28;
-x_27 = l_Lean_Parser_Command_syntaxCat___elambda__1___closed__9;
-x_28 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_27, x_19);
-x_11 = x_28;
-goto block_18;
-}
-else
-{
-lean_dec(x_19);
-x_11 = x_20;
-goto block_18;
-}
-}
-else
-{
-lean_object* x_29; lean_object* x_30;
-lean_dec(x_23);
-x_29 = l_Lean_Parser_Command_syntaxCat___elambda__1___closed__9;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_29, x_19);
-x_11 = x_30;
-goto block_18;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32;
-lean_dec(x_21);
-x_31 = l_Lean_Parser_Command_syntaxCat___elambda__1___closed__9;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_31, x_19);
-x_11 = x_32;
-goto block_18;
-}
-block_18:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15;
-x_13 = l_Lean_Parser_ident___elambda__1(x_1, x_11);
-x_14 = l_Lean_Parser_Command_syntaxCat___elambda__1___closed__2;
-x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
-return x_15;
-}
-else
-{
-lean_object* x_16; lean_object* x_17;
-lean_dec(x_12);
-lean_dec(x_1);
-x_16 = l_Lean_Parser_Command_syntaxCat___elambda__1___closed__2;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_11, x_16, x_10);
-return x_17;
-}
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Command_syntaxCat___elambda__1___closed__10;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_33 = lean_ctor_get(x_2, 0);
-lean_inc(x_33);
-x_34 = lean_array_get_size(x_33);
-lean_dec(x_33);
-x_35 = lean_ctor_get(x_2, 1);
-lean_inc(x_35);
-lean_inc(x_1);
-x_36 = lean_apply_2(x_4, x_1, x_2);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_36, 1);
-lean_inc(x_39);
-x_40 = lean_nat_dec_eq(x_39, x_35);
-lean_dec(x_39);
-if (x_40 == 0)
-{
-lean_dec(x_38);
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
-lean_inc(x_35);
-x_41 = l_Lean_Parser_ParserState_restore(x_36, x_34, x_35);
-lean_dec(x_34);
-x_42 = lean_unsigned_to_nat(1024u);
-x_43 = l_Lean_Parser_checkPrecFn(x_42, x_1, x_41);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_59; lean_object* x_60; lean_object* x_61;
-x_45 = lean_ctor_get(x_43, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-x_59 = lean_ctor_get(x_43, 1);
-lean_inc(x_59);
-lean_inc(x_1);
-x_60 = l_Lean_Parser_tokenFn(x_1, x_43);
-x_61 = lean_ctor_get(x_60, 3);
-lean_inc(x_61);
-if (lean_obj_tag(x_61) == 0)
-{
-lean_object* x_62; lean_object* x_63;
-x_62 = lean_ctor_get(x_60, 0);
-lean_inc(x_62);
-x_63 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_62);
-lean_dec(x_62);
-if (lean_obj_tag(x_63) == 2)
-{
-lean_object* x_64; lean_object* x_65; uint8_t x_66;
-x_64 = lean_ctor_get(x_63, 1);
-lean_inc(x_64);
-lean_dec(x_63);
-x_65 = l_Lean_Parser_Command_syntaxCat___elambda__1___closed__6;
-x_66 = lean_string_dec_eq(x_64, x_65);
-lean_dec(x_64);
-if (x_66 == 0)
-{
-lean_object* x_67; lean_object* x_68;
-x_67 = l_Lean_Parser_Command_syntaxCat___elambda__1___closed__9;
-x_68 = l_Lean_Parser_ParserState_mkErrorsAt(x_60, x_67, x_59);
-x_47 = x_68;
-goto block_58;
-}
-else
-{
-lean_dec(x_59);
-x_47 = x_60;
-goto block_58;
-}
-}
-else
-{
-lean_object* x_69; lean_object* x_70;
-lean_dec(x_63);
-x_69 = l_Lean_Parser_Command_syntaxCat___elambda__1___closed__9;
-x_70 = l_Lean_Parser_ParserState_mkErrorsAt(x_60, x_69, x_59);
-x_47 = x_70;
-goto block_58;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72;
-lean_dec(x_61);
-x_71 = l_Lean_Parser_Command_syntaxCat___elambda__1___closed__9;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_60, x_71, x_59);
-x_47 = x_72;
-goto block_58;
-}
-block_58:
-{
-lean_object* x_48;
-x_48 = lean_ctor_get(x_47, 3);
-lean_inc(x_48);
-if (lean_obj_tag(x_48) == 0)
-{
-lean_object* x_49; lean_object* x_50; lean_object* x_51; uint8_t x_52; lean_object* x_53;
-x_49 = l_Lean_Parser_ident___elambda__1(x_1, x_47);
-x_50 = l_Lean_Parser_Command_syntaxCat___elambda__1___closed__2;
-x_51 = l_Lean_Parser_ParserState_mkNode(x_49, x_50, x_46);
-x_52 = 1;
-x_53 = l_Lean_Parser_mergeOrElseErrors(x_51, x_38, x_35, x_52);
-lean_dec(x_35);
-return x_53;
-}
-else
-{
-lean_object* x_54; lean_object* x_55; uint8_t x_56; lean_object* x_57;
-lean_dec(x_48);
-lean_dec(x_1);
-x_54 = l_Lean_Parser_Command_syntaxCat___elambda__1___closed__2;
-x_55 = l_Lean_Parser_ParserState_mkNode(x_47, x_54, x_46);
-x_56 = 1;
-x_57 = l_Lean_Parser_mergeOrElseErrors(x_55, x_38, x_35, x_56);
-lean_dec(x_35);
-return x_57;
-}
-}
-}
-else
-{
-uint8_t x_73; lean_object* x_74;
-lean_dec(x_44);
-lean_dec(x_1);
-x_73 = 1;
-x_74 = l_Lean_Parser_mergeOrElseErrors(x_43, x_38, x_35, x_73);
-lean_dec(x_35);
-return x_74;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Command_syntaxCat___closed__1() {
_start:
{
@@ -23472,330 +15267,79 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_mkAntiquot___closed__7;
+x_2 = l_Lean_Parser_Syntax_interpolatedStr___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_ident___closed__2;
+x_2 = l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Command_macroArgSimple___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-lean_inc(x_1);
-x_11 = l_Lean_Parser_ident___elambda__1(x_1, x_7);
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15;
-x_13 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__5;
-x_14 = l_Lean_Parser_checkNoWsBeforeFn(x_13, x_1, x_11);
-x_15 = lean_ctor_get(x_14, 3);
-lean_inc(x_15);
-if (lean_obj_tag(x_15) == 0)
-{
-lean_object* x_16; lean_object* x_17; lean_object* x_18;
-x_16 = lean_ctor_get(x_14, 1);
-lean_inc(x_16);
-lean_inc(x_1);
-x_17 = l_Lean_Parser_tokenFn(x_1, x_14);
-x_18 = lean_ctor_get(x_17, 3);
-lean_inc(x_18);
-if (lean_obj_tag(x_18) == 0)
-{
-lean_object* x_19; lean_object* x_20;
-x_19 = lean_ctor_get(x_17, 0);
-lean_inc(x_19);
-x_20 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_19);
-lean_dec(x_19);
-if (lean_obj_tag(x_20) == 2)
-{
-lean_object* x_21; lean_object* x_22; uint8_t x_23;
-x_21 = lean_ctor_get(x_20, 1);
-lean_inc(x_21);
-lean_dec(x_20);
-x_22 = l_Lean_Parser_mkAntiquot___closed__5;
-x_23 = lean_string_dec_eq(x_21, x_22);
-lean_dec(x_21);
-if (x_23 == 0)
-{
-lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
-lean_dec(x_1);
-x_24 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__8;
-x_25 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_24, x_16);
-x_26 = l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__2;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_25, x_26, x_10);
-return x_27;
-}
-else
-{
-lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
-lean_dec(x_16);
-x_28 = l_Lean_Parser_categoryParserFnImpl___closed__4;
-x_29 = l_Lean_Parser_maxPrec;
-x_30 = l_Lean_Parser_categoryParser___elambda__1(x_28, x_29, x_1, x_17);
-x_31 = l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__2;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_10);
-return x_32;
-}
-}
-else
-{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36;
-lean_dec(x_20);
-lean_dec(x_1);
-x_33 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__8;
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_33, x_16);
-x_35 = l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__2;
-x_36 = l_Lean_Parser_ParserState_mkNode(x_34, x_35, x_10);
-return x_36;
-}
-}
-else
-{
-lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40;
-lean_dec(x_18);
-lean_dec(x_1);
-x_37 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__8;
-x_38 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_37, x_16);
-x_39 = l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__2;
-x_40 = l_Lean_Parser_ParserState_mkNode(x_38, x_39, x_10);
-return x_40;
-}
-}
-else
-{
-lean_object* x_41; lean_object* x_42;
-lean_dec(x_15);
-lean_dec(x_1);
-x_41 = l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__2;
-x_42 = l_Lean_Parser_ParserState_mkNode(x_14, x_41, x_10);
-return x_42;
-}
-}
-else
-{
-lean_object* x_43; lean_object* x_44;
-lean_dec(x_12);
-lean_dec(x_1);
-x_43 = l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__2;
-x_44 = l_Lean_Parser_ParserState_mkNode(x_11, x_43, x_10);
-return x_44;
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__9;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-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_2, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-x_47 = lean_ctor_get(x_2, 1);
-lean_inc(x_47);
-lean_inc(x_1);
-x_48 = lean_apply_2(x_4, x_1, x_2);
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
-{
-lean_dec(x_47);
-lean_dec(x_46);
-lean_dec(x_1);
-return x_48;
-}
-else
-{
-lean_object* x_50; lean_object* x_51; uint8_t x_52;
-x_50 = lean_ctor_get(x_49, 0);
-lean_inc(x_50);
-lean_dec(x_49);
-x_51 = lean_ctor_get(x_48, 1);
-lean_inc(x_51);
-x_52 = lean_nat_dec_eq(x_51, x_47);
-lean_dec(x_51);
-if (x_52 == 0)
-{
-lean_dec(x_50);
-lean_dec(x_47);
-lean_dec(x_46);
-lean_dec(x_1);
-return x_48;
-}
-else
-{
-lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56;
-lean_inc(x_47);
-x_53 = l_Lean_Parser_ParserState_restore(x_48, x_46, x_47);
-lean_dec(x_46);
-x_54 = lean_unsigned_to_nat(1024u);
-x_55 = l_Lean_Parser_checkPrecFn(x_54, x_1, x_53);
-x_56 = lean_ctor_get(x_55, 3);
-lean_inc(x_56);
-if (lean_obj_tag(x_56) == 0)
-{
-lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60;
-x_57 = lean_ctor_get(x_55, 0);
-lean_inc(x_57);
-x_58 = lean_array_get_size(x_57);
-lean_dec(x_57);
-lean_inc(x_1);
-x_59 = l_Lean_Parser_ident___elambda__1(x_1, x_55);
-x_60 = lean_ctor_get(x_59, 3);
-lean_inc(x_60);
-if (lean_obj_tag(x_60) == 0)
-{
-lean_object* x_61; lean_object* x_62; lean_object* x_63;
-x_61 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__5;
-x_62 = l_Lean_Parser_checkNoWsBeforeFn(x_61, x_1, x_59);
-x_63 = lean_ctor_get(x_62, 3);
-lean_inc(x_63);
-if (lean_obj_tag(x_63) == 0)
-{
-lean_object* x_64; lean_object* x_65; lean_object* x_66;
-x_64 = lean_ctor_get(x_62, 1);
-lean_inc(x_64);
-lean_inc(x_1);
-x_65 = l_Lean_Parser_tokenFn(x_1, x_62);
-x_66 = lean_ctor_get(x_65, 3);
-lean_inc(x_66);
-if (lean_obj_tag(x_66) == 0)
-{
-lean_object* x_67; lean_object* x_68;
-x_67 = lean_ctor_get(x_65, 0);
-lean_inc(x_67);
-x_68 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_67);
-lean_dec(x_67);
-if (lean_obj_tag(x_68) == 2)
-{
-lean_object* x_69; lean_object* x_70; uint8_t x_71;
-x_69 = lean_ctor_get(x_68, 1);
-lean_inc(x_69);
-lean_dec(x_68);
-x_70 = l_Lean_Parser_mkAntiquot___closed__5;
-x_71 = lean_string_dec_eq(x_69, x_70);
-lean_dec(x_69);
-if (x_71 == 0)
-{
-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_dec(x_1);
-x_72 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__8;
-x_73 = l_Lean_Parser_ParserState_mkErrorsAt(x_65, x_72, x_64);
-x_74 = l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__2;
-x_75 = l_Lean_Parser_ParserState_mkNode(x_73, x_74, x_58);
-x_76 = 1;
-x_77 = l_Lean_Parser_mergeOrElseErrors(x_75, x_50, x_47, x_76);
-lean_dec(x_47);
-return x_77;
-}
-else
-{
-lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; uint8_t x_83; lean_object* x_84;
-lean_dec(x_64);
-x_78 = l_Lean_Parser_categoryParserFnImpl___closed__4;
-x_79 = l_Lean_Parser_maxPrec;
-x_80 = l_Lean_Parser_categoryParser___elambda__1(x_78, x_79, x_1, x_65);
-x_81 = l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__2;
-x_82 = l_Lean_Parser_ParserState_mkNode(x_80, x_81, x_58);
-x_83 = 1;
-x_84 = l_Lean_Parser_mergeOrElseErrors(x_82, x_50, x_47, x_83);
-lean_dec(x_47);
-return x_84;
-}
-}
-else
-{
-lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; uint8_t x_89; lean_object* x_90;
-lean_dec(x_68);
-lean_dec(x_1);
-x_85 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__8;
-x_86 = l_Lean_Parser_ParserState_mkErrorsAt(x_65, x_85, x_64);
-x_87 = l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__2;
-x_88 = l_Lean_Parser_ParserState_mkNode(x_86, x_87, x_58);
-x_89 = 1;
-x_90 = l_Lean_Parser_mergeOrElseErrors(x_88, x_50, x_47, x_89);
-lean_dec(x_47);
-return x_90;
-}
-}
-else
-{
-lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; uint8_t x_95; lean_object* x_96;
-lean_dec(x_66);
-lean_dec(x_1);
-x_91 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__8;
-x_92 = l_Lean_Parser_ParserState_mkErrorsAt(x_65, x_91, x_64);
-x_93 = l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__2;
-x_94 = l_Lean_Parser_ParserState_mkNode(x_92, x_93, x_58);
-x_95 = 1;
-x_96 = l_Lean_Parser_mergeOrElseErrors(x_94, x_50, x_47, x_95);
-lean_dec(x_47);
-return x_96;
-}
-}
-else
-{
-lean_object* x_97; lean_object* x_98; uint8_t x_99; lean_object* x_100;
-lean_dec(x_63);
-lean_dec(x_1);
-x_97 = l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__2;
-x_98 = l_Lean_Parser_ParserState_mkNode(x_62, x_97, x_58);
-x_99 = 1;
-x_100 = l_Lean_Parser_mergeOrElseErrors(x_98, x_50, x_47, x_99);
-lean_dec(x_47);
-return x_100;
-}
-}
-else
-{
-lean_object* x_101; lean_object* x_102; uint8_t x_103; lean_object* x_104;
-lean_dec(x_60);
-lean_dec(x_1);
-x_101 = l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__2;
-x_102 = l_Lean_Parser_ParserState_mkNode(x_59, x_101, x_58);
-x_103 = 1;
-x_104 = l_Lean_Parser_mergeOrElseErrors(x_102, x_50, x_47, x_103);
-lean_dec(x_47);
-return x_104;
-}
-}
-else
-{
-uint8_t x_105; lean_object* x_106;
-lean_dec(x_56);
-lean_dec(x_1);
-x_105 = 1;
-x_106 = l_Lean_Parser_mergeOrElseErrors(x_55, x_50, x_47, x_105);
-lean_dec(x_47);
-return x_106;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Command_macroArgSimple___closed__1() {
_start:
{
@@ -23890,208 +15434,36 @@ x_1 = l_Lean_Parser_Command_macroArgSimple___closed__8;
return x_1;
}
}
+static lean_object* _init_l_Lean_Parser_Command_macroArg___elambda__1___closed__1() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_strLit___closed__2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_tryFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_macroArg___elambda__1___closed__2() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_macroArgSimple___closed__7;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_tryFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
lean_object* l_Lean_Parser_Command_macroArg___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_ctor_get(x_2, 1);
-lean_inc(x_4);
-x_5 = lean_array_get_size(x_3);
-lean_dec(x_3);
-lean_inc(x_1);
-x_6 = l_Lean_Parser_strLit___elambda__1(x_1, x_2);
-x_7 = lean_ctor_get(x_6, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
-{
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_1);
+lean_object* x_3; lean_object* x_4; uint8_t x_5; lean_object* x_6;
+x_3 = l_Lean_Parser_Command_macroArg___elambda__1___closed__1;
+x_4 = l_Lean_Parser_Command_macroArg___elambda__1___closed__2;
+x_5 = 1;
+x_6 = l_Lean_Parser_orelseFnCore(x_3, x_4, x_5, x_1, x_2);
return x_6;
}
-else
-{
-uint8_t x_8;
-x_8 = !lean_is_exclusive(x_6);
-if (x_8 == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14;
-x_9 = lean_ctor_get(x_6, 0);
-x_10 = lean_ctor_get(x_6, 3);
-lean_dec(x_10);
-x_11 = lean_ctor_get(x_6, 1);
-lean_dec(x_11);
-x_12 = lean_ctor_get(x_7, 0);
-lean_inc(x_12);
-x_13 = l_Array_shrink___main___rarg(x_9, x_5);
-lean_inc(x_4);
-lean_ctor_set(x_6, 1, x_4);
-lean_ctor_set(x_6, 0, x_13);
-x_14 = lean_nat_dec_eq(x_4, x_4);
-if (x_14 == 0)
-{
-lean_dec(x_12);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_6;
-}
-else
-{
-lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
-lean_inc(x_4);
-x_15 = l_Lean_Parser_ParserState_restore(x_6, x_5, x_4);
-lean_dec(x_5);
-x_16 = lean_ctor_get(x_15, 0);
-lean_inc(x_16);
-x_17 = lean_array_get_size(x_16);
-lean_dec(x_16);
-x_18 = l_Lean_Parser_Command_macroArgSimple___elambda__1(x_1, x_15);
-x_19 = lean_ctor_get(x_18, 3);
-lean_inc(x_19);
-if (lean_obj_tag(x_19) == 0)
-{
-uint8_t x_20; lean_object* x_21;
-lean_dec(x_17);
-x_20 = 1;
-x_21 = l_Lean_Parser_mergeOrElseErrors(x_18, x_12, x_4, x_20);
-lean_dec(x_4);
-return x_21;
-}
-else
-{
-uint8_t x_22;
-x_22 = !lean_is_exclusive(x_18);
-if (x_22 == 0)
-{
-lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; uint8_t x_27; lean_object* x_28;
-x_23 = lean_ctor_get(x_18, 0);
-x_24 = lean_ctor_get(x_18, 3);
-lean_dec(x_24);
-x_25 = lean_ctor_get(x_18, 1);
-lean_dec(x_25);
-x_26 = l_Array_shrink___main___rarg(x_23, x_17);
-lean_dec(x_17);
-lean_inc(x_4);
-lean_ctor_set(x_18, 1, x_4);
-lean_ctor_set(x_18, 0, x_26);
-x_27 = 1;
-x_28 = l_Lean_Parser_mergeOrElseErrors(x_18, x_12, x_4, x_27);
-lean_dec(x_4);
-return x_28;
-}
-else
-{
-lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; uint8_t x_33; lean_object* x_34;
-x_29 = lean_ctor_get(x_18, 0);
-x_30 = lean_ctor_get(x_18, 2);
-lean_inc(x_30);
-lean_inc(x_29);
-lean_dec(x_18);
-x_31 = l_Array_shrink___main___rarg(x_29, x_17);
-lean_dec(x_17);
-lean_inc(x_4);
-x_32 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_32, 0, x_31);
-lean_ctor_set(x_32, 1, x_4);
-lean_ctor_set(x_32, 2, x_30);
-lean_ctor_set(x_32, 3, x_19);
-x_33 = 1;
-x_34 = l_Lean_Parser_mergeOrElseErrors(x_32, x_12, x_4, x_33);
-lean_dec(x_4);
-return x_34;
-}
-}
-}
-}
-else
-{
-lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_35 = lean_ctor_get(x_6, 0);
-x_36 = lean_ctor_get(x_6, 2);
-lean_inc(x_36);
-lean_inc(x_35);
-lean_dec(x_6);
-x_37 = lean_ctor_get(x_7, 0);
-lean_inc(x_37);
-x_38 = l_Array_shrink___main___rarg(x_35, x_5);
-lean_inc(x_4);
-x_39 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_39, 0, x_38);
-lean_ctor_set(x_39, 1, x_4);
-lean_ctor_set(x_39, 2, x_36);
-lean_ctor_set(x_39, 3, x_7);
-x_40 = lean_nat_dec_eq(x_4, x_4);
-if (x_40 == 0)
-{
-lean_dec(x_37);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_39;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45;
-lean_inc(x_4);
-x_41 = l_Lean_Parser_ParserState_restore(x_39, x_5, x_4);
-lean_dec(x_5);
-x_42 = lean_ctor_get(x_41, 0);
-lean_inc(x_42);
-x_43 = lean_array_get_size(x_42);
-lean_dec(x_42);
-x_44 = l_Lean_Parser_Command_macroArgSimple___elambda__1(x_1, x_41);
-x_45 = lean_ctor_get(x_44, 3);
-lean_inc(x_45);
-if (lean_obj_tag(x_45) == 0)
-{
-uint8_t x_46; lean_object* x_47;
-lean_dec(x_43);
-x_46 = 1;
-x_47 = l_Lean_Parser_mergeOrElseErrors(x_44, x_37, x_4, x_46);
-lean_dec(x_4);
-return x_47;
-}
-else
-{
-lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; uint8_t x_53; lean_object* x_54;
-x_48 = lean_ctor_get(x_44, 0);
-lean_inc(x_48);
-x_49 = lean_ctor_get(x_44, 2);
-lean_inc(x_49);
-if (lean_is_exclusive(x_44)) {
- lean_ctor_release(x_44, 0);
- lean_ctor_release(x_44, 1);
- lean_ctor_release(x_44, 2);
- lean_ctor_release(x_44, 3);
- x_50 = x_44;
-} else {
- lean_dec_ref(x_44);
- x_50 = lean_box(0);
-}
-x_51 = l_Array_shrink___main___rarg(x_48, x_43);
-lean_dec(x_43);
-lean_inc(x_4);
-if (lean_is_scalar(x_50)) {
- x_52 = lean_alloc_ctor(0, 4, 0);
-} else {
- x_52 = x_50;
-}
-lean_ctor_set(x_52, 0, x_51);
-lean_ctor_set(x_52, 1, x_4);
-lean_ctor_set(x_52, 2, x_49);
-lean_ctor_set(x_52, 3, x_45);
-x_53 = 1;
-x_54 = l_Lean_Parser_mergeOrElseErrors(x_52, x_37, x_4, x_53);
-lean_dec(x_4);
-return x_54;
-}
-}
-}
-}
-}
}
static lean_object* _init_l_Lean_Parser_Command_macroArg___closed__1() {
_start:
@@ -24135,114 +15507,26 @@ x_1 = l_Lean_Parser_Command_macroArg___closed__3;
return x_1;
}
}
+static lean_object* _init_l_Lean_Parser_Command_macroHead___elambda__1___closed__1() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_ident___closed__2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_tryFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
lean_object* l_Lean_Parser_Command_macroHead___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_ctor_get(x_2, 1);
-lean_inc(x_4);
-x_5 = lean_array_get_size(x_3);
-lean_dec(x_3);
-lean_inc(x_1);
-x_6 = l_Lean_Parser_Command_macroArg___elambda__1(x_1, x_2);
-x_7 = lean_ctor_get(x_6, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
-{
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_1);
+lean_object* x_3; lean_object* x_4; uint8_t x_5; lean_object* x_6;
+x_3 = l_Lean_Parser_Command_macroArg___closed__2;
+x_4 = l_Lean_Parser_Command_macroHead___elambda__1___closed__1;
+x_5 = 1;
+x_6 = l_Lean_Parser_orelseFnCore(x_3, x_4, x_5, x_1, x_2);
return x_6;
}
-else
-{
-lean_object* x_8; lean_object* x_9; uint8_t x_10;
-x_8 = lean_ctor_get(x_7, 0);
-lean_inc(x_8);
-lean_dec(x_7);
-x_9 = lean_ctor_get(x_6, 1);
-lean_inc(x_9);
-x_10 = lean_nat_dec_eq(x_9, x_4);
-lean_dec(x_9);
-if (x_10 == 0)
-{
-lean_dec(x_8);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_6;
-}
-else
-{
-lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15;
-lean_inc(x_4);
-x_11 = l_Lean_Parser_ParserState_restore(x_6, x_5, x_4);
-lean_dec(x_5);
-x_12 = lean_ctor_get(x_11, 0);
-lean_inc(x_12);
-x_13 = lean_array_get_size(x_12);
-lean_dec(x_12);
-x_14 = l_Lean_Parser_ident___elambda__1(x_1, x_11);
-x_15 = lean_ctor_get(x_14, 3);
-lean_inc(x_15);
-if (lean_obj_tag(x_15) == 0)
-{
-uint8_t x_16; lean_object* x_17;
-lean_dec(x_13);
-x_16 = 1;
-x_17 = l_Lean_Parser_mergeOrElseErrors(x_14, x_8, x_4, x_16);
-lean_dec(x_4);
-return x_17;
-}
-else
-{
-uint8_t x_18;
-x_18 = !lean_is_exclusive(x_14);
-if (x_18 == 0)
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; uint8_t x_23; lean_object* x_24;
-x_19 = lean_ctor_get(x_14, 0);
-x_20 = lean_ctor_get(x_14, 3);
-lean_dec(x_20);
-x_21 = lean_ctor_get(x_14, 1);
-lean_dec(x_21);
-x_22 = l_Array_shrink___main___rarg(x_19, x_13);
-lean_dec(x_13);
-lean_inc(x_4);
-lean_ctor_set(x_14, 1, x_4);
-lean_ctor_set(x_14, 0, x_22);
-x_23 = 1;
-x_24 = l_Lean_Parser_mergeOrElseErrors(x_14, x_8, x_4, x_23);
-lean_dec(x_4);
-return x_24;
-}
-else
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t x_29; lean_object* x_30;
-x_25 = lean_ctor_get(x_14, 0);
-x_26 = lean_ctor_get(x_14, 2);
-lean_inc(x_26);
-lean_inc(x_25);
-lean_dec(x_14);
-x_27 = l_Array_shrink___main___rarg(x_25, x_13);
-lean_dec(x_13);
-lean_inc(x_4);
-x_28 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_28, 0, x_27);
-lean_ctor_set(x_28, 1, x_4);
-lean_ctor_set(x_28, 2, x_26);
-lean_ctor_set(x_28, 3, x_15);
-x_29 = 1;
-x_30 = l_Lean_Parser_mergeOrElseErrors(x_28, x_8, x_4, x_29);
-lean_dec(x_4);
-return x_30;
-}
-}
-}
-}
-}
}
static lean_object* _init_l_Lean_Parser_Command_macroHead___closed__1() {
_start:
@@ -24286,408 +15570,77 @@ x_1 = l_Lean_Parser_Command_macroHead___closed__3;
return x_1;
}
}
-lean_object* l_Lean_Parser_Command_macroTailTactic___elambda__1(lean_object* x_1, lean_object* x_2) {
+static lean_object* _init_l_Lean_Parser_Command_macroTailTactic___elambda__1___closed__1() {
_start:
{
-lean_object* x_3; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_84; lean_object* x_85;
-x_56 = lean_ctor_get(x_2, 0);
-lean_inc(x_56);
-x_57 = lean_ctor_get(x_2, 1);
-lean_inc(x_57);
-x_58 = lean_array_get_size(x_56);
-lean_dec(x_56);
-lean_inc(x_1);
-x_84 = l_Lean_Parser_tokenFn(x_1, x_2);
-x_85 = lean_ctor_get(x_84, 3);
-lean_inc(x_85);
-if (lean_obj_tag(x_85) == 0)
-{
-lean_object* x_86; lean_object* x_87;
-x_86 = lean_ctor_get(x_84, 0);
-lean_inc(x_86);
-x_87 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_86);
-lean_dec(x_86);
-if (lean_obj_tag(x_87) == 2)
-{
-lean_object* x_88; lean_object* x_89; uint8_t x_90;
-x_88 = lean_ctor_get(x_87, 1);
-lean_inc(x_88);
-lean_dec(x_87);
-x_89 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__3;
-x_90 = lean_string_dec_eq(x_88, x_89);
-lean_dec(x_88);
-if (x_90 == 0)
-{
-lean_object* x_91; lean_object* x_92;
-x_91 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-lean_inc(x_57);
-x_92 = l_Lean_Parser_ParserState_mkErrorsAt(x_84, x_91, x_57);
-x_59 = x_92;
-goto block_83;
-}
-else
-{
-x_59 = x_84;
-goto block_83;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___closed__2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_identEqFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
-else
+static lean_object* _init_l_Lean_Parser_Command_macroTailTactic___elambda__1___closed__2() {
+_start:
{
-lean_object* x_93; lean_object* x_94;
-lean_dec(x_87);
-x_93 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-lean_inc(x_57);
-x_94 = l_Lean_Parser_ParserState_mkErrorsAt(x_84, x_93, x_57);
-x_59 = x_94;
-goto block_83;
-}
-}
-else
-{
-lean_object* x_95; lean_object* x_96;
-lean_dec(x_85);
-x_95 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-lean_inc(x_57);
-x_96 = l_Lean_Parser_ParserState_mkErrorsAt(x_84, x_95, x_57);
-x_59 = x_96;
-goto block_83;
-}
-block_55:
-{
-lean_object* x_4;
-x_4 = lean_ctor_get(x_3, 3);
-lean_inc(x_4);
-if (lean_obj_tag(x_4) == 0)
-{
-lean_object* x_5; lean_object* x_6;
-lean_inc(x_1);
-x_5 = l_Lean_Parser_darrow___elambda__1(x_1, x_3);
-x_6 = lean_ctor_get(x_5, 3);
-lean_inc(x_6);
-if (lean_obj_tag(x_6) == 0)
-{
-lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_22; lean_object* x_42; lean_object* x_43;
-x_7 = lean_ctor_get(x_5, 0);
-lean_inc(x_7);
-x_8 = lean_array_get_size(x_7);
-lean_dec(x_7);
-x_9 = lean_ctor_get(x_5, 1);
-lean_inc(x_9);
-lean_inc(x_1);
-x_42 = l_Lean_Parser_tokenFn(x_1, x_5);
-x_43 = lean_ctor_get(x_42, 3);
-lean_inc(x_43);
-if (lean_obj_tag(x_43) == 0)
-{
-lean_object* x_44; lean_object* x_45;
-x_44 = lean_ctor_get(x_42, 0);
-lean_inc(x_44);
-x_45 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_44);
-lean_dec(x_44);
-if (lean_obj_tag(x_45) == 2)
-{
-lean_object* x_46; lean_object* x_47; uint8_t x_48;
-x_46 = lean_ctor_get(x_45, 1);
-lean_inc(x_46);
-lean_dec(x_45);
-x_47 = l_Lean_Parser_Term_quot___elambda__1___closed__5;
-x_48 = lean_string_dec_eq(x_46, x_47);
-lean_dec(x_46);
-if (x_48 == 0)
-{
-lean_object* x_49; lean_object* x_50;
-x_49 = l_Lean_Parser_Term_quot___elambda__1___closed__12;
-lean_inc(x_9);
-x_50 = l_Lean_Parser_ParserState_mkErrorsAt(x_42, x_49, x_9);
-x_22 = x_50;
-goto block_41;
-}
-else
-{
-x_22 = x_42;
-goto block_41;
-}
-}
-else
-{
-lean_object* x_51; lean_object* x_52;
-lean_dec(x_45);
-x_51 = l_Lean_Parser_Term_quot___elambda__1___closed__12;
-lean_inc(x_9);
-x_52 = l_Lean_Parser_ParserState_mkErrorsAt(x_42, x_51, x_9);
-x_22 = x_52;
-goto block_41;
-}
-}
-else
-{
-lean_object* x_53; lean_object* x_54;
-lean_dec(x_43);
-x_53 = l_Lean_Parser_Term_quot___elambda__1___closed__12;
-lean_inc(x_9);
-x_54 = l_Lean_Parser_ParserState_mkErrorsAt(x_42, x_53, x_9);
-x_22 = x_54;
-goto block_41;
-}
-block_21:
-{
-lean_object* x_11;
-x_11 = lean_ctor_get(x_10, 3);
-lean_inc(x_11);
-if (lean_obj_tag(x_11) == 0)
-{
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_1);
-return x_10;
-}
-else
-{
-lean_object* x_12; lean_object* x_13; uint8_t x_14;
-x_12 = lean_ctor_get(x_11, 0);
-lean_inc(x_12);
-lean_dec(x_11);
-x_13 = lean_ctor_get(x_10, 1);
-lean_inc(x_13);
-x_14 = lean_nat_dec_eq(x_13, x_9);
-lean_dec(x_13);
-if (x_14 == 0)
-{
-lean_dec(x_12);
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_1);
-return x_10;
-}
-else
-{
-lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19; lean_object* x_20;
-lean_inc(x_9);
-x_15 = l_Lean_Parser_ParserState_restore(x_10, x_8, x_9);
-lean_dec(x_8);
-x_16 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_17 = lean_unsigned_to_nat(0u);
-x_18 = l_Lean_Parser_categoryParser___elambda__1(x_16, x_17, x_1, x_15);
-x_19 = 1;
-x_20 = l_Lean_Parser_mergeOrElseErrors(x_18, x_12, x_9, x_19);
-lean_dec(x_9);
-return x_20;
-}
-}
-}
-block_41:
-{
-lean_object* x_23;
-x_23 = lean_ctor_get(x_22, 3);
-lean_inc(x_23);
-if (lean_obj_tag(x_23) == 0)
-{
-lean_object* x_24; lean_object* x_25; lean_object* x_26;
-x_24 = l_Lean_Parser_Tactic_seq1___closed__4;
-lean_inc(x_1);
-x_25 = l_Lean_Parser_toggleInsideQuotFn(x_24, x_1, x_22);
-x_26 = lean_ctor_get(x_25, 3);
-lean_inc(x_26);
-if (lean_obj_tag(x_26) == 0)
-{
-lean_object* x_27; lean_object* x_28; lean_object* x_29;
-x_27 = lean_ctor_get(x_25, 1);
-lean_inc(x_27);
-lean_inc(x_1);
-x_28 = l_Lean_Parser_tokenFn(x_1, x_25);
-x_29 = lean_ctor_get(x_28, 3);
-lean_inc(x_29);
-if (lean_obj_tag(x_29) == 0)
-{
-lean_object* x_30; lean_object* x_31;
-x_30 = lean_ctor_get(x_28, 0);
-lean_inc(x_30);
-x_31 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_30);
-lean_dec(x_30);
-if (lean_obj_tag(x_31) == 2)
-{
-lean_object* x_32; lean_object* x_33; uint8_t x_34;
-x_32 = lean_ctor_get(x_31, 1);
-lean_inc(x_32);
-lean_dec(x_31);
-x_33 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
-x_34 = lean_string_dec_eq(x_32, x_33);
-lean_dec(x_32);
-if (x_34 == 0)
-{
-lean_object* x_35; lean_object* x_36;
-x_35 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_36 = l_Lean_Parser_ParserState_mkErrorsAt(x_28, x_35, x_27);
-x_10 = x_36;
-goto block_21;
-}
-else
-{
-lean_dec(x_27);
-x_10 = x_28;
-goto block_21;
-}
-}
-else
-{
-lean_object* x_37; lean_object* x_38;
-lean_dec(x_31);
-x_37 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_38 = l_Lean_Parser_ParserState_mkErrorsAt(x_28, x_37, x_27);
-x_10 = x_38;
-goto block_21;
-}
-}
-else
-{
-lean_object* x_39; lean_object* x_40;
-lean_dec(x_29);
-x_39 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_40 = l_Lean_Parser_ParserState_mkErrorsAt(x_28, x_39, x_27);
-x_10 = x_40;
-goto block_21;
-}
-}
-else
-{
-lean_dec(x_26);
-x_10 = x_25;
-goto block_21;
-}
-}
-else
-{
-lean_dec(x_23);
-x_10 = x_22;
-goto block_21;
-}
-}
-}
-else
-{
-lean_dec(x_6);
-lean_dec(x_1);
-return x_5;
-}
-}
-else
-{
-lean_dec(x_4);
-lean_dec(x_1);
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__4;
+x_2 = l_Lean_Parser_Command_macroTailTactic___elambda__1___closed__1;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
-block_83:
+static lean_object* _init_l_Lean_Parser_Command_macroTailTactic___elambda__1___closed__3() {
+_start:
{
-lean_object* x_60;
-x_60 = lean_ctor_get(x_59, 3);
-lean_inc(x_60);
-if (lean_obj_tag(x_60) == 0)
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_quot___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+lean_object* l_Lean_Parser_Command_macroTailTactic___elambda__1(lean_object* x_1, lean_object* x_2) {
+_start:
{
-lean_object* x_61; lean_object* x_62; lean_object* x_63;
-x_61 = l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___closed__2;
+lean_object* x_3; lean_object* x_4; lean_object* x_5;
+x_3 = l_Lean_Parser_Command_macroTailTactic___elambda__1___closed__2;
lean_inc(x_1);
-x_62 = l_Lean_Parser_identEqFn(x_61, x_1, x_59);
-x_63 = lean_ctor_get(x_62, 3);
-lean_inc(x_63);
-if (lean_obj_tag(x_63) == 0)
+x_4 = l_Lean_Parser_tryFn(x_3, x_1, x_2);
+x_5 = lean_ctor_get(x_4, 3);
+lean_inc(x_5);
+if (lean_obj_tag(x_5) == 0)
{
-lean_dec(x_58);
-lean_dec(x_57);
-x_3 = x_62;
-goto block_55;
+lean_object* x_6; lean_object* x_7;
+lean_inc(x_1);
+x_6 = l_Lean_Parser_darrow___elambda__1(x_1, x_4);
+x_7 = lean_ctor_get(x_6, 3);
+lean_inc(x_7);
+if (lean_obj_tag(x_7) == 0)
+{
+lean_object* x_8; lean_object* x_9; uint8_t x_10; lean_object* x_11;
+x_8 = l_Lean_Parser_Command_macroTailTactic___elambda__1___closed__3;
+x_9 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_10 = 1;
+x_11 = l_Lean_Parser_orelseFnCore(x_8, x_9, x_10, x_1, x_6);
+return x_11;
}
else
{
-uint8_t x_64;
-x_64 = !lean_is_exclusive(x_62);
-if (x_64 == 0)
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68;
-x_65 = lean_ctor_get(x_62, 0);
-x_66 = lean_ctor_get(x_62, 3);
-lean_dec(x_66);
-x_67 = lean_ctor_get(x_62, 1);
-lean_dec(x_67);
-x_68 = l_Array_shrink___main___rarg(x_65, x_58);
-lean_dec(x_58);
-lean_ctor_set(x_62, 1, x_57);
-lean_ctor_set(x_62, 0, x_68);
-x_3 = x_62;
-goto block_55;
-}
-else
-{
-lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72;
-x_69 = lean_ctor_get(x_62, 0);
-x_70 = lean_ctor_get(x_62, 2);
-lean_inc(x_70);
-lean_inc(x_69);
-lean_dec(x_62);
-x_71 = l_Array_shrink___main___rarg(x_69, x_58);
-lean_dec(x_58);
-x_72 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_72, 0, x_71);
-lean_ctor_set(x_72, 1, x_57);
-lean_ctor_set(x_72, 2, x_70);
-lean_ctor_set(x_72, 3, x_63);
-x_3 = x_72;
-goto block_55;
-}
+lean_dec(x_7);
+lean_dec(x_1);
+return x_6;
}
}
else
{
-lean_object* x_73;
-lean_dec(x_60);
-x_73 = lean_ctor_get(x_59, 3);
-lean_inc(x_73);
-if (lean_obj_tag(x_73) == 0)
-{
-lean_dec(x_58);
-lean_dec(x_57);
-x_3 = x_59;
-goto block_55;
-}
-else
-{
-uint8_t x_74;
-x_74 = !lean_is_exclusive(x_59);
-if (x_74 == 0)
-{
-lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78;
-x_75 = lean_ctor_get(x_59, 0);
-x_76 = lean_ctor_get(x_59, 3);
-lean_dec(x_76);
-x_77 = lean_ctor_get(x_59, 1);
-lean_dec(x_77);
-x_78 = l_Array_shrink___main___rarg(x_75, x_58);
-lean_dec(x_58);
-lean_ctor_set(x_59, 1, x_57);
-lean_ctor_set(x_59, 0, x_78);
-x_3 = x_59;
-goto block_55;
-}
-else
-{
-lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82;
-x_79 = lean_ctor_get(x_59, 0);
-x_80 = lean_ctor_get(x_59, 2);
-lean_inc(x_80);
-lean_inc(x_79);
-lean_dec(x_59);
-x_81 = l_Array_shrink___main___rarg(x_79, x_58);
-lean_dec(x_58);
-x_82 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_82, 0, x_81);
-lean_ctor_set(x_82, 1, x_57);
-lean_ctor_set(x_82, 2, x_80);
-lean_ctor_set(x_82, 3, x_73);
-x_3 = x_82;
-goto block_55;
-}
-}
-}
+lean_dec(x_5);
+lean_dec(x_1);
+return x_4;
}
}
}
@@ -24763,408 +15716,99 @@ x_1 = l_Lean_Parser_Command_macroTailTactic___closed__6;
return x_1;
}
}
-lean_object* l_Lean_Parser_Command_macroTailCommand___elambda__1(lean_object* x_1, lean_object* x_2) {
+static lean_object* _init_l_Lean_Parser_Command_macroTailCommand___elambda__1___closed__1() {
_start:
{
-lean_object* x_3; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_84; lean_object* x_85;
-x_56 = lean_ctor_get(x_2, 0);
-lean_inc(x_56);
-x_57 = lean_ctor_get(x_2, 1);
-lean_inc(x_57);
-x_58 = lean_array_get_size(x_56);
-lean_dec(x_56);
-lean_inc(x_1);
-x_84 = l_Lean_Parser_tokenFn(x_1, x_2);
-x_85 = lean_ctor_get(x_84, 3);
-lean_inc(x_85);
-if (lean_obj_tag(x_85) == 0)
-{
-lean_object* x_86; lean_object* x_87;
-x_86 = lean_ctor_get(x_84, 0);
-lean_inc(x_86);
-x_87 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_86);
-lean_dec(x_86);
-if (lean_obj_tag(x_87) == 2)
-{
-lean_object* x_88; lean_object* x_89; uint8_t x_90;
-x_88 = lean_ctor_get(x_87, 1);
-lean_inc(x_88);
-lean_dec(x_87);
-x_89 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__3;
-x_90 = lean_string_dec_eq(x_88, x_89);
-lean_dec(x_88);
-if (x_90 == 0)
-{
-lean_object* x_91; lean_object* x_92;
-x_91 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-lean_inc(x_57);
-x_92 = l_Lean_Parser_ParserState_mkErrorsAt(x_84, x_91, x_57);
-x_59 = x_92;
-goto block_83;
-}
-else
-{
-x_59 = x_84;
-goto block_83;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3127____closed__4;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_identEqFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
-else
+static lean_object* _init_l_Lean_Parser_Command_macroTailCommand___elambda__1___closed__2() {
+_start:
{
-lean_object* x_93; lean_object* x_94;
-lean_dec(x_87);
-x_93 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-lean_inc(x_57);
-x_94 = l_Lean_Parser_ParserState_mkErrorsAt(x_84, x_93, x_57);
-x_59 = x_94;
-goto block_83;
-}
-}
-else
-{
-lean_object* x_95; lean_object* x_96;
-lean_dec(x_85);
-x_95 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-lean_inc(x_57);
-x_96 = l_Lean_Parser_ParserState_mkErrorsAt(x_84, x_95, x_57);
-x_59 = x_96;
-goto block_83;
-}
-block_55:
-{
-lean_object* x_4;
-x_4 = lean_ctor_get(x_3, 3);
-lean_inc(x_4);
-if (lean_obj_tag(x_4) == 0)
-{
-lean_object* x_5; lean_object* x_6;
-lean_inc(x_1);
-x_5 = l_Lean_Parser_darrow___elambda__1(x_1, x_3);
-x_6 = lean_ctor_get(x_5, 3);
-lean_inc(x_6);
-if (lean_obj_tag(x_6) == 0)
-{
-lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_22; lean_object* x_42; lean_object* x_43;
-x_7 = lean_ctor_get(x_5, 0);
-lean_inc(x_7);
-x_8 = lean_array_get_size(x_7);
-lean_dec(x_7);
-x_9 = lean_ctor_get(x_5, 1);
-lean_inc(x_9);
-lean_inc(x_1);
-x_42 = l_Lean_Parser_tokenFn(x_1, x_5);
-x_43 = lean_ctor_get(x_42, 3);
-lean_inc(x_43);
-if (lean_obj_tag(x_43) == 0)
-{
-lean_object* x_44; lean_object* x_45;
-x_44 = lean_ctor_get(x_42, 0);
-lean_inc(x_44);
-x_45 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_44);
-lean_dec(x_44);
-if (lean_obj_tag(x_45) == 2)
-{
-lean_object* x_46; lean_object* x_47; uint8_t x_48;
-x_46 = lean_ctor_get(x_45, 1);
-lean_inc(x_46);
-lean_dec(x_45);
-x_47 = l_Lean_Parser_Term_quot___elambda__1___closed__5;
-x_48 = lean_string_dec_eq(x_46, x_47);
-lean_dec(x_46);
-if (x_48 == 0)
-{
-lean_object* x_49; lean_object* x_50;
-x_49 = l_Lean_Parser_Term_quot___elambda__1___closed__12;
-lean_inc(x_9);
-x_50 = l_Lean_Parser_ParserState_mkErrorsAt(x_42, x_49, x_9);
-x_22 = x_50;
-goto block_41;
-}
-else
-{
-x_22 = x_42;
-goto block_41;
-}
-}
-else
-{
-lean_object* x_51; lean_object* x_52;
-lean_dec(x_45);
-x_51 = l_Lean_Parser_Term_quot___elambda__1___closed__12;
-lean_inc(x_9);
-x_52 = l_Lean_Parser_ParserState_mkErrorsAt(x_42, x_51, x_9);
-x_22 = x_52;
-goto block_41;
-}
-}
-else
-{
-lean_object* x_53; lean_object* x_54;
-lean_dec(x_43);
-x_53 = l_Lean_Parser_Term_quot___elambda__1___closed__12;
-lean_inc(x_9);
-x_54 = l_Lean_Parser_ParserState_mkErrorsAt(x_42, x_53, x_9);
-x_22 = x_54;
-goto block_41;
-}
-block_21:
-{
-lean_object* x_11;
-x_11 = lean_ctor_get(x_10, 3);
-lean_inc(x_11);
-if (lean_obj_tag(x_11) == 0)
-{
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_1);
-return x_10;
-}
-else
-{
-lean_object* x_12; lean_object* x_13; uint8_t x_14;
-x_12 = lean_ctor_get(x_11, 0);
-lean_inc(x_12);
-lean_dec(x_11);
-x_13 = lean_ctor_get(x_10, 1);
-lean_inc(x_13);
-x_14 = lean_nat_dec_eq(x_13, x_9);
-lean_dec(x_13);
-if (x_14 == 0)
-{
-lean_dec(x_12);
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_1);
-return x_10;
-}
-else
-{
-lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19; lean_object* x_20;
-lean_inc(x_9);
-x_15 = l_Lean_Parser_ParserState_restore(x_10, x_8, x_9);
-lean_dec(x_8);
-x_16 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_17 = lean_unsigned_to_nat(0u);
-x_18 = l_Lean_Parser_categoryParser___elambda__1(x_16, x_17, x_1, x_15);
-x_19 = 1;
-x_20 = l_Lean_Parser_mergeOrElseErrors(x_18, x_12, x_9, x_19);
-lean_dec(x_9);
-return x_20;
-}
-}
-}
-block_41:
-{
-lean_object* x_23;
-x_23 = lean_ctor_get(x_22, 3);
-lean_inc(x_23);
-if (lean_obj_tag(x_23) == 0)
-{
-lean_object* x_24; lean_object* x_25; lean_object* x_26;
-x_24 = l_Lean_Parser_Term_quot___elambda__1___closed__8;
-lean_inc(x_1);
-x_25 = l_Lean_Parser_toggleInsideQuotFn(x_24, x_1, x_22);
-x_26 = lean_ctor_get(x_25, 3);
-lean_inc(x_26);
-if (lean_obj_tag(x_26) == 0)
-{
-lean_object* x_27; lean_object* x_28; lean_object* x_29;
-x_27 = lean_ctor_get(x_25, 1);
-lean_inc(x_27);
-lean_inc(x_1);
-x_28 = l_Lean_Parser_tokenFn(x_1, x_25);
-x_29 = lean_ctor_get(x_28, 3);
-lean_inc(x_29);
-if (lean_obj_tag(x_29) == 0)
-{
-lean_object* x_30; lean_object* x_31;
-x_30 = lean_ctor_get(x_28, 0);
-lean_inc(x_30);
-x_31 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_30);
-lean_dec(x_30);
-if (lean_obj_tag(x_31) == 2)
-{
-lean_object* x_32; lean_object* x_33; uint8_t x_34;
-x_32 = lean_ctor_get(x_31, 1);
-lean_inc(x_32);
-lean_dec(x_31);
-x_33 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
-x_34 = lean_string_dec_eq(x_32, x_33);
-lean_dec(x_32);
-if (x_34 == 0)
-{
-lean_object* x_35; lean_object* x_36;
-x_35 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_36 = l_Lean_Parser_ParserState_mkErrorsAt(x_28, x_35, x_27);
-x_10 = x_36;
-goto block_21;
-}
-else
-{
-lean_dec(x_27);
-x_10 = x_28;
-goto block_21;
-}
-}
-else
-{
-lean_object* x_37; lean_object* x_38;
-lean_dec(x_31);
-x_37 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_38 = l_Lean_Parser_ParserState_mkErrorsAt(x_28, x_37, x_27);
-x_10 = x_38;
-goto block_21;
-}
-}
-else
-{
-lean_object* x_39; lean_object* x_40;
-lean_dec(x_29);
-x_39 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_40 = l_Lean_Parser_ParserState_mkErrorsAt(x_28, x_39, x_27);
-x_10 = x_40;
-goto block_21;
-}
-}
-else
-{
-lean_dec(x_26);
-x_10 = x_25;
-goto block_21;
-}
-}
-else
-{
-lean_dec(x_23);
-x_10 = x_22;
-goto block_21;
-}
-}
-}
-else
-{
-lean_dec(x_6);
-lean_dec(x_1);
-return x_5;
-}
-}
-else
-{
-lean_dec(x_4);
-lean_dec(x_1);
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__4;
+x_2 = l_Lean_Parser_Command_macroTailCommand___elambda__1___closed__1;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
-block_83:
+static lean_object* _init_l_Lean_Parser_Command_macroTailCommand___elambda__1___closed__3() {
+_start:
{
-lean_object* x_60;
-x_60 = lean_ctor_get(x_59, 3);
-lean_inc(x_60);
-if (lean_obj_tag(x_60) == 0)
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_quot___elambda__1___closed__9;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_toggleInsideQuotFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_macroTailCommand___elambda__1___closed__4() {
+_start:
{
-lean_object* x_61; lean_object* x_62; lean_object* x_63;
-x_61 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3127____closed__4;
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_macroTailCommand___elambda__1___closed__3;
+x_2 = l_Lean_Parser_Level_paren___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_macroTailCommand___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_quot___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Command_macroTailCommand___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+lean_object* l_Lean_Parser_Command_macroTailCommand___elambda__1(lean_object* x_1, lean_object* x_2) {
+_start:
+{
+lean_object* x_3; lean_object* x_4; lean_object* x_5;
+x_3 = l_Lean_Parser_Command_macroTailCommand___elambda__1___closed__2;
lean_inc(x_1);
-x_62 = l_Lean_Parser_identEqFn(x_61, x_1, x_59);
-x_63 = lean_ctor_get(x_62, 3);
-lean_inc(x_63);
-if (lean_obj_tag(x_63) == 0)
+x_4 = l_Lean_Parser_tryFn(x_3, x_1, x_2);
+x_5 = lean_ctor_get(x_4, 3);
+lean_inc(x_5);
+if (lean_obj_tag(x_5) == 0)
{
-lean_dec(x_58);
-lean_dec(x_57);
-x_3 = x_62;
-goto block_55;
+lean_object* x_6; lean_object* x_7;
+lean_inc(x_1);
+x_6 = l_Lean_Parser_darrow___elambda__1(x_1, x_4);
+x_7 = lean_ctor_get(x_6, 3);
+lean_inc(x_7);
+if (lean_obj_tag(x_7) == 0)
+{
+lean_object* x_8; lean_object* x_9; uint8_t x_10; lean_object* x_11;
+x_8 = l_Lean_Parser_Command_macroTailCommand___elambda__1___closed__5;
+x_9 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_10 = 1;
+x_11 = l_Lean_Parser_orelseFnCore(x_8, x_9, x_10, x_1, x_6);
+return x_11;
}
else
{
-uint8_t x_64;
-x_64 = !lean_is_exclusive(x_62);
-if (x_64 == 0)
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68;
-x_65 = lean_ctor_get(x_62, 0);
-x_66 = lean_ctor_get(x_62, 3);
-lean_dec(x_66);
-x_67 = lean_ctor_get(x_62, 1);
-lean_dec(x_67);
-x_68 = l_Array_shrink___main___rarg(x_65, x_58);
-lean_dec(x_58);
-lean_ctor_set(x_62, 1, x_57);
-lean_ctor_set(x_62, 0, x_68);
-x_3 = x_62;
-goto block_55;
-}
-else
-{
-lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72;
-x_69 = lean_ctor_get(x_62, 0);
-x_70 = lean_ctor_get(x_62, 2);
-lean_inc(x_70);
-lean_inc(x_69);
-lean_dec(x_62);
-x_71 = l_Array_shrink___main___rarg(x_69, x_58);
-lean_dec(x_58);
-x_72 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_72, 0, x_71);
-lean_ctor_set(x_72, 1, x_57);
-lean_ctor_set(x_72, 2, x_70);
-lean_ctor_set(x_72, 3, x_63);
-x_3 = x_72;
-goto block_55;
-}
+lean_dec(x_7);
+lean_dec(x_1);
+return x_6;
}
}
else
{
-lean_object* x_73;
-lean_dec(x_60);
-x_73 = lean_ctor_get(x_59, 3);
-lean_inc(x_73);
-if (lean_obj_tag(x_73) == 0)
-{
-lean_dec(x_58);
-lean_dec(x_57);
-x_3 = x_59;
-goto block_55;
-}
-else
-{
-uint8_t x_74;
-x_74 = !lean_is_exclusive(x_59);
-if (x_74 == 0)
-{
-lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78;
-x_75 = lean_ctor_get(x_59, 0);
-x_76 = lean_ctor_get(x_59, 3);
-lean_dec(x_76);
-x_77 = lean_ctor_get(x_59, 1);
-lean_dec(x_77);
-x_78 = l_Array_shrink___main___rarg(x_75, x_58);
-lean_dec(x_58);
-lean_ctor_set(x_59, 1, x_57);
-lean_ctor_set(x_59, 0, x_78);
-x_3 = x_59;
-goto block_55;
-}
-else
-{
-lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82;
-x_79 = lean_ctor_get(x_59, 0);
-x_80 = lean_ctor_get(x_59, 2);
-lean_inc(x_80);
-lean_inc(x_79);
-lean_dec(x_59);
-x_81 = l_Array_shrink___main___rarg(x_79, x_58);
-lean_dec(x_58);
-x_82 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_82, 0, x_81);
-lean_ctor_set(x_82, 1, x_57);
-lean_ctor_set(x_82, 2, x_80);
-lean_ctor_set(x_82, 3, x_73);
-x_3 = x_82;
-goto block_55;
-}
-}
-}
+lean_dec(x_5);
+lean_dec(x_1);
+return x_4;
}
}
}
@@ -25208,407 +15852,77 @@ lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
-lean_object* l_Lean_Parser_Command_macroTailDefault___elambda__1(lean_object* x_1, lean_object* x_2) {
+static lean_object* _init_l_Lean_Parser_Command_macroTailDefault___elambda__1___closed__2() {
_start:
{
-lean_object* x_3; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_83; lean_object* x_84;
-x_56 = lean_ctor_get(x_2, 0);
-lean_inc(x_56);
-x_57 = lean_ctor_get(x_2, 1);
-lean_inc(x_57);
-x_58 = lean_array_get_size(x_56);
-lean_dec(x_56);
-lean_inc(x_1);
-x_83 = l_Lean_Parser_tokenFn(x_1, x_2);
-x_84 = lean_ctor_get(x_83, 3);
-lean_inc(x_84);
-if (lean_obj_tag(x_84) == 0)
-{
-lean_object* x_85; lean_object* x_86;
-x_85 = lean_ctor_get(x_83, 0);
-lean_inc(x_85);
-x_86 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_85);
-lean_dec(x_85);
-if (lean_obj_tag(x_86) == 2)
-{
-lean_object* x_87; lean_object* x_88; uint8_t x_89;
-x_87 = lean_ctor_get(x_86, 1);
-lean_inc(x_87);
-lean_dec(x_86);
-x_88 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__3;
-x_89 = lean_string_dec_eq(x_87, x_88);
-lean_dec(x_87);
-if (x_89 == 0)
-{
-lean_object* x_90; lean_object* x_91;
-x_90 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-lean_inc(x_57);
-x_91 = l_Lean_Parser_ParserState_mkErrorsAt(x_83, x_90, x_57);
-x_59 = x_91;
-goto block_82;
-}
-else
-{
-x_59 = x_83;
-goto block_82;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_macroTailDefault___elambda__1___closed__1;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_toggleInsideQuotFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
-else
+static lean_object* _init_l_Lean_Parser_Command_macroTailDefault___elambda__1___closed__3() {
+_start:
{
-lean_object* x_92; lean_object* x_93;
-lean_dec(x_86);
-x_92 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-lean_inc(x_57);
-x_93 = l_Lean_Parser_ParserState_mkErrorsAt(x_83, x_92, x_57);
-x_59 = x_93;
-goto block_82;
-}
-}
-else
-{
-lean_object* x_94; lean_object* x_95;
-lean_dec(x_84);
-x_94 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-lean_inc(x_57);
-x_95 = l_Lean_Parser_ParserState_mkErrorsAt(x_83, x_94, x_57);
-x_59 = x_95;
-goto block_82;
-}
-block_55:
-{
-lean_object* x_4;
-x_4 = lean_ctor_get(x_3, 3);
-lean_inc(x_4);
-if (lean_obj_tag(x_4) == 0)
-{
-lean_object* x_5; lean_object* x_6;
-lean_inc(x_1);
-x_5 = l_Lean_Parser_darrow___elambda__1(x_1, x_3);
-x_6 = lean_ctor_get(x_5, 3);
-lean_inc(x_6);
-if (lean_obj_tag(x_6) == 0)
-{
-lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_22; lean_object* x_42; lean_object* x_43;
-x_7 = lean_ctor_get(x_5, 0);
-lean_inc(x_7);
-x_8 = lean_array_get_size(x_7);
-lean_dec(x_7);
-x_9 = lean_ctor_get(x_5, 1);
-lean_inc(x_9);
-lean_inc(x_1);
-x_42 = l_Lean_Parser_tokenFn(x_1, x_5);
-x_43 = lean_ctor_get(x_42, 3);
-lean_inc(x_43);
-if (lean_obj_tag(x_43) == 0)
-{
-lean_object* x_44; lean_object* x_45;
-x_44 = lean_ctor_get(x_42, 0);
-lean_inc(x_44);
-x_45 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_44);
-lean_dec(x_44);
-if (lean_obj_tag(x_45) == 2)
-{
-lean_object* x_46; lean_object* x_47; uint8_t x_48;
-x_46 = lean_ctor_get(x_45, 1);
-lean_inc(x_46);
-lean_dec(x_45);
-x_47 = l_Lean_Parser_Term_quot___elambda__1___closed__5;
-x_48 = lean_string_dec_eq(x_46, x_47);
-lean_dec(x_46);
-if (x_48 == 0)
-{
-lean_object* x_49; lean_object* x_50;
-x_49 = l_Lean_Parser_Term_quot___elambda__1___closed__12;
-lean_inc(x_9);
-x_50 = l_Lean_Parser_ParserState_mkErrorsAt(x_42, x_49, x_9);
-x_22 = x_50;
-goto block_41;
-}
-else
-{
-x_22 = x_42;
-goto block_41;
-}
-}
-else
-{
-lean_object* x_51; lean_object* x_52;
-lean_dec(x_45);
-x_51 = l_Lean_Parser_Term_quot___elambda__1___closed__12;
-lean_inc(x_9);
-x_52 = l_Lean_Parser_ParserState_mkErrorsAt(x_42, x_51, x_9);
-x_22 = x_52;
-goto block_41;
-}
-}
-else
-{
-lean_object* x_53; lean_object* x_54;
-lean_dec(x_43);
-x_53 = l_Lean_Parser_Term_quot___elambda__1___closed__12;
-lean_inc(x_9);
-x_54 = l_Lean_Parser_ParserState_mkErrorsAt(x_42, x_53, x_9);
-x_22 = x_54;
-goto block_41;
-}
-block_21:
-{
-lean_object* x_11;
-x_11 = lean_ctor_get(x_10, 3);
-lean_inc(x_11);
-if (lean_obj_tag(x_11) == 0)
-{
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_1);
-return x_10;
-}
-else
-{
-lean_object* x_12; lean_object* x_13; uint8_t x_14;
-x_12 = lean_ctor_get(x_11, 0);
-lean_inc(x_12);
-lean_dec(x_11);
-x_13 = lean_ctor_get(x_10, 1);
-lean_inc(x_13);
-x_14 = lean_nat_dec_eq(x_13, x_9);
-lean_dec(x_13);
-if (x_14 == 0)
-{
-lean_dec(x_12);
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_1);
-return x_10;
-}
-else
-{
-lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19; lean_object* x_20;
-lean_inc(x_9);
-x_15 = l_Lean_Parser_ParserState_restore(x_10, x_8, x_9);
-lean_dec(x_8);
-x_16 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_17 = lean_unsigned_to_nat(0u);
-x_18 = l_Lean_Parser_categoryParser___elambda__1(x_16, x_17, x_1, x_15);
-x_19 = 1;
-x_20 = l_Lean_Parser_mergeOrElseErrors(x_18, x_12, x_9, x_19);
-lean_dec(x_9);
-return x_20;
-}
-}
-}
-block_41:
-{
-lean_object* x_23;
-x_23 = lean_ctor_get(x_22, 3);
-lean_inc(x_23);
-if (lean_obj_tag(x_23) == 0)
-{
-lean_object* x_24; lean_object* x_25; lean_object* x_26;
-x_24 = l_Lean_Parser_Command_macroTailDefault___elambda__1___closed__1;
-lean_inc(x_1);
-x_25 = l_Lean_Parser_toggleInsideQuotFn(x_24, x_1, x_22);
-x_26 = lean_ctor_get(x_25, 3);
-lean_inc(x_26);
-if (lean_obj_tag(x_26) == 0)
-{
-lean_object* x_27; lean_object* x_28; lean_object* x_29;
-x_27 = lean_ctor_get(x_25, 1);
-lean_inc(x_27);
-lean_inc(x_1);
-x_28 = l_Lean_Parser_tokenFn(x_1, x_25);
-x_29 = lean_ctor_get(x_28, 3);
-lean_inc(x_29);
-if (lean_obj_tag(x_29) == 0)
-{
-lean_object* x_30; lean_object* x_31;
-x_30 = lean_ctor_get(x_28, 0);
-lean_inc(x_30);
-x_31 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_30);
-lean_dec(x_30);
-if (lean_obj_tag(x_31) == 2)
-{
-lean_object* x_32; lean_object* x_33; uint8_t x_34;
-x_32 = lean_ctor_get(x_31, 1);
-lean_inc(x_32);
-lean_dec(x_31);
-x_33 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
-x_34 = lean_string_dec_eq(x_32, x_33);
-lean_dec(x_32);
-if (x_34 == 0)
-{
-lean_object* x_35; lean_object* x_36;
-x_35 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_36 = l_Lean_Parser_ParserState_mkErrorsAt(x_28, x_35, x_27);
-x_10 = x_36;
-goto block_21;
-}
-else
-{
-lean_dec(x_27);
-x_10 = x_28;
-goto block_21;
-}
-}
-else
-{
-lean_object* x_37; lean_object* x_38;
-lean_dec(x_31);
-x_37 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_38 = l_Lean_Parser_ParserState_mkErrorsAt(x_28, x_37, x_27);
-x_10 = x_38;
-goto block_21;
-}
-}
-else
-{
-lean_object* x_39; lean_object* x_40;
-lean_dec(x_29);
-x_39 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_40 = l_Lean_Parser_ParserState_mkErrorsAt(x_28, x_39, x_27);
-x_10 = x_40;
-goto block_21;
-}
-}
-else
-{
-lean_dec(x_26);
-x_10 = x_25;
-goto block_21;
-}
-}
-else
-{
-lean_dec(x_23);
-x_10 = x_22;
-goto block_21;
-}
-}
-}
-else
-{
-lean_dec(x_6);
-lean_dec(x_1);
-return x_5;
-}
-}
-else
-{
-lean_dec(x_4);
-lean_dec(x_1);
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_macroTailDefault___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Level_paren___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
-block_82:
+static lean_object* _init_l_Lean_Parser_Command_macroTailDefault___elambda__1___closed__4() {
+_start:
{
-lean_object* x_60;
-x_60 = lean_ctor_get(x_59, 3);
-lean_inc(x_60);
-if (lean_obj_tag(x_60) == 0)
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_quot___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Command_macroTailDefault___elambda__1___closed__3;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+lean_object* l_Lean_Parser_Command_macroTailDefault___elambda__1(lean_object* x_1, lean_object* x_2) {
+_start:
{
-lean_object* x_61; lean_object* x_62;
+lean_object* x_3; lean_object* x_4; lean_object* x_5;
+x_3 = l_Lean_Parser_Command_syntax___elambda__1___closed__7;
lean_inc(x_1);
-x_61 = l_Lean_Parser_ident___elambda__1(x_1, x_59);
-x_62 = lean_ctor_get(x_61, 3);
-lean_inc(x_62);
-if (lean_obj_tag(x_62) == 0)
+x_4 = l_Lean_Parser_tryFn(x_3, x_1, x_2);
+x_5 = lean_ctor_get(x_4, 3);
+lean_inc(x_5);
+if (lean_obj_tag(x_5) == 0)
{
-lean_dec(x_58);
-lean_dec(x_57);
-x_3 = x_61;
-goto block_55;
+lean_object* x_6; lean_object* x_7;
+lean_inc(x_1);
+x_6 = l_Lean_Parser_darrow___elambda__1(x_1, x_4);
+x_7 = lean_ctor_get(x_6, 3);
+lean_inc(x_7);
+if (lean_obj_tag(x_7) == 0)
+{
+lean_object* x_8; lean_object* x_9; uint8_t x_10; lean_object* x_11;
+x_8 = l_Lean_Parser_Command_macroTailDefault___elambda__1___closed__4;
+x_9 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_10 = 1;
+x_11 = l_Lean_Parser_orelseFnCore(x_8, x_9, x_10, x_1, x_6);
+return x_11;
}
else
{
-uint8_t x_63;
-x_63 = !lean_is_exclusive(x_61);
-if (x_63 == 0)
-{
-lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67;
-x_64 = lean_ctor_get(x_61, 0);
-x_65 = lean_ctor_get(x_61, 3);
-lean_dec(x_65);
-x_66 = lean_ctor_get(x_61, 1);
-lean_dec(x_66);
-x_67 = l_Array_shrink___main___rarg(x_64, x_58);
-lean_dec(x_58);
-lean_ctor_set(x_61, 1, x_57);
-lean_ctor_set(x_61, 0, x_67);
-x_3 = x_61;
-goto block_55;
-}
-else
-{
-lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71;
-x_68 = lean_ctor_get(x_61, 0);
-x_69 = lean_ctor_get(x_61, 2);
-lean_inc(x_69);
-lean_inc(x_68);
-lean_dec(x_61);
-x_70 = l_Array_shrink___main___rarg(x_68, x_58);
-lean_dec(x_58);
-x_71 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_71, 0, x_70);
-lean_ctor_set(x_71, 1, x_57);
-lean_ctor_set(x_71, 2, x_69);
-lean_ctor_set(x_71, 3, x_62);
-x_3 = x_71;
-goto block_55;
-}
+lean_dec(x_7);
+lean_dec(x_1);
+return x_6;
}
}
else
{
-lean_object* x_72;
-lean_dec(x_60);
-x_72 = lean_ctor_get(x_59, 3);
-lean_inc(x_72);
-if (lean_obj_tag(x_72) == 0)
-{
-lean_dec(x_58);
-lean_dec(x_57);
-x_3 = x_59;
-goto block_55;
-}
-else
-{
-uint8_t x_73;
-x_73 = !lean_is_exclusive(x_59);
-if (x_73 == 0)
-{
-lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77;
-x_74 = lean_ctor_get(x_59, 0);
-x_75 = lean_ctor_get(x_59, 3);
-lean_dec(x_75);
-x_76 = lean_ctor_get(x_59, 1);
-lean_dec(x_76);
-x_77 = l_Array_shrink___main___rarg(x_74, x_58);
-lean_dec(x_58);
-lean_ctor_set(x_59, 1, x_57);
-lean_ctor_set(x_59, 0, x_77);
-x_3 = x_59;
-goto block_55;
-}
-else
-{
-lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81;
-x_78 = lean_ctor_get(x_59, 0);
-x_79 = lean_ctor_get(x_59, 2);
-lean_inc(x_79);
-lean_inc(x_78);
-lean_dec(x_59);
-x_80 = l_Array_shrink___main___rarg(x_78, x_58);
-lean_dec(x_58);
-x_81 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_81, 0, x_80);
-lean_ctor_set(x_81, 1, x_57);
-lean_ctor_set(x_81, 2, x_79);
-lean_ctor_set(x_81, 3, x_72);
-x_3 = x_81;
-goto block_55;
-}
-}
-}
+lean_dec(x_5);
+lean_dec(x_1);
+return x_4;
}
}
}
@@ -25650,107 +15964,28 @@ x_1 = l_Lean_Parser_Command_macroTailDefault___closed__3;
return x_1;
}
}
+static lean_object* _init_l_Lean_Parser_Command_macroTail___elambda__1___closed__1() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_macroTailCommand___closed__1;
+x_2 = l_Lean_Parser_Command_macroTailDefault___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Command_macroTail___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-lean_inc(x_1);
-x_6 = l_Lean_Parser_Command_macroTailTactic___elambda__1(x_1, x_2);
-x_7 = lean_ctor_get(x_6, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
-{
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_1);
+lean_object* x_3; lean_object* x_4; uint8_t x_5; lean_object* x_6;
+x_3 = l_Lean_Parser_Command_macroTailTactic___closed__5;
+x_4 = l_Lean_Parser_Command_macroTail___elambda__1___closed__1;
+x_5 = 1;
+x_6 = l_Lean_Parser_orelseFnCore(x_3, x_4, x_5, x_1, x_2);
return x_6;
}
-else
-{
-lean_object* x_8; lean_object* x_9; uint8_t x_10;
-x_8 = lean_ctor_get(x_7, 0);
-lean_inc(x_8);
-lean_dec(x_7);
-x_9 = lean_ctor_get(x_6, 1);
-lean_inc(x_9);
-x_10 = lean_nat_dec_eq(x_9, x_5);
-lean_dec(x_9);
-if (x_10 == 0)
-{
-lean_dec(x_8);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_6;
-}
-else
-{
-lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15;
-lean_inc(x_5);
-x_11 = l_Lean_Parser_ParserState_restore(x_6, x_4, x_5);
-lean_dec(x_4);
-x_12 = lean_ctor_get(x_11, 0);
-lean_inc(x_12);
-x_13 = lean_array_get_size(x_12);
-lean_dec(x_12);
-lean_inc(x_1);
-x_14 = l_Lean_Parser_Command_macroTailCommand___elambda__1(x_1, x_11);
-x_15 = lean_ctor_get(x_14, 3);
-lean_inc(x_15);
-if (lean_obj_tag(x_15) == 0)
-{
-uint8_t x_16; lean_object* x_17;
-lean_dec(x_13);
-lean_dec(x_1);
-x_16 = 1;
-x_17 = l_Lean_Parser_mergeOrElseErrors(x_14, x_8, x_5, x_16);
-lean_dec(x_5);
-return x_17;
-}
-else
-{
-lean_object* x_18; lean_object* x_19; uint8_t x_20;
-x_18 = lean_ctor_get(x_15, 0);
-lean_inc(x_18);
-lean_dec(x_15);
-x_19 = lean_ctor_get(x_14, 1);
-lean_inc(x_19);
-x_20 = lean_nat_dec_eq(x_19, x_5);
-lean_dec(x_19);
-if (x_20 == 0)
-{
-uint8_t x_21; lean_object* x_22;
-lean_dec(x_18);
-lean_dec(x_13);
-lean_dec(x_1);
-x_21 = 1;
-x_22 = l_Lean_Parser_mergeOrElseErrors(x_14, x_8, x_5, x_21);
-lean_dec(x_5);
-return x_22;
-}
-else
-{
-lean_object* x_23; lean_object* x_24; uint8_t x_25; lean_object* x_26; lean_object* x_27;
-lean_inc(x_5);
-x_23 = l_Lean_Parser_ParserState_restore(x_14, x_13, x_5);
-lean_dec(x_13);
-x_24 = l_Lean_Parser_Command_macroTailDefault___elambda__1(x_1, x_23);
-x_25 = 1;
-x_26 = l_Lean_Parser_mergeOrElseErrors(x_24, x_18, x_5, x_25);
-x_27 = l_Lean_Parser_mergeOrElseErrors(x_26, x_8, x_5, x_25);
-lean_dec(x_5);
-return x_27;
-}
-}
-}
-}
-}
}
static lean_object* _init_l_Lean_Parser_Command_macroTail___closed__1() {
_start:
@@ -25806,68 +16041,6 @@ x_1 = l_Lean_Parser_Command_macroTail___closed__4;
return x_1;
}
}
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_macro___elambda__1___spec__1(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-lean_inc(x_1);
-x_6 = l_Lean_Parser_Command_macroArg___elambda__1(x_1, x_2);
-x_7 = lean_ctor_get(x_6, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
-{
-lean_object* x_8; uint8_t x_9;
-lean_dec(x_4);
-x_8 = lean_ctor_get(x_6, 1);
-lean_inc(x_8);
-x_9 = lean_nat_dec_eq(x_5, x_8);
-lean_dec(x_8);
-lean_dec(x_5);
-if (x_9 == 0)
-{
-x_2 = x_6;
-goto _start;
-}
-else
-{
-lean_object* x_11; lean_object* x_12;
-lean_dec(x_1);
-x_11 = l_Lean_Parser_manyAux___main___closed__1;
-x_12 = l_Lean_Parser_ParserState_mkUnexpectedError(x_6, x_11);
-return x_12;
-}
-}
-else
-{
-lean_object* x_13; uint8_t x_14;
-lean_dec(x_7);
-lean_dec(x_1);
-x_13 = lean_ctor_get(x_6, 1);
-lean_inc(x_13);
-x_14 = lean_nat_dec_eq(x_5, x_13);
-lean_dec(x_13);
-if (x_14 == 0)
-{
-lean_dec(x_5);
-lean_dec(x_4);
-return x_6;
-}
-else
-{
-lean_object* x_15;
-x_15 = l_Lean_Parser_ParserState_restore(x_6, x_4, x_5);
-lean_dec(x_4);
-return x_15;
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Command_macro___elambda__1___closed__1() {
_start:
{
@@ -25927,426 +16100,108 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_macro___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_macro___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_macro___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_macro___elambda__1___closed__8() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Command_macro___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_macroArg___closed__2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_manyFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_macro___elambda__1___closed__9() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Command_macro___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_1 = l_Lean_Parser_Command_macro___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_macroTail___closed__3;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_macro___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_macroHead___closed__2;
+x_2 = l_Lean_Parser_Command_macro___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_macro___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_optPrecedence___closed__2;
+x_2 = l_Lean_Parser_Command_macro___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_macro___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_macro___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Command_macro___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_macro___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_macro___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_macro___elambda__1___closed__12;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_macro___elambda__1___closed__14() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_macro___elambda__1___closed__13;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
lean_object* l_Lean_Parser_Command_macro___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
x_3 = l_Lean_Parser_Command_macro___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-lean_inc(x_2);
-lean_inc(x_1);
-x_5 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_5 == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-lean_dec(x_4);
-x_6 = lean_unsigned_to_nat(1024u);
-x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_35 = lean_ctor_get(x_7, 1);
-lean_inc(x_35);
-lean_inc(x_1);
-x_36 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_object* x_38; lean_object* x_39;
-x_38 = lean_ctor_get(x_36, 0);
-lean_inc(x_38);
-x_39 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_38);
-lean_dec(x_38);
-if (lean_obj_tag(x_39) == 2)
-{
-lean_object* x_40; lean_object* x_41; uint8_t x_42;
-x_40 = lean_ctor_get(x_39, 1);
-lean_inc(x_40);
-lean_dec(x_39);
-x_41 = l_Lean_Parser_Command_macro___elambda__1___closed__6;
-x_42 = lean_string_dec_eq(x_40, x_41);
-lean_dec(x_40);
-if (x_42 == 0)
-{
-lean_object* x_43; lean_object* x_44;
-x_43 = l_Lean_Parser_Command_macro___elambda__1___closed__9;
-x_44 = l_Lean_Parser_ParserState_mkErrorsAt(x_36, x_43, x_35);
-x_11 = x_44;
-goto block_34;
-}
-else
-{
-lean_dec(x_35);
-x_11 = x_36;
-goto block_34;
-}
-}
-else
-{
-lean_object* x_45; lean_object* x_46;
-lean_dec(x_39);
-x_45 = l_Lean_Parser_Command_macro___elambda__1___closed__9;
-x_46 = l_Lean_Parser_ParserState_mkErrorsAt(x_36, x_45, x_35);
-x_11 = x_46;
-goto block_34;
-}
-}
-else
-{
-lean_object* x_47; lean_object* x_48;
-lean_dec(x_37);
-x_47 = l_Lean_Parser_Command_macro___elambda__1___closed__9;
-x_48 = l_Lean_Parser_ParserState_mkErrorsAt(x_36, x_47, x_35);
-x_11 = x_48;
-goto block_34;
-}
-block_34:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14;
-lean_inc(x_1);
-x_13 = l_Lean_Parser_optPrecedence___elambda__1(x_1, x_11);
-x_14 = lean_ctor_get(x_13, 3);
-lean_inc(x_14);
-if (lean_obj_tag(x_14) == 0)
-{
-lean_object* x_15; lean_object* x_16;
-lean_inc(x_1);
-x_15 = l_Lean_Parser_Command_macroHead___elambda__1(x_1, x_13);
-x_16 = lean_ctor_get(x_15, 3);
-lean_inc(x_16);
-if (lean_obj_tag(x_16) == 0)
-{
-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_17 = lean_ctor_get(x_15, 0);
-lean_inc(x_17);
-x_18 = lean_array_get_size(x_17);
-lean_dec(x_17);
-lean_inc(x_1);
-x_19 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_macro___elambda__1___spec__1(x_1, x_15);
-x_20 = l_Lean_nullKind;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_18);
-x_22 = lean_ctor_get(x_21, 3);
-lean_inc(x_22);
-if (lean_obj_tag(x_22) == 0)
-{
-lean_object* x_23; lean_object* x_24; lean_object* x_25;
-x_23 = l_Lean_Parser_Command_macroTail___elambda__1(x_1, x_21);
-x_24 = l_Lean_Parser_Command_macro___elambda__1___closed__2;
-x_25 = l_Lean_Parser_ParserState_mkNode(x_23, x_24, x_10);
-return x_25;
-}
-else
-{
-lean_object* x_26; lean_object* x_27;
-lean_dec(x_22);
-lean_dec(x_1);
-x_26 = l_Lean_Parser_Command_macro___elambda__1___closed__2;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_21, x_26, x_10);
-return x_27;
-}
-}
-else
-{
-lean_object* x_28; lean_object* x_29;
-lean_dec(x_16);
-lean_dec(x_1);
-x_28 = l_Lean_Parser_Command_macro___elambda__1___closed__2;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_15, x_28, x_10);
-return x_29;
-}
-}
-else
-{
-lean_object* x_30; lean_object* x_31;
-lean_dec(x_14);
-lean_dec(x_1);
-x_30 = l_Lean_Parser_Command_macro___elambda__1___closed__2;
-x_31 = l_Lean_Parser_ParserState_mkNode(x_13, x_30, x_10);
-return x_31;
-}
-}
-else
-{
-lean_object* x_32; lean_object* x_33;
-lean_dec(x_12);
-lean_dec(x_1);
-x_32 = l_Lean_Parser_Command_macro___elambda__1___closed__2;
-x_33 = l_Lean_Parser_ParserState_mkNode(x_11, x_32, x_10);
-return x_33;
-}
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_1);
+x_5 = l_Lean_Parser_Command_macro___elambda__1___closed__14;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
return x_7;
}
}
-else
-{
-lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53;
-x_49 = lean_ctor_get(x_2, 0);
-lean_inc(x_49);
-x_50 = lean_array_get_size(x_49);
-lean_dec(x_49);
-x_51 = lean_ctor_get(x_2, 1);
-lean_inc(x_51);
-lean_inc(x_1);
-x_52 = lean_apply_2(x_4, x_1, x_2);
-x_53 = lean_ctor_get(x_52, 3);
-lean_inc(x_53);
-if (lean_obj_tag(x_53) == 0)
-{
-lean_dec(x_51);
-lean_dec(x_50);
-lean_dec(x_1);
-return x_52;
-}
-else
-{
-lean_object* x_54; lean_object* x_55; uint8_t x_56;
-x_54 = lean_ctor_get(x_53, 0);
-lean_inc(x_54);
-lean_dec(x_53);
-x_55 = lean_ctor_get(x_52, 1);
-lean_inc(x_55);
-x_56 = lean_nat_dec_eq(x_55, x_51);
-lean_dec(x_55);
-if (x_56 == 0)
-{
-lean_dec(x_54);
-lean_dec(x_51);
-lean_dec(x_50);
-lean_dec(x_1);
-return x_52;
-}
-else
-{
-lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60;
-lean_inc(x_51);
-x_57 = l_Lean_Parser_ParserState_restore(x_52, x_50, x_51);
-lean_dec(x_50);
-x_58 = lean_unsigned_to_nat(1024u);
-x_59 = l_Lean_Parser_checkPrecFn(x_58, x_1, x_57);
-x_60 = lean_ctor_get(x_59, 3);
-lean_inc(x_60);
-if (lean_obj_tag(x_60) == 0)
-{
-lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_97; lean_object* x_98; lean_object* x_99;
-x_61 = lean_ctor_get(x_59, 0);
-lean_inc(x_61);
-x_62 = lean_array_get_size(x_61);
-lean_dec(x_61);
-x_97 = lean_ctor_get(x_59, 1);
-lean_inc(x_97);
-lean_inc(x_1);
-x_98 = l_Lean_Parser_tokenFn(x_1, x_59);
-x_99 = lean_ctor_get(x_98, 3);
-lean_inc(x_99);
-if (lean_obj_tag(x_99) == 0)
-{
-lean_object* x_100; lean_object* x_101;
-x_100 = lean_ctor_get(x_98, 0);
-lean_inc(x_100);
-x_101 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_100);
-lean_dec(x_100);
-if (lean_obj_tag(x_101) == 2)
-{
-lean_object* x_102; lean_object* x_103; uint8_t x_104;
-x_102 = lean_ctor_get(x_101, 1);
-lean_inc(x_102);
-lean_dec(x_101);
-x_103 = l_Lean_Parser_Command_macro___elambda__1___closed__6;
-x_104 = lean_string_dec_eq(x_102, x_103);
-lean_dec(x_102);
-if (x_104 == 0)
-{
-lean_object* x_105; lean_object* x_106;
-x_105 = l_Lean_Parser_Command_macro___elambda__1___closed__9;
-x_106 = l_Lean_Parser_ParserState_mkErrorsAt(x_98, x_105, x_97);
-x_63 = x_106;
-goto block_96;
-}
-else
-{
-lean_dec(x_97);
-x_63 = x_98;
-goto block_96;
-}
-}
-else
-{
-lean_object* x_107; lean_object* x_108;
-lean_dec(x_101);
-x_107 = l_Lean_Parser_Command_macro___elambda__1___closed__9;
-x_108 = l_Lean_Parser_ParserState_mkErrorsAt(x_98, x_107, x_97);
-x_63 = x_108;
-goto block_96;
-}
-}
-else
-{
-lean_object* x_109; lean_object* x_110;
-lean_dec(x_99);
-x_109 = l_Lean_Parser_Command_macro___elambda__1___closed__9;
-x_110 = l_Lean_Parser_ParserState_mkErrorsAt(x_98, x_109, x_97);
-x_63 = x_110;
-goto block_96;
-}
-block_96:
-{
-lean_object* x_64;
-x_64 = lean_ctor_get(x_63, 3);
-lean_inc(x_64);
-if (lean_obj_tag(x_64) == 0)
-{
-lean_object* x_65; lean_object* x_66;
-lean_inc(x_1);
-x_65 = l_Lean_Parser_optPrecedence___elambda__1(x_1, x_63);
-x_66 = lean_ctor_get(x_65, 3);
-lean_inc(x_66);
-if (lean_obj_tag(x_66) == 0)
-{
-lean_object* x_67; lean_object* x_68;
-lean_inc(x_1);
-x_67 = l_Lean_Parser_Command_macroHead___elambda__1(x_1, x_65);
-x_68 = lean_ctor_get(x_67, 3);
-lean_inc(x_68);
-if (lean_obj_tag(x_68) == 0)
-{
-lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74;
-x_69 = lean_ctor_get(x_67, 0);
-lean_inc(x_69);
-x_70 = lean_array_get_size(x_69);
-lean_dec(x_69);
-lean_inc(x_1);
-x_71 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Command_macro___elambda__1___spec__1(x_1, x_67);
-x_72 = l_Lean_nullKind;
-x_73 = l_Lean_Parser_ParserState_mkNode(x_71, x_72, x_70);
-x_74 = lean_ctor_get(x_73, 3);
-lean_inc(x_74);
-if (lean_obj_tag(x_74) == 0)
-{
-lean_object* x_75; lean_object* x_76; lean_object* x_77; uint8_t x_78; lean_object* x_79;
-x_75 = l_Lean_Parser_Command_macroTail___elambda__1(x_1, x_73);
-x_76 = l_Lean_Parser_Command_macro___elambda__1___closed__2;
-x_77 = l_Lean_Parser_ParserState_mkNode(x_75, x_76, x_62);
-x_78 = 1;
-x_79 = l_Lean_Parser_mergeOrElseErrors(x_77, x_54, x_51, x_78);
-lean_dec(x_51);
-return x_79;
-}
-else
-{
-lean_object* x_80; lean_object* x_81; uint8_t x_82; lean_object* x_83;
-lean_dec(x_74);
-lean_dec(x_1);
-x_80 = l_Lean_Parser_Command_macro___elambda__1___closed__2;
-x_81 = l_Lean_Parser_ParserState_mkNode(x_73, x_80, x_62);
-x_82 = 1;
-x_83 = l_Lean_Parser_mergeOrElseErrors(x_81, x_54, x_51, x_82);
-lean_dec(x_51);
-return x_83;
-}
-}
-else
-{
-lean_object* x_84; lean_object* x_85; uint8_t x_86; lean_object* x_87;
-lean_dec(x_68);
-lean_dec(x_1);
-x_84 = l_Lean_Parser_Command_macro___elambda__1___closed__2;
-x_85 = l_Lean_Parser_ParserState_mkNode(x_67, x_84, x_62);
-x_86 = 1;
-x_87 = l_Lean_Parser_mergeOrElseErrors(x_85, x_54, x_51, x_86);
-lean_dec(x_51);
-return x_87;
-}
-}
-else
-{
-lean_object* x_88; lean_object* x_89; uint8_t x_90; lean_object* x_91;
-lean_dec(x_66);
-lean_dec(x_1);
-x_88 = l_Lean_Parser_Command_macro___elambda__1___closed__2;
-x_89 = l_Lean_Parser_ParserState_mkNode(x_65, x_88, x_62);
-x_90 = 1;
-x_91 = l_Lean_Parser_mergeOrElseErrors(x_89, x_54, x_51, x_90);
-lean_dec(x_51);
-return x_91;
-}
-}
-else
-{
-lean_object* x_92; lean_object* x_93; uint8_t x_94; lean_object* x_95;
-lean_dec(x_64);
-lean_dec(x_1);
-x_92 = l_Lean_Parser_Command_macro___elambda__1___closed__2;
-x_93 = l_Lean_Parser_ParserState_mkNode(x_63, x_92, x_62);
-x_94 = 1;
-x_95 = l_Lean_Parser_mergeOrElseErrors(x_93, x_54, x_51, x_94);
-lean_dec(x_51);
-return x_95;
-}
-}
-}
-else
-{
-uint8_t x_111; lean_object* x_112;
-lean_dec(x_60);
-lean_dec(x_1);
-x_111 = 1;
-x_112 = l_Lean_Parser_mergeOrElseErrors(x_59, x_54, x_51, x_111);
-lean_dec(x_51);
-return x_112;
-}
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Command_macro___closed__1() {
_start:
{
@@ -27635,712 +17490,96 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_elab__rules___elambda__1___closed__6() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_elab__rules___elambda__1___closed__5;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_elab__rules___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_elab__rules___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Command_elab__rules___elambda__1___closed__6;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__7;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optionalFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_elab__rules___elambda__1___closed__8() {
_start:
{
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
+x_1 = l_Lean_Parser_Term_match___elambda__1___closed__9;
+x_2 = lean_ctor_get(x_1, 1);
+lean_inc(x_2);
+x_3 = l_Lean_Parser_Command_elab__rules___elambda__1___closed__7;
+x_4 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_4, 0, x_3);
+lean_closure_set(x_4, 1, x_2);
+return x_4;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_elab__rules___elambda__1___closed__9() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Command_elab__rules___elambda__1___closed__7;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_1 = l_Lean_Parser_Command_optKind___closed__4;
+x_2 = l_Lean_Parser_Command_elab__rules___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_elab__rules___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_elab__rules___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Command_elab__rules___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_elab__rules___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_elab__rules___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_elab__rules___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_elab__rules___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_elab__rules___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
lean_object* l_Lean_Parser_Command_elab__rules___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; uint8_t x_7;
-x_3 = l_Lean_Parser_Term_match___elambda__1___closed__7;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
+x_3 = l_Lean_Parser_Command_elab__rules___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-x_5 = l_Lean_Parser_Command_elab__rules___elambda__1___closed__4;
-x_6 = lean_ctor_get(x_5, 1);
-lean_inc(x_6);
-lean_inc(x_2);
-lean_inc(x_1);
-x_7 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_7 == 0)
-{
-lean_object* x_8; lean_object* x_9; lean_object* x_10;
-lean_dec(x_6);
-x_8 = lean_unsigned_to_nat(1024u);
-x_9 = l_Lean_Parser_checkPrecFn(x_8, x_1, x_2);
-x_10 = lean_ctor_get(x_9, 3);
-lean_inc(x_10);
-if (lean_obj_tag(x_10) == 0)
-{
-lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_72; lean_object* x_73; lean_object* x_74;
-x_11 = lean_ctor_get(x_9, 0);
-lean_inc(x_11);
-x_12 = lean_array_get_size(x_11);
-lean_dec(x_11);
-x_72 = lean_ctor_get(x_9, 1);
-lean_inc(x_72);
-lean_inc(x_1);
-x_73 = l_Lean_Parser_tokenFn(x_1, x_9);
-x_74 = lean_ctor_get(x_73, 3);
-lean_inc(x_74);
-if (lean_obj_tag(x_74) == 0)
-{
-lean_object* x_75; lean_object* x_76;
-x_75 = lean_ctor_get(x_73, 0);
-lean_inc(x_75);
-x_76 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_75);
-lean_dec(x_75);
-if (lean_obj_tag(x_76) == 2)
-{
-lean_object* x_77; lean_object* x_78; uint8_t x_79;
-x_77 = lean_ctor_get(x_76, 1);
-lean_inc(x_77);
-lean_dec(x_76);
-x_78 = l_Lean_Parser_Command_elab__rules___elambda__1___closed__5;
-x_79 = lean_string_dec_eq(x_77, x_78);
-lean_dec(x_77);
-if (x_79 == 0)
-{
-lean_object* x_80; lean_object* x_81;
-x_80 = l_Lean_Parser_Command_elab__rules___elambda__1___closed__8;
-x_81 = l_Lean_Parser_ParserState_mkErrorsAt(x_73, x_80, x_72);
-x_13 = x_81;
-goto block_71;
-}
-else
-{
-lean_dec(x_72);
-x_13 = x_73;
-goto block_71;
-}
-}
-else
-{
-lean_object* x_82; lean_object* x_83;
-lean_dec(x_76);
-x_82 = l_Lean_Parser_Command_elab__rules___elambda__1___closed__8;
-x_83 = l_Lean_Parser_ParserState_mkErrorsAt(x_73, x_82, x_72);
-x_13 = x_83;
-goto block_71;
-}
-}
-else
-{
-lean_object* x_84; lean_object* x_85;
-lean_dec(x_74);
-x_84 = l_Lean_Parser_Command_elab__rules___elambda__1___closed__8;
-x_85 = l_Lean_Parser_ParserState_mkErrorsAt(x_73, x_84, x_72);
-x_13 = x_85;
-goto block_71;
-}
-block_71:
-{
-lean_object* x_14;
-x_14 = lean_ctor_get(x_13, 3);
-lean_inc(x_14);
-if (lean_obj_tag(x_14) == 0)
-{
-lean_object* x_15; lean_object* x_16;
-lean_inc(x_1);
-x_15 = l_Lean_Parser_Command_optKind___elambda__1(x_1, x_13);
-x_16 = lean_ctor_get(x_15, 3);
-lean_inc(x_16);
-if (lean_obj_tag(x_16) == 0)
-{
-lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_50; lean_object* x_54; lean_object* x_55;
-x_17 = lean_ctor_get(x_15, 0);
-lean_inc(x_17);
-x_18 = lean_array_get_size(x_17);
-lean_dec(x_17);
-x_19 = lean_ctor_get(x_15, 1);
-lean_inc(x_19);
-lean_inc(x_1);
-x_54 = l_Lean_Parser_tokenFn(x_1, x_15);
-x_55 = lean_ctor_get(x_54, 3);
-lean_inc(x_55);
-if (lean_obj_tag(x_55) == 0)
-{
-lean_object* x_56; lean_object* x_57;
-x_56 = lean_ctor_get(x_54, 0);
-lean_inc(x_56);
-x_57 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_56);
-lean_dec(x_56);
-if (lean_obj_tag(x_57) == 2)
-{
-lean_object* x_58; lean_object* x_59; uint8_t x_60;
-x_58 = lean_ctor_get(x_57, 1);
-lean_inc(x_58);
-lean_dec(x_57);
-x_59 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__3;
-x_60 = lean_string_dec_eq(x_58, x_59);
-lean_dec(x_58);
-if (x_60 == 0)
-{
-lean_object* x_61; lean_object* x_62;
-x_61 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-lean_inc(x_19);
-x_62 = l_Lean_Parser_ParserState_mkErrorsAt(x_54, x_61, x_19);
-x_50 = x_62;
-goto block_53;
-}
-else
-{
-x_50 = x_54;
-goto block_53;
-}
-}
-else
-{
-lean_object* x_63; lean_object* x_64;
-lean_dec(x_57);
-x_63 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-lean_inc(x_19);
-x_64 = l_Lean_Parser_ParserState_mkErrorsAt(x_54, x_63, x_19);
-x_50 = x_64;
-goto block_53;
-}
-}
-else
-{
-lean_object* x_65; lean_object* x_66;
-lean_dec(x_55);
-x_65 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-lean_inc(x_19);
-x_66 = l_Lean_Parser_ParserState_mkErrorsAt(x_54, x_65, x_19);
-x_50 = x_66;
-goto block_53;
-}
-block_49:
-{
-lean_object* x_21;
-x_21 = lean_ctor_get(x_20, 3);
-lean_inc(x_21);
-if (lean_obj_tag(x_21) == 0)
-{
-lean_object* x_22; lean_object* x_23; lean_object* x_24;
-lean_dec(x_19);
-x_22 = l_Lean_nullKind;
-x_23 = l_Lean_Parser_ParserState_mkNode(x_20, x_22, x_18);
-x_24 = lean_ctor_get(x_23, 3);
-lean_inc(x_24);
-if (lean_obj_tag(x_24) == 0)
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27;
-x_25 = lean_apply_2(x_4, x_1, x_23);
-x_26 = l_Lean_Parser_Command_elab__rules___elambda__1___closed__2;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_25, x_26, x_12);
-return x_27;
-}
-else
-{
-lean_object* x_28; lean_object* x_29;
-lean_dec(x_24);
-lean_dec(x_4);
-lean_dec(x_1);
-x_28 = l_Lean_Parser_Command_elab__rules___elambda__1___closed__2;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_23, x_28, x_12);
-return x_29;
-}
-}
-else
-{
-lean_object* x_30; uint8_t x_31;
-lean_dec(x_21);
-x_30 = lean_ctor_get(x_20, 1);
-lean_inc(x_30);
-x_31 = lean_nat_dec_eq(x_30, x_19);
-lean_dec(x_30);
-if (x_31 == 0)
-{
-lean_object* x_32; lean_object* x_33; lean_object* x_34;
-lean_dec(x_19);
-x_32 = l_Lean_nullKind;
-x_33 = l_Lean_Parser_ParserState_mkNode(x_20, x_32, x_18);
-x_34 = lean_ctor_get(x_33, 3);
-lean_inc(x_34);
-if (lean_obj_tag(x_34) == 0)
-{
-lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_35 = lean_apply_2(x_4, x_1, x_33);
-x_36 = l_Lean_Parser_Command_elab__rules___elambda__1___closed__2;
-x_37 = l_Lean_Parser_ParserState_mkNode(x_35, x_36, x_12);
-return x_37;
-}
-else
-{
-lean_object* x_38; lean_object* x_39;
-lean_dec(x_34);
-lean_dec(x_4);
-lean_dec(x_1);
-x_38 = l_Lean_Parser_Command_elab__rules___elambda__1___closed__2;
-x_39 = l_Lean_Parser_ParserState_mkNode(x_33, x_38, x_12);
-return x_39;
-}
-}
-else
-{
-lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43;
-x_40 = l_Lean_Parser_ParserState_restore(x_20, x_18, x_19);
-x_41 = l_Lean_nullKind;
-x_42 = l_Lean_Parser_ParserState_mkNode(x_40, x_41, x_18);
-x_43 = lean_ctor_get(x_42, 3);
-lean_inc(x_43);
-if (lean_obj_tag(x_43) == 0)
-{
-lean_object* x_44; lean_object* x_45; lean_object* x_46;
-x_44 = lean_apply_2(x_4, x_1, x_42);
-x_45 = l_Lean_Parser_Command_elab__rules___elambda__1___closed__2;
-x_46 = l_Lean_Parser_ParserState_mkNode(x_44, x_45, x_12);
-return x_46;
-}
-else
-{
-lean_object* x_47; lean_object* x_48;
-lean_dec(x_43);
-lean_dec(x_4);
-lean_dec(x_1);
-x_47 = l_Lean_Parser_Command_elab__rules___elambda__1___closed__2;
-x_48 = l_Lean_Parser_ParserState_mkNode(x_42, x_47, x_12);
-return x_48;
-}
-}
-}
-}
-block_53:
-{
-lean_object* x_51;
-x_51 = lean_ctor_get(x_50, 3);
-lean_inc(x_51);
-if (lean_obj_tag(x_51) == 0)
-{
-lean_object* x_52;
-lean_inc(x_1);
-x_52 = l_Lean_Parser_ident___elambda__1(x_1, x_50);
-x_20 = x_52;
-goto block_49;
-}
-else
-{
-lean_dec(x_51);
-x_20 = x_50;
-goto block_49;
-}
-}
-}
-else
-{
-lean_object* x_67; lean_object* x_68;
-lean_dec(x_16);
-lean_dec(x_4);
-lean_dec(x_1);
-x_67 = l_Lean_Parser_Command_elab__rules___elambda__1___closed__2;
-x_68 = l_Lean_Parser_ParserState_mkNode(x_15, x_67, x_12);
-return x_68;
-}
-}
-else
-{
-lean_object* x_69; lean_object* x_70;
-lean_dec(x_14);
-lean_dec(x_4);
-lean_dec(x_1);
-x_69 = l_Lean_Parser_Command_elab__rules___elambda__1___closed__2;
-x_70 = l_Lean_Parser_ParserState_mkNode(x_13, x_69, x_12);
-return x_70;
-}
-}
-}
-else
-{
-lean_dec(x_10);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_9;
-}
-}
-else
-{
-lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90;
-x_86 = lean_ctor_get(x_2, 0);
-lean_inc(x_86);
-x_87 = lean_array_get_size(x_86);
-lean_dec(x_86);
-x_88 = lean_ctor_get(x_2, 1);
-lean_inc(x_88);
-lean_inc(x_1);
-x_89 = lean_apply_2(x_6, x_1, x_2);
-x_90 = lean_ctor_get(x_89, 3);
-lean_inc(x_90);
-if (lean_obj_tag(x_90) == 0)
-{
-lean_dec(x_88);
-lean_dec(x_87);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_89;
-}
-else
-{
-lean_object* x_91; lean_object* x_92; uint8_t x_93;
-x_91 = lean_ctor_get(x_90, 0);
-lean_inc(x_91);
-lean_dec(x_90);
-x_92 = lean_ctor_get(x_89, 1);
-lean_inc(x_92);
-x_93 = lean_nat_dec_eq(x_92, x_88);
-lean_dec(x_92);
-if (x_93 == 0)
-{
-lean_dec(x_91);
-lean_dec(x_88);
-lean_dec(x_87);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_89;
-}
-else
-{
-lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97;
-lean_inc(x_88);
-x_94 = l_Lean_Parser_ParserState_restore(x_89, x_87, x_88);
-lean_dec(x_87);
-x_95 = lean_unsigned_to_nat(1024u);
-x_96 = l_Lean_Parser_checkPrecFn(x_95, x_1, x_94);
-x_97 = lean_ctor_get(x_96, 3);
-lean_inc(x_97);
-if (lean_obj_tag(x_97) == 0)
-{
-lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_175; lean_object* x_176; lean_object* x_177;
-x_98 = lean_ctor_get(x_96, 0);
-lean_inc(x_98);
-x_99 = lean_array_get_size(x_98);
-lean_dec(x_98);
-x_175 = lean_ctor_get(x_96, 1);
-lean_inc(x_175);
-lean_inc(x_1);
-x_176 = l_Lean_Parser_tokenFn(x_1, x_96);
-x_177 = lean_ctor_get(x_176, 3);
-lean_inc(x_177);
-if (lean_obj_tag(x_177) == 0)
-{
-lean_object* x_178; lean_object* x_179;
-x_178 = lean_ctor_get(x_176, 0);
-lean_inc(x_178);
-x_179 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_178);
-lean_dec(x_178);
-if (lean_obj_tag(x_179) == 2)
-{
-lean_object* x_180; lean_object* x_181; uint8_t x_182;
-x_180 = lean_ctor_get(x_179, 1);
-lean_inc(x_180);
-lean_dec(x_179);
-x_181 = l_Lean_Parser_Command_elab__rules___elambda__1___closed__5;
-x_182 = lean_string_dec_eq(x_180, x_181);
-lean_dec(x_180);
-if (x_182 == 0)
-{
-lean_object* x_183; lean_object* x_184;
-x_183 = l_Lean_Parser_Command_elab__rules___elambda__1___closed__8;
-x_184 = l_Lean_Parser_ParserState_mkErrorsAt(x_176, x_183, x_175);
-x_100 = x_184;
-goto block_174;
-}
-else
-{
-lean_dec(x_175);
-x_100 = x_176;
-goto block_174;
-}
-}
-else
-{
-lean_object* x_185; lean_object* x_186;
-lean_dec(x_179);
-x_185 = l_Lean_Parser_Command_elab__rules___elambda__1___closed__8;
-x_186 = l_Lean_Parser_ParserState_mkErrorsAt(x_176, x_185, x_175);
-x_100 = x_186;
-goto block_174;
-}
-}
-else
-{
-lean_object* x_187; lean_object* x_188;
-lean_dec(x_177);
-x_187 = l_Lean_Parser_Command_elab__rules___elambda__1___closed__8;
-x_188 = l_Lean_Parser_ParserState_mkErrorsAt(x_176, x_187, x_175);
-x_100 = x_188;
-goto block_174;
-}
-block_174:
-{
-lean_object* x_101;
-x_101 = lean_ctor_get(x_100, 3);
-lean_inc(x_101);
-if (lean_obj_tag(x_101) == 0)
-{
-lean_object* x_102; lean_object* x_103;
-lean_inc(x_1);
-x_102 = l_Lean_Parser_Command_optKind___elambda__1(x_1, x_100);
-x_103 = lean_ctor_get(x_102, 3);
-lean_inc(x_103);
-if (lean_obj_tag(x_103) == 0)
-{
-lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_149; lean_object* x_153; lean_object* x_154;
-x_104 = lean_ctor_get(x_102, 0);
-lean_inc(x_104);
-x_105 = lean_array_get_size(x_104);
-lean_dec(x_104);
-x_106 = lean_ctor_get(x_102, 1);
-lean_inc(x_106);
-lean_inc(x_1);
-x_153 = l_Lean_Parser_tokenFn(x_1, x_102);
-x_154 = lean_ctor_get(x_153, 3);
-lean_inc(x_154);
-if (lean_obj_tag(x_154) == 0)
-{
-lean_object* x_155; lean_object* x_156;
-x_155 = lean_ctor_get(x_153, 0);
-lean_inc(x_155);
-x_156 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_155);
-lean_dec(x_155);
-if (lean_obj_tag(x_156) == 2)
-{
-lean_object* x_157; lean_object* x_158; uint8_t x_159;
-x_157 = lean_ctor_get(x_156, 1);
-lean_inc(x_157);
-lean_dec(x_156);
-x_158 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__3;
-x_159 = lean_string_dec_eq(x_157, x_158);
-lean_dec(x_157);
-if (x_159 == 0)
-{
-lean_object* x_160; lean_object* x_161;
-x_160 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-lean_inc(x_106);
-x_161 = l_Lean_Parser_ParserState_mkErrorsAt(x_153, x_160, x_106);
-x_149 = x_161;
-goto block_152;
-}
-else
-{
-x_149 = x_153;
-goto block_152;
-}
-}
-else
-{
-lean_object* x_162; lean_object* x_163;
-lean_dec(x_156);
-x_162 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-lean_inc(x_106);
-x_163 = l_Lean_Parser_ParserState_mkErrorsAt(x_153, x_162, x_106);
-x_149 = x_163;
-goto block_152;
-}
-}
-else
-{
-lean_object* x_164; lean_object* x_165;
-lean_dec(x_154);
-x_164 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-lean_inc(x_106);
-x_165 = l_Lean_Parser_ParserState_mkErrorsAt(x_153, x_164, x_106);
-x_149 = x_165;
-goto block_152;
-}
-block_148:
-{
-lean_object* x_108;
-x_108 = lean_ctor_get(x_107, 3);
-lean_inc(x_108);
-if (lean_obj_tag(x_108) == 0)
-{
-lean_object* x_109; lean_object* x_110; lean_object* x_111;
-lean_dec(x_106);
-x_109 = l_Lean_nullKind;
-x_110 = l_Lean_Parser_ParserState_mkNode(x_107, x_109, x_105);
-x_111 = lean_ctor_get(x_110, 3);
-lean_inc(x_111);
-if (lean_obj_tag(x_111) == 0)
-{
-lean_object* x_112; lean_object* x_113; lean_object* x_114; uint8_t x_115; lean_object* x_116;
-x_112 = lean_apply_2(x_4, x_1, x_110);
-x_113 = l_Lean_Parser_Command_elab__rules___elambda__1___closed__2;
-x_114 = l_Lean_Parser_ParserState_mkNode(x_112, x_113, x_99);
-x_115 = 1;
-x_116 = l_Lean_Parser_mergeOrElseErrors(x_114, x_91, x_88, x_115);
-lean_dec(x_88);
-return x_116;
-}
-else
-{
-lean_object* x_117; lean_object* x_118; uint8_t x_119; lean_object* x_120;
-lean_dec(x_111);
-lean_dec(x_4);
-lean_dec(x_1);
-x_117 = l_Lean_Parser_Command_elab__rules___elambda__1___closed__2;
-x_118 = l_Lean_Parser_ParserState_mkNode(x_110, x_117, x_99);
-x_119 = 1;
-x_120 = l_Lean_Parser_mergeOrElseErrors(x_118, x_91, x_88, x_119);
-lean_dec(x_88);
-return x_120;
-}
-}
-else
-{
-lean_object* x_121; uint8_t x_122;
-lean_dec(x_108);
-x_121 = lean_ctor_get(x_107, 1);
-lean_inc(x_121);
-x_122 = lean_nat_dec_eq(x_121, x_106);
-lean_dec(x_121);
-if (x_122 == 0)
-{
-lean_object* x_123; lean_object* x_124; lean_object* x_125;
-lean_dec(x_106);
-x_123 = l_Lean_nullKind;
-x_124 = l_Lean_Parser_ParserState_mkNode(x_107, x_123, x_105);
-x_125 = lean_ctor_get(x_124, 3);
-lean_inc(x_125);
-if (lean_obj_tag(x_125) == 0)
-{
-lean_object* x_126; lean_object* x_127; lean_object* x_128; uint8_t x_129; lean_object* x_130;
-x_126 = lean_apply_2(x_4, x_1, x_124);
-x_127 = l_Lean_Parser_Command_elab__rules___elambda__1___closed__2;
-x_128 = l_Lean_Parser_ParserState_mkNode(x_126, x_127, x_99);
-x_129 = 1;
-x_130 = l_Lean_Parser_mergeOrElseErrors(x_128, x_91, x_88, x_129);
-lean_dec(x_88);
-return x_130;
-}
-else
-{
-lean_object* x_131; lean_object* x_132; uint8_t x_133; lean_object* x_134;
-lean_dec(x_125);
-lean_dec(x_4);
-lean_dec(x_1);
-x_131 = l_Lean_Parser_Command_elab__rules___elambda__1___closed__2;
-x_132 = l_Lean_Parser_ParserState_mkNode(x_124, x_131, x_99);
-x_133 = 1;
-x_134 = l_Lean_Parser_mergeOrElseErrors(x_132, x_91, x_88, x_133);
-lean_dec(x_88);
-return x_134;
-}
-}
-else
-{
-lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138;
-x_135 = l_Lean_Parser_ParserState_restore(x_107, x_105, x_106);
-x_136 = l_Lean_nullKind;
-x_137 = l_Lean_Parser_ParserState_mkNode(x_135, x_136, x_105);
-x_138 = lean_ctor_get(x_137, 3);
-lean_inc(x_138);
-if (lean_obj_tag(x_138) == 0)
-{
-lean_object* x_139; lean_object* x_140; lean_object* x_141; uint8_t x_142; lean_object* x_143;
-x_139 = lean_apply_2(x_4, x_1, x_137);
-x_140 = l_Lean_Parser_Command_elab__rules___elambda__1___closed__2;
-x_141 = l_Lean_Parser_ParserState_mkNode(x_139, x_140, x_99);
-x_142 = 1;
-x_143 = l_Lean_Parser_mergeOrElseErrors(x_141, x_91, x_88, x_142);
-lean_dec(x_88);
-return x_143;
-}
-else
-{
-lean_object* x_144; lean_object* x_145; uint8_t x_146; lean_object* x_147;
-lean_dec(x_138);
-lean_dec(x_4);
-lean_dec(x_1);
-x_144 = l_Lean_Parser_Command_elab__rules___elambda__1___closed__2;
-x_145 = l_Lean_Parser_ParserState_mkNode(x_137, x_144, x_99);
-x_146 = 1;
-x_147 = l_Lean_Parser_mergeOrElseErrors(x_145, x_91, x_88, x_146);
-lean_dec(x_88);
-return x_147;
-}
-}
-}
-}
-block_152:
-{
-lean_object* x_150;
-x_150 = lean_ctor_get(x_149, 3);
-lean_inc(x_150);
-if (lean_obj_tag(x_150) == 0)
-{
-lean_object* x_151;
-lean_inc(x_1);
-x_151 = l_Lean_Parser_ident___elambda__1(x_1, x_149);
-x_107 = x_151;
-goto block_148;
-}
-else
-{
-lean_dec(x_150);
-x_107 = x_149;
-goto block_148;
-}
-}
-}
-else
-{
-lean_object* x_166; lean_object* x_167; uint8_t x_168; lean_object* x_169;
-lean_dec(x_103);
-lean_dec(x_4);
-lean_dec(x_1);
-x_166 = l_Lean_Parser_Command_elab__rules___elambda__1___closed__2;
-x_167 = l_Lean_Parser_ParserState_mkNode(x_102, x_166, x_99);
-x_168 = 1;
-x_169 = l_Lean_Parser_mergeOrElseErrors(x_167, x_91, x_88, x_168);
-lean_dec(x_88);
-return x_169;
-}
-}
-else
-{
-lean_object* x_170; lean_object* x_171; uint8_t x_172; lean_object* x_173;
-lean_dec(x_101);
-lean_dec(x_4);
-lean_dec(x_1);
-x_170 = l_Lean_Parser_Command_elab__rules___elambda__1___closed__2;
-x_171 = l_Lean_Parser_ParserState_mkNode(x_100, x_170, x_99);
-x_172 = 1;
-x_173 = l_Lean_Parser_mergeOrElseErrors(x_171, x_91, x_88, x_172);
-lean_dec(x_88);
-return x_173;
-}
-}
-}
-else
-{
-uint8_t x_189; lean_object* x_190;
-lean_dec(x_97);
-lean_dec(x_4);
-lean_dec(x_1);
-x_189 = 1;
-x_190 = l_Lean_Parser_mergeOrElseErrors(x_96, x_91, x_88, x_189);
-lean_dec(x_88);
-return x_190;
-}
-}
-}
-}
+x_5 = l_Lean_Parser_Command_elab__rules___elambda__1___closed__12;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
+return x_7;
}
}
static lean_object* _init_l_Lean_Parser_Command_elab__rules___closed__1() {
@@ -28365,7 +17604,7 @@ static lean_object* _init_l_Lean_Parser_Command_elab__rules___closed__3() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
-x_1 = l_Lean_Parser_Term_match___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Term_match___elambda__1___closed__9;
x_2 = lean_ctor_get(x_1, 0);
lean_inc(x_2);
x_3 = l_Lean_Parser_Command_elab__rules___closed__2;
@@ -28712,11 +17951,11 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_elabTail___elambda__1___closed__2() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_elabTail___elambda__1___closed__1;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_elabTail___elambda__1___closed__1;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_elabTail___elambda__1___closed__3() {
@@ -28724,377 +17963,83 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Command_elabTail___elambda__1___closed__2;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_2 = l_Lean_Parser_ident___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
static lean_object* _init_l_Lean_Parser_Command_elabTail___elambda__1___closed__4() {
_start:
{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_elabTail___elambda__1___closed__3;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optionalFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_elabTail___elambda__1___closed__5() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Command_elabTail___elambda__1___closed__3;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_1 = l_Lean_Parser_ident___closed__2;
+x_2 = l_Lean_Parser_Command_elabTail___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_elabTail___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__4;
+x_2 = l_Lean_Parser_Command_elabTail___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
lean_object* l_Lean_Parser_Command_elabTail___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-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_19; lean_object* x_82; lean_object* x_83;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_ctor_get(x_2, 1);
-lean_inc(x_4);
-x_5 = lean_array_get_size(x_3);
-lean_dec(x_3);
+lean_object* x_3; lean_object* x_4; lean_object* x_5;
+x_3 = l_Lean_Parser_Command_elabTail___elambda__1___closed__6;
lean_inc(x_1);
-x_82 = l_Lean_Parser_tokenFn(x_1, x_2);
-x_83 = lean_ctor_get(x_82, 3);
-lean_inc(x_83);
-if (lean_obj_tag(x_83) == 0)
+x_4 = l_Lean_Parser_tryFn(x_3, x_1, x_2);
+x_5 = lean_ctor_get(x_4, 3);
+lean_inc(x_5);
+if (lean_obj_tag(x_5) == 0)
{
-lean_object* x_84; lean_object* x_85;
-x_84 = lean_ctor_get(x_82, 0);
-lean_inc(x_84);
-x_85 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_84);
-lean_dec(x_84);
-if (lean_obj_tag(x_85) == 2)
+lean_object* x_6; lean_object* x_7;
+lean_inc(x_1);
+x_6 = l_Lean_Parser_darrow___elambda__1(x_1, x_4);
+x_7 = lean_ctor_get(x_6, 3);
+lean_inc(x_7);
+if (lean_obj_tag(x_7) == 0)
{
-lean_object* x_86; lean_object* x_87; uint8_t x_88;
-x_86 = lean_ctor_get(x_85, 1);
-lean_inc(x_86);
-lean_dec(x_85);
-x_87 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__3;
-x_88 = lean_string_dec_eq(x_86, x_87);
-lean_dec(x_86);
-if (x_88 == 0)
-{
-lean_object* x_89; lean_object* x_90;
-x_89 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-lean_inc(x_4);
-x_90 = l_Lean_Parser_ParserState_mkErrorsAt(x_82, x_89, x_4);
-x_19 = x_90;
-goto block_81;
+lean_object* x_8; lean_object* x_9; lean_object* x_10;
+x_8 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_9 = lean_unsigned_to_nat(0u);
+x_10 = l_Lean_Parser_categoryParser___elambda__1(x_8, x_9, x_1, x_6);
+return x_10;
}
else
{
-x_19 = x_82;
-goto block_81;
-}
-}
-else
-{
-lean_object* x_91; lean_object* x_92;
-lean_dec(x_85);
-x_91 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-lean_inc(x_4);
-x_92 = l_Lean_Parser_ParserState_mkErrorsAt(x_82, x_91, x_4);
-x_19 = x_92;
-goto block_81;
-}
-}
-else
-{
-lean_object* x_93; lean_object* x_94;
-lean_dec(x_83);
-x_93 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-lean_inc(x_4);
-x_94 = l_Lean_Parser_ParserState_mkErrorsAt(x_82, x_93, x_4);
-x_19 = x_94;
-goto block_81;
-}
-block_18:
-{
-if (lean_obj_tag(x_9) == 0)
-{
-lean_object* x_10;
-lean_dec(x_8);
lean_dec(x_7);
-lean_dec(x_5);
-lean_dec(x_4);
-x_10 = lean_ctor_get(x_6, 3);
-lean_inc(x_10);
-if (lean_obj_tag(x_10) == 0)
-{
-lean_object* x_11; lean_object* x_12;
-lean_inc(x_1);
-x_11 = l_Lean_Parser_darrow___elambda__1(x_1, x_6);
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15;
-x_13 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_14 = lean_unsigned_to_nat(0u);
-x_15 = l_Lean_Parser_categoryParser___elambda__1(x_13, x_14, x_1, x_11);
-return x_15;
-}
-else
-{
-lean_dec(x_12);
-lean_dec(x_1);
-return x_11;
-}
-}
-else
-{
-lean_dec(x_10);
lean_dec(x_1);
return x_6;
}
}
else
{
-lean_object* x_16; lean_object* x_17;
-lean_dec(x_6);
-lean_dec(x_1);
-x_16 = l_Array_shrink___main___rarg(x_7, x_5);
lean_dec(x_5);
-x_17 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_17, 0, x_16);
-lean_ctor_set(x_17, 1, x_4);
-lean_ctor_set(x_17, 2, x_8);
-lean_ctor_set(x_17, 3, x_9);
-return x_17;
-}
-}
-block_81:
-{
-lean_object* x_20;
-x_20 = lean_ctor_get(x_19, 3);
-lean_inc(x_20);
-if (lean_obj_tag(x_20) == 0)
-{
-lean_object* x_21; lean_object* x_22;
-lean_inc(x_1);
-x_21 = l_Lean_Parser_ident___elambda__1(x_1, x_19);
-x_22 = lean_ctor_get(x_21, 3);
-lean_inc(x_22);
-if (lean_obj_tag(x_22) == 0)
-{
-lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_62; lean_object* x_63;
-x_23 = lean_ctor_get(x_21, 0);
-lean_inc(x_23);
-x_24 = lean_array_get_size(x_23);
-lean_dec(x_23);
-x_25 = lean_ctor_get(x_21, 1);
-lean_inc(x_25);
-lean_inc(x_1);
-x_62 = l_Lean_Parser_tokenFn(x_1, x_21);
-x_63 = lean_ctor_get(x_62, 3);
-lean_inc(x_63);
-if (lean_obj_tag(x_63) == 0)
-{
-lean_object* x_64; lean_object* x_65;
-x_64 = lean_ctor_get(x_62, 0);
-lean_inc(x_64);
-x_65 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_64);
-lean_dec(x_64);
-if (lean_obj_tag(x_65) == 2)
-{
-lean_object* x_66; lean_object* x_67; uint8_t x_68;
-x_66 = lean_ctor_get(x_65, 1);
-lean_inc(x_66);
-lean_dec(x_65);
-x_67 = l_Lean_Parser_Command_elabTail___elambda__1___closed__1;
-x_68 = lean_string_dec_eq(x_66, x_67);
-lean_dec(x_66);
-if (x_68 == 0)
-{
-lean_object* x_69; lean_object* x_70;
-x_69 = l_Lean_Parser_Command_elabTail___elambda__1___closed__4;
-lean_inc(x_25);
-x_70 = l_Lean_Parser_ParserState_mkErrorsAt(x_62, x_69, x_25);
-x_26 = x_70;
-goto block_61;
-}
-else
-{
-x_26 = x_62;
-goto block_61;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72;
-lean_dec(x_65);
-x_71 = l_Lean_Parser_Command_elabTail___elambda__1___closed__4;
-lean_inc(x_25);
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_62, x_71, x_25);
-x_26 = x_72;
-goto block_61;
-}
-}
-else
-{
-lean_object* x_73; lean_object* x_74;
-lean_dec(x_63);
-x_73 = l_Lean_Parser_Command_elabTail___elambda__1___closed__4;
-lean_inc(x_25);
-x_74 = l_Lean_Parser_ParserState_mkErrorsAt(x_62, x_73, x_25);
-x_26 = x_74;
-goto block_61;
-}
-block_61:
-{
-lean_object* x_27;
-x_27 = lean_ctor_get(x_26, 3);
-lean_inc(x_27);
-if (lean_obj_tag(x_27) == 0)
-{
-lean_object* x_28; lean_object* x_29;
-lean_inc(x_1);
-x_28 = l_Lean_Parser_ident___elambda__1(x_1, x_26);
-x_29 = lean_ctor_get(x_28, 3);
-lean_inc(x_29);
-if (lean_obj_tag(x_29) == 0)
-{
-lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34;
-lean_dec(x_25);
-x_30 = l_Lean_nullKind;
-x_31 = l_Lean_Parser_ParserState_mkNode(x_28, x_30, x_24);
-x_32 = lean_ctor_get(x_31, 0);
-lean_inc(x_32);
-x_33 = lean_ctor_get(x_31, 2);
-lean_inc(x_33);
-x_34 = lean_ctor_get(x_31, 3);
-lean_inc(x_34);
-x_6 = x_31;
-x_7 = x_32;
-x_8 = x_33;
-x_9 = x_34;
-goto block_18;
-}
-else
-{
-lean_object* x_35; uint8_t x_36;
-lean_dec(x_29);
-x_35 = lean_ctor_get(x_28, 1);
-lean_inc(x_35);
-x_36 = lean_nat_dec_eq(x_35, x_25);
-lean_dec(x_35);
-if (x_36 == 0)
-{
-lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41;
-lean_dec(x_25);
-x_37 = l_Lean_nullKind;
-x_38 = l_Lean_Parser_ParserState_mkNode(x_28, x_37, x_24);
-x_39 = lean_ctor_get(x_38, 0);
-lean_inc(x_39);
-x_40 = lean_ctor_get(x_38, 2);
-lean_inc(x_40);
-x_41 = lean_ctor_get(x_38, 3);
-lean_inc(x_41);
-x_6 = x_38;
-x_7 = x_39;
-x_8 = x_40;
-x_9 = x_41;
-goto block_18;
-}
-else
-{
-lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47;
-x_42 = l_Lean_Parser_ParserState_restore(x_28, x_24, x_25);
-x_43 = l_Lean_nullKind;
-x_44 = l_Lean_Parser_ParserState_mkNode(x_42, x_43, x_24);
-x_45 = lean_ctor_get(x_44, 0);
-lean_inc(x_45);
-x_46 = lean_ctor_get(x_44, 2);
-lean_inc(x_46);
-x_47 = lean_ctor_get(x_44, 3);
-lean_inc(x_47);
-x_6 = x_44;
-x_7 = x_45;
-x_8 = x_46;
-x_9 = x_47;
-goto block_18;
-}
-}
-}
-else
-{
-lean_object* x_48; uint8_t x_49;
-lean_dec(x_27);
-x_48 = lean_ctor_get(x_26, 1);
-lean_inc(x_48);
-x_49 = lean_nat_dec_eq(x_48, x_25);
-lean_dec(x_48);
-if (x_49 == 0)
-{
-lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54;
-lean_dec(x_25);
-x_50 = l_Lean_nullKind;
-x_51 = l_Lean_Parser_ParserState_mkNode(x_26, x_50, x_24);
-x_52 = lean_ctor_get(x_51, 0);
-lean_inc(x_52);
-x_53 = lean_ctor_get(x_51, 2);
-lean_inc(x_53);
-x_54 = lean_ctor_get(x_51, 3);
-lean_inc(x_54);
-x_6 = x_51;
-x_7 = x_52;
-x_8 = x_53;
-x_9 = x_54;
-goto block_18;
-}
-else
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60;
-x_55 = l_Lean_Parser_ParserState_restore(x_26, x_24, x_25);
-x_56 = l_Lean_nullKind;
-x_57 = l_Lean_Parser_ParserState_mkNode(x_55, x_56, x_24);
-x_58 = lean_ctor_get(x_57, 0);
-lean_inc(x_58);
-x_59 = lean_ctor_get(x_57, 2);
-lean_inc(x_59);
-x_60 = lean_ctor_get(x_57, 3);
-lean_inc(x_60);
-x_6 = x_57;
-x_7 = x_58;
-x_8 = x_59;
-x_9 = x_60;
-goto block_18;
-}
-}
-}
-}
-else
-{
-lean_object* x_75; lean_object* x_76; lean_object* x_77;
-lean_dec(x_22);
-x_75 = lean_ctor_get(x_21, 0);
-lean_inc(x_75);
-x_76 = lean_ctor_get(x_21, 2);
-lean_inc(x_76);
-x_77 = lean_ctor_get(x_21, 3);
-lean_inc(x_77);
-x_6 = x_21;
-x_7 = x_75;
-x_8 = x_76;
-x_9 = x_77;
-goto block_18;
-}
-}
-else
-{
-lean_object* x_78; lean_object* x_79; lean_object* x_80;
-lean_dec(x_20);
-x_78 = lean_ctor_get(x_19, 0);
-lean_inc(x_78);
-x_79 = lean_ctor_get(x_19, 2);
-lean_inc(x_79);
-x_80 = lean_ctor_get(x_19, 3);
-lean_inc(x_80);
-x_6 = x_19;
-x_7 = x_78;
-x_8 = x_79;
-x_9 = x_80;
-goto block_18;
-}
+lean_dec(x_1);
+return x_4;
}
}
}
@@ -29247,20 +18192,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Command_elab___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Command_elab___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Command_elab___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Command_elab___elambda__1___closed__8() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Command_elab___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Command_elabArg;
+x_2 = lean_ctor_get(x_1, 1);
+lean_inc(x_2);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_manyFn), 3, 1);
+lean_closure_set(x_3, 0, x_2);
return x_3;
}
}
@@ -29268,427 +18215,87 @@ static lean_object* _init_l_Lean_Parser_Command_elab___elambda__1___closed__9()
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Command_elab___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_1 = l_Lean_Parser_Command_elab___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_elabTail___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_elab___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
+x_1 = l_Lean_Parser_Command_elabHead;
+x_2 = lean_ctor_get(x_1, 1);
+lean_inc(x_2);
+x_3 = l_Lean_Parser_Command_elab___elambda__1___closed__9;
+x_4 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_4, 0, x_2);
+lean_closure_set(x_4, 1, x_3);
+return x_4;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_elab___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_optPrecedence___closed__2;
+x_2 = l_Lean_Parser_Command_elab___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_elab___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_elab___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Command_elab___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_elab___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Command_elab___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Command_elab___elambda__1___closed__12;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Command_elab___elambda__1___closed__14() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Command_elab___elambda__1___closed__13;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
lean_object* l_Lean_Parser_Command_elab___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; uint8_t x_9;
-x_3 = l_Lean_Parser_Command_elabArg;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
+x_3 = l_Lean_Parser_Command_elab___elambda__1___closed__4;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-x_5 = l_Lean_Parser_Command_elabHead;
-x_6 = lean_ctor_get(x_5, 1);
-lean_inc(x_6);
-x_7 = l_Lean_Parser_Command_elab___elambda__1___closed__4;
-x_8 = lean_ctor_get(x_7, 1);
-lean_inc(x_8);
-lean_inc(x_2);
-lean_inc(x_1);
-x_9 = l_Lean_Parser_tryAnti(x_1, x_2);
-if (x_9 == 0)
-{
-lean_object* x_10; lean_object* x_11; lean_object* x_12;
-lean_dec(x_8);
-x_10 = lean_unsigned_to_nat(1024u);
-x_11 = l_Lean_Parser_checkPrecFn(x_10, x_1, x_2);
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_39; lean_object* x_40; lean_object* x_41;
-x_13 = lean_ctor_get(x_11, 0);
-lean_inc(x_13);
-x_14 = lean_array_get_size(x_13);
-lean_dec(x_13);
-x_39 = lean_ctor_get(x_11, 1);
-lean_inc(x_39);
-lean_inc(x_1);
-x_40 = l_Lean_Parser_tokenFn(x_1, x_11);
-x_41 = lean_ctor_get(x_40, 3);
-lean_inc(x_41);
-if (lean_obj_tag(x_41) == 0)
-{
-lean_object* x_42; lean_object* x_43;
-x_42 = lean_ctor_get(x_40, 0);
-lean_inc(x_42);
-x_43 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_42);
-lean_dec(x_42);
-if (lean_obj_tag(x_43) == 2)
-{
-lean_object* x_44; lean_object* x_45; uint8_t x_46;
-x_44 = lean_ctor_get(x_43, 1);
-lean_inc(x_44);
-lean_dec(x_43);
-x_45 = l_Lean_Parser_Command_elab___elambda__1___closed__6;
-x_46 = lean_string_dec_eq(x_44, x_45);
-lean_dec(x_44);
-if (x_46 == 0)
-{
-lean_object* x_47; lean_object* x_48;
-x_47 = l_Lean_Parser_Command_elab___elambda__1___closed__9;
-x_48 = l_Lean_Parser_ParserState_mkErrorsAt(x_40, x_47, x_39);
-x_15 = x_48;
-goto block_38;
-}
-else
-{
-lean_dec(x_39);
-x_15 = x_40;
-goto block_38;
-}
-}
-else
-{
-lean_object* x_49; lean_object* x_50;
-lean_dec(x_43);
-x_49 = l_Lean_Parser_Command_elab___elambda__1___closed__9;
-x_50 = l_Lean_Parser_ParserState_mkErrorsAt(x_40, x_49, x_39);
-x_15 = x_50;
-goto block_38;
-}
-}
-else
-{
-lean_object* x_51; lean_object* x_52;
-lean_dec(x_41);
-x_51 = l_Lean_Parser_Command_elab___elambda__1___closed__9;
-x_52 = l_Lean_Parser_ParserState_mkErrorsAt(x_40, x_51, x_39);
-x_15 = x_52;
-goto block_38;
-}
-block_38:
-{
-lean_object* x_16;
-x_16 = lean_ctor_get(x_15, 3);
-lean_inc(x_16);
-if (lean_obj_tag(x_16) == 0)
-{
-lean_object* x_17; lean_object* x_18;
-lean_inc(x_1);
-x_17 = l_Lean_Parser_optPrecedence___elambda__1(x_1, x_15);
-x_18 = lean_ctor_get(x_17, 3);
-lean_inc(x_18);
-if (lean_obj_tag(x_18) == 0)
-{
-lean_object* x_19; lean_object* x_20;
-lean_inc(x_1);
-x_19 = lean_apply_2(x_6, x_1, x_17);
-x_20 = lean_ctor_get(x_19, 3);
-lean_inc(x_20);
-if (lean_obj_tag(x_20) == 0)
-{
-lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26;
-x_21 = lean_ctor_get(x_19, 0);
-lean_inc(x_21);
-x_22 = lean_array_get_size(x_21);
-lean_dec(x_21);
-lean_inc(x_1);
-x_23 = l_Lean_Parser_manyAux___main(x_4, x_1, x_19);
-x_24 = l_Lean_nullKind;
-x_25 = l_Lean_Parser_ParserState_mkNode(x_23, x_24, x_22);
-x_26 = lean_ctor_get(x_25, 3);
-lean_inc(x_26);
-if (lean_obj_tag(x_26) == 0)
-{
-lean_object* x_27; lean_object* x_28; lean_object* x_29;
-x_27 = l_Lean_Parser_Command_elabTail___elambda__1(x_1, x_25);
-x_28 = l_Lean_Parser_Command_elab___elambda__1___closed__2;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_27, x_28, x_14);
-return x_29;
-}
-else
-{
-lean_object* x_30; lean_object* x_31;
-lean_dec(x_26);
-lean_dec(x_1);
-x_30 = l_Lean_Parser_Command_elab___elambda__1___closed__2;
-x_31 = l_Lean_Parser_ParserState_mkNode(x_25, x_30, x_14);
-return x_31;
-}
-}
-else
-{
-lean_object* x_32; lean_object* x_33;
-lean_dec(x_20);
-lean_dec(x_4);
-lean_dec(x_1);
-x_32 = l_Lean_Parser_Command_elab___elambda__1___closed__2;
-x_33 = l_Lean_Parser_ParserState_mkNode(x_19, x_32, x_14);
-return x_33;
-}
-}
-else
-{
-lean_object* x_34; lean_object* x_35;
-lean_dec(x_18);
-lean_dec(x_6);
-lean_dec(x_4);
-lean_dec(x_1);
-x_34 = l_Lean_Parser_Command_elab___elambda__1___closed__2;
-x_35 = l_Lean_Parser_ParserState_mkNode(x_17, x_34, x_14);
-return x_35;
-}
-}
-else
-{
-lean_object* x_36; lean_object* x_37;
-lean_dec(x_16);
-lean_dec(x_6);
-lean_dec(x_4);
-lean_dec(x_1);
-x_36 = l_Lean_Parser_Command_elab___elambda__1___closed__2;
-x_37 = l_Lean_Parser_ParserState_mkNode(x_15, x_36, x_14);
-return x_37;
-}
-}
-}
-else
-{
-lean_dec(x_12);
-lean_dec(x_6);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_11;
-}
-}
-else
-{
-lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57;
-x_53 = lean_ctor_get(x_2, 0);
-lean_inc(x_53);
-x_54 = lean_array_get_size(x_53);
-lean_dec(x_53);
-x_55 = lean_ctor_get(x_2, 1);
-lean_inc(x_55);
-lean_inc(x_1);
-x_56 = lean_apply_2(x_8, x_1, x_2);
-x_57 = lean_ctor_get(x_56, 3);
-lean_inc(x_57);
-if (lean_obj_tag(x_57) == 0)
-{
-lean_dec(x_55);
-lean_dec(x_54);
-lean_dec(x_6);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_56;
-}
-else
-{
-lean_object* x_58; lean_object* x_59; uint8_t x_60;
-x_58 = lean_ctor_get(x_57, 0);
-lean_inc(x_58);
-lean_dec(x_57);
-x_59 = lean_ctor_get(x_56, 1);
-lean_inc(x_59);
-x_60 = lean_nat_dec_eq(x_59, x_55);
-lean_dec(x_59);
-if (x_60 == 0)
-{
-lean_dec(x_58);
-lean_dec(x_55);
-lean_dec(x_54);
-lean_dec(x_6);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_56;
-}
-else
-{
-lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64;
-lean_inc(x_55);
-x_61 = l_Lean_Parser_ParserState_restore(x_56, x_54, x_55);
-lean_dec(x_54);
-x_62 = lean_unsigned_to_nat(1024u);
-x_63 = l_Lean_Parser_checkPrecFn(x_62, x_1, x_61);
-x_64 = lean_ctor_get(x_63, 3);
-lean_inc(x_64);
-if (lean_obj_tag(x_64) == 0)
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_101; lean_object* x_102; lean_object* x_103;
-x_65 = lean_ctor_get(x_63, 0);
-lean_inc(x_65);
-x_66 = lean_array_get_size(x_65);
-lean_dec(x_65);
-x_101 = lean_ctor_get(x_63, 1);
-lean_inc(x_101);
-lean_inc(x_1);
-x_102 = l_Lean_Parser_tokenFn(x_1, x_63);
-x_103 = lean_ctor_get(x_102, 3);
-lean_inc(x_103);
-if (lean_obj_tag(x_103) == 0)
-{
-lean_object* x_104; lean_object* x_105;
-x_104 = lean_ctor_get(x_102, 0);
-lean_inc(x_104);
-x_105 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_104);
-lean_dec(x_104);
-if (lean_obj_tag(x_105) == 2)
-{
-lean_object* x_106; lean_object* x_107; uint8_t x_108;
-x_106 = lean_ctor_get(x_105, 1);
-lean_inc(x_106);
-lean_dec(x_105);
-x_107 = l_Lean_Parser_Command_elab___elambda__1___closed__6;
-x_108 = lean_string_dec_eq(x_106, x_107);
-lean_dec(x_106);
-if (x_108 == 0)
-{
-lean_object* x_109; lean_object* x_110;
-x_109 = l_Lean_Parser_Command_elab___elambda__1___closed__9;
-x_110 = l_Lean_Parser_ParserState_mkErrorsAt(x_102, x_109, x_101);
-x_67 = x_110;
-goto block_100;
-}
-else
-{
-lean_dec(x_101);
-x_67 = x_102;
-goto block_100;
-}
-}
-else
-{
-lean_object* x_111; lean_object* x_112;
-lean_dec(x_105);
-x_111 = l_Lean_Parser_Command_elab___elambda__1___closed__9;
-x_112 = l_Lean_Parser_ParserState_mkErrorsAt(x_102, x_111, x_101);
-x_67 = x_112;
-goto block_100;
-}
-}
-else
-{
-lean_object* x_113; lean_object* x_114;
-lean_dec(x_103);
-x_113 = l_Lean_Parser_Command_elab___elambda__1___closed__9;
-x_114 = l_Lean_Parser_ParserState_mkErrorsAt(x_102, x_113, x_101);
-x_67 = x_114;
-goto block_100;
-}
-block_100:
-{
-lean_object* x_68;
-x_68 = lean_ctor_get(x_67, 3);
-lean_inc(x_68);
-if (lean_obj_tag(x_68) == 0)
-{
-lean_object* x_69; lean_object* x_70;
-lean_inc(x_1);
-x_69 = l_Lean_Parser_optPrecedence___elambda__1(x_1, x_67);
-x_70 = lean_ctor_get(x_69, 3);
-lean_inc(x_70);
-if (lean_obj_tag(x_70) == 0)
-{
-lean_object* x_71; lean_object* x_72;
-lean_inc(x_1);
-x_71 = lean_apply_2(x_6, x_1, x_69);
-x_72 = lean_ctor_get(x_71, 3);
-lean_inc(x_72);
-if (lean_obj_tag(x_72) == 0)
-{
-lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78;
-x_73 = lean_ctor_get(x_71, 0);
-lean_inc(x_73);
-x_74 = lean_array_get_size(x_73);
-lean_dec(x_73);
-lean_inc(x_1);
-x_75 = l_Lean_Parser_manyAux___main(x_4, x_1, x_71);
-x_76 = l_Lean_nullKind;
-x_77 = l_Lean_Parser_ParserState_mkNode(x_75, x_76, x_74);
-x_78 = lean_ctor_get(x_77, 3);
-lean_inc(x_78);
-if (lean_obj_tag(x_78) == 0)
-{
-lean_object* x_79; lean_object* x_80; lean_object* x_81; uint8_t x_82; lean_object* x_83;
-x_79 = l_Lean_Parser_Command_elabTail___elambda__1(x_1, x_77);
-x_80 = l_Lean_Parser_Command_elab___elambda__1___closed__2;
-x_81 = l_Lean_Parser_ParserState_mkNode(x_79, x_80, x_66);
-x_82 = 1;
-x_83 = l_Lean_Parser_mergeOrElseErrors(x_81, x_58, x_55, x_82);
-lean_dec(x_55);
-return x_83;
-}
-else
-{
-lean_object* x_84; lean_object* x_85; uint8_t x_86; lean_object* x_87;
-lean_dec(x_78);
-lean_dec(x_1);
-x_84 = l_Lean_Parser_Command_elab___elambda__1___closed__2;
-x_85 = l_Lean_Parser_ParserState_mkNode(x_77, x_84, x_66);
-x_86 = 1;
-x_87 = l_Lean_Parser_mergeOrElseErrors(x_85, x_58, x_55, x_86);
-lean_dec(x_55);
-return x_87;
-}
-}
-else
-{
-lean_object* x_88; lean_object* x_89; uint8_t x_90; lean_object* x_91;
-lean_dec(x_72);
-lean_dec(x_4);
-lean_dec(x_1);
-x_88 = l_Lean_Parser_Command_elab___elambda__1___closed__2;
-x_89 = l_Lean_Parser_ParserState_mkNode(x_71, x_88, x_66);
-x_90 = 1;
-x_91 = l_Lean_Parser_mergeOrElseErrors(x_89, x_58, x_55, x_90);
-lean_dec(x_55);
-return x_91;
-}
-}
-else
-{
-lean_object* x_92; lean_object* x_93; uint8_t x_94; lean_object* x_95;
-lean_dec(x_70);
-lean_dec(x_6);
-lean_dec(x_4);
-lean_dec(x_1);
-x_92 = l_Lean_Parser_Command_elab___elambda__1___closed__2;
-x_93 = l_Lean_Parser_ParserState_mkNode(x_69, x_92, x_66);
-x_94 = 1;
-x_95 = l_Lean_Parser_mergeOrElseErrors(x_93, x_58, x_55, x_94);
-lean_dec(x_55);
-return x_95;
-}
-}
-else
-{
-lean_object* x_96; lean_object* x_97; uint8_t x_98; lean_object* x_99;
-lean_dec(x_68);
-lean_dec(x_6);
-lean_dec(x_4);
-lean_dec(x_1);
-x_96 = l_Lean_Parser_Command_elab___elambda__1___closed__2;
-x_97 = l_Lean_Parser_ParserState_mkNode(x_67, x_96, x_66);
-x_98 = 1;
-x_99 = l_Lean_Parser_mergeOrElseErrors(x_97, x_58, x_55, x_98);
-lean_dec(x_55);
-return x_99;
-}
-}
-}
-else
-{
-uint8_t x_115; lean_object* x_116;
-lean_dec(x_64);
-lean_dec(x_6);
-lean_dec(x_4);
-lean_dec(x_1);
-x_115 = 1;
-x_116 = l_Lean_Parser_mergeOrElseErrors(x_63, x_58, x_55, x_115);
-lean_dec(x_55);
-return x_116;
-}
-}
-}
-}
+x_5 = l_Lean_Parser_Command_elab___elambda__1___closed__14;
+x_6 = 1;
+x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2);
+return x_7;
}
}
static lean_object* _init_l_Lean_Parser_Command_elab___closed__1() {
@@ -30287,18 +18894,18 @@ lean_dec_ref(res);
res = initialize_Lean_Parser_Tactic(lean_io_mk_world());
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
-l_Lean_Parser_regBuiltinSyntaxParserAttr___closed__1 = _init_l_Lean_Parser_regBuiltinSyntaxParserAttr___closed__1();
-lean_mark_persistent(l_Lean_Parser_regBuiltinSyntaxParserAttr___closed__1);
-l_Lean_Parser_regBuiltinSyntaxParserAttr___closed__2 = _init_l_Lean_Parser_regBuiltinSyntaxParserAttr___closed__2();
-lean_mark_persistent(l_Lean_Parser_regBuiltinSyntaxParserAttr___closed__2);
-res = l_Lean_Parser_regBuiltinSyntaxParserAttr(lean_io_mk_world());
+l_Lean_Parser_initFn____x40_Lean_Parser_Syntax___hyg_4____closed__1 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Syntax___hyg_4____closed__1();
+lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Syntax___hyg_4____closed__1);
+l_Lean_Parser_initFn____x40_Lean_Parser_Syntax___hyg_4____closed__2 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Syntax___hyg_4____closed__2();
+lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Syntax___hyg_4____closed__2);
+res = l_Lean_Parser_initFn____x40_Lean_Parser_Syntax___hyg_4_(lean_io_mk_world());
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
-l_Lean_Parser_regSyntaxParserAttribute___closed__1 = _init_l_Lean_Parser_regSyntaxParserAttribute___closed__1();
-lean_mark_persistent(l_Lean_Parser_regSyntaxParserAttribute___closed__1);
-l_Lean_Parser_regSyntaxParserAttribute___closed__2 = _init_l_Lean_Parser_regSyntaxParserAttribute___closed__2();
-lean_mark_persistent(l_Lean_Parser_regSyntaxParserAttribute___closed__2);
-res = l_Lean_Parser_regSyntaxParserAttribute(lean_io_mk_world());
+l_Lean_Parser_initFn____x40_Lean_Parser_Syntax___hyg_19____closed__1 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Syntax___hyg_19____closed__1();
+lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Syntax___hyg_19____closed__1);
+l_Lean_Parser_initFn____x40_Lean_Parser_Syntax___hyg_19____closed__2 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Syntax___hyg_19____closed__2();
+lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Syntax___hyg_19____closed__2);
+res = l_Lean_Parser_initFn____x40_Lean_Parser_Syntax___hyg_19_(lean_io_mk_world());
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
l_Lean_Parser_maxSymbol___elambda__1___closed__1 = _init_l_Lean_Parser_maxSymbol___elambda__1___closed__1();
@@ -30315,6 +18922,8 @@ l_Lean_Parser_maxSymbol___elambda__1___closed__6 = _init_l_Lean_Parser_maxSymbol
lean_mark_persistent(l_Lean_Parser_maxSymbol___elambda__1___closed__6);
l_Lean_Parser_maxSymbol___elambda__1___closed__7 = _init_l_Lean_Parser_maxSymbol___elambda__1___closed__7();
lean_mark_persistent(l_Lean_Parser_maxSymbol___elambda__1___closed__7);
+l_Lean_Parser_maxSymbol___elambda__1___closed__8 = _init_l_Lean_Parser_maxSymbol___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_maxSymbol___elambda__1___closed__8);
l_Lean_Parser_maxSymbol___closed__1 = _init_l_Lean_Parser_maxSymbol___closed__1();
lean_mark_persistent(l_Lean_Parser_maxSymbol___closed__1);
l_Lean_Parser_maxSymbol___closed__2 = _init_l_Lean_Parser_maxSymbol___closed__2();
@@ -30345,6 +18954,12 @@ l_Lean_Parser_precedence___elambda__1___closed__3 = _init_l_Lean_Parser_preceden
lean_mark_persistent(l_Lean_Parser_precedence___elambda__1___closed__3);
l_Lean_Parser_precedence___elambda__1___closed__4 = _init_l_Lean_Parser_precedence___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_precedence___elambda__1___closed__4);
+l_Lean_Parser_precedence___elambda__1___closed__5 = _init_l_Lean_Parser_precedence___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_precedence___elambda__1___closed__5);
+l_Lean_Parser_precedence___elambda__1___closed__6 = _init_l_Lean_Parser_precedence___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_precedence___elambda__1___closed__6);
+l_Lean_Parser_precedence___elambda__1___closed__7 = _init_l_Lean_Parser_precedence___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_precedence___elambda__1___closed__7);
l_Lean_Parser_precedence___closed__1 = _init_l_Lean_Parser_precedence___closed__1();
lean_mark_persistent(l_Lean_Parser_precedence___closed__1);
l_Lean_Parser_precedence___closed__2 = _init_l_Lean_Parser_precedence___closed__2();
@@ -30359,6 +18974,8 @@ l_Lean_Parser_precedence___closed__6 = _init_l_Lean_Parser_precedence___closed__
lean_mark_persistent(l_Lean_Parser_precedence___closed__6);
l_Lean_Parser_precedence = _init_l_Lean_Parser_precedence();
lean_mark_persistent(l_Lean_Parser_precedence);
+l_Lean_Parser_optPrecedence___elambda__1___closed__1 = _init_l_Lean_Parser_optPrecedence___elambda__1___closed__1();
+lean_mark_persistent(l_Lean_Parser_optPrecedence___elambda__1___closed__1);
l_Lean_Parser_optPrecedence___closed__1 = _init_l_Lean_Parser_optPrecedence___closed__1();
lean_mark_persistent(l_Lean_Parser_optPrecedence___closed__1);
l_Lean_Parser_optPrecedence___closed__2 = _init_l_Lean_Parser_optPrecedence___closed__2();
@@ -30377,6 +18994,18 @@ l_Lean_Parser_Syntax_paren___elambda__1___closed__4 = _init_l_Lean_Parser_Syntax
lean_mark_persistent(l_Lean_Parser_Syntax_paren___elambda__1___closed__4);
l_Lean_Parser_Syntax_paren___elambda__1___closed__5 = _init_l_Lean_Parser_Syntax_paren___elambda__1___closed__5();
lean_mark_persistent(l_Lean_Parser_Syntax_paren___elambda__1___closed__5);
+l_Lean_Parser_Syntax_paren___elambda__1___closed__6 = _init_l_Lean_Parser_Syntax_paren___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Syntax_paren___elambda__1___closed__6);
+l_Lean_Parser_Syntax_paren___elambda__1___closed__7 = _init_l_Lean_Parser_Syntax_paren___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Syntax_paren___elambda__1___closed__7);
+l_Lean_Parser_Syntax_paren___elambda__1___closed__8 = _init_l_Lean_Parser_Syntax_paren___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Syntax_paren___elambda__1___closed__8);
+l_Lean_Parser_Syntax_paren___elambda__1___closed__9 = _init_l_Lean_Parser_Syntax_paren___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Syntax_paren___elambda__1___closed__9);
+l_Lean_Parser_Syntax_paren___elambda__1___closed__10 = _init_l_Lean_Parser_Syntax_paren___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Syntax_paren___elambda__1___closed__10);
+l_Lean_Parser_Syntax_paren___elambda__1___closed__11 = _init_l_Lean_Parser_Syntax_paren___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Syntax_paren___elambda__1___closed__11);
l_Lean_Parser_Syntax_paren___closed__1 = _init_l_Lean_Parser_Syntax_paren___closed__1();
lean_mark_persistent(l_Lean_Parser_Syntax_paren___closed__1);
l_Lean_Parser_Syntax_paren___closed__2 = _init_l_Lean_Parser_Syntax_paren___closed__2();
@@ -30440,6 +19069,12 @@ l_Lean_Parser_Syntax_cat___elambda__1___closed__3 = _init_l_Lean_Parser_Syntax_c
lean_mark_persistent(l_Lean_Parser_Syntax_cat___elambda__1___closed__3);
l_Lean_Parser_Syntax_cat___elambda__1___closed__4 = _init_l_Lean_Parser_Syntax_cat___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Syntax_cat___elambda__1___closed__4);
+l_Lean_Parser_Syntax_cat___elambda__1___closed__5 = _init_l_Lean_Parser_Syntax_cat___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Syntax_cat___elambda__1___closed__5);
+l_Lean_Parser_Syntax_cat___elambda__1___closed__6 = _init_l_Lean_Parser_Syntax_cat___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Syntax_cat___elambda__1___closed__6);
+l_Lean_Parser_Syntax_cat___elambda__1___closed__7 = _init_l_Lean_Parser_Syntax_cat___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Syntax_cat___elambda__1___closed__7);
l_Lean_Parser_Syntax_cat___closed__1 = _init_l_Lean_Parser_Syntax_cat___closed__1();
lean_mark_persistent(l_Lean_Parser_Syntax_cat___closed__1);
l_Lean_Parser_Syntax_cat___closed__2 = _init_l_Lean_Parser_Syntax_cat___closed__2();
@@ -30529,6 +19164,10 @@ l_Lean_Parser_Syntax_atom___elambda__1___closed__3 = _init_l_Lean_Parser_Syntax_
lean_mark_persistent(l_Lean_Parser_Syntax_atom___elambda__1___closed__3);
l_Lean_Parser_Syntax_atom___elambda__1___closed__4 = _init_l_Lean_Parser_Syntax_atom___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Syntax_atom___elambda__1___closed__4);
+l_Lean_Parser_Syntax_atom___elambda__1___closed__5 = _init_l_Lean_Parser_Syntax_atom___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Syntax_atom___elambda__1___closed__5);
+l_Lean_Parser_Syntax_atom___elambda__1___closed__6 = _init_l_Lean_Parser_Syntax_atom___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Syntax_atom___elambda__1___closed__6);
l_Lean_Parser_Syntax_atom___closed__1 = _init_l_Lean_Parser_Syntax_atom___closed__1();
lean_mark_persistent(l_Lean_Parser_Syntax_atom___closed__1);
l_Lean_Parser_Syntax_atom___closed__2 = _init_l_Lean_Parser_Syntax_atom___closed__2();
@@ -30574,6 +19213,8 @@ l_Lean_Parser_Syntax_num___elambda__1___closed__5 = _init_l_Lean_Parser_Syntax_n
lean_mark_persistent(l_Lean_Parser_Syntax_num___elambda__1___closed__5);
l_Lean_Parser_Syntax_num___elambda__1___closed__6 = _init_l_Lean_Parser_Syntax_num___elambda__1___closed__6();
lean_mark_persistent(l_Lean_Parser_Syntax_num___elambda__1___closed__6);
+l_Lean_Parser_Syntax_num___elambda__1___closed__7 = _init_l_Lean_Parser_Syntax_num___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Syntax_num___elambda__1___closed__7);
l_Lean_Parser_Syntax_num___closed__1 = _init_l_Lean_Parser_Syntax_num___closed__1();
lean_mark_persistent(l_Lean_Parser_Syntax_num___closed__1);
l_Lean_Parser_Syntax_num___closed__2 = _init_l_Lean_Parser_Syntax_num___closed__2();
@@ -30623,6 +19264,8 @@ l_Lean_Parser_Syntax_str___elambda__1___closed__5 = _init_l_Lean_Parser_Syntax_s
lean_mark_persistent(l_Lean_Parser_Syntax_str___elambda__1___closed__5);
l_Lean_Parser_Syntax_str___elambda__1___closed__6 = _init_l_Lean_Parser_Syntax_str___elambda__1___closed__6();
lean_mark_persistent(l_Lean_Parser_Syntax_str___elambda__1___closed__6);
+l_Lean_Parser_Syntax_str___elambda__1___closed__7 = _init_l_Lean_Parser_Syntax_str___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Syntax_str___elambda__1___closed__7);
l_Lean_Parser_Syntax_str___closed__1 = _init_l_Lean_Parser_Syntax_str___closed__1();
lean_mark_persistent(l_Lean_Parser_Syntax_str___closed__1);
l_Lean_Parser_Syntax_str___closed__2 = _init_l_Lean_Parser_Syntax_str___closed__2();
@@ -30672,6 +19315,8 @@ l_Lean_Parser_Syntax_char___elambda__1___closed__5 = _init_l_Lean_Parser_Syntax_
lean_mark_persistent(l_Lean_Parser_Syntax_char___elambda__1___closed__5);
l_Lean_Parser_Syntax_char___elambda__1___closed__6 = _init_l_Lean_Parser_Syntax_char___elambda__1___closed__6();
lean_mark_persistent(l_Lean_Parser_Syntax_char___elambda__1___closed__6);
+l_Lean_Parser_Syntax_char___elambda__1___closed__7 = _init_l_Lean_Parser_Syntax_char___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Syntax_char___elambda__1___closed__7);
l_Lean_Parser_Syntax_char___closed__1 = _init_l_Lean_Parser_Syntax_char___closed__1();
lean_mark_persistent(l_Lean_Parser_Syntax_char___closed__1);
l_Lean_Parser_Syntax_char___closed__2 = _init_l_Lean_Parser_Syntax_char___closed__2();
@@ -30721,6 +19366,8 @@ l_Lean_Parser_Syntax_ident___elambda__1___closed__5 = _init_l_Lean_Parser_Syntax
lean_mark_persistent(l_Lean_Parser_Syntax_ident___elambda__1___closed__5);
l_Lean_Parser_Syntax_ident___elambda__1___closed__6 = _init_l_Lean_Parser_Syntax_ident___elambda__1___closed__6();
lean_mark_persistent(l_Lean_Parser_Syntax_ident___elambda__1___closed__6);
+l_Lean_Parser_Syntax_ident___elambda__1___closed__7 = _init_l_Lean_Parser_Syntax_ident___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Syntax_ident___elambda__1___closed__7);
l_Lean_Parser_Syntax_ident___closed__1 = _init_l_Lean_Parser_Syntax_ident___closed__1();
lean_mark_persistent(l_Lean_Parser_Syntax_ident___closed__1);
l_Lean_Parser_Syntax_ident___closed__2 = _init_l_Lean_Parser_Syntax_ident___closed__2();
@@ -30772,6 +19419,8 @@ l_Lean_Parser_Syntax_noWs___elambda__1___closed__6 = _init_l_Lean_Parser_Syntax_
lean_mark_persistent(l_Lean_Parser_Syntax_noWs___elambda__1___closed__6);
l_Lean_Parser_Syntax_noWs___elambda__1___closed__7 = _init_l_Lean_Parser_Syntax_noWs___elambda__1___closed__7();
lean_mark_persistent(l_Lean_Parser_Syntax_noWs___elambda__1___closed__7);
+l_Lean_Parser_Syntax_noWs___elambda__1___closed__8 = _init_l_Lean_Parser_Syntax_noWs___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Syntax_noWs___elambda__1___closed__8);
l_Lean_Parser_Syntax_noWs___closed__1 = _init_l_Lean_Parser_Syntax_noWs___closed__1();
lean_mark_persistent(l_Lean_Parser_Syntax_noWs___closed__1);
l_Lean_Parser_Syntax_noWs___closed__2 = _init_l_Lean_Parser_Syntax_noWs___closed__2();
@@ -30823,6 +19472,12 @@ l_Lean_Parser_Syntax_interpolatedStr___elambda__1___closed__6 = _init_l_Lean_Par
lean_mark_persistent(l_Lean_Parser_Syntax_interpolatedStr___elambda__1___closed__6);
l_Lean_Parser_Syntax_interpolatedStr___elambda__1___closed__7 = _init_l_Lean_Parser_Syntax_interpolatedStr___elambda__1___closed__7();
lean_mark_persistent(l_Lean_Parser_Syntax_interpolatedStr___elambda__1___closed__7);
+l_Lean_Parser_Syntax_interpolatedStr___elambda__1___closed__8 = _init_l_Lean_Parser_Syntax_interpolatedStr___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Syntax_interpolatedStr___elambda__1___closed__8);
+l_Lean_Parser_Syntax_interpolatedStr___elambda__1___closed__9 = _init_l_Lean_Parser_Syntax_interpolatedStr___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Syntax_interpolatedStr___elambda__1___closed__9);
+l_Lean_Parser_Syntax_interpolatedStr___elambda__1___closed__10 = _init_l_Lean_Parser_Syntax_interpolatedStr___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Syntax_interpolatedStr___elambda__1___closed__10);
l_Lean_Parser_Syntax_interpolatedStr___closed__1 = _init_l_Lean_Parser_Syntax_interpolatedStr___closed__1();
lean_mark_persistent(l_Lean_Parser_Syntax_interpolatedStr___closed__1);
l_Lean_Parser_Syntax_interpolatedStr___closed__2 = _init_l_Lean_Parser_Syntax_interpolatedStr___closed__2();
@@ -30878,6 +19533,14 @@ l_Lean_Parser_Syntax_try___elambda__1___closed__3 = _init_l_Lean_Parser_Syntax_t
lean_mark_persistent(l_Lean_Parser_Syntax_try___elambda__1___closed__3);
l_Lean_Parser_Syntax_try___elambda__1___closed__4 = _init_l_Lean_Parser_Syntax_try___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Syntax_try___elambda__1___closed__4);
+l_Lean_Parser_Syntax_try___elambda__1___closed__5 = _init_l_Lean_Parser_Syntax_try___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Syntax_try___elambda__1___closed__5);
+l_Lean_Parser_Syntax_try___elambda__1___closed__6 = _init_l_Lean_Parser_Syntax_try___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Syntax_try___elambda__1___closed__6);
+l_Lean_Parser_Syntax_try___elambda__1___closed__7 = _init_l_Lean_Parser_Syntax_try___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Syntax_try___elambda__1___closed__7);
+l_Lean_Parser_Syntax_try___elambda__1___closed__8 = _init_l_Lean_Parser_Syntax_try___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Syntax_try___elambda__1___closed__8);
l_Lean_Parser_Syntax_try___closed__1 = _init_l_Lean_Parser_Syntax_try___closed__1();
lean_mark_persistent(l_Lean_Parser_Syntax_try___closed__1);
l_Lean_Parser_Syntax_try___closed__2 = _init_l_Lean_Parser_Syntax_try___closed__2();
@@ -30935,6 +19598,10 @@ l_Lean_Parser_Syntax_lookahead___elambda__1___closed__7 = _init_l_Lean_Parser_Sy
lean_mark_persistent(l_Lean_Parser_Syntax_lookahead___elambda__1___closed__7);
l_Lean_Parser_Syntax_lookahead___elambda__1___closed__8 = _init_l_Lean_Parser_Syntax_lookahead___elambda__1___closed__8();
lean_mark_persistent(l_Lean_Parser_Syntax_lookahead___elambda__1___closed__8);
+l_Lean_Parser_Syntax_lookahead___elambda__1___closed__9 = _init_l_Lean_Parser_Syntax_lookahead___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Syntax_lookahead___elambda__1___closed__9);
+l_Lean_Parser_Syntax_lookahead___elambda__1___closed__10 = _init_l_Lean_Parser_Syntax_lookahead___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Syntax_lookahead___elambda__1___closed__10);
l_Lean_Parser_Syntax_lookahead___closed__1 = _init_l_Lean_Parser_Syntax_lookahead___closed__1();
lean_mark_persistent(l_Lean_Parser_Syntax_lookahead___closed__1);
l_Lean_Parser_Syntax_lookahead___closed__2 = _init_l_Lean_Parser_Syntax_lookahead___closed__2();
@@ -30992,6 +19659,12 @@ l_Lean_Parser_Syntax_sepBy___elambda__1___closed__7 = _init_l_Lean_Parser_Syntax
lean_mark_persistent(l_Lean_Parser_Syntax_sepBy___elambda__1___closed__7);
l_Lean_Parser_Syntax_sepBy___elambda__1___closed__8 = _init_l_Lean_Parser_Syntax_sepBy___elambda__1___closed__8();
lean_mark_persistent(l_Lean_Parser_Syntax_sepBy___elambda__1___closed__8);
+l_Lean_Parser_Syntax_sepBy___elambda__1___closed__9 = _init_l_Lean_Parser_Syntax_sepBy___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Syntax_sepBy___elambda__1___closed__9);
+l_Lean_Parser_Syntax_sepBy___elambda__1___closed__10 = _init_l_Lean_Parser_Syntax_sepBy___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Syntax_sepBy___elambda__1___closed__10);
+l_Lean_Parser_Syntax_sepBy___elambda__1___closed__11 = _init_l_Lean_Parser_Syntax_sepBy___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Syntax_sepBy___elambda__1___closed__11);
l_Lean_Parser_Syntax_sepBy___closed__1 = _init_l_Lean_Parser_Syntax_sepBy___closed__1();
lean_mark_persistent(l_Lean_Parser_Syntax_sepBy___closed__1);
l_Lean_Parser_Syntax_sepBy___closed__2 = _init_l_Lean_Parser_Syntax_sepBy___closed__2();
@@ -31057,6 +19730,10 @@ l_Lean_Parser_Syntax_sepBy1___elambda__1___closed__7 = _init_l_Lean_Parser_Synta
lean_mark_persistent(l_Lean_Parser_Syntax_sepBy1___elambda__1___closed__7);
l_Lean_Parser_Syntax_sepBy1___elambda__1___closed__8 = _init_l_Lean_Parser_Syntax_sepBy1___elambda__1___closed__8();
lean_mark_persistent(l_Lean_Parser_Syntax_sepBy1___elambda__1___closed__8);
+l_Lean_Parser_Syntax_sepBy1___elambda__1___closed__9 = _init_l_Lean_Parser_Syntax_sepBy1___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Syntax_sepBy1___elambda__1___closed__9);
+l_Lean_Parser_Syntax_sepBy1___elambda__1___closed__10 = _init_l_Lean_Parser_Syntax_sepBy1___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Syntax_sepBy1___elambda__1___closed__10);
l_Lean_Parser_Syntax_sepBy1___closed__1 = _init_l_Lean_Parser_Syntax_sepBy1___closed__1();
lean_mark_persistent(l_Lean_Parser_Syntax_sepBy1___closed__1);
l_Lean_Parser_Syntax_sepBy1___closed__2 = _init_l_Lean_Parser_Syntax_sepBy1___closed__2();
@@ -31114,6 +19791,10 @@ l_Lean_Parser_Syntax_notFollowedBy___elambda__1___closed__7 = _init_l_Lean_Parse
lean_mark_persistent(l_Lean_Parser_Syntax_notFollowedBy___elambda__1___closed__7);
l_Lean_Parser_Syntax_notFollowedBy___elambda__1___closed__8 = _init_l_Lean_Parser_Syntax_notFollowedBy___elambda__1___closed__8();
lean_mark_persistent(l_Lean_Parser_Syntax_notFollowedBy___elambda__1___closed__8);
+l_Lean_Parser_Syntax_notFollowedBy___elambda__1___closed__9 = _init_l_Lean_Parser_Syntax_notFollowedBy___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Syntax_notFollowedBy___elambda__1___closed__9);
+l_Lean_Parser_Syntax_notFollowedBy___elambda__1___closed__10 = _init_l_Lean_Parser_Syntax_notFollowedBy___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Syntax_notFollowedBy___elambda__1___closed__10);
l_Lean_Parser_Syntax_notFollowedBy___closed__1 = _init_l_Lean_Parser_Syntax_notFollowedBy___closed__1();
lean_mark_persistent(l_Lean_Parser_Syntax_notFollowedBy___closed__1);
l_Lean_Parser_Syntax_notFollowedBy___closed__2 = _init_l_Lean_Parser_Syntax_notFollowedBy___closed__2();
@@ -31219,8 +19900,6 @@ l_Lean_Parser_Syntax_many1___elambda__1___closed__4 = _init_l_Lean_Parser_Syntax
lean_mark_persistent(l_Lean_Parser_Syntax_many1___elambda__1___closed__4);
l_Lean_Parser_Syntax_many1___elambda__1___closed__5 = _init_l_Lean_Parser_Syntax_many1___elambda__1___closed__5();
lean_mark_persistent(l_Lean_Parser_Syntax_many1___elambda__1___closed__5);
-l_Lean_Parser_Syntax_many1___elambda__1___closed__6 = _init_l_Lean_Parser_Syntax_many1___elambda__1___closed__6();
-lean_mark_persistent(l_Lean_Parser_Syntax_many1___elambda__1___closed__6);
l_Lean_Parser_Syntax_many1___closed__1 = _init_l_Lean_Parser_Syntax_many1___closed__1();
lean_mark_persistent(l_Lean_Parser_Syntax_many1___closed__1);
l_Lean_Parser_Syntax_many1___closed__2 = _init_l_Lean_Parser_Syntax_many1___closed__2();
@@ -31303,6 +19982,10 @@ l_Lean_Parser_Term_stx_quot___elambda__1___closed__9 = _init_l_Lean_Parser_Term_
lean_mark_persistent(l_Lean_Parser_Term_stx_quot___elambda__1___closed__9);
l_Lean_Parser_Term_stx_quot___elambda__1___closed__10 = _init_l_Lean_Parser_Term_stx_quot___elambda__1___closed__10();
lean_mark_persistent(l_Lean_Parser_Term_stx_quot___elambda__1___closed__10);
+l_Lean_Parser_Term_stx_quot___elambda__1___closed__11 = _init_l_Lean_Parser_Term_stx_quot___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_stx_quot___elambda__1___closed__11);
+l_Lean_Parser_Term_stx_quot___elambda__1___closed__12 = _init_l_Lean_Parser_Term_stx_quot___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Term_stx_quot___elambda__1___closed__12);
l_Lean_Parser_Term_stx_quot___closed__1 = _init_l_Lean_Parser_Term_stx_quot___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_stx_quot___closed__1);
l_Lean_Parser_Term_stx_quot___closed__2 = _init_l_Lean_Parser_Term_stx_quot___closed__2();
@@ -31504,6 +20187,12 @@ l_Lean_Parser_Command_postfix___closed__6 = _init_l_Lean_Parser_Command_postfix_
lean_mark_persistent(l_Lean_Parser_Command_postfix___closed__6);
l_Lean_Parser_Command_postfix = _init_l_Lean_Parser_Command_postfix();
lean_mark_persistent(l_Lean_Parser_Command_postfix);
+l_Lean_Parser_Command_mixfixKind___elambda__1___closed__1 = _init_l_Lean_Parser_Command_mixfixKind___elambda__1___closed__1();
+lean_mark_persistent(l_Lean_Parser_Command_mixfixKind___elambda__1___closed__1);
+l_Lean_Parser_Command_mixfixKind___elambda__1___closed__2 = _init_l_Lean_Parser_Command_mixfixKind___elambda__1___closed__2();
+lean_mark_persistent(l_Lean_Parser_Command_mixfixKind___elambda__1___closed__2);
+l_Lean_Parser_Command_mixfixKind___elambda__1___closed__3 = _init_l_Lean_Parser_Command_mixfixKind___elambda__1___closed__3();
+lean_mark_persistent(l_Lean_Parser_Command_mixfixKind___elambda__1___closed__3);
l_Lean_Parser_Command_mixfixKind___closed__1 = _init_l_Lean_Parser_Command_mixfixKind___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_mixfixKind___closed__1);
l_Lean_Parser_Command_mixfixKind___closed__2 = _init_l_Lean_Parser_Command_mixfixKind___closed__2();
@@ -31526,6 +20215,26 @@ l_Lean_Parser_Command_mixfix___elambda__1___closed__3 = _init_l_Lean_Parser_Comm
lean_mark_persistent(l_Lean_Parser_Command_mixfix___elambda__1___closed__3);
l_Lean_Parser_Command_mixfix___elambda__1___closed__4 = _init_l_Lean_Parser_Command_mixfix___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Command_mixfix___elambda__1___closed__4);
+l_Lean_Parser_Command_mixfix___elambda__1___closed__5 = _init_l_Lean_Parser_Command_mixfix___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Command_mixfix___elambda__1___closed__5);
+l_Lean_Parser_Command_mixfix___elambda__1___closed__6 = _init_l_Lean_Parser_Command_mixfix___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Command_mixfix___elambda__1___closed__6);
+l_Lean_Parser_Command_mixfix___elambda__1___closed__7 = _init_l_Lean_Parser_Command_mixfix___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Command_mixfix___elambda__1___closed__7);
+l_Lean_Parser_Command_mixfix___elambda__1___closed__8 = _init_l_Lean_Parser_Command_mixfix___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Command_mixfix___elambda__1___closed__8);
+l_Lean_Parser_Command_mixfix___elambda__1___closed__9 = _init_l_Lean_Parser_Command_mixfix___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Command_mixfix___elambda__1___closed__9);
+l_Lean_Parser_Command_mixfix___elambda__1___closed__10 = _init_l_Lean_Parser_Command_mixfix___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_mixfix___elambda__1___closed__10);
+l_Lean_Parser_Command_mixfix___elambda__1___closed__11 = _init_l_Lean_Parser_Command_mixfix___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_mixfix___elambda__1___closed__11);
+l_Lean_Parser_Command_mixfix___elambda__1___closed__12 = _init_l_Lean_Parser_Command_mixfix___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_mixfix___elambda__1___closed__12);
+l_Lean_Parser_Command_mixfix___elambda__1___closed__13 = _init_l_Lean_Parser_Command_mixfix___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Command_mixfix___elambda__1___closed__13);
+l_Lean_Parser_Command_mixfix___elambda__1___closed__14 = _init_l_Lean_Parser_Command_mixfix___elambda__1___closed__14();
+lean_mark_persistent(l_Lean_Parser_Command_mixfix___elambda__1___closed__14);
l_Lean_Parser_Command_mixfix___closed__1 = _init_l_Lean_Parser_Command_mixfix___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_mixfix___closed__1);
l_Lean_Parser_Command_mixfix___closed__2 = _init_l_Lean_Parser_Command_mixfix___closed__2();
@@ -31719,6 +20428,14 @@ l_Lean_Parser_Command_reserve___elambda__1___closed__8 = _init_l_Lean_Parser_Com
lean_mark_persistent(l_Lean_Parser_Command_reserve___elambda__1___closed__8);
l_Lean_Parser_Command_reserve___elambda__1___closed__9 = _init_l_Lean_Parser_Command_reserve___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Command_reserve___elambda__1___closed__9);
+l_Lean_Parser_Command_reserve___elambda__1___closed__10 = _init_l_Lean_Parser_Command_reserve___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_reserve___elambda__1___closed__10);
+l_Lean_Parser_Command_reserve___elambda__1___closed__11 = _init_l_Lean_Parser_Command_reserve___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_reserve___elambda__1___closed__11);
+l_Lean_Parser_Command_reserve___elambda__1___closed__12 = _init_l_Lean_Parser_Command_reserve___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_reserve___elambda__1___closed__12);
+l_Lean_Parser_Command_reserve___elambda__1___closed__13 = _init_l_Lean_Parser_Command_reserve___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Command_reserve___elambda__1___closed__13);
l_Lean_Parser_Command_reserve___closed__1 = _init_l_Lean_Parser_Command_reserve___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_reserve___closed__1);
l_Lean_Parser_Command_reserve___closed__2 = _init_l_Lean_Parser_Command_reserve___closed__2();
@@ -31788,6 +20505,10 @@ l_Lean_Parser_Command_identPrec___elambda__1___closed__3 = _init_l_Lean_Parser_C
lean_mark_persistent(l_Lean_Parser_Command_identPrec___elambda__1___closed__3);
l_Lean_Parser_Command_identPrec___elambda__1___closed__4 = _init_l_Lean_Parser_Command_identPrec___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Command_identPrec___elambda__1___closed__4);
+l_Lean_Parser_Command_identPrec___elambda__1___closed__5 = _init_l_Lean_Parser_Command_identPrec___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Command_identPrec___elambda__1___closed__5);
+l_Lean_Parser_Command_identPrec___elambda__1___closed__6 = _init_l_Lean_Parser_Command_identPrec___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Command_identPrec___elambda__1___closed__6);
l_Lean_Parser_Command_identPrec___closed__1 = _init_l_Lean_Parser_Command_identPrec___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_identPrec___closed__1);
l_Lean_Parser_Command_identPrec___closed__2 = _init_l_Lean_Parser_Command_identPrec___closed__2();
@@ -31800,6 +20521,10 @@ l_Lean_Parser_Command_identPrec___closed__5 = _init_l_Lean_Parser_Command_identP
lean_mark_persistent(l_Lean_Parser_Command_identPrec___closed__5);
l_Lean_Parser_Command_identPrec = _init_l_Lean_Parser_Command_identPrec();
lean_mark_persistent(l_Lean_Parser_Command_identPrec);
+l_Lean_Parser_Command_optKind___elambda__1___closed__1 = _init_l_Lean_Parser_Command_optKind___elambda__1___closed__1();
+lean_mark_persistent(l_Lean_Parser_Command_optKind___elambda__1___closed__1);
+l_Lean_Parser_Command_optKind___elambda__1___closed__2 = _init_l_Lean_Parser_Command_optKind___elambda__1___closed__2();
+lean_mark_persistent(l_Lean_Parser_Command_optKind___elambda__1___closed__2);
l_Lean_Parser_Command_optKind___closed__1 = _init_l_Lean_Parser_Command_optKind___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_optKind___closed__1);
l_Lean_Parser_Command_optKind___closed__2 = _init_l_Lean_Parser_Command_optKind___closed__2();
@@ -31820,6 +20545,10 @@ l_Lean_Parser_Command_notationItem___elambda__1___closed__3 = _init_l_Lean_Parse
lean_mark_persistent(l_Lean_Parser_Command_notationItem___elambda__1___closed__3);
l_Lean_Parser_Command_notationItem___elambda__1___closed__4 = _init_l_Lean_Parser_Command_notationItem___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Command_notationItem___elambda__1___closed__4);
+l_Lean_Parser_Command_notationItem___elambda__1___closed__5 = _init_l_Lean_Parser_Command_notationItem___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Command_notationItem___elambda__1___closed__5);
+l_Lean_Parser_Command_notationItem___elambda__1___closed__6 = _init_l_Lean_Parser_Command_notationItem___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Command_notationItem___elambda__1___closed__6);
l_Lean_Parser_Command_notationItem___closed__1 = _init_l_Lean_Parser_Command_notationItem___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_notationItem___closed__1);
l_Lean_Parser_Command_notationItem___closed__2 = _init_l_Lean_Parser_Command_notationItem___closed__2();
@@ -31850,6 +20579,18 @@ l_Lean_Parser_Command_notation___elambda__1___closed__7 = _init_l_Lean_Parser_Co
lean_mark_persistent(l_Lean_Parser_Command_notation___elambda__1___closed__7);
l_Lean_Parser_Command_notation___elambda__1___closed__8 = _init_l_Lean_Parser_Command_notation___elambda__1___closed__8();
lean_mark_persistent(l_Lean_Parser_Command_notation___elambda__1___closed__8);
+l_Lean_Parser_Command_notation___elambda__1___closed__9 = _init_l_Lean_Parser_Command_notation___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Command_notation___elambda__1___closed__9);
+l_Lean_Parser_Command_notation___elambda__1___closed__10 = _init_l_Lean_Parser_Command_notation___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_notation___elambda__1___closed__10);
+l_Lean_Parser_Command_notation___elambda__1___closed__11 = _init_l_Lean_Parser_Command_notation___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_notation___elambda__1___closed__11);
+l_Lean_Parser_Command_notation___elambda__1___closed__12 = _init_l_Lean_Parser_Command_notation___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_notation___elambda__1___closed__12);
+l_Lean_Parser_Command_notation___elambda__1___closed__13 = _init_l_Lean_Parser_Command_notation___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Command_notation___elambda__1___closed__13);
+l_Lean_Parser_Command_notation___elambda__1___closed__14 = _init_l_Lean_Parser_Command_notation___elambda__1___closed__14();
+lean_mark_persistent(l_Lean_Parser_Command_notation___elambda__1___closed__14);
l_Lean_Parser_Command_notation___closed__1 = _init_l_Lean_Parser_Command_notation___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_notation___closed__1);
l_Lean_Parser_Command_notation___closed__2 = _init_l_Lean_Parser_Command_notation___closed__2();
@@ -31971,6 +20712,10 @@ l_Lean_Parser_Command_macro__rules___elambda__1___closed__7 = _init_l_Lean_Parse
lean_mark_persistent(l_Lean_Parser_Command_macro__rules___elambda__1___closed__7);
l_Lean_Parser_Command_macro__rules___elambda__1___closed__8 = _init_l_Lean_Parser_Command_macro__rules___elambda__1___closed__8();
lean_mark_persistent(l_Lean_Parser_Command_macro__rules___elambda__1___closed__8);
+l_Lean_Parser_Command_macro__rules___elambda__1___closed__9 = _init_l_Lean_Parser_Command_macro__rules___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Command_macro__rules___elambda__1___closed__9);
+l_Lean_Parser_Command_macro__rules___elambda__1___closed__10 = _init_l_Lean_Parser_Command_macro__rules___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_macro__rules___elambda__1___closed__10);
l_Lean_Parser_Command_macro__rules___closed__1 = _init_l_Lean_Parser_Command_macro__rules___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_macro__rules___closed__1);
l_Lean_Parser_Command_macro__rules___closed__2 = _init_l_Lean_Parser_Command_macro__rules___closed__2();
@@ -32038,6 +20783,10 @@ l_Lean_Parser_Command_parserKind___elambda__1___closed__3 = _init_l_Lean_Parser_
lean_mark_persistent(l_Lean_Parser_Command_parserKind___elambda__1___closed__3);
l_Lean_Parser_Command_parserKind___elambda__1___closed__4 = _init_l_Lean_Parser_Command_parserKind___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Command_parserKind___elambda__1___closed__4);
+l_Lean_Parser_Command_parserKind___elambda__1___closed__5 = _init_l_Lean_Parser_Command_parserKind___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Command_parserKind___elambda__1___closed__5);
+l_Lean_Parser_Command_parserKind___elambda__1___closed__6 = _init_l_Lean_Parser_Command_parserKind___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Command_parserKind___elambda__1___closed__6);
l_Lean_Parser_Command_parserKind___closed__1 = _init_l_Lean_Parser_Command_parserKind___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_parserKind___closed__1);
l_Lean_Parser_Command_parserKind___closed__2 = _init_l_Lean_Parser_Command_parserKind___closed__2();
@@ -32058,6 +20807,10 @@ l_Lean_Parser_Command_parserPrio___elambda__1___closed__3 = _init_l_Lean_Parser_
lean_mark_persistent(l_Lean_Parser_Command_parserPrio___elambda__1___closed__3);
l_Lean_Parser_Command_parserPrio___elambda__1___closed__4 = _init_l_Lean_Parser_Command_parserPrio___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Command_parserPrio___elambda__1___closed__4);
+l_Lean_Parser_Command_parserPrio___elambda__1___closed__5 = _init_l_Lean_Parser_Command_parserPrio___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Command_parserPrio___elambda__1___closed__5);
+l_Lean_Parser_Command_parserPrio___elambda__1___closed__6 = _init_l_Lean_Parser_Command_parserPrio___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Command_parserPrio___elambda__1___closed__6);
l_Lean_Parser_Command_parserPrio___closed__1 = _init_l_Lean_Parser_Command_parserPrio___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_parserPrio___closed__1);
l_Lean_Parser_Command_parserPrio___closed__2 = _init_l_Lean_Parser_Command_parserPrio___closed__2();
@@ -32078,6 +20831,16 @@ l_Lean_Parser_Command_parserKindPrio___elambda__1___closed__3 = _init_l_Lean_Par
lean_mark_persistent(l_Lean_Parser_Command_parserKindPrio___elambda__1___closed__3);
l_Lean_Parser_Command_parserKindPrio___elambda__1___closed__4 = _init_l_Lean_Parser_Command_parserKindPrio___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Command_parserKindPrio___elambda__1___closed__4);
+l_Lean_Parser_Command_parserKindPrio___elambda__1___closed__5 = _init_l_Lean_Parser_Command_parserKindPrio___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Command_parserKindPrio___elambda__1___closed__5);
+l_Lean_Parser_Command_parserKindPrio___elambda__1___closed__6 = _init_l_Lean_Parser_Command_parserKindPrio___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Command_parserKindPrio___elambda__1___closed__6);
+l_Lean_Parser_Command_parserKindPrio___elambda__1___closed__7 = _init_l_Lean_Parser_Command_parserKindPrio___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Command_parserKindPrio___elambda__1___closed__7);
+l_Lean_Parser_Command_parserKindPrio___elambda__1___closed__8 = _init_l_Lean_Parser_Command_parserKindPrio___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Command_parserKindPrio___elambda__1___closed__8);
+l_Lean_Parser_Command_parserKindPrio___elambda__1___closed__9 = _init_l_Lean_Parser_Command_parserKindPrio___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Command_parserKindPrio___elambda__1___closed__9);
l_Lean_Parser_Command_parserKindPrio___closed__1 = _init_l_Lean_Parser_Command_parserKindPrio___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_parserKindPrio___closed__1);
l_Lean_Parser_Command_parserKindPrio___closed__2 = _init_l_Lean_Parser_Command_parserKindPrio___closed__2();
@@ -32094,6 +20857,14 @@ l_Lean_Parser_Command_parserKindPrio___closed__7 = _init_l_Lean_Parser_Command_p
lean_mark_persistent(l_Lean_Parser_Command_parserKindPrio___closed__7);
l_Lean_Parser_Command_parserKindPrio = _init_l_Lean_Parser_Command_parserKindPrio();
lean_mark_persistent(l_Lean_Parser_Command_parserKindPrio);
+l_Lean_Parser_Command_optKindPrio___elambda__1___closed__1 = _init_l_Lean_Parser_Command_optKindPrio___elambda__1___closed__1();
+lean_mark_persistent(l_Lean_Parser_Command_optKindPrio___elambda__1___closed__1);
+l_Lean_Parser_Command_optKindPrio___elambda__1___closed__2 = _init_l_Lean_Parser_Command_optKindPrio___elambda__1___closed__2();
+lean_mark_persistent(l_Lean_Parser_Command_optKindPrio___elambda__1___closed__2);
+l_Lean_Parser_Command_optKindPrio___elambda__1___closed__3 = _init_l_Lean_Parser_Command_optKindPrio___elambda__1___closed__3();
+lean_mark_persistent(l_Lean_Parser_Command_optKindPrio___elambda__1___closed__3);
+l_Lean_Parser_Command_optKindPrio___elambda__1___closed__4 = _init_l_Lean_Parser_Command_optKindPrio___elambda__1___closed__4();
+lean_mark_persistent(l_Lean_Parser_Command_optKindPrio___elambda__1___closed__4);
l_Lean_Parser_Command_optKindPrio___closed__1 = _init_l_Lean_Parser_Command_optKindPrio___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_optKindPrio___closed__1);
l_Lean_Parser_Command_optKindPrio___closed__2 = _init_l_Lean_Parser_Command_optKindPrio___closed__2();
@@ -32126,6 +20897,16 @@ l_Lean_Parser_Command_syntax___elambda__1___closed__7 = _init_l_Lean_Parser_Comm
lean_mark_persistent(l_Lean_Parser_Command_syntax___elambda__1___closed__7);
l_Lean_Parser_Command_syntax___elambda__1___closed__8 = _init_l_Lean_Parser_Command_syntax___elambda__1___closed__8();
lean_mark_persistent(l_Lean_Parser_Command_syntax___elambda__1___closed__8);
+l_Lean_Parser_Command_syntax___elambda__1___closed__9 = _init_l_Lean_Parser_Command_syntax___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Command_syntax___elambda__1___closed__9);
+l_Lean_Parser_Command_syntax___elambda__1___closed__10 = _init_l_Lean_Parser_Command_syntax___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_syntax___elambda__1___closed__10);
+l_Lean_Parser_Command_syntax___elambda__1___closed__11 = _init_l_Lean_Parser_Command_syntax___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_syntax___elambda__1___closed__11);
+l_Lean_Parser_Command_syntax___elambda__1___closed__12 = _init_l_Lean_Parser_Command_syntax___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_syntax___elambda__1___closed__12);
+l_Lean_Parser_Command_syntax___elambda__1___closed__13 = _init_l_Lean_Parser_Command_syntax___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Command_syntax___elambda__1___closed__13);
l_Lean_Parser_Command_syntax___closed__1 = _init_l_Lean_Parser_Command_syntax___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_syntax___closed__1);
l_Lean_Parser_Command_syntax___closed__2 = _init_l_Lean_Parser_Command_syntax___closed__2();
@@ -32263,6 +21044,16 @@ l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__3 = _init_l_Lean_Parse
lean_mark_persistent(l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__3);
l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__4 = _init_l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__4);
+l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__5 = _init_l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__5);
+l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__6 = _init_l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__6);
+l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__7 = _init_l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__7);
+l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__8 = _init_l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__8);
+l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__9 = _init_l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__9);
l_Lean_Parser_Command_syntaxAbbrev___closed__1 = _init_l_Lean_Parser_Command_syntaxAbbrev___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_syntaxAbbrev___closed__1);
l_Lean_Parser_Command_syntaxAbbrev___closed__2 = _init_l_Lean_Parser_Command_syntaxAbbrev___closed__2();
@@ -32332,6 +21123,8 @@ l_Lean_Parser_Command_syntaxCat___elambda__1___closed__8 = _init_l_Lean_Parser_C
lean_mark_persistent(l_Lean_Parser_Command_syntaxCat___elambda__1___closed__8);
l_Lean_Parser_Command_syntaxCat___elambda__1___closed__9 = _init_l_Lean_Parser_Command_syntaxCat___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Command_syntaxCat___elambda__1___closed__9);
+l_Lean_Parser_Command_syntaxCat___elambda__1___closed__10 = _init_l_Lean_Parser_Command_syntaxCat___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_syntaxCat___elambda__1___closed__10);
l_Lean_Parser_Command_syntaxCat___closed__1 = _init_l_Lean_Parser_Command_syntaxCat___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_syntaxCat___closed__1);
l_Lean_Parser_Command_syntaxCat___closed__2 = _init_l_Lean_Parser_Command_syntaxCat___closed__2();
@@ -32381,6 +21174,16 @@ l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__3 = _init_l_Lean_Par
lean_mark_persistent(l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__3);
l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__4 = _init_l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__4);
+l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__5 = _init_l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__5);
+l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__6 = _init_l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__6);
+l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__7 = _init_l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__7);
+l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__8 = _init_l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__8);
+l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__9 = _init_l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Command_macroArgSimple___elambda__1___closed__9);
l_Lean_Parser_Command_macroArgSimple___closed__1 = _init_l_Lean_Parser_Command_macroArgSimple___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_macroArgSimple___closed__1);
l_Lean_Parser_Command_macroArgSimple___closed__2 = _init_l_Lean_Parser_Command_macroArgSimple___closed__2();
@@ -32399,6 +21202,10 @@ l_Lean_Parser_Command_macroArgSimple___closed__8 = _init_l_Lean_Parser_Command_m
lean_mark_persistent(l_Lean_Parser_Command_macroArgSimple___closed__8);
l_Lean_Parser_Command_macroArgSimple = _init_l_Lean_Parser_Command_macroArgSimple();
lean_mark_persistent(l_Lean_Parser_Command_macroArgSimple);
+l_Lean_Parser_Command_macroArg___elambda__1___closed__1 = _init_l_Lean_Parser_Command_macroArg___elambda__1___closed__1();
+lean_mark_persistent(l_Lean_Parser_Command_macroArg___elambda__1___closed__1);
+l_Lean_Parser_Command_macroArg___elambda__1___closed__2 = _init_l_Lean_Parser_Command_macroArg___elambda__1___closed__2();
+lean_mark_persistent(l_Lean_Parser_Command_macroArg___elambda__1___closed__2);
l_Lean_Parser_Command_macroArg___closed__1 = _init_l_Lean_Parser_Command_macroArg___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_macroArg___closed__1);
l_Lean_Parser_Command_macroArg___closed__2 = _init_l_Lean_Parser_Command_macroArg___closed__2();
@@ -32407,6 +21214,8 @@ l_Lean_Parser_Command_macroArg___closed__3 = _init_l_Lean_Parser_Command_macroAr
lean_mark_persistent(l_Lean_Parser_Command_macroArg___closed__3);
l_Lean_Parser_Command_macroArg = _init_l_Lean_Parser_Command_macroArg();
lean_mark_persistent(l_Lean_Parser_Command_macroArg);
+l_Lean_Parser_Command_macroHead___elambda__1___closed__1 = _init_l_Lean_Parser_Command_macroHead___elambda__1___closed__1();
+lean_mark_persistent(l_Lean_Parser_Command_macroHead___elambda__1___closed__1);
l_Lean_Parser_Command_macroHead___closed__1 = _init_l_Lean_Parser_Command_macroHead___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_macroHead___closed__1);
l_Lean_Parser_Command_macroHead___closed__2 = _init_l_Lean_Parser_Command_macroHead___closed__2();
@@ -32415,6 +21224,12 @@ l_Lean_Parser_Command_macroHead___closed__3 = _init_l_Lean_Parser_Command_macroH
lean_mark_persistent(l_Lean_Parser_Command_macroHead___closed__3);
l_Lean_Parser_Command_macroHead = _init_l_Lean_Parser_Command_macroHead();
lean_mark_persistent(l_Lean_Parser_Command_macroHead);
+l_Lean_Parser_Command_macroTailTactic___elambda__1___closed__1 = _init_l_Lean_Parser_Command_macroTailTactic___elambda__1___closed__1();
+lean_mark_persistent(l_Lean_Parser_Command_macroTailTactic___elambda__1___closed__1);
+l_Lean_Parser_Command_macroTailTactic___elambda__1___closed__2 = _init_l_Lean_Parser_Command_macroTailTactic___elambda__1___closed__2();
+lean_mark_persistent(l_Lean_Parser_Command_macroTailTactic___elambda__1___closed__2);
+l_Lean_Parser_Command_macroTailTactic___elambda__1___closed__3 = _init_l_Lean_Parser_Command_macroTailTactic___elambda__1___closed__3();
+lean_mark_persistent(l_Lean_Parser_Command_macroTailTactic___elambda__1___closed__3);
l_Lean_Parser_Command_macroTailTactic___closed__1 = _init_l_Lean_Parser_Command_macroTailTactic___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_macroTailTactic___closed__1);
l_Lean_Parser_Command_macroTailTactic___closed__2 = _init_l_Lean_Parser_Command_macroTailTactic___closed__2();
@@ -32429,6 +21244,16 @@ l_Lean_Parser_Command_macroTailTactic___closed__6 = _init_l_Lean_Parser_Command_
lean_mark_persistent(l_Lean_Parser_Command_macroTailTactic___closed__6);
l_Lean_Parser_Command_macroTailTactic = _init_l_Lean_Parser_Command_macroTailTactic();
lean_mark_persistent(l_Lean_Parser_Command_macroTailTactic);
+l_Lean_Parser_Command_macroTailCommand___elambda__1___closed__1 = _init_l_Lean_Parser_Command_macroTailCommand___elambda__1___closed__1();
+lean_mark_persistent(l_Lean_Parser_Command_macroTailCommand___elambda__1___closed__1);
+l_Lean_Parser_Command_macroTailCommand___elambda__1___closed__2 = _init_l_Lean_Parser_Command_macroTailCommand___elambda__1___closed__2();
+lean_mark_persistent(l_Lean_Parser_Command_macroTailCommand___elambda__1___closed__2);
+l_Lean_Parser_Command_macroTailCommand___elambda__1___closed__3 = _init_l_Lean_Parser_Command_macroTailCommand___elambda__1___closed__3();
+lean_mark_persistent(l_Lean_Parser_Command_macroTailCommand___elambda__1___closed__3);
+l_Lean_Parser_Command_macroTailCommand___elambda__1___closed__4 = _init_l_Lean_Parser_Command_macroTailCommand___elambda__1___closed__4();
+lean_mark_persistent(l_Lean_Parser_Command_macroTailCommand___elambda__1___closed__4);
+l_Lean_Parser_Command_macroTailCommand___elambda__1___closed__5 = _init_l_Lean_Parser_Command_macroTailCommand___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Command_macroTailCommand___elambda__1___closed__5);
l_Lean_Parser_Command_macroTailCommand___closed__1 = _init_l_Lean_Parser_Command_macroTailCommand___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_macroTailCommand___closed__1);
l_Lean_Parser_Command_macroTailCommand___closed__2 = _init_l_Lean_Parser_Command_macroTailCommand___closed__2();
@@ -32437,6 +21262,12 @@ l_Lean_Parser_Command_macroTailCommand = _init_l_Lean_Parser_Command_macroTailCo
lean_mark_persistent(l_Lean_Parser_Command_macroTailCommand);
l_Lean_Parser_Command_macroTailDefault___elambda__1___closed__1 = _init_l_Lean_Parser_Command_macroTailDefault___elambda__1___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_macroTailDefault___elambda__1___closed__1);
+l_Lean_Parser_Command_macroTailDefault___elambda__1___closed__2 = _init_l_Lean_Parser_Command_macroTailDefault___elambda__1___closed__2();
+lean_mark_persistent(l_Lean_Parser_Command_macroTailDefault___elambda__1___closed__2);
+l_Lean_Parser_Command_macroTailDefault___elambda__1___closed__3 = _init_l_Lean_Parser_Command_macroTailDefault___elambda__1___closed__3();
+lean_mark_persistent(l_Lean_Parser_Command_macroTailDefault___elambda__1___closed__3);
+l_Lean_Parser_Command_macroTailDefault___elambda__1___closed__4 = _init_l_Lean_Parser_Command_macroTailDefault___elambda__1___closed__4();
+lean_mark_persistent(l_Lean_Parser_Command_macroTailDefault___elambda__1___closed__4);
l_Lean_Parser_Command_macroTailDefault___closed__1 = _init_l_Lean_Parser_Command_macroTailDefault___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_macroTailDefault___closed__1);
l_Lean_Parser_Command_macroTailDefault___closed__2 = _init_l_Lean_Parser_Command_macroTailDefault___closed__2();
@@ -32445,6 +21276,8 @@ l_Lean_Parser_Command_macroTailDefault___closed__3 = _init_l_Lean_Parser_Command
lean_mark_persistent(l_Lean_Parser_Command_macroTailDefault___closed__3);
l_Lean_Parser_Command_macroTailDefault = _init_l_Lean_Parser_Command_macroTailDefault();
lean_mark_persistent(l_Lean_Parser_Command_macroTailDefault);
+l_Lean_Parser_Command_macroTail___elambda__1___closed__1 = _init_l_Lean_Parser_Command_macroTail___elambda__1___closed__1();
+lean_mark_persistent(l_Lean_Parser_Command_macroTail___elambda__1___closed__1);
l_Lean_Parser_Command_macroTail___closed__1 = _init_l_Lean_Parser_Command_macroTail___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_macroTail___closed__1);
l_Lean_Parser_Command_macroTail___closed__2 = _init_l_Lean_Parser_Command_macroTail___closed__2();
@@ -32473,6 +21306,16 @@ l_Lean_Parser_Command_macro___elambda__1___closed__8 = _init_l_Lean_Parser_Comma
lean_mark_persistent(l_Lean_Parser_Command_macro___elambda__1___closed__8);
l_Lean_Parser_Command_macro___elambda__1___closed__9 = _init_l_Lean_Parser_Command_macro___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Command_macro___elambda__1___closed__9);
+l_Lean_Parser_Command_macro___elambda__1___closed__10 = _init_l_Lean_Parser_Command_macro___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_macro___elambda__1___closed__10);
+l_Lean_Parser_Command_macro___elambda__1___closed__11 = _init_l_Lean_Parser_Command_macro___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_macro___elambda__1___closed__11);
+l_Lean_Parser_Command_macro___elambda__1___closed__12 = _init_l_Lean_Parser_Command_macro___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_macro___elambda__1___closed__12);
+l_Lean_Parser_Command_macro___elambda__1___closed__13 = _init_l_Lean_Parser_Command_macro___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Command_macro___elambda__1___closed__13);
+l_Lean_Parser_Command_macro___elambda__1___closed__14 = _init_l_Lean_Parser_Command_macro___elambda__1___closed__14();
+lean_mark_persistent(l_Lean_Parser_Command_macro___elambda__1___closed__14);
l_Lean_Parser_Command_macro___closed__1 = _init_l_Lean_Parser_Command_macro___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_macro___closed__1);
l_Lean_Parser_Command_macro___closed__2 = _init_l_Lean_Parser_Command_macro___closed__2();
@@ -32690,6 +21533,14 @@ l_Lean_Parser_Command_elab__rules___elambda__1___closed__7 = _init_l_Lean_Parser
lean_mark_persistent(l_Lean_Parser_Command_elab__rules___elambda__1___closed__7);
l_Lean_Parser_Command_elab__rules___elambda__1___closed__8 = _init_l_Lean_Parser_Command_elab__rules___elambda__1___closed__8();
lean_mark_persistent(l_Lean_Parser_Command_elab__rules___elambda__1___closed__8);
+l_Lean_Parser_Command_elab__rules___elambda__1___closed__9 = _init_l_Lean_Parser_Command_elab__rules___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Command_elab__rules___elambda__1___closed__9);
+l_Lean_Parser_Command_elab__rules___elambda__1___closed__10 = _init_l_Lean_Parser_Command_elab__rules___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_elab__rules___elambda__1___closed__10);
+l_Lean_Parser_Command_elab__rules___elambda__1___closed__11 = _init_l_Lean_Parser_Command_elab__rules___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_elab__rules___elambda__1___closed__11);
+l_Lean_Parser_Command_elab__rules___elambda__1___closed__12 = _init_l_Lean_Parser_Command_elab__rules___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_elab__rules___elambda__1___closed__12);
l_Lean_Parser_Command_elab__rules___closed__1 = _init_l_Lean_Parser_Command_elab__rules___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_elab__rules___closed__1);
l_Lean_Parser_Command_elab__rules___closed__2 = _init_l_Lean_Parser_Command_elab__rules___closed__2();
@@ -32763,6 +21614,10 @@ l_Lean_Parser_Command_elabTail___elambda__1___closed__3 = _init_l_Lean_Parser_Co
lean_mark_persistent(l_Lean_Parser_Command_elabTail___elambda__1___closed__3);
l_Lean_Parser_Command_elabTail___elambda__1___closed__4 = _init_l_Lean_Parser_Command_elabTail___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Command_elabTail___elambda__1___closed__4);
+l_Lean_Parser_Command_elabTail___elambda__1___closed__5 = _init_l_Lean_Parser_Command_elabTail___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Command_elabTail___elambda__1___closed__5);
+l_Lean_Parser_Command_elabTail___elambda__1___closed__6 = _init_l_Lean_Parser_Command_elabTail___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Command_elabTail___elambda__1___closed__6);
l_Lean_Parser_Command_elabTail___closed__1 = _init_l_Lean_Parser_Command_elabTail___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_elabTail___closed__1);
l_Lean_Parser_Command_elabTail___closed__2 = _init_l_Lean_Parser_Command_elabTail___closed__2();
@@ -32799,6 +21654,16 @@ l_Lean_Parser_Command_elab___elambda__1___closed__8 = _init_l_Lean_Parser_Comman
lean_mark_persistent(l_Lean_Parser_Command_elab___elambda__1___closed__8);
l_Lean_Parser_Command_elab___elambda__1___closed__9 = _init_l_Lean_Parser_Command_elab___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Command_elab___elambda__1___closed__9);
+l_Lean_Parser_Command_elab___elambda__1___closed__10 = _init_l_Lean_Parser_Command_elab___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Command_elab___elambda__1___closed__10);
+l_Lean_Parser_Command_elab___elambda__1___closed__11 = _init_l_Lean_Parser_Command_elab___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Command_elab___elambda__1___closed__11);
+l_Lean_Parser_Command_elab___elambda__1___closed__12 = _init_l_Lean_Parser_Command_elab___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Command_elab___elambda__1___closed__12);
+l_Lean_Parser_Command_elab___elambda__1___closed__13 = _init_l_Lean_Parser_Command_elab___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Command_elab___elambda__1___closed__13);
+l_Lean_Parser_Command_elab___elambda__1___closed__14 = _init_l_Lean_Parser_Command_elab___elambda__1___closed__14();
+lean_mark_persistent(l_Lean_Parser_Command_elab___elambda__1___closed__14);
l_Lean_Parser_Command_elab___closed__1 = _init_l_Lean_Parser_Command_elab___closed__1();
lean_mark_persistent(l_Lean_Parser_Command_elab___closed__1);
l_Lean_Parser_Command_elab___closed__2 = _init_l_Lean_Parser_Command_elab___closed__2();
diff --git a/stage0/stdlib/Lean/Parser/Tactic.c b/stage0/stdlib/Lean/Parser/Tactic.c
index 8bfce4f687..25d41b972b 100644
--- a/stage0/stdlib/Lean/Parser/Tactic.c
+++ b/stage0/stdlib/Lean/Parser/Tactic.c
@@ -33,7 +33,6 @@ extern lean_object* l_Lean_Parser_Term_tupleTail_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Tactic_refine___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_traceState___elambda__1___closed__7;
lean_object* l___regBuiltin_Lean_Parser_Tactic_intro_parenthesizer(lean_object*);
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_rwRuleSeq___elambda__1___spec__2(uint8_t, lean_object*, uint8_t, lean_object*, lean_object*);
lean_object* l___regBuiltinParser_Lean_Parser_Tactic_failIfSuccess(lean_object*);
lean_object* l_Lean_Parser_Tactic_apply_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__3;
@@ -46,15 +45,18 @@ lean_object* l_Lean_Parser_Tactic_let_x21;
lean_object* l_Lean_Parser_Tactic_generalize_parenthesizer___closed__10;
lean_object* l_Lean_Parser_Tactic_allGoals___elambda__1___closed__1;
lean_object* l_Lean_Parser_Tactic_induction___closed__1;
+lean_object* l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__13;
lean_object* l_Lean_Parser_Tactic_skip_formatter___closed__3;
lean_object* l_Lean_Parser_Tactic_intros_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_generalize___closed__8;
+lean_object* l_Lean_Parser_Tactic_refine___elambda__1___closed__9;
lean_object* l_Lean_Parser_Tactic_cases___closed__6;
lean_object* l___regBuiltin_Lean_Parser_Tactic_allGoals_formatter(lean_object*);
lean_object* l_Lean_Parser_Tactic_rewrite_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_suffices___elambda__1___closed__2;
lean_object* l_Lean_Parser_Tactic_show_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_done___elambda__1___closed__1;
+lean_object* l_Lean_Parser_Tactic_induction___elambda__1___closed__11;
lean_object* l_Lean_Parser_Tactic_match___closed__7;
lean_object* l_Lean_Parser_Tactic_locationTarget_formatter___closed__2;
lean_object* l_Lean_Parser_Tactic_injection_parenthesizer___closed__5;
@@ -62,7 +64,7 @@ lean_object* l___regBuiltin_Lean_Parser_Tactic_match_formatter(lean_object*);
lean_object* l_Lean_Parser_Tactic_let___elambda__1___closed__2;
lean_object* l_Lean_PrettyPrinter_Formatter_visitArgs(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_admit___closed__3;
-extern lean_object* l_Lean_Parser_manyAux___main___closed__1;
+lean_object* l_Lean_Parser_Tactic_skip___elambda__1___closed__10;
lean_object* l_Lean_Parser_Tactic_subst_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Tactic_rewrite___elambda__1___closed__7;
lean_object* l_Lean_Parser_Tactic_subst___elambda__1___closed__7;
@@ -79,6 +81,7 @@ lean_object* l_Lean_Parser_Tactic_generalize___closed__1;
lean_object* l_Lean_Parser_Tactic_intro___closed__8;
lean_object* l_Lean_Parser_Tactic_match;
lean_object* l_Lean_Parser_Tactic_inductionAlt___closed__11;
+lean_object* l_Lean_Parser_Tactic_generalize___elambda__1___closed__23;
lean_object* l_Lean_Parser_Tactic_induction_parenthesizer___closed__6;
lean_object* l_Lean_Parser_Tactic_rwRule___elambda__1___closed__13;
lean_object* l_Lean_Parser_Tactic_revert_parenthesizer___closed__1;
@@ -90,51 +93,60 @@ lean_object* l_Lean_Parser_ParserState_mkError(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_traceState_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Tactic_rwRuleSeq_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Tactic_apply___closed__2;
+extern lean_object* l_Lean_Parser_Term_optType___closed__2;
lean_object* l_Lean_Parser_Tactic_let_x21_formatter___closed__1;
lean_object* l_Lean_Parser_Tactic_rewrite_formatter___closed__10;
lean_object* l_Lean_Parser_Tactic_matchAlts___closed__3;
lean_object* l_Lean_Parser_Tactic_change_parenthesizer___closed__6;
+lean_object* l_Lean_Parser_Tactic_generalize___elambda__1___closed__13;
lean_object* l_Lean_Parser_Tactic_induction_formatter___closed__10;
lean_object* l_Lean_Parser_Tactic_admit_formatter___closed__3;
extern lean_object* l_Lean_Parser_Term_explicit___closed__2;
lean_object* l_Lean_Parser_Tactic_traceState_parenthesizer___closed__1;
extern lean_object* l_Lean_Parser_Term_suffices_parenthesizer___closed__3;
lean_object* l___regBuiltinParser_Lean_Parser_Tactic_have(lean_object*);
+lean_object* l_Lean_Parser_Tactic_exact___elambda__1___closed__11;
extern lean_object* l_Lean_Parser_Term_matchAlt___closed__3;
lean_object* l_Lean_Parser_Tactic_nestedTactic;
extern lean_object* l_Lean_Parser_Term_structInst___closed__1;
lean_object* l_Lean_Parser_Tactic_let_x21___closed__1;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_rwRuleSeq___elambda__1___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_skip___closed__6;
lean_object* l_Lean_Parser_Tactic_rewrite_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Tactic_clear___elambda__1___closed__2;
+lean_object* l_Lean_Parser_Tactic_intro___elambda__1___closed__16;
lean_object* l_Lean_Parser_Tactic_location_formatter___closed__9;
+lean_object* l_Lean_Parser_Tactic_rewrite___elambda__1___closed__16;
lean_object* l_Lean_Parser_Tactic_have___closed__4;
lean_object* l_Lean_Parser_Tactic_generalize___closed__2;
lean_object* l_Lean_Parser_Tactic_matchAlt___closed__6;
+lean_object* l_Lean_Parser_Tactic_altRHS___elambda__1___closed__1;
extern lean_object* l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__3;
+lean_object* l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__7;
lean_object* l_Lean_Parser_Tactic_allGoals___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_locationWildcard_parenthesizer___closed__2;
-extern lean_object* l_Lean_Parser_notFollowedByFn___closed__1;
lean_object* l_Lean_Parser_Tactic_traceState_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_intros___elambda__1___closed__5;
lean_object* l_Lean_Parser_Tactic_intro___closed__9;
extern lean_object* l_Lean_nullKind;
lean_object* l_Lean_Parser_Tactic_admit___closed__5;
lean_object* l_Lean_Parser_Tactic_intros___elambda__1___closed__3;
+lean_object* l_Lean_Parser_Tactic_change___elambda__1___closed__12;
lean_object* l_Lean_Parser_Tactic_matchAlts_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Tactic_focus___elambda__1___closed__7;
lean_object* l_Lean_Parser_Tactic_orelse___closed__1;
lean_object* l_Lean_Parser_Tactic_failIfSuccess___closed__6;
+lean_object* l_Lean_Parser_Tactic_injection___elambda__1___closed__12;
+lean_object* l_Lean_Parser_notFollowedByFn___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Tactic_orelse_parenthesizer___closed__1;
extern lean_object* l_Lean_Parser_Term_suffices___closed__2;
+extern lean_object* l_Lean_Parser_Term_explicit___elambda__1___closed__8;
lean_object* l_Lean_Parser_Tactic_underscore___closed__2;
lean_object* l_Lean_Parser_Tactic_location___closed__7;
lean_object* l_Lean_Parser_Tactic_rwRule___elambda__1___closed__9;
lean_object* l_Lean_Parser_Tactic_majorPremise___closed__4;
lean_object* l_Lean_Parser_Tactic_introMatch_parenthesizer___closed__1;
+extern lean_object* l_Lean_Parser_Term_matchAlts___closed__13;
lean_object* l_Lean_Parser_Tactic_generalize___closed__6;
-extern lean_object* l_Lean_Parser_Term_have___elambda__1___closed__10;
lean_object* l_Lean_Parser_Tactic_location_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_changeWith___elambda__1___closed__2;
lean_object* l_Lean_Parser_Tactic_majorPremise___closed__1;
@@ -150,13 +162,16 @@ lean_object* l_Lean_Parser_Tactic_clear_parenthesizer___closed__2;
lean_object* l_Lean_PrettyPrinter_Formatter_many_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_injection___closed__2;
lean_object* l___regBuiltin_Lean_Parser_Tactic_rewriteSeq_parenthesizer___closed__1;
+lean_object* l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__12;
lean_object* l_Lean_Parser_Tactic_rwRule___closed__4;
lean_object* l_Lean_Parser_Tactic_locationWildcard___closed__1;
lean_object* l_Lean_Parser_Tactic_inductionAlt_formatter___closed__1;
lean_object* l_Lean_Parser_Tactic_rwRule___elambda__1___closed__4;
+lean_object* l_Lean_Parser_Tactic_match___elambda__1___closed__7;
lean_object* l_Lean_Parser_Tactic_have_formatter___closed__2;
lean_object* l_Lean_Parser_Tactic_changeWith;
lean_object* l_Lean_Parser_Tactic_revert___elambda__1___closed__6;
+lean_object* l_Lean_Parser_Tactic_case___elambda__1___closed__10;
lean_object* l_Lean_Parser_Tactic_majorPremise_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Tactic_paren_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Tactic_rwRuleSeq___closed__8;
@@ -200,23 +215,25 @@ lean_object* l_Lean_Parser_Tactic_changeWith___elambda__1___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Tactic_have_parenthesizer(lean_object*);
lean_object* l___regBuiltinParser_Lean_Parser_Tactic_introMatch(lean_object*);
lean_object* l_Lean_Parser_Tactic_clear_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_Term_hole___elambda__1(lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Tactic_skip_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Tactic_intro_parenthesizer___closed__4;
lean_object* l_Lean_Parser_Tactic_rwRuleSeq___closed__2;
extern lean_object* l_Lean_Parser_Term_match___elambda__1___closed__1;
lean_object* l_Lean_Parser_Tactic_refine_x21___closed__7;
lean_object* l_Lean_Parser_Tactic_refine_x21_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+extern lean_object* l_Lean_Parser_Term_match___elambda__1___closed__17;
lean_object* l_Lean_Parser_Tactic_intro___elambda__1___closed__7;
lean_object* l_Lean_Parser_Tactic_inductionAlt___closed__8;
lean_object* l_Lean_Parser_Tactic_rwRule___elambda__1___closed__6;
lean_object* l_Lean_Parser_Tactic_apply_formatter___closed__3;
lean_object* l_Lean_Parser_Tactic_generalizingVars_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_withAlts___closed__4;
+lean_object* l_Lean_Parser_Tactic_apply___elambda__1___closed__11;
lean_object* l_Lean_Parser_Tactic_locationHyp_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_rewrite___closed__6;
lean_object* l_Lean_Parser_Tactic_location___closed__3;
extern lean_object* l_Lean_Parser_Term_subst___elambda__1___closed__1;
+extern lean_object* l_Lean_Parser_Term_match___elambda__1___closed__8;
lean_object* l_Lean_Parser_Tactic_withAlts___closed__1;
lean_object* l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__4;
lean_object* l_Lean_Parser_Tactic_subst_parenthesizer___closed__1;
@@ -234,19 +251,22 @@ lean_object* l_Lean_Parser_Tactic_inductionAlts;
lean_object* l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__2;
lean_object* l_Lean_Parser_Tactic_revert_formatter___closed__1;
lean_object* l_Lean_Parser_ParserState_pushSyntax(lean_object*, lean_object*);
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_revert___elambda__1___spec__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Tactic_withAlts___elambda__1___closed__1;
lean_object* l_Lean_Parser_Tactic_cases_formatter___closed__3;
+lean_object* l_Lean_Parser_Tactic_let___elambda__1___closed__4;
lean_object* l_Lean_Parser_Tactic_let___closed__2;
lean_object* l_Lean_PrettyPrinter_Formatter_orelse_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Tactic_show___elambda__1___closed__4;
lean_object* l___regBuiltinParser_Lean_Parser_Tactic_nestedTactic___closed__1;
+lean_object* l_Lean_Parser_Tactic_assumption___elambda__1___closed__10;
extern lean_object* l_Lean_Parser_ident;
lean_object* l_Lean_Parser_Tactic_rwRule_formatter___closed__4;
lean_object* l_Lean_Parser_Tactic_intro_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Tactic_apply_formatter___closed__2;
lean_object* l_Lean_Parser_Tactic_subst___elambda__1___closed__2;
+lean_object* l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__8;
lean_object* l_Lean_Parser_Tactic_change___closed__4;
extern lean_object* l_Lean_Parser_Term_show___elambda__1___closed__6;
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Tactic_matchAlts___elambda__1___spec__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_induction___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_failIfSuccess___closed__2;
lean_object* l_Lean_Parser_Tactic_refine_formatter___closed__4;
@@ -260,6 +280,8 @@ lean_object* l___regBuiltin_Lean_Parser_Tactic_have_formatter___closed__1;
lean_object* l_Lean_Parser_Tactic_change_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Tactic_injection___closed__8;
lean_object* l_Lean_Parser_Tactic_changeWith___closed__5;
+lean_object* l_Lean_Parser_nonReservedSymbolFn(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Tactic_rewrite___elambda__1___closed__14;
lean_object* l_Lean_Parser_Tactic_matchAlts___closed__1;
lean_object* l_Lean_Parser_Tactic_paren_parenthesizer___closed__2;
lean_object* l_Lean_Parser_ParserState_mkNode(lean_object*, lean_object*, lean_object*);
@@ -267,19 +289,22 @@ lean_object* l_Lean_Parser_Tactic_apply___closed__4;
lean_object* l_Lean_Parser_Tactic_orelse_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_focus___elambda__1___closed__3;
lean_object* l_Lean_Parser_Tactic_allGoals___elambda__1___closed__6;
+extern lean_object* l_Lean_Parser_Term_tupleTail___elambda__1___closed__6;
lean_object* l_Lean_Parser_Tactic_done_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_exact___elambda__1___closed__6;
lean_object* l_Lean_Parser_Tactic_change___closed__1;
extern lean_object* l_Lean_Parser_darrow;
+lean_object* l_Lean_Parser_Tactic_locationHyp___elambda__1___closed__5;
+lean_object* l_Lean_Parser_Tactic_intros___elambda__1___closed__14;
extern lean_object* l_Lean_Parser_antiquotNestedExpr_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Tactic_introMatch___closed__3;
lean_object* l_Lean_PrettyPrinter_Formatter_unicodeSymbol_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+extern lean_object* l_Lean_Parser_Term_matchAlts___closed__6;
lean_object* l_Lean_Parser_Tactic_inductionAlt___closed__4;
lean_object* l_Lean_Parser_Tactic_inductionAlt;
lean_object* l_Lean_Parser_Tactic_assumption_formatter___closed__3;
lean_object* l_Lean_Parser_Tactic_generalizingVars_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Tactic_skip_parenthesizer___closed__1;
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Tactic_rwRuleSeq___elambda__1___spec__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_matchAlts___closed__4;
lean_object* l_Lean_Parser_Tactic_injection_formatter___closed__3;
lean_object* l_Lean_Parser_Tactic_clear___elambda__1___closed__7;
@@ -289,17 +314,18 @@ lean_object* l_Lean_Parser_Tactic_rewrite_parenthesizer___closed__8;
lean_object* l_Lean_Parser_Tactic_have___closed__2;
lean_object* l_Lean_Parser_Tactic_done_formatter___closed__2;
lean_object* l_Lean_Parser_Tactic_injection_parenthesizer___closed__4;
-extern lean_object* l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
lean_object* l_Lean_Parser_Tactic_underscore;
lean_object* l_Lean_Parser_Tactic_induction_formatter___closed__6;
lean_object* l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__1;
lean_object* l_Lean_Parser_Tactic_traceState___elambda__1___closed__4;
lean_object* l_Lean_Parser_Tactic_rwRule___closed__8;
+lean_object* l_Lean_Parser_notFollowedByFn(lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Tactic_generalize___elambda__1___closed__16;
lean_object* l_Lean_mkIdentFrom(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_match_formatter___closed__1;
-extern lean_object* l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
lean_object* l_Lean_Parser_Tactic_traceState___elambda__1___closed__1;
lean_object* l_Lean_Parser_Tactic_inductionAlt_formatter___closed__5;
+lean_object* l_Lean_Parser_orelseFn(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_injection___closed__4;
lean_object* l_Lean_Parser_Tactic_admit___elambda__1___closed__4;
lean_object* l_Lean_Parser_Tactic_inductionAlt_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -310,6 +336,7 @@ lean_object* l_Lean_Parser_Tactic_clear___elambda__1___closed__5;
lean_object* l_Lean_Parser_Tactic_change_formatter___closed__2;
lean_object* l_Lean_Parser_Tactic_paren___elambda__1(lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Tactic_injection_formatter(lean_object*);
+lean_object* l_Lean_Parser_Tactic_induction___elambda__1___closed__10;
lean_object* l_Lean_Parser_ParserState_mkTrailingNode(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_cases___closed__5;
lean_object* l_Lean_Parser_Tactic_failIfSuccess_parenthesizer___closed__2;
@@ -317,9 +344,7 @@ lean_object* l_Lean_Parser_Tactic_location_formatter___closed__5;
lean_object* l_Lean_Parser_Tactic_rwRuleSeq___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_refine___closed__5;
lean_object* l_Lean_Parser_Tactic_majorPremise___elambda__1(lean_object*, lean_object*);
-extern lean_object* l_Lean_Parser_Term_let___elambda__1___closed__7;
lean_object* l_Lean_Parser_Tactic_rwRule_formatter___closed__5;
-extern lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__2;
lean_object* l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__1;
lean_object* l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__4;
lean_object* l_Lean_Parser_Tactic_exact___closed__1;
@@ -336,6 +361,8 @@ lean_object* l_Lean_Parser_Tactic_let___elambda__1___closed__1;
lean_object* l_Lean_Parser_Tactic_focus___elambda__1___closed__5;
extern lean_object* l_Lean_Parser_Tactic_seq1;
extern lean_object* l_Lean_Parser_Term_subtype_formatter___closed__6;
+extern lean_object* l_Lean_Parser_Term_syntheticHole___closed__7;
+lean_object* l_Lean_Parser_Tactic_rewrite___elambda__1___closed__15;
lean_object* l_Lean_Parser_Tactic_refine_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Tactic_revert_formatter(lean_object*);
extern lean_object* l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
@@ -345,29 +372,37 @@ lean_object* l_Lean_Parser_Tactic_induction_formatter___closed__5;
extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___lambda__1___closed__2;
lean_object* l_Lean_Parser_Tactic_matchAlts_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_generalize___elambda__1___closed__5;
+lean_object* l_Lean_Parser_Tactic_suffices___elambda__1___closed__4;
lean_object* l_Lean_Parser_Tactic_focus_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Tactic_withIds___closed__2;
-lean_object* l_Lean_Parser_tokenFn(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Tactic_subst___elambda__1___closed__8;
lean_object* l_Lean_Parser_Tactic_changeWith_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Tactic_show___elambda__1___closed__2;
lean_object* l_Lean_Parser_Tactic_introMatch_parenthesizer___closed__2;
-extern lean_object* l_Lean_Parser_Term_let_x21___elambda__1___closed__9;
+lean_object* l_Lean_Parser_Tactic_rewrite___elambda__1___closed__13;
lean_object* l_Lean_Parser_Tactic_change___closed__9;
+lean_object* l_Lean_Parser_Tactic_generalize___elambda__1___closed__14;
lean_object* l___regBuiltin_Lean_Parser_Tactic_let_x21_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Tactic_subst___closed__4;
lean_object* l_Lean_Parser_Tactic_usingRec___elambda__1___closed__2;
lean_object* l_Lean_Parser_Tactic_induction_parenthesizer___closed__1;
+lean_object* l_Lean_Parser_Tactic_change___elambda__1___closed__11;
lean_object* l_Lean_Parser_Tactic_altRHS___closed__3;
lean_object* l___regBuiltin_Lean_Parser_Tactic_revert_parenthesizer(lean_object*);
+lean_object* l_Lean_Parser_Tactic_admit___elambda__1___closed__8;
lean_object* l_Lean_Parser_Tactic_intros___closed__5;
lean_object* l_Lean_Parser_Tactic_injection_formatter___closed__5;
+lean_object* l_Lean_Parser_Tactic_locationHyp___elambda__1___closed__7;
lean_object* l_Lean_Parser_Tactic_assumption___elambda__1___closed__2;
lean_object* l_Lean_Parser_Tactic_generalize_parenthesizer___closed__3;
+lean_object* l_Lean_Parser_Tactic_generalize___elambda__1___closed__15;
lean_object* l_Lean_Parser_Tactic_matchAlt___closed__4;
lean_object* l_Lean_PrettyPrinter_Formatter_try_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_done_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Tactic_introMatch___elambda__1___closed__7;
lean_object* l_Lean_Parser_Tactic_location_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Tactic_generalize___elambda__1___closed__18;
lean_object* l_Lean_Parser_Tactic_cases___closed__3;
extern lean_object* l_Lean_Parser_Term_eq___elambda__1___closed__3;
lean_object* l_Lean_Parser_Tactic_inductionAlts_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -383,15 +418,17 @@ lean_object* l___regBuiltin_Lean_Parser_Tactic_assumption_parenthesizer(lean_obj
lean_object* l_Lean_Parser_Tactic_match_formatter___closed__2;
lean_object* l_Lean_Parser_Tactic_refine_x21___elambda__1(lean_object*, lean_object*);
extern lean_object* l_Lean_Parser_Term_app_formatter___closed__5;
+extern lean_object* l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__16;
lean_object* l_Lean_Parser_Tactic_revert___closed__1;
lean_object* l_Lean_Parser_Tactic_location___elambda__1___closed__4;
+lean_object* l_Lean_Parser_Tactic_suffices___elambda__1___closed__7;
lean_object* l_Lean_Parser_Tactic_skip___closed__1;
lean_object* l_Lean_Parser_Tactic_intro___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_sufficesDecl___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_rwRule_formatter___closed__3;
extern lean_object* l_Lean_Parser_antiquotNestedExpr_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Tactic_have;
-lean_object* l_Lean_Parser_ParserState_mkErrorsAt(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Tactic_generalize___elambda__1___closed__22;
lean_object* l_Lean_Parser_mkAntiquot_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_assumption_parenthesizer___closed__1;
lean_object* l_Lean_Parser_leadingNode_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -401,10 +438,14 @@ lean_object* l_Lean_Parser_Tactic_orelse___closed__5;
lean_object* l_Lean_Parser_Tactic_withIds;
lean_object* l_Lean_Parser_Tactic_suffices___closed__4;
lean_object* l_Lean_Parser_Tactic_usingRec_formatter___closed__2;
+lean_object* l_Lean_Parser_Tactic_admit___elambda__1___closed__9;
+lean_object* l_Lean_Parser_Tactic_intro___elambda__1___closed__18;
+lean_object* l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__6;
lean_object* l_Lean_Parser_Tactic_refine___elambda__1___closed__8;
lean_object* l___regBuiltin_Lean_Parser_Tactic_refine_x21_formatter___closed__1;
lean_object* l_Lean_Parser_Tactic_revert___closed__4;
lean_object* l_Lean_Parser_Tactic_majorPremise_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+extern lean_object* l_Lean_ppGoal___closed__6;
lean_object* l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_location___elambda__1___closed__9;
lean_object* l_Lean_Parser_Tactic_ident_x27___elambda__1(lean_object*, lean_object*);
@@ -415,7 +456,7 @@ lean_object* l_Lean_Parser_Tactic_majorPremise_formatter___closed__1;
lean_object* l_Lean_Parser_Tactic_location___closed__5;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_refine_x21_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_withIds___elambda__1___spec__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Tactic_changeWith___elambda__1___closed__6;
lean_object* l___regBuiltin_Lean_Parser_Tactic_refine_x21_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Tactic_intro_formatter___closed__6;
lean_object* l_Lean_Parser_Tactic_injection___closed__1;
@@ -424,9 +465,11 @@ lean_object* l_Lean_Parser_Tactic_failIfSuccess_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Tactic_done___closed__3;
lean_object* l_Lean_Parser_Tactic_cases___closed__1;
lean_object* l_Lean_Parser_Tactic_subst_formatter___closed__3;
+lean_object* l_Lean_Parser_Tactic_matchAlts___elambda__1___closed__1;
lean_object* l_Lean_Parser_Tactic_failIfSuccess_formatter___closed__2;
lean_object* l_Lean_Parser_Tactic_generalize_parenthesizer___closed__5;
lean_object* l_Lean_Parser_Tactic_usingRec_formatter___closed__1;
+lean_object* l_Lean_Parser_Tactic_case___elambda__1___closed__9;
lean_object* l___regBuiltin_Lean_Parser_Tactic_failIfSuccess_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Tactic_usingRec___closed__4;
lean_object* l_Lean_Parser_Tactic_withIds___closed__1;
@@ -442,6 +485,7 @@ lean_object* l_Lean_Parser_Tactic_apply___closed__5;
lean_object* l_Lean_Parser_Tactic_done_formatter___closed__1;
lean_object* l_Lean_Parser_Tactic_case___elambda__1___closed__3;
lean_object* l_Lean_Parser_Tactic_focus___closed__2;
+lean_object* l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__15;
lean_object* l_Lean_Parser_Tactic_changeWith_formatter___closed__3;
lean_object* l_Lean_Parser_Tactic_match_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Tactic_assumption___closed__4;
@@ -449,13 +493,17 @@ lean_object* l_Lean_Parser_checkPrecFn(lean_object*, lean_object*, lean_object*)
lean_object* l_Lean_Parser_Tactic_intros___closed__6;
lean_object* l_Lean_Parser_Tactic_intro_formatter___closed__1;
lean_object* l_Lean_Parser_Tactic_show___elambda__1___closed__3;
+lean_object* l_Lean_Parser_Tactic_induction___elambda__1___closed__13;
lean_object* l___regBuiltin_Lean_Parser_Tactic_paren_formatter___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Tactic_match_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Tactic_refine_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Tactic_clear___closed__1;
+lean_object* l_Lean_Parser_Tactic_clear___elambda__1___closed__12;
lean_object* l_Lean_Parser_Tactic_exact_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_exact___closed__7;
+lean_object* l_Lean_Parser_Tactic_apply___elambda__1___closed__12;
lean_object* l_Lean_Parser_Tactic_clear___closed__2;
+lean_object* l_Lean_Parser_many1Fn(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_have___elambda__1___closed__3;
lean_object* l_Lean_Parser_Tactic_altRHS_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Tactic_clear;
@@ -472,9 +520,11 @@ lean_object* l_Lean_Parser_Tactic_traceState_formatter(lean_object*, lean_object
lean_object* l_Lean_Parser_Tactic_rwRule_formatter___closed__1;
lean_object* l_Lean_Parser_Tactic_change_formatter___closed__3;
extern lean_object* l_Lean_Parser_mkAntiquot_parenthesizer___rarg___closed__6;
+lean_object* l_Lean_Parser_Tactic_intros___elambda__1___closed__12;
lean_object* l___regBuiltin_Lean_Parser_Tactic_change_formatter___closed__1;
lean_object* l_Lean_PrettyPrinter_Formatter_optional_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_change___elambda__1___closed__7;
+lean_object* l_Lean_Parser_Tactic_have___elambda__1___closed__4;
extern lean_object* l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__3;
lean_object* l_Lean_Parser_Tactic_cases_formatter___closed__1;
lean_object* l_Lean_Parser_Tactic_rwRuleSeq_formatter___closed__5;
@@ -487,11 +537,11 @@ lean_object* l_Lean_Parser_Tactic_induction;
lean_object* l_Lean_Parser_Tactic_refine_x21_formatter___closed__1;
lean_object* l___regBuiltinParser_Lean_Parser_Tactic_done(lean_object*);
lean_object* l_Lean_Parser_Tactic_rwRule_formatter___closed__2;
+lean_object* l_Lean_Parser_Tactic_have___elambda__1___closed__5;
lean_object* l_Lean_Parser_Tactic_introMatch_formatter___closed__1;
lean_object* l_Lean_Parser_Tactic_locationWildcard___closed__4;
lean_object* l_Lean_Parser_Tactic_introMatch_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Tactic_intro_parenthesizer___closed__2;
-lean_object* l_Lean_Parser_Tactic_generalizingVars___elambda__1___closed__5;
lean_object* l_Lean_Parser_Tactic_refine___elambda__1___closed__6;
lean_object* l_Lean_Parser_Tactic_let_x21_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Tactic_intro___elambda__1___closed__14;
@@ -503,6 +553,7 @@ lean_object* l_Lean_Parser_Tactic_intro___elambda__1___closed__1;
lean_object* l_Lean_Parser_Tactic_generalize___elambda__1___closed__3;
lean_object* l_Lean_Parser_Tactic_rwRuleSeq_formatter___closed__3;
lean_object* l_Lean_Parser_Tactic_inductionAlt_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Tactic_let_x21___elambda__1___closed__5;
lean_object* l_Lean_Parser_Tactic_orelse___elambda__1___closed__4;
lean_object* l_Lean_Parser_Tactic_skip_formatter___closed__2;
lean_object* l_Lean_Parser_Tactic_refine_parenthesizer___closed__2;
@@ -511,6 +562,7 @@ lean_object* l_Lean_Parser_Tactic_intros_parenthesizer___closed__2;
lean_object* l_Lean_PrettyPrinter_Formatter_trailingNode_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_suffices_formatter___closed__1;
lean_object* l_Lean_Parser_Tactic_rewriteSeq_formatter___closed__4;
+lean_object* l_Lean_Parser_Tactic_revert___elambda__1___closed__14;
lean_object* l___regBuiltin_Lean_Parser_Tactic_subst_formatter(lean_object*);
lean_object* l_Lean_Parser_Tactic_case_parenthesizer___closed__5;
extern lean_object* l___regBuiltin_Lean_Parser_Term_hole_parenthesizer___closed__1;
@@ -523,15 +575,19 @@ extern lean_object* l_Lean_PrettyPrinter_parenthesizerAttribute;
lean_object* l___regBuiltin_Lean_Parser_Tactic_case_formatter___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Tactic_rewriteSeq_formatter(lean_object*);
lean_object* l_Lean_Parser_Tactic_assumption;
+lean_object* l_Lean_Parser_Tactic_intro___elambda__1___closed__15;
lean_object* l_Lean_Parser_Tactic_skip_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_intros___elambda__1(lean_object*, lean_object*);
extern lean_object* l_Lean_Parser_Term_let___closed__2;
lean_object* l_Lean_Parser_Tactic_cases___elambda__1___closed__1;
lean_object* l_Lean_Parser_Tactic_subst___closed__2;
+lean_object* l_Lean_Parser_Tactic_location___elambda__1___closed__14;
lean_object* l_Lean_Parser_Tactic_rewrite;
lean_object* l___regBuiltin_Lean_Parser_Tactic_injection_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Tactic_refine_x21_formatter___closed__2;
lean_object* l_Lean_Parser_Tactic_focus___closed__4;
+extern lean_object* l_Lean_Parser_Term_hole___closed__4;
+lean_object* l_Lean_Parser_Tactic_exact___elambda__1___closed__10;
lean_object* l___regBuiltin_Lean_Parser_Tactic_let_formatter___closed__1;
lean_object* l___regBuiltinParser_Lean_Parser_Tactic_focus(lean_object*);
lean_object* l_Lean_Parser_Tactic_generalizingVars___elambda__1___closed__3;
@@ -539,11 +595,13 @@ lean_object* l_Lean_Parser_Tactic_change___closed__2;
lean_object* l_Lean_Parser_Tactic_usingRec___elambda__1___closed__4;
lean_object* l_Lean_Parser_Tactic_failIfSuccess___closed__7;
lean_object* l_Lean_Parser_Tactic_withIds_formatter___closed__2;
+extern lean_object* l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
lean_object* l_Lean_Parser_Tactic_inductionAlts___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_failIfSuccess_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_focus___elambda__1___closed__6;
lean_object* l_Lean_Parser_Tactic_traceState___closed__5;
lean_object* l___regBuiltin_Lean_Parser_Tactic_injection_parenthesizer___closed__1;
+extern lean_object* l_Lean_Parser_Term_structInst___elambda__1___closed__5;
lean_object* l_Lean_Parser_Tactic_changeWith_formatter___closed__5;
lean_object* l_Lean_Parser_Tactic_refine_formatter___closed__2;
lean_object* l_Lean_Parser_Tactic_failIfSuccess_formatter___closed__1;
@@ -553,12 +611,12 @@ lean_object* l_Lean_Parser_Tactic_inductionAlt___closed__10;
lean_object* l_Lean_Parser_Tactic_inductionAlt_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Tactic_admit_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Tactic_location___closed__6;
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Tactic_inductionAlts___elambda__1___spec__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_clear___closed__3;
lean_object* l_Lean_Parser_Tactic_cases___elambda__1___closed__8;
lean_object* l_Lean_Parser_Tactic_refine___elambda__1___closed__3;
lean_object* l___regBuiltinParser_Lean_Parser_Tactic_generalize(lean_object*);
extern lean_object* l_Lean_Parser_identNoAntiquot___closed__1;
+lean_object* l_Lean_Parser_Tactic_suffices___elambda__1___closed__5;
lean_object* l_Lean_Parser_Tactic_intros___closed__8;
extern lean_object* l_Lean_Parser_Term_app_parenthesizer___closed__5;
lean_object* l_Lean_Parser_Tactic_allGoals___elambda__1___closed__3;
@@ -568,6 +626,7 @@ extern lean_object* l_Lean_Parser_Term_match___elambda__1___closed__5;
lean_object* l_Lean_Parser_Tactic_admit___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_assumption___elambda__1___closed__4;
lean_object* l_Lean_Parser_Tactic_skip___elambda__1___closed__3;
+extern lean_object* l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__9;
lean_object* l_Lean_Parser_Tactic_refine_formatter___closed__1;
lean_object* l_Lean_Parser_Tactic_locationTarget___closed__6;
lean_object* l_Lean_Parser_Tactic_case___elambda__1(lean_object*, lean_object*);
@@ -582,12 +641,13 @@ lean_object* l_Lean_Parser_Tactic_change_formatter___closed__5;
lean_object* l_Lean_Parser_Tactic_have___closed__5;
lean_object* l_Lean_Parser_Tactic_traceState___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Tactic_let_x21_formatter___closed__1;
+lean_object* l_Lean_Parser_Tactic_match___elambda__1___closed__6;
lean_object* l_Lean_Parser_Tactic_inductionAlts_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_generalize___closed__9;
lean_object* l_Lean_Parser_Tactic_case_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_location___closed__2;
+extern lean_object* l_Lean_Parser_ident___closed__2;
lean_object* l_Lean_Parser_Tactic_failIfSuccess___closed__5;
-uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_matchAlts_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_generalizingVars___elambda__1(lean_object*, lean_object*);
extern lean_object* l_Lean_Parser_Term_orelse___elambda__1___closed__3;
@@ -601,24 +661,29 @@ lean_object* l___regBuiltin_Lean_Parser_Tactic_refine_formatter___closed__1;
extern lean_object* l_Lean_Parser_Term_show___closed__1;
lean_object* l_Lean_Parser_Tactic_injection_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Tactic_location___elambda__1___closed__3;
+lean_object* l_Lean_Parser_Tactic_clear___elambda__1___closed__10;
lean_object* l___regBuiltin_Lean_Parser_Tactic_revert_formatter___closed__1;
-extern lean_object* l_Lean_Parser_Term_structInst___elambda__1___closed__16;
lean_object* l_Lean_Parser_Tactic_injection___elambda__1___closed__5;
lean_object* l_Lean_Parser_Tactic_locationHyp_formatter___closed__3;
+lean_object* l_Lean_Parser_Tactic_assumption___elambda__1___closed__9;
lean_object* l_Lean_Parser_Tactic_traceState_formatter___closed__3;
lean_object* l_Lean_Parser_Tactic_refine___closed__3;
lean_object* l_Lean_Parser_Tactic_allGoals_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_allGoals___closed__7;
+lean_object* l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__9;
lean_object* l_Lean_Parser_Tactic_let_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Parser_Term_optType;
extern lean_object* l_Lean_Parser_Term_tupleTail___closed__1;
lean_object* l_Lean_Parser_Tactic_cases;
lean_object* l_Lean_Parser_Tactic_introMatch___elambda__1___closed__2;
lean_object* l___regBuiltin_Lean_Parser_Tactic_exact_parenthesizer(lean_object*);
+lean_object* l_Lean_Parser_Tactic_apply___elambda__1___closed__10;
lean_object* l___regBuiltinParser_Lean_Parser_Tactic_case(lean_object*);
+lean_object* l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__6;
lean_object* l_Lean_Parser_Tactic_ident_x27___closed__2;
lean_object* l___regBuiltin_Lean_Parser_Tactic_change_parenthesizer___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Tactic_nestedTactic_parenthesizer(lean_object*);
+extern lean_object* l_Lean_Parser_Term_sufficesDecl___closed__3;
lean_object* l_Lean_Parser_Tactic_apply_formatter___closed__1;
lean_object* l_Lean_Parser_Tactic_allGoals___closed__3;
lean_object* l_Lean_Parser_Tactic_revert_formatter___closed__2;
@@ -630,6 +695,7 @@ lean_object* l_Lean_Parser_Tactic_allGoals___elambda__1___closed__5;
lean_object* l_Lean_Parser_Tactic_admit___elambda__1___closed__5;
lean_object* l_Lean_Parser_Tactic_introMatch___closed__6;
lean_object* l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__7;
+lean_object* l_Lean_Parser_symbolFn___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_inductionAlt_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Tactic_let_formatter___closed__2;
lean_object* l_Lean_Parser_Tactic_assumption___closed__1;
@@ -640,20 +706,24 @@ lean_object* l_Lean_Parser_Tactic_apply___closed__3;
lean_object* l_Lean_Parser_Tactic_generalize_parenthesizer___closed__4;
lean_object* l_Lean_Parser_Tactic_clear___closed__5;
lean_object* l_Lean_Parser_Tactic_generalizingVars_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Tactic_matchAlt___elambda__1___closed__5;
lean_object* l_Lean_Parser_Tactic_locationHyp___closed__5;
lean_object* l_Lean_Parser_Tactic_show___closed__6;
lean_object* l_Lean_Parser_Tactic_location_formatter___closed__1;
lean_object* l_Lean_Parser_Tactic_withAlts_formatter___closed__1;
lean_object* l_Lean_Parser_Tactic_rwRule_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Tactic_paren_formatter___closed__1;
+lean_object* l_Lean_Parser_Tactic_done___elambda__1___closed__10;
extern lean_object* l_Lean_Parser_antiquotNestedExpr___closed__1;
lean_object* l_Lean_Parser_Tactic_revert_formatter___closed__6;
lean_object* l_Lean_Parser_Tactic_revert;
+extern lean_object* l_Lean_ppGoal___closed__4;
lean_object* l_Lean_Parser_Tactic_intros_parenthesizer___closed__4;
lean_object* l_Lean_Parser_Tactic_generalize;
lean_object* l_Lean_Parser_Tactic_failIfSuccess___closed__3;
lean_object* l_Lean_Parser_Tactic_changeWith___closed__2;
lean_object* l_Lean_Parser_Tactic_injection_parenthesizer___closed__2;
+lean_object* l_Lean_Parser_Tactic_have___elambda__1___closed__7;
lean_object* l_Lean_Parser_Tactic_subst___elambda__1___closed__3;
extern lean_object* l_Lean_Parser_antiquotNestedExpr___closed__2;
lean_object* l_Lean_Parser_noFirstTokenInfo(lean_object*);
@@ -671,9 +741,9 @@ lean_object* l_Lean_Parser_Tactic_usingRec___closed__3;
lean_object* l_Lean_Parser_nonReservedSymbolInfo(lean_object*, uint8_t);
lean_object* l___regBuiltin_Lean_Parser_Tactic_allGoals_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Tactic_ident_x27___closed__1;
+lean_object* l_Lean_Parser_Tactic_traceState___elambda__1___closed__10;
lean_object* l___regBuiltinParser_Lean_Parser_Tactic_revert(lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Tactic_failIfSuccess_formatter___closed__1;
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_locationHyp___elambda__1___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_generalize_parenthesizer___closed__9;
lean_object* l_Lean_Parser_Tactic_changeWith___closed__8;
lean_object* l_Lean_Parser_Tactic_focus___closed__1;
@@ -681,30 +751,36 @@ lean_object* l_Lean_Parser_Tactic_change___closed__8;
lean_object* l___regBuiltinParser_Lean_Parser_Tactic_intros(lean_object*);
lean_object* l_Lean_Parser_Tactic_generalize___elambda__1___closed__6;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_visitArgs(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__10;
+lean_object* l_Lean_Parser_Tactic_introMatch___elambda__1___closed__5;
extern lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed_formatter___closed__6;
lean_object* l_Lean_Parser_Tactic_usingRec___elambda__1___closed__3;
lean_object* l_Lean_Parser_Tactic_match___elambda__1___closed__2;
lean_object* l_Lean_Parser_Tactic_traceState___closed__2;
extern lean_object* l___regBuiltin_Lean_Parser_ident_parenthesizer___closed__1;
lean_object* l_Lean_Parser_nodeWithAntiquot_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Array_shrink___main___rarg(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_ident_x27___closed__3;
lean_object* l_Lean_Parser_Tactic_locationWildcard_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_location___closed__1;
+lean_object* l_Lean_Parser_Tactic_revert___elambda__1___closed__10;
lean_object* l_Lean_Parser_notSymbol_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_rewriteSeq;
+lean_object* l_Lean_Parser_Tactic_induction___elambda__1___closed__9;
lean_object* l_Lean_Parser_Tactic_rwRule___elambda__1___closed__8;
lean_object* l_Lean_Parser_Tactic_generalizingVars_formatter___closed__1;
lean_object* l_Lean_Parser_Tactic_rewrite___closed__9;
+lean_object* l_Lean_Parser_Tactic_injection___elambda__1___closed__10;
+lean_object* l_Lean_Parser_Tactic_match___elambda__1___closed__8;
lean_object* l_Lean_Parser_Tactic_admit___closed__4;
lean_object* l_Lean_Parser_Tactic_matchAlts_parenthesizer___closed__4;
lean_object* l_Lean_Parser_Tactic_focus;
lean_object* l_Lean_Parser_Tactic_rewrite_formatter___closed__7;
+extern lean_object* l_Lean_Parser_Term_show___elambda__1___closed__7;
lean_object* l_Lean_Parser_Tactic_intro_parenthesizer___closed__6;
lean_object* l___regBuiltin_Lean_Parser_Tactic_clear_formatter___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Tactic_done_formatter___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Tactic_suffices_formatter(lean_object*);
-extern lean_object* l_Lean_Parser_Term_typeAscription___elambda__1___closed__3;
+lean_object* l_Lean_Parser_Tactic_location___elambda__1___closed__13;
lean_object* l___regBuiltin_Lean_Parser_Tactic_cases_formatter(lean_object*);
lean_object* l_Lean_Parser_Tactic_intro___elambda__1___closed__6;
lean_object* l_Lean_Parser_Tactic_case_formatter___closed__2;
@@ -742,7 +818,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Tactic_changeWith(lean_object*);
lean_object* l_Lean_Parser_Tactic_induction___closed__7;
lean_object* l_Lean_Parser_Tactic_revert___closed__5;
lean_object* l_Lean_PrettyPrinter_Formatter_node_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-extern lean_object* l_Lean_Parser_Term_suffices___elambda__1___closed__9;
+lean_object* l_Lean_Parser_Tactic_change___elambda__1___closed__10;
lean_object* l_Lean_Parser_Tactic_match_parenthesizer___closed__7;
lean_object* l_Lean_Parser_Tactic_rwRuleSeq_formatter___closed__4;
lean_object* l_Lean_Parser_Tactic_induction_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -755,6 +831,7 @@ lean_object* l_Lean_Parser_Tactic_intro___elambda__1___closed__13;
lean_object* l_Lean_Parser_Tactic_skip___closed__5;
extern lean_object* l_Lean_Parser_many1Indent_formatter___closed__1;
lean_object* l_Lean_Parser_Tactic_rewrite___closed__8;
+lean_object* l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__5;
lean_object* l_Lean_Parser_Tactic_withIds___closed__4;
lean_object* l___regBuiltinParser_Lean_Parser_Tactic_apply(lean_object*);
lean_object* l_Lean_Parser_Tactic_cases___elambda__1___closed__2;
@@ -762,7 +839,6 @@ lean_object* l_Lean_Parser_Tactic_have_formatter___closed__1;
lean_object* l_Lean_Parser_Tactic_underscore_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_failIfSuccess_formatter___closed__3;
lean_object* l_Lean_Parser_Tactic_generalizingVars___elambda__1___closed__4;
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_intro___elambda__1___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_introMatch___closed__2;
lean_object* l_Lean_Parser_Tactic_changeWith___closed__7;
lean_object* l_Lean_Parser_Tactic_apply___closed__6;
@@ -770,14 +846,15 @@ lean_object* l_Lean_Parser_Tactic_refine_x21_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Tactic_locationTarget___closed__1;
extern lean_object* l_Lean_Parser_mkAntiquot_formatter___closed__6;
lean_object* l_Lean_Parser_Tactic_locationTarget___closed__2;
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Tactic_matchAlts___elambda__1___spec__1(uint8_t, lean_object*, lean_object*);
+extern lean_object* l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__7;
lean_object* l_Lean_Parser_Tactic_match___elambda__1___closed__3;
lean_object* l_Lean_Parser_Tactic_revert___closed__3;
+lean_object* l_Lean_Parser_Tactic_let_x21___elambda__1___closed__7;
lean_object* l_Lean_Parser_Tactic_intros___closed__1;
+lean_object* l_Lean_Parser_Tactic_refine___elambda__1___closed__10;
lean_object* l_Lean_Parser_Tactic_allGoals_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Tactic_orelse___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_injection___closed__6;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_matchAlts___elambda__1___spec__2(uint8_t, lean_object*, uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__10;
lean_object* l_Lean_Parser_Tactic_inductionAlt___closed__6;
lean_object* l_Lean_Parser_Tactic_intro___elambda__1___closed__2;
@@ -793,6 +870,7 @@ extern lean_object* l_Lean_Parser_mkAntiquot___closed__20;
lean_object* l_Lean_Parser_Tactic_injection___elambda__1___closed__7;
lean_object* l_Lean_Parser_Tactic_apply___elambda__1___closed__1;
lean_object* l_Lean_Parser_Tactic_intro___elambda__1(lean_object*, lean_object*);
+extern lean_object* l_Lean_Parser_Term_let_x21___elambda__1___closed__12;
lean_object* l_Lean_Parser_Tactic_revert___closed__6;
lean_object* l___regBuiltin_Lean_Parser_Tactic_show_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Tactic_exact___elambda__1___closed__1;
@@ -803,7 +881,6 @@ lean_object* l_Lean_Parser_Tactic_generalize___closed__11;
lean_object* l_Lean_Parser_Tactic_injection___elambda__1___closed__3;
lean_object* l_Lean_Parser_Tactic_focus___elambda__1___closed__2;
lean_object* l___regBuiltin_Lean_Parser_Tactic_match_formatter___closed__1;
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_tupleTail___elambda__1___spec__1(uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_rewrite___elambda__1___closed__3;
lean_object* l_Lean_Parser_Tactic_intro_formatter___closed__8;
lean_object* l_Lean_Parser_orelseInfo(lean_object*, lean_object*);
@@ -811,9 +888,9 @@ lean_object* l_Lean_Parser_Tactic_have_formatter(lean_object*, lean_object*, lea
lean_object* l_Lean_Parser_Tactic_match___closed__6;
lean_object* l_Lean_Parser_Tactic_induction_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Tactic_cases_formatter___closed__2;
+extern lean_object* l_Lean_Parser_Term_matchDiscr___closed__8;
lean_object* l___regBuiltin_Lean_Parser_Tactic_admit_parenthesizer___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Tactic_introMatch_parenthesizer___closed__1;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_inductionAlts___elambda__1___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__6;
lean_object* l___regBuiltin_Lean_Parser_Tactic_nestedTactic_formatter___closed__1;
lean_object* l_Lean_Parser_Tactic_changeWith___closed__4;
@@ -829,6 +906,7 @@ extern lean_object* l___regBuiltin_Lean_Parser_ident_formatter___closed__2;
lean_object* l___regBuiltin_Lean_Parser_Tactic_admit_formatter___closed__1;
extern lean_object* l___regBuiltin_Lean_Parser_Term_syntheticHole_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Tactic_admit___closed__2;
+lean_object* l_Lean_Parser_Tactic_locationWildcard___elambda__1___closed__8;
lean_object* lean_name_mk_string(lean_object*, lean_object*);
extern lean_object* l_List_repr___rarg___closed__2;
lean_object* l_Lean_Parser_Tactic_orelse_parenthesizer___closed__1;
@@ -837,33 +915,38 @@ lean_object* l_Lean_Parser_Tactic_rwRuleSeq;
lean_object* l_Lean_Parser_Tactic_rewrite___closed__1;
extern lean_object* l_Lean_Parser_Term_match___closed__2;
lean_object* l_Lean_Parser_Tactic_cases___closed__8;
-lean_object* l_Lean_Parser_Tactic_usingRec___elambda__1___closed__5;
lean_object* l___regBuiltin_Lean_Parser_Tactic_intros_parenthesizer(lean_object*);
+lean_object* l_Lean_Parser_Tactic_cases___elambda__1___closed__12;
lean_object* l_Lean_Parser_Tactic_change_formatter___closed__4;
+lean_object* l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__14;
lean_object* l_Lean_Parser_Tactic_location___closed__4;
lean_object* l_Lean_Parser_Tactic_location_formatter___closed__4;
lean_object* l_Lean_Parser_Tactic_show_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Tactic_have___elambda__1___closed__2;
lean_object* l_Lean_Parser_Tactic_locationWildcard;
lean_object* l_Lean_Parser_Tactic_revert_parenthesizer___closed__4;
-extern lean_object* l_Lean_Parser_maxPrec;
lean_object* l_Lean_Parser_Tactic_rwRule___elambda__1___closed__2;
+lean_object* l_Lean_Parser_Tactic_match___elambda__1___closed__5;
lean_object* l_Lean_Parser_Tactic_underscore_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_apply___elambda__1___closed__7;
lean_object* l_Lean_Parser_Tactic_intro_formatter___closed__2;
lean_object* l_Lean_Parser_Tactic_generalize___elambda__1___closed__10;
lean_object* l_Lean_Parser_Tactic_rewriteSeq_formatter___closed__1;
+lean_object* l_Lean_Parser_Tactic_intro___elambda__1___closed__21;
lean_object* l_Lean_Parser_Tactic_majorPremise___closed__5;
extern lean_object* l_Lean_Parser_Term_explicit_parenthesizer___closed__2;
+lean_object* l_Lean_Parser_Tactic_revert___elambda__1___closed__13;
lean_object* l_Lean_Parser_Tactic_let___closed__1;
lean_object* l_Lean_Parser_Tactic_cases_formatter___closed__4;
lean_object* l_Lean_Parser_Tactic_rewrite___closed__2;
lean_object* l_Lean_Parser_Tactic_matchAlts___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_paren_parenthesizer___closed__1;
+lean_object* l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__7;
lean_object* l_Lean_Parser_Tactic_location___closed__8;
lean_object* l_Lean_Parser_Tactic_exact___closed__3;
lean_object* l_Lean_Parser_Tactic_inductionAlts___closed__3;
lean_object* l_Lean_Parser_Tactic_paren___closed__5;
+lean_object* l_Lean_Parser_Tactic_generalize___elambda__1___closed__20;
lean_object* l_Lean_Parser_Tactic_location_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Tactic_inductionAlts_formatter___closed__1;
lean_object* l_Lean_Parser_Tactic_skip___elambda__1___closed__5;
@@ -889,19 +972,25 @@ lean_object* l_Lean_Parser_Tactic_match_parenthesizer___closed__3;
extern lean_object* l_Lean_Parser_Term_subtype_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Tactic_rewriteSeq_formatter___closed__2;
lean_object* l_Lean_Parser_Tactic_show_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+extern lean_object* l_Lean_Parser_Term_haveDecl___closed__5;
extern lean_object* l_Lean_Parser_Term_suffices___elambda__1___closed__6;
lean_object* l___regBuiltin_Lean_Parser_Tactic_intro_formatter___closed__1;
+lean_object* l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__11;
lean_object* l_Lean_Parser_Tactic_ident_x27;
lean_object* l_Lean_Parser_Tactic_exact___elambda__1___closed__4;
+lean_object* l_Lean_Parser_Tactic_matchAlt___elambda__1___closed__6;
lean_object* l_Lean_Parser_Tactic_locationWildcard___elambda__1___closed__1;
lean_object* l_Lean_Parser_Tactic_altRHS;
+lean_object* l_Lean_Parser_Tactic_intros___elambda__1___closed__10;
lean_object* l_Lean_Parser_Tactic_exact___closed__5;
lean_object* l_Lean_Parser_Tactic_rwRuleSeq___closed__4;
lean_object* l_Lean_Parser_Tactic_altRHS_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_locationTarget_formatter___closed__1;
lean_object* l_Lean_Parser_Tactic_rwRule___elambda__1___closed__1;
+extern lean_object* l_Lean_Parser_Term_matchAlts___closed__4;
extern lean_object* l_Lean_PrettyPrinter_formatterAttribute;
lean_object* l_Lean_Parser_Tactic_match___closed__8;
+lean_object* l_Lean_Parser_Tactic_intro___elambda__1___closed__17;
lean_object* l_Lean_Parser_Tactic_cases___elambda__1___closed__6;
lean_object* l_Lean_Parser_Tactic_clear___elambda__1___closed__4;
extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___closed__2;
@@ -909,6 +998,7 @@ lean_object* l_Lean_Parser_Tactic_changeWith___elambda__1(lean_object*, lean_obj
lean_object* l_Lean_Parser_Tactic_skip___elambda__1___closed__2;
lean_object* l_Lean_Parser_Tactic_induction___closed__10;
lean_object* l_Lean_Parser_Tactic_matchAlt_parenthesizer___closed__2;
+extern lean_object* l_Lean_Parser_Term_typeAscription___elambda__1___closed__4;
lean_object* l_Lean_Parser_Tactic_induction_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Tactic_match_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Tactic_let_x21___elambda__1___closed__2;
@@ -934,12 +1024,16 @@ lean_object* l_Lean_Parser_Tactic_inductionAlt_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Tactic_show;
lean_object* l_Lean_Parser_Tactic_admit___closed__1;
lean_object* l_Lean_Parser_tacticParser_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Tactic_induction___elambda__1___closed__14;
lean_object* l_Lean_Parser_Tactic_injection___closed__3;
lean_object* l_Lean_Parser_Tactic_change___elambda__1___closed__6;
+lean_object* l_Lean_Parser_Tactic_clear___elambda__1___closed__9;
lean_object* l_Lean_Parser_Tactic_refine_x21___closed__4;
extern lean_object* l_Lean_Parser_Term_have___elambda__1___closed__1;
lean_object* l_Lean_Parser_Tactic_locationHyp_parenthesizer___closed__2;
+lean_object* l_Lean_Parser_Tactic_location___elambda__1___closed__10;
lean_object* l_Lean_Parser_Tactic_inductionAlt_parenthesizer___closed__5;
+lean_object* l_Lean_Parser_Tactic_show___elambda__1___closed__6;
lean_object* l_Lean_Parser_Tactic_rewrite_formatter___closed__5;
lean_object* l_Lean_Parser_Tactic_orelse_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_intros_parenthesizer___closed__6;
@@ -949,13 +1043,16 @@ lean_object* l_Lean_Parser_Tactic_change___closed__5;
lean_object* l_Lean_Parser_Tactic_induction_formatter___closed__8;
lean_object* l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__5;
lean_object* l_Lean_FileMap_toPosition(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Tactic_matchAlt___elambda__1___closed__4;
lean_object* l_Lean_Parser_Tactic_introMatch___elambda__1___closed__3;
lean_object* l_Lean_Parser_Tactic_apply___elambda__1___closed__3;
lean_object* l_Lean_Parser_Tactic_generalize_parenthesizer___closed__2;
+lean_object* l_Lean_Parser_Tactic_allGoals___elambda__1___closed__10;
lean_object* l_Lean_Parser_Tactic_paren_formatter___closed__3;
lean_object* l_Lean_Parser_Tactic_focus___elambda__1___closed__4;
lean_object* l___regBuiltin_Lean_Parser_Tactic_admit_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Tactic_refine___elambda__1___closed__7;
+lean_object* l_Lean_Parser_Tactic_case___elambda__1___closed__13;
lean_object* l___regBuiltin_Lean_Parser_Tactic_failIfSuccess_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Tactic_failIfSuccess___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_match_formatter___closed__3;
@@ -981,6 +1078,7 @@ lean_object* l_Lean_Parser_Tactic_skip___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_allGoals___closed__2;
lean_object* l___regBuiltin_Lean_Parser_Tactic_introMatch_formatter(lean_object*);
lean_object* l_Lean_Parser_Tactic_injection___closed__5;
+lean_object* l_Lean_Parser_Tactic_focus___elambda__1___closed__9;
lean_object* l_Lean_Parser_Tactic_exact___elambda__1(lean_object*, lean_object*);
lean_object* l___regBuiltinParser_Lean_Parser_Tactic_change(lean_object*);
lean_object* l_Lean_Parser_Tactic_let_x21___elambda__1___closed__1;
@@ -998,7 +1096,6 @@ lean_object* l___regBuiltin_Lean_Parser_Tactic_orelse_formatter(lean_object*);
lean_object* l_Lean_Parser_Tactic_changeWith_formatter___closed__2;
lean_object* l_Lean_Parser_Tactic_induction_formatter___closed__1;
lean_object* l_Lean_Parser_Tactic_intro_parenthesizer___closed__3;
-lean_object* l_Lean_Parser_ParserState_restore(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_failIfSuccess;
lean_object* l_Lean_Parser_Tactic_paren___closed__1;
lean_object* l_Lean_Parser_Tactic_rewrite___elambda__1___closed__4;
@@ -1011,6 +1108,7 @@ lean_object* l_Lean_Parser_Tactic_inductionAlts_formatter___closed__2;
lean_object* l_Lean_Parser_Tactic_match___closed__2;
lean_object* l_Lean_Parser_Tactic_location_formatter___closed__7;
lean_object* l_Lean_Parser_Tactic_paren___closed__2;
+lean_object* l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__1;
lean_object* l_Lean_Parser_Tactic_rewriteSeq_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Tactic_subst___closed__3;
lean_object* l_Lean_Parser_ParserState_popSyntax(lean_object*);
@@ -1021,6 +1119,7 @@ lean_object* l_Lean_Parser_Tactic_subst_formatter___closed__2;
lean_object* l_Lean_Parser_Tactic_paren___elambda__1___closed__2;
lean_object* l_Lean_Parser_Tactic_refine_x21___closed__1;
lean_object* l_Lean_Parser_Tactic_underscore_parenthesizer(lean_object*);
+lean_object* l_Lean_Parser_manyAux(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_intros_formatter___closed__2;
lean_object* l_Lean_Parser_Tactic_suffices___closed__2;
lean_object* l_Lean_Parser_Tactic_case___elambda__1___closed__1;
@@ -1038,25 +1137,31 @@ lean_object* l_Lean_Parser_Tactic_revert_formatter___closed__4;
extern lean_object* l_Lean_Parser_Term_matchAlts_formatter___closed__13;
lean_object* l_Lean_Parser_Tactic_inductionAlts___closed__6;
lean_object* l_Lean_Parser_Tactic_withIds_parenthesizer___closed__2;
+lean_object* l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__2;
+lean_object* l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__7;
lean_object* l_Lean_Parser_Tactic_subst_formatter___closed__1;
lean_object* l_Lean_Parser_Tactic_case___closed__5;
lean_object* l_Lean_Parser_Tactic_orelse___elambda__1___closed__2;
lean_object* l_Lean_Parser_Tactic_done___elambda__1___closed__5;
+lean_object* l_Lean_Parser_Tactic_revert___elambda__1___closed__12;
lean_object* l_Lean_Parser_Tactic_let___closed__3;
lean_object* l_Lean_Parser_Tactic_matchAlt___elambda__1___closed__1;
lean_object* l_Lean_Parser_Tactic_rwRule_parenthesizer___closed__2;
lean_object* l_Lean_PrettyPrinter_Formatter_withPosition_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_failIfSuccess_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_subst_formatter___closed__4;
-lean_object* l_Lean_Parser_Term_optType___elambda__1(lean_object*, lean_object*);
lean_object* l___regBuiltinParser_Lean_Parser_Tactic_nestedTactic(lean_object*);
lean_object* l_Lean_Parser_Tactic_have_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_intros_formatter___closed__6;
lean_object* l_Lean_Parser_Tactic_rewrite_parenthesizer___closed__6;
lean_object* l_Lean_Parser_Tactic_orelse;
lean_object* l_Lean_Parser_Tactic_allGoals___closed__6;
+lean_object* l_Lean_Parser_Tactic_withIds___elambda__1___closed__1;
lean_object* l_Lean_Parser_Tactic_subst___closed__5;
lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+extern lean_object* l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__7;
+lean_object* l_Lean_Parser_Tactic_let_x21___elambda__1___closed__4;
+lean_object* l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__11;
lean_object* l_Lean_Parser_Tactic_altRHS_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_inductionAlt___closed__5;
lean_object* l_Lean_Parser_Tactic_generalize___elambda__1___closed__4;
@@ -1065,17 +1170,19 @@ lean_object* l_Lean_Parser_Tactic_case___elambda__1___closed__2;
lean_object* l___regBuiltin_Lean_Parser_Tactic_let_formatter(lean_object*);
lean_object* l_Lean_Parser_Tactic_case_parenthesizer___closed__4;
lean_object* l___regBuiltin_Lean_Parser_Tactic_assumption_formatter___closed__1;
+lean_object* l_Lean_Parser_Tactic_induction___elambda__1___closed__15;
lean_object* l_Lean_Parser_Tactic_location_parenthesizer___closed__8;
lean_object* l_Lean_Parser_Tactic_injection___elambda__1___closed__8;
+lean_object* l_Lean_Parser_Tactic_match___elambda__1___closed__9;
lean_object* l___regBuiltin_Lean_Parser_Tactic_show_formatter(lean_object*);
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_intros___elambda__1___spec__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__9;
lean_object* l___regBuiltin_Lean_Parser_Tactic_assumption_formatter(lean_object*);
extern lean_object* l_Lean_Parser_antiquotNestedExpr_formatter___closed__2;
lean_object* l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__6;
lean_object* l_Lean_Parser_Tactic_suffices___closed__5;
lean_object* l_Lean_Parser_Tactic_injection___elambda__1___closed__4;
lean_object* l_Lean_Parser_Tactic_intros___closed__4;
-extern lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
+lean_object* l_Lean_Parser_Tactic_admit___elambda__1___closed__10;
lean_object* l_Lean_Parser_Tactic_rewrite___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_matchAlt_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Tactic_cases___elambda__1___closed__5;
@@ -1090,14 +1197,16 @@ lean_object* l___regBuiltinParser_Lean_Parser_Tactic_match(lean_object*);
lean_object* l_Lean_Parser_Tactic_usingRec___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_clear_formatter___closed__3;
lean_object* l_Lean_Parser_Tactic_done___elambda__1(lean_object*, lean_object*);
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_match___elambda__1___spec__1(uint8_t, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Tactic_have___elambda__1___closed__6;
lean_object* l___regBuiltin_Lean_Parser_Tactic_exact_formatter(lean_object*);
lean_object* l_Lean_Parser_Tactic_rewrite_formatter___closed__3;
lean_object* l_Lean_Parser_Tactic_apply___elambda__1___closed__5;
+lean_object* l_Lean_Parser_Tactic_withIds___elambda__1___closed__2;
lean_object* l_Lean_Parser_Tactic_rewrite___elambda__1___closed__10;
lean_object* l_Lean_Parser_Tactic_match___closed__4;
lean_object* l_Lean_Parser_Tactic_rewriteSeq___closed__6;
lean_object* l_Lean_Parser_Tactic_skip___elambda__1___closed__6;
+lean_object* l_Lean_Parser_sepBy1Fn___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Tactic_refine_parenthesizer(lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Tactic_induction_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Tactic_location_parenthesizer___closed__1;
@@ -1108,19 +1217,24 @@ lean_object* l_Lean_Parser_Tactic_intros___closed__9;
lean_object* l_Lean_Parser_Tactic_withIds___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_location___closed__9;
extern lean_object* l_Lean_Parser_Term_let_formatter___closed__4;
+lean_object* l_Lean_Parser_Tactic_exact___elambda__1___closed__9;
lean_object* l_Lean_Parser_Tactic_case_parenthesizer___closed__1;
lean_object* l_Lean_Parser_nodeWithAntiquot_parenthesizer___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_injection___elambda__1___closed__1;
lean_object* l_Lean_Parser_Tactic_generalize___elambda__1___closed__7;
lean_object* l_Lean_Parser_Tactic_match___closed__1;
lean_object* l_Lean_Parser_Tactic_show___closed__5;
+lean_object* l_Lean_Parser_Tactic_intro___elambda__1___closed__19;
+lean_object* l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__8;
lean_object* l_Lean_Parser_Tactic_induction_parenthesizer___closed__4;
lean_object* l_Lean_Parser_nodeWithAntiquot(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_locationWildcard_formatter___closed__1;
lean_object* l___regBuiltinParser_Lean_Parser_Tactic_refine_x21(lean_object*);
+lean_object* l_Lean_Parser_Tactic_assumption___elambda__1___closed__8;
lean_object* l_Lean_Parser_Tactic_exact_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_ident___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_rewrite_formatter___closed__6;
+extern lean_object* l_Lean_Parser_Tactic_seq1___closed__4;
lean_object* l_Lean_Parser_Tactic_rewrite___elambda__1___closed__11;
lean_object* l_Lean_Parser_Tactic_changeWith_formatter___closed__4;
lean_object* l_Lean_Parser_Tactic_exact_formatter___closed__4;
@@ -1146,20 +1260,24 @@ lean_object* l_Lean_Parser_Tactic_inductionAlts_formatter___closed__4;
lean_object* l_Lean_Parser_Tactic_intros_formatter___closed__1;
lean_object* l_Lean_Parser_Tactic_locationTarget___closed__3;
lean_object* l_Lean_Parser_Tactic_introMatch___elambda__1___closed__1;
+lean_object* l_Lean_Parser_Tactic_intros___elambda__1___closed__11;
lean_object* l_Lean_Parser_Tactic_clear___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_refine___closed__2;
lean_object* l_Lean_Parser_Tactic_orelse_formatter___closed__1;
lean_object* l___regBuiltinParser_Lean_Parser_Tactic_exact(lean_object*);
lean_object* l_Lean_Parser_Tactic_assumption___elambda__1___closed__1;
+lean_object* l_Lean_Parser_Tactic_cases___elambda__1___closed__9;
lean_object* l_Lean_Parser_Tactic_focus_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_show___closed__3;
lean_object* l_Lean_Parser_Tactic_location_formatter___closed__2;
lean_object* l_Lean_Parser_Tactic_majorPremise___closed__6;
lean_object* l_Lean_Parser_Tactic_revert___elambda__1(lean_object*, lean_object*);
+extern lean_object* l_Lean_Parser_Level_paren___elambda__1___closed__3;
lean_object* l_Lean_Parser_Tactic_rwRule_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Tactic_case___closed__3;
lean_object* l_Lean_Parser_Tactic_rewriteSeq_formatter___closed__5;
lean_object* l_Lean_Parser_Tactic_locationWildcard___closed__5;
+lean_object* l_Lean_Parser_Tactic_exact___elambda__1___closed__12;
lean_object* l_Lean_Parser_Tactic_suffices___closed__3;
lean_object* l_Lean_Parser_Tactic_injection_formatter___closed__1;
lean_object* l_Lean_Parser_Tactic_inductionAlts___closed__2;
@@ -1168,11 +1286,13 @@ lean_object* l_Lean_Parser_Tactic_changeWith___closed__6;
lean_object* l___regBuiltin_Lean_Parser_Tactic_induction_formatter(lean_object*);
lean_object* l_Lean_Parser_Tactic_done_formatter___closed__3;
lean_object* l___regBuiltin_Lean_Parser_Tactic_let_x21_formatter(lean_object*);
+lean_object* l_Lean_Parser_Tactic_let___elambda__1___closed__7;
lean_object* l_Lean_Parser_Tactic_locationTarget_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Tactic_skip___elambda__1___closed__1;
lean_object* l_Lean_Parser_Tactic_matchAlt_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_focus___closed__5;
lean_object* l_Lean_Parser_Tactic_induction___elambda__1___closed__2;
+lean_object* l_Lean_Parser_Tactic_case___elambda__1___closed__8;
lean_object* l___regBuiltin_Lean_Parser_Tactic_nestedTactic_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Tactic_generalize___elambda__1___closed__8;
lean_object* l_Lean_Parser_Tactic_match___closed__5;
@@ -1184,18 +1304,20 @@ lean_object* l_Lean_Parser_Tactic_suffices___elambda__1(lean_object*, lean_objec
lean_object* l_Lean_Parser_Tactic_induction___closed__6;
lean_object* l_Lean_Parser_Tactic_admit___closed__6;
lean_object* l_Lean_Parser_Tactic_subst_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-extern lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__1;
+lean_object* l_Lean_Parser_Tactic_generalize___elambda__1___closed__17;
lean_object* l_Lean_Parser_Tactic_orelse_formatter___closed__2;
lean_object* l_Lean_Parser_Tactic_skip_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_introMatch_formatter___closed__2;
-lean_object* l_Lean_Parser_mergeOrElseErrors(lean_object*, lean_object*, lean_object*, uint8_t);
lean_object* l_Lean_Parser_Tactic_withAlts___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_match_parenthesizer___closed__6;
+extern lean_object* l_Lean_Parser_Term_suffices___elambda__1___closed__12;
lean_object* l_Lean_Parser_Tactic_altRHS_formatter___closed__1;
lean_object* l___regBuiltinParser_Lean_Parser_Tactic_cases(lean_object*);
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_intro___elambda__1___spec__1___closed__1;
+lean_object* l_Lean_Parser_Tactic_match___elambda__1___closed__4;
+lean_object* l_Lean_Parser_tryFn(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Tactic_subst___elambda__1___closed__10;
+lean_object* l_Lean_Parser_Tactic_let_x21___elambda__1___closed__6;
lean_object* l_Lean_Parser_Tactic_assumption_formatter___closed__1;
-uint8_t lean_nat_dec_le(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_apply_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_withAlts;
lean_object* l_Lean_Parser_Tactic_apply___closed__7;
@@ -1216,7 +1338,12 @@ lean_object* l_Lean_Parser_Tactic_focus_formatter___closed__3;
lean_object* l_Lean_Parser_Tactic_revert___elambda__1___closed__3;
lean_object* l_Lean_Parser_Tactic_suffices;
lean_object* l_Lean_Parser_Tactic_change___elambda__1___closed__5;
+extern lean_object* l_Lean_Parser_mkAntiquot___closed__22;
lean_object* l_Lean_Parser_Tactic_case___closed__1;
+lean_object* l_Lean_Parser_Tactic_focus___elambda__1___closed__11;
+lean_object* l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__10;
+lean_object* l_Lean_Parser_Tactic_skip___elambda__1___closed__8;
+lean_object* l_Lean_Parser_Tactic_injection___elambda__1___closed__13;
lean_object* l_Lean_Parser_Tactic_injection___elambda__1___closed__6;
extern lean_object* l_Lean_Parser_Term_matchAlts_formatter___closed__4;
lean_object* l_Lean_Parser_Tactic_intros_parenthesizer___closed__1;
@@ -1232,9 +1359,10 @@ lean_object* l_Lean_Parser_Tactic_generalize_formatter___closed__3;
lean_object* l_Lean_Parser_Tactic_revert___closed__7;
lean_object* l_Lean_Parser_Tactic_matchAlt_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Tactic_allGoals___closed__5;
+lean_object* l_Lean_Parser_Tactic_allGoals___elambda__1___closed__12;
+lean_object* l_Lean_Parser_Tactic_change___elambda__1___closed__14;
lean_object* l_Lean_Parser_Tactic_match_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_paren___closed__6;
-extern lean_object* l_Lean_Parser_Term_match___elambda__1___closed__9;
lean_object* l_Lean_Parser_Tactic_generalize_formatter___closed__5;
lean_object* l___regBuiltin_Lean_Parser_Tactic_injection_formatter___closed__1;
lean_object* l_Lean_Parser_Tactic_cases_parenthesizer___closed__2;
@@ -1252,6 +1380,7 @@ lean_object* l_Lean_Parser_Tactic_assumption_formatter___closed__2;
lean_object* l_Lean_Parser_Tactic_locationHyp___closed__4;
lean_object* l_Lean_Parser_Tactic_matchAlt_formatter___closed__3;
lean_object* l_Lean_Parser_Tactic_usingRec_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Tactic_paren___elambda__1___closed__4;
lean_object* l_Lean_Parser_Tactic_generalizingVars___closed__1;
lean_object* l_Lean_Parser_Tactic_generalizingVars;
lean_object* l_Lean_Parser_Tactic_intros_formatter___closed__3;
@@ -1261,11 +1390,11 @@ lean_object* l_Lean_Parser_Tactic_revert_formatter___closed__3;
lean_object* l_Lean_Parser_Tactic_case___closed__9;
lean_object* l_Lean_Parser_symbolInfo(lean_object*);
lean_object* l_Lean_Parser_Tactic_show___closed__2;
-extern lean_object* l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
lean_object* l_Lean_Parser_Tactic_generalize_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_induction_parenthesizer___closed__10;
extern lean_object* l___regBuiltin_Lean_Parser_Term_syntheticHole_formatter___closed__1;
lean_object* l_Lean_Parser_Tactic_refine_x21___closed__2;
+lean_object* l_Lean_Parser_Tactic_induction___elambda__1___closed__12;
lean_object* l___regBuiltin_Lean_Parser_Tactic_intros_formatter___closed__1;
extern lean_object* l_Lean_Parser_Tactic_tacticSeq;
lean_object* l_Lean_Parser_Tactic_revert___elambda__1___closed__5;
@@ -1277,7 +1406,8 @@ lean_object* l_Lean_Parser_Tactic_case___closed__8;
lean_object* l_Lean_Parser_Tactic_clear___elambda__1___closed__1;
lean_object* l_Lean_Parser_Tactic_change;
lean_object* l_Lean_Parser_Tactic_cases___elambda__1___closed__4;
-extern lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__6;
+lean_object* l_Lean_Parser_sepBy1Fn(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_orelseFnCore(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_clear___elambda__1___closed__8;
lean_object* l_Lean_Parser_Tactic_intros_formatter___closed__5;
lean_object* l_Lean_Parser_Tactic_rwRule_parenthesizer___closed__4;
@@ -1291,13 +1421,14 @@ lean_object* l_Lean_Parser_Tactic_done___closed__1;
lean_object* l_Lean_Parser_Tactic_locationWildcard___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_case___elambda__1___closed__7;
lean_object* l___regBuiltin_Lean_Parser_Tactic_show_parenthesizer(lean_object*);
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_inductionAlts___elambda__1___spec__2(uint8_t, lean_object*, uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_rwRule___elambda__1___closed__11;
extern lean_object* l_Lean_Parser_Term_typeAscription___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Tactic_changeWith_formatter(lean_object*);
lean_object* l_Lean_Parser_Tactic_case_formatter___closed__5;
lean_object* l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__4;
+lean_object* l_Lean_Parser_Tactic_refine___elambda__1___closed__11;
lean_object* l___regBuiltin_Lean_Parser_Tactic_focus_formatter(lean_object*);
+extern lean_object* l_Lean_Parser_Term_match___elambda__1___closed__19;
lean_object* l_Lean_Parser_Tactic_locationTarget___closed__5;
lean_object* l_Lean_Parser_categoryParser___elambda__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Tactic_show_formatter___closed__1;
@@ -1326,14 +1457,13 @@ lean_object* l_Lean_Parser_Tactic_suffices_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Tactic_traceState___elambda__1___closed__6;
lean_object* l_Lean_Parser_Tactic_rwRule___closed__1;
lean_object* l_Lean_Parser_Tactic_focus_formatter___closed__4;
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Tactic_inductionAlts___elambda__1___spec__1(uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_change___elambda__1(lean_object*, lean_object*);
extern lean_object* l_Lean_Parser_Term_match_parenthesizer___closed__3;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_matchAlts___elambda__1___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_done___elambda__1___closed__6;
lean_object* l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__3;
lean_object* l_Lean_Parser_Tactic_intro___closed__6;
lean_object* l_Lean_Parser_Tactic_rewriteSeq_parenthesizer___closed__4;
+lean_object* l_Lean_Parser_Tactic_refine___elambda__1___closed__12;
extern lean_object* l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__5;
lean_object* l_Lean_Parser_Tactic_matchAlts_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Tactic_allGoals_parenthesizer___closed__1;
@@ -1344,6 +1474,7 @@ lean_object* l_Lean_Parser_Tactic_show___closed__4;
extern lean_object* l_Lean_Parser_Term_let_x21___elambda__1___closed__1;
lean_object* l_Lean_Parser_Tactic_cases___closed__7;
lean_object* l_Lean_Parser_Tactic_rewriteSeq___closed__5;
+extern lean_object* l_Lean_Parser_Term_matchAlts___closed__2;
lean_object* l_Lean_Parser_Tactic_done;
lean_object* l_Lean_Parser_Tactic_show_formatter___closed__2;
lean_object* l___regBuiltin_Lean_Parser_Tactic_revert_parenthesizer___closed__1;
@@ -1359,61 +1490,77 @@ extern lean_object* l_Lean_KeyedDeclsAttribute_init___rarg___lambda__3___closed_
lean_object* l_Lean_Parser_Tactic_nestedTactic_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_subst___elambda__1___closed__6;
lean_object* l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__11;
-extern lean_object* l_Lean_ppGoal___closed__5;
lean_object* l_Lean_Parser_Tactic_rewrite___elambda__1___closed__6;
lean_object* l_Lean_Parser_Tactic_let_x21_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_rwRuleSeq_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_exact_formatter___closed__3;
lean_object* l___regBuiltin_Lean_Parser_Tactic_let_x21_parenthesizer(lean_object*);
+extern lean_object* l_Lean_Parser_Term_typeSpec___closed__4;
lean_object* l_Lean_Parser_Tactic_locationHyp___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_rwRuleSeq___closed__7;
lean_object* l_Lean_Parser_Tactic_subst_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_clear_formatter___closed__2;
+lean_object* l_Lean_Parser_Tactic_let___elambda__1___closed__5;
lean_object* l_Lean_Parser_Tactic_case___closed__7;
extern lean_object* l_Lean_Parser_Term_hole;
lean_object* l_Lean_Parser_Tactic_underscore_parenthesizer___boxed(lean_object*);
+extern lean_object* l_Lean_Parser_Term_let___elambda__1___closed__10;
+lean_object* l_Lean_Parser_Tactic_changeWith___elambda__1___closed__5;
lean_object* l_Lean_Parser_Tactic_case_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Tactic_revert___elambda__1___closed__11;
extern lean_object* l___regBuiltin_Lean_Parser_Term_hole_formatter___closed__1;
lean_object* l_Lean_Parser_Tactic_exact___closed__4;
lean_object* l___regBuiltinParser_Lean_Parser_Tactic_paren(lean_object*);
+lean_object* l_Lean_Parser_Tactic_subst___elambda__1___closed__11;
lean_object* l_Lean_Parser_Tactic_exact___elambda__1___closed__2;
lean_object* l_Lean_Parser_Tactic_matchAlt;
lean_object* l_Lean_Parser_Tactic_done___closed__4;
lean_object* l_Lean_Parser_Tactic_focus___closed__7;
+lean_object* l_Lean_Parser_Tactic_generalize___elambda__1___closed__19;
lean_object* l_Lean_Parser_Tactic_locationHyp___elambda__1___closed__4;
lean_object* l_String_trim(lean_object*);
lean_object* l_Lean_Parser_Tactic_allGoals_formatter___closed__2;
lean_object* l___regBuiltin_Lean_Parser_Tactic_traceState_formatter___closed__1;
lean_object* l_Lean_Parser_Tactic_withIds_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__6;
lean_object* l_Lean_Parser_Tactic_change_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_change___elambda__1___closed__4;
lean_object* l_Lean_Parser_darrow___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_matchAlt_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+extern lean_object* l_Lean_Parser_Level_paren___elambda__1___closed__8;
lean_object* l_Lean_Parser_Tactic_assumption_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Tactic_focus___elambda__1___closed__12;
lean_object* l_Lean_Parser_Tactic_apply_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Tactic_apply___closed__1;
lean_object* l_Lean_Parser_Tactic_rewrite___closed__3;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_optional_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_matchAlt_formatter___closed__1;
+lean_object* l_Lean_Parser_nodeFn(lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Tactic_clear___elambda__1___closed__11;
lean_object* l_Lean_Parser_Tactic_locationWildcard_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_change_parenthesizer___closed__4;
+lean_object* l_Lean_Parser_Tactic_done___elambda__1___closed__8;
lean_object* l_Lean_Parser_Tactic_revert_parenthesizer___closed__3;
lean_object* l___regBuiltin_Lean_Parser_Tactic_focus_formatter___closed__1;
lean_object* l_Lean_Parser_Tactic_rewrite_formatter___closed__2;
lean_object* l_Lean_Parser_Tactic_locationTarget;
lean_object* l_Lean_Parser_Tactic_rwRule___elambda__1___closed__5;
lean_object* l___regBuiltinParser_Lean_Parser_Tactic_assumption(lean_object*);
+lean_object* l_Lean_Parser_optionalFn(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_show___closed__1;
+extern lean_object* l_Lean_Parser_Term_show___elambda__1___closed__13;
extern lean_object* l_Lean_Parser_Term_typeAscription___closed__2;
-extern lean_object* l_Lean_Parser_Term_matchAlts___closed__1;
lean_object* l_Lean_Parser_Tactic_underscoreFn___closed__2;
+extern lean_object* l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__14;
lean_object* l_Lean_Parser_Tactic_induction_parenthesizer___closed__9;
lean_object* l_Lean_Parser_Tactic_locationHyp___elambda__1___closed__2;
lean_object* l_Lean_Parser_Tactic_generalize_formatter___closed__4;
+lean_object* l_Lean_Parser_Tactic_location___elambda__1___closed__11;
lean_object* l_Lean_Parser_Tactic_let___elambda__1___closed__3;
lean_object* l___regBuiltin_Lean_Parser_Tactic_intro_formatter(lean_object*);
lean_object* l_Lean_Parser_Tactic_show___elambda__1___closed__1;
lean_object* l_Lean_Parser_Tactic_generalize_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Tactic_change___elambda__1___closed__9;
extern lean_object* l_Lean_Parser_Term_let_parenthesizer___closed__3;
lean_object* l___regBuiltin_Lean_Parser_Tactic_refine_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Tactic_injection_formatter___closed__4;
@@ -1422,13 +1569,12 @@ lean_object* l_Lean_Parser_Tactic_case_formatter___closed__1;
lean_object* l_Lean_Parser_Tactic_induction_formatter___closed__4;
lean_object* l_Lean_Parser_Tactic_rewrite___elambda__1___closed__8;
extern lean_object* l_Lean_Parser_Term_matchAlt___closed__1;
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Tactic_rwRuleSeq___elambda__1___spec__1(uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_induction___closed__4;
extern lean_object* l_Lean_Parser_Term_tupleTail_formatter___closed__2;
lean_object* l_Lean_PrettyPrinter_Formatter_rawIdent_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Tactic_revert___elambda__1___closed__9;
lean_object* l_Lean_Parser_Tactic_match_formatter___closed__6;
extern lean_object* l_Lean_Parser_Term_depArrow_parenthesizer___closed__4;
-extern lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__5;
lean_object* l_Lean_Parser_Tactic_rwRuleSeq___closed__5;
lean_object* l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__4;
lean_object* l_Lean_Parser_Tactic_match_parenthesizer___closed__4;
@@ -1443,6 +1589,7 @@ lean_object* l_Lean_Parser_Tactic_inductionAlt___closed__1;
lean_object* l_Lean_Parser_Tactic_locationTarget_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Tactic_locationTarget_formatter___closed__3;
lean_object* l_Lean_Parser_Tactic_withIds_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Tactic_paren___elambda__1___closed__3;
lean_object* l_Lean_Parser_Tactic_location_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_apply___elambda__1___closed__2;
lean_object* l_Lean_Parser_Tactic_intros_formatter___closed__7;
@@ -1453,16 +1600,17 @@ extern lean_object* l_Lean_Parser_Tactic_quotSeq_formatter___closed__2;
lean_object* l_Lean_Parser_Tactic_exact___closed__2;
lean_object* l_Lean_Parser_Tactic_suffices___elambda__1___closed__3;
lean_object* l_Lean_Parser_Tactic_rewrite_parenthesizer___closed__7;
+lean_object* l_Lean_Parser_Tactic_injection___elambda__1___closed__11;
lean_object* l_Lean_Parser_Tactic_intro___closed__2;
lean_object* l_Lean_Parser_Tactic_exact_formatter___closed__2;
lean_object* l_Lean_Parser_Tactic_focus___closed__3;
lean_object* l_Lean_Parser_Tactic_generalize_formatter___closed__8;
lean_object* l_Lean_Parser_Tactic_change___elambda__1___closed__8;
-lean_object* l_Lean_Parser_Term_syntheticHole___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_matchAlt___closed__3;
extern lean_object* l_Lean_Parser_Term_suffices_formatter___closed__4;
extern lean_object* l_Lean_Parser_Term_have_formatter___closed__4;
lean_object* l_Lean_Parser_Tactic_changeWith___closed__3;
+lean_object* l_Lean_Parser_Tactic_cases___elambda__1___closed__11;
lean_object* l___regBuiltin_Lean_Parser_Tactic_intros_formatter(lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Tactic_apply_formatter(lean_object*);
lean_object* l_Lean_Parser_Tactic_majorPremise_parenthesizer___closed__1;
@@ -1472,6 +1620,9 @@ lean_object* l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__12;
lean_object* l_Lean_Parser_Tactic_induction_parenthesizer___closed__8;
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_Tactic_locationHyp___elambda__1___closed__1;
+lean_object* l_Lean_Parser_Tactic_skip___elambda__1___closed__9;
+lean_object* l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__9;
+lean_object* l_Lean_Parser_Tactic_paren___elambda__1___closed__5;
extern lean_object* l_Lean_Parser_Term_let_x21___elambda__1___closed__6;
lean_object* l_Lean_Parser_Tactic_cases___elambda__1(lean_object*, lean_object*);
lean_object* l___regBuiltinParser_Lean_Parser_Tactic_rewrite(lean_object*);
@@ -1479,24 +1630,28 @@ lean_object* l_Lean_Parser_Tactic_underscoreFn___closed__1;
lean_object* l_Lean_Parser_Tactic_intro___elambda__1___closed__12;
lean_object* l_Lean_Parser_Tactic_changeWith_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_change___closed__7;
+lean_object* l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__5;
lean_object* l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__4;
lean_object* l_Lean_Parser_Tactic_assumption___elambda__1___closed__7;
lean_object* l_Lean_Parser_Tactic_change_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Tactic_generalize_parenthesizer(lean_object*);
+lean_object* l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__3;
extern lean_object* l_Lean_Parser_Term_matchAlt_formatter___closed__1;
extern lean_object* l_Lean_Parser_Term_structInstArrayRef_formatter___closed__2;
+extern lean_object* l_Lean_Parser_Term_matchAlts___closed__5;
lean_object* l_Lean_Parser_Tactic_matchAlt___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_ident_x27_formatter___closed__1;
lean_object* l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__8;
lean_object* l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__1;
lean_object* l_Lean_Parser_Tactic_matchAlts___closed__2;
lean_object* l_Lean_Parser_Tactic_exact_formatter___closed__1;
+lean_object* l_Lean_Parser_unicodeSymbolFn___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_rwRule___elambda__1___closed__7;
lean_object* l_Lean_Parser_Tactic_refine_x21___closed__6;
lean_object* l___regBuiltin_Lean_Parser_Tactic_subst_formatter___closed__1;
lean_object* l_Lean_Parser_Tactic_revert___elambda__1___closed__8;
-lean_object* l_Lean_Parser_Tactic_underscoreFn___closed__3;
lean_object* l_Lean_Parser_Tactic_rewriteSeq_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Tactic_cases___elambda__1___closed__10;
lean_object* l_Lean_Parser_manyFn(lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Tactic_paren_parenthesizer___closed__1;
extern lean_object* l_Lean_Parser_antiquotNestedExpr_formatter___closed__4;
@@ -1508,8 +1663,10 @@ lean_object* l_Lean_Parser_Tactic_induction___closed__9;
lean_object* l_Lean_Parser_Tactic_locationWildcard_formatter___closed__2;
lean_object* l_Lean_Parser_Tactic_rewrite_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_rewrite___closed__7;
+lean_object* l_Lean_Parser_Tactic_allGoals___elambda__1___closed__11;
lean_object* l_Lean_Parser_Tactic_allGoals___closed__4;
lean_object* l_Lean_Parser_Tactic_revert___elambda__1___closed__4;
+lean_object* l_Lean_Parser_Tactic_case___elambda__1___closed__11;
lean_object* l_Lean_Parser_Tactic_clear___closed__7;
lean_object* l_Lean_Parser_Tactic_intro___closed__1;
lean_object* l_Lean_Parser_Tactic_location_parenthesizer___closed__6;
@@ -1521,6 +1678,7 @@ lean_object* l_Lean_Parser_Tactic_cases_formatter___closed__5;
lean_object* l_Lean_Parser_Tactic_rwRuleSeq___closed__3;
lean_object* l___regBuiltin_Lean_Parser_Tactic_case_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Tactic_inductionAlts___closed__4;
+lean_object* l_Lean_Parser_Tactic_match___elambda__1___closed__10;
lean_object* l_Lean_Parser_Tactic_injection___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_generalizingVars___closed__3;
lean_object* l_Lean_Parser_Tactic_withAlts_parenthesizer___closed__1;
@@ -1535,13 +1693,14 @@ lean_object* l_Lean_Parser_Tactic_rwRuleSeq_parenthesizer(lean_object*, lean_obj
lean_object* l___regBuiltin_Lean_Parser_Tactic_rewrite_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Tactic_locationHyp___closed__2;
lean_object* l_Lean_Parser_Tactic_underscore_parenthesizer___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Tactic_changeWith___elambda__1___closed__8;
lean_object* l_Lean_Parser_Tactic_inductionAlts___closed__1;
lean_object* l_Lean_Parser_Tactic_generalize_parenthesizer___closed__7;
extern lean_object* l_Lean_Parser_Term_show_formatter___closed__2;
lean_object* l___regBuiltin_Lean_Parser_Tactic_traceState_formatter(lean_object*);
lean_object* l_Lean_Parser_Tactic_locationWildcard___elambda__1___closed__3;
lean_object* l___regBuiltin_Lean_Parser_Tactic_clear_parenthesizer(lean_object*);
-extern lean_object* l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
+lean_object* l_Lean_Parser_Tactic_case___elambda__1___closed__12;
lean_object* l_Lean_Parser_Tactic_rewrite___elambda__1___closed__2;
lean_object* l_Lean_Parser_Tactic_skip_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Tactic_rwRule___elambda__1(lean_object*, lean_object*);
@@ -1557,6 +1716,7 @@ lean_object* l_Lean_Parser_Tactic_revert___elambda__1___closed__1;
lean_object* l_Lean_PrettyPrinter_Formatter_sepBy1_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_injection_formatter___closed__2;
lean_object* l_Lean_Parser_unicodeSymbolInfo(lean_object*, lean_object*);
+extern lean_object* l_Lean_Parser_Term_tupleTail___elambda__1___closed__7;
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_Parser_Tactic_done_parenthesizer___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Tactic_rewrite_formatter___closed__1;
@@ -1571,37 +1731,38 @@ lean_object* l_Lean_Parser_Tactic_exact___elambda__1___closed__7;
lean_object* l_Lean_Parser_Tactic_inductionAlts_formatter___closed__3;
lean_object* l_Lean_Parser_Tactic_rewriteSeq_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Tactic_allGoals_formatter___closed__4;
-extern lean_object* l_Lean_Parser_Term_show___elambda__1___closed__9;
lean_object* l___regBuiltinParser_Lean_Parser_Tactic_skip(lean_object*);
lean_object* l_Lean_PrettyPrinter_Parenthesizer_many1_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_paren_formatter___closed__4;
-extern lean_object* l_Lean_Parser_Term_matchAlts___closed__7;
lean_object* l_Lean_Parser_Tactic_change___elambda__1___closed__2;
lean_object* l_Lean_Parser_Tactic_done___closed__5;
+lean_object* l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__12;
lean_object* l_Lean_Parser_Tactic_clear___elambda__1___closed__6;
lean_object* l___regBuiltinParser_Lean_Parser_Tactic_subst(lean_object*);
lean_object* l_Lean_Parser_Tactic_intros___elambda__1___closed__4;
lean_object* l_Lean_Parser_Tactic_refine___elambda__1___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Tactic_suffices_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Tactic_orelse___elambda__1___closed__3;
+lean_object* l_Lean_Parser_Tactic_let___elambda__1___closed__6;
lean_object* l_Lean_Parser_Tactic_locationHyp___closed__1;
lean_object* l_Lean_Parser_Tactic_ident_x27_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Tactic_suffices_formatter___closed__1;
-lean_object* l_Lean_Parser_ParserState_mkUnexpectedError(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_skip;
lean_object* l_Lean_Parser_Tactic_intros___elambda__1___closed__8;
lean_object* l_Lean_Parser_Tactic_apply___elambda__1___closed__8;
lean_object* l_Lean_Parser_Tactic_rwRule___closed__3;
+lean_object* l_Lean_Parser_Tactic_subst___elambda__1___closed__9;
lean_object* l_Lean_Parser_Tactic_inductionAlt_formatter___closed__4;
lean_object* l_Lean_Parser_Tactic_assumption___elambda__1(lean_object*, lean_object*);
-lean_object* l_Lean_Parser_Tactic_orelse___elambda__1___closed__5;
lean_object* l_Lean_Parser_Tactic_matchAlts;
+lean_object* l_Lean_Parser_symbolFnAux(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Tactic_refine_x21_formatter(lean_object*);
lean_object* l_Lean_Parser_Tactic_focus_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__9;
lean_object* l_Lean_Parser_Tactic_admit_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_refine_x21_formatter___closed__3;
lean_object* l_Lean_Parser_Tactic_revert___elambda__1___closed__2;
+lean_object* l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__5;
lean_object* l_Lean_Parser_Tactic_match_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_refine___elambda__1___closed__2;
lean_object* l_Lean_Parser_Tactic_let_x21___closed__5;
@@ -1612,10 +1773,13 @@ lean_object* l_Lean_Parser_Tactic_matchAlt___closed__5;
extern lean_object* l_Lean_Parser_Term_structInst___elambda__1___closed__4;
lean_object* l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(lean_object*);
lean_object* l_Lean_Parser_Tactic_intro_formatter___closed__3;
+lean_object* l_Lean_Parser_Tactic_intros___elambda__1___closed__9;
lean_object* l___regBuiltinParser_Lean_Parser_Tactic_orelse(lean_object*);
lean_object* l_Lean_Parser_Tactic_rwRuleSeq_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Tactic_traceState___elambda__1___closed__2;
+extern lean_object* l_Lean_Parser_Term_have___elambda__1___closed__13;
lean_object* l_Lean_Parser_Tactic_injection___elambda__1___closed__2;
+lean_object* l_Lean_Parser_Tactic_paren___elambda__1___closed__6;
lean_object* l_Lean_Parser_Tactic_generalize_formatter___closed__1;
lean_object* l_Lean_Parser_Tactic_allGoals___closed__1;
lean_object* l_Lean_Parser_Tactic_traceState;
@@ -1629,6 +1793,7 @@ lean_object* l_Lean_Parser_Tactic_rwRule___elambda__1___closed__10;
lean_object* l_Lean_Parser_Tactic_show_formatter___closed__1;
lean_object* l_Lean_Parser_Tactic_let_x21___closed__3;
lean_object* l_Lean_Parser_Tactic_focus_parenthesizer___closed__2;
+lean_object* l_Lean_Parser_Tactic_changeWith___elambda__1___closed__9;
lean_object* l_Lean_Parser_Tactic_locationHyp_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Tactic_matchAlts_formatter___closed__4;
lean_object* l___regBuiltinParser_Lean_Parser_Tactic_traceState(lean_object*);
@@ -1654,20 +1819,27 @@ lean_object* l_Lean_Parser_Term_haveDecl___elambda__1(lean_object*, lean_object*
extern lean_object* l_Lean_Parser_Parser_inhabited___closed__1;
lean_object* l_Lean_Parser_Tactic_rewrite_parenthesizer___closed__5;
lean_object* l_Lean_Parser_Tactic_refine;
+extern lean_object* l_Lean_Parser_Level_paren___elambda__1___closed__4;
lean_object* l_Lean_Parser_Tactic_generalize___closed__14;
+lean_object* l_Lean_Parser_Tactic_locationHyp___elambda__1___closed__6;
lean_object* l_Lean_Parser_Tactic_introMatch;
+lean_object* l_Lean_Parser_Tactic_traceState___elambda__1___closed__8;
lean_object* l___regBuiltin_Lean_Parser_Tactic_change_formatter(lean_object*);
lean_object* l_Lean_Parser_Tactic_done___closed__6;
extern lean_object* l_Lean_Parser_Term_orelse___elambda__1___closed__1;
+lean_object* l_Lean_Parser_Tactic_introMatch___elambda__1___closed__6;
lean_object* l_Lean_Parser_Tactic_generalize___closed__5;
lean_object* l_Lean_Parser_Tactic_paren_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_matchAlts_formatter___closed__2;
-extern lean_object* l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
lean_object* l_Lean_Parser_Tactic_assumption___elambda__1___closed__3;
-extern lean_object* l_Lean_ppGoal___closed__7;
+lean_object* l_Lean_Parser_Tactic_intros___elambda__1___closed__13;
+lean_object* l_Lean_Parser_Tactic_generalize___elambda__1___closed__21;
lean_object* l_Lean_Parser_Tactic_allGoals___elambda__1___closed__8;
lean_object* l_Lean_Parser_Tactic_rewrite_formatter___closed__1;
+lean_object* l_Lean_Parser_Tactic_done___elambda__1___closed__9;
+lean_object* l_Lean_Parser_Tactic_traceState___elambda__1___closed__9;
lean_object* l_Lean_Parser_Tactic_have_parenthesizer___closed__2;
+lean_object* l_Lean_Parser_Tactic_injection___elambda__1___closed__9;
lean_object* l___regBuiltin_Lean_Parser_Tactic_admit_formatter(lean_object*);
lean_object* l_Lean_Parser_Tactic_induction___elambda__1___closed__4;
lean_object* l___regBuiltin_Lean_Parser_Tactic_apply_parenthesizer(lean_object*);
@@ -1678,15 +1850,20 @@ lean_object* l_Lean_Parser_Tactic_withAlts_formatter___closed__2;
lean_object* l_Lean_Parser_Tactic_inductionAlt_formatter___closed__2;
lean_object* l_Lean_Parser_Tactic_assumption___elambda__1___closed__5;
lean_object* l_Lean_Parser_Tactic_let_x21_formatter___closed__2;
+lean_object* l_Lean_Parser_Tactic_focus___elambda__1___closed__10;
lean_object* l_Lean_Parser_Tactic_rwRule___closed__5;
+lean_object* l_Lean_Parser_checkColGtFn___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Tactic_generalize_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Tactic_underscore_parenthesizer___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_skip___closed__4;
+lean_object* l_Lean_Parser_Tactic_suffices___elambda__1___closed__6;
lean_object* l_Lean_Parser_Tactic_focus___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_rwRule___closed__7;
+lean_object* l_Lean_Parser_Tactic_location___elambda__1___closed__12;
lean_object* l_Lean_Parser_Tactic_rwRule_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Tactic_allGoals_formatter___closed__1;
lean_object* l_Lean_Parser_Tactic_rewriteSeq___closed__2;
+lean_object* l_Lean_Parser_Tactic_allGoals___elambda__1___closed__9;
lean_object* l_Lean_Parser_Tactic_induction___elambda__1___closed__1;
lean_object* l_Lean_Parser_Tactic_injection_formatter___closed__6;
lean_object* l_Lean_Parser_Tactic_rwRuleSeq_parenthesizer___closed__5;
@@ -1694,8 +1871,10 @@ lean_object* l_Lean_Parser_Tactic_done___elambda__1___closed__4;
lean_object* l_Lean_PrettyPrinter_Formatter_andthen_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Tactic_done_parenthesizer___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Tactic_nestedTactic_formatter(lean_object*);
+lean_object* l_Lean_Parser_Tactic_intro___elambda__1___closed__20;
lean_object* l_Lean_Parser_Tactic_refine_x21___closed__3;
lean_object* l_Lean_PrettyPrinter_Formatter_nonReservedSymbol_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Tactic_show___elambda__1___closed__5;
lean_object* l_Lean_Parser_Tactic_matchAlts_formatter___closed__1;
lean_object* l_Lean_Parser_Tactic_rewrite_formatter___closed__4;
extern lean_object* l_Lean_Parser_Term_let_x21___closed__2;
@@ -1711,16 +1890,20 @@ lean_object* l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__1;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_try_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_changeWith___elambda__1___closed__3;
lean_object* l_Lean_Parser_Tactic_paren___closed__7;
+lean_object* l_Lean_Parser_Tactic_change___elambda__1___closed__13;
lean_object* l___regBuiltin_Lean_Parser_Tactic_clear_formatter(lean_object*);
+lean_object* l_Lean_Parser_Tactic_changeWith___elambda__1___closed__7;
+extern lean_object* l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__8;
lean_object* l_Lean_Parser_Tactic_clear_parenthesizer___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Tactic_have_formatter(lean_object*);
+lean_object* l_Lean_Parser_Tactic_apply___elambda__1___closed__9;
lean_object* l_Lean_Parser_Tactic_allGoals___elambda__1___closed__4;
lean_object* l_Lean_Parser_Tactic_intro___elambda__1___closed__10;
lean_object* l_Lean_Parser_termParser_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Tactic_cases___elambda__1___closed__13;
lean_object* l_Lean_Parser_Tactic_match___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_let_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Tactic_rewriteSeq_parenthesizer___closed__1;
-uint8_t lean_string_dec_eq(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_withAlts___closed__3;
lean_object* l_Lean_Parser_Tactic_majorPremise;
lean_object* l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__5;
@@ -1756,91 +1939,23 @@ x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Tactic_underscoreFn___closed__3() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Tactic_underscoreFn___closed__2;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
-}
-}
lean_object* l_Lean_Parser_Tactic_underscoreFn(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
-x_3 = lean_ctor_get(x_2, 1);
-lean_inc(x_3);
-x_4 = l_Lean_Parser_tokenFn(x_1, x_2);
-x_5 = lean_ctor_get(x_4, 3);
-lean_inc(x_5);
-if (lean_obj_tag(x_5) == 0)
-{
-lean_object* x_14; lean_object* x_15;
-x_14 = lean_ctor_get(x_4, 0);
-lean_inc(x_14);
-x_15 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_14);
-lean_dec(x_14);
-if (lean_obj_tag(x_15) == 2)
-{
-lean_object* x_16; lean_object* x_17; uint8_t x_18;
-x_16 = lean_ctor_get(x_15, 1);
-lean_inc(x_16);
-lean_dec(x_15);
-x_17 = l_Lean_mkHole___closed__3;
-x_18 = lean_string_dec_eq(x_16, x_17);
-lean_dec(x_16);
-if (x_18 == 0)
-{
-lean_object* x_19; lean_object* x_20;
-x_19 = l_Lean_Parser_Tactic_underscoreFn___closed__3;
-x_20 = l_Lean_Parser_ParserState_mkErrorsAt(x_4, x_19, x_3);
-x_6 = x_20;
-goto block_13;
-}
-else
-{
-lean_dec(x_3);
-x_6 = x_4;
-goto block_13;
-}
-}
-else
-{
-lean_object* x_21; lean_object* x_22;
-lean_dec(x_15);
-x_21 = l_Lean_Parser_Tactic_underscoreFn___closed__3;
-x_22 = l_Lean_Parser_ParserState_mkErrorsAt(x_4, x_21, x_3);
-x_6 = x_22;
-goto block_13;
-}
-}
-else
-{
-lean_object* x_23; lean_object* x_24;
-lean_dec(x_5);
-x_23 = l_Lean_Parser_Tactic_underscoreFn___closed__3;
-x_24 = l_Lean_Parser_ParserState_mkErrorsAt(x_4, x_23, x_3);
-x_6 = x_24;
-goto block_13;
-}
-block_13:
-{
-lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12;
-x_7 = lean_ctor_get(x_6, 0);
-lean_inc(x_7);
-x_8 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_7);
+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;
+x_3 = l_Lean_mkHole___closed__3;
+x_4 = l_Lean_Parser_Tactic_underscoreFn___closed__2;
+x_5 = l_Lean_Parser_symbolFnAux(x_3, x_4, x_1, x_2);
+x_6 = lean_ctor_get(x_5, 0);
+lean_inc(x_6);
+x_7 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_6);
+lean_dec(x_6);
+x_8 = l_Lean_Parser_ParserState_popSyntax(x_5);
+x_9 = l_Lean_mkSimpleThunk___closed__1;
+x_10 = l_Lean_mkIdentFrom(x_7, x_9);
lean_dec(x_7);
-x_9 = l_Lean_Parser_ParserState_popSyntax(x_6);
-x_10 = l_Lean_mkSimpleThunk___closed__1;
-x_11 = l_Lean_mkIdentFrom(x_8, x_10);
-lean_dec(x_8);
-x_12 = l_Lean_Parser_ParserState_pushSyntax(x_9, x_11);
-return x_12;
-}
+x_11 = l_Lean_Parser_ParserState_pushSyntax(x_8, x_10);
+return x_11;
}
}
static lean_object* _init_l_Lean_Parser_Tactic_underscore___closed__1() {
@@ -1930,56 +2045,13 @@ return x_6;
lean_object* l_Lean_Parser_Tactic_ident_x27___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-lean_inc(x_1);
-x_6 = l_Lean_Parser_ident___elambda__1(x_1, x_2);
-x_7 = lean_ctor_get(x_6, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
-{
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_1);
+lean_object* x_3; lean_object* x_4; uint8_t x_5; lean_object* x_6;
+x_3 = l_Lean_Parser_ident___closed__2;
+x_4 = l_Lean_Parser_Tactic_underscore___closed__1;
+x_5 = 1;
+x_6 = l_Lean_Parser_orelseFnCore(x_3, x_4, x_5, x_1, x_2);
return x_6;
}
-else
-{
-lean_object* x_8; lean_object* x_9; uint8_t x_10;
-x_8 = lean_ctor_get(x_7, 0);
-lean_inc(x_8);
-lean_dec(x_7);
-x_9 = lean_ctor_get(x_6, 1);
-lean_inc(x_9);
-x_10 = lean_nat_dec_eq(x_9, x_5);
-lean_dec(x_9);
-if (x_10 == 0)
-{
-lean_dec(x_8);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_6;
-}
-else
-{
-lean_object* x_11; lean_object* x_12; uint8_t x_13; lean_object* x_14;
-lean_inc(x_5);
-x_11 = l_Lean_Parser_ParserState_restore(x_6, x_4, x_5);
-lean_dec(x_4);
-x_12 = l_Lean_Parser_Tactic_underscoreFn(x_1, x_11);
-x_13 = 1;
-x_14 = l_Lean_Parser_mergeOrElseErrors(x_12, x_8, x_5, x_13);
-lean_dec(x_5);
-return x_14;
-}
-}
-}
}
static lean_object* _init_l_Lean_Parser_Tactic_ident_x27___closed__1() {
_start:
@@ -2021,155 +2093,6 @@ x_1 = l_Lean_Parser_Tactic_ident_x27___closed__3;
return x_1;
}
}
-static lean_object* _init_l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_intro___elambda__1___spec__1___closed__1() {
-_start:
-{
-lean_object* x_1;
-x_1 = lean_mk_string("checkColGt");
-return x_1;
-}
-}
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_intro___elambda__1___spec__1(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_24;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-x_24 = lean_ctor_get(x_1, 4);
-lean_inc(x_24);
-if (lean_obj_tag(x_24) == 0)
-{
-x_6 = x_2;
-goto block_23;
-}
-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; uint8_t x_31;
-x_25 = lean_ctor_get(x_24, 0);
-lean_inc(x_25);
-lean_dec(x_24);
-x_26 = lean_ctor_get(x_1, 0);
-lean_inc(x_26);
-x_27 = lean_ctor_get(x_26, 2);
-lean_inc(x_27);
-lean_dec(x_26);
-lean_inc(x_5);
-x_28 = l_Lean_FileMap_toPosition(x_27, x_5);
-lean_dec(x_27);
-x_29 = lean_ctor_get(x_25, 1);
-lean_inc(x_29);
-lean_dec(x_25);
-x_30 = lean_ctor_get(x_28, 1);
-lean_inc(x_30);
-lean_dec(x_28);
-x_31 = lean_nat_dec_lt(x_29, x_30);
-lean_dec(x_30);
-lean_dec(x_29);
-if (x_31 == 0)
-{
-lean_object* x_32; lean_object* x_33;
-x_32 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_intro___elambda__1___spec__1___closed__1;
-x_33 = l_Lean_Parser_ParserState_mkError(x_2, x_32);
-x_6 = x_33;
-goto block_23;
-}
-else
-{
-x_6 = x_2;
-goto block_23;
-}
-}
-block_23:
-{
-lean_object* x_7;
-x_7 = lean_ctor_get(x_6, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
-{
-lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
-x_8 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_9 = l_Lean_Parser_maxPrec;
-lean_inc(x_1);
-x_10 = l_Lean_Parser_categoryParser___elambda__1(x_8, x_9, x_1, x_6);
-x_11 = lean_ctor_get(x_10, 3);
-lean_inc(x_11);
-if (lean_obj_tag(x_11) == 0)
-{
-lean_object* x_12; uint8_t x_13;
-lean_dec(x_4);
-x_12 = lean_ctor_get(x_10, 1);
-lean_inc(x_12);
-x_13 = lean_nat_dec_eq(x_5, x_12);
-lean_dec(x_12);
-lean_dec(x_5);
-if (x_13 == 0)
-{
-x_2 = x_10;
-goto _start;
-}
-else
-{
-lean_object* x_15; lean_object* x_16;
-lean_dec(x_1);
-x_15 = l_Lean_Parser_manyAux___main___closed__1;
-x_16 = l_Lean_Parser_ParserState_mkUnexpectedError(x_10, x_15);
-return x_16;
-}
-}
-else
-{
-lean_object* x_17; uint8_t x_18;
-lean_dec(x_11);
-lean_dec(x_1);
-x_17 = lean_ctor_get(x_10, 1);
-lean_inc(x_17);
-x_18 = lean_nat_dec_eq(x_5, x_17);
-lean_dec(x_17);
-if (x_18 == 0)
-{
-lean_dec(x_5);
-lean_dec(x_4);
-return x_10;
-}
-else
-{
-lean_object* x_19;
-x_19 = l_Lean_Parser_ParserState_restore(x_10, x_4, x_5);
-lean_dec(x_4);
-return x_19;
-}
-}
-}
-else
-{
-lean_object* x_20; uint8_t x_21;
-lean_dec(x_7);
-lean_dec(x_1);
-x_20 = lean_ctor_get(x_6, 1);
-lean_inc(x_20);
-x_21 = lean_nat_dec_eq(x_5, x_20);
-lean_dec(x_20);
-if (x_21 == 0)
-{
-lean_dec(x_5);
-lean_dec(x_4);
-return x_6;
-}
-else
-{
-lean_object* x_22;
-x_22 = l_Lean_Parser_ParserState_restore(x_6, x_4, x_5);
-lean_dec(x_4);
-return x_22;
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Tactic_intro___elambda__1___closed__1() {
_start:
{
@@ -2229,21 +2152,141 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Tactic_intro___elambda__1___closed__7() {
_start:
{
-lean_object* x_1;
-x_1 = lean_mk_string("|");
-return x_1;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Tactic_intro___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbolFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Tactic_intro___elambda__1___closed__8() {
_start:
{
+lean_object* x_1;
+x_1 = lean_mk_string("|");
+return x_1;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_intro___elambda__1___closed__9() {
+_start:
+{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Tactic_intro___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Tactic_intro___elambda__1___closed__8;
x_2 = l_String_trim(x_1);
return x_2;
}
}
-static lean_object* _init_l_Lean_Parser_Tactic_intro___elambda__1___closed__9() {
+static lean_object* _init_l_Lean_Parser_Tactic_intro___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Tactic_intro___elambda__1___closed__9;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_intro___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_intro___elambda__1___closed__10;
+x_2 = l_Lean_Parser_Tactic_intro___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_notFollowedByFn___boxed), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_intro___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1;
+x_1 = lean_mk_string("checkColGt");
+return x_1;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_intro___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Tactic_intro___elambda__1___closed__12;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_checkColGtFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_intro___elambda__1___closed__14() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_intro___elambda__1___closed__13;
+x_2 = l_Lean_Parser_Term_explicit___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_intro___elambda__1___closed__15() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Tactic_intro___elambda__1___closed__14;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_manyFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_intro___elambda__1___closed__16() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_intro___elambda__1___closed__11;
+x_2 = l_Lean_Parser_Tactic_intro___elambda__1___closed__15;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_intro___elambda__1___closed__17() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_intro___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Tactic_intro___elambda__1___closed__16;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_intro___elambda__1___closed__18() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_intro___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Tactic_intro___elambda__1___closed__17;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_intro___elambda__1___closed__19() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Tactic_intro___elambda__1___closed__18;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_intro___elambda__1___closed__20() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
@@ -2253,58 +2296,16 @@ x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Tactic_intro___elambda__1___closed__10() {
+static lean_object* _init_l_Lean_Parser_Tactic_intro___elambda__1___closed__21() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Tactic_intro___elambda__1___closed__9;
+x_1 = l_Lean_Parser_Tactic_intro___elambda__1___closed__20;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Tactic_intro___elambda__1___closed__11() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_notFollowedByFn___closed__1;
-x_2 = l_Lean_Parser_Tactic_intro___elambda__1___closed__7;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
-}
-}
-static lean_object* _init_l_Lean_Parser_Tactic_intro___elambda__1___closed__12() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Tactic_intro___elambda__1___closed__8;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
-}
-}
-static lean_object* _init_l_Lean_Parser_Tactic_intro___elambda__1___closed__13() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Tactic_intro___elambda__1___closed__12;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
-}
-}
-static lean_object* _init_l_Lean_Parser_Tactic_intro___elambda__1___closed__14() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Tactic_intro___elambda__1___closed__13;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
-}
-}
lean_object* l_Lean_Parser_Tactic_intro___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -2331,120 +2332,53 @@ lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
x_11 = l_Lean_Parser_Tactic_intro___elambda__1___closed__6;
-x_12 = l_Lean_Parser_Tactic_intro___elambda__1___closed__10;
+x_12 = l_Lean_Parser_Tactic_intro___elambda__1___closed__21;
lean_inc(x_1);
x_13 = l_Lean_Parser_nonReservedSymbolFnAux(x_11, x_12, x_1, x_7);
x_14 = lean_ctor_get(x_13, 3);
lean_inc(x_14);
if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_34; lean_object* x_35;
-x_15 = lean_ctor_get(x_13, 0);
-lean_inc(x_15);
-x_16 = lean_array_get_size(x_15);
-lean_dec(x_15);
-x_17 = lean_ctor_get(x_13, 1);
-lean_inc(x_17);
+lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
+x_15 = l_Lean_Parser_Tactic_intro___elambda__1___closed__10;
+x_16 = l_Lean_Parser_Tactic_intro___elambda__1___closed__8;
lean_inc(x_1);
-x_34 = l_Lean_Parser_tokenFn(x_1, x_13);
-x_35 = lean_ctor_get(x_34, 3);
-lean_inc(x_35);
-if (lean_obj_tag(x_35) == 0)
+x_17 = l_Lean_Parser_notFollowedByFn(x_15, x_16, x_1, x_13);
+x_18 = lean_ctor_get(x_17, 3);
+lean_inc(x_18);
+if (lean_obj_tag(x_18) == 0)
{
-lean_object* x_36; lean_object* x_37;
-x_36 = lean_ctor_get(x_34, 0);
-lean_inc(x_36);
-x_37 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_36);
-lean_dec(x_36);
-if (lean_obj_tag(x_37) == 2)
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_37, 1);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = l_Lean_Parser_Tactic_intro___elambda__1___closed__8;
-x_40 = lean_string_dec_eq(x_38, x_39);
-lean_dec(x_38);
-if (x_40 == 0)
-{
-lean_object* x_41; lean_object* x_42;
-x_41 = l_Lean_Parser_Tactic_intro___elambda__1___closed__14;
-lean_inc(x_17);
-x_42 = l_Lean_Parser_ParserState_mkErrorsAt(x_34, x_41, x_17);
-x_18 = x_42;
-goto block_33;
-}
-else
-{
-x_18 = x_34;
-goto block_33;
-}
-}
-else
-{
-lean_object* x_43; lean_object* x_44;
-lean_dec(x_37);
-x_43 = l_Lean_Parser_Tactic_intro___elambda__1___closed__14;
-lean_inc(x_17);
-x_44 = l_Lean_Parser_ParserState_mkErrorsAt(x_34, x_43, x_17);
-x_18 = x_44;
-goto block_33;
-}
-}
-else
-{
-lean_object* x_45; lean_object* x_46;
-lean_dec(x_35);
-x_45 = l_Lean_Parser_Tactic_intro___elambda__1___closed__14;
-lean_inc(x_17);
-x_46 = l_Lean_Parser_ParserState_mkErrorsAt(x_34, x_45, x_17);
-x_18 = x_46;
-goto block_33;
-}
-block_33:
-{
-lean_object* x_19;
-x_19 = lean_ctor_get(x_18, 3);
+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;
+x_19 = lean_ctor_get(x_17, 0);
lean_inc(x_19);
-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_dec(x_1);
-x_20 = l_Lean_Parser_ParserState_restore(x_18, x_16, x_17);
-lean_dec(x_16);
-x_21 = l_Lean_Parser_Tactic_intro___elambda__1___closed__11;
-x_22 = l_Lean_Parser_ParserState_mkUnexpectedError(x_20, x_21);
-x_23 = l_Lean_Parser_Tactic_intro___elambda__1___closed__2;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_22, x_23, x_10);
-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;
+x_20 = lean_array_get_size(x_19);
lean_dec(x_19);
-x_25 = l_Lean_Parser_ParserState_restore(x_18, x_16, x_17);
-lean_dec(x_16);
-x_26 = lean_ctor_get(x_25, 0);
-lean_inc(x_26);
-x_27 = lean_array_get_size(x_26);
-lean_dec(x_26);
-x_28 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_intro___elambda__1___spec__1(x_1, x_25);
-x_29 = l_Lean_nullKind;
-x_30 = l_Lean_Parser_ParserState_mkNode(x_28, x_29, x_27);
-x_31 = l_Lean_Parser_Tactic_intro___elambda__1___closed__2;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_10);
-return x_32;
+x_21 = l_Lean_Parser_Tactic_intro___elambda__1___closed__14;
+x_22 = l_Lean_Parser_manyAux(x_21, x_1, x_17);
+x_23 = l_Lean_nullKind;
+x_24 = l_Lean_Parser_ParserState_mkNode(x_22, x_23, x_20);
+x_25 = l_Lean_Parser_Tactic_intro___elambda__1___closed__2;
+x_26 = l_Lean_Parser_ParserState_mkNode(x_24, x_25, x_10);
+return x_26;
}
+else
+{
+lean_object* x_27; lean_object* x_28;
+lean_dec(x_18);
+lean_dec(x_1);
+x_27 = l_Lean_Parser_Tactic_intro___elambda__1___closed__2;
+x_28 = l_Lean_Parser_ParserState_mkNode(x_17, x_27, x_10);
+return x_28;
}
}
else
{
-lean_object* x_47; lean_object* x_48;
+lean_object* x_29; lean_object* x_30;
lean_dec(x_14);
lean_dec(x_1);
-x_47 = l_Lean_Parser_Tactic_intro___elambda__1___closed__2;
-x_48 = l_Lean_Parser_ParserState_mkNode(x_13, x_47, x_10);
-return x_48;
+x_29 = l_Lean_Parser_Tactic_intro___elambda__1___closed__2;
+x_30 = l_Lean_Parser_ParserState_mkNode(x_13, x_29, x_10);
+return x_30;
}
}
else
@@ -2456,197 +2390,11 @@ return x_7;
}
else
{
-lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53;
-x_49 = lean_ctor_get(x_2, 0);
-lean_inc(x_49);
-x_50 = lean_array_get_size(x_49);
-lean_dec(x_49);
-x_51 = lean_ctor_get(x_2, 1);
-lean_inc(x_51);
-lean_inc(x_1);
-x_52 = lean_apply_2(x_4, x_1, x_2);
-x_53 = lean_ctor_get(x_52, 3);
-lean_inc(x_53);
-if (lean_obj_tag(x_53) == 0)
-{
-lean_dec(x_51);
-lean_dec(x_50);
-lean_dec(x_1);
-return x_52;
-}
-else
-{
-lean_object* x_54; lean_object* x_55; uint8_t x_56;
-x_54 = lean_ctor_get(x_53, 0);
-lean_inc(x_54);
-lean_dec(x_53);
-x_55 = lean_ctor_get(x_52, 1);
-lean_inc(x_55);
-x_56 = lean_nat_dec_eq(x_55, x_51);
-lean_dec(x_55);
-if (x_56 == 0)
-{
-lean_dec(x_54);
-lean_dec(x_51);
-lean_dec(x_50);
-lean_dec(x_1);
-return x_52;
-}
-else
-{
-lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60;
-lean_inc(x_51);
-x_57 = l_Lean_Parser_ParserState_restore(x_52, x_50, x_51);
-lean_dec(x_50);
-x_58 = lean_unsigned_to_nat(1024u);
-x_59 = l_Lean_Parser_checkPrecFn(x_58, x_1, x_57);
-x_60 = lean_ctor_get(x_59, 3);
-lean_inc(x_60);
-if (lean_obj_tag(x_60) == 0)
-{
-lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66;
-x_61 = lean_ctor_get(x_59, 0);
-lean_inc(x_61);
-x_62 = lean_array_get_size(x_61);
-lean_dec(x_61);
-x_63 = l_Lean_Parser_Tactic_intro___elambda__1___closed__6;
-x_64 = l_Lean_Parser_Tactic_intro___elambda__1___closed__10;
-lean_inc(x_1);
-x_65 = l_Lean_Parser_nonReservedSymbolFnAux(x_63, x_64, x_1, x_59);
-x_66 = lean_ctor_get(x_65, 3);
-lean_inc(x_66);
-if (lean_obj_tag(x_66) == 0)
-{
-lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_90; lean_object* x_91;
-x_67 = lean_ctor_get(x_65, 0);
-lean_inc(x_67);
-x_68 = lean_array_get_size(x_67);
-lean_dec(x_67);
-x_69 = lean_ctor_get(x_65, 1);
-lean_inc(x_69);
-lean_inc(x_1);
-x_90 = l_Lean_Parser_tokenFn(x_1, x_65);
-x_91 = lean_ctor_get(x_90, 3);
-lean_inc(x_91);
-if (lean_obj_tag(x_91) == 0)
-{
-lean_object* x_92; lean_object* x_93;
-x_92 = lean_ctor_get(x_90, 0);
-lean_inc(x_92);
-x_93 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_92);
-lean_dec(x_92);
-if (lean_obj_tag(x_93) == 2)
-{
-lean_object* x_94; lean_object* x_95; uint8_t x_96;
-x_94 = lean_ctor_get(x_93, 1);
-lean_inc(x_94);
-lean_dec(x_93);
-x_95 = l_Lean_Parser_Tactic_intro___elambda__1___closed__8;
-x_96 = lean_string_dec_eq(x_94, x_95);
-lean_dec(x_94);
-if (x_96 == 0)
-{
-lean_object* x_97; lean_object* x_98;
-x_97 = l_Lean_Parser_Tactic_intro___elambda__1___closed__14;
-lean_inc(x_69);
-x_98 = l_Lean_Parser_ParserState_mkErrorsAt(x_90, x_97, x_69);
-x_70 = x_98;
-goto block_89;
-}
-else
-{
-x_70 = x_90;
-goto block_89;
-}
-}
-else
-{
-lean_object* x_99; lean_object* x_100;
-lean_dec(x_93);
-x_99 = l_Lean_Parser_Tactic_intro___elambda__1___closed__14;
-lean_inc(x_69);
-x_100 = l_Lean_Parser_ParserState_mkErrorsAt(x_90, x_99, x_69);
-x_70 = x_100;
-goto block_89;
-}
-}
-else
-{
-lean_object* x_101; lean_object* x_102;
-lean_dec(x_91);
-x_101 = l_Lean_Parser_Tactic_intro___elambda__1___closed__14;
-lean_inc(x_69);
-x_102 = l_Lean_Parser_ParserState_mkErrorsAt(x_90, x_101, x_69);
-x_70 = x_102;
-goto block_89;
-}
-block_89:
-{
-lean_object* x_71;
-x_71 = lean_ctor_get(x_70, 3);
-lean_inc(x_71);
-if (lean_obj_tag(x_71) == 0)
-{
-lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; uint8_t x_77; lean_object* x_78;
-lean_dec(x_1);
-x_72 = l_Lean_Parser_ParserState_restore(x_70, x_68, x_69);
-lean_dec(x_68);
-x_73 = l_Lean_Parser_Tactic_intro___elambda__1___closed__11;
-x_74 = l_Lean_Parser_ParserState_mkUnexpectedError(x_72, x_73);
-x_75 = l_Lean_Parser_Tactic_intro___elambda__1___closed__2;
-x_76 = l_Lean_Parser_ParserState_mkNode(x_74, x_75, x_62);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_76, x_54, x_51, x_77);
-lean_dec(x_51);
-return x_78;
-}
-else
-{
-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; uint8_t x_87; lean_object* x_88;
-lean_dec(x_71);
-x_79 = l_Lean_Parser_ParserState_restore(x_70, x_68, x_69);
-lean_dec(x_68);
-x_80 = lean_ctor_get(x_79, 0);
-lean_inc(x_80);
-x_81 = lean_array_get_size(x_80);
-lean_dec(x_80);
-x_82 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_intro___elambda__1___spec__1(x_1, x_79);
-x_83 = l_Lean_nullKind;
-x_84 = l_Lean_Parser_ParserState_mkNode(x_82, x_83, x_81);
-x_85 = l_Lean_Parser_Tactic_intro___elambda__1___closed__2;
-x_86 = l_Lean_Parser_ParserState_mkNode(x_84, x_85, x_62);
-x_87 = 1;
-x_88 = l_Lean_Parser_mergeOrElseErrors(x_86, x_54, x_51, x_87);
-lean_dec(x_51);
-return x_88;
-}
-}
-}
-else
-{
-lean_object* x_103; lean_object* x_104; uint8_t x_105; lean_object* x_106;
-lean_dec(x_66);
-lean_dec(x_1);
-x_103 = l_Lean_Parser_Tactic_intro___elambda__1___closed__2;
-x_104 = l_Lean_Parser_ParserState_mkNode(x_65, x_103, x_62);
-x_105 = 1;
-x_106 = l_Lean_Parser_mergeOrElseErrors(x_104, x_54, x_51, x_105);
-lean_dec(x_51);
-return x_106;
-}
-}
-else
-{
-uint8_t x_107; lean_object* x_108;
-lean_dec(x_60);
-lean_dec(x_1);
-x_107 = 1;
-x_108 = l_Lean_Parser_mergeOrElseErrors(x_59, x_54, x_51, x_107);
-lean_dec(x_51);
-return x_108;
-}
-}
-}
+lean_object* x_31; uint8_t x_32; lean_object* x_33;
+x_31 = l_Lean_Parser_Tactic_intro___elambda__1___closed__19;
+x_32 = 1;
+x_33 = l_Lean_Parser_orelseFnCore(x_4, x_31, x_32, x_1, x_2);
+return x_33;
}
}
}
@@ -2803,7 +2551,7 @@ static lean_object* _init_l_Lean_Parser_Tactic_intro_formatter___closed__3() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Tactic_intro___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Tactic_intro___elambda__1___closed__8;
x_2 = lean_alloc_closure((void*)(l_Lean_Parser_notSymbol_formatter___boxed), 5, 1);
lean_closure_set(x_2, 0, x_1);
return x_2;
@@ -2915,7 +2663,7 @@ static lean_object* _init_l_Lean_Parser_Tactic_intro_parenthesizer___closed__2()
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Tactic_intro___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Tactic_intro___elambda__1___closed__8;
x_2 = lean_alloc_closure((void*)(l_Lean_Parser_notSymbol_parenthesizer___boxed), 5, 1);
lean_closure_set(x_2, 0, x_1);
return x_2;
@@ -3010,145 +2758,6 @@ x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1);
return x_5;
}
}
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_intros___elambda__1___spec__1(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_22;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-x_22 = lean_ctor_get(x_1, 4);
-lean_inc(x_22);
-if (lean_obj_tag(x_22) == 0)
-{
-x_6 = x_2;
-goto block_21;
-}
-else
-{
-lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t x_29;
-x_23 = lean_ctor_get(x_22, 0);
-lean_inc(x_23);
-lean_dec(x_22);
-x_24 = lean_ctor_get(x_1, 0);
-lean_inc(x_24);
-x_25 = lean_ctor_get(x_24, 2);
-lean_inc(x_25);
-lean_dec(x_24);
-lean_inc(x_5);
-x_26 = l_Lean_FileMap_toPosition(x_25, x_5);
-lean_dec(x_25);
-x_27 = lean_ctor_get(x_23, 1);
-lean_inc(x_27);
-lean_dec(x_23);
-x_28 = lean_ctor_get(x_26, 1);
-lean_inc(x_28);
-lean_dec(x_26);
-x_29 = lean_nat_dec_lt(x_27, x_28);
-lean_dec(x_28);
-lean_dec(x_27);
-if (x_29 == 0)
-{
-lean_object* x_30; lean_object* x_31;
-x_30 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_intro___elambda__1___spec__1___closed__1;
-x_31 = l_Lean_Parser_ParserState_mkError(x_2, x_30);
-x_6 = x_31;
-goto block_21;
-}
-else
-{
-x_6 = x_2;
-goto block_21;
-}
-}
-block_21:
-{
-lean_object* x_7;
-x_7 = lean_ctor_get(x_6, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
-{
-lean_object* x_8; lean_object* x_9;
-lean_inc(x_1);
-x_8 = l_Lean_Parser_Tactic_ident_x27___elambda__1(x_1, x_6);
-x_9 = lean_ctor_get(x_8, 3);
-lean_inc(x_9);
-if (lean_obj_tag(x_9) == 0)
-{
-lean_object* x_10; uint8_t x_11;
-lean_dec(x_4);
-x_10 = lean_ctor_get(x_8, 1);
-lean_inc(x_10);
-x_11 = lean_nat_dec_eq(x_5, x_10);
-lean_dec(x_10);
-lean_dec(x_5);
-if (x_11 == 0)
-{
-x_2 = x_8;
-goto _start;
-}
-else
-{
-lean_object* x_13; lean_object* x_14;
-lean_dec(x_1);
-x_13 = l_Lean_Parser_manyAux___main___closed__1;
-x_14 = l_Lean_Parser_ParserState_mkUnexpectedError(x_8, x_13);
-return x_14;
-}
-}
-else
-{
-lean_object* x_15; uint8_t x_16;
-lean_dec(x_9);
-lean_dec(x_1);
-x_15 = lean_ctor_get(x_8, 1);
-lean_inc(x_15);
-x_16 = lean_nat_dec_eq(x_5, x_15);
-lean_dec(x_15);
-if (x_16 == 0)
-{
-lean_dec(x_5);
-lean_dec(x_4);
-return x_8;
-}
-else
-{
-lean_object* x_17;
-x_17 = l_Lean_Parser_ParserState_restore(x_8, x_4, x_5);
-lean_dec(x_4);
-return x_17;
-}
-}
-}
-else
-{
-lean_object* x_18; uint8_t x_19;
-lean_dec(x_7);
-lean_dec(x_1);
-x_18 = lean_ctor_get(x_6, 1);
-lean_inc(x_18);
-x_19 = lean_nat_dec_eq(x_5, x_18);
-lean_dec(x_18);
-if (x_19 == 0)
-{
-lean_dec(x_5);
-lean_dec(x_4);
-return x_6;
-}
-else
-{
-lean_object* x_20;
-x_20 = l_Lean_Parser_ParserState_restore(x_6, x_4, x_5);
-lean_dec(x_4);
-return x_20;
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Tactic_intros___elambda__1___closed__1() {
_start:
{
@@ -3208,6 +2817,74 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Tactic_intros___elambda__1___closed__7() {
_start:
{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Tactic_intros___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbolFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_intros___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_intro___elambda__1___closed__13;
+x_2 = l_Lean_Parser_Tactic_ident_x27___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_intros___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Tactic_intros___elambda__1___closed__8;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_manyFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_intros___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_intros___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Tactic_intros___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_intros___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_intros___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Tactic_intros___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_intros___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Tactic_intros___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_intros___elambda__1___closed__13() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Char_HasRepr___closed__1;
x_2 = l_Lean_Parser_Tactic_intros___elambda__1___closed__6;
@@ -3215,11 +2892,11 @@ x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Tactic_intros___elambda__1___closed__8() {
+static lean_object* _init_l_Lean_Parser_Tactic_intros___elambda__1___closed__14() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Tactic_intros___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Tactic_intros___elambda__1___closed__13;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
@@ -3251,33 +2928,34 @@ lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
x_11 = l_Lean_Parser_Tactic_intros___elambda__1___closed__6;
-x_12 = l_Lean_Parser_Tactic_intros___elambda__1___closed__8;
+x_12 = l_Lean_Parser_Tactic_intros___elambda__1___closed__14;
lean_inc(x_1);
x_13 = l_Lean_Parser_nonReservedSymbolFnAux(x_11, x_12, x_1, x_7);
x_14 = lean_ctor_get(x_13, 3);
lean_inc(x_14);
if (lean_obj_tag(x_14) == 0)
{
-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_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_15 = lean_ctor_get(x_13, 0);
lean_inc(x_15);
x_16 = lean_array_get_size(x_15);
lean_dec(x_15);
-x_17 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_intros___elambda__1___spec__1(x_1, x_13);
-x_18 = l_Lean_nullKind;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_16);
-x_20 = l_Lean_Parser_Tactic_intros___elambda__1___closed__2;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_10);
-return x_21;
+x_17 = l_Lean_Parser_Tactic_intros___elambda__1___closed__8;
+x_18 = l_Lean_Parser_manyAux(x_17, x_1, x_13);
+x_19 = l_Lean_nullKind;
+x_20 = l_Lean_Parser_ParserState_mkNode(x_18, x_19, x_16);
+x_21 = l_Lean_Parser_Tactic_intros___elambda__1___closed__2;
+x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_10);
+return x_22;
}
else
{
-lean_object* x_22; lean_object* x_23;
+lean_object* x_23; lean_object* x_24;
lean_dec(x_14);
lean_dec(x_1);
-x_22 = l_Lean_Parser_Tactic_intros___elambda__1___closed__2;
-x_23 = l_Lean_Parser_ParserState_mkNode(x_13, x_22, x_10);
-return x_23;
+x_23 = l_Lean_Parser_Tactic_intros___elambda__1___closed__2;
+x_24 = l_Lean_Parser_ParserState_mkNode(x_13, x_23, x_10);
+return x_24;
}
}
else
@@ -3289,108 +2967,12 @@ return x_7;
}
else
{
-lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
-x_24 = lean_ctor_get(x_2, 0);
-lean_inc(x_24);
-x_25 = lean_array_get_size(x_24);
-lean_dec(x_24);
-x_26 = lean_ctor_get(x_2, 1);
-lean_inc(x_26);
-lean_inc(x_1);
-x_27 = lean_apply_2(x_4, x_1, x_2);
-x_28 = lean_ctor_get(x_27, 3);
-lean_inc(x_28);
-if (lean_obj_tag(x_28) == 0)
-{
-lean_dec(x_26);
-lean_dec(x_25);
-lean_dec(x_1);
+lean_object* x_25; uint8_t x_26; lean_object* x_27;
+x_25 = l_Lean_Parser_Tactic_intros___elambda__1___closed__12;
+x_26 = 1;
+x_27 = l_Lean_Parser_orelseFnCore(x_4, x_25, x_26, x_1, x_2);
return x_27;
}
-else
-{
-lean_object* x_29; lean_object* x_30; uint8_t x_31;
-x_29 = lean_ctor_get(x_28, 0);
-lean_inc(x_29);
-lean_dec(x_28);
-x_30 = lean_ctor_get(x_27, 1);
-lean_inc(x_30);
-x_31 = lean_nat_dec_eq(x_30, x_26);
-lean_dec(x_30);
-if (x_31 == 0)
-{
-lean_dec(x_29);
-lean_dec(x_26);
-lean_dec(x_25);
-lean_dec(x_1);
-return x_27;
-}
-else
-{
-lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35;
-lean_inc(x_26);
-x_32 = l_Lean_Parser_ParserState_restore(x_27, x_25, x_26);
-lean_dec(x_25);
-x_33 = lean_unsigned_to_nat(1024u);
-x_34 = l_Lean_Parser_checkPrecFn(x_33, x_1, x_32);
-x_35 = lean_ctor_get(x_34, 3);
-lean_inc(x_35);
-if (lean_obj_tag(x_35) == 0)
-{
-lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41;
-x_36 = lean_ctor_get(x_34, 0);
-lean_inc(x_36);
-x_37 = lean_array_get_size(x_36);
-lean_dec(x_36);
-x_38 = l_Lean_Parser_Tactic_intros___elambda__1___closed__6;
-x_39 = l_Lean_Parser_Tactic_intros___elambda__1___closed__8;
-lean_inc(x_1);
-x_40 = l_Lean_Parser_nonReservedSymbolFnAux(x_38, x_39, x_1, x_34);
-x_41 = lean_ctor_get(x_40, 3);
-lean_inc(x_41);
-if (lean_obj_tag(x_41) == 0)
-{
-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; uint8_t x_49; lean_object* x_50;
-x_42 = lean_ctor_get(x_40, 0);
-lean_inc(x_42);
-x_43 = lean_array_get_size(x_42);
-lean_dec(x_42);
-x_44 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_intros___elambda__1___spec__1(x_1, x_40);
-x_45 = l_Lean_nullKind;
-x_46 = l_Lean_Parser_ParserState_mkNode(x_44, x_45, x_43);
-x_47 = l_Lean_Parser_Tactic_intros___elambda__1___closed__2;
-x_48 = l_Lean_Parser_ParserState_mkNode(x_46, x_47, x_37);
-x_49 = 1;
-x_50 = l_Lean_Parser_mergeOrElseErrors(x_48, x_29, x_26, x_49);
-lean_dec(x_26);
-return x_50;
-}
-else
-{
-lean_object* x_51; lean_object* x_52; uint8_t x_53; lean_object* x_54;
-lean_dec(x_41);
-lean_dec(x_1);
-x_51 = l_Lean_Parser_Tactic_intros___elambda__1___closed__2;
-x_52 = l_Lean_Parser_ParserState_mkNode(x_40, x_51, x_37);
-x_53 = 1;
-x_54 = l_Lean_Parser_mergeOrElseErrors(x_52, x_29, x_26, x_53);
-lean_dec(x_26);
-return x_54;
-}
-}
-else
-{
-uint8_t x_55; lean_object* x_56;
-lean_dec(x_35);
-lean_dec(x_1);
-x_55 = 1;
-x_56 = l_Lean_Parser_mergeOrElseErrors(x_34, x_29, x_26, x_55);
-lean_dec(x_26);
-return x_56;
-}
-}
-}
-}
}
}
static lean_object* _init_l_Lean_Parser_Tactic_intros___closed__1() {
@@ -3751,145 +3333,6 @@ x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1);
return x_5;
}
}
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_revert___elambda__1___spec__1(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_22;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-x_22 = lean_ctor_get(x_1, 4);
-lean_inc(x_22);
-if (lean_obj_tag(x_22) == 0)
-{
-x_6 = x_2;
-goto block_21;
-}
-else
-{
-lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t x_29;
-x_23 = lean_ctor_get(x_22, 0);
-lean_inc(x_23);
-lean_dec(x_22);
-x_24 = lean_ctor_get(x_1, 0);
-lean_inc(x_24);
-x_25 = lean_ctor_get(x_24, 2);
-lean_inc(x_25);
-lean_dec(x_24);
-lean_inc(x_5);
-x_26 = l_Lean_FileMap_toPosition(x_25, x_5);
-lean_dec(x_25);
-x_27 = lean_ctor_get(x_23, 1);
-lean_inc(x_27);
-lean_dec(x_23);
-x_28 = lean_ctor_get(x_26, 1);
-lean_inc(x_28);
-lean_dec(x_26);
-x_29 = lean_nat_dec_lt(x_27, x_28);
-lean_dec(x_28);
-lean_dec(x_27);
-if (x_29 == 0)
-{
-lean_object* x_30; lean_object* x_31;
-x_30 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_intro___elambda__1___spec__1___closed__1;
-x_31 = l_Lean_Parser_ParserState_mkError(x_2, x_30);
-x_6 = x_31;
-goto block_21;
-}
-else
-{
-x_6 = x_2;
-goto block_21;
-}
-}
-block_21:
-{
-lean_object* x_7;
-x_7 = lean_ctor_get(x_6, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
-{
-lean_object* x_8; lean_object* x_9;
-lean_inc(x_1);
-x_8 = l_Lean_Parser_ident___elambda__1(x_1, x_6);
-x_9 = lean_ctor_get(x_8, 3);
-lean_inc(x_9);
-if (lean_obj_tag(x_9) == 0)
-{
-lean_object* x_10; uint8_t x_11;
-lean_dec(x_4);
-x_10 = lean_ctor_get(x_8, 1);
-lean_inc(x_10);
-x_11 = lean_nat_dec_eq(x_5, x_10);
-lean_dec(x_10);
-lean_dec(x_5);
-if (x_11 == 0)
-{
-x_2 = x_8;
-goto _start;
-}
-else
-{
-lean_object* x_13; lean_object* x_14;
-lean_dec(x_1);
-x_13 = l_Lean_Parser_manyAux___main___closed__1;
-x_14 = l_Lean_Parser_ParserState_mkUnexpectedError(x_8, x_13);
-return x_14;
-}
-}
-else
-{
-lean_object* x_15; uint8_t x_16;
-lean_dec(x_9);
-lean_dec(x_1);
-x_15 = lean_ctor_get(x_8, 1);
-lean_inc(x_15);
-x_16 = lean_nat_dec_eq(x_5, x_15);
-lean_dec(x_15);
-if (x_16 == 0)
-{
-lean_dec(x_5);
-lean_dec(x_4);
-return x_8;
-}
-else
-{
-lean_object* x_17;
-x_17 = l_Lean_Parser_ParserState_restore(x_8, x_4, x_5);
-lean_dec(x_4);
-return x_17;
-}
-}
-}
-else
-{
-lean_object* x_18; uint8_t x_19;
-lean_dec(x_7);
-lean_dec(x_1);
-x_18 = lean_ctor_get(x_6, 1);
-lean_inc(x_18);
-x_19 = lean_nat_dec_eq(x_5, x_18);
-lean_dec(x_18);
-if (x_19 == 0)
-{
-lean_dec(x_5);
-lean_dec(x_4);
-return x_6;
-}
-else
-{
-lean_object* x_20;
-x_20 = l_Lean_Parser_ParserState_restore(x_6, x_4, x_5);
-lean_dec(x_4);
-return x_20;
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Tactic_revert___elambda__1___closed__1() {
_start:
{
@@ -3949,6 +3392,74 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Tactic_revert___elambda__1___closed__7() {
_start:
{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Tactic_revert___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbolFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_revert___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_intro___elambda__1___closed__13;
+x_2 = l_Lean_Parser_ident___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_revert___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Tactic_revert___elambda__1___closed__8;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_many1Fn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_revert___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_revert___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Tactic_revert___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_revert___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_revert___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Tactic_revert___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_revert___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Tactic_revert___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_revert___elambda__1___closed__13() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Char_HasRepr___closed__1;
x_2 = l_Lean_Parser_Tactic_revert___elambda__1___closed__6;
@@ -3956,11 +3467,11 @@ x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Tactic_revert___elambda__1___closed__8() {
+static lean_object* _init_l_Lean_Parser_Tactic_revert___elambda__1___closed__14() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Tactic_revert___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Tactic_revert___elambda__1___closed__13;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
@@ -3992,118 +3503,120 @@ lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
x_11 = l_Lean_Parser_Tactic_revert___elambda__1___closed__6;
-x_12 = l_Lean_Parser_Tactic_revert___elambda__1___closed__8;
+x_12 = l_Lean_Parser_Tactic_revert___elambda__1___closed__14;
lean_inc(x_1);
x_13 = l_Lean_Parser_nonReservedSymbolFnAux(x_11, x_12, x_1, x_7);
x_14 = lean_ctor_get(x_13, 3);
lean_inc(x_14);
if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_35;
+lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_30; lean_object* x_34;
x_15 = lean_ctor_get(x_13, 0);
lean_inc(x_15);
x_16 = lean_array_get_size(x_15);
lean_dec(x_15);
-x_35 = lean_ctor_get(x_1, 4);
+x_34 = lean_ctor_get(x_1, 4);
+lean_inc(x_34);
+if (lean_obj_tag(x_34) == 0)
+{
+x_30 = x_13;
+goto block_33;
+}
+else
+{
+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;
+x_35 = lean_ctor_get(x_34, 0);
lean_inc(x_35);
-if (lean_obj_tag(x_35) == 0)
-{
-x_17 = x_13;
-goto block_34;
-}
-else
-{
-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;
-x_36 = lean_ctor_get(x_35, 0);
+lean_dec(x_34);
+x_36 = lean_ctor_get(x_1, 0);
lean_inc(x_36);
-lean_dec(x_35);
-x_37 = lean_ctor_get(x_1, 0);
+x_37 = lean_ctor_get(x_36, 2);
lean_inc(x_37);
-x_38 = lean_ctor_get(x_37, 2);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_13, 1);
-lean_inc(x_39);
-x_40 = l_Lean_FileMap_toPosition(x_38, x_39);
-lean_dec(x_38);
-x_41 = lean_ctor_get(x_36, 1);
-lean_inc(x_41);
lean_dec(x_36);
-x_42 = lean_ctor_get(x_40, 1);
-lean_inc(x_42);
-lean_dec(x_40);
-x_43 = lean_nat_dec_lt(x_41, x_42);
-lean_dec(x_42);
+x_38 = lean_ctor_get(x_13, 1);
+lean_inc(x_38);
+x_39 = l_Lean_FileMap_toPosition(x_37, x_38);
+lean_dec(x_37);
+x_40 = lean_ctor_get(x_35, 1);
+lean_inc(x_40);
+lean_dec(x_35);
+x_41 = lean_ctor_get(x_39, 1);
+lean_inc(x_41);
+lean_dec(x_39);
+x_42 = lean_nat_dec_lt(x_40, x_41);
lean_dec(x_41);
-if (x_43 == 0)
+lean_dec(x_40);
+if (x_42 == 0)
{
-lean_object* x_44; lean_object* x_45;
-x_44 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_intro___elambda__1___spec__1___closed__1;
-x_45 = l_Lean_Parser_ParserState_mkError(x_13, x_44);
-x_17 = x_45;
-goto block_34;
+lean_object* x_43; lean_object* x_44;
+x_43 = l_Lean_Parser_Tactic_intro___elambda__1___closed__12;
+x_44 = l_Lean_Parser_ParserState_mkError(x_13, x_43);
+x_30 = x_44;
+goto block_33;
}
else
{
-x_17 = x_13;
-goto block_34;
+x_30 = x_13;
+goto block_33;
}
}
-block_34:
+block_29:
{
lean_object* x_18;
x_18 = lean_ctor_get(x_17, 3);
lean_inc(x_18);
if (lean_obj_tag(x_18) == 0)
{
-lean_object* x_19; lean_object* x_20;
-lean_inc(x_1);
-x_19 = l_Lean_Parser_ident___elambda__1(x_1, x_17);
-x_20 = lean_ctor_get(x_19, 3);
-lean_inc(x_20);
-if (lean_obj_tag(x_20) == 0)
-{
-lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25;
-x_21 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_revert___elambda__1___spec__1(x_1, x_19);
-x_22 = l_Lean_nullKind;
-x_23 = l_Lean_Parser_ParserState_mkNode(x_21, x_22, x_16);
-x_24 = l_Lean_Parser_Tactic_revert___elambda__1___closed__2;
-x_25 = l_Lean_Parser_ParserState_mkNode(x_23, x_24, x_10);
-return x_25;
+lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
+x_19 = l_Lean_Parser_Tactic_revert___elambda__1___closed__8;
+x_20 = l_Lean_Parser_manyAux(x_19, x_1, x_17);
+x_21 = l_Lean_nullKind;
+x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_16);
+x_23 = l_Lean_Parser_Tactic_revert___elambda__1___closed__2;
+x_24 = l_Lean_Parser_ParserState_mkNode(x_22, x_23, x_10);
+return x_24;
}
else
{
-lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29;
-lean_dec(x_20);
-lean_dec(x_1);
-x_26 = l_Lean_nullKind;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_19, x_26, x_16);
-x_28 = l_Lean_Parser_Tactic_revert___elambda__1___closed__2;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_27, x_28, x_10);
-return x_29;
-}
-}
-else
-{
-lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
+lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
lean_dec(x_18);
lean_dec(x_1);
-x_30 = l_Lean_nullKind;
-x_31 = l_Lean_Parser_ParserState_mkNode(x_17, x_30, x_16);
-x_32 = l_Lean_Parser_Tactic_revert___elambda__1___closed__2;
-x_33 = l_Lean_Parser_ParserState_mkNode(x_31, x_32, x_10);
-return x_33;
+x_25 = l_Lean_nullKind;
+x_26 = l_Lean_Parser_ParserState_mkNode(x_17, x_25, x_16);
+x_27 = l_Lean_Parser_Tactic_revert___elambda__1___closed__2;
+x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_10);
+return x_28;
+}
+}
+block_33:
+{
+lean_object* x_31;
+x_31 = lean_ctor_get(x_30, 3);
+lean_inc(x_31);
+if (lean_obj_tag(x_31) == 0)
+{
+lean_object* x_32;
+lean_inc(x_1);
+x_32 = l_Lean_Parser_ident___elambda__1(x_1, x_30);
+x_17 = x_32;
+goto block_29;
+}
+else
+{
+lean_dec(x_31);
+x_17 = x_30;
+goto block_29;
}
}
}
else
{
-lean_object* x_46; lean_object* x_47;
+lean_object* x_45; lean_object* x_46;
lean_dec(x_14);
lean_dec(x_1);
-x_46 = l_Lean_Parser_Tactic_revert___elambda__1___closed__2;
-x_47 = l_Lean_Parser_ParserState_mkNode(x_13, x_46, x_10);
-return x_47;
+x_45 = l_Lean_Parser_Tactic_revert___elambda__1___closed__2;
+x_46 = l_Lean_Parser_ParserState_mkNode(x_13, x_45, x_10);
+return x_46;
}
}
else
@@ -4115,198 +3628,11 @@ return x_7;
}
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_2, 0);
-lean_inc(x_48);
-x_49 = lean_array_get_size(x_48);
-lean_dec(x_48);
-x_50 = lean_ctor_get(x_2, 1);
-lean_inc(x_50);
-lean_inc(x_1);
-x_51 = lean_apply_2(x_4, x_1, x_2);
-x_52 = lean_ctor_get(x_51, 3);
-lean_inc(x_52);
-if (lean_obj_tag(x_52) == 0)
-{
-lean_dec(x_50);
-lean_dec(x_49);
-lean_dec(x_1);
-return x_51;
-}
-else
-{
-lean_object* x_53; lean_object* x_54; uint8_t x_55;
-x_53 = lean_ctor_get(x_52, 0);
-lean_inc(x_53);
-lean_dec(x_52);
-x_54 = lean_ctor_get(x_51, 1);
-lean_inc(x_54);
-x_55 = lean_nat_dec_eq(x_54, x_50);
-lean_dec(x_54);
-if (x_55 == 0)
-{
-lean_dec(x_53);
-lean_dec(x_50);
-lean_dec(x_49);
-lean_dec(x_1);
-return x_51;
-}
-else
-{
-lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59;
-lean_inc(x_50);
-x_56 = l_Lean_Parser_ParserState_restore(x_51, x_49, x_50);
-lean_dec(x_49);
-x_57 = lean_unsigned_to_nat(1024u);
-x_58 = l_Lean_Parser_checkPrecFn(x_57, x_1, x_56);
-x_59 = lean_ctor_get(x_58, 3);
-lean_inc(x_59);
-if (lean_obj_tag(x_59) == 0)
-{
-lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65;
-x_60 = lean_ctor_get(x_58, 0);
-lean_inc(x_60);
-x_61 = lean_array_get_size(x_60);
-lean_dec(x_60);
-x_62 = l_Lean_Parser_Tactic_revert___elambda__1___closed__6;
-x_63 = l_Lean_Parser_Tactic_revert___elambda__1___closed__8;
-lean_inc(x_1);
-x_64 = l_Lean_Parser_nonReservedSymbolFnAux(x_62, x_63, x_1, x_58);
-x_65 = lean_ctor_get(x_64, 3);
-lean_inc(x_65);
-if (lean_obj_tag(x_65) == 0)
-{
-lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_92;
-x_66 = lean_ctor_get(x_64, 0);
-lean_inc(x_66);
-x_67 = lean_array_get_size(x_66);
-lean_dec(x_66);
-x_92 = lean_ctor_get(x_1, 4);
-lean_inc(x_92);
-if (lean_obj_tag(x_92) == 0)
-{
-x_68 = x_64;
-goto block_91;
-}
-else
-{
-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; uint8_t x_100;
-x_93 = lean_ctor_get(x_92, 0);
-lean_inc(x_93);
-lean_dec(x_92);
-x_94 = lean_ctor_get(x_1, 0);
-lean_inc(x_94);
-x_95 = lean_ctor_get(x_94, 2);
-lean_inc(x_95);
-lean_dec(x_94);
-x_96 = lean_ctor_get(x_64, 1);
-lean_inc(x_96);
-x_97 = l_Lean_FileMap_toPosition(x_95, x_96);
-lean_dec(x_95);
-x_98 = lean_ctor_get(x_93, 1);
-lean_inc(x_98);
-lean_dec(x_93);
-x_99 = lean_ctor_get(x_97, 1);
-lean_inc(x_99);
-lean_dec(x_97);
-x_100 = lean_nat_dec_lt(x_98, x_99);
-lean_dec(x_99);
-lean_dec(x_98);
-if (x_100 == 0)
-{
-lean_object* x_101; lean_object* x_102;
-x_101 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_intro___elambda__1___spec__1___closed__1;
-x_102 = l_Lean_Parser_ParserState_mkError(x_64, x_101);
-x_68 = x_102;
-goto block_91;
-}
-else
-{
-x_68 = x_64;
-goto block_91;
-}
-}
-block_91:
-{
-lean_object* x_69;
-x_69 = lean_ctor_get(x_68, 3);
-lean_inc(x_69);
-if (lean_obj_tag(x_69) == 0)
-{
-lean_object* x_70; lean_object* x_71;
-lean_inc(x_1);
-x_70 = l_Lean_Parser_ident___elambda__1(x_1, x_68);
-x_71 = lean_ctor_get(x_70, 3);
-lean_inc(x_71);
-if (lean_obj_tag(x_71) == 0)
-{
-lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; uint8_t x_77; lean_object* x_78;
-x_72 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_revert___elambda__1___spec__1(x_1, x_70);
-x_73 = l_Lean_nullKind;
-x_74 = l_Lean_Parser_ParserState_mkNode(x_72, x_73, x_67);
-x_75 = l_Lean_Parser_Tactic_revert___elambda__1___closed__2;
-x_76 = l_Lean_Parser_ParserState_mkNode(x_74, x_75, x_61);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_76, x_53, x_50, x_77);
-lean_dec(x_50);
-return x_78;
-}
-else
-{
-lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; uint8_t x_83; lean_object* x_84;
-lean_dec(x_71);
-lean_dec(x_1);
-x_79 = l_Lean_nullKind;
-x_80 = l_Lean_Parser_ParserState_mkNode(x_70, x_79, x_67);
-x_81 = l_Lean_Parser_Tactic_revert___elambda__1___closed__2;
-x_82 = l_Lean_Parser_ParserState_mkNode(x_80, x_81, x_61);
-x_83 = 1;
-x_84 = l_Lean_Parser_mergeOrElseErrors(x_82, x_53, x_50, x_83);
-lean_dec(x_50);
-return x_84;
-}
-}
-else
-{
-lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; uint8_t x_89; lean_object* x_90;
-lean_dec(x_69);
-lean_dec(x_1);
-x_85 = l_Lean_nullKind;
-x_86 = l_Lean_Parser_ParserState_mkNode(x_68, x_85, x_67);
-x_87 = l_Lean_Parser_Tactic_revert___elambda__1___closed__2;
-x_88 = l_Lean_Parser_ParserState_mkNode(x_86, x_87, x_61);
-x_89 = 1;
-x_90 = l_Lean_Parser_mergeOrElseErrors(x_88, x_53, x_50, x_89);
-lean_dec(x_50);
-return x_90;
-}
-}
-}
-else
-{
-lean_object* x_103; lean_object* x_104; uint8_t x_105; lean_object* x_106;
-lean_dec(x_65);
-lean_dec(x_1);
-x_103 = l_Lean_Parser_Tactic_revert___elambda__1___closed__2;
-x_104 = l_Lean_Parser_ParserState_mkNode(x_64, x_103, x_61);
-x_105 = 1;
-x_106 = l_Lean_Parser_mergeOrElseErrors(x_104, x_53, x_50, x_105);
-lean_dec(x_50);
-return x_106;
-}
-}
-else
-{
-uint8_t x_107; lean_object* x_108;
-lean_dec(x_59);
-lean_dec(x_1);
-x_107 = 1;
-x_108 = l_Lean_Parser_mergeOrElseErrors(x_58, x_53, x_50, x_107);
-lean_dec(x_50);
-return x_108;
-}
-}
-}
+lean_object* x_47; uint8_t x_48; lean_object* x_49;
+x_47 = l_Lean_Parser_Tactic_revert___elambda__1___closed__12;
+x_48 = 1;
+x_49 = l_Lean_Parser_orelseFnCore(x_4, x_47, x_48, x_1, x_2);
+return x_49;
}
}
}
@@ -4666,11 +3992,11 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Tactic_clear___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Tactic_clear___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Tactic_clear___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbolFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Tactic_clear___elambda__1___closed__8() {
@@ -4678,6 +4004,52 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Tactic_clear___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Tactic_revert___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_clear___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_clear___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Tactic_clear___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_clear___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Tactic_clear___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_clear___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Tactic_clear___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_clear___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_clear___elambda__1___closed__11;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
@@ -4709,118 +4081,120 @@ lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
x_11 = l_Lean_Parser_Tactic_clear___elambda__1___closed__6;
-x_12 = l_Lean_Parser_Tactic_clear___elambda__1___closed__8;
+x_12 = l_Lean_Parser_Tactic_clear___elambda__1___closed__12;
lean_inc(x_1);
x_13 = l_Lean_Parser_nonReservedSymbolFnAux(x_11, x_12, x_1, x_7);
x_14 = lean_ctor_get(x_13, 3);
lean_inc(x_14);
if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_35;
+lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_30; lean_object* x_34;
x_15 = lean_ctor_get(x_13, 0);
lean_inc(x_15);
x_16 = lean_array_get_size(x_15);
lean_dec(x_15);
-x_35 = lean_ctor_get(x_1, 4);
+x_34 = lean_ctor_get(x_1, 4);
+lean_inc(x_34);
+if (lean_obj_tag(x_34) == 0)
+{
+x_30 = x_13;
+goto block_33;
+}
+else
+{
+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;
+x_35 = lean_ctor_get(x_34, 0);
lean_inc(x_35);
-if (lean_obj_tag(x_35) == 0)
-{
-x_17 = x_13;
-goto block_34;
-}
-else
-{
-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;
-x_36 = lean_ctor_get(x_35, 0);
+lean_dec(x_34);
+x_36 = lean_ctor_get(x_1, 0);
lean_inc(x_36);
-lean_dec(x_35);
-x_37 = lean_ctor_get(x_1, 0);
+x_37 = lean_ctor_get(x_36, 2);
lean_inc(x_37);
-x_38 = lean_ctor_get(x_37, 2);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_13, 1);
-lean_inc(x_39);
-x_40 = l_Lean_FileMap_toPosition(x_38, x_39);
-lean_dec(x_38);
-x_41 = lean_ctor_get(x_36, 1);
-lean_inc(x_41);
lean_dec(x_36);
-x_42 = lean_ctor_get(x_40, 1);
-lean_inc(x_42);
-lean_dec(x_40);
-x_43 = lean_nat_dec_lt(x_41, x_42);
-lean_dec(x_42);
+x_38 = lean_ctor_get(x_13, 1);
+lean_inc(x_38);
+x_39 = l_Lean_FileMap_toPosition(x_37, x_38);
+lean_dec(x_37);
+x_40 = lean_ctor_get(x_35, 1);
+lean_inc(x_40);
+lean_dec(x_35);
+x_41 = lean_ctor_get(x_39, 1);
+lean_inc(x_41);
+lean_dec(x_39);
+x_42 = lean_nat_dec_lt(x_40, x_41);
lean_dec(x_41);
-if (x_43 == 0)
+lean_dec(x_40);
+if (x_42 == 0)
{
-lean_object* x_44; lean_object* x_45;
-x_44 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_intro___elambda__1___spec__1___closed__1;
-x_45 = l_Lean_Parser_ParserState_mkError(x_13, x_44);
-x_17 = x_45;
-goto block_34;
+lean_object* x_43; lean_object* x_44;
+x_43 = l_Lean_Parser_Tactic_intro___elambda__1___closed__12;
+x_44 = l_Lean_Parser_ParserState_mkError(x_13, x_43);
+x_30 = x_44;
+goto block_33;
}
else
{
-x_17 = x_13;
-goto block_34;
+x_30 = x_13;
+goto block_33;
}
}
-block_34:
+block_29:
{
lean_object* x_18;
x_18 = lean_ctor_get(x_17, 3);
lean_inc(x_18);
if (lean_obj_tag(x_18) == 0)
{
-lean_object* x_19; lean_object* x_20;
-lean_inc(x_1);
-x_19 = l_Lean_Parser_ident___elambda__1(x_1, x_17);
-x_20 = lean_ctor_get(x_19, 3);
-lean_inc(x_20);
-if (lean_obj_tag(x_20) == 0)
-{
-lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25;
-x_21 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_revert___elambda__1___spec__1(x_1, x_19);
-x_22 = l_Lean_nullKind;
-x_23 = l_Lean_Parser_ParserState_mkNode(x_21, x_22, x_16);
-x_24 = l_Lean_Parser_Tactic_clear___elambda__1___closed__2;
-x_25 = l_Lean_Parser_ParserState_mkNode(x_23, x_24, x_10);
-return x_25;
+lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
+x_19 = l_Lean_Parser_Tactic_revert___elambda__1___closed__8;
+x_20 = l_Lean_Parser_manyAux(x_19, x_1, x_17);
+x_21 = l_Lean_nullKind;
+x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_16);
+x_23 = l_Lean_Parser_Tactic_clear___elambda__1___closed__2;
+x_24 = l_Lean_Parser_ParserState_mkNode(x_22, x_23, x_10);
+return x_24;
}
else
{
-lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29;
-lean_dec(x_20);
-lean_dec(x_1);
-x_26 = l_Lean_nullKind;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_19, x_26, x_16);
-x_28 = l_Lean_Parser_Tactic_clear___elambda__1___closed__2;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_27, x_28, x_10);
-return x_29;
-}
-}
-else
-{
-lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
+lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
lean_dec(x_18);
lean_dec(x_1);
-x_30 = l_Lean_nullKind;
-x_31 = l_Lean_Parser_ParserState_mkNode(x_17, x_30, x_16);
-x_32 = l_Lean_Parser_Tactic_clear___elambda__1___closed__2;
-x_33 = l_Lean_Parser_ParserState_mkNode(x_31, x_32, x_10);
-return x_33;
+x_25 = l_Lean_nullKind;
+x_26 = l_Lean_Parser_ParserState_mkNode(x_17, x_25, x_16);
+x_27 = l_Lean_Parser_Tactic_clear___elambda__1___closed__2;
+x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_10);
+return x_28;
+}
+}
+block_33:
+{
+lean_object* x_31;
+x_31 = lean_ctor_get(x_30, 3);
+lean_inc(x_31);
+if (lean_obj_tag(x_31) == 0)
+{
+lean_object* x_32;
+lean_inc(x_1);
+x_32 = l_Lean_Parser_ident___elambda__1(x_1, x_30);
+x_17 = x_32;
+goto block_29;
+}
+else
+{
+lean_dec(x_31);
+x_17 = x_30;
+goto block_29;
}
}
}
else
{
-lean_object* x_46; lean_object* x_47;
+lean_object* x_45; lean_object* x_46;
lean_dec(x_14);
lean_dec(x_1);
-x_46 = l_Lean_Parser_Tactic_clear___elambda__1___closed__2;
-x_47 = l_Lean_Parser_ParserState_mkNode(x_13, x_46, x_10);
-return x_47;
+x_45 = l_Lean_Parser_Tactic_clear___elambda__1___closed__2;
+x_46 = l_Lean_Parser_ParserState_mkNode(x_13, x_45, x_10);
+return x_46;
}
}
else
@@ -4832,198 +4206,11 @@ return x_7;
}
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_2, 0);
-lean_inc(x_48);
-x_49 = lean_array_get_size(x_48);
-lean_dec(x_48);
-x_50 = lean_ctor_get(x_2, 1);
-lean_inc(x_50);
-lean_inc(x_1);
-x_51 = lean_apply_2(x_4, x_1, x_2);
-x_52 = lean_ctor_get(x_51, 3);
-lean_inc(x_52);
-if (lean_obj_tag(x_52) == 0)
-{
-lean_dec(x_50);
-lean_dec(x_49);
-lean_dec(x_1);
-return x_51;
-}
-else
-{
-lean_object* x_53; lean_object* x_54; uint8_t x_55;
-x_53 = lean_ctor_get(x_52, 0);
-lean_inc(x_53);
-lean_dec(x_52);
-x_54 = lean_ctor_get(x_51, 1);
-lean_inc(x_54);
-x_55 = lean_nat_dec_eq(x_54, x_50);
-lean_dec(x_54);
-if (x_55 == 0)
-{
-lean_dec(x_53);
-lean_dec(x_50);
-lean_dec(x_49);
-lean_dec(x_1);
-return x_51;
-}
-else
-{
-lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59;
-lean_inc(x_50);
-x_56 = l_Lean_Parser_ParserState_restore(x_51, x_49, x_50);
-lean_dec(x_49);
-x_57 = lean_unsigned_to_nat(1024u);
-x_58 = l_Lean_Parser_checkPrecFn(x_57, x_1, x_56);
-x_59 = lean_ctor_get(x_58, 3);
-lean_inc(x_59);
-if (lean_obj_tag(x_59) == 0)
-{
-lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65;
-x_60 = lean_ctor_get(x_58, 0);
-lean_inc(x_60);
-x_61 = lean_array_get_size(x_60);
-lean_dec(x_60);
-x_62 = l_Lean_Parser_Tactic_clear___elambda__1___closed__6;
-x_63 = l_Lean_Parser_Tactic_clear___elambda__1___closed__8;
-lean_inc(x_1);
-x_64 = l_Lean_Parser_nonReservedSymbolFnAux(x_62, x_63, x_1, x_58);
-x_65 = lean_ctor_get(x_64, 3);
-lean_inc(x_65);
-if (lean_obj_tag(x_65) == 0)
-{
-lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_92;
-x_66 = lean_ctor_get(x_64, 0);
-lean_inc(x_66);
-x_67 = lean_array_get_size(x_66);
-lean_dec(x_66);
-x_92 = lean_ctor_get(x_1, 4);
-lean_inc(x_92);
-if (lean_obj_tag(x_92) == 0)
-{
-x_68 = x_64;
-goto block_91;
-}
-else
-{
-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; uint8_t x_100;
-x_93 = lean_ctor_get(x_92, 0);
-lean_inc(x_93);
-lean_dec(x_92);
-x_94 = lean_ctor_get(x_1, 0);
-lean_inc(x_94);
-x_95 = lean_ctor_get(x_94, 2);
-lean_inc(x_95);
-lean_dec(x_94);
-x_96 = lean_ctor_get(x_64, 1);
-lean_inc(x_96);
-x_97 = l_Lean_FileMap_toPosition(x_95, x_96);
-lean_dec(x_95);
-x_98 = lean_ctor_get(x_93, 1);
-lean_inc(x_98);
-lean_dec(x_93);
-x_99 = lean_ctor_get(x_97, 1);
-lean_inc(x_99);
-lean_dec(x_97);
-x_100 = lean_nat_dec_lt(x_98, x_99);
-lean_dec(x_99);
-lean_dec(x_98);
-if (x_100 == 0)
-{
-lean_object* x_101; lean_object* x_102;
-x_101 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_intro___elambda__1___spec__1___closed__1;
-x_102 = l_Lean_Parser_ParserState_mkError(x_64, x_101);
-x_68 = x_102;
-goto block_91;
-}
-else
-{
-x_68 = x_64;
-goto block_91;
-}
-}
-block_91:
-{
-lean_object* x_69;
-x_69 = lean_ctor_get(x_68, 3);
-lean_inc(x_69);
-if (lean_obj_tag(x_69) == 0)
-{
-lean_object* x_70; lean_object* x_71;
-lean_inc(x_1);
-x_70 = l_Lean_Parser_ident___elambda__1(x_1, x_68);
-x_71 = lean_ctor_get(x_70, 3);
-lean_inc(x_71);
-if (lean_obj_tag(x_71) == 0)
-{
-lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; uint8_t x_77; lean_object* x_78;
-x_72 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_revert___elambda__1___spec__1(x_1, x_70);
-x_73 = l_Lean_nullKind;
-x_74 = l_Lean_Parser_ParserState_mkNode(x_72, x_73, x_67);
-x_75 = l_Lean_Parser_Tactic_clear___elambda__1___closed__2;
-x_76 = l_Lean_Parser_ParserState_mkNode(x_74, x_75, x_61);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_76, x_53, x_50, x_77);
-lean_dec(x_50);
-return x_78;
-}
-else
-{
-lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; uint8_t x_83; lean_object* x_84;
-lean_dec(x_71);
-lean_dec(x_1);
-x_79 = l_Lean_nullKind;
-x_80 = l_Lean_Parser_ParserState_mkNode(x_70, x_79, x_67);
-x_81 = l_Lean_Parser_Tactic_clear___elambda__1___closed__2;
-x_82 = l_Lean_Parser_ParserState_mkNode(x_80, x_81, x_61);
-x_83 = 1;
-x_84 = l_Lean_Parser_mergeOrElseErrors(x_82, x_53, x_50, x_83);
-lean_dec(x_50);
-return x_84;
-}
-}
-else
-{
-lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; uint8_t x_89; lean_object* x_90;
-lean_dec(x_69);
-lean_dec(x_1);
-x_85 = l_Lean_nullKind;
-x_86 = l_Lean_Parser_ParserState_mkNode(x_68, x_85, x_67);
-x_87 = l_Lean_Parser_Tactic_clear___elambda__1___closed__2;
-x_88 = l_Lean_Parser_ParserState_mkNode(x_86, x_87, x_61);
-x_89 = 1;
-x_90 = l_Lean_Parser_mergeOrElseErrors(x_88, x_53, x_50, x_89);
-lean_dec(x_50);
-return x_90;
-}
-}
-}
-else
-{
-lean_object* x_103; lean_object* x_104; uint8_t x_105; lean_object* x_106;
-lean_dec(x_65);
-lean_dec(x_1);
-x_103 = l_Lean_Parser_Tactic_clear___elambda__1___closed__2;
-x_104 = l_Lean_Parser_ParserState_mkNode(x_64, x_103, x_61);
-x_105 = 1;
-x_106 = l_Lean_Parser_mergeOrElseErrors(x_104, x_53, x_50, x_105);
-lean_dec(x_50);
-return x_106;
-}
-}
-else
-{
-uint8_t x_107; lean_object* x_108;
-lean_dec(x_59);
-lean_dec(x_1);
-x_107 = 1;
-x_108 = l_Lean_Parser_mergeOrElseErrors(x_58, x_53, x_50, x_107);
-lean_dec(x_50);
-return x_108;
-}
-}
-}
+lean_object* x_47; uint8_t x_48; lean_object* x_49;
+x_47 = l_Lean_Parser_Tactic_clear___elambda__1___closed__10;
+x_48 = 1;
+x_49 = l_Lean_Parser_orelseFnCore(x_4, x_47, x_48, x_1, x_2);
+return x_49;
}
}
}
@@ -5307,11 +4494,11 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Tactic_subst___elambda__1___closed__6() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Tactic_subst___elambda__1___closed__5;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Tactic_subst___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbolFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Tactic_subst___elambda__1___closed__7() {
@@ -5319,6 +4506,52 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Tactic_subst___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Tactic_revert___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_subst___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_subst___elambda__1___closed__1;
+x_2 = l_Lean_Parser_Tactic_subst___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_subst___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Tactic_subst___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_subst___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Tactic_subst___elambda__1___closed__5;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_subst___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_subst___elambda__1___closed__10;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
@@ -5350,118 +4583,120 @@ lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
x_11 = l_Lean_Parser_Tactic_subst___elambda__1___closed__5;
-x_12 = l_Lean_Parser_Tactic_subst___elambda__1___closed__7;
+x_12 = l_Lean_Parser_Tactic_subst___elambda__1___closed__11;
lean_inc(x_1);
x_13 = l_Lean_Parser_nonReservedSymbolFnAux(x_11, x_12, x_1, x_7);
x_14 = lean_ctor_get(x_13, 3);
lean_inc(x_14);
if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_35;
+lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_30; lean_object* x_34;
x_15 = lean_ctor_get(x_13, 0);
lean_inc(x_15);
x_16 = lean_array_get_size(x_15);
lean_dec(x_15);
-x_35 = lean_ctor_get(x_1, 4);
+x_34 = lean_ctor_get(x_1, 4);
+lean_inc(x_34);
+if (lean_obj_tag(x_34) == 0)
+{
+x_30 = x_13;
+goto block_33;
+}
+else
+{
+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;
+x_35 = lean_ctor_get(x_34, 0);
lean_inc(x_35);
-if (lean_obj_tag(x_35) == 0)
-{
-x_17 = x_13;
-goto block_34;
-}
-else
-{
-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;
-x_36 = lean_ctor_get(x_35, 0);
+lean_dec(x_34);
+x_36 = lean_ctor_get(x_1, 0);
lean_inc(x_36);
-lean_dec(x_35);
-x_37 = lean_ctor_get(x_1, 0);
+x_37 = lean_ctor_get(x_36, 2);
lean_inc(x_37);
-x_38 = lean_ctor_get(x_37, 2);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_13, 1);
-lean_inc(x_39);
-x_40 = l_Lean_FileMap_toPosition(x_38, x_39);
-lean_dec(x_38);
-x_41 = lean_ctor_get(x_36, 1);
-lean_inc(x_41);
lean_dec(x_36);
-x_42 = lean_ctor_get(x_40, 1);
-lean_inc(x_42);
-lean_dec(x_40);
-x_43 = lean_nat_dec_lt(x_41, x_42);
-lean_dec(x_42);
+x_38 = lean_ctor_get(x_13, 1);
+lean_inc(x_38);
+x_39 = l_Lean_FileMap_toPosition(x_37, x_38);
+lean_dec(x_37);
+x_40 = lean_ctor_get(x_35, 1);
+lean_inc(x_40);
+lean_dec(x_35);
+x_41 = lean_ctor_get(x_39, 1);
+lean_inc(x_41);
+lean_dec(x_39);
+x_42 = lean_nat_dec_lt(x_40, x_41);
lean_dec(x_41);
-if (x_43 == 0)
+lean_dec(x_40);
+if (x_42 == 0)
{
-lean_object* x_44; lean_object* x_45;
-x_44 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_intro___elambda__1___spec__1___closed__1;
-x_45 = l_Lean_Parser_ParserState_mkError(x_13, x_44);
-x_17 = x_45;
-goto block_34;
+lean_object* x_43; lean_object* x_44;
+x_43 = l_Lean_Parser_Tactic_intro___elambda__1___closed__12;
+x_44 = l_Lean_Parser_ParserState_mkError(x_13, x_43);
+x_30 = x_44;
+goto block_33;
}
else
{
-x_17 = x_13;
-goto block_34;
+x_30 = x_13;
+goto block_33;
}
}
-block_34:
+block_29:
{
lean_object* x_18;
x_18 = lean_ctor_get(x_17, 3);
lean_inc(x_18);
if (lean_obj_tag(x_18) == 0)
{
-lean_object* x_19; lean_object* x_20;
-lean_inc(x_1);
-x_19 = l_Lean_Parser_ident___elambda__1(x_1, x_17);
-x_20 = lean_ctor_get(x_19, 3);
-lean_inc(x_20);
-if (lean_obj_tag(x_20) == 0)
-{
-lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25;
-x_21 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_revert___elambda__1___spec__1(x_1, x_19);
-x_22 = l_Lean_nullKind;
-x_23 = l_Lean_Parser_ParserState_mkNode(x_21, x_22, x_16);
-x_24 = l_Lean_Parser_Tactic_subst___elambda__1___closed__1;
-x_25 = l_Lean_Parser_ParserState_mkNode(x_23, x_24, x_10);
-return x_25;
+lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
+x_19 = l_Lean_Parser_Tactic_revert___elambda__1___closed__8;
+x_20 = l_Lean_Parser_manyAux(x_19, x_1, x_17);
+x_21 = l_Lean_nullKind;
+x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_16);
+x_23 = l_Lean_Parser_Tactic_subst___elambda__1___closed__1;
+x_24 = l_Lean_Parser_ParserState_mkNode(x_22, x_23, x_10);
+return x_24;
}
else
{
-lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29;
-lean_dec(x_20);
-lean_dec(x_1);
-x_26 = l_Lean_nullKind;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_19, x_26, x_16);
-x_28 = l_Lean_Parser_Tactic_subst___elambda__1___closed__1;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_27, x_28, x_10);
-return x_29;
-}
-}
-else
-{
-lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
+lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
lean_dec(x_18);
lean_dec(x_1);
-x_30 = l_Lean_nullKind;
-x_31 = l_Lean_Parser_ParserState_mkNode(x_17, x_30, x_16);
-x_32 = l_Lean_Parser_Tactic_subst___elambda__1___closed__1;
-x_33 = l_Lean_Parser_ParserState_mkNode(x_31, x_32, x_10);
-return x_33;
+x_25 = l_Lean_nullKind;
+x_26 = l_Lean_Parser_ParserState_mkNode(x_17, x_25, x_16);
+x_27 = l_Lean_Parser_Tactic_subst___elambda__1___closed__1;
+x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_10);
+return x_28;
+}
+}
+block_33:
+{
+lean_object* x_31;
+x_31 = lean_ctor_get(x_30, 3);
+lean_inc(x_31);
+if (lean_obj_tag(x_31) == 0)
+{
+lean_object* x_32;
+lean_inc(x_1);
+x_32 = l_Lean_Parser_ident___elambda__1(x_1, x_30);
+x_17 = x_32;
+goto block_29;
+}
+else
+{
+lean_dec(x_31);
+x_17 = x_30;
+goto block_29;
}
}
}
else
{
-lean_object* x_46; lean_object* x_47;
+lean_object* x_45; lean_object* x_46;
lean_dec(x_14);
lean_dec(x_1);
-x_46 = l_Lean_Parser_Tactic_subst___elambda__1___closed__1;
-x_47 = l_Lean_Parser_ParserState_mkNode(x_13, x_46, x_10);
-return x_47;
+x_45 = l_Lean_Parser_Tactic_subst___elambda__1___closed__1;
+x_46 = l_Lean_Parser_ParserState_mkNode(x_13, x_45, x_10);
+return x_46;
}
}
else
@@ -5473,198 +4708,11 @@ return x_7;
}
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_2, 0);
-lean_inc(x_48);
-x_49 = lean_array_get_size(x_48);
-lean_dec(x_48);
-x_50 = lean_ctor_get(x_2, 1);
-lean_inc(x_50);
-lean_inc(x_1);
-x_51 = lean_apply_2(x_4, x_1, x_2);
-x_52 = lean_ctor_get(x_51, 3);
-lean_inc(x_52);
-if (lean_obj_tag(x_52) == 0)
-{
-lean_dec(x_50);
-lean_dec(x_49);
-lean_dec(x_1);
-return x_51;
-}
-else
-{
-lean_object* x_53; lean_object* x_54; uint8_t x_55;
-x_53 = lean_ctor_get(x_52, 0);
-lean_inc(x_53);
-lean_dec(x_52);
-x_54 = lean_ctor_get(x_51, 1);
-lean_inc(x_54);
-x_55 = lean_nat_dec_eq(x_54, x_50);
-lean_dec(x_54);
-if (x_55 == 0)
-{
-lean_dec(x_53);
-lean_dec(x_50);
-lean_dec(x_49);
-lean_dec(x_1);
-return x_51;
-}
-else
-{
-lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59;
-lean_inc(x_50);
-x_56 = l_Lean_Parser_ParserState_restore(x_51, x_49, x_50);
-lean_dec(x_49);
-x_57 = lean_unsigned_to_nat(1024u);
-x_58 = l_Lean_Parser_checkPrecFn(x_57, x_1, x_56);
-x_59 = lean_ctor_get(x_58, 3);
-lean_inc(x_59);
-if (lean_obj_tag(x_59) == 0)
-{
-lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65;
-x_60 = lean_ctor_get(x_58, 0);
-lean_inc(x_60);
-x_61 = lean_array_get_size(x_60);
-lean_dec(x_60);
-x_62 = l_Lean_Parser_Tactic_subst___elambda__1___closed__5;
-x_63 = l_Lean_Parser_Tactic_subst___elambda__1___closed__7;
-lean_inc(x_1);
-x_64 = l_Lean_Parser_nonReservedSymbolFnAux(x_62, x_63, x_1, x_58);
-x_65 = lean_ctor_get(x_64, 3);
-lean_inc(x_65);
-if (lean_obj_tag(x_65) == 0)
-{
-lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_92;
-x_66 = lean_ctor_get(x_64, 0);
-lean_inc(x_66);
-x_67 = lean_array_get_size(x_66);
-lean_dec(x_66);
-x_92 = lean_ctor_get(x_1, 4);
-lean_inc(x_92);
-if (lean_obj_tag(x_92) == 0)
-{
-x_68 = x_64;
-goto block_91;
-}
-else
-{
-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; uint8_t x_100;
-x_93 = lean_ctor_get(x_92, 0);
-lean_inc(x_93);
-lean_dec(x_92);
-x_94 = lean_ctor_get(x_1, 0);
-lean_inc(x_94);
-x_95 = lean_ctor_get(x_94, 2);
-lean_inc(x_95);
-lean_dec(x_94);
-x_96 = lean_ctor_get(x_64, 1);
-lean_inc(x_96);
-x_97 = l_Lean_FileMap_toPosition(x_95, x_96);
-lean_dec(x_95);
-x_98 = lean_ctor_get(x_93, 1);
-lean_inc(x_98);
-lean_dec(x_93);
-x_99 = lean_ctor_get(x_97, 1);
-lean_inc(x_99);
-lean_dec(x_97);
-x_100 = lean_nat_dec_lt(x_98, x_99);
-lean_dec(x_99);
-lean_dec(x_98);
-if (x_100 == 0)
-{
-lean_object* x_101; lean_object* x_102;
-x_101 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_intro___elambda__1___spec__1___closed__1;
-x_102 = l_Lean_Parser_ParserState_mkError(x_64, x_101);
-x_68 = x_102;
-goto block_91;
-}
-else
-{
-x_68 = x_64;
-goto block_91;
-}
-}
-block_91:
-{
-lean_object* x_69;
-x_69 = lean_ctor_get(x_68, 3);
-lean_inc(x_69);
-if (lean_obj_tag(x_69) == 0)
-{
-lean_object* x_70; lean_object* x_71;
-lean_inc(x_1);
-x_70 = l_Lean_Parser_ident___elambda__1(x_1, x_68);
-x_71 = lean_ctor_get(x_70, 3);
-lean_inc(x_71);
-if (lean_obj_tag(x_71) == 0)
-{
-lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; uint8_t x_77; lean_object* x_78;
-x_72 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_revert___elambda__1___spec__1(x_1, x_70);
-x_73 = l_Lean_nullKind;
-x_74 = l_Lean_Parser_ParserState_mkNode(x_72, x_73, x_67);
-x_75 = l_Lean_Parser_Tactic_subst___elambda__1___closed__1;
-x_76 = l_Lean_Parser_ParserState_mkNode(x_74, x_75, x_61);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_76, x_53, x_50, x_77);
-lean_dec(x_50);
-return x_78;
-}
-else
-{
-lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; uint8_t x_83; lean_object* x_84;
-lean_dec(x_71);
-lean_dec(x_1);
-x_79 = l_Lean_nullKind;
-x_80 = l_Lean_Parser_ParserState_mkNode(x_70, x_79, x_67);
-x_81 = l_Lean_Parser_Tactic_subst___elambda__1___closed__1;
-x_82 = l_Lean_Parser_ParserState_mkNode(x_80, x_81, x_61);
-x_83 = 1;
-x_84 = l_Lean_Parser_mergeOrElseErrors(x_82, x_53, x_50, x_83);
-lean_dec(x_50);
-return x_84;
-}
-}
-else
-{
-lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; uint8_t x_89; lean_object* x_90;
-lean_dec(x_69);
-lean_dec(x_1);
-x_85 = l_Lean_nullKind;
-x_86 = l_Lean_Parser_ParserState_mkNode(x_68, x_85, x_67);
-x_87 = l_Lean_Parser_Tactic_subst___elambda__1___closed__1;
-x_88 = l_Lean_Parser_ParserState_mkNode(x_86, x_87, x_61);
-x_89 = 1;
-x_90 = l_Lean_Parser_mergeOrElseErrors(x_88, x_53, x_50, x_89);
-lean_dec(x_50);
-return x_90;
-}
-}
-}
-else
-{
-lean_object* x_103; lean_object* x_104; uint8_t x_105; lean_object* x_106;
-lean_dec(x_65);
-lean_dec(x_1);
-x_103 = l_Lean_Parser_Tactic_subst___elambda__1___closed__1;
-x_104 = l_Lean_Parser_ParserState_mkNode(x_64, x_103, x_61);
-x_105 = 1;
-x_106 = l_Lean_Parser_mergeOrElseErrors(x_104, x_53, x_50, x_105);
-lean_dec(x_50);
-return x_106;
-}
-}
-else
-{
-uint8_t x_107; lean_object* x_108;
-lean_dec(x_59);
-lean_dec(x_1);
-x_107 = 1;
-x_108 = l_Lean_Parser_mergeOrElseErrors(x_58, x_53, x_50, x_107);
-lean_dec(x_50);
-return x_108;
-}
-}
-}
+lean_object* x_47; uint8_t x_48; lean_object* x_49;
+x_47 = l_Lean_Parser_Tactic_subst___elambda__1___closed__9;
+x_48 = 1;
+x_49 = l_Lean_Parser_orelseFnCore(x_4, x_47, x_48, x_1, x_2);
+return x_49;
}
}
}
@@ -5948,6 +4996,40 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Tactic_assumption___elambda__1___closed__6() {
_start:
{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Tactic_assumption___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbolFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_assumption___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_assumption___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Tactic_assumption___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_assumption___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Tactic_assumption___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_assumption___elambda__1___closed__9() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Char_HasRepr___closed__1;
x_2 = l_Lean_Parser_Tactic_assumption___elambda__1___closed__5;
@@ -5955,11 +5037,11 @@ x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Tactic_assumption___elambda__1___closed__7() {
+static lean_object* _init_l_Lean_Parser_Tactic_assumption___elambda__1___closed__10() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Tactic_assumption___elambda__1___closed__6;
+x_1 = l_Lean_Parser_Tactic_assumption___elambda__1___closed__9;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
@@ -5991,7 +5073,7 @@ lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
x_11 = l_Lean_Parser_Tactic_assumption___elambda__1___closed__5;
-x_12 = l_Lean_Parser_Tactic_assumption___elambda__1___closed__7;
+x_12 = l_Lean_Parser_Tactic_assumption___elambda__1___closed__10;
x_13 = l_Lean_Parser_nonReservedSymbolFnAux(x_11, x_12, x_1, x_7);
x_14 = l_Lean_Parser_Tactic_assumption___elambda__1___closed__2;
x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
@@ -6006,81 +5088,11 @@ return x_7;
}
else
{
-lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
-x_16 = lean_ctor_get(x_2, 0);
-lean_inc(x_16);
-x_17 = lean_array_get_size(x_16);
-lean_dec(x_16);
-x_18 = lean_ctor_get(x_2, 1);
-lean_inc(x_18);
-lean_inc(x_1);
-x_19 = lean_apply_2(x_4, x_1, x_2);
-x_20 = lean_ctor_get(x_19, 3);
-lean_inc(x_20);
-if (lean_obj_tag(x_20) == 0)
-{
-lean_dec(x_18);
-lean_dec(x_17);
-lean_dec(x_1);
-return x_19;
-}
-else
-{
-lean_object* x_21; lean_object* x_22; uint8_t x_23;
-x_21 = lean_ctor_get(x_20, 0);
-lean_inc(x_21);
-lean_dec(x_20);
-x_22 = lean_ctor_get(x_19, 1);
-lean_inc(x_22);
-x_23 = lean_nat_dec_eq(x_22, x_18);
-lean_dec(x_22);
-if (x_23 == 0)
-{
-lean_dec(x_21);
-lean_dec(x_18);
-lean_dec(x_17);
-lean_dec(x_1);
-return x_19;
-}
-else
-{
-lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
-lean_inc(x_18);
-x_24 = l_Lean_Parser_ParserState_restore(x_19, x_17, x_18);
-lean_dec(x_17);
-x_25 = lean_unsigned_to_nat(1024u);
-x_26 = l_Lean_Parser_checkPrecFn(x_25, x_1, x_24);
-x_27 = lean_ctor_get(x_26, 3);
-lean_inc(x_27);
-if (lean_obj_tag(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; uint8_t x_35; lean_object* x_36;
-x_28 = lean_ctor_get(x_26, 0);
-lean_inc(x_28);
-x_29 = lean_array_get_size(x_28);
-lean_dec(x_28);
-x_30 = l_Lean_Parser_Tactic_assumption___elambda__1___closed__5;
-x_31 = l_Lean_Parser_Tactic_assumption___elambda__1___closed__7;
-x_32 = l_Lean_Parser_nonReservedSymbolFnAux(x_30, x_31, x_1, x_26);
-x_33 = l_Lean_Parser_Tactic_assumption___elambda__1___closed__2;
-x_34 = l_Lean_Parser_ParserState_mkNode(x_32, x_33, x_29);
-x_35 = 1;
-x_36 = l_Lean_Parser_mergeOrElseErrors(x_34, x_21, x_18, x_35);
-lean_dec(x_18);
-return x_36;
-}
-else
-{
-uint8_t x_37; lean_object* x_38;
-lean_dec(x_27);
-lean_dec(x_1);
-x_37 = 1;
-x_38 = l_Lean_Parser_mergeOrElseErrors(x_26, x_21, x_18, x_37);
-lean_dec(x_18);
-return x_38;
-}
-}
-}
+lean_object* x_16; uint8_t x_17; lean_object* x_18;
+x_16 = l_Lean_Parser_Tactic_assumption___elambda__1___closed__8;
+x_17 = 1;
+x_18 = l_Lean_Parser_orelseFnCore(x_4, x_16, x_17, x_1, x_2);
+return x_18;
}
}
}
@@ -6350,11 +5362,11 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Tactic_apply___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Tactic_apply___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Tactic_apply___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbolFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Tactic_apply___elambda__1___closed__8() {
@@ -6362,6 +5374,52 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Tactic_apply___elambda__1___closed__7;
+x_2 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_apply___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_apply___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Tactic_apply___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_apply___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Tactic_apply___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_apply___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Tactic_apply___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_apply___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_apply___elambda__1___closed__11;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
@@ -6393,7 +5451,7 @@ lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
x_11 = l_Lean_Parser_Tactic_apply___elambda__1___closed__6;
-x_12 = l_Lean_Parser_Tactic_apply___elambda__1___closed__8;
+x_12 = l_Lean_Parser_Tactic_apply___elambda__1___closed__12;
lean_inc(x_1);
x_13 = l_Lean_Parser_nonReservedSymbolFnAux(x_11, x_12, x_1, x_7);
x_14 = lean_ctor_get(x_13, 3);
@@ -6427,103 +5485,11 @@ return x_7;
}
else
{
-lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26;
-x_22 = lean_ctor_get(x_2, 0);
-lean_inc(x_22);
-x_23 = lean_array_get_size(x_22);
-lean_dec(x_22);
-x_24 = lean_ctor_get(x_2, 1);
-lean_inc(x_24);
-lean_inc(x_1);
-x_25 = lean_apply_2(x_4, x_1, x_2);
-x_26 = lean_ctor_get(x_25, 3);
-lean_inc(x_26);
-if (lean_obj_tag(x_26) == 0)
-{
-lean_dec(x_24);
-lean_dec(x_23);
-lean_dec(x_1);
-return x_25;
-}
-else
-{
-lean_object* x_27; lean_object* x_28; uint8_t x_29;
-x_27 = lean_ctor_get(x_26, 0);
-lean_inc(x_27);
-lean_dec(x_26);
-x_28 = lean_ctor_get(x_25, 1);
-lean_inc(x_28);
-x_29 = lean_nat_dec_eq(x_28, x_24);
-lean_dec(x_28);
-if (x_29 == 0)
-{
-lean_dec(x_27);
-lean_dec(x_24);
-lean_dec(x_23);
-lean_dec(x_1);
-return x_25;
-}
-else
-{
-lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
-lean_inc(x_24);
-x_30 = l_Lean_Parser_ParserState_restore(x_25, x_23, x_24);
-lean_dec(x_23);
-x_31 = lean_unsigned_to_nat(1024u);
-x_32 = l_Lean_Parser_checkPrecFn(x_31, x_1, x_30);
-x_33 = lean_ctor_get(x_32, 3);
-lean_inc(x_33);
-if (lean_obj_tag(x_33) == 0)
-{
-lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_34 = lean_ctor_get(x_32, 0);
-lean_inc(x_34);
-x_35 = lean_array_get_size(x_34);
-lean_dec(x_34);
-x_36 = l_Lean_Parser_Tactic_apply___elambda__1___closed__6;
-x_37 = l_Lean_Parser_Tactic_apply___elambda__1___closed__8;
-lean_inc(x_1);
-x_38 = l_Lean_Parser_nonReservedSymbolFnAux(x_36, x_37, x_1, x_32);
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45; lean_object* x_46;
-x_40 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_41 = lean_unsigned_to_nat(0u);
-x_42 = l_Lean_Parser_categoryParser___elambda__1(x_40, x_41, x_1, x_38);
-x_43 = l_Lean_Parser_Tactic_apply___elambda__1___closed__2;
-x_44 = l_Lean_Parser_ParserState_mkNode(x_42, x_43, x_35);
-x_45 = 1;
-x_46 = l_Lean_Parser_mergeOrElseErrors(x_44, x_27, x_24, x_45);
-lean_dec(x_24);
-return x_46;
-}
-else
-{
-lean_object* x_47; lean_object* x_48; uint8_t x_49; lean_object* x_50;
-lean_dec(x_39);
-lean_dec(x_1);
-x_47 = l_Lean_Parser_Tactic_apply___elambda__1___closed__2;
-x_48 = l_Lean_Parser_ParserState_mkNode(x_38, x_47, x_35);
-x_49 = 1;
-x_50 = l_Lean_Parser_mergeOrElseErrors(x_48, x_27, x_24, x_49);
-lean_dec(x_24);
-return x_50;
-}
-}
-else
-{
-uint8_t x_51; lean_object* x_52;
-lean_dec(x_33);
-lean_dec(x_1);
-x_51 = 1;
-x_52 = l_Lean_Parser_mergeOrElseErrors(x_32, x_27, x_24, x_51);
-lean_dec(x_24);
-return x_52;
-}
-}
-}
+lean_object* x_22; uint8_t x_23; lean_object* x_24;
+x_22 = l_Lean_Parser_Tactic_apply___elambda__1___closed__10;
+x_23 = 1;
+x_24 = l_Lean_Parser_orelseFnCore(x_4, x_22, x_23, x_1, x_2);
+return x_24;
}
}
}
@@ -6829,11 +5795,11 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Tactic_exact___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Tactic_exact___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Tactic_exact___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbolFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Tactic_exact___elambda__1___closed__8() {
@@ -6841,6 +5807,52 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Tactic_exact___elambda__1___closed__7;
+x_2 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_exact___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_exact___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Tactic_exact___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_exact___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Tactic_exact___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_exact___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Tactic_exact___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_exact___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_exact___elambda__1___closed__11;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
@@ -6872,7 +5884,7 @@ lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
x_11 = l_Lean_Parser_Tactic_exact___elambda__1___closed__6;
-x_12 = l_Lean_Parser_Tactic_exact___elambda__1___closed__8;
+x_12 = l_Lean_Parser_Tactic_exact___elambda__1___closed__12;
lean_inc(x_1);
x_13 = l_Lean_Parser_nonReservedSymbolFnAux(x_11, x_12, x_1, x_7);
x_14 = lean_ctor_get(x_13, 3);
@@ -6906,103 +5918,11 @@ return x_7;
}
else
{
-lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26;
-x_22 = lean_ctor_get(x_2, 0);
-lean_inc(x_22);
-x_23 = lean_array_get_size(x_22);
-lean_dec(x_22);
-x_24 = lean_ctor_get(x_2, 1);
-lean_inc(x_24);
-lean_inc(x_1);
-x_25 = lean_apply_2(x_4, x_1, x_2);
-x_26 = lean_ctor_get(x_25, 3);
-lean_inc(x_26);
-if (lean_obj_tag(x_26) == 0)
-{
-lean_dec(x_24);
-lean_dec(x_23);
-lean_dec(x_1);
-return x_25;
-}
-else
-{
-lean_object* x_27; lean_object* x_28; uint8_t x_29;
-x_27 = lean_ctor_get(x_26, 0);
-lean_inc(x_27);
-lean_dec(x_26);
-x_28 = lean_ctor_get(x_25, 1);
-lean_inc(x_28);
-x_29 = lean_nat_dec_eq(x_28, x_24);
-lean_dec(x_28);
-if (x_29 == 0)
-{
-lean_dec(x_27);
-lean_dec(x_24);
-lean_dec(x_23);
-lean_dec(x_1);
-return x_25;
-}
-else
-{
-lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
-lean_inc(x_24);
-x_30 = l_Lean_Parser_ParserState_restore(x_25, x_23, x_24);
-lean_dec(x_23);
-x_31 = lean_unsigned_to_nat(1024u);
-x_32 = l_Lean_Parser_checkPrecFn(x_31, x_1, x_30);
-x_33 = lean_ctor_get(x_32, 3);
-lean_inc(x_33);
-if (lean_obj_tag(x_33) == 0)
-{
-lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_34 = lean_ctor_get(x_32, 0);
-lean_inc(x_34);
-x_35 = lean_array_get_size(x_34);
-lean_dec(x_34);
-x_36 = l_Lean_Parser_Tactic_exact___elambda__1___closed__6;
-x_37 = l_Lean_Parser_Tactic_exact___elambda__1___closed__8;
-lean_inc(x_1);
-x_38 = l_Lean_Parser_nonReservedSymbolFnAux(x_36, x_37, x_1, x_32);
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45; lean_object* x_46;
-x_40 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_41 = lean_unsigned_to_nat(0u);
-x_42 = l_Lean_Parser_categoryParser___elambda__1(x_40, x_41, x_1, x_38);
-x_43 = l_Lean_Parser_Tactic_exact___elambda__1___closed__2;
-x_44 = l_Lean_Parser_ParserState_mkNode(x_42, x_43, x_35);
-x_45 = 1;
-x_46 = l_Lean_Parser_mergeOrElseErrors(x_44, x_27, x_24, x_45);
-lean_dec(x_24);
-return x_46;
-}
-else
-{
-lean_object* x_47; lean_object* x_48; uint8_t x_49; lean_object* x_50;
-lean_dec(x_39);
-lean_dec(x_1);
-x_47 = l_Lean_Parser_Tactic_exact___elambda__1___closed__2;
-x_48 = l_Lean_Parser_ParserState_mkNode(x_38, x_47, x_35);
-x_49 = 1;
-x_50 = l_Lean_Parser_mergeOrElseErrors(x_48, x_27, x_24, x_49);
-lean_dec(x_24);
-return x_50;
-}
-}
-else
-{
-uint8_t x_51; lean_object* x_52;
-lean_dec(x_33);
-lean_dec(x_1);
-x_51 = 1;
-x_52 = l_Lean_Parser_mergeOrElseErrors(x_32, x_27, x_24, x_51);
-lean_dec(x_24);
-return x_52;
-}
-}
-}
+lean_object* x_22; uint8_t x_23; lean_object* x_24;
+x_22 = l_Lean_Parser_Tactic_exact___elambda__1___closed__10;
+x_23 = 1;
+x_24 = l_Lean_Parser_orelseFnCore(x_4, x_22, x_23, x_1, x_2);
+return x_24;
}
}
}
@@ -7296,11 +6216,11 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Tactic_refine___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Tactic_refine___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Tactic_refine___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbolFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Tactic_refine___elambda__1___closed__8() {
@@ -7308,6 +6228,52 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Tactic_refine___elambda__1___closed__7;
+x_2 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_refine___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_refine___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Tactic_refine___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_refine___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Tactic_refine___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_refine___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Tactic_refine___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_refine___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_refine___elambda__1___closed__11;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
@@ -7339,7 +6305,7 @@ lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
x_11 = l_Lean_Parser_Tactic_refine___elambda__1___closed__6;
-x_12 = l_Lean_Parser_Tactic_refine___elambda__1___closed__8;
+x_12 = l_Lean_Parser_Tactic_refine___elambda__1___closed__12;
lean_inc(x_1);
x_13 = l_Lean_Parser_nonReservedSymbolFnAux(x_11, x_12, x_1, x_7);
x_14 = lean_ctor_get(x_13, 3);
@@ -7373,103 +6339,11 @@ return x_7;
}
else
{
-lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26;
-x_22 = lean_ctor_get(x_2, 0);
-lean_inc(x_22);
-x_23 = lean_array_get_size(x_22);
-lean_dec(x_22);
-x_24 = lean_ctor_get(x_2, 1);
-lean_inc(x_24);
-lean_inc(x_1);
-x_25 = lean_apply_2(x_4, x_1, x_2);
-x_26 = lean_ctor_get(x_25, 3);
-lean_inc(x_26);
-if (lean_obj_tag(x_26) == 0)
-{
-lean_dec(x_24);
-lean_dec(x_23);
-lean_dec(x_1);
-return x_25;
-}
-else
-{
-lean_object* x_27; lean_object* x_28; uint8_t x_29;
-x_27 = lean_ctor_get(x_26, 0);
-lean_inc(x_27);
-lean_dec(x_26);
-x_28 = lean_ctor_get(x_25, 1);
-lean_inc(x_28);
-x_29 = lean_nat_dec_eq(x_28, x_24);
-lean_dec(x_28);
-if (x_29 == 0)
-{
-lean_dec(x_27);
-lean_dec(x_24);
-lean_dec(x_23);
-lean_dec(x_1);
-return x_25;
-}
-else
-{
-lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
-lean_inc(x_24);
-x_30 = l_Lean_Parser_ParserState_restore(x_25, x_23, x_24);
-lean_dec(x_23);
-x_31 = lean_unsigned_to_nat(1024u);
-x_32 = l_Lean_Parser_checkPrecFn(x_31, x_1, x_30);
-x_33 = lean_ctor_get(x_32, 3);
-lean_inc(x_33);
-if (lean_obj_tag(x_33) == 0)
-{
-lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_34 = lean_ctor_get(x_32, 0);
-lean_inc(x_34);
-x_35 = lean_array_get_size(x_34);
-lean_dec(x_34);
-x_36 = l_Lean_Parser_Tactic_refine___elambda__1___closed__6;
-x_37 = l_Lean_Parser_Tactic_refine___elambda__1___closed__8;
-lean_inc(x_1);
-x_38 = l_Lean_Parser_nonReservedSymbolFnAux(x_36, x_37, x_1, x_32);
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45; lean_object* x_46;
-x_40 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_41 = lean_unsigned_to_nat(0u);
-x_42 = l_Lean_Parser_categoryParser___elambda__1(x_40, x_41, x_1, x_38);
-x_43 = l_Lean_Parser_Tactic_refine___elambda__1___closed__2;
-x_44 = l_Lean_Parser_ParserState_mkNode(x_42, x_43, x_35);
-x_45 = 1;
-x_46 = l_Lean_Parser_mergeOrElseErrors(x_44, x_27, x_24, x_45);
-lean_dec(x_24);
-return x_46;
-}
-else
-{
-lean_object* x_47; lean_object* x_48; uint8_t x_49; lean_object* x_50;
-lean_dec(x_39);
-lean_dec(x_1);
-x_47 = l_Lean_Parser_Tactic_refine___elambda__1___closed__2;
-x_48 = l_Lean_Parser_ParserState_mkNode(x_38, x_47, x_35);
-x_49 = 1;
-x_50 = l_Lean_Parser_mergeOrElseErrors(x_48, x_27, x_24, x_49);
-lean_dec(x_24);
-return x_50;
-}
-}
-else
-{
-uint8_t x_51; lean_object* x_52;
-lean_dec(x_33);
-lean_dec(x_1);
-x_51 = 1;
-x_52 = l_Lean_Parser_mergeOrElseErrors(x_32, x_27, x_24, x_51);
-lean_dec(x_24);
-return x_52;
-}
-}
-}
+lean_object* x_22; uint8_t x_23; lean_object* x_24;
+x_22 = l_Lean_Parser_Tactic_refine___elambda__1___closed__10;
+x_23 = 1;
+x_24 = l_Lean_Parser_orelseFnCore(x_4, x_22, x_23, x_1, x_2);
+return x_24;
}
}
}
@@ -7763,11 +6637,11 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbolFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__8() {
@@ -7775,6 +6649,52 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__7;
+x_2 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__11;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
@@ -7806,7 +6726,7 @@ lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
x_11 = l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__6;
-x_12 = l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__8;
+x_12 = l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__12;
lean_inc(x_1);
x_13 = l_Lean_Parser_nonReservedSymbolFnAux(x_11, x_12, x_1, x_7);
x_14 = lean_ctor_get(x_13, 3);
@@ -7840,103 +6760,11 @@ return x_7;
}
else
{
-lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26;
-x_22 = lean_ctor_get(x_2, 0);
-lean_inc(x_22);
-x_23 = lean_array_get_size(x_22);
-lean_dec(x_22);
-x_24 = lean_ctor_get(x_2, 1);
-lean_inc(x_24);
-lean_inc(x_1);
-x_25 = lean_apply_2(x_4, x_1, x_2);
-x_26 = lean_ctor_get(x_25, 3);
-lean_inc(x_26);
-if (lean_obj_tag(x_26) == 0)
-{
-lean_dec(x_24);
-lean_dec(x_23);
-lean_dec(x_1);
-return x_25;
-}
-else
-{
-lean_object* x_27; lean_object* x_28; uint8_t x_29;
-x_27 = lean_ctor_get(x_26, 0);
-lean_inc(x_27);
-lean_dec(x_26);
-x_28 = lean_ctor_get(x_25, 1);
-lean_inc(x_28);
-x_29 = lean_nat_dec_eq(x_28, x_24);
-lean_dec(x_28);
-if (x_29 == 0)
-{
-lean_dec(x_27);
-lean_dec(x_24);
-lean_dec(x_23);
-lean_dec(x_1);
-return x_25;
-}
-else
-{
-lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
-lean_inc(x_24);
-x_30 = l_Lean_Parser_ParserState_restore(x_25, x_23, x_24);
-lean_dec(x_23);
-x_31 = lean_unsigned_to_nat(1024u);
-x_32 = l_Lean_Parser_checkPrecFn(x_31, x_1, x_30);
-x_33 = lean_ctor_get(x_32, 3);
-lean_inc(x_33);
-if (lean_obj_tag(x_33) == 0)
-{
-lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_34 = lean_ctor_get(x_32, 0);
-lean_inc(x_34);
-x_35 = lean_array_get_size(x_34);
-lean_dec(x_34);
-x_36 = l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__6;
-x_37 = l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__8;
-lean_inc(x_1);
-x_38 = l_Lean_Parser_nonReservedSymbolFnAux(x_36, x_37, x_1, x_32);
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45; lean_object* x_46;
-x_40 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_41 = lean_unsigned_to_nat(0u);
-x_42 = l_Lean_Parser_categoryParser___elambda__1(x_40, x_41, x_1, x_38);
-x_43 = l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__2;
-x_44 = l_Lean_Parser_ParserState_mkNode(x_42, x_43, x_35);
-x_45 = 1;
-x_46 = l_Lean_Parser_mergeOrElseErrors(x_44, x_27, x_24, x_45);
-lean_dec(x_24);
-return x_46;
-}
-else
-{
-lean_object* x_47; lean_object* x_48; uint8_t x_49; lean_object* x_50;
-lean_dec(x_39);
-lean_dec(x_1);
-x_47 = l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__2;
-x_48 = l_Lean_Parser_ParserState_mkNode(x_38, x_47, x_35);
-x_49 = 1;
-x_50 = l_Lean_Parser_mergeOrElseErrors(x_48, x_27, x_24, x_49);
-lean_dec(x_24);
-return x_50;
-}
-}
-else
-{
-uint8_t x_51; lean_object* x_52;
-lean_dec(x_33);
-lean_dec(x_1);
-x_51 = 1;
-x_52 = l_Lean_Parser_mergeOrElseErrors(x_32, x_27, x_24, x_51);
-lean_dec(x_24);
-return x_52;
-}
-}
-}
+lean_object* x_22; uint8_t x_23; lean_object* x_24;
+x_22 = l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__10;
+x_23 = 1;
+x_24 = l_Lean_Parser_orelseFnCore(x_4, x_22, x_23, x_1, x_2);
+return x_24;
}
}
}
@@ -8214,7 +7042,7 @@ static lean_object* _init_l_Lean_Parser_Tactic_case___elambda__1___closed__5() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_ppGoal___closed__7;
+x_1 = l_Lean_ppGoal___closed__6;
x_2 = l_String_trim(x_1);
return x_2;
}
@@ -8222,6 +7050,78 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Tactic_case___elambda__1___closed__6() {
_start:
{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Tactic_case___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbolFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_case___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
+x_1 = l_Lean_Parser_Tactic_tacticSeq;
+x_2 = lean_ctor_get(x_1, 1);
+lean_inc(x_2);
+x_3 = l_Lean_Parser_darrow___closed__2;
+x_4 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_4, 0, x_3);
+lean_closure_set(x_4, 1, x_2);
+return x_4;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_case___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_ident___closed__2;
+x_2 = l_Lean_Parser_Tactic_case___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_case___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_case___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Tactic_case___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_case___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_case___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Tactic_case___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_case___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Tactic_case___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_case___elambda__1___closed__12() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Char_HasRepr___closed__1;
x_2 = l_Lean_Parser_Tactic_case___elambda__1___closed__5;
@@ -8229,11 +7129,11 @@ x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Tactic_case___elambda__1___closed__7() {
+static lean_object* _init_l_Lean_Parser_Tactic_case___elambda__1___closed__13() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Tactic_case___elambda__1___closed__6;
+x_1 = l_Lean_Parser_Tactic_case___elambda__1___closed__12;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
@@ -8268,7 +7168,7 @@ lean_inc(x_11);
x_12 = lean_array_get_size(x_11);
lean_dec(x_11);
x_13 = l_Lean_Parser_Tactic_case___elambda__1___closed__5;
-x_14 = l_Lean_Parser_Tactic_case___elambda__1___closed__7;
+x_14 = l_Lean_Parser_Tactic_case___elambda__1___closed__13;
lean_inc(x_1);
x_15 = l_Lean_Parser_nonReservedSymbolFnAux(x_13, x_14, x_1, x_9);
x_16 = lean_ctor_get(x_15, 3);
@@ -8338,147 +7238,12 @@ return x_9;
}
else
{
-lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34;
-x_30 = lean_ctor_get(x_2, 0);
-lean_inc(x_30);
-x_31 = lean_array_get_size(x_30);
-lean_dec(x_30);
-x_32 = lean_ctor_get(x_2, 1);
-lean_inc(x_32);
-lean_inc(x_1);
-x_33 = lean_apply_2(x_6, x_1, x_2);
-x_34 = lean_ctor_get(x_33, 3);
-lean_inc(x_34);
-if (lean_obj_tag(x_34) == 0)
-{
-lean_dec(x_32);
-lean_dec(x_31);
+lean_object* x_30; uint8_t x_31; lean_object* x_32;
lean_dec(x_4);
-lean_dec(x_1);
-return x_33;
-}
-else
-{
-lean_object* x_35; lean_object* x_36; uint8_t x_37;
-x_35 = lean_ctor_get(x_34, 0);
-lean_inc(x_35);
-lean_dec(x_34);
-x_36 = lean_ctor_get(x_33, 1);
-lean_inc(x_36);
-x_37 = lean_nat_dec_eq(x_36, x_32);
-lean_dec(x_36);
-if (x_37 == 0)
-{
-lean_dec(x_35);
-lean_dec(x_32);
-lean_dec(x_31);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_33;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41;
-lean_inc(x_32);
-x_38 = l_Lean_Parser_ParserState_restore(x_33, x_31, x_32);
-lean_dec(x_31);
-x_39 = lean_unsigned_to_nat(1024u);
-x_40 = l_Lean_Parser_checkPrecFn(x_39, x_1, x_38);
-x_41 = lean_ctor_get(x_40, 3);
-lean_inc(x_41);
-if (lean_obj_tag(x_41) == 0)
-{
-lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47;
-x_42 = lean_ctor_get(x_40, 0);
-lean_inc(x_42);
-x_43 = lean_array_get_size(x_42);
-lean_dec(x_42);
-x_44 = l_Lean_Parser_Tactic_case___elambda__1___closed__5;
-x_45 = l_Lean_Parser_Tactic_case___elambda__1___closed__7;
-lean_inc(x_1);
-x_46 = l_Lean_Parser_nonReservedSymbolFnAux(x_44, x_45, x_1, x_40);
-x_47 = lean_ctor_get(x_46, 3);
-lean_inc(x_47);
-if (lean_obj_tag(x_47) == 0)
-{
-lean_object* x_48; lean_object* x_49;
-lean_inc(x_1);
-x_48 = l_Lean_Parser_ident___elambda__1(x_1, x_46);
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
-{
-lean_object* x_50; lean_object* x_51;
-lean_inc(x_1);
-x_50 = l_Lean_Parser_darrow___elambda__1(x_1, x_48);
-x_51 = lean_ctor_get(x_50, 3);
-lean_inc(x_51);
-if (lean_obj_tag(x_51) == 0)
-{
-lean_object* x_52; lean_object* x_53; lean_object* x_54; uint8_t x_55; lean_object* x_56;
-x_52 = lean_apply_2(x_4, x_1, x_50);
-x_53 = l_Lean_Parser_Tactic_case___elambda__1___closed__2;
-x_54 = l_Lean_Parser_ParserState_mkNode(x_52, x_53, x_43);
-x_55 = 1;
-x_56 = l_Lean_Parser_mergeOrElseErrors(x_54, x_35, x_32, x_55);
-lean_dec(x_32);
-return x_56;
-}
-else
-{
-lean_object* x_57; lean_object* x_58; uint8_t x_59; lean_object* x_60;
-lean_dec(x_51);
-lean_dec(x_4);
-lean_dec(x_1);
-x_57 = l_Lean_Parser_Tactic_case___elambda__1___closed__2;
-x_58 = l_Lean_Parser_ParserState_mkNode(x_50, x_57, x_43);
-x_59 = 1;
-x_60 = l_Lean_Parser_mergeOrElseErrors(x_58, x_35, x_32, x_59);
-lean_dec(x_32);
-return x_60;
-}
-}
-else
-{
-lean_object* x_61; lean_object* x_62; uint8_t x_63; lean_object* x_64;
-lean_dec(x_49);
-lean_dec(x_4);
-lean_dec(x_1);
-x_61 = l_Lean_Parser_Tactic_case___elambda__1___closed__2;
-x_62 = l_Lean_Parser_ParserState_mkNode(x_48, x_61, x_43);
-x_63 = 1;
-x_64 = l_Lean_Parser_mergeOrElseErrors(x_62, x_35, x_32, x_63);
-lean_dec(x_32);
-return x_64;
-}
-}
-else
-{
-lean_object* x_65; lean_object* x_66; uint8_t x_67; lean_object* x_68;
-lean_dec(x_47);
-lean_dec(x_4);
-lean_dec(x_1);
-x_65 = l_Lean_Parser_Tactic_case___elambda__1___closed__2;
-x_66 = l_Lean_Parser_ParserState_mkNode(x_46, x_65, x_43);
-x_67 = 1;
-x_68 = l_Lean_Parser_mergeOrElseErrors(x_66, x_35, x_32, x_67);
-lean_dec(x_32);
-return x_68;
-}
-}
-else
-{
-uint8_t x_69; lean_object* x_70;
-lean_dec(x_41);
-lean_dec(x_4);
-lean_dec(x_1);
-x_69 = 1;
-x_70 = l_Lean_Parser_mergeOrElseErrors(x_40, x_35, x_32, x_69);
-lean_dec(x_32);
-return x_70;
-}
-}
-}
+x_30 = l_Lean_Parser_Tactic_case___elambda__1___closed__11;
+x_31 = 1;
+x_32 = l_Lean_Parser_orelseFnCore(x_6, x_30, x_31, x_1, x_2);
+return x_32;
}
}
}
@@ -8620,7 +7385,7 @@ static lean_object* _init_l_Lean_Parser_Tactic_case_formatter___closed__2() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_ppGoal___closed__7;
+x_1 = l_Lean_ppGoal___closed__6;
x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_nonReservedSymbol_formatter___boxed), 6, 1);
lean_closure_set(x_2, 0, x_1);
return x_2;
@@ -8856,6 +7621,54 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Tactic_allGoals___elambda__1___closed__7() {
_start:
{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Tactic_allGoals___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbolFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_allGoals___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
+x_1 = l_Lean_Parser_Tactic_tacticSeq;
+x_2 = lean_ctor_get(x_1, 1);
+lean_inc(x_2);
+x_3 = l_Lean_Parser_Tactic_allGoals___elambda__1___closed__7;
+x_4 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_4, 0, x_3);
+lean_closure_set(x_4, 1, x_2);
+return x_4;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_allGoals___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_allGoals___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Tactic_allGoals___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_allGoals___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Tactic_allGoals___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_allGoals___elambda__1___closed__11() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Char_HasRepr___closed__1;
x_2 = l_Lean_Parser_Tactic_allGoals___elambda__1___closed__6;
@@ -8863,11 +7676,11 @@ x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Tactic_allGoals___elambda__1___closed__8() {
+static lean_object* _init_l_Lean_Parser_Tactic_allGoals___elambda__1___closed__12() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Tactic_allGoals___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Tactic_allGoals___elambda__1___closed__11;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
@@ -8902,7 +7715,7 @@ lean_inc(x_11);
x_12 = lean_array_get_size(x_11);
lean_dec(x_11);
x_13 = l_Lean_Parser_Tactic_allGoals___elambda__1___closed__6;
-x_14 = l_Lean_Parser_Tactic_allGoals___elambda__1___closed__8;
+x_14 = l_Lean_Parser_Tactic_allGoals___elambda__1___closed__12;
lean_inc(x_1);
x_15 = l_Lean_Parser_nonReservedSymbolFnAux(x_13, x_14, x_1, x_9);
x_16 = lean_ctor_get(x_15, 3);
@@ -8936,105 +7749,12 @@ return x_9;
}
else
{
-lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26;
-x_22 = lean_ctor_get(x_2, 0);
-lean_inc(x_22);
-x_23 = lean_array_get_size(x_22);
-lean_dec(x_22);
-x_24 = lean_ctor_get(x_2, 1);
-lean_inc(x_24);
-lean_inc(x_1);
-x_25 = lean_apply_2(x_6, x_1, x_2);
-x_26 = lean_ctor_get(x_25, 3);
-lean_inc(x_26);
-if (lean_obj_tag(x_26) == 0)
-{
-lean_dec(x_24);
-lean_dec(x_23);
+lean_object* x_22; uint8_t x_23; lean_object* x_24;
lean_dec(x_4);
-lean_dec(x_1);
-return x_25;
-}
-else
-{
-lean_object* x_27; lean_object* x_28; uint8_t x_29;
-x_27 = lean_ctor_get(x_26, 0);
-lean_inc(x_27);
-lean_dec(x_26);
-x_28 = lean_ctor_get(x_25, 1);
-lean_inc(x_28);
-x_29 = lean_nat_dec_eq(x_28, x_24);
-lean_dec(x_28);
-if (x_29 == 0)
-{
-lean_dec(x_27);
-lean_dec(x_24);
-lean_dec(x_23);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_25;
-}
-else
-{
-lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
-lean_inc(x_24);
-x_30 = l_Lean_Parser_ParserState_restore(x_25, x_23, x_24);
-lean_dec(x_23);
-x_31 = lean_unsigned_to_nat(1024u);
-x_32 = l_Lean_Parser_checkPrecFn(x_31, x_1, x_30);
-x_33 = lean_ctor_get(x_32, 3);
-lean_inc(x_33);
-if (lean_obj_tag(x_33) == 0)
-{
-lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_34 = lean_ctor_get(x_32, 0);
-lean_inc(x_34);
-x_35 = lean_array_get_size(x_34);
-lean_dec(x_34);
-x_36 = l_Lean_Parser_Tactic_allGoals___elambda__1___closed__6;
-x_37 = l_Lean_Parser_Tactic_allGoals___elambda__1___closed__8;
-lean_inc(x_1);
-x_38 = l_Lean_Parser_nonReservedSymbolFnAux(x_36, x_37, x_1, x_32);
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_object* x_40; lean_object* x_41; lean_object* x_42; uint8_t x_43; lean_object* x_44;
-x_40 = lean_apply_2(x_4, x_1, x_38);
-x_41 = l_Lean_Parser_Tactic_allGoals___elambda__1___closed__2;
-x_42 = l_Lean_Parser_ParserState_mkNode(x_40, x_41, x_35);
-x_43 = 1;
-x_44 = l_Lean_Parser_mergeOrElseErrors(x_42, x_27, x_24, x_43);
-lean_dec(x_24);
-return x_44;
-}
-else
-{
-lean_object* x_45; lean_object* x_46; uint8_t x_47; lean_object* x_48;
-lean_dec(x_39);
-lean_dec(x_4);
-lean_dec(x_1);
-x_45 = l_Lean_Parser_Tactic_allGoals___elambda__1___closed__2;
-x_46 = l_Lean_Parser_ParserState_mkNode(x_38, x_45, x_35);
-x_47 = 1;
-x_48 = l_Lean_Parser_mergeOrElseErrors(x_46, x_27, x_24, x_47);
-lean_dec(x_24);
-return x_48;
-}
-}
-else
-{
-uint8_t x_49; lean_object* x_50;
-lean_dec(x_33);
-lean_dec(x_4);
-lean_dec(x_1);
-x_49 = 1;
-x_50 = l_Lean_Parser_mergeOrElseErrors(x_32, x_27, x_24, x_49);
-lean_dec(x_24);
-return x_50;
-}
-}
-}
+x_22 = l_Lean_Parser_Tactic_allGoals___elambda__1___closed__10;
+x_23 = 1;
+x_24 = l_Lean_Parser_orelseFnCore(x_6, x_22, x_23, x_1, x_2);
+return x_24;
}
}
}
@@ -9340,6 +8060,54 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Tactic_focus___elambda__1___closed__7() {
_start:
{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Tactic_focus___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbolFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_focus___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
+x_1 = l_Lean_Parser_Tactic_tacticSeq;
+x_2 = lean_ctor_get(x_1, 1);
+lean_inc(x_2);
+x_3 = l_Lean_Parser_Tactic_focus___elambda__1___closed__7;
+x_4 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_4, 0, x_3);
+lean_closure_set(x_4, 1, x_2);
+return x_4;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_focus___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_focus___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Tactic_focus___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_focus___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Tactic_focus___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_focus___elambda__1___closed__11() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Char_HasRepr___closed__1;
x_2 = l_Lean_Parser_Tactic_focus___elambda__1___closed__6;
@@ -9347,11 +8115,11 @@ x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Tactic_focus___elambda__1___closed__8() {
+static lean_object* _init_l_Lean_Parser_Tactic_focus___elambda__1___closed__12() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Tactic_focus___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Tactic_focus___elambda__1___closed__11;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
@@ -9386,7 +8154,7 @@ lean_inc(x_11);
x_12 = lean_array_get_size(x_11);
lean_dec(x_11);
x_13 = l_Lean_Parser_Tactic_focus___elambda__1___closed__6;
-x_14 = l_Lean_Parser_Tactic_focus___elambda__1___closed__8;
+x_14 = l_Lean_Parser_Tactic_focus___elambda__1___closed__12;
lean_inc(x_1);
x_15 = l_Lean_Parser_nonReservedSymbolFnAux(x_13, x_14, x_1, x_9);
x_16 = lean_ctor_get(x_15, 3);
@@ -9420,105 +8188,12 @@ return x_9;
}
else
{
-lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26;
-x_22 = lean_ctor_get(x_2, 0);
-lean_inc(x_22);
-x_23 = lean_array_get_size(x_22);
-lean_dec(x_22);
-x_24 = lean_ctor_get(x_2, 1);
-lean_inc(x_24);
-lean_inc(x_1);
-x_25 = lean_apply_2(x_6, x_1, x_2);
-x_26 = lean_ctor_get(x_25, 3);
-lean_inc(x_26);
-if (lean_obj_tag(x_26) == 0)
-{
-lean_dec(x_24);
-lean_dec(x_23);
+lean_object* x_22; uint8_t x_23; lean_object* x_24;
lean_dec(x_4);
-lean_dec(x_1);
-return x_25;
-}
-else
-{
-lean_object* x_27; lean_object* x_28; uint8_t x_29;
-x_27 = lean_ctor_get(x_26, 0);
-lean_inc(x_27);
-lean_dec(x_26);
-x_28 = lean_ctor_get(x_25, 1);
-lean_inc(x_28);
-x_29 = lean_nat_dec_eq(x_28, x_24);
-lean_dec(x_28);
-if (x_29 == 0)
-{
-lean_dec(x_27);
-lean_dec(x_24);
-lean_dec(x_23);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_25;
-}
-else
-{
-lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
-lean_inc(x_24);
-x_30 = l_Lean_Parser_ParserState_restore(x_25, x_23, x_24);
-lean_dec(x_23);
-x_31 = lean_unsigned_to_nat(1024u);
-x_32 = l_Lean_Parser_checkPrecFn(x_31, x_1, x_30);
-x_33 = lean_ctor_get(x_32, 3);
-lean_inc(x_33);
-if (lean_obj_tag(x_33) == 0)
-{
-lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_34 = lean_ctor_get(x_32, 0);
-lean_inc(x_34);
-x_35 = lean_array_get_size(x_34);
-lean_dec(x_34);
-x_36 = l_Lean_Parser_Tactic_focus___elambda__1___closed__6;
-x_37 = l_Lean_Parser_Tactic_focus___elambda__1___closed__8;
-lean_inc(x_1);
-x_38 = l_Lean_Parser_nonReservedSymbolFnAux(x_36, x_37, x_1, x_32);
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_object* x_40; lean_object* x_41; lean_object* x_42; uint8_t x_43; lean_object* x_44;
-x_40 = lean_apply_2(x_4, x_1, x_38);
-x_41 = l_Lean_Parser_Tactic_focus___elambda__1___closed__2;
-x_42 = l_Lean_Parser_ParserState_mkNode(x_40, x_41, x_35);
-x_43 = 1;
-x_44 = l_Lean_Parser_mergeOrElseErrors(x_42, x_27, x_24, x_43);
-lean_dec(x_24);
-return x_44;
-}
-else
-{
-lean_object* x_45; lean_object* x_46; uint8_t x_47; lean_object* x_48;
-lean_dec(x_39);
-lean_dec(x_4);
-lean_dec(x_1);
-x_45 = l_Lean_Parser_Tactic_focus___elambda__1___closed__2;
-x_46 = l_Lean_Parser_ParserState_mkNode(x_38, x_45, x_35);
-x_47 = 1;
-x_48 = l_Lean_Parser_mergeOrElseErrors(x_46, x_27, x_24, x_47);
-lean_dec(x_24);
-return x_48;
-}
-}
-else
-{
-uint8_t x_49; lean_object* x_50;
-lean_dec(x_33);
-lean_dec(x_4);
-lean_dec(x_1);
-x_49 = 1;
-x_50 = l_Lean_Parser_mergeOrElseErrors(x_32, x_27, x_24, x_49);
-lean_dec(x_24);
-return x_50;
-}
-}
-}
+x_22 = l_Lean_Parser_Tactic_focus___elambda__1___closed__10;
+x_23 = 1;
+x_24 = l_Lean_Parser_orelseFnCore(x_6, x_22, x_23, x_1, x_2);
+return x_24;
}
}
}
@@ -9804,6 +8479,40 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Tactic_skip___elambda__1___closed__6() {
_start:
{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Tactic_skip___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbolFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_skip___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_skip___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Tactic_skip___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_skip___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Tactic_skip___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_skip___elambda__1___closed__9() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Char_HasRepr___closed__1;
x_2 = l_Lean_Parser_Tactic_skip___elambda__1___closed__5;
@@ -9811,11 +8520,11 @@ x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Tactic_skip___elambda__1___closed__7() {
+static lean_object* _init_l_Lean_Parser_Tactic_skip___elambda__1___closed__10() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Tactic_skip___elambda__1___closed__6;
+x_1 = l_Lean_Parser_Tactic_skip___elambda__1___closed__9;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
@@ -9847,7 +8556,7 @@ lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
x_11 = l_Lean_Parser_Tactic_skip___elambda__1___closed__5;
-x_12 = l_Lean_Parser_Tactic_skip___elambda__1___closed__7;
+x_12 = l_Lean_Parser_Tactic_skip___elambda__1___closed__10;
x_13 = l_Lean_Parser_nonReservedSymbolFnAux(x_11, x_12, x_1, x_7);
x_14 = l_Lean_Parser_Tactic_skip___elambda__1___closed__2;
x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
@@ -9862,81 +8571,11 @@ return x_7;
}
else
{
-lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
-x_16 = lean_ctor_get(x_2, 0);
-lean_inc(x_16);
-x_17 = lean_array_get_size(x_16);
-lean_dec(x_16);
-x_18 = lean_ctor_get(x_2, 1);
-lean_inc(x_18);
-lean_inc(x_1);
-x_19 = lean_apply_2(x_4, x_1, x_2);
-x_20 = lean_ctor_get(x_19, 3);
-lean_inc(x_20);
-if (lean_obj_tag(x_20) == 0)
-{
-lean_dec(x_18);
-lean_dec(x_17);
-lean_dec(x_1);
-return x_19;
-}
-else
-{
-lean_object* x_21; lean_object* x_22; uint8_t x_23;
-x_21 = lean_ctor_get(x_20, 0);
-lean_inc(x_21);
-lean_dec(x_20);
-x_22 = lean_ctor_get(x_19, 1);
-lean_inc(x_22);
-x_23 = lean_nat_dec_eq(x_22, x_18);
-lean_dec(x_22);
-if (x_23 == 0)
-{
-lean_dec(x_21);
-lean_dec(x_18);
-lean_dec(x_17);
-lean_dec(x_1);
-return x_19;
-}
-else
-{
-lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
-lean_inc(x_18);
-x_24 = l_Lean_Parser_ParserState_restore(x_19, x_17, x_18);
-lean_dec(x_17);
-x_25 = lean_unsigned_to_nat(1024u);
-x_26 = l_Lean_Parser_checkPrecFn(x_25, x_1, x_24);
-x_27 = lean_ctor_get(x_26, 3);
-lean_inc(x_27);
-if (lean_obj_tag(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; uint8_t x_35; lean_object* x_36;
-x_28 = lean_ctor_get(x_26, 0);
-lean_inc(x_28);
-x_29 = lean_array_get_size(x_28);
-lean_dec(x_28);
-x_30 = l_Lean_Parser_Tactic_skip___elambda__1___closed__5;
-x_31 = l_Lean_Parser_Tactic_skip___elambda__1___closed__7;
-x_32 = l_Lean_Parser_nonReservedSymbolFnAux(x_30, x_31, x_1, x_26);
-x_33 = l_Lean_Parser_Tactic_skip___elambda__1___closed__2;
-x_34 = l_Lean_Parser_ParserState_mkNode(x_32, x_33, x_29);
-x_35 = 1;
-x_36 = l_Lean_Parser_mergeOrElseErrors(x_34, x_21, x_18, x_35);
-lean_dec(x_18);
-return x_36;
-}
-else
-{
-uint8_t x_37; lean_object* x_38;
-lean_dec(x_27);
-lean_dec(x_1);
-x_37 = 1;
-x_38 = l_Lean_Parser_mergeOrElseErrors(x_26, x_21, x_18, x_37);
-lean_dec(x_18);
-return x_38;
-}
-}
-}
+lean_object* x_16; uint8_t x_17; lean_object* x_18;
+x_16 = l_Lean_Parser_Tactic_skip___elambda__1___closed__8;
+x_17 = 1;
+x_18 = l_Lean_Parser_orelseFnCore(x_4, x_16, x_17, x_1, x_2);
+return x_18;
}
}
}
@@ -10198,6 +8837,40 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Tactic_done___elambda__1___closed__6() {
_start:
{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Tactic_done___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbolFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_done___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_done___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Tactic_done___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_done___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Tactic_done___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_done___elambda__1___closed__9() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Char_HasRepr___closed__1;
x_2 = l_Lean_Parser_Tactic_done___elambda__1___closed__5;
@@ -10205,11 +8878,11 @@ x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Tactic_done___elambda__1___closed__7() {
+static lean_object* _init_l_Lean_Parser_Tactic_done___elambda__1___closed__10() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Tactic_done___elambda__1___closed__6;
+x_1 = l_Lean_Parser_Tactic_done___elambda__1___closed__9;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
@@ -10241,7 +8914,7 @@ lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
x_11 = l_Lean_Parser_Tactic_done___elambda__1___closed__5;
-x_12 = l_Lean_Parser_Tactic_done___elambda__1___closed__7;
+x_12 = l_Lean_Parser_Tactic_done___elambda__1___closed__10;
x_13 = l_Lean_Parser_nonReservedSymbolFnAux(x_11, x_12, x_1, x_7);
x_14 = l_Lean_Parser_Tactic_done___elambda__1___closed__2;
x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
@@ -10256,81 +8929,11 @@ return x_7;
}
else
{
-lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
-x_16 = lean_ctor_get(x_2, 0);
-lean_inc(x_16);
-x_17 = lean_array_get_size(x_16);
-lean_dec(x_16);
-x_18 = lean_ctor_get(x_2, 1);
-lean_inc(x_18);
-lean_inc(x_1);
-x_19 = lean_apply_2(x_4, x_1, x_2);
-x_20 = lean_ctor_get(x_19, 3);
-lean_inc(x_20);
-if (lean_obj_tag(x_20) == 0)
-{
-lean_dec(x_18);
-lean_dec(x_17);
-lean_dec(x_1);
-return x_19;
-}
-else
-{
-lean_object* x_21; lean_object* x_22; uint8_t x_23;
-x_21 = lean_ctor_get(x_20, 0);
-lean_inc(x_21);
-lean_dec(x_20);
-x_22 = lean_ctor_get(x_19, 1);
-lean_inc(x_22);
-x_23 = lean_nat_dec_eq(x_22, x_18);
-lean_dec(x_22);
-if (x_23 == 0)
-{
-lean_dec(x_21);
-lean_dec(x_18);
-lean_dec(x_17);
-lean_dec(x_1);
-return x_19;
-}
-else
-{
-lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
-lean_inc(x_18);
-x_24 = l_Lean_Parser_ParserState_restore(x_19, x_17, x_18);
-lean_dec(x_17);
-x_25 = lean_unsigned_to_nat(1024u);
-x_26 = l_Lean_Parser_checkPrecFn(x_25, x_1, x_24);
-x_27 = lean_ctor_get(x_26, 3);
-lean_inc(x_27);
-if (lean_obj_tag(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; uint8_t x_35; lean_object* x_36;
-x_28 = lean_ctor_get(x_26, 0);
-lean_inc(x_28);
-x_29 = lean_array_get_size(x_28);
-lean_dec(x_28);
-x_30 = l_Lean_Parser_Tactic_done___elambda__1___closed__5;
-x_31 = l_Lean_Parser_Tactic_done___elambda__1___closed__7;
-x_32 = l_Lean_Parser_nonReservedSymbolFnAux(x_30, x_31, x_1, x_26);
-x_33 = l_Lean_Parser_Tactic_done___elambda__1___closed__2;
-x_34 = l_Lean_Parser_ParserState_mkNode(x_32, x_33, x_29);
-x_35 = 1;
-x_36 = l_Lean_Parser_mergeOrElseErrors(x_34, x_21, x_18, x_35);
-lean_dec(x_18);
-return x_36;
-}
-else
-{
-uint8_t x_37; lean_object* x_38;
-lean_dec(x_27);
-lean_dec(x_1);
-x_37 = 1;
-x_38 = l_Lean_Parser_mergeOrElseErrors(x_26, x_21, x_18, x_37);
-lean_dec(x_18);
-return x_38;
-}
-}
-}
+lean_object* x_16; uint8_t x_17; lean_object* x_18;
+x_16 = l_Lean_Parser_Tactic_done___elambda__1___closed__8;
+x_17 = 1;
+x_18 = l_Lean_Parser_orelseFnCore(x_4, x_16, x_17, x_1, x_2);
+return x_18;
}
}
}
@@ -10592,6 +9195,40 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Tactic_admit___elambda__1___closed__6() {
_start:
{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Tactic_admit___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbolFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_admit___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_admit___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Tactic_admit___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_admit___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Tactic_admit___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_admit___elambda__1___closed__9() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Char_HasRepr___closed__1;
x_2 = l_Lean_Parser_Tactic_admit___elambda__1___closed__5;
@@ -10599,11 +9236,11 @@ x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Tactic_admit___elambda__1___closed__7() {
+static lean_object* _init_l_Lean_Parser_Tactic_admit___elambda__1___closed__10() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Tactic_admit___elambda__1___closed__6;
+x_1 = l_Lean_Parser_Tactic_admit___elambda__1___closed__9;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
@@ -10635,7 +9272,7 @@ lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
x_11 = l_Lean_Parser_Tactic_admit___elambda__1___closed__5;
-x_12 = l_Lean_Parser_Tactic_admit___elambda__1___closed__7;
+x_12 = l_Lean_Parser_Tactic_admit___elambda__1___closed__10;
x_13 = l_Lean_Parser_nonReservedSymbolFnAux(x_11, x_12, x_1, x_7);
x_14 = l_Lean_Parser_Tactic_admit___elambda__1___closed__2;
x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
@@ -10650,81 +9287,11 @@ return x_7;
}
else
{
-lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
-x_16 = lean_ctor_get(x_2, 0);
-lean_inc(x_16);
-x_17 = lean_array_get_size(x_16);
-lean_dec(x_16);
-x_18 = lean_ctor_get(x_2, 1);
-lean_inc(x_18);
-lean_inc(x_1);
-x_19 = lean_apply_2(x_4, x_1, x_2);
-x_20 = lean_ctor_get(x_19, 3);
-lean_inc(x_20);
-if (lean_obj_tag(x_20) == 0)
-{
-lean_dec(x_18);
-lean_dec(x_17);
-lean_dec(x_1);
-return x_19;
-}
-else
-{
-lean_object* x_21; lean_object* x_22; uint8_t x_23;
-x_21 = lean_ctor_get(x_20, 0);
-lean_inc(x_21);
-lean_dec(x_20);
-x_22 = lean_ctor_get(x_19, 1);
-lean_inc(x_22);
-x_23 = lean_nat_dec_eq(x_22, x_18);
-lean_dec(x_22);
-if (x_23 == 0)
-{
-lean_dec(x_21);
-lean_dec(x_18);
-lean_dec(x_17);
-lean_dec(x_1);
-return x_19;
-}
-else
-{
-lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
-lean_inc(x_18);
-x_24 = l_Lean_Parser_ParserState_restore(x_19, x_17, x_18);
-lean_dec(x_17);
-x_25 = lean_unsigned_to_nat(1024u);
-x_26 = l_Lean_Parser_checkPrecFn(x_25, x_1, x_24);
-x_27 = lean_ctor_get(x_26, 3);
-lean_inc(x_27);
-if (lean_obj_tag(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; uint8_t x_35; lean_object* x_36;
-x_28 = lean_ctor_get(x_26, 0);
-lean_inc(x_28);
-x_29 = lean_array_get_size(x_28);
-lean_dec(x_28);
-x_30 = l_Lean_Parser_Tactic_admit___elambda__1___closed__5;
-x_31 = l_Lean_Parser_Tactic_admit___elambda__1___closed__7;
-x_32 = l_Lean_Parser_nonReservedSymbolFnAux(x_30, x_31, x_1, x_26);
-x_33 = l_Lean_Parser_Tactic_admit___elambda__1___closed__2;
-x_34 = l_Lean_Parser_ParserState_mkNode(x_32, x_33, x_29);
-x_35 = 1;
-x_36 = l_Lean_Parser_mergeOrElseErrors(x_34, x_21, x_18, x_35);
-lean_dec(x_18);
-return x_36;
-}
-else
-{
-uint8_t x_37; lean_object* x_38;
-lean_dec(x_27);
-lean_dec(x_1);
-x_37 = 1;
-x_38 = l_Lean_Parser_mergeOrElseErrors(x_26, x_21, x_18, x_37);
-lean_dec(x_18);
-return x_38;
-}
-}
-}
+lean_object* x_16; uint8_t x_17; lean_object* x_18;
+x_16 = l_Lean_Parser_Tactic_admit___elambda__1___closed__8;
+x_17 = 1;
+x_18 = l_Lean_Parser_orelseFnCore(x_4, x_16, x_17, x_1, x_2);
+return x_18;
}
}
}
@@ -10986,6 +9553,40 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Tactic_traceState___elambda__1___closed__6() {
_start:
{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Tactic_traceState___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbolFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_traceState___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_traceState___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Tactic_traceState___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_traceState___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Tactic_traceState___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_traceState___elambda__1___closed__9() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Char_HasRepr___closed__1;
x_2 = l_Lean_Parser_Tactic_traceState___elambda__1___closed__5;
@@ -10993,11 +9594,11 @@ x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Tactic_traceState___elambda__1___closed__7() {
+static lean_object* _init_l_Lean_Parser_Tactic_traceState___elambda__1___closed__10() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Tactic_traceState___elambda__1___closed__6;
+x_1 = l_Lean_Parser_Tactic_traceState___elambda__1___closed__9;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
@@ -11029,7 +9630,7 @@ lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
x_11 = l_Lean_Parser_Tactic_traceState___elambda__1___closed__5;
-x_12 = l_Lean_Parser_Tactic_traceState___elambda__1___closed__7;
+x_12 = l_Lean_Parser_Tactic_traceState___elambda__1___closed__10;
x_13 = l_Lean_Parser_nonReservedSymbolFnAux(x_11, x_12, x_1, x_7);
x_14 = l_Lean_Parser_Tactic_traceState___elambda__1___closed__2;
x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
@@ -11044,81 +9645,11 @@ return x_7;
}
else
{
-lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
-x_16 = lean_ctor_get(x_2, 0);
-lean_inc(x_16);
-x_17 = lean_array_get_size(x_16);
-lean_dec(x_16);
-x_18 = lean_ctor_get(x_2, 1);
-lean_inc(x_18);
-lean_inc(x_1);
-x_19 = lean_apply_2(x_4, x_1, x_2);
-x_20 = lean_ctor_get(x_19, 3);
-lean_inc(x_20);
-if (lean_obj_tag(x_20) == 0)
-{
-lean_dec(x_18);
-lean_dec(x_17);
-lean_dec(x_1);
-return x_19;
-}
-else
-{
-lean_object* x_21; lean_object* x_22; uint8_t x_23;
-x_21 = lean_ctor_get(x_20, 0);
-lean_inc(x_21);
-lean_dec(x_20);
-x_22 = lean_ctor_get(x_19, 1);
-lean_inc(x_22);
-x_23 = lean_nat_dec_eq(x_22, x_18);
-lean_dec(x_22);
-if (x_23 == 0)
-{
-lean_dec(x_21);
-lean_dec(x_18);
-lean_dec(x_17);
-lean_dec(x_1);
-return x_19;
-}
-else
-{
-lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
-lean_inc(x_18);
-x_24 = l_Lean_Parser_ParserState_restore(x_19, x_17, x_18);
-lean_dec(x_17);
-x_25 = lean_unsigned_to_nat(1024u);
-x_26 = l_Lean_Parser_checkPrecFn(x_25, x_1, x_24);
-x_27 = lean_ctor_get(x_26, 3);
-lean_inc(x_27);
-if (lean_obj_tag(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; uint8_t x_35; lean_object* x_36;
-x_28 = lean_ctor_get(x_26, 0);
-lean_inc(x_28);
-x_29 = lean_array_get_size(x_28);
-lean_dec(x_28);
-x_30 = l_Lean_Parser_Tactic_traceState___elambda__1___closed__5;
-x_31 = l_Lean_Parser_Tactic_traceState___elambda__1___closed__7;
-x_32 = l_Lean_Parser_nonReservedSymbolFnAux(x_30, x_31, x_1, x_26);
-x_33 = l_Lean_Parser_Tactic_traceState___elambda__1___closed__2;
-x_34 = l_Lean_Parser_ParserState_mkNode(x_32, x_33, x_29);
-x_35 = 1;
-x_36 = l_Lean_Parser_mergeOrElseErrors(x_34, x_21, x_18, x_35);
-lean_dec(x_18);
-return x_36;
-}
-else
-{
-uint8_t x_37; lean_object* x_38;
-lean_dec(x_27);
-lean_dec(x_1);
-x_37 = 1;
-x_38 = l_Lean_Parser_mergeOrElseErrors(x_26, x_21, x_18, x_37);
-lean_dec(x_18);
-return x_38;
-}
-}
-}
+lean_object* x_16; uint8_t x_17; lean_object* x_18;
+x_16 = l_Lean_Parser_Tactic_traceState___elambda__1___closed__8;
+x_17 = 1;
+x_18 = l_Lean_Parser_orelseFnCore(x_4, x_16, x_17, x_1, x_2);
+return x_18;
}
}
}
@@ -11388,6 +9919,54 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__7() {
_start:
{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbolFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
+x_1 = l_Lean_Parser_Tactic_tacticSeq;
+x_2 = lean_ctor_get(x_1, 1);
+lean_inc(x_2);
+x_3 = l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__7;
+x_4 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_4, 0, x_3);
+lean_closure_set(x_4, 1, x_2);
+return x_4;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__11() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Char_HasRepr___closed__1;
x_2 = l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__6;
@@ -11395,11 +9974,11 @@ x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__8() {
+static lean_object* _init_l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__12() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__11;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
@@ -11434,7 +10013,7 @@ lean_inc(x_11);
x_12 = lean_array_get_size(x_11);
lean_dec(x_11);
x_13 = l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__6;
-x_14 = l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__8;
+x_14 = l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__12;
lean_inc(x_1);
x_15 = l_Lean_Parser_nonReservedSymbolFnAux(x_13, x_14, x_1, x_9);
x_16 = lean_ctor_get(x_15, 3);
@@ -11468,105 +10047,12 @@ return x_9;
}
else
{
-lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26;
-x_22 = lean_ctor_get(x_2, 0);
-lean_inc(x_22);
-x_23 = lean_array_get_size(x_22);
-lean_dec(x_22);
-x_24 = lean_ctor_get(x_2, 1);
-lean_inc(x_24);
-lean_inc(x_1);
-x_25 = lean_apply_2(x_6, x_1, x_2);
-x_26 = lean_ctor_get(x_25, 3);
-lean_inc(x_26);
-if (lean_obj_tag(x_26) == 0)
-{
-lean_dec(x_24);
-lean_dec(x_23);
+lean_object* x_22; uint8_t x_23; lean_object* x_24;
lean_dec(x_4);
-lean_dec(x_1);
-return x_25;
-}
-else
-{
-lean_object* x_27; lean_object* x_28; uint8_t x_29;
-x_27 = lean_ctor_get(x_26, 0);
-lean_inc(x_27);
-lean_dec(x_26);
-x_28 = lean_ctor_get(x_25, 1);
-lean_inc(x_28);
-x_29 = lean_nat_dec_eq(x_28, x_24);
-lean_dec(x_28);
-if (x_29 == 0)
-{
-lean_dec(x_27);
-lean_dec(x_24);
-lean_dec(x_23);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_25;
-}
-else
-{
-lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
-lean_inc(x_24);
-x_30 = l_Lean_Parser_ParserState_restore(x_25, x_23, x_24);
-lean_dec(x_23);
-x_31 = lean_unsigned_to_nat(1024u);
-x_32 = l_Lean_Parser_checkPrecFn(x_31, x_1, x_30);
-x_33 = lean_ctor_get(x_32, 3);
-lean_inc(x_33);
-if (lean_obj_tag(x_33) == 0)
-{
-lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_34 = lean_ctor_get(x_32, 0);
-lean_inc(x_34);
-x_35 = lean_array_get_size(x_34);
-lean_dec(x_34);
-x_36 = l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__6;
-x_37 = l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__8;
-lean_inc(x_1);
-x_38 = l_Lean_Parser_nonReservedSymbolFnAux(x_36, x_37, x_1, x_32);
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_object* x_40; lean_object* x_41; lean_object* x_42; uint8_t x_43; lean_object* x_44;
-x_40 = lean_apply_2(x_4, x_1, x_38);
-x_41 = l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__2;
-x_42 = l_Lean_Parser_ParserState_mkNode(x_40, x_41, x_35);
-x_43 = 1;
-x_44 = l_Lean_Parser_mergeOrElseErrors(x_42, x_27, x_24, x_43);
-lean_dec(x_24);
-return x_44;
-}
-else
-{
-lean_object* x_45; lean_object* x_46; uint8_t x_47; lean_object* x_48;
-lean_dec(x_39);
-lean_dec(x_4);
-lean_dec(x_1);
-x_45 = l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__2;
-x_46 = l_Lean_Parser_ParserState_mkNode(x_38, x_45, x_35);
-x_47 = 1;
-x_48 = l_Lean_Parser_mergeOrElseErrors(x_46, x_27, x_24, x_47);
-lean_dec(x_24);
-return x_48;
-}
-}
-else
-{
-uint8_t x_49; lean_object* x_50;
-lean_dec(x_33);
-lean_dec(x_4);
-lean_dec(x_1);
-x_49 = 1;
-x_50 = l_Lean_Parser_mergeOrElseErrors(x_32, x_27, x_24, x_49);
-lean_dec(x_24);
-return x_50;
-}
-}
-}
+x_22 = l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__10;
+x_23 = 1;
+x_24 = l_Lean_Parser_orelseFnCore(x_6, x_22, x_23, x_1, x_2);
+return x_24;
}
}
}
@@ -11861,8 +10347,9 @@ static lean_object* _init_l_Lean_Parser_Tactic_generalize___elambda__1___closed_
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Term_eq___elambda__1___closed__3;
-x_2 = l_String_trim(x_1);
+x_1 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbolFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
return x_2;
}
}
@@ -11870,37 +10357,140 @@ static lean_object* _init_l_Lean_Parser_Tactic_generalize___elambda__1___closed_
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__7;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_ident___closed__2;
+x_2 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
static lean_object* _init_l_Lean_Parser_Tactic_generalize___elambda__1___closed__9() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
+lean_object* x_1; lean_object* x_2;
x_1 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__8;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_tryFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Tactic_generalize___elambda__1___closed__10() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__9;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__9;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optionalFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Tactic_generalize___elambda__1___closed__11() {
_start:
{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_eq___elambda__1___closed__3;
+x_2 = l_String_trim(x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_generalize___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__11;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_generalize___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__12;
+x_2 = l_Lean_Parser_ident___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_generalize___elambda__1___closed__14() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_2 = lean_unsigned_to_nat(51u);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_categoryParser___elambda__1), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_generalize___elambda__1___closed__15() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__14;
+x_2 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__13;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_generalize___elambda__1___closed__16() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__10;
+x_2 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__15;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_generalize___elambda__1___closed__17() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__16;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_generalize___elambda__1___closed__18() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__17;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_generalize___elambda__1___closed__19() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__18;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_generalize___elambda__1___closed__20() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Char_HasRepr___closed__1;
x_2 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__6;
@@ -11908,11 +10498,31 @@ x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Tactic_generalize___elambda__1___closed__12() {
+static lean_object* _init_l_Lean_Parser_Tactic_generalize___elambda__1___closed__21() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__11;
+x_1 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__20;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_generalize___elambda__1___closed__22() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__11;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_generalize___elambda__1___closed__23() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__22;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
@@ -11938,333 +10548,89 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_45 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__6;
-x_46 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__12;
+x_11 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__21;
lean_inc(x_1);
-x_47 = l_Lean_Parser_nonReservedSymbolFnAux(x_45, x_46, x_1, x_7);
-x_48 = lean_ctor_get(x_47, 3);
-lean_inc(x_48);
-if (lean_obj_tag(x_48) == 0)
+x_13 = l_Lean_Parser_nonReservedSymbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-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_75; lean_object* x_76;
-x_49 = lean_ctor_get(x_47, 0);
-lean_inc(x_49);
-x_50 = lean_ctor_get(x_47, 1);
-lean_inc(x_50);
-x_51 = lean_array_get_size(x_49);
-lean_dec(x_49);
+lean_object* x_15; lean_object* x_16; lean_object* x_17;
+x_15 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__9;
lean_inc(x_1);
-x_75 = l_Lean_Parser_ident___elambda__1(x_1, x_47);
-x_76 = lean_ctor_get(x_75, 3);
-lean_inc(x_76);
-if (lean_obj_tag(x_76) == 0)
-{
-lean_object* x_77; lean_object* x_78; lean_object* x_79;
-x_77 = lean_ctor_get(x_75, 1);
-lean_inc(x_77);
-lean_inc(x_1);
-x_78 = l_Lean_Parser_tokenFn(x_1, x_75);
-x_79 = lean_ctor_get(x_78, 3);
-lean_inc(x_79);
-if (lean_obj_tag(x_79) == 0)
-{
-lean_object* x_80; lean_object* x_81;
-x_80 = lean_ctor_get(x_78, 0);
-lean_inc(x_80);
-x_81 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_80);
-lean_dec(x_80);
-if (lean_obj_tag(x_81) == 2)
-{
-lean_object* x_82; lean_object* x_83; uint8_t x_84;
-x_82 = lean_ctor_get(x_81, 1);
-lean_inc(x_82);
-lean_dec(x_81);
-x_83 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__3;
-x_84 = lean_string_dec_eq(x_82, x_83);
-lean_dec(x_82);
-if (x_84 == 0)
-{
-lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89;
-x_85 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-x_86 = l_Lean_Parser_ParserState_mkErrorsAt(x_78, x_85, x_77);
-x_87 = lean_ctor_get(x_86, 0);
-lean_inc(x_87);
-x_88 = lean_ctor_get(x_86, 2);
-lean_inc(x_88);
-x_89 = lean_ctor_get(x_86, 3);
-lean_inc(x_89);
-x_52 = x_86;
-x_53 = x_87;
-x_54 = x_88;
-x_55 = x_89;
-goto block_74;
-}
-else
-{
-lean_object* x_90; lean_object* x_91; lean_object* x_92;
-lean_dec(x_77);
-x_90 = lean_ctor_get(x_78, 0);
-lean_inc(x_90);
-x_91 = lean_ctor_get(x_78, 2);
-lean_inc(x_91);
-x_92 = lean_ctor_get(x_78, 3);
-lean_inc(x_92);
-x_52 = x_78;
-x_53 = x_90;
-x_54 = x_91;
-x_55 = x_92;
-goto block_74;
-}
-}
-else
-{
-lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97;
-lean_dec(x_81);
-x_93 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-x_94 = l_Lean_Parser_ParserState_mkErrorsAt(x_78, x_93, x_77);
-x_95 = lean_ctor_get(x_94, 0);
-lean_inc(x_95);
-x_96 = lean_ctor_get(x_94, 2);
-lean_inc(x_96);
-x_97 = lean_ctor_get(x_94, 3);
-lean_inc(x_97);
-x_52 = x_94;
-x_53 = x_95;
-x_54 = x_96;
-x_55 = x_97;
-goto block_74;
-}
-}
-else
-{
-lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102;
-lean_dec(x_79);
-x_98 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-x_99 = l_Lean_Parser_ParserState_mkErrorsAt(x_78, x_98, x_77);
-x_100 = lean_ctor_get(x_99, 0);
-lean_inc(x_100);
-x_101 = lean_ctor_get(x_99, 2);
-lean_inc(x_101);
-x_102 = lean_ctor_get(x_99, 3);
-lean_inc(x_102);
-x_52 = x_99;
-x_53 = x_100;
-x_54 = x_101;
-x_55 = x_102;
-goto block_74;
-}
-}
-else
-{
-lean_object* x_103; lean_object* x_104; lean_object* x_105;
-lean_dec(x_76);
-x_103 = lean_ctor_get(x_75, 0);
-lean_inc(x_103);
-x_104 = lean_ctor_get(x_75, 2);
-lean_inc(x_104);
-x_105 = lean_ctor_get(x_75, 3);
-lean_inc(x_105);
-x_52 = x_75;
-x_53 = x_103;
-x_54 = x_104;
-x_55 = x_105;
-goto block_74;
-}
-block_74:
-{
-if (lean_obj_tag(x_55) == 0)
-{
-lean_object* x_56;
-lean_dec(x_54);
-lean_dec(x_53);
-x_56 = lean_ctor_get(x_52, 3);
-lean_inc(x_56);
-if (lean_obj_tag(x_56) == 0)
-{
-lean_object* x_57; lean_object* x_58;
-lean_dec(x_50);
-x_57 = l_Lean_nullKind;
-x_58 = l_Lean_Parser_ParserState_mkNode(x_52, x_57, x_51);
-x_11 = x_58;
-goto block_44;
-}
-else
-{
-lean_object* x_59; uint8_t x_60;
-lean_dec(x_56);
-x_59 = lean_ctor_get(x_52, 1);
-lean_inc(x_59);
-x_60 = lean_nat_dec_eq(x_59, x_50);
-lean_dec(x_59);
-if (x_60 == 0)
-{
-lean_object* x_61; lean_object* x_62;
-lean_dec(x_50);
-x_61 = l_Lean_nullKind;
-x_62 = l_Lean_Parser_ParserState_mkNode(x_52, x_61, x_51);
-x_11 = x_62;
-goto block_44;
-}
-else
-{
-lean_object* x_63; lean_object* x_64; lean_object* x_65;
-x_63 = l_Lean_Parser_ParserState_restore(x_52, x_51, x_50);
-x_64 = l_Lean_nullKind;
-x_65 = l_Lean_Parser_ParserState_mkNode(x_63, x_64, x_51);
-x_11 = x_65;
-goto block_44;
-}
-}
-}
-else
-{
-lean_object* x_66; lean_object* x_67; uint8_t x_68;
-lean_dec(x_52);
-x_66 = l_Array_shrink___main___rarg(x_53, x_51);
-lean_inc(x_50);
-x_67 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_67, 0, x_66);
-lean_ctor_set(x_67, 1, x_50);
-lean_ctor_set(x_67, 2, x_54);
-lean_ctor_set(x_67, 3, x_55);
-x_68 = lean_nat_dec_eq(x_50, x_50);
-if (x_68 == 0)
-{
-lean_object* x_69; lean_object* x_70;
-lean_dec(x_50);
-x_69 = l_Lean_nullKind;
-x_70 = l_Lean_Parser_ParserState_mkNode(x_67, x_69, x_51);
-x_11 = x_70;
-goto block_44;
-}
-else
-{
-lean_object* x_71; lean_object* x_72; lean_object* x_73;
-x_71 = l_Lean_Parser_ParserState_restore(x_67, x_51, x_50);
-x_72 = l_Lean_nullKind;
-x_73 = l_Lean_Parser_ParserState_mkNode(x_71, x_72, x_51);
-x_11 = x_73;
-goto block_44;
-}
-}
-}
-}
-else
-{
-lean_object* x_106; lean_object* x_107;
-lean_dec(x_48);
-lean_dec(x_1);
-x_106 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__2;
-x_107 = l_Lean_Parser_ParserState_mkNode(x_47, x_106, x_10);
-return x_107;
-}
-block_44:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
-x_13 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_14 = lean_unsigned_to_nat(51u);
-lean_inc(x_1);
-x_15 = l_Lean_Parser_categoryParser___elambda__1(x_13, x_14, x_1, x_11);
-x_16 = lean_ctor_get(x_15, 3);
-lean_inc(x_16);
-if (lean_obj_tag(x_16) == 0)
-{
-lean_object* x_17; lean_object* x_18; lean_object* x_19;
-x_17 = lean_ctor_get(x_15, 1);
+x_16 = l_Lean_Parser_optionalFn(x_15, x_1, x_13);
+x_17 = lean_ctor_get(x_16, 3);
lean_inc(x_17);
+if (lean_obj_tag(x_17) == 0)
+{
+lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
+x_18 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_19 = lean_unsigned_to_nat(51u);
lean_inc(x_1);
-x_18 = l_Lean_Parser_tokenFn(x_1, x_15);
-x_19 = lean_ctor_get(x_18, 3);
-lean_inc(x_19);
-if (lean_obj_tag(x_19) == 0)
+x_20 = l_Lean_Parser_categoryParser___elambda__1(x_18, x_19, x_1, x_16);
+x_21 = lean_ctor_get(x_20, 3);
+lean_inc(x_21);
+if (lean_obj_tag(x_21) == 0)
{
-lean_object* x_20; lean_object* x_21;
-x_20 = lean_ctor_get(x_18, 0);
-lean_inc(x_20);
-x_21 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_20);
-lean_dec(x_20);
-if (lean_obj_tag(x_21) == 2)
+lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25;
+x_22 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__11;
+x_23 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__23;
+lean_inc(x_1);
+x_24 = l_Lean_Parser_symbolFnAux(x_22, x_23, x_1, x_20);
+x_25 = lean_ctor_get(x_24, 3);
+lean_inc(x_25);
+if (lean_obj_tag(x_25) == 0)
{
-lean_object* x_22; lean_object* x_23; uint8_t x_24;
-x_22 = lean_ctor_get(x_21, 1);
-lean_inc(x_22);
-lean_dec(x_21);
-x_23 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__7;
-x_24 = lean_string_dec_eq(x_22, x_23);
-lean_dec(x_22);
-if (x_24 == 0)
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
-lean_dec(x_1);
-x_25 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__10;
-x_26 = l_Lean_Parser_ParserState_mkErrorsAt(x_18, x_25, x_17);
+lean_object* x_26; lean_object* x_27; lean_object* x_28;
+x_26 = l_Lean_Parser_ident___elambda__1(x_1, x_24);
x_27 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__2;
x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_10);
return x_28;
}
else
{
-lean_object* x_29; lean_object* x_30; lean_object* x_31;
-lean_dec(x_17);
-x_29 = l_Lean_Parser_ident___elambda__1(x_1, x_18);
-x_30 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__2;
-x_31 = l_Lean_Parser_ParserState_mkNode(x_29, x_30, x_10);
-return x_31;
+lean_object* x_29; lean_object* x_30;
+lean_dec(x_25);
+lean_dec(x_1);
+x_29 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__2;
+x_30 = l_Lean_Parser_ParserState_mkNode(x_24, x_29, x_10);
+return x_30;
}
}
else
{
-lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35;
+lean_object* x_31; lean_object* x_32;
lean_dec(x_21);
lean_dec(x_1);
-x_32 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__10;
-x_33 = l_Lean_Parser_ParserState_mkErrorsAt(x_18, x_32, x_17);
-x_34 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__2;
-x_35 = l_Lean_Parser_ParserState_mkNode(x_33, x_34, x_10);
-return x_35;
+x_31 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__2;
+x_32 = l_Lean_Parser_ParserState_mkNode(x_20, x_31, x_10);
+return x_32;
}
}
else
{
-lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-lean_dec(x_19);
+lean_object* x_33; lean_object* x_34;
+lean_dec(x_17);
lean_dec(x_1);
-x_36 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__10;
-x_37 = l_Lean_Parser_ParserState_mkErrorsAt(x_18, x_36, x_17);
-x_38 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__2;
-x_39 = l_Lean_Parser_ParserState_mkNode(x_37, x_38, x_10);
-return x_39;
+x_33 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__2;
+x_34 = l_Lean_Parser_ParserState_mkNode(x_16, x_33, x_10);
+return x_34;
}
}
else
{
-lean_object* x_40; lean_object* x_41;
-lean_dec(x_16);
+lean_object* x_35; lean_object* x_36;
+lean_dec(x_14);
lean_dec(x_1);
-x_40 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__2;
-x_41 = l_Lean_Parser_ParserState_mkNode(x_15, x_40, x_10);
-return x_41;
-}
-}
-else
-{
-lean_object* x_42; lean_object* x_43;
-lean_dec(x_12);
-lean_dec(x_1);
-x_42 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__2;
-x_43 = l_Lean_Parser_ParserState_mkNode(x_11, x_42, x_10);
-return x_43;
-}
+x_35 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__2;
+x_36 = l_Lean_Parser_ParserState_mkNode(x_13, x_35, x_10);
+return x_36;
}
}
else
@@ -12276,416 +10642,11 @@ return x_7;
}
else
{
-lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112;
-x_108 = lean_ctor_get(x_2, 0);
-lean_inc(x_108);
-x_109 = lean_array_get_size(x_108);
-lean_dec(x_108);
-x_110 = lean_ctor_get(x_2, 1);
-lean_inc(x_110);
-lean_inc(x_1);
-x_111 = lean_apply_2(x_4, x_1, x_2);
-x_112 = lean_ctor_get(x_111, 3);
-lean_inc(x_112);
-if (lean_obj_tag(x_112) == 0)
-{
-lean_dec(x_110);
-lean_dec(x_109);
-lean_dec(x_1);
-return x_111;
-}
-else
-{
-lean_object* x_113; lean_object* x_114; uint8_t x_115;
-x_113 = lean_ctor_get(x_112, 0);
-lean_inc(x_113);
-lean_dec(x_112);
-x_114 = lean_ctor_get(x_111, 1);
-lean_inc(x_114);
-x_115 = lean_nat_dec_eq(x_114, x_110);
-lean_dec(x_114);
-if (x_115 == 0)
-{
-lean_dec(x_113);
-lean_dec(x_110);
-lean_dec(x_109);
-lean_dec(x_1);
-return x_111;
-}
-else
-{
-lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119;
-lean_inc(x_110);
-x_116 = l_Lean_Parser_ParserState_restore(x_111, x_109, x_110);
-lean_dec(x_109);
-x_117 = lean_unsigned_to_nat(1024u);
-x_118 = l_Lean_Parser_checkPrecFn(x_117, x_1, x_116);
-x_119 = lean_ctor_get(x_118, 3);
-lean_inc(x_119);
-if (lean_obj_tag(x_119) == 0)
-{
-lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171;
-x_120 = lean_ctor_get(x_118, 0);
-lean_inc(x_120);
-x_121 = lean_array_get_size(x_120);
-lean_dec(x_120);
-x_168 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__6;
-x_169 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__12;
-lean_inc(x_1);
-x_170 = l_Lean_Parser_nonReservedSymbolFnAux(x_168, x_169, x_1, x_118);
-x_171 = lean_ctor_get(x_170, 3);
-lean_inc(x_171);
-if (lean_obj_tag(x_171) == 0)
-{
-lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_198; lean_object* x_199;
-x_172 = lean_ctor_get(x_170, 0);
-lean_inc(x_172);
-x_173 = lean_ctor_get(x_170, 1);
-lean_inc(x_173);
-x_174 = lean_array_get_size(x_172);
-lean_dec(x_172);
-lean_inc(x_1);
-x_198 = l_Lean_Parser_ident___elambda__1(x_1, x_170);
-x_199 = lean_ctor_get(x_198, 3);
-lean_inc(x_199);
-if (lean_obj_tag(x_199) == 0)
-{
-lean_object* x_200; lean_object* x_201; lean_object* x_202;
-x_200 = lean_ctor_get(x_198, 1);
-lean_inc(x_200);
-lean_inc(x_1);
-x_201 = l_Lean_Parser_tokenFn(x_1, x_198);
-x_202 = lean_ctor_get(x_201, 3);
-lean_inc(x_202);
-if (lean_obj_tag(x_202) == 0)
-{
-lean_object* x_203; lean_object* x_204;
-x_203 = lean_ctor_get(x_201, 0);
-lean_inc(x_203);
-x_204 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_203);
-lean_dec(x_203);
-if (lean_obj_tag(x_204) == 2)
-{
-lean_object* x_205; lean_object* x_206; uint8_t x_207;
-x_205 = lean_ctor_get(x_204, 1);
-lean_inc(x_205);
-lean_dec(x_204);
-x_206 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__3;
-x_207 = lean_string_dec_eq(x_205, x_206);
-lean_dec(x_205);
-if (x_207 == 0)
-{
-lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212;
-x_208 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-x_209 = l_Lean_Parser_ParserState_mkErrorsAt(x_201, x_208, x_200);
-x_210 = lean_ctor_get(x_209, 0);
-lean_inc(x_210);
-x_211 = lean_ctor_get(x_209, 2);
-lean_inc(x_211);
-x_212 = lean_ctor_get(x_209, 3);
-lean_inc(x_212);
-x_175 = x_209;
-x_176 = x_210;
-x_177 = x_211;
-x_178 = x_212;
-goto block_197;
-}
-else
-{
-lean_object* x_213; lean_object* x_214; lean_object* x_215;
-lean_dec(x_200);
-x_213 = lean_ctor_get(x_201, 0);
-lean_inc(x_213);
-x_214 = lean_ctor_get(x_201, 2);
-lean_inc(x_214);
-x_215 = lean_ctor_get(x_201, 3);
-lean_inc(x_215);
-x_175 = x_201;
-x_176 = x_213;
-x_177 = x_214;
-x_178 = x_215;
-goto block_197;
-}
-}
-else
-{
-lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220;
-lean_dec(x_204);
-x_216 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-x_217 = l_Lean_Parser_ParserState_mkErrorsAt(x_201, x_216, x_200);
-x_218 = lean_ctor_get(x_217, 0);
-lean_inc(x_218);
-x_219 = lean_ctor_get(x_217, 2);
-lean_inc(x_219);
-x_220 = lean_ctor_get(x_217, 3);
-lean_inc(x_220);
-x_175 = x_217;
-x_176 = x_218;
-x_177 = x_219;
-x_178 = x_220;
-goto block_197;
-}
-}
-else
-{
-lean_object* x_221; lean_object* x_222; lean_object* x_223; lean_object* x_224; lean_object* x_225;
-lean_dec(x_202);
-x_221 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-x_222 = l_Lean_Parser_ParserState_mkErrorsAt(x_201, x_221, x_200);
-x_223 = lean_ctor_get(x_222, 0);
-lean_inc(x_223);
-x_224 = lean_ctor_get(x_222, 2);
-lean_inc(x_224);
-x_225 = lean_ctor_get(x_222, 3);
-lean_inc(x_225);
-x_175 = x_222;
-x_176 = x_223;
-x_177 = x_224;
-x_178 = x_225;
-goto block_197;
-}
-}
-else
-{
-lean_object* x_226; lean_object* x_227; lean_object* x_228;
-lean_dec(x_199);
-x_226 = lean_ctor_get(x_198, 0);
-lean_inc(x_226);
-x_227 = lean_ctor_get(x_198, 2);
-lean_inc(x_227);
-x_228 = lean_ctor_get(x_198, 3);
-lean_inc(x_228);
-x_175 = x_198;
-x_176 = x_226;
-x_177 = x_227;
-x_178 = x_228;
-goto block_197;
-}
-block_197:
-{
-if (lean_obj_tag(x_178) == 0)
-{
-lean_object* x_179;
-lean_dec(x_177);
-lean_dec(x_176);
-x_179 = lean_ctor_get(x_175, 3);
-lean_inc(x_179);
-if (lean_obj_tag(x_179) == 0)
-{
-lean_object* x_180; lean_object* x_181;
-lean_dec(x_173);
-x_180 = l_Lean_nullKind;
-x_181 = l_Lean_Parser_ParserState_mkNode(x_175, x_180, x_174);
-x_122 = x_181;
-goto block_167;
-}
-else
-{
-lean_object* x_182; uint8_t x_183;
-lean_dec(x_179);
-x_182 = lean_ctor_get(x_175, 1);
-lean_inc(x_182);
-x_183 = lean_nat_dec_eq(x_182, x_173);
-lean_dec(x_182);
-if (x_183 == 0)
-{
-lean_object* x_184; lean_object* x_185;
-lean_dec(x_173);
-x_184 = l_Lean_nullKind;
-x_185 = l_Lean_Parser_ParserState_mkNode(x_175, x_184, x_174);
-x_122 = x_185;
-goto block_167;
-}
-else
-{
-lean_object* x_186; lean_object* x_187; lean_object* x_188;
-x_186 = l_Lean_Parser_ParserState_restore(x_175, x_174, x_173);
-x_187 = l_Lean_nullKind;
-x_188 = l_Lean_Parser_ParserState_mkNode(x_186, x_187, x_174);
-x_122 = x_188;
-goto block_167;
-}
-}
-}
-else
-{
-lean_object* x_189; lean_object* x_190; uint8_t x_191;
-lean_dec(x_175);
-x_189 = l_Array_shrink___main___rarg(x_176, x_174);
-lean_inc(x_173);
-x_190 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_190, 0, x_189);
-lean_ctor_set(x_190, 1, x_173);
-lean_ctor_set(x_190, 2, x_177);
-lean_ctor_set(x_190, 3, x_178);
-x_191 = lean_nat_dec_eq(x_173, x_173);
-if (x_191 == 0)
-{
-lean_object* x_192; lean_object* x_193;
-lean_dec(x_173);
-x_192 = l_Lean_nullKind;
-x_193 = l_Lean_Parser_ParserState_mkNode(x_190, x_192, x_174);
-x_122 = x_193;
-goto block_167;
-}
-else
-{
-lean_object* x_194; lean_object* x_195; lean_object* x_196;
-x_194 = l_Lean_Parser_ParserState_restore(x_190, x_174, x_173);
-x_195 = l_Lean_nullKind;
-x_196 = l_Lean_Parser_ParserState_mkNode(x_194, x_195, x_174);
-x_122 = x_196;
-goto block_167;
-}
-}
-}
-}
-else
-{
-lean_object* x_229; lean_object* x_230; uint8_t x_231; lean_object* x_232;
-lean_dec(x_171);
-lean_dec(x_1);
-x_229 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__2;
-x_230 = l_Lean_Parser_ParserState_mkNode(x_170, x_229, x_121);
-x_231 = 1;
-x_232 = l_Lean_Parser_mergeOrElseErrors(x_230, x_113, x_110, x_231);
-lean_dec(x_110);
-return x_232;
-}
-block_167:
-{
-lean_object* x_123;
-x_123 = lean_ctor_get(x_122, 3);
-lean_inc(x_123);
-if (lean_obj_tag(x_123) == 0)
-{
-lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127;
-x_124 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_125 = lean_unsigned_to_nat(51u);
-lean_inc(x_1);
-x_126 = l_Lean_Parser_categoryParser___elambda__1(x_124, x_125, x_1, x_122);
-x_127 = lean_ctor_get(x_126, 3);
-lean_inc(x_127);
-if (lean_obj_tag(x_127) == 0)
-{
-lean_object* x_128; lean_object* x_129; lean_object* x_130;
-x_128 = lean_ctor_get(x_126, 1);
-lean_inc(x_128);
-lean_inc(x_1);
-x_129 = l_Lean_Parser_tokenFn(x_1, x_126);
-x_130 = lean_ctor_get(x_129, 3);
-lean_inc(x_130);
-if (lean_obj_tag(x_130) == 0)
-{
-lean_object* x_131; lean_object* x_132;
-x_131 = lean_ctor_get(x_129, 0);
-lean_inc(x_131);
-x_132 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_131);
-lean_dec(x_131);
-if (lean_obj_tag(x_132) == 2)
-{
-lean_object* x_133; lean_object* x_134; uint8_t x_135;
-x_133 = lean_ctor_get(x_132, 1);
-lean_inc(x_133);
-lean_dec(x_132);
-x_134 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__7;
-x_135 = lean_string_dec_eq(x_133, x_134);
-lean_dec(x_133);
-if (x_135 == 0)
-{
-lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; uint8_t x_140; lean_object* x_141;
-lean_dec(x_1);
-x_136 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__10;
-x_137 = l_Lean_Parser_ParserState_mkErrorsAt(x_129, x_136, x_128);
-x_138 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__2;
-x_139 = l_Lean_Parser_ParserState_mkNode(x_137, x_138, x_121);
-x_140 = 1;
-x_141 = l_Lean_Parser_mergeOrElseErrors(x_139, x_113, x_110, x_140);
-lean_dec(x_110);
-return x_141;
-}
-else
-{
-lean_object* x_142; lean_object* x_143; lean_object* x_144; uint8_t x_145; lean_object* x_146;
-lean_dec(x_128);
-x_142 = l_Lean_Parser_ident___elambda__1(x_1, x_129);
-x_143 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__2;
-x_144 = l_Lean_Parser_ParserState_mkNode(x_142, x_143, x_121);
-x_145 = 1;
-x_146 = l_Lean_Parser_mergeOrElseErrors(x_144, x_113, x_110, x_145);
-lean_dec(x_110);
-return x_146;
-}
-}
-else
-{
-lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; uint8_t x_151; lean_object* x_152;
-lean_dec(x_132);
-lean_dec(x_1);
-x_147 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__10;
-x_148 = l_Lean_Parser_ParserState_mkErrorsAt(x_129, x_147, x_128);
-x_149 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__2;
-x_150 = l_Lean_Parser_ParserState_mkNode(x_148, x_149, x_121);
-x_151 = 1;
-x_152 = l_Lean_Parser_mergeOrElseErrors(x_150, x_113, x_110, x_151);
-lean_dec(x_110);
-return x_152;
-}
-}
-else
-{
-lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; uint8_t x_157; lean_object* x_158;
-lean_dec(x_130);
-lean_dec(x_1);
-x_153 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__10;
-x_154 = l_Lean_Parser_ParserState_mkErrorsAt(x_129, x_153, x_128);
-x_155 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__2;
-x_156 = l_Lean_Parser_ParserState_mkNode(x_154, x_155, x_121);
-x_157 = 1;
-x_158 = l_Lean_Parser_mergeOrElseErrors(x_156, x_113, x_110, x_157);
-lean_dec(x_110);
-return x_158;
-}
-}
-else
-{
-lean_object* x_159; lean_object* x_160; uint8_t x_161; lean_object* x_162;
-lean_dec(x_127);
-lean_dec(x_1);
-x_159 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__2;
-x_160 = l_Lean_Parser_ParserState_mkNode(x_126, x_159, x_121);
-x_161 = 1;
-x_162 = l_Lean_Parser_mergeOrElseErrors(x_160, x_113, x_110, x_161);
-lean_dec(x_110);
-return x_162;
-}
-}
-else
-{
-lean_object* x_163; lean_object* x_164; uint8_t x_165; lean_object* x_166;
-lean_dec(x_123);
-lean_dec(x_1);
-x_163 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__2;
-x_164 = l_Lean_Parser_ParserState_mkNode(x_122, x_163, x_121);
-x_165 = 1;
-x_166 = l_Lean_Parser_mergeOrElseErrors(x_164, x_113, x_110, x_165);
-lean_dec(x_110);
-return x_166;
-}
-}
-}
-else
-{
-uint8_t x_233; lean_object* x_234;
-lean_dec(x_119);
-lean_dec(x_1);
-x_233 = 1;
-x_234 = l_Lean_Parser_mergeOrElseErrors(x_118, x_113, x_110, x_233);
-lean_dec(x_110);
-return x_234;
-}
-}
-}
+lean_object* x_37; uint8_t x_38; lean_object* x_39;
+x_37 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__19;
+x_38 = 1;
+x_39 = l_Lean_Parser_orelseFnCore(x_4, x_37, x_38, x_1, x_2);
+return x_39;
}
}
}
@@ -12734,7 +10695,7 @@ static lean_object* _init_l_Lean_Parser_Tactic_generalize___closed__5() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__11;
x_2 = l_Lean_Parser_symbolInfo(x_1);
return x_2;
}
@@ -13203,9 +11164,11 @@ static lean_object* _init_l_Lean_Parser_Tactic_locationWildcard___elambda__1___c
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_mkAntiquot___closed__20;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Tactic_locationWildcard___elambda__1___closed__2;
+x_2 = l_Lean_Parser_mkAntiquot___closed__22;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -13213,9 +11176,11 @@ static lean_object* _init_l_Lean_Parser_Tactic_locationWildcard___elambda__1___c
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Tactic_locationWildcard___elambda__1___closed__5;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Tactic_locationWildcard___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -13223,11 +11188,19 @@ static lean_object* _init_l_Lean_Parser_Tactic_locationWildcard___elambda__1___c
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Tactic_locationWildcard___elambda__1___closed__6;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_mkAntiquot___closed__20;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_locationWildcard___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_locationWildcard___elambda__1___closed__7;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -13251,71 +11224,17 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
+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;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_11 = lean_ctor_get(x_7, 1);
-lean_inc(x_11);
-x_12 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_13 = lean_ctor_get(x_12, 3);
-lean_inc(x_13);
-if (lean_obj_tag(x_13) == 0)
-{
-lean_object* x_14; lean_object* x_15;
-x_14 = lean_ctor_get(x_12, 0);
-lean_inc(x_14);
-x_15 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_14);
-lean_dec(x_14);
-if (lean_obj_tag(x_15) == 2)
-{
-lean_object* x_16; lean_object* x_17; uint8_t x_18;
-x_16 = lean_ctor_get(x_15, 1);
-lean_inc(x_16);
-lean_dec(x_15);
-x_17 = l_Lean_Parser_mkAntiquot___closed__20;
-x_18 = lean_string_dec_eq(x_16, x_17);
-lean_dec(x_16);
-if (x_18 == 0)
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
-x_19 = l_Lean_Parser_Tactic_locationWildcard___elambda__1___closed__7;
-x_20 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_19, x_11);
-x_21 = l_Lean_Parser_Tactic_locationWildcard___elambda__1___closed__2;
-x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_10);
-return x_22;
-}
-else
-{
-lean_object* x_23; lean_object* x_24;
-lean_dec(x_11);
-x_23 = l_Lean_Parser_Tactic_locationWildcard___elambda__1___closed__2;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_12, x_23, x_10);
-return x_24;
-}
-}
-else
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
-lean_dec(x_15);
-x_25 = l_Lean_Parser_Tactic_locationWildcard___elambda__1___closed__7;
-x_26 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_25, x_11);
-x_27 = l_Lean_Parser_Tactic_locationWildcard___elambda__1___closed__2;
-x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_10);
-return x_28;
-}
-}
-else
-{
-lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
-lean_dec(x_13);
-x_29 = l_Lean_Parser_Tactic_locationWildcard___elambda__1___closed__7;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_29, x_11);
-x_31 = l_Lean_Parser_Tactic_locationWildcard___elambda__1___closed__2;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_10);
-return x_32;
-}
+x_11 = l_Lean_Parser_mkAntiquot___closed__20;
+x_12 = l_Lean_Parser_Tactic_locationWildcard___elambda__1___closed__8;
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = l_Lean_Parser_Tactic_locationWildcard___elambda__1___closed__2;
+x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
+return x_15;
}
else
{
@@ -13326,144 +11245,11 @@ return x_7;
}
else
{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_33 = lean_ctor_get(x_2, 0);
-lean_inc(x_33);
-x_34 = lean_array_get_size(x_33);
-lean_dec(x_33);
-x_35 = lean_ctor_get(x_2, 1);
-lean_inc(x_35);
-lean_inc(x_1);
-x_36 = lean_apply_2(x_4, x_1, x_2);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_36, 1);
-lean_inc(x_39);
-x_40 = lean_nat_dec_eq(x_39, x_35);
-lean_dec(x_39);
-if (x_40 == 0)
-{
-lean_dec(x_38);
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
-lean_inc(x_35);
-x_41 = l_Lean_Parser_ParserState_restore(x_36, x_34, x_35);
-lean_dec(x_34);
-x_42 = lean_unsigned_to_nat(1024u);
-x_43 = l_Lean_Parser_checkPrecFn(x_42, x_1, x_41);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-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_43, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-x_47 = lean_ctor_get(x_43, 1);
-lean_inc(x_47);
-x_48 = l_Lean_Parser_tokenFn(x_1, x_43);
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
-{
-lean_object* x_50; lean_object* x_51;
-x_50 = lean_ctor_get(x_48, 0);
-lean_inc(x_50);
-x_51 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_50);
-lean_dec(x_50);
-if (lean_obj_tag(x_51) == 2)
-{
-lean_object* x_52; lean_object* x_53; uint8_t x_54;
-x_52 = lean_ctor_get(x_51, 1);
-lean_inc(x_52);
-lean_dec(x_51);
-x_53 = l_Lean_Parser_mkAntiquot___closed__20;
-x_54 = lean_string_dec_eq(x_52, x_53);
-lean_dec(x_52);
-if (x_54 == 0)
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; uint8_t x_59; lean_object* x_60;
-x_55 = l_Lean_Parser_Tactic_locationWildcard___elambda__1___closed__7;
-x_56 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_55, x_47);
-x_57 = l_Lean_Parser_Tactic_locationWildcard___elambda__1___closed__2;
-x_58 = l_Lean_Parser_ParserState_mkNode(x_56, x_57, x_46);
-x_59 = 1;
-x_60 = l_Lean_Parser_mergeOrElseErrors(x_58, x_38, x_35, x_59);
-lean_dec(x_35);
-return x_60;
-}
-else
-{
-lean_object* x_61; lean_object* x_62; uint8_t x_63; lean_object* x_64;
-lean_dec(x_47);
-x_61 = l_Lean_Parser_Tactic_locationWildcard___elambda__1___closed__2;
-x_62 = l_Lean_Parser_ParserState_mkNode(x_48, x_61, x_46);
-x_63 = 1;
-x_64 = l_Lean_Parser_mergeOrElseErrors(x_62, x_38, x_35, x_63);
-lean_dec(x_35);
-return x_64;
-}
-}
-else
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; uint8_t x_69; lean_object* x_70;
-lean_dec(x_51);
-x_65 = l_Lean_Parser_Tactic_locationWildcard___elambda__1___closed__7;
-x_66 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_65, x_47);
-x_67 = l_Lean_Parser_Tactic_locationWildcard___elambda__1___closed__2;
-x_68 = l_Lean_Parser_ParserState_mkNode(x_66, x_67, x_46);
-x_69 = 1;
-x_70 = l_Lean_Parser_mergeOrElseErrors(x_68, x_38, x_35, x_69);
-lean_dec(x_35);
-return x_70;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; uint8_t x_75; lean_object* x_76;
-lean_dec(x_49);
-x_71 = l_Lean_Parser_Tactic_locationWildcard___elambda__1___closed__7;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_71, x_47);
-x_73 = l_Lean_Parser_Tactic_locationWildcard___elambda__1___closed__2;
-x_74 = l_Lean_Parser_ParserState_mkNode(x_72, x_73, x_46);
-x_75 = 1;
-x_76 = l_Lean_Parser_mergeOrElseErrors(x_74, x_38, x_35, x_75);
-lean_dec(x_35);
-return x_76;
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_44);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_43, x_38, x_35, x_77);
-lean_dec(x_35);
-return x_78;
-}
-}
-}
+lean_object* x_16; uint8_t x_17; lean_object* x_18;
+x_16 = l_Lean_Parser_Tactic_locationWildcard___elambda__1___closed__6;
+x_17 = 1;
+x_18 = l_Lean_Parser_orelseFnCore(x_4, x_16, x_17, x_1, x_2);
+return x_18;
}
}
}
@@ -13570,7 +11356,7 @@ static lean_object* _init_l_Lean_Parser_Tactic_locationTarget___elambda__1___clo
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_ppGoal___closed__5;
+x_1 = l_Lean_ppGoal___closed__4;
x_2 = l_String_trim(x_1);
return x_2;
}
@@ -13596,9 +11382,11 @@ static lean_object* _init_l_Lean_Parser_Tactic_locationTarget___elambda__1___clo
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__5;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__5;
+x_2 = l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_unicodeSymbolFn___boxed), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -13606,9 +11394,11 @@ static lean_object* _init_l_Lean_Parser_Tactic_locationTarget___elambda__1___clo
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__8;
-x_2 = l_Lean_KeyedDeclsAttribute_init___rarg___lambda__3___closed__2;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -13616,9 +11406,11 @@ static lean_object* _init_l_Lean_Parser_Tactic_locationTarget___elambda__1___clo
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__9;
-x_2 = l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__7;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -13626,8 +11418,8 @@ static lean_object* _init_l_Lean_Parser_Tactic_locationTarget___elambda__1___clo
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__10;
-x_2 = l_Char_HasRepr___closed__1;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__5;
x_3 = lean_string_append(x_1, x_2);
return x_3;
}
@@ -13636,8 +11428,38 @@ static lean_object* _init_l_Lean_Parser_Tactic_locationTarget___elambda__1___clo
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__11;
+x_2 = l_Lean_KeyedDeclsAttribute_init___rarg___lambda__3___closed__2;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__12;
+x_2 = l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__7;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__14() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__13;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__15() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__11;
+x_2 = l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__14;
x_3 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_3, 0, x_2);
lean_ctor_set(x_3, 1, x_1);
@@ -13671,7 +11493,7 @@ x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
x_11 = l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__5;
x_12 = l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__7;
-x_13 = l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__12;
+x_13 = l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__15;
x_14 = l_Lean_Parser_unicodeSymbolFnAux(x_11, x_12, x_13, x_1, x_7);
x_15 = l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__2;
x_16 = l_Lean_Parser_ParserState_mkNode(x_14, x_15, x_10);
@@ -13686,82 +11508,11 @@ return x_7;
}
else
{
-lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
-x_17 = lean_ctor_get(x_2, 0);
-lean_inc(x_17);
-x_18 = lean_array_get_size(x_17);
-lean_dec(x_17);
-x_19 = lean_ctor_get(x_2, 1);
-lean_inc(x_19);
-lean_inc(x_1);
-x_20 = lean_apply_2(x_4, x_1, x_2);
-x_21 = lean_ctor_get(x_20, 3);
-lean_inc(x_21);
-if (lean_obj_tag(x_21) == 0)
-{
-lean_dec(x_19);
-lean_dec(x_18);
-lean_dec(x_1);
-return x_20;
-}
-else
-{
-lean_object* x_22; lean_object* x_23; uint8_t x_24;
-x_22 = lean_ctor_get(x_21, 0);
-lean_inc(x_22);
-lean_dec(x_21);
-x_23 = lean_ctor_get(x_20, 1);
-lean_inc(x_23);
-x_24 = lean_nat_dec_eq(x_23, x_19);
-lean_dec(x_23);
-if (x_24 == 0)
-{
-lean_dec(x_22);
-lean_dec(x_19);
-lean_dec(x_18);
-lean_dec(x_1);
-return x_20;
-}
-else
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
-lean_inc(x_19);
-x_25 = l_Lean_Parser_ParserState_restore(x_20, x_18, x_19);
-lean_dec(x_18);
-x_26 = lean_unsigned_to_nat(1024u);
-x_27 = l_Lean_Parser_checkPrecFn(x_26, x_1, x_25);
-x_28 = lean_ctor_get(x_27, 3);
-lean_inc(x_28);
-if (lean_obj_tag(x_28) == 0)
-{
-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; uint8_t x_37; lean_object* x_38;
-x_29 = lean_ctor_get(x_27, 0);
-lean_inc(x_29);
-x_30 = lean_array_get_size(x_29);
-lean_dec(x_29);
-x_31 = l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__5;
-x_32 = l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__7;
-x_33 = l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__12;
-x_34 = l_Lean_Parser_unicodeSymbolFnAux(x_31, x_32, x_33, x_1, x_27);
-x_35 = l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__2;
-x_36 = l_Lean_Parser_ParserState_mkNode(x_34, x_35, x_30);
-x_37 = 1;
-x_38 = l_Lean_Parser_mergeOrElseErrors(x_36, x_22, x_19, x_37);
-lean_dec(x_19);
-return x_38;
-}
-else
-{
-uint8_t x_39; lean_object* x_40;
-lean_dec(x_28);
-lean_dec(x_1);
-x_39 = 1;
-x_40 = l_Lean_Parser_mergeOrElseErrors(x_27, x_22, x_19, x_39);
-lean_dec(x_19);
-return x_40;
-}
-}
-}
+lean_object* x_17; uint8_t x_18; lean_object* x_19;
+x_17 = l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__10;
+x_18 = 1;
+x_19 = l_Lean_Parser_orelseFnCore(x_4, x_17, x_18, x_1, x_2);
+return x_19;
}
}
}
@@ -13835,68 +11586,6 @@ x_1 = l_Lean_Parser_Tactic_locationTarget___closed__6;
return x_1;
}
}
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_locationHyp___elambda__1___spec__1(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-lean_inc(x_1);
-x_6 = l_Lean_Parser_ident___elambda__1(x_1, x_2);
-x_7 = lean_ctor_get(x_6, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
-{
-lean_object* x_8; uint8_t x_9;
-lean_dec(x_4);
-x_8 = lean_ctor_get(x_6, 1);
-lean_inc(x_8);
-x_9 = lean_nat_dec_eq(x_5, x_8);
-lean_dec(x_8);
-lean_dec(x_5);
-if (x_9 == 0)
-{
-x_2 = x_6;
-goto _start;
-}
-else
-{
-lean_object* x_11; lean_object* x_12;
-lean_dec(x_1);
-x_11 = l_Lean_Parser_manyAux___main___closed__1;
-x_12 = l_Lean_Parser_ParserState_mkUnexpectedError(x_6, x_11);
-return x_12;
-}
-}
-else
-{
-lean_object* x_13; uint8_t x_14;
-lean_dec(x_7);
-lean_dec(x_1);
-x_13 = lean_ctor_get(x_6, 1);
-lean_inc(x_13);
-x_14 = lean_nat_dec_eq(x_5, x_13);
-lean_dec(x_13);
-if (x_14 == 0)
-{
-lean_dec(x_5);
-lean_dec(x_4);
-return x_6;
-}
-else
-{
-lean_object* x_15;
-x_15 = l_Lean_Parser_ParserState_restore(x_6, x_4, x_5);
-lean_dec(x_4);
-return x_15;
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Tactic_locationHyp___elambda__1___closed__1() {
_start:
{
@@ -13936,6 +11625,40 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Tactic_locationHyp___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_ident___closed__2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_many1Fn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_locationHyp___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_locationHyp___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Tactic_locationHyp___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_locationHyp___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Tactic_locationHyp___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Tactic_locationHyp___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -13967,26 +11690,27 @@ x_12 = lean_ctor_get(x_11, 3);
lean_inc(x_12);
if (lean_obj_tag(x_12) == 0)
{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_13 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_locationHyp___elambda__1___spec__1(x_1, x_11);
-x_14 = l_Lean_nullKind;
+lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
+x_13 = l_Lean_Parser_ident___closed__2;
+x_14 = l_Lean_Parser_manyAux(x_13, x_1, x_11);
+x_15 = l_Lean_nullKind;
lean_inc(x_10);
-x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
-x_16 = l_Lean_Parser_Tactic_locationHyp___elambda__1___closed__2;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_10);
-return x_17;
+x_16 = l_Lean_Parser_ParserState_mkNode(x_14, x_15, x_10);
+x_17 = l_Lean_Parser_Tactic_locationHyp___elambda__1___closed__2;
+x_18 = l_Lean_Parser_ParserState_mkNode(x_16, x_17, x_10);
+return x_18;
}
else
{
-lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
+lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
lean_dec(x_12);
lean_dec(x_1);
-x_18 = l_Lean_nullKind;
+x_19 = l_Lean_nullKind;
lean_inc(x_10);
-x_19 = l_Lean_Parser_ParserState_mkNode(x_11, x_18, x_10);
-x_20 = l_Lean_Parser_Tactic_locationHyp___elambda__1___closed__2;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_10);
-return x_21;
+x_20 = l_Lean_Parser_ParserState_mkNode(x_11, x_19, x_10);
+x_21 = l_Lean_Parser_Tactic_locationHyp___elambda__1___closed__2;
+x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_10);
+return x_22;
}
}
else
@@ -13998,106 +11722,12 @@ return x_7;
}
else
{
-lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26;
-x_22 = lean_ctor_get(x_2, 0);
-lean_inc(x_22);
-x_23 = lean_array_get_size(x_22);
-lean_dec(x_22);
-x_24 = lean_ctor_get(x_2, 1);
-lean_inc(x_24);
-lean_inc(x_1);
-x_25 = lean_apply_2(x_4, x_1, x_2);
-x_26 = lean_ctor_get(x_25, 3);
-lean_inc(x_26);
-if (lean_obj_tag(x_26) == 0)
-{
-lean_dec(x_24);
-lean_dec(x_23);
-lean_dec(x_1);
+lean_object* x_23; uint8_t x_24; lean_object* x_25;
+x_23 = l_Lean_Parser_Tactic_locationHyp___elambda__1___closed__7;
+x_24 = 1;
+x_25 = l_Lean_Parser_orelseFnCore(x_4, x_23, x_24, x_1, x_2);
return x_25;
}
-else
-{
-lean_object* x_27; lean_object* x_28; uint8_t x_29;
-x_27 = lean_ctor_get(x_26, 0);
-lean_inc(x_27);
-lean_dec(x_26);
-x_28 = lean_ctor_get(x_25, 1);
-lean_inc(x_28);
-x_29 = lean_nat_dec_eq(x_28, x_24);
-lean_dec(x_28);
-if (x_29 == 0)
-{
-lean_dec(x_27);
-lean_dec(x_24);
-lean_dec(x_23);
-lean_dec(x_1);
-return x_25;
-}
-else
-{
-lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
-lean_inc(x_24);
-x_30 = l_Lean_Parser_ParserState_restore(x_25, x_23, x_24);
-lean_dec(x_23);
-x_31 = lean_unsigned_to_nat(1024u);
-x_32 = l_Lean_Parser_checkPrecFn(x_31, x_1, x_30);
-x_33 = lean_ctor_get(x_32, 3);
-lean_inc(x_33);
-if (lean_obj_tag(x_33) == 0)
-{
-lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_34 = lean_ctor_get(x_32, 0);
-lean_inc(x_34);
-x_35 = lean_array_get_size(x_34);
-lean_dec(x_34);
-lean_inc(x_1);
-x_36 = l_Lean_Parser_ident___elambda__1(x_1, x_32);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-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_object* x_44;
-x_38 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_locationHyp___elambda__1___spec__1(x_1, x_36);
-x_39 = l_Lean_nullKind;
-lean_inc(x_35);
-x_40 = l_Lean_Parser_ParserState_mkNode(x_38, x_39, x_35);
-x_41 = l_Lean_Parser_Tactic_locationHyp___elambda__1___closed__2;
-x_42 = l_Lean_Parser_ParserState_mkNode(x_40, x_41, x_35);
-x_43 = 1;
-x_44 = l_Lean_Parser_mergeOrElseErrors(x_42, x_27, x_24, x_43);
-lean_dec(x_24);
-return x_44;
-}
-else
-{
-lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; uint8_t x_49; lean_object* x_50;
-lean_dec(x_37);
-lean_dec(x_1);
-x_45 = l_Lean_nullKind;
-lean_inc(x_35);
-x_46 = l_Lean_Parser_ParserState_mkNode(x_36, x_45, x_35);
-x_47 = l_Lean_Parser_Tactic_locationHyp___elambda__1___closed__2;
-x_48 = l_Lean_Parser_ParserState_mkNode(x_46, x_47, x_35);
-x_49 = 1;
-x_50 = l_Lean_Parser_mergeOrElseErrors(x_48, x_27, x_24, x_49);
-lean_dec(x_24);
-return x_50;
-}
-}
-else
-{
-uint8_t x_51; lean_object* x_52;
-lean_dec(x_33);
-lean_dec(x_1);
-x_51 = 1;
-x_52 = l_Lean_Parser_mergeOrElseErrors(x_32, x_27, x_24, x_51);
-lean_dec(x_24);
-return x_52;
-}
-}
-}
-}
}
}
static lean_object* _init_l_Lean_Parser_Tactic_locationHyp___closed__1() {
@@ -14221,20 +11851,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Tactic_location___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Tactic_location___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Tactic_location___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Tactic_location___elambda__1___closed__8() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Tactic_location___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Tactic_locationTarget___closed__5;
+x_2 = l_Lean_Parser_Tactic_locationHyp___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -14242,11 +11874,67 @@ static lean_object* _init_l_Lean_Parser_Tactic_location___elambda__1___closed__9
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Tactic_locationWildcard___closed__4;
x_2 = l_Lean_Parser_Tactic_location___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_location___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_location___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Tactic_location___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_location___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_location___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Tactic_location___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_location___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Tactic_location___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_location___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Tactic_location___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_location___elambda__1___closed__14() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_location___elambda__1___closed__13;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -14270,193 +11958,36 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_51; lean_object* x_52; lean_object* x_53;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_51 = lean_ctor_get(x_7, 1);
-lean_inc(x_51);
+x_11 = l_Lean_Parser_Tactic_location___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Tactic_location___elambda__1___closed__14;
lean_inc(x_1);
-x_52 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_53 = lean_ctor_get(x_52, 3);
-lean_inc(x_53);
-if (lean_obj_tag(x_53) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_54; lean_object* x_55;
-x_54 = lean_ctor_get(x_52, 0);
-lean_inc(x_54);
-x_55 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_54);
-lean_dec(x_54);
-if (lean_obj_tag(x_55) == 2)
-{
-lean_object* x_56; lean_object* x_57; uint8_t x_58;
-x_56 = lean_ctor_get(x_55, 1);
-lean_inc(x_56);
-lean_dec(x_55);
-x_57 = l_Lean_Parser_Tactic_location___elambda__1___closed__6;
-x_58 = lean_string_dec_eq(x_56, x_57);
-lean_dec(x_56);
-if (x_58 == 0)
-{
-lean_object* x_59; lean_object* x_60;
-x_59 = l_Lean_Parser_Tactic_location___elambda__1___closed__9;
-x_60 = l_Lean_Parser_ParserState_mkErrorsAt(x_52, x_59, x_51);
-x_11 = x_60;
-goto block_50;
+lean_object* x_15; lean_object* x_16; uint8_t x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
+x_15 = l_Lean_Parser_Tactic_locationWildcard___closed__4;
+x_16 = l_Lean_Parser_Tactic_location___elambda__1___closed__8;
+x_17 = 1;
+x_18 = l_Lean_Parser_orelseFnCore(x_15, x_16, x_17, x_1, x_13);
+x_19 = l_Lean_Parser_Tactic_location___elambda__1___closed__2;
+x_20 = l_Lean_Parser_ParserState_mkNode(x_18, x_19, x_10);
+return x_20;
}
else
{
-lean_dec(x_51);
-x_11 = x_52;
-goto block_50;
-}
-}
-else
-{
-lean_object* x_61; lean_object* x_62;
-lean_dec(x_55);
-x_61 = l_Lean_Parser_Tactic_location___elambda__1___closed__9;
-x_62 = l_Lean_Parser_ParserState_mkErrorsAt(x_52, x_61, x_51);
-x_11 = x_62;
-goto block_50;
-}
-}
-else
-{
-lean_object* x_63; lean_object* x_64;
-lean_dec(x_53);
-x_63 = l_Lean_Parser_Tactic_location___elambda__1___closed__9;
-x_64 = l_Lean_Parser_ParserState_mkErrorsAt(x_52, x_63, x_51);
-x_11 = x_64;
-goto block_50;
-}
-block_50:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_13 = lean_ctor_get(x_11, 0);
-lean_inc(x_13);
-x_14 = lean_array_get_size(x_13);
-lean_dec(x_13);
-x_15 = lean_ctor_get(x_11, 1);
-lean_inc(x_15);
-lean_inc(x_1);
-x_16 = l_Lean_Parser_Tactic_locationWildcard___elambda__1(x_1, x_11);
-x_17 = lean_ctor_get(x_16, 3);
-lean_inc(x_17);
-if (lean_obj_tag(x_17) == 0)
-{
-lean_object* x_18; lean_object* x_19;
-lean_dec(x_15);
+lean_object* x_21; lean_object* x_22;
lean_dec(x_14);
lean_dec(x_1);
-x_18 = l_Lean_Parser_Tactic_location___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_16, x_18, x_10);
-return x_19;
-}
-else
-{
-lean_object* x_20; lean_object* x_21; uint8_t x_22;
-x_20 = lean_ctor_get(x_17, 0);
-lean_inc(x_20);
-lean_dec(x_17);
-x_21 = lean_ctor_get(x_16, 1);
-lean_inc(x_21);
-x_22 = lean_nat_dec_eq(x_21, x_15);
-lean_dec(x_21);
-if (x_22 == 0)
-{
-lean_object* x_23; lean_object* x_24;
-lean_dec(x_20);
-lean_dec(x_15);
-lean_dec(x_14);
-lean_dec(x_1);
-x_23 = l_Lean_Parser_Tactic_location___elambda__1___closed__2;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_16, x_23, x_10);
-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_inc(x_15);
-x_25 = l_Lean_Parser_ParserState_restore(x_16, x_14, x_15);
-lean_dec(x_14);
-x_26 = lean_ctor_get(x_25, 0);
-lean_inc(x_26);
-x_27 = lean_array_get_size(x_26);
-lean_dec(x_26);
-lean_inc(x_1);
-x_28 = l_Lean_Parser_Tactic_locationTarget___elambda__1(x_1, x_25);
-x_29 = lean_ctor_get(x_28, 3);
-lean_inc(x_29);
-if (lean_obj_tag(x_29) == 0)
-{
-uint8_t x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
-lean_dec(x_27);
-lean_dec(x_1);
-x_30 = 1;
-x_31 = l_Lean_Parser_mergeOrElseErrors(x_28, x_20, x_15, x_30);
-lean_dec(x_15);
-x_32 = l_Lean_Parser_Tactic_location___elambda__1___closed__2;
-x_33 = l_Lean_Parser_ParserState_mkNode(x_31, x_32, x_10);
-return x_33;
-}
-else
-{
-lean_object* x_34; lean_object* x_35; uint8_t x_36;
-x_34 = lean_ctor_get(x_29, 0);
-lean_inc(x_34);
-lean_dec(x_29);
-x_35 = lean_ctor_get(x_28, 1);
-lean_inc(x_35);
-x_36 = lean_nat_dec_eq(x_35, x_15);
-lean_dec(x_35);
-if (x_36 == 0)
-{
-uint8_t x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40;
-lean_dec(x_34);
-lean_dec(x_27);
-lean_dec(x_1);
-x_37 = 1;
-x_38 = l_Lean_Parser_mergeOrElseErrors(x_28, x_20, x_15, x_37);
-lean_dec(x_15);
-x_39 = l_Lean_Parser_Tactic_location___elambda__1___closed__2;
-x_40 = l_Lean_Parser_ParserState_mkNode(x_38, x_39, x_10);
-return x_40;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; uint8_t x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47;
-lean_inc(x_15);
-x_41 = l_Lean_Parser_ParserState_restore(x_28, x_27, x_15);
-lean_dec(x_27);
-x_42 = l_Lean_Parser_Tactic_locationHyp___elambda__1(x_1, x_41);
-x_43 = 1;
-x_44 = l_Lean_Parser_mergeOrElseErrors(x_42, x_34, x_15, x_43);
-x_45 = l_Lean_Parser_mergeOrElseErrors(x_44, x_20, x_15, x_43);
-lean_dec(x_15);
-x_46 = l_Lean_Parser_Tactic_location___elambda__1___closed__2;
-x_47 = l_Lean_Parser_ParserState_mkNode(x_45, x_46, x_10);
-return x_47;
-}
-}
-}
-}
-}
-else
-{
-lean_object* x_48; lean_object* x_49;
-lean_dec(x_12);
-lean_dec(x_1);
-x_48 = l_Lean_Parser_Tactic_location___elambda__1___closed__2;
-x_49 = l_Lean_Parser_ParserState_mkNode(x_11, x_48, x_10);
-return x_49;
-}
+x_21 = l_Lean_Parser_Tactic_location___elambda__1___closed__2;
+x_22 = l_Lean_Parser_ParserState_mkNode(x_13, x_21, x_10);
+return x_22;
}
}
else
@@ -14468,270 +11999,11 @@ return x_7;
}
else
{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69;
-x_65 = lean_ctor_get(x_2, 0);
-lean_inc(x_65);
-x_66 = lean_array_get_size(x_65);
-lean_dec(x_65);
-x_67 = lean_ctor_get(x_2, 1);
-lean_inc(x_67);
-lean_inc(x_1);
-x_68 = lean_apply_2(x_4, x_1, x_2);
-x_69 = lean_ctor_get(x_68, 3);
-lean_inc(x_69);
-if (lean_obj_tag(x_69) == 0)
-{
-lean_dec(x_67);
-lean_dec(x_66);
-lean_dec(x_1);
-return x_68;
-}
-else
-{
-lean_object* x_70; lean_object* x_71; uint8_t x_72;
-x_70 = lean_ctor_get(x_69, 0);
-lean_inc(x_70);
-lean_dec(x_69);
-x_71 = lean_ctor_get(x_68, 1);
-lean_inc(x_71);
-x_72 = lean_nat_dec_eq(x_71, x_67);
-lean_dec(x_71);
-if (x_72 == 0)
-{
-lean_dec(x_70);
-lean_dec(x_67);
-lean_dec(x_66);
-lean_dec(x_1);
-return x_68;
-}
-else
-{
-lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76;
-lean_inc(x_67);
-x_73 = l_Lean_Parser_ParserState_restore(x_68, x_66, x_67);
-lean_dec(x_66);
-x_74 = lean_unsigned_to_nat(1024u);
-x_75 = l_Lean_Parser_checkPrecFn(x_74, x_1, x_73);
-x_76 = lean_ctor_get(x_75, 3);
-lean_inc(x_76);
-if (lean_obj_tag(x_76) == 0)
-{
-lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_128; lean_object* x_129; lean_object* x_130;
-x_77 = lean_ctor_get(x_75, 0);
-lean_inc(x_77);
-x_78 = lean_array_get_size(x_77);
-lean_dec(x_77);
-x_128 = lean_ctor_get(x_75, 1);
-lean_inc(x_128);
-lean_inc(x_1);
-x_129 = l_Lean_Parser_tokenFn(x_1, x_75);
-x_130 = lean_ctor_get(x_129, 3);
-lean_inc(x_130);
-if (lean_obj_tag(x_130) == 0)
-{
-lean_object* x_131; lean_object* x_132;
-x_131 = lean_ctor_get(x_129, 0);
-lean_inc(x_131);
-x_132 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_131);
-lean_dec(x_131);
-if (lean_obj_tag(x_132) == 2)
-{
-lean_object* x_133; lean_object* x_134; uint8_t x_135;
-x_133 = lean_ctor_get(x_132, 1);
-lean_inc(x_133);
-lean_dec(x_132);
-x_134 = l_Lean_Parser_Tactic_location___elambda__1___closed__6;
-x_135 = lean_string_dec_eq(x_133, x_134);
-lean_dec(x_133);
-if (x_135 == 0)
-{
-lean_object* x_136; lean_object* x_137;
-x_136 = l_Lean_Parser_Tactic_location___elambda__1___closed__9;
-x_137 = l_Lean_Parser_ParserState_mkErrorsAt(x_129, x_136, x_128);
-x_79 = x_137;
-goto block_127;
-}
-else
-{
-lean_dec(x_128);
-x_79 = x_129;
-goto block_127;
-}
-}
-else
-{
-lean_object* x_138; lean_object* x_139;
-lean_dec(x_132);
-x_138 = l_Lean_Parser_Tactic_location___elambda__1___closed__9;
-x_139 = l_Lean_Parser_ParserState_mkErrorsAt(x_129, x_138, x_128);
-x_79 = x_139;
-goto block_127;
-}
-}
-else
-{
-lean_object* x_140; lean_object* x_141;
-lean_dec(x_130);
-x_140 = l_Lean_Parser_Tactic_location___elambda__1___closed__9;
-x_141 = l_Lean_Parser_ParserState_mkErrorsAt(x_129, x_140, x_128);
-x_79 = x_141;
-goto block_127;
-}
-block_127:
-{
-lean_object* x_80;
-x_80 = lean_ctor_get(x_79, 3);
-lean_inc(x_80);
-if (lean_obj_tag(x_80) == 0)
-{
-lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85;
-x_81 = lean_ctor_get(x_79, 0);
-lean_inc(x_81);
-x_82 = lean_array_get_size(x_81);
-lean_dec(x_81);
-x_83 = lean_ctor_get(x_79, 1);
-lean_inc(x_83);
-lean_inc(x_1);
-x_84 = l_Lean_Parser_Tactic_locationWildcard___elambda__1(x_1, x_79);
-x_85 = lean_ctor_get(x_84, 3);
-lean_inc(x_85);
-if (lean_obj_tag(x_85) == 0)
-{
-lean_object* x_86; lean_object* x_87; uint8_t x_88; lean_object* x_89;
-lean_dec(x_83);
-lean_dec(x_82);
-lean_dec(x_1);
-x_86 = l_Lean_Parser_Tactic_location___elambda__1___closed__2;
-x_87 = l_Lean_Parser_ParserState_mkNode(x_84, x_86, x_78);
-x_88 = 1;
-x_89 = l_Lean_Parser_mergeOrElseErrors(x_87, x_70, x_67, x_88);
-lean_dec(x_67);
-return x_89;
-}
-else
-{
-lean_object* x_90; lean_object* x_91; uint8_t x_92;
-x_90 = lean_ctor_get(x_85, 0);
-lean_inc(x_90);
-lean_dec(x_85);
-x_91 = lean_ctor_get(x_84, 1);
-lean_inc(x_91);
-x_92 = lean_nat_dec_eq(x_91, x_83);
-lean_dec(x_91);
-if (x_92 == 0)
-{
-lean_object* x_93; lean_object* x_94; uint8_t x_95; lean_object* x_96;
-lean_dec(x_90);
-lean_dec(x_83);
-lean_dec(x_82);
-lean_dec(x_1);
-x_93 = l_Lean_Parser_Tactic_location___elambda__1___closed__2;
-x_94 = l_Lean_Parser_ParserState_mkNode(x_84, x_93, x_78);
-x_95 = 1;
-x_96 = l_Lean_Parser_mergeOrElseErrors(x_94, x_70, x_67, x_95);
-lean_dec(x_67);
-return x_96;
-}
-else
-{
-lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101;
-lean_inc(x_83);
-x_97 = l_Lean_Parser_ParserState_restore(x_84, x_82, x_83);
-lean_dec(x_82);
-x_98 = lean_ctor_get(x_97, 0);
-lean_inc(x_98);
-x_99 = lean_array_get_size(x_98);
-lean_dec(x_98);
-lean_inc(x_1);
-x_100 = l_Lean_Parser_Tactic_locationTarget___elambda__1(x_1, x_97);
-x_101 = lean_ctor_get(x_100, 3);
-lean_inc(x_101);
-if (lean_obj_tag(x_101) == 0)
-{
-uint8_t x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106;
-lean_dec(x_99);
-lean_dec(x_1);
-x_102 = 1;
-x_103 = l_Lean_Parser_mergeOrElseErrors(x_100, x_90, x_83, x_102);
-lean_dec(x_83);
-x_104 = l_Lean_Parser_Tactic_location___elambda__1___closed__2;
-x_105 = l_Lean_Parser_ParserState_mkNode(x_103, x_104, x_78);
-x_106 = l_Lean_Parser_mergeOrElseErrors(x_105, x_70, x_67, x_102);
-lean_dec(x_67);
-return x_106;
-}
-else
-{
-lean_object* x_107; lean_object* x_108; uint8_t x_109;
-x_107 = lean_ctor_get(x_101, 0);
-lean_inc(x_107);
-lean_dec(x_101);
-x_108 = lean_ctor_get(x_100, 1);
-lean_inc(x_108);
-x_109 = lean_nat_dec_eq(x_108, x_83);
-lean_dec(x_108);
-if (x_109 == 0)
-{
-uint8_t x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114;
-lean_dec(x_107);
-lean_dec(x_99);
-lean_dec(x_1);
-x_110 = 1;
-x_111 = l_Lean_Parser_mergeOrElseErrors(x_100, x_90, x_83, x_110);
-lean_dec(x_83);
-x_112 = l_Lean_Parser_Tactic_location___elambda__1___closed__2;
-x_113 = l_Lean_Parser_ParserState_mkNode(x_111, x_112, x_78);
-x_114 = l_Lean_Parser_mergeOrElseErrors(x_113, x_70, x_67, x_110);
-lean_dec(x_67);
-return x_114;
-}
-else
-{
-lean_object* x_115; lean_object* x_116; uint8_t x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122;
-lean_inc(x_83);
-x_115 = l_Lean_Parser_ParserState_restore(x_100, x_99, x_83);
-lean_dec(x_99);
-x_116 = l_Lean_Parser_Tactic_locationHyp___elambda__1(x_1, x_115);
-x_117 = 1;
-x_118 = l_Lean_Parser_mergeOrElseErrors(x_116, x_107, x_83, x_117);
-x_119 = l_Lean_Parser_mergeOrElseErrors(x_118, x_90, x_83, x_117);
-lean_dec(x_83);
-x_120 = l_Lean_Parser_Tactic_location___elambda__1___closed__2;
-x_121 = l_Lean_Parser_ParserState_mkNode(x_119, x_120, x_78);
-x_122 = l_Lean_Parser_mergeOrElseErrors(x_121, x_70, x_67, x_117);
-lean_dec(x_67);
-return x_122;
-}
-}
-}
-}
-}
-else
-{
-lean_object* x_123; lean_object* x_124; uint8_t x_125; lean_object* x_126;
-lean_dec(x_80);
-lean_dec(x_1);
-x_123 = l_Lean_Parser_Tactic_location___elambda__1___closed__2;
-x_124 = l_Lean_Parser_ParserState_mkNode(x_79, x_123, x_78);
-x_125 = 1;
-x_126 = l_Lean_Parser_mergeOrElseErrors(x_124, x_70, x_67, x_125);
-lean_dec(x_67);
-return x_126;
-}
-}
-}
-else
-{
-uint8_t x_142; lean_object* x_143;
-lean_dec(x_76);
-lean_dec(x_1);
-x_142 = 1;
-x_143 = l_Lean_Parser_mergeOrElseErrors(x_75, x_70, x_67, x_142);
-lean_dec(x_67);
-return x_143;
-}
-}
-}
+lean_object* x_23; uint8_t x_24; lean_object* x_25;
+x_23 = l_Lean_Parser_Tactic_location___elambda__1___closed__12;
+x_24 = 1;
+x_25 = l_Lean_Parser_orelseFnCore(x_4, x_23, x_24, x_1, x_2);
+return x_25;
}
}
}
@@ -14899,6 +12171,74 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Tactic_change___elambda__1___closed__7() {
_start:
{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Tactic_change___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbolFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_change___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Tactic_location___closed__8;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optionalFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_change___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_2 = l_Lean_Parser_Tactic_change___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_change___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_change___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Tactic_change___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_change___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_change___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Tactic_change___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_change___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Tactic_change___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_change___elambda__1___closed__13() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Char_HasRepr___closed__1;
x_2 = l_Lean_Parser_Tactic_change___elambda__1___closed__6;
@@ -14906,11 +12246,11 @@ x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Tactic_change___elambda__1___closed__8() {
+static lean_object* _init_l_Lean_Parser_Tactic_change___elambda__1___closed__14() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Tactic_change___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Tactic_change___elambda__1___closed__13;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
@@ -14942,7 +12282,7 @@ lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
x_11 = l_Lean_Parser_Tactic_change___elambda__1___closed__6;
-x_12 = l_Lean_Parser_Tactic_change___elambda__1___closed__8;
+x_12 = l_Lean_Parser_Tactic_change___elambda__1___closed__14;
lean_inc(x_1);
x_13 = l_Lean_Parser_nonReservedSymbolFnAux(x_11, x_12, x_1, x_7);
x_14 = lean_ctor_get(x_13, 3);
@@ -14958,74 +12298,31 @@ x_18 = lean_ctor_get(x_17, 3);
lean_inc(x_18);
if (lean_obj_tag(x_18) == 0)
{
-lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23;
-x_19 = lean_ctor_get(x_17, 0);
-lean_inc(x_19);
-x_20 = lean_array_get_size(x_19);
-lean_dec(x_19);
-x_21 = lean_ctor_get(x_17, 1);
-lean_inc(x_21);
-x_22 = l_Lean_Parser_Tactic_location___elambda__1(x_1, x_17);
-x_23 = lean_ctor_get(x_22, 3);
-lean_inc(x_23);
-if (lean_obj_tag(x_23) == 0)
-{
-lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
-lean_dec(x_21);
-x_24 = l_Lean_nullKind;
-x_25 = l_Lean_Parser_ParserState_mkNode(x_22, x_24, x_20);
-x_26 = l_Lean_Parser_Tactic_change___elambda__1___closed__2;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_25, x_26, x_10);
-return x_27;
+lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
+x_19 = l_Lean_Parser_Tactic_location___closed__8;
+x_20 = l_Lean_Parser_optionalFn(x_19, x_1, x_17);
+x_21 = l_Lean_Parser_Tactic_change___elambda__1___closed__2;
+x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_10);
+return x_22;
}
else
{
-lean_object* x_28; uint8_t x_29;
-lean_dec(x_23);
-x_28 = lean_ctor_get(x_22, 1);
-lean_inc(x_28);
-x_29 = lean_nat_dec_eq(x_28, x_21);
-lean_dec(x_28);
-if (x_29 == 0)
-{
-lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
-lean_dec(x_21);
-x_30 = l_Lean_nullKind;
-x_31 = l_Lean_Parser_ParserState_mkNode(x_22, x_30, x_20);
-x_32 = l_Lean_Parser_Tactic_change___elambda__1___closed__2;
-x_33 = l_Lean_Parser_ParserState_mkNode(x_31, x_32, x_10);
-return x_33;
-}
-else
-{
-lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38;
-x_34 = l_Lean_Parser_ParserState_restore(x_22, x_20, x_21);
-x_35 = l_Lean_nullKind;
-x_36 = l_Lean_Parser_ParserState_mkNode(x_34, x_35, x_20);
-x_37 = l_Lean_Parser_Tactic_change___elambda__1___closed__2;
-x_38 = l_Lean_Parser_ParserState_mkNode(x_36, x_37, x_10);
-return x_38;
-}
-}
-}
-else
-{
-lean_object* x_39; lean_object* x_40;
+lean_object* x_23; lean_object* x_24;
lean_dec(x_18);
lean_dec(x_1);
-x_39 = l_Lean_Parser_Tactic_change___elambda__1___closed__2;
-x_40 = l_Lean_Parser_ParserState_mkNode(x_17, x_39, x_10);
-return x_40;
+x_23 = l_Lean_Parser_Tactic_change___elambda__1___closed__2;
+x_24 = l_Lean_Parser_ParserState_mkNode(x_17, x_23, x_10);
+return x_24;
}
}
else
{
-lean_object* x_41; lean_object* x_42;
+lean_object* x_25; lean_object* x_26;
lean_dec(x_14);
lean_dec(x_1);
-x_41 = l_Lean_Parser_Tactic_change___elambda__1___closed__2;
-x_42 = l_Lean_Parser_ParserState_mkNode(x_13, x_41, x_10);
-return x_42;
+x_25 = l_Lean_Parser_Tactic_change___elambda__1___closed__2;
+x_26 = l_Lean_Parser_ParserState_mkNode(x_13, x_25, x_10);
+return x_26;
}
}
else
@@ -15037,173 +12334,11 @@ return x_7;
}
else
{
-lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47;
-x_43 = lean_ctor_get(x_2, 0);
-lean_inc(x_43);
-x_44 = lean_array_get_size(x_43);
-lean_dec(x_43);
-x_45 = lean_ctor_get(x_2, 1);
-lean_inc(x_45);
-lean_inc(x_1);
-x_46 = lean_apply_2(x_4, x_1, x_2);
-x_47 = lean_ctor_get(x_46, 3);
-lean_inc(x_47);
-if (lean_obj_tag(x_47) == 0)
-{
-lean_dec(x_45);
-lean_dec(x_44);
-lean_dec(x_1);
-return x_46;
-}
-else
-{
-lean_object* x_48; lean_object* x_49; uint8_t x_50;
-x_48 = lean_ctor_get(x_47, 0);
-lean_inc(x_48);
-lean_dec(x_47);
-x_49 = lean_ctor_get(x_46, 1);
-lean_inc(x_49);
-x_50 = lean_nat_dec_eq(x_49, x_45);
-lean_dec(x_49);
-if (x_50 == 0)
-{
-lean_dec(x_48);
-lean_dec(x_45);
-lean_dec(x_44);
-lean_dec(x_1);
-return x_46;
-}
-else
-{
-lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54;
-lean_inc(x_45);
-x_51 = l_Lean_Parser_ParserState_restore(x_46, x_44, x_45);
-lean_dec(x_44);
-x_52 = lean_unsigned_to_nat(1024u);
-x_53 = l_Lean_Parser_checkPrecFn(x_52, x_1, x_51);
-x_54 = lean_ctor_get(x_53, 3);
-lean_inc(x_54);
-if (lean_obj_tag(x_54) == 0)
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60;
-x_55 = lean_ctor_get(x_53, 0);
-lean_inc(x_55);
-x_56 = lean_array_get_size(x_55);
-lean_dec(x_55);
-x_57 = l_Lean_Parser_Tactic_change___elambda__1___closed__6;
-x_58 = l_Lean_Parser_Tactic_change___elambda__1___closed__8;
-lean_inc(x_1);
-x_59 = l_Lean_Parser_nonReservedSymbolFnAux(x_57, x_58, x_1, x_53);
-x_60 = lean_ctor_get(x_59, 3);
-lean_inc(x_60);
-if (lean_obj_tag(x_60) == 0)
-{
-lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64;
-x_61 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_62 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_63 = l_Lean_Parser_categoryParser___elambda__1(x_61, x_62, x_1, x_59);
-x_64 = lean_ctor_get(x_63, 3);
-lean_inc(x_64);
-if (lean_obj_tag(x_64) == 0)
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69;
-x_65 = lean_ctor_get(x_63, 0);
-lean_inc(x_65);
-x_66 = lean_array_get_size(x_65);
-lean_dec(x_65);
-x_67 = lean_ctor_get(x_63, 1);
-lean_inc(x_67);
-x_68 = l_Lean_Parser_Tactic_location___elambda__1(x_1, x_63);
-x_69 = lean_ctor_get(x_68, 3);
-lean_inc(x_69);
-if (lean_obj_tag(x_69) == 0)
-{
-lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; uint8_t x_74; lean_object* x_75;
-lean_dec(x_67);
-x_70 = l_Lean_nullKind;
-x_71 = l_Lean_Parser_ParserState_mkNode(x_68, x_70, x_66);
-x_72 = l_Lean_Parser_Tactic_change___elambda__1___closed__2;
-x_73 = l_Lean_Parser_ParserState_mkNode(x_71, x_72, x_56);
-x_74 = 1;
-x_75 = l_Lean_Parser_mergeOrElseErrors(x_73, x_48, x_45, x_74);
-lean_dec(x_45);
-return x_75;
-}
-else
-{
-lean_object* x_76; uint8_t x_77;
-lean_dec(x_69);
-x_76 = lean_ctor_get(x_68, 1);
-lean_inc(x_76);
-x_77 = lean_nat_dec_eq(x_76, x_67);
-lean_dec(x_76);
-if (x_77 == 0)
-{
-lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; uint8_t x_82; lean_object* x_83;
-lean_dec(x_67);
-x_78 = l_Lean_nullKind;
-x_79 = l_Lean_Parser_ParserState_mkNode(x_68, x_78, x_66);
-x_80 = l_Lean_Parser_Tactic_change___elambda__1___closed__2;
-x_81 = l_Lean_Parser_ParserState_mkNode(x_79, x_80, x_56);
-x_82 = 1;
-x_83 = l_Lean_Parser_mergeOrElseErrors(x_81, x_48, x_45, x_82);
-lean_dec(x_45);
-return x_83;
-}
-else
-{
-lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; uint8_t x_89; lean_object* x_90;
-x_84 = l_Lean_Parser_ParserState_restore(x_68, x_66, x_67);
-x_85 = l_Lean_nullKind;
-x_86 = l_Lean_Parser_ParserState_mkNode(x_84, x_85, x_66);
-x_87 = l_Lean_Parser_Tactic_change___elambda__1___closed__2;
-x_88 = l_Lean_Parser_ParserState_mkNode(x_86, x_87, x_56);
-x_89 = 1;
-x_90 = l_Lean_Parser_mergeOrElseErrors(x_88, x_48, x_45, x_89);
-lean_dec(x_45);
-return x_90;
-}
-}
-}
-else
-{
-lean_object* x_91; lean_object* x_92; uint8_t x_93; lean_object* x_94;
-lean_dec(x_64);
-lean_dec(x_1);
-x_91 = l_Lean_Parser_Tactic_change___elambda__1___closed__2;
-x_92 = l_Lean_Parser_ParserState_mkNode(x_63, x_91, x_56);
-x_93 = 1;
-x_94 = l_Lean_Parser_mergeOrElseErrors(x_92, x_48, x_45, x_93);
-lean_dec(x_45);
-return x_94;
-}
-}
-else
-{
-lean_object* x_95; lean_object* x_96; uint8_t x_97; lean_object* x_98;
-lean_dec(x_60);
-lean_dec(x_1);
-x_95 = l_Lean_Parser_Tactic_change___elambda__1___closed__2;
-x_96 = l_Lean_Parser_ParserState_mkNode(x_59, x_95, x_56);
-x_97 = 1;
-x_98 = l_Lean_Parser_mergeOrElseErrors(x_96, x_48, x_45, x_97);
-lean_dec(x_45);
-return x_98;
-}
-}
-else
-{
-uint8_t x_99; lean_object* x_100;
-lean_dec(x_54);
-lean_dec(x_1);
-x_99 = 1;
-x_100 = l_Lean_Parser_mergeOrElseErrors(x_53, x_48, x_45, x_99);
-lean_dec(x_45);
-return x_100;
-}
-}
-}
+lean_object* x_27; uint8_t x_28; lean_object* x_29;
+x_27 = l_Lean_Parser_Tactic_change___elambda__1___closed__12;
+x_28 = 1;
+x_29 = l_Lean_Parser_orelseFnCore(x_4, x_27, x_28, x_1, x_2);
+return x_29;
}
}
}
@@ -15381,7 +12516,7 @@ static lean_object* _init_l_Lean_Parser_Tactic_locationTarget_formatter___closed
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_ppGoal___closed__5;
+x_1 = l_Lean_ppGoal___closed__4;
x_2 = l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__6;
x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_unicodeSymbol_formatter___boxed), 7, 2);
lean_closure_set(x_3, 0, x_1);
@@ -16036,6 +13171,66 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Tactic_changeWith___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_structInst___elambda__1___closed__5;
+x_2 = l_Lean_Parser_Tactic_change___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_changeWith___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_2 = l_Lean_Parser_Tactic_changeWith___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_changeWith___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_change___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Tactic_changeWith___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_changeWith___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_changeWith___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Tactic_changeWith___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_changeWith___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Tactic_changeWith___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Tactic_changeWith___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -16056,192 +13251,91 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_42 = l_Lean_Parser_Tactic_change___elambda__1___closed__6;
-x_43 = l_Lean_Parser_Tactic_change___elambda__1___closed__8;
+x_11 = l_Lean_Parser_Tactic_change___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Tactic_change___elambda__1___closed__14;
lean_inc(x_1);
-x_44 = l_Lean_Parser_nonReservedSymbolFnAux(x_42, x_43, x_1, x_7);
-x_45 = lean_ctor_get(x_44, 3);
-lean_inc(x_45);
-if (lean_obj_tag(x_45) == 0)
+x_13 = l_Lean_Parser_nonReservedSymbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49;
-x_46 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_47 = lean_unsigned_to_nat(0u);
+lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
+x_15 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_16 = lean_unsigned_to_nat(0u);
lean_inc(x_1);
-x_48 = l_Lean_Parser_categoryParser___elambda__1(x_46, x_47, x_1, x_44);
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
+x_17 = l_Lean_Parser_categoryParser___elambda__1(x_15, x_16, x_1, x_13);
+x_18 = lean_ctor_get(x_17, 3);
+lean_inc(x_18);
+if (lean_obj_tag(x_18) == 0)
{
-lean_object* x_50; lean_object* x_51; lean_object* x_52;
-x_50 = lean_ctor_get(x_48, 1);
-lean_inc(x_50);
+lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
+x_19 = l_Lean_Parser_Term_structInst___elambda__1___closed__4;
+x_20 = l_Lean_Parser_Term_match___elambda__1___closed__19;
lean_inc(x_1);
-x_51 = l_Lean_Parser_tokenFn(x_1, x_48);
-x_52 = lean_ctor_get(x_51, 3);
-lean_inc(x_52);
-if (lean_obj_tag(x_52) == 0)
+x_21 = l_Lean_Parser_symbolFnAux(x_19, x_20, x_1, x_17);
+x_22 = lean_ctor_get(x_21, 3);
+lean_inc(x_22);
+if (lean_obj_tag(x_22) == 0)
{
-lean_object* x_53; lean_object* x_54;
-x_53 = lean_ctor_get(x_51, 0);
-lean_inc(x_53);
-x_54 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_53);
-lean_dec(x_53);
-if (lean_obj_tag(x_54) == 2)
+lean_object* x_23; lean_object* x_24;
+lean_inc(x_1);
+x_23 = l_Lean_Parser_categoryParser___elambda__1(x_15, x_16, x_1, x_21);
+x_24 = lean_ctor_get(x_23, 3);
+lean_inc(x_24);
+if (lean_obj_tag(x_24) == 0)
{
-lean_object* x_55; lean_object* x_56; uint8_t x_57;
-x_55 = lean_ctor_get(x_54, 1);
-lean_inc(x_55);
-lean_dec(x_54);
-x_56 = l_Lean_Parser_Term_structInst___elambda__1___closed__4;
-x_57 = lean_string_dec_eq(x_55, x_56);
-lean_dec(x_55);
-if (x_57 == 0)
-{
-lean_object* x_58; lean_object* x_59;
-x_58 = l_Lean_Parser_Term_structInst___elambda__1___closed__16;
-x_59 = l_Lean_Parser_ParserState_mkErrorsAt(x_51, x_58, x_50);
-x_11 = x_59;
-goto block_41;
+lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
+x_25 = l_Lean_Parser_Tactic_location___closed__8;
+x_26 = l_Lean_Parser_optionalFn(x_25, x_1, x_23);
+x_27 = l_Lean_Parser_Tactic_changeWith___elambda__1___closed__2;
+x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_10);
+return x_28;
}
else
{
-lean_dec(x_50);
-x_11 = x_51;
-goto block_41;
-}
-}
-else
-{
-lean_object* x_60; lean_object* x_61;
-lean_dec(x_54);
-x_60 = l_Lean_Parser_Term_structInst___elambda__1___closed__16;
-x_61 = l_Lean_Parser_ParserState_mkErrorsAt(x_51, x_60, x_50);
-x_11 = x_61;
-goto block_41;
-}
-}
-else
-{
-lean_object* x_62; lean_object* x_63;
-lean_dec(x_52);
-x_62 = l_Lean_Parser_Term_structInst___elambda__1___closed__16;
-x_63 = l_Lean_Parser_ParserState_mkErrorsAt(x_51, x_62, x_50);
-x_11 = x_63;
-goto block_41;
-}
-}
-else
-{
-lean_object* x_64; lean_object* x_65;
-lean_dec(x_49);
+lean_object* x_29; lean_object* x_30;
+lean_dec(x_24);
lean_dec(x_1);
-x_64 = l_Lean_Parser_Tactic_changeWith___elambda__1___closed__2;
-x_65 = l_Lean_Parser_ParserState_mkNode(x_48, x_64, x_10);
-return x_65;
+x_29 = l_Lean_Parser_Tactic_changeWith___elambda__1___closed__2;
+x_30 = l_Lean_Parser_ParserState_mkNode(x_23, x_29, x_10);
+return x_30;
}
}
else
{
-lean_object* x_66; lean_object* x_67;
-lean_dec(x_45);
+lean_object* x_31; lean_object* x_32;
+lean_dec(x_22);
lean_dec(x_1);
-x_66 = l_Lean_Parser_Tactic_changeWith___elambda__1___closed__2;
-x_67 = l_Lean_Parser_ParserState_mkNode(x_44, x_66, x_10);
-return x_67;
+x_31 = l_Lean_Parser_Tactic_changeWith___elambda__1___closed__2;
+x_32 = l_Lean_Parser_ParserState_mkNode(x_21, x_31, x_10);
+return x_32;
}
-block_41:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
-x_13 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_14 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_15 = l_Lean_Parser_categoryParser___elambda__1(x_13, x_14, x_1, x_11);
-x_16 = lean_ctor_get(x_15, 3);
-lean_inc(x_16);
-if (lean_obj_tag(x_16) == 0)
-{
-lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
-x_17 = lean_ctor_get(x_15, 0);
-lean_inc(x_17);
-x_18 = lean_array_get_size(x_17);
-lean_dec(x_17);
-x_19 = lean_ctor_get(x_15, 1);
-lean_inc(x_19);
-x_20 = l_Lean_Parser_Tactic_location___elambda__1(x_1, x_15);
-x_21 = lean_ctor_get(x_20, 3);
-lean_inc(x_21);
-if (lean_obj_tag(x_21) == 0)
-{
-lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25;
-lean_dec(x_19);
-x_22 = l_Lean_nullKind;
-x_23 = l_Lean_Parser_ParserState_mkNode(x_20, x_22, x_18);
-x_24 = l_Lean_Parser_Tactic_changeWith___elambda__1___closed__2;
-x_25 = l_Lean_Parser_ParserState_mkNode(x_23, x_24, x_10);
-return x_25;
}
else
{
-lean_object* x_26; uint8_t x_27;
-lean_dec(x_21);
-x_26 = lean_ctor_get(x_20, 1);
-lean_inc(x_26);
-x_27 = lean_nat_dec_eq(x_26, x_19);
-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_dec(x_19);
-x_28 = l_Lean_nullKind;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_20, x_28, x_18);
-x_30 = l_Lean_Parser_Tactic_changeWith___elambda__1___closed__2;
-x_31 = l_Lean_Parser_ParserState_mkNode(x_29, x_30, x_10);
-return x_31;
+lean_object* x_33; lean_object* x_34;
+lean_dec(x_18);
+lean_dec(x_1);
+x_33 = l_Lean_Parser_Tactic_changeWith___elambda__1___closed__2;
+x_34 = l_Lean_Parser_ParserState_mkNode(x_17, x_33, x_10);
+return x_34;
+}
}
else
{
-lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36;
-x_32 = l_Lean_Parser_ParserState_restore(x_20, x_18, x_19);
-x_33 = l_Lean_nullKind;
-x_34 = l_Lean_Parser_ParserState_mkNode(x_32, x_33, x_18);
+lean_object* x_35; lean_object* x_36;
+lean_dec(x_14);
+lean_dec(x_1);
x_35 = l_Lean_Parser_Tactic_changeWith___elambda__1___closed__2;
-x_36 = l_Lean_Parser_ParserState_mkNode(x_34, x_35, x_10);
+x_36 = l_Lean_Parser_ParserState_mkNode(x_13, x_35, x_10);
return x_36;
}
}
-}
-else
-{
-lean_object* x_37; lean_object* x_38;
-lean_dec(x_16);
-lean_dec(x_1);
-x_37 = l_Lean_Parser_Tactic_changeWith___elambda__1___closed__2;
-x_38 = l_Lean_Parser_ParserState_mkNode(x_15, x_37, x_10);
-return x_38;
-}
-}
-else
-{
-lean_object* x_39; lean_object* x_40;
-lean_dec(x_12);
-lean_dec(x_1);
-x_39 = l_Lean_Parser_Tactic_changeWith___elambda__1___closed__2;
-x_40 = l_Lean_Parser_ParserState_mkNode(x_11, x_39, x_10);
-return x_40;
-}
-}
-}
else
{
lean_dec(x_8);
@@ -16251,273 +13345,11 @@ return x_7;
}
else
{
-lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72;
-x_68 = lean_ctor_get(x_2, 0);
-lean_inc(x_68);
-x_69 = lean_array_get_size(x_68);
-lean_dec(x_68);
-x_70 = lean_ctor_get(x_2, 1);
-lean_inc(x_70);
-lean_inc(x_1);
-x_71 = lean_apply_2(x_4, x_1, x_2);
-x_72 = lean_ctor_get(x_71, 3);
-lean_inc(x_72);
-if (lean_obj_tag(x_72) == 0)
-{
-lean_dec(x_70);
-lean_dec(x_69);
-lean_dec(x_1);
-return x_71;
-}
-else
-{
-lean_object* x_73; lean_object* x_74; uint8_t x_75;
-x_73 = lean_ctor_get(x_72, 0);
-lean_inc(x_73);
-lean_dec(x_72);
-x_74 = lean_ctor_get(x_71, 1);
-lean_inc(x_74);
-x_75 = lean_nat_dec_eq(x_74, x_70);
-lean_dec(x_74);
-if (x_75 == 0)
-{
-lean_dec(x_73);
-lean_dec(x_70);
-lean_dec(x_69);
-lean_dec(x_1);
-return x_71;
-}
-else
-{
-lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79;
-lean_inc(x_70);
-x_76 = l_Lean_Parser_ParserState_restore(x_71, x_69, x_70);
-lean_dec(x_69);
-x_77 = lean_unsigned_to_nat(1024u);
-x_78 = l_Lean_Parser_checkPrecFn(x_77, x_1, x_76);
-x_79 = lean_ctor_get(x_78, 3);
-lean_inc(x_79);
-if (lean_obj_tag(x_79) == 0)
-{
-lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126;
-x_80 = lean_ctor_get(x_78, 0);
-lean_inc(x_80);
-x_81 = lean_array_get_size(x_80);
-lean_dec(x_80);
-x_123 = l_Lean_Parser_Tactic_change___elambda__1___closed__6;
-x_124 = l_Lean_Parser_Tactic_change___elambda__1___closed__8;
-lean_inc(x_1);
-x_125 = l_Lean_Parser_nonReservedSymbolFnAux(x_123, x_124, x_1, x_78);
-x_126 = lean_ctor_get(x_125, 3);
-lean_inc(x_126);
-if (lean_obj_tag(x_126) == 0)
-{
-lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130;
-x_127 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_128 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_129 = l_Lean_Parser_categoryParser___elambda__1(x_127, x_128, x_1, x_125);
-x_130 = lean_ctor_get(x_129, 3);
-lean_inc(x_130);
-if (lean_obj_tag(x_130) == 0)
-{
-lean_object* x_131; lean_object* x_132; lean_object* x_133;
-x_131 = lean_ctor_get(x_129, 1);
-lean_inc(x_131);
-lean_inc(x_1);
-x_132 = l_Lean_Parser_tokenFn(x_1, x_129);
-x_133 = lean_ctor_get(x_132, 3);
-lean_inc(x_133);
-if (lean_obj_tag(x_133) == 0)
-{
-lean_object* x_134; lean_object* x_135;
-x_134 = lean_ctor_get(x_132, 0);
-lean_inc(x_134);
-x_135 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_134);
-lean_dec(x_134);
-if (lean_obj_tag(x_135) == 2)
-{
-lean_object* x_136; lean_object* x_137; uint8_t x_138;
-x_136 = lean_ctor_get(x_135, 1);
-lean_inc(x_136);
-lean_dec(x_135);
-x_137 = l_Lean_Parser_Term_structInst___elambda__1___closed__4;
-x_138 = lean_string_dec_eq(x_136, x_137);
-lean_dec(x_136);
-if (x_138 == 0)
-{
-lean_object* x_139; lean_object* x_140;
-x_139 = l_Lean_Parser_Term_structInst___elambda__1___closed__16;
-x_140 = l_Lean_Parser_ParserState_mkErrorsAt(x_132, x_139, x_131);
-x_82 = x_140;
-goto block_122;
-}
-else
-{
-lean_dec(x_131);
-x_82 = x_132;
-goto block_122;
-}
-}
-else
-{
-lean_object* x_141; lean_object* x_142;
-lean_dec(x_135);
-x_141 = l_Lean_Parser_Term_structInst___elambda__1___closed__16;
-x_142 = l_Lean_Parser_ParserState_mkErrorsAt(x_132, x_141, x_131);
-x_82 = x_142;
-goto block_122;
-}
-}
-else
-{
-lean_object* x_143; lean_object* x_144;
-lean_dec(x_133);
-x_143 = l_Lean_Parser_Term_structInst___elambda__1___closed__16;
-x_144 = l_Lean_Parser_ParserState_mkErrorsAt(x_132, x_143, x_131);
-x_82 = x_144;
-goto block_122;
-}
-}
-else
-{
-lean_object* x_145; lean_object* x_146; uint8_t x_147; lean_object* x_148;
-lean_dec(x_130);
-lean_dec(x_1);
-x_145 = l_Lean_Parser_Tactic_changeWith___elambda__1___closed__2;
-x_146 = l_Lean_Parser_ParserState_mkNode(x_129, x_145, x_81);
-x_147 = 1;
-x_148 = l_Lean_Parser_mergeOrElseErrors(x_146, x_73, x_70, x_147);
-lean_dec(x_70);
-return x_148;
-}
-}
-else
-{
-lean_object* x_149; lean_object* x_150; uint8_t x_151; lean_object* x_152;
-lean_dec(x_126);
-lean_dec(x_1);
-x_149 = l_Lean_Parser_Tactic_changeWith___elambda__1___closed__2;
-x_150 = l_Lean_Parser_ParserState_mkNode(x_125, x_149, x_81);
-x_151 = 1;
-x_152 = l_Lean_Parser_mergeOrElseErrors(x_150, x_73, x_70, x_151);
-lean_dec(x_70);
-return x_152;
-}
-block_122:
-{
-lean_object* x_83;
-x_83 = lean_ctor_get(x_82, 3);
-lean_inc(x_83);
-if (lean_obj_tag(x_83) == 0)
-{
-lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87;
-x_84 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_85 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_86 = l_Lean_Parser_categoryParser___elambda__1(x_84, x_85, x_1, x_82);
-x_87 = lean_ctor_get(x_86, 3);
-lean_inc(x_87);
-if (lean_obj_tag(x_87) == 0)
-{
-lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92;
-x_88 = lean_ctor_get(x_86, 0);
-lean_inc(x_88);
-x_89 = lean_array_get_size(x_88);
-lean_dec(x_88);
-x_90 = lean_ctor_get(x_86, 1);
-lean_inc(x_90);
-x_91 = l_Lean_Parser_Tactic_location___elambda__1(x_1, x_86);
-x_92 = lean_ctor_get(x_91, 3);
-lean_inc(x_92);
-if (lean_obj_tag(x_92) == 0)
-{
-lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; uint8_t x_97; lean_object* x_98;
-lean_dec(x_90);
-x_93 = l_Lean_nullKind;
-x_94 = l_Lean_Parser_ParserState_mkNode(x_91, x_93, x_89);
-x_95 = l_Lean_Parser_Tactic_changeWith___elambda__1___closed__2;
-x_96 = l_Lean_Parser_ParserState_mkNode(x_94, x_95, x_81);
-x_97 = 1;
-x_98 = l_Lean_Parser_mergeOrElseErrors(x_96, x_73, x_70, x_97);
-lean_dec(x_70);
-return x_98;
-}
-else
-{
-lean_object* x_99; uint8_t x_100;
-lean_dec(x_92);
-x_99 = lean_ctor_get(x_91, 1);
-lean_inc(x_99);
-x_100 = lean_nat_dec_eq(x_99, x_90);
-lean_dec(x_99);
-if (x_100 == 0)
-{
-lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; uint8_t x_105; lean_object* x_106;
-lean_dec(x_90);
-x_101 = l_Lean_nullKind;
-x_102 = l_Lean_Parser_ParserState_mkNode(x_91, x_101, x_89);
-x_103 = l_Lean_Parser_Tactic_changeWith___elambda__1___closed__2;
-x_104 = l_Lean_Parser_ParserState_mkNode(x_102, x_103, x_81);
-x_105 = 1;
-x_106 = l_Lean_Parser_mergeOrElseErrors(x_104, x_73, x_70, x_105);
-lean_dec(x_70);
-return x_106;
-}
-else
-{
-lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; uint8_t x_112; lean_object* x_113;
-x_107 = l_Lean_Parser_ParserState_restore(x_91, x_89, x_90);
-x_108 = l_Lean_nullKind;
-x_109 = l_Lean_Parser_ParserState_mkNode(x_107, x_108, x_89);
-x_110 = l_Lean_Parser_Tactic_changeWith___elambda__1___closed__2;
-x_111 = l_Lean_Parser_ParserState_mkNode(x_109, x_110, x_81);
-x_112 = 1;
-x_113 = l_Lean_Parser_mergeOrElseErrors(x_111, x_73, x_70, x_112);
-lean_dec(x_70);
-return x_113;
-}
-}
-}
-else
-{
-lean_object* x_114; lean_object* x_115; uint8_t x_116; lean_object* x_117;
-lean_dec(x_87);
-lean_dec(x_1);
-x_114 = l_Lean_Parser_Tactic_changeWith___elambda__1___closed__2;
-x_115 = l_Lean_Parser_ParserState_mkNode(x_86, x_114, x_81);
-x_116 = 1;
-x_117 = l_Lean_Parser_mergeOrElseErrors(x_115, x_73, x_70, x_116);
-lean_dec(x_70);
-return x_117;
-}
-}
-else
-{
-lean_object* x_118; lean_object* x_119; uint8_t x_120; lean_object* x_121;
-lean_dec(x_83);
-lean_dec(x_1);
-x_118 = l_Lean_Parser_Tactic_changeWith___elambda__1___closed__2;
-x_119 = l_Lean_Parser_ParserState_mkNode(x_82, x_118, x_81);
-x_120 = 1;
-x_121 = l_Lean_Parser_mergeOrElseErrors(x_119, x_73, x_70, x_120);
-lean_dec(x_70);
-return x_121;
-}
-}
-}
-else
-{
-uint8_t x_153; lean_object* x_154;
-lean_dec(x_79);
-lean_dec(x_1);
-x_153 = 1;
-x_154 = l_Lean_Parser_mergeOrElseErrors(x_78, x_73, x_70, x_153);
-lean_dec(x_70);
-return x_154;
-}
-}
-}
+lean_object* x_37; uint8_t x_38; lean_object* x_39;
+x_37 = l_Lean_Parser_Tactic_changeWith___elambda__1___closed__9;
+x_38 = 1;
+x_39 = l_Lean_Parser_orelseFnCore(x_4, x_37, x_38, x_1, x_2);
+return x_39;
}
}
}
@@ -16889,20 +13721,22 @@ static lean_object* _init_l_Lean_Parser_Tactic_rwRule___elambda__1___closed__9()
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Tactic_rwRule___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Tactic_rwRule___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Tactic_rwRule___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_unicodeSymbolFn___boxed), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
static lean_object* _init_l_Lean_Parser_Tactic_rwRule___elambda__1___closed__10() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
+lean_object* x_1; lean_object* x_2;
x_1 = l_Lean_Parser_Tactic_rwRule___elambda__1___closed__9;
-x_2 = l_Lean_KeyedDeclsAttribute_init___rarg___lambda__3___closed__2;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optionalFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Tactic_rwRule___elambda__1___closed__11() {
@@ -16910,8 +13744,10 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Tactic_rwRule___elambda__1___closed__10;
-x_2 = l_Lean_Parser_Tactic_rwRule___elambda__1___closed__8;
-x_3 = lean_string_append(x_1, x_2);
+x_2 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -16919,9 +13755,11 @@ static lean_object* _init_l_Lean_Parser_Tactic_rwRule___elambda__1___closed__12(
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Tactic_rwRule___elambda__1___closed__11;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Tactic_rwRule___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Tactic_rwRule___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -16929,11 +13767,11 @@ static lean_object* _init_l_Lean_Parser_Tactic_rwRule___elambda__1___closed__13(
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
x_2 = l_Lean_Parser_Tactic_rwRule___elambda__1___closed__12;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -16957,115 +13795,34 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-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; lean_object* x_16;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_11 = lean_ctor_get(x_7, 1);
-lean_inc(x_11);
-x_12 = l_Lean_Parser_Tactic_rwRule___elambda__1___closed__6;
-x_13 = l_Lean_Parser_Tactic_rwRule___elambda__1___closed__8;
-x_14 = l_Lean_Parser_Tactic_rwRule___elambda__1___closed__13;
+x_11 = l_Lean_Parser_Tactic_rwRule___elambda__1___closed__9;
lean_inc(x_1);
-x_15 = l_Lean_Parser_unicodeSymbolFnAux(x_12, x_13, x_14, x_1, x_7);
-x_16 = lean_ctor_get(x_15, 3);
-lean_inc(x_16);
-if (lean_obj_tag(x_16) == 0)
+x_12 = l_Lean_Parser_optionalFn(x_11, x_1, x_7);
+x_13 = lean_ctor_get(x_12, 3);
+lean_inc(x_13);
+if (lean_obj_tag(x_13) == 0)
{
-lean_object* x_17; lean_object* x_18; lean_object* x_19;
-lean_dec(x_11);
-x_17 = l_Lean_nullKind;
-lean_inc(x_10);
-x_18 = l_Lean_Parser_ParserState_mkNode(x_15, x_17, x_10);
-x_19 = lean_ctor_get(x_18, 3);
-lean_inc(x_19);
-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;
-x_20 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_21 = lean_unsigned_to_nat(0u);
-x_22 = l_Lean_Parser_categoryParser___elambda__1(x_20, x_21, x_1, x_18);
-x_23 = l_Lean_Parser_Tactic_rwRule___elambda__1___closed__2;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_22, x_23, x_10);
-return x_24;
+lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
+x_14 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_15 = lean_unsigned_to_nat(0u);
+x_16 = l_Lean_Parser_categoryParser___elambda__1(x_14, x_15, x_1, x_12);
+x_17 = l_Lean_Parser_Tactic_rwRule___elambda__1___closed__2;
+x_18 = l_Lean_Parser_ParserState_mkNode(x_16, x_17, x_10);
+return x_18;
}
else
{
-lean_object* x_25; lean_object* x_26;
-lean_dec(x_19);
+lean_object* x_19; lean_object* x_20;
+lean_dec(x_13);
lean_dec(x_1);
-x_25 = l_Lean_Parser_Tactic_rwRule___elambda__1___closed__2;
-x_26 = l_Lean_Parser_ParserState_mkNode(x_18, x_25, x_10);
-return x_26;
-}
-}
-else
-{
-lean_object* x_27; uint8_t x_28;
-lean_dec(x_16);
-x_27 = lean_ctor_get(x_15, 1);
-lean_inc(x_27);
-x_28 = lean_nat_dec_eq(x_27, x_11);
-lean_dec(x_27);
-if (x_28 == 0)
-{
-lean_object* x_29; lean_object* x_30; lean_object* x_31;
-lean_dec(x_11);
-x_29 = l_Lean_nullKind;
-lean_inc(x_10);
-x_30 = l_Lean_Parser_ParserState_mkNode(x_15, x_29, x_10);
-x_31 = lean_ctor_get(x_30, 3);
-lean_inc(x_31);
-if (lean_obj_tag(x_31) == 0)
-{
-lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36;
-x_32 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_33 = lean_unsigned_to_nat(0u);
-x_34 = l_Lean_Parser_categoryParser___elambda__1(x_32, x_33, x_1, x_30);
-x_35 = l_Lean_Parser_Tactic_rwRule___elambda__1___closed__2;
-x_36 = l_Lean_Parser_ParserState_mkNode(x_34, x_35, x_10);
-return x_36;
-}
-else
-{
-lean_object* x_37; lean_object* x_38;
-lean_dec(x_31);
-lean_dec(x_1);
-x_37 = l_Lean_Parser_Tactic_rwRule___elambda__1___closed__2;
-x_38 = l_Lean_Parser_ParserState_mkNode(x_30, x_37, x_10);
-return x_38;
-}
-}
-else
-{
-lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42;
-x_39 = l_Lean_Parser_ParserState_restore(x_15, x_10, x_11);
-x_40 = l_Lean_nullKind;
-lean_inc(x_10);
-x_41 = l_Lean_Parser_ParserState_mkNode(x_39, x_40, x_10);
-x_42 = lean_ctor_get(x_41, 3);
-lean_inc(x_42);
-if (lean_obj_tag(x_42) == 0)
-{
-lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47;
-x_43 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_44 = lean_unsigned_to_nat(0u);
-x_45 = l_Lean_Parser_categoryParser___elambda__1(x_43, x_44, x_1, x_41);
-x_46 = l_Lean_Parser_Tactic_rwRule___elambda__1___closed__2;
-x_47 = l_Lean_Parser_ParserState_mkNode(x_45, x_46, x_10);
-return x_47;
-}
-else
-{
-lean_object* x_48; lean_object* x_49;
-lean_dec(x_42);
-lean_dec(x_1);
-x_48 = l_Lean_Parser_Tactic_rwRule___elambda__1___closed__2;
-x_49 = l_Lean_Parser_ParserState_mkNode(x_41, x_48, x_10);
-return x_49;
-}
-}
+x_19 = l_Lean_Parser_Tactic_rwRule___elambda__1___closed__2;
+x_20 = l_Lean_Parser_ParserState_mkNode(x_12, x_19, x_10);
+return x_20;
}
}
else
@@ -17077,195 +13834,11 @@ return x_7;
}
else
{
-lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54;
-x_50 = lean_ctor_get(x_2, 0);
-lean_inc(x_50);
-x_51 = lean_array_get_size(x_50);
-lean_dec(x_50);
-x_52 = lean_ctor_get(x_2, 1);
-lean_inc(x_52);
-lean_inc(x_1);
-x_53 = lean_apply_2(x_4, x_1, x_2);
-x_54 = lean_ctor_get(x_53, 3);
-lean_inc(x_54);
-if (lean_obj_tag(x_54) == 0)
-{
-lean_dec(x_52);
-lean_dec(x_51);
-lean_dec(x_1);
-return x_53;
-}
-else
-{
-lean_object* x_55; lean_object* x_56; uint8_t x_57;
-x_55 = lean_ctor_get(x_54, 0);
-lean_inc(x_55);
-lean_dec(x_54);
-x_56 = lean_ctor_get(x_53, 1);
-lean_inc(x_56);
-x_57 = lean_nat_dec_eq(x_56, x_52);
-lean_dec(x_56);
-if (x_57 == 0)
-{
-lean_dec(x_55);
-lean_dec(x_52);
-lean_dec(x_51);
-lean_dec(x_1);
-return x_53;
-}
-else
-{
-lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61;
-lean_inc(x_52);
-x_58 = l_Lean_Parser_ParserState_restore(x_53, x_51, x_52);
-lean_dec(x_51);
-x_59 = lean_unsigned_to_nat(1024u);
-x_60 = l_Lean_Parser_checkPrecFn(x_59, x_1, x_58);
-x_61 = lean_ctor_get(x_60, 3);
-lean_inc(x_61);
-if (lean_obj_tag(x_61) == 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;
-x_62 = lean_ctor_get(x_60, 0);
-lean_inc(x_62);
-x_63 = lean_array_get_size(x_62);
-lean_dec(x_62);
-x_64 = lean_ctor_get(x_60, 1);
-lean_inc(x_64);
-x_65 = l_Lean_Parser_Tactic_rwRule___elambda__1___closed__6;
-x_66 = l_Lean_Parser_Tactic_rwRule___elambda__1___closed__8;
-x_67 = l_Lean_Parser_Tactic_rwRule___elambda__1___closed__13;
-lean_inc(x_1);
-x_68 = l_Lean_Parser_unicodeSymbolFnAux(x_65, x_66, x_67, x_1, x_60);
-x_69 = lean_ctor_get(x_68, 3);
-lean_inc(x_69);
-if (lean_obj_tag(x_69) == 0)
-{
-lean_object* x_70; lean_object* x_71; lean_object* x_72;
-lean_dec(x_64);
-x_70 = l_Lean_nullKind;
-lean_inc(x_63);
-x_71 = l_Lean_Parser_ParserState_mkNode(x_68, x_70, x_63);
-x_72 = lean_ctor_get(x_71, 3);
-lean_inc(x_72);
-if (lean_obj_tag(x_72) == 0)
-{
-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_object* x_79;
-x_73 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_74 = lean_unsigned_to_nat(0u);
-x_75 = l_Lean_Parser_categoryParser___elambda__1(x_73, x_74, x_1, x_71);
-x_76 = l_Lean_Parser_Tactic_rwRule___elambda__1___closed__2;
-x_77 = l_Lean_Parser_ParserState_mkNode(x_75, x_76, x_63);
-x_78 = 1;
-x_79 = l_Lean_Parser_mergeOrElseErrors(x_77, x_55, x_52, x_78);
-lean_dec(x_52);
-return x_79;
-}
-else
-{
-lean_object* x_80; lean_object* x_81; uint8_t x_82; lean_object* x_83;
-lean_dec(x_72);
-lean_dec(x_1);
-x_80 = l_Lean_Parser_Tactic_rwRule___elambda__1___closed__2;
-x_81 = l_Lean_Parser_ParserState_mkNode(x_71, x_80, x_63);
-x_82 = 1;
-x_83 = l_Lean_Parser_mergeOrElseErrors(x_81, x_55, x_52, x_82);
-lean_dec(x_52);
-return x_83;
-}
-}
-else
-{
-lean_object* x_84; uint8_t x_85;
-lean_dec(x_69);
-x_84 = lean_ctor_get(x_68, 1);
-lean_inc(x_84);
-x_85 = lean_nat_dec_eq(x_84, x_64);
-lean_dec(x_84);
-if (x_85 == 0)
-{
-lean_object* x_86; lean_object* x_87; lean_object* x_88;
-lean_dec(x_64);
-x_86 = l_Lean_nullKind;
-lean_inc(x_63);
-x_87 = l_Lean_Parser_ParserState_mkNode(x_68, x_86, x_63);
-x_88 = lean_ctor_get(x_87, 3);
-lean_inc(x_88);
-if (lean_obj_tag(x_88) == 0)
-{
-lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; uint8_t x_94; lean_object* x_95;
-x_89 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_90 = lean_unsigned_to_nat(0u);
-x_91 = l_Lean_Parser_categoryParser___elambda__1(x_89, x_90, x_1, x_87);
-x_92 = l_Lean_Parser_Tactic_rwRule___elambda__1___closed__2;
-x_93 = l_Lean_Parser_ParserState_mkNode(x_91, x_92, x_63);
-x_94 = 1;
-x_95 = l_Lean_Parser_mergeOrElseErrors(x_93, x_55, x_52, x_94);
-lean_dec(x_52);
-return x_95;
-}
-else
-{
-lean_object* x_96; lean_object* x_97; uint8_t x_98; lean_object* x_99;
-lean_dec(x_88);
-lean_dec(x_1);
-x_96 = l_Lean_Parser_Tactic_rwRule___elambda__1___closed__2;
-x_97 = l_Lean_Parser_ParserState_mkNode(x_87, x_96, x_63);
-x_98 = 1;
-x_99 = l_Lean_Parser_mergeOrElseErrors(x_97, x_55, x_52, x_98);
-lean_dec(x_52);
-return x_99;
-}
-}
-else
-{
-lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103;
-x_100 = l_Lean_Parser_ParserState_restore(x_68, x_63, x_64);
-x_101 = l_Lean_nullKind;
-lean_inc(x_63);
-x_102 = l_Lean_Parser_ParserState_mkNode(x_100, x_101, x_63);
-x_103 = lean_ctor_get(x_102, 3);
-lean_inc(x_103);
-if (lean_obj_tag(x_103) == 0)
-{
-lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; uint8_t x_109; lean_object* x_110;
-x_104 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_105 = lean_unsigned_to_nat(0u);
-x_106 = l_Lean_Parser_categoryParser___elambda__1(x_104, x_105, x_1, x_102);
-x_107 = l_Lean_Parser_Tactic_rwRule___elambda__1___closed__2;
-x_108 = l_Lean_Parser_ParserState_mkNode(x_106, x_107, x_63);
-x_109 = 1;
-x_110 = l_Lean_Parser_mergeOrElseErrors(x_108, x_55, x_52, x_109);
-lean_dec(x_52);
-return x_110;
-}
-else
-{
-lean_object* x_111; lean_object* x_112; uint8_t x_113; lean_object* x_114;
-lean_dec(x_103);
-lean_dec(x_1);
-x_111 = l_Lean_Parser_Tactic_rwRule___elambda__1___closed__2;
-x_112 = l_Lean_Parser_ParserState_mkNode(x_102, x_111, x_63);
-x_113 = 1;
-x_114 = l_Lean_Parser_mergeOrElseErrors(x_112, x_55, x_52, x_113);
-lean_dec(x_52);
-return x_114;
-}
-}
-}
-}
-else
-{
-uint8_t x_115; lean_object* x_116;
-lean_dec(x_61);
-lean_dec(x_1);
-x_115 = 1;
-x_116 = l_Lean_Parser_mergeOrElseErrors(x_60, x_55, x_52, x_115);
-lean_dec(x_52);
-return x_116;
-}
-}
-}
+lean_object* x_21; uint8_t x_22; lean_object* x_23;
+x_21 = l_Lean_Parser_Tactic_rwRule___elambda__1___closed__13;
+x_22 = 1;
+x_23 = l_Lean_Parser_orelseFnCore(x_4, x_21, x_22, x_1, x_2);
+return x_23;
}
}
}
@@ -17360,172 +13933,6 @@ x_1 = l_Lean_Parser_Tactic_rwRule___closed__8;
return x_1;
}
}
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_rwRuleSeq___elambda__1___spec__2(uint8_t x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5) {
-_start:
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10;
-x_6 = lean_ctor_get(x_5, 0);
-lean_inc(x_6);
-x_7 = lean_array_get_size(x_6);
-lean_dec(x_6);
-x_8 = lean_ctor_get(x_5, 1);
-lean_inc(x_8);
-lean_inc(x_4);
-x_9 = l_Lean_Parser_Tactic_rwRule___elambda__1(x_4, x_5);
-x_10 = lean_ctor_get(x_9, 3);
-lean_inc(x_10);
-if (lean_obj_tag(x_10) == 0)
-{
-lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_21; lean_object* x_22;
-lean_dec(x_8);
-lean_dec(x_7);
-x_11 = lean_ctor_get(x_9, 0);
-lean_inc(x_11);
-x_12 = lean_array_get_size(x_11);
-lean_dec(x_11);
-x_13 = lean_ctor_get(x_9, 1);
-lean_inc(x_13);
-lean_inc(x_4);
-x_21 = l_Lean_Parser_tokenFn(x_4, x_9);
-x_22 = lean_ctor_get(x_21, 3);
-lean_inc(x_22);
-if (lean_obj_tag(x_22) == 0)
-{
-lean_object* x_23; lean_object* x_24;
-x_23 = lean_ctor_get(x_21, 0);
-lean_inc(x_23);
-x_24 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_23);
-lean_dec(x_23);
-if (lean_obj_tag(x_24) == 2)
-{
-lean_object* x_25; lean_object* x_26; uint8_t x_27;
-x_25 = lean_ctor_get(x_24, 1);
-lean_inc(x_25);
-lean_dec(x_24);
-x_26 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__1;
-x_27 = lean_string_dec_eq(x_25, x_26);
-lean_dec(x_25);
-if (x_27 == 0)
-{
-lean_object* x_28; lean_object* x_29;
-x_28 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
-lean_inc(x_13);
-x_29 = l_Lean_Parser_ParserState_mkErrorsAt(x_21, x_28, x_13);
-x_14 = x_29;
-goto block_20;
-}
-else
-{
-x_14 = x_21;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_30; lean_object* x_31;
-lean_dec(x_24);
-x_30 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
-lean_inc(x_13);
-x_31 = l_Lean_Parser_ParserState_mkErrorsAt(x_21, x_30, x_13);
-x_14 = x_31;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_32; lean_object* x_33;
-lean_dec(x_22);
-x_32 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
-lean_inc(x_13);
-x_33 = l_Lean_Parser_ParserState_mkErrorsAt(x_21, x_32, x_13);
-x_14 = x_33;
-goto block_20;
-}
-block_20:
-{
-lean_object* x_15;
-x_15 = lean_ctor_get(x_14, 3);
-lean_inc(x_15);
-if (lean_obj_tag(x_15) == 0)
-{
-lean_dec(x_13);
-lean_dec(x_12);
-{
-uint8_t _tmp_2 = x_1;
-lean_object* _tmp_4 = x_14;
-x_3 = _tmp_2;
-x_5 = _tmp_4;
-}
-goto _start;
-}
-else
-{
-lean_object* x_17; lean_object* x_18; lean_object* x_19;
-lean_dec(x_15);
-lean_dec(x_4);
-x_17 = l_Lean_Parser_ParserState_restore(x_14, x_12, x_13);
-lean_dec(x_12);
-x_18 = l_Lean_nullKind;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_2);
-return x_19;
-}
-}
-}
-else
-{
-lean_object* x_34; uint8_t x_35;
-lean_dec(x_10);
-lean_dec(x_4);
-x_34 = lean_ctor_get(x_9, 1);
-lean_inc(x_34);
-x_35 = lean_nat_dec_lt(x_8, x_34);
-lean_dec(x_34);
-if (x_35 == 0)
-{
-if (x_3 == 0)
-{
-lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-lean_dec(x_8);
-lean_dec(x_7);
-x_36 = lean_box(0);
-x_37 = l_Lean_Parser_ParserState_pushSyntax(x_9, x_36);
-x_38 = l_Lean_nullKind;
-x_39 = l_Lean_Parser_ParserState_mkNode(x_37, x_38, x_2);
-return x_39;
-}
-else
-{
-lean_object* x_40; lean_object* x_41; lean_object* x_42;
-x_40 = l_Lean_Parser_ParserState_restore(x_9, x_7, x_8);
-lean_dec(x_7);
-x_41 = l_Lean_nullKind;
-x_42 = l_Lean_Parser_ParserState_mkNode(x_40, x_41, x_2);
-return x_42;
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_2);
-return x_9;
-}
-}
-}
-}
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Tactic_rwRuleSeq___elambda__1___spec__1(uint8_t x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
-x_4 = lean_ctor_get(x_3, 0);
-lean_inc(x_4);
-x_5 = lean_array_get_size(x_4);
-lean_dec(x_4);
-x_6 = 0;
-x_7 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_rwRuleSeq___elambda__1___spec__2(x_1, x_5, x_6, x_2, x_3);
-return x_7;
-}
-}
static lean_object* _init_l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__1() {
_start:
{
@@ -17565,6 +13972,69 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__5() {
+_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_Parser_Tactic_rwRule___closed__7;
+x_3 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__6;
+x_4 = lean_box(x_1);
+x_5 = lean_alloc_closure((void*)(l_Lean_Parser_sepBy1Fn___boxed), 5, 3);
+lean_closure_set(x_5, 0, x_4);
+lean_closure_set(x_5, 1, x_2);
+lean_closure_set(x_5, 2, x_3);
+return x_5;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__5;
+x_2 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Tactic_rwRuleSeq___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -17585,163 +14055,55 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_43; lean_object* x_44; lean_object* x_45;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_43 = lean_ctor_get(x_7, 1);
-lean_inc(x_43);
+x_11 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__5;
+x_12 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__14;
lean_inc(x_1);
-x_44 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_45 = lean_ctor_get(x_44, 3);
-lean_inc(x_45);
-if (lean_obj_tag(x_45) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_46; lean_object* x_47;
-x_46 = lean_ctor_get(x_44, 0);
-lean_inc(x_46);
-x_47 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_46);
-lean_dec(x_46);
-if (lean_obj_tag(x_47) == 2)
-{
-lean_object* x_48; lean_object* x_49; uint8_t x_50;
-x_48 = lean_ctor_get(x_47, 1);
-lean_inc(x_48);
-lean_dec(x_47);
-x_49 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__5;
-x_50 = lean_string_dec_eq(x_48, x_49);
-lean_dec(x_48);
-if (x_50 == 0)
-{
-lean_object* x_51; lean_object* x_52;
-x_51 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-x_52 = l_Lean_Parser_ParserState_mkErrorsAt(x_44, x_51, x_43);
-x_11 = x_52;
-goto block_42;
-}
-else
-{
-lean_dec(x_43);
-x_11 = x_44;
-goto block_42;
-}
-}
-else
-{
-lean_object* x_53; lean_object* x_54;
-lean_dec(x_47);
-x_53 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-x_54 = l_Lean_Parser_ParserState_mkErrorsAt(x_44, x_53, x_43);
-x_11 = x_54;
-goto block_42;
-}
-}
-else
-{
-lean_object* x_55; lean_object* x_56;
-lean_dec(x_45);
-x_55 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-x_56 = l_Lean_Parser_ParserState_mkErrorsAt(x_44, x_55, x_43);
-x_11 = x_56;
-goto block_42;
-}
-block_42:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-uint8_t x_13; lean_object* x_14; lean_object* x_15;
-x_13 = 1;
+uint8_t x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
+x_15 = 1;
+x_16 = l_Lean_Parser_Tactic_rwRule___closed__7;
+x_17 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__6;
lean_inc(x_1);
-x_14 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Tactic_rwRuleSeq___elambda__1___spec__1(x_13, x_1, x_11);
-x_15 = lean_ctor_get(x_14, 3);
-lean_inc(x_15);
-if (lean_obj_tag(x_15) == 0)
-{
-lean_object* x_16; lean_object* x_17; lean_object* x_18;
-x_16 = lean_ctor_get(x_14, 1);
-lean_inc(x_16);
-x_17 = l_Lean_Parser_tokenFn(x_1, x_14);
-x_18 = lean_ctor_get(x_17, 3);
-lean_inc(x_18);
-if (lean_obj_tag(x_18) == 0)
-{
-lean_object* x_19; lean_object* x_20;
-x_19 = lean_ctor_get(x_17, 0);
+x_18 = l_Lean_Parser_sepBy1Fn(x_15, x_16, x_17, x_1, x_13);
+x_19 = lean_ctor_get(x_18, 3);
lean_inc(x_19);
-x_20 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_19);
+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;
+x_20 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__7;
+x_21 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__16;
+x_22 = l_Lean_Parser_symbolFnAux(x_20, x_21, x_1, x_18);
+x_23 = l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__2;
+x_24 = l_Lean_Parser_ParserState_mkNode(x_22, x_23, x_10);
+return x_24;
+}
+else
+{
+lean_object* x_25; lean_object* x_26;
lean_dec(x_19);
-if (lean_obj_tag(x_20) == 2)
-{
-lean_object* x_21; lean_object* x_22; uint8_t x_23;
-x_21 = lean_ctor_get(x_20, 1);
-lean_inc(x_21);
-lean_dec(x_20);
-x_22 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__6;
-x_23 = lean_string_dec_eq(x_21, x_22);
-lean_dec(x_21);
-if (x_23 == 0)
-{
-lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
-x_24 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_25 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_24, x_16);
-x_26 = l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__2;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_25, x_26, x_10);
-return x_27;
-}
-else
-{
-lean_object* x_28; lean_object* x_29;
-lean_dec(x_16);
-x_28 = l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__2;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_17, x_28, x_10);
-return x_29;
-}
-}
-else
-{
-lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
-lean_dec(x_20);
-x_30 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_31 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_30, x_16);
-x_32 = l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__2;
-x_33 = l_Lean_Parser_ParserState_mkNode(x_31, x_32, x_10);
-return x_33;
-}
-}
-else
-{
-lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-lean_dec(x_18);
-x_34 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_35 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_34, x_16);
-x_36 = l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__2;
-x_37 = l_Lean_Parser_ParserState_mkNode(x_35, x_36, x_10);
-return x_37;
-}
-}
-else
-{
-lean_object* x_38; lean_object* x_39;
-lean_dec(x_15);
lean_dec(x_1);
-x_38 = l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__2;
-x_39 = l_Lean_Parser_ParserState_mkNode(x_14, x_38, x_10);
-return x_39;
+x_25 = l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__2;
+x_26 = l_Lean_Parser_ParserState_mkNode(x_18, x_25, x_10);
+return x_26;
}
}
else
{
-lean_object* x_40; lean_object* x_41;
-lean_dec(x_12);
+lean_object* x_27; lean_object* x_28;
+lean_dec(x_14);
lean_dec(x_1);
-x_40 = l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__2;
-x_41 = l_Lean_Parser_ParserState_mkNode(x_11, x_40, x_10);
-return x_41;
-}
+x_27 = l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__2;
+x_28 = l_Lean_Parser_ParserState_mkNode(x_13, x_27, x_10);
+return x_28;
}
}
else
@@ -17753,238 +14115,11 @@ return x_7;
}
else
{
-lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61;
-x_57 = lean_ctor_get(x_2, 0);
-lean_inc(x_57);
-x_58 = lean_array_get_size(x_57);
-lean_dec(x_57);
-x_59 = lean_ctor_get(x_2, 1);
-lean_inc(x_59);
-lean_inc(x_1);
-x_60 = lean_apply_2(x_4, x_1, x_2);
-x_61 = lean_ctor_get(x_60, 3);
-lean_inc(x_61);
-if (lean_obj_tag(x_61) == 0)
-{
-lean_dec(x_59);
-lean_dec(x_58);
-lean_dec(x_1);
-return x_60;
-}
-else
-{
-lean_object* x_62; lean_object* x_63; uint8_t x_64;
-x_62 = lean_ctor_get(x_61, 0);
-lean_inc(x_62);
-lean_dec(x_61);
-x_63 = lean_ctor_get(x_60, 1);
-lean_inc(x_63);
-x_64 = lean_nat_dec_eq(x_63, x_59);
-lean_dec(x_63);
-if (x_64 == 0)
-{
-lean_dec(x_62);
-lean_dec(x_59);
-lean_dec(x_58);
-lean_dec(x_1);
-return x_60;
-}
-else
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68;
-lean_inc(x_59);
-x_65 = l_Lean_Parser_ParserState_restore(x_60, x_58, x_59);
-lean_dec(x_58);
-x_66 = lean_unsigned_to_nat(1024u);
-x_67 = l_Lean_Parser_checkPrecFn(x_66, x_1, x_65);
-x_68 = lean_ctor_get(x_67, 3);
-lean_inc(x_68);
-if (lean_obj_tag(x_68) == 0)
-{
-lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_110; lean_object* x_111; lean_object* x_112;
-x_69 = lean_ctor_get(x_67, 0);
-lean_inc(x_69);
-x_70 = lean_array_get_size(x_69);
-lean_dec(x_69);
-x_110 = lean_ctor_get(x_67, 1);
-lean_inc(x_110);
-lean_inc(x_1);
-x_111 = l_Lean_Parser_tokenFn(x_1, x_67);
-x_112 = lean_ctor_get(x_111, 3);
-lean_inc(x_112);
-if (lean_obj_tag(x_112) == 0)
-{
-lean_object* x_113; lean_object* x_114;
-x_113 = lean_ctor_get(x_111, 0);
-lean_inc(x_113);
-x_114 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_113);
-lean_dec(x_113);
-if (lean_obj_tag(x_114) == 2)
-{
-lean_object* x_115; lean_object* x_116; uint8_t x_117;
-x_115 = lean_ctor_get(x_114, 1);
-lean_inc(x_115);
-lean_dec(x_114);
-x_116 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__5;
-x_117 = lean_string_dec_eq(x_115, x_116);
-lean_dec(x_115);
-if (x_117 == 0)
-{
-lean_object* x_118; lean_object* x_119;
-x_118 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-x_119 = l_Lean_Parser_ParserState_mkErrorsAt(x_111, x_118, x_110);
-x_71 = x_119;
-goto block_109;
-}
-else
-{
-lean_dec(x_110);
-x_71 = x_111;
-goto block_109;
-}
-}
-else
-{
-lean_object* x_120; lean_object* x_121;
-lean_dec(x_114);
-x_120 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-x_121 = l_Lean_Parser_ParserState_mkErrorsAt(x_111, x_120, x_110);
-x_71 = x_121;
-goto block_109;
-}
-}
-else
-{
-lean_object* x_122; lean_object* x_123;
-lean_dec(x_112);
-x_122 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-x_123 = l_Lean_Parser_ParserState_mkErrorsAt(x_111, x_122, x_110);
-x_71 = x_123;
-goto block_109;
-}
-block_109:
-{
-lean_object* x_72;
-x_72 = lean_ctor_get(x_71, 3);
-lean_inc(x_72);
-if (lean_obj_tag(x_72) == 0)
-{
-uint8_t x_73; lean_object* x_74; lean_object* x_75;
-x_73 = 1;
-lean_inc(x_1);
-x_74 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Tactic_rwRuleSeq___elambda__1___spec__1(x_73, x_1, x_71);
-x_75 = lean_ctor_get(x_74, 3);
-lean_inc(x_75);
-if (lean_obj_tag(x_75) == 0)
-{
-lean_object* x_76; lean_object* x_77; lean_object* x_78;
-x_76 = lean_ctor_get(x_74, 1);
-lean_inc(x_76);
-x_77 = l_Lean_Parser_tokenFn(x_1, x_74);
-x_78 = lean_ctor_get(x_77, 3);
-lean_inc(x_78);
-if (lean_obj_tag(x_78) == 0)
-{
-lean_object* x_79; lean_object* x_80;
-x_79 = lean_ctor_get(x_77, 0);
-lean_inc(x_79);
-x_80 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_79);
-lean_dec(x_79);
-if (lean_obj_tag(x_80) == 2)
-{
-lean_object* x_81; lean_object* x_82; uint8_t x_83;
-x_81 = lean_ctor_get(x_80, 1);
-lean_inc(x_81);
-lean_dec(x_80);
-x_82 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__6;
-x_83 = lean_string_dec_eq(x_81, x_82);
-lean_dec(x_81);
-if (x_83 == 0)
-{
-lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88;
-x_84 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_85 = l_Lean_Parser_ParserState_mkErrorsAt(x_77, x_84, x_76);
-x_86 = l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__2;
-x_87 = l_Lean_Parser_ParserState_mkNode(x_85, x_86, x_70);
-x_88 = l_Lean_Parser_mergeOrElseErrors(x_87, x_62, x_59, x_73);
-lean_dec(x_59);
-return x_88;
-}
-else
-{
-lean_object* x_89; lean_object* x_90; lean_object* x_91;
-lean_dec(x_76);
-x_89 = l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__2;
-x_90 = l_Lean_Parser_ParserState_mkNode(x_77, x_89, x_70);
-x_91 = l_Lean_Parser_mergeOrElseErrors(x_90, x_62, x_59, x_73);
-lean_dec(x_59);
-return x_91;
-}
-}
-else
-{
-lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96;
-lean_dec(x_80);
-x_92 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_93 = l_Lean_Parser_ParserState_mkErrorsAt(x_77, x_92, x_76);
-x_94 = l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__2;
-x_95 = l_Lean_Parser_ParserState_mkNode(x_93, x_94, x_70);
-x_96 = l_Lean_Parser_mergeOrElseErrors(x_95, x_62, x_59, x_73);
-lean_dec(x_59);
-return x_96;
-}
-}
-else
-{
-lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101;
-lean_dec(x_78);
-x_97 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_98 = l_Lean_Parser_ParserState_mkErrorsAt(x_77, x_97, x_76);
-x_99 = l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__2;
-x_100 = l_Lean_Parser_ParserState_mkNode(x_98, x_99, x_70);
-x_101 = l_Lean_Parser_mergeOrElseErrors(x_100, x_62, x_59, x_73);
-lean_dec(x_59);
-return x_101;
-}
-}
-else
-{
-lean_object* x_102; lean_object* x_103; lean_object* x_104;
-lean_dec(x_75);
-lean_dec(x_1);
-x_102 = l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__2;
-x_103 = l_Lean_Parser_ParserState_mkNode(x_74, x_102, x_70);
-x_104 = l_Lean_Parser_mergeOrElseErrors(x_103, x_62, x_59, x_73);
-lean_dec(x_59);
-return x_104;
-}
-}
-else
-{
-lean_object* x_105; lean_object* x_106; uint8_t x_107; lean_object* x_108;
-lean_dec(x_72);
-lean_dec(x_1);
-x_105 = l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__2;
-x_106 = l_Lean_Parser_ParserState_mkNode(x_71, x_105, x_70);
-x_107 = 1;
-x_108 = l_Lean_Parser_mergeOrElseErrors(x_106, x_62, x_59, x_107);
-lean_dec(x_59);
-return x_108;
-}
-}
-}
-else
-{
-uint8_t x_124; lean_object* x_125;
-lean_dec(x_68);
-lean_dec(x_1);
-x_124 = 1;
-x_125 = l_Lean_Parser_mergeOrElseErrors(x_67, x_62, x_59, x_124);
-lean_dec(x_59);
-return x_125;
-}
-}
-}
+lean_object* x_29; uint8_t x_30; lean_object* x_31;
+x_29 = l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__9;
+x_30 = 1;
+x_31 = l_Lean_Parser_orelseFnCore(x_4, x_29, x_30, x_1, x_2);
+return x_31;
}
}
}
@@ -18080,28 +14215,6 @@ x_1 = l_Lean_Parser_Tactic_rwRuleSeq___closed__8;
return x_1;
}
}
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_rwRuleSeq___elambda__1___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
-_start:
-{
-uint8_t x_6; uint8_t x_7; lean_object* x_8;
-x_6 = lean_unbox(x_1);
-lean_dec(x_1);
-x_7 = lean_unbox(x_3);
-lean_dec(x_3);
-x_8 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_rwRuleSeq___elambda__1___spec__2(x_6, x_2, x_7, x_4, x_5);
-return x_8;
-}
-}
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Tactic_rwRuleSeq___elambda__1___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-uint8_t x_4; lean_object* x_5;
-x_4 = lean_unbox(x_1);
-lean_dec(x_1);
-x_5 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Tactic_rwRuleSeq___elambda__1___spec__1(x_4, x_2, x_3);
-return x_5;
-}
-}
static lean_object* _init_l_Lean_Parser_Tactic_rewrite___elambda__1___closed__1() {
_start:
{
@@ -18153,47 +14266,49 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Tactic_rewrite___elambda__1___closed__6() {
_start:
{
-lean_object* x_1;
-x_1 = lean_mk_string("rw");
-return x_1;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbolFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Tactic_rewrite___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__6;
-x_2 = l_String_trim(x_1);
-return x_2;
+lean_object* x_1;
+x_1 = lean_mk_string("rw");
+return x_1;
}
}
static lean_object* _init_l_Lean_Parser_Tactic_rewrite___elambda__1___closed__8() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_notFollowedByFn___closed__1;
-x_2 = l_List_repr___rarg___closed__2;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__7;
+x_2 = l_String_trim(x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Tactic_rewrite___elambda__1___closed__9() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__5;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__8;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbolFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Tactic_rewrite___elambda__1___closed__10() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__9;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -18201,9 +14316,11 @@ static lean_object* _init_l_Lean_Parser_Tactic_rewrite___elambda__1___closed__11
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__7;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__6;
+x_2 = l_List_repr___rarg___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_notFollowedByFn___boxed), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -18211,9 +14328,59 @@ static lean_object* _init_l_Lean_Parser_Tactic_rewrite___elambda__1___closed__12
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_rwRule___closed__7;
+x_2 = l_Lean_Parser_Tactic_change___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_rewrite___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__11;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_2 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__12;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_rewrite___elambda__1___closed__14() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__10;
+x_2 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__13;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_rewrite___elambda__1___closed__15() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__14;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_rewrite___elambda__1___closed__16() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__15;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -18237,247 +14404,71 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_40; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; lean_object* x_14; lean_object* x_15;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_68 = lean_ctor_get(x_7, 1);
-lean_inc(x_68);
-x_69 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__5;
-x_70 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__10;
+x_11 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__9;
+x_13 = 1;
lean_inc(x_1);
-x_71 = l_Lean_Parser_nonReservedSymbolFnAux(x_69, x_70, x_1, x_7);
-x_72 = lean_ctor_get(x_71, 3);
-lean_inc(x_72);
-if (lean_obj_tag(x_72) == 0)
-{
-lean_dec(x_68);
-x_40 = x_71;
-goto block_67;
-}
-else
-{
-lean_object* x_73; lean_object* x_74; uint8_t x_75;
-x_73 = lean_ctor_get(x_72, 0);
-lean_inc(x_73);
-lean_dec(x_72);
-x_74 = lean_ctor_get(x_71, 1);
-lean_inc(x_74);
-x_75 = lean_nat_dec_eq(x_74, x_68);
-lean_dec(x_74);
-if (x_75 == 0)
-{
-lean_dec(x_73);
-lean_dec(x_68);
-x_40 = x_71;
-goto block_67;
-}
-else
-{
-lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; uint8_t x_80; lean_object* x_81;
-lean_inc(x_68);
-x_76 = l_Lean_Parser_ParserState_restore(x_71, x_10, x_68);
-x_77 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__7;
-x_78 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__12;
-lean_inc(x_1);
-x_79 = l_Lean_Parser_nonReservedSymbolFnAux(x_77, x_78, x_1, x_76);
-x_80 = 1;
-x_81 = l_Lean_Parser_mergeOrElseErrors(x_79, x_73, x_68, x_80);
-lean_dec(x_68);
-x_40 = x_81;
-goto block_67;
-}
-}
-block_39:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14;
-lean_inc(x_1);
-x_13 = l_Lean_Parser_Tactic_rwRule___elambda__1(x_1, x_11);
-x_14 = lean_ctor_get(x_13, 3);
-lean_inc(x_14);
-if (lean_obj_tag(x_14) == 0)
-{
-lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
-x_15 = lean_ctor_get(x_13, 0);
+x_14 = l_Lean_Parser_orelseFnCore(x_11, x_12, x_13, x_1, x_7);
+x_15 = lean_ctor_get(x_14, 3);
lean_inc(x_15);
-x_16 = lean_array_get_size(x_15);
-lean_dec(x_15);
-x_17 = lean_ctor_get(x_13, 1);
-lean_inc(x_17);
-x_18 = l_Lean_Parser_Tactic_location___elambda__1(x_1, x_13);
+if (lean_obj_tag(x_15) == 0)
+{
+lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
+x_16 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__6;
+x_17 = l_List_repr___rarg___closed__2;
+lean_inc(x_1);
+x_18 = l_Lean_Parser_notFollowedByFn(x_16, x_17, x_1, x_14);
x_19 = lean_ctor_get(x_18, 3);
lean_inc(x_19);
if (lean_obj_tag(x_19) == 0)
{
-lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23;
-lean_dec(x_17);
-x_20 = l_Lean_nullKind;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_18, x_20, x_16);
-x_22 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__2;
-x_23 = l_Lean_Parser_ParserState_mkNode(x_21, x_22, x_10);
-return x_23;
+lean_object* x_20; lean_object* x_21;
+lean_inc(x_1);
+x_20 = l_Lean_Parser_Tactic_rwRule___elambda__1(x_1, x_18);
+x_21 = lean_ctor_get(x_20, 3);
+lean_inc(x_21);
+if (lean_obj_tag(x_21) == 0)
+{
+lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25;
+x_22 = l_Lean_Parser_Tactic_location___closed__8;
+x_23 = l_Lean_Parser_optionalFn(x_22, x_1, x_20);
+x_24 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__2;
+x_25 = l_Lean_Parser_ParserState_mkNode(x_23, x_24, x_10);
+return x_25;
}
else
{
-lean_object* x_24; uint8_t x_25;
-lean_dec(x_19);
-x_24 = lean_ctor_get(x_18, 1);
-lean_inc(x_24);
-x_25 = lean_nat_dec_eq(x_24, x_17);
-lean_dec(x_24);
-if (x_25 == 0)
+lean_object* x_26; lean_object* x_27;
+lean_dec(x_21);
+lean_dec(x_1);
+x_26 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__2;
+x_27 = l_Lean_Parser_ParserState_mkNode(x_20, x_26, x_10);
+return x_27;
+}
+}
+else
{
-lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29;
-lean_dec(x_17);
-x_26 = l_Lean_nullKind;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_18, x_26, x_16);
+lean_object* x_28; lean_object* x_29;
+lean_dec(x_19);
+lean_dec(x_1);
x_28 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__2;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_27, x_28, x_10);
+x_29 = l_Lean_Parser_ParserState_mkNode(x_18, x_28, x_10);
return x_29;
}
-else
-{
-lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34;
-x_30 = l_Lean_Parser_ParserState_restore(x_18, x_16, x_17);
-x_31 = l_Lean_nullKind;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_16);
-x_33 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__2;
-x_34 = l_Lean_Parser_ParserState_mkNode(x_32, x_33, x_10);
-return x_34;
-}
-}
}
else
{
-lean_object* x_35; lean_object* x_36;
-lean_dec(x_14);
+lean_object* x_30; lean_object* x_31;
+lean_dec(x_15);
lean_dec(x_1);
-x_35 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__2;
-x_36 = l_Lean_Parser_ParserState_mkNode(x_13, x_35, x_10);
-return x_36;
-}
-}
-else
-{
-lean_object* x_37; lean_object* x_38;
-lean_dec(x_12);
-lean_dec(x_1);
-x_37 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__2;
-x_38 = l_Lean_Parser_ParserState_mkNode(x_11, x_37, x_10);
-return x_38;
-}
-}
-block_67:
-{
-lean_object* x_41;
-x_41 = lean_ctor_get(x_40, 3);
-lean_inc(x_41);
-if (lean_obj_tag(x_41) == 0)
-{
-lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_52; lean_object* x_53;
-x_42 = lean_ctor_get(x_40, 0);
-lean_inc(x_42);
-x_43 = lean_array_get_size(x_42);
-lean_dec(x_42);
-x_44 = lean_ctor_get(x_40, 1);
-lean_inc(x_44);
-lean_inc(x_1);
-x_52 = l_Lean_Parser_tokenFn(x_1, x_40);
-x_53 = lean_ctor_get(x_52, 3);
-lean_inc(x_53);
-if (lean_obj_tag(x_53) == 0)
-{
-lean_object* x_54; lean_object* x_55;
-x_54 = lean_ctor_get(x_52, 0);
-lean_inc(x_54);
-x_55 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_54);
-lean_dec(x_54);
-if (lean_obj_tag(x_55) == 2)
-{
-lean_object* x_56; lean_object* x_57; uint8_t x_58;
-x_56 = lean_ctor_get(x_55, 1);
-lean_inc(x_56);
-lean_dec(x_55);
-x_57 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__5;
-x_58 = lean_string_dec_eq(x_56, x_57);
-lean_dec(x_56);
-if (x_58 == 0)
-{
-lean_object* x_59; lean_object* x_60;
-x_59 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-lean_inc(x_44);
-x_60 = l_Lean_Parser_ParserState_mkErrorsAt(x_52, x_59, x_44);
-x_45 = x_60;
-goto block_51;
-}
-else
-{
-x_45 = x_52;
-goto block_51;
-}
-}
-else
-{
-lean_object* x_61; lean_object* x_62;
-lean_dec(x_55);
-x_61 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-lean_inc(x_44);
-x_62 = l_Lean_Parser_ParserState_mkErrorsAt(x_52, x_61, x_44);
-x_45 = x_62;
-goto block_51;
-}
-}
-else
-{
-lean_object* x_63; lean_object* x_64;
-lean_dec(x_53);
-x_63 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-lean_inc(x_44);
-x_64 = l_Lean_Parser_ParserState_mkErrorsAt(x_52, x_63, x_44);
-x_45 = x_64;
-goto block_51;
-}
-block_51:
-{
-lean_object* x_46;
-x_46 = lean_ctor_get(x_45, 3);
-lean_inc(x_46);
-if (lean_obj_tag(x_46) == 0)
-{
-lean_object* x_47; lean_object* x_48; lean_object* x_49;
-x_47 = l_Lean_Parser_ParserState_restore(x_45, x_43, x_44);
-lean_dec(x_43);
-x_48 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__8;
-x_49 = l_Lean_Parser_ParserState_mkUnexpectedError(x_47, x_48);
-x_11 = x_49;
-goto block_39;
-}
-else
-{
-lean_object* x_50;
-lean_dec(x_46);
-x_50 = l_Lean_Parser_ParserState_restore(x_45, x_43, x_44);
-lean_dec(x_43);
-x_11 = x_50;
-goto block_39;
-}
-}
-}
-else
-{
-lean_object* x_65; lean_object* x_66;
-lean_dec(x_41);
-lean_dec(x_1);
-x_65 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__2;
-x_66 = l_Lean_Parser_ParserState_mkNode(x_40, x_65, x_10);
-return x_66;
-}
+x_30 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__2;
+x_31 = l_Lean_Parser_ParserState_mkNode(x_14, x_30, x_10);
+return x_31;
}
}
else
@@ -18489,327 +14480,11 @@ return x_7;
}
else
{
-lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86;
-x_82 = lean_ctor_get(x_2, 0);
-lean_inc(x_82);
-x_83 = lean_array_get_size(x_82);
-lean_dec(x_82);
-x_84 = lean_ctor_get(x_2, 1);
-lean_inc(x_84);
-lean_inc(x_1);
-x_85 = lean_apply_2(x_4, x_1, x_2);
-x_86 = lean_ctor_get(x_85, 3);
-lean_inc(x_86);
-if (lean_obj_tag(x_86) == 0)
-{
-lean_dec(x_84);
-lean_dec(x_83);
-lean_dec(x_1);
-return x_85;
-}
-else
-{
-lean_object* x_87; lean_object* x_88; uint8_t x_89;
-x_87 = lean_ctor_get(x_86, 0);
-lean_inc(x_87);
-lean_dec(x_86);
-x_88 = lean_ctor_get(x_85, 1);
-lean_inc(x_88);
-x_89 = lean_nat_dec_eq(x_88, x_84);
-lean_dec(x_88);
-if (x_89 == 0)
-{
-lean_dec(x_87);
-lean_dec(x_84);
-lean_dec(x_83);
-lean_dec(x_1);
-return x_85;
-}
-else
-{
-lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93;
-lean_inc(x_84);
-x_90 = l_Lean_Parser_ParserState_restore(x_85, x_83, x_84);
-lean_dec(x_83);
-x_91 = lean_unsigned_to_nat(1024u);
-x_92 = l_Lean_Parser_checkPrecFn(x_91, x_1, x_90);
-x_93 = lean_ctor_get(x_92, 3);
-lean_inc(x_93);
-if (lean_obj_tag(x_93) == 0)
-{
-lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_135; lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169;
-x_94 = lean_ctor_get(x_92, 0);
-lean_inc(x_94);
-x_95 = lean_array_get_size(x_94);
-lean_dec(x_94);
-x_165 = lean_ctor_get(x_92, 1);
-lean_inc(x_165);
-x_166 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__5;
-x_167 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__10;
-lean_inc(x_1);
-x_168 = l_Lean_Parser_nonReservedSymbolFnAux(x_166, x_167, x_1, x_92);
-x_169 = lean_ctor_get(x_168, 3);
-lean_inc(x_169);
-if (lean_obj_tag(x_169) == 0)
-{
-lean_dec(x_165);
-x_135 = x_168;
-goto block_164;
-}
-else
-{
-lean_object* x_170; lean_object* x_171; uint8_t x_172;
-x_170 = lean_ctor_get(x_169, 0);
-lean_inc(x_170);
-lean_dec(x_169);
-x_171 = lean_ctor_get(x_168, 1);
-lean_inc(x_171);
-x_172 = lean_nat_dec_eq(x_171, x_165);
-lean_dec(x_171);
-if (x_172 == 0)
-{
-lean_dec(x_170);
-lean_dec(x_165);
-x_135 = x_168;
-goto block_164;
-}
-else
-{
-lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; uint8_t x_177; lean_object* x_178;
-lean_inc(x_165);
-x_173 = l_Lean_Parser_ParserState_restore(x_168, x_95, x_165);
-x_174 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__7;
-x_175 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__12;
-lean_inc(x_1);
-x_176 = l_Lean_Parser_nonReservedSymbolFnAux(x_174, x_175, x_1, x_173);
-x_177 = 1;
-x_178 = l_Lean_Parser_mergeOrElseErrors(x_176, x_170, x_165, x_177);
-lean_dec(x_165);
-x_135 = x_178;
-goto block_164;
-}
-}
-block_134:
-{
-lean_object* x_97;
-x_97 = lean_ctor_get(x_96, 3);
-lean_inc(x_97);
-if (lean_obj_tag(x_97) == 0)
-{
-lean_object* x_98; lean_object* x_99;
-lean_inc(x_1);
-x_98 = l_Lean_Parser_Tactic_rwRule___elambda__1(x_1, x_96);
-x_99 = lean_ctor_get(x_98, 3);
-lean_inc(x_99);
-if (lean_obj_tag(x_99) == 0)
-{
-lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104;
-x_100 = lean_ctor_get(x_98, 0);
-lean_inc(x_100);
-x_101 = lean_array_get_size(x_100);
-lean_dec(x_100);
-x_102 = lean_ctor_get(x_98, 1);
-lean_inc(x_102);
-x_103 = l_Lean_Parser_Tactic_location___elambda__1(x_1, x_98);
-x_104 = lean_ctor_get(x_103, 3);
-lean_inc(x_104);
-if (lean_obj_tag(x_104) == 0)
-{
-lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; uint8_t x_109; lean_object* x_110;
-lean_dec(x_102);
-x_105 = l_Lean_nullKind;
-x_106 = l_Lean_Parser_ParserState_mkNode(x_103, x_105, x_101);
-x_107 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__2;
-x_108 = l_Lean_Parser_ParserState_mkNode(x_106, x_107, x_95);
-x_109 = 1;
-x_110 = l_Lean_Parser_mergeOrElseErrors(x_108, x_87, x_84, x_109);
-lean_dec(x_84);
-return x_110;
-}
-else
-{
-lean_object* x_111; uint8_t x_112;
-lean_dec(x_104);
-x_111 = lean_ctor_get(x_103, 1);
-lean_inc(x_111);
-x_112 = lean_nat_dec_eq(x_111, x_102);
-lean_dec(x_111);
-if (x_112 == 0)
-{
-lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; uint8_t x_117; lean_object* x_118;
-lean_dec(x_102);
-x_113 = l_Lean_nullKind;
-x_114 = l_Lean_Parser_ParserState_mkNode(x_103, x_113, x_101);
-x_115 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__2;
-x_116 = l_Lean_Parser_ParserState_mkNode(x_114, x_115, x_95);
-x_117 = 1;
-x_118 = l_Lean_Parser_mergeOrElseErrors(x_116, x_87, x_84, x_117);
-lean_dec(x_84);
-return x_118;
-}
-else
-{
-lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; uint8_t x_124; lean_object* x_125;
-x_119 = l_Lean_Parser_ParserState_restore(x_103, x_101, x_102);
-x_120 = l_Lean_nullKind;
-x_121 = l_Lean_Parser_ParserState_mkNode(x_119, x_120, x_101);
-x_122 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__2;
-x_123 = l_Lean_Parser_ParserState_mkNode(x_121, x_122, x_95);
-x_124 = 1;
-x_125 = l_Lean_Parser_mergeOrElseErrors(x_123, x_87, x_84, x_124);
-lean_dec(x_84);
-return x_125;
-}
-}
-}
-else
-{
-lean_object* x_126; lean_object* x_127; uint8_t x_128; lean_object* x_129;
-lean_dec(x_99);
-lean_dec(x_1);
-x_126 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__2;
-x_127 = l_Lean_Parser_ParserState_mkNode(x_98, x_126, x_95);
-x_128 = 1;
-x_129 = l_Lean_Parser_mergeOrElseErrors(x_127, x_87, x_84, x_128);
-lean_dec(x_84);
-return x_129;
-}
-}
-else
-{
-lean_object* x_130; lean_object* x_131; uint8_t x_132; lean_object* x_133;
-lean_dec(x_97);
-lean_dec(x_1);
-x_130 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__2;
-x_131 = l_Lean_Parser_ParserState_mkNode(x_96, x_130, x_95);
-x_132 = 1;
-x_133 = l_Lean_Parser_mergeOrElseErrors(x_131, x_87, x_84, x_132);
-lean_dec(x_84);
-return x_133;
-}
-}
-block_164:
-{
-lean_object* x_136;
-x_136 = lean_ctor_get(x_135, 3);
-lean_inc(x_136);
-if (lean_obj_tag(x_136) == 0)
-{
-lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_147; lean_object* x_148;
-x_137 = lean_ctor_get(x_135, 0);
-lean_inc(x_137);
-x_138 = lean_array_get_size(x_137);
-lean_dec(x_137);
-x_139 = lean_ctor_get(x_135, 1);
-lean_inc(x_139);
-lean_inc(x_1);
-x_147 = l_Lean_Parser_tokenFn(x_1, x_135);
-x_148 = lean_ctor_get(x_147, 3);
-lean_inc(x_148);
-if (lean_obj_tag(x_148) == 0)
-{
-lean_object* x_149; lean_object* x_150;
-x_149 = lean_ctor_get(x_147, 0);
-lean_inc(x_149);
-x_150 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_149);
-lean_dec(x_149);
-if (lean_obj_tag(x_150) == 2)
-{
-lean_object* x_151; lean_object* x_152; uint8_t x_153;
-x_151 = lean_ctor_get(x_150, 1);
-lean_inc(x_151);
-lean_dec(x_150);
-x_152 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__5;
-x_153 = lean_string_dec_eq(x_151, x_152);
-lean_dec(x_151);
-if (x_153 == 0)
-{
-lean_object* x_154; lean_object* x_155;
-x_154 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-lean_inc(x_139);
-x_155 = l_Lean_Parser_ParserState_mkErrorsAt(x_147, x_154, x_139);
-x_140 = x_155;
-goto block_146;
-}
-else
-{
-x_140 = x_147;
-goto block_146;
-}
-}
-else
-{
-lean_object* x_156; lean_object* x_157;
-lean_dec(x_150);
-x_156 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-lean_inc(x_139);
-x_157 = l_Lean_Parser_ParserState_mkErrorsAt(x_147, x_156, x_139);
-x_140 = x_157;
-goto block_146;
-}
-}
-else
-{
-lean_object* x_158; lean_object* x_159;
-lean_dec(x_148);
-x_158 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-lean_inc(x_139);
-x_159 = l_Lean_Parser_ParserState_mkErrorsAt(x_147, x_158, x_139);
-x_140 = x_159;
-goto block_146;
-}
-block_146:
-{
-lean_object* x_141;
-x_141 = lean_ctor_get(x_140, 3);
-lean_inc(x_141);
-if (lean_obj_tag(x_141) == 0)
-{
-lean_object* x_142; lean_object* x_143; lean_object* x_144;
-x_142 = l_Lean_Parser_ParserState_restore(x_140, x_138, x_139);
-lean_dec(x_138);
-x_143 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__8;
-x_144 = l_Lean_Parser_ParserState_mkUnexpectedError(x_142, x_143);
-x_96 = x_144;
-goto block_134;
-}
-else
-{
-lean_object* x_145;
-lean_dec(x_141);
-x_145 = l_Lean_Parser_ParserState_restore(x_140, x_138, x_139);
-lean_dec(x_138);
-x_96 = x_145;
-goto block_134;
-}
-}
-}
-else
-{
-lean_object* x_160; lean_object* x_161; uint8_t x_162; lean_object* x_163;
-lean_dec(x_136);
-lean_dec(x_1);
-x_160 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__2;
-x_161 = l_Lean_Parser_ParserState_mkNode(x_135, x_160, x_95);
-x_162 = 1;
-x_163 = l_Lean_Parser_mergeOrElseErrors(x_161, x_87, x_84, x_162);
-lean_dec(x_84);
-return x_163;
-}
-}
-}
-else
-{
-uint8_t x_179; lean_object* x_180;
-lean_dec(x_93);
-lean_dec(x_1);
-x_179 = 1;
-x_180 = l_Lean_Parser_mergeOrElseErrors(x_92, x_87, x_84, x_179);
-lean_dec(x_84);
-return x_180;
-}
-}
-}
+lean_object* x_32; uint8_t x_33; lean_object* x_34;
+x_32 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__16;
+x_33 = 1;
+x_34 = l_Lean_Parser_orelseFnCore(x_4, x_32, x_33, x_1, x_2);
+return x_34;
}
}
}
@@ -18827,7 +14502,7 @@ static lean_object* _init_l_Lean_Parser_Tactic_rewrite___closed__2() {
_start:
{
lean_object* x_1; uint8_t x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__8;
x_2 = 0;
x_3 = l_Lean_Parser_nonReservedSymbolInfo(x_1, x_2);
return x_3;
@@ -19050,7 +14725,7 @@ static lean_object* _init_l_Lean_Parser_Tactic_rewrite_formatter___closed__3() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__6;
+x_1 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__7;
x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_nonReservedSymbol_formatter___boxed), 6, 1);
lean_closure_set(x_2, 0, x_1);
return x_2;
@@ -19384,6 +15059,54 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_rwRuleSeq___closed__7;
+x_2 = l_Lean_Parser_Tactic_change___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__10;
+x_2 = l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Tactic_rewriteSeq___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -19404,141 +15127,52 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; lean_object* x_14; lean_object* x_15;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_40 = lean_ctor_get(x_7, 1);
-lean_inc(x_40);
-x_41 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__5;
-x_42 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__10;
+x_11 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__9;
+x_13 = 1;
lean_inc(x_1);
-x_43 = l_Lean_Parser_nonReservedSymbolFnAux(x_41, x_42, x_1, x_7);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-lean_dec(x_40);
-x_11 = x_43;
-goto block_39;
-}
-else
-{
-lean_object* x_45; lean_object* x_46; uint8_t x_47;
-x_45 = lean_ctor_get(x_44, 0);
-lean_inc(x_45);
-lean_dec(x_44);
-x_46 = lean_ctor_get(x_43, 1);
-lean_inc(x_46);
-x_47 = lean_nat_dec_eq(x_46, x_40);
-lean_dec(x_46);
-if (x_47 == 0)
-{
-lean_dec(x_45);
-lean_dec(x_40);
-x_11 = x_43;
-goto block_39;
-}
-else
-{
-lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; uint8_t x_52; lean_object* x_53;
-lean_inc(x_40);
-x_48 = l_Lean_Parser_ParserState_restore(x_43, x_10, x_40);
-x_49 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__7;
-x_50 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__12;
-lean_inc(x_1);
-x_51 = l_Lean_Parser_nonReservedSymbolFnAux(x_49, x_50, x_1, x_48);
-x_52 = 1;
-x_53 = l_Lean_Parser_mergeOrElseErrors(x_51, x_45, x_40, x_52);
-lean_dec(x_40);
-x_11 = x_53;
-goto block_39;
-}
-}
-block_39:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14;
-lean_inc(x_1);
-x_13 = l_Lean_Parser_Tactic_rwRuleSeq___elambda__1(x_1, x_11);
-x_14 = lean_ctor_get(x_13, 3);
-lean_inc(x_14);
-if (lean_obj_tag(x_14) == 0)
-{
-lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
-x_15 = lean_ctor_get(x_13, 0);
+x_14 = l_Lean_Parser_orelseFnCore(x_11, x_12, x_13, x_1, x_7);
+x_15 = lean_ctor_get(x_14, 3);
lean_inc(x_15);
-x_16 = lean_array_get_size(x_15);
-lean_dec(x_15);
-x_17 = lean_ctor_get(x_13, 1);
-lean_inc(x_17);
-x_18 = l_Lean_Parser_Tactic_location___elambda__1(x_1, x_13);
-x_19 = lean_ctor_get(x_18, 3);
-lean_inc(x_19);
-if (lean_obj_tag(x_19) == 0)
+if (lean_obj_tag(x_15) == 0)
{
-lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23;
+lean_object* x_16; lean_object* x_17;
+lean_inc(x_1);
+x_16 = l_Lean_Parser_Tactic_rwRuleSeq___elambda__1(x_1, x_14);
+x_17 = lean_ctor_get(x_16, 3);
+lean_inc(x_17);
+if (lean_obj_tag(x_17) == 0)
+{
+lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
+x_18 = l_Lean_Parser_Tactic_location___closed__8;
+x_19 = l_Lean_Parser_optionalFn(x_18, x_1, x_16);
+x_20 = l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__2;
+x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_10);
+return x_21;
+}
+else
+{
+lean_object* x_22; lean_object* x_23;
lean_dec(x_17);
-x_20 = l_Lean_nullKind;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_18, x_20, x_16);
+lean_dec(x_1);
x_22 = l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__2;
-x_23 = l_Lean_Parser_ParserState_mkNode(x_21, x_22, x_10);
+x_23 = l_Lean_Parser_ParserState_mkNode(x_16, x_22, x_10);
return x_23;
}
-else
-{
-lean_object* x_24; uint8_t x_25;
-lean_dec(x_19);
-x_24 = lean_ctor_get(x_18, 1);
-lean_inc(x_24);
-x_25 = lean_nat_dec_eq(x_24, x_17);
-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_dec(x_17);
-x_26 = l_Lean_nullKind;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_18, x_26, x_16);
-x_28 = l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__2;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_27, x_28, x_10);
-return x_29;
}
else
{
-lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34;
-x_30 = l_Lean_Parser_ParserState_restore(x_18, x_16, x_17);
-x_31 = l_Lean_nullKind;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_16);
-x_33 = l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__2;
-x_34 = l_Lean_Parser_ParserState_mkNode(x_32, x_33, x_10);
-return x_34;
-}
-}
-}
-else
-{
-lean_object* x_35; lean_object* x_36;
-lean_dec(x_14);
+lean_object* x_24; lean_object* x_25;
+lean_dec(x_15);
lean_dec(x_1);
-x_35 = l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__2;
-x_36 = l_Lean_Parser_ParserState_mkNode(x_13, x_35, x_10);
-return x_36;
-}
-}
-else
-{
-lean_object* x_37; lean_object* x_38;
-lean_dec(x_12);
-lean_dec(x_1);
-x_37 = l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__2;
-x_38 = l_Lean_Parser_ParserState_mkNode(x_11, x_37, x_10);
-return x_38;
-}
+x_24 = l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__2;
+x_25 = l_Lean_Parser_ParserState_mkNode(x_14, x_24, x_10);
+return x_25;
}
}
else
@@ -19550,218 +15184,11 @@ return x_7;
}
else
{
-lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58;
-x_54 = lean_ctor_get(x_2, 0);
-lean_inc(x_54);
-x_55 = lean_array_get_size(x_54);
-lean_dec(x_54);
-x_56 = lean_ctor_get(x_2, 1);
-lean_inc(x_56);
-lean_inc(x_1);
-x_57 = lean_apply_2(x_4, x_1, x_2);
-x_58 = lean_ctor_get(x_57, 3);
-lean_inc(x_58);
-if (lean_obj_tag(x_58) == 0)
-{
-lean_dec(x_56);
-lean_dec(x_55);
-lean_dec(x_1);
-return x_57;
-}
-else
-{
-lean_object* x_59; lean_object* x_60; uint8_t x_61;
-x_59 = lean_ctor_get(x_58, 0);
-lean_inc(x_59);
-lean_dec(x_58);
-x_60 = lean_ctor_get(x_57, 1);
-lean_inc(x_60);
-x_61 = lean_nat_dec_eq(x_60, x_56);
-lean_dec(x_60);
-if (x_61 == 0)
-{
-lean_dec(x_59);
-lean_dec(x_56);
-lean_dec(x_55);
-lean_dec(x_1);
-return x_57;
-}
-else
-{
-lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65;
-lean_inc(x_56);
-x_62 = l_Lean_Parser_ParserState_restore(x_57, x_55, x_56);
-lean_dec(x_55);
-x_63 = lean_unsigned_to_nat(1024u);
-x_64 = l_Lean_Parser_checkPrecFn(x_63, x_1, x_62);
-x_65 = lean_ctor_get(x_64, 3);
-lean_inc(x_65);
-if (lean_obj_tag(x_65) == 0)
-{
-lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111;
-x_66 = lean_ctor_get(x_64, 0);
-lean_inc(x_66);
-x_67 = lean_array_get_size(x_66);
-lean_dec(x_66);
-x_107 = lean_ctor_get(x_64, 1);
-lean_inc(x_107);
-x_108 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__5;
-x_109 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__10;
-lean_inc(x_1);
-x_110 = l_Lean_Parser_nonReservedSymbolFnAux(x_108, x_109, x_1, x_64);
-x_111 = lean_ctor_get(x_110, 3);
-lean_inc(x_111);
-if (lean_obj_tag(x_111) == 0)
-{
-lean_dec(x_107);
-x_68 = x_110;
-goto block_106;
-}
-else
-{
-lean_object* x_112; lean_object* x_113; uint8_t x_114;
-x_112 = lean_ctor_get(x_111, 0);
-lean_inc(x_112);
-lean_dec(x_111);
-x_113 = lean_ctor_get(x_110, 1);
-lean_inc(x_113);
-x_114 = lean_nat_dec_eq(x_113, x_107);
-lean_dec(x_113);
-if (x_114 == 0)
-{
-lean_dec(x_112);
-lean_dec(x_107);
-x_68 = x_110;
-goto block_106;
-}
-else
-{
-lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; uint8_t x_119; lean_object* x_120;
-lean_inc(x_107);
-x_115 = l_Lean_Parser_ParserState_restore(x_110, x_67, x_107);
-x_116 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__7;
-x_117 = l_Lean_Parser_Tactic_rewrite___elambda__1___closed__12;
-lean_inc(x_1);
-x_118 = l_Lean_Parser_nonReservedSymbolFnAux(x_116, x_117, x_1, x_115);
-x_119 = 1;
-x_120 = l_Lean_Parser_mergeOrElseErrors(x_118, x_112, x_107, x_119);
-lean_dec(x_107);
-x_68 = x_120;
-goto block_106;
-}
-}
-block_106:
-{
-lean_object* x_69;
-x_69 = lean_ctor_get(x_68, 3);
-lean_inc(x_69);
-if (lean_obj_tag(x_69) == 0)
-{
-lean_object* x_70; lean_object* x_71;
-lean_inc(x_1);
-x_70 = l_Lean_Parser_Tactic_rwRuleSeq___elambda__1(x_1, x_68);
-x_71 = lean_ctor_get(x_70, 3);
-lean_inc(x_71);
-if (lean_obj_tag(x_71) == 0)
-{
-lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76;
-x_72 = lean_ctor_get(x_70, 0);
-lean_inc(x_72);
-x_73 = lean_array_get_size(x_72);
-lean_dec(x_72);
-x_74 = lean_ctor_get(x_70, 1);
-lean_inc(x_74);
-x_75 = l_Lean_Parser_Tactic_location___elambda__1(x_1, x_70);
-x_76 = lean_ctor_get(x_75, 3);
-lean_inc(x_76);
-if (lean_obj_tag(x_76) == 0)
-{
-lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; uint8_t x_81; lean_object* x_82;
-lean_dec(x_74);
-x_77 = l_Lean_nullKind;
-x_78 = l_Lean_Parser_ParserState_mkNode(x_75, x_77, x_73);
-x_79 = l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__2;
-x_80 = l_Lean_Parser_ParserState_mkNode(x_78, x_79, x_67);
-x_81 = 1;
-x_82 = l_Lean_Parser_mergeOrElseErrors(x_80, x_59, x_56, x_81);
-lean_dec(x_56);
-return x_82;
-}
-else
-{
-lean_object* x_83; uint8_t x_84;
-lean_dec(x_76);
-x_83 = lean_ctor_get(x_75, 1);
-lean_inc(x_83);
-x_84 = lean_nat_dec_eq(x_83, x_74);
-lean_dec(x_83);
-if (x_84 == 0)
-{
-lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; uint8_t x_89; lean_object* x_90;
-lean_dec(x_74);
-x_85 = l_Lean_nullKind;
-x_86 = l_Lean_Parser_ParserState_mkNode(x_75, x_85, x_73);
-x_87 = l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__2;
-x_88 = l_Lean_Parser_ParserState_mkNode(x_86, x_87, x_67);
-x_89 = 1;
-x_90 = l_Lean_Parser_mergeOrElseErrors(x_88, x_59, x_56, x_89);
-lean_dec(x_56);
-return x_90;
-}
-else
-{
-lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; uint8_t x_96; lean_object* x_97;
-x_91 = l_Lean_Parser_ParserState_restore(x_75, x_73, x_74);
-x_92 = l_Lean_nullKind;
-x_93 = l_Lean_Parser_ParserState_mkNode(x_91, x_92, x_73);
-x_94 = l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__2;
-x_95 = l_Lean_Parser_ParserState_mkNode(x_93, x_94, x_67);
-x_96 = 1;
-x_97 = l_Lean_Parser_mergeOrElseErrors(x_95, x_59, x_56, x_96);
-lean_dec(x_56);
-return x_97;
-}
-}
-}
-else
-{
-lean_object* x_98; lean_object* x_99; uint8_t x_100; lean_object* x_101;
-lean_dec(x_71);
-lean_dec(x_1);
-x_98 = l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__2;
-x_99 = l_Lean_Parser_ParserState_mkNode(x_70, x_98, x_67);
-x_100 = 1;
-x_101 = l_Lean_Parser_mergeOrElseErrors(x_99, x_59, x_56, x_100);
-lean_dec(x_56);
-return x_101;
-}
-}
-else
-{
-lean_object* x_102; lean_object* x_103; uint8_t x_104; lean_object* x_105;
-lean_dec(x_69);
-lean_dec(x_1);
-x_102 = l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__2;
-x_103 = l_Lean_Parser_ParserState_mkNode(x_68, x_102, x_67);
-x_104 = 1;
-x_105 = l_Lean_Parser_mergeOrElseErrors(x_103, x_59, x_56, x_104);
-lean_dec(x_56);
-return x_105;
-}
-}
-}
-else
-{
-uint8_t x_121; lean_object* x_122;
-lean_dec(x_65);
-lean_dec(x_1);
-x_121 = 1;
-x_122 = l_Lean_Parser_mergeOrElseErrors(x_64, x_59, x_56, x_121);
-lean_dec(x_56);
-return x_122;
-}
-}
-}
+lean_object* x_26; uint8_t x_27; lean_object* x_28;
+x_26 = l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__8;
+x_27 = 1;
+x_28 = l_Lean_Parser_orelseFnCore(x_4, x_26, x_27, x_1, x_2);
+return x_28;
}
}
}
@@ -20225,6 +15652,42 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__10;
+x_2 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Tactic_majorPremise___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -20245,255 +15708,34 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_55; lean_object* x_56;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
-x_10 = lean_ctor_get(x_7, 1);
-lean_inc(x_10);
-x_11 = lean_array_get_size(x_9);
+x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
+x_11 = l_Lean_Parser_Tactic_generalize___elambda__1___closed__9;
lean_inc(x_1);
-x_55 = l_Lean_Parser_ident___elambda__1(x_1, x_7);
-x_56 = lean_ctor_get(x_55, 3);
-lean_inc(x_56);
-if (lean_obj_tag(x_56) == 0)
-{
-lean_object* x_57; lean_object* x_58; lean_object* x_59;
-x_57 = lean_ctor_get(x_55, 1);
-lean_inc(x_57);
-lean_inc(x_1);
-x_58 = l_Lean_Parser_tokenFn(x_1, x_55);
-x_59 = lean_ctor_get(x_58, 3);
-lean_inc(x_59);
-if (lean_obj_tag(x_59) == 0)
-{
-lean_object* x_60; lean_object* x_61;
-x_60 = lean_ctor_get(x_58, 0);
-lean_inc(x_60);
-x_61 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_60);
-lean_dec(x_60);
-if (lean_obj_tag(x_61) == 2)
-{
-lean_object* x_62; lean_object* x_63; uint8_t x_64;
-x_62 = lean_ctor_get(x_61, 1);
-lean_inc(x_62);
-lean_dec(x_61);
-x_63 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__3;
-x_64 = lean_string_dec_eq(x_62, x_63);
-lean_dec(x_62);
-if (x_64 == 0)
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69;
-x_65 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-x_66 = l_Lean_Parser_ParserState_mkErrorsAt(x_58, x_65, x_57);
-x_67 = lean_ctor_get(x_66, 0);
-lean_inc(x_67);
-x_68 = lean_ctor_get(x_66, 2);
-lean_inc(x_68);
-x_69 = lean_ctor_get(x_66, 3);
-lean_inc(x_69);
-x_48 = x_66;
-x_49 = x_67;
-x_50 = x_68;
-x_51 = x_69;
-goto block_54;
-}
-else
-{
-lean_object* x_70; lean_object* x_71; lean_object* x_72;
-lean_dec(x_57);
-x_70 = lean_ctor_get(x_58, 0);
-lean_inc(x_70);
-x_71 = lean_ctor_get(x_58, 2);
-lean_inc(x_71);
-x_72 = lean_ctor_get(x_58, 3);
-lean_inc(x_72);
-x_48 = x_58;
-x_49 = x_70;
-x_50 = x_71;
-x_51 = x_72;
-goto block_54;
-}
-}
-else
-{
-lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77;
-lean_dec(x_61);
-x_73 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-x_74 = l_Lean_Parser_ParserState_mkErrorsAt(x_58, x_73, x_57);
-x_75 = lean_ctor_get(x_74, 0);
-lean_inc(x_75);
-x_76 = lean_ctor_get(x_74, 2);
-lean_inc(x_76);
-x_77 = lean_ctor_get(x_74, 3);
-lean_inc(x_77);
-x_48 = x_74;
-x_49 = x_75;
-x_50 = x_76;
-x_51 = x_77;
-goto block_54;
-}
-}
-else
-{
-lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82;
-lean_dec(x_59);
-x_78 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-x_79 = l_Lean_Parser_ParserState_mkErrorsAt(x_58, x_78, x_57);
-x_80 = lean_ctor_get(x_79, 0);
-lean_inc(x_80);
-x_81 = lean_ctor_get(x_79, 2);
-lean_inc(x_81);
-x_82 = lean_ctor_get(x_79, 3);
-lean_inc(x_82);
-x_48 = x_79;
-x_49 = x_80;
-x_50 = x_81;
-x_51 = x_82;
-goto block_54;
-}
-}
-else
-{
-lean_object* x_83; lean_object* x_84; lean_object* x_85;
-lean_dec(x_56);
-x_83 = lean_ctor_get(x_55, 0);
-lean_inc(x_83);
-x_84 = lean_ctor_get(x_55, 2);
-lean_inc(x_84);
-x_85 = lean_ctor_get(x_55, 3);
-lean_inc(x_85);
-x_48 = x_55;
-x_49 = x_83;
-x_50 = x_84;
-x_51 = x_85;
-goto block_54;
-}
-block_47:
-{
-lean_object* x_13;
+x_12 = l_Lean_Parser_optionalFn(x_11, x_1, x_7);
x_13 = lean_ctor_get(x_12, 3);
lean_inc(x_13);
if (lean_obj_tag(x_13) == 0)
{
-lean_object* x_14; lean_object* x_15; lean_object* x_16;
-lean_dec(x_10);
-x_14 = l_Lean_nullKind;
-lean_inc(x_11);
-x_15 = l_Lean_Parser_ParserState_mkNode(x_12, x_14, x_11);
-x_16 = lean_ctor_get(x_15, 3);
-lean_inc(x_16);
-if (lean_obj_tag(x_16) == 0)
-{
-lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
-x_17 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_18 = lean_unsigned_to_nat(0u);
-x_19 = l_Lean_Parser_categoryParser___elambda__1(x_17, x_18, x_1, x_15);
-x_20 = l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__2;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_11);
-return x_21;
+lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
+x_14 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_15 = lean_unsigned_to_nat(0u);
+x_16 = l_Lean_Parser_categoryParser___elambda__1(x_14, x_15, x_1, x_12);
+x_17 = l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__2;
+x_18 = l_Lean_Parser_ParserState_mkNode(x_16, x_17, x_10);
+return x_18;
}
else
{
-lean_object* x_22; lean_object* x_23;
-lean_dec(x_16);
-lean_dec(x_1);
-x_22 = l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__2;
-x_23 = l_Lean_Parser_ParserState_mkNode(x_15, x_22, x_11);
-return x_23;
-}
-}
-else
-{
-lean_object* x_24; uint8_t x_25;
+lean_object* x_19; lean_object* x_20;
lean_dec(x_13);
-x_24 = lean_ctor_get(x_12, 1);
-lean_inc(x_24);
-x_25 = lean_nat_dec_eq(x_24, x_10);
-lean_dec(x_24);
-if (x_25 == 0)
-{
-lean_object* x_26; lean_object* x_27; lean_object* x_28;
-lean_dec(x_10);
-x_26 = l_Lean_nullKind;
-lean_inc(x_11);
-x_27 = l_Lean_Parser_ParserState_mkNode(x_12, x_26, x_11);
-x_28 = lean_ctor_get(x_27, 3);
-lean_inc(x_28);
-if (lean_obj_tag(x_28) == 0)
-{
-lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
-x_29 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_30 = lean_unsigned_to_nat(0u);
-x_31 = l_Lean_Parser_categoryParser___elambda__1(x_29, x_30, x_1, x_27);
-x_32 = l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__2;
-x_33 = l_Lean_Parser_ParserState_mkNode(x_31, x_32, x_11);
-return x_33;
-}
-else
-{
-lean_object* x_34; lean_object* x_35;
-lean_dec(x_28);
lean_dec(x_1);
-x_34 = l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__2;
-x_35 = l_Lean_Parser_ParserState_mkNode(x_27, x_34, x_11);
-return x_35;
-}
-}
-else
-{
-lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_36 = l_Lean_Parser_ParserState_restore(x_12, x_11, x_10);
-x_37 = l_Lean_nullKind;
-lean_inc(x_11);
-x_38 = l_Lean_Parser_ParserState_mkNode(x_36, x_37, x_11);
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
-x_40 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_41 = lean_unsigned_to_nat(0u);
-x_42 = l_Lean_Parser_categoryParser___elambda__1(x_40, x_41, x_1, x_38);
-x_43 = l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__2;
-x_44 = l_Lean_Parser_ParserState_mkNode(x_42, x_43, x_11);
-return x_44;
-}
-else
-{
-lean_object* x_45; lean_object* x_46;
-lean_dec(x_39);
-lean_dec(x_1);
-x_45 = l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__2;
-x_46 = l_Lean_Parser_ParserState_mkNode(x_38, x_45, x_11);
-return x_46;
-}
-}
-}
-}
-block_54:
-{
-if (lean_obj_tag(x_51) == 0)
-{
-lean_dec(x_50);
-lean_dec(x_49);
-x_12 = x_48;
-goto block_47;
-}
-else
-{
-lean_object* x_52; lean_object* x_53;
-lean_dec(x_48);
-x_52 = l_Array_shrink___main___rarg(x_49, x_11);
-lean_inc(x_10);
-x_53 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_53, 0, x_52);
-lean_ctor_set(x_53, 1, x_10);
-lean_ctor_set(x_53, 2, x_50);
-lean_ctor_set(x_53, 3, x_51);
-x_12 = x_53;
-goto block_47;
-}
+x_19 = l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__2;
+x_20 = l_Lean_Parser_ParserState_mkNode(x_12, x_19, x_10);
+return x_20;
}
}
else
@@ -20505,335 +15747,11 @@ return x_7;
}
else
{
-lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90;
-x_86 = lean_ctor_get(x_2, 0);
-lean_inc(x_86);
-x_87 = lean_array_get_size(x_86);
-lean_dec(x_86);
-x_88 = lean_ctor_get(x_2, 1);
-lean_inc(x_88);
-lean_inc(x_1);
-x_89 = lean_apply_2(x_4, x_1, x_2);
-x_90 = lean_ctor_get(x_89, 3);
-lean_inc(x_90);
-if (lean_obj_tag(x_90) == 0)
-{
-lean_dec(x_88);
-lean_dec(x_87);
-lean_dec(x_1);
-return x_89;
-}
-else
-{
-lean_object* x_91; lean_object* x_92; uint8_t x_93;
-x_91 = lean_ctor_get(x_90, 0);
-lean_inc(x_91);
-lean_dec(x_90);
-x_92 = lean_ctor_get(x_89, 1);
-lean_inc(x_92);
-x_93 = lean_nat_dec_eq(x_92, x_88);
-lean_dec(x_92);
-if (x_93 == 0)
-{
-lean_dec(x_91);
-lean_dec(x_88);
-lean_dec(x_87);
-lean_dec(x_1);
-return x_89;
-}
-else
-{
-lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97;
-lean_inc(x_88);
-x_94 = l_Lean_Parser_ParserState_restore(x_89, x_87, x_88);
-lean_dec(x_87);
-x_95 = lean_unsigned_to_nat(1024u);
-x_96 = l_Lean_Parser_checkPrecFn(x_95, x_1, x_94);
-x_97 = lean_ctor_get(x_96, 3);
-lean_inc(x_97);
-if (lean_obj_tag(x_97) == 0)
-{
-lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_156; lean_object* x_157;
-x_98 = lean_ctor_get(x_96, 0);
-lean_inc(x_98);
-x_99 = lean_ctor_get(x_96, 1);
-lean_inc(x_99);
-x_100 = lean_array_get_size(x_98);
-lean_dec(x_98);
-lean_inc(x_1);
-x_156 = l_Lean_Parser_ident___elambda__1(x_1, x_96);
-x_157 = lean_ctor_get(x_156, 3);
-lean_inc(x_157);
-if (lean_obj_tag(x_157) == 0)
-{
-lean_object* x_158; lean_object* x_159; lean_object* x_160;
-x_158 = lean_ctor_get(x_156, 1);
-lean_inc(x_158);
-lean_inc(x_1);
-x_159 = l_Lean_Parser_tokenFn(x_1, x_156);
-x_160 = lean_ctor_get(x_159, 3);
-lean_inc(x_160);
-if (lean_obj_tag(x_160) == 0)
-{
-lean_object* x_161; lean_object* x_162;
-x_161 = lean_ctor_get(x_159, 0);
-lean_inc(x_161);
-x_162 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_161);
-lean_dec(x_161);
-if (lean_obj_tag(x_162) == 2)
-{
-lean_object* x_163; lean_object* x_164; uint8_t x_165;
-x_163 = lean_ctor_get(x_162, 1);
-lean_inc(x_163);
-lean_dec(x_162);
-x_164 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__3;
-x_165 = lean_string_dec_eq(x_163, x_164);
-lean_dec(x_163);
-if (x_165 == 0)
-{
-lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170;
-x_166 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-x_167 = l_Lean_Parser_ParserState_mkErrorsAt(x_159, x_166, x_158);
-x_168 = lean_ctor_get(x_167, 0);
-lean_inc(x_168);
-x_169 = lean_ctor_get(x_167, 2);
-lean_inc(x_169);
-x_170 = lean_ctor_get(x_167, 3);
-lean_inc(x_170);
-x_149 = x_167;
-x_150 = x_168;
-x_151 = x_169;
-x_152 = x_170;
-goto block_155;
-}
-else
-{
-lean_object* x_171; lean_object* x_172; lean_object* x_173;
-lean_dec(x_158);
-x_171 = lean_ctor_get(x_159, 0);
-lean_inc(x_171);
-x_172 = lean_ctor_get(x_159, 2);
-lean_inc(x_172);
-x_173 = lean_ctor_get(x_159, 3);
-lean_inc(x_173);
-x_149 = x_159;
-x_150 = x_171;
-x_151 = x_172;
-x_152 = x_173;
-goto block_155;
-}
-}
-else
-{
-lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178;
-lean_dec(x_162);
-x_174 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-x_175 = l_Lean_Parser_ParserState_mkErrorsAt(x_159, x_174, x_158);
-x_176 = lean_ctor_get(x_175, 0);
-lean_inc(x_176);
-x_177 = lean_ctor_get(x_175, 2);
-lean_inc(x_177);
-x_178 = lean_ctor_get(x_175, 3);
-lean_inc(x_178);
-x_149 = x_175;
-x_150 = x_176;
-x_151 = x_177;
-x_152 = x_178;
-goto block_155;
-}
-}
-else
-{
-lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183;
-lean_dec(x_160);
-x_179 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-x_180 = l_Lean_Parser_ParserState_mkErrorsAt(x_159, x_179, x_158);
-x_181 = lean_ctor_get(x_180, 0);
-lean_inc(x_181);
-x_182 = lean_ctor_get(x_180, 2);
-lean_inc(x_182);
-x_183 = lean_ctor_get(x_180, 3);
-lean_inc(x_183);
-x_149 = x_180;
-x_150 = x_181;
-x_151 = x_182;
-x_152 = x_183;
-goto block_155;
-}
-}
-else
-{
-lean_object* x_184; lean_object* x_185; lean_object* x_186;
-lean_dec(x_157);
-x_184 = lean_ctor_get(x_156, 0);
-lean_inc(x_184);
-x_185 = lean_ctor_get(x_156, 2);
-lean_inc(x_185);
-x_186 = lean_ctor_get(x_156, 3);
-lean_inc(x_186);
-x_149 = x_156;
-x_150 = x_184;
-x_151 = x_185;
-x_152 = x_186;
-goto block_155;
-}
-block_148:
-{
-lean_object* x_102;
-x_102 = lean_ctor_get(x_101, 3);
-lean_inc(x_102);
-if (lean_obj_tag(x_102) == 0)
-{
-lean_object* x_103; lean_object* x_104; lean_object* x_105;
-lean_dec(x_99);
-x_103 = l_Lean_nullKind;
-lean_inc(x_100);
-x_104 = l_Lean_Parser_ParserState_mkNode(x_101, x_103, x_100);
-x_105 = lean_ctor_get(x_104, 3);
-lean_inc(x_105);
-if (lean_obj_tag(x_105) == 0)
-{
-lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; uint8_t x_111; lean_object* x_112;
-x_106 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_107 = lean_unsigned_to_nat(0u);
-x_108 = l_Lean_Parser_categoryParser___elambda__1(x_106, x_107, x_1, x_104);
-x_109 = l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__2;
-x_110 = l_Lean_Parser_ParserState_mkNode(x_108, x_109, x_100);
-x_111 = 1;
-x_112 = l_Lean_Parser_mergeOrElseErrors(x_110, x_91, x_88, x_111);
-lean_dec(x_88);
-return x_112;
-}
-else
-{
-lean_object* x_113; lean_object* x_114; uint8_t x_115; lean_object* x_116;
-lean_dec(x_105);
-lean_dec(x_1);
-x_113 = l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__2;
-x_114 = l_Lean_Parser_ParserState_mkNode(x_104, x_113, x_100);
-x_115 = 1;
-x_116 = l_Lean_Parser_mergeOrElseErrors(x_114, x_91, x_88, x_115);
-lean_dec(x_88);
-return x_116;
-}
-}
-else
-{
-lean_object* x_117; uint8_t x_118;
-lean_dec(x_102);
-x_117 = lean_ctor_get(x_101, 1);
-lean_inc(x_117);
-x_118 = lean_nat_dec_eq(x_117, x_99);
-lean_dec(x_117);
-if (x_118 == 0)
-{
-lean_object* x_119; lean_object* x_120; lean_object* x_121;
-lean_dec(x_99);
-x_119 = l_Lean_nullKind;
-lean_inc(x_100);
-x_120 = l_Lean_Parser_ParserState_mkNode(x_101, x_119, x_100);
-x_121 = lean_ctor_get(x_120, 3);
-lean_inc(x_121);
-if (lean_obj_tag(x_121) == 0)
-{
-lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; uint8_t x_127; lean_object* x_128;
-x_122 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_123 = lean_unsigned_to_nat(0u);
-x_124 = l_Lean_Parser_categoryParser___elambda__1(x_122, x_123, x_1, x_120);
-x_125 = l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__2;
-x_126 = l_Lean_Parser_ParserState_mkNode(x_124, x_125, x_100);
-x_127 = 1;
-x_128 = l_Lean_Parser_mergeOrElseErrors(x_126, x_91, x_88, x_127);
-lean_dec(x_88);
-return x_128;
-}
-else
-{
-lean_object* x_129; lean_object* x_130; uint8_t x_131; lean_object* x_132;
-lean_dec(x_121);
-lean_dec(x_1);
-x_129 = l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__2;
-x_130 = l_Lean_Parser_ParserState_mkNode(x_120, x_129, x_100);
-x_131 = 1;
-x_132 = l_Lean_Parser_mergeOrElseErrors(x_130, x_91, x_88, x_131);
-lean_dec(x_88);
-return x_132;
-}
-}
-else
-{
-lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136;
-x_133 = l_Lean_Parser_ParserState_restore(x_101, x_100, x_99);
-x_134 = l_Lean_nullKind;
-lean_inc(x_100);
-x_135 = l_Lean_Parser_ParserState_mkNode(x_133, x_134, x_100);
-x_136 = lean_ctor_get(x_135, 3);
-lean_inc(x_136);
-if (lean_obj_tag(x_136) == 0)
-{
-lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; uint8_t x_142; lean_object* x_143;
-x_137 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_138 = lean_unsigned_to_nat(0u);
-x_139 = l_Lean_Parser_categoryParser___elambda__1(x_137, x_138, x_1, x_135);
-x_140 = l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__2;
-x_141 = l_Lean_Parser_ParserState_mkNode(x_139, x_140, x_100);
-x_142 = 1;
-x_143 = l_Lean_Parser_mergeOrElseErrors(x_141, x_91, x_88, x_142);
-lean_dec(x_88);
-return x_143;
-}
-else
-{
-lean_object* x_144; lean_object* x_145; uint8_t x_146; lean_object* x_147;
-lean_dec(x_136);
-lean_dec(x_1);
-x_144 = l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__2;
-x_145 = l_Lean_Parser_ParserState_mkNode(x_135, x_144, x_100);
-x_146 = 1;
-x_147 = l_Lean_Parser_mergeOrElseErrors(x_145, x_91, x_88, x_146);
-lean_dec(x_88);
-return x_147;
-}
-}
-}
-}
-block_155:
-{
-if (lean_obj_tag(x_152) == 0)
-{
-lean_dec(x_151);
-lean_dec(x_150);
-x_101 = x_149;
-goto block_148;
-}
-else
-{
-lean_object* x_153; lean_object* x_154;
-lean_dec(x_149);
-x_153 = l_Array_shrink___main___rarg(x_150, x_100);
-lean_inc(x_99);
-x_154 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_154, 0, x_153);
-lean_ctor_set(x_154, 1, x_99);
-lean_ctor_set(x_154, 2, x_151);
-lean_ctor_set(x_154, 3, x_152);
-x_101 = x_154;
-goto block_148;
-}
-}
-}
-else
-{
-uint8_t x_187; lean_object* x_188;
-lean_dec(x_97);
-lean_dec(x_1);
-x_187 = 1;
-x_188 = l_Lean_Parser_mergeOrElseErrors(x_96, x_91, x_88, x_187);
-lean_dec(x_88);
-return x_188;
-}
-}
-}
+lean_object* x_21; uint8_t x_22; lean_object* x_23;
+x_21 = l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__7;
+x_22 = 1;
+x_23 = l_Lean_Parser_orelseFnCore(x_4, x_21, x_22, x_1, x_2);
+return x_23;
}
}
}
@@ -20909,113 +15827,29 @@ x_1 = l_Lean_Parser_Tactic_majorPremise___closed__6;
return x_1;
}
}
+static lean_object* _init_l_Lean_Parser_Tactic_altRHS___elambda__1___closed__1() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
+x_1 = l_Lean_Parser_Tactic_tacticSeq;
+x_2 = lean_ctor_get(x_1, 1);
+lean_inc(x_2);
+x_3 = l_Lean_Parser_Term_syntheticHole___closed__7;
+x_4 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_4, 0, x_3);
+lean_closure_set(x_4, 1, x_2);
+return x_4;
+}
+}
lean_object* l_Lean_Parser_Tactic_altRHS___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-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_3 = l_Lean_Parser_Tactic_tacticSeq;
-x_4 = lean_ctor_get(x_3, 1);
-lean_inc(x_4);
-x_5 = lean_ctor_get(x_2, 0);
-lean_inc(x_5);
-x_6 = lean_array_get_size(x_5);
-lean_dec(x_5);
-x_7 = lean_ctor_get(x_2, 1);
-lean_inc(x_7);
-lean_inc(x_1);
-x_8 = l_Lean_Parser_Term_hole___elambda__1(x_1, x_2);
-x_9 = lean_ctor_get(x_8, 3);
-lean_inc(x_9);
-if (lean_obj_tag(x_9) == 0)
-{
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_8;
-}
-else
-{
-lean_object* x_10; lean_object* x_11; uint8_t x_12;
-x_10 = lean_ctor_get(x_9, 0);
-lean_inc(x_10);
-lean_dec(x_9);
-x_11 = lean_ctor_get(x_8, 1);
-lean_inc(x_11);
-x_12 = lean_nat_dec_eq(x_11, x_7);
-lean_dec(x_11);
-if (x_12 == 0)
-{
-lean_dec(x_10);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_8;
-}
-else
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
-lean_inc(x_7);
-x_13 = l_Lean_Parser_ParserState_restore(x_8, x_6, x_7);
-lean_dec(x_6);
-x_14 = lean_ctor_get(x_13, 0);
-lean_inc(x_14);
-x_15 = lean_array_get_size(x_14);
-lean_dec(x_14);
-lean_inc(x_1);
-x_16 = l_Lean_Parser_Term_syntheticHole___elambda__1(x_1, x_13);
-x_17 = lean_ctor_get(x_16, 3);
-lean_inc(x_17);
-if (lean_obj_tag(x_17) == 0)
-{
-uint8_t x_18; lean_object* x_19;
-lean_dec(x_15);
-lean_dec(x_4);
-lean_dec(x_1);
-x_18 = 1;
-x_19 = l_Lean_Parser_mergeOrElseErrors(x_16, x_10, x_7, x_18);
-lean_dec(x_7);
-return x_19;
-}
-else
-{
-lean_object* x_20; lean_object* x_21; uint8_t x_22;
-x_20 = lean_ctor_get(x_17, 0);
-lean_inc(x_20);
-lean_dec(x_17);
-x_21 = lean_ctor_get(x_16, 1);
-lean_inc(x_21);
-x_22 = lean_nat_dec_eq(x_21, x_7);
-lean_dec(x_21);
-if (x_22 == 0)
-{
-uint8_t x_23; lean_object* x_24;
-lean_dec(x_20);
-lean_dec(x_15);
-lean_dec(x_4);
-lean_dec(x_1);
-x_23 = 1;
-x_24 = l_Lean_Parser_mergeOrElseErrors(x_16, x_10, x_7, x_23);
-lean_dec(x_7);
-return x_24;
-}
-else
-{
-lean_object* x_25; lean_object* x_26; uint8_t x_27; lean_object* x_28; lean_object* x_29;
-lean_inc(x_7);
-x_25 = l_Lean_Parser_ParserState_restore(x_16, x_15, x_7);
-lean_dec(x_15);
-x_26 = lean_apply_2(x_4, x_1, x_25);
-x_27 = 1;
-x_28 = l_Lean_Parser_mergeOrElseErrors(x_26, x_20, x_7, x_27);
-x_29 = l_Lean_Parser_mergeOrElseErrors(x_28, x_10, x_7, x_27);
-lean_dec(x_7);
-return x_29;
-}
-}
-}
-}
+lean_object* x_3; lean_object* x_4; uint8_t x_5; lean_object* x_6;
+x_3 = l_Lean_Parser_Term_hole___closed__4;
+x_4 = l_Lean_Parser_Tactic_altRHS___elambda__1___closed__1;
+x_5 = 1;
+x_6 = l_Lean_Parser_orelseFnCore(x_3, x_4, x_5, x_1, x_2);
+return x_6;
}
}
static lean_object* _init_l_Lean_Parser_Tactic_altRHS___closed__1() {
@@ -21214,400 +16048,201 @@ x_1 = l_Lean_Parser_Tactic_inductionAlt___closed__12;
return x_1;
}
}
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_inductionAlts___elambda__1___spec__2(uint8_t x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5) {
+static lean_object* _init_l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__1() {
_start:
{
-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;
-x_6 = l_Lean_Parser_Tactic_inductionAlt;
-x_7 = lean_ctor_get(x_6, 1);
-lean_inc(x_7);
-x_8 = lean_ctor_get(x_5, 0);
-lean_inc(x_8);
-x_9 = lean_array_get_size(x_8);
-lean_dec(x_8);
-x_10 = lean_ctor_get(x_5, 1);
-lean_inc(x_10);
-lean_inc(x_4);
-x_11 = lean_apply_2(x_7, x_4, x_5);
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_23; lean_object* x_40;
-lean_dec(x_10);
-lean_dec(x_9);
-x_13 = lean_ctor_get(x_11, 0);
-lean_inc(x_13);
-x_14 = lean_array_get_size(x_13);
-lean_dec(x_13);
-x_15 = lean_ctor_get(x_11, 1);
-lean_inc(x_15);
-x_40 = lean_ctor_get(x_4, 4);
-lean_inc(x_40);
-if (lean_obj_tag(x_40) == 0)
-{
-x_23 = x_11;
-goto block_39;
-}
-else
-{
-lean_object* x_41; 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_41 = lean_ctor_get(x_40, 0);
-lean_inc(x_41);
-lean_dec(x_40);
-x_42 = lean_ctor_get(x_4, 0);
-lean_inc(x_42);
-x_43 = lean_ctor_get(x_42, 2);
-lean_inc(x_43);
-lean_dec(x_42);
-lean_inc(x_15);
-x_44 = l_Lean_FileMap_toPosition(x_43, x_15);
-lean_dec(x_43);
-x_45 = lean_ctor_get(x_41, 1);
-lean_inc(x_45);
-lean_dec(x_41);
-x_46 = lean_ctor_get(x_44, 1);
-lean_inc(x_46);
-lean_dec(x_44);
-x_47 = lean_nat_dec_le(x_45, x_46);
-lean_dec(x_46);
-lean_dec(x_45);
-if (x_47 == 0)
-{
-lean_object* x_48; lean_object* x_49;
-x_48 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__6;
-x_49 = l_Lean_Parser_ParserState_mkError(x_11, x_48);
-x_23 = x_49;
-goto block_39;
-}
-else
-{
-x_23 = x_11;
-goto block_39;
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_matchAlts___closed__2;
+x_2 = l_Lean_Parser_Tactic_intro___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
}
}
-block_22:
-{
-lean_object* x_17;
-x_17 = lean_ctor_get(x_16, 3);
-lean_inc(x_17);
-if (lean_obj_tag(x_17) == 0)
-{
-lean_dec(x_15);
-lean_dec(x_14);
-{
-uint8_t _tmp_2 = x_1;
-lean_object* _tmp_4 = x_16;
-x_3 = _tmp_2;
-x_5 = _tmp_4;
-}
-goto _start;
-}
-else
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21;
-lean_dec(x_17);
-lean_dec(x_4);
-x_19 = l_Lean_Parser_ParserState_restore(x_16, x_14, x_15);
-lean_dec(x_14);
-x_20 = l_Lean_nullKind;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_2);
-return x_21;
-}
-}
-block_39:
-{
-lean_object* x_24;
-x_24 = lean_ctor_get(x_23, 3);
-lean_inc(x_24);
-if (lean_obj_tag(x_24) == 0)
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27;
-x_25 = lean_ctor_get(x_23, 1);
-lean_inc(x_25);
-lean_inc(x_4);
-x_26 = l_Lean_Parser_tokenFn(x_4, x_23);
-x_27 = lean_ctor_get(x_26, 3);
-lean_inc(x_27);
-if (lean_obj_tag(x_27) == 0)
-{
-lean_object* x_28; lean_object* x_29;
-x_28 = lean_ctor_get(x_26, 0);
-lean_inc(x_28);
-x_29 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_28);
-lean_dec(x_28);
-if (lean_obj_tag(x_29) == 2)
-{
-lean_object* x_30; lean_object* x_31; uint8_t x_32;
-x_30 = lean_ctor_get(x_29, 1);
-lean_inc(x_30);
-lean_dec(x_29);
-x_31 = l_Lean_Parser_Tactic_intro___elambda__1___closed__8;
-x_32 = lean_string_dec_eq(x_30, x_31);
-lean_dec(x_30);
-if (x_32 == 0)
-{
-lean_object* x_33; lean_object* x_34;
-x_33 = l_Lean_Parser_Tactic_intro___elambda__1___closed__14;
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_26, x_33, x_25);
-x_16 = x_34;
-goto block_22;
-}
-else
-{
-lean_dec(x_25);
-x_16 = x_26;
-goto block_22;
-}
-}
-else
-{
-lean_object* x_35; lean_object* x_36;
-lean_dec(x_29);
-x_35 = l_Lean_Parser_Tactic_intro___elambda__1___closed__14;
-x_36 = l_Lean_Parser_ParserState_mkErrorsAt(x_26, x_35, x_25);
-x_16 = x_36;
-goto block_22;
-}
-}
-else
-{
-lean_object* x_37; lean_object* x_38;
-lean_dec(x_27);
-x_37 = l_Lean_Parser_Tactic_intro___elambda__1___closed__14;
-x_38 = l_Lean_Parser_ParserState_mkErrorsAt(x_26, x_37, x_25);
-x_16 = x_38;
-goto block_22;
-}
-}
-else
-{
-lean_dec(x_24);
-x_16 = x_23;
-goto block_22;
-}
-}
-}
-else
-{
-lean_object* x_50; uint8_t x_51;
-lean_dec(x_12);
-lean_dec(x_4);
-x_50 = lean_ctor_get(x_11, 1);
-lean_inc(x_50);
-x_51 = lean_nat_dec_lt(x_10, x_50);
-lean_dec(x_50);
-if (x_51 == 0)
-{
-if (x_3 == 0)
-{
-lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55;
-lean_dec(x_10);
-lean_dec(x_9);
-x_52 = lean_box(0);
-x_53 = l_Lean_Parser_ParserState_pushSyntax(x_11, x_52);
-x_54 = l_Lean_nullKind;
-x_55 = l_Lean_Parser_ParserState_mkNode(x_53, x_54, x_2);
-return x_55;
-}
-else
-{
-lean_object* x_56; lean_object* x_57; lean_object* x_58;
-x_56 = l_Lean_Parser_ParserState_restore(x_11, x_9, x_10);
-lean_dec(x_9);
-x_57 = l_Lean_nullKind;
-x_58 = l_Lean_Parser_ParserState_mkNode(x_56, x_57, x_2);
-return x_58;
-}
-}
-else
-{
-lean_dec(x_10);
-lean_dec(x_9);
-lean_dec(x_2);
-return x_11;
-}
-}
-}
-}
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Tactic_inductionAlts___elambda__1___spec__1(uint8_t x_1, lean_object* x_2, lean_object* x_3) {
+static lean_object* _init_l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__2() {
_start:
{
-lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
-x_4 = lean_ctor_get(x_3, 0);
-lean_inc(x_4);
-x_5 = lean_array_get_size(x_4);
-lean_dec(x_4);
-x_6 = 0;
-x_7 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_inductionAlts___elambda__1___spec__2(x_1, x_5, x_6, x_2, x_3);
-return x_7;
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_matchAlts___closed__4;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__3() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__2;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
}
}
lean_object* l_Lean_Parser_Tactic_inductionAlts___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-uint8_t x_3;
-x_3 = !lean_is_exclusive(x_1);
-if (x_3 == 0)
-{
-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_3; lean_object* x_4; lean_object* x_5; uint8_t x_6;
+x_3 = l_Lean_Parser_Tactic_inductionAlt;
x_4 = lean_ctor_get(x_1, 0);
-x_5 = lean_ctor_get(x_1, 4);
-lean_dec(x_5);
-x_6 = lean_ctor_get(x_4, 2);
-lean_inc(x_6);
-x_7 = lean_ctor_get(x_2, 1);
-lean_inc(x_7);
-lean_inc(x_7);
-x_8 = l_Lean_FileMap_toPosition(x_6, x_7);
-lean_dec(x_6);
-x_9 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_9, 0, x_8);
-lean_ctor_set(x_1, 4, x_9);
-lean_inc(x_1);
-x_10 = l_Lean_Parser_tokenFn(x_1, x_2);
-x_11 = lean_ctor_get(x_10, 3);
-lean_inc(x_11);
-if (lean_obj_tag(x_11) == 0)
+lean_inc(x_4);
+x_5 = lean_ctor_get(x_3, 1);
+lean_inc(x_5);
+x_6 = !lean_is_exclusive(x_1);
+if (x_6 == 0)
{
-lean_object* x_12; lean_object* x_13;
-x_12 = lean_ctor_get(x_10, 0);
-lean_inc(x_12);
-x_13 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_12);
-lean_dec(x_12);
-if (lean_obj_tag(x_13) == 2)
-{
-lean_object* x_14; lean_object* x_15; uint8_t x_16;
-x_14 = lean_ctor_get(x_13, 1);
-lean_inc(x_14);
-lean_dec(x_13);
-x_15 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__2;
-x_16 = lean_string_dec_eq(x_14, x_15);
-lean_dec(x_14);
-if (x_16 == 0)
-{
-lean_object* x_17; lean_object* x_18;
-lean_dec(x_1);
-x_17 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__5;
-x_18 = l_Lean_Parser_ParserState_mkErrorsAt(x_10, x_17, x_7);
-return x_18;
-}
-else
-{
-uint8_t x_19; lean_object* x_20;
+lean_object* x_7; lean_object* x_8; uint8_t x_9;
+x_7 = lean_ctor_get(x_1, 4);
lean_dec(x_7);
-x_19 = 0;
-x_20 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Tactic_inductionAlts___elambda__1___spec__1(x_19, x_1, x_10);
+x_8 = lean_ctor_get(x_1, 0);
+lean_dec(x_8);
+x_9 = !lean_is_exclusive(x_4);
+if (x_9 == 0)
+{
+lean_object* x_10; lean_object* 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;
+x_10 = lean_ctor_get(x_4, 2);
+x_11 = lean_ctor_get(x_2, 1);
+lean_inc(x_11);
+x_12 = l_Lean_FileMap_toPosition(x_10, x_11);
+x_13 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_13, 0, x_12);
+lean_ctor_set(x_1, 4, x_13);
+x_14 = l_Lean_Parser_Term_matchAlts___closed__4;
+x_15 = l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__3;
+lean_inc(x_1);
+x_16 = l_Lean_Parser_symbolFnAux(x_14, x_15, x_1, x_2);
+x_17 = lean_ctor_get(x_16, 3);
+lean_inc(x_17);
+if (lean_obj_tag(x_17) == 0)
+{
+uint8_t x_18; lean_object* x_19; lean_object* x_20;
+x_18 = 0;
+x_19 = l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__1;
+x_20 = l_Lean_Parser_sepBy1Fn(x_18, x_5, x_19, x_1, x_16);
return x_20;
}
-}
else
{
-lean_object* x_21; lean_object* x_22;
-lean_dec(x_13);
+lean_dec(x_17);
lean_dec(x_1);
-x_21 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__5;
-x_22 = l_Lean_Parser_ParserState_mkErrorsAt(x_10, x_21, x_7);
-return x_22;
+lean_dec(x_5);
+return x_16;
}
}
else
{
-lean_object* x_23; lean_object* x_24;
-lean_dec(x_11);
-lean_dec(x_1);
-x_23 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__5;
-x_24 = l_Lean_Parser_ParserState_mkErrorsAt(x_10, x_23, x_7);
-return x_24;
-}
-}
-else
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t 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;
-x_25 = lean_ctor_get(x_1, 0);
-x_26 = lean_ctor_get(x_1, 1);
-x_27 = lean_ctor_get(x_1, 2);
-x_28 = lean_ctor_get(x_1, 3);
-x_29 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
-x_30 = lean_ctor_get(x_1, 5);
-lean_inc(x_30);
-lean_inc(x_28);
-lean_inc(x_27);
-lean_inc(x_26);
-lean_inc(x_25);
-lean_dec(x_1);
-x_31 = lean_ctor_get(x_25, 2);
+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;
+x_21 = lean_ctor_get(x_4, 0);
+x_22 = lean_ctor_get(x_4, 1);
+x_23 = lean_ctor_get(x_4, 2);
+lean_inc(x_23);
+lean_inc(x_22);
+lean_inc(x_21);
+lean_dec(x_4);
+x_24 = lean_ctor_get(x_2, 1);
+lean_inc(x_24);
+x_25 = l_Lean_FileMap_toPosition(x_23, x_24);
+x_26 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_26, 0, x_21);
+lean_ctor_set(x_26, 1, x_22);
+lean_ctor_set(x_26, 2, x_23);
+x_27 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_27, 0, x_25);
+lean_ctor_set(x_1, 4, x_27);
+lean_ctor_set(x_1, 0, x_26);
+x_28 = l_Lean_Parser_Term_matchAlts___closed__4;
+x_29 = l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__3;
+lean_inc(x_1);
+x_30 = l_Lean_Parser_symbolFnAux(x_28, x_29, x_1, x_2);
+x_31 = lean_ctor_get(x_30, 3);
lean_inc(x_31);
-x_32 = lean_ctor_get(x_2, 1);
-lean_inc(x_32);
-lean_inc(x_32);
-x_33 = l_Lean_FileMap_toPosition(x_31, x_32);
+if (lean_obj_tag(x_31) == 0)
+{
+uint8_t x_32; lean_object* x_33; lean_object* x_34;
+x_32 = 0;
+x_33 = l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__1;
+x_34 = l_Lean_Parser_sepBy1Fn(x_32, x_5, x_33, x_1, x_30);
+return x_34;
+}
+else
+{
lean_dec(x_31);
-x_34 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_34, 0, x_33);
-x_35 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_35, 0, x_25);
-lean_ctor_set(x_35, 1, x_26);
-lean_ctor_set(x_35, 2, x_27);
-lean_ctor_set(x_35, 3, x_28);
-lean_ctor_set(x_35, 4, x_34);
-lean_ctor_set(x_35, 5, x_30);
-lean_ctor_set_uint8(x_35, sizeof(void*)*6, x_29);
-lean_inc(x_35);
-x_36 = l_Lean_Parser_tokenFn(x_35, x_2);
-x_37 = lean_ctor_get(x_36, 3);
+lean_dec(x_1);
+lean_dec(x_5);
+return x_30;
+}
+}
+}
+else
+{
+lean_object* x_35; lean_object* x_36; lean_object* x_37; uint8_t 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;
+x_35 = lean_ctor_get(x_1, 1);
+x_36 = lean_ctor_get(x_1, 2);
+x_37 = lean_ctor_get(x_1, 3);
+x_38 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
+x_39 = lean_ctor_get(x_1, 5);
+lean_inc(x_39);
lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_object* x_38; lean_object* x_39;
-x_38 = lean_ctor_get(x_36, 0);
-lean_inc(x_38);
-x_39 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_38);
-lean_dec(x_38);
-if (lean_obj_tag(x_39) == 2)
-{
-lean_object* x_40; lean_object* x_41; uint8_t x_42;
-x_40 = lean_ctor_get(x_39, 1);
+lean_inc(x_36);
+lean_inc(x_35);
+lean_dec(x_1);
+x_40 = lean_ctor_get(x_4, 0);
lean_inc(x_40);
-lean_dec(x_39);
-x_41 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__2;
-x_42 = lean_string_dec_eq(x_40, x_41);
-lean_dec(x_40);
-if (x_42 == 0)
+x_41 = lean_ctor_get(x_4, 1);
+lean_inc(x_41);
+x_42 = lean_ctor_get(x_4, 2);
+lean_inc(x_42);
+if (lean_is_exclusive(x_4)) {
+ lean_ctor_release(x_4, 0);
+ lean_ctor_release(x_4, 1);
+ lean_ctor_release(x_4, 2);
+ x_43 = x_4;
+} else {
+ lean_dec_ref(x_4);
+ x_43 = lean_box(0);
+}
+x_44 = lean_ctor_get(x_2, 1);
+lean_inc(x_44);
+x_45 = l_Lean_FileMap_toPosition(x_42, x_44);
+if (lean_is_scalar(x_43)) {
+ x_46 = lean_alloc_ctor(0, 3, 0);
+} else {
+ x_46 = x_43;
+}
+lean_ctor_set(x_46, 0, x_40);
+lean_ctor_set(x_46, 1, x_41);
+lean_ctor_set(x_46, 2, x_42);
+x_47 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_47, 0, x_45);
+x_48 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_48, 0, x_46);
+lean_ctor_set(x_48, 1, x_35);
+lean_ctor_set(x_48, 2, x_36);
+lean_ctor_set(x_48, 3, x_37);
+lean_ctor_set(x_48, 4, x_47);
+lean_ctor_set(x_48, 5, x_39);
+lean_ctor_set_uint8(x_48, sizeof(void*)*6, x_38);
+x_49 = l_Lean_Parser_Term_matchAlts___closed__4;
+x_50 = l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__3;
+lean_inc(x_48);
+x_51 = l_Lean_Parser_symbolFnAux(x_49, x_50, x_48, x_2);
+x_52 = lean_ctor_get(x_51, 3);
+lean_inc(x_52);
+if (lean_obj_tag(x_52) == 0)
{
-lean_object* x_43; lean_object* x_44;
-lean_dec(x_35);
-x_43 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__5;
-x_44 = l_Lean_Parser_ParserState_mkErrorsAt(x_36, x_43, x_32);
-return x_44;
+uint8_t x_53; lean_object* x_54; lean_object* x_55;
+x_53 = 0;
+x_54 = l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__1;
+x_55 = l_Lean_Parser_sepBy1Fn(x_53, x_5, x_54, x_48, x_51);
+return x_55;
}
else
{
-uint8_t x_45; lean_object* x_46;
-lean_dec(x_32);
-x_45 = 0;
-x_46 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Tactic_inductionAlts___elambda__1___spec__1(x_45, x_35, x_36);
-return x_46;
-}
-}
-else
-{
-lean_object* x_47; lean_object* x_48;
-lean_dec(x_39);
-lean_dec(x_35);
-x_47 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__5;
-x_48 = l_Lean_Parser_ParserState_mkErrorsAt(x_36, x_47, x_32);
-return x_48;
-}
-}
-else
-{
-lean_object* x_49; lean_object* x_50;
-lean_dec(x_37);
-lean_dec(x_35);
-x_49 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__5;
-x_50 = l_Lean_Parser_ParserState_mkErrorsAt(x_36, x_49, x_32);
-return x_50;
+lean_dec(x_52);
+lean_dec(x_48);
+lean_dec(x_5);
+return x_51;
}
}
}
@@ -21616,7 +16251,7 @@ static lean_object* _init_l_Lean_Parser_Tactic_inductionAlts___closed__1() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Tactic_intro___elambda__1___closed__8;
+x_1 = l_Lean_Parser_Tactic_intro___elambda__1___closed__9;
x_2 = l_Lean_Parser_symbolInfo(x_1);
return x_2;
}
@@ -21647,7 +16282,7 @@ static lean_object* _init_l_Lean_Parser_Tactic_inductionAlts___closed__4() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_matchAlts___closed__1;
+x_1 = l_Lean_Parser_Term_matchAlts___closed__5;
x_2 = l_Lean_Parser_Tactic_inductionAlts___closed__3;
x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
return x_3;
@@ -21681,166 +16316,25 @@ x_1 = l_Lean_Parser_Tactic_inductionAlts___closed__6;
return x_1;
}
}
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_inductionAlts___elambda__1___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
+static lean_object* _init_l_Lean_Parser_Tactic_withAlts___elambda__1___closed__1() {
_start:
{
-uint8_t x_6; uint8_t x_7; lean_object* x_8;
-x_6 = lean_unbox(x_1);
-lean_dec(x_1);
-x_7 = lean_unbox(x_3);
-lean_dec(x_3);
-x_8 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_inductionAlts___elambda__1___spec__2(x_6, x_2, x_7, x_4, x_5);
-return x_8;
-}
-}
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Tactic_inductionAlts___elambda__1___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-uint8_t x_4; lean_object* x_5;
-x_4 = lean_unbox(x_1);
-lean_dec(x_1);
-x_5 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Tactic_inductionAlts___elambda__1___spec__1(x_4, x_2, x_3);
-return x_5;
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_structInst___elambda__1___closed__5;
+x_2 = l_Lean_Parser_Tactic_inductionAlts___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
}
}
lean_object* l_Lean_Parser_Tactic_withAlts___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_27; lean_object* x_28;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-lean_inc(x_1);
-x_27 = l_Lean_Parser_tokenFn(x_1, x_2);
-x_28 = lean_ctor_get(x_27, 3);
-lean_inc(x_28);
-if (lean_obj_tag(x_28) == 0)
-{
-lean_object* x_29; lean_object* x_30;
-x_29 = lean_ctor_get(x_27, 0);
-lean_inc(x_29);
-x_30 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_29);
-lean_dec(x_29);
-if (lean_obj_tag(x_30) == 2)
-{
-lean_object* x_31; lean_object* x_32; uint8_t x_33;
-x_31 = lean_ctor_get(x_30, 1);
-lean_inc(x_31);
-lean_dec(x_30);
-x_32 = l_Lean_Parser_Term_structInst___elambda__1___closed__4;
-x_33 = lean_string_dec_eq(x_31, x_32);
-lean_dec(x_31);
-if (x_33 == 0)
-{
-lean_object* x_34; lean_object* x_35;
-x_34 = l_Lean_Parser_Term_structInst___elambda__1___closed__16;
-lean_inc(x_5);
-x_35 = l_Lean_Parser_ParserState_mkErrorsAt(x_27, x_34, x_5);
-x_6 = x_35;
-goto block_26;
-}
-else
-{
-x_6 = x_27;
-goto block_26;
-}
-}
-else
-{
-lean_object* x_36; lean_object* x_37;
-lean_dec(x_30);
-x_36 = l_Lean_Parser_Term_structInst___elambda__1___closed__16;
-lean_inc(x_5);
-x_37 = l_Lean_Parser_ParserState_mkErrorsAt(x_27, x_36, x_5);
-x_6 = x_37;
-goto block_26;
-}
-}
-else
-{
-lean_object* x_38; lean_object* x_39;
-lean_dec(x_28);
-x_38 = l_Lean_Parser_Term_structInst___elambda__1___closed__16;
-lean_inc(x_5);
-x_39 = l_Lean_Parser_ParserState_mkErrorsAt(x_27, x_38, x_5);
-x_6 = x_39;
-goto block_26;
-}
-block_26:
-{
-lean_object* x_7;
-x_7 = lean_ctor_get(x_6, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
-{
-lean_object* x_8; lean_object* x_9;
-x_8 = l_Lean_Parser_Tactic_inductionAlts___elambda__1(x_1, x_6);
-x_9 = lean_ctor_get(x_8, 3);
-lean_inc(x_9);
-if (lean_obj_tag(x_9) == 0)
-{
-lean_object* x_10; lean_object* x_11;
-lean_dec(x_5);
-x_10 = l_Lean_nullKind;
-x_11 = l_Lean_Parser_ParserState_mkNode(x_8, x_10, x_4);
-return x_11;
-}
-else
-{
-lean_object* x_12; uint8_t x_13;
-lean_dec(x_9);
-x_12 = lean_ctor_get(x_8, 1);
-lean_inc(x_12);
-x_13 = lean_nat_dec_eq(x_12, x_5);
-lean_dec(x_12);
-if (x_13 == 0)
-{
-lean_object* x_14; lean_object* x_15;
-lean_dec(x_5);
-x_14 = l_Lean_nullKind;
-x_15 = l_Lean_Parser_ParserState_mkNode(x_8, x_14, x_4);
-return x_15;
-}
-else
-{
-lean_object* x_16; lean_object* x_17; lean_object* x_18;
-x_16 = l_Lean_Parser_ParserState_restore(x_8, x_4, x_5);
-x_17 = l_Lean_nullKind;
-x_18 = l_Lean_Parser_ParserState_mkNode(x_16, x_17, x_4);
-return x_18;
-}
-}
-}
-else
-{
-lean_object* x_19; uint8_t x_20;
-lean_dec(x_7);
-lean_dec(x_1);
-x_19 = lean_ctor_get(x_6, 1);
-lean_inc(x_19);
-x_20 = lean_nat_dec_eq(x_19, x_5);
-lean_dec(x_19);
-if (x_20 == 0)
-{
-lean_object* x_21; lean_object* x_22;
-lean_dec(x_5);
-x_21 = l_Lean_nullKind;
-x_22 = l_Lean_Parser_ParserState_mkNode(x_6, x_21, x_4);
-return x_22;
-}
-else
-{
-lean_object* x_23; lean_object* x_24; lean_object* x_25;
-x_23 = l_Lean_Parser_ParserState_restore(x_6, x_4, x_5);
-x_24 = l_Lean_nullKind;
-x_25 = l_Lean_Parser_ParserState_mkNode(x_23, x_24, x_4);
-return x_25;
-}
-}
-}
+lean_object* x_3; lean_object* x_4;
+x_3 = l_Lean_Parser_Tactic_withAlts___elambda__1___closed__1;
+x_4 = l_Lean_Parser_optionalFn(x_3, x_1, x_2);
+return x_4;
}
}
static lean_object* _init_l_Lean_Parser_Tactic_withAlts___closed__1() {
@@ -21912,11 +16406,11 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Tactic_usingRec___elambda__1___closed__3() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Tactic_usingRec___elambda__1___closed__2;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Tactic_usingRec___elambda__1___closed__2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Tactic_usingRec___elambda__1___closed__4() {
@@ -21924,161 +16418,20 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Tactic_usingRec___elambda__1___closed__3;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
-}
-}
-static lean_object* _init_l_Lean_Parser_Tactic_usingRec___elambda__1___closed__5() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Tactic_usingRec___elambda__1___closed__4;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_2 = l_Lean_Parser_ident___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
lean_object* l_Lean_Parser_Tactic_usingRec___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_27; lean_object* x_28;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-lean_inc(x_1);
-x_27 = l_Lean_Parser_tokenFn(x_1, x_2);
-x_28 = lean_ctor_get(x_27, 3);
-lean_inc(x_28);
-if (lean_obj_tag(x_28) == 0)
-{
-lean_object* x_29; lean_object* x_30;
-x_29 = lean_ctor_get(x_27, 0);
-lean_inc(x_29);
-x_30 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_29);
-lean_dec(x_29);
-if (lean_obj_tag(x_30) == 2)
-{
-lean_object* x_31; lean_object* x_32; uint8_t x_33;
-x_31 = lean_ctor_get(x_30, 1);
-lean_inc(x_31);
-lean_dec(x_30);
-x_32 = l_Lean_Parser_Tactic_usingRec___elambda__1___closed__2;
-x_33 = lean_string_dec_eq(x_31, x_32);
-lean_dec(x_31);
-if (x_33 == 0)
-{
-lean_object* x_34; lean_object* x_35;
-x_34 = l_Lean_Parser_Tactic_usingRec___elambda__1___closed__5;
-lean_inc(x_5);
-x_35 = l_Lean_Parser_ParserState_mkErrorsAt(x_27, x_34, x_5);
-x_6 = x_35;
-goto block_26;
-}
-else
-{
-x_6 = x_27;
-goto block_26;
-}
-}
-else
-{
-lean_object* x_36; lean_object* x_37;
-lean_dec(x_30);
-x_36 = l_Lean_Parser_Tactic_usingRec___elambda__1___closed__5;
-lean_inc(x_5);
-x_37 = l_Lean_Parser_ParserState_mkErrorsAt(x_27, x_36, x_5);
-x_6 = x_37;
-goto block_26;
-}
-}
-else
-{
-lean_object* x_38; lean_object* x_39;
-lean_dec(x_28);
-x_38 = l_Lean_Parser_Tactic_usingRec___elambda__1___closed__5;
-lean_inc(x_5);
-x_39 = l_Lean_Parser_ParserState_mkErrorsAt(x_27, x_38, x_5);
-x_6 = x_39;
-goto block_26;
-}
-block_26:
-{
-lean_object* x_7;
-x_7 = lean_ctor_get(x_6, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
-{
-lean_object* x_8; lean_object* x_9;
-x_8 = l_Lean_Parser_ident___elambda__1(x_1, x_6);
-x_9 = lean_ctor_get(x_8, 3);
-lean_inc(x_9);
-if (lean_obj_tag(x_9) == 0)
-{
-lean_object* x_10; lean_object* x_11;
-lean_dec(x_5);
-x_10 = l_Lean_nullKind;
-x_11 = l_Lean_Parser_ParserState_mkNode(x_8, x_10, x_4);
-return x_11;
-}
-else
-{
-lean_object* x_12; uint8_t x_13;
-lean_dec(x_9);
-x_12 = lean_ctor_get(x_8, 1);
-lean_inc(x_12);
-x_13 = lean_nat_dec_eq(x_12, x_5);
-lean_dec(x_12);
-if (x_13 == 0)
-{
-lean_object* x_14; lean_object* x_15;
-lean_dec(x_5);
-x_14 = l_Lean_nullKind;
-x_15 = l_Lean_Parser_ParserState_mkNode(x_8, x_14, x_4);
-return x_15;
-}
-else
-{
-lean_object* x_16; lean_object* x_17; lean_object* x_18;
-x_16 = l_Lean_Parser_ParserState_restore(x_8, x_4, x_5);
-x_17 = l_Lean_nullKind;
-x_18 = l_Lean_Parser_ParserState_mkNode(x_16, x_17, x_4);
-return x_18;
-}
-}
-}
-else
-{
-lean_object* x_19; uint8_t x_20;
-lean_dec(x_7);
-lean_dec(x_1);
-x_19 = lean_ctor_get(x_6, 1);
-lean_inc(x_19);
-x_20 = lean_nat_dec_eq(x_19, x_5);
-lean_dec(x_19);
-if (x_20 == 0)
-{
-lean_object* x_21; lean_object* x_22;
-lean_dec(x_5);
-x_21 = l_Lean_nullKind;
-x_22 = l_Lean_Parser_ParserState_mkNode(x_6, x_21, x_4);
-return x_22;
-}
-else
-{
-lean_object* x_23; lean_object* x_24; lean_object* x_25;
-x_23 = l_Lean_Parser_ParserState_restore(x_6, x_4, x_5);
-x_24 = l_Lean_nullKind;
-x_25 = l_Lean_Parser_ParserState_mkNode(x_23, x_24, x_4);
-return x_25;
-}
-}
-}
+lean_object* x_3; lean_object* x_4;
+x_3 = l_Lean_Parser_Tactic_usingRec___elambda__1___closed__4;
+x_4 = l_Lean_Parser_optionalFn(x_3, x_1, x_2);
+return x_4;
}
}
static lean_object* _init_l_Lean_Parser_Tactic_usingRec___closed__1() {
@@ -22159,11 +16512,11 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Tactic_generalizingVars___elambda__1___closed__3() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Tactic_generalizingVars___elambda__1___closed__2;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Tactic_generalizingVars___elambda__1___closed__2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Tactic_generalizingVars___elambda__1___closed__4() {
@@ -22171,212 +16524,20 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Tactic_generalizingVars___elambda__1___closed__3;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
-}
-}
-static lean_object* _init_l_Lean_Parser_Tactic_generalizingVars___elambda__1___closed__5() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Tactic_generalizingVars___elambda__1___closed__4;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_2 = l_Lean_Parser_Tactic_locationHyp___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
lean_object* l_Lean_Parser_Tactic_generalizingVars___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_39; lean_object* x_40;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-lean_inc(x_1);
-x_39 = l_Lean_Parser_tokenFn(x_1, x_2);
-x_40 = lean_ctor_get(x_39, 3);
-lean_inc(x_40);
-if (lean_obj_tag(x_40) == 0)
-{
-lean_object* x_41; lean_object* x_42;
-x_41 = lean_ctor_get(x_39, 0);
-lean_inc(x_41);
-x_42 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_41);
-lean_dec(x_41);
-if (lean_obj_tag(x_42) == 2)
-{
-lean_object* x_43; lean_object* x_44; uint8_t x_45;
-x_43 = lean_ctor_get(x_42, 1);
-lean_inc(x_43);
-lean_dec(x_42);
-x_44 = l_Lean_Parser_Tactic_generalizingVars___elambda__1___closed__2;
-x_45 = lean_string_dec_eq(x_43, x_44);
-lean_dec(x_43);
-if (x_45 == 0)
-{
-lean_object* x_46; lean_object* x_47;
-x_46 = l_Lean_Parser_Tactic_generalizingVars___elambda__1___closed__5;
-lean_inc(x_5);
-x_47 = l_Lean_Parser_ParserState_mkErrorsAt(x_39, x_46, x_5);
-x_6 = x_47;
-goto block_38;
-}
-else
-{
-x_6 = x_39;
-goto block_38;
-}
-}
-else
-{
-lean_object* x_48; lean_object* x_49;
-lean_dec(x_42);
-x_48 = l_Lean_Parser_Tactic_generalizingVars___elambda__1___closed__5;
-lean_inc(x_5);
-x_49 = l_Lean_Parser_ParserState_mkErrorsAt(x_39, x_48, x_5);
-x_6 = x_49;
-goto block_38;
-}
-}
-else
-{
-lean_object* x_50; lean_object* x_51;
-lean_dec(x_40);
-x_50 = l_Lean_Parser_Tactic_generalizingVars___elambda__1___closed__5;
-lean_inc(x_5);
-x_51 = l_Lean_Parser_ParserState_mkErrorsAt(x_39, x_50, x_5);
-x_6 = x_51;
-goto block_38;
-}
-block_38:
-{
-lean_object* x_7;
-x_7 = lean_ctor_get(x_6, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
-{
-lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
-x_8 = lean_ctor_get(x_6, 0);
-lean_inc(x_8);
-x_9 = lean_array_get_size(x_8);
-lean_dec(x_8);
-lean_inc(x_1);
-x_10 = l_Lean_Parser_ident___elambda__1(x_1, x_6);
-x_11 = lean_ctor_get(x_10, 3);
-lean_inc(x_11);
-if (lean_obj_tag(x_11) == 0)
-{
-lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15;
-x_12 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_locationHyp___elambda__1___spec__1(x_1, x_10);
-x_13 = l_Lean_nullKind;
-x_14 = l_Lean_Parser_ParserState_mkNode(x_12, x_13, x_9);
-x_15 = lean_ctor_get(x_14, 3);
-lean_inc(x_15);
-if (lean_obj_tag(x_15) == 0)
-{
-lean_object* x_16;
-lean_dec(x_5);
-x_16 = l_Lean_Parser_ParserState_mkNode(x_14, x_13, x_4);
-return x_16;
-}
-else
-{
-lean_object* x_17; uint8_t x_18;
-lean_dec(x_15);
-x_17 = lean_ctor_get(x_14, 1);
-lean_inc(x_17);
-x_18 = lean_nat_dec_eq(x_17, x_5);
-lean_dec(x_17);
-if (x_18 == 0)
-{
-lean_object* x_19;
-lean_dec(x_5);
-x_19 = l_Lean_Parser_ParserState_mkNode(x_14, x_13, x_4);
-return x_19;
-}
-else
-{
-lean_object* x_20; lean_object* x_21;
-x_20 = l_Lean_Parser_ParserState_restore(x_14, x_4, x_5);
-x_21 = l_Lean_Parser_ParserState_mkNode(x_20, x_13, x_4);
-return x_21;
-}
-}
-}
-else
-{
-lean_object* x_22; lean_object* x_23; lean_object* x_24;
-lean_dec(x_11);
-lean_dec(x_1);
-x_22 = l_Lean_nullKind;
-x_23 = l_Lean_Parser_ParserState_mkNode(x_10, x_22, x_9);
-x_24 = lean_ctor_get(x_23, 3);
-lean_inc(x_24);
-if (lean_obj_tag(x_24) == 0)
-{
-lean_object* x_25;
-lean_dec(x_5);
-x_25 = l_Lean_Parser_ParserState_mkNode(x_23, x_22, x_4);
-return x_25;
-}
-else
-{
-lean_object* x_26; uint8_t x_27;
-lean_dec(x_24);
-x_26 = lean_ctor_get(x_23, 1);
-lean_inc(x_26);
-x_27 = lean_nat_dec_eq(x_26, x_5);
-lean_dec(x_26);
-if (x_27 == 0)
-{
-lean_object* x_28;
-lean_dec(x_5);
-x_28 = l_Lean_Parser_ParserState_mkNode(x_23, x_22, x_4);
-return x_28;
-}
-else
-{
-lean_object* x_29; lean_object* x_30;
-x_29 = l_Lean_Parser_ParserState_restore(x_23, x_4, x_5);
-x_30 = l_Lean_Parser_ParserState_mkNode(x_29, x_22, x_4);
-return x_30;
-}
-}
-}
-}
-else
-{
-lean_object* x_31; uint8_t x_32;
-lean_dec(x_7);
-lean_dec(x_1);
-x_31 = lean_ctor_get(x_6, 1);
-lean_inc(x_31);
-x_32 = lean_nat_dec_eq(x_31, x_5);
-lean_dec(x_31);
-if (x_32 == 0)
-{
-lean_object* x_33; lean_object* x_34;
-lean_dec(x_5);
-x_33 = l_Lean_nullKind;
-x_34 = l_Lean_Parser_ParserState_mkNode(x_6, x_33, x_4);
-return x_34;
-}
-else
-{
-lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_35 = l_Lean_Parser_ParserState_restore(x_6, x_4, x_5);
-x_36 = l_Lean_nullKind;
-x_37 = l_Lean_Parser_ParserState_mkNode(x_35, x_36, x_4);
-return x_37;
-}
-}
-}
+lean_object* x_3; lean_object* x_4;
+x_3 = l_Lean_Parser_Tactic_generalizingVars___elambda__1___closed__4;
+x_4 = l_Lean_Parser_optionalFn(x_3, x_1, x_2);
+return x_4;
}
}
static lean_object* _init_l_Lean_Parser_Tactic_generalizingVars___closed__1() {
@@ -22496,6 +16657,88 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Tactic_induction___elambda__1___closed__7() {
_start:
{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Tactic_induction___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbolFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_induction___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_generalizingVars___closed__4;
+x_2 = l_Lean_Parser_Tactic_withAlts___closed__3;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_induction___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_usingRec___closed__4;
+x_2 = l_Lean_Parser_Tactic_induction___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_induction___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_majorPremise___closed__5;
+x_2 = l_Lean_Parser_Tactic_induction___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_induction___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_induction___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Tactic_induction___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_induction___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_induction___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Tactic_induction___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_induction___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Tactic_induction___elambda__1___closed__12;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_induction___elambda__1___closed__14() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Char_HasRepr___closed__1;
x_2 = l_Lean_Parser_Tactic_induction___elambda__1___closed__6;
@@ -22503,11 +16746,11 @@ x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Tactic_induction___elambda__1___closed__8() {
+static lean_object* _init_l_Lean_Parser_Tactic_induction___elambda__1___closed__15() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Tactic_induction___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Tactic_induction___elambda__1___closed__14;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
@@ -22539,7 +16782,7 @@ lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
x_11 = l_Lean_Parser_Tactic_induction___elambda__1___closed__6;
-x_12 = l_Lean_Parser_Tactic_induction___elambda__1___closed__8;
+x_12 = l_Lean_Parser_Tactic_induction___elambda__1___closed__15;
lean_inc(x_1);
x_13 = l_Lean_Parser_nonReservedSymbolFnAux(x_11, x_12, x_1, x_7);
x_14 = lean_ctor_get(x_13, 3);
@@ -22622,161 +16865,11 @@ return x_7;
}
else
{
-lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36;
-x_32 = lean_ctor_get(x_2, 0);
-lean_inc(x_32);
-x_33 = lean_array_get_size(x_32);
-lean_dec(x_32);
-x_34 = lean_ctor_get(x_2, 1);
-lean_inc(x_34);
-lean_inc(x_1);
-x_35 = lean_apply_2(x_4, x_1, x_2);
-x_36 = lean_ctor_get(x_35, 3);
-lean_inc(x_36);
-if (lean_obj_tag(x_36) == 0)
-{
-lean_dec(x_34);
-lean_dec(x_33);
-lean_dec(x_1);
-return x_35;
-}
-else
-{
-lean_object* x_37; lean_object* x_38; uint8_t x_39;
-x_37 = lean_ctor_get(x_36, 0);
-lean_inc(x_37);
-lean_dec(x_36);
-x_38 = lean_ctor_get(x_35, 1);
-lean_inc(x_38);
-x_39 = lean_nat_dec_eq(x_38, x_34);
-lean_dec(x_38);
-if (x_39 == 0)
-{
-lean_dec(x_37);
-lean_dec(x_34);
-lean_dec(x_33);
-lean_dec(x_1);
-return x_35;
-}
-else
-{
-lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43;
-lean_inc(x_34);
-x_40 = l_Lean_Parser_ParserState_restore(x_35, x_33, x_34);
-lean_dec(x_33);
-x_41 = lean_unsigned_to_nat(1024u);
-x_42 = l_Lean_Parser_checkPrecFn(x_41, x_1, x_40);
-x_43 = lean_ctor_get(x_42, 3);
-lean_inc(x_43);
-if (lean_obj_tag(x_43) == 0)
-{
-lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49;
-x_44 = lean_ctor_get(x_42, 0);
-lean_inc(x_44);
-x_45 = lean_array_get_size(x_44);
-lean_dec(x_44);
-x_46 = l_Lean_Parser_Tactic_induction___elambda__1___closed__6;
-x_47 = l_Lean_Parser_Tactic_induction___elambda__1___closed__8;
-lean_inc(x_1);
-x_48 = l_Lean_Parser_nonReservedSymbolFnAux(x_46, x_47, x_1, x_42);
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
-{
-lean_object* x_50; lean_object* x_51;
-lean_inc(x_1);
-x_50 = l_Lean_Parser_Tactic_majorPremise___elambda__1(x_1, x_48);
-x_51 = lean_ctor_get(x_50, 3);
-lean_inc(x_51);
-if (lean_obj_tag(x_51) == 0)
-{
-lean_object* x_52; lean_object* x_53;
-lean_inc(x_1);
-x_52 = l_Lean_Parser_Tactic_usingRec___elambda__1(x_1, x_50);
-x_53 = lean_ctor_get(x_52, 3);
-lean_inc(x_53);
-if (lean_obj_tag(x_53) == 0)
-{
-lean_object* x_54; lean_object* x_55;
-lean_inc(x_1);
-x_54 = l_Lean_Parser_Tactic_generalizingVars___elambda__1(x_1, x_52);
-x_55 = lean_ctor_get(x_54, 3);
-lean_inc(x_55);
-if (lean_obj_tag(x_55) == 0)
-{
-lean_object* x_56; lean_object* x_57; lean_object* x_58; uint8_t x_59; lean_object* x_60;
-x_56 = l_Lean_Parser_Tactic_withAlts___elambda__1(x_1, x_54);
-x_57 = l_Lean_Parser_Tactic_induction___elambda__1___closed__2;
-x_58 = l_Lean_Parser_ParserState_mkNode(x_56, x_57, x_45);
-x_59 = 1;
-x_60 = l_Lean_Parser_mergeOrElseErrors(x_58, x_37, x_34, x_59);
-lean_dec(x_34);
-return x_60;
-}
-else
-{
-lean_object* x_61; lean_object* x_62; uint8_t x_63; lean_object* x_64;
-lean_dec(x_55);
-lean_dec(x_1);
-x_61 = l_Lean_Parser_Tactic_induction___elambda__1___closed__2;
-x_62 = l_Lean_Parser_ParserState_mkNode(x_54, x_61, x_45);
-x_63 = 1;
-x_64 = l_Lean_Parser_mergeOrElseErrors(x_62, x_37, x_34, x_63);
-lean_dec(x_34);
-return x_64;
-}
-}
-else
-{
-lean_object* x_65; lean_object* x_66; uint8_t x_67; lean_object* x_68;
-lean_dec(x_53);
-lean_dec(x_1);
-x_65 = l_Lean_Parser_Tactic_induction___elambda__1___closed__2;
-x_66 = l_Lean_Parser_ParserState_mkNode(x_52, x_65, x_45);
-x_67 = 1;
-x_68 = l_Lean_Parser_mergeOrElseErrors(x_66, x_37, x_34, x_67);
-lean_dec(x_34);
-return x_68;
-}
-}
-else
-{
-lean_object* x_69; lean_object* x_70; uint8_t x_71; lean_object* x_72;
-lean_dec(x_51);
-lean_dec(x_1);
-x_69 = l_Lean_Parser_Tactic_induction___elambda__1___closed__2;
-x_70 = l_Lean_Parser_ParserState_mkNode(x_50, x_69, x_45);
-x_71 = 1;
-x_72 = l_Lean_Parser_mergeOrElseErrors(x_70, x_37, x_34, x_71);
-lean_dec(x_34);
-return x_72;
-}
-}
-else
-{
-lean_object* x_73; lean_object* x_74; uint8_t x_75; lean_object* x_76;
-lean_dec(x_49);
-lean_dec(x_1);
-x_73 = l_Lean_Parser_Tactic_induction___elambda__1___closed__2;
-x_74 = l_Lean_Parser_ParserState_mkNode(x_48, x_73, x_45);
-x_75 = 1;
-x_76 = l_Lean_Parser_mergeOrElseErrors(x_74, x_37, x_34, x_75);
-lean_dec(x_34);
-return x_76;
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_43);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_42, x_37, x_34, x_77);
-lean_dec(x_34);
-return x_78;
-}
-}
-}
+lean_object* x_32; uint8_t x_33; lean_object* x_34;
+x_32 = l_Lean_Parser_Tactic_induction___elambda__1___closed__13;
+x_33 = 1;
+x_34 = l_Lean_Parser_orelseFnCore(x_4, x_32, x_33, x_1, x_2);
+return x_34;
}
}
}
@@ -23115,7 +17208,7 @@ static lean_object* _init_l_Lean_Parser_Tactic_inductionAlts_formatter___closed_
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Tactic_intro___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Tactic_intro___elambda__1___closed__8;
x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_symbol_formatter___boxed), 6, 1);
lean_closure_set(x_2, 0, x_1);
return x_2;
@@ -23759,6 +17852,64 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Tactic_cases___elambda__1___closed__7() {
_start:
{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Tactic_cases___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbolFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_cases___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_majorPremise___closed__5;
+x_2 = l_Lean_Parser_Tactic_withAlts___closed__3;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_cases___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_cases___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Tactic_cases___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_cases___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_cases___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Tactic_cases___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_cases___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Tactic_cases___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_cases___elambda__1___closed__12() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Char_HasRepr___closed__1;
x_2 = l_Lean_Parser_Tactic_cases___elambda__1___closed__6;
@@ -23766,11 +17917,11 @@ x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Tactic_cases___elambda__1___closed__8() {
+static lean_object* _init_l_Lean_Parser_Tactic_cases___elambda__1___closed__13() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Tactic_cases___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Tactic_cases___elambda__1___closed__12;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
@@ -23802,7 +17953,7 @@ lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
x_11 = l_Lean_Parser_Tactic_cases___elambda__1___closed__6;
-x_12 = l_Lean_Parser_Tactic_cases___elambda__1___closed__8;
+x_12 = l_Lean_Parser_Tactic_cases___elambda__1___closed__13;
lean_inc(x_1);
x_13 = l_Lean_Parser_nonReservedSymbolFnAux(x_11, x_12, x_1, x_7);
x_14 = lean_ctor_get(x_13, 3);
@@ -23851,121 +18002,11 @@ return x_7;
}
else
{
-lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
-x_24 = lean_ctor_get(x_2, 0);
-lean_inc(x_24);
-x_25 = lean_array_get_size(x_24);
-lean_dec(x_24);
-x_26 = lean_ctor_get(x_2, 1);
-lean_inc(x_26);
-lean_inc(x_1);
-x_27 = lean_apply_2(x_4, x_1, x_2);
-x_28 = lean_ctor_get(x_27, 3);
-lean_inc(x_28);
-if (lean_obj_tag(x_28) == 0)
-{
-lean_dec(x_26);
-lean_dec(x_25);
-lean_dec(x_1);
-return x_27;
-}
-else
-{
-lean_object* x_29; lean_object* x_30; uint8_t x_31;
-x_29 = lean_ctor_get(x_28, 0);
-lean_inc(x_29);
-lean_dec(x_28);
-x_30 = lean_ctor_get(x_27, 1);
-lean_inc(x_30);
-x_31 = lean_nat_dec_eq(x_30, x_26);
-lean_dec(x_30);
-if (x_31 == 0)
-{
-lean_dec(x_29);
-lean_dec(x_26);
-lean_dec(x_25);
-lean_dec(x_1);
-return x_27;
-}
-else
-{
-lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35;
-lean_inc(x_26);
-x_32 = l_Lean_Parser_ParserState_restore(x_27, x_25, x_26);
-lean_dec(x_25);
-x_33 = lean_unsigned_to_nat(1024u);
-x_34 = l_Lean_Parser_checkPrecFn(x_33, x_1, x_32);
-x_35 = lean_ctor_get(x_34, 3);
-lean_inc(x_35);
-if (lean_obj_tag(x_35) == 0)
-{
-lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41;
-x_36 = lean_ctor_get(x_34, 0);
-lean_inc(x_36);
-x_37 = lean_array_get_size(x_36);
-lean_dec(x_36);
-x_38 = l_Lean_Parser_Tactic_cases___elambda__1___closed__6;
-x_39 = l_Lean_Parser_Tactic_cases___elambda__1___closed__8;
-lean_inc(x_1);
-x_40 = l_Lean_Parser_nonReservedSymbolFnAux(x_38, x_39, x_1, x_34);
-x_41 = lean_ctor_get(x_40, 3);
-lean_inc(x_41);
-if (lean_obj_tag(x_41) == 0)
-{
-lean_object* x_42; lean_object* x_43;
-lean_inc(x_1);
-x_42 = l_Lean_Parser_Tactic_majorPremise___elambda__1(x_1, x_40);
-x_43 = lean_ctor_get(x_42, 3);
-lean_inc(x_43);
-if (lean_obj_tag(x_43) == 0)
-{
-lean_object* x_44; lean_object* x_45; lean_object* x_46; uint8_t x_47; lean_object* x_48;
-x_44 = l_Lean_Parser_Tactic_withAlts___elambda__1(x_1, x_42);
-x_45 = l_Lean_Parser_Tactic_cases___elambda__1___closed__2;
-x_46 = l_Lean_Parser_ParserState_mkNode(x_44, x_45, x_37);
-x_47 = 1;
-x_48 = l_Lean_Parser_mergeOrElseErrors(x_46, x_29, x_26, x_47);
-lean_dec(x_26);
-return x_48;
-}
-else
-{
-lean_object* x_49; lean_object* x_50; uint8_t x_51; lean_object* x_52;
-lean_dec(x_43);
-lean_dec(x_1);
-x_49 = l_Lean_Parser_Tactic_cases___elambda__1___closed__2;
-x_50 = l_Lean_Parser_ParserState_mkNode(x_42, x_49, x_37);
-x_51 = 1;
-x_52 = l_Lean_Parser_mergeOrElseErrors(x_50, x_29, x_26, x_51);
-lean_dec(x_26);
-return x_52;
-}
-}
-else
-{
-lean_object* x_53; lean_object* x_54; uint8_t x_55; lean_object* x_56;
-lean_dec(x_41);
-lean_dec(x_1);
-x_53 = l_Lean_Parser_Tactic_cases___elambda__1___closed__2;
-x_54 = l_Lean_Parser_ParserState_mkNode(x_40, x_53, x_37);
-x_55 = 1;
-x_56 = l_Lean_Parser_mergeOrElseErrors(x_54, x_29, x_26, x_55);
-lean_dec(x_26);
-return x_56;
-}
-}
-else
-{
-uint8_t x_57; lean_object* x_58;
-lean_dec(x_35);
-lean_dec(x_1);
-x_57 = 1;
-x_58 = l_Lean_Parser_mergeOrElseErrors(x_34, x_29, x_26, x_57);
-lean_dec(x_26);
-return x_58;
-}
-}
-}
+lean_object* x_24; uint8_t x_25; lean_object* x_26;
+x_24 = l_Lean_Parser_Tactic_cases___elambda__1___closed__11;
+x_25 = 1;
+x_26 = l_Lean_Parser_orelseFnCore(x_4, x_24, x_25, x_1, x_2);
+return x_26;
}
}
}
@@ -24279,6 +18320,42 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Tactic_matchAlt___elambda__1___closed__4() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Tactic_inductionAlt___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_matchAlt___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_matchAlt___elambda__1___closed__1;
+x_2 = l_Lean_Parser_Tactic_matchAlt___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_matchAlt___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Tactic_matchAlt___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Tactic_matchAlt___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -24299,53 +18376,55 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; uint8_t x_11; lean_object* x_12; lean_object* x_13;
+lean_object* x_9; lean_object* x_10; uint8_t x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
x_11 = 0;
+x_12 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_13 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__6;
lean_inc(x_1);
-x_12 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_tupleTail___elambda__1___spec__1(x_11, x_1, x_7);
-x_13 = lean_ctor_get(x_12, 3);
-lean_inc(x_13);
-if (lean_obj_tag(x_13) == 0)
-{
-lean_object* x_14; lean_object* x_15;
-lean_inc(x_1);
-x_14 = l_Lean_Parser_darrow___elambda__1(x_1, x_12);
+x_14 = l_Lean_Parser_sepBy1Fn(x_11, x_12, x_13, x_1, x_7);
x_15 = lean_ctor_get(x_14, 3);
lean_inc(x_15);
if (lean_obj_tag(x_15) == 0)
{
-lean_object* x_16; lean_object* x_17; lean_object* x_18;
-x_16 = l_Lean_Parser_Tactic_altRHS___elambda__1(x_1, x_14);
-x_17 = l_Lean_Parser_Tactic_matchAlt___elambda__1___closed__1;
-x_18 = l_Lean_Parser_ParserState_mkNode(x_16, x_17, x_10);
-return x_18;
-}
-else
+lean_object* x_16; lean_object* x_17;
+lean_inc(x_1);
+x_16 = l_Lean_Parser_darrow___elambda__1(x_1, x_14);
+x_17 = lean_ctor_get(x_16, 3);
+lean_inc(x_17);
+if (lean_obj_tag(x_17) == 0)
{
-lean_object* x_19; lean_object* x_20;
-lean_dec(x_15);
-lean_dec(x_1);
+lean_object* x_18; lean_object* x_19; lean_object* x_20;
+x_18 = l_Lean_Parser_Tactic_altRHS___elambda__1(x_1, x_16);
x_19 = l_Lean_Parser_Tactic_matchAlt___elambda__1___closed__1;
-x_20 = l_Lean_Parser_ParserState_mkNode(x_14, x_19, x_10);
+x_20 = l_Lean_Parser_ParserState_mkNode(x_18, x_19, x_10);
return x_20;
}
-}
else
{
lean_object* x_21; lean_object* x_22;
-lean_dec(x_13);
+lean_dec(x_17);
lean_dec(x_1);
x_21 = l_Lean_Parser_Tactic_matchAlt___elambda__1___closed__1;
-x_22 = l_Lean_Parser_ParserState_mkNode(x_12, x_21, x_10);
+x_22 = l_Lean_Parser_ParserState_mkNode(x_16, x_21, x_10);
return x_22;
}
}
else
{
+lean_object* x_23; lean_object* x_24;
+lean_dec(x_15);
+lean_dec(x_1);
+x_23 = l_Lean_Parser_Tactic_matchAlt___elambda__1___closed__1;
+x_24 = l_Lean_Parser_ParserState_mkNode(x_14, x_23, x_10);
+return x_24;
+}
+}
+else
+{
lean_dec(x_8);
lean_dec(x_1);
return x_7;
@@ -24353,120 +18432,11 @@ return x_7;
}
else
{
-lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
-x_23 = lean_ctor_get(x_2, 0);
-lean_inc(x_23);
-x_24 = lean_array_get_size(x_23);
-lean_dec(x_23);
-x_25 = lean_ctor_get(x_2, 1);
-lean_inc(x_25);
-lean_inc(x_1);
-x_26 = lean_apply_2(x_4, x_1, x_2);
-x_27 = lean_ctor_get(x_26, 3);
-lean_inc(x_27);
-if (lean_obj_tag(x_27) == 0)
-{
-lean_dec(x_25);
-lean_dec(x_24);
-lean_dec(x_1);
-return x_26;
-}
-else
-{
-lean_object* x_28; lean_object* x_29; uint8_t x_30;
-x_28 = lean_ctor_get(x_27, 0);
-lean_inc(x_28);
-lean_dec(x_27);
-x_29 = lean_ctor_get(x_26, 1);
-lean_inc(x_29);
-x_30 = lean_nat_dec_eq(x_29, x_25);
-lean_dec(x_29);
-if (x_30 == 0)
-{
-lean_dec(x_28);
-lean_dec(x_25);
-lean_dec(x_24);
-lean_dec(x_1);
-return x_26;
-}
-else
-{
-lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34;
-lean_inc(x_25);
-x_31 = l_Lean_Parser_ParserState_restore(x_26, x_24, x_25);
-lean_dec(x_24);
-x_32 = lean_unsigned_to_nat(1024u);
-x_33 = l_Lean_Parser_checkPrecFn(x_32, x_1, x_31);
-x_34 = lean_ctor_get(x_33, 3);
-lean_inc(x_34);
-if (lean_obj_tag(x_34) == 0)
-{
-lean_object* x_35; lean_object* x_36; uint8_t x_37; lean_object* x_38; lean_object* x_39;
-x_35 = lean_ctor_get(x_33, 0);
-lean_inc(x_35);
-x_36 = lean_array_get_size(x_35);
-lean_dec(x_35);
-x_37 = 0;
-lean_inc(x_1);
-x_38 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_tupleTail___elambda__1___spec__1(x_37, x_1, x_33);
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_object* x_40; lean_object* x_41;
-lean_inc(x_1);
-x_40 = l_Lean_Parser_darrow___elambda__1(x_1, x_38);
-x_41 = lean_ctor_get(x_40, 3);
-lean_inc(x_41);
-if (lean_obj_tag(x_41) == 0)
-{
-lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45; lean_object* x_46;
-x_42 = l_Lean_Parser_Tactic_altRHS___elambda__1(x_1, x_40);
-x_43 = l_Lean_Parser_Tactic_matchAlt___elambda__1___closed__1;
-x_44 = l_Lean_Parser_ParserState_mkNode(x_42, x_43, x_36);
-x_45 = 1;
-x_46 = l_Lean_Parser_mergeOrElseErrors(x_44, x_28, x_25, x_45);
-lean_dec(x_25);
-return x_46;
-}
-else
-{
-lean_object* x_47; lean_object* x_48; uint8_t x_49; lean_object* x_50;
-lean_dec(x_41);
-lean_dec(x_1);
-x_47 = l_Lean_Parser_Tactic_matchAlt___elambda__1___closed__1;
-x_48 = l_Lean_Parser_ParserState_mkNode(x_40, x_47, x_36);
-x_49 = 1;
-x_50 = l_Lean_Parser_mergeOrElseErrors(x_48, x_28, x_25, x_49);
-lean_dec(x_25);
-return x_50;
-}
-}
-else
-{
-lean_object* x_51; lean_object* x_52; uint8_t x_53; lean_object* x_54;
-lean_dec(x_39);
-lean_dec(x_1);
-x_51 = l_Lean_Parser_Tactic_matchAlt___elambda__1___closed__1;
-x_52 = l_Lean_Parser_ParserState_mkNode(x_38, x_51, x_36);
-x_53 = 1;
-x_54 = l_Lean_Parser_mergeOrElseErrors(x_52, x_28, x_25, x_53);
-lean_dec(x_25);
-return x_54;
-}
-}
-else
-{
-uint8_t x_55; lean_object* x_56;
-lean_dec(x_34);
-lean_dec(x_1);
-x_55 = 1;
-x_56 = l_Lean_Parser_mergeOrElseErrors(x_33, x_28, x_25, x_55);
-lean_dec(x_25);
-return x_56;
-}
-}
-}
+lean_object* x_25; uint8_t x_26; lean_object* x_27;
+x_25 = l_Lean_Parser_Tactic_matchAlt___elambda__1___closed__6;
+x_26 = 1;
+x_27 = l_Lean_Parser_orelseFnCore(x_4, x_25, x_26, x_1, x_2);
+return x_27;
}
}
}
@@ -24540,230 +18510,16 @@ x_1 = l_Lean_Parser_Tactic_matchAlt___closed__6;
return x_1;
}
}
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_matchAlts___elambda__1___spec__2(uint8_t x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5) {
+static lean_object* _init_l_Lean_Parser_Tactic_matchAlts___elambda__1___closed__1() {
_start:
{
-lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10;
-x_6 = lean_ctor_get(x_5, 0);
-lean_inc(x_6);
-x_7 = lean_array_get_size(x_6);
-lean_dec(x_6);
-x_8 = lean_ctor_get(x_5, 1);
-lean_inc(x_8);
-lean_inc(x_4);
-x_9 = l_Lean_Parser_Tactic_matchAlt___elambda__1(x_4, x_5);
-x_10 = lean_ctor_get(x_9, 3);
-lean_inc(x_10);
-if (lean_obj_tag(x_10) == 0)
-{
-lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_21; lean_object* x_38;
-lean_dec(x_8);
-lean_dec(x_7);
-x_11 = lean_ctor_get(x_9, 0);
-lean_inc(x_11);
-x_12 = lean_array_get_size(x_11);
-lean_dec(x_11);
-x_13 = lean_ctor_get(x_9, 1);
-lean_inc(x_13);
-x_38 = lean_ctor_get(x_4, 4);
-lean_inc(x_38);
-if (lean_obj_tag(x_38) == 0)
-{
-x_21 = x_9;
-goto block_37;
-}
-else
-{
-lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45;
-x_39 = lean_ctor_get(x_38, 0);
-lean_inc(x_39);
-lean_dec(x_38);
-x_40 = lean_ctor_get(x_4, 0);
-lean_inc(x_40);
-x_41 = lean_ctor_get(x_40, 2);
-lean_inc(x_41);
-lean_dec(x_40);
-lean_inc(x_13);
-x_42 = l_Lean_FileMap_toPosition(x_41, x_13);
-lean_dec(x_41);
-x_43 = lean_ctor_get(x_39, 1);
-lean_inc(x_43);
-lean_dec(x_39);
-x_44 = lean_ctor_get(x_42, 1);
-lean_inc(x_44);
-lean_dec(x_42);
-x_45 = lean_nat_dec_le(x_43, x_44);
-lean_dec(x_44);
-lean_dec(x_43);
-if (x_45 == 0)
-{
-lean_object* x_46; lean_object* x_47;
-x_46 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__6;
-x_47 = l_Lean_Parser_ParserState_mkError(x_9, x_46);
-x_21 = x_47;
-goto block_37;
-}
-else
-{
-x_21 = x_9;
-goto block_37;
-}
-}
-block_20:
-{
-lean_object* x_15;
-x_15 = lean_ctor_get(x_14, 3);
-lean_inc(x_15);
-if (lean_obj_tag(x_15) == 0)
-{
-lean_dec(x_13);
-lean_dec(x_12);
-{
-uint8_t _tmp_2 = x_1;
-lean_object* _tmp_4 = x_14;
-x_3 = _tmp_2;
-x_5 = _tmp_4;
-}
-goto _start;
-}
-else
-{
-lean_object* x_17; lean_object* x_18; lean_object* x_19;
-lean_dec(x_15);
-lean_dec(x_4);
-x_17 = l_Lean_Parser_ParserState_restore(x_14, x_12, x_13);
-lean_dec(x_12);
-x_18 = l_Lean_nullKind;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_2);
-return x_19;
-}
-}
-block_37:
-{
-lean_object* x_22;
-x_22 = lean_ctor_get(x_21, 3);
-lean_inc(x_22);
-if (lean_obj_tag(x_22) == 0)
-{
-lean_object* x_23; lean_object* x_24; lean_object* x_25;
-x_23 = lean_ctor_get(x_21, 1);
-lean_inc(x_23);
-lean_inc(x_4);
-x_24 = l_Lean_Parser_tokenFn(x_4, x_21);
-x_25 = lean_ctor_get(x_24, 3);
-lean_inc(x_25);
-if (lean_obj_tag(x_25) == 0)
-{
-lean_object* x_26; lean_object* x_27;
-x_26 = lean_ctor_get(x_24, 0);
-lean_inc(x_26);
-x_27 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_26);
-lean_dec(x_26);
-if (lean_obj_tag(x_27) == 2)
-{
-lean_object* x_28; lean_object* x_29; uint8_t x_30;
-x_28 = lean_ctor_get(x_27, 1);
-lean_inc(x_28);
-lean_dec(x_27);
-x_29 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__2;
-x_30 = lean_string_dec_eq(x_28, x_29);
-lean_dec(x_28);
-if (x_30 == 0)
-{
-lean_object* x_31; lean_object* x_32;
-x_31 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__5;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_24, x_31, x_23);
-x_14 = x_32;
-goto block_20;
-}
-else
-{
-lean_dec(x_23);
-x_14 = x_24;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_33; lean_object* x_34;
-lean_dec(x_27);
-x_33 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__5;
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_24, x_33, x_23);
-x_14 = x_34;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_35; lean_object* x_36;
-lean_dec(x_25);
-x_35 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__5;
-x_36 = l_Lean_Parser_ParserState_mkErrorsAt(x_24, x_35, x_23);
-x_14 = x_36;
-goto block_20;
-}
-}
-else
-{
-lean_dec(x_22);
-x_14 = x_21;
-goto block_20;
-}
-}
-}
-else
-{
-lean_object* x_48; uint8_t x_49;
-lean_dec(x_10);
-lean_dec(x_4);
-x_48 = lean_ctor_get(x_9, 1);
-lean_inc(x_48);
-x_49 = lean_nat_dec_lt(x_8, x_48);
-lean_dec(x_48);
-if (x_49 == 0)
-{
-if (x_3 == 0)
-{
-lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53;
-lean_dec(x_8);
-lean_dec(x_7);
-x_50 = lean_box(0);
-x_51 = l_Lean_Parser_ParserState_pushSyntax(x_9, x_50);
-x_52 = l_Lean_nullKind;
-x_53 = l_Lean_Parser_ParserState_mkNode(x_51, x_52, x_2);
-return x_53;
-}
-else
-{
-lean_object* x_54; lean_object* x_55; lean_object* x_56;
-x_54 = l_Lean_Parser_ParserState_restore(x_9, x_7, x_8);
-lean_dec(x_7);
-x_55 = l_Lean_nullKind;
-x_56 = l_Lean_Parser_ParserState_mkNode(x_54, x_55, x_2);
-return x_56;
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_2);
-return x_9;
-}
-}
-}
-}
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Tactic_matchAlts___elambda__1___spec__1(uint8_t x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
-x_4 = lean_ctor_get(x_3, 0);
-lean_inc(x_4);
-x_5 = lean_array_get_size(x_4);
-lean_dec(x_4);
-x_6 = 0;
-x_7 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_matchAlts___elambda__1___spec__2(x_1, x_5, x_6, x_2, x_3);
-return x_7;
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_matchAlts___closed__2;
+x_2 = l_Lean_Parser_Term_matchAlts___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
}
}
lean_object* l_Lean_Parser_Tactic_matchAlts___elambda__1(lean_object* x_1, lean_object* x_2) {
@@ -24777,350 +18533,170 @@ lean_dec(x_3);
x_5 = !lean_is_exclusive(x_1);
if (x_5 == 0)
{
-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_39; lean_object* x_40;
+lean_object* x_6; lean_object* x_7; uint8_t x_8;
x_6 = lean_ctor_get(x_1, 0);
x_7 = lean_ctor_get(x_1, 4);
lean_dec(x_7);
-x_8 = lean_ctor_get(x_6, 2);
-lean_inc(x_8);
-x_9 = lean_ctor_get(x_2, 1);
-lean_inc(x_9);
-lean_inc(x_9);
-x_10 = l_Lean_FileMap_toPosition(x_8, x_9);
-lean_dec(x_8);
-x_11 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_11, 0, x_10);
-lean_ctor_set(x_1, 4, x_11);
+x_8 = !lean_is_exclusive(x_6);
+if (x_8 == 0)
+{
+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;
+x_9 = lean_ctor_get(x_6, 2);
+x_10 = lean_ctor_get(x_2, 1);
+lean_inc(x_10);
+x_11 = l_Lean_FileMap_toPosition(x_9, x_10);
+x_12 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_12, 0, x_11);
+lean_ctor_set(x_1, 4, x_12);
+x_13 = l_Lean_Parser_Term_matchAlts___closed__6;
lean_inc(x_1);
-x_39 = l_Lean_Parser_tokenFn(x_1, x_2);
-x_40 = lean_ctor_get(x_39, 3);
-lean_inc(x_40);
-if (lean_obj_tag(x_40) == 0)
+x_14 = l_Lean_Parser_optionalFn(x_13, x_1, x_2);
+x_15 = lean_ctor_get(x_14, 3);
+lean_inc(x_15);
+if (lean_obj_tag(x_15) == 0)
{
-lean_object* x_41; lean_object* x_42;
-x_41 = lean_ctor_get(x_39, 0);
-lean_inc(x_41);
-x_42 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_41);
-lean_dec(x_41);
-if (lean_obj_tag(x_42) == 2)
-{
-lean_object* x_43; lean_object* x_44; uint8_t x_45;
-x_43 = lean_ctor_get(x_42, 1);
-lean_inc(x_43);
-lean_dec(x_42);
-x_44 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__2;
-x_45 = lean_string_dec_eq(x_43, x_44);
-lean_dec(x_43);
-if (x_45 == 0)
-{
-lean_object* x_46; lean_object* x_47;
-x_46 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__5;
-lean_inc(x_9);
-x_47 = l_Lean_Parser_ParserState_mkErrorsAt(x_39, x_46, x_9);
-x_12 = x_47;
-goto block_38;
+uint8_t x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
+x_16 = 0;
+x_17 = l_Lean_Parser_Tactic_matchAlt___closed__5;
+x_18 = l_Lean_Parser_Tactic_matchAlts___elambda__1___closed__1;
+x_19 = l_Lean_Parser_sepBy1Fn(x_16, x_17, x_18, x_1, x_14);
+x_20 = l_Lean_nullKind;
+x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_4);
+return x_21;
}
else
{
-x_12 = x_39;
-goto block_38;
-}
-}
-else
-{
-lean_object* x_48; lean_object* x_49;
-lean_dec(x_42);
-x_48 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__5;
-lean_inc(x_9);
-x_49 = l_Lean_Parser_ParserState_mkErrorsAt(x_39, x_48, x_9);
-x_12 = x_49;
-goto block_38;
-}
-}
-else
-{
-lean_object* x_50; lean_object* x_51;
-lean_dec(x_40);
-x_50 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__5;
-lean_inc(x_9);
-x_51 = l_Lean_Parser_ParserState_mkErrorsAt(x_39, x_50, x_9);
-x_12 = x_51;
-goto block_38;
-}
-block_38:
-{
-lean_object* x_13;
-x_13 = lean_ctor_get(x_12, 3);
-lean_inc(x_13);
-if (lean_obj_tag(x_13) == 0)
-{
-lean_object* x_14; lean_object* x_15; lean_object* x_16;
-lean_dec(x_9);
-x_14 = l_Lean_nullKind;
-lean_inc(x_4);
-x_15 = l_Lean_Parser_ParserState_mkNode(x_12, x_14, x_4);
-x_16 = lean_ctor_get(x_15, 3);
-lean_inc(x_16);
-if (lean_obj_tag(x_16) == 0)
-{
-uint8_t x_17; lean_object* x_18; lean_object* x_19;
-x_17 = 0;
-x_18 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Tactic_matchAlts___elambda__1___spec__1(x_17, x_1, x_15);
-x_19 = l_Lean_Parser_ParserState_mkNode(x_18, x_14, x_4);
-return x_19;
-}
-else
-{
-lean_object* x_20;
-lean_dec(x_16);
+lean_object* x_22; lean_object* x_23;
+lean_dec(x_15);
lean_dec(x_1);
-x_20 = l_Lean_Parser_ParserState_mkNode(x_15, x_14, x_4);
-return x_20;
+x_22 = l_Lean_nullKind;
+x_23 = l_Lean_Parser_ParserState_mkNode(x_14, x_22, x_4);
+return x_23;
}
}
else
{
-lean_object* x_21; uint8_t x_22;
-lean_dec(x_13);
-x_21 = lean_ctor_get(x_12, 1);
-lean_inc(x_21);
-x_22 = lean_nat_dec_eq(x_21, x_9);
-lean_dec(x_21);
-if (x_22 == 0)
-{
-lean_object* x_23; lean_object* x_24; lean_object* x_25;
-lean_dec(x_9);
-x_23 = l_Lean_nullKind;
-lean_inc(x_4);
-x_24 = l_Lean_Parser_ParserState_mkNode(x_12, x_23, x_4);
-x_25 = lean_ctor_get(x_24, 3);
+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;
+x_24 = lean_ctor_get(x_6, 0);
+x_25 = lean_ctor_get(x_6, 1);
+x_26 = lean_ctor_get(x_6, 2);
+lean_inc(x_26);
lean_inc(x_25);
-if (lean_obj_tag(x_25) == 0)
-{
-uint8_t x_26; lean_object* x_27; lean_object* x_28;
-x_26 = 0;
-x_27 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Tactic_matchAlts___elambda__1___spec__1(x_26, x_1, x_24);
-x_28 = l_Lean_Parser_ParserState_mkNode(x_27, x_23, x_4);
-return x_28;
-}
-else
-{
-lean_object* x_29;
-lean_dec(x_25);
-lean_dec(x_1);
-x_29 = l_Lean_Parser_ParserState_mkNode(x_24, x_23, x_4);
-return x_29;
-}
-}
-else
-{
-lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
-x_30 = l_Lean_Parser_ParserState_restore(x_12, x_4, x_9);
-x_31 = l_Lean_nullKind;
-lean_inc(x_4);
-x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_4);
+lean_inc(x_24);
+lean_dec(x_6);
+x_27 = lean_ctor_get(x_2, 1);
+lean_inc(x_27);
+x_28 = l_Lean_FileMap_toPosition(x_26, x_27);
+x_29 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_29, 0, x_24);
+lean_ctor_set(x_29, 1, x_25);
+lean_ctor_set(x_29, 2, x_26);
+x_30 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_30, 0, x_28);
+lean_ctor_set(x_1, 4, x_30);
+lean_ctor_set(x_1, 0, x_29);
+x_31 = l_Lean_Parser_Term_matchAlts___closed__6;
+lean_inc(x_1);
+x_32 = l_Lean_Parser_optionalFn(x_31, x_1, x_2);
x_33 = lean_ctor_get(x_32, 3);
lean_inc(x_33);
if (lean_obj_tag(x_33) == 0)
{
-uint8_t x_34; lean_object* x_35; lean_object* x_36;
+uint8_t x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
x_34 = 0;
-x_35 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Tactic_matchAlts___elambda__1___spec__1(x_34, x_1, x_32);
-x_36 = l_Lean_Parser_ParserState_mkNode(x_35, x_31, x_4);
-return x_36;
+x_35 = l_Lean_Parser_Tactic_matchAlt___closed__5;
+x_36 = l_Lean_Parser_Tactic_matchAlts___elambda__1___closed__1;
+x_37 = l_Lean_Parser_sepBy1Fn(x_34, x_35, x_36, x_1, x_32);
+x_38 = l_Lean_nullKind;
+x_39 = l_Lean_Parser_ParserState_mkNode(x_37, x_38, x_4);
+return x_39;
}
else
{
-lean_object* x_37;
+lean_object* x_40; lean_object* x_41;
lean_dec(x_33);
lean_dec(x_1);
-x_37 = l_Lean_Parser_ParserState_mkNode(x_32, x_31, x_4);
-return x_37;
-}
-}
+x_40 = l_Lean_nullKind;
+x_41 = l_Lean_Parser_ParserState_mkNode(x_32, x_40, x_4);
+return x_41;
}
}
}
else
{
-lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; uint8_t 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_90; lean_object* x_91;
-x_52 = lean_ctor_get(x_1, 0);
-x_53 = lean_ctor_get(x_1, 1);
-x_54 = lean_ctor_get(x_1, 2);
-x_55 = lean_ctor_get(x_1, 3);
-x_56 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
-x_57 = lean_ctor_get(x_1, 5);
-lean_inc(x_57);
-lean_inc(x_55);
-lean_inc(x_54);
-lean_inc(x_53);
-lean_inc(x_52);
+lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; uint8_t 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;
+x_42 = lean_ctor_get(x_1, 0);
+x_43 = lean_ctor_get(x_1, 1);
+x_44 = lean_ctor_get(x_1, 2);
+x_45 = lean_ctor_get(x_1, 3);
+x_46 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
+x_47 = lean_ctor_get(x_1, 5);
+lean_inc(x_47);
+lean_inc(x_45);
+lean_inc(x_44);
+lean_inc(x_43);
+lean_inc(x_42);
lean_dec(x_1);
-x_58 = lean_ctor_get(x_52, 2);
-lean_inc(x_58);
-x_59 = lean_ctor_get(x_2, 1);
+x_48 = lean_ctor_get(x_42, 0);
+lean_inc(x_48);
+x_49 = lean_ctor_get(x_42, 1);
+lean_inc(x_49);
+x_50 = lean_ctor_get(x_42, 2);
+lean_inc(x_50);
+if (lean_is_exclusive(x_42)) {
+ lean_ctor_release(x_42, 0);
+ lean_ctor_release(x_42, 1);
+ lean_ctor_release(x_42, 2);
+ x_51 = x_42;
+} else {
+ lean_dec_ref(x_42);
+ x_51 = lean_box(0);
+}
+x_52 = lean_ctor_get(x_2, 1);
+lean_inc(x_52);
+x_53 = l_Lean_FileMap_toPosition(x_50, x_52);
+if (lean_is_scalar(x_51)) {
+ x_54 = lean_alloc_ctor(0, 3, 0);
+} else {
+ x_54 = x_51;
+}
+lean_ctor_set(x_54, 0, x_48);
+lean_ctor_set(x_54, 1, x_49);
+lean_ctor_set(x_54, 2, x_50);
+x_55 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_55, 0, x_53);
+x_56 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_56, 0, x_54);
+lean_ctor_set(x_56, 1, x_43);
+lean_ctor_set(x_56, 2, x_44);
+lean_ctor_set(x_56, 3, x_45);
+lean_ctor_set(x_56, 4, x_55);
+lean_ctor_set(x_56, 5, x_47);
+lean_ctor_set_uint8(x_56, sizeof(void*)*6, x_46);
+x_57 = l_Lean_Parser_Term_matchAlts___closed__6;
+lean_inc(x_56);
+x_58 = l_Lean_Parser_optionalFn(x_57, x_56, x_2);
+x_59 = lean_ctor_get(x_58, 3);
lean_inc(x_59);
-lean_inc(x_59);
-x_60 = l_Lean_FileMap_toPosition(x_58, x_59);
-lean_dec(x_58);
-x_61 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_61, 0, x_60);
-x_62 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_62, 0, x_52);
-lean_ctor_set(x_62, 1, x_53);
-lean_ctor_set(x_62, 2, x_54);
-lean_ctor_set(x_62, 3, x_55);
-lean_ctor_set(x_62, 4, x_61);
-lean_ctor_set(x_62, 5, x_57);
-lean_ctor_set_uint8(x_62, sizeof(void*)*6, x_56);
-lean_inc(x_62);
-x_90 = l_Lean_Parser_tokenFn(x_62, x_2);
-x_91 = lean_ctor_get(x_90, 3);
-lean_inc(x_91);
-if (lean_obj_tag(x_91) == 0)
+if (lean_obj_tag(x_59) == 0)
{
-lean_object* x_92; lean_object* x_93;
-x_92 = lean_ctor_get(x_90, 0);
-lean_inc(x_92);
-x_93 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_92);
-lean_dec(x_92);
-if (lean_obj_tag(x_93) == 2)
-{
-lean_object* x_94; lean_object* x_95; uint8_t x_96;
-x_94 = lean_ctor_get(x_93, 1);
-lean_inc(x_94);
-lean_dec(x_93);
-x_95 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__2;
-x_96 = lean_string_dec_eq(x_94, x_95);
-lean_dec(x_94);
-if (x_96 == 0)
-{
-lean_object* x_97; lean_object* x_98;
-x_97 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__5;
-lean_inc(x_59);
-x_98 = l_Lean_Parser_ParserState_mkErrorsAt(x_90, x_97, x_59);
-x_63 = x_98;
-goto block_89;
+uint8_t x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65;
+x_60 = 0;
+x_61 = l_Lean_Parser_Tactic_matchAlt___closed__5;
+x_62 = l_Lean_Parser_Tactic_matchAlts___elambda__1___closed__1;
+x_63 = l_Lean_Parser_sepBy1Fn(x_60, x_61, x_62, x_56, x_58);
+x_64 = l_Lean_nullKind;
+x_65 = l_Lean_Parser_ParserState_mkNode(x_63, x_64, x_4);
+return x_65;
}
else
{
-x_63 = x_90;
-goto block_89;
-}
-}
-else
-{
-lean_object* x_99; lean_object* x_100;
-lean_dec(x_93);
-x_99 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__5;
-lean_inc(x_59);
-x_100 = l_Lean_Parser_ParserState_mkErrorsAt(x_90, x_99, x_59);
-x_63 = x_100;
-goto block_89;
-}
-}
-else
-{
-lean_object* x_101; lean_object* x_102;
-lean_dec(x_91);
-x_101 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__5;
-lean_inc(x_59);
-x_102 = l_Lean_Parser_ParserState_mkErrorsAt(x_90, x_101, x_59);
-x_63 = x_102;
-goto block_89;
-}
-block_89:
-{
-lean_object* x_64;
-x_64 = lean_ctor_get(x_63, 3);
-lean_inc(x_64);
-if (lean_obj_tag(x_64) == 0)
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67;
+lean_object* x_66; lean_object* x_67;
lean_dec(x_59);
-x_65 = l_Lean_nullKind;
-lean_inc(x_4);
-x_66 = l_Lean_Parser_ParserState_mkNode(x_63, x_65, x_4);
-x_67 = lean_ctor_get(x_66, 3);
-lean_inc(x_67);
-if (lean_obj_tag(x_67) == 0)
-{
-uint8_t x_68; lean_object* x_69; lean_object* x_70;
-x_68 = 0;
-x_69 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Tactic_matchAlts___elambda__1___spec__1(x_68, x_62, x_66);
-x_70 = l_Lean_Parser_ParserState_mkNode(x_69, x_65, x_4);
-return x_70;
-}
-else
-{
-lean_object* x_71;
-lean_dec(x_67);
-lean_dec(x_62);
-x_71 = l_Lean_Parser_ParserState_mkNode(x_66, x_65, x_4);
-return x_71;
-}
-}
-else
-{
-lean_object* x_72; uint8_t x_73;
-lean_dec(x_64);
-x_72 = lean_ctor_get(x_63, 1);
-lean_inc(x_72);
-x_73 = lean_nat_dec_eq(x_72, x_59);
-lean_dec(x_72);
-if (x_73 == 0)
-{
-lean_object* x_74; lean_object* x_75; lean_object* x_76;
-lean_dec(x_59);
-x_74 = l_Lean_nullKind;
-lean_inc(x_4);
-x_75 = l_Lean_Parser_ParserState_mkNode(x_63, x_74, x_4);
-x_76 = lean_ctor_get(x_75, 3);
-lean_inc(x_76);
-if (lean_obj_tag(x_76) == 0)
-{
-uint8_t x_77; lean_object* x_78; lean_object* x_79;
-x_77 = 0;
-x_78 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Tactic_matchAlts___elambda__1___spec__1(x_77, x_62, x_75);
-x_79 = l_Lean_Parser_ParserState_mkNode(x_78, x_74, x_4);
-return x_79;
-}
-else
-{
-lean_object* x_80;
-lean_dec(x_76);
-lean_dec(x_62);
-x_80 = l_Lean_Parser_ParserState_mkNode(x_75, x_74, x_4);
-return x_80;
-}
-}
-else
-{
-lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84;
-x_81 = l_Lean_Parser_ParserState_restore(x_63, x_4, x_59);
-x_82 = l_Lean_nullKind;
-lean_inc(x_4);
-x_83 = l_Lean_Parser_ParserState_mkNode(x_81, x_82, x_4);
-x_84 = lean_ctor_get(x_83, 3);
-lean_inc(x_84);
-if (lean_obj_tag(x_84) == 0)
-{
-uint8_t x_85; lean_object* x_86; lean_object* x_87;
-x_85 = 0;
-x_86 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Tactic_matchAlts___elambda__1___spec__1(x_85, x_62, x_83);
-x_87 = l_Lean_Parser_ParserState_mkNode(x_86, x_82, x_4);
-return x_87;
-}
-else
-{
-lean_object* x_88;
-lean_dec(x_84);
-lean_dec(x_62);
-x_88 = l_Lean_Parser_ParserState_mkNode(x_83, x_82, x_4);
-return x_88;
-}
-}
-}
+lean_dec(x_56);
+x_66 = l_Lean_nullKind;
+x_67 = l_Lean_Parser_ParserState_mkNode(x_58, x_66, x_4);
+return x_67;
}
}
}
@@ -25130,7 +18706,7 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Parser_inhabited___closed__1;
-x_2 = l_Lean_Parser_Term_matchAlts___closed__1;
+x_2 = l_Lean_Parser_Term_matchAlts___closed__5;
x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
return x_3;
}
@@ -25151,7 +18727,7 @@ static lean_object* _init_l_Lean_Parser_Tactic_matchAlts___closed__3() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_matchAlts___closed__7;
+x_1 = l_Lean_Parser_Term_matchAlts___closed__13;
x_2 = l_Lean_Parser_Tactic_matchAlts___closed__2;
x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
return x_3;
@@ -25195,28 +18771,6 @@ x_1 = l_Lean_Parser_Tactic_matchAlts___closed__6;
return x_1;
}
}
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_matchAlts___elambda__1___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
-_start:
-{
-uint8_t x_6; uint8_t x_7; lean_object* x_8;
-x_6 = lean_unbox(x_1);
-lean_dec(x_1);
-x_7 = lean_unbox(x_3);
-lean_dec(x_3);
-x_8 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_matchAlts___elambda__1___spec__2(x_6, x_2, x_7, x_4, x_5);
-return x_8;
-}
-}
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Tactic_matchAlts___elambda__1___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-uint8_t x_4; lean_object* x_5;
-x_4 = lean_unbox(x_1);
-lean_dec(x_1);
-x_5 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Tactic_matchAlts___elambda__1___spec__1(x_4, x_2, x_3);
-return x_5;
-}
-}
static lean_object* _init_l_Lean_Parser_Tactic_match___elambda__1___closed__1() {
_start:
{
@@ -25248,6 +18802,88 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Tactic_match___elambda__1___closed__4() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_match___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbolFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_match___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_structInst___elambda__1___closed__5;
+x_2 = l_Lean_Parser_Tactic_matchAlts___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_match___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_optType___closed__2;
+x_2 = l_Lean_Parser_Tactic_match___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_match___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_match___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Tactic_match___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_match___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_match___elambda__1___closed__4;
+x_2 = l_Lean_Parser_Tactic_match___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_match___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_match___elambda__1___closed__1;
+x_2 = l_Lean_Parser_Tactic_match___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_match___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Tactic_match___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Tactic_match___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -25274,123 +18910,84 @@ lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
x_11 = l_Lean_Parser_Term_match___elambda__1___closed__6;
-x_12 = l_Lean_Parser_Term_match___elambda__1___closed__9;
+x_12 = l_Lean_Parser_Term_match___elambda__1___closed__17;
lean_inc(x_1);
x_13 = l_Lean_Parser_nonReservedSymbolFnAux(x_11, x_12, x_1, x_7);
x_14 = lean_ctor_get(x_13, 3);
lean_inc(x_14);
if (lean_obj_tag(x_14) == 0)
{
-uint8_t x_15; lean_object* x_16; lean_object* x_17;
+uint8_t x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
x_15 = 0;
+x_16 = l_Lean_Parser_Term_matchDiscr___closed__8;
+x_17 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__6;
lean_inc(x_1);
-x_16 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_match___elambda__1___spec__1(x_15, x_1, x_13);
-x_17 = lean_ctor_get(x_16, 3);
-lean_inc(x_17);
-if (lean_obj_tag(x_17) == 0)
-{
-lean_object* x_18; lean_object* x_19;
-lean_inc(x_1);
-x_18 = l_Lean_Parser_Term_optType___elambda__1(x_1, x_16);
+x_18 = l_Lean_Parser_sepBy1Fn(x_15, x_16, x_17, x_1, x_13);
x_19 = lean_ctor_get(x_18, 3);
lean_inc(x_19);
if (lean_obj_tag(x_19) == 0)
{
lean_object* x_20; lean_object* x_21; lean_object* x_22;
-x_20 = lean_ctor_get(x_18, 1);
-lean_inc(x_20);
+x_20 = l_Lean_Parser_Term_typeSpec___closed__4;
lean_inc(x_1);
-x_21 = l_Lean_Parser_tokenFn(x_1, x_18);
+x_21 = l_Lean_Parser_optionalFn(x_20, x_1, x_18);
x_22 = lean_ctor_get(x_21, 3);
lean_inc(x_22);
if (lean_obj_tag(x_22) == 0)
{
-lean_object* x_23; lean_object* x_24;
-x_23 = lean_ctor_get(x_21, 0);
-lean_inc(x_23);
-x_24 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_23);
-lean_dec(x_23);
-if (lean_obj_tag(x_24) == 2)
+lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26;
+x_23 = l_Lean_Parser_Term_structInst___elambda__1___closed__4;
+x_24 = l_Lean_Parser_Term_match___elambda__1___closed__19;
+lean_inc(x_1);
+x_25 = l_Lean_Parser_symbolFnAux(x_23, x_24, x_1, x_21);
+x_26 = lean_ctor_get(x_25, 3);
+lean_inc(x_26);
+if (lean_obj_tag(x_26) == 0)
{
-lean_object* x_25; lean_object* x_26; uint8_t x_27;
-x_25 = lean_ctor_get(x_24, 1);
-lean_inc(x_25);
-lean_dec(x_24);
-x_26 = l_Lean_Parser_Term_structInst___elambda__1___closed__4;
-x_27 = lean_string_dec_eq(x_25, x_26);
-lean_dec(x_25);
-if (x_27 == 0)
+lean_object* x_27; lean_object* x_28; lean_object* x_29;
+x_27 = l_Lean_Parser_Tactic_matchAlts___elambda__1(x_1, x_25);
+x_28 = l_Lean_Parser_Tactic_match___elambda__1___closed__1;
+x_29 = l_Lean_Parser_ParserState_mkNode(x_27, x_28, x_10);
+return x_29;
+}
+else
{
-lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31;
+lean_object* x_30; lean_object* x_31;
+lean_dec(x_26);
lean_dec(x_1);
-x_28 = l_Lean_Parser_Term_structInst___elambda__1___closed__16;
-x_29 = l_Lean_Parser_ParserState_mkErrorsAt(x_21, x_28, x_20);
x_30 = l_Lean_Parser_Tactic_match___elambda__1___closed__1;
-x_31 = l_Lean_Parser_ParserState_mkNode(x_29, x_30, x_10);
+x_31 = l_Lean_Parser_ParserState_mkNode(x_25, x_30, x_10);
return x_31;
}
-else
-{
-lean_object* x_32; lean_object* x_33; lean_object* x_34;
-lean_dec(x_20);
-x_32 = l_Lean_Parser_Tactic_matchAlts___elambda__1(x_1, x_21);
-x_33 = l_Lean_Parser_Tactic_match___elambda__1___closed__1;
-x_34 = l_Lean_Parser_ParserState_mkNode(x_32, x_33, x_10);
-return x_34;
-}
}
else
{
-lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38;
-lean_dec(x_24);
-lean_dec(x_1);
-x_35 = l_Lean_Parser_Term_structInst___elambda__1___closed__16;
-x_36 = l_Lean_Parser_ParserState_mkErrorsAt(x_21, x_35, x_20);
-x_37 = l_Lean_Parser_Tactic_match___elambda__1___closed__1;
-x_38 = l_Lean_Parser_ParserState_mkNode(x_36, x_37, x_10);
-return x_38;
-}
-}
-else
-{
-lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42;
+lean_object* x_32; lean_object* x_33;
lean_dec(x_22);
lean_dec(x_1);
-x_39 = l_Lean_Parser_Term_structInst___elambda__1___closed__16;
-x_40 = l_Lean_Parser_ParserState_mkErrorsAt(x_21, x_39, x_20);
-x_41 = l_Lean_Parser_Tactic_match___elambda__1___closed__1;
-x_42 = l_Lean_Parser_ParserState_mkNode(x_40, x_41, x_10);
-return x_42;
+x_32 = l_Lean_Parser_Tactic_match___elambda__1___closed__1;
+x_33 = l_Lean_Parser_ParserState_mkNode(x_21, x_32, x_10);
+return x_33;
}
}
else
{
-lean_object* x_43; lean_object* x_44;
+lean_object* x_34; lean_object* x_35;
lean_dec(x_19);
lean_dec(x_1);
-x_43 = l_Lean_Parser_Tactic_match___elambda__1___closed__1;
-x_44 = l_Lean_Parser_ParserState_mkNode(x_18, x_43, x_10);
-return x_44;
+x_34 = l_Lean_Parser_Tactic_match___elambda__1___closed__1;
+x_35 = l_Lean_Parser_ParserState_mkNode(x_18, x_34, x_10);
+return x_35;
}
}
else
{
-lean_object* x_45; lean_object* x_46;
-lean_dec(x_17);
-lean_dec(x_1);
-x_45 = l_Lean_Parser_Tactic_match___elambda__1___closed__1;
-x_46 = l_Lean_Parser_ParserState_mkNode(x_16, x_45, x_10);
-return x_46;
-}
-}
-else
-{
-lean_object* x_47; lean_object* x_48;
+lean_object* x_36; lean_object* x_37;
lean_dec(x_14);
lean_dec(x_1);
-x_47 = l_Lean_Parser_Tactic_match___elambda__1___closed__1;
-x_48 = l_Lean_Parser_ParserState_mkNode(x_13, x_47, x_10);
-return x_48;
+x_36 = l_Lean_Parser_Tactic_match___elambda__1___closed__1;
+x_37 = l_Lean_Parser_ParserState_mkNode(x_13, x_36, x_10);
+return x_37;
}
}
else
@@ -25402,212 +18999,11 @@ return x_7;
}
else
{
-lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53;
-x_49 = lean_ctor_get(x_2, 0);
-lean_inc(x_49);
-x_50 = lean_array_get_size(x_49);
-lean_dec(x_49);
-x_51 = lean_ctor_get(x_2, 1);
-lean_inc(x_51);
-lean_inc(x_1);
-x_52 = lean_apply_2(x_4, x_1, x_2);
-x_53 = lean_ctor_get(x_52, 3);
-lean_inc(x_53);
-if (lean_obj_tag(x_53) == 0)
-{
-lean_dec(x_51);
-lean_dec(x_50);
-lean_dec(x_1);
-return x_52;
-}
-else
-{
-lean_object* x_54; lean_object* x_55; uint8_t x_56;
-x_54 = lean_ctor_get(x_53, 0);
-lean_inc(x_54);
-lean_dec(x_53);
-x_55 = lean_ctor_get(x_52, 1);
-lean_inc(x_55);
-x_56 = lean_nat_dec_eq(x_55, x_51);
-lean_dec(x_55);
-if (x_56 == 0)
-{
-lean_dec(x_54);
-lean_dec(x_51);
-lean_dec(x_50);
-lean_dec(x_1);
-return x_52;
-}
-else
-{
-lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60;
-lean_inc(x_51);
-x_57 = l_Lean_Parser_ParserState_restore(x_52, x_50, x_51);
-lean_dec(x_50);
-x_58 = lean_unsigned_to_nat(1024u);
-x_59 = l_Lean_Parser_checkPrecFn(x_58, x_1, x_57);
-x_60 = lean_ctor_get(x_59, 3);
-lean_inc(x_60);
-if (lean_obj_tag(x_60) == 0)
-{
-lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66;
-x_61 = lean_ctor_get(x_59, 0);
-lean_inc(x_61);
-x_62 = lean_array_get_size(x_61);
-lean_dec(x_61);
-x_63 = l_Lean_Parser_Term_match___elambda__1___closed__6;
-x_64 = l_Lean_Parser_Term_match___elambda__1___closed__9;
-lean_inc(x_1);
-x_65 = l_Lean_Parser_nonReservedSymbolFnAux(x_63, x_64, x_1, x_59);
-x_66 = lean_ctor_get(x_65, 3);
-lean_inc(x_66);
-if (lean_obj_tag(x_66) == 0)
-{
-uint8_t x_67; lean_object* x_68; lean_object* x_69;
-x_67 = 0;
-lean_inc(x_1);
-x_68 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_match___elambda__1___spec__1(x_67, x_1, x_65);
-x_69 = lean_ctor_get(x_68, 3);
-lean_inc(x_69);
-if (lean_obj_tag(x_69) == 0)
-{
-lean_object* x_70; lean_object* x_71;
-lean_inc(x_1);
-x_70 = l_Lean_Parser_Term_optType___elambda__1(x_1, x_68);
-x_71 = lean_ctor_get(x_70, 3);
-lean_inc(x_71);
-if (lean_obj_tag(x_71) == 0)
-{
-lean_object* x_72; lean_object* x_73; lean_object* x_74;
-x_72 = lean_ctor_get(x_70, 1);
-lean_inc(x_72);
-lean_inc(x_1);
-x_73 = l_Lean_Parser_tokenFn(x_1, x_70);
-x_74 = lean_ctor_get(x_73, 3);
-lean_inc(x_74);
-if (lean_obj_tag(x_74) == 0)
-{
-lean_object* x_75; lean_object* x_76;
-x_75 = lean_ctor_get(x_73, 0);
-lean_inc(x_75);
-x_76 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_75);
-lean_dec(x_75);
-if (lean_obj_tag(x_76) == 2)
-{
-lean_object* x_77; lean_object* x_78; uint8_t x_79;
-x_77 = lean_ctor_get(x_76, 1);
-lean_inc(x_77);
-lean_dec(x_76);
-x_78 = l_Lean_Parser_Term_structInst___elambda__1___closed__4;
-x_79 = lean_string_dec_eq(x_77, x_78);
-lean_dec(x_77);
-if (x_79 == 0)
-{
-lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; uint8_t x_84; lean_object* x_85;
-lean_dec(x_1);
-x_80 = l_Lean_Parser_Term_structInst___elambda__1___closed__16;
-x_81 = l_Lean_Parser_ParserState_mkErrorsAt(x_73, x_80, x_72);
-x_82 = l_Lean_Parser_Tactic_match___elambda__1___closed__1;
-x_83 = l_Lean_Parser_ParserState_mkNode(x_81, x_82, x_62);
-x_84 = 1;
-x_85 = l_Lean_Parser_mergeOrElseErrors(x_83, x_54, x_51, x_84);
-lean_dec(x_51);
-return x_85;
-}
-else
-{
-lean_object* x_86; lean_object* x_87; lean_object* x_88; uint8_t x_89; lean_object* x_90;
-lean_dec(x_72);
-x_86 = l_Lean_Parser_Tactic_matchAlts___elambda__1(x_1, x_73);
-x_87 = l_Lean_Parser_Tactic_match___elambda__1___closed__1;
-x_88 = l_Lean_Parser_ParserState_mkNode(x_86, x_87, x_62);
-x_89 = 1;
-x_90 = l_Lean_Parser_mergeOrElseErrors(x_88, x_54, x_51, x_89);
-lean_dec(x_51);
-return x_90;
-}
-}
-else
-{
-lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; uint8_t x_95; lean_object* x_96;
-lean_dec(x_76);
-lean_dec(x_1);
-x_91 = l_Lean_Parser_Term_structInst___elambda__1___closed__16;
-x_92 = l_Lean_Parser_ParserState_mkErrorsAt(x_73, x_91, x_72);
-x_93 = l_Lean_Parser_Tactic_match___elambda__1___closed__1;
-x_94 = l_Lean_Parser_ParserState_mkNode(x_92, x_93, x_62);
-x_95 = 1;
-x_96 = l_Lean_Parser_mergeOrElseErrors(x_94, x_54, x_51, x_95);
-lean_dec(x_51);
-return x_96;
-}
-}
-else
-{
-lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; uint8_t x_101; lean_object* x_102;
-lean_dec(x_74);
-lean_dec(x_1);
-x_97 = l_Lean_Parser_Term_structInst___elambda__1___closed__16;
-x_98 = l_Lean_Parser_ParserState_mkErrorsAt(x_73, x_97, x_72);
-x_99 = l_Lean_Parser_Tactic_match___elambda__1___closed__1;
-x_100 = l_Lean_Parser_ParserState_mkNode(x_98, x_99, x_62);
-x_101 = 1;
-x_102 = l_Lean_Parser_mergeOrElseErrors(x_100, x_54, x_51, x_101);
-lean_dec(x_51);
-return x_102;
-}
-}
-else
-{
-lean_object* x_103; lean_object* x_104; uint8_t x_105; lean_object* x_106;
-lean_dec(x_71);
-lean_dec(x_1);
-x_103 = l_Lean_Parser_Tactic_match___elambda__1___closed__1;
-x_104 = l_Lean_Parser_ParserState_mkNode(x_70, x_103, x_62);
-x_105 = 1;
-x_106 = l_Lean_Parser_mergeOrElseErrors(x_104, x_54, x_51, x_105);
-lean_dec(x_51);
-return x_106;
-}
-}
-else
-{
-lean_object* x_107; lean_object* x_108; uint8_t x_109; lean_object* x_110;
-lean_dec(x_69);
-lean_dec(x_1);
-x_107 = l_Lean_Parser_Tactic_match___elambda__1___closed__1;
-x_108 = l_Lean_Parser_ParserState_mkNode(x_68, x_107, x_62);
-x_109 = 1;
-x_110 = l_Lean_Parser_mergeOrElseErrors(x_108, x_54, x_51, x_109);
-lean_dec(x_51);
-return x_110;
-}
-}
-else
-{
-lean_object* x_111; lean_object* x_112; uint8_t x_113; lean_object* x_114;
-lean_dec(x_66);
-lean_dec(x_1);
-x_111 = l_Lean_Parser_Tactic_match___elambda__1___closed__1;
-x_112 = l_Lean_Parser_ParserState_mkNode(x_65, x_111, x_62);
-x_113 = 1;
-x_114 = l_Lean_Parser_mergeOrElseErrors(x_112, x_54, x_51, x_113);
-lean_dec(x_51);
-return x_114;
-}
-}
-else
-{
-uint8_t x_115; lean_object* x_116;
-lean_dec(x_60);
-lean_dec(x_1);
-x_115 = 1;
-x_116 = l_Lean_Parser_mergeOrElseErrors(x_59, x_54, x_51, x_115);
-lean_dec(x_51);
-return x_116;
-}
-}
-}
+lean_object* x_38; uint8_t x_39; lean_object* x_40;
+x_38 = l_Lean_Parser_Tactic_match___elambda__1___closed__10;
+x_39 = 1;
+x_40 = l_Lean_Parser_orelseFnCore(x_4, x_38, x_39, x_1, x_2);
+return x_40;
}
}
}
@@ -26217,6 +19613,42 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Tactic_introMatch___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_intro___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Tactic_matchAlts___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_introMatch___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_introMatch___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Tactic_introMatch___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_introMatch___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Tactic_introMatch___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Tactic_introMatch___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -26243,7 +19675,7 @@ lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
x_11 = l_Lean_Parser_Tactic_intro___elambda__1___closed__6;
-x_12 = l_Lean_Parser_Tactic_intro___elambda__1___closed__10;
+x_12 = l_Lean_Parser_Tactic_intro___elambda__1___closed__21;
lean_inc(x_1);
x_13 = l_Lean_Parser_nonReservedSymbolFnAux(x_11, x_12, x_1, x_7);
x_14 = lean_ctor_get(x_13, 3);
@@ -26275,101 +19707,11 @@ return x_7;
}
else
{
-lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
-x_20 = lean_ctor_get(x_2, 0);
-lean_inc(x_20);
-x_21 = lean_array_get_size(x_20);
-lean_dec(x_20);
-x_22 = lean_ctor_get(x_2, 1);
-lean_inc(x_22);
-lean_inc(x_1);
-x_23 = lean_apply_2(x_4, x_1, x_2);
-x_24 = lean_ctor_get(x_23, 3);
-lean_inc(x_24);
-if (lean_obj_tag(x_24) == 0)
-{
-lean_dec(x_22);
-lean_dec(x_21);
-lean_dec(x_1);
-return x_23;
-}
-else
-{
-lean_object* x_25; lean_object* x_26; uint8_t x_27;
-x_25 = lean_ctor_get(x_24, 0);
-lean_inc(x_25);
-lean_dec(x_24);
-x_26 = lean_ctor_get(x_23, 1);
-lean_inc(x_26);
-x_27 = lean_nat_dec_eq(x_26, x_22);
-lean_dec(x_26);
-if (x_27 == 0)
-{
-lean_dec(x_25);
-lean_dec(x_22);
-lean_dec(x_21);
-lean_dec(x_1);
-return x_23;
-}
-else
-{
-lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31;
-lean_inc(x_22);
-x_28 = l_Lean_Parser_ParserState_restore(x_23, x_21, x_22);
-lean_dec(x_21);
-x_29 = lean_unsigned_to_nat(1024u);
-x_30 = l_Lean_Parser_checkPrecFn(x_29, x_1, x_28);
-x_31 = lean_ctor_get(x_30, 3);
-lean_inc(x_31);
-if (lean_obj_tag(x_31) == 0)
-{
-lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_32 = lean_ctor_get(x_30, 0);
-lean_inc(x_32);
-x_33 = lean_array_get_size(x_32);
-lean_dec(x_32);
-x_34 = l_Lean_Parser_Tactic_intro___elambda__1___closed__6;
-x_35 = l_Lean_Parser_Tactic_intro___elambda__1___closed__10;
-lean_inc(x_1);
-x_36 = l_Lean_Parser_nonReservedSymbolFnAux(x_34, x_35, x_1, x_30);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_object* x_38; lean_object* x_39; lean_object* x_40; uint8_t x_41; lean_object* x_42;
-x_38 = l_Lean_Parser_Tactic_matchAlts___elambda__1(x_1, x_36);
-x_39 = l_Lean_Parser_Tactic_introMatch___elambda__1___closed__2;
-x_40 = l_Lean_Parser_ParserState_mkNode(x_38, x_39, x_33);
-x_41 = 1;
-x_42 = l_Lean_Parser_mergeOrElseErrors(x_40, x_25, x_22, x_41);
-lean_dec(x_22);
-return x_42;
-}
-else
-{
-lean_object* x_43; lean_object* x_44; uint8_t x_45; lean_object* x_46;
-lean_dec(x_37);
-lean_dec(x_1);
-x_43 = l_Lean_Parser_Tactic_introMatch___elambda__1___closed__2;
-x_44 = l_Lean_Parser_ParserState_mkNode(x_36, x_43, x_33);
-x_45 = 1;
-x_46 = l_Lean_Parser_mergeOrElseErrors(x_44, x_25, x_22, x_45);
-lean_dec(x_22);
-return x_46;
-}
-}
-else
-{
-uint8_t x_47; lean_object* x_48;
-lean_dec(x_31);
-lean_dec(x_1);
-x_47 = 1;
-x_48 = l_Lean_Parser_mergeOrElseErrors(x_30, x_25, x_22, x_47);
-lean_dec(x_22);
-return x_48;
-}
-}
-}
+lean_object* x_20; uint8_t x_21; lean_object* x_22;
+x_20 = l_Lean_Parser_Tactic_introMatch___elambda__1___closed__7;
+x_21 = 1;
+x_22 = l_Lean_Parser_orelseFnCore(x_4, x_20, x_21, x_1, x_2);
+return x_22;
}
}
}
@@ -26596,257 +19938,35 @@ x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1);
return x_5;
}
}
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_withIds___elambda__1___spec__1(lean_object* x_1, lean_object* x_2) {
+static lean_object* _init_l_Lean_Parser_Tactic_withIds___elambda__1___closed__1() {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-lean_inc(x_1);
-x_6 = l_Lean_Parser_Tactic_ident_x27___elambda__1(x_1, x_2);
-x_7 = lean_ctor_get(x_6, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
-{
-lean_object* x_8; uint8_t x_9;
-lean_dec(x_4);
-x_8 = lean_ctor_get(x_6, 1);
-lean_inc(x_8);
-x_9 = lean_nat_dec_eq(x_5, x_8);
-lean_dec(x_8);
-lean_dec(x_5);
-if (x_9 == 0)
-{
-x_2 = x_6;
-goto _start;
-}
-else
-{
-lean_object* x_11; lean_object* x_12;
-lean_dec(x_1);
-x_11 = l_Lean_Parser_manyAux___main___closed__1;
-x_12 = l_Lean_Parser_ParserState_mkUnexpectedError(x_6, x_11);
-return x_12;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Tactic_ident_x27___closed__2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_many1Fn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
-else
+static lean_object* _init_l_Lean_Parser_Tactic_withIds___elambda__1___closed__2() {
+_start:
{
-lean_object* x_13; uint8_t x_14;
-lean_dec(x_7);
-lean_dec(x_1);
-x_13 = lean_ctor_get(x_6, 1);
-lean_inc(x_13);
-x_14 = lean_nat_dec_eq(x_5, x_13);
-lean_dec(x_13);
-if (x_14 == 0)
-{
-lean_dec(x_5);
-lean_dec(x_4);
-return x_6;
-}
-else
-{
-lean_object* x_15;
-x_15 = l_Lean_Parser_ParserState_restore(x_6, x_4, x_5);
-lean_dec(x_4);
-return x_15;
-}
-}
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_structInst___elambda__1___closed__5;
+x_2 = l_Lean_Parser_Tactic_withIds___elambda__1___closed__1;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
}
}
lean_object* l_Lean_Parser_Tactic_withIds___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_39; lean_object* x_40;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-lean_inc(x_1);
-x_39 = l_Lean_Parser_tokenFn(x_1, x_2);
-x_40 = lean_ctor_get(x_39, 3);
-lean_inc(x_40);
-if (lean_obj_tag(x_40) == 0)
-{
-lean_object* x_41; lean_object* x_42;
-x_41 = lean_ctor_get(x_39, 0);
-lean_inc(x_41);
-x_42 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_41);
-lean_dec(x_41);
-if (lean_obj_tag(x_42) == 2)
-{
-lean_object* x_43; lean_object* x_44; uint8_t x_45;
-x_43 = lean_ctor_get(x_42, 1);
-lean_inc(x_43);
-lean_dec(x_42);
-x_44 = l_Lean_Parser_Term_structInst___elambda__1___closed__4;
-x_45 = lean_string_dec_eq(x_43, x_44);
-lean_dec(x_43);
-if (x_45 == 0)
-{
-lean_object* x_46; lean_object* x_47;
-x_46 = l_Lean_Parser_Term_structInst___elambda__1___closed__16;
-lean_inc(x_5);
-x_47 = l_Lean_Parser_ParserState_mkErrorsAt(x_39, x_46, x_5);
-x_6 = x_47;
-goto block_38;
-}
-else
-{
-x_6 = x_39;
-goto block_38;
-}
-}
-else
-{
-lean_object* x_48; lean_object* x_49;
-lean_dec(x_42);
-x_48 = l_Lean_Parser_Term_structInst___elambda__1___closed__16;
-lean_inc(x_5);
-x_49 = l_Lean_Parser_ParserState_mkErrorsAt(x_39, x_48, x_5);
-x_6 = x_49;
-goto block_38;
-}
-}
-else
-{
-lean_object* x_50; lean_object* x_51;
-lean_dec(x_40);
-x_50 = l_Lean_Parser_Term_structInst___elambda__1___closed__16;
-lean_inc(x_5);
-x_51 = l_Lean_Parser_ParserState_mkErrorsAt(x_39, x_50, x_5);
-x_6 = x_51;
-goto block_38;
-}
-block_38:
-{
-lean_object* x_7;
-x_7 = lean_ctor_get(x_6, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
-{
-lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
-x_8 = lean_ctor_get(x_6, 0);
-lean_inc(x_8);
-x_9 = lean_array_get_size(x_8);
-lean_dec(x_8);
-lean_inc(x_1);
-x_10 = l_Lean_Parser_Tactic_ident_x27___elambda__1(x_1, x_6);
-x_11 = lean_ctor_get(x_10, 3);
-lean_inc(x_11);
-if (lean_obj_tag(x_11) == 0)
-{
-lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15;
-x_12 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_withIds___elambda__1___spec__1(x_1, x_10);
-x_13 = l_Lean_nullKind;
-x_14 = l_Lean_Parser_ParserState_mkNode(x_12, x_13, x_9);
-x_15 = lean_ctor_get(x_14, 3);
-lean_inc(x_15);
-if (lean_obj_tag(x_15) == 0)
-{
-lean_object* x_16;
-lean_dec(x_5);
-x_16 = l_Lean_Parser_ParserState_mkNode(x_14, x_13, x_4);
-return x_16;
-}
-else
-{
-lean_object* x_17; uint8_t x_18;
-lean_dec(x_15);
-x_17 = lean_ctor_get(x_14, 1);
-lean_inc(x_17);
-x_18 = lean_nat_dec_eq(x_17, x_5);
-lean_dec(x_17);
-if (x_18 == 0)
-{
-lean_object* x_19;
-lean_dec(x_5);
-x_19 = l_Lean_Parser_ParserState_mkNode(x_14, x_13, x_4);
-return x_19;
-}
-else
-{
-lean_object* x_20; lean_object* x_21;
-x_20 = l_Lean_Parser_ParserState_restore(x_14, x_4, x_5);
-x_21 = l_Lean_Parser_ParserState_mkNode(x_20, x_13, x_4);
-return x_21;
-}
-}
-}
-else
-{
-lean_object* x_22; lean_object* x_23; lean_object* x_24;
-lean_dec(x_11);
-lean_dec(x_1);
-x_22 = l_Lean_nullKind;
-x_23 = l_Lean_Parser_ParserState_mkNode(x_10, x_22, x_9);
-x_24 = lean_ctor_get(x_23, 3);
-lean_inc(x_24);
-if (lean_obj_tag(x_24) == 0)
-{
-lean_object* x_25;
-lean_dec(x_5);
-x_25 = l_Lean_Parser_ParserState_mkNode(x_23, x_22, x_4);
-return x_25;
-}
-else
-{
-lean_object* x_26; uint8_t x_27;
-lean_dec(x_24);
-x_26 = lean_ctor_get(x_23, 1);
-lean_inc(x_26);
-x_27 = lean_nat_dec_eq(x_26, x_5);
-lean_dec(x_26);
-if (x_27 == 0)
-{
-lean_object* x_28;
-lean_dec(x_5);
-x_28 = l_Lean_Parser_ParserState_mkNode(x_23, x_22, x_4);
-return x_28;
-}
-else
-{
-lean_object* x_29; lean_object* x_30;
-x_29 = l_Lean_Parser_ParserState_restore(x_23, x_4, x_5);
-x_30 = l_Lean_Parser_ParserState_mkNode(x_29, x_22, x_4);
-return x_30;
-}
-}
-}
-}
-else
-{
-lean_object* x_31; uint8_t x_32;
-lean_dec(x_7);
-lean_dec(x_1);
-x_31 = lean_ctor_get(x_6, 1);
-lean_inc(x_31);
-x_32 = lean_nat_dec_eq(x_31, x_5);
-lean_dec(x_31);
-if (x_32 == 0)
-{
-lean_object* x_33; lean_object* x_34;
-lean_dec(x_5);
-x_33 = l_Lean_nullKind;
-x_34 = l_Lean_Parser_ParserState_mkNode(x_6, x_33, x_4);
-return x_34;
-}
-else
-{
-lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_35 = l_Lean_Parser_ParserState_restore(x_6, x_4, x_5);
-x_36 = l_Lean_nullKind;
-x_37 = l_Lean_Parser_ParserState_mkNode(x_35, x_36, x_4);
-return x_37;
-}
-}
-}
+lean_object* x_3; lean_object* x_4;
+x_3 = l_Lean_Parser_Tactic_withIds___elambda__1___closed__2;
+x_4 = l_Lean_Parser_optionalFn(x_3, x_1, x_2);
+return x_4;
}
}
static lean_object* _init_l_Lean_Parser_Tactic_withIds___closed__1() {
@@ -26957,6 +20077,64 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Tactic_injection___elambda__1___closed__7() {
_start:
{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Tactic_injection___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbolFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_injection___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_2 = l_Lean_Parser_Tactic_withIds___closed__3;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_injection___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_injection___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Tactic_injection___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_injection___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_injection___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Tactic_injection___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_injection___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Tactic_injection___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_injection___elambda__1___closed__12() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Char_HasRepr___closed__1;
x_2 = l_Lean_Parser_Tactic_injection___elambda__1___closed__6;
@@ -26964,11 +20142,11 @@ x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Tactic_injection___elambda__1___closed__8() {
+static lean_object* _init_l_Lean_Parser_Tactic_injection___elambda__1___closed__13() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Tactic_injection___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Tactic_injection___elambda__1___closed__12;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
@@ -27000,7 +20178,7 @@ lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
x_11 = l_Lean_Parser_Tactic_injection___elambda__1___closed__6;
-x_12 = l_Lean_Parser_Tactic_injection___elambda__1___closed__8;
+x_12 = l_Lean_Parser_Tactic_injection___elambda__1___closed__13;
lean_inc(x_1);
x_13 = l_Lean_Parser_nonReservedSymbolFnAux(x_11, x_12, x_1, x_7);
x_14 = lean_ctor_get(x_13, 3);
@@ -27051,123 +20229,11 @@ return x_7;
}
else
{
-lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30;
-x_26 = lean_ctor_get(x_2, 0);
-lean_inc(x_26);
-x_27 = lean_array_get_size(x_26);
-lean_dec(x_26);
-x_28 = lean_ctor_get(x_2, 1);
-lean_inc(x_28);
-lean_inc(x_1);
-x_29 = lean_apply_2(x_4, x_1, x_2);
-x_30 = lean_ctor_get(x_29, 3);
-lean_inc(x_30);
-if (lean_obj_tag(x_30) == 0)
-{
-lean_dec(x_28);
-lean_dec(x_27);
-lean_dec(x_1);
-return x_29;
-}
-else
-{
-lean_object* x_31; lean_object* x_32; uint8_t x_33;
-x_31 = lean_ctor_get(x_30, 0);
-lean_inc(x_31);
-lean_dec(x_30);
-x_32 = lean_ctor_get(x_29, 1);
-lean_inc(x_32);
-x_33 = lean_nat_dec_eq(x_32, x_28);
-lean_dec(x_32);
-if (x_33 == 0)
-{
-lean_dec(x_31);
-lean_dec(x_28);
-lean_dec(x_27);
-lean_dec(x_1);
-return x_29;
-}
-else
-{
-lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-lean_inc(x_28);
-x_34 = l_Lean_Parser_ParserState_restore(x_29, x_27, x_28);
-lean_dec(x_27);
-x_35 = lean_unsigned_to_nat(1024u);
-x_36 = l_Lean_Parser_checkPrecFn(x_35, x_1, x_34);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43;
-x_38 = lean_ctor_get(x_36, 0);
-lean_inc(x_38);
-x_39 = lean_array_get_size(x_38);
-lean_dec(x_38);
-x_40 = l_Lean_Parser_Tactic_injection___elambda__1___closed__6;
-x_41 = l_Lean_Parser_Tactic_injection___elambda__1___closed__8;
-lean_inc(x_1);
-x_42 = l_Lean_Parser_nonReservedSymbolFnAux(x_40, x_41, x_1, x_36);
-x_43 = lean_ctor_get(x_42, 3);
-lean_inc(x_43);
-if (lean_obj_tag(x_43) == 0)
-{
-lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47;
-x_44 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_45 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_46 = l_Lean_Parser_categoryParser___elambda__1(x_44, x_45, x_1, x_42);
-x_47 = lean_ctor_get(x_46, 3);
-lean_inc(x_47);
-if (lean_obj_tag(x_47) == 0)
-{
-lean_object* x_48; lean_object* x_49; lean_object* x_50; uint8_t x_51; lean_object* x_52;
-x_48 = l_Lean_Parser_Tactic_withIds___elambda__1(x_1, x_46);
-x_49 = l_Lean_Parser_Tactic_injection___elambda__1___closed__2;
-x_50 = l_Lean_Parser_ParserState_mkNode(x_48, x_49, x_39);
-x_51 = 1;
-x_52 = l_Lean_Parser_mergeOrElseErrors(x_50, x_31, x_28, x_51);
-lean_dec(x_28);
-return x_52;
-}
-else
-{
-lean_object* x_53; lean_object* x_54; uint8_t x_55; lean_object* x_56;
-lean_dec(x_47);
-lean_dec(x_1);
-x_53 = l_Lean_Parser_Tactic_injection___elambda__1___closed__2;
-x_54 = l_Lean_Parser_ParserState_mkNode(x_46, x_53, x_39);
-x_55 = 1;
-x_56 = l_Lean_Parser_mergeOrElseErrors(x_54, x_31, x_28, x_55);
-lean_dec(x_28);
-return x_56;
-}
-}
-else
-{
-lean_object* x_57; lean_object* x_58; uint8_t x_59; lean_object* x_60;
-lean_dec(x_43);
-lean_dec(x_1);
-x_57 = l_Lean_Parser_Tactic_injection___elambda__1___closed__2;
-x_58 = l_Lean_Parser_ParserState_mkNode(x_42, x_57, x_39);
-x_59 = 1;
-x_60 = l_Lean_Parser_mergeOrElseErrors(x_58, x_31, x_28, x_59);
-lean_dec(x_28);
-return x_60;
-}
-}
-else
-{
-uint8_t x_61; lean_object* x_62;
-lean_dec(x_37);
-lean_dec(x_1);
-x_61 = 1;
-x_62 = l_Lean_Parser_mergeOrElseErrors(x_36, x_31, x_28, x_61);
-lean_dec(x_28);
-return x_62;
-}
-}
-}
+lean_object* x_26; uint8_t x_27; lean_object* x_28;
+x_26 = l_Lean_Parser_Tactic_injection___elambda__1___closed__11;
+x_27 = 1;
+x_28 = l_Lean_Parser_orelseFnCore(x_4, x_26, x_27, x_1, x_2);
+return x_28;
}
}
}
@@ -27549,6 +20615,54 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Tactic_paren___elambda__1___closed__3() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_seq1___closed__4;
+x_2 = l_Lean_Parser_Level_paren___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_paren___elambda__1___closed__4() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__3;
+x_2 = l_Lean_Parser_Tactic_paren___elambda__1___closed__3;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_paren___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___lambda__1___closed__3;
+x_2 = l_Lean_Parser_Tactic_paren___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_paren___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Tactic_paren___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Tactic_paren___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -27569,162 +20683,52 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_42; lean_object* x_43; lean_object* x_44;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_42 = lean_ctor_get(x_7, 1);
-lean_inc(x_42);
+x_11 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__3;
+x_12 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__7;
lean_inc(x_1);
-x_43 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-lean_object* x_45; lean_object* x_46;
-x_45 = lean_ctor_get(x_43, 0);
-lean_inc(x_45);
-x_46 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_45);
-lean_dec(x_45);
-if (lean_obj_tag(x_46) == 2)
-{
-lean_object* x_47; lean_object* x_48; uint8_t x_49;
-x_47 = lean_ctor_get(x_46, 1);
-lean_inc(x_47);
-lean_dec(x_46);
-x_48 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__3;
-x_49 = lean_string_dec_eq(x_47, x_48);
-lean_dec(x_47);
-if (x_49 == 0)
-{
-lean_object* x_50; lean_object* x_51;
-x_50 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-x_51 = l_Lean_Parser_ParserState_mkErrorsAt(x_43, x_50, x_42);
-x_11 = x_51;
-goto block_41;
-}
-else
-{
-lean_dec(x_42);
-x_11 = x_43;
-goto block_41;
-}
-}
-else
-{
-lean_object* x_52; lean_object* x_53;
-lean_dec(x_46);
-x_52 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-x_53 = l_Lean_Parser_ParserState_mkErrorsAt(x_43, x_52, x_42);
-x_11 = x_53;
-goto block_41;
-}
-}
-else
-{
-lean_object* x_54; lean_object* x_55;
-lean_dec(x_44);
-x_54 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-x_55 = l_Lean_Parser_ParserState_mkErrorsAt(x_43, x_54, x_42);
-x_11 = x_55;
-goto block_41;
-}
-block_41:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14;
-lean_inc(x_1);
-x_13 = l_Lean_Parser_Tactic_seq1___elambda__1(x_1, x_11);
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
x_14 = lean_ctor_get(x_13, 3);
lean_inc(x_14);
if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_15 = lean_ctor_get(x_13, 1);
-lean_inc(x_15);
-x_16 = l_Lean_Parser_tokenFn(x_1, x_13);
-x_17 = lean_ctor_get(x_16, 3);
-lean_inc(x_17);
-if (lean_obj_tag(x_17) == 0)
+lean_object* x_15; lean_object* x_16;
+lean_inc(x_1);
+x_15 = l_Lean_Parser_Tactic_seq1___elambda__1(x_1, x_13);
+x_16 = lean_ctor_get(x_15, 3);
+lean_inc(x_16);
+if (lean_obj_tag(x_16) == 0)
{
-lean_object* x_18; lean_object* x_19;
-x_18 = lean_ctor_get(x_16, 0);
-lean_inc(x_18);
-x_19 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_18);
-lean_dec(x_18);
-if (lean_obj_tag(x_19) == 2)
-{
-lean_object* x_20; lean_object* x_21; uint8_t x_22;
-x_20 = lean_ctor_get(x_19, 1);
-lean_inc(x_20);
-lean_dec(x_19);
-x_21 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
-x_22 = lean_string_dec_eq(x_20, x_21);
-lean_dec(x_20);
-if (x_22 == 0)
-{
-lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26;
-x_23 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_24 = l_Lean_Parser_ParserState_mkErrorsAt(x_16, x_23, x_15);
-x_25 = l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___lambda__1___closed__3;
-x_26 = l_Lean_Parser_ParserState_mkNode(x_24, x_25, x_10);
-return x_26;
+lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
+x_17 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
+x_18 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__9;
+x_19 = l_Lean_Parser_symbolFnAux(x_17, x_18, x_1, x_15);
+x_20 = l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___lambda__1___closed__3;
+x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_10);
+return x_21;
}
else
{
-lean_object* x_27; lean_object* x_28;
-lean_dec(x_15);
-x_27 = l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___lambda__1___closed__3;
-x_28 = l_Lean_Parser_ParserState_mkNode(x_16, x_27, x_10);
-return x_28;
+lean_object* x_22; lean_object* x_23;
+lean_dec(x_16);
+lean_dec(x_1);
+x_22 = l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___lambda__1___closed__3;
+x_23 = l_Lean_Parser_ParserState_mkNode(x_15, x_22, x_10);
+return x_23;
}
}
else
{
-lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
-lean_dec(x_19);
-x_29 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_16, x_29, x_15);
-x_31 = l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___lambda__1___closed__3;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_10);
-return x_32;
-}
-}
-else
-{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36;
-lean_dec(x_17);
-x_33 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_16, x_33, x_15);
-x_35 = l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___lambda__1___closed__3;
-x_36 = l_Lean_Parser_ParserState_mkNode(x_34, x_35, x_10);
-return x_36;
-}
-}
-else
-{
-lean_object* x_37; lean_object* x_38;
+lean_object* x_24; lean_object* x_25;
lean_dec(x_14);
lean_dec(x_1);
-x_37 = l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___lambda__1___closed__3;
-x_38 = l_Lean_Parser_ParserState_mkNode(x_13, x_37, x_10);
-return x_38;
-}
-}
-else
-{
-lean_object* x_39; lean_object* x_40;
-lean_dec(x_12);
-lean_dec(x_1);
-x_39 = l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___lambda__1___closed__3;
-x_40 = l_Lean_Parser_ParserState_mkNode(x_11, x_39, x_10);
-return x_40;
-}
+x_24 = l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___lambda__1___closed__3;
+x_25 = l_Lean_Parser_ParserState_mkNode(x_13, x_24, x_10);
+return x_25;
}
}
else
@@ -27736,242 +20740,11 @@ return x_7;
}
else
{
-lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60;
-x_56 = lean_ctor_get(x_2, 0);
-lean_inc(x_56);
-x_57 = lean_array_get_size(x_56);
-lean_dec(x_56);
-x_58 = lean_ctor_get(x_2, 1);
-lean_inc(x_58);
-lean_inc(x_1);
-x_59 = lean_apply_2(x_4, x_1, x_2);
-x_60 = lean_ctor_get(x_59, 3);
-lean_inc(x_60);
-if (lean_obj_tag(x_60) == 0)
-{
-lean_dec(x_58);
-lean_dec(x_57);
-lean_dec(x_1);
-return x_59;
-}
-else
-{
-lean_object* x_61; lean_object* x_62; uint8_t x_63;
-x_61 = lean_ctor_get(x_60, 0);
-lean_inc(x_61);
-lean_dec(x_60);
-x_62 = lean_ctor_get(x_59, 1);
-lean_inc(x_62);
-x_63 = lean_nat_dec_eq(x_62, x_58);
-lean_dec(x_62);
-if (x_63 == 0)
-{
-lean_dec(x_61);
-lean_dec(x_58);
-lean_dec(x_57);
-lean_dec(x_1);
-return x_59;
-}
-else
-{
-lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67;
-lean_inc(x_58);
-x_64 = l_Lean_Parser_ParserState_restore(x_59, x_57, x_58);
-lean_dec(x_57);
-x_65 = lean_unsigned_to_nat(1024u);
-x_66 = l_Lean_Parser_checkPrecFn(x_65, x_1, x_64);
-x_67 = lean_ctor_get(x_66, 3);
-lean_inc(x_67);
-if (lean_obj_tag(x_67) == 0)
-{
-lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_113; lean_object* x_114; lean_object* x_115;
-x_68 = lean_ctor_get(x_66, 0);
-lean_inc(x_68);
-x_69 = lean_array_get_size(x_68);
-lean_dec(x_68);
-x_113 = lean_ctor_get(x_66, 1);
-lean_inc(x_113);
-lean_inc(x_1);
-x_114 = l_Lean_Parser_tokenFn(x_1, x_66);
-x_115 = lean_ctor_get(x_114, 3);
-lean_inc(x_115);
-if (lean_obj_tag(x_115) == 0)
-{
-lean_object* x_116; lean_object* x_117;
-x_116 = lean_ctor_get(x_114, 0);
-lean_inc(x_116);
-x_117 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_116);
-lean_dec(x_116);
-if (lean_obj_tag(x_117) == 2)
-{
-lean_object* x_118; lean_object* x_119; uint8_t x_120;
-x_118 = lean_ctor_get(x_117, 1);
-lean_inc(x_118);
-lean_dec(x_117);
-x_119 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__3;
-x_120 = lean_string_dec_eq(x_118, x_119);
-lean_dec(x_118);
-if (x_120 == 0)
-{
-lean_object* x_121; lean_object* x_122;
-x_121 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-x_122 = l_Lean_Parser_ParserState_mkErrorsAt(x_114, x_121, x_113);
-x_70 = x_122;
-goto block_112;
-}
-else
-{
-lean_dec(x_113);
-x_70 = x_114;
-goto block_112;
-}
-}
-else
-{
-lean_object* x_123; lean_object* x_124;
-lean_dec(x_117);
-x_123 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-x_124 = l_Lean_Parser_ParserState_mkErrorsAt(x_114, x_123, x_113);
-x_70 = x_124;
-goto block_112;
-}
-}
-else
-{
-lean_object* x_125; lean_object* x_126;
-lean_dec(x_115);
-x_125 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-x_126 = l_Lean_Parser_ParserState_mkErrorsAt(x_114, x_125, x_113);
-x_70 = x_126;
-goto block_112;
-}
-block_112:
-{
-lean_object* x_71;
-x_71 = lean_ctor_get(x_70, 3);
-lean_inc(x_71);
-if (lean_obj_tag(x_71) == 0)
-{
-lean_object* x_72; lean_object* x_73;
-lean_inc(x_1);
-x_72 = l_Lean_Parser_Tactic_seq1___elambda__1(x_1, x_70);
-x_73 = lean_ctor_get(x_72, 3);
-lean_inc(x_73);
-if (lean_obj_tag(x_73) == 0)
-{
-lean_object* x_74; lean_object* x_75; lean_object* x_76;
-x_74 = lean_ctor_get(x_72, 1);
-lean_inc(x_74);
-x_75 = l_Lean_Parser_tokenFn(x_1, x_72);
-x_76 = lean_ctor_get(x_75, 3);
-lean_inc(x_76);
-if (lean_obj_tag(x_76) == 0)
-{
-lean_object* x_77; lean_object* x_78;
-x_77 = lean_ctor_get(x_75, 0);
-lean_inc(x_77);
-x_78 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_77);
-lean_dec(x_77);
-if (lean_obj_tag(x_78) == 2)
-{
-lean_object* x_79; lean_object* x_80; uint8_t x_81;
-x_79 = lean_ctor_get(x_78, 1);
-lean_inc(x_79);
-lean_dec(x_78);
-x_80 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
-x_81 = lean_string_dec_eq(x_79, x_80);
-lean_dec(x_79);
-if (x_81 == 0)
-{
-lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; uint8_t x_86; lean_object* x_87;
-x_82 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_83 = l_Lean_Parser_ParserState_mkErrorsAt(x_75, x_82, x_74);
-x_84 = l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___lambda__1___closed__3;
-x_85 = l_Lean_Parser_ParserState_mkNode(x_83, x_84, x_69);
-x_86 = 1;
-x_87 = l_Lean_Parser_mergeOrElseErrors(x_85, x_61, x_58, x_86);
-lean_dec(x_58);
-return x_87;
-}
-else
-{
-lean_object* x_88; lean_object* x_89; uint8_t x_90; lean_object* x_91;
-lean_dec(x_74);
-x_88 = l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___lambda__1___closed__3;
-x_89 = l_Lean_Parser_ParserState_mkNode(x_75, x_88, x_69);
-x_90 = 1;
-x_91 = l_Lean_Parser_mergeOrElseErrors(x_89, x_61, x_58, x_90);
-lean_dec(x_58);
-return x_91;
-}
-}
-else
-{
-lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; uint8_t x_96; lean_object* x_97;
-lean_dec(x_78);
-x_92 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_93 = l_Lean_Parser_ParserState_mkErrorsAt(x_75, x_92, x_74);
-x_94 = l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___lambda__1___closed__3;
-x_95 = l_Lean_Parser_ParserState_mkNode(x_93, x_94, x_69);
-x_96 = 1;
-x_97 = l_Lean_Parser_mergeOrElseErrors(x_95, x_61, x_58, x_96);
-lean_dec(x_58);
-return x_97;
-}
-}
-else
-{
-lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; uint8_t x_102; lean_object* x_103;
-lean_dec(x_76);
-x_98 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_99 = l_Lean_Parser_ParserState_mkErrorsAt(x_75, x_98, x_74);
-x_100 = l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___lambda__1___closed__3;
-x_101 = l_Lean_Parser_ParserState_mkNode(x_99, x_100, x_69);
-x_102 = 1;
-x_103 = l_Lean_Parser_mergeOrElseErrors(x_101, x_61, x_58, x_102);
-lean_dec(x_58);
-return x_103;
-}
-}
-else
-{
-lean_object* x_104; lean_object* x_105; uint8_t x_106; lean_object* x_107;
-lean_dec(x_73);
-lean_dec(x_1);
-x_104 = l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___lambda__1___closed__3;
-x_105 = l_Lean_Parser_ParserState_mkNode(x_72, x_104, x_69);
-x_106 = 1;
-x_107 = l_Lean_Parser_mergeOrElseErrors(x_105, x_61, x_58, x_106);
-lean_dec(x_58);
-return x_107;
-}
-}
-else
-{
-lean_object* x_108; lean_object* x_109; uint8_t x_110; lean_object* x_111;
-lean_dec(x_71);
-lean_dec(x_1);
-x_108 = l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___lambda__1___closed__3;
-x_109 = l_Lean_Parser_ParserState_mkNode(x_70, x_108, x_69);
-x_110 = 1;
-x_111 = l_Lean_Parser_mergeOrElseErrors(x_109, x_61, x_58, x_110);
-lean_dec(x_58);
-return x_111;
-}
-}
-}
-else
-{
-uint8_t x_127; lean_object* x_128;
-lean_dec(x_67);
-lean_dec(x_1);
-x_127 = 1;
-x_128 = l_Lean_Parser_mergeOrElseErrors(x_66, x_61, x_58, x_127);
-lean_dec(x_58);
-return x_128;
-}
-}
-}
+lean_object* x_26; uint8_t x_27; lean_object* x_28;
+x_26 = l_Lean_Parser_Tactic_paren___elambda__1___closed__6;
+x_27 = 1;
+x_28 = l_Lean_Parser_orelseFnCore(x_4, x_26, x_27, x_1, x_2);
+return x_28;
}
}
}
@@ -28364,18 +21137,6 @@ x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Tactic_orelse___elambda__1___closed__5() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Tactic_orelse___elambda__1___closed__4;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
-}
-}
lean_object* l_Lean_Parser_Tactic_orelse___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -28386,93 +21147,37 @@ x_5 = lean_ctor_get(x_4, 3);
lean_inc(x_5);
if (lean_obj_tag(x_5) == 0)
{
-lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_18; lean_object* x_19; lean_object* x_20;
+lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
x_6 = lean_ctor_get(x_4, 0);
lean_inc(x_6);
x_7 = lean_array_get_size(x_6);
lean_dec(x_6);
-x_18 = lean_ctor_get(x_4, 1);
-lean_inc(x_18);
+x_8 = l_Lean_Parser_Tactic_orelse___elambda__1___closed__2;
+x_9 = l_Lean_Parser_Tactic_orelse___elambda__1___closed__4;
lean_inc(x_1);
-x_19 = l_Lean_Parser_tokenFn(x_1, x_4);
-x_20 = lean_ctor_get(x_19, 3);
-lean_inc(x_20);
-if (lean_obj_tag(x_20) == 0)
+x_10 = l_Lean_Parser_symbolFnAux(x_8, x_9, x_1, x_4);
+x_11 = lean_ctor_get(x_10, 3);
+lean_inc(x_11);
+if (lean_obj_tag(x_11) == 0)
{
-lean_object* x_21; lean_object* x_22;
-x_21 = lean_ctor_get(x_19, 0);
-lean_inc(x_21);
-x_22 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_21);
-lean_dec(x_21);
-if (lean_obj_tag(x_22) == 2)
-{
-lean_object* x_23; lean_object* x_24; uint8_t x_25;
-x_23 = lean_ctor_get(x_22, 1);
-lean_inc(x_23);
-lean_dec(x_22);
-x_24 = l_Lean_Parser_Tactic_orelse___elambda__1___closed__2;
-x_25 = lean_string_dec_eq(x_23, x_24);
-lean_dec(x_23);
-if (x_25 == 0)
-{
-lean_object* x_26; lean_object* x_27;
-x_26 = l_Lean_Parser_Tactic_orelse___elambda__1___closed__5;
-x_27 = l_Lean_Parser_ParserState_mkErrorsAt(x_19, x_26, x_18);
-x_8 = x_27;
-goto block_17;
-}
-else
-{
-lean_dec(x_18);
-x_8 = x_19;
-goto block_17;
-}
-}
-else
-{
-lean_object* x_28; lean_object* x_29;
-lean_dec(x_22);
-x_28 = l_Lean_Parser_Tactic_orelse___elambda__1___closed__5;
-x_29 = l_Lean_Parser_ParserState_mkErrorsAt(x_19, x_28, x_18);
-x_8 = x_29;
-goto block_17;
-}
-}
-else
-{
-lean_object* x_30; lean_object* x_31;
-lean_dec(x_20);
-x_30 = l_Lean_Parser_Tactic_orelse___elambda__1___closed__5;
-x_31 = l_Lean_Parser_ParserState_mkErrorsAt(x_19, x_30, x_18);
-x_8 = x_31;
-goto block_17;
-}
-block_17:
-{
-lean_object* x_9;
-x_9 = lean_ctor_get(x_8, 3);
-lean_inc(x_9);
-if (lean_obj_tag(x_9) == 0)
-{
-lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
-x_10 = l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___closed__2;
-x_11 = lean_unsigned_to_nat(1u);
-x_12 = l_Lean_Parser_categoryParser___elambda__1(x_10, x_11, x_1, x_8);
-x_13 = l_Lean_Parser_Tactic_orelse___elambda__1___closed__1;
-x_14 = l_Lean_Parser_ParserState_mkTrailingNode(x_12, x_13, x_7);
-lean_dec(x_7);
-return x_14;
-}
-else
-{
-lean_object* x_15; lean_object* x_16;
-lean_dec(x_9);
-lean_dec(x_1);
+lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
+x_12 = l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___closed__2;
+x_13 = lean_unsigned_to_nat(1u);
+x_14 = l_Lean_Parser_categoryParser___elambda__1(x_12, x_13, x_1, x_10);
x_15 = l_Lean_Parser_Tactic_orelse___elambda__1___closed__1;
-x_16 = l_Lean_Parser_ParserState_mkTrailingNode(x_8, x_15, x_7);
+x_16 = l_Lean_Parser_ParserState_mkTrailingNode(x_14, x_15, x_7);
lean_dec(x_7);
return x_16;
}
+else
+{
+lean_object* x_17; lean_object* x_18;
+lean_dec(x_11);
+lean_dec(x_1);
+x_17 = l_Lean_Parser_Tactic_orelse___elambda__1___closed__1;
+x_18 = l_Lean_Parser_ParserState_mkTrailingNode(x_10, x_17, x_7);
+lean_dec(x_7);
+return x_18;
}
}
else
@@ -28710,6 +21415,52 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Tactic_have___elambda__1___closed__4() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_have___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_have___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_have___elambda__1___closed__4;
+x_2 = l_Lean_Parser_Term_haveDecl___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_have___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_have___elambda__1___closed__1;
+x_2 = l_Lean_Parser_Tactic_have___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_have___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Tactic_have___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Tactic_have___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -28730,89 +21481,33 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_19; lean_object* x_20; lean_object* x_21;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_19 = lean_ctor_get(x_7, 1);
-lean_inc(x_19);
+x_11 = l_Lean_Parser_Term_have___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Term_have___elambda__1___closed__13;
lean_inc(x_1);
-x_20 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_21 = lean_ctor_get(x_20, 3);
-lean_inc(x_21);
-if (lean_obj_tag(x_21) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_22; lean_object* x_23;
-x_22 = lean_ctor_get(x_20, 0);
-lean_inc(x_22);
-x_23 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_22);
-lean_dec(x_22);
-if (lean_obj_tag(x_23) == 2)
-{
-lean_object* x_24; lean_object* x_25; uint8_t x_26;
-x_24 = lean_ctor_get(x_23, 1);
-lean_inc(x_24);
-lean_dec(x_23);
-x_25 = l_Lean_Parser_Term_have___elambda__1___closed__6;
-x_26 = lean_string_dec_eq(x_24, x_25);
-lean_dec(x_24);
-if (x_26 == 0)
-{
-lean_object* x_27; lean_object* x_28;
-x_27 = l_Lean_Parser_Term_have___elambda__1___closed__10;
-x_28 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_27, x_19);
-x_11 = x_28;
-goto block_18;
-}
-else
-{
-lean_dec(x_19);
-x_11 = x_20;
-goto block_18;
-}
-}
-else
-{
-lean_object* x_29; lean_object* x_30;
-lean_dec(x_23);
-x_29 = l_Lean_Parser_Term_have___elambda__1___closed__10;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_29, x_19);
-x_11 = x_30;
-goto block_18;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32;
-lean_dec(x_21);
-x_31 = l_Lean_Parser_Term_have___elambda__1___closed__10;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_31, x_19);
-x_11 = x_32;
-goto block_18;
-}
-block_18:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15;
-x_13 = l_Lean_Parser_Term_haveDecl___elambda__1(x_1, x_11);
-x_14 = l_Lean_Parser_Tactic_have___elambda__1___closed__1;
-x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
-return x_15;
-}
-else
-{
-lean_object* x_16; lean_object* x_17;
-lean_dec(x_12);
-lean_dec(x_1);
+lean_object* x_15; lean_object* x_16; lean_object* x_17;
+x_15 = l_Lean_Parser_Term_haveDecl___elambda__1(x_1, x_13);
x_16 = l_Lean_Parser_Tactic_have___elambda__1___closed__1;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_11, x_16, x_10);
+x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_10);
return x_17;
}
+else
+{
+lean_object* x_18; lean_object* x_19;
+lean_dec(x_14);
+lean_dec(x_1);
+x_18 = l_Lean_Parser_Tactic_have___elambda__1___closed__1;
+x_19 = l_Lean_Parser_ParserState_mkNode(x_13, x_18, x_10);
+return x_19;
}
}
else
@@ -28824,157 +21519,11 @@ return x_7;
}
else
{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_33 = lean_ctor_get(x_2, 0);
-lean_inc(x_33);
-x_34 = lean_array_get_size(x_33);
-lean_dec(x_33);
-x_35 = lean_ctor_get(x_2, 1);
-lean_inc(x_35);
-lean_inc(x_1);
-x_36 = lean_apply_2(x_4, x_1, x_2);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_36, 1);
-lean_inc(x_39);
-x_40 = lean_nat_dec_eq(x_39, x_35);
-lean_dec(x_39);
-if (x_40 == 0)
-{
-lean_dec(x_38);
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
-lean_inc(x_35);
-x_41 = l_Lean_Parser_ParserState_restore(x_36, x_34, x_35);
-lean_dec(x_34);
-x_42 = lean_unsigned_to_nat(1024u);
-x_43 = l_Lean_Parser_checkPrecFn(x_42, x_1, x_41);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_59; lean_object* x_60; lean_object* x_61;
-x_45 = lean_ctor_get(x_43, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-x_59 = lean_ctor_get(x_43, 1);
-lean_inc(x_59);
-lean_inc(x_1);
-x_60 = l_Lean_Parser_tokenFn(x_1, x_43);
-x_61 = lean_ctor_get(x_60, 3);
-lean_inc(x_61);
-if (lean_obj_tag(x_61) == 0)
-{
-lean_object* x_62; lean_object* x_63;
-x_62 = lean_ctor_get(x_60, 0);
-lean_inc(x_62);
-x_63 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_62);
-lean_dec(x_62);
-if (lean_obj_tag(x_63) == 2)
-{
-lean_object* x_64; lean_object* x_65; uint8_t x_66;
-x_64 = lean_ctor_get(x_63, 1);
-lean_inc(x_64);
-lean_dec(x_63);
-x_65 = l_Lean_Parser_Term_have___elambda__1___closed__6;
-x_66 = lean_string_dec_eq(x_64, x_65);
-lean_dec(x_64);
-if (x_66 == 0)
-{
-lean_object* x_67; lean_object* x_68;
-x_67 = l_Lean_Parser_Term_have___elambda__1___closed__10;
-x_68 = l_Lean_Parser_ParserState_mkErrorsAt(x_60, x_67, x_59);
-x_47 = x_68;
-goto block_58;
-}
-else
-{
-lean_dec(x_59);
-x_47 = x_60;
-goto block_58;
-}
-}
-else
-{
-lean_object* x_69; lean_object* x_70;
-lean_dec(x_63);
-x_69 = l_Lean_Parser_Term_have___elambda__1___closed__10;
-x_70 = l_Lean_Parser_ParserState_mkErrorsAt(x_60, x_69, x_59);
-x_47 = x_70;
-goto block_58;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72;
-lean_dec(x_61);
-x_71 = l_Lean_Parser_Term_have___elambda__1___closed__10;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_60, x_71, x_59);
-x_47 = x_72;
-goto block_58;
-}
-block_58:
-{
-lean_object* x_48;
-x_48 = lean_ctor_get(x_47, 3);
-lean_inc(x_48);
-if (lean_obj_tag(x_48) == 0)
-{
-lean_object* x_49; lean_object* x_50; lean_object* x_51; uint8_t x_52; lean_object* x_53;
-x_49 = l_Lean_Parser_Term_haveDecl___elambda__1(x_1, x_47);
-x_50 = l_Lean_Parser_Tactic_have___elambda__1___closed__1;
-x_51 = l_Lean_Parser_ParserState_mkNode(x_49, x_50, x_46);
-x_52 = 1;
-x_53 = l_Lean_Parser_mergeOrElseErrors(x_51, x_38, x_35, x_52);
-lean_dec(x_35);
-return x_53;
-}
-else
-{
-lean_object* x_54; lean_object* x_55; uint8_t x_56; lean_object* x_57;
-lean_dec(x_48);
-lean_dec(x_1);
-x_54 = l_Lean_Parser_Tactic_have___elambda__1___closed__1;
-x_55 = l_Lean_Parser_ParserState_mkNode(x_47, x_54, x_46);
-x_56 = 1;
-x_57 = l_Lean_Parser_mergeOrElseErrors(x_55, x_38, x_35, x_56);
-lean_dec(x_35);
-return x_57;
-}
-}
-}
-else
-{
-uint8_t x_73; lean_object* x_74;
-lean_dec(x_44);
-lean_dec(x_1);
-x_73 = 1;
-x_74 = l_Lean_Parser_mergeOrElseErrors(x_43, x_38, x_35, x_73);
-lean_dec(x_35);
-return x_74;
-}
-}
-}
+lean_object* x_20; uint8_t x_21; lean_object* x_22;
+x_20 = l_Lean_Parser_Tactic_have___elambda__1___closed__7;
+x_21 = 1;
+x_22 = l_Lean_Parser_orelseFnCore(x_4, x_20, x_21, x_1, x_2);
+return x_22;
}
}
}
@@ -29196,6 +21745,52 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Tactic_suffices___elambda__1___closed__4() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_suffices___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_suffices___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_suffices___elambda__1___closed__4;
+x_2 = l_Lean_Parser_Term_sufficesDecl___closed__3;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_suffices___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_suffices___elambda__1___closed__1;
+x_2 = l_Lean_Parser_Tactic_suffices___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_suffices___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Tactic_suffices___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Tactic_suffices___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -29216,89 +21811,33 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_19; lean_object* x_20; lean_object* x_21;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_19 = lean_ctor_get(x_7, 1);
-lean_inc(x_19);
+x_11 = l_Lean_Parser_Term_suffices___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Term_suffices___elambda__1___closed__12;
lean_inc(x_1);
-x_20 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_21 = lean_ctor_get(x_20, 3);
-lean_inc(x_21);
-if (lean_obj_tag(x_21) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_22; lean_object* x_23;
-x_22 = lean_ctor_get(x_20, 0);
-lean_inc(x_22);
-x_23 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_22);
-lean_dec(x_22);
-if (lean_obj_tag(x_23) == 2)
-{
-lean_object* x_24; lean_object* x_25; uint8_t x_26;
-x_24 = lean_ctor_get(x_23, 1);
-lean_inc(x_24);
-lean_dec(x_23);
-x_25 = l_Lean_Parser_Term_suffices___elambda__1___closed__6;
-x_26 = lean_string_dec_eq(x_24, x_25);
-lean_dec(x_24);
-if (x_26 == 0)
-{
-lean_object* x_27; lean_object* x_28;
-x_27 = l_Lean_Parser_Term_suffices___elambda__1___closed__9;
-x_28 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_27, x_19);
-x_11 = x_28;
-goto block_18;
-}
-else
-{
-lean_dec(x_19);
-x_11 = x_20;
-goto block_18;
-}
-}
-else
-{
-lean_object* x_29; lean_object* x_30;
-lean_dec(x_23);
-x_29 = l_Lean_Parser_Term_suffices___elambda__1___closed__9;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_29, x_19);
-x_11 = x_30;
-goto block_18;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32;
-lean_dec(x_21);
-x_31 = l_Lean_Parser_Term_suffices___elambda__1___closed__9;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_31, x_19);
-x_11 = x_32;
-goto block_18;
-}
-block_18:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15;
-x_13 = l_Lean_Parser_Term_sufficesDecl___elambda__1(x_1, x_11);
-x_14 = l_Lean_Parser_Tactic_suffices___elambda__1___closed__1;
-x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
-return x_15;
-}
-else
-{
-lean_object* x_16; lean_object* x_17;
-lean_dec(x_12);
-lean_dec(x_1);
+lean_object* x_15; lean_object* x_16; lean_object* x_17;
+x_15 = l_Lean_Parser_Term_sufficesDecl___elambda__1(x_1, x_13);
x_16 = l_Lean_Parser_Tactic_suffices___elambda__1___closed__1;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_11, x_16, x_10);
+x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_10);
return x_17;
}
+else
+{
+lean_object* x_18; lean_object* x_19;
+lean_dec(x_14);
+lean_dec(x_1);
+x_18 = l_Lean_Parser_Tactic_suffices___elambda__1___closed__1;
+x_19 = l_Lean_Parser_ParserState_mkNode(x_13, x_18, x_10);
+return x_19;
}
}
else
@@ -29310,157 +21849,11 @@ return x_7;
}
else
{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_33 = lean_ctor_get(x_2, 0);
-lean_inc(x_33);
-x_34 = lean_array_get_size(x_33);
-lean_dec(x_33);
-x_35 = lean_ctor_get(x_2, 1);
-lean_inc(x_35);
-lean_inc(x_1);
-x_36 = lean_apply_2(x_4, x_1, x_2);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_36, 1);
-lean_inc(x_39);
-x_40 = lean_nat_dec_eq(x_39, x_35);
-lean_dec(x_39);
-if (x_40 == 0)
-{
-lean_dec(x_38);
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
-lean_inc(x_35);
-x_41 = l_Lean_Parser_ParserState_restore(x_36, x_34, x_35);
-lean_dec(x_34);
-x_42 = lean_unsigned_to_nat(1024u);
-x_43 = l_Lean_Parser_checkPrecFn(x_42, x_1, x_41);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_59; lean_object* x_60; lean_object* x_61;
-x_45 = lean_ctor_get(x_43, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-x_59 = lean_ctor_get(x_43, 1);
-lean_inc(x_59);
-lean_inc(x_1);
-x_60 = l_Lean_Parser_tokenFn(x_1, x_43);
-x_61 = lean_ctor_get(x_60, 3);
-lean_inc(x_61);
-if (lean_obj_tag(x_61) == 0)
-{
-lean_object* x_62; lean_object* x_63;
-x_62 = lean_ctor_get(x_60, 0);
-lean_inc(x_62);
-x_63 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_62);
-lean_dec(x_62);
-if (lean_obj_tag(x_63) == 2)
-{
-lean_object* x_64; lean_object* x_65; uint8_t x_66;
-x_64 = lean_ctor_get(x_63, 1);
-lean_inc(x_64);
-lean_dec(x_63);
-x_65 = l_Lean_Parser_Term_suffices___elambda__1___closed__6;
-x_66 = lean_string_dec_eq(x_64, x_65);
-lean_dec(x_64);
-if (x_66 == 0)
-{
-lean_object* x_67; lean_object* x_68;
-x_67 = l_Lean_Parser_Term_suffices___elambda__1___closed__9;
-x_68 = l_Lean_Parser_ParserState_mkErrorsAt(x_60, x_67, x_59);
-x_47 = x_68;
-goto block_58;
-}
-else
-{
-lean_dec(x_59);
-x_47 = x_60;
-goto block_58;
-}
-}
-else
-{
-lean_object* x_69; lean_object* x_70;
-lean_dec(x_63);
-x_69 = l_Lean_Parser_Term_suffices___elambda__1___closed__9;
-x_70 = l_Lean_Parser_ParserState_mkErrorsAt(x_60, x_69, x_59);
-x_47 = x_70;
-goto block_58;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72;
-lean_dec(x_61);
-x_71 = l_Lean_Parser_Term_suffices___elambda__1___closed__9;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_60, x_71, x_59);
-x_47 = x_72;
-goto block_58;
-}
-block_58:
-{
-lean_object* x_48;
-x_48 = lean_ctor_get(x_47, 3);
-lean_inc(x_48);
-if (lean_obj_tag(x_48) == 0)
-{
-lean_object* x_49; lean_object* x_50; lean_object* x_51; uint8_t x_52; lean_object* x_53;
-x_49 = l_Lean_Parser_Term_sufficesDecl___elambda__1(x_1, x_47);
-x_50 = l_Lean_Parser_Tactic_suffices___elambda__1___closed__1;
-x_51 = l_Lean_Parser_ParserState_mkNode(x_49, x_50, x_46);
-x_52 = 1;
-x_53 = l_Lean_Parser_mergeOrElseErrors(x_51, x_38, x_35, x_52);
-lean_dec(x_35);
-return x_53;
-}
-else
-{
-lean_object* x_54; lean_object* x_55; uint8_t x_56; lean_object* x_57;
-lean_dec(x_48);
-lean_dec(x_1);
-x_54 = l_Lean_Parser_Tactic_suffices___elambda__1___closed__1;
-x_55 = l_Lean_Parser_ParserState_mkNode(x_47, x_54, x_46);
-x_56 = 1;
-x_57 = l_Lean_Parser_mergeOrElseErrors(x_55, x_38, x_35, x_56);
-lean_dec(x_35);
-return x_57;
-}
-}
-}
-else
-{
-uint8_t x_73; lean_object* x_74;
-lean_dec(x_44);
-lean_dec(x_1);
-x_73 = 1;
-x_74 = l_Lean_Parser_mergeOrElseErrors(x_43, x_38, x_35, x_73);
-lean_dec(x_35);
-return x_74;
-}
-}
-}
+lean_object* x_20; uint8_t x_21; lean_object* x_22;
+x_20 = l_Lean_Parser_Tactic_suffices___elambda__1___closed__7;
+x_21 = 1;
+x_22 = l_Lean_Parser_orelseFnCore(x_4, x_20, x_21, x_1, x_2);
+return x_22;
}
}
}
@@ -29682,6 +22075,42 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Tactic_show___elambda__1___closed__4() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_show___elambda__1___closed__7;
+x_2 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_show___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_show___elambda__1___closed__1;
+x_2 = l_Lean_Parser_Tactic_show___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_show___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Tactic_show___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Tactic_show___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -29702,91 +22131,35 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_21; lean_object* x_22; lean_object* x_23;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_21 = lean_ctor_get(x_7, 1);
-lean_inc(x_21);
+x_11 = l_Lean_Parser_Term_show___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Term_show___elambda__1___closed__13;
lean_inc(x_1);
-x_22 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_23 = lean_ctor_get(x_22, 3);
-lean_inc(x_23);
-if (lean_obj_tag(x_23) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_24; lean_object* x_25;
-x_24 = lean_ctor_get(x_22, 0);
-lean_inc(x_24);
-x_25 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_24);
-lean_dec(x_24);
-if (lean_obj_tag(x_25) == 2)
-{
-lean_object* x_26; lean_object* x_27; uint8_t x_28;
-x_26 = lean_ctor_get(x_25, 1);
-lean_inc(x_26);
-lean_dec(x_25);
-x_27 = l_Lean_Parser_Term_show___elambda__1___closed__6;
-x_28 = lean_string_dec_eq(x_26, x_27);
-lean_dec(x_26);
-if (x_28 == 0)
-{
-lean_object* x_29; lean_object* x_30;
-x_29 = l_Lean_Parser_Term_show___elambda__1___closed__9;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_29, x_21);
-x_11 = x_30;
-goto block_20;
-}
-else
-{
-lean_dec(x_21);
-x_11 = x_22;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32;
-lean_dec(x_25);
-x_31 = l_Lean_Parser_Term_show___elambda__1___closed__9;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_31, x_21);
-x_11 = x_32;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_33; lean_object* x_34;
-lean_dec(x_23);
-x_33 = l_Lean_Parser_Term_show___elambda__1___closed__9;
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_33, x_21);
-x_11 = x_34;
-goto block_20;
-}
-block_20:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_13 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_14 = lean_unsigned_to_nat(0u);
-x_15 = l_Lean_Parser_categoryParser___elambda__1(x_13, x_14, x_1, x_11);
-x_16 = l_Lean_Parser_Tactic_show___elambda__1___closed__1;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_10);
-return x_17;
-}
-else
-{
-lean_object* x_18; lean_object* x_19;
-lean_dec(x_12);
-lean_dec(x_1);
+lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
+x_15 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_16 = lean_unsigned_to_nat(0u);
+x_17 = l_Lean_Parser_categoryParser___elambda__1(x_15, x_16, x_1, x_13);
x_18 = l_Lean_Parser_Tactic_show___elambda__1___closed__1;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_11, x_18, x_10);
+x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_10);
return x_19;
}
+else
+{
+lean_object* x_20; lean_object* x_21;
+lean_dec(x_14);
+lean_dec(x_1);
+x_20 = l_Lean_Parser_Tactic_show___elambda__1___closed__1;
+x_21 = l_Lean_Parser_ParserState_mkNode(x_13, x_20, x_10);
+return x_21;
}
}
else
@@ -29798,159 +22171,11 @@ return x_7;
}
else
{
-lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_35 = lean_ctor_get(x_2, 0);
-lean_inc(x_35);
-x_36 = lean_array_get_size(x_35);
-lean_dec(x_35);
-x_37 = lean_ctor_get(x_2, 1);
-lean_inc(x_37);
-lean_inc(x_1);
-x_38 = lean_apply_2(x_4, x_1, x_2);
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_40; lean_object* x_41; uint8_t x_42;
-x_40 = lean_ctor_get(x_39, 0);
-lean_inc(x_40);
-lean_dec(x_39);
-x_41 = lean_ctor_get(x_38, 1);
-lean_inc(x_41);
-x_42 = lean_nat_dec_eq(x_41, x_37);
-lean_dec(x_41);
-if (x_42 == 0)
-{
-lean_dec(x_40);
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46;
-lean_inc(x_37);
-x_43 = l_Lean_Parser_ParserState_restore(x_38, x_36, x_37);
-lean_dec(x_36);
-x_44 = lean_unsigned_to_nat(1024u);
-x_45 = l_Lean_Parser_checkPrecFn(x_44, x_1, x_43);
-x_46 = lean_ctor_get(x_45, 3);
-lean_inc(x_46);
-if (lean_obj_tag(x_46) == 0)
-{
-lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_63; lean_object* x_64; lean_object* x_65;
-x_47 = lean_ctor_get(x_45, 0);
-lean_inc(x_47);
-x_48 = lean_array_get_size(x_47);
-lean_dec(x_47);
-x_63 = lean_ctor_get(x_45, 1);
-lean_inc(x_63);
-lean_inc(x_1);
-x_64 = l_Lean_Parser_tokenFn(x_1, x_45);
-x_65 = lean_ctor_get(x_64, 3);
-lean_inc(x_65);
-if (lean_obj_tag(x_65) == 0)
-{
-lean_object* x_66; lean_object* x_67;
-x_66 = lean_ctor_get(x_64, 0);
-lean_inc(x_66);
-x_67 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_66);
-lean_dec(x_66);
-if (lean_obj_tag(x_67) == 2)
-{
-lean_object* x_68; lean_object* x_69; uint8_t x_70;
-x_68 = lean_ctor_get(x_67, 1);
-lean_inc(x_68);
-lean_dec(x_67);
-x_69 = l_Lean_Parser_Term_show___elambda__1___closed__6;
-x_70 = lean_string_dec_eq(x_68, x_69);
-lean_dec(x_68);
-if (x_70 == 0)
-{
-lean_object* x_71; lean_object* x_72;
-x_71 = l_Lean_Parser_Term_show___elambda__1___closed__9;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_71, x_63);
-x_49 = x_72;
-goto block_62;
-}
-else
-{
-lean_dec(x_63);
-x_49 = x_64;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_73; lean_object* x_74;
-lean_dec(x_67);
-x_73 = l_Lean_Parser_Term_show___elambda__1___closed__9;
-x_74 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_73, x_63);
-x_49 = x_74;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_75; lean_object* x_76;
-lean_dec(x_65);
-x_75 = l_Lean_Parser_Term_show___elambda__1___closed__9;
-x_76 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_75, x_63);
-x_49 = x_76;
-goto block_62;
-}
-block_62:
-{
-lean_object* x_50;
-x_50 = lean_ctor_get(x_49, 3);
-lean_inc(x_50);
-if (lean_obj_tag(x_50) == 0)
-{
-lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; uint8_t x_56; lean_object* x_57;
-x_51 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_52 = lean_unsigned_to_nat(0u);
-x_53 = l_Lean_Parser_categoryParser___elambda__1(x_51, x_52, x_1, x_49);
-x_54 = l_Lean_Parser_Tactic_show___elambda__1___closed__1;
-x_55 = l_Lean_Parser_ParserState_mkNode(x_53, x_54, x_48);
-x_56 = 1;
-x_57 = l_Lean_Parser_mergeOrElseErrors(x_55, x_40, x_37, x_56);
-lean_dec(x_37);
-return x_57;
-}
-else
-{
-lean_object* x_58; lean_object* x_59; uint8_t x_60; lean_object* x_61;
-lean_dec(x_50);
-lean_dec(x_1);
-x_58 = l_Lean_Parser_Tactic_show___elambda__1___closed__1;
-x_59 = l_Lean_Parser_ParserState_mkNode(x_49, x_58, x_48);
-x_60 = 1;
-x_61 = l_Lean_Parser_mergeOrElseErrors(x_59, x_40, x_37, x_60);
-lean_dec(x_37);
-return x_61;
-}
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_46);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_45, x_40, x_37, x_77);
-lean_dec(x_37);
-return x_78;
-}
-}
-}
+lean_object* x_22; uint8_t x_23; lean_object* x_24;
+x_22 = l_Lean_Parser_Tactic_show___elambda__1___closed__6;
+x_23 = 1;
+x_24 = l_Lean_Parser_orelseFnCore(x_4, x_22, x_23, x_1, x_2);
+return x_24;
}
}
}
@@ -30196,6 +22421,54 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Tactic_let___elambda__1___closed__4() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_let___elambda__1___closed__4;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_let___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
+x_1 = l_Lean_Parser_Term_letDecl;
+x_2 = lean_ctor_get(x_1, 1);
+lean_inc(x_2);
+x_3 = l_Lean_Parser_Tactic_let___elambda__1___closed__4;
+x_4 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_4, 0, x_3);
+lean_closure_set(x_4, 1, x_2);
+return x_4;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_let___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_let___elambda__1___closed__1;
+x_2 = l_Lean_Parser_Tactic_let___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_let___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Tactic_let___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Tactic_let___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -30219,90 +22492,34 @@ x_10 = lean_ctor_get(x_9, 3);
lean_inc(x_10);
if (lean_obj_tag(x_10) == 0)
{
-lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_21; lean_object* x_22; lean_object* x_23;
+lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
x_11 = lean_ctor_get(x_9, 0);
lean_inc(x_11);
x_12 = lean_array_get_size(x_11);
lean_dec(x_11);
-x_21 = lean_ctor_get(x_9, 1);
-lean_inc(x_21);
+x_13 = l_Lean_Parser_Term_let___elambda__1___closed__4;
+x_14 = l_Lean_Parser_Term_let___elambda__1___closed__10;
lean_inc(x_1);
-x_22 = l_Lean_Parser_tokenFn(x_1, x_9);
-x_23 = lean_ctor_get(x_22, 3);
-lean_inc(x_23);
-if (lean_obj_tag(x_23) == 0)
+x_15 = l_Lean_Parser_symbolFnAux(x_13, x_14, x_1, x_9);
+x_16 = lean_ctor_get(x_15, 3);
+lean_inc(x_16);
+if (lean_obj_tag(x_16) == 0)
{
-lean_object* x_24; lean_object* x_25;
-x_24 = lean_ctor_get(x_22, 0);
-lean_inc(x_24);
-x_25 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_24);
-lean_dec(x_24);
-if (lean_obj_tag(x_25) == 2)
-{
-lean_object* x_26; lean_object* x_27; uint8_t x_28;
-x_26 = lean_ctor_get(x_25, 1);
-lean_inc(x_26);
-lean_dec(x_25);
-x_27 = l_Lean_Parser_Term_let___elambda__1___closed__4;
-x_28 = lean_string_dec_eq(x_26, x_27);
-lean_dec(x_26);
-if (x_28 == 0)
-{
-lean_object* x_29; lean_object* x_30;
-x_29 = l_Lean_Parser_Term_let___elambda__1___closed__7;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_29, x_21);
-x_13 = x_30;
-goto block_20;
-}
-else
-{
-lean_dec(x_21);
-x_13 = x_22;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32;
-lean_dec(x_25);
-x_31 = l_Lean_Parser_Term_let___elambda__1___closed__7;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_31, x_21);
-x_13 = x_32;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_33; lean_object* x_34;
-lean_dec(x_23);
-x_33 = l_Lean_Parser_Term_let___elambda__1___closed__7;
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_33, x_21);
-x_13 = x_34;
-goto block_20;
-}
-block_20:
-{
-lean_object* x_14;
-x_14 = lean_ctor_get(x_13, 3);
-lean_inc(x_14);
-if (lean_obj_tag(x_14) == 0)
-{
-lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_15 = lean_apply_2(x_4, x_1, x_13);
-x_16 = l_Lean_Parser_Tactic_let___elambda__1___closed__1;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_12);
-return x_17;
-}
-else
-{
-lean_object* x_18; lean_object* x_19;
-lean_dec(x_14);
-lean_dec(x_4);
-lean_dec(x_1);
+lean_object* x_17; lean_object* x_18; lean_object* x_19;
+x_17 = lean_apply_2(x_4, x_1, x_15);
x_18 = l_Lean_Parser_Tactic_let___elambda__1___closed__1;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_13, x_18, x_12);
+x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_12);
return x_19;
}
+else
+{
+lean_object* x_20; lean_object* x_21;
+lean_dec(x_16);
+lean_dec(x_4);
+lean_dec(x_1);
+x_20 = l_Lean_Parser_Tactic_let___elambda__1___closed__1;
+x_21 = l_Lean_Parser_ParserState_mkNode(x_15, x_20, x_12);
+return x_21;
}
}
else
@@ -30315,161 +22532,12 @@ return x_9;
}
else
{
-lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_35 = lean_ctor_get(x_2, 0);
-lean_inc(x_35);
-x_36 = lean_array_get_size(x_35);
-lean_dec(x_35);
-x_37 = lean_ctor_get(x_2, 1);
-lean_inc(x_37);
-lean_inc(x_1);
-x_38 = lean_apply_2(x_6, x_1, x_2);
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_dec(x_37);
-lean_dec(x_36);
+lean_object* x_22; uint8_t x_23; lean_object* x_24;
lean_dec(x_4);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_40; lean_object* x_41; uint8_t x_42;
-x_40 = lean_ctor_get(x_39, 0);
-lean_inc(x_40);
-lean_dec(x_39);
-x_41 = lean_ctor_get(x_38, 1);
-lean_inc(x_41);
-x_42 = lean_nat_dec_eq(x_41, x_37);
-lean_dec(x_41);
-if (x_42 == 0)
-{
-lean_dec(x_40);
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46;
-lean_inc(x_37);
-x_43 = l_Lean_Parser_ParserState_restore(x_38, x_36, x_37);
-lean_dec(x_36);
-x_44 = lean_unsigned_to_nat(1024u);
-x_45 = l_Lean_Parser_checkPrecFn(x_44, x_1, x_43);
-x_46 = lean_ctor_get(x_45, 3);
-lean_inc(x_46);
-if (lean_obj_tag(x_46) == 0)
-{
-lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_61; lean_object* x_62; lean_object* x_63;
-x_47 = lean_ctor_get(x_45, 0);
-lean_inc(x_47);
-x_48 = lean_array_get_size(x_47);
-lean_dec(x_47);
-x_61 = lean_ctor_get(x_45, 1);
-lean_inc(x_61);
-lean_inc(x_1);
-x_62 = l_Lean_Parser_tokenFn(x_1, x_45);
-x_63 = lean_ctor_get(x_62, 3);
-lean_inc(x_63);
-if (lean_obj_tag(x_63) == 0)
-{
-lean_object* x_64; lean_object* x_65;
-x_64 = lean_ctor_get(x_62, 0);
-lean_inc(x_64);
-x_65 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_64);
-lean_dec(x_64);
-if (lean_obj_tag(x_65) == 2)
-{
-lean_object* x_66; lean_object* x_67; uint8_t x_68;
-x_66 = lean_ctor_get(x_65, 1);
-lean_inc(x_66);
-lean_dec(x_65);
-x_67 = l_Lean_Parser_Term_let___elambda__1___closed__4;
-x_68 = lean_string_dec_eq(x_66, x_67);
-lean_dec(x_66);
-if (x_68 == 0)
-{
-lean_object* x_69; lean_object* x_70;
-x_69 = l_Lean_Parser_Term_let___elambda__1___closed__7;
-x_70 = l_Lean_Parser_ParserState_mkErrorsAt(x_62, x_69, x_61);
-x_49 = x_70;
-goto block_60;
-}
-else
-{
-lean_dec(x_61);
-x_49 = x_62;
-goto block_60;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72;
-lean_dec(x_65);
-x_71 = l_Lean_Parser_Term_let___elambda__1___closed__7;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_62, x_71, x_61);
-x_49 = x_72;
-goto block_60;
-}
-}
-else
-{
-lean_object* x_73; lean_object* x_74;
-lean_dec(x_63);
-x_73 = l_Lean_Parser_Term_let___elambda__1___closed__7;
-x_74 = l_Lean_Parser_ParserState_mkErrorsAt(x_62, x_73, x_61);
-x_49 = x_74;
-goto block_60;
-}
-block_60:
-{
-lean_object* x_50;
-x_50 = lean_ctor_get(x_49, 3);
-lean_inc(x_50);
-if (lean_obj_tag(x_50) == 0)
-{
-lean_object* x_51; lean_object* x_52; lean_object* x_53; uint8_t x_54; lean_object* x_55;
-x_51 = lean_apply_2(x_4, x_1, x_49);
-x_52 = l_Lean_Parser_Tactic_let___elambda__1___closed__1;
-x_53 = l_Lean_Parser_ParserState_mkNode(x_51, x_52, x_48);
-x_54 = 1;
-x_55 = l_Lean_Parser_mergeOrElseErrors(x_53, x_40, x_37, x_54);
-lean_dec(x_37);
-return x_55;
-}
-else
-{
-lean_object* x_56; lean_object* x_57; uint8_t x_58; lean_object* x_59;
-lean_dec(x_50);
-lean_dec(x_4);
-lean_dec(x_1);
-x_56 = l_Lean_Parser_Tactic_let___elambda__1___closed__1;
-x_57 = l_Lean_Parser_ParserState_mkNode(x_49, x_56, x_48);
-x_58 = 1;
-x_59 = l_Lean_Parser_mergeOrElseErrors(x_57, x_40, x_37, x_58);
-lean_dec(x_37);
-return x_59;
-}
-}
-}
-else
-{
-uint8_t x_75; lean_object* x_76;
-lean_dec(x_46);
-lean_dec(x_4);
-lean_dec(x_1);
-x_75 = 1;
-x_76 = l_Lean_Parser_mergeOrElseErrors(x_45, x_40, x_37, x_75);
-lean_dec(x_37);
-return x_76;
-}
-}
-}
+x_22 = l_Lean_Parser_Tactic_let___elambda__1___closed__7;
+x_23 = 1;
+x_24 = l_Lean_Parser_orelseFnCore(x_6, x_22, x_23, x_1, x_2);
+return x_24;
}
}
}
@@ -30691,6 +22759,54 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Tactic_let_x21___elambda__1___closed__4() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_let_x21___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_let_x21___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
+x_1 = l_Lean_Parser_Term_letDecl;
+x_2 = lean_ctor_get(x_1, 1);
+lean_inc(x_2);
+x_3 = l_Lean_Parser_Tactic_let_x21___elambda__1___closed__4;
+x_4 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_4, 0, x_3);
+lean_closure_set(x_4, 1, x_2);
+return x_4;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_let_x21___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_let_x21___elambda__1___closed__1;
+x_2 = l_Lean_Parser_Tactic_let_x21___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_let_x21___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Tactic_let_x21___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Tactic_let_x21___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -30714,90 +22830,34 @@ x_10 = lean_ctor_get(x_9, 3);
lean_inc(x_10);
if (lean_obj_tag(x_10) == 0)
{
-lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_21; lean_object* x_22; lean_object* x_23;
+lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
x_11 = lean_ctor_get(x_9, 0);
lean_inc(x_11);
x_12 = lean_array_get_size(x_11);
lean_dec(x_11);
-x_21 = lean_ctor_get(x_9, 1);
-lean_inc(x_21);
+x_13 = l_Lean_Parser_Term_let_x21___elambda__1___closed__6;
+x_14 = l_Lean_Parser_Term_let_x21___elambda__1___closed__12;
lean_inc(x_1);
-x_22 = l_Lean_Parser_tokenFn(x_1, x_9);
-x_23 = lean_ctor_get(x_22, 3);
-lean_inc(x_23);
-if (lean_obj_tag(x_23) == 0)
+x_15 = l_Lean_Parser_symbolFnAux(x_13, x_14, x_1, x_9);
+x_16 = lean_ctor_get(x_15, 3);
+lean_inc(x_16);
+if (lean_obj_tag(x_16) == 0)
{
-lean_object* x_24; lean_object* x_25;
-x_24 = lean_ctor_get(x_22, 0);
-lean_inc(x_24);
-x_25 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_24);
-lean_dec(x_24);
-if (lean_obj_tag(x_25) == 2)
-{
-lean_object* x_26; lean_object* x_27; uint8_t x_28;
-x_26 = lean_ctor_get(x_25, 1);
-lean_inc(x_26);
-lean_dec(x_25);
-x_27 = l_Lean_Parser_Term_let_x21___elambda__1___closed__6;
-x_28 = lean_string_dec_eq(x_26, x_27);
-lean_dec(x_26);
-if (x_28 == 0)
-{
-lean_object* x_29; lean_object* x_30;
-x_29 = l_Lean_Parser_Term_let_x21___elambda__1___closed__9;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_29, x_21);
-x_13 = x_30;
-goto block_20;
-}
-else
-{
-lean_dec(x_21);
-x_13 = x_22;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32;
-lean_dec(x_25);
-x_31 = l_Lean_Parser_Term_let_x21___elambda__1___closed__9;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_31, x_21);
-x_13 = x_32;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_33; lean_object* x_34;
-lean_dec(x_23);
-x_33 = l_Lean_Parser_Term_let_x21___elambda__1___closed__9;
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_33, x_21);
-x_13 = x_34;
-goto block_20;
-}
-block_20:
-{
-lean_object* x_14;
-x_14 = lean_ctor_get(x_13, 3);
-lean_inc(x_14);
-if (lean_obj_tag(x_14) == 0)
-{
-lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_15 = lean_apply_2(x_4, x_1, x_13);
-x_16 = l_Lean_Parser_Tactic_let_x21___elambda__1___closed__1;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_12);
-return x_17;
-}
-else
-{
-lean_object* x_18; lean_object* x_19;
-lean_dec(x_14);
-lean_dec(x_4);
-lean_dec(x_1);
+lean_object* x_17; lean_object* x_18; lean_object* x_19;
+x_17 = lean_apply_2(x_4, x_1, x_15);
x_18 = l_Lean_Parser_Tactic_let_x21___elambda__1___closed__1;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_13, x_18, x_12);
+x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_12);
return x_19;
}
+else
+{
+lean_object* x_20; lean_object* x_21;
+lean_dec(x_16);
+lean_dec(x_4);
+lean_dec(x_1);
+x_20 = l_Lean_Parser_Tactic_let_x21___elambda__1___closed__1;
+x_21 = l_Lean_Parser_ParserState_mkNode(x_15, x_20, x_12);
+return x_21;
}
}
else
@@ -30810,161 +22870,12 @@ return x_9;
}
else
{
-lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_35 = lean_ctor_get(x_2, 0);
-lean_inc(x_35);
-x_36 = lean_array_get_size(x_35);
-lean_dec(x_35);
-x_37 = lean_ctor_get(x_2, 1);
-lean_inc(x_37);
-lean_inc(x_1);
-x_38 = lean_apply_2(x_6, x_1, x_2);
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_dec(x_37);
-lean_dec(x_36);
+lean_object* x_22; uint8_t x_23; lean_object* x_24;
lean_dec(x_4);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_40; lean_object* x_41; uint8_t x_42;
-x_40 = lean_ctor_get(x_39, 0);
-lean_inc(x_40);
-lean_dec(x_39);
-x_41 = lean_ctor_get(x_38, 1);
-lean_inc(x_41);
-x_42 = lean_nat_dec_eq(x_41, x_37);
-lean_dec(x_41);
-if (x_42 == 0)
-{
-lean_dec(x_40);
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46;
-lean_inc(x_37);
-x_43 = l_Lean_Parser_ParserState_restore(x_38, x_36, x_37);
-lean_dec(x_36);
-x_44 = lean_unsigned_to_nat(1024u);
-x_45 = l_Lean_Parser_checkPrecFn(x_44, x_1, x_43);
-x_46 = lean_ctor_get(x_45, 3);
-lean_inc(x_46);
-if (lean_obj_tag(x_46) == 0)
-{
-lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_61; lean_object* x_62; lean_object* x_63;
-x_47 = lean_ctor_get(x_45, 0);
-lean_inc(x_47);
-x_48 = lean_array_get_size(x_47);
-lean_dec(x_47);
-x_61 = lean_ctor_get(x_45, 1);
-lean_inc(x_61);
-lean_inc(x_1);
-x_62 = l_Lean_Parser_tokenFn(x_1, x_45);
-x_63 = lean_ctor_get(x_62, 3);
-lean_inc(x_63);
-if (lean_obj_tag(x_63) == 0)
-{
-lean_object* x_64; lean_object* x_65;
-x_64 = lean_ctor_get(x_62, 0);
-lean_inc(x_64);
-x_65 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_64);
-lean_dec(x_64);
-if (lean_obj_tag(x_65) == 2)
-{
-lean_object* x_66; lean_object* x_67; uint8_t x_68;
-x_66 = lean_ctor_get(x_65, 1);
-lean_inc(x_66);
-lean_dec(x_65);
-x_67 = l_Lean_Parser_Term_let_x21___elambda__1___closed__6;
-x_68 = lean_string_dec_eq(x_66, x_67);
-lean_dec(x_66);
-if (x_68 == 0)
-{
-lean_object* x_69; lean_object* x_70;
-x_69 = l_Lean_Parser_Term_let_x21___elambda__1___closed__9;
-x_70 = l_Lean_Parser_ParserState_mkErrorsAt(x_62, x_69, x_61);
-x_49 = x_70;
-goto block_60;
-}
-else
-{
-lean_dec(x_61);
-x_49 = x_62;
-goto block_60;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72;
-lean_dec(x_65);
-x_71 = l_Lean_Parser_Term_let_x21___elambda__1___closed__9;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_62, x_71, x_61);
-x_49 = x_72;
-goto block_60;
-}
-}
-else
-{
-lean_object* x_73; lean_object* x_74;
-lean_dec(x_63);
-x_73 = l_Lean_Parser_Term_let_x21___elambda__1___closed__9;
-x_74 = l_Lean_Parser_ParserState_mkErrorsAt(x_62, x_73, x_61);
-x_49 = x_74;
-goto block_60;
-}
-block_60:
-{
-lean_object* x_50;
-x_50 = lean_ctor_get(x_49, 3);
-lean_inc(x_50);
-if (lean_obj_tag(x_50) == 0)
-{
-lean_object* x_51; lean_object* x_52; lean_object* x_53; uint8_t x_54; lean_object* x_55;
-x_51 = lean_apply_2(x_4, x_1, x_49);
-x_52 = l_Lean_Parser_Tactic_let_x21___elambda__1___closed__1;
-x_53 = l_Lean_Parser_ParserState_mkNode(x_51, x_52, x_48);
-x_54 = 1;
-x_55 = l_Lean_Parser_mergeOrElseErrors(x_53, x_40, x_37, x_54);
-lean_dec(x_37);
-return x_55;
-}
-else
-{
-lean_object* x_56; lean_object* x_57; uint8_t x_58; lean_object* x_59;
-lean_dec(x_50);
-lean_dec(x_4);
-lean_dec(x_1);
-x_56 = l_Lean_Parser_Tactic_let_x21___elambda__1___closed__1;
-x_57 = l_Lean_Parser_ParserState_mkNode(x_49, x_56, x_48);
-x_58 = 1;
-x_59 = l_Lean_Parser_mergeOrElseErrors(x_57, x_40, x_37, x_58);
-lean_dec(x_37);
-return x_59;
-}
-}
-}
-else
-{
-uint8_t x_75; lean_object* x_76;
-lean_dec(x_46);
-lean_dec(x_4);
-lean_dec(x_1);
-x_75 = 1;
-x_76 = l_Lean_Parser_mergeOrElseErrors(x_45, x_40, x_37, x_75);
-lean_dec(x_37);
-return x_76;
-}
-}
-}
+x_22 = l_Lean_Parser_Tactic_let_x21___elambda__1___closed__7;
+x_23 = 1;
+x_24 = l_Lean_Parser_orelseFnCore(x_6, x_22, x_23, x_1, x_2);
+return x_24;
}
}
}
@@ -31172,8 +23083,6 @@ l_Lean_Parser_Tactic_underscoreFn___closed__1 = _init_l_Lean_Parser_Tactic_under
lean_mark_persistent(l_Lean_Parser_Tactic_underscoreFn___closed__1);
l_Lean_Parser_Tactic_underscoreFn___closed__2 = _init_l_Lean_Parser_Tactic_underscoreFn___closed__2();
lean_mark_persistent(l_Lean_Parser_Tactic_underscoreFn___closed__2);
-l_Lean_Parser_Tactic_underscoreFn___closed__3 = _init_l_Lean_Parser_Tactic_underscoreFn___closed__3();
-lean_mark_persistent(l_Lean_Parser_Tactic_underscoreFn___closed__3);
l_Lean_Parser_Tactic_underscore___closed__1 = _init_l_Lean_Parser_Tactic_underscore___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_underscore___closed__1);
l_Lean_Parser_Tactic_underscore___closed__2 = _init_l_Lean_Parser_Tactic_underscore___closed__2();
@@ -31188,8 +23097,6 @@ l_Lean_Parser_Tactic_ident_x27___closed__3 = _init_l_Lean_Parser_Tactic_ident_x2
lean_mark_persistent(l_Lean_Parser_Tactic_ident_x27___closed__3);
l_Lean_Parser_Tactic_ident_x27 = _init_l_Lean_Parser_Tactic_ident_x27();
lean_mark_persistent(l_Lean_Parser_Tactic_ident_x27);
-l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_intro___elambda__1___spec__1___closed__1 = _init_l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_intro___elambda__1___spec__1___closed__1();
-lean_mark_persistent(l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_intro___elambda__1___spec__1___closed__1);
l_Lean_Parser_Tactic_intro___elambda__1___closed__1 = _init_l_Lean_Parser_Tactic_intro___elambda__1___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_intro___elambda__1___closed__1);
l_Lean_Parser_Tactic_intro___elambda__1___closed__2 = _init_l_Lean_Parser_Tactic_intro___elambda__1___closed__2();
@@ -31218,6 +23125,20 @@ l_Lean_Parser_Tactic_intro___elambda__1___closed__13 = _init_l_Lean_Parser_Tacti
lean_mark_persistent(l_Lean_Parser_Tactic_intro___elambda__1___closed__13);
l_Lean_Parser_Tactic_intro___elambda__1___closed__14 = _init_l_Lean_Parser_Tactic_intro___elambda__1___closed__14();
lean_mark_persistent(l_Lean_Parser_Tactic_intro___elambda__1___closed__14);
+l_Lean_Parser_Tactic_intro___elambda__1___closed__15 = _init_l_Lean_Parser_Tactic_intro___elambda__1___closed__15();
+lean_mark_persistent(l_Lean_Parser_Tactic_intro___elambda__1___closed__15);
+l_Lean_Parser_Tactic_intro___elambda__1___closed__16 = _init_l_Lean_Parser_Tactic_intro___elambda__1___closed__16();
+lean_mark_persistent(l_Lean_Parser_Tactic_intro___elambda__1___closed__16);
+l_Lean_Parser_Tactic_intro___elambda__1___closed__17 = _init_l_Lean_Parser_Tactic_intro___elambda__1___closed__17();
+lean_mark_persistent(l_Lean_Parser_Tactic_intro___elambda__1___closed__17);
+l_Lean_Parser_Tactic_intro___elambda__1___closed__18 = _init_l_Lean_Parser_Tactic_intro___elambda__1___closed__18();
+lean_mark_persistent(l_Lean_Parser_Tactic_intro___elambda__1___closed__18);
+l_Lean_Parser_Tactic_intro___elambda__1___closed__19 = _init_l_Lean_Parser_Tactic_intro___elambda__1___closed__19();
+lean_mark_persistent(l_Lean_Parser_Tactic_intro___elambda__1___closed__19);
+l_Lean_Parser_Tactic_intro___elambda__1___closed__20 = _init_l_Lean_Parser_Tactic_intro___elambda__1___closed__20();
+lean_mark_persistent(l_Lean_Parser_Tactic_intro___elambda__1___closed__20);
+l_Lean_Parser_Tactic_intro___elambda__1___closed__21 = _init_l_Lean_Parser_Tactic_intro___elambda__1___closed__21();
+lean_mark_persistent(l_Lean_Parser_Tactic_intro___elambda__1___closed__21);
l_Lean_Parser_Tactic_intro___closed__1 = _init_l_Lean_Parser_Tactic_intro___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_intro___closed__1);
l_Lean_Parser_Tactic_intro___closed__2 = _init_l_Lean_Parser_Tactic_intro___closed__2();
@@ -31299,6 +23220,18 @@ l_Lean_Parser_Tactic_intros___elambda__1___closed__7 = _init_l_Lean_Parser_Tacti
lean_mark_persistent(l_Lean_Parser_Tactic_intros___elambda__1___closed__7);
l_Lean_Parser_Tactic_intros___elambda__1___closed__8 = _init_l_Lean_Parser_Tactic_intros___elambda__1___closed__8();
lean_mark_persistent(l_Lean_Parser_Tactic_intros___elambda__1___closed__8);
+l_Lean_Parser_Tactic_intros___elambda__1___closed__9 = _init_l_Lean_Parser_Tactic_intros___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Tactic_intros___elambda__1___closed__9);
+l_Lean_Parser_Tactic_intros___elambda__1___closed__10 = _init_l_Lean_Parser_Tactic_intros___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Tactic_intros___elambda__1___closed__10);
+l_Lean_Parser_Tactic_intros___elambda__1___closed__11 = _init_l_Lean_Parser_Tactic_intros___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Tactic_intros___elambda__1___closed__11);
+l_Lean_Parser_Tactic_intros___elambda__1___closed__12 = _init_l_Lean_Parser_Tactic_intros___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Tactic_intros___elambda__1___closed__12);
+l_Lean_Parser_Tactic_intros___elambda__1___closed__13 = _init_l_Lean_Parser_Tactic_intros___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Tactic_intros___elambda__1___closed__13);
+l_Lean_Parser_Tactic_intros___elambda__1___closed__14 = _init_l_Lean_Parser_Tactic_intros___elambda__1___closed__14();
+lean_mark_persistent(l_Lean_Parser_Tactic_intros___elambda__1___closed__14);
l_Lean_Parser_Tactic_intros___closed__1 = _init_l_Lean_Parser_Tactic_intros___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_intros___closed__1);
l_Lean_Parser_Tactic_intros___closed__2 = _init_l_Lean_Parser_Tactic_intros___closed__2();
@@ -31378,6 +23311,18 @@ l_Lean_Parser_Tactic_revert___elambda__1___closed__7 = _init_l_Lean_Parser_Tacti
lean_mark_persistent(l_Lean_Parser_Tactic_revert___elambda__1___closed__7);
l_Lean_Parser_Tactic_revert___elambda__1___closed__8 = _init_l_Lean_Parser_Tactic_revert___elambda__1___closed__8();
lean_mark_persistent(l_Lean_Parser_Tactic_revert___elambda__1___closed__8);
+l_Lean_Parser_Tactic_revert___elambda__1___closed__9 = _init_l_Lean_Parser_Tactic_revert___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Tactic_revert___elambda__1___closed__9);
+l_Lean_Parser_Tactic_revert___elambda__1___closed__10 = _init_l_Lean_Parser_Tactic_revert___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Tactic_revert___elambda__1___closed__10);
+l_Lean_Parser_Tactic_revert___elambda__1___closed__11 = _init_l_Lean_Parser_Tactic_revert___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Tactic_revert___elambda__1___closed__11);
+l_Lean_Parser_Tactic_revert___elambda__1___closed__12 = _init_l_Lean_Parser_Tactic_revert___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Tactic_revert___elambda__1___closed__12);
+l_Lean_Parser_Tactic_revert___elambda__1___closed__13 = _init_l_Lean_Parser_Tactic_revert___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Tactic_revert___elambda__1___closed__13);
+l_Lean_Parser_Tactic_revert___elambda__1___closed__14 = _init_l_Lean_Parser_Tactic_revert___elambda__1___closed__14();
+lean_mark_persistent(l_Lean_Parser_Tactic_revert___elambda__1___closed__14);
l_Lean_Parser_Tactic_revert___closed__1 = _init_l_Lean_Parser_Tactic_revert___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_revert___closed__1);
l_Lean_Parser_Tactic_revert___closed__2 = _init_l_Lean_Parser_Tactic_revert___closed__2();
@@ -31447,6 +23392,14 @@ l_Lean_Parser_Tactic_clear___elambda__1___closed__7 = _init_l_Lean_Parser_Tactic
lean_mark_persistent(l_Lean_Parser_Tactic_clear___elambda__1___closed__7);
l_Lean_Parser_Tactic_clear___elambda__1___closed__8 = _init_l_Lean_Parser_Tactic_clear___elambda__1___closed__8();
lean_mark_persistent(l_Lean_Parser_Tactic_clear___elambda__1___closed__8);
+l_Lean_Parser_Tactic_clear___elambda__1___closed__9 = _init_l_Lean_Parser_Tactic_clear___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Tactic_clear___elambda__1___closed__9);
+l_Lean_Parser_Tactic_clear___elambda__1___closed__10 = _init_l_Lean_Parser_Tactic_clear___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Tactic_clear___elambda__1___closed__10);
+l_Lean_Parser_Tactic_clear___elambda__1___closed__11 = _init_l_Lean_Parser_Tactic_clear___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Tactic_clear___elambda__1___closed__11);
+l_Lean_Parser_Tactic_clear___elambda__1___closed__12 = _init_l_Lean_Parser_Tactic_clear___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Tactic_clear___elambda__1___closed__12);
l_Lean_Parser_Tactic_clear___closed__1 = _init_l_Lean_Parser_Tactic_clear___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_clear___closed__1);
l_Lean_Parser_Tactic_clear___closed__2 = _init_l_Lean_Parser_Tactic_clear___closed__2();
@@ -31502,6 +23455,14 @@ l_Lean_Parser_Tactic_subst___elambda__1___closed__6 = _init_l_Lean_Parser_Tactic
lean_mark_persistent(l_Lean_Parser_Tactic_subst___elambda__1___closed__6);
l_Lean_Parser_Tactic_subst___elambda__1___closed__7 = _init_l_Lean_Parser_Tactic_subst___elambda__1___closed__7();
lean_mark_persistent(l_Lean_Parser_Tactic_subst___elambda__1___closed__7);
+l_Lean_Parser_Tactic_subst___elambda__1___closed__8 = _init_l_Lean_Parser_Tactic_subst___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Tactic_subst___elambda__1___closed__8);
+l_Lean_Parser_Tactic_subst___elambda__1___closed__9 = _init_l_Lean_Parser_Tactic_subst___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Tactic_subst___elambda__1___closed__9);
+l_Lean_Parser_Tactic_subst___elambda__1___closed__10 = _init_l_Lean_Parser_Tactic_subst___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Tactic_subst___elambda__1___closed__10);
+l_Lean_Parser_Tactic_subst___elambda__1___closed__11 = _init_l_Lean_Parser_Tactic_subst___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Tactic_subst___elambda__1___closed__11);
l_Lean_Parser_Tactic_subst___closed__1 = _init_l_Lean_Parser_Tactic_subst___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_subst___closed__1);
l_Lean_Parser_Tactic_subst___closed__2 = _init_l_Lean_Parser_Tactic_subst___closed__2();
@@ -31557,6 +23518,12 @@ l_Lean_Parser_Tactic_assumption___elambda__1___closed__6 = _init_l_Lean_Parser_T
lean_mark_persistent(l_Lean_Parser_Tactic_assumption___elambda__1___closed__6);
l_Lean_Parser_Tactic_assumption___elambda__1___closed__7 = _init_l_Lean_Parser_Tactic_assumption___elambda__1___closed__7();
lean_mark_persistent(l_Lean_Parser_Tactic_assumption___elambda__1___closed__7);
+l_Lean_Parser_Tactic_assumption___elambda__1___closed__8 = _init_l_Lean_Parser_Tactic_assumption___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Tactic_assumption___elambda__1___closed__8);
+l_Lean_Parser_Tactic_assumption___elambda__1___closed__9 = _init_l_Lean_Parser_Tactic_assumption___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Tactic_assumption___elambda__1___closed__9);
+l_Lean_Parser_Tactic_assumption___elambda__1___closed__10 = _init_l_Lean_Parser_Tactic_assumption___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Tactic_assumption___elambda__1___closed__10);
l_Lean_Parser_Tactic_assumption___closed__1 = _init_l_Lean_Parser_Tactic_assumption___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_assumption___closed__1);
l_Lean_Parser_Tactic_assumption___closed__2 = _init_l_Lean_Parser_Tactic_assumption___closed__2();
@@ -31610,6 +23577,14 @@ l_Lean_Parser_Tactic_apply___elambda__1___closed__7 = _init_l_Lean_Parser_Tactic
lean_mark_persistent(l_Lean_Parser_Tactic_apply___elambda__1___closed__7);
l_Lean_Parser_Tactic_apply___elambda__1___closed__8 = _init_l_Lean_Parser_Tactic_apply___elambda__1___closed__8();
lean_mark_persistent(l_Lean_Parser_Tactic_apply___elambda__1___closed__8);
+l_Lean_Parser_Tactic_apply___elambda__1___closed__9 = _init_l_Lean_Parser_Tactic_apply___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Tactic_apply___elambda__1___closed__9);
+l_Lean_Parser_Tactic_apply___elambda__1___closed__10 = _init_l_Lean_Parser_Tactic_apply___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Tactic_apply___elambda__1___closed__10);
+l_Lean_Parser_Tactic_apply___elambda__1___closed__11 = _init_l_Lean_Parser_Tactic_apply___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Tactic_apply___elambda__1___closed__11);
+l_Lean_Parser_Tactic_apply___elambda__1___closed__12 = _init_l_Lean_Parser_Tactic_apply___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Tactic_apply___elambda__1___closed__12);
l_Lean_Parser_Tactic_apply___closed__1 = _init_l_Lean_Parser_Tactic_apply___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_apply___closed__1);
l_Lean_Parser_Tactic_apply___closed__2 = _init_l_Lean_Parser_Tactic_apply___closed__2();
@@ -31669,6 +23644,14 @@ l_Lean_Parser_Tactic_exact___elambda__1___closed__7 = _init_l_Lean_Parser_Tactic
lean_mark_persistent(l_Lean_Parser_Tactic_exact___elambda__1___closed__7);
l_Lean_Parser_Tactic_exact___elambda__1___closed__8 = _init_l_Lean_Parser_Tactic_exact___elambda__1___closed__8();
lean_mark_persistent(l_Lean_Parser_Tactic_exact___elambda__1___closed__8);
+l_Lean_Parser_Tactic_exact___elambda__1___closed__9 = _init_l_Lean_Parser_Tactic_exact___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Tactic_exact___elambda__1___closed__9);
+l_Lean_Parser_Tactic_exact___elambda__1___closed__10 = _init_l_Lean_Parser_Tactic_exact___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Tactic_exact___elambda__1___closed__10);
+l_Lean_Parser_Tactic_exact___elambda__1___closed__11 = _init_l_Lean_Parser_Tactic_exact___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Tactic_exact___elambda__1___closed__11);
+l_Lean_Parser_Tactic_exact___elambda__1___closed__12 = _init_l_Lean_Parser_Tactic_exact___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Tactic_exact___elambda__1___closed__12);
l_Lean_Parser_Tactic_exact___closed__1 = _init_l_Lean_Parser_Tactic_exact___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_exact___closed__1);
l_Lean_Parser_Tactic_exact___closed__2 = _init_l_Lean_Parser_Tactic_exact___closed__2();
@@ -31726,6 +23709,14 @@ l_Lean_Parser_Tactic_refine___elambda__1___closed__7 = _init_l_Lean_Parser_Tacti
lean_mark_persistent(l_Lean_Parser_Tactic_refine___elambda__1___closed__7);
l_Lean_Parser_Tactic_refine___elambda__1___closed__8 = _init_l_Lean_Parser_Tactic_refine___elambda__1___closed__8();
lean_mark_persistent(l_Lean_Parser_Tactic_refine___elambda__1___closed__8);
+l_Lean_Parser_Tactic_refine___elambda__1___closed__9 = _init_l_Lean_Parser_Tactic_refine___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Tactic_refine___elambda__1___closed__9);
+l_Lean_Parser_Tactic_refine___elambda__1___closed__10 = _init_l_Lean_Parser_Tactic_refine___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Tactic_refine___elambda__1___closed__10);
+l_Lean_Parser_Tactic_refine___elambda__1___closed__11 = _init_l_Lean_Parser_Tactic_refine___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Tactic_refine___elambda__1___closed__11);
+l_Lean_Parser_Tactic_refine___elambda__1___closed__12 = _init_l_Lean_Parser_Tactic_refine___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Tactic_refine___elambda__1___closed__12);
l_Lean_Parser_Tactic_refine___closed__1 = _init_l_Lean_Parser_Tactic_refine___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_refine___closed__1);
l_Lean_Parser_Tactic_refine___closed__2 = _init_l_Lean_Parser_Tactic_refine___closed__2();
@@ -31783,6 +23774,14 @@ l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__7 = _init_l_Lean_Parser_T
lean_mark_persistent(l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__7);
l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__8 = _init_l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__8();
lean_mark_persistent(l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__8);
+l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__9 = _init_l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__9);
+l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__10 = _init_l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__10);
+l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__11 = _init_l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__11);
+l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__12 = _init_l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Tactic_refine_x21___elambda__1___closed__12);
l_Lean_Parser_Tactic_refine_x21___closed__1 = _init_l_Lean_Parser_Tactic_refine_x21___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_refine_x21___closed__1);
l_Lean_Parser_Tactic_refine_x21___closed__2 = _init_l_Lean_Parser_Tactic_refine_x21___closed__2();
@@ -31838,6 +23837,18 @@ l_Lean_Parser_Tactic_case___elambda__1___closed__6 = _init_l_Lean_Parser_Tactic_
lean_mark_persistent(l_Lean_Parser_Tactic_case___elambda__1___closed__6);
l_Lean_Parser_Tactic_case___elambda__1___closed__7 = _init_l_Lean_Parser_Tactic_case___elambda__1___closed__7();
lean_mark_persistent(l_Lean_Parser_Tactic_case___elambda__1___closed__7);
+l_Lean_Parser_Tactic_case___elambda__1___closed__8 = _init_l_Lean_Parser_Tactic_case___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Tactic_case___elambda__1___closed__8);
+l_Lean_Parser_Tactic_case___elambda__1___closed__9 = _init_l_Lean_Parser_Tactic_case___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Tactic_case___elambda__1___closed__9);
+l_Lean_Parser_Tactic_case___elambda__1___closed__10 = _init_l_Lean_Parser_Tactic_case___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Tactic_case___elambda__1___closed__10);
+l_Lean_Parser_Tactic_case___elambda__1___closed__11 = _init_l_Lean_Parser_Tactic_case___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Tactic_case___elambda__1___closed__11);
+l_Lean_Parser_Tactic_case___elambda__1___closed__12 = _init_l_Lean_Parser_Tactic_case___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Tactic_case___elambda__1___closed__12);
+l_Lean_Parser_Tactic_case___elambda__1___closed__13 = _init_l_Lean_Parser_Tactic_case___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Tactic_case___elambda__1___closed__13);
l_Lean_Parser_Tactic_case___closed__1 = _init_l_Lean_Parser_Tactic_case___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_case___closed__1);
l_Lean_Parser_Tactic_case___closed__2 = _init_l_Lean_Parser_Tactic_case___closed__2();
@@ -31909,6 +23920,14 @@ l_Lean_Parser_Tactic_allGoals___elambda__1___closed__7 = _init_l_Lean_Parser_Tac
lean_mark_persistent(l_Lean_Parser_Tactic_allGoals___elambda__1___closed__7);
l_Lean_Parser_Tactic_allGoals___elambda__1___closed__8 = _init_l_Lean_Parser_Tactic_allGoals___elambda__1___closed__8();
lean_mark_persistent(l_Lean_Parser_Tactic_allGoals___elambda__1___closed__8);
+l_Lean_Parser_Tactic_allGoals___elambda__1___closed__9 = _init_l_Lean_Parser_Tactic_allGoals___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Tactic_allGoals___elambda__1___closed__9);
+l_Lean_Parser_Tactic_allGoals___elambda__1___closed__10 = _init_l_Lean_Parser_Tactic_allGoals___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Tactic_allGoals___elambda__1___closed__10);
+l_Lean_Parser_Tactic_allGoals___elambda__1___closed__11 = _init_l_Lean_Parser_Tactic_allGoals___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Tactic_allGoals___elambda__1___closed__11);
+l_Lean_Parser_Tactic_allGoals___elambda__1___closed__12 = _init_l_Lean_Parser_Tactic_allGoals___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Tactic_allGoals___elambda__1___closed__12);
l_Lean_Parser_Tactic_allGoals___closed__1 = _init_l_Lean_Parser_Tactic_allGoals___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_allGoals___closed__1);
l_Lean_Parser_Tactic_allGoals___closed__2 = _init_l_Lean_Parser_Tactic_allGoals___closed__2();
@@ -31968,6 +23987,14 @@ l_Lean_Parser_Tactic_focus___elambda__1___closed__7 = _init_l_Lean_Parser_Tactic
lean_mark_persistent(l_Lean_Parser_Tactic_focus___elambda__1___closed__7);
l_Lean_Parser_Tactic_focus___elambda__1___closed__8 = _init_l_Lean_Parser_Tactic_focus___elambda__1___closed__8();
lean_mark_persistent(l_Lean_Parser_Tactic_focus___elambda__1___closed__8);
+l_Lean_Parser_Tactic_focus___elambda__1___closed__9 = _init_l_Lean_Parser_Tactic_focus___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Tactic_focus___elambda__1___closed__9);
+l_Lean_Parser_Tactic_focus___elambda__1___closed__10 = _init_l_Lean_Parser_Tactic_focus___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Tactic_focus___elambda__1___closed__10);
+l_Lean_Parser_Tactic_focus___elambda__1___closed__11 = _init_l_Lean_Parser_Tactic_focus___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Tactic_focus___elambda__1___closed__11);
+l_Lean_Parser_Tactic_focus___elambda__1___closed__12 = _init_l_Lean_Parser_Tactic_focus___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Tactic_focus___elambda__1___closed__12);
l_Lean_Parser_Tactic_focus___closed__1 = _init_l_Lean_Parser_Tactic_focus___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_focus___closed__1);
l_Lean_Parser_Tactic_focus___closed__2 = _init_l_Lean_Parser_Tactic_focus___closed__2();
@@ -32023,6 +24050,12 @@ l_Lean_Parser_Tactic_skip___elambda__1___closed__6 = _init_l_Lean_Parser_Tactic_
lean_mark_persistent(l_Lean_Parser_Tactic_skip___elambda__1___closed__6);
l_Lean_Parser_Tactic_skip___elambda__1___closed__7 = _init_l_Lean_Parser_Tactic_skip___elambda__1___closed__7();
lean_mark_persistent(l_Lean_Parser_Tactic_skip___elambda__1___closed__7);
+l_Lean_Parser_Tactic_skip___elambda__1___closed__8 = _init_l_Lean_Parser_Tactic_skip___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Tactic_skip___elambda__1___closed__8);
+l_Lean_Parser_Tactic_skip___elambda__1___closed__9 = _init_l_Lean_Parser_Tactic_skip___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Tactic_skip___elambda__1___closed__9);
+l_Lean_Parser_Tactic_skip___elambda__1___closed__10 = _init_l_Lean_Parser_Tactic_skip___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Tactic_skip___elambda__1___closed__10);
l_Lean_Parser_Tactic_skip___closed__1 = _init_l_Lean_Parser_Tactic_skip___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_skip___closed__1);
l_Lean_Parser_Tactic_skip___closed__2 = _init_l_Lean_Parser_Tactic_skip___closed__2();
@@ -32074,6 +24107,12 @@ l_Lean_Parser_Tactic_done___elambda__1___closed__6 = _init_l_Lean_Parser_Tactic_
lean_mark_persistent(l_Lean_Parser_Tactic_done___elambda__1___closed__6);
l_Lean_Parser_Tactic_done___elambda__1___closed__7 = _init_l_Lean_Parser_Tactic_done___elambda__1___closed__7();
lean_mark_persistent(l_Lean_Parser_Tactic_done___elambda__1___closed__7);
+l_Lean_Parser_Tactic_done___elambda__1___closed__8 = _init_l_Lean_Parser_Tactic_done___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Tactic_done___elambda__1___closed__8);
+l_Lean_Parser_Tactic_done___elambda__1___closed__9 = _init_l_Lean_Parser_Tactic_done___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Tactic_done___elambda__1___closed__9);
+l_Lean_Parser_Tactic_done___elambda__1___closed__10 = _init_l_Lean_Parser_Tactic_done___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Tactic_done___elambda__1___closed__10);
l_Lean_Parser_Tactic_done___closed__1 = _init_l_Lean_Parser_Tactic_done___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_done___closed__1);
l_Lean_Parser_Tactic_done___closed__2 = _init_l_Lean_Parser_Tactic_done___closed__2();
@@ -32125,6 +24164,12 @@ l_Lean_Parser_Tactic_admit___elambda__1___closed__6 = _init_l_Lean_Parser_Tactic
lean_mark_persistent(l_Lean_Parser_Tactic_admit___elambda__1___closed__6);
l_Lean_Parser_Tactic_admit___elambda__1___closed__7 = _init_l_Lean_Parser_Tactic_admit___elambda__1___closed__7();
lean_mark_persistent(l_Lean_Parser_Tactic_admit___elambda__1___closed__7);
+l_Lean_Parser_Tactic_admit___elambda__1___closed__8 = _init_l_Lean_Parser_Tactic_admit___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Tactic_admit___elambda__1___closed__8);
+l_Lean_Parser_Tactic_admit___elambda__1___closed__9 = _init_l_Lean_Parser_Tactic_admit___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Tactic_admit___elambda__1___closed__9);
+l_Lean_Parser_Tactic_admit___elambda__1___closed__10 = _init_l_Lean_Parser_Tactic_admit___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Tactic_admit___elambda__1___closed__10);
l_Lean_Parser_Tactic_admit___closed__1 = _init_l_Lean_Parser_Tactic_admit___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_admit___closed__1);
l_Lean_Parser_Tactic_admit___closed__2 = _init_l_Lean_Parser_Tactic_admit___closed__2();
@@ -32176,6 +24221,12 @@ l_Lean_Parser_Tactic_traceState___elambda__1___closed__6 = _init_l_Lean_Parser_T
lean_mark_persistent(l_Lean_Parser_Tactic_traceState___elambda__1___closed__6);
l_Lean_Parser_Tactic_traceState___elambda__1___closed__7 = _init_l_Lean_Parser_Tactic_traceState___elambda__1___closed__7();
lean_mark_persistent(l_Lean_Parser_Tactic_traceState___elambda__1___closed__7);
+l_Lean_Parser_Tactic_traceState___elambda__1___closed__8 = _init_l_Lean_Parser_Tactic_traceState___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Tactic_traceState___elambda__1___closed__8);
+l_Lean_Parser_Tactic_traceState___elambda__1___closed__9 = _init_l_Lean_Parser_Tactic_traceState___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Tactic_traceState___elambda__1___closed__9);
+l_Lean_Parser_Tactic_traceState___elambda__1___closed__10 = _init_l_Lean_Parser_Tactic_traceState___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Tactic_traceState___elambda__1___closed__10);
l_Lean_Parser_Tactic_traceState___closed__1 = _init_l_Lean_Parser_Tactic_traceState___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_traceState___closed__1);
l_Lean_Parser_Tactic_traceState___closed__2 = _init_l_Lean_Parser_Tactic_traceState___closed__2();
@@ -32229,6 +24280,14 @@ l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__7 = _init_l_Lean_Parse
lean_mark_persistent(l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__7);
l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__8 = _init_l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__8();
lean_mark_persistent(l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__8);
+l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__9 = _init_l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__9);
+l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__10 = _init_l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__10);
+l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__11 = _init_l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__11);
+l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__12 = _init_l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Tactic_failIfSuccess___elambda__1___closed__12);
l_Lean_Parser_Tactic_failIfSuccess___closed__1 = _init_l_Lean_Parser_Tactic_failIfSuccess___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_failIfSuccess___closed__1);
l_Lean_Parser_Tactic_failIfSuccess___closed__2 = _init_l_Lean_Parser_Tactic_failIfSuccess___closed__2();
@@ -32294,6 +24353,28 @@ l_Lean_Parser_Tactic_generalize___elambda__1___closed__11 = _init_l_Lean_Parser_
lean_mark_persistent(l_Lean_Parser_Tactic_generalize___elambda__1___closed__11);
l_Lean_Parser_Tactic_generalize___elambda__1___closed__12 = _init_l_Lean_Parser_Tactic_generalize___elambda__1___closed__12();
lean_mark_persistent(l_Lean_Parser_Tactic_generalize___elambda__1___closed__12);
+l_Lean_Parser_Tactic_generalize___elambda__1___closed__13 = _init_l_Lean_Parser_Tactic_generalize___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Tactic_generalize___elambda__1___closed__13);
+l_Lean_Parser_Tactic_generalize___elambda__1___closed__14 = _init_l_Lean_Parser_Tactic_generalize___elambda__1___closed__14();
+lean_mark_persistent(l_Lean_Parser_Tactic_generalize___elambda__1___closed__14);
+l_Lean_Parser_Tactic_generalize___elambda__1___closed__15 = _init_l_Lean_Parser_Tactic_generalize___elambda__1___closed__15();
+lean_mark_persistent(l_Lean_Parser_Tactic_generalize___elambda__1___closed__15);
+l_Lean_Parser_Tactic_generalize___elambda__1___closed__16 = _init_l_Lean_Parser_Tactic_generalize___elambda__1___closed__16();
+lean_mark_persistent(l_Lean_Parser_Tactic_generalize___elambda__1___closed__16);
+l_Lean_Parser_Tactic_generalize___elambda__1___closed__17 = _init_l_Lean_Parser_Tactic_generalize___elambda__1___closed__17();
+lean_mark_persistent(l_Lean_Parser_Tactic_generalize___elambda__1___closed__17);
+l_Lean_Parser_Tactic_generalize___elambda__1___closed__18 = _init_l_Lean_Parser_Tactic_generalize___elambda__1___closed__18();
+lean_mark_persistent(l_Lean_Parser_Tactic_generalize___elambda__1___closed__18);
+l_Lean_Parser_Tactic_generalize___elambda__1___closed__19 = _init_l_Lean_Parser_Tactic_generalize___elambda__1___closed__19();
+lean_mark_persistent(l_Lean_Parser_Tactic_generalize___elambda__1___closed__19);
+l_Lean_Parser_Tactic_generalize___elambda__1___closed__20 = _init_l_Lean_Parser_Tactic_generalize___elambda__1___closed__20();
+lean_mark_persistent(l_Lean_Parser_Tactic_generalize___elambda__1___closed__20);
+l_Lean_Parser_Tactic_generalize___elambda__1___closed__21 = _init_l_Lean_Parser_Tactic_generalize___elambda__1___closed__21();
+lean_mark_persistent(l_Lean_Parser_Tactic_generalize___elambda__1___closed__21);
+l_Lean_Parser_Tactic_generalize___elambda__1___closed__22 = _init_l_Lean_Parser_Tactic_generalize___elambda__1___closed__22();
+lean_mark_persistent(l_Lean_Parser_Tactic_generalize___elambda__1___closed__22);
+l_Lean_Parser_Tactic_generalize___elambda__1___closed__23 = _init_l_Lean_Parser_Tactic_generalize___elambda__1___closed__23();
+lean_mark_persistent(l_Lean_Parser_Tactic_generalize___elambda__1___closed__23);
l_Lean_Parser_Tactic_generalize___closed__1 = _init_l_Lean_Parser_Tactic_generalize___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_generalize___closed__1);
l_Lean_Parser_Tactic_generalize___closed__2 = _init_l_Lean_Parser_Tactic_generalize___closed__2();
@@ -32393,6 +24474,8 @@ l_Lean_Parser_Tactic_locationWildcard___elambda__1___closed__6 = _init_l_Lean_Pa
lean_mark_persistent(l_Lean_Parser_Tactic_locationWildcard___elambda__1___closed__6);
l_Lean_Parser_Tactic_locationWildcard___elambda__1___closed__7 = _init_l_Lean_Parser_Tactic_locationWildcard___elambda__1___closed__7();
lean_mark_persistent(l_Lean_Parser_Tactic_locationWildcard___elambda__1___closed__7);
+l_Lean_Parser_Tactic_locationWildcard___elambda__1___closed__8 = _init_l_Lean_Parser_Tactic_locationWildcard___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Tactic_locationWildcard___elambda__1___closed__8);
l_Lean_Parser_Tactic_locationWildcard___closed__1 = _init_l_Lean_Parser_Tactic_locationWildcard___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_locationWildcard___closed__1);
l_Lean_Parser_Tactic_locationWildcard___closed__2 = _init_l_Lean_Parser_Tactic_locationWildcard___closed__2();
@@ -32429,6 +24512,12 @@ l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__11 = _init_l_Lean_Par
lean_mark_persistent(l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__11);
l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__12 = _init_l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__12();
lean_mark_persistent(l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__12);
+l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__13 = _init_l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__13);
+l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__14 = _init_l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__14();
+lean_mark_persistent(l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__14);
+l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__15 = _init_l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__15();
+lean_mark_persistent(l_Lean_Parser_Tactic_locationTarget___elambda__1___closed__15);
l_Lean_Parser_Tactic_locationTarget___closed__1 = _init_l_Lean_Parser_Tactic_locationTarget___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_locationTarget___closed__1);
l_Lean_Parser_Tactic_locationTarget___closed__2 = _init_l_Lean_Parser_Tactic_locationTarget___closed__2();
@@ -32451,6 +24540,12 @@ l_Lean_Parser_Tactic_locationHyp___elambda__1___closed__3 = _init_l_Lean_Parser_
lean_mark_persistent(l_Lean_Parser_Tactic_locationHyp___elambda__1___closed__3);
l_Lean_Parser_Tactic_locationHyp___elambda__1___closed__4 = _init_l_Lean_Parser_Tactic_locationHyp___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Tactic_locationHyp___elambda__1___closed__4);
+l_Lean_Parser_Tactic_locationHyp___elambda__1___closed__5 = _init_l_Lean_Parser_Tactic_locationHyp___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Tactic_locationHyp___elambda__1___closed__5);
+l_Lean_Parser_Tactic_locationHyp___elambda__1___closed__6 = _init_l_Lean_Parser_Tactic_locationHyp___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Tactic_locationHyp___elambda__1___closed__6);
+l_Lean_Parser_Tactic_locationHyp___elambda__1___closed__7 = _init_l_Lean_Parser_Tactic_locationHyp___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Tactic_locationHyp___elambda__1___closed__7);
l_Lean_Parser_Tactic_locationHyp___closed__1 = _init_l_Lean_Parser_Tactic_locationHyp___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_locationHyp___closed__1);
l_Lean_Parser_Tactic_locationHyp___closed__2 = _init_l_Lean_Parser_Tactic_locationHyp___closed__2();
@@ -32481,6 +24576,16 @@ l_Lean_Parser_Tactic_location___elambda__1___closed__8 = _init_l_Lean_Parser_Tac
lean_mark_persistent(l_Lean_Parser_Tactic_location___elambda__1___closed__8);
l_Lean_Parser_Tactic_location___elambda__1___closed__9 = _init_l_Lean_Parser_Tactic_location___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Tactic_location___elambda__1___closed__9);
+l_Lean_Parser_Tactic_location___elambda__1___closed__10 = _init_l_Lean_Parser_Tactic_location___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Tactic_location___elambda__1___closed__10);
+l_Lean_Parser_Tactic_location___elambda__1___closed__11 = _init_l_Lean_Parser_Tactic_location___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Tactic_location___elambda__1___closed__11);
+l_Lean_Parser_Tactic_location___elambda__1___closed__12 = _init_l_Lean_Parser_Tactic_location___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Tactic_location___elambda__1___closed__12);
+l_Lean_Parser_Tactic_location___elambda__1___closed__13 = _init_l_Lean_Parser_Tactic_location___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Tactic_location___elambda__1___closed__13);
+l_Lean_Parser_Tactic_location___elambda__1___closed__14 = _init_l_Lean_Parser_Tactic_location___elambda__1___closed__14();
+lean_mark_persistent(l_Lean_Parser_Tactic_location___elambda__1___closed__14);
l_Lean_Parser_Tactic_location___closed__1 = _init_l_Lean_Parser_Tactic_location___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_location___closed__1);
l_Lean_Parser_Tactic_location___closed__2 = _init_l_Lean_Parser_Tactic_location___closed__2();
@@ -32517,6 +24622,18 @@ l_Lean_Parser_Tactic_change___elambda__1___closed__7 = _init_l_Lean_Parser_Tacti
lean_mark_persistent(l_Lean_Parser_Tactic_change___elambda__1___closed__7);
l_Lean_Parser_Tactic_change___elambda__1___closed__8 = _init_l_Lean_Parser_Tactic_change___elambda__1___closed__8();
lean_mark_persistent(l_Lean_Parser_Tactic_change___elambda__1___closed__8);
+l_Lean_Parser_Tactic_change___elambda__1___closed__9 = _init_l_Lean_Parser_Tactic_change___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Tactic_change___elambda__1___closed__9);
+l_Lean_Parser_Tactic_change___elambda__1___closed__10 = _init_l_Lean_Parser_Tactic_change___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Tactic_change___elambda__1___closed__10);
+l_Lean_Parser_Tactic_change___elambda__1___closed__11 = _init_l_Lean_Parser_Tactic_change___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Tactic_change___elambda__1___closed__11);
+l_Lean_Parser_Tactic_change___elambda__1___closed__12 = _init_l_Lean_Parser_Tactic_change___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Tactic_change___elambda__1___closed__12);
+l_Lean_Parser_Tactic_change___elambda__1___closed__13 = _init_l_Lean_Parser_Tactic_change___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Tactic_change___elambda__1___closed__13);
+l_Lean_Parser_Tactic_change___elambda__1___closed__14 = _init_l_Lean_Parser_Tactic_change___elambda__1___closed__14();
+lean_mark_persistent(l_Lean_Parser_Tactic_change___elambda__1___closed__14);
l_Lean_Parser_Tactic_change___closed__1 = _init_l_Lean_Parser_Tactic_change___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_change___closed__1);
l_Lean_Parser_Tactic_change___closed__2 = _init_l_Lean_Parser_Tactic_change___closed__2();
@@ -32648,6 +24765,16 @@ l_Lean_Parser_Tactic_changeWith___elambda__1___closed__3 = _init_l_Lean_Parser_T
lean_mark_persistent(l_Lean_Parser_Tactic_changeWith___elambda__1___closed__3);
l_Lean_Parser_Tactic_changeWith___elambda__1___closed__4 = _init_l_Lean_Parser_Tactic_changeWith___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Tactic_changeWith___elambda__1___closed__4);
+l_Lean_Parser_Tactic_changeWith___elambda__1___closed__5 = _init_l_Lean_Parser_Tactic_changeWith___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Tactic_changeWith___elambda__1___closed__5);
+l_Lean_Parser_Tactic_changeWith___elambda__1___closed__6 = _init_l_Lean_Parser_Tactic_changeWith___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Tactic_changeWith___elambda__1___closed__6);
+l_Lean_Parser_Tactic_changeWith___elambda__1___closed__7 = _init_l_Lean_Parser_Tactic_changeWith___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Tactic_changeWith___elambda__1___closed__7);
+l_Lean_Parser_Tactic_changeWith___elambda__1___closed__8 = _init_l_Lean_Parser_Tactic_changeWith___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Tactic_changeWith___elambda__1___closed__8);
+l_Lean_Parser_Tactic_changeWith___elambda__1___closed__9 = _init_l_Lean_Parser_Tactic_changeWith___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Tactic_changeWith___elambda__1___closed__9);
l_Lean_Parser_Tactic_changeWith___closed__1 = _init_l_Lean_Parser_Tactic_changeWith___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_changeWith___closed__1);
l_Lean_Parser_Tactic_changeWith___closed__2 = _init_l_Lean_Parser_Tactic_changeWith___closed__2();
@@ -32751,6 +24878,16 @@ l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__3 = _init_l_Lean_Parser_Ta
lean_mark_persistent(l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__3);
l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__4 = _init_l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__4);
+l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__5 = _init_l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__5);
+l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__6 = _init_l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__6);
+l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__7 = _init_l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__7);
+l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__8 = _init_l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__8);
+l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__9 = _init_l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Tactic_rwRuleSeq___elambda__1___closed__9);
l_Lean_Parser_Tactic_rwRuleSeq___closed__1 = _init_l_Lean_Parser_Tactic_rwRuleSeq___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_rwRuleSeq___closed__1);
l_Lean_Parser_Tactic_rwRuleSeq___closed__2 = _init_l_Lean_Parser_Tactic_rwRuleSeq___closed__2();
@@ -32793,6 +24930,14 @@ l_Lean_Parser_Tactic_rewrite___elambda__1___closed__11 = _init_l_Lean_Parser_Tac
lean_mark_persistent(l_Lean_Parser_Tactic_rewrite___elambda__1___closed__11);
l_Lean_Parser_Tactic_rewrite___elambda__1___closed__12 = _init_l_Lean_Parser_Tactic_rewrite___elambda__1___closed__12();
lean_mark_persistent(l_Lean_Parser_Tactic_rewrite___elambda__1___closed__12);
+l_Lean_Parser_Tactic_rewrite___elambda__1___closed__13 = _init_l_Lean_Parser_Tactic_rewrite___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Tactic_rewrite___elambda__1___closed__13);
+l_Lean_Parser_Tactic_rewrite___elambda__1___closed__14 = _init_l_Lean_Parser_Tactic_rewrite___elambda__1___closed__14();
+lean_mark_persistent(l_Lean_Parser_Tactic_rewrite___elambda__1___closed__14);
+l_Lean_Parser_Tactic_rewrite___elambda__1___closed__15 = _init_l_Lean_Parser_Tactic_rewrite___elambda__1___closed__15();
+lean_mark_persistent(l_Lean_Parser_Tactic_rewrite___elambda__1___closed__15);
+l_Lean_Parser_Tactic_rewrite___elambda__1___closed__16 = _init_l_Lean_Parser_Tactic_rewrite___elambda__1___closed__16();
+lean_mark_persistent(l_Lean_Parser_Tactic_rewrite___elambda__1___closed__16);
l_Lean_Parser_Tactic_rewrite___closed__1 = _init_l_Lean_Parser_Tactic_rewrite___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_rewrite___closed__1);
l_Lean_Parser_Tactic_rewrite___closed__2 = _init_l_Lean_Parser_Tactic_rewrite___closed__2();
@@ -32892,6 +25037,14 @@ l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__3 = _init_l_Lean_Parser_T
lean_mark_persistent(l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__3);
l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__4 = _init_l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__4);
+l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__5 = _init_l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__5);
+l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__6 = _init_l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__6);
+l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__7 = _init_l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__7);
+l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__8 = _init_l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Tactic_rewriteSeq___elambda__1___closed__8);
l_Lean_Parser_Tactic_rewriteSeq___closed__1 = _init_l_Lean_Parser_Tactic_rewriteSeq___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_rewriteSeq___closed__1);
l_Lean_Parser_Tactic_rewriteSeq___closed__2 = _init_l_Lean_Parser_Tactic_rewriteSeq___closed__2();
@@ -32969,6 +25122,12 @@ l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__3 = _init_l_Lean_Parser
lean_mark_persistent(l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__3);
l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__4 = _init_l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__4);
+l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__5 = _init_l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__5);
+l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__6 = _init_l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__6);
+l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__7 = _init_l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Tactic_majorPremise___elambda__1___closed__7);
l_Lean_Parser_Tactic_majorPremise___closed__1 = _init_l_Lean_Parser_Tactic_majorPremise___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_majorPremise___closed__1);
l_Lean_Parser_Tactic_majorPremise___closed__2 = _init_l_Lean_Parser_Tactic_majorPremise___closed__2();
@@ -32983,6 +25142,8 @@ l_Lean_Parser_Tactic_majorPremise___closed__6 = _init_l_Lean_Parser_Tactic_major
lean_mark_persistent(l_Lean_Parser_Tactic_majorPremise___closed__6);
l_Lean_Parser_Tactic_majorPremise = _init_l_Lean_Parser_Tactic_majorPremise();
lean_mark_persistent(l_Lean_Parser_Tactic_majorPremise);
+l_Lean_Parser_Tactic_altRHS___elambda__1___closed__1 = _init_l_Lean_Parser_Tactic_altRHS___elambda__1___closed__1();
+lean_mark_persistent(l_Lean_Parser_Tactic_altRHS___elambda__1___closed__1);
l_Lean_Parser_Tactic_altRHS___closed__1 = _init_l_Lean_Parser_Tactic_altRHS___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_altRHS___closed__1);
l_Lean_Parser_Tactic_altRHS___closed__2 = _init_l_Lean_Parser_Tactic_altRHS___closed__2();
@@ -33019,6 +25180,12 @@ l_Lean_Parser_Tactic_inductionAlt___closed__12 = _init_l_Lean_Parser_Tactic_indu
lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlt___closed__12);
l_Lean_Parser_Tactic_inductionAlt = _init_l_Lean_Parser_Tactic_inductionAlt();
lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlt);
+l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__1 = _init_l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__1();
+lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__1);
+l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__2 = _init_l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__2();
+lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__2);
+l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__3 = _init_l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__3();
+lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlts___elambda__1___closed__3);
l_Lean_Parser_Tactic_inductionAlts___closed__1 = _init_l_Lean_Parser_Tactic_inductionAlts___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlts___closed__1);
l_Lean_Parser_Tactic_inductionAlts___closed__2 = _init_l_Lean_Parser_Tactic_inductionAlts___closed__2();
@@ -33033,6 +25200,8 @@ l_Lean_Parser_Tactic_inductionAlts___closed__6 = _init_l_Lean_Parser_Tactic_indu
lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlts___closed__6);
l_Lean_Parser_Tactic_inductionAlts = _init_l_Lean_Parser_Tactic_inductionAlts();
lean_mark_persistent(l_Lean_Parser_Tactic_inductionAlts);
+l_Lean_Parser_Tactic_withAlts___elambda__1___closed__1 = _init_l_Lean_Parser_Tactic_withAlts___elambda__1___closed__1();
+lean_mark_persistent(l_Lean_Parser_Tactic_withAlts___elambda__1___closed__1);
l_Lean_Parser_Tactic_withAlts___closed__1 = _init_l_Lean_Parser_Tactic_withAlts___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_withAlts___closed__1);
l_Lean_Parser_Tactic_withAlts___closed__2 = _init_l_Lean_Parser_Tactic_withAlts___closed__2();
@@ -33051,8 +25220,6 @@ l_Lean_Parser_Tactic_usingRec___elambda__1___closed__3 = _init_l_Lean_Parser_Tac
lean_mark_persistent(l_Lean_Parser_Tactic_usingRec___elambda__1___closed__3);
l_Lean_Parser_Tactic_usingRec___elambda__1___closed__4 = _init_l_Lean_Parser_Tactic_usingRec___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Tactic_usingRec___elambda__1___closed__4);
-l_Lean_Parser_Tactic_usingRec___elambda__1___closed__5 = _init_l_Lean_Parser_Tactic_usingRec___elambda__1___closed__5();
-lean_mark_persistent(l_Lean_Parser_Tactic_usingRec___elambda__1___closed__5);
l_Lean_Parser_Tactic_usingRec___closed__1 = _init_l_Lean_Parser_Tactic_usingRec___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_usingRec___closed__1);
l_Lean_Parser_Tactic_usingRec___closed__2 = _init_l_Lean_Parser_Tactic_usingRec___closed__2();
@@ -33073,8 +25240,6 @@ l_Lean_Parser_Tactic_generalizingVars___elambda__1___closed__3 = _init_l_Lean_Pa
lean_mark_persistent(l_Lean_Parser_Tactic_generalizingVars___elambda__1___closed__3);
l_Lean_Parser_Tactic_generalizingVars___elambda__1___closed__4 = _init_l_Lean_Parser_Tactic_generalizingVars___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Tactic_generalizingVars___elambda__1___closed__4);
-l_Lean_Parser_Tactic_generalizingVars___elambda__1___closed__5 = _init_l_Lean_Parser_Tactic_generalizingVars___elambda__1___closed__5();
-lean_mark_persistent(l_Lean_Parser_Tactic_generalizingVars___elambda__1___closed__5);
l_Lean_Parser_Tactic_generalizingVars___closed__1 = _init_l_Lean_Parser_Tactic_generalizingVars___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_generalizingVars___closed__1);
l_Lean_Parser_Tactic_generalizingVars___closed__2 = _init_l_Lean_Parser_Tactic_generalizingVars___closed__2();
@@ -33103,6 +25268,20 @@ l_Lean_Parser_Tactic_induction___elambda__1___closed__7 = _init_l_Lean_Parser_Ta
lean_mark_persistent(l_Lean_Parser_Tactic_induction___elambda__1___closed__7);
l_Lean_Parser_Tactic_induction___elambda__1___closed__8 = _init_l_Lean_Parser_Tactic_induction___elambda__1___closed__8();
lean_mark_persistent(l_Lean_Parser_Tactic_induction___elambda__1___closed__8);
+l_Lean_Parser_Tactic_induction___elambda__1___closed__9 = _init_l_Lean_Parser_Tactic_induction___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Tactic_induction___elambda__1___closed__9);
+l_Lean_Parser_Tactic_induction___elambda__1___closed__10 = _init_l_Lean_Parser_Tactic_induction___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Tactic_induction___elambda__1___closed__10);
+l_Lean_Parser_Tactic_induction___elambda__1___closed__11 = _init_l_Lean_Parser_Tactic_induction___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Tactic_induction___elambda__1___closed__11);
+l_Lean_Parser_Tactic_induction___elambda__1___closed__12 = _init_l_Lean_Parser_Tactic_induction___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Tactic_induction___elambda__1___closed__12);
+l_Lean_Parser_Tactic_induction___elambda__1___closed__13 = _init_l_Lean_Parser_Tactic_induction___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Tactic_induction___elambda__1___closed__13);
+l_Lean_Parser_Tactic_induction___elambda__1___closed__14 = _init_l_Lean_Parser_Tactic_induction___elambda__1___closed__14();
+lean_mark_persistent(l_Lean_Parser_Tactic_induction___elambda__1___closed__14);
+l_Lean_Parser_Tactic_induction___elambda__1___closed__15 = _init_l_Lean_Parser_Tactic_induction___elambda__1___closed__15();
+lean_mark_persistent(l_Lean_Parser_Tactic_induction___elambda__1___closed__15);
l_Lean_Parser_Tactic_induction___closed__1 = _init_l_Lean_Parser_Tactic_induction___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_induction___closed__1);
l_Lean_Parser_Tactic_induction___closed__2 = _init_l_Lean_Parser_Tactic_induction___closed__2();
@@ -33262,6 +25441,16 @@ l_Lean_Parser_Tactic_cases___elambda__1___closed__7 = _init_l_Lean_Parser_Tactic
lean_mark_persistent(l_Lean_Parser_Tactic_cases___elambda__1___closed__7);
l_Lean_Parser_Tactic_cases___elambda__1___closed__8 = _init_l_Lean_Parser_Tactic_cases___elambda__1___closed__8();
lean_mark_persistent(l_Lean_Parser_Tactic_cases___elambda__1___closed__8);
+l_Lean_Parser_Tactic_cases___elambda__1___closed__9 = _init_l_Lean_Parser_Tactic_cases___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Tactic_cases___elambda__1___closed__9);
+l_Lean_Parser_Tactic_cases___elambda__1___closed__10 = _init_l_Lean_Parser_Tactic_cases___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Tactic_cases___elambda__1___closed__10);
+l_Lean_Parser_Tactic_cases___elambda__1___closed__11 = _init_l_Lean_Parser_Tactic_cases___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Tactic_cases___elambda__1___closed__11);
+l_Lean_Parser_Tactic_cases___elambda__1___closed__12 = _init_l_Lean_Parser_Tactic_cases___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Tactic_cases___elambda__1___closed__12);
+l_Lean_Parser_Tactic_cases___elambda__1___closed__13 = _init_l_Lean_Parser_Tactic_cases___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Tactic_cases___elambda__1___closed__13);
l_Lean_Parser_Tactic_cases___closed__1 = _init_l_Lean_Parser_Tactic_cases___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_cases___closed__1);
l_Lean_Parser_Tactic_cases___closed__2 = _init_l_Lean_Parser_Tactic_cases___closed__2();
@@ -33317,6 +25506,12 @@ l_Lean_Parser_Tactic_matchAlt___elambda__1___closed__2 = _init_l_Lean_Parser_Tac
lean_mark_persistent(l_Lean_Parser_Tactic_matchAlt___elambda__1___closed__2);
l_Lean_Parser_Tactic_matchAlt___elambda__1___closed__3 = _init_l_Lean_Parser_Tactic_matchAlt___elambda__1___closed__3();
lean_mark_persistent(l_Lean_Parser_Tactic_matchAlt___elambda__1___closed__3);
+l_Lean_Parser_Tactic_matchAlt___elambda__1___closed__4 = _init_l_Lean_Parser_Tactic_matchAlt___elambda__1___closed__4();
+lean_mark_persistent(l_Lean_Parser_Tactic_matchAlt___elambda__1___closed__4);
+l_Lean_Parser_Tactic_matchAlt___elambda__1___closed__5 = _init_l_Lean_Parser_Tactic_matchAlt___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Tactic_matchAlt___elambda__1___closed__5);
+l_Lean_Parser_Tactic_matchAlt___elambda__1___closed__6 = _init_l_Lean_Parser_Tactic_matchAlt___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Tactic_matchAlt___elambda__1___closed__6);
l_Lean_Parser_Tactic_matchAlt___closed__1 = _init_l_Lean_Parser_Tactic_matchAlt___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_matchAlt___closed__1);
l_Lean_Parser_Tactic_matchAlt___closed__2 = _init_l_Lean_Parser_Tactic_matchAlt___closed__2();
@@ -33331,6 +25526,8 @@ l_Lean_Parser_Tactic_matchAlt___closed__6 = _init_l_Lean_Parser_Tactic_matchAlt_
lean_mark_persistent(l_Lean_Parser_Tactic_matchAlt___closed__6);
l_Lean_Parser_Tactic_matchAlt = _init_l_Lean_Parser_Tactic_matchAlt();
lean_mark_persistent(l_Lean_Parser_Tactic_matchAlt);
+l_Lean_Parser_Tactic_matchAlts___elambda__1___closed__1 = _init_l_Lean_Parser_Tactic_matchAlts___elambda__1___closed__1();
+lean_mark_persistent(l_Lean_Parser_Tactic_matchAlts___elambda__1___closed__1);
l_Lean_Parser_Tactic_matchAlts___closed__1 = _init_l_Lean_Parser_Tactic_matchAlts___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_matchAlts___closed__1);
l_Lean_Parser_Tactic_matchAlts___closed__2 = _init_l_Lean_Parser_Tactic_matchAlts___closed__2();
@@ -33351,6 +25548,20 @@ l_Lean_Parser_Tactic_match___elambda__1___closed__2 = _init_l_Lean_Parser_Tactic
lean_mark_persistent(l_Lean_Parser_Tactic_match___elambda__1___closed__2);
l_Lean_Parser_Tactic_match___elambda__1___closed__3 = _init_l_Lean_Parser_Tactic_match___elambda__1___closed__3();
lean_mark_persistent(l_Lean_Parser_Tactic_match___elambda__1___closed__3);
+l_Lean_Parser_Tactic_match___elambda__1___closed__4 = _init_l_Lean_Parser_Tactic_match___elambda__1___closed__4();
+lean_mark_persistent(l_Lean_Parser_Tactic_match___elambda__1___closed__4);
+l_Lean_Parser_Tactic_match___elambda__1___closed__5 = _init_l_Lean_Parser_Tactic_match___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Tactic_match___elambda__1___closed__5);
+l_Lean_Parser_Tactic_match___elambda__1___closed__6 = _init_l_Lean_Parser_Tactic_match___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Tactic_match___elambda__1___closed__6);
+l_Lean_Parser_Tactic_match___elambda__1___closed__7 = _init_l_Lean_Parser_Tactic_match___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Tactic_match___elambda__1___closed__7);
+l_Lean_Parser_Tactic_match___elambda__1___closed__8 = _init_l_Lean_Parser_Tactic_match___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Tactic_match___elambda__1___closed__8);
+l_Lean_Parser_Tactic_match___elambda__1___closed__9 = _init_l_Lean_Parser_Tactic_match___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Tactic_match___elambda__1___closed__9);
+l_Lean_Parser_Tactic_match___elambda__1___closed__10 = _init_l_Lean_Parser_Tactic_match___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Tactic_match___elambda__1___closed__10);
l_Lean_Parser_Tactic_match___closed__1 = _init_l_Lean_Parser_Tactic_match___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_match___closed__1);
l_Lean_Parser_Tactic_match___closed__2 = _init_l_Lean_Parser_Tactic_match___closed__2();
@@ -33452,6 +25663,12 @@ l_Lean_Parser_Tactic_introMatch___elambda__1___closed__3 = _init_l_Lean_Parser_T
lean_mark_persistent(l_Lean_Parser_Tactic_introMatch___elambda__1___closed__3);
l_Lean_Parser_Tactic_introMatch___elambda__1___closed__4 = _init_l_Lean_Parser_Tactic_introMatch___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Tactic_introMatch___elambda__1___closed__4);
+l_Lean_Parser_Tactic_introMatch___elambda__1___closed__5 = _init_l_Lean_Parser_Tactic_introMatch___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Tactic_introMatch___elambda__1___closed__5);
+l_Lean_Parser_Tactic_introMatch___elambda__1___closed__6 = _init_l_Lean_Parser_Tactic_introMatch___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Tactic_introMatch___elambda__1___closed__6);
+l_Lean_Parser_Tactic_introMatch___elambda__1___closed__7 = _init_l_Lean_Parser_Tactic_introMatch___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Tactic_introMatch___elambda__1___closed__7);
l_Lean_Parser_Tactic_introMatch___closed__1 = _init_l_Lean_Parser_Tactic_introMatch___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_introMatch___closed__1);
l_Lean_Parser_Tactic_introMatch___closed__2 = _init_l_Lean_Parser_Tactic_introMatch___closed__2();
@@ -33491,6 +25708,10 @@ lean_mark_persistent(l___regBuiltin_Lean_Parser_Tactic_introMatch_parenthesizer_
res = l___regBuiltin_Lean_Parser_Tactic_introMatch_parenthesizer(lean_io_mk_world());
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
+l_Lean_Parser_Tactic_withIds___elambda__1___closed__1 = _init_l_Lean_Parser_Tactic_withIds___elambda__1___closed__1();
+lean_mark_persistent(l_Lean_Parser_Tactic_withIds___elambda__1___closed__1);
+l_Lean_Parser_Tactic_withIds___elambda__1___closed__2 = _init_l_Lean_Parser_Tactic_withIds___elambda__1___closed__2();
+lean_mark_persistent(l_Lean_Parser_Tactic_withIds___elambda__1___closed__2);
l_Lean_Parser_Tactic_withIds___closed__1 = _init_l_Lean_Parser_Tactic_withIds___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_withIds___closed__1);
l_Lean_Parser_Tactic_withIds___closed__2 = _init_l_Lean_Parser_Tactic_withIds___closed__2();
@@ -33517,6 +25738,16 @@ l_Lean_Parser_Tactic_injection___elambda__1___closed__7 = _init_l_Lean_Parser_Ta
lean_mark_persistent(l_Lean_Parser_Tactic_injection___elambda__1___closed__7);
l_Lean_Parser_Tactic_injection___elambda__1___closed__8 = _init_l_Lean_Parser_Tactic_injection___elambda__1___closed__8();
lean_mark_persistent(l_Lean_Parser_Tactic_injection___elambda__1___closed__8);
+l_Lean_Parser_Tactic_injection___elambda__1___closed__9 = _init_l_Lean_Parser_Tactic_injection___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Tactic_injection___elambda__1___closed__9);
+l_Lean_Parser_Tactic_injection___elambda__1___closed__10 = _init_l_Lean_Parser_Tactic_injection___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Tactic_injection___elambda__1___closed__10);
+l_Lean_Parser_Tactic_injection___elambda__1___closed__11 = _init_l_Lean_Parser_Tactic_injection___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Tactic_injection___elambda__1___closed__11);
+l_Lean_Parser_Tactic_injection___elambda__1___closed__12 = _init_l_Lean_Parser_Tactic_injection___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Tactic_injection___elambda__1___closed__12);
+l_Lean_Parser_Tactic_injection___elambda__1___closed__13 = _init_l_Lean_Parser_Tactic_injection___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Tactic_injection___elambda__1___closed__13);
l_Lean_Parser_Tactic_injection___closed__1 = _init_l_Lean_Parser_Tactic_injection___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_injection___closed__1);
l_Lean_Parser_Tactic_injection___closed__2 = _init_l_Lean_Parser_Tactic_injection___closed__2();
@@ -33582,6 +25813,14 @@ l_Lean_Parser_Tactic_paren___elambda__1___closed__1 = _init_l_Lean_Parser_Tactic
lean_mark_persistent(l_Lean_Parser_Tactic_paren___elambda__1___closed__1);
l_Lean_Parser_Tactic_paren___elambda__1___closed__2 = _init_l_Lean_Parser_Tactic_paren___elambda__1___closed__2();
lean_mark_persistent(l_Lean_Parser_Tactic_paren___elambda__1___closed__2);
+l_Lean_Parser_Tactic_paren___elambda__1___closed__3 = _init_l_Lean_Parser_Tactic_paren___elambda__1___closed__3();
+lean_mark_persistent(l_Lean_Parser_Tactic_paren___elambda__1___closed__3);
+l_Lean_Parser_Tactic_paren___elambda__1___closed__4 = _init_l_Lean_Parser_Tactic_paren___elambda__1___closed__4();
+lean_mark_persistent(l_Lean_Parser_Tactic_paren___elambda__1___closed__4);
+l_Lean_Parser_Tactic_paren___elambda__1___closed__5 = _init_l_Lean_Parser_Tactic_paren___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Tactic_paren___elambda__1___closed__5);
+l_Lean_Parser_Tactic_paren___elambda__1___closed__6 = _init_l_Lean_Parser_Tactic_paren___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Tactic_paren___elambda__1___closed__6);
l_Lean_Parser_Tactic_paren___closed__1 = _init_l_Lean_Parser_Tactic_paren___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_paren___closed__1);
l_Lean_Parser_Tactic_paren___closed__2 = _init_l_Lean_Parser_Tactic_paren___closed__2();
@@ -33654,8 +25893,6 @@ l_Lean_Parser_Tactic_orelse___elambda__1___closed__3 = _init_l_Lean_Parser_Tacti
lean_mark_persistent(l_Lean_Parser_Tactic_orelse___elambda__1___closed__3);
l_Lean_Parser_Tactic_orelse___elambda__1___closed__4 = _init_l_Lean_Parser_Tactic_orelse___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Tactic_orelse___elambda__1___closed__4);
-l_Lean_Parser_Tactic_orelse___elambda__1___closed__5 = _init_l_Lean_Parser_Tactic_orelse___elambda__1___closed__5();
-lean_mark_persistent(l_Lean_Parser_Tactic_orelse___elambda__1___closed__5);
l_Lean_Parser_Tactic_orelse___closed__1 = _init_l_Lean_Parser_Tactic_orelse___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_orelse___closed__1);
l_Lean_Parser_Tactic_orelse___closed__2 = _init_l_Lean_Parser_Tactic_orelse___closed__2();
@@ -33699,6 +25936,14 @@ l_Lean_Parser_Tactic_have___elambda__1___closed__2 = _init_l_Lean_Parser_Tactic_
lean_mark_persistent(l_Lean_Parser_Tactic_have___elambda__1___closed__2);
l_Lean_Parser_Tactic_have___elambda__1___closed__3 = _init_l_Lean_Parser_Tactic_have___elambda__1___closed__3();
lean_mark_persistent(l_Lean_Parser_Tactic_have___elambda__1___closed__3);
+l_Lean_Parser_Tactic_have___elambda__1___closed__4 = _init_l_Lean_Parser_Tactic_have___elambda__1___closed__4();
+lean_mark_persistent(l_Lean_Parser_Tactic_have___elambda__1___closed__4);
+l_Lean_Parser_Tactic_have___elambda__1___closed__5 = _init_l_Lean_Parser_Tactic_have___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Tactic_have___elambda__1___closed__5);
+l_Lean_Parser_Tactic_have___elambda__1___closed__6 = _init_l_Lean_Parser_Tactic_have___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Tactic_have___elambda__1___closed__6);
+l_Lean_Parser_Tactic_have___elambda__1___closed__7 = _init_l_Lean_Parser_Tactic_have___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Tactic_have___elambda__1___closed__7);
l_Lean_Parser_Tactic_have___closed__1 = _init_l_Lean_Parser_Tactic_have___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_have___closed__1);
l_Lean_Parser_Tactic_have___closed__2 = _init_l_Lean_Parser_Tactic_have___closed__2();
@@ -33738,6 +25983,14 @@ l_Lean_Parser_Tactic_suffices___elambda__1___closed__2 = _init_l_Lean_Parser_Tac
lean_mark_persistent(l_Lean_Parser_Tactic_suffices___elambda__1___closed__2);
l_Lean_Parser_Tactic_suffices___elambda__1___closed__3 = _init_l_Lean_Parser_Tactic_suffices___elambda__1___closed__3();
lean_mark_persistent(l_Lean_Parser_Tactic_suffices___elambda__1___closed__3);
+l_Lean_Parser_Tactic_suffices___elambda__1___closed__4 = _init_l_Lean_Parser_Tactic_suffices___elambda__1___closed__4();
+lean_mark_persistent(l_Lean_Parser_Tactic_suffices___elambda__1___closed__4);
+l_Lean_Parser_Tactic_suffices___elambda__1___closed__5 = _init_l_Lean_Parser_Tactic_suffices___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Tactic_suffices___elambda__1___closed__5);
+l_Lean_Parser_Tactic_suffices___elambda__1___closed__6 = _init_l_Lean_Parser_Tactic_suffices___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Tactic_suffices___elambda__1___closed__6);
+l_Lean_Parser_Tactic_suffices___elambda__1___closed__7 = _init_l_Lean_Parser_Tactic_suffices___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Tactic_suffices___elambda__1___closed__7);
l_Lean_Parser_Tactic_suffices___closed__1 = _init_l_Lean_Parser_Tactic_suffices___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_suffices___closed__1);
l_Lean_Parser_Tactic_suffices___closed__2 = _init_l_Lean_Parser_Tactic_suffices___closed__2();
@@ -33777,6 +26030,12 @@ l_Lean_Parser_Tactic_show___elambda__1___closed__2 = _init_l_Lean_Parser_Tactic_
lean_mark_persistent(l_Lean_Parser_Tactic_show___elambda__1___closed__2);
l_Lean_Parser_Tactic_show___elambda__1___closed__3 = _init_l_Lean_Parser_Tactic_show___elambda__1___closed__3();
lean_mark_persistent(l_Lean_Parser_Tactic_show___elambda__1___closed__3);
+l_Lean_Parser_Tactic_show___elambda__1___closed__4 = _init_l_Lean_Parser_Tactic_show___elambda__1___closed__4();
+lean_mark_persistent(l_Lean_Parser_Tactic_show___elambda__1___closed__4);
+l_Lean_Parser_Tactic_show___elambda__1___closed__5 = _init_l_Lean_Parser_Tactic_show___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Tactic_show___elambda__1___closed__5);
+l_Lean_Parser_Tactic_show___elambda__1___closed__6 = _init_l_Lean_Parser_Tactic_show___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Tactic_show___elambda__1___closed__6);
l_Lean_Parser_Tactic_show___closed__1 = _init_l_Lean_Parser_Tactic_show___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_show___closed__1);
l_Lean_Parser_Tactic_show___closed__2 = _init_l_Lean_Parser_Tactic_show___closed__2();
@@ -33820,6 +26079,14 @@ l_Lean_Parser_Tactic_let___elambda__1___closed__2 = _init_l_Lean_Parser_Tactic_l
lean_mark_persistent(l_Lean_Parser_Tactic_let___elambda__1___closed__2);
l_Lean_Parser_Tactic_let___elambda__1___closed__3 = _init_l_Lean_Parser_Tactic_let___elambda__1___closed__3();
lean_mark_persistent(l_Lean_Parser_Tactic_let___elambda__1___closed__3);
+l_Lean_Parser_Tactic_let___elambda__1___closed__4 = _init_l_Lean_Parser_Tactic_let___elambda__1___closed__4();
+lean_mark_persistent(l_Lean_Parser_Tactic_let___elambda__1___closed__4);
+l_Lean_Parser_Tactic_let___elambda__1___closed__5 = _init_l_Lean_Parser_Tactic_let___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Tactic_let___elambda__1___closed__5);
+l_Lean_Parser_Tactic_let___elambda__1___closed__6 = _init_l_Lean_Parser_Tactic_let___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Tactic_let___elambda__1___closed__6);
+l_Lean_Parser_Tactic_let___elambda__1___closed__7 = _init_l_Lean_Parser_Tactic_let___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Tactic_let___elambda__1___closed__7);
l_Lean_Parser_Tactic_let___closed__1 = _init_l_Lean_Parser_Tactic_let___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_let___closed__1);
l_Lean_Parser_Tactic_let___closed__2 = _init_l_Lean_Parser_Tactic_let___closed__2();
@@ -33859,6 +26126,14 @@ l_Lean_Parser_Tactic_let_x21___elambda__1___closed__2 = _init_l_Lean_Parser_Tact
lean_mark_persistent(l_Lean_Parser_Tactic_let_x21___elambda__1___closed__2);
l_Lean_Parser_Tactic_let_x21___elambda__1___closed__3 = _init_l_Lean_Parser_Tactic_let_x21___elambda__1___closed__3();
lean_mark_persistent(l_Lean_Parser_Tactic_let_x21___elambda__1___closed__3);
+l_Lean_Parser_Tactic_let_x21___elambda__1___closed__4 = _init_l_Lean_Parser_Tactic_let_x21___elambda__1___closed__4();
+lean_mark_persistent(l_Lean_Parser_Tactic_let_x21___elambda__1___closed__4);
+l_Lean_Parser_Tactic_let_x21___elambda__1___closed__5 = _init_l_Lean_Parser_Tactic_let_x21___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Tactic_let_x21___elambda__1___closed__5);
+l_Lean_Parser_Tactic_let_x21___elambda__1___closed__6 = _init_l_Lean_Parser_Tactic_let_x21___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Tactic_let_x21___elambda__1___closed__6);
+l_Lean_Parser_Tactic_let_x21___elambda__1___closed__7 = _init_l_Lean_Parser_Tactic_let_x21___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Tactic_let_x21___elambda__1___closed__7);
l_Lean_Parser_Tactic_let_x21___closed__1 = _init_l_Lean_Parser_Tactic_let_x21___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_let_x21___closed__1);
l_Lean_Parser_Tactic_let_x21___closed__2 = _init_l_Lean_Parser_Tactic_let_x21___closed__2();
diff --git a/stage0/stdlib/Lean/Parser/Term.c b/stage0/stdlib/Lean/Parser/Term.c
index a60d4250e5..b041cc9e40 100644
--- a/stage0/stdlib/Lean/Parser/Term.c
+++ b/stage0/stdlib/Lean/Parser/Term.c
@@ -17,9 +17,9 @@ lean_object* l_Lean_Parser_Term_if___elambda__1___closed__15;
lean_object* l_Lean_Parser_Term_le_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_subst___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_dbgTrace_formatter___closed__7;
+lean_object* l_Lean_Parser_Term_simpleBinder___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_panic_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_let_x2a_formatter___closed__1;
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__3;
lean_object* l_Lean_Parser_Term_match___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_fcomp___elambda__1___closed__4;
lean_object* l_Lean_Parser_Level_quot_formatter___closed__6;
@@ -41,8 +41,9 @@ lean_object* l_Lean_Parser_Term_tupleTail_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Tactic_seq1___closed__3;
lean_object* l_Lean_Parser_Term_matchAlt___closed__5;
lean_object* l_Lean_Parser_Term_instBinder_parenthesizer___closed__2;
+lean_object* l_Lean_Parser_Term_fromTerm___elambda__1___closed__12;
+lean_object* l_Lean_Parser_Term_tupleTail___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_subtype_parenthesizer___closed__6;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_letRecDecls___elambda__1___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_binderTactic_parenthesizer___closed__4;
lean_object* l_Lean_Parser_Term_iff___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_matchAlts_parenthesizer___closed__1;
@@ -56,6 +57,7 @@ lean_object* l_Lean_PrettyPrinter_Formatter_ppIndent_formatter(lean_object*, lea
lean_object* l_Lean_Parser_Term_letrec_formatter___closed__4;
lean_object* l_Lean_Parser_Term_paren_formatter___closed__5;
lean_object* l_Lean_Parser_Term_instBinder_formatter___closed__5;
+extern lean_object* l_Lean_Parser_Level_hole___elambda__1___closed__9;
lean_object* l_Lean_Parser_Term_letIdDecl;
lean_object* l_Lean_Parser_Term_heq___elambda__1___closed__4;
lean_object* l_Lean_Parser_Tactic_tacticSeq1Indented___closed__7;
@@ -76,6 +78,7 @@ lean_object* l___regBuiltin_Lean_Parser_Term_band_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Term_have_formatter___closed__2;
lean_object* l_Lean_Parser_Term_explicitUniv_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__1;
+lean_object* l_Lean_Parser_Term_uminus___elambda__1___closed__11;
lean_object* l___regBuiltin_Lean_Parser_Term_map_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_let_x2a_formatter___closed__2;
lean_object* l_Lean_Parser_Term_letrec_parenthesizer___closed__2;
@@ -102,7 +105,9 @@ lean_object* l_Lean_Parser_Term_andthen___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_emptyC_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Term_letDecl_formatter___closed__6;
lean_object* l_Lean_Parser_Term_arrayLit_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_app___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_structInst___closed__20;
+lean_object* l_Lean_Parser_Term_assert___elambda__1___closed__12;
lean_object* l_Lean_Parser_Term_inaccessible___closed__8;
lean_object* l_Lean_Parser_Term_dbgTrace_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_nomatch_parenthesizer___closed__2;
@@ -110,7 +115,6 @@ lean_object* l___regBuiltin_Lean_Parser_Term_lt_parenthesizer(lean_object*);
extern lean_object* l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____lambda__1___closed__2;
lean_object* l_Lean_PrettyPrinter_Formatter_visitArgs(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_bindOp___elambda__1(lean_object*, lean_object*);
-extern lean_object* l_Lean_Parser_manyAux___main___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Term_forall_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_have_parenthesizer___closed__7;
lean_object* l_Lean_Parser_Term_if___closed__13;
@@ -119,11 +123,11 @@ lean_object* l___regBuiltinParser_Lean_Parser_Term_sub(lean_object*);
lean_object* l_Lean_Parser_Term_andthen___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_structInst___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_unreachable___closed__2;
+lean_object* l_Lean_Parser_Term_byTactic___elambda__1___closed__12;
lean_object* l_Lean_Parser_Term_structInstArrayRef___closed__9;
lean_object* l_Lean_Parser_Term_or___closed__1;
lean_object* l_Lean_Parser_Term_proj_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_letrec_formatter___closed__9;
-lean_object* l_Lean_Parser_sepByFn___at_Lean_Parser_Term_listLit___elambda__1___spec__1(uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_namedPattern___elambda__1___closed__2;
lean_object* l___regBuiltin_Lean_Parser_Term_or_formatter___closed__1;
lean_object* l_Lean_Parser_Term_seqRight_formatter___closed__1;
@@ -131,6 +135,7 @@ lean_object* l___regBuiltin_Lean_Parser_Term_explicit_formatter(lean_object*);
extern lean_object* l_Lean_Parser_Level_hole___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_cdot___closed__2;
lean_object* l_Lean_Parser_Term_char___closed__2;
+lean_object* l_Lean_Parser_Term_let_x21___elambda__1___closed__11;
lean_object* l_Lean_Parser_Term_bor;
lean_object* l_Lean_Parser_Term_suffices___closed__1;
lean_object* l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__6;
@@ -147,9 +152,11 @@ lean_object* l_Lean_Parser_Term_if___elambda__1___closed__18;
lean_object* l_Lean_Parser_Term_attrInstance_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Term_let_x2a_formatter___closed__4;
lean_object* l___regBuiltinParser_Lean_Parser_Term_structInst(lean_object*);
+lean_object* l_Lean_Parser_Term_namedArgument___elambda__1___closed__8;
lean_object* l_Lean_Parser_Term_gt___elambda__1___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Term_dbgTrace_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Term_haveAssign___elambda__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_structInst___elambda__1___closed__20;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_categoryParser_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_unreachable_formatter___closed__3;
lean_object* l_Lean_Parser_Term_structInstLVal_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -192,6 +199,7 @@ lean_object* l_Lean_Parser_Term_subtype___elambda__1___closed__11;
lean_object* l_Lean_Parser_Term_band_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_regBuiltinTacticParserAttr___closed__1;
lean_object* l_Lean_Parser_Term_letrec_formatter___closed__7;
+extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
lean_object* l_Lean_Parser_Term_borrowed___closed__4;
lean_object* l_Lean_Parser_Term_explicitBinder_parenthesizer___closed__4;
lean_object* l_Lean_Parser_Term_matchDiscr___closed__2;
@@ -201,6 +209,7 @@ lean_object* l___regBuiltin_Lean_Parser_Term_dollar_formatter___closed__1;
lean_object* l_Lean_Parser_Term_letRecDecls___closed__6;
lean_object* l_Lean_Parser_sepByInfo(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_explicit___closed__2;
+lean_object* l_Lean_Parser_Term_matchAlts___closed__11;
lean_object* l___regBuiltinParser_Lean_Parser_Term_ge(lean_object*);
lean_object* l_Lean_Parser_Term_nomatch___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_and_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -272,12 +281,14 @@ lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed___closed__4;
lean_object* l_Lean_Parser_Term_fun___closed__7;
lean_object* l_Lean_Parser_Term_parser_x21___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_match__syntax_parenthesizer___closed__2;
+lean_object* l_Lean_Parser_Term_assert___elambda__1___closed__11;
lean_object* l_Lean_Parser_Term_append_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_infixR_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Term_syntheticHole_formatter___closed__3;
lean_object* l___regBuiltin_Lean_Parser_Term_where_formatter(lean_object*);
lean_object* l_Lean_Parser_Term_inaccessible___closed__1;
lean_object* l_Lean_Parser_Term_bindOp_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_emptyC___elambda__1___closed__11;
lean_object* l_Lean_Parser_Term_letrec___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_parser_x21_formatter___closed__4;
lean_object* l_Lean_Parser_Term_not___closed__6;
@@ -291,6 +302,7 @@ lean_object* l_Lean_Parser_Term_structInstArrayRef___closed__4;
lean_object* l_Lean_Parser_Term_simpleBinder___closed__5;
extern lean_object* l_Lean_Parser_leadPrec;
lean_object* l_Lean_Parser_notFollowedByFn___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_fun___elambda__1___closed__12;
lean_object* l_Lean_Parser_Term_funBinder_quot_parenthesizer___closed__5;
lean_object* l_Lean_Parser_Term_lt___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_funBinder_quot___closed__4;
@@ -306,14 +318,15 @@ lean_object* l_Lean_Parser_Term_andthen___closed__3;
lean_object* l___regBuiltin_Lean_Parser_Term_let_formatter___closed__1;
lean_object* l_Lean_Parser_Term_not___elambda__1___closed__7;
extern lean_object* l_Lean_identKind___closed__1;
+lean_object* l_Lean_Parser_Term_matchAlts___closed__13;
lean_object* l___regBuiltin_Lean_Parser_Term_anonymousCtor_formatter(lean_object*);
lean_object* l_Lean_Parser_Term_bracketedBinder(uint8_t);
lean_object* l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__5;
lean_object* l_Lean_Parser_Term_have___elambda__1___closed__10;
+lean_object* l_Lean_Parser_Term_haveAssign___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_structInst___closed__6;
lean_object* l_Lean_Parser_Term_ensureExpectedType___closed__1;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_sepBy_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Tactic_seq1___elambda__1___spec__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_unreachable_parenthesizer(lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Tactic_quot_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Term_explicitUniv_formatter___closed__1;
@@ -371,7 +384,9 @@ lean_object* l_Lean_Parser_Term_where;
lean_object* l_Lean_Parser_Term_quotedName___closed__1;
lean_object* l_Lean_Parser_Term_explicit___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_instBinder___closed__5;
+lean_object* l_Lean_Parser_Term_paren___elambda__1___closed__7;
lean_object* l_Lean_Parser_Term_parenSpecial_formatter___closed__2;
+lean_object* l_Lean_Parser_Term_subst___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_attrInstance_formatter___closed__3;
lean_object* l___regBuiltin_Lean_Parser_Term_seq_formatter(lean_object*);
lean_object* l_Lean_Parser_Term_inaccessible___elambda__1___closed__7;
@@ -394,24 +409,31 @@ lean_object* l_Lean_Parser_Term_div_formatter___closed__1;
lean_object* l_Lean_Parser_Term_match;
lean_object* l_Lean_Parser_Term_depArrow;
lean_object* l_Lean_Parser_Term_heq___elambda__1___closed__1;
+lean_object* l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_match__syntax_parenthesizer___closed__4;
lean_object* l_Lean_Parser_Term_structInstField_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_proj_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Term_tparser_x21_formatter___closed__2;
lean_object* l_Lean_Parser_Term_namedArgument_formatter___closed__6;
+lean_object* l_Lean_Parser_Term_type___elambda__1___closed__13;
lean_object* l_Lean_Parser_Tactic_quot_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_depArrow___elambda__1___closed__9;
+lean_object* l_Lean_Parser_Term_cdot___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_iff___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_emptyC_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Term_have___closed__2;
+lean_object* l_Lean_Parser_Term_have___elambda__1___lambda__1(lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_le_formatter___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Term_mapRev_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_if_formatter___closed__3;
lean_object* l_Lean_Parser_Term_anonymousCtor_formatter___closed__3;
lean_object* l_Lean_Parser_Term_implicitBinder___elambda__1___closed__3;
+lean_object* l_Lean_Parser_Term_forall___elambda__1___closed__17;
lean_object* l_Lean_Parser_Term_tparser_x21___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_fcomp_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_typeOf___closed__2;
+lean_object* l_Lean_Parser_Term_namedArgument___elambda__1___closed__6;
+lean_object* l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__15;
lean_object* l___regBuiltinParser_Lean_Parser_Term_lt(lean_object*);
lean_object* l_Lean_Parser_Term_explicitUniv;
extern lean_object* l_Int_repr___closed__1;
@@ -429,11 +451,13 @@ lean_object* l_Lean_Parser_Term_match_formatter___closed__3;
lean_object* l_Lean_Parser_Term_arrayLit___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_subst_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Term_nomatch_formatter___closed__3;
+lean_object* l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__14;
lean_object* l_Lean_Parser_Term_show___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_match__syntax___closed__7;
lean_object* l_Lean_Parser_Term_match__syntax_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_nativeRefl___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__2;
+extern lean_object* l_Lean_Parser_fieldIdx___closed__6;
lean_object* l_Lean_Parser_Term_nativeRefl_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_matchAlt___closed__8;
lean_object* l___regBuiltinParser_Lean_Parser_Term_assert(lean_object*);
@@ -444,13 +468,12 @@ lean_object* l_Lean_Parser_Term_namedPattern_formatter(lean_object*, lean_object
lean_object* l_Lean_Parser_darrow___elambda__1___closed__4;
extern lean_object* l_Array_myMacro____x40_Init_Data_Array_Macros___hyg_464____closed__8;
lean_object* l_Lean_Parser_Term_eq___elambda__1___closed__1;
+lean_object* l_Lean_Parser_Term_letrec___elambda__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_prop_formatter___closed__3;
lean_object* l_Lean_Parser_Term_letIdDecl_parenthesizer___closed__3;
-extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__6;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Level_quot_parenthesizer___closed__4;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_seq1___elambda__1___spec__2___closed__2;
-lean_object* l_Lean_Parser_sepByFn___at_Lean_Parser_Term_anonymousCtor___elambda__1___spec__1(uint8_t, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__7;
lean_object* l_Lean_Parser_Level_quot_formatter___closed__4;
lean_object* l_Lean_Parser_Term_type___elambda__1___closed__7;
extern lean_object* l_Array_myMacro____x40_Init_Data_Array_Macros___hyg_464____closed__1;
@@ -465,7 +488,7 @@ lean_object* l_Lean_Parser_Term_parser_x21___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_matchAlts_parenthesizer___closed__8;
lean_object* l_Lean_Parser_Term_div;
lean_object* l_Lean_Parser_Term_sort_parenthesizer___closed__1;
-lean_object* l_Lean_Parser_Term_matchAlts___lambda__1(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_matchAlts___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_dollar_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_letDecl_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Term_structInst_formatter___closed__12;
@@ -495,6 +518,7 @@ lean_object* l_Lean_Parser_Term_binderTactic___elambda__1___closed__5;
lean_object* l___regBuiltin_Lean_Parser_Term_nativeRefl_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_seqLeft___elambda__1___closed__1;
+lean_object* l_Lean_Parser_Term_ellipsis___elambda__1___closed__7;
lean_object* l_Lean_Parser_Term_le_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_letrec___elambda__1___closed__2;
lean_object* l___regBuiltin_Lean_Parser_Term_append_parenthesizer___closed__1;
@@ -511,10 +535,11 @@ lean_object* l_Lean_Parser_group_formatter(lean_object*, lean_object*, lean_obje
lean_object* l_Lean_Parser_Term_attrInstance___closed__1;
lean_object* l_Lean_Parser_Term_show_parenthesizer___closed__4;
lean_object* l_Lean_Parser_regTacticParserAttribute___closed__2;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_seq1___elambda__1___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_explicit___elambda__1___closed__11;
lean_object* l_Lean_Parser_Level_quot___closed__4;
lean_object* l_Lean_Parser_Term_typeAscription___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_nativeRefl___closed__4;
+lean_object* l_Lean_Parser_Term_letIdLhs___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_match___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_attributes___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_mul_formatter___closed__1;
@@ -522,9 +547,12 @@ lean_object* l_Lean_Parser_Term_arrayRef_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_letrec_formatter___closed__3;
lean_object* l_Lean_Parser_Term_subst_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_type___elambda__1___closed__2;
+lean_object* l_Lean_Parser_Term_match___elambda__1___closed__17;
+lean_object* l_Lean_Parser_Term_app___elambda__1___closed__8;
lean_object* l_Lean_Parser_Term_letPatDecl___closed__2;
lean_object* l_Lean_Parser_Term_where___elambda__1___closed__2;
lean_object* l___regBuiltin_Lean_Parser_Term_subst_formatter(lean_object*);
+lean_object* l_Lean_Parser_Term_bnot___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_letPatDecl;
lean_object* l_Lean_Parser_Term_assert;
lean_object* l_Lean_Parser_Term_letrec_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -536,6 +564,7 @@ lean_object* l_Lean_Parser_Term_ensureTypeOf_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Term_typeAscription___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_show_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Term_let_x21___elambda__1___closed__4;
+lean_object* l_Lean_Parser_Term_forall___elambda__1___closed__21;
lean_object* l_Lean_Parser_Term_implicitBinder_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_band___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_explicitUniv_parenthesizer___closed__4;
@@ -543,6 +572,7 @@ lean_object* l_Lean_Parser_Term_dbgTrace_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Term_explicitUniv_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_orelse_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Term_explicitBinder___elambda__1___closed__3;
+lean_object* l_Lean_Parser_Term_tparser_x21___elambda__1___closed__11;
lean_object* l_Lean_Parser_Term_and___closed__3;
lean_object* l_Lean_Parser_Term_binderTactic_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Term_dollar_formatter___closed__1;
@@ -553,6 +583,8 @@ lean_object* l_Lean_Parser_Term_if___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_parenSpecial___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_seqLeft___elambda__1___closed__2;
extern lean_object* l_Lean_Parser_pushNone;
+lean_object* l_Lean_Parser_Term_matchAlts___closed__15;
+lean_object* l_Lean_Parser_Level_quot___elambda__1___closed__11;
lean_object* l_Lean_Parser_Term_sufficesDecl_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__7;
lean_object* l___regBuiltin_Lean_Parser_Term_paren_formatter(lean_object*);
@@ -560,11 +592,11 @@ lean_object* l_Lean_Parser_Term_subst___elambda__1___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Term_fun_formatter(lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_eq_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Term_fromTerm_parenthesizer___closed__2;
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_haveDecl_formatter___closed__4;
lean_object* l_Lean_Parser_Term_match___elambda__1___closed__8;
lean_object* l_Lean_Parser_Term_prod_formatter___closed__1;
lean_object* l_Lean_Parser_Term_letrec___closed__7;
+lean_object* l_Lean_Parser_Term_depArrow___elambda__1___closed__19;
lean_object* l_Lean_Parser_Term_unreachable___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_forall_formatter___closed__5;
lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed;
@@ -578,11 +610,13 @@ lean_object* l_Lean_Parser_Term_type_parenthesizer___closed__5;
lean_object* l_Lean_Parser_Term_bor_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_andM___closed__2;
lean_object* l_Lean_Parser_Term_implicitBinder_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_paren___elambda__1___closed__3;
lean_object* l___regBuiltin_Lean_Parser_Term_emptyC_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__9;
lean_object* l_Lean_Parser_Term_structInstLVal___closed__10;
lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer___closed__8;
lean_object* l_Lean_Parser_Term_type___closed__6;
+lean_object* l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__9;
lean_object* l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_instBinder___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__2;
@@ -594,14 +628,15 @@ lean_object* l_Lean_Parser_Term_have___closed__3;
lean_object* l_Lean_Parser_Term_dbgTrace_formatter___closed__5;
lean_object* l_Lean_Parser_Term_unicodeInfixL_parenthesizer___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_arrayLit_parenthesizer___closed__1;
-lean_object* l_Lean_Parser_ParserState_pushSyntax(lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_tparser_x21_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Term_ge_formatter___closed__1;
+lean_object* l_Lean_Parser_Term_attributes___elambda__1___closed__14;
lean_object* l_Lean_Parser_Term_binderTactic___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_decide___elambda__1___closed__2;
lean_object* l___regBuiltin_Lean_Parser_Term_band_formatter(lean_object*);
lean_object* l_Lean_Parser_Term_anonymousCtor___closed__8;
lean_object* l_Lean_Parser_Term_dollarProj___elambda__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_parser_x21___elambda__1___closed__13;
lean_object* l_Lean_Parser_Term_sort___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_ensureExpectedType_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Term_heq___elambda__1___closed__5;
@@ -621,6 +656,7 @@ lean_object* l_Lean_Parser_Term_not_formatter___closed__4;
lean_object* l_Lean_Parser_Term_explicitBinder_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_prod_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_quotedName___closed__3;
+lean_object* l_Lean_Parser_Term_listLit___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_arrayLit_formatter___closed__4;
lean_object* l___regBuiltin_Lean_Parser_Term_band_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_subst___closed__6;
@@ -629,7 +665,7 @@ lean_object* l_Lean_Parser_Term_seq___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_let_x2a___elambda__1___closed__2;
lean_object* l___regBuiltinParser_Lean_Parser_Term_quotedName(lean_object*);
lean_object* l_Lean_Parser_Term_show___elambda__1___closed__6;
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_simpleBinder___elambda__1___spec__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_letRecDecls___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_letIdLhs___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_optIdent___closed__1;
lean_object* l_Lean_Parser_Term_bnot_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -644,6 +680,7 @@ lean_object* l_Lean_Parser_Term_if_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Term_subtype___closed__1;
lean_object* l_Lean_Parser_Term_arrayLit_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Term_parser_x21_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_unreachable___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_decide___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_anonymousCtor___closed__4;
lean_object* l_Lean_Parser_Term_or___closed__2;
@@ -656,11 +693,14 @@ lean_object* l_Lean_Parser_Term_infixR_parenthesizer___rarg(lean_object*, lean_o
lean_object* l_Lean_Parser_Term_simpleBinder_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_attrInstance___closed__7;
lean_object* l_Lean_Parser_Term_bracketedBinder_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_syntheticHole___elambda__1___closed__12;
lean_object* l_Lean_Parser_Level_quot_formatter___closed__2;
lean_object* l_Lean_Parser_Term_depArrow___elambda__1___closed__8;
lean_object* l_Lean_Parser_Term_letrec_formatter___closed__5;
+lean_object* l_Lean_Parser_Tactic_seq1___elambda__1___closed__1;
lean_object* l_Lean_Parser_nonReservedSymbolFn(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_fromTerm___elambda__1___closed__2;
+lean_object* l_Lean_Parser_Term_quotedName___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_beq___elambda__1___closed__4;
lean_object* l___regBuiltin_Lean_Parser_Term_dbgTrace_formatter___closed__1;
lean_object* l_Lean_Parser_Term_emptyC___closed__7;
@@ -675,12 +715,17 @@ lean_object* l_Lean_Parser_Term_modN;
lean_object* l_Lean_Parser_Term_mul___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_if___elambda__1___closed__16;
lean_object* l_Lean_Parser_ParserState_mkNode(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_not___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_equiv___closed__2;
lean_object* l_Lean_Parser_Term_ident___closed__1;
+lean_object* l_Lean_Parser_Term_prop___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_matchDiscr___elambda__1___closed__6;
+lean_object* l_Lean_Parser_Term_tupleTail___elambda__1___closed__6;
lean_object* l___regBuiltin_Lean_Parser_Term_div_parenthesizer(lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_cdot_parenthesizer(lean_object*);
+lean_object* l_Lean_Parser_Term_if___elambda__1___closed__24;
lean_object* l___regBuiltinParser_Lean_Parser_Term_andthen(lean_object*);
+lean_object* l_Lean_Parser_Term_inaccessible___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_ge___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_where_formatter___closed__6;
lean_object* l___regBuiltin_Lean_Parser_Term_type_parenthesizer___closed__1;
@@ -698,6 +743,7 @@ lean_object* l_Lean_Parser_Term_uminus___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Level_quot_formatter___closed__5;
lean_object* l___regBuiltin_Lean_Parser_Term_quotedName_formatter___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Term_namedPattern_formatter___closed__1;
+lean_object* l_Lean_Parser_Term_funImplicitBinder___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_sorry_formatter___closed__3;
lean_object* l_Lean_Parser_Term_app_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_explicitBinder_formatter___closed__1;
@@ -708,10 +754,12 @@ lean_object* l_Lean_Parser_Term_optExprPrecedence_formatter(lean_object*, lean_o
lean_object* l_Lean_Parser_Term_gt_formatter___closed__1;
lean_object* l_Lean_Parser_Term_bor_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_structInst_formatter___closed__11;
+lean_object* l_Lean_Parser_Term_byTactic___elambda__1___closed__11;
lean_object* l_Lean_Parser_Term_where_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_heq___closed__2;
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__1;
+lean_object* l_Lean_Parser_Term_matchDiscr___elambda__1___closed__13;
extern lean_object* l_Lean_Parser_antiquotNestedExpr_parenthesizer___closed__1;
+lean_object* l_Lean_Parser_Term_suffices___elambda__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_cons___closed__4;
lean_object* l_Lean_Parser_Term_andM___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_seq___elambda__1(lean_object*, lean_object*);
@@ -720,6 +768,7 @@ lean_object* l_Lean_Parser_Term_forall_parenthesizer___closed__4;
lean_object* l_Lean_Parser_Term_matchAlts___closed__6;
lean_object* l_Lean_Parser_Term_fun_parenthesizer___closed__8;
lean_object* l_Lean_Parser_Term_namedArgument___elambda__1___closed__1;
+lean_object* l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__13;
lean_object* l_Lean_Parser_Term_paren_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_seq1_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_nativeDecide_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -727,7 +776,6 @@ lean_object* l_Lean_Parser_Term_namedArgument___closed__3;
lean_object* l_Lean_Parser_Term_dollarProj_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__3;
lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__11;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__1;
lean_object* l_Lean_Parser_Term_match_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_ellipsis___closed__1;
lean_object* l_Lean_Parser_Term_inaccessible_formatter___closed__3;
@@ -738,7 +786,6 @@ lean_object* l_Lean_Parser_regTacticParserAttribute___closed__1;
lean_object* l_Lean_Parser_Term_letPatDecl___closed__4;
lean_object* l_Lean_Parser_Term_if___elambda__1___closed__7;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_withoutPosition_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-extern lean_object* l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
lean_object* l_Lean_Parser_Term_attributes_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_matchDiscr___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_letRecDecls;
@@ -746,8 +793,10 @@ lean_object* l_Lean_Parser_Term_or___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_quotedName___closed__5;
lean_object* l_Lean_Parser_Term_attributes___closed__7;
lean_object* l_Lean_Parser_Term_letPatDecl_parenthesizer___closed__5;
+lean_object* l_Lean_Parser_Term_optIdent___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_matchAlts_parenthesizer___closed__6;
lean_object* l_Lean_Parser_Term_nativeDecide___elambda__1___closed__2;
+lean_object* l_Lean_Parser_Term_have___elambda__1___closed__11;
lean_object* l_Lean_Parser_Term_structInst___elambda__1___closed__12;
lean_object* l_Lean_Parser_Term_match__syntax___closed__3;
lean_object* l_Lean_Parser_Term_ensureExpectedType___closed__4;
@@ -760,6 +809,7 @@ lean_object* l_Lean_Parser_Term_dbgTrace_formatter___closed__3;
lean_object* l_Lean_Parser_Term_hole___closed__2;
lean_object* l_Lean_Parser_Term_assert___elambda__1___closed__7;
lean_object* l_Lean_Parser_Tactic_quotSeq_formatter___closed__4;
+lean_object* l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__14;
lean_object* l_Lean_Parser_Term_pow___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_seqLeft___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_bnot___closed__3;
@@ -794,16 +844,20 @@ lean_object* l___regBuiltin_Lean_Parser_Term_subst_formatter___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Term_nomatch_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Term_listLit___closed__2;
lean_object* l_Lean_Parser_Term_band___elambda__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_uminus___elambda__1___closed__12;
lean_object* l_Lean_Parser_ParserState_mkTrailingNode(lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_gt_formatter___closed__1;
+lean_object* l_Lean_Parser_Term_if___elambda__1___closed__20;
lean_object* l___regBuiltinParser_Lean_Parser_Term_unreachable(lean_object*);
lean_object* l_Lean_Parser_Term_seqRight___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_eq_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_structInst___elambda__1___closed__26;
lean_object* l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Term_optSemicolon(lean_object*);
lean_object* l_Lean_Parser_Term_letRecDecls_formatter___closed__2;
lean_object* l_Lean_Parser_Term_prop___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_fun_formatter___closed__6;
+lean_object* l_Lean_Parser_Term_match___elambda__1___closed__11;
lean_object* l_Lean_Parser_Term_fun___closed__11;
lean_object* l_Lean_Parser_Term_dollar_formatter___closed__4;
extern lean_object* l_Lean_Expr_ctorName___closed__4;
@@ -814,10 +868,9 @@ lean_object* l_Lean_Parser_Term_let___elambda__1___closed__7;
lean_object* l_Lean_Parser_Term_suffices_parenthesizer___closed__2;
extern lean_object* l___regBuiltin_Lean_Parser_ppSpace_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_assert_parenthesizer___closed__3;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__2;
lean_object* l_Lean_Parser_Term_not___closed__3;
lean_object* l_Lean_Parser_addBuiltinParser(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_where___elambda__1___spec__2___closed__5;
+lean_object* l_Lean_Parser_Term_prop___elambda__1___closed__11;
lean_object* l_Lean_Parser_Term_letRecDecls_formatter___closed__1;
lean_object* l_Lean_Parser_Term_optIdent___closed__4;
lean_object* l_Lean_Parser_Term_arrayLit_formatter___closed__2;
@@ -829,7 +882,6 @@ lean_object* l_Lean_Parser_Term_let_x2a___elambda__1___closed__7;
lean_object* l_Lean_Parser_Term_depArrow___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_subtype___elambda__1___closed__12;
lean_object* l_Lean_Parser_Term_matchAlt_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_where___elambda__1___spec__2___closed__3;
lean_object* l_Lean_Parser_Term_matchAlt___closed__7;
lean_object* l_Lean_Parser_ppIndent_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_syntheticHole_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -848,29 +900,31 @@ lean_object* lean_string_append(lean_object*, lean_object*);
extern lean_object* l_Lean_Parser_mkAntiquot_formatter___closed__9;
lean_object* l_Lean_Parser_Term_dbgTrace___closed__6;
lean_object* l_Lean_PrettyPrinter_Formatter_checkWsBefore_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__2;
lean_object* l_Lean_Parser_Term_explicit___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_sorry___closed__2;
lean_object* l_Lean_Parser_Term_nomatch___closed__7;
lean_object* l_Lean_Parser_Term_if___closed__11;
lean_object* l_Lean_Parser_Term_byTactic_formatter___closed__2;
extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___lambda__1___closed__2;
+lean_object* l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__17;
lean_object* l_Lean_Parser_Term_app_parenthesizer___closed__7;
lean_object* l_Lean_Parser_Term_emptyC_parenthesizer___closed__4;
+lean_object* l_Lean_Parser_Term_structInst___elambda__1___closed__18;
lean_object* l___regBuiltinParser_Lean_Parser_Term_map(lean_object*);
lean_object* l_Lean_Parser_Term_sorry_formatter___closed__2;
lean_object* l_Lean_Parser_Term_hole_formatter___closed__2;
-lean_object* l_Lean_Parser_tokenFn(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_borrowed_parenthesizer___closed__3;
+lean_object* l_Lean_Parser_Term_namedArgument___elambda__1___closed__9;
+lean_object* l_Lean_Parser_Term_assert___elambda__1___closed__10;
lean_object* l___regBuiltinParser_Lean_Parser_Term_let(lean_object*);
lean_object* l_Lean_PrettyPrinter_Parenthesizer_toggleInsideQuot_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_type___elambda__1___closed__16;
lean_object* l_Lean_Parser_Term_type_formatter___closed__5;
lean_object* l_Lean_Parser_Term_dbgTrace___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_let_x21___elambda__1___closed__9;
lean_object* l_Lean_Parser_Term_structInst_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_nativeRefl_formatter(lean_object*);
lean_object* l_Lean_Parser_Term_show___closed__6;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_infixL_parenthesizer___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_prod_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_nomatch___elambda__1___closed__9;
@@ -879,6 +933,7 @@ lean_object* l___regBuiltin_Lean_Parser_Term_listLit_formatter___closed__1;
lean_object* l_Lean_Parser_Term_listLit___closed__4;
lean_object* l_Lean_Parser_Term_attrInstance_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_attrInstance_parenthesizer___closed__3;
+lean_object* l_Lean_Parser_Term_listLit___elambda__1___closed__7;
lean_object* l_Lean_Parser_Term_hole___closed__5;
lean_object* l_Lean_Parser_Term_add_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_uminus_formatter___closed__4;
@@ -904,6 +959,7 @@ lean_object* l___regBuiltin_Lean_Parser_Term_proj_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_nativeRefl___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_have_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Level_quot_parenthesizer___closed__1;
+lean_object* l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__12;
lean_object* l_Lean_Parser_Term_and;
extern lean_object* l_String_splitAux___main___closed__1;
lean_object* l_Lean_Parser_Term_gt___elambda__1(lean_object*, lean_object*);
@@ -923,10 +979,12 @@ lean_object* l_Lean_Parser_Tactic_tacticSeq_parenthesizer___closed__2;
lean_object* l_Lean_PrettyPrinter_Formatter_try_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_structInstArrayRef_formatter___closed__1;
lean_object* l_Lean_Parser_Term_parser_x21_formatter___closed__2;
+lean_object* l_Lean_Parser_Term_listLit___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_funBinder_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_structInstLVal___closed__9;
lean_object* l_Lean_Parser_Term_namedPattern___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_show___elambda__1___closed__3;
+lean_object* l_Lean_Parser_Term_tupleTail___elambda__1___closed__8;
lean_object* l_Lean_Parser_Term_tupleTail___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_borrowed_formatter___closed__3;
lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer___closed__6;
@@ -951,11 +1009,11 @@ lean_object* l_Lean_Parser_Term_quotedName___elambda__1___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Term_panic_formatter(lean_object*);
lean_object* l_Lean_Parser_Term_typeAscription___elambda__1___closed__2;
lean_object* l_Lean_Parser_checkPrecFn___boxed(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_forall___elambda__1___closed__13;
lean_object* l_Lean_Parser_Term_anonymousCtor___closed__9;
lean_object* l_Lean_Parser_Term_sorry___closed__1;
lean_object* l_Lean_Parser_Level_quot_formatter___closed__3;
lean_object* l_Lean_Parser_Term_unicodeInfixL_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_Term_explicitBinder___closed__10;
lean_object* l_Lean_Parser_Term_structInst___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_let_x21___closed__6;
lean_object* l_Lean_Parser_Term_byTactic_formatter___closed__1;
@@ -967,6 +1025,7 @@ lean_object* l_Lean_Parser_Term_if_parenthesizer___closed__8;
lean_object* l_Lean_Parser_Term_simpleBinder___closed__3;
lean_object* l_Lean_Parser_Term_heq___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_parser_x21___closed__5;
+lean_object* l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__16;
lean_object* l_Lean_Parser_Term_paren_formatter___closed__6;
lean_object* l___regBuiltin_Lean_Parser_Term_parser_x21_formatter(lean_object*);
lean_object* l_Lean_Parser_Term_proj___elambda__1___closed__1;
@@ -983,7 +1042,6 @@ extern lean_object* l_Lean_Parser_Level_num___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Term_arrow_formatter(lean_object*);
lean_object* l_Lean_Parser_Term_instBinder___closed__7;
extern lean_object* l_Lean_Parser_antiquotNestedExpr_parenthesizer___closed__3;
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_matchAlts___spec__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_uminus_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_explicit___closed__8;
lean_object* l_Lean_PrettyPrinter_Formatter_sepBy_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -991,9 +1049,9 @@ lean_object* l_Lean_Parser_Term_structInstArrayRef_formatter___closed__4;
lean_object* l_Lean_Parser_Term_quotedName_formatter___closed__1;
lean_object* l_Lean_Parser_Term_if;
lean_object* l_Lean_Parser_Term_paren;
+lean_object* l_Lean_Parser_Term_structInstLVal___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_anonymousCtor___closed__1;
lean_object* l_Lean_Parser_Term_heq___closed__3;
-lean_object* l_Lean_Parser_ParserState_mkErrorsAt(lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_orM_parenthesizer___closed__1;
lean_object* l___regBuiltinParser_Lean_Parser_Term_nativeRefl(lean_object*);
lean_object* l_Lean_Parser_Term_le_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -1005,13 +1063,14 @@ lean_object* l_Lean_Parser_darrow_formatter(lean_object*, lean_object*, lean_obj
lean_object* l_Lean_Parser_mkAntiquot_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_leadingNode_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_forall_parenthesizer___closed__8;
+lean_object* l_Lean_Parser_Term_type___elambda__1___closed__14;
lean_object* l_Lean_Parser_Term_let_x21_formatter___closed__3;
lean_object* l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_tupleTail___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_matchAlts_formatter___closed__7;
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_fun___elambda__1___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_pow_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_binderType(uint8_t);
+lean_object* l_Lean_Parser_Term_inaccessible___elambda__1___closed__13;
lean_object* l_Lean_Parser_Term_cons___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_letDecl___closed__2;
lean_object* l_Lean_Parser_Term_optIdent___closed__2;
@@ -1028,15 +1087,16 @@ lean_object* l_Lean_Parser_Term_fun_parenthesizer___closed__6;
lean_object* l_Lean_Parser_Term_funImplicitBinder_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_eq___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_have___closed__7;
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_structInstLVal___elambda__1___spec__1___closed__2;
lean_object* l_Lean_Parser_Term_typeAscription_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_prop_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_namedArgument_formatter___closed__1;
lean_object* l_Lean_Parser_Term_match___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_nativeRefl_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Term_sort___elambda__1___closed__2;
+lean_object* l_Lean_Parser_Term_syntheticHole___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_not___closed__2;
lean_object* l_Lean_Parser_Term_heq_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_checkColGeFn___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_nativeRefl_formatter___closed__2;
lean_object* l_Lean_Parser_Term_haveDecl_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
@@ -1048,6 +1108,7 @@ lean_object* l_Lean_Parser_Term_fun___elambda__1___closed__11;
lean_object* l_Lean_Parser_Term_matchAlts_formatter___closed__16;
lean_object* l_Lean_Parser_Term_explicitUniv___closed__10;
lean_object* l_Lean_Parser_Term_where___closed__6;
+lean_object* l_Lean_Parser_Term_structInstLVal___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_letRecDecls___closed__3;
lean_object* l___regBuiltin_Lean_Parser_Term_iff_formatter(lean_object*);
lean_object* l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -1063,6 +1124,7 @@ lean_object* l_Lean_Parser_Term_typeOf___closed__7;
lean_object* l_Lean_Parser_Term_explicitBinder_parenthesizer___closed__5;
lean_object* l_Lean_Parser_Term_prod___closed__3;
lean_object* l_Lean_Parser_Term_typeOf_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_match__syntax___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_str_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Tactic_quotSeq_formatter___closed__1;
lean_object* l_Lean_Parser_Term_lt___elambda__1___closed__2;
@@ -1077,7 +1139,6 @@ lean_object* l_Lean_Parser_Term_have_formatter___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Term_char_formatter___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Term_dollarProj_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_suffices___elambda__1___closed__7;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__4;
lean_object* l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__8;
lean_object* l_Lean_Parser_Term_hole_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Term_parser_x21_formatter___closed__1;
@@ -1092,7 +1153,7 @@ lean_object* l_Lean_Parser_Term_let_x2a___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_paren___closed__7;
lean_object* l_Lean_Parser_Term_unreachable___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Term_app_formatter___closed__1;
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_structInstLVal___elambda__1___spec__1___closed__1;
+lean_object* l_Lean_Parser_Term_depArrow___elambda__1___closed__17;
lean_object* l_Lean_Parser_Term_namedArgument___elambda__1___closed__4;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkPrec_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_anonymousCtor___closed__2;
@@ -1133,6 +1194,7 @@ lean_object* l_Lean_Parser_checkPrecFn(lean_object*, lean_object*, lean_object*)
lean_object* l_Lean_Parser_Term_panic_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Term_parser_x21___elambda__1___closed__8;
lean_object* l_Lean_Parser_Term_typeOf_parenthesizer___closed__2;
+lean_object* l_Lean_Parser_Term_let_x21___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_lt_parenthesizer___closed__1;
lean_object* lean_nat_add(lean_object*, lean_object*);
lean_object* l_Lean_PrettyPrinter_Formatter_checkColGt_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
@@ -1149,6 +1211,7 @@ lean_object* l___regBuiltin_Lean_Parser_Term_decide_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_match___closed__3;
lean_object* l_Lean_Parser_Term_sort___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_fun___elambda__1___closed__4;
+lean_object* l_Lean_Parser_Term_if___elambda__1___closed__21;
lean_object* l_Lean_Parser_Term_attrInstance___closed__5;
lean_object* l_Lean_Parser_Term_equiv___closed__3;
lean_object* l_Lean_Parser_many1Fn(lean_object*, lean_object*, lean_object*);
@@ -1156,6 +1219,7 @@ lean_object* l_Lean_Parser_Term_sorry___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_structInst_formatter___closed__17;
lean_object* l_Lean_Parser_Term_suffices___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_matchDiscr___closed__5;
+lean_object* l_Lean_Parser_Term_attrArg___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_let_x21___closed__5;
lean_object* l_Lean_Parser_Term_let___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_forall_parenthesizer___closed__5;
@@ -1165,9 +1229,11 @@ lean_object* l___regBuiltinParser_Lean_Parser_Term_panic(lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_sorry_formatter___closed__1;
lean_object* l_Lean_Parser_Term_structInst___elambda__1___closed__14;
lean_object* l_Lean_Parser_Term_ensureTypeOf___closed__4;
+lean_object* l_Lean_Parser_Term_letrec___elambda__1___closed__9;
lean_object* l_Lean_Parser_Term_ensureExpectedType_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_letRecDecls___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__8;
+lean_object* l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__15;
lean_object* l_Lean_Parser_Term_match_parenthesizer___closed__4;
lean_object* l_Lean_Parser_Term_borrowed_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Term_sorry___closed__4;
@@ -1186,6 +1252,7 @@ lean_object* l_Lean_Parser_Term_explicitBinder_formatter___closed__4;
lean_object* l_Lean_Parser_Term_prod___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_pow_formatter___closed__1;
lean_object* l_Lean_Parser_Term_paren___closed__5;
+lean_object* l_Lean_Parser_Term_letPatDecl___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_infixR___elambda__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_PrettyPrinter_Formatter_optional_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_div___elambda__1___closed__4;
@@ -1201,6 +1268,7 @@ lean_object* l_Lean_Parser_Term_structInstLVal___closed__5;
lean_object* l_Lean_Parser_Term_binderTactic___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_eq___closed__4;
lean_object* l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__2;
+lean_object* l_Lean_Parser_Term_sorry___elambda__1___closed__9;
lean_object* l_Lean_Parser_Term_matchAlts_parenthesizer(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_unicodeInfixL_parenthesizer___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_depArrow___closed__8;
@@ -1214,6 +1282,7 @@ lean_object* l___regBuiltin_Lean_Parser_Term_nativeRefl_formatter___closed__1;
lean_object* l_Lean_Parser_Term_forall_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Tactic_quot_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Term_or___elambda__1___closed__2;
+lean_object* l_Lean_Parser_Term_structInst___elambda__1___closed__22;
lean_object* l_Lean_Parser_Term_typeOf___elambda__1___closed__7;
lean_object* l_Lean_Parser_Term_listLit___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_assert___closed__2;
@@ -1223,8 +1292,10 @@ lean_object* l_Lean_Parser_Term_matchAlts___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_uminus_formatter___closed__2;
lean_object* l_Lean_Parser_Term_ge___closed__1;
lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__6;
+lean_object* l_Lean_Parser_Term_borrowed___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_explicitUniv_formatter___closed__5;
lean_object* l_Lean_Parser_Term_nativeRefl_formatter___closed__4;
+lean_object* l_Lean_Parser_Term_uminus___elambda__1___closed__13;
lean_object* l___regBuiltinParser_Lean_Parser_Tactic_quot(lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Level_quot_formatter(lean_object*);
lean_object* l_Lean_Parser_Term_arrayRef___closed__5;
@@ -1242,17 +1313,20 @@ lean_object* l___regBuiltin_Lean_Parser_Term_seq_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Term_beq___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_dollar;
lean_object* l_Lean_Parser_Term_assert_parenthesizer___closed__1;
+lean_object* l_Lean_Parser_Term_structInstLVal___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_cdot___closed__3;
lean_object* l_Lean_Parser_Term_simpleBinder___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_fun_formatter___closed__5;
lean_object* l_Lean_Parser_Term_mul___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_prop___elambda__1___closed__9;
lean_object* l_Lean_Parser_Term_typeSpec_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_match___elambda__1___closed__15;
lean_object* l___regBuiltin_Lean_Parser_Tactic_quot_formatter___closed__1;
lean_object* l_Lean_Parser_Term_structInst_parenthesizer___closed__8;
lean_object* l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__9;
+lean_object* l_Lean_Parser_Term_match___elambda__1___closed__18;
extern lean_object* l_Lean_Parser_compileParserDescr_visit___closed__1;
-extern lean_object* l_Lean_Parser_mkAntiquot___closed__5;
+lean_object* l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__8;
lean_object* l_Lean_Parser_Tactic_seq1_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__7;
lean_object* l_Lean_Parser_Term_typeOf___elambda__1___closed__8;
@@ -1260,8 +1334,10 @@ lean_object* l_Lean_PrettyPrinter_Formatter_trailingNode_formatter(lean_object*,
lean_object* l_Lean_Parser_Term_orM_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_listLit___closed__6;
lean_object* l_Lean_Parser_Term_dbgTrace_parenthesizer___closed__6;
+lean_object* l_Lean_Parser_Term_app___elambda__1___closed__7;
lean_object* l_Lean_Parser_Term_tparser_x21_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_letrec_formatter___closed__6;
+lean_object* l_Lean_Parser_Term_proj___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_paren___closed__1;
lean_object* l_Lean_Parser_Term_add___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_letPatDecl___closed__1;
@@ -1275,6 +1351,7 @@ lean_object* l_Lean_Parser_Term_suffices___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_add___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_have___elambda__1___closed__6;
lean_object* l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1(lean_object*, lean_object*);
+extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__6;
lean_object* l_Lean_Parser_Term_seqRight___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Term_seqLeft_formatter___closed__1;
lean_object* l_Lean_Parser_Term_dbgTrace___closed__9;
@@ -1301,12 +1378,15 @@ lean_object* l_Lean_Parser_Term_structInst___closed__9;
lean_object* l_Lean_Parser_Term_dollarProj___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_tupleTail___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_dbgTrace___closed__1;
+lean_object* l_Lean_Parser_Term_subtype___elambda__1___closed__21;
+lean_object* l_Lean_Parser_Term_funImplicitBinder___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_hole___closed__4;
lean_object* l_Lean_Parser_Term_cons___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_structInstLVal___closed__3;
lean_object* l_Lean_Parser_Term_fun___closed__6;
lean_object* l___regBuiltin_Lean_Parser_Term_dollar_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Tactic_quot___elambda__1___closed__6;
+extern lean_object* l_Lean_Parser_numLit___closed__2;
lean_object* l_Lean_Parser_Tactic_quotSeq_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_darrow_parenthesizer___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_depArrow_formatter___closed__7;
@@ -1338,9 +1418,12 @@ lean_object* l_Lean_Parser_Term_eq;
lean_object* l___regBuiltin_Lean_Parser_Term_have_formatter___closed__1;
lean_object* l_Lean_Parser_Term_ensureTypeOf___closed__9;
lean_object* l_Lean_Parser_Term_anonymousCtor_parenthesizer___closed__3;
+lean_object* l_Lean_Parser_Term_instBinder___elambda__1___closed__8;
+lean_object* l_Lean_Parser_Term_matchAlts___closed__10;
lean_object* l_Lean_Parser_Term_structInst___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_letIdLhs_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Term_prod___elambda__1___closed__1;
+lean_object* l_Lean_Parser_Term_hole___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_sort___closed__2;
lean_object* l_Lean_Parser_Term_uminus___closed__3;
lean_object* l_Lean_Parser_Term_let___closed__1;
@@ -1359,17 +1442,17 @@ lean_object* l_Lean_Parser_Term_matchAlts_parenthesizer___closed__12;
lean_object* l_Lean_Parser_Term_div___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_sorry___elambda__1___closed__2;
lean_object* l_Lean_Parser_Tactic_seq1_formatter___closed__1;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_where___elambda__1___spec__2(uint8_t, lean_object*, uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_not_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_not___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_type___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_type_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Term_funImplicitBinder_parenthesizer___closed__5;
lean_object* l_Lean_Parser_Term_sort___elambda__1___closed__1;
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_forall___elambda__1___spec__1___closed__1;
lean_object* l_Lean_Parser_Term_mapRev_formatter___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Term_iff_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Term_listLit_formatter___closed__2;
+lean_object* l_Lean_Parser_Tactic_seq1___elambda__1___closed__3;
+lean_object* l_Lean_Parser_Term_haveDecl___elambda__1___closed__1;
lean_object* l___regBuiltinParser_Lean_Parser_Term_parser_x21(lean_object*);
lean_object* l_Lean_Parser_Term_subtype_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_fromTerm___closed__1;
@@ -1377,6 +1460,7 @@ lean_object* l_Lean_Parser_Term_app_parenthesizer___closed__5;
lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed_formatter___closed__12;
lean_object* l___regBuiltin_Lean_Parser_Term_listLit_formatter(lean_object*);
lean_object* l_Lean_Parser_Term_parser_x21_parenthesizer___closed__5;
+lean_object* l_Lean_Parser_Term_namedArgument___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_matchAlts_formatter___closed__15;
lean_object* l_Lean_Parser_Term_typeOf___closed__5;
lean_object* l_Lean_Parser_Term_anonymousCtor___closed__5;
@@ -1394,7 +1478,8 @@ lean_object* l___regBuiltin_Lean_Parser_Term_match_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_typeAscription_parenthesizer___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Term_ge_formatter(lean_object*);
lean_object* l_Lean_Parser_Term_unreachable_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_listLit___elambda__1___spec__2(uint8_t, lean_object*, uint8_t, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_borrowed___elambda__1___closed__12;
+extern lean_object* l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__9;
lean_object* l_Lean_Parser_Term_arrow;
lean_object* l___regBuiltin_Lean_Parser_Term_char_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Term_arrow___closed__4;
@@ -1403,14 +1488,17 @@ lean_object* l_Lean_Parser_Term_namedArgument_parenthesizer(lean_object*, lean_o
lean_object* l_Lean_Parser_Term_letrec___closed__2;
lean_object* l_Lean_Parser_Term_letIdLhs___closed__5;
lean_object* l_Lean_Parser_Term_byTactic___elambda__1___closed__8;
+lean_object* l_Lean_Parser_Term_subtype___elambda__1___closed__17;
lean_object* l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__1;
lean_object* l_Lean_Parser_Level_quot___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_dbgTrace;
lean_object* l_Lean_Parser_Term_match_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Term_emptyC___elambda__1___closed__1;
+lean_object* l_Lean_Parser_Term_type___elambda__1___closed__15;
lean_object* l_Lean_Parser_Term_attributes___closed__3;
lean_object* l_Lean_Parser_Term_matchAlt_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_structInst_formatter___closed__2;
+lean_object* l_Lean_Parser_Term_match___elambda__1___closed__14;
lean_object* l_Lean_Parser_Tactic_quot_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Term_match___closed__6;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_rawIdent_parenthesizer___boxed(lean_object*);
@@ -1419,16 +1507,17 @@ lean_object* l_Lean_Parser_Term_uminus___elambda__1___closed__8;
lean_object* l_Lean_Parser_Term_prop___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_mapRev___closed__1;
extern lean_object* l___regBuiltin_Lean_PrettyPrinter_Formatter_ppSpace_formatter___closed__3;
+lean_object* l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__11;
lean_object* l_Lean_Parser_Term_structInstLVal_formatter___closed__9;
lean_object* l_Lean_Parser_Term_add_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_tparser_x21_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_structInst___closed__17;
lean_object* l_Lean_Parser_Term_depArrow_parenthesizer___closed__5;
lean_object* l___regBuiltin_Lean_Parser_Term_assert_parenthesizer___closed__1;
-uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_gt___closed__2;
lean_object* l_Lean_Parser_Term_orelse___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_syntheticHole___elambda__1___closed__1;
+lean_object* l_Lean_Parser_Term_namedArgument___elambda__1___closed__7;
lean_object* l_Lean_Parser_Term_ge___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_explicitBinder_formatter___closed__2;
lean_object* l_Lean_Parser_Term_arrayLit___elambda__1___closed__7;
@@ -1444,6 +1533,7 @@ lean_object* l_Lean_Parser_Tactic_quot_formatter___closed__6;
lean_object* l_Lean_Parser_Term_append___closed__3;
lean_object* l_Lean_Parser_Term_structInstLVal_formatter___closed__8;
lean_object* l_Lean_Parser_Term_show___closed__1;
+lean_object* l_Lean_Parser_Term_attributes___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_subtype___elambda__1___closed__8;
lean_object* l_Lean_Parser_Term_not_formatter___closed__1;
lean_object* l_Lean_Parser_Term_modN___elambda__1___closed__4;
@@ -1462,6 +1552,7 @@ lean_object* l___regBuiltin_Lean_Parser_Term_paren_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_binderTactic___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_tupleTail___closed__1;
lean_object* l_Lean_Parser_Term_not___elambda__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_fun___elambda__1___closed__17;
lean_object* l_Lean_Parser_Term_assert_parenthesizer___closed__4;
lean_object* l_Lean_Parser_Term_le___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_not_formatter___closed__2;
@@ -1485,6 +1576,8 @@ lean_object* l_Lean_Parser_Term_ge___closed__4;
lean_object* l_Lean_Parser_Term_nomatch;
lean_object* l_Lean_Parser_Term_parenSpecial;
lean_object* l_Lean_Parser_Term_structInst_formatter___closed__9;
+lean_object* l_Lean_Parser_Term_funBinder___elambda__1___closed__1;
+lean_object* l_Lean_Parser_lookaheadFn(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_proj___closed__4;
lean_object* l_Lean_Parser_Term_nativeRefl___closed__2;
lean_object* l_Lean_Parser_Term_pow___elambda__1(lean_object*, lean_object*);
@@ -1498,8 +1591,7 @@ lean_object* l_Lean_Parser_Term_structInst___closed__4;
lean_object* l_Lean_Parser_Term_attributes_parenthesizer___closed__6;
lean_object* l_Lean_Parser_Term_suffices___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_ensureTypeOf___closed__8;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_listLit___elambda__1___spec__2___closed__3;
-extern lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+lean_object* l_Lean_Parser_Term_dbgTrace___elambda__1___closed__11;
lean_object* l_Lean_Parser_Term_letRecDecls_formatter___closed__4;
lean_object* l___regBuiltin_Lean_Parser_Term_dollarProj_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Term_fromTerm___closed__2;
@@ -1508,7 +1600,9 @@ lean_object* l___regBuiltin_Lean_Parser_Term_funBinder_quot_parenthesizer___clos
lean_object* l_Lean_Parser_Term_type___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_subst_formatter___closed__2;
lean_object* l_Lean_Parser_Term_let___closed__4;
+lean_object* l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__12;
lean_object* l_Lean_Parser_Term_explicitBinder_formatter(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_panic___elambda__1___closed__12;
lean_object* l_Lean_Parser_Term_panic___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_bracketedBinder_parenthesizer___closed__1;
lean_object* l_Lean_Parser_darrow_parenthesizer(lean_object*);
@@ -1522,6 +1616,7 @@ lean_object* l_Lean_Parser_Term_decide_formatter(lean_object*, lean_object*, lea
lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed_formatter___closed__13;
lean_object* l___regBuiltin_Lean_Parser_Term_let_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Term_attributes___closed__5;
+lean_object* l_Lean_Parser_Term_nativeRefl___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_or___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_binderTactic;
lean_object* l_Lean_Parser_Term_paren___closed__9;
@@ -1572,7 +1667,6 @@ lean_object* l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_letDecl;
lean_object* l_Lean_Parser_Term_ensureTypeOf___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_type_parenthesizer___closed__8;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_structInst___elambda__1___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_haveDecl_formatter___closed__2;
lean_object* l_Lean_Parser_Term_where_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_type_formatter___closed__4;
@@ -1605,12 +1699,14 @@ lean_object* l_Lean_Parser_Term_mul___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_haveAssign___closed__7;
lean_object* l_Lean_Parser_Term_fun_parenthesizer___closed__9;
lean_object* l_Lean_Parser_Term_byTactic_parenthesizer___closed__3;
+lean_object* l_Lean_Parser_Term_if___elambda__1___closed__23;
lean_object* l_Lean_Parser_Term_heq_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_nativeDecide___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_ellipsis___closed__2;
lean_object* l_Lean_Parser_Term_bnot_formatter___closed__3;
lean_object* l_Lean_Parser_Term_cdot_formatter___closed__1;
lean_object* l_Lean_Parser_Term_beq;
+lean_object* l_Lean_Parser_checkNoWsBefore___elambda__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Level_quot_parenthesizer___closed__3;
lean_object* l___regBuiltin_Lean_Parser_Term_nativeRefl_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Term_mapRev___closed__4;
@@ -1622,6 +1718,7 @@ lean_object* l_Lean_Parser_Term_nativeDecide_formatter___closed__2;
lean_object* l_Lean_Parser_Term_bne;
lean_object* l_Lean_Parser_Term_parenSpecial_formatter___closed__1;
lean_object* l_Lean_Parser_Term_dollar___closed__5;
+lean_object* l_Lean_Parser_Term_letIdDecl___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_explicitBinder_formatter___closed__8;
lean_object* l_Lean_Parser_Term_subtype___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_explicitBinder___closed__7;
@@ -1636,18 +1733,19 @@ lean_object* l_Lean_Parser_Term_borrowed___elambda__1(lean_object*, lean_object*
extern lean_object* l___regBuiltin_Lean_Parser_nameLit_formatter___closed__2;
lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed_formatter___closed__6;
lean_object* l_Lean_Parser_Term_where___closed__9;
+lean_object* l_Lean_Parser_Term_explicit___elambda__1___closed__13;
lean_object* l_Lean_Parser_Term_attrInstance___closed__8;
+lean_object* l_Lean_Parser_Term_structInstLVal___elambda__1___closed__7;
extern lean_object* l___regBuiltin_Lean_Parser_ident_parenthesizer___closed__1;
lean_object* l_Lean_Parser_nodeWithAntiquot_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_explicitBinder___elambda__1(lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_nomatch_parenthesizer___closed__1;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_seq1___elambda__1___spec__2___closed__5;
lean_object* l_Lean_Parser_Term_letrec___closed__8;
lean_object* l_Lean_Parser_Tactic_quot_formatter___closed__5;
lean_object* l_Lean_Parser_Term_forall_formatter___closed__10;
lean_object* l_Lean_Parser_Term_haveDecl_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Term_band___elambda__1___closed__1;
-lean_object* l_Array_shrink___main___rarg(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__14;
lean_object* l_Lean_Parser_Term_paren_formatter___closed__8;
lean_object* l_Lean_Parser_Term_infixR_parenthesizer___boxed(lean_object*);
lean_object* l_Lean_Parser_Term_letPatDecl_parenthesizer___closed__1;
@@ -1657,10 +1755,12 @@ lean_object* l_Lean_Parser_Term_quotedName___elambda__1___closed__2;
lean_object* l_Lean_Parser_Level_quot___elambda__1___closed__1;
extern lean_object* l_Lean_getBuiltinSearchPath___closed__1;
lean_object* l_Lean_Parser_Term_letDecl___closed__10;
+lean_object* l_Lean_Parser_Term_tupleTail___elambda__1___closed__9;
lean_object* l_Lean_Parser_Term_haveAssign___elambda__1___closed__3;
lean_object* l_Lean_Parser_Tactic_quot___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_funImplicitBinder___closed__2;
lean_object* l___regBuiltinParser_Lean_Parser_Term_dollar(lean_object*);
+lean_object* l_Lean_Parser_Term_funImplicitBinder___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_match_parenthesizer___closed__8;
lean_object* l_Lean_Parser_Term_explicitUniv___closed__5;
lean_object* l_Lean_Parser_Term_let_parenthesizer___closed__1;
@@ -1668,17 +1768,20 @@ lean_object* l_Lean_Parser_Term_let___closed__6;
lean_object* l_Lean_Parser_Term_byTactic___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_beq_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_seqRight___closed__4;
+lean_object* l_Lean_Parser_Term_uminus___elambda__1___closed__9;
+lean_object* l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__12;
lean_object* l_Lean_Parser_Term_lt___closed__2;
lean_object* l_Lean_Parser_Term_sorry___closed__3;
lean_object* l_Lean_Parser_Term_instBinder___elambda__1___closed__2;
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_app___elambda__1___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_explicitUniv_formatter___closed__6;
+lean_object* l_Lean_Parser_Term_letrec___elambda__1___closed__11;
lean_object* l_Lean_Parser_Term_syntheticHole___elambda__1___closed__7;
lean_object* l_Lean_Parser_Term_dollar_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_paren_formatter___closed__9;
lean_object* l_Lean_Parser_Term_ge___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_structInstField___closed__2;
lean_object* l_Lean_Parser_Term_letrec_parenthesizer___closed__1;
+lean_object* l_Lean_Parser_Term_type___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_have;
lean_object* l_Lean_Parser_Term_letIdLhs___closed__3;
lean_object* l_Lean_Parser_Term_parser_x21___elambda__1___closed__9;
@@ -1690,6 +1793,7 @@ lean_object* l_Lean_Parser_Term_fcomp___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_paren___closed__8;
lean_object* l_Lean_Parser_Term_append___closed__2;
lean_object* l_Lean_Parser_Term_haveDecl___closed__3;
+lean_object* l_Lean_Parser_Term_where___elambda__1___closed__9;
lean_object* l_Lean_Parser_Term_modN_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_letPatDecl___closed__5;
lean_object* l_Lean_Parser_Term_anonymousCtor_formatter___closed__1;
@@ -1698,6 +1802,7 @@ lean_object* l_Lean_Parser_Term_matchAlts_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Term_structInst_parenthesizer___closed__9;
lean_object* l_Lean_Parser_Term_type___closed__7;
lean_object* l_Lean_Parser_Term_arrayRef;
+lean_object* l_Lean_Parser_Term_subst___elambda__1___closed__7;
lean_object* l_Lean_Parser_Term_cdot;
lean_object* l___regBuiltin_Lean_Parser_Term_band_formatter___closed__1;
lean_object* l_Lean_Parser_Term_ensureExpectedType_formatter___closed__4;
@@ -1717,16 +1822,21 @@ lean_object* l___regBuiltin_Lean_Parser_Term_prod_formatter(lean_object*);
lean_object* l_Lean_Parser_Term_sub___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_letIdDecl___elambda__1(lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Level_quot_formatter___closed__1;
+lean_object* l_Lean_Parser_Term_let_x2a___elambda__1___closed__12;
+lean_object* l_Lean_Parser_Term_instBinder___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_equiv___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_explicit_parenthesizer___closed__4;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkWsBefore_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_app_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_typeOf___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_not___elambda__1___closed__1;
+lean_object* l_Lean_Parser_Term_if___elambda__1___closed__25;
lean_object* l_Lean_Parser_Term_dbgTrace___closed__8;
lean_object* l_Lean_Parser_Term_listLit_formatter___closed__4;
lean_object* l_Lean_Parser_Term_byTactic_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_structInstLVal___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_seqLeft___elambda__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__13;
lean_object* l_Lean_Parser_Term_suffices_parenthesizer___closed__5;
lean_object* l___regBuiltinParser_Lean_Parser_Term_eq(lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_type_formatter___closed__1;
@@ -1741,6 +1851,7 @@ lean_object* l_Lean_Parser_Term_seq___elambda__1___closed__2;
lean_object* l___regBuiltin_Lean_Parser_Term_let_x21_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_letrec___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_bnot___closed__5;
+lean_object* l_Lean_Parser_Term_structInstField___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_haveDecl_parenthesizer___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Term_syntheticHole_formatter(lean_object*);
lean_object* l_Lean_Parser_Term_paren___closed__4;
@@ -1750,6 +1861,7 @@ lean_object* l_Lean_Parser_Term_ge___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_attrInstance___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_quotedName;
lean_object* l_Lean_Parser_Term_explicitUniv_parenthesizer___closed__6;
+lean_object* l_Lean_Parser_Term_fromTerm___elambda__1___closed__11;
lean_object* l___regBuiltin_Lean_Parser_Term_panic_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_byTactic_formatter___closed__3;
lean_object* l_Lean_Parser_Term_mod;
@@ -1770,6 +1882,7 @@ lean_object* l_Lean_PrettyPrinter_Parenthesizer_sepBy1_parenthesizer(lean_object
lean_object* l_Lean_Parser_Term_letIdDecl_formatter___closed__3;
lean_object* l_Lean_Parser_Term_unreachable___closed__3;
lean_object* l___regBuiltin_Lean_Parser_Term_listLit_parenthesizer___closed__1;
+lean_object* l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__8;
lean_object* l_Lean_Parser_Term_syntheticHole___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_type_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed___closed__5;
@@ -1783,7 +1896,10 @@ extern lean_object* l___regBuiltin_Lean_Parser_nameLit_parenthesizer___closed__1
lean_object* l_Lean_PrettyPrinter_Formatter_toggleInsideQuot_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_seq_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_seq1___elambda__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_decide___elambda__1___closed__11;
+lean_object* l_Lean_Parser_Term_forall___elambda__1___closed__16;
lean_object* l_Lean_Parser_Tactic_quotSeq_parenthesizer___closed__2;
+lean_object* l_Lean_Parser_Term_typeAscription___elambda__1___closed__7;
lean_object* l_Lean_Parser_Term_paren_formatter___closed__1;
lean_object* l_Lean_Parser_Term_structInst_formatter___closed__1;
lean_object* l_Lean_Parser_Term_structInstArrayRef___closed__1;
@@ -1791,8 +1907,10 @@ lean_object* l_Lean_Parser_Term_fun___closed__1;
lean_object* l_Lean_Parser_Term_bne___closed__3;
lean_object* l_Lean_Parser_Term_explicitBinder___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_sorry___closed__5;
+lean_object* l_Lean_Parser_Term_borrowed___elambda__1___closed__11;
lean_object* l_Lean_Parser_Term_sub___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_fromTerm___elambda__1___closed__3;
+lean_object* l_Lean_Parser_Term_matchDiscr___elambda__1___closed__9;
lean_object* l_Lean_Parser_Term_show___closed__4;
lean_object* l_Lean_Parser_Term_mapRev_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_have_parenthesizer___closed__2;
@@ -1806,7 +1924,9 @@ lean_object* l_Lean_PrettyPrinter_Formatter_node_formatter(lean_object*, lean_ob
lean_object* l___regBuiltin_Lean_Parser_Term_depArrow_formatter___closed__1;
lean_object* l_Lean_Parser_Term_suffices___elambda__1___closed__9;
extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___lambda__1___closed__5;
+lean_object* l_Lean_Parser_Term_structInstLVal___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_nativeDecide___closed__5;
+lean_object* l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__13;
lean_object* l_Lean_Parser_Term_emptyC___elambda__1___closed__9;
lean_object* l_Lean_Parser_Term_match_formatter___closed__1;
lean_object* l_Lean_Parser_Term_dbgTrace___elambda__1___closed__3;
@@ -1831,11 +1951,12 @@ extern lean_object* l_Array_myMacro____x40_Init_Data_Array_Macros___hyg_464____c
lean_object* l_Lean_Parser_Term_structInst___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_andM___closed__1;
lean_object* l_Lean_Parser_Term_listLit___closed__5;
+lean_object* l_Lean_Parser_Term_depArrow___elambda__1___closed__14;
lean_object* l_Lean_Parser_Term_seqLeft_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Parser_many1Indent_formatter___closed__1;
-lean_object* l_Lean_Parser_sepByFn___at_Lean_Parser_Term_anonymousCtor___elambda__1___spec__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_matchDiscr___closed__7;
lean_object* l_Lean_Parser_Term_implicitBinder_parenthesizer(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_structInstField___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_parser_x21_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Term_tupleTail_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_quot_parenthesizer___closed__5;
@@ -1852,6 +1973,7 @@ lean_object* l_Lean_Parser_Term_fun_parenthesizer(lean_object*, lean_object*, le
lean_object* l_Lean_Parser_Term_type_parenthesizer___closed__6;
lean_object* l_Lean_Parser_Term_structInstField_formatter___closed__2;
lean_object* l_Lean_Parser_Level_quot___elambda__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_not___elambda__1___closed__13;
lean_object* l_Lean_Parser_Term_fromTerm;
lean_object* l_Lean_Parser_Term_anonymousCtor___closed__6;
lean_object* l_Lean_Parser_Term_if___elambda__1___closed__14;
@@ -1872,9 +1994,11 @@ lean_object* l_Lean_Parser_Term_bnot___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_structInstField_formatter___closed__1;
lean_object* l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__7;
lean_object* l_Lean_Parser_Term_typeOf___closed__1;
+lean_object* l_Lean_Parser_Term_if___elambda__1___closed__22;
lean_object* l_Lean_Parser_Term_structInstLVal;
lean_object* l_Lean_Parser_Term_let_x2a_formatter___closed__3;
lean_object* l_Lean_Parser_Term_type_formatter___closed__1;
+lean_object* l_Lean_Parser_Term_structInst___elambda__1___closed__24;
lean_object* l_Lean_Parser_Term_orM;
lean_object* l_Lean_Parser_Term_tparser_x21___elambda__1___closed__8;
lean_object* l_Lean_Parser_Term_append_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -1894,8 +2018,9 @@ lean_object* l_Lean_Parser_Term_fromTerm___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_ensureExpectedType_formatter___closed__2;
lean_object* l_Lean_Parser_Tactic_quot___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_structInst___closed__14;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_seq1___elambda__1___spec__2___closed__3;
+lean_object* l_Lean_Parser_Term_cdot___elambda__1___closed__11;
lean_object* l_Lean_Parser_Term_depArrow___closed__4;
+lean_object* l_Lean_Parser_Term_match___elambda__1___closed__16;
lean_object* l_Lean_Parser_Term_quotedName_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_map_formatter___closed__1;
lean_object* l_Lean_Parser_Term_cons_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -1923,6 +2048,7 @@ lean_object* l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Term_paren___closed__6;
lean_object* l_Lean_Parser_Term_unreachable___elambda__1___closed__5;
extern lean_object* l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
+lean_object* l_Lean_Parser_Term_subst___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_borrowed_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_matchAlts_parenthesizer___closed__15;
lean_object* l_Lean_Parser_Term_show_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -1932,12 +2058,14 @@ lean_object* l_Lean_Parser_Term_emptyC___closed__2;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_withoutForbidden_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_subst_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Term_mod___elambda__1___closed__1;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_match___elambda__1___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_haveDecl_parenthesizer___closed__4;
lean_object* l___regBuiltinParser_Lean_Parser_Term_seqRight(lean_object*);
lean_object* l_Lean_Parser_Term_funImplicitBinder_parenthesizer___closed__4;
lean_object* l_Lean_Parser_Term_match__syntax_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_inaccessible___elambda__1___closed__5;
+lean_object* l_Lean_Parser_Term_match___elambda__1___closed__12;
+lean_object* l_Lean_Parser_Term_binderDefault___elambda__1___closed__5;
+lean_object* l_Lean_Parser_Term_let_x21___elambda__1___closed__12;
lean_object* l_Lean_Parser_checkNoWsBeforeFn(lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_dbgTrace_formatter(lean_object*);
lean_object* l_Lean_Parser_Term_seqLeft;
@@ -1947,7 +2075,6 @@ lean_object* l_Lean_Parser_Term_assert_formatter___closed__4;
lean_object* l_Lean_Parser_Term_mod___closed__3;
lean_object* l_Lean_Parser_Term_nativeRefl___elambda__1___closed__7;
lean_object* l_Lean_Parser_Term_tparser_x21___elambda__1(lean_object*, lean_object*);
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_where___elambda__1___spec__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_bnot___elambda__1___closed__8;
lean_object* l___regBuiltin_Lean_Parser_Term_beq_formatter(lean_object*);
lean_object* l_Lean_Parser_Term_parser_x21_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -1955,20 +2082,24 @@ lean_object* l_Lean_Parser_Term_fun___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_fromTerm___elambda__1___closed__8;
lean_object* l_Lean_Parser_Term_forall___elambda__1___closed__9;
lean_object* l_Lean_Parser_Term_nomatch_parenthesizer___closed__1;
+lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__17;
+lean_object* l_Lean_Parser_Term_match__syntax___elambda__1___closed__12;
lean_object* l_Lean_Parser_Term_cdot___closed__5;
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_tupleTail___elambda__1___spec__1(uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_emptyC_formatter___closed__2;
lean_object* l_Lean_Parser_Term_equiv_formatter___closed__1;
+lean_object* l_Lean_Parser_Term_subtype___elambda__1___closed__19;
lean_object* l_Lean_Parser_Term_num___closed__1;
lean_object* l_Lean_Parser_Term_panic_formatter___closed__3;
lean_object* l_Lean_Parser_Term_hole_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_orelseInfo(lean_object*, lean_object*);
+extern lean_object* l_Lean_Parser_nameLit___closed__2;
lean_object* l_Lean_Parser_Term_suffices___elambda__1___closed__8;
lean_object* l_Lean_Parser_Term_listLit_parenthesizer___closed__2;
+lean_object* l_Lean_Parser_sepByFn(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_byTactic___elambda__1(lean_object*, lean_object*);
-extern lean_object* l_Lean_Parser_fieldIdx___closed__2;
lean_object* l_Lean_Parser_Term_andthen___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_matchDiscr___closed__8;
+lean_object* l_Lean_Parser_Term_match__syntax___elambda__1___closed__11;
lean_object* l_Lean_Parser_Term_fcomp___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_cons;
lean_object* l_Lean_Parser_Term_explicitBinder_parenthesizer___closed__3;
@@ -1981,6 +2112,7 @@ lean_object* l_Lean_Parser_Term_nomatch___elambda__1(lean_object*, lean_object*)
lean_object* l_Lean_Parser_Term_andM_formatter___closed__1;
lean_object* l_Lean_Parser_Term_explicitBinder___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_fcomp_parenthesizer___closed__1;
+lean_object* l_Lean_Parser_Term_have___elambda__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltinParser_Lean_Parser_Term_type(lean_object*);
lean_object* l_Lean_Parser_Term_nativeDecide___closed__1;
lean_object* l_Lean_Parser_Term_nativeRefl___closed__5;
@@ -1996,13 +2128,17 @@ lean_object* l_Lean_Parser_Term_let_x21___closed__7;
lean_object* l___regBuiltin_Lean_Parser_Term_unreachable_formatter(lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_ne_parenthesizer___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Term_letrec_parenthesizer(lean_object*);
+lean_object* l_Lean_Parser_Term_depArrow___elambda__1___closed__18;
lean_object* l_Lean_Parser_Term_ensureTypeOf___closed__1;
lean_object* l_Lean_Parser_Term_structInst___elambda__1___closed__13;
lean_object* l_Lean_Parser_Term_structInst_parenthesizer___closed__11;
extern lean_object* l___regBuiltin_Lean_Parser_ident_formatter___closed__2;
lean_object* l_Lean_Parser_Term_ne___closed__1;
+lean_object* l_Lean_Parser_Term_type___elambda__1___closed__12;
+lean_object* l_Lean_Parser_Term_forall___elambda__1___closed__19;
lean_object* l_Lean_Parser_Term_let_parenthesizer___closed__4;
lean_object* l_Lean_Parser_Term_depArrow___elambda__1___closed__5;
+lean_object* l_Lean_Parser_Term_fun___elambda__1___closed__19;
lean_object* l_Lean_Parser_Term_have_formatter___closed__3;
lean_object* l_Lean_Parser_Term_explicit_parenthesizer___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Term_syntheticHole_parenthesizer___closed__1;
@@ -2020,15 +2156,19 @@ lean_object* l_Lean_Parser_Term_borrowed_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_match_parenthesizer___closed__6;
lean_object* l_Lean_Parser_Term_ensureTypeOf___closed__2;
extern lean_object* l_List_repr___rarg___closed__2;
+lean_object* l_Lean_Parser_Term_nomatch___elambda__1___closed__12;
lean_object* l_Lean_Parser_Term_unreachable___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_structInst_formatter___closed__6;
+lean_object* l_Lean_Parser_Level_quot___elambda__1___closed__12;
lean_object* l_Lean_Parser_Term_letIdDecl_formatter___closed__4;
lean_object* l_Lean_Parser_Term_match___closed__2;
lean_object* l_Lean_Parser_Term_binderIdent___closed__2;
lean_object* l_Lean_Parser_Term_dbgTrace___closed__4;
lean_object* l_Lean_Parser_darrow___elambda__1___closed__3;
+lean_object* l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__11;
lean_object* l_Lean_Parser_Term_structInstArrayRef___closed__5;
lean_object* l_Lean_PrettyPrinter_Formatter_withoutForbidden_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_subst___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_instBinder___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_subst_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_depArrow___elambda__1___closed__3;
@@ -2051,6 +2191,7 @@ lean_object* l_Lean_Parser_Term_add___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_type_formatter___closed__2;
lean_object* l_Lean_Parser_Term_explicit___elambda__1___closed__9;
lean_object* l_Lean_Parser_Term_fun___elambda__1___closed__2;
+lean_object* l_Lean_Parser_Term_assert___elambda__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_explicit_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Tactic_quot___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_ensureExpectedType___elambda__1(lean_object*, lean_object*);
@@ -2099,15 +2240,12 @@ lean_object* l_Lean_Parser_Term_type_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_binderDefault___elambda__1___closed__3;
lean_object* l_Lean_Parser_many1Indent_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_iff_parenthesizer___closed__1;
-lean_object* l_Lean_Parser_pushNone___elambda__1___rarg(lean_object*);
lean_object* l_Lean_Parser_Term_arrayRef___elambda__1(lean_object*, lean_object*);
-lean_object* l_Lean_Parser_darrow___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_beq___closed__4;
lean_object* l_Lean_Parser_Term_orM___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_mod_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_nativeDecide___closed__2;
lean_object* l___regBuiltinParser_Lean_Parser_Term_anonymousCtor(lean_object*);
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_attributes___elambda__1___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_lt___closed__1;
lean_object* l_Lean_Parser_Term_bindOp___closed__1;
lean_object* l_Lean_Parser_Term_seq;
@@ -2120,6 +2258,7 @@ lean_object* l_Lean_Parser_Term_letIdDecl_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_nativeDecide___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_binderDefault___closed__2;
lean_object* l_Lean_Parser_Term_orM___elambda__1___closed__1;
+lean_object* l_Lean_Parser_Term_byTactic___elambda__1___closed__13;
lean_object* l_Lean_Parser_Term_fromTerm_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_structInstField___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Term_add_parenthesizer(lean_object*);
@@ -2157,6 +2296,8 @@ lean_object* l_Lean_Parser_Term_not_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_structInstField___closed__4;
lean_object* l___regBuiltin_Lean_Parser_Term_sorry_parenthesizer(lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_equiv_formatter___closed__1;
+lean_object* l_Lean_Parser_Term_where___elambda__1___closed__4;
+lean_object* l_Lean_Parser_Term_arrayLit___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_proj___closed__3;
lean_object* l___regBuiltin_Lean_Parser_Term_nativeDecide_formatter(lean_object*);
lean_object* l_Lean_Parser_Term_uminus;
@@ -2177,6 +2318,7 @@ lean_object* l_Lean_Parser_Term_matchAlts___closed__4;
lean_object* l_Lean_Parser_Term_fun___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_namedPattern___closed__6;
extern lean_object* l_Lean_PrettyPrinter_formatterAttribute;
+lean_object* l_Lean_Parser_Term_panic___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_match__syntax___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__10;
lean_object* l___regBuiltin_Lean_Parser_Term_prop_formatter(lean_object*);
@@ -2206,13 +2348,15 @@ lean_object* l_Lean_Parser_Term_matchAlts_formatter___boxed(lean_object*, lean_o
lean_object* l___regBuiltin_Lean_Parser_Term_andthen_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Term_iff_formatter___closed__1;
lean_object* l_Lean_Parser_Term_and___elambda__1___closed__5;
+lean_object* l_Lean_Parser_Term_attributes___elambda__1___closed__12;
lean_object* l_Lean_Parser_Term_show___closed__5;
lean_object* l_Lean_Parser_Term_beq___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_uminus___elambda__1___closed__5;
+lean_object* l_Lean_Parser_Term_tupleTail___elambda__1___closed__11;
lean_object* l_Lean_Parser_Term_simpleBinder_formatter___closed__2;
+lean_object* l_Lean_Parser_Term_attrInstance___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_unicodeInfixR_parenthesizer(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_have___elambda__1___closed__4;
-lean_object* l_Lean_Parser_sepByFn___at_Lean_Parser_Term_listLit___elambda__1___spec__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_char___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_funBinder_quot_formatter___closed__2;
lean_object* l_Lean_PrettyPrinter_Formatter_lookahead_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -2237,12 +2381,14 @@ lean_object* l_Lean_Parser_Term_orelse_formatter___closed__1;
lean_object* l_Lean_Parser_Term_str___closed__2;
lean_object* l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__1;
lean_object* l_Lean_Parser_Tactic_quot___elambda__1___closed__8;
+lean_object* l_Lean_Parser_Term_show___elambda__1___closed__11;
lean_object* l_Lean_Parser_registerBuiltinParserAttribute(lean_object*, lean_object*, uint8_t, lean_object*);
lean_object* l___regBuiltinParser_Lean_Parser_Term_bnot(lean_object*);
lean_object* l_Lean_Parser_tacticParser_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_binderTactic___closed__1;
lean_object* l_Lean_Parser_Term_let_x21;
lean_object* l___regBuiltin_Lean_Parser_Term_not_formatter(lean_object*);
+lean_object* l_Lean_Parser_Term_dbgTrace___elambda__1___closed__13;
lean_object* l_Lean_Parser_Term_cdot___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_char_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_bnot___elambda__1___closed__2;
@@ -2250,11 +2396,15 @@ lean_object* l_Lean_Parser_Term_type___closed__2;
lean_object* l_Lean_Parser_Term_forall_formatter___closed__1;
lean_object* l_Lean_Parser_Term_tupleTail___closed__3;
lean_object* l_Lean_Parser_Term_have___elambda__1___closed__1;
+lean_object* l_Lean_Parser_Term_structInstField___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_beq_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_parser_x21___elambda__1___closed__11;
lean_object* l___regBuiltinParser_Lean_Parser_Term_fcomp(lean_object*);
lean_object* l_Lean_Parser_Term_bne___elambda__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_let___elambda__1___closed__8;
lean_object* l_Lean_Parser_Term_attrInstance_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_byTactic___closed__7;
+lean_object* l_Lean_Parser_Term_binderTactic___elambda__1___closed__12;
lean_object* l_Lean_Parser_Term_matchAlts_parenthesizer___closed__16;
lean_object* l_Lean_Parser_Term_mod___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_structInst___closed__2;
@@ -2271,24 +2421,30 @@ lean_object* l_Lean_Parser_Term_nomatch_formatter___closed__2;
lean_object* l_Lean_Parser_Term_optExprPrecedence___closed__3;
lean_object* l_Lean_Parser_Term_listLit_formatter___closed__3;
lean_object* l_Lean_Parser_Term_proj___closed__2;
+lean_object* l_Lean_Parser_Term_letrec___elambda__1___closed__12;
lean_object* l_Lean_Parser_Term_let_x21___elambda__1___closed__5;
+lean_object* l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_iff___closed__4;
lean_object* l_Lean_Parser_Term_ensureTypeOf_formatter___closed__5;
lean_object* l_Lean_FileMap_toPosition(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_fun___closed__4;
+lean_object* l_Lean_Parser_Term_typeSpec___elambda__1___closed__5;
lean_object* l___regBuiltinParser_Lean_Parser_Term_orM(lean_object*);
lean_object* l___regBuiltinParser_Lean_Parser_Term_heq(lean_object*);
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_letRecDecls___elambda__1___spec__2(uint8_t, lean_object*, uint8_t, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_typeAscription___elambda__1___closed__8;
lean_object* l_Lean_Parser_Term_panic_formatter___closed__4;
lean_object* l_Lean_Parser_Term_subtype_formatter___closed__2;
+lean_object* l_Lean_Parser_Term_suffices___elambda__1___lambda__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_suffices_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_namedArgument___closed__1;
lean_object* l_Lean_Parser_Term_dollar_formatter___closed__3;
+lean_object* l_Lean_Parser_Term_ellipsis___elambda__1___closed__8;
lean_object* l_Lean_Parser_Term_structInstField_formatter___closed__4;
lean_object* l_Lean_Parser_Term_mod___closed__4;
lean_object* l___regBuiltin_Lean_Parser_Term_letrec_formatter___closed__1;
lean_object* l_Lean_Parser_Term_arrow___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_explicit_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_dbgTrace___elambda__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_explicit___closed__7;
lean_object* l_Lean_Parser_Term_uminus___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_namedPattern___closed__5;
@@ -2314,7 +2470,6 @@ lean_object* l_Lean_Parser_Term_subtype___closed__3;
lean_object* l___regBuiltin_Lean_Parser_Term_pow_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_explicitBinder_parenthesizer___closed__6;
lean_object* l_Lean_Parser_Term_structInstArrayRef___elambda__1(lean_object*, lean_object*);
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_letRecDecls___elambda__1___spec__1(uint8_t, lean_object*, lean_object*);
lean_object* l___regBuiltinParser_Lean_Parser_Term_arrayRef(lean_object*);
lean_object* l_Lean_Parser_Tactic_quotSeq_formatter___closed__5;
lean_object* l_Lean_Parser_Term_depArrow___elambda__1___closed__10;
@@ -2346,8 +2501,11 @@ lean_object* l_Lean_Parser_Term_depArrow___elambda__1___closed__7;
lean_object* l_Lean_Parser_Term_ident_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_or___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_emptyC___elambda__1___closed__5;
+lean_object* l_Lean_Parser_Term_structInst___elambda__1___closed__21;
lean_object* l_Lean_Parser_Term_isIdent___boxed(lean_object*);
+lean_object* l_Lean_Parser_Term_matchAlts___closed__14;
lean_object* l_Lean_Parser_Term_emptyC;
+lean_object* l_Lean_Parser_Term_app___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_letPatDecl___closed__3;
lean_object* l___regBuiltinParser_Lean_Parser_Term_sort(lean_object*);
lean_object* l_Lean_Parser_Term_bne_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -2356,6 +2514,8 @@ lean_object* l_Lean_Parser_Term_let___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_unicodeInfixL(lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_cdot_formatter___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Term_sorry_parenthesizer___closed__1;
+lean_object* l_Lean_Parser_Term_matchDiscr___elambda__1___closed__11;
+lean_object* l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__12;
lean_object* l_Lean_Parser_Term_hole___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_seq_formatter___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Term_beq_parenthesizer(lean_object*);
@@ -2379,24 +2539,30 @@ lean_object* l_Lean_Parser_Term_have___closed__8;
lean_object* l_Lean_Parser_Term_structInstLVal_formatter___closed__2;
lean_object* l_Lean_Parser_Term_sorry___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
+lean_object* l_Lean_Parser_Term_structInst___elambda__1___closed__23;
lean_object* l_Lean_Parser_Term_and___closed__2;
+lean_object* l_Lean_Parser_Level_quot___elambda__1___closed__13;
lean_object* l_Lean_Parser_Term_prop___closed__4;
lean_object* l_Lean_Parser_Term_syntheticHole_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltinParser_Lean_Parser_Term_mul(lean_object*);
lean_object* l_Lean_Parser_Term_forall_formatter___closed__8;
lean_object* l_Lean_Parser_Term_subtype___elambda__1___closed__5;
+lean_object* l_Lean_Parser_Term_quotedName___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_letEqnsDecl___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_infixL_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_binderType___elambda__2(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
lean_object* l_Lean_Parser_Term_andthen;
+lean_object* l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_funBinder_quot;
lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed___closed__3;
lean_object* l_Lean_Parser_Term_show_formatter___closed__4;
lean_object* l_Lean_Parser_Term_or___elambda__1___closed__3;
+lean_object* l_Lean_Parser_Term_nativeDecide___elambda__1___closed__10;
lean_object* l___regBuiltin_Lean_Parser_Term_ensureExpectedType_formatter___closed__1;
extern lean_object* l_Lean_Parser_mkAntiquot_parenthesizer___rarg___closed__3;
lean_object* l_Lean_Parser_Term_bne_formatter___closed__1;
+lean_object* l_Lean_Parser_Term_paren___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_structInst___closed__12;
lean_object* l_Lean_Parser_Term_subtype___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_nomatch___closed__6;
@@ -2412,13 +2578,12 @@ lean_object* l_Lean_Parser_Term_sort_formatter___closed__2;
lean_object* l___regBuiltin_Lean_Parser_Term_and_formatter(lean_object*);
lean_object* l_Lean_Parser_Term_instBinder_formatter___closed__4;
lean_object* l_Lean_Parser_Term_not___elambda__1___closed__8;
+lean_object* l_Lean_Parser_Term_instBinder___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_match__syntax___closed__4;
lean_object* l_Lean_Parser_Term_ellipsis___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_show___closed__7;
-lean_object* l_Lean_Parser_ParserState_restore(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_borrowed_formatter___closed__2;
lean_object* l_Lean_Parser_Term_arrayRef___elambda__1___closed__1;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_where___elambda__1___spec__2___closed__4;
extern lean_object* l_Lean_formatEntry___closed__1;
lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_have_formatter___closed__6;
@@ -2430,6 +2595,8 @@ extern lean_object* l_Lean_Parser_antiquotNestedExpr___closed__3;
lean_object* l_Lean_Parser_Term_typeSpec___elambda__1___closed__3;
lean_object* l___regBuiltinParser_Lean_Parser_Term_cdot(lean_object*);
lean_object* l_Lean_Parser_Term_app_formatter___closed__4;
+lean_object* l_Lean_Parser_Term_tupleTail___elambda__1___closed__12;
+lean_object* l_Lean_Parser_Term_subtype___elambda__1___closed__15;
lean_object* l_Lean_Parser_Term_mapRev___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_if___closed__12;
lean_object* l_Lean_Parser_Term_forall;
@@ -2446,23 +2613,31 @@ lean_object* l_Lean_Parser_Term_map___closed__3;
lean_object* l_Lean_Parser_Term_match_formatter___closed__6;
lean_object* l_Lean_Parser_Term_borrowed___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_anonymousCtor___elambda__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_listLit___elambda__1___closed__11;
lean_object* l_Lean_Parser_Term_dollar_formatter___closed__2;
lean_object* l_Lean_Parser_Term_parser_x21;
+lean_object* l_Lean_Parser_Term_explicit___elambda__1___closed__10;
+lean_object* l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__15;
lean_object* l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__4;
+lean_object* l_Lean_Parser_sepByFn___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_funBinder_quot_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Term_depArrow_formatter___closed__1;
lean_object* l_Lean_Parser_Term_namedPattern_formatter___closed__2;
lean_object* l___regBuiltin_Lean_Parser_Term_explicitUniv_formatter(lean_object*);
+lean_object* l_Lean_Parser_Term_where___elambda__1___closed__8;
+lean_object* l_Lean_Parser_manyAux(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_typeAscription_formatter___closed__3;
lean_object* l_Lean_Parser_Term_inaccessible___elambda__1___closed__9;
+lean_object* l_Lean_Parser_Term_let___elambda__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltinParser_Lean_Parser_Term_nomatch(lean_object*);
lean_object* l_Lean_Parser_Term_structInstField;
+lean_object* l_Lean_Parser_Term_letPatDecl___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_iff___elambda__1___closed__4;
lean_object* l___regBuiltin_Lean_Parser_Term_app_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_borrowed___elambda__1___closed__9;
lean_object* l_Lean_Parser_Term_typeAscription___closed__3;
lean_object* l_Lean_Parser_Term_subtype___closed__12;
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_matchAlts___spec__1(uint8_t, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_nativeRefl___elambda__1___closed__11;
uint8_t l_Lean_Syntax_isAntiquot(lean_object*);
lean_object* l_Lean_Parser_Term_assert___closed__6;
lean_object* l_Lean_Parser_Term_typeOf_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -2470,11 +2645,14 @@ lean_object* l___regBuiltin_Lean_Parser_Term_nativeDecide_parenthesizer(lean_obj
lean_object* l_Lean_Parser_Term_cdot___closed__6;
lean_object* l___regBuiltin_Lean_Parser_Term_div_formatter___closed__1;
lean_object* l_Lean_Parser_Term_borrowed_formatter___closed__4;
+extern lean_object* l_Lean_Parser_mkAntiquot___closed__7;
+lean_object* l_Lean_Parser_Term_depArrow___elambda__1___closed__15;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_fieldIdx_parenthesizer___boxed(lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_quotedName_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Term_borrowed___closed__7;
lean_object* l___regBuiltinParser_Lean_Parser_Term_prod(lean_object*);
lean_object* l_Lean_Parser_Term_binderIdent_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+extern lean_object* l_Lean_Parser_pushNone___closed__1;
lean_object* l_Lean_Parser_Term_tupleTail_formatter___closed__3;
lean_object* l_Lean_Parser_Term_arrow___elambda__1___closed__3;
lean_object* l___regBuiltin_Lean_Parser_Term_depArrow_parenthesizer___closed__1;
@@ -2489,7 +2667,6 @@ lean_object* l_Lean_Parser_Term_attrInstance;
lean_object* l_Lean_Parser_Term_fcomp_formatter___closed__1;
lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__3;
lean_object* l___regBuiltin_Lean_Parser_Term_show_formatter___closed__1;
-lean_object* l_Lean_Parser_Term_explicitUniv___elambda__1___closed__9;
lean_object* l_Lean_Parser_Level_quot___closed__7;
lean_object* l_Lean_Parser_Term_matchAlts_formatter___closed__13;
lean_object* l___regBuiltinParser_Lean_Parser_Term_fun(lean_object*);
@@ -2497,10 +2674,12 @@ lean_object* l_Lean_Parser_Term_haveAssign___elambda__1___closed__1;
lean_object* l_Lean_PrettyPrinter_Formatter_ppGroup_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_funImplicitBinder___closed__3;
lean_object* l_Lean_Parser_Term_not___elambda__1___closed__9;
+lean_object* l_Lean_Parser_Term_optExprPrecedence___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_proj_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_structInstField___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_parenSpecial_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Term_tparser_x21___elambda__1___closed__3;
+extern lean_object* l_Lean_Parser_rawIdent___closed__2;
lean_object* l_Lean_Parser_Term_prop___closed__3;
lean_object* l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_proj___closed__1;
@@ -2519,7 +2698,6 @@ lean_object* l_Lean_Parser_Term_bindOp___closed__4;
lean_object* l_Lean_Parser_Term_sorry___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__12;
lean_object* l_Lean_Parser_Term_let_x21_formatter___closed__1;
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_where___elambda__1___spec__1(uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_tacticSeq___closed__1;
lean_object* l___regBuiltinParser_Lean_Parser_Term_beq(lean_object*);
lean_object* l_Lean_Parser_Term_borrowed_parenthesizer___closed__4;
@@ -2532,6 +2710,7 @@ lean_object* l_Lean_Parser_Term_binderTactic___closed__4;
lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_letrec___closed__4;
lean_object* l_Lean_Parser_Term_structInstArrayRef_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+extern lean_object* l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__7;
lean_object* l_Lean_Parser_Term_prop___closed__5;
lean_object* l_Lean_Parser_Term_dollarProj___closed__5;
lean_object* l_Lean_Parser_Term_let_x21_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -2542,7 +2721,6 @@ lean_object* l_Lean_Parser_Term_letDecl___closed__4;
lean_object* l___regBuiltin_Lean_Parser_Term_let_x21_formatter(lean_object*);
lean_object* l_Lean_Parser_Term_prod___elambda__1___closed__3;
lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer___closed__10;
-lean_object* l_Lean_Parser_sepByFn___at_Lean_Parser_Term_structInst___elambda__1___spec__1(uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_if___closed__2;
lean_object* l_Lean_Parser_Term_haveAssign___elambda__1___closed__4;
lean_object* l_Lean_Parser_Tactic_tacticSeq1Indented;
@@ -2566,6 +2744,7 @@ lean_object* l_Lean_Parser_Term_letIdLhs___closed__2;
lean_object* l_Lean_Parser_Term_show___closed__3;
lean_object* l_Lean_Parser_Term_le___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_letrec___closed__9;
+lean_object* l_Lean_Parser_Term_suffices___elambda__1___closed__11;
lean_object* l_Lean_Parser_Term_ellipsis;
lean_object* l_Lean_Parser_Term_forall___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_cons___closed__1;
@@ -2578,14 +2757,15 @@ lean_object* l_Lean_Parser_Term_inaccessible_formatter___closed__4;
lean_object* l_Lean_Parser_Term_heq___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_sub___closed__4;
lean_object* l___regBuiltin_Lean_Parser_Term_emptyC_formatter___closed__1;
+lean_object* l_Lean_Parser_Term_depArrow___elambda__1___closed__16;
lean_object* l_Lean_Parser_Term_structInstLVal___closed__2;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
lean_object* l_Lean_Parser_Term_let_x2a_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Term_if___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_tupleTail_formatter___closed__5;
lean_object* l_Lean_Parser_Term_prop___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_have_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_letrec___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_cdot_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Term_funBinder_quot_formatter___closed__1;
lean_object* l_Lean_Parser_Term_explicitBinder___closed__6;
@@ -2593,10 +2773,9 @@ lean_object* l_Lean_Parser_Term_syntheticHole_parenthesizer___closed__4;
lean_object* l_Lean_Parser_Term_fun___elambda__1___closed__7;
lean_object* l_Lean_Parser_Term_fun___closed__9;
lean_object* l_Lean_Parser_Term_prod_parenthesizer___closed__1;
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_structInst___elambda__1___spec__2(uint8_t, lean_object*, uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__1;
lean_object* l_Lean_PrettyPrinter_Formatter_many1_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_let___elambda__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_paren_parenthesizer___closed__7;
lean_object* l_Lean_Parser_Term_uminus_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__2;
@@ -2610,12 +2789,13 @@ lean_object* l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_binderIdent_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_nomatch___closed__1;
lean_object* l_Lean_Parser_Term_not_parenthesizer___closed__4;
-lean_object* l_Lean_Parser_Term_matchAlt___closed__10;
+lean_object* l_Lean_Parser_Term_haveAssign___elambda__1___closed__9;
lean_object* l_Lean_Parser_Term_cdot___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_let_x2a___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_match_parenthesizer___closed__5;
lean_object* l_Lean_Parser_Term_or_formatter___closed__1;
lean_object* l_Lean_Parser_Term_fcomp___closed__1;
+lean_object* l_Lean_Parser_Term_show___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_where___closed__5;
lean_object* l_Lean_Parser_Term_dollar___closed__6;
lean_object* l_Lean_Parser_Level_quot_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -2626,24 +2806,24 @@ lean_object* l_Lean_Parser_Term_dbgTrace___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_match__syntax___closed__2;
lean_object* l_Lean_Parser_Term_tparser_x21___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_explicit___closed__3;
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_match___elambda__1___spec__1(uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_binderType___closed__3;
lean_object* l_Lean_Parser_Term_str_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__15;
lean_object* l_Lean_Parser_Tactic_quot_formatter___closed__4;
lean_object* l_Lean_Parser_Term_byTactic_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_structInstArrayRef_formatter___closed__5;
lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed_formatter___closed__7;
lean_object* l_Lean_Parser_Term_not___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_if_parenthesizer___closed__4;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_listLit___elambda__1___spec__2___closed__1;
lean_object* l_Lean_Parser_Term_if___elambda__1___closed__19;
+lean_object* l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__9;
lean_object* l_Lean_Parser_Term_match__syntax___closed__1;
lean_object* l_Lean_Parser_Term_instBinder___closed__2;
+lean_object* l_Lean_Parser_sepBy1Fn___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_letDecl___closed__1;
lean_object* l_Lean_Parser_Term_unicodeInfixL___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_ensureExpectedType___closed__5;
lean_object* l_Lean_Parser_Term_forall_formatter___closed__11;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_subst___elambda__1___spec__2(uint8_t, lean_object*, uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_emptyC___closed__4;
lean_object* l_Lean_Parser_Term_decide_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_band___closed__3;
@@ -2665,6 +2845,7 @@ lean_object* l___regBuiltin_Lean_Parser_Term_bne_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_arrayRef___closed__2;
lean_object* l_Lean_Parser_Term_where_formatter___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Term_quotedName_parenthesizer___closed__1;
+lean_object* l_Lean_Parser_Term_forall___elambda__1___closed__20;
lean_object* l_Lean_Parser_Term_dollar_parenthesizer___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Term_if_formatter___closed__1;
lean_object* l_Lean_Parser_Term_bnot___elambda__1___closed__1;
@@ -2672,21 +2853,24 @@ lean_object* l_Lean_Parser_Term_namedArgument___closed__8;
lean_object* l___regBuiltin_Lean_Parser_Term_andM_formatter___closed__1;
lean_object* l_Lean_Parser_Term_let_x21_formatter___closed__4;
lean_object* l_Lean_Parser_Term_fromTerm_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_Term_dollarProj___elambda__1___closed__7;
lean_object* l_Lean_Parser_Term_matchAlts___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__3;
extern lean_object* l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__2;
lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed___closed__1;
+lean_object* l_Lean_Parser_Term_optExprPrecedence___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_funBinder_quot_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Tactic_quot___closed__2;
lean_object* l___regBuiltin_Lean_Parser_Term_fcomp_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Term_mul_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_sort___closed__3;
+lean_object* l_Lean_Parser_Term_letRecDecls___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_let___closed__7;
+lean_object* l_Lean_Parser_Term_let_x2a___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_binderTactic_formatter___closed__4;
lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed___closed__8;
lean_object* l_Lean_Parser_Term_optExprPrecedence___closed__4;
lean_object* l_Lean_Parser_Term_letPatDecl_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_structInstLVal___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_cdot___elambda__1___closed__8;
lean_object* l_Lean_Parser_Term_mul___closed__1;
lean_object* l_Lean_Parser_nodeWithAntiquot(lean_object*, lean_object*, lean_object*);
@@ -2701,12 +2885,12 @@ lean_object* l_Lean_Parser_Term_tupleTail;
lean_object* l_Lean_Parser_Term_typeAscription___closed__5;
lean_object* l_Lean_Parser_Term_gt_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_attrArg_parenthesizer___closed__1;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_subst___elambda__1___spec__2___closed__5;
lean_object* l_Lean_Parser_Term_le___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_eq___closed__2;
lean_object* l_Lean_Parser_ident___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_byTactic___elambda__1___closed__7;
lean_object* l_Lean_Parser_Term_binderIdent;
+lean_object* l_Lean_Parser_Term_attributes___elambda__1___closed__11;
lean_object* l_Lean_Parser_Term_simpleBinder___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_proj_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_let_x2a_parenthesizer___closed__1;
@@ -2720,14 +2904,17 @@ lean_object* l_Lean_Parser_charLit___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_implicitBinder___elambda__1___closed__2;
lean_object* l___regBuiltinParser_Lean_Parser_Term_ensureExpectedType(lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_or_parenthesizer(lean_object*);
+extern lean_object* l_Lean_Parser_Level_hole___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_uminus___closed__2;
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;
lean_object* l_Lean_Parser_Tactic_quot___closed__1;
lean_object* l_Lean_Parser_Term_le_formatter___closed__1;
+lean_object* l_Lean_Parser_Term_paren___elambda__1___lambda__1(lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_prod_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_matchAlt___closed__9;
+lean_object* l_Lean_Parser_Term_if___elambda__1___closed__27;
lean_object* l_Lean_Parser_Term_arrayLit;
lean_object* l_Lean_Parser_Term_mul___closed__2;
lean_object* l_Lean_Parser_Term_let_x2a___closed__7;
@@ -2797,6 +2984,7 @@ lean_object* l_Lean_Parser_Term_funBinder_quot_formatter___closed__6;
lean_object* l_Lean_Parser_Term_optType_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_unreachable___closed__4;
lean_object* l_Lean_Parser_Term_panic;
+extern lean_object* l_Lean_Parser_Level_paren___elambda__1___closed__3;
lean_object* l_Lean_Parser_numLit___elambda__1(lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_le_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Term_uminus___elambda__1___closed__6;
@@ -2807,8 +2995,10 @@ lean_object* l_Lean_Parser_Term_cdot___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_dollar___closed__3;
lean_object* l_Lean_Parser_Term_matchAlts_formatter___closed__18;
lean_object* l_Lean_Parser_Term_bne___closed__1;
+lean_object* l_Lean_Parser_Term_typeOf___elambda__1___closed__11;
lean_object* l_Lean_Parser_Term_app_parenthesizer___closed__8;
lean_object* l___regBuiltin_Lean_Parser_Term_typeOf_formatter___closed__1;
+lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__14;
lean_object* l_Lean_Parser_Term_ne_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_quotSeq_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Term_matchAlt___closed__4;
@@ -2819,6 +3009,7 @@ lean_object* l_Lean_Parser_Term_explicit_formatter___closed__4;
lean_object* l_Lean_Parser_Term_syntheticHole___closed__4;
lean_object* l_Lean_Parser_Tactic_quotSeq___closed__3;
lean_object* l_Lean_Parser_Term_instBinder___closed__1;
+lean_object* l_Lean_Parser_Term_show___elambda__1___closed__12;
lean_object* l_Lean_Parser_Term_bracketedBinder___elambda__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_subtype___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_map_formatter___closed__1;
@@ -2839,6 +3030,7 @@ extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_level_parenthesizer___lam
lean_object* l_Lean_Parser_Term_sorry;
lean_object* l_Lean_Parser_Term_infixL_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_listLit_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_parser_x21___elambda__1___closed__12;
lean_object* l_Lean_Parser_Term_syntheticHole___closed__8;
lean_object* l_Lean_Parser_Term_panic___closed__1;
lean_object* l_Lean_Parser_Term_nativeDecide_parenthesizer___closed__2;
@@ -2849,24 +3041,25 @@ lean_object* l_Lean_Parser_Term_letIdLhs_parenthesizer(lean_object*, lean_object
lean_object* l_Lean_Parser_Term_subtype_formatter___closed__9;
lean_object* l___regBuiltin_Lean_Parser_Term_le_formatter(lean_object*);
lean_object* l_Lean_Parser_Term_or___closed__3;
+lean_object* l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__11;
lean_object* l_Lean_Parser_Term_depArrow_formatter___closed__3;
lean_object* l_Lean_Parser_Term_inaccessible___elambda__1___closed__2;
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_subst___elambda__1___spec__1(uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_heq_formatter___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Term_modN_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_binderDefault___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_nomatch___closed__2;
lean_object* l_Lean_Parser_Term_haveDecl___closed__1;
+lean_object* l_Lean_Parser_Tactic_quot___elambda__1___closed__13;
lean_object* l_Lean_Parser_Term_bracketedBinder_parenthesizer(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_emptyC_formatter___closed__3;
lean_object* l_Lean_Parser_Term_type___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_haveDecl;
lean_object* l___regBuiltinParser_Lean_Parser_Term_not(lean_object*);
lean_object* l_Lean_Parser_Term_ident_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_structInstLVal___elambda__1___spec__1___closed__3;
lean_object* l___regBuiltin_Lean_Parser_Term_mapRev_parenthesizer(lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_str_formatter___closed__1;
lean_object* l_Lean_Parser_Term_prop___closed__1;
+lean_object* l_Lean_Parser_Term_match__syntax___elambda__1___closed__9;
lean_object* l_Lean_Parser_Term_nativeRefl___closed__3;
lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__5;
lean_object* l___regBuiltin_Lean_Parser_Term_decide_parenthesizer(lean_object*);
@@ -2876,9 +3069,11 @@ lean_object* l_Lean_Parser_Term_let_x2a___elambda__1___closed__9;
lean_object* l_Lean_Parser_Term_binderType___boxed(lean_object*);
lean_object* l_Lean_Parser_Term_funImplicitBinder___closed__4;
lean_object* l_Lean_Parser_Term_letDecl_formatter___closed__3;
+lean_object* l_Lean_Parser_Term_structInst___elambda__1___closed__25;
lean_object* l_Lean_Parser_Term_ensureExpectedType_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_char_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_paren_formatter___closed__1;
+lean_object* l_Lean_Parser_Term_namedArgument___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_binderDefault_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_depArrow_parenthesizer___closed__6;
lean_object* l_Lean_Parser_Term_binderType___closed__1;
@@ -2900,33 +3095,33 @@ lean_object* l___regBuiltin_Lean_Parser_Term_orM_formatter(lean_object*);
lean_object* l___regBuiltinParser_Lean_Parser_Term_orelse(lean_object*);
lean_object* l_Lean_Parser_Term_emptyC_formatter___closed__5;
lean_object* l_Lean_Parser_Term_match___elambda__1___closed__2;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__1;
lean_object* l_Lean_Parser_Term_tupleTail___closed__6;
lean_object* l___regBuiltin_Lean_Parser_Term_typeOf_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Term_if___elambda__1___closed__2;
-lean_object* l_Lean_Parser_mergeOrElseErrors(lean_object*, lean_object*, lean_object*, uint8_t);
lean_object* l_Lean_Parser_Level_quot;
lean_object* l_Lean_Parser_Term_uminus___closed__8;
lean_object* l_Lean_Parser_Term_anonymousCtor_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_prod___closed__1;
+lean_object* l_Lean_Parser_Term_suffices___elambda__1___closed__12;
lean_object* l_Lean_Parser_Term_let_x2a___elambda__1___closed__8;
lean_object* l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__1;
+lean_object* l_Lean_Parser_tryFn(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_funBinder_quot_formatter___closed__4;
-lean_object* l_Lean_Parser_Term_dollar___elambda__1___closed__7;
+lean_object* l_Lean_Parser_Term_parser_x21___elambda__1___closed__10;
lean_object* l___regBuiltin_Lean_Parser_Term_add_formatter___closed__1;
lean_object* l_Lean_Parser_Term_subst___closed__3;
lean_object* l_Lean_Parser_Term_arrayLit___closed__5;
+lean_object* l_Lean_Parser_Term_listLit___elambda__1___closed__9;
lean_object* l_Lean_Parser_Term_if___closed__5;
lean_object* l_Lean_Parser_Term_type___elambda__1___closed__8;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_listLit___elambda__1___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_arrayLit___elambda__1___closed__11;
lean_object* l___regBuiltinParser_Lean_Parser_Term_subst(lean_object*);
lean_object* l_Lean_Parser_Term_typeOf___elambda__1___closed__9;
lean_object* l_Lean_Parser_Term_sufficesDecl___closed__2;
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_match___elambda__1___spec__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_letrec___elambda__1___closed__8;
lean_object* l_Lean_Parser_Term_anonymousCtor___closed__7;
+lean_object* l_Lean_Parser_Term_listLit___elambda__1___closed__8;
lean_object* l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_andthen___closed__2;
lean_object* l_Lean_Parser_Term_letDecl_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -2935,14 +3130,16 @@ lean_object* l_Lean_Parser_Term_emptyC___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_attrInstance___elambda__1___closed__2;
lean_object* l___regBuiltinParser_Lean_Parser_Term_bor(lean_object*);
lean_object* l_Lean_Parser_Term_funBinder_formatter___closed__1;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_listLit___elambda__1___spec__2___closed__2;
lean_object* l_Lean_Parser_darrow___closed__1;
+lean_object* l_Lean_Parser_Term_letrec___elambda__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_let_x2a_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_matchAlts___elambda__1(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__15;
lean_object* l_Lean_Parser_Term_explicitBinder___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_paren_parenthesizer___closed__8;
lean_object* l_Lean_Parser_Term_paren___elambda__1___closed__2;
lean_object* l_Lean_Parser_categoryParser(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_depArrow___elambda__1___closed__20;
lean_object* l_Lean_Parser_Tactic_tacticSeq___closed__2;
lean_object* l_Lean_Parser_Term_letIdLhs___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_forall___closed__2;
@@ -2955,20 +3152,21 @@ lean_object* l_Lean_Parser_Term_ensureTypeOf_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Term_typeOf___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_letrec_parenthesizer___closed__6;
lean_object* l_Lean_Parser_Term_num;
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_subst___elambda__1___spec__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed_formatter___closed__10;
lean_object* l___regBuiltin_Lean_Parser_Term_decide_formatter___closed__1;
lean_object* l_Lean_Parser_Term_haveDecl_parenthesizer___closed__5;
lean_object* l_Lean_Parser_Tactic_quotSeq___closed__5;
lean_object* l_Lean_Parser_Term_inaccessible___closed__7;
lean_object* l___regBuiltinParser_Lean_Parser_Term_str___closed__2;
+lean_object* l_Lean_Parser_Term_attrInstance___elambda__1___closed__8;
lean_object* l_Lean_Parser_Term_forall___elambda__1___closed__12;
+lean_object* l_Lean_Parser_Term_instBinder___elambda__1___closed__7;
lean_object* l_Lean_Parser_Term_let___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_matchAlts___closed__8;
lean_object* l_Lean_Parser_Term_letIdLhs_formatter___closed__3;
lean_object* l_Lean_Parser_Term_type___elambda__1___closed__4;
+lean_object* l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__16;
extern lean_object* l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__7;
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_app___elambda__1___spec__1___closed__1;
lean_object* l_Lean_Parser_Term_attributes_parenthesizer___closed__4;
lean_object* l_Lean_Parser_Tactic_tacticSeq1Indented___closed__8;
lean_object* l___regBuiltin_Lean_Parser_Term_le_parenthesizer___closed__1;
@@ -2991,6 +3189,8 @@ lean_object* l_Lean_Parser_Term_match__syntax___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_type___closed__8;
lean_object* l_Lean_Parser_Term_funBinder_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_attrArg_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_nativeRefl___elambda__1___closed__12;
+lean_object* l_Lean_Parser_Term_not___elambda__1___closed__11;
lean_object* l_Lean_Parser_Term_nativeRefl;
lean_object* l_Lean_Parser_Term_attrInstance_formatter___closed__4;
lean_object* l_Lean_Parser_regTacticParserAttribute(lean_object*);
@@ -3002,6 +3202,7 @@ lean_object* l_Lean_Parser_Term_nativeRefl_parenthesizer(lean_object*, lean_obje
lean_object* l_Lean_Parser_Term_hole___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__9;
lean_object* l_Lean_Parser_Term_match__syntax___elambda__1___closed__2;
+lean_object* l_Lean_Parser_Term_matchDiscr___elambda__1___closed__12;
lean_object* l_Lean_Parser_Term_inaccessible___closed__5;
lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed___closed__2;
lean_object* l_Lean_Parser_Term_haveDecl_formatter___closed__3;
@@ -3034,7 +3235,7 @@ lean_object* l_Lean_Parser_Term_suffices_formatter(lean_object*, lean_object*, l
lean_object* l_Lean_Parser_Term_if___closed__14;
lean_object* l_Lean_Parser_Term_tparser_x21_formatter___closed__3;
lean_object* l_Lean_Parser_Tactic_quot___closed__4;
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_attrInstance___elambda__1___spec__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_simpleBinder___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_type___elambda__1___closed__9;
lean_object* l_Lean_Parser_Term_structInst___closed__13;
lean_object* l_Lean_Parser_Term_ellipsis___elambda__1___closed__2;
@@ -3048,7 +3249,6 @@ lean_object* l_Lean_Parser_Term_sorry_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Term_ellipsis_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_tparser_x21_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_attributes___closed__1;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_forall_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Term_instBinder_formatter___closed__1;
lean_object* l_Lean_Parser_Term_assert___closed__3;
@@ -3076,8 +3276,8 @@ lean_object* l_Lean_Parser_Term_optExprPrecedence_parenthesizer(lean_object*, le
lean_object* l_Lean_Parser_Term_matchDiscr_formatter___closed__3;
lean_object* l_Lean_Parser_Term_structInstField___closed__6;
lean_object* l_Lean_Parser_Term_show___elambda__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_fun___elambda__1___closed__13;
lean_object* l_Lean_Parser_Term_emptyC___elambda__1___closed__6;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_match___elambda__1___spec__2(uint8_t, lean_object*, uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_let_x2a___elambda__1___closed__4;
lean_object* l___regBuiltinParser_Lean_Parser_Term_uminus(lean_object*);
lean_object* l_Lean_Parser_Term_letrec___elambda__1___closed__1;
@@ -3093,8 +3293,8 @@ lean_object* l_Lean_Parser_Term_div___closed__2;
lean_object* l___regBuiltin_Lean_Parser_Term_ensureTypeOf_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_binderTactic_formatter___closed__1;
+lean_object* l_Lean_Parser_Term_app___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__4;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__3;
lean_object* l_Lean_Parser_Term_emptyC___closed__3;
lean_object* l_Lean_Parser_Term_append___closed__4;
lean_object* l_Lean_PrettyPrinter_Formatter_ppDedent_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -3102,8 +3302,10 @@ lean_object* l_Lean_Parser_Term_mapRev_formatter(lean_object*, lean_object*, lea
lean_object* l_Lean_Parser_Term_tparser_x21___closed__7;
lean_object* l_Lean_Parser_Term_prop___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_sub___closed__3;
+lean_object* l_Lean_Parser_Term_letRecDecls___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_typeSpec___closed__3;
lean_object* l_Lean_Parser_Tactic_tacticSeq1Indented___closed__9;
+lean_object* l_Lean_Parser_Term_panic___elambda__1___closed__11;
lean_object* l_Lean_Parser_Term_letrec___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_iff___closed__1;
lean_object* l_Lean_Parser_Term_orelse___closed__3;
@@ -3114,8 +3316,8 @@ lean_object* l_Lean_Parser_Term_decide_formatter___closed__1;
lean_object* l_Lean_Parser_symbolInfo(lean_object*);
lean_object* l_Lean_Parser_Term_assert___elambda__1___closed__8;
lean_object* l_Lean_Parser_Term_optIdent_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_decide___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_subtype_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-extern lean_object* l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
lean_object* l_Lean_Parser_Term_explicit_formatter___closed__1;
lean_object* l_Lean_Parser_Term_or_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_match___closed__9;
@@ -3125,8 +3327,11 @@ lean_object* l___regBuiltin_Lean_Parser_Term_eq_formatter___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Term_syntheticHole_formatter___closed__1;
lean_object* l_Lean_Parser_Term_app_parenthesizer___closed__4;
lean_object* l_Lean_Parser_Term_subtype_formatter___closed__1;
+lean_object* l_Lean_Parser_Term_paren___elambda__1___closed__8;
lean_object* l_Lean_Parser_Term_suffices_formatter___closed__1;
+extern lean_object* l_Lean_Parser_many1Indent___lambda__1___closed__1;
lean_object* l_Lean_Parser_Term_structInst_formatter___closed__3;
+lean_object* l_Lean_Parser_Term_structInst___elambda__1___closed__19;
lean_object* l_Lean_Parser_Term_mapRev___elambda__1___closed__2;
lean_object* l_Lean_Parser_Tactic_tacticSeq;
lean_object* l_Lean_Parser_Term_namedArgument_parenthesizer___closed__2;
@@ -3134,22 +3339,27 @@ lean_object* l_Lean_Parser_Term_add___closed__4;
lean_object* l___regBuiltin_Lean_Parser_Term_nativeDecide_formatter___closed__1;
lean_object* l_Lean_Parser_Term_haveAssign_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_paren_parenthesizer___closed__5;
+lean_object* l_Lean_Parser_Term_tupleTail___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_fromTerm_formatter___closed__4;
lean_object* l_Lean_PrettyPrinter_Formatter_fieldIdx_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_let_x2a___closed__3;
lean_object* l_Lean_Parser_Term_typeOf_formatter___closed__4;
+lean_object* l_Lean_Parser_Term_let___elambda__1___closed__9;
lean_object* l_Lean_Parser_Tactic_quot_formatter___closed__2;
lean_object* l_Lean_Parser_Term_haveAssign_parenthesizer___closed__1;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__6;
+lean_object* l_Lean_Parser_Term_type___elambda__1___closed__11;
lean_object* l_Lean_Parser_Term_str___closed__1;
lean_object* l___regBuiltinParser_Lean_Parser_Term_and(lean_object*);
lean_object* l_Lean_Parser_Term_fun___closed__5;
lean_object* l_Lean_Parser_Term_seqRight___elambda__1___closed__4;
+lean_object* l_Lean_Parser_sepBy1Fn(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_orelseFnCore(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_matchAlts_parenthesizer___closed__13;
lean_object* l_Lean_Parser_Term_bor___closed__4;
lean_object* l_Lean_Parser_Term_explicitUniv___closed__2;
lean_object* l___regBuiltin_Lean_Parser_Term_explicitUniv_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_attrInstance___elambda__1___closed__4;
+lean_object* l_Lean_Parser_Term_inaccessible___elambda__1___closed__12;
lean_object* l_Lean_Parser_Term_unreachable___elambda__1___closed__4;
extern lean_object* l_Lean_Parser_epsilonInfo;
lean_object* l_Lean_Parser_Term_funBinder_quot_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -3160,11 +3370,15 @@ lean_object* l_Lean_Parser_Term_have___closed__4;
lean_object* l_Lean_Parser_Term_byTactic___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_and_formatter___closed__1;
lean_object* l_Lean_Parser_Term_mod___elambda__1___closed__3;
+lean_object* l_Lean_Parser_Term_borrowed___elambda__1___closed__13;
lean_object* l_Lean_Parser_Term_append___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_subtype_formatter___closed__4;
+lean_object* l_Lean_Parser_Term_where___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_equiv_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_typeSpec___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_anonymousCtor___closed__10;
lean_object* l_Lean_Parser_Term_fromTerm_formatter___closed__3;
+lean_object* l_Lean_Parser_Term_fun___elambda__1___closed__14;
lean_object* l_Lean_Parser_Tactic_quot___closed__7;
lean_object* l_Lean_Parser_Term_explicitUniv_parenthesizer___closed__5;
lean_object* l_Lean_Parser_Term_letIdDecl___closed__5;
@@ -3190,10 +3404,12 @@ lean_object* l_Lean_Parser_Term_matchAlts___closed__9;
lean_object* l_Lean_Parser_Tactic_quot_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_typeAscription___closed__1;
lean_object* l_Lean_Parser_Term_gt___elambda__1___closed__3;
+lean_object* l_Lean_Parser_Term_subst___elambda__1___closed__6;
lean_object* l___regBuiltin_Lean_Parser_Term_bor_formatter(lean_object*);
lean_object* l_Lean_Parser_Term_letEqnsDecl___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_syntheticHole_formatter___closed__1;
lean_object* l_Lean_Parser_Term_optExprPrecedence___closed__2;
+lean_object* l_Lean_Parser_Term_match___elambda__1___closed__19;
lean_object* l_Lean_Parser_Term_letIdLhs___closed__4;
lean_object* l_Lean_Parser_Term_typeAscription_formatter___closed__4;
lean_object* l___regBuiltin_Lean_Parser_Term_byTactic_formatter___closed__1;
@@ -3211,12 +3427,12 @@ lean_object* l_Lean_Parser_categoryParser___elambda__1(lean_object*, lean_object
lean_object* l_Lean_Parser_Term_structInstLVal___closed__8;
lean_object* l_Lean_Parser_Term_letIdDecl___closed__3;
lean_object* l_Lean_Parser_Term_explicit_formatter___closed__2;
+lean_object* l_Lean_Parser_Term_dbgTrace___elambda__1___closed__12;
lean_object* l_Lean_Parser_Term_le___closed__2;
lean_object* l_Lean_Parser_Term_match___closed__8;
lean_object* l_Lean_Parser_Term_mul___closed__3;
lean_object* l___regBuiltinParser_Lean_Parser_Term_cons(lean_object*);
lean_object* l_Lean_Parser_Term_forall___closed__8;
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_letRecDecls___elambda__1___spec__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_fromTerm___closed__6;
lean_object* l_Lean_Parser_Term_type;
lean_object* l_Lean_Parser_Term_cons_formatter___closed__1;
@@ -3224,10 +3440,10 @@ lean_object* l_Lean_Parser_Term_let_x2a;
lean_object* l_Lean_Parser_Term_unicodeInfixL_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_pow___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Term_seq_parenthesizer___closed__1;
+lean_object* l_Lean_Parser_Term_hole___elambda__1___closed__4;
lean_object* l_Lean_Parser_Tactic_quot_formatter___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Term_quotedName_formatter(lean_object*);
lean_object* l_Lean_Parser_Term_unreachable___elambda__1___closed__1;
-extern lean_object* l_Lean_Parser_Level_hole___elambda__1___closed__7;
lean_object* l_Lean_Parser_Term_attrInstance_formatter___closed__8;
lean_object* l_Lean_Parser_Term_structInst_formatter___closed__18;
lean_object* l_Lean_Parser_Term_subst___closed__5;
@@ -3255,6 +3471,7 @@ lean_object* l_Lean_Parser_Term_show_parenthesizer(lean_object*, lean_object*, l
extern lean_object* l___regBuiltin_Lean_Parser_ppLine_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_tupleTail___closed__2;
lean_object* l_Lean_Parser_Term_structInstLVal___closed__11;
+lean_object* l_Lean_Parser_Term_have___elambda__1___closed__12;
lean_object* l_Lean_Parser_Term_dbgTrace_formatter___closed__6;
lean_object* l_Lean_Parser_Term_assert___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_attrArg;
@@ -3280,16 +3497,15 @@ lean_object* l_Lean_Parser_Term_typeAscription_formatter___closed__1;
lean_object* l_Lean_Parser_Term_letPatDecl_formatter___closed__4;
lean_object* l_Lean_Parser_Term_match_parenthesizer___closed__3;
lean_object* l___regBuiltin_Lean_Parser_Term_seqRight_parenthesizer___closed__1;
+lean_object* l_Lean_Parser_Term_attrInstance___elambda__1___closed__7;
lean_object* l___regBuiltin_Lean_Parser_Term_ne_formatter___closed__1;
lean_object* l_Lean_Parser_Term_map___closed__2;
lean_object* l_Lean_Parser_Term_or;
lean_object* l_Lean_Parser_Term_orM___elambda__1(lean_object*, lean_object*);
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_app___elambda__1___spec__1___closed__2;
lean_object* l_Lean_Parser_Term_pow___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_bor_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_subtype___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_binderDefault___elambda__1___closed__1;
-extern lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_many1Indent___spec__1___closed__1;
lean_object* l_Lean_Parser_Term_panic___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_cons___elambda__1___closed__2;
lean_object* l___regBuiltin_Lean_Parser_Term_assert_parenthesizer(lean_object*);
@@ -3303,11 +3519,14 @@ lean_object* l_Lean_Parser_Term_andM_formatter(lean_object*, lean_object*, lean_
lean_object* l_Lean_Parser_Tactic_tacticSeq1Indented___closed__6;
lean_object* l_Lean_Parser_Term_dbgTrace___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_letIdDecl___closed__2;
+lean_object* l_Lean_Parser_Term_fun___elambda__1___closed__16;
+lean_object* l_Lean_Parser_Term_syntheticHole___elambda__1___closed__11;
lean_object* l_Lean_Parser_Term_bne___closed__4;
lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed_formatter___closed__5;
lean_object* l_Lean_Parser_Term_quotedName_formatter___closed__2;
lean_object* l_Lean_Parser_Term_char;
lean_object* l_Lean_Parser_Term_ensureExpectedType_parenthesizer___closed__4;
+lean_object* l_Lean_Parser_Term_where___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_let_x21___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_structInstField___closed__5;
lean_object* l_Lean_Parser_Term_attrArg___closed__1;
@@ -3322,10 +3541,10 @@ lean_object* l___regBuiltin_Lean_Parser_Term_prod_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Term_structInst_formatter___closed__7;
lean_object* l_Lean_Parser_Term_panic___closed__5;
lean_object* l_Lean_Parser_Term_have_parenthesizer___closed__6;
+lean_object* l_Lean_Parser_Term_subtype___elambda__1___closed__20;
lean_object* l_Lean_Parser_Term_assert___elambda__1___closed__9;
lean_object* l_Lean_Parser_Term_attributes___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_optType_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_attributes___elambda__1___spec__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltinParser_Lean_Parser_Term_typeOf(lean_object*);
lean_object* l_Lean_Parser_Term_append;
lean_object* l_Lean_Parser_Term_haveAssign_formatter___closed__4;
@@ -3336,6 +3555,7 @@ lean_object* l___regBuiltin_Lean_Parser_Term_cdot_formatter(lean_object*);
lean_object* l_Lean_Parser_Term_explicit_formatter___closed__3;
lean_object* l_Lean_Parser_Term_not___closed__1;
lean_object* l_Lean_Parser_Term_assert_formatter___closed__5;
+lean_object* l_Lean_Parser_Term_where___elambda__1___closed__3;
lean_object* l_Lean_Parser_Tactic_seq1___closed__1;
lean_object* l_Lean_Parser_Tactic_tacticSeq1Indented___closed__3;
lean_object* l___regBuiltin_Lean_Parser_Level_quot_parenthesizer(lean_object*);
@@ -3346,13 +3566,13 @@ lean_object* l_Lean_Parser_Term_letIdLhs_formatter___closed__1;
lean_object* l_Lean_Parser_Term_ellipsis_formatter___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Term_uminus_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Term_syntheticHole___closed__3;
+lean_object* l_Lean_Parser_Term_attrInstance___elambda__1___closed__9;
lean_object* l_Lean_Parser_Term_map___closed__1;
extern lean_object* l_Lean_Parser_Parser_inhabited___closed__2;
lean_object* l_Lean_Parser_Term_attributes_formatter___closed__5;
lean_object* l_Lean_Parser_Term_subst___closed__2;
lean_object* l_Lean_Parser_Term_arrayLit___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_implicitBinder_formatter___closed__1;
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_letIdLhs___elambda__1___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_and___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_typeOf_formatter___closed__2;
lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer___closed__3;
@@ -3369,6 +3589,7 @@ lean_object* l_Lean_Parser_Term_tparser_x21___closed__2;
lean_object* l_Lean_Parser_Term_matchAlts___boxed(lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_inaccessible_formatter(lean_object*);
lean_object* l_Lean_Parser_Term_not___closed__4;
+lean_object* l_Lean_Parser_Term_explicit___elambda__1___closed__12;
lean_object* l_Lean_Parser_Term_subst___closed__1;
extern lean_object* l_Lean_Parser_Level_hole___closed__1;
lean_object* l_Lean_Parser_Term_beq___elambda__1___closed__3;
@@ -3381,6 +3602,7 @@ lean_object* l___regBuiltin_Lean_Parser_Term_borrowed_parenthesizer(lean_object*
lean_object* l_Lean_Parser_Term_suffices___closed__5;
lean_object* l_Lean_Parser_Term_parser_x21___closed__2;
lean_object* l_Lean_Parser_Term_emptyC___elambda__1___closed__3;
+lean_object* l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__13;
lean_object* l_Lean_Parser_Term_matchAlts_formatter___closed__12;
lean_object* l_Lean_Parser_Term_typeSpec___closed__4;
lean_object* l_Lean_Parser_Term_mapRev___elambda__1___closed__1;
@@ -3390,11 +3612,14 @@ lean_object* l___regBuiltin_Lean_Parser_Term_cons_formatter(lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_forall_formatter(lean_object*);
lean_object* l_Lean_Parser_Term_dollarProj___closed__6;
lean_object* l_Lean_Parser_Tactic_tacticSeq1Indented_parenthesizer___closed__3;
+lean_object* l_Lean_Parser_Term_tparser_x21___elambda__1___closed__12;
lean_object* l_Lean_Parser_Term_hole;
lean_object* l_Lean_Parser_Term_app___closed__1;
lean_object* l_Lean_Parser_Term_emptyC___closed__5;
lean_object* l___regBuiltin_Lean_Parser_Term_have_formatter(lean_object*);
lean_object* l_Lean_PrettyPrinter_Formatter_interpolatedStr_formatter___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_let___elambda__1___closed__10;
+lean_object* l_Lean_Parser_Term_bnot___elambda__1___closed__12;
lean_object* l_Lean_Parser_Term_unreachable_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_panic_formatter___closed__1;
lean_object* l_Lean_Parser_Term_mod_formatter___closed__1;
@@ -3411,6 +3636,7 @@ lean_object* l_Lean_Parser_Term_bnot_formatter___closed__4;
lean_object* l___regBuiltin_Lean_Parser_Term_hole_formatter___closed__1;
lean_object* l_Lean_Parser_Term_let_x2a___closed__2;
lean_object* l_Lean_Parser_Term_nativeRefl___elambda__1___closed__8;
+lean_object* l_Lean_Parser_Term_forall___elambda__1___closed__15;
lean_object* l_Lean_Parser_Term_prod___closed__4;
lean_object* l_Lean_Parser_Term_haveAssign___closed__5;
lean_object* l_Lean_Parser_Term_attributes___elambda__1___closed__8;
@@ -3420,14 +3646,14 @@ lean_object* l_Lean_Parser_Term_letIdDecl___closed__1;
lean_object* l_Lean_Parser_Term_funBinder_quot_formatter___closed__5;
lean_object* l_Lean_Parser_Term_arrayLit___elambda__1___closed__8;
lean_object* l_Lean_Parser_Term_nativeRefl___elambda__1___closed__4;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_subst___elambda__1___spec__2___closed__3;
lean_object* l_Lean_Parser_Level_quot___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_sorry___elambda__1___closed__7;
lean_object* l___regBuiltin_Lean_Parser_Term_nomatch_formatter(lean_object*);
-lean_object* l_Lean_Parser_Term_explicitBinder___closed__8;
lean_object* l_Lean_Parser_Term_matchAlt___closed__2;
lean_object* l_Lean_Parser_Term_parenSpecial___closed__2;
+lean_object* l_Lean_Parser_Term_paren___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_tupleTail_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_binderTactic___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_arrayLit___elambda__1___closed__4;
lean_object* l___regBuiltin_Lean_Parser_Term_subtype_formatter___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Term_bindOp_formatter(lean_object*);
@@ -3444,13 +3670,15 @@ lean_object* l_Lean_Parser_Term_ensureTypeOf_formatter___closed__2;
lean_object* l_Lean_Parser_Term_optExprPrecedence;
lean_object* l___regBuiltinParser_Lean_Parser_Term_prop(lean_object*);
lean_object* l_Lean_Parser_Term_panic___elambda__1___closed__1;
+lean_object* l_Lean_Parser_Term_byTactic___elambda__1___closed__10;
lean_object* l___regBuiltin_Lean_Parser_Term_structInst_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_bnot_formatter___closed__1;
lean_object* l_Lean_Parser_Term_subst_formatter___closed__3;
lean_object* l___regBuiltinParser_Lean_Parser_Term_byTactic(lean_object*);
lean_object* l_Lean_Parser_Term_bindOp___elambda__1___closed__4;
-lean_object* l_Lean_Parser_Term_explicitBinder___closed__9;
lean_object* l_Lean_Parser_darrow___elambda__1(lean_object*, lean_object*);
+extern lean_object* l_Lean_Parser_Level_paren___elambda__1___closed__8;
+lean_object* l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_pow___closed__3;
lean_object* l_Lean_Parser_Term_let_formatter___closed__5;
lean_object* l_Lean_Parser_Term_not___closed__8;
@@ -3490,16 +3718,18 @@ lean_object* l_Lean_Parser_Term_panic___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_funImplicitBinder_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Term_letIdDecl_parenthesizer___closed__4;
lean_object* l___regBuiltin_Lean_Parser_Term_orM_parenthesizer(lean_object*);
-lean_object* l_Lean_Parser_Term_implicitBinder___closed__1;
lean_object* l_Lean_Parser_Term_tparser_x21___closed__4;
lean_object* l_Lean_Parser_Term_match__syntax_formatter___closed__3;
lean_object* l_Lean_Parser_Term_letPatDecl_formatter___closed__1;
+lean_object* l_Lean_Parser_Term_show___elambda__1___closed__13;
lean_object* l_Lean_Parser_Term_typeAscription___closed__2;
lean_object* l_Lean_Parser_Term_byTactic___closed__3;
+lean_object* l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_seq___closed__3;
lean_object* l_Lean_Parser_Term_eq_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_matchAlts___closed__1;
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_structInstLVal___elambda__1___spec__1___closed__4;
+lean_object* l_Lean_Parser_Term_arrayLit___elambda__1___closed__9;
+lean_object* l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__14;
lean_object* l_Lean_Parser_Term_structInstField_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Term_nativeDecide_formatter___closed__3;
lean_object* l_Lean_Parser_Term_bindOp_formatter___closed__1;
@@ -3513,10 +3743,10 @@ lean_object* l_Lean_Parser_Term_nativeDecide_formatter(lean_object*, lean_object
lean_object* l_Lean_Parser_Term_tparser_x21___closed__1;
lean_object* l_Lean_Parser_Term_proj_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Term_match__syntax___elambda__1___closed__3;
-lean_object* l_Lean_Parser_Term_implicitBinder___closed__2;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_subst___elambda__1___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_forall___elambda__1___closed__18;
lean_object* l_Lean_Parser_Term_if_formatter___closed__11;
lean_object* l_Lean_Parser_Term_panic___elambda__1___closed__8;
+lean_object* l_Lean_Parser_Term_forall___elambda__1___closed__14;
lean_object* l_Lean_Parser_Term_explicitBinder___closed__4;
lean_object* l_Lean_Parser_Term_fun_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_andM___closed__3;
@@ -3529,6 +3759,7 @@ lean_object* l___regBuiltin_Lean_Parser_Term_match_formatter___closed__1;
lean_object* l_Lean_Parser_Term_suffices_parenthesizer___closed__4;
extern lean_object* l_Lean_Parser_Level_addLit___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_instBinder___closed__4;
+lean_object* l_Lean_Parser_Term_nomatch___elambda__1___closed__11;
lean_object* l_Lean_Parser_Term_ne___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_heq___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Term_ensureExpectedType_formatter(lean_object*);
@@ -3538,21 +3769,26 @@ lean_object* l_Lean_Parser_Term_byTactic_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_mapRev___closed__3;
lean_object* l_Lean_Parser_Term_app___closed__8;
lean_object* l_Lean_Parser_Term_forall___closed__10;
+lean_object* l_Lean_Parser_Term_unreachable___elambda__1___closed__9;
lean_object* l_Lean_Parser_Term_matchAlt___closed__1;
lean_object* l_Lean_Parser_Term_match_formatter___closed__7;
lean_object* l___regBuiltin_Lean_Parser_Term_structInst_formatter___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Term_mul_formatter___closed__1;
lean_object* l_Lean_Parser_Term_tupleTail_formatter___closed__2;
+lean_object* l_Lean_Parser_Term_app___elambda__1___closed__4;
lean_object* l_Lean_PrettyPrinter_Formatter_rawIdent_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_subtype___elambda__1___closed__16;
lean_object* l_Lean_Parser_Term_structInst___elambda__1___closed__8;
lean_object* l_Lean_Parser_Term_parser_x21___closed__4;
lean_object* l_Lean_Parser_Term_orelse___elambda__1(lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_div_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_assert_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_matchDiscr;
+lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__13;
lean_object* l_Lean_Parser_Term_prop_formatter___closed__2;
lean_object* l_Lean_Parser_Term_assert___closed__7;
lean_object* l___regBuiltinParser_Lean_Parser_Term_div(lean_object*);
+lean_object* l_Lean_Parser_Term_emptyC___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_depArrow_parenthesizer___closed__4;
lean_object* l_Lean_Parser_Term_subtype___closed__9;
lean_object* l_Lean_Parser_Term_explicitBinder_parenthesizer___closed__7;
@@ -3562,11 +3798,9 @@ lean_object* l_Lean_Parser_Term_syntheticHole___closed__5;
lean_object* l_Lean_Parser_Term_div_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_cdot_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_letRecDecls___closed__4;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_seq1___elambda__1___spec__2___closed__1;
lean_object* l_Lean_Parser_Term_unreachable_formatter___closed__1;
lean_object* l_Lean_Parser_Term_matchAlt_formatter___closed__2;
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_tupleTail___elambda__1___spec__1___boxed(lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__5;
+lean_object* l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__13;
lean_object* l_Lean_Parser_Term_where___closed__1;
lean_object* l_Lean_Parser_Term_namedPattern___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_le___elambda__1(lean_object*, lean_object*);
@@ -3575,9 +3809,10 @@ lean_object* l_Lean_Parser_Term_structInstField_parenthesizer___closed__4;
lean_object* l_Lean_Parser_Term_fcomp___closed__3;
lean_object* l_Lean_Parser_Term_sort_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_attrInstance_parenthesizer___closed__5;
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Tactic_seq1___elambda__1___spec__1(uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_anonymousCtor_parenthesizer___closed__2;
extern lean_object* l_Lean_mkHole___closed__2;
+lean_object* l_Lean_Parser_Term_sort___elambda__1___closed__10;
+lean_object* l_Lean_Parser_Term_parenSpecial___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_type___closed__5;
extern lean_object* l___private_Init_LeanInit_14__quoteList___main___rarg___closed__6;
lean_object* l_Lean_Parser_Term_attributes_formatter___closed__7;
@@ -3585,8 +3820,6 @@ lean_object* l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__2;
lean_object* l___regBuiltin_Lean_Parser_Term_parser_x21_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Level_quot___closed__6;
lean_object* l_Lean_Parser_Term_match___elambda__1___closed__10;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_seq1___elambda__1___spec__2___closed__4;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__3;
lean_object* l_Lean_Parser_Term_unicodeInfixR___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_num_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Term_andthen___closed__1;
@@ -3601,10 +3834,12 @@ lean_object* l_Lean_Parser_nameLit___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_cons_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_tacticSeq1Indented_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer___closed__5;
+lean_object* l_Lean_Parser_Term_not___elambda__1___closed__12;
+lean_object* l_Lean_Parser_Term_sorry___elambda__1___closed__10;
extern lean_object* l_Lean_Parser_mkAntiquot___closed__6;
lean_object* l_Lean_Parser_Term_equiv___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_subtype_parenthesizer___closed__3;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_subst___elambda__1___spec__2___closed__1;
+lean_object* l_Lean_Parser_Term_matchDiscr___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_unicodeInfixR_parenthesizer___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Tactic_quotSeq___closed__1;
lean_object* l_Lean_Parser_Term_letPatDecl___elambda__1(lean_object*, lean_object*);
@@ -3624,6 +3859,7 @@ lean_object* l_Lean_Parser_Term_typeSpec___elambda__1(lean_object*, lean_object*
lean_object* l_Lean_Parser_Term_haveAssign___closed__3;
lean_object* l_Lean_Parser_Term_ensureExpectedType_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Term_typeSpec___elambda__1___closed__1;
+lean_object* l_Lean_Parser_Term_optIdent___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_depArrow_parenthesizer___closed__8;
lean_object* l_Lean_Parser_Term_forall___closed__5;
lean_object* l_Lean_Parser_Term_if_formatter___closed__2;
@@ -3640,12 +3876,15 @@ lean_object* l_Lean_Parser_Term_match__syntax___closed__6;
lean_object* l___regBuiltin_Lean_Parser_Term_hole_formatter(lean_object*);
lean_object* l_Lean_Parser_Term_binderTactic___closed__6;
lean_object* l___regBuiltinParser_Lean_Parser_Term_dbgTrace(lean_object*);
+lean_object* l_Lean_Parser_Term_structInst___elambda__1___closed__17;
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_where___closed__2;
lean_object* l_Lean_Parser_Term_attributes___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_let_x2a___closed__8;
+lean_object* l_Lean_Parser_Term_suffices___elambda__1___closed__10;
lean_object* l___regBuiltinParser_Lean_Parser_Term_listLit(lean_object*);
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2(uint8_t, lean_object*, uint8_t, lean_object*, lean_object*);
+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;
lean_object* l_Lean_Parser_mkAntiquot(lean_object*, lean_object*, uint8_t);
@@ -3661,6 +3900,7 @@ lean_object* l_Lean_Parser_Term_seq_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_letRecDecls___closed__1;
lean_object* l_Lean_Parser_Term_let_x21___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_explicit;
+lean_object* l_Lean_Parser_Term_forall___elambda__1___closed__22;
lean_object* l_Lean_Parser_Term_equiv___closed__4;
lean_object* l_Lean_Parser_Tactic_tacticSeq_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_anonymousCtor_parenthesizer___closed__1;
@@ -3669,6 +3909,7 @@ lean_object* l_Lean_Parser_Term_match__syntax___elambda__1___closed__7;
lean_object* l_Lean_Parser_Term_fun_formatter___closed__1;
lean_object* l_Lean_Parser_Term_let_parenthesizer___closed__5;
lean_object* l_Lean_Parser_Term_explicitUniv_formatter___closed__4;
+lean_object* l_Lean_Parser_Term_nomatch___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_assert_formatter___closed__6;
lean_object* l___regBuiltinParser_Lean_Parser_Term_arrow(lean_object*);
lean_object* l_Lean_Parser_Term_paren_parenthesizer___closed__6;
@@ -3686,10 +3927,10 @@ lean_object* l_Lean_Parser_Term_let_x2a___closed__4;
lean_object* l_Lean_Parser_Term_matchAlt_formatter___closed__1;
lean_object* l_Lean_Parser_Term_structInstArrayRef_formatter___closed__2;
lean_object* l_Lean_Parser_Term_matchAlts___closed__5;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2(uint8_t, lean_object*, uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_bor___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_attrInstance___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_hole___closed__3;
+lean_object* l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__7;
lean_object* l_Lean_Parser_Tactic_seq1___closed__2;
lean_object* l_Lean_Parser_Term_matchAlts_parenthesizer___closed__14;
lean_object* l_Lean_Parser_Term_explicitBinder_formatter___closed__7;
@@ -3706,13 +3947,15 @@ lean_object* l___regBuiltin_Lean_Parser_Term_suffices_formatter___closed__1;
lean_object* l_Lean_Parser_Term_parser_x21___elambda__1___closed__3;
lean_object* l___regBuiltin_Lean_Parser_Term_funBinder_quot_formatter___closed__1;
lean_object* l_Lean_Parser_Term_dbgTrace_formatter___closed__2;
+lean_object* l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__13;
lean_object* l_Lean_Parser_Term_depArrow___elambda__1___closed__12;
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__1(uint8_t, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_manyFn(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_seqRight___elambda__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Level_quot___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_funBinder___closed__4;
lean_object* l_Lean_Parser_Term_letRecDecls_parenthesizer___closed__1;
extern lean_object* l_Lean_Parser_antiquotNestedExpr_formatter___closed__4;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_where___elambda__1___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+extern lean_object* l_Lean_Parser_Level_max___elambda__1___closed__7;
lean_object* l___regBuiltinParser_Lean_Parser_Term_match(lean_object*);
lean_object* l___regBuiltinParser_Lean_Parser_Term_depArrow(lean_object*);
lean_object* l_Lean_Parser_Term_simpleBinder___elambda__1___closed__3;
@@ -3722,7 +3965,6 @@ lean_object* l_Lean_Parser_Term_cons_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_bne___elambda__1___closed__2;
lean_object* l___regBuiltin_Lean_Parser_Term_arrow_formatter___closed__1;
lean_object* l_Lean_Parser_Term_inaccessible_formatter___closed__2;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_where___elambda__1___spec__2___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Term_gt_formatter(lean_object*);
lean_object* l_Lean_Parser_Term_optIdent___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_gt___closed__1;
@@ -3740,22 +3982,28 @@ lean_object* l_Lean_Parser_Term_paren_parenthesizer(lean_object*, lean_object*,
lean_object* l___regBuiltinParser_Lean_Parser_Term_where(lean_object*);
lean_object* l_Lean_Parser_Term_attrInstance___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_depArrow___elambda__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_app___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_matchAlts_parenthesizer___closed__5;
lean_object* l_Lean_Parser_Term_gt___elambda__1___closed__4;
+lean_object* l_Lean_Parser_Term_let_x2a___elambda__1___closed__11;
lean_object* l_Lean_Parser_Term_typeSpec___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_letrec___closed__6;
+lean_object* l_Lean_Parser_Term_bnot___elambda__1___closed__11;
lean_object* l_Lean_PrettyPrinter_Formatter_symbol_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_explicitBinder_parenthesizer___closed__8;
lean_object* l_Lean_Parser_Term_nativeRefl___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_num_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_app_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Term_structInst_parenthesizer___closed__5;
+lean_object* l_Lean_Parser_Term_binderDefault___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_show_formatter___closed__1;
lean_object* l_Lean_Parser_Term_suffices_formatter___closed__6;
lean_object* l_Lean_Parser_Term_optIdent_formatter___closed__2;
lean_object* l_Lean_Parser_Term_map___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_prop_formatter___closed__1;
+lean_object* l_Lean_Parser_Term_funImplicitBinder___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_listLit___elambda__1___closed__2;
+lean_object* l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_namedPattern___closed__2;
lean_object* l_Lean_Parser_Term_haveAssign_formatter___closed__1;
lean_object* l_Lean_Parser_Term_sort_parenthesizer___closed__2;
@@ -3784,7 +4032,9 @@ lean_object* l_Lean_Parser_Term_parser_x21_formatter___closed__3;
lean_object* l_Lean_Parser_Term_nomatch___closed__5;
lean_object* l_Lean_Parser_Term_beq___closed__1;
lean_object* l_Lean_Parser_Term_fun___closed__2;
+lean_object* l_Lean_Parser_Term_typeOf___elambda__1___closed__12;
lean_object* l_Lean_Parser_Term_fun___elambda__1___closed__5;
+lean_object* l_Lean_Parser_Term_subst___elambda__1___closed__8;
lean_object* l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__8;
lean_object* l_Lean_Parser_Term_if_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Tactic_quotSeq_formatter___closed__6;
@@ -3802,9 +4052,9 @@ lean_object* l_Lean_Parser_Term_show_formatter___closed__2;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_notFollowedBy_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_subst___closed__7;
lean_object* l_Lean_Parser_Term_haveAssign_formatter___closed__3;
+lean_object* l_Lean_Parser_Term_binderTactic___elambda__1___closed__11;
lean_object* l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
lean_object* l_Lean_Parser_Term_num_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_sepByFn___at_Lean_Parser_Term_structInst___elambda__1___spec__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_fcomp___closed__2;
lean_object* l_Lean_Parser_Term_unreachable___elambda__1___closed__6;
lean_object* l_Lean_Parser_Term_where___closed__3;
@@ -3813,7 +4063,7 @@ lean_object* l_Lean_Parser_Term_dbgTrace___elambda__1___closed__9;
extern lean_object* l___regBuiltin_Lean_Parser_strLit_formatter___closed__2;
lean_object* l_Lean_Parser_Term_prop_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_map___elambda__1___closed__2;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_subst___elambda__1___spec__2___closed__2;
+lean_object* l_Lean_Parser_Term_sort___elambda__1___closed__9;
lean_object* l___regBuiltin_Lean_Parser_Term_str_formatter(lean_object*);
lean_object* l___regBuiltinParser_Lean_Parser_Term_gt(lean_object*);
lean_object* l_Lean_Parser_Term_modN_formatter___closed__1;
@@ -3827,11 +4077,11 @@ lean_object* l_Lean_Parser_Term_namedArgument_parenthesizer___closed__5;
lean_object* l_Lean_Parser_Term_panic___closed__7;
lean_object* l___regBuiltin_Lean_Parser_Term_heq_formatter(lean_object*);
lean_object* l_Lean_Parser_Term_explicit___closed__5;
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_letrec___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_matchDiscr_parenthesizer___closed__6;
lean_object* l_Lean_Parser_Term_panic_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_syntheticHole_parenthesizer___closed__2;
+lean_object* l_Lean_Parser_Term_fun___elambda__1___closed__15;
lean_object* l_Lean_Parser_Term_structInst___elambda__1___closed__7;
lean_object* l___regBuiltin_Lean_Parser_Term_arrayRef_parenthesizer___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Term_bnot_parenthesizer___closed__1;
@@ -3840,12 +4090,16 @@ lean_object* l_Lean_Parser_Term_tupleTail___closed__4;
lean_object* l_Lean_Parser_Term_nativeRefl___elambda__1___closed__3;
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_Parser_Term_seqRight_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_tparser_x21___elambda__1___closed__10;
lean_object* l___regBuiltin_Lean_Parser_Term_lt_formatter(lean_object*);
+lean_object* l_Lean_Parser_Term_typeOf___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_explicitBinder_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Term_orelse___elambda__1___closed__2;
lean_object* l_Lean_PrettyPrinter_Formatter_sepBy1_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Tactic_quot___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_gt___closed__3;
lean_object* l_Lean_Parser_unicodeSymbolInfo(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_tupleTail___elambda__1___closed__7;
lean_object* l___regBuiltin_Lean_Parser_Term_uminus_formatter(lean_object*);
lean_object* l_Lean_Parser_Term_ensureTypeOf___closed__3;
lean_object* l_Lean_Parser_Term_nativeDecide_formatter___closed__1;
@@ -3879,35 +4133,40 @@ lean_object* l_Lean_Parser_Term_binderDefault_formatter___closed__1;
lean_object* l_Lean_Parser_Term_paren_parenthesizer___closed__9;
lean_object* l_Lean_Parser_Term_iff;
lean_object* l_Lean_Parser_Term_iff___elambda__1___closed__5;
+lean_object* l_Lean_Parser_Term_attrInstance___elambda__1___closed__5;
+lean_object* l_Lean_Parser_Term_paren___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_letIdLhs;
lean_object* l_Lean_Parser_Term_explicitBinder_formatter___closed__3;
lean_object* l_Lean_Parser_Term_suffices_formatter___closed__3;
+lean_object* l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__11;
lean_object* l_Lean_Parser_Term_show___elambda__1___closed__9;
lean_object* l_Lean_Parser_Term_subtype___closed__8;
lean_object* l_Lean_Parser_Term_dbgTrace___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_num___elambda__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_fun___elambda__1___closed__18;
lean_object* l_Lean_Parser_Term_subtype___elambda__1___closed__7;
lean_object* l_Lean_Parser_Term_cons___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_sort___elambda__1___closed__4;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_many1_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_attributes___elambda__1___spec__2(uint8_t, lean_object*, uint8_t, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___spec__1(lean_object*, lean_object*);
extern lean_object* l_Lean_Parser_mkAntiquot_parenthesizer___rarg___closed__2;
lean_object* l_Lean_Parser_Term_letDecl_parenthesizer___closed__4;
lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_eq___closed__3;
lean_object* l_Lean_Parser_Term_add;
lean_object* l_Lean_Parser_Term_inaccessible___elambda__1(lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_nativeDecide___elambda__1___closed__11;
lean_object* l_Lean_Parser_Term_matchAlts___closed__7;
lean_object* l_Lean_Parser_Term_matchDiscr___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_matchAlts_formatter(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_binderTactic_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Level_quot_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_matchDiscr___closed__9;
+lean_object* l_Lean_Parser_Term_syntheticHole___elambda__1___closed__9;
lean_object* l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_ensureExpectedType___closed__2;
lean_object* l_Lean_Parser_Term_proj___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_sort_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_attributes___elambda__1___closed__13;
lean_object* l_Lean_Parser_Term_sufficesDecl___closed__4;
lean_object* l___regBuiltin_Lean_Parser_Term_mod_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Tactic_tacticSeq1Indented___closed__1;
@@ -3938,9 +4197,12 @@ lean_object* l_Lean_Parser_Term_bindOp___elambda__1___closed__3;
lean_object* l_Lean_Parser_Tactic_quotSeq_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_add___closed__3;
lean_object* l_Lean_Parser_Term_let_x21___elambda__1___closed__8;
+lean_object* l_Lean_Parser_Term_structInst___elambda__1___closed__27;
lean_object* l_Lean_Parser_Term_panic_formatter___closed__2;
+lean_object* l_Lean_Parser_Term_letPatDecl___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_structInst;
lean_object* l_Lean_Parser_Term_dollarProj___elambda__1___closed__1;
+lean_object* l_Lean_Parser_symbolFnAux(lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Parser_Level_paren_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Term_show___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_fun_formatter___closed__9;
@@ -3956,6 +4218,7 @@ lean_object* l_Lean_Parser_Term_depArrow___elambda__1___closed__11;
lean_object* l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__6;
lean_object* l___regBuiltin_Lean_Parser_Term_ne_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Term_let_x21___elambda__1___closed__2;
+lean_object* l_Lean_Parser_Tactic_quot___elambda__1___closed__11;
lean_object* l_Lean_Parser_Term_structInst___elambda__1___closed__4;
lean_object* l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(lean_object*);
lean_object* l_Lean_Parser_Term_bracketedBinder_formatter(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -3968,10 +4231,13 @@ lean_object* l_Lean_Parser_Term_bindOp_parenthesizer___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Term_andM_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Term_prop___elambda__1___closed__7;
lean_object* l_Lean_Parser_Term_syntheticHole_parenthesizer___closed__1;
+lean_object* l_Lean_Parser_checkWsBefore___elambda__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_show_parenthesizer___closed__1;
extern lean_object* l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__8;
lean_object* l_Lean_Parser_Term_parenSpecial_formatter___closed__3;
lean_object* l_Lean_Parser_Term_bne___elambda__1___closed__1;
+lean_object* l_Lean_Parser_Term_have___elambda__1___closed__13;
+lean_object* l_Lean_Parser_Term_typeAscription___elambda__1___closed__9;
lean_object* l_Lean_Parser_Term_dollar___closed__1;
lean_object* l___regBuiltin_Lean_Parser_Term_match_formatter(lean_object*);
lean_object* l_Lean_Parser_Term_let_x2a___closed__6;
@@ -3994,7 +4260,6 @@ lean_object* l_Lean_Parser_Term_subtype_formatter___closed__7;
lean_object* l_Lean_Parser_Term_letRecDecls___closed__2;
lean_object* l___regBuiltinParser_Lean_Parser_Term_or(lean_object*);
lean_object* l_Lean_Parser_Term_letrec_formatter___closed__2;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_subst___elambda__1___spec__2___closed__4;
lean_object* l_Lean_Parser_Term_iff___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_forall___elambda__1___closed__4;
extern lean_object* l_Lean_Parser_Level_paren_formatter___closed__2;
@@ -4017,10 +4282,11 @@ lean_object* l_Lean_Parser_Term_have_parenthesizer___closed__5;
lean_object* l_Lean_PrettyPrinter_Formatter_notFollowedBy_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_where_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Term_match__syntax_formatter___closed__2;
+lean_object* l_Lean_Parser_Term_subtype___elambda__1___closed__18;
lean_object* l_Lean_Parser_Term_byTactic___closed__2;
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_structInstLVal___elambda__1___spec__1(lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_type_parenthesizer(lean_object*);
lean_object* l_Lean_Parser_Term_letDecl___closed__3;
+extern lean_object* l_Lean_Parser_many1Indent___closed__1;
lean_object* l_Lean_Parser_Term_subtype___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_letrec_formatter___closed__1;
lean_object* l_Lean_Parser_Term_if___closed__7;
@@ -4034,10 +4300,10 @@ lean_object* l_Lean_Parser_Term_syntheticHole_parenthesizer___closed__3;
lean_object* l___regBuiltin_Lean_Parser_Term_sub_formatter___closed__1;
lean_object* l_Lean_Parser_Term_attrInstance___closed__6;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_many_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_dbgTrace_formatter___closed__8;
lean_object* l_Lean_Parser_Term_letPatDecl_parenthesizer___closed__4;
lean_object* l___regBuiltin_Lean_Parser_Term_seqLeft_parenthesizer___closed__1;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_where___elambda__1___spec__2___closed__2;
lean_object* l_Lean_Parser_Term_structInstLVal_formatter___closed__5;
lean_object* l_Lean_Parser_Term_and___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_seqLeft_formatter___closed__1;
@@ -4046,6 +4312,7 @@ lean_object* l_Lean_Parser_Term_and___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_inaccessible_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Term_fun___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_decide___closed__4;
+lean_object* l_Lean_Parser_Term_inaccessible___elambda__1___closed__11;
lean_object* l_Lean_Parser_Term_haveDecl___elambda__1(lean_object*, lean_object*);
extern lean_object* l_Lean_Parser_Parser_inhabited___closed__1;
lean_object* l_Lean_Parser_Term_tupleTail_parenthesizer___closed__4;
@@ -4053,11 +4320,13 @@ lean_object* l_Lean_Parser_Term_namedPattern_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Term_tparser_x21___closed__6;
lean_object* l_Lean_Parser_Term_attrArg___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_nomatch___elambda__1___closed__7;
+extern lean_object* l_Lean_Parser_Level_paren___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_if_formatter___closed__6;
lean_object* l_Lean_Parser_Term_namedPattern___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_if_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_attrInstance_parenthesizer___closed__6;
lean_object* l___regBuiltin_Lean_Parser_Term_subtype_formatter(lean_object*);
+lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__16;
lean_object* l_Lean_Parser_Term_orelse___elambda__1___closed__1;
lean_object* l_Lean_Parser_Term_suffices___closed__6;
lean_object* l_Lean_Parser_Term_fun_formatter___closed__4;
@@ -4085,7 +4354,7 @@ lean_object* l_Lean_Parser_Term_matchAlts_parenthesizer___closed__10;
lean_object* l_Lean_Parser_darrow_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_sort___closed__7;
lean_object* l___regBuiltin_Lean_Parser_Term_eq_parenthesizer___closed__1;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__2;
+lean_object* l_Lean_Parser_Term_fromTerm___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_unicodeInfixR___elambda__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_ensureExpectedType___closed__6;
lean_object* l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__9;
@@ -4104,16 +4373,16 @@ lean_object* l_Lean_Parser_unicodeSymbolFnAux(lean_object*, lean_object*, lean_o
lean_object* l_Lean_Parser_Term_paren_formatter___closed__7;
lean_object* l_Lean_Parser_Term_have_parenthesizer___closed__3;
lean_object* l_Lean_Parser_Term_map___closed__4;
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_attributes___elambda__1___spec__1(uint8_t, lean_object*, lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_not_parenthesizer(lean_object*);
lean_object* l___regBuiltin_Lean_Parser_Term_num_formatter(lean_object*);
lean_object* l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_ensureExpectedType_formatter___closed__1;
lean_object* l_Lean_Parser_Term_bnot_parenthesizer___closed__2;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2(uint8_t, lean_object*, uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_seq___closed__4;
+lean_object* l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__14;
lean_object* l_Lean_Parser_Term_sufficesDecl___closed__1;
lean_object* l_Lean_Parser_Term_letrec_parenthesizer___closed__7;
+lean_object* l_Lean_Parser_Term_where___elambda__1___closed__7;
lean_object* l___regBuiltin_Lean_Parser_Term_inaccessible_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_forall___elambda__1___closed__7;
lean_object* l_Lean_Parser_Level_quot_parenthesizer___closed__5;
@@ -4126,9 +4395,10 @@ lean_object* l_Lean_Parser_Term_emptyC_formatter___closed__4;
lean_object* l_Lean_Parser_Term_fromTerm_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Tactic_tacticSeq___closed__5;
lean_object* l_Lean_Parser_Term_explicitBinder_parenthesizer___closed__1;
+lean_object* l_Lean_Parser_checkColGtFn___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_namedArgument___closed__4;
-extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_level_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Term_dollar___closed__2;
+lean_object* l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__5;
lean_object* l_Lean_Parser_rawIdent___elambda__1(lean_object*, lean_object*);
extern lean_object* l_addParenHeuristic___closed__1;
extern lean_object* l_Lean_Parser_mkAntiquot_parenthesizer___rarg___closed__17;
@@ -4138,11 +4408,14 @@ lean_object* l_Lean_Parser_Term_let_x2a___closed__1;
lean_object* l_Lean_Parser_Term_instBinder___closed__6;
lean_object* l_Lean_Parser_Term_bnot___elambda__1___closed__7;
lean_object* l_Lean_Parser_Term_orelse_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Parser_Term_haveAssign___elambda__1___closed__11;
+lean_object* l_Lean_Parser_Term_fun___elambda__1___closed__20;
extern lean_object* l_Lean_Parser_strLit;
lean_object* l_Lean_Parser_Term_equiv___elambda__1___closed__3;
+lean_object* l_Lean_Parser_Term_matchAlts___closed__12;
lean_object* l_Lean_Parser_Tactic_quot_parenthesizer___closed__4;
+lean_object* l_Lean_Parser_Term_uminus___elambda__1___closed__10;
lean_object* l_Lean_Parser_Term_dollar___elambda__1___closed__1;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_listLit___elambda__1___spec__2___closed__4;
extern lean_object* l___regBuiltin_Lean_Parser_numLit_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Level_quot___elambda__1___closed__7;
lean_object* l_Lean_PrettyPrinter_Formatter_andthen_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -4160,9 +4433,11 @@ lean_object* l_Lean_Parser_Term_andthen_formatter(lean_object*, lean_object*, le
lean_object* l_Lean_Parser_Term_depArrow___closed__3;
lean_object* l___regBuiltin_Lean_Parser_Term_fcomp_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_funImplicitBinder_formatter___closed__2;
+extern lean_object* l_Lean_Parser_Level_paren___elambda__1___closed__5;
lean_object* l_Lean_Parser_Term_map;
lean_object* l_Lean_PrettyPrinter_Formatter_nonReservedSymbol_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_where_formatter___closed__2;
+extern lean_object* l_Lean_Parser_strLit___closed__2;
lean_object* l_Lean_Parser_Tactic_quotSeq_formatter___closed__1;
lean_object* l_Lean_Parser_Term_unicodeInfixR(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_tparser_x21___elambda__1___closed__9;
@@ -4177,9 +4452,11 @@ lean_object* l_Lean_Parser_Term_typeOf___closed__6;
lean_object* l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__8;
lean_object* l___regBuiltin_Lean_Parser_Term_ident_formatter___closed__1;
lean_object* l___regBuiltinParser_Lean_Parser_Term_ident___closed__1;
+lean_object* l_Lean_Parser_Term_dbgTrace___elambda__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_forall___closed__6;
lean_object* l_Lean_Parser_Term_mod___elambda__1___closed__2;
lean_object* l_Lean_Parser_Tactic_tacticSeq___closed__6;
+lean_object* l_Lean_Parser_Tactic_quot___elambda__1___closed__12;
lean_object* l_Lean_Parser_Term_listLit_formatter___closed__5;
lean_object* l_Lean_Parser_Term_modN___closed__1;
lean_object* l_Lean_Parser_mkAntiquot_parenthesizer___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -4190,15 +4467,16 @@ lean_object* l___regBuiltin_Lean_Parser_Term_arrayLit_formatter___closed__1;
lean_object* l_Lean_Parser_Term_let_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_prop___closed__6;
lean_object* l_Lean_Parser_Term_funBinder_quot___closed__5;
+lean_object* l_Lean_Parser_Term_listLit___elambda__1___closed__6;
extern lean_object* l_Lean_Parser_Level_paren___closed__1;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_try_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_cdot_formatter___closed__3;
lean_object* l_Lean_Parser_Term_attrArg_formatter___closed__1;
lean_object* l_Lean_Parser_Term_where___closed__7;
-lean_object* l_Lean_Parser_fieldIdxFn(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_arrayRef___closed__3;
lean_object* l_Lean_Parser_Tactic_quot___elambda__1(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__8;
+lean_object* l_Lean_Parser_Term_sort___elambda__1___closed__11;
lean_object* l_Lean_Parser_Term_typeSpec___elambda__1___closed__4;
lean_object* l_Lean_Parser_Term_where_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_hole___closed__1;
@@ -4208,7 +4486,9 @@ lean_object* l_Lean_Parser_Term_attrInstance_formatter___closed__5;
lean_object* l_Lean_Parser_Term_sub_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_fromTerm_formatter___closed__2;
lean_object* l___regBuiltin_Lean_Parser_Term_show_formatter(lean_object*);
+lean_object* l_Lean_Parser_Term_ellipsis___elambda__1___closed__5;
lean_object* l___regBuiltin_Lean_Parser_Term_arrayLit_parenthesizer(lean_object*);
+lean_object* l_Lean_Parser_Term_match___elambda__1___closed__13;
lean_object* l_Lean_Parser_termParser_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_letIdLhs_parenthesizer___closed__2;
lean_object* l_Lean_Parser_Term_attributes_formatter___closed__3;
@@ -4220,8 +4500,6 @@ lean_object* l_Lean_Parser_Term_ident;
lean_object* l_Lean_Parser_Term_inaccessible___elambda__1___closed__4;
lean_object* l___regBuiltin_Lean_Parser_Term_parser_x21_parenthesizer___closed__1;
lean_object* l_Lean_Parser_Term_borrowed___closed__1;
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_forall___elambda__1___spec__1(lean_object*, lean_object*);
-uint8_t lean_string_dec_eq(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_suffices___closed__3;
lean_object* l_Lean_Parser_Term_explicit___elambda__1___closed__7;
lean_object* l_Lean_Parser_Term_arrayLit___elambda__1___closed__1;
@@ -4236,7 +4514,6 @@ lean_object* l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__3;
lean_object* l_Lean_Parser_Term_fun_parenthesizer___closed__5;
uint8_t lean_nat_dec_lt(lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_parser_x21_parenthesizer___closed__2;
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_seq1___elambda__1___spec__2(uint8_t, lean_object*, uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_decide___closed__2;
lean_object* l_Lean_Parser_Term_funImplicitBinder_formatter___closed__4;
extern lean_object* l_Lean_Parser_Level_max___closed__2;
@@ -4248,9 +4525,13 @@ lean_object* l_Lean_Parser_Term_explicitBinder_formatter___closed__5;
lean_object* l_Lean_Parser_Term_namedArgument_formatter___closed__3;
lean_object* l_Lean_Parser_Term_letrec_formatter___closed__8;
lean_object* l_Lean_Parser_Term_let_x21___closed__4;
+lean_object* l_Lean_Parser_Term_if___elambda__1___closed__26;
+lean_object* l_Lean_Parser_Tactic_seq1___elambda__1___closed__2;
lean_object* l_Lean_Parser_Term_match_formatter___closed__5;
lean_object* l___regBuiltin_Lean_Parser_Term_andthen_formatter(lean_object*);
+lean_object* l_Lean_Parser_Term_assert___elambda__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Syntax_isIdent(lean_object*);
+lean_object* l_Lean_Parser_Term_proj___elambda__1___closed__3;
lean_object* l_Lean_PrettyPrinter_Formatter_categoryParser_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Parser_Term_letDecl_parenthesizer___closed__6;
lean_object* l_Lean_Parser_Term_show_parenthesizer___closed__2;
@@ -4327,297 +4608,369 @@ x_3 = l_Lean_Parser_categoryParser(x_2, x_1);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__1() {
+lean_object* l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
-lean_object* x_1; lean_object* x_2;
-x_1 = l_Array_myMacro____x40_Init_Data_Array_Macros___hyg_464____closed__15;
-x_2 = l_String_trim(x_1);
-return x_2;
-}
-}
-static lean_object* _init_l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__2() {
-_start:
+uint8_t x_6;
+x_6 = !lean_is_exclusive(x_4);
+if (x_6 == 0)
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__1;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
-}
-}
-static lean_object* _init_l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__3() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__2;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
-}
-}
-static lean_object* _init_l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__3;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
-}
-}
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_17; lean_object* x_59;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-x_59 = lean_ctor_get(x_1, 4);
-lean_inc(x_59);
-if (lean_obj_tag(x_59) == 0)
-{
-x_17 = x_2;
-goto block_58;
-}
-else
-{
-lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; uint8_t x_66;
-x_60 = lean_ctor_get(x_59, 0);
-lean_inc(x_60);
-lean_dec(x_59);
-x_61 = lean_ctor_get(x_1, 0);
-lean_inc(x_61);
-x_62 = lean_ctor_get(x_61, 2);
-lean_inc(x_62);
-lean_dec(x_61);
-lean_inc(x_5);
-x_63 = l_Lean_FileMap_toPosition(x_62, x_5);
-lean_dec(x_62);
-x_64 = lean_ctor_get(x_60, 1);
-lean_inc(x_64);
-lean_dec(x_60);
-x_65 = lean_ctor_get(x_63, 1);
-lean_inc(x_65);
-lean_dec(x_63);
-x_66 = lean_nat_dec_le(x_64, x_65);
-lean_dec(x_65);
-lean_dec(x_64);
-if (x_66 == 0)
-{
-lean_object* x_67; lean_object* x_68;
-x_67 = l_Lean_Parser_manyAux___main___at_Lean_Parser_many1Indent___spec__1___closed__1;
-x_68 = l_Lean_Parser_ParserState_mkError(x_2, x_67);
-x_17 = x_68;
-goto block_58;
-}
-else
-{
-x_17 = x_2;
-goto block_58;
-}
-}
-block_16:
-{
-lean_object* x_7;
-x_7 = lean_ctor_get(x_6, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
-{
-lean_object* x_8; uint8_t x_9;
-lean_dec(x_4);
-x_8 = lean_ctor_get(x_6, 1);
-lean_inc(x_8);
-x_9 = lean_nat_dec_eq(x_5, x_8);
+lean_object* x_7; lean_object* x_8; uint8_t x_9;
+x_7 = lean_ctor_get(x_4, 0);
+x_8 = lean_ctor_get(x_4, 4);
lean_dec(x_8);
-lean_dec(x_5);
+x_9 = !lean_is_exclusive(x_7);
if (x_9 == 0)
{
-x_2 = x_6;
-goto _start;
-}
-else
-{
-lean_object* x_11; lean_object* x_12;
-lean_dec(x_1);
-x_11 = l_Lean_Parser_manyAux___main___closed__1;
-x_12 = l_Lean_Parser_ParserState_mkUnexpectedError(x_6, x_11);
-return x_12;
-}
-}
-else
-{
-lean_object* x_13; uint8_t x_14;
-lean_dec(x_7);
-lean_dec(x_1);
-x_13 = lean_ctor_get(x_6, 1);
-lean_inc(x_13);
-x_14 = lean_nat_dec_eq(x_5, x_13);
-lean_dec(x_13);
-if (x_14 == 0)
-{
-lean_dec(x_5);
-lean_dec(x_4);
-return x_6;
-}
-else
-{
-lean_object* x_15;
-x_15 = l_Lean_Parser_ParserState_restore(x_6, x_4, x_5);
-lean_dec(x_4);
-return x_15;
-}
-}
-}
-block_58:
-{
-lean_object* x_18;
-x_18 = lean_ctor_get(x_17, 3);
-lean_inc(x_18);
-if (lean_obj_tag(x_18) == 0)
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
-x_19 = lean_ctor_get(x_17, 0);
-lean_inc(x_19);
-x_20 = lean_array_get_size(x_19);
-lean_dec(x_19);
-x_21 = l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___closed__2;
-x_22 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_23 = l_Lean_Parser_categoryParser___elambda__1(x_21, x_22, x_1, x_17);
-x_24 = lean_ctor_get(x_23, 3);
+lean_object* x_10; lean_object* 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_24; uint8_t x_25;
+x_10 = lean_ctor_get(x_7, 2);
+x_11 = lean_ctor_get(x_5, 1);
+lean_inc(x_11);
+x_12 = l_Lean_FileMap_toPosition(x_10, x_11);
+lean_inc(x_12);
+x_13 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_13, 0, x_12);
+lean_ctor_set(x_4, 4, x_13);
+x_14 = lean_ctor_get(x_5, 0);
+lean_inc(x_14);
+x_15 = lean_array_get_size(x_14);
+lean_dec(x_14);
+x_24 = lean_ctor_get(x_12, 1);
lean_inc(x_24);
-if (lean_obj_tag(x_24) == 0)
+lean_dec(x_12);
+x_25 = lean_nat_dec_le(x_24, x_24);
+lean_dec(x_24);
+if (x_25 == 0)
{
-lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_43; lean_object* x_44;
-x_25 = lean_ctor_get(x_23, 0);
-lean_inc(x_25);
-x_26 = lean_array_get_size(x_25);
-lean_dec(x_25);
-x_27 = lean_ctor_get(x_23, 1);
-lean_inc(x_27);
-lean_inc(x_1);
-x_43 = l_Lean_Parser_tokenFn(x_1, x_23);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-lean_object* x_45; lean_object* x_46;
-x_45 = lean_ctor_get(x_43, 0);
-lean_inc(x_45);
-x_46 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_45);
-lean_dec(x_45);
-if (lean_obj_tag(x_46) == 2)
-{
-lean_object* x_47; lean_object* x_48; uint8_t x_49;
-x_47 = lean_ctor_get(x_46, 1);
-lean_inc(x_47);
-lean_dec(x_46);
-x_48 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__1;
-x_49 = lean_string_dec_eq(x_47, x_48);
-lean_dec(x_47);
-if (x_49 == 0)
-{
-lean_object* x_50; lean_object* x_51;
-x_50 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4;
-lean_inc(x_27);
-x_51 = l_Lean_Parser_ParserState_mkErrorsAt(x_43, x_50, x_27);
-x_28 = x_51;
-goto block_42;
+lean_object* x_26; lean_object* x_27;
+lean_dec(x_3);
+lean_dec(x_2);
+x_26 = l_Lean_Parser_many1Indent___lambda__1___closed__1;
+x_27 = l_Lean_Parser_ParserState_mkError(x_5, x_26);
+x_16 = x_27;
+goto block_23;
}
else
{
-x_28 = x_43;
-goto block_42;
-}
+lean_object* x_28;
+x_28 = lean_ctor_get(x_5, 3);
+lean_inc(x_28);
+if (lean_obj_tag(x_28) == 0)
+{
+lean_object* x_29; lean_object* x_30; lean_object* x_31;
+x_29 = lean_unsigned_to_nat(0u);
+lean_inc(x_4);
+x_30 = l_Lean_Parser_categoryParser___elambda__1(x_2, x_29, x_4, x_5);
+x_31 = lean_ctor_get(x_30, 3);
+lean_inc(x_31);
+if (lean_obj_tag(x_31) == 0)
+{
+lean_object* x_32; lean_object* x_33; lean_object* x_34;
+lean_inc(x_4);
+x_32 = l_Lean_Parser_optionalFn(x_3, x_4, x_30);
+x_33 = l_Lean_nullKind;
+lean_inc(x_15);
+x_34 = l_Lean_Parser_ParserState_mkNode(x_32, x_33, x_15);
+x_16 = x_34;
+goto block_23;
}
else
{
-lean_object* x_52; lean_object* x_53;
-lean_dec(x_46);
-x_52 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4;
-lean_inc(x_27);
-x_53 = l_Lean_Parser_ParserState_mkErrorsAt(x_43, x_52, x_27);
-x_28 = x_53;
-goto block_42;
-}
-}
-else
-{
-lean_object* x_54; lean_object* x_55;
-lean_dec(x_44);
-x_54 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4;
-lean_inc(x_27);
-x_55 = l_Lean_Parser_ParserState_mkErrorsAt(x_43, x_54, x_27);
-x_28 = x_55;
-goto block_42;
-}
-block_42:
-{
-lean_object* x_29;
-x_29 = lean_ctor_get(x_28, 3);
-lean_inc(x_29);
-if (lean_obj_tag(x_29) == 0)
-{
-lean_object* x_30; lean_object* x_31; lean_object* x_32;
-lean_dec(x_27);
-x_30 = l_Lean_nullKind;
-x_31 = l_Lean_Parser_ParserState_mkNode(x_28, x_30, x_26);
-x_32 = l_Lean_Parser_ParserState_mkNode(x_31, x_30, x_20);
-x_6 = x_32;
-goto block_16;
-}
-else
-{
-lean_object* x_33; uint8_t x_34;
-lean_dec(x_29);
-x_33 = lean_ctor_get(x_28, 1);
-lean_inc(x_33);
-x_34 = lean_nat_dec_eq(x_33, x_27);
-lean_dec(x_33);
-if (x_34 == 0)
-{
-lean_object* x_35; lean_object* x_36; lean_object* x_37;
-lean_dec(x_27);
+lean_object* x_35; lean_object* x_36;
+lean_dec(x_31);
+lean_dec(x_3);
x_35 = l_Lean_nullKind;
-x_36 = l_Lean_Parser_ParserState_mkNode(x_28, x_35, x_26);
-x_37 = l_Lean_Parser_ParserState_mkNode(x_36, x_35, x_20);
-x_6 = x_37;
-goto block_16;
+lean_inc(x_15);
+x_36 = l_Lean_Parser_ParserState_mkNode(x_30, x_35, x_15);
+x_16 = x_36;
+goto block_23;
+}
}
else
{
-lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41;
-x_38 = l_Lean_Parser_ParserState_restore(x_28, x_26, x_27);
-x_39 = l_Lean_nullKind;
-x_40 = l_Lean_Parser_ParserState_mkNode(x_38, x_39, x_26);
-x_41 = l_Lean_Parser_ParserState_mkNode(x_40, x_39, x_20);
-x_6 = x_41;
-goto block_16;
+lean_dec(x_28);
+lean_dec(x_3);
+lean_dec(x_2);
+x_16 = x_5;
+goto block_23;
}
}
+block_23:
+{
+lean_object* x_17;
+x_17 = lean_ctor_get(x_16, 3);
+lean_inc(x_17);
+if (lean_obj_tag(x_17) == 0)
+{
+lean_object* x_18; lean_object* x_19; lean_object* x_20;
+x_18 = l_Lean_Parser_manyAux(x_1, x_4, x_16);
+x_19 = l_Lean_nullKind;
+x_20 = l_Lean_Parser_ParserState_mkNode(x_18, x_19, x_15);
+return x_20;
+}
+else
+{
+lean_object* x_21; lean_object* x_22;
+lean_dec(x_17);
+lean_dec(x_4);
+lean_dec(x_1);
+x_21 = l_Lean_nullKind;
+x_22 = l_Lean_Parser_ParserState_mkNode(x_16, x_21, x_15);
+return x_22;
+}
}
}
else
{
+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_54; uint8_t x_55;
+x_37 = lean_ctor_get(x_7, 0);
+x_38 = lean_ctor_get(x_7, 1);
+x_39 = lean_ctor_get(x_7, 2);
+lean_inc(x_39);
+lean_inc(x_38);
+lean_inc(x_37);
+lean_dec(x_7);
+x_40 = lean_ctor_get(x_5, 1);
+lean_inc(x_40);
+x_41 = l_Lean_FileMap_toPosition(x_39, x_40);
+x_42 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_42, 0, x_37);
+lean_ctor_set(x_42, 1, x_38);
+lean_ctor_set(x_42, 2, x_39);
+lean_inc(x_41);
+x_43 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_43, 0, x_41);
+lean_ctor_set(x_4, 4, x_43);
+lean_ctor_set(x_4, 0, x_42);
+x_44 = lean_ctor_get(x_5, 0);
+lean_inc(x_44);
+x_45 = lean_array_get_size(x_44);
+lean_dec(x_44);
+x_54 = lean_ctor_get(x_41, 1);
+lean_inc(x_54);
+lean_dec(x_41);
+x_55 = lean_nat_dec_le(x_54, x_54);
+lean_dec(x_54);
+if (x_55 == 0)
+{
lean_object* x_56; lean_object* x_57;
-lean_dec(x_24);
-x_56 = l_Lean_nullKind;
-x_57 = l_Lean_Parser_ParserState_mkNode(x_23, x_56, x_20);
-x_6 = x_57;
-goto block_16;
+lean_dec(x_3);
+lean_dec(x_2);
+x_56 = l_Lean_Parser_many1Indent___lambda__1___closed__1;
+x_57 = l_Lean_Parser_ParserState_mkError(x_5, x_56);
+x_46 = x_57;
+goto block_53;
+}
+else
+{
+lean_object* x_58;
+x_58 = lean_ctor_get(x_5, 3);
+lean_inc(x_58);
+if (lean_obj_tag(x_58) == 0)
+{
+lean_object* x_59; lean_object* x_60; lean_object* x_61;
+x_59 = lean_unsigned_to_nat(0u);
+lean_inc(x_4);
+x_60 = l_Lean_Parser_categoryParser___elambda__1(x_2, x_59, x_4, x_5);
+x_61 = lean_ctor_get(x_60, 3);
+lean_inc(x_61);
+if (lean_obj_tag(x_61) == 0)
+{
+lean_object* x_62; lean_object* x_63; lean_object* x_64;
+lean_inc(x_4);
+x_62 = l_Lean_Parser_optionalFn(x_3, x_4, x_60);
+x_63 = l_Lean_nullKind;
+lean_inc(x_45);
+x_64 = l_Lean_Parser_ParserState_mkNode(x_62, x_63, x_45);
+x_46 = x_64;
+goto block_53;
+}
+else
+{
+lean_object* x_65; lean_object* x_66;
+lean_dec(x_61);
+lean_dec(x_3);
+x_65 = l_Lean_nullKind;
+lean_inc(x_45);
+x_66 = l_Lean_Parser_ParserState_mkNode(x_60, x_65, x_45);
+x_46 = x_66;
+goto block_53;
}
}
else
{
-lean_dec(x_18);
-x_6 = x_17;
-goto block_16;
+lean_dec(x_58);
+lean_dec(x_3);
+lean_dec(x_2);
+x_46 = x_5;
+goto block_53;
+}
+}
+block_53:
+{
+lean_object* x_47;
+x_47 = lean_ctor_get(x_46, 3);
+lean_inc(x_47);
+if (lean_obj_tag(x_47) == 0)
+{
+lean_object* x_48; lean_object* x_49; lean_object* x_50;
+x_48 = l_Lean_Parser_manyAux(x_1, x_4, x_46);
+x_49 = l_Lean_nullKind;
+x_50 = l_Lean_Parser_ParserState_mkNode(x_48, x_49, x_45);
+return x_50;
+}
+else
+{
+lean_object* x_51; lean_object* x_52;
+lean_dec(x_47);
+lean_dec(x_4);
+lean_dec(x_1);
+x_51 = l_Lean_nullKind;
+x_52 = l_Lean_Parser_ParserState_mkNode(x_46, x_51, x_45);
+return x_52;
+}
+}
+}
+}
+else
+{
+lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; uint8_t 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; 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_92; uint8_t x_93;
+x_67 = lean_ctor_get(x_4, 0);
+x_68 = lean_ctor_get(x_4, 1);
+x_69 = lean_ctor_get(x_4, 2);
+x_70 = lean_ctor_get(x_4, 3);
+x_71 = lean_ctor_get_uint8(x_4, sizeof(void*)*6);
+x_72 = lean_ctor_get(x_4, 5);
+lean_inc(x_72);
+lean_inc(x_70);
+lean_inc(x_69);
+lean_inc(x_68);
+lean_inc(x_67);
+lean_dec(x_4);
+x_73 = lean_ctor_get(x_67, 0);
+lean_inc(x_73);
+x_74 = lean_ctor_get(x_67, 1);
+lean_inc(x_74);
+x_75 = lean_ctor_get(x_67, 2);
+lean_inc(x_75);
+if (lean_is_exclusive(x_67)) {
+ lean_ctor_release(x_67, 0);
+ lean_ctor_release(x_67, 1);
+ lean_ctor_release(x_67, 2);
+ x_76 = x_67;
+} else {
+ lean_dec_ref(x_67);
+ x_76 = lean_box(0);
+}
+x_77 = lean_ctor_get(x_5, 1);
+lean_inc(x_77);
+x_78 = l_Lean_FileMap_toPosition(x_75, x_77);
+if (lean_is_scalar(x_76)) {
+ x_79 = lean_alloc_ctor(0, 3, 0);
+} else {
+ x_79 = x_76;
+}
+lean_ctor_set(x_79, 0, x_73);
+lean_ctor_set(x_79, 1, x_74);
+lean_ctor_set(x_79, 2, x_75);
+lean_inc(x_78);
+x_80 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_80, 0, x_78);
+x_81 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_81, 0, x_79);
+lean_ctor_set(x_81, 1, x_68);
+lean_ctor_set(x_81, 2, x_69);
+lean_ctor_set(x_81, 3, x_70);
+lean_ctor_set(x_81, 4, x_80);
+lean_ctor_set(x_81, 5, x_72);
+lean_ctor_set_uint8(x_81, sizeof(void*)*6, x_71);
+x_82 = lean_ctor_get(x_5, 0);
+lean_inc(x_82);
+x_83 = lean_array_get_size(x_82);
+lean_dec(x_82);
+x_92 = lean_ctor_get(x_78, 1);
+lean_inc(x_92);
+lean_dec(x_78);
+x_93 = lean_nat_dec_le(x_92, x_92);
+lean_dec(x_92);
+if (x_93 == 0)
+{
+lean_object* x_94; lean_object* x_95;
+lean_dec(x_3);
+lean_dec(x_2);
+x_94 = l_Lean_Parser_many1Indent___lambda__1___closed__1;
+x_95 = l_Lean_Parser_ParserState_mkError(x_5, x_94);
+x_84 = x_95;
+goto block_91;
+}
+else
+{
+lean_object* x_96;
+x_96 = lean_ctor_get(x_5, 3);
+lean_inc(x_96);
+if (lean_obj_tag(x_96) == 0)
+{
+lean_object* x_97; lean_object* x_98; lean_object* x_99;
+x_97 = lean_unsigned_to_nat(0u);
+lean_inc(x_81);
+x_98 = l_Lean_Parser_categoryParser___elambda__1(x_2, x_97, x_81, x_5);
+x_99 = lean_ctor_get(x_98, 3);
+lean_inc(x_99);
+if (lean_obj_tag(x_99) == 0)
+{
+lean_object* x_100; lean_object* x_101; lean_object* x_102;
+lean_inc(x_81);
+x_100 = l_Lean_Parser_optionalFn(x_3, x_81, x_98);
+x_101 = l_Lean_nullKind;
+lean_inc(x_83);
+x_102 = l_Lean_Parser_ParserState_mkNode(x_100, x_101, x_83);
+x_84 = x_102;
+goto block_91;
+}
+else
+{
+lean_object* x_103; lean_object* x_104;
+lean_dec(x_99);
+lean_dec(x_3);
+x_103 = l_Lean_nullKind;
+lean_inc(x_83);
+x_104 = l_Lean_Parser_ParserState_mkNode(x_98, x_103, x_83);
+x_84 = x_104;
+goto block_91;
+}
+}
+else
+{
+lean_dec(x_96);
+lean_dec(x_3);
+lean_dec(x_2);
+x_84 = x_5;
+goto block_91;
+}
+}
+block_91:
+{
+lean_object* x_85;
+x_85 = lean_ctor_get(x_84, 3);
+lean_inc(x_85);
+if (lean_obj_tag(x_85) == 0)
+{
+lean_object* x_86; lean_object* x_87; lean_object* x_88;
+x_86 = l_Lean_Parser_manyAux(x_1, x_81, x_84);
+x_87 = l_Lean_nullKind;
+x_88 = l_Lean_Parser_ParserState_mkNode(x_86, x_87, x_83);
+return x_88;
+}
+else
+{
+lean_object* x_89; lean_object* x_90;
+lean_dec(x_85);
+lean_dec(x_81);
+lean_dec(x_1);
+x_89 = l_Lean_nullKind;
+x_90 = l_Lean_Parser_ParserState_mkNode(x_84, x_89, x_83);
+return x_90;
+}
}
}
}
@@ -4661,6 +5014,133 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Array_myMacro____x40_Init_Data_Array_Macros___hyg_464____closed__15;
+x_2 = l_String_trim(x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optionalFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Parser_inhabited___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___closed__2;
+x_2 = lean_unsigned_to_nat(0u);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_categoryParser___elambda__1), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__9;
+x_2 = l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_nullKind;
+x_2 = l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_many1Indent___closed__1;
+x_2 = l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
+x_1 = l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__12;
+x_2 = l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___closed__2;
+x_3 = l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__6;
+x_4 = lean_alloc_closure((void*)(l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___lambda__1), 5, 3);
+lean_closure_set(x_4, 0, x_1);
+lean_closure_set(x_4, 1, x_2);
+lean_closure_set(x_4, 2, x_3);
+return x_4;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__14() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__13;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__15() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__14;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -4689,395 +5169,322 @@ lean_dec(x_9);
x_11 = !lean_is_exclusive(x_1);
if (x_11 == 0)
{
-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_30; uint8_t x_31;
+lean_object* x_12; lean_object* x_13; uint8_t x_14;
x_12 = lean_ctor_get(x_1, 0);
x_13 = lean_ctor_get(x_1, 4);
lean_dec(x_13);
-x_14 = lean_ctor_get(x_12, 2);
-lean_inc(x_14);
-x_15 = lean_ctor_get(x_7, 1);
-lean_inc(x_15);
-x_16 = l_Lean_FileMap_toPosition(x_14, x_15);
-lean_dec(x_14);
+x_14 = !lean_is_exclusive(x_12);
+if (x_14 == 0)
+{
+lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_32; uint8_t x_33;
+x_15 = lean_ctor_get(x_12, 2);
+x_16 = lean_ctor_get(x_7, 1);
lean_inc(x_16);
-x_17 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_17, 0, x_16);
-lean_ctor_set(x_1, 4, x_17);
-x_30 = lean_ctor_get(x_16, 1);
-lean_inc(x_30);
-lean_dec(x_16);
-x_31 = lean_nat_dec_le(x_30, x_30);
-lean_dec(x_30);
-if (x_31 == 0)
+x_17 = l_Lean_FileMap_toPosition(x_15, x_16);
+lean_inc(x_17);
+x_18 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_18, 0, x_17);
+lean_ctor_set(x_1, 4, x_18);
+x_32 = lean_ctor_get(x_17, 1);
+lean_inc(x_32);
+lean_dec(x_17);
+x_33 = lean_nat_dec_le(x_32, x_32);
+lean_dec(x_32);
+if (x_33 == 0)
{
-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_dec(x_1);
-x_32 = l_Lean_Parser_manyAux___main___at_Lean_Parser_many1Indent___spec__1___closed__1;
-x_33 = l_Lean_Parser_ParserState_mkError(x_7, x_32);
-x_34 = l_Lean_nullKind;
+lean_object* x_34; lean_object* x_35;
+x_34 = l_Lean_Parser_many1Indent___lambda__1___closed__1;
+x_35 = l_Lean_Parser_ParserState_mkError(x_7, x_34);
+x_19 = x_35;
+goto block_31;
+}
+else
+{
+lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
+x_36 = l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___closed__2;
+x_37 = lean_unsigned_to_nat(0u);
+lean_inc(x_1);
+x_38 = l_Lean_Parser_categoryParser___elambda__1(x_36, x_37, x_1, x_7);
+x_39 = lean_ctor_get(x_38, 3);
+lean_inc(x_39);
+if (lean_obj_tag(x_39) == 0)
+{
+lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43;
+x_40 = l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__6;
+lean_inc(x_1);
+x_41 = l_Lean_Parser_optionalFn(x_40, x_1, x_38);
+x_42 = l_Lean_nullKind;
lean_inc(x_10);
-x_35 = l_Lean_Parser_ParserState_mkNode(x_33, x_34, x_10);
-x_36 = l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__2;
-x_37 = l_Lean_Parser_ParserState_mkNode(x_35, x_36, x_10);
-return x_37;
+x_43 = l_Lean_Parser_ParserState_mkNode(x_41, x_42, x_10);
+x_19 = x_43;
+goto block_31;
}
else
{
-lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41;
-x_38 = l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___closed__2;
-x_39 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_40 = l_Lean_Parser_categoryParser___elambda__1(x_38, x_39, x_1, x_7);
-x_41 = lean_ctor_get(x_40, 3);
-lean_inc(x_41);
-if (lean_obj_tag(x_41) == 0)
+lean_object* x_44; lean_object* x_45;
+lean_dec(x_39);
+x_44 = l_Lean_nullKind;
+lean_inc(x_10);
+x_45 = l_Lean_Parser_ParserState_mkNode(x_38, x_44, x_10);
+x_19 = x_45;
+goto block_31;
+}
+}
+block_31:
{
-lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_57; lean_object* x_58;
-x_42 = lean_ctor_get(x_40, 0);
-lean_inc(x_42);
-x_43 = lean_array_get_size(x_42);
-lean_dec(x_42);
-x_44 = lean_ctor_get(x_40, 1);
-lean_inc(x_44);
-lean_inc(x_1);
-x_57 = l_Lean_Parser_tokenFn(x_1, x_40);
-x_58 = lean_ctor_get(x_57, 3);
-lean_inc(x_58);
-if (lean_obj_tag(x_58) == 0)
+lean_object* x_20;
+x_20 = lean_ctor_get(x_19, 3);
+lean_inc(x_20);
+if (lean_obj_tag(x_20) == 0)
{
-lean_object* x_59; lean_object* x_60;
-x_59 = lean_ctor_get(x_57, 0);
-lean_inc(x_59);
-x_60 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_59);
-lean_dec(x_59);
-if (lean_obj_tag(x_60) == 2)
-{
-lean_object* x_61; lean_object* x_62; uint8_t x_63;
-x_61 = lean_ctor_get(x_60, 1);
-lean_inc(x_61);
-lean_dec(x_60);
-x_62 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__1;
-x_63 = lean_string_dec_eq(x_61, x_62);
-lean_dec(x_61);
-if (x_63 == 0)
-{
-lean_object* x_64; lean_object* x_65;
-x_64 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4;
-lean_inc(x_44);
-x_65 = l_Lean_Parser_ParserState_mkErrorsAt(x_57, x_64, x_44);
-x_45 = x_65;
-goto block_56;
+lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26;
+x_21 = l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__12;
+x_22 = l_Lean_Parser_manyAux(x_21, x_1, x_19);
+x_23 = l_Lean_nullKind;
+lean_inc(x_10);
+x_24 = l_Lean_Parser_ParserState_mkNode(x_22, x_23, x_10);
+x_25 = l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__2;
+x_26 = l_Lean_Parser_ParserState_mkNode(x_24, x_25, x_10);
+return x_26;
}
else
{
-x_45 = x_57;
-goto block_56;
+lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30;
+lean_dec(x_20);
+lean_dec(x_1);
+x_27 = l_Lean_nullKind;
+lean_inc(x_10);
+x_28 = l_Lean_Parser_ParserState_mkNode(x_19, x_27, x_10);
+x_29 = l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__2;
+x_30 = l_Lean_Parser_ParserState_mkNode(x_28, x_29, x_10);
+return x_30;
+}
}
}
else
{
-lean_object* x_66; lean_object* x_67;
-lean_dec(x_60);
-x_66 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4;
-lean_inc(x_44);
-x_67 = l_Lean_Parser_ParserState_mkErrorsAt(x_57, x_66, x_44);
-x_45 = x_67;
-goto block_56;
-}
-}
-else
+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_66; uint8_t x_67;
+x_46 = lean_ctor_get(x_12, 0);
+x_47 = lean_ctor_get(x_12, 1);
+x_48 = lean_ctor_get(x_12, 2);
+lean_inc(x_48);
+lean_inc(x_47);
+lean_inc(x_46);
+lean_dec(x_12);
+x_49 = lean_ctor_get(x_7, 1);
+lean_inc(x_49);
+x_50 = l_Lean_FileMap_toPosition(x_48, x_49);
+x_51 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_51, 0, x_46);
+lean_ctor_set(x_51, 1, x_47);
+lean_ctor_set(x_51, 2, x_48);
+lean_inc(x_50);
+x_52 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_52, 0, x_50);
+lean_ctor_set(x_1, 4, x_52);
+lean_ctor_set(x_1, 0, x_51);
+x_66 = lean_ctor_get(x_50, 1);
+lean_inc(x_66);
+lean_dec(x_50);
+x_67 = lean_nat_dec_le(x_66, x_66);
+lean_dec(x_66);
+if (x_67 == 0)
{
lean_object* x_68; lean_object* x_69;
-lean_dec(x_58);
-x_68 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4;
-lean_inc(x_44);
-x_69 = l_Lean_Parser_ParserState_mkErrorsAt(x_57, x_68, x_44);
-x_45 = x_69;
-goto block_56;
-}
-block_56:
-{
-lean_object* x_46;
-x_46 = lean_ctor_get(x_45, 3);
-lean_inc(x_46);
-if (lean_obj_tag(x_46) == 0)
-{
-lean_object* x_47; lean_object* x_48;
-lean_dec(x_44);
-x_47 = l_Lean_nullKind;
-x_48 = l_Lean_Parser_ParserState_mkNode(x_45, x_47, x_43);
-x_18 = x_48;
-goto block_29;
+x_68 = l_Lean_Parser_many1Indent___lambda__1___closed__1;
+x_69 = l_Lean_Parser_ParserState_mkError(x_7, x_68);
+x_53 = x_69;
+goto block_65;
}
else
{
-lean_object* x_49; uint8_t x_50;
-lean_dec(x_46);
-x_49 = lean_ctor_get(x_45, 1);
-lean_inc(x_49);
-x_50 = lean_nat_dec_eq(x_49, x_44);
-lean_dec(x_49);
-if (x_50 == 0)
-{
-lean_object* x_51; lean_object* x_52;
-lean_dec(x_44);
-x_51 = l_Lean_nullKind;
-x_52 = l_Lean_Parser_ParserState_mkNode(x_45, x_51, x_43);
-x_18 = x_52;
-goto block_29;
-}
-else
-{
-lean_object* x_53; lean_object* x_54; lean_object* x_55;
-x_53 = l_Lean_Parser_ParserState_restore(x_45, x_43, x_44);
-x_54 = l_Lean_nullKind;
-x_55 = l_Lean_Parser_ParserState_mkNode(x_53, x_54, x_43);
-x_18 = x_55;
-goto block_29;
-}
-}
-}
-}
-else
-{
-lean_dec(x_41);
-x_18 = x_40;
-goto block_29;
-}
-}
-block_29:
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21;
-x_19 = l_Lean_nullKind;
-lean_inc(x_10);
-x_20 = l_Lean_Parser_ParserState_mkNode(x_18, x_19, x_10);
-x_21 = lean_ctor_get(x_20, 3);
-lean_inc(x_21);
-if (lean_obj_tag(x_21) == 0)
-{
-lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25;
-x_22 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1(x_1, x_20);
-lean_inc(x_10);
-x_23 = l_Lean_Parser_ParserState_mkNode(x_22, x_19, x_10);
-x_24 = l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__2;
-x_25 = l_Lean_Parser_ParserState_mkNode(x_23, x_24, x_10);
-return x_25;
-}
-else
-{
-lean_object* x_26; lean_object* x_27; lean_object* x_28;
-lean_dec(x_21);
-lean_dec(x_1);
-lean_inc(x_10);
-x_26 = l_Lean_Parser_ParserState_mkNode(x_20, x_19, x_10);
-x_27 = l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__2;
-x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_10);
-return x_28;
-}
-}
-}
-else
-{
-lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; uint8_t x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_93; uint8_t x_94;
-x_70 = lean_ctor_get(x_1, 0);
-x_71 = lean_ctor_get(x_1, 1);
-x_72 = lean_ctor_get(x_1, 2);
-x_73 = lean_ctor_get(x_1, 3);
-x_74 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
-x_75 = lean_ctor_get(x_1, 5);
-lean_inc(x_75);
+lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73;
+x_70 = l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___closed__2;
+x_71 = lean_unsigned_to_nat(0u);
+lean_inc(x_1);
+x_72 = l_Lean_Parser_categoryParser___elambda__1(x_70, x_71, x_1, x_7);
+x_73 = lean_ctor_get(x_72, 3);
lean_inc(x_73);
-lean_inc(x_72);
-lean_inc(x_71);
-lean_inc(x_70);
-lean_dec(x_1);
-x_76 = lean_ctor_get(x_70, 2);
-lean_inc(x_76);
-x_77 = lean_ctor_get(x_7, 1);
-lean_inc(x_77);
-x_78 = l_Lean_FileMap_toPosition(x_76, x_77);
-lean_dec(x_76);
-lean_inc(x_78);
-x_79 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_79, 0, x_78);
-x_80 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_80, 0, x_70);
-lean_ctor_set(x_80, 1, x_71);
-lean_ctor_set(x_80, 2, x_72);
-lean_ctor_set(x_80, 3, x_73);
-lean_ctor_set(x_80, 4, x_79);
-lean_ctor_set(x_80, 5, x_75);
-lean_ctor_set_uint8(x_80, sizeof(void*)*6, x_74);
-x_93 = lean_ctor_get(x_78, 1);
-lean_inc(x_93);
-lean_dec(x_78);
-x_94 = lean_nat_dec_le(x_93, x_93);
-lean_dec(x_93);
-if (x_94 == 0)
+if (lean_obj_tag(x_73) == 0)
{
-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_dec(x_80);
-x_95 = l_Lean_Parser_manyAux___main___at_Lean_Parser_many1Indent___spec__1___closed__1;
-x_96 = l_Lean_Parser_ParserState_mkError(x_7, x_95);
-x_97 = l_Lean_nullKind;
+lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77;
+x_74 = l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__6;
+lean_inc(x_1);
+x_75 = l_Lean_Parser_optionalFn(x_74, x_1, x_72);
+x_76 = l_Lean_nullKind;
lean_inc(x_10);
-x_98 = l_Lean_Parser_ParserState_mkNode(x_96, x_97, x_10);
-x_99 = l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__2;
-x_100 = l_Lean_Parser_ParserState_mkNode(x_98, x_99, x_10);
-return x_100;
+x_77 = l_Lean_Parser_ParserState_mkNode(x_75, x_76, x_10);
+x_53 = x_77;
+goto block_65;
}
else
{
-lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104;
-x_101 = l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___closed__2;
-x_102 = lean_unsigned_to_nat(0u);
+lean_object* x_78; lean_object* x_79;
+lean_dec(x_73);
+x_78 = l_Lean_nullKind;
+lean_inc(x_10);
+x_79 = l_Lean_Parser_ParserState_mkNode(x_72, x_78, x_10);
+x_53 = x_79;
+goto block_65;
+}
+}
+block_65:
+{
+lean_object* x_54;
+x_54 = lean_ctor_get(x_53, 3);
+lean_inc(x_54);
+if (lean_obj_tag(x_54) == 0)
+{
+lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60;
+x_55 = l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__12;
+x_56 = l_Lean_Parser_manyAux(x_55, x_1, x_53);
+x_57 = l_Lean_nullKind;
+lean_inc(x_10);
+x_58 = l_Lean_Parser_ParserState_mkNode(x_56, x_57, x_10);
+x_59 = l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__2;
+x_60 = l_Lean_Parser_ParserState_mkNode(x_58, x_59, x_10);
+return x_60;
+}
+else
+{
+lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64;
+lean_dec(x_54);
+lean_dec(x_1);
+x_61 = l_Lean_nullKind;
+lean_inc(x_10);
+x_62 = l_Lean_Parser_ParserState_mkNode(x_53, x_61, x_10);
+x_63 = l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__2;
+x_64 = l_Lean_Parser_ParserState_mkNode(x_62, x_63, x_10);
+return x_64;
+}
+}
+}
+}
+else
+{
+lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; uint8_t 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_108; uint8_t x_109;
+x_80 = lean_ctor_get(x_1, 0);
+x_81 = lean_ctor_get(x_1, 1);
+x_82 = lean_ctor_get(x_1, 2);
+x_83 = lean_ctor_get(x_1, 3);
+x_84 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
+x_85 = lean_ctor_get(x_1, 5);
+lean_inc(x_85);
+lean_inc(x_83);
+lean_inc(x_82);
+lean_inc(x_81);
lean_inc(x_80);
-x_103 = l_Lean_Parser_categoryParser___elambda__1(x_101, x_102, x_80, x_7);
-x_104 = lean_ctor_get(x_103, 3);
-lean_inc(x_104);
-if (lean_obj_tag(x_104) == 0)
-{
-lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_120; lean_object* x_121;
-x_105 = lean_ctor_get(x_103, 0);
-lean_inc(x_105);
-x_106 = lean_array_get_size(x_105);
-lean_dec(x_105);
-x_107 = lean_ctor_get(x_103, 1);
-lean_inc(x_107);
-lean_inc(x_80);
-x_120 = l_Lean_Parser_tokenFn(x_80, x_103);
-x_121 = lean_ctor_get(x_120, 3);
-lean_inc(x_121);
-if (lean_obj_tag(x_121) == 0)
-{
-lean_object* x_122; lean_object* x_123;
-x_122 = lean_ctor_get(x_120, 0);
-lean_inc(x_122);
-x_123 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_122);
-lean_dec(x_122);
-if (lean_obj_tag(x_123) == 2)
-{
-lean_object* x_124; lean_object* x_125; uint8_t x_126;
-x_124 = lean_ctor_get(x_123, 1);
-lean_inc(x_124);
-lean_dec(x_123);
-x_125 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__1;
-x_126 = lean_string_dec_eq(x_124, x_125);
-lean_dec(x_124);
-if (x_126 == 0)
-{
-lean_object* x_127; lean_object* x_128;
-x_127 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4;
-lean_inc(x_107);
-x_128 = l_Lean_Parser_ParserState_mkErrorsAt(x_120, x_127, x_107);
-x_108 = x_128;
-goto block_119;
+lean_dec(x_1);
+x_86 = lean_ctor_get(x_80, 0);
+lean_inc(x_86);
+x_87 = lean_ctor_get(x_80, 1);
+lean_inc(x_87);
+x_88 = lean_ctor_get(x_80, 2);
+lean_inc(x_88);
+if (lean_is_exclusive(x_80)) {
+ lean_ctor_release(x_80, 0);
+ lean_ctor_release(x_80, 1);
+ lean_ctor_release(x_80, 2);
+ x_89 = x_80;
+} else {
+ lean_dec_ref(x_80);
+ x_89 = lean_box(0);
}
-else
-{
-x_108 = x_120;
-goto block_119;
+x_90 = lean_ctor_get(x_7, 1);
+lean_inc(x_90);
+x_91 = l_Lean_FileMap_toPosition(x_88, x_90);
+if (lean_is_scalar(x_89)) {
+ x_92 = lean_alloc_ctor(0, 3, 0);
+} else {
+ x_92 = x_89;
}
-}
-else
-{
-lean_object* x_129; lean_object* x_130;
-lean_dec(x_123);
-x_129 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4;
-lean_inc(x_107);
-x_130 = l_Lean_Parser_ParserState_mkErrorsAt(x_120, x_129, x_107);
-x_108 = x_130;
-goto block_119;
-}
-}
-else
-{
-lean_object* x_131; lean_object* x_132;
-lean_dec(x_121);
-x_131 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4;
-lean_inc(x_107);
-x_132 = l_Lean_Parser_ParserState_mkErrorsAt(x_120, x_131, x_107);
-x_108 = x_132;
-goto block_119;
-}
-block_119:
-{
-lean_object* x_109;
-x_109 = lean_ctor_get(x_108, 3);
-lean_inc(x_109);
-if (lean_obj_tag(x_109) == 0)
+lean_ctor_set(x_92, 0, x_86);
+lean_ctor_set(x_92, 1, x_87);
+lean_ctor_set(x_92, 2, x_88);
+lean_inc(x_91);
+x_93 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_93, 0, x_91);
+x_94 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_94, 0, x_92);
+lean_ctor_set(x_94, 1, x_81);
+lean_ctor_set(x_94, 2, x_82);
+lean_ctor_set(x_94, 3, x_83);
+lean_ctor_set(x_94, 4, x_93);
+lean_ctor_set(x_94, 5, x_85);
+lean_ctor_set_uint8(x_94, sizeof(void*)*6, x_84);
+x_108 = lean_ctor_get(x_91, 1);
+lean_inc(x_108);
+lean_dec(x_91);
+x_109 = lean_nat_dec_le(x_108, x_108);
+lean_dec(x_108);
+if (x_109 == 0)
{
lean_object* x_110; lean_object* x_111;
-lean_dec(x_107);
-x_110 = l_Lean_nullKind;
-x_111 = l_Lean_Parser_ParserState_mkNode(x_108, x_110, x_106);
-x_81 = x_111;
-goto block_92;
+x_110 = l_Lean_Parser_many1Indent___lambda__1___closed__1;
+x_111 = l_Lean_Parser_ParserState_mkError(x_7, x_110);
+x_95 = x_111;
+goto block_107;
}
else
{
-lean_object* x_112; uint8_t x_113;
-lean_dec(x_109);
-x_112 = lean_ctor_get(x_108, 1);
-lean_inc(x_112);
-x_113 = lean_nat_dec_eq(x_112, x_107);
-lean_dec(x_112);
-if (x_113 == 0)
+lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115;
+x_112 = l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___closed__2;
+x_113 = lean_unsigned_to_nat(0u);
+lean_inc(x_94);
+x_114 = l_Lean_Parser_categoryParser___elambda__1(x_112, x_113, x_94, x_7);
+x_115 = lean_ctor_get(x_114, 3);
+lean_inc(x_115);
+if (lean_obj_tag(x_115) == 0)
{
-lean_object* x_114; lean_object* x_115;
-lean_dec(x_107);
-x_114 = l_Lean_nullKind;
-x_115 = l_Lean_Parser_ParserState_mkNode(x_108, x_114, x_106);
-x_81 = x_115;
-goto block_92;
-}
-else
-{
-lean_object* x_116; lean_object* x_117; lean_object* x_118;
-x_116 = l_Lean_Parser_ParserState_restore(x_108, x_106, x_107);
-x_117 = l_Lean_nullKind;
-x_118 = l_Lean_Parser_ParserState_mkNode(x_116, x_117, x_106);
-x_81 = x_118;
-goto block_92;
-}
-}
-}
-}
-else
-{
-lean_dec(x_104);
-x_81 = x_103;
-goto block_92;
-}
-}
-block_92:
-{
-lean_object* x_82; lean_object* x_83; lean_object* x_84;
-x_82 = l_Lean_nullKind;
+lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119;
+x_116 = l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__6;
+lean_inc(x_94);
+x_117 = l_Lean_Parser_optionalFn(x_116, x_94, x_114);
+x_118 = l_Lean_nullKind;
lean_inc(x_10);
-x_83 = l_Lean_Parser_ParserState_mkNode(x_81, x_82, x_10);
-x_84 = lean_ctor_get(x_83, 3);
-lean_inc(x_84);
-if (lean_obj_tag(x_84) == 0)
-{
-lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88;
-x_85 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1(x_80, x_83);
-lean_inc(x_10);
-x_86 = l_Lean_Parser_ParserState_mkNode(x_85, x_82, x_10);
-x_87 = l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__2;
-x_88 = l_Lean_Parser_ParserState_mkNode(x_86, x_87, x_10);
-return x_88;
+x_119 = l_Lean_Parser_ParserState_mkNode(x_117, x_118, x_10);
+x_95 = x_119;
+goto block_107;
}
else
{
-lean_object* x_89; lean_object* x_90; lean_object* x_91;
-lean_dec(x_84);
-lean_dec(x_80);
+lean_object* x_120; lean_object* x_121;
+lean_dec(x_115);
+x_120 = l_Lean_nullKind;
lean_inc(x_10);
-x_89 = l_Lean_Parser_ParserState_mkNode(x_83, x_82, x_10);
-x_90 = l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__2;
-x_91 = l_Lean_Parser_ParserState_mkNode(x_89, x_90, x_10);
-return x_91;
+x_121 = l_Lean_Parser_ParserState_mkNode(x_114, x_120, x_10);
+x_95 = x_121;
+goto block_107;
+}
+}
+block_107:
+{
+lean_object* x_96;
+x_96 = lean_ctor_get(x_95, 3);
+lean_inc(x_96);
+if (lean_obj_tag(x_96) == 0)
+{
+lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102;
+x_97 = l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__12;
+x_98 = l_Lean_Parser_manyAux(x_97, x_94, x_95);
+x_99 = l_Lean_nullKind;
+lean_inc(x_10);
+x_100 = l_Lean_Parser_ParserState_mkNode(x_98, x_99, x_10);
+x_101 = l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__2;
+x_102 = l_Lean_Parser_ParserState_mkNode(x_100, x_101, x_10);
+return x_102;
+}
+else
+{
+lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106;
+lean_dec(x_96);
+lean_dec(x_94);
+x_103 = l_Lean_nullKind;
+lean_inc(x_10);
+x_104 = l_Lean_Parser_ParserState_mkNode(x_95, x_103, x_10);
+x_105 = l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__2;
+x_106 = l_Lean_Parser_ParserState_mkNode(x_104, x_105, x_10);
+return x_106;
}
}
}
@@ -5091,761 +5498,11 @@ return x_7;
}
else
{
-lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137;
-x_133 = lean_ctor_get(x_2, 0);
-lean_inc(x_133);
-x_134 = lean_array_get_size(x_133);
-lean_dec(x_133);
-x_135 = lean_ctor_get(x_2, 1);
-lean_inc(x_135);
-lean_inc(x_1);
-x_136 = lean_apply_2(x_4, x_1, x_2);
-x_137 = lean_ctor_get(x_136, 3);
-lean_inc(x_137);
-if (lean_obj_tag(x_137) == 0)
-{
-lean_dec(x_135);
-lean_dec(x_134);
-lean_dec(x_1);
-return x_136;
-}
-else
-{
-uint8_t x_138;
-x_138 = !lean_is_exclusive(x_137);
-if (x_138 == 0)
-{
-lean_object* x_139; lean_object* x_140; uint8_t x_141;
-x_139 = lean_ctor_get(x_137, 0);
-x_140 = lean_ctor_get(x_136, 1);
-lean_inc(x_140);
-x_141 = lean_nat_dec_eq(x_140, x_135);
-lean_dec(x_140);
-if (x_141 == 0)
-{
-lean_free_object(x_137);
-lean_dec(x_139);
-lean_dec(x_135);
-lean_dec(x_134);
-lean_dec(x_1);
-return x_136;
-}
-else
-{
-lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145;
-lean_inc(x_135);
-x_142 = l_Lean_Parser_ParserState_restore(x_136, x_134, x_135);
-lean_dec(x_134);
-x_143 = lean_unsigned_to_nat(1024u);
-x_144 = l_Lean_Parser_checkPrecFn(x_143, x_1, x_142);
-x_145 = lean_ctor_get(x_144, 3);
-lean_inc(x_145);
-if (lean_obj_tag(x_145) == 0)
-{
-lean_object* x_146; lean_object* x_147; uint8_t x_148;
-x_146 = lean_ctor_get(x_144, 0);
-lean_inc(x_146);
-x_147 = lean_array_get_size(x_146);
-lean_dec(x_146);
-x_148 = !lean_is_exclusive(x_1);
-if (x_148 == 0)
-{
-lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_170; uint8_t x_171;
-x_149 = lean_ctor_get(x_1, 0);
-x_150 = lean_ctor_get(x_1, 4);
-lean_dec(x_150);
-x_151 = lean_ctor_get(x_149, 2);
-lean_inc(x_151);
-x_152 = lean_ctor_get(x_144, 1);
-lean_inc(x_152);
-x_153 = l_Lean_FileMap_toPosition(x_151, x_152);
-lean_dec(x_151);
-lean_inc(x_153);
-lean_ctor_set(x_137, 0, x_153);
-lean_ctor_set(x_1, 4, x_137);
-x_170 = lean_ctor_get(x_153, 1);
-lean_inc(x_170);
-lean_dec(x_153);
-x_171 = lean_nat_dec_le(x_170, x_170);
-lean_dec(x_170);
-if (x_171 == 0)
-{
-lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; uint8_t x_178; lean_object* x_179;
-lean_dec(x_1);
-x_172 = l_Lean_Parser_manyAux___main___at_Lean_Parser_many1Indent___spec__1___closed__1;
-x_173 = l_Lean_Parser_ParserState_mkError(x_144, x_172);
-x_174 = l_Lean_nullKind;
-lean_inc(x_147);
-x_175 = l_Lean_Parser_ParserState_mkNode(x_173, x_174, x_147);
-x_176 = l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__2;
-x_177 = l_Lean_Parser_ParserState_mkNode(x_175, x_176, x_147);
-x_178 = 1;
-x_179 = l_Lean_Parser_mergeOrElseErrors(x_177, x_139, x_135, x_178);
-lean_dec(x_135);
-return x_179;
-}
-else
-{
-lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183;
-x_180 = l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___closed__2;
-x_181 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_182 = l_Lean_Parser_categoryParser___elambda__1(x_180, x_181, x_1, x_144);
-x_183 = lean_ctor_get(x_182, 3);
-lean_inc(x_183);
-if (lean_obj_tag(x_183) == 0)
-{
-lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_199; lean_object* x_200;
-x_184 = lean_ctor_get(x_182, 0);
-lean_inc(x_184);
-x_185 = lean_array_get_size(x_184);
-lean_dec(x_184);
-x_186 = lean_ctor_get(x_182, 1);
-lean_inc(x_186);
-lean_inc(x_1);
-x_199 = l_Lean_Parser_tokenFn(x_1, x_182);
-x_200 = lean_ctor_get(x_199, 3);
-lean_inc(x_200);
-if (lean_obj_tag(x_200) == 0)
-{
-lean_object* x_201; lean_object* x_202;
-x_201 = lean_ctor_get(x_199, 0);
-lean_inc(x_201);
-x_202 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_201);
-lean_dec(x_201);
-if (lean_obj_tag(x_202) == 2)
-{
-lean_object* x_203; lean_object* x_204; uint8_t x_205;
-x_203 = lean_ctor_get(x_202, 1);
-lean_inc(x_203);
-lean_dec(x_202);
-x_204 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__1;
-x_205 = lean_string_dec_eq(x_203, x_204);
-lean_dec(x_203);
-if (x_205 == 0)
-{
-lean_object* x_206; lean_object* x_207;
-x_206 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4;
-lean_inc(x_186);
-x_207 = l_Lean_Parser_ParserState_mkErrorsAt(x_199, x_206, x_186);
-x_187 = x_207;
-goto block_198;
-}
-else
-{
-x_187 = x_199;
-goto block_198;
-}
-}
-else
-{
-lean_object* x_208; lean_object* x_209;
-lean_dec(x_202);
-x_208 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4;
-lean_inc(x_186);
-x_209 = l_Lean_Parser_ParserState_mkErrorsAt(x_199, x_208, x_186);
-x_187 = x_209;
-goto block_198;
-}
-}
-else
-{
-lean_object* x_210; lean_object* x_211;
-lean_dec(x_200);
-x_210 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4;
-lean_inc(x_186);
-x_211 = l_Lean_Parser_ParserState_mkErrorsAt(x_199, x_210, x_186);
-x_187 = x_211;
-goto block_198;
-}
-block_198:
-{
-lean_object* x_188;
-x_188 = lean_ctor_get(x_187, 3);
-lean_inc(x_188);
-if (lean_obj_tag(x_188) == 0)
-{
-lean_object* x_189; lean_object* x_190;
-lean_dec(x_186);
-x_189 = l_Lean_nullKind;
-x_190 = l_Lean_Parser_ParserState_mkNode(x_187, x_189, x_185);
-x_154 = x_190;
-goto block_169;
-}
-else
-{
-lean_object* x_191; uint8_t x_192;
-lean_dec(x_188);
-x_191 = lean_ctor_get(x_187, 1);
-lean_inc(x_191);
-x_192 = lean_nat_dec_eq(x_191, x_186);
-lean_dec(x_191);
-if (x_192 == 0)
-{
-lean_object* x_193; lean_object* x_194;
-lean_dec(x_186);
-x_193 = l_Lean_nullKind;
-x_194 = l_Lean_Parser_ParserState_mkNode(x_187, x_193, x_185);
-x_154 = x_194;
-goto block_169;
-}
-else
-{
-lean_object* x_195; lean_object* x_196; lean_object* x_197;
-x_195 = l_Lean_Parser_ParserState_restore(x_187, x_185, x_186);
-x_196 = l_Lean_nullKind;
-x_197 = l_Lean_Parser_ParserState_mkNode(x_195, x_196, x_185);
-x_154 = x_197;
-goto block_169;
-}
-}
-}
-}
-else
-{
-lean_dec(x_183);
-x_154 = x_182;
-goto block_169;
-}
-}
-block_169:
-{
-lean_object* x_155; lean_object* x_156; lean_object* x_157;
-x_155 = l_Lean_nullKind;
-lean_inc(x_147);
-x_156 = l_Lean_Parser_ParserState_mkNode(x_154, x_155, x_147);
-x_157 = lean_ctor_get(x_156, 3);
-lean_inc(x_157);
-if (lean_obj_tag(x_157) == 0)
-{
-lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; uint8_t x_162; lean_object* x_163;
-x_158 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1(x_1, x_156);
-lean_inc(x_147);
-x_159 = l_Lean_Parser_ParserState_mkNode(x_158, x_155, x_147);
-x_160 = l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__2;
-x_161 = l_Lean_Parser_ParserState_mkNode(x_159, x_160, x_147);
-x_162 = 1;
-x_163 = l_Lean_Parser_mergeOrElseErrors(x_161, x_139, x_135, x_162);
-lean_dec(x_135);
-return x_163;
-}
-else
-{
-lean_object* x_164; lean_object* x_165; lean_object* x_166; uint8_t x_167; lean_object* x_168;
-lean_dec(x_157);
-lean_dec(x_1);
-lean_inc(x_147);
-x_164 = l_Lean_Parser_ParserState_mkNode(x_156, x_155, x_147);
-x_165 = l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__2;
-x_166 = l_Lean_Parser_ParserState_mkNode(x_164, x_165, x_147);
-x_167 = 1;
-x_168 = l_Lean_Parser_mergeOrElseErrors(x_166, x_139, x_135, x_167);
-lean_dec(x_135);
-return x_168;
-}
-}
-}
-else
-{
-lean_object* x_212; lean_object* x_213; lean_object* x_214; lean_object* x_215; uint8_t x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; lean_object* x_221; lean_object* x_222; lean_object* x_238; uint8_t x_239;
-x_212 = lean_ctor_get(x_1, 0);
-x_213 = lean_ctor_get(x_1, 1);
-x_214 = lean_ctor_get(x_1, 2);
-x_215 = lean_ctor_get(x_1, 3);
-x_216 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
-x_217 = lean_ctor_get(x_1, 5);
-lean_inc(x_217);
-lean_inc(x_215);
-lean_inc(x_214);
-lean_inc(x_213);
-lean_inc(x_212);
-lean_dec(x_1);
-x_218 = lean_ctor_get(x_212, 2);
-lean_inc(x_218);
-x_219 = lean_ctor_get(x_144, 1);
-lean_inc(x_219);
-x_220 = l_Lean_FileMap_toPosition(x_218, x_219);
-lean_dec(x_218);
-lean_inc(x_220);
-lean_ctor_set(x_137, 0, x_220);
-x_221 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_221, 0, x_212);
-lean_ctor_set(x_221, 1, x_213);
-lean_ctor_set(x_221, 2, x_214);
-lean_ctor_set(x_221, 3, x_215);
-lean_ctor_set(x_221, 4, x_137);
-lean_ctor_set(x_221, 5, x_217);
-lean_ctor_set_uint8(x_221, sizeof(void*)*6, x_216);
-x_238 = lean_ctor_get(x_220, 1);
-lean_inc(x_238);
-lean_dec(x_220);
-x_239 = lean_nat_dec_le(x_238, x_238);
-lean_dec(x_238);
-if (x_239 == 0)
-{
-lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244; lean_object* x_245; uint8_t x_246; lean_object* x_247;
-lean_dec(x_221);
-x_240 = l_Lean_Parser_manyAux___main___at_Lean_Parser_many1Indent___spec__1___closed__1;
-x_241 = l_Lean_Parser_ParserState_mkError(x_144, x_240);
-x_242 = l_Lean_nullKind;
-lean_inc(x_147);
-x_243 = l_Lean_Parser_ParserState_mkNode(x_241, x_242, x_147);
-x_244 = l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__2;
-x_245 = l_Lean_Parser_ParserState_mkNode(x_243, x_244, x_147);
-x_246 = 1;
-x_247 = l_Lean_Parser_mergeOrElseErrors(x_245, x_139, x_135, x_246);
-lean_dec(x_135);
-return x_247;
-}
-else
-{
-lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251;
-x_248 = l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___closed__2;
-x_249 = lean_unsigned_to_nat(0u);
-lean_inc(x_221);
-x_250 = l_Lean_Parser_categoryParser___elambda__1(x_248, x_249, x_221, x_144);
-x_251 = lean_ctor_get(x_250, 3);
-lean_inc(x_251);
-if (lean_obj_tag(x_251) == 0)
-{
-lean_object* x_252; lean_object* x_253; lean_object* x_254; lean_object* x_255; lean_object* x_267; lean_object* x_268;
-x_252 = lean_ctor_get(x_250, 0);
-lean_inc(x_252);
-x_253 = lean_array_get_size(x_252);
-lean_dec(x_252);
-x_254 = lean_ctor_get(x_250, 1);
-lean_inc(x_254);
-lean_inc(x_221);
-x_267 = l_Lean_Parser_tokenFn(x_221, x_250);
-x_268 = lean_ctor_get(x_267, 3);
-lean_inc(x_268);
-if (lean_obj_tag(x_268) == 0)
-{
-lean_object* x_269; lean_object* x_270;
-x_269 = lean_ctor_get(x_267, 0);
-lean_inc(x_269);
-x_270 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_269);
-lean_dec(x_269);
-if (lean_obj_tag(x_270) == 2)
-{
-lean_object* x_271; lean_object* x_272; uint8_t x_273;
-x_271 = lean_ctor_get(x_270, 1);
-lean_inc(x_271);
-lean_dec(x_270);
-x_272 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__1;
-x_273 = lean_string_dec_eq(x_271, x_272);
-lean_dec(x_271);
-if (x_273 == 0)
-{
-lean_object* x_274; lean_object* x_275;
-x_274 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4;
-lean_inc(x_254);
-x_275 = l_Lean_Parser_ParserState_mkErrorsAt(x_267, x_274, x_254);
-x_255 = x_275;
-goto block_266;
-}
-else
-{
-x_255 = x_267;
-goto block_266;
-}
-}
-else
-{
-lean_object* x_276; lean_object* x_277;
-lean_dec(x_270);
-x_276 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4;
-lean_inc(x_254);
-x_277 = l_Lean_Parser_ParserState_mkErrorsAt(x_267, x_276, x_254);
-x_255 = x_277;
-goto block_266;
-}
-}
-else
-{
-lean_object* x_278; lean_object* x_279;
-lean_dec(x_268);
-x_278 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4;
-lean_inc(x_254);
-x_279 = l_Lean_Parser_ParserState_mkErrorsAt(x_267, x_278, x_254);
-x_255 = x_279;
-goto block_266;
-}
-block_266:
-{
-lean_object* x_256;
-x_256 = lean_ctor_get(x_255, 3);
-lean_inc(x_256);
-if (lean_obj_tag(x_256) == 0)
-{
-lean_object* x_257; lean_object* x_258;
-lean_dec(x_254);
-x_257 = l_Lean_nullKind;
-x_258 = l_Lean_Parser_ParserState_mkNode(x_255, x_257, x_253);
-x_222 = x_258;
-goto block_237;
-}
-else
-{
-lean_object* x_259; uint8_t x_260;
-lean_dec(x_256);
-x_259 = lean_ctor_get(x_255, 1);
-lean_inc(x_259);
-x_260 = lean_nat_dec_eq(x_259, x_254);
-lean_dec(x_259);
-if (x_260 == 0)
-{
-lean_object* x_261; lean_object* x_262;
-lean_dec(x_254);
-x_261 = l_Lean_nullKind;
-x_262 = l_Lean_Parser_ParserState_mkNode(x_255, x_261, x_253);
-x_222 = x_262;
-goto block_237;
-}
-else
-{
-lean_object* x_263; lean_object* x_264; lean_object* x_265;
-x_263 = l_Lean_Parser_ParserState_restore(x_255, x_253, x_254);
-x_264 = l_Lean_nullKind;
-x_265 = l_Lean_Parser_ParserState_mkNode(x_263, x_264, x_253);
-x_222 = x_265;
-goto block_237;
-}
-}
-}
-}
-else
-{
-lean_dec(x_251);
-x_222 = x_250;
-goto block_237;
-}
-}
-block_237:
-{
-lean_object* x_223; lean_object* x_224; lean_object* x_225;
-x_223 = l_Lean_nullKind;
-lean_inc(x_147);
-x_224 = l_Lean_Parser_ParserState_mkNode(x_222, x_223, x_147);
-x_225 = lean_ctor_get(x_224, 3);
-lean_inc(x_225);
-if (lean_obj_tag(x_225) == 0)
-{
-lean_object* x_226; lean_object* x_227; lean_object* x_228; lean_object* x_229; uint8_t x_230; lean_object* x_231;
-x_226 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1(x_221, x_224);
-lean_inc(x_147);
-x_227 = l_Lean_Parser_ParserState_mkNode(x_226, x_223, x_147);
-x_228 = l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__2;
-x_229 = l_Lean_Parser_ParserState_mkNode(x_227, x_228, x_147);
-x_230 = 1;
-x_231 = l_Lean_Parser_mergeOrElseErrors(x_229, x_139, x_135, x_230);
-lean_dec(x_135);
-return x_231;
-}
-else
-{
-lean_object* x_232; lean_object* x_233; lean_object* x_234; uint8_t x_235; lean_object* x_236;
-lean_dec(x_225);
-lean_dec(x_221);
-lean_inc(x_147);
-x_232 = l_Lean_Parser_ParserState_mkNode(x_224, x_223, x_147);
-x_233 = l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__2;
-x_234 = l_Lean_Parser_ParserState_mkNode(x_232, x_233, x_147);
-x_235 = 1;
-x_236 = l_Lean_Parser_mergeOrElseErrors(x_234, x_139, x_135, x_235);
-lean_dec(x_135);
-return x_236;
-}
-}
-}
-}
-else
-{
-uint8_t x_280; lean_object* x_281;
-lean_dec(x_145);
-lean_free_object(x_137);
-lean_dec(x_1);
-x_280 = 1;
-x_281 = l_Lean_Parser_mergeOrElseErrors(x_144, x_139, x_135, x_280);
-lean_dec(x_135);
-return x_281;
-}
-}
-}
-else
-{
-lean_object* x_282; lean_object* x_283; uint8_t x_284;
-x_282 = lean_ctor_get(x_137, 0);
-lean_inc(x_282);
-lean_dec(x_137);
-x_283 = lean_ctor_get(x_136, 1);
-lean_inc(x_283);
-x_284 = lean_nat_dec_eq(x_283, x_135);
-lean_dec(x_283);
-if (x_284 == 0)
-{
-lean_dec(x_282);
-lean_dec(x_135);
-lean_dec(x_134);
-lean_dec(x_1);
-return x_136;
-}
-else
-{
-lean_object* x_285; lean_object* x_286; lean_object* x_287; lean_object* x_288;
-lean_inc(x_135);
-x_285 = l_Lean_Parser_ParserState_restore(x_136, x_134, x_135);
-lean_dec(x_134);
-x_286 = lean_unsigned_to_nat(1024u);
-x_287 = l_Lean_Parser_checkPrecFn(x_286, x_1, x_285);
-x_288 = lean_ctor_get(x_287, 3);
-lean_inc(x_288);
-if (lean_obj_tag(x_288) == 0)
-{
-lean_object* x_289; lean_object* x_290; lean_object* x_291; lean_object* x_292; lean_object* x_293; lean_object* x_294; uint8_t x_295; lean_object* x_296; lean_object* x_297; lean_object* x_298; lean_object* x_299; lean_object* x_300; lean_object* x_301; lean_object* x_302; lean_object* x_303; lean_object* x_319; uint8_t x_320;
-x_289 = lean_ctor_get(x_287, 0);
-lean_inc(x_289);
-x_290 = lean_array_get_size(x_289);
-lean_dec(x_289);
-x_291 = lean_ctor_get(x_1, 0);
-lean_inc(x_291);
-x_292 = lean_ctor_get(x_1, 1);
-lean_inc(x_292);
-x_293 = lean_ctor_get(x_1, 2);
-lean_inc(x_293);
-x_294 = lean_ctor_get(x_1, 3);
-lean_inc(x_294);
-x_295 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
-x_296 = lean_ctor_get(x_1, 5);
-lean_inc(x_296);
-if (lean_is_exclusive(x_1)) {
- lean_ctor_release(x_1, 0);
- lean_ctor_release(x_1, 1);
- lean_ctor_release(x_1, 2);
- lean_ctor_release(x_1, 3);
- lean_ctor_release(x_1, 4);
- lean_ctor_release(x_1, 5);
- x_297 = x_1;
-} else {
- lean_dec_ref(x_1);
- x_297 = lean_box(0);
-}
-x_298 = lean_ctor_get(x_291, 2);
-lean_inc(x_298);
-x_299 = lean_ctor_get(x_287, 1);
-lean_inc(x_299);
-x_300 = l_Lean_FileMap_toPosition(x_298, x_299);
-lean_dec(x_298);
-lean_inc(x_300);
-x_301 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_301, 0, x_300);
-if (lean_is_scalar(x_297)) {
- x_302 = lean_alloc_ctor(0, 6, 1);
-} else {
- x_302 = x_297;
-}
-lean_ctor_set(x_302, 0, x_291);
-lean_ctor_set(x_302, 1, x_292);
-lean_ctor_set(x_302, 2, x_293);
-lean_ctor_set(x_302, 3, x_294);
-lean_ctor_set(x_302, 4, x_301);
-lean_ctor_set(x_302, 5, x_296);
-lean_ctor_set_uint8(x_302, sizeof(void*)*6, x_295);
-x_319 = lean_ctor_get(x_300, 1);
-lean_inc(x_319);
-lean_dec(x_300);
-x_320 = lean_nat_dec_le(x_319, x_319);
-lean_dec(x_319);
-if (x_320 == 0)
-{
-lean_object* x_321; lean_object* x_322; lean_object* x_323; lean_object* x_324; lean_object* x_325; lean_object* x_326; uint8_t x_327; lean_object* x_328;
-lean_dec(x_302);
-x_321 = l_Lean_Parser_manyAux___main___at_Lean_Parser_many1Indent___spec__1___closed__1;
-x_322 = l_Lean_Parser_ParserState_mkError(x_287, x_321);
-x_323 = l_Lean_nullKind;
-lean_inc(x_290);
-x_324 = l_Lean_Parser_ParserState_mkNode(x_322, x_323, x_290);
-x_325 = l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__2;
-x_326 = l_Lean_Parser_ParserState_mkNode(x_324, x_325, x_290);
-x_327 = 1;
-x_328 = l_Lean_Parser_mergeOrElseErrors(x_326, x_282, x_135, x_327);
-lean_dec(x_135);
-return x_328;
-}
-else
-{
-lean_object* x_329; lean_object* x_330; lean_object* x_331; lean_object* x_332;
-x_329 = l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___closed__2;
-x_330 = lean_unsigned_to_nat(0u);
-lean_inc(x_302);
-x_331 = l_Lean_Parser_categoryParser___elambda__1(x_329, x_330, x_302, x_287);
-x_332 = lean_ctor_get(x_331, 3);
-lean_inc(x_332);
-if (lean_obj_tag(x_332) == 0)
-{
-lean_object* x_333; lean_object* x_334; lean_object* x_335; lean_object* x_336; lean_object* x_348; lean_object* x_349;
-x_333 = lean_ctor_get(x_331, 0);
-lean_inc(x_333);
-x_334 = lean_array_get_size(x_333);
-lean_dec(x_333);
-x_335 = lean_ctor_get(x_331, 1);
-lean_inc(x_335);
-lean_inc(x_302);
-x_348 = l_Lean_Parser_tokenFn(x_302, x_331);
-x_349 = lean_ctor_get(x_348, 3);
-lean_inc(x_349);
-if (lean_obj_tag(x_349) == 0)
-{
-lean_object* x_350; lean_object* x_351;
-x_350 = lean_ctor_get(x_348, 0);
-lean_inc(x_350);
-x_351 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_350);
-lean_dec(x_350);
-if (lean_obj_tag(x_351) == 2)
-{
-lean_object* x_352; lean_object* x_353; uint8_t x_354;
-x_352 = lean_ctor_get(x_351, 1);
-lean_inc(x_352);
-lean_dec(x_351);
-x_353 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__1;
-x_354 = lean_string_dec_eq(x_352, x_353);
-lean_dec(x_352);
-if (x_354 == 0)
-{
-lean_object* x_355; lean_object* x_356;
-x_355 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4;
-lean_inc(x_335);
-x_356 = l_Lean_Parser_ParserState_mkErrorsAt(x_348, x_355, x_335);
-x_336 = x_356;
-goto block_347;
-}
-else
-{
-x_336 = x_348;
-goto block_347;
-}
-}
-else
-{
-lean_object* x_357; lean_object* x_358;
-lean_dec(x_351);
-x_357 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4;
-lean_inc(x_335);
-x_358 = l_Lean_Parser_ParserState_mkErrorsAt(x_348, x_357, x_335);
-x_336 = x_358;
-goto block_347;
-}
-}
-else
-{
-lean_object* x_359; lean_object* x_360;
-lean_dec(x_349);
-x_359 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4;
-lean_inc(x_335);
-x_360 = l_Lean_Parser_ParserState_mkErrorsAt(x_348, x_359, x_335);
-x_336 = x_360;
-goto block_347;
-}
-block_347:
-{
-lean_object* x_337;
-x_337 = lean_ctor_get(x_336, 3);
-lean_inc(x_337);
-if (lean_obj_tag(x_337) == 0)
-{
-lean_object* x_338; lean_object* x_339;
-lean_dec(x_335);
-x_338 = l_Lean_nullKind;
-x_339 = l_Lean_Parser_ParserState_mkNode(x_336, x_338, x_334);
-x_303 = x_339;
-goto block_318;
-}
-else
-{
-lean_object* x_340; uint8_t x_341;
-lean_dec(x_337);
-x_340 = lean_ctor_get(x_336, 1);
-lean_inc(x_340);
-x_341 = lean_nat_dec_eq(x_340, x_335);
-lean_dec(x_340);
-if (x_341 == 0)
-{
-lean_object* x_342; lean_object* x_343;
-lean_dec(x_335);
-x_342 = l_Lean_nullKind;
-x_343 = l_Lean_Parser_ParserState_mkNode(x_336, x_342, x_334);
-x_303 = x_343;
-goto block_318;
-}
-else
-{
-lean_object* x_344; lean_object* x_345; lean_object* x_346;
-x_344 = l_Lean_Parser_ParserState_restore(x_336, x_334, x_335);
-x_345 = l_Lean_nullKind;
-x_346 = l_Lean_Parser_ParserState_mkNode(x_344, x_345, x_334);
-x_303 = x_346;
-goto block_318;
-}
-}
-}
-}
-else
-{
-lean_dec(x_332);
-x_303 = x_331;
-goto block_318;
-}
-}
-block_318:
-{
-lean_object* x_304; lean_object* x_305; lean_object* x_306;
-x_304 = l_Lean_nullKind;
-lean_inc(x_290);
-x_305 = l_Lean_Parser_ParserState_mkNode(x_303, x_304, x_290);
-x_306 = lean_ctor_get(x_305, 3);
-lean_inc(x_306);
-if (lean_obj_tag(x_306) == 0)
-{
-lean_object* x_307; lean_object* x_308; lean_object* x_309; lean_object* x_310; uint8_t x_311; lean_object* x_312;
-x_307 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1(x_302, x_305);
-lean_inc(x_290);
-x_308 = l_Lean_Parser_ParserState_mkNode(x_307, x_304, x_290);
-x_309 = l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__2;
-x_310 = l_Lean_Parser_ParserState_mkNode(x_308, x_309, x_290);
-x_311 = 1;
-x_312 = l_Lean_Parser_mergeOrElseErrors(x_310, x_282, x_135, x_311);
-lean_dec(x_135);
-return x_312;
-}
-else
-{
-lean_object* x_313; lean_object* x_314; lean_object* x_315; uint8_t x_316; lean_object* x_317;
-lean_dec(x_306);
-lean_dec(x_302);
-lean_inc(x_290);
-x_313 = l_Lean_Parser_ParserState_mkNode(x_305, x_304, x_290);
-x_314 = l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__2;
-x_315 = l_Lean_Parser_ParserState_mkNode(x_313, x_314, x_290);
-x_316 = 1;
-x_317 = l_Lean_Parser_mergeOrElseErrors(x_315, x_282, x_135, x_316);
-lean_dec(x_135);
-return x_317;
-}
-}
-}
-else
-{
-uint8_t x_361; lean_object* x_362;
-lean_dec(x_288);
-lean_dec(x_1);
-x_361 = 1;
-x_362 = l_Lean_Parser_mergeOrElseErrors(x_287, x_282, x_135, x_361);
-lean_dec(x_135);
-return x_362;
-}
-}
-}
-}
+lean_object* x_122; uint8_t x_123; lean_object* x_124;
+x_122 = l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__15;
+x_123 = 1;
+x_124 = l_Lean_Parser_orelseFnCore(x_4, x_122, x_123, x_1, x_2);
+return x_124;
}
}
}
@@ -5863,7 +5520,7 @@ static lean_object* _init_l_Lean_Parser_Tactic_tacticSeq1Indented___closed__2()
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__1;
+x_1 = l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__5;
x_2 = l_Lean_Parser_symbolInfo(x_1);
return x_2;
}
@@ -5979,193 +5636,6 @@ x_1 = l_Lean_Parser_Tactic_tacticSeq1Indented___closed__12;
return x_1;
}
}
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___spec__1(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-x_19 = l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___closed__2;
-x_20 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_21 = l_Lean_Parser_categoryParser___elambda__1(x_19, x_20, x_1, x_2);
-x_22 = lean_ctor_get(x_21, 3);
-lean_inc(x_22);
-if (lean_obj_tag(x_22) == 0)
-{
-lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_38; lean_object* x_39;
-x_23 = lean_ctor_get(x_21, 0);
-lean_inc(x_23);
-x_24 = lean_array_get_size(x_23);
-lean_dec(x_23);
-x_25 = lean_ctor_get(x_21, 1);
-lean_inc(x_25);
-lean_inc(x_1);
-x_38 = l_Lean_Parser_tokenFn(x_1, x_21);
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_object* x_40; lean_object* x_41;
-x_40 = lean_ctor_get(x_38, 0);
-lean_inc(x_40);
-x_41 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_40);
-lean_dec(x_40);
-if (lean_obj_tag(x_41) == 2)
-{
-lean_object* x_42; lean_object* x_43; uint8_t x_44;
-x_42 = lean_ctor_get(x_41, 1);
-lean_inc(x_42);
-lean_dec(x_41);
-x_43 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__1;
-x_44 = lean_string_dec_eq(x_42, x_43);
-lean_dec(x_42);
-if (x_44 == 0)
-{
-lean_object* x_45; lean_object* x_46;
-x_45 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4;
-lean_inc(x_25);
-x_46 = l_Lean_Parser_ParserState_mkErrorsAt(x_38, x_45, x_25);
-x_26 = x_46;
-goto block_37;
-}
-else
-{
-x_26 = x_38;
-goto block_37;
-}
-}
-else
-{
-lean_object* x_47; lean_object* x_48;
-lean_dec(x_41);
-x_47 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4;
-lean_inc(x_25);
-x_48 = l_Lean_Parser_ParserState_mkErrorsAt(x_38, x_47, x_25);
-x_26 = x_48;
-goto block_37;
-}
-}
-else
-{
-lean_object* x_49; lean_object* x_50;
-lean_dec(x_39);
-x_49 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4;
-lean_inc(x_25);
-x_50 = l_Lean_Parser_ParserState_mkErrorsAt(x_38, x_49, x_25);
-x_26 = x_50;
-goto block_37;
-}
-block_37:
-{
-lean_object* x_27;
-x_27 = lean_ctor_get(x_26, 3);
-lean_inc(x_27);
-if (lean_obj_tag(x_27) == 0)
-{
-lean_object* x_28; lean_object* x_29;
-lean_dec(x_25);
-x_28 = l_Lean_nullKind;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_26, x_28, x_24);
-x_6 = x_29;
-goto block_18;
-}
-else
-{
-lean_object* x_30; uint8_t x_31;
-lean_dec(x_27);
-x_30 = lean_ctor_get(x_26, 1);
-lean_inc(x_30);
-x_31 = lean_nat_dec_eq(x_30, x_25);
-lean_dec(x_30);
-if (x_31 == 0)
-{
-lean_object* x_32; lean_object* x_33;
-lean_dec(x_25);
-x_32 = l_Lean_nullKind;
-x_33 = l_Lean_Parser_ParserState_mkNode(x_26, x_32, x_24);
-x_6 = x_33;
-goto block_18;
-}
-else
-{
-lean_object* x_34; lean_object* x_35; lean_object* x_36;
-x_34 = l_Lean_Parser_ParserState_restore(x_26, x_24, x_25);
-x_35 = l_Lean_nullKind;
-x_36 = l_Lean_Parser_ParserState_mkNode(x_34, x_35, x_24);
-x_6 = x_36;
-goto block_18;
-}
-}
-}
-}
-else
-{
-lean_dec(x_22);
-x_6 = x_21;
-goto block_18;
-}
-block_18:
-{
-lean_object* x_7; lean_object* x_8; lean_object* x_9;
-x_7 = l_Lean_nullKind;
-lean_inc(x_4);
-x_8 = l_Lean_Parser_ParserState_mkNode(x_6, x_7, x_4);
-x_9 = lean_ctor_get(x_8, 3);
-lean_inc(x_9);
-if (lean_obj_tag(x_9) == 0)
-{
-lean_object* x_10; uint8_t x_11;
-lean_dec(x_4);
-x_10 = lean_ctor_get(x_8, 1);
-lean_inc(x_10);
-x_11 = lean_nat_dec_eq(x_5, x_10);
-lean_dec(x_10);
-lean_dec(x_5);
-if (x_11 == 0)
-{
-x_2 = x_8;
-goto _start;
-}
-else
-{
-lean_object* x_13; lean_object* x_14;
-lean_dec(x_1);
-x_13 = l_Lean_Parser_manyAux___main___closed__1;
-x_14 = l_Lean_Parser_ParserState_mkUnexpectedError(x_8, x_13);
-return x_14;
-}
-}
-else
-{
-lean_object* x_15; uint8_t x_16;
-lean_dec(x_9);
-lean_dec(x_1);
-x_15 = lean_ctor_get(x_8, 1);
-lean_inc(x_15);
-x_16 = lean_nat_dec_eq(x_5, x_15);
-lean_dec(x_15);
-if (x_16 == 0)
-{
-lean_dec(x_5);
-lean_dec(x_4);
-return x_8;
-}
-else
-{
-lean_object* x_17;
-x_17 = l_Lean_Parser_ParserState_restore(x_8, x_4, x_5);
-lean_dec(x_4);
-return x_17;
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__1() {
_start:
{
@@ -6218,72 +5688,126 @@ static lean_object* _init_l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1__
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__28;
-x_2 = l_String_trim(x_1);
+x_1 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__11;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_manyFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__8() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__28;
+x_2 = l_String_trim(x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__8;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__10() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__14() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Char_HasRepr___closed__1;
x_2 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__5;
x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__11() {
+static lean_object* _init_l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__15() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__10;
+x_1 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__14;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12() {
+static lean_object* _init_l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__16() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__11;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__8;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__17() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__16;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -6307,168 +5831,59 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_46; lean_object* x_47; lean_object* x_48;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_46 = lean_ctor_get(x_7, 1);
-lean_inc(x_46);
+x_11 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__5;
+x_12 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__15;
lean_inc(x_1);
-x_47 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_48 = lean_ctor_get(x_47, 3);
-lean_inc(x_48);
-if (lean_obj_tag(x_48) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_49; lean_object* x_50;
-x_49 = lean_ctor_get(x_47, 0);
-lean_inc(x_49);
-x_50 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_49);
-lean_dec(x_49);
-if (lean_obj_tag(x_50) == 2)
-{
-lean_object* x_51; lean_object* x_52; uint8_t x_53;
-x_51 = lean_ctor_get(x_50, 1);
-lean_inc(x_51);
-lean_dec(x_50);
-x_52 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__5;
-x_53 = lean_string_dec_eq(x_51, x_52);
-lean_dec(x_51);
-if (x_53 == 0)
-{
-lean_object* x_54; lean_object* x_55;
-x_54 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12;
-x_55 = l_Lean_Parser_ParserState_mkErrorsAt(x_47, x_54, x_46);
-x_11 = x_55;
-goto block_45;
-}
-else
-{
-lean_dec(x_46);
-x_11 = x_47;
-goto block_45;
-}
-}
-else
-{
-lean_object* x_56; lean_object* x_57;
-lean_dec(x_50);
-x_56 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12;
-x_57 = l_Lean_Parser_ParserState_mkErrorsAt(x_47, x_56, x_46);
-x_11 = x_57;
-goto block_45;
-}
-}
-else
-{
-lean_object* x_58; lean_object* x_59;
-lean_dec(x_48);
-x_58 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12;
-x_59 = l_Lean_Parser_ParserState_mkErrorsAt(x_47, x_58, x_46);
-x_11 = x_59;
-goto block_45;
-}
-block_45:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
-x_13 = lean_ctor_get(x_11, 0);
-lean_inc(x_13);
-x_14 = lean_array_get_size(x_13);
-lean_dec(x_13);
+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;
+x_15 = lean_ctor_get(x_13, 0);
+lean_inc(x_15);
+x_16 = lean_array_get_size(x_15);
+lean_dec(x_15);
+x_17 = l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__11;
lean_inc(x_1);
-x_15 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___spec__1(x_1, x_11);
-x_16 = l_Lean_nullKind;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_14);
-x_18 = lean_ctor_get(x_17, 3);
-lean_inc(x_18);
-if (lean_obj_tag(x_18) == 0)
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21;
-x_19 = lean_ctor_get(x_17, 1);
-lean_inc(x_19);
-x_20 = l_Lean_Parser_tokenFn(x_1, x_17);
+x_18 = l_Lean_Parser_manyAux(x_17, x_1, x_13);
+x_19 = l_Lean_nullKind;
+x_20 = l_Lean_Parser_ParserState_mkNode(x_18, x_19, x_16);
x_21 = lean_ctor_get(x_20, 3);
lean_inc(x_21);
if (lean_obj_tag(x_21) == 0)
{
-lean_object* x_22; lean_object* x_23;
-x_22 = lean_ctor_get(x_20, 0);
-lean_inc(x_22);
-x_23 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_22);
-lean_dec(x_22);
-if (lean_obj_tag(x_23) == 2)
-{
-lean_object* x_24; lean_object* x_25; uint8_t x_26;
-x_24 = lean_ctor_get(x_23, 1);
-lean_inc(x_24);
-lean_dec(x_23);
-x_25 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__6;
-x_26 = lean_string_dec_eq(x_24, x_25);
-lean_dec(x_24);
-if (x_26 == 0)
-{
-lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30;
-x_27 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
-x_28 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_27, x_19);
-x_29 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__2;
-x_30 = l_Lean_Parser_ParserState_mkNode(x_28, x_29, x_10);
-return x_30;
+lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26;
+x_22 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__8;
+x_23 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__17;
+x_24 = l_Lean_Parser_symbolFnAux(x_22, x_23, x_1, x_20);
+x_25 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__2;
+x_26 = l_Lean_Parser_ParserState_mkNode(x_24, x_25, x_10);
+return x_26;
}
else
{
-lean_object* x_31; lean_object* x_32;
-lean_dec(x_19);
-x_31 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__2;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_20, x_31, x_10);
-return x_32;
-}
-}
-else
-{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36;
-lean_dec(x_23);
-x_33 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_33, x_19);
-x_35 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__2;
-x_36 = l_Lean_Parser_ParserState_mkNode(x_34, x_35, x_10);
-return x_36;
-}
-}
-else
-{
-lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40;
+lean_object* x_27; lean_object* x_28;
lean_dec(x_21);
-x_37 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
-x_38 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_37, x_19);
-x_39 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__2;
-x_40 = l_Lean_Parser_ParserState_mkNode(x_38, x_39, x_10);
-return x_40;
+lean_dec(x_1);
+x_27 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__2;
+x_28 = l_Lean_Parser_ParserState_mkNode(x_20, x_27, x_10);
+return x_28;
}
}
else
{
-lean_object* x_41; lean_object* x_42;
-lean_dec(x_18);
+lean_object* x_29; lean_object* x_30;
+lean_dec(x_14);
lean_dec(x_1);
-x_41 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__2;
-x_42 = l_Lean_Parser_ParserState_mkNode(x_17, x_41, x_10);
-return x_42;
-}
-}
-else
-{
-lean_object* x_43; lean_object* x_44;
-lean_dec(x_12);
-lean_dec(x_1);
-x_43 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__2;
-x_44 = l_Lean_Parser_ParserState_mkNode(x_11, x_43, x_10);
-return x_44;
-}
+x_29 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__2;
+x_30 = l_Lean_Parser_ParserState_mkNode(x_13, x_29, x_10);
+return x_30;
}
}
else
@@ -6480,248 +5895,11 @@ return x_7;
}
else
{
-lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64;
-x_60 = lean_ctor_get(x_2, 0);
-lean_inc(x_60);
-x_61 = lean_array_get_size(x_60);
-lean_dec(x_60);
-x_62 = lean_ctor_get(x_2, 1);
-lean_inc(x_62);
-lean_inc(x_1);
-x_63 = lean_apply_2(x_4, x_1, x_2);
-x_64 = lean_ctor_get(x_63, 3);
-lean_inc(x_64);
-if (lean_obj_tag(x_64) == 0)
-{
-lean_dec(x_62);
-lean_dec(x_61);
-lean_dec(x_1);
-return x_63;
-}
-else
-{
-lean_object* x_65; lean_object* x_66; uint8_t x_67;
-x_65 = lean_ctor_get(x_64, 0);
-lean_inc(x_65);
-lean_dec(x_64);
-x_66 = lean_ctor_get(x_63, 1);
-lean_inc(x_66);
-x_67 = lean_nat_dec_eq(x_66, x_62);
-lean_dec(x_66);
-if (x_67 == 0)
-{
-lean_dec(x_65);
-lean_dec(x_62);
-lean_dec(x_61);
-lean_dec(x_1);
-return x_63;
-}
-else
-{
-lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71;
-lean_inc(x_62);
-x_68 = l_Lean_Parser_ParserState_restore(x_63, x_61, x_62);
-lean_dec(x_61);
-x_69 = lean_unsigned_to_nat(1024u);
-x_70 = l_Lean_Parser_checkPrecFn(x_69, x_1, x_68);
-x_71 = lean_ctor_get(x_70, 3);
-lean_inc(x_71);
-if (lean_obj_tag(x_71) == 0)
-{
-lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_121; lean_object* x_122; lean_object* x_123;
-x_72 = lean_ctor_get(x_70, 0);
-lean_inc(x_72);
-x_73 = lean_array_get_size(x_72);
-lean_dec(x_72);
-x_121 = lean_ctor_get(x_70, 1);
-lean_inc(x_121);
-lean_inc(x_1);
-x_122 = l_Lean_Parser_tokenFn(x_1, x_70);
-x_123 = lean_ctor_get(x_122, 3);
-lean_inc(x_123);
-if (lean_obj_tag(x_123) == 0)
-{
-lean_object* x_124; lean_object* x_125;
-x_124 = lean_ctor_get(x_122, 0);
-lean_inc(x_124);
-x_125 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_124);
-lean_dec(x_124);
-if (lean_obj_tag(x_125) == 2)
-{
-lean_object* x_126; lean_object* x_127; uint8_t x_128;
-x_126 = lean_ctor_get(x_125, 1);
-lean_inc(x_126);
-lean_dec(x_125);
-x_127 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__5;
-x_128 = lean_string_dec_eq(x_126, x_127);
-lean_dec(x_126);
-if (x_128 == 0)
-{
-lean_object* x_129; lean_object* x_130;
-x_129 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12;
-x_130 = l_Lean_Parser_ParserState_mkErrorsAt(x_122, x_129, x_121);
-x_74 = x_130;
-goto block_120;
-}
-else
-{
-lean_dec(x_121);
-x_74 = x_122;
-goto block_120;
-}
-}
-else
-{
-lean_object* x_131; lean_object* x_132;
-lean_dec(x_125);
-x_131 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12;
-x_132 = l_Lean_Parser_ParserState_mkErrorsAt(x_122, x_131, x_121);
-x_74 = x_132;
-goto block_120;
-}
-}
-else
-{
-lean_object* x_133; lean_object* x_134;
-lean_dec(x_123);
-x_133 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12;
-x_134 = l_Lean_Parser_ParserState_mkErrorsAt(x_122, x_133, x_121);
-x_74 = x_134;
-goto block_120;
-}
-block_120:
-{
-lean_object* x_75;
-x_75 = lean_ctor_get(x_74, 3);
-lean_inc(x_75);
-if (lean_obj_tag(x_75) == 0)
-{
-lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81;
-x_76 = lean_ctor_get(x_74, 0);
-lean_inc(x_76);
-x_77 = lean_array_get_size(x_76);
-lean_dec(x_76);
-lean_inc(x_1);
-x_78 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___spec__1(x_1, x_74);
-x_79 = l_Lean_nullKind;
-x_80 = l_Lean_Parser_ParserState_mkNode(x_78, x_79, x_77);
-x_81 = lean_ctor_get(x_80, 3);
-lean_inc(x_81);
-if (lean_obj_tag(x_81) == 0)
-{
-lean_object* x_82; lean_object* x_83; lean_object* x_84;
-x_82 = lean_ctor_get(x_80, 1);
-lean_inc(x_82);
-x_83 = l_Lean_Parser_tokenFn(x_1, x_80);
-x_84 = lean_ctor_get(x_83, 3);
-lean_inc(x_84);
-if (lean_obj_tag(x_84) == 0)
-{
-lean_object* x_85; lean_object* x_86;
-x_85 = lean_ctor_get(x_83, 0);
-lean_inc(x_85);
-x_86 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_85);
-lean_dec(x_85);
-if (lean_obj_tag(x_86) == 2)
-{
-lean_object* x_87; lean_object* x_88; uint8_t x_89;
-x_87 = lean_ctor_get(x_86, 1);
-lean_inc(x_87);
-lean_dec(x_86);
-x_88 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__6;
-x_89 = lean_string_dec_eq(x_87, x_88);
-lean_dec(x_87);
-if (x_89 == 0)
-{
-lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; uint8_t x_94; lean_object* x_95;
-x_90 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
-x_91 = l_Lean_Parser_ParserState_mkErrorsAt(x_83, x_90, x_82);
-x_92 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__2;
-x_93 = l_Lean_Parser_ParserState_mkNode(x_91, x_92, x_73);
-x_94 = 1;
-x_95 = l_Lean_Parser_mergeOrElseErrors(x_93, x_65, x_62, x_94);
-lean_dec(x_62);
-return x_95;
-}
-else
-{
-lean_object* x_96; lean_object* x_97; uint8_t x_98; lean_object* x_99;
-lean_dec(x_82);
-x_96 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__2;
-x_97 = l_Lean_Parser_ParserState_mkNode(x_83, x_96, x_73);
-x_98 = 1;
-x_99 = l_Lean_Parser_mergeOrElseErrors(x_97, x_65, x_62, x_98);
-lean_dec(x_62);
-return x_99;
-}
-}
-else
-{
-lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; uint8_t x_104; lean_object* x_105;
-lean_dec(x_86);
-x_100 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
-x_101 = l_Lean_Parser_ParserState_mkErrorsAt(x_83, x_100, x_82);
-x_102 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__2;
-x_103 = l_Lean_Parser_ParserState_mkNode(x_101, x_102, x_73);
-x_104 = 1;
-x_105 = l_Lean_Parser_mergeOrElseErrors(x_103, x_65, x_62, x_104);
-lean_dec(x_62);
-return x_105;
-}
-}
-else
-{
-lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; uint8_t x_110; lean_object* x_111;
-lean_dec(x_84);
-x_106 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
-x_107 = l_Lean_Parser_ParserState_mkErrorsAt(x_83, x_106, x_82);
-x_108 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__2;
-x_109 = l_Lean_Parser_ParserState_mkNode(x_107, x_108, x_73);
-x_110 = 1;
-x_111 = l_Lean_Parser_mergeOrElseErrors(x_109, x_65, x_62, x_110);
-lean_dec(x_62);
-return x_111;
-}
-}
-else
-{
-lean_object* x_112; lean_object* x_113; uint8_t x_114; lean_object* x_115;
-lean_dec(x_81);
-lean_dec(x_1);
-x_112 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__2;
-x_113 = l_Lean_Parser_ParserState_mkNode(x_80, x_112, x_73);
-x_114 = 1;
-x_115 = l_Lean_Parser_mergeOrElseErrors(x_113, x_65, x_62, x_114);
-lean_dec(x_62);
-return x_115;
-}
-}
-else
-{
-lean_object* x_116; lean_object* x_117; uint8_t x_118; lean_object* x_119;
-lean_dec(x_75);
-lean_dec(x_1);
-x_116 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__2;
-x_117 = l_Lean_Parser_ParserState_mkNode(x_74, x_116, x_73);
-x_118 = 1;
-x_119 = l_Lean_Parser_mergeOrElseErrors(x_117, x_65, x_62, x_118);
-lean_dec(x_62);
-return x_119;
-}
-}
-}
-else
-{
-uint8_t x_135; lean_object* x_136;
-lean_dec(x_71);
-lean_dec(x_1);
-x_135 = 1;
-x_136 = l_Lean_Parser_mergeOrElseErrors(x_70, x_65, x_62, x_135);
-lean_dec(x_62);
-return x_136;
-}
-}
-}
+lean_object* x_31; uint8_t x_32; lean_object* x_33;
+x_31 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__13;
+x_32 = 1;
+x_33 = l_Lean_Parser_orelseFnCore(x_4, x_31, x_32, x_1, x_2);
+return x_33;
}
}
}
@@ -6747,7 +5925,7 @@ static lean_object* _init_l_Lean_Parser_Tactic_tacticSeqBracketed___closed__3()
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__6;
+x_1 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__8;
x_2 = l_Lean_Parser_symbolInfo(x_1);
return x_2;
}
@@ -6907,7 +6085,7 @@ x_1 = l_Lean_Parser_Tactic_tacticSeq___closed__6;
return x_1;
}
}
-static lean_object* _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_seq1___elambda__1___spec__2___closed__1() {
+static lean_object* _init_l_Lean_Parser_Tactic_seq1___elambda__1___closed__1() {
_start:
{
lean_object* x_1;
@@ -6915,235 +6093,47 @@ x_1 = lean_mk_string(";\n");
return x_1;
}
}
-static lean_object* _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_seq1___elambda__1___spec__2___closed__2() {
+static lean_object* _init_l_Lean_Parser_Tactic_seq1___elambda__1___closed__2() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_seq1___elambda__1___spec__2___closed__1;
+x_1 = l_Lean_Parser_Tactic_seq1___elambda__1___closed__1;
x_2 = l_String_trim(x_1);
return x_2;
}
}
-static lean_object* _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_seq1___elambda__1___spec__2___closed__3() {
+static lean_object* _init_l_Lean_Parser_Tactic_seq1___elambda__1___closed__3() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_seq1___elambda__1___spec__2___closed__2;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
-}
-}
-static lean_object* _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_seq1___elambda__1___spec__2___closed__4() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_seq1___elambda__1___spec__2___closed__3;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
-}
-}
-static lean_object* _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_seq1___elambda__1___spec__2___closed__5() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_seq1___elambda__1___spec__2___closed__4;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
-}
-}
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_seq1___elambda__1___spec__2(uint8_t x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5) {
-_start:
-{
-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;
-x_6 = lean_ctor_get(x_5, 0);
-lean_inc(x_6);
-x_7 = lean_array_get_size(x_6);
-lean_dec(x_6);
-x_8 = lean_ctor_get(x_5, 1);
-lean_inc(x_8);
-x_9 = l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___closed__2;
-x_10 = lean_unsigned_to_nat(0u);
-lean_inc(x_4);
-x_11 = l_Lean_Parser_categoryParser___elambda__1(x_9, x_10, x_4, x_5);
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_23; lean_object* x_24;
-lean_dec(x_8);
-lean_dec(x_7);
-x_13 = lean_ctor_get(x_11, 0);
-lean_inc(x_13);
-x_14 = lean_array_get_size(x_13);
-lean_dec(x_13);
-x_15 = lean_ctor_get(x_11, 1);
-lean_inc(x_15);
-lean_inc(x_4);
-x_23 = l_Lean_Parser_tokenFn(x_4, x_11);
-x_24 = lean_ctor_get(x_23, 3);
-lean_inc(x_24);
-if (lean_obj_tag(x_24) == 0)
-{
-lean_object* x_25; lean_object* x_26;
-x_25 = lean_ctor_get(x_23, 0);
-lean_inc(x_25);
-x_26 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_25);
-lean_dec(x_25);
-if (lean_obj_tag(x_26) == 2)
-{
-lean_object* x_27; lean_object* x_28; uint8_t x_29;
-x_27 = lean_ctor_get(x_26, 1);
-lean_inc(x_27);
-lean_dec(x_26);
-x_28 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_seq1___elambda__1___spec__2___closed__2;
-x_29 = lean_string_dec_eq(x_27, x_28);
-lean_dec(x_27);
-if (x_29 == 0)
-{
-lean_object* x_30; lean_object* x_31;
-x_30 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_seq1___elambda__1___spec__2___closed__5;
-lean_inc(x_15);
-x_31 = l_Lean_Parser_ParserState_mkErrorsAt(x_23, x_30, x_15);
-x_16 = x_31;
-goto block_22;
-}
-else
-{
-x_16 = x_23;
-goto block_22;
-}
-}
-else
-{
-lean_object* x_32; lean_object* x_33;
-lean_dec(x_26);
-x_32 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_seq1___elambda__1___spec__2___closed__5;
-lean_inc(x_15);
-x_33 = l_Lean_Parser_ParserState_mkErrorsAt(x_23, x_32, x_15);
-x_16 = x_33;
-goto block_22;
-}
-}
-else
-{
-lean_object* x_34; lean_object* x_35;
-lean_dec(x_24);
-x_34 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_seq1___elambda__1___spec__2___closed__5;
-lean_inc(x_15);
-x_35 = l_Lean_Parser_ParserState_mkErrorsAt(x_23, x_34, x_15);
-x_16 = x_35;
-goto block_22;
-}
-block_22:
-{
-lean_object* x_17;
-x_17 = lean_ctor_get(x_16, 3);
-lean_inc(x_17);
-if (lean_obj_tag(x_17) == 0)
-{
-lean_dec(x_15);
-lean_dec(x_14);
-{
-uint8_t _tmp_2 = x_1;
-lean_object* _tmp_4 = x_16;
-x_3 = _tmp_2;
-x_5 = _tmp_4;
-}
-goto _start;
-}
-else
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21;
-lean_dec(x_17);
-lean_dec(x_4);
-x_19 = l_Lean_Parser_ParserState_restore(x_16, x_14, x_15);
-lean_dec(x_14);
-x_20 = l_Lean_nullKind;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_2);
-return x_21;
-}
-}
-}
-else
-{
-lean_object* x_36; uint8_t x_37;
-lean_dec(x_12);
-lean_dec(x_4);
-x_36 = lean_ctor_get(x_11, 1);
-lean_inc(x_36);
-x_37 = lean_nat_dec_lt(x_8, x_36);
-lean_dec(x_36);
-if (x_37 == 0)
-{
-if (x_3 == 0)
-{
-lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41;
-lean_dec(x_8);
-lean_dec(x_7);
-x_38 = lean_box(0);
-x_39 = l_Lean_Parser_ParserState_pushSyntax(x_11, x_38);
-x_40 = l_Lean_nullKind;
-x_41 = l_Lean_Parser_ParserState_mkNode(x_39, x_40, x_2);
-return x_41;
-}
-else
-{
-lean_object* x_42; lean_object* x_43; lean_object* x_44;
-x_42 = l_Lean_Parser_ParserState_restore(x_11, x_7, x_8);
-lean_dec(x_7);
-x_43 = l_Lean_nullKind;
-x_44 = l_Lean_Parser_ParserState_mkNode(x_42, x_43, x_2);
-return x_44;
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_2);
-return x_11;
-}
-}
-}
-}
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Tactic_seq1___elambda__1___spec__1(uint8_t x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
-x_4 = lean_ctor_get(x_3, 0);
-lean_inc(x_4);
-x_5 = lean_array_get_size(x_4);
-lean_dec(x_4);
-x_6 = 0;
-x_7 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_seq1___elambda__1___spec__2(x_1, x_5, x_6, x_2, x_3);
-return x_7;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Tactic_seq1___elambda__1___closed__2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
lean_object* l_Lean_Parser_Tactic_seq1___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; uint8_t x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8;
+lean_object* x_3; lean_object* x_4; uint8_t x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10;
x_3 = lean_ctor_get(x_2, 0);
lean_inc(x_3);
x_4 = lean_array_get_size(x_3);
lean_dec(x_3);
x_5 = 1;
-x_6 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Tactic_seq1___elambda__1___spec__1(x_5, x_1, x_2);
-x_7 = l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___lambda__1___closed__5;
-x_8 = l_Lean_Parser_ParserState_mkNode(x_6, x_7, x_4);
-return x_8;
+x_6 = l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__9;
+x_7 = l_Lean_Parser_Tactic_seq1___elambda__1___closed__3;
+x_8 = l_Lean_Parser_sepBy1Fn(x_5, x_6, x_7, x_1, x_2);
+x_9 = l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___lambda__1___closed__5;
+x_10 = l_Lean_Parser_ParserState_mkNode(x_8, x_9, x_4);
+return x_10;
}
}
static lean_object* _init_l_Lean_Parser_Tactic_seq1___closed__1() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_seq1___elambda__1___spec__2___closed__2;
+x_1 = l_Lean_Parser_Tactic_seq1___elambda__1___closed__2;
x_2 = l_Lean_Parser_symbolInfo(x_1);
return x_2;
}
@@ -7198,28 +6188,6 @@ x_1 = l_Lean_Parser_Tactic_seq1___closed__5;
return x_1;
}
}
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_seq1___elambda__1___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
-_start:
-{
-uint8_t x_6; uint8_t x_7; lean_object* x_8;
-x_6 = lean_unbox(x_1);
-lean_dec(x_1);
-x_7 = lean_unbox(x_3);
-lean_dec(x_3);
-x_8 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_seq1___elambda__1___spec__2(x_6, x_2, x_7, x_4, x_5);
-return x_8;
-}
-}
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Tactic_seq1___elambda__1___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-uint8_t x_4; lean_object* x_5;
-x_4 = lean_unbox(x_1);
-lean_dec(x_1);
-x_5 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Tactic_seq1___elambda__1___spec__1(x_4, x_2, x_3);
-return x_5;
-}
-}
static lean_object* _init_l_Lean_Parser_darrow___elambda__1___closed__1() {
_start:
{
@@ -7257,73 +6225,14 @@ x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_darrow___elambda__1___closed__5() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_darrow___elambda__1___closed__4;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
-}
-}
lean_object* l_Lean_Parser_darrow___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3; lean_object* x_4; lean_object* x_5;
-x_3 = lean_ctor_get(x_2, 1);
-lean_inc(x_3);
-x_4 = l_Lean_Parser_tokenFn(x_1, x_2);
-x_5 = lean_ctor_get(x_4, 3);
-lean_inc(x_5);
-if (lean_obj_tag(x_5) == 0)
-{
-lean_object* x_6; lean_object* x_7;
-x_6 = lean_ctor_get(x_4, 0);
-lean_inc(x_6);
-x_7 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_6);
-lean_dec(x_6);
-if (lean_obj_tag(x_7) == 2)
-{
-lean_object* x_8; lean_object* x_9; uint8_t x_10;
-x_8 = lean_ctor_get(x_7, 1);
-lean_inc(x_8);
-lean_dec(x_7);
-x_9 = l_Lean_Parser_darrow___elambda__1___closed__2;
-x_10 = lean_string_dec_eq(x_8, x_9);
-lean_dec(x_8);
-if (x_10 == 0)
-{
-lean_object* x_11; lean_object* x_12;
-x_11 = l_Lean_Parser_darrow___elambda__1___closed__5;
-x_12 = l_Lean_Parser_ParserState_mkErrorsAt(x_4, x_11, x_3);
-return x_12;
-}
-else
-{
-lean_dec(x_3);
-return x_4;
-}
-}
-else
-{
-lean_object* x_13; lean_object* x_14;
-lean_dec(x_7);
-x_13 = l_Lean_Parser_darrow___elambda__1___closed__5;
-x_14 = l_Lean_Parser_ParserState_mkErrorsAt(x_4, x_13, x_3);
-return x_14;
-}
-}
-else
-{
-lean_object* x_15; lean_object* x_16;
-lean_dec(x_5);
-x_15 = l_Lean_Parser_darrow___elambda__1___closed__5;
-x_16 = l_Lean_Parser_ParserState_mkErrorsAt(x_4, x_15, x_3);
-return x_16;
-}
+x_3 = l_Lean_Parser_darrow___elambda__1___closed__2;
+x_4 = l_Lean_Parser_darrow___elambda__1___closed__4;
+x_5 = l_Lean_Parser_symbolFnAux(x_3, x_4, x_1, x_2);
+return x_5;
}
}
static lean_object* _init_l_Lean_Parser_darrow___closed__1() {
@@ -7708,6 +6617,64 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_byTactic___elambda__1___closed__7() {
_start:
{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_byTactic___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_byTactic___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
+x_1 = l_Lean_Parser_Tactic_tacticSeq;
+x_2 = lean_ctor_get(x_1, 1);
+lean_inc(x_2);
+x_3 = l_Lean_Parser_Term_byTactic___elambda__1___closed__7;
+x_4 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_4, 0, x_3);
+lean_closure_set(x_4, 1, x_2);
+return x_4;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_byTactic___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_leadPrec;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_checkPrecFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_byTactic___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_byTactic___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_byTactic___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_byTactic___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_byTactic___elambda__1___closed__9;
+x_2 = l_Lean_Parser_Term_byTactic___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_byTactic___elambda__1___closed__12() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Char_HasRepr___closed__1;
x_2 = l_Lean_Parser_Term_byTactic___elambda__1___closed__6;
@@ -7715,28 +6682,16 @@ x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Term_byTactic___elambda__1___closed__8() {
+static lean_object* _init_l_Lean_Parser_Term_byTactic___elambda__1___closed__13() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_byTactic___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Term_byTactic___elambda__1___closed__12;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Term_byTactic___elambda__1___closed__9() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Term_byTactic___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
-}
-}
lean_object* l_Lean_Parser_Term_byTactic___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -7760,90 +6715,34 @@ x_10 = lean_ctor_get(x_9, 3);
lean_inc(x_10);
if (lean_obj_tag(x_10) == 0)
{
-lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_21; lean_object* x_22; lean_object* x_23;
+lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
x_11 = lean_ctor_get(x_9, 0);
lean_inc(x_11);
x_12 = lean_array_get_size(x_11);
lean_dec(x_11);
-x_21 = lean_ctor_get(x_9, 1);
-lean_inc(x_21);
+x_13 = l_Lean_Parser_Term_byTactic___elambda__1___closed__6;
+x_14 = l_Lean_Parser_Term_byTactic___elambda__1___closed__13;
lean_inc(x_1);
-x_22 = l_Lean_Parser_tokenFn(x_1, x_9);
-x_23 = lean_ctor_get(x_22, 3);
-lean_inc(x_23);
-if (lean_obj_tag(x_23) == 0)
+x_15 = l_Lean_Parser_symbolFnAux(x_13, x_14, x_1, x_9);
+x_16 = lean_ctor_get(x_15, 3);
+lean_inc(x_16);
+if (lean_obj_tag(x_16) == 0)
{
-lean_object* x_24; lean_object* x_25;
-x_24 = lean_ctor_get(x_22, 0);
-lean_inc(x_24);
-x_25 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_24);
-lean_dec(x_24);
-if (lean_obj_tag(x_25) == 2)
-{
-lean_object* x_26; lean_object* x_27; uint8_t x_28;
-x_26 = lean_ctor_get(x_25, 1);
-lean_inc(x_26);
-lean_dec(x_25);
-x_27 = l_Lean_Parser_Term_byTactic___elambda__1___closed__6;
-x_28 = lean_string_dec_eq(x_26, x_27);
-lean_dec(x_26);
-if (x_28 == 0)
-{
-lean_object* x_29; lean_object* x_30;
-x_29 = l_Lean_Parser_Term_byTactic___elambda__1___closed__9;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_29, x_21);
-x_13 = x_30;
-goto block_20;
-}
-else
-{
-lean_dec(x_21);
-x_13 = x_22;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32;
-lean_dec(x_25);
-x_31 = l_Lean_Parser_Term_byTactic___elambda__1___closed__9;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_31, x_21);
-x_13 = x_32;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_33; lean_object* x_34;
-lean_dec(x_23);
-x_33 = l_Lean_Parser_Term_byTactic___elambda__1___closed__9;
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_33, x_21);
-x_13 = x_34;
-goto block_20;
-}
-block_20:
-{
-lean_object* x_14;
-x_14 = lean_ctor_get(x_13, 3);
-lean_inc(x_14);
-if (lean_obj_tag(x_14) == 0)
-{
-lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_15 = lean_apply_2(x_4, x_1, x_13);
-x_16 = l_Lean_Parser_Term_byTactic___elambda__1___closed__2;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_12);
-return x_17;
-}
-else
-{
-lean_object* x_18; lean_object* x_19;
-lean_dec(x_14);
-lean_dec(x_4);
-lean_dec(x_1);
+lean_object* x_17; lean_object* x_18; lean_object* x_19;
+x_17 = lean_apply_2(x_4, x_1, x_15);
x_18 = l_Lean_Parser_Term_byTactic___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_13, x_18, x_12);
+x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_12);
return x_19;
}
+else
+{
+lean_object* x_20; lean_object* x_21;
+lean_dec(x_16);
+lean_dec(x_4);
+lean_dec(x_1);
+x_20 = l_Lean_Parser_Term_byTactic___elambda__1___closed__2;
+x_21 = l_Lean_Parser_ParserState_mkNode(x_15, x_20, x_12);
+return x_21;
}
}
else
@@ -7856,161 +6755,12 @@ return x_9;
}
else
{
-lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_35 = lean_ctor_get(x_2, 0);
-lean_inc(x_35);
-x_36 = lean_array_get_size(x_35);
-lean_dec(x_35);
-x_37 = lean_ctor_get(x_2, 1);
-lean_inc(x_37);
-lean_inc(x_1);
-x_38 = lean_apply_2(x_6, x_1, x_2);
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_dec(x_37);
-lean_dec(x_36);
+lean_object* x_22; uint8_t x_23; lean_object* x_24;
lean_dec(x_4);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_40; lean_object* x_41; uint8_t x_42;
-x_40 = lean_ctor_get(x_39, 0);
-lean_inc(x_40);
-lean_dec(x_39);
-x_41 = lean_ctor_get(x_38, 1);
-lean_inc(x_41);
-x_42 = lean_nat_dec_eq(x_41, x_37);
-lean_dec(x_41);
-if (x_42 == 0)
-{
-lean_dec(x_40);
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46;
-lean_inc(x_37);
-x_43 = l_Lean_Parser_ParserState_restore(x_38, x_36, x_37);
-lean_dec(x_36);
-x_44 = l_Lean_Parser_leadPrec;
-x_45 = l_Lean_Parser_checkPrecFn(x_44, x_1, x_43);
-x_46 = lean_ctor_get(x_45, 3);
-lean_inc(x_46);
-if (lean_obj_tag(x_46) == 0)
-{
-lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_61; lean_object* x_62; lean_object* x_63;
-x_47 = lean_ctor_get(x_45, 0);
-lean_inc(x_47);
-x_48 = lean_array_get_size(x_47);
-lean_dec(x_47);
-x_61 = lean_ctor_get(x_45, 1);
-lean_inc(x_61);
-lean_inc(x_1);
-x_62 = l_Lean_Parser_tokenFn(x_1, x_45);
-x_63 = lean_ctor_get(x_62, 3);
-lean_inc(x_63);
-if (lean_obj_tag(x_63) == 0)
-{
-lean_object* x_64; lean_object* x_65;
-x_64 = lean_ctor_get(x_62, 0);
-lean_inc(x_64);
-x_65 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_64);
-lean_dec(x_64);
-if (lean_obj_tag(x_65) == 2)
-{
-lean_object* x_66; lean_object* x_67; uint8_t x_68;
-x_66 = lean_ctor_get(x_65, 1);
-lean_inc(x_66);
-lean_dec(x_65);
-x_67 = l_Lean_Parser_Term_byTactic___elambda__1___closed__6;
-x_68 = lean_string_dec_eq(x_66, x_67);
-lean_dec(x_66);
-if (x_68 == 0)
-{
-lean_object* x_69; lean_object* x_70;
-x_69 = l_Lean_Parser_Term_byTactic___elambda__1___closed__9;
-x_70 = l_Lean_Parser_ParserState_mkErrorsAt(x_62, x_69, x_61);
-x_49 = x_70;
-goto block_60;
-}
-else
-{
-lean_dec(x_61);
-x_49 = x_62;
-goto block_60;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72;
-lean_dec(x_65);
-x_71 = l_Lean_Parser_Term_byTactic___elambda__1___closed__9;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_62, x_71, x_61);
-x_49 = x_72;
-goto block_60;
-}
-}
-else
-{
-lean_object* x_73; lean_object* x_74;
-lean_dec(x_63);
-x_73 = l_Lean_Parser_Term_byTactic___elambda__1___closed__9;
-x_74 = l_Lean_Parser_ParserState_mkErrorsAt(x_62, x_73, x_61);
-x_49 = x_74;
-goto block_60;
-}
-block_60:
-{
-lean_object* x_50;
-x_50 = lean_ctor_get(x_49, 3);
-lean_inc(x_50);
-if (lean_obj_tag(x_50) == 0)
-{
-lean_object* x_51; lean_object* x_52; lean_object* x_53; uint8_t x_54; lean_object* x_55;
-x_51 = lean_apply_2(x_4, x_1, x_49);
-x_52 = l_Lean_Parser_Term_byTactic___elambda__1___closed__2;
-x_53 = l_Lean_Parser_ParserState_mkNode(x_51, x_52, x_48);
-x_54 = 1;
-x_55 = l_Lean_Parser_mergeOrElseErrors(x_53, x_40, x_37, x_54);
-lean_dec(x_37);
-return x_55;
-}
-else
-{
-lean_object* x_56; lean_object* x_57; uint8_t x_58; lean_object* x_59;
-lean_dec(x_50);
-lean_dec(x_4);
-lean_dec(x_1);
-x_56 = l_Lean_Parser_Term_byTactic___elambda__1___closed__2;
-x_57 = l_Lean_Parser_ParserState_mkNode(x_49, x_56, x_48);
-x_58 = 1;
-x_59 = l_Lean_Parser_mergeOrElseErrors(x_57, x_40, x_37, x_58);
-lean_dec(x_37);
-return x_59;
-}
-}
-}
-else
-{
-uint8_t x_75; lean_object* x_76;
-lean_dec(x_46);
-lean_dec(x_4);
-lean_dec(x_1);
-x_75 = 1;
-x_76 = l_Lean_Parser_mergeOrElseErrors(x_45, x_40, x_37, x_75);
-lean_dec(x_37);
-return x_76;
-}
-}
-}
+x_22 = l_Lean_Parser_Term_byTactic___elambda__1___closed__11;
+x_23 = 1;
+x_24 = l_Lean_Parser_orelseFnCore(x_6, x_22, x_23, x_1, x_2);
+return x_24;
}
}
}
@@ -8763,149 +7513,24 @@ return x_5;
lean_object* l_Lean_Parser_Term_optSemicolon___elambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
-lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_25; lean_object* x_26;
-x_4 = lean_ctor_get(x_3, 0);
-lean_inc(x_4);
-x_5 = lean_array_get_size(x_4);
-lean_dec(x_4);
-x_6 = lean_ctor_get(x_3, 1);
-lean_inc(x_6);
+lean_object* x_4; lean_object* x_5; lean_object* x_6;
+x_4 = l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__6;
lean_inc(x_2);
-x_25 = l_Lean_Parser_tokenFn(x_2, x_3);
-x_26 = lean_ctor_get(x_25, 3);
-lean_inc(x_26);
-if (lean_obj_tag(x_26) == 0)
-{
-lean_object* x_27; lean_object* x_28;
-x_27 = lean_ctor_get(x_25, 0);
-lean_inc(x_27);
-x_28 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_27);
-lean_dec(x_27);
-if (lean_obj_tag(x_28) == 2)
-{
-lean_object* x_29; lean_object* x_30; uint8_t x_31;
-x_29 = lean_ctor_get(x_28, 1);
-lean_inc(x_29);
-lean_dec(x_28);
-x_30 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__1;
-x_31 = lean_string_dec_eq(x_29, x_30);
-lean_dec(x_29);
-if (x_31 == 0)
-{
-lean_object* x_32; lean_object* x_33;
-x_32 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4;
+x_5 = l_Lean_Parser_optionalFn(x_4, x_2, x_3);
+x_6 = lean_ctor_get(x_5, 3);
lean_inc(x_6);
-x_33 = l_Lean_Parser_ParserState_mkErrorsAt(x_25, x_32, x_6);
-x_7 = x_33;
-goto block_24;
+if (lean_obj_tag(x_6) == 0)
+{
+lean_object* x_7;
+x_7 = lean_apply_2(x_1, x_2, x_5);
+return x_7;
}
else
{
-x_7 = x_25;
-goto block_24;
-}
-}
-else
-{
-lean_object* x_34; lean_object* x_35;
-lean_dec(x_28);
-x_34 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4;
-lean_inc(x_6);
-x_35 = l_Lean_Parser_ParserState_mkErrorsAt(x_25, x_34, x_6);
-x_7 = x_35;
-goto block_24;
-}
-}
-else
-{
-lean_object* x_36; lean_object* x_37;
-lean_dec(x_26);
-x_36 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4;
-lean_inc(x_6);
-x_37 = l_Lean_Parser_ParserState_mkErrorsAt(x_25, x_36, x_6);
-x_7 = x_37;
-goto block_24;
-}
-block_24:
-{
-lean_object* x_8;
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; lean_object* x_10; lean_object* x_11;
lean_dec(x_6);
-x_9 = l_Lean_nullKind;
-x_10 = l_Lean_Parser_ParserState_mkNode(x_7, x_9, x_5);
-x_11 = lean_ctor_get(x_10, 3);
-lean_inc(x_11);
-if (lean_obj_tag(x_11) == 0)
-{
-lean_object* x_12;
-x_12 = lean_apply_2(x_1, x_2, x_10);
-return x_12;
-}
-else
-{
-lean_dec(x_11);
lean_dec(x_2);
lean_dec(x_1);
-return x_10;
-}
-}
-else
-{
-lean_object* x_13; uint8_t x_14;
-lean_dec(x_8);
-x_13 = lean_ctor_get(x_7, 1);
-lean_inc(x_13);
-x_14 = lean_nat_dec_eq(x_13, x_6);
-lean_dec(x_13);
-if (x_14 == 0)
-{
-lean_object* x_15; lean_object* x_16; lean_object* x_17;
-lean_dec(x_6);
-x_15 = l_Lean_nullKind;
-x_16 = l_Lean_Parser_ParserState_mkNode(x_7, x_15, x_5);
-x_17 = lean_ctor_get(x_16, 3);
-lean_inc(x_17);
-if (lean_obj_tag(x_17) == 0)
-{
-lean_object* x_18;
-x_18 = lean_apply_2(x_1, x_2, x_16);
-return x_18;
-}
-else
-{
-lean_dec(x_17);
-lean_dec(x_2);
-lean_dec(x_1);
-return x_16;
-}
-}
-else
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
-x_19 = l_Lean_Parser_ParserState_restore(x_7, x_5, x_6);
-x_20 = l_Lean_nullKind;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_5);
-x_22 = lean_ctor_get(x_21, 3);
-lean_inc(x_22);
-if (lean_obj_tag(x_22) == 0)
-{
-lean_object* x_23;
-x_23 = lean_apply_2(x_1, x_2, x_21);
-return x_23;
-}
-else
-{
-lean_dec(x_22);
-lean_dec(x_2);
-lean_dec(x_1);
-return x_21;
-}
-}
-}
+return x_5;
}
}
}
@@ -9557,6 +8182,96 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_type___elambda__1___closed__7() {
_start:
{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_type___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_type___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_byTactic___elambda__1___closed__9;
+x_2 = l_Lean_Parser_Level_max___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_type___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_String_splitAux___main___closed__1;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_checkWsBefore___elambda__1___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_type___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_type___elambda__1___closed__9;
+x_2 = l_Lean_Parser_Term_type___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_type___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_type___elambda__1___closed__10;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optionalFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_type___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_type___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Term_type___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_type___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_type___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_type___elambda__1___closed__12;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_type___elambda__1___closed__14() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_type___elambda__1___closed__13;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_type___elambda__1___closed__15() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Char_HasRepr___closed__1;
x_2 = l_Lean_Parser_Term_type___elambda__1___closed__6;
@@ -9564,28 +8279,16 @@ x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Term_type___elambda__1___closed__8() {
+static lean_object* _init_l_Lean_Parser_Term_type___elambda__1___closed__16() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_type___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Term_type___elambda__1___closed__15;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Term_type___elambda__1___closed__9() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Term_type___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
-}
-}
lean_object* l_Lean_Parser_Term_type___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -9606,211 +8309,34 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_66; lean_object* x_67; lean_object* x_68;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_66 = lean_ctor_get(x_7, 1);
-lean_inc(x_66);
+x_11 = l_Lean_Parser_Term_type___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Term_type___elambda__1___closed__16;
lean_inc(x_1);
-x_67 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_68 = lean_ctor_get(x_67, 3);
-lean_inc(x_68);
-if (lean_obj_tag(x_68) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_69; lean_object* x_70;
-x_69 = lean_ctor_get(x_67, 0);
-lean_inc(x_69);
-x_70 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_69);
-lean_dec(x_69);
-if (lean_obj_tag(x_70) == 2)
-{
-lean_object* x_71; lean_object* x_72; uint8_t x_73;
-x_71 = lean_ctor_get(x_70, 1);
-lean_inc(x_71);
-lean_dec(x_70);
-x_72 = l_Lean_Parser_Term_type___elambda__1___closed__6;
-x_73 = lean_string_dec_eq(x_71, x_72);
-lean_dec(x_71);
-if (x_73 == 0)
-{
-lean_object* x_74; lean_object* x_75;
-x_74 = l_Lean_Parser_Term_type___elambda__1___closed__9;
-x_75 = l_Lean_Parser_ParserState_mkErrorsAt(x_67, x_74, x_66);
-x_11 = x_75;
-goto block_65;
+lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
+x_15 = l_Lean_Parser_Term_type___elambda__1___closed__10;
+x_16 = l_Lean_Parser_optionalFn(x_15, x_1, x_13);
+x_17 = l_Lean_Parser_Term_type___elambda__1___closed__2;
+x_18 = l_Lean_Parser_ParserState_mkNode(x_16, x_17, x_10);
+return x_18;
}
else
{
-lean_dec(x_66);
-x_11 = x_67;
-goto block_65;
-}
-}
-else
-{
-lean_object* x_76; lean_object* x_77;
-lean_dec(x_70);
-x_76 = l_Lean_Parser_Term_type___elambda__1___closed__9;
-x_77 = l_Lean_Parser_ParserState_mkErrorsAt(x_67, x_76, x_66);
-x_11 = x_77;
-goto block_65;
-}
-}
-else
-{
-lean_object* x_78; lean_object* x_79;
-lean_dec(x_68);
-x_78 = l_Lean_Parser_Term_type___elambda__1___closed__9;
-x_79 = l_Lean_Parser_ParserState_mkErrorsAt(x_67, x_78, x_66);
-x_11 = x_79;
-goto block_65;
-}
-block_65:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
-x_13 = lean_ctor_get(x_11, 0);
-lean_inc(x_13);
-x_14 = lean_array_get_size(x_13);
-lean_dec(x_13);
-x_15 = lean_ctor_get(x_11, 1);
-lean_inc(x_15);
-x_16 = l_String_splitAux___main___closed__1;
-x_17 = l_Lean_Parser_checkWsBeforeFn(x_16, x_1, x_11);
-x_18 = lean_ctor_get(x_17, 3);
-lean_inc(x_18);
-if (lean_obj_tag(x_18) == 0)
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21;
-x_19 = l_Lean_Parser_leadPrec;
-x_20 = l_Lean_Parser_checkPrecFn(x_19, x_1, x_17);
-x_21 = lean_ctor_get(x_20, 3);
-lean_inc(x_21);
-if (lean_obj_tag(x_21) == 0)
-{
-lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25;
-x_22 = l_Lean_PrettyPrinter_Parenthesizer_level_parenthesizer___closed__2;
-x_23 = l_Lean_Parser_maxPrec;
-x_24 = l_Lean_Parser_categoryParser___elambda__1(x_22, x_23, x_1, x_20);
-x_25 = lean_ctor_get(x_24, 3);
-lean_inc(x_25);
-if (lean_obj_tag(x_25) == 0)
-{
-lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29;
-lean_dec(x_15);
-x_26 = l_Lean_nullKind;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_24, x_26, x_14);
-x_28 = l_Lean_Parser_Term_type___elambda__1___closed__2;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_27, x_28, x_10);
-return x_29;
-}
-else
-{
-lean_object* x_30; uint8_t x_31;
-lean_dec(x_25);
-x_30 = lean_ctor_get(x_24, 1);
-lean_inc(x_30);
-x_31 = lean_nat_dec_eq(x_30, x_15);
-lean_dec(x_30);
-if (x_31 == 0)
-{
-lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35;
-lean_dec(x_15);
-x_32 = l_Lean_nullKind;
-x_33 = l_Lean_Parser_ParserState_mkNode(x_24, x_32, x_14);
-x_34 = l_Lean_Parser_Term_type___elambda__1___closed__2;
-x_35 = l_Lean_Parser_ParserState_mkNode(x_33, x_34, x_10);
-return x_35;
-}
-else
-{
-lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40;
-x_36 = l_Lean_Parser_ParserState_restore(x_24, x_14, x_15);
-x_37 = l_Lean_nullKind;
-x_38 = l_Lean_Parser_ParserState_mkNode(x_36, x_37, x_14);
-x_39 = l_Lean_Parser_Term_type___elambda__1___closed__2;
-x_40 = l_Lean_Parser_ParserState_mkNode(x_38, x_39, x_10);
-return x_40;
-}
-}
-}
-else
-{
-lean_object* x_41; uint8_t x_42;
-lean_dec(x_21);
+lean_object* x_19; lean_object* x_20;
+lean_dec(x_14);
lean_dec(x_1);
-x_41 = lean_ctor_get(x_20, 1);
-lean_inc(x_41);
-x_42 = lean_nat_dec_eq(x_41, x_15);
-lean_dec(x_41);
-if (x_42 == 0)
-{
-lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46;
-lean_dec(x_15);
-x_43 = l_Lean_nullKind;
-x_44 = l_Lean_Parser_ParserState_mkNode(x_20, x_43, x_14);
-x_45 = l_Lean_Parser_Term_type___elambda__1___closed__2;
-x_46 = l_Lean_Parser_ParserState_mkNode(x_44, x_45, x_10);
-return x_46;
-}
-else
-{
-lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51;
-x_47 = l_Lean_Parser_ParserState_restore(x_20, x_14, x_15);
-x_48 = l_Lean_nullKind;
-x_49 = l_Lean_Parser_ParserState_mkNode(x_47, x_48, x_14);
-x_50 = l_Lean_Parser_Term_type___elambda__1___closed__2;
-x_51 = l_Lean_Parser_ParserState_mkNode(x_49, x_50, x_10);
-return x_51;
-}
-}
-}
-else
-{
-lean_object* x_52; uint8_t x_53;
-lean_dec(x_18);
-lean_dec(x_1);
-x_52 = lean_ctor_get(x_17, 1);
-lean_inc(x_52);
-x_53 = lean_nat_dec_eq(x_52, x_15);
-lean_dec(x_52);
-if (x_53 == 0)
-{
-lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57;
-lean_dec(x_15);
-x_54 = l_Lean_nullKind;
-x_55 = l_Lean_Parser_ParserState_mkNode(x_17, x_54, x_14);
-x_56 = l_Lean_Parser_Term_type___elambda__1___closed__2;
-x_57 = l_Lean_Parser_ParserState_mkNode(x_55, x_56, x_10);
-return x_57;
-}
-else
-{
-lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62;
-x_58 = l_Lean_Parser_ParserState_restore(x_17, x_14, x_15);
-x_59 = l_Lean_nullKind;
-x_60 = l_Lean_Parser_ParserState_mkNode(x_58, x_59, x_14);
-x_61 = l_Lean_Parser_Term_type___elambda__1___closed__2;
-x_62 = l_Lean_Parser_ParserState_mkNode(x_60, x_61, x_10);
-return x_62;
-}
-}
-}
-else
-{
-lean_object* x_63; lean_object* x_64;
-lean_dec(x_12);
-lean_dec(x_1);
-x_63 = l_Lean_Parser_Term_type___elambda__1___closed__2;
-x_64 = l_Lean_Parser_ParserState_mkNode(x_11, x_63, x_10);
-return x_64;
-}
+x_19 = l_Lean_Parser_Term_type___elambda__1___closed__2;
+x_20 = l_Lean_Parser_ParserState_mkNode(x_13, x_19, x_10);
+return x_20;
}
}
else
@@ -9822,297 +8348,11 @@ return x_7;
}
else
{
-lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84;
-x_80 = lean_ctor_get(x_2, 0);
-lean_inc(x_80);
-x_81 = lean_array_get_size(x_80);
-lean_dec(x_80);
-x_82 = lean_ctor_get(x_2, 1);
-lean_inc(x_82);
-lean_inc(x_1);
-x_83 = lean_apply_2(x_4, x_1, x_2);
-x_84 = lean_ctor_get(x_83, 3);
-lean_inc(x_84);
-if (lean_obj_tag(x_84) == 0)
-{
-lean_dec(x_82);
-lean_dec(x_81);
-lean_dec(x_1);
-return x_83;
-}
-else
-{
-lean_object* x_85; lean_object* x_86; uint8_t x_87;
-x_85 = lean_ctor_get(x_84, 0);
-lean_inc(x_85);
-lean_dec(x_84);
-x_86 = lean_ctor_get(x_83, 1);
-lean_inc(x_86);
-x_87 = lean_nat_dec_eq(x_86, x_82);
-lean_dec(x_86);
-if (x_87 == 0)
-{
-lean_dec(x_85);
-lean_dec(x_82);
-lean_dec(x_81);
-lean_dec(x_1);
-return x_83;
-}
-else
-{
-lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91;
-lean_inc(x_82);
-x_88 = l_Lean_Parser_ParserState_restore(x_83, x_81, x_82);
-lean_dec(x_81);
-x_89 = lean_unsigned_to_nat(1024u);
-x_90 = l_Lean_Parser_checkPrecFn(x_89, x_1, x_88);
-x_91 = lean_ctor_get(x_90, 3);
-lean_inc(x_91);
-if (lean_obj_tag(x_91) == 0)
-{
-lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_165; lean_object* x_166; lean_object* x_167;
-x_92 = lean_ctor_get(x_90, 0);
-lean_inc(x_92);
-x_93 = lean_array_get_size(x_92);
-lean_dec(x_92);
-x_165 = lean_ctor_get(x_90, 1);
-lean_inc(x_165);
-lean_inc(x_1);
-x_166 = l_Lean_Parser_tokenFn(x_1, x_90);
-x_167 = lean_ctor_get(x_166, 3);
-lean_inc(x_167);
-if (lean_obj_tag(x_167) == 0)
-{
-lean_object* x_168; lean_object* x_169;
-x_168 = lean_ctor_get(x_166, 0);
-lean_inc(x_168);
-x_169 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_168);
-lean_dec(x_168);
-if (lean_obj_tag(x_169) == 2)
-{
-lean_object* x_170; lean_object* x_171; uint8_t x_172;
-x_170 = lean_ctor_get(x_169, 1);
-lean_inc(x_170);
-lean_dec(x_169);
-x_171 = l_Lean_Parser_Term_type___elambda__1___closed__6;
-x_172 = lean_string_dec_eq(x_170, x_171);
-lean_dec(x_170);
-if (x_172 == 0)
-{
-lean_object* x_173; lean_object* x_174;
-x_173 = l_Lean_Parser_Term_type___elambda__1___closed__9;
-x_174 = l_Lean_Parser_ParserState_mkErrorsAt(x_166, x_173, x_165);
-x_94 = x_174;
-goto block_164;
-}
-else
-{
-lean_dec(x_165);
-x_94 = x_166;
-goto block_164;
-}
-}
-else
-{
-lean_object* x_175; lean_object* x_176;
-lean_dec(x_169);
-x_175 = l_Lean_Parser_Term_type___elambda__1___closed__9;
-x_176 = l_Lean_Parser_ParserState_mkErrorsAt(x_166, x_175, x_165);
-x_94 = x_176;
-goto block_164;
-}
-}
-else
-{
-lean_object* x_177; lean_object* x_178;
-lean_dec(x_167);
-x_177 = l_Lean_Parser_Term_type___elambda__1___closed__9;
-x_178 = l_Lean_Parser_ParserState_mkErrorsAt(x_166, x_177, x_165);
-x_94 = x_178;
-goto block_164;
-}
-block_164:
-{
-lean_object* x_95;
-x_95 = lean_ctor_get(x_94, 3);
-lean_inc(x_95);
-if (lean_obj_tag(x_95) == 0)
-{
-lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101;
-x_96 = lean_ctor_get(x_94, 0);
-lean_inc(x_96);
-x_97 = lean_array_get_size(x_96);
-lean_dec(x_96);
-x_98 = lean_ctor_get(x_94, 1);
-lean_inc(x_98);
-x_99 = l_String_splitAux___main___closed__1;
-x_100 = l_Lean_Parser_checkWsBeforeFn(x_99, x_1, x_94);
-x_101 = lean_ctor_get(x_100, 3);
-lean_inc(x_101);
-if (lean_obj_tag(x_101) == 0)
-{
-lean_object* x_102; lean_object* x_103; lean_object* x_104;
-x_102 = l_Lean_Parser_leadPrec;
-x_103 = l_Lean_Parser_checkPrecFn(x_102, x_1, x_100);
-x_104 = lean_ctor_get(x_103, 3);
-lean_inc(x_104);
-if (lean_obj_tag(x_104) == 0)
-{
-lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108;
-x_105 = l_Lean_PrettyPrinter_Parenthesizer_level_parenthesizer___closed__2;
-x_106 = l_Lean_Parser_maxPrec;
-x_107 = l_Lean_Parser_categoryParser___elambda__1(x_105, x_106, x_1, x_103);
-x_108 = lean_ctor_get(x_107, 3);
-lean_inc(x_108);
-if (lean_obj_tag(x_108) == 0)
-{
-lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; uint8_t x_113; lean_object* x_114;
-lean_dec(x_98);
-x_109 = l_Lean_nullKind;
-x_110 = l_Lean_Parser_ParserState_mkNode(x_107, x_109, x_97);
-x_111 = l_Lean_Parser_Term_type___elambda__1___closed__2;
-x_112 = l_Lean_Parser_ParserState_mkNode(x_110, x_111, x_93);
-x_113 = 1;
-x_114 = l_Lean_Parser_mergeOrElseErrors(x_112, x_85, x_82, x_113);
-lean_dec(x_82);
-return x_114;
-}
-else
-{
-lean_object* x_115; uint8_t x_116;
-lean_dec(x_108);
-x_115 = lean_ctor_get(x_107, 1);
-lean_inc(x_115);
-x_116 = lean_nat_dec_eq(x_115, x_98);
-lean_dec(x_115);
-if (x_116 == 0)
-{
-lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; uint8_t x_121; lean_object* x_122;
-lean_dec(x_98);
-x_117 = l_Lean_nullKind;
-x_118 = l_Lean_Parser_ParserState_mkNode(x_107, x_117, x_97);
-x_119 = l_Lean_Parser_Term_type___elambda__1___closed__2;
-x_120 = l_Lean_Parser_ParserState_mkNode(x_118, x_119, x_93);
-x_121 = 1;
-x_122 = l_Lean_Parser_mergeOrElseErrors(x_120, x_85, x_82, x_121);
-lean_dec(x_82);
-return x_122;
-}
-else
-{
-lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; uint8_t x_128; lean_object* x_129;
-x_123 = l_Lean_Parser_ParserState_restore(x_107, x_97, x_98);
-x_124 = l_Lean_nullKind;
-x_125 = l_Lean_Parser_ParserState_mkNode(x_123, x_124, x_97);
-x_126 = l_Lean_Parser_Term_type___elambda__1___closed__2;
-x_127 = l_Lean_Parser_ParserState_mkNode(x_125, x_126, x_93);
-x_128 = 1;
-x_129 = l_Lean_Parser_mergeOrElseErrors(x_127, x_85, x_82, x_128);
-lean_dec(x_82);
-return x_129;
-}
-}
-}
-else
-{
-lean_object* x_130; uint8_t x_131;
-lean_dec(x_104);
-lean_dec(x_1);
-x_130 = lean_ctor_get(x_103, 1);
-lean_inc(x_130);
-x_131 = lean_nat_dec_eq(x_130, x_98);
-lean_dec(x_130);
-if (x_131 == 0)
-{
-lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; uint8_t x_136; lean_object* x_137;
-lean_dec(x_98);
-x_132 = l_Lean_nullKind;
-x_133 = l_Lean_Parser_ParserState_mkNode(x_103, x_132, x_97);
-x_134 = l_Lean_Parser_Term_type___elambda__1___closed__2;
-x_135 = l_Lean_Parser_ParserState_mkNode(x_133, x_134, x_93);
-x_136 = 1;
-x_137 = l_Lean_Parser_mergeOrElseErrors(x_135, x_85, x_82, x_136);
-lean_dec(x_82);
-return x_137;
-}
-else
-{
-lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; uint8_t x_143; lean_object* x_144;
-x_138 = l_Lean_Parser_ParserState_restore(x_103, x_97, x_98);
-x_139 = l_Lean_nullKind;
-x_140 = l_Lean_Parser_ParserState_mkNode(x_138, x_139, x_97);
-x_141 = l_Lean_Parser_Term_type___elambda__1___closed__2;
-x_142 = l_Lean_Parser_ParserState_mkNode(x_140, x_141, x_93);
-x_143 = 1;
-x_144 = l_Lean_Parser_mergeOrElseErrors(x_142, x_85, x_82, x_143);
-lean_dec(x_82);
-return x_144;
-}
-}
-}
-else
-{
-lean_object* x_145; uint8_t x_146;
-lean_dec(x_101);
-lean_dec(x_1);
-x_145 = lean_ctor_get(x_100, 1);
-lean_inc(x_145);
-x_146 = lean_nat_dec_eq(x_145, x_98);
-lean_dec(x_145);
-if (x_146 == 0)
-{
-lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; uint8_t x_151; lean_object* x_152;
-lean_dec(x_98);
-x_147 = l_Lean_nullKind;
-x_148 = l_Lean_Parser_ParserState_mkNode(x_100, x_147, x_97);
-x_149 = l_Lean_Parser_Term_type___elambda__1___closed__2;
-x_150 = l_Lean_Parser_ParserState_mkNode(x_148, x_149, x_93);
-x_151 = 1;
-x_152 = l_Lean_Parser_mergeOrElseErrors(x_150, x_85, x_82, x_151);
-lean_dec(x_82);
-return x_152;
-}
-else
-{
-lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; uint8_t x_158; lean_object* x_159;
-x_153 = l_Lean_Parser_ParserState_restore(x_100, x_97, x_98);
-x_154 = l_Lean_nullKind;
-x_155 = l_Lean_Parser_ParserState_mkNode(x_153, x_154, x_97);
-x_156 = l_Lean_Parser_Term_type___elambda__1___closed__2;
-x_157 = l_Lean_Parser_ParserState_mkNode(x_155, x_156, x_93);
-x_158 = 1;
-x_159 = l_Lean_Parser_mergeOrElseErrors(x_157, x_85, x_82, x_158);
-lean_dec(x_82);
-return x_159;
-}
-}
-}
-else
-{
-lean_object* x_160; lean_object* x_161; uint8_t x_162; lean_object* x_163;
-lean_dec(x_95);
-lean_dec(x_1);
-x_160 = l_Lean_Parser_Term_type___elambda__1___closed__2;
-x_161 = l_Lean_Parser_ParserState_mkNode(x_94, x_160, x_93);
-x_162 = 1;
-x_163 = l_Lean_Parser_mergeOrElseErrors(x_161, x_85, x_82, x_162);
-lean_dec(x_82);
-return x_163;
-}
-}
-}
-else
-{
-uint8_t x_179; lean_object* x_180;
-lean_dec(x_91);
-lean_dec(x_1);
-x_179 = 1;
-x_180 = l_Lean_Parser_mergeOrElseErrors(x_90, x_85, x_82, x_179);
-lean_dec(x_82);
-return x_180;
-}
-}
-}
+lean_object* x_21; uint8_t x_22; lean_object* x_23;
+x_21 = l_Lean_Parser_Term_type___elambda__1___closed__14;
+x_22 = 1;
+x_23 = l_Lean_Parser_orelseFnCore(x_4, x_21, x_22, x_1, x_2);
+return x_23;
}
}
}
@@ -10532,11 +8772,11 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_sort___elambda__1___closed__6() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_sort___elambda__1___closed__5;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_sort___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_sort___elambda__1___closed__7() {
@@ -10544,8 +8784,10 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Term_sort___elambda__1___closed__6;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_2 = l_Lean_Parser_Term_type___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -10553,11 +8795,43 @@ static lean_object* _init_l_Lean_Parser_Term_sort___elambda__1___closed__8() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Term_sort___elambda__1___closed__1;
x_2 = l_Lean_Parser_Term_sort___elambda__1___closed__7;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_sort___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_sort___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_sort___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_sort___elambda__1___closed__5;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_sort___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_sort___elambda__1___closed__10;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -10581,211 +8855,34 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_66; lean_object* x_67; lean_object* x_68;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_66 = lean_ctor_get(x_7, 1);
-lean_inc(x_66);
+x_11 = l_Lean_Parser_Term_sort___elambda__1___closed__5;
+x_12 = l_Lean_Parser_Term_sort___elambda__1___closed__11;
lean_inc(x_1);
-x_67 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_68 = lean_ctor_get(x_67, 3);
-lean_inc(x_68);
-if (lean_obj_tag(x_68) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_69; lean_object* x_70;
-x_69 = lean_ctor_get(x_67, 0);
-lean_inc(x_69);
-x_70 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_69);
-lean_dec(x_69);
-if (lean_obj_tag(x_70) == 2)
-{
-lean_object* x_71; lean_object* x_72; uint8_t x_73;
-x_71 = lean_ctor_get(x_70, 1);
-lean_inc(x_71);
-lean_dec(x_70);
-x_72 = l_Lean_Parser_Term_sort___elambda__1___closed__5;
-x_73 = lean_string_dec_eq(x_71, x_72);
-lean_dec(x_71);
-if (x_73 == 0)
-{
-lean_object* x_74; lean_object* x_75;
-x_74 = l_Lean_Parser_Term_sort___elambda__1___closed__8;
-x_75 = l_Lean_Parser_ParserState_mkErrorsAt(x_67, x_74, x_66);
-x_11 = x_75;
-goto block_65;
+lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
+x_15 = l_Lean_Parser_Term_type___elambda__1___closed__10;
+x_16 = l_Lean_Parser_optionalFn(x_15, x_1, x_13);
+x_17 = l_Lean_Parser_Term_sort___elambda__1___closed__1;
+x_18 = l_Lean_Parser_ParserState_mkNode(x_16, x_17, x_10);
+return x_18;
}
else
{
-lean_dec(x_66);
-x_11 = x_67;
-goto block_65;
-}
-}
-else
-{
-lean_object* x_76; lean_object* x_77;
-lean_dec(x_70);
-x_76 = l_Lean_Parser_Term_sort___elambda__1___closed__8;
-x_77 = l_Lean_Parser_ParserState_mkErrorsAt(x_67, x_76, x_66);
-x_11 = x_77;
-goto block_65;
-}
-}
-else
-{
-lean_object* x_78; lean_object* x_79;
-lean_dec(x_68);
-x_78 = l_Lean_Parser_Term_sort___elambda__1___closed__8;
-x_79 = l_Lean_Parser_ParserState_mkErrorsAt(x_67, x_78, x_66);
-x_11 = x_79;
-goto block_65;
-}
-block_65:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
-x_13 = lean_ctor_get(x_11, 0);
-lean_inc(x_13);
-x_14 = lean_array_get_size(x_13);
-lean_dec(x_13);
-x_15 = lean_ctor_get(x_11, 1);
-lean_inc(x_15);
-x_16 = l_String_splitAux___main___closed__1;
-x_17 = l_Lean_Parser_checkWsBeforeFn(x_16, x_1, x_11);
-x_18 = lean_ctor_get(x_17, 3);
-lean_inc(x_18);
-if (lean_obj_tag(x_18) == 0)
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21;
-x_19 = l_Lean_Parser_leadPrec;
-x_20 = l_Lean_Parser_checkPrecFn(x_19, x_1, x_17);
-x_21 = lean_ctor_get(x_20, 3);
-lean_inc(x_21);
-if (lean_obj_tag(x_21) == 0)
-{
-lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25;
-x_22 = l_Lean_PrettyPrinter_Parenthesizer_level_parenthesizer___closed__2;
-x_23 = l_Lean_Parser_maxPrec;
-x_24 = l_Lean_Parser_categoryParser___elambda__1(x_22, x_23, x_1, x_20);
-x_25 = lean_ctor_get(x_24, 3);
-lean_inc(x_25);
-if (lean_obj_tag(x_25) == 0)
-{
-lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29;
-lean_dec(x_15);
-x_26 = l_Lean_nullKind;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_24, x_26, x_14);
-x_28 = l_Lean_Parser_Term_sort___elambda__1___closed__1;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_27, x_28, x_10);
-return x_29;
-}
-else
-{
-lean_object* x_30; uint8_t x_31;
-lean_dec(x_25);
-x_30 = lean_ctor_get(x_24, 1);
-lean_inc(x_30);
-x_31 = lean_nat_dec_eq(x_30, x_15);
-lean_dec(x_30);
-if (x_31 == 0)
-{
-lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35;
-lean_dec(x_15);
-x_32 = l_Lean_nullKind;
-x_33 = l_Lean_Parser_ParserState_mkNode(x_24, x_32, x_14);
-x_34 = l_Lean_Parser_Term_sort___elambda__1___closed__1;
-x_35 = l_Lean_Parser_ParserState_mkNode(x_33, x_34, x_10);
-return x_35;
-}
-else
-{
-lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40;
-x_36 = l_Lean_Parser_ParserState_restore(x_24, x_14, x_15);
-x_37 = l_Lean_nullKind;
-x_38 = l_Lean_Parser_ParserState_mkNode(x_36, x_37, x_14);
-x_39 = l_Lean_Parser_Term_sort___elambda__1___closed__1;
-x_40 = l_Lean_Parser_ParserState_mkNode(x_38, x_39, x_10);
-return x_40;
-}
-}
-}
-else
-{
-lean_object* x_41; uint8_t x_42;
-lean_dec(x_21);
+lean_object* x_19; lean_object* x_20;
+lean_dec(x_14);
lean_dec(x_1);
-x_41 = lean_ctor_get(x_20, 1);
-lean_inc(x_41);
-x_42 = lean_nat_dec_eq(x_41, x_15);
-lean_dec(x_41);
-if (x_42 == 0)
-{
-lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46;
-lean_dec(x_15);
-x_43 = l_Lean_nullKind;
-x_44 = l_Lean_Parser_ParserState_mkNode(x_20, x_43, x_14);
-x_45 = l_Lean_Parser_Term_sort___elambda__1___closed__1;
-x_46 = l_Lean_Parser_ParserState_mkNode(x_44, x_45, x_10);
-return x_46;
-}
-else
-{
-lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51;
-x_47 = l_Lean_Parser_ParserState_restore(x_20, x_14, x_15);
-x_48 = l_Lean_nullKind;
-x_49 = l_Lean_Parser_ParserState_mkNode(x_47, x_48, x_14);
-x_50 = l_Lean_Parser_Term_sort___elambda__1___closed__1;
-x_51 = l_Lean_Parser_ParserState_mkNode(x_49, x_50, x_10);
-return x_51;
-}
-}
-}
-else
-{
-lean_object* x_52; uint8_t x_53;
-lean_dec(x_18);
-lean_dec(x_1);
-x_52 = lean_ctor_get(x_17, 1);
-lean_inc(x_52);
-x_53 = lean_nat_dec_eq(x_52, x_15);
-lean_dec(x_52);
-if (x_53 == 0)
-{
-lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57;
-lean_dec(x_15);
-x_54 = l_Lean_nullKind;
-x_55 = l_Lean_Parser_ParserState_mkNode(x_17, x_54, x_14);
-x_56 = l_Lean_Parser_Term_sort___elambda__1___closed__1;
-x_57 = l_Lean_Parser_ParserState_mkNode(x_55, x_56, x_10);
-return x_57;
-}
-else
-{
-lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62;
-x_58 = l_Lean_Parser_ParserState_restore(x_17, x_14, x_15);
-x_59 = l_Lean_nullKind;
-x_60 = l_Lean_Parser_ParserState_mkNode(x_58, x_59, x_14);
-x_61 = l_Lean_Parser_Term_sort___elambda__1___closed__1;
-x_62 = l_Lean_Parser_ParserState_mkNode(x_60, x_61, x_10);
-return x_62;
-}
-}
-}
-else
-{
-lean_object* x_63; lean_object* x_64;
-lean_dec(x_12);
-lean_dec(x_1);
-x_63 = l_Lean_Parser_Term_sort___elambda__1___closed__1;
-x_64 = l_Lean_Parser_ParserState_mkNode(x_11, x_63, x_10);
-return x_64;
-}
+x_19 = l_Lean_Parser_Term_sort___elambda__1___closed__1;
+x_20 = l_Lean_Parser_ParserState_mkNode(x_13, x_19, x_10);
+return x_20;
}
}
else
@@ -10797,297 +8894,11 @@ return x_7;
}
else
{
-lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84;
-x_80 = lean_ctor_get(x_2, 0);
-lean_inc(x_80);
-x_81 = lean_array_get_size(x_80);
-lean_dec(x_80);
-x_82 = lean_ctor_get(x_2, 1);
-lean_inc(x_82);
-lean_inc(x_1);
-x_83 = lean_apply_2(x_4, x_1, x_2);
-x_84 = lean_ctor_get(x_83, 3);
-lean_inc(x_84);
-if (lean_obj_tag(x_84) == 0)
-{
-lean_dec(x_82);
-lean_dec(x_81);
-lean_dec(x_1);
-return x_83;
-}
-else
-{
-lean_object* x_85; lean_object* x_86; uint8_t x_87;
-x_85 = lean_ctor_get(x_84, 0);
-lean_inc(x_85);
-lean_dec(x_84);
-x_86 = lean_ctor_get(x_83, 1);
-lean_inc(x_86);
-x_87 = lean_nat_dec_eq(x_86, x_82);
-lean_dec(x_86);
-if (x_87 == 0)
-{
-lean_dec(x_85);
-lean_dec(x_82);
-lean_dec(x_81);
-lean_dec(x_1);
-return x_83;
-}
-else
-{
-lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91;
-lean_inc(x_82);
-x_88 = l_Lean_Parser_ParserState_restore(x_83, x_81, x_82);
-lean_dec(x_81);
-x_89 = lean_unsigned_to_nat(1024u);
-x_90 = l_Lean_Parser_checkPrecFn(x_89, x_1, x_88);
-x_91 = lean_ctor_get(x_90, 3);
-lean_inc(x_91);
-if (lean_obj_tag(x_91) == 0)
-{
-lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_165; lean_object* x_166; lean_object* x_167;
-x_92 = lean_ctor_get(x_90, 0);
-lean_inc(x_92);
-x_93 = lean_array_get_size(x_92);
-lean_dec(x_92);
-x_165 = lean_ctor_get(x_90, 1);
-lean_inc(x_165);
-lean_inc(x_1);
-x_166 = l_Lean_Parser_tokenFn(x_1, x_90);
-x_167 = lean_ctor_get(x_166, 3);
-lean_inc(x_167);
-if (lean_obj_tag(x_167) == 0)
-{
-lean_object* x_168; lean_object* x_169;
-x_168 = lean_ctor_get(x_166, 0);
-lean_inc(x_168);
-x_169 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_168);
-lean_dec(x_168);
-if (lean_obj_tag(x_169) == 2)
-{
-lean_object* x_170; lean_object* x_171; uint8_t x_172;
-x_170 = lean_ctor_get(x_169, 1);
-lean_inc(x_170);
-lean_dec(x_169);
-x_171 = l_Lean_Parser_Term_sort___elambda__1___closed__5;
-x_172 = lean_string_dec_eq(x_170, x_171);
-lean_dec(x_170);
-if (x_172 == 0)
-{
-lean_object* x_173; lean_object* x_174;
-x_173 = l_Lean_Parser_Term_sort___elambda__1___closed__8;
-x_174 = l_Lean_Parser_ParserState_mkErrorsAt(x_166, x_173, x_165);
-x_94 = x_174;
-goto block_164;
-}
-else
-{
-lean_dec(x_165);
-x_94 = x_166;
-goto block_164;
-}
-}
-else
-{
-lean_object* x_175; lean_object* x_176;
-lean_dec(x_169);
-x_175 = l_Lean_Parser_Term_sort___elambda__1___closed__8;
-x_176 = l_Lean_Parser_ParserState_mkErrorsAt(x_166, x_175, x_165);
-x_94 = x_176;
-goto block_164;
-}
-}
-else
-{
-lean_object* x_177; lean_object* x_178;
-lean_dec(x_167);
-x_177 = l_Lean_Parser_Term_sort___elambda__1___closed__8;
-x_178 = l_Lean_Parser_ParserState_mkErrorsAt(x_166, x_177, x_165);
-x_94 = x_178;
-goto block_164;
-}
-block_164:
-{
-lean_object* x_95;
-x_95 = lean_ctor_get(x_94, 3);
-lean_inc(x_95);
-if (lean_obj_tag(x_95) == 0)
-{
-lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101;
-x_96 = lean_ctor_get(x_94, 0);
-lean_inc(x_96);
-x_97 = lean_array_get_size(x_96);
-lean_dec(x_96);
-x_98 = lean_ctor_get(x_94, 1);
-lean_inc(x_98);
-x_99 = l_String_splitAux___main___closed__1;
-x_100 = l_Lean_Parser_checkWsBeforeFn(x_99, x_1, x_94);
-x_101 = lean_ctor_get(x_100, 3);
-lean_inc(x_101);
-if (lean_obj_tag(x_101) == 0)
-{
-lean_object* x_102; lean_object* x_103; lean_object* x_104;
-x_102 = l_Lean_Parser_leadPrec;
-x_103 = l_Lean_Parser_checkPrecFn(x_102, x_1, x_100);
-x_104 = lean_ctor_get(x_103, 3);
-lean_inc(x_104);
-if (lean_obj_tag(x_104) == 0)
-{
-lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108;
-x_105 = l_Lean_PrettyPrinter_Parenthesizer_level_parenthesizer___closed__2;
-x_106 = l_Lean_Parser_maxPrec;
-x_107 = l_Lean_Parser_categoryParser___elambda__1(x_105, x_106, x_1, x_103);
-x_108 = lean_ctor_get(x_107, 3);
-lean_inc(x_108);
-if (lean_obj_tag(x_108) == 0)
-{
-lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; uint8_t x_113; lean_object* x_114;
-lean_dec(x_98);
-x_109 = l_Lean_nullKind;
-x_110 = l_Lean_Parser_ParserState_mkNode(x_107, x_109, x_97);
-x_111 = l_Lean_Parser_Term_sort___elambda__1___closed__1;
-x_112 = l_Lean_Parser_ParserState_mkNode(x_110, x_111, x_93);
-x_113 = 1;
-x_114 = l_Lean_Parser_mergeOrElseErrors(x_112, x_85, x_82, x_113);
-lean_dec(x_82);
-return x_114;
-}
-else
-{
-lean_object* x_115; uint8_t x_116;
-lean_dec(x_108);
-x_115 = lean_ctor_get(x_107, 1);
-lean_inc(x_115);
-x_116 = lean_nat_dec_eq(x_115, x_98);
-lean_dec(x_115);
-if (x_116 == 0)
-{
-lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; uint8_t x_121; lean_object* x_122;
-lean_dec(x_98);
-x_117 = l_Lean_nullKind;
-x_118 = l_Lean_Parser_ParserState_mkNode(x_107, x_117, x_97);
-x_119 = l_Lean_Parser_Term_sort___elambda__1___closed__1;
-x_120 = l_Lean_Parser_ParserState_mkNode(x_118, x_119, x_93);
-x_121 = 1;
-x_122 = l_Lean_Parser_mergeOrElseErrors(x_120, x_85, x_82, x_121);
-lean_dec(x_82);
-return x_122;
-}
-else
-{
-lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; uint8_t x_128; lean_object* x_129;
-x_123 = l_Lean_Parser_ParserState_restore(x_107, x_97, x_98);
-x_124 = l_Lean_nullKind;
-x_125 = l_Lean_Parser_ParserState_mkNode(x_123, x_124, x_97);
-x_126 = l_Lean_Parser_Term_sort___elambda__1___closed__1;
-x_127 = l_Lean_Parser_ParserState_mkNode(x_125, x_126, x_93);
-x_128 = 1;
-x_129 = l_Lean_Parser_mergeOrElseErrors(x_127, x_85, x_82, x_128);
-lean_dec(x_82);
-return x_129;
-}
-}
-}
-else
-{
-lean_object* x_130; uint8_t x_131;
-lean_dec(x_104);
-lean_dec(x_1);
-x_130 = lean_ctor_get(x_103, 1);
-lean_inc(x_130);
-x_131 = lean_nat_dec_eq(x_130, x_98);
-lean_dec(x_130);
-if (x_131 == 0)
-{
-lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; uint8_t x_136; lean_object* x_137;
-lean_dec(x_98);
-x_132 = l_Lean_nullKind;
-x_133 = l_Lean_Parser_ParserState_mkNode(x_103, x_132, x_97);
-x_134 = l_Lean_Parser_Term_sort___elambda__1___closed__1;
-x_135 = l_Lean_Parser_ParserState_mkNode(x_133, x_134, x_93);
-x_136 = 1;
-x_137 = l_Lean_Parser_mergeOrElseErrors(x_135, x_85, x_82, x_136);
-lean_dec(x_82);
-return x_137;
-}
-else
-{
-lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; uint8_t x_143; lean_object* x_144;
-x_138 = l_Lean_Parser_ParserState_restore(x_103, x_97, x_98);
-x_139 = l_Lean_nullKind;
-x_140 = l_Lean_Parser_ParserState_mkNode(x_138, x_139, x_97);
-x_141 = l_Lean_Parser_Term_sort___elambda__1___closed__1;
-x_142 = l_Lean_Parser_ParserState_mkNode(x_140, x_141, x_93);
-x_143 = 1;
-x_144 = l_Lean_Parser_mergeOrElseErrors(x_142, x_85, x_82, x_143);
-lean_dec(x_82);
-return x_144;
-}
-}
-}
-else
-{
-lean_object* x_145; uint8_t x_146;
-lean_dec(x_101);
-lean_dec(x_1);
-x_145 = lean_ctor_get(x_100, 1);
-lean_inc(x_145);
-x_146 = lean_nat_dec_eq(x_145, x_98);
-lean_dec(x_145);
-if (x_146 == 0)
-{
-lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; uint8_t x_151; lean_object* x_152;
-lean_dec(x_98);
-x_147 = l_Lean_nullKind;
-x_148 = l_Lean_Parser_ParserState_mkNode(x_100, x_147, x_97);
-x_149 = l_Lean_Parser_Term_sort___elambda__1___closed__1;
-x_150 = l_Lean_Parser_ParserState_mkNode(x_148, x_149, x_93);
-x_151 = 1;
-x_152 = l_Lean_Parser_mergeOrElseErrors(x_150, x_85, x_82, x_151);
-lean_dec(x_82);
-return x_152;
-}
-else
-{
-lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; uint8_t x_158; lean_object* x_159;
-x_153 = l_Lean_Parser_ParserState_restore(x_100, x_97, x_98);
-x_154 = l_Lean_nullKind;
-x_155 = l_Lean_Parser_ParserState_mkNode(x_153, x_154, x_97);
-x_156 = l_Lean_Parser_Term_sort___elambda__1___closed__1;
-x_157 = l_Lean_Parser_ParserState_mkNode(x_155, x_156, x_93);
-x_158 = 1;
-x_159 = l_Lean_Parser_mergeOrElseErrors(x_157, x_85, x_82, x_158);
-lean_dec(x_82);
-return x_159;
-}
-}
-}
-else
-{
-lean_object* x_160; lean_object* x_161; uint8_t x_162; lean_object* x_163;
-lean_dec(x_95);
-lean_dec(x_1);
-x_160 = l_Lean_Parser_Term_sort___elambda__1___closed__1;
-x_161 = l_Lean_Parser_ParserState_mkNode(x_94, x_160, x_93);
-x_162 = 1;
-x_163 = l_Lean_Parser_mergeOrElseErrors(x_161, x_85, x_82, x_162);
-lean_dec(x_82);
-return x_163;
-}
-}
-}
-else
-{
-uint8_t x_179; lean_object* x_180;
-lean_dec(x_91);
-lean_dec(x_1);
-x_179 = 1;
-x_180 = l_Lean_Parser_mergeOrElseErrors(x_90, x_85, x_82, x_179);
-lean_dec(x_82);
-return x_180;
-}
-}
-}
+lean_object* x_21; uint8_t x_22; lean_object* x_23;
+x_21 = l_Lean_Parser_Term_sort___elambda__1___closed__9;
+x_22 = 1;
+x_23 = l_Lean_Parser_orelseFnCore(x_4, x_21, x_22, x_1, x_2);
+return x_23;
}
}
}
@@ -11378,20 +9189,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_prop___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_prop___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_prop___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_prop___elambda__1___closed__8() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_prop___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Term_prop___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_prop___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -11399,11 +9212,31 @@ static lean_object* _init_l_Lean_Parser_Term_prop___elambda__1___closed__9() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
x_2 = l_Lean_Parser_Term_prop___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_prop___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_prop___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_prop___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_prop___elambda__1___closed__10;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -11427,71 +9260,17 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
+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;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_11 = lean_ctor_get(x_7, 1);
-lean_inc(x_11);
-x_12 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_13 = lean_ctor_get(x_12, 3);
-lean_inc(x_13);
-if (lean_obj_tag(x_13) == 0)
-{
-lean_object* x_14; lean_object* x_15;
-x_14 = lean_ctor_get(x_12, 0);
-lean_inc(x_14);
-x_15 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_14);
-lean_dec(x_14);
-if (lean_obj_tag(x_15) == 2)
-{
-lean_object* x_16; lean_object* x_17; uint8_t x_18;
-x_16 = lean_ctor_get(x_15, 1);
-lean_inc(x_16);
-lean_dec(x_15);
-x_17 = l_Lean_Parser_Term_prop___elambda__1___closed__6;
-x_18 = lean_string_dec_eq(x_16, x_17);
-lean_dec(x_16);
-if (x_18 == 0)
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
-x_19 = l_Lean_Parser_Term_prop___elambda__1___closed__9;
-x_20 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_19, x_11);
-x_21 = l_Lean_Parser_Term_prop___elambda__1___closed__2;
-x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_10);
-return x_22;
-}
-else
-{
-lean_object* x_23; lean_object* x_24;
-lean_dec(x_11);
-x_23 = l_Lean_Parser_Term_prop___elambda__1___closed__2;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_12, x_23, x_10);
-return x_24;
-}
-}
-else
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
-lean_dec(x_15);
-x_25 = l_Lean_Parser_Term_prop___elambda__1___closed__9;
-x_26 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_25, x_11);
-x_27 = l_Lean_Parser_Term_prop___elambda__1___closed__2;
-x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_10);
-return x_28;
-}
-}
-else
-{
-lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
-lean_dec(x_13);
-x_29 = l_Lean_Parser_Term_prop___elambda__1___closed__9;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_29, x_11);
-x_31 = l_Lean_Parser_Term_prop___elambda__1___closed__2;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_10);
-return x_32;
-}
+x_11 = l_Lean_Parser_Term_prop___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Term_prop___elambda__1___closed__11;
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = l_Lean_Parser_Term_prop___elambda__1___closed__2;
+x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
+return x_15;
}
else
{
@@ -11502,144 +9281,11 @@ return x_7;
}
else
{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_33 = lean_ctor_get(x_2, 0);
-lean_inc(x_33);
-x_34 = lean_array_get_size(x_33);
-lean_dec(x_33);
-x_35 = lean_ctor_get(x_2, 1);
-lean_inc(x_35);
-lean_inc(x_1);
-x_36 = lean_apply_2(x_4, x_1, x_2);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_36, 1);
-lean_inc(x_39);
-x_40 = lean_nat_dec_eq(x_39, x_35);
-lean_dec(x_39);
-if (x_40 == 0)
-{
-lean_dec(x_38);
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
-lean_inc(x_35);
-x_41 = l_Lean_Parser_ParserState_restore(x_36, x_34, x_35);
-lean_dec(x_34);
-x_42 = lean_unsigned_to_nat(1024u);
-x_43 = l_Lean_Parser_checkPrecFn(x_42, x_1, x_41);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-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_43, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-x_47 = lean_ctor_get(x_43, 1);
-lean_inc(x_47);
-x_48 = l_Lean_Parser_tokenFn(x_1, x_43);
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
-{
-lean_object* x_50; lean_object* x_51;
-x_50 = lean_ctor_get(x_48, 0);
-lean_inc(x_50);
-x_51 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_50);
-lean_dec(x_50);
-if (lean_obj_tag(x_51) == 2)
-{
-lean_object* x_52; lean_object* x_53; uint8_t x_54;
-x_52 = lean_ctor_get(x_51, 1);
-lean_inc(x_52);
-lean_dec(x_51);
-x_53 = l_Lean_Parser_Term_prop___elambda__1___closed__6;
-x_54 = lean_string_dec_eq(x_52, x_53);
-lean_dec(x_52);
-if (x_54 == 0)
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; uint8_t x_59; lean_object* x_60;
-x_55 = l_Lean_Parser_Term_prop___elambda__1___closed__9;
-x_56 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_55, x_47);
-x_57 = l_Lean_Parser_Term_prop___elambda__1___closed__2;
-x_58 = l_Lean_Parser_ParserState_mkNode(x_56, x_57, x_46);
-x_59 = 1;
-x_60 = l_Lean_Parser_mergeOrElseErrors(x_58, x_38, x_35, x_59);
-lean_dec(x_35);
-return x_60;
-}
-else
-{
-lean_object* x_61; lean_object* x_62; uint8_t x_63; lean_object* x_64;
-lean_dec(x_47);
-x_61 = l_Lean_Parser_Term_prop___elambda__1___closed__2;
-x_62 = l_Lean_Parser_ParserState_mkNode(x_48, x_61, x_46);
-x_63 = 1;
-x_64 = l_Lean_Parser_mergeOrElseErrors(x_62, x_38, x_35, x_63);
-lean_dec(x_35);
-return x_64;
-}
-}
-else
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; uint8_t x_69; lean_object* x_70;
-lean_dec(x_51);
-x_65 = l_Lean_Parser_Term_prop___elambda__1___closed__9;
-x_66 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_65, x_47);
-x_67 = l_Lean_Parser_Term_prop___elambda__1___closed__2;
-x_68 = l_Lean_Parser_ParserState_mkNode(x_66, x_67, x_46);
-x_69 = 1;
-x_70 = l_Lean_Parser_mergeOrElseErrors(x_68, x_38, x_35, x_69);
-lean_dec(x_35);
-return x_70;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; uint8_t x_75; lean_object* x_76;
-lean_dec(x_49);
-x_71 = l_Lean_Parser_Term_prop___elambda__1___closed__9;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_71, x_47);
-x_73 = l_Lean_Parser_Term_prop___elambda__1___closed__2;
-x_74 = l_Lean_Parser_ParserState_mkNode(x_72, x_73, x_46);
-x_75 = 1;
-x_76 = l_Lean_Parser_mergeOrElseErrors(x_74, x_38, x_35, x_75);
-lean_dec(x_35);
-return x_76;
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_44);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_43, x_38, x_35, x_77);
-lean_dec(x_35);
-return x_78;
-}
-}
-}
+lean_object* x_16; uint8_t x_17; lean_object* x_18;
+x_16 = l_Lean_Parser_Term_prop___elambda__1___closed__9;
+x_17 = 1;
+x_18 = l_Lean_Parser_orelseFnCore(x_4, x_16, x_17, x_1, x_2);
+return x_18;
}
}
}
@@ -11870,6 +9516,30 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Term_hole___elambda__1___closed__3() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_mkHole___closed__2;
+x_2 = l_Lean_Parser_Level_hole___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_hole___elambda__1___closed__4() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_hole___elambda__1___closed__3;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Term_hole___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -11890,71 +9560,17 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
+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;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_11 = lean_ctor_get(x_7, 1);
-lean_inc(x_11);
-x_12 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_13 = lean_ctor_get(x_12, 3);
-lean_inc(x_13);
-if (lean_obj_tag(x_13) == 0)
-{
-lean_object* x_14; lean_object* x_15;
-x_14 = lean_ctor_get(x_12, 0);
-lean_inc(x_14);
-x_15 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_14);
-lean_dec(x_14);
-if (lean_obj_tag(x_15) == 2)
-{
-lean_object* x_16; lean_object* x_17; uint8_t x_18;
-x_16 = lean_ctor_get(x_15, 1);
-lean_inc(x_16);
-lean_dec(x_15);
-x_17 = l_Lean_Parser_Level_hole___elambda__1___closed__4;
-x_18 = lean_string_dec_eq(x_16, x_17);
-lean_dec(x_16);
-if (x_18 == 0)
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
-x_19 = l_Lean_Parser_Level_hole___elambda__1___closed__7;
-x_20 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_19, x_11);
-x_21 = l_Lean_mkHole___closed__2;
-x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_10);
-return x_22;
-}
-else
-{
-lean_object* x_23; lean_object* x_24;
-lean_dec(x_11);
-x_23 = l_Lean_mkHole___closed__2;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_12, x_23, x_10);
-return x_24;
-}
-}
-else
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
-lean_dec(x_15);
-x_25 = l_Lean_Parser_Level_hole___elambda__1___closed__7;
-x_26 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_25, x_11);
-x_27 = l_Lean_mkHole___closed__2;
-x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_10);
-return x_28;
-}
-}
-else
-{
-lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
-lean_dec(x_13);
-x_29 = l_Lean_Parser_Level_hole___elambda__1___closed__7;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_29, x_11);
-x_31 = l_Lean_mkHole___closed__2;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_10);
-return x_32;
-}
+x_11 = l_Lean_Parser_Level_hole___elambda__1___closed__4;
+x_12 = l_Lean_Parser_Level_hole___elambda__1___closed__9;
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = l_Lean_mkHole___closed__2;
+x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
+return x_15;
}
else
{
@@ -11965,144 +9581,11 @@ return x_7;
}
else
{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_33 = lean_ctor_get(x_2, 0);
-lean_inc(x_33);
-x_34 = lean_array_get_size(x_33);
-lean_dec(x_33);
-x_35 = lean_ctor_get(x_2, 1);
-lean_inc(x_35);
-lean_inc(x_1);
-x_36 = lean_apply_2(x_4, x_1, x_2);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_36, 1);
-lean_inc(x_39);
-x_40 = lean_nat_dec_eq(x_39, x_35);
-lean_dec(x_39);
-if (x_40 == 0)
-{
-lean_dec(x_38);
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
-lean_inc(x_35);
-x_41 = l_Lean_Parser_ParserState_restore(x_36, x_34, x_35);
-lean_dec(x_34);
-x_42 = lean_unsigned_to_nat(1024u);
-x_43 = l_Lean_Parser_checkPrecFn(x_42, x_1, x_41);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-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_43, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-x_47 = lean_ctor_get(x_43, 1);
-lean_inc(x_47);
-x_48 = l_Lean_Parser_tokenFn(x_1, x_43);
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
-{
-lean_object* x_50; lean_object* x_51;
-x_50 = lean_ctor_get(x_48, 0);
-lean_inc(x_50);
-x_51 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_50);
-lean_dec(x_50);
-if (lean_obj_tag(x_51) == 2)
-{
-lean_object* x_52; lean_object* x_53; uint8_t x_54;
-x_52 = lean_ctor_get(x_51, 1);
-lean_inc(x_52);
-lean_dec(x_51);
-x_53 = l_Lean_Parser_Level_hole___elambda__1___closed__4;
-x_54 = lean_string_dec_eq(x_52, x_53);
-lean_dec(x_52);
-if (x_54 == 0)
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; uint8_t x_59; lean_object* x_60;
-x_55 = l_Lean_Parser_Level_hole___elambda__1___closed__7;
-x_56 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_55, x_47);
-x_57 = l_Lean_mkHole___closed__2;
-x_58 = l_Lean_Parser_ParserState_mkNode(x_56, x_57, x_46);
-x_59 = 1;
-x_60 = l_Lean_Parser_mergeOrElseErrors(x_58, x_38, x_35, x_59);
-lean_dec(x_35);
-return x_60;
-}
-else
-{
-lean_object* x_61; lean_object* x_62; uint8_t x_63; lean_object* x_64;
-lean_dec(x_47);
-x_61 = l_Lean_mkHole___closed__2;
-x_62 = l_Lean_Parser_ParserState_mkNode(x_48, x_61, x_46);
-x_63 = 1;
-x_64 = l_Lean_Parser_mergeOrElseErrors(x_62, x_38, x_35, x_63);
-lean_dec(x_35);
-return x_64;
-}
-}
-else
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; uint8_t x_69; lean_object* x_70;
-lean_dec(x_51);
-x_65 = l_Lean_Parser_Level_hole___elambda__1___closed__7;
-x_66 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_65, x_47);
-x_67 = l_Lean_mkHole___closed__2;
-x_68 = l_Lean_Parser_ParserState_mkNode(x_66, x_67, x_46);
-x_69 = 1;
-x_70 = l_Lean_Parser_mergeOrElseErrors(x_68, x_38, x_35, x_69);
-lean_dec(x_35);
-return x_70;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; uint8_t x_75; lean_object* x_76;
-lean_dec(x_49);
-x_71 = l_Lean_Parser_Level_hole___elambda__1___closed__7;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_71, x_47);
-x_73 = l_Lean_mkHole___closed__2;
-x_74 = l_Lean_Parser_ParserState_mkNode(x_72, x_73, x_46);
-x_75 = 1;
-x_76 = l_Lean_Parser_mergeOrElseErrors(x_74, x_38, x_35, x_75);
-lean_dec(x_35);
-return x_76;
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_44);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_43, x_38, x_35, x_77);
-lean_dec(x_35);
-return x_78;
-}
-}
-}
+lean_object* x_16; uint8_t x_17; lean_object* x_18;
+x_16 = l_Lean_Parser_Term_hole___elambda__1___closed__4;
+x_17 = 1;
+x_18 = l_Lean_Parser_orelseFnCore(x_4, x_16, x_17, x_1, x_2);
+return x_18;
}
}
}
@@ -12344,20 +9827,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_syntheticHole___elambda__1___closed__6() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_syntheticHole___elambda__1___closed__5;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_syntheticHole___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_syntheticHole___elambda__1___closed__7() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_syntheticHole___elambda__1___closed__6;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Term_ident___closed__1;
+x_2 = l_Lean_Parser_Term_hole___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -12365,11 +9850,55 @@ static lean_object* _init_l_Lean_Parser_Term_syntheticHole___elambda__1___closed
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Term_syntheticHole___elambda__1___closed__6;
x_2 = l_Lean_Parser_Term_syntheticHole___elambda__1___closed__7;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_syntheticHole___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_syntheticHole___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_syntheticHole___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_syntheticHole___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_syntheticHole___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_syntheticHole___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_syntheticHole___elambda__1___closed__5;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_syntheticHole___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_syntheticHole___elambda__1___closed__11;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -12393,141 +9922,36 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_34; lean_object* x_35; lean_object* x_36;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_34 = lean_ctor_get(x_7, 1);
-lean_inc(x_34);
+x_11 = l_Lean_Parser_Term_syntheticHole___elambda__1___closed__5;
+x_12 = l_Lean_Parser_Term_syntheticHole___elambda__1___closed__12;
lean_inc(x_1);
-x_35 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_36 = lean_ctor_get(x_35, 3);
-lean_inc(x_36);
-if (lean_obj_tag(x_36) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_37; lean_object* x_38;
-x_37 = lean_ctor_get(x_35, 0);
-lean_inc(x_37);
-x_38 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_37);
-lean_dec(x_37);
-if (lean_obj_tag(x_38) == 2)
-{
-lean_object* x_39; lean_object* x_40; uint8_t x_41;
-x_39 = lean_ctor_get(x_38, 1);
-lean_inc(x_39);
-lean_dec(x_38);
-x_40 = l_Lean_Parser_Term_syntheticHole___elambda__1___closed__5;
-x_41 = lean_string_dec_eq(x_39, x_40);
-lean_dec(x_39);
-if (x_41 == 0)
-{
-lean_object* x_42; lean_object* x_43;
-x_42 = l_Lean_Parser_Term_syntheticHole___elambda__1___closed__8;
-x_43 = l_Lean_Parser_ParserState_mkErrorsAt(x_35, x_42, x_34);
-x_11 = x_43;
-goto block_33;
+lean_object* x_15; lean_object* x_16; uint8_t x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
+x_15 = l_Lean_Parser_Term_ident___closed__1;
+x_16 = l_Lean_Parser_Term_hole___closed__4;
+x_17 = 1;
+x_18 = l_Lean_Parser_orelseFnCore(x_15, x_16, x_17, x_1, x_13);
+x_19 = l_Lean_Parser_Term_syntheticHole___elambda__1___closed__2;
+x_20 = l_Lean_Parser_ParserState_mkNode(x_18, x_19, x_10);
+return x_20;
}
else
{
-lean_dec(x_34);
-x_11 = x_35;
-goto block_33;
-}
-}
-else
-{
-lean_object* x_44; lean_object* x_45;
-lean_dec(x_38);
-x_44 = l_Lean_Parser_Term_syntheticHole___elambda__1___closed__8;
-x_45 = l_Lean_Parser_ParserState_mkErrorsAt(x_35, x_44, x_34);
-x_11 = x_45;
-goto block_33;
-}
-}
-else
-{
-lean_object* x_46; lean_object* x_47;
-lean_dec(x_36);
-x_46 = l_Lean_Parser_Term_syntheticHole___elambda__1___closed__8;
-x_47 = l_Lean_Parser_ParserState_mkErrorsAt(x_35, x_46, x_34);
-x_11 = x_47;
-goto block_33;
-}
-block_33:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_13 = lean_ctor_get(x_11, 0);
-lean_inc(x_13);
-x_14 = lean_array_get_size(x_13);
-lean_dec(x_13);
-x_15 = lean_ctor_get(x_11, 1);
-lean_inc(x_15);
-lean_inc(x_1);
-x_16 = l_Lean_Parser_Term_ident___elambda__1(x_1, x_11);
-x_17 = lean_ctor_get(x_16, 3);
-lean_inc(x_17);
-if (lean_obj_tag(x_17) == 0)
-{
-lean_object* x_18; lean_object* x_19;
-lean_dec(x_15);
+lean_object* x_21; lean_object* x_22;
lean_dec(x_14);
lean_dec(x_1);
-x_18 = l_Lean_Parser_Term_syntheticHole___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_16, x_18, x_10);
-return x_19;
-}
-else
-{
-lean_object* x_20; lean_object* x_21; uint8_t x_22;
-x_20 = lean_ctor_get(x_17, 0);
-lean_inc(x_20);
-lean_dec(x_17);
-x_21 = lean_ctor_get(x_16, 1);
-lean_inc(x_21);
-x_22 = lean_nat_dec_eq(x_21, x_15);
-lean_dec(x_21);
-if (x_22 == 0)
-{
-lean_object* x_23; lean_object* x_24;
-lean_dec(x_20);
-lean_dec(x_15);
-lean_dec(x_14);
-lean_dec(x_1);
-x_23 = l_Lean_Parser_Term_syntheticHole___elambda__1___closed__2;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_16, x_23, x_10);
-return x_24;
-}
-else
-{
-lean_object* x_25; lean_object* x_26; uint8_t x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30;
-lean_inc(x_15);
-x_25 = l_Lean_Parser_ParserState_restore(x_16, x_14, x_15);
-lean_dec(x_14);
-x_26 = l_Lean_Parser_Term_hole___elambda__1(x_1, x_25);
-x_27 = 1;
-x_28 = l_Lean_Parser_mergeOrElseErrors(x_26, x_20, x_15, x_27);
-lean_dec(x_15);
-x_29 = l_Lean_Parser_Term_syntheticHole___elambda__1___closed__2;
-x_30 = l_Lean_Parser_ParserState_mkNode(x_28, x_29, x_10);
-return x_30;
-}
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32;
-lean_dec(x_12);
-lean_dec(x_1);
-x_31 = l_Lean_Parser_Term_syntheticHole___elambda__1___closed__2;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_11, x_31, x_10);
-return x_32;
-}
+x_21 = l_Lean_Parser_Term_syntheticHole___elambda__1___closed__2;
+x_22 = l_Lean_Parser_ParserState_mkNode(x_13, x_21, x_10);
+return x_22;
}
}
else
@@ -12539,214 +9963,11 @@ return x_7;
}
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_2, 0);
-lean_inc(x_48);
-x_49 = lean_array_get_size(x_48);
-lean_dec(x_48);
-x_50 = lean_ctor_get(x_2, 1);
-lean_inc(x_50);
-lean_inc(x_1);
-x_51 = lean_apply_2(x_4, x_1, x_2);
-x_52 = lean_ctor_get(x_51, 3);
-lean_inc(x_52);
-if (lean_obj_tag(x_52) == 0)
-{
-lean_dec(x_50);
-lean_dec(x_49);
-lean_dec(x_1);
-return x_51;
-}
-else
-{
-lean_object* x_53; lean_object* x_54; uint8_t x_55;
-x_53 = lean_ctor_get(x_52, 0);
-lean_inc(x_53);
-lean_dec(x_52);
-x_54 = lean_ctor_get(x_51, 1);
-lean_inc(x_54);
-x_55 = lean_nat_dec_eq(x_54, x_50);
-lean_dec(x_54);
-if (x_55 == 0)
-{
-lean_dec(x_53);
-lean_dec(x_50);
-lean_dec(x_49);
-lean_dec(x_1);
-return x_51;
-}
-else
-{
-lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59;
-lean_inc(x_50);
-x_56 = l_Lean_Parser_ParserState_restore(x_51, x_49, x_50);
-lean_dec(x_49);
-x_57 = lean_unsigned_to_nat(1024u);
-x_58 = l_Lean_Parser_checkPrecFn(x_57, x_1, x_56);
-x_59 = lean_ctor_get(x_58, 3);
-lean_inc(x_59);
-if (lean_obj_tag(x_59) == 0)
-{
-lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_92; lean_object* x_93; lean_object* x_94;
-x_60 = lean_ctor_get(x_58, 0);
-lean_inc(x_60);
-x_61 = lean_array_get_size(x_60);
-lean_dec(x_60);
-x_92 = lean_ctor_get(x_58, 1);
-lean_inc(x_92);
-lean_inc(x_1);
-x_93 = l_Lean_Parser_tokenFn(x_1, x_58);
-x_94 = lean_ctor_get(x_93, 3);
-lean_inc(x_94);
-if (lean_obj_tag(x_94) == 0)
-{
-lean_object* x_95; lean_object* x_96;
-x_95 = lean_ctor_get(x_93, 0);
-lean_inc(x_95);
-x_96 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_95);
-lean_dec(x_95);
-if (lean_obj_tag(x_96) == 2)
-{
-lean_object* x_97; lean_object* x_98; uint8_t x_99;
-x_97 = lean_ctor_get(x_96, 1);
-lean_inc(x_97);
-lean_dec(x_96);
-x_98 = l_Lean_Parser_Term_syntheticHole___elambda__1___closed__5;
-x_99 = lean_string_dec_eq(x_97, x_98);
-lean_dec(x_97);
-if (x_99 == 0)
-{
-lean_object* x_100; lean_object* x_101;
-x_100 = l_Lean_Parser_Term_syntheticHole___elambda__1___closed__8;
-x_101 = l_Lean_Parser_ParserState_mkErrorsAt(x_93, x_100, x_92);
-x_62 = x_101;
-goto block_91;
-}
-else
-{
-lean_dec(x_92);
-x_62 = x_93;
-goto block_91;
-}
-}
-else
-{
-lean_object* x_102; lean_object* x_103;
-lean_dec(x_96);
-x_102 = l_Lean_Parser_Term_syntheticHole___elambda__1___closed__8;
-x_103 = l_Lean_Parser_ParserState_mkErrorsAt(x_93, x_102, x_92);
-x_62 = x_103;
-goto block_91;
-}
-}
-else
-{
-lean_object* x_104; lean_object* x_105;
-lean_dec(x_94);
-x_104 = l_Lean_Parser_Term_syntheticHole___elambda__1___closed__8;
-x_105 = l_Lean_Parser_ParserState_mkErrorsAt(x_93, x_104, x_92);
-x_62 = x_105;
-goto block_91;
-}
-block_91:
-{
-lean_object* x_63;
-x_63 = lean_ctor_get(x_62, 3);
-lean_inc(x_63);
-if (lean_obj_tag(x_63) == 0)
-{
-lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68;
-x_64 = lean_ctor_get(x_62, 0);
-lean_inc(x_64);
-x_65 = lean_array_get_size(x_64);
-lean_dec(x_64);
-x_66 = lean_ctor_get(x_62, 1);
-lean_inc(x_66);
-lean_inc(x_1);
-x_67 = l_Lean_Parser_Term_ident___elambda__1(x_1, x_62);
-x_68 = lean_ctor_get(x_67, 3);
-lean_inc(x_68);
-if (lean_obj_tag(x_68) == 0)
-{
-lean_object* x_69; lean_object* x_70; uint8_t x_71; lean_object* x_72;
-lean_dec(x_66);
-lean_dec(x_65);
-lean_dec(x_1);
-x_69 = l_Lean_Parser_Term_syntheticHole___elambda__1___closed__2;
-x_70 = l_Lean_Parser_ParserState_mkNode(x_67, x_69, x_61);
-x_71 = 1;
-x_72 = l_Lean_Parser_mergeOrElseErrors(x_70, x_53, x_50, x_71);
-lean_dec(x_50);
-return x_72;
-}
-else
-{
-lean_object* x_73; lean_object* x_74; uint8_t x_75;
-x_73 = lean_ctor_get(x_68, 0);
-lean_inc(x_73);
-lean_dec(x_68);
-x_74 = lean_ctor_get(x_67, 1);
-lean_inc(x_74);
-x_75 = lean_nat_dec_eq(x_74, x_66);
-lean_dec(x_74);
-if (x_75 == 0)
-{
-lean_object* x_76; lean_object* x_77; uint8_t x_78; lean_object* x_79;
-lean_dec(x_73);
-lean_dec(x_66);
-lean_dec(x_65);
-lean_dec(x_1);
-x_76 = l_Lean_Parser_Term_syntheticHole___elambda__1___closed__2;
-x_77 = l_Lean_Parser_ParserState_mkNode(x_67, x_76, x_61);
-x_78 = 1;
-x_79 = l_Lean_Parser_mergeOrElseErrors(x_77, x_53, x_50, x_78);
-lean_dec(x_50);
-return x_79;
-}
-else
-{
-lean_object* x_80; lean_object* x_81; uint8_t x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86;
-lean_inc(x_66);
-x_80 = l_Lean_Parser_ParserState_restore(x_67, x_65, x_66);
-lean_dec(x_65);
-x_81 = l_Lean_Parser_Term_hole___elambda__1(x_1, x_80);
-x_82 = 1;
-x_83 = l_Lean_Parser_mergeOrElseErrors(x_81, x_73, x_66, x_82);
-lean_dec(x_66);
-x_84 = l_Lean_Parser_Term_syntheticHole___elambda__1___closed__2;
-x_85 = l_Lean_Parser_ParserState_mkNode(x_83, x_84, x_61);
-x_86 = l_Lean_Parser_mergeOrElseErrors(x_85, x_53, x_50, x_82);
-lean_dec(x_50);
-return x_86;
-}
-}
-}
-else
-{
-lean_object* x_87; lean_object* x_88; uint8_t x_89; lean_object* x_90;
-lean_dec(x_63);
-lean_dec(x_1);
-x_87 = l_Lean_Parser_Term_syntheticHole___elambda__1___closed__2;
-x_88 = l_Lean_Parser_ParserState_mkNode(x_62, x_87, x_61);
-x_89 = 1;
-x_90 = l_Lean_Parser_mergeOrElseErrors(x_88, x_53, x_50, x_89);
-lean_dec(x_50);
-return x_90;
-}
-}
-}
-else
-{
-uint8_t x_106; lean_object* x_107;
-lean_dec(x_59);
-lean_dec(x_1);
-x_106 = 1;
-x_107 = l_Lean_Parser_mergeOrElseErrors(x_58, x_53, x_50, x_106);
-lean_dec(x_50);
-return x_107;
-}
-}
-}
+lean_object* x_23; uint8_t x_24; lean_object* x_25;
+x_23 = l_Lean_Parser_Term_syntheticHole___elambda__1___closed__10;
+x_24 = 1;
+x_25 = l_Lean_Parser_orelseFnCore(x_4, x_23, x_24, x_1, x_2);
+return x_25;
}
}
}
@@ -13079,20 +10300,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_sorry___elambda__1___closed__6() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_sorry___elambda__1___closed__5;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_sorry___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_sorry___elambda__1___closed__7() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_sorry___elambda__1___closed__6;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Term_sorry___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_sorry___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -13100,11 +10323,31 @@ static lean_object* _init_l_Lean_Parser_Term_sorry___elambda__1___closed__8() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
x_2 = l_Lean_Parser_Term_sorry___elambda__1___closed__7;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_sorry___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_sorry___elambda__1___closed__5;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_sorry___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_sorry___elambda__1___closed__9;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -13128,71 +10371,17 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
+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;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_11 = lean_ctor_get(x_7, 1);
-lean_inc(x_11);
-x_12 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_13 = lean_ctor_get(x_12, 3);
-lean_inc(x_13);
-if (lean_obj_tag(x_13) == 0)
-{
-lean_object* x_14; lean_object* x_15;
-x_14 = lean_ctor_get(x_12, 0);
-lean_inc(x_14);
-x_15 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_14);
-lean_dec(x_14);
-if (lean_obj_tag(x_15) == 2)
-{
-lean_object* x_16; lean_object* x_17; uint8_t x_18;
-x_16 = lean_ctor_get(x_15, 1);
-lean_inc(x_16);
-lean_dec(x_15);
-x_17 = l_Lean_Parser_Term_sorry___elambda__1___closed__5;
-x_18 = lean_string_dec_eq(x_16, x_17);
-lean_dec(x_16);
-if (x_18 == 0)
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
-x_19 = l_Lean_Parser_Term_sorry___elambda__1___closed__8;
-x_20 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_19, x_11);
-x_21 = l_Lean_Parser_Term_sorry___elambda__1___closed__2;
-x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_10);
-return x_22;
-}
-else
-{
-lean_object* x_23; lean_object* x_24;
-lean_dec(x_11);
-x_23 = l_Lean_Parser_Term_sorry___elambda__1___closed__2;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_12, x_23, x_10);
-return x_24;
-}
-}
-else
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
-lean_dec(x_15);
-x_25 = l_Lean_Parser_Term_sorry___elambda__1___closed__8;
-x_26 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_25, x_11);
-x_27 = l_Lean_Parser_Term_sorry___elambda__1___closed__2;
-x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_10);
-return x_28;
-}
-}
-else
-{
-lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
-lean_dec(x_13);
-x_29 = l_Lean_Parser_Term_sorry___elambda__1___closed__8;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_29, x_11);
-x_31 = l_Lean_Parser_Term_sorry___elambda__1___closed__2;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_10);
-return x_32;
-}
+x_11 = l_Lean_Parser_Term_sorry___elambda__1___closed__5;
+x_12 = l_Lean_Parser_Term_sorry___elambda__1___closed__10;
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = l_Lean_Parser_Term_sorry___elambda__1___closed__2;
+x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
+return x_15;
}
else
{
@@ -13203,144 +10392,11 @@ return x_7;
}
else
{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_33 = lean_ctor_get(x_2, 0);
-lean_inc(x_33);
-x_34 = lean_array_get_size(x_33);
-lean_dec(x_33);
-x_35 = lean_ctor_get(x_2, 1);
-lean_inc(x_35);
-lean_inc(x_1);
-x_36 = lean_apply_2(x_4, x_1, x_2);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_36, 1);
-lean_inc(x_39);
-x_40 = lean_nat_dec_eq(x_39, x_35);
-lean_dec(x_39);
-if (x_40 == 0)
-{
-lean_dec(x_38);
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
-lean_inc(x_35);
-x_41 = l_Lean_Parser_ParserState_restore(x_36, x_34, x_35);
-lean_dec(x_34);
-x_42 = lean_unsigned_to_nat(1024u);
-x_43 = l_Lean_Parser_checkPrecFn(x_42, x_1, x_41);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-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_43, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-x_47 = lean_ctor_get(x_43, 1);
-lean_inc(x_47);
-x_48 = l_Lean_Parser_tokenFn(x_1, x_43);
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
-{
-lean_object* x_50; lean_object* x_51;
-x_50 = lean_ctor_get(x_48, 0);
-lean_inc(x_50);
-x_51 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_50);
-lean_dec(x_50);
-if (lean_obj_tag(x_51) == 2)
-{
-lean_object* x_52; lean_object* x_53; uint8_t x_54;
-x_52 = lean_ctor_get(x_51, 1);
-lean_inc(x_52);
-lean_dec(x_51);
-x_53 = l_Lean_Parser_Term_sorry___elambda__1___closed__5;
-x_54 = lean_string_dec_eq(x_52, x_53);
-lean_dec(x_52);
-if (x_54 == 0)
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; uint8_t x_59; lean_object* x_60;
-x_55 = l_Lean_Parser_Term_sorry___elambda__1___closed__8;
-x_56 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_55, x_47);
-x_57 = l_Lean_Parser_Term_sorry___elambda__1___closed__2;
-x_58 = l_Lean_Parser_ParserState_mkNode(x_56, x_57, x_46);
-x_59 = 1;
-x_60 = l_Lean_Parser_mergeOrElseErrors(x_58, x_38, x_35, x_59);
-lean_dec(x_35);
-return x_60;
-}
-else
-{
-lean_object* x_61; lean_object* x_62; uint8_t x_63; lean_object* x_64;
-lean_dec(x_47);
-x_61 = l_Lean_Parser_Term_sorry___elambda__1___closed__2;
-x_62 = l_Lean_Parser_ParserState_mkNode(x_48, x_61, x_46);
-x_63 = 1;
-x_64 = l_Lean_Parser_mergeOrElseErrors(x_62, x_38, x_35, x_63);
-lean_dec(x_35);
-return x_64;
-}
-}
-else
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; uint8_t x_69; lean_object* x_70;
-lean_dec(x_51);
-x_65 = l_Lean_Parser_Term_sorry___elambda__1___closed__8;
-x_66 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_65, x_47);
-x_67 = l_Lean_Parser_Term_sorry___elambda__1___closed__2;
-x_68 = l_Lean_Parser_ParserState_mkNode(x_66, x_67, x_46);
-x_69 = 1;
-x_70 = l_Lean_Parser_mergeOrElseErrors(x_68, x_38, x_35, x_69);
-lean_dec(x_35);
-return x_70;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; uint8_t x_75; lean_object* x_76;
-lean_dec(x_49);
-x_71 = l_Lean_Parser_Term_sorry___elambda__1___closed__8;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_71, x_47);
-x_73 = l_Lean_Parser_Term_sorry___elambda__1___closed__2;
-x_74 = l_Lean_Parser_ParserState_mkNode(x_72, x_73, x_46);
-x_75 = 1;
-x_76 = l_Lean_Parser_mergeOrElseErrors(x_74, x_38, x_35, x_75);
-lean_dec(x_35);
-return x_76;
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_44);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_43, x_38, x_35, x_77);
-lean_dec(x_35);
-return x_78;
-}
-}
-}
+lean_object* x_16; uint8_t x_17; lean_object* x_18;
+x_16 = l_Lean_Parser_Term_sorry___elambda__1___closed__8;
+x_17 = 1;
+x_18 = l_Lean_Parser_orelseFnCore(x_4, x_16, x_17, x_1, x_2);
+return x_18;
}
}
}
@@ -13609,20 +10665,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_cdot___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_cdot___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_cdot___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_cdot___elambda__1___closed__8() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_cdot___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Term_cdot___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_cdot___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -13630,11 +10688,31 @@ static lean_object* _init_l_Lean_Parser_Term_cdot___elambda__1___closed__9() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
x_2 = l_Lean_Parser_Term_cdot___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_cdot___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_cdot___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_cdot___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_cdot___elambda__1___closed__10;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -13658,71 +10736,17 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
+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;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_11 = lean_ctor_get(x_7, 1);
-lean_inc(x_11);
-x_12 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_13 = lean_ctor_get(x_12, 3);
-lean_inc(x_13);
-if (lean_obj_tag(x_13) == 0)
-{
-lean_object* x_14; lean_object* x_15;
-x_14 = lean_ctor_get(x_12, 0);
-lean_inc(x_14);
-x_15 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_14);
-lean_dec(x_14);
-if (lean_obj_tag(x_15) == 2)
-{
-lean_object* x_16; lean_object* x_17; uint8_t x_18;
-x_16 = lean_ctor_get(x_15, 1);
-lean_inc(x_16);
-lean_dec(x_15);
-x_17 = l_Lean_Parser_Term_cdot___elambda__1___closed__6;
-x_18 = lean_string_dec_eq(x_16, x_17);
-lean_dec(x_16);
-if (x_18 == 0)
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
-x_19 = l_Lean_Parser_Term_cdot___elambda__1___closed__9;
-x_20 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_19, x_11);
-x_21 = l_Lean_Parser_Term_cdot___elambda__1___closed__2;
-x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_10);
-return x_22;
-}
-else
-{
-lean_object* x_23; lean_object* x_24;
-lean_dec(x_11);
-x_23 = l_Lean_Parser_Term_cdot___elambda__1___closed__2;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_12, x_23, x_10);
-return x_24;
-}
-}
-else
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
-lean_dec(x_15);
-x_25 = l_Lean_Parser_Term_cdot___elambda__1___closed__9;
-x_26 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_25, x_11);
-x_27 = l_Lean_Parser_Term_cdot___elambda__1___closed__2;
-x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_10);
-return x_28;
-}
-}
-else
-{
-lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
-lean_dec(x_13);
-x_29 = l_Lean_Parser_Term_cdot___elambda__1___closed__9;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_29, x_11);
-x_31 = l_Lean_Parser_Term_cdot___elambda__1___closed__2;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_10);
-return x_32;
-}
+x_11 = l_Lean_Parser_Term_cdot___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Term_cdot___elambda__1___closed__11;
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = l_Lean_Parser_Term_cdot___elambda__1___closed__2;
+x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
+return x_15;
}
else
{
@@ -13733,144 +10757,11 @@ return x_7;
}
else
{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_33 = lean_ctor_get(x_2, 0);
-lean_inc(x_33);
-x_34 = lean_array_get_size(x_33);
-lean_dec(x_33);
-x_35 = lean_ctor_get(x_2, 1);
-lean_inc(x_35);
-lean_inc(x_1);
-x_36 = lean_apply_2(x_4, x_1, x_2);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_36, 1);
-lean_inc(x_39);
-x_40 = lean_nat_dec_eq(x_39, x_35);
-lean_dec(x_39);
-if (x_40 == 0)
-{
-lean_dec(x_38);
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
-lean_inc(x_35);
-x_41 = l_Lean_Parser_ParserState_restore(x_36, x_34, x_35);
-lean_dec(x_34);
-x_42 = lean_unsigned_to_nat(1024u);
-x_43 = l_Lean_Parser_checkPrecFn(x_42, x_1, x_41);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-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_43, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-x_47 = lean_ctor_get(x_43, 1);
-lean_inc(x_47);
-x_48 = l_Lean_Parser_tokenFn(x_1, x_43);
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
-{
-lean_object* x_50; lean_object* x_51;
-x_50 = lean_ctor_get(x_48, 0);
-lean_inc(x_50);
-x_51 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_50);
-lean_dec(x_50);
-if (lean_obj_tag(x_51) == 2)
-{
-lean_object* x_52; lean_object* x_53; uint8_t x_54;
-x_52 = lean_ctor_get(x_51, 1);
-lean_inc(x_52);
-lean_dec(x_51);
-x_53 = l_Lean_Parser_Term_cdot___elambda__1___closed__6;
-x_54 = lean_string_dec_eq(x_52, x_53);
-lean_dec(x_52);
-if (x_54 == 0)
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; uint8_t x_59; lean_object* x_60;
-x_55 = l_Lean_Parser_Term_cdot___elambda__1___closed__9;
-x_56 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_55, x_47);
-x_57 = l_Lean_Parser_Term_cdot___elambda__1___closed__2;
-x_58 = l_Lean_Parser_ParserState_mkNode(x_56, x_57, x_46);
-x_59 = 1;
-x_60 = l_Lean_Parser_mergeOrElseErrors(x_58, x_38, x_35, x_59);
-lean_dec(x_35);
-return x_60;
-}
-else
-{
-lean_object* x_61; lean_object* x_62; uint8_t x_63; lean_object* x_64;
-lean_dec(x_47);
-x_61 = l_Lean_Parser_Term_cdot___elambda__1___closed__2;
-x_62 = l_Lean_Parser_ParserState_mkNode(x_48, x_61, x_46);
-x_63 = 1;
-x_64 = l_Lean_Parser_mergeOrElseErrors(x_62, x_38, x_35, x_63);
-lean_dec(x_35);
-return x_64;
-}
-}
-else
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; uint8_t x_69; lean_object* x_70;
-lean_dec(x_51);
-x_65 = l_Lean_Parser_Term_cdot___elambda__1___closed__9;
-x_66 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_65, x_47);
-x_67 = l_Lean_Parser_Term_cdot___elambda__1___closed__2;
-x_68 = l_Lean_Parser_ParserState_mkNode(x_66, x_67, x_46);
-x_69 = 1;
-x_70 = l_Lean_Parser_mergeOrElseErrors(x_68, x_38, x_35, x_69);
-lean_dec(x_35);
-return x_70;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; uint8_t x_75; lean_object* x_76;
-lean_dec(x_49);
-x_71 = l_Lean_Parser_Term_cdot___elambda__1___closed__9;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_71, x_47);
-x_73 = l_Lean_Parser_Term_cdot___elambda__1___closed__2;
-x_74 = l_Lean_Parser_ParserState_mkNode(x_72, x_73, x_46);
-x_75 = 1;
-x_76 = l_Lean_Parser_mergeOrElseErrors(x_74, x_38, x_35, x_75);
-lean_dec(x_35);
-return x_76;
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_44);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_43, x_38, x_35, x_77);
-lean_dec(x_35);
-return x_78;
-}
-}
-}
+lean_object* x_16; uint8_t x_17; lean_object* x_18;
+x_16 = l_Lean_Parser_Term_cdot___elambda__1___closed__9;
+x_17 = 1;
+x_18 = l_Lean_Parser_orelseFnCore(x_4, x_16, x_17, x_1, x_2);
+return x_18;
}
}
}
@@ -14139,20 +11030,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_emptyC___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_emptyC___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_emptyC___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_emptyC___elambda__1___closed__8() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_emptyC___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -14160,11 +11053,35 @@ static lean_object* _init_l_Lean_Parser_Term_emptyC___elambda__1___closed__9() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Term_emptyC___elambda__1___closed__7;
x_2 = l_Lean_Parser_Term_emptyC___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_emptyC___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_emptyC___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_emptyC___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_emptyC___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_emptyC___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -14188,261 +11105,18 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_73; lean_object* x_74;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_11 = lean_ctor_get(x_7, 1);
-lean_inc(x_11);
-lean_inc(x_1);
-x_73 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_74 = lean_ctor_get(x_73, 3);
-lean_inc(x_74);
-if (lean_obj_tag(x_74) == 0)
-{
-lean_object* x_75; lean_object* x_76;
-x_75 = lean_ctor_get(x_73, 0);
-lean_inc(x_75);
-x_76 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_75);
-lean_dec(x_75);
-if (lean_obj_tag(x_76) == 2)
-{
-lean_object* x_77; lean_object* x_78; uint8_t x_79;
-x_77 = lean_ctor_get(x_76, 1);
-lean_inc(x_77);
-lean_dec(x_76);
-x_78 = l_Lean_Parser_Term_emptyC___elambda__1___closed__6;
-x_79 = lean_string_dec_eq(x_77, x_78);
-lean_dec(x_77);
-if (x_79 == 0)
-{
-lean_object* x_80; lean_object* x_81;
-x_80 = l_Lean_Parser_Term_emptyC___elambda__1___closed__9;
-lean_inc(x_11);
-x_81 = l_Lean_Parser_ParserState_mkErrorsAt(x_73, x_80, x_11);
-x_12 = x_81;
-goto block_72;
-}
-else
-{
-x_12 = x_73;
-goto block_72;
-}
-}
-else
-{
-lean_object* x_82; lean_object* x_83;
-lean_dec(x_76);
-x_82 = l_Lean_Parser_Term_emptyC___elambda__1___closed__9;
-lean_inc(x_11);
-x_83 = l_Lean_Parser_ParserState_mkErrorsAt(x_73, x_82, x_11);
-x_12 = x_83;
-goto block_72;
-}
-}
-else
-{
-lean_object* x_84; lean_object* x_85;
-lean_dec(x_74);
-x_84 = l_Lean_Parser_Term_emptyC___elambda__1___closed__9;
-lean_inc(x_11);
-x_85 = l_Lean_Parser_ParserState_mkErrorsAt(x_73, x_84, x_11);
-x_12 = x_85;
-goto block_72;
-}
-block_72:
-{
-lean_object* x_13;
-x_13 = lean_ctor_get(x_12, 3);
-lean_inc(x_13);
-if (lean_obj_tag(x_13) == 0)
-{
-lean_object* x_14; lean_object* x_15;
-lean_dec(x_11);
-lean_dec(x_1);
-x_14 = l_Lean_Parser_Term_emptyC___elambda__1___closed__2;
-x_15 = l_Lean_Parser_ParserState_mkNode(x_12, x_14, x_10);
-return x_15;
-}
-else
-{
-lean_object* x_16; lean_object* x_17; lean_object* x_54; uint8_t x_55;
-x_16 = lean_ctor_get(x_13, 0);
-lean_inc(x_16);
-lean_dec(x_13);
-x_54 = lean_ctor_get(x_12, 1);
-lean_inc(x_54);
-x_55 = lean_nat_dec_eq(x_54, x_11);
-lean_dec(x_54);
-if (x_55 == 0)
-{
-lean_object* x_56; lean_object* x_57;
-lean_dec(x_16);
-lean_dec(x_11);
-lean_dec(x_1);
-x_56 = l_Lean_Parser_Term_emptyC___elambda__1___closed__2;
-x_57 = l_Lean_Parser_ParserState_mkNode(x_12, x_56, x_10);
-return x_57;
-}
-else
-{
-lean_object* x_58; lean_object* x_59; lean_object* x_60;
-lean_inc(x_11);
-x_58 = l_Lean_Parser_ParserState_restore(x_12, x_10, x_11);
-lean_inc(x_1);
-x_59 = l_Lean_Parser_tokenFn(x_1, x_58);
-x_60 = lean_ctor_get(x_59, 3);
-lean_inc(x_60);
-if (lean_obj_tag(x_60) == 0)
-{
-lean_object* x_61; lean_object* x_62;
-x_61 = lean_ctor_get(x_59, 0);
-lean_inc(x_61);
-x_62 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_61);
-lean_dec(x_61);
-if (lean_obj_tag(x_62) == 2)
-{
-lean_object* x_63; lean_object* x_64; uint8_t x_65;
-x_63 = lean_ctor_get(x_62, 1);
-lean_inc(x_63);
-lean_dec(x_62);
-x_64 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__5;
-x_65 = lean_string_dec_eq(x_63, x_64);
-lean_dec(x_63);
-if (x_65 == 0)
-{
-lean_object* x_66; lean_object* x_67;
-x_66 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12;
-lean_inc(x_11);
-x_67 = l_Lean_Parser_ParserState_mkErrorsAt(x_59, x_66, x_11);
-x_17 = x_67;
-goto block_53;
-}
-else
-{
-x_17 = x_59;
-goto block_53;
-}
-}
-else
-{
-lean_object* x_68; lean_object* x_69;
-lean_dec(x_62);
-x_68 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12;
-lean_inc(x_11);
-x_69 = l_Lean_Parser_ParserState_mkErrorsAt(x_59, x_68, x_11);
-x_17 = x_69;
-goto block_53;
-}
-}
-else
-{
-lean_object* x_70; lean_object* x_71;
-lean_dec(x_60);
-x_70 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12;
-lean_inc(x_11);
-x_71 = l_Lean_Parser_ParserState_mkErrorsAt(x_59, x_70, x_11);
-x_17 = x_71;
-goto block_53;
-}
-}
-block_53:
-{
-lean_object* x_18;
-x_18 = lean_ctor_get(x_17, 3);
-lean_inc(x_18);
-if (lean_obj_tag(x_18) == 0)
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21;
-x_19 = lean_ctor_get(x_17, 1);
-lean_inc(x_19);
-x_20 = l_Lean_Parser_tokenFn(x_1, x_17);
-x_21 = lean_ctor_get(x_20, 3);
-lean_inc(x_21);
-if (lean_obj_tag(x_21) == 0)
-{
-lean_object* x_22; lean_object* x_23;
-x_22 = lean_ctor_get(x_20, 0);
-lean_inc(x_22);
-x_23 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_22);
-lean_dec(x_22);
-if (lean_obj_tag(x_23) == 2)
-{
-lean_object* x_24; lean_object* x_25; uint8_t x_26;
-x_24 = lean_ctor_get(x_23, 1);
-lean_inc(x_24);
-lean_dec(x_23);
-x_25 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__6;
-x_26 = lean_string_dec_eq(x_24, x_25);
-lean_dec(x_24);
-if (x_26 == 0)
-{
-lean_object* x_27; lean_object* x_28; uint8_t x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
-x_27 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
-x_28 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_27, x_19);
-x_29 = 1;
-x_30 = l_Lean_Parser_mergeOrElseErrors(x_28, x_16, x_11, x_29);
-lean_dec(x_11);
-x_31 = l_Lean_Parser_Term_emptyC___elambda__1___closed__2;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_10);
-return x_32;
-}
-else
-{
-uint8_t x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36;
-lean_dec(x_19);
-x_33 = 1;
-x_34 = l_Lean_Parser_mergeOrElseErrors(x_20, x_16, x_11, x_33);
-lean_dec(x_11);
-x_35 = l_Lean_Parser_Term_emptyC___elambda__1___closed__2;
-x_36 = l_Lean_Parser_ParserState_mkNode(x_34, x_35, x_10);
-return x_36;
-}
-}
-else
-{
-lean_object* x_37; lean_object* x_38; uint8_t x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42;
-lean_dec(x_23);
-x_37 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
-x_38 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_37, x_19);
-x_39 = 1;
-x_40 = l_Lean_Parser_mergeOrElseErrors(x_38, x_16, x_11, x_39);
-lean_dec(x_11);
-x_41 = l_Lean_Parser_Term_emptyC___elambda__1___closed__2;
-x_42 = l_Lean_Parser_ParserState_mkNode(x_40, x_41, x_10);
-return x_42;
-}
-}
-else
-{
-lean_object* x_43; lean_object* x_44; uint8_t x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48;
-lean_dec(x_21);
-x_43 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
-x_44 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_43, x_19);
-x_45 = 1;
-x_46 = l_Lean_Parser_mergeOrElseErrors(x_44, x_16, x_11, x_45);
-lean_dec(x_11);
-x_47 = l_Lean_Parser_Term_emptyC___elambda__1___closed__2;
-x_48 = l_Lean_Parser_ParserState_mkNode(x_46, x_47, x_10);
-return x_48;
-}
-}
-else
-{
-uint8_t x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52;
-lean_dec(x_18);
-lean_dec(x_1);
-x_49 = 1;
-x_50 = l_Lean_Parser_mergeOrElseErrors(x_17, x_16, x_11, x_49);
-lean_dec(x_11);
-x_51 = l_Lean_Parser_Term_emptyC___elambda__1___closed__2;
-x_52 = l_Lean_Parser_ParserState_mkNode(x_50, x_51, x_10);
-return x_52;
-}
-}
-}
-}
+x_11 = l_Lean_Parser_Term_emptyC___elambda__1___closed__7;
+x_12 = l_Lean_Parser_Term_emptyC___elambda__1___closed__8;
+x_13 = 1;
+x_14 = l_Lean_Parser_orelseFnCore(x_11, x_12, x_13, x_1, x_7);
+x_15 = l_Lean_Parser_Term_emptyC___elambda__1___closed__2;
+x_16 = l_Lean_Parser_ParserState_mkNode(x_14, x_15, x_10);
+return x_16;
}
else
{
@@ -14453,338 +11127,11 @@ return x_7;
}
else
{
-lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90;
-x_86 = lean_ctor_get(x_2, 0);
-lean_inc(x_86);
-x_87 = lean_array_get_size(x_86);
-lean_dec(x_86);
-x_88 = lean_ctor_get(x_2, 1);
-lean_inc(x_88);
-lean_inc(x_1);
-x_89 = lean_apply_2(x_4, x_1, x_2);
-x_90 = lean_ctor_get(x_89, 3);
-lean_inc(x_90);
-if (lean_obj_tag(x_90) == 0)
-{
-lean_dec(x_88);
-lean_dec(x_87);
-lean_dec(x_1);
-return x_89;
-}
-else
-{
-lean_object* x_91; lean_object* x_92; uint8_t x_93;
-x_91 = lean_ctor_get(x_90, 0);
-lean_inc(x_91);
-lean_dec(x_90);
-x_92 = lean_ctor_get(x_89, 1);
-lean_inc(x_92);
-x_93 = lean_nat_dec_eq(x_92, x_88);
-lean_dec(x_92);
-if (x_93 == 0)
-{
-lean_dec(x_91);
-lean_dec(x_88);
-lean_dec(x_87);
-lean_dec(x_1);
-return x_89;
-}
-else
-{
-lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97;
-lean_inc(x_88);
-x_94 = l_Lean_Parser_ParserState_restore(x_89, x_87, x_88);
-lean_dec(x_87);
-x_95 = lean_unsigned_to_nat(1024u);
-x_96 = l_Lean_Parser_checkPrecFn(x_95, x_1, x_94);
-x_97 = lean_ctor_get(x_96, 3);
-lean_inc(x_97);
-if (lean_obj_tag(x_97) == 0)
-{
-lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_171; lean_object* x_172;
-x_98 = lean_ctor_get(x_96, 0);
-lean_inc(x_98);
-x_99 = lean_array_get_size(x_98);
-lean_dec(x_98);
-x_100 = lean_ctor_get(x_96, 1);
-lean_inc(x_100);
-lean_inc(x_1);
-x_171 = l_Lean_Parser_tokenFn(x_1, x_96);
-x_172 = lean_ctor_get(x_171, 3);
-lean_inc(x_172);
-if (lean_obj_tag(x_172) == 0)
-{
-lean_object* x_173; lean_object* x_174;
-x_173 = lean_ctor_get(x_171, 0);
-lean_inc(x_173);
-x_174 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_173);
-lean_dec(x_173);
-if (lean_obj_tag(x_174) == 2)
-{
-lean_object* x_175; lean_object* x_176; uint8_t x_177;
-x_175 = lean_ctor_get(x_174, 1);
-lean_inc(x_175);
-lean_dec(x_174);
-x_176 = l_Lean_Parser_Term_emptyC___elambda__1___closed__6;
-x_177 = lean_string_dec_eq(x_175, x_176);
-lean_dec(x_175);
-if (x_177 == 0)
-{
-lean_object* x_178; lean_object* x_179;
-x_178 = l_Lean_Parser_Term_emptyC___elambda__1___closed__9;
-lean_inc(x_100);
-x_179 = l_Lean_Parser_ParserState_mkErrorsAt(x_171, x_178, x_100);
-x_101 = x_179;
-goto block_170;
-}
-else
-{
-x_101 = x_171;
-goto block_170;
-}
-}
-else
-{
-lean_object* x_180; lean_object* x_181;
-lean_dec(x_174);
-x_180 = l_Lean_Parser_Term_emptyC___elambda__1___closed__9;
-lean_inc(x_100);
-x_181 = l_Lean_Parser_ParserState_mkErrorsAt(x_171, x_180, x_100);
-x_101 = x_181;
-goto block_170;
-}
-}
-else
-{
-lean_object* x_182; lean_object* x_183;
-lean_dec(x_172);
-x_182 = l_Lean_Parser_Term_emptyC___elambda__1___closed__9;
-lean_inc(x_100);
-x_183 = l_Lean_Parser_ParserState_mkErrorsAt(x_171, x_182, x_100);
-x_101 = x_183;
-goto block_170;
-}
-block_170:
-{
-lean_object* x_102;
-x_102 = lean_ctor_get(x_101, 3);
-lean_inc(x_102);
-if (lean_obj_tag(x_102) == 0)
-{
-lean_object* x_103; lean_object* x_104; uint8_t x_105; lean_object* x_106;
-lean_dec(x_100);
-lean_dec(x_1);
-x_103 = l_Lean_Parser_Term_emptyC___elambda__1___closed__2;
-x_104 = l_Lean_Parser_ParserState_mkNode(x_101, x_103, x_99);
-x_105 = 1;
-x_106 = l_Lean_Parser_mergeOrElseErrors(x_104, x_91, x_88, x_105);
-lean_dec(x_88);
-return x_106;
-}
-else
-{
-lean_object* x_107; lean_object* x_108; lean_object* x_150; uint8_t x_151;
-x_107 = lean_ctor_get(x_102, 0);
-lean_inc(x_107);
-lean_dec(x_102);
-x_150 = lean_ctor_get(x_101, 1);
-lean_inc(x_150);
-x_151 = lean_nat_dec_eq(x_150, x_100);
-lean_dec(x_150);
-if (x_151 == 0)
-{
-lean_object* x_152; lean_object* x_153; uint8_t x_154; lean_object* x_155;
-lean_dec(x_107);
-lean_dec(x_100);
-lean_dec(x_1);
-x_152 = l_Lean_Parser_Term_emptyC___elambda__1___closed__2;
-x_153 = l_Lean_Parser_ParserState_mkNode(x_101, x_152, x_99);
-x_154 = 1;
-x_155 = l_Lean_Parser_mergeOrElseErrors(x_153, x_91, x_88, x_154);
-lean_dec(x_88);
-return x_155;
-}
-else
-{
-lean_object* x_156; lean_object* x_157; lean_object* x_158;
-lean_inc(x_100);
-x_156 = l_Lean_Parser_ParserState_restore(x_101, x_99, x_100);
-lean_inc(x_1);
-x_157 = l_Lean_Parser_tokenFn(x_1, x_156);
-x_158 = lean_ctor_get(x_157, 3);
-lean_inc(x_158);
-if (lean_obj_tag(x_158) == 0)
-{
-lean_object* x_159; lean_object* x_160;
-x_159 = lean_ctor_get(x_157, 0);
-lean_inc(x_159);
-x_160 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_159);
-lean_dec(x_159);
-if (lean_obj_tag(x_160) == 2)
-{
-lean_object* x_161; lean_object* x_162; uint8_t x_163;
-x_161 = lean_ctor_get(x_160, 1);
-lean_inc(x_161);
-lean_dec(x_160);
-x_162 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__5;
-x_163 = lean_string_dec_eq(x_161, x_162);
-lean_dec(x_161);
-if (x_163 == 0)
-{
-lean_object* x_164; lean_object* x_165;
-x_164 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12;
-lean_inc(x_100);
-x_165 = l_Lean_Parser_ParserState_mkErrorsAt(x_157, x_164, x_100);
-x_108 = x_165;
-goto block_149;
-}
-else
-{
-x_108 = x_157;
-goto block_149;
-}
-}
-else
-{
-lean_object* x_166; lean_object* x_167;
-lean_dec(x_160);
-x_166 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12;
-lean_inc(x_100);
-x_167 = l_Lean_Parser_ParserState_mkErrorsAt(x_157, x_166, x_100);
-x_108 = x_167;
-goto block_149;
-}
-}
-else
-{
-lean_object* x_168; lean_object* x_169;
-lean_dec(x_158);
-x_168 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12;
-lean_inc(x_100);
-x_169 = l_Lean_Parser_ParserState_mkErrorsAt(x_157, x_168, x_100);
-x_108 = x_169;
-goto block_149;
-}
-}
-block_149:
-{
-lean_object* x_109;
-x_109 = lean_ctor_get(x_108, 3);
-lean_inc(x_109);
-if (lean_obj_tag(x_109) == 0)
-{
-lean_object* x_110; lean_object* x_111; lean_object* x_112;
-x_110 = lean_ctor_get(x_108, 1);
-lean_inc(x_110);
-x_111 = l_Lean_Parser_tokenFn(x_1, x_108);
-x_112 = lean_ctor_get(x_111, 3);
-lean_inc(x_112);
-if (lean_obj_tag(x_112) == 0)
-{
-lean_object* x_113; lean_object* x_114;
-x_113 = lean_ctor_get(x_111, 0);
-lean_inc(x_113);
-x_114 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_113);
-lean_dec(x_113);
-if (lean_obj_tag(x_114) == 2)
-{
-lean_object* x_115; lean_object* x_116; uint8_t x_117;
-x_115 = lean_ctor_get(x_114, 1);
-lean_inc(x_115);
-lean_dec(x_114);
-x_116 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__6;
-x_117 = lean_string_dec_eq(x_115, x_116);
-lean_dec(x_115);
-if (x_117 == 0)
-{
-lean_object* x_118; lean_object* x_119; uint8_t x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124;
-x_118 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
-x_119 = l_Lean_Parser_ParserState_mkErrorsAt(x_111, x_118, x_110);
-x_120 = 1;
-x_121 = l_Lean_Parser_mergeOrElseErrors(x_119, x_107, x_100, x_120);
-lean_dec(x_100);
-x_122 = l_Lean_Parser_Term_emptyC___elambda__1___closed__2;
-x_123 = l_Lean_Parser_ParserState_mkNode(x_121, x_122, x_99);
-x_124 = l_Lean_Parser_mergeOrElseErrors(x_123, x_91, x_88, x_120);
-lean_dec(x_88);
-return x_124;
-}
-else
-{
-uint8_t x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129;
-lean_dec(x_110);
-x_125 = 1;
-x_126 = l_Lean_Parser_mergeOrElseErrors(x_111, x_107, x_100, x_125);
-lean_dec(x_100);
-x_127 = l_Lean_Parser_Term_emptyC___elambda__1___closed__2;
-x_128 = l_Lean_Parser_ParserState_mkNode(x_126, x_127, x_99);
-x_129 = l_Lean_Parser_mergeOrElseErrors(x_128, x_91, x_88, x_125);
-lean_dec(x_88);
-return x_129;
-}
-}
-else
-{
-lean_object* x_130; lean_object* x_131; uint8_t x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136;
-lean_dec(x_114);
-x_130 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
-x_131 = l_Lean_Parser_ParserState_mkErrorsAt(x_111, x_130, x_110);
-x_132 = 1;
-x_133 = l_Lean_Parser_mergeOrElseErrors(x_131, x_107, x_100, x_132);
-lean_dec(x_100);
-x_134 = l_Lean_Parser_Term_emptyC___elambda__1___closed__2;
-x_135 = l_Lean_Parser_ParserState_mkNode(x_133, x_134, x_99);
-x_136 = l_Lean_Parser_mergeOrElseErrors(x_135, x_91, x_88, x_132);
-lean_dec(x_88);
-return x_136;
-}
-}
-else
-{
-lean_object* x_137; lean_object* x_138; uint8_t x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143;
-lean_dec(x_112);
-x_137 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
-x_138 = l_Lean_Parser_ParserState_mkErrorsAt(x_111, x_137, x_110);
-x_139 = 1;
-x_140 = l_Lean_Parser_mergeOrElseErrors(x_138, x_107, x_100, x_139);
-lean_dec(x_100);
-x_141 = l_Lean_Parser_Term_emptyC___elambda__1___closed__2;
-x_142 = l_Lean_Parser_ParserState_mkNode(x_140, x_141, x_99);
-x_143 = l_Lean_Parser_mergeOrElseErrors(x_142, x_91, x_88, x_139);
-lean_dec(x_88);
-return x_143;
-}
-}
-else
-{
-uint8_t x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148;
-lean_dec(x_109);
-lean_dec(x_1);
-x_144 = 1;
-x_145 = l_Lean_Parser_mergeOrElseErrors(x_108, x_107, x_100, x_144);
-lean_dec(x_100);
-x_146 = l_Lean_Parser_Term_emptyC___elambda__1___closed__2;
-x_147 = l_Lean_Parser_ParserState_mkNode(x_145, x_146, x_99);
-x_148 = l_Lean_Parser_mergeOrElseErrors(x_147, x_91, x_88, x_144);
-lean_dec(x_88);
-return x_148;
-}
-}
-}
-}
-}
-else
-{
-uint8_t x_184; lean_object* x_185;
-lean_dec(x_97);
-lean_dec(x_1);
-x_184 = 1;
-x_185 = l_Lean_Parser_mergeOrElseErrors(x_96, x_91, x_88, x_184);
-lean_dec(x_88);
-return x_185;
-}
-}
-}
+lean_object* x_17; uint8_t x_18; lean_object* x_19;
+x_17 = l_Lean_Parser_Term_emptyC___elambda__1___closed__11;
+x_18 = 1;
+x_19 = l_Lean_Parser_orelseFnCore(x_4, x_17, x_18, x_1, x_2);
+return x_19;
}
}
}
@@ -15094,11 +11441,11 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_typeAscription___elambda__1___closed__4() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__3;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__3;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_typeAscription___elambda__1___closed__5() {
@@ -15106,8 +11453,10 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__4;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_2 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -15115,11 +11464,43 @@ static lean_object* _init_l_Lean_Parser_Term_typeAscription___elambda__1___close
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__8;
x_2 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__5;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_typeAscription___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_typeAscription___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__3;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_typeAscription___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__8;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -15143,91 +11524,35 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_21; lean_object* x_22; lean_object* x_23;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_21 = lean_ctor_get(x_7, 1);
-lean_inc(x_21);
+x_11 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__3;
+x_12 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__9;
lean_inc(x_1);
-x_22 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_23 = lean_ctor_get(x_22, 3);
-lean_inc(x_23);
-if (lean_obj_tag(x_23) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_24; lean_object* x_25;
-x_24 = lean_ctor_get(x_22, 0);
-lean_inc(x_24);
-x_25 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_24);
-lean_dec(x_24);
-if (lean_obj_tag(x_25) == 2)
-{
-lean_object* x_26; lean_object* x_27; uint8_t x_28;
-x_26 = lean_ctor_get(x_25, 1);
-lean_inc(x_26);
-lean_dec(x_25);
-x_27 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__3;
-x_28 = lean_string_dec_eq(x_26, x_27);
-lean_dec(x_26);
-if (x_28 == 0)
-{
-lean_object* x_29; lean_object* x_30;
-x_29 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_29, x_21);
-x_11 = x_30;
-goto block_20;
-}
-else
-{
-lean_dec(x_21);
-x_11 = x_22;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32;
-lean_dec(x_25);
-x_31 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_31, x_21);
-x_11 = x_32;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_33; lean_object* x_34;
-lean_dec(x_23);
-x_33 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_33, x_21);
-x_11 = x_34;
-goto block_20;
-}
-block_20:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_13 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_14 = lean_unsigned_to_nat(0u);
-x_15 = l_Lean_Parser_categoryParser___elambda__1(x_13, x_14, x_1, x_11);
-x_16 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__8;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_10);
-return x_17;
-}
-else
-{
-lean_object* x_18; lean_object* x_19;
-lean_dec(x_12);
-lean_dec(x_1);
+lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
+x_15 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_16 = lean_unsigned_to_nat(0u);
+x_17 = l_Lean_Parser_categoryParser___elambda__1(x_15, x_16, x_1, x_13);
x_18 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__8;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_11, x_18, x_10);
+x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_10);
return x_19;
}
+else
+{
+lean_object* x_20; lean_object* x_21;
+lean_dec(x_14);
+lean_dec(x_1);
+x_20 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__8;
+x_21 = l_Lean_Parser_ParserState_mkNode(x_13, x_20, x_10);
+return x_21;
}
}
else
@@ -15239,159 +11564,11 @@ return x_7;
}
else
{
-lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_35 = lean_ctor_get(x_2, 0);
-lean_inc(x_35);
-x_36 = lean_array_get_size(x_35);
-lean_dec(x_35);
-x_37 = lean_ctor_get(x_2, 1);
-lean_inc(x_37);
-lean_inc(x_1);
-x_38 = lean_apply_2(x_4, x_1, x_2);
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_40; lean_object* x_41; uint8_t x_42;
-x_40 = lean_ctor_get(x_39, 0);
-lean_inc(x_40);
-lean_dec(x_39);
-x_41 = lean_ctor_get(x_38, 1);
-lean_inc(x_41);
-x_42 = lean_nat_dec_eq(x_41, x_37);
-lean_dec(x_41);
-if (x_42 == 0)
-{
-lean_dec(x_40);
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46;
-lean_inc(x_37);
-x_43 = l_Lean_Parser_ParserState_restore(x_38, x_36, x_37);
-lean_dec(x_36);
-x_44 = lean_unsigned_to_nat(1024u);
-x_45 = l_Lean_Parser_checkPrecFn(x_44, x_1, x_43);
-x_46 = lean_ctor_get(x_45, 3);
-lean_inc(x_46);
-if (lean_obj_tag(x_46) == 0)
-{
-lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_63; lean_object* x_64; lean_object* x_65;
-x_47 = lean_ctor_get(x_45, 0);
-lean_inc(x_47);
-x_48 = lean_array_get_size(x_47);
-lean_dec(x_47);
-x_63 = lean_ctor_get(x_45, 1);
-lean_inc(x_63);
-lean_inc(x_1);
-x_64 = l_Lean_Parser_tokenFn(x_1, x_45);
-x_65 = lean_ctor_get(x_64, 3);
-lean_inc(x_65);
-if (lean_obj_tag(x_65) == 0)
-{
-lean_object* x_66; lean_object* x_67;
-x_66 = lean_ctor_get(x_64, 0);
-lean_inc(x_66);
-x_67 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_66);
-lean_dec(x_66);
-if (lean_obj_tag(x_67) == 2)
-{
-lean_object* x_68; lean_object* x_69; uint8_t x_70;
-x_68 = lean_ctor_get(x_67, 1);
-lean_inc(x_68);
-lean_dec(x_67);
-x_69 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__3;
-x_70 = lean_string_dec_eq(x_68, x_69);
-lean_dec(x_68);
-if (x_70 == 0)
-{
-lean_object* x_71; lean_object* x_72;
-x_71 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_71, x_63);
-x_49 = x_72;
-goto block_62;
-}
-else
-{
-lean_dec(x_63);
-x_49 = x_64;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_73; lean_object* x_74;
-lean_dec(x_67);
-x_73 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-x_74 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_73, x_63);
-x_49 = x_74;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_75; lean_object* x_76;
-lean_dec(x_65);
-x_75 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-x_76 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_75, x_63);
-x_49 = x_76;
-goto block_62;
-}
-block_62:
-{
-lean_object* x_50;
-x_50 = lean_ctor_get(x_49, 3);
-lean_inc(x_50);
-if (lean_obj_tag(x_50) == 0)
-{
-lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; uint8_t x_56; lean_object* x_57;
-x_51 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_52 = lean_unsigned_to_nat(0u);
-x_53 = l_Lean_Parser_categoryParser___elambda__1(x_51, x_52, x_1, x_49);
-x_54 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__8;
-x_55 = l_Lean_Parser_ParserState_mkNode(x_53, x_54, x_48);
-x_56 = 1;
-x_57 = l_Lean_Parser_mergeOrElseErrors(x_55, x_40, x_37, x_56);
-lean_dec(x_37);
-return x_57;
-}
-else
-{
-lean_object* x_58; lean_object* x_59; uint8_t x_60; lean_object* x_61;
-lean_dec(x_50);
-lean_dec(x_1);
-x_58 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__8;
-x_59 = l_Lean_Parser_ParserState_mkNode(x_49, x_58, x_48);
-x_60 = 1;
-x_61 = l_Lean_Parser_mergeOrElseErrors(x_59, x_40, x_37, x_60);
-lean_dec(x_37);
-return x_61;
-}
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_46);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_45, x_40, x_37, x_77);
-lean_dec(x_37);
-return x_78;
-}
-}
-}
+lean_object* x_22; uint8_t x_23; lean_object* x_24;
+x_22 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__7;
+x_23 = 1;
+x_24 = l_Lean_Parser_orelseFnCore(x_4, x_22, x_23, x_1, x_2);
+return x_24;
}
}
}
@@ -15486,215 +11663,6 @@ x_1 = l_Lean_Parser_Term_typeAscription___closed__8;
return x_1;
}
}
-static lean_object* _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__1() {
-_start:
-{
-lean_object* x_1; lean_object* x_2;
-x_1 = l_List_reprAux___main___rarg___closed__1;
-x_2 = l_String_trim(x_1);
-return x_2;
-}
-}
-static lean_object* _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__2() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__1;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
-}
-}
-static lean_object* _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__3() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__2;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
-}
-}
-static lean_object* _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__3;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
-}
-}
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2(uint8_t x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5) {
-_start:
-{
-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;
-x_6 = lean_ctor_get(x_5, 0);
-lean_inc(x_6);
-x_7 = lean_array_get_size(x_6);
-lean_dec(x_6);
-x_8 = lean_ctor_get(x_5, 1);
-lean_inc(x_8);
-x_9 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_10 = lean_unsigned_to_nat(0u);
-lean_inc(x_4);
-x_11 = l_Lean_Parser_categoryParser___elambda__1(x_9, x_10, x_4, x_5);
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_23; lean_object* x_24;
-lean_dec(x_8);
-lean_dec(x_7);
-x_13 = lean_ctor_get(x_11, 0);
-lean_inc(x_13);
-x_14 = lean_array_get_size(x_13);
-lean_dec(x_13);
-x_15 = lean_ctor_get(x_11, 1);
-lean_inc(x_15);
-lean_inc(x_4);
-x_23 = l_Lean_Parser_tokenFn(x_4, x_11);
-x_24 = lean_ctor_get(x_23, 3);
-lean_inc(x_24);
-if (lean_obj_tag(x_24) == 0)
-{
-lean_object* x_25; lean_object* x_26;
-x_25 = lean_ctor_get(x_23, 0);
-lean_inc(x_25);
-x_26 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_25);
-lean_dec(x_25);
-if (lean_obj_tag(x_26) == 2)
-{
-lean_object* x_27; lean_object* x_28; uint8_t x_29;
-x_27 = lean_ctor_get(x_26, 1);
-lean_inc(x_27);
-lean_dec(x_26);
-x_28 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__1;
-x_29 = lean_string_dec_eq(x_27, x_28);
-lean_dec(x_27);
-if (x_29 == 0)
-{
-lean_object* x_30; lean_object* x_31;
-x_30 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
-lean_inc(x_15);
-x_31 = l_Lean_Parser_ParserState_mkErrorsAt(x_23, x_30, x_15);
-x_16 = x_31;
-goto block_22;
-}
-else
-{
-x_16 = x_23;
-goto block_22;
-}
-}
-else
-{
-lean_object* x_32; lean_object* x_33;
-lean_dec(x_26);
-x_32 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
-lean_inc(x_15);
-x_33 = l_Lean_Parser_ParserState_mkErrorsAt(x_23, x_32, x_15);
-x_16 = x_33;
-goto block_22;
-}
-}
-else
-{
-lean_object* x_34; lean_object* x_35;
-lean_dec(x_24);
-x_34 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
-lean_inc(x_15);
-x_35 = l_Lean_Parser_ParserState_mkErrorsAt(x_23, x_34, x_15);
-x_16 = x_35;
-goto block_22;
-}
-block_22:
-{
-lean_object* x_17;
-x_17 = lean_ctor_get(x_16, 3);
-lean_inc(x_17);
-if (lean_obj_tag(x_17) == 0)
-{
-lean_dec(x_15);
-lean_dec(x_14);
-{
-uint8_t _tmp_2 = x_1;
-lean_object* _tmp_4 = x_16;
-x_3 = _tmp_2;
-x_5 = _tmp_4;
-}
-goto _start;
-}
-else
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21;
-lean_dec(x_17);
-lean_dec(x_4);
-x_19 = l_Lean_Parser_ParserState_restore(x_16, x_14, x_15);
-lean_dec(x_14);
-x_20 = l_Lean_nullKind;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_2);
-return x_21;
-}
-}
-}
-else
-{
-lean_object* x_36; uint8_t x_37;
-lean_dec(x_12);
-lean_dec(x_4);
-x_36 = lean_ctor_get(x_11, 1);
-lean_inc(x_36);
-x_37 = lean_nat_dec_lt(x_8, x_36);
-lean_dec(x_36);
-if (x_37 == 0)
-{
-if (x_3 == 0)
-{
-lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41;
-lean_dec(x_8);
-lean_dec(x_7);
-x_38 = lean_box(0);
-x_39 = l_Lean_Parser_ParserState_pushSyntax(x_11, x_38);
-x_40 = l_Lean_nullKind;
-x_41 = l_Lean_Parser_ParserState_mkNode(x_39, x_40, x_2);
-return x_41;
-}
-else
-{
-lean_object* x_42; lean_object* x_43; lean_object* x_44;
-x_42 = l_Lean_Parser_ParserState_restore(x_11, x_7, x_8);
-lean_dec(x_7);
-x_43 = l_Lean_nullKind;
-x_44 = l_Lean_Parser_ParserState_mkNode(x_42, x_43, x_2);
-return x_44;
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_2);
-return x_11;
-}
-}
-}
-}
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_tupleTail___elambda__1___spec__1(uint8_t x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
-x_4 = lean_ctor_get(x_3, 0);
-lean_inc(x_4);
-x_5 = lean_array_get_size(x_4);
-lean_dec(x_4);
-x_6 = 0;
-x_7 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2(x_1, x_5, x_6, x_2, x_3);
-return x_7;
-}
-}
static lean_object* _init_l_Lean_Parser_Term_tupleTail___elambda__1___closed__1() {
_start:
{
@@ -15734,6 +11702,96 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Term_tupleTail___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_List_reprAux___main___rarg___closed__1;
+x_2 = l_String_trim(x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_tupleTail___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_tupleTail___elambda__1___closed__7() {
+_start:
+{
+uint8_t x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
+x_1 = 0;
+x_2 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_3 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__6;
+x_4 = lean_box(x_1);
+x_5 = lean_alloc_closure((void*)(l_Lean_Parser_sepBy1Fn___boxed), 5, 3);
+lean_closure_set(x_5, 0, x_4);
+lean_closure_set(x_5, 1, x_2);
+lean_closure_set(x_5, 2, x_3);
+return x_5;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_tupleTail___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_tupleTail___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_tupleTail___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_tupleTail___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__5;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_tupleTail___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__11;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Term_tupleTail___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -15754,90 +11812,36 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_20; lean_object* x_21; lean_object* x_22;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_20 = lean_ctor_get(x_7, 1);
-lean_inc(x_20);
+x_11 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__5;
+x_12 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__12;
lean_inc(x_1);
-x_21 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_22 = lean_ctor_get(x_21, 3);
-lean_inc(x_22);
-if (lean_obj_tag(x_22) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_23; lean_object* x_24;
-x_23 = lean_ctor_get(x_21, 0);
-lean_inc(x_23);
-x_24 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_23);
-lean_dec(x_23);
-if (lean_obj_tag(x_24) == 2)
-{
-lean_object* x_25; lean_object* x_26; uint8_t x_27;
-x_25 = lean_ctor_get(x_24, 1);
-lean_inc(x_25);
-lean_dec(x_24);
-x_26 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__1;
-x_27 = lean_string_dec_eq(x_25, x_26);
-lean_dec(x_25);
-if (x_27 == 0)
-{
-lean_object* x_28; lean_object* x_29;
-x_28 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
-x_29 = l_Lean_Parser_ParserState_mkErrorsAt(x_21, x_28, x_20);
-x_11 = x_29;
-goto block_19;
+uint8_t x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
+x_15 = 0;
+x_16 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_17 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__6;
+x_18 = l_Lean_Parser_sepBy1Fn(x_15, x_16, x_17, x_1, x_13);
+x_19 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__2;
+x_20 = l_Lean_Parser_ParserState_mkNode(x_18, x_19, x_10);
+return x_20;
}
else
{
-lean_dec(x_20);
-x_11 = x_21;
-goto block_19;
-}
-}
-else
-{
-lean_object* x_30; lean_object* x_31;
-lean_dec(x_24);
-x_30 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
-x_31 = l_Lean_Parser_ParserState_mkErrorsAt(x_21, x_30, x_20);
-x_11 = x_31;
-goto block_19;
-}
-}
-else
-{
-lean_object* x_32; lean_object* x_33;
-lean_dec(x_22);
-x_32 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
-x_33 = l_Lean_Parser_ParserState_mkErrorsAt(x_21, x_32, x_20);
-x_11 = x_33;
-goto block_19;
-}
-block_19:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-uint8_t x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
-x_13 = 0;
-x_14 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_tupleTail___elambda__1___spec__1(x_13, x_1, x_11);
-x_15 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__2;
-x_16 = l_Lean_Parser_ParserState_mkNode(x_14, x_15, x_10);
-return x_16;
-}
-else
-{
-lean_object* x_17; lean_object* x_18;
-lean_dec(x_12);
+lean_object* x_21; lean_object* x_22;
+lean_dec(x_14);
lean_dec(x_1);
-x_17 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__2;
-x_18 = l_Lean_Parser_ParserState_mkNode(x_11, x_17, x_10);
-return x_18;
-}
+x_21 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__2;
+x_22 = l_Lean_Parser_ParserState_mkNode(x_13, x_21, x_10);
+return x_22;
}
}
else
@@ -15849,158 +11853,11 @@ return x_7;
}
else
{
-lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38;
-x_34 = lean_ctor_get(x_2, 0);
-lean_inc(x_34);
-x_35 = lean_array_get_size(x_34);
-lean_dec(x_34);
-x_36 = lean_ctor_get(x_2, 1);
-lean_inc(x_36);
-lean_inc(x_1);
-x_37 = lean_apply_2(x_4, x_1, x_2);
-x_38 = lean_ctor_get(x_37, 3);
-lean_inc(x_38);
-if (lean_obj_tag(x_38) == 0)
-{
-lean_dec(x_36);
-lean_dec(x_35);
-lean_dec(x_1);
-return x_37;
-}
-else
-{
-lean_object* x_39; lean_object* x_40; uint8_t x_41;
-x_39 = lean_ctor_get(x_38, 0);
-lean_inc(x_39);
-lean_dec(x_38);
-x_40 = lean_ctor_get(x_37, 1);
-lean_inc(x_40);
-x_41 = lean_nat_dec_eq(x_40, x_36);
-lean_dec(x_40);
-if (x_41 == 0)
-{
-lean_dec(x_39);
-lean_dec(x_36);
-lean_dec(x_35);
-lean_dec(x_1);
-return x_37;
-}
-else
-{
-lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45;
-lean_inc(x_36);
-x_42 = l_Lean_Parser_ParserState_restore(x_37, x_35, x_36);
-lean_dec(x_35);
-x_43 = lean_unsigned_to_nat(1024u);
-x_44 = l_Lean_Parser_checkPrecFn(x_43, x_1, x_42);
-x_45 = lean_ctor_get(x_44, 3);
-lean_inc(x_45);
-if (lean_obj_tag(x_45) == 0)
-{
-lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_61; lean_object* x_62; lean_object* x_63;
-x_46 = lean_ctor_get(x_44, 0);
-lean_inc(x_46);
-x_47 = lean_array_get_size(x_46);
-lean_dec(x_46);
-x_61 = lean_ctor_get(x_44, 1);
-lean_inc(x_61);
-lean_inc(x_1);
-x_62 = l_Lean_Parser_tokenFn(x_1, x_44);
-x_63 = lean_ctor_get(x_62, 3);
-lean_inc(x_63);
-if (lean_obj_tag(x_63) == 0)
-{
-lean_object* x_64; lean_object* x_65;
-x_64 = lean_ctor_get(x_62, 0);
-lean_inc(x_64);
-x_65 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_64);
-lean_dec(x_64);
-if (lean_obj_tag(x_65) == 2)
-{
-lean_object* x_66; lean_object* x_67; uint8_t x_68;
-x_66 = lean_ctor_get(x_65, 1);
-lean_inc(x_66);
-lean_dec(x_65);
-x_67 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__1;
-x_68 = lean_string_dec_eq(x_66, x_67);
-lean_dec(x_66);
-if (x_68 == 0)
-{
-lean_object* x_69; lean_object* x_70;
-x_69 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
-x_70 = l_Lean_Parser_ParserState_mkErrorsAt(x_62, x_69, x_61);
-x_48 = x_70;
-goto block_60;
-}
-else
-{
-lean_dec(x_61);
-x_48 = x_62;
-goto block_60;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72;
-lean_dec(x_65);
-x_71 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_62, x_71, x_61);
-x_48 = x_72;
-goto block_60;
-}
-}
-else
-{
-lean_object* x_73; lean_object* x_74;
-lean_dec(x_63);
-x_73 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
-x_74 = l_Lean_Parser_ParserState_mkErrorsAt(x_62, x_73, x_61);
-x_48 = x_74;
-goto block_60;
-}
-block_60:
-{
-lean_object* x_49;
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
-{
-uint8_t x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; uint8_t x_54; lean_object* x_55;
-x_50 = 0;
-x_51 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_tupleTail___elambda__1___spec__1(x_50, x_1, x_48);
-x_52 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__2;
-x_53 = l_Lean_Parser_ParserState_mkNode(x_51, x_52, x_47);
-x_54 = 1;
-x_55 = l_Lean_Parser_mergeOrElseErrors(x_53, x_39, x_36, x_54);
-lean_dec(x_36);
-return x_55;
-}
-else
-{
-lean_object* x_56; lean_object* x_57; uint8_t x_58; lean_object* x_59;
-lean_dec(x_49);
-lean_dec(x_1);
-x_56 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__2;
-x_57 = l_Lean_Parser_ParserState_mkNode(x_48, x_56, x_47);
-x_58 = 1;
-x_59 = l_Lean_Parser_mergeOrElseErrors(x_57, x_39, x_36, x_58);
-lean_dec(x_36);
-return x_59;
-}
-}
-}
-else
-{
-uint8_t x_75; lean_object* x_76;
-lean_dec(x_45);
-lean_dec(x_1);
-x_75 = 1;
-x_76 = l_Lean_Parser_mergeOrElseErrors(x_44, x_39, x_36, x_75);
-lean_dec(x_36);
-return x_76;
-}
-}
-}
+lean_object* x_23; uint8_t x_24; lean_object* x_25;
+x_23 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__10;
+x_24 = 1;
+x_25 = l_Lean_Parser_orelseFnCore(x_4, x_23, x_24, x_1, x_2);
+return x_25;
}
}
}
@@ -16008,7 +11865,7 @@ static lean_object* _init_l_Lean_Parser_Term_tupleTail___closed__1() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__1;
+x_1 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__5;
x_2 = l_Lean_Parser_symbolInfo(x_1);
return x_2;
}
@@ -16095,116 +11952,25 @@ x_1 = l_Lean_Parser_Term_tupleTail___closed__8;
return x_1;
}
}
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
+static lean_object* _init_l_Lean_Parser_Term_parenSpecial___elambda__1___closed__1() {
_start:
{
-uint8_t x_6; uint8_t x_7; lean_object* x_8;
-x_6 = lean_unbox(x_1);
-lean_dec(x_1);
-x_7 = lean_unbox(x_3);
-lean_dec(x_3);
-x_8 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2(x_6, x_2, x_7, x_4, x_5);
-return x_8;
-}
-}
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_tupleTail___elambda__1___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-uint8_t x_4; lean_object* x_5;
-x_4 = lean_unbox(x_1);
-lean_dec(x_1);
-x_5 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_tupleTail___elambda__1___spec__1(x_4, x_2, x_3);
-return x_5;
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_tupleTail___closed__7;
+x_2 = l_Lean_Parser_Term_typeAscription___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
}
}
lean_object* l_Lean_Parser_Term_parenSpecial___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-lean_inc(x_1);
-x_6 = l_Lean_Parser_Term_tupleTail___elambda__1(x_1, x_2);
-x_7 = lean_ctor_get(x_6, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
-{
-lean_object* x_8; lean_object* x_9;
-lean_dec(x_5);
-lean_dec(x_1);
-x_8 = l_Lean_nullKind;
-x_9 = l_Lean_Parser_ParserState_mkNode(x_6, x_8, x_4);
-return x_9;
-}
-else
-{
-lean_object* x_10; lean_object* x_11; uint8_t x_12;
-x_10 = lean_ctor_get(x_7, 0);
-lean_inc(x_10);
-lean_dec(x_7);
-x_11 = lean_ctor_get(x_6, 1);
-lean_inc(x_11);
-x_12 = lean_nat_dec_eq(x_11, x_5);
-lean_dec(x_11);
-if (x_12 == 0)
-{
-lean_object* x_13; lean_object* x_14;
-lean_dec(x_10);
-lean_dec(x_5);
-lean_dec(x_1);
-x_13 = l_Lean_nullKind;
-x_14 = l_Lean_Parser_ParserState_mkNode(x_6, x_13, x_4);
-return x_14;
-}
-else
-{
-lean_object* x_15; lean_object* x_16; uint8_t x_17; lean_object* x_18; lean_object* x_19;
-lean_inc(x_5);
-x_15 = l_Lean_Parser_ParserState_restore(x_6, x_4, x_5);
-x_16 = l_Lean_Parser_Term_typeAscription___elambda__1(x_1, x_15);
-x_17 = 1;
-x_18 = l_Lean_Parser_mergeOrElseErrors(x_16, x_10, x_5, x_17);
-x_19 = lean_ctor_get(x_18, 3);
-lean_inc(x_19);
-if (lean_obj_tag(x_19) == 0)
-{
-lean_object* x_20; lean_object* x_21;
-lean_dec(x_5);
-x_20 = l_Lean_nullKind;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_18, x_20, x_4);
-return x_21;
-}
-else
-{
-lean_object* x_22; uint8_t x_23;
-lean_dec(x_19);
-x_22 = lean_ctor_get(x_18, 1);
-lean_inc(x_22);
-x_23 = lean_nat_dec_eq(x_22, x_5);
-lean_dec(x_22);
-if (x_23 == 0)
-{
-lean_object* x_24; lean_object* x_25;
-lean_dec(x_5);
-x_24 = l_Lean_nullKind;
-x_25 = l_Lean_Parser_ParserState_mkNode(x_18, x_24, x_4);
-return x_25;
-}
-else
-{
-lean_object* x_26; lean_object* x_27; lean_object* x_28;
-x_26 = l_Lean_Parser_ParserState_restore(x_18, x_4, x_5);
-x_27 = l_Lean_nullKind;
-x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_4);
-return x_28;
-}
-}
-}
-}
+lean_object* x_3; lean_object* x_4;
+x_3 = l_Lean_Parser_Term_parenSpecial___elambda__1___closed__1;
+x_4 = l_Lean_Parser_optionalFn(x_3, x_1, x_2);
+return x_4;
}
}
static lean_object* _init_l_Lean_Parser_Term_parenSpecial___closed__1() {
@@ -16258,6 +12024,101 @@ x_1 = l_Lean_Parser_Term_parenSpecial___closed__4;
return x_1;
}
}
+lean_object* l_Lean_Parser_Term_paren___elambda__1___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+uint8_t x_4;
+x_4 = !lean_is_exclusive(x_2);
+if (x_4 == 0)
+{
+lean_object* x_5; lean_object* x_6; lean_object* x_7; uint8_t x_8;
+x_5 = lean_ctor_get(x_2, 0);
+x_6 = lean_ctor_get(x_2, 5);
+lean_dec(x_6);
+x_7 = lean_ctor_get(x_2, 4);
+lean_dec(x_7);
+x_8 = !lean_is_exclusive(x_5);
+if (x_8 == 0)
+{
+lean_object* x_9; lean_object* x_10;
+x_9 = lean_box(0);
+lean_ctor_set(x_2, 5, x_9);
+lean_ctor_set(x_2, 4, x_9);
+x_10 = l_Lean_Parser_optionalFn(x_1, x_2, x_3);
+return x_10;
+}
+else
+{
+lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
+x_11 = lean_ctor_get(x_5, 0);
+x_12 = lean_ctor_get(x_5, 1);
+x_13 = lean_ctor_get(x_5, 2);
+lean_inc(x_13);
+lean_inc(x_12);
+lean_inc(x_11);
+lean_dec(x_5);
+x_14 = lean_box(0);
+x_15 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_15, 0, x_11);
+lean_ctor_set(x_15, 1, x_12);
+lean_ctor_set(x_15, 2, x_13);
+lean_ctor_set(x_2, 5, x_14);
+lean_ctor_set(x_2, 4, x_14);
+lean_ctor_set(x_2, 0, x_15);
+x_16 = l_Lean_Parser_optionalFn(x_1, x_2, x_3);
+return x_16;
+}
+}
+else
+{
+lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t 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;
+x_17 = lean_ctor_get(x_2, 0);
+x_18 = lean_ctor_get(x_2, 1);
+x_19 = lean_ctor_get(x_2, 2);
+x_20 = lean_ctor_get(x_2, 3);
+x_21 = lean_ctor_get_uint8(x_2, sizeof(void*)*6);
+lean_inc(x_20);
+lean_inc(x_19);
+lean_inc(x_18);
+lean_inc(x_17);
+lean_dec(x_2);
+x_22 = lean_ctor_get(x_17, 0);
+lean_inc(x_22);
+x_23 = lean_ctor_get(x_17, 1);
+lean_inc(x_23);
+x_24 = lean_ctor_get(x_17, 2);
+lean_inc(x_24);
+if (lean_is_exclusive(x_17)) {
+ lean_ctor_release(x_17, 0);
+ lean_ctor_release(x_17, 1);
+ lean_ctor_release(x_17, 2);
+ x_25 = x_17;
+} else {
+ lean_dec_ref(x_17);
+ x_25 = lean_box(0);
+}
+x_26 = lean_box(0);
+if (lean_is_scalar(x_25)) {
+ x_27 = lean_alloc_ctor(0, 3, 0);
+} else {
+ x_27 = x_25;
+}
+lean_ctor_set(x_27, 0, x_22);
+lean_ctor_set(x_27, 1, x_23);
+lean_ctor_set(x_27, 2, x_24);
+x_28 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_28, 0, x_27);
+lean_ctor_set(x_28, 1, x_18);
+lean_ctor_set(x_28, 2, x_19);
+lean_ctor_set(x_28, 3, x_20);
+lean_ctor_set(x_28, 4, x_26);
+lean_ctor_set(x_28, 5, x_26);
+lean_ctor_set_uint8(x_28, sizeof(void*)*6, x_21);
+x_29 = l_Lean_Parser_optionalFn(x_1, x_28, x_3);
+return x_29;
+}
+}
+}
static lean_object* _init_l_Lean_Parser_Term_paren___elambda__1___closed__1() {
_start:
{
@@ -16279,6 +12140,76 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Term_paren___elambda__1___closed__3() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_2 = l_Lean_Parser_Term_parenSpecial___closed__3;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_paren___elambda__1___closed__4() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_paren___elambda__1___closed__3;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_Term_paren___elambda__1___lambda__1), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_paren___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_paren___elambda__1___closed__4;
+x_2 = l_Lean_Parser_Level_paren___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_paren___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__3;
+x_2 = l_Lean_Parser_Term_paren___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_paren___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__4;
+x_2 = l_Lean_Parser_Term_paren___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_paren___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_paren___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Term_paren___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -16299,269 +12230,127 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_38; lean_object* x_75; lean_object* x_76; lean_object* x_77;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_75 = lean_ctor_get(x_7, 1);
-lean_inc(x_75);
+x_11 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__3;
+x_12 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__7;
lean_inc(x_1);
-x_76 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_77 = lean_ctor_get(x_76, 3);
-lean_inc(x_77);
-if (lean_obj_tag(x_77) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_78; lean_object* x_79;
-x_78 = lean_ctor_get(x_76, 0);
-lean_inc(x_78);
-x_79 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_78);
-lean_dec(x_78);
-if (lean_obj_tag(x_79) == 2)
-{
-lean_object* x_80; lean_object* x_81; uint8_t x_82;
-x_80 = lean_ctor_get(x_79, 1);
-lean_inc(x_80);
-lean_dec(x_79);
-x_81 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__3;
-x_82 = lean_string_dec_eq(x_80, x_81);
-lean_dec(x_80);
-if (x_82 == 0)
-{
-lean_object* x_83; lean_object* x_84;
-x_83 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-x_84 = l_Lean_Parser_ParserState_mkErrorsAt(x_76, x_83, x_75);
-x_38 = x_84;
-goto block_74;
-}
-else
-{
-lean_dec(x_75);
-x_38 = x_76;
-goto block_74;
-}
-}
-else
-{
-lean_object* x_85; lean_object* x_86;
-lean_dec(x_79);
-x_85 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-x_86 = l_Lean_Parser_ParserState_mkErrorsAt(x_76, x_85, x_75);
-x_38 = x_86;
-goto block_74;
-}
-}
-else
-{
-lean_object* x_87; lean_object* x_88;
-lean_dec(x_77);
-x_87 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-x_88 = l_Lean_Parser_ParserState_mkErrorsAt(x_76, x_87, x_75);
-x_38 = x_88;
-goto block_74;
-}
-block_37:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15;
-x_13 = lean_ctor_get(x_11, 1);
-lean_inc(x_13);
-x_14 = l_Lean_Parser_tokenFn(x_1, x_11);
-x_15 = lean_ctor_get(x_14, 3);
+lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19;
+x_15 = lean_ctor_get(x_1, 0);
lean_inc(x_15);
-if (lean_obj_tag(x_15) == 0)
-{
-lean_object* x_16; lean_object* x_17;
-x_16 = lean_ctor_get(x_14, 0);
+x_16 = lean_ctor_get(x_1, 1);
lean_inc(x_16);
-x_17 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_16);
-lean_dec(x_16);
-if (lean_obj_tag(x_17) == 2)
-{
-lean_object* x_18; lean_object* x_19; uint8_t x_20;
-x_18 = lean_ctor_get(x_17, 1);
+x_17 = lean_ctor_get(x_1, 2);
+lean_inc(x_17);
+x_18 = lean_ctor_get(x_1, 3);
lean_inc(x_18);
-lean_dec(x_17);
-x_19 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
-x_20 = lean_string_dec_eq(x_18, x_19);
-lean_dec(x_18);
-if (x_20 == 0)
+x_19 = !lean_is_exclusive(x_15);
+if (x_19 == 0)
{
-lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
-x_21 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_22 = l_Lean_Parser_ParserState_mkErrorsAt(x_14, x_21, x_13);
-x_23 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__4;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_22, x_23, x_10);
-return x_24;
-}
-else
+uint8_t x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25;
+x_20 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
+x_21 = lean_box(0);
+x_22 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_22, 0, x_15);
+lean_ctor_set(x_22, 1, x_16);
+lean_ctor_set(x_22, 2, x_17);
+lean_ctor_set(x_22, 3, x_18);
+lean_ctor_set(x_22, 4, x_21);
+lean_ctor_set(x_22, 5, x_21);
+lean_ctor_set_uint8(x_22, sizeof(void*)*6, x_20);
+x_23 = l_Lean_Parser_Term_paren___elambda__1___closed__3;
+x_24 = l_Lean_Parser_optionalFn(x_23, x_22, x_13);
+x_25 = lean_ctor_get(x_24, 3);
+lean_inc(x_25);
+if (lean_obj_tag(x_25) == 0)
{
-lean_object* x_25; lean_object* x_26;
-lean_dec(x_13);
-x_25 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__4;
-x_26 = l_Lean_Parser_ParserState_mkNode(x_14, x_25, x_10);
-return x_26;
-}
-}
-else
-{
-lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30;
-lean_dec(x_17);
-x_27 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_28 = l_Lean_Parser_ParserState_mkErrorsAt(x_14, x_27, x_13);
+lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30;
+x_26 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
+x_27 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__9;
+x_28 = l_Lean_Parser_symbolFnAux(x_26, x_27, x_1, x_24);
x_29 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__4;
x_30 = l_Lean_Parser_ParserState_mkNode(x_28, x_29, x_10);
return x_30;
}
+else
+{
+lean_object* x_31; lean_object* x_32;
+lean_dec(x_25);
+lean_dec(x_1);
+x_31 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__4;
+x_32 = l_Lean_Parser_ParserState_mkNode(x_24, x_31, x_10);
+return x_32;
+}
}
else
{
-lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34;
+uint8_t 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;
+x_33 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
+x_34 = lean_ctor_get(x_15, 0);
+x_35 = lean_ctor_get(x_15, 1);
+x_36 = lean_ctor_get(x_15, 2);
+lean_inc(x_36);
+lean_inc(x_35);
+lean_inc(x_34);
lean_dec(x_15);
-x_31 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_14, x_31, x_13);
-x_33 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__4;
-x_34 = l_Lean_Parser_ParserState_mkNode(x_32, x_33, x_10);
-return x_34;
-}
-}
-else
-{
-lean_object* x_35; lean_object* x_36;
-lean_dec(x_12);
-lean_dec(x_1);
-x_35 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__4;
-x_36 = l_Lean_Parser_ParserState_mkNode(x_11, x_35, x_10);
-return x_36;
-}
-}
-block_74:
-{
-lean_object* x_39;
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; uint8_t 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;
-x_40 = lean_ctor_get(x_1, 0);
-lean_inc(x_40);
-x_41 = lean_ctor_get(x_1, 1);
-lean_inc(x_41);
-x_42 = lean_ctor_get(x_1, 2);
+x_37 = lean_box(0);
+x_38 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_38, 0, x_34);
+lean_ctor_set(x_38, 1, x_35);
+lean_ctor_set(x_38, 2, x_36);
+x_39 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_39, 0, x_38);
+lean_ctor_set(x_39, 1, x_16);
+lean_ctor_set(x_39, 2, x_17);
+lean_ctor_set(x_39, 3, x_18);
+lean_ctor_set(x_39, 4, x_37);
+lean_ctor_set(x_39, 5, x_37);
+lean_ctor_set_uint8(x_39, sizeof(void*)*6, x_33);
+x_40 = l_Lean_Parser_Term_paren___elambda__1___closed__3;
+x_41 = l_Lean_Parser_optionalFn(x_40, x_39, x_13);
+x_42 = lean_ctor_get(x_41, 3);
lean_inc(x_42);
-x_43 = lean_ctor_get(x_1, 3);
-lean_inc(x_43);
-x_44 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
-x_45 = lean_box(0);
-x_46 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_46, 0, x_40);
-lean_ctor_set(x_46, 1, x_41);
-lean_ctor_set(x_46, 2, x_42);
-lean_ctor_set(x_46, 3, x_43);
-lean_ctor_set(x_46, 4, x_45);
-lean_ctor_set(x_46, 5, x_45);
-lean_ctor_set_uint8(x_46, sizeof(void*)*6, x_44);
-x_47 = lean_ctor_get(x_38, 0);
-lean_inc(x_47);
-x_48 = lean_array_get_size(x_47);
-lean_dec(x_47);
-x_49 = lean_ctor_get(x_38, 1);
-lean_inc(x_49);
-x_50 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_51 = lean_unsigned_to_nat(0u);
-lean_inc(x_46);
-x_52 = l_Lean_Parser_categoryParser___elambda__1(x_50, x_51, x_46, x_38);
-x_53 = lean_ctor_get(x_52, 3);
-lean_inc(x_53);
-if (lean_obj_tag(x_53) == 0)
+if (lean_obj_tag(x_42) == 0)
{
-lean_object* x_54; lean_object* x_55;
-x_54 = l_Lean_Parser_Term_parenSpecial___elambda__1(x_46, x_52);
-x_55 = lean_ctor_get(x_54, 3);
-lean_inc(x_55);
-if (lean_obj_tag(x_55) == 0)
-{
-lean_object* x_56; lean_object* x_57;
-lean_dec(x_49);
-x_56 = l_Lean_nullKind;
-x_57 = l_Lean_Parser_ParserState_mkNode(x_54, x_56, x_48);
-x_11 = x_57;
-goto block_37;
+lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47;
+x_43 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
+x_44 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__9;
+x_45 = l_Lean_Parser_symbolFnAux(x_43, x_44, x_1, x_41);
+x_46 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__4;
+x_47 = l_Lean_Parser_ParserState_mkNode(x_45, x_46, x_10);
+return x_47;
}
else
{
-lean_object* x_58; uint8_t x_59;
-lean_dec(x_55);
-x_58 = lean_ctor_get(x_54, 1);
-lean_inc(x_58);
-x_59 = lean_nat_dec_eq(x_58, x_49);
-lean_dec(x_58);
-if (x_59 == 0)
-{
-lean_object* x_60; lean_object* x_61;
-lean_dec(x_49);
-x_60 = l_Lean_nullKind;
-x_61 = l_Lean_Parser_ParserState_mkNode(x_54, x_60, x_48);
-x_11 = x_61;
-goto block_37;
-}
-else
-{
-lean_object* x_62; lean_object* x_63; lean_object* x_64;
-x_62 = l_Lean_Parser_ParserState_restore(x_54, x_48, x_49);
-x_63 = l_Lean_nullKind;
-x_64 = l_Lean_Parser_ParserState_mkNode(x_62, x_63, x_48);
-x_11 = x_64;
-goto block_37;
-}
-}
-}
-else
-{
-lean_object* x_65; uint8_t x_66;
-lean_dec(x_53);
-lean_dec(x_46);
-x_65 = lean_ctor_get(x_52, 1);
-lean_inc(x_65);
-x_66 = lean_nat_dec_eq(x_65, x_49);
-lean_dec(x_65);
-if (x_66 == 0)
-{
-lean_object* x_67; lean_object* x_68;
-lean_dec(x_49);
-x_67 = l_Lean_nullKind;
-x_68 = l_Lean_Parser_ParserState_mkNode(x_52, x_67, x_48);
-x_11 = x_68;
-goto block_37;
-}
-else
-{
-lean_object* x_69; lean_object* x_70; lean_object* x_71;
-x_69 = l_Lean_Parser_ParserState_restore(x_52, x_48, x_49);
-x_70 = l_Lean_nullKind;
-x_71 = l_Lean_Parser_ParserState_mkNode(x_69, x_70, x_48);
-x_11 = x_71;
-goto block_37;
-}
-}
-}
-else
-{
-lean_object* x_72; lean_object* x_73;
-lean_dec(x_39);
+lean_object* x_48; lean_object* x_49;
+lean_dec(x_42);
lean_dec(x_1);
-x_72 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__4;
-x_73 = l_Lean_Parser_ParserState_mkNode(x_38, x_72, x_10);
-return x_73;
+x_48 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__4;
+x_49 = l_Lean_Parser_ParserState_mkNode(x_41, x_48, x_10);
+return x_49;
}
}
}
else
{
+lean_object* x_50; lean_object* x_51;
+lean_dec(x_14);
+lean_dec(x_1);
+x_50 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__4;
+x_51 = l_Lean_Parser_ParserState_mkNode(x_13, x_50, x_10);
+return x_51;
+}
+}
+else
+{
lean_dec(x_8);
lean_dec(x_1);
return x_7;
@@ -16569,345 +12358,11 @@ return x_7;
}
else
{
-lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93;
-x_89 = lean_ctor_get(x_2, 0);
-lean_inc(x_89);
-x_90 = lean_array_get_size(x_89);
-lean_dec(x_89);
-x_91 = lean_ctor_get(x_2, 1);
-lean_inc(x_91);
-lean_inc(x_1);
-x_92 = lean_apply_2(x_4, x_1, x_2);
-x_93 = lean_ctor_get(x_92, 3);
-lean_inc(x_93);
-if (lean_obj_tag(x_93) == 0)
-{
-lean_dec(x_91);
-lean_dec(x_90);
-lean_dec(x_1);
-return x_92;
-}
-else
-{
-lean_object* x_94; lean_object* x_95; uint8_t x_96;
-x_94 = lean_ctor_get(x_93, 0);
-lean_inc(x_94);
-lean_dec(x_93);
-x_95 = lean_ctor_get(x_92, 1);
-lean_inc(x_95);
-x_96 = lean_nat_dec_eq(x_95, x_91);
-lean_dec(x_95);
-if (x_96 == 0)
-{
-lean_dec(x_94);
-lean_dec(x_91);
-lean_dec(x_90);
-lean_dec(x_1);
-return x_92;
-}
-else
-{
-lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100;
-lean_inc(x_91);
-x_97 = l_Lean_Parser_ParserState_restore(x_92, x_90, x_91);
-lean_dec(x_90);
-x_98 = lean_unsigned_to_nat(1024u);
-x_99 = l_Lean_Parser_checkPrecFn(x_98, x_1, x_97);
-x_100 = lean_ctor_get(x_99, 3);
-lean_inc(x_100);
-if (lean_obj_tag(x_100) == 0)
-{
-lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_140; lean_object* x_179; lean_object* x_180; lean_object* x_181;
-x_101 = lean_ctor_get(x_99, 0);
-lean_inc(x_101);
-x_102 = lean_array_get_size(x_101);
-lean_dec(x_101);
-x_179 = lean_ctor_get(x_99, 1);
-lean_inc(x_179);
-lean_inc(x_1);
-x_180 = l_Lean_Parser_tokenFn(x_1, x_99);
-x_181 = lean_ctor_get(x_180, 3);
-lean_inc(x_181);
-if (lean_obj_tag(x_181) == 0)
-{
-lean_object* x_182; lean_object* x_183;
-x_182 = lean_ctor_get(x_180, 0);
-lean_inc(x_182);
-x_183 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_182);
-lean_dec(x_182);
-if (lean_obj_tag(x_183) == 2)
-{
-lean_object* x_184; lean_object* x_185; uint8_t x_186;
-x_184 = lean_ctor_get(x_183, 1);
-lean_inc(x_184);
-lean_dec(x_183);
-x_185 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__3;
-x_186 = lean_string_dec_eq(x_184, x_185);
-lean_dec(x_184);
-if (x_186 == 0)
-{
-lean_object* x_187; lean_object* x_188;
-x_187 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-x_188 = l_Lean_Parser_ParserState_mkErrorsAt(x_180, x_187, x_179);
-x_140 = x_188;
-goto block_178;
-}
-else
-{
-lean_dec(x_179);
-x_140 = x_180;
-goto block_178;
-}
-}
-else
-{
-lean_object* x_189; lean_object* x_190;
-lean_dec(x_183);
-x_189 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-x_190 = l_Lean_Parser_ParserState_mkErrorsAt(x_180, x_189, x_179);
-x_140 = x_190;
-goto block_178;
-}
-}
-else
-{
-lean_object* x_191; lean_object* x_192;
-lean_dec(x_181);
-x_191 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-x_192 = l_Lean_Parser_ParserState_mkErrorsAt(x_180, x_191, x_179);
-x_140 = x_192;
-goto block_178;
-}
-block_139:
-{
-lean_object* x_104;
-x_104 = lean_ctor_get(x_103, 3);
-lean_inc(x_104);
-if (lean_obj_tag(x_104) == 0)
-{
-lean_object* x_105; lean_object* x_106; lean_object* x_107;
-x_105 = lean_ctor_get(x_103, 1);
-lean_inc(x_105);
-x_106 = l_Lean_Parser_tokenFn(x_1, x_103);
-x_107 = lean_ctor_get(x_106, 3);
-lean_inc(x_107);
-if (lean_obj_tag(x_107) == 0)
-{
-lean_object* x_108; lean_object* x_109;
-x_108 = lean_ctor_get(x_106, 0);
-lean_inc(x_108);
-x_109 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_108);
-lean_dec(x_108);
-if (lean_obj_tag(x_109) == 2)
-{
-lean_object* x_110; lean_object* x_111; uint8_t x_112;
-x_110 = lean_ctor_get(x_109, 1);
-lean_inc(x_110);
-lean_dec(x_109);
-x_111 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
-x_112 = lean_string_dec_eq(x_110, x_111);
-lean_dec(x_110);
-if (x_112 == 0)
-{
-lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; uint8_t x_117; lean_object* x_118;
-x_113 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_114 = l_Lean_Parser_ParserState_mkErrorsAt(x_106, x_113, x_105);
-x_115 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__4;
-x_116 = l_Lean_Parser_ParserState_mkNode(x_114, x_115, x_102);
-x_117 = 1;
-x_118 = l_Lean_Parser_mergeOrElseErrors(x_116, x_94, x_91, x_117);
-lean_dec(x_91);
-return x_118;
-}
-else
-{
-lean_object* x_119; lean_object* x_120; uint8_t x_121; lean_object* x_122;
-lean_dec(x_105);
-x_119 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__4;
-x_120 = l_Lean_Parser_ParserState_mkNode(x_106, x_119, x_102);
-x_121 = 1;
-x_122 = l_Lean_Parser_mergeOrElseErrors(x_120, x_94, x_91, x_121);
-lean_dec(x_91);
-return x_122;
-}
-}
-else
-{
-lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; uint8_t x_127; lean_object* x_128;
-lean_dec(x_109);
-x_123 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_124 = l_Lean_Parser_ParserState_mkErrorsAt(x_106, x_123, x_105);
-x_125 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__4;
-x_126 = l_Lean_Parser_ParserState_mkNode(x_124, x_125, x_102);
-x_127 = 1;
-x_128 = l_Lean_Parser_mergeOrElseErrors(x_126, x_94, x_91, x_127);
-lean_dec(x_91);
-return x_128;
-}
-}
-else
-{
-lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; uint8_t x_133; lean_object* x_134;
-lean_dec(x_107);
-x_129 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_130 = l_Lean_Parser_ParserState_mkErrorsAt(x_106, x_129, x_105);
-x_131 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__4;
-x_132 = l_Lean_Parser_ParserState_mkNode(x_130, x_131, x_102);
-x_133 = 1;
-x_134 = l_Lean_Parser_mergeOrElseErrors(x_132, x_94, x_91, x_133);
-lean_dec(x_91);
-return x_134;
-}
-}
-else
-{
-lean_object* x_135; lean_object* x_136; uint8_t x_137; lean_object* x_138;
-lean_dec(x_104);
-lean_dec(x_1);
-x_135 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__4;
-x_136 = l_Lean_Parser_ParserState_mkNode(x_103, x_135, x_102);
-x_137 = 1;
-x_138 = l_Lean_Parser_mergeOrElseErrors(x_136, x_94, x_91, x_137);
-lean_dec(x_91);
-return x_138;
-}
-}
-block_178:
-{
-lean_object* x_141;
-x_141 = lean_ctor_get(x_140, 3);
-lean_inc(x_141);
-if (lean_obj_tag(x_141) == 0)
-{
-lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; uint8_t x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155;
-x_142 = lean_ctor_get(x_1, 0);
-lean_inc(x_142);
-x_143 = lean_ctor_get(x_1, 1);
-lean_inc(x_143);
-x_144 = lean_ctor_get(x_1, 2);
-lean_inc(x_144);
-x_145 = lean_ctor_get(x_1, 3);
-lean_inc(x_145);
-x_146 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
-x_147 = lean_box(0);
-x_148 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_148, 0, x_142);
-lean_ctor_set(x_148, 1, x_143);
-lean_ctor_set(x_148, 2, x_144);
-lean_ctor_set(x_148, 3, x_145);
-lean_ctor_set(x_148, 4, x_147);
-lean_ctor_set(x_148, 5, x_147);
-lean_ctor_set_uint8(x_148, sizeof(void*)*6, x_146);
-x_149 = lean_ctor_get(x_140, 0);
-lean_inc(x_149);
-x_150 = lean_array_get_size(x_149);
-lean_dec(x_149);
-x_151 = lean_ctor_get(x_140, 1);
-lean_inc(x_151);
-x_152 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_153 = lean_unsigned_to_nat(0u);
-lean_inc(x_148);
-x_154 = l_Lean_Parser_categoryParser___elambda__1(x_152, x_153, x_148, x_140);
-x_155 = lean_ctor_get(x_154, 3);
-lean_inc(x_155);
-if (lean_obj_tag(x_155) == 0)
-{
-lean_object* x_156; lean_object* x_157;
-x_156 = l_Lean_Parser_Term_parenSpecial___elambda__1(x_148, x_154);
-x_157 = lean_ctor_get(x_156, 3);
-lean_inc(x_157);
-if (lean_obj_tag(x_157) == 0)
-{
-lean_object* x_158; lean_object* x_159;
-lean_dec(x_151);
-x_158 = l_Lean_nullKind;
-x_159 = l_Lean_Parser_ParserState_mkNode(x_156, x_158, x_150);
-x_103 = x_159;
-goto block_139;
-}
-else
-{
-lean_object* x_160; uint8_t x_161;
-lean_dec(x_157);
-x_160 = lean_ctor_get(x_156, 1);
-lean_inc(x_160);
-x_161 = lean_nat_dec_eq(x_160, x_151);
-lean_dec(x_160);
-if (x_161 == 0)
-{
-lean_object* x_162; lean_object* x_163;
-lean_dec(x_151);
-x_162 = l_Lean_nullKind;
-x_163 = l_Lean_Parser_ParserState_mkNode(x_156, x_162, x_150);
-x_103 = x_163;
-goto block_139;
-}
-else
-{
-lean_object* x_164; lean_object* x_165; lean_object* x_166;
-x_164 = l_Lean_Parser_ParserState_restore(x_156, x_150, x_151);
-x_165 = l_Lean_nullKind;
-x_166 = l_Lean_Parser_ParserState_mkNode(x_164, x_165, x_150);
-x_103 = x_166;
-goto block_139;
-}
-}
-}
-else
-{
-lean_object* x_167; uint8_t x_168;
-lean_dec(x_155);
-lean_dec(x_148);
-x_167 = lean_ctor_get(x_154, 1);
-lean_inc(x_167);
-x_168 = lean_nat_dec_eq(x_167, x_151);
-lean_dec(x_167);
-if (x_168 == 0)
-{
-lean_object* x_169; lean_object* x_170;
-lean_dec(x_151);
-x_169 = l_Lean_nullKind;
-x_170 = l_Lean_Parser_ParserState_mkNode(x_154, x_169, x_150);
-x_103 = x_170;
-goto block_139;
-}
-else
-{
-lean_object* x_171; lean_object* x_172; lean_object* x_173;
-x_171 = l_Lean_Parser_ParserState_restore(x_154, x_150, x_151);
-x_172 = l_Lean_nullKind;
-x_173 = l_Lean_Parser_ParserState_mkNode(x_171, x_172, x_150);
-x_103 = x_173;
-goto block_139;
-}
-}
-}
-else
-{
-lean_object* x_174; lean_object* x_175; uint8_t x_176; lean_object* x_177;
-lean_dec(x_141);
-lean_dec(x_1);
-x_174 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__4;
-x_175 = l_Lean_Parser_ParserState_mkNode(x_140, x_174, x_102);
-x_176 = 1;
-x_177 = l_Lean_Parser_mergeOrElseErrors(x_175, x_94, x_91, x_176);
-lean_dec(x_91);
-return x_177;
-}
-}
-}
-else
-{
-uint8_t x_193; lean_object* x_194;
-lean_dec(x_100);
-lean_dec(x_1);
-x_193 = 1;
-x_194 = l_Lean_Parser_mergeOrElseErrors(x_99, x_94, x_91, x_193);
-lean_dec(x_91);
-return x_194;
-}
-}
-}
+lean_object* x_52; uint8_t x_53; lean_object* x_54;
+x_52 = l_Lean_Parser_Term_paren___elambda__1___closed__8;
+x_53 = 1;
+x_54 = l_Lean_Parser_orelseFnCore(x_4, x_52, x_53, x_1, x_2);
+return x_54;
}
}
}
@@ -17607,19 +13062,6 @@ x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1);
return x_5;
}
}
-lean_object* l_Lean_Parser_sepByFn___at_Lean_Parser_Term_anonymousCtor___elambda__1___spec__1(uint8_t x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
-x_4 = lean_ctor_get(x_3, 0);
-lean_inc(x_4);
-x_5 = lean_array_get_size(x_4);
-lean_dec(x_4);
-x_6 = 1;
-x_7 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2(x_1, x_5, x_6, x_2, x_3);
-return x_7;
-}
-}
static lean_object* _init_l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__1() {
_start:
{
@@ -17672,72 +13114,131 @@ static lean_object* _init_l_Lean_Parser_Term_anonymousCtor___elambda__1___closed
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Sigma_HasRepr___rarg___closed__2;
-x_2 = l_String_trim(x_1);
+x_1 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+uint8_t x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
+x_1 = 0;
+x_2 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_3 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__6;
+x_4 = lean_box(x_1);
+x_5 = lean_alloc_closure((void*)(l_Lean_Parser_sepByFn___boxed), 5, 3);
+lean_closure_set(x_5, 0, x_4);
+lean_closure_set(x_5, 1, x_2);
+lean_closure_set(x_5, 2, x_3);
+return x_5;
}
}
static lean_object* _init_l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__8() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Sigma_HasRepr___rarg___closed__2;
+x_2 = l_String_trim(x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__9() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__8;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__10() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__12;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__14() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Char_HasRepr___closed__1;
x_2 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__5;
x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__11() {
+static lean_object* _init_l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__15() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__10;
+x_1 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__14;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__12() {
+static lean_object* _init_l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__16() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__11;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__8;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__17() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__16;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -17761,163 +13262,55 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_43; lean_object* x_44; lean_object* x_45;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_43 = lean_ctor_get(x_7, 1);
-lean_inc(x_43);
+x_11 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__5;
+x_12 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__15;
lean_inc(x_1);
-x_44 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_45 = lean_ctor_get(x_44, 3);
-lean_inc(x_45);
-if (lean_obj_tag(x_45) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_46; lean_object* x_47;
-x_46 = lean_ctor_get(x_44, 0);
-lean_inc(x_46);
-x_47 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_46);
-lean_dec(x_46);
-if (lean_obj_tag(x_47) == 2)
-{
-lean_object* x_48; lean_object* x_49; uint8_t x_50;
-x_48 = lean_ctor_get(x_47, 1);
-lean_inc(x_48);
-lean_dec(x_47);
-x_49 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__5;
-x_50 = lean_string_dec_eq(x_48, x_49);
-lean_dec(x_48);
-if (x_50 == 0)
-{
-lean_object* x_51; lean_object* x_52;
-x_51 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__12;
-x_52 = l_Lean_Parser_ParserState_mkErrorsAt(x_44, x_51, x_43);
-x_11 = x_52;
-goto block_42;
-}
-else
-{
-lean_dec(x_43);
-x_11 = x_44;
-goto block_42;
-}
-}
-else
-{
-lean_object* x_53; lean_object* x_54;
-lean_dec(x_47);
-x_53 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__12;
-x_54 = l_Lean_Parser_ParserState_mkErrorsAt(x_44, x_53, x_43);
-x_11 = x_54;
-goto block_42;
-}
-}
-else
-{
-lean_object* x_55; lean_object* x_56;
-lean_dec(x_45);
-x_55 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__12;
-x_56 = l_Lean_Parser_ParserState_mkErrorsAt(x_44, x_55, x_43);
-x_11 = x_56;
-goto block_42;
-}
-block_42:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-uint8_t x_13; lean_object* x_14; lean_object* x_15;
-x_13 = 0;
+uint8_t x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
+x_15 = 0;
+x_16 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_17 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__6;
lean_inc(x_1);
-x_14 = l_Lean_Parser_sepByFn___at_Lean_Parser_Term_anonymousCtor___elambda__1___spec__1(x_13, x_1, x_11);
-x_15 = lean_ctor_get(x_14, 3);
-lean_inc(x_15);
-if (lean_obj_tag(x_15) == 0)
-{
-lean_object* x_16; lean_object* x_17; lean_object* x_18;
-x_16 = lean_ctor_get(x_14, 1);
-lean_inc(x_16);
-x_17 = l_Lean_Parser_tokenFn(x_1, x_14);
-x_18 = lean_ctor_get(x_17, 3);
-lean_inc(x_18);
-if (lean_obj_tag(x_18) == 0)
-{
-lean_object* x_19; lean_object* x_20;
-x_19 = lean_ctor_get(x_17, 0);
+x_18 = l_Lean_Parser_sepByFn(x_15, x_16, x_17, x_1, x_13);
+x_19 = lean_ctor_get(x_18, 3);
lean_inc(x_19);
-x_20 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_19);
+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;
+x_20 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__8;
+x_21 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__17;
+x_22 = l_Lean_Parser_symbolFnAux(x_20, x_21, x_1, x_18);
+x_23 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__2;
+x_24 = l_Lean_Parser_ParserState_mkNode(x_22, x_23, x_10);
+return x_24;
+}
+else
+{
+lean_object* x_25; lean_object* x_26;
lean_dec(x_19);
-if (lean_obj_tag(x_20) == 2)
-{
-lean_object* x_21; lean_object* x_22; uint8_t x_23;
-x_21 = lean_ctor_get(x_20, 1);
-lean_inc(x_21);
-lean_dec(x_20);
-x_22 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__6;
-x_23 = lean_string_dec_eq(x_21, x_22);
-lean_dec(x_21);
-if (x_23 == 0)
-{
-lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
-x_24 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__9;
-x_25 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_24, x_16);
-x_26 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__2;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_25, x_26, x_10);
-return x_27;
-}
-else
-{
-lean_object* x_28; lean_object* x_29;
-lean_dec(x_16);
-x_28 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__2;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_17, x_28, x_10);
-return x_29;
-}
-}
-else
-{
-lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
-lean_dec(x_20);
-x_30 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__9;
-x_31 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_30, x_16);
-x_32 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__2;
-x_33 = l_Lean_Parser_ParserState_mkNode(x_31, x_32, x_10);
-return x_33;
-}
-}
-else
-{
-lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-lean_dec(x_18);
-x_34 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__9;
-x_35 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_34, x_16);
-x_36 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__2;
-x_37 = l_Lean_Parser_ParserState_mkNode(x_35, x_36, x_10);
-return x_37;
-}
-}
-else
-{
-lean_object* x_38; lean_object* x_39;
-lean_dec(x_15);
lean_dec(x_1);
-x_38 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__2;
-x_39 = l_Lean_Parser_ParserState_mkNode(x_14, x_38, x_10);
-return x_39;
+x_25 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__2;
+x_26 = l_Lean_Parser_ParserState_mkNode(x_18, x_25, x_10);
+return x_26;
}
}
else
{
-lean_object* x_40; lean_object* x_41;
-lean_dec(x_12);
+lean_object* x_27; lean_object* x_28;
+lean_dec(x_14);
lean_dec(x_1);
-x_40 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__2;
-x_41 = l_Lean_Parser_ParserState_mkNode(x_11, x_40, x_10);
-return x_41;
-}
+x_27 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__2;
+x_28 = l_Lean_Parser_ParserState_mkNode(x_13, x_27, x_10);
+return x_28;
}
}
else
@@ -17929,243 +13322,11 @@ return x_7;
}
else
{
-lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61;
-x_57 = lean_ctor_get(x_2, 0);
-lean_inc(x_57);
-x_58 = lean_array_get_size(x_57);
-lean_dec(x_57);
-x_59 = lean_ctor_get(x_2, 1);
-lean_inc(x_59);
-lean_inc(x_1);
-x_60 = lean_apply_2(x_4, x_1, x_2);
-x_61 = lean_ctor_get(x_60, 3);
-lean_inc(x_61);
-if (lean_obj_tag(x_61) == 0)
-{
-lean_dec(x_59);
-lean_dec(x_58);
-lean_dec(x_1);
-return x_60;
-}
-else
-{
-lean_object* x_62; lean_object* x_63; uint8_t x_64;
-x_62 = lean_ctor_get(x_61, 0);
-lean_inc(x_62);
-lean_dec(x_61);
-x_63 = lean_ctor_get(x_60, 1);
-lean_inc(x_63);
-x_64 = lean_nat_dec_eq(x_63, x_59);
-lean_dec(x_63);
-if (x_64 == 0)
-{
-lean_dec(x_62);
-lean_dec(x_59);
-lean_dec(x_58);
-lean_dec(x_1);
-return x_60;
-}
-else
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68;
-lean_inc(x_59);
-x_65 = l_Lean_Parser_ParserState_restore(x_60, x_58, x_59);
-lean_dec(x_58);
-x_66 = lean_unsigned_to_nat(1024u);
-x_67 = l_Lean_Parser_checkPrecFn(x_66, x_1, x_65);
-x_68 = lean_ctor_get(x_67, 3);
-lean_inc(x_68);
-if (lean_obj_tag(x_68) == 0)
-{
-lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_115; lean_object* x_116; lean_object* x_117;
-x_69 = lean_ctor_get(x_67, 0);
-lean_inc(x_69);
-x_70 = lean_array_get_size(x_69);
-lean_dec(x_69);
-x_115 = lean_ctor_get(x_67, 1);
-lean_inc(x_115);
-lean_inc(x_1);
-x_116 = l_Lean_Parser_tokenFn(x_1, x_67);
-x_117 = lean_ctor_get(x_116, 3);
-lean_inc(x_117);
-if (lean_obj_tag(x_117) == 0)
-{
-lean_object* x_118; lean_object* x_119;
-x_118 = lean_ctor_get(x_116, 0);
-lean_inc(x_118);
-x_119 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_118);
-lean_dec(x_118);
-if (lean_obj_tag(x_119) == 2)
-{
-lean_object* x_120; lean_object* x_121; uint8_t x_122;
-x_120 = lean_ctor_get(x_119, 1);
-lean_inc(x_120);
-lean_dec(x_119);
-x_121 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__5;
-x_122 = lean_string_dec_eq(x_120, x_121);
-lean_dec(x_120);
-if (x_122 == 0)
-{
-lean_object* x_123; lean_object* x_124;
-x_123 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__12;
-x_124 = l_Lean_Parser_ParserState_mkErrorsAt(x_116, x_123, x_115);
-x_71 = x_124;
-goto block_114;
-}
-else
-{
-lean_dec(x_115);
-x_71 = x_116;
-goto block_114;
-}
-}
-else
-{
-lean_object* x_125; lean_object* x_126;
-lean_dec(x_119);
-x_125 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__12;
-x_126 = l_Lean_Parser_ParserState_mkErrorsAt(x_116, x_125, x_115);
-x_71 = x_126;
-goto block_114;
-}
-}
-else
-{
-lean_object* x_127; lean_object* x_128;
-lean_dec(x_117);
-x_127 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__12;
-x_128 = l_Lean_Parser_ParserState_mkErrorsAt(x_116, x_127, x_115);
-x_71 = x_128;
-goto block_114;
-}
-block_114:
-{
-lean_object* x_72;
-x_72 = lean_ctor_get(x_71, 3);
-lean_inc(x_72);
-if (lean_obj_tag(x_72) == 0)
-{
-uint8_t x_73; lean_object* x_74; lean_object* x_75;
-x_73 = 0;
-lean_inc(x_1);
-x_74 = l_Lean_Parser_sepByFn___at_Lean_Parser_Term_anonymousCtor___elambda__1___spec__1(x_73, x_1, x_71);
-x_75 = lean_ctor_get(x_74, 3);
-lean_inc(x_75);
-if (lean_obj_tag(x_75) == 0)
-{
-lean_object* x_76; lean_object* x_77; lean_object* x_78;
-x_76 = lean_ctor_get(x_74, 1);
-lean_inc(x_76);
-x_77 = l_Lean_Parser_tokenFn(x_1, x_74);
-x_78 = lean_ctor_get(x_77, 3);
-lean_inc(x_78);
-if (lean_obj_tag(x_78) == 0)
-{
-lean_object* x_79; lean_object* x_80;
-x_79 = lean_ctor_get(x_77, 0);
-lean_inc(x_79);
-x_80 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_79);
-lean_dec(x_79);
-if (lean_obj_tag(x_80) == 2)
-{
-lean_object* x_81; lean_object* x_82; uint8_t x_83;
-x_81 = lean_ctor_get(x_80, 1);
-lean_inc(x_81);
-lean_dec(x_80);
-x_82 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__6;
-x_83 = lean_string_dec_eq(x_81, x_82);
-lean_dec(x_81);
-if (x_83 == 0)
-{
-lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; uint8_t x_88; lean_object* x_89;
-x_84 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__9;
-x_85 = l_Lean_Parser_ParserState_mkErrorsAt(x_77, x_84, x_76);
-x_86 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__2;
-x_87 = l_Lean_Parser_ParserState_mkNode(x_85, x_86, x_70);
-x_88 = 1;
-x_89 = l_Lean_Parser_mergeOrElseErrors(x_87, x_62, x_59, x_88);
-lean_dec(x_59);
-return x_89;
-}
-else
-{
-lean_object* x_90; lean_object* x_91; uint8_t x_92; lean_object* x_93;
-lean_dec(x_76);
-x_90 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__2;
-x_91 = l_Lean_Parser_ParserState_mkNode(x_77, x_90, x_70);
-x_92 = 1;
-x_93 = l_Lean_Parser_mergeOrElseErrors(x_91, x_62, x_59, x_92);
-lean_dec(x_59);
-return x_93;
-}
-}
-else
-{
-lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; uint8_t x_98; lean_object* x_99;
-lean_dec(x_80);
-x_94 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__9;
-x_95 = l_Lean_Parser_ParserState_mkErrorsAt(x_77, x_94, x_76);
-x_96 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__2;
-x_97 = l_Lean_Parser_ParserState_mkNode(x_95, x_96, x_70);
-x_98 = 1;
-x_99 = l_Lean_Parser_mergeOrElseErrors(x_97, x_62, x_59, x_98);
-lean_dec(x_59);
-return x_99;
-}
-}
-else
-{
-lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; uint8_t x_104; lean_object* x_105;
-lean_dec(x_78);
-x_100 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__9;
-x_101 = l_Lean_Parser_ParserState_mkErrorsAt(x_77, x_100, x_76);
-x_102 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__2;
-x_103 = l_Lean_Parser_ParserState_mkNode(x_101, x_102, x_70);
-x_104 = 1;
-x_105 = l_Lean_Parser_mergeOrElseErrors(x_103, x_62, x_59, x_104);
-lean_dec(x_59);
-return x_105;
-}
-}
-else
-{
-lean_object* x_106; lean_object* x_107; uint8_t x_108; lean_object* x_109;
-lean_dec(x_75);
-lean_dec(x_1);
-x_106 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__2;
-x_107 = l_Lean_Parser_ParserState_mkNode(x_74, x_106, x_70);
-x_108 = 1;
-x_109 = l_Lean_Parser_mergeOrElseErrors(x_107, x_62, x_59, x_108);
-lean_dec(x_59);
-return x_109;
-}
-}
-else
-{
-lean_object* x_110; lean_object* x_111; uint8_t x_112; lean_object* x_113;
-lean_dec(x_72);
-lean_dec(x_1);
-x_110 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__2;
-x_111 = l_Lean_Parser_ParserState_mkNode(x_71, x_110, x_70);
-x_112 = 1;
-x_113 = l_Lean_Parser_mergeOrElseErrors(x_111, x_62, x_59, x_112);
-lean_dec(x_59);
-return x_113;
-}
-}
-}
-else
-{
-uint8_t x_129; lean_object* x_130;
-lean_dec(x_68);
-lean_dec(x_1);
-x_129 = 1;
-x_130 = l_Lean_Parser_mergeOrElseErrors(x_67, x_62, x_59, x_129);
-lean_dec(x_59);
-return x_130;
-}
-}
-}
+lean_object* x_29; uint8_t x_30; lean_object* x_31;
+x_29 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__13;
+x_30 = 1;
+x_31 = l_Lean_Parser_orelseFnCore(x_4, x_29, x_30, x_1, x_2);
+return x_31;
}
}
}
@@ -18194,7 +13355,7 @@ static lean_object* _init_l_Lean_Parser_Term_anonymousCtor___closed__3() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__6;
+x_1 = l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__8;
x_2 = l_Lean_Parser_symbolInfo(x_1);
return x_2;
}
@@ -18279,16 +13440,6 @@ x_1 = l_Lean_Parser_Term_anonymousCtor___closed__10;
return x_1;
}
}
-lean_object* l_Lean_Parser_sepByFn___at_Lean_Parser_Term_anonymousCtor___elambda__1___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-uint8_t x_4; lean_object* x_5;
-x_4 = lean_unbox(x_1);
-lean_dec(x_1);
-x_5 = l_Lean_Parser_sepByFn___at_Lean_Parser_Term_anonymousCtor___elambda__1___spec__1(x_4, x_2, x_3);
-return x_5;
-}
-}
lean_object* l___regBuiltinParser_Lean_Parser_Term_anonymousCtor(lean_object* x_1) {
_start:
{
@@ -18508,206 +13659,35 @@ x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1);
return x_5;
}
}
+static lean_object* _init_l_Lean_Parser_Term_optIdent___elambda__1___closed__1() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_ident___closed__1;
+x_2 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_optIdent___elambda__1___closed__2() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_optIdent___elambda__1___closed__1;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_tryFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
lean_object* l_Lean_Parser_Term_optIdent___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-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_29; lean_object* x_30;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_ctor_get(x_2, 1);
-lean_inc(x_4);
-x_5 = lean_array_get_size(x_3);
-lean_dec(x_3);
-lean_inc(x_1);
-x_29 = l_Lean_Parser_Term_ident___elambda__1(x_1, x_2);
-x_30 = lean_ctor_get(x_29, 3);
-lean_inc(x_30);
-if (lean_obj_tag(x_30) == 0)
-{
-lean_object* x_31; lean_object* x_32; lean_object* x_33;
-x_31 = lean_ctor_get(x_29, 1);
-lean_inc(x_31);
-x_32 = l_Lean_Parser_tokenFn(x_1, x_29);
-x_33 = lean_ctor_get(x_32, 3);
-lean_inc(x_33);
-if (lean_obj_tag(x_33) == 0)
-{
-lean_object* x_34; lean_object* x_35;
-x_34 = lean_ctor_get(x_32, 0);
-lean_inc(x_34);
-x_35 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_34);
-lean_dec(x_34);
-if (lean_obj_tag(x_35) == 2)
-{
-lean_object* x_36; lean_object* x_37; uint8_t x_38;
-x_36 = lean_ctor_get(x_35, 1);
-lean_inc(x_36);
-lean_dec(x_35);
-x_37 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__3;
-x_38 = lean_string_dec_eq(x_36, x_37);
-lean_dec(x_36);
-if (x_38 == 0)
-{
-lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43;
-x_39 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-x_40 = l_Lean_Parser_ParserState_mkErrorsAt(x_32, x_39, x_31);
-x_41 = lean_ctor_get(x_40, 0);
-lean_inc(x_41);
-x_42 = lean_ctor_get(x_40, 2);
-lean_inc(x_42);
-x_43 = lean_ctor_get(x_40, 3);
-lean_inc(x_43);
-x_6 = x_40;
-x_7 = x_41;
-x_8 = x_42;
-x_9 = x_43;
-goto block_28;
-}
-else
-{
-lean_object* x_44; lean_object* x_45; lean_object* x_46;
-lean_dec(x_31);
-x_44 = lean_ctor_get(x_32, 0);
-lean_inc(x_44);
-x_45 = lean_ctor_get(x_32, 2);
-lean_inc(x_45);
-x_46 = lean_ctor_get(x_32, 3);
-lean_inc(x_46);
-x_6 = x_32;
-x_7 = x_44;
-x_8 = x_45;
-x_9 = x_46;
-goto block_28;
-}
-}
-else
-{
-lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51;
-lean_dec(x_35);
-x_47 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-x_48 = l_Lean_Parser_ParserState_mkErrorsAt(x_32, x_47, x_31);
-x_49 = lean_ctor_get(x_48, 0);
-lean_inc(x_49);
-x_50 = lean_ctor_get(x_48, 2);
-lean_inc(x_50);
-x_51 = lean_ctor_get(x_48, 3);
-lean_inc(x_51);
-x_6 = x_48;
-x_7 = x_49;
-x_8 = x_50;
-x_9 = x_51;
-goto block_28;
-}
-}
-else
-{
-lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56;
-lean_dec(x_33);
-x_52 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-x_53 = l_Lean_Parser_ParserState_mkErrorsAt(x_32, x_52, x_31);
-x_54 = lean_ctor_get(x_53, 0);
-lean_inc(x_54);
-x_55 = lean_ctor_get(x_53, 2);
-lean_inc(x_55);
-x_56 = lean_ctor_get(x_53, 3);
-lean_inc(x_56);
-x_6 = x_53;
-x_7 = x_54;
-x_8 = x_55;
-x_9 = x_56;
-goto block_28;
-}
-}
-else
-{
-lean_object* x_57; lean_object* x_58; lean_object* x_59;
-lean_dec(x_30);
-lean_dec(x_1);
-x_57 = lean_ctor_get(x_29, 0);
-lean_inc(x_57);
-x_58 = lean_ctor_get(x_29, 2);
-lean_inc(x_58);
-x_59 = lean_ctor_get(x_29, 3);
-lean_inc(x_59);
-x_6 = x_29;
-x_7 = x_57;
-x_8 = x_58;
-x_9 = x_59;
-goto block_28;
-}
-block_28:
-{
-if (lean_obj_tag(x_9) == 0)
-{
-lean_object* x_10;
-lean_dec(x_8);
-lean_dec(x_7);
-x_10 = lean_ctor_get(x_6, 3);
-lean_inc(x_10);
-if (lean_obj_tag(x_10) == 0)
-{
-lean_object* x_11; lean_object* x_12;
-lean_dec(x_4);
-x_11 = l_Lean_nullKind;
-x_12 = l_Lean_Parser_ParserState_mkNode(x_6, x_11, x_5);
-return x_12;
-}
-else
-{
-lean_object* x_13; uint8_t x_14;
-lean_dec(x_10);
-x_13 = lean_ctor_get(x_6, 1);
-lean_inc(x_13);
-x_14 = lean_nat_dec_eq(x_13, x_4);
-lean_dec(x_13);
-if (x_14 == 0)
-{
-lean_object* x_15; lean_object* x_16;
-lean_dec(x_4);
-x_15 = l_Lean_nullKind;
-x_16 = l_Lean_Parser_ParserState_mkNode(x_6, x_15, x_5);
-return x_16;
-}
-else
-{
-lean_object* x_17; lean_object* x_18; lean_object* x_19;
-x_17 = l_Lean_Parser_ParserState_restore(x_6, x_5, x_4);
-x_18 = l_Lean_nullKind;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_5);
-return x_19;
-}
-}
-}
-else
-{
-lean_object* x_20; lean_object* x_21; uint8_t x_22;
-lean_dec(x_6);
-x_20 = l_Array_shrink___main___rarg(x_7, x_5);
-lean_inc(x_4);
-x_21 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_21, 0, x_20);
-lean_ctor_set(x_21, 1, x_4);
-lean_ctor_set(x_21, 2, x_8);
-lean_ctor_set(x_21, 3, x_9);
-x_22 = lean_nat_dec_eq(x_4, x_4);
-if (x_22 == 0)
-{
-lean_object* x_23; lean_object* x_24;
-lean_dec(x_4);
-x_23 = l_Lean_nullKind;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_21, x_23, x_5);
-return x_24;
-}
-else
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27;
-x_25 = l_Lean_Parser_ParserState_restore(x_21, x_5, x_4);
-x_26 = l_Lean_nullKind;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_25, x_26, x_5);
-return x_27;
-}
-}
-}
+lean_object* x_3; lean_object* x_4;
+x_3 = l_Lean_Parser_Term_optIdent___elambda__1___closed__2;
+x_4 = l_Lean_Parser_optionalFn(x_3, x_1, x_2);
+return x_4;
}
}
static lean_object* _init_l_Lean_Parser_Term_optIdent___closed__1() {
@@ -18818,26 +13798,28 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_if___elambda__1___closed__7() {
_start:
{
-lean_object* x_1;
-x_1 = lean_mk_string(" then ");
-return x_1;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_if___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_if___elambda__1___closed__8() {
_start:
{
-lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Term_if___elambda__1___closed__7;
-x_2 = l_String_trim(x_1);
-return x_2;
+lean_object* x_1;
+x_1 = lean_mk_string(" then ");
+return x_1;
}
}
static lean_object* _init_l_Lean_Parser_Term_if___elambda__1___closed__9() {
_start:
{
-lean_object* x_1;
-x_1 = lean_mk_string(" else ");
-return x_1;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_if___elambda__1___closed__8;
+x_2 = l_String_trim(x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_if___elambda__1___closed__10() {
@@ -18845,49 +13827,47 @@ _start:
{
lean_object* x_1; lean_object* x_2;
x_1 = l_Lean_Parser_Term_if___elambda__1___closed__9;
-x_2 = l_String_trim(x_1);
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_if___elambda__1___closed__11() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_if___elambda__1___closed__10;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1;
+x_1 = lean_mk_string(" else ");
+return x_1;
}
}
static lean_object* _init_l_Lean_Parser_Term_if___elambda__1___closed__12() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
+lean_object* x_1; lean_object* x_2;
x_1 = l_Lean_Parser_Term_if___elambda__1___closed__11;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+x_2 = l_String_trim(x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_if___elambda__1___closed__13() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Term_if___elambda__1___closed__12;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_if___elambda__1___closed__12;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_if___elambda__1___closed__14() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_if___elambda__1___closed__8;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Term_if___elambda__1___closed__13;
+x_2 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -18895,9 +13875,11 @@ static lean_object* _init_l_Lean_Parser_Term_if___elambda__1___closed__15() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_if___elambda__1___closed__14;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_2 = l_Lean_Parser_Term_if___elambda__1___closed__14;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -18905,11 +13887,11 @@ static lean_object* _init_l_Lean_Parser_Term_if___elambda__1___closed__16() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Term_if___elambda__1___closed__10;
x_2 = l_Lean_Parser_Term_if___elambda__1___closed__15;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -18917,31 +13899,119 @@ static lean_object* _init_l_Lean_Parser_Term_if___elambda__1___closed__17() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_2 = l_Lean_Parser_Term_if___elambda__1___closed__16;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_if___elambda__1___closed__18() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_optIdent___closed__3;
+x_2 = l_Lean_Parser_Term_if___elambda__1___closed__17;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_if___elambda__1___closed__19() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_if___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Term_if___elambda__1___closed__18;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_if___elambda__1___closed__20() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_if___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_if___elambda__1___closed__19;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_if___elambda__1___closed__21() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_byTactic___elambda__1___closed__9;
+x_2 = l_Lean_Parser_Term_if___elambda__1___closed__20;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_if___elambda__1___closed__22() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Char_HasRepr___closed__1;
x_2 = l_Lean_Parser_Term_if___elambda__1___closed__6;
x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Term_if___elambda__1___closed__18() {
+static lean_object* _init_l_Lean_Parser_Term_if___elambda__1___closed__23() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_if___elambda__1___closed__17;
+x_1 = l_Lean_Parser_Term_if___elambda__1___closed__22;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Term_if___elambda__1___closed__19() {
+static lean_object* _init_l_Lean_Parser_Term_if___elambda__1___closed__24() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Term_if___elambda__1___closed__18;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_if___elambda__1___closed__9;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_if___elambda__1___closed__25() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_if___elambda__1___closed__24;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_if___elambda__1___closed__26() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_if___elambda__1___closed__12;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_if___elambda__1___closed__27() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_if___elambda__1___closed__26;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -18965,280 +14035,124 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_45; lean_object* x_74; lean_object* x_75; lean_object* x_76;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_74 = lean_ctor_get(x_7, 1);
-lean_inc(x_74);
+x_11 = l_Lean_Parser_Term_if___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Term_if___elambda__1___closed__23;
lean_inc(x_1);
-x_75 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_76 = lean_ctor_get(x_75, 3);
-lean_inc(x_76);
-if (lean_obj_tag(x_76) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_77; lean_object* x_78;
-x_77 = lean_ctor_get(x_75, 0);
-lean_inc(x_77);
-x_78 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_77);
-lean_dec(x_77);
-if (lean_obj_tag(x_78) == 2)
-{
-lean_object* x_79; lean_object* x_80; uint8_t x_81;
-x_79 = lean_ctor_get(x_78, 1);
-lean_inc(x_79);
-lean_dec(x_78);
-x_80 = l_Lean_Parser_Term_if___elambda__1___closed__6;
-x_81 = lean_string_dec_eq(x_79, x_80);
-lean_dec(x_79);
-if (x_81 == 0)
-{
-lean_object* x_82; lean_object* x_83;
-x_82 = l_Lean_Parser_Term_if___elambda__1___closed__19;
-x_83 = l_Lean_Parser_ParserState_mkErrorsAt(x_75, x_82, x_74);
-x_45 = x_83;
-goto block_73;
-}
-else
-{
-lean_dec(x_74);
-x_45 = x_75;
-goto block_73;
-}
-}
-else
-{
-lean_object* x_84; lean_object* x_85;
-lean_dec(x_78);
-x_84 = l_Lean_Parser_Term_if___elambda__1___closed__19;
-x_85 = l_Lean_Parser_ParserState_mkErrorsAt(x_75, x_84, x_74);
-x_45 = x_85;
-goto block_73;
-}
-}
-else
-{
-lean_object* x_86; lean_object* x_87;
-lean_dec(x_76);
-x_86 = l_Lean_Parser_Term_if___elambda__1___closed__19;
-x_87 = l_Lean_Parser_ParserState_mkErrorsAt(x_75, x_86, x_74);
-x_45 = x_87;
-goto block_73;
-}
-block_44:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
-x_13 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_14 = lean_unsigned_to_nat(0u);
+lean_object* x_15; lean_object* x_16;
lean_inc(x_1);
-x_15 = l_Lean_Parser_categoryParser___elambda__1(x_13, x_14, x_1, x_11);
+x_15 = l_Lean_Parser_Term_optIdent___elambda__1(x_1, x_13);
x_16 = lean_ctor_get(x_15, 3);
lean_inc(x_16);
if (lean_obj_tag(x_16) == 0)
{
-lean_object* x_17; lean_object* x_18; lean_object* x_19;
-x_17 = lean_ctor_get(x_15, 1);
-lean_inc(x_17);
+lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
+x_17 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_18 = lean_unsigned_to_nat(0u);
lean_inc(x_1);
-x_18 = l_Lean_Parser_tokenFn(x_1, x_15);
-x_19 = lean_ctor_get(x_18, 3);
-lean_inc(x_19);
-if (lean_obj_tag(x_19) == 0)
-{
-lean_object* x_20; lean_object* x_21;
-x_20 = lean_ctor_get(x_18, 0);
+x_19 = l_Lean_Parser_categoryParser___elambda__1(x_17, x_18, x_1, x_15);
+x_20 = lean_ctor_get(x_19, 3);
lean_inc(x_20);
-x_21 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_20);
-lean_dec(x_20);
-if (lean_obj_tag(x_21) == 2)
+if (lean_obj_tag(x_20) == 0)
{
-lean_object* x_22; lean_object* x_23; uint8_t x_24;
-x_22 = lean_ctor_get(x_21, 1);
-lean_inc(x_22);
-lean_dec(x_21);
-x_23 = l_Lean_Parser_Term_if___elambda__1___closed__10;
-x_24 = lean_string_dec_eq(x_22, x_23);
-lean_dec(x_22);
-if (x_24 == 0)
+lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
+x_21 = l_Lean_Parser_Term_if___elambda__1___closed__9;
+x_22 = l_Lean_Parser_Term_if___elambda__1___closed__25;
+lean_inc(x_1);
+x_23 = l_Lean_Parser_symbolFnAux(x_21, x_22, x_1, x_19);
+x_24 = lean_ctor_get(x_23, 3);
+lean_inc(x_24);
+if (lean_obj_tag(x_24) == 0)
{
-lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
-lean_dec(x_1);
-x_25 = l_Lean_Parser_Term_if___elambda__1___closed__13;
-x_26 = l_Lean_Parser_ParserState_mkErrorsAt(x_18, x_25, x_17);
-x_27 = l_Lean_Parser_Term_if___elambda__1___closed__2;
-x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_10);
-return x_28;
+lean_object* x_25; lean_object* x_26;
+lean_inc(x_1);
+x_25 = l_Lean_Parser_categoryParser___elambda__1(x_17, x_18, x_1, x_23);
+x_26 = lean_ctor_get(x_25, 3);
+lean_inc(x_26);
+if (lean_obj_tag(x_26) == 0)
+{
+lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30;
+x_27 = l_Lean_Parser_Term_if___elambda__1___closed__12;
+x_28 = l_Lean_Parser_Term_if___elambda__1___closed__27;
+lean_inc(x_1);
+x_29 = l_Lean_Parser_symbolFnAux(x_27, x_28, x_1, x_25);
+x_30 = lean_ctor_get(x_29, 3);
+lean_inc(x_30);
+if (lean_obj_tag(x_30) == 0)
+{
+lean_object* x_31; lean_object* x_32; lean_object* x_33;
+x_31 = l_Lean_Parser_categoryParser___elambda__1(x_17, x_18, x_1, x_29);
+x_32 = l_Lean_Parser_Term_if___elambda__1___closed__2;
+x_33 = l_Lean_Parser_ParserState_mkNode(x_31, x_32, x_10);
+return x_33;
}
else
{
-lean_object* x_29; lean_object* x_30; lean_object* x_31;
-lean_dec(x_17);
-x_29 = l_Lean_Parser_categoryParser___elambda__1(x_13, x_14, x_1, x_18);
-x_30 = l_Lean_Parser_Term_if___elambda__1___closed__2;
-x_31 = l_Lean_Parser_ParserState_mkNode(x_29, x_30, x_10);
-return x_31;
-}
-}
-else
-{
-lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35;
-lean_dec(x_21);
+lean_object* x_34; lean_object* x_35;
+lean_dec(x_30);
lean_dec(x_1);
-x_32 = l_Lean_Parser_Term_if___elambda__1___closed__13;
-x_33 = l_Lean_Parser_ParserState_mkErrorsAt(x_18, x_32, x_17);
x_34 = l_Lean_Parser_Term_if___elambda__1___closed__2;
-x_35 = l_Lean_Parser_ParserState_mkNode(x_33, x_34, x_10);
+x_35 = l_Lean_Parser_ParserState_mkNode(x_29, x_34, x_10);
return x_35;
}
}
else
{
-lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-lean_dec(x_19);
+lean_object* x_36; lean_object* x_37;
+lean_dec(x_26);
+lean_dec(x_1);
+x_36 = l_Lean_Parser_Term_if___elambda__1___closed__2;
+x_37 = l_Lean_Parser_ParserState_mkNode(x_25, x_36, x_10);
+return x_37;
+}
+}
+else
+{
+lean_object* x_38; lean_object* x_39;
+lean_dec(x_24);
lean_dec(x_1);
-x_36 = l_Lean_Parser_Term_if___elambda__1___closed__13;
-x_37 = l_Lean_Parser_ParserState_mkErrorsAt(x_18, x_36, x_17);
x_38 = l_Lean_Parser_Term_if___elambda__1___closed__2;
-x_39 = l_Lean_Parser_ParserState_mkNode(x_37, x_38, x_10);
+x_39 = l_Lean_Parser_ParserState_mkNode(x_23, x_38, x_10);
return x_39;
}
}
else
{
lean_object* x_40; lean_object* x_41;
-lean_dec(x_16);
+lean_dec(x_20);
lean_dec(x_1);
x_40 = l_Lean_Parser_Term_if___elambda__1___closed__2;
-x_41 = l_Lean_Parser_ParserState_mkNode(x_15, x_40, x_10);
+x_41 = l_Lean_Parser_ParserState_mkNode(x_19, x_40, x_10);
return x_41;
}
}
else
{
lean_object* x_42; lean_object* x_43;
-lean_dec(x_12);
+lean_dec(x_16);
lean_dec(x_1);
x_42 = l_Lean_Parser_Term_if___elambda__1___closed__2;
-x_43 = l_Lean_Parser_ParserState_mkNode(x_11, x_42, x_10);
+x_43 = l_Lean_Parser_ParserState_mkNode(x_15, x_42, x_10);
return x_43;
}
}
-block_73:
-{
-lean_object* x_46;
-x_46 = lean_ctor_get(x_45, 3);
-lean_inc(x_46);
-if (lean_obj_tag(x_46) == 0)
-{
-lean_object* x_47; lean_object* x_48;
-lean_inc(x_1);
-x_47 = l_Lean_Parser_Term_optIdent___elambda__1(x_1, x_45);
-x_48 = lean_ctor_get(x_47, 3);
-lean_inc(x_48);
-if (lean_obj_tag(x_48) == 0)
-{
-lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52;
-x_49 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_50 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_51 = l_Lean_Parser_categoryParser___elambda__1(x_49, x_50, x_1, x_47);
-x_52 = lean_ctor_get(x_51, 3);
-lean_inc(x_52);
-if (lean_obj_tag(x_52) == 0)
-{
-lean_object* x_53; lean_object* x_54; lean_object* x_55;
-x_53 = lean_ctor_get(x_51, 1);
-lean_inc(x_53);
-lean_inc(x_1);
-x_54 = l_Lean_Parser_tokenFn(x_1, x_51);
-x_55 = lean_ctor_get(x_54, 3);
-lean_inc(x_55);
-if (lean_obj_tag(x_55) == 0)
-{
-lean_object* x_56; lean_object* x_57;
-x_56 = lean_ctor_get(x_54, 0);
-lean_inc(x_56);
-x_57 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_56);
-lean_dec(x_56);
-if (lean_obj_tag(x_57) == 2)
-{
-lean_object* x_58; lean_object* x_59; uint8_t x_60;
-x_58 = lean_ctor_get(x_57, 1);
-lean_inc(x_58);
-lean_dec(x_57);
-x_59 = l_Lean_Parser_Term_if___elambda__1___closed__8;
-x_60 = lean_string_dec_eq(x_58, x_59);
-lean_dec(x_58);
-if (x_60 == 0)
-{
-lean_object* x_61; lean_object* x_62;
-x_61 = l_Lean_Parser_Term_if___elambda__1___closed__16;
-x_62 = l_Lean_Parser_ParserState_mkErrorsAt(x_54, x_61, x_53);
-x_11 = x_62;
-goto block_44;
-}
else
{
-lean_dec(x_53);
-x_11 = x_54;
-goto block_44;
-}
-}
-else
-{
-lean_object* x_63; lean_object* x_64;
-lean_dec(x_57);
-x_63 = l_Lean_Parser_Term_if___elambda__1___closed__16;
-x_64 = l_Lean_Parser_ParserState_mkErrorsAt(x_54, x_63, x_53);
-x_11 = x_64;
-goto block_44;
-}
-}
-else
-{
-lean_object* x_65; lean_object* x_66;
-lean_dec(x_55);
-x_65 = l_Lean_Parser_Term_if___elambda__1___closed__16;
-x_66 = l_Lean_Parser_ParserState_mkErrorsAt(x_54, x_65, x_53);
-x_11 = x_66;
-goto block_44;
-}
-}
-else
-{
-lean_object* x_67; lean_object* x_68;
-lean_dec(x_52);
+lean_object* x_44; lean_object* x_45;
+lean_dec(x_14);
lean_dec(x_1);
-x_67 = l_Lean_Parser_Term_if___elambda__1___closed__2;
-x_68 = l_Lean_Parser_ParserState_mkNode(x_51, x_67, x_10);
-return x_68;
-}
-}
-else
-{
-lean_object* x_69; lean_object* x_70;
-lean_dec(x_48);
-lean_dec(x_1);
-x_69 = l_Lean_Parser_Term_if___elambda__1___closed__2;
-x_70 = l_Lean_Parser_ParserState_mkNode(x_47, x_69, x_10);
-return x_70;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72;
-lean_dec(x_46);
-lean_dec(x_1);
-x_71 = l_Lean_Parser_Term_if___elambda__1___closed__2;
-x_72 = l_Lean_Parser_ParserState_mkNode(x_45, x_71, x_10);
-return x_72;
-}
+x_44 = l_Lean_Parser_Term_if___elambda__1___closed__2;
+x_45 = l_Lean_Parser_ParserState_mkNode(x_13, x_44, x_10);
+return x_45;
}
}
else
@@ -19250,369 +14164,11 @@ return x_7;
}
else
{
-lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92;
-x_88 = lean_ctor_get(x_2, 0);
-lean_inc(x_88);
-x_89 = lean_array_get_size(x_88);
-lean_dec(x_88);
-x_90 = lean_ctor_get(x_2, 1);
-lean_inc(x_90);
-lean_inc(x_1);
-x_91 = lean_apply_2(x_4, x_1, x_2);
-x_92 = lean_ctor_get(x_91, 3);
-lean_inc(x_92);
-if (lean_obj_tag(x_92) == 0)
-{
-lean_dec(x_90);
-lean_dec(x_89);
-lean_dec(x_1);
-return x_91;
-}
-else
-{
-lean_object* x_93; lean_object* x_94; uint8_t x_95;
-x_93 = lean_ctor_get(x_92, 0);
-lean_inc(x_93);
-lean_dec(x_92);
-x_94 = lean_ctor_get(x_91, 1);
-lean_inc(x_94);
-x_95 = lean_nat_dec_eq(x_94, x_90);
-lean_dec(x_94);
-if (x_95 == 0)
-{
-lean_dec(x_93);
-lean_dec(x_90);
-lean_dec(x_89);
-lean_dec(x_1);
-return x_91;
-}
-else
-{
-lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99;
-lean_inc(x_90);
-x_96 = l_Lean_Parser_ParserState_restore(x_91, x_89, x_90);
-lean_dec(x_89);
-x_97 = l_Lean_Parser_leadPrec;
-x_98 = l_Lean_Parser_checkPrecFn(x_97, x_1, x_96);
-x_99 = lean_ctor_get(x_98, 3);
-lean_inc(x_99);
-if (lean_obj_tag(x_99) == 0)
-{
-lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_148; lean_object* x_183; lean_object* x_184; lean_object* x_185;
-x_100 = lean_ctor_get(x_98, 0);
-lean_inc(x_100);
-x_101 = lean_array_get_size(x_100);
-lean_dec(x_100);
-x_183 = lean_ctor_get(x_98, 1);
-lean_inc(x_183);
-lean_inc(x_1);
-x_184 = l_Lean_Parser_tokenFn(x_1, x_98);
-x_185 = lean_ctor_get(x_184, 3);
-lean_inc(x_185);
-if (lean_obj_tag(x_185) == 0)
-{
-lean_object* x_186; lean_object* x_187;
-x_186 = lean_ctor_get(x_184, 0);
-lean_inc(x_186);
-x_187 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_186);
-lean_dec(x_186);
-if (lean_obj_tag(x_187) == 2)
-{
-lean_object* x_188; lean_object* x_189; uint8_t x_190;
-x_188 = lean_ctor_get(x_187, 1);
-lean_inc(x_188);
-lean_dec(x_187);
-x_189 = l_Lean_Parser_Term_if___elambda__1___closed__6;
-x_190 = lean_string_dec_eq(x_188, x_189);
-lean_dec(x_188);
-if (x_190 == 0)
-{
-lean_object* x_191; lean_object* x_192;
-x_191 = l_Lean_Parser_Term_if___elambda__1___closed__19;
-x_192 = l_Lean_Parser_ParserState_mkErrorsAt(x_184, x_191, x_183);
-x_148 = x_192;
-goto block_182;
-}
-else
-{
-lean_dec(x_183);
-x_148 = x_184;
-goto block_182;
-}
-}
-else
-{
-lean_object* x_193; lean_object* x_194;
-lean_dec(x_187);
-x_193 = l_Lean_Parser_Term_if___elambda__1___closed__19;
-x_194 = l_Lean_Parser_ParserState_mkErrorsAt(x_184, x_193, x_183);
-x_148 = x_194;
-goto block_182;
-}
-}
-else
-{
-lean_object* x_195; lean_object* x_196;
-lean_dec(x_185);
-x_195 = l_Lean_Parser_Term_if___elambda__1___closed__19;
-x_196 = l_Lean_Parser_ParserState_mkErrorsAt(x_184, x_195, x_183);
-x_148 = x_196;
-goto block_182;
-}
-block_147:
-{
-lean_object* x_103;
-x_103 = lean_ctor_get(x_102, 3);
-lean_inc(x_103);
-if (lean_obj_tag(x_103) == 0)
-{
-lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107;
-x_104 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_105 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_106 = l_Lean_Parser_categoryParser___elambda__1(x_104, x_105, x_1, x_102);
-x_107 = lean_ctor_get(x_106, 3);
-lean_inc(x_107);
-if (lean_obj_tag(x_107) == 0)
-{
-lean_object* x_108; lean_object* x_109; lean_object* x_110;
-x_108 = lean_ctor_get(x_106, 1);
-lean_inc(x_108);
-lean_inc(x_1);
-x_109 = l_Lean_Parser_tokenFn(x_1, x_106);
-x_110 = lean_ctor_get(x_109, 3);
-lean_inc(x_110);
-if (lean_obj_tag(x_110) == 0)
-{
-lean_object* x_111; lean_object* x_112;
-x_111 = lean_ctor_get(x_109, 0);
-lean_inc(x_111);
-x_112 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_111);
-lean_dec(x_111);
-if (lean_obj_tag(x_112) == 2)
-{
-lean_object* x_113; lean_object* x_114; uint8_t x_115;
-x_113 = lean_ctor_get(x_112, 1);
-lean_inc(x_113);
-lean_dec(x_112);
-x_114 = l_Lean_Parser_Term_if___elambda__1___closed__10;
-x_115 = lean_string_dec_eq(x_113, x_114);
-lean_dec(x_113);
-if (x_115 == 0)
-{
-lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; uint8_t x_120; lean_object* x_121;
-lean_dec(x_1);
-x_116 = l_Lean_Parser_Term_if___elambda__1___closed__13;
-x_117 = l_Lean_Parser_ParserState_mkErrorsAt(x_109, x_116, x_108);
-x_118 = l_Lean_Parser_Term_if___elambda__1___closed__2;
-x_119 = l_Lean_Parser_ParserState_mkNode(x_117, x_118, x_101);
-x_120 = 1;
-x_121 = l_Lean_Parser_mergeOrElseErrors(x_119, x_93, x_90, x_120);
-lean_dec(x_90);
-return x_121;
-}
-else
-{
-lean_object* x_122; lean_object* x_123; lean_object* x_124; uint8_t x_125; lean_object* x_126;
-lean_dec(x_108);
-x_122 = l_Lean_Parser_categoryParser___elambda__1(x_104, x_105, x_1, x_109);
-x_123 = l_Lean_Parser_Term_if___elambda__1___closed__2;
-x_124 = l_Lean_Parser_ParserState_mkNode(x_122, x_123, x_101);
-x_125 = 1;
-x_126 = l_Lean_Parser_mergeOrElseErrors(x_124, x_93, x_90, x_125);
-lean_dec(x_90);
-return x_126;
-}
-}
-else
-{
-lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; uint8_t x_131; lean_object* x_132;
-lean_dec(x_112);
-lean_dec(x_1);
-x_127 = l_Lean_Parser_Term_if___elambda__1___closed__13;
-x_128 = l_Lean_Parser_ParserState_mkErrorsAt(x_109, x_127, x_108);
-x_129 = l_Lean_Parser_Term_if___elambda__1___closed__2;
-x_130 = l_Lean_Parser_ParserState_mkNode(x_128, x_129, x_101);
-x_131 = 1;
-x_132 = l_Lean_Parser_mergeOrElseErrors(x_130, x_93, x_90, x_131);
-lean_dec(x_90);
-return x_132;
-}
-}
-else
-{
-lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; uint8_t x_137; lean_object* x_138;
-lean_dec(x_110);
-lean_dec(x_1);
-x_133 = l_Lean_Parser_Term_if___elambda__1___closed__13;
-x_134 = l_Lean_Parser_ParserState_mkErrorsAt(x_109, x_133, x_108);
-x_135 = l_Lean_Parser_Term_if___elambda__1___closed__2;
-x_136 = l_Lean_Parser_ParserState_mkNode(x_134, x_135, x_101);
-x_137 = 1;
-x_138 = l_Lean_Parser_mergeOrElseErrors(x_136, x_93, x_90, x_137);
-lean_dec(x_90);
-return x_138;
-}
-}
-else
-{
-lean_object* x_139; lean_object* x_140; uint8_t x_141; lean_object* x_142;
-lean_dec(x_107);
-lean_dec(x_1);
-x_139 = l_Lean_Parser_Term_if___elambda__1___closed__2;
-x_140 = l_Lean_Parser_ParserState_mkNode(x_106, x_139, x_101);
-x_141 = 1;
-x_142 = l_Lean_Parser_mergeOrElseErrors(x_140, x_93, x_90, x_141);
-lean_dec(x_90);
-return x_142;
-}
-}
-else
-{
-lean_object* x_143; lean_object* x_144; uint8_t x_145; lean_object* x_146;
-lean_dec(x_103);
-lean_dec(x_1);
-x_143 = l_Lean_Parser_Term_if___elambda__1___closed__2;
-x_144 = l_Lean_Parser_ParserState_mkNode(x_102, x_143, x_101);
-x_145 = 1;
-x_146 = l_Lean_Parser_mergeOrElseErrors(x_144, x_93, x_90, x_145);
-lean_dec(x_90);
-return x_146;
-}
-}
-block_182:
-{
-lean_object* x_149;
-x_149 = lean_ctor_get(x_148, 3);
-lean_inc(x_149);
-if (lean_obj_tag(x_149) == 0)
-{
-lean_object* x_150; lean_object* x_151;
-lean_inc(x_1);
-x_150 = l_Lean_Parser_Term_optIdent___elambda__1(x_1, x_148);
-x_151 = lean_ctor_get(x_150, 3);
-lean_inc(x_151);
-if (lean_obj_tag(x_151) == 0)
-{
-lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155;
-x_152 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_153 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_154 = l_Lean_Parser_categoryParser___elambda__1(x_152, x_153, x_1, x_150);
-x_155 = lean_ctor_get(x_154, 3);
-lean_inc(x_155);
-if (lean_obj_tag(x_155) == 0)
-{
-lean_object* x_156; lean_object* x_157; lean_object* x_158;
-x_156 = lean_ctor_get(x_154, 1);
-lean_inc(x_156);
-lean_inc(x_1);
-x_157 = l_Lean_Parser_tokenFn(x_1, x_154);
-x_158 = lean_ctor_get(x_157, 3);
-lean_inc(x_158);
-if (lean_obj_tag(x_158) == 0)
-{
-lean_object* x_159; lean_object* x_160;
-x_159 = lean_ctor_get(x_157, 0);
-lean_inc(x_159);
-x_160 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_159);
-lean_dec(x_159);
-if (lean_obj_tag(x_160) == 2)
-{
-lean_object* x_161; lean_object* x_162; uint8_t x_163;
-x_161 = lean_ctor_get(x_160, 1);
-lean_inc(x_161);
-lean_dec(x_160);
-x_162 = l_Lean_Parser_Term_if___elambda__1___closed__8;
-x_163 = lean_string_dec_eq(x_161, x_162);
-lean_dec(x_161);
-if (x_163 == 0)
-{
-lean_object* x_164; lean_object* x_165;
-x_164 = l_Lean_Parser_Term_if___elambda__1___closed__16;
-x_165 = l_Lean_Parser_ParserState_mkErrorsAt(x_157, x_164, x_156);
-x_102 = x_165;
-goto block_147;
-}
-else
-{
-lean_dec(x_156);
-x_102 = x_157;
-goto block_147;
-}
-}
-else
-{
-lean_object* x_166; lean_object* x_167;
-lean_dec(x_160);
-x_166 = l_Lean_Parser_Term_if___elambda__1___closed__16;
-x_167 = l_Lean_Parser_ParserState_mkErrorsAt(x_157, x_166, x_156);
-x_102 = x_167;
-goto block_147;
-}
-}
-else
-{
-lean_object* x_168; lean_object* x_169;
-lean_dec(x_158);
-x_168 = l_Lean_Parser_Term_if___elambda__1___closed__16;
-x_169 = l_Lean_Parser_ParserState_mkErrorsAt(x_157, x_168, x_156);
-x_102 = x_169;
-goto block_147;
-}
-}
-else
-{
-lean_object* x_170; lean_object* x_171; uint8_t x_172; lean_object* x_173;
-lean_dec(x_155);
-lean_dec(x_1);
-x_170 = l_Lean_Parser_Term_if___elambda__1___closed__2;
-x_171 = l_Lean_Parser_ParserState_mkNode(x_154, x_170, x_101);
-x_172 = 1;
-x_173 = l_Lean_Parser_mergeOrElseErrors(x_171, x_93, x_90, x_172);
-lean_dec(x_90);
-return x_173;
-}
-}
-else
-{
-lean_object* x_174; lean_object* x_175; uint8_t x_176; lean_object* x_177;
-lean_dec(x_151);
-lean_dec(x_1);
-x_174 = l_Lean_Parser_Term_if___elambda__1___closed__2;
-x_175 = l_Lean_Parser_ParserState_mkNode(x_150, x_174, x_101);
-x_176 = 1;
-x_177 = l_Lean_Parser_mergeOrElseErrors(x_175, x_93, x_90, x_176);
-lean_dec(x_90);
-return x_177;
-}
-}
-else
-{
-lean_object* x_178; lean_object* x_179; uint8_t x_180; lean_object* x_181;
-lean_dec(x_149);
-lean_dec(x_1);
-x_178 = l_Lean_Parser_Term_if___elambda__1___closed__2;
-x_179 = l_Lean_Parser_ParserState_mkNode(x_148, x_178, x_101);
-x_180 = 1;
-x_181 = l_Lean_Parser_mergeOrElseErrors(x_179, x_93, x_90, x_180);
-lean_dec(x_90);
-return x_181;
-}
-}
-}
-else
-{
-uint8_t x_197; lean_object* x_198;
-lean_dec(x_99);
-lean_dec(x_1);
-x_197 = 1;
-x_198 = l_Lean_Parser_mergeOrElseErrors(x_98, x_93, x_90, x_197);
-lean_dec(x_90);
-return x_198;
-}
-}
-}
+lean_object* x_46; uint8_t x_47; lean_object* x_48;
+x_46 = l_Lean_Parser_Term_if___elambda__1___closed__21;
+x_47 = 1;
+x_48 = l_Lean_Parser_orelseFnCore(x_4, x_46, x_47, x_1, x_2);
+return x_48;
}
}
}
@@ -19629,7 +14185,7 @@ static lean_object* _init_l_Lean_Parser_Term_if___closed__2() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Term_if___elambda__1___closed__8;
+x_1 = l_Lean_Parser_Term_if___elambda__1___closed__9;
x_2 = l_Lean_Parser_symbolInfo(x_1);
return x_2;
}
@@ -19638,7 +14194,7 @@ static lean_object* _init_l_Lean_Parser_Term_if___closed__3() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Term_if___elambda__1___closed__10;
+x_1 = l_Lean_Parser_Term_if___elambda__1___closed__12;
x_2 = l_Lean_Parser_symbolInfo(x_1);
return x_2;
}
@@ -19844,7 +14400,7 @@ static lean_object* _init_l_Lean_Parser_Term_if_formatter___closed__3() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Term_if___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Term_if___elambda__1___closed__8;
x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_symbol_formatter___boxed), 6, 1);
lean_closure_set(x_2, 0, x_1);
return x_2;
@@ -19854,7 +14410,7 @@ static lean_object* _init_l_Lean_Parser_Term_if_formatter___closed__4() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Term_if___elambda__1___closed__9;
+x_1 = l_Lean_Parser_Term_if___elambda__1___closed__11;
x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_symbol_formatter___boxed), 6, 1);
lean_closure_set(x_2, 0, x_1);
return x_2;
@@ -20197,11 +14753,11 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_fromTerm___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_fromTerm___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_fromTerm___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_fromTerm___elambda__1___closed__8() {
@@ -20209,8 +14765,10 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Term_fromTerm___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_2 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -20218,11 +14776,43 @@ static lean_object* _init_l_Lean_Parser_Term_fromTerm___elambda__1___closed__9()
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Term_fromTerm___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_fromTerm___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_fromTerm___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_fromTerm___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_fromTerm___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_fromTerm___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_fromTerm___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_fromTerm___elambda__1___closed__11;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -20246,91 +14836,35 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_21; lean_object* x_22; lean_object* x_23;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_21 = lean_ctor_get(x_7, 1);
-lean_inc(x_21);
+x_11 = l_Lean_Parser_Term_fromTerm___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Term_fromTerm___elambda__1___closed__12;
lean_inc(x_1);
-x_22 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_23 = lean_ctor_get(x_22, 3);
-lean_inc(x_23);
-if (lean_obj_tag(x_23) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_24; lean_object* x_25;
-x_24 = lean_ctor_get(x_22, 0);
-lean_inc(x_24);
-x_25 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_24);
-lean_dec(x_24);
-if (lean_obj_tag(x_25) == 2)
-{
-lean_object* x_26; lean_object* x_27; uint8_t x_28;
-x_26 = lean_ctor_get(x_25, 1);
-lean_inc(x_26);
-lean_dec(x_25);
-x_27 = l_Lean_Parser_Term_fromTerm___elambda__1___closed__6;
-x_28 = lean_string_dec_eq(x_26, x_27);
-lean_dec(x_26);
-if (x_28 == 0)
-{
-lean_object* x_29; lean_object* x_30;
-x_29 = l_Lean_Parser_Term_fromTerm___elambda__1___closed__9;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_29, x_21);
-x_11 = x_30;
-goto block_20;
-}
-else
-{
-lean_dec(x_21);
-x_11 = x_22;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32;
-lean_dec(x_25);
-x_31 = l_Lean_Parser_Term_fromTerm___elambda__1___closed__9;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_31, x_21);
-x_11 = x_32;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_33; lean_object* x_34;
-lean_dec(x_23);
-x_33 = l_Lean_Parser_Term_fromTerm___elambda__1___closed__9;
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_33, x_21);
-x_11 = x_34;
-goto block_20;
-}
-block_20:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_13 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_14 = lean_unsigned_to_nat(0u);
-x_15 = l_Lean_Parser_categoryParser___elambda__1(x_13, x_14, x_1, x_11);
-x_16 = l_Lean_Parser_Term_fromTerm___elambda__1___closed__2;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_10);
-return x_17;
-}
-else
-{
-lean_object* x_18; lean_object* x_19;
-lean_dec(x_12);
-lean_dec(x_1);
+lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
+x_15 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_16 = lean_unsigned_to_nat(0u);
+x_17 = l_Lean_Parser_categoryParser___elambda__1(x_15, x_16, x_1, x_13);
x_18 = l_Lean_Parser_Term_fromTerm___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_11, x_18, x_10);
+x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_10);
return x_19;
}
+else
+{
+lean_object* x_20; lean_object* x_21;
+lean_dec(x_14);
+lean_dec(x_1);
+x_20 = l_Lean_Parser_Term_fromTerm___elambda__1___closed__2;
+x_21 = l_Lean_Parser_ParserState_mkNode(x_13, x_20, x_10);
+return x_21;
}
}
else
@@ -20342,159 +14876,11 @@ return x_7;
}
else
{
-lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_35 = lean_ctor_get(x_2, 0);
-lean_inc(x_35);
-x_36 = lean_array_get_size(x_35);
-lean_dec(x_35);
-x_37 = lean_ctor_get(x_2, 1);
-lean_inc(x_37);
-lean_inc(x_1);
-x_38 = lean_apply_2(x_4, x_1, x_2);
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_40; lean_object* x_41; uint8_t x_42;
-x_40 = lean_ctor_get(x_39, 0);
-lean_inc(x_40);
-lean_dec(x_39);
-x_41 = lean_ctor_get(x_38, 1);
-lean_inc(x_41);
-x_42 = lean_nat_dec_eq(x_41, x_37);
-lean_dec(x_41);
-if (x_42 == 0)
-{
-lean_dec(x_40);
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46;
-lean_inc(x_37);
-x_43 = l_Lean_Parser_ParserState_restore(x_38, x_36, x_37);
-lean_dec(x_36);
-x_44 = lean_unsigned_to_nat(1024u);
-x_45 = l_Lean_Parser_checkPrecFn(x_44, x_1, x_43);
-x_46 = lean_ctor_get(x_45, 3);
-lean_inc(x_46);
-if (lean_obj_tag(x_46) == 0)
-{
-lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_63; lean_object* x_64; lean_object* x_65;
-x_47 = lean_ctor_get(x_45, 0);
-lean_inc(x_47);
-x_48 = lean_array_get_size(x_47);
-lean_dec(x_47);
-x_63 = lean_ctor_get(x_45, 1);
-lean_inc(x_63);
-lean_inc(x_1);
-x_64 = l_Lean_Parser_tokenFn(x_1, x_45);
-x_65 = lean_ctor_get(x_64, 3);
-lean_inc(x_65);
-if (lean_obj_tag(x_65) == 0)
-{
-lean_object* x_66; lean_object* x_67;
-x_66 = lean_ctor_get(x_64, 0);
-lean_inc(x_66);
-x_67 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_66);
-lean_dec(x_66);
-if (lean_obj_tag(x_67) == 2)
-{
-lean_object* x_68; lean_object* x_69; uint8_t x_70;
-x_68 = lean_ctor_get(x_67, 1);
-lean_inc(x_68);
-lean_dec(x_67);
-x_69 = l_Lean_Parser_Term_fromTerm___elambda__1___closed__6;
-x_70 = lean_string_dec_eq(x_68, x_69);
-lean_dec(x_68);
-if (x_70 == 0)
-{
-lean_object* x_71; lean_object* x_72;
-x_71 = l_Lean_Parser_Term_fromTerm___elambda__1___closed__9;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_71, x_63);
-x_49 = x_72;
-goto block_62;
-}
-else
-{
-lean_dec(x_63);
-x_49 = x_64;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_73; lean_object* x_74;
-lean_dec(x_67);
-x_73 = l_Lean_Parser_Term_fromTerm___elambda__1___closed__9;
-x_74 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_73, x_63);
-x_49 = x_74;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_75; lean_object* x_76;
-lean_dec(x_65);
-x_75 = l_Lean_Parser_Term_fromTerm___elambda__1___closed__9;
-x_76 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_75, x_63);
-x_49 = x_76;
-goto block_62;
-}
-block_62:
-{
-lean_object* x_50;
-x_50 = lean_ctor_get(x_49, 3);
-lean_inc(x_50);
-if (lean_obj_tag(x_50) == 0)
-{
-lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; uint8_t x_56; lean_object* x_57;
-x_51 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_52 = lean_unsigned_to_nat(0u);
-x_53 = l_Lean_Parser_categoryParser___elambda__1(x_51, x_52, x_1, x_49);
-x_54 = l_Lean_Parser_Term_fromTerm___elambda__1___closed__2;
-x_55 = l_Lean_Parser_ParserState_mkNode(x_53, x_54, x_48);
-x_56 = 1;
-x_57 = l_Lean_Parser_mergeOrElseErrors(x_55, x_40, x_37, x_56);
-lean_dec(x_37);
-return x_57;
-}
-else
-{
-lean_object* x_58; lean_object* x_59; uint8_t x_60; lean_object* x_61;
-lean_dec(x_50);
-lean_dec(x_1);
-x_58 = l_Lean_Parser_Term_fromTerm___elambda__1___closed__2;
-x_59 = l_Lean_Parser_ParserState_mkNode(x_49, x_58, x_48);
-x_60 = 1;
-x_61 = l_Lean_Parser_mergeOrElseErrors(x_59, x_40, x_37, x_60);
-lean_dec(x_37);
-return x_61;
-}
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_46);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_45, x_40, x_37, x_77);
-lean_dec(x_37);
-return x_78;
-}
-}
-}
+lean_object* x_22; uint8_t x_23; lean_object* x_24;
+x_22 = l_Lean_Parser_Term_fromTerm___elambda__1___closed__10;
+x_23 = 1;
+x_24 = l_Lean_Parser_orelseFnCore(x_4, x_22, x_23, x_1, x_2);
+return x_24;
}
}
}
@@ -20630,11 +15016,11 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_haveAssign___elambda__1___closed__6() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__5;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_haveAssign___elambda__1___closed__7() {
@@ -20642,8 +15028,10 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__6;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_2 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -20651,11 +15039,43 @@ static lean_object* _init_l_Lean_Parser_Term_haveAssign___elambda__1___closed__8
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__7;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_haveAssign___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_haveAssign___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__5;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_haveAssign___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__10;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -20679,91 +15099,35 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_21; lean_object* x_22; lean_object* x_23;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_21 = lean_ctor_get(x_7, 1);
-lean_inc(x_21);
+x_11 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__5;
+x_12 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__11;
lean_inc(x_1);
-x_22 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_23 = lean_ctor_get(x_22, 3);
-lean_inc(x_23);
-if (lean_obj_tag(x_23) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_24; lean_object* x_25;
-x_24 = lean_ctor_get(x_22, 0);
-lean_inc(x_24);
-x_25 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_24);
-lean_dec(x_24);
-if (lean_obj_tag(x_25) == 2)
-{
-lean_object* x_26; lean_object* x_27; uint8_t x_28;
-x_26 = lean_ctor_get(x_25, 1);
-lean_inc(x_26);
-lean_dec(x_25);
-x_27 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__5;
-x_28 = lean_string_dec_eq(x_26, x_27);
-lean_dec(x_26);
-if (x_28 == 0)
-{
-lean_object* x_29; lean_object* x_30;
-x_29 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_29, x_21);
-x_11 = x_30;
-goto block_20;
-}
-else
-{
-lean_dec(x_21);
-x_11 = x_22;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32;
-lean_dec(x_25);
-x_31 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_31, x_21);
-x_11 = x_32;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_33; lean_object* x_34;
-lean_dec(x_23);
-x_33 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_33, x_21);
-x_11 = x_34;
-goto block_20;
-}
-block_20:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_13 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_14 = lean_unsigned_to_nat(0u);
-x_15 = l_Lean_Parser_categoryParser___elambda__1(x_13, x_14, x_1, x_11);
-x_16 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__2;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_10);
-return x_17;
-}
-else
-{
-lean_object* x_18; lean_object* x_19;
-lean_dec(x_12);
-lean_dec(x_1);
+lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
+x_15 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_16 = lean_unsigned_to_nat(0u);
+x_17 = l_Lean_Parser_categoryParser___elambda__1(x_15, x_16, x_1, x_13);
x_18 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_11, x_18, x_10);
+x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_10);
return x_19;
}
+else
+{
+lean_object* x_20; lean_object* x_21;
+lean_dec(x_14);
+lean_dec(x_1);
+x_20 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__2;
+x_21 = l_Lean_Parser_ParserState_mkNode(x_13, x_20, x_10);
+return x_21;
}
}
else
@@ -20775,159 +15139,11 @@ return x_7;
}
else
{
-lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_35 = lean_ctor_get(x_2, 0);
-lean_inc(x_35);
-x_36 = lean_array_get_size(x_35);
-lean_dec(x_35);
-x_37 = lean_ctor_get(x_2, 1);
-lean_inc(x_37);
-lean_inc(x_1);
-x_38 = lean_apply_2(x_4, x_1, x_2);
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_40; lean_object* x_41; uint8_t x_42;
-x_40 = lean_ctor_get(x_39, 0);
-lean_inc(x_40);
-lean_dec(x_39);
-x_41 = lean_ctor_get(x_38, 1);
-lean_inc(x_41);
-x_42 = lean_nat_dec_eq(x_41, x_37);
-lean_dec(x_41);
-if (x_42 == 0)
-{
-lean_dec(x_40);
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46;
-lean_inc(x_37);
-x_43 = l_Lean_Parser_ParserState_restore(x_38, x_36, x_37);
-lean_dec(x_36);
-x_44 = lean_unsigned_to_nat(1024u);
-x_45 = l_Lean_Parser_checkPrecFn(x_44, x_1, x_43);
-x_46 = lean_ctor_get(x_45, 3);
-lean_inc(x_46);
-if (lean_obj_tag(x_46) == 0)
-{
-lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_63; lean_object* x_64; lean_object* x_65;
-x_47 = lean_ctor_get(x_45, 0);
-lean_inc(x_47);
-x_48 = lean_array_get_size(x_47);
-lean_dec(x_47);
-x_63 = lean_ctor_get(x_45, 1);
-lean_inc(x_63);
-lean_inc(x_1);
-x_64 = l_Lean_Parser_tokenFn(x_1, x_45);
-x_65 = lean_ctor_get(x_64, 3);
-lean_inc(x_65);
-if (lean_obj_tag(x_65) == 0)
-{
-lean_object* x_66; lean_object* x_67;
-x_66 = lean_ctor_get(x_64, 0);
-lean_inc(x_66);
-x_67 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_66);
-lean_dec(x_66);
-if (lean_obj_tag(x_67) == 2)
-{
-lean_object* x_68; lean_object* x_69; uint8_t x_70;
-x_68 = lean_ctor_get(x_67, 1);
-lean_inc(x_68);
-lean_dec(x_67);
-x_69 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__5;
-x_70 = lean_string_dec_eq(x_68, x_69);
-lean_dec(x_68);
-if (x_70 == 0)
-{
-lean_object* x_71; lean_object* x_72;
-x_71 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_71, x_63);
-x_49 = x_72;
-goto block_62;
-}
-else
-{
-lean_dec(x_63);
-x_49 = x_64;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_73; lean_object* x_74;
-lean_dec(x_67);
-x_73 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-x_74 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_73, x_63);
-x_49 = x_74;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_75; lean_object* x_76;
-lean_dec(x_65);
-x_75 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-x_76 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_75, x_63);
-x_49 = x_76;
-goto block_62;
-}
-block_62:
-{
-lean_object* x_50;
-x_50 = lean_ctor_get(x_49, 3);
-lean_inc(x_50);
-if (lean_obj_tag(x_50) == 0)
-{
-lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; uint8_t x_56; lean_object* x_57;
-x_51 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_52 = lean_unsigned_to_nat(0u);
-x_53 = l_Lean_Parser_categoryParser___elambda__1(x_51, x_52, x_1, x_49);
-x_54 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__2;
-x_55 = l_Lean_Parser_ParserState_mkNode(x_53, x_54, x_48);
-x_56 = 1;
-x_57 = l_Lean_Parser_mergeOrElseErrors(x_55, x_40, x_37, x_56);
-lean_dec(x_37);
-return x_57;
-}
-else
-{
-lean_object* x_58; lean_object* x_59; uint8_t x_60; lean_object* x_61;
-lean_dec(x_50);
-lean_dec(x_1);
-x_58 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__2;
-x_59 = l_Lean_Parser_ParserState_mkNode(x_49, x_58, x_48);
-x_60 = 1;
-x_61 = l_Lean_Parser_mergeOrElseErrors(x_59, x_40, x_37, x_60);
-lean_dec(x_37);
-return x_61;
-}
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_46);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_45, x_40, x_37, x_77);
-lean_dec(x_37);
-return x_78;
-}
-}
-}
+lean_object* x_22; uint8_t x_23; lean_object* x_24;
+x_22 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__9;
+x_23 = 1;
+x_24 = l_Lean_Parser_orelseFnCore(x_4, x_22, x_23, x_1, x_2);
+return x_24;
}
}
}
@@ -21012,6 +15228,18 @@ x_1 = l_Lean_Parser_Term_haveAssign___closed__7;
return x_1;
}
}
+static lean_object* _init_l_Lean_Parser_Term_haveDecl___elambda__1___closed__1() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_fromTerm___closed__6;
+x_2 = l_Lean_Parser_Term_byTactic___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Term_haveDecl___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -21031,106 +15259,15 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_array_get_size(x_9);
-lean_dec(x_9);
-x_11 = lean_ctor_get(x_7, 1);
-lean_inc(x_11);
-lean_inc(x_1);
-x_12 = l_Lean_Parser_Term_haveAssign___elambda__1(x_1, x_7);
-x_13 = lean_ctor_get(x_12, 3);
-lean_inc(x_13);
-if (lean_obj_tag(x_13) == 0)
-{
-lean_dec(x_11);
-lean_dec(x_10);
-lean_dec(x_1);
+lean_object* x_9; lean_object* x_10; uint8_t x_11; lean_object* x_12;
+x_9 = l_Lean_Parser_Term_haveAssign___closed__6;
+x_10 = l_Lean_Parser_Term_haveDecl___elambda__1___closed__1;
+x_11 = 1;
+x_12 = l_Lean_Parser_orelseFnCore(x_9, x_10, x_11, x_1, x_7);
return x_12;
}
else
{
-lean_object* x_14; lean_object* x_15; uint8_t x_16;
-x_14 = lean_ctor_get(x_13, 0);
-lean_inc(x_14);
-lean_dec(x_13);
-x_15 = lean_ctor_get(x_12, 1);
-lean_inc(x_15);
-x_16 = lean_nat_dec_eq(x_15, x_11);
-lean_dec(x_15);
-if (x_16 == 0)
-{
-lean_dec(x_14);
-lean_dec(x_11);
-lean_dec(x_10);
-lean_dec(x_1);
-return x_12;
-}
-else
-{
-lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
-lean_inc(x_11);
-x_17 = l_Lean_Parser_ParserState_restore(x_12, x_10, x_11);
-lean_dec(x_10);
-x_18 = lean_ctor_get(x_17, 0);
-lean_inc(x_18);
-x_19 = lean_array_get_size(x_18);
-lean_dec(x_18);
-lean_inc(x_1);
-x_20 = l_Lean_Parser_Term_fromTerm___elambda__1(x_1, x_17);
-x_21 = lean_ctor_get(x_20, 3);
-lean_inc(x_21);
-if (lean_obj_tag(x_21) == 0)
-{
-uint8_t x_22; lean_object* x_23;
-lean_dec(x_19);
-lean_dec(x_1);
-x_22 = 1;
-x_23 = l_Lean_Parser_mergeOrElseErrors(x_20, x_14, x_11, x_22);
-lean_dec(x_11);
-return x_23;
-}
-else
-{
-lean_object* x_24; lean_object* x_25; uint8_t x_26;
-x_24 = lean_ctor_get(x_21, 0);
-lean_inc(x_24);
-lean_dec(x_21);
-x_25 = lean_ctor_get(x_20, 1);
-lean_inc(x_25);
-x_26 = lean_nat_dec_eq(x_25, x_11);
-lean_dec(x_25);
-if (x_26 == 0)
-{
-uint8_t x_27; lean_object* x_28;
-lean_dec(x_24);
-lean_dec(x_19);
-lean_dec(x_1);
-x_27 = 1;
-x_28 = l_Lean_Parser_mergeOrElseErrors(x_20, x_14, x_11, x_27);
-lean_dec(x_11);
-return x_28;
-}
-else
-{
-lean_object* x_29; lean_object* x_30; uint8_t x_31; lean_object* x_32; lean_object* x_33;
-lean_inc(x_11);
-x_29 = l_Lean_Parser_ParserState_restore(x_20, x_19, x_11);
-lean_dec(x_19);
-x_30 = l_Lean_Parser_Term_byTactic___elambda__1(x_1, x_29);
-x_31 = 1;
-x_32 = l_Lean_Parser_mergeOrElseErrors(x_30, x_24, x_11, x_31);
-x_33 = l_Lean_Parser_mergeOrElseErrors(x_32, x_14, x_11, x_31);
-lean_dec(x_11);
-return x_33;
-}
-}
-}
-}
-}
-else
-{
lean_dec(x_8);
lean_dec(x_1);
return x_7;
@@ -21222,6 +15359,163 @@ x_1 = l_Lean_Parser_Term_haveDecl___closed__6;
return x_1;
}
}
+lean_object* l_Lean_Parser_Term_have___elambda__1___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+uint8_t x_4;
+x_4 = !lean_is_exclusive(x_2);
+if (x_4 == 0)
+{
+lean_object* x_5; lean_object* x_6; uint8_t x_7;
+x_5 = lean_ctor_get(x_2, 0);
+x_6 = lean_ctor_get(x_2, 4);
+lean_dec(x_6);
+x_7 = !lean_is_exclusive(x_5);
+if (x_7 == 0)
+{
+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; lean_object* x_16;
+x_8 = lean_ctor_get(x_5, 2);
+x_9 = lean_ctor_get(x_3, 1);
+lean_inc(x_9);
+x_10 = l_Lean_FileMap_toPosition(x_8, x_9);
+x_11 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_11, 0, x_10);
+lean_ctor_set(x_2, 4, x_11);
+x_12 = l_Char_HasRepr___closed__1;
+x_13 = lean_string_append(x_12, x_1);
+x_14 = lean_string_append(x_13, x_12);
+lean_inc(x_2);
+x_15 = l_Lean_Parser_symbolFnAux(x_1, x_14, x_2, x_3);
+x_16 = lean_ctor_get(x_15, 3);
+lean_inc(x_16);
+if (lean_obj_tag(x_16) == 0)
+{
+lean_object* x_17;
+x_17 = l_Lean_Parser_Term_haveDecl___elambda__1(x_2, x_15);
+return x_17;
+}
+else
+{
+lean_dec(x_16);
+lean_dec(x_2);
+return x_15;
+}
+}
+else
+{
+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;
+x_18 = lean_ctor_get(x_5, 0);
+x_19 = lean_ctor_get(x_5, 1);
+x_20 = lean_ctor_get(x_5, 2);
+lean_inc(x_20);
+lean_inc(x_19);
+lean_inc(x_18);
+lean_dec(x_5);
+x_21 = lean_ctor_get(x_3, 1);
+lean_inc(x_21);
+x_22 = l_Lean_FileMap_toPosition(x_20, x_21);
+x_23 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_23, 0, x_18);
+lean_ctor_set(x_23, 1, x_19);
+lean_ctor_set(x_23, 2, x_20);
+x_24 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_24, 0, x_22);
+lean_ctor_set(x_2, 4, x_24);
+lean_ctor_set(x_2, 0, x_23);
+x_25 = l_Char_HasRepr___closed__1;
+x_26 = lean_string_append(x_25, x_1);
+x_27 = lean_string_append(x_26, x_25);
+lean_inc(x_2);
+x_28 = l_Lean_Parser_symbolFnAux(x_1, x_27, x_2, x_3);
+x_29 = lean_ctor_get(x_28, 3);
+lean_inc(x_29);
+if (lean_obj_tag(x_29) == 0)
+{
+lean_object* x_30;
+x_30 = l_Lean_Parser_Term_haveDecl___elambda__1(x_2, x_28);
+return x_30;
+}
+else
+{
+lean_dec(x_29);
+lean_dec(x_2);
+return x_28;
+}
+}
+}
+else
+{
+lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; uint8_t 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;
+x_31 = lean_ctor_get(x_2, 0);
+x_32 = lean_ctor_get(x_2, 1);
+x_33 = lean_ctor_get(x_2, 2);
+x_34 = lean_ctor_get(x_2, 3);
+x_35 = lean_ctor_get_uint8(x_2, sizeof(void*)*6);
+x_36 = lean_ctor_get(x_2, 5);
+lean_inc(x_36);
+lean_inc(x_34);
+lean_inc(x_33);
+lean_inc(x_32);
+lean_inc(x_31);
+lean_dec(x_2);
+x_37 = lean_ctor_get(x_31, 0);
+lean_inc(x_37);
+x_38 = lean_ctor_get(x_31, 1);
+lean_inc(x_38);
+x_39 = lean_ctor_get(x_31, 2);
+lean_inc(x_39);
+if (lean_is_exclusive(x_31)) {
+ lean_ctor_release(x_31, 0);
+ lean_ctor_release(x_31, 1);
+ lean_ctor_release(x_31, 2);
+ x_40 = x_31;
+} else {
+ lean_dec_ref(x_31);
+ x_40 = lean_box(0);
+}
+x_41 = lean_ctor_get(x_3, 1);
+lean_inc(x_41);
+x_42 = l_Lean_FileMap_toPosition(x_39, x_41);
+if (lean_is_scalar(x_40)) {
+ x_43 = lean_alloc_ctor(0, 3, 0);
+} else {
+ x_43 = x_40;
+}
+lean_ctor_set(x_43, 0, x_37);
+lean_ctor_set(x_43, 1, x_38);
+lean_ctor_set(x_43, 2, x_39);
+x_44 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_44, 0, x_42);
+x_45 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_45, 0, x_43);
+lean_ctor_set(x_45, 1, x_32);
+lean_ctor_set(x_45, 2, x_33);
+lean_ctor_set(x_45, 3, x_34);
+lean_ctor_set(x_45, 4, x_44);
+lean_ctor_set(x_45, 5, x_36);
+lean_ctor_set_uint8(x_45, sizeof(void*)*6, x_35);
+x_46 = l_Char_HasRepr___closed__1;
+x_47 = lean_string_append(x_46, x_1);
+x_48 = lean_string_append(x_47, x_46);
+lean_inc(x_45);
+x_49 = l_Lean_Parser_symbolFnAux(x_1, x_48, x_45, x_3);
+x_50 = lean_ctor_get(x_49, 3);
+lean_inc(x_50);
+if (lean_obj_tag(x_50) == 0)
+{
+lean_object* x_51;
+x_51 = l_Lean_Parser_Term_haveDecl___elambda__1(x_45, x_49);
+return x_51;
+}
+else
+{
+lean_dec(x_50);
+lean_dec(x_45);
+return x_49;
+}
+}
+}
+}
static lean_object* _init_l_Lean_Parser_Term_have___elambda__1___closed__1() {
_start:
{
@@ -21282,12 +15576,60 @@ static lean_object* _init_l_Lean_Parser_Term_have___elambda__1___closed__7() {
_start:
{
lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_have___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_Term_have___elambda__1___lambda__1___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_have___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
x_1 = l_Lean_Parser_Term_typeAscription___closed__2;
x_2 = l_Lean_Parser_Term_optSemicolon(x_1);
return x_2;
}
}
-static lean_object* _init_l_Lean_Parser_Term_have___elambda__1___closed__8() {
+static lean_object* _init_l_Lean_Parser_Term_have___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
+x_1 = l_Lean_Parser_Term_have___elambda__1___closed__8;
+x_2 = lean_ctor_get(x_1, 1);
+lean_inc(x_2);
+x_3 = l_Lean_Parser_Term_have___elambda__1___closed__7;
+x_4 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_4, 0, x_3);
+lean_closure_set(x_4, 1, x_2);
+return x_4;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_have___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_have___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_have___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_have___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_byTactic___elambda__1___closed__9;
+x_2 = l_Lean_Parser_Term_have___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_have___elambda__1___closed__12() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
@@ -21297,33 +15639,21 @@ x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Term_have___elambda__1___closed__9() {
+static lean_object* _init_l_Lean_Parser_Term_have___elambda__1___closed__13() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_have___elambda__1___closed__8;
+x_1 = l_Lean_Parser_Term_have___elambda__1___closed__12;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Term_have___elambda__1___closed__10() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Term_have___elambda__1___closed__9;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
-}
-}
lean_object* l_Lean_Parser_Term_have___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; uint8_t x_7;
-x_3 = l_Lean_Parser_Term_have___elambda__1___closed__7;
+x_3 = l_Lean_Parser_Term_have___elambda__1___closed__8;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
x_5 = l_Lean_Parser_Term_have___elambda__1___closed__4;
@@ -21342,7 +15672,7 @@ x_10 = lean_ctor_get(x_9, 3);
lean_inc(x_10);
if (lean_obj_tag(x_10) == 0)
{
-lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; uint8_t 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_11; lean_object* x_12; lean_object* x_13; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; uint8_t x_25; lean_object* x_26; uint8_t x_27;
x_11 = lean_ctor_get(x_9, 0);
lean_inc(x_11);
x_12 = lean_array_get_size(x_11);
@@ -21358,82 +15688,93 @@ lean_inc(x_24);
x_25 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
x_26 = lean_ctor_get(x_1, 5);
lean_inc(x_26);
-x_27 = lean_ctor_get(x_21, 2);
-lean_inc(x_27);
-x_28 = lean_ctor_get(x_9, 1);
-lean_inc(x_28);
-lean_inc(x_28);
-x_29 = l_Lean_FileMap_toPosition(x_27, x_28);
-lean_dec(x_27);
-x_30 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_30, 0, x_29);
-x_31 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_31, 0, x_21);
-lean_ctor_set(x_31, 1, x_22);
-lean_ctor_set(x_31, 2, x_23);
-lean_ctor_set(x_31, 3, x_24);
-lean_ctor_set(x_31, 4, x_30);
-lean_ctor_set(x_31, 5, x_26);
-lean_ctor_set_uint8(x_31, sizeof(void*)*6, x_25);
-lean_inc(x_31);
-x_32 = l_Lean_Parser_tokenFn(x_31, x_9);
-x_33 = lean_ctor_get(x_32, 3);
-lean_inc(x_33);
-if (lean_obj_tag(x_33) == 0)
+x_27 = !lean_is_exclusive(x_21);
+if (x_27 == 0)
{
-lean_object* x_34; lean_object* x_35;
-x_34 = lean_ctor_get(x_32, 0);
-lean_inc(x_34);
-x_35 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_34);
-lean_dec(x_34);
-if (lean_obj_tag(x_35) == 2)
-{
-lean_object* x_36; lean_object* x_37; uint8_t x_38;
-x_36 = lean_ctor_get(x_35, 1);
+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;
+x_28 = lean_ctor_get(x_21, 2);
+x_29 = lean_ctor_get(x_9, 1);
+lean_inc(x_29);
+x_30 = l_Lean_FileMap_toPosition(x_28, x_29);
+x_31 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_31, 0, x_30);
+x_32 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_32, 0, x_21);
+lean_ctor_set(x_32, 1, x_22);
+lean_ctor_set(x_32, 2, x_23);
+lean_ctor_set(x_32, 3, x_24);
+lean_ctor_set(x_32, 4, x_31);
+lean_ctor_set(x_32, 5, x_26);
+lean_ctor_set_uint8(x_32, sizeof(void*)*6, x_25);
+x_33 = l_Lean_Parser_Term_have___elambda__1___closed__6;
+x_34 = l_Lean_Parser_Term_have___elambda__1___closed__13;
+lean_inc(x_32);
+x_35 = l_Lean_Parser_symbolFnAux(x_33, x_34, x_32, x_9);
+x_36 = lean_ctor_get(x_35, 3);
lean_inc(x_36);
-lean_dec(x_35);
-x_37 = l_Lean_Parser_Term_have___elambda__1___closed__6;
-x_38 = lean_string_dec_eq(x_36, x_37);
+if (lean_obj_tag(x_36) == 0)
+{
+lean_object* x_37;
+x_37 = l_Lean_Parser_Term_haveDecl___elambda__1(x_32, x_35);
+x_13 = x_37;
+goto block_20;
+}
+else
+{
lean_dec(x_36);
-if (x_38 == 0)
-{
-lean_object* x_39; lean_object* x_40;
-lean_dec(x_31);
-x_39 = l_Lean_Parser_Term_have___elambda__1___closed__10;
-x_40 = l_Lean_Parser_ParserState_mkErrorsAt(x_32, x_39, x_28);
-x_13 = x_40;
-goto block_20;
-}
-else
-{
-lean_object* x_41;
-lean_dec(x_28);
-x_41 = l_Lean_Parser_Term_haveDecl___elambda__1(x_31, x_32);
-x_13 = x_41;
+lean_dec(x_32);
+x_13 = x_35;
goto block_20;
}
}
else
{
-lean_object* x_42; lean_object* x_43;
-lean_dec(x_35);
-lean_dec(x_31);
-x_42 = l_Lean_Parser_Term_have___elambda__1___closed__10;
-x_43 = l_Lean_Parser_ParserState_mkErrorsAt(x_32, x_42, x_28);
-x_13 = x_43;
+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;
+x_38 = lean_ctor_get(x_21, 0);
+x_39 = lean_ctor_get(x_21, 1);
+x_40 = lean_ctor_get(x_21, 2);
+lean_inc(x_40);
+lean_inc(x_39);
+lean_inc(x_38);
+lean_dec(x_21);
+x_41 = lean_ctor_get(x_9, 1);
+lean_inc(x_41);
+x_42 = l_Lean_FileMap_toPosition(x_40, x_41);
+x_43 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_43, 0, x_38);
+lean_ctor_set(x_43, 1, x_39);
+lean_ctor_set(x_43, 2, x_40);
+x_44 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_44, 0, x_42);
+x_45 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_45, 0, x_43);
+lean_ctor_set(x_45, 1, x_22);
+lean_ctor_set(x_45, 2, x_23);
+lean_ctor_set(x_45, 3, x_24);
+lean_ctor_set(x_45, 4, x_44);
+lean_ctor_set(x_45, 5, x_26);
+lean_ctor_set_uint8(x_45, sizeof(void*)*6, x_25);
+x_46 = l_Lean_Parser_Term_have___elambda__1___closed__6;
+x_47 = l_Lean_Parser_Term_have___elambda__1___closed__13;
+lean_inc(x_45);
+x_48 = l_Lean_Parser_symbolFnAux(x_46, x_47, x_45, x_9);
+x_49 = lean_ctor_get(x_48, 3);
+lean_inc(x_49);
+if (lean_obj_tag(x_49) == 0)
+{
+lean_object* x_50;
+x_50 = l_Lean_Parser_Term_haveDecl___elambda__1(x_45, x_48);
+x_13 = x_50;
goto block_20;
}
-}
else
{
-lean_object* x_44; lean_object* x_45;
-lean_dec(x_33);
-lean_dec(x_31);
-x_44 = l_Lean_Parser_Term_have___elambda__1___closed__10;
-x_45 = l_Lean_Parser_ParserState_mkErrorsAt(x_32, x_44, x_28);
-x_13 = x_45;
+lean_dec(x_49);
+lean_dec(x_45);
+x_13 = x_48;
goto block_20;
}
+}
block_20:
{
lean_object* x_14;
@@ -21469,363 +15810,12 @@ return x_9;
}
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_2, 0);
-lean_inc(x_46);
-x_47 = lean_array_get_size(x_46);
-lean_dec(x_46);
-x_48 = lean_ctor_get(x_2, 1);
-lean_inc(x_48);
-lean_inc(x_1);
-x_49 = lean_apply_2(x_6, x_1, x_2);
-x_50 = lean_ctor_get(x_49, 3);
-lean_inc(x_50);
-if (lean_obj_tag(x_50) == 0)
-{
-lean_dec(x_48);
-lean_dec(x_47);
+lean_object* x_51; uint8_t x_52; lean_object* x_53;
lean_dec(x_4);
-lean_dec(x_1);
-return x_49;
-}
-else
-{
-uint8_t x_51;
-x_51 = !lean_is_exclusive(x_50);
-if (x_51 == 0)
-{
-lean_object* x_52; lean_object* x_53; uint8_t x_54;
-x_52 = lean_ctor_get(x_50, 0);
-x_53 = lean_ctor_get(x_49, 1);
-lean_inc(x_53);
-x_54 = lean_nat_dec_eq(x_53, x_48);
-lean_dec(x_53);
-if (x_54 == 0)
-{
-lean_free_object(x_50);
-lean_dec(x_52);
-lean_dec(x_48);
-lean_dec(x_47);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_49;
-}
-else
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58;
-lean_inc(x_48);
-x_55 = l_Lean_Parser_ParserState_restore(x_49, x_47, x_48);
-lean_dec(x_47);
-x_56 = l_Lean_Parser_leadPrec;
-x_57 = l_Lean_Parser_checkPrecFn(x_56, x_1, x_55);
-x_58 = lean_ctor_get(x_57, 3);
-lean_inc(x_58);
-if (lean_obj_tag(x_58) == 0)
-{
-lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; uint8_t x_77; 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;
-x_59 = lean_ctor_get(x_57, 0);
-lean_inc(x_59);
-x_60 = lean_array_get_size(x_59);
-lean_dec(x_59);
-x_73 = lean_ctor_get(x_1, 0);
-lean_inc(x_73);
-x_74 = lean_ctor_get(x_1, 1);
-lean_inc(x_74);
-x_75 = lean_ctor_get(x_1, 2);
-lean_inc(x_75);
-x_76 = lean_ctor_get(x_1, 3);
-lean_inc(x_76);
-x_77 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
-x_78 = lean_ctor_get(x_1, 5);
-lean_inc(x_78);
-x_79 = lean_ctor_get(x_73, 2);
-lean_inc(x_79);
-x_80 = lean_ctor_get(x_57, 1);
-lean_inc(x_80);
-lean_inc(x_80);
-x_81 = l_Lean_FileMap_toPosition(x_79, x_80);
-lean_dec(x_79);
-lean_ctor_set(x_50, 0, x_81);
-x_82 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_82, 0, x_73);
-lean_ctor_set(x_82, 1, x_74);
-lean_ctor_set(x_82, 2, x_75);
-lean_ctor_set(x_82, 3, x_76);
-lean_ctor_set(x_82, 4, x_50);
-lean_ctor_set(x_82, 5, x_78);
-lean_ctor_set_uint8(x_82, sizeof(void*)*6, x_77);
-lean_inc(x_82);
-x_83 = l_Lean_Parser_tokenFn(x_82, x_57);
-x_84 = lean_ctor_get(x_83, 3);
-lean_inc(x_84);
-if (lean_obj_tag(x_84) == 0)
-{
-lean_object* x_85; lean_object* x_86;
-x_85 = lean_ctor_get(x_83, 0);
-lean_inc(x_85);
-x_86 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_85);
-lean_dec(x_85);
-if (lean_obj_tag(x_86) == 2)
-{
-lean_object* x_87; lean_object* x_88; uint8_t x_89;
-x_87 = lean_ctor_get(x_86, 1);
-lean_inc(x_87);
-lean_dec(x_86);
-x_88 = l_Lean_Parser_Term_have___elambda__1___closed__6;
-x_89 = lean_string_dec_eq(x_87, x_88);
-lean_dec(x_87);
-if (x_89 == 0)
-{
-lean_object* x_90; lean_object* x_91;
-lean_dec(x_82);
-x_90 = l_Lean_Parser_Term_have___elambda__1___closed__10;
-x_91 = l_Lean_Parser_ParserState_mkErrorsAt(x_83, x_90, x_80);
-x_61 = x_91;
-goto block_72;
-}
-else
-{
-lean_object* x_92;
-lean_dec(x_80);
-x_92 = l_Lean_Parser_Term_haveDecl___elambda__1(x_82, x_83);
-x_61 = x_92;
-goto block_72;
-}
-}
-else
-{
-lean_object* x_93; lean_object* x_94;
-lean_dec(x_86);
-lean_dec(x_82);
-x_93 = l_Lean_Parser_Term_have___elambda__1___closed__10;
-x_94 = l_Lean_Parser_ParserState_mkErrorsAt(x_83, x_93, x_80);
-x_61 = x_94;
-goto block_72;
-}
-}
-else
-{
-lean_object* x_95; lean_object* x_96;
-lean_dec(x_84);
-lean_dec(x_82);
-x_95 = l_Lean_Parser_Term_have___elambda__1___closed__10;
-x_96 = l_Lean_Parser_ParserState_mkErrorsAt(x_83, x_95, x_80);
-x_61 = x_96;
-goto block_72;
-}
-block_72:
-{
-lean_object* x_62;
-x_62 = lean_ctor_get(x_61, 3);
-lean_inc(x_62);
-if (lean_obj_tag(x_62) == 0)
-{
-lean_object* x_63; lean_object* x_64; lean_object* x_65; uint8_t x_66; lean_object* x_67;
-x_63 = lean_apply_2(x_4, x_1, x_61);
-x_64 = l_Lean_Parser_Term_have___elambda__1___closed__2;
-x_65 = l_Lean_Parser_ParserState_mkNode(x_63, x_64, x_60);
-x_66 = 1;
-x_67 = l_Lean_Parser_mergeOrElseErrors(x_65, x_52, x_48, x_66);
-lean_dec(x_48);
-return x_67;
-}
-else
-{
-lean_object* x_68; lean_object* x_69; uint8_t x_70; lean_object* x_71;
-lean_dec(x_62);
-lean_dec(x_4);
-lean_dec(x_1);
-x_68 = l_Lean_Parser_Term_have___elambda__1___closed__2;
-x_69 = l_Lean_Parser_ParserState_mkNode(x_61, x_68, x_60);
-x_70 = 1;
-x_71 = l_Lean_Parser_mergeOrElseErrors(x_69, x_52, x_48, x_70);
-lean_dec(x_48);
-return x_71;
-}
-}
-}
-else
-{
-uint8_t x_97; lean_object* x_98;
-lean_dec(x_58);
-lean_free_object(x_50);
-lean_dec(x_4);
-lean_dec(x_1);
-x_97 = 1;
-x_98 = l_Lean_Parser_mergeOrElseErrors(x_57, x_52, x_48, x_97);
-lean_dec(x_48);
-return x_98;
-}
-}
-}
-else
-{
-lean_object* x_99; lean_object* x_100; uint8_t x_101;
-x_99 = lean_ctor_get(x_50, 0);
-lean_inc(x_99);
-lean_dec(x_50);
-x_100 = lean_ctor_get(x_49, 1);
-lean_inc(x_100);
-x_101 = lean_nat_dec_eq(x_100, x_48);
-lean_dec(x_100);
-if (x_101 == 0)
-{
-lean_dec(x_99);
-lean_dec(x_48);
-lean_dec(x_47);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_49;
-}
-else
-{
-lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105;
-lean_inc(x_48);
-x_102 = l_Lean_Parser_ParserState_restore(x_49, x_47, x_48);
-lean_dec(x_47);
-x_103 = l_Lean_Parser_leadPrec;
-x_104 = l_Lean_Parser_checkPrecFn(x_103, x_1, x_102);
-x_105 = lean_ctor_get(x_104, 3);
-lean_inc(x_105);
-if (lean_obj_tag(x_105) == 0)
-{
-lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; uint8_t 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;
-x_106 = lean_ctor_get(x_104, 0);
-lean_inc(x_106);
-x_107 = lean_array_get_size(x_106);
-lean_dec(x_106);
-x_120 = lean_ctor_get(x_1, 0);
-lean_inc(x_120);
-x_121 = lean_ctor_get(x_1, 1);
-lean_inc(x_121);
-x_122 = lean_ctor_get(x_1, 2);
-lean_inc(x_122);
-x_123 = lean_ctor_get(x_1, 3);
-lean_inc(x_123);
-x_124 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
-x_125 = lean_ctor_get(x_1, 5);
-lean_inc(x_125);
-x_126 = lean_ctor_get(x_120, 2);
-lean_inc(x_126);
-x_127 = lean_ctor_get(x_104, 1);
-lean_inc(x_127);
-lean_inc(x_127);
-x_128 = l_Lean_FileMap_toPosition(x_126, x_127);
-lean_dec(x_126);
-x_129 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_129, 0, x_128);
-x_130 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_130, 0, x_120);
-lean_ctor_set(x_130, 1, x_121);
-lean_ctor_set(x_130, 2, x_122);
-lean_ctor_set(x_130, 3, x_123);
-lean_ctor_set(x_130, 4, x_129);
-lean_ctor_set(x_130, 5, x_125);
-lean_ctor_set_uint8(x_130, sizeof(void*)*6, x_124);
-lean_inc(x_130);
-x_131 = l_Lean_Parser_tokenFn(x_130, x_104);
-x_132 = lean_ctor_get(x_131, 3);
-lean_inc(x_132);
-if (lean_obj_tag(x_132) == 0)
-{
-lean_object* x_133; lean_object* x_134;
-x_133 = lean_ctor_get(x_131, 0);
-lean_inc(x_133);
-x_134 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_133);
-lean_dec(x_133);
-if (lean_obj_tag(x_134) == 2)
-{
-lean_object* x_135; lean_object* x_136; uint8_t x_137;
-x_135 = lean_ctor_get(x_134, 1);
-lean_inc(x_135);
-lean_dec(x_134);
-x_136 = l_Lean_Parser_Term_have___elambda__1___closed__6;
-x_137 = lean_string_dec_eq(x_135, x_136);
-lean_dec(x_135);
-if (x_137 == 0)
-{
-lean_object* x_138; lean_object* x_139;
-lean_dec(x_130);
-x_138 = l_Lean_Parser_Term_have___elambda__1___closed__10;
-x_139 = l_Lean_Parser_ParserState_mkErrorsAt(x_131, x_138, x_127);
-x_108 = x_139;
-goto block_119;
-}
-else
-{
-lean_object* x_140;
-lean_dec(x_127);
-x_140 = l_Lean_Parser_Term_haveDecl___elambda__1(x_130, x_131);
-x_108 = x_140;
-goto block_119;
-}
-}
-else
-{
-lean_object* x_141; lean_object* x_142;
-lean_dec(x_134);
-lean_dec(x_130);
-x_141 = l_Lean_Parser_Term_have___elambda__1___closed__10;
-x_142 = l_Lean_Parser_ParserState_mkErrorsAt(x_131, x_141, x_127);
-x_108 = x_142;
-goto block_119;
-}
-}
-else
-{
-lean_object* x_143; lean_object* x_144;
-lean_dec(x_132);
-lean_dec(x_130);
-x_143 = l_Lean_Parser_Term_have___elambda__1___closed__10;
-x_144 = l_Lean_Parser_ParserState_mkErrorsAt(x_131, x_143, x_127);
-x_108 = x_144;
-goto block_119;
-}
-block_119:
-{
-lean_object* x_109;
-x_109 = lean_ctor_get(x_108, 3);
-lean_inc(x_109);
-if (lean_obj_tag(x_109) == 0)
-{
-lean_object* x_110; lean_object* x_111; lean_object* x_112; uint8_t x_113; lean_object* x_114;
-x_110 = lean_apply_2(x_4, x_1, x_108);
-x_111 = l_Lean_Parser_Term_have___elambda__1___closed__2;
-x_112 = l_Lean_Parser_ParserState_mkNode(x_110, x_111, x_107);
-x_113 = 1;
-x_114 = l_Lean_Parser_mergeOrElseErrors(x_112, x_99, x_48, x_113);
-lean_dec(x_48);
-return x_114;
-}
-else
-{
-lean_object* x_115; lean_object* x_116; uint8_t x_117; lean_object* x_118;
-lean_dec(x_109);
-lean_dec(x_4);
-lean_dec(x_1);
-x_115 = l_Lean_Parser_Term_have___elambda__1___closed__2;
-x_116 = l_Lean_Parser_ParserState_mkNode(x_108, x_115, x_107);
-x_117 = 1;
-x_118 = l_Lean_Parser_mergeOrElseErrors(x_116, x_99, x_48, x_117);
-lean_dec(x_48);
-return x_118;
-}
-}
-}
-else
-{
-uint8_t x_145; lean_object* x_146;
-lean_dec(x_105);
-lean_dec(x_4);
-lean_dec(x_1);
-x_145 = 1;
-x_146 = l_Lean_Parser_mergeOrElseErrors(x_104, x_99, x_48, x_145);
-lean_dec(x_48);
-return x_146;
-}
-}
-}
-}
+x_51 = l_Lean_Parser_Term_have___elambda__1___closed__11;
+x_52 = 1;
+x_53 = l_Lean_Parser_orelseFnCore(x_6, x_51, x_52, x_1, x_2);
+return x_53;
}
}
}
@@ -21854,7 +15844,7 @@ static lean_object* _init_l_Lean_Parser_Term_have___closed__3() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
-x_1 = l_Lean_Parser_Term_have___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Term_have___elambda__1___closed__8;
x_2 = lean_ctor_get(x_1, 0);
lean_inc(x_2);
x_3 = l_Lean_Parser_Term_have___closed__2;
@@ -21922,6 +15912,15 @@ x_1 = l_Lean_Parser_Term_have___closed__8;
return x_1;
}
}
+lean_object* l_Lean_Parser_Term_have___elambda__1___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+lean_object* x_4;
+x_4 = l_Lean_Parser_Term_have___elambda__1___lambda__1(x_1, x_2, x_3);
+lean_dec(x_1);
+return x_4;
+}
+}
lean_object* l___regBuiltinParser_Lean_Parser_Term_have(lean_object* x_1) {
_start:
{
@@ -22604,6 +16603,163 @@ x_1 = l_Lean_Parser_Term_sufficesDecl___closed__4;
return x_1;
}
}
+lean_object* l_Lean_Parser_Term_suffices___elambda__1___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+uint8_t x_4;
+x_4 = !lean_is_exclusive(x_2);
+if (x_4 == 0)
+{
+lean_object* x_5; lean_object* x_6; uint8_t x_7;
+x_5 = lean_ctor_get(x_2, 0);
+x_6 = lean_ctor_get(x_2, 4);
+lean_dec(x_6);
+x_7 = !lean_is_exclusive(x_5);
+if (x_7 == 0)
+{
+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; lean_object* x_16;
+x_8 = lean_ctor_get(x_5, 2);
+x_9 = lean_ctor_get(x_3, 1);
+lean_inc(x_9);
+x_10 = l_Lean_FileMap_toPosition(x_8, x_9);
+x_11 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_11, 0, x_10);
+lean_ctor_set(x_2, 4, x_11);
+x_12 = l_Char_HasRepr___closed__1;
+x_13 = lean_string_append(x_12, x_1);
+x_14 = lean_string_append(x_13, x_12);
+lean_inc(x_2);
+x_15 = l_Lean_Parser_symbolFnAux(x_1, x_14, x_2, x_3);
+x_16 = lean_ctor_get(x_15, 3);
+lean_inc(x_16);
+if (lean_obj_tag(x_16) == 0)
+{
+lean_object* x_17;
+x_17 = l_Lean_Parser_Term_sufficesDecl___elambda__1(x_2, x_15);
+return x_17;
+}
+else
+{
+lean_dec(x_16);
+lean_dec(x_2);
+return x_15;
+}
+}
+else
+{
+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;
+x_18 = lean_ctor_get(x_5, 0);
+x_19 = lean_ctor_get(x_5, 1);
+x_20 = lean_ctor_get(x_5, 2);
+lean_inc(x_20);
+lean_inc(x_19);
+lean_inc(x_18);
+lean_dec(x_5);
+x_21 = lean_ctor_get(x_3, 1);
+lean_inc(x_21);
+x_22 = l_Lean_FileMap_toPosition(x_20, x_21);
+x_23 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_23, 0, x_18);
+lean_ctor_set(x_23, 1, x_19);
+lean_ctor_set(x_23, 2, x_20);
+x_24 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_24, 0, x_22);
+lean_ctor_set(x_2, 4, x_24);
+lean_ctor_set(x_2, 0, x_23);
+x_25 = l_Char_HasRepr___closed__1;
+x_26 = lean_string_append(x_25, x_1);
+x_27 = lean_string_append(x_26, x_25);
+lean_inc(x_2);
+x_28 = l_Lean_Parser_symbolFnAux(x_1, x_27, x_2, x_3);
+x_29 = lean_ctor_get(x_28, 3);
+lean_inc(x_29);
+if (lean_obj_tag(x_29) == 0)
+{
+lean_object* x_30;
+x_30 = l_Lean_Parser_Term_sufficesDecl___elambda__1(x_2, x_28);
+return x_30;
+}
+else
+{
+lean_dec(x_29);
+lean_dec(x_2);
+return x_28;
+}
+}
+}
+else
+{
+lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; uint8_t 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;
+x_31 = lean_ctor_get(x_2, 0);
+x_32 = lean_ctor_get(x_2, 1);
+x_33 = lean_ctor_get(x_2, 2);
+x_34 = lean_ctor_get(x_2, 3);
+x_35 = lean_ctor_get_uint8(x_2, sizeof(void*)*6);
+x_36 = lean_ctor_get(x_2, 5);
+lean_inc(x_36);
+lean_inc(x_34);
+lean_inc(x_33);
+lean_inc(x_32);
+lean_inc(x_31);
+lean_dec(x_2);
+x_37 = lean_ctor_get(x_31, 0);
+lean_inc(x_37);
+x_38 = lean_ctor_get(x_31, 1);
+lean_inc(x_38);
+x_39 = lean_ctor_get(x_31, 2);
+lean_inc(x_39);
+if (lean_is_exclusive(x_31)) {
+ lean_ctor_release(x_31, 0);
+ lean_ctor_release(x_31, 1);
+ lean_ctor_release(x_31, 2);
+ x_40 = x_31;
+} else {
+ lean_dec_ref(x_31);
+ x_40 = lean_box(0);
+}
+x_41 = lean_ctor_get(x_3, 1);
+lean_inc(x_41);
+x_42 = l_Lean_FileMap_toPosition(x_39, x_41);
+if (lean_is_scalar(x_40)) {
+ x_43 = lean_alloc_ctor(0, 3, 0);
+} else {
+ x_43 = x_40;
+}
+lean_ctor_set(x_43, 0, x_37);
+lean_ctor_set(x_43, 1, x_38);
+lean_ctor_set(x_43, 2, x_39);
+x_44 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_44, 0, x_42);
+x_45 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_45, 0, x_43);
+lean_ctor_set(x_45, 1, x_32);
+lean_ctor_set(x_45, 2, x_33);
+lean_ctor_set(x_45, 3, x_34);
+lean_ctor_set(x_45, 4, x_44);
+lean_ctor_set(x_45, 5, x_36);
+lean_ctor_set_uint8(x_45, sizeof(void*)*6, x_35);
+x_46 = l_Char_HasRepr___closed__1;
+x_47 = lean_string_append(x_46, x_1);
+x_48 = lean_string_append(x_47, x_46);
+lean_inc(x_45);
+x_49 = l_Lean_Parser_symbolFnAux(x_1, x_48, x_45, x_3);
+x_50 = lean_ctor_get(x_49, 3);
+lean_inc(x_50);
+if (lean_obj_tag(x_50) == 0)
+{
+lean_object* x_51;
+x_51 = l_Lean_Parser_Term_sufficesDecl___elambda__1(x_45, x_49);
+return x_51;
+}
+else
+{
+lean_dec(x_50);
+lean_dec(x_45);
+return x_49;
+}
+}
+}
+}
static lean_object* _init_l_Lean_Parser_Term_suffices___elambda__1___closed__1() {
_start:
{
@@ -22663,6 +16819,54 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_suffices___elambda__1___closed__7() {
_start:
{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_suffices___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_Term_suffices___elambda__1___lambda__1___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_suffices___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
+x_1 = l_Lean_Parser_Term_have___elambda__1___closed__8;
+x_2 = lean_ctor_get(x_1, 1);
+lean_inc(x_2);
+x_3 = l_Lean_Parser_Term_suffices___elambda__1___closed__7;
+x_4 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_4, 0, x_3);
+lean_closure_set(x_4, 1, x_2);
+return x_4;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_suffices___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_suffices___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_suffices___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_suffices___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_byTactic___elambda__1___closed__9;
+x_2 = l_Lean_Parser_Term_suffices___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_suffices___elambda__1___closed__11() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Char_HasRepr___closed__1;
x_2 = l_Lean_Parser_Term_suffices___elambda__1___closed__6;
@@ -22670,33 +16874,21 @@ x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Term_suffices___elambda__1___closed__8() {
+static lean_object* _init_l_Lean_Parser_Term_suffices___elambda__1___closed__12() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_suffices___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Term_suffices___elambda__1___closed__11;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Term_suffices___elambda__1___closed__9() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Term_suffices___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
-}
-}
lean_object* l_Lean_Parser_Term_suffices___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; uint8_t x_7;
-x_3 = l_Lean_Parser_Term_have___elambda__1___closed__7;
+x_3 = l_Lean_Parser_Term_have___elambda__1___closed__8;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
x_5 = l_Lean_Parser_Term_suffices___elambda__1___closed__4;
@@ -22715,7 +16907,7 @@ x_10 = lean_ctor_get(x_9, 3);
lean_inc(x_10);
if (lean_obj_tag(x_10) == 0)
{
-lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; uint8_t 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_11; lean_object* x_12; lean_object* x_13; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; uint8_t x_25; lean_object* x_26; uint8_t x_27;
x_11 = lean_ctor_get(x_9, 0);
lean_inc(x_11);
x_12 = lean_array_get_size(x_11);
@@ -22731,82 +16923,93 @@ lean_inc(x_24);
x_25 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
x_26 = lean_ctor_get(x_1, 5);
lean_inc(x_26);
-x_27 = lean_ctor_get(x_21, 2);
-lean_inc(x_27);
-x_28 = lean_ctor_get(x_9, 1);
-lean_inc(x_28);
-lean_inc(x_28);
-x_29 = l_Lean_FileMap_toPosition(x_27, x_28);
-lean_dec(x_27);
-x_30 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_30, 0, x_29);
-x_31 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_31, 0, x_21);
-lean_ctor_set(x_31, 1, x_22);
-lean_ctor_set(x_31, 2, x_23);
-lean_ctor_set(x_31, 3, x_24);
-lean_ctor_set(x_31, 4, x_30);
-lean_ctor_set(x_31, 5, x_26);
-lean_ctor_set_uint8(x_31, sizeof(void*)*6, x_25);
-lean_inc(x_31);
-x_32 = l_Lean_Parser_tokenFn(x_31, x_9);
-x_33 = lean_ctor_get(x_32, 3);
-lean_inc(x_33);
-if (lean_obj_tag(x_33) == 0)
+x_27 = !lean_is_exclusive(x_21);
+if (x_27 == 0)
{
-lean_object* x_34; lean_object* x_35;
-x_34 = lean_ctor_get(x_32, 0);
-lean_inc(x_34);
-x_35 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_34);
-lean_dec(x_34);
-if (lean_obj_tag(x_35) == 2)
-{
-lean_object* x_36; lean_object* x_37; uint8_t x_38;
-x_36 = lean_ctor_get(x_35, 1);
+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;
+x_28 = lean_ctor_get(x_21, 2);
+x_29 = lean_ctor_get(x_9, 1);
+lean_inc(x_29);
+x_30 = l_Lean_FileMap_toPosition(x_28, x_29);
+x_31 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_31, 0, x_30);
+x_32 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_32, 0, x_21);
+lean_ctor_set(x_32, 1, x_22);
+lean_ctor_set(x_32, 2, x_23);
+lean_ctor_set(x_32, 3, x_24);
+lean_ctor_set(x_32, 4, x_31);
+lean_ctor_set(x_32, 5, x_26);
+lean_ctor_set_uint8(x_32, sizeof(void*)*6, x_25);
+x_33 = l_Lean_Parser_Term_suffices___elambda__1___closed__6;
+x_34 = l_Lean_Parser_Term_suffices___elambda__1___closed__12;
+lean_inc(x_32);
+x_35 = l_Lean_Parser_symbolFnAux(x_33, x_34, x_32, x_9);
+x_36 = lean_ctor_get(x_35, 3);
lean_inc(x_36);
-lean_dec(x_35);
-x_37 = l_Lean_Parser_Term_suffices___elambda__1___closed__6;
-x_38 = lean_string_dec_eq(x_36, x_37);
+if (lean_obj_tag(x_36) == 0)
+{
+lean_object* x_37;
+x_37 = l_Lean_Parser_Term_sufficesDecl___elambda__1(x_32, x_35);
+x_13 = x_37;
+goto block_20;
+}
+else
+{
lean_dec(x_36);
-if (x_38 == 0)
-{
-lean_object* x_39; lean_object* x_40;
-lean_dec(x_31);
-x_39 = l_Lean_Parser_Term_suffices___elambda__1___closed__9;
-x_40 = l_Lean_Parser_ParserState_mkErrorsAt(x_32, x_39, x_28);
-x_13 = x_40;
-goto block_20;
-}
-else
-{
-lean_object* x_41;
-lean_dec(x_28);
-x_41 = l_Lean_Parser_Term_sufficesDecl___elambda__1(x_31, x_32);
-x_13 = x_41;
+lean_dec(x_32);
+x_13 = x_35;
goto block_20;
}
}
else
{
-lean_object* x_42; lean_object* x_43;
-lean_dec(x_35);
-lean_dec(x_31);
-x_42 = l_Lean_Parser_Term_suffices___elambda__1___closed__9;
-x_43 = l_Lean_Parser_ParserState_mkErrorsAt(x_32, x_42, x_28);
-x_13 = x_43;
+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;
+x_38 = lean_ctor_get(x_21, 0);
+x_39 = lean_ctor_get(x_21, 1);
+x_40 = lean_ctor_get(x_21, 2);
+lean_inc(x_40);
+lean_inc(x_39);
+lean_inc(x_38);
+lean_dec(x_21);
+x_41 = lean_ctor_get(x_9, 1);
+lean_inc(x_41);
+x_42 = l_Lean_FileMap_toPosition(x_40, x_41);
+x_43 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_43, 0, x_38);
+lean_ctor_set(x_43, 1, x_39);
+lean_ctor_set(x_43, 2, x_40);
+x_44 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_44, 0, x_42);
+x_45 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_45, 0, x_43);
+lean_ctor_set(x_45, 1, x_22);
+lean_ctor_set(x_45, 2, x_23);
+lean_ctor_set(x_45, 3, x_24);
+lean_ctor_set(x_45, 4, x_44);
+lean_ctor_set(x_45, 5, x_26);
+lean_ctor_set_uint8(x_45, sizeof(void*)*6, x_25);
+x_46 = l_Lean_Parser_Term_suffices___elambda__1___closed__6;
+x_47 = l_Lean_Parser_Term_suffices___elambda__1___closed__12;
+lean_inc(x_45);
+x_48 = l_Lean_Parser_symbolFnAux(x_46, x_47, x_45, x_9);
+x_49 = lean_ctor_get(x_48, 3);
+lean_inc(x_49);
+if (lean_obj_tag(x_49) == 0)
+{
+lean_object* x_50;
+x_50 = l_Lean_Parser_Term_sufficesDecl___elambda__1(x_45, x_48);
+x_13 = x_50;
goto block_20;
}
-}
else
{
-lean_object* x_44; lean_object* x_45;
-lean_dec(x_33);
-lean_dec(x_31);
-x_44 = l_Lean_Parser_Term_suffices___elambda__1___closed__9;
-x_45 = l_Lean_Parser_ParserState_mkErrorsAt(x_32, x_44, x_28);
-x_13 = x_45;
+lean_dec(x_49);
+lean_dec(x_45);
+x_13 = x_48;
goto block_20;
}
+}
block_20:
{
lean_object* x_14;
@@ -22842,363 +17045,12 @@ return x_9;
}
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_2, 0);
-lean_inc(x_46);
-x_47 = lean_array_get_size(x_46);
-lean_dec(x_46);
-x_48 = lean_ctor_get(x_2, 1);
-lean_inc(x_48);
-lean_inc(x_1);
-x_49 = lean_apply_2(x_6, x_1, x_2);
-x_50 = lean_ctor_get(x_49, 3);
-lean_inc(x_50);
-if (lean_obj_tag(x_50) == 0)
-{
-lean_dec(x_48);
-lean_dec(x_47);
+lean_object* x_51; uint8_t x_52; lean_object* x_53;
lean_dec(x_4);
-lean_dec(x_1);
-return x_49;
-}
-else
-{
-uint8_t x_51;
-x_51 = !lean_is_exclusive(x_50);
-if (x_51 == 0)
-{
-lean_object* x_52; lean_object* x_53; uint8_t x_54;
-x_52 = lean_ctor_get(x_50, 0);
-x_53 = lean_ctor_get(x_49, 1);
-lean_inc(x_53);
-x_54 = lean_nat_dec_eq(x_53, x_48);
-lean_dec(x_53);
-if (x_54 == 0)
-{
-lean_free_object(x_50);
-lean_dec(x_52);
-lean_dec(x_48);
-lean_dec(x_47);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_49;
-}
-else
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58;
-lean_inc(x_48);
-x_55 = l_Lean_Parser_ParserState_restore(x_49, x_47, x_48);
-lean_dec(x_47);
-x_56 = l_Lean_Parser_leadPrec;
-x_57 = l_Lean_Parser_checkPrecFn(x_56, x_1, x_55);
-x_58 = lean_ctor_get(x_57, 3);
-lean_inc(x_58);
-if (lean_obj_tag(x_58) == 0)
-{
-lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; uint8_t x_77; 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;
-x_59 = lean_ctor_get(x_57, 0);
-lean_inc(x_59);
-x_60 = lean_array_get_size(x_59);
-lean_dec(x_59);
-x_73 = lean_ctor_get(x_1, 0);
-lean_inc(x_73);
-x_74 = lean_ctor_get(x_1, 1);
-lean_inc(x_74);
-x_75 = lean_ctor_get(x_1, 2);
-lean_inc(x_75);
-x_76 = lean_ctor_get(x_1, 3);
-lean_inc(x_76);
-x_77 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
-x_78 = lean_ctor_get(x_1, 5);
-lean_inc(x_78);
-x_79 = lean_ctor_get(x_73, 2);
-lean_inc(x_79);
-x_80 = lean_ctor_get(x_57, 1);
-lean_inc(x_80);
-lean_inc(x_80);
-x_81 = l_Lean_FileMap_toPosition(x_79, x_80);
-lean_dec(x_79);
-lean_ctor_set(x_50, 0, x_81);
-x_82 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_82, 0, x_73);
-lean_ctor_set(x_82, 1, x_74);
-lean_ctor_set(x_82, 2, x_75);
-lean_ctor_set(x_82, 3, x_76);
-lean_ctor_set(x_82, 4, x_50);
-lean_ctor_set(x_82, 5, x_78);
-lean_ctor_set_uint8(x_82, sizeof(void*)*6, x_77);
-lean_inc(x_82);
-x_83 = l_Lean_Parser_tokenFn(x_82, x_57);
-x_84 = lean_ctor_get(x_83, 3);
-lean_inc(x_84);
-if (lean_obj_tag(x_84) == 0)
-{
-lean_object* x_85; lean_object* x_86;
-x_85 = lean_ctor_get(x_83, 0);
-lean_inc(x_85);
-x_86 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_85);
-lean_dec(x_85);
-if (lean_obj_tag(x_86) == 2)
-{
-lean_object* x_87; lean_object* x_88; uint8_t x_89;
-x_87 = lean_ctor_get(x_86, 1);
-lean_inc(x_87);
-lean_dec(x_86);
-x_88 = l_Lean_Parser_Term_suffices___elambda__1___closed__6;
-x_89 = lean_string_dec_eq(x_87, x_88);
-lean_dec(x_87);
-if (x_89 == 0)
-{
-lean_object* x_90; lean_object* x_91;
-lean_dec(x_82);
-x_90 = l_Lean_Parser_Term_suffices___elambda__1___closed__9;
-x_91 = l_Lean_Parser_ParserState_mkErrorsAt(x_83, x_90, x_80);
-x_61 = x_91;
-goto block_72;
-}
-else
-{
-lean_object* x_92;
-lean_dec(x_80);
-x_92 = l_Lean_Parser_Term_sufficesDecl___elambda__1(x_82, x_83);
-x_61 = x_92;
-goto block_72;
-}
-}
-else
-{
-lean_object* x_93; lean_object* x_94;
-lean_dec(x_86);
-lean_dec(x_82);
-x_93 = l_Lean_Parser_Term_suffices___elambda__1___closed__9;
-x_94 = l_Lean_Parser_ParserState_mkErrorsAt(x_83, x_93, x_80);
-x_61 = x_94;
-goto block_72;
-}
-}
-else
-{
-lean_object* x_95; lean_object* x_96;
-lean_dec(x_84);
-lean_dec(x_82);
-x_95 = l_Lean_Parser_Term_suffices___elambda__1___closed__9;
-x_96 = l_Lean_Parser_ParserState_mkErrorsAt(x_83, x_95, x_80);
-x_61 = x_96;
-goto block_72;
-}
-block_72:
-{
-lean_object* x_62;
-x_62 = lean_ctor_get(x_61, 3);
-lean_inc(x_62);
-if (lean_obj_tag(x_62) == 0)
-{
-lean_object* x_63; lean_object* x_64; lean_object* x_65; uint8_t x_66; lean_object* x_67;
-x_63 = lean_apply_2(x_4, x_1, x_61);
-x_64 = l_Lean_Parser_Term_suffices___elambda__1___closed__2;
-x_65 = l_Lean_Parser_ParserState_mkNode(x_63, x_64, x_60);
-x_66 = 1;
-x_67 = l_Lean_Parser_mergeOrElseErrors(x_65, x_52, x_48, x_66);
-lean_dec(x_48);
-return x_67;
-}
-else
-{
-lean_object* x_68; lean_object* x_69; uint8_t x_70; lean_object* x_71;
-lean_dec(x_62);
-lean_dec(x_4);
-lean_dec(x_1);
-x_68 = l_Lean_Parser_Term_suffices___elambda__1___closed__2;
-x_69 = l_Lean_Parser_ParserState_mkNode(x_61, x_68, x_60);
-x_70 = 1;
-x_71 = l_Lean_Parser_mergeOrElseErrors(x_69, x_52, x_48, x_70);
-lean_dec(x_48);
-return x_71;
-}
-}
-}
-else
-{
-uint8_t x_97; lean_object* x_98;
-lean_dec(x_58);
-lean_free_object(x_50);
-lean_dec(x_4);
-lean_dec(x_1);
-x_97 = 1;
-x_98 = l_Lean_Parser_mergeOrElseErrors(x_57, x_52, x_48, x_97);
-lean_dec(x_48);
-return x_98;
-}
-}
-}
-else
-{
-lean_object* x_99; lean_object* x_100; uint8_t x_101;
-x_99 = lean_ctor_get(x_50, 0);
-lean_inc(x_99);
-lean_dec(x_50);
-x_100 = lean_ctor_get(x_49, 1);
-lean_inc(x_100);
-x_101 = lean_nat_dec_eq(x_100, x_48);
-lean_dec(x_100);
-if (x_101 == 0)
-{
-lean_dec(x_99);
-lean_dec(x_48);
-lean_dec(x_47);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_49;
-}
-else
-{
-lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105;
-lean_inc(x_48);
-x_102 = l_Lean_Parser_ParserState_restore(x_49, x_47, x_48);
-lean_dec(x_47);
-x_103 = l_Lean_Parser_leadPrec;
-x_104 = l_Lean_Parser_checkPrecFn(x_103, x_1, x_102);
-x_105 = lean_ctor_get(x_104, 3);
-lean_inc(x_105);
-if (lean_obj_tag(x_105) == 0)
-{
-lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; uint8_t 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;
-x_106 = lean_ctor_get(x_104, 0);
-lean_inc(x_106);
-x_107 = lean_array_get_size(x_106);
-lean_dec(x_106);
-x_120 = lean_ctor_get(x_1, 0);
-lean_inc(x_120);
-x_121 = lean_ctor_get(x_1, 1);
-lean_inc(x_121);
-x_122 = lean_ctor_get(x_1, 2);
-lean_inc(x_122);
-x_123 = lean_ctor_get(x_1, 3);
-lean_inc(x_123);
-x_124 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
-x_125 = lean_ctor_get(x_1, 5);
-lean_inc(x_125);
-x_126 = lean_ctor_get(x_120, 2);
-lean_inc(x_126);
-x_127 = lean_ctor_get(x_104, 1);
-lean_inc(x_127);
-lean_inc(x_127);
-x_128 = l_Lean_FileMap_toPosition(x_126, x_127);
-lean_dec(x_126);
-x_129 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_129, 0, x_128);
-x_130 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_130, 0, x_120);
-lean_ctor_set(x_130, 1, x_121);
-lean_ctor_set(x_130, 2, x_122);
-lean_ctor_set(x_130, 3, x_123);
-lean_ctor_set(x_130, 4, x_129);
-lean_ctor_set(x_130, 5, x_125);
-lean_ctor_set_uint8(x_130, sizeof(void*)*6, x_124);
-lean_inc(x_130);
-x_131 = l_Lean_Parser_tokenFn(x_130, x_104);
-x_132 = lean_ctor_get(x_131, 3);
-lean_inc(x_132);
-if (lean_obj_tag(x_132) == 0)
-{
-lean_object* x_133; lean_object* x_134;
-x_133 = lean_ctor_get(x_131, 0);
-lean_inc(x_133);
-x_134 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_133);
-lean_dec(x_133);
-if (lean_obj_tag(x_134) == 2)
-{
-lean_object* x_135; lean_object* x_136; uint8_t x_137;
-x_135 = lean_ctor_get(x_134, 1);
-lean_inc(x_135);
-lean_dec(x_134);
-x_136 = l_Lean_Parser_Term_suffices___elambda__1___closed__6;
-x_137 = lean_string_dec_eq(x_135, x_136);
-lean_dec(x_135);
-if (x_137 == 0)
-{
-lean_object* x_138; lean_object* x_139;
-lean_dec(x_130);
-x_138 = l_Lean_Parser_Term_suffices___elambda__1___closed__9;
-x_139 = l_Lean_Parser_ParserState_mkErrorsAt(x_131, x_138, x_127);
-x_108 = x_139;
-goto block_119;
-}
-else
-{
-lean_object* x_140;
-lean_dec(x_127);
-x_140 = l_Lean_Parser_Term_sufficesDecl___elambda__1(x_130, x_131);
-x_108 = x_140;
-goto block_119;
-}
-}
-else
-{
-lean_object* x_141; lean_object* x_142;
-lean_dec(x_134);
-lean_dec(x_130);
-x_141 = l_Lean_Parser_Term_suffices___elambda__1___closed__9;
-x_142 = l_Lean_Parser_ParserState_mkErrorsAt(x_131, x_141, x_127);
-x_108 = x_142;
-goto block_119;
-}
-}
-else
-{
-lean_object* x_143; lean_object* x_144;
-lean_dec(x_132);
-lean_dec(x_130);
-x_143 = l_Lean_Parser_Term_suffices___elambda__1___closed__9;
-x_144 = l_Lean_Parser_ParserState_mkErrorsAt(x_131, x_143, x_127);
-x_108 = x_144;
-goto block_119;
-}
-block_119:
-{
-lean_object* x_109;
-x_109 = lean_ctor_get(x_108, 3);
-lean_inc(x_109);
-if (lean_obj_tag(x_109) == 0)
-{
-lean_object* x_110; lean_object* x_111; lean_object* x_112; uint8_t x_113; lean_object* x_114;
-x_110 = lean_apply_2(x_4, x_1, x_108);
-x_111 = l_Lean_Parser_Term_suffices___elambda__1___closed__2;
-x_112 = l_Lean_Parser_ParserState_mkNode(x_110, x_111, x_107);
-x_113 = 1;
-x_114 = l_Lean_Parser_mergeOrElseErrors(x_112, x_99, x_48, x_113);
-lean_dec(x_48);
-return x_114;
-}
-else
-{
-lean_object* x_115; lean_object* x_116; uint8_t x_117; lean_object* x_118;
-lean_dec(x_109);
-lean_dec(x_4);
-lean_dec(x_1);
-x_115 = l_Lean_Parser_Term_suffices___elambda__1___closed__2;
-x_116 = l_Lean_Parser_ParserState_mkNode(x_108, x_115, x_107);
-x_117 = 1;
-x_118 = l_Lean_Parser_mergeOrElseErrors(x_116, x_99, x_48, x_117);
-lean_dec(x_48);
-return x_118;
-}
-}
-}
-else
-{
-uint8_t x_145; lean_object* x_146;
-lean_dec(x_105);
-lean_dec(x_4);
-lean_dec(x_1);
-x_145 = 1;
-x_146 = l_Lean_Parser_mergeOrElseErrors(x_104, x_99, x_48, x_145);
-lean_dec(x_48);
-return x_146;
-}
-}
-}
-}
+x_51 = l_Lean_Parser_Term_suffices___elambda__1___closed__10;
+x_52 = 1;
+x_53 = l_Lean_Parser_orelseFnCore(x_6, x_51, x_52, x_1, x_2);
+return x_53;
}
}
}
@@ -23227,7 +17079,7 @@ static lean_object* _init_l_Lean_Parser_Term_suffices___closed__3() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
-x_1 = l_Lean_Parser_Term_have___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Term_have___elambda__1___closed__8;
x_2 = lean_ctor_get(x_1, 0);
lean_inc(x_2);
x_3 = l_Lean_Parser_Term_suffices___closed__2;
@@ -23295,6 +17147,15 @@ x_1 = l_Lean_Parser_Term_suffices___closed__8;
return x_1;
}
}
+lean_object* l_Lean_Parser_Term_suffices___elambda__1___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+lean_object* x_4;
+x_4 = l_Lean_Parser_Term_suffices___elambda__1___lambda__1(x_1, x_2, x_3);
+lean_dec(x_1);
+return x_4;
+}
+}
lean_object* l___regBuiltinParser_Lean_Parser_Term_suffices(lean_object* x_1) {
_start:
{
@@ -23619,20 +17480,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_show___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_show___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_show___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_show___elambda__1___closed__8() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_show___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_2 = l_Lean_Parser_Term_haveDecl___elambda__1___closed__1;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -23640,11 +17503,55 @@ static lean_object* _init_l_Lean_Parser_Term_show___elambda__1___closed__9() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Term_show___elambda__1___closed__7;
x_2 = l_Lean_Parser_Term_show___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_show___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_show___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_show___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_show___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_byTactic___elambda__1___closed__9;
+x_2 = l_Lean_Parser_Term_show___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_show___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_show___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_show___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_show___elambda__1___closed__12;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -23668,161 +17575,56 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_40; lean_object* x_41; lean_object* x_42;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_40 = lean_ctor_get(x_7, 1);
-lean_inc(x_40);
+x_11 = l_Lean_Parser_Term_show___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Term_show___elambda__1___closed__13;
lean_inc(x_1);
-x_41 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_42 = lean_ctor_get(x_41, 3);
-lean_inc(x_42);
-if (lean_obj_tag(x_42) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_43; lean_object* x_44;
-x_43 = lean_ctor_get(x_41, 0);
-lean_inc(x_43);
-x_44 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_43);
-lean_dec(x_43);
-if (lean_obj_tag(x_44) == 2)
+lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
+x_15 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_16 = lean_unsigned_to_nat(0u);
+lean_inc(x_1);
+x_17 = l_Lean_Parser_categoryParser___elambda__1(x_15, x_16, x_1, x_13);
+x_18 = lean_ctor_get(x_17, 3);
+lean_inc(x_18);
+if (lean_obj_tag(x_18) == 0)
{
-lean_object* x_45; lean_object* x_46; uint8_t x_47;
-x_45 = lean_ctor_get(x_44, 1);
-lean_inc(x_45);
-lean_dec(x_44);
-x_46 = l_Lean_Parser_Term_show___elambda__1___closed__6;
-x_47 = lean_string_dec_eq(x_45, x_46);
-lean_dec(x_45);
-if (x_47 == 0)
-{
-lean_object* x_48; lean_object* x_49;
-x_48 = l_Lean_Parser_Term_show___elambda__1___closed__9;
-x_49 = l_Lean_Parser_ParserState_mkErrorsAt(x_41, x_48, x_40);
-x_11 = x_49;
-goto block_39;
+lean_object* x_19; lean_object* x_20; uint8_t x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
+x_19 = l_Lean_Parser_Term_fromTerm___closed__6;
+x_20 = l_Lean_Parser_Term_byTactic___closed__6;
+x_21 = 1;
+x_22 = l_Lean_Parser_orelseFnCore(x_19, x_20, x_21, x_1, x_17);
+x_23 = l_Lean_Parser_Term_show___elambda__1___closed__2;
+x_24 = l_Lean_Parser_ParserState_mkNode(x_22, x_23, x_10);
+return x_24;
}
else
{
-lean_dec(x_40);
-x_11 = x_41;
-goto block_39;
-}
-}
-else
-{
-lean_object* x_50; lean_object* x_51;
-lean_dec(x_44);
-x_50 = l_Lean_Parser_Term_show___elambda__1___closed__9;
-x_51 = l_Lean_Parser_ParserState_mkErrorsAt(x_41, x_50, x_40);
-x_11 = x_51;
-goto block_39;
-}
-}
-else
-{
-lean_object* x_52; lean_object* x_53;
-lean_dec(x_42);
-x_52 = l_Lean_Parser_Term_show___elambda__1___closed__9;
-x_53 = l_Lean_Parser_ParserState_mkErrorsAt(x_41, x_52, x_40);
-x_11 = x_53;
-goto block_39;
-}
-block_39:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
-x_13 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_14 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_15 = l_Lean_Parser_categoryParser___elambda__1(x_13, x_14, x_1, x_11);
-x_16 = lean_ctor_get(x_15, 3);
-lean_inc(x_16);
-if (lean_obj_tag(x_16) == 0)
-{
-lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
-x_17 = lean_ctor_get(x_15, 0);
-lean_inc(x_17);
-x_18 = lean_array_get_size(x_17);
-lean_dec(x_17);
-x_19 = lean_ctor_get(x_15, 1);
-lean_inc(x_19);
-lean_inc(x_1);
-x_20 = l_Lean_Parser_Term_fromTerm___elambda__1(x_1, x_15);
-x_21 = lean_ctor_get(x_20, 3);
-lean_inc(x_21);
-if (lean_obj_tag(x_21) == 0)
-{
-lean_object* x_22; lean_object* x_23;
-lean_dec(x_19);
+lean_object* x_25; lean_object* x_26;
lean_dec(x_18);
lean_dec(x_1);
-x_22 = l_Lean_Parser_Term_show___elambda__1___closed__2;
-x_23 = l_Lean_Parser_ParserState_mkNode(x_20, x_22, x_10);
-return x_23;
+x_25 = l_Lean_Parser_Term_show___elambda__1___closed__2;
+x_26 = l_Lean_Parser_ParserState_mkNode(x_17, x_25, x_10);
+return x_26;
+}
}
else
{
-lean_object* x_24; lean_object* x_25; uint8_t x_26;
-x_24 = lean_ctor_get(x_21, 0);
-lean_inc(x_24);
-lean_dec(x_21);
-x_25 = lean_ctor_get(x_20, 1);
-lean_inc(x_25);
-x_26 = lean_nat_dec_eq(x_25, x_19);
-lean_dec(x_25);
-if (x_26 == 0)
-{
lean_object* x_27; lean_object* x_28;
-lean_dec(x_24);
-lean_dec(x_19);
-lean_dec(x_18);
+lean_dec(x_14);
lean_dec(x_1);
x_27 = l_Lean_Parser_Term_show___elambda__1___closed__2;
-x_28 = l_Lean_Parser_ParserState_mkNode(x_20, x_27, x_10);
+x_28 = l_Lean_Parser_ParserState_mkNode(x_13, x_27, x_10);
return x_28;
}
-else
-{
-lean_object* x_29; lean_object* x_30; uint8_t x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34;
-lean_inc(x_19);
-x_29 = l_Lean_Parser_ParserState_restore(x_20, x_18, x_19);
-lean_dec(x_18);
-x_30 = l_Lean_Parser_Term_byTactic___elambda__1(x_1, x_29);
-x_31 = 1;
-x_32 = l_Lean_Parser_mergeOrElseErrors(x_30, x_24, x_19, x_31);
-lean_dec(x_19);
-x_33 = l_Lean_Parser_Term_show___elambda__1___closed__2;
-x_34 = l_Lean_Parser_ParserState_mkNode(x_32, x_33, x_10);
-return x_34;
-}
-}
-}
-else
-{
-lean_object* x_35; lean_object* x_36;
-lean_dec(x_16);
-lean_dec(x_1);
-x_35 = l_Lean_Parser_Term_show___elambda__1___closed__2;
-x_36 = l_Lean_Parser_ParserState_mkNode(x_15, x_35, x_10);
-return x_36;
-}
-}
-else
-{
-lean_object* x_37; lean_object* x_38;
-lean_dec(x_12);
-lean_dec(x_1);
-x_37 = l_Lean_Parser_Term_show___elambda__1___closed__2;
-x_38 = l_Lean_Parser_ParserState_mkNode(x_11, x_37, x_10);
-return x_38;
-}
-}
}
else
{
@@ -23833,236 +17635,11 @@ return x_7;
}
else
{
-lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58;
-x_54 = lean_ctor_get(x_2, 0);
-lean_inc(x_54);
-x_55 = lean_array_get_size(x_54);
-lean_dec(x_54);
-x_56 = lean_ctor_get(x_2, 1);
-lean_inc(x_56);
-lean_inc(x_1);
-x_57 = lean_apply_2(x_4, x_1, x_2);
-x_58 = lean_ctor_get(x_57, 3);
-lean_inc(x_58);
-if (lean_obj_tag(x_58) == 0)
-{
-lean_dec(x_56);
-lean_dec(x_55);
-lean_dec(x_1);
-return x_57;
-}
-else
-{
-lean_object* x_59; lean_object* x_60; uint8_t x_61;
-x_59 = lean_ctor_get(x_58, 0);
-lean_inc(x_59);
-lean_dec(x_58);
-x_60 = lean_ctor_get(x_57, 1);
-lean_inc(x_60);
-x_61 = lean_nat_dec_eq(x_60, x_56);
-lean_dec(x_60);
-if (x_61 == 0)
-{
-lean_dec(x_59);
-lean_dec(x_56);
-lean_dec(x_55);
-lean_dec(x_1);
-return x_57;
-}
-else
-{
-lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65;
-lean_inc(x_56);
-x_62 = l_Lean_Parser_ParserState_restore(x_57, x_55, x_56);
-lean_dec(x_55);
-x_63 = l_Lean_Parser_leadPrec;
-x_64 = l_Lean_Parser_checkPrecFn(x_63, x_1, x_62);
-x_65 = lean_ctor_get(x_64, 3);
-lean_inc(x_65);
-if (lean_obj_tag(x_65) == 0)
-{
-lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_106; lean_object* x_107; lean_object* x_108;
-x_66 = lean_ctor_get(x_64, 0);
-lean_inc(x_66);
-x_67 = lean_array_get_size(x_66);
-lean_dec(x_66);
-x_106 = lean_ctor_get(x_64, 1);
-lean_inc(x_106);
-lean_inc(x_1);
-x_107 = l_Lean_Parser_tokenFn(x_1, x_64);
-x_108 = lean_ctor_get(x_107, 3);
-lean_inc(x_108);
-if (lean_obj_tag(x_108) == 0)
-{
-lean_object* x_109; lean_object* x_110;
-x_109 = lean_ctor_get(x_107, 0);
-lean_inc(x_109);
-x_110 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_109);
-lean_dec(x_109);
-if (lean_obj_tag(x_110) == 2)
-{
-lean_object* x_111; lean_object* x_112; uint8_t x_113;
-x_111 = lean_ctor_get(x_110, 1);
-lean_inc(x_111);
-lean_dec(x_110);
-x_112 = l_Lean_Parser_Term_show___elambda__1___closed__6;
-x_113 = lean_string_dec_eq(x_111, x_112);
-lean_dec(x_111);
-if (x_113 == 0)
-{
-lean_object* x_114; lean_object* x_115;
-x_114 = l_Lean_Parser_Term_show___elambda__1___closed__9;
-x_115 = l_Lean_Parser_ParserState_mkErrorsAt(x_107, x_114, x_106);
-x_68 = x_115;
-goto block_105;
-}
-else
-{
-lean_dec(x_106);
-x_68 = x_107;
-goto block_105;
-}
-}
-else
-{
-lean_object* x_116; lean_object* x_117;
-lean_dec(x_110);
-x_116 = l_Lean_Parser_Term_show___elambda__1___closed__9;
-x_117 = l_Lean_Parser_ParserState_mkErrorsAt(x_107, x_116, x_106);
-x_68 = x_117;
-goto block_105;
-}
-}
-else
-{
-lean_object* x_118; lean_object* x_119;
-lean_dec(x_108);
-x_118 = l_Lean_Parser_Term_show___elambda__1___closed__9;
-x_119 = l_Lean_Parser_ParserState_mkErrorsAt(x_107, x_118, x_106);
-x_68 = x_119;
-goto block_105;
-}
-block_105:
-{
-lean_object* x_69;
-x_69 = lean_ctor_get(x_68, 3);
-lean_inc(x_69);
-if (lean_obj_tag(x_69) == 0)
-{
-lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73;
-x_70 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_71 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_72 = l_Lean_Parser_categoryParser___elambda__1(x_70, x_71, x_1, x_68);
-x_73 = lean_ctor_get(x_72, 3);
-lean_inc(x_73);
-if (lean_obj_tag(x_73) == 0)
-{
-lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78;
-x_74 = lean_ctor_get(x_72, 0);
-lean_inc(x_74);
-x_75 = lean_array_get_size(x_74);
-lean_dec(x_74);
-x_76 = lean_ctor_get(x_72, 1);
-lean_inc(x_76);
-lean_inc(x_1);
-x_77 = l_Lean_Parser_Term_fromTerm___elambda__1(x_1, x_72);
-x_78 = lean_ctor_get(x_77, 3);
-lean_inc(x_78);
-if (lean_obj_tag(x_78) == 0)
-{
-lean_object* x_79; lean_object* x_80; uint8_t x_81; lean_object* x_82;
-lean_dec(x_76);
-lean_dec(x_75);
-lean_dec(x_1);
-x_79 = l_Lean_Parser_Term_show___elambda__1___closed__2;
-x_80 = l_Lean_Parser_ParserState_mkNode(x_77, x_79, x_67);
-x_81 = 1;
-x_82 = l_Lean_Parser_mergeOrElseErrors(x_80, x_59, x_56, x_81);
-lean_dec(x_56);
-return x_82;
-}
-else
-{
-lean_object* x_83; lean_object* x_84; uint8_t x_85;
-x_83 = lean_ctor_get(x_78, 0);
-lean_inc(x_83);
-lean_dec(x_78);
-x_84 = lean_ctor_get(x_77, 1);
-lean_inc(x_84);
-x_85 = lean_nat_dec_eq(x_84, x_76);
-lean_dec(x_84);
-if (x_85 == 0)
-{
-lean_object* x_86; lean_object* x_87; uint8_t x_88; lean_object* x_89;
-lean_dec(x_83);
-lean_dec(x_76);
-lean_dec(x_75);
-lean_dec(x_1);
-x_86 = l_Lean_Parser_Term_show___elambda__1___closed__2;
-x_87 = l_Lean_Parser_ParserState_mkNode(x_77, x_86, x_67);
-x_88 = 1;
-x_89 = l_Lean_Parser_mergeOrElseErrors(x_87, x_59, x_56, x_88);
-lean_dec(x_56);
-return x_89;
-}
-else
-{
-lean_object* x_90; lean_object* x_91; uint8_t x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96;
-lean_inc(x_76);
-x_90 = l_Lean_Parser_ParserState_restore(x_77, x_75, x_76);
-lean_dec(x_75);
-x_91 = l_Lean_Parser_Term_byTactic___elambda__1(x_1, x_90);
-x_92 = 1;
-x_93 = l_Lean_Parser_mergeOrElseErrors(x_91, x_83, x_76, x_92);
-lean_dec(x_76);
-x_94 = l_Lean_Parser_Term_show___elambda__1___closed__2;
-x_95 = l_Lean_Parser_ParserState_mkNode(x_93, x_94, x_67);
-x_96 = l_Lean_Parser_mergeOrElseErrors(x_95, x_59, x_56, x_92);
-lean_dec(x_56);
-return x_96;
-}
-}
-}
-else
-{
-lean_object* x_97; lean_object* x_98; uint8_t x_99; lean_object* x_100;
-lean_dec(x_73);
-lean_dec(x_1);
-x_97 = l_Lean_Parser_Term_show___elambda__1___closed__2;
-x_98 = l_Lean_Parser_ParserState_mkNode(x_72, x_97, x_67);
-x_99 = 1;
-x_100 = l_Lean_Parser_mergeOrElseErrors(x_98, x_59, x_56, x_99);
-lean_dec(x_56);
-return x_100;
-}
-}
-else
-{
-lean_object* x_101; lean_object* x_102; uint8_t x_103; lean_object* x_104;
-lean_dec(x_69);
-lean_dec(x_1);
-x_101 = l_Lean_Parser_Term_show___elambda__1___closed__2;
-x_102 = l_Lean_Parser_ParserState_mkNode(x_68, x_101, x_67);
-x_103 = 1;
-x_104 = l_Lean_Parser_mergeOrElseErrors(x_102, x_59, x_56, x_103);
-lean_dec(x_56);
-return x_104;
-}
-}
-}
-else
-{
-uint8_t x_120; lean_object* x_121;
-lean_dec(x_65);
-lean_dec(x_1);
-x_120 = 1;
-x_121 = l_Lean_Parser_mergeOrElseErrors(x_64, x_59, x_56, x_120);
-lean_dec(x_56);
-return x_121;
-}
-}
-}
+lean_object* x_29; uint8_t x_30; lean_object* x_31;
+x_29 = l_Lean_Parser_Term_show___elambda__1___closed__11;
+x_30 = 1;
+x_31 = l_Lean_Parser_orelseFnCore(x_4, x_29, x_30, x_1, x_2);
+return x_31;
}
}
}
@@ -24394,40 +17971,40 @@ static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef___elambda__1___c
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_List_repr___rarg___closed__3;
-x_2 = l_String_trim(x_1);
+x_1 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_List_repr___rarg___closed__3;
+x_2 = l_String_trim(x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__8() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
+lean_object* x_1; lean_object* x_2;
x_1 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
x_2 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -24435,31 +18012,75 @@ static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef___elambda__1___c
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Char_HasRepr___closed__1;
x_2 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__5;
x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__11() {
+static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__14() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__10;
+x_1 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__13;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12() {
+static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__15() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__11;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__7;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__16() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__15;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -24483,164 +18104,54 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_44; lean_object* x_45; lean_object* x_46;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_44 = lean_ctor_get(x_7, 1);
-lean_inc(x_44);
+x_11 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__5;
+x_12 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__14;
lean_inc(x_1);
-x_45 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_46 = lean_ctor_get(x_45, 3);
-lean_inc(x_46);
-if (lean_obj_tag(x_46) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_47; lean_object* x_48;
-x_47 = lean_ctor_get(x_45, 0);
-lean_inc(x_47);
-x_48 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_47);
-lean_dec(x_47);
-if (lean_obj_tag(x_48) == 2)
-{
-lean_object* x_49; lean_object* x_50; uint8_t x_51;
-x_49 = lean_ctor_get(x_48, 1);
-lean_inc(x_49);
-lean_dec(x_48);
-x_50 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__5;
-x_51 = lean_string_dec_eq(x_49, x_50);
-lean_dec(x_49);
-if (x_51 == 0)
-{
-lean_object* x_52; lean_object* x_53;
-x_52 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-x_53 = l_Lean_Parser_ParserState_mkErrorsAt(x_45, x_52, x_44);
-x_11 = x_53;
-goto block_43;
-}
-else
-{
-lean_dec(x_44);
-x_11 = x_45;
-goto block_43;
-}
-}
-else
-{
-lean_object* x_54; lean_object* x_55;
-lean_dec(x_48);
-x_54 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-x_55 = l_Lean_Parser_ParserState_mkErrorsAt(x_45, x_54, x_44);
-x_11 = x_55;
-goto block_43;
-}
-}
-else
-{
-lean_object* x_56; lean_object* x_57;
-lean_dec(x_46);
-x_56 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-x_57 = l_Lean_Parser_ParserState_mkErrorsAt(x_45, x_56, x_44);
-x_11 = x_57;
-goto block_43;
-}
-block_43:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
-x_13 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_14 = lean_unsigned_to_nat(0u);
+lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
+x_15 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_16 = lean_unsigned_to_nat(0u);
lean_inc(x_1);
-x_15 = l_Lean_Parser_categoryParser___elambda__1(x_13, x_14, x_1, x_11);
-x_16 = lean_ctor_get(x_15, 3);
-lean_inc(x_16);
-if (lean_obj_tag(x_16) == 0)
+x_17 = l_Lean_Parser_categoryParser___elambda__1(x_15, x_16, x_1, x_13);
+x_18 = lean_ctor_get(x_17, 3);
+lean_inc(x_18);
+if (lean_obj_tag(x_18) == 0)
{
-lean_object* x_17; lean_object* x_18; lean_object* x_19;
-x_17 = lean_ctor_get(x_15, 1);
-lean_inc(x_17);
-x_18 = l_Lean_Parser_tokenFn(x_1, x_15);
-x_19 = lean_ctor_get(x_18, 3);
-lean_inc(x_19);
-if (lean_obj_tag(x_19) == 0)
-{
-lean_object* x_20; lean_object* x_21;
-x_20 = lean_ctor_get(x_18, 0);
-lean_inc(x_20);
-x_21 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_20);
-lean_dec(x_20);
-if (lean_obj_tag(x_21) == 2)
-{
-lean_object* x_22; lean_object* x_23; uint8_t x_24;
-x_22 = lean_ctor_get(x_21, 1);
-lean_inc(x_22);
-lean_dec(x_21);
-x_23 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__6;
-x_24 = lean_string_dec_eq(x_22, x_23);
-lean_dec(x_22);
-if (x_24 == 0)
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
-x_25 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_26 = l_Lean_Parser_ParserState_mkErrorsAt(x_18, x_25, x_17);
-x_27 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__2;
-x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_10);
-return x_28;
+lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23;
+x_19 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__7;
+x_20 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__16;
+x_21 = l_Lean_Parser_symbolFnAux(x_19, x_20, x_1, x_17);
+x_22 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__2;
+x_23 = l_Lean_Parser_ParserState_mkNode(x_21, x_22, x_10);
+return x_23;
}
else
{
-lean_object* x_29; lean_object* x_30;
-lean_dec(x_17);
-x_29 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__2;
-x_30 = l_Lean_Parser_ParserState_mkNode(x_18, x_29, x_10);
-return x_30;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34;
-lean_dec(x_21);
-x_31 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_18, x_31, x_17);
-x_33 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__2;
-x_34 = l_Lean_Parser_ParserState_mkNode(x_32, x_33, x_10);
-return x_34;
-}
-}
-else
-{
-lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38;
-lean_dec(x_19);
-x_35 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_36 = l_Lean_Parser_ParserState_mkErrorsAt(x_18, x_35, x_17);
-x_37 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__2;
-x_38 = l_Lean_Parser_ParserState_mkNode(x_36, x_37, x_10);
-return x_38;
-}
-}
-else
-{
-lean_object* x_39; lean_object* x_40;
-lean_dec(x_16);
+lean_object* x_24; lean_object* x_25;
+lean_dec(x_18);
lean_dec(x_1);
-x_39 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__2;
-x_40 = l_Lean_Parser_ParserState_mkNode(x_15, x_39, x_10);
-return x_40;
+x_24 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__2;
+x_25 = l_Lean_Parser_ParserState_mkNode(x_17, x_24, x_10);
+return x_25;
}
}
else
{
-lean_object* x_41; lean_object* x_42;
-lean_dec(x_12);
+lean_object* x_26; lean_object* x_27;
+lean_dec(x_14);
lean_dec(x_1);
-x_41 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__2;
-x_42 = l_Lean_Parser_ParserState_mkNode(x_11, x_41, x_10);
-return x_42;
-}
+x_26 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__2;
+x_27 = l_Lean_Parser_ParserState_mkNode(x_13, x_26, x_10);
+return x_27;
}
}
else
@@ -24652,244 +18163,11 @@ return x_7;
}
else
{
-lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62;
-x_58 = lean_ctor_get(x_2, 0);
-lean_inc(x_58);
-x_59 = lean_array_get_size(x_58);
-lean_dec(x_58);
-x_60 = lean_ctor_get(x_2, 1);
-lean_inc(x_60);
-lean_inc(x_1);
-x_61 = lean_apply_2(x_4, x_1, x_2);
-x_62 = lean_ctor_get(x_61, 3);
-lean_inc(x_62);
-if (lean_obj_tag(x_62) == 0)
-{
-lean_dec(x_60);
-lean_dec(x_59);
-lean_dec(x_1);
-return x_61;
-}
-else
-{
-lean_object* x_63; lean_object* x_64; uint8_t x_65;
-x_63 = lean_ctor_get(x_62, 0);
-lean_inc(x_63);
-lean_dec(x_62);
-x_64 = lean_ctor_get(x_61, 1);
-lean_inc(x_64);
-x_65 = lean_nat_dec_eq(x_64, x_60);
-lean_dec(x_64);
-if (x_65 == 0)
-{
-lean_dec(x_63);
-lean_dec(x_60);
-lean_dec(x_59);
-lean_dec(x_1);
-return x_61;
-}
-else
-{
-lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69;
-lean_inc(x_60);
-x_66 = l_Lean_Parser_ParserState_restore(x_61, x_59, x_60);
-lean_dec(x_59);
-x_67 = lean_unsigned_to_nat(1024u);
-x_68 = l_Lean_Parser_checkPrecFn(x_67, x_1, x_66);
-x_69 = lean_ctor_get(x_68, 3);
-lean_inc(x_69);
-if (lean_obj_tag(x_69) == 0)
-{
-lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_117; lean_object* x_118; lean_object* x_119;
-x_70 = lean_ctor_get(x_68, 0);
-lean_inc(x_70);
-x_71 = lean_array_get_size(x_70);
-lean_dec(x_70);
-x_117 = lean_ctor_get(x_68, 1);
-lean_inc(x_117);
-lean_inc(x_1);
-x_118 = l_Lean_Parser_tokenFn(x_1, x_68);
-x_119 = lean_ctor_get(x_118, 3);
-lean_inc(x_119);
-if (lean_obj_tag(x_119) == 0)
-{
-lean_object* x_120; lean_object* x_121;
-x_120 = lean_ctor_get(x_118, 0);
-lean_inc(x_120);
-x_121 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_120);
-lean_dec(x_120);
-if (lean_obj_tag(x_121) == 2)
-{
-lean_object* x_122; lean_object* x_123; uint8_t x_124;
-x_122 = lean_ctor_get(x_121, 1);
-lean_inc(x_122);
-lean_dec(x_121);
-x_123 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__5;
-x_124 = lean_string_dec_eq(x_122, x_123);
-lean_dec(x_122);
-if (x_124 == 0)
-{
-lean_object* x_125; lean_object* x_126;
-x_125 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-x_126 = l_Lean_Parser_ParserState_mkErrorsAt(x_118, x_125, x_117);
-x_72 = x_126;
-goto block_116;
-}
-else
-{
-lean_dec(x_117);
-x_72 = x_118;
-goto block_116;
-}
-}
-else
-{
-lean_object* x_127; lean_object* x_128;
-lean_dec(x_121);
-x_127 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-x_128 = l_Lean_Parser_ParserState_mkErrorsAt(x_118, x_127, x_117);
-x_72 = x_128;
-goto block_116;
-}
-}
-else
-{
-lean_object* x_129; lean_object* x_130;
-lean_dec(x_119);
-x_129 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-x_130 = l_Lean_Parser_ParserState_mkErrorsAt(x_118, x_129, x_117);
-x_72 = x_130;
-goto block_116;
-}
-block_116:
-{
-lean_object* x_73;
-x_73 = lean_ctor_get(x_72, 3);
-lean_inc(x_73);
-if (lean_obj_tag(x_73) == 0)
-{
-lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77;
-x_74 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_75 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_76 = l_Lean_Parser_categoryParser___elambda__1(x_74, x_75, x_1, x_72);
-x_77 = lean_ctor_get(x_76, 3);
-lean_inc(x_77);
-if (lean_obj_tag(x_77) == 0)
-{
-lean_object* x_78; lean_object* x_79; lean_object* x_80;
-x_78 = lean_ctor_get(x_76, 1);
-lean_inc(x_78);
-x_79 = l_Lean_Parser_tokenFn(x_1, x_76);
-x_80 = lean_ctor_get(x_79, 3);
-lean_inc(x_80);
-if (lean_obj_tag(x_80) == 0)
-{
-lean_object* x_81; lean_object* x_82;
-x_81 = lean_ctor_get(x_79, 0);
-lean_inc(x_81);
-x_82 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_81);
-lean_dec(x_81);
-if (lean_obj_tag(x_82) == 2)
-{
-lean_object* x_83; lean_object* x_84; uint8_t x_85;
-x_83 = lean_ctor_get(x_82, 1);
-lean_inc(x_83);
-lean_dec(x_82);
-x_84 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__6;
-x_85 = lean_string_dec_eq(x_83, x_84);
-lean_dec(x_83);
-if (x_85 == 0)
-{
-lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; uint8_t x_90; lean_object* x_91;
-x_86 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_87 = l_Lean_Parser_ParserState_mkErrorsAt(x_79, x_86, x_78);
-x_88 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__2;
-x_89 = l_Lean_Parser_ParserState_mkNode(x_87, x_88, x_71);
-x_90 = 1;
-x_91 = l_Lean_Parser_mergeOrElseErrors(x_89, x_63, x_60, x_90);
-lean_dec(x_60);
-return x_91;
-}
-else
-{
-lean_object* x_92; lean_object* x_93; uint8_t x_94; lean_object* x_95;
-lean_dec(x_78);
-x_92 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__2;
-x_93 = l_Lean_Parser_ParserState_mkNode(x_79, x_92, x_71);
-x_94 = 1;
-x_95 = l_Lean_Parser_mergeOrElseErrors(x_93, x_63, x_60, x_94);
-lean_dec(x_60);
-return x_95;
-}
-}
-else
-{
-lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; uint8_t x_100; lean_object* x_101;
-lean_dec(x_82);
-x_96 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_97 = l_Lean_Parser_ParserState_mkErrorsAt(x_79, x_96, x_78);
-x_98 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__2;
-x_99 = l_Lean_Parser_ParserState_mkNode(x_97, x_98, x_71);
-x_100 = 1;
-x_101 = l_Lean_Parser_mergeOrElseErrors(x_99, x_63, x_60, x_100);
-lean_dec(x_60);
-return x_101;
-}
-}
-else
-{
-lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; uint8_t x_106; lean_object* x_107;
-lean_dec(x_80);
-x_102 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_103 = l_Lean_Parser_ParserState_mkErrorsAt(x_79, x_102, x_78);
-x_104 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__2;
-x_105 = l_Lean_Parser_ParserState_mkNode(x_103, x_104, x_71);
-x_106 = 1;
-x_107 = l_Lean_Parser_mergeOrElseErrors(x_105, x_63, x_60, x_106);
-lean_dec(x_60);
-return x_107;
-}
-}
-else
-{
-lean_object* x_108; lean_object* x_109; uint8_t x_110; lean_object* x_111;
-lean_dec(x_77);
-lean_dec(x_1);
-x_108 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__2;
-x_109 = l_Lean_Parser_ParserState_mkNode(x_76, x_108, x_71);
-x_110 = 1;
-x_111 = l_Lean_Parser_mergeOrElseErrors(x_109, x_63, x_60, x_110);
-lean_dec(x_60);
-return x_111;
-}
-}
-else
-{
-lean_object* x_112; lean_object* x_113; uint8_t x_114; lean_object* x_115;
-lean_dec(x_73);
-lean_dec(x_1);
-x_112 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__2;
-x_113 = l_Lean_Parser_ParserState_mkNode(x_72, x_112, x_71);
-x_114 = 1;
-x_115 = l_Lean_Parser_mergeOrElseErrors(x_113, x_63, x_60, x_114);
-lean_dec(x_60);
-return x_115;
-}
-}
-}
-else
-{
-uint8_t x_131; lean_object* x_132;
-lean_dec(x_69);
-lean_dec(x_1);
-x_131 = 1;
-x_132 = l_Lean_Parser_mergeOrElseErrors(x_68, x_63, x_60, x_131);
-lean_dec(x_60);
-return x_132;
-}
-}
-}
+lean_object* x_28; uint8_t x_29; lean_object* x_30;
+x_28 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
+x_29 = 1;
+x_30 = l_Lean_Parser_orelseFnCore(x_4, x_28, x_29, x_1, x_2);
+return x_30;
}
}
}
@@ -24906,7 +18184,7 @@ static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef___closed__2() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__6;
+x_1 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__7;
x_2 = l_Lean_Parser_symbolInfo(x_1);
return x_2;
}
@@ -24993,7 +18271,19 @@ x_1 = l_Lean_Parser_Term_structInstArrayRef___closed__9;
return x_1;
}
}
-static lean_object* _init_l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_structInstLVal___elambda__1___spec__1___closed__1() {
+static lean_object* _init_l_Lean_Parser_Term_structInstLVal___elambda__1___closed__1() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_fieldIdx___closed__6;
+x_2 = l_Lean_Parser_Term_structInstArrayRef___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_structInstLVal___elambda__1___closed__2() {
_start:
{
lean_object* x_1; lean_object* x_2;
@@ -25002,522 +18292,93 @@ x_2 = l_String_trim(x_1);
return x_2;
}
}
-static lean_object* _init_l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_structInstLVal___elambda__1___spec__1___closed__2() {
+static lean_object* _init_l_Lean_Parser_Term_structInstLVal___elambda__1___closed__3() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_structInstLVal___elambda__1___closed__2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_structInstLVal___elambda__1___closed__4() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_structInstLVal___elambda__1___spec__1___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Term_ident___closed__1;
+x_2 = l_Lean_Parser_fieldIdx___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_structInstLVal___elambda__1___spec__1___closed__3() {
+static lean_object* _init_l_Lean_Parser_Term_structInstLVal___elambda__1___closed__5() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_structInstLVal___elambda__1___spec__1___closed__2;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Term_structInstLVal___elambda__1___closed__3;
+x_2 = l_Lean_Parser_Term_structInstLVal___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_structInstLVal___elambda__1___spec__1___closed__4() {
+static lean_object* _init_l_Lean_Parser_Term_structInstLVal___elambda__1___closed__6() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_structInstLVal___elambda__1___spec__1___closed__3;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_1 = l_Lean_nullKind;
+x_2 = l_Lean_Parser_Term_structInstLVal___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_structInstLVal___elambda__1___spec__1(lean_object* x_1, lean_object* x_2) {
+static lean_object* _init_l_Lean_Parser_Term_structInstLVal___elambda__1___closed__7() {
_start:
{
-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_19; lean_object* x_31; lean_object* x_63; lean_object* x_64;
-x_3 = l_Lean_Parser_fieldIdx___closed__2;
-x_4 = lean_ctor_get(x_3, 1);
-lean_inc(x_4);
-x_5 = lean_ctor_get(x_2, 0);
-lean_inc(x_5);
-x_6 = lean_array_get_size(x_5);
-lean_dec(x_5);
-x_7 = lean_ctor_get(x_2, 1);
-lean_inc(x_7);
-lean_inc(x_1);
-x_63 = l_Lean_Parser_tokenFn(x_1, x_2);
-x_64 = lean_ctor_get(x_63, 3);
-lean_inc(x_64);
-if (lean_obj_tag(x_64) == 0)
-{
-lean_object* x_65; lean_object* x_66;
-x_65 = lean_ctor_get(x_63, 0);
-lean_inc(x_65);
-x_66 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_65);
-lean_dec(x_65);
-if (lean_obj_tag(x_66) == 2)
-{
-lean_object* x_67; lean_object* x_68; uint8_t x_69;
-x_67 = lean_ctor_get(x_66, 1);
-lean_inc(x_67);
-lean_dec(x_66);
-x_68 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_structInstLVal___elambda__1___spec__1___closed__1;
-x_69 = lean_string_dec_eq(x_67, x_68);
-lean_dec(x_67);
-if (x_69 == 0)
-{
-lean_object* x_70; lean_object* x_71;
-x_70 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_structInstLVal___elambda__1___spec__1___closed__4;
-lean_inc(x_7);
-x_71 = l_Lean_Parser_ParserState_mkErrorsAt(x_63, x_70, x_7);
-x_31 = x_71;
-goto block_62;
-}
-else
-{
-x_31 = x_63;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_72; lean_object* x_73;
-lean_dec(x_66);
-x_72 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_structInstLVal___elambda__1___spec__1___closed__4;
-lean_inc(x_7);
-x_73 = l_Lean_Parser_ParserState_mkErrorsAt(x_63, x_72, x_7);
-x_31 = x_73;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_74; lean_object* x_75;
-lean_dec(x_64);
-x_74 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_structInstLVal___elambda__1___spec__1___closed__4;
-lean_inc(x_7);
-x_75 = l_Lean_Parser_ParserState_mkErrorsAt(x_63, x_74, x_7);
-x_31 = x_75;
-goto block_62;
-}
-block_18:
-{
-lean_object* x_9;
-x_9 = lean_ctor_get(x_8, 3);
-lean_inc(x_9);
-if (lean_obj_tag(x_9) == 0)
-{
-lean_object* x_10; uint8_t x_11;
-lean_dec(x_6);
-x_10 = lean_ctor_get(x_8, 1);
-lean_inc(x_10);
-x_11 = lean_nat_dec_eq(x_7, x_10);
-lean_dec(x_10);
-lean_dec(x_7);
-if (x_11 == 0)
-{
-x_2 = x_8;
-goto _start;
-}
-else
-{
-lean_object* x_13; lean_object* x_14;
-lean_dec(x_1);
-x_13 = l_Lean_Parser_manyAux___main___closed__1;
-x_14 = l_Lean_Parser_ParserState_mkUnexpectedError(x_8, x_13);
-return x_14;
-}
-}
-else
-{
-lean_object* x_15; uint8_t x_16;
-lean_dec(x_9);
-lean_dec(x_1);
-x_15 = lean_ctor_get(x_8, 1);
-lean_inc(x_15);
-x_16 = lean_nat_dec_eq(x_7, x_15);
-lean_dec(x_15);
-if (x_16 == 0)
-{
-lean_dec(x_7);
-lean_dec(x_6);
-return x_8;
-}
-else
-{
-lean_object* x_17;
-x_17 = l_Lean_Parser_ParserState_restore(x_8, x_6, x_7);
-lean_dec(x_6);
-return x_17;
-}
-}
-}
-block_30:
-{
-lean_object* x_20; lean_object* x_21; lean_object* x_22;
-x_20 = l_Lean_nullKind;
-lean_inc(x_6);
-x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_6);
-x_22 = lean_ctor_get(x_21, 3);
-lean_inc(x_22);
-if (lean_obj_tag(x_22) == 0)
-{
-x_8 = x_21;
-goto block_18;
-}
-else
-{
-lean_object* x_23; lean_object* x_24; uint8_t x_25;
-x_23 = lean_ctor_get(x_22, 0);
-lean_inc(x_23);
-lean_dec(x_22);
-x_24 = lean_ctor_get(x_21, 1);
-lean_inc(x_24);
-x_25 = lean_nat_dec_eq(x_24, x_7);
-lean_dec(x_24);
-if (x_25 == 0)
-{
-lean_dec(x_23);
-x_8 = x_21;
-goto block_18;
-}
-else
-{
-lean_object* x_26; lean_object* x_27; uint8_t x_28; lean_object* x_29;
-lean_inc(x_7);
-x_26 = l_Lean_Parser_ParserState_restore(x_21, x_6, x_7);
-lean_inc(x_1);
-x_27 = l_Lean_Parser_Term_structInstArrayRef___elambda__1(x_1, x_26);
-x_28 = 1;
-x_29 = l_Lean_Parser_mergeOrElseErrors(x_27, x_23, x_7, x_28);
-x_8 = x_29;
-goto block_18;
-}
-}
-}
-block_62:
-{
-lean_object* x_32;
-x_32 = lean_ctor_get(x_31, 3);
-lean_inc(x_32);
-if (lean_obj_tag(x_32) == 0)
-{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_33 = lean_ctor_get(x_31, 0);
-lean_inc(x_33);
-x_34 = lean_array_get_size(x_33);
-lean_dec(x_33);
-x_35 = lean_ctor_get(x_31, 1);
-lean_inc(x_35);
-lean_inc(x_1);
-x_36 = l_Lean_Parser_Term_ident___elambda__1(x_1, x_31);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_4);
-x_19 = x_36;
-goto block_30;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_36, 1);
-lean_inc(x_39);
-x_40 = lean_nat_dec_eq(x_39, x_35);
-lean_dec(x_39);
-if (x_40 == 0)
-{
-lean_dec(x_38);
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_4);
-x_19 = x_36;
-goto block_30;
-}
-else
-{
-lean_object* x_41; uint8_t x_42;
-lean_inc(x_35);
-x_41 = l_Lean_Parser_ParserState_restore(x_36, x_34, x_35);
-lean_dec(x_34);
-lean_inc(x_41);
-lean_inc(x_1);
-x_42 = l_Lean_Parser_tryAnti(x_1, x_41);
-if (x_42 == 0)
-{
-lean_object* x_43; uint8_t x_44; lean_object* x_45;
-lean_dec(x_4);
-x_43 = l_Lean_Parser_fieldIdxFn(x_1, x_41);
-x_44 = 1;
-x_45 = l_Lean_Parser_mergeOrElseErrors(x_43, x_38, x_35, x_44);
-lean_dec(x_35);
-x_19 = x_45;
-goto block_30;
-}
-else
-{
-lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49;
-x_46 = lean_ctor_get(x_41, 0);
-lean_inc(x_46);
-x_47 = lean_array_get_size(x_46);
-lean_dec(x_46);
-lean_inc(x_1);
-x_48 = lean_apply_2(x_4, x_1, x_41);
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
-{
-uint8_t x_50; lean_object* x_51;
-lean_dec(x_47);
-x_50 = 1;
-x_51 = l_Lean_Parser_mergeOrElseErrors(x_48, x_38, x_35, x_50);
-lean_dec(x_35);
-x_19 = x_51;
-goto block_30;
-}
-else
-{
-lean_object* x_52; lean_object* x_53; uint8_t x_54;
-x_52 = lean_ctor_get(x_49, 0);
-lean_inc(x_52);
-lean_dec(x_49);
-x_53 = lean_ctor_get(x_48, 1);
-lean_inc(x_53);
-x_54 = lean_nat_dec_eq(x_53, x_35);
-lean_dec(x_53);
-if (x_54 == 0)
-{
-uint8_t x_55; lean_object* x_56;
-lean_dec(x_52);
-lean_dec(x_47);
-x_55 = 1;
-x_56 = l_Lean_Parser_mergeOrElseErrors(x_48, x_38, x_35, x_55);
-lean_dec(x_35);
-x_19 = x_56;
-goto block_30;
-}
-else
-{
-lean_object* x_57; lean_object* x_58; uint8_t x_59; lean_object* x_60; lean_object* x_61;
-lean_inc(x_35);
-x_57 = l_Lean_Parser_ParserState_restore(x_48, x_47, x_35);
-lean_dec(x_47);
-x_58 = l_Lean_Parser_fieldIdxFn(x_1, x_57);
-x_59 = 1;
-x_60 = l_Lean_Parser_mergeOrElseErrors(x_58, x_52, x_35, x_59);
-x_61 = l_Lean_Parser_mergeOrElseErrors(x_60, x_38, x_35, x_59);
-lean_dec(x_35);
-x_19 = x_61;
-goto block_30;
-}
-}
-}
-}
-}
-}
-else
-{
-lean_dec(x_32);
-lean_dec(x_4);
-x_19 = x_31;
-goto block_30;
-}
-}
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_structInstLVal___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Term_structInstArrayRef___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
}
}
lean_object* l_Lean_Parser_Term_structInstLVal___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_3 = l_Lean_Parser_fieldIdx___closed__2;
-x_4 = lean_ctor_get(x_3, 1);
-lean_inc(x_4);
-x_13 = lean_ctor_get(x_2, 0);
-lean_inc(x_13);
-x_14 = lean_array_get_size(x_13);
-lean_dec(x_13);
-x_15 = lean_ctor_get(x_2, 1);
-lean_inc(x_15);
+lean_object* x_3; lean_object* x_4; uint8_t x_5; lean_object* x_6; lean_object* x_7;
+x_3 = l_Lean_Parser_Term_ident___closed__1;
+x_4 = l_Lean_Parser_Term_structInstLVal___elambda__1___closed__1;
+x_5 = 1;
lean_inc(x_1);
-x_16 = l_Lean_Parser_Term_ident___elambda__1(x_1, x_2);
-x_17 = lean_ctor_get(x_16, 3);
-lean_inc(x_17);
-if (lean_obj_tag(x_17) == 0)
-{
-lean_dec(x_15);
-lean_dec(x_14);
-lean_dec(x_4);
-x_5 = x_16;
-goto block_12;
-}
-else
-{
-lean_object* x_18; lean_object* x_19; uint8_t x_20;
-x_18 = lean_ctor_get(x_17, 0);
-lean_inc(x_18);
-lean_dec(x_17);
-x_19 = lean_ctor_get(x_16, 1);
-lean_inc(x_19);
-x_20 = lean_nat_dec_eq(x_19, x_15);
-lean_dec(x_19);
-if (x_20 == 0)
-{
-lean_dec(x_18);
-lean_dec(x_15);
-lean_dec(x_14);
-lean_dec(x_4);
-x_5 = x_16;
-goto block_12;
-}
-else
-{
-lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; uint8_t x_39;
-lean_inc(x_15);
-x_21 = l_Lean_Parser_ParserState_restore(x_16, x_14, x_15);
-lean_dec(x_14);
-x_22 = lean_ctor_get(x_21, 0);
-lean_inc(x_22);
-x_23 = lean_array_get_size(x_22);
-lean_dec(x_22);
-lean_inc(x_21);
-lean_inc(x_1);
-x_39 = l_Lean_Parser_tryAnti(x_1, x_21);
-if (x_39 == 0)
-{
-lean_object* x_40;
-lean_dec(x_4);
-x_40 = l_Lean_Parser_fieldIdxFn(x_1, x_21);
-x_24 = x_40;
-goto block_38;
-}
-else
-{
-lean_object* x_41; lean_object* x_42;
-lean_inc(x_1);
-x_41 = lean_apply_2(x_4, x_1, x_21);
-x_42 = lean_ctor_get(x_41, 3);
-lean_inc(x_42);
-if (lean_obj_tag(x_42) == 0)
-{
-x_24 = x_41;
-goto block_38;
-}
-else
-{
-lean_object* x_43; lean_object* x_44; uint8_t x_45;
-x_43 = lean_ctor_get(x_42, 0);
-lean_inc(x_43);
-lean_dec(x_42);
-x_44 = lean_ctor_get(x_41, 1);
-lean_inc(x_44);
-x_45 = lean_nat_dec_eq(x_44, x_15);
-lean_dec(x_44);
-if (x_45 == 0)
-{
-lean_dec(x_43);
-x_24 = x_41;
-goto block_38;
-}
-else
-{
-lean_object* x_46; lean_object* x_47; uint8_t x_48; lean_object* x_49;
-lean_inc(x_15);
-x_46 = l_Lean_Parser_ParserState_restore(x_41, x_23, x_15);
-x_47 = l_Lean_Parser_fieldIdxFn(x_1, x_46);
-x_48 = 1;
-x_49 = l_Lean_Parser_mergeOrElseErrors(x_47, x_43, x_15, x_48);
-x_24 = x_49;
-goto block_38;
-}
-}
-}
-block_38:
-{
-lean_object* x_25;
-x_25 = lean_ctor_get(x_24, 3);
-lean_inc(x_25);
-if (lean_obj_tag(x_25) == 0)
-{
-uint8_t x_26; lean_object* x_27;
-lean_dec(x_23);
-x_26 = 1;
-x_27 = l_Lean_Parser_mergeOrElseErrors(x_24, x_18, x_15, x_26);
-lean_dec(x_15);
-x_5 = x_27;
-goto block_12;
-}
-else
-{
-lean_object* x_28; lean_object* x_29; uint8_t x_30;
-x_28 = lean_ctor_get(x_25, 0);
-lean_inc(x_28);
-lean_dec(x_25);
-x_29 = lean_ctor_get(x_24, 1);
-lean_inc(x_29);
-x_30 = lean_nat_dec_eq(x_29, x_15);
-lean_dec(x_29);
-if (x_30 == 0)
-{
-uint8_t x_31; lean_object* x_32;
-lean_dec(x_28);
-lean_dec(x_23);
-x_31 = 1;
-x_32 = l_Lean_Parser_mergeOrElseErrors(x_24, x_18, x_15, x_31);
-lean_dec(x_15);
-x_5 = x_32;
-goto block_12;
-}
-else
-{
-lean_object* x_33; lean_object* x_34; uint8_t x_35; lean_object* x_36; lean_object* x_37;
-lean_inc(x_15);
-x_33 = l_Lean_Parser_ParserState_restore(x_24, x_23, x_15);
-lean_dec(x_23);
-lean_inc(x_1);
-x_34 = l_Lean_Parser_Term_structInstArrayRef___elambda__1(x_1, x_33);
-x_35 = 1;
-x_36 = l_Lean_Parser_mergeOrElseErrors(x_34, x_28, x_15, x_35);
-x_37 = l_Lean_Parser_mergeOrElseErrors(x_36, x_18, x_15, x_35);
-lean_dec(x_15);
-x_5 = x_37;
-goto block_12;
-}
-}
-}
-}
-}
-block_12:
-{
-lean_object* x_6;
-x_6 = lean_ctor_get(x_5, 3);
-lean_inc(x_6);
-if (lean_obj_tag(x_6) == 0)
-{
-lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
-x_7 = lean_ctor_get(x_5, 0);
+x_6 = l_Lean_Parser_orelseFnCore(x_3, x_4, x_5, x_1, x_2);
+x_7 = lean_ctor_get(x_6, 3);
lean_inc(x_7);
-x_8 = lean_array_get_size(x_7);
-lean_dec(x_7);
-x_9 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_structInstLVal___elambda__1___spec__1(x_1, x_5);
-x_10 = l_Lean_nullKind;
-x_11 = l_Lean_Parser_ParserState_mkNode(x_9, x_10, x_8);
-return x_11;
+if (lean_obj_tag(x_7) == 0)
+{
+lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
+x_8 = lean_ctor_get(x_6, 0);
+lean_inc(x_8);
+x_9 = lean_array_get_size(x_8);
+lean_dec(x_8);
+x_10 = l_Lean_Parser_Term_structInstLVal___elambda__1___closed__7;
+x_11 = l_Lean_Parser_manyAux(x_10, x_1, x_6);
+x_12 = l_Lean_nullKind;
+x_13 = l_Lean_Parser_ParserState_mkNode(x_11, x_12, x_9);
+return x_13;
}
else
{
-lean_dec(x_6);
+lean_dec(x_7);
lean_dec(x_1);
-return x_5;
-}
+return x_6;
}
}
}
@@ -25549,7 +18410,7 @@ static lean_object* _init_l_Lean_Parser_Term_structInstLVal___closed__3() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_structInstLVal___elambda__1___spec__1___closed__1;
+x_1 = l_Lean_Parser_Term_structInstLVal___elambda__1___closed__2;
x_2 = l_Lean_Parser_symbolInfo(x_1);
return x_2;
}
@@ -25666,6 +18527,42 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Term_structInstField___elambda__1___closed__3() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_structInstLVal___closed__10;
+x_2 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_structInstField___elambda__1___closed__4() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__8;
+x_2 = l_Lean_Parser_Term_structInstField___elambda__1___closed__3;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_structInstField___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_structInstField___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Term_structInstField___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -25697,83 +18594,41 @@ x_12 = lean_ctor_get(x_11, 3);
lean_inc(x_12);
if (lean_obj_tag(x_12) == 0)
{
-lean_object* x_13; lean_object* x_14; lean_object* x_15;
-x_13 = lean_ctor_get(x_11, 1);
-lean_inc(x_13);
+lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
+x_13 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__5;
+x_14 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__11;
lean_inc(x_1);
-x_14 = l_Lean_Parser_tokenFn(x_1, x_11);
-x_15 = lean_ctor_get(x_14, 3);
-lean_inc(x_15);
-if (lean_obj_tag(x_15) == 0)
-{
-lean_object* x_16; lean_object* x_17;
-x_16 = lean_ctor_get(x_14, 0);
+x_15 = l_Lean_Parser_symbolFnAux(x_13, x_14, x_1, x_11);
+x_16 = lean_ctor_get(x_15, 3);
lean_inc(x_16);
-x_17 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_16);
+if (lean_obj_tag(x_16) == 0)
+{
+lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
+x_17 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_18 = lean_unsigned_to_nat(0u);
+x_19 = l_Lean_Parser_categoryParser___elambda__1(x_17, x_18, x_1, x_15);
+x_20 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__8;
+x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_10);
+return x_21;
+}
+else
+{
+lean_object* x_22; lean_object* x_23;
lean_dec(x_16);
-if (lean_obj_tag(x_17) == 2)
-{
-lean_object* x_18; lean_object* x_19; uint8_t x_20;
-x_18 = lean_ctor_get(x_17, 1);
-lean_inc(x_18);
-lean_dec(x_17);
-x_19 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__5;
-x_20 = lean_string_dec_eq(x_18, x_19);
-lean_dec(x_18);
-if (x_20 == 0)
-{
-lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
lean_dec(x_1);
-x_21 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-x_22 = l_Lean_Parser_ParserState_mkErrorsAt(x_14, x_21, x_13);
-x_23 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__8;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_22, x_23, x_10);
-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_dec(x_13);
-x_25 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_26 = lean_unsigned_to_nat(0u);
-x_27 = l_Lean_Parser_categoryParser___elambda__1(x_25, x_26, x_1, x_14);
-x_28 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__8;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_27, x_28, x_10);
-return x_29;
+x_22 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__8;
+x_23 = l_Lean_Parser_ParserState_mkNode(x_15, x_22, x_10);
+return x_23;
}
}
else
{
-lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
-lean_dec(x_17);
-lean_dec(x_1);
-x_30 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-x_31 = l_Lean_Parser_ParserState_mkErrorsAt(x_14, x_30, x_13);
-x_32 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__8;
-x_33 = l_Lean_Parser_ParserState_mkNode(x_31, x_32, x_10);
-return x_33;
-}
-}
-else
-{
-lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-lean_dec(x_15);
-lean_dec(x_1);
-x_34 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-x_35 = l_Lean_Parser_ParserState_mkErrorsAt(x_14, x_34, x_13);
-x_36 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__8;
-x_37 = l_Lean_Parser_ParserState_mkNode(x_35, x_36, x_10);
-return x_37;
-}
-}
-else
-{
-lean_object* x_38; lean_object* x_39;
+lean_object* x_24; lean_object* x_25;
lean_dec(x_12);
lean_dec(x_1);
-x_38 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__8;
-x_39 = l_Lean_Parser_ParserState_mkNode(x_11, x_38, x_10);
-return x_39;
+x_24 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__8;
+x_25 = l_Lean_Parser_ParserState_mkNode(x_11, x_24, x_10);
+return x_25;
}
}
else
@@ -25785,171 +18640,11 @@ return x_7;
}
else
{
-lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
-x_40 = lean_ctor_get(x_2, 0);
-lean_inc(x_40);
-x_41 = lean_array_get_size(x_40);
-lean_dec(x_40);
-x_42 = lean_ctor_get(x_2, 1);
-lean_inc(x_42);
-lean_inc(x_1);
-x_43 = lean_apply_2(x_4, x_1, x_2);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-lean_dec(x_42);
-lean_dec(x_41);
-lean_dec(x_1);
-return x_43;
-}
-else
-{
-lean_object* x_45; lean_object* x_46; uint8_t x_47;
-x_45 = lean_ctor_get(x_44, 0);
-lean_inc(x_45);
-lean_dec(x_44);
-x_46 = lean_ctor_get(x_43, 1);
-lean_inc(x_46);
-x_47 = lean_nat_dec_eq(x_46, x_42);
-lean_dec(x_46);
-if (x_47 == 0)
-{
-lean_dec(x_45);
-lean_dec(x_42);
-lean_dec(x_41);
-lean_dec(x_1);
-return x_43;
-}
-else
-{
-lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51;
-lean_inc(x_42);
-x_48 = l_Lean_Parser_ParserState_restore(x_43, x_41, x_42);
-lean_dec(x_41);
-x_49 = lean_unsigned_to_nat(1024u);
-x_50 = l_Lean_Parser_checkPrecFn(x_49, x_1, x_48);
-x_51 = lean_ctor_get(x_50, 3);
-lean_inc(x_51);
-if (lean_obj_tag(x_51) == 0)
-{
-lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55;
-x_52 = lean_ctor_get(x_50, 0);
-lean_inc(x_52);
-x_53 = lean_array_get_size(x_52);
-lean_dec(x_52);
-lean_inc(x_1);
-x_54 = l_Lean_Parser_Term_structInstLVal___elambda__1(x_1, x_50);
-x_55 = lean_ctor_get(x_54, 3);
-lean_inc(x_55);
-if (lean_obj_tag(x_55) == 0)
-{
-lean_object* x_56; lean_object* x_57; lean_object* x_58;
-x_56 = lean_ctor_get(x_54, 1);
-lean_inc(x_56);
-lean_inc(x_1);
-x_57 = l_Lean_Parser_tokenFn(x_1, x_54);
-x_58 = lean_ctor_get(x_57, 3);
-lean_inc(x_58);
-if (lean_obj_tag(x_58) == 0)
-{
-lean_object* x_59; lean_object* x_60;
-x_59 = lean_ctor_get(x_57, 0);
-lean_inc(x_59);
-x_60 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_59);
-lean_dec(x_59);
-if (lean_obj_tag(x_60) == 2)
-{
-lean_object* x_61; lean_object* x_62; uint8_t x_63;
-x_61 = lean_ctor_get(x_60, 1);
-lean_inc(x_61);
-lean_dec(x_60);
-x_62 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__5;
-x_63 = lean_string_dec_eq(x_61, x_62);
-lean_dec(x_61);
-if (x_63 == 0)
-{
-lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; uint8_t x_68; lean_object* x_69;
-lean_dec(x_1);
-x_64 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-x_65 = l_Lean_Parser_ParserState_mkErrorsAt(x_57, x_64, x_56);
-x_66 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__8;
-x_67 = l_Lean_Parser_ParserState_mkNode(x_65, x_66, x_53);
-x_68 = 1;
-x_69 = l_Lean_Parser_mergeOrElseErrors(x_67, x_45, x_42, x_68);
-lean_dec(x_42);
-return x_69;
-}
-else
-{
-lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; uint8_t x_75; lean_object* x_76;
-lean_dec(x_56);
-x_70 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_71 = lean_unsigned_to_nat(0u);
-x_72 = l_Lean_Parser_categoryParser___elambda__1(x_70, x_71, x_1, x_57);
-x_73 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__8;
-x_74 = l_Lean_Parser_ParserState_mkNode(x_72, x_73, x_53);
-x_75 = 1;
-x_76 = l_Lean_Parser_mergeOrElseErrors(x_74, x_45, x_42, x_75);
-lean_dec(x_42);
-return x_76;
-}
-}
-else
-{
-lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; uint8_t x_81; lean_object* x_82;
-lean_dec(x_60);
-lean_dec(x_1);
-x_77 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-x_78 = l_Lean_Parser_ParserState_mkErrorsAt(x_57, x_77, x_56);
-x_79 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__8;
-x_80 = l_Lean_Parser_ParserState_mkNode(x_78, x_79, x_53);
-x_81 = 1;
-x_82 = l_Lean_Parser_mergeOrElseErrors(x_80, x_45, x_42, x_81);
-lean_dec(x_42);
-return x_82;
-}
-}
-else
-{
-lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; uint8_t x_87; lean_object* x_88;
-lean_dec(x_58);
-lean_dec(x_1);
-x_83 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-x_84 = l_Lean_Parser_ParserState_mkErrorsAt(x_57, x_83, x_56);
-x_85 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__8;
-x_86 = l_Lean_Parser_ParserState_mkNode(x_84, x_85, x_53);
-x_87 = 1;
-x_88 = l_Lean_Parser_mergeOrElseErrors(x_86, x_45, x_42, x_87);
-lean_dec(x_42);
-return x_88;
-}
-}
-else
-{
-lean_object* x_89; lean_object* x_90; uint8_t x_91; lean_object* x_92;
-lean_dec(x_55);
-lean_dec(x_1);
-x_89 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__8;
-x_90 = l_Lean_Parser_ParserState_mkNode(x_54, x_89, x_53);
-x_91 = 1;
-x_92 = l_Lean_Parser_mergeOrElseErrors(x_90, x_45, x_42, x_91);
-lean_dec(x_42);
-return x_92;
-}
-}
-else
-{
-uint8_t x_93; lean_object* x_94;
-lean_dec(x_51);
-lean_dec(x_1);
-x_93 = 1;
-x_94 = l_Lean_Parser_mergeOrElseErrors(x_50, x_45, x_42, x_93);
-lean_dec(x_42);
-return x_94;
-}
-}
-}
+lean_object* x_26; uint8_t x_27; lean_object* x_28;
+x_26 = l_Lean_Parser_Term_structInstField___elambda__1___closed__5;
+x_27 = 1;
+x_28 = l_Lean_Parser_orelseFnCore(x_4, x_26, x_27, x_1, x_2);
+return x_28;
}
}
}
@@ -26025,172 +18720,6 @@ x_1 = l_Lean_Parser_Term_structInstField___closed__6;
return x_1;
}
}
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_structInst___elambda__1___spec__2(uint8_t x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5) {
-_start:
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10;
-x_6 = lean_ctor_get(x_5, 0);
-lean_inc(x_6);
-x_7 = lean_array_get_size(x_6);
-lean_dec(x_6);
-x_8 = lean_ctor_get(x_5, 1);
-lean_inc(x_8);
-lean_inc(x_4);
-x_9 = l_Lean_Parser_Term_structInstField___elambda__1(x_4, x_5);
-x_10 = lean_ctor_get(x_9, 3);
-lean_inc(x_10);
-if (lean_obj_tag(x_10) == 0)
-{
-lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_21; lean_object* x_22;
-lean_dec(x_8);
-lean_dec(x_7);
-x_11 = lean_ctor_get(x_9, 0);
-lean_inc(x_11);
-x_12 = lean_array_get_size(x_11);
-lean_dec(x_11);
-x_13 = lean_ctor_get(x_9, 1);
-lean_inc(x_13);
-lean_inc(x_4);
-x_21 = l_Lean_Parser_tokenFn(x_4, x_9);
-x_22 = lean_ctor_get(x_21, 3);
-lean_inc(x_22);
-if (lean_obj_tag(x_22) == 0)
-{
-lean_object* x_23; lean_object* x_24;
-x_23 = lean_ctor_get(x_21, 0);
-lean_inc(x_23);
-x_24 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_23);
-lean_dec(x_23);
-if (lean_obj_tag(x_24) == 2)
-{
-lean_object* x_25; lean_object* x_26; uint8_t x_27;
-x_25 = lean_ctor_get(x_24, 1);
-lean_inc(x_25);
-lean_dec(x_24);
-x_26 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__1;
-x_27 = lean_string_dec_eq(x_25, x_26);
-lean_dec(x_25);
-if (x_27 == 0)
-{
-lean_object* x_28; lean_object* x_29;
-x_28 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
-lean_inc(x_13);
-x_29 = l_Lean_Parser_ParserState_mkErrorsAt(x_21, x_28, x_13);
-x_14 = x_29;
-goto block_20;
-}
-else
-{
-x_14 = x_21;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_30; lean_object* x_31;
-lean_dec(x_24);
-x_30 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
-lean_inc(x_13);
-x_31 = l_Lean_Parser_ParserState_mkErrorsAt(x_21, x_30, x_13);
-x_14 = x_31;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_32; lean_object* x_33;
-lean_dec(x_22);
-x_32 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
-lean_inc(x_13);
-x_33 = l_Lean_Parser_ParserState_mkErrorsAt(x_21, x_32, x_13);
-x_14 = x_33;
-goto block_20;
-}
-block_20:
-{
-lean_object* x_15;
-x_15 = lean_ctor_get(x_14, 3);
-lean_inc(x_15);
-if (lean_obj_tag(x_15) == 0)
-{
-lean_dec(x_13);
-lean_dec(x_12);
-{
-uint8_t _tmp_2 = x_1;
-lean_object* _tmp_4 = x_14;
-x_3 = _tmp_2;
-x_5 = _tmp_4;
-}
-goto _start;
-}
-else
-{
-lean_object* x_17; lean_object* x_18; lean_object* x_19;
-lean_dec(x_15);
-lean_dec(x_4);
-x_17 = l_Lean_Parser_ParserState_restore(x_14, x_12, x_13);
-lean_dec(x_12);
-x_18 = l_Lean_nullKind;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_2);
-return x_19;
-}
-}
-}
-else
-{
-lean_object* x_34; uint8_t x_35;
-lean_dec(x_10);
-lean_dec(x_4);
-x_34 = lean_ctor_get(x_9, 1);
-lean_inc(x_34);
-x_35 = lean_nat_dec_lt(x_8, x_34);
-lean_dec(x_34);
-if (x_35 == 0)
-{
-if (x_3 == 0)
-{
-lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-lean_dec(x_8);
-lean_dec(x_7);
-x_36 = lean_box(0);
-x_37 = l_Lean_Parser_ParserState_pushSyntax(x_9, x_36);
-x_38 = l_Lean_nullKind;
-x_39 = l_Lean_Parser_ParserState_mkNode(x_37, x_38, x_2);
-return x_39;
-}
-else
-{
-lean_object* x_40; lean_object* x_41; lean_object* x_42;
-x_40 = l_Lean_Parser_ParserState_restore(x_9, x_7, x_8);
-lean_dec(x_7);
-x_41 = l_Lean_nullKind;
-x_42 = l_Lean_Parser_ParserState_mkNode(x_40, x_41, x_2);
-return x_42;
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_2);
-return x_9;
-}
-}
-}
-}
-lean_object* l_Lean_Parser_sepByFn___at_Lean_Parser_Term_structInst___elambda__1___spec__1(uint8_t x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
-x_4 = lean_ctor_get(x_3, 0);
-lean_inc(x_4);
-x_5 = lean_array_get_size(x_4);
-lean_dec(x_4);
-x_6 = 1;
-x_7 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_structInst___elambda__1___spec__2(x_1, x_5, x_6, x_2, x_3);
-return x_7;
-}
-}
static lean_object* _init_l_Lean_Parser_Term_structInst___elambda__1___closed__1() {
_start:
{
@@ -26233,17 +18762,22 @@ static lean_object* _init_l_Lean_Parser_Term_structInst___elambda__1___closed__5
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_getBuiltinSearchPath___closed__1;
-x_2 = l_String_trim(x_1);
+x_1 = l_Lean_Parser_Term_structInst___elambda__1___closed__4;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_structInst___elambda__1___closed__6() {
_start:
{
-lean_object* x_1;
-x_1 = lean_mk_string(" }");
-return x_1;
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_2 = l_Lean_Parser_Term_structInst___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
}
}
static lean_object* _init_l_Lean_Parser_Term_structInst___elambda__1___closed__7() {
@@ -26251,103 +18785,227 @@ _start:
{
lean_object* x_1; lean_object* x_2;
x_1 = l_Lean_Parser_Term_structInst___elambda__1___closed__6;
-x_2 = l_String_trim(x_1);
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_tryFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_structInst___elambda__1___closed__8() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_structInst___elambda__1___closed__7;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_structInst___elambda__1___closed__7;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optionalFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_structInst___elambda__1___closed__9() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_structInst___elambda__1___closed__8;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+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_Parser_Term_structInstField___closed__5;
+x_3 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__6;
+x_4 = lean_box(x_1);
+x_5 = lean_alloc_closure((void*)(l_Lean_Parser_sepByFn___boxed), 5, 3);
+lean_closure_set(x_5, 0, x_4);
+lean_closure_set(x_5, 1, x_2);
+lean_closure_set(x_5, 2, x_3);
+return x_5;
}
}
static lean_object* _init_l_Lean_Parser_Term_structInst___elambda__1___closed__10() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Term_structInst___elambda__1___closed__9;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_getBuiltinSearchPath___closed__1;
+x_2 = l_String_trim(x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_structInst___elambda__1___closed__11() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_structInst___elambda__1___closed__5;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_structInst___elambda__1___closed__10;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_structInst___elambda__1___closed__12() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
+lean_object* x_1; lean_object* x_2;
x_1 = l_Lean_Parser_Term_structInst___elambda__1___closed__11;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optionalFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_structInst___elambda__1___closed__13() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Term_structInst___elambda__1___closed__12;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_1 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__4;
+x_2 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
static lean_object* _init_l_Lean_Parser_Term_structInst___elambda__1___closed__14() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_structInst___elambda__1___closed__4;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_structInst___elambda__1___closed__13;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optionalFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_structInst___elambda__1___closed__15() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_structInst___elambda__1___closed__14;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1;
+x_1 = lean_mk_string(" }");
+return x_1;
}
}
static lean_object* _init_l_Lean_Parser_Term_structInst___elambda__1___closed__16() {
_start:
{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_structInst___elambda__1___closed__15;
+x_2 = l_String_trim(x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_structInst___elambda__1___closed__17() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_structInst___elambda__1___closed__16;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_structInst___elambda__1___closed__18() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Term_structInst___elambda__1___closed__15;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_1 = l_Lean_Parser_Term_structInst___elambda__1___closed__14;
+x_2 = l_Lean_Parser_Term_structInst___elambda__1___closed__17;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_structInst___elambda__1___closed__19() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_structInst___elambda__1___closed__12;
+x_2 = l_Lean_Parser_Term_structInst___elambda__1___closed__18;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_structInst___elambda__1___closed__20() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_structInst___elambda__1___closed__9;
+x_2 = l_Lean_Parser_Term_structInst___elambda__1___closed__19;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_structInst___elambda__1___closed__21() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_structInst___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_structInst___elambda__1___closed__20;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_structInst___elambda__1___closed__22() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Parser_inhabited___closed__2;
+x_2 = l_Lean_Parser_Term_structInst___elambda__1___closed__21;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_structInst___elambda__1___closed__23() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Term_structInst___elambda__1___closed__22;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_structInst___elambda__1___closed__24() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__2;
+x_2 = l_Lean_Parser_Term_structInst___elambda__1___closed__23;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_structInst___elambda__1___closed__25() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_structInst___elambda__1___closed__24;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_structInst___elambda__1___closed__26() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_structInst___elambda__1___closed__16;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_structInst___elambda__1___closed__27() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_structInst___elambda__1___closed__26;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -26371,668 +19029,109 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_38; lean_object* x_82; lean_object* x_120; lean_object* x_184; lean_object* x_185; lean_object* x_186;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_184 = lean_ctor_get(x_7, 1);
-lean_inc(x_184);
+x_11 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__5;
+x_12 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__15;
lean_inc(x_1);
-x_185 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_186 = lean_ctor_get(x_185, 3);
-lean_inc(x_186);
-if (lean_obj_tag(x_186) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_187; lean_object* x_188;
-x_187 = lean_ctor_get(x_185, 0);
-lean_inc(x_187);
-x_188 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_187);
-lean_dec(x_187);
-if (lean_obj_tag(x_188) == 2)
+lean_object* x_15; lean_object* x_16; lean_object* x_17;
+x_15 = l_Lean_Parser_Term_structInst___elambda__1___closed__7;
+lean_inc(x_1);
+x_16 = l_Lean_Parser_optionalFn(x_15, x_1, x_13);
+x_17 = lean_ctor_get(x_16, 3);
+lean_inc(x_17);
+if (lean_obj_tag(x_17) == 0)
{
-lean_object* x_189; lean_object* x_190; uint8_t x_191;
-x_189 = lean_ctor_get(x_188, 1);
-lean_inc(x_189);
-lean_dec(x_188);
-x_190 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__5;
-x_191 = lean_string_dec_eq(x_189, x_190);
-lean_dec(x_189);
-if (x_191 == 0)
+uint8_t x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
+x_18 = 1;
+x_19 = l_Lean_Parser_Term_structInstField___closed__5;
+x_20 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__6;
+lean_inc(x_1);
+x_21 = l_Lean_Parser_sepByFn(x_18, x_19, x_20, x_1, x_16);
+x_22 = lean_ctor_get(x_21, 3);
+lean_inc(x_22);
+if (lean_obj_tag(x_22) == 0)
{
-lean_object* x_192; lean_object* x_193;
-x_192 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12;
-x_193 = l_Lean_Parser_ParserState_mkErrorsAt(x_185, x_192, x_184);
-x_120 = x_193;
-goto block_183;
+lean_object* x_23; lean_object* x_24; lean_object* x_25;
+x_23 = l_Lean_Parser_Term_structInst___elambda__1___closed__11;
+lean_inc(x_1);
+x_24 = l_Lean_Parser_optionalFn(x_23, x_1, x_21);
+x_25 = lean_ctor_get(x_24, 3);
+lean_inc(x_25);
+if (lean_obj_tag(x_25) == 0)
+{
+lean_object* x_26; lean_object* x_27; lean_object* x_28;
+x_26 = l_Lean_Parser_Term_structInst___elambda__1___closed__13;
+lean_inc(x_1);
+x_27 = l_Lean_Parser_optionalFn(x_26, x_1, x_24);
+x_28 = lean_ctor_get(x_27, 3);
+lean_inc(x_28);
+if (lean_obj_tag(x_28) == 0)
+{
+lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
+x_29 = l_Lean_Parser_Term_structInst___elambda__1___closed__16;
+x_30 = l_Lean_Parser_Term_structInst___elambda__1___closed__27;
+x_31 = l_Lean_Parser_symbolFnAux(x_29, x_30, x_1, x_27);
+x_32 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__2;
+x_33 = l_Lean_Parser_ParserState_mkNode(x_31, x_32, x_10);
+return x_33;
}
else
{
-lean_dec(x_184);
-x_120 = x_185;
-goto block_183;
+lean_object* x_34; lean_object* x_35;
+lean_dec(x_28);
+lean_dec(x_1);
+x_34 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__2;
+x_35 = l_Lean_Parser_ParserState_mkNode(x_27, x_34, x_10);
+return x_35;
}
}
else
{
-lean_object* x_194; lean_object* x_195;
-lean_dec(x_188);
-x_194 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12;
-x_195 = l_Lean_Parser_ParserState_mkErrorsAt(x_185, x_194, x_184);
-x_120 = x_195;
-goto block_183;
+lean_object* x_36; lean_object* x_37;
+lean_dec(x_25);
+lean_dec(x_1);
+x_36 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__2;
+x_37 = l_Lean_Parser_ParserState_mkNode(x_24, x_36, x_10);
+return x_37;
}
}
else
{
-lean_object* x_196; lean_object* x_197;
-lean_dec(x_186);
-x_196 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12;
-x_197 = l_Lean_Parser_ParserState_mkErrorsAt(x_185, x_196, x_184);
-x_120 = x_197;
-goto block_183;
+lean_object* x_38; lean_object* x_39;
+lean_dec(x_22);
+lean_dec(x_1);
+x_38 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__2;
+x_39 = l_Lean_Parser_ParserState_mkNode(x_21, x_38, x_10);
+return x_39;
}
-block_37:
+}
+else
{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15;
-x_13 = lean_ctor_get(x_11, 1);
-lean_inc(x_13);
-x_14 = l_Lean_Parser_tokenFn(x_1, x_11);
-x_15 = lean_ctor_get(x_14, 3);
-lean_inc(x_15);
-if (lean_obj_tag(x_15) == 0)
-{
-lean_object* x_16; lean_object* x_17;
-x_16 = lean_ctor_get(x_14, 0);
-lean_inc(x_16);
-x_17 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_16);
-lean_dec(x_16);
-if (lean_obj_tag(x_17) == 2)
-{
-lean_object* x_18; lean_object* x_19; uint8_t x_20;
-x_18 = lean_ctor_get(x_17, 1);
-lean_inc(x_18);
+lean_object* x_40; lean_object* x_41;
lean_dec(x_17);
-x_19 = l_Lean_Parser_Term_structInst___elambda__1___closed__7;
-x_20 = lean_string_dec_eq(x_18, x_19);
-lean_dec(x_18);
-if (x_20 == 0)
-{
-lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
-x_21 = l_Lean_Parser_Term_structInst___elambda__1___closed__10;
-x_22 = l_Lean_Parser_ParserState_mkErrorsAt(x_14, x_21, x_13);
-x_23 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__2;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_22, x_23, x_10);
-return x_24;
-}
-else
-{
-lean_object* x_25; lean_object* x_26;
-lean_dec(x_13);
-x_25 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__2;
-x_26 = l_Lean_Parser_ParserState_mkNode(x_14, x_25, x_10);
-return x_26;
-}
-}
-else
-{
-lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30;
-lean_dec(x_17);
-x_27 = l_Lean_Parser_Term_structInst___elambda__1___closed__10;
-x_28 = l_Lean_Parser_ParserState_mkErrorsAt(x_14, x_27, x_13);
-x_29 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__2;
-x_30 = l_Lean_Parser_ParserState_mkNode(x_28, x_29, x_10);
-return x_30;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34;
-lean_dec(x_15);
-x_31 = l_Lean_Parser_Term_structInst___elambda__1___closed__10;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_14, x_31, x_13);
-x_33 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__2;
-x_34 = l_Lean_Parser_ParserState_mkNode(x_32, x_33, x_10);
-return x_34;
-}
-}
-else
-{
-lean_object* x_35; lean_object* x_36;
-lean_dec(x_12);
lean_dec(x_1);
-x_35 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__2;
-x_36 = l_Lean_Parser_ParserState_mkNode(x_11, x_35, x_10);
-return x_36;
-}
-}
-block_81:
-{
-lean_object* x_39;
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_66; lean_object* x_67;
-x_40 = lean_ctor_get(x_38, 0);
-lean_inc(x_40);
-x_41 = lean_array_get_size(x_40);
-lean_dec(x_40);
-x_42 = lean_ctor_get(x_38, 1);
-lean_inc(x_42);
-lean_inc(x_1);
-x_66 = l_Lean_Parser_tokenFn(x_1, x_38);
-x_67 = lean_ctor_get(x_66, 3);
-lean_inc(x_67);
-if (lean_obj_tag(x_67) == 0)
-{
-lean_object* x_68; lean_object* x_69;
-x_68 = lean_ctor_get(x_66, 0);
-lean_inc(x_68);
-x_69 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_68);
-lean_dec(x_68);
-if (lean_obj_tag(x_69) == 2)
-{
-lean_object* x_70; lean_object* x_71; uint8_t x_72;
-x_70 = lean_ctor_get(x_69, 1);
-lean_inc(x_70);
-lean_dec(x_69);
-x_71 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__3;
-x_72 = lean_string_dec_eq(x_70, x_71);
-lean_dec(x_70);
-if (x_72 == 0)
-{
-lean_object* x_73; lean_object* x_74;
-x_73 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-lean_inc(x_42);
-x_74 = l_Lean_Parser_ParserState_mkErrorsAt(x_66, x_73, x_42);
-x_43 = x_74;
-goto block_65;
-}
-else
-{
-x_43 = x_66;
-goto block_65;
+x_40 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__2;
+x_41 = l_Lean_Parser_ParserState_mkNode(x_16, x_40, x_10);
+return x_41;
}
}
else
{
-lean_object* x_75; lean_object* x_76;
-lean_dec(x_69);
-x_75 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-lean_inc(x_42);
-x_76 = l_Lean_Parser_ParserState_mkErrorsAt(x_66, x_75, x_42);
-x_43 = x_76;
-goto block_65;
-}
-}
-else
-{
-lean_object* x_77; lean_object* x_78;
-lean_dec(x_67);
-x_77 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-lean_inc(x_42);
-x_78 = l_Lean_Parser_ParserState_mkErrorsAt(x_66, x_77, x_42);
-x_43 = x_78;
-goto block_65;
-}
-block_65:
-{
-lean_object* x_44;
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48;
-x_45 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_46 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_47 = l_Lean_Parser_categoryParser___elambda__1(x_45, x_46, x_1, x_43);
-x_48 = lean_ctor_get(x_47, 3);
-lean_inc(x_48);
-if (lean_obj_tag(x_48) == 0)
-{
-lean_object* x_49; lean_object* x_50;
-lean_dec(x_42);
-x_49 = l_Lean_nullKind;
-x_50 = l_Lean_Parser_ParserState_mkNode(x_47, x_49, x_41);
-x_11 = x_50;
-goto block_37;
-}
-else
-{
-lean_object* x_51; uint8_t x_52;
-lean_dec(x_48);
-x_51 = lean_ctor_get(x_47, 1);
-lean_inc(x_51);
-x_52 = lean_nat_dec_eq(x_51, x_42);
-lean_dec(x_51);
-if (x_52 == 0)
-{
-lean_object* x_53; lean_object* x_54;
-lean_dec(x_42);
-x_53 = l_Lean_nullKind;
-x_54 = l_Lean_Parser_ParserState_mkNode(x_47, x_53, x_41);
-x_11 = x_54;
-goto block_37;
-}
-else
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57;
-x_55 = l_Lean_Parser_ParserState_restore(x_47, x_41, x_42);
-x_56 = l_Lean_nullKind;
-x_57 = l_Lean_Parser_ParserState_mkNode(x_55, x_56, x_41);
-x_11 = x_57;
-goto block_37;
-}
-}
-}
-else
-{
-lean_object* x_58; uint8_t x_59;
-lean_dec(x_44);
-x_58 = lean_ctor_get(x_43, 1);
-lean_inc(x_58);
-x_59 = lean_nat_dec_eq(x_58, x_42);
-lean_dec(x_58);
-if (x_59 == 0)
-{
-lean_object* x_60; lean_object* x_61;
-lean_dec(x_42);
-x_60 = l_Lean_nullKind;
-x_61 = l_Lean_Parser_ParserState_mkNode(x_43, x_60, x_41);
-x_11 = x_61;
-goto block_37;
-}
-else
-{
-lean_object* x_62; lean_object* x_63; lean_object* x_64;
-x_62 = l_Lean_Parser_ParserState_restore(x_43, x_41, x_42);
-x_63 = l_Lean_nullKind;
-x_64 = l_Lean_Parser_ParserState_mkNode(x_62, x_63, x_41);
-x_11 = x_64;
-goto block_37;
-}
-}
-}
-}
-else
-{
-lean_object* x_79; lean_object* x_80;
-lean_dec(x_39);
+lean_object* x_42; lean_object* x_43;
+lean_dec(x_14);
lean_dec(x_1);
-x_79 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__2;
-x_80 = l_Lean_Parser_ParserState_mkNode(x_38, x_79, x_10);
-return x_80;
-}
-}
-block_119:
-{
-lean_object* x_83;
-x_83 = lean_ctor_get(x_82, 3);
-lean_inc(x_83);
-if (lean_obj_tag(x_83) == 0)
-{
-uint8_t x_84; lean_object* x_85; lean_object* x_86;
-x_84 = 1;
-lean_inc(x_1);
-x_85 = l_Lean_Parser_sepByFn___at_Lean_Parser_Term_structInst___elambda__1___spec__1(x_84, x_1, x_82);
-x_86 = lean_ctor_get(x_85, 3);
-lean_inc(x_86);
-if (lean_obj_tag(x_86) == 0)
-{
-lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_102; lean_object* x_103;
-x_87 = lean_ctor_get(x_85, 0);
-lean_inc(x_87);
-x_88 = lean_array_get_size(x_87);
-lean_dec(x_87);
-x_89 = lean_ctor_get(x_85, 1);
-lean_inc(x_89);
-lean_inc(x_1);
-x_102 = l_Lean_Parser_tokenFn(x_1, x_85);
-x_103 = lean_ctor_get(x_102, 3);
-lean_inc(x_103);
-if (lean_obj_tag(x_103) == 0)
-{
-lean_object* x_104; lean_object* x_105;
-x_104 = lean_ctor_get(x_102, 0);
-lean_inc(x_104);
-x_105 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_104);
-lean_dec(x_104);
-if (lean_obj_tag(x_105) == 2)
-{
-lean_object* x_106; lean_object* x_107; uint8_t x_108;
-x_106 = lean_ctor_get(x_105, 1);
-lean_inc(x_106);
-lean_dec(x_105);
-x_107 = l_Lean_Parser_Term_structInst___elambda__1___closed__5;
-x_108 = lean_string_dec_eq(x_106, x_107);
-lean_dec(x_106);
-if (x_108 == 0)
-{
-lean_object* x_109; lean_object* x_110;
-x_109 = l_Lean_Parser_Term_structInst___elambda__1___closed__13;
-lean_inc(x_89);
-x_110 = l_Lean_Parser_ParserState_mkErrorsAt(x_102, x_109, x_89);
-x_90 = x_110;
-goto block_101;
-}
-else
-{
-x_90 = x_102;
-goto block_101;
-}
-}
-else
-{
-lean_object* x_111; lean_object* x_112;
-lean_dec(x_105);
-x_111 = l_Lean_Parser_Term_structInst___elambda__1___closed__13;
-lean_inc(x_89);
-x_112 = l_Lean_Parser_ParserState_mkErrorsAt(x_102, x_111, x_89);
-x_90 = x_112;
-goto block_101;
-}
-}
-else
-{
-lean_object* x_113; lean_object* x_114;
-lean_dec(x_103);
-x_113 = l_Lean_Parser_Term_structInst___elambda__1___closed__13;
-lean_inc(x_89);
-x_114 = l_Lean_Parser_ParserState_mkErrorsAt(x_102, x_113, x_89);
-x_90 = x_114;
-goto block_101;
-}
-block_101:
-{
-lean_object* x_91;
-x_91 = lean_ctor_get(x_90, 3);
-lean_inc(x_91);
-if (lean_obj_tag(x_91) == 0)
-{
-lean_object* x_92; lean_object* x_93;
-lean_dec(x_89);
-x_92 = l_Lean_nullKind;
-x_93 = l_Lean_Parser_ParserState_mkNode(x_90, x_92, x_88);
-x_38 = x_93;
-goto block_81;
-}
-else
-{
-lean_object* x_94; uint8_t x_95;
-lean_dec(x_91);
-x_94 = lean_ctor_get(x_90, 1);
-lean_inc(x_94);
-x_95 = lean_nat_dec_eq(x_94, x_89);
-lean_dec(x_94);
-if (x_95 == 0)
-{
-lean_object* x_96; lean_object* x_97;
-lean_dec(x_89);
-x_96 = l_Lean_nullKind;
-x_97 = l_Lean_Parser_ParserState_mkNode(x_90, x_96, x_88);
-x_38 = x_97;
-goto block_81;
-}
-else
-{
-lean_object* x_98; lean_object* x_99; lean_object* x_100;
-x_98 = l_Lean_Parser_ParserState_restore(x_90, x_88, x_89);
-x_99 = l_Lean_nullKind;
-x_100 = l_Lean_Parser_ParserState_mkNode(x_98, x_99, x_88);
-x_38 = x_100;
-goto block_81;
-}
-}
-}
-}
-else
-{
-lean_object* x_115; lean_object* x_116;
-lean_dec(x_86);
-lean_dec(x_1);
-x_115 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__2;
-x_116 = l_Lean_Parser_ParserState_mkNode(x_85, x_115, x_10);
-return x_116;
-}
-}
-else
-{
-lean_object* x_117; lean_object* x_118;
-lean_dec(x_83);
-lean_dec(x_1);
-x_117 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__2;
-x_118 = l_Lean_Parser_ParserState_mkNode(x_82, x_117, x_10);
-return x_118;
-}
-}
-block_183:
-{
-lean_object* x_121;
-x_121 = lean_ctor_get(x_120, 3);
-lean_inc(x_121);
-if (lean_obj_tag(x_121) == 0)
-{
-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_148; lean_object* x_149; lean_object* x_150; lean_object* x_151;
-x_122 = lean_ctor_get(x_120, 0);
-lean_inc(x_122);
-x_123 = lean_ctor_get(x_120, 1);
-lean_inc(x_123);
-x_124 = lean_array_get_size(x_122);
-lean_dec(x_122);
-x_148 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_149 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_150 = l_Lean_Parser_categoryParser___elambda__1(x_148, x_149, x_1, x_120);
-x_151 = lean_ctor_get(x_150, 3);
-lean_inc(x_151);
-if (lean_obj_tag(x_151) == 0)
-{
-lean_object* x_152; lean_object* x_153; lean_object* x_154;
-x_152 = lean_ctor_get(x_150, 1);
-lean_inc(x_152);
-lean_inc(x_1);
-x_153 = l_Lean_Parser_tokenFn(x_1, x_150);
-x_154 = lean_ctor_get(x_153, 3);
-lean_inc(x_154);
-if (lean_obj_tag(x_154) == 0)
-{
-lean_object* x_155; lean_object* x_156;
-x_155 = lean_ctor_get(x_153, 0);
-lean_inc(x_155);
-x_156 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_155);
-lean_dec(x_155);
-if (lean_obj_tag(x_156) == 2)
-{
-lean_object* x_157; lean_object* x_158; uint8_t x_159;
-x_157 = lean_ctor_get(x_156, 1);
-lean_inc(x_157);
-lean_dec(x_156);
-x_158 = l_Lean_Parser_Term_structInst___elambda__1___closed__4;
-x_159 = lean_string_dec_eq(x_157, x_158);
-lean_dec(x_157);
-if (x_159 == 0)
-{
-lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164;
-x_160 = l_Lean_Parser_Term_structInst___elambda__1___closed__16;
-x_161 = l_Lean_Parser_ParserState_mkErrorsAt(x_153, x_160, x_152);
-x_162 = lean_ctor_get(x_161, 0);
-lean_inc(x_162);
-x_163 = lean_ctor_get(x_161, 2);
-lean_inc(x_163);
-x_164 = lean_ctor_get(x_161, 3);
-lean_inc(x_164);
-x_125 = x_161;
-x_126 = x_162;
-x_127 = x_163;
-x_128 = x_164;
-goto block_147;
-}
-else
-{
-lean_object* x_165; lean_object* x_166; lean_object* x_167;
-lean_dec(x_152);
-x_165 = lean_ctor_get(x_153, 0);
-lean_inc(x_165);
-x_166 = lean_ctor_get(x_153, 2);
-lean_inc(x_166);
-x_167 = lean_ctor_get(x_153, 3);
-lean_inc(x_167);
-x_125 = x_153;
-x_126 = x_165;
-x_127 = x_166;
-x_128 = x_167;
-goto block_147;
-}
-}
-else
-{
-lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172;
-lean_dec(x_156);
-x_168 = l_Lean_Parser_Term_structInst___elambda__1___closed__16;
-x_169 = l_Lean_Parser_ParserState_mkErrorsAt(x_153, x_168, x_152);
-x_170 = lean_ctor_get(x_169, 0);
-lean_inc(x_170);
-x_171 = lean_ctor_get(x_169, 2);
-lean_inc(x_171);
-x_172 = lean_ctor_get(x_169, 3);
-lean_inc(x_172);
-x_125 = x_169;
-x_126 = x_170;
-x_127 = x_171;
-x_128 = x_172;
-goto block_147;
-}
-}
-else
-{
-lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177;
-lean_dec(x_154);
-x_173 = l_Lean_Parser_Term_structInst___elambda__1___closed__16;
-x_174 = l_Lean_Parser_ParserState_mkErrorsAt(x_153, x_173, x_152);
-x_175 = lean_ctor_get(x_174, 0);
-lean_inc(x_175);
-x_176 = lean_ctor_get(x_174, 2);
-lean_inc(x_176);
-x_177 = lean_ctor_get(x_174, 3);
-lean_inc(x_177);
-x_125 = x_174;
-x_126 = x_175;
-x_127 = x_176;
-x_128 = x_177;
-goto block_147;
-}
-}
-else
-{
-lean_object* x_178; lean_object* x_179; lean_object* x_180;
-lean_dec(x_151);
-x_178 = lean_ctor_get(x_150, 0);
-lean_inc(x_178);
-x_179 = lean_ctor_get(x_150, 2);
-lean_inc(x_179);
-x_180 = lean_ctor_get(x_150, 3);
-lean_inc(x_180);
-x_125 = x_150;
-x_126 = x_178;
-x_127 = x_179;
-x_128 = x_180;
-goto block_147;
-}
-block_147:
-{
-if (lean_obj_tag(x_128) == 0)
-{
-lean_object* x_129;
-lean_dec(x_127);
-lean_dec(x_126);
-x_129 = lean_ctor_get(x_125, 3);
-lean_inc(x_129);
-if (lean_obj_tag(x_129) == 0)
-{
-lean_object* x_130; lean_object* x_131;
-lean_dec(x_123);
-x_130 = l_Lean_nullKind;
-x_131 = l_Lean_Parser_ParserState_mkNode(x_125, x_130, x_124);
-x_82 = x_131;
-goto block_119;
-}
-else
-{
-lean_object* x_132; uint8_t x_133;
-lean_dec(x_129);
-x_132 = lean_ctor_get(x_125, 1);
-lean_inc(x_132);
-x_133 = lean_nat_dec_eq(x_132, x_123);
-lean_dec(x_132);
-if (x_133 == 0)
-{
-lean_object* x_134; lean_object* x_135;
-lean_dec(x_123);
-x_134 = l_Lean_nullKind;
-x_135 = l_Lean_Parser_ParserState_mkNode(x_125, x_134, x_124);
-x_82 = x_135;
-goto block_119;
-}
-else
-{
-lean_object* x_136; lean_object* x_137; lean_object* x_138;
-x_136 = l_Lean_Parser_ParserState_restore(x_125, x_124, x_123);
-x_137 = l_Lean_nullKind;
-x_138 = l_Lean_Parser_ParserState_mkNode(x_136, x_137, x_124);
-x_82 = x_138;
-goto block_119;
-}
-}
-}
-else
-{
-lean_object* x_139; lean_object* x_140; uint8_t x_141;
-lean_dec(x_125);
-x_139 = l_Array_shrink___main___rarg(x_126, x_124);
-lean_inc(x_123);
-x_140 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_140, 0, x_139);
-lean_ctor_set(x_140, 1, x_123);
-lean_ctor_set(x_140, 2, x_127);
-lean_ctor_set(x_140, 3, x_128);
-x_141 = lean_nat_dec_eq(x_123, x_123);
-if (x_141 == 0)
-{
-lean_object* x_142; lean_object* x_143;
-lean_dec(x_123);
-x_142 = l_Lean_nullKind;
-x_143 = l_Lean_Parser_ParserState_mkNode(x_140, x_142, x_124);
-x_82 = x_143;
-goto block_119;
-}
-else
-{
-lean_object* x_144; lean_object* x_145; lean_object* x_146;
-x_144 = l_Lean_Parser_ParserState_restore(x_140, x_124, x_123);
-x_145 = l_Lean_nullKind;
-x_146 = l_Lean_Parser_ParserState_mkNode(x_144, x_145, x_124);
-x_82 = x_146;
-goto block_119;
-}
-}
-}
-}
-else
-{
-lean_object* x_181; lean_object* x_182;
-lean_dec(x_121);
-lean_dec(x_1);
-x_181 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__2;
-x_182 = l_Lean_Parser_ParserState_mkNode(x_120, x_181, x_10);
-return x_182;
-}
+x_42 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__2;
+x_43 = l_Lean_Parser_ParserState_mkNode(x_13, x_42, x_10);
+return x_43;
}
}
else
@@ -27044,756 +19143,11 @@ return x_7;
}
else
{
-lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202;
-x_198 = lean_ctor_get(x_2, 0);
-lean_inc(x_198);
-x_199 = lean_array_get_size(x_198);
-lean_dec(x_198);
-x_200 = lean_ctor_get(x_2, 1);
-lean_inc(x_200);
-lean_inc(x_1);
-x_201 = lean_apply_2(x_4, x_1, x_2);
-x_202 = lean_ctor_get(x_201, 3);
-lean_inc(x_202);
-if (lean_obj_tag(x_202) == 0)
-{
-lean_dec(x_200);
-lean_dec(x_199);
-lean_dec(x_1);
-return x_201;
-}
-else
-{
-lean_object* x_203; lean_object* x_204; uint8_t x_205;
-x_203 = lean_ctor_get(x_202, 0);
-lean_inc(x_203);
-lean_dec(x_202);
-x_204 = lean_ctor_get(x_201, 1);
-lean_inc(x_204);
-x_205 = lean_nat_dec_eq(x_204, x_200);
-lean_dec(x_204);
-if (x_205 == 0)
-{
-lean_dec(x_203);
-lean_dec(x_200);
-lean_dec(x_199);
-lean_dec(x_1);
-return x_201;
-}
-else
-{
-lean_object* x_206; lean_object* x_207; lean_object* x_208; lean_object* x_209;
-lean_inc(x_200);
-x_206 = l_Lean_Parser_ParserState_restore(x_201, x_199, x_200);
-lean_dec(x_199);
-x_207 = lean_unsigned_to_nat(1024u);
-x_208 = l_Lean_Parser_checkPrecFn(x_207, x_1, x_206);
-x_209 = lean_ctor_get(x_208, 3);
-lean_inc(x_209);
-if (lean_obj_tag(x_209) == 0)
-{
-lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_249; lean_object* x_295; lean_object* x_336; lean_object* x_402; lean_object* x_403; lean_object* x_404;
-x_210 = lean_ctor_get(x_208, 0);
-lean_inc(x_210);
-x_211 = lean_array_get_size(x_210);
-lean_dec(x_210);
-x_402 = lean_ctor_get(x_208, 1);
-lean_inc(x_402);
-lean_inc(x_1);
-x_403 = l_Lean_Parser_tokenFn(x_1, x_208);
-x_404 = lean_ctor_get(x_403, 3);
-lean_inc(x_404);
-if (lean_obj_tag(x_404) == 0)
-{
-lean_object* x_405; lean_object* x_406;
-x_405 = lean_ctor_get(x_403, 0);
-lean_inc(x_405);
-x_406 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_405);
-lean_dec(x_405);
-if (lean_obj_tag(x_406) == 2)
-{
-lean_object* x_407; lean_object* x_408; uint8_t x_409;
-x_407 = lean_ctor_get(x_406, 1);
-lean_inc(x_407);
-lean_dec(x_406);
-x_408 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__5;
-x_409 = lean_string_dec_eq(x_407, x_408);
-lean_dec(x_407);
-if (x_409 == 0)
-{
-lean_object* x_410; lean_object* x_411;
-x_410 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12;
-x_411 = l_Lean_Parser_ParserState_mkErrorsAt(x_403, x_410, x_402);
-x_336 = x_411;
-goto block_401;
-}
-else
-{
-lean_dec(x_402);
-x_336 = x_403;
-goto block_401;
-}
-}
-else
-{
-lean_object* x_412; lean_object* x_413;
-lean_dec(x_406);
-x_412 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12;
-x_413 = l_Lean_Parser_ParserState_mkErrorsAt(x_403, x_412, x_402);
-x_336 = x_413;
-goto block_401;
-}
-}
-else
-{
-lean_object* x_414; lean_object* x_415;
-lean_dec(x_404);
-x_414 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12;
-x_415 = l_Lean_Parser_ParserState_mkErrorsAt(x_403, x_414, x_402);
-x_336 = x_415;
-goto block_401;
-}
-block_248:
-{
-lean_object* x_213;
-x_213 = lean_ctor_get(x_212, 3);
-lean_inc(x_213);
-if (lean_obj_tag(x_213) == 0)
-{
-lean_object* x_214; lean_object* x_215; lean_object* x_216;
-x_214 = lean_ctor_get(x_212, 1);
-lean_inc(x_214);
-x_215 = l_Lean_Parser_tokenFn(x_1, x_212);
-x_216 = lean_ctor_get(x_215, 3);
-lean_inc(x_216);
-if (lean_obj_tag(x_216) == 0)
-{
-lean_object* x_217; lean_object* x_218;
-x_217 = lean_ctor_get(x_215, 0);
-lean_inc(x_217);
-x_218 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_217);
-lean_dec(x_217);
-if (lean_obj_tag(x_218) == 2)
-{
-lean_object* x_219; lean_object* x_220; uint8_t x_221;
-x_219 = lean_ctor_get(x_218, 1);
-lean_inc(x_219);
-lean_dec(x_218);
-x_220 = l_Lean_Parser_Term_structInst___elambda__1___closed__7;
-x_221 = lean_string_dec_eq(x_219, x_220);
-lean_dec(x_219);
-if (x_221 == 0)
-{
-lean_object* x_222; lean_object* x_223; lean_object* x_224; lean_object* x_225; uint8_t x_226; lean_object* x_227;
-x_222 = l_Lean_Parser_Term_structInst___elambda__1___closed__10;
-x_223 = l_Lean_Parser_ParserState_mkErrorsAt(x_215, x_222, x_214);
-x_224 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__2;
-x_225 = l_Lean_Parser_ParserState_mkNode(x_223, x_224, x_211);
-x_226 = 1;
-x_227 = l_Lean_Parser_mergeOrElseErrors(x_225, x_203, x_200, x_226);
-lean_dec(x_200);
-return x_227;
-}
-else
-{
-lean_object* x_228; lean_object* x_229; uint8_t x_230; lean_object* x_231;
-lean_dec(x_214);
-x_228 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__2;
-x_229 = l_Lean_Parser_ParserState_mkNode(x_215, x_228, x_211);
-x_230 = 1;
-x_231 = l_Lean_Parser_mergeOrElseErrors(x_229, x_203, x_200, x_230);
-lean_dec(x_200);
-return x_231;
-}
-}
-else
-{
-lean_object* x_232; lean_object* x_233; lean_object* x_234; lean_object* x_235; uint8_t x_236; lean_object* x_237;
-lean_dec(x_218);
-x_232 = l_Lean_Parser_Term_structInst___elambda__1___closed__10;
-x_233 = l_Lean_Parser_ParserState_mkErrorsAt(x_215, x_232, x_214);
-x_234 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__2;
-x_235 = l_Lean_Parser_ParserState_mkNode(x_233, x_234, x_211);
-x_236 = 1;
-x_237 = l_Lean_Parser_mergeOrElseErrors(x_235, x_203, x_200, x_236);
-lean_dec(x_200);
-return x_237;
-}
-}
-else
-{
-lean_object* x_238; lean_object* x_239; lean_object* x_240; lean_object* x_241; uint8_t x_242; lean_object* x_243;
-lean_dec(x_216);
-x_238 = l_Lean_Parser_Term_structInst___elambda__1___closed__10;
-x_239 = l_Lean_Parser_ParserState_mkErrorsAt(x_215, x_238, x_214);
-x_240 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__2;
-x_241 = l_Lean_Parser_ParserState_mkNode(x_239, x_240, x_211);
-x_242 = 1;
-x_243 = l_Lean_Parser_mergeOrElseErrors(x_241, x_203, x_200, x_242);
-lean_dec(x_200);
-return x_243;
-}
-}
-else
-{
-lean_object* x_244; lean_object* x_245; uint8_t x_246; lean_object* x_247;
-lean_dec(x_213);
-lean_dec(x_1);
-x_244 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__2;
-x_245 = l_Lean_Parser_ParserState_mkNode(x_212, x_244, x_211);
-x_246 = 1;
-x_247 = l_Lean_Parser_mergeOrElseErrors(x_245, x_203, x_200, x_246);
-lean_dec(x_200);
-return x_247;
-}
-}
-block_294:
-{
-lean_object* x_250;
-x_250 = lean_ctor_get(x_249, 3);
-lean_inc(x_250);
-if (lean_obj_tag(x_250) == 0)
-{
-lean_object* x_251; lean_object* x_252; lean_object* x_253; lean_object* x_254; lean_object* x_277; lean_object* x_278;
-x_251 = lean_ctor_get(x_249, 0);
-lean_inc(x_251);
-x_252 = lean_array_get_size(x_251);
-lean_dec(x_251);
-x_253 = lean_ctor_get(x_249, 1);
-lean_inc(x_253);
-lean_inc(x_1);
-x_277 = l_Lean_Parser_tokenFn(x_1, x_249);
-x_278 = lean_ctor_get(x_277, 3);
-lean_inc(x_278);
-if (lean_obj_tag(x_278) == 0)
-{
-lean_object* x_279; lean_object* x_280;
-x_279 = lean_ctor_get(x_277, 0);
-lean_inc(x_279);
-x_280 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_279);
-lean_dec(x_279);
-if (lean_obj_tag(x_280) == 2)
-{
-lean_object* x_281; lean_object* x_282; uint8_t x_283;
-x_281 = lean_ctor_get(x_280, 1);
-lean_inc(x_281);
-lean_dec(x_280);
-x_282 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__3;
-x_283 = lean_string_dec_eq(x_281, x_282);
-lean_dec(x_281);
-if (x_283 == 0)
-{
-lean_object* x_284; lean_object* x_285;
-x_284 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-lean_inc(x_253);
-x_285 = l_Lean_Parser_ParserState_mkErrorsAt(x_277, x_284, x_253);
-x_254 = x_285;
-goto block_276;
-}
-else
-{
-x_254 = x_277;
-goto block_276;
-}
-}
-else
-{
-lean_object* x_286; lean_object* x_287;
-lean_dec(x_280);
-x_286 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-lean_inc(x_253);
-x_287 = l_Lean_Parser_ParserState_mkErrorsAt(x_277, x_286, x_253);
-x_254 = x_287;
-goto block_276;
-}
-}
-else
-{
-lean_object* x_288; lean_object* x_289;
-lean_dec(x_278);
-x_288 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-lean_inc(x_253);
-x_289 = l_Lean_Parser_ParserState_mkErrorsAt(x_277, x_288, x_253);
-x_254 = x_289;
-goto block_276;
-}
-block_276:
-{
-lean_object* x_255;
-x_255 = lean_ctor_get(x_254, 3);
-lean_inc(x_255);
-if (lean_obj_tag(x_255) == 0)
-{
-lean_object* x_256; lean_object* x_257; lean_object* x_258; lean_object* x_259;
-x_256 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_257 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_258 = l_Lean_Parser_categoryParser___elambda__1(x_256, x_257, x_1, x_254);
-x_259 = lean_ctor_get(x_258, 3);
-lean_inc(x_259);
-if (lean_obj_tag(x_259) == 0)
-{
-lean_object* x_260; lean_object* x_261;
-lean_dec(x_253);
-x_260 = l_Lean_nullKind;
-x_261 = l_Lean_Parser_ParserState_mkNode(x_258, x_260, x_252);
-x_212 = x_261;
-goto block_248;
-}
-else
-{
-lean_object* x_262; uint8_t x_263;
-lean_dec(x_259);
-x_262 = lean_ctor_get(x_258, 1);
-lean_inc(x_262);
-x_263 = lean_nat_dec_eq(x_262, x_253);
-lean_dec(x_262);
-if (x_263 == 0)
-{
-lean_object* x_264; lean_object* x_265;
-lean_dec(x_253);
-x_264 = l_Lean_nullKind;
-x_265 = l_Lean_Parser_ParserState_mkNode(x_258, x_264, x_252);
-x_212 = x_265;
-goto block_248;
-}
-else
-{
-lean_object* x_266; lean_object* x_267; lean_object* x_268;
-x_266 = l_Lean_Parser_ParserState_restore(x_258, x_252, x_253);
-x_267 = l_Lean_nullKind;
-x_268 = l_Lean_Parser_ParserState_mkNode(x_266, x_267, x_252);
-x_212 = x_268;
-goto block_248;
-}
-}
-}
-else
-{
-lean_object* x_269; uint8_t x_270;
-lean_dec(x_255);
-x_269 = lean_ctor_get(x_254, 1);
-lean_inc(x_269);
-x_270 = lean_nat_dec_eq(x_269, x_253);
-lean_dec(x_269);
-if (x_270 == 0)
-{
-lean_object* x_271; lean_object* x_272;
-lean_dec(x_253);
-x_271 = l_Lean_nullKind;
-x_272 = l_Lean_Parser_ParserState_mkNode(x_254, x_271, x_252);
-x_212 = x_272;
-goto block_248;
-}
-else
-{
-lean_object* x_273; lean_object* x_274; lean_object* x_275;
-x_273 = l_Lean_Parser_ParserState_restore(x_254, x_252, x_253);
-x_274 = l_Lean_nullKind;
-x_275 = l_Lean_Parser_ParserState_mkNode(x_273, x_274, x_252);
-x_212 = x_275;
-goto block_248;
-}
-}
-}
-}
-else
-{
-lean_object* x_290; lean_object* x_291; uint8_t x_292; lean_object* x_293;
-lean_dec(x_250);
-lean_dec(x_1);
-x_290 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__2;
-x_291 = l_Lean_Parser_ParserState_mkNode(x_249, x_290, x_211);
-x_292 = 1;
-x_293 = l_Lean_Parser_mergeOrElseErrors(x_291, x_203, x_200, x_292);
-lean_dec(x_200);
-return x_293;
-}
-}
-block_335:
-{
-lean_object* x_296;
-x_296 = lean_ctor_get(x_295, 3);
-lean_inc(x_296);
-if (lean_obj_tag(x_296) == 0)
-{
-uint8_t x_297; lean_object* x_298; lean_object* x_299;
-x_297 = 1;
-lean_inc(x_1);
-x_298 = l_Lean_Parser_sepByFn___at_Lean_Parser_Term_structInst___elambda__1___spec__1(x_297, x_1, x_295);
-x_299 = lean_ctor_get(x_298, 3);
-lean_inc(x_299);
-if (lean_obj_tag(x_299) == 0)
-{
-lean_object* x_300; lean_object* x_301; lean_object* x_302; lean_object* x_303; lean_object* x_315; lean_object* x_316;
-x_300 = lean_ctor_get(x_298, 0);
-lean_inc(x_300);
-x_301 = lean_array_get_size(x_300);
-lean_dec(x_300);
-x_302 = lean_ctor_get(x_298, 1);
-lean_inc(x_302);
-lean_inc(x_1);
-x_315 = l_Lean_Parser_tokenFn(x_1, x_298);
-x_316 = lean_ctor_get(x_315, 3);
-lean_inc(x_316);
-if (lean_obj_tag(x_316) == 0)
-{
-lean_object* x_317; lean_object* x_318;
-x_317 = lean_ctor_get(x_315, 0);
-lean_inc(x_317);
-x_318 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_317);
-lean_dec(x_317);
-if (lean_obj_tag(x_318) == 2)
-{
-lean_object* x_319; lean_object* x_320; uint8_t x_321;
-x_319 = lean_ctor_get(x_318, 1);
-lean_inc(x_319);
-lean_dec(x_318);
-x_320 = l_Lean_Parser_Term_structInst___elambda__1___closed__5;
-x_321 = lean_string_dec_eq(x_319, x_320);
-lean_dec(x_319);
-if (x_321 == 0)
-{
-lean_object* x_322; lean_object* x_323;
-x_322 = l_Lean_Parser_Term_structInst___elambda__1___closed__13;
-lean_inc(x_302);
-x_323 = l_Lean_Parser_ParserState_mkErrorsAt(x_315, x_322, x_302);
-x_303 = x_323;
-goto block_314;
-}
-else
-{
-x_303 = x_315;
-goto block_314;
-}
-}
-else
-{
-lean_object* x_324; lean_object* x_325;
-lean_dec(x_318);
-x_324 = l_Lean_Parser_Term_structInst___elambda__1___closed__13;
-lean_inc(x_302);
-x_325 = l_Lean_Parser_ParserState_mkErrorsAt(x_315, x_324, x_302);
-x_303 = x_325;
-goto block_314;
-}
-}
-else
-{
-lean_object* x_326; lean_object* x_327;
-lean_dec(x_316);
-x_326 = l_Lean_Parser_Term_structInst___elambda__1___closed__13;
-lean_inc(x_302);
-x_327 = l_Lean_Parser_ParserState_mkErrorsAt(x_315, x_326, x_302);
-x_303 = x_327;
-goto block_314;
-}
-block_314:
-{
-lean_object* x_304;
-x_304 = lean_ctor_get(x_303, 3);
-lean_inc(x_304);
-if (lean_obj_tag(x_304) == 0)
-{
-lean_object* x_305; lean_object* x_306;
-lean_dec(x_302);
-x_305 = l_Lean_nullKind;
-x_306 = l_Lean_Parser_ParserState_mkNode(x_303, x_305, x_301);
-x_249 = x_306;
-goto block_294;
-}
-else
-{
-lean_object* x_307; uint8_t x_308;
-lean_dec(x_304);
-x_307 = lean_ctor_get(x_303, 1);
-lean_inc(x_307);
-x_308 = lean_nat_dec_eq(x_307, x_302);
-lean_dec(x_307);
-if (x_308 == 0)
-{
-lean_object* x_309; lean_object* x_310;
-lean_dec(x_302);
-x_309 = l_Lean_nullKind;
-x_310 = l_Lean_Parser_ParserState_mkNode(x_303, x_309, x_301);
-x_249 = x_310;
-goto block_294;
-}
-else
-{
-lean_object* x_311; lean_object* x_312; lean_object* x_313;
-x_311 = l_Lean_Parser_ParserState_restore(x_303, x_301, x_302);
-x_312 = l_Lean_nullKind;
-x_313 = l_Lean_Parser_ParserState_mkNode(x_311, x_312, x_301);
-x_249 = x_313;
-goto block_294;
-}
-}
-}
-}
-else
-{
-lean_object* x_328; lean_object* x_329; lean_object* x_330;
-lean_dec(x_299);
-lean_dec(x_1);
-x_328 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__2;
-x_329 = l_Lean_Parser_ParserState_mkNode(x_298, x_328, x_211);
-x_330 = l_Lean_Parser_mergeOrElseErrors(x_329, x_203, x_200, x_297);
-lean_dec(x_200);
-return x_330;
-}
-}
-else
-{
-lean_object* x_331; lean_object* x_332; uint8_t x_333; lean_object* x_334;
-lean_dec(x_296);
-lean_dec(x_1);
-x_331 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__2;
-x_332 = l_Lean_Parser_ParserState_mkNode(x_295, x_331, x_211);
-x_333 = 1;
-x_334 = l_Lean_Parser_mergeOrElseErrors(x_332, x_203, x_200, x_333);
-lean_dec(x_200);
-return x_334;
-}
-}
-block_401:
-{
-lean_object* x_337;
-x_337 = lean_ctor_get(x_336, 3);
-lean_inc(x_337);
-if (lean_obj_tag(x_337) == 0)
-{
-lean_object* x_338; lean_object* x_339; lean_object* x_340; lean_object* x_341; lean_object* x_342; lean_object* x_343; lean_object* x_344; lean_object* x_364; lean_object* x_365; lean_object* x_366; lean_object* x_367;
-x_338 = lean_ctor_get(x_336, 0);
-lean_inc(x_338);
-x_339 = lean_ctor_get(x_336, 1);
-lean_inc(x_339);
-x_340 = lean_array_get_size(x_338);
-lean_dec(x_338);
-x_364 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_365 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_366 = l_Lean_Parser_categoryParser___elambda__1(x_364, x_365, x_1, x_336);
-x_367 = lean_ctor_get(x_366, 3);
-lean_inc(x_367);
-if (lean_obj_tag(x_367) == 0)
-{
-lean_object* x_368; lean_object* x_369; lean_object* x_370;
-x_368 = lean_ctor_get(x_366, 1);
-lean_inc(x_368);
-lean_inc(x_1);
-x_369 = l_Lean_Parser_tokenFn(x_1, x_366);
-x_370 = lean_ctor_get(x_369, 3);
-lean_inc(x_370);
-if (lean_obj_tag(x_370) == 0)
-{
-lean_object* x_371; lean_object* x_372;
-x_371 = lean_ctor_get(x_369, 0);
-lean_inc(x_371);
-x_372 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_371);
-lean_dec(x_371);
-if (lean_obj_tag(x_372) == 2)
-{
-lean_object* x_373; lean_object* x_374; uint8_t x_375;
-x_373 = lean_ctor_get(x_372, 1);
-lean_inc(x_373);
-lean_dec(x_372);
-x_374 = l_Lean_Parser_Term_structInst___elambda__1___closed__4;
-x_375 = lean_string_dec_eq(x_373, x_374);
-lean_dec(x_373);
-if (x_375 == 0)
-{
-lean_object* x_376; lean_object* x_377; lean_object* x_378; lean_object* x_379; lean_object* x_380;
-x_376 = l_Lean_Parser_Term_structInst___elambda__1___closed__16;
-x_377 = l_Lean_Parser_ParserState_mkErrorsAt(x_369, x_376, x_368);
-x_378 = lean_ctor_get(x_377, 0);
-lean_inc(x_378);
-x_379 = lean_ctor_get(x_377, 2);
-lean_inc(x_379);
-x_380 = lean_ctor_get(x_377, 3);
-lean_inc(x_380);
-x_341 = x_377;
-x_342 = x_378;
-x_343 = x_379;
-x_344 = x_380;
-goto block_363;
-}
-else
-{
-lean_object* x_381; lean_object* x_382; lean_object* x_383;
-lean_dec(x_368);
-x_381 = lean_ctor_get(x_369, 0);
-lean_inc(x_381);
-x_382 = lean_ctor_get(x_369, 2);
-lean_inc(x_382);
-x_383 = lean_ctor_get(x_369, 3);
-lean_inc(x_383);
-x_341 = x_369;
-x_342 = x_381;
-x_343 = x_382;
-x_344 = x_383;
-goto block_363;
-}
-}
-else
-{
-lean_object* x_384; lean_object* x_385; lean_object* x_386; lean_object* x_387; lean_object* x_388;
-lean_dec(x_372);
-x_384 = l_Lean_Parser_Term_structInst___elambda__1___closed__16;
-x_385 = l_Lean_Parser_ParserState_mkErrorsAt(x_369, x_384, x_368);
-x_386 = lean_ctor_get(x_385, 0);
-lean_inc(x_386);
-x_387 = lean_ctor_get(x_385, 2);
-lean_inc(x_387);
-x_388 = lean_ctor_get(x_385, 3);
-lean_inc(x_388);
-x_341 = x_385;
-x_342 = x_386;
-x_343 = x_387;
-x_344 = x_388;
-goto block_363;
-}
-}
-else
-{
-lean_object* x_389; lean_object* x_390; lean_object* x_391; lean_object* x_392; lean_object* x_393;
-lean_dec(x_370);
-x_389 = l_Lean_Parser_Term_structInst___elambda__1___closed__16;
-x_390 = l_Lean_Parser_ParserState_mkErrorsAt(x_369, x_389, x_368);
-x_391 = lean_ctor_get(x_390, 0);
-lean_inc(x_391);
-x_392 = lean_ctor_get(x_390, 2);
-lean_inc(x_392);
-x_393 = lean_ctor_get(x_390, 3);
-lean_inc(x_393);
-x_341 = x_390;
-x_342 = x_391;
-x_343 = x_392;
-x_344 = x_393;
-goto block_363;
-}
-}
-else
-{
-lean_object* x_394; lean_object* x_395; lean_object* x_396;
-lean_dec(x_367);
-x_394 = lean_ctor_get(x_366, 0);
-lean_inc(x_394);
-x_395 = lean_ctor_get(x_366, 2);
-lean_inc(x_395);
-x_396 = lean_ctor_get(x_366, 3);
-lean_inc(x_396);
-x_341 = x_366;
-x_342 = x_394;
-x_343 = x_395;
-x_344 = x_396;
-goto block_363;
-}
-block_363:
-{
-if (lean_obj_tag(x_344) == 0)
-{
-lean_object* x_345;
-lean_dec(x_343);
-lean_dec(x_342);
-x_345 = lean_ctor_get(x_341, 3);
-lean_inc(x_345);
-if (lean_obj_tag(x_345) == 0)
-{
-lean_object* x_346; lean_object* x_347;
-lean_dec(x_339);
-x_346 = l_Lean_nullKind;
-x_347 = l_Lean_Parser_ParserState_mkNode(x_341, x_346, x_340);
-x_295 = x_347;
-goto block_335;
-}
-else
-{
-lean_object* x_348; uint8_t x_349;
-lean_dec(x_345);
-x_348 = lean_ctor_get(x_341, 1);
-lean_inc(x_348);
-x_349 = lean_nat_dec_eq(x_348, x_339);
-lean_dec(x_348);
-if (x_349 == 0)
-{
-lean_object* x_350; lean_object* x_351;
-lean_dec(x_339);
-x_350 = l_Lean_nullKind;
-x_351 = l_Lean_Parser_ParserState_mkNode(x_341, x_350, x_340);
-x_295 = x_351;
-goto block_335;
-}
-else
-{
-lean_object* x_352; lean_object* x_353; lean_object* x_354;
-x_352 = l_Lean_Parser_ParserState_restore(x_341, x_340, x_339);
-x_353 = l_Lean_nullKind;
-x_354 = l_Lean_Parser_ParserState_mkNode(x_352, x_353, x_340);
-x_295 = x_354;
-goto block_335;
-}
-}
-}
-else
-{
-lean_object* x_355; lean_object* x_356; uint8_t x_357;
-lean_dec(x_341);
-x_355 = l_Array_shrink___main___rarg(x_342, x_340);
-lean_inc(x_339);
-x_356 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_356, 0, x_355);
-lean_ctor_set(x_356, 1, x_339);
-lean_ctor_set(x_356, 2, x_343);
-lean_ctor_set(x_356, 3, x_344);
-x_357 = lean_nat_dec_eq(x_339, x_339);
-if (x_357 == 0)
-{
-lean_object* x_358; lean_object* x_359;
-lean_dec(x_339);
-x_358 = l_Lean_nullKind;
-x_359 = l_Lean_Parser_ParserState_mkNode(x_356, x_358, x_340);
-x_295 = x_359;
-goto block_335;
-}
-else
-{
-lean_object* x_360; lean_object* x_361; lean_object* x_362;
-x_360 = l_Lean_Parser_ParserState_restore(x_356, x_340, x_339);
-x_361 = l_Lean_nullKind;
-x_362 = l_Lean_Parser_ParserState_mkNode(x_360, x_361, x_340);
-x_295 = x_362;
-goto block_335;
-}
-}
-}
-}
-else
-{
-lean_object* x_397; lean_object* x_398; uint8_t x_399; lean_object* x_400;
-lean_dec(x_337);
-lean_dec(x_1);
-x_397 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_301____closed__2;
-x_398 = l_Lean_Parser_ParserState_mkNode(x_336, x_397, x_211);
-x_399 = 1;
-x_400 = l_Lean_Parser_mergeOrElseErrors(x_398, x_203, x_200, x_399);
-lean_dec(x_200);
-return x_400;
-}
-}
-}
-else
-{
-uint8_t x_416; lean_object* x_417;
-lean_dec(x_209);
-lean_dec(x_1);
-x_416 = 1;
-x_417 = l_Lean_Parser_mergeOrElseErrors(x_208, x_203, x_200, x_416);
-lean_dec(x_200);
-return x_417;
-}
-}
-}
+lean_object* x_44; uint8_t x_45; lean_object* x_46;
+x_44 = l_Lean_Parser_Term_structInst___elambda__1___closed__25;
+x_45 = 1;
+x_46 = l_Lean_Parser_orelseFnCore(x_4, x_44, x_45, x_1, x_2);
+return x_46;
}
}
}
@@ -27843,7 +19197,7 @@ static lean_object* _init_l_Lean_Parser_Term_structInst___closed__5() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Term_structInst___elambda__1___closed__5;
+x_1 = l_Lean_Parser_Term_structInst___elambda__1___closed__10;
x_2 = l_Lean_Parser_symbolInfo(x_1);
return x_2;
}
@@ -27882,7 +19236,7 @@ static lean_object* _init_l_Lean_Parser_Term_structInst___closed__9() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Term_structInst___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Term_structInst___elambda__1___closed__16;
x_2 = l_Lean_Parser_symbolInfo(x_1);
return x_2;
}
@@ -28007,28 +19361,6 @@ x_1 = l_Lean_Parser_Term_structInst___closed__20;
return x_1;
}
}
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_structInst___elambda__1___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
-_start:
-{
-uint8_t x_6; uint8_t x_7; lean_object* x_8;
-x_6 = lean_unbox(x_1);
-lean_dec(x_1);
-x_7 = lean_unbox(x_3);
-lean_dec(x_3);
-x_8 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_structInst___elambda__1___spec__2(x_6, x_2, x_7, x_4, x_5);
-return x_8;
-}
-}
-lean_object* l_Lean_Parser_sepByFn___at_Lean_Parser_Term_structInst___elambda__1___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-uint8_t x_4; lean_object* x_5;
-x_4 = lean_unbox(x_1);
-lean_dec(x_1);
-x_5 = l_Lean_Parser_sepByFn___at_Lean_Parser_Term_structInst___elambda__1___spec__1(x_4, x_2, x_3);
-return x_5;
-}
-}
lean_object* l___regBuiltinParser_Lean_Parser_Term_structInst(lean_object* x_1) {
_start:
{
@@ -28422,7 +19754,7 @@ static lean_object* _init_l_Lean_Parser_Term_structInst_formatter___closed__11()
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Term_structInst___elambda__1___closed__6;
+x_1 = l_Lean_Parser_Term_structInst___elambda__1___closed__15;
x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_symbol_formatter___boxed), 6, 1);
lean_closure_set(x_2, 0, x_1);
return x_2;
@@ -28984,6 +20316,30 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Term_typeSpec___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_typeSpec___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_typeSpec___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_typeSpec___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Term_typeSpec___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -29004,91 +20360,35 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_21; lean_object* x_22; lean_object* x_23;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_21 = lean_ctor_get(x_7, 1);
-lean_inc(x_21);
+x_11 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__3;
+x_12 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__9;
lean_inc(x_1);
-x_22 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_23 = lean_ctor_get(x_22, 3);
-lean_inc(x_23);
-if (lean_obj_tag(x_23) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_24; lean_object* x_25;
-x_24 = lean_ctor_get(x_22, 0);
-lean_inc(x_24);
-x_25 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_24);
-lean_dec(x_24);
-if (lean_obj_tag(x_25) == 2)
-{
-lean_object* x_26; lean_object* x_27; uint8_t x_28;
-x_26 = lean_ctor_get(x_25, 1);
-lean_inc(x_26);
-lean_dec(x_25);
-x_27 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__3;
-x_28 = lean_string_dec_eq(x_26, x_27);
-lean_dec(x_26);
-if (x_28 == 0)
-{
-lean_object* x_29; lean_object* x_30;
-x_29 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_29, x_21);
-x_11 = x_30;
-goto block_20;
-}
-else
-{
-lean_dec(x_21);
-x_11 = x_22;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32;
-lean_dec(x_25);
-x_31 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_31, x_21);
-x_11 = x_32;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_33; lean_object* x_34;
-lean_dec(x_23);
-x_33 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_33, x_21);
-x_11 = x_34;
-goto block_20;
-}
-block_20:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_13 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_14 = lean_unsigned_to_nat(0u);
-x_15 = l_Lean_Parser_categoryParser___elambda__1(x_13, x_14, x_1, x_11);
-x_16 = l_Lean_Parser_Term_typeSpec___elambda__1___closed__2;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_10);
-return x_17;
-}
-else
-{
-lean_object* x_18; lean_object* x_19;
-lean_dec(x_12);
-lean_dec(x_1);
+lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
+x_15 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_16 = lean_unsigned_to_nat(0u);
+x_17 = l_Lean_Parser_categoryParser___elambda__1(x_15, x_16, x_1, x_13);
x_18 = l_Lean_Parser_Term_typeSpec___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_11, x_18, x_10);
+x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_10);
return x_19;
}
+else
+{
+lean_object* x_20; lean_object* x_21;
+lean_dec(x_14);
+lean_dec(x_1);
+x_20 = l_Lean_Parser_Term_typeSpec___elambda__1___closed__2;
+x_21 = l_Lean_Parser_ParserState_mkNode(x_13, x_20, x_10);
+return x_21;
}
}
else
@@ -29100,159 +20400,11 @@ return x_7;
}
else
{
-lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_35 = lean_ctor_get(x_2, 0);
-lean_inc(x_35);
-x_36 = lean_array_get_size(x_35);
-lean_dec(x_35);
-x_37 = lean_ctor_get(x_2, 1);
-lean_inc(x_37);
-lean_inc(x_1);
-x_38 = lean_apply_2(x_4, x_1, x_2);
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_40; lean_object* x_41; uint8_t x_42;
-x_40 = lean_ctor_get(x_39, 0);
-lean_inc(x_40);
-lean_dec(x_39);
-x_41 = lean_ctor_get(x_38, 1);
-lean_inc(x_41);
-x_42 = lean_nat_dec_eq(x_41, x_37);
-lean_dec(x_41);
-if (x_42 == 0)
-{
-lean_dec(x_40);
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46;
-lean_inc(x_37);
-x_43 = l_Lean_Parser_ParserState_restore(x_38, x_36, x_37);
-lean_dec(x_36);
-x_44 = lean_unsigned_to_nat(1024u);
-x_45 = l_Lean_Parser_checkPrecFn(x_44, x_1, x_43);
-x_46 = lean_ctor_get(x_45, 3);
-lean_inc(x_46);
-if (lean_obj_tag(x_46) == 0)
-{
-lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_63; lean_object* x_64; lean_object* x_65;
-x_47 = lean_ctor_get(x_45, 0);
-lean_inc(x_47);
-x_48 = lean_array_get_size(x_47);
-lean_dec(x_47);
-x_63 = lean_ctor_get(x_45, 1);
-lean_inc(x_63);
-lean_inc(x_1);
-x_64 = l_Lean_Parser_tokenFn(x_1, x_45);
-x_65 = lean_ctor_get(x_64, 3);
-lean_inc(x_65);
-if (lean_obj_tag(x_65) == 0)
-{
-lean_object* x_66; lean_object* x_67;
-x_66 = lean_ctor_get(x_64, 0);
-lean_inc(x_66);
-x_67 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_66);
-lean_dec(x_66);
-if (lean_obj_tag(x_67) == 2)
-{
-lean_object* x_68; lean_object* x_69; uint8_t x_70;
-x_68 = lean_ctor_get(x_67, 1);
-lean_inc(x_68);
-lean_dec(x_67);
-x_69 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__3;
-x_70 = lean_string_dec_eq(x_68, x_69);
-lean_dec(x_68);
-if (x_70 == 0)
-{
-lean_object* x_71; lean_object* x_72;
-x_71 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_71, x_63);
-x_49 = x_72;
-goto block_62;
-}
-else
-{
-lean_dec(x_63);
-x_49 = x_64;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_73; lean_object* x_74;
-lean_dec(x_67);
-x_73 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-x_74 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_73, x_63);
-x_49 = x_74;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_75; lean_object* x_76;
-lean_dec(x_65);
-x_75 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-x_76 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_75, x_63);
-x_49 = x_76;
-goto block_62;
-}
-block_62:
-{
-lean_object* x_50;
-x_50 = lean_ctor_get(x_49, 3);
-lean_inc(x_50);
-if (lean_obj_tag(x_50) == 0)
-{
-lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; uint8_t x_56; lean_object* x_57;
-x_51 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_52 = lean_unsigned_to_nat(0u);
-x_53 = l_Lean_Parser_categoryParser___elambda__1(x_51, x_52, x_1, x_49);
-x_54 = l_Lean_Parser_Term_typeSpec___elambda__1___closed__2;
-x_55 = l_Lean_Parser_ParserState_mkNode(x_53, x_54, x_48);
-x_56 = 1;
-x_57 = l_Lean_Parser_mergeOrElseErrors(x_55, x_40, x_37, x_56);
-lean_dec(x_37);
-return x_57;
-}
-else
-{
-lean_object* x_58; lean_object* x_59; uint8_t x_60; lean_object* x_61;
-lean_dec(x_50);
-lean_dec(x_1);
-x_58 = l_Lean_Parser_Term_typeSpec___elambda__1___closed__2;
-x_59 = l_Lean_Parser_ParserState_mkNode(x_49, x_58, x_48);
-x_60 = 1;
-x_61 = l_Lean_Parser_mergeOrElseErrors(x_59, x_40, x_37, x_60);
-lean_dec(x_37);
-return x_61;
-}
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_46);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_45, x_40, x_37, x_77);
-lean_dec(x_37);
-return x_78;
-}
-}
-}
+lean_object* x_22; uint8_t x_23; lean_object* x_24;
+x_22 = l_Lean_Parser_Term_typeSpec___elambda__1___closed__6;
+x_23 = 1;
+x_24 = l_Lean_Parser_orelseFnCore(x_4, x_22, x_23, x_1, x_2);
+return x_24;
}
}
}
@@ -29319,49 +20471,10 @@ return x_1;
lean_object* l_Lean_Parser_Term_optType___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-x_6 = l_Lean_Parser_Term_typeSpec___elambda__1(x_1, x_2);
-x_7 = lean_ctor_get(x_6, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
-{
-lean_object* x_8; lean_object* x_9;
-lean_dec(x_5);
-x_8 = l_Lean_nullKind;
-x_9 = l_Lean_Parser_ParserState_mkNode(x_6, x_8, x_4);
-return x_9;
-}
-else
-{
-lean_object* x_10; uint8_t x_11;
-lean_dec(x_7);
-x_10 = lean_ctor_get(x_6, 1);
-lean_inc(x_10);
-x_11 = lean_nat_dec_eq(x_10, x_5);
-lean_dec(x_10);
-if (x_11 == 0)
-{
-lean_object* x_12; lean_object* x_13;
-lean_dec(x_5);
-x_12 = l_Lean_nullKind;
-x_13 = l_Lean_Parser_ParserState_mkNode(x_6, x_12, x_4);
-return x_13;
-}
-else
-{
-lean_object* x_14; lean_object* x_15; lean_object* x_16;
-x_14 = l_Lean_Parser_ParserState_restore(x_6, x_4, x_5);
-x_15 = l_Lean_nullKind;
-x_16 = l_Lean_Parser_ParserState_mkNode(x_14, x_15, x_4);
-return x_16;
-}
-}
+lean_object* x_3; lean_object* x_4;
+x_3 = l_Lean_Parser_Term_typeSpec___closed__4;
+x_4 = l_Lean_Parser_optionalFn(x_3, x_1, x_2);
+return x_4;
}
}
static lean_object* _init_l_Lean_Parser_Term_optType___closed__1() {
@@ -29462,49 +20575,49 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_subtype___elambda__1___closed__7() {
_start:
{
-lean_object* x_1;
-x_1 = lean_mk_string(" // ");
-return x_1;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_subtype___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_subtype___elambda__1___closed__8() {
_start:
{
-lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Term_subtype___elambda__1___closed__7;
-x_2 = l_String_trim(x_1);
-return x_2;
+lean_object* x_1;
+x_1 = lean_mk_string(" // ");
+return x_1;
}
}
static lean_object* _init_l_Lean_Parser_Term_subtype___elambda__1___closed__9() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_subtype___elambda__1___closed__8;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_subtype___elambda__1___closed__8;
+x_2 = l_String_trim(x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_subtype___elambda__1___closed__10() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
+lean_object* x_1; lean_object* x_2;
x_1 = l_Lean_Parser_Term_subtype___elambda__1___closed__9;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_subtype___elambda__1___closed__11() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Term_subtype___elambda__1___closed__10;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_1 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_2 = l_Lean_Parser_Term_structInst___elambda__1___closed__17;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -29512,31 +20625,111 @@ static lean_object* _init_l_Lean_Parser_Term_subtype___elambda__1___closed__12()
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_subtype___elambda__1___closed__10;
+x_2 = l_Lean_Parser_Term_subtype___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_subtype___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_optType___closed__2;
+x_2 = l_Lean_Parser_Term_subtype___elambda__1___closed__12;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_subtype___elambda__1___closed__14() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_ident___closed__1;
+x_2 = l_Lean_Parser_Term_subtype___elambda__1___closed__13;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_subtype___elambda__1___closed__15() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_subtype___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Term_subtype___elambda__1___closed__14;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_subtype___elambda__1___closed__16() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_subtype___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_subtype___elambda__1___closed__15;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_subtype___elambda__1___closed__17() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_subtype___elambda__1___closed__16;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_subtype___elambda__1___closed__18() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Char_HasRepr___closed__1;
x_2 = l_Lean_Parser_Term_subtype___elambda__1___closed__6;
x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Term_subtype___elambda__1___closed__13() {
+static lean_object* _init_l_Lean_Parser_Term_subtype___elambda__1___closed__19() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_subtype___elambda__1___closed__12;
+x_1 = l_Lean_Parser_Term_subtype___elambda__1___closed__18;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Term_subtype___elambda__1___closed__14() {
+static lean_object* _init_l_Lean_Parser_Term_subtype___elambda__1___closed__20() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Term_subtype___elambda__1___closed__13;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_subtype___elambda__1___closed__9;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_subtype___elambda__1___closed__21() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_subtype___elambda__1___closed__20;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -29560,142 +20753,87 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_44; lean_object* x_71; lean_object* x_72; lean_object* x_73;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_71 = lean_ctor_get(x_7, 1);
-lean_inc(x_71);
+x_11 = l_Lean_Parser_Term_subtype___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Term_subtype___elambda__1___closed__19;
lean_inc(x_1);
-x_72 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_73 = lean_ctor_get(x_72, 3);
-lean_inc(x_73);
-if (lean_obj_tag(x_73) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_74; lean_object* x_75;
-x_74 = lean_ctor_get(x_72, 0);
-lean_inc(x_74);
-x_75 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_74);
-lean_dec(x_74);
-if (lean_obj_tag(x_75) == 2)
-{
-lean_object* x_76; lean_object* x_77; uint8_t x_78;
-x_76 = lean_ctor_get(x_75, 1);
-lean_inc(x_76);
-lean_dec(x_75);
-x_77 = l_Lean_Parser_Term_subtype___elambda__1___closed__6;
-x_78 = lean_string_dec_eq(x_76, x_77);
-lean_dec(x_76);
-if (x_78 == 0)
-{
-lean_object* x_79; lean_object* x_80;
-x_79 = l_Lean_Parser_Term_subtype___elambda__1___closed__14;
-x_80 = l_Lean_Parser_ParserState_mkErrorsAt(x_72, x_79, x_71);
-x_44 = x_80;
-goto block_70;
-}
-else
-{
-lean_dec(x_71);
-x_44 = x_72;
-goto block_70;
-}
-}
-else
-{
-lean_object* x_81; lean_object* x_82;
-lean_dec(x_75);
-x_81 = l_Lean_Parser_Term_subtype___elambda__1___closed__14;
-x_82 = l_Lean_Parser_ParserState_mkErrorsAt(x_72, x_81, x_71);
-x_44 = x_82;
-goto block_70;
-}
-}
-else
-{
-lean_object* x_83; lean_object* x_84;
-lean_dec(x_73);
-x_83 = l_Lean_Parser_Term_subtype___elambda__1___closed__14;
-x_84 = l_Lean_Parser_ParserState_mkErrorsAt(x_72, x_83, x_71);
-x_44 = x_84;
-goto block_70;
-}
-block_43:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
-x_13 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_14 = lean_unsigned_to_nat(0u);
+lean_object* x_15; lean_object* x_16;
lean_inc(x_1);
-x_15 = l_Lean_Parser_categoryParser___elambda__1(x_13, x_14, x_1, x_11);
+x_15 = l_Lean_Parser_Term_ident___elambda__1(x_1, x_13);
x_16 = lean_ctor_get(x_15, 3);
lean_inc(x_16);
if (lean_obj_tag(x_16) == 0)
{
lean_object* x_17; lean_object* x_18; lean_object* x_19;
-x_17 = lean_ctor_get(x_15, 1);
-lean_inc(x_17);
-x_18 = l_Lean_Parser_tokenFn(x_1, x_15);
+x_17 = l_Lean_Parser_Term_typeSpec___closed__4;
+lean_inc(x_1);
+x_18 = l_Lean_Parser_optionalFn(x_17, x_1, x_15);
x_19 = lean_ctor_get(x_18, 3);
lean_inc(x_19);
if (lean_obj_tag(x_19) == 0)
{
-lean_object* x_20; lean_object* x_21;
-x_20 = lean_ctor_get(x_18, 0);
-lean_inc(x_20);
-x_21 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_20);
-lean_dec(x_20);
-if (lean_obj_tag(x_21) == 2)
+lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23;
+x_20 = l_Lean_Parser_Term_subtype___elambda__1___closed__9;
+x_21 = l_Lean_Parser_Term_subtype___elambda__1___closed__21;
+lean_inc(x_1);
+x_22 = l_Lean_Parser_symbolFnAux(x_20, x_21, x_1, x_18);
+x_23 = lean_ctor_get(x_22, 3);
+lean_inc(x_23);
+if (lean_obj_tag(x_23) == 0)
{
-lean_object* x_22; lean_object* x_23; uint8_t x_24;
-x_22 = lean_ctor_get(x_21, 1);
-lean_inc(x_22);
-lean_dec(x_21);
-x_23 = l_Lean_Parser_Term_structInst___elambda__1___closed__7;
-x_24 = lean_string_dec_eq(x_22, x_23);
-lean_dec(x_22);
-if (x_24 == 0)
+lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
+x_24 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_25 = lean_unsigned_to_nat(0u);
+lean_inc(x_1);
+x_26 = l_Lean_Parser_categoryParser___elambda__1(x_24, x_25, x_1, x_22);
+x_27 = lean_ctor_get(x_26, 3);
+lean_inc(x_27);
+if (lean_obj_tag(x_27) == 0)
{
-lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
-x_25 = l_Lean_Parser_Term_structInst___elambda__1___closed__10;
-x_26 = l_Lean_Parser_ParserState_mkErrorsAt(x_18, x_25, x_17);
-x_27 = l_Lean_Parser_Term_subtype___elambda__1___closed__2;
-x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_10);
-return x_28;
+lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
+x_28 = l_Lean_Parser_Term_structInst___elambda__1___closed__16;
+x_29 = l_Lean_Parser_Term_structInst___elambda__1___closed__27;
+x_30 = l_Lean_Parser_symbolFnAux(x_28, x_29, x_1, x_26);
+x_31 = l_Lean_Parser_Term_subtype___elambda__1___closed__2;
+x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_10);
+return x_32;
}
else
{
-lean_object* x_29; lean_object* x_30;
-lean_dec(x_17);
-x_29 = l_Lean_Parser_Term_subtype___elambda__1___closed__2;
-x_30 = l_Lean_Parser_ParserState_mkNode(x_18, x_29, x_10);
-return x_30;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34;
-lean_dec(x_21);
-x_31 = l_Lean_Parser_Term_structInst___elambda__1___closed__10;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_18, x_31, x_17);
+lean_object* x_33; lean_object* x_34;
+lean_dec(x_27);
+lean_dec(x_1);
x_33 = l_Lean_Parser_Term_subtype___elambda__1___closed__2;
-x_34 = l_Lean_Parser_ParserState_mkNode(x_32, x_33, x_10);
+x_34 = l_Lean_Parser_ParserState_mkNode(x_26, x_33, x_10);
return x_34;
}
}
else
{
-lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38;
+lean_object* x_35; lean_object* x_36;
+lean_dec(x_23);
+lean_dec(x_1);
+x_35 = l_Lean_Parser_Term_subtype___elambda__1___closed__2;
+x_36 = l_Lean_Parser_ParserState_mkNode(x_22, x_35, x_10);
+return x_36;
+}
+}
+else
+{
+lean_object* x_37; lean_object* x_38;
lean_dec(x_19);
-x_35 = l_Lean_Parser_Term_structInst___elambda__1___closed__10;
-x_36 = l_Lean_Parser_ParserState_mkErrorsAt(x_18, x_35, x_17);
+lean_dec(x_1);
x_37 = l_Lean_Parser_Term_subtype___elambda__1___closed__2;
-x_38 = l_Lean_Parser_ParserState_mkNode(x_36, x_37, x_10);
+x_38 = l_Lean_Parser_ParserState_mkNode(x_18, x_37, x_10);
return x_38;
}
}
@@ -29712,123 +20850,13 @@ return x_40;
else
{
lean_object* x_41; lean_object* x_42;
-lean_dec(x_12);
+lean_dec(x_14);
lean_dec(x_1);
x_41 = l_Lean_Parser_Term_subtype___elambda__1___closed__2;
-x_42 = l_Lean_Parser_ParserState_mkNode(x_11, x_41, x_10);
+x_42 = l_Lean_Parser_ParserState_mkNode(x_13, x_41, x_10);
return x_42;
}
}
-block_70:
-{
-lean_object* x_45;
-x_45 = lean_ctor_get(x_44, 3);
-lean_inc(x_45);
-if (lean_obj_tag(x_45) == 0)
-{
-lean_object* x_46; lean_object* x_47;
-lean_inc(x_1);
-x_46 = l_Lean_Parser_Term_ident___elambda__1(x_1, x_44);
-x_47 = lean_ctor_get(x_46, 3);
-lean_inc(x_47);
-if (lean_obj_tag(x_47) == 0)
-{
-lean_object* x_48; lean_object* x_49;
-lean_inc(x_1);
-x_48 = l_Lean_Parser_Term_optType___elambda__1(x_1, x_46);
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
-{
-lean_object* x_50; lean_object* x_51; lean_object* x_52;
-x_50 = lean_ctor_get(x_48, 1);
-lean_inc(x_50);
-lean_inc(x_1);
-x_51 = l_Lean_Parser_tokenFn(x_1, x_48);
-x_52 = lean_ctor_get(x_51, 3);
-lean_inc(x_52);
-if (lean_obj_tag(x_52) == 0)
-{
-lean_object* x_53; lean_object* x_54;
-x_53 = lean_ctor_get(x_51, 0);
-lean_inc(x_53);
-x_54 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_53);
-lean_dec(x_53);
-if (lean_obj_tag(x_54) == 2)
-{
-lean_object* x_55; lean_object* x_56; uint8_t x_57;
-x_55 = lean_ctor_get(x_54, 1);
-lean_inc(x_55);
-lean_dec(x_54);
-x_56 = l_Lean_Parser_Term_subtype___elambda__1___closed__8;
-x_57 = lean_string_dec_eq(x_55, x_56);
-lean_dec(x_55);
-if (x_57 == 0)
-{
-lean_object* x_58; lean_object* x_59;
-x_58 = l_Lean_Parser_Term_subtype___elambda__1___closed__11;
-x_59 = l_Lean_Parser_ParserState_mkErrorsAt(x_51, x_58, x_50);
-x_11 = x_59;
-goto block_43;
-}
-else
-{
-lean_dec(x_50);
-x_11 = x_51;
-goto block_43;
-}
-}
-else
-{
-lean_object* x_60; lean_object* x_61;
-lean_dec(x_54);
-x_60 = l_Lean_Parser_Term_subtype___elambda__1___closed__11;
-x_61 = l_Lean_Parser_ParserState_mkErrorsAt(x_51, x_60, x_50);
-x_11 = x_61;
-goto block_43;
-}
-}
-else
-{
-lean_object* x_62; lean_object* x_63;
-lean_dec(x_52);
-x_62 = l_Lean_Parser_Term_subtype___elambda__1___closed__11;
-x_63 = l_Lean_Parser_ParserState_mkErrorsAt(x_51, x_62, x_50);
-x_11 = x_63;
-goto block_43;
-}
-}
-else
-{
-lean_object* x_64; lean_object* x_65;
-lean_dec(x_49);
-lean_dec(x_1);
-x_64 = l_Lean_Parser_Term_subtype___elambda__1___closed__2;
-x_65 = l_Lean_Parser_ParserState_mkNode(x_48, x_64, x_10);
-return x_65;
-}
-}
-else
-{
-lean_object* x_66; lean_object* x_67;
-lean_dec(x_47);
-lean_dec(x_1);
-x_66 = l_Lean_Parser_Term_subtype___elambda__1___closed__2;
-x_67 = l_Lean_Parser_ParserState_mkNode(x_46, x_66, x_10);
-return x_67;
-}
-}
-else
-{
-lean_object* x_68; lean_object* x_69;
-lean_dec(x_45);
-lean_dec(x_1);
-x_68 = l_Lean_Parser_Term_subtype___elambda__1___closed__2;
-x_69 = l_Lean_Parser_ParserState_mkNode(x_44, x_68, x_10);
-return x_69;
-}
-}
-}
else
{
lean_dec(x_8);
@@ -29838,362 +20866,11 @@ return x_7;
}
else
{
-lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89;
-x_85 = lean_ctor_get(x_2, 0);
-lean_inc(x_85);
-x_86 = lean_array_get_size(x_85);
-lean_dec(x_85);
-x_87 = lean_ctor_get(x_2, 1);
-lean_inc(x_87);
-lean_inc(x_1);
-x_88 = lean_apply_2(x_4, x_1, x_2);
-x_89 = lean_ctor_get(x_88, 3);
-lean_inc(x_89);
-if (lean_obj_tag(x_89) == 0)
-{
-lean_dec(x_87);
-lean_dec(x_86);
-lean_dec(x_1);
-return x_88;
-}
-else
-{
-lean_object* x_90; lean_object* x_91; uint8_t x_92;
-x_90 = lean_ctor_get(x_89, 0);
-lean_inc(x_90);
-lean_dec(x_89);
-x_91 = lean_ctor_get(x_88, 1);
-lean_inc(x_91);
-x_92 = lean_nat_dec_eq(x_91, x_87);
-lean_dec(x_91);
-if (x_92 == 0)
-{
-lean_dec(x_90);
-lean_dec(x_87);
-lean_dec(x_86);
-lean_dec(x_1);
-return x_88;
-}
-else
-{
-lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96;
-lean_inc(x_87);
-x_93 = l_Lean_Parser_ParserState_restore(x_88, x_86, x_87);
-lean_dec(x_86);
-x_94 = lean_unsigned_to_nat(1024u);
-x_95 = l_Lean_Parser_checkPrecFn(x_94, x_1, x_93);
-x_96 = lean_ctor_get(x_95, 3);
-lean_inc(x_96);
-if (lean_obj_tag(x_96) == 0)
-{
-lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_144; lean_object* x_177; lean_object* x_178; lean_object* x_179;
-x_97 = lean_ctor_get(x_95, 0);
-lean_inc(x_97);
-x_98 = lean_array_get_size(x_97);
-lean_dec(x_97);
-x_177 = lean_ctor_get(x_95, 1);
-lean_inc(x_177);
-lean_inc(x_1);
-x_178 = l_Lean_Parser_tokenFn(x_1, x_95);
-x_179 = lean_ctor_get(x_178, 3);
-lean_inc(x_179);
-if (lean_obj_tag(x_179) == 0)
-{
-lean_object* x_180; lean_object* x_181;
-x_180 = lean_ctor_get(x_178, 0);
-lean_inc(x_180);
-x_181 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_180);
-lean_dec(x_180);
-if (lean_obj_tag(x_181) == 2)
-{
-lean_object* x_182; lean_object* x_183; uint8_t x_184;
-x_182 = lean_ctor_get(x_181, 1);
-lean_inc(x_182);
-lean_dec(x_181);
-x_183 = l_Lean_Parser_Term_subtype___elambda__1___closed__6;
-x_184 = lean_string_dec_eq(x_182, x_183);
-lean_dec(x_182);
-if (x_184 == 0)
-{
-lean_object* x_185; lean_object* x_186;
-x_185 = l_Lean_Parser_Term_subtype___elambda__1___closed__14;
-x_186 = l_Lean_Parser_ParserState_mkErrorsAt(x_178, x_185, x_177);
-x_144 = x_186;
-goto block_176;
-}
-else
-{
-lean_dec(x_177);
-x_144 = x_178;
-goto block_176;
-}
-}
-else
-{
-lean_object* x_187; lean_object* x_188;
-lean_dec(x_181);
-x_187 = l_Lean_Parser_Term_subtype___elambda__1___closed__14;
-x_188 = l_Lean_Parser_ParserState_mkErrorsAt(x_178, x_187, x_177);
-x_144 = x_188;
-goto block_176;
-}
-}
-else
-{
-lean_object* x_189; lean_object* x_190;
-lean_dec(x_179);
-x_189 = l_Lean_Parser_Term_subtype___elambda__1___closed__14;
-x_190 = l_Lean_Parser_ParserState_mkErrorsAt(x_178, x_189, x_177);
-x_144 = x_190;
-goto block_176;
-}
-block_143:
-{
-lean_object* x_100;
-x_100 = lean_ctor_get(x_99, 3);
-lean_inc(x_100);
-if (lean_obj_tag(x_100) == 0)
-{
-lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104;
-x_101 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_102 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_103 = l_Lean_Parser_categoryParser___elambda__1(x_101, x_102, x_1, x_99);
-x_104 = lean_ctor_get(x_103, 3);
-lean_inc(x_104);
-if (lean_obj_tag(x_104) == 0)
-{
-lean_object* x_105; lean_object* x_106; lean_object* x_107;
-x_105 = lean_ctor_get(x_103, 1);
-lean_inc(x_105);
-x_106 = l_Lean_Parser_tokenFn(x_1, x_103);
-x_107 = lean_ctor_get(x_106, 3);
-lean_inc(x_107);
-if (lean_obj_tag(x_107) == 0)
-{
-lean_object* x_108; lean_object* x_109;
-x_108 = lean_ctor_get(x_106, 0);
-lean_inc(x_108);
-x_109 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_108);
-lean_dec(x_108);
-if (lean_obj_tag(x_109) == 2)
-{
-lean_object* x_110; lean_object* x_111; uint8_t x_112;
-x_110 = lean_ctor_get(x_109, 1);
-lean_inc(x_110);
-lean_dec(x_109);
-x_111 = l_Lean_Parser_Term_structInst___elambda__1___closed__7;
-x_112 = lean_string_dec_eq(x_110, x_111);
-lean_dec(x_110);
-if (x_112 == 0)
-{
-lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; uint8_t x_117; lean_object* x_118;
-x_113 = l_Lean_Parser_Term_structInst___elambda__1___closed__10;
-x_114 = l_Lean_Parser_ParserState_mkErrorsAt(x_106, x_113, x_105);
-x_115 = l_Lean_Parser_Term_subtype___elambda__1___closed__2;
-x_116 = l_Lean_Parser_ParserState_mkNode(x_114, x_115, x_98);
-x_117 = 1;
-x_118 = l_Lean_Parser_mergeOrElseErrors(x_116, x_90, x_87, x_117);
-lean_dec(x_87);
-return x_118;
-}
-else
-{
-lean_object* x_119; lean_object* x_120; uint8_t x_121; lean_object* x_122;
-lean_dec(x_105);
-x_119 = l_Lean_Parser_Term_subtype___elambda__1___closed__2;
-x_120 = l_Lean_Parser_ParserState_mkNode(x_106, x_119, x_98);
-x_121 = 1;
-x_122 = l_Lean_Parser_mergeOrElseErrors(x_120, x_90, x_87, x_121);
-lean_dec(x_87);
-return x_122;
-}
-}
-else
-{
-lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; uint8_t x_127; lean_object* x_128;
-lean_dec(x_109);
-x_123 = l_Lean_Parser_Term_structInst___elambda__1___closed__10;
-x_124 = l_Lean_Parser_ParserState_mkErrorsAt(x_106, x_123, x_105);
-x_125 = l_Lean_Parser_Term_subtype___elambda__1___closed__2;
-x_126 = l_Lean_Parser_ParserState_mkNode(x_124, x_125, x_98);
-x_127 = 1;
-x_128 = l_Lean_Parser_mergeOrElseErrors(x_126, x_90, x_87, x_127);
-lean_dec(x_87);
-return x_128;
-}
-}
-else
-{
-lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; uint8_t x_133; lean_object* x_134;
-lean_dec(x_107);
-x_129 = l_Lean_Parser_Term_structInst___elambda__1___closed__10;
-x_130 = l_Lean_Parser_ParserState_mkErrorsAt(x_106, x_129, x_105);
-x_131 = l_Lean_Parser_Term_subtype___elambda__1___closed__2;
-x_132 = l_Lean_Parser_ParserState_mkNode(x_130, x_131, x_98);
-x_133 = 1;
-x_134 = l_Lean_Parser_mergeOrElseErrors(x_132, x_90, x_87, x_133);
-lean_dec(x_87);
-return x_134;
-}
-}
-else
-{
-lean_object* x_135; lean_object* x_136; uint8_t x_137; lean_object* x_138;
-lean_dec(x_104);
-lean_dec(x_1);
-x_135 = l_Lean_Parser_Term_subtype___elambda__1___closed__2;
-x_136 = l_Lean_Parser_ParserState_mkNode(x_103, x_135, x_98);
-x_137 = 1;
-x_138 = l_Lean_Parser_mergeOrElseErrors(x_136, x_90, x_87, x_137);
-lean_dec(x_87);
-return x_138;
-}
-}
-else
-{
-lean_object* x_139; lean_object* x_140; uint8_t x_141; lean_object* x_142;
-lean_dec(x_100);
-lean_dec(x_1);
-x_139 = l_Lean_Parser_Term_subtype___elambda__1___closed__2;
-x_140 = l_Lean_Parser_ParserState_mkNode(x_99, x_139, x_98);
-x_141 = 1;
-x_142 = l_Lean_Parser_mergeOrElseErrors(x_140, x_90, x_87, x_141);
-lean_dec(x_87);
-return x_142;
-}
-}
-block_176:
-{
-lean_object* x_145;
-x_145 = lean_ctor_get(x_144, 3);
-lean_inc(x_145);
-if (lean_obj_tag(x_145) == 0)
-{
-lean_object* x_146; lean_object* x_147;
-lean_inc(x_1);
-x_146 = l_Lean_Parser_Term_ident___elambda__1(x_1, x_144);
-x_147 = lean_ctor_get(x_146, 3);
-lean_inc(x_147);
-if (lean_obj_tag(x_147) == 0)
-{
-lean_object* x_148; lean_object* x_149;
-lean_inc(x_1);
-x_148 = l_Lean_Parser_Term_optType___elambda__1(x_1, x_146);
-x_149 = lean_ctor_get(x_148, 3);
-lean_inc(x_149);
-if (lean_obj_tag(x_149) == 0)
-{
-lean_object* x_150; lean_object* x_151; lean_object* x_152;
-x_150 = lean_ctor_get(x_148, 1);
-lean_inc(x_150);
-lean_inc(x_1);
-x_151 = l_Lean_Parser_tokenFn(x_1, x_148);
-x_152 = lean_ctor_get(x_151, 3);
-lean_inc(x_152);
-if (lean_obj_tag(x_152) == 0)
-{
-lean_object* x_153; lean_object* x_154;
-x_153 = lean_ctor_get(x_151, 0);
-lean_inc(x_153);
-x_154 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_153);
-lean_dec(x_153);
-if (lean_obj_tag(x_154) == 2)
-{
-lean_object* x_155; lean_object* x_156; uint8_t x_157;
-x_155 = lean_ctor_get(x_154, 1);
-lean_inc(x_155);
-lean_dec(x_154);
-x_156 = l_Lean_Parser_Term_subtype___elambda__1___closed__8;
-x_157 = lean_string_dec_eq(x_155, x_156);
-lean_dec(x_155);
-if (x_157 == 0)
-{
-lean_object* x_158; lean_object* x_159;
-x_158 = l_Lean_Parser_Term_subtype___elambda__1___closed__11;
-x_159 = l_Lean_Parser_ParserState_mkErrorsAt(x_151, x_158, x_150);
-x_99 = x_159;
-goto block_143;
-}
-else
-{
-lean_dec(x_150);
-x_99 = x_151;
-goto block_143;
-}
-}
-else
-{
-lean_object* x_160; lean_object* x_161;
-lean_dec(x_154);
-x_160 = l_Lean_Parser_Term_subtype___elambda__1___closed__11;
-x_161 = l_Lean_Parser_ParserState_mkErrorsAt(x_151, x_160, x_150);
-x_99 = x_161;
-goto block_143;
-}
-}
-else
-{
-lean_object* x_162; lean_object* x_163;
-lean_dec(x_152);
-x_162 = l_Lean_Parser_Term_subtype___elambda__1___closed__11;
-x_163 = l_Lean_Parser_ParserState_mkErrorsAt(x_151, x_162, x_150);
-x_99 = x_163;
-goto block_143;
-}
-}
-else
-{
-lean_object* x_164; lean_object* x_165; uint8_t x_166; lean_object* x_167;
-lean_dec(x_149);
-lean_dec(x_1);
-x_164 = l_Lean_Parser_Term_subtype___elambda__1___closed__2;
-x_165 = l_Lean_Parser_ParserState_mkNode(x_148, x_164, x_98);
-x_166 = 1;
-x_167 = l_Lean_Parser_mergeOrElseErrors(x_165, x_90, x_87, x_166);
-lean_dec(x_87);
-return x_167;
-}
-}
-else
-{
-lean_object* x_168; lean_object* x_169; uint8_t x_170; lean_object* x_171;
-lean_dec(x_147);
-lean_dec(x_1);
-x_168 = l_Lean_Parser_Term_subtype___elambda__1___closed__2;
-x_169 = l_Lean_Parser_ParserState_mkNode(x_146, x_168, x_98);
-x_170 = 1;
-x_171 = l_Lean_Parser_mergeOrElseErrors(x_169, x_90, x_87, x_170);
-lean_dec(x_87);
-return x_171;
-}
-}
-else
-{
-lean_object* x_172; lean_object* x_173; uint8_t x_174; lean_object* x_175;
-lean_dec(x_145);
-lean_dec(x_1);
-x_172 = l_Lean_Parser_Term_subtype___elambda__1___closed__2;
-x_173 = l_Lean_Parser_ParserState_mkNode(x_144, x_172, x_98);
-x_174 = 1;
-x_175 = l_Lean_Parser_mergeOrElseErrors(x_173, x_90, x_87, x_174);
-lean_dec(x_87);
-return x_175;
-}
-}
-}
-else
-{
-uint8_t x_191; lean_object* x_192;
-lean_dec(x_96);
-lean_dec(x_1);
-x_191 = 1;
-x_192 = l_Lean_Parser_mergeOrElseErrors(x_95, x_90, x_87, x_191);
-lean_dec(x_87);
-return x_192;
-}
-}
-}
+lean_object* x_43; uint8_t x_44; lean_object* x_45;
+x_43 = l_Lean_Parser_Term_subtype___elambda__1___closed__17;
+x_44 = 1;
+x_45 = l_Lean_Parser_orelseFnCore(x_4, x_43, x_44, x_1, x_2);
+return x_45;
}
}
}
@@ -30210,7 +20887,7 @@ static lean_object* _init_l_Lean_Parser_Term_subtype___closed__2() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Term_subtype___elambda__1___closed__8;
+x_1 = l_Lean_Parser_Term_subtype___elambda__1___closed__9;
x_2 = l_Lean_Parser_symbolInfo(x_1);
return x_2;
}
@@ -30429,7 +21106,7 @@ static lean_object* _init_l_Lean_Parser_Term_subtype_formatter___closed__3() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Term_subtype___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Term_subtype___elambda__1___closed__8;
x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_symbol_formatter___boxed), 6, 1);
lean_closure_set(x_2, 0, x_1);
return x_2;
@@ -30700,215 +21377,6 @@ x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1);
return x_5;
}
}
-static lean_object* _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_listLit___elambda__1___spec__2___closed__1() {
-_start:
-{
-lean_object* x_1; lean_object* x_2;
-x_1 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_530____closed__8;
-x_2 = l_String_trim(x_1);
-return x_2;
-}
-}
-static lean_object* _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_listLit___elambda__1___spec__2___closed__2() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_listLit___elambda__1___spec__2___closed__1;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
-}
-}
-static lean_object* _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_listLit___elambda__1___spec__2___closed__3() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_listLit___elambda__1___spec__2___closed__2;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
-}
-}
-static lean_object* _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_listLit___elambda__1___spec__2___closed__4() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_listLit___elambda__1___spec__2___closed__3;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
-}
-}
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_listLit___elambda__1___spec__2(uint8_t x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5) {
-_start:
-{
-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;
-x_6 = lean_ctor_get(x_5, 0);
-lean_inc(x_6);
-x_7 = lean_array_get_size(x_6);
-lean_dec(x_6);
-x_8 = lean_ctor_get(x_5, 1);
-lean_inc(x_8);
-x_9 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_10 = lean_unsigned_to_nat(0u);
-lean_inc(x_4);
-x_11 = l_Lean_Parser_categoryParser___elambda__1(x_9, x_10, x_4, x_5);
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_23; lean_object* x_24;
-lean_dec(x_8);
-lean_dec(x_7);
-x_13 = lean_ctor_get(x_11, 0);
-lean_inc(x_13);
-x_14 = lean_array_get_size(x_13);
-lean_dec(x_13);
-x_15 = lean_ctor_get(x_11, 1);
-lean_inc(x_15);
-lean_inc(x_4);
-x_23 = l_Lean_Parser_tokenFn(x_4, x_11);
-x_24 = lean_ctor_get(x_23, 3);
-lean_inc(x_24);
-if (lean_obj_tag(x_24) == 0)
-{
-lean_object* x_25; lean_object* x_26;
-x_25 = lean_ctor_get(x_23, 0);
-lean_inc(x_25);
-x_26 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_25);
-lean_dec(x_25);
-if (lean_obj_tag(x_26) == 2)
-{
-lean_object* x_27; lean_object* x_28; uint8_t x_29;
-x_27 = lean_ctor_get(x_26, 1);
-lean_inc(x_27);
-lean_dec(x_26);
-x_28 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_listLit___elambda__1___spec__2___closed__1;
-x_29 = lean_string_dec_eq(x_27, x_28);
-lean_dec(x_27);
-if (x_29 == 0)
-{
-lean_object* x_30; lean_object* x_31;
-x_30 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_listLit___elambda__1___spec__2___closed__4;
-lean_inc(x_15);
-x_31 = l_Lean_Parser_ParserState_mkErrorsAt(x_23, x_30, x_15);
-x_16 = x_31;
-goto block_22;
-}
-else
-{
-x_16 = x_23;
-goto block_22;
-}
-}
-else
-{
-lean_object* x_32; lean_object* x_33;
-lean_dec(x_26);
-x_32 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_listLit___elambda__1___spec__2___closed__4;
-lean_inc(x_15);
-x_33 = l_Lean_Parser_ParserState_mkErrorsAt(x_23, x_32, x_15);
-x_16 = x_33;
-goto block_22;
-}
-}
-else
-{
-lean_object* x_34; lean_object* x_35;
-lean_dec(x_24);
-x_34 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_listLit___elambda__1___spec__2___closed__4;
-lean_inc(x_15);
-x_35 = l_Lean_Parser_ParserState_mkErrorsAt(x_23, x_34, x_15);
-x_16 = x_35;
-goto block_22;
-}
-block_22:
-{
-lean_object* x_17;
-x_17 = lean_ctor_get(x_16, 3);
-lean_inc(x_17);
-if (lean_obj_tag(x_17) == 0)
-{
-lean_dec(x_15);
-lean_dec(x_14);
-{
-uint8_t _tmp_2 = x_1;
-lean_object* _tmp_4 = x_16;
-x_3 = _tmp_2;
-x_5 = _tmp_4;
-}
-goto _start;
-}
-else
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21;
-lean_dec(x_17);
-lean_dec(x_4);
-x_19 = l_Lean_Parser_ParserState_restore(x_16, x_14, x_15);
-lean_dec(x_14);
-x_20 = l_Lean_nullKind;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_2);
-return x_21;
-}
-}
-}
-else
-{
-lean_object* x_36; uint8_t x_37;
-lean_dec(x_12);
-lean_dec(x_4);
-x_36 = lean_ctor_get(x_11, 1);
-lean_inc(x_36);
-x_37 = lean_nat_dec_lt(x_8, x_36);
-lean_dec(x_36);
-if (x_37 == 0)
-{
-if (x_3 == 0)
-{
-lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41;
-lean_dec(x_8);
-lean_dec(x_7);
-x_38 = lean_box(0);
-x_39 = l_Lean_Parser_ParserState_pushSyntax(x_11, x_38);
-x_40 = l_Lean_nullKind;
-x_41 = l_Lean_Parser_ParserState_mkNode(x_39, x_40, x_2);
-return x_41;
-}
-else
-{
-lean_object* x_42; lean_object* x_43; lean_object* x_44;
-x_42 = l_Lean_Parser_ParserState_restore(x_11, x_7, x_8);
-lean_dec(x_7);
-x_43 = l_Lean_nullKind;
-x_44 = l_Lean_Parser_ParserState_mkNode(x_42, x_43, x_2);
-return x_44;
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_2);
-return x_11;
-}
-}
-}
-}
-lean_object* l_Lean_Parser_sepByFn___at_Lean_Parser_Term_listLit___elambda__1___spec__1(uint8_t x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
-x_4 = lean_ctor_get(x_3, 0);
-lean_inc(x_4);
-x_5 = lean_array_get_size(x_4);
-lean_dec(x_4);
-x_6 = 1;
-x_7 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_listLit___elambda__1___spec__2(x_1, x_5, x_6, x_2, x_3);
-return x_7;
-}
-}
static lean_object* _init_l_Lean_Parser_Term_listLit___elambda__1___closed__1() {
_start:
{
@@ -30948,6 +21416,88 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Term_listLit___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Std_Range_myMacro____x40_Init_Data_Range___hyg_530____closed__8;
+x_2 = l_String_trim(x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_listLit___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_listLit___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_listLit___elambda__1___closed__7() {
+_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_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_3 = l_Lean_Parser_Term_listLit___elambda__1___closed__6;
+x_4 = lean_box(x_1);
+x_5 = lean_alloc_closure((void*)(l_Lean_Parser_sepByFn___boxed), 5, 3);
+lean_closure_set(x_5, 0, x_4);
+lean_closure_set(x_5, 1, x_2);
+lean_closure_set(x_5, 2, x_3);
+return x_5;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_listLit___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_listLit___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_listLit___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Term_listLit___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_listLit___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_listLit___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_listLit___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_listLit___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_listLit___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Term_listLit___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -30968,163 +21518,55 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_43; lean_object* x_44; lean_object* x_45;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_43 = lean_ctor_get(x_7, 1);
-lean_inc(x_43);
+x_11 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__5;
+x_12 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__14;
lean_inc(x_1);
-x_44 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_45 = lean_ctor_get(x_44, 3);
-lean_inc(x_45);
-if (lean_obj_tag(x_45) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_46; lean_object* x_47;
-x_46 = lean_ctor_get(x_44, 0);
-lean_inc(x_46);
-x_47 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_46);
-lean_dec(x_46);
-if (lean_obj_tag(x_47) == 2)
-{
-lean_object* x_48; lean_object* x_49; uint8_t x_50;
-x_48 = lean_ctor_get(x_47, 1);
-lean_inc(x_48);
-lean_dec(x_47);
-x_49 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__5;
-x_50 = lean_string_dec_eq(x_48, x_49);
-lean_dec(x_48);
-if (x_50 == 0)
-{
-lean_object* x_51; lean_object* x_52;
-x_51 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-x_52 = l_Lean_Parser_ParserState_mkErrorsAt(x_44, x_51, x_43);
-x_11 = x_52;
-goto block_42;
-}
-else
-{
-lean_dec(x_43);
-x_11 = x_44;
-goto block_42;
-}
-}
-else
-{
-lean_object* x_53; lean_object* x_54;
-lean_dec(x_47);
-x_53 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-x_54 = l_Lean_Parser_ParserState_mkErrorsAt(x_44, x_53, x_43);
-x_11 = x_54;
-goto block_42;
-}
-}
-else
-{
-lean_object* x_55; lean_object* x_56;
-lean_dec(x_45);
-x_55 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-x_56 = l_Lean_Parser_ParserState_mkErrorsAt(x_44, x_55, x_43);
-x_11 = x_56;
-goto block_42;
-}
-block_42:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-uint8_t x_13; lean_object* x_14; lean_object* x_15;
-x_13 = 1;
+uint8_t x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
+x_15 = 1;
+x_16 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_17 = l_Lean_Parser_Term_listLit___elambda__1___closed__6;
lean_inc(x_1);
-x_14 = l_Lean_Parser_sepByFn___at_Lean_Parser_Term_listLit___elambda__1___spec__1(x_13, x_1, x_11);
-x_15 = lean_ctor_get(x_14, 3);
-lean_inc(x_15);
-if (lean_obj_tag(x_15) == 0)
-{
-lean_object* x_16; lean_object* x_17; lean_object* x_18;
-x_16 = lean_ctor_get(x_14, 1);
-lean_inc(x_16);
-x_17 = l_Lean_Parser_tokenFn(x_1, x_14);
-x_18 = lean_ctor_get(x_17, 3);
-lean_inc(x_18);
-if (lean_obj_tag(x_18) == 0)
-{
-lean_object* x_19; lean_object* x_20;
-x_19 = lean_ctor_get(x_17, 0);
+x_18 = l_Lean_Parser_sepByFn(x_15, x_16, x_17, x_1, x_13);
+x_19 = lean_ctor_get(x_18, 3);
lean_inc(x_19);
-x_20 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_19);
+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;
+x_20 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__7;
+x_21 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__16;
+x_22 = l_Lean_Parser_symbolFnAux(x_20, x_21, x_1, x_18);
+x_23 = l_Lean_Parser_Term_listLit___elambda__1___closed__2;
+x_24 = l_Lean_Parser_ParserState_mkNode(x_22, x_23, x_10);
+return x_24;
+}
+else
+{
+lean_object* x_25; lean_object* x_26;
lean_dec(x_19);
-if (lean_obj_tag(x_20) == 2)
-{
-lean_object* x_21; lean_object* x_22; uint8_t x_23;
-x_21 = lean_ctor_get(x_20, 1);
-lean_inc(x_21);
-lean_dec(x_20);
-x_22 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__6;
-x_23 = lean_string_dec_eq(x_21, x_22);
-lean_dec(x_21);
-if (x_23 == 0)
-{
-lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
-x_24 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_25 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_24, x_16);
-x_26 = l_Lean_Parser_Term_listLit___elambda__1___closed__2;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_25, x_26, x_10);
-return x_27;
-}
-else
-{
-lean_object* x_28; lean_object* x_29;
-lean_dec(x_16);
-x_28 = l_Lean_Parser_Term_listLit___elambda__1___closed__2;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_17, x_28, x_10);
-return x_29;
-}
-}
-else
-{
-lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
-lean_dec(x_20);
-x_30 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_31 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_30, x_16);
-x_32 = l_Lean_Parser_Term_listLit___elambda__1___closed__2;
-x_33 = l_Lean_Parser_ParserState_mkNode(x_31, x_32, x_10);
-return x_33;
-}
-}
-else
-{
-lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-lean_dec(x_18);
-x_34 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_35 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_34, x_16);
-x_36 = l_Lean_Parser_Term_listLit___elambda__1___closed__2;
-x_37 = l_Lean_Parser_ParserState_mkNode(x_35, x_36, x_10);
-return x_37;
-}
-}
-else
-{
-lean_object* x_38; lean_object* x_39;
-lean_dec(x_15);
lean_dec(x_1);
-x_38 = l_Lean_Parser_Term_listLit___elambda__1___closed__2;
-x_39 = l_Lean_Parser_ParserState_mkNode(x_14, x_38, x_10);
-return x_39;
+x_25 = l_Lean_Parser_Term_listLit___elambda__1___closed__2;
+x_26 = l_Lean_Parser_ParserState_mkNode(x_18, x_25, x_10);
+return x_26;
}
}
else
{
-lean_object* x_40; lean_object* x_41;
-lean_dec(x_12);
+lean_object* x_27; lean_object* x_28;
+lean_dec(x_14);
lean_dec(x_1);
-x_40 = l_Lean_Parser_Term_listLit___elambda__1___closed__2;
-x_41 = l_Lean_Parser_ParserState_mkNode(x_11, x_40, x_10);
-return x_41;
-}
+x_27 = l_Lean_Parser_Term_listLit___elambda__1___closed__2;
+x_28 = l_Lean_Parser_ParserState_mkNode(x_13, x_27, x_10);
+return x_28;
}
}
else
@@ -31136,238 +21578,11 @@ return x_7;
}
else
{
-lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61;
-x_57 = lean_ctor_get(x_2, 0);
-lean_inc(x_57);
-x_58 = lean_array_get_size(x_57);
-lean_dec(x_57);
-x_59 = lean_ctor_get(x_2, 1);
-lean_inc(x_59);
-lean_inc(x_1);
-x_60 = lean_apply_2(x_4, x_1, x_2);
-x_61 = lean_ctor_get(x_60, 3);
-lean_inc(x_61);
-if (lean_obj_tag(x_61) == 0)
-{
-lean_dec(x_59);
-lean_dec(x_58);
-lean_dec(x_1);
-return x_60;
-}
-else
-{
-lean_object* x_62; lean_object* x_63; uint8_t x_64;
-x_62 = lean_ctor_get(x_61, 0);
-lean_inc(x_62);
-lean_dec(x_61);
-x_63 = lean_ctor_get(x_60, 1);
-lean_inc(x_63);
-x_64 = lean_nat_dec_eq(x_63, x_59);
-lean_dec(x_63);
-if (x_64 == 0)
-{
-lean_dec(x_62);
-lean_dec(x_59);
-lean_dec(x_58);
-lean_dec(x_1);
-return x_60;
-}
-else
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68;
-lean_inc(x_59);
-x_65 = l_Lean_Parser_ParserState_restore(x_60, x_58, x_59);
-lean_dec(x_58);
-x_66 = lean_unsigned_to_nat(1024u);
-x_67 = l_Lean_Parser_checkPrecFn(x_66, x_1, x_65);
-x_68 = lean_ctor_get(x_67, 3);
-lean_inc(x_68);
-if (lean_obj_tag(x_68) == 0)
-{
-lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_110; lean_object* x_111; lean_object* x_112;
-x_69 = lean_ctor_get(x_67, 0);
-lean_inc(x_69);
-x_70 = lean_array_get_size(x_69);
-lean_dec(x_69);
-x_110 = lean_ctor_get(x_67, 1);
-lean_inc(x_110);
-lean_inc(x_1);
-x_111 = l_Lean_Parser_tokenFn(x_1, x_67);
-x_112 = lean_ctor_get(x_111, 3);
-lean_inc(x_112);
-if (lean_obj_tag(x_112) == 0)
-{
-lean_object* x_113; lean_object* x_114;
-x_113 = lean_ctor_get(x_111, 0);
-lean_inc(x_113);
-x_114 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_113);
-lean_dec(x_113);
-if (lean_obj_tag(x_114) == 2)
-{
-lean_object* x_115; lean_object* x_116; uint8_t x_117;
-x_115 = lean_ctor_get(x_114, 1);
-lean_inc(x_115);
-lean_dec(x_114);
-x_116 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__5;
-x_117 = lean_string_dec_eq(x_115, x_116);
-lean_dec(x_115);
-if (x_117 == 0)
-{
-lean_object* x_118; lean_object* x_119;
-x_118 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-x_119 = l_Lean_Parser_ParserState_mkErrorsAt(x_111, x_118, x_110);
-x_71 = x_119;
-goto block_109;
-}
-else
-{
-lean_dec(x_110);
-x_71 = x_111;
-goto block_109;
-}
-}
-else
-{
-lean_object* x_120; lean_object* x_121;
-lean_dec(x_114);
-x_120 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-x_121 = l_Lean_Parser_ParserState_mkErrorsAt(x_111, x_120, x_110);
-x_71 = x_121;
-goto block_109;
-}
-}
-else
-{
-lean_object* x_122; lean_object* x_123;
-lean_dec(x_112);
-x_122 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-x_123 = l_Lean_Parser_ParserState_mkErrorsAt(x_111, x_122, x_110);
-x_71 = x_123;
-goto block_109;
-}
-block_109:
-{
-lean_object* x_72;
-x_72 = lean_ctor_get(x_71, 3);
-lean_inc(x_72);
-if (lean_obj_tag(x_72) == 0)
-{
-uint8_t x_73; lean_object* x_74; lean_object* x_75;
-x_73 = 1;
-lean_inc(x_1);
-x_74 = l_Lean_Parser_sepByFn___at_Lean_Parser_Term_listLit___elambda__1___spec__1(x_73, x_1, x_71);
-x_75 = lean_ctor_get(x_74, 3);
-lean_inc(x_75);
-if (lean_obj_tag(x_75) == 0)
-{
-lean_object* x_76; lean_object* x_77; lean_object* x_78;
-x_76 = lean_ctor_get(x_74, 1);
-lean_inc(x_76);
-x_77 = l_Lean_Parser_tokenFn(x_1, x_74);
-x_78 = lean_ctor_get(x_77, 3);
-lean_inc(x_78);
-if (lean_obj_tag(x_78) == 0)
-{
-lean_object* x_79; lean_object* x_80;
-x_79 = lean_ctor_get(x_77, 0);
-lean_inc(x_79);
-x_80 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_79);
-lean_dec(x_79);
-if (lean_obj_tag(x_80) == 2)
-{
-lean_object* x_81; lean_object* x_82; uint8_t x_83;
-x_81 = lean_ctor_get(x_80, 1);
-lean_inc(x_81);
-lean_dec(x_80);
-x_82 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__6;
-x_83 = lean_string_dec_eq(x_81, x_82);
-lean_dec(x_81);
-if (x_83 == 0)
-{
-lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88;
-x_84 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_85 = l_Lean_Parser_ParserState_mkErrorsAt(x_77, x_84, x_76);
-x_86 = l_Lean_Parser_Term_listLit___elambda__1___closed__2;
-x_87 = l_Lean_Parser_ParserState_mkNode(x_85, x_86, x_70);
-x_88 = l_Lean_Parser_mergeOrElseErrors(x_87, x_62, x_59, x_73);
-lean_dec(x_59);
-return x_88;
-}
-else
-{
-lean_object* x_89; lean_object* x_90; lean_object* x_91;
-lean_dec(x_76);
-x_89 = l_Lean_Parser_Term_listLit___elambda__1___closed__2;
-x_90 = l_Lean_Parser_ParserState_mkNode(x_77, x_89, x_70);
-x_91 = l_Lean_Parser_mergeOrElseErrors(x_90, x_62, x_59, x_73);
-lean_dec(x_59);
-return x_91;
-}
-}
-else
-{
-lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96;
-lean_dec(x_80);
-x_92 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_93 = l_Lean_Parser_ParserState_mkErrorsAt(x_77, x_92, x_76);
-x_94 = l_Lean_Parser_Term_listLit___elambda__1___closed__2;
-x_95 = l_Lean_Parser_ParserState_mkNode(x_93, x_94, x_70);
-x_96 = l_Lean_Parser_mergeOrElseErrors(x_95, x_62, x_59, x_73);
-lean_dec(x_59);
-return x_96;
-}
-}
-else
-{
-lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101;
-lean_dec(x_78);
-x_97 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_98 = l_Lean_Parser_ParserState_mkErrorsAt(x_77, x_97, x_76);
-x_99 = l_Lean_Parser_Term_listLit___elambda__1___closed__2;
-x_100 = l_Lean_Parser_ParserState_mkNode(x_98, x_99, x_70);
-x_101 = l_Lean_Parser_mergeOrElseErrors(x_100, x_62, x_59, x_73);
-lean_dec(x_59);
-return x_101;
-}
-}
-else
-{
-lean_object* x_102; lean_object* x_103; lean_object* x_104;
-lean_dec(x_75);
-lean_dec(x_1);
-x_102 = l_Lean_Parser_Term_listLit___elambda__1___closed__2;
-x_103 = l_Lean_Parser_ParserState_mkNode(x_74, x_102, x_70);
-x_104 = l_Lean_Parser_mergeOrElseErrors(x_103, x_62, x_59, x_73);
-lean_dec(x_59);
-return x_104;
-}
-}
-else
-{
-lean_object* x_105; lean_object* x_106; uint8_t x_107; lean_object* x_108;
-lean_dec(x_72);
-lean_dec(x_1);
-x_105 = l_Lean_Parser_Term_listLit___elambda__1___closed__2;
-x_106 = l_Lean_Parser_ParserState_mkNode(x_71, x_105, x_70);
-x_107 = 1;
-x_108 = l_Lean_Parser_mergeOrElseErrors(x_106, x_62, x_59, x_107);
-lean_dec(x_59);
-return x_108;
-}
-}
-}
-else
-{
-uint8_t x_124; lean_object* x_125;
-lean_dec(x_68);
-lean_dec(x_1);
-x_124 = 1;
-x_125 = l_Lean_Parser_mergeOrElseErrors(x_67, x_62, x_59, x_124);
-lean_dec(x_59);
-return x_125;
-}
-}
-}
+lean_object* x_29; uint8_t x_30; lean_object* x_31;
+x_29 = l_Lean_Parser_Term_listLit___elambda__1___closed__11;
+x_30 = 1;
+x_31 = l_Lean_Parser_orelseFnCore(x_4, x_29, x_30, x_1, x_2);
+return x_31;
}
}
}
@@ -31375,7 +21590,7 @@ static lean_object* _init_l_Lean_Parser_Term_listLit___closed__1() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_listLit___elambda__1___spec__2___closed__1;
+x_1 = l_Lean_Parser_Term_listLit___elambda__1___closed__5;
x_2 = l_Lean_Parser_symbolInfo(x_1);
return x_2;
}
@@ -31472,28 +21687,6 @@ x_1 = l_Lean_Parser_Term_listLit___closed__9;
return x_1;
}
}
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_listLit___elambda__1___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
-_start:
-{
-uint8_t x_6; uint8_t x_7; lean_object* x_8;
-x_6 = lean_unbox(x_1);
-lean_dec(x_1);
-x_7 = lean_unbox(x_3);
-lean_dec(x_3);
-x_8 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_listLit___elambda__1___spec__2(x_6, x_2, x_7, x_4, x_5);
-return x_8;
-}
-}
-lean_object* l_Lean_Parser_sepByFn___at_Lean_Parser_Term_listLit___elambda__1___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-uint8_t x_4; lean_object* x_5;
-x_4 = lean_unbox(x_1);
-lean_dec(x_1);
-x_5 = l_Lean_Parser_sepByFn___at_Lean_Parser_Term_listLit___elambda__1___spec__1(x_4, x_2, x_3);
-return x_5;
-}
-}
lean_object* l___regBuiltinParser_Lean_Parser_Term_listLit(lean_object* x_1) {
_start:
{
@@ -31718,11 +21911,11 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_arrayLit___elambda__1___closed__6() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_arrayLit___elambda__1___closed__5;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_arrayLit___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_arrayLit___elambda__1___closed__7() {
@@ -31730,8 +21923,10 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Term_arrayLit___elambda__1___closed__6;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_2 = l_Lean_Parser_Term_listLit___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -31739,11 +21934,43 @@ static lean_object* _init_l_Lean_Parser_Term_arrayLit___elambda__1___closed__8()
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Term_arrayLit___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_arrayLit___elambda__1___closed__7;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_arrayLit___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_arrayLit___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_arrayLit___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_arrayLit___elambda__1___closed__5;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_arrayLit___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_arrayLit___elambda__1___closed__10;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -31767,163 +21994,55 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_43; lean_object* x_44; lean_object* x_45;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_43 = lean_ctor_get(x_7, 1);
-lean_inc(x_43);
+x_11 = l_Lean_Parser_Term_arrayLit___elambda__1___closed__5;
+x_12 = l_Lean_Parser_Term_arrayLit___elambda__1___closed__11;
lean_inc(x_1);
-x_44 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_45 = lean_ctor_get(x_44, 3);
-lean_inc(x_45);
-if (lean_obj_tag(x_45) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_46; lean_object* x_47;
-x_46 = lean_ctor_get(x_44, 0);
-lean_inc(x_46);
-x_47 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_46);
-lean_dec(x_46);
-if (lean_obj_tag(x_47) == 2)
-{
-lean_object* x_48; lean_object* x_49; uint8_t x_50;
-x_48 = lean_ctor_get(x_47, 1);
-lean_inc(x_48);
-lean_dec(x_47);
-x_49 = l_Lean_Parser_Term_arrayLit___elambda__1___closed__5;
-x_50 = lean_string_dec_eq(x_48, x_49);
-lean_dec(x_48);
-if (x_50 == 0)
-{
-lean_object* x_51; lean_object* x_52;
-x_51 = l_Lean_Parser_Term_arrayLit___elambda__1___closed__8;
-x_52 = l_Lean_Parser_ParserState_mkErrorsAt(x_44, x_51, x_43);
-x_11 = x_52;
-goto block_42;
-}
-else
-{
-lean_dec(x_43);
-x_11 = x_44;
-goto block_42;
-}
-}
-else
-{
-lean_object* x_53; lean_object* x_54;
-lean_dec(x_47);
-x_53 = l_Lean_Parser_Term_arrayLit___elambda__1___closed__8;
-x_54 = l_Lean_Parser_ParserState_mkErrorsAt(x_44, x_53, x_43);
-x_11 = x_54;
-goto block_42;
-}
-}
-else
-{
-lean_object* x_55; lean_object* x_56;
-lean_dec(x_45);
-x_55 = l_Lean_Parser_Term_arrayLit___elambda__1___closed__8;
-x_56 = l_Lean_Parser_ParserState_mkErrorsAt(x_44, x_55, x_43);
-x_11 = x_56;
-goto block_42;
-}
-block_42:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-uint8_t x_13; lean_object* x_14; lean_object* x_15;
-x_13 = 1;
+uint8_t x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
+x_15 = 1;
+x_16 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_17 = l_Lean_Parser_Term_listLit___elambda__1___closed__6;
lean_inc(x_1);
-x_14 = l_Lean_Parser_sepByFn___at_Lean_Parser_Term_listLit___elambda__1___spec__1(x_13, x_1, x_11);
-x_15 = lean_ctor_get(x_14, 3);
-lean_inc(x_15);
-if (lean_obj_tag(x_15) == 0)
-{
-lean_object* x_16; lean_object* x_17; lean_object* x_18;
-x_16 = lean_ctor_get(x_14, 1);
-lean_inc(x_16);
-x_17 = l_Lean_Parser_tokenFn(x_1, x_14);
-x_18 = lean_ctor_get(x_17, 3);
-lean_inc(x_18);
-if (lean_obj_tag(x_18) == 0)
-{
-lean_object* x_19; lean_object* x_20;
-x_19 = lean_ctor_get(x_17, 0);
+x_18 = l_Lean_Parser_sepByFn(x_15, x_16, x_17, x_1, x_13);
+x_19 = lean_ctor_get(x_18, 3);
lean_inc(x_19);
-x_20 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_19);
+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;
+x_20 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__7;
+x_21 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__16;
+x_22 = l_Lean_Parser_symbolFnAux(x_20, x_21, x_1, x_18);
+x_23 = l_Lean_Parser_Term_arrayLit___elambda__1___closed__2;
+x_24 = l_Lean_Parser_ParserState_mkNode(x_22, x_23, x_10);
+return x_24;
+}
+else
+{
+lean_object* x_25; lean_object* x_26;
lean_dec(x_19);
-if (lean_obj_tag(x_20) == 2)
-{
-lean_object* x_21; lean_object* x_22; uint8_t x_23;
-x_21 = lean_ctor_get(x_20, 1);
-lean_inc(x_21);
-lean_dec(x_20);
-x_22 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__6;
-x_23 = lean_string_dec_eq(x_21, x_22);
-lean_dec(x_21);
-if (x_23 == 0)
-{
-lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
-x_24 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_25 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_24, x_16);
-x_26 = l_Lean_Parser_Term_arrayLit___elambda__1___closed__2;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_25, x_26, x_10);
-return x_27;
-}
-else
-{
-lean_object* x_28; lean_object* x_29;
-lean_dec(x_16);
-x_28 = l_Lean_Parser_Term_arrayLit___elambda__1___closed__2;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_17, x_28, x_10);
-return x_29;
-}
-}
-else
-{
-lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
-lean_dec(x_20);
-x_30 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_31 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_30, x_16);
-x_32 = l_Lean_Parser_Term_arrayLit___elambda__1___closed__2;
-x_33 = l_Lean_Parser_ParserState_mkNode(x_31, x_32, x_10);
-return x_33;
-}
-}
-else
-{
-lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-lean_dec(x_18);
-x_34 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_35 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_34, x_16);
-x_36 = l_Lean_Parser_Term_arrayLit___elambda__1___closed__2;
-x_37 = l_Lean_Parser_ParserState_mkNode(x_35, x_36, x_10);
-return x_37;
-}
-}
-else
-{
-lean_object* x_38; lean_object* x_39;
-lean_dec(x_15);
lean_dec(x_1);
-x_38 = l_Lean_Parser_Term_arrayLit___elambda__1___closed__2;
-x_39 = l_Lean_Parser_ParserState_mkNode(x_14, x_38, x_10);
-return x_39;
+x_25 = l_Lean_Parser_Term_arrayLit___elambda__1___closed__2;
+x_26 = l_Lean_Parser_ParserState_mkNode(x_18, x_25, x_10);
+return x_26;
}
}
else
{
-lean_object* x_40; lean_object* x_41;
-lean_dec(x_12);
+lean_object* x_27; lean_object* x_28;
+lean_dec(x_14);
lean_dec(x_1);
-x_40 = l_Lean_Parser_Term_arrayLit___elambda__1___closed__2;
-x_41 = l_Lean_Parser_ParserState_mkNode(x_11, x_40, x_10);
-return x_41;
-}
+x_27 = l_Lean_Parser_Term_arrayLit___elambda__1___closed__2;
+x_28 = l_Lean_Parser_ParserState_mkNode(x_13, x_27, x_10);
+return x_28;
}
}
else
@@ -31935,238 +22054,11 @@ return x_7;
}
else
{
-lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61;
-x_57 = lean_ctor_get(x_2, 0);
-lean_inc(x_57);
-x_58 = lean_array_get_size(x_57);
-lean_dec(x_57);
-x_59 = lean_ctor_get(x_2, 1);
-lean_inc(x_59);
-lean_inc(x_1);
-x_60 = lean_apply_2(x_4, x_1, x_2);
-x_61 = lean_ctor_get(x_60, 3);
-lean_inc(x_61);
-if (lean_obj_tag(x_61) == 0)
-{
-lean_dec(x_59);
-lean_dec(x_58);
-lean_dec(x_1);
-return x_60;
-}
-else
-{
-lean_object* x_62; lean_object* x_63; uint8_t x_64;
-x_62 = lean_ctor_get(x_61, 0);
-lean_inc(x_62);
-lean_dec(x_61);
-x_63 = lean_ctor_get(x_60, 1);
-lean_inc(x_63);
-x_64 = lean_nat_dec_eq(x_63, x_59);
-lean_dec(x_63);
-if (x_64 == 0)
-{
-lean_dec(x_62);
-lean_dec(x_59);
-lean_dec(x_58);
-lean_dec(x_1);
-return x_60;
-}
-else
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68;
-lean_inc(x_59);
-x_65 = l_Lean_Parser_ParserState_restore(x_60, x_58, x_59);
-lean_dec(x_58);
-x_66 = lean_unsigned_to_nat(1024u);
-x_67 = l_Lean_Parser_checkPrecFn(x_66, x_1, x_65);
-x_68 = lean_ctor_get(x_67, 3);
-lean_inc(x_68);
-if (lean_obj_tag(x_68) == 0)
-{
-lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_110; lean_object* x_111; lean_object* x_112;
-x_69 = lean_ctor_get(x_67, 0);
-lean_inc(x_69);
-x_70 = lean_array_get_size(x_69);
-lean_dec(x_69);
-x_110 = lean_ctor_get(x_67, 1);
-lean_inc(x_110);
-lean_inc(x_1);
-x_111 = l_Lean_Parser_tokenFn(x_1, x_67);
-x_112 = lean_ctor_get(x_111, 3);
-lean_inc(x_112);
-if (lean_obj_tag(x_112) == 0)
-{
-lean_object* x_113; lean_object* x_114;
-x_113 = lean_ctor_get(x_111, 0);
-lean_inc(x_113);
-x_114 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_113);
-lean_dec(x_113);
-if (lean_obj_tag(x_114) == 2)
-{
-lean_object* x_115; lean_object* x_116; uint8_t x_117;
-x_115 = lean_ctor_get(x_114, 1);
-lean_inc(x_115);
-lean_dec(x_114);
-x_116 = l_Lean_Parser_Term_arrayLit___elambda__1___closed__5;
-x_117 = lean_string_dec_eq(x_115, x_116);
-lean_dec(x_115);
-if (x_117 == 0)
-{
-lean_object* x_118; lean_object* x_119;
-x_118 = l_Lean_Parser_Term_arrayLit___elambda__1___closed__8;
-x_119 = l_Lean_Parser_ParserState_mkErrorsAt(x_111, x_118, x_110);
-x_71 = x_119;
-goto block_109;
-}
-else
-{
-lean_dec(x_110);
-x_71 = x_111;
-goto block_109;
-}
-}
-else
-{
-lean_object* x_120; lean_object* x_121;
-lean_dec(x_114);
-x_120 = l_Lean_Parser_Term_arrayLit___elambda__1___closed__8;
-x_121 = l_Lean_Parser_ParserState_mkErrorsAt(x_111, x_120, x_110);
-x_71 = x_121;
-goto block_109;
-}
-}
-else
-{
-lean_object* x_122; lean_object* x_123;
-lean_dec(x_112);
-x_122 = l_Lean_Parser_Term_arrayLit___elambda__1___closed__8;
-x_123 = l_Lean_Parser_ParserState_mkErrorsAt(x_111, x_122, x_110);
-x_71 = x_123;
-goto block_109;
-}
-block_109:
-{
-lean_object* x_72;
-x_72 = lean_ctor_get(x_71, 3);
-lean_inc(x_72);
-if (lean_obj_tag(x_72) == 0)
-{
-uint8_t x_73; lean_object* x_74; lean_object* x_75;
-x_73 = 1;
-lean_inc(x_1);
-x_74 = l_Lean_Parser_sepByFn___at_Lean_Parser_Term_listLit___elambda__1___spec__1(x_73, x_1, x_71);
-x_75 = lean_ctor_get(x_74, 3);
-lean_inc(x_75);
-if (lean_obj_tag(x_75) == 0)
-{
-lean_object* x_76; lean_object* x_77; lean_object* x_78;
-x_76 = lean_ctor_get(x_74, 1);
-lean_inc(x_76);
-x_77 = l_Lean_Parser_tokenFn(x_1, x_74);
-x_78 = lean_ctor_get(x_77, 3);
-lean_inc(x_78);
-if (lean_obj_tag(x_78) == 0)
-{
-lean_object* x_79; lean_object* x_80;
-x_79 = lean_ctor_get(x_77, 0);
-lean_inc(x_79);
-x_80 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_79);
-lean_dec(x_79);
-if (lean_obj_tag(x_80) == 2)
-{
-lean_object* x_81; lean_object* x_82; uint8_t x_83;
-x_81 = lean_ctor_get(x_80, 1);
-lean_inc(x_81);
-lean_dec(x_80);
-x_82 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__6;
-x_83 = lean_string_dec_eq(x_81, x_82);
-lean_dec(x_81);
-if (x_83 == 0)
-{
-lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88;
-x_84 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_85 = l_Lean_Parser_ParserState_mkErrorsAt(x_77, x_84, x_76);
-x_86 = l_Lean_Parser_Term_arrayLit___elambda__1___closed__2;
-x_87 = l_Lean_Parser_ParserState_mkNode(x_85, x_86, x_70);
-x_88 = l_Lean_Parser_mergeOrElseErrors(x_87, x_62, x_59, x_73);
-lean_dec(x_59);
-return x_88;
-}
-else
-{
-lean_object* x_89; lean_object* x_90; lean_object* x_91;
-lean_dec(x_76);
-x_89 = l_Lean_Parser_Term_arrayLit___elambda__1___closed__2;
-x_90 = l_Lean_Parser_ParserState_mkNode(x_77, x_89, x_70);
-x_91 = l_Lean_Parser_mergeOrElseErrors(x_90, x_62, x_59, x_73);
-lean_dec(x_59);
-return x_91;
-}
-}
-else
-{
-lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96;
-lean_dec(x_80);
-x_92 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_93 = l_Lean_Parser_ParserState_mkErrorsAt(x_77, x_92, x_76);
-x_94 = l_Lean_Parser_Term_arrayLit___elambda__1___closed__2;
-x_95 = l_Lean_Parser_ParserState_mkNode(x_93, x_94, x_70);
-x_96 = l_Lean_Parser_mergeOrElseErrors(x_95, x_62, x_59, x_73);
-lean_dec(x_59);
-return x_96;
-}
-}
-else
-{
-lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101;
-lean_dec(x_78);
-x_97 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_98 = l_Lean_Parser_ParserState_mkErrorsAt(x_77, x_97, x_76);
-x_99 = l_Lean_Parser_Term_arrayLit___elambda__1___closed__2;
-x_100 = l_Lean_Parser_ParserState_mkNode(x_98, x_99, x_70);
-x_101 = l_Lean_Parser_mergeOrElseErrors(x_100, x_62, x_59, x_73);
-lean_dec(x_59);
-return x_101;
-}
-}
-else
-{
-lean_object* x_102; lean_object* x_103; lean_object* x_104;
-lean_dec(x_75);
-lean_dec(x_1);
-x_102 = l_Lean_Parser_Term_arrayLit___elambda__1___closed__2;
-x_103 = l_Lean_Parser_ParserState_mkNode(x_74, x_102, x_70);
-x_104 = l_Lean_Parser_mergeOrElseErrors(x_103, x_62, x_59, x_73);
-lean_dec(x_59);
-return x_104;
-}
-}
-else
-{
-lean_object* x_105; lean_object* x_106; uint8_t x_107; lean_object* x_108;
-lean_dec(x_72);
-lean_dec(x_1);
-x_105 = l_Lean_Parser_Term_arrayLit___elambda__1___closed__2;
-x_106 = l_Lean_Parser_ParserState_mkNode(x_71, x_105, x_70);
-x_107 = 1;
-x_108 = l_Lean_Parser_mergeOrElseErrors(x_106, x_62, x_59, x_107);
-lean_dec(x_59);
-return x_108;
-}
-}
-}
-else
-{
-uint8_t x_124; lean_object* x_125;
-lean_dec(x_68);
-lean_dec(x_1);
-x_124 = 1;
-x_125 = l_Lean_Parser_mergeOrElseErrors(x_67, x_62, x_59, x_124);
-lean_dec(x_59);
-return x_125;
-}
-}
-}
+lean_object* x_29; uint8_t x_30; lean_object* x_31;
+x_29 = l_Lean_Parser_Term_arrayLit___elambda__1___closed__9;
+x_30 = 1;
+x_31 = l_Lean_Parser_orelseFnCore(x_4, x_29, x_30, x_1, x_2);
+return x_31;
}
}
}
@@ -32457,20 +22349,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_explicit___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_explicit___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_explicit___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_explicit___elambda__1___closed__8() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_explicit___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_2 = l_Lean_Parser_maxPrec;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_categoryParser___elambda__1), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -32478,11 +22372,55 @@ static lean_object* _init_l_Lean_Parser_Term_explicit___elambda__1___closed__9()
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Term_explicit___elambda__1___closed__7;
x_2 = l_Lean_Parser_Term_explicit___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_explicit___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_explicit___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_explicit___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_explicit___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_explicit___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_explicit___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_explicit___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_explicit___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_explicit___elambda__1___closed__12;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -32506,91 +22444,35 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_21; lean_object* x_22; lean_object* x_23;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_21 = lean_ctor_get(x_7, 1);
-lean_inc(x_21);
+x_11 = l_Lean_Parser_Term_explicit___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Term_explicit___elambda__1___closed__13;
lean_inc(x_1);
-x_22 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_23 = lean_ctor_get(x_22, 3);
-lean_inc(x_23);
-if (lean_obj_tag(x_23) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_24; lean_object* x_25;
-x_24 = lean_ctor_get(x_22, 0);
-lean_inc(x_24);
-x_25 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_24);
-lean_dec(x_24);
-if (lean_obj_tag(x_25) == 2)
-{
-lean_object* x_26; lean_object* x_27; uint8_t x_28;
-x_26 = lean_ctor_get(x_25, 1);
-lean_inc(x_26);
-lean_dec(x_25);
-x_27 = l_Lean_Parser_Term_explicit___elambda__1___closed__6;
-x_28 = lean_string_dec_eq(x_26, x_27);
-lean_dec(x_26);
-if (x_28 == 0)
-{
-lean_object* x_29; lean_object* x_30;
-x_29 = l_Lean_Parser_Term_explicit___elambda__1___closed__9;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_29, x_21);
-x_11 = x_30;
-goto block_20;
-}
-else
-{
-lean_dec(x_21);
-x_11 = x_22;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32;
-lean_dec(x_25);
-x_31 = l_Lean_Parser_Term_explicit___elambda__1___closed__9;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_31, x_21);
-x_11 = x_32;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_33; lean_object* x_34;
-lean_dec(x_23);
-x_33 = l_Lean_Parser_Term_explicit___elambda__1___closed__9;
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_33, x_21);
-x_11 = x_34;
-goto block_20;
-}
-block_20:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_13 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_14 = l_Lean_Parser_maxPrec;
-x_15 = l_Lean_Parser_categoryParser___elambda__1(x_13, x_14, x_1, x_11);
-x_16 = l_Lean_Parser_Term_explicit___elambda__1___closed__2;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_10);
-return x_17;
-}
-else
-{
-lean_object* x_18; lean_object* x_19;
-lean_dec(x_12);
-lean_dec(x_1);
+lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
+x_15 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_16 = l_Lean_Parser_maxPrec;
+x_17 = l_Lean_Parser_categoryParser___elambda__1(x_15, x_16, x_1, x_13);
x_18 = l_Lean_Parser_Term_explicit___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_11, x_18, x_10);
+x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_10);
return x_19;
}
+else
+{
+lean_object* x_20; lean_object* x_21;
+lean_dec(x_14);
+lean_dec(x_1);
+x_20 = l_Lean_Parser_Term_explicit___elambda__1___closed__2;
+x_21 = l_Lean_Parser_ParserState_mkNode(x_13, x_20, x_10);
+return x_21;
}
}
else
@@ -32602,159 +22484,11 @@ return x_7;
}
else
{
-lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_35 = lean_ctor_get(x_2, 0);
-lean_inc(x_35);
-x_36 = lean_array_get_size(x_35);
-lean_dec(x_35);
-x_37 = lean_ctor_get(x_2, 1);
-lean_inc(x_37);
-lean_inc(x_1);
-x_38 = lean_apply_2(x_4, x_1, x_2);
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_40; lean_object* x_41; uint8_t x_42;
-x_40 = lean_ctor_get(x_39, 0);
-lean_inc(x_40);
-lean_dec(x_39);
-x_41 = lean_ctor_get(x_38, 1);
-lean_inc(x_41);
-x_42 = lean_nat_dec_eq(x_41, x_37);
-lean_dec(x_41);
-if (x_42 == 0)
-{
-lean_dec(x_40);
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46;
-lean_inc(x_37);
-x_43 = l_Lean_Parser_ParserState_restore(x_38, x_36, x_37);
-lean_dec(x_36);
-x_44 = lean_unsigned_to_nat(1024u);
-x_45 = l_Lean_Parser_checkPrecFn(x_44, x_1, x_43);
-x_46 = lean_ctor_get(x_45, 3);
-lean_inc(x_46);
-if (lean_obj_tag(x_46) == 0)
-{
-lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_63; lean_object* x_64; lean_object* x_65;
-x_47 = lean_ctor_get(x_45, 0);
-lean_inc(x_47);
-x_48 = lean_array_get_size(x_47);
-lean_dec(x_47);
-x_63 = lean_ctor_get(x_45, 1);
-lean_inc(x_63);
-lean_inc(x_1);
-x_64 = l_Lean_Parser_tokenFn(x_1, x_45);
-x_65 = lean_ctor_get(x_64, 3);
-lean_inc(x_65);
-if (lean_obj_tag(x_65) == 0)
-{
-lean_object* x_66; lean_object* x_67;
-x_66 = lean_ctor_get(x_64, 0);
-lean_inc(x_66);
-x_67 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_66);
-lean_dec(x_66);
-if (lean_obj_tag(x_67) == 2)
-{
-lean_object* x_68; lean_object* x_69; uint8_t x_70;
-x_68 = lean_ctor_get(x_67, 1);
-lean_inc(x_68);
-lean_dec(x_67);
-x_69 = l_Lean_Parser_Term_explicit___elambda__1___closed__6;
-x_70 = lean_string_dec_eq(x_68, x_69);
-lean_dec(x_68);
-if (x_70 == 0)
-{
-lean_object* x_71; lean_object* x_72;
-x_71 = l_Lean_Parser_Term_explicit___elambda__1___closed__9;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_71, x_63);
-x_49 = x_72;
-goto block_62;
-}
-else
-{
-lean_dec(x_63);
-x_49 = x_64;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_73; lean_object* x_74;
-lean_dec(x_67);
-x_73 = l_Lean_Parser_Term_explicit___elambda__1___closed__9;
-x_74 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_73, x_63);
-x_49 = x_74;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_75; lean_object* x_76;
-lean_dec(x_65);
-x_75 = l_Lean_Parser_Term_explicit___elambda__1___closed__9;
-x_76 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_75, x_63);
-x_49 = x_76;
-goto block_62;
-}
-block_62:
-{
-lean_object* x_50;
-x_50 = lean_ctor_get(x_49, 3);
-lean_inc(x_50);
-if (lean_obj_tag(x_50) == 0)
-{
-lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; uint8_t x_56; lean_object* x_57;
-x_51 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_52 = l_Lean_Parser_maxPrec;
-x_53 = l_Lean_Parser_categoryParser___elambda__1(x_51, x_52, x_1, x_49);
-x_54 = l_Lean_Parser_Term_explicit___elambda__1___closed__2;
-x_55 = l_Lean_Parser_ParserState_mkNode(x_53, x_54, x_48);
-x_56 = 1;
-x_57 = l_Lean_Parser_mergeOrElseErrors(x_55, x_40, x_37, x_56);
-lean_dec(x_37);
-return x_57;
-}
-else
-{
-lean_object* x_58; lean_object* x_59; uint8_t x_60; lean_object* x_61;
-lean_dec(x_50);
-lean_dec(x_1);
-x_58 = l_Lean_Parser_Term_explicit___elambda__1___closed__2;
-x_59 = l_Lean_Parser_ParserState_mkNode(x_49, x_58, x_48);
-x_60 = 1;
-x_61 = l_Lean_Parser_mergeOrElseErrors(x_59, x_40, x_37, x_60);
-lean_dec(x_37);
-return x_61;
-}
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_46);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_45, x_40, x_37, x_77);
-lean_dec(x_37);
-return x_78;
-}
-}
-}
+lean_object* x_22; uint8_t x_23; lean_object* x_24;
+x_22 = l_Lean_Parser_Term_explicit___elambda__1___closed__11;
+x_23 = 1;
+x_24 = l_Lean_Parser_orelseFnCore(x_4, x_22, x_23, x_1, x_2);
+return x_24;
}
}
}
@@ -33079,20 +22813,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_inaccessible___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_inaccessible___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_inaccessible___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_inaccessible___elambda__1___closed__8() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_inaccessible___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_2 = l_Lean_Parser_Level_paren___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -33100,11 +22836,55 @@ static lean_object* _init_l_Lean_Parser_Term_inaccessible___elambda__1___closed_
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Term_inaccessible___elambda__1___closed__7;
x_2 = l_Lean_Parser_Term_inaccessible___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_inaccessible___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_inaccessible___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_inaccessible___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_inaccessible___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_inaccessible___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_inaccessible___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_inaccessible___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_inaccessible___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_inaccessible___elambda__1___closed__12;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -33128,164 +22908,54 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_44; lean_object* x_45; lean_object* x_46;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_44 = lean_ctor_get(x_7, 1);
-lean_inc(x_44);
+x_11 = l_Lean_Parser_Term_inaccessible___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Term_inaccessible___elambda__1___closed__13;
lean_inc(x_1);
-x_45 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_46 = lean_ctor_get(x_45, 3);
-lean_inc(x_46);
-if (lean_obj_tag(x_46) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_47; lean_object* x_48;
-x_47 = lean_ctor_get(x_45, 0);
-lean_inc(x_47);
-x_48 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_47);
-lean_dec(x_47);
-if (lean_obj_tag(x_48) == 2)
-{
-lean_object* x_49; lean_object* x_50; uint8_t x_51;
-x_49 = lean_ctor_get(x_48, 1);
-lean_inc(x_49);
-lean_dec(x_48);
-x_50 = l_Lean_Parser_Term_inaccessible___elambda__1___closed__6;
-x_51 = lean_string_dec_eq(x_49, x_50);
-lean_dec(x_49);
-if (x_51 == 0)
-{
-lean_object* x_52; lean_object* x_53;
-x_52 = l_Lean_Parser_Term_inaccessible___elambda__1___closed__9;
-x_53 = l_Lean_Parser_ParserState_mkErrorsAt(x_45, x_52, x_44);
-x_11 = x_53;
-goto block_43;
-}
-else
-{
-lean_dec(x_44);
-x_11 = x_45;
-goto block_43;
-}
-}
-else
-{
-lean_object* x_54; lean_object* x_55;
-lean_dec(x_48);
-x_54 = l_Lean_Parser_Term_inaccessible___elambda__1___closed__9;
-x_55 = l_Lean_Parser_ParserState_mkErrorsAt(x_45, x_54, x_44);
-x_11 = x_55;
-goto block_43;
-}
-}
-else
-{
-lean_object* x_56; lean_object* x_57;
-lean_dec(x_46);
-x_56 = l_Lean_Parser_Term_inaccessible___elambda__1___closed__9;
-x_57 = l_Lean_Parser_ParserState_mkErrorsAt(x_45, x_56, x_44);
-x_11 = x_57;
-goto block_43;
-}
-block_43:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
-x_13 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_14 = lean_unsigned_to_nat(0u);
+lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
+x_15 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_16 = lean_unsigned_to_nat(0u);
lean_inc(x_1);
-x_15 = l_Lean_Parser_categoryParser___elambda__1(x_13, x_14, x_1, x_11);
-x_16 = lean_ctor_get(x_15, 3);
-lean_inc(x_16);
-if (lean_obj_tag(x_16) == 0)
+x_17 = l_Lean_Parser_categoryParser___elambda__1(x_15, x_16, x_1, x_13);
+x_18 = lean_ctor_get(x_17, 3);
+lean_inc(x_18);
+if (lean_obj_tag(x_18) == 0)
{
-lean_object* x_17; lean_object* x_18; lean_object* x_19;
-x_17 = lean_ctor_get(x_15, 1);
-lean_inc(x_17);
-x_18 = l_Lean_Parser_tokenFn(x_1, x_15);
-x_19 = lean_ctor_get(x_18, 3);
-lean_inc(x_19);
-if (lean_obj_tag(x_19) == 0)
-{
-lean_object* x_20; lean_object* x_21;
-x_20 = lean_ctor_get(x_18, 0);
-lean_inc(x_20);
-x_21 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_20);
-lean_dec(x_20);
-if (lean_obj_tag(x_21) == 2)
-{
-lean_object* x_22; lean_object* x_23; uint8_t x_24;
-x_22 = lean_ctor_get(x_21, 1);
-lean_inc(x_22);
-lean_dec(x_21);
-x_23 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
-x_24 = lean_string_dec_eq(x_22, x_23);
-lean_dec(x_22);
-if (x_24 == 0)
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
-x_25 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_26 = l_Lean_Parser_ParserState_mkErrorsAt(x_18, x_25, x_17);
-x_27 = l_Lean_Parser_Term_inaccessible___elambda__1___closed__2;
-x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_10);
-return x_28;
+lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23;
+x_19 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
+x_20 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__9;
+x_21 = l_Lean_Parser_symbolFnAux(x_19, x_20, x_1, x_17);
+x_22 = l_Lean_Parser_Term_inaccessible___elambda__1___closed__2;
+x_23 = l_Lean_Parser_ParserState_mkNode(x_21, x_22, x_10);
+return x_23;
}
else
{
-lean_object* x_29; lean_object* x_30;
-lean_dec(x_17);
-x_29 = l_Lean_Parser_Term_inaccessible___elambda__1___closed__2;
-x_30 = l_Lean_Parser_ParserState_mkNode(x_18, x_29, x_10);
-return x_30;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34;
-lean_dec(x_21);
-x_31 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_18, x_31, x_17);
-x_33 = l_Lean_Parser_Term_inaccessible___elambda__1___closed__2;
-x_34 = l_Lean_Parser_ParserState_mkNode(x_32, x_33, x_10);
-return x_34;
-}
-}
-else
-{
-lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38;
-lean_dec(x_19);
-x_35 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_36 = l_Lean_Parser_ParserState_mkErrorsAt(x_18, x_35, x_17);
-x_37 = l_Lean_Parser_Term_inaccessible___elambda__1___closed__2;
-x_38 = l_Lean_Parser_ParserState_mkNode(x_36, x_37, x_10);
-return x_38;
-}
-}
-else
-{
-lean_object* x_39; lean_object* x_40;
-lean_dec(x_16);
+lean_object* x_24; lean_object* x_25;
+lean_dec(x_18);
lean_dec(x_1);
-x_39 = l_Lean_Parser_Term_inaccessible___elambda__1___closed__2;
-x_40 = l_Lean_Parser_ParserState_mkNode(x_15, x_39, x_10);
-return x_40;
+x_24 = l_Lean_Parser_Term_inaccessible___elambda__1___closed__2;
+x_25 = l_Lean_Parser_ParserState_mkNode(x_17, x_24, x_10);
+return x_25;
}
}
else
{
-lean_object* x_41; lean_object* x_42;
-lean_dec(x_12);
+lean_object* x_26; lean_object* x_27;
+lean_dec(x_14);
lean_dec(x_1);
-x_41 = l_Lean_Parser_Term_inaccessible___elambda__1___closed__2;
-x_42 = l_Lean_Parser_ParserState_mkNode(x_11, x_41, x_10);
-return x_42;
-}
+x_26 = l_Lean_Parser_Term_inaccessible___elambda__1___closed__2;
+x_27 = l_Lean_Parser_ParserState_mkNode(x_13, x_26, x_10);
+return x_27;
}
}
else
@@ -33297,244 +22967,11 @@ return x_7;
}
else
{
-lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62;
-x_58 = lean_ctor_get(x_2, 0);
-lean_inc(x_58);
-x_59 = lean_array_get_size(x_58);
-lean_dec(x_58);
-x_60 = lean_ctor_get(x_2, 1);
-lean_inc(x_60);
-lean_inc(x_1);
-x_61 = lean_apply_2(x_4, x_1, x_2);
-x_62 = lean_ctor_get(x_61, 3);
-lean_inc(x_62);
-if (lean_obj_tag(x_62) == 0)
-{
-lean_dec(x_60);
-lean_dec(x_59);
-lean_dec(x_1);
-return x_61;
-}
-else
-{
-lean_object* x_63; lean_object* x_64; uint8_t x_65;
-x_63 = lean_ctor_get(x_62, 0);
-lean_inc(x_63);
-lean_dec(x_62);
-x_64 = lean_ctor_get(x_61, 1);
-lean_inc(x_64);
-x_65 = lean_nat_dec_eq(x_64, x_60);
-lean_dec(x_64);
-if (x_65 == 0)
-{
-lean_dec(x_63);
-lean_dec(x_60);
-lean_dec(x_59);
-lean_dec(x_1);
-return x_61;
-}
-else
-{
-lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69;
-lean_inc(x_60);
-x_66 = l_Lean_Parser_ParserState_restore(x_61, x_59, x_60);
-lean_dec(x_59);
-x_67 = lean_unsigned_to_nat(1024u);
-x_68 = l_Lean_Parser_checkPrecFn(x_67, x_1, x_66);
-x_69 = lean_ctor_get(x_68, 3);
-lean_inc(x_69);
-if (lean_obj_tag(x_69) == 0)
-{
-lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_117; lean_object* x_118; lean_object* x_119;
-x_70 = lean_ctor_get(x_68, 0);
-lean_inc(x_70);
-x_71 = lean_array_get_size(x_70);
-lean_dec(x_70);
-x_117 = lean_ctor_get(x_68, 1);
-lean_inc(x_117);
-lean_inc(x_1);
-x_118 = l_Lean_Parser_tokenFn(x_1, x_68);
-x_119 = lean_ctor_get(x_118, 3);
-lean_inc(x_119);
-if (lean_obj_tag(x_119) == 0)
-{
-lean_object* x_120; lean_object* x_121;
-x_120 = lean_ctor_get(x_118, 0);
-lean_inc(x_120);
-x_121 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_120);
-lean_dec(x_120);
-if (lean_obj_tag(x_121) == 2)
-{
-lean_object* x_122; lean_object* x_123; uint8_t x_124;
-x_122 = lean_ctor_get(x_121, 1);
-lean_inc(x_122);
-lean_dec(x_121);
-x_123 = l_Lean_Parser_Term_inaccessible___elambda__1___closed__6;
-x_124 = lean_string_dec_eq(x_122, x_123);
-lean_dec(x_122);
-if (x_124 == 0)
-{
-lean_object* x_125; lean_object* x_126;
-x_125 = l_Lean_Parser_Term_inaccessible___elambda__1___closed__9;
-x_126 = l_Lean_Parser_ParserState_mkErrorsAt(x_118, x_125, x_117);
-x_72 = x_126;
-goto block_116;
-}
-else
-{
-lean_dec(x_117);
-x_72 = x_118;
-goto block_116;
-}
-}
-else
-{
-lean_object* x_127; lean_object* x_128;
-lean_dec(x_121);
-x_127 = l_Lean_Parser_Term_inaccessible___elambda__1___closed__9;
-x_128 = l_Lean_Parser_ParserState_mkErrorsAt(x_118, x_127, x_117);
-x_72 = x_128;
-goto block_116;
-}
-}
-else
-{
-lean_object* x_129; lean_object* x_130;
-lean_dec(x_119);
-x_129 = l_Lean_Parser_Term_inaccessible___elambda__1___closed__9;
-x_130 = l_Lean_Parser_ParserState_mkErrorsAt(x_118, x_129, x_117);
-x_72 = x_130;
-goto block_116;
-}
-block_116:
-{
-lean_object* x_73;
-x_73 = lean_ctor_get(x_72, 3);
-lean_inc(x_73);
-if (lean_obj_tag(x_73) == 0)
-{
-lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77;
-x_74 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_75 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_76 = l_Lean_Parser_categoryParser___elambda__1(x_74, x_75, x_1, x_72);
-x_77 = lean_ctor_get(x_76, 3);
-lean_inc(x_77);
-if (lean_obj_tag(x_77) == 0)
-{
-lean_object* x_78; lean_object* x_79; lean_object* x_80;
-x_78 = lean_ctor_get(x_76, 1);
-lean_inc(x_78);
-x_79 = l_Lean_Parser_tokenFn(x_1, x_76);
-x_80 = lean_ctor_get(x_79, 3);
-lean_inc(x_80);
-if (lean_obj_tag(x_80) == 0)
-{
-lean_object* x_81; lean_object* x_82;
-x_81 = lean_ctor_get(x_79, 0);
-lean_inc(x_81);
-x_82 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_81);
-lean_dec(x_81);
-if (lean_obj_tag(x_82) == 2)
-{
-lean_object* x_83; lean_object* x_84; uint8_t x_85;
-x_83 = lean_ctor_get(x_82, 1);
-lean_inc(x_83);
-lean_dec(x_82);
-x_84 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
-x_85 = lean_string_dec_eq(x_83, x_84);
-lean_dec(x_83);
-if (x_85 == 0)
-{
-lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; uint8_t x_90; lean_object* x_91;
-x_86 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_87 = l_Lean_Parser_ParserState_mkErrorsAt(x_79, x_86, x_78);
-x_88 = l_Lean_Parser_Term_inaccessible___elambda__1___closed__2;
-x_89 = l_Lean_Parser_ParserState_mkNode(x_87, x_88, x_71);
-x_90 = 1;
-x_91 = l_Lean_Parser_mergeOrElseErrors(x_89, x_63, x_60, x_90);
-lean_dec(x_60);
-return x_91;
-}
-else
-{
-lean_object* x_92; lean_object* x_93; uint8_t x_94; lean_object* x_95;
-lean_dec(x_78);
-x_92 = l_Lean_Parser_Term_inaccessible___elambda__1___closed__2;
-x_93 = l_Lean_Parser_ParserState_mkNode(x_79, x_92, x_71);
-x_94 = 1;
-x_95 = l_Lean_Parser_mergeOrElseErrors(x_93, x_63, x_60, x_94);
-lean_dec(x_60);
-return x_95;
-}
-}
-else
-{
-lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; uint8_t x_100; lean_object* x_101;
-lean_dec(x_82);
-x_96 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_97 = l_Lean_Parser_ParserState_mkErrorsAt(x_79, x_96, x_78);
-x_98 = l_Lean_Parser_Term_inaccessible___elambda__1___closed__2;
-x_99 = l_Lean_Parser_ParserState_mkNode(x_97, x_98, x_71);
-x_100 = 1;
-x_101 = l_Lean_Parser_mergeOrElseErrors(x_99, x_63, x_60, x_100);
-lean_dec(x_60);
-return x_101;
-}
-}
-else
-{
-lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; uint8_t x_106; lean_object* x_107;
-lean_dec(x_80);
-x_102 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_103 = l_Lean_Parser_ParserState_mkErrorsAt(x_79, x_102, x_78);
-x_104 = l_Lean_Parser_Term_inaccessible___elambda__1___closed__2;
-x_105 = l_Lean_Parser_ParserState_mkNode(x_103, x_104, x_71);
-x_106 = 1;
-x_107 = l_Lean_Parser_mergeOrElseErrors(x_105, x_63, x_60, x_106);
-lean_dec(x_60);
-return x_107;
-}
-}
-else
-{
-lean_object* x_108; lean_object* x_109; uint8_t x_110; lean_object* x_111;
-lean_dec(x_77);
-lean_dec(x_1);
-x_108 = l_Lean_Parser_Term_inaccessible___elambda__1___closed__2;
-x_109 = l_Lean_Parser_ParserState_mkNode(x_76, x_108, x_71);
-x_110 = 1;
-x_111 = l_Lean_Parser_mergeOrElseErrors(x_109, x_63, x_60, x_110);
-lean_dec(x_60);
-return x_111;
-}
-}
-else
-{
-lean_object* x_112; lean_object* x_113; uint8_t x_114; lean_object* x_115;
-lean_dec(x_73);
-lean_dec(x_1);
-x_112 = l_Lean_Parser_Term_inaccessible___elambda__1___closed__2;
-x_113 = l_Lean_Parser_ParserState_mkNode(x_72, x_112, x_71);
-x_114 = 1;
-x_115 = l_Lean_Parser_mergeOrElseErrors(x_113, x_63, x_60, x_114);
-lean_dec(x_60);
-return x_115;
-}
-}
-}
-else
-{
-uint8_t x_131; lean_object* x_132;
-lean_dec(x_69);
-lean_dec(x_1);
-x_131 = 1;
-x_132 = l_Lean_Parser_mergeOrElseErrors(x_68, x_63, x_60, x_131);
-lean_dec(x_60);
-return x_132;
-}
-}
-}
+lean_object* x_28; uint8_t x_29; lean_object* x_30;
+x_28 = l_Lean_Parser_Term_inaccessible___elambda__1___closed__11;
+x_29 = 1;
+x_30 = l_Lean_Parser_orelseFnCore(x_4, x_28, x_29, x_1, x_2);
+return x_30;
}
}
}
@@ -33793,56 +23230,13 @@ return x_5;
lean_object* l_Lean_Parser_Term_binderIdent___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-lean_inc(x_1);
-x_6 = l_Lean_Parser_Term_ident___elambda__1(x_1, x_2);
-x_7 = lean_ctor_get(x_6, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
-{
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_1);
+lean_object* x_3; lean_object* x_4; uint8_t x_5; lean_object* x_6;
+x_3 = l_Lean_Parser_Term_ident___closed__1;
+x_4 = l_Lean_Parser_Term_hole___closed__4;
+x_5 = 1;
+x_6 = l_Lean_Parser_orelseFnCore(x_3, x_4, x_5, x_1, x_2);
return x_6;
}
-else
-{
-lean_object* x_8; lean_object* x_9; uint8_t x_10;
-x_8 = lean_ctor_get(x_7, 0);
-lean_inc(x_8);
-lean_dec(x_7);
-x_9 = lean_ctor_get(x_6, 1);
-lean_inc(x_9);
-x_10 = lean_nat_dec_eq(x_9, x_5);
-lean_dec(x_9);
-if (x_10 == 0)
-{
-lean_dec(x_8);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_6;
-}
-else
-{
-lean_object* x_11; lean_object* x_12; uint8_t x_13; lean_object* x_14;
-lean_inc(x_5);
-x_11 = l_Lean_Parser_ParserState_restore(x_6, x_4, x_5);
-lean_dec(x_4);
-x_12 = l_Lean_Parser_Term_hole___elambda__1(x_1, x_11);
-x_13 = 1;
-x_14 = l_Lean_Parser_mergeOrElseErrors(x_12, x_8, x_5, x_13);
-lean_dec(x_5);
-return x_14;
-}
-}
-}
}
static lean_object* _init_l_Lean_Parser_Term_binderIdent___closed__1() {
_start:
@@ -33875,233 +23269,44 @@ return x_1;
lean_object* l_Lean_Parser_Term_binderType___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_29; lean_object* x_30;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-lean_inc(x_1);
-x_29 = l_Lean_Parser_tokenFn(x_1, x_2);
-x_30 = lean_ctor_get(x_29, 3);
-lean_inc(x_30);
-if (lean_obj_tag(x_30) == 0)
-{
-lean_object* x_31; lean_object* x_32;
-x_31 = lean_ctor_get(x_29, 0);
-lean_inc(x_31);
-x_32 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_31);
-lean_dec(x_31);
-if (lean_obj_tag(x_32) == 2)
-{
-lean_object* x_33; lean_object* x_34; uint8_t x_35;
-x_33 = lean_ctor_get(x_32, 1);
-lean_inc(x_33);
-lean_dec(x_32);
-x_34 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__3;
-x_35 = lean_string_dec_eq(x_33, x_34);
-lean_dec(x_33);
-if (x_35 == 0)
-{
-lean_object* x_36; lean_object* x_37;
-x_36 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-lean_inc(x_5);
-x_37 = l_Lean_Parser_ParserState_mkErrorsAt(x_29, x_36, x_5);
-x_6 = x_37;
-goto block_28;
-}
-else
-{
-x_6 = x_29;
-goto block_28;
-}
-}
-else
-{
-lean_object* x_38; lean_object* x_39;
-lean_dec(x_32);
-x_38 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-lean_inc(x_5);
-x_39 = l_Lean_Parser_ParserState_mkErrorsAt(x_29, x_38, x_5);
-x_6 = x_39;
-goto block_28;
-}
-}
-else
-{
-lean_object* x_40; lean_object* x_41;
-lean_dec(x_30);
-x_40 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-lean_inc(x_5);
-x_41 = l_Lean_Parser_ParserState_mkErrorsAt(x_29, x_40, x_5);
-x_6 = x_41;
-goto block_28;
-}
-block_28:
-{
-lean_object* x_7;
-x_7 = lean_ctor_get(x_6, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
-{
-lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
-x_8 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_9 = lean_unsigned_to_nat(0u);
-x_10 = l_Lean_Parser_categoryParser___elambda__1(x_8, x_9, x_1, x_6);
-x_11 = lean_ctor_get(x_10, 3);
-lean_inc(x_11);
-if (lean_obj_tag(x_11) == 0)
-{
-lean_object* x_12; lean_object* x_13;
-lean_dec(x_5);
-x_12 = l_Lean_nullKind;
-x_13 = l_Lean_Parser_ParserState_mkNode(x_10, x_12, x_4);
-return x_13;
-}
-else
-{
-lean_object* x_14; uint8_t x_15;
-lean_dec(x_11);
-x_14 = lean_ctor_get(x_10, 1);
-lean_inc(x_14);
-x_15 = lean_nat_dec_eq(x_14, x_5);
-lean_dec(x_14);
-if (x_15 == 0)
-{
-lean_object* x_16; lean_object* x_17;
-lean_dec(x_5);
-x_16 = l_Lean_nullKind;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_10, x_16, x_4);
-return x_17;
-}
-else
-{
-lean_object* x_18; lean_object* x_19; lean_object* x_20;
-x_18 = l_Lean_Parser_ParserState_restore(x_10, x_4, x_5);
-x_19 = l_Lean_nullKind;
-x_20 = l_Lean_Parser_ParserState_mkNode(x_18, x_19, x_4);
-return x_20;
-}
-}
-}
-else
-{
-lean_object* x_21; uint8_t x_22;
-lean_dec(x_7);
-lean_dec(x_1);
-x_21 = lean_ctor_get(x_6, 1);
-lean_inc(x_21);
-x_22 = lean_nat_dec_eq(x_21, x_5);
-lean_dec(x_21);
-if (x_22 == 0)
-{
-lean_object* x_23; lean_object* x_24;
-lean_dec(x_5);
-x_23 = l_Lean_nullKind;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_6, x_23, x_4);
-return x_24;
-}
-else
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27;
-x_25 = l_Lean_Parser_ParserState_restore(x_6, x_4, x_5);
-x_26 = l_Lean_nullKind;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_25, x_26, x_4);
-return x_27;
-}
-}
-}
+lean_object* x_3; lean_object* x_4;
+x_3 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__5;
+x_4 = l_Lean_Parser_optionalFn(x_3, x_1, x_2);
+return x_4;
}
}
lean_object* l_Lean_Parser_Term_binderType___elambda__2(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_15; lean_object* x_16; lean_object* x_17;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8;
x_3 = lean_ctor_get(x_2, 0);
lean_inc(x_3);
x_4 = lean_array_get_size(x_3);
lean_dec(x_3);
-x_15 = lean_ctor_get(x_2, 1);
-lean_inc(x_15);
+x_5 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__3;
+x_6 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__9;
lean_inc(x_1);
-x_16 = l_Lean_Parser_tokenFn(x_1, x_2);
-x_17 = lean_ctor_get(x_16, 3);
-lean_inc(x_17);
-if (lean_obj_tag(x_17) == 0)
+x_7 = l_Lean_Parser_symbolFnAux(x_5, x_6, x_1, x_2);
+x_8 = lean_ctor_get(x_7, 3);
+lean_inc(x_8);
+if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_18; lean_object* x_19;
-x_18 = lean_ctor_get(x_16, 0);
-lean_inc(x_18);
-x_19 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_18);
-lean_dec(x_18);
-if (lean_obj_tag(x_19) == 2)
-{
-lean_object* x_20; lean_object* x_21; uint8_t x_22;
-x_20 = lean_ctor_get(x_19, 1);
-lean_inc(x_20);
-lean_dec(x_19);
-x_21 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__3;
-x_22 = lean_string_dec_eq(x_20, x_21);
-lean_dec(x_20);
-if (x_22 == 0)
-{
-lean_object* x_23; lean_object* x_24;
-x_23 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-x_24 = l_Lean_Parser_ParserState_mkErrorsAt(x_16, x_23, x_15);
-x_5 = x_24;
-goto block_14;
-}
-else
-{
-lean_dec(x_15);
-x_5 = x_16;
-goto block_14;
-}
-}
-else
-{
-lean_object* x_25; lean_object* x_26;
-lean_dec(x_19);
-x_25 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-x_26 = l_Lean_Parser_ParserState_mkErrorsAt(x_16, x_25, x_15);
-x_5 = x_26;
-goto block_14;
-}
-}
-else
-{
-lean_object* x_27; lean_object* x_28;
-lean_dec(x_17);
-x_27 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-x_28 = l_Lean_Parser_ParserState_mkErrorsAt(x_16, x_27, x_15);
-x_5 = x_28;
-goto block_14;
-}
-block_14:
-{
-lean_object* x_6;
-x_6 = lean_ctor_get(x_5, 3);
-lean_inc(x_6);
-if (lean_obj_tag(x_6) == 0)
-{
-lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
-x_7 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_8 = lean_unsigned_to_nat(0u);
-x_9 = l_Lean_Parser_categoryParser___elambda__1(x_7, x_8, x_1, x_5);
-x_10 = l_Lean_nullKind;
-x_11 = l_Lean_Parser_ParserState_mkNode(x_9, x_10, x_4);
-return x_11;
-}
-else
-{
-lean_object* x_12; lean_object* x_13;
-lean_dec(x_6);
-lean_dec(x_1);
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
+x_9 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_10 = lean_unsigned_to_nat(0u);
+x_11 = l_Lean_Parser_categoryParser___elambda__1(x_9, x_10, x_1, x_7);
x_12 = l_Lean_nullKind;
-x_13 = l_Lean_Parser_ParserState_mkNode(x_5, x_12, x_4);
+x_13 = l_Lean_Parser_ParserState_mkNode(x_11, x_12, x_4);
return x_13;
}
+else
+{
+lean_object* x_14; lean_object* x_15;
+lean_dec(x_8);
+lean_dec(x_1);
+x_14 = l_Lean_nullKind;
+x_15 = l_Lean_Parser_ParserState_mkNode(x_7, x_14, x_4);
+return x_15;
}
}
}
@@ -34250,32 +23455,70 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_binderTactic___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_binderTactic___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_binderTactic___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_binderTactic___elambda__1___closed__8() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_binderTactic___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Term_binderTactic___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
static lean_object* _init_l_Lean_Parser_Term_binderTactic___elambda__1___closed__9() {
_start:
{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_binderTactic___elambda__1___closed__8;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_tryFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_binderTactic___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
+x_1 = l_Lean_Parser_Tactic_tacticSeq;
+x_2 = lean_ctor_get(x_1, 1);
+lean_inc(x_2);
+x_3 = l_Lean_Parser_Term_binderTactic___elambda__1___closed__9;
+x_4 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_4, 0, x_3);
+lean_closure_set(x_4, 1, x_2);
+return x_4;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_binderTactic___elambda__1___closed__11() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Term_binderTactic___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_1 = l_Lean_Parser_Term_binderTactic___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_binderTactic___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_binderTactic___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_binderTactic___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -34302,233 +23545,33 @@ x_10 = lean_ctor_get(x_9, 3);
lean_inc(x_10);
if (lean_obj_tag(x_10) == 0)
{
-lean_object* 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_29; lean_object* x_61; lean_object* x_62;
+lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15;
x_11 = lean_ctor_get(x_9, 0);
lean_inc(x_11);
-x_12 = lean_ctor_get(x_9, 1);
-lean_inc(x_12);
-x_13 = lean_array_get_size(x_11);
+x_12 = lean_array_get_size(x_11);
lean_dec(x_11);
+x_13 = l_Lean_Parser_Term_binderTactic___elambda__1___closed__8;
lean_inc(x_1);
-x_61 = l_Lean_Parser_tokenFn(x_1, x_9);
-x_62 = lean_ctor_get(x_61, 3);
-lean_inc(x_62);
-if (lean_obj_tag(x_62) == 0)
+x_14 = l_Lean_Parser_tryFn(x_13, x_1, x_9);
+x_15 = lean_ctor_get(x_14, 3);
+lean_inc(x_15);
+if (lean_obj_tag(x_15) == 0)
{
-lean_object* x_63; lean_object* x_64;
-x_63 = lean_ctor_get(x_61, 0);
-lean_inc(x_63);
-x_64 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_63);
-lean_dec(x_63);
-if (lean_obj_tag(x_64) == 2)
-{
-lean_object* x_65; lean_object* x_66; uint8_t x_67;
-x_65 = lean_ctor_get(x_64, 1);
-lean_inc(x_65);
-lean_dec(x_64);
-x_66 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__5;
-x_67 = lean_string_dec_eq(x_65, x_66);
-lean_dec(x_65);
-if (x_67 == 0)
-{
-lean_object* x_68; lean_object* x_69;
-x_68 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-lean_inc(x_12);
-x_69 = l_Lean_Parser_ParserState_mkErrorsAt(x_61, x_68, x_12);
-x_29 = x_69;
-goto block_60;
+lean_object* x_16; lean_object* x_17; lean_object* x_18;
+x_16 = lean_apply_2(x_4, x_1, x_14);
+x_17 = l_Lean_Parser_Term_binderTactic___elambda__1___closed__2;
+x_18 = l_Lean_Parser_ParserState_mkNode(x_16, x_17, x_12);
+return x_18;
}
else
{
-x_29 = x_61;
-goto block_60;
-}
-}
-else
-{
-lean_object* x_70; lean_object* x_71;
-lean_dec(x_64);
-x_70 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-lean_inc(x_12);
-x_71 = l_Lean_Parser_ParserState_mkErrorsAt(x_61, x_70, x_12);
-x_29 = x_71;
-goto block_60;
-}
-}
-else
-{
-lean_object* x_72; lean_object* x_73;
-lean_dec(x_62);
-x_72 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-lean_inc(x_12);
-x_73 = l_Lean_Parser_ParserState_mkErrorsAt(x_61, x_72, x_12);
-x_29 = x_73;
-goto block_60;
-}
-block_28:
-{
-if (lean_obj_tag(x_17) == 0)
-{
-lean_object* x_18;
-lean_dec(x_16);
+lean_object* x_19; lean_object* x_20;
lean_dec(x_15);
-lean_dec(x_12);
-x_18 = lean_ctor_get(x_14, 3);
-lean_inc(x_18);
-if (lean_obj_tag(x_18) == 0)
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21;
-x_19 = lean_apply_2(x_4, x_1, x_14);
-x_20 = l_Lean_Parser_Term_binderTactic___elambda__1___closed__2;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_13);
-return x_21;
-}
-else
-{
-lean_object* x_22; lean_object* x_23;
-lean_dec(x_18);
lean_dec(x_4);
lean_dec(x_1);
-x_22 = l_Lean_Parser_Term_binderTactic___elambda__1___closed__2;
-x_23 = l_Lean_Parser_ParserState_mkNode(x_14, x_22, x_13);
-return x_23;
-}
-}
-else
-{
-lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
-lean_dec(x_14);
-lean_dec(x_4);
-lean_dec(x_1);
-x_24 = l_Array_shrink___main___rarg(x_15, x_13);
-x_25 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_25, 0, x_24);
-lean_ctor_set(x_25, 1, x_12);
-lean_ctor_set(x_25, 2, x_16);
-lean_ctor_set(x_25, 3, x_17);
-x_26 = l_Lean_Parser_Term_binderTactic___elambda__1___closed__2;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_25, x_26, x_13);
-return x_27;
-}
-}
-block_60:
-{
-lean_object* x_30;
-x_30 = lean_ctor_get(x_29, 3);
-lean_inc(x_30);
-if (lean_obj_tag(x_30) == 0)
-{
-lean_object* x_31; lean_object* x_32; lean_object* x_33;
-x_31 = lean_ctor_get(x_29, 1);
-lean_inc(x_31);
-lean_inc(x_1);
-x_32 = l_Lean_Parser_tokenFn(x_1, x_29);
-x_33 = lean_ctor_get(x_32, 3);
-lean_inc(x_33);
-if (lean_obj_tag(x_33) == 0)
-{
-lean_object* x_34; lean_object* x_35;
-x_34 = lean_ctor_get(x_32, 0);
-lean_inc(x_34);
-x_35 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_34);
-lean_dec(x_34);
-if (lean_obj_tag(x_35) == 2)
-{
-lean_object* x_36; lean_object* x_37; uint8_t x_38;
-x_36 = lean_ctor_get(x_35, 1);
-lean_inc(x_36);
-lean_dec(x_35);
-x_37 = l_Lean_Parser_Term_binderTactic___elambda__1___closed__6;
-x_38 = lean_string_dec_eq(x_36, x_37);
-lean_dec(x_36);
-if (x_38 == 0)
-{
-lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43;
-x_39 = l_Lean_Parser_Term_binderTactic___elambda__1___closed__9;
-x_40 = l_Lean_Parser_ParserState_mkErrorsAt(x_32, x_39, x_31);
-x_41 = lean_ctor_get(x_40, 0);
-lean_inc(x_41);
-x_42 = lean_ctor_get(x_40, 2);
-lean_inc(x_42);
-x_43 = lean_ctor_get(x_40, 3);
-lean_inc(x_43);
-x_14 = x_40;
-x_15 = x_41;
-x_16 = x_42;
-x_17 = x_43;
-goto block_28;
-}
-else
-{
-lean_object* x_44; lean_object* x_45; lean_object* x_46;
-lean_dec(x_31);
-x_44 = lean_ctor_get(x_32, 0);
-lean_inc(x_44);
-x_45 = lean_ctor_get(x_32, 2);
-lean_inc(x_45);
-x_46 = lean_ctor_get(x_32, 3);
-lean_inc(x_46);
-x_14 = x_32;
-x_15 = x_44;
-x_16 = x_45;
-x_17 = x_46;
-goto block_28;
-}
-}
-else
-{
-lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51;
-lean_dec(x_35);
-x_47 = l_Lean_Parser_Term_binderTactic___elambda__1___closed__9;
-x_48 = l_Lean_Parser_ParserState_mkErrorsAt(x_32, x_47, x_31);
-x_49 = lean_ctor_get(x_48, 0);
-lean_inc(x_49);
-x_50 = lean_ctor_get(x_48, 2);
-lean_inc(x_50);
-x_51 = lean_ctor_get(x_48, 3);
-lean_inc(x_51);
-x_14 = x_48;
-x_15 = x_49;
-x_16 = x_50;
-x_17 = x_51;
-goto block_28;
-}
-}
-else
-{
-lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56;
-lean_dec(x_33);
-x_52 = l_Lean_Parser_Term_binderTactic___elambda__1___closed__9;
-x_53 = l_Lean_Parser_ParserState_mkErrorsAt(x_32, x_52, x_31);
-x_54 = lean_ctor_get(x_53, 0);
-lean_inc(x_54);
-x_55 = lean_ctor_get(x_53, 2);
-lean_inc(x_55);
-x_56 = lean_ctor_get(x_53, 3);
-lean_inc(x_56);
-x_14 = x_53;
-x_15 = x_54;
-x_16 = x_55;
-x_17 = x_56;
-goto block_28;
-}
-}
-else
-{
-lean_object* x_57; lean_object* x_58; lean_object* x_59;
-lean_dec(x_30);
-x_57 = lean_ctor_get(x_29, 0);
-lean_inc(x_57);
-x_58 = lean_ctor_get(x_29, 2);
-lean_inc(x_58);
-x_59 = lean_ctor_get(x_29, 3);
-lean_inc(x_59);
-x_14 = x_29;
-x_15 = x_57;
-x_16 = x_58;
-x_17 = x_59;
-goto block_28;
-}
+x_19 = l_Lean_Parser_Term_binderTactic___elambda__1___closed__2;
+x_20 = l_Lean_Parser_ParserState_mkNode(x_14, x_19, x_12);
+return x_20;
}
}
else
@@ -34541,307 +23584,12 @@ return x_9;
}
else
{
-lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78;
-x_74 = lean_ctor_get(x_2, 0);
-lean_inc(x_74);
-x_75 = lean_array_get_size(x_74);
-lean_dec(x_74);
-x_76 = lean_ctor_get(x_2, 1);
-lean_inc(x_76);
-lean_inc(x_1);
-x_77 = lean_apply_2(x_6, x_1, x_2);
-x_78 = lean_ctor_get(x_77, 3);
-lean_inc(x_78);
-if (lean_obj_tag(x_78) == 0)
-{
-lean_dec(x_76);
-lean_dec(x_75);
+lean_object* x_21; uint8_t x_22; lean_object* x_23;
lean_dec(x_4);
-lean_dec(x_1);
-return x_77;
-}
-else
-{
-lean_object* x_79; lean_object* x_80; uint8_t x_81;
-x_79 = lean_ctor_get(x_78, 0);
-lean_inc(x_79);
-lean_dec(x_78);
-x_80 = lean_ctor_get(x_77, 1);
-lean_inc(x_80);
-x_81 = lean_nat_dec_eq(x_80, x_76);
-lean_dec(x_80);
-if (x_81 == 0)
-{
-lean_dec(x_79);
-lean_dec(x_76);
-lean_dec(x_75);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_77;
-}
-else
-{
-lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85;
-lean_inc(x_76);
-x_82 = l_Lean_Parser_ParserState_restore(x_77, x_75, x_76);
-lean_dec(x_75);
-x_83 = lean_unsigned_to_nat(1024u);
-x_84 = l_Lean_Parser_checkPrecFn(x_83, x_1, x_82);
-x_85 = lean_ctor_get(x_84, 3);
-lean_inc(x_85);
-if (lean_obj_tag(x_85) == 0)
-{
-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_110; lean_object* x_142; lean_object* x_143;
-x_86 = lean_ctor_get(x_84, 0);
-lean_inc(x_86);
-x_87 = lean_ctor_get(x_84, 1);
-lean_inc(x_87);
-x_88 = lean_array_get_size(x_86);
-lean_dec(x_86);
-lean_inc(x_1);
-x_142 = l_Lean_Parser_tokenFn(x_1, x_84);
-x_143 = lean_ctor_get(x_142, 3);
-lean_inc(x_143);
-if (lean_obj_tag(x_143) == 0)
-{
-lean_object* x_144; lean_object* x_145;
-x_144 = lean_ctor_get(x_142, 0);
-lean_inc(x_144);
-x_145 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_144);
-lean_dec(x_144);
-if (lean_obj_tag(x_145) == 2)
-{
-lean_object* x_146; lean_object* x_147; uint8_t x_148;
-x_146 = lean_ctor_get(x_145, 1);
-lean_inc(x_146);
-lean_dec(x_145);
-x_147 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__5;
-x_148 = lean_string_dec_eq(x_146, x_147);
-lean_dec(x_146);
-if (x_148 == 0)
-{
-lean_object* x_149; lean_object* x_150;
-x_149 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-lean_inc(x_87);
-x_150 = l_Lean_Parser_ParserState_mkErrorsAt(x_142, x_149, x_87);
-x_110 = x_150;
-goto block_141;
-}
-else
-{
-x_110 = x_142;
-goto block_141;
-}
-}
-else
-{
-lean_object* x_151; lean_object* x_152;
-lean_dec(x_145);
-x_151 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-lean_inc(x_87);
-x_152 = l_Lean_Parser_ParserState_mkErrorsAt(x_142, x_151, x_87);
-x_110 = x_152;
-goto block_141;
-}
-}
-else
-{
-lean_object* x_153; lean_object* x_154;
-lean_dec(x_143);
-x_153 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-lean_inc(x_87);
-x_154 = l_Lean_Parser_ParserState_mkErrorsAt(x_142, x_153, x_87);
-x_110 = x_154;
-goto block_141;
-}
-block_109:
-{
-if (lean_obj_tag(x_92) == 0)
-{
-lean_object* x_93;
-lean_dec(x_91);
-lean_dec(x_90);
-lean_dec(x_87);
-x_93 = lean_ctor_get(x_89, 3);
-lean_inc(x_93);
-if (lean_obj_tag(x_93) == 0)
-{
-lean_object* x_94; lean_object* x_95; lean_object* x_96; uint8_t x_97; lean_object* x_98;
-x_94 = lean_apply_2(x_4, x_1, x_89);
-x_95 = l_Lean_Parser_Term_binderTactic___elambda__1___closed__2;
-x_96 = l_Lean_Parser_ParserState_mkNode(x_94, x_95, x_88);
-x_97 = 1;
-x_98 = l_Lean_Parser_mergeOrElseErrors(x_96, x_79, x_76, x_97);
-lean_dec(x_76);
-return x_98;
-}
-else
-{
-lean_object* x_99; lean_object* x_100; uint8_t x_101; lean_object* x_102;
-lean_dec(x_93);
-lean_dec(x_4);
-lean_dec(x_1);
-x_99 = l_Lean_Parser_Term_binderTactic___elambda__1___closed__2;
-x_100 = l_Lean_Parser_ParserState_mkNode(x_89, x_99, x_88);
-x_101 = 1;
-x_102 = l_Lean_Parser_mergeOrElseErrors(x_100, x_79, x_76, x_101);
-lean_dec(x_76);
-return x_102;
-}
-}
-else
-{
-lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; uint8_t x_107; lean_object* x_108;
-lean_dec(x_89);
-lean_dec(x_4);
-lean_dec(x_1);
-x_103 = l_Array_shrink___main___rarg(x_90, x_88);
-x_104 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_104, 0, x_103);
-lean_ctor_set(x_104, 1, x_87);
-lean_ctor_set(x_104, 2, x_91);
-lean_ctor_set(x_104, 3, x_92);
-x_105 = l_Lean_Parser_Term_binderTactic___elambda__1___closed__2;
-x_106 = l_Lean_Parser_ParserState_mkNode(x_104, x_105, x_88);
-x_107 = 1;
-x_108 = l_Lean_Parser_mergeOrElseErrors(x_106, x_79, x_76, x_107);
-lean_dec(x_76);
-return x_108;
-}
-}
-block_141:
-{
-lean_object* x_111;
-x_111 = lean_ctor_get(x_110, 3);
-lean_inc(x_111);
-if (lean_obj_tag(x_111) == 0)
-{
-lean_object* x_112; lean_object* x_113; lean_object* x_114;
-x_112 = lean_ctor_get(x_110, 1);
-lean_inc(x_112);
-lean_inc(x_1);
-x_113 = l_Lean_Parser_tokenFn(x_1, x_110);
-x_114 = lean_ctor_get(x_113, 3);
-lean_inc(x_114);
-if (lean_obj_tag(x_114) == 0)
-{
-lean_object* x_115; lean_object* x_116;
-x_115 = lean_ctor_get(x_113, 0);
-lean_inc(x_115);
-x_116 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_115);
-lean_dec(x_115);
-if (lean_obj_tag(x_116) == 2)
-{
-lean_object* x_117; lean_object* x_118; uint8_t x_119;
-x_117 = lean_ctor_get(x_116, 1);
-lean_inc(x_117);
-lean_dec(x_116);
-x_118 = l_Lean_Parser_Term_binderTactic___elambda__1___closed__6;
-x_119 = lean_string_dec_eq(x_117, x_118);
-lean_dec(x_117);
-if (x_119 == 0)
-{
-lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124;
-x_120 = l_Lean_Parser_Term_binderTactic___elambda__1___closed__9;
-x_121 = l_Lean_Parser_ParserState_mkErrorsAt(x_113, x_120, x_112);
-x_122 = lean_ctor_get(x_121, 0);
-lean_inc(x_122);
-x_123 = lean_ctor_get(x_121, 2);
-lean_inc(x_123);
-x_124 = lean_ctor_get(x_121, 3);
-lean_inc(x_124);
-x_89 = x_121;
-x_90 = x_122;
-x_91 = x_123;
-x_92 = x_124;
-goto block_109;
-}
-else
-{
-lean_object* x_125; lean_object* x_126; lean_object* x_127;
-lean_dec(x_112);
-x_125 = lean_ctor_get(x_113, 0);
-lean_inc(x_125);
-x_126 = lean_ctor_get(x_113, 2);
-lean_inc(x_126);
-x_127 = lean_ctor_get(x_113, 3);
-lean_inc(x_127);
-x_89 = x_113;
-x_90 = x_125;
-x_91 = x_126;
-x_92 = x_127;
-goto block_109;
-}
-}
-else
-{
-lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132;
-lean_dec(x_116);
-x_128 = l_Lean_Parser_Term_binderTactic___elambda__1___closed__9;
-x_129 = l_Lean_Parser_ParserState_mkErrorsAt(x_113, x_128, x_112);
-x_130 = lean_ctor_get(x_129, 0);
-lean_inc(x_130);
-x_131 = lean_ctor_get(x_129, 2);
-lean_inc(x_131);
-x_132 = lean_ctor_get(x_129, 3);
-lean_inc(x_132);
-x_89 = x_129;
-x_90 = x_130;
-x_91 = x_131;
-x_92 = x_132;
-goto block_109;
-}
-}
-else
-{
-lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137;
-lean_dec(x_114);
-x_133 = l_Lean_Parser_Term_binderTactic___elambda__1___closed__9;
-x_134 = l_Lean_Parser_ParserState_mkErrorsAt(x_113, x_133, x_112);
-x_135 = lean_ctor_get(x_134, 0);
-lean_inc(x_135);
-x_136 = lean_ctor_get(x_134, 2);
-lean_inc(x_136);
-x_137 = lean_ctor_get(x_134, 3);
-lean_inc(x_137);
-x_89 = x_134;
-x_90 = x_135;
-x_91 = x_136;
-x_92 = x_137;
-goto block_109;
-}
-}
-else
-{
-lean_object* x_138; lean_object* x_139; lean_object* x_140;
-lean_dec(x_111);
-x_138 = lean_ctor_get(x_110, 0);
-lean_inc(x_138);
-x_139 = lean_ctor_get(x_110, 2);
-lean_inc(x_139);
-x_140 = lean_ctor_get(x_110, 3);
-lean_inc(x_140);
-x_89 = x_110;
-x_90 = x_138;
-x_91 = x_139;
-x_92 = x_140;
-goto block_109;
-}
-}
-}
-else
-{
-uint8_t x_155; lean_object* x_156;
-lean_dec(x_85);
-lean_dec(x_4);
-lean_dec(x_1);
-x_155 = 1;
-x_156 = l_Lean_Parser_mergeOrElseErrors(x_84, x_79, x_76, x_155);
-lean_dec(x_76);
-return x_156;
-}
-}
-}
+x_21 = l_Lean_Parser_Term_binderTactic___elambda__1___closed__12;
+x_22 = 1;
+x_23 = l_Lean_Parser_orelseFnCore(x_6, x_21, x_22, x_1, x_2);
+return x_23;
}
}
}
@@ -34975,6 +23723,30 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Term_binderDefault___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_binderDefault___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_binderDefault___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_binderDefault___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Term_binderDefault___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -34995,91 +23767,35 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_21; lean_object* x_22; lean_object* x_23;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_21 = lean_ctor_get(x_7, 1);
-lean_inc(x_21);
+x_11 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__5;
+x_12 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__11;
lean_inc(x_1);
-x_22 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_23 = lean_ctor_get(x_22, 3);
-lean_inc(x_23);
-if (lean_obj_tag(x_23) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_24; lean_object* x_25;
-x_24 = lean_ctor_get(x_22, 0);
-lean_inc(x_24);
-x_25 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_24);
-lean_dec(x_24);
-if (lean_obj_tag(x_25) == 2)
-{
-lean_object* x_26; lean_object* x_27; uint8_t x_28;
-x_26 = lean_ctor_get(x_25, 1);
-lean_inc(x_26);
-lean_dec(x_25);
-x_27 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__5;
-x_28 = lean_string_dec_eq(x_26, x_27);
-lean_dec(x_26);
-if (x_28 == 0)
-{
-lean_object* x_29; lean_object* x_30;
-x_29 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_29, x_21);
-x_11 = x_30;
-goto block_20;
-}
-else
-{
-lean_dec(x_21);
-x_11 = x_22;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32;
-lean_dec(x_25);
-x_31 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_31, x_21);
-x_11 = x_32;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_33; lean_object* x_34;
-lean_dec(x_23);
-x_33 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_33, x_21);
-x_11 = x_34;
-goto block_20;
-}
-block_20:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_13 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_14 = lean_unsigned_to_nat(0u);
-x_15 = l_Lean_Parser_categoryParser___elambda__1(x_13, x_14, x_1, x_11);
-x_16 = l_Lean_Parser_Term_binderDefault___elambda__1___closed__2;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_10);
-return x_17;
-}
-else
-{
-lean_object* x_18; lean_object* x_19;
-lean_dec(x_12);
-lean_dec(x_1);
+lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
+x_15 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_16 = lean_unsigned_to_nat(0u);
+x_17 = l_Lean_Parser_categoryParser___elambda__1(x_15, x_16, x_1, x_13);
x_18 = l_Lean_Parser_Term_binderDefault___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_11, x_18, x_10);
+x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_10);
return x_19;
}
+else
+{
+lean_object* x_20; lean_object* x_21;
+lean_dec(x_14);
+lean_dec(x_1);
+x_20 = l_Lean_Parser_Term_binderDefault___elambda__1___closed__2;
+x_21 = l_Lean_Parser_ParserState_mkNode(x_13, x_20, x_10);
+return x_21;
}
}
else
@@ -35091,159 +23807,11 @@ return x_7;
}
else
{
-lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_35 = lean_ctor_get(x_2, 0);
-lean_inc(x_35);
-x_36 = lean_array_get_size(x_35);
-lean_dec(x_35);
-x_37 = lean_ctor_get(x_2, 1);
-lean_inc(x_37);
-lean_inc(x_1);
-x_38 = lean_apply_2(x_4, x_1, x_2);
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_40; lean_object* x_41; uint8_t x_42;
-x_40 = lean_ctor_get(x_39, 0);
-lean_inc(x_40);
-lean_dec(x_39);
-x_41 = lean_ctor_get(x_38, 1);
-lean_inc(x_41);
-x_42 = lean_nat_dec_eq(x_41, x_37);
-lean_dec(x_41);
-if (x_42 == 0)
-{
-lean_dec(x_40);
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46;
-lean_inc(x_37);
-x_43 = l_Lean_Parser_ParserState_restore(x_38, x_36, x_37);
-lean_dec(x_36);
-x_44 = lean_unsigned_to_nat(1024u);
-x_45 = l_Lean_Parser_checkPrecFn(x_44, x_1, x_43);
-x_46 = lean_ctor_get(x_45, 3);
-lean_inc(x_46);
-if (lean_obj_tag(x_46) == 0)
-{
-lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_63; lean_object* x_64; lean_object* x_65;
-x_47 = lean_ctor_get(x_45, 0);
-lean_inc(x_47);
-x_48 = lean_array_get_size(x_47);
-lean_dec(x_47);
-x_63 = lean_ctor_get(x_45, 1);
-lean_inc(x_63);
-lean_inc(x_1);
-x_64 = l_Lean_Parser_tokenFn(x_1, x_45);
-x_65 = lean_ctor_get(x_64, 3);
-lean_inc(x_65);
-if (lean_obj_tag(x_65) == 0)
-{
-lean_object* x_66; lean_object* x_67;
-x_66 = lean_ctor_get(x_64, 0);
-lean_inc(x_66);
-x_67 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_66);
-lean_dec(x_66);
-if (lean_obj_tag(x_67) == 2)
-{
-lean_object* x_68; lean_object* x_69; uint8_t x_70;
-x_68 = lean_ctor_get(x_67, 1);
-lean_inc(x_68);
-lean_dec(x_67);
-x_69 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__5;
-x_70 = lean_string_dec_eq(x_68, x_69);
-lean_dec(x_68);
-if (x_70 == 0)
-{
-lean_object* x_71; lean_object* x_72;
-x_71 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_71, x_63);
-x_49 = x_72;
-goto block_62;
-}
-else
-{
-lean_dec(x_63);
-x_49 = x_64;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_73; lean_object* x_74;
-lean_dec(x_67);
-x_73 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-x_74 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_73, x_63);
-x_49 = x_74;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_75; lean_object* x_76;
-lean_dec(x_65);
-x_75 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-x_76 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_75, x_63);
-x_49 = x_76;
-goto block_62;
-}
-block_62:
-{
-lean_object* x_50;
-x_50 = lean_ctor_get(x_49, 3);
-lean_inc(x_50);
-if (lean_obj_tag(x_50) == 0)
-{
-lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; uint8_t x_56; lean_object* x_57;
-x_51 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_52 = lean_unsigned_to_nat(0u);
-x_53 = l_Lean_Parser_categoryParser___elambda__1(x_51, x_52, x_1, x_49);
-x_54 = l_Lean_Parser_Term_binderDefault___elambda__1___closed__2;
-x_55 = l_Lean_Parser_ParserState_mkNode(x_53, x_54, x_48);
-x_56 = 1;
-x_57 = l_Lean_Parser_mergeOrElseErrors(x_55, x_40, x_37, x_56);
-lean_dec(x_37);
-return x_57;
-}
-else
-{
-lean_object* x_58; lean_object* x_59; uint8_t x_60; lean_object* x_61;
-lean_dec(x_50);
-lean_dec(x_1);
-x_58 = l_Lean_Parser_Term_binderDefault___elambda__1___closed__2;
-x_59 = l_Lean_Parser_ParserState_mkNode(x_49, x_58, x_48);
-x_60 = 1;
-x_61 = l_Lean_Parser_mergeOrElseErrors(x_59, x_40, x_37, x_60);
-lean_dec(x_37);
-return x_61;
-}
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_46);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_45, x_40, x_37, x_77);
-lean_dec(x_37);
-return x_78;
-}
-}
-}
+lean_object* x_22; uint8_t x_23; lean_object* x_24;
+x_22 = l_Lean_Parser_Term_binderDefault___elambda__1___closed__6;
+x_23 = 1;
+x_24 = l_Lean_Parser_orelseFnCore(x_4, x_22, x_23, x_1, x_2);
+return x_24;
}
}
}
@@ -35365,57 +23933,10 @@ return x_7;
}
else
{
-lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12;
-x_8 = lean_ctor_get(x_3, 0);
-lean_inc(x_8);
-x_9 = lean_array_get_size(x_8);
-lean_dec(x_8);
-x_10 = lean_ctor_get(x_3, 1);
-lean_inc(x_10);
-lean_inc(x_2);
-x_11 = lean_apply_2(x_5, x_2, x_3);
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_dec(x_10);
-lean_dec(x_9);
-lean_dec(x_2);
-lean_dec(x_1);
-return x_11;
-}
-else
-{
-lean_object* x_13; lean_object* x_14; uint8_t x_15;
-x_13 = lean_ctor_get(x_12, 0);
-lean_inc(x_13);
-lean_dec(x_12);
-x_14 = lean_ctor_get(x_11, 1);
-lean_inc(x_14);
-x_15 = lean_nat_dec_eq(x_14, x_10);
-lean_dec(x_14);
-if (x_15 == 0)
-{
-lean_dec(x_13);
-lean_dec(x_10);
-lean_dec(x_9);
-lean_dec(x_2);
-lean_dec(x_1);
-return x_11;
-}
-else
-{
-lean_object* x_16; lean_object* x_17; uint8_t x_18; lean_object* x_19;
-lean_inc(x_10);
-x_16 = l_Lean_Parser_ParserState_restore(x_11, x_9, x_10);
-lean_dec(x_9);
-x_17 = lean_apply_2(x_1, x_2, x_16);
-x_18 = 1;
-x_19 = l_Lean_Parser_mergeOrElseErrors(x_17, x_13, x_10, x_18);
-lean_dec(x_10);
-return x_19;
-}
-}
+uint8_t x_8; lean_object* x_9;
+x_8 = 1;
+x_9 = l_Lean_Parser_orelseFnCore(x_5, x_1, x_8, x_2, x_3);
+return x_9;
}
}
}
@@ -35423,23 +23944,13 @@ static lean_object* _init_l_Lean_Parser_Term_explicitBinder___closed__1() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__3;
-x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
-lean_closure_set(x_2, 0, x_1);
-return x_2;
-}
-}
-static lean_object* _init_l_Lean_Parser_Term_explicitBinder___closed__2() {
-_start:
-{
-lean_object* x_1; lean_object* x_2;
x_1 = l_Lean_Parser_Term_binderIdent___closed__1;
x_2 = lean_alloc_closure((void*)(l_Lean_Parser_many1Fn), 3, 1);
lean_closure_set(x_2, 0, x_1);
return x_2;
}
}
-static lean_object* _init_l_Lean_Parser_Term_explicitBinder___closed__3() {
+static lean_object* _init_l_Lean_Parser_Term_explicitBinder___closed__2() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
@@ -35453,7 +23964,7 @@ x_5 = l_Lean_Parser_orelseInfo(x_2, x_4);
return x_5;
}
}
-static lean_object* _init_l_Lean_Parser_Term_explicitBinder___closed__4() {
+static lean_object* _init_l_Lean_Parser_Term_explicitBinder___closed__3() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
@@ -35465,67 +23976,47 @@ lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
+static lean_object* _init_l_Lean_Parser_Term_explicitBinder___closed__4() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_explicitBinder___closed__2;
+x_2 = l_Lean_Parser_optionaInfo(x_1);
+return x_2;
+}
+}
static lean_object* _init_l_Lean_Parser_Term_explicitBinder___closed__5() {
_start:
{
lean_object* x_1; lean_object* x_2;
x_1 = l_Lean_Parser_Term_explicitBinder___closed__3;
-x_2 = l_Lean_Parser_optionaInfo(x_1);
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optionalFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_explicitBinder___closed__6() {
_start:
{
-lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Term_explicitBinder___closed__4;
-x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optionalFn), 3, 1);
-lean_closure_set(x_2, 0, x_1);
-return x_2;
-}
-}
-static lean_object* _init_l_Lean_Parser_Term_explicitBinder___closed__7() {
-_start:
-{
-lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
-x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
-lean_closure_set(x_2, 0, x_1);
-return x_2;
-}
-}
-static lean_object* _init_l_Lean_Parser_Term_explicitBinder___closed__8() {
-_start:
-{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_explicitBinder___closed__5;
+x_1 = l_Lean_Parser_Term_explicitBinder___closed__4;
x_2 = l_Lean_Parser_antiquotNestedExpr___closed__2;
x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Term_explicitBinder___closed__9() {
+static lean_object* _init_l_Lean_Parser_Term_explicitBinder___closed__7() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_explicitBinder___closed__6;
-x_2 = l_Lean_Parser_Term_explicitBinder___closed__7;
+x_1 = l_Lean_Parser_Term_explicitBinder___closed__5;
+x_2 = l_Lean_Parser_Level_paren___elambda__1___closed__4;
x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
lean_closure_set(x_3, 0, x_1);
lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Term_explicitBinder___closed__10() {
-_start:
-{
-lean_object* x_1; lean_object* x_2;
-x_1 = lean_unsigned_to_nat(1024u);
-x_2 = lean_alloc_closure((void*)(l_Lean_Parser_checkPrecFn___boxed), 3, 1);
-lean_closure_set(x_2, 0, x_1);
-return x_2;
-}
-}
lean_object* l_Lean_Parser_Term_explicitBinder(uint8_t x_1) {
_start:
{
@@ -35536,23 +24027,23 @@ lean_inc(x_3);
x_4 = l_Lean_Parser_Term_binderType(x_1);
x_5 = lean_ctor_get(x_4, 0);
lean_inc(x_5);
-x_6 = l_Lean_Parser_Term_explicitBinder___closed__8;
+x_6 = l_Lean_Parser_Term_explicitBinder___closed__6;
x_7 = l_Lean_Parser_andthenInfo(x_5, x_6);
x_8 = lean_ctor_get(x_4, 1);
lean_inc(x_8);
lean_dec(x_4);
-x_9 = l_Lean_Parser_Term_explicitBinder___closed__9;
+x_9 = l_Lean_Parser_Term_explicitBinder___closed__7;
x_10 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
lean_closure_set(x_10, 0, x_8);
lean_closure_set(x_10, 1, x_9);
x_11 = l_Lean_Parser_andthenInfo(x_3, x_7);
-x_12 = l_Lean_Parser_Term_explicitBinder___closed__2;
+x_12 = l_Lean_Parser_Term_explicitBinder___closed__1;
x_13 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
lean_closure_set(x_13, 0, x_12);
lean_closure_set(x_13, 1, x_10);
x_14 = l_Lean_Parser_antiquotNestedExpr___closed__1;
x_15 = l_Lean_Parser_andthenInfo(x_14, x_11);
-x_16 = l_Lean_Parser_Term_explicitBinder___closed__1;
+x_16 = l_Lean_Parser_Level_paren___elambda__1___closed__3;
x_17 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
lean_closure_set(x_17, 0, x_16);
lean_closure_set(x_17, 1, x_13);
@@ -35563,7 +24054,7 @@ lean_closure_set(x_20, 0, x_18);
lean_closure_set(x_20, 1, x_17);
x_21 = l_Lean_Parser_epsilonInfo;
x_22 = l_Lean_Parser_andthenInfo(x_21, x_19);
-x_23 = l_Lean_Parser_Term_explicitBinder___closed__10;
+x_23 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
x_24 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
lean_closure_set(x_24, 0, x_23);
lean_closure_set(x_24, 1, x_20);
@@ -35647,78 +24138,11 @@ return x_7;
}
else
{
-lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12;
-x_8 = lean_ctor_get(x_3, 0);
-lean_inc(x_8);
-x_9 = lean_array_get_size(x_8);
-lean_dec(x_8);
-x_10 = lean_ctor_get(x_3, 1);
-lean_inc(x_10);
-lean_inc(x_2);
-x_11 = lean_apply_2(x_5, x_2, x_3);
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_dec(x_10);
-lean_dec(x_9);
-lean_dec(x_2);
-lean_dec(x_1);
-return x_11;
+uint8_t x_8; lean_object* x_9;
+x_8 = 1;
+x_9 = l_Lean_Parser_orelseFnCore(x_5, x_1, x_8, x_2, x_3);
+return x_9;
}
-else
-{
-lean_object* x_13; lean_object* x_14; uint8_t x_15;
-x_13 = lean_ctor_get(x_12, 0);
-lean_inc(x_13);
-lean_dec(x_12);
-x_14 = lean_ctor_get(x_11, 1);
-lean_inc(x_14);
-x_15 = lean_nat_dec_eq(x_14, x_10);
-lean_dec(x_14);
-if (x_15 == 0)
-{
-lean_dec(x_13);
-lean_dec(x_10);
-lean_dec(x_9);
-lean_dec(x_2);
-lean_dec(x_1);
-return x_11;
-}
-else
-{
-lean_object* x_16; lean_object* x_17; uint8_t x_18; lean_object* x_19;
-lean_inc(x_10);
-x_16 = l_Lean_Parser_ParserState_restore(x_11, x_9, x_10);
-lean_dec(x_9);
-x_17 = lean_apply_2(x_1, x_2, x_16);
-x_18 = 1;
-x_19 = l_Lean_Parser_mergeOrElseErrors(x_17, x_13, x_10, x_18);
-lean_dec(x_10);
-return x_19;
-}
-}
-}
-}
-}
-static lean_object* _init_l_Lean_Parser_Term_implicitBinder___closed__1() {
-_start:
-{
-lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__5;
-x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
-lean_closure_set(x_2, 0, x_1);
-return x_2;
-}
-}
-static lean_object* _init_l_Lean_Parser_Term_implicitBinder___closed__2() {
-_start:
-{
-lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__6;
-x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
-lean_closure_set(x_2, 0, x_1);
-return x_2;
}
}
lean_object* l_Lean_Parser_Term_implicitBinder(uint8_t x_1) {
@@ -35736,18 +24160,18 @@ x_7 = l_Lean_Parser_andthenInfo(x_5, x_6);
x_8 = lean_ctor_get(x_4, 1);
lean_inc(x_8);
lean_dec(x_4);
-x_9 = l_Lean_Parser_Term_implicitBinder___closed__2;
+x_9 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
x_10 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
lean_closure_set(x_10, 0, x_8);
lean_closure_set(x_10, 1, x_9);
x_11 = l_Lean_Parser_andthenInfo(x_3, x_7);
-x_12 = l_Lean_Parser_Term_explicitBinder___closed__2;
+x_12 = l_Lean_Parser_Term_explicitBinder___closed__1;
x_13 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
lean_closure_set(x_13, 0, x_12);
lean_closure_set(x_13, 1, x_10);
x_14 = l_Lean_Parser_Tactic_tacticSeqBracketed___closed__1;
x_15 = l_Lean_Parser_andthenInfo(x_14, x_11);
-x_16 = l_Lean_Parser_Term_implicitBinder___closed__1;
+x_16 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__6;
x_17 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
lean_closure_set(x_17, 0, x_16);
lean_closure_set(x_17, 1, x_13);
@@ -35758,7 +24182,7 @@ lean_closure_set(x_20, 0, x_18);
lean_closure_set(x_20, 1, x_17);
x_21 = l_Lean_Parser_epsilonInfo;
x_22 = l_Lean_Parser_andthenInfo(x_21, x_19);
-x_23 = l_Lean_Parser_Term_explicitBinder___closed__10;
+x_23 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
x_24 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
lean_closure_set(x_24, 0, x_23);
lean_closure_set(x_24, 1, x_20);
@@ -35823,6 +24247,54 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Term_instBinder___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_optIdent___closed__3;
+x_2 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_instBinder___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Term_instBinder___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_instBinder___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_instBinder___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_instBinder___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_instBinder___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_instBinder___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Term_instBinder___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -35843,181 +24315,71 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_48; lean_object* x_49; lean_object* x_50;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_48 = lean_ctor_get(x_7, 1);
-lean_inc(x_48);
+x_11 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__5;
+x_12 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__14;
lean_inc(x_1);
-x_49 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_50 = lean_ctor_get(x_49, 3);
-lean_inc(x_50);
-if (lean_obj_tag(x_50) == 0)
-{
-lean_object* x_51; lean_object* x_52;
-x_51 = lean_ctor_get(x_49, 0);
-lean_inc(x_51);
-x_52 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_51);
-lean_dec(x_51);
-if (lean_obj_tag(x_52) == 2)
-{
-lean_object* x_53; lean_object* x_54; uint8_t x_55;
-x_53 = lean_ctor_get(x_52, 1);
-lean_inc(x_53);
-lean_dec(x_52);
-x_54 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__5;
-x_55 = lean_string_dec_eq(x_53, x_54);
-lean_dec(x_53);
-if (x_55 == 0)
-{
-lean_object* x_56; lean_object* x_57;
-x_56 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-x_57 = l_Lean_Parser_ParserState_mkErrorsAt(x_49, x_56, x_48);
-x_11 = x_57;
-goto block_47;
-}
-else
-{
-lean_dec(x_48);
-x_11 = x_49;
-goto block_47;
-}
-}
-else
-{
-lean_object* x_58; lean_object* x_59;
-lean_dec(x_52);
-x_58 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-x_59 = l_Lean_Parser_ParserState_mkErrorsAt(x_49, x_58, x_48);
-x_11 = x_59;
-goto block_47;
-}
-}
-else
-{
-lean_object* x_60; lean_object* x_61;
-lean_dec(x_50);
-x_60 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-x_61 = l_Lean_Parser_ParserState_mkErrorsAt(x_49, x_60, x_48);
-x_11 = x_61;
-goto block_47;
-}
-block_47:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14;
-lean_inc(x_1);
-x_13 = l_Lean_Parser_Term_optIdent___elambda__1(x_1, x_11);
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
x_14 = lean_ctor_get(x_13, 3);
lean_inc(x_14);
if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
-x_15 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_16 = lean_unsigned_to_nat(0u);
+lean_object* x_15; lean_object* x_16;
lean_inc(x_1);
-x_17 = l_Lean_Parser_categoryParser___elambda__1(x_15, x_16, x_1, x_13);
-x_18 = lean_ctor_get(x_17, 3);
-lean_inc(x_18);
-if (lean_obj_tag(x_18) == 0)
+x_15 = l_Lean_Parser_Term_optIdent___elambda__1(x_1, x_13);
+x_16 = lean_ctor_get(x_15, 3);
+lean_inc(x_16);
+if (lean_obj_tag(x_16) == 0)
{
-lean_object* x_19; lean_object* x_20; lean_object* x_21;
-x_19 = lean_ctor_get(x_17, 1);
-lean_inc(x_19);
-x_20 = l_Lean_Parser_tokenFn(x_1, x_17);
-x_21 = lean_ctor_get(x_20, 3);
-lean_inc(x_21);
-if (lean_obj_tag(x_21) == 0)
+lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
+x_17 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_18 = lean_unsigned_to_nat(0u);
+lean_inc(x_1);
+x_19 = l_Lean_Parser_categoryParser___elambda__1(x_17, x_18, x_1, x_15);
+x_20 = lean_ctor_get(x_19, 3);
+lean_inc(x_20);
+if (lean_obj_tag(x_20) == 0)
{
-lean_object* x_22; lean_object* x_23;
-x_22 = lean_ctor_get(x_20, 0);
-lean_inc(x_22);
-x_23 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_22);
-lean_dec(x_22);
-if (lean_obj_tag(x_23) == 2)
-{
-lean_object* x_24; lean_object* x_25; uint8_t x_26;
-x_24 = lean_ctor_get(x_23, 1);
-lean_inc(x_24);
-lean_dec(x_23);
-x_25 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__6;
-x_26 = lean_string_dec_eq(x_24, x_25);
-lean_dec(x_24);
-if (x_26 == 0)
-{
-lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30;
-x_27 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_28 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_27, x_19);
-x_29 = l_Lean_Parser_Term_instBinder___elambda__1___closed__2;
-x_30 = l_Lean_Parser_ParserState_mkNode(x_28, x_29, x_10);
-return x_30;
+lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25;
+x_21 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__7;
+x_22 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__16;
+x_23 = l_Lean_Parser_symbolFnAux(x_21, x_22, x_1, x_19);
+x_24 = l_Lean_Parser_Term_instBinder___elambda__1___closed__2;
+x_25 = l_Lean_Parser_ParserState_mkNode(x_23, x_24, x_10);
+return x_25;
}
else
{
-lean_object* x_31; lean_object* x_32;
-lean_dec(x_19);
-x_31 = l_Lean_Parser_Term_instBinder___elambda__1___closed__2;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_20, x_31, x_10);
-return x_32;
-}
-}
-else
-{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36;
-lean_dec(x_23);
-x_33 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_33, x_19);
-x_35 = l_Lean_Parser_Term_instBinder___elambda__1___closed__2;
-x_36 = l_Lean_Parser_ParserState_mkNode(x_34, x_35, x_10);
-return x_36;
-}
-}
-else
-{
-lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40;
-lean_dec(x_21);
-x_37 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_38 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_37, x_19);
-x_39 = l_Lean_Parser_Term_instBinder___elambda__1___closed__2;
-x_40 = l_Lean_Parser_ParserState_mkNode(x_38, x_39, x_10);
-return x_40;
-}
-}
-else
-{
-lean_object* x_41; lean_object* x_42;
-lean_dec(x_18);
+lean_object* x_26; lean_object* x_27;
+lean_dec(x_20);
lean_dec(x_1);
-x_41 = l_Lean_Parser_Term_instBinder___elambda__1___closed__2;
-x_42 = l_Lean_Parser_ParserState_mkNode(x_17, x_41, x_10);
-return x_42;
+x_26 = l_Lean_Parser_Term_instBinder___elambda__1___closed__2;
+x_27 = l_Lean_Parser_ParserState_mkNode(x_19, x_26, x_10);
+return x_27;
}
}
else
{
-lean_object* x_43; lean_object* x_44;
+lean_object* x_28; lean_object* x_29;
+lean_dec(x_16);
+lean_dec(x_1);
+x_28 = l_Lean_Parser_Term_instBinder___elambda__1___closed__2;
+x_29 = l_Lean_Parser_ParserState_mkNode(x_15, x_28, x_10);
+return x_29;
+}
+}
+else
+{
+lean_object* x_30; lean_object* x_31;
lean_dec(x_14);
lean_dec(x_1);
-x_43 = l_Lean_Parser_Term_instBinder___elambda__1___closed__2;
-x_44 = l_Lean_Parser_ParserState_mkNode(x_13, x_43, x_10);
-return x_44;
-}
-}
-else
-{
-lean_object* x_45; lean_object* x_46;
-lean_dec(x_12);
-lean_dec(x_1);
-x_45 = l_Lean_Parser_Term_instBinder___elambda__1___closed__2;
-x_46 = l_Lean_Parser_ParserState_mkNode(x_11, x_45, x_10);
-return x_46;
-}
+x_30 = l_Lean_Parser_Term_instBinder___elambda__1___closed__2;
+x_31 = l_Lean_Parser_ParserState_mkNode(x_13, x_30, x_10);
+return x_31;
}
}
else
@@ -36029,264 +24391,11 @@ return x_7;
}
else
{
-lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66;
-x_62 = lean_ctor_get(x_2, 0);
-lean_inc(x_62);
-x_63 = lean_array_get_size(x_62);
-lean_dec(x_62);
-x_64 = lean_ctor_get(x_2, 1);
-lean_inc(x_64);
-lean_inc(x_1);
-x_65 = lean_apply_2(x_4, x_1, x_2);
-x_66 = lean_ctor_get(x_65, 3);
-lean_inc(x_66);
-if (lean_obj_tag(x_66) == 0)
-{
-lean_dec(x_64);
-lean_dec(x_63);
-lean_dec(x_1);
-return x_65;
-}
-else
-{
-lean_object* x_67; lean_object* x_68; uint8_t x_69;
-x_67 = lean_ctor_get(x_66, 0);
-lean_inc(x_67);
-lean_dec(x_66);
-x_68 = lean_ctor_get(x_65, 1);
-lean_inc(x_68);
-x_69 = lean_nat_dec_eq(x_68, x_64);
-lean_dec(x_68);
-if (x_69 == 0)
-{
-lean_dec(x_67);
-lean_dec(x_64);
-lean_dec(x_63);
-lean_dec(x_1);
-return x_65;
-}
-else
-{
-lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73;
-lean_inc(x_64);
-x_70 = l_Lean_Parser_ParserState_restore(x_65, x_63, x_64);
-lean_dec(x_63);
-x_71 = lean_unsigned_to_nat(1024u);
-x_72 = l_Lean_Parser_checkPrecFn(x_71, x_1, x_70);
-x_73 = lean_ctor_get(x_72, 3);
-lean_inc(x_73);
-if (lean_obj_tag(x_73) == 0)
-{
-lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_127; lean_object* x_128; lean_object* x_129;
-x_74 = lean_ctor_get(x_72, 0);
-lean_inc(x_74);
-x_75 = lean_array_get_size(x_74);
-lean_dec(x_74);
-x_127 = lean_ctor_get(x_72, 1);
-lean_inc(x_127);
-lean_inc(x_1);
-x_128 = l_Lean_Parser_tokenFn(x_1, x_72);
-x_129 = lean_ctor_get(x_128, 3);
-lean_inc(x_129);
-if (lean_obj_tag(x_129) == 0)
-{
-lean_object* x_130; lean_object* x_131;
-x_130 = lean_ctor_get(x_128, 0);
-lean_inc(x_130);
-x_131 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_130);
-lean_dec(x_130);
-if (lean_obj_tag(x_131) == 2)
-{
-lean_object* x_132; lean_object* x_133; uint8_t x_134;
-x_132 = lean_ctor_get(x_131, 1);
-lean_inc(x_132);
-lean_dec(x_131);
-x_133 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__5;
-x_134 = lean_string_dec_eq(x_132, x_133);
-lean_dec(x_132);
-if (x_134 == 0)
-{
-lean_object* x_135; lean_object* x_136;
-x_135 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-x_136 = l_Lean_Parser_ParserState_mkErrorsAt(x_128, x_135, x_127);
-x_76 = x_136;
-goto block_126;
-}
-else
-{
-lean_dec(x_127);
-x_76 = x_128;
-goto block_126;
-}
-}
-else
-{
-lean_object* x_137; lean_object* x_138;
-lean_dec(x_131);
-x_137 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-x_138 = l_Lean_Parser_ParserState_mkErrorsAt(x_128, x_137, x_127);
-x_76 = x_138;
-goto block_126;
-}
-}
-else
-{
-lean_object* x_139; lean_object* x_140;
-lean_dec(x_129);
-x_139 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-x_140 = l_Lean_Parser_ParserState_mkErrorsAt(x_128, x_139, x_127);
-x_76 = x_140;
-goto block_126;
-}
-block_126:
-{
-lean_object* x_77;
-x_77 = lean_ctor_get(x_76, 3);
-lean_inc(x_77);
-if (lean_obj_tag(x_77) == 0)
-{
-lean_object* x_78; lean_object* x_79;
-lean_inc(x_1);
-x_78 = l_Lean_Parser_Term_optIdent___elambda__1(x_1, x_76);
-x_79 = lean_ctor_get(x_78, 3);
-lean_inc(x_79);
-if (lean_obj_tag(x_79) == 0)
-{
-lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83;
-x_80 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_81 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_82 = l_Lean_Parser_categoryParser___elambda__1(x_80, x_81, x_1, x_78);
-x_83 = lean_ctor_get(x_82, 3);
-lean_inc(x_83);
-if (lean_obj_tag(x_83) == 0)
-{
-lean_object* x_84; lean_object* x_85; lean_object* x_86;
-x_84 = lean_ctor_get(x_82, 1);
-lean_inc(x_84);
-x_85 = l_Lean_Parser_tokenFn(x_1, x_82);
-x_86 = lean_ctor_get(x_85, 3);
-lean_inc(x_86);
-if (lean_obj_tag(x_86) == 0)
-{
-lean_object* x_87; lean_object* x_88;
-x_87 = lean_ctor_get(x_85, 0);
-lean_inc(x_87);
-x_88 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_87);
-lean_dec(x_87);
-if (lean_obj_tag(x_88) == 2)
-{
-lean_object* x_89; lean_object* x_90; uint8_t x_91;
-x_89 = lean_ctor_get(x_88, 1);
-lean_inc(x_89);
-lean_dec(x_88);
-x_90 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__6;
-x_91 = lean_string_dec_eq(x_89, x_90);
-lean_dec(x_89);
-if (x_91 == 0)
-{
-lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; uint8_t x_96; lean_object* x_97;
-x_92 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_93 = l_Lean_Parser_ParserState_mkErrorsAt(x_85, x_92, x_84);
-x_94 = l_Lean_Parser_Term_instBinder___elambda__1___closed__2;
-x_95 = l_Lean_Parser_ParserState_mkNode(x_93, x_94, x_75);
-x_96 = 1;
-x_97 = l_Lean_Parser_mergeOrElseErrors(x_95, x_67, x_64, x_96);
-lean_dec(x_64);
-return x_97;
-}
-else
-{
-lean_object* x_98; lean_object* x_99; uint8_t x_100; lean_object* x_101;
-lean_dec(x_84);
-x_98 = l_Lean_Parser_Term_instBinder___elambda__1___closed__2;
-x_99 = l_Lean_Parser_ParserState_mkNode(x_85, x_98, x_75);
-x_100 = 1;
-x_101 = l_Lean_Parser_mergeOrElseErrors(x_99, x_67, x_64, x_100);
-lean_dec(x_64);
-return x_101;
-}
-}
-else
-{
-lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; uint8_t x_106; lean_object* x_107;
-lean_dec(x_88);
-x_102 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_103 = l_Lean_Parser_ParserState_mkErrorsAt(x_85, x_102, x_84);
-x_104 = l_Lean_Parser_Term_instBinder___elambda__1___closed__2;
-x_105 = l_Lean_Parser_ParserState_mkNode(x_103, x_104, x_75);
-x_106 = 1;
-x_107 = l_Lean_Parser_mergeOrElseErrors(x_105, x_67, x_64, x_106);
-lean_dec(x_64);
-return x_107;
-}
-}
-else
-{
-lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; uint8_t x_112; lean_object* x_113;
-lean_dec(x_86);
-x_108 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_109 = l_Lean_Parser_ParserState_mkErrorsAt(x_85, x_108, x_84);
-x_110 = l_Lean_Parser_Term_instBinder___elambda__1___closed__2;
-x_111 = l_Lean_Parser_ParserState_mkNode(x_109, x_110, x_75);
-x_112 = 1;
-x_113 = l_Lean_Parser_mergeOrElseErrors(x_111, x_67, x_64, x_112);
-lean_dec(x_64);
-return x_113;
-}
-}
-else
-{
-lean_object* x_114; lean_object* x_115; uint8_t x_116; lean_object* x_117;
-lean_dec(x_83);
-lean_dec(x_1);
-x_114 = l_Lean_Parser_Term_instBinder___elambda__1___closed__2;
-x_115 = l_Lean_Parser_ParserState_mkNode(x_82, x_114, x_75);
-x_116 = 1;
-x_117 = l_Lean_Parser_mergeOrElseErrors(x_115, x_67, x_64, x_116);
-lean_dec(x_64);
-return x_117;
-}
-}
-else
-{
-lean_object* x_118; lean_object* x_119; uint8_t x_120; lean_object* x_121;
-lean_dec(x_79);
-lean_dec(x_1);
-x_118 = l_Lean_Parser_Term_instBinder___elambda__1___closed__2;
-x_119 = l_Lean_Parser_ParserState_mkNode(x_78, x_118, x_75);
-x_120 = 1;
-x_121 = l_Lean_Parser_mergeOrElseErrors(x_119, x_67, x_64, x_120);
-lean_dec(x_64);
-return x_121;
-}
-}
-else
-{
-lean_object* x_122; lean_object* x_123; uint8_t x_124; lean_object* x_125;
-lean_dec(x_77);
-lean_dec(x_1);
-x_122 = l_Lean_Parser_Term_instBinder___elambda__1___closed__2;
-x_123 = l_Lean_Parser_ParserState_mkNode(x_76, x_122, x_75);
-x_124 = 1;
-x_125 = l_Lean_Parser_mergeOrElseErrors(x_123, x_67, x_64, x_124);
-lean_dec(x_64);
-return x_125;
-}
-}
-}
-else
-{
-uint8_t x_141; lean_object* x_142;
-lean_dec(x_73);
-lean_dec(x_1);
-x_141 = 1;
-x_142 = l_Lean_Parser_mergeOrElseErrors(x_72, x_67, x_64, x_141);
-lean_dec(x_64);
-return x_142;
-}
-}
-}
+lean_object* x_32; uint8_t x_33; lean_object* x_34;
+x_32 = l_Lean_Parser_Term_instBinder___elambda__1___closed__8;
+x_33 = 1;
+x_34 = l_Lean_Parser_orelseFnCore(x_4, x_32, x_33, x_1, x_2);
+return x_34;
}
}
}
@@ -36375,57 +24484,10 @@ return x_1;
lean_object* l_Lean_Parser_Term_bracketedBinder___elambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
-lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9;
-x_5 = lean_ctor_get(x_4, 0);
-lean_inc(x_5);
-x_6 = lean_array_get_size(x_5);
-lean_dec(x_5);
-x_7 = lean_ctor_get(x_4, 1);
-lean_inc(x_7);
-lean_inc(x_3);
-x_8 = lean_apply_2(x_2, x_3, x_4);
-x_9 = lean_ctor_get(x_8, 3);
-lean_inc(x_9);
-if (lean_obj_tag(x_9) == 0)
-{
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_3);
-lean_dec(x_1);
-return x_8;
-}
-else
-{
-lean_object* x_10; lean_object* x_11; uint8_t x_12;
-x_10 = lean_ctor_get(x_9, 0);
-lean_inc(x_10);
-lean_dec(x_9);
-x_11 = lean_ctor_get(x_8, 1);
-lean_inc(x_11);
-x_12 = lean_nat_dec_eq(x_11, x_7);
-lean_dec(x_11);
-if (x_12 == 0)
-{
-lean_dec(x_10);
-lean_dec(x_7);
-lean_dec(x_6);
-lean_dec(x_3);
-lean_dec(x_1);
-return x_8;
-}
-else
-{
-lean_object* x_13; lean_object* x_14; uint8_t x_15; lean_object* x_16;
-lean_inc(x_7);
-x_13 = l_Lean_Parser_ParserState_restore(x_8, x_6, x_7);
-lean_dec(x_6);
-x_14 = lean_apply_2(x_1, x_3, x_13);
-x_15 = 1;
-x_16 = l_Lean_Parser_mergeOrElseErrors(x_14, x_10, x_7, x_15);
-lean_dec(x_7);
-return x_16;
-}
-}
+uint8_t x_5; lean_object* x_6;
+x_5 = 1;
+x_6 = l_Lean_Parser_orelseFnCore(x_2, x_1, x_5, x_3, x_4);
+return x_6;
}
}
lean_object* l_Lean_Parser_Term_bracketedBinder(uint8_t x_1) {
@@ -36524,12 +24586,22 @@ static lean_object* _init_l_Lean_Parser_Term_depArrow___elambda__1___closed__6()
_start:
{
lean_object* x_1; lean_object* x_2;
+x_1 = lean_unsigned_to_nat(25u);
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_checkPrecFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_depArrow___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
x_1 = l_Lean_OpenDecl_Lean_Data_OpenDecl___instance__2___closed__2;
x_2 = l_String_trim(x_1);
return x_2;
}
}
-static lean_object* _init_l_Lean_Parser_Term_depArrow___elambda__1___closed__7() {
+static lean_object* _init_l_Lean_Parser_Term_depArrow___elambda__1___closed__8() {
_start:
{
lean_object* x_1;
@@ -36537,32 +24609,24 @@ x_1 = lean_mk_string(" -> ");
return x_1;
}
}
-static lean_object* _init_l_Lean_Parser_Term_depArrow___elambda__1___closed__8() {
-_start:
-{
-lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Term_depArrow___elambda__1___closed__7;
-x_2 = l_String_trim(x_1);
-return x_2;
-}
-}
static lean_object* _init_l_Lean_Parser_Term_depArrow___elambda__1___closed__9() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_depArrow___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_depArrow___elambda__1___closed__8;
+x_2 = l_String_trim(x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_depArrow___elambda__1___closed__10() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_depArrow___elambda__1___closed__9;
-x_2 = l_Lean_KeyedDeclsAttribute_init___rarg___lambda__3___closed__2;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Term_depArrow___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Term_depArrow___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_unicodeSymbolFn___boxed), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -36571,8 +24635,10 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Term_depArrow___elambda__1___closed__10;
-x_2 = l_Lean_Parser_Term_depArrow___elambda__1___closed__8;
-x_3 = lean_string_append(x_1, x_2);
+x_2 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -36580,18 +24646,98 @@ static lean_object* _init_l_Lean_Parser_Term_depArrow___elambda__1___closed__12(
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_depArrow___elambda__1___closed__11;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Term_depArrow___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Term_depArrow___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
static lean_object* _init_l_Lean_Parser_Term_depArrow___elambda__1___closed__13() {
_start:
{
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
+x_1 = l_Lean_Parser_Term_depArrow___elambda__1___closed__5;
+x_2 = lean_ctor_get(x_1, 1);
+lean_inc(x_2);
+x_3 = l_Lean_Parser_Term_depArrow___elambda__1___closed__12;
+x_4 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_4, 0, x_2);
+lean_closure_set(x_4, 1, x_3);
+return x_4;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_depArrow___elambda__1___closed__14() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_depArrow___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_depArrow___elambda__1___closed__13;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_depArrow___elambda__1___closed__15() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_depArrow___elambda__1___closed__14;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_depArrow___elambda__1___closed__16() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_depArrow___elambda__1___closed__7;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_depArrow___elambda__1___closed__17() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_depArrow___elambda__1___closed__16;
+x_2 = l_Lean_KeyedDeclsAttribute_init___rarg___lambda__3___closed__2;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_depArrow___elambda__1___closed__18() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_depArrow___elambda__1___closed__17;
+x_2 = l_Lean_Parser_Term_depArrow___elambda__1___closed__9;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_depArrow___elambda__1___closed__19() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_depArrow___elambda__1___closed__18;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_depArrow___elambda__1___closed__20() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Term_depArrow___elambda__1___closed__12;
+x_2 = l_Lean_Parser_Term_depArrow___elambda__1___closed__19;
x_3 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_3, 0, x_2);
lean_ctor_set(x_3, 1, x_1);
@@ -36640,9 +24786,9 @@ lean_inc(x_17);
if (lean_obj_tag(x_17) == 0)
{
lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
-x_18 = l_Lean_Parser_Term_depArrow___elambda__1___closed__6;
-x_19 = l_Lean_Parser_Term_depArrow___elambda__1___closed__8;
-x_20 = l_Lean_Parser_Term_depArrow___elambda__1___closed__13;
+x_18 = l_Lean_Parser_Term_depArrow___elambda__1___closed__7;
+x_19 = l_Lean_Parser_Term_depArrow___elambda__1___closed__9;
+x_20 = l_Lean_Parser_Term_depArrow___elambda__1___closed__20;
lean_inc(x_1);
x_21 = l_Lean_Parser_unicodeSymbolFnAux(x_18, x_19, x_20, x_1, x_16);
x_22 = lean_ctor_get(x_21, 3);
@@ -36697,147 +24843,12 @@ return x_9;
}
else
{
-lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38;
-x_34 = lean_ctor_get(x_2, 0);
-lean_inc(x_34);
-x_35 = lean_array_get_size(x_34);
-lean_dec(x_34);
-x_36 = lean_ctor_get(x_2, 1);
-lean_inc(x_36);
-lean_inc(x_1);
-x_37 = lean_apply_2(x_6, x_1, x_2);
-x_38 = lean_ctor_get(x_37, 3);
-lean_inc(x_38);
-if (lean_obj_tag(x_38) == 0)
-{
-lean_dec(x_36);
-lean_dec(x_35);
+lean_object* x_34; uint8_t x_35; lean_object* x_36;
lean_dec(x_4);
-lean_dec(x_1);
-return x_37;
-}
-else
-{
-lean_object* x_39; lean_object* x_40; uint8_t x_41;
-x_39 = lean_ctor_get(x_38, 0);
-lean_inc(x_39);
-lean_dec(x_38);
-x_40 = lean_ctor_get(x_37, 1);
-lean_inc(x_40);
-x_41 = lean_nat_dec_eq(x_40, x_36);
-lean_dec(x_40);
-if (x_41 == 0)
-{
-lean_dec(x_39);
-lean_dec(x_36);
-lean_dec(x_35);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_37;
-}
-else
-{
-lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45;
-lean_inc(x_36);
-x_42 = l_Lean_Parser_ParserState_restore(x_37, x_35, x_36);
-lean_dec(x_35);
-x_43 = lean_unsigned_to_nat(1024u);
-x_44 = l_Lean_Parser_checkPrecFn(x_43, x_1, x_42);
-x_45 = lean_ctor_get(x_44, 3);
-lean_inc(x_45);
-if (lean_obj_tag(x_45) == 0)
-{
-lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49;
-x_46 = lean_ctor_get(x_44, 0);
-lean_inc(x_46);
-x_47 = lean_array_get_size(x_46);
-lean_dec(x_46);
-lean_inc(x_1);
-x_48 = lean_apply_2(x_4, x_1, x_44);
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
-{
-lean_object* x_50; lean_object* x_51; lean_object* x_52;
-x_50 = lean_unsigned_to_nat(25u);
-x_51 = l_Lean_Parser_checkPrecFn(x_50, x_1, x_48);
-x_52 = lean_ctor_get(x_51, 3);
-lean_inc(x_52);
-if (lean_obj_tag(x_52) == 0)
-{
-lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57;
-x_53 = l_Lean_Parser_Term_depArrow___elambda__1___closed__6;
-x_54 = l_Lean_Parser_Term_depArrow___elambda__1___closed__8;
-x_55 = l_Lean_Parser_Term_depArrow___elambda__1___closed__13;
-lean_inc(x_1);
-x_56 = l_Lean_Parser_unicodeSymbolFnAux(x_53, x_54, x_55, x_1, x_51);
-x_57 = lean_ctor_get(x_56, 3);
-lean_inc(x_57);
-if (lean_obj_tag(x_57) == 0)
-{
-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_object* x_64;
-x_58 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_59 = lean_unsigned_to_nat(0u);
-x_60 = l_Lean_Parser_categoryParser___elambda__1(x_58, x_59, x_1, x_56);
-x_61 = l_Lean_Parser_Term_depArrow___elambda__1___closed__2;
-x_62 = l_Lean_Parser_ParserState_mkNode(x_60, x_61, x_47);
-x_63 = 1;
-x_64 = l_Lean_Parser_mergeOrElseErrors(x_62, x_39, x_36, x_63);
-lean_dec(x_36);
-return x_64;
-}
-else
-{
-lean_object* x_65; lean_object* x_66; uint8_t x_67; lean_object* x_68;
-lean_dec(x_57);
-lean_dec(x_1);
-x_65 = l_Lean_Parser_Term_depArrow___elambda__1___closed__2;
-x_66 = l_Lean_Parser_ParserState_mkNode(x_56, x_65, x_47);
-x_67 = 1;
-x_68 = l_Lean_Parser_mergeOrElseErrors(x_66, x_39, x_36, x_67);
-lean_dec(x_36);
-return x_68;
-}
-}
-else
-{
-lean_object* x_69; lean_object* x_70; uint8_t x_71; lean_object* x_72;
-lean_dec(x_52);
-lean_dec(x_1);
-x_69 = l_Lean_Parser_Term_depArrow___elambda__1___closed__2;
-x_70 = l_Lean_Parser_ParserState_mkNode(x_51, x_69, x_47);
-x_71 = 1;
-x_72 = l_Lean_Parser_mergeOrElseErrors(x_70, x_39, x_36, x_71);
-lean_dec(x_36);
-return x_72;
-}
-}
-else
-{
-lean_object* x_73; lean_object* x_74; uint8_t x_75; lean_object* x_76;
-lean_dec(x_49);
-lean_dec(x_1);
-x_73 = l_Lean_Parser_Term_depArrow___elambda__1___closed__2;
-x_74 = l_Lean_Parser_ParserState_mkNode(x_48, x_73, x_47);
-x_75 = 1;
-x_76 = l_Lean_Parser_mergeOrElseErrors(x_74, x_39, x_36, x_75);
-lean_dec(x_36);
-return x_76;
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_45);
-lean_dec(x_4);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_44, x_39, x_36, x_77);
-lean_dec(x_36);
-return x_78;
-}
-}
-}
+x_34 = l_Lean_Parser_Term_depArrow___elambda__1___closed__15;
+x_35 = 1;
+x_36 = l_Lean_Parser_orelseFnCore(x_6, x_34, x_35, x_1, x_2);
+return x_36;
}
}
}
@@ -36845,8 +24856,8 @@ static lean_object* _init_l_Lean_Parser_Term_depArrow___closed__1() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_depArrow___elambda__1___closed__6;
-x_2 = l_Lean_Parser_Term_depArrow___elambda__1___closed__8;
+x_1 = l_Lean_Parser_Term_depArrow___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Term_depArrow___elambda__1___closed__9;
x_3 = l_Lean_Parser_unicodeSymbolInfo(x_1, x_2);
return x_3;
}
@@ -37445,7 +25456,7 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_OpenDecl_Lean_Data_OpenDecl___instance__2___closed__2;
-x_2 = l_Lean_Parser_Term_depArrow___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Term_depArrow___elambda__1___closed__8;
x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_unicodeSymbol_formatter___boxed), 7, 2);
lean_closure_set(x_3, 0, x_1);
lean_closure_set(x_3, 1, x_2);
@@ -38058,68 +26069,6 @@ x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1);
return x_5;
}
}
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_simpleBinder___elambda__1___spec__1(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-lean_inc(x_1);
-x_6 = l_Lean_Parser_Term_binderIdent___elambda__1(x_1, x_2);
-x_7 = lean_ctor_get(x_6, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
-{
-lean_object* x_8; uint8_t x_9;
-lean_dec(x_4);
-x_8 = lean_ctor_get(x_6, 1);
-lean_inc(x_8);
-x_9 = lean_nat_dec_eq(x_5, x_8);
-lean_dec(x_8);
-lean_dec(x_5);
-if (x_9 == 0)
-{
-x_2 = x_6;
-goto _start;
-}
-else
-{
-lean_object* x_11; lean_object* x_12;
-lean_dec(x_1);
-x_11 = l_Lean_Parser_manyAux___main___closed__1;
-x_12 = l_Lean_Parser_ParserState_mkUnexpectedError(x_6, x_11);
-return x_12;
-}
-}
-else
-{
-lean_object* x_13; uint8_t x_14;
-lean_dec(x_7);
-lean_dec(x_1);
-x_13 = lean_ctor_get(x_6, 1);
-lean_inc(x_13);
-x_14 = lean_nat_dec_eq(x_5, x_13);
-lean_dec(x_13);
-if (x_14 == 0)
-{
-lean_dec(x_5);
-lean_dec(x_4);
-return x_6;
-}
-else
-{
-lean_object* x_15;
-x_15 = l_Lean_Parser_ParserState_restore(x_6, x_4, x_5);
-lean_dec(x_4);
-return x_15;
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Term_simpleBinder___elambda__1___closed__1() {
_start:
{
@@ -38159,6 +26108,30 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Term_simpleBinder___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_simpleBinder___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_explicitBinder___closed__1;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_simpleBinder___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_simpleBinder___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Term_simpleBinder___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -38179,38 +26152,42 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; lean_object* x_14; lean_object* x_15;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
+x_11 = l_Lean_Parser_Term_ident___closed__1;
+x_12 = l_Lean_Parser_Term_hole___closed__4;
+x_13 = 1;
lean_inc(x_1);
-x_11 = l_Lean_Parser_Term_binderIdent___elambda__1(x_1, x_7);
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
+x_14 = l_Lean_Parser_orelseFnCore(x_11, x_12, x_13, x_1, x_7);
+x_15 = lean_ctor_get(x_14, 3);
+lean_inc(x_15);
+if (lean_obj_tag(x_15) == 0)
{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_13 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_simpleBinder___elambda__1___spec__1(x_1, x_11);
-x_14 = l_Lean_nullKind;
-lean_inc(x_10);
-x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
-x_16 = l_Lean_Parser_Term_simpleBinder___elambda__1___closed__2;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_10);
-return x_17;
-}
-else
-{
-lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
-lean_dec(x_12);
-lean_dec(x_1);
+lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
+x_16 = l_Lean_Parser_Term_binderIdent___closed__1;
+x_17 = l_Lean_Parser_manyAux(x_16, x_1, x_14);
x_18 = l_Lean_nullKind;
lean_inc(x_10);
-x_19 = l_Lean_Parser_ParserState_mkNode(x_11, x_18, x_10);
+x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_10);
x_20 = l_Lean_Parser_Term_simpleBinder___elambda__1___closed__2;
x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_10);
return x_21;
}
+else
+{
+lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25;
+lean_dec(x_15);
+lean_dec(x_1);
+x_22 = l_Lean_nullKind;
+lean_inc(x_10);
+x_23 = l_Lean_Parser_ParserState_mkNode(x_14, x_22, x_10);
+x_24 = l_Lean_Parser_Term_simpleBinder___elambda__1___closed__2;
+x_25 = l_Lean_Parser_ParserState_mkNode(x_23, x_24, x_10);
+return x_25;
+}
}
else
{
@@ -38221,105 +26198,11 @@ return x_7;
}
else
{
-lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26;
-x_22 = lean_ctor_get(x_2, 0);
-lean_inc(x_22);
-x_23 = lean_array_get_size(x_22);
-lean_dec(x_22);
-x_24 = lean_ctor_get(x_2, 1);
-lean_inc(x_24);
-lean_inc(x_1);
-x_25 = lean_apply_2(x_4, x_1, x_2);
-x_26 = lean_ctor_get(x_25, 3);
-lean_inc(x_26);
-if (lean_obj_tag(x_26) == 0)
-{
-lean_dec(x_24);
-lean_dec(x_23);
-lean_dec(x_1);
-return x_25;
-}
-else
-{
-lean_object* x_27; lean_object* x_28; uint8_t x_29;
-x_27 = lean_ctor_get(x_26, 0);
-lean_inc(x_27);
-lean_dec(x_26);
-x_28 = lean_ctor_get(x_25, 1);
-lean_inc(x_28);
-x_29 = lean_nat_dec_eq(x_28, x_24);
-lean_dec(x_28);
-if (x_29 == 0)
-{
-lean_dec(x_27);
-lean_dec(x_24);
-lean_dec(x_23);
-lean_dec(x_1);
-return x_25;
-}
-else
-{
-lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
-lean_inc(x_24);
-x_30 = l_Lean_Parser_ParserState_restore(x_25, x_23, x_24);
-lean_dec(x_23);
-x_31 = lean_unsigned_to_nat(1024u);
-x_32 = l_Lean_Parser_checkPrecFn(x_31, x_1, x_30);
-x_33 = lean_ctor_get(x_32, 3);
-lean_inc(x_33);
-if (lean_obj_tag(x_33) == 0)
-{
-lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_34 = lean_ctor_get(x_32, 0);
-lean_inc(x_34);
-x_35 = lean_array_get_size(x_34);
-lean_dec(x_34);
-lean_inc(x_1);
-x_36 = l_Lean_Parser_Term_binderIdent___elambda__1(x_1, x_32);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-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_object* x_44;
-x_38 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_simpleBinder___elambda__1___spec__1(x_1, x_36);
-x_39 = l_Lean_nullKind;
-lean_inc(x_35);
-x_40 = l_Lean_Parser_ParserState_mkNode(x_38, x_39, x_35);
-x_41 = l_Lean_Parser_Term_simpleBinder___elambda__1___closed__2;
-x_42 = l_Lean_Parser_ParserState_mkNode(x_40, x_41, x_35);
-x_43 = 1;
-x_44 = l_Lean_Parser_mergeOrElseErrors(x_42, x_27, x_24, x_43);
-lean_dec(x_24);
-return x_44;
-}
-else
-{
-lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; uint8_t x_49; lean_object* x_50;
-lean_dec(x_37);
-lean_dec(x_1);
-x_45 = l_Lean_nullKind;
-lean_inc(x_35);
-x_46 = l_Lean_Parser_ParserState_mkNode(x_36, x_45, x_35);
-x_47 = l_Lean_Parser_Term_simpleBinder___elambda__1___closed__2;
-x_48 = l_Lean_Parser_ParserState_mkNode(x_46, x_47, x_35);
-x_49 = 1;
-x_50 = l_Lean_Parser_mergeOrElseErrors(x_48, x_27, x_24, x_49);
-lean_dec(x_24);
-return x_50;
-}
-}
-else
-{
-uint8_t x_51; lean_object* x_52;
-lean_dec(x_33);
-lean_dec(x_1);
-x_51 = 1;
-x_52 = l_Lean_Parser_mergeOrElseErrors(x_32, x_27, x_24, x_51);
-lean_dec(x_24);
-return x_52;
-}
-}
-}
+lean_object* x_26; uint8_t x_27; lean_object* x_28;
+x_26 = l_Lean_Parser_Term_simpleBinder___elambda__1___closed__6;
+x_27 = 1;
+x_28 = l_Lean_Parser_orelseFnCore(x_4, x_26, x_27, x_1, x_2);
+return x_28;
}
}
}
@@ -38385,135 +26268,6 @@ x_1 = l_Lean_Parser_Term_simpleBinder___closed__5;
return x_1;
}
}
-static lean_object* _init_l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_forall___elambda__1___spec__1___closed__1() {
-_start:
-{
-uint8_t x_1; lean_object* x_2;
-x_1 = 0;
-x_2 = l_Lean_Parser_Term_bracketedBinder(x_1);
-return x_2;
-}
-}
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_forall___elambda__1___spec__1(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-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_19;
-x_3 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_forall___elambda__1___spec__1___closed__1;
-x_4 = lean_ctor_get(x_3, 1);
-lean_inc(x_4);
-x_5 = lean_ctor_get(x_2, 0);
-lean_inc(x_5);
-x_6 = lean_array_get_size(x_5);
-lean_dec(x_5);
-x_7 = lean_ctor_get(x_2, 1);
-lean_inc(x_7);
-x_19 = lean_ctor_get(x_2, 3);
-lean_inc(x_19);
-if (lean_obj_tag(x_19) == 0)
-{
-lean_object* x_20; lean_object* x_21;
-lean_inc(x_1);
-x_20 = l_Lean_Parser_Term_simpleBinder___elambda__1(x_1, x_2);
-x_21 = lean_ctor_get(x_20, 3);
-lean_inc(x_21);
-if (lean_obj_tag(x_21) == 0)
-{
-lean_dec(x_4);
-x_8 = x_20;
-goto block_18;
-}
-else
-{
-lean_object* x_22; lean_object* x_23; uint8_t x_24;
-x_22 = lean_ctor_get(x_21, 0);
-lean_inc(x_22);
-lean_dec(x_21);
-x_23 = lean_ctor_get(x_20, 1);
-lean_inc(x_23);
-x_24 = lean_nat_dec_eq(x_23, x_7);
-lean_dec(x_23);
-if (x_24 == 0)
-{
-lean_dec(x_22);
-lean_dec(x_4);
-x_8 = x_20;
-goto block_18;
-}
-else
-{
-lean_object* x_25; lean_object* x_26; uint8_t x_27; lean_object* x_28;
-lean_inc(x_7);
-x_25 = l_Lean_Parser_ParserState_restore(x_20, x_6, x_7);
-lean_inc(x_1);
-x_26 = lean_apply_2(x_4, x_1, x_25);
-x_27 = 1;
-x_28 = l_Lean_Parser_mergeOrElseErrors(x_26, x_22, x_7, x_27);
-x_8 = x_28;
-goto block_18;
-}
-}
-}
-else
-{
-lean_dec(x_19);
-lean_dec(x_4);
-x_8 = x_2;
-goto block_18;
-}
-block_18:
-{
-lean_object* x_9;
-x_9 = lean_ctor_get(x_8, 3);
-lean_inc(x_9);
-if (lean_obj_tag(x_9) == 0)
-{
-lean_object* x_10; uint8_t x_11;
-lean_dec(x_6);
-x_10 = lean_ctor_get(x_8, 1);
-lean_inc(x_10);
-x_11 = lean_nat_dec_eq(x_7, x_10);
-lean_dec(x_10);
-lean_dec(x_7);
-if (x_11 == 0)
-{
-x_2 = x_8;
-goto _start;
-}
-else
-{
-lean_object* x_13; lean_object* x_14;
-lean_dec(x_1);
-x_13 = l_Lean_Parser_manyAux___main___closed__1;
-x_14 = l_Lean_Parser_ParserState_mkUnexpectedError(x_8, x_13);
-return x_14;
-}
-}
-else
-{
-lean_object* x_15; uint8_t x_16;
-lean_dec(x_9);
-lean_dec(x_1);
-x_15 = lean_ctor_get(x_8, 1);
-lean_inc(x_15);
-x_16 = lean_nat_dec_eq(x_7, x_15);
-lean_dec(x_15);
-if (x_16 == 0)
-{
-lean_dec(x_7);
-lean_dec(x_6);
-return x_8;
-}
-else
-{
-lean_object* x_17;
-x_17 = l_Lean_Parser_ParserState_restore(x_8, x_6, x_7);
-lean_dec(x_6);
-return x_17;
-}
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Term_forall___elambda__1___closed__1() {
_start:
{
@@ -38583,48 +26337,165 @@ static lean_object* _init_l_Lean_Parser_Term_forall___elambda__1___closed__8() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_forall___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Term_forall___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Term_forall___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_unicodeSymbolFn___boxed), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
static lean_object* _init_l_Lean_Parser_Term_forall___elambda__1___closed__9() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_forall___elambda__1___closed__8;
-x_2 = l_Lean_KeyedDeclsAttribute_init___rarg___lambda__3___closed__2;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+uint8_t x_1; lean_object* x_2;
+x_1 = 0;
+x_2 = l_Lean_Parser_Term_bracketedBinder(x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_forall___elambda__1___closed__10() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
x_1 = l_Lean_Parser_Term_forall___elambda__1___closed__9;
-x_2 = l_Lean_Parser_Term_forall___elambda__1___closed__7;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+x_2 = lean_ctor_get(x_1, 1);
+lean_inc(x_2);
+x_3 = l_Lean_Parser_Term_simpleBinder___closed__4;
+x_4 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_4, 0, x_3);
+lean_closure_set(x_4, 1, x_2);
+return x_4;
}
}
static lean_object* _init_l_Lean_Parser_Term_forall___elambda__1___closed__11() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_forall___elambda__1___closed__10;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Parser_inhabited___closed__2;
+x_2 = l_Lean_Parser_Term_forall___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
static lean_object* _init_l_Lean_Parser_Term_forall___elambda__1___closed__12() {
_start:
{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_forall___elambda__1___closed__11;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_many1Fn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_forall___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__6;
+x_2 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_forall___elambda__1___closed__14() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_forall___elambda__1___closed__12;
+x_2 = l_Lean_Parser_Term_forall___elambda__1___closed__13;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_forall___elambda__1___closed__15() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_forall___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_forall___elambda__1___closed__14;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_forall___elambda__1___closed__16() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_forall___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_forall___elambda__1___closed__15;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_forall___elambda__1___closed__17() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_byTactic___elambda__1___closed__9;
+x_2 = l_Lean_Parser_Term_forall___elambda__1___closed__16;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_forall___elambda__1___closed__18() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_forall___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_forall___elambda__1___closed__19() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_forall___elambda__1___closed__18;
+x_2 = l_Lean_KeyedDeclsAttribute_init___rarg___lambda__3___closed__2;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_forall___elambda__1___closed__20() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_forall___elambda__1___closed__19;
+x_2 = l_Lean_Parser_Term_forall___elambda__1___closed__7;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_forall___elambda__1___closed__21() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_forall___elambda__1___closed__20;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_forall___elambda__1___closed__22() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Term_forall___elambda__1___closed__11;
+x_2 = l_Lean_Parser_Term_forall___elambda__1___closed__21;
x_3 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_3, 0, x_2);
lean_ctor_set(x_3, 1, x_1);
@@ -38635,7 +26506,7 @@ lean_object* l_Lean_Parser_Term_forall___elambda__1(lean_object* x_1, lean_objec
_start:
{
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; uint8_t x_7;
-x_3 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_forall___elambda__1___spec__1___closed__1;
+x_3 = l_Lean_Parser_Term_forall___elambda__1___closed__9;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
x_5 = l_Lean_Parser_Term_forall___elambda__1___closed__4;
@@ -38654,190 +26525,104 @@ x_10 = lean_ctor_get(x_9, 3);
lean_inc(x_10);
if (lean_obj_tag(x_10) == 0)
{
-lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47;
+lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
x_11 = lean_ctor_get(x_9, 0);
lean_inc(x_11);
x_12 = lean_array_get_size(x_11);
lean_dec(x_11);
-x_43 = l_Lean_Parser_Term_forall___elambda__1___closed__6;
-x_44 = l_Lean_Parser_Term_forall___elambda__1___closed__7;
-x_45 = l_Lean_Parser_Term_forall___elambda__1___closed__12;
+x_29 = l_Lean_Parser_Term_forall___elambda__1___closed__6;
+x_30 = l_Lean_Parser_Term_forall___elambda__1___closed__7;
+x_31 = l_Lean_Parser_Term_forall___elambda__1___closed__22;
lean_inc(x_1);
-x_46 = l_Lean_Parser_unicodeSymbolFnAux(x_43, x_44, x_45, x_1, x_9);
-x_47 = lean_ctor_get(x_46, 3);
-lean_inc(x_47);
-if (lean_obj_tag(x_47) == 0)
+x_32 = l_Lean_Parser_unicodeSymbolFnAux(x_29, x_30, x_31, x_1, x_9);
+x_33 = lean_ctor_get(x_32, 3);
+lean_inc(x_33);
+if (lean_obj_tag(x_33) == 0)
{
-lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_58; lean_object* x_59; lean_object* x_60;
-x_48 = lean_ctor_get(x_46, 0);
-lean_inc(x_48);
-x_49 = lean_array_get_size(x_48);
-lean_dec(x_48);
-x_58 = lean_ctor_get(x_46, 1);
-lean_inc(x_58);
+lean_object* x_34; lean_object* x_35; lean_object* x_36; uint8_t x_37; lean_object* x_38; lean_object* x_39;
+x_34 = lean_ctor_get(x_32, 0);
+lean_inc(x_34);
+x_35 = lean_array_get_size(x_34);
+lean_dec(x_34);
+x_36 = l_Lean_Parser_Term_simpleBinder___closed__4;
+x_37 = 1;
lean_inc(x_1);
-x_59 = l_Lean_Parser_Term_simpleBinder___elambda__1(x_1, x_46);
-x_60 = lean_ctor_get(x_59, 3);
-lean_inc(x_60);
-if (lean_obj_tag(x_60) == 0)
+x_38 = l_Lean_Parser_orelseFnCore(x_36, x_4, x_37, x_1, x_32);
+x_39 = lean_ctor_get(x_38, 3);
+lean_inc(x_39);
+if (lean_obj_tag(x_39) == 0)
{
-lean_dec(x_58);
-lean_dec(x_4);
-x_50 = x_59;
-goto block_57;
+lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43;
+x_40 = l_Lean_Parser_Term_forall___elambda__1___closed__11;
+lean_inc(x_1);
+x_41 = l_Lean_Parser_manyAux(x_40, x_1, x_38);
+x_42 = l_Lean_nullKind;
+x_43 = l_Lean_Parser_ParserState_mkNode(x_41, x_42, x_35);
+x_13 = x_43;
+goto block_28;
}
else
{
-lean_object* x_61; lean_object* x_62; uint8_t x_63;
-x_61 = lean_ctor_get(x_60, 0);
-lean_inc(x_61);
-lean_dec(x_60);
-x_62 = lean_ctor_get(x_59, 1);
-lean_inc(x_62);
-x_63 = lean_nat_dec_eq(x_62, x_58);
-lean_dec(x_62);
-if (x_63 == 0)
-{
-lean_dec(x_61);
-lean_dec(x_58);
-lean_dec(x_4);
-x_50 = x_59;
-goto block_57;
-}
-else
-{
-lean_object* x_64; lean_object* x_65; uint8_t x_66; lean_object* x_67;
-lean_inc(x_58);
-x_64 = l_Lean_Parser_ParserState_restore(x_59, x_49, x_58);
-lean_inc(x_1);
-x_65 = lean_apply_2(x_4, x_1, x_64);
-x_66 = 1;
-x_67 = l_Lean_Parser_mergeOrElseErrors(x_65, x_61, x_58, x_66);
-lean_dec(x_58);
-x_50 = x_67;
-goto block_57;
-}
-}
-block_57:
-{
-lean_object* x_51;
-x_51 = lean_ctor_get(x_50, 3);
-lean_inc(x_51);
-if (lean_obj_tag(x_51) == 0)
-{
-lean_object* x_52; lean_object* x_53; lean_object* x_54;
-lean_inc(x_1);
-x_52 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_forall___elambda__1___spec__1(x_1, x_50);
-x_53 = l_Lean_nullKind;
-x_54 = l_Lean_Parser_ParserState_mkNode(x_52, x_53, x_49);
-x_13 = x_54;
-goto block_42;
-}
-else
-{
-lean_object* x_55; lean_object* x_56;
-lean_dec(x_51);
-x_55 = l_Lean_nullKind;
-x_56 = l_Lean_Parser_ParserState_mkNode(x_50, x_55, x_49);
-x_13 = x_56;
-goto block_42;
-}
+lean_object* x_44; lean_object* x_45;
+lean_dec(x_39);
+x_44 = l_Lean_nullKind;
+x_45 = l_Lean_Parser_ParserState_mkNode(x_38, x_44, x_35);
+x_13 = x_45;
+goto block_28;
}
}
else
{
-lean_object* x_68; lean_object* x_69;
-lean_dec(x_47);
+lean_object* x_46; lean_object* x_47;
+lean_dec(x_33);
lean_dec(x_4);
lean_dec(x_1);
-x_68 = l_Lean_Parser_Term_forall___elambda__1___closed__2;
-x_69 = l_Lean_Parser_ParserState_mkNode(x_46, x_68, x_12);
-return x_69;
+x_46 = l_Lean_Parser_Term_forall___elambda__1___closed__2;
+x_47 = l_Lean_Parser_ParserState_mkNode(x_32, x_46, x_12);
+return x_47;
}
-block_42:
+block_28:
{
lean_object* x_14;
x_14 = lean_ctor_get(x_13, 3);
lean_inc(x_14);
if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_15 = lean_ctor_get(x_13, 1);
-lean_inc(x_15);
+lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
+x_15 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__5;
+x_16 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__12;
lean_inc(x_1);
-x_16 = l_Lean_Parser_tokenFn(x_1, x_13);
-x_17 = lean_ctor_get(x_16, 3);
-lean_inc(x_17);
-if (lean_obj_tag(x_17) == 0)
-{
-lean_object* x_18; lean_object* x_19;
-x_18 = lean_ctor_get(x_16, 0);
+x_17 = l_Lean_Parser_symbolFnAux(x_15, x_16, x_1, x_13);
+x_18 = lean_ctor_get(x_17, 3);
lean_inc(x_18);
-x_19 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_18);
+if (lean_obj_tag(x_18) == 0)
+{
+lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23;
+x_19 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_20 = lean_unsigned_to_nat(0u);
+x_21 = l_Lean_Parser_categoryParser___elambda__1(x_19, x_20, x_1, x_17);
+x_22 = l_Lean_Parser_Term_forall___elambda__1___closed__2;
+x_23 = l_Lean_Parser_ParserState_mkNode(x_21, x_22, x_12);
+return x_23;
+}
+else
+{
+lean_object* x_24; lean_object* x_25;
lean_dec(x_18);
-if (lean_obj_tag(x_19) == 2)
-{
-lean_object* x_20; lean_object* x_21; uint8_t x_22;
-x_20 = lean_ctor_get(x_19, 1);
-lean_inc(x_20);
-lean_dec(x_19);
-x_21 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__1;
-x_22 = lean_string_dec_eq(x_20, x_21);
-lean_dec(x_20);
-if (x_22 == 0)
-{
-lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26;
lean_dec(x_1);
-x_23 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
-x_24 = l_Lean_Parser_ParserState_mkErrorsAt(x_16, x_23, x_15);
-x_25 = l_Lean_Parser_Term_forall___elambda__1___closed__2;
-x_26 = l_Lean_Parser_ParserState_mkNode(x_24, x_25, x_12);
-return x_26;
-}
-else
-{
-lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31;
-lean_dec(x_15);
-x_27 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_28 = lean_unsigned_to_nat(0u);
-x_29 = l_Lean_Parser_categoryParser___elambda__1(x_27, x_28, x_1, x_16);
-x_30 = l_Lean_Parser_Term_forall___elambda__1___closed__2;
-x_31 = l_Lean_Parser_ParserState_mkNode(x_29, x_30, x_12);
-return x_31;
+x_24 = l_Lean_Parser_Term_forall___elambda__1___closed__2;
+x_25 = l_Lean_Parser_ParserState_mkNode(x_17, x_24, x_12);
+return x_25;
}
}
else
{
-lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35;
-lean_dec(x_19);
-lean_dec(x_1);
-x_32 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
-x_33 = l_Lean_Parser_ParserState_mkErrorsAt(x_16, x_32, x_15);
-x_34 = l_Lean_Parser_Term_forall___elambda__1___closed__2;
-x_35 = l_Lean_Parser_ParserState_mkNode(x_33, x_34, x_12);
-return x_35;
-}
-}
-else
-{
-lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-lean_dec(x_17);
-lean_dec(x_1);
-x_36 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
-x_37 = l_Lean_Parser_ParserState_mkErrorsAt(x_16, x_36, x_15);
-x_38 = l_Lean_Parser_Term_forall___elambda__1___closed__2;
-x_39 = l_Lean_Parser_ParserState_mkNode(x_37, x_38, x_12);
-return x_39;
-}
-}
-else
-{
-lean_object* x_40; lean_object* x_41;
+lean_object* x_26; lean_object* x_27;
lean_dec(x_14);
lean_dec(x_1);
-x_40 = l_Lean_Parser_Term_forall___elambda__1___closed__2;
-x_41 = l_Lean_Parser_ParserState_mkNode(x_13, x_40, x_12);
-return x_41;
+x_26 = l_Lean_Parser_Term_forall___elambda__1___closed__2;
+x_27 = l_Lean_Parser_ParserState_mkNode(x_13, x_26, x_12);
+return x_27;
}
}
}
@@ -38851,274 +26636,12 @@ return x_9;
}
else
{
-lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74;
-x_70 = lean_ctor_get(x_2, 0);
-lean_inc(x_70);
-x_71 = lean_array_get_size(x_70);
-lean_dec(x_70);
-x_72 = lean_ctor_get(x_2, 1);
-lean_inc(x_72);
-lean_inc(x_1);
-x_73 = lean_apply_2(x_6, x_1, x_2);
-x_74 = lean_ctor_get(x_73, 3);
-lean_inc(x_74);
-if (lean_obj_tag(x_74) == 0)
-{
-lean_dec(x_72);
-lean_dec(x_71);
+lean_object* x_48; uint8_t x_49; lean_object* x_50;
lean_dec(x_4);
-lean_dec(x_1);
-return x_73;
-}
-else
-{
-lean_object* x_75; lean_object* x_76; uint8_t x_77;
-x_75 = lean_ctor_get(x_74, 0);
-lean_inc(x_75);
-lean_dec(x_74);
-x_76 = lean_ctor_get(x_73, 1);
-lean_inc(x_76);
-x_77 = lean_nat_dec_eq(x_76, x_72);
-lean_dec(x_76);
-if (x_77 == 0)
-{
-lean_dec(x_75);
-lean_dec(x_72);
-lean_dec(x_71);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_73;
-}
-else
-{
-lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81;
-lean_inc(x_72);
-x_78 = l_Lean_Parser_ParserState_restore(x_73, x_71, x_72);
-lean_dec(x_71);
-x_79 = l_Lean_Parser_leadPrec;
-x_80 = l_Lean_Parser_checkPrecFn(x_79, x_1, x_78);
-x_81 = lean_ctor_get(x_80, 3);
-lean_inc(x_81);
-if (lean_obj_tag(x_81) == 0)
-{
-lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128;
-x_82 = lean_ctor_get(x_80, 0);
-lean_inc(x_82);
-x_83 = lean_array_get_size(x_82);
-lean_dec(x_82);
-x_124 = l_Lean_Parser_Term_forall___elambda__1___closed__6;
-x_125 = l_Lean_Parser_Term_forall___elambda__1___closed__7;
-x_126 = l_Lean_Parser_Term_forall___elambda__1___closed__12;
-lean_inc(x_1);
-x_127 = l_Lean_Parser_unicodeSymbolFnAux(x_124, x_125, x_126, x_1, x_80);
-x_128 = lean_ctor_get(x_127, 3);
-lean_inc(x_128);
-if (lean_obj_tag(x_128) == 0)
-{
-lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_139; lean_object* x_140; lean_object* x_141;
-x_129 = lean_ctor_get(x_127, 0);
-lean_inc(x_129);
-x_130 = lean_array_get_size(x_129);
-lean_dec(x_129);
-x_139 = lean_ctor_get(x_127, 1);
-lean_inc(x_139);
-lean_inc(x_1);
-x_140 = l_Lean_Parser_Term_simpleBinder___elambda__1(x_1, x_127);
-x_141 = lean_ctor_get(x_140, 3);
-lean_inc(x_141);
-if (lean_obj_tag(x_141) == 0)
-{
-lean_dec(x_139);
-lean_dec(x_4);
-x_131 = x_140;
-goto block_138;
-}
-else
-{
-lean_object* x_142; lean_object* x_143; uint8_t x_144;
-x_142 = lean_ctor_get(x_141, 0);
-lean_inc(x_142);
-lean_dec(x_141);
-x_143 = lean_ctor_get(x_140, 1);
-lean_inc(x_143);
-x_144 = lean_nat_dec_eq(x_143, x_139);
-lean_dec(x_143);
-if (x_144 == 0)
-{
-lean_dec(x_142);
-lean_dec(x_139);
-lean_dec(x_4);
-x_131 = x_140;
-goto block_138;
-}
-else
-{
-lean_object* x_145; lean_object* x_146; uint8_t x_147; lean_object* x_148;
-lean_inc(x_139);
-x_145 = l_Lean_Parser_ParserState_restore(x_140, x_130, x_139);
-lean_inc(x_1);
-x_146 = lean_apply_2(x_4, x_1, x_145);
-x_147 = 1;
-x_148 = l_Lean_Parser_mergeOrElseErrors(x_146, x_142, x_139, x_147);
-lean_dec(x_139);
-x_131 = x_148;
-goto block_138;
-}
-}
-block_138:
-{
-lean_object* x_132;
-x_132 = lean_ctor_get(x_131, 3);
-lean_inc(x_132);
-if (lean_obj_tag(x_132) == 0)
-{
-lean_object* x_133; lean_object* x_134; lean_object* x_135;
-lean_inc(x_1);
-x_133 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_forall___elambda__1___spec__1(x_1, x_131);
-x_134 = l_Lean_nullKind;
-x_135 = l_Lean_Parser_ParserState_mkNode(x_133, x_134, x_130);
-x_84 = x_135;
-goto block_123;
-}
-else
-{
-lean_object* x_136; lean_object* x_137;
-lean_dec(x_132);
-x_136 = l_Lean_nullKind;
-x_137 = l_Lean_Parser_ParserState_mkNode(x_131, x_136, x_130);
-x_84 = x_137;
-goto block_123;
-}
-}
-}
-else
-{
-lean_object* x_149; lean_object* x_150; uint8_t x_151; lean_object* x_152;
-lean_dec(x_128);
-lean_dec(x_4);
-lean_dec(x_1);
-x_149 = l_Lean_Parser_Term_forall___elambda__1___closed__2;
-x_150 = l_Lean_Parser_ParserState_mkNode(x_127, x_149, x_83);
-x_151 = 1;
-x_152 = l_Lean_Parser_mergeOrElseErrors(x_150, x_75, x_72, x_151);
-lean_dec(x_72);
-return x_152;
-}
-block_123:
-{
-lean_object* x_85;
-x_85 = lean_ctor_get(x_84, 3);
-lean_inc(x_85);
-if (lean_obj_tag(x_85) == 0)
-{
-lean_object* x_86; lean_object* x_87; lean_object* x_88;
-x_86 = lean_ctor_get(x_84, 1);
-lean_inc(x_86);
-lean_inc(x_1);
-x_87 = l_Lean_Parser_tokenFn(x_1, x_84);
-x_88 = lean_ctor_get(x_87, 3);
-lean_inc(x_88);
-if (lean_obj_tag(x_88) == 0)
-{
-lean_object* x_89; lean_object* x_90;
-x_89 = lean_ctor_get(x_87, 0);
-lean_inc(x_89);
-x_90 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_89);
-lean_dec(x_89);
-if (lean_obj_tag(x_90) == 2)
-{
-lean_object* x_91; lean_object* x_92; uint8_t x_93;
-x_91 = lean_ctor_get(x_90, 1);
-lean_inc(x_91);
-lean_dec(x_90);
-x_92 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__1;
-x_93 = lean_string_dec_eq(x_91, x_92);
-lean_dec(x_91);
-if (x_93 == 0)
-{
-lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; uint8_t x_98; lean_object* x_99;
-lean_dec(x_1);
-x_94 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
-x_95 = l_Lean_Parser_ParserState_mkErrorsAt(x_87, x_94, x_86);
-x_96 = l_Lean_Parser_Term_forall___elambda__1___closed__2;
-x_97 = l_Lean_Parser_ParserState_mkNode(x_95, x_96, x_83);
-x_98 = 1;
-x_99 = l_Lean_Parser_mergeOrElseErrors(x_97, x_75, x_72, x_98);
-lean_dec(x_72);
-return x_99;
-}
-else
-{
-lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; uint8_t x_105; lean_object* x_106;
-lean_dec(x_86);
-x_100 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_101 = lean_unsigned_to_nat(0u);
-x_102 = l_Lean_Parser_categoryParser___elambda__1(x_100, x_101, x_1, x_87);
-x_103 = l_Lean_Parser_Term_forall___elambda__1___closed__2;
-x_104 = l_Lean_Parser_ParserState_mkNode(x_102, x_103, x_83);
-x_105 = 1;
-x_106 = l_Lean_Parser_mergeOrElseErrors(x_104, x_75, x_72, x_105);
-lean_dec(x_72);
-return x_106;
-}
-}
-else
-{
-lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; uint8_t x_111; lean_object* x_112;
-lean_dec(x_90);
-lean_dec(x_1);
-x_107 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
-x_108 = l_Lean_Parser_ParserState_mkErrorsAt(x_87, x_107, x_86);
-x_109 = l_Lean_Parser_Term_forall___elambda__1___closed__2;
-x_110 = l_Lean_Parser_ParserState_mkNode(x_108, x_109, x_83);
-x_111 = 1;
-x_112 = l_Lean_Parser_mergeOrElseErrors(x_110, x_75, x_72, x_111);
-lean_dec(x_72);
-return x_112;
-}
-}
-else
-{
-lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; uint8_t x_117; lean_object* x_118;
-lean_dec(x_88);
-lean_dec(x_1);
-x_113 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
-x_114 = l_Lean_Parser_ParserState_mkErrorsAt(x_87, x_113, x_86);
-x_115 = l_Lean_Parser_Term_forall___elambda__1___closed__2;
-x_116 = l_Lean_Parser_ParserState_mkNode(x_114, x_115, x_83);
-x_117 = 1;
-x_118 = l_Lean_Parser_mergeOrElseErrors(x_116, x_75, x_72, x_117);
-lean_dec(x_72);
-return x_118;
-}
-}
-else
-{
-lean_object* x_119; lean_object* x_120; uint8_t x_121; lean_object* x_122;
-lean_dec(x_85);
-lean_dec(x_1);
-x_119 = l_Lean_Parser_Term_forall___elambda__1___closed__2;
-x_120 = l_Lean_Parser_ParserState_mkNode(x_84, x_119, x_83);
-x_121 = 1;
-x_122 = l_Lean_Parser_mergeOrElseErrors(x_120, x_75, x_72, x_121);
-lean_dec(x_72);
-return x_122;
-}
-}
-}
-else
-{
-uint8_t x_153; lean_object* x_154;
-lean_dec(x_81);
-lean_dec(x_4);
-lean_dec(x_1);
-x_153 = 1;
-x_154 = l_Lean_Parser_mergeOrElseErrors(x_80, x_75, x_72, x_153);
-lean_dec(x_72);
-return x_154;
-}
-}
-}
+x_48 = l_Lean_Parser_Term_forall___elambda__1___closed__17;
+x_49 = 1;
+x_50 = l_Lean_Parser_orelseFnCore(x_6, x_48, x_49, x_1, x_2);
+return x_50;
}
}
}
@@ -39139,7 +26662,7 @@ lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_obj
x_1 = l_Lean_Parser_Term_simpleBinder;
x_2 = lean_ctor_get(x_1, 0);
lean_inc(x_2);
-x_3 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_forall___elambda__1___spec__1___closed__1;
+x_3 = l_Lean_Parser_Term_forall___elambda__1___closed__9;
x_4 = lean_ctor_get(x_3, 0);
lean_inc(x_4);
x_5 = l_Lean_Parser_orelseInfo(x_2, x_4);
@@ -39662,17 +27185,6 @@ return x_4;
static lean_object* _init_l_Lean_Parser_Term_matchAlt___closed__4() {
_start:
{
-uint8_t x_1; lean_object* x_2; lean_object* x_3;
-x_1 = 0;
-x_2 = lean_box(x_1);
-x_3 = lean_alloc_closure((void*)(l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_tupleTail___elambda__1___spec__1___boxed), 3, 1);
-lean_closure_set(x_3, 0, x_2);
-return x_3;
-}
-}
-static lean_object* _init_l_Lean_Parser_Term_matchAlt___closed__5() {
-_start:
-{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
x_1 = l_Lean_Parser_Term_typeAscription___closed__2;
x_2 = lean_ctor_get(x_1, 0);
@@ -39684,7 +27196,7 @@ x_5 = l_Lean_Parser_andthenInfo(x_4, x_2);
return x_5;
}
}
-static lean_object* _init_l_Lean_Parser_Term_matchAlt___closed__6() {
+static lean_object* _init_l_Lean_Parser_Term_matchAlt___closed__5() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
@@ -39696,47 +27208,47 @@ lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Term_matchAlt___closed__7() {
+static lean_object* _init_l_Lean_Parser_Term_matchAlt___closed__6() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Term_matchAlt___closed__3;
-x_2 = l_Lean_Parser_Term_matchAlt___closed__5;
+x_2 = l_Lean_Parser_Term_matchAlt___closed__4;
x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
return x_3;
}
}
+static lean_object* _init_l_Lean_Parser_Term_matchAlt___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Term_matchAlt___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
static lean_object* _init_l_Lean_Parser_Term_matchAlt___closed__8() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_matchAlt___closed__4;
-x_2 = l_Lean_Parser_Term_matchAlt___closed__6;
-x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
-lean_closure_set(x_3, 0, x_1);
-lean_closure_set(x_3, 1, x_2);
-return x_3;
-}
-}
-static lean_object* _init_l_Lean_Parser_Term_matchAlt___closed__9() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_matchAlt___closed__7;
-x_2 = l_Lean_Parser_Term_matchAlt___closed__8;
+x_1 = l_Lean_Parser_Term_matchAlt___closed__6;
+x_2 = l_Lean_Parser_Term_matchAlt___closed__7;
x_3 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_3, 0, x_1);
lean_ctor_set(x_3, 1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Term_matchAlt___closed__10() {
+static lean_object* _init_l_Lean_Parser_Term_matchAlt___closed__9() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
x_1 = l_Lean_Parser_Term_matchAlt___closed__1;
x_2 = l_Lean_Parser_Term_matchAlt___closed__2;
-x_3 = l_Lean_Parser_Term_matchAlt___closed__9;
+x_3 = l_Lean_Parser_Term_matchAlt___closed__8;
x_4 = l_Lean_Parser_nodeWithAntiquot(x_1, x_2, x_3);
return x_4;
}
@@ -39745,7 +27257,7 @@ static lean_object* _init_l_Lean_Parser_Term_matchAlt() {
_start:
{
lean_object* x_1;
-x_1 = l_Lean_Parser_Term_matchAlt___closed__10;
+x_1 = l_Lean_Parser_Term_matchAlt___closed__9;
return x_1;
}
}
@@ -39807,110 +27319,188 @@ return x_7;
}
else
{
-lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12;
-x_8 = lean_ctor_get(x_3, 0);
-lean_inc(x_8);
-x_9 = lean_array_get_size(x_8);
-lean_dec(x_8);
-x_10 = lean_ctor_get(x_3, 1);
-lean_inc(x_10);
-lean_inc(x_2);
-x_11 = lean_apply_2(x_5, x_2, x_3);
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_dec(x_10);
-lean_dec(x_9);
-lean_dec(x_2);
-lean_dec(x_1);
-return x_11;
+uint8_t x_8; lean_object* x_9;
+x_8 = 1;
+x_9 = l_Lean_Parser_orelseFnCore(x_5, x_1, x_8, x_2, x_3);
+return x_9;
}
-else
+}
+}
+lean_object* l_Lean_Parser_Term_matchAlts___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
+_start:
{
-lean_object* x_13; lean_object* x_14; uint8_t x_15;
-x_13 = lean_ctor_get(x_12, 0);
+lean_object* x_6; lean_object* x_7;
+x_6 = lean_ctor_get(x_4, 0);
+lean_inc(x_6);
+x_7 = lean_ctor_get(x_5, 3);
+lean_inc(x_7);
+if (lean_obj_tag(x_7) == 0)
+{
+uint8_t x_8;
+x_8 = !lean_is_exclusive(x_4);
+if (x_8 == 0)
+{
+lean_object* x_9; lean_object* x_10; uint8_t x_11;
+x_9 = lean_ctor_get(x_4, 4);
+lean_dec(x_9);
+x_10 = lean_ctor_get(x_4, 0);
+lean_dec(x_10);
+x_11 = !lean_is_exclusive(x_6);
+if (x_11 == 0)
+{
+lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
+x_12 = lean_ctor_get(x_6, 2);
+x_13 = lean_ctor_get(x_5, 1);
lean_inc(x_13);
-lean_dec(x_12);
-x_14 = lean_ctor_get(x_11, 1);
-lean_inc(x_14);
-x_15 = lean_nat_dec_eq(x_14, x_10);
-lean_dec(x_14);
-if (x_15 == 0)
+x_14 = l_Lean_FileMap_toPosition(x_12, x_13);
+x_15 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_15, 0, x_14);
+lean_ctor_set(x_4, 4, x_15);
+lean_inc(x_4);
+x_16 = lean_apply_2(x_1, x_4, x_5);
+x_17 = lean_ctor_get(x_16, 3);
+lean_inc(x_17);
+if (lean_obj_tag(x_17) == 0)
{
-lean_dec(x_13);
-lean_dec(x_10);
-lean_dec(x_9);
-lean_dec(x_2);
-lean_dec(x_1);
-return x_11;
-}
-else
-{
-lean_object* x_16; lean_object* x_17; uint8_t x_18; lean_object* x_19;
-lean_inc(x_10);
-x_16 = l_Lean_Parser_ParserState_restore(x_11, x_9, x_10);
-lean_dec(x_9);
-x_17 = lean_apply_2(x_1, x_2, x_16);
-x_18 = 1;
-x_19 = l_Lean_Parser_mergeOrElseErrors(x_17, x_13, x_10, x_18);
-lean_dec(x_10);
+uint8_t x_18; lean_object* x_19;
+x_18 = 0;
+x_19 = l_Lean_Parser_sepBy1Fn(x_18, x_2, x_3, x_4, x_16);
return x_19;
}
-}
-}
-}
-}
-static lean_object* _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__1() {
-_start:
+else
{
-lean_object* x_1;
-x_1 = lean_mk_string("| ");
-return x_1;
+lean_dec(x_17);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+return x_16;
}
}
-static lean_object* _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__2() {
-_start:
+else
{
-lean_object* x_1; lean_object* x_2;
-x_1 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__1;
-x_2 = l_String_trim(x_1);
-return x_2;
-}
-}
-static lean_object* _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__3() {
-_start:
+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;
+x_20 = lean_ctor_get(x_6, 0);
+x_21 = lean_ctor_get(x_6, 1);
+x_22 = lean_ctor_get(x_6, 2);
+lean_inc(x_22);
+lean_inc(x_21);
+lean_inc(x_20);
+lean_dec(x_6);
+x_23 = lean_ctor_get(x_5, 1);
+lean_inc(x_23);
+x_24 = l_Lean_FileMap_toPosition(x_22, x_23);
+x_25 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_25, 0, x_20);
+lean_ctor_set(x_25, 1, x_21);
+lean_ctor_set(x_25, 2, x_22);
+x_26 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_26, 0, x_24);
+lean_ctor_set(x_4, 4, x_26);
+lean_ctor_set(x_4, 0, x_25);
+lean_inc(x_4);
+x_27 = lean_apply_2(x_1, x_4, x_5);
+x_28 = lean_ctor_get(x_27, 3);
+lean_inc(x_28);
+if (lean_obj_tag(x_28) == 0)
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__2;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+uint8_t x_29; lean_object* x_30;
+x_29 = 0;
+x_30 = l_Lean_Parser_sepBy1Fn(x_29, x_2, x_3, x_4, x_27);
+return x_30;
}
-}
-static lean_object* _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__4() {
-_start:
+else
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__3;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_dec(x_28);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+return x_27;
}
}
-static lean_object* _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__5() {
-_start:
+}
+else
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__4;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
+lean_object* x_31; lean_object* x_32; lean_object* x_33; uint8_t 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;
+x_31 = lean_ctor_get(x_4, 1);
+x_32 = lean_ctor_get(x_4, 2);
+x_33 = lean_ctor_get(x_4, 3);
+x_34 = lean_ctor_get_uint8(x_4, sizeof(void*)*6);
+x_35 = lean_ctor_get(x_4, 5);
+lean_inc(x_35);
+lean_inc(x_33);
+lean_inc(x_32);
+lean_inc(x_31);
+lean_dec(x_4);
+x_36 = lean_ctor_get(x_6, 0);
+lean_inc(x_36);
+x_37 = lean_ctor_get(x_6, 1);
+lean_inc(x_37);
+x_38 = lean_ctor_get(x_6, 2);
+lean_inc(x_38);
+if (lean_is_exclusive(x_6)) {
+ lean_ctor_release(x_6, 0);
+ lean_ctor_release(x_6, 1);
+ lean_ctor_release(x_6, 2);
+ x_39 = x_6;
+} else {
+ lean_dec_ref(x_6);
+ x_39 = lean_box(0);
+}
+x_40 = lean_ctor_get(x_5, 1);
+lean_inc(x_40);
+x_41 = l_Lean_FileMap_toPosition(x_38, x_40);
+if (lean_is_scalar(x_39)) {
+ x_42 = lean_alloc_ctor(0, 3, 0);
+} else {
+ x_42 = x_39;
+}
+lean_ctor_set(x_42, 0, x_36);
+lean_ctor_set(x_42, 1, x_37);
+lean_ctor_set(x_42, 2, x_38);
+x_43 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_43, 0, x_41);
+x_44 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_44, 0, x_42);
+lean_ctor_set(x_44, 1, x_31);
+lean_ctor_set(x_44, 2, x_32);
+lean_ctor_set(x_44, 3, x_33);
+lean_ctor_set(x_44, 4, x_43);
+lean_ctor_set(x_44, 5, x_35);
+lean_ctor_set_uint8(x_44, sizeof(void*)*6, x_34);
+lean_inc(x_44);
+x_45 = lean_apply_2(x_1, x_44, x_5);
+x_46 = lean_ctor_get(x_45, 3);
+lean_inc(x_46);
+if (lean_obj_tag(x_46) == 0)
+{
+uint8_t x_47; lean_object* x_48;
+x_47 = 0;
+x_48 = l_Lean_Parser_sepBy1Fn(x_47, x_2, x_3, x_44, x_45);
+return x_48;
+}
+else
+{
+lean_dec(x_46);
+lean_dec(x_44);
+lean_dec(x_3);
+lean_dec(x_2);
+return x_45;
}
}
-static lean_object* _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__6() {
+}
+else
+{
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+lean_dec(x_1);
+return x_5;
+}
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_matchAlts___closed__1() {
_start:
{
lean_object* x_1;
@@ -39918,352 +27508,12 @@ x_1 = lean_mk_string("alternatives must be indented");
return x_1;
}
}
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2(uint8_t x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5) {
-_start:
-{
-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;
-x_6 = l_Lean_Parser_Term_matchAlt;
-x_7 = lean_ctor_get(x_6, 1);
-lean_inc(x_7);
-x_8 = lean_ctor_get(x_5, 0);
-lean_inc(x_8);
-x_9 = lean_array_get_size(x_8);
-lean_dec(x_8);
-x_10 = lean_ctor_get(x_5, 1);
-lean_inc(x_10);
-lean_inc(x_4);
-x_11 = lean_apply_2(x_7, x_4, x_5);
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_23; lean_object* x_40;
-lean_dec(x_10);
-lean_dec(x_9);
-x_13 = lean_ctor_get(x_11, 0);
-lean_inc(x_13);
-x_14 = lean_array_get_size(x_13);
-lean_dec(x_13);
-x_15 = lean_ctor_get(x_11, 1);
-lean_inc(x_15);
-x_40 = lean_ctor_get(x_4, 4);
-lean_inc(x_40);
-if (lean_obj_tag(x_40) == 0)
-{
-x_23 = x_11;
-goto block_39;
-}
-else
-{
-lean_object* x_41; 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_41 = lean_ctor_get(x_40, 0);
-lean_inc(x_41);
-lean_dec(x_40);
-x_42 = lean_ctor_get(x_4, 0);
-lean_inc(x_42);
-x_43 = lean_ctor_get(x_42, 2);
-lean_inc(x_43);
-lean_dec(x_42);
-lean_inc(x_15);
-x_44 = l_Lean_FileMap_toPosition(x_43, x_15);
-lean_dec(x_43);
-x_45 = lean_ctor_get(x_41, 1);
-lean_inc(x_45);
-lean_dec(x_41);
-x_46 = lean_ctor_get(x_44, 1);
-lean_inc(x_46);
-lean_dec(x_44);
-x_47 = lean_nat_dec_le(x_45, x_46);
-lean_dec(x_46);
-lean_dec(x_45);
-if (x_47 == 0)
-{
-lean_object* x_48; lean_object* x_49;
-x_48 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__6;
-x_49 = l_Lean_Parser_ParserState_mkError(x_11, x_48);
-x_23 = x_49;
-goto block_39;
-}
-else
-{
-x_23 = x_11;
-goto block_39;
-}
-}
-block_22:
-{
-lean_object* x_17;
-x_17 = lean_ctor_get(x_16, 3);
-lean_inc(x_17);
-if (lean_obj_tag(x_17) == 0)
-{
-lean_dec(x_15);
-lean_dec(x_14);
-{
-uint8_t _tmp_2 = x_1;
-lean_object* _tmp_4 = x_16;
-x_3 = _tmp_2;
-x_5 = _tmp_4;
-}
-goto _start;
-}
-else
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21;
-lean_dec(x_17);
-lean_dec(x_4);
-x_19 = l_Lean_Parser_ParserState_restore(x_16, x_14, x_15);
-lean_dec(x_14);
-x_20 = l_Lean_nullKind;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_2);
-return x_21;
-}
-}
-block_39:
-{
-lean_object* x_24;
-x_24 = lean_ctor_get(x_23, 3);
-lean_inc(x_24);
-if (lean_obj_tag(x_24) == 0)
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27;
-x_25 = lean_ctor_get(x_23, 1);
-lean_inc(x_25);
-lean_inc(x_4);
-x_26 = l_Lean_Parser_tokenFn(x_4, x_23);
-x_27 = lean_ctor_get(x_26, 3);
-lean_inc(x_27);
-if (lean_obj_tag(x_27) == 0)
-{
-lean_object* x_28; lean_object* x_29;
-x_28 = lean_ctor_get(x_26, 0);
-lean_inc(x_28);
-x_29 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_28);
-lean_dec(x_28);
-if (lean_obj_tag(x_29) == 2)
-{
-lean_object* x_30; lean_object* x_31; uint8_t x_32;
-x_30 = lean_ctor_get(x_29, 1);
-lean_inc(x_30);
-lean_dec(x_29);
-x_31 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__2;
-x_32 = lean_string_dec_eq(x_30, x_31);
-lean_dec(x_30);
-if (x_32 == 0)
-{
-lean_object* x_33; lean_object* x_34;
-x_33 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__5;
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_26, x_33, x_25);
-x_16 = x_34;
-goto block_22;
-}
-else
-{
-lean_dec(x_25);
-x_16 = x_26;
-goto block_22;
-}
-}
-else
-{
-lean_object* x_35; lean_object* x_36;
-lean_dec(x_29);
-x_35 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__5;
-x_36 = l_Lean_Parser_ParserState_mkErrorsAt(x_26, x_35, x_25);
-x_16 = x_36;
-goto block_22;
-}
-}
-else
-{
-lean_object* x_37; lean_object* x_38;
-lean_dec(x_27);
-x_37 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__5;
-x_38 = l_Lean_Parser_ParserState_mkErrorsAt(x_26, x_37, x_25);
-x_16 = x_38;
-goto block_22;
-}
-}
-else
-{
-lean_dec(x_24);
-x_16 = x_23;
-goto block_22;
-}
-}
-}
-else
-{
-lean_object* x_50; uint8_t x_51;
-lean_dec(x_12);
-lean_dec(x_4);
-x_50 = lean_ctor_get(x_11, 1);
-lean_inc(x_50);
-x_51 = lean_nat_dec_lt(x_10, x_50);
-lean_dec(x_50);
-if (x_51 == 0)
-{
-if (x_3 == 0)
-{
-lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55;
-lean_dec(x_10);
-lean_dec(x_9);
-x_52 = lean_box(0);
-x_53 = l_Lean_Parser_ParserState_pushSyntax(x_11, x_52);
-x_54 = l_Lean_nullKind;
-x_55 = l_Lean_Parser_ParserState_mkNode(x_53, x_54, x_2);
-return x_55;
-}
-else
-{
-lean_object* x_56; lean_object* x_57; lean_object* x_58;
-x_56 = l_Lean_Parser_ParserState_restore(x_11, x_9, x_10);
-lean_dec(x_9);
-x_57 = l_Lean_nullKind;
-x_58 = l_Lean_Parser_ParserState_mkNode(x_56, x_57, x_2);
-return x_58;
-}
-}
-else
-{
-lean_dec(x_10);
-lean_dec(x_9);
-lean_dec(x_2);
-return x_11;
-}
-}
-}
-}
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_matchAlts___spec__1(uint8_t x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
-x_4 = lean_ctor_get(x_3, 0);
-lean_inc(x_4);
-x_5 = lean_array_get_size(x_4);
-lean_dec(x_4);
-x_6 = 0;
-x_7 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2(x_1, x_5, x_6, x_2, x_3);
-return x_7;
-}
-}
-lean_object* l_Lean_Parser_Term_matchAlts___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4;
-x_4 = lean_ctor_get(x_3, 3);
-lean_inc(x_4);
-if (lean_obj_tag(x_4) == 0)
-{
-uint8_t x_5;
-x_5 = !lean_is_exclusive(x_2);
-if (x_5 == 0)
-{
-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;
-x_6 = lean_ctor_get(x_2, 0);
-x_7 = lean_ctor_get(x_2, 4);
-lean_dec(x_7);
-x_8 = lean_ctor_get(x_6, 2);
-lean_inc(x_8);
-x_9 = lean_ctor_get(x_3, 1);
-lean_inc(x_9);
-x_10 = l_Lean_FileMap_toPosition(x_8, x_9);
-lean_dec(x_8);
-x_11 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_11, 0, x_10);
-lean_ctor_set(x_2, 4, x_11);
-lean_inc(x_2);
-x_12 = lean_apply_2(x_1, x_2, x_3);
-x_13 = lean_ctor_get(x_12, 3);
-lean_inc(x_13);
-if (lean_obj_tag(x_13) == 0)
-{
-uint8_t x_14; lean_object* x_15;
-x_14 = 0;
-x_15 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_matchAlts___spec__1(x_14, x_2, x_12);
-return x_15;
-}
-else
-{
-lean_dec(x_13);
-lean_dec(x_2);
-return x_12;
-}
-}
-else
-{
-lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t 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;
-x_16 = lean_ctor_get(x_2, 0);
-x_17 = lean_ctor_get(x_2, 1);
-x_18 = lean_ctor_get(x_2, 2);
-x_19 = lean_ctor_get(x_2, 3);
-x_20 = lean_ctor_get_uint8(x_2, sizeof(void*)*6);
-x_21 = lean_ctor_get(x_2, 5);
-lean_inc(x_21);
-lean_inc(x_19);
-lean_inc(x_18);
-lean_inc(x_17);
-lean_inc(x_16);
-lean_dec(x_2);
-x_22 = lean_ctor_get(x_16, 2);
-lean_inc(x_22);
-x_23 = lean_ctor_get(x_3, 1);
-lean_inc(x_23);
-x_24 = l_Lean_FileMap_toPosition(x_22, x_23);
-lean_dec(x_22);
-x_25 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_25, 0, x_24);
-x_26 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_26, 0, x_16);
-lean_ctor_set(x_26, 1, x_17);
-lean_ctor_set(x_26, 2, x_18);
-lean_ctor_set(x_26, 3, x_19);
-lean_ctor_set(x_26, 4, x_25);
-lean_ctor_set(x_26, 5, x_21);
-lean_ctor_set_uint8(x_26, sizeof(void*)*6, x_20);
-lean_inc(x_26);
-x_27 = lean_apply_2(x_1, x_26, x_3);
-x_28 = lean_ctor_get(x_27, 3);
-lean_inc(x_28);
-if (lean_obj_tag(x_28) == 0)
-{
-uint8_t x_29; lean_object* x_30;
-x_29 = 0;
-x_30 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_matchAlts___spec__1(x_29, x_26, x_27);
-return x_30;
-}
-else
-{
-lean_dec(x_28);
-lean_dec(x_26);
-return x_27;
-}
-}
-}
-else
-{
-lean_dec(x_4);
-lean_dec(x_2);
-lean_dec(x_1);
-return x_3;
-}
-}
-}
-static lean_object* _init_l_Lean_Parser_Term_matchAlts___closed__1() {
-_start:
-{
-lean_object* x_1; lean_object* x_2;
-x_1 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__2;
-x_2 = l_Lean_Parser_symbolInfo(x_1);
-return x_2;
-}
-}
static lean_object* _init_l_Lean_Parser_Term_matchAlts___closed__2() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__2;
-x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+x_1 = l_Lean_Parser_Term_matchAlts___closed__1;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_checkColGeFn___boxed), 3, 1);
lean_closure_set(x_2, 0, x_1);
return x_2;
}
@@ -40271,72 +27521,132 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_matchAlts___closed__3() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Parser_inhabited___closed__1;
-x_2 = l_Lean_Parser_Term_matchAlts___closed__1;
-x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
-return x_3;
+lean_object* x_1;
+x_1 = lean_mk_string("| ");
+return x_1;
}
}
static lean_object* _init_l_Lean_Parser_Term_matchAlts___closed__4() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_epsilonInfo;
-x_2 = l_Lean_Parser_Term_matchAlts___closed__3;
-x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_matchAlts___closed__3;
+x_2 = l_String_trim(x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_matchAlts___closed__5() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
-x_1 = l_Lean_Parser_Term_matchAlt;
-x_2 = lean_ctor_get(x_1, 0);
-lean_inc(x_2);
-x_3 = l_Lean_Parser_Term_matchAlts___closed__4;
-x_4 = l_Lean_Parser_sepBy1Info(x_2, x_3);
-return x_4;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_matchAlts___closed__4;
+x_2 = l_Lean_Parser_symbolInfo(x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_matchAlts___closed__6() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_matchAlts___closed__1;
-x_2 = l_Lean_Parser_Term_matchAlts___closed__2;
-x_3 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_3, 0, x_1);
-lean_ctor_set(x_3, 1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_matchAlts___closed__4;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_matchAlts___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_Parser_Term_matchAlts___closed__1;
-x_2 = l_Lean_Parser_optionaInfo(x_1);
-return x_2;
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Parser_inhabited___closed__1;
+x_2 = l_Lean_Parser_Term_matchAlts___closed__5;
+x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
+return x_3;
}
}
static lean_object* _init_l_Lean_Parser_Term_matchAlts___closed__8() {
_start:
{
-lean_object* x_1; lean_object* x_2;
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Term_matchAlts___closed__2;
-x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optionalFn), 3, 1);
-lean_closure_set(x_2, 0, x_1);
-return x_2;
+x_2 = l_Lean_Parser_Term_matchAlts___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
}
}
static lean_object* _init_l_Lean_Parser_Term_matchAlts___closed__9() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_matchAlts___closed__7;
+x_1 = l_Lean_Parser_epsilonInfo;
+x_2 = l_Lean_Parser_Term_matchAlts___closed__7;
+x_3 = l_Lean_Parser_andthenInfo(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_matchAlts___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Parser_inhabited___closed__2;
x_2 = l_Lean_Parser_Term_matchAlts___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_matchAlts___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
+x_1 = l_Lean_Parser_Term_matchAlt;
+x_2 = lean_ctor_get(x_1, 0);
+lean_inc(x_2);
+x_3 = l_Lean_Parser_Term_matchAlts___closed__9;
+x_4 = l_Lean_Parser_sepBy1Info(x_2, x_3);
+return x_4;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_matchAlts___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_matchAlts___closed__5;
+x_2 = l_Lean_Parser_Term_matchAlts___closed__6;
+x_3 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_3, 0, x_1);
+lean_ctor_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_matchAlts___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_matchAlts___closed__5;
+x_2 = l_Lean_Parser_optionaInfo(x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_matchAlts___closed__14() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_matchAlts___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optionalFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_matchAlts___closed__15() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_matchAlts___closed__13;
+x_2 = l_Lean_Parser_Term_matchAlts___closed__14;
x_3 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_3, 0, x_1);
lean_ctor_set(x_3, 1, x_2);
@@ -40346,80 +27656,64 @@ return x_3;
lean_object* l_Lean_Parser_Term_matchAlts(uint8_t x_1) {
_start:
{
-lean_object* x_2; lean_object* x_3; lean_object* x_4;
-x_2 = l_Lean_Parser_Term_matchAlts___elambda__1___closed__4;
-x_3 = lean_ctor_get(x_2, 0);
+lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
+x_2 = l_Lean_Parser_Term_matchAlt;
+x_3 = lean_ctor_get(x_2, 1);
lean_inc(x_3);
+x_4 = l_Lean_Parser_Term_matchAlts___elambda__1___closed__4;
+x_5 = lean_ctor_get(x_4, 0);
+lean_inc(x_5);
if (x_1 == 0)
{
-lean_object* x_22;
-x_22 = l_Lean_Parser_Term_matchAlts___closed__6;
-x_4 = x_22;
-goto block_21;
+lean_object* x_25;
+x_25 = l_Lean_Parser_Term_matchAlts___closed__12;
+x_6 = x_25;
+goto block_24;
}
else
{
-lean_object* x_23;
-x_23 = l_Lean_Parser_Term_matchAlts___closed__9;
-x_4 = x_23;
-goto block_21;
+lean_object* x_26;
+x_26 = l_Lean_Parser_Term_matchAlts___closed__15;
+x_6 = x_26;
+goto block_24;
}
-block_21:
+block_24:
{
-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; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
-x_5 = lean_ctor_get(x_4, 0);
-lean_inc(x_5);
-x_6 = l_Lean_Parser_Term_matchAlts___closed__5;
-x_7 = l_Lean_Parser_andthenInfo(x_5, x_6);
-x_8 = lean_ctor_get(x_4, 1);
-lean_inc(x_8);
-lean_dec(x_4);
-x_9 = l_Lean_Parser_epsilonInfo;
-x_10 = l_Lean_Parser_andthenInfo(x_9, x_7);
-x_11 = lean_alloc_closure((void*)(l_Lean_Parser_Term_matchAlts___lambda__1), 3, 1);
-lean_closure_set(x_11, 0, x_8);
-x_12 = l_Lean_Parser_Term_matchAlts___elambda__1___closed__2;
-x_13 = l_Lean_Parser_nodeInfo(x_12, x_10);
-x_14 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
-lean_closure_set(x_14, 0, x_12);
-lean_closure_set(x_14, 1, x_11);
-x_15 = l_Lean_Parser_andthenInfo(x_9, x_13);
-x_16 = l_Lean_Parser_Term_explicitBinder___closed__10;
-x_17 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
-lean_closure_set(x_17, 0, x_16);
+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; 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;
+x_7 = lean_ctor_get(x_6, 0);
+lean_inc(x_7);
+x_8 = l_Lean_Parser_Term_matchAlts___closed__11;
+x_9 = l_Lean_Parser_andthenInfo(x_7, x_8);
+x_10 = lean_ctor_get(x_6, 1);
+lean_inc(x_10);
+lean_dec(x_6);
+x_11 = l_Lean_Parser_epsilonInfo;
+x_12 = l_Lean_Parser_andthenInfo(x_11, x_9);
+x_13 = l_Lean_Parser_Term_matchAlts___closed__10;
+x_14 = lean_alloc_closure((void*)(l_Lean_Parser_Term_matchAlts___lambda__1), 5, 3);
+lean_closure_set(x_14, 0, x_10);
+lean_closure_set(x_14, 1, x_3);
+lean_closure_set(x_14, 2, x_13);
+x_15 = l_Lean_Parser_Term_matchAlts___elambda__1___closed__2;
+x_16 = l_Lean_Parser_nodeInfo(x_15, x_12);
+x_17 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_17, 0, x_15);
lean_closure_set(x_17, 1, x_14);
-x_18 = l_Lean_Parser_orelseInfo(x_3, x_15);
-x_19 = lean_alloc_closure((void*)(l_Lean_Parser_Term_matchAlts___elambda__1), 3, 1);
-lean_closure_set(x_19, 0, x_17);
-x_20 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_20, 0, x_18);
-lean_ctor_set(x_20, 1, x_19);
-return x_20;
+x_18 = l_Lean_Parser_andthenInfo(x_11, x_16);
+x_19 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_20 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_20, 0, x_19);
+lean_closure_set(x_20, 1, x_17);
+x_21 = l_Lean_Parser_orelseInfo(x_5, x_18);
+x_22 = lean_alloc_closure((void*)(l_Lean_Parser_Term_matchAlts___elambda__1), 3, 1);
+lean_closure_set(x_22, 0, x_20);
+x_23 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_23, 0, x_21);
+lean_ctor_set(x_23, 1, x_22);
+return x_23;
}
}
}
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
-_start:
-{
-uint8_t x_6; uint8_t x_7; lean_object* x_8;
-x_6 = lean_unbox(x_1);
-lean_dec(x_1);
-x_7 = lean_unbox(x_3);
-lean_dec(x_3);
-x_8 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2(x_6, x_2, x_7, x_4, x_5);
-return x_8;
-}
-}
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_matchAlts___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-uint8_t x_4; lean_object* x_5;
-x_4 = lean_unbox(x_1);
-lean_dec(x_1);
-x_5 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_matchAlts___spec__1(x_4, x_2, x_3);
-return x_5;
-}
-}
lean_object* l_Lean_Parser_Term_matchAlts___boxed(lean_object* x_1) {
_start:
{
@@ -40480,11 +27774,11 @@ return x_1;
static lean_object* _init_l_Lean_Parser_Term_matchDiscr___elambda__1___closed__6() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_mkAntiquot___closed__5;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_checkNoWsBefore___elambda__1___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_matchDiscr___elambda__1___closed__7() {
@@ -40492,8 +27786,10 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__6;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_2 = l_Lean_Parser_mkAntiquot___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -40501,11 +27797,67 @@ static lean_object* _init_l_Lean_Parser_Term_matchDiscr___elambda__1___closed__8
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Term_ident___closed__1;
x_2 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__7;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_matchDiscr___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__8;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_tryFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_matchDiscr___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__9;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optionalFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_matchDiscr___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__10;
+x_2 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_matchDiscr___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_matchDiscr___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__12;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -40529,279 +27881,34 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_55; lean_object* x_56;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
-x_10 = lean_ctor_get(x_7, 1);
-lean_inc(x_10);
-x_11 = lean_array_get_size(x_9);
+x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
+x_11 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__9;
lean_inc(x_1);
-x_55 = l_Lean_Parser_Term_ident___elambda__1(x_1, x_7);
-x_56 = lean_ctor_get(x_55, 3);
-lean_inc(x_56);
-if (lean_obj_tag(x_56) == 0)
-{
-lean_object* x_57; lean_object* x_58; lean_object* x_59;
-x_57 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__5;
-x_58 = l_Lean_Parser_checkNoWsBeforeFn(x_57, x_1, x_55);
-x_59 = lean_ctor_get(x_58, 3);
-lean_inc(x_59);
-if (lean_obj_tag(x_59) == 0)
-{
-lean_object* x_60; lean_object* x_61; lean_object* x_62;
-x_60 = lean_ctor_get(x_58, 1);
-lean_inc(x_60);
-lean_inc(x_1);
-x_61 = l_Lean_Parser_tokenFn(x_1, x_58);
-x_62 = lean_ctor_get(x_61, 3);
-lean_inc(x_62);
-if (lean_obj_tag(x_62) == 0)
-{
-lean_object* x_63; lean_object* x_64;
-x_63 = lean_ctor_get(x_61, 0);
-lean_inc(x_63);
-x_64 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_63);
-lean_dec(x_63);
-if (lean_obj_tag(x_64) == 2)
-{
-lean_object* x_65; lean_object* x_66; uint8_t x_67;
-x_65 = lean_ctor_get(x_64, 1);
-lean_inc(x_65);
-lean_dec(x_64);
-x_66 = l_Lean_Parser_mkAntiquot___closed__5;
-x_67 = lean_string_dec_eq(x_65, x_66);
-lean_dec(x_65);
-if (x_67 == 0)
-{
-lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72;
-x_68 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__8;
-x_69 = l_Lean_Parser_ParserState_mkErrorsAt(x_61, x_68, x_60);
-x_70 = lean_ctor_get(x_69, 0);
-lean_inc(x_70);
-x_71 = lean_ctor_get(x_69, 2);
-lean_inc(x_71);
-x_72 = lean_ctor_get(x_69, 3);
-lean_inc(x_72);
-x_48 = x_69;
-x_49 = x_70;
-x_50 = x_71;
-x_51 = x_72;
-goto block_54;
-}
-else
-{
-lean_object* x_73; lean_object* x_74; lean_object* x_75;
-lean_dec(x_60);
-x_73 = lean_ctor_get(x_61, 0);
-lean_inc(x_73);
-x_74 = lean_ctor_get(x_61, 2);
-lean_inc(x_74);
-x_75 = lean_ctor_get(x_61, 3);
-lean_inc(x_75);
-x_48 = x_61;
-x_49 = x_73;
-x_50 = x_74;
-x_51 = x_75;
-goto block_54;
-}
-}
-else
-{
-lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80;
-lean_dec(x_64);
-x_76 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__8;
-x_77 = l_Lean_Parser_ParserState_mkErrorsAt(x_61, x_76, x_60);
-x_78 = lean_ctor_get(x_77, 0);
-lean_inc(x_78);
-x_79 = lean_ctor_get(x_77, 2);
-lean_inc(x_79);
-x_80 = lean_ctor_get(x_77, 3);
-lean_inc(x_80);
-x_48 = x_77;
-x_49 = x_78;
-x_50 = x_79;
-x_51 = x_80;
-goto block_54;
-}
-}
-else
-{
-lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85;
-lean_dec(x_62);
-x_81 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__8;
-x_82 = l_Lean_Parser_ParserState_mkErrorsAt(x_61, x_81, x_60);
-x_83 = lean_ctor_get(x_82, 0);
-lean_inc(x_83);
-x_84 = lean_ctor_get(x_82, 2);
-lean_inc(x_84);
-x_85 = lean_ctor_get(x_82, 3);
-lean_inc(x_85);
-x_48 = x_82;
-x_49 = x_83;
-x_50 = x_84;
-x_51 = x_85;
-goto block_54;
-}
-}
-else
-{
-lean_object* x_86; lean_object* x_87; lean_object* x_88;
-lean_dec(x_59);
-x_86 = lean_ctor_get(x_58, 0);
-lean_inc(x_86);
-x_87 = lean_ctor_get(x_58, 2);
-lean_inc(x_87);
-x_88 = lean_ctor_get(x_58, 3);
-lean_inc(x_88);
-x_48 = x_58;
-x_49 = x_86;
-x_50 = x_87;
-x_51 = x_88;
-goto block_54;
-}
-}
-else
-{
-lean_object* x_89; lean_object* x_90; lean_object* x_91;
-lean_dec(x_56);
-x_89 = lean_ctor_get(x_55, 0);
-lean_inc(x_89);
-x_90 = lean_ctor_get(x_55, 2);
-lean_inc(x_90);
-x_91 = lean_ctor_get(x_55, 3);
-lean_inc(x_91);
-x_48 = x_55;
-x_49 = x_89;
-x_50 = x_90;
-x_51 = x_91;
-goto block_54;
-}
-block_47:
-{
-lean_object* x_13;
+x_12 = l_Lean_Parser_optionalFn(x_11, x_1, x_7);
x_13 = lean_ctor_get(x_12, 3);
lean_inc(x_13);
if (lean_obj_tag(x_13) == 0)
{
-lean_object* x_14; lean_object* x_15; lean_object* x_16;
-lean_dec(x_10);
-x_14 = l_Lean_nullKind;
-lean_inc(x_11);
-x_15 = l_Lean_Parser_ParserState_mkNode(x_12, x_14, x_11);
-x_16 = lean_ctor_get(x_15, 3);
-lean_inc(x_16);
-if (lean_obj_tag(x_16) == 0)
-{
-lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
-x_17 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_18 = lean_unsigned_to_nat(0u);
-x_19 = l_Lean_Parser_categoryParser___elambda__1(x_17, x_18, x_1, x_15);
-x_20 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__2;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_11);
-return x_21;
+lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
+x_14 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_15 = lean_unsigned_to_nat(0u);
+x_16 = l_Lean_Parser_categoryParser___elambda__1(x_14, x_15, x_1, x_12);
+x_17 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__2;
+x_18 = l_Lean_Parser_ParserState_mkNode(x_16, x_17, x_10);
+return x_18;
}
else
{
-lean_object* x_22; lean_object* x_23;
-lean_dec(x_16);
-lean_dec(x_1);
-x_22 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__2;
-x_23 = l_Lean_Parser_ParserState_mkNode(x_15, x_22, x_11);
-return x_23;
-}
-}
-else
-{
-lean_object* x_24; uint8_t x_25;
+lean_object* x_19; lean_object* x_20;
lean_dec(x_13);
-x_24 = lean_ctor_get(x_12, 1);
-lean_inc(x_24);
-x_25 = lean_nat_dec_eq(x_24, x_10);
-lean_dec(x_24);
-if (x_25 == 0)
-{
-lean_object* x_26; lean_object* x_27; lean_object* x_28;
-lean_dec(x_10);
-x_26 = l_Lean_nullKind;
-lean_inc(x_11);
-x_27 = l_Lean_Parser_ParserState_mkNode(x_12, x_26, x_11);
-x_28 = lean_ctor_get(x_27, 3);
-lean_inc(x_28);
-if (lean_obj_tag(x_28) == 0)
-{
-lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
-x_29 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_30 = lean_unsigned_to_nat(0u);
-x_31 = l_Lean_Parser_categoryParser___elambda__1(x_29, x_30, x_1, x_27);
-x_32 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__2;
-x_33 = l_Lean_Parser_ParserState_mkNode(x_31, x_32, x_11);
-return x_33;
-}
-else
-{
-lean_object* x_34; lean_object* x_35;
-lean_dec(x_28);
lean_dec(x_1);
-x_34 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__2;
-x_35 = l_Lean_Parser_ParserState_mkNode(x_27, x_34, x_11);
-return x_35;
-}
-}
-else
-{
-lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_36 = l_Lean_Parser_ParserState_restore(x_12, x_11, x_10);
-x_37 = l_Lean_nullKind;
-lean_inc(x_11);
-x_38 = l_Lean_Parser_ParserState_mkNode(x_36, x_37, x_11);
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
-x_40 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_41 = lean_unsigned_to_nat(0u);
-x_42 = l_Lean_Parser_categoryParser___elambda__1(x_40, x_41, x_1, x_38);
-x_43 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__2;
-x_44 = l_Lean_Parser_ParserState_mkNode(x_42, x_43, x_11);
-return x_44;
-}
-else
-{
-lean_object* x_45; lean_object* x_46;
-lean_dec(x_39);
-lean_dec(x_1);
-x_45 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__2;
-x_46 = l_Lean_Parser_ParserState_mkNode(x_38, x_45, x_11);
-return x_46;
-}
-}
-}
-}
-block_54:
-{
-if (lean_obj_tag(x_51) == 0)
-{
-lean_dec(x_50);
-lean_dec(x_49);
-x_12 = x_48;
-goto block_47;
-}
-else
-{
-lean_object* x_52; lean_object* x_53;
-lean_dec(x_48);
-x_52 = l_Array_shrink___main___rarg(x_49, x_11);
-lean_inc(x_10);
-x_53 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_53, 0, x_52);
-lean_ctor_set(x_53, 1, x_10);
-lean_ctor_set(x_53, 2, x_50);
-lean_ctor_set(x_53, 3, x_51);
-x_12 = x_53;
-goto block_47;
-}
+x_19 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__2;
+x_20 = l_Lean_Parser_ParserState_mkNode(x_12, x_19, x_10);
+return x_20;
}
}
else
@@ -40813,359 +27920,11 @@ return x_7;
}
else
{
-lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96;
-x_92 = lean_ctor_get(x_2, 0);
-lean_inc(x_92);
-x_93 = lean_array_get_size(x_92);
-lean_dec(x_92);
-x_94 = lean_ctor_get(x_2, 1);
-lean_inc(x_94);
-lean_inc(x_1);
-x_95 = lean_apply_2(x_4, x_1, x_2);
-x_96 = lean_ctor_get(x_95, 3);
-lean_inc(x_96);
-if (lean_obj_tag(x_96) == 0)
-{
-lean_dec(x_94);
-lean_dec(x_93);
-lean_dec(x_1);
-return x_95;
-}
-else
-{
-lean_object* x_97; lean_object* x_98; uint8_t x_99;
-x_97 = lean_ctor_get(x_96, 0);
-lean_inc(x_97);
-lean_dec(x_96);
-x_98 = lean_ctor_get(x_95, 1);
-lean_inc(x_98);
-x_99 = lean_nat_dec_eq(x_98, x_94);
-lean_dec(x_98);
-if (x_99 == 0)
-{
-lean_dec(x_97);
-lean_dec(x_94);
-lean_dec(x_93);
-lean_dec(x_1);
-return x_95;
-}
-else
-{
-lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103;
-lean_inc(x_94);
-x_100 = l_Lean_Parser_ParserState_restore(x_95, x_93, x_94);
-lean_dec(x_93);
-x_101 = lean_unsigned_to_nat(1024u);
-x_102 = l_Lean_Parser_checkPrecFn(x_101, x_1, x_100);
-x_103 = lean_ctor_get(x_102, 3);
-lean_inc(x_103);
-if (lean_obj_tag(x_103) == 0)
-{
-lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_162; lean_object* x_163;
-x_104 = lean_ctor_get(x_102, 0);
-lean_inc(x_104);
-x_105 = lean_ctor_get(x_102, 1);
-lean_inc(x_105);
-x_106 = lean_array_get_size(x_104);
-lean_dec(x_104);
-lean_inc(x_1);
-x_162 = l_Lean_Parser_Term_ident___elambda__1(x_1, x_102);
-x_163 = lean_ctor_get(x_162, 3);
-lean_inc(x_163);
-if (lean_obj_tag(x_163) == 0)
-{
-lean_object* x_164; lean_object* x_165; lean_object* x_166;
-x_164 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__5;
-x_165 = l_Lean_Parser_checkNoWsBeforeFn(x_164, x_1, x_162);
-x_166 = lean_ctor_get(x_165, 3);
-lean_inc(x_166);
-if (lean_obj_tag(x_166) == 0)
-{
-lean_object* x_167; lean_object* x_168; lean_object* x_169;
-x_167 = lean_ctor_get(x_165, 1);
-lean_inc(x_167);
-lean_inc(x_1);
-x_168 = l_Lean_Parser_tokenFn(x_1, x_165);
-x_169 = lean_ctor_get(x_168, 3);
-lean_inc(x_169);
-if (lean_obj_tag(x_169) == 0)
-{
-lean_object* x_170; lean_object* x_171;
-x_170 = lean_ctor_get(x_168, 0);
-lean_inc(x_170);
-x_171 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_170);
-lean_dec(x_170);
-if (lean_obj_tag(x_171) == 2)
-{
-lean_object* x_172; lean_object* x_173; uint8_t x_174;
-x_172 = lean_ctor_get(x_171, 1);
-lean_inc(x_172);
-lean_dec(x_171);
-x_173 = l_Lean_Parser_mkAntiquot___closed__5;
-x_174 = lean_string_dec_eq(x_172, x_173);
-lean_dec(x_172);
-if (x_174 == 0)
-{
-lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179;
-x_175 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__8;
-x_176 = l_Lean_Parser_ParserState_mkErrorsAt(x_168, x_175, x_167);
-x_177 = lean_ctor_get(x_176, 0);
-lean_inc(x_177);
-x_178 = lean_ctor_get(x_176, 2);
-lean_inc(x_178);
-x_179 = lean_ctor_get(x_176, 3);
-lean_inc(x_179);
-x_155 = x_176;
-x_156 = x_177;
-x_157 = x_178;
-x_158 = x_179;
-goto block_161;
-}
-else
-{
-lean_object* x_180; lean_object* x_181; lean_object* x_182;
-lean_dec(x_167);
-x_180 = lean_ctor_get(x_168, 0);
-lean_inc(x_180);
-x_181 = lean_ctor_get(x_168, 2);
-lean_inc(x_181);
-x_182 = lean_ctor_get(x_168, 3);
-lean_inc(x_182);
-x_155 = x_168;
-x_156 = x_180;
-x_157 = x_181;
-x_158 = x_182;
-goto block_161;
-}
-}
-else
-{
-lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187;
-lean_dec(x_171);
-x_183 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__8;
-x_184 = l_Lean_Parser_ParserState_mkErrorsAt(x_168, x_183, x_167);
-x_185 = lean_ctor_get(x_184, 0);
-lean_inc(x_185);
-x_186 = lean_ctor_get(x_184, 2);
-lean_inc(x_186);
-x_187 = lean_ctor_get(x_184, 3);
-lean_inc(x_187);
-x_155 = x_184;
-x_156 = x_185;
-x_157 = x_186;
-x_158 = x_187;
-goto block_161;
-}
-}
-else
-{
-lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192;
-lean_dec(x_169);
-x_188 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__8;
-x_189 = l_Lean_Parser_ParserState_mkErrorsAt(x_168, x_188, x_167);
-x_190 = lean_ctor_get(x_189, 0);
-lean_inc(x_190);
-x_191 = lean_ctor_get(x_189, 2);
-lean_inc(x_191);
-x_192 = lean_ctor_get(x_189, 3);
-lean_inc(x_192);
-x_155 = x_189;
-x_156 = x_190;
-x_157 = x_191;
-x_158 = x_192;
-goto block_161;
-}
-}
-else
-{
-lean_object* x_193; lean_object* x_194; lean_object* x_195;
-lean_dec(x_166);
-x_193 = lean_ctor_get(x_165, 0);
-lean_inc(x_193);
-x_194 = lean_ctor_get(x_165, 2);
-lean_inc(x_194);
-x_195 = lean_ctor_get(x_165, 3);
-lean_inc(x_195);
-x_155 = x_165;
-x_156 = x_193;
-x_157 = x_194;
-x_158 = x_195;
-goto block_161;
-}
-}
-else
-{
-lean_object* x_196; lean_object* x_197; lean_object* x_198;
-lean_dec(x_163);
-x_196 = lean_ctor_get(x_162, 0);
-lean_inc(x_196);
-x_197 = lean_ctor_get(x_162, 2);
-lean_inc(x_197);
-x_198 = lean_ctor_get(x_162, 3);
-lean_inc(x_198);
-x_155 = x_162;
-x_156 = x_196;
-x_157 = x_197;
-x_158 = x_198;
-goto block_161;
-}
-block_154:
-{
-lean_object* x_108;
-x_108 = lean_ctor_get(x_107, 3);
-lean_inc(x_108);
-if (lean_obj_tag(x_108) == 0)
-{
-lean_object* x_109; lean_object* x_110; lean_object* x_111;
-lean_dec(x_105);
-x_109 = l_Lean_nullKind;
-lean_inc(x_106);
-x_110 = l_Lean_Parser_ParserState_mkNode(x_107, x_109, x_106);
-x_111 = lean_ctor_get(x_110, 3);
-lean_inc(x_111);
-if (lean_obj_tag(x_111) == 0)
-{
-lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; uint8_t x_117; lean_object* x_118;
-x_112 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_113 = lean_unsigned_to_nat(0u);
-x_114 = l_Lean_Parser_categoryParser___elambda__1(x_112, x_113, x_1, x_110);
-x_115 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__2;
-x_116 = l_Lean_Parser_ParserState_mkNode(x_114, x_115, x_106);
-x_117 = 1;
-x_118 = l_Lean_Parser_mergeOrElseErrors(x_116, x_97, x_94, x_117);
-lean_dec(x_94);
-return x_118;
-}
-else
-{
-lean_object* x_119; lean_object* x_120; uint8_t x_121; lean_object* x_122;
-lean_dec(x_111);
-lean_dec(x_1);
-x_119 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__2;
-x_120 = l_Lean_Parser_ParserState_mkNode(x_110, x_119, x_106);
-x_121 = 1;
-x_122 = l_Lean_Parser_mergeOrElseErrors(x_120, x_97, x_94, x_121);
-lean_dec(x_94);
-return x_122;
-}
-}
-else
-{
-lean_object* x_123; uint8_t x_124;
-lean_dec(x_108);
-x_123 = lean_ctor_get(x_107, 1);
-lean_inc(x_123);
-x_124 = lean_nat_dec_eq(x_123, x_105);
-lean_dec(x_123);
-if (x_124 == 0)
-{
-lean_object* x_125; lean_object* x_126; lean_object* x_127;
-lean_dec(x_105);
-x_125 = l_Lean_nullKind;
-lean_inc(x_106);
-x_126 = l_Lean_Parser_ParserState_mkNode(x_107, x_125, x_106);
-x_127 = lean_ctor_get(x_126, 3);
-lean_inc(x_127);
-if (lean_obj_tag(x_127) == 0)
-{
-lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; uint8_t x_133; lean_object* x_134;
-x_128 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_129 = lean_unsigned_to_nat(0u);
-x_130 = l_Lean_Parser_categoryParser___elambda__1(x_128, x_129, x_1, x_126);
-x_131 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__2;
-x_132 = l_Lean_Parser_ParserState_mkNode(x_130, x_131, x_106);
-x_133 = 1;
-x_134 = l_Lean_Parser_mergeOrElseErrors(x_132, x_97, x_94, x_133);
-lean_dec(x_94);
-return x_134;
-}
-else
-{
-lean_object* x_135; lean_object* x_136; uint8_t x_137; lean_object* x_138;
-lean_dec(x_127);
-lean_dec(x_1);
-x_135 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__2;
-x_136 = l_Lean_Parser_ParserState_mkNode(x_126, x_135, x_106);
-x_137 = 1;
-x_138 = l_Lean_Parser_mergeOrElseErrors(x_136, x_97, x_94, x_137);
-lean_dec(x_94);
-return x_138;
-}
-}
-else
-{
-lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142;
-x_139 = l_Lean_Parser_ParserState_restore(x_107, x_106, x_105);
-x_140 = l_Lean_nullKind;
-lean_inc(x_106);
-x_141 = l_Lean_Parser_ParserState_mkNode(x_139, x_140, x_106);
-x_142 = lean_ctor_get(x_141, 3);
-lean_inc(x_142);
-if (lean_obj_tag(x_142) == 0)
-{
-lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; uint8_t x_148; lean_object* x_149;
-x_143 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_144 = lean_unsigned_to_nat(0u);
-x_145 = l_Lean_Parser_categoryParser___elambda__1(x_143, x_144, x_1, x_141);
-x_146 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__2;
-x_147 = l_Lean_Parser_ParserState_mkNode(x_145, x_146, x_106);
-x_148 = 1;
-x_149 = l_Lean_Parser_mergeOrElseErrors(x_147, x_97, x_94, x_148);
-lean_dec(x_94);
-return x_149;
-}
-else
-{
-lean_object* x_150; lean_object* x_151; uint8_t x_152; lean_object* x_153;
-lean_dec(x_142);
-lean_dec(x_1);
-x_150 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__2;
-x_151 = l_Lean_Parser_ParserState_mkNode(x_141, x_150, x_106);
-x_152 = 1;
-x_153 = l_Lean_Parser_mergeOrElseErrors(x_151, x_97, x_94, x_152);
-lean_dec(x_94);
-return x_153;
-}
-}
-}
-}
-block_161:
-{
-if (lean_obj_tag(x_158) == 0)
-{
-lean_dec(x_157);
-lean_dec(x_156);
-x_107 = x_155;
-goto block_154;
-}
-else
-{
-lean_object* x_159; lean_object* x_160;
-lean_dec(x_155);
-x_159 = l_Array_shrink___main___rarg(x_156, x_106);
-lean_inc(x_105);
-x_160 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_160, 0, x_159);
-lean_ctor_set(x_160, 1, x_105);
-lean_ctor_set(x_160, 2, x_157);
-lean_ctor_set(x_160, 3, x_158);
-x_107 = x_160;
-goto block_154;
-}
-}
-}
-else
-{
-uint8_t x_199; lean_object* x_200;
-lean_dec(x_103);
-lean_dec(x_1);
-x_199 = 1;
-x_200 = l_Lean_Parser_mergeOrElseErrors(x_102, x_97, x_94, x_199);
-lean_dec(x_94);
-return x_200;
-}
-}
-}
+lean_object* x_21; uint8_t x_22; lean_object* x_23;
+x_21 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__13;
+x_22 = 1;
+x_23 = l_Lean_Parser_orelseFnCore(x_4, x_21, x_22, x_1, x_2);
+return x_23;
}
}
}
@@ -41272,172 +28031,6 @@ x_1 = l_Lean_Parser_Term_matchDiscr___closed__9;
return x_1;
}
}
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_match___elambda__1___spec__2(uint8_t x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5) {
-_start:
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10;
-x_6 = lean_ctor_get(x_5, 0);
-lean_inc(x_6);
-x_7 = lean_array_get_size(x_6);
-lean_dec(x_6);
-x_8 = lean_ctor_get(x_5, 1);
-lean_inc(x_8);
-lean_inc(x_4);
-x_9 = l_Lean_Parser_Term_matchDiscr___elambda__1(x_4, x_5);
-x_10 = lean_ctor_get(x_9, 3);
-lean_inc(x_10);
-if (lean_obj_tag(x_10) == 0)
-{
-lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_21; lean_object* x_22;
-lean_dec(x_8);
-lean_dec(x_7);
-x_11 = lean_ctor_get(x_9, 0);
-lean_inc(x_11);
-x_12 = lean_array_get_size(x_11);
-lean_dec(x_11);
-x_13 = lean_ctor_get(x_9, 1);
-lean_inc(x_13);
-lean_inc(x_4);
-x_21 = l_Lean_Parser_tokenFn(x_4, x_9);
-x_22 = lean_ctor_get(x_21, 3);
-lean_inc(x_22);
-if (lean_obj_tag(x_22) == 0)
-{
-lean_object* x_23; lean_object* x_24;
-x_23 = lean_ctor_get(x_21, 0);
-lean_inc(x_23);
-x_24 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_23);
-lean_dec(x_23);
-if (lean_obj_tag(x_24) == 2)
-{
-lean_object* x_25; lean_object* x_26; uint8_t x_27;
-x_25 = lean_ctor_get(x_24, 1);
-lean_inc(x_25);
-lean_dec(x_24);
-x_26 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__1;
-x_27 = lean_string_dec_eq(x_25, x_26);
-lean_dec(x_25);
-if (x_27 == 0)
-{
-lean_object* x_28; lean_object* x_29;
-x_28 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
-lean_inc(x_13);
-x_29 = l_Lean_Parser_ParserState_mkErrorsAt(x_21, x_28, x_13);
-x_14 = x_29;
-goto block_20;
-}
-else
-{
-x_14 = x_21;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_30; lean_object* x_31;
-lean_dec(x_24);
-x_30 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
-lean_inc(x_13);
-x_31 = l_Lean_Parser_ParserState_mkErrorsAt(x_21, x_30, x_13);
-x_14 = x_31;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_32; lean_object* x_33;
-lean_dec(x_22);
-x_32 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
-lean_inc(x_13);
-x_33 = l_Lean_Parser_ParserState_mkErrorsAt(x_21, x_32, x_13);
-x_14 = x_33;
-goto block_20;
-}
-block_20:
-{
-lean_object* x_15;
-x_15 = lean_ctor_get(x_14, 3);
-lean_inc(x_15);
-if (lean_obj_tag(x_15) == 0)
-{
-lean_dec(x_13);
-lean_dec(x_12);
-{
-uint8_t _tmp_2 = x_1;
-lean_object* _tmp_4 = x_14;
-x_3 = _tmp_2;
-x_5 = _tmp_4;
-}
-goto _start;
-}
-else
-{
-lean_object* x_17; lean_object* x_18; lean_object* x_19;
-lean_dec(x_15);
-lean_dec(x_4);
-x_17 = l_Lean_Parser_ParserState_restore(x_14, x_12, x_13);
-lean_dec(x_12);
-x_18 = l_Lean_nullKind;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_2);
-return x_19;
-}
-}
-}
-else
-{
-lean_object* x_34; uint8_t x_35;
-lean_dec(x_10);
-lean_dec(x_4);
-x_34 = lean_ctor_get(x_9, 1);
-lean_inc(x_34);
-x_35 = lean_nat_dec_lt(x_8, x_34);
-lean_dec(x_34);
-if (x_35 == 0)
-{
-if (x_3 == 0)
-{
-lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-lean_dec(x_8);
-lean_dec(x_7);
-x_36 = lean_box(0);
-x_37 = l_Lean_Parser_ParserState_pushSyntax(x_9, x_36);
-x_38 = l_Lean_nullKind;
-x_39 = l_Lean_Parser_ParserState_mkNode(x_37, x_38, x_2);
-return x_39;
-}
-else
-{
-lean_object* x_40; lean_object* x_41; lean_object* x_42;
-x_40 = l_Lean_Parser_ParserState_restore(x_9, x_7, x_8);
-lean_dec(x_7);
-x_41 = l_Lean_nullKind;
-x_42 = l_Lean_Parser_ParserState_mkNode(x_40, x_41, x_2);
-return x_42;
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_2);
-return x_9;
-}
-}
-}
-}
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_match___elambda__1___spec__1(uint8_t x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
-x_4 = lean_ctor_get(x_3, 0);
-lean_inc(x_4);
-x_5 = lean_array_get_size(x_4);
-lean_dec(x_4);
-x_6 = 0;
-x_7 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_match___elambda__1___spec__2(x_1, x_5, x_6, x_2, x_3);
-return x_7;
-}
-}
static lean_object* _init_l_Lean_Parser_Term_match___elambda__1___closed__1() {
_start:
{
@@ -41497,13 +28090,112 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_match___elambda__1___closed__7() {
_start:
{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_match___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_match___elambda__1___closed__8() {
+_start:
+{
+uint8_t x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
+x_1 = 0;
+x_2 = l_Lean_Parser_Term_matchDiscr___closed__8;
+x_3 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__6;
+x_4 = lean_box(x_1);
+x_5 = lean_alloc_closure((void*)(l_Lean_Parser_sepBy1Fn___boxed), 5, 3);
+lean_closure_set(x_5, 0, x_4);
+lean_closure_set(x_5, 1, x_2);
+lean_closure_set(x_5, 2, x_3);
+return x_5;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_match___elambda__1___closed__9() {
+_start:
+{
uint8_t x_1; lean_object* x_2;
x_1 = 1;
x_2 = l_Lean_Parser_Term_matchAlts(x_1);
return x_2;
}
}
-static lean_object* _init_l_Lean_Parser_Term_match___elambda__1___closed__8() {
+static lean_object* _init_l_Lean_Parser_Term_match___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
+x_1 = l_Lean_Parser_Term_match___elambda__1___closed__9;
+x_2 = lean_ctor_get(x_1, 1);
+lean_inc(x_2);
+x_3 = l_Lean_Parser_Term_structInst___elambda__1___closed__5;
+x_4 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_4, 0, x_3);
+lean_closure_set(x_4, 1, x_2);
+return x_4;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_match___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_optType___closed__2;
+x_2 = l_Lean_Parser_Term_match___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_match___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_match___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_match___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_match___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_match___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Term_match___elambda__1___closed__12;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_match___elambda__1___closed__14() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_match___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_match___elambda__1___closed__13;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_match___elambda__1___closed__15() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_byTactic___elambda__1___closed__9;
+x_2 = l_Lean_Parser_Term_match___elambda__1___closed__14;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_match___elambda__1___closed__16() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
@@ -41513,25 +28205,33 @@ x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Term_match___elambda__1___closed__9() {
+static lean_object* _init_l_Lean_Parser_Term_match___elambda__1___closed__17() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_match___elambda__1___closed__8;
+x_1 = l_Lean_Parser_Term_match___elambda__1___closed__16;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Term_match___elambda__1___closed__10() {
+static lean_object* _init_l_Lean_Parser_Term_match___elambda__1___closed__18() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Term_match___elambda__1___closed__9;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_structInst___elambda__1___closed__4;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_match___elambda__1___closed__19() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_match___elambda__1___closed__18;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -41539,7 +28239,7 @@ lean_object* l_Lean_Parser_Term_match___elambda__1(lean_object* x_1, lean_object
_start:
{
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; uint8_t x_7;
-x_3 = l_Lean_Parser_Term_match___elambda__1___closed__7;
+x_3 = l_Lean_Parser_Term_match___elambda__1___closed__9;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
x_5 = l_Lean_Parser_Term_match___elambda__1___closed__4;
@@ -41558,191 +28258,94 @@ x_10 = lean_ctor_get(x_9, 3);
lean_inc(x_10);
if (lean_obj_tag(x_10) == 0)
{
-lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_50; lean_object* x_51; lean_object* x_52;
+lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
x_11 = lean_ctor_get(x_9, 0);
lean_inc(x_11);
x_12 = lean_array_get_size(x_11);
lean_dec(x_11);
-x_50 = lean_ctor_get(x_9, 1);
-lean_inc(x_50);
+x_13 = l_Lean_Parser_Term_match___elambda__1___closed__6;
+x_14 = l_Lean_Parser_Term_match___elambda__1___closed__17;
lean_inc(x_1);
-x_51 = l_Lean_Parser_tokenFn(x_1, x_9);
-x_52 = lean_ctor_get(x_51, 3);
-lean_inc(x_52);
-if (lean_obj_tag(x_52) == 0)
+x_15 = l_Lean_Parser_symbolFnAux(x_13, x_14, x_1, x_9);
+x_16 = lean_ctor_get(x_15, 3);
+lean_inc(x_16);
+if (lean_obj_tag(x_16) == 0)
{
-lean_object* x_53; lean_object* x_54;
-x_53 = lean_ctor_get(x_51, 0);
-lean_inc(x_53);
-x_54 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_53);
-lean_dec(x_53);
-if (lean_obj_tag(x_54) == 2)
-{
-lean_object* x_55; lean_object* x_56; uint8_t x_57;
-x_55 = lean_ctor_get(x_54, 1);
-lean_inc(x_55);
-lean_dec(x_54);
-x_56 = l_Lean_Parser_Term_match___elambda__1___closed__6;
-x_57 = lean_string_dec_eq(x_55, x_56);
-lean_dec(x_55);
-if (x_57 == 0)
-{
-lean_object* x_58; lean_object* x_59;
-x_58 = l_Lean_Parser_Term_match___elambda__1___closed__10;
-x_59 = l_Lean_Parser_ParserState_mkErrorsAt(x_51, x_58, x_50);
-x_13 = x_59;
-goto block_49;
-}
-else
-{
-lean_dec(x_50);
-x_13 = x_51;
-goto block_49;
-}
-}
-else
-{
-lean_object* x_60; lean_object* x_61;
-lean_dec(x_54);
-x_60 = l_Lean_Parser_Term_match___elambda__1___closed__10;
-x_61 = l_Lean_Parser_ParserState_mkErrorsAt(x_51, x_60, x_50);
-x_13 = x_61;
-goto block_49;
-}
-}
-else
-{
-lean_object* x_62; lean_object* x_63;
-lean_dec(x_52);
-x_62 = l_Lean_Parser_Term_match___elambda__1___closed__10;
-x_63 = l_Lean_Parser_ParserState_mkErrorsAt(x_51, x_62, x_50);
-x_13 = x_63;
-goto block_49;
-}
-block_49:
-{
-lean_object* x_14;
-x_14 = lean_ctor_get(x_13, 3);
-lean_inc(x_14);
-if (lean_obj_tag(x_14) == 0)
-{
-uint8_t x_15; lean_object* x_16; lean_object* x_17;
-x_15 = 0;
+uint8_t x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
+x_17 = 0;
+x_18 = l_Lean_Parser_Term_matchDiscr___closed__8;
+x_19 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__6;
lean_inc(x_1);
-x_16 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_match___elambda__1___spec__1(x_15, x_1, x_13);
-x_17 = lean_ctor_get(x_16, 3);
-lean_inc(x_17);
-if (lean_obj_tag(x_17) == 0)
+x_20 = l_Lean_Parser_sepBy1Fn(x_17, x_18, x_19, x_1, x_15);
+x_21 = lean_ctor_get(x_20, 3);
+lean_inc(x_21);
+if (lean_obj_tag(x_21) == 0)
{
-lean_object* x_18; lean_object* x_19;
+lean_object* x_22; lean_object* x_23; lean_object* x_24;
+x_22 = l_Lean_Parser_Term_typeSpec___closed__4;
lean_inc(x_1);
-x_18 = l_Lean_Parser_Term_optType___elambda__1(x_1, x_16);
-x_19 = lean_ctor_get(x_18, 3);
-lean_inc(x_19);
-if (lean_obj_tag(x_19) == 0)
+x_23 = l_Lean_Parser_optionalFn(x_22, x_1, x_20);
+x_24 = lean_ctor_get(x_23, 3);
+lean_inc(x_24);
+if (lean_obj_tag(x_24) == 0)
{
-lean_object* x_20; lean_object* x_21; lean_object* x_22;
-x_20 = lean_ctor_get(x_18, 1);
-lean_inc(x_20);
+lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
+x_25 = l_Lean_Parser_Term_structInst___elambda__1___closed__4;
+x_26 = l_Lean_Parser_Term_match___elambda__1___closed__19;
lean_inc(x_1);
-x_21 = l_Lean_Parser_tokenFn(x_1, x_18);
-x_22 = lean_ctor_get(x_21, 3);
-lean_inc(x_22);
-if (lean_obj_tag(x_22) == 0)
+x_27 = l_Lean_Parser_symbolFnAux(x_25, x_26, x_1, x_23);
+x_28 = lean_ctor_get(x_27, 3);
+lean_inc(x_28);
+if (lean_obj_tag(x_28) == 0)
{
-lean_object* x_23; lean_object* x_24;
-x_23 = lean_ctor_get(x_21, 0);
-lean_inc(x_23);
-x_24 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_23);
-lean_dec(x_23);
-if (lean_obj_tag(x_24) == 2)
-{
-lean_object* x_25; lean_object* x_26; uint8_t x_27;
-x_25 = lean_ctor_get(x_24, 1);
-lean_inc(x_25);
-lean_dec(x_24);
-x_26 = l_Lean_Parser_Term_structInst___elambda__1___closed__4;
-x_27 = lean_string_dec_eq(x_25, x_26);
-lean_dec(x_25);
-if (x_27 == 0)
-{
-lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31;
-lean_dec(x_4);
-lean_dec(x_1);
-x_28 = l_Lean_Parser_Term_structInst___elambda__1___closed__16;
-x_29 = l_Lean_Parser_ParserState_mkErrorsAt(x_21, x_28, x_20);
+lean_object* x_29; lean_object* x_30; lean_object* x_31;
+x_29 = lean_apply_2(x_4, x_1, x_27);
x_30 = l_Lean_Parser_Term_match___elambda__1___closed__2;
x_31 = l_Lean_Parser_ParserState_mkNode(x_29, x_30, x_12);
return x_31;
}
else
{
-lean_object* x_32; lean_object* x_33; lean_object* x_34;
-lean_dec(x_20);
-x_32 = lean_apply_2(x_4, x_1, x_21);
-x_33 = l_Lean_Parser_Term_match___elambda__1___closed__2;
-x_34 = l_Lean_Parser_ParserState_mkNode(x_32, x_33, x_12);
-return x_34;
+lean_object* x_32; lean_object* x_33;
+lean_dec(x_28);
+lean_dec(x_4);
+lean_dec(x_1);
+x_32 = l_Lean_Parser_Term_match___elambda__1___closed__2;
+x_33 = l_Lean_Parser_ParserState_mkNode(x_27, x_32, x_12);
+return x_33;
}
}
else
{
-lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38;
+lean_object* x_34; lean_object* x_35;
lean_dec(x_24);
lean_dec(x_4);
lean_dec(x_1);
-x_35 = l_Lean_Parser_Term_structInst___elambda__1___closed__16;
-x_36 = l_Lean_Parser_ParserState_mkErrorsAt(x_21, x_35, x_20);
-x_37 = l_Lean_Parser_Term_match___elambda__1___closed__2;
-x_38 = l_Lean_Parser_ParserState_mkNode(x_36, x_37, x_12);
-return x_38;
+x_34 = l_Lean_Parser_Term_match___elambda__1___closed__2;
+x_35 = l_Lean_Parser_ParserState_mkNode(x_23, x_34, x_12);
+return x_35;
}
}
else
{
-lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42;
-lean_dec(x_22);
+lean_object* x_36; lean_object* x_37;
+lean_dec(x_21);
lean_dec(x_4);
lean_dec(x_1);
-x_39 = l_Lean_Parser_Term_structInst___elambda__1___closed__16;
-x_40 = l_Lean_Parser_ParserState_mkErrorsAt(x_21, x_39, x_20);
-x_41 = l_Lean_Parser_Term_match___elambda__1___closed__2;
-x_42 = l_Lean_Parser_ParserState_mkNode(x_40, x_41, x_12);
-return x_42;
+x_36 = l_Lean_Parser_Term_match___elambda__1___closed__2;
+x_37 = l_Lean_Parser_ParserState_mkNode(x_20, x_36, x_12);
+return x_37;
}
}
else
{
-lean_object* x_43; lean_object* x_44;
-lean_dec(x_19);
+lean_object* x_38; lean_object* x_39;
+lean_dec(x_16);
lean_dec(x_4);
lean_dec(x_1);
-x_43 = l_Lean_Parser_Term_match___elambda__1___closed__2;
-x_44 = l_Lean_Parser_ParserState_mkNode(x_18, x_43, x_12);
-return x_44;
-}
-}
-else
-{
-lean_object* x_45; lean_object* x_46;
-lean_dec(x_17);
-lean_dec(x_4);
-lean_dec(x_1);
-x_45 = l_Lean_Parser_Term_match___elambda__1___closed__2;
-x_46 = l_Lean_Parser_ParserState_mkNode(x_16, x_45, x_12);
-return x_46;
-}
-}
-else
-{
-lean_object* x_47; lean_object* x_48;
-lean_dec(x_14);
-lean_dec(x_4);
-lean_dec(x_1);
-x_47 = l_Lean_Parser_Term_match___elambda__1___closed__2;
-x_48 = l_Lean_Parser_ParserState_mkNode(x_13, x_47, x_12);
-return x_48;
-}
+x_38 = l_Lean_Parser_Term_match___elambda__1___closed__2;
+x_39 = l_Lean_Parser_ParserState_mkNode(x_15, x_38, x_12);
+return x_39;
}
}
else
@@ -41755,277 +28358,12 @@ return x_9;
}
else
{
-lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68;
-x_64 = lean_ctor_get(x_2, 0);
-lean_inc(x_64);
-x_65 = lean_array_get_size(x_64);
-lean_dec(x_64);
-x_66 = lean_ctor_get(x_2, 1);
-lean_inc(x_66);
-lean_inc(x_1);
-x_67 = lean_apply_2(x_6, x_1, x_2);
-x_68 = lean_ctor_get(x_67, 3);
-lean_inc(x_68);
-if (lean_obj_tag(x_68) == 0)
-{
-lean_dec(x_66);
-lean_dec(x_65);
+lean_object* x_40; uint8_t x_41; lean_object* x_42;
lean_dec(x_4);
-lean_dec(x_1);
-return x_67;
-}
-else
-{
-lean_object* x_69; lean_object* x_70; uint8_t x_71;
-x_69 = lean_ctor_get(x_68, 0);
-lean_inc(x_69);
-lean_dec(x_68);
-x_70 = lean_ctor_get(x_67, 1);
-lean_inc(x_70);
-x_71 = lean_nat_dec_eq(x_70, x_66);
-lean_dec(x_70);
-if (x_71 == 0)
-{
-lean_dec(x_69);
-lean_dec(x_66);
-lean_dec(x_65);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_67;
-}
-else
-{
-lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75;
-lean_inc(x_66);
-x_72 = l_Lean_Parser_ParserState_restore(x_67, x_65, x_66);
-lean_dec(x_65);
-x_73 = l_Lean_Parser_leadPrec;
-x_74 = l_Lean_Parser_checkPrecFn(x_73, x_1, x_72);
-x_75 = lean_ctor_get(x_74, 3);
-lean_inc(x_75);
-if (lean_obj_tag(x_75) == 0)
-{
-lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_129; lean_object* x_130; lean_object* x_131;
-x_76 = lean_ctor_get(x_74, 0);
-lean_inc(x_76);
-x_77 = lean_array_get_size(x_76);
-lean_dec(x_76);
-x_129 = lean_ctor_get(x_74, 1);
-lean_inc(x_129);
-lean_inc(x_1);
-x_130 = l_Lean_Parser_tokenFn(x_1, x_74);
-x_131 = lean_ctor_get(x_130, 3);
-lean_inc(x_131);
-if (lean_obj_tag(x_131) == 0)
-{
-lean_object* x_132; lean_object* x_133;
-x_132 = lean_ctor_get(x_130, 0);
-lean_inc(x_132);
-x_133 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_132);
-lean_dec(x_132);
-if (lean_obj_tag(x_133) == 2)
-{
-lean_object* x_134; lean_object* x_135; uint8_t x_136;
-x_134 = lean_ctor_get(x_133, 1);
-lean_inc(x_134);
-lean_dec(x_133);
-x_135 = l_Lean_Parser_Term_match___elambda__1___closed__6;
-x_136 = lean_string_dec_eq(x_134, x_135);
-lean_dec(x_134);
-if (x_136 == 0)
-{
-lean_object* x_137; lean_object* x_138;
-x_137 = l_Lean_Parser_Term_match___elambda__1___closed__10;
-x_138 = l_Lean_Parser_ParserState_mkErrorsAt(x_130, x_137, x_129);
-x_78 = x_138;
-goto block_128;
-}
-else
-{
-lean_dec(x_129);
-x_78 = x_130;
-goto block_128;
-}
-}
-else
-{
-lean_object* x_139; lean_object* x_140;
-lean_dec(x_133);
-x_139 = l_Lean_Parser_Term_match___elambda__1___closed__10;
-x_140 = l_Lean_Parser_ParserState_mkErrorsAt(x_130, x_139, x_129);
-x_78 = x_140;
-goto block_128;
-}
-}
-else
-{
-lean_object* x_141; lean_object* x_142;
-lean_dec(x_131);
-x_141 = l_Lean_Parser_Term_match___elambda__1___closed__10;
-x_142 = l_Lean_Parser_ParserState_mkErrorsAt(x_130, x_141, x_129);
-x_78 = x_142;
-goto block_128;
-}
-block_128:
-{
-lean_object* x_79;
-x_79 = lean_ctor_get(x_78, 3);
-lean_inc(x_79);
-if (lean_obj_tag(x_79) == 0)
-{
-uint8_t x_80; lean_object* x_81; lean_object* x_82;
-x_80 = 0;
-lean_inc(x_1);
-x_81 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_match___elambda__1___spec__1(x_80, x_1, x_78);
-x_82 = lean_ctor_get(x_81, 3);
-lean_inc(x_82);
-if (lean_obj_tag(x_82) == 0)
-{
-lean_object* x_83; lean_object* x_84;
-lean_inc(x_1);
-x_83 = l_Lean_Parser_Term_optType___elambda__1(x_1, x_81);
-x_84 = lean_ctor_get(x_83, 3);
-lean_inc(x_84);
-if (lean_obj_tag(x_84) == 0)
-{
-lean_object* x_85; lean_object* x_86; lean_object* x_87;
-x_85 = lean_ctor_get(x_83, 1);
-lean_inc(x_85);
-lean_inc(x_1);
-x_86 = l_Lean_Parser_tokenFn(x_1, x_83);
-x_87 = lean_ctor_get(x_86, 3);
-lean_inc(x_87);
-if (lean_obj_tag(x_87) == 0)
-{
-lean_object* x_88; lean_object* x_89;
-x_88 = lean_ctor_get(x_86, 0);
-lean_inc(x_88);
-x_89 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_88);
-lean_dec(x_88);
-if (lean_obj_tag(x_89) == 2)
-{
-lean_object* x_90; lean_object* x_91; uint8_t x_92;
-x_90 = lean_ctor_get(x_89, 1);
-lean_inc(x_90);
-lean_dec(x_89);
-x_91 = l_Lean_Parser_Term_structInst___elambda__1___closed__4;
-x_92 = lean_string_dec_eq(x_90, x_91);
-lean_dec(x_90);
-if (x_92 == 0)
-{
-lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; uint8_t x_97; lean_object* x_98;
-lean_dec(x_4);
-lean_dec(x_1);
-x_93 = l_Lean_Parser_Term_structInst___elambda__1___closed__16;
-x_94 = l_Lean_Parser_ParserState_mkErrorsAt(x_86, x_93, x_85);
-x_95 = l_Lean_Parser_Term_match___elambda__1___closed__2;
-x_96 = l_Lean_Parser_ParserState_mkNode(x_94, x_95, x_77);
-x_97 = 1;
-x_98 = l_Lean_Parser_mergeOrElseErrors(x_96, x_69, x_66, x_97);
-lean_dec(x_66);
-return x_98;
-}
-else
-{
-lean_object* x_99; lean_object* x_100; lean_object* x_101; uint8_t x_102; lean_object* x_103;
-lean_dec(x_85);
-x_99 = lean_apply_2(x_4, x_1, x_86);
-x_100 = l_Lean_Parser_Term_match___elambda__1___closed__2;
-x_101 = l_Lean_Parser_ParserState_mkNode(x_99, x_100, x_77);
-x_102 = 1;
-x_103 = l_Lean_Parser_mergeOrElseErrors(x_101, x_69, x_66, x_102);
-lean_dec(x_66);
-return x_103;
-}
-}
-else
-{
-lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; uint8_t x_108; lean_object* x_109;
-lean_dec(x_89);
-lean_dec(x_4);
-lean_dec(x_1);
-x_104 = l_Lean_Parser_Term_structInst___elambda__1___closed__16;
-x_105 = l_Lean_Parser_ParserState_mkErrorsAt(x_86, x_104, x_85);
-x_106 = l_Lean_Parser_Term_match___elambda__1___closed__2;
-x_107 = l_Lean_Parser_ParserState_mkNode(x_105, x_106, x_77);
-x_108 = 1;
-x_109 = l_Lean_Parser_mergeOrElseErrors(x_107, x_69, x_66, x_108);
-lean_dec(x_66);
-return x_109;
-}
-}
-else
-{
-lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; uint8_t x_114; lean_object* x_115;
-lean_dec(x_87);
-lean_dec(x_4);
-lean_dec(x_1);
-x_110 = l_Lean_Parser_Term_structInst___elambda__1___closed__16;
-x_111 = l_Lean_Parser_ParserState_mkErrorsAt(x_86, x_110, x_85);
-x_112 = l_Lean_Parser_Term_match___elambda__1___closed__2;
-x_113 = l_Lean_Parser_ParserState_mkNode(x_111, x_112, x_77);
-x_114 = 1;
-x_115 = l_Lean_Parser_mergeOrElseErrors(x_113, x_69, x_66, x_114);
-lean_dec(x_66);
-return x_115;
-}
-}
-else
-{
-lean_object* x_116; lean_object* x_117; uint8_t x_118; lean_object* x_119;
-lean_dec(x_84);
-lean_dec(x_4);
-lean_dec(x_1);
-x_116 = l_Lean_Parser_Term_match___elambda__1___closed__2;
-x_117 = l_Lean_Parser_ParserState_mkNode(x_83, x_116, x_77);
-x_118 = 1;
-x_119 = l_Lean_Parser_mergeOrElseErrors(x_117, x_69, x_66, x_118);
-lean_dec(x_66);
-return x_119;
-}
-}
-else
-{
-lean_object* x_120; lean_object* x_121; uint8_t x_122; lean_object* x_123;
-lean_dec(x_82);
-lean_dec(x_4);
-lean_dec(x_1);
-x_120 = l_Lean_Parser_Term_match___elambda__1___closed__2;
-x_121 = l_Lean_Parser_ParserState_mkNode(x_81, x_120, x_77);
-x_122 = 1;
-x_123 = l_Lean_Parser_mergeOrElseErrors(x_121, x_69, x_66, x_122);
-lean_dec(x_66);
-return x_123;
-}
-}
-else
-{
-lean_object* x_124; lean_object* x_125; uint8_t x_126; lean_object* x_127;
-lean_dec(x_79);
-lean_dec(x_4);
-lean_dec(x_1);
-x_124 = l_Lean_Parser_Term_match___elambda__1___closed__2;
-x_125 = l_Lean_Parser_ParserState_mkNode(x_78, x_124, x_77);
-x_126 = 1;
-x_127 = l_Lean_Parser_mergeOrElseErrors(x_125, x_69, x_66, x_126);
-lean_dec(x_66);
-return x_127;
-}
-}
-}
-else
-{
-uint8_t x_143; lean_object* x_144;
-lean_dec(x_75);
-lean_dec(x_4);
-lean_dec(x_1);
-x_143 = 1;
-x_144 = l_Lean_Parser_mergeOrElseErrors(x_74, x_69, x_66, x_143);
-lean_dec(x_66);
-return x_144;
-}
-}
-}
+x_40 = l_Lean_Parser_Term_match___elambda__1___closed__15;
+x_41 = 1;
+x_42 = l_Lean_Parser_orelseFnCore(x_6, x_40, x_41, x_1, x_2);
+return x_42;
}
}
}
@@ -42054,7 +28392,7 @@ static lean_object* _init_l_Lean_Parser_Term_match___closed__3() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
-x_1 = l_Lean_Parser_Term_match___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Term_match___elambda__1___closed__9;
x_2 = lean_ctor_get(x_1, 0);
lean_inc(x_2);
x_3 = l_Lean_Parser_Term_structInst___closed__1;
@@ -42154,28 +28492,6 @@ x_1 = l_Lean_Parser_Term_match___closed__11;
return x_1;
}
}
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_match___elambda__1___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
-_start:
-{
-uint8_t x_6; uint8_t x_7; lean_object* x_8;
-x_6 = lean_unbox(x_1);
-lean_dec(x_1);
-x_7 = lean_unbox(x_3);
-lean_dec(x_3);
-x_8 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_match___elambda__1___spec__2(x_6, x_2, x_7, x_4, x_5);
-return x_8;
-}
-}
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_match___elambda__1___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-uint8_t x_4; lean_object* x_5;
-x_4 = lean_unbox(x_1);
-lean_dec(x_1);
-x_5 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_match___elambda__1___spec__1(x_4, x_2, x_3);
-return x_5;
-}
-}
lean_object* l___regBuiltinParser_Lean_Parser_Term_match(lean_object* x_1) {
_start:
{
@@ -42385,7 +28701,7 @@ static lean_object* _init_l_Lean_Parser_Term_matchAlts_formatter___closed__4() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__1;
+x_1 = l_Lean_Parser_Term_matchAlts___closed__3;
x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_symbol_formatter___boxed), 6, 1);
lean_closure_set(x_2, 0, x_1);
return x_2;
@@ -43298,11 +29614,11 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_nomatch___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_nomatch___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_nomatch___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_nomatch___elambda__1___closed__8() {
@@ -43310,8 +29626,10 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Term_nomatch___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_2 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -43319,11 +29637,43 @@ static lean_object* _init_l_Lean_Parser_Term_nomatch___elambda__1___closed__9()
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Term_nomatch___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_nomatch___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_nomatch___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_byTactic___elambda__1___closed__9;
+x_2 = l_Lean_Parser_Term_nomatch___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_nomatch___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_nomatch___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_nomatch___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_nomatch___elambda__1___closed__11;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -43347,91 +29697,35 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_21; lean_object* x_22; lean_object* x_23;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_21 = lean_ctor_get(x_7, 1);
-lean_inc(x_21);
+x_11 = l_Lean_Parser_Term_nomatch___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Term_nomatch___elambda__1___closed__12;
lean_inc(x_1);
-x_22 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_23 = lean_ctor_get(x_22, 3);
-lean_inc(x_23);
-if (lean_obj_tag(x_23) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_24; lean_object* x_25;
-x_24 = lean_ctor_get(x_22, 0);
-lean_inc(x_24);
-x_25 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_24);
-lean_dec(x_24);
-if (lean_obj_tag(x_25) == 2)
-{
-lean_object* x_26; lean_object* x_27; uint8_t x_28;
-x_26 = lean_ctor_get(x_25, 1);
-lean_inc(x_26);
-lean_dec(x_25);
-x_27 = l_Lean_Parser_Term_nomatch___elambda__1___closed__6;
-x_28 = lean_string_dec_eq(x_26, x_27);
-lean_dec(x_26);
-if (x_28 == 0)
-{
-lean_object* x_29; lean_object* x_30;
-x_29 = l_Lean_Parser_Term_nomatch___elambda__1___closed__9;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_29, x_21);
-x_11 = x_30;
-goto block_20;
-}
-else
-{
-lean_dec(x_21);
-x_11 = x_22;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32;
-lean_dec(x_25);
-x_31 = l_Lean_Parser_Term_nomatch___elambda__1___closed__9;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_31, x_21);
-x_11 = x_32;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_33; lean_object* x_34;
-lean_dec(x_23);
-x_33 = l_Lean_Parser_Term_nomatch___elambda__1___closed__9;
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_33, x_21);
-x_11 = x_34;
-goto block_20;
-}
-block_20:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_13 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_14 = lean_unsigned_to_nat(0u);
-x_15 = l_Lean_Parser_categoryParser___elambda__1(x_13, x_14, x_1, x_11);
-x_16 = l_Lean_Parser_Term_nomatch___elambda__1___closed__2;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_10);
-return x_17;
-}
-else
-{
-lean_object* x_18; lean_object* x_19;
-lean_dec(x_12);
-lean_dec(x_1);
+lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
+x_15 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_16 = lean_unsigned_to_nat(0u);
+x_17 = l_Lean_Parser_categoryParser___elambda__1(x_15, x_16, x_1, x_13);
x_18 = l_Lean_Parser_Term_nomatch___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_11, x_18, x_10);
+x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_10);
return x_19;
}
+else
+{
+lean_object* x_20; lean_object* x_21;
+lean_dec(x_14);
+lean_dec(x_1);
+x_20 = l_Lean_Parser_Term_nomatch___elambda__1___closed__2;
+x_21 = l_Lean_Parser_ParserState_mkNode(x_13, x_20, x_10);
+return x_21;
}
}
else
@@ -43443,159 +29737,11 @@ return x_7;
}
else
{
-lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_35 = lean_ctor_get(x_2, 0);
-lean_inc(x_35);
-x_36 = lean_array_get_size(x_35);
-lean_dec(x_35);
-x_37 = lean_ctor_get(x_2, 1);
-lean_inc(x_37);
-lean_inc(x_1);
-x_38 = lean_apply_2(x_4, x_1, x_2);
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_40; lean_object* x_41; uint8_t x_42;
-x_40 = lean_ctor_get(x_39, 0);
-lean_inc(x_40);
-lean_dec(x_39);
-x_41 = lean_ctor_get(x_38, 1);
-lean_inc(x_41);
-x_42 = lean_nat_dec_eq(x_41, x_37);
-lean_dec(x_41);
-if (x_42 == 0)
-{
-lean_dec(x_40);
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46;
-lean_inc(x_37);
-x_43 = l_Lean_Parser_ParserState_restore(x_38, x_36, x_37);
-lean_dec(x_36);
-x_44 = l_Lean_Parser_leadPrec;
-x_45 = l_Lean_Parser_checkPrecFn(x_44, x_1, x_43);
-x_46 = lean_ctor_get(x_45, 3);
-lean_inc(x_46);
-if (lean_obj_tag(x_46) == 0)
-{
-lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_63; lean_object* x_64; lean_object* x_65;
-x_47 = lean_ctor_get(x_45, 0);
-lean_inc(x_47);
-x_48 = lean_array_get_size(x_47);
-lean_dec(x_47);
-x_63 = lean_ctor_get(x_45, 1);
-lean_inc(x_63);
-lean_inc(x_1);
-x_64 = l_Lean_Parser_tokenFn(x_1, x_45);
-x_65 = lean_ctor_get(x_64, 3);
-lean_inc(x_65);
-if (lean_obj_tag(x_65) == 0)
-{
-lean_object* x_66; lean_object* x_67;
-x_66 = lean_ctor_get(x_64, 0);
-lean_inc(x_66);
-x_67 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_66);
-lean_dec(x_66);
-if (lean_obj_tag(x_67) == 2)
-{
-lean_object* x_68; lean_object* x_69; uint8_t x_70;
-x_68 = lean_ctor_get(x_67, 1);
-lean_inc(x_68);
-lean_dec(x_67);
-x_69 = l_Lean_Parser_Term_nomatch___elambda__1___closed__6;
-x_70 = lean_string_dec_eq(x_68, x_69);
-lean_dec(x_68);
-if (x_70 == 0)
-{
-lean_object* x_71; lean_object* x_72;
-x_71 = l_Lean_Parser_Term_nomatch___elambda__1___closed__9;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_71, x_63);
-x_49 = x_72;
-goto block_62;
-}
-else
-{
-lean_dec(x_63);
-x_49 = x_64;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_73; lean_object* x_74;
-lean_dec(x_67);
-x_73 = l_Lean_Parser_Term_nomatch___elambda__1___closed__9;
-x_74 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_73, x_63);
-x_49 = x_74;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_75; lean_object* x_76;
-lean_dec(x_65);
-x_75 = l_Lean_Parser_Term_nomatch___elambda__1___closed__9;
-x_76 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_75, x_63);
-x_49 = x_76;
-goto block_62;
-}
-block_62:
-{
-lean_object* x_50;
-x_50 = lean_ctor_get(x_49, 3);
-lean_inc(x_50);
-if (lean_obj_tag(x_50) == 0)
-{
-lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; uint8_t x_56; lean_object* x_57;
-x_51 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_52 = lean_unsigned_to_nat(0u);
-x_53 = l_Lean_Parser_categoryParser___elambda__1(x_51, x_52, x_1, x_49);
-x_54 = l_Lean_Parser_Term_nomatch___elambda__1___closed__2;
-x_55 = l_Lean_Parser_ParserState_mkNode(x_53, x_54, x_48);
-x_56 = 1;
-x_57 = l_Lean_Parser_mergeOrElseErrors(x_55, x_40, x_37, x_56);
-lean_dec(x_37);
-return x_57;
-}
-else
-{
-lean_object* x_58; lean_object* x_59; uint8_t x_60; lean_object* x_61;
-lean_dec(x_50);
-lean_dec(x_1);
-x_58 = l_Lean_Parser_Term_nomatch___elambda__1___closed__2;
-x_59 = l_Lean_Parser_ParserState_mkNode(x_49, x_58, x_48);
-x_60 = 1;
-x_61 = l_Lean_Parser_mergeOrElseErrors(x_59, x_40, x_37, x_60);
-lean_dec(x_37);
-return x_61;
-}
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_46);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_45, x_40, x_37, x_77);
-lean_dec(x_37);
-return x_78;
-}
-}
-}
+lean_object* x_22; uint8_t x_23; lean_object* x_24;
+x_22 = l_Lean_Parser_Term_nomatch___elambda__1___closed__10;
+x_23 = 1;
+x_24 = l_Lean_Parser_orelseFnCore(x_4, x_22, x_23, x_1, x_2);
+return x_24;
}
}
}
@@ -43832,6 +29978,52 @@ return x_5;
static lean_object* _init_l_Lean_Parser_Term_funImplicitBinder___elambda__1___closed__1() {
_start:
{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__4;
+x_2 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_funImplicitBinder___elambda__1___closed__2() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_explicitBinder___closed__1;
+x_2 = l_Lean_Parser_Term_funImplicitBinder___elambda__1___closed__1;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_funImplicitBinder___elambda__1___closed__3() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Term_funImplicitBinder___elambda__1___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_funImplicitBinder___elambda__1___closed__4() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_funImplicitBinder___elambda__1___closed__3;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_lookaheadFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_funImplicitBinder___elambda__1___closed__5() {
+_start:
+{
uint8_t x_1; lean_object* x_2;
x_1 = 0;
x_2 = l_Lean_Parser_Term_implicitBinder(x_1);
@@ -43841,367 +30033,27 @@ return x_2;
lean_object* l_Lean_Parser_Term_funImplicitBinder___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-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_24; lean_object* x_71; lean_object* x_83; lean_object* x_84;
-x_3 = l_Lean_Parser_Term_funImplicitBinder___elambda__1___closed__1;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
+x_3 = l_Lean_Parser_Term_funImplicitBinder___elambda__1___closed__5;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-x_5 = lean_ctor_get(x_2, 0);
-lean_inc(x_5);
-x_6 = lean_ctor_get(x_2, 1);
-lean_inc(x_6);
-x_7 = lean_array_get_size(x_5);
-lean_dec(x_5);
+x_5 = l_Lean_Parser_Term_funImplicitBinder___elambda__1___closed__4;
lean_inc(x_1);
-x_83 = l_Lean_Parser_tokenFn(x_1, x_2);
-x_84 = lean_ctor_get(x_83, 3);
-lean_inc(x_84);
-if (lean_obj_tag(x_84) == 0)
+x_6 = l_Lean_Parser_tryFn(x_5, x_1, x_2);
+x_7 = lean_ctor_get(x_6, 3);
+lean_inc(x_7);
+if (lean_obj_tag(x_7) == 0)
{
-lean_object* x_85; lean_object* x_86;
-x_85 = lean_ctor_get(x_83, 0);
-lean_inc(x_85);
-x_86 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_85);
-lean_dec(x_85);
-if (lean_obj_tag(x_86) == 2)
-{
-lean_object* x_87; lean_object* x_88; uint8_t x_89;
-x_87 = lean_ctor_get(x_86, 1);
-lean_inc(x_87);
-lean_dec(x_86);
-x_88 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__5;
-x_89 = lean_string_dec_eq(x_87, x_88);
-lean_dec(x_87);
-if (x_89 == 0)
-{
-lean_object* x_90; lean_object* x_91;
-x_90 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12;
-lean_inc(x_6);
-x_91 = l_Lean_Parser_ParserState_mkErrorsAt(x_83, x_90, x_6);
-x_71 = x_91;
-goto block_82;
-}
-else
-{
-x_71 = x_83;
-goto block_82;
-}
-}
-else
-{
-lean_object* x_92; lean_object* x_93;
-lean_dec(x_86);
-x_92 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12;
-lean_inc(x_6);
-x_93 = l_Lean_Parser_ParserState_mkErrorsAt(x_83, x_92, x_6);
-x_71 = x_93;
-goto block_82;
-}
-}
-else
-{
-lean_object* x_94; lean_object* x_95;
-lean_dec(x_84);
-x_94 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12;
-lean_inc(x_6);
-x_95 = l_Lean_Parser_ParserState_mkErrorsAt(x_83, x_94, x_6);
-x_71 = x_95;
-goto block_82;
-}
-block_23:
-{
-lean_object* x_9;
-x_9 = lean_ctor_get(x_8, 3);
-lean_inc(x_9);
-if (lean_obj_tag(x_9) == 0)
-{
-lean_object* x_10; lean_object* x_11;
-x_10 = l_Lean_Parser_ParserState_restore(x_8, x_7, x_6);
-lean_dec(x_7);
-x_11 = lean_apply_2(x_4, x_1, x_10);
-return x_11;
-}
-else
-{
-lean_object* x_12;
-lean_dec(x_9);
-x_12 = lean_ctor_get(x_8, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13;
-lean_dec(x_7);
-lean_dec(x_6);
-x_13 = lean_apply_2(x_4, x_1, x_8);
-return x_13;
-}
-else
-{
-uint8_t x_14;
-lean_dec(x_4);
-lean_dec(x_1);
-x_14 = !lean_is_exclusive(x_8);
-if (x_14 == 0)
-{
-lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
-x_15 = lean_ctor_get(x_8, 0);
-x_16 = lean_ctor_get(x_8, 3);
-lean_dec(x_16);
-x_17 = lean_ctor_get(x_8, 1);
-lean_dec(x_17);
-x_18 = l_Array_shrink___main___rarg(x_15, x_7);
-lean_dec(x_7);
-lean_ctor_set(x_8, 1, x_6);
-lean_ctor_set(x_8, 0, x_18);
+lean_object* x_8;
+x_8 = lean_apply_2(x_4, x_1, x_6);
return x_8;
}
else
{
-lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
-x_19 = lean_ctor_get(x_8, 0);
-x_20 = lean_ctor_get(x_8, 2);
-lean_inc(x_20);
-lean_inc(x_19);
-lean_dec(x_8);
-x_21 = l_Array_shrink___main___rarg(x_19, x_7);
lean_dec(x_7);
-x_22 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_22, 0, x_21);
-lean_ctor_set(x_22, 1, x_6);
-lean_ctor_set(x_22, 2, x_20);
-lean_ctor_set(x_22, 3, x_12);
-return x_22;
-}
-}
-}
-}
-block_70:
-{
-lean_object* x_25;
-x_25 = lean_ctor_get(x_24, 3);
-lean_inc(x_25);
-if (lean_obj_tag(x_25) == 0)
-{
-lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_57; lean_object* x_58;
-x_26 = lean_ctor_get(x_24, 0);
-lean_inc(x_26);
-x_27 = lean_array_get_size(x_26);
-lean_dec(x_26);
-x_28 = lean_ctor_get(x_24, 1);
-lean_inc(x_28);
-lean_inc(x_1);
-x_57 = l_Lean_Parser_tokenFn(x_1, x_24);
-x_58 = lean_ctor_get(x_57, 3);
-lean_inc(x_58);
-if (lean_obj_tag(x_58) == 0)
-{
-lean_object* x_59; lean_object* x_60;
-x_59 = lean_ctor_get(x_57, 0);
-lean_inc(x_59);
-x_60 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_59);
-lean_dec(x_59);
-if (lean_obj_tag(x_60) == 2)
-{
-lean_object* x_61; lean_object* x_62; uint8_t x_63;
-x_61 = lean_ctor_get(x_60, 1);
-lean_inc(x_61);
-lean_dec(x_60);
-x_62 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__3;
-x_63 = lean_string_dec_eq(x_61, x_62);
-lean_dec(x_61);
-if (x_63 == 0)
-{
-lean_object* x_64; lean_object* x_65;
-x_64 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-lean_inc(x_28);
-x_65 = l_Lean_Parser_ParserState_mkErrorsAt(x_57, x_64, x_28);
-x_29 = x_65;
-goto block_56;
-}
-else
-{
-x_29 = x_57;
-goto block_56;
-}
-}
-else
-{
-lean_object* x_66; lean_object* x_67;
-lean_dec(x_60);
-x_66 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-lean_inc(x_28);
-x_67 = l_Lean_Parser_ParserState_mkErrorsAt(x_57, x_66, x_28);
-x_29 = x_67;
-goto block_56;
-}
-}
-else
-{
-lean_object* x_68; lean_object* x_69;
-lean_dec(x_58);
-x_68 = l_Lean_Parser_Term_typeAscription___elambda__1___closed__6;
-lean_inc(x_28);
-x_69 = l_Lean_Parser_ParserState_mkErrorsAt(x_57, x_68, x_28);
-x_29 = x_69;
-goto block_56;
-}
-block_56:
-{
-lean_object* x_30;
-x_30 = lean_ctor_get(x_29, 3);
-lean_inc(x_30);
-if (lean_obj_tag(x_30) == 0)
-{
-lean_dec(x_28);
-lean_dec(x_27);
-x_8 = x_29;
-goto block_23;
-}
-else
-{
-lean_object* x_31; lean_object* x_32; uint8_t x_33;
-x_31 = lean_ctor_get(x_30, 0);
-lean_inc(x_31);
-lean_dec(x_30);
-x_32 = lean_ctor_get(x_29, 1);
-lean_inc(x_32);
-x_33 = lean_nat_dec_eq(x_32, x_28);
-lean_dec(x_32);
-if (x_33 == 0)
-{
-lean_dec(x_31);
-lean_dec(x_28);
-lean_dec(x_27);
-x_8 = x_29;
-goto block_23;
-}
-else
-{
-lean_object* x_34; lean_object* x_35; lean_object* x_36;
-lean_inc(x_28);
-x_34 = l_Lean_Parser_ParserState_restore(x_29, x_27, x_28);
-lean_dec(x_27);
-lean_inc(x_1);
-x_35 = l_Lean_Parser_tokenFn(x_1, x_34);
-x_36 = lean_ctor_get(x_35, 3);
-lean_inc(x_36);
-if (lean_obj_tag(x_36) == 0)
-{
-lean_object* x_37; lean_object* x_38;
-x_37 = lean_ctor_get(x_35, 0);
-lean_inc(x_37);
-x_38 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_37);
-lean_dec(x_37);
-if (lean_obj_tag(x_38) == 2)
-{
-lean_object* x_39; lean_object* x_40; uint8_t x_41;
-x_39 = lean_ctor_get(x_38, 1);
-lean_inc(x_39);
-lean_dec(x_38);
-x_40 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__6;
-x_41 = lean_string_dec_eq(x_39, x_40);
-lean_dec(x_39);
-if (x_41 == 0)
-{
-lean_object* x_42; lean_object* x_43; uint8_t x_44; lean_object* x_45;
-x_42 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
-lean_inc(x_28);
-x_43 = l_Lean_Parser_ParserState_mkErrorsAt(x_35, x_42, x_28);
-x_44 = 1;
-x_45 = l_Lean_Parser_mergeOrElseErrors(x_43, x_31, x_28, x_44);
-lean_dec(x_28);
-x_8 = x_45;
-goto block_23;
-}
-else
-{
-uint8_t x_46; lean_object* x_47;
-x_46 = 1;
-x_47 = l_Lean_Parser_mergeOrElseErrors(x_35, x_31, x_28, x_46);
-lean_dec(x_28);
-x_8 = x_47;
-goto block_23;
-}
-}
-else
-{
-lean_object* x_48; lean_object* x_49; uint8_t x_50; lean_object* x_51;
-lean_dec(x_38);
-x_48 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
-lean_inc(x_28);
-x_49 = l_Lean_Parser_ParserState_mkErrorsAt(x_35, x_48, x_28);
-x_50 = 1;
-x_51 = l_Lean_Parser_mergeOrElseErrors(x_49, x_31, x_28, x_50);
-lean_dec(x_28);
-x_8 = x_51;
-goto block_23;
-}
-}
-else
-{
-lean_object* x_52; lean_object* x_53; uint8_t x_54; lean_object* x_55;
-lean_dec(x_36);
-x_52 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
-lean_inc(x_28);
-x_53 = l_Lean_Parser_ParserState_mkErrorsAt(x_35, x_52, x_28);
-x_54 = 1;
-x_55 = l_Lean_Parser_mergeOrElseErrors(x_53, x_31, x_28, x_54);
-lean_dec(x_28);
-x_8 = x_55;
-goto block_23;
-}
-}
-}
-}
-}
-else
-{
-lean_dec(x_25);
-x_8 = x_24;
-goto block_23;
-}
-}
-block_82:
-{
-lean_object* x_72;
-x_72 = lean_ctor_get(x_71, 3);
-lean_inc(x_72);
-if (lean_obj_tag(x_72) == 0)
-{
-lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76;
-x_73 = lean_ctor_get(x_71, 0);
-lean_inc(x_73);
-x_74 = lean_array_get_size(x_73);
-lean_dec(x_73);
-lean_inc(x_1);
-x_75 = l_Lean_Parser_Term_binderIdent___elambda__1(x_1, x_71);
-x_76 = lean_ctor_get(x_75, 3);
-lean_inc(x_76);
-if (lean_obj_tag(x_76) == 0)
-{
-lean_object* x_77; lean_object* x_78; lean_object* x_79;
-lean_inc(x_1);
-x_77 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_simpleBinder___elambda__1___spec__1(x_1, x_75);
-x_78 = l_Lean_nullKind;
-x_79 = l_Lean_Parser_ParserState_mkNode(x_77, x_78, x_74);
-x_24 = x_79;
-goto block_70;
-}
-else
-{
-lean_object* x_80; lean_object* x_81;
-lean_dec(x_76);
-x_80 = l_Lean_nullKind;
-x_81 = l_Lean_Parser_ParserState_mkNode(x_75, x_80, x_74);
-x_24 = x_81;
-goto block_70;
-}
-}
-else
-{
-lean_dec(x_72);
-x_8 = x_71;
-goto block_23;
-}
+lean_dec(x_4);
+lean_dec(x_1);
+return x_6;
}
}
}
@@ -44241,7 +30093,7 @@ static lean_object* _init_l_Lean_Parser_Term_funImplicitBinder___closed__4() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
-x_1 = l_Lean_Parser_Term_funImplicitBinder___elambda__1___closed__1;
+x_1 = l_Lean_Parser_Term_funImplicitBinder___elambda__1___closed__5;
x_2 = lean_ctor_get(x_1, 0);
lean_inc(x_2);
x_3 = l_Lean_Parser_Term_funImplicitBinder___closed__3;
@@ -44277,109 +30129,28 @@ x_1 = l_Lean_Parser_Term_funImplicitBinder___closed__6;
return x_1;
}
}
+static lean_object* _init_l_Lean_Parser_Term_funBinder___elambda__1___closed__1() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_instBinder___closed__6;
+x_2 = l_Lean_Parser_Term_explicit___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Term_funBinder___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-lean_inc(x_1);
-x_6 = l_Lean_Parser_Term_funImplicitBinder___elambda__1(x_1, x_2);
-x_7 = lean_ctor_get(x_6, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
-{
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_1);
+lean_object* x_3; lean_object* x_4; uint8_t x_5; lean_object* x_6;
+x_3 = l_Lean_Parser_Term_funImplicitBinder___closed__5;
+x_4 = l_Lean_Parser_Term_funBinder___elambda__1___closed__1;
+x_5 = 1;
+x_6 = l_Lean_Parser_orelseFnCore(x_3, x_4, x_5, x_1, x_2);
return x_6;
}
-else
-{
-lean_object* x_8; lean_object* x_9; uint8_t x_10;
-x_8 = lean_ctor_get(x_7, 0);
-lean_inc(x_8);
-lean_dec(x_7);
-x_9 = lean_ctor_get(x_6, 1);
-lean_inc(x_9);
-x_10 = lean_nat_dec_eq(x_9, x_5);
-lean_dec(x_9);
-if (x_10 == 0)
-{
-lean_dec(x_8);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_6;
-}
-else
-{
-lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15;
-lean_inc(x_5);
-x_11 = l_Lean_Parser_ParserState_restore(x_6, x_4, x_5);
-lean_dec(x_4);
-x_12 = lean_ctor_get(x_11, 0);
-lean_inc(x_12);
-x_13 = lean_array_get_size(x_12);
-lean_dec(x_12);
-lean_inc(x_1);
-x_14 = l_Lean_Parser_Term_instBinder___elambda__1(x_1, x_11);
-x_15 = lean_ctor_get(x_14, 3);
-lean_inc(x_15);
-if (lean_obj_tag(x_15) == 0)
-{
-uint8_t x_16; lean_object* x_17;
-lean_dec(x_13);
-lean_dec(x_1);
-x_16 = 1;
-x_17 = l_Lean_Parser_mergeOrElseErrors(x_14, x_8, x_5, x_16);
-lean_dec(x_5);
-return x_17;
-}
-else
-{
-lean_object* x_18; lean_object* x_19; uint8_t x_20;
-x_18 = lean_ctor_get(x_15, 0);
-lean_inc(x_18);
-lean_dec(x_15);
-x_19 = lean_ctor_get(x_14, 1);
-lean_inc(x_19);
-x_20 = lean_nat_dec_eq(x_19, x_5);
-lean_dec(x_19);
-if (x_20 == 0)
-{
-uint8_t x_21; lean_object* x_22;
-lean_dec(x_18);
-lean_dec(x_13);
-lean_dec(x_1);
-x_21 = 1;
-x_22 = l_Lean_Parser_mergeOrElseErrors(x_14, x_8, x_5, x_21);
-lean_dec(x_5);
-return x_22;
-}
-else
-{
-lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; uint8_t x_27; lean_object* x_28; lean_object* x_29;
-lean_inc(x_5);
-x_23 = l_Lean_Parser_ParserState_restore(x_14, x_13, x_5);
-lean_dec(x_13);
-x_24 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_25 = l_Lean_Parser_maxPrec;
-x_26 = l_Lean_Parser_categoryParser___elambda__1(x_24, x_25, x_1, x_23);
-x_27 = 1;
-x_28 = l_Lean_Parser_mergeOrElseErrors(x_26, x_18, x_5, x_27);
-x_29 = l_Lean_Parser_mergeOrElseErrors(x_28, x_8, x_5, x_27);
-lean_dec(x_5);
-return x_29;
-}
-}
-}
-}
-}
}
static lean_object* _init_l_Lean_Parser_Term_funBinder___closed__1() {
_start:
@@ -44435,101 +30206,11 @@ x_1 = l_Lean_Parser_Term_funBinder___closed__4;
return x_1;
}
}
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_fun___elambda__1___spec__1(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3; lean_object* x_4; lean_object* x_5;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_5 = lean_ctor_get(x_2, 3);
-lean_inc(x_5);
-if (lean_obj_tag(x_5) == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-x_6 = lean_ctor_get(x_2, 1);
-lean_inc(x_6);
-lean_inc(x_1);
-x_7 = l_Lean_Parser_Term_funBinder___elambda__1(x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; uint8_t x_10;
-lean_dec(x_4);
-x_9 = lean_ctor_get(x_7, 1);
-lean_inc(x_9);
-x_10 = lean_nat_dec_eq(x_6, x_9);
-lean_dec(x_9);
-lean_dec(x_6);
-if (x_10 == 0)
-{
-x_2 = x_7;
-goto _start;
-}
-else
-{
-lean_object* x_12; lean_object* x_13;
-lean_dec(x_1);
-x_12 = l_Lean_Parser_manyAux___main___closed__1;
-x_13 = l_Lean_Parser_ParserState_mkUnexpectedError(x_7, x_12);
-return x_13;
-}
-}
-else
-{
-lean_object* x_14; uint8_t x_15;
-lean_dec(x_8);
-lean_dec(x_1);
-x_14 = lean_ctor_get(x_7, 1);
-lean_inc(x_14);
-x_15 = lean_nat_dec_eq(x_6, x_14);
-lean_dec(x_14);
-if (x_15 == 0)
-{
-lean_dec(x_6);
-lean_dec(x_4);
-return x_7;
-}
-else
-{
-lean_object* x_16;
-x_16 = l_Lean_Parser_ParserState_restore(x_7, x_4, x_6);
-lean_dec(x_4);
-return x_16;
-}
-}
-}
-else
-{
-lean_object* x_17; uint8_t x_18;
-lean_dec(x_5);
-lean_dec(x_1);
-x_17 = lean_ctor_get(x_2, 1);
-lean_inc(x_17);
-x_18 = lean_nat_dec_eq(x_17, x_17);
-if (x_18 == 0)
-{
-lean_dec(x_17);
-lean_dec(x_4);
-return x_2;
-}
-else
-{
-lean_object* x_19;
-x_19 = l_Lean_Parser_ParserState_restore(x_2, x_4, x_17);
-lean_dec(x_4);
-return x_19;
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Term_fun___elambda__1___closed__1() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_1 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_2 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_2, 0, x_1);
return x_2;
@@ -44539,7 +30220,7 @@ static lean_object* _init_l_Lean_Parser_Term_fun___elambda__1___closed__2() {
_start:
{
lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4;
-x_1 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__6;
+x_1 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__6;
x_2 = l_Lean_Parser_Term_fun___elambda__1___closed__1;
x_3 = 1;
x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
@@ -44567,7 +30248,7 @@ static lean_object* _init_l_Lean_Parser_Term_fun___elambda__1___closed__5() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__6;
+x_1 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__6;
x_2 = l_String_trim(x_1);
return x_2;
}
@@ -44575,13 +30256,119 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_fun___elambda__1___closed__6() {
_start:
{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_fun___elambda__1___closed__4;
+x_2 = l_Lean_Parser_Term_fun___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_unicodeSymbolFn___boxed), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_fun___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Parser_inhabited___closed__2;
+x_2 = l_Lean_Parser_Term_funBinder___closed__3;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_fun___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_fun___elambda__1___closed__7;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_many1Fn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_fun___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_fun___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_matchAlt___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_fun___elambda__1___closed__10() {
+_start:
+{
uint8_t x_1; lean_object* x_2;
x_1 = 0;
x_2 = l_Lean_Parser_Term_matchAlts(x_1);
return x_2;
}
}
-static lean_object* _init_l_Lean_Parser_Term_fun___elambda__1___closed__7() {
+static lean_object* _init_l_Lean_Parser_Term_fun___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
+x_1 = l_Lean_Parser_Term_fun___elambda__1___closed__10;
+x_2 = lean_ctor_get(x_1, 1);
+lean_inc(x_2);
+x_3 = l_Lean_Parser_Term_fun___elambda__1___closed__9;
+x_4 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_4, 0, x_3);
+lean_closure_set(x_4, 1, x_2);
+return x_4;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_fun___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_fun___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Term_fun___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_fun___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_maxPrec;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_checkPrecFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_fun___elambda__1___closed__14() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
+x_2 = l_Lean_Parser_Term_fun___elambda__1___closed__12;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_fun___elambda__1___closed__15() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_fun___elambda__1___closed__13;
+x_2 = l_Lean_Parser_Term_fun___elambda__1___closed__14;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_fun___elambda__1___closed__16() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
@@ -44591,42 +30378,42 @@ x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Term_fun___elambda__1___closed__8() {
+static lean_object* _init_l_Lean_Parser_Term_fun___elambda__1___closed__17() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_fun___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Term_fun___elambda__1___closed__16;
x_2 = l_Lean_KeyedDeclsAttribute_init___rarg___lambda__3___closed__2;
x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Term_fun___elambda__1___closed__9() {
+static lean_object* _init_l_Lean_Parser_Term_fun___elambda__1___closed__18() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_fun___elambda__1___closed__8;
+x_1 = l_Lean_Parser_Term_fun___elambda__1___closed__17;
x_2 = l_Lean_Parser_Term_fun___elambda__1___closed__5;
x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Term_fun___elambda__1___closed__10() {
+static lean_object* _init_l_Lean_Parser_Term_fun___elambda__1___closed__19() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_fun___elambda__1___closed__9;
+x_1 = l_Lean_Parser_Term_fun___elambda__1___closed__18;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Term_fun___elambda__1___closed__11() {
+static lean_object* _init_l_Lean_Parser_Term_fun___elambda__1___closed__20() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Term_fun___elambda__1___closed__10;
+x_2 = l_Lean_Parser_Term_fun___elambda__1___closed__19;
x_3 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_3, 0, x_2);
lean_ctor_set(x_3, 1, x_1);
@@ -44637,7 +30424,7 @@ lean_object* l_Lean_Parser_Term_fun___elambda__1(lean_object* x_1, lean_object*
_start:
{
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; uint8_t x_7;
-x_3 = l_Lean_Parser_Term_fun___elambda__1___closed__6;
+x_3 = l_Lean_Parser_Term_fun___elambda__1___closed__10;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
x_5 = l_Lean_Parser_Term_fun___elambda__1___closed__2;
@@ -44663,169 +30450,30 @@ x_12 = lean_array_get_size(x_11);
lean_dec(x_11);
x_13 = l_Lean_Parser_Term_fun___elambda__1___closed__4;
x_14 = l_Lean_Parser_Term_fun___elambda__1___closed__5;
-x_15 = l_Lean_Parser_Term_fun___elambda__1___closed__11;
+x_15 = l_Lean_Parser_Term_fun___elambda__1___closed__20;
lean_inc(x_1);
x_16 = l_Lean_Parser_unicodeSymbolFnAux(x_13, x_14, x_15, x_1, x_9);
x_17 = lean_ctor_get(x_16, 3);
lean_inc(x_17);
if (lean_obj_tag(x_17) == 0)
{
-lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_37; lean_object* x_38;
-x_18 = lean_ctor_get(x_16, 0);
-lean_inc(x_18);
-x_19 = lean_array_get_size(x_18);
-lean_dec(x_18);
-x_20 = lean_ctor_get(x_16, 1);
-lean_inc(x_20);
-lean_inc(x_1);
-x_37 = l_Lean_Parser_Term_funBinder___elambda__1(x_1, x_16);
-x_38 = lean_ctor_get(x_37, 3);
-lean_inc(x_38);
-if (lean_obj_tag(x_38) == 0)
-{
-lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42;
-lean_inc(x_1);
-x_39 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_fun___elambda__1___spec__1(x_1, x_37);
-x_40 = l_Lean_nullKind;
-lean_inc(x_19);
-x_41 = l_Lean_Parser_ParserState_mkNode(x_39, x_40, x_19);
-x_42 = lean_ctor_get(x_41, 3);
-lean_inc(x_42);
-if (lean_obj_tag(x_42) == 0)
-{
-lean_object* x_43; lean_object* x_44;
-lean_inc(x_1);
-x_43 = l_Lean_Parser_darrow___elambda__1(x_1, x_41);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-lean_object* x_45; lean_object* x_46; lean_object* x_47;
-x_45 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_46 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_47 = l_Lean_Parser_categoryParser___elambda__1(x_45, x_46, x_1, x_43);
-x_21 = x_47;
-goto block_36;
+lean_object* x_18; uint8_t x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
+x_18 = l_Lean_Parser_Term_fun___elambda__1___closed__9;
+x_19 = 1;
+x_20 = l_Lean_Parser_orelseFnCore(x_18, x_4, x_19, x_1, x_16);
+x_21 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
+x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_12);
+return x_22;
}
else
{
-lean_dec(x_44);
-x_21 = x_43;
-goto block_36;
-}
-}
-else
-{
-lean_dec(x_42);
-x_21 = x_41;
-goto block_36;
-}
-}
-else
-{
-lean_object* x_48; lean_object* x_49; lean_object* x_50;
-lean_dec(x_38);
-x_48 = l_Lean_nullKind;
-lean_inc(x_19);
-x_49 = l_Lean_Parser_ParserState_mkNode(x_37, x_48, x_19);
-x_50 = lean_ctor_get(x_49, 3);
-lean_inc(x_50);
-if (lean_obj_tag(x_50) == 0)
-{
-lean_object* x_51; lean_object* x_52;
-lean_inc(x_1);
-x_51 = l_Lean_Parser_darrow___elambda__1(x_1, x_49);
-x_52 = lean_ctor_get(x_51, 3);
-lean_inc(x_52);
-if (lean_obj_tag(x_52) == 0)
-{
-lean_object* x_53; lean_object* x_54; lean_object* x_55;
-x_53 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_54 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_55 = l_Lean_Parser_categoryParser___elambda__1(x_53, x_54, x_1, x_51);
-x_21 = x_55;
-goto block_36;
-}
-else
-{
-lean_dec(x_52);
-x_21 = x_51;
-goto block_36;
-}
-}
-else
-{
-lean_dec(x_50);
-x_21 = x_49;
-goto block_36;
-}
-}
-block_36:
-{
-lean_object* x_22;
-x_22 = lean_ctor_get(x_21, 3);
-lean_inc(x_22);
-if (lean_obj_tag(x_22) == 0)
-{
lean_object* x_23; lean_object* x_24;
-lean_dec(x_20);
-lean_dec(x_19);
-lean_dec(x_4);
-lean_dec(x_1);
-x_23 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_21, x_23, x_12);
-return x_24;
-}
-else
-{
-lean_object* x_25; lean_object* x_26; uint8_t x_27;
-x_25 = lean_ctor_get(x_22, 0);
-lean_inc(x_25);
-lean_dec(x_22);
-x_26 = lean_ctor_get(x_21, 1);
-lean_inc(x_26);
-x_27 = lean_nat_dec_eq(x_26, x_20);
-lean_dec(x_26);
-if (x_27 == 0)
-{
-lean_object* x_28; lean_object* x_29;
-lean_dec(x_25);
-lean_dec(x_20);
-lean_dec(x_19);
-lean_dec(x_4);
-lean_dec(x_1);
-x_28 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_21, x_28, x_12);
-return x_29;
-}
-else
-{
-lean_object* x_30; lean_object* x_31; uint8_t x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35;
-lean_inc(x_20);
-x_30 = l_Lean_Parser_ParserState_restore(x_21, x_19, x_20);
-lean_dec(x_19);
-x_31 = lean_apply_2(x_4, x_1, x_30);
-x_32 = 1;
-x_33 = l_Lean_Parser_mergeOrElseErrors(x_31, x_25, x_20, x_32);
-lean_dec(x_20);
-x_34 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
-x_35 = l_Lean_Parser_ParserState_mkNode(x_33, x_34, x_12);
-return x_35;
-}
-}
-}
-}
-else
-{
-lean_object* x_56; lean_object* x_57;
lean_dec(x_17);
lean_dec(x_4);
lean_dec(x_1);
-x_56 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
-x_57 = l_Lean_Parser_ParserState_mkNode(x_16, x_56, x_12);
-return x_57;
+x_23 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
+x_24 = l_Lean_Parser_ParserState_mkNode(x_16, x_23, x_12);
+return x_24;
}
}
else
@@ -44838,252 +30486,12 @@ return x_9;
}
else
{
-lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62;
-x_58 = lean_ctor_get(x_2, 0);
-lean_inc(x_58);
-x_59 = lean_array_get_size(x_58);
-lean_dec(x_58);
-x_60 = lean_ctor_get(x_2, 1);
-lean_inc(x_60);
-lean_inc(x_1);
-x_61 = lean_apply_2(x_6, x_1, x_2);
-x_62 = lean_ctor_get(x_61, 3);
-lean_inc(x_62);
-if (lean_obj_tag(x_62) == 0)
-{
-lean_dec(x_60);
-lean_dec(x_59);
+lean_object* x_25; uint8_t x_26; lean_object* x_27;
lean_dec(x_4);
-lean_dec(x_1);
-return x_61;
-}
-else
-{
-lean_object* x_63; lean_object* x_64; uint8_t x_65;
-x_63 = lean_ctor_get(x_62, 0);
-lean_inc(x_63);
-lean_dec(x_62);
-x_64 = lean_ctor_get(x_61, 1);
-lean_inc(x_64);
-x_65 = lean_nat_dec_eq(x_64, x_60);
-lean_dec(x_64);
-if (x_65 == 0)
-{
-lean_dec(x_63);
-lean_dec(x_60);
-lean_dec(x_59);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_61;
-}
-else
-{
-lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69;
-lean_inc(x_60);
-x_66 = l_Lean_Parser_ParserState_restore(x_61, x_59, x_60);
-lean_dec(x_59);
-x_67 = l_Lean_Parser_maxPrec;
-x_68 = l_Lean_Parser_checkPrecFn(x_67, x_1, x_66);
-x_69 = lean_ctor_get(x_68, 3);
-lean_inc(x_69);
-if (lean_obj_tag(x_69) == 0)
-{
-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;
-x_70 = lean_ctor_get(x_68, 0);
-lean_inc(x_70);
-x_71 = lean_array_get_size(x_70);
-lean_dec(x_70);
-x_72 = l_Lean_Parser_Term_fun___elambda__1___closed__4;
-x_73 = l_Lean_Parser_Term_fun___elambda__1___closed__5;
-x_74 = l_Lean_Parser_Term_fun___elambda__1___closed__11;
-lean_inc(x_1);
-x_75 = l_Lean_Parser_unicodeSymbolFnAux(x_72, x_73, x_74, x_1, x_68);
-x_76 = lean_ctor_get(x_75, 3);
-lean_inc(x_76);
-if (lean_obj_tag(x_76) == 0)
-{
-lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_101; lean_object* x_102;
-x_77 = lean_ctor_get(x_75, 0);
-lean_inc(x_77);
-x_78 = lean_array_get_size(x_77);
-lean_dec(x_77);
-x_79 = lean_ctor_get(x_75, 1);
-lean_inc(x_79);
-lean_inc(x_1);
-x_101 = l_Lean_Parser_Term_funBinder___elambda__1(x_1, x_75);
-x_102 = lean_ctor_get(x_101, 3);
-lean_inc(x_102);
-if (lean_obj_tag(x_102) == 0)
-{
-lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106;
-lean_inc(x_1);
-x_103 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_fun___elambda__1___spec__1(x_1, x_101);
-x_104 = l_Lean_nullKind;
-lean_inc(x_78);
-x_105 = l_Lean_Parser_ParserState_mkNode(x_103, x_104, x_78);
-x_106 = lean_ctor_get(x_105, 3);
-lean_inc(x_106);
-if (lean_obj_tag(x_106) == 0)
-{
-lean_object* x_107; lean_object* x_108;
-lean_inc(x_1);
-x_107 = l_Lean_Parser_darrow___elambda__1(x_1, x_105);
-x_108 = lean_ctor_get(x_107, 3);
-lean_inc(x_108);
-if (lean_obj_tag(x_108) == 0)
-{
-lean_object* x_109; lean_object* x_110; lean_object* x_111;
-x_109 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_110 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_111 = l_Lean_Parser_categoryParser___elambda__1(x_109, x_110, x_1, x_107);
-x_80 = x_111;
-goto block_100;
-}
-else
-{
-lean_dec(x_108);
-x_80 = x_107;
-goto block_100;
-}
-}
-else
-{
-lean_dec(x_106);
-x_80 = x_105;
-goto block_100;
-}
-}
-else
-{
-lean_object* x_112; lean_object* x_113; lean_object* x_114;
-lean_dec(x_102);
-x_112 = l_Lean_nullKind;
-lean_inc(x_78);
-x_113 = l_Lean_Parser_ParserState_mkNode(x_101, x_112, x_78);
-x_114 = lean_ctor_get(x_113, 3);
-lean_inc(x_114);
-if (lean_obj_tag(x_114) == 0)
-{
-lean_object* x_115; lean_object* x_116;
-lean_inc(x_1);
-x_115 = l_Lean_Parser_darrow___elambda__1(x_1, x_113);
-x_116 = lean_ctor_get(x_115, 3);
-lean_inc(x_116);
-if (lean_obj_tag(x_116) == 0)
-{
-lean_object* x_117; lean_object* x_118; lean_object* x_119;
-x_117 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_118 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_119 = l_Lean_Parser_categoryParser___elambda__1(x_117, x_118, x_1, x_115);
-x_80 = x_119;
-goto block_100;
-}
-else
-{
-lean_dec(x_116);
-x_80 = x_115;
-goto block_100;
-}
-}
-else
-{
-lean_dec(x_114);
-x_80 = x_113;
-goto block_100;
-}
-}
-block_100:
-{
-lean_object* x_81;
-x_81 = lean_ctor_get(x_80, 3);
-lean_inc(x_81);
-if (lean_obj_tag(x_81) == 0)
-{
-lean_object* x_82; lean_object* x_83; uint8_t x_84; lean_object* x_85;
-lean_dec(x_79);
-lean_dec(x_78);
-lean_dec(x_4);
-lean_dec(x_1);
-x_82 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
-x_83 = l_Lean_Parser_ParserState_mkNode(x_80, x_82, x_71);
-x_84 = 1;
-x_85 = l_Lean_Parser_mergeOrElseErrors(x_83, x_63, x_60, x_84);
-lean_dec(x_60);
-return x_85;
-}
-else
-{
-lean_object* x_86; lean_object* x_87; uint8_t x_88;
-x_86 = lean_ctor_get(x_81, 0);
-lean_inc(x_86);
-lean_dec(x_81);
-x_87 = lean_ctor_get(x_80, 1);
-lean_inc(x_87);
-x_88 = lean_nat_dec_eq(x_87, x_79);
-lean_dec(x_87);
-if (x_88 == 0)
-{
-lean_object* x_89; lean_object* x_90; uint8_t x_91; lean_object* x_92;
-lean_dec(x_86);
-lean_dec(x_79);
-lean_dec(x_78);
-lean_dec(x_4);
-lean_dec(x_1);
-x_89 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
-x_90 = l_Lean_Parser_ParserState_mkNode(x_80, x_89, x_71);
-x_91 = 1;
-x_92 = l_Lean_Parser_mergeOrElseErrors(x_90, x_63, x_60, x_91);
-lean_dec(x_60);
-return x_92;
-}
-else
-{
-lean_object* x_93; lean_object* x_94; uint8_t x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99;
-lean_inc(x_79);
-x_93 = l_Lean_Parser_ParserState_restore(x_80, x_78, x_79);
-lean_dec(x_78);
-x_94 = lean_apply_2(x_4, x_1, x_93);
-x_95 = 1;
-x_96 = l_Lean_Parser_mergeOrElseErrors(x_94, x_86, x_79, x_95);
-lean_dec(x_79);
-x_97 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
-x_98 = l_Lean_Parser_ParserState_mkNode(x_96, x_97, x_71);
-x_99 = l_Lean_Parser_mergeOrElseErrors(x_98, x_63, x_60, x_95);
-lean_dec(x_60);
-return x_99;
-}
-}
-}
-}
-else
-{
-lean_object* x_120; lean_object* x_121; uint8_t x_122; lean_object* x_123;
-lean_dec(x_76);
-lean_dec(x_4);
-lean_dec(x_1);
-x_120 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
-x_121 = l_Lean_Parser_ParserState_mkNode(x_75, x_120, x_71);
-x_122 = 1;
-x_123 = l_Lean_Parser_mergeOrElseErrors(x_121, x_63, x_60, x_122);
-lean_dec(x_60);
-return x_123;
-}
-}
-else
-{
-uint8_t x_124; lean_object* x_125;
-lean_dec(x_69);
-lean_dec(x_4);
-lean_dec(x_1);
-x_124 = 1;
-x_125 = l_Lean_Parser_mergeOrElseErrors(x_68, x_63, x_60, x_124);
-lean_dec(x_60);
-return x_125;
-}
-}
-}
+x_25 = l_Lean_Parser_Term_fun___elambda__1___closed__15;
+x_26 = 1;
+x_27 = l_Lean_Parser_orelseFnCore(x_6, x_25, x_26, x_1, x_2);
+return x_27;
}
}
}
@@ -45137,7 +30545,7 @@ static lean_object* _init_l_Lean_Parser_Term_fun___closed__5() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
-x_1 = l_Lean_Parser_Term_fun___elambda__1___closed__6;
+x_1 = l_Lean_Parser_Term_fun___elambda__1___closed__10;
x_2 = lean_ctor_get(x_1, 0);
lean_inc(x_2);
x_3 = l_Lean_Parser_Term_fun___closed__4;
@@ -45159,7 +30567,7 @@ static lean_object* _init_l_Lean_Parser_Term_fun___closed__7() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_1 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_2 = l_Lean_Parser_Term_fun___closed__6;
x_3 = l_Lean_Parser_nodeInfo(x_1, x_2);
return x_3;
@@ -45220,7 +30628,7 @@ _start:
{
lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
x_2 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_3 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_3 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_4 = 1;
x_5 = l_Lean_Parser_Term_fun;
x_6 = lean_unsigned_to_nat(0u);
@@ -45339,7 +30747,7 @@ static lean_object* _init_l_Lean_Parser_Term_fun_formatter___closed__1() {
_start:
{
lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5;
-x_1 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__6;
+x_1 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__6;
x_2 = l_Lean_Parser_Term_fun___elambda__1___closed__1;
x_3 = 1;
x_4 = lean_box(x_3);
@@ -45355,7 +30763,7 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Term_fun___elambda__1___closed__3;
-x_2 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__6;
+x_2 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__6;
x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_unicodeSymbol_formatter___boxed), 7, 2);
lean_closure_set(x_3, 0, x_1);
lean_closure_set(x_3, 1, x_2);
@@ -45443,7 +30851,7 @@ static lean_object* _init_l_Lean_Parser_Term_fun_formatter___closed__10() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
-x_1 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_1 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_2 = l_Lean_Parser_maxPrec;
x_3 = l_Lean_Parser_Term_fun_formatter___closed__9;
x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3);
@@ -45476,7 +30884,7 @@ _start:
{
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
x_2 = l_Lean_PrettyPrinter_formatterAttribute;
-x_3 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_3 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_4 = l___regBuiltin_Lean_Parser_Term_fun_formatter___closed__1;
x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1);
return x_5;
@@ -45682,7 +31090,7 @@ static lean_object* _init_l_Lean_Parser_Term_fun_parenthesizer___closed__9() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
-x_1 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_1 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_2 = l_Lean_Parser_maxPrec;
x_3 = l_Lean_Parser_Term_fun_parenthesizer___closed__8;
x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer___boxed), 8, 3);
@@ -45715,213 +31123,41 @@ _start:
{
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
x_2 = l_Lean_PrettyPrinter_parenthesizerAttribute;
-x_3 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7;
+x_3 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7;
x_4 = l___regBuiltin_Lean_Parser_Term_fun_parenthesizer___closed__1;
x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1);
return x_5;
}
}
+static lean_object* _init_l_Lean_Parser_Term_optExprPrecedence___elambda__1___closed__1() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_mkAntiquot___closed__7;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_tryFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_optExprPrecedence___elambda__1___closed__2() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_optExprPrecedence___elambda__1___closed__1;
+x_2 = l_Lean_Parser_Term_explicit___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Term_optExprPrecedence___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_36; lean_object* x_37;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_ctor_get(x_2, 1);
-lean_inc(x_4);
-x_5 = lean_array_get_size(x_3);
-lean_dec(x_3);
-lean_inc(x_1);
-x_36 = l_Lean_Parser_tokenFn(x_1, x_2);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_object* x_38; lean_object* x_39;
-x_38 = lean_ctor_get(x_36, 0);
-lean_inc(x_38);
-x_39 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_38);
-lean_dec(x_38);
-if (lean_obj_tag(x_39) == 2)
-{
-lean_object* x_40; lean_object* x_41; uint8_t x_42;
-x_40 = lean_ctor_get(x_39, 1);
-lean_inc(x_40);
-lean_dec(x_39);
-x_41 = l_Lean_Parser_mkAntiquot___closed__5;
-x_42 = lean_string_dec_eq(x_40, x_41);
-lean_dec(x_40);
-if (x_42 == 0)
-{
-lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47;
-x_43 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__8;
-lean_inc(x_4);
-x_44 = l_Lean_Parser_ParserState_mkErrorsAt(x_36, x_43, x_4);
-x_45 = lean_ctor_get(x_44, 0);
-lean_inc(x_45);
-x_46 = lean_ctor_get(x_44, 2);
-lean_inc(x_46);
-x_47 = lean_ctor_get(x_44, 3);
-lean_inc(x_47);
-x_29 = x_44;
-x_30 = x_45;
-x_31 = x_46;
-x_32 = x_47;
-goto block_35;
-}
-else
-{
-lean_object* x_48; lean_object* x_49; lean_object* x_50;
-x_48 = lean_ctor_get(x_36, 0);
-lean_inc(x_48);
-x_49 = lean_ctor_get(x_36, 2);
-lean_inc(x_49);
-x_50 = lean_ctor_get(x_36, 3);
-lean_inc(x_50);
-x_29 = x_36;
-x_30 = x_48;
-x_31 = x_49;
-x_32 = x_50;
-goto block_35;
-}
-}
-else
-{
-lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55;
-lean_dec(x_39);
-x_51 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__8;
-lean_inc(x_4);
-x_52 = l_Lean_Parser_ParserState_mkErrorsAt(x_36, x_51, x_4);
-x_53 = lean_ctor_get(x_52, 0);
-lean_inc(x_53);
-x_54 = lean_ctor_get(x_52, 2);
-lean_inc(x_54);
-x_55 = lean_ctor_get(x_52, 3);
-lean_inc(x_55);
-x_29 = x_52;
-x_30 = x_53;
-x_31 = x_54;
-x_32 = x_55;
-goto block_35;
-}
-}
-else
-{
-lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60;
-lean_dec(x_37);
-x_56 = l_Lean_Parser_Term_matchDiscr___elambda__1___closed__8;
-lean_inc(x_4);
-x_57 = l_Lean_Parser_ParserState_mkErrorsAt(x_36, x_56, x_4);
-x_58 = lean_ctor_get(x_57, 0);
-lean_inc(x_58);
-x_59 = lean_ctor_get(x_57, 2);
-lean_inc(x_59);
-x_60 = lean_ctor_get(x_57, 3);
-lean_inc(x_60);
-x_29 = x_57;
-x_30 = x_58;
-x_31 = x_59;
-x_32 = x_60;
-goto block_35;
-}
-block_28:
-{
-lean_object* x_7;
-x_7 = lean_ctor_get(x_6, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
-{
-lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
-x_8 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_9 = l_Lean_Parser_maxPrec;
-x_10 = l_Lean_Parser_categoryParser___elambda__1(x_8, x_9, x_1, x_6);
-x_11 = lean_ctor_get(x_10, 3);
-lean_inc(x_11);
-if (lean_obj_tag(x_11) == 0)
-{
-lean_object* x_12; lean_object* x_13;
-lean_dec(x_4);
-x_12 = l_Lean_nullKind;
-x_13 = l_Lean_Parser_ParserState_mkNode(x_10, x_12, x_5);
-return x_13;
-}
-else
-{
-lean_object* x_14; uint8_t x_15;
-lean_dec(x_11);
-x_14 = lean_ctor_get(x_10, 1);
-lean_inc(x_14);
-x_15 = lean_nat_dec_eq(x_14, x_4);
-lean_dec(x_14);
-if (x_15 == 0)
-{
-lean_object* x_16; lean_object* x_17;
-lean_dec(x_4);
-x_16 = l_Lean_nullKind;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_10, x_16, x_5);
-return x_17;
-}
-else
-{
-lean_object* x_18; lean_object* x_19; lean_object* x_20;
-x_18 = l_Lean_Parser_ParserState_restore(x_10, x_5, x_4);
-x_19 = l_Lean_nullKind;
-x_20 = l_Lean_Parser_ParserState_mkNode(x_18, x_19, x_5);
-return x_20;
-}
-}
-}
-else
-{
-lean_object* x_21; uint8_t x_22;
-lean_dec(x_7);
-lean_dec(x_1);
-x_21 = lean_ctor_get(x_6, 1);
-lean_inc(x_21);
-x_22 = lean_nat_dec_eq(x_21, x_4);
-lean_dec(x_21);
-if (x_22 == 0)
-{
-lean_object* x_23; lean_object* x_24;
-lean_dec(x_4);
-x_23 = l_Lean_nullKind;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_6, x_23, x_5);
-return x_24;
-}
-else
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27;
-x_25 = l_Lean_Parser_ParserState_restore(x_6, x_5, x_4);
-x_26 = l_Lean_nullKind;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_25, x_26, x_5);
-return x_27;
-}
-}
-}
-block_35:
-{
-if (lean_obj_tag(x_32) == 0)
-{
-lean_dec(x_31);
-lean_dec(x_30);
-x_6 = x_29;
-goto block_28;
-}
-else
-{
-lean_object* x_33; lean_object* x_34;
-lean_dec(x_29);
-x_33 = l_Array_shrink___main___rarg(x_30, x_5);
-lean_inc(x_4);
-x_34 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_34, 0, x_33);
-lean_ctor_set(x_34, 1, x_4);
-lean_ctor_set(x_34, 2, x_31);
-lean_ctor_set(x_34, 3, x_32);
-x_6 = x_34;
-goto block_28;
-}
-}
+lean_object* x_3; lean_object* x_4;
+x_3 = l_Lean_Parser_Term_optExprPrecedence___elambda__1___closed__2;
+x_4 = l_Lean_Parser_optionalFn(x_3, x_1, x_2);
+return x_4;
}
}
static lean_object* _init_l_Lean_Parser_Term_optExprPrecedence___closed__1() {
@@ -46032,20 +31268,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_parser_x21___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_parser_x21___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_parser_x21___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_parser_x21___elambda__1___closed__8() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_parser_x21___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Term_optExprPrecedence___closed__3;
+x_2 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -46053,11 +31291,55 @@ static lean_object* _init_l_Lean_Parser_Term_parser_x21___elambda__1___closed__9
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Term_parser_x21___elambda__1___closed__7;
x_2 = l_Lean_Parser_Term_parser_x21___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_parser_x21___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_parser_x21___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_parser_x21___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_parser_x21___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_byTactic___elambda__1___closed__9;
+x_2 = l_Lean_Parser_Term_parser_x21___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_parser_x21___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_parser_x21___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_parser_x21___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_parser_x21___elambda__1___closed__12;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -46081,109 +31363,53 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_25; lean_object* x_26; lean_object* x_27;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_25 = lean_ctor_get(x_7, 1);
-lean_inc(x_25);
+x_11 = l_Lean_Parser_Term_parser_x21___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Term_parser_x21___elambda__1___closed__13;
lean_inc(x_1);
-x_26 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_27 = lean_ctor_get(x_26, 3);
-lean_inc(x_27);
-if (lean_obj_tag(x_27) == 0)
-{
-lean_object* x_28; lean_object* x_29;
-x_28 = lean_ctor_get(x_26, 0);
-lean_inc(x_28);
-x_29 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_28);
-lean_dec(x_28);
-if (lean_obj_tag(x_29) == 2)
-{
-lean_object* x_30; lean_object* x_31; uint8_t x_32;
-x_30 = lean_ctor_get(x_29, 1);
-lean_inc(x_30);
-lean_dec(x_29);
-x_31 = l_Lean_Parser_Term_parser_x21___elambda__1___closed__6;
-x_32 = lean_string_dec_eq(x_30, x_31);
-lean_dec(x_30);
-if (x_32 == 0)
-{
-lean_object* x_33; lean_object* x_34;
-x_33 = l_Lean_Parser_Term_parser_x21___elambda__1___closed__9;
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_26, x_33, x_25);
-x_11 = x_34;
-goto block_24;
-}
-else
-{
-lean_dec(x_25);
-x_11 = x_26;
-goto block_24;
-}
-}
-else
-{
-lean_object* x_35; lean_object* x_36;
-lean_dec(x_29);
-x_35 = l_Lean_Parser_Term_parser_x21___elambda__1___closed__9;
-x_36 = l_Lean_Parser_ParserState_mkErrorsAt(x_26, x_35, x_25);
-x_11 = x_36;
-goto block_24;
-}
-}
-else
-{
-lean_object* x_37; lean_object* x_38;
-lean_dec(x_27);
-x_37 = l_Lean_Parser_Term_parser_x21___elambda__1___closed__9;
-x_38 = l_Lean_Parser_ParserState_mkErrorsAt(x_26, x_37, x_25);
-x_11 = x_38;
-goto block_24;
-}
-block_24:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14;
-lean_inc(x_1);
-x_13 = l_Lean_Parser_Term_optExprPrecedence___elambda__1(x_1, x_11);
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
x_14 = lean_ctor_get(x_13, 3);
lean_inc(x_14);
if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
-x_15 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_16 = lean_unsigned_to_nat(0u);
-x_17 = l_Lean_Parser_categoryParser___elambda__1(x_15, x_16, x_1, x_13);
-x_18 = l_Lean_Parser_Term_parser_x21___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_10);
-return x_19;
-}
-else
+lean_object* x_15; lean_object* x_16;
+lean_inc(x_1);
+x_15 = l_Lean_Parser_Term_optExprPrecedence___elambda__1(x_1, x_13);
+x_16 = lean_ctor_get(x_15, 3);
+lean_inc(x_16);
+if (lean_obj_tag(x_16) == 0)
{
-lean_object* x_20; lean_object* x_21;
-lean_dec(x_14);
-lean_dec(x_1);
+lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
+x_17 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_18 = lean_unsigned_to_nat(0u);
+x_19 = l_Lean_Parser_categoryParser___elambda__1(x_17, x_18, x_1, x_15);
x_20 = l_Lean_Parser_Term_parser_x21___elambda__1___closed__2;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_13, x_20, x_10);
+x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_10);
return x_21;
}
-}
else
{
lean_object* x_22; lean_object* x_23;
-lean_dec(x_12);
+lean_dec(x_16);
lean_dec(x_1);
x_22 = l_Lean_Parser_Term_parser_x21___elambda__1___closed__2;
-x_23 = l_Lean_Parser_ParserState_mkNode(x_11, x_22, x_10);
+x_23 = l_Lean_Parser_ParserState_mkNode(x_15, x_22, x_10);
return x_23;
}
}
+else
+{
+lean_object* x_24; lean_object* x_25;
+lean_dec(x_14);
+lean_dec(x_1);
+x_24 = l_Lean_Parser_Term_parser_x21___elambda__1___closed__2;
+x_25 = l_Lean_Parser_ParserState_mkNode(x_13, x_24, x_10);
+return x_25;
+}
}
else
{
@@ -46194,179 +31420,11 @@ return x_7;
}
else
{
-lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43;
-x_39 = lean_ctor_get(x_2, 0);
-lean_inc(x_39);
-x_40 = lean_array_get_size(x_39);
-lean_dec(x_39);
-x_41 = lean_ctor_get(x_2, 1);
-lean_inc(x_41);
-lean_inc(x_1);
-x_42 = lean_apply_2(x_4, x_1, x_2);
-x_43 = lean_ctor_get(x_42, 3);
-lean_inc(x_43);
-if (lean_obj_tag(x_43) == 0)
-{
-lean_dec(x_41);
-lean_dec(x_40);
-lean_dec(x_1);
-return x_42;
-}
-else
-{
-lean_object* x_44; lean_object* x_45; uint8_t x_46;
-x_44 = lean_ctor_get(x_43, 0);
-lean_inc(x_44);
-lean_dec(x_43);
-x_45 = lean_ctor_get(x_42, 1);
-lean_inc(x_45);
-x_46 = lean_nat_dec_eq(x_45, x_41);
-lean_dec(x_45);
-if (x_46 == 0)
-{
-lean_dec(x_44);
-lean_dec(x_41);
-lean_dec(x_40);
-lean_dec(x_1);
-return x_42;
-}
-else
-{
-lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50;
-lean_inc(x_41);
-x_47 = l_Lean_Parser_ParserState_restore(x_42, x_40, x_41);
-lean_dec(x_40);
-x_48 = l_Lean_Parser_leadPrec;
-x_49 = l_Lean_Parser_checkPrecFn(x_48, x_1, x_47);
-x_50 = lean_ctor_get(x_49, 3);
-lean_inc(x_50);
-if (lean_obj_tag(x_50) == 0)
-{
-lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_73; lean_object* x_74; lean_object* x_75;
-x_51 = lean_ctor_get(x_49, 0);
-lean_inc(x_51);
-x_52 = lean_array_get_size(x_51);
-lean_dec(x_51);
-x_73 = lean_ctor_get(x_49, 1);
-lean_inc(x_73);
-lean_inc(x_1);
-x_74 = l_Lean_Parser_tokenFn(x_1, x_49);
-x_75 = lean_ctor_get(x_74, 3);
-lean_inc(x_75);
-if (lean_obj_tag(x_75) == 0)
-{
-lean_object* x_76; lean_object* x_77;
-x_76 = lean_ctor_get(x_74, 0);
-lean_inc(x_76);
-x_77 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_76);
-lean_dec(x_76);
-if (lean_obj_tag(x_77) == 2)
-{
-lean_object* x_78; lean_object* x_79; uint8_t x_80;
-x_78 = lean_ctor_get(x_77, 1);
-lean_inc(x_78);
-lean_dec(x_77);
-x_79 = l_Lean_Parser_Term_parser_x21___elambda__1___closed__6;
-x_80 = lean_string_dec_eq(x_78, x_79);
-lean_dec(x_78);
-if (x_80 == 0)
-{
-lean_object* x_81; lean_object* x_82;
-x_81 = l_Lean_Parser_Term_parser_x21___elambda__1___closed__9;
-x_82 = l_Lean_Parser_ParserState_mkErrorsAt(x_74, x_81, x_73);
-x_53 = x_82;
-goto block_72;
-}
-else
-{
-lean_dec(x_73);
-x_53 = x_74;
-goto block_72;
-}
-}
-else
-{
-lean_object* x_83; lean_object* x_84;
-lean_dec(x_77);
-x_83 = l_Lean_Parser_Term_parser_x21___elambda__1___closed__9;
-x_84 = l_Lean_Parser_ParserState_mkErrorsAt(x_74, x_83, x_73);
-x_53 = x_84;
-goto block_72;
-}
-}
-else
-{
-lean_object* x_85; lean_object* x_86;
-lean_dec(x_75);
-x_85 = l_Lean_Parser_Term_parser_x21___elambda__1___closed__9;
-x_86 = l_Lean_Parser_ParserState_mkErrorsAt(x_74, x_85, x_73);
-x_53 = x_86;
-goto block_72;
-}
-block_72:
-{
-lean_object* x_54;
-x_54 = lean_ctor_get(x_53, 3);
-lean_inc(x_54);
-if (lean_obj_tag(x_54) == 0)
-{
-lean_object* x_55; lean_object* x_56;
-lean_inc(x_1);
-x_55 = l_Lean_Parser_Term_optExprPrecedence___elambda__1(x_1, x_53);
-x_56 = lean_ctor_get(x_55, 3);
-lean_inc(x_56);
-if (lean_obj_tag(x_56) == 0)
-{
-lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; uint8_t x_62; lean_object* x_63;
-x_57 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_58 = lean_unsigned_to_nat(0u);
-x_59 = l_Lean_Parser_categoryParser___elambda__1(x_57, x_58, x_1, x_55);
-x_60 = l_Lean_Parser_Term_parser_x21___elambda__1___closed__2;
-x_61 = l_Lean_Parser_ParserState_mkNode(x_59, x_60, x_52);
-x_62 = 1;
-x_63 = l_Lean_Parser_mergeOrElseErrors(x_61, x_44, x_41, x_62);
-lean_dec(x_41);
-return x_63;
-}
-else
-{
-lean_object* x_64; lean_object* x_65; uint8_t x_66; lean_object* x_67;
-lean_dec(x_56);
-lean_dec(x_1);
-x_64 = l_Lean_Parser_Term_parser_x21___elambda__1___closed__2;
-x_65 = l_Lean_Parser_ParserState_mkNode(x_55, x_64, x_52);
-x_66 = 1;
-x_67 = l_Lean_Parser_mergeOrElseErrors(x_65, x_44, x_41, x_66);
-lean_dec(x_41);
-return x_67;
-}
-}
-else
-{
-lean_object* x_68; lean_object* x_69; uint8_t x_70; lean_object* x_71;
-lean_dec(x_54);
-lean_dec(x_1);
-x_68 = l_Lean_Parser_Term_parser_x21___elambda__1___closed__2;
-x_69 = l_Lean_Parser_ParserState_mkNode(x_53, x_68, x_52);
-x_70 = 1;
-x_71 = l_Lean_Parser_mergeOrElseErrors(x_69, x_44, x_41, x_70);
-lean_dec(x_41);
-return x_71;
-}
-}
-}
-else
-{
-uint8_t x_87; lean_object* x_88;
-lean_dec(x_50);
-lean_dec(x_1);
-x_87 = 1;
-x_88 = l_Lean_Parser_mergeOrElseErrors(x_49, x_44, x_41, x_87);
-lean_dec(x_41);
-return x_88;
-}
-}
-}
+lean_object* x_26; uint8_t x_27; lean_object* x_28;
+x_26 = l_Lean_Parser_Term_parser_x21___elambda__1___closed__11;
+x_27 = 1;
+x_28 = l_Lean_Parser_orelseFnCore(x_4, x_26, x_27, x_1, x_2);
+return x_28;
}
}
}
@@ -46785,11 +31843,11 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_tparser_x21___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_tparser_x21___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_tparser_x21___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_tparser_x21___elambda__1___closed__8() {
@@ -46797,8 +31855,10 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Term_tparser_x21___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_2 = l_Lean_Parser_Term_parser_x21___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -46806,11 +31866,43 @@ static lean_object* _init_l_Lean_Parser_Term_tparser_x21___elambda__1___closed__
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Term_tparser_x21___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_tparser_x21___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_tparser_x21___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_byTactic___elambda__1___closed__9;
+x_2 = l_Lean_Parser_Term_tparser_x21___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_tparser_x21___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_tparser_x21___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_tparser_x21___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_tparser_x21___elambda__1___closed__11;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -46834,109 +31926,53 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_25; lean_object* x_26; lean_object* x_27;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_25 = lean_ctor_get(x_7, 1);
-lean_inc(x_25);
+x_11 = l_Lean_Parser_Term_tparser_x21___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Term_tparser_x21___elambda__1___closed__12;
lean_inc(x_1);
-x_26 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_27 = lean_ctor_get(x_26, 3);
-lean_inc(x_27);
-if (lean_obj_tag(x_27) == 0)
-{
-lean_object* x_28; lean_object* x_29;
-x_28 = lean_ctor_get(x_26, 0);
-lean_inc(x_28);
-x_29 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_28);
-lean_dec(x_28);
-if (lean_obj_tag(x_29) == 2)
-{
-lean_object* x_30; lean_object* x_31; uint8_t x_32;
-x_30 = lean_ctor_get(x_29, 1);
-lean_inc(x_30);
-lean_dec(x_29);
-x_31 = l_Lean_Parser_Term_tparser_x21___elambda__1___closed__6;
-x_32 = lean_string_dec_eq(x_30, x_31);
-lean_dec(x_30);
-if (x_32 == 0)
-{
-lean_object* x_33; lean_object* x_34;
-x_33 = l_Lean_Parser_Term_tparser_x21___elambda__1___closed__9;
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_26, x_33, x_25);
-x_11 = x_34;
-goto block_24;
-}
-else
-{
-lean_dec(x_25);
-x_11 = x_26;
-goto block_24;
-}
-}
-else
-{
-lean_object* x_35; lean_object* x_36;
-lean_dec(x_29);
-x_35 = l_Lean_Parser_Term_tparser_x21___elambda__1___closed__9;
-x_36 = l_Lean_Parser_ParserState_mkErrorsAt(x_26, x_35, x_25);
-x_11 = x_36;
-goto block_24;
-}
-}
-else
-{
-lean_object* x_37; lean_object* x_38;
-lean_dec(x_27);
-x_37 = l_Lean_Parser_Term_tparser_x21___elambda__1___closed__9;
-x_38 = l_Lean_Parser_ParserState_mkErrorsAt(x_26, x_37, x_25);
-x_11 = x_38;
-goto block_24;
-}
-block_24:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14;
-lean_inc(x_1);
-x_13 = l_Lean_Parser_Term_optExprPrecedence___elambda__1(x_1, x_11);
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
x_14 = lean_ctor_get(x_13, 3);
lean_inc(x_14);
if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
-x_15 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_16 = lean_unsigned_to_nat(0u);
-x_17 = l_Lean_Parser_categoryParser___elambda__1(x_15, x_16, x_1, x_13);
-x_18 = l_Lean_Parser_Term_tparser_x21___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_10);
-return x_19;
-}
-else
+lean_object* x_15; lean_object* x_16;
+lean_inc(x_1);
+x_15 = l_Lean_Parser_Term_optExprPrecedence___elambda__1(x_1, x_13);
+x_16 = lean_ctor_get(x_15, 3);
+lean_inc(x_16);
+if (lean_obj_tag(x_16) == 0)
{
-lean_object* x_20; lean_object* x_21;
-lean_dec(x_14);
-lean_dec(x_1);
+lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
+x_17 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_18 = lean_unsigned_to_nat(0u);
+x_19 = l_Lean_Parser_categoryParser___elambda__1(x_17, x_18, x_1, x_15);
x_20 = l_Lean_Parser_Term_tparser_x21___elambda__1___closed__2;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_13, x_20, x_10);
+x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_10);
return x_21;
}
-}
else
{
lean_object* x_22; lean_object* x_23;
-lean_dec(x_12);
+lean_dec(x_16);
lean_dec(x_1);
x_22 = l_Lean_Parser_Term_tparser_x21___elambda__1___closed__2;
-x_23 = l_Lean_Parser_ParserState_mkNode(x_11, x_22, x_10);
+x_23 = l_Lean_Parser_ParserState_mkNode(x_15, x_22, x_10);
return x_23;
}
}
+else
+{
+lean_object* x_24; lean_object* x_25;
+lean_dec(x_14);
+lean_dec(x_1);
+x_24 = l_Lean_Parser_Term_tparser_x21___elambda__1___closed__2;
+x_25 = l_Lean_Parser_ParserState_mkNode(x_13, x_24, x_10);
+return x_25;
+}
}
else
{
@@ -46947,179 +31983,11 @@ return x_7;
}
else
{
-lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43;
-x_39 = lean_ctor_get(x_2, 0);
-lean_inc(x_39);
-x_40 = lean_array_get_size(x_39);
-lean_dec(x_39);
-x_41 = lean_ctor_get(x_2, 1);
-lean_inc(x_41);
-lean_inc(x_1);
-x_42 = lean_apply_2(x_4, x_1, x_2);
-x_43 = lean_ctor_get(x_42, 3);
-lean_inc(x_43);
-if (lean_obj_tag(x_43) == 0)
-{
-lean_dec(x_41);
-lean_dec(x_40);
-lean_dec(x_1);
-return x_42;
-}
-else
-{
-lean_object* x_44; lean_object* x_45; uint8_t x_46;
-x_44 = lean_ctor_get(x_43, 0);
-lean_inc(x_44);
-lean_dec(x_43);
-x_45 = lean_ctor_get(x_42, 1);
-lean_inc(x_45);
-x_46 = lean_nat_dec_eq(x_45, x_41);
-lean_dec(x_45);
-if (x_46 == 0)
-{
-lean_dec(x_44);
-lean_dec(x_41);
-lean_dec(x_40);
-lean_dec(x_1);
-return x_42;
-}
-else
-{
-lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50;
-lean_inc(x_41);
-x_47 = l_Lean_Parser_ParserState_restore(x_42, x_40, x_41);
-lean_dec(x_40);
-x_48 = l_Lean_Parser_leadPrec;
-x_49 = l_Lean_Parser_checkPrecFn(x_48, x_1, x_47);
-x_50 = lean_ctor_get(x_49, 3);
-lean_inc(x_50);
-if (lean_obj_tag(x_50) == 0)
-{
-lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_73; lean_object* x_74; lean_object* x_75;
-x_51 = lean_ctor_get(x_49, 0);
-lean_inc(x_51);
-x_52 = lean_array_get_size(x_51);
-lean_dec(x_51);
-x_73 = lean_ctor_get(x_49, 1);
-lean_inc(x_73);
-lean_inc(x_1);
-x_74 = l_Lean_Parser_tokenFn(x_1, x_49);
-x_75 = lean_ctor_get(x_74, 3);
-lean_inc(x_75);
-if (lean_obj_tag(x_75) == 0)
-{
-lean_object* x_76; lean_object* x_77;
-x_76 = lean_ctor_get(x_74, 0);
-lean_inc(x_76);
-x_77 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_76);
-lean_dec(x_76);
-if (lean_obj_tag(x_77) == 2)
-{
-lean_object* x_78; lean_object* x_79; uint8_t x_80;
-x_78 = lean_ctor_get(x_77, 1);
-lean_inc(x_78);
-lean_dec(x_77);
-x_79 = l_Lean_Parser_Term_tparser_x21___elambda__1___closed__6;
-x_80 = lean_string_dec_eq(x_78, x_79);
-lean_dec(x_78);
-if (x_80 == 0)
-{
-lean_object* x_81; lean_object* x_82;
-x_81 = l_Lean_Parser_Term_tparser_x21___elambda__1___closed__9;
-x_82 = l_Lean_Parser_ParserState_mkErrorsAt(x_74, x_81, x_73);
-x_53 = x_82;
-goto block_72;
-}
-else
-{
-lean_dec(x_73);
-x_53 = x_74;
-goto block_72;
-}
-}
-else
-{
-lean_object* x_83; lean_object* x_84;
-lean_dec(x_77);
-x_83 = l_Lean_Parser_Term_tparser_x21___elambda__1___closed__9;
-x_84 = l_Lean_Parser_ParserState_mkErrorsAt(x_74, x_83, x_73);
-x_53 = x_84;
-goto block_72;
-}
-}
-else
-{
-lean_object* x_85; lean_object* x_86;
-lean_dec(x_75);
-x_85 = l_Lean_Parser_Term_tparser_x21___elambda__1___closed__9;
-x_86 = l_Lean_Parser_ParserState_mkErrorsAt(x_74, x_85, x_73);
-x_53 = x_86;
-goto block_72;
-}
-block_72:
-{
-lean_object* x_54;
-x_54 = lean_ctor_get(x_53, 3);
-lean_inc(x_54);
-if (lean_obj_tag(x_54) == 0)
-{
-lean_object* x_55; lean_object* x_56;
-lean_inc(x_1);
-x_55 = l_Lean_Parser_Term_optExprPrecedence___elambda__1(x_1, x_53);
-x_56 = lean_ctor_get(x_55, 3);
-lean_inc(x_56);
-if (lean_obj_tag(x_56) == 0)
-{
-lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; uint8_t x_62; lean_object* x_63;
-x_57 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_58 = lean_unsigned_to_nat(0u);
-x_59 = l_Lean_Parser_categoryParser___elambda__1(x_57, x_58, x_1, x_55);
-x_60 = l_Lean_Parser_Term_tparser_x21___elambda__1___closed__2;
-x_61 = l_Lean_Parser_ParserState_mkNode(x_59, x_60, x_52);
-x_62 = 1;
-x_63 = l_Lean_Parser_mergeOrElseErrors(x_61, x_44, x_41, x_62);
-lean_dec(x_41);
-return x_63;
-}
-else
-{
-lean_object* x_64; lean_object* x_65; uint8_t x_66; lean_object* x_67;
-lean_dec(x_56);
-lean_dec(x_1);
-x_64 = l_Lean_Parser_Term_tparser_x21___elambda__1___closed__2;
-x_65 = l_Lean_Parser_ParserState_mkNode(x_55, x_64, x_52);
-x_66 = 1;
-x_67 = l_Lean_Parser_mergeOrElseErrors(x_65, x_44, x_41, x_66);
-lean_dec(x_41);
-return x_67;
-}
-}
-else
-{
-lean_object* x_68; lean_object* x_69; uint8_t x_70; lean_object* x_71;
-lean_dec(x_54);
-lean_dec(x_1);
-x_68 = l_Lean_Parser_Term_tparser_x21___elambda__1___closed__2;
-x_69 = l_Lean_Parser_ParserState_mkNode(x_53, x_68, x_52);
-x_70 = 1;
-x_71 = l_Lean_Parser_mergeOrElseErrors(x_69, x_44, x_41, x_70);
-lean_dec(x_41);
-return x_71;
-}
-}
-}
-else
-{
-uint8_t x_87; lean_object* x_88;
-lean_dec(x_50);
-lean_dec(x_1);
-x_87 = 1;
-x_88 = l_Lean_Parser_mergeOrElseErrors(x_49, x_44, x_41, x_87);
-lean_dec(x_41);
-return x_88;
-}
-}
-}
+lean_object* x_26; uint8_t x_27; lean_object* x_28;
+x_26 = l_Lean_Parser_Term_tparser_x21___elambda__1___closed__10;
+x_27 = 1;
+x_28 = l_Lean_Parser_orelseFnCore(x_4, x_26, x_27, x_1, x_2);
+return x_28;
}
}
}
@@ -47410,20 +32278,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_borrowed___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_borrowed___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_borrowed___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_borrowed___elambda__1___closed__8() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_borrowed___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_2 = l_Lean_Parser_leadPrec;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_categoryParser___elambda__1), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -47431,11 +32301,55 @@ static lean_object* _init_l_Lean_Parser_Term_borrowed___elambda__1___closed__9()
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Term_borrowed___elambda__1___closed__7;
x_2 = l_Lean_Parser_Term_borrowed___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_borrowed___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_borrowed___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_borrowed___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_borrowed___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_borrowed___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_borrowed___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_borrowed___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_borrowed___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_borrowed___elambda__1___closed__12;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -47459,91 +32373,35 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_21; lean_object* x_22; lean_object* x_23;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_21 = lean_ctor_get(x_7, 1);
-lean_inc(x_21);
+x_11 = l_Lean_Parser_Term_borrowed___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Term_borrowed___elambda__1___closed__13;
lean_inc(x_1);
-x_22 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_23 = lean_ctor_get(x_22, 3);
-lean_inc(x_23);
-if (lean_obj_tag(x_23) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_24; lean_object* x_25;
-x_24 = lean_ctor_get(x_22, 0);
-lean_inc(x_24);
-x_25 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_24);
-lean_dec(x_24);
-if (lean_obj_tag(x_25) == 2)
-{
-lean_object* x_26; lean_object* x_27; uint8_t x_28;
-x_26 = lean_ctor_get(x_25, 1);
-lean_inc(x_26);
-lean_dec(x_25);
-x_27 = l_Lean_Parser_Term_borrowed___elambda__1___closed__6;
-x_28 = lean_string_dec_eq(x_26, x_27);
-lean_dec(x_26);
-if (x_28 == 0)
-{
-lean_object* x_29; lean_object* x_30;
-x_29 = l_Lean_Parser_Term_borrowed___elambda__1___closed__9;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_29, x_21);
-x_11 = x_30;
-goto block_20;
-}
-else
-{
-lean_dec(x_21);
-x_11 = x_22;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32;
-lean_dec(x_25);
-x_31 = l_Lean_Parser_Term_borrowed___elambda__1___closed__9;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_31, x_21);
-x_11 = x_32;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_33; lean_object* x_34;
-lean_dec(x_23);
-x_33 = l_Lean_Parser_Term_borrowed___elambda__1___closed__9;
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_33, x_21);
-x_11 = x_34;
-goto block_20;
-}
-block_20:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_13 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_14 = l_Lean_Parser_leadPrec;
-x_15 = l_Lean_Parser_categoryParser___elambda__1(x_13, x_14, x_1, x_11);
-x_16 = l_Lean_Parser_Term_borrowed___elambda__1___closed__2;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_10);
-return x_17;
-}
-else
-{
-lean_object* x_18; lean_object* x_19;
-lean_dec(x_12);
-lean_dec(x_1);
+lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
+x_15 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_16 = l_Lean_Parser_leadPrec;
+x_17 = l_Lean_Parser_categoryParser___elambda__1(x_15, x_16, x_1, x_13);
x_18 = l_Lean_Parser_Term_borrowed___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_11, x_18, x_10);
+x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_10);
return x_19;
}
+else
+{
+lean_object* x_20; lean_object* x_21;
+lean_dec(x_14);
+lean_dec(x_1);
+x_20 = l_Lean_Parser_Term_borrowed___elambda__1___closed__2;
+x_21 = l_Lean_Parser_ParserState_mkNode(x_13, x_20, x_10);
+return x_21;
}
}
else
@@ -47555,159 +32413,11 @@ return x_7;
}
else
{
-lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_35 = lean_ctor_get(x_2, 0);
-lean_inc(x_35);
-x_36 = lean_array_get_size(x_35);
-lean_dec(x_35);
-x_37 = lean_ctor_get(x_2, 1);
-lean_inc(x_37);
-lean_inc(x_1);
-x_38 = lean_apply_2(x_4, x_1, x_2);
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_40; lean_object* x_41; uint8_t x_42;
-x_40 = lean_ctor_get(x_39, 0);
-lean_inc(x_40);
-lean_dec(x_39);
-x_41 = lean_ctor_get(x_38, 1);
-lean_inc(x_41);
-x_42 = lean_nat_dec_eq(x_41, x_37);
-lean_dec(x_41);
-if (x_42 == 0)
-{
-lean_dec(x_40);
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46;
-lean_inc(x_37);
-x_43 = l_Lean_Parser_ParserState_restore(x_38, x_36, x_37);
-lean_dec(x_36);
-x_44 = lean_unsigned_to_nat(1024u);
-x_45 = l_Lean_Parser_checkPrecFn(x_44, x_1, x_43);
-x_46 = lean_ctor_get(x_45, 3);
-lean_inc(x_46);
-if (lean_obj_tag(x_46) == 0)
-{
-lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_63; lean_object* x_64; lean_object* x_65;
-x_47 = lean_ctor_get(x_45, 0);
-lean_inc(x_47);
-x_48 = lean_array_get_size(x_47);
-lean_dec(x_47);
-x_63 = lean_ctor_get(x_45, 1);
-lean_inc(x_63);
-lean_inc(x_1);
-x_64 = l_Lean_Parser_tokenFn(x_1, x_45);
-x_65 = lean_ctor_get(x_64, 3);
-lean_inc(x_65);
-if (lean_obj_tag(x_65) == 0)
-{
-lean_object* x_66; lean_object* x_67;
-x_66 = lean_ctor_get(x_64, 0);
-lean_inc(x_66);
-x_67 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_66);
-lean_dec(x_66);
-if (lean_obj_tag(x_67) == 2)
-{
-lean_object* x_68; lean_object* x_69; uint8_t x_70;
-x_68 = lean_ctor_get(x_67, 1);
-lean_inc(x_68);
-lean_dec(x_67);
-x_69 = l_Lean_Parser_Term_borrowed___elambda__1___closed__6;
-x_70 = lean_string_dec_eq(x_68, x_69);
-lean_dec(x_68);
-if (x_70 == 0)
-{
-lean_object* x_71; lean_object* x_72;
-x_71 = l_Lean_Parser_Term_borrowed___elambda__1___closed__9;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_71, x_63);
-x_49 = x_72;
-goto block_62;
-}
-else
-{
-lean_dec(x_63);
-x_49 = x_64;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_73; lean_object* x_74;
-lean_dec(x_67);
-x_73 = l_Lean_Parser_Term_borrowed___elambda__1___closed__9;
-x_74 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_73, x_63);
-x_49 = x_74;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_75; lean_object* x_76;
-lean_dec(x_65);
-x_75 = l_Lean_Parser_Term_borrowed___elambda__1___closed__9;
-x_76 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_75, x_63);
-x_49 = x_76;
-goto block_62;
-}
-block_62:
-{
-lean_object* x_50;
-x_50 = lean_ctor_get(x_49, 3);
-lean_inc(x_50);
-if (lean_obj_tag(x_50) == 0)
-{
-lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; uint8_t x_56; lean_object* x_57;
-x_51 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_52 = l_Lean_Parser_leadPrec;
-x_53 = l_Lean_Parser_categoryParser___elambda__1(x_51, x_52, x_1, x_49);
-x_54 = l_Lean_Parser_Term_borrowed___elambda__1___closed__2;
-x_55 = l_Lean_Parser_ParserState_mkNode(x_53, x_54, x_48);
-x_56 = 1;
-x_57 = l_Lean_Parser_mergeOrElseErrors(x_55, x_40, x_37, x_56);
-lean_dec(x_37);
-return x_57;
-}
-else
-{
-lean_object* x_58; lean_object* x_59; uint8_t x_60; lean_object* x_61;
-lean_dec(x_50);
-lean_dec(x_1);
-x_58 = l_Lean_Parser_Term_borrowed___elambda__1___closed__2;
-x_59 = l_Lean_Parser_ParserState_mkNode(x_49, x_58, x_48);
-x_60 = 1;
-x_61 = l_Lean_Parser_mergeOrElseErrors(x_59, x_40, x_37, x_60);
-lean_dec(x_37);
-return x_61;
-}
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_46);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_45, x_40, x_37, x_77);
-lean_dec(x_37);
-return x_78;
-}
-}
-}
+lean_object* x_22; uint8_t x_23; lean_object* x_24;
+x_22 = l_Lean_Parser_Term_borrowed___elambda__1___closed__11;
+x_23 = 1;
+x_24 = l_Lean_Parser_orelseFnCore(x_4, x_22, x_23, x_1, x_2);
+return x_24;
}
}
}
@@ -48012,6 +32722,30 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Term_quotedName___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_quotedName___elambda__1___closed__2;
+x_2 = l_Lean_Parser_nameLit___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_quotedName___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_quotedName___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Term_quotedName___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -48051,79 +32785,11 @@ return x_7;
}
else
{
-lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
-x_14 = lean_ctor_get(x_2, 0);
-lean_inc(x_14);
-x_15 = lean_array_get_size(x_14);
-lean_dec(x_14);
-x_16 = lean_ctor_get(x_2, 1);
-lean_inc(x_16);
-lean_inc(x_1);
-x_17 = lean_apply_2(x_4, x_1, x_2);
-x_18 = lean_ctor_get(x_17, 3);
-lean_inc(x_18);
-if (lean_obj_tag(x_18) == 0)
-{
-lean_dec(x_16);
-lean_dec(x_15);
-lean_dec(x_1);
-return x_17;
-}
-else
-{
-lean_object* x_19; lean_object* x_20; uint8_t x_21;
-x_19 = lean_ctor_get(x_18, 0);
-lean_inc(x_19);
-lean_dec(x_18);
-x_20 = lean_ctor_get(x_17, 1);
-lean_inc(x_20);
-x_21 = lean_nat_dec_eq(x_20, x_16);
-lean_dec(x_20);
-if (x_21 == 0)
-{
-lean_dec(x_19);
-lean_dec(x_16);
-lean_dec(x_15);
-lean_dec(x_1);
-return x_17;
-}
-else
-{
-lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25;
-lean_inc(x_16);
-x_22 = l_Lean_Parser_ParserState_restore(x_17, x_15, x_16);
-lean_dec(x_15);
-x_23 = lean_unsigned_to_nat(1024u);
-x_24 = l_Lean_Parser_checkPrecFn(x_23, x_1, x_22);
-x_25 = lean_ctor_get(x_24, 3);
-lean_inc(x_25);
-if (lean_obj_tag(x_25) == 0)
-{
-lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31; lean_object* x_32;
-x_26 = lean_ctor_get(x_24, 0);
-lean_inc(x_26);
-x_27 = lean_array_get_size(x_26);
-lean_dec(x_26);
-x_28 = l_Lean_Parser_nameLit___elambda__1(x_1, x_24);
-x_29 = l_Lean_Parser_Term_quotedName___elambda__1___closed__2;
-x_30 = l_Lean_Parser_ParserState_mkNode(x_28, x_29, x_27);
-x_31 = 1;
-x_32 = l_Lean_Parser_mergeOrElseErrors(x_30, x_19, x_16, x_31);
-lean_dec(x_16);
-return x_32;
-}
-else
-{
-uint8_t x_33; lean_object* x_34;
-lean_dec(x_25);
-lean_dec(x_1);
-x_33 = 1;
-x_34 = l_Lean_Parser_mergeOrElseErrors(x_24, x_19, x_16, x_33);
-lean_dec(x_16);
-return x_34;
-}
-}
-}
+lean_object* x_14; uint8_t x_15; lean_object* x_16;
+x_14 = l_Lean_Parser_Term_quotedName___elambda__1___closed__6;
+x_15 = 1;
+x_16 = l_Lean_Parser_orelseFnCore(x_4, x_14, x_15, x_1, x_2);
+return x_16;
}
}
}
@@ -48367,20 +33033,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_match__syntax___elambda__1___closed__6() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_match__syntax___elambda__1___closed__5;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_match__syntax___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_match__syntax___elambda__1___closed__7() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_match__syntax___elambda__1___closed__6;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_2 = l_Lean_Parser_Term_match___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -48388,11 +33056,55 @@ static lean_object* _init_l_Lean_Parser_Term_match__syntax___elambda__1___closed
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Term_match__syntax___elambda__1___closed__6;
x_2 = l_Lean_Parser_Term_match__syntax___elambda__1___closed__7;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_match__syntax___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_match__syntax___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_match__syntax___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_match__syntax___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_byTactic___elambda__1___closed__9;
+x_2 = l_Lean_Parser_Term_match__syntax___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_match__syntax___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_match__syntax___elambda__1___closed__5;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_match__syntax___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_match__syntax___elambda__1___closed__11;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -48400,7 +33112,7 @@ lean_object* l_Lean_Parser_Term_match__syntax___elambda__1(lean_object* x_1, lea
_start:
{
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; uint8_t x_7;
-x_3 = l_Lean_Parser_Term_match___elambda__1___closed__7;
+x_3 = l_Lean_Parser_Term_match___elambda__1___closed__9;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
x_5 = l_Lean_Parser_Term_match__syntax___elambda__1___closed__4;
@@ -48419,178 +33131,78 @@ x_10 = lean_ctor_get(x_9, 3);
lean_inc(x_10);
if (lean_obj_tag(x_10) == 0)
{
-lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_47; lean_object* x_48; lean_object* x_49;
+lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
x_11 = lean_ctor_get(x_9, 0);
lean_inc(x_11);
x_12 = lean_array_get_size(x_11);
lean_dec(x_11);
-x_47 = lean_ctor_get(x_9, 1);
-lean_inc(x_47);
+x_13 = l_Lean_Parser_Term_match__syntax___elambda__1___closed__5;
+x_14 = l_Lean_Parser_Term_match__syntax___elambda__1___closed__12;
lean_inc(x_1);
-x_48 = l_Lean_Parser_tokenFn(x_1, x_9);
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
+x_15 = l_Lean_Parser_symbolFnAux(x_13, x_14, x_1, x_9);
+x_16 = lean_ctor_get(x_15, 3);
+lean_inc(x_16);
+if (lean_obj_tag(x_16) == 0)
{
-lean_object* x_50; lean_object* x_51;
-x_50 = lean_ctor_get(x_48, 0);
-lean_inc(x_50);
-x_51 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_50);
-lean_dec(x_50);
-if (lean_obj_tag(x_51) == 2)
-{
-lean_object* x_52; lean_object* x_53; uint8_t x_54;
-x_52 = lean_ctor_get(x_51, 1);
-lean_inc(x_52);
-lean_dec(x_51);
-x_53 = l_Lean_Parser_Term_match__syntax___elambda__1___closed__5;
-x_54 = lean_string_dec_eq(x_52, x_53);
-lean_dec(x_52);
-if (x_54 == 0)
-{
-lean_object* x_55; lean_object* x_56;
-x_55 = l_Lean_Parser_Term_match__syntax___elambda__1___closed__8;
-x_56 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_55, x_47);
-x_13 = x_56;
-goto block_46;
-}
-else
-{
-lean_dec(x_47);
-x_13 = x_48;
-goto block_46;
-}
-}
-else
-{
-lean_object* x_57; lean_object* x_58;
-lean_dec(x_51);
-x_57 = l_Lean_Parser_Term_match__syntax___elambda__1___closed__8;
-x_58 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_57, x_47);
-x_13 = x_58;
-goto block_46;
-}
-}
-else
-{
-lean_object* x_59; lean_object* x_60;
-lean_dec(x_49);
-x_59 = l_Lean_Parser_Term_match__syntax___elambda__1___closed__8;
-x_60 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_59, x_47);
-x_13 = x_60;
-goto block_46;
-}
-block_46:
-{
-lean_object* x_14;
-x_14 = lean_ctor_get(x_13, 3);
-lean_inc(x_14);
-if (lean_obj_tag(x_14) == 0)
-{
-lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
-x_15 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_16 = lean_unsigned_to_nat(0u);
+lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
+x_17 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_18 = lean_unsigned_to_nat(0u);
lean_inc(x_1);
-x_17 = l_Lean_Parser_categoryParser___elambda__1(x_15, x_16, x_1, x_13);
-x_18 = lean_ctor_get(x_17, 3);
-lean_inc(x_18);
-if (lean_obj_tag(x_18) == 0)
+x_19 = l_Lean_Parser_categoryParser___elambda__1(x_17, x_18, x_1, x_15);
+x_20 = lean_ctor_get(x_19, 3);
+lean_inc(x_20);
+if (lean_obj_tag(x_20) == 0)
{
-lean_object* x_19; lean_object* x_20; lean_object* x_21;
-x_19 = lean_ctor_get(x_17, 1);
-lean_inc(x_19);
+lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
+x_21 = l_Lean_Parser_Term_structInst___elambda__1___closed__4;
+x_22 = l_Lean_Parser_Term_match___elambda__1___closed__19;
lean_inc(x_1);
-x_20 = l_Lean_Parser_tokenFn(x_1, x_17);
-x_21 = lean_ctor_get(x_20, 3);
-lean_inc(x_21);
-if (lean_obj_tag(x_21) == 0)
-{
-lean_object* x_22; lean_object* x_23;
-x_22 = lean_ctor_get(x_20, 0);
-lean_inc(x_22);
-x_23 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_22);
-lean_dec(x_22);
-if (lean_obj_tag(x_23) == 2)
-{
-lean_object* x_24; lean_object* x_25; uint8_t x_26;
-x_24 = lean_ctor_get(x_23, 1);
+x_23 = l_Lean_Parser_symbolFnAux(x_21, x_22, x_1, x_19);
+x_24 = lean_ctor_get(x_23, 3);
lean_inc(x_24);
-lean_dec(x_23);
-x_25 = l_Lean_Parser_Term_structInst___elambda__1___closed__4;
-x_26 = lean_string_dec_eq(x_24, x_25);
+if (lean_obj_tag(x_24) == 0)
+{
+lean_object* x_25; lean_object* x_26; lean_object* x_27;
+x_25 = lean_apply_2(x_4, x_1, x_23);
+x_26 = l_Lean_Parser_Term_match__syntax___elambda__1___closed__2;
+x_27 = l_Lean_Parser_ParserState_mkNode(x_25, x_26, x_12);
+return x_27;
+}
+else
+{
+lean_object* x_28; lean_object* x_29;
lean_dec(x_24);
-if (x_26 == 0)
-{
-lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30;
lean_dec(x_4);
lean_dec(x_1);
-x_27 = l_Lean_Parser_Term_structInst___elambda__1___closed__16;
-x_28 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_27, x_19);
-x_29 = l_Lean_Parser_Term_match__syntax___elambda__1___closed__2;
-x_30 = l_Lean_Parser_ParserState_mkNode(x_28, x_29, x_12);
-return x_30;
+x_28 = l_Lean_Parser_Term_match__syntax___elambda__1___closed__2;
+x_29 = l_Lean_Parser_ParserState_mkNode(x_23, x_28, x_12);
+return x_29;
+}
}
else
{
-lean_object* x_31; lean_object* x_32; lean_object* x_33;
-lean_dec(x_19);
-x_31 = lean_apply_2(x_4, x_1, x_20);
+lean_object* x_30; lean_object* x_31;
+lean_dec(x_20);
+lean_dec(x_4);
+lean_dec(x_1);
+x_30 = l_Lean_Parser_Term_match__syntax___elambda__1___closed__2;
+x_31 = l_Lean_Parser_ParserState_mkNode(x_19, x_30, x_12);
+return x_31;
+}
+}
+else
+{
+lean_object* x_32; lean_object* x_33;
+lean_dec(x_16);
+lean_dec(x_4);
+lean_dec(x_1);
x_32 = l_Lean_Parser_Term_match__syntax___elambda__1___closed__2;
-x_33 = l_Lean_Parser_ParserState_mkNode(x_31, x_32, x_12);
+x_33 = l_Lean_Parser_ParserState_mkNode(x_15, x_32, x_12);
return x_33;
}
}
else
{
-lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-lean_dec(x_23);
-lean_dec(x_4);
-lean_dec(x_1);
-x_34 = l_Lean_Parser_Term_structInst___elambda__1___closed__16;
-x_35 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_34, x_19);
-x_36 = l_Lean_Parser_Term_match__syntax___elambda__1___closed__2;
-x_37 = l_Lean_Parser_ParserState_mkNode(x_35, x_36, x_12);
-return x_37;
-}
-}
-else
-{
-lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41;
-lean_dec(x_21);
-lean_dec(x_4);
-lean_dec(x_1);
-x_38 = l_Lean_Parser_Term_structInst___elambda__1___closed__16;
-x_39 = l_Lean_Parser_ParserState_mkErrorsAt(x_20, x_38, x_19);
-x_40 = l_Lean_Parser_Term_match__syntax___elambda__1___closed__2;
-x_41 = l_Lean_Parser_ParserState_mkNode(x_39, x_40, x_12);
-return x_41;
-}
-}
-else
-{
-lean_object* x_42; lean_object* x_43;
-lean_dec(x_18);
-lean_dec(x_4);
-lean_dec(x_1);
-x_42 = l_Lean_Parser_Term_match__syntax___elambda__1___closed__2;
-x_43 = l_Lean_Parser_ParserState_mkNode(x_17, x_42, x_12);
-return x_43;
-}
-}
-else
-{
-lean_object* x_44; lean_object* x_45;
-lean_dec(x_14);
-lean_dec(x_4);
-lean_dec(x_1);
-x_44 = l_Lean_Parser_Term_match__syntax___elambda__1___closed__2;
-x_45 = l_Lean_Parser_ParserState_mkNode(x_13, x_44, x_12);
-return x_45;
-}
-}
-}
-else
-{
lean_dec(x_10);
lean_dec(x_4);
lean_dec(x_1);
@@ -48599,257 +33211,12 @@ return x_9;
}
else
{
-lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65;
-x_61 = lean_ctor_get(x_2, 0);
-lean_inc(x_61);
-x_62 = lean_array_get_size(x_61);
-lean_dec(x_61);
-x_63 = lean_ctor_get(x_2, 1);
-lean_inc(x_63);
-lean_inc(x_1);
-x_64 = lean_apply_2(x_6, x_1, x_2);
-x_65 = lean_ctor_get(x_64, 3);
-lean_inc(x_65);
-if (lean_obj_tag(x_65) == 0)
-{
-lean_dec(x_63);
-lean_dec(x_62);
+lean_object* x_34; uint8_t x_35; lean_object* x_36;
lean_dec(x_4);
-lean_dec(x_1);
-return x_64;
-}
-else
-{
-lean_object* x_66; lean_object* x_67; uint8_t x_68;
-x_66 = lean_ctor_get(x_65, 0);
-lean_inc(x_66);
-lean_dec(x_65);
-x_67 = lean_ctor_get(x_64, 1);
-lean_inc(x_67);
-x_68 = lean_nat_dec_eq(x_67, x_63);
-lean_dec(x_67);
-if (x_68 == 0)
-{
-lean_dec(x_66);
-lean_dec(x_63);
-lean_dec(x_62);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_64;
-}
-else
-{
-lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72;
-lean_inc(x_63);
-x_69 = l_Lean_Parser_ParserState_restore(x_64, x_62, x_63);
-lean_dec(x_62);
-x_70 = l_Lean_Parser_leadPrec;
-x_71 = l_Lean_Parser_checkPrecFn(x_70, x_1, x_69);
-x_72 = lean_ctor_get(x_71, 3);
-lean_inc(x_72);
-if (lean_obj_tag(x_72) == 0)
-{
-lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_121; lean_object* x_122; lean_object* x_123;
-x_73 = lean_ctor_get(x_71, 0);
-lean_inc(x_73);
-x_74 = lean_array_get_size(x_73);
-lean_dec(x_73);
-x_121 = lean_ctor_get(x_71, 1);
-lean_inc(x_121);
-lean_inc(x_1);
-x_122 = l_Lean_Parser_tokenFn(x_1, x_71);
-x_123 = lean_ctor_get(x_122, 3);
-lean_inc(x_123);
-if (lean_obj_tag(x_123) == 0)
-{
-lean_object* x_124; lean_object* x_125;
-x_124 = lean_ctor_get(x_122, 0);
-lean_inc(x_124);
-x_125 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_124);
-lean_dec(x_124);
-if (lean_obj_tag(x_125) == 2)
-{
-lean_object* x_126; lean_object* x_127; uint8_t x_128;
-x_126 = lean_ctor_get(x_125, 1);
-lean_inc(x_126);
-lean_dec(x_125);
-x_127 = l_Lean_Parser_Term_match__syntax___elambda__1___closed__5;
-x_128 = lean_string_dec_eq(x_126, x_127);
-lean_dec(x_126);
-if (x_128 == 0)
-{
-lean_object* x_129; lean_object* x_130;
-x_129 = l_Lean_Parser_Term_match__syntax___elambda__1___closed__8;
-x_130 = l_Lean_Parser_ParserState_mkErrorsAt(x_122, x_129, x_121);
-x_75 = x_130;
-goto block_120;
-}
-else
-{
-lean_dec(x_121);
-x_75 = x_122;
-goto block_120;
-}
-}
-else
-{
-lean_object* x_131; lean_object* x_132;
-lean_dec(x_125);
-x_131 = l_Lean_Parser_Term_match__syntax___elambda__1___closed__8;
-x_132 = l_Lean_Parser_ParserState_mkErrorsAt(x_122, x_131, x_121);
-x_75 = x_132;
-goto block_120;
-}
-}
-else
-{
-lean_object* x_133; lean_object* x_134;
-lean_dec(x_123);
-x_133 = l_Lean_Parser_Term_match__syntax___elambda__1___closed__8;
-x_134 = l_Lean_Parser_ParserState_mkErrorsAt(x_122, x_133, x_121);
-x_75 = x_134;
-goto block_120;
-}
-block_120:
-{
-lean_object* x_76;
-x_76 = lean_ctor_get(x_75, 3);
-lean_inc(x_76);
-if (lean_obj_tag(x_76) == 0)
-{
-lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80;
-x_77 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_78 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_79 = l_Lean_Parser_categoryParser___elambda__1(x_77, x_78, x_1, x_75);
-x_80 = lean_ctor_get(x_79, 3);
-lean_inc(x_80);
-if (lean_obj_tag(x_80) == 0)
-{
-lean_object* x_81; lean_object* x_82; lean_object* x_83;
-x_81 = lean_ctor_get(x_79, 1);
-lean_inc(x_81);
-lean_inc(x_1);
-x_82 = l_Lean_Parser_tokenFn(x_1, x_79);
-x_83 = lean_ctor_get(x_82, 3);
-lean_inc(x_83);
-if (lean_obj_tag(x_83) == 0)
-{
-lean_object* x_84; lean_object* x_85;
-x_84 = lean_ctor_get(x_82, 0);
-lean_inc(x_84);
-x_85 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_84);
-lean_dec(x_84);
-if (lean_obj_tag(x_85) == 2)
-{
-lean_object* x_86; lean_object* x_87; uint8_t x_88;
-x_86 = lean_ctor_get(x_85, 1);
-lean_inc(x_86);
-lean_dec(x_85);
-x_87 = l_Lean_Parser_Term_structInst___elambda__1___closed__4;
-x_88 = lean_string_dec_eq(x_86, x_87);
-lean_dec(x_86);
-if (x_88 == 0)
-{
-lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; uint8_t x_93; lean_object* x_94;
-lean_dec(x_4);
-lean_dec(x_1);
-x_89 = l_Lean_Parser_Term_structInst___elambda__1___closed__16;
-x_90 = l_Lean_Parser_ParserState_mkErrorsAt(x_82, x_89, x_81);
-x_91 = l_Lean_Parser_Term_match__syntax___elambda__1___closed__2;
-x_92 = l_Lean_Parser_ParserState_mkNode(x_90, x_91, x_74);
-x_93 = 1;
-x_94 = l_Lean_Parser_mergeOrElseErrors(x_92, x_66, x_63, x_93);
-lean_dec(x_63);
-return x_94;
-}
-else
-{
-lean_object* x_95; lean_object* x_96; lean_object* x_97; uint8_t x_98; lean_object* x_99;
-lean_dec(x_81);
-x_95 = lean_apply_2(x_4, x_1, x_82);
-x_96 = l_Lean_Parser_Term_match__syntax___elambda__1___closed__2;
-x_97 = l_Lean_Parser_ParserState_mkNode(x_95, x_96, x_74);
-x_98 = 1;
-x_99 = l_Lean_Parser_mergeOrElseErrors(x_97, x_66, x_63, x_98);
-lean_dec(x_63);
-return x_99;
-}
-}
-else
-{
-lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; uint8_t x_104; lean_object* x_105;
-lean_dec(x_85);
-lean_dec(x_4);
-lean_dec(x_1);
-x_100 = l_Lean_Parser_Term_structInst___elambda__1___closed__16;
-x_101 = l_Lean_Parser_ParserState_mkErrorsAt(x_82, x_100, x_81);
-x_102 = l_Lean_Parser_Term_match__syntax___elambda__1___closed__2;
-x_103 = l_Lean_Parser_ParserState_mkNode(x_101, x_102, x_74);
-x_104 = 1;
-x_105 = l_Lean_Parser_mergeOrElseErrors(x_103, x_66, x_63, x_104);
-lean_dec(x_63);
-return x_105;
-}
-}
-else
-{
-lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; uint8_t x_110; lean_object* x_111;
-lean_dec(x_83);
-lean_dec(x_4);
-lean_dec(x_1);
-x_106 = l_Lean_Parser_Term_structInst___elambda__1___closed__16;
-x_107 = l_Lean_Parser_ParserState_mkErrorsAt(x_82, x_106, x_81);
-x_108 = l_Lean_Parser_Term_match__syntax___elambda__1___closed__2;
-x_109 = l_Lean_Parser_ParserState_mkNode(x_107, x_108, x_74);
-x_110 = 1;
-x_111 = l_Lean_Parser_mergeOrElseErrors(x_109, x_66, x_63, x_110);
-lean_dec(x_63);
-return x_111;
-}
-}
-else
-{
-lean_object* x_112; lean_object* x_113; uint8_t x_114; lean_object* x_115;
-lean_dec(x_80);
-lean_dec(x_4);
-lean_dec(x_1);
-x_112 = l_Lean_Parser_Term_match__syntax___elambda__1___closed__2;
-x_113 = l_Lean_Parser_ParserState_mkNode(x_79, x_112, x_74);
-x_114 = 1;
-x_115 = l_Lean_Parser_mergeOrElseErrors(x_113, x_66, x_63, x_114);
-lean_dec(x_63);
-return x_115;
-}
-}
-else
-{
-lean_object* x_116; lean_object* x_117; uint8_t x_118; lean_object* x_119;
-lean_dec(x_76);
-lean_dec(x_4);
-lean_dec(x_1);
-x_116 = l_Lean_Parser_Term_match__syntax___elambda__1___closed__2;
-x_117 = l_Lean_Parser_ParserState_mkNode(x_75, x_116, x_74);
-x_118 = 1;
-x_119 = l_Lean_Parser_mergeOrElseErrors(x_117, x_66, x_63, x_118);
-lean_dec(x_63);
-return x_119;
-}
-}
-}
-else
-{
-uint8_t x_135; lean_object* x_136;
-lean_dec(x_72);
-lean_dec(x_4);
-lean_dec(x_1);
-x_135 = 1;
-x_136 = l_Lean_Parser_mergeOrElseErrors(x_71, x_66, x_63, x_135);
-lean_dec(x_63);
-return x_136;
-}
-}
-}
+x_34 = l_Lean_Parser_Term_match__syntax___elambda__1___closed__10;
+x_35 = 1;
+x_36 = l_Lean_Parser_orelseFnCore(x_6, x_34, x_35, x_1, x_2);
+return x_36;
}
}
}
@@ -49129,101 +33496,21 @@ x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1);
return x_5;
}
}
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_letIdLhs___elambda__1___spec__1(lean_object* x_1, lean_object* x_2) {
+static lean_object* _init_l_Lean_Parser_Term_letIdLhs___elambda__1___closed__1() {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_3 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_forall___elambda__1___spec__1___closed__1;
-x_4 = lean_ctor_get(x_3, 1);
-lean_inc(x_4);
-x_5 = lean_ctor_get(x_2, 0);
-lean_inc(x_5);
-x_6 = lean_array_get_size(x_5);
-lean_dec(x_5);
-x_7 = lean_ctor_get(x_2, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
-{
-lean_object* x_8; lean_object* x_9; lean_object* x_10;
-x_8 = lean_ctor_get(x_2, 1);
-lean_inc(x_8);
-lean_inc(x_1);
-x_9 = lean_apply_2(x_4, x_1, x_2);
-x_10 = lean_ctor_get(x_9, 3);
-lean_inc(x_10);
-if (lean_obj_tag(x_10) == 0)
-{
-lean_object* x_11; uint8_t x_12;
-lean_dec(x_6);
-x_11 = lean_ctor_get(x_9, 1);
-lean_inc(x_11);
-x_12 = lean_nat_dec_eq(x_8, x_11);
-lean_dec(x_11);
-lean_dec(x_8);
-if (x_12 == 0)
-{
-x_2 = x_9;
-goto _start;
-}
-else
-{
-lean_object* x_14; lean_object* x_15;
-lean_dec(x_1);
-x_14 = l_Lean_Parser_manyAux___main___closed__1;
-x_15 = l_Lean_Parser_ParserState_mkUnexpectedError(x_9, x_14);
-return x_15;
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
+x_1 = l_Lean_Parser_Term_forall___elambda__1___closed__9;
+x_2 = lean_ctor_get(x_1, 1);
+lean_inc(x_2);
+x_3 = l_Lean_Parser_Parser_inhabited___closed__2;
+x_4 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_4, 0, x_3);
+lean_closure_set(x_4, 1, x_2);
+return x_4;
}
}
-else
-{
-lean_object* x_16; uint8_t x_17;
-lean_dec(x_10);
-lean_dec(x_1);
-x_16 = lean_ctor_get(x_9, 1);
-lean_inc(x_16);
-x_17 = lean_nat_dec_eq(x_8, x_16);
-lean_dec(x_16);
-if (x_17 == 0)
-{
-lean_dec(x_8);
-lean_dec(x_6);
-return x_9;
-}
-else
-{
-lean_object* x_18;
-x_18 = l_Lean_Parser_ParserState_restore(x_9, x_6, x_8);
-lean_dec(x_6);
-return x_18;
-}
-}
-}
-else
-{
-lean_object* x_19; uint8_t x_20;
-lean_dec(x_7);
-lean_dec(x_4);
-lean_dec(x_1);
-x_19 = lean_ctor_get(x_2, 1);
-lean_inc(x_19);
-x_20 = lean_nat_dec_eq(x_19, x_19);
-if (x_20 == 0)
-{
-lean_dec(x_19);
-lean_dec(x_6);
-return x_2;
-}
-else
-{
-lean_object* x_21;
-x_21 = l_Lean_Parser_ParserState_restore(x_2, x_6, x_19);
-lean_dec(x_6);
-return x_21;
-}
-}
-}
-}
-static lean_object* _init_l_Lean_Parser_Term_letIdLhs___elambda__1___closed__1() {
+static lean_object* _init_l_Lean_Parser_Term_letIdLhs___elambda__1___closed__2() {
_start:
{
lean_object* x_1;
@@ -49242,34 +33529,36 @@ lean_inc(x_4);
if (lean_obj_tag(x_4) == 0)
{
lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_5 = l_Lean_Parser_Term_letIdLhs___elambda__1___closed__1;
+x_5 = l_Lean_Parser_Term_letIdLhs___elambda__1___closed__2;
x_6 = l_Lean_Parser_checkWsBeforeFn(x_5, x_1, x_3);
x_7 = lean_ctor_get(x_6, 3);
lean_inc(x_7);
if (lean_obj_tag(x_7) == 0)
{
-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_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;
x_8 = lean_ctor_get(x_6, 0);
lean_inc(x_8);
x_9 = lean_array_get_size(x_8);
lean_dec(x_8);
+x_10 = l_Lean_Parser_Term_letIdLhs___elambda__1___closed__1;
lean_inc(x_1);
-x_10 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_letIdLhs___elambda__1___spec__1(x_1, x_6);
-x_11 = l_Lean_nullKind;
-x_12 = l_Lean_Parser_ParserState_mkNode(x_10, x_11, x_9);
-x_13 = lean_ctor_get(x_12, 3);
-lean_inc(x_13);
-if (lean_obj_tag(x_13) == 0)
+x_11 = l_Lean_Parser_manyAux(x_10, x_1, x_6);
+x_12 = l_Lean_nullKind;
+x_13 = l_Lean_Parser_ParserState_mkNode(x_11, x_12, x_9);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_14;
-x_14 = l_Lean_Parser_Term_optType___elambda__1(x_1, x_12);
-return x_14;
+lean_object* x_15; lean_object* x_16;
+x_15 = l_Lean_Parser_Term_typeSpec___closed__4;
+x_16 = l_Lean_Parser_optionalFn(x_15, x_1, x_13);
+return x_16;
}
else
{
-lean_dec(x_13);
+lean_dec(x_14);
lean_dec(x_1);
-return x_12;
+return x_13;
}
}
else
@@ -49291,7 +33580,7 @@ static lean_object* _init_l_Lean_Parser_Term_letIdLhs___closed__1() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
-x_1 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_forall___elambda__1___spec__1___closed__1;
+x_1 = l_Lean_Parser_Term_forall___elambda__1___closed__9;
x_2 = lean_ctor_get(x_1, 0);
lean_inc(x_2);
x_3 = l_Lean_Parser_epsilonInfo;
@@ -49370,178 +33659,49 @@ x_1 = l_Lean_Parser_Term_letIdLhs___closed__7;
return x_1;
}
}
+static lean_object* _init_l_Lean_Parser_Term_letIdDecl___elambda__1___closed__1() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_letIdLhs___closed__6;
+x_2 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Term_letIdDecl___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-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_23; lean_object* x_24;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
x_3 = lean_ctor_get(x_2, 0);
lean_inc(x_3);
-x_4 = lean_ctor_get(x_2, 1);
-lean_inc(x_4);
-x_5 = lean_array_get_size(x_3);
+x_4 = lean_array_get_size(x_3);
lean_dec(x_3);
+x_5 = l_Lean_Parser_Term_letIdDecl___elambda__1___closed__1;
lean_inc(x_1);
-x_23 = l_Lean_Parser_Term_letIdLhs___elambda__1(x_1, x_2);
-x_24 = lean_ctor_get(x_23, 3);
-lean_inc(x_24);
-if (lean_obj_tag(x_24) == 0)
+x_6 = l_Lean_Parser_tryFn(x_5, x_1, x_2);
+x_7 = lean_ctor_get(x_6, 3);
+lean_inc(x_7);
+if (lean_obj_tag(x_7) == 0)
{
-lean_object* x_25; lean_object* x_26; lean_object* x_27;
-x_25 = lean_ctor_get(x_23, 1);
-lean_inc(x_25);
-lean_inc(x_1);
-x_26 = l_Lean_Parser_tokenFn(x_1, x_23);
-x_27 = lean_ctor_get(x_26, 3);
-lean_inc(x_27);
-if (lean_obj_tag(x_27) == 0)
-{
-lean_object* x_28; lean_object* x_29;
-x_28 = lean_ctor_get(x_26, 0);
-lean_inc(x_28);
-x_29 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_28);
-lean_dec(x_28);
-if (lean_obj_tag(x_29) == 2)
-{
-lean_object* x_30; lean_object* x_31; uint8_t x_32;
-x_30 = lean_ctor_get(x_29, 1);
-lean_inc(x_30);
-lean_dec(x_29);
-x_31 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__5;
-x_32 = lean_string_dec_eq(x_30, x_31);
-lean_dec(x_30);
-if (x_32 == 0)
-{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_33 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_26, x_33, x_25);
-x_35 = lean_ctor_get(x_34, 0);
-lean_inc(x_35);
-x_36 = lean_ctor_get(x_34, 2);
-lean_inc(x_36);
-x_37 = lean_ctor_get(x_34, 3);
-lean_inc(x_37);
-x_6 = x_34;
-x_7 = x_35;
-x_8 = x_36;
-x_9 = x_37;
-goto block_22;
+lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12;
+x_8 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_9 = lean_unsigned_to_nat(0u);
+x_10 = l_Lean_Parser_categoryParser___elambda__1(x_8, x_9, x_1, x_6);
+x_11 = l_Array_myMacro____x40_Init_Data_Array_Macros___hyg_464____closed__8;
+x_12 = l_Lean_Parser_ParserState_mkNode(x_10, x_11, x_4);
+return x_12;
}
else
{
-lean_object* x_38; lean_object* x_39; lean_object* x_40;
-lean_dec(x_25);
-x_38 = lean_ctor_get(x_26, 0);
-lean_inc(x_38);
-x_39 = lean_ctor_get(x_26, 2);
-lean_inc(x_39);
-x_40 = lean_ctor_get(x_26, 3);
-lean_inc(x_40);
-x_6 = x_26;
-x_7 = x_38;
-x_8 = x_39;
-x_9 = x_40;
-goto block_22;
-}
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45;
-lean_dec(x_29);
-x_41 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-x_42 = l_Lean_Parser_ParserState_mkErrorsAt(x_26, x_41, x_25);
-x_43 = lean_ctor_get(x_42, 0);
-lean_inc(x_43);
-x_44 = lean_ctor_get(x_42, 2);
-lean_inc(x_44);
-x_45 = lean_ctor_get(x_42, 3);
-lean_inc(x_45);
-x_6 = x_42;
-x_7 = x_43;
-x_8 = x_44;
-x_9 = x_45;
-goto block_22;
-}
-}
-else
-{
-lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50;
-lean_dec(x_27);
-x_46 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-x_47 = l_Lean_Parser_ParserState_mkErrorsAt(x_26, x_46, x_25);
-x_48 = lean_ctor_get(x_47, 0);
-lean_inc(x_48);
-x_49 = lean_ctor_get(x_47, 2);
-lean_inc(x_49);
-x_50 = lean_ctor_get(x_47, 3);
-lean_inc(x_50);
-x_6 = x_47;
-x_7 = x_48;
-x_8 = x_49;
-x_9 = x_50;
-goto block_22;
-}
-}
-else
-{
-lean_object* x_51; lean_object* x_52; lean_object* x_53;
-lean_dec(x_24);
-x_51 = lean_ctor_get(x_23, 0);
-lean_inc(x_51);
-x_52 = lean_ctor_get(x_23, 2);
-lean_inc(x_52);
-x_53 = lean_ctor_get(x_23, 3);
-lean_inc(x_53);
-x_6 = x_23;
-x_7 = x_51;
-x_8 = x_52;
-x_9 = x_53;
-goto block_22;
-}
-block_22:
-{
-if (lean_obj_tag(x_9) == 0)
-{
-lean_object* x_10;
-lean_dec(x_8);
+lean_object* x_13; lean_object* x_14;
lean_dec(x_7);
-lean_dec(x_4);
-x_10 = lean_ctor_get(x_6, 3);
-lean_inc(x_10);
-if (lean_obj_tag(x_10) == 0)
-{
-lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15;
-x_11 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_12 = lean_unsigned_to_nat(0u);
-x_13 = l_Lean_Parser_categoryParser___elambda__1(x_11, x_12, x_1, x_6);
-x_14 = l_Array_myMacro____x40_Init_Data_Array_Macros___hyg_464____closed__8;
-x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_5);
-return x_15;
-}
-else
-{
-lean_object* x_16; lean_object* x_17;
-lean_dec(x_10);
lean_dec(x_1);
-x_16 = l_Array_myMacro____x40_Init_Data_Array_Macros___hyg_464____closed__8;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_6, x_16, x_5);
-return x_17;
-}
-}
-else
-{
-lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
-lean_dec(x_6);
-lean_dec(x_1);
-x_18 = l_Array_shrink___main___rarg(x_7, x_5);
-x_19 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_19, 0, x_18);
-lean_ctor_set(x_19, 1, x_4);
-lean_ctor_set(x_19, 2, x_8);
-lean_ctor_set(x_19, 3, x_9);
-x_20 = l_Array_myMacro____x40_Init_Data_Array_Macros___hyg_464____closed__8;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_5);
-return x_21;
-}
+x_13 = l_Array_myMacro____x40_Init_Data_Array_Macros___hyg_464____closed__8;
+x_14 = l_Lean_Parser_ParserState_mkNode(x_6, x_13, x_4);
+return x_14;
}
}
}
@@ -49625,227 +33785,73 @@ x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
}
}
+static lean_object* _init_l_Lean_Parser_Term_letPatDecl___elambda__1___closed__3() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_optType___closed__2;
+x_2 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_letPatDecl___elambda__1___closed__4() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_pushNone___closed__1;
+x_2 = l_Lean_Parser_Term_letPatDecl___elambda__1___closed__3;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_letPatDecl___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_2 = l_Lean_Parser_Term_letPatDecl___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Term_letPatDecl___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-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_23; lean_object* x_24; lean_object* x_25; lean_object* x_26;
+lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
x_3 = lean_ctor_get(x_2, 0);
lean_inc(x_3);
-x_4 = lean_ctor_get(x_2, 1);
-lean_inc(x_4);
-x_5 = lean_array_get_size(x_3);
+x_4 = lean_array_get_size(x_3);
lean_dec(x_3);
-x_23 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_24 = lean_unsigned_to_nat(0u);
+x_5 = l_Lean_Parser_Term_letPatDecl___elambda__1___closed__5;
lean_inc(x_1);
-x_25 = l_Lean_Parser_categoryParser___elambda__1(x_23, x_24, x_1, x_2);
-x_26 = lean_ctor_get(x_25, 3);
-lean_inc(x_26);
-if (lean_obj_tag(x_26) == 0)
+x_6 = l_Lean_Parser_tryFn(x_5, x_1, x_2);
+x_7 = lean_ctor_get(x_6, 3);
+lean_inc(x_7);
+if (lean_obj_tag(x_7) == 0)
{
-lean_object* x_27; lean_object* x_28;
-x_27 = l_Lean_Parser_pushNone___elambda__1___rarg(x_25);
-x_28 = lean_ctor_get(x_27, 3);
-lean_inc(x_28);
-if (lean_obj_tag(x_28) == 0)
-{
-lean_object* x_29; lean_object* x_30;
-lean_inc(x_1);
-x_29 = l_Lean_Parser_Term_optType___elambda__1(x_1, x_27);
-x_30 = lean_ctor_get(x_29, 3);
-lean_inc(x_30);
-if (lean_obj_tag(x_30) == 0)
-{
-lean_object* x_31; lean_object* x_32; lean_object* x_33;
-x_31 = lean_ctor_get(x_29, 1);
-lean_inc(x_31);
-lean_inc(x_1);
-x_32 = l_Lean_Parser_tokenFn(x_1, x_29);
-x_33 = lean_ctor_get(x_32, 3);
-lean_inc(x_33);
-if (lean_obj_tag(x_33) == 0)
-{
-lean_object* x_34; lean_object* x_35;
-x_34 = lean_ctor_get(x_32, 0);
-lean_inc(x_34);
-x_35 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_34);
-lean_dec(x_34);
-if (lean_obj_tag(x_35) == 2)
-{
-lean_object* x_36; lean_object* x_37; uint8_t x_38;
-x_36 = lean_ctor_get(x_35, 1);
-lean_inc(x_36);
-lean_dec(x_35);
-x_37 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__5;
-x_38 = lean_string_dec_eq(x_36, x_37);
-lean_dec(x_36);
-if (x_38 == 0)
-{
-lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43;
-x_39 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-x_40 = l_Lean_Parser_ParserState_mkErrorsAt(x_32, x_39, x_31);
-x_41 = lean_ctor_get(x_40, 0);
-lean_inc(x_41);
-x_42 = lean_ctor_get(x_40, 2);
-lean_inc(x_42);
-x_43 = lean_ctor_get(x_40, 3);
-lean_inc(x_43);
-x_6 = x_40;
-x_7 = x_41;
-x_8 = x_42;
-x_9 = x_43;
-goto block_22;
+lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12;
+x_8 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_9 = lean_unsigned_to_nat(0u);
+x_10 = l_Lean_Parser_categoryParser___elambda__1(x_8, x_9, x_1, x_6);
+x_11 = l_Lean_Parser_Term_letPatDecl___elambda__1___closed__2;
+x_12 = l_Lean_Parser_ParserState_mkNode(x_10, x_11, x_4);
+return x_12;
}
else
{
-lean_object* x_44; lean_object* x_45; lean_object* x_46;
-lean_dec(x_31);
-x_44 = lean_ctor_get(x_32, 0);
-lean_inc(x_44);
-x_45 = lean_ctor_get(x_32, 2);
-lean_inc(x_45);
-x_46 = lean_ctor_get(x_32, 3);
-lean_inc(x_46);
-x_6 = x_32;
-x_7 = x_44;
-x_8 = x_45;
-x_9 = x_46;
-goto block_22;
-}
-}
-else
-{
-lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51;
-lean_dec(x_35);
-x_47 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-x_48 = l_Lean_Parser_ParserState_mkErrorsAt(x_32, x_47, x_31);
-x_49 = lean_ctor_get(x_48, 0);
-lean_inc(x_49);
-x_50 = lean_ctor_get(x_48, 2);
-lean_inc(x_50);
-x_51 = lean_ctor_get(x_48, 3);
-lean_inc(x_51);
-x_6 = x_48;
-x_7 = x_49;
-x_8 = x_50;
-x_9 = x_51;
-goto block_22;
-}
-}
-else
-{
-lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56;
-lean_dec(x_33);
-x_52 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-x_53 = l_Lean_Parser_ParserState_mkErrorsAt(x_32, x_52, x_31);
-x_54 = lean_ctor_get(x_53, 0);
-lean_inc(x_54);
-x_55 = lean_ctor_get(x_53, 2);
-lean_inc(x_55);
-x_56 = lean_ctor_get(x_53, 3);
-lean_inc(x_56);
-x_6 = x_53;
-x_7 = x_54;
-x_8 = x_55;
-x_9 = x_56;
-goto block_22;
-}
-}
-else
-{
-lean_object* x_57; lean_object* x_58; lean_object* x_59;
-lean_dec(x_30);
-x_57 = lean_ctor_get(x_29, 0);
-lean_inc(x_57);
-x_58 = lean_ctor_get(x_29, 2);
-lean_inc(x_58);
-x_59 = lean_ctor_get(x_29, 3);
-lean_inc(x_59);
-x_6 = x_29;
-x_7 = x_57;
-x_8 = x_58;
-x_9 = x_59;
-goto block_22;
-}
-}
-else
-{
-lean_object* x_60; lean_object* x_61; lean_object* x_62;
-lean_dec(x_28);
-x_60 = lean_ctor_get(x_27, 0);
-lean_inc(x_60);
-x_61 = lean_ctor_get(x_27, 2);
-lean_inc(x_61);
-x_62 = lean_ctor_get(x_27, 3);
-lean_inc(x_62);
-x_6 = x_27;
-x_7 = x_60;
-x_8 = x_61;
-x_9 = x_62;
-goto block_22;
-}
-}
-else
-{
-lean_object* x_63; lean_object* x_64; lean_object* x_65;
-lean_dec(x_26);
-x_63 = lean_ctor_get(x_25, 0);
-lean_inc(x_63);
-x_64 = lean_ctor_get(x_25, 2);
-lean_inc(x_64);
-x_65 = lean_ctor_get(x_25, 3);
-lean_inc(x_65);
-x_6 = x_25;
-x_7 = x_63;
-x_8 = x_64;
-x_9 = x_65;
-goto block_22;
-}
-block_22:
-{
-if (lean_obj_tag(x_9) == 0)
-{
-lean_object* x_10;
-lean_dec(x_8);
+lean_object* x_13; lean_object* x_14;
lean_dec(x_7);
-lean_dec(x_4);
-x_10 = lean_ctor_get(x_6, 3);
-lean_inc(x_10);
-if (lean_obj_tag(x_10) == 0)
-{
-lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15;
-x_11 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_12 = lean_unsigned_to_nat(0u);
-x_13 = l_Lean_Parser_categoryParser___elambda__1(x_11, x_12, x_1, x_6);
-x_14 = l_Lean_Parser_Term_letPatDecl___elambda__1___closed__2;
-x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_5);
-return x_15;
-}
-else
-{
-lean_object* x_16; lean_object* x_17;
-lean_dec(x_10);
lean_dec(x_1);
-x_16 = l_Lean_Parser_Term_letPatDecl___elambda__1___closed__2;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_6, x_16, x_5);
-return x_17;
-}
-}
-else
-{
-lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
-lean_dec(x_6);
-lean_dec(x_1);
-x_18 = l_Array_shrink___main___rarg(x_7, x_5);
-x_19 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_19, 0, x_18);
-lean_ctor_set(x_19, 1, x_4);
-lean_ctor_set(x_19, 2, x_8);
-lean_ctor_set(x_19, 3, x_9);
-x_20 = l_Lean_Parser_Term_letPatDecl___elambda__1___closed__2;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_5);
-return x_21;
-}
+x_13 = l_Lean_Parser_Term_letPatDecl___elambda__1___closed__2;
+x_14 = l_Lean_Parser_ParserState_mkNode(x_6, x_13, x_4);
+return x_14;
}
}
}
@@ -49957,7 +33963,7 @@ lean_object* l_Lean_Parser_Term_letEqnsDecl___elambda__1(lean_object* x_1, lean_
_start:
{
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8;
-x_3 = l_Lean_Parser_Term_fun___elambda__1___closed__6;
+x_3 = l_Lean_Parser_Term_fun___elambda__1___closed__10;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
x_5 = lean_ctor_get(x_2, 0);
@@ -49995,7 +34001,7 @@ lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_obj
x_1 = l_Lean_Parser_Term_letIdLhs;
x_2 = lean_ctor_get(x_1, 0);
lean_inc(x_2);
-x_3 = l_Lean_Parser_Term_fun___elambda__1___closed__6;
+x_3 = l_Lean_Parser_Term_fun___elambda__1___closed__10;
x_4 = lean_ctor_get(x_3, 0);
lean_inc(x_4);
x_5 = l_Lean_Parser_andthenInfo(x_2, x_4);
@@ -50174,6 +34180,166 @@ x_1 = l_Lean_Parser_Term_letDecl___closed__11;
return x_1;
}
}
+lean_object* l_Lean_Parser_Term_let___elambda__1___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
+_start:
+{
+uint8_t x_5;
+x_5 = !lean_is_exclusive(x_3);
+if (x_5 == 0)
+{
+lean_object* x_6; lean_object* x_7; uint8_t x_8;
+x_6 = lean_ctor_get(x_3, 0);
+x_7 = lean_ctor_get(x_3, 4);
+lean_dec(x_7);
+x_8 = !lean_is_exclusive(x_6);
+if (x_8 == 0)
+{
+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; lean_object* x_16; lean_object* x_17;
+x_9 = lean_ctor_get(x_6, 2);
+x_10 = lean_ctor_get(x_4, 1);
+lean_inc(x_10);
+x_11 = l_Lean_FileMap_toPosition(x_9, x_10);
+x_12 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_12, 0, x_11);
+lean_ctor_set(x_3, 4, x_12);
+x_13 = l_Char_HasRepr___closed__1;
+x_14 = lean_string_append(x_13, x_1);
+x_15 = lean_string_append(x_14, x_13);
+lean_inc(x_3);
+x_16 = l_Lean_Parser_symbolFnAux(x_1, x_15, x_3, x_4);
+x_17 = lean_ctor_get(x_16, 3);
+lean_inc(x_17);
+if (lean_obj_tag(x_17) == 0)
+{
+lean_object* x_18;
+x_18 = lean_apply_2(x_2, x_3, x_16);
+return x_18;
+}
+else
+{
+lean_dec(x_17);
+lean_dec(x_3);
+lean_dec(x_2);
+return x_16;
+}
+}
+else
+{
+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;
+x_19 = lean_ctor_get(x_6, 0);
+x_20 = lean_ctor_get(x_6, 1);
+x_21 = lean_ctor_get(x_6, 2);
+lean_inc(x_21);
+lean_inc(x_20);
+lean_inc(x_19);
+lean_dec(x_6);
+x_22 = lean_ctor_get(x_4, 1);
+lean_inc(x_22);
+x_23 = l_Lean_FileMap_toPosition(x_21, x_22);
+x_24 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_24, 0, x_19);
+lean_ctor_set(x_24, 1, x_20);
+lean_ctor_set(x_24, 2, x_21);
+x_25 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_25, 0, x_23);
+lean_ctor_set(x_3, 4, x_25);
+lean_ctor_set(x_3, 0, x_24);
+x_26 = l_Char_HasRepr___closed__1;
+x_27 = lean_string_append(x_26, x_1);
+x_28 = lean_string_append(x_27, x_26);
+lean_inc(x_3);
+x_29 = l_Lean_Parser_symbolFnAux(x_1, x_28, x_3, x_4);
+x_30 = lean_ctor_get(x_29, 3);
+lean_inc(x_30);
+if (lean_obj_tag(x_30) == 0)
+{
+lean_object* x_31;
+x_31 = lean_apply_2(x_2, x_3, x_29);
+return x_31;
+}
+else
+{
+lean_dec(x_30);
+lean_dec(x_3);
+lean_dec(x_2);
+return x_29;
+}
+}
+}
+else
+{
+lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; uint8_t 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;
+x_32 = lean_ctor_get(x_3, 0);
+x_33 = lean_ctor_get(x_3, 1);
+x_34 = lean_ctor_get(x_3, 2);
+x_35 = lean_ctor_get(x_3, 3);
+x_36 = lean_ctor_get_uint8(x_3, sizeof(void*)*6);
+x_37 = lean_ctor_get(x_3, 5);
+lean_inc(x_37);
+lean_inc(x_35);
+lean_inc(x_34);
+lean_inc(x_33);
+lean_inc(x_32);
+lean_dec(x_3);
+x_38 = lean_ctor_get(x_32, 0);
+lean_inc(x_38);
+x_39 = lean_ctor_get(x_32, 1);
+lean_inc(x_39);
+x_40 = lean_ctor_get(x_32, 2);
+lean_inc(x_40);
+if (lean_is_exclusive(x_32)) {
+ lean_ctor_release(x_32, 0);
+ lean_ctor_release(x_32, 1);
+ lean_ctor_release(x_32, 2);
+ x_41 = x_32;
+} else {
+ lean_dec_ref(x_32);
+ x_41 = lean_box(0);
+}
+x_42 = lean_ctor_get(x_4, 1);
+lean_inc(x_42);
+x_43 = l_Lean_FileMap_toPosition(x_40, x_42);
+if (lean_is_scalar(x_41)) {
+ x_44 = lean_alloc_ctor(0, 3, 0);
+} else {
+ x_44 = x_41;
+}
+lean_ctor_set(x_44, 0, x_38);
+lean_ctor_set(x_44, 1, x_39);
+lean_ctor_set(x_44, 2, x_40);
+x_45 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_45, 0, x_43);
+x_46 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_46, 0, x_44);
+lean_ctor_set(x_46, 1, x_33);
+lean_ctor_set(x_46, 2, x_34);
+lean_ctor_set(x_46, 3, x_35);
+lean_ctor_set(x_46, 4, x_45);
+lean_ctor_set(x_46, 5, x_37);
+lean_ctor_set_uint8(x_46, sizeof(void*)*6, x_36);
+x_47 = l_Char_HasRepr___closed__1;
+x_48 = lean_string_append(x_47, x_1);
+x_49 = lean_string_append(x_48, x_47);
+lean_inc(x_46);
+x_50 = l_Lean_Parser_symbolFnAux(x_1, x_49, x_46, x_4);
+x_51 = lean_ctor_get(x_50, 3);
+lean_inc(x_51);
+if (lean_obj_tag(x_51) == 0)
+{
+lean_object* x_52;
+x_52 = lean_apply_2(x_2, x_46, x_50);
+return x_52;
+}
+else
+{
+lean_dec(x_51);
+lean_dec(x_46);
+lean_dec(x_2);
+return x_50;
+}
+}
+}
+}
static lean_object* _init_l_Lean_Parser_Term_let___elambda__1___closed__1() {
_start:
{
@@ -50215,6 +34381,58 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_let___elambda__1___closed__5() {
_start:
{
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
+x_1 = l_Lean_Parser_Term_letDecl;
+x_2 = lean_ctor_get(x_1, 1);
+lean_inc(x_2);
+x_3 = l_Lean_Parser_Term_let___elambda__1___closed__4;
+x_4 = lean_alloc_closure((void*)(l_Lean_Parser_Term_let___elambda__1___lambda__1___boxed), 4, 2);
+lean_closure_set(x_4, 0, x_3);
+lean_closure_set(x_4, 1, x_2);
+return x_4;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_let___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
+x_1 = l_Lean_Parser_Term_have___elambda__1___closed__8;
+x_2 = lean_ctor_get(x_1, 1);
+lean_inc(x_2);
+x_3 = l_Lean_Parser_Term_let___elambda__1___closed__5;
+x_4 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_4, 0, x_3);
+lean_closure_set(x_4, 1, x_2);
+return x_4;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_let___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Array_myMacro____x40_Init_Data_Array_Macros___hyg_464____closed__2;
+x_2 = l_Lean_Parser_Term_let___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_let___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_byTactic___elambda__1___closed__9;
+x_2 = l_Lean_Parser_Term_let___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_let___elambda__1___closed__9() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Char_HasRepr___closed__1;
x_2 = l_Lean_Parser_Term_let___elambda__1___closed__4;
@@ -50222,28 +34440,16 @@ x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Term_let___elambda__1___closed__6() {
+static lean_object* _init_l_Lean_Parser_Term_let___elambda__1___closed__10() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_let___elambda__1___closed__5;
+x_1 = l_Lean_Parser_Term_let___elambda__1___closed__9;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Term_let___elambda__1___closed__7() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Term_let___elambda__1___closed__6;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
-}
-}
lean_object* l_Lean_Parser_Term_let___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -50251,7 +34457,7 @@ lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_obj
x_3 = l_Lean_Parser_Term_letDecl;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-x_5 = l_Lean_Parser_Term_have___elambda__1___closed__7;
+x_5 = l_Lean_Parser_Term_have___elambda__1___closed__8;
x_6 = lean_ctor_get(x_5, 1);
lean_inc(x_6);
x_7 = l_Lean_Parser_Term_let___elambda__1___closed__2;
@@ -50270,7 +34476,7 @@ x_12 = lean_ctor_get(x_11, 3);
lean_inc(x_12);
if (lean_obj_tag(x_12) == 0)
{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; uint8_t 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_13; lean_object* x_14; lean_object* x_15; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; uint8_t x_27; lean_object* x_28; uint8_t x_29;
x_13 = lean_ctor_get(x_11, 0);
lean_inc(x_13);
x_14 = lean_array_get_size(x_13);
@@ -50286,85 +34492,95 @@ lean_inc(x_26);
x_27 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
x_28 = lean_ctor_get(x_1, 5);
lean_inc(x_28);
-x_29 = lean_ctor_get(x_23, 2);
-lean_inc(x_29);
-x_30 = lean_ctor_get(x_11, 1);
-lean_inc(x_30);
-lean_inc(x_30);
-x_31 = l_Lean_FileMap_toPosition(x_29, x_30);
-lean_dec(x_29);
-x_32 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_32, 0, x_31);
-x_33 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_33, 0, x_23);
-lean_ctor_set(x_33, 1, x_24);
-lean_ctor_set(x_33, 2, x_25);
-lean_ctor_set(x_33, 3, x_26);
-lean_ctor_set(x_33, 4, x_32);
-lean_ctor_set(x_33, 5, x_28);
-lean_ctor_set_uint8(x_33, sizeof(void*)*6, x_27);
-lean_inc(x_33);
-x_34 = l_Lean_Parser_tokenFn(x_33, x_11);
-x_35 = lean_ctor_get(x_34, 3);
-lean_inc(x_35);
-if (lean_obj_tag(x_35) == 0)
+x_29 = !lean_is_exclusive(x_23);
+if (x_29 == 0)
{
-lean_object* x_36; lean_object* x_37;
-x_36 = lean_ctor_get(x_34, 0);
-lean_inc(x_36);
-x_37 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_36);
-lean_dec(x_36);
-if (lean_obj_tag(x_37) == 2)
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_37, 1);
+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;
+x_30 = lean_ctor_get(x_23, 2);
+x_31 = lean_ctor_get(x_11, 1);
+lean_inc(x_31);
+x_32 = l_Lean_FileMap_toPosition(x_30, x_31);
+x_33 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_33, 0, x_32);
+x_34 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_34, 0, x_23);
+lean_ctor_set(x_34, 1, x_24);
+lean_ctor_set(x_34, 2, x_25);
+lean_ctor_set(x_34, 3, x_26);
+lean_ctor_set(x_34, 4, x_33);
+lean_ctor_set(x_34, 5, x_28);
+lean_ctor_set_uint8(x_34, sizeof(void*)*6, x_27);
+x_35 = l_Lean_Parser_Term_let___elambda__1___closed__4;
+x_36 = l_Lean_Parser_Term_let___elambda__1___closed__10;
+lean_inc(x_34);
+x_37 = l_Lean_Parser_symbolFnAux(x_35, x_36, x_34, x_11);
+x_38 = lean_ctor_get(x_37, 3);
lean_inc(x_38);
-lean_dec(x_37);
-x_39 = l_Lean_Parser_Term_let___elambda__1___closed__4;
-x_40 = lean_string_dec_eq(x_38, x_39);
+if (lean_obj_tag(x_38) == 0)
+{
+lean_object* x_39;
+x_39 = lean_apply_2(x_4, x_34, x_37);
+x_15 = x_39;
+goto block_22;
+}
+else
+{
lean_dec(x_38);
-if (x_40 == 0)
-{
-lean_object* x_41; lean_object* x_42;
-lean_dec(x_33);
+lean_dec(x_34);
lean_dec(x_4);
-x_41 = l_Lean_Parser_Term_let___elambda__1___closed__7;
-x_42 = l_Lean_Parser_ParserState_mkErrorsAt(x_34, x_41, x_30);
-x_15 = x_42;
-goto block_22;
-}
-else
-{
-lean_object* x_43;
-lean_dec(x_30);
-x_43 = lean_apply_2(x_4, x_33, x_34);
-x_15 = x_43;
+x_15 = x_37;
goto block_22;
}
}
else
{
-lean_object* x_44; lean_object* x_45;
-lean_dec(x_37);
-lean_dec(x_33);
-lean_dec(x_4);
-x_44 = l_Lean_Parser_Term_let___elambda__1___closed__7;
-x_45 = l_Lean_Parser_ParserState_mkErrorsAt(x_34, x_44, x_30);
-x_15 = x_45;
+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;
+x_40 = lean_ctor_get(x_23, 0);
+x_41 = lean_ctor_get(x_23, 1);
+x_42 = lean_ctor_get(x_23, 2);
+lean_inc(x_42);
+lean_inc(x_41);
+lean_inc(x_40);
+lean_dec(x_23);
+x_43 = lean_ctor_get(x_11, 1);
+lean_inc(x_43);
+x_44 = l_Lean_FileMap_toPosition(x_42, x_43);
+x_45 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_45, 0, x_40);
+lean_ctor_set(x_45, 1, x_41);
+lean_ctor_set(x_45, 2, x_42);
+x_46 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_46, 0, x_44);
+x_47 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_47, 0, x_45);
+lean_ctor_set(x_47, 1, x_24);
+lean_ctor_set(x_47, 2, x_25);
+lean_ctor_set(x_47, 3, x_26);
+lean_ctor_set(x_47, 4, x_46);
+lean_ctor_set(x_47, 5, x_28);
+lean_ctor_set_uint8(x_47, sizeof(void*)*6, x_27);
+x_48 = l_Lean_Parser_Term_let___elambda__1___closed__4;
+x_49 = l_Lean_Parser_Term_let___elambda__1___closed__10;
+lean_inc(x_47);
+x_50 = l_Lean_Parser_symbolFnAux(x_48, x_49, x_47, x_11);
+x_51 = lean_ctor_get(x_50, 3);
+lean_inc(x_51);
+if (lean_obj_tag(x_51) == 0)
+{
+lean_object* x_52;
+x_52 = lean_apply_2(x_4, x_47, x_50);
+x_15 = x_52;
goto block_22;
}
-}
else
{
-lean_object* x_46; lean_object* x_47;
-lean_dec(x_35);
-lean_dec(x_33);
+lean_dec(x_51);
+lean_dec(x_47);
lean_dec(x_4);
-x_46 = l_Lean_Parser_Term_let___elambda__1___closed__7;
-x_47 = l_Lean_Parser_ParserState_mkErrorsAt(x_34, x_46, x_30);
-x_15 = x_47;
+x_15 = x_50;
goto block_22;
}
+}
block_22:
{
lean_object* x_16;
@@ -50401,374 +34617,13 @@ return x_11;
}
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_2, 0);
-lean_inc(x_48);
-x_49 = lean_array_get_size(x_48);
-lean_dec(x_48);
-x_50 = lean_ctor_get(x_2, 1);
-lean_inc(x_50);
-lean_inc(x_1);
-x_51 = lean_apply_2(x_8, x_1, x_2);
-x_52 = lean_ctor_get(x_51, 3);
-lean_inc(x_52);
-if (lean_obj_tag(x_52) == 0)
-{
-lean_dec(x_50);
-lean_dec(x_49);
+lean_object* x_53; uint8_t x_54; lean_object* x_55;
lean_dec(x_6);
lean_dec(x_4);
-lean_dec(x_1);
-return x_51;
-}
-else
-{
-uint8_t x_53;
-x_53 = !lean_is_exclusive(x_52);
-if (x_53 == 0)
-{
-lean_object* x_54; lean_object* x_55; uint8_t x_56;
-x_54 = lean_ctor_get(x_52, 0);
-x_55 = lean_ctor_get(x_51, 1);
-lean_inc(x_55);
-x_56 = lean_nat_dec_eq(x_55, x_50);
-lean_dec(x_55);
-if (x_56 == 0)
-{
-lean_free_object(x_52);
-lean_dec(x_54);
-lean_dec(x_50);
-lean_dec(x_49);
-lean_dec(x_6);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_51;
-}
-else
-{
-lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60;
-lean_inc(x_50);
-x_57 = l_Lean_Parser_ParserState_restore(x_51, x_49, x_50);
-lean_dec(x_49);
-x_58 = l_Lean_Parser_leadPrec;
-x_59 = l_Lean_Parser_checkPrecFn(x_58, x_1, x_57);
-x_60 = lean_ctor_get(x_59, 3);
-lean_inc(x_60);
-if (lean_obj_tag(x_60) == 0)
-{
-lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; uint8_t 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;
-x_61 = lean_ctor_get(x_59, 0);
-lean_inc(x_61);
-x_62 = lean_array_get_size(x_61);
-lean_dec(x_61);
-x_75 = lean_ctor_get(x_1, 0);
-lean_inc(x_75);
-x_76 = lean_ctor_get(x_1, 1);
-lean_inc(x_76);
-x_77 = lean_ctor_get(x_1, 2);
-lean_inc(x_77);
-x_78 = lean_ctor_get(x_1, 3);
-lean_inc(x_78);
-x_79 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
-x_80 = lean_ctor_get(x_1, 5);
-lean_inc(x_80);
-x_81 = lean_ctor_get(x_75, 2);
-lean_inc(x_81);
-x_82 = lean_ctor_get(x_59, 1);
-lean_inc(x_82);
-lean_inc(x_82);
-x_83 = l_Lean_FileMap_toPosition(x_81, x_82);
-lean_dec(x_81);
-lean_ctor_set(x_52, 0, x_83);
-x_84 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_84, 0, x_75);
-lean_ctor_set(x_84, 1, x_76);
-lean_ctor_set(x_84, 2, x_77);
-lean_ctor_set(x_84, 3, x_78);
-lean_ctor_set(x_84, 4, x_52);
-lean_ctor_set(x_84, 5, x_80);
-lean_ctor_set_uint8(x_84, sizeof(void*)*6, x_79);
-lean_inc(x_84);
-x_85 = l_Lean_Parser_tokenFn(x_84, x_59);
-x_86 = lean_ctor_get(x_85, 3);
-lean_inc(x_86);
-if (lean_obj_tag(x_86) == 0)
-{
-lean_object* x_87; lean_object* x_88;
-x_87 = lean_ctor_get(x_85, 0);
-lean_inc(x_87);
-x_88 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_87);
-lean_dec(x_87);
-if (lean_obj_tag(x_88) == 2)
-{
-lean_object* x_89; lean_object* x_90; uint8_t x_91;
-x_89 = lean_ctor_get(x_88, 1);
-lean_inc(x_89);
-lean_dec(x_88);
-x_90 = l_Lean_Parser_Term_let___elambda__1___closed__4;
-x_91 = lean_string_dec_eq(x_89, x_90);
-lean_dec(x_89);
-if (x_91 == 0)
-{
-lean_object* x_92; lean_object* x_93;
-lean_dec(x_84);
-lean_dec(x_4);
-x_92 = l_Lean_Parser_Term_let___elambda__1___closed__7;
-x_93 = l_Lean_Parser_ParserState_mkErrorsAt(x_85, x_92, x_82);
-x_63 = x_93;
-goto block_74;
-}
-else
-{
-lean_object* x_94;
-lean_dec(x_82);
-x_94 = lean_apply_2(x_4, x_84, x_85);
-x_63 = x_94;
-goto block_74;
-}
-}
-else
-{
-lean_object* x_95; lean_object* x_96;
-lean_dec(x_88);
-lean_dec(x_84);
-lean_dec(x_4);
-x_95 = l_Lean_Parser_Term_let___elambda__1___closed__7;
-x_96 = l_Lean_Parser_ParserState_mkErrorsAt(x_85, x_95, x_82);
-x_63 = x_96;
-goto block_74;
-}
-}
-else
-{
-lean_object* x_97; lean_object* x_98;
-lean_dec(x_86);
-lean_dec(x_84);
-lean_dec(x_4);
-x_97 = l_Lean_Parser_Term_let___elambda__1___closed__7;
-x_98 = l_Lean_Parser_ParserState_mkErrorsAt(x_85, x_97, x_82);
-x_63 = x_98;
-goto block_74;
-}
-block_74:
-{
-lean_object* x_64;
-x_64 = lean_ctor_get(x_63, 3);
-lean_inc(x_64);
-if (lean_obj_tag(x_64) == 0)
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; uint8_t x_68; lean_object* x_69;
-x_65 = lean_apply_2(x_6, x_1, x_63);
-x_66 = l_Array_myMacro____x40_Init_Data_Array_Macros___hyg_464____closed__2;
-x_67 = l_Lean_Parser_ParserState_mkNode(x_65, x_66, x_62);
-x_68 = 1;
-x_69 = l_Lean_Parser_mergeOrElseErrors(x_67, x_54, x_50, x_68);
-lean_dec(x_50);
-return x_69;
-}
-else
-{
-lean_object* x_70; lean_object* x_71; uint8_t x_72; lean_object* x_73;
-lean_dec(x_64);
-lean_dec(x_6);
-lean_dec(x_1);
-x_70 = l_Array_myMacro____x40_Init_Data_Array_Macros___hyg_464____closed__2;
-x_71 = l_Lean_Parser_ParserState_mkNode(x_63, x_70, x_62);
-x_72 = 1;
-x_73 = l_Lean_Parser_mergeOrElseErrors(x_71, x_54, x_50, x_72);
-lean_dec(x_50);
-return x_73;
-}
-}
-}
-else
-{
-uint8_t x_99; lean_object* x_100;
-lean_dec(x_60);
-lean_free_object(x_52);
-lean_dec(x_6);
-lean_dec(x_4);
-lean_dec(x_1);
-x_99 = 1;
-x_100 = l_Lean_Parser_mergeOrElseErrors(x_59, x_54, x_50, x_99);
-lean_dec(x_50);
-return x_100;
-}
-}
-}
-else
-{
-lean_object* x_101; lean_object* x_102; uint8_t x_103;
-x_101 = lean_ctor_get(x_52, 0);
-lean_inc(x_101);
-lean_dec(x_52);
-x_102 = lean_ctor_get(x_51, 1);
-lean_inc(x_102);
-x_103 = lean_nat_dec_eq(x_102, x_50);
-lean_dec(x_102);
-if (x_103 == 0)
-{
-lean_dec(x_101);
-lean_dec(x_50);
-lean_dec(x_49);
-lean_dec(x_6);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_51;
-}
-else
-{
-lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107;
-lean_inc(x_50);
-x_104 = l_Lean_Parser_ParserState_restore(x_51, x_49, x_50);
-lean_dec(x_49);
-x_105 = l_Lean_Parser_leadPrec;
-x_106 = l_Lean_Parser_checkPrecFn(x_105, x_1, x_104);
-x_107 = lean_ctor_get(x_106, 3);
-lean_inc(x_107);
-if (lean_obj_tag(x_107) == 0)
-{
-lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; uint8_t 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; lean_object* x_134;
-x_108 = lean_ctor_get(x_106, 0);
-lean_inc(x_108);
-x_109 = lean_array_get_size(x_108);
-lean_dec(x_108);
-x_122 = lean_ctor_get(x_1, 0);
-lean_inc(x_122);
-x_123 = lean_ctor_get(x_1, 1);
-lean_inc(x_123);
-x_124 = lean_ctor_get(x_1, 2);
-lean_inc(x_124);
-x_125 = lean_ctor_get(x_1, 3);
-lean_inc(x_125);
-x_126 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
-x_127 = lean_ctor_get(x_1, 5);
-lean_inc(x_127);
-x_128 = lean_ctor_get(x_122, 2);
-lean_inc(x_128);
-x_129 = lean_ctor_get(x_106, 1);
-lean_inc(x_129);
-lean_inc(x_129);
-x_130 = l_Lean_FileMap_toPosition(x_128, x_129);
-lean_dec(x_128);
-x_131 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_131, 0, x_130);
-x_132 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_132, 0, x_122);
-lean_ctor_set(x_132, 1, x_123);
-lean_ctor_set(x_132, 2, x_124);
-lean_ctor_set(x_132, 3, x_125);
-lean_ctor_set(x_132, 4, x_131);
-lean_ctor_set(x_132, 5, x_127);
-lean_ctor_set_uint8(x_132, sizeof(void*)*6, x_126);
-lean_inc(x_132);
-x_133 = l_Lean_Parser_tokenFn(x_132, x_106);
-x_134 = lean_ctor_get(x_133, 3);
-lean_inc(x_134);
-if (lean_obj_tag(x_134) == 0)
-{
-lean_object* x_135; lean_object* x_136;
-x_135 = lean_ctor_get(x_133, 0);
-lean_inc(x_135);
-x_136 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_135);
-lean_dec(x_135);
-if (lean_obj_tag(x_136) == 2)
-{
-lean_object* x_137; lean_object* x_138; uint8_t x_139;
-x_137 = lean_ctor_get(x_136, 1);
-lean_inc(x_137);
-lean_dec(x_136);
-x_138 = l_Lean_Parser_Term_let___elambda__1___closed__4;
-x_139 = lean_string_dec_eq(x_137, x_138);
-lean_dec(x_137);
-if (x_139 == 0)
-{
-lean_object* x_140; lean_object* x_141;
-lean_dec(x_132);
-lean_dec(x_4);
-x_140 = l_Lean_Parser_Term_let___elambda__1___closed__7;
-x_141 = l_Lean_Parser_ParserState_mkErrorsAt(x_133, x_140, x_129);
-x_110 = x_141;
-goto block_121;
-}
-else
-{
-lean_object* x_142;
-lean_dec(x_129);
-x_142 = lean_apply_2(x_4, x_132, x_133);
-x_110 = x_142;
-goto block_121;
-}
-}
-else
-{
-lean_object* x_143; lean_object* x_144;
-lean_dec(x_136);
-lean_dec(x_132);
-lean_dec(x_4);
-x_143 = l_Lean_Parser_Term_let___elambda__1___closed__7;
-x_144 = l_Lean_Parser_ParserState_mkErrorsAt(x_133, x_143, x_129);
-x_110 = x_144;
-goto block_121;
-}
-}
-else
-{
-lean_object* x_145; lean_object* x_146;
-lean_dec(x_134);
-lean_dec(x_132);
-lean_dec(x_4);
-x_145 = l_Lean_Parser_Term_let___elambda__1___closed__7;
-x_146 = l_Lean_Parser_ParserState_mkErrorsAt(x_133, x_145, x_129);
-x_110 = x_146;
-goto block_121;
-}
-block_121:
-{
-lean_object* x_111;
-x_111 = lean_ctor_get(x_110, 3);
-lean_inc(x_111);
-if (lean_obj_tag(x_111) == 0)
-{
-lean_object* x_112; lean_object* x_113; lean_object* x_114; uint8_t x_115; lean_object* x_116;
-x_112 = lean_apply_2(x_6, x_1, x_110);
-x_113 = l_Array_myMacro____x40_Init_Data_Array_Macros___hyg_464____closed__2;
-x_114 = l_Lean_Parser_ParserState_mkNode(x_112, x_113, x_109);
-x_115 = 1;
-x_116 = l_Lean_Parser_mergeOrElseErrors(x_114, x_101, x_50, x_115);
-lean_dec(x_50);
-return x_116;
-}
-else
-{
-lean_object* x_117; lean_object* x_118; uint8_t x_119; lean_object* x_120;
-lean_dec(x_111);
-lean_dec(x_6);
-lean_dec(x_1);
-x_117 = l_Array_myMacro____x40_Init_Data_Array_Macros___hyg_464____closed__2;
-x_118 = l_Lean_Parser_ParserState_mkNode(x_110, x_117, x_109);
-x_119 = 1;
-x_120 = l_Lean_Parser_mergeOrElseErrors(x_118, x_101, x_50, x_119);
-lean_dec(x_50);
-return x_120;
-}
-}
-}
-else
-{
-uint8_t x_147; lean_object* x_148;
-lean_dec(x_107);
-lean_dec(x_6);
-lean_dec(x_4);
-lean_dec(x_1);
-x_147 = 1;
-x_148 = l_Lean_Parser_mergeOrElseErrors(x_106, x_101, x_50, x_147);
-lean_dec(x_50);
-return x_148;
-}
-}
-}
-}
+x_53 = l_Lean_Parser_Term_let___elambda__1___closed__8;
+x_54 = 1;
+x_55 = l_Lean_Parser_orelseFnCore(x_8, x_53, x_54, x_1, x_2);
+return x_55;
}
}
}
@@ -50797,7 +34652,7 @@ static lean_object* _init_l_Lean_Parser_Term_let___closed__3() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
-x_1 = l_Lean_Parser_Term_have___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Term_have___elambda__1___closed__8;
x_2 = lean_ctor_get(x_1, 0);
lean_inc(x_2);
x_3 = l_Lean_Parser_Term_let___closed__2;
@@ -50865,6 +34720,15 @@ x_1 = l_Lean_Parser_Term_let___closed__8;
return x_1;
}
}
+lean_object* l_Lean_Parser_Term_let___elambda__1___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
+_start:
+{
+lean_object* x_5;
+x_5 = l_Lean_Parser_Term_let___elambda__1___lambda__1(x_1, x_2, x_3, x_4);
+lean_dec(x_1);
+return x_5;
+}
+}
lean_object* l___regBuiltinParser_Lean_Parser_Term_let(lean_object* x_1) {
_start:
{
@@ -51712,6 +35576,58 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_let_x21___elambda__1___closed__7() {
_start:
{
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
+x_1 = l_Lean_Parser_Term_letDecl;
+x_2 = lean_ctor_get(x_1, 1);
+lean_inc(x_2);
+x_3 = l_Lean_Parser_Term_let_x21___elambda__1___closed__6;
+x_4 = lean_alloc_closure((void*)(l_Lean_Parser_Term_let___elambda__1___lambda__1___boxed), 4, 2);
+lean_closure_set(x_4, 0, x_3);
+lean_closure_set(x_4, 1, x_2);
+return x_4;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_let_x21___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
+x_1 = l_Lean_Parser_Term_have___elambda__1___closed__8;
+x_2 = lean_ctor_get(x_1, 1);
+lean_inc(x_2);
+x_3 = l_Lean_Parser_Term_let_x21___elambda__1___closed__7;
+x_4 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_4, 0, x_3);
+lean_closure_set(x_4, 1, x_2);
+return x_4;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_let_x21___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_let_x21___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_let_x21___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_let_x21___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_byTactic___elambda__1___closed__9;
+x_2 = l_Lean_Parser_Term_let_x21___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_let_x21___elambda__1___closed__11() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Char_HasRepr___closed__1;
x_2 = l_Lean_Parser_Term_let_x21___elambda__1___closed__6;
@@ -51719,28 +35635,16 @@ x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Term_let_x21___elambda__1___closed__8() {
+static lean_object* _init_l_Lean_Parser_Term_let_x21___elambda__1___closed__12() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_let_x21___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Term_let_x21___elambda__1___closed__11;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Term_let_x21___elambda__1___closed__9() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Term_let_x21___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
-}
-}
lean_object* l_Lean_Parser_Term_let_x21___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -51748,7 +35652,7 @@ lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_obj
x_3 = l_Lean_Parser_Term_letDecl;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-x_5 = l_Lean_Parser_Term_have___elambda__1___closed__7;
+x_5 = l_Lean_Parser_Term_have___elambda__1___closed__8;
x_6 = lean_ctor_get(x_5, 1);
lean_inc(x_6);
x_7 = l_Lean_Parser_Term_let_x21___elambda__1___closed__4;
@@ -51767,7 +35671,7 @@ x_12 = lean_ctor_get(x_11, 3);
lean_inc(x_12);
if (lean_obj_tag(x_12) == 0)
{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; uint8_t 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_13; lean_object* x_14; lean_object* x_15; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; uint8_t x_27; lean_object* x_28; uint8_t x_29;
x_13 = lean_ctor_get(x_11, 0);
lean_inc(x_13);
x_14 = lean_array_get_size(x_13);
@@ -51783,85 +35687,95 @@ lean_inc(x_26);
x_27 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
x_28 = lean_ctor_get(x_1, 5);
lean_inc(x_28);
-x_29 = lean_ctor_get(x_23, 2);
-lean_inc(x_29);
-x_30 = lean_ctor_get(x_11, 1);
-lean_inc(x_30);
-lean_inc(x_30);
-x_31 = l_Lean_FileMap_toPosition(x_29, x_30);
-lean_dec(x_29);
-x_32 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_32, 0, x_31);
-x_33 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_33, 0, x_23);
-lean_ctor_set(x_33, 1, x_24);
-lean_ctor_set(x_33, 2, x_25);
-lean_ctor_set(x_33, 3, x_26);
-lean_ctor_set(x_33, 4, x_32);
-lean_ctor_set(x_33, 5, x_28);
-lean_ctor_set_uint8(x_33, sizeof(void*)*6, x_27);
-lean_inc(x_33);
-x_34 = l_Lean_Parser_tokenFn(x_33, x_11);
-x_35 = lean_ctor_get(x_34, 3);
-lean_inc(x_35);
-if (lean_obj_tag(x_35) == 0)
+x_29 = !lean_is_exclusive(x_23);
+if (x_29 == 0)
{
-lean_object* x_36; lean_object* x_37;
-x_36 = lean_ctor_get(x_34, 0);
-lean_inc(x_36);
-x_37 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_36);
-lean_dec(x_36);
-if (lean_obj_tag(x_37) == 2)
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_37, 1);
+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;
+x_30 = lean_ctor_get(x_23, 2);
+x_31 = lean_ctor_get(x_11, 1);
+lean_inc(x_31);
+x_32 = l_Lean_FileMap_toPosition(x_30, x_31);
+x_33 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_33, 0, x_32);
+x_34 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_34, 0, x_23);
+lean_ctor_set(x_34, 1, x_24);
+lean_ctor_set(x_34, 2, x_25);
+lean_ctor_set(x_34, 3, x_26);
+lean_ctor_set(x_34, 4, x_33);
+lean_ctor_set(x_34, 5, x_28);
+lean_ctor_set_uint8(x_34, sizeof(void*)*6, x_27);
+x_35 = l_Lean_Parser_Term_let_x21___elambda__1___closed__6;
+x_36 = l_Lean_Parser_Term_let_x21___elambda__1___closed__12;
+lean_inc(x_34);
+x_37 = l_Lean_Parser_symbolFnAux(x_35, x_36, x_34, x_11);
+x_38 = lean_ctor_get(x_37, 3);
lean_inc(x_38);
-lean_dec(x_37);
-x_39 = l_Lean_Parser_Term_let_x21___elambda__1___closed__6;
-x_40 = lean_string_dec_eq(x_38, x_39);
+if (lean_obj_tag(x_38) == 0)
+{
+lean_object* x_39;
+x_39 = lean_apply_2(x_4, x_34, x_37);
+x_15 = x_39;
+goto block_22;
+}
+else
+{
lean_dec(x_38);
-if (x_40 == 0)
-{
-lean_object* x_41; lean_object* x_42;
-lean_dec(x_33);
+lean_dec(x_34);
lean_dec(x_4);
-x_41 = l_Lean_Parser_Term_let_x21___elambda__1___closed__9;
-x_42 = l_Lean_Parser_ParserState_mkErrorsAt(x_34, x_41, x_30);
-x_15 = x_42;
-goto block_22;
-}
-else
-{
-lean_object* x_43;
-lean_dec(x_30);
-x_43 = lean_apply_2(x_4, x_33, x_34);
-x_15 = x_43;
+x_15 = x_37;
goto block_22;
}
}
else
{
-lean_object* x_44; lean_object* x_45;
-lean_dec(x_37);
-lean_dec(x_33);
-lean_dec(x_4);
-x_44 = l_Lean_Parser_Term_let_x21___elambda__1___closed__9;
-x_45 = l_Lean_Parser_ParserState_mkErrorsAt(x_34, x_44, x_30);
-x_15 = x_45;
+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;
+x_40 = lean_ctor_get(x_23, 0);
+x_41 = lean_ctor_get(x_23, 1);
+x_42 = lean_ctor_get(x_23, 2);
+lean_inc(x_42);
+lean_inc(x_41);
+lean_inc(x_40);
+lean_dec(x_23);
+x_43 = lean_ctor_get(x_11, 1);
+lean_inc(x_43);
+x_44 = l_Lean_FileMap_toPosition(x_42, x_43);
+x_45 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_45, 0, x_40);
+lean_ctor_set(x_45, 1, x_41);
+lean_ctor_set(x_45, 2, x_42);
+x_46 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_46, 0, x_44);
+x_47 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_47, 0, x_45);
+lean_ctor_set(x_47, 1, x_24);
+lean_ctor_set(x_47, 2, x_25);
+lean_ctor_set(x_47, 3, x_26);
+lean_ctor_set(x_47, 4, x_46);
+lean_ctor_set(x_47, 5, x_28);
+lean_ctor_set_uint8(x_47, sizeof(void*)*6, x_27);
+x_48 = l_Lean_Parser_Term_let_x21___elambda__1___closed__6;
+x_49 = l_Lean_Parser_Term_let_x21___elambda__1___closed__12;
+lean_inc(x_47);
+x_50 = l_Lean_Parser_symbolFnAux(x_48, x_49, x_47, x_11);
+x_51 = lean_ctor_get(x_50, 3);
+lean_inc(x_51);
+if (lean_obj_tag(x_51) == 0)
+{
+lean_object* x_52;
+x_52 = lean_apply_2(x_4, x_47, x_50);
+x_15 = x_52;
goto block_22;
}
-}
else
{
-lean_object* x_46; lean_object* x_47;
-lean_dec(x_35);
-lean_dec(x_33);
+lean_dec(x_51);
+lean_dec(x_47);
lean_dec(x_4);
-x_46 = l_Lean_Parser_Term_let_x21___elambda__1___closed__9;
-x_47 = l_Lean_Parser_ParserState_mkErrorsAt(x_34, x_46, x_30);
-x_15 = x_47;
+x_15 = x_50;
goto block_22;
}
+}
block_22:
{
lean_object* x_16;
@@ -51898,374 +35812,13 @@ return x_11;
}
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_2, 0);
-lean_inc(x_48);
-x_49 = lean_array_get_size(x_48);
-lean_dec(x_48);
-x_50 = lean_ctor_get(x_2, 1);
-lean_inc(x_50);
-lean_inc(x_1);
-x_51 = lean_apply_2(x_8, x_1, x_2);
-x_52 = lean_ctor_get(x_51, 3);
-lean_inc(x_52);
-if (lean_obj_tag(x_52) == 0)
-{
-lean_dec(x_50);
-lean_dec(x_49);
+lean_object* x_53; uint8_t x_54; lean_object* x_55;
lean_dec(x_6);
lean_dec(x_4);
-lean_dec(x_1);
-return x_51;
-}
-else
-{
-uint8_t x_53;
-x_53 = !lean_is_exclusive(x_52);
-if (x_53 == 0)
-{
-lean_object* x_54; lean_object* x_55; uint8_t x_56;
-x_54 = lean_ctor_get(x_52, 0);
-x_55 = lean_ctor_get(x_51, 1);
-lean_inc(x_55);
-x_56 = lean_nat_dec_eq(x_55, x_50);
-lean_dec(x_55);
-if (x_56 == 0)
-{
-lean_free_object(x_52);
-lean_dec(x_54);
-lean_dec(x_50);
-lean_dec(x_49);
-lean_dec(x_6);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_51;
-}
-else
-{
-lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60;
-lean_inc(x_50);
-x_57 = l_Lean_Parser_ParserState_restore(x_51, x_49, x_50);
-lean_dec(x_49);
-x_58 = l_Lean_Parser_leadPrec;
-x_59 = l_Lean_Parser_checkPrecFn(x_58, x_1, x_57);
-x_60 = lean_ctor_get(x_59, 3);
-lean_inc(x_60);
-if (lean_obj_tag(x_60) == 0)
-{
-lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; uint8_t 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;
-x_61 = lean_ctor_get(x_59, 0);
-lean_inc(x_61);
-x_62 = lean_array_get_size(x_61);
-lean_dec(x_61);
-x_75 = lean_ctor_get(x_1, 0);
-lean_inc(x_75);
-x_76 = lean_ctor_get(x_1, 1);
-lean_inc(x_76);
-x_77 = lean_ctor_get(x_1, 2);
-lean_inc(x_77);
-x_78 = lean_ctor_get(x_1, 3);
-lean_inc(x_78);
-x_79 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
-x_80 = lean_ctor_get(x_1, 5);
-lean_inc(x_80);
-x_81 = lean_ctor_get(x_75, 2);
-lean_inc(x_81);
-x_82 = lean_ctor_get(x_59, 1);
-lean_inc(x_82);
-lean_inc(x_82);
-x_83 = l_Lean_FileMap_toPosition(x_81, x_82);
-lean_dec(x_81);
-lean_ctor_set(x_52, 0, x_83);
-x_84 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_84, 0, x_75);
-lean_ctor_set(x_84, 1, x_76);
-lean_ctor_set(x_84, 2, x_77);
-lean_ctor_set(x_84, 3, x_78);
-lean_ctor_set(x_84, 4, x_52);
-lean_ctor_set(x_84, 5, x_80);
-lean_ctor_set_uint8(x_84, sizeof(void*)*6, x_79);
-lean_inc(x_84);
-x_85 = l_Lean_Parser_tokenFn(x_84, x_59);
-x_86 = lean_ctor_get(x_85, 3);
-lean_inc(x_86);
-if (lean_obj_tag(x_86) == 0)
-{
-lean_object* x_87; lean_object* x_88;
-x_87 = lean_ctor_get(x_85, 0);
-lean_inc(x_87);
-x_88 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_87);
-lean_dec(x_87);
-if (lean_obj_tag(x_88) == 2)
-{
-lean_object* x_89; lean_object* x_90; uint8_t x_91;
-x_89 = lean_ctor_get(x_88, 1);
-lean_inc(x_89);
-lean_dec(x_88);
-x_90 = l_Lean_Parser_Term_let_x21___elambda__1___closed__6;
-x_91 = lean_string_dec_eq(x_89, x_90);
-lean_dec(x_89);
-if (x_91 == 0)
-{
-lean_object* x_92; lean_object* x_93;
-lean_dec(x_84);
-lean_dec(x_4);
-x_92 = l_Lean_Parser_Term_let_x21___elambda__1___closed__9;
-x_93 = l_Lean_Parser_ParserState_mkErrorsAt(x_85, x_92, x_82);
-x_63 = x_93;
-goto block_74;
-}
-else
-{
-lean_object* x_94;
-lean_dec(x_82);
-x_94 = lean_apply_2(x_4, x_84, x_85);
-x_63 = x_94;
-goto block_74;
-}
-}
-else
-{
-lean_object* x_95; lean_object* x_96;
-lean_dec(x_88);
-lean_dec(x_84);
-lean_dec(x_4);
-x_95 = l_Lean_Parser_Term_let_x21___elambda__1___closed__9;
-x_96 = l_Lean_Parser_ParserState_mkErrorsAt(x_85, x_95, x_82);
-x_63 = x_96;
-goto block_74;
-}
-}
-else
-{
-lean_object* x_97; lean_object* x_98;
-lean_dec(x_86);
-lean_dec(x_84);
-lean_dec(x_4);
-x_97 = l_Lean_Parser_Term_let_x21___elambda__1___closed__9;
-x_98 = l_Lean_Parser_ParserState_mkErrorsAt(x_85, x_97, x_82);
-x_63 = x_98;
-goto block_74;
-}
-block_74:
-{
-lean_object* x_64;
-x_64 = lean_ctor_get(x_63, 3);
-lean_inc(x_64);
-if (lean_obj_tag(x_64) == 0)
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; uint8_t x_68; lean_object* x_69;
-x_65 = lean_apply_2(x_6, x_1, x_63);
-x_66 = l_Lean_Parser_Term_let_x21___elambda__1___closed__2;
-x_67 = l_Lean_Parser_ParserState_mkNode(x_65, x_66, x_62);
-x_68 = 1;
-x_69 = l_Lean_Parser_mergeOrElseErrors(x_67, x_54, x_50, x_68);
-lean_dec(x_50);
-return x_69;
-}
-else
-{
-lean_object* x_70; lean_object* x_71; uint8_t x_72; lean_object* x_73;
-lean_dec(x_64);
-lean_dec(x_6);
-lean_dec(x_1);
-x_70 = l_Lean_Parser_Term_let_x21___elambda__1___closed__2;
-x_71 = l_Lean_Parser_ParserState_mkNode(x_63, x_70, x_62);
-x_72 = 1;
-x_73 = l_Lean_Parser_mergeOrElseErrors(x_71, x_54, x_50, x_72);
-lean_dec(x_50);
-return x_73;
-}
-}
-}
-else
-{
-uint8_t x_99; lean_object* x_100;
-lean_dec(x_60);
-lean_free_object(x_52);
-lean_dec(x_6);
-lean_dec(x_4);
-lean_dec(x_1);
-x_99 = 1;
-x_100 = l_Lean_Parser_mergeOrElseErrors(x_59, x_54, x_50, x_99);
-lean_dec(x_50);
-return x_100;
-}
-}
-}
-else
-{
-lean_object* x_101; lean_object* x_102; uint8_t x_103;
-x_101 = lean_ctor_get(x_52, 0);
-lean_inc(x_101);
-lean_dec(x_52);
-x_102 = lean_ctor_get(x_51, 1);
-lean_inc(x_102);
-x_103 = lean_nat_dec_eq(x_102, x_50);
-lean_dec(x_102);
-if (x_103 == 0)
-{
-lean_dec(x_101);
-lean_dec(x_50);
-lean_dec(x_49);
-lean_dec(x_6);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_51;
-}
-else
-{
-lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107;
-lean_inc(x_50);
-x_104 = l_Lean_Parser_ParserState_restore(x_51, x_49, x_50);
-lean_dec(x_49);
-x_105 = l_Lean_Parser_leadPrec;
-x_106 = l_Lean_Parser_checkPrecFn(x_105, x_1, x_104);
-x_107 = lean_ctor_get(x_106, 3);
-lean_inc(x_107);
-if (lean_obj_tag(x_107) == 0)
-{
-lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; uint8_t 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; lean_object* x_134;
-x_108 = lean_ctor_get(x_106, 0);
-lean_inc(x_108);
-x_109 = lean_array_get_size(x_108);
-lean_dec(x_108);
-x_122 = lean_ctor_get(x_1, 0);
-lean_inc(x_122);
-x_123 = lean_ctor_get(x_1, 1);
-lean_inc(x_123);
-x_124 = lean_ctor_get(x_1, 2);
-lean_inc(x_124);
-x_125 = lean_ctor_get(x_1, 3);
-lean_inc(x_125);
-x_126 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
-x_127 = lean_ctor_get(x_1, 5);
-lean_inc(x_127);
-x_128 = lean_ctor_get(x_122, 2);
-lean_inc(x_128);
-x_129 = lean_ctor_get(x_106, 1);
-lean_inc(x_129);
-lean_inc(x_129);
-x_130 = l_Lean_FileMap_toPosition(x_128, x_129);
-lean_dec(x_128);
-x_131 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_131, 0, x_130);
-x_132 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_132, 0, x_122);
-lean_ctor_set(x_132, 1, x_123);
-lean_ctor_set(x_132, 2, x_124);
-lean_ctor_set(x_132, 3, x_125);
-lean_ctor_set(x_132, 4, x_131);
-lean_ctor_set(x_132, 5, x_127);
-lean_ctor_set_uint8(x_132, sizeof(void*)*6, x_126);
-lean_inc(x_132);
-x_133 = l_Lean_Parser_tokenFn(x_132, x_106);
-x_134 = lean_ctor_get(x_133, 3);
-lean_inc(x_134);
-if (lean_obj_tag(x_134) == 0)
-{
-lean_object* x_135; lean_object* x_136;
-x_135 = lean_ctor_get(x_133, 0);
-lean_inc(x_135);
-x_136 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_135);
-lean_dec(x_135);
-if (lean_obj_tag(x_136) == 2)
-{
-lean_object* x_137; lean_object* x_138; uint8_t x_139;
-x_137 = lean_ctor_get(x_136, 1);
-lean_inc(x_137);
-lean_dec(x_136);
-x_138 = l_Lean_Parser_Term_let_x21___elambda__1___closed__6;
-x_139 = lean_string_dec_eq(x_137, x_138);
-lean_dec(x_137);
-if (x_139 == 0)
-{
-lean_object* x_140; lean_object* x_141;
-lean_dec(x_132);
-lean_dec(x_4);
-x_140 = l_Lean_Parser_Term_let_x21___elambda__1___closed__9;
-x_141 = l_Lean_Parser_ParserState_mkErrorsAt(x_133, x_140, x_129);
-x_110 = x_141;
-goto block_121;
-}
-else
-{
-lean_object* x_142;
-lean_dec(x_129);
-x_142 = lean_apply_2(x_4, x_132, x_133);
-x_110 = x_142;
-goto block_121;
-}
-}
-else
-{
-lean_object* x_143; lean_object* x_144;
-lean_dec(x_136);
-lean_dec(x_132);
-lean_dec(x_4);
-x_143 = l_Lean_Parser_Term_let_x21___elambda__1___closed__9;
-x_144 = l_Lean_Parser_ParserState_mkErrorsAt(x_133, x_143, x_129);
-x_110 = x_144;
-goto block_121;
-}
-}
-else
-{
-lean_object* x_145; lean_object* x_146;
-lean_dec(x_134);
-lean_dec(x_132);
-lean_dec(x_4);
-x_145 = l_Lean_Parser_Term_let_x21___elambda__1___closed__9;
-x_146 = l_Lean_Parser_ParserState_mkErrorsAt(x_133, x_145, x_129);
-x_110 = x_146;
-goto block_121;
-}
-block_121:
-{
-lean_object* x_111;
-x_111 = lean_ctor_get(x_110, 3);
-lean_inc(x_111);
-if (lean_obj_tag(x_111) == 0)
-{
-lean_object* x_112; lean_object* x_113; lean_object* x_114; uint8_t x_115; lean_object* x_116;
-x_112 = lean_apply_2(x_6, x_1, x_110);
-x_113 = l_Lean_Parser_Term_let_x21___elambda__1___closed__2;
-x_114 = l_Lean_Parser_ParserState_mkNode(x_112, x_113, x_109);
-x_115 = 1;
-x_116 = l_Lean_Parser_mergeOrElseErrors(x_114, x_101, x_50, x_115);
-lean_dec(x_50);
-return x_116;
-}
-else
-{
-lean_object* x_117; lean_object* x_118; uint8_t x_119; lean_object* x_120;
-lean_dec(x_111);
-lean_dec(x_6);
-lean_dec(x_1);
-x_117 = l_Lean_Parser_Term_let_x21___elambda__1___closed__2;
-x_118 = l_Lean_Parser_ParserState_mkNode(x_110, x_117, x_109);
-x_119 = 1;
-x_120 = l_Lean_Parser_mergeOrElseErrors(x_118, x_101, x_50, x_119);
-lean_dec(x_50);
-return x_120;
-}
-}
-}
-else
-{
-uint8_t x_147; lean_object* x_148;
-lean_dec(x_107);
-lean_dec(x_6);
-lean_dec(x_4);
-lean_dec(x_1);
-x_147 = 1;
-x_148 = l_Lean_Parser_mergeOrElseErrors(x_106, x_101, x_50, x_147);
-lean_dec(x_50);
-return x_148;
-}
-}
-}
-}
+x_53 = l_Lean_Parser_Term_let_x21___elambda__1___closed__10;
+x_54 = 1;
+x_55 = l_Lean_Parser_orelseFnCore(x_8, x_53, x_54, x_1, x_2);
+return x_55;
}
}
}
@@ -52294,7 +35847,7 @@ static lean_object* _init_l_Lean_Parser_Term_let_x21___closed__3() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
-x_1 = l_Lean_Parser_Term_have___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Term_have___elambda__1___closed__8;
x_2 = lean_ctor_get(x_1, 0);
lean_inc(x_2);
x_3 = l_Lean_Parser_Term_let_x21___closed__2;
@@ -52592,6 +36145,58 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_let_x2a___elambda__1___closed__7() {
_start:
{
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
+x_1 = l_Lean_Parser_Term_letDecl;
+x_2 = lean_ctor_get(x_1, 1);
+lean_inc(x_2);
+x_3 = l_Lean_Parser_Term_let_x2a___elambda__1___closed__6;
+x_4 = lean_alloc_closure((void*)(l_Lean_Parser_Term_let___elambda__1___lambda__1___boxed), 4, 2);
+lean_closure_set(x_4, 0, x_3);
+lean_closure_set(x_4, 1, x_2);
+return x_4;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_let_x2a___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
+x_1 = l_Lean_Parser_Term_have___elambda__1___closed__8;
+x_2 = lean_ctor_get(x_1, 1);
+lean_inc(x_2);
+x_3 = l_Lean_Parser_Term_let_x2a___elambda__1___closed__7;
+x_4 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_4, 0, x_3);
+lean_closure_set(x_4, 1, x_2);
+return x_4;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_let_x2a___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_let_x2a___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_let_x2a___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_let_x2a___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_byTactic___elambda__1___closed__9;
+x_2 = l_Lean_Parser_Term_let_x2a___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_let_x2a___elambda__1___closed__11() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Char_HasRepr___closed__1;
x_2 = l_Lean_Parser_Term_let_x2a___elambda__1___closed__6;
@@ -52599,28 +36204,16 @@ x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Term_let_x2a___elambda__1___closed__8() {
+static lean_object* _init_l_Lean_Parser_Term_let_x2a___elambda__1___closed__12() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_let_x2a___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Term_let_x2a___elambda__1___closed__11;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Term_let_x2a___elambda__1___closed__9() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Term_let_x2a___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
-}
-}
lean_object* l_Lean_Parser_Term_let_x2a___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -52628,7 +36221,7 @@ lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_obj
x_3 = l_Lean_Parser_Term_letDecl;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-x_5 = l_Lean_Parser_Term_have___elambda__1___closed__7;
+x_5 = l_Lean_Parser_Term_have___elambda__1___closed__8;
x_6 = lean_ctor_get(x_5, 1);
lean_inc(x_6);
x_7 = l_Lean_Parser_Term_let_x2a___elambda__1___closed__4;
@@ -52647,7 +36240,7 @@ x_12 = lean_ctor_get(x_11, 3);
lean_inc(x_12);
if (lean_obj_tag(x_12) == 0)
{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; uint8_t 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_13; lean_object* x_14; lean_object* x_15; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; uint8_t x_27; lean_object* x_28; uint8_t x_29;
x_13 = lean_ctor_get(x_11, 0);
lean_inc(x_13);
x_14 = lean_array_get_size(x_13);
@@ -52663,85 +36256,95 @@ lean_inc(x_26);
x_27 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
x_28 = lean_ctor_get(x_1, 5);
lean_inc(x_28);
-x_29 = lean_ctor_get(x_23, 2);
-lean_inc(x_29);
-x_30 = lean_ctor_get(x_11, 1);
-lean_inc(x_30);
-lean_inc(x_30);
-x_31 = l_Lean_FileMap_toPosition(x_29, x_30);
-lean_dec(x_29);
-x_32 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_32, 0, x_31);
-x_33 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_33, 0, x_23);
-lean_ctor_set(x_33, 1, x_24);
-lean_ctor_set(x_33, 2, x_25);
-lean_ctor_set(x_33, 3, x_26);
-lean_ctor_set(x_33, 4, x_32);
-lean_ctor_set(x_33, 5, x_28);
-lean_ctor_set_uint8(x_33, sizeof(void*)*6, x_27);
-lean_inc(x_33);
-x_34 = l_Lean_Parser_tokenFn(x_33, x_11);
-x_35 = lean_ctor_get(x_34, 3);
-lean_inc(x_35);
-if (lean_obj_tag(x_35) == 0)
+x_29 = !lean_is_exclusive(x_23);
+if (x_29 == 0)
{
-lean_object* x_36; lean_object* x_37;
-x_36 = lean_ctor_get(x_34, 0);
-lean_inc(x_36);
-x_37 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_36);
-lean_dec(x_36);
-if (lean_obj_tag(x_37) == 2)
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_37, 1);
+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;
+x_30 = lean_ctor_get(x_23, 2);
+x_31 = lean_ctor_get(x_11, 1);
+lean_inc(x_31);
+x_32 = l_Lean_FileMap_toPosition(x_30, x_31);
+x_33 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_33, 0, x_32);
+x_34 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_34, 0, x_23);
+lean_ctor_set(x_34, 1, x_24);
+lean_ctor_set(x_34, 2, x_25);
+lean_ctor_set(x_34, 3, x_26);
+lean_ctor_set(x_34, 4, x_33);
+lean_ctor_set(x_34, 5, x_28);
+lean_ctor_set_uint8(x_34, sizeof(void*)*6, x_27);
+x_35 = l_Lean_Parser_Term_let_x2a___elambda__1___closed__6;
+x_36 = l_Lean_Parser_Term_let_x2a___elambda__1___closed__12;
+lean_inc(x_34);
+x_37 = l_Lean_Parser_symbolFnAux(x_35, x_36, x_34, x_11);
+x_38 = lean_ctor_get(x_37, 3);
lean_inc(x_38);
-lean_dec(x_37);
-x_39 = l_Lean_Parser_Term_let_x2a___elambda__1___closed__6;
-x_40 = lean_string_dec_eq(x_38, x_39);
+if (lean_obj_tag(x_38) == 0)
+{
+lean_object* x_39;
+x_39 = lean_apply_2(x_4, x_34, x_37);
+x_15 = x_39;
+goto block_22;
+}
+else
+{
lean_dec(x_38);
-if (x_40 == 0)
-{
-lean_object* x_41; lean_object* x_42;
-lean_dec(x_33);
+lean_dec(x_34);
lean_dec(x_4);
-x_41 = l_Lean_Parser_Term_let_x2a___elambda__1___closed__9;
-x_42 = l_Lean_Parser_ParserState_mkErrorsAt(x_34, x_41, x_30);
-x_15 = x_42;
-goto block_22;
-}
-else
-{
-lean_object* x_43;
-lean_dec(x_30);
-x_43 = lean_apply_2(x_4, x_33, x_34);
-x_15 = x_43;
+x_15 = x_37;
goto block_22;
}
}
else
{
-lean_object* x_44; lean_object* x_45;
-lean_dec(x_37);
-lean_dec(x_33);
-lean_dec(x_4);
-x_44 = l_Lean_Parser_Term_let_x2a___elambda__1___closed__9;
-x_45 = l_Lean_Parser_ParserState_mkErrorsAt(x_34, x_44, x_30);
-x_15 = x_45;
+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;
+x_40 = lean_ctor_get(x_23, 0);
+x_41 = lean_ctor_get(x_23, 1);
+x_42 = lean_ctor_get(x_23, 2);
+lean_inc(x_42);
+lean_inc(x_41);
+lean_inc(x_40);
+lean_dec(x_23);
+x_43 = lean_ctor_get(x_11, 1);
+lean_inc(x_43);
+x_44 = l_Lean_FileMap_toPosition(x_42, x_43);
+x_45 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_45, 0, x_40);
+lean_ctor_set(x_45, 1, x_41);
+lean_ctor_set(x_45, 2, x_42);
+x_46 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_46, 0, x_44);
+x_47 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_47, 0, x_45);
+lean_ctor_set(x_47, 1, x_24);
+lean_ctor_set(x_47, 2, x_25);
+lean_ctor_set(x_47, 3, x_26);
+lean_ctor_set(x_47, 4, x_46);
+lean_ctor_set(x_47, 5, x_28);
+lean_ctor_set_uint8(x_47, sizeof(void*)*6, x_27);
+x_48 = l_Lean_Parser_Term_let_x2a___elambda__1___closed__6;
+x_49 = l_Lean_Parser_Term_let_x2a___elambda__1___closed__12;
+lean_inc(x_47);
+x_50 = l_Lean_Parser_symbolFnAux(x_48, x_49, x_47, x_11);
+x_51 = lean_ctor_get(x_50, 3);
+lean_inc(x_51);
+if (lean_obj_tag(x_51) == 0)
+{
+lean_object* x_52;
+x_52 = lean_apply_2(x_4, x_47, x_50);
+x_15 = x_52;
goto block_22;
}
-}
else
{
-lean_object* x_46; lean_object* x_47;
-lean_dec(x_35);
-lean_dec(x_33);
+lean_dec(x_51);
+lean_dec(x_47);
lean_dec(x_4);
-x_46 = l_Lean_Parser_Term_let_x2a___elambda__1___closed__9;
-x_47 = l_Lean_Parser_ParserState_mkErrorsAt(x_34, x_46, x_30);
-x_15 = x_47;
+x_15 = x_50;
goto block_22;
}
+}
block_22:
{
lean_object* x_16;
@@ -52778,374 +36381,13 @@ return x_11;
}
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_2, 0);
-lean_inc(x_48);
-x_49 = lean_array_get_size(x_48);
-lean_dec(x_48);
-x_50 = lean_ctor_get(x_2, 1);
-lean_inc(x_50);
-lean_inc(x_1);
-x_51 = lean_apply_2(x_8, x_1, x_2);
-x_52 = lean_ctor_get(x_51, 3);
-lean_inc(x_52);
-if (lean_obj_tag(x_52) == 0)
-{
-lean_dec(x_50);
-lean_dec(x_49);
+lean_object* x_53; uint8_t x_54; lean_object* x_55;
lean_dec(x_6);
lean_dec(x_4);
-lean_dec(x_1);
-return x_51;
-}
-else
-{
-uint8_t x_53;
-x_53 = !lean_is_exclusive(x_52);
-if (x_53 == 0)
-{
-lean_object* x_54; lean_object* x_55; uint8_t x_56;
-x_54 = lean_ctor_get(x_52, 0);
-x_55 = lean_ctor_get(x_51, 1);
-lean_inc(x_55);
-x_56 = lean_nat_dec_eq(x_55, x_50);
-lean_dec(x_55);
-if (x_56 == 0)
-{
-lean_free_object(x_52);
-lean_dec(x_54);
-lean_dec(x_50);
-lean_dec(x_49);
-lean_dec(x_6);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_51;
-}
-else
-{
-lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60;
-lean_inc(x_50);
-x_57 = l_Lean_Parser_ParserState_restore(x_51, x_49, x_50);
-lean_dec(x_49);
-x_58 = l_Lean_Parser_leadPrec;
-x_59 = l_Lean_Parser_checkPrecFn(x_58, x_1, x_57);
-x_60 = lean_ctor_get(x_59, 3);
-lean_inc(x_60);
-if (lean_obj_tag(x_60) == 0)
-{
-lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; uint8_t 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;
-x_61 = lean_ctor_get(x_59, 0);
-lean_inc(x_61);
-x_62 = lean_array_get_size(x_61);
-lean_dec(x_61);
-x_75 = lean_ctor_get(x_1, 0);
-lean_inc(x_75);
-x_76 = lean_ctor_get(x_1, 1);
-lean_inc(x_76);
-x_77 = lean_ctor_get(x_1, 2);
-lean_inc(x_77);
-x_78 = lean_ctor_get(x_1, 3);
-lean_inc(x_78);
-x_79 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
-x_80 = lean_ctor_get(x_1, 5);
-lean_inc(x_80);
-x_81 = lean_ctor_get(x_75, 2);
-lean_inc(x_81);
-x_82 = lean_ctor_get(x_59, 1);
-lean_inc(x_82);
-lean_inc(x_82);
-x_83 = l_Lean_FileMap_toPosition(x_81, x_82);
-lean_dec(x_81);
-lean_ctor_set(x_52, 0, x_83);
-x_84 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_84, 0, x_75);
-lean_ctor_set(x_84, 1, x_76);
-lean_ctor_set(x_84, 2, x_77);
-lean_ctor_set(x_84, 3, x_78);
-lean_ctor_set(x_84, 4, x_52);
-lean_ctor_set(x_84, 5, x_80);
-lean_ctor_set_uint8(x_84, sizeof(void*)*6, x_79);
-lean_inc(x_84);
-x_85 = l_Lean_Parser_tokenFn(x_84, x_59);
-x_86 = lean_ctor_get(x_85, 3);
-lean_inc(x_86);
-if (lean_obj_tag(x_86) == 0)
-{
-lean_object* x_87; lean_object* x_88;
-x_87 = lean_ctor_get(x_85, 0);
-lean_inc(x_87);
-x_88 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_87);
-lean_dec(x_87);
-if (lean_obj_tag(x_88) == 2)
-{
-lean_object* x_89; lean_object* x_90; uint8_t x_91;
-x_89 = lean_ctor_get(x_88, 1);
-lean_inc(x_89);
-lean_dec(x_88);
-x_90 = l_Lean_Parser_Term_let_x2a___elambda__1___closed__6;
-x_91 = lean_string_dec_eq(x_89, x_90);
-lean_dec(x_89);
-if (x_91 == 0)
-{
-lean_object* x_92; lean_object* x_93;
-lean_dec(x_84);
-lean_dec(x_4);
-x_92 = l_Lean_Parser_Term_let_x2a___elambda__1___closed__9;
-x_93 = l_Lean_Parser_ParserState_mkErrorsAt(x_85, x_92, x_82);
-x_63 = x_93;
-goto block_74;
-}
-else
-{
-lean_object* x_94;
-lean_dec(x_82);
-x_94 = lean_apply_2(x_4, x_84, x_85);
-x_63 = x_94;
-goto block_74;
-}
-}
-else
-{
-lean_object* x_95; lean_object* x_96;
-lean_dec(x_88);
-lean_dec(x_84);
-lean_dec(x_4);
-x_95 = l_Lean_Parser_Term_let_x2a___elambda__1___closed__9;
-x_96 = l_Lean_Parser_ParserState_mkErrorsAt(x_85, x_95, x_82);
-x_63 = x_96;
-goto block_74;
-}
-}
-else
-{
-lean_object* x_97; lean_object* x_98;
-lean_dec(x_86);
-lean_dec(x_84);
-lean_dec(x_4);
-x_97 = l_Lean_Parser_Term_let_x2a___elambda__1___closed__9;
-x_98 = l_Lean_Parser_ParserState_mkErrorsAt(x_85, x_97, x_82);
-x_63 = x_98;
-goto block_74;
-}
-block_74:
-{
-lean_object* x_64;
-x_64 = lean_ctor_get(x_63, 3);
-lean_inc(x_64);
-if (lean_obj_tag(x_64) == 0)
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; uint8_t x_68; lean_object* x_69;
-x_65 = lean_apply_2(x_6, x_1, x_63);
-x_66 = l_Lean_Parser_Term_let_x2a___elambda__1___closed__2;
-x_67 = l_Lean_Parser_ParserState_mkNode(x_65, x_66, x_62);
-x_68 = 1;
-x_69 = l_Lean_Parser_mergeOrElseErrors(x_67, x_54, x_50, x_68);
-lean_dec(x_50);
-return x_69;
-}
-else
-{
-lean_object* x_70; lean_object* x_71; uint8_t x_72; lean_object* x_73;
-lean_dec(x_64);
-lean_dec(x_6);
-lean_dec(x_1);
-x_70 = l_Lean_Parser_Term_let_x2a___elambda__1___closed__2;
-x_71 = l_Lean_Parser_ParserState_mkNode(x_63, x_70, x_62);
-x_72 = 1;
-x_73 = l_Lean_Parser_mergeOrElseErrors(x_71, x_54, x_50, x_72);
-lean_dec(x_50);
-return x_73;
-}
-}
-}
-else
-{
-uint8_t x_99; lean_object* x_100;
-lean_dec(x_60);
-lean_free_object(x_52);
-lean_dec(x_6);
-lean_dec(x_4);
-lean_dec(x_1);
-x_99 = 1;
-x_100 = l_Lean_Parser_mergeOrElseErrors(x_59, x_54, x_50, x_99);
-lean_dec(x_50);
-return x_100;
-}
-}
-}
-else
-{
-lean_object* x_101; lean_object* x_102; uint8_t x_103;
-x_101 = lean_ctor_get(x_52, 0);
-lean_inc(x_101);
-lean_dec(x_52);
-x_102 = lean_ctor_get(x_51, 1);
-lean_inc(x_102);
-x_103 = lean_nat_dec_eq(x_102, x_50);
-lean_dec(x_102);
-if (x_103 == 0)
-{
-lean_dec(x_101);
-lean_dec(x_50);
-lean_dec(x_49);
-lean_dec(x_6);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_51;
-}
-else
-{
-lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107;
-lean_inc(x_50);
-x_104 = l_Lean_Parser_ParserState_restore(x_51, x_49, x_50);
-lean_dec(x_49);
-x_105 = l_Lean_Parser_leadPrec;
-x_106 = l_Lean_Parser_checkPrecFn(x_105, x_1, x_104);
-x_107 = lean_ctor_get(x_106, 3);
-lean_inc(x_107);
-if (lean_obj_tag(x_107) == 0)
-{
-lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; uint8_t 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; lean_object* x_134;
-x_108 = lean_ctor_get(x_106, 0);
-lean_inc(x_108);
-x_109 = lean_array_get_size(x_108);
-lean_dec(x_108);
-x_122 = lean_ctor_get(x_1, 0);
-lean_inc(x_122);
-x_123 = lean_ctor_get(x_1, 1);
-lean_inc(x_123);
-x_124 = lean_ctor_get(x_1, 2);
-lean_inc(x_124);
-x_125 = lean_ctor_get(x_1, 3);
-lean_inc(x_125);
-x_126 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
-x_127 = lean_ctor_get(x_1, 5);
-lean_inc(x_127);
-x_128 = lean_ctor_get(x_122, 2);
-lean_inc(x_128);
-x_129 = lean_ctor_get(x_106, 1);
-lean_inc(x_129);
-lean_inc(x_129);
-x_130 = l_Lean_FileMap_toPosition(x_128, x_129);
-lean_dec(x_128);
-x_131 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_131, 0, x_130);
-x_132 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_132, 0, x_122);
-lean_ctor_set(x_132, 1, x_123);
-lean_ctor_set(x_132, 2, x_124);
-lean_ctor_set(x_132, 3, x_125);
-lean_ctor_set(x_132, 4, x_131);
-lean_ctor_set(x_132, 5, x_127);
-lean_ctor_set_uint8(x_132, sizeof(void*)*6, x_126);
-lean_inc(x_132);
-x_133 = l_Lean_Parser_tokenFn(x_132, x_106);
-x_134 = lean_ctor_get(x_133, 3);
-lean_inc(x_134);
-if (lean_obj_tag(x_134) == 0)
-{
-lean_object* x_135; lean_object* x_136;
-x_135 = lean_ctor_get(x_133, 0);
-lean_inc(x_135);
-x_136 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_135);
-lean_dec(x_135);
-if (lean_obj_tag(x_136) == 2)
-{
-lean_object* x_137; lean_object* x_138; uint8_t x_139;
-x_137 = lean_ctor_get(x_136, 1);
-lean_inc(x_137);
-lean_dec(x_136);
-x_138 = l_Lean_Parser_Term_let_x2a___elambda__1___closed__6;
-x_139 = lean_string_dec_eq(x_137, x_138);
-lean_dec(x_137);
-if (x_139 == 0)
-{
-lean_object* x_140; lean_object* x_141;
-lean_dec(x_132);
-lean_dec(x_4);
-x_140 = l_Lean_Parser_Term_let_x2a___elambda__1___closed__9;
-x_141 = l_Lean_Parser_ParserState_mkErrorsAt(x_133, x_140, x_129);
-x_110 = x_141;
-goto block_121;
-}
-else
-{
-lean_object* x_142;
-lean_dec(x_129);
-x_142 = lean_apply_2(x_4, x_132, x_133);
-x_110 = x_142;
-goto block_121;
-}
-}
-else
-{
-lean_object* x_143; lean_object* x_144;
-lean_dec(x_136);
-lean_dec(x_132);
-lean_dec(x_4);
-x_143 = l_Lean_Parser_Term_let_x2a___elambda__1___closed__9;
-x_144 = l_Lean_Parser_ParserState_mkErrorsAt(x_133, x_143, x_129);
-x_110 = x_144;
-goto block_121;
-}
-}
-else
-{
-lean_object* x_145; lean_object* x_146;
-lean_dec(x_134);
-lean_dec(x_132);
-lean_dec(x_4);
-x_145 = l_Lean_Parser_Term_let_x2a___elambda__1___closed__9;
-x_146 = l_Lean_Parser_ParserState_mkErrorsAt(x_133, x_145, x_129);
-x_110 = x_146;
-goto block_121;
-}
-block_121:
-{
-lean_object* x_111;
-x_111 = lean_ctor_get(x_110, 3);
-lean_inc(x_111);
-if (lean_obj_tag(x_111) == 0)
-{
-lean_object* x_112; lean_object* x_113; lean_object* x_114; uint8_t x_115; lean_object* x_116;
-x_112 = lean_apply_2(x_6, x_1, x_110);
-x_113 = l_Lean_Parser_Term_let_x2a___elambda__1___closed__2;
-x_114 = l_Lean_Parser_ParserState_mkNode(x_112, x_113, x_109);
-x_115 = 1;
-x_116 = l_Lean_Parser_mergeOrElseErrors(x_114, x_101, x_50, x_115);
-lean_dec(x_50);
-return x_116;
-}
-else
-{
-lean_object* x_117; lean_object* x_118; uint8_t x_119; lean_object* x_120;
-lean_dec(x_111);
-lean_dec(x_6);
-lean_dec(x_1);
-x_117 = l_Lean_Parser_Term_let_x2a___elambda__1___closed__2;
-x_118 = l_Lean_Parser_ParserState_mkNode(x_110, x_117, x_109);
-x_119 = 1;
-x_120 = l_Lean_Parser_mergeOrElseErrors(x_118, x_101, x_50, x_119);
-lean_dec(x_50);
-return x_120;
-}
-}
-}
-else
-{
-uint8_t x_147; lean_object* x_148;
-lean_dec(x_107);
-lean_dec(x_6);
-lean_dec(x_4);
-lean_dec(x_1);
-x_147 = 1;
-x_148 = l_Lean_Parser_mergeOrElseErrors(x_106, x_101, x_50, x_147);
-lean_dec(x_50);
-return x_148;
-}
-}
-}
-}
+x_53 = l_Lean_Parser_Term_let_x2a___elambda__1___closed__10;
+x_54 = 1;
+x_55 = l_Lean_Parser_orelseFnCore(x_8, x_53, x_54, x_1, x_2);
+return x_55;
}
}
}
@@ -53174,7 +36416,7 @@ static lean_object* _init_l_Lean_Parser_Term_let_x2a___closed__3() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
-x_1 = l_Lean_Parser_Term_have___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Term_have___elambda__1___closed__8;
x_2 = lean_ctor_get(x_1, 0);
lean_inc(x_2);
x_3 = l_Lean_Parser_Term_let_x2a___closed__2;
@@ -53413,107 +36655,28 @@ x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1);
return x_5;
}
}
+static lean_object* _init_l_Lean_Parser_Term_attrArg___elambda__1___closed__1() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_strLit___closed__2;
+x_2 = l_Lean_Parser_numLit___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Term_attrArg___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-lean_inc(x_1);
-x_6 = l_Lean_Parser_Term_ident___elambda__1(x_1, x_2);
-x_7 = lean_ctor_get(x_6, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
-{
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_1);
+lean_object* x_3; lean_object* x_4; uint8_t x_5; lean_object* x_6;
+x_3 = l_Lean_Parser_Term_ident___closed__1;
+x_4 = l_Lean_Parser_Term_attrArg___elambda__1___closed__1;
+x_5 = 1;
+x_6 = l_Lean_Parser_orelseFnCore(x_3, x_4, x_5, x_1, x_2);
return x_6;
}
-else
-{
-lean_object* x_8; lean_object* x_9; uint8_t x_10;
-x_8 = lean_ctor_get(x_7, 0);
-lean_inc(x_8);
-lean_dec(x_7);
-x_9 = lean_ctor_get(x_6, 1);
-lean_inc(x_9);
-x_10 = lean_nat_dec_eq(x_9, x_5);
-lean_dec(x_9);
-if (x_10 == 0)
-{
-lean_dec(x_8);
-lean_dec(x_5);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_6;
-}
-else
-{
-lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15;
-lean_inc(x_5);
-x_11 = l_Lean_Parser_ParserState_restore(x_6, x_4, x_5);
-lean_dec(x_4);
-x_12 = lean_ctor_get(x_11, 0);
-lean_inc(x_12);
-x_13 = lean_array_get_size(x_12);
-lean_dec(x_12);
-lean_inc(x_1);
-x_14 = l_Lean_Parser_strLit___elambda__1(x_1, x_11);
-x_15 = lean_ctor_get(x_14, 3);
-lean_inc(x_15);
-if (lean_obj_tag(x_15) == 0)
-{
-uint8_t x_16; lean_object* x_17;
-lean_dec(x_13);
-lean_dec(x_1);
-x_16 = 1;
-x_17 = l_Lean_Parser_mergeOrElseErrors(x_14, x_8, x_5, x_16);
-lean_dec(x_5);
-return x_17;
-}
-else
-{
-lean_object* x_18; lean_object* x_19; uint8_t x_20;
-x_18 = lean_ctor_get(x_15, 0);
-lean_inc(x_18);
-lean_dec(x_15);
-x_19 = lean_ctor_get(x_14, 1);
-lean_inc(x_19);
-x_20 = lean_nat_dec_eq(x_19, x_5);
-lean_dec(x_19);
-if (x_20 == 0)
-{
-uint8_t x_21; lean_object* x_22;
-lean_dec(x_18);
-lean_dec(x_13);
-lean_dec(x_1);
-x_21 = 1;
-x_22 = l_Lean_Parser_mergeOrElseErrors(x_14, x_8, x_5, x_21);
-lean_dec(x_5);
-return x_22;
-}
-else
-{
-lean_object* x_23; lean_object* x_24; uint8_t x_25; lean_object* x_26; lean_object* x_27;
-lean_inc(x_5);
-x_23 = l_Lean_Parser_ParserState_restore(x_14, x_13, x_5);
-lean_dec(x_13);
-x_24 = l_Lean_Parser_numLit___elambda__1(x_1, x_23);
-x_25 = 1;
-x_26 = l_Lean_Parser_mergeOrElseErrors(x_24, x_18, x_5, x_25);
-x_27 = l_Lean_Parser_mergeOrElseErrors(x_26, x_8, x_5, x_25);
-lean_dec(x_5);
-return x_27;
-}
-}
-}
-}
-}
}
static lean_object* _init_l_Lean_Parser_Term_attrArg___closed__1() {
_start:
@@ -53569,96 +36732,6 @@ x_1 = l_Lean_Parser_Term_attrArg___closed__4;
return x_1;
}
}
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_attrInstance___elambda__1___spec__1(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3; lean_object* x_4; lean_object* x_5;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_5 = lean_ctor_get(x_2, 3);
-lean_inc(x_5);
-if (lean_obj_tag(x_5) == 0)
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8;
-x_6 = lean_ctor_get(x_2, 1);
-lean_inc(x_6);
-lean_inc(x_1);
-x_7 = l_Lean_Parser_Term_attrArg___elambda__1(x_1, x_2);
-x_8 = lean_ctor_get(x_7, 3);
-lean_inc(x_8);
-if (lean_obj_tag(x_8) == 0)
-{
-lean_object* x_9; uint8_t x_10;
-lean_dec(x_4);
-x_9 = lean_ctor_get(x_7, 1);
-lean_inc(x_9);
-x_10 = lean_nat_dec_eq(x_6, x_9);
-lean_dec(x_9);
-lean_dec(x_6);
-if (x_10 == 0)
-{
-x_2 = x_7;
-goto _start;
-}
-else
-{
-lean_object* x_12; lean_object* x_13;
-lean_dec(x_1);
-x_12 = l_Lean_Parser_manyAux___main___closed__1;
-x_13 = l_Lean_Parser_ParserState_mkUnexpectedError(x_7, x_12);
-return x_13;
-}
-}
-else
-{
-lean_object* x_14; uint8_t x_15;
-lean_dec(x_8);
-lean_dec(x_1);
-x_14 = lean_ctor_get(x_7, 1);
-lean_inc(x_14);
-x_15 = lean_nat_dec_eq(x_6, x_14);
-lean_dec(x_14);
-if (x_15 == 0)
-{
-lean_dec(x_6);
-lean_dec(x_4);
-return x_7;
-}
-else
-{
-lean_object* x_16;
-x_16 = l_Lean_Parser_ParserState_restore(x_7, x_4, x_6);
-lean_dec(x_4);
-return x_16;
-}
-}
-}
-else
-{
-lean_object* x_17; uint8_t x_18;
-lean_dec(x_5);
-lean_dec(x_1);
-x_17 = lean_ctor_get(x_2, 1);
-lean_inc(x_17);
-x_18 = lean_nat_dec_eq(x_17, x_17);
-if (x_18 == 0)
-{
-lean_dec(x_17);
-lean_dec(x_4);
-return x_2;
-}
-else
-{
-lean_object* x_19;
-x_19 = l_Lean_Parser_ParserState_restore(x_2, x_4, x_17);
-lean_dec(x_4);
-return x_19;
-}
-}
-}
-}
static lean_object* _init_l_Lean_Parser_Term_attrInstance___elambda__1___closed__1() {
_start:
{
@@ -53698,6 +36771,64 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Term_attrInstance___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Parser_inhabited___closed__2;
+x_2 = l_Lean_Parser_Term_attrArg___closed__3;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_attrInstance___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_attrInstance___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_manyFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_attrInstance___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_rawIdent___closed__2;
+x_2 = l_Lean_Parser_Term_attrInstance___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_attrInstance___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_attrInstance___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_attrInstance___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_attrInstance___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_attrInstance___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Term_attrInstance___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -53729,26 +36860,27 @@ x_12 = lean_ctor_get(x_11, 3);
lean_inc(x_12);
if (lean_obj_tag(x_12) == 0)
{
-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_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;
x_13 = lean_ctor_get(x_11, 0);
lean_inc(x_13);
x_14 = lean_array_get_size(x_13);
lean_dec(x_13);
-x_15 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_attrInstance___elambda__1___spec__1(x_1, x_11);
-x_16 = l_Lean_nullKind;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_14);
-x_18 = l_Lean_Parser_Term_attrInstance___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_10);
-return x_19;
+x_15 = l_Lean_Parser_Term_attrInstance___elambda__1___closed__5;
+x_16 = l_Lean_Parser_manyAux(x_15, x_1, x_11);
+x_17 = l_Lean_nullKind;
+x_18 = l_Lean_Parser_ParserState_mkNode(x_16, x_17, x_14);
+x_19 = l_Lean_Parser_Term_attrInstance___elambda__1___closed__2;
+x_20 = l_Lean_Parser_ParserState_mkNode(x_18, x_19, x_10);
+return x_20;
}
else
{
-lean_object* x_20; lean_object* x_21;
+lean_object* x_21; lean_object* x_22;
lean_dec(x_12);
lean_dec(x_1);
-x_20 = l_Lean_Parser_Term_attrInstance___elambda__1___closed__2;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_11, x_20, x_10);
-return x_21;
+x_21 = l_Lean_Parser_Term_attrInstance___elambda__1___closed__2;
+x_22 = l_Lean_Parser_ParserState_mkNode(x_11, x_21, x_10);
+return x_22;
}
}
else
@@ -53760,106 +36892,12 @@ return x_7;
}
else
{
-lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26;
-x_22 = lean_ctor_get(x_2, 0);
-lean_inc(x_22);
-x_23 = lean_array_get_size(x_22);
-lean_dec(x_22);
-x_24 = lean_ctor_get(x_2, 1);
-lean_inc(x_24);
-lean_inc(x_1);
-x_25 = lean_apply_2(x_4, x_1, x_2);
-x_26 = lean_ctor_get(x_25, 3);
-lean_inc(x_26);
-if (lean_obj_tag(x_26) == 0)
-{
-lean_dec(x_24);
-lean_dec(x_23);
-lean_dec(x_1);
+lean_object* x_23; uint8_t x_24; lean_object* x_25;
+x_23 = l_Lean_Parser_Term_attrInstance___elambda__1___closed__9;
+x_24 = 1;
+x_25 = l_Lean_Parser_orelseFnCore(x_4, x_23, x_24, x_1, x_2);
return x_25;
}
-else
-{
-lean_object* x_27; lean_object* x_28; uint8_t x_29;
-x_27 = lean_ctor_get(x_26, 0);
-lean_inc(x_27);
-lean_dec(x_26);
-x_28 = lean_ctor_get(x_25, 1);
-lean_inc(x_28);
-x_29 = lean_nat_dec_eq(x_28, x_24);
-lean_dec(x_28);
-if (x_29 == 0)
-{
-lean_dec(x_27);
-lean_dec(x_24);
-lean_dec(x_23);
-lean_dec(x_1);
-return x_25;
-}
-else
-{
-lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
-lean_inc(x_24);
-x_30 = l_Lean_Parser_ParserState_restore(x_25, x_23, x_24);
-lean_dec(x_23);
-x_31 = lean_unsigned_to_nat(1024u);
-x_32 = l_Lean_Parser_checkPrecFn(x_31, x_1, x_30);
-x_33 = lean_ctor_get(x_32, 3);
-lean_inc(x_33);
-if (lean_obj_tag(x_33) == 0)
-{
-lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_34 = lean_ctor_get(x_32, 0);
-lean_inc(x_34);
-x_35 = lean_array_get_size(x_34);
-lean_dec(x_34);
-lean_inc(x_1);
-x_36 = l_Lean_Parser_rawIdent___elambda__1(x_1, x_32);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-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; uint8_t x_45; lean_object* x_46;
-x_38 = lean_ctor_get(x_36, 0);
-lean_inc(x_38);
-x_39 = lean_array_get_size(x_38);
-lean_dec(x_38);
-x_40 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_attrInstance___elambda__1___spec__1(x_1, x_36);
-x_41 = l_Lean_nullKind;
-x_42 = l_Lean_Parser_ParserState_mkNode(x_40, x_41, x_39);
-x_43 = l_Lean_Parser_Term_attrInstance___elambda__1___closed__2;
-x_44 = l_Lean_Parser_ParserState_mkNode(x_42, x_43, x_35);
-x_45 = 1;
-x_46 = l_Lean_Parser_mergeOrElseErrors(x_44, x_27, x_24, x_45);
-lean_dec(x_24);
-return x_46;
-}
-else
-{
-lean_object* x_47; lean_object* x_48; uint8_t x_49; lean_object* x_50;
-lean_dec(x_37);
-lean_dec(x_1);
-x_47 = l_Lean_Parser_Term_attrInstance___elambda__1___closed__2;
-x_48 = l_Lean_Parser_ParserState_mkNode(x_36, x_47, x_35);
-x_49 = 1;
-x_50 = l_Lean_Parser_mergeOrElseErrors(x_48, x_27, x_24, x_49);
-lean_dec(x_24);
-return x_50;
-}
-}
-else
-{
-uint8_t x_51; lean_object* x_52;
-lean_dec(x_33);
-lean_dec(x_1);
-x_51 = 1;
-x_52 = l_Lean_Parser_mergeOrElseErrors(x_32, x_27, x_24, x_51);
-lean_dec(x_24);
-return x_52;
-}
-}
-}
-}
}
}
static lean_object* _init_l_Lean_Parser_Term_attrInstance___closed__1() {
@@ -53955,172 +36993,6 @@ x_1 = l_Lean_Parser_Term_attrInstance___closed__8;
return x_1;
}
}
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_attributes___elambda__1___spec__2(uint8_t x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5) {
-_start:
-{
-lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10;
-x_6 = lean_ctor_get(x_5, 0);
-lean_inc(x_6);
-x_7 = lean_array_get_size(x_6);
-lean_dec(x_6);
-x_8 = lean_ctor_get(x_5, 1);
-lean_inc(x_8);
-lean_inc(x_4);
-x_9 = l_Lean_Parser_Term_attrInstance___elambda__1(x_4, x_5);
-x_10 = lean_ctor_get(x_9, 3);
-lean_inc(x_10);
-if (lean_obj_tag(x_10) == 0)
-{
-lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_21; lean_object* x_22;
-lean_dec(x_8);
-lean_dec(x_7);
-x_11 = lean_ctor_get(x_9, 0);
-lean_inc(x_11);
-x_12 = lean_array_get_size(x_11);
-lean_dec(x_11);
-x_13 = lean_ctor_get(x_9, 1);
-lean_inc(x_13);
-lean_inc(x_4);
-x_21 = l_Lean_Parser_tokenFn(x_4, x_9);
-x_22 = lean_ctor_get(x_21, 3);
-lean_inc(x_22);
-if (lean_obj_tag(x_22) == 0)
-{
-lean_object* x_23; lean_object* x_24;
-x_23 = lean_ctor_get(x_21, 0);
-lean_inc(x_23);
-x_24 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_23);
-lean_dec(x_23);
-if (lean_obj_tag(x_24) == 2)
-{
-lean_object* x_25; lean_object* x_26; uint8_t x_27;
-x_25 = lean_ctor_get(x_24, 1);
-lean_inc(x_25);
-lean_dec(x_24);
-x_26 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__1;
-x_27 = lean_string_dec_eq(x_25, x_26);
-lean_dec(x_25);
-if (x_27 == 0)
-{
-lean_object* x_28; lean_object* x_29;
-x_28 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
-lean_inc(x_13);
-x_29 = l_Lean_Parser_ParserState_mkErrorsAt(x_21, x_28, x_13);
-x_14 = x_29;
-goto block_20;
-}
-else
-{
-x_14 = x_21;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_30; lean_object* x_31;
-lean_dec(x_24);
-x_30 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
-lean_inc(x_13);
-x_31 = l_Lean_Parser_ParserState_mkErrorsAt(x_21, x_30, x_13);
-x_14 = x_31;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_32; lean_object* x_33;
-lean_dec(x_22);
-x_32 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
-lean_inc(x_13);
-x_33 = l_Lean_Parser_ParserState_mkErrorsAt(x_21, x_32, x_13);
-x_14 = x_33;
-goto block_20;
-}
-block_20:
-{
-lean_object* x_15;
-x_15 = lean_ctor_get(x_14, 3);
-lean_inc(x_15);
-if (lean_obj_tag(x_15) == 0)
-{
-lean_dec(x_13);
-lean_dec(x_12);
-{
-uint8_t _tmp_2 = x_1;
-lean_object* _tmp_4 = x_14;
-x_3 = _tmp_2;
-x_5 = _tmp_4;
-}
-goto _start;
-}
-else
-{
-lean_object* x_17; lean_object* x_18; lean_object* x_19;
-lean_dec(x_15);
-lean_dec(x_4);
-x_17 = l_Lean_Parser_ParserState_restore(x_14, x_12, x_13);
-lean_dec(x_12);
-x_18 = l_Lean_nullKind;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_2);
-return x_19;
-}
-}
-}
-else
-{
-lean_object* x_34; uint8_t x_35;
-lean_dec(x_10);
-lean_dec(x_4);
-x_34 = lean_ctor_get(x_9, 1);
-lean_inc(x_34);
-x_35 = lean_nat_dec_lt(x_8, x_34);
-lean_dec(x_34);
-if (x_35 == 0)
-{
-if (x_3 == 0)
-{
-lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-lean_dec(x_8);
-lean_dec(x_7);
-x_36 = lean_box(0);
-x_37 = l_Lean_Parser_ParserState_pushSyntax(x_9, x_36);
-x_38 = l_Lean_nullKind;
-x_39 = l_Lean_Parser_ParserState_mkNode(x_37, x_38, x_2);
-return x_39;
-}
-else
-{
-lean_object* x_40; lean_object* x_41; lean_object* x_42;
-x_40 = l_Lean_Parser_ParserState_restore(x_9, x_7, x_8);
-lean_dec(x_7);
-x_41 = l_Lean_nullKind;
-x_42 = l_Lean_Parser_ParserState_mkNode(x_40, x_41, x_2);
-return x_42;
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_2);
-return x_9;
-}
-}
-}
-}
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_attributes___elambda__1___spec__1(uint8_t x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
-x_4 = lean_ctor_get(x_3, 0);
-lean_inc(x_4);
-x_5 = lean_array_get_size(x_4);
-lean_dec(x_4);
-x_6 = 0;
-x_7 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_attributes___elambda__1___spec__2(x_1, x_5, x_6, x_2, x_3);
-return x_7;
-}
-}
static lean_object* _init_l_Lean_Parser_Term_attributes___elambda__1___closed__1() {
_start:
{
@@ -54180,6 +37052,79 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_attributes___elambda__1___closed__7() {
_start:
{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_attributes___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_attributes___elambda__1___closed__8() {
+_start:
+{
+uint8_t x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
+x_1 = 0;
+x_2 = l_Lean_Parser_Term_attrInstance___closed__7;
+x_3 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__6;
+x_4 = lean_box(x_1);
+x_5 = lean_alloc_closure((void*)(l_Lean_Parser_sepBy1Fn___boxed), 5, 3);
+lean_closure_set(x_5, 0, x_4);
+lean_closure_set(x_5, 1, x_2);
+lean_closure_set(x_5, 2, x_3);
+return x_5;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_attributes___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_attributes___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_attributes___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_attributes___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Term_attributes___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_attributes___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_attributes___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_attributes___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_attributes___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_attributes___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_attributes___elambda__1___closed__13() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Char_HasRepr___closed__1;
x_2 = l_Lean_Parser_Term_attributes___elambda__1___closed__6;
@@ -54187,28 +37132,16 @@ x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Term_attributes___elambda__1___closed__8() {
+static lean_object* _init_l_Lean_Parser_Term_attributes___elambda__1___closed__14() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_attributes___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Term_attributes___elambda__1___closed__13;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Term_attributes___elambda__1___closed__9() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Term_attributes___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
-}
-}
lean_object* l_Lean_Parser_Term_attributes___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -54229,163 +37162,55 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_43; lean_object* x_44; lean_object* x_45;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_43 = lean_ctor_get(x_7, 1);
-lean_inc(x_43);
+x_11 = l_Lean_Parser_Term_attributes___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Term_attributes___elambda__1___closed__14;
lean_inc(x_1);
-x_44 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_45 = lean_ctor_get(x_44, 3);
-lean_inc(x_45);
-if (lean_obj_tag(x_45) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_46; lean_object* x_47;
-x_46 = lean_ctor_get(x_44, 0);
-lean_inc(x_46);
-x_47 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_46);
-lean_dec(x_46);
-if (lean_obj_tag(x_47) == 2)
-{
-lean_object* x_48; lean_object* x_49; uint8_t x_50;
-x_48 = lean_ctor_get(x_47, 1);
-lean_inc(x_48);
-lean_dec(x_47);
-x_49 = l_Lean_Parser_Term_attributes___elambda__1___closed__6;
-x_50 = lean_string_dec_eq(x_48, x_49);
-lean_dec(x_48);
-if (x_50 == 0)
-{
-lean_object* x_51; lean_object* x_52;
-x_51 = l_Lean_Parser_Term_attributes___elambda__1___closed__9;
-x_52 = l_Lean_Parser_ParserState_mkErrorsAt(x_44, x_51, x_43);
-x_11 = x_52;
-goto block_42;
-}
-else
-{
-lean_dec(x_43);
-x_11 = x_44;
-goto block_42;
-}
-}
-else
-{
-lean_object* x_53; lean_object* x_54;
-lean_dec(x_47);
-x_53 = l_Lean_Parser_Term_attributes___elambda__1___closed__9;
-x_54 = l_Lean_Parser_ParserState_mkErrorsAt(x_44, x_53, x_43);
-x_11 = x_54;
-goto block_42;
-}
-}
-else
-{
-lean_object* x_55; lean_object* x_56;
-lean_dec(x_45);
-x_55 = l_Lean_Parser_Term_attributes___elambda__1___closed__9;
-x_56 = l_Lean_Parser_ParserState_mkErrorsAt(x_44, x_55, x_43);
-x_11 = x_56;
-goto block_42;
-}
-block_42:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-uint8_t x_13; lean_object* x_14; lean_object* x_15;
-x_13 = 0;
+uint8_t x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
+x_15 = 0;
+x_16 = l_Lean_Parser_Term_attrInstance___closed__7;
+x_17 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__6;
lean_inc(x_1);
-x_14 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_attributes___elambda__1___spec__1(x_13, x_1, x_11);
-x_15 = lean_ctor_get(x_14, 3);
-lean_inc(x_15);
-if (lean_obj_tag(x_15) == 0)
-{
-lean_object* x_16; lean_object* x_17; lean_object* x_18;
-x_16 = lean_ctor_get(x_14, 1);
-lean_inc(x_16);
-x_17 = l_Lean_Parser_tokenFn(x_1, x_14);
-x_18 = lean_ctor_get(x_17, 3);
-lean_inc(x_18);
-if (lean_obj_tag(x_18) == 0)
-{
-lean_object* x_19; lean_object* x_20;
-x_19 = lean_ctor_get(x_17, 0);
+x_18 = l_Lean_Parser_sepBy1Fn(x_15, x_16, x_17, x_1, x_13);
+x_19 = lean_ctor_get(x_18, 3);
lean_inc(x_19);
-x_20 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_19);
+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;
+x_20 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__7;
+x_21 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__16;
+x_22 = l_Lean_Parser_symbolFnAux(x_20, x_21, x_1, x_18);
+x_23 = l_Lean_Parser_Term_attributes___elambda__1___closed__2;
+x_24 = l_Lean_Parser_ParserState_mkNode(x_22, x_23, x_10);
+return x_24;
+}
+else
+{
+lean_object* x_25; lean_object* x_26;
lean_dec(x_19);
-if (lean_obj_tag(x_20) == 2)
-{
-lean_object* x_21; lean_object* x_22; uint8_t x_23;
-x_21 = lean_ctor_get(x_20, 1);
-lean_inc(x_21);
-lean_dec(x_20);
-x_22 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__6;
-x_23 = lean_string_dec_eq(x_21, x_22);
-lean_dec(x_21);
-if (x_23 == 0)
-{
-lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
-x_24 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_25 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_24, x_16);
-x_26 = l_Lean_Parser_Term_attributes___elambda__1___closed__2;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_25, x_26, x_10);
-return x_27;
-}
-else
-{
-lean_object* x_28; lean_object* x_29;
-lean_dec(x_16);
-x_28 = l_Lean_Parser_Term_attributes___elambda__1___closed__2;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_17, x_28, x_10);
-return x_29;
-}
-}
-else
-{
-lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
-lean_dec(x_20);
-x_30 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_31 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_30, x_16);
-x_32 = l_Lean_Parser_Term_attributes___elambda__1___closed__2;
-x_33 = l_Lean_Parser_ParserState_mkNode(x_31, x_32, x_10);
-return x_33;
-}
-}
-else
-{
-lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-lean_dec(x_18);
-x_34 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_35 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_34, x_16);
-x_36 = l_Lean_Parser_Term_attributes___elambda__1___closed__2;
-x_37 = l_Lean_Parser_ParserState_mkNode(x_35, x_36, x_10);
-return x_37;
-}
-}
-else
-{
-lean_object* x_38; lean_object* x_39;
-lean_dec(x_15);
lean_dec(x_1);
-x_38 = l_Lean_Parser_Term_attributes___elambda__1___closed__2;
-x_39 = l_Lean_Parser_ParserState_mkNode(x_14, x_38, x_10);
-return x_39;
+x_25 = l_Lean_Parser_Term_attributes___elambda__1___closed__2;
+x_26 = l_Lean_Parser_ParserState_mkNode(x_18, x_25, x_10);
+return x_26;
}
}
else
{
-lean_object* x_40; lean_object* x_41;
-lean_dec(x_12);
+lean_object* x_27; lean_object* x_28;
+lean_dec(x_14);
lean_dec(x_1);
-x_40 = l_Lean_Parser_Term_attributes___elambda__1___closed__2;
-x_41 = l_Lean_Parser_ParserState_mkNode(x_11, x_40, x_10);
-return x_41;
-}
+x_27 = l_Lean_Parser_Term_attributes___elambda__1___closed__2;
+x_28 = l_Lean_Parser_ParserState_mkNode(x_13, x_27, x_10);
+return x_28;
}
}
else
@@ -54397,243 +37222,11 @@ return x_7;
}
else
{
-lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61;
-x_57 = lean_ctor_get(x_2, 0);
-lean_inc(x_57);
-x_58 = lean_array_get_size(x_57);
-lean_dec(x_57);
-x_59 = lean_ctor_get(x_2, 1);
-lean_inc(x_59);
-lean_inc(x_1);
-x_60 = lean_apply_2(x_4, x_1, x_2);
-x_61 = lean_ctor_get(x_60, 3);
-lean_inc(x_61);
-if (lean_obj_tag(x_61) == 0)
-{
-lean_dec(x_59);
-lean_dec(x_58);
-lean_dec(x_1);
-return x_60;
-}
-else
-{
-lean_object* x_62; lean_object* x_63; uint8_t x_64;
-x_62 = lean_ctor_get(x_61, 0);
-lean_inc(x_62);
-lean_dec(x_61);
-x_63 = lean_ctor_get(x_60, 1);
-lean_inc(x_63);
-x_64 = lean_nat_dec_eq(x_63, x_59);
-lean_dec(x_63);
-if (x_64 == 0)
-{
-lean_dec(x_62);
-lean_dec(x_59);
-lean_dec(x_58);
-lean_dec(x_1);
-return x_60;
-}
-else
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68;
-lean_inc(x_59);
-x_65 = l_Lean_Parser_ParserState_restore(x_60, x_58, x_59);
-lean_dec(x_58);
-x_66 = lean_unsigned_to_nat(1024u);
-x_67 = l_Lean_Parser_checkPrecFn(x_66, x_1, x_65);
-x_68 = lean_ctor_get(x_67, 3);
-lean_inc(x_68);
-if (lean_obj_tag(x_68) == 0)
-{
-lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_115; lean_object* x_116; lean_object* x_117;
-x_69 = lean_ctor_get(x_67, 0);
-lean_inc(x_69);
-x_70 = lean_array_get_size(x_69);
-lean_dec(x_69);
-x_115 = lean_ctor_get(x_67, 1);
-lean_inc(x_115);
-lean_inc(x_1);
-x_116 = l_Lean_Parser_tokenFn(x_1, x_67);
-x_117 = lean_ctor_get(x_116, 3);
-lean_inc(x_117);
-if (lean_obj_tag(x_117) == 0)
-{
-lean_object* x_118; lean_object* x_119;
-x_118 = lean_ctor_get(x_116, 0);
-lean_inc(x_118);
-x_119 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_118);
-lean_dec(x_118);
-if (lean_obj_tag(x_119) == 2)
-{
-lean_object* x_120; lean_object* x_121; uint8_t x_122;
-x_120 = lean_ctor_get(x_119, 1);
-lean_inc(x_120);
-lean_dec(x_119);
-x_121 = l_Lean_Parser_Term_attributes___elambda__1___closed__6;
-x_122 = lean_string_dec_eq(x_120, x_121);
-lean_dec(x_120);
-if (x_122 == 0)
-{
-lean_object* x_123; lean_object* x_124;
-x_123 = l_Lean_Parser_Term_attributes___elambda__1___closed__9;
-x_124 = l_Lean_Parser_ParserState_mkErrorsAt(x_116, x_123, x_115);
-x_71 = x_124;
-goto block_114;
-}
-else
-{
-lean_dec(x_115);
-x_71 = x_116;
-goto block_114;
-}
-}
-else
-{
-lean_object* x_125; lean_object* x_126;
-lean_dec(x_119);
-x_125 = l_Lean_Parser_Term_attributes___elambda__1___closed__9;
-x_126 = l_Lean_Parser_ParserState_mkErrorsAt(x_116, x_125, x_115);
-x_71 = x_126;
-goto block_114;
-}
-}
-else
-{
-lean_object* x_127; lean_object* x_128;
-lean_dec(x_117);
-x_127 = l_Lean_Parser_Term_attributes___elambda__1___closed__9;
-x_128 = l_Lean_Parser_ParserState_mkErrorsAt(x_116, x_127, x_115);
-x_71 = x_128;
-goto block_114;
-}
-block_114:
-{
-lean_object* x_72;
-x_72 = lean_ctor_get(x_71, 3);
-lean_inc(x_72);
-if (lean_obj_tag(x_72) == 0)
-{
-uint8_t x_73; lean_object* x_74; lean_object* x_75;
-x_73 = 0;
-lean_inc(x_1);
-x_74 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_attributes___elambda__1___spec__1(x_73, x_1, x_71);
-x_75 = lean_ctor_get(x_74, 3);
-lean_inc(x_75);
-if (lean_obj_tag(x_75) == 0)
-{
-lean_object* x_76; lean_object* x_77; lean_object* x_78;
-x_76 = lean_ctor_get(x_74, 1);
-lean_inc(x_76);
-x_77 = l_Lean_Parser_tokenFn(x_1, x_74);
-x_78 = lean_ctor_get(x_77, 3);
-lean_inc(x_78);
-if (lean_obj_tag(x_78) == 0)
-{
-lean_object* x_79; lean_object* x_80;
-x_79 = lean_ctor_get(x_77, 0);
-lean_inc(x_79);
-x_80 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_79);
-lean_dec(x_79);
-if (lean_obj_tag(x_80) == 2)
-{
-lean_object* x_81; lean_object* x_82; uint8_t x_83;
-x_81 = lean_ctor_get(x_80, 1);
-lean_inc(x_81);
-lean_dec(x_80);
-x_82 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__6;
-x_83 = lean_string_dec_eq(x_81, x_82);
-lean_dec(x_81);
-if (x_83 == 0)
-{
-lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; uint8_t x_88; lean_object* x_89;
-x_84 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_85 = l_Lean_Parser_ParserState_mkErrorsAt(x_77, x_84, x_76);
-x_86 = l_Lean_Parser_Term_attributes___elambda__1___closed__2;
-x_87 = l_Lean_Parser_ParserState_mkNode(x_85, x_86, x_70);
-x_88 = 1;
-x_89 = l_Lean_Parser_mergeOrElseErrors(x_87, x_62, x_59, x_88);
-lean_dec(x_59);
-return x_89;
-}
-else
-{
-lean_object* x_90; lean_object* x_91; uint8_t x_92; lean_object* x_93;
-lean_dec(x_76);
-x_90 = l_Lean_Parser_Term_attributes___elambda__1___closed__2;
-x_91 = l_Lean_Parser_ParserState_mkNode(x_77, x_90, x_70);
-x_92 = 1;
-x_93 = l_Lean_Parser_mergeOrElseErrors(x_91, x_62, x_59, x_92);
-lean_dec(x_59);
-return x_93;
-}
-}
-else
-{
-lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; uint8_t x_98; lean_object* x_99;
-lean_dec(x_80);
-x_94 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_95 = l_Lean_Parser_ParserState_mkErrorsAt(x_77, x_94, x_76);
-x_96 = l_Lean_Parser_Term_attributes___elambda__1___closed__2;
-x_97 = l_Lean_Parser_ParserState_mkNode(x_95, x_96, x_70);
-x_98 = 1;
-x_99 = l_Lean_Parser_mergeOrElseErrors(x_97, x_62, x_59, x_98);
-lean_dec(x_59);
-return x_99;
-}
-}
-else
-{
-lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; uint8_t x_104; lean_object* x_105;
-lean_dec(x_78);
-x_100 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_101 = l_Lean_Parser_ParserState_mkErrorsAt(x_77, x_100, x_76);
-x_102 = l_Lean_Parser_Term_attributes___elambda__1___closed__2;
-x_103 = l_Lean_Parser_ParserState_mkNode(x_101, x_102, x_70);
-x_104 = 1;
-x_105 = l_Lean_Parser_mergeOrElseErrors(x_103, x_62, x_59, x_104);
-lean_dec(x_59);
-return x_105;
-}
-}
-else
-{
-lean_object* x_106; lean_object* x_107; uint8_t x_108; lean_object* x_109;
-lean_dec(x_75);
-lean_dec(x_1);
-x_106 = l_Lean_Parser_Term_attributes___elambda__1___closed__2;
-x_107 = l_Lean_Parser_ParserState_mkNode(x_74, x_106, x_70);
-x_108 = 1;
-x_109 = l_Lean_Parser_mergeOrElseErrors(x_107, x_62, x_59, x_108);
-lean_dec(x_59);
-return x_109;
-}
-}
-else
-{
-lean_object* x_110; lean_object* x_111; uint8_t x_112; lean_object* x_113;
-lean_dec(x_72);
-lean_dec(x_1);
-x_110 = l_Lean_Parser_Term_attributes___elambda__1___closed__2;
-x_111 = l_Lean_Parser_ParserState_mkNode(x_71, x_110, x_70);
-x_112 = 1;
-x_113 = l_Lean_Parser_mergeOrElseErrors(x_111, x_62, x_59, x_112);
-lean_dec(x_59);
-return x_113;
-}
-}
-}
-else
-{
-uint8_t x_129; lean_object* x_130;
-lean_dec(x_68);
-lean_dec(x_1);
-x_129 = 1;
-x_130 = l_Lean_Parser_mergeOrElseErrors(x_67, x_62, x_59, x_129);
-lean_dec(x_59);
-return x_130;
-}
-}
-}
+lean_object* x_29; uint8_t x_30; lean_object* x_31;
+x_29 = l_Lean_Parser_Term_attributes___elambda__1___closed__12;
+x_30 = 1;
+x_31 = l_Lean_Parser_orelseFnCore(x_4, x_29, x_30, x_1, x_2);
+return x_31;
}
}
}
@@ -54738,293 +37331,51 @@ x_1 = l_Lean_Parser_Term_attributes___closed__9;
return x_1;
}
}
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_attributes___elambda__1___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
+static lean_object* _init_l_Lean_Parser_Term_letRecDecls___elambda__1___closed__1() {
_start:
{
-uint8_t x_6; uint8_t x_7; lean_object* x_8;
-x_6 = lean_unbox(x_1);
-lean_dec(x_1);
-x_7 = lean_unbox(x_3);
-lean_dec(x_3);
-x_8 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_attributes___elambda__1___spec__2(x_6, x_2, x_7, x_4, x_5);
-return x_8;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_attributes___closed__8;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optionalFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_attributes___elambda__1___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+static lean_object* _init_l_Lean_Parser_Term_letRecDecls___elambda__1___closed__2() {
_start:
{
-uint8_t x_4; lean_object* x_5;
-x_4 = lean_unbox(x_1);
-lean_dec(x_1);
-x_5 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_attributes___elambda__1___spec__1(x_4, x_2, x_3);
-return x_5;
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
+x_1 = l_Lean_Parser_Term_letDecl;
+x_2 = lean_ctor_get(x_1, 1);
+lean_inc(x_2);
+x_3 = l_Lean_Parser_Term_letRecDecls___elambda__1___closed__1;
+x_4 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_4, 0, x_3);
+lean_closure_set(x_4, 1, x_2);
+return x_4;
}
}
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_letRecDecls___elambda__1___spec__2(uint8_t x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5) {
+static lean_object* _init_l_Lean_Parser_Term_letRecDecls___elambda__1___closed__3() {
_start:
{
-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_45; lean_object* x_46;
-x_6 = l_Lean_Parser_Term_letDecl;
-x_7 = lean_ctor_get(x_6, 1);
-lean_inc(x_7);
-x_8 = lean_ctor_get(x_5, 0);
-lean_inc(x_8);
-x_9 = lean_array_get_size(x_8);
-lean_dec(x_8);
-x_10 = lean_ctor_get(x_5, 1);
-lean_inc(x_10);
-lean_inc(x_4);
-x_45 = l_Lean_Parser_Term_attributes___elambda__1(x_4, x_5);
-x_46 = lean_ctor_get(x_45, 3);
-lean_inc(x_46);
-if (lean_obj_tag(x_46) == 0)
-{
-lean_object* x_47; lean_object* x_48; lean_object* x_49;
-x_47 = l_Lean_nullKind;
-lean_inc(x_9);
-x_48 = l_Lean_Parser_ParserState_mkNode(x_45, x_47, x_9);
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
-{
-lean_object* x_50;
-lean_inc(x_4);
-x_50 = lean_apply_2(x_7, x_4, x_48);
-x_11 = x_50;
-goto block_44;
-}
-else
-{
-lean_dec(x_49);
-lean_dec(x_7);
-x_11 = x_48;
-goto block_44;
-}
-}
-else
-{
-lean_object* x_51; uint8_t x_52;
-lean_dec(x_46);
-x_51 = lean_ctor_get(x_45, 1);
-lean_inc(x_51);
-x_52 = lean_nat_dec_eq(x_51, x_10);
-lean_dec(x_51);
-if (x_52 == 0)
-{
-lean_object* x_53; lean_object* x_54; lean_object* x_55;
-x_53 = l_Lean_nullKind;
-lean_inc(x_9);
-x_54 = l_Lean_Parser_ParserState_mkNode(x_45, x_53, x_9);
-x_55 = lean_ctor_get(x_54, 3);
-lean_inc(x_55);
-if (lean_obj_tag(x_55) == 0)
-{
-lean_object* x_56;
-lean_inc(x_4);
-x_56 = lean_apply_2(x_7, x_4, x_54);
-x_11 = x_56;
-goto block_44;
-}
-else
-{
-lean_dec(x_55);
-lean_dec(x_7);
-x_11 = x_54;
-goto block_44;
-}
-}
-else
-{
-lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60;
-lean_inc(x_10);
-x_57 = l_Lean_Parser_ParserState_restore(x_45, x_9, x_10);
-x_58 = l_Lean_nullKind;
-lean_inc(x_9);
-x_59 = l_Lean_Parser_ParserState_mkNode(x_57, x_58, x_9);
-x_60 = lean_ctor_get(x_59, 3);
-lean_inc(x_60);
-if (lean_obj_tag(x_60) == 0)
-{
-lean_object* x_61;
-lean_inc(x_4);
-x_61 = lean_apply_2(x_7, x_4, x_59);
-x_11 = x_61;
-goto block_44;
-}
-else
-{
-lean_dec(x_60);
-lean_dec(x_7);
-x_11 = x_59;
-goto block_44;
-}
-}
-}
-block_44:
-{
-lean_object* x_12; lean_object* x_13; lean_object* x_14;
-x_12 = l_Lean_nullKind;
-lean_inc(x_9);
-x_13 = l_Lean_Parser_ParserState_mkNode(x_11, x_12, x_9);
-x_14 = lean_ctor_get(x_13, 3);
-lean_inc(x_14);
-if (lean_obj_tag(x_14) == 0)
-{
-lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_24; lean_object* x_25;
-lean_dec(x_10);
-lean_dec(x_9);
-x_15 = lean_ctor_get(x_13, 0);
-lean_inc(x_15);
-x_16 = lean_array_get_size(x_15);
-lean_dec(x_15);
-x_17 = lean_ctor_get(x_13, 1);
-lean_inc(x_17);
-lean_inc(x_4);
-x_24 = l_Lean_Parser_tokenFn(x_4, x_13);
-x_25 = lean_ctor_get(x_24, 3);
-lean_inc(x_25);
-if (lean_obj_tag(x_25) == 0)
-{
-lean_object* x_26; lean_object* x_27;
-x_26 = lean_ctor_get(x_24, 0);
-lean_inc(x_26);
-x_27 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_26);
-lean_dec(x_26);
-if (lean_obj_tag(x_27) == 2)
-{
-lean_object* x_28; lean_object* x_29; uint8_t x_30;
-x_28 = lean_ctor_get(x_27, 1);
-lean_inc(x_28);
-lean_dec(x_27);
-x_29 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__1;
-x_30 = lean_string_dec_eq(x_28, x_29);
-lean_dec(x_28);
-if (x_30 == 0)
-{
-lean_object* x_31; lean_object* x_32;
-x_31 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
-lean_inc(x_17);
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_24, x_31, x_17);
-x_18 = x_32;
-goto block_23;
-}
-else
-{
-x_18 = x_24;
-goto block_23;
-}
-}
-else
-{
-lean_object* x_33; lean_object* x_34;
-lean_dec(x_27);
-x_33 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
-lean_inc(x_17);
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_24, x_33, x_17);
-x_18 = x_34;
-goto block_23;
-}
-}
-else
-{
-lean_object* x_35; lean_object* x_36;
-lean_dec(x_25);
-x_35 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
-lean_inc(x_17);
-x_36 = l_Lean_Parser_ParserState_mkErrorsAt(x_24, x_35, x_17);
-x_18 = x_36;
-goto block_23;
-}
-block_23:
-{
-lean_object* x_19;
-x_19 = lean_ctor_get(x_18, 3);
-lean_inc(x_19);
-if (lean_obj_tag(x_19) == 0)
-{
-lean_dec(x_17);
-lean_dec(x_16);
-{
-uint8_t _tmp_2 = x_1;
-lean_object* _tmp_4 = x_18;
-x_3 = _tmp_2;
-x_5 = _tmp_4;
-}
-goto _start;
-}
-else
-{
-lean_object* x_21; lean_object* x_22;
-lean_dec(x_19);
-lean_dec(x_4);
-x_21 = l_Lean_Parser_ParserState_restore(x_18, x_16, x_17);
-lean_dec(x_16);
-x_22 = l_Lean_Parser_ParserState_mkNode(x_21, x_12, x_2);
-return x_22;
-}
-}
-}
-else
-{
-lean_object* x_37; uint8_t x_38;
-lean_dec(x_14);
-lean_dec(x_4);
-x_37 = lean_ctor_get(x_13, 1);
-lean_inc(x_37);
-x_38 = lean_nat_dec_lt(x_10, x_37);
-lean_dec(x_37);
-if (x_38 == 0)
-{
-if (x_3 == 0)
-{
-lean_object* x_39; lean_object* x_40; lean_object* x_41;
-lean_dec(x_10);
-lean_dec(x_9);
-x_39 = lean_box(0);
-x_40 = l_Lean_Parser_ParserState_pushSyntax(x_13, x_39);
-x_41 = l_Lean_Parser_ParserState_mkNode(x_40, x_12, x_2);
-return x_41;
-}
-else
-{
-lean_object* x_42; lean_object* x_43;
-x_42 = l_Lean_Parser_ParserState_restore(x_13, x_9, x_10);
-lean_dec(x_9);
-x_43 = l_Lean_Parser_ParserState_mkNode(x_42, x_12, x_2);
-return x_43;
-}
-}
-else
-{
-lean_dec(x_10);
-lean_dec(x_9);
-lean_dec(x_2);
-return x_13;
-}
-}
-}
-}
-}
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_letRecDecls___elambda__1___spec__1(uint8_t x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
-x_4 = lean_ctor_get(x_3, 0);
-lean_inc(x_4);
-x_5 = lean_array_get_size(x_4);
-lean_dec(x_4);
-x_6 = 0;
-x_7 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_letRecDecls___elambda__1___spec__2(x_1, x_5, x_6, x_2, x_3);
-return x_7;
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_nullKind;
+x_2 = l_Lean_Parser_Term_letRecDecls___elambda__1___closed__2;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
}
}
lean_object* l_Lean_Parser_Term_letRecDecls___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-uint8_t x_3; lean_object* x_4;
+uint8_t x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
x_3 = 0;
-x_4 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_letRecDecls___elambda__1___spec__1(x_3, x_1, x_2);
-return x_4;
+x_4 = l_Lean_Parser_Term_letRecDecls___elambda__1___closed__3;
+x_5 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__6;
+x_6 = l_Lean_Parser_sepBy1Fn(x_3, x_4, x_5, x_1, x_2);
+return x_6;
}
}
static lean_object* _init_l_Lean_Parser_Term_letRecDecls___closed__1() {
@@ -55098,26 +37449,248 @@ x_1 = l_Lean_Parser_Term_letRecDecls___closed__6;
return x_1;
}
}
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_letRecDecls___elambda__1___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
+lean_object* l_Lean_Parser_Term_letrec___elambda__1___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
-uint8_t x_6; uint8_t x_7; lean_object* x_8;
-x_6 = lean_unbox(x_1);
-lean_dec(x_1);
-x_7 = lean_unbox(x_3);
+uint8_t x_5;
+x_5 = !lean_is_exclusive(x_3);
+if (x_5 == 0)
+{
+lean_object* x_6; lean_object* x_7; uint8_t x_8;
+x_6 = lean_ctor_get(x_3, 0);
+x_7 = lean_ctor_get(x_3, 4);
+lean_dec(x_7);
+x_8 = !lean_is_exclusive(x_6);
+if (x_8 == 0)
+{
+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; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25;
+x_9 = lean_ctor_get(x_6, 2);
+x_10 = lean_ctor_get(x_4, 1);
+lean_inc(x_10);
+x_11 = l_Lean_FileMap_toPosition(x_9, x_10);
+x_12 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_12, 0, x_11);
+lean_ctor_set(x_3, 4, x_12);
+x_13 = lean_ctor_get(x_4, 0);
+lean_inc(x_13);
+x_14 = lean_array_get_size(x_13);
+lean_dec(x_13);
+x_21 = l_Char_HasRepr___closed__1;
+x_22 = lean_string_append(x_21, x_1);
+x_23 = lean_string_append(x_22, x_21);
+lean_inc(x_3);
+x_24 = l_Lean_Parser_symbolFnAux(x_1, x_23, x_3, x_4);
+x_25 = lean_ctor_get(x_24, 3);
+lean_inc(x_25);
+if (lean_obj_tag(x_25) == 0)
+{
+lean_object* x_26; lean_object* x_27; lean_object* x_28;
+x_26 = lean_string_append(x_21, x_2);
+x_27 = lean_string_append(x_26, x_21);
+lean_inc(x_3);
+x_28 = l_Lean_Parser_nonReservedSymbolFnAux(x_2, x_27, x_3, x_24);
+x_15 = x_28;
+goto block_20;
+}
+else
+{
+lean_dec(x_25);
+lean_dec(x_2);
+x_15 = x_24;
+goto block_20;
+}
+block_20:
+{
+lean_object* x_16; lean_object* x_17; lean_object* x_18;
+x_16 = l_Lean_nullKind;
+x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_14);
+x_18 = lean_ctor_get(x_17, 3);
+lean_inc(x_18);
+if (lean_obj_tag(x_18) == 0)
+{
+lean_object* x_19;
+x_19 = l_Lean_Parser_Term_letRecDecls___elambda__1(x_3, x_17);
+return x_19;
+}
+else
+{
+lean_dec(x_18);
lean_dec(x_3);
-x_8 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_letRecDecls___elambda__1___spec__2(x_6, x_2, x_7, x_4, x_5);
-return x_8;
+return x_17;
}
}
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_letRecDecls___elambda__1___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
+}
+else
{
-uint8_t x_4; lean_object* x_5;
-x_4 = lean_unbox(x_1);
-lean_dec(x_1);
-x_5 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_letRecDecls___elambda__1___spec__1(x_4, x_2, x_3);
-return x_5;
+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_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48;
+x_29 = lean_ctor_get(x_6, 0);
+x_30 = lean_ctor_get(x_6, 1);
+x_31 = lean_ctor_get(x_6, 2);
+lean_inc(x_31);
+lean_inc(x_30);
+lean_inc(x_29);
+lean_dec(x_6);
+x_32 = lean_ctor_get(x_4, 1);
+lean_inc(x_32);
+x_33 = l_Lean_FileMap_toPosition(x_31, x_32);
+x_34 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_34, 0, x_29);
+lean_ctor_set(x_34, 1, x_30);
+lean_ctor_set(x_34, 2, x_31);
+x_35 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_35, 0, x_33);
+lean_ctor_set(x_3, 4, x_35);
+lean_ctor_set(x_3, 0, x_34);
+x_36 = lean_ctor_get(x_4, 0);
+lean_inc(x_36);
+x_37 = lean_array_get_size(x_36);
+lean_dec(x_36);
+x_44 = l_Char_HasRepr___closed__1;
+x_45 = lean_string_append(x_44, x_1);
+x_46 = lean_string_append(x_45, x_44);
+lean_inc(x_3);
+x_47 = l_Lean_Parser_symbolFnAux(x_1, x_46, x_3, x_4);
+x_48 = lean_ctor_get(x_47, 3);
+lean_inc(x_48);
+if (lean_obj_tag(x_48) == 0)
+{
+lean_object* x_49; lean_object* x_50; lean_object* x_51;
+x_49 = lean_string_append(x_44, x_2);
+x_50 = lean_string_append(x_49, x_44);
+lean_inc(x_3);
+x_51 = l_Lean_Parser_nonReservedSymbolFnAux(x_2, x_50, x_3, x_47);
+x_38 = x_51;
+goto block_43;
+}
+else
+{
+lean_dec(x_48);
+lean_dec(x_2);
+x_38 = x_47;
+goto block_43;
+}
+block_43:
+{
+lean_object* x_39; lean_object* x_40; lean_object* x_41;
+x_39 = l_Lean_nullKind;
+x_40 = l_Lean_Parser_ParserState_mkNode(x_38, x_39, x_37);
+x_41 = lean_ctor_get(x_40, 3);
+lean_inc(x_41);
+if (lean_obj_tag(x_41) == 0)
+{
+lean_object* x_42;
+x_42 = l_Lean_Parser_Term_letRecDecls___elambda__1(x_3, x_40);
+return x_42;
+}
+else
+{
+lean_dec(x_41);
+lean_dec(x_3);
+return x_40;
+}
+}
+}
+}
+else
+{
+lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; uint8_t 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_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79;
+x_52 = lean_ctor_get(x_3, 0);
+x_53 = lean_ctor_get(x_3, 1);
+x_54 = lean_ctor_get(x_3, 2);
+x_55 = lean_ctor_get(x_3, 3);
+x_56 = lean_ctor_get_uint8(x_3, sizeof(void*)*6);
+x_57 = lean_ctor_get(x_3, 5);
+lean_inc(x_57);
+lean_inc(x_55);
+lean_inc(x_54);
+lean_inc(x_53);
+lean_inc(x_52);
+lean_dec(x_3);
+x_58 = lean_ctor_get(x_52, 0);
+lean_inc(x_58);
+x_59 = lean_ctor_get(x_52, 1);
+lean_inc(x_59);
+x_60 = lean_ctor_get(x_52, 2);
+lean_inc(x_60);
+if (lean_is_exclusive(x_52)) {
+ lean_ctor_release(x_52, 0);
+ lean_ctor_release(x_52, 1);
+ lean_ctor_release(x_52, 2);
+ x_61 = x_52;
+} else {
+ lean_dec_ref(x_52);
+ x_61 = lean_box(0);
+}
+x_62 = lean_ctor_get(x_4, 1);
+lean_inc(x_62);
+x_63 = l_Lean_FileMap_toPosition(x_60, x_62);
+if (lean_is_scalar(x_61)) {
+ x_64 = lean_alloc_ctor(0, 3, 0);
+} else {
+ x_64 = x_61;
+}
+lean_ctor_set(x_64, 0, x_58);
+lean_ctor_set(x_64, 1, x_59);
+lean_ctor_set(x_64, 2, x_60);
+x_65 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_65, 0, x_63);
+x_66 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_66, 0, x_64);
+lean_ctor_set(x_66, 1, x_53);
+lean_ctor_set(x_66, 2, x_54);
+lean_ctor_set(x_66, 3, x_55);
+lean_ctor_set(x_66, 4, x_65);
+lean_ctor_set(x_66, 5, x_57);
+lean_ctor_set_uint8(x_66, sizeof(void*)*6, x_56);
+x_67 = lean_ctor_get(x_4, 0);
+lean_inc(x_67);
+x_68 = lean_array_get_size(x_67);
+lean_dec(x_67);
+x_75 = l_Char_HasRepr___closed__1;
+x_76 = lean_string_append(x_75, x_1);
+x_77 = lean_string_append(x_76, x_75);
+lean_inc(x_66);
+x_78 = l_Lean_Parser_symbolFnAux(x_1, x_77, x_66, x_4);
+x_79 = lean_ctor_get(x_78, 3);
+lean_inc(x_79);
+if (lean_obj_tag(x_79) == 0)
+{
+lean_object* x_80; lean_object* x_81; lean_object* x_82;
+x_80 = lean_string_append(x_75, x_2);
+x_81 = lean_string_append(x_80, x_75);
+lean_inc(x_66);
+x_82 = l_Lean_Parser_nonReservedSymbolFnAux(x_2, x_81, x_66, x_78);
+x_69 = x_82;
+goto block_74;
+}
+else
+{
+lean_dec(x_79);
+lean_dec(x_2);
+x_69 = x_78;
+goto block_74;
+}
+block_74:
+{
+lean_object* x_70; lean_object* x_71; lean_object* x_72;
+x_70 = l_Lean_nullKind;
+x_71 = l_Lean_Parser_ParserState_mkNode(x_69, x_70, x_68);
+x_72 = lean_ctor_get(x_71, 3);
+lean_inc(x_72);
+if (lean_obj_tag(x_72) == 0)
+{
+lean_object* x_73;
+x_73 = l_Lean_Parser_Term_letRecDecls___elambda__1(x_66, x_71);
+return x_73;
+}
+else
+{
+lean_dec(x_72);
+lean_dec(x_66);
+return x_71;
+}
+}
+}
}
}
static lean_object* _init_l_Lean_Parser_Term_letrec___elambda__1___closed__1() {
@@ -55180,17 +37753,67 @@ static lean_object* _init_l_Lean_Parser_Term_letrec___elambda__1___closed__7() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
+x_1 = l_Lean_Parser_Term_let___elambda__1___closed__4;
x_2 = l_Lean_Parser_Term_letrec___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_Term_letrec___elambda__1___lambda__1___boxed), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
static lean_object* _init_l_Lean_Parser_Term_letrec___elambda__1___closed__8() {
_start:
{
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
+x_1 = l_Lean_Parser_Term_have___elambda__1___closed__8;
+x_2 = lean_ctor_get(x_1, 1);
+lean_inc(x_2);
+x_3 = l_Lean_Parser_Term_letrec___elambda__1___closed__7;
+x_4 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_4, 0, x_3);
+lean_closure_set(x_4, 1, x_2);
+return x_4;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_letrec___elambda__1___closed__9() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_letrec___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Term_letrec___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_letrec___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_letrec___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_byTactic___elambda__1___closed__9;
+x_2 = l_Lean_Parser_Term_letrec___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_letrec___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_letrec___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_letrec___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_letrec___elambda__1___closed__11;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
@@ -55200,7 +37823,7 @@ lean_object* l_Lean_Parser_Term_letrec___elambda__1(lean_object* x_1, lean_objec
_start:
{
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; uint8_t x_7;
-x_3 = l_Lean_Parser_Term_have___elambda__1___closed__7;
+x_3 = l_Lean_Parser_Term_have___elambda__1___closed__8;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
x_5 = l_Lean_Parser_Term_letrec___elambda__1___closed__4;
@@ -55219,194 +37842,181 @@ x_10 = lean_ctor_get(x_9, 3);
lean_inc(x_10);
if (lean_obj_tag(x_10) == 0)
{
-lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t 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_56; lean_object* x_57;
+lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; uint8_t x_25; lean_object* x_26; uint8_t x_27;
x_11 = lean_ctor_get(x_9, 0);
lean_inc(x_11);
x_12 = lean_array_get_size(x_11);
lean_dec(x_11);
-x_13 = lean_ctor_get(x_1, 0);
-lean_inc(x_13);
-x_14 = lean_ctor_get(x_1, 1);
-lean_inc(x_14);
-x_15 = lean_ctor_get(x_1, 2);
-lean_inc(x_15);
-x_16 = lean_ctor_get(x_1, 3);
-lean_inc(x_16);
-x_17 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
-x_18 = lean_ctor_get(x_1, 5);
-lean_inc(x_18);
-x_19 = lean_ctor_get(x_13, 2);
-lean_inc(x_19);
-x_20 = lean_ctor_get(x_9, 1);
-lean_inc(x_20);
-lean_inc(x_20);
-x_21 = l_Lean_FileMap_toPosition(x_19, x_20);
-lean_dec(x_19);
-x_22 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_22, 0, x_21);
-x_23 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_23, 0, x_13);
-lean_ctor_set(x_23, 1, x_14);
-lean_ctor_set(x_23, 2, x_15);
-lean_ctor_set(x_23, 3, x_16);
-lean_ctor_set(x_23, 4, x_22);
-lean_ctor_set(x_23, 5, x_18);
-lean_ctor_set_uint8(x_23, sizeof(void*)*6, x_17);
+x_21 = lean_ctor_get(x_1, 0);
+lean_inc(x_21);
+x_22 = lean_ctor_get(x_1, 1);
+lean_inc(x_22);
+x_23 = lean_ctor_get(x_1, 2);
lean_inc(x_23);
-x_56 = l_Lean_Parser_tokenFn(x_23, x_9);
+x_24 = lean_ctor_get(x_1, 3);
+lean_inc(x_24);
+x_25 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
+x_26 = lean_ctor_get(x_1, 5);
+lean_inc(x_26);
+x_27 = !lean_is_exclusive(x_21);
+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_39; lean_object* x_40; lean_object* x_41; lean_object* x_42;
+x_28 = lean_ctor_get(x_21, 2);
+x_29 = lean_ctor_get(x_9, 1);
+lean_inc(x_29);
+x_30 = l_Lean_FileMap_toPosition(x_28, x_29);
+x_31 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_31, 0, x_30);
+x_32 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_32, 0, x_21);
+lean_ctor_set(x_32, 1, x_22);
+lean_ctor_set(x_32, 2, x_23);
+lean_ctor_set(x_32, 3, x_24);
+lean_ctor_set(x_32, 4, x_31);
+lean_ctor_set(x_32, 5, x_26);
+lean_ctor_set_uint8(x_32, sizeof(void*)*6, x_25);
+x_39 = l_Lean_Parser_Term_let___elambda__1___closed__4;
+x_40 = l_Lean_Parser_Term_let___elambda__1___closed__10;
+lean_inc(x_32);
+x_41 = l_Lean_Parser_symbolFnAux(x_39, x_40, x_32, x_9);
+x_42 = lean_ctor_get(x_41, 3);
+lean_inc(x_42);
+if (lean_obj_tag(x_42) == 0)
+{
+lean_object* x_43; lean_object* x_44; lean_object* x_45;
+x_43 = l_Lean_Parser_Term_letrec___elambda__1___closed__6;
+x_44 = l_Lean_Parser_Term_letrec___elambda__1___closed__12;
+lean_inc(x_32);
+x_45 = l_Lean_Parser_nonReservedSymbolFnAux(x_43, x_44, x_32, x_41);
+x_33 = x_45;
+goto block_38;
+}
+else
+{
+lean_dec(x_42);
+x_33 = x_41;
+goto block_38;
+}
+block_38:
+{
+lean_object* x_34; lean_object* x_35; lean_object* x_36;
+x_34 = l_Lean_nullKind;
+lean_inc(x_12);
+x_35 = l_Lean_Parser_ParserState_mkNode(x_33, x_34, x_12);
+x_36 = lean_ctor_get(x_35, 3);
+lean_inc(x_36);
+if (lean_obj_tag(x_36) == 0)
+{
+lean_object* x_37;
+x_37 = l_Lean_Parser_Term_letRecDecls___elambda__1(x_32, x_35);
+x_13 = x_37;
+goto block_20;
+}
+else
+{
+lean_dec(x_36);
+lean_dec(x_32);
+x_13 = x_35;
+goto block_20;
+}
+}
+}
+else
+{
+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_60; lean_object* x_61; lean_object* x_62; lean_object* x_63;
+x_46 = lean_ctor_get(x_21, 0);
+x_47 = lean_ctor_get(x_21, 1);
+x_48 = lean_ctor_get(x_21, 2);
+lean_inc(x_48);
+lean_inc(x_47);
+lean_inc(x_46);
+lean_dec(x_21);
+x_49 = lean_ctor_get(x_9, 1);
+lean_inc(x_49);
+x_50 = l_Lean_FileMap_toPosition(x_48, x_49);
+x_51 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_51, 0, x_46);
+lean_ctor_set(x_51, 1, x_47);
+lean_ctor_set(x_51, 2, x_48);
+x_52 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_52, 0, x_50);
+x_53 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_53, 0, x_51);
+lean_ctor_set(x_53, 1, x_22);
+lean_ctor_set(x_53, 2, x_23);
+lean_ctor_set(x_53, 3, x_24);
+lean_ctor_set(x_53, 4, x_52);
+lean_ctor_set(x_53, 5, x_26);
+lean_ctor_set_uint8(x_53, sizeof(void*)*6, x_25);
+x_60 = l_Lean_Parser_Term_let___elambda__1___closed__4;
+x_61 = l_Lean_Parser_Term_let___elambda__1___closed__10;
+lean_inc(x_53);
+x_62 = l_Lean_Parser_symbolFnAux(x_60, x_61, x_53, x_9);
+x_63 = lean_ctor_get(x_62, 3);
+lean_inc(x_63);
+if (lean_obj_tag(x_63) == 0)
+{
+lean_object* x_64; lean_object* x_65; lean_object* x_66;
+x_64 = l_Lean_Parser_Term_letrec___elambda__1___closed__6;
+x_65 = l_Lean_Parser_Term_letrec___elambda__1___closed__12;
+lean_inc(x_53);
+x_66 = l_Lean_Parser_nonReservedSymbolFnAux(x_64, x_65, x_53, x_62);
+x_54 = x_66;
+goto block_59;
+}
+else
+{
+lean_dec(x_63);
+x_54 = x_62;
+goto block_59;
+}
+block_59:
+{
+lean_object* x_55; lean_object* x_56; lean_object* x_57;
+x_55 = l_Lean_nullKind;
+lean_inc(x_12);
+x_56 = l_Lean_Parser_ParserState_mkNode(x_54, x_55, x_12);
x_57 = lean_ctor_get(x_56, 3);
lean_inc(x_57);
if (lean_obj_tag(x_57) == 0)
{
-lean_object* x_58; lean_object* x_59;
-x_58 = lean_ctor_get(x_56, 0);
-lean_inc(x_58);
-x_59 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_58);
-lean_dec(x_58);
-if (lean_obj_tag(x_59) == 2)
-{
-lean_object* x_60; lean_object* x_61; uint8_t x_62;
-x_60 = lean_ctor_get(x_59, 1);
-lean_inc(x_60);
-lean_dec(x_59);
-x_61 = l_Lean_Parser_Term_let___elambda__1___closed__4;
-x_62 = lean_string_dec_eq(x_60, x_61);
-lean_dec(x_60);
-if (x_62 == 0)
-{
-lean_object* x_63; lean_object* x_64;
-x_63 = l_Lean_Parser_Term_let___elambda__1___closed__7;
-x_64 = l_Lean_Parser_ParserState_mkErrorsAt(x_56, x_63, x_20);
-x_24 = x_64;
-goto block_55;
+lean_object* x_58;
+x_58 = l_Lean_Parser_Term_letRecDecls___elambda__1(x_53, x_56);
+x_13 = x_58;
+goto block_20;
}
else
{
-lean_dec(x_20);
-x_24 = x_56;
-goto block_55;
-}
-}
-else
-{
-lean_object* x_65; lean_object* x_66;
-lean_dec(x_59);
-x_65 = l_Lean_Parser_Term_let___elambda__1___closed__7;
-x_66 = l_Lean_Parser_ParserState_mkErrorsAt(x_56, x_65, x_20);
-x_24 = x_66;
-goto block_55;
-}
-}
-else
-{
-lean_object* x_67; lean_object* x_68;
lean_dec(x_57);
-x_67 = l_Lean_Parser_Term_let___elambda__1___closed__7;
-x_68 = l_Lean_Parser_ParserState_mkErrorsAt(x_56, x_67, x_20);
-x_24 = x_68;
-goto block_55;
+lean_dec(x_53);
+x_13 = x_56;
+goto block_20;
}
-block_55:
+}
+}
+block_20:
{
-lean_object* x_25;
-x_25 = lean_ctor_get(x_24, 3);
-lean_inc(x_25);
-if (lean_obj_tag(x_25) == 0)
+lean_object* x_14;
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 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;
-x_26 = l_Lean_Parser_Term_letrec___elambda__1___closed__6;
-x_27 = l_Lean_Parser_Term_letrec___elambda__1___closed__8;
-lean_inc(x_23);
-x_28 = l_Lean_Parser_nonReservedSymbolFnAux(x_26, x_27, x_23, x_24);
-x_29 = l_Lean_nullKind;
-lean_inc(x_12);
-x_30 = l_Lean_Parser_ParserState_mkNode(x_28, x_29, x_12);
-x_31 = lean_ctor_get(x_30, 3);
-lean_inc(x_31);
-if (lean_obj_tag(x_31) == 0)
-{
-uint8_t x_32; lean_object* x_33; lean_object* x_34;
-x_32 = 0;
-x_33 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_letRecDecls___elambda__1___spec__1(x_32, x_23, x_30);
-x_34 = lean_ctor_get(x_33, 3);
-lean_inc(x_34);
-if (lean_obj_tag(x_34) == 0)
-{
-lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_35 = lean_apply_2(x_4, x_1, x_33);
-x_36 = l_Lean_Parser_Term_letrec___elambda__1___closed__2;
-x_37 = l_Lean_Parser_ParserState_mkNode(x_35, x_36, x_12);
-return x_37;
+lean_object* x_15; lean_object* x_16; lean_object* x_17;
+x_15 = lean_apply_2(x_4, x_1, x_13);
+x_16 = l_Lean_Parser_Term_letrec___elambda__1___closed__2;
+x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_12);
+return x_17;
}
else
{
-lean_object* x_38; lean_object* x_39;
-lean_dec(x_34);
+lean_object* x_18; lean_object* x_19;
+lean_dec(x_14);
lean_dec(x_4);
lean_dec(x_1);
-x_38 = l_Lean_Parser_Term_letrec___elambda__1___closed__2;
-x_39 = l_Lean_Parser_ParserState_mkNode(x_33, x_38, x_12);
-return x_39;
-}
-}
-else
-{
-lean_object* x_40; lean_object* x_41;
-lean_dec(x_31);
-lean_dec(x_23);
-lean_dec(x_4);
-lean_dec(x_1);
-x_40 = l_Lean_Parser_Term_letrec___elambda__1___closed__2;
-x_41 = l_Lean_Parser_ParserState_mkNode(x_30, x_40, x_12);
-return x_41;
-}
-}
-else
-{
-lean_object* x_42; lean_object* x_43; lean_object* x_44;
-lean_dec(x_25);
-x_42 = l_Lean_nullKind;
-lean_inc(x_12);
-x_43 = l_Lean_Parser_ParserState_mkNode(x_24, x_42, x_12);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-uint8_t x_45; lean_object* x_46; lean_object* x_47;
-x_45 = 0;
-x_46 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_letRecDecls___elambda__1___spec__1(x_45, x_23, x_43);
-x_47 = lean_ctor_get(x_46, 3);
-lean_inc(x_47);
-if (lean_obj_tag(x_47) == 0)
-{
-lean_object* x_48; lean_object* x_49; lean_object* x_50;
-x_48 = lean_apply_2(x_4, x_1, x_46);
-x_49 = l_Lean_Parser_Term_letrec___elambda__1___closed__2;
-x_50 = l_Lean_Parser_ParserState_mkNode(x_48, x_49, x_12);
-return x_50;
-}
-else
-{
-lean_object* x_51; lean_object* x_52;
-lean_dec(x_47);
-lean_dec(x_4);
-lean_dec(x_1);
-x_51 = l_Lean_Parser_Term_letrec___elambda__1___closed__2;
-x_52 = l_Lean_Parser_ParserState_mkNode(x_46, x_51, x_12);
-return x_52;
-}
-}
-else
-{
-lean_object* x_53; lean_object* x_54;
-lean_dec(x_44);
-lean_dec(x_23);
-lean_dec(x_4);
-lean_dec(x_1);
-x_53 = l_Lean_Parser_Term_letrec___elambda__1___closed__2;
-x_54 = l_Lean_Parser_ParserState_mkNode(x_43, x_53, x_12);
-return x_54;
-}
+x_18 = l_Lean_Parser_Term_letrec___elambda__1___closed__2;
+x_19 = l_Lean_Parser_ParserState_mkNode(x_13, x_18, x_12);
+return x_19;
}
}
}
@@ -55420,535 +38030,12 @@ return x_9;
}
else
{
-lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73;
-x_69 = lean_ctor_get(x_2, 0);
-lean_inc(x_69);
-x_70 = lean_array_get_size(x_69);
-lean_dec(x_69);
-x_71 = lean_ctor_get(x_2, 1);
-lean_inc(x_71);
-lean_inc(x_1);
-x_72 = lean_apply_2(x_6, x_1, x_2);
-x_73 = lean_ctor_get(x_72, 3);
-lean_inc(x_73);
-if (lean_obj_tag(x_73) == 0)
-{
-lean_dec(x_71);
-lean_dec(x_70);
+lean_object* x_67; uint8_t x_68; lean_object* x_69;
lean_dec(x_4);
-lean_dec(x_1);
-return x_72;
-}
-else
-{
-uint8_t x_74;
-x_74 = !lean_is_exclusive(x_73);
-if (x_74 == 0)
-{
-lean_object* x_75; lean_object* x_76; uint8_t x_77;
-x_75 = lean_ctor_get(x_73, 0);
-x_76 = lean_ctor_get(x_72, 1);
-lean_inc(x_76);
-x_77 = lean_nat_dec_eq(x_76, x_71);
-lean_dec(x_76);
-if (x_77 == 0)
-{
-lean_free_object(x_73);
-lean_dec(x_75);
-lean_dec(x_71);
-lean_dec(x_70);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_72;
-}
-else
-{
-lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81;
-lean_inc(x_71);
-x_78 = l_Lean_Parser_ParserState_restore(x_72, x_70, x_71);
-lean_dec(x_70);
-x_79 = l_Lean_Parser_leadPrec;
-x_80 = l_Lean_Parser_checkPrecFn(x_79, x_1, x_78);
-x_81 = lean_ctor_get(x_80, 3);
-lean_inc(x_81);
-if (lean_obj_tag(x_81) == 0)
-{
-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_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_138; lean_object* x_139;
-x_82 = lean_ctor_get(x_80, 0);
-lean_inc(x_82);
-x_83 = lean_array_get_size(x_82);
-lean_dec(x_82);
-x_84 = lean_ctor_get(x_1, 0);
-lean_inc(x_84);
-x_85 = lean_ctor_get(x_1, 1);
-lean_inc(x_85);
-x_86 = lean_ctor_get(x_1, 2);
-lean_inc(x_86);
-x_87 = lean_ctor_get(x_1, 3);
-lean_inc(x_87);
-x_88 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
-x_89 = lean_ctor_get(x_1, 5);
-lean_inc(x_89);
-x_90 = lean_ctor_get(x_84, 2);
-lean_inc(x_90);
-x_91 = lean_ctor_get(x_80, 1);
-lean_inc(x_91);
-lean_inc(x_91);
-x_92 = l_Lean_FileMap_toPosition(x_90, x_91);
-lean_dec(x_90);
-lean_ctor_set(x_73, 0, x_92);
-x_93 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_93, 0, x_84);
-lean_ctor_set(x_93, 1, x_85);
-lean_ctor_set(x_93, 2, x_86);
-lean_ctor_set(x_93, 3, x_87);
-lean_ctor_set(x_93, 4, x_73);
-lean_ctor_set(x_93, 5, x_89);
-lean_ctor_set_uint8(x_93, sizeof(void*)*6, x_88);
-lean_inc(x_93);
-x_138 = l_Lean_Parser_tokenFn(x_93, x_80);
-x_139 = lean_ctor_get(x_138, 3);
-lean_inc(x_139);
-if (lean_obj_tag(x_139) == 0)
-{
-lean_object* x_140; lean_object* x_141;
-x_140 = lean_ctor_get(x_138, 0);
-lean_inc(x_140);
-x_141 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_140);
-lean_dec(x_140);
-if (lean_obj_tag(x_141) == 2)
-{
-lean_object* x_142; lean_object* x_143; uint8_t x_144;
-x_142 = lean_ctor_get(x_141, 1);
-lean_inc(x_142);
-lean_dec(x_141);
-x_143 = l_Lean_Parser_Term_let___elambda__1___closed__4;
-x_144 = lean_string_dec_eq(x_142, x_143);
-lean_dec(x_142);
-if (x_144 == 0)
-{
-lean_object* x_145; lean_object* x_146;
-x_145 = l_Lean_Parser_Term_let___elambda__1___closed__7;
-x_146 = l_Lean_Parser_ParserState_mkErrorsAt(x_138, x_145, x_91);
-x_94 = x_146;
-goto block_137;
-}
-else
-{
-lean_dec(x_91);
-x_94 = x_138;
-goto block_137;
-}
-}
-else
-{
-lean_object* x_147; lean_object* x_148;
-lean_dec(x_141);
-x_147 = l_Lean_Parser_Term_let___elambda__1___closed__7;
-x_148 = l_Lean_Parser_ParserState_mkErrorsAt(x_138, x_147, x_91);
-x_94 = x_148;
-goto block_137;
-}
-}
-else
-{
-lean_object* x_149; lean_object* x_150;
-lean_dec(x_139);
-x_149 = l_Lean_Parser_Term_let___elambda__1___closed__7;
-x_150 = l_Lean_Parser_ParserState_mkErrorsAt(x_138, x_149, x_91);
-x_94 = x_150;
-goto block_137;
-}
-block_137:
-{
-lean_object* x_95;
-x_95 = lean_ctor_get(x_94, 3);
-lean_inc(x_95);
-if (lean_obj_tag(x_95) == 0)
-{
-lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101;
-x_96 = l_Lean_Parser_Term_letrec___elambda__1___closed__6;
-x_97 = l_Lean_Parser_Term_letrec___elambda__1___closed__8;
-lean_inc(x_93);
-x_98 = l_Lean_Parser_nonReservedSymbolFnAux(x_96, x_97, x_93, x_94);
-x_99 = l_Lean_nullKind;
-lean_inc(x_83);
-x_100 = l_Lean_Parser_ParserState_mkNode(x_98, x_99, x_83);
-x_101 = lean_ctor_get(x_100, 3);
-lean_inc(x_101);
-if (lean_obj_tag(x_101) == 0)
-{
-uint8_t x_102; lean_object* x_103; lean_object* x_104;
-x_102 = 0;
-x_103 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_letRecDecls___elambda__1___spec__1(x_102, x_93, x_100);
-x_104 = lean_ctor_get(x_103, 3);
-lean_inc(x_104);
-if (lean_obj_tag(x_104) == 0)
-{
-lean_object* x_105; lean_object* x_106; lean_object* x_107; uint8_t x_108; lean_object* x_109;
-x_105 = lean_apply_2(x_4, x_1, x_103);
-x_106 = l_Lean_Parser_Term_letrec___elambda__1___closed__2;
-x_107 = l_Lean_Parser_ParserState_mkNode(x_105, x_106, x_83);
-x_108 = 1;
-x_109 = l_Lean_Parser_mergeOrElseErrors(x_107, x_75, x_71, x_108);
-lean_dec(x_71);
-return x_109;
-}
-else
-{
-lean_object* x_110; lean_object* x_111; uint8_t x_112; lean_object* x_113;
-lean_dec(x_104);
-lean_dec(x_4);
-lean_dec(x_1);
-x_110 = l_Lean_Parser_Term_letrec___elambda__1___closed__2;
-x_111 = l_Lean_Parser_ParserState_mkNode(x_103, x_110, x_83);
-x_112 = 1;
-x_113 = l_Lean_Parser_mergeOrElseErrors(x_111, x_75, x_71, x_112);
-lean_dec(x_71);
-return x_113;
-}
-}
-else
-{
-lean_object* x_114; lean_object* x_115; uint8_t x_116; lean_object* x_117;
-lean_dec(x_101);
-lean_dec(x_93);
-lean_dec(x_4);
-lean_dec(x_1);
-x_114 = l_Lean_Parser_Term_letrec___elambda__1___closed__2;
-x_115 = l_Lean_Parser_ParserState_mkNode(x_100, x_114, x_83);
-x_116 = 1;
-x_117 = l_Lean_Parser_mergeOrElseErrors(x_115, x_75, x_71, x_116);
-lean_dec(x_71);
-return x_117;
-}
-}
-else
-{
-lean_object* x_118; lean_object* x_119; lean_object* x_120;
-lean_dec(x_95);
-x_118 = l_Lean_nullKind;
-lean_inc(x_83);
-x_119 = l_Lean_Parser_ParserState_mkNode(x_94, x_118, x_83);
-x_120 = lean_ctor_get(x_119, 3);
-lean_inc(x_120);
-if (lean_obj_tag(x_120) == 0)
-{
-uint8_t x_121; lean_object* x_122; lean_object* x_123;
-x_121 = 0;
-x_122 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_letRecDecls___elambda__1___spec__1(x_121, x_93, x_119);
-x_123 = lean_ctor_get(x_122, 3);
-lean_inc(x_123);
-if (lean_obj_tag(x_123) == 0)
-{
-lean_object* x_124; lean_object* x_125; lean_object* x_126; uint8_t x_127; lean_object* x_128;
-x_124 = lean_apply_2(x_4, x_1, x_122);
-x_125 = l_Lean_Parser_Term_letrec___elambda__1___closed__2;
-x_126 = l_Lean_Parser_ParserState_mkNode(x_124, x_125, x_83);
-x_127 = 1;
-x_128 = l_Lean_Parser_mergeOrElseErrors(x_126, x_75, x_71, x_127);
-lean_dec(x_71);
-return x_128;
-}
-else
-{
-lean_object* x_129; lean_object* x_130; uint8_t x_131; lean_object* x_132;
-lean_dec(x_123);
-lean_dec(x_4);
-lean_dec(x_1);
-x_129 = l_Lean_Parser_Term_letrec___elambda__1___closed__2;
-x_130 = l_Lean_Parser_ParserState_mkNode(x_122, x_129, x_83);
-x_131 = 1;
-x_132 = l_Lean_Parser_mergeOrElseErrors(x_130, x_75, x_71, x_131);
-lean_dec(x_71);
-return x_132;
-}
-}
-else
-{
-lean_object* x_133; lean_object* x_134; uint8_t x_135; lean_object* x_136;
-lean_dec(x_120);
-lean_dec(x_93);
-lean_dec(x_4);
-lean_dec(x_1);
-x_133 = l_Lean_Parser_Term_letrec___elambda__1___closed__2;
-x_134 = l_Lean_Parser_ParserState_mkNode(x_119, x_133, x_83);
-x_135 = 1;
-x_136 = l_Lean_Parser_mergeOrElseErrors(x_134, x_75, x_71, x_135);
-lean_dec(x_71);
-return x_136;
-}
-}
-}
-}
-else
-{
-uint8_t x_151; lean_object* x_152;
-lean_dec(x_81);
-lean_free_object(x_73);
-lean_dec(x_4);
-lean_dec(x_1);
-x_151 = 1;
-x_152 = l_Lean_Parser_mergeOrElseErrors(x_80, x_75, x_71, x_151);
-lean_dec(x_71);
-return x_152;
-}
-}
-}
-else
-{
-lean_object* x_153; lean_object* x_154; uint8_t x_155;
-x_153 = lean_ctor_get(x_73, 0);
-lean_inc(x_153);
-lean_dec(x_73);
-x_154 = lean_ctor_get(x_72, 1);
-lean_inc(x_154);
-x_155 = lean_nat_dec_eq(x_154, x_71);
-lean_dec(x_154);
-if (x_155 == 0)
-{
-lean_dec(x_153);
-lean_dec(x_71);
-lean_dec(x_70);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_72;
-}
-else
-{
-lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159;
-lean_inc(x_71);
-x_156 = l_Lean_Parser_ParserState_restore(x_72, x_70, x_71);
-lean_dec(x_70);
-x_157 = l_Lean_Parser_leadPrec;
-x_158 = l_Lean_Parser_checkPrecFn(x_157, x_1, x_156);
-x_159 = lean_ctor_get(x_158, 3);
-lean_inc(x_159);
-if (lean_obj_tag(x_159) == 0)
-{
-lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; uint8_t x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_217; lean_object* x_218;
-x_160 = lean_ctor_get(x_158, 0);
-lean_inc(x_160);
-x_161 = lean_array_get_size(x_160);
-lean_dec(x_160);
-x_162 = lean_ctor_get(x_1, 0);
-lean_inc(x_162);
-x_163 = lean_ctor_get(x_1, 1);
-lean_inc(x_163);
-x_164 = lean_ctor_get(x_1, 2);
-lean_inc(x_164);
-x_165 = lean_ctor_get(x_1, 3);
-lean_inc(x_165);
-x_166 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
-x_167 = lean_ctor_get(x_1, 5);
-lean_inc(x_167);
-x_168 = lean_ctor_get(x_162, 2);
-lean_inc(x_168);
-x_169 = lean_ctor_get(x_158, 1);
-lean_inc(x_169);
-lean_inc(x_169);
-x_170 = l_Lean_FileMap_toPosition(x_168, x_169);
-lean_dec(x_168);
-x_171 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_171, 0, x_170);
-x_172 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_172, 0, x_162);
-lean_ctor_set(x_172, 1, x_163);
-lean_ctor_set(x_172, 2, x_164);
-lean_ctor_set(x_172, 3, x_165);
-lean_ctor_set(x_172, 4, x_171);
-lean_ctor_set(x_172, 5, x_167);
-lean_ctor_set_uint8(x_172, sizeof(void*)*6, x_166);
-lean_inc(x_172);
-x_217 = l_Lean_Parser_tokenFn(x_172, x_158);
-x_218 = lean_ctor_get(x_217, 3);
-lean_inc(x_218);
-if (lean_obj_tag(x_218) == 0)
-{
-lean_object* x_219; lean_object* x_220;
-x_219 = lean_ctor_get(x_217, 0);
-lean_inc(x_219);
-x_220 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_219);
-lean_dec(x_219);
-if (lean_obj_tag(x_220) == 2)
-{
-lean_object* x_221; lean_object* x_222; uint8_t x_223;
-x_221 = lean_ctor_get(x_220, 1);
-lean_inc(x_221);
-lean_dec(x_220);
-x_222 = l_Lean_Parser_Term_let___elambda__1___closed__4;
-x_223 = lean_string_dec_eq(x_221, x_222);
-lean_dec(x_221);
-if (x_223 == 0)
-{
-lean_object* x_224; lean_object* x_225;
-x_224 = l_Lean_Parser_Term_let___elambda__1___closed__7;
-x_225 = l_Lean_Parser_ParserState_mkErrorsAt(x_217, x_224, x_169);
-x_173 = x_225;
-goto block_216;
-}
-else
-{
-lean_dec(x_169);
-x_173 = x_217;
-goto block_216;
-}
-}
-else
-{
-lean_object* x_226; lean_object* x_227;
-lean_dec(x_220);
-x_226 = l_Lean_Parser_Term_let___elambda__1___closed__7;
-x_227 = l_Lean_Parser_ParserState_mkErrorsAt(x_217, x_226, x_169);
-x_173 = x_227;
-goto block_216;
-}
-}
-else
-{
-lean_object* x_228; lean_object* x_229;
-lean_dec(x_218);
-x_228 = l_Lean_Parser_Term_let___elambda__1___closed__7;
-x_229 = l_Lean_Parser_ParserState_mkErrorsAt(x_217, x_228, x_169);
-x_173 = x_229;
-goto block_216;
-}
-block_216:
-{
-lean_object* x_174;
-x_174 = lean_ctor_get(x_173, 3);
-lean_inc(x_174);
-if (lean_obj_tag(x_174) == 0)
-{
-lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180;
-x_175 = l_Lean_Parser_Term_letrec___elambda__1___closed__6;
-x_176 = l_Lean_Parser_Term_letrec___elambda__1___closed__8;
-lean_inc(x_172);
-x_177 = l_Lean_Parser_nonReservedSymbolFnAux(x_175, x_176, x_172, x_173);
-x_178 = l_Lean_nullKind;
-lean_inc(x_161);
-x_179 = l_Lean_Parser_ParserState_mkNode(x_177, x_178, x_161);
-x_180 = lean_ctor_get(x_179, 3);
-lean_inc(x_180);
-if (lean_obj_tag(x_180) == 0)
-{
-uint8_t x_181; lean_object* x_182; lean_object* x_183;
-x_181 = 0;
-x_182 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_letRecDecls___elambda__1___spec__1(x_181, x_172, x_179);
-x_183 = lean_ctor_get(x_182, 3);
-lean_inc(x_183);
-if (lean_obj_tag(x_183) == 0)
-{
-lean_object* x_184; lean_object* x_185; lean_object* x_186; uint8_t x_187; lean_object* x_188;
-x_184 = lean_apply_2(x_4, x_1, x_182);
-x_185 = l_Lean_Parser_Term_letrec___elambda__1___closed__2;
-x_186 = l_Lean_Parser_ParserState_mkNode(x_184, x_185, x_161);
-x_187 = 1;
-x_188 = l_Lean_Parser_mergeOrElseErrors(x_186, x_153, x_71, x_187);
-lean_dec(x_71);
-return x_188;
-}
-else
-{
-lean_object* x_189; lean_object* x_190; uint8_t x_191; lean_object* x_192;
-lean_dec(x_183);
-lean_dec(x_4);
-lean_dec(x_1);
-x_189 = l_Lean_Parser_Term_letrec___elambda__1___closed__2;
-x_190 = l_Lean_Parser_ParserState_mkNode(x_182, x_189, x_161);
-x_191 = 1;
-x_192 = l_Lean_Parser_mergeOrElseErrors(x_190, x_153, x_71, x_191);
-lean_dec(x_71);
-return x_192;
-}
-}
-else
-{
-lean_object* x_193; lean_object* x_194; uint8_t x_195; lean_object* x_196;
-lean_dec(x_180);
-lean_dec(x_172);
-lean_dec(x_4);
-lean_dec(x_1);
-x_193 = l_Lean_Parser_Term_letrec___elambda__1___closed__2;
-x_194 = l_Lean_Parser_ParserState_mkNode(x_179, x_193, x_161);
-x_195 = 1;
-x_196 = l_Lean_Parser_mergeOrElseErrors(x_194, x_153, x_71, x_195);
-lean_dec(x_71);
-return x_196;
-}
-}
-else
-{
-lean_object* x_197; lean_object* x_198; lean_object* x_199;
-lean_dec(x_174);
-x_197 = l_Lean_nullKind;
-lean_inc(x_161);
-x_198 = l_Lean_Parser_ParserState_mkNode(x_173, x_197, x_161);
-x_199 = lean_ctor_get(x_198, 3);
-lean_inc(x_199);
-if (lean_obj_tag(x_199) == 0)
-{
-uint8_t x_200; lean_object* x_201; lean_object* x_202;
-x_200 = 0;
-x_201 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_letRecDecls___elambda__1___spec__1(x_200, x_172, x_198);
-x_202 = lean_ctor_get(x_201, 3);
-lean_inc(x_202);
-if (lean_obj_tag(x_202) == 0)
-{
-lean_object* x_203; lean_object* x_204; lean_object* x_205; uint8_t x_206; lean_object* x_207;
-x_203 = lean_apply_2(x_4, x_1, x_201);
-x_204 = l_Lean_Parser_Term_letrec___elambda__1___closed__2;
-x_205 = l_Lean_Parser_ParserState_mkNode(x_203, x_204, x_161);
-x_206 = 1;
-x_207 = l_Lean_Parser_mergeOrElseErrors(x_205, x_153, x_71, x_206);
-lean_dec(x_71);
-return x_207;
-}
-else
-{
-lean_object* x_208; lean_object* x_209; uint8_t x_210; lean_object* x_211;
-lean_dec(x_202);
-lean_dec(x_4);
-lean_dec(x_1);
-x_208 = l_Lean_Parser_Term_letrec___elambda__1___closed__2;
-x_209 = l_Lean_Parser_ParserState_mkNode(x_201, x_208, x_161);
-x_210 = 1;
-x_211 = l_Lean_Parser_mergeOrElseErrors(x_209, x_153, x_71, x_210);
-lean_dec(x_71);
-return x_211;
-}
-}
-else
-{
-lean_object* x_212; lean_object* x_213; uint8_t x_214; lean_object* x_215;
-lean_dec(x_199);
-lean_dec(x_172);
-lean_dec(x_4);
-lean_dec(x_1);
-x_212 = l_Lean_Parser_Term_letrec___elambda__1___closed__2;
-x_213 = l_Lean_Parser_ParserState_mkNode(x_198, x_212, x_161);
-x_214 = 1;
-x_215 = l_Lean_Parser_mergeOrElseErrors(x_213, x_153, x_71, x_214);
-lean_dec(x_71);
-return x_215;
-}
-}
-}
-}
-else
-{
-uint8_t x_230; lean_object* x_231;
-lean_dec(x_159);
-lean_dec(x_4);
-lean_dec(x_1);
-x_230 = 1;
-x_231 = l_Lean_Parser_mergeOrElseErrors(x_158, x_153, x_71, x_230);
-lean_dec(x_71);
-return x_231;
-}
-}
-}
-}
+x_67 = l_Lean_Parser_Term_letrec___elambda__1___closed__10;
+x_68 = 1;
+x_69 = l_Lean_Parser_orelseFnCore(x_6, x_67, x_68, x_1, x_2);
+return x_69;
}
}
}
@@ -55998,7 +38085,7 @@ static lean_object* _init_l_Lean_Parser_Term_letrec___closed__5() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
-x_1 = l_Lean_Parser_Term_have___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Term_have___elambda__1___closed__8;
x_2 = lean_ctor_get(x_1, 0);
lean_inc(x_2);
x_3 = l_Lean_Parser_Term_letrec___closed__4;
@@ -56066,6 +38153,15 @@ x_1 = l_Lean_Parser_Term_letrec___closed__10;
return x_1;
}
}
+lean_object* l_Lean_Parser_Term_letrec___elambda__1___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
+_start:
+{
+lean_object* x_5;
+x_5 = l_Lean_Parser_Term_letrec___elambda__1___lambda__1(x_1, x_2, x_3, x_4);
+lean_dec(x_1);
+return x_5;
+}
+}
lean_object* l___regBuiltinParser_Lean_Parser_Term_letrec(lean_object* x_1) {
_start:
{
@@ -56883,11 +38979,11 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_nativeRefl___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_nativeRefl___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_nativeRefl___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_nativeRefl___elambda__1___closed__8() {
@@ -56895,8 +38991,10 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Term_nativeRefl___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_2 = l_Lean_Parser_Term_explicit___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -56904,11 +39002,43 @@ static lean_object* _init_l_Lean_Parser_Term_nativeRefl___elambda__1___closed__9
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Term_nativeRefl___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_nativeRefl___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_nativeRefl___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_nativeRefl___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_nativeRefl___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_nativeRefl___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_nativeRefl___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_nativeRefl___elambda__1___closed__11;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -56932,91 +39062,35 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_21; lean_object* x_22; lean_object* x_23;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_21 = lean_ctor_get(x_7, 1);
-lean_inc(x_21);
+x_11 = l_Lean_Parser_Term_nativeRefl___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Term_nativeRefl___elambda__1___closed__12;
lean_inc(x_1);
-x_22 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_23 = lean_ctor_get(x_22, 3);
-lean_inc(x_23);
-if (lean_obj_tag(x_23) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_24; lean_object* x_25;
-x_24 = lean_ctor_get(x_22, 0);
-lean_inc(x_24);
-x_25 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_24);
-lean_dec(x_24);
-if (lean_obj_tag(x_25) == 2)
-{
-lean_object* x_26; lean_object* x_27; uint8_t x_28;
-x_26 = lean_ctor_get(x_25, 1);
-lean_inc(x_26);
-lean_dec(x_25);
-x_27 = l_Lean_Parser_Term_nativeRefl___elambda__1___closed__6;
-x_28 = lean_string_dec_eq(x_26, x_27);
-lean_dec(x_26);
-if (x_28 == 0)
-{
-lean_object* x_29; lean_object* x_30;
-x_29 = l_Lean_Parser_Term_nativeRefl___elambda__1___closed__9;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_29, x_21);
-x_11 = x_30;
-goto block_20;
-}
-else
-{
-lean_dec(x_21);
-x_11 = x_22;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32;
-lean_dec(x_25);
-x_31 = l_Lean_Parser_Term_nativeRefl___elambda__1___closed__9;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_31, x_21);
-x_11 = x_32;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_33; lean_object* x_34;
-lean_dec(x_23);
-x_33 = l_Lean_Parser_Term_nativeRefl___elambda__1___closed__9;
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_33, x_21);
-x_11 = x_34;
-goto block_20;
-}
-block_20:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_13 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_14 = l_Lean_Parser_maxPrec;
-x_15 = l_Lean_Parser_categoryParser___elambda__1(x_13, x_14, x_1, x_11);
-x_16 = l_Lean_Parser_Term_nativeRefl___elambda__1___closed__2;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_10);
-return x_17;
-}
-else
-{
-lean_object* x_18; lean_object* x_19;
-lean_dec(x_12);
-lean_dec(x_1);
+lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
+x_15 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_16 = l_Lean_Parser_maxPrec;
+x_17 = l_Lean_Parser_categoryParser___elambda__1(x_15, x_16, x_1, x_13);
x_18 = l_Lean_Parser_Term_nativeRefl___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_11, x_18, x_10);
+x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_10);
return x_19;
}
+else
+{
+lean_object* x_20; lean_object* x_21;
+lean_dec(x_14);
+lean_dec(x_1);
+x_20 = l_Lean_Parser_Term_nativeRefl___elambda__1___closed__2;
+x_21 = l_Lean_Parser_ParserState_mkNode(x_13, x_20, x_10);
+return x_21;
}
}
else
@@ -57028,159 +39102,11 @@ return x_7;
}
else
{
-lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_35 = lean_ctor_get(x_2, 0);
-lean_inc(x_35);
-x_36 = lean_array_get_size(x_35);
-lean_dec(x_35);
-x_37 = lean_ctor_get(x_2, 1);
-lean_inc(x_37);
-lean_inc(x_1);
-x_38 = lean_apply_2(x_4, x_1, x_2);
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_40; lean_object* x_41; uint8_t x_42;
-x_40 = lean_ctor_get(x_39, 0);
-lean_inc(x_40);
-lean_dec(x_39);
-x_41 = lean_ctor_get(x_38, 1);
-lean_inc(x_41);
-x_42 = lean_nat_dec_eq(x_41, x_37);
-lean_dec(x_41);
-if (x_42 == 0)
-{
-lean_dec(x_40);
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46;
-lean_inc(x_37);
-x_43 = l_Lean_Parser_ParserState_restore(x_38, x_36, x_37);
-lean_dec(x_36);
-x_44 = lean_unsigned_to_nat(1024u);
-x_45 = l_Lean_Parser_checkPrecFn(x_44, x_1, x_43);
-x_46 = lean_ctor_get(x_45, 3);
-lean_inc(x_46);
-if (lean_obj_tag(x_46) == 0)
-{
-lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_63; lean_object* x_64; lean_object* x_65;
-x_47 = lean_ctor_get(x_45, 0);
-lean_inc(x_47);
-x_48 = lean_array_get_size(x_47);
-lean_dec(x_47);
-x_63 = lean_ctor_get(x_45, 1);
-lean_inc(x_63);
-lean_inc(x_1);
-x_64 = l_Lean_Parser_tokenFn(x_1, x_45);
-x_65 = lean_ctor_get(x_64, 3);
-lean_inc(x_65);
-if (lean_obj_tag(x_65) == 0)
-{
-lean_object* x_66; lean_object* x_67;
-x_66 = lean_ctor_get(x_64, 0);
-lean_inc(x_66);
-x_67 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_66);
-lean_dec(x_66);
-if (lean_obj_tag(x_67) == 2)
-{
-lean_object* x_68; lean_object* x_69; uint8_t x_70;
-x_68 = lean_ctor_get(x_67, 1);
-lean_inc(x_68);
-lean_dec(x_67);
-x_69 = l_Lean_Parser_Term_nativeRefl___elambda__1___closed__6;
-x_70 = lean_string_dec_eq(x_68, x_69);
-lean_dec(x_68);
-if (x_70 == 0)
-{
-lean_object* x_71; lean_object* x_72;
-x_71 = l_Lean_Parser_Term_nativeRefl___elambda__1___closed__9;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_71, x_63);
-x_49 = x_72;
-goto block_62;
-}
-else
-{
-lean_dec(x_63);
-x_49 = x_64;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_73; lean_object* x_74;
-lean_dec(x_67);
-x_73 = l_Lean_Parser_Term_nativeRefl___elambda__1___closed__9;
-x_74 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_73, x_63);
-x_49 = x_74;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_75; lean_object* x_76;
-lean_dec(x_65);
-x_75 = l_Lean_Parser_Term_nativeRefl___elambda__1___closed__9;
-x_76 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_75, x_63);
-x_49 = x_76;
-goto block_62;
-}
-block_62:
-{
-lean_object* x_50;
-x_50 = lean_ctor_get(x_49, 3);
-lean_inc(x_50);
-if (lean_obj_tag(x_50) == 0)
-{
-lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; uint8_t x_56; lean_object* x_57;
-x_51 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_52 = l_Lean_Parser_maxPrec;
-x_53 = l_Lean_Parser_categoryParser___elambda__1(x_51, x_52, x_1, x_49);
-x_54 = l_Lean_Parser_Term_nativeRefl___elambda__1___closed__2;
-x_55 = l_Lean_Parser_ParserState_mkNode(x_53, x_54, x_48);
-x_56 = 1;
-x_57 = l_Lean_Parser_mergeOrElseErrors(x_55, x_40, x_37, x_56);
-lean_dec(x_37);
-return x_57;
-}
-else
-{
-lean_object* x_58; lean_object* x_59; uint8_t x_60; lean_object* x_61;
-lean_dec(x_50);
-lean_dec(x_1);
-x_58 = l_Lean_Parser_Term_nativeRefl___elambda__1___closed__2;
-x_59 = l_Lean_Parser_ParserState_mkNode(x_49, x_58, x_48);
-x_60 = 1;
-x_61 = l_Lean_Parser_mergeOrElseErrors(x_59, x_40, x_37, x_60);
-lean_dec(x_37);
-return x_61;
-}
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_46);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_45, x_40, x_37, x_77);
-lean_dec(x_37);
-return x_78;
-}
-}
-}
+lean_object* x_22; uint8_t x_23; lean_object* x_24;
+x_22 = l_Lean_Parser_Term_nativeRefl___elambda__1___closed__10;
+x_23 = 1;
+x_24 = l_Lean_Parser_orelseFnCore(x_4, x_22, x_23, x_1, x_2);
+return x_24;
}
}
}
@@ -57473,20 +39399,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_nativeDecide___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_nativeDecide___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_nativeDecide___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_nativeDecide___elambda__1___closed__8() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_nativeDecide___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Term_nativeDecide___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_nativeDecide___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -57494,11 +39422,31 @@ static lean_object* _init_l_Lean_Parser_Term_nativeDecide___elambda__1___closed_
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
x_2 = l_Lean_Parser_Term_nativeDecide___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_nativeDecide___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_nativeDecide___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_nativeDecide___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_nativeDecide___elambda__1___closed__10;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -57522,71 +39470,17 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
+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;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_11 = lean_ctor_get(x_7, 1);
-lean_inc(x_11);
-x_12 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_13 = lean_ctor_get(x_12, 3);
-lean_inc(x_13);
-if (lean_obj_tag(x_13) == 0)
-{
-lean_object* x_14; lean_object* x_15;
-x_14 = lean_ctor_get(x_12, 0);
-lean_inc(x_14);
-x_15 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_14);
-lean_dec(x_14);
-if (lean_obj_tag(x_15) == 2)
-{
-lean_object* x_16; lean_object* x_17; uint8_t x_18;
-x_16 = lean_ctor_get(x_15, 1);
-lean_inc(x_16);
-lean_dec(x_15);
-x_17 = l_Lean_Parser_Term_nativeDecide___elambda__1___closed__6;
-x_18 = lean_string_dec_eq(x_16, x_17);
-lean_dec(x_16);
-if (x_18 == 0)
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
-x_19 = l_Lean_Parser_Term_nativeDecide___elambda__1___closed__9;
-x_20 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_19, x_11);
-x_21 = l_Lean_Parser_Term_nativeDecide___elambda__1___closed__2;
-x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_10);
-return x_22;
-}
-else
-{
-lean_object* x_23; lean_object* x_24;
-lean_dec(x_11);
-x_23 = l_Lean_Parser_Term_nativeDecide___elambda__1___closed__2;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_12, x_23, x_10);
-return x_24;
-}
-}
-else
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
-lean_dec(x_15);
-x_25 = l_Lean_Parser_Term_nativeDecide___elambda__1___closed__9;
-x_26 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_25, x_11);
-x_27 = l_Lean_Parser_Term_nativeDecide___elambda__1___closed__2;
-x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_10);
-return x_28;
-}
-}
-else
-{
-lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
-lean_dec(x_13);
-x_29 = l_Lean_Parser_Term_nativeDecide___elambda__1___closed__9;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_29, x_11);
-x_31 = l_Lean_Parser_Term_nativeDecide___elambda__1___closed__2;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_10);
-return x_32;
-}
+x_11 = l_Lean_Parser_Term_nativeDecide___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Term_nativeDecide___elambda__1___closed__11;
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = l_Lean_Parser_Term_nativeDecide___elambda__1___closed__2;
+x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
+return x_15;
}
else
{
@@ -57597,144 +39491,11 @@ return x_7;
}
else
{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_33 = lean_ctor_get(x_2, 0);
-lean_inc(x_33);
-x_34 = lean_array_get_size(x_33);
-lean_dec(x_33);
-x_35 = lean_ctor_get(x_2, 1);
-lean_inc(x_35);
-lean_inc(x_1);
-x_36 = lean_apply_2(x_4, x_1, x_2);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_36, 1);
-lean_inc(x_39);
-x_40 = lean_nat_dec_eq(x_39, x_35);
-lean_dec(x_39);
-if (x_40 == 0)
-{
-lean_dec(x_38);
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
-lean_inc(x_35);
-x_41 = l_Lean_Parser_ParserState_restore(x_36, x_34, x_35);
-lean_dec(x_34);
-x_42 = lean_unsigned_to_nat(1024u);
-x_43 = l_Lean_Parser_checkPrecFn(x_42, x_1, x_41);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-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_43, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-x_47 = lean_ctor_get(x_43, 1);
-lean_inc(x_47);
-x_48 = l_Lean_Parser_tokenFn(x_1, x_43);
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
-{
-lean_object* x_50; lean_object* x_51;
-x_50 = lean_ctor_get(x_48, 0);
-lean_inc(x_50);
-x_51 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_50);
-lean_dec(x_50);
-if (lean_obj_tag(x_51) == 2)
-{
-lean_object* x_52; lean_object* x_53; uint8_t x_54;
-x_52 = lean_ctor_get(x_51, 1);
-lean_inc(x_52);
-lean_dec(x_51);
-x_53 = l_Lean_Parser_Term_nativeDecide___elambda__1___closed__6;
-x_54 = lean_string_dec_eq(x_52, x_53);
-lean_dec(x_52);
-if (x_54 == 0)
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; uint8_t x_59; lean_object* x_60;
-x_55 = l_Lean_Parser_Term_nativeDecide___elambda__1___closed__9;
-x_56 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_55, x_47);
-x_57 = l_Lean_Parser_Term_nativeDecide___elambda__1___closed__2;
-x_58 = l_Lean_Parser_ParserState_mkNode(x_56, x_57, x_46);
-x_59 = 1;
-x_60 = l_Lean_Parser_mergeOrElseErrors(x_58, x_38, x_35, x_59);
-lean_dec(x_35);
-return x_60;
-}
-else
-{
-lean_object* x_61; lean_object* x_62; uint8_t x_63; lean_object* x_64;
-lean_dec(x_47);
-x_61 = l_Lean_Parser_Term_nativeDecide___elambda__1___closed__2;
-x_62 = l_Lean_Parser_ParserState_mkNode(x_48, x_61, x_46);
-x_63 = 1;
-x_64 = l_Lean_Parser_mergeOrElseErrors(x_62, x_38, x_35, x_63);
-lean_dec(x_35);
-return x_64;
-}
-}
-else
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; uint8_t x_69; lean_object* x_70;
-lean_dec(x_51);
-x_65 = l_Lean_Parser_Term_nativeDecide___elambda__1___closed__9;
-x_66 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_65, x_47);
-x_67 = l_Lean_Parser_Term_nativeDecide___elambda__1___closed__2;
-x_68 = l_Lean_Parser_ParserState_mkNode(x_66, x_67, x_46);
-x_69 = 1;
-x_70 = l_Lean_Parser_mergeOrElseErrors(x_68, x_38, x_35, x_69);
-lean_dec(x_35);
-return x_70;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; uint8_t x_75; lean_object* x_76;
-lean_dec(x_49);
-x_71 = l_Lean_Parser_Term_nativeDecide___elambda__1___closed__9;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_71, x_47);
-x_73 = l_Lean_Parser_Term_nativeDecide___elambda__1___closed__2;
-x_74 = l_Lean_Parser_ParserState_mkNode(x_72, x_73, x_46);
-x_75 = 1;
-x_76 = l_Lean_Parser_mergeOrElseErrors(x_74, x_38, x_35, x_75);
-lean_dec(x_35);
-return x_76;
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_44);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_43, x_38, x_35, x_77);
-lean_dec(x_35);
-return x_78;
-}
-}
-}
+lean_object* x_16; uint8_t x_17; lean_object* x_18;
+x_16 = l_Lean_Parser_Term_nativeDecide___elambda__1___closed__9;
+x_17 = 1;
+x_18 = l_Lean_Parser_orelseFnCore(x_4, x_16, x_17, x_1, x_2);
+return x_18;
}
}
}
@@ -58003,20 +39764,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_decide___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_decide___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_decide___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_decide___elambda__1___closed__8() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_decide___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Term_decide___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_decide___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -58024,11 +39787,31 @@ static lean_object* _init_l_Lean_Parser_Term_decide___elambda__1___closed__9() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
x_2 = l_Lean_Parser_Term_decide___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_decide___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_decide___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_decide___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_decide___elambda__1___closed__10;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -58052,71 +39835,17 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
+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;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_11 = lean_ctor_get(x_7, 1);
-lean_inc(x_11);
-x_12 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_13 = lean_ctor_get(x_12, 3);
-lean_inc(x_13);
-if (lean_obj_tag(x_13) == 0)
-{
-lean_object* x_14; lean_object* x_15;
-x_14 = lean_ctor_get(x_12, 0);
-lean_inc(x_14);
-x_15 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_14);
-lean_dec(x_14);
-if (lean_obj_tag(x_15) == 2)
-{
-lean_object* x_16; lean_object* x_17; uint8_t x_18;
-x_16 = lean_ctor_get(x_15, 1);
-lean_inc(x_16);
-lean_dec(x_15);
-x_17 = l_Lean_Parser_Term_decide___elambda__1___closed__6;
-x_18 = lean_string_dec_eq(x_16, x_17);
-lean_dec(x_16);
-if (x_18 == 0)
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
-x_19 = l_Lean_Parser_Term_decide___elambda__1___closed__9;
-x_20 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_19, x_11);
-x_21 = l_Lean_Parser_Term_decide___elambda__1___closed__2;
-x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_10);
-return x_22;
-}
-else
-{
-lean_object* x_23; lean_object* x_24;
-lean_dec(x_11);
-x_23 = l_Lean_Parser_Term_decide___elambda__1___closed__2;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_12, x_23, x_10);
-return x_24;
-}
-}
-else
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
-lean_dec(x_15);
-x_25 = l_Lean_Parser_Term_decide___elambda__1___closed__9;
-x_26 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_25, x_11);
-x_27 = l_Lean_Parser_Term_decide___elambda__1___closed__2;
-x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_10);
-return x_28;
-}
-}
-else
-{
-lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
-lean_dec(x_13);
-x_29 = l_Lean_Parser_Term_decide___elambda__1___closed__9;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_29, x_11);
-x_31 = l_Lean_Parser_Term_decide___elambda__1___closed__2;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_10);
-return x_32;
-}
+x_11 = l_Lean_Parser_Term_decide___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Term_decide___elambda__1___closed__11;
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = l_Lean_Parser_Term_decide___elambda__1___closed__2;
+x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
+return x_15;
}
else
{
@@ -58127,144 +39856,11 @@ return x_7;
}
else
{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_33 = lean_ctor_get(x_2, 0);
-lean_inc(x_33);
-x_34 = lean_array_get_size(x_33);
-lean_dec(x_33);
-x_35 = lean_ctor_get(x_2, 1);
-lean_inc(x_35);
-lean_inc(x_1);
-x_36 = lean_apply_2(x_4, x_1, x_2);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_36, 1);
-lean_inc(x_39);
-x_40 = lean_nat_dec_eq(x_39, x_35);
-lean_dec(x_39);
-if (x_40 == 0)
-{
-lean_dec(x_38);
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
-lean_inc(x_35);
-x_41 = l_Lean_Parser_ParserState_restore(x_36, x_34, x_35);
-lean_dec(x_34);
-x_42 = lean_unsigned_to_nat(1024u);
-x_43 = l_Lean_Parser_checkPrecFn(x_42, x_1, x_41);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-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_43, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-x_47 = lean_ctor_get(x_43, 1);
-lean_inc(x_47);
-x_48 = l_Lean_Parser_tokenFn(x_1, x_43);
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
-{
-lean_object* x_50; lean_object* x_51;
-x_50 = lean_ctor_get(x_48, 0);
-lean_inc(x_50);
-x_51 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_50);
-lean_dec(x_50);
-if (lean_obj_tag(x_51) == 2)
-{
-lean_object* x_52; lean_object* x_53; uint8_t x_54;
-x_52 = lean_ctor_get(x_51, 1);
-lean_inc(x_52);
-lean_dec(x_51);
-x_53 = l_Lean_Parser_Term_decide___elambda__1___closed__6;
-x_54 = lean_string_dec_eq(x_52, x_53);
-lean_dec(x_52);
-if (x_54 == 0)
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; uint8_t x_59; lean_object* x_60;
-x_55 = l_Lean_Parser_Term_decide___elambda__1___closed__9;
-x_56 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_55, x_47);
-x_57 = l_Lean_Parser_Term_decide___elambda__1___closed__2;
-x_58 = l_Lean_Parser_ParserState_mkNode(x_56, x_57, x_46);
-x_59 = 1;
-x_60 = l_Lean_Parser_mergeOrElseErrors(x_58, x_38, x_35, x_59);
-lean_dec(x_35);
-return x_60;
-}
-else
-{
-lean_object* x_61; lean_object* x_62; uint8_t x_63; lean_object* x_64;
-lean_dec(x_47);
-x_61 = l_Lean_Parser_Term_decide___elambda__1___closed__2;
-x_62 = l_Lean_Parser_ParserState_mkNode(x_48, x_61, x_46);
-x_63 = 1;
-x_64 = l_Lean_Parser_mergeOrElseErrors(x_62, x_38, x_35, x_63);
-lean_dec(x_35);
-return x_64;
-}
-}
-else
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; uint8_t x_69; lean_object* x_70;
-lean_dec(x_51);
-x_65 = l_Lean_Parser_Term_decide___elambda__1___closed__9;
-x_66 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_65, x_47);
-x_67 = l_Lean_Parser_Term_decide___elambda__1___closed__2;
-x_68 = l_Lean_Parser_ParserState_mkNode(x_66, x_67, x_46);
-x_69 = 1;
-x_70 = l_Lean_Parser_mergeOrElseErrors(x_68, x_38, x_35, x_69);
-lean_dec(x_35);
-return x_70;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; uint8_t x_75; lean_object* x_76;
-lean_dec(x_49);
-x_71 = l_Lean_Parser_Term_decide___elambda__1___closed__9;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_71, x_47);
-x_73 = l_Lean_Parser_Term_decide___elambda__1___closed__2;
-x_74 = l_Lean_Parser_ParserState_mkNode(x_72, x_73, x_46);
-x_75 = 1;
-x_76 = l_Lean_Parser_mergeOrElseErrors(x_74, x_38, x_35, x_75);
-lean_dec(x_35);
-return x_76;
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_44);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_43, x_38, x_35, x_77);
-lean_dec(x_35);
-return x_78;
-}
-}
-}
+lean_object* x_16; uint8_t x_17; lean_object* x_18;
+x_16 = l_Lean_Parser_Term_decide___elambda__1___closed__9;
+x_17 = 1;
+x_18 = l_Lean_Parser_orelseFnCore(x_4, x_16, x_17, x_1, x_2);
+return x_18;
}
}
}
@@ -58533,11 +40129,11 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_typeOf___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_typeOf___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_typeOf___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_typeOf___elambda__1___closed__8() {
@@ -58545,8 +40141,10 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Term_typeOf___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_2 = l_Lean_Parser_Term_explicit___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -58554,11 +40152,43 @@ static lean_object* _init_l_Lean_Parser_Term_typeOf___elambda__1___closed__9() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Term_typeOf___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_typeOf___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_typeOf___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_typeOf___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_typeOf___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_typeOf___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_typeOf___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_typeOf___elambda__1___closed__11;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -58582,91 +40212,35 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_21; lean_object* x_22; lean_object* x_23;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_21 = lean_ctor_get(x_7, 1);
-lean_inc(x_21);
+x_11 = l_Lean_Parser_Term_typeOf___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Term_typeOf___elambda__1___closed__12;
lean_inc(x_1);
-x_22 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_23 = lean_ctor_get(x_22, 3);
-lean_inc(x_23);
-if (lean_obj_tag(x_23) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_24; lean_object* x_25;
-x_24 = lean_ctor_get(x_22, 0);
-lean_inc(x_24);
-x_25 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_24);
-lean_dec(x_24);
-if (lean_obj_tag(x_25) == 2)
-{
-lean_object* x_26; lean_object* x_27; uint8_t x_28;
-x_26 = lean_ctor_get(x_25, 1);
-lean_inc(x_26);
-lean_dec(x_25);
-x_27 = l_Lean_Parser_Term_typeOf___elambda__1___closed__6;
-x_28 = lean_string_dec_eq(x_26, x_27);
-lean_dec(x_26);
-if (x_28 == 0)
-{
-lean_object* x_29; lean_object* x_30;
-x_29 = l_Lean_Parser_Term_typeOf___elambda__1___closed__9;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_29, x_21);
-x_11 = x_30;
-goto block_20;
-}
-else
-{
-lean_dec(x_21);
-x_11 = x_22;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32;
-lean_dec(x_25);
-x_31 = l_Lean_Parser_Term_typeOf___elambda__1___closed__9;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_31, x_21);
-x_11 = x_32;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_33; lean_object* x_34;
-lean_dec(x_23);
-x_33 = l_Lean_Parser_Term_typeOf___elambda__1___closed__9;
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_33, x_21);
-x_11 = x_34;
-goto block_20;
-}
-block_20:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_13 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_14 = l_Lean_Parser_maxPrec;
-x_15 = l_Lean_Parser_categoryParser___elambda__1(x_13, x_14, x_1, x_11);
-x_16 = l_Lean_Parser_Term_typeOf___elambda__1___closed__2;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_10);
-return x_17;
-}
-else
-{
-lean_object* x_18; lean_object* x_19;
-lean_dec(x_12);
-lean_dec(x_1);
+lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
+x_15 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_16 = l_Lean_Parser_maxPrec;
+x_17 = l_Lean_Parser_categoryParser___elambda__1(x_15, x_16, x_1, x_13);
x_18 = l_Lean_Parser_Term_typeOf___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_11, x_18, x_10);
+x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_10);
return x_19;
}
+else
+{
+lean_object* x_20; lean_object* x_21;
+lean_dec(x_14);
+lean_dec(x_1);
+x_20 = l_Lean_Parser_Term_typeOf___elambda__1___closed__2;
+x_21 = l_Lean_Parser_ParserState_mkNode(x_13, x_20, x_10);
+return x_21;
}
}
else
@@ -58678,159 +40252,11 @@ return x_7;
}
else
{
-lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_35 = lean_ctor_get(x_2, 0);
-lean_inc(x_35);
-x_36 = lean_array_get_size(x_35);
-lean_dec(x_35);
-x_37 = lean_ctor_get(x_2, 1);
-lean_inc(x_37);
-lean_inc(x_1);
-x_38 = lean_apply_2(x_4, x_1, x_2);
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_40; lean_object* x_41; uint8_t x_42;
-x_40 = lean_ctor_get(x_39, 0);
-lean_inc(x_40);
-lean_dec(x_39);
-x_41 = lean_ctor_get(x_38, 1);
-lean_inc(x_41);
-x_42 = lean_nat_dec_eq(x_41, x_37);
-lean_dec(x_41);
-if (x_42 == 0)
-{
-lean_dec(x_40);
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46;
-lean_inc(x_37);
-x_43 = l_Lean_Parser_ParserState_restore(x_38, x_36, x_37);
-lean_dec(x_36);
-x_44 = lean_unsigned_to_nat(1024u);
-x_45 = l_Lean_Parser_checkPrecFn(x_44, x_1, x_43);
-x_46 = lean_ctor_get(x_45, 3);
-lean_inc(x_46);
-if (lean_obj_tag(x_46) == 0)
-{
-lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_63; lean_object* x_64; lean_object* x_65;
-x_47 = lean_ctor_get(x_45, 0);
-lean_inc(x_47);
-x_48 = lean_array_get_size(x_47);
-lean_dec(x_47);
-x_63 = lean_ctor_get(x_45, 1);
-lean_inc(x_63);
-lean_inc(x_1);
-x_64 = l_Lean_Parser_tokenFn(x_1, x_45);
-x_65 = lean_ctor_get(x_64, 3);
-lean_inc(x_65);
-if (lean_obj_tag(x_65) == 0)
-{
-lean_object* x_66; lean_object* x_67;
-x_66 = lean_ctor_get(x_64, 0);
-lean_inc(x_66);
-x_67 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_66);
-lean_dec(x_66);
-if (lean_obj_tag(x_67) == 2)
-{
-lean_object* x_68; lean_object* x_69; uint8_t x_70;
-x_68 = lean_ctor_get(x_67, 1);
-lean_inc(x_68);
-lean_dec(x_67);
-x_69 = l_Lean_Parser_Term_typeOf___elambda__1___closed__6;
-x_70 = lean_string_dec_eq(x_68, x_69);
-lean_dec(x_68);
-if (x_70 == 0)
-{
-lean_object* x_71; lean_object* x_72;
-x_71 = l_Lean_Parser_Term_typeOf___elambda__1___closed__9;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_71, x_63);
-x_49 = x_72;
-goto block_62;
-}
-else
-{
-lean_dec(x_63);
-x_49 = x_64;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_73; lean_object* x_74;
-lean_dec(x_67);
-x_73 = l_Lean_Parser_Term_typeOf___elambda__1___closed__9;
-x_74 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_73, x_63);
-x_49 = x_74;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_75; lean_object* x_76;
-lean_dec(x_65);
-x_75 = l_Lean_Parser_Term_typeOf___elambda__1___closed__9;
-x_76 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_75, x_63);
-x_49 = x_76;
-goto block_62;
-}
-block_62:
-{
-lean_object* x_50;
-x_50 = lean_ctor_get(x_49, 3);
-lean_inc(x_50);
-if (lean_obj_tag(x_50) == 0)
-{
-lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; uint8_t x_56; lean_object* x_57;
-x_51 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_52 = l_Lean_Parser_maxPrec;
-x_53 = l_Lean_Parser_categoryParser___elambda__1(x_51, x_52, x_1, x_49);
-x_54 = l_Lean_Parser_Term_typeOf___elambda__1___closed__2;
-x_55 = l_Lean_Parser_ParserState_mkNode(x_53, x_54, x_48);
-x_56 = 1;
-x_57 = l_Lean_Parser_mergeOrElseErrors(x_55, x_40, x_37, x_56);
-lean_dec(x_37);
-return x_57;
-}
-else
-{
-lean_object* x_58; lean_object* x_59; uint8_t x_60; lean_object* x_61;
-lean_dec(x_50);
-lean_dec(x_1);
-x_58 = l_Lean_Parser_Term_typeOf___elambda__1___closed__2;
-x_59 = l_Lean_Parser_ParserState_mkNode(x_49, x_58, x_48);
-x_60 = 1;
-x_61 = l_Lean_Parser_mergeOrElseErrors(x_59, x_40, x_37, x_60);
-lean_dec(x_37);
-return x_61;
-}
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_46);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_45, x_40, x_37, x_77);
-lean_dec(x_37);
-return x_78;
-}
-}
-}
+lean_object* x_22; uint8_t x_23; lean_object* x_24;
+x_22 = l_Lean_Parser_Term_typeOf___elambda__1___closed__10;
+x_23 = 1;
+x_24 = l_Lean_Parser_orelseFnCore(x_4, x_22, x_23, x_1, x_2);
+return x_24;
}
}
}
@@ -59123,20 +40549,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__8() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_strLit___closed__2;
+x_2 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -59144,11 +40572,67 @@ static lean_object* _init_l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed_
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Term_explicit___elambda__1___closed__8;
x_2 = l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__14() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__13;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -59172,127 +40656,71 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_30; lean_object* x_31; lean_object* x_32;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_30 = lean_ctor_get(x_7, 1);
-lean_inc(x_30);
+x_11 = l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__14;
lean_inc(x_1);
-x_31 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_32 = lean_ctor_get(x_31, 3);
-lean_inc(x_32);
-if (lean_obj_tag(x_32) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_33; lean_object* x_34;
-x_33 = lean_ctor_get(x_31, 0);
-lean_inc(x_33);
-x_34 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_33);
-lean_dec(x_33);
-if (lean_obj_tag(x_34) == 2)
-{
-lean_object* x_35; lean_object* x_36; uint8_t x_37;
-x_35 = lean_ctor_get(x_34, 1);
-lean_inc(x_35);
-lean_dec(x_34);
-x_36 = l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__6;
-x_37 = lean_string_dec_eq(x_35, x_36);
-lean_dec(x_35);
-if (x_37 == 0)
-{
-lean_object* x_38; lean_object* x_39;
-x_38 = l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__9;
-x_39 = l_Lean_Parser_ParserState_mkErrorsAt(x_31, x_38, x_30);
-x_11 = x_39;
-goto block_29;
-}
-else
-{
-lean_dec(x_30);
-x_11 = x_31;
-goto block_29;
-}
-}
-else
-{
-lean_object* x_40; lean_object* x_41;
-lean_dec(x_34);
-x_40 = l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__9;
-x_41 = l_Lean_Parser_ParserState_mkErrorsAt(x_31, x_40, x_30);
-x_11 = x_41;
-goto block_29;
-}
-}
-else
-{
-lean_object* x_42; lean_object* x_43;
-lean_dec(x_32);
-x_42 = l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__9;
-x_43 = l_Lean_Parser_ParserState_mkErrorsAt(x_31, x_42, x_30);
-x_11 = x_43;
-goto block_29;
-}
-block_29:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
-x_13 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_14 = l_Lean_Parser_maxPrec;
+lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
+x_15 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_16 = l_Lean_Parser_maxPrec;
lean_inc(x_1);
-x_15 = l_Lean_Parser_categoryParser___elambda__1(x_13, x_14, x_1, x_11);
-x_16 = lean_ctor_get(x_15, 3);
-lean_inc(x_16);
-if (lean_obj_tag(x_16) == 0)
-{
-lean_object* x_17; lean_object* x_18;
-lean_inc(x_1);
-x_17 = l_Lean_Parser_strLit___elambda__1(x_1, x_15);
+x_17 = l_Lean_Parser_categoryParser___elambda__1(x_15, x_16, x_1, x_13);
x_18 = lean_ctor_get(x_17, 3);
lean_inc(x_18);
if (lean_obj_tag(x_18) == 0)
{
-lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
-x_19 = lean_unsigned_to_nat(0u);
-x_20 = l_Lean_Parser_categoryParser___elambda__1(x_13, x_19, x_1, x_17);
-x_21 = l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__2;
-x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_10);
-return x_22;
-}
-else
+lean_object* x_19; lean_object* x_20;
+lean_inc(x_1);
+x_19 = l_Lean_Parser_strLit___elambda__1(x_1, x_17);
+x_20 = lean_ctor_get(x_19, 3);
+lean_inc(x_20);
+if (lean_obj_tag(x_20) == 0)
{
-lean_object* x_23; lean_object* x_24;
-lean_dec(x_18);
-lean_dec(x_1);
+lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
+x_21 = lean_unsigned_to_nat(0u);
+x_22 = l_Lean_Parser_categoryParser___elambda__1(x_15, x_21, x_1, x_19);
x_23 = l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__2;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_17, x_23, x_10);
+x_24 = l_Lean_Parser_ParserState_mkNode(x_22, x_23, x_10);
return x_24;
}
-}
else
{
lean_object* x_25; lean_object* x_26;
-lean_dec(x_16);
+lean_dec(x_20);
lean_dec(x_1);
x_25 = l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__2;
-x_26 = l_Lean_Parser_ParserState_mkNode(x_15, x_25, x_10);
+x_26 = l_Lean_Parser_ParserState_mkNode(x_19, x_25, x_10);
return x_26;
}
}
else
{
lean_object* x_27; lean_object* x_28;
-lean_dec(x_12);
+lean_dec(x_18);
lean_dec(x_1);
x_27 = l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__2;
-x_28 = l_Lean_Parser_ParserState_mkNode(x_11, x_27, x_10);
+x_28 = l_Lean_Parser_ParserState_mkNode(x_17, x_27, x_10);
return x_28;
}
}
+else
+{
+lean_object* x_29; lean_object* x_30;
+lean_dec(x_14);
+lean_dec(x_1);
+x_29 = l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__2;
+x_30 = l_Lean_Parser_ParserState_mkNode(x_13, x_29, x_10);
+return x_30;
+}
}
else
{
@@ -59303,200 +40731,11 @@ return x_7;
}
else
{
-lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48;
-x_44 = lean_ctor_get(x_2, 0);
-lean_inc(x_44);
-x_45 = lean_array_get_size(x_44);
-lean_dec(x_44);
-x_46 = lean_ctor_get(x_2, 1);
-lean_inc(x_46);
-lean_inc(x_1);
-x_47 = lean_apply_2(x_4, x_1, x_2);
-x_48 = lean_ctor_get(x_47, 3);
-lean_inc(x_48);
-if (lean_obj_tag(x_48) == 0)
-{
-lean_dec(x_46);
-lean_dec(x_45);
-lean_dec(x_1);
-return x_47;
-}
-else
-{
-lean_object* x_49; lean_object* x_50; uint8_t x_51;
-x_49 = lean_ctor_get(x_48, 0);
-lean_inc(x_49);
-lean_dec(x_48);
-x_50 = lean_ctor_get(x_47, 1);
-lean_inc(x_50);
-x_51 = lean_nat_dec_eq(x_50, x_46);
-lean_dec(x_50);
-if (x_51 == 0)
-{
-lean_dec(x_49);
-lean_dec(x_46);
-lean_dec(x_45);
-lean_dec(x_1);
-return x_47;
-}
-else
-{
-lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55;
-lean_inc(x_46);
-x_52 = l_Lean_Parser_ParserState_restore(x_47, x_45, x_46);
-lean_dec(x_45);
-x_53 = lean_unsigned_to_nat(1024u);
-x_54 = l_Lean_Parser_checkPrecFn(x_53, x_1, x_52);
-x_55 = lean_ctor_get(x_54, 3);
-lean_inc(x_55);
-if (lean_obj_tag(x_55) == 0)
-{
-lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_85; lean_object* x_86; lean_object* x_87;
-x_56 = lean_ctor_get(x_54, 0);
-lean_inc(x_56);
-x_57 = lean_array_get_size(x_56);
-lean_dec(x_56);
-x_85 = lean_ctor_get(x_54, 1);
-lean_inc(x_85);
-lean_inc(x_1);
-x_86 = l_Lean_Parser_tokenFn(x_1, x_54);
-x_87 = lean_ctor_get(x_86, 3);
-lean_inc(x_87);
-if (lean_obj_tag(x_87) == 0)
-{
-lean_object* x_88; lean_object* x_89;
-x_88 = lean_ctor_get(x_86, 0);
-lean_inc(x_88);
-x_89 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_88);
-lean_dec(x_88);
-if (lean_obj_tag(x_89) == 2)
-{
-lean_object* x_90; lean_object* x_91; uint8_t x_92;
-x_90 = lean_ctor_get(x_89, 1);
-lean_inc(x_90);
-lean_dec(x_89);
-x_91 = l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__6;
-x_92 = lean_string_dec_eq(x_90, x_91);
-lean_dec(x_90);
-if (x_92 == 0)
-{
-lean_object* x_93; lean_object* x_94;
-x_93 = l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__9;
-x_94 = l_Lean_Parser_ParserState_mkErrorsAt(x_86, x_93, x_85);
-x_58 = x_94;
-goto block_84;
-}
-else
-{
-lean_dec(x_85);
-x_58 = x_86;
-goto block_84;
-}
-}
-else
-{
-lean_object* x_95; lean_object* x_96;
-lean_dec(x_89);
-x_95 = l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__9;
-x_96 = l_Lean_Parser_ParserState_mkErrorsAt(x_86, x_95, x_85);
-x_58 = x_96;
-goto block_84;
-}
-}
-else
-{
-lean_object* x_97; lean_object* x_98;
-lean_dec(x_87);
-x_97 = l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__9;
-x_98 = l_Lean_Parser_ParserState_mkErrorsAt(x_86, x_97, x_85);
-x_58 = x_98;
-goto block_84;
-}
-block_84:
-{
-lean_object* x_59;
-x_59 = lean_ctor_get(x_58, 3);
-lean_inc(x_59);
-if (lean_obj_tag(x_59) == 0)
-{
-lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63;
-x_60 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_61 = l_Lean_Parser_maxPrec;
-lean_inc(x_1);
-x_62 = l_Lean_Parser_categoryParser___elambda__1(x_60, x_61, x_1, x_58);
-x_63 = lean_ctor_get(x_62, 3);
-lean_inc(x_63);
-if (lean_obj_tag(x_63) == 0)
-{
-lean_object* x_64; lean_object* x_65;
-lean_inc(x_1);
-x_64 = l_Lean_Parser_strLit___elambda__1(x_1, x_62);
-x_65 = lean_ctor_get(x_64, 3);
-lean_inc(x_65);
-if (lean_obj_tag(x_65) == 0)
-{
-lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; uint8_t x_70; lean_object* x_71;
-x_66 = lean_unsigned_to_nat(0u);
-x_67 = l_Lean_Parser_categoryParser___elambda__1(x_60, x_66, x_1, x_64);
-x_68 = l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__2;
-x_69 = l_Lean_Parser_ParserState_mkNode(x_67, x_68, x_57);
-x_70 = 1;
-x_71 = l_Lean_Parser_mergeOrElseErrors(x_69, x_49, x_46, x_70);
-lean_dec(x_46);
-return x_71;
-}
-else
-{
-lean_object* x_72; lean_object* x_73; uint8_t x_74; lean_object* x_75;
-lean_dec(x_65);
-lean_dec(x_1);
-x_72 = l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__2;
-x_73 = l_Lean_Parser_ParserState_mkNode(x_64, x_72, x_57);
-x_74 = 1;
-x_75 = l_Lean_Parser_mergeOrElseErrors(x_73, x_49, x_46, x_74);
-lean_dec(x_46);
-return x_75;
-}
-}
-else
-{
-lean_object* x_76; lean_object* x_77; uint8_t x_78; lean_object* x_79;
-lean_dec(x_63);
-lean_dec(x_1);
-x_76 = l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__2;
-x_77 = l_Lean_Parser_ParserState_mkNode(x_62, x_76, x_57);
-x_78 = 1;
-x_79 = l_Lean_Parser_mergeOrElseErrors(x_77, x_49, x_46, x_78);
-lean_dec(x_46);
-return x_79;
-}
-}
-else
-{
-lean_object* x_80; lean_object* x_81; uint8_t x_82; lean_object* x_83;
-lean_dec(x_59);
-lean_dec(x_1);
-x_80 = l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__2;
-x_81 = l_Lean_Parser_ParserState_mkNode(x_58, x_80, x_57);
-x_82 = 1;
-x_83 = l_Lean_Parser_mergeOrElseErrors(x_81, x_49, x_46, x_82);
-lean_dec(x_46);
-return x_83;
-}
-}
-}
-else
-{
-uint8_t x_99; lean_object* x_100;
-lean_dec(x_55);
-lean_dec(x_1);
-x_99 = 1;
-x_100 = l_Lean_Parser_mergeOrElseErrors(x_54, x_49, x_46, x_99);
-lean_dec(x_46);
-return x_100;
-}
-}
-}
+lean_object* x_31; uint8_t x_32; lean_object* x_33;
+x_31 = l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__12;
+x_32 = 1;
+x_33 = l_Lean_Parser_orelseFnCore(x_4, x_31, x_32, x_1, x_2);
+return x_33;
}
}
}
@@ -59873,20 +41112,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__8() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_strLit___closed__2;
+x_2 = l_Lean_Parser_Term_explicit___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -59894,11 +41135,55 @@ static lean_object* _init_l_Lean_Parser_Term_ensureExpectedType___elambda__1___c
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__7;
x_2 = l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__12;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -59922,109 +41207,53 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_25; lean_object* x_26; lean_object* x_27;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_25 = lean_ctor_get(x_7, 1);
-lean_inc(x_25);
+x_11 = l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__13;
lean_inc(x_1);
-x_26 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_27 = lean_ctor_get(x_26, 3);
-lean_inc(x_27);
-if (lean_obj_tag(x_27) == 0)
-{
-lean_object* x_28; lean_object* x_29;
-x_28 = lean_ctor_get(x_26, 0);
-lean_inc(x_28);
-x_29 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_28);
-lean_dec(x_28);
-if (lean_obj_tag(x_29) == 2)
-{
-lean_object* x_30; lean_object* x_31; uint8_t x_32;
-x_30 = lean_ctor_get(x_29, 1);
-lean_inc(x_30);
-lean_dec(x_29);
-x_31 = l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__6;
-x_32 = lean_string_dec_eq(x_30, x_31);
-lean_dec(x_30);
-if (x_32 == 0)
-{
-lean_object* x_33; lean_object* x_34;
-x_33 = l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__9;
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_26, x_33, x_25);
-x_11 = x_34;
-goto block_24;
-}
-else
-{
-lean_dec(x_25);
-x_11 = x_26;
-goto block_24;
-}
-}
-else
-{
-lean_object* x_35; lean_object* x_36;
-lean_dec(x_29);
-x_35 = l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__9;
-x_36 = l_Lean_Parser_ParserState_mkErrorsAt(x_26, x_35, x_25);
-x_11 = x_36;
-goto block_24;
-}
-}
-else
-{
-lean_object* x_37; lean_object* x_38;
-lean_dec(x_27);
-x_37 = l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__9;
-x_38 = l_Lean_Parser_ParserState_mkErrorsAt(x_26, x_37, x_25);
-x_11 = x_38;
-goto block_24;
-}
-block_24:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14;
-lean_inc(x_1);
-x_13 = l_Lean_Parser_strLit___elambda__1(x_1, x_11);
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
x_14 = lean_ctor_get(x_13, 3);
lean_inc(x_14);
if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
-x_15 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_16 = l_Lean_Parser_maxPrec;
-x_17 = l_Lean_Parser_categoryParser___elambda__1(x_15, x_16, x_1, x_13);
-x_18 = l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_10);
-return x_19;
-}
-else
+lean_object* x_15; lean_object* x_16;
+lean_inc(x_1);
+x_15 = l_Lean_Parser_strLit___elambda__1(x_1, x_13);
+x_16 = lean_ctor_get(x_15, 3);
+lean_inc(x_16);
+if (lean_obj_tag(x_16) == 0)
{
-lean_object* x_20; lean_object* x_21;
-lean_dec(x_14);
-lean_dec(x_1);
+lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
+x_17 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_18 = l_Lean_Parser_maxPrec;
+x_19 = l_Lean_Parser_categoryParser___elambda__1(x_17, x_18, x_1, x_15);
x_20 = l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__2;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_13, x_20, x_10);
+x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_10);
return x_21;
}
-}
else
{
lean_object* x_22; lean_object* x_23;
-lean_dec(x_12);
+lean_dec(x_16);
lean_dec(x_1);
x_22 = l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__2;
-x_23 = l_Lean_Parser_ParserState_mkNode(x_11, x_22, x_10);
+x_23 = l_Lean_Parser_ParserState_mkNode(x_15, x_22, x_10);
return x_23;
}
}
+else
+{
+lean_object* x_24; lean_object* x_25;
+lean_dec(x_14);
+lean_dec(x_1);
+x_24 = l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__2;
+x_25 = l_Lean_Parser_ParserState_mkNode(x_13, x_24, x_10);
+return x_25;
+}
}
else
{
@@ -60035,179 +41264,11 @@ return x_7;
}
else
{
-lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43;
-x_39 = lean_ctor_get(x_2, 0);
-lean_inc(x_39);
-x_40 = lean_array_get_size(x_39);
-lean_dec(x_39);
-x_41 = lean_ctor_get(x_2, 1);
-lean_inc(x_41);
-lean_inc(x_1);
-x_42 = lean_apply_2(x_4, x_1, x_2);
-x_43 = lean_ctor_get(x_42, 3);
-lean_inc(x_43);
-if (lean_obj_tag(x_43) == 0)
-{
-lean_dec(x_41);
-lean_dec(x_40);
-lean_dec(x_1);
-return x_42;
-}
-else
-{
-lean_object* x_44; lean_object* x_45; uint8_t x_46;
-x_44 = lean_ctor_get(x_43, 0);
-lean_inc(x_44);
-lean_dec(x_43);
-x_45 = lean_ctor_get(x_42, 1);
-lean_inc(x_45);
-x_46 = lean_nat_dec_eq(x_45, x_41);
-lean_dec(x_45);
-if (x_46 == 0)
-{
-lean_dec(x_44);
-lean_dec(x_41);
-lean_dec(x_40);
-lean_dec(x_1);
-return x_42;
-}
-else
-{
-lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50;
-lean_inc(x_41);
-x_47 = l_Lean_Parser_ParserState_restore(x_42, x_40, x_41);
-lean_dec(x_40);
-x_48 = lean_unsigned_to_nat(1024u);
-x_49 = l_Lean_Parser_checkPrecFn(x_48, x_1, x_47);
-x_50 = lean_ctor_get(x_49, 3);
-lean_inc(x_50);
-if (lean_obj_tag(x_50) == 0)
-{
-lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_73; lean_object* x_74; lean_object* x_75;
-x_51 = lean_ctor_get(x_49, 0);
-lean_inc(x_51);
-x_52 = lean_array_get_size(x_51);
-lean_dec(x_51);
-x_73 = lean_ctor_get(x_49, 1);
-lean_inc(x_73);
-lean_inc(x_1);
-x_74 = l_Lean_Parser_tokenFn(x_1, x_49);
-x_75 = lean_ctor_get(x_74, 3);
-lean_inc(x_75);
-if (lean_obj_tag(x_75) == 0)
-{
-lean_object* x_76; lean_object* x_77;
-x_76 = lean_ctor_get(x_74, 0);
-lean_inc(x_76);
-x_77 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_76);
-lean_dec(x_76);
-if (lean_obj_tag(x_77) == 2)
-{
-lean_object* x_78; lean_object* x_79; uint8_t x_80;
-x_78 = lean_ctor_get(x_77, 1);
-lean_inc(x_78);
-lean_dec(x_77);
-x_79 = l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__6;
-x_80 = lean_string_dec_eq(x_78, x_79);
-lean_dec(x_78);
-if (x_80 == 0)
-{
-lean_object* x_81; lean_object* x_82;
-x_81 = l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__9;
-x_82 = l_Lean_Parser_ParserState_mkErrorsAt(x_74, x_81, x_73);
-x_53 = x_82;
-goto block_72;
-}
-else
-{
-lean_dec(x_73);
-x_53 = x_74;
-goto block_72;
-}
-}
-else
-{
-lean_object* x_83; lean_object* x_84;
-lean_dec(x_77);
-x_83 = l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__9;
-x_84 = l_Lean_Parser_ParserState_mkErrorsAt(x_74, x_83, x_73);
-x_53 = x_84;
-goto block_72;
-}
-}
-else
-{
-lean_object* x_85; lean_object* x_86;
-lean_dec(x_75);
-x_85 = l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__9;
-x_86 = l_Lean_Parser_ParserState_mkErrorsAt(x_74, x_85, x_73);
-x_53 = x_86;
-goto block_72;
-}
-block_72:
-{
-lean_object* x_54;
-x_54 = lean_ctor_get(x_53, 3);
-lean_inc(x_54);
-if (lean_obj_tag(x_54) == 0)
-{
-lean_object* x_55; lean_object* x_56;
-lean_inc(x_1);
-x_55 = l_Lean_Parser_strLit___elambda__1(x_1, x_53);
-x_56 = lean_ctor_get(x_55, 3);
-lean_inc(x_56);
-if (lean_obj_tag(x_56) == 0)
-{
-lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; uint8_t x_62; lean_object* x_63;
-x_57 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_58 = l_Lean_Parser_maxPrec;
-x_59 = l_Lean_Parser_categoryParser___elambda__1(x_57, x_58, x_1, x_55);
-x_60 = l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__2;
-x_61 = l_Lean_Parser_ParserState_mkNode(x_59, x_60, x_52);
-x_62 = 1;
-x_63 = l_Lean_Parser_mergeOrElseErrors(x_61, x_44, x_41, x_62);
-lean_dec(x_41);
-return x_63;
-}
-else
-{
-lean_object* x_64; lean_object* x_65; uint8_t x_66; lean_object* x_67;
-lean_dec(x_56);
-lean_dec(x_1);
-x_64 = l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__2;
-x_65 = l_Lean_Parser_ParserState_mkNode(x_55, x_64, x_52);
-x_66 = 1;
-x_67 = l_Lean_Parser_mergeOrElseErrors(x_65, x_44, x_41, x_66);
-lean_dec(x_41);
-return x_67;
-}
-}
-else
-{
-lean_object* x_68; lean_object* x_69; uint8_t x_70; lean_object* x_71;
-lean_dec(x_54);
-lean_dec(x_1);
-x_68 = l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__2;
-x_69 = l_Lean_Parser_ParserState_mkNode(x_53, x_68, x_52);
-x_70 = 1;
-x_71 = l_Lean_Parser_mergeOrElseErrors(x_69, x_44, x_41, x_70);
-lean_dec(x_41);
-return x_71;
-}
-}
-}
-else
-{
-uint8_t x_87; lean_object* x_88;
-lean_dec(x_50);
-lean_dec(x_1);
-x_87 = 1;
-x_88 = l_Lean_Parser_mergeOrElseErrors(x_49, x_44, x_41, x_87);
-lean_dec(x_41);
-return x_88;
-}
-}
-}
+lean_object* x_26; uint8_t x_27; lean_object* x_28;
+x_26 = l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__11;
+x_27 = 1;
+x_28 = l_Lean_Parser_orelseFnCore(x_4, x_26, x_27, x_1, x_2);
+return x_28;
}
}
}
@@ -60536,20 +41597,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_not___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_not___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_not___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_not___elambda__1___closed__8() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_not___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_2 = lean_unsigned_to_nat(40u);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_categoryParser___elambda__1), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -60557,11 +41620,55 @@ static lean_object* _init_l_Lean_Parser_Term_not___elambda__1___closed__9() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Term_not___elambda__1___closed__7;
x_2 = l_Lean_Parser_Term_not___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_not___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_not___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_not___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_not___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_not___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_not___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_not___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_not___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_not___elambda__1___closed__12;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -60585,91 +41692,35 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_21; lean_object* x_22; lean_object* x_23;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_21 = lean_ctor_get(x_7, 1);
-lean_inc(x_21);
+x_11 = l_Lean_Parser_Term_not___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Term_not___elambda__1___closed__13;
lean_inc(x_1);
-x_22 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_23 = lean_ctor_get(x_22, 3);
-lean_inc(x_23);
-if (lean_obj_tag(x_23) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_24; lean_object* x_25;
-x_24 = lean_ctor_get(x_22, 0);
-lean_inc(x_24);
-x_25 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_24);
-lean_dec(x_24);
-if (lean_obj_tag(x_25) == 2)
-{
-lean_object* x_26; lean_object* x_27; uint8_t x_28;
-x_26 = lean_ctor_get(x_25, 1);
-lean_inc(x_26);
-lean_dec(x_25);
-x_27 = l_Lean_Parser_Term_not___elambda__1___closed__6;
-x_28 = lean_string_dec_eq(x_26, x_27);
-lean_dec(x_26);
-if (x_28 == 0)
-{
-lean_object* x_29; lean_object* x_30;
-x_29 = l_Lean_Parser_Term_not___elambda__1___closed__9;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_29, x_21);
-x_11 = x_30;
-goto block_20;
-}
-else
-{
-lean_dec(x_21);
-x_11 = x_22;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32;
-lean_dec(x_25);
-x_31 = l_Lean_Parser_Term_not___elambda__1___closed__9;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_31, x_21);
-x_11 = x_32;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_33; lean_object* x_34;
-lean_dec(x_23);
-x_33 = l_Lean_Parser_Term_not___elambda__1___closed__9;
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_33, x_21);
-x_11 = x_34;
-goto block_20;
-}
-block_20:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_13 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_14 = lean_unsigned_to_nat(40u);
-x_15 = l_Lean_Parser_categoryParser___elambda__1(x_13, x_14, x_1, x_11);
-x_16 = l_Lean_Parser_Term_not___elambda__1___closed__2;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_10);
-return x_17;
-}
-else
-{
-lean_object* x_18; lean_object* x_19;
-lean_dec(x_12);
-lean_dec(x_1);
+lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
+x_15 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_16 = lean_unsigned_to_nat(40u);
+x_17 = l_Lean_Parser_categoryParser___elambda__1(x_15, x_16, x_1, x_13);
x_18 = l_Lean_Parser_Term_not___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_11, x_18, x_10);
+x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_10);
return x_19;
}
+else
+{
+lean_object* x_20; lean_object* x_21;
+lean_dec(x_14);
+lean_dec(x_1);
+x_20 = l_Lean_Parser_Term_not___elambda__1___closed__2;
+x_21 = l_Lean_Parser_ParserState_mkNode(x_13, x_20, x_10);
+return x_21;
}
}
else
@@ -60681,159 +41732,11 @@ return x_7;
}
else
{
-lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_35 = lean_ctor_get(x_2, 0);
-lean_inc(x_35);
-x_36 = lean_array_get_size(x_35);
-lean_dec(x_35);
-x_37 = lean_ctor_get(x_2, 1);
-lean_inc(x_37);
-lean_inc(x_1);
-x_38 = lean_apply_2(x_4, x_1, x_2);
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_40; lean_object* x_41; uint8_t x_42;
-x_40 = lean_ctor_get(x_39, 0);
-lean_inc(x_40);
-lean_dec(x_39);
-x_41 = lean_ctor_get(x_38, 1);
-lean_inc(x_41);
-x_42 = lean_nat_dec_eq(x_41, x_37);
-lean_dec(x_41);
-if (x_42 == 0)
-{
-lean_dec(x_40);
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46;
-lean_inc(x_37);
-x_43 = l_Lean_Parser_ParserState_restore(x_38, x_36, x_37);
-lean_dec(x_36);
-x_44 = lean_unsigned_to_nat(1024u);
-x_45 = l_Lean_Parser_checkPrecFn(x_44, x_1, x_43);
-x_46 = lean_ctor_get(x_45, 3);
-lean_inc(x_46);
-if (lean_obj_tag(x_46) == 0)
-{
-lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_63; lean_object* x_64; lean_object* x_65;
-x_47 = lean_ctor_get(x_45, 0);
-lean_inc(x_47);
-x_48 = lean_array_get_size(x_47);
-lean_dec(x_47);
-x_63 = lean_ctor_get(x_45, 1);
-lean_inc(x_63);
-lean_inc(x_1);
-x_64 = l_Lean_Parser_tokenFn(x_1, x_45);
-x_65 = lean_ctor_get(x_64, 3);
-lean_inc(x_65);
-if (lean_obj_tag(x_65) == 0)
-{
-lean_object* x_66; lean_object* x_67;
-x_66 = lean_ctor_get(x_64, 0);
-lean_inc(x_66);
-x_67 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_66);
-lean_dec(x_66);
-if (lean_obj_tag(x_67) == 2)
-{
-lean_object* x_68; lean_object* x_69; uint8_t x_70;
-x_68 = lean_ctor_get(x_67, 1);
-lean_inc(x_68);
-lean_dec(x_67);
-x_69 = l_Lean_Parser_Term_not___elambda__1___closed__6;
-x_70 = lean_string_dec_eq(x_68, x_69);
-lean_dec(x_68);
-if (x_70 == 0)
-{
-lean_object* x_71; lean_object* x_72;
-x_71 = l_Lean_Parser_Term_not___elambda__1___closed__9;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_71, x_63);
-x_49 = x_72;
-goto block_62;
-}
-else
-{
-lean_dec(x_63);
-x_49 = x_64;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_73; lean_object* x_74;
-lean_dec(x_67);
-x_73 = l_Lean_Parser_Term_not___elambda__1___closed__9;
-x_74 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_73, x_63);
-x_49 = x_74;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_75; lean_object* x_76;
-lean_dec(x_65);
-x_75 = l_Lean_Parser_Term_not___elambda__1___closed__9;
-x_76 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_75, x_63);
-x_49 = x_76;
-goto block_62;
-}
-block_62:
-{
-lean_object* x_50;
-x_50 = lean_ctor_get(x_49, 3);
-lean_inc(x_50);
-if (lean_obj_tag(x_50) == 0)
-{
-lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; uint8_t x_56; lean_object* x_57;
-x_51 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_52 = lean_unsigned_to_nat(40u);
-x_53 = l_Lean_Parser_categoryParser___elambda__1(x_51, x_52, x_1, x_49);
-x_54 = l_Lean_Parser_Term_not___elambda__1___closed__2;
-x_55 = l_Lean_Parser_ParserState_mkNode(x_53, x_54, x_48);
-x_56 = 1;
-x_57 = l_Lean_Parser_mergeOrElseErrors(x_55, x_40, x_37, x_56);
-lean_dec(x_37);
-return x_57;
-}
-else
-{
-lean_object* x_58; lean_object* x_59; uint8_t x_60; lean_object* x_61;
-lean_dec(x_50);
-lean_dec(x_1);
-x_58 = l_Lean_Parser_Term_not___elambda__1___closed__2;
-x_59 = l_Lean_Parser_ParserState_mkNode(x_49, x_58, x_48);
-x_60 = 1;
-x_61 = l_Lean_Parser_mergeOrElseErrors(x_59, x_40, x_37, x_60);
-lean_dec(x_37);
-return x_61;
-}
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_46);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_45, x_40, x_37, x_77);
-lean_dec(x_37);
-return x_78;
-}
-}
-}
+lean_object* x_22; uint8_t x_23; lean_object* x_24;
+x_22 = l_Lean_Parser_Term_not___elambda__1___closed__11;
+x_23 = 1;
+x_24 = l_Lean_Parser_orelseFnCore(x_4, x_22, x_23, x_1, x_2);
+return x_24;
}
}
}
@@ -61158,11 +42061,11 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_bnot___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_bnot___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_bnot___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_bnot___elambda__1___closed__8() {
@@ -61170,8 +42073,10 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Term_bnot___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_2 = l_Lean_Parser_Term_not___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -61179,11 +42084,43 @@ static lean_object* _init_l_Lean_Parser_Term_bnot___elambda__1___closed__9() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Term_bnot___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_bnot___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_bnot___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_bnot___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_bnot___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_bnot___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_bnot___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_bnot___elambda__1___closed__11;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -61207,91 +42144,35 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_21; lean_object* x_22; lean_object* x_23;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_21 = lean_ctor_get(x_7, 1);
-lean_inc(x_21);
+x_11 = l_Lean_Parser_Term_bnot___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Term_bnot___elambda__1___closed__12;
lean_inc(x_1);
-x_22 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_23 = lean_ctor_get(x_22, 3);
-lean_inc(x_23);
-if (lean_obj_tag(x_23) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_24; lean_object* x_25;
-x_24 = lean_ctor_get(x_22, 0);
-lean_inc(x_24);
-x_25 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_24);
-lean_dec(x_24);
-if (lean_obj_tag(x_25) == 2)
-{
-lean_object* x_26; lean_object* x_27; uint8_t x_28;
-x_26 = lean_ctor_get(x_25, 1);
-lean_inc(x_26);
-lean_dec(x_25);
-x_27 = l_Lean_Parser_Term_bnot___elambda__1___closed__6;
-x_28 = lean_string_dec_eq(x_26, x_27);
-lean_dec(x_26);
-if (x_28 == 0)
-{
-lean_object* x_29; lean_object* x_30;
-x_29 = l_Lean_Parser_Term_bnot___elambda__1___closed__9;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_29, x_21);
-x_11 = x_30;
-goto block_20;
-}
-else
-{
-lean_dec(x_21);
-x_11 = x_22;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32;
-lean_dec(x_25);
-x_31 = l_Lean_Parser_Term_bnot___elambda__1___closed__9;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_31, x_21);
-x_11 = x_32;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_33; lean_object* x_34;
-lean_dec(x_23);
-x_33 = l_Lean_Parser_Term_bnot___elambda__1___closed__9;
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_33, x_21);
-x_11 = x_34;
-goto block_20;
-}
-block_20:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_13 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_14 = lean_unsigned_to_nat(40u);
-x_15 = l_Lean_Parser_categoryParser___elambda__1(x_13, x_14, x_1, x_11);
-x_16 = l_Lean_Parser_Term_bnot___elambda__1___closed__2;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_10);
-return x_17;
-}
-else
-{
-lean_object* x_18; lean_object* x_19;
-lean_dec(x_12);
-lean_dec(x_1);
+lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
+x_15 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_16 = lean_unsigned_to_nat(40u);
+x_17 = l_Lean_Parser_categoryParser___elambda__1(x_15, x_16, x_1, x_13);
x_18 = l_Lean_Parser_Term_bnot___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_11, x_18, x_10);
+x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_10);
return x_19;
}
+else
+{
+lean_object* x_20; lean_object* x_21;
+lean_dec(x_14);
+lean_dec(x_1);
+x_20 = l_Lean_Parser_Term_bnot___elambda__1___closed__2;
+x_21 = l_Lean_Parser_ParserState_mkNode(x_13, x_20, x_10);
+return x_21;
}
}
else
@@ -61303,159 +42184,11 @@ return x_7;
}
else
{
-lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_35 = lean_ctor_get(x_2, 0);
-lean_inc(x_35);
-x_36 = lean_array_get_size(x_35);
-lean_dec(x_35);
-x_37 = lean_ctor_get(x_2, 1);
-lean_inc(x_37);
-lean_inc(x_1);
-x_38 = lean_apply_2(x_4, x_1, x_2);
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_40; lean_object* x_41; uint8_t x_42;
-x_40 = lean_ctor_get(x_39, 0);
-lean_inc(x_40);
-lean_dec(x_39);
-x_41 = lean_ctor_get(x_38, 1);
-lean_inc(x_41);
-x_42 = lean_nat_dec_eq(x_41, x_37);
-lean_dec(x_41);
-if (x_42 == 0)
-{
-lean_dec(x_40);
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46;
-lean_inc(x_37);
-x_43 = l_Lean_Parser_ParserState_restore(x_38, x_36, x_37);
-lean_dec(x_36);
-x_44 = lean_unsigned_to_nat(1024u);
-x_45 = l_Lean_Parser_checkPrecFn(x_44, x_1, x_43);
-x_46 = lean_ctor_get(x_45, 3);
-lean_inc(x_46);
-if (lean_obj_tag(x_46) == 0)
-{
-lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_63; lean_object* x_64; lean_object* x_65;
-x_47 = lean_ctor_get(x_45, 0);
-lean_inc(x_47);
-x_48 = lean_array_get_size(x_47);
-lean_dec(x_47);
-x_63 = lean_ctor_get(x_45, 1);
-lean_inc(x_63);
-lean_inc(x_1);
-x_64 = l_Lean_Parser_tokenFn(x_1, x_45);
-x_65 = lean_ctor_get(x_64, 3);
-lean_inc(x_65);
-if (lean_obj_tag(x_65) == 0)
-{
-lean_object* x_66; lean_object* x_67;
-x_66 = lean_ctor_get(x_64, 0);
-lean_inc(x_66);
-x_67 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_66);
-lean_dec(x_66);
-if (lean_obj_tag(x_67) == 2)
-{
-lean_object* x_68; lean_object* x_69; uint8_t x_70;
-x_68 = lean_ctor_get(x_67, 1);
-lean_inc(x_68);
-lean_dec(x_67);
-x_69 = l_Lean_Parser_Term_bnot___elambda__1___closed__6;
-x_70 = lean_string_dec_eq(x_68, x_69);
-lean_dec(x_68);
-if (x_70 == 0)
-{
-lean_object* x_71; lean_object* x_72;
-x_71 = l_Lean_Parser_Term_bnot___elambda__1___closed__9;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_71, x_63);
-x_49 = x_72;
-goto block_62;
-}
-else
-{
-lean_dec(x_63);
-x_49 = x_64;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_73; lean_object* x_74;
-lean_dec(x_67);
-x_73 = l_Lean_Parser_Term_bnot___elambda__1___closed__9;
-x_74 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_73, x_63);
-x_49 = x_74;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_75; lean_object* x_76;
-lean_dec(x_65);
-x_75 = l_Lean_Parser_Term_bnot___elambda__1___closed__9;
-x_76 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_75, x_63);
-x_49 = x_76;
-goto block_62;
-}
-block_62:
-{
-lean_object* x_50;
-x_50 = lean_ctor_get(x_49, 3);
-lean_inc(x_50);
-if (lean_obj_tag(x_50) == 0)
-{
-lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; uint8_t x_56; lean_object* x_57;
-x_51 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_52 = lean_unsigned_to_nat(40u);
-x_53 = l_Lean_Parser_categoryParser___elambda__1(x_51, x_52, x_1, x_49);
-x_54 = l_Lean_Parser_Term_bnot___elambda__1___closed__2;
-x_55 = l_Lean_Parser_ParserState_mkNode(x_53, x_54, x_48);
-x_56 = 1;
-x_57 = l_Lean_Parser_mergeOrElseErrors(x_55, x_40, x_37, x_56);
-lean_dec(x_37);
-return x_57;
-}
-else
-{
-lean_object* x_58; lean_object* x_59; uint8_t x_60; lean_object* x_61;
-lean_dec(x_50);
-lean_dec(x_1);
-x_58 = l_Lean_Parser_Term_bnot___elambda__1___closed__2;
-x_59 = l_Lean_Parser_ParserState_mkNode(x_49, x_58, x_48);
-x_60 = 1;
-x_61 = l_Lean_Parser_mergeOrElseErrors(x_59, x_40, x_37, x_60);
-lean_dec(x_37);
-return x_61;
-}
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_46);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_45, x_40, x_37, x_77);
-lean_dec(x_37);
-return x_78;
-}
-}
-}
+lean_object* x_22; uint8_t x_23; lean_object* x_24;
+x_22 = l_Lean_Parser_Term_bnot___elambda__1___closed__10;
+x_23 = 1;
+x_24 = l_Lean_Parser_orelseFnCore(x_4, x_22, x_23, x_1, x_2);
+return x_24;
}
}
}
@@ -61740,20 +42473,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_uminus___elambda__1___closed__6() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_uminus___elambda__1___closed__5;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_uminus___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_uminus___elambda__1___closed__7() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_uminus___elambda__1___closed__6;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_2 = lean_unsigned_to_nat(100u);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_categoryParser___elambda__1), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -61761,11 +42496,65 @@ static lean_object* _init_l_Lean_Parser_Term_uminus___elambda__1___closed__8() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Term_uminus___elambda__1___closed__6;
x_2 = l_Lean_Parser_Term_uminus___elambda__1___closed__7;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_uminus___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = lean_unsigned_to_nat(65u);
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_checkPrecFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_uminus___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_uminus___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_uminus___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_uminus___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_uminus___elambda__1___closed__9;
+x_2 = l_Lean_Parser_Term_uminus___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_uminus___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_uminus___elambda__1___closed__5;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_uminus___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_uminus___elambda__1___closed__12;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -61789,91 +42578,35 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_21; lean_object* x_22; lean_object* x_23;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_21 = lean_ctor_get(x_7, 1);
-lean_inc(x_21);
+x_11 = l_Lean_Parser_Term_uminus___elambda__1___closed__5;
+x_12 = l_Lean_Parser_Term_uminus___elambda__1___closed__13;
lean_inc(x_1);
-x_22 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_23 = lean_ctor_get(x_22, 3);
-lean_inc(x_23);
-if (lean_obj_tag(x_23) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_24; lean_object* x_25;
-x_24 = lean_ctor_get(x_22, 0);
-lean_inc(x_24);
-x_25 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_24);
-lean_dec(x_24);
-if (lean_obj_tag(x_25) == 2)
-{
-lean_object* x_26; lean_object* x_27; uint8_t x_28;
-x_26 = lean_ctor_get(x_25, 1);
-lean_inc(x_26);
-lean_dec(x_25);
-x_27 = l_Lean_Parser_Term_uminus___elambda__1___closed__5;
-x_28 = lean_string_dec_eq(x_26, x_27);
-lean_dec(x_26);
-if (x_28 == 0)
-{
-lean_object* x_29; lean_object* x_30;
-x_29 = l_Lean_Parser_Term_uminus___elambda__1___closed__8;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_29, x_21);
-x_11 = x_30;
-goto block_20;
-}
-else
-{
-lean_dec(x_21);
-x_11 = x_22;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32;
-lean_dec(x_25);
-x_31 = l_Lean_Parser_Term_uminus___elambda__1___closed__8;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_31, x_21);
-x_11 = x_32;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_33; lean_object* x_34;
-lean_dec(x_23);
-x_33 = l_Lean_Parser_Term_uminus___elambda__1___closed__8;
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_33, x_21);
-x_11 = x_34;
-goto block_20;
-}
-block_20:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_13 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_14 = lean_unsigned_to_nat(100u);
-x_15 = l_Lean_Parser_categoryParser___elambda__1(x_13, x_14, x_1, x_11);
-x_16 = l_Lean_Parser_Term_uminus___elambda__1___closed__2;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_10);
-return x_17;
-}
-else
-{
-lean_object* x_18; lean_object* x_19;
-lean_dec(x_12);
-lean_dec(x_1);
+lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
+x_15 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_16 = lean_unsigned_to_nat(100u);
+x_17 = l_Lean_Parser_categoryParser___elambda__1(x_15, x_16, x_1, x_13);
x_18 = l_Lean_Parser_Term_uminus___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_11, x_18, x_10);
+x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_10);
return x_19;
}
+else
+{
+lean_object* x_20; lean_object* x_21;
+lean_dec(x_14);
+lean_dec(x_1);
+x_20 = l_Lean_Parser_Term_uminus___elambda__1___closed__2;
+x_21 = l_Lean_Parser_ParserState_mkNode(x_13, x_20, x_10);
+return x_21;
}
}
else
@@ -61885,159 +42618,11 @@ return x_7;
}
else
{
-lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_35 = lean_ctor_get(x_2, 0);
-lean_inc(x_35);
-x_36 = lean_array_get_size(x_35);
-lean_dec(x_35);
-x_37 = lean_ctor_get(x_2, 1);
-lean_inc(x_37);
-lean_inc(x_1);
-x_38 = lean_apply_2(x_4, x_1, x_2);
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_40; lean_object* x_41; uint8_t x_42;
-x_40 = lean_ctor_get(x_39, 0);
-lean_inc(x_40);
-lean_dec(x_39);
-x_41 = lean_ctor_get(x_38, 1);
-lean_inc(x_41);
-x_42 = lean_nat_dec_eq(x_41, x_37);
-lean_dec(x_41);
-if (x_42 == 0)
-{
-lean_dec(x_40);
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46;
-lean_inc(x_37);
-x_43 = l_Lean_Parser_ParserState_restore(x_38, x_36, x_37);
-lean_dec(x_36);
-x_44 = lean_unsigned_to_nat(65u);
-x_45 = l_Lean_Parser_checkPrecFn(x_44, x_1, x_43);
-x_46 = lean_ctor_get(x_45, 3);
-lean_inc(x_46);
-if (lean_obj_tag(x_46) == 0)
-{
-lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_63; lean_object* x_64; lean_object* x_65;
-x_47 = lean_ctor_get(x_45, 0);
-lean_inc(x_47);
-x_48 = lean_array_get_size(x_47);
-lean_dec(x_47);
-x_63 = lean_ctor_get(x_45, 1);
-lean_inc(x_63);
-lean_inc(x_1);
-x_64 = l_Lean_Parser_tokenFn(x_1, x_45);
-x_65 = lean_ctor_get(x_64, 3);
-lean_inc(x_65);
-if (lean_obj_tag(x_65) == 0)
-{
-lean_object* x_66; lean_object* x_67;
-x_66 = lean_ctor_get(x_64, 0);
-lean_inc(x_66);
-x_67 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_66);
-lean_dec(x_66);
-if (lean_obj_tag(x_67) == 2)
-{
-lean_object* x_68; lean_object* x_69; uint8_t x_70;
-x_68 = lean_ctor_get(x_67, 1);
-lean_inc(x_68);
-lean_dec(x_67);
-x_69 = l_Lean_Parser_Term_uminus___elambda__1___closed__5;
-x_70 = lean_string_dec_eq(x_68, x_69);
-lean_dec(x_68);
-if (x_70 == 0)
-{
-lean_object* x_71; lean_object* x_72;
-x_71 = l_Lean_Parser_Term_uminus___elambda__1___closed__8;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_71, x_63);
-x_49 = x_72;
-goto block_62;
-}
-else
-{
-lean_dec(x_63);
-x_49 = x_64;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_73; lean_object* x_74;
-lean_dec(x_67);
-x_73 = l_Lean_Parser_Term_uminus___elambda__1___closed__8;
-x_74 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_73, x_63);
-x_49 = x_74;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_75; lean_object* x_76;
-lean_dec(x_65);
-x_75 = l_Lean_Parser_Term_uminus___elambda__1___closed__8;
-x_76 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_75, x_63);
-x_49 = x_76;
-goto block_62;
-}
-block_62:
-{
-lean_object* x_50;
-x_50 = lean_ctor_get(x_49, 3);
-lean_inc(x_50);
-if (lean_obj_tag(x_50) == 0)
-{
-lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; uint8_t x_56; lean_object* x_57;
-x_51 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_52 = lean_unsigned_to_nat(100u);
-x_53 = l_Lean_Parser_categoryParser___elambda__1(x_51, x_52, x_1, x_49);
-x_54 = l_Lean_Parser_Term_uminus___elambda__1___closed__2;
-x_55 = l_Lean_Parser_ParserState_mkNode(x_53, x_54, x_48);
-x_56 = 1;
-x_57 = l_Lean_Parser_mergeOrElseErrors(x_55, x_40, x_37, x_56);
-lean_dec(x_37);
-return x_57;
-}
-else
-{
-lean_object* x_58; lean_object* x_59; uint8_t x_60; lean_object* x_61;
-lean_dec(x_50);
-lean_dec(x_1);
-x_58 = l_Lean_Parser_Term_uminus___elambda__1___closed__2;
-x_59 = l_Lean_Parser_ParserState_mkNode(x_49, x_58, x_48);
-x_60 = 1;
-x_61 = l_Lean_Parser_mergeOrElseErrors(x_59, x_40, x_37, x_60);
-lean_dec(x_37);
-return x_61;
-}
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_46);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_45, x_40, x_37, x_77);
-lean_dec(x_37);
-return x_78;
-}
-}
-}
+lean_object* x_22; uint8_t x_23; lean_object* x_24;
+x_22 = l_Lean_Parser_Term_uminus___elambda__1___closed__11;
+x_23 = 1;
+x_24 = l_Lean_Parser_orelseFnCore(x_4, x_22, x_23, x_1, x_2);
+return x_24;
}
}
}
@@ -62342,6 +42927,76 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Term_namedArgument___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_ident___closed__1;
+x_2 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_namedArgument___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__3;
+x_2 = l_Lean_Parser_Term_namedArgument___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_namedArgument___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_namedArgument___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_tryFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_namedArgument___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_namedArgument___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Term_inaccessible___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_namedArgument___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_namedArgument___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_namedArgument___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_namedArgument___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_namedArgument___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Term_namedArgument___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -62362,72 +43017,14 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_52; lean_object* x_89; lean_object* x_90;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
-x_10 = lean_ctor_get(x_7, 1);
-lean_inc(x_10);
-x_11 = lean_array_get_size(x_9);
+x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
+x_11 = l_Lean_Parser_Term_namedArgument___elambda__1___closed__6;
lean_inc(x_1);
-x_89 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_90 = lean_ctor_get(x_89, 3);
-lean_inc(x_90);
-if (lean_obj_tag(x_90) == 0)
-{
-lean_object* x_91; lean_object* x_92;
-x_91 = lean_ctor_get(x_89, 0);
-lean_inc(x_91);
-x_92 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_91);
-lean_dec(x_91);
-if (lean_obj_tag(x_92) == 2)
-{
-lean_object* x_93; lean_object* x_94; uint8_t x_95;
-x_93 = lean_ctor_get(x_92, 1);
-lean_inc(x_93);
-lean_dec(x_92);
-x_94 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__3;
-x_95 = lean_string_dec_eq(x_93, x_94);
-lean_dec(x_93);
-if (x_95 == 0)
-{
-lean_object* x_96; lean_object* x_97;
-x_96 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-lean_inc(x_10);
-x_97 = l_Lean_Parser_ParserState_mkErrorsAt(x_89, x_96, x_10);
-x_52 = x_97;
-goto block_88;
-}
-else
-{
-x_52 = x_89;
-goto block_88;
-}
-}
-else
-{
-lean_object* x_98; lean_object* x_99;
-lean_dec(x_92);
-x_98 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-lean_inc(x_10);
-x_99 = l_Lean_Parser_ParserState_mkErrorsAt(x_89, x_98, x_10);
-x_52 = x_99;
-goto block_88;
-}
-}
-else
-{
-lean_object* x_100; lean_object* x_101;
-lean_dec(x_90);
-x_100 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-lean_inc(x_10);
-x_101 = l_Lean_Parser_ParserState_mkErrorsAt(x_89, x_100, x_10);
-x_52 = x_101;
-goto block_88;
-}
-block_44:
-{
-lean_object* x_13;
+x_12 = l_Lean_Parser_tryFn(x_11, x_1, x_7);
x_13 = lean_ctor_get(x_12, 3);
lean_inc(x_13);
if (lean_obj_tag(x_13) == 0)
@@ -62441,254 +43038,32 @@ x_17 = lean_ctor_get(x_16, 3);
lean_inc(x_17);
if (lean_obj_tag(x_17) == 0)
{
-lean_object* x_18; lean_object* x_19; lean_object* x_20;
-x_18 = lean_ctor_get(x_16, 1);
-lean_inc(x_18);
-x_19 = l_Lean_Parser_tokenFn(x_1, x_16);
-x_20 = lean_ctor_get(x_19, 3);
-lean_inc(x_20);
-if (lean_obj_tag(x_20) == 0)
-{
-lean_object* x_21; lean_object* x_22;
-x_21 = lean_ctor_get(x_19, 0);
-lean_inc(x_21);
-x_22 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_21);
-lean_dec(x_21);
-if (lean_obj_tag(x_22) == 2)
-{
-lean_object* x_23; lean_object* x_24; uint8_t x_25;
-x_23 = lean_ctor_get(x_22, 1);
-lean_inc(x_23);
-lean_dec(x_22);
-x_24 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
-x_25 = lean_string_dec_eq(x_23, x_24);
-lean_dec(x_23);
-if (x_25 == 0)
-{
-lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29;
-x_26 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_27 = l_Lean_Parser_ParserState_mkErrorsAt(x_19, x_26, x_18);
-x_28 = l_Lean_Parser_Term_namedArgument___elambda__1___closed__2;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_27, x_28, x_11);
-return x_29;
+lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
+x_18 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
+x_19 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__9;
+x_20 = l_Lean_Parser_symbolFnAux(x_18, x_19, x_1, x_16);
+x_21 = l_Lean_Parser_Term_namedArgument___elambda__1___closed__2;
+x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_10);
+return x_22;
}
else
{
-lean_object* x_30; lean_object* x_31;
-lean_dec(x_18);
-x_30 = l_Lean_Parser_Term_namedArgument___elambda__1___closed__2;
-x_31 = l_Lean_Parser_ParserState_mkNode(x_19, x_30, x_11);
-return x_31;
-}
-}
-else
-{
-lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35;
-lean_dec(x_22);
-x_32 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_33 = l_Lean_Parser_ParserState_mkErrorsAt(x_19, x_32, x_18);
-x_34 = l_Lean_Parser_Term_namedArgument___elambda__1___closed__2;
-x_35 = l_Lean_Parser_ParserState_mkNode(x_33, x_34, x_11);
-return x_35;
-}
-}
-else
-{
-lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-lean_dec(x_20);
-x_36 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_37 = l_Lean_Parser_ParserState_mkErrorsAt(x_19, x_36, x_18);
-x_38 = l_Lean_Parser_Term_namedArgument___elambda__1___closed__2;
-x_39 = l_Lean_Parser_ParserState_mkNode(x_37, x_38, x_11);
-return x_39;
-}
-}
-else
-{
-lean_object* x_40; lean_object* x_41;
+lean_object* x_23; lean_object* x_24;
lean_dec(x_17);
lean_dec(x_1);
-x_40 = l_Lean_Parser_Term_namedArgument___elambda__1___closed__2;
-x_41 = l_Lean_Parser_ParserState_mkNode(x_16, x_40, x_11);
-return x_41;
+x_23 = l_Lean_Parser_Term_namedArgument___elambda__1___closed__2;
+x_24 = l_Lean_Parser_ParserState_mkNode(x_16, x_23, x_10);
+return x_24;
}
}
else
{
-lean_object* x_42; lean_object* x_43;
+lean_object* x_25; lean_object* x_26;
lean_dec(x_13);
lean_dec(x_1);
-x_42 = l_Lean_Parser_Term_namedArgument___elambda__1___closed__2;
-x_43 = l_Lean_Parser_ParserState_mkNode(x_12, x_42, x_11);
-return x_43;
-}
-}
-block_51:
-{
-if (lean_obj_tag(x_48) == 0)
-{
-lean_dec(x_47);
-lean_dec(x_46);
-lean_dec(x_10);
-x_12 = x_45;
-goto block_44;
-}
-else
-{
-lean_object* x_49; lean_object* x_50;
-lean_dec(x_45);
-x_49 = l_Array_shrink___main___rarg(x_46, x_11);
-x_50 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_50, 0, x_49);
-lean_ctor_set(x_50, 1, x_10);
-lean_ctor_set(x_50, 2, x_47);
-lean_ctor_set(x_50, 3, x_48);
-x_12 = x_50;
-goto block_44;
-}
-}
-block_88:
-{
-lean_object* x_53;
-x_53 = lean_ctor_get(x_52, 3);
-lean_inc(x_53);
-if (lean_obj_tag(x_53) == 0)
-{
-lean_object* x_54; lean_object* x_55;
-lean_inc(x_1);
-x_54 = l_Lean_Parser_Term_ident___elambda__1(x_1, x_52);
-x_55 = lean_ctor_get(x_54, 3);
-lean_inc(x_55);
-if (lean_obj_tag(x_55) == 0)
-{
-lean_object* x_56; lean_object* x_57; lean_object* x_58;
-x_56 = lean_ctor_get(x_54, 1);
-lean_inc(x_56);
-lean_inc(x_1);
-x_57 = l_Lean_Parser_tokenFn(x_1, x_54);
-x_58 = lean_ctor_get(x_57, 3);
-lean_inc(x_58);
-if (lean_obj_tag(x_58) == 0)
-{
-lean_object* x_59; lean_object* x_60;
-x_59 = lean_ctor_get(x_57, 0);
-lean_inc(x_59);
-x_60 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_59);
-lean_dec(x_59);
-if (lean_obj_tag(x_60) == 2)
-{
-lean_object* x_61; lean_object* x_62; uint8_t x_63;
-x_61 = lean_ctor_get(x_60, 1);
-lean_inc(x_61);
-lean_dec(x_60);
-x_62 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__5;
-x_63 = lean_string_dec_eq(x_61, x_62);
-lean_dec(x_61);
-if (x_63 == 0)
-{
-lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68;
-x_64 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-x_65 = l_Lean_Parser_ParserState_mkErrorsAt(x_57, x_64, x_56);
-x_66 = lean_ctor_get(x_65, 0);
-lean_inc(x_66);
-x_67 = lean_ctor_get(x_65, 2);
-lean_inc(x_67);
-x_68 = lean_ctor_get(x_65, 3);
-lean_inc(x_68);
-x_45 = x_65;
-x_46 = x_66;
-x_47 = x_67;
-x_48 = x_68;
-goto block_51;
-}
-else
-{
-lean_object* x_69; lean_object* x_70; lean_object* x_71;
-lean_dec(x_56);
-x_69 = lean_ctor_get(x_57, 0);
-lean_inc(x_69);
-x_70 = lean_ctor_get(x_57, 2);
-lean_inc(x_70);
-x_71 = lean_ctor_get(x_57, 3);
-lean_inc(x_71);
-x_45 = x_57;
-x_46 = x_69;
-x_47 = x_70;
-x_48 = x_71;
-goto block_51;
-}
-}
-else
-{
-lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76;
-lean_dec(x_60);
-x_72 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-x_73 = l_Lean_Parser_ParserState_mkErrorsAt(x_57, x_72, x_56);
-x_74 = lean_ctor_get(x_73, 0);
-lean_inc(x_74);
-x_75 = lean_ctor_get(x_73, 2);
-lean_inc(x_75);
-x_76 = lean_ctor_get(x_73, 3);
-lean_inc(x_76);
-x_45 = x_73;
-x_46 = x_74;
-x_47 = x_75;
-x_48 = x_76;
-goto block_51;
-}
-}
-else
-{
-lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81;
-lean_dec(x_58);
-x_77 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-x_78 = l_Lean_Parser_ParserState_mkErrorsAt(x_57, x_77, x_56);
-x_79 = lean_ctor_get(x_78, 0);
-lean_inc(x_79);
-x_80 = lean_ctor_get(x_78, 2);
-lean_inc(x_80);
-x_81 = lean_ctor_get(x_78, 3);
-lean_inc(x_81);
-x_45 = x_78;
-x_46 = x_79;
-x_47 = x_80;
-x_48 = x_81;
-goto block_51;
-}
-}
-else
-{
-lean_object* x_82; lean_object* x_83; lean_object* x_84;
-lean_dec(x_55);
-x_82 = lean_ctor_get(x_54, 0);
-lean_inc(x_82);
-x_83 = lean_ctor_get(x_54, 2);
-lean_inc(x_83);
-x_84 = lean_ctor_get(x_54, 3);
-lean_inc(x_84);
-x_45 = x_54;
-x_46 = x_82;
-x_47 = x_83;
-x_48 = x_84;
-goto block_51;
-}
-}
-else
-{
-lean_object* x_85; lean_object* x_86; lean_object* x_87;
-lean_dec(x_53);
-x_85 = lean_ctor_get(x_52, 0);
-lean_inc(x_85);
-x_86 = lean_ctor_get(x_52, 2);
-lean_inc(x_86);
-x_87 = lean_ctor_get(x_52, 3);
-lean_inc(x_87);
-x_45 = x_52;
-x_46 = x_85;
-x_47 = x_86;
-x_48 = x_87;
-goto block_51;
-}
+x_25 = l_Lean_Parser_Term_namedArgument___elambda__1___closed__2;
+x_26 = l_Lean_Parser_ParserState_mkNode(x_12, x_25, x_10);
+return x_26;
}
}
else
@@ -62700,413 +43075,11 @@ return x_7;
}
else
{
-lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106;
-x_102 = lean_ctor_get(x_2, 0);
-lean_inc(x_102);
-x_103 = lean_array_get_size(x_102);
-lean_dec(x_102);
-x_104 = lean_ctor_get(x_2, 1);
-lean_inc(x_104);
-lean_inc(x_1);
-x_105 = lean_apply_2(x_4, x_1, x_2);
-x_106 = lean_ctor_get(x_105, 3);
-lean_inc(x_106);
-if (lean_obj_tag(x_106) == 0)
-{
-lean_dec(x_104);
-lean_dec(x_103);
-lean_dec(x_1);
-return x_105;
-}
-else
-{
-lean_object* x_107; lean_object* x_108; uint8_t x_109;
-x_107 = lean_ctor_get(x_106, 0);
-lean_inc(x_107);
-lean_dec(x_106);
-x_108 = lean_ctor_get(x_105, 1);
-lean_inc(x_108);
-x_109 = lean_nat_dec_eq(x_108, x_104);
-lean_dec(x_108);
-if (x_109 == 0)
-{
-lean_dec(x_107);
-lean_dec(x_104);
-lean_dec(x_103);
-lean_dec(x_1);
-return x_105;
-}
-else
-{
-lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113;
-lean_inc(x_104);
-x_110 = l_Lean_Parser_ParserState_restore(x_105, x_103, x_104);
-lean_dec(x_103);
-x_111 = lean_unsigned_to_nat(1024u);
-x_112 = l_Lean_Parser_checkPrecFn(x_111, x_1, x_110);
-x_113 = lean_ctor_get(x_112, 3);
-lean_inc(x_113);
-if (lean_obj_tag(x_113) == 0)
-{
-lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_169; lean_object* x_206; lean_object* x_207;
-x_114 = lean_ctor_get(x_112, 0);
-lean_inc(x_114);
-x_115 = lean_ctor_get(x_112, 1);
-lean_inc(x_115);
-x_116 = lean_array_get_size(x_114);
-lean_dec(x_114);
-lean_inc(x_1);
-x_206 = l_Lean_Parser_tokenFn(x_1, x_112);
-x_207 = lean_ctor_get(x_206, 3);
-lean_inc(x_207);
-if (lean_obj_tag(x_207) == 0)
-{
-lean_object* x_208; lean_object* x_209;
-x_208 = lean_ctor_get(x_206, 0);
-lean_inc(x_208);
-x_209 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_208);
-lean_dec(x_208);
-if (lean_obj_tag(x_209) == 2)
-{
-lean_object* x_210; lean_object* x_211; uint8_t x_212;
-x_210 = lean_ctor_get(x_209, 1);
-lean_inc(x_210);
-lean_dec(x_209);
-x_211 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__3;
-x_212 = lean_string_dec_eq(x_210, x_211);
-lean_dec(x_210);
-if (x_212 == 0)
-{
-lean_object* x_213; lean_object* x_214;
-x_213 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-lean_inc(x_115);
-x_214 = l_Lean_Parser_ParserState_mkErrorsAt(x_206, x_213, x_115);
-x_169 = x_214;
-goto block_205;
-}
-else
-{
-x_169 = x_206;
-goto block_205;
-}
-}
-else
-{
-lean_object* x_215; lean_object* x_216;
-lean_dec(x_209);
-x_215 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-lean_inc(x_115);
-x_216 = l_Lean_Parser_ParserState_mkErrorsAt(x_206, x_215, x_115);
-x_169 = x_216;
-goto block_205;
-}
-}
-else
-{
-lean_object* x_217; lean_object* x_218;
-lean_dec(x_207);
-x_217 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__11;
-lean_inc(x_115);
-x_218 = l_Lean_Parser_ParserState_mkErrorsAt(x_206, x_217, x_115);
-x_169 = x_218;
-goto block_205;
-}
-block_161:
-{
-lean_object* x_118;
-x_118 = lean_ctor_get(x_117, 3);
-lean_inc(x_118);
-if (lean_obj_tag(x_118) == 0)
-{
-lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122;
-x_119 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_120 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_121 = l_Lean_Parser_categoryParser___elambda__1(x_119, x_120, x_1, x_117);
-x_122 = lean_ctor_get(x_121, 3);
-lean_inc(x_122);
-if (lean_obj_tag(x_122) == 0)
-{
-lean_object* x_123; lean_object* x_124; lean_object* x_125;
-x_123 = lean_ctor_get(x_121, 1);
-lean_inc(x_123);
-x_124 = l_Lean_Parser_tokenFn(x_1, x_121);
-x_125 = lean_ctor_get(x_124, 3);
-lean_inc(x_125);
-if (lean_obj_tag(x_125) == 0)
-{
-lean_object* x_126; lean_object* x_127;
-x_126 = lean_ctor_get(x_124, 0);
-lean_inc(x_126);
-x_127 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_126);
-lean_dec(x_126);
-if (lean_obj_tag(x_127) == 2)
-{
-lean_object* x_128; lean_object* x_129; uint8_t x_130;
-x_128 = lean_ctor_get(x_127, 1);
-lean_inc(x_128);
-lean_dec(x_127);
-x_129 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
-x_130 = lean_string_dec_eq(x_128, x_129);
-lean_dec(x_128);
-if (x_130 == 0)
-{
-lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; uint8_t x_135; lean_object* x_136;
-x_131 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_132 = l_Lean_Parser_ParserState_mkErrorsAt(x_124, x_131, x_123);
-x_133 = l_Lean_Parser_Term_namedArgument___elambda__1___closed__2;
-x_134 = l_Lean_Parser_ParserState_mkNode(x_132, x_133, x_116);
-x_135 = 1;
-x_136 = l_Lean_Parser_mergeOrElseErrors(x_134, x_107, x_104, x_135);
-lean_dec(x_104);
-return x_136;
-}
-else
-{
-lean_object* x_137; lean_object* x_138; uint8_t x_139; lean_object* x_140;
-lean_dec(x_123);
-x_137 = l_Lean_Parser_Term_namedArgument___elambda__1___closed__2;
-x_138 = l_Lean_Parser_ParserState_mkNode(x_124, x_137, x_116);
-x_139 = 1;
-x_140 = l_Lean_Parser_mergeOrElseErrors(x_138, x_107, x_104, x_139);
-lean_dec(x_104);
-return x_140;
-}
-}
-else
-{
-lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; uint8_t x_145; lean_object* x_146;
-lean_dec(x_127);
-x_141 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_142 = l_Lean_Parser_ParserState_mkErrorsAt(x_124, x_141, x_123);
-x_143 = l_Lean_Parser_Term_namedArgument___elambda__1___closed__2;
-x_144 = l_Lean_Parser_ParserState_mkNode(x_142, x_143, x_116);
-x_145 = 1;
-x_146 = l_Lean_Parser_mergeOrElseErrors(x_144, x_107, x_104, x_145);
-lean_dec(x_104);
-return x_146;
-}
-}
-else
-{
-lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; uint8_t x_151; lean_object* x_152;
-lean_dec(x_125);
-x_147 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_148 = l_Lean_Parser_ParserState_mkErrorsAt(x_124, x_147, x_123);
-x_149 = l_Lean_Parser_Term_namedArgument___elambda__1___closed__2;
-x_150 = l_Lean_Parser_ParserState_mkNode(x_148, x_149, x_116);
-x_151 = 1;
-x_152 = l_Lean_Parser_mergeOrElseErrors(x_150, x_107, x_104, x_151);
-lean_dec(x_104);
-return x_152;
-}
-}
-else
-{
-lean_object* x_153; lean_object* x_154; uint8_t x_155; lean_object* x_156;
-lean_dec(x_122);
-lean_dec(x_1);
-x_153 = l_Lean_Parser_Term_namedArgument___elambda__1___closed__2;
-x_154 = l_Lean_Parser_ParserState_mkNode(x_121, x_153, x_116);
-x_155 = 1;
-x_156 = l_Lean_Parser_mergeOrElseErrors(x_154, x_107, x_104, x_155);
-lean_dec(x_104);
-return x_156;
-}
-}
-else
-{
-lean_object* x_157; lean_object* x_158; uint8_t x_159; lean_object* x_160;
-lean_dec(x_118);
-lean_dec(x_1);
-x_157 = l_Lean_Parser_Term_namedArgument___elambda__1___closed__2;
-x_158 = l_Lean_Parser_ParserState_mkNode(x_117, x_157, x_116);
-x_159 = 1;
-x_160 = l_Lean_Parser_mergeOrElseErrors(x_158, x_107, x_104, x_159);
-lean_dec(x_104);
-return x_160;
-}
-}
-block_168:
-{
-if (lean_obj_tag(x_165) == 0)
-{
-lean_dec(x_164);
-lean_dec(x_163);
-lean_dec(x_115);
-x_117 = x_162;
-goto block_161;
-}
-else
-{
-lean_object* x_166; lean_object* x_167;
-lean_dec(x_162);
-x_166 = l_Array_shrink___main___rarg(x_163, x_116);
-x_167 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_167, 0, x_166);
-lean_ctor_set(x_167, 1, x_115);
-lean_ctor_set(x_167, 2, x_164);
-lean_ctor_set(x_167, 3, x_165);
-x_117 = x_167;
-goto block_161;
-}
-}
-block_205:
-{
-lean_object* x_170;
-x_170 = lean_ctor_get(x_169, 3);
-lean_inc(x_170);
-if (lean_obj_tag(x_170) == 0)
-{
-lean_object* x_171; lean_object* x_172;
-lean_inc(x_1);
-x_171 = l_Lean_Parser_Term_ident___elambda__1(x_1, x_169);
-x_172 = lean_ctor_get(x_171, 3);
-lean_inc(x_172);
-if (lean_obj_tag(x_172) == 0)
-{
-lean_object* x_173; lean_object* x_174; lean_object* x_175;
-x_173 = lean_ctor_get(x_171, 1);
-lean_inc(x_173);
-lean_inc(x_1);
-x_174 = l_Lean_Parser_tokenFn(x_1, x_171);
-x_175 = lean_ctor_get(x_174, 3);
-lean_inc(x_175);
-if (lean_obj_tag(x_175) == 0)
-{
-lean_object* x_176; lean_object* x_177;
-x_176 = lean_ctor_get(x_174, 0);
-lean_inc(x_176);
-x_177 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_176);
-lean_dec(x_176);
-if (lean_obj_tag(x_177) == 2)
-{
-lean_object* x_178; lean_object* x_179; uint8_t x_180;
-x_178 = lean_ctor_get(x_177, 1);
-lean_inc(x_178);
-lean_dec(x_177);
-x_179 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__5;
-x_180 = lean_string_dec_eq(x_178, x_179);
-lean_dec(x_178);
-if (x_180 == 0)
-{
-lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185;
-x_181 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-x_182 = l_Lean_Parser_ParserState_mkErrorsAt(x_174, x_181, x_173);
-x_183 = lean_ctor_get(x_182, 0);
-lean_inc(x_183);
-x_184 = lean_ctor_get(x_182, 2);
-lean_inc(x_184);
-x_185 = lean_ctor_get(x_182, 3);
-lean_inc(x_185);
-x_162 = x_182;
-x_163 = x_183;
-x_164 = x_184;
-x_165 = x_185;
-goto block_168;
-}
-else
-{
-lean_object* x_186; lean_object* x_187; lean_object* x_188;
-lean_dec(x_173);
-x_186 = lean_ctor_get(x_174, 0);
-lean_inc(x_186);
-x_187 = lean_ctor_get(x_174, 2);
-lean_inc(x_187);
-x_188 = lean_ctor_get(x_174, 3);
-lean_inc(x_188);
-x_162 = x_174;
-x_163 = x_186;
-x_164 = x_187;
-x_165 = x_188;
-goto block_168;
-}
-}
-else
-{
-lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193;
-lean_dec(x_177);
-x_189 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-x_190 = l_Lean_Parser_ParserState_mkErrorsAt(x_174, x_189, x_173);
-x_191 = lean_ctor_get(x_190, 0);
-lean_inc(x_191);
-x_192 = lean_ctor_get(x_190, 2);
-lean_inc(x_192);
-x_193 = lean_ctor_get(x_190, 3);
-lean_inc(x_193);
-x_162 = x_190;
-x_163 = x_191;
-x_164 = x_192;
-x_165 = x_193;
-goto block_168;
-}
-}
-else
-{
-lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198;
-lean_dec(x_175);
-x_194 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__8;
-x_195 = l_Lean_Parser_ParserState_mkErrorsAt(x_174, x_194, x_173);
-x_196 = lean_ctor_get(x_195, 0);
-lean_inc(x_196);
-x_197 = lean_ctor_get(x_195, 2);
-lean_inc(x_197);
-x_198 = lean_ctor_get(x_195, 3);
-lean_inc(x_198);
-x_162 = x_195;
-x_163 = x_196;
-x_164 = x_197;
-x_165 = x_198;
-goto block_168;
-}
-}
-else
-{
-lean_object* x_199; lean_object* x_200; lean_object* x_201;
-lean_dec(x_172);
-x_199 = lean_ctor_get(x_171, 0);
-lean_inc(x_199);
-x_200 = lean_ctor_get(x_171, 2);
-lean_inc(x_200);
-x_201 = lean_ctor_get(x_171, 3);
-lean_inc(x_201);
-x_162 = x_171;
-x_163 = x_199;
-x_164 = x_200;
-x_165 = x_201;
-goto block_168;
-}
-}
-else
-{
-lean_object* x_202; lean_object* x_203; lean_object* x_204;
-lean_dec(x_170);
-x_202 = lean_ctor_get(x_169, 0);
-lean_inc(x_202);
-x_203 = lean_ctor_get(x_169, 2);
-lean_inc(x_203);
-x_204 = lean_ctor_get(x_169, 3);
-lean_inc(x_204);
-x_162 = x_169;
-x_163 = x_202;
-x_164 = x_203;
-x_165 = x_204;
-goto block_168;
-}
-}
-}
-else
-{
-uint8_t x_219; lean_object* x_220;
-lean_dec(x_113);
-lean_dec(x_1);
-x_219 = 1;
-x_220 = l_Lean_Parser_mergeOrElseErrors(x_112, x_107, x_104, x_219);
-lean_dec(x_104);
-return x_220;
-}
-}
-}
+lean_object* x_27; uint8_t x_28; lean_object* x_29;
+x_27 = l_Lean_Parser_Term_namedArgument___elambda__1___closed__10;
+x_28 = 1;
+x_29 = l_Lean_Parser_orelseFnCore(x_4, x_27, x_28, x_1, x_2);
+return x_29;
}
}
}
@@ -63241,6 +43214,50 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Term_ellipsis___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_ellipsis___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_structInst___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_ellipsis___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_ellipsis___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_ellipsis___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_structInst___elambda__1___closed__10;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_ellipsis___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_ellipsis___elambda__1___closed__7;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Term_ellipsis___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -63261,71 +43278,17 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
+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;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_11 = lean_ctor_get(x_7, 1);
-lean_inc(x_11);
-x_12 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_13 = lean_ctor_get(x_12, 3);
-lean_inc(x_13);
-if (lean_obj_tag(x_13) == 0)
-{
-lean_object* x_14; lean_object* x_15;
-x_14 = lean_ctor_get(x_12, 0);
-lean_inc(x_14);
-x_15 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_14);
-lean_dec(x_14);
-if (lean_obj_tag(x_15) == 2)
-{
-lean_object* x_16; lean_object* x_17; uint8_t x_18;
-x_16 = lean_ctor_get(x_15, 1);
-lean_inc(x_16);
-lean_dec(x_15);
-x_17 = l_Lean_Parser_Term_structInst___elambda__1___closed__5;
-x_18 = lean_string_dec_eq(x_16, x_17);
-lean_dec(x_16);
-if (x_18 == 0)
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
-x_19 = l_Lean_Parser_Term_structInst___elambda__1___closed__13;
-x_20 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_19, x_11);
-x_21 = l_Lean_Parser_Term_ellipsis___elambda__1___closed__2;
-x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_10);
-return x_22;
-}
-else
-{
-lean_object* x_23; lean_object* x_24;
-lean_dec(x_11);
-x_23 = l_Lean_Parser_Term_ellipsis___elambda__1___closed__2;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_12, x_23, x_10);
-return x_24;
-}
-}
-else
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
-lean_dec(x_15);
-x_25 = l_Lean_Parser_Term_structInst___elambda__1___closed__13;
-x_26 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_25, x_11);
-x_27 = l_Lean_Parser_Term_ellipsis___elambda__1___closed__2;
-x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_10);
-return x_28;
-}
-}
-else
-{
-lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
-lean_dec(x_13);
-x_29 = l_Lean_Parser_Term_structInst___elambda__1___closed__13;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_29, x_11);
-x_31 = l_Lean_Parser_Term_ellipsis___elambda__1___closed__2;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_10);
-return x_32;
-}
+x_11 = l_Lean_Parser_Term_structInst___elambda__1___closed__10;
+x_12 = l_Lean_Parser_Term_ellipsis___elambda__1___closed__8;
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = l_Lean_Parser_Term_ellipsis___elambda__1___closed__2;
+x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
+return x_15;
}
else
{
@@ -63336,144 +43299,11 @@ return x_7;
}
else
{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_33 = lean_ctor_get(x_2, 0);
-lean_inc(x_33);
-x_34 = lean_array_get_size(x_33);
-lean_dec(x_33);
-x_35 = lean_ctor_get(x_2, 1);
-lean_inc(x_35);
-lean_inc(x_1);
-x_36 = lean_apply_2(x_4, x_1, x_2);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_36, 1);
-lean_inc(x_39);
-x_40 = lean_nat_dec_eq(x_39, x_35);
-lean_dec(x_39);
-if (x_40 == 0)
-{
-lean_dec(x_38);
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
-lean_inc(x_35);
-x_41 = l_Lean_Parser_ParserState_restore(x_36, x_34, x_35);
-lean_dec(x_34);
-x_42 = lean_unsigned_to_nat(1024u);
-x_43 = l_Lean_Parser_checkPrecFn(x_42, x_1, x_41);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-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_43, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-x_47 = lean_ctor_get(x_43, 1);
-lean_inc(x_47);
-x_48 = l_Lean_Parser_tokenFn(x_1, x_43);
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
-{
-lean_object* x_50; lean_object* x_51;
-x_50 = lean_ctor_get(x_48, 0);
-lean_inc(x_50);
-x_51 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_50);
-lean_dec(x_50);
-if (lean_obj_tag(x_51) == 2)
-{
-lean_object* x_52; lean_object* x_53; uint8_t x_54;
-x_52 = lean_ctor_get(x_51, 1);
-lean_inc(x_52);
-lean_dec(x_51);
-x_53 = l_Lean_Parser_Term_structInst___elambda__1___closed__5;
-x_54 = lean_string_dec_eq(x_52, x_53);
-lean_dec(x_52);
-if (x_54 == 0)
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; uint8_t x_59; lean_object* x_60;
-x_55 = l_Lean_Parser_Term_structInst___elambda__1___closed__13;
-x_56 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_55, x_47);
-x_57 = l_Lean_Parser_Term_ellipsis___elambda__1___closed__2;
-x_58 = l_Lean_Parser_ParserState_mkNode(x_56, x_57, x_46);
-x_59 = 1;
-x_60 = l_Lean_Parser_mergeOrElseErrors(x_58, x_38, x_35, x_59);
-lean_dec(x_35);
-return x_60;
-}
-else
-{
-lean_object* x_61; lean_object* x_62; uint8_t x_63; lean_object* x_64;
-lean_dec(x_47);
-x_61 = l_Lean_Parser_Term_ellipsis___elambda__1___closed__2;
-x_62 = l_Lean_Parser_ParserState_mkNode(x_48, x_61, x_46);
-x_63 = 1;
-x_64 = l_Lean_Parser_mergeOrElseErrors(x_62, x_38, x_35, x_63);
-lean_dec(x_35);
-return x_64;
-}
-}
-else
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; uint8_t x_69; lean_object* x_70;
-lean_dec(x_51);
-x_65 = l_Lean_Parser_Term_structInst___elambda__1___closed__13;
-x_66 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_65, x_47);
-x_67 = l_Lean_Parser_Term_ellipsis___elambda__1___closed__2;
-x_68 = l_Lean_Parser_ParserState_mkNode(x_66, x_67, x_46);
-x_69 = 1;
-x_70 = l_Lean_Parser_mergeOrElseErrors(x_68, x_38, x_35, x_69);
-lean_dec(x_35);
-return x_70;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; uint8_t x_75; lean_object* x_76;
-lean_dec(x_49);
-x_71 = l_Lean_Parser_Term_structInst___elambda__1___closed__13;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_71, x_47);
-x_73 = l_Lean_Parser_Term_ellipsis___elambda__1___closed__2;
-x_74 = l_Lean_Parser_ParserState_mkNode(x_72, x_73, x_46);
-x_75 = 1;
-x_76 = l_Lean_Parser_mergeOrElseErrors(x_74, x_38, x_35, x_75);
-lean_dec(x_35);
-return x_76;
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_44);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_43, x_38, x_35, x_77);
-lean_dec(x_35);
-return x_78;
-}
-}
-}
+lean_object* x_16; uint8_t x_17; lean_object* x_18;
+x_16 = l_Lean_Parser_Term_ellipsis___elambda__1___closed__6;
+x_17 = 1;
+x_18 = l_Lean_Parser_orelseFnCore(x_4, x_16, x_17, x_1, x_2);
+return x_18;
}
}
}
@@ -63537,15 +43367,7 @@ x_1 = l_Lean_Parser_Term_ellipsis___closed__5;
return x_1;
}
}
-static lean_object* _init_l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_app___elambda__1___spec__1___closed__1() {
-_start:
-{
-lean_object* x_1;
-x_1 = lean_mk_string("expected space");
-return x_1;
-}
-}
-static lean_object* _init_l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_app___elambda__1___spec__1___closed__2() {
+static lean_object* _init_l_Lean_Parser_Term_app___elambda__1___closed__1() {
_start:
{
lean_object* x_1;
@@ -63553,243 +43375,80 @@ x_1 = lean_mk_string("expected to be indented");
return x_1;
}
}
-lean_object* l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_app___elambda__1___spec__1(lean_object* x_1, lean_object* x_2) {
+static lean_object* _init_l_Lean_Parser_Term_app___elambda__1___closed__2() {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_17; lean_object* x_47; lean_object* x_48; lean_object* x_49;
-x_3 = lean_ctor_get(x_2, 0);
-lean_inc(x_3);
-x_4 = lean_array_get_size(x_3);
-lean_dec(x_3);
-x_5 = lean_ctor_get(x_2, 1);
-lean_inc(x_5);
-x_47 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_app___elambda__1___spec__1___closed__1;
-x_48 = l_Lean_Parser_checkWsBeforeFn(x_47, x_1, x_2);
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
-{
-lean_object* x_50;
-x_50 = lean_ctor_get(x_1, 4);
-lean_inc(x_50);
-if (lean_obj_tag(x_50) == 0)
-{
-x_17 = x_48;
-goto block_46;
-}
-else
-{
-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; uint8_t x_58;
-x_51 = lean_ctor_get(x_50, 0);
-lean_inc(x_51);
-lean_dec(x_50);
-x_52 = lean_ctor_get(x_1, 0);
-lean_inc(x_52);
-x_53 = lean_ctor_get(x_52, 2);
-lean_inc(x_53);
-lean_dec(x_52);
-x_54 = lean_ctor_get(x_48, 1);
-lean_inc(x_54);
-x_55 = l_Lean_FileMap_toPosition(x_53, x_54);
-lean_dec(x_53);
-x_56 = lean_ctor_get(x_51, 1);
-lean_inc(x_56);
-lean_dec(x_51);
-x_57 = lean_ctor_get(x_55, 1);
-lean_inc(x_57);
-lean_dec(x_55);
-x_58 = lean_nat_dec_lt(x_56, x_57);
-lean_dec(x_57);
-lean_dec(x_56);
-if (x_58 == 0)
-{
-lean_object* x_59; lean_object* x_60;
-x_59 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_app___elambda__1___spec__1___closed__2;
-x_60 = l_Lean_Parser_ParserState_mkError(x_48, x_59);
-x_17 = x_60;
-goto block_46;
-}
-else
-{
-x_17 = x_48;
-goto block_46;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_app___elambda__1___closed__1;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_checkColGtFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
-}
-else
+static lean_object* _init_l_Lean_Parser_Term_app___elambda__1___closed__3() {
+_start:
{
-lean_dec(x_49);
-x_6 = x_48;
-goto block_16;
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_explicit___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_ellipsis___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
}
-block_16:
+}
+static lean_object* _init_l_Lean_Parser_Term_app___elambda__1___closed__4() {
+_start:
{
-lean_object* x_7;
-x_7 = lean_ctor_get(x_6, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_namedArgument___closed__7;
+x_2 = l_Lean_Parser_Term_app___elambda__1___closed__3;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_app___elambda__1___closed__5() {
+_start:
{
-lean_object* x_8; uint8_t x_9;
-lean_dec(x_4);
-x_8 = lean_ctor_get(x_6, 1);
-lean_inc(x_8);
-x_9 = lean_nat_dec_eq(x_5, x_8);
-lean_dec(x_8);
-lean_dec(x_5);
-if (x_9 == 0)
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_app___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_app___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_app___elambda__1___closed__6() {
+_start:
{
-x_2 = x_6;
-goto _start;
+lean_object* x_1;
+x_1 = lean_mk_string("expected space");
+return x_1;
}
-else
+}
+static lean_object* _init_l_Lean_Parser_Term_app___elambda__1___closed__7() {
+_start:
{
-lean_object* x_11; lean_object* x_12;
-lean_dec(x_1);
-x_11 = l_Lean_Parser_manyAux___main___closed__1;
-x_12 = l_Lean_Parser_ParserState_mkUnexpectedError(x_6, x_11);
-return x_12;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_app___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_checkWsBefore___elambda__1___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
-else
+static lean_object* _init_l_Lean_Parser_Term_app___elambda__1___closed__8() {
+_start:
{
-lean_object* x_13; uint8_t x_14;
-lean_dec(x_7);
-lean_dec(x_1);
-x_13 = lean_ctor_get(x_6, 1);
-lean_inc(x_13);
-x_14 = lean_nat_dec_eq(x_5, x_13);
-lean_dec(x_13);
-if (x_14 == 0)
-{
-lean_dec(x_5);
-lean_dec(x_4);
-return x_6;
-}
-else
-{
-lean_object* x_15;
-x_15 = l_Lean_Parser_ParserState_restore(x_6, x_4, x_5);
-lean_dec(x_4);
-return x_15;
-}
-}
-}
-block_46:
-{
-lean_object* x_18;
-x_18 = lean_ctor_get(x_17, 3);
-lean_inc(x_18);
-if (lean_obj_tag(x_18) == 0)
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23;
-x_19 = lean_ctor_get(x_17, 0);
-lean_inc(x_19);
-x_20 = lean_array_get_size(x_19);
-lean_dec(x_19);
-x_21 = lean_ctor_get(x_17, 1);
-lean_inc(x_21);
-lean_inc(x_1);
-x_22 = l_Lean_Parser_Term_namedArgument___elambda__1(x_1, x_17);
-x_23 = lean_ctor_get(x_22, 3);
-lean_inc(x_23);
-if (lean_obj_tag(x_23) == 0)
-{
-lean_dec(x_21);
-lean_dec(x_20);
-x_6 = x_22;
-goto block_16;
-}
-else
-{
-lean_object* x_24; lean_object* x_25; uint8_t x_26;
-x_24 = lean_ctor_get(x_23, 0);
-lean_inc(x_24);
-lean_dec(x_23);
-x_25 = lean_ctor_get(x_22, 1);
-lean_inc(x_25);
-x_26 = lean_nat_dec_eq(x_25, x_21);
-lean_dec(x_25);
-if (x_26 == 0)
-{
-lean_dec(x_24);
-lean_dec(x_21);
-lean_dec(x_20);
-x_6 = x_22;
-goto block_16;
-}
-else
-{
-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_inc(x_21);
-x_27 = l_Lean_Parser_ParserState_restore(x_22, x_20, x_21);
-lean_dec(x_20);
-x_28 = lean_ctor_get(x_27, 0);
-lean_inc(x_28);
-x_29 = lean_array_get_size(x_28);
-lean_dec(x_28);
-x_30 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_31 = l_Lean_Parser_maxPrec;
-lean_inc(x_1);
-x_32 = l_Lean_Parser_categoryParser___elambda__1(x_30, x_31, x_1, x_27);
-x_33 = lean_ctor_get(x_32, 3);
-lean_inc(x_33);
-if (lean_obj_tag(x_33) == 0)
-{
-uint8_t x_34; lean_object* x_35;
-lean_dec(x_29);
-x_34 = 1;
-x_35 = l_Lean_Parser_mergeOrElseErrors(x_32, x_24, x_21, x_34);
-lean_dec(x_21);
-x_6 = x_35;
-goto block_16;
-}
-else
-{
-lean_object* x_36; lean_object* x_37; uint8_t x_38;
-x_36 = lean_ctor_get(x_33, 0);
-lean_inc(x_36);
-lean_dec(x_33);
-x_37 = lean_ctor_get(x_32, 1);
-lean_inc(x_37);
-x_38 = lean_nat_dec_eq(x_37, x_21);
-lean_dec(x_37);
-if (x_38 == 0)
-{
-uint8_t x_39; lean_object* x_40;
-lean_dec(x_36);
-lean_dec(x_29);
-x_39 = 1;
-x_40 = l_Lean_Parser_mergeOrElseErrors(x_32, x_24, x_21, x_39);
-lean_dec(x_21);
-x_6 = x_40;
-goto block_16;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; uint8_t x_43; lean_object* x_44; lean_object* x_45;
-lean_inc(x_21);
-x_41 = l_Lean_Parser_ParserState_restore(x_32, x_29, x_21);
-lean_dec(x_29);
-lean_inc(x_1);
-x_42 = l_Lean_Parser_Term_ellipsis___elambda__1(x_1, x_41);
-x_43 = 1;
-x_44 = l_Lean_Parser_mergeOrElseErrors(x_42, x_36, x_21, x_43);
-x_45 = l_Lean_Parser_mergeOrElseErrors(x_44, x_24, x_21, x_43);
-lean_dec(x_21);
-x_6 = x_45;
-goto block_16;
-}
-}
-}
-}
-}
-else
-{
-lean_dec(x_18);
-x_6 = x_17;
-goto block_16;
-}
-}
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_app___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Term_app___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
}
}
lean_object* l_Lean_Parser_Term_app___elambda__1(lean_object* x_1, lean_object* x_2) {
@@ -63802,215 +43461,112 @@ x_5 = lean_ctor_get(x_4, 3);
lean_inc(x_5);
if (lean_obj_tag(x_5) == 0)
{
-lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_20; lean_object* x_50; lean_object* x_51; lean_object* x_52;
+lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_21; lean_object* x_22; lean_object* x_23;
x_6 = lean_ctor_get(x_4, 0);
lean_inc(x_6);
x_7 = lean_array_get_size(x_6);
lean_dec(x_6);
-x_50 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_app___elambda__1___spec__1___closed__1;
-x_51 = l_Lean_Parser_checkWsBeforeFn(x_50, x_1, x_4);
-x_52 = lean_ctor_get(x_51, 3);
-lean_inc(x_52);
-if (lean_obj_tag(x_52) == 0)
+x_21 = l_Lean_Parser_Term_app___elambda__1___closed__6;
+x_22 = l_Lean_Parser_checkWsBeforeFn(x_21, x_1, x_4);
+x_23 = lean_ctor_get(x_22, 3);
+lean_inc(x_23);
+if (lean_obj_tag(x_23) == 0)
{
-lean_object* x_53;
-x_53 = lean_ctor_get(x_1, 4);
-lean_inc(x_53);
-if (lean_obj_tag(x_53) == 0)
+lean_object* x_24;
+x_24 = lean_ctor_get(x_1, 4);
+lean_inc(x_24);
+if (lean_obj_tag(x_24) == 0)
{
-x_20 = x_51;
-goto block_49;
+lean_object* x_25; lean_object* x_26; uint8_t x_27; lean_object* x_28;
+x_25 = l_Lean_Parser_Term_namedArgument___closed__7;
+x_26 = l_Lean_Parser_Term_app___elambda__1___closed__3;
+x_27 = 1;
+lean_inc(x_1);
+x_28 = l_Lean_Parser_orelseFnCore(x_25, x_26, x_27, x_1, x_22);
+x_8 = x_28;
+goto block_20;
}
else
{
-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; uint8_t x_61;
-x_54 = lean_ctor_get(x_53, 0);
-lean_inc(x_54);
-lean_dec(x_53);
-x_55 = lean_ctor_get(x_1, 0);
-lean_inc(x_55);
-x_56 = lean_ctor_get(x_55, 2);
-lean_inc(x_56);
-lean_dec(x_55);
-x_57 = lean_ctor_get(x_51, 1);
-lean_inc(x_57);
-x_58 = l_Lean_FileMap_toPosition(x_56, x_57);
-lean_dec(x_56);
-x_59 = lean_ctor_get(x_54, 1);
-lean_inc(x_59);
-lean_dec(x_54);
-x_60 = lean_ctor_get(x_58, 1);
-lean_inc(x_60);
-lean_dec(x_58);
-x_61 = lean_nat_dec_lt(x_59, x_60);
-lean_dec(x_60);
-lean_dec(x_59);
-if (x_61 == 0)
+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; uint8_t x_36;
+x_29 = lean_ctor_get(x_24, 0);
+lean_inc(x_29);
+lean_dec(x_24);
+x_30 = lean_ctor_get(x_1, 0);
+lean_inc(x_30);
+x_31 = lean_ctor_get(x_30, 2);
+lean_inc(x_31);
+lean_dec(x_30);
+x_32 = lean_ctor_get(x_22, 1);
+lean_inc(x_32);
+x_33 = l_Lean_FileMap_toPosition(x_31, x_32);
+lean_dec(x_31);
+x_34 = lean_ctor_get(x_29, 1);
+lean_inc(x_34);
+lean_dec(x_29);
+x_35 = lean_ctor_get(x_33, 1);
+lean_inc(x_35);
+lean_dec(x_33);
+x_36 = lean_nat_dec_lt(x_34, x_35);
+lean_dec(x_35);
+lean_dec(x_34);
+if (x_36 == 0)
{
-lean_object* x_62; lean_object* x_63;
-x_62 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_app___elambda__1___spec__1___closed__2;
-x_63 = l_Lean_Parser_ParserState_mkError(x_51, x_62);
-x_20 = x_63;
-goto block_49;
+lean_object* x_37; lean_object* x_38;
+x_37 = l_Lean_Parser_Term_app___elambda__1___closed__1;
+x_38 = l_Lean_Parser_ParserState_mkError(x_22, x_37);
+x_8 = x_38;
+goto block_20;
}
else
{
-x_20 = x_51;
-goto block_49;
+lean_object* x_39; lean_object* x_40; uint8_t x_41; lean_object* x_42;
+x_39 = l_Lean_Parser_Term_namedArgument___closed__7;
+x_40 = l_Lean_Parser_Term_app___elambda__1___closed__3;
+x_41 = 1;
+lean_inc(x_1);
+x_42 = l_Lean_Parser_orelseFnCore(x_39, x_40, x_41, x_1, x_22);
+x_8 = x_42;
+goto block_20;
}
}
}
else
{
-lean_dec(x_52);
-x_8 = x_51;
-goto block_19;
+lean_dec(x_23);
+x_8 = x_22;
+goto block_20;
}
-block_19:
+block_20:
{
lean_object* x_9;
x_9 = lean_ctor_get(x_8, 3);
lean_inc(x_9);
if (lean_obj_tag(x_9) == 0)
{
-lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
-x_10 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_app___elambda__1___spec__1(x_1, x_8);
-x_11 = l_Lean_nullKind;
+lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15;
+x_10 = l_Lean_Parser_Term_app___elambda__1___closed__8;
+x_11 = l_Lean_Parser_manyAux(x_10, x_1, x_8);
+x_12 = l_Lean_nullKind;
lean_inc(x_7);
-x_12 = l_Lean_Parser_ParserState_mkNode(x_10, x_11, x_7);
-x_13 = l_Lean_mkAppStx___closed__8;
-x_14 = l_Lean_Parser_ParserState_mkTrailingNode(x_12, x_13, x_7);
+x_13 = l_Lean_Parser_ParserState_mkNode(x_11, x_12, x_7);
+x_14 = l_Lean_mkAppStx___closed__8;
+x_15 = l_Lean_Parser_ParserState_mkTrailingNode(x_13, x_14, x_7);
lean_dec(x_7);
-return x_14;
+return x_15;
}
else
{
-lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
+lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
lean_dec(x_9);
lean_dec(x_1);
-x_15 = l_Lean_nullKind;
+x_16 = l_Lean_nullKind;
lean_inc(x_7);
-x_16 = l_Lean_Parser_ParserState_mkNode(x_8, x_15, x_7);
-x_17 = l_Lean_mkAppStx___closed__8;
-x_18 = l_Lean_Parser_ParserState_mkTrailingNode(x_16, x_17, x_7);
+x_17 = l_Lean_Parser_ParserState_mkNode(x_8, x_16, x_7);
+x_18 = l_Lean_mkAppStx___closed__8;
+x_19 = l_Lean_Parser_ParserState_mkTrailingNode(x_17, x_18, x_7);
lean_dec(x_7);
-return x_18;
-}
-}
-block_49:
-{
-lean_object* x_21;
-x_21 = lean_ctor_get(x_20, 3);
-lean_inc(x_21);
-if (lean_obj_tag(x_21) == 0)
-{
-lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26;
-x_22 = lean_ctor_get(x_20, 0);
-lean_inc(x_22);
-x_23 = lean_array_get_size(x_22);
-lean_dec(x_22);
-x_24 = lean_ctor_get(x_20, 1);
-lean_inc(x_24);
-lean_inc(x_1);
-x_25 = l_Lean_Parser_Term_namedArgument___elambda__1(x_1, x_20);
-x_26 = lean_ctor_get(x_25, 3);
-lean_inc(x_26);
-if (lean_obj_tag(x_26) == 0)
-{
-lean_dec(x_24);
-lean_dec(x_23);
-x_8 = x_25;
-goto block_19;
-}
-else
-{
-lean_object* x_27; lean_object* x_28; uint8_t x_29;
-x_27 = lean_ctor_get(x_26, 0);
-lean_inc(x_27);
-lean_dec(x_26);
-x_28 = lean_ctor_get(x_25, 1);
-lean_inc(x_28);
-x_29 = lean_nat_dec_eq(x_28, x_24);
-lean_dec(x_28);
-if (x_29 == 0)
-{
-lean_dec(x_27);
-lean_dec(x_24);
-lean_dec(x_23);
-x_8 = x_25;
-goto block_19;
-}
-else
-{
-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_inc(x_24);
-x_30 = l_Lean_Parser_ParserState_restore(x_25, x_23, x_24);
-lean_dec(x_23);
-x_31 = lean_ctor_get(x_30, 0);
-lean_inc(x_31);
-x_32 = lean_array_get_size(x_31);
-lean_dec(x_31);
-x_33 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_34 = l_Lean_Parser_maxPrec;
-lean_inc(x_1);
-x_35 = l_Lean_Parser_categoryParser___elambda__1(x_33, x_34, x_1, x_30);
-x_36 = lean_ctor_get(x_35, 3);
-lean_inc(x_36);
-if (lean_obj_tag(x_36) == 0)
-{
-uint8_t x_37; lean_object* x_38;
-lean_dec(x_32);
-x_37 = 1;
-x_38 = l_Lean_Parser_mergeOrElseErrors(x_35, x_27, x_24, x_37);
-lean_dec(x_24);
-x_8 = x_38;
-goto block_19;
-}
-else
-{
-lean_object* x_39; lean_object* x_40; uint8_t x_41;
-x_39 = lean_ctor_get(x_36, 0);
-lean_inc(x_39);
-lean_dec(x_36);
-x_40 = lean_ctor_get(x_35, 1);
-lean_inc(x_40);
-x_41 = lean_nat_dec_eq(x_40, x_24);
-lean_dec(x_40);
-if (x_41 == 0)
-{
-uint8_t x_42; lean_object* x_43;
-lean_dec(x_39);
-lean_dec(x_32);
-x_42 = 1;
-x_43 = l_Lean_Parser_mergeOrElseErrors(x_35, x_27, x_24, x_42);
-lean_dec(x_24);
-x_8 = x_43;
-goto block_19;
-}
-else
-{
-lean_object* x_44; lean_object* x_45; uint8_t x_46; lean_object* x_47; lean_object* x_48;
-lean_inc(x_24);
-x_44 = l_Lean_Parser_ParserState_restore(x_35, x_32, x_24);
-lean_dec(x_32);
-lean_inc(x_1);
-x_45 = l_Lean_Parser_Term_ellipsis___elambda__1(x_1, x_44);
-x_46 = 1;
-x_47 = l_Lean_Parser_mergeOrElseErrors(x_45, x_39, x_24, x_46);
-x_48 = l_Lean_Parser_mergeOrElseErrors(x_47, x_27, x_24, x_46);
-lean_dec(x_24);
-x_8 = x_48;
-goto block_19;
-}
-}
-}
-}
-}
-else
-{
-lean_dec(x_21);
-x_8 = x_20;
-goto block_19;
+return x_19;
}
}
}
@@ -64595,240 +44151,93 @@ x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
}
}
+static lean_object* _init_l_Lean_Parser_Term_proj___elambda__1___closed__2() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_structInstLVal___elambda__1___closed__2;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_proj___elambda__1___closed__3() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_proj___elambda__1___closed__2;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Term_proj___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_3 = l_Lean_Parser_fieldIdx___closed__2;
-x_4 = lean_ctor_get(x_3, 1);
-lean_inc(x_4);
-x_5 = lean_unsigned_to_nat(1024u);
-x_6 = l_Lean_Parser_checkPrecFn(x_5, x_1, x_2);
-x_7 = lean_ctor_get(x_6, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
+lean_object* x_3; lean_object* x_4; lean_object* x_5;
+x_3 = lean_unsigned_to_nat(1024u);
+x_4 = l_Lean_Parser_checkPrecFn(x_3, x_1, x_2);
+x_5 = lean_ctor_get(x_4, 3);
+lean_inc(x_5);
+if (lean_obj_tag(x_5) == 0)
{
-lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_45; lean_object* x_46; lean_object* x_47;
-x_8 = lean_ctor_get(x_6, 0);
-lean_inc(x_8);
-x_9 = lean_array_get_size(x_8);
-lean_dec(x_8);
-x_45 = l_Lean_Parser_compileParserDescr_visit___closed__1;
-x_46 = l_Lean_Parser_checkNoWsBeforeFn(x_45, x_1, x_6);
-x_47 = lean_ctor_get(x_46, 3);
-lean_inc(x_47);
-if (lean_obj_tag(x_47) == 0)
-{
-lean_object* x_48; lean_object* x_49; lean_object* x_50;
-x_48 = lean_ctor_get(x_46, 1);
-lean_inc(x_48);
-lean_inc(x_1);
-x_49 = l_Lean_Parser_tokenFn(x_1, x_46);
-x_50 = lean_ctor_get(x_49, 3);
-lean_inc(x_50);
-if (lean_obj_tag(x_50) == 0)
-{
-lean_object* x_51; lean_object* x_52;
-x_51 = lean_ctor_get(x_49, 0);
-lean_inc(x_51);
-x_52 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_51);
-lean_dec(x_51);
-if (lean_obj_tag(x_52) == 2)
-{
-lean_object* x_53; lean_object* x_54; uint8_t x_55;
-x_53 = lean_ctor_get(x_52, 1);
-lean_inc(x_53);
-lean_dec(x_52);
-x_54 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_structInstLVal___elambda__1___spec__1___closed__1;
-x_55 = lean_string_dec_eq(x_53, x_54);
-lean_dec(x_53);
-if (x_55 == 0)
-{
-lean_object* x_56; lean_object* x_57;
-x_56 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_structInstLVal___elambda__1___spec__1___closed__4;
-x_57 = l_Lean_Parser_ParserState_mkErrorsAt(x_49, x_56, x_48);
-x_10 = x_57;
-goto block_44;
-}
-else
-{
-lean_dec(x_48);
-x_10 = x_49;
-goto block_44;
-}
-}
-else
-{
-lean_object* x_58; lean_object* x_59;
-lean_dec(x_52);
-x_58 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_structInstLVal___elambda__1___spec__1___closed__4;
-x_59 = l_Lean_Parser_ParserState_mkErrorsAt(x_49, x_58, x_48);
-x_10 = x_59;
-goto block_44;
-}
-}
-else
-{
-lean_object* x_60; lean_object* x_61;
-lean_dec(x_50);
-x_60 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_structInstLVal___elambda__1___spec__1___closed__4;
-x_61 = l_Lean_Parser_ParserState_mkErrorsAt(x_49, x_60, x_48);
-x_10 = x_61;
-goto block_44;
-}
-}
-else
-{
-lean_object* x_62; lean_object* x_63;
-lean_dec(x_47);
-lean_dec(x_4);
-lean_dec(x_1);
-x_62 = l_Lean_Parser_Term_proj___elambda__1___closed__1;
-x_63 = l_Lean_Parser_ParserState_mkTrailingNode(x_46, x_62, x_9);
-lean_dec(x_9);
-return x_63;
-}
-block_44:
-{
-lean_object* x_11;
-x_11 = lean_ctor_get(x_10, 3);
-lean_inc(x_11);
-if (lean_obj_tag(x_11) == 0)
-{
-lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_31;
-x_12 = lean_ctor_get(x_10, 0);
-lean_inc(x_12);
-x_13 = lean_array_get_size(x_12);
-lean_dec(x_12);
-x_14 = lean_ctor_get(x_10, 1);
-lean_inc(x_14);
+lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10;
+x_6 = lean_ctor_get(x_4, 0);
+lean_inc(x_6);
+x_7 = lean_array_get_size(x_6);
+lean_dec(x_6);
+x_8 = l_Lean_Parser_compileParserDescr_visit___closed__1;
+x_9 = l_Lean_Parser_checkNoWsBeforeFn(x_8, x_1, x_4);
+x_10 = lean_ctor_get(x_9, 3);
lean_inc(x_10);
+if (lean_obj_tag(x_10) == 0)
+{
+lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
+x_11 = l_Lean_Parser_Term_structInstLVal___elambda__1___closed__2;
+x_12 = l_Lean_Parser_Term_proj___elambda__1___closed__3;
lean_inc(x_1);
-x_31 = l_Lean_Parser_tryAnti(x_1, x_10);
-if (x_31 == 0)
-{
-lean_object* x_32;
-lean_dec(x_4);
-x_32 = l_Lean_Parser_fieldIdxFn(x_1, x_10);
-x_15 = x_32;
-goto block_30;
-}
-else
-{
-lean_object* x_33; lean_object* x_34;
-lean_inc(x_1);
-x_33 = lean_apply_2(x_4, x_1, x_10);
-x_34 = lean_ctor_get(x_33, 3);
-lean_inc(x_34);
-if (lean_obj_tag(x_34) == 0)
-{
-x_15 = x_33;
-goto block_30;
-}
-else
-{
-lean_object* x_35; lean_object* x_36; uint8_t x_37;
-x_35 = lean_ctor_get(x_34, 0);
-lean_inc(x_35);
-lean_dec(x_34);
-x_36 = lean_ctor_get(x_33, 1);
-lean_inc(x_36);
-x_37 = lean_nat_dec_eq(x_36, x_14);
-lean_dec(x_36);
-if (x_37 == 0)
-{
-lean_dec(x_35);
-x_15 = x_33;
-goto block_30;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40; lean_object* x_41;
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_9);
+x_14 = lean_ctor_get(x_13, 3);
lean_inc(x_14);
-x_38 = l_Lean_Parser_ParserState_restore(x_33, x_13, x_14);
-x_39 = l_Lean_Parser_fieldIdxFn(x_1, x_38);
-x_40 = 1;
-x_41 = l_Lean_Parser_mergeOrElseErrors(x_39, x_35, x_14, x_40);
-x_15 = x_41;
-goto block_30;
-}
-}
-}
-block_30:
-{
-lean_object* x_16;
-x_16 = lean_ctor_get(x_15, 3);
-lean_inc(x_16);
-if (lean_obj_tag(x_16) == 0)
-{
-lean_object* x_17; lean_object* x_18;
-lean_dec(x_14);
-lean_dec(x_13);
-lean_dec(x_1);
-x_17 = l_Lean_Parser_Term_proj___elambda__1___closed__1;
-x_18 = l_Lean_Parser_ParserState_mkTrailingNode(x_15, x_17, x_9);
-lean_dec(x_9);
-return x_18;
-}
-else
-{
-lean_object* x_19; lean_object* x_20; uint8_t x_21;
-x_19 = lean_ctor_get(x_16, 0);
-lean_inc(x_19);
-lean_dec(x_16);
-x_20 = lean_ctor_get(x_15, 1);
-lean_inc(x_20);
-x_21 = lean_nat_dec_eq(x_20, x_14);
-lean_dec(x_20);
-if (x_21 == 0)
-{
-lean_object* x_22; lean_object* x_23;
-lean_dec(x_19);
-lean_dec(x_14);
-lean_dec(x_13);
-lean_dec(x_1);
-x_22 = l_Lean_Parser_Term_proj___elambda__1___closed__1;
-x_23 = l_Lean_Parser_ParserState_mkTrailingNode(x_15, x_22, x_9);
-lean_dec(x_9);
-return x_23;
-}
-else
-{
-lean_object* x_24; lean_object* x_25; uint8_t x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29;
-lean_inc(x_14);
-x_24 = l_Lean_Parser_ParserState_restore(x_15, x_13, x_14);
-lean_dec(x_13);
-x_25 = l_Lean_Parser_Term_ident___elambda__1(x_1, x_24);
-x_26 = 1;
-x_27 = l_Lean_Parser_mergeOrElseErrors(x_25, x_19, x_14, x_26);
-lean_dec(x_14);
-x_28 = l_Lean_Parser_Term_proj___elambda__1___closed__1;
-x_29 = l_Lean_Parser_ParserState_mkTrailingNode(x_27, x_28, x_9);
-lean_dec(x_9);
-return x_29;
-}
-}
-}
-}
-else
-{
-lean_object* x_42; lean_object* x_43;
-lean_dec(x_11);
-lean_dec(x_4);
-lean_dec(x_1);
-x_42 = l_Lean_Parser_Term_proj___elambda__1___closed__1;
-x_43 = l_Lean_Parser_ParserState_mkTrailingNode(x_10, x_42, x_9);
-lean_dec(x_9);
-return x_43;
-}
-}
-}
-else
+if (lean_obj_tag(x_14) == 0)
{
+lean_object* x_15; lean_object* x_16; uint8_t x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
+x_15 = l_Lean_Parser_fieldIdx___closed__6;
+x_16 = l_Lean_Parser_Term_ident___closed__1;
+x_17 = 1;
+x_18 = l_Lean_Parser_orelseFnCore(x_15, x_16, x_17, x_1, x_13);
+x_19 = l_Lean_Parser_Term_proj___elambda__1___closed__1;
+x_20 = l_Lean_Parser_ParserState_mkTrailingNode(x_18, x_19, x_7);
lean_dec(x_7);
-lean_dec(x_4);
+return x_20;
+}
+else
+{
+lean_object* x_21; lean_object* x_22;
+lean_dec(x_14);
lean_dec(x_1);
-return x_6;
+x_21 = l_Lean_Parser_Term_proj___elambda__1___closed__1;
+x_22 = l_Lean_Parser_ParserState_mkTrailingNode(x_13, x_21, x_7);
+lean_dec(x_7);
+return x_22;
+}
+}
+else
+{
+lean_object* x_23; lean_object* x_24;
+lean_dec(x_10);
+lean_dec(x_1);
+x_23 = l_Lean_Parser_Term_proj___elambda__1___closed__1;
+x_24 = l_Lean_Parser_ParserState_mkTrailingNode(x_9, x_23, x_7);
+lean_dec(x_7);
+return x_24;
+}
+}
+else
+{
+lean_dec(x_5);
+lean_dec(x_1);
+return x_4;
}
}
}
@@ -65085,188 +44494,75 @@ x_5 = lean_ctor_get(x_4, 3);
lean_inc(x_5);
if (lean_obj_tag(x_5) == 0)
{
-lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_41; lean_object* x_42; lean_object* x_43;
+lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10;
x_6 = lean_ctor_get(x_4, 0);
lean_inc(x_6);
x_7 = lean_array_get_size(x_6);
lean_dec(x_6);
-x_41 = l_Lean_Parser_compileParserDescr_visit___closed__1;
-x_42 = l_Lean_Parser_checkNoWsBeforeFn(x_41, x_1, x_4);
-x_43 = lean_ctor_get(x_42, 3);
-lean_inc(x_43);
-if (lean_obj_tag(x_43) == 0)
+x_8 = l_Lean_Parser_compileParserDescr_visit___closed__1;
+x_9 = l_Lean_Parser_checkNoWsBeforeFn(x_8, x_1, x_4);
+x_10 = lean_ctor_get(x_9, 3);
+lean_inc(x_10);
+if (lean_obj_tag(x_10) == 0)
{
-lean_object* x_44; lean_object* x_45; lean_object* x_46;
-x_44 = lean_ctor_get(x_42, 1);
-lean_inc(x_44);
+lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
+x_11 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__5;
+x_12 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__14;
lean_inc(x_1);
-x_45 = l_Lean_Parser_tokenFn(x_1, x_42);
-x_46 = lean_ctor_get(x_45, 3);
-lean_inc(x_46);
-if (lean_obj_tag(x_46) == 0)
-{
-lean_object* x_47; lean_object* x_48;
-x_47 = lean_ctor_get(x_45, 0);
-lean_inc(x_47);
-x_48 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_47);
-lean_dec(x_47);
-if (lean_obj_tag(x_48) == 2)
-{
-lean_object* x_49; lean_object* x_50; uint8_t x_51;
-x_49 = lean_ctor_get(x_48, 1);
-lean_inc(x_49);
-lean_dec(x_48);
-x_50 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__5;
-x_51 = lean_string_dec_eq(x_49, x_50);
-lean_dec(x_49);
-if (x_51 == 0)
-{
-lean_object* x_52; lean_object* x_53;
-x_52 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-x_53 = l_Lean_Parser_ParserState_mkErrorsAt(x_45, x_52, x_44);
-x_8 = x_53;
-goto block_40;
-}
-else
-{
-lean_dec(x_44);
-x_8 = x_45;
-goto block_40;
-}
-}
-else
-{
-lean_object* x_54; lean_object* x_55;
-lean_dec(x_48);
-x_54 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-x_55 = l_Lean_Parser_ParserState_mkErrorsAt(x_45, x_54, x_44);
-x_8 = x_55;
-goto block_40;
-}
-}
-else
-{
-lean_object* x_56; lean_object* x_57;
-lean_dec(x_46);
-x_56 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12;
-x_57 = l_Lean_Parser_ParserState_mkErrorsAt(x_45, x_56, x_44);
-x_8 = x_57;
-goto block_40;
-}
-}
-else
-{
-lean_object* x_58; lean_object* x_59;
-lean_dec(x_43);
-lean_dec(x_1);
-x_58 = l_Lean_Parser_Term_arrayRef___elambda__1___closed__2;
-x_59 = l_Lean_Parser_ParserState_mkTrailingNode(x_42, x_58, x_7);
-lean_dec(x_7);
-return x_59;
-}
-block_40:
-{
-lean_object* x_9;
-x_9 = lean_ctor_get(x_8, 3);
-lean_inc(x_9);
-if (lean_obj_tag(x_9) == 0)
-{
-lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
-x_10 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_11 = lean_unsigned_to_nat(0u);
-lean_inc(x_1);
-x_12 = l_Lean_Parser_categoryParser___elambda__1(x_10, x_11, x_1, x_8);
-x_13 = lean_ctor_get(x_12, 3);
-lean_inc(x_13);
-if (lean_obj_tag(x_13) == 0)
-{
-lean_object* x_14; lean_object* x_15; lean_object* x_16;
-x_14 = lean_ctor_get(x_12, 1);
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_9);
+x_14 = lean_ctor_get(x_13, 3);
lean_inc(x_14);
-x_15 = l_Lean_Parser_tokenFn(x_1, x_12);
-x_16 = lean_ctor_get(x_15, 3);
-lean_inc(x_16);
-if (lean_obj_tag(x_16) == 0)
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_17; lean_object* x_18;
-x_17 = lean_ctor_get(x_15, 0);
-lean_inc(x_17);
-x_18 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_17);
-lean_dec(x_17);
-if (lean_obj_tag(x_18) == 2)
+lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
+x_15 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_16 = lean_unsigned_to_nat(0u);
+lean_inc(x_1);
+x_17 = l_Lean_Parser_categoryParser___elambda__1(x_15, x_16, x_1, x_13);
+x_18 = lean_ctor_get(x_17, 3);
+lean_inc(x_18);
+if (lean_obj_tag(x_18) == 0)
{
-lean_object* x_19; lean_object* x_20; uint8_t x_21;
-x_19 = lean_ctor_get(x_18, 1);
-lean_inc(x_19);
+lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23;
+x_19 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__7;
+x_20 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__16;
+x_21 = l_Lean_Parser_symbolFnAux(x_19, x_20, x_1, x_17);
+x_22 = l_Lean_Parser_Term_arrayRef___elambda__1___closed__2;
+x_23 = l_Lean_Parser_ParserState_mkTrailingNode(x_21, x_22, x_7);
+lean_dec(x_7);
+return x_23;
+}
+else
+{
+lean_object* x_24; lean_object* x_25;
lean_dec(x_18);
-x_20 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__6;
-x_21 = lean_string_dec_eq(x_19, x_20);
-lean_dec(x_19);
-if (x_21 == 0)
-{
-lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25;
-x_22 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_23 = l_Lean_Parser_ParserState_mkErrorsAt(x_15, x_22, x_14);
+lean_dec(x_1);
x_24 = l_Lean_Parser_Term_arrayRef___elambda__1___closed__2;
-x_25 = l_Lean_Parser_ParserState_mkTrailingNode(x_23, x_24, x_7);
+x_25 = l_Lean_Parser_ParserState_mkTrailingNode(x_17, x_24, x_7);
lean_dec(x_7);
return x_25;
}
+}
else
{
lean_object* x_26; lean_object* x_27;
lean_dec(x_14);
+lean_dec(x_1);
x_26 = l_Lean_Parser_Term_arrayRef___elambda__1___closed__2;
-x_27 = l_Lean_Parser_ParserState_mkTrailingNode(x_15, x_26, x_7);
+x_27 = l_Lean_Parser_ParserState_mkTrailingNode(x_13, x_26, x_7);
lean_dec(x_7);
return x_27;
}
}
else
{
-lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31;
-lean_dec(x_18);
-x_28 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_29 = l_Lean_Parser_ParserState_mkErrorsAt(x_15, x_28, x_14);
-x_30 = l_Lean_Parser_Term_arrayRef___elambda__1___closed__2;
-x_31 = l_Lean_Parser_ParserState_mkTrailingNode(x_29, x_30, x_7);
-lean_dec(x_7);
-return x_31;
-}
-}
-else
-{
-lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35;
-lean_dec(x_16);
-x_32 = l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__9;
-x_33 = l_Lean_Parser_ParserState_mkErrorsAt(x_15, x_32, x_14);
-x_34 = l_Lean_Parser_Term_arrayRef___elambda__1___closed__2;
-x_35 = l_Lean_Parser_ParserState_mkTrailingNode(x_33, x_34, x_7);
-lean_dec(x_7);
-return x_35;
-}
-}
-else
-{
-lean_object* x_36; lean_object* x_37;
-lean_dec(x_13);
+lean_object* x_28; lean_object* x_29;
+lean_dec(x_10);
lean_dec(x_1);
-x_36 = l_Lean_Parser_Term_arrayRef___elambda__1___closed__2;
-x_37 = l_Lean_Parser_ParserState_mkTrailingNode(x_12, x_36, x_7);
+x_28 = l_Lean_Parser_Term_arrayRef___elambda__1___closed__2;
+x_29 = l_Lean_Parser_ParserState_mkTrailingNode(x_9, x_28, x_7);
lean_dec(x_7);
-return x_37;
-}
-}
-else
-{
-lean_object* x_38; lean_object* x_39;
-lean_dec(x_9);
-lean_dec(x_1);
-x_38 = l_Lean_Parser_Term_arrayRef___elambda__1___closed__2;
-x_39 = l_Lean_Parser_ParserState_mkTrailingNode(x_8, x_38, x_7);
-lean_dec(x_7);
-return x_39;
-}
+return x_29;
}
}
else
@@ -65455,7 +44751,7 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
x_1 = l_Lean_OpenDecl_Lean_Data_OpenDecl___instance__2___closed__2;
-x_2 = l_Lean_Parser_Term_depArrow___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Term_depArrow___elambda__1___closed__8;
x_3 = lean_unsigned_to_nat(25u);
x_4 = l_Lean_Parser_Term_unicodeInfixR(x_1, x_2, x_3);
return x_4;
@@ -65587,7 +44883,7 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
x_1 = l_Lean_OpenDecl_Lean_Data_OpenDecl___instance__2___closed__2;
-x_2 = l_Lean_Parser_Term_depArrow___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Term_depArrow___elambda__1___closed__8;
x_3 = lean_unsigned_to_nat(25u);
x_4 = lean_alloc_closure((void*)(l_Lean_Parser_Term_unicodeInfixR_formatter___boxed), 8, 3);
lean_closure_set(x_4, 0, x_1);
@@ -65730,174 +45026,6 @@ x_3 = lean_box(x_2);
return x_3;
}
}
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2(uint8_t x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5) {
-_start:
-{
-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;
-x_6 = lean_ctor_get(x_5, 0);
-lean_inc(x_6);
-x_7 = lean_array_get_size(x_6);
-lean_dec(x_6);
-x_8 = lean_ctor_get(x_5, 1);
-lean_inc(x_8);
-x_9 = l_Lean_PrettyPrinter_Parenthesizer_level_parenthesizer___closed__2;
-x_10 = lean_unsigned_to_nat(0u);
-lean_inc(x_4);
-x_11 = l_Lean_Parser_categoryParser___elambda__1(x_9, x_10, x_4, x_5);
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_23; lean_object* x_24;
-lean_dec(x_8);
-lean_dec(x_7);
-x_13 = lean_ctor_get(x_11, 0);
-lean_inc(x_13);
-x_14 = lean_array_get_size(x_13);
-lean_dec(x_13);
-x_15 = lean_ctor_get(x_11, 1);
-lean_inc(x_15);
-lean_inc(x_4);
-x_23 = l_Lean_Parser_tokenFn(x_4, x_11);
-x_24 = lean_ctor_get(x_23, 3);
-lean_inc(x_24);
-if (lean_obj_tag(x_24) == 0)
-{
-lean_object* x_25; lean_object* x_26;
-x_25 = lean_ctor_get(x_23, 0);
-lean_inc(x_25);
-x_26 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_25);
-lean_dec(x_25);
-if (lean_obj_tag(x_26) == 2)
-{
-lean_object* x_27; lean_object* x_28; uint8_t x_29;
-x_27 = lean_ctor_get(x_26, 1);
-lean_inc(x_27);
-lean_dec(x_26);
-x_28 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__1;
-x_29 = lean_string_dec_eq(x_27, x_28);
-lean_dec(x_27);
-if (x_29 == 0)
-{
-lean_object* x_30; lean_object* x_31;
-x_30 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
-lean_inc(x_15);
-x_31 = l_Lean_Parser_ParserState_mkErrorsAt(x_23, x_30, x_15);
-x_16 = x_31;
-goto block_22;
-}
-else
-{
-x_16 = x_23;
-goto block_22;
-}
-}
-else
-{
-lean_object* x_32; lean_object* x_33;
-lean_dec(x_26);
-x_32 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
-lean_inc(x_15);
-x_33 = l_Lean_Parser_ParserState_mkErrorsAt(x_23, x_32, x_15);
-x_16 = x_33;
-goto block_22;
-}
-}
-else
-{
-lean_object* x_34; lean_object* x_35;
-lean_dec(x_24);
-x_34 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4;
-lean_inc(x_15);
-x_35 = l_Lean_Parser_ParserState_mkErrorsAt(x_23, x_34, x_15);
-x_16 = x_35;
-goto block_22;
-}
-block_22:
-{
-lean_object* x_17;
-x_17 = lean_ctor_get(x_16, 3);
-lean_inc(x_17);
-if (lean_obj_tag(x_17) == 0)
-{
-lean_dec(x_15);
-lean_dec(x_14);
-{
-uint8_t _tmp_2 = x_1;
-lean_object* _tmp_4 = x_16;
-x_3 = _tmp_2;
-x_5 = _tmp_4;
-}
-goto _start;
-}
-else
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21;
-lean_dec(x_17);
-lean_dec(x_4);
-x_19 = l_Lean_Parser_ParserState_restore(x_16, x_14, x_15);
-lean_dec(x_14);
-x_20 = l_Lean_nullKind;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_2);
-return x_21;
-}
-}
-}
-else
-{
-lean_object* x_36; uint8_t x_37;
-lean_dec(x_12);
-lean_dec(x_4);
-x_36 = lean_ctor_get(x_11, 1);
-lean_inc(x_36);
-x_37 = lean_nat_dec_lt(x_8, x_36);
-lean_dec(x_36);
-if (x_37 == 0)
-{
-if (x_3 == 0)
-{
-lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41;
-lean_dec(x_8);
-lean_dec(x_7);
-x_38 = lean_box(0);
-x_39 = l_Lean_Parser_ParserState_pushSyntax(x_11, x_38);
-x_40 = l_Lean_nullKind;
-x_41 = l_Lean_Parser_ParserState_mkNode(x_39, x_40, x_2);
-return x_41;
-}
-else
-{
-lean_object* x_42; lean_object* x_43; lean_object* x_44;
-x_42 = l_Lean_Parser_ParserState_restore(x_11, x_7, x_8);
-lean_dec(x_7);
-x_43 = l_Lean_nullKind;
-x_44 = l_Lean_Parser_ParserState_mkNode(x_42, x_43, x_2);
-return x_44;
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_2);
-return x_11;
-}
-}
-}
-}
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__1(uint8_t x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
-x_4 = lean_ctor_get(x_3, 0);
-lean_inc(x_4);
-x_5 = lean_array_get_size(x_4);
-lean_dec(x_4);
-x_6 = 0;
-x_7 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2(x_1, x_5, x_6, x_2, x_3);
-return x_7;
-}
-}
static lean_object* _init_l_Lean_Parser_Term_explicitUniv___elambda__1___closed__1() {
_start:
{
@@ -65964,18 +45092,6 @@ return x_3;
static lean_object* _init_l_Lean_Parser_Term_explicitUniv___elambda__1___closed__8() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__7;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
-}
-}
-static lean_object* _init_l_Lean_Parser_Term_explicitUniv___elambda__1___closed__9() {
-_start:
-{
lean_object* x_1;
x_1 = lean_mk_string("expected preceding identifier");
return x_1;
@@ -65984,27 +45100,27 @@ return x_1;
lean_object* l_Lean_Parser_Term_explicitUniv___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_60; lean_object* x_61; uint8_t x_62;
-x_60 = lean_ctor_get(x_2, 0);
-lean_inc(x_60);
-x_61 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_60);
-lean_dec(x_60);
-x_62 = l_Lean_Parser_Term_isIdent(x_61);
-lean_dec(x_61);
-if (x_62 == 0)
+lean_object* x_3; lean_object* x_32; lean_object* x_33; uint8_t x_34;
+x_32 = lean_ctor_get(x_2, 0);
+lean_inc(x_32);
+x_33 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_32);
+lean_dec(x_32);
+x_34 = l_Lean_Parser_Term_isIdent(x_33);
+lean_dec(x_33);
+if (x_34 == 0)
{
-lean_object* x_63; lean_object* x_64;
-x_63 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__9;
-x_64 = l_Lean_Parser_ParserState_mkUnexpectedError(x_2, x_63);
-x_3 = x_64;
-goto block_59;
+lean_object* x_35; lean_object* x_36;
+x_35 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__8;
+x_36 = l_Lean_Parser_ParserState_mkUnexpectedError(x_2, x_35);
+x_3 = x_36;
+goto block_31;
}
else
{
x_3 = x_2;
-goto block_59;
+goto block_31;
}
-block_59:
+block_31:
{
lean_object* x_4;
x_4 = lean_ctor_get(x_3, 3);
@@ -66025,169 +45141,58 @@ x_10 = lean_ctor_get(x_9, 3);
lean_inc(x_10);
if (lean_obj_tag(x_10) == 0)
{
-lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_45; lean_object* x_46; lean_object* x_47;
+lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
x_11 = lean_ctor_get(x_9, 0);
lean_inc(x_11);
x_12 = lean_array_get_size(x_11);
lean_dec(x_11);
-x_45 = lean_ctor_get(x_9, 1);
-lean_inc(x_45);
+x_13 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__4;
+x_14 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__7;
lean_inc(x_1);
-x_46 = l_Lean_Parser_tokenFn(x_1, x_9);
-x_47 = lean_ctor_get(x_46, 3);
-lean_inc(x_47);
-if (lean_obj_tag(x_47) == 0)
+x_15 = l_Lean_Parser_symbolFnAux(x_13, x_14, x_1, x_9);
+x_16 = lean_ctor_get(x_15, 3);
+lean_inc(x_16);
+if (lean_obj_tag(x_16) == 0)
{
-lean_object* x_48; lean_object* x_49;
-x_48 = lean_ctor_get(x_46, 0);
-lean_inc(x_48);
-x_49 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_48);
-lean_dec(x_48);
-if (lean_obj_tag(x_49) == 2)
-{
-lean_object* x_50; lean_object* x_51; uint8_t x_52;
-x_50 = lean_ctor_get(x_49, 1);
-lean_inc(x_50);
-lean_dec(x_49);
-x_51 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__4;
-x_52 = lean_string_dec_eq(x_50, x_51);
-lean_dec(x_50);
-if (x_52 == 0)
-{
-lean_object* x_53; lean_object* x_54;
-x_53 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__8;
-x_54 = l_Lean_Parser_ParserState_mkErrorsAt(x_46, x_53, x_45);
-x_13 = x_54;
-goto block_44;
-}
-else
-{
-lean_dec(x_45);
-x_13 = x_46;
-goto block_44;
-}
-}
-else
-{
-lean_object* x_55; lean_object* x_56;
-lean_dec(x_49);
-x_55 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__8;
-x_56 = l_Lean_Parser_ParserState_mkErrorsAt(x_46, x_55, x_45);
-x_13 = x_56;
-goto block_44;
-}
-}
-else
-{
-lean_object* x_57; lean_object* x_58;
-lean_dec(x_47);
-x_57 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__8;
-x_58 = l_Lean_Parser_ParserState_mkErrorsAt(x_46, x_57, x_45);
-x_13 = x_58;
-goto block_44;
-}
-block_44:
-{
-lean_object* x_14;
-x_14 = lean_ctor_get(x_13, 3);
-lean_inc(x_14);
-if (lean_obj_tag(x_14) == 0)
-{
-uint8_t x_15; lean_object* x_16; lean_object* x_17;
-x_15 = 0;
+uint8_t x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
+x_17 = 0;
+x_18 = l_Lean_Parser_Level_paren___elambda__1___closed__5;
+x_19 = l_Lean_Parser_Term_tupleTail___elambda__1___closed__6;
lean_inc(x_1);
-x_16 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__1(x_15, x_1, x_13);
-x_17 = lean_ctor_get(x_16, 3);
-lean_inc(x_17);
-if (lean_obj_tag(x_17) == 0)
-{
-lean_object* x_18; lean_object* x_19; lean_object* x_20;
-x_18 = lean_ctor_get(x_16, 1);
-lean_inc(x_18);
-x_19 = l_Lean_Parser_tokenFn(x_1, x_16);
-x_20 = lean_ctor_get(x_19, 3);
-lean_inc(x_20);
-if (lean_obj_tag(x_20) == 0)
-{
-lean_object* x_21; lean_object* x_22;
-x_21 = lean_ctor_get(x_19, 0);
+x_20 = l_Lean_Parser_sepBy1Fn(x_17, x_18, x_19, x_1, x_15);
+x_21 = lean_ctor_get(x_20, 3);
lean_inc(x_21);
-x_22 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_21);
+if (lean_obj_tag(x_21) == 0)
+{
+lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26;
+x_22 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__8;
+x_23 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__17;
+x_24 = l_Lean_Parser_symbolFnAux(x_22, x_23, x_1, x_20);
+x_25 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
+x_26 = l_Lean_Parser_ParserState_mkTrailingNode(x_24, x_25, x_12);
+lean_dec(x_12);
+return x_26;
+}
+else
+{
+lean_object* x_27; lean_object* x_28;
lean_dec(x_21);
-if (lean_obj_tag(x_22) == 2)
-{
-lean_object* x_23; lean_object* x_24; uint8_t x_25;
-x_23 = lean_ctor_get(x_22, 1);
-lean_inc(x_23);
-lean_dec(x_22);
-x_24 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__6;
-x_25 = lean_string_dec_eq(x_23, x_24);
-lean_dec(x_23);
-if (x_25 == 0)
-{
-lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29;
-x_26 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
-x_27 = l_Lean_Parser_ParserState_mkErrorsAt(x_19, x_26, x_18);
-x_28 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
-x_29 = l_Lean_Parser_ParserState_mkTrailingNode(x_27, x_28, x_12);
-lean_dec(x_12);
-return x_29;
-}
-else
-{
-lean_object* x_30; lean_object* x_31;
-lean_dec(x_18);
-x_30 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
-x_31 = l_Lean_Parser_ParserState_mkTrailingNode(x_19, x_30, x_12);
-lean_dec(x_12);
-return x_31;
-}
-}
-else
-{
-lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35;
-lean_dec(x_22);
-x_32 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
-x_33 = l_Lean_Parser_ParserState_mkErrorsAt(x_19, x_32, x_18);
-x_34 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
-x_35 = l_Lean_Parser_ParserState_mkTrailingNode(x_33, x_34, x_12);
-lean_dec(x_12);
-return x_35;
-}
-}
-else
-{
-lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-lean_dec(x_20);
-x_36 = l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__9;
-x_37 = l_Lean_Parser_ParserState_mkErrorsAt(x_19, x_36, x_18);
-x_38 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
-x_39 = l_Lean_Parser_ParserState_mkTrailingNode(x_37, x_38, x_12);
-lean_dec(x_12);
-return x_39;
-}
-}
-else
-{
-lean_object* x_40; lean_object* x_41;
-lean_dec(x_17);
lean_dec(x_1);
-x_40 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
-x_41 = l_Lean_Parser_ParserState_mkTrailingNode(x_16, x_40, x_12);
+x_27 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
+x_28 = l_Lean_Parser_ParserState_mkTrailingNode(x_20, x_27, x_12);
lean_dec(x_12);
-return x_41;
+return x_28;
}
}
else
{
-lean_object* x_42; lean_object* x_43;
-lean_dec(x_14);
+lean_object* x_29; lean_object* x_30;
+lean_dec(x_16);
lean_dec(x_1);
-x_42 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
-x_43 = l_Lean_Parser_ParserState_mkTrailingNode(x_13, x_42, x_12);
+x_29 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2;
+x_30 = l_Lean_Parser_ParserState_mkTrailingNode(x_15, x_29, x_12);
lean_dec(x_12);
-return x_43;
-}
+return x_30;
}
}
else
@@ -66322,28 +45327,6 @@ x_1 = l_Lean_Parser_Term_explicitUniv___closed__10;
return x_1;
}
}
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
-_start:
-{
-uint8_t x_6; uint8_t x_7; lean_object* x_8;
-x_6 = lean_unbox(x_1);
-lean_dec(x_1);
-x_7 = lean_unbox(x_3);
-lean_dec(x_3);
-x_8 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__2(x_6, x_2, x_7, x_4, x_5);
-return x_8;
-}
-}
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-uint8_t x_4; lean_object* x_5;
-x_4 = lean_unbox(x_1);
-lean_dec(x_1);
-x_5 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_explicitUniv___elambda__1___spec__1(x_4, x_2, x_3);
-return x_5;
-}
-}
lean_object* l___regBuiltinParser_Lean_Parser_Term_explicitUniv(lean_object* x_1) {
_start:
{
@@ -66594,27 +45577,27 @@ return x_1;
lean_object* l_Lean_Parser_Term_namedPattern___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_2, 0);
-lean_inc(x_38);
-x_39 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_38);
-lean_dec(x_38);
-x_40 = l_Lean_Parser_Term_isIdent(x_39);
-lean_dec(x_39);
-if (x_40 == 0)
+lean_object* x_3; lean_object* x_25; lean_object* x_26; uint8_t x_27;
+x_25 = lean_ctor_get(x_2, 0);
+lean_inc(x_25);
+x_26 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_25);
+lean_dec(x_25);
+x_27 = l_Lean_Parser_Term_isIdent(x_26);
+lean_dec(x_26);
+if (x_27 == 0)
{
-lean_object* x_41; lean_object* x_42;
-x_41 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__9;
-x_42 = l_Lean_Parser_ParserState_mkUnexpectedError(x_2, x_41);
-x_3 = x_42;
-goto block_37;
+lean_object* x_28; lean_object* x_29;
+x_28 = l_Lean_Parser_Term_explicitUniv___elambda__1___closed__8;
+x_29 = l_Lean_Parser_ParserState_mkUnexpectedError(x_2, x_28);
+x_3 = x_29;
+goto block_24;
}
else
{
x_3 = x_2;
-goto block_37;
+goto block_24;
}
-block_37:
+block_24:
{
lean_object* x_4;
x_4 = lean_ctor_get(x_3, 3);
@@ -66635,93 +45618,37 @@ x_10 = lean_ctor_get(x_9, 3);
lean_inc(x_10);
if (lean_obj_tag(x_10) == 0)
{
-lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_23; lean_object* x_24; lean_object* x_25;
+lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
x_11 = lean_ctor_get(x_9, 0);
lean_inc(x_11);
x_12 = lean_array_get_size(x_11);
lean_dec(x_11);
-x_23 = lean_ctor_get(x_9, 1);
-lean_inc(x_23);
+x_13 = l_Lean_Parser_Term_explicit___elambda__1___closed__6;
+x_14 = l_Lean_Parser_Term_explicit___elambda__1___closed__13;
lean_inc(x_1);
-x_24 = l_Lean_Parser_tokenFn(x_1, x_9);
-x_25 = lean_ctor_get(x_24, 3);
-lean_inc(x_25);
-if (lean_obj_tag(x_25) == 0)
+x_15 = l_Lean_Parser_symbolFnAux(x_13, x_14, x_1, x_9);
+x_16 = lean_ctor_get(x_15, 3);
+lean_inc(x_16);
+if (lean_obj_tag(x_16) == 0)
{
-lean_object* x_26; lean_object* x_27;
-x_26 = lean_ctor_get(x_24, 0);
-lean_inc(x_26);
-x_27 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_26);
-lean_dec(x_26);
-if (lean_obj_tag(x_27) == 2)
-{
-lean_object* x_28; lean_object* x_29; uint8_t x_30;
-x_28 = lean_ctor_get(x_27, 1);
-lean_inc(x_28);
-lean_dec(x_27);
-x_29 = l_Lean_Parser_Term_explicit___elambda__1___closed__6;
-x_30 = lean_string_dec_eq(x_28, x_29);
-lean_dec(x_28);
-if (x_30 == 0)
-{
-lean_object* x_31; lean_object* x_32;
-x_31 = l_Lean_Parser_Term_explicit___elambda__1___closed__9;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_24, x_31, x_23);
-x_13 = x_32;
-goto block_22;
-}
-else
-{
-lean_dec(x_23);
-x_13 = x_24;
-goto block_22;
-}
-}
-else
-{
-lean_object* x_33; lean_object* x_34;
-lean_dec(x_27);
-x_33 = l_Lean_Parser_Term_explicit___elambda__1___closed__9;
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_24, x_33, x_23);
-x_13 = x_34;
-goto block_22;
-}
-}
-else
-{
-lean_object* x_35; lean_object* x_36;
-lean_dec(x_25);
-x_35 = l_Lean_Parser_Term_explicit___elambda__1___closed__9;
-x_36 = l_Lean_Parser_ParserState_mkErrorsAt(x_24, x_35, x_23);
-x_13 = x_36;
-goto block_22;
-}
-block_22:
-{
-lean_object* x_14;
-x_14 = lean_ctor_get(x_13, 3);
-lean_inc(x_14);
-if (lean_obj_tag(x_14) == 0)
-{
-lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
-x_15 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_16 = l_Lean_Parser_maxPrec;
-x_17 = l_Lean_Parser_categoryParser___elambda__1(x_15, x_16, x_1, x_13);
-x_18 = l_Lean_Parser_Term_namedPattern___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkTrailingNode(x_17, x_18, x_12);
-lean_dec(x_12);
-return x_19;
-}
-else
-{
-lean_object* x_20; lean_object* x_21;
-lean_dec(x_14);
-lean_dec(x_1);
+lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
+x_17 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_18 = l_Lean_Parser_maxPrec;
+x_19 = l_Lean_Parser_categoryParser___elambda__1(x_17, x_18, x_1, x_15);
x_20 = l_Lean_Parser_Term_namedPattern___elambda__1___closed__2;
-x_21 = l_Lean_Parser_ParserState_mkTrailingNode(x_13, x_20, x_12);
+x_21 = l_Lean_Parser_ParserState_mkTrailingNode(x_19, x_20, x_12);
lean_dec(x_12);
return x_21;
}
+else
+{
+lean_object* x_22; lean_object* x_23;
+lean_dec(x_16);
+lean_dec(x_1);
+x_22 = l_Lean_Parser_Term_namedPattern___elambda__1___closed__2;
+x_23 = l_Lean_Parser_ParserState_mkTrailingNode(x_15, x_22, x_12);
+lean_dec(x_12);
+return x_23;
}
}
else
@@ -66976,11 +45903,11 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_dollar___elambda__1___closed__5() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_dollar___elambda__1___closed__4;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_dollar___elambda__1___closed__4;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_dollar___elambda__1___closed__6() {
@@ -66988,20 +45915,10 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Term_dollar___elambda__1___closed__5;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
-}
-}
-static lean_object* _init_l_Lean_Parser_Term_dollar___elambda__1___closed__7() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Term_dollar___elambda__1___closed__6;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_2 = l_Lean_Parser_Term_app___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -67015,193 +45932,35 @@ x_5 = lean_ctor_get(x_4, 3);
lean_inc(x_5);
if (lean_obj_tag(x_5) == 0)
{
-lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_50; lean_object* x_51;
+lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10;
x_6 = lean_ctor_get(x_4, 0);
lean_inc(x_6);
-x_7 = lean_ctor_get(x_4, 1);
-lean_inc(x_7);
-x_8 = lean_array_get_size(x_6);
+x_7 = lean_array_get_size(x_6);
lean_dec(x_6);
+x_8 = l_Lean_Parser_Term_dollar___elambda__1___closed__6;
lean_inc(x_1);
-x_50 = l_Lean_Parser_tokenFn(x_1, x_4);
-x_51 = lean_ctor_get(x_50, 3);
-lean_inc(x_51);
-if (lean_obj_tag(x_51) == 0)
-{
-lean_object* x_52; lean_object* x_53;
-x_52 = lean_ctor_get(x_50, 0);
-lean_inc(x_52);
-x_53 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_52);
-lean_dec(x_52);
-if (lean_obj_tag(x_53) == 2)
-{
-lean_object* x_54; lean_object* x_55; uint8_t x_56;
-x_54 = lean_ctor_get(x_53, 1);
-lean_inc(x_54);
-lean_dec(x_53);
-x_55 = l_Lean_Parser_Term_dollar___elambda__1___closed__4;
-x_56 = lean_string_dec_eq(x_54, x_55);
-lean_dec(x_54);
-if (x_56 == 0)
-{
-lean_object* x_57; lean_object* x_58;
-x_57 = l_Lean_Parser_Term_dollar___elambda__1___closed__7;
-lean_inc(x_7);
-x_58 = l_Lean_Parser_ParserState_mkErrorsAt(x_50, x_57, x_7);
-x_9 = x_58;
-goto block_49;
-}
-else
-{
-x_9 = x_50;
-goto block_49;
-}
-}
-else
-{
-lean_object* x_59; lean_object* x_60;
-lean_dec(x_53);
-x_59 = l_Lean_Parser_Term_dollar___elambda__1___closed__7;
-lean_inc(x_7);
-x_60 = l_Lean_Parser_ParserState_mkErrorsAt(x_50, x_59, x_7);
-x_9 = x_60;
-goto block_49;
-}
-}
-else
-{
-lean_object* x_61; lean_object* x_62;
-lean_dec(x_51);
-x_61 = l_Lean_Parser_Term_dollar___elambda__1___closed__7;
-lean_inc(x_7);
-x_62 = l_Lean_Parser_ParserState_mkErrorsAt(x_50, x_61, x_7);
-x_9 = x_62;
-goto block_49;
-}
-block_49:
-{
-lean_object* x_10;
+x_9 = l_Lean_Parser_tryFn(x_8, x_1, x_4);
x_10 = lean_ctor_get(x_9, 3);
lean_inc(x_10);
if (lean_obj_tag(x_10) == 0)
{
-lean_object* x_11; lean_object* x_12; lean_object* x_13;
-x_11 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_app___elambda__1___spec__1___closed__1;
-x_12 = l_Lean_Parser_checkWsBeforeFn(x_11, x_1, x_9);
-x_13 = lean_ctor_get(x_12, 3);
-lean_inc(x_13);
-if (lean_obj_tag(x_13) == 0)
-{
-lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
+lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
+x_11 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_12 = l_Lean_Parser_categoryParser___elambda__1(x_11, x_3, x_1, x_9);
+x_13 = l_Lean_Parser_Term_dollar___elambda__1___closed__2;
+x_14 = l_Lean_Parser_ParserState_mkTrailingNode(x_12, x_13, x_7);
lean_dec(x_7);
-x_14 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_15 = l_Lean_Parser_categoryParser___elambda__1(x_14, x_3, x_1, x_12);
-x_16 = l_Lean_Parser_Term_dollar___elambda__1___closed__2;
-x_17 = l_Lean_Parser_ParserState_mkTrailingNode(x_15, x_16, x_8);
-lean_dec(x_8);
-return x_17;
+return x_14;
}
else
{
-uint8_t x_18;
-lean_dec(x_1);
-x_18 = !lean_is_exclusive(x_12);
-if (x_18 == 0)
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
-x_19 = lean_ctor_get(x_12, 0);
-x_20 = lean_ctor_get(x_12, 3);
-lean_dec(x_20);
-x_21 = lean_ctor_get(x_12, 1);
-lean_dec(x_21);
-x_22 = l_Array_shrink___main___rarg(x_19, x_8);
-lean_ctor_set(x_12, 1, x_7);
-lean_ctor_set(x_12, 0, x_22);
-x_23 = l_Lean_Parser_Term_dollar___elambda__1___closed__2;
-x_24 = l_Lean_Parser_ParserState_mkTrailingNode(x_12, x_23, x_8);
-lean_dec(x_8);
-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;
-x_25 = lean_ctor_get(x_12, 0);
-x_26 = lean_ctor_get(x_12, 2);
-lean_inc(x_26);
-lean_inc(x_25);
-lean_dec(x_12);
-x_27 = l_Array_shrink___main___rarg(x_25, x_8);
-x_28 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_28, 0, x_27);
-lean_ctor_set(x_28, 1, x_7);
-lean_ctor_set(x_28, 2, x_26);
-lean_ctor_set(x_28, 3, x_13);
-x_29 = l_Lean_Parser_Term_dollar___elambda__1___closed__2;
-x_30 = l_Lean_Parser_ParserState_mkTrailingNode(x_28, x_29, x_8);
-lean_dec(x_8);
-return x_30;
-}
-}
-}
-else
-{
-lean_object* x_31;
+lean_object* x_15; lean_object* x_16;
lean_dec(x_10);
-x_31 = lean_ctor_get(x_9, 3);
-lean_inc(x_31);
-if (lean_obj_tag(x_31) == 0)
-{
-lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35;
-lean_dec(x_7);
-x_32 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_33 = l_Lean_Parser_categoryParser___elambda__1(x_32, x_3, x_1, x_9);
-x_34 = l_Lean_Parser_Term_dollar___elambda__1___closed__2;
-x_35 = l_Lean_Parser_ParserState_mkTrailingNode(x_33, x_34, x_8);
-lean_dec(x_8);
-return x_35;
-}
-else
-{
-uint8_t x_36;
lean_dec(x_1);
-x_36 = !lean_is_exclusive(x_9);
-if (x_36 == 0)
-{
-lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42;
-x_37 = lean_ctor_get(x_9, 0);
-x_38 = lean_ctor_get(x_9, 3);
-lean_dec(x_38);
-x_39 = lean_ctor_get(x_9, 1);
-lean_dec(x_39);
-x_40 = l_Array_shrink___main___rarg(x_37, x_8);
-lean_ctor_set(x_9, 1, x_7);
-lean_ctor_set(x_9, 0, x_40);
-x_41 = l_Lean_Parser_Term_dollar___elambda__1___closed__2;
-x_42 = l_Lean_Parser_ParserState_mkTrailingNode(x_9, x_41, x_8);
-lean_dec(x_8);
-return x_42;
-}
-else
-{
-lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48;
-x_43 = lean_ctor_get(x_9, 0);
-x_44 = lean_ctor_get(x_9, 2);
-lean_inc(x_44);
-lean_inc(x_43);
-lean_dec(x_9);
-x_45 = l_Array_shrink___main___rarg(x_43, x_8);
-x_46 = lean_alloc_ctor(0, 4, 0);
-lean_ctor_set(x_46, 0, x_45);
-lean_ctor_set(x_46, 1, x_7);
-lean_ctor_set(x_46, 2, x_44);
-lean_ctor_set(x_46, 3, x_31);
-x_47 = l_Lean_Parser_Term_dollar___elambda__1___closed__2;
-x_48 = l_Lean_Parser_ParserState_mkTrailingNode(x_46, x_47, x_8);
-lean_dec(x_8);
-return x_48;
-}
-}
-}
+x_15 = l_Lean_Parser_Term_dollar___elambda__1___closed__2;
+x_16 = l_Lean_Parser_ParserState_mkTrailingNode(x_9, x_15, x_7);
+lean_dec(x_7);
+return x_16;
}
}
else
@@ -67497,233 +46256,55 @@ x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Term_dollarProj___elambda__1___closed__7() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Term_dollarProj___elambda__1___closed__6;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
-}
-}
lean_object* l_Lean_Parser_Term_dollarProj___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_3 = l_Lean_Parser_fieldIdx___closed__2;
-x_4 = lean_ctor_get(x_3, 1);
-lean_inc(x_4);
-x_5 = lean_unsigned_to_nat(0u);
-x_6 = l_Lean_Parser_checkPrecFn(x_5, x_1, x_2);
-x_7 = lean_ctor_get(x_6, 3);
-lean_inc(x_7);
-if (lean_obj_tag(x_7) == 0)
+lean_object* x_3; lean_object* x_4; lean_object* x_5;
+x_3 = lean_unsigned_to_nat(0u);
+x_4 = l_Lean_Parser_checkPrecFn(x_3, x_1, x_2);
+x_5 = lean_ctor_get(x_4, 3);
+lean_inc(x_5);
+if (lean_obj_tag(x_5) == 0)
{
-lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_45; lean_object* x_46; lean_object* x_47;
-x_8 = lean_ctor_get(x_6, 0);
-lean_inc(x_8);
-x_9 = lean_array_get_size(x_8);
-lean_dec(x_8);
-x_45 = lean_ctor_get(x_6, 1);
-lean_inc(x_45);
+lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
+x_6 = lean_ctor_get(x_4, 0);
+lean_inc(x_6);
+x_7 = lean_array_get_size(x_6);
+lean_dec(x_6);
+x_8 = l_Lean_Parser_Term_dollarProj___elambda__1___closed__4;
+x_9 = l_Lean_Parser_Term_dollarProj___elambda__1___closed__6;
lean_inc(x_1);
-x_46 = l_Lean_Parser_tokenFn(x_1, x_6);
-x_47 = lean_ctor_get(x_46, 3);
-lean_inc(x_47);
-if (lean_obj_tag(x_47) == 0)
-{
-lean_object* x_48; lean_object* x_49;
-x_48 = lean_ctor_get(x_46, 0);
-lean_inc(x_48);
-x_49 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_48);
-lean_dec(x_48);
-if (lean_obj_tag(x_49) == 2)
-{
-lean_object* x_50; lean_object* x_51; uint8_t x_52;
-x_50 = lean_ctor_get(x_49, 1);
-lean_inc(x_50);
-lean_dec(x_49);
-x_51 = l_Lean_Parser_Term_dollarProj___elambda__1___closed__4;
-x_52 = lean_string_dec_eq(x_50, x_51);
-lean_dec(x_50);
-if (x_52 == 0)
-{
-lean_object* x_53; lean_object* x_54;
-x_53 = l_Lean_Parser_Term_dollarProj___elambda__1___closed__7;
-x_54 = l_Lean_Parser_ParserState_mkErrorsAt(x_46, x_53, x_45);
-x_10 = x_54;
-goto block_44;
-}
-else
-{
-lean_dec(x_45);
-x_10 = x_46;
-goto block_44;
-}
-}
-else
-{
-lean_object* x_55; lean_object* x_56;
-lean_dec(x_49);
-x_55 = l_Lean_Parser_Term_dollarProj___elambda__1___closed__7;
-x_56 = l_Lean_Parser_ParserState_mkErrorsAt(x_46, x_55, x_45);
-x_10 = x_56;
-goto block_44;
-}
-}
-else
-{
-lean_object* x_57; lean_object* x_58;
-lean_dec(x_47);
-x_57 = l_Lean_Parser_Term_dollarProj___elambda__1___closed__7;
-x_58 = l_Lean_Parser_ParserState_mkErrorsAt(x_46, x_57, x_45);
-x_10 = x_58;
-goto block_44;
-}
-block_44:
-{
-lean_object* x_11;
+x_10 = l_Lean_Parser_symbolFnAux(x_8, x_9, x_1, x_4);
x_11 = lean_ctor_get(x_10, 3);
lean_inc(x_11);
if (lean_obj_tag(x_11) == 0)
{
-lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_31;
-x_12 = lean_ctor_get(x_10, 0);
-lean_inc(x_12);
-x_13 = lean_array_get_size(x_12);
-lean_dec(x_12);
-x_14 = lean_ctor_get(x_10, 1);
-lean_inc(x_14);
-lean_inc(x_10);
-lean_inc(x_1);
-x_31 = l_Lean_Parser_tryAnti(x_1, x_10);
-if (x_31 == 0)
-{
-lean_object* x_32;
-lean_dec(x_4);
-x_32 = l_Lean_Parser_fieldIdxFn(x_1, x_10);
-x_15 = x_32;
-goto block_30;
-}
-else
-{
-lean_object* x_33; lean_object* x_34;
-lean_inc(x_1);
-x_33 = lean_apply_2(x_4, x_1, x_10);
-x_34 = lean_ctor_get(x_33, 3);
-lean_inc(x_34);
-if (lean_obj_tag(x_34) == 0)
-{
-x_15 = x_33;
-goto block_30;
-}
-else
-{
-lean_object* x_35; lean_object* x_36; uint8_t x_37;
-x_35 = lean_ctor_get(x_34, 0);
-lean_inc(x_35);
-lean_dec(x_34);
-x_36 = lean_ctor_get(x_33, 1);
-lean_inc(x_36);
-x_37 = lean_nat_dec_eq(x_36, x_14);
-lean_dec(x_36);
-if (x_37 == 0)
-{
-lean_dec(x_35);
-x_15 = x_33;
-goto block_30;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40; lean_object* x_41;
-lean_inc(x_14);
-x_38 = l_Lean_Parser_ParserState_restore(x_33, x_13, x_14);
-x_39 = l_Lean_Parser_fieldIdxFn(x_1, x_38);
-x_40 = 1;
-x_41 = l_Lean_Parser_mergeOrElseErrors(x_39, x_35, x_14, x_40);
-x_15 = x_41;
-goto block_30;
-}
-}
-}
-block_30:
-{
-lean_object* x_16;
-x_16 = lean_ctor_get(x_15, 3);
-lean_inc(x_16);
-if (lean_obj_tag(x_16) == 0)
-{
-lean_object* x_17; lean_object* x_18;
-lean_dec(x_14);
-lean_dec(x_13);
-lean_dec(x_1);
-x_17 = l_Lean_Parser_Term_dollarProj___elambda__1___closed__2;
-x_18 = l_Lean_Parser_ParserState_mkTrailingNode(x_15, x_17, x_9);
-lean_dec(x_9);
-return x_18;
-}
-else
-{
-lean_object* x_19; lean_object* x_20; uint8_t x_21;
-x_19 = lean_ctor_get(x_16, 0);
-lean_inc(x_19);
-lean_dec(x_16);
-x_20 = lean_ctor_get(x_15, 1);
-lean_inc(x_20);
-x_21 = lean_nat_dec_eq(x_20, x_14);
-lean_dec(x_20);
-if (x_21 == 0)
-{
-lean_object* x_22; lean_object* x_23;
-lean_dec(x_19);
-lean_dec(x_14);
-lean_dec(x_13);
-lean_dec(x_1);
-x_22 = l_Lean_Parser_Term_dollarProj___elambda__1___closed__2;
-x_23 = l_Lean_Parser_ParserState_mkTrailingNode(x_15, x_22, x_9);
-lean_dec(x_9);
-return x_23;
-}
-else
-{
-lean_object* x_24; lean_object* x_25; uint8_t x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29;
-lean_inc(x_14);
-x_24 = l_Lean_Parser_ParserState_restore(x_15, x_13, x_14);
-lean_dec(x_13);
-x_25 = l_Lean_Parser_Term_ident___elambda__1(x_1, x_24);
-x_26 = 1;
-x_27 = l_Lean_Parser_mergeOrElseErrors(x_25, x_19, x_14, x_26);
-lean_dec(x_14);
-x_28 = l_Lean_Parser_Term_dollarProj___elambda__1___closed__2;
-x_29 = l_Lean_Parser_ParserState_mkTrailingNode(x_27, x_28, x_9);
-lean_dec(x_9);
-return x_29;
-}
-}
-}
-}
-else
-{
-lean_object* x_42; lean_object* x_43;
-lean_dec(x_11);
-lean_dec(x_4);
-lean_dec(x_1);
-x_42 = l_Lean_Parser_Term_dollarProj___elambda__1___closed__2;
-x_43 = l_Lean_Parser_ParserState_mkTrailingNode(x_10, x_42, x_9);
-lean_dec(x_9);
-return x_43;
-}
-}
-}
-else
-{
+lean_object* x_12; lean_object* x_13; uint8_t x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
+x_12 = l_Lean_Parser_fieldIdx___closed__6;
+x_13 = l_Lean_Parser_Term_ident___closed__1;
+x_14 = 1;
+x_15 = l_Lean_Parser_orelseFnCore(x_12, x_13, x_14, x_1, x_10);
+x_16 = l_Lean_Parser_Term_dollarProj___elambda__1___closed__2;
+x_17 = l_Lean_Parser_ParserState_mkTrailingNode(x_15, x_16, x_7);
lean_dec(x_7);
-lean_dec(x_4);
+return x_17;
+}
+else
+{
+lean_object* x_18; lean_object* x_19;
+lean_dec(x_11);
lean_dec(x_1);
-return x_6;
+x_18 = l_Lean_Parser_Term_dollarProj___elambda__1___closed__2;
+x_19 = l_Lean_Parser_ParserState_mkTrailingNode(x_10, x_18, x_7);
+lean_dec(x_7);
+return x_19;
+}
+}
+else
+{
+lean_dec(x_5);
+lean_dec(x_1);
+return x_4;
}
}
}
@@ -67889,298 +46470,6 @@ x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1);
return x_5;
}
}
-static lean_object* _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_where___elambda__1___spec__2___closed__1() {
-_start:
-{
-lean_object* x_1;
-x_1 = lean_mk_string(" where ");
-return x_1;
-}
-}
-static lean_object* _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_where___elambda__1___spec__2___closed__2() {
-_start:
-{
-lean_object* x_1; lean_object* x_2;
-x_1 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_where___elambda__1___spec__2___closed__1;
-x_2 = l_String_trim(x_1);
-return x_2;
-}
-}
-static lean_object* _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_where___elambda__1___spec__2___closed__3() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_where___elambda__1___spec__2___closed__2;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
-}
-}
-static lean_object* _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_where___elambda__1___spec__2___closed__4() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_where___elambda__1___spec__2___closed__3;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
-}
-}
-static lean_object* _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_where___elambda__1___spec__2___closed__5() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_where___elambda__1___spec__2___closed__4;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
-}
-}
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_where___elambda__1___spec__2(uint8_t x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5) {
-_start:
-{
-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;
-x_6 = l_Lean_Parser_Term_letDecl;
-x_7 = lean_ctor_get(x_6, 1);
-lean_inc(x_7);
-x_8 = lean_ctor_get(x_5, 0);
-lean_inc(x_8);
-x_9 = lean_array_get_size(x_8);
-lean_dec(x_8);
-x_10 = lean_ctor_get(x_5, 1);
-lean_inc(x_10);
-lean_inc(x_4);
-x_11 = lean_apply_2(x_7, x_4, x_5);
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_24; lean_object* x_41; lean_object* x_42;
-lean_dec(x_10);
-lean_dec(x_9);
-x_13 = lean_ctor_get(x_11, 0);
-lean_inc(x_13);
-x_14 = lean_array_get_size(x_13);
-lean_dec(x_13);
-x_15 = lean_ctor_get(x_11, 1);
-lean_inc(x_15);
-lean_inc(x_4);
-x_41 = l_Lean_Parser_tokenFn(x_4, x_11);
-x_42 = lean_ctor_get(x_41, 3);
-lean_inc(x_42);
-if (lean_obj_tag(x_42) == 0)
-{
-lean_object* x_43; lean_object* x_44;
-x_43 = lean_ctor_get(x_41, 0);
-lean_inc(x_43);
-x_44 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_43);
-lean_dec(x_43);
-if (lean_obj_tag(x_44) == 2)
-{
-lean_object* x_45; lean_object* x_46; uint8_t x_47;
-x_45 = lean_ctor_get(x_44, 1);
-lean_inc(x_45);
-lean_dec(x_44);
-x_46 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_seq1___elambda__1___spec__2___closed__2;
-x_47 = lean_string_dec_eq(x_45, x_46);
-lean_dec(x_45);
-if (x_47 == 0)
-{
-lean_object* x_48; lean_object* x_49;
-x_48 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_seq1___elambda__1___spec__2___closed__5;
-lean_inc(x_15);
-x_49 = l_Lean_Parser_ParserState_mkErrorsAt(x_41, x_48, x_15);
-x_24 = x_49;
-goto block_40;
-}
-else
-{
-x_24 = x_41;
-goto block_40;
-}
-}
-else
-{
-lean_object* x_50; lean_object* x_51;
-lean_dec(x_44);
-x_50 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_seq1___elambda__1___spec__2___closed__5;
-lean_inc(x_15);
-x_51 = l_Lean_Parser_ParserState_mkErrorsAt(x_41, x_50, x_15);
-x_24 = x_51;
-goto block_40;
-}
-}
-else
-{
-lean_object* x_52; lean_object* x_53;
-lean_dec(x_42);
-x_52 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_seq1___elambda__1___spec__2___closed__5;
-lean_inc(x_15);
-x_53 = l_Lean_Parser_ParserState_mkErrorsAt(x_41, x_52, x_15);
-x_24 = x_53;
-goto block_40;
-}
-block_23:
-{
-lean_object* x_17; lean_object* x_18; lean_object* x_19;
-x_17 = l_Lean_nullKind;
-lean_inc(x_14);
-x_18 = l_Lean_Parser_ParserState_mkNode(x_16, x_17, x_14);
-x_19 = lean_ctor_get(x_18, 3);
-lean_inc(x_19);
-if (lean_obj_tag(x_19) == 0)
-{
-lean_dec(x_15);
-lean_dec(x_14);
-{
-uint8_t _tmp_2 = x_1;
-lean_object* _tmp_4 = x_18;
-x_3 = _tmp_2;
-x_5 = _tmp_4;
-}
-goto _start;
-}
-else
-{
-lean_object* x_21; lean_object* x_22;
-lean_dec(x_19);
-lean_dec(x_4);
-x_21 = l_Lean_Parser_ParserState_restore(x_18, x_14, x_15);
-lean_dec(x_14);
-x_22 = l_Lean_Parser_ParserState_mkNode(x_21, x_17, x_2);
-return x_22;
-}
-}
-block_40:
-{
-lean_object* x_25;
-x_25 = lean_ctor_get(x_24, 3);
-lean_inc(x_25);
-if (lean_obj_tag(x_25) == 0)
-{
-lean_object* x_26; lean_object* x_27; lean_object* x_28;
-x_26 = lean_ctor_get(x_24, 1);
-lean_inc(x_26);
-lean_inc(x_4);
-x_27 = l_Lean_Parser_tokenFn(x_4, x_24);
-x_28 = lean_ctor_get(x_27, 3);
-lean_inc(x_28);
-if (lean_obj_tag(x_28) == 0)
-{
-lean_object* x_29; lean_object* x_30;
-x_29 = lean_ctor_get(x_27, 0);
-lean_inc(x_29);
-x_30 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_29);
-lean_dec(x_29);
-if (lean_obj_tag(x_30) == 2)
-{
-lean_object* x_31; lean_object* x_32; uint8_t x_33;
-x_31 = lean_ctor_get(x_30, 1);
-lean_inc(x_31);
-lean_dec(x_30);
-x_32 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_where___elambda__1___spec__2___closed__2;
-x_33 = lean_string_dec_eq(x_31, x_32);
-lean_dec(x_31);
-if (x_33 == 0)
-{
-lean_object* x_34; lean_object* x_35;
-x_34 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_where___elambda__1___spec__2___closed__5;
-x_35 = l_Lean_Parser_ParserState_mkErrorsAt(x_27, x_34, x_26);
-x_16 = x_35;
-goto block_23;
-}
-else
-{
-lean_dec(x_26);
-x_16 = x_27;
-goto block_23;
-}
-}
-else
-{
-lean_object* x_36; lean_object* x_37;
-lean_dec(x_30);
-x_36 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_where___elambda__1___spec__2___closed__5;
-x_37 = l_Lean_Parser_ParserState_mkErrorsAt(x_27, x_36, x_26);
-x_16 = x_37;
-goto block_23;
-}
-}
-else
-{
-lean_object* x_38; lean_object* x_39;
-lean_dec(x_28);
-x_38 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_where___elambda__1___spec__2___closed__5;
-x_39 = l_Lean_Parser_ParserState_mkErrorsAt(x_27, x_38, x_26);
-x_16 = x_39;
-goto block_23;
-}
-}
-else
-{
-lean_dec(x_25);
-x_16 = x_24;
-goto block_23;
-}
-}
-}
-else
-{
-lean_object* x_54; uint8_t x_55;
-lean_dec(x_12);
-lean_dec(x_4);
-x_54 = lean_ctor_get(x_11, 1);
-lean_inc(x_54);
-x_55 = lean_nat_dec_lt(x_10, x_54);
-lean_dec(x_54);
-if (x_55 == 0)
-{
-if (x_3 == 0)
-{
-lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59;
-lean_dec(x_10);
-lean_dec(x_9);
-x_56 = lean_box(0);
-x_57 = l_Lean_Parser_ParserState_pushSyntax(x_11, x_56);
-x_58 = l_Lean_nullKind;
-x_59 = l_Lean_Parser_ParserState_mkNode(x_57, x_58, x_2);
-return x_59;
-}
-else
-{
-lean_object* x_60; lean_object* x_61; lean_object* x_62;
-x_60 = l_Lean_Parser_ParserState_restore(x_11, x_9, x_10);
-lean_dec(x_9);
-x_61 = l_Lean_nullKind;
-x_62 = l_Lean_Parser_ParserState_mkNode(x_60, x_61, x_2);
-return x_62;
-}
-}
-else
-{
-lean_dec(x_10);
-lean_dec(x_9);
-lean_dec(x_2);
-return x_11;
-}
-}
-}
-}
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_where___elambda__1___spec__1(uint8_t x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
-x_4 = lean_ctor_get(x_3, 0);
-lean_inc(x_4);
-x_5 = lean_array_get_size(x_4);
-lean_dec(x_4);
-x_6 = 0;
-x_7 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_where___elambda__1___spec__2(x_1, x_5, x_6, x_2, x_3);
-return x_7;
-}
-}
static lean_object* _init_l_Lean_Parser_Term_where___elambda__1___closed__1() {
_start:
{
@@ -68199,109 +46488,130 @@ x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
}
}
+static lean_object* _init_l_Lean_Parser_Term_where___elambda__1___closed__3() {
+_start:
+{
+lean_object* x_1;
+x_1 = lean_mk_string(" where ");
+return x_1;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_where___elambda__1___closed__4() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_where___elambda__1___closed__3;
+x_2 = l_String_trim(x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_where___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_where___elambda__1___closed__4;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_where___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_seq1___elambda__1___closed__3;
+x_2 = l_Lean_Parser_Term_where___elambda__1___closed__5;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_where___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_nullKind;
+x_2 = l_Lean_Parser_Term_where___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_where___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_where___elambda__1___closed__4;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_where___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_where___elambda__1___closed__8;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Term_where___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-lean_object* x_3; lean_object* x_4; lean_object* x_5;
-x_3 = lean_unsigned_to_nat(0u);
-x_4 = l_Lean_Parser_checkPrecFn(x_3, x_1, x_2);
-x_5 = lean_ctor_get(x_4, 3);
-lean_inc(x_5);
-if (lean_obj_tag(x_5) == 0)
+lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
+x_3 = l_Lean_Parser_Term_letDecl;
+x_4 = lean_ctor_get(x_3, 1);
+lean_inc(x_4);
+x_5 = lean_unsigned_to_nat(0u);
+x_6 = l_Lean_Parser_checkPrecFn(x_5, x_1, x_2);
+x_7 = lean_ctor_get(x_6, 3);
+lean_inc(x_7);
+if (lean_obj_tag(x_7) == 0)
{
-lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_17; lean_object* x_18; lean_object* x_19;
-x_6 = lean_ctor_get(x_4, 0);
-lean_inc(x_6);
-x_7 = lean_array_get_size(x_6);
-lean_dec(x_6);
-x_17 = lean_ctor_get(x_4, 1);
-lean_inc(x_17);
+lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
+x_8 = lean_ctor_get(x_6, 0);
+lean_inc(x_8);
+x_9 = lean_array_get_size(x_8);
+lean_dec(x_8);
+x_10 = l_Lean_Parser_Term_where___elambda__1___closed__4;
+x_11 = l_Lean_Parser_Term_where___elambda__1___closed__9;
lean_inc(x_1);
-x_18 = l_Lean_Parser_tokenFn(x_1, x_4);
-x_19 = lean_ctor_get(x_18, 3);
-lean_inc(x_19);
-if (lean_obj_tag(x_19) == 0)
+x_12 = l_Lean_Parser_symbolFnAux(x_10, x_11, x_1, x_6);
+x_13 = lean_ctor_get(x_12, 3);
+lean_inc(x_13);
+if (lean_obj_tag(x_13) == 0)
{
-lean_object* x_20; lean_object* x_21;
-x_20 = lean_ctor_get(x_18, 0);
-lean_inc(x_20);
-x_21 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_20);
-lean_dec(x_20);
-if (lean_obj_tag(x_21) == 2)
-{
-lean_object* x_22; lean_object* x_23; uint8_t x_24;
-x_22 = lean_ctor_get(x_21, 1);
-lean_inc(x_22);
-lean_dec(x_21);
-x_23 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_where___elambda__1___spec__2___closed__2;
-x_24 = lean_string_dec_eq(x_22, x_23);
-lean_dec(x_22);
-if (x_24 == 0)
-{
-lean_object* x_25; lean_object* x_26;
-x_25 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_where___elambda__1___spec__2___closed__5;
-x_26 = l_Lean_Parser_ParserState_mkErrorsAt(x_18, x_25, x_17);
-x_8 = x_26;
-goto block_16;
-}
-else
-{
-lean_dec(x_17);
-x_8 = x_18;
-goto block_16;
-}
-}
-else
-{
-lean_object* x_27; lean_object* x_28;
-lean_dec(x_21);
-x_27 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_where___elambda__1___spec__2___closed__5;
-x_28 = l_Lean_Parser_ParserState_mkErrorsAt(x_18, x_27, x_17);
-x_8 = x_28;
-goto block_16;
-}
-}
-else
-{
-lean_object* x_29; lean_object* x_30;
-lean_dec(x_19);
-x_29 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_where___elambda__1___spec__2___closed__5;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_18, x_29, x_17);
-x_8 = x_30;
-goto block_16;
-}
-block_16:
-{
-lean_object* x_9;
-x_9 = lean_ctor_get(x_8, 3);
-lean_inc(x_9);
-if (lean_obj_tag(x_9) == 0)
-{
-uint8_t x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
-x_10 = 0;
-x_11 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_where___elambda__1___spec__1(x_10, x_1, x_8);
-x_12 = l_Lean_Parser_Term_where___elambda__1___closed__2;
-x_13 = l_Lean_Parser_ParserState_mkTrailingNode(x_11, x_12, x_7);
-lean_dec(x_7);
-return x_13;
-}
-else
-{
-lean_object* x_14; lean_object* x_15;
+uint8_t x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
+x_14 = 0;
+x_15 = l_Lean_Parser_Term_where___elambda__1___closed__7;
+x_16 = l_Lean_Parser_sepBy1Fn(x_14, x_4, x_15, x_1, x_12);
+x_17 = l_Lean_Parser_Term_where___elambda__1___closed__2;
+x_18 = l_Lean_Parser_ParserState_mkTrailingNode(x_16, x_17, x_9);
lean_dec(x_9);
-lean_dec(x_1);
-x_14 = l_Lean_Parser_Term_where___elambda__1___closed__2;
-x_15 = l_Lean_Parser_ParserState_mkTrailingNode(x_8, x_14, x_7);
-lean_dec(x_7);
-return x_15;
+return x_18;
}
+else
+{
+lean_object* x_19; lean_object* x_20;
+lean_dec(x_13);
+lean_dec(x_4);
+lean_dec(x_1);
+x_19 = l_Lean_Parser_Term_where___elambda__1___closed__2;
+x_20 = l_Lean_Parser_ParserState_mkTrailingNode(x_12, x_19, x_9);
+lean_dec(x_9);
+return x_20;
}
}
else
{
-lean_dec(x_5);
+lean_dec(x_7);
+lean_dec(x_4);
lean_dec(x_1);
-return x_4;
+return x_6;
}
}
}
@@ -68309,7 +46619,7 @@ static lean_object* _init_l_Lean_Parser_Term_where___closed__1() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_where___elambda__1___spec__2___closed__2;
+x_1 = l_Lean_Parser_Term_where___elambda__1___closed__4;
x_2 = l_Lean_Parser_symbolInfo(x_1);
return x_2;
}
@@ -68404,28 +46714,6 @@ x_1 = l_Lean_Parser_Term_where___closed__9;
return x_1;
}
}
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_where___elambda__1___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
-_start:
-{
-uint8_t x_6; uint8_t x_7; lean_object* x_8;
-x_6 = lean_unbox(x_1);
-lean_dec(x_1);
-x_7 = lean_unbox(x_3);
-lean_dec(x_3);
-x_8 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_where___elambda__1___spec__2(x_6, x_2, x_7, x_4, x_5);
-return x_8;
-}
-}
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_where___elambda__1___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-uint8_t x_4; lean_object* x_5;
-x_4 = lean_unbox(x_1);
-lean_dec(x_1);
-x_5 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_where___elambda__1___spec__1(x_4, x_2, x_3);
-return x_5;
-}
-}
lean_object* l___regBuiltinParser_Lean_Parser_Term_where(lean_object* x_1) {
_start:
{
@@ -68443,7 +46731,7 @@ static lean_object* _init_l_Lean_Parser_Term_where_formatter___closed__1() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_where___elambda__1___spec__2___closed__1;
+x_1 = l_Lean_Parser_Term_where___elambda__1___closed__3;
x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_symbol_formatter___boxed), 6, 1);
lean_closure_set(x_2, 0, x_1);
return x_2;
@@ -68453,7 +46741,7 @@ static lean_object* _init_l_Lean_Parser_Term_where_formatter___closed__2() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_seq1___elambda__1___spec__2___closed__1;
+x_1 = l_Lean_Parser_Tactic_seq1___elambda__1___closed__1;
x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_symbol_formatter___boxed), 6, 1);
lean_closure_set(x_2, 0, x_1);
return x_2;
@@ -72752,223 +51040,6 @@ x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1);
return x_5;
}
}
-static lean_object* _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_subst___elambda__1___spec__2___closed__1() {
-_start:
-{
-lean_object* x_1;
-x_1 = lean_mk_string(" ▸ ");
-return x_1;
-}
-}
-static lean_object* _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_subst___elambda__1___spec__2___closed__2() {
-_start:
-{
-lean_object* x_1; lean_object* x_2;
-x_1 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_subst___elambda__1___spec__2___closed__1;
-x_2 = l_String_trim(x_1);
-return x_2;
-}
-}
-static lean_object* _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_subst___elambda__1___spec__2___closed__3() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_subst___elambda__1___spec__2___closed__2;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
-}
-}
-static lean_object* _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_subst___elambda__1___spec__2___closed__4() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_subst___elambda__1___spec__2___closed__3;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
-}
-}
-static lean_object* _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_subst___elambda__1___spec__2___closed__5() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_subst___elambda__1___spec__2___closed__4;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
-}
-}
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_subst___elambda__1___spec__2(uint8_t x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5) {
-_start:
-{
-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;
-x_6 = lean_ctor_get(x_5, 0);
-lean_inc(x_6);
-x_7 = lean_array_get_size(x_6);
-lean_dec(x_6);
-x_8 = lean_ctor_get(x_5, 1);
-lean_inc(x_8);
-x_9 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_10 = lean_unsigned_to_nat(75u);
-lean_inc(x_4);
-x_11 = l_Lean_Parser_categoryParser___elambda__1(x_9, x_10, x_4, x_5);
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_23; lean_object* x_24;
-lean_dec(x_8);
-lean_dec(x_7);
-x_13 = lean_ctor_get(x_11, 0);
-lean_inc(x_13);
-x_14 = lean_array_get_size(x_13);
-lean_dec(x_13);
-x_15 = lean_ctor_get(x_11, 1);
-lean_inc(x_15);
-lean_inc(x_4);
-x_23 = l_Lean_Parser_tokenFn(x_4, x_11);
-x_24 = lean_ctor_get(x_23, 3);
-lean_inc(x_24);
-if (lean_obj_tag(x_24) == 0)
-{
-lean_object* x_25; lean_object* x_26;
-x_25 = lean_ctor_get(x_23, 0);
-lean_inc(x_25);
-x_26 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_25);
-lean_dec(x_25);
-if (lean_obj_tag(x_26) == 2)
-{
-lean_object* x_27; lean_object* x_28; uint8_t x_29;
-x_27 = lean_ctor_get(x_26, 1);
-lean_inc(x_27);
-lean_dec(x_26);
-x_28 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_subst___elambda__1___spec__2___closed__2;
-x_29 = lean_string_dec_eq(x_27, x_28);
-lean_dec(x_27);
-if (x_29 == 0)
-{
-lean_object* x_30; lean_object* x_31;
-x_30 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_subst___elambda__1___spec__2___closed__5;
-lean_inc(x_15);
-x_31 = l_Lean_Parser_ParserState_mkErrorsAt(x_23, x_30, x_15);
-x_16 = x_31;
-goto block_22;
-}
-else
-{
-x_16 = x_23;
-goto block_22;
-}
-}
-else
-{
-lean_object* x_32; lean_object* x_33;
-lean_dec(x_26);
-x_32 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_subst___elambda__1___spec__2___closed__5;
-lean_inc(x_15);
-x_33 = l_Lean_Parser_ParserState_mkErrorsAt(x_23, x_32, x_15);
-x_16 = x_33;
-goto block_22;
-}
-}
-else
-{
-lean_object* x_34; lean_object* x_35;
-lean_dec(x_24);
-x_34 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_subst___elambda__1___spec__2___closed__5;
-lean_inc(x_15);
-x_35 = l_Lean_Parser_ParserState_mkErrorsAt(x_23, x_34, x_15);
-x_16 = x_35;
-goto block_22;
-}
-block_22:
-{
-lean_object* x_17;
-x_17 = lean_ctor_get(x_16, 3);
-lean_inc(x_17);
-if (lean_obj_tag(x_17) == 0)
-{
-lean_dec(x_15);
-lean_dec(x_14);
-{
-uint8_t _tmp_2 = x_1;
-lean_object* _tmp_4 = x_16;
-x_3 = _tmp_2;
-x_5 = _tmp_4;
-}
-goto _start;
-}
-else
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21;
-lean_dec(x_17);
-lean_dec(x_4);
-x_19 = l_Lean_Parser_ParserState_restore(x_16, x_14, x_15);
-lean_dec(x_14);
-x_20 = l_Lean_nullKind;
-x_21 = l_Lean_Parser_ParserState_mkNode(x_19, x_20, x_2);
-return x_21;
-}
-}
-}
-else
-{
-lean_object* x_36; uint8_t x_37;
-lean_dec(x_12);
-lean_dec(x_4);
-x_36 = lean_ctor_get(x_11, 1);
-lean_inc(x_36);
-x_37 = lean_nat_dec_lt(x_8, x_36);
-lean_dec(x_36);
-if (x_37 == 0)
-{
-if (x_3 == 0)
-{
-lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41;
-lean_dec(x_8);
-lean_dec(x_7);
-x_38 = lean_box(0);
-x_39 = l_Lean_Parser_ParserState_pushSyntax(x_11, x_38);
-x_40 = l_Lean_nullKind;
-x_41 = l_Lean_Parser_ParserState_mkNode(x_39, x_40, x_2);
-return x_41;
-}
-else
-{
-lean_object* x_42; lean_object* x_43; lean_object* x_44;
-x_42 = l_Lean_Parser_ParserState_restore(x_11, x_7, x_8);
-lean_dec(x_7);
-x_43 = l_Lean_nullKind;
-x_44 = l_Lean_Parser_ParserState_mkNode(x_42, x_43, x_2);
-return x_44;
-}
-}
-else
-{
-lean_dec(x_8);
-lean_dec(x_7);
-lean_dec(x_2);
-return x_11;
-}
-}
-}
-}
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_subst___elambda__1___spec__1(uint8_t x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7;
-x_4 = lean_ctor_get(x_3, 0);
-lean_inc(x_4);
-x_5 = lean_array_get_size(x_4);
-lean_dec(x_4);
-x_6 = 0;
-x_7 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_subst___elambda__1___spec__2(x_1, x_5, x_6, x_2, x_3);
-return x_7;
-}
-}
static lean_object* _init_l_Lean_Parser_Term_subst___elambda__1___closed__1() {
_start:
{
@@ -72987,6 +51058,65 @@ x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
}
}
+static lean_object* _init_l_Lean_Parser_Term_subst___elambda__1___closed__3() {
+_start:
+{
+lean_object* x_1;
+x_1 = lean_mk_string(" ▸ ");
+return x_1;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_subst___elambda__1___closed__4() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_subst___elambda__1___closed__3;
+x_2 = l_String_trim(x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_subst___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_subst___elambda__1___closed__4;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_subst___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_2 = lean_unsigned_to_nat(75u);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_categoryParser___elambda__1), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_subst___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_subst___elambda__1___closed__4;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_subst___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_subst___elambda__1___closed__7;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Term_subst___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -72997,92 +51127,38 @@ x_5 = lean_ctor_get(x_4, 3);
lean_inc(x_5);
if (lean_obj_tag(x_5) == 0)
{
-lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_17; lean_object* x_18; lean_object* x_19;
+lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
x_6 = lean_ctor_get(x_4, 0);
lean_inc(x_6);
x_7 = lean_array_get_size(x_6);
lean_dec(x_6);
-x_17 = lean_ctor_get(x_4, 1);
-lean_inc(x_17);
+x_8 = l_Lean_Parser_Term_subst___elambda__1___closed__4;
+x_9 = l_Lean_Parser_Term_subst___elambda__1___closed__8;
lean_inc(x_1);
-x_18 = l_Lean_Parser_tokenFn(x_1, x_4);
-x_19 = lean_ctor_get(x_18, 3);
-lean_inc(x_19);
-if (lean_obj_tag(x_19) == 0)
+x_10 = l_Lean_Parser_symbolFnAux(x_8, x_9, x_1, x_4);
+x_11 = lean_ctor_get(x_10, 3);
+lean_inc(x_11);
+if (lean_obj_tag(x_11) == 0)
{
-lean_object* x_20; lean_object* x_21;
-x_20 = lean_ctor_get(x_18, 0);
-lean_inc(x_20);
-x_21 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_20);
-lean_dec(x_20);
-if (lean_obj_tag(x_21) == 2)
-{
-lean_object* x_22; lean_object* x_23; uint8_t x_24;
-x_22 = lean_ctor_get(x_21, 1);
-lean_inc(x_22);
-lean_dec(x_21);
-x_23 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_subst___elambda__1___spec__2___closed__2;
-x_24 = lean_string_dec_eq(x_22, x_23);
-lean_dec(x_22);
-if (x_24 == 0)
-{
-lean_object* x_25; lean_object* x_26;
-x_25 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_subst___elambda__1___spec__2___closed__5;
-x_26 = l_Lean_Parser_ParserState_mkErrorsAt(x_18, x_25, x_17);
-x_8 = x_26;
-goto block_16;
-}
-else
-{
-lean_dec(x_17);
-x_8 = x_18;
-goto block_16;
-}
-}
-else
-{
-lean_object* x_27; lean_object* x_28;
-lean_dec(x_21);
-x_27 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_subst___elambda__1___spec__2___closed__5;
-x_28 = l_Lean_Parser_ParserState_mkErrorsAt(x_18, x_27, x_17);
-x_8 = x_28;
-goto block_16;
-}
-}
-else
-{
-lean_object* x_29; lean_object* x_30;
-lean_dec(x_19);
-x_29 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_subst___elambda__1___spec__2___closed__5;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_18, x_29, x_17);
-x_8 = x_30;
-goto block_16;
-}
-block_16:
-{
-lean_object* x_9;
-x_9 = lean_ctor_get(x_8, 3);
-lean_inc(x_9);
-if (lean_obj_tag(x_9) == 0)
-{
-uint8_t x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
-x_10 = 0;
-x_11 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_subst___elambda__1___spec__1(x_10, x_1, x_8);
-x_12 = l_Lean_Parser_Term_subst___elambda__1___closed__2;
-x_13 = l_Lean_Parser_ParserState_mkTrailingNode(x_11, x_12, x_7);
+uint8_t x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
+x_12 = 0;
+x_13 = l_Lean_Parser_Term_subst___elambda__1___closed__6;
+x_14 = l_Lean_Parser_Term_subst___elambda__1___closed__5;
+x_15 = l_Lean_Parser_sepBy1Fn(x_12, x_13, x_14, x_1, x_10);
+x_16 = l_Lean_Parser_Term_subst___elambda__1___closed__2;
+x_17 = l_Lean_Parser_ParserState_mkTrailingNode(x_15, x_16, x_7);
lean_dec(x_7);
-return x_13;
+return x_17;
}
else
{
-lean_object* x_14; lean_object* x_15;
-lean_dec(x_9);
+lean_object* x_18; lean_object* x_19;
+lean_dec(x_11);
lean_dec(x_1);
-x_14 = l_Lean_Parser_Term_subst___elambda__1___closed__2;
-x_15 = l_Lean_Parser_ParserState_mkTrailingNode(x_8, x_14, x_7);
+x_18 = l_Lean_Parser_Term_subst___elambda__1___closed__2;
+x_19 = l_Lean_Parser_ParserState_mkTrailingNode(x_10, x_18, x_7);
lean_dec(x_7);
-return x_15;
-}
+return x_19;
}
}
else
@@ -73097,7 +51173,7 @@ static lean_object* _init_l_Lean_Parser_Term_subst___closed__1() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_subst___elambda__1___spec__2___closed__2;
+x_1 = l_Lean_Parser_Term_subst___elambda__1___closed__4;
x_2 = l_Lean_Parser_symbolInfo(x_1);
return x_2;
}
@@ -73182,28 +51258,6 @@ x_1 = l_Lean_Parser_Term_subst___closed__8;
return x_1;
}
}
-lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_subst___elambda__1___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
-_start:
-{
-uint8_t x_6; uint8_t x_7; lean_object* x_8;
-x_6 = lean_unbox(x_1);
-lean_dec(x_1);
-x_7 = lean_unbox(x_3);
-lean_dec(x_3);
-x_8 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_subst___elambda__1___spec__2(x_6, x_2, x_7, x_4, x_5);
-return x_8;
-}
-}
-lean_object* l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_subst___elambda__1___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-uint8_t x_4; lean_object* x_5;
-x_4 = lean_unbox(x_1);
-lean_dec(x_1);
-x_5 = l_Lean_Parser_sepBy1Fn___at_Lean_Parser_Term_subst___elambda__1___spec__1(x_4, x_2, x_3);
-return x_5;
-}
-}
lean_object* l___regBuiltinParser_Lean_Parser_Term_subst(lean_object* x_1) {
_start:
{
@@ -73221,7 +51275,7 @@ static lean_object* _init_l_Lean_Parser_Term_subst_formatter___closed__1() {
_start:
{
lean_object* x_1; lean_object* x_2;
-x_1 = l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_subst___elambda__1___spec__2___closed__1;
+x_1 = l_Lean_Parser_Term_subst___elambda__1___closed__3;
x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_symbol_formatter___boxed), 6, 1);
lean_closure_set(x_2, 0, x_1);
return x_2;
@@ -77009,6 +55063,74 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__8() {
_start:
{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__7;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_funBinder___closed__3;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_toggleInsideQuotFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__9;
+x_2 = l_Lean_Parser_Level_paren___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__3;
+x_2 = l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__11;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__13() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__12;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__14() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Char_HasRepr___closed__1;
x_2 = l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__7;
@@ -77016,28 +55138,16 @@ x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__9() {
+static lean_object* _init_l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__15() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__8;
+x_1 = l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__14;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__10() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__9;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
-}
-}
lean_object* l_Lean_Parser_Term_funBinder_quot___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -77058,163 +55168,53 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_43; lean_object* x_44; lean_object* x_45;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_43 = lean_ctor_get(x_7, 1);
-lean_inc(x_43);
+x_11 = l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__7;
+x_12 = l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__15;
lean_inc(x_1);
-x_44 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_45 = lean_ctor_get(x_44, 3);
-lean_inc(x_45);
-if (lean_obj_tag(x_45) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_46; lean_object* x_47;
-x_46 = lean_ctor_get(x_44, 0);
-lean_inc(x_46);
-x_47 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_46);
-lean_dec(x_46);
-if (lean_obj_tag(x_47) == 2)
-{
-lean_object* x_48; lean_object* x_49; uint8_t x_50;
-x_48 = lean_ctor_get(x_47, 1);
-lean_inc(x_48);
-lean_dec(x_47);
-x_49 = l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__7;
-x_50 = lean_string_dec_eq(x_48, x_49);
-lean_dec(x_48);
-if (x_50 == 0)
-{
-lean_object* x_51; lean_object* x_52;
-x_51 = l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__10;
-x_52 = l_Lean_Parser_ParserState_mkErrorsAt(x_44, x_51, x_43);
-x_11 = x_52;
-goto block_42;
-}
-else
-{
-lean_dec(x_43);
-x_11 = x_44;
-goto block_42;
-}
-}
-else
-{
-lean_object* x_53; lean_object* x_54;
-lean_dec(x_47);
-x_53 = l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__10;
-x_54 = l_Lean_Parser_ParserState_mkErrorsAt(x_44, x_53, x_43);
-x_11 = x_54;
-goto block_42;
-}
-}
-else
-{
-lean_object* x_55; lean_object* x_56;
-lean_dec(x_45);
-x_55 = l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__10;
-x_56 = l_Lean_Parser_ParserState_mkErrorsAt(x_44, x_55, x_43);
-x_11 = x_56;
-goto block_42;
-}
-block_42:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15;
-x_13 = l_Lean_Parser_Term_funBinder___closed__3;
+lean_object* x_15; lean_object* x_16; lean_object* x_17;
+x_15 = l_Lean_Parser_Term_funBinder___closed__3;
lean_inc(x_1);
-x_14 = l_Lean_Parser_toggleInsideQuotFn(x_13, x_1, x_11);
-x_15 = lean_ctor_get(x_14, 3);
-lean_inc(x_15);
-if (lean_obj_tag(x_15) == 0)
+x_16 = l_Lean_Parser_toggleInsideQuotFn(x_15, x_1, x_13);
+x_17 = lean_ctor_get(x_16, 3);
+lean_inc(x_17);
+if (lean_obj_tag(x_17) == 0)
{
-lean_object* x_16; lean_object* x_17; lean_object* x_18;
-x_16 = lean_ctor_get(x_14, 1);
-lean_inc(x_16);
-x_17 = l_Lean_Parser_tokenFn(x_1, x_14);
-x_18 = lean_ctor_get(x_17, 3);
-lean_inc(x_18);
-if (lean_obj_tag(x_18) == 0)
-{
-lean_object* x_19; lean_object* x_20;
-x_19 = lean_ctor_get(x_17, 0);
-lean_inc(x_19);
-x_20 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_19);
-lean_dec(x_19);
-if (lean_obj_tag(x_20) == 2)
-{
-lean_object* x_21; lean_object* x_22; uint8_t x_23;
-x_21 = lean_ctor_get(x_20, 1);
-lean_inc(x_21);
-lean_dec(x_20);
-x_22 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
-x_23 = lean_string_dec_eq(x_21, x_22);
-lean_dec(x_21);
-if (x_23 == 0)
-{
-lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
-x_24 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_25 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_24, x_16);
-x_26 = l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__3;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_25, x_26, x_10);
-return x_27;
+lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
+x_18 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
+x_19 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__9;
+x_20 = l_Lean_Parser_symbolFnAux(x_18, x_19, x_1, x_16);
+x_21 = l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__3;
+x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_10);
+return x_22;
}
else
{
-lean_object* x_28; lean_object* x_29;
-lean_dec(x_16);
-x_28 = l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__3;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_17, x_28, x_10);
-return x_29;
-}
-}
-else
-{
-lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
-lean_dec(x_20);
-x_30 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_31 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_30, x_16);
-x_32 = l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__3;
-x_33 = l_Lean_Parser_ParserState_mkNode(x_31, x_32, x_10);
-return x_33;
-}
-}
-else
-{
-lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-lean_dec(x_18);
-x_34 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_35 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_34, x_16);
-x_36 = l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__3;
-x_37 = l_Lean_Parser_ParserState_mkNode(x_35, x_36, x_10);
-return x_37;
-}
-}
-else
-{
-lean_object* x_38; lean_object* x_39;
-lean_dec(x_15);
+lean_object* x_23; lean_object* x_24;
+lean_dec(x_17);
lean_dec(x_1);
-x_38 = l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__3;
-x_39 = l_Lean_Parser_ParserState_mkNode(x_14, x_38, x_10);
-return x_39;
+x_23 = l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__3;
+x_24 = l_Lean_Parser_ParserState_mkNode(x_16, x_23, x_10);
+return x_24;
}
}
else
{
-lean_object* x_40; lean_object* x_41;
-lean_dec(x_12);
+lean_object* x_25; lean_object* x_26;
+lean_dec(x_14);
lean_dec(x_1);
-x_40 = l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__3;
-x_41 = l_Lean_Parser_ParserState_mkNode(x_11, x_40, x_10);
-return x_41;
-}
+x_25 = l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__3;
+x_26 = l_Lean_Parser_ParserState_mkNode(x_13, x_25, x_10);
+return x_26;
}
}
else
@@ -77226,243 +55226,11 @@ return x_7;
}
else
{
-lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61;
-x_57 = lean_ctor_get(x_2, 0);
-lean_inc(x_57);
-x_58 = lean_array_get_size(x_57);
-lean_dec(x_57);
-x_59 = lean_ctor_get(x_2, 1);
-lean_inc(x_59);
-lean_inc(x_1);
-x_60 = lean_apply_2(x_4, x_1, x_2);
-x_61 = lean_ctor_get(x_60, 3);
-lean_inc(x_61);
-if (lean_obj_tag(x_61) == 0)
-{
-lean_dec(x_59);
-lean_dec(x_58);
-lean_dec(x_1);
-return x_60;
-}
-else
-{
-lean_object* x_62; lean_object* x_63; uint8_t x_64;
-x_62 = lean_ctor_get(x_61, 0);
-lean_inc(x_62);
-lean_dec(x_61);
-x_63 = lean_ctor_get(x_60, 1);
-lean_inc(x_63);
-x_64 = lean_nat_dec_eq(x_63, x_59);
-lean_dec(x_63);
-if (x_64 == 0)
-{
-lean_dec(x_62);
-lean_dec(x_59);
-lean_dec(x_58);
-lean_dec(x_1);
-return x_60;
-}
-else
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68;
-lean_inc(x_59);
-x_65 = l_Lean_Parser_ParserState_restore(x_60, x_58, x_59);
-lean_dec(x_58);
-x_66 = lean_unsigned_to_nat(1024u);
-x_67 = l_Lean_Parser_checkPrecFn(x_66, x_1, x_65);
-x_68 = lean_ctor_get(x_67, 3);
-lean_inc(x_68);
-if (lean_obj_tag(x_68) == 0)
-{
-lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_115; lean_object* x_116; lean_object* x_117;
-x_69 = lean_ctor_get(x_67, 0);
-lean_inc(x_69);
-x_70 = lean_array_get_size(x_69);
-lean_dec(x_69);
-x_115 = lean_ctor_get(x_67, 1);
-lean_inc(x_115);
-lean_inc(x_1);
-x_116 = l_Lean_Parser_tokenFn(x_1, x_67);
-x_117 = lean_ctor_get(x_116, 3);
-lean_inc(x_117);
-if (lean_obj_tag(x_117) == 0)
-{
-lean_object* x_118; lean_object* x_119;
-x_118 = lean_ctor_get(x_116, 0);
-lean_inc(x_118);
-x_119 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_118);
-lean_dec(x_118);
-if (lean_obj_tag(x_119) == 2)
-{
-lean_object* x_120; lean_object* x_121; uint8_t x_122;
-x_120 = lean_ctor_get(x_119, 1);
-lean_inc(x_120);
-lean_dec(x_119);
-x_121 = l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__7;
-x_122 = lean_string_dec_eq(x_120, x_121);
-lean_dec(x_120);
-if (x_122 == 0)
-{
-lean_object* x_123; lean_object* x_124;
-x_123 = l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__10;
-x_124 = l_Lean_Parser_ParserState_mkErrorsAt(x_116, x_123, x_115);
-x_71 = x_124;
-goto block_114;
-}
-else
-{
-lean_dec(x_115);
-x_71 = x_116;
-goto block_114;
-}
-}
-else
-{
-lean_object* x_125; lean_object* x_126;
-lean_dec(x_119);
-x_125 = l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__10;
-x_126 = l_Lean_Parser_ParserState_mkErrorsAt(x_116, x_125, x_115);
-x_71 = x_126;
-goto block_114;
-}
-}
-else
-{
-lean_object* x_127; lean_object* x_128;
-lean_dec(x_117);
-x_127 = l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__10;
-x_128 = l_Lean_Parser_ParserState_mkErrorsAt(x_116, x_127, x_115);
-x_71 = x_128;
-goto block_114;
-}
-block_114:
-{
-lean_object* x_72;
-x_72 = lean_ctor_get(x_71, 3);
-lean_inc(x_72);
-if (lean_obj_tag(x_72) == 0)
-{
-lean_object* x_73; lean_object* x_74; lean_object* x_75;
-x_73 = l_Lean_Parser_Term_funBinder___closed__3;
-lean_inc(x_1);
-x_74 = l_Lean_Parser_toggleInsideQuotFn(x_73, x_1, x_71);
-x_75 = lean_ctor_get(x_74, 3);
-lean_inc(x_75);
-if (lean_obj_tag(x_75) == 0)
-{
-lean_object* x_76; lean_object* x_77; lean_object* x_78;
-x_76 = lean_ctor_get(x_74, 1);
-lean_inc(x_76);
-x_77 = l_Lean_Parser_tokenFn(x_1, x_74);
-x_78 = lean_ctor_get(x_77, 3);
-lean_inc(x_78);
-if (lean_obj_tag(x_78) == 0)
-{
-lean_object* x_79; lean_object* x_80;
-x_79 = lean_ctor_get(x_77, 0);
-lean_inc(x_79);
-x_80 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_79);
-lean_dec(x_79);
-if (lean_obj_tag(x_80) == 2)
-{
-lean_object* x_81; lean_object* x_82; uint8_t x_83;
-x_81 = lean_ctor_get(x_80, 1);
-lean_inc(x_81);
-lean_dec(x_80);
-x_82 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
-x_83 = lean_string_dec_eq(x_81, x_82);
-lean_dec(x_81);
-if (x_83 == 0)
-{
-lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; uint8_t x_88; lean_object* x_89;
-x_84 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_85 = l_Lean_Parser_ParserState_mkErrorsAt(x_77, x_84, x_76);
-x_86 = l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__3;
-x_87 = l_Lean_Parser_ParserState_mkNode(x_85, x_86, x_70);
-x_88 = 1;
-x_89 = l_Lean_Parser_mergeOrElseErrors(x_87, x_62, x_59, x_88);
-lean_dec(x_59);
-return x_89;
-}
-else
-{
-lean_object* x_90; lean_object* x_91; uint8_t x_92; lean_object* x_93;
-lean_dec(x_76);
-x_90 = l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__3;
-x_91 = l_Lean_Parser_ParserState_mkNode(x_77, x_90, x_70);
-x_92 = 1;
-x_93 = l_Lean_Parser_mergeOrElseErrors(x_91, x_62, x_59, x_92);
-lean_dec(x_59);
-return x_93;
-}
-}
-else
-{
-lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; uint8_t x_98; lean_object* x_99;
-lean_dec(x_80);
-x_94 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_95 = l_Lean_Parser_ParserState_mkErrorsAt(x_77, x_94, x_76);
-x_96 = l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__3;
-x_97 = l_Lean_Parser_ParserState_mkNode(x_95, x_96, x_70);
-x_98 = 1;
-x_99 = l_Lean_Parser_mergeOrElseErrors(x_97, x_62, x_59, x_98);
-lean_dec(x_59);
-return x_99;
-}
-}
-else
-{
-lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; uint8_t x_104; lean_object* x_105;
-lean_dec(x_78);
-x_100 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_101 = l_Lean_Parser_ParserState_mkErrorsAt(x_77, x_100, x_76);
-x_102 = l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__3;
-x_103 = l_Lean_Parser_ParserState_mkNode(x_101, x_102, x_70);
-x_104 = 1;
-x_105 = l_Lean_Parser_mergeOrElseErrors(x_103, x_62, x_59, x_104);
-lean_dec(x_59);
-return x_105;
-}
-}
-else
-{
-lean_object* x_106; lean_object* x_107; uint8_t x_108; lean_object* x_109;
-lean_dec(x_75);
-lean_dec(x_1);
-x_106 = l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__3;
-x_107 = l_Lean_Parser_ParserState_mkNode(x_74, x_106, x_70);
-x_108 = 1;
-x_109 = l_Lean_Parser_mergeOrElseErrors(x_107, x_62, x_59, x_108);
-lean_dec(x_59);
-return x_109;
-}
-}
-else
-{
-lean_object* x_110; lean_object* x_111; uint8_t x_112; lean_object* x_113;
-lean_dec(x_72);
-lean_dec(x_1);
-x_110 = l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__3;
-x_111 = l_Lean_Parser_ParserState_mkNode(x_71, x_110, x_70);
-x_112 = 1;
-x_113 = l_Lean_Parser_mergeOrElseErrors(x_111, x_62, x_59, x_112);
-lean_dec(x_59);
-return x_113;
-}
-}
-}
-else
-{
-uint8_t x_129; lean_object* x_130;
-lean_dec(x_68);
-lean_dec(x_1);
-x_129 = 1;
-x_130 = l_Lean_Parser_mergeOrElseErrors(x_67, x_62, x_59, x_129);
-lean_dec(x_59);
-return x_130;
-}
-}
-}
+lean_object* x_27; uint8_t x_28; lean_object* x_29;
+x_27 = l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__13;
+x_28 = 1;
+x_29 = l_Lean_Parser_orelseFnCore(x_4, x_27, x_28, x_1, x_2);
+return x_29;
}
}
}
@@ -77809,11 +55577,11 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_panic___elambda__1___closed__7() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_panic___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_panic___elambda__1___closed__6;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_panic___elambda__1___closed__8() {
@@ -77821,8 +55589,10 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_Parser_Term_panic___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_2 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -77830,11 +55600,43 @@ static lean_object* _init_l_Lean_Parser_Term_panic___elambda__1___closed__9() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Term_panic___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_panic___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_panic___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_byTactic___elambda__1___closed__9;
+x_2 = l_Lean_Parser_Term_panic___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_panic___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_panic___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_panic___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_panic___elambda__1___closed__11;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -77858,91 +55660,35 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_21; lean_object* x_22; lean_object* x_23;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_21 = lean_ctor_get(x_7, 1);
-lean_inc(x_21);
+x_11 = l_Lean_Parser_Term_panic___elambda__1___closed__6;
+x_12 = l_Lean_Parser_Term_panic___elambda__1___closed__12;
lean_inc(x_1);
-x_22 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_23 = lean_ctor_get(x_22, 3);
-lean_inc(x_23);
-if (lean_obj_tag(x_23) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_24; lean_object* x_25;
-x_24 = lean_ctor_get(x_22, 0);
-lean_inc(x_24);
-x_25 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_24);
-lean_dec(x_24);
-if (lean_obj_tag(x_25) == 2)
-{
-lean_object* x_26; lean_object* x_27; uint8_t x_28;
-x_26 = lean_ctor_get(x_25, 1);
-lean_inc(x_26);
-lean_dec(x_25);
-x_27 = l_Lean_Parser_Term_panic___elambda__1___closed__6;
-x_28 = lean_string_dec_eq(x_26, x_27);
-lean_dec(x_26);
-if (x_28 == 0)
-{
-lean_object* x_29; lean_object* x_30;
-x_29 = l_Lean_Parser_Term_panic___elambda__1___closed__9;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_29, x_21);
-x_11 = x_30;
-goto block_20;
-}
-else
-{
-lean_dec(x_21);
-x_11 = x_22;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_31; lean_object* x_32;
-lean_dec(x_25);
-x_31 = l_Lean_Parser_Term_panic___elambda__1___closed__9;
-x_32 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_31, x_21);
-x_11 = x_32;
-goto block_20;
-}
-}
-else
-{
-lean_object* x_33; lean_object* x_34;
-lean_dec(x_23);
-x_33 = l_Lean_Parser_Term_panic___elambda__1___closed__9;
-x_34 = l_Lean_Parser_ParserState_mkErrorsAt(x_22, x_33, x_21);
-x_11 = x_34;
-goto block_20;
-}
-block_20:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
-x_13 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_14 = lean_unsigned_to_nat(0u);
-x_15 = l_Lean_Parser_categoryParser___elambda__1(x_13, x_14, x_1, x_11);
-x_16 = l_Lean_Parser_Term_panic___elambda__1___closed__2;
-x_17 = l_Lean_Parser_ParserState_mkNode(x_15, x_16, x_10);
-return x_17;
-}
-else
-{
-lean_object* x_18; lean_object* x_19;
-lean_dec(x_12);
-lean_dec(x_1);
+lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
+x_15 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_16 = lean_unsigned_to_nat(0u);
+x_17 = l_Lean_Parser_categoryParser___elambda__1(x_15, x_16, x_1, x_13);
x_18 = l_Lean_Parser_Term_panic___elambda__1___closed__2;
-x_19 = l_Lean_Parser_ParserState_mkNode(x_11, x_18, x_10);
+x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_10);
return x_19;
}
+else
+{
+lean_object* x_20; lean_object* x_21;
+lean_dec(x_14);
+lean_dec(x_1);
+x_20 = l_Lean_Parser_Term_panic___elambda__1___closed__2;
+x_21 = l_Lean_Parser_ParserState_mkNode(x_13, x_20, x_10);
+return x_21;
}
}
else
@@ -77954,159 +55700,11 @@ return x_7;
}
else
{
-lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
-x_35 = lean_ctor_get(x_2, 0);
-lean_inc(x_35);
-x_36 = lean_array_get_size(x_35);
-lean_dec(x_35);
-x_37 = lean_ctor_get(x_2, 1);
-lean_inc(x_37);
-lean_inc(x_1);
-x_38 = lean_apply_2(x_4, x_1, x_2);
-x_39 = lean_ctor_get(x_38, 3);
-lean_inc(x_39);
-if (lean_obj_tag(x_39) == 0)
-{
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_40; lean_object* x_41; uint8_t x_42;
-x_40 = lean_ctor_get(x_39, 0);
-lean_inc(x_40);
-lean_dec(x_39);
-x_41 = lean_ctor_get(x_38, 1);
-lean_inc(x_41);
-x_42 = lean_nat_dec_eq(x_41, x_37);
-lean_dec(x_41);
-if (x_42 == 0)
-{
-lean_dec(x_40);
-lean_dec(x_37);
-lean_dec(x_36);
-lean_dec(x_1);
-return x_38;
-}
-else
-{
-lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46;
-lean_inc(x_37);
-x_43 = l_Lean_Parser_ParserState_restore(x_38, x_36, x_37);
-lean_dec(x_36);
-x_44 = l_Lean_Parser_leadPrec;
-x_45 = l_Lean_Parser_checkPrecFn(x_44, x_1, x_43);
-x_46 = lean_ctor_get(x_45, 3);
-lean_inc(x_46);
-if (lean_obj_tag(x_46) == 0)
-{
-lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_63; lean_object* x_64; lean_object* x_65;
-x_47 = lean_ctor_get(x_45, 0);
-lean_inc(x_47);
-x_48 = lean_array_get_size(x_47);
-lean_dec(x_47);
-x_63 = lean_ctor_get(x_45, 1);
-lean_inc(x_63);
-lean_inc(x_1);
-x_64 = l_Lean_Parser_tokenFn(x_1, x_45);
-x_65 = lean_ctor_get(x_64, 3);
-lean_inc(x_65);
-if (lean_obj_tag(x_65) == 0)
-{
-lean_object* x_66; lean_object* x_67;
-x_66 = lean_ctor_get(x_64, 0);
-lean_inc(x_66);
-x_67 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_66);
-lean_dec(x_66);
-if (lean_obj_tag(x_67) == 2)
-{
-lean_object* x_68; lean_object* x_69; uint8_t x_70;
-x_68 = lean_ctor_get(x_67, 1);
-lean_inc(x_68);
-lean_dec(x_67);
-x_69 = l_Lean_Parser_Term_panic___elambda__1___closed__6;
-x_70 = lean_string_dec_eq(x_68, x_69);
-lean_dec(x_68);
-if (x_70 == 0)
-{
-lean_object* x_71; lean_object* x_72;
-x_71 = l_Lean_Parser_Term_panic___elambda__1___closed__9;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_71, x_63);
-x_49 = x_72;
-goto block_62;
-}
-else
-{
-lean_dec(x_63);
-x_49 = x_64;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_73; lean_object* x_74;
-lean_dec(x_67);
-x_73 = l_Lean_Parser_Term_panic___elambda__1___closed__9;
-x_74 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_73, x_63);
-x_49 = x_74;
-goto block_62;
-}
-}
-else
-{
-lean_object* x_75; lean_object* x_76;
-lean_dec(x_65);
-x_75 = l_Lean_Parser_Term_panic___elambda__1___closed__9;
-x_76 = l_Lean_Parser_ParserState_mkErrorsAt(x_64, x_75, x_63);
-x_49 = x_76;
-goto block_62;
-}
-block_62:
-{
-lean_object* x_50;
-x_50 = lean_ctor_get(x_49, 3);
-lean_inc(x_50);
-if (lean_obj_tag(x_50) == 0)
-{
-lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; uint8_t x_56; lean_object* x_57;
-x_51 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_52 = lean_unsigned_to_nat(0u);
-x_53 = l_Lean_Parser_categoryParser___elambda__1(x_51, x_52, x_1, x_49);
-x_54 = l_Lean_Parser_Term_panic___elambda__1___closed__2;
-x_55 = l_Lean_Parser_ParserState_mkNode(x_53, x_54, x_48);
-x_56 = 1;
-x_57 = l_Lean_Parser_mergeOrElseErrors(x_55, x_40, x_37, x_56);
-lean_dec(x_37);
-return x_57;
-}
-else
-{
-lean_object* x_58; lean_object* x_59; uint8_t x_60; lean_object* x_61;
-lean_dec(x_50);
-lean_dec(x_1);
-x_58 = l_Lean_Parser_Term_panic___elambda__1___closed__2;
-x_59 = l_Lean_Parser_ParserState_mkNode(x_49, x_58, x_48);
-x_60 = 1;
-x_61 = l_Lean_Parser_mergeOrElseErrors(x_59, x_40, x_37, x_60);
-lean_dec(x_37);
-return x_61;
-}
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_46);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_45, x_40, x_37, x_77);
-lean_dec(x_37);
-return x_78;
-}
-}
-}
+lean_object* x_22; uint8_t x_23; lean_object* x_24;
+x_22 = l_Lean_Parser_Term_panic___elambda__1___closed__10;
+x_23 = 1;
+x_24 = l_Lean_Parser_orelseFnCore(x_4, x_22, x_23, x_1, x_2);
+return x_24;
}
}
}
@@ -78391,20 +55989,22 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_unreachable___elambda__1___closed__6() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_unreachable___elambda__1___closed__5;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Term_unreachable___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
}
}
static lean_object* _init_l_Lean_Parser_Term_unreachable___elambda__1___closed__7() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_unreachable___elambda__1___closed__6;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Term_unreachable___elambda__1___closed__1;
+x_2 = l_Lean_Parser_Term_unreachable___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
@@ -78412,11 +56012,31 @@ static lean_object* _init_l_Lean_Parser_Term_unreachable___elambda__1___closed__
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Term_byTactic___elambda__1___closed__9;
x_2 = l_Lean_Parser_Term_unreachable___elambda__1___closed__7;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_unreachable___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_unreachable___elambda__1___closed__5;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_unreachable___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_unreachable___elambda__1___closed__9;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -78440,71 +56060,17 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
+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;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_11 = lean_ctor_get(x_7, 1);
-lean_inc(x_11);
-x_12 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_13 = lean_ctor_get(x_12, 3);
-lean_inc(x_13);
-if (lean_obj_tag(x_13) == 0)
-{
-lean_object* x_14; lean_object* x_15;
-x_14 = lean_ctor_get(x_12, 0);
-lean_inc(x_14);
-x_15 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_14);
-lean_dec(x_14);
-if (lean_obj_tag(x_15) == 2)
-{
-lean_object* x_16; lean_object* x_17; uint8_t x_18;
-x_16 = lean_ctor_get(x_15, 1);
-lean_inc(x_16);
-lean_dec(x_15);
-x_17 = l_Lean_Parser_Term_unreachable___elambda__1___closed__5;
-x_18 = lean_string_dec_eq(x_16, x_17);
-lean_dec(x_16);
-if (x_18 == 0)
-{
-lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
-x_19 = l_Lean_Parser_Term_unreachable___elambda__1___closed__8;
-x_20 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_19, x_11);
-x_21 = l_Lean_Parser_Term_unreachable___elambda__1___closed__1;
-x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_10);
-return x_22;
-}
-else
-{
-lean_object* x_23; lean_object* x_24;
-lean_dec(x_11);
-x_23 = l_Lean_Parser_Term_unreachable___elambda__1___closed__1;
-x_24 = l_Lean_Parser_ParserState_mkNode(x_12, x_23, x_10);
-return x_24;
-}
-}
-else
-{
-lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
-lean_dec(x_15);
-x_25 = l_Lean_Parser_Term_unreachable___elambda__1___closed__8;
-x_26 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_25, x_11);
-x_27 = l_Lean_Parser_Term_unreachable___elambda__1___closed__1;
-x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_10);
-return x_28;
-}
-}
-else
-{
-lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
-lean_dec(x_13);
-x_29 = l_Lean_Parser_Term_unreachable___elambda__1___closed__8;
-x_30 = l_Lean_Parser_ParserState_mkErrorsAt(x_12, x_29, x_11);
-x_31 = l_Lean_Parser_Term_unreachable___elambda__1___closed__1;
-x_32 = l_Lean_Parser_ParserState_mkNode(x_30, x_31, x_10);
-return x_32;
-}
+x_11 = l_Lean_Parser_Term_unreachable___elambda__1___closed__5;
+x_12 = l_Lean_Parser_Term_unreachable___elambda__1___closed__10;
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = l_Lean_Parser_Term_unreachable___elambda__1___closed__1;
+x_15 = l_Lean_Parser_ParserState_mkNode(x_13, x_14, x_10);
+return x_15;
}
else
{
@@ -78515,144 +56081,11 @@ return x_7;
}
else
{
-lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-x_33 = lean_ctor_get(x_2, 0);
-lean_inc(x_33);
-x_34 = lean_array_get_size(x_33);
-lean_dec(x_33);
-x_35 = lean_ctor_get(x_2, 1);
-lean_inc(x_35);
-lean_inc(x_1);
-x_36 = lean_apply_2(x_4, x_1, x_2);
-x_37 = lean_ctor_get(x_36, 3);
-lean_inc(x_37);
-if (lean_obj_tag(x_37) == 0)
-{
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_38; lean_object* x_39; uint8_t x_40;
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_36, 1);
-lean_inc(x_39);
-x_40 = lean_nat_dec_eq(x_39, x_35);
-lean_dec(x_39);
-if (x_40 == 0)
-{
-lean_dec(x_38);
-lean_dec(x_35);
-lean_dec(x_34);
-lean_dec(x_1);
-return x_36;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
-lean_inc(x_35);
-x_41 = l_Lean_Parser_ParserState_restore(x_36, x_34, x_35);
-lean_dec(x_34);
-x_42 = l_Lean_Parser_leadPrec;
-x_43 = l_Lean_Parser_checkPrecFn(x_42, x_1, x_41);
-x_44 = lean_ctor_get(x_43, 3);
-lean_inc(x_44);
-if (lean_obj_tag(x_44) == 0)
-{
-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_43, 0);
-lean_inc(x_45);
-x_46 = lean_array_get_size(x_45);
-lean_dec(x_45);
-x_47 = lean_ctor_get(x_43, 1);
-lean_inc(x_47);
-x_48 = l_Lean_Parser_tokenFn(x_1, x_43);
-x_49 = lean_ctor_get(x_48, 3);
-lean_inc(x_49);
-if (lean_obj_tag(x_49) == 0)
-{
-lean_object* x_50; lean_object* x_51;
-x_50 = lean_ctor_get(x_48, 0);
-lean_inc(x_50);
-x_51 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_50);
-lean_dec(x_50);
-if (lean_obj_tag(x_51) == 2)
-{
-lean_object* x_52; lean_object* x_53; uint8_t x_54;
-x_52 = lean_ctor_get(x_51, 1);
-lean_inc(x_52);
-lean_dec(x_51);
-x_53 = l_Lean_Parser_Term_unreachable___elambda__1___closed__5;
-x_54 = lean_string_dec_eq(x_52, x_53);
-lean_dec(x_52);
-if (x_54 == 0)
-{
-lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; uint8_t x_59; lean_object* x_60;
-x_55 = l_Lean_Parser_Term_unreachable___elambda__1___closed__8;
-x_56 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_55, x_47);
-x_57 = l_Lean_Parser_Term_unreachable___elambda__1___closed__1;
-x_58 = l_Lean_Parser_ParserState_mkNode(x_56, x_57, x_46);
-x_59 = 1;
-x_60 = l_Lean_Parser_mergeOrElseErrors(x_58, x_38, x_35, x_59);
-lean_dec(x_35);
-return x_60;
-}
-else
-{
-lean_object* x_61; lean_object* x_62; uint8_t x_63; lean_object* x_64;
-lean_dec(x_47);
-x_61 = l_Lean_Parser_Term_unreachable___elambda__1___closed__1;
-x_62 = l_Lean_Parser_ParserState_mkNode(x_48, x_61, x_46);
-x_63 = 1;
-x_64 = l_Lean_Parser_mergeOrElseErrors(x_62, x_38, x_35, x_63);
-lean_dec(x_35);
-return x_64;
-}
-}
-else
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; uint8_t x_69; lean_object* x_70;
-lean_dec(x_51);
-x_65 = l_Lean_Parser_Term_unreachable___elambda__1___closed__8;
-x_66 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_65, x_47);
-x_67 = l_Lean_Parser_Term_unreachable___elambda__1___closed__1;
-x_68 = l_Lean_Parser_ParserState_mkNode(x_66, x_67, x_46);
-x_69 = 1;
-x_70 = l_Lean_Parser_mergeOrElseErrors(x_68, x_38, x_35, x_69);
-lean_dec(x_35);
-return x_70;
-}
-}
-else
-{
-lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; uint8_t x_75; lean_object* x_76;
-lean_dec(x_49);
-x_71 = l_Lean_Parser_Term_unreachable___elambda__1___closed__8;
-x_72 = l_Lean_Parser_ParserState_mkErrorsAt(x_48, x_71, x_47);
-x_73 = l_Lean_Parser_Term_unreachable___elambda__1___closed__1;
-x_74 = l_Lean_Parser_ParserState_mkNode(x_72, x_73, x_46);
-x_75 = 1;
-x_76 = l_Lean_Parser_mergeOrElseErrors(x_74, x_38, x_35, x_75);
-lean_dec(x_35);
-return x_76;
-}
-}
-else
-{
-uint8_t x_77; lean_object* x_78;
-lean_dec(x_44);
-lean_dec(x_1);
-x_77 = 1;
-x_78 = l_Lean_Parser_mergeOrElseErrors(x_43, x_38, x_35, x_77);
-lean_dec(x_35);
-return x_78;
-}
-}
-}
+lean_object* x_16; uint8_t x_17; lean_object* x_18;
+x_16 = l_Lean_Parser_Term_unreachable___elambda__1___closed__8;
+x_17 = 1;
+x_18 = l_Lean_Parser_orelseFnCore(x_4, x_16, x_17, x_1, x_2);
+return x_18;
}
}
}
@@ -78862,6 +56295,172 @@ x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1);
return x_5;
}
}
+lean_object* l_Lean_Parser_Term_dbgTrace___elambda__1___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
+_start:
+{
+uint8_t x_6;
+x_6 = !lean_is_exclusive(x_4);
+if (x_6 == 0)
+{
+lean_object* x_7; lean_object* x_8; uint8_t x_9;
+x_7 = lean_ctor_get(x_4, 0);
+x_8 = lean_ctor_get(x_4, 4);
+lean_dec(x_8);
+x_9 = !lean_is_exclusive(x_7);
+if (x_9 == 0)
+{
+lean_object* x_10; lean_object* 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;
+x_10 = lean_ctor_get(x_7, 2);
+x_11 = lean_ctor_get(x_5, 1);
+lean_inc(x_11);
+x_12 = l_Lean_FileMap_toPosition(x_10, x_11);
+x_13 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_13, 0, x_12);
+lean_ctor_set(x_4, 4, x_13);
+x_14 = l_Char_HasRepr___closed__1;
+x_15 = lean_string_append(x_14, x_1);
+x_16 = lean_string_append(x_15, x_14);
+lean_inc(x_4);
+x_17 = l_Lean_Parser_symbolFnAux(x_1, x_16, x_4, x_5);
+x_18 = lean_ctor_get(x_17, 3);
+lean_inc(x_18);
+if (lean_obj_tag(x_18) == 0)
+{
+uint8_t x_19; lean_object* x_20;
+x_19 = 1;
+x_20 = l_Lean_Parser_orelseFnCore(x_2, x_3, x_19, x_4, x_17);
+return x_20;
+}
+else
+{
+lean_dec(x_18);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+return x_17;
+}
+}
+else
+{
+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;
+x_21 = lean_ctor_get(x_7, 0);
+x_22 = lean_ctor_get(x_7, 1);
+x_23 = lean_ctor_get(x_7, 2);
+lean_inc(x_23);
+lean_inc(x_22);
+lean_inc(x_21);
+lean_dec(x_7);
+x_24 = lean_ctor_get(x_5, 1);
+lean_inc(x_24);
+x_25 = l_Lean_FileMap_toPosition(x_23, x_24);
+x_26 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_26, 0, x_21);
+lean_ctor_set(x_26, 1, x_22);
+lean_ctor_set(x_26, 2, x_23);
+x_27 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_27, 0, x_25);
+lean_ctor_set(x_4, 4, x_27);
+lean_ctor_set(x_4, 0, x_26);
+x_28 = l_Char_HasRepr___closed__1;
+x_29 = lean_string_append(x_28, x_1);
+x_30 = lean_string_append(x_29, x_28);
+lean_inc(x_4);
+x_31 = l_Lean_Parser_symbolFnAux(x_1, x_30, x_4, x_5);
+x_32 = lean_ctor_get(x_31, 3);
+lean_inc(x_32);
+if (lean_obj_tag(x_32) == 0)
+{
+uint8_t x_33; lean_object* x_34;
+x_33 = 1;
+x_34 = l_Lean_Parser_orelseFnCore(x_2, x_3, x_33, x_4, x_31);
+return x_34;
+}
+else
+{
+lean_dec(x_32);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+return x_31;
+}
+}
+}
+else
+{
+lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; uint8_t 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;
+x_35 = lean_ctor_get(x_4, 0);
+x_36 = lean_ctor_get(x_4, 1);
+x_37 = lean_ctor_get(x_4, 2);
+x_38 = lean_ctor_get(x_4, 3);
+x_39 = lean_ctor_get_uint8(x_4, sizeof(void*)*6);
+x_40 = lean_ctor_get(x_4, 5);
+lean_inc(x_40);
+lean_inc(x_38);
+lean_inc(x_37);
+lean_inc(x_36);
+lean_inc(x_35);
+lean_dec(x_4);
+x_41 = lean_ctor_get(x_35, 0);
+lean_inc(x_41);
+x_42 = lean_ctor_get(x_35, 1);
+lean_inc(x_42);
+x_43 = lean_ctor_get(x_35, 2);
+lean_inc(x_43);
+if (lean_is_exclusive(x_35)) {
+ lean_ctor_release(x_35, 0);
+ lean_ctor_release(x_35, 1);
+ lean_ctor_release(x_35, 2);
+ x_44 = x_35;
+} else {
+ lean_dec_ref(x_35);
+ x_44 = lean_box(0);
+}
+x_45 = lean_ctor_get(x_5, 1);
+lean_inc(x_45);
+x_46 = l_Lean_FileMap_toPosition(x_43, x_45);
+if (lean_is_scalar(x_44)) {
+ x_47 = lean_alloc_ctor(0, 3, 0);
+} else {
+ x_47 = x_44;
+}
+lean_ctor_set(x_47, 0, x_41);
+lean_ctor_set(x_47, 1, x_42);
+lean_ctor_set(x_47, 2, x_43);
+x_48 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_48, 0, x_46);
+x_49 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_49, 0, x_47);
+lean_ctor_set(x_49, 1, x_36);
+lean_ctor_set(x_49, 2, x_37);
+lean_ctor_set(x_49, 3, x_38);
+lean_ctor_set(x_49, 4, x_48);
+lean_ctor_set(x_49, 5, x_40);
+lean_ctor_set_uint8(x_49, sizeof(void*)*6, x_39);
+x_50 = l_Char_HasRepr___closed__1;
+x_51 = lean_string_append(x_50, x_1);
+x_52 = lean_string_append(x_51, x_50);
+lean_inc(x_49);
+x_53 = l_Lean_Parser_symbolFnAux(x_1, x_52, x_49, x_5);
+x_54 = lean_ctor_get(x_53, 3);
+lean_inc(x_54);
+if (lean_obj_tag(x_54) == 0)
+{
+uint8_t x_55; lean_object* x_56;
+x_55 = 1;
+x_56 = l_Lean_Parser_orelseFnCore(x_2, x_3, x_55, x_49, x_53);
+return x_56;
+}
+else
+{
+lean_dec(x_54);
+lean_dec(x_49);
+lean_dec(x_3);
+lean_dec(x_2);
+return x_53;
+}
+}
+}
+}
static lean_object* _init_l_Lean_Parser_Term_dbgTrace___elambda__1___closed__1() {
_start:
{
@@ -78930,6 +56529,60 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Term_dbgTrace___elambda__1___closed__8() {
_start:
{
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
+x_1 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__7;
+x_2 = lean_ctor_get(x_1, 1);
+lean_inc(x_2);
+x_3 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__6;
+x_4 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_5 = lean_alloc_closure((void*)(l_Lean_Parser_Term_dbgTrace___elambda__1___lambda__1___boxed), 5, 3);
+lean_closure_set(x_5, 0, x_3);
+lean_closure_set(x_5, 1, x_2);
+lean_closure_set(x_5, 2, x_4);
+return x_5;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_dbgTrace___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
+x_1 = l_Lean_Parser_Term_have___elambda__1___closed__8;
+x_2 = lean_ctor_get(x_1, 1);
+lean_inc(x_2);
+x_3 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__8;
+x_4 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_4, 0, x_3);
+lean_closure_set(x_4, 1, x_2);
+return x_4;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_dbgTrace___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_dbgTrace___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_byTactic___elambda__1___closed__9;
+x_2 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_dbgTrace___elambda__1___closed__12() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Char_HasRepr___closed__1;
x_2 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__6;
@@ -78937,28 +56590,16 @@ x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Term_dbgTrace___elambda__1___closed__9() {
+static lean_object* _init_l_Lean_Parser_Term_dbgTrace___elambda__1___closed__13() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__8;
+x_1 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__12;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Term_dbgTrace___elambda__1___closed__10() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__9;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
-}
-}
lean_object* l_Lean_Parser_Term_dbgTrace___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -78966,7 +56607,7 @@ lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_obj
x_3 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__7;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
-x_5 = l_Lean_Parser_Term_have___elambda__1___closed__7;
+x_5 = l_Lean_Parser_Term_have___elambda__1___closed__8;
x_6 = lean_ctor_get(x_5, 1);
lean_inc(x_6);
x_7 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__4;
@@ -78985,191 +56626,137 @@ x_12 = lean_ctor_get(x_11, 3);
lean_inc(x_12);
if (lean_obj_tag(x_12) == 0)
{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t 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_56; lean_object* x_57;
+lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; uint8_t x_27; lean_object* x_28; uint8_t x_29;
x_13 = lean_ctor_get(x_11, 0);
lean_inc(x_13);
x_14 = lean_array_get_size(x_13);
lean_dec(x_13);
-x_15 = lean_ctor_get(x_1, 0);
-lean_inc(x_15);
-x_16 = lean_ctor_get(x_1, 1);
-lean_inc(x_16);
-x_17 = lean_ctor_get(x_1, 2);
-lean_inc(x_17);
-x_18 = lean_ctor_get(x_1, 3);
-lean_inc(x_18);
-x_19 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
-x_20 = lean_ctor_get(x_1, 5);
-lean_inc(x_20);
-x_21 = lean_ctor_get(x_15, 2);
-lean_inc(x_21);
-x_22 = lean_ctor_get(x_11, 1);
-lean_inc(x_22);
-lean_inc(x_22);
-x_23 = l_Lean_FileMap_toPosition(x_21, x_22);
-lean_dec(x_21);
-x_24 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_24, 0, x_23);
-x_25 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_25, 0, x_15);
-lean_ctor_set(x_25, 1, x_16);
-lean_ctor_set(x_25, 2, x_17);
-lean_ctor_set(x_25, 3, x_18);
-lean_ctor_set(x_25, 4, x_24);
-lean_ctor_set(x_25, 5, x_20);
-lean_ctor_set_uint8(x_25, sizeof(void*)*6, x_19);
+x_23 = lean_ctor_get(x_1, 0);
+lean_inc(x_23);
+x_24 = lean_ctor_get(x_1, 1);
+lean_inc(x_24);
+x_25 = lean_ctor_get(x_1, 2);
lean_inc(x_25);
-x_56 = l_Lean_Parser_tokenFn(x_25, x_11);
-x_57 = lean_ctor_get(x_56, 3);
-lean_inc(x_57);
-if (lean_obj_tag(x_57) == 0)
-{
-lean_object* x_58; lean_object* x_59;
-x_58 = lean_ctor_get(x_56, 0);
-lean_inc(x_58);
-x_59 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_58);
-lean_dec(x_58);
-if (lean_obj_tag(x_59) == 2)
-{
-lean_object* x_60; lean_object* x_61; uint8_t x_62;
-x_60 = lean_ctor_get(x_59, 1);
-lean_inc(x_60);
-lean_dec(x_59);
-x_61 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__6;
-x_62 = lean_string_dec_eq(x_60, x_61);
-lean_dec(x_60);
-if (x_62 == 0)
-{
-lean_object* x_63; lean_object* x_64;
-x_63 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__10;
-x_64 = l_Lean_Parser_ParserState_mkErrorsAt(x_56, x_63, x_22);
-x_26 = x_64;
-goto block_55;
-}
-else
-{
-lean_dec(x_22);
-x_26 = x_56;
-goto block_55;
-}
-}
-else
-{
-lean_object* x_65; lean_object* x_66;
-lean_dec(x_59);
-x_65 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__10;
-x_66 = l_Lean_Parser_ParserState_mkErrorsAt(x_56, x_65, x_22);
-x_26 = x_66;
-goto block_55;
-}
-}
-else
-{
-lean_object* x_67; lean_object* x_68;
-lean_dec(x_57);
-x_67 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__10;
-x_68 = l_Lean_Parser_ParserState_mkErrorsAt(x_56, x_67, x_22);
-x_26 = x_68;
-goto block_55;
-}
-block_55:
-{
-lean_object* x_27;
-x_27 = lean_ctor_get(x_26, 3);
-lean_inc(x_27);
-if (lean_obj_tag(x_27) == 0)
-{
-lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
-x_28 = lean_ctor_get(x_26, 0);
+x_26 = lean_ctor_get(x_1, 3);
+lean_inc(x_26);
+x_27 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
+x_28 = lean_ctor_get(x_1, 5);
lean_inc(x_28);
-x_29 = lean_array_get_size(x_28);
-lean_dec(x_28);
-x_30 = lean_ctor_get(x_26, 1);
-lean_inc(x_30);
-lean_inc(x_25);
-x_31 = lean_apply_2(x_4, x_25, x_26);
-x_32 = lean_ctor_get(x_31, 3);
-lean_inc(x_32);
-if (lean_obj_tag(x_32) == 0)
+x_29 = !lean_is_exclusive(x_23);
+if (x_29 == 0)
{
-lean_object* x_33; lean_object* x_34; lean_object* x_35;
-lean_dec(x_30);
-lean_dec(x_29);
-lean_dec(x_25);
-x_33 = lean_apply_2(x_6, x_1, x_31);
-x_34 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__2;
-x_35 = l_Lean_Parser_ParserState_mkNode(x_33, x_34, x_14);
-return x_35;
+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;
+x_30 = lean_ctor_get(x_23, 2);
+x_31 = lean_ctor_get(x_11, 1);
+lean_inc(x_31);
+x_32 = l_Lean_FileMap_toPosition(x_30, x_31);
+x_33 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_33, 0, x_32);
+x_34 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_34, 0, x_23);
+lean_ctor_set(x_34, 1, x_24);
+lean_ctor_set(x_34, 2, x_25);
+lean_ctor_set(x_34, 3, x_26);
+lean_ctor_set(x_34, 4, x_33);
+lean_ctor_set(x_34, 5, x_28);
+lean_ctor_set_uint8(x_34, sizeof(void*)*6, x_27);
+x_35 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__6;
+x_36 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__13;
+lean_inc(x_34);
+x_37 = l_Lean_Parser_symbolFnAux(x_35, x_36, x_34, x_11);
+x_38 = lean_ctor_get(x_37, 3);
+lean_inc(x_38);
+if (lean_obj_tag(x_38) == 0)
+{
+lean_object* x_39; uint8_t x_40; lean_object* x_41;
+x_39 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_40 = 1;
+x_41 = l_Lean_Parser_orelseFnCore(x_4, x_39, x_40, x_34, x_37);
+x_15 = x_41;
+goto block_22;
}
else
{
-lean_object* x_36; lean_object* x_37; uint8_t x_38;
-x_36 = lean_ctor_get(x_32, 0);
-lean_inc(x_36);
-lean_dec(x_32);
-x_37 = lean_ctor_get(x_31, 1);
-lean_inc(x_37);
-x_38 = lean_nat_dec_eq(x_37, x_30);
-lean_dec(x_37);
-if (x_38 == 0)
-{
-lean_object* x_39; lean_object* x_40;
-lean_dec(x_36);
-lean_dec(x_30);
-lean_dec(x_29);
-lean_dec(x_25);
-lean_dec(x_6);
-lean_dec(x_1);
-x_39 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__2;
-x_40 = l_Lean_Parser_ParserState_mkNode(x_31, x_39, x_14);
-return x_40;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45; lean_object* x_46; lean_object* x_47;
-lean_inc(x_30);
-x_41 = l_Lean_Parser_ParserState_restore(x_31, x_29, x_30);
-lean_dec(x_29);
-x_42 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_43 = lean_unsigned_to_nat(0u);
-x_44 = l_Lean_Parser_categoryParser___elambda__1(x_42, x_43, x_25, x_41);
-x_45 = 1;
-x_46 = l_Lean_Parser_mergeOrElseErrors(x_44, x_36, x_30, x_45);
-lean_dec(x_30);
-x_47 = lean_ctor_get(x_46, 3);
-lean_inc(x_47);
-if (lean_obj_tag(x_47) == 0)
-{
-lean_object* x_48; lean_object* x_49; lean_object* x_50;
-x_48 = lean_apply_2(x_6, x_1, x_46);
-x_49 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__2;
-x_50 = l_Lean_Parser_ParserState_mkNode(x_48, x_49, x_14);
-return x_50;
-}
-else
-{
-lean_object* x_51; lean_object* x_52;
-lean_dec(x_47);
-lean_dec(x_6);
-lean_dec(x_1);
-x_51 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__2;
-x_52 = l_Lean_Parser_ParserState_mkNode(x_46, x_51, x_14);
-return x_52;
-}
-}
-}
-}
-else
-{
-lean_object* x_53; lean_object* x_54;
-lean_dec(x_27);
-lean_dec(x_25);
-lean_dec(x_6);
+lean_dec(x_38);
+lean_dec(x_34);
lean_dec(x_4);
+x_15 = x_37;
+goto block_22;
+}
+}
+else
+{
+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;
+x_42 = lean_ctor_get(x_23, 0);
+x_43 = lean_ctor_get(x_23, 1);
+x_44 = lean_ctor_get(x_23, 2);
+lean_inc(x_44);
+lean_inc(x_43);
+lean_inc(x_42);
+lean_dec(x_23);
+x_45 = lean_ctor_get(x_11, 1);
+lean_inc(x_45);
+x_46 = l_Lean_FileMap_toPosition(x_44, x_45);
+x_47 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_47, 0, x_42);
+lean_ctor_set(x_47, 1, x_43);
+lean_ctor_set(x_47, 2, x_44);
+x_48 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_48, 0, x_46);
+x_49 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_49, 0, x_47);
+lean_ctor_set(x_49, 1, x_24);
+lean_ctor_set(x_49, 2, x_25);
+lean_ctor_set(x_49, 3, x_26);
+lean_ctor_set(x_49, 4, x_48);
+lean_ctor_set(x_49, 5, x_28);
+lean_ctor_set_uint8(x_49, sizeof(void*)*6, x_27);
+x_50 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__6;
+x_51 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__13;
+lean_inc(x_49);
+x_52 = l_Lean_Parser_symbolFnAux(x_50, x_51, x_49, x_11);
+x_53 = lean_ctor_get(x_52, 3);
+lean_inc(x_53);
+if (lean_obj_tag(x_53) == 0)
+{
+lean_object* x_54; uint8_t x_55; lean_object* x_56;
+x_54 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__4;
+x_55 = 1;
+x_56 = l_Lean_Parser_orelseFnCore(x_4, x_54, x_55, x_49, x_52);
+x_15 = x_56;
+goto block_22;
+}
+else
+{
+lean_dec(x_53);
+lean_dec(x_49);
+lean_dec(x_4);
+x_15 = x_52;
+goto block_22;
+}
+}
+block_22:
+{
+lean_object* x_16;
+x_16 = lean_ctor_get(x_15, 3);
+lean_inc(x_16);
+if (lean_obj_tag(x_16) == 0)
+{
+lean_object* x_17; lean_object* x_18; lean_object* x_19;
+x_17 = lean_apply_2(x_6, x_1, x_15);
+x_18 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__2;
+x_19 = l_Lean_Parser_ParserState_mkNode(x_17, x_18, x_14);
+return x_19;
+}
+else
+{
+lean_object* x_20; lean_object* x_21;
+lean_dec(x_16);
+lean_dec(x_6);
lean_dec(x_1);
-x_53 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__2;
-x_54 = l_Lean_Parser_ParserState_mkNode(x_26, x_53, x_14);
-return x_54;
+x_20 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__2;
+x_21 = l_Lean_Parser_ParserState_mkNode(x_15, x_20, x_14);
+return x_21;
}
}
}
@@ -79184,524 +56771,13 @@ return x_11;
}
else
{
-lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73;
-x_69 = lean_ctor_get(x_2, 0);
-lean_inc(x_69);
-x_70 = lean_array_get_size(x_69);
-lean_dec(x_69);
-x_71 = lean_ctor_get(x_2, 1);
-lean_inc(x_71);
-lean_inc(x_1);
-x_72 = lean_apply_2(x_8, x_1, x_2);
-x_73 = lean_ctor_get(x_72, 3);
-lean_inc(x_73);
-if (lean_obj_tag(x_73) == 0)
-{
-lean_dec(x_71);
-lean_dec(x_70);
+lean_object* x_57; uint8_t x_58; lean_object* x_59;
lean_dec(x_6);
lean_dec(x_4);
-lean_dec(x_1);
-return x_72;
-}
-else
-{
-uint8_t x_74;
-x_74 = !lean_is_exclusive(x_73);
-if (x_74 == 0)
-{
-lean_object* x_75; lean_object* x_76; uint8_t x_77;
-x_75 = lean_ctor_get(x_73, 0);
-x_76 = lean_ctor_get(x_72, 1);
-lean_inc(x_76);
-x_77 = lean_nat_dec_eq(x_76, x_71);
-lean_dec(x_76);
-if (x_77 == 0)
-{
-lean_free_object(x_73);
-lean_dec(x_75);
-lean_dec(x_71);
-lean_dec(x_70);
-lean_dec(x_6);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_72;
-}
-else
-{
-lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81;
-lean_inc(x_71);
-x_78 = l_Lean_Parser_ParserState_restore(x_72, x_70, x_71);
-lean_dec(x_70);
-x_79 = l_Lean_Parser_leadPrec;
-x_80 = l_Lean_Parser_checkPrecFn(x_79, x_1, x_78);
-x_81 = lean_ctor_get(x_80, 3);
-lean_inc(x_81);
-if (lean_obj_tag(x_81) == 0)
-{
-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_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_132; lean_object* x_133;
-x_82 = lean_ctor_get(x_80, 0);
-lean_inc(x_82);
-x_83 = lean_array_get_size(x_82);
-lean_dec(x_82);
-x_84 = lean_ctor_get(x_1, 0);
-lean_inc(x_84);
-x_85 = lean_ctor_get(x_1, 1);
-lean_inc(x_85);
-x_86 = lean_ctor_get(x_1, 2);
-lean_inc(x_86);
-x_87 = lean_ctor_get(x_1, 3);
-lean_inc(x_87);
-x_88 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
-x_89 = lean_ctor_get(x_1, 5);
-lean_inc(x_89);
-x_90 = lean_ctor_get(x_84, 2);
-lean_inc(x_90);
-x_91 = lean_ctor_get(x_80, 1);
-lean_inc(x_91);
-lean_inc(x_91);
-x_92 = l_Lean_FileMap_toPosition(x_90, x_91);
-lean_dec(x_90);
-lean_ctor_set(x_73, 0, x_92);
-x_93 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_93, 0, x_84);
-lean_ctor_set(x_93, 1, x_85);
-lean_ctor_set(x_93, 2, x_86);
-lean_ctor_set(x_93, 3, x_87);
-lean_ctor_set(x_93, 4, x_73);
-lean_ctor_set(x_93, 5, x_89);
-lean_ctor_set_uint8(x_93, sizeof(void*)*6, x_88);
-lean_inc(x_93);
-x_132 = l_Lean_Parser_tokenFn(x_93, x_80);
-x_133 = lean_ctor_get(x_132, 3);
-lean_inc(x_133);
-if (lean_obj_tag(x_133) == 0)
-{
-lean_object* x_134; lean_object* x_135;
-x_134 = lean_ctor_get(x_132, 0);
-lean_inc(x_134);
-x_135 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_134);
-lean_dec(x_134);
-if (lean_obj_tag(x_135) == 2)
-{
-lean_object* x_136; lean_object* x_137; uint8_t x_138;
-x_136 = lean_ctor_get(x_135, 1);
-lean_inc(x_136);
-lean_dec(x_135);
-x_137 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__6;
-x_138 = lean_string_dec_eq(x_136, x_137);
-lean_dec(x_136);
-if (x_138 == 0)
-{
-lean_object* x_139; lean_object* x_140;
-x_139 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__10;
-x_140 = l_Lean_Parser_ParserState_mkErrorsAt(x_132, x_139, x_91);
-x_94 = x_140;
-goto block_131;
-}
-else
-{
-lean_dec(x_91);
-x_94 = x_132;
-goto block_131;
-}
-}
-else
-{
-lean_object* x_141; lean_object* x_142;
-lean_dec(x_135);
-x_141 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__10;
-x_142 = l_Lean_Parser_ParserState_mkErrorsAt(x_132, x_141, x_91);
-x_94 = x_142;
-goto block_131;
-}
-}
-else
-{
-lean_object* x_143; lean_object* x_144;
-lean_dec(x_133);
-x_143 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__10;
-x_144 = l_Lean_Parser_ParserState_mkErrorsAt(x_132, x_143, x_91);
-x_94 = x_144;
-goto block_131;
-}
-block_131:
-{
-lean_object* x_95;
-x_95 = lean_ctor_get(x_94, 3);
-lean_inc(x_95);
-if (lean_obj_tag(x_95) == 0)
-{
-lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100;
-x_96 = lean_ctor_get(x_94, 0);
-lean_inc(x_96);
-x_97 = lean_array_get_size(x_96);
-lean_dec(x_96);
-x_98 = lean_ctor_get(x_94, 1);
-lean_inc(x_98);
-lean_inc(x_93);
-x_99 = lean_apply_2(x_4, x_93, x_94);
-x_100 = lean_ctor_get(x_99, 3);
-lean_inc(x_100);
-if (lean_obj_tag(x_100) == 0)
-{
-lean_object* x_101; lean_object* x_102; lean_object* x_103; uint8_t x_104; lean_object* x_105;
-lean_dec(x_98);
-lean_dec(x_97);
-lean_dec(x_93);
-x_101 = lean_apply_2(x_6, x_1, x_99);
-x_102 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__2;
-x_103 = l_Lean_Parser_ParserState_mkNode(x_101, x_102, x_83);
-x_104 = 1;
-x_105 = l_Lean_Parser_mergeOrElseErrors(x_103, x_75, x_71, x_104);
-lean_dec(x_71);
-return x_105;
-}
-else
-{
-lean_object* x_106; lean_object* x_107; uint8_t x_108;
-x_106 = lean_ctor_get(x_100, 0);
-lean_inc(x_106);
-lean_dec(x_100);
-x_107 = lean_ctor_get(x_99, 1);
-lean_inc(x_107);
-x_108 = lean_nat_dec_eq(x_107, x_98);
-lean_dec(x_107);
-if (x_108 == 0)
-{
-lean_object* x_109; lean_object* x_110; uint8_t x_111; lean_object* x_112;
-lean_dec(x_106);
-lean_dec(x_98);
-lean_dec(x_97);
-lean_dec(x_93);
-lean_dec(x_6);
-lean_dec(x_1);
-x_109 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__2;
-x_110 = l_Lean_Parser_ParserState_mkNode(x_99, x_109, x_83);
-x_111 = 1;
-x_112 = l_Lean_Parser_mergeOrElseErrors(x_110, x_75, x_71, x_111);
-lean_dec(x_71);
-return x_112;
-}
-else
-{
-lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; uint8_t x_117; lean_object* x_118; lean_object* x_119;
-lean_inc(x_98);
-x_113 = l_Lean_Parser_ParserState_restore(x_99, x_97, x_98);
-lean_dec(x_97);
-x_114 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_115 = lean_unsigned_to_nat(0u);
-x_116 = l_Lean_Parser_categoryParser___elambda__1(x_114, x_115, x_93, x_113);
-x_117 = 1;
-x_118 = l_Lean_Parser_mergeOrElseErrors(x_116, x_106, x_98, x_117);
-lean_dec(x_98);
-x_119 = lean_ctor_get(x_118, 3);
-lean_inc(x_119);
-if (lean_obj_tag(x_119) == 0)
-{
-lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123;
-x_120 = lean_apply_2(x_6, x_1, x_118);
-x_121 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__2;
-x_122 = l_Lean_Parser_ParserState_mkNode(x_120, x_121, x_83);
-x_123 = l_Lean_Parser_mergeOrElseErrors(x_122, x_75, x_71, x_117);
-lean_dec(x_71);
-return x_123;
-}
-else
-{
-lean_object* x_124; lean_object* x_125; lean_object* x_126;
-lean_dec(x_119);
-lean_dec(x_6);
-lean_dec(x_1);
-x_124 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__2;
-x_125 = l_Lean_Parser_ParserState_mkNode(x_118, x_124, x_83);
-x_126 = l_Lean_Parser_mergeOrElseErrors(x_125, x_75, x_71, x_117);
-lean_dec(x_71);
-return x_126;
-}
-}
-}
-}
-else
-{
-lean_object* x_127; lean_object* x_128; uint8_t x_129; lean_object* x_130;
-lean_dec(x_95);
-lean_dec(x_93);
-lean_dec(x_6);
-lean_dec(x_4);
-lean_dec(x_1);
-x_127 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__2;
-x_128 = l_Lean_Parser_ParserState_mkNode(x_94, x_127, x_83);
-x_129 = 1;
-x_130 = l_Lean_Parser_mergeOrElseErrors(x_128, x_75, x_71, x_129);
-lean_dec(x_71);
-return x_130;
-}
-}
-}
-else
-{
-uint8_t x_145; lean_object* x_146;
-lean_dec(x_81);
-lean_free_object(x_73);
-lean_dec(x_6);
-lean_dec(x_4);
-lean_dec(x_1);
-x_145 = 1;
-x_146 = l_Lean_Parser_mergeOrElseErrors(x_80, x_75, x_71, x_145);
-lean_dec(x_71);
-return x_146;
-}
-}
-}
-else
-{
-lean_object* x_147; lean_object* x_148; uint8_t x_149;
-x_147 = lean_ctor_get(x_73, 0);
-lean_inc(x_147);
-lean_dec(x_73);
-x_148 = lean_ctor_get(x_72, 1);
-lean_inc(x_148);
-x_149 = lean_nat_dec_eq(x_148, x_71);
-lean_dec(x_148);
-if (x_149 == 0)
-{
-lean_dec(x_147);
-lean_dec(x_71);
-lean_dec(x_70);
-lean_dec(x_6);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_72;
-}
-else
-{
-lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153;
-lean_inc(x_71);
-x_150 = l_Lean_Parser_ParserState_restore(x_72, x_70, x_71);
-lean_dec(x_70);
-x_151 = l_Lean_Parser_leadPrec;
-x_152 = l_Lean_Parser_checkPrecFn(x_151, x_1, x_150);
-x_153 = lean_ctor_get(x_152, 3);
-lean_inc(x_153);
-if (lean_obj_tag(x_153) == 0)
-{
-lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; uint8_t x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_205; lean_object* x_206;
-x_154 = lean_ctor_get(x_152, 0);
-lean_inc(x_154);
-x_155 = lean_array_get_size(x_154);
-lean_dec(x_154);
-x_156 = lean_ctor_get(x_1, 0);
-lean_inc(x_156);
-x_157 = lean_ctor_get(x_1, 1);
-lean_inc(x_157);
-x_158 = lean_ctor_get(x_1, 2);
-lean_inc(x_158);
-x_159 = lean_ctor_get(x_1, 3);
-lean_inc(x_159);
-x_160 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
-x_161 = lean_ctor_get(x_1, 5);
-lean_inc(x_161);
-x_162 = lean_ctor_get(x_156, 2);
-lean_inc(x_162);
-x_163 = lean_ctor_get(x_152, 1);
-lean_inc(x_163);
-lean_inc(x_163);
-x_164 = l_Lean_FileMap_toPosition(x_162, x_163);
-lean_dec(x_162);
-x_165 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_165, 0, x_164);
-x_166 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_166, 0, x_156);
-lean_ctor_set(x_166, 1, x_157);
-lean_ctor_set(x_166, 2, x_158);
-lean_ctor_set(x_166, 3, x_159);
-lean_ctor_set(x_166, 4, x_165);
-lean_ctor_set(x_166, 5, x_161);
-lean_ctor_set_uint8(x_166, sizeof(void*)*6, x_160);
-lean_inc(x_166);
-x_205 = l_Lean_Parser_tokenFn(x_166, x_152);
-x_206 = lean_ctor_get(x_205, 3);
-lean_inc(x_206);
-if (lean_obj_tag(x_206) == 0)
-{
-lean_object* x_207; lean_object* x_208;
-x_207 = lean_ctor_get(x_205, 0);
-lean_inc(x_207);
-x_208 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_207);
-lean_dec(x_207);
-if (lean_obj_tag(x_208) == 2)
-{
-lean_object* x_209; lean_object* x_210; uint8_t x_211;
-x_209 = lean_ctor_get(x_208, 1);
-lean_inc(x_209);
-lean_dec(x_208);
-x_210 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__6;
-x_211 = lean_string_dec_eq(x_209, x_210);
-lean_dec(x_209);
-if (x_211 == 0)
-{
-lean_object* x_212; lean_object* x_213;
-x_212 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__10;
-x_213 = l_Lean_Parser_ParserState_mkErrorsAt(x_205, x_212, x_163);
-x_167 = x_213;
-goto block_204;
-}
-else
-{
-lean_dec(x_163);
-x_167 = x_205;
-goto block_204;
-}
-}
-else
-{
-lean_object* x_214; lean_object* x_215;
-lean_dec(x_208);
-x_214 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__10;
-x_215 = l_Lean_Parser_ParserState_mkErrorsAt(x_205, x_214, x_163);
-x_167 = x_215;
-goto block_204;
-}
-}
-else
-{
-lean_object* x_216; lean_object* x_217;
-lean_dec(x_206);
-x_216 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__10;
-x_217 = l_Lean_Parser_ParserState_mkErrorsAt(x_205, x_216, x_163);
-x_167 = x_217;
-goto block_204;
-}
-block_204:
-{
-lean_object* x_168;
-x_168 = lean_ctor_get(x_167, 3);
-lean_inc(x_168);
-if (lean_obj_tag(x_168) == 0)
-{
-lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173;
-x_169 = lean_ctor_get(x_167, 0);
-lean_inc(x_169);
-x_170 = lean_array_get_size(x_169);
-lean_dec(x_169);
-x_171 = lean_ctor_get(x_167, 1);
-lean_inc(x_171);
-lean_inc(x_166);
-x_172 = lean_apply_2(x_4, x_166, x_167);
-x_173 = lean_ctor_get(x_172, 3);
-lean_inc(x_173);
-if (lean_obj_tag(x_173) == 0)
-{
-lean_object* x_174; lean_object* x_175; lean_object* x_176; uint8_t x_177; lean_object* x_178;
-lean_dec(x_171);
-lean_dec(x_170);
-lean_dec(x_166);
-x_174 = lean_apply_2(x_6, x_1, x_172);
-x_175 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__2;
-x_176 = l_Lean_Parser_ParserState_mkNode(x_174, x_175, x_155);
-x_177 = 1;
-x_178 = l_Lean_Parser_mergeOrElseErrors(x_176, x_147, x_71, x_177);
-lean_dec(x_71);
-return x_178;
-}
-else
-{
-lean_object* x_179; lean_object* x_180; uint8_t x_181;
-x_179 = lean_ctor_get(x_173, 0);
-lean_inc(x_179);
-lean_dec(x_173);
-x_180 = lean_ctor_get(x_172, 1);
-lean_inc(x_180);
-x_181 = lean_nat_dec_eq(x_180, x_171);
-lean_dec(x_180);
-if (x_181 == 0)
-{
-lean_object* x_182; lean_object* x_183; uint8_t x_184; lean_object* x_185;
-lean_dec(x_179);
-lean_dec(x_171);
-lean_dec(x_170);
-lean_dec(x_166);
-lean_dec(x_6);
-lean_dec(x_1);
-x_182 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__2;
-x_183 = l_Lean_Parser_ParserState_mkNode(x_172, x_182, x_155);
-x_184 = 1;
-x_185 = l_Lean_Parser_mergeOrElseErrors(x_183, x_147, x_71, x_184);
-lean_dec(x_71);
-return x_185;
-}
-else
-{
-lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; uint8_t x_190; lean_object* x_191; lean_object* x_192;
-lean_inc(x_171);
-x_186 = l_Lean_Parser_ParserState_restore(x_172, x_170, x_171);
-lean_dec(x_170);
-x_187 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_188 = lean_unsigned_to_nat(0u);
-x_189 = l_Lean_Parser_categoryParser___elambda__1(x_187, x_188, x_166, x_186);
-x_190 = 1;
-x_191 = l_Lean_Parser_mergeOrElseErrors(x_189, x_179, x_171, x_190);
-lean_dec(x_171);
-x_192 = lean_ctor_get(x_191, 3);
-lean_inc(x_192);
-if (lean_obj_tag(x_192) == 0)
-{
-lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196;
-x_193 = lean_apply_2(x_6, x_1, x_191);
-x_194 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__2;
-x_195 = l_Lean_Parser_ParserState_mkNode(x_193, x_194, x_155);
-x_196 = l_Lean_Parser_mergeOrElseErrors(x_195, x_147, x_71, x_190);
-lean_dec(x_71);
-return x_196;
-}
-else
-{
-lean_object* x_197; lean_object* x_198; lean_object* x_199;
-lean_dec(x_192);
-lean_dec(x_6);
-lean_dec(x_1);
-x_197 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__2;
-x_198 = l_Lean_Parser_ParserState_mkNode(x_191, x_197, x_155);
-x_199 = l_Lean_Parser_mergeOrElseErrors(x_198, x_147, x_71, x_190);
-lean_dec(x_71);
-return x_199;
-}
-}
-}
-}
-else
-{
-lean_object* x_200; lean_object* x_201; uint8_t x_202; lean_object* x_203;
-lean_dec(x_168);
-lean_dec(x_166);
-lean_dec(x_6);
-lean_dec(x_4);
-lean_dec(x_1);
-x_200 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__2;
-x_201 = l_Lean_Parser_ParserState_mkNode(x_167, x_200, x_155);
-x_202 = 1;
-x_203 = l_Lean_Parser_mergeOrElseErrors(x_201, x_147, x_71, x_202);
-lean_dec(x_71);
-return x_203;
-}
-}
-}
-else
-{
-uint8_t x_218; lean_object* x_219;
-lean_dec(x_153);
-lean_dec(x_6);
-lean_dec(x_4);
-lean_dec(x_1);
-x_218 = 1;
-x_219 = l_Lean_Parser_mergeOrElseErrors(x_152, x_147, x_71, x_218);
-lean_dec(x_71);
-return x_219;
-}
-}
-}
-}
+x_57 = l_Lean_Parser_Term_dbgTrace___elambda__1___closed__11;
+x_58 = 1;
+x_59 = l_Lean_Parser_orelseFnCore(x_8, x_57, x_58, x_1, x_2);
+return x_59;
}
}
}
@@ -79742,7 +56818,7 @@ static lean_object* _init_l_Lean_Parser_Term_dbgTrace___closed__4() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
-x_1 = l_Lean_Parser_Term_have___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Term_have___elambda__1___closed__8;
x_2 = lean_ctor_get(x_1, 0);
lean_inc(x_2);
x_3 = l_Lean_Parser_Term_dbgTrace___closed__3;
@@ -79810,6 +56886,15 @@ x_1 = l_Lean_Parser_Term_dbgTrace___closed__9;
return x_1;
}
}
+lean_object* l_Lean_Parser_Term_dbgTrace___elambda__1___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
+_start:
+{
+lean_object* x_6;
+x_6 = l_Lean_Parser_Term_dbgTrace___elambda__1___lambda__1(x_1, x_2, x_3, x_4, x_5);
+lean_dec(x_1);
+return x_6;
+}
+}
lean_object* l___regBuiltinParser_Lean_Parser_Term_dbgTrace(lean_object* x_1) {
_start:
{
@@ -80057,6 +57142,169 @@ x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1);
return x_5;
}
}
+lean_object* l_Lean_Parser_Term_assert___elambda__1___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
+_start:
+{
+uint8_t x_5;
+x_5 = !lean_is_exclusive(x_3);
+if (x_5 == 0)
+{
+lean_object* x_6; lean_object* x_7; uint8_t x_8;
+x_6 = lean_ctor_get(x_3, 0);
+x_7 = lean_ctor_get(x_3, 4);
+lean_dec(x_7);
+x_8 = !lean_is_exclusive(x_6);
+if (x_8 == 0)
+{
+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; lean_object* x_16; lean_object* x_17;
+x_9 = lean_ctor_get(x_6, 2);
+x_10 = lean_ctor_get(x_4, 1);
+lean_inc(x_10);
+x_11 = l_Lean_FileMap_toPosition(x_9, x_10);
+x_12 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_12, 0, x_11);
+lean_ctor_set(x_3, 4, x_12);
+x_13 = l_Char_HasRepr___closed__1;
+x_14 = lean_string_append(x_13, x_1);
+x_15 = lean_string_append(x_14, x_13);
+lean_inc(x_3);
+x_16 = l_Lean_Parser_symbolFnAux(x_1, x_15, x_3, x_4);
+x_17 = lean_ctor_get(x_16, 3);
+lean_inc(x_17);
+if (lean_obj_tag(x_17) == 0)
+{
+lean_object* x_18; lean_object* x_19;
+x_18 = lean_unsigned_to_nat(0u);
+x_19 = l_Lean_Parser_categoryParser___elambda__1(x_2, x_18, x_3, x_16);
+return x_19;
+}
+else
+{
+lean_dec(x_17);
+lean_dec(x_3);
+lean_dec(x_2);
+return x_16;
+}
+}
+else
+{
+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;
+x_20 = lean_ctor_get(x_6, 0);
+x_21 = lean_ctor_get(x_6, 1);
+x_22 = lean_ctor_get(x_6, 2);
+lean_inc(x_22);
+lean_inc(x_21);
+lean_inc(x_20);
+lean_dec(x_6);
+x_23 = lean_ctor_get(x_4, 1);
+lean_inc(x_23);
+x_24 = l_Lean_FileMap_toPosition(x_22, x_23);
+x_25 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_25, 0, x_20);
+lean_ctor_set(x_25, 1, x_21);
+lean_ctor_set(x_25, 2, x_22);
+x_26 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_26, 0, x_24);
+lean_ctor_set(x_3, 4, x_26);
+lean_ctor_set(x_3, 0, x_25);
+x_27 = l_Char_HasRepr___closed__1;
+x_28 = lean_string_append(x_27, x_1);
+x_29 = lean_string_append(x_28, x_27);
+lean_inc(x_3);
+x_30 = l_Lean_Parser_symbolFnAux(x_1, x_29, x_3, x_4);
+x_31 = lean_ctor_get(x_30, 3);
+lean_inc(x_31);
+if (lean_obj_tag(x_31) == 0)
+{
+lean_object* x_32; lean_object* x_33;
+x_32 = lean_unsigned_to_nat(0u);
+x_33 = l_Lean_Parser_categoryParser___elambda__1(x_2, x_32, x_3, x_30);
+return x_33;
+}
+else
+{
+lean_dec(x_31);
+lean_dec(x_3);
+lean_dec(x_2);
+return x_30;
+}
+}
+}
+else
+{
+lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; uint8_t 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;
+x_34 = lean_ctor_get(x_3, 0);
+x_35 = lean_ctor_get(x_3, 1);
+x_36 = lean_ctor_get(x_3, 2);
+x_37 = lean_ctor_get(x_3, 3);
+x_38 = lean_ctor_get_uint8(x_3, sizeof(void*)*6);
+x_39 = lean_ctor_get(x_3, 5);
+lean_inc(x_39);
+lean_inc(x_37);
+lean_inc(x_36);
+lean_inc(x_35);
+lean_inc(x_34);
+lean_dec(x_3);
+x_40 = lean_ctor_get(x_34, 0);
+lean_inc(x_40);
+x_41 = lean_ctor_get(x_34, 1);
+lean_inc(x_41);
+x_42 = lean_ctor_get(x_34, 2);
+lean_inc(x_42);
+if (lean_is_exclusive(x_34)) {
+ lean_ctor_release(x_34, 0);
+ lean_ctor_release(x_34, 1);
+ lean_ctor_release(x_34, 2);
+ x_43 = x_34;
+} else {
+ lean_dec_ref(x_34);
+ x_43 = lean_box(0);
+}
+x_44 = lean_ctor_get(x_4, 1);
+lean_inc(x_44);
+x_45 = l_Lean_FileMap_toPosition(x_42, x_44);
+if (lean_is_scalar(x_43)) {
+ x_46 = lean_alloc_ctor(0, 3, 0);
+} else {
+ x_46 = x_43;
+}
+lean_ctor_set(x_46, 0, x_40);
+lean_ctor_set(x_46, 1, x_41);
+lean_ctor_set(x_46, 2, x_42);
+x_47 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_47, 0, x_45);
+x_48 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_48, 0, x_46);
+lean_ctor_set(x_48, 1, x_35);
+lean_ctor_set(x_48, 2, x_36);
+lean_ctor_set(x_48, 3, x_37);
+lean_ctor_set(x_48, 4, x_47);
+lean_ctor_set(x_48, 5, x_39);
+lean_ctor_set_uint8(x_48, sizeof(void*)*6, x_38);
+x_49 = l_Char_HasRepr___closed__1;
+x_50 = lean_string_append(x_49, x_1);
+x_51 = lean_string_append(x_50, x_49);
+lean_inc(x_48);
+x_52 = l_Lean_Parser_symbolFnAux(x_1, x_51, x_48, x_4);
+x_53 = lean_ctor_get(x_52, 3);
+lean_inc(x_53);
+if (lean_obj_tag(x_53) == 0)
+{
+lean_object* x_54; lean_object* x_55;
+x_54 = lean_unsigned_to_nat(0u);
+x_55 = l_Lean_Parser_categoryParser___elambda__1(x_2, x_54, x_48, x_52);
+return x_55;
+}
+else
+{
+lean_dec(x_53);
+lean_dec(x_48);
+lean_dec(x_2);
+return x_52;
+}
+}
+}
+}
static lean_object* _init_l_Lean_Parser_Term_assert___elambda__1___closed__1() {
_start:
{
@@ -80117,31 +57365,69 @@ static lean_object* _init_l_Lean_Parser_Term_assert___elambda__1___closed__7() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Char_HasRepr___closed__1;
-x_2 = l_Lean_Parser_Term_assert___elambda__1___closed__6;
-x_3 = lean_string_append(x_1, x_2);
+x_1 = l_Lean_Parser_Term_assert___elambda__1___closed__6;
+x_2 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_Term_assert___elambda__1___lambda__1___boxed), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
static lean_object* _init_l_Lean_Parser_Term_assert___elambda__1___closed__8() {
_start:
{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Term_assert___elambda__1___closed__7;
-x_2 = l_Char_HasRepr___closed__1;
-x_3 = lean_string_append(x_1, x_2);
-return x_3;
+lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
+x_1 = l_Lean_Parser_Term_have___elambda__1___closed__8;
+x_2 = lean_ctor_get(x_1, 1);
+lean_inc(x_2);
+x_3 = l_Lean_Parser_Term_assert___elambda__1___closed__7;
+x_4 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_4, 0, x_3);
+lean_closure_set(x_4, 1, x_2);
+return x_4;
}
}
static lean_object* _init_l_Lean_Parser_Term_assert___elambda__1___closed__9() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
+x_1 = l_Lean_Parser_Term_assert___elambda__1___closed__2;
x_2 = l_Lean_Parser_Term_assert___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_assert___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_byTactic___elambda__1___closed__9;
+x_2 = l_Lean_Parser_Term_assert___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_assert___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Char_HasRepr___closed__1;
+x_2 = l_Lean_Parser_Term_assert___elambda__1___closed__6;
+x_3 = lean_string_append(x_1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Term_assert___elambda__1___closed__12() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Term_assert___elambda__1___closed__11;
+x_2 = l_Char_HasRepr___closed__1;
+x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
@@ -80149,7 +57435,7 @@ lean_object* l_Lean_Parser_Term_assert___elambda__1(lean_object* x_1, lean_objec
_start:
{
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; uint8_t x_7;
-x_3 = l_Lean_Parser_Term_have___elambda__1___closed__7;
+x_3 = l_Lean_Parser_Term_have___elambda__1___closed__8;
x_4 = lean_ctor_get(x_3, 1);
lean_inc(x_4);
x_5 = l_Lean_Parser_Term_assert___elambda__1___closed__4;
@@ -80168,7 +57454,7 @@ x_10 = lean_ctor_get(x_9, 3);
lean_inc(x_10);
if (lean_obj_tag(x_10) == 0)
{
-lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; uint8_t 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_11; lean_object* x_12; lean_object* x_13; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; uint8_t x_25; lean_object* x_26; uint8_t x_27;
x_11 = lean_ctor_get(x_9, 0);
lean_inc(x_11);
x_12 = lean_array_get_size(x_11);
@@ -80184,84 +57470,97 @@ lean_inc(x_24);
x_25 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
x_26 = lean_ctor_get(x_1, 5);
lean_inc(x_26);
-x_27 = lean_ctor_get(x_21, 2);
-lean_inc(x_27);
-x_28 = lean_ctor_get(x_9, 1);
-lean_inc(x_28);
-lean_inc(x_28);
-x_29 = l_Lean_FileMap_toPosition(x_27, x_28);
-lean_dec(x_27);
-x_30 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_30, 0, x_29);
-x_31 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_31, 0, x_21);
-lean_ctor_set(x_31, 1, x_22);
-lean_ctor_set(x_31, 2, x_23);
-lean_ctor_set(x_31, 3, x_24);
-lean_ctor_set(x_31, 4, x_30);
-lean_ctor_set(x_31, 5, x_26);
-lean_ctor_set_uint8(x_31, sizeof(void*)*6, x_25);
-lean_inc(x_31);
-x_32 = l_Lean_Parser_tokenFn(x_31, x_9);
-x_33 = lean_ctor_get(x_32, 3);
-lean_inc(x_33);
-if (lean_obj_tag(x_33) == 0)
+x_27 = !lean_is_exclusive(x_21);
+if (x_27 == 0)
{
-lean_object* x_34; lean_object* x_35;
-x_34 = lean_ctor_get(x_32, 0);
-lean_inc(x_34);
-x_35 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_34);
-lean_dec(x_34);
-if (lean_obj_tag(x_35) == 2)
-{
-lean_object* x_36; lean_object* x_37; uint8_t x_38;
-x_36 = lean_ctor_get(x_35, 1);
+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;
+x_28 = lean_ctor_get(x_21, 2);
+x_29 = lean_ctor_get(x_9, 1);
+lean_inc(x_29);
+x_30 = l_Lean_FileMap_toPosition(x_28, x_29);
+x_31 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_31, 0, x_30);
+x_32 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_32, 0, x_21);
+lean_ctor_set(x_32, 1, x_22);
+lean_ctor_set(x_32, 2, x_23);
+lean_ctor_set(x_32, 3, x_24);
+lean_ctor_set(x_32, 4, x_31);
+lean_ctor_set(x_32, 5, x_26);
+lean_ctor_set_uint8(x_32, sizeof(void*)*6, x_25);
+x_33 = l_Lean_Parser_Term_assert___elambda__1___closed__6;
+x_34 = l_Lean_Parser_Term_assert___elambda__1___closed__12;
+lean_inc(x_32);
+x_35 = l_Lean_Parser_symbolFnAux(x_33, x_34, x_32, x_9);
+x_36 = lean_ctor_get(x_35, 3);
lean_inc(x_36);
-lean_dec(x_35);
-x_37 = l_Lean_Parser_Term_assert___elambda__1___closed__6;
-x_38 = lean_string_dec_eq(x_36, x_37);
+if (lean_obj_tag(x_36) == 0)
+{
+lean_object* x_37; lean_object* x_38; lean_object* x_39;
+x_37 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_38 = lean_unsigned_to_nat(0u);
+x_39 = l_Lean_Parser_categoryParser___elambda__1(x_37, x_38, x_32, x_35);
+x_13 = x_39;
+goto block_20;
+}
+else
+{
lean_dec(x_36);
-if (x_38 == 0)
-{
-lean_object* x_39; lean_object* x_40;
-lean_dec(x_31);
-x_39 = l_Lean_Parser_Term_assert___elambda__1___closed__9;
-x_40 = l_Lean_Parser_ParserState_mkErrorsAt(x_32, x_39, x_28);
-x_13 = x_40;
-goto block_20;
-}
-else
-{
-lean_object* x_41; lean_object* x_42; lean_object* x_43;
-lean_dec(x_28);
-x_41 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_42 = lean_unsigned_to_nat(0u);
-x_43 = l_Lean_Parser_categoryParser___elambda__1(x_41, x_42, x_31, x_32);
-x_13 = x_43;
+lean_dec(x_32);
+x_13 = x_35;
goto block_20;
}
}
else
{
-lean_object* x_44; lean_object* x_45;
-lean_dec(x_35);
-lean_dec(x_31);
-x_44 = l_Lean_Parser_Term_assert___elambda__1___closed__9;
-x_45 = l_Lean_Parser_ParserState_mkErrorsAt(x_32, x_44, x_28);
-x_13 = x_45;
+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;
+x_40 = lean_ctor_get(x_21, 0);
+x_41 = lean_ctor_get(x_21, 1);
+x_42 = lean_ctor_get(x_21, 2);
+lean_inc(x_42);
+lean_inc(x_41);
+lean_inc(x_40);
+lean_dec(x_21);
+x_43 = lean_ctor_get(x_9, 1);
+lean_inc(x_43);
+x_44 = l_Lean_FileMap_toPosition(x_42, x_43);
+x_45 = lean_alloc_ctor(0, 3, 0);
+lean_ctor_set(x_45, 0, x_40);
+lean_ctor_set(x_45, 1, x_41);
+lean_ctor_set(x_45, 2, x_42);
+x_46 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_46, 0, x_44);
+x_47 = lean_alloc_ctor(0, 6, 1);
+lean_ctor_set(x_47, 0, x_45);
+lean_ctor_set(x_47, 1, x_22);
+lean_ctor_set(x_47, 2, x_23);
+lean_ctor_set(x_47, 3, x_24);
+lean_ctor_set(x_47, 4, x_46);
+lean_ctor_set(x_47, 5, x_26);
+lean_ctor_set_uint8(x_47, sizeof(void*)*6, x_25);
+x_48 = l_Lean_Parser_Term_assert___elambda__1___closed__6;
+x_49 = l_Lean_Parser_Term_assert___elambda__1___closed__12;
+lean_inc(x_47);
+x_50 = l_Lean_Parser_symbolFnAux(x_48, x_49, x_47, x_9);
+x_51 = lean_ctor_get(x_50, 3);
+lean_inc(x_51);
+if (lean_obj_tag(x_51) == 0)
+{
+lean_object* x_52; lean_object* x_53; lean_object* x_54;
+x_52 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
+x_53 = lean_unsigned_to_nat(0u);
+x_54 = l_Lean_Parser_categoryParser___elambda__1(x_52, x_53, x_47, x_50);
+x_13 = x_54;
goto block_20;
}
-}
else
{
-lean_object* x_46; lean_object* x_47;
-lean_dec(x_33);
-lean_dec(x_31);
-x_46 = l_Lean_Parser_Term_assert___elambda__1___closed__9;
-x_47 = l_Lean_Parser_ParserState_mkErrorsAt(x_32, x_46, x_28);
-x_13 = x_47;
+lean_dec(x_51);
+lean_dec(x_47);
+x_13 = x_50;
goto block_20;
}
+}
block_20:
{
lean_object* x_14;
@@ -80297,367 +57596,12 @@ return x_9;
}
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_2, 0);
-lean_inc(x_48);
-x_49 = lean_array_get_size(x_48);
-lean_dec(x_48);
-x_50 = lean_ctor_get(x_2, 1);
-lean_inc(x_50);
-lean_inc(x_1);
-x_51 = lean_apply_2(x_6, x_1, x_2);
-x_52 = lean_ctor_get(x_51, 3);
-lean_inc(x_52);
-if (lean_obj_tag(x_52) == 0)
-{
-lean_dec(x_50);
-lean_dec(x_49);
+lean_object* x_55; uint8_t x_56; lean_object* x_57;
lean_dec(x_4);
-lean_dec(x_1);
-return x_51;
-}
-else
-{
-uint8_t x_53;
-x_53 = !lean_is_exclusive(x_52);
-if (x_53 == 0)
-{
-lean_object* x_54; lean_object* x_55; uint8_t x_56;
-x_54 = lean_ctor_get(x_52, 0);
-x_55 = lean_ctor_get(x_51, 1);
-lean_inc(x_55);
-x_56 = lean_nat_dec_eq(x_55, x_50);
-lean_dec(x_55);
-if (x_56 == 0)
-{
-lean_free_object(x_52);
-lean_dec(x_54);
-lean_dec(x_50);
-lean_dec(x_49);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_51;
-}
-else
-{
-lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60;
-lean_inc(x_50);
-x_57 = l_Lean_Parser_ParserState_restore(x_51, x_49, x_50);
-lean_dec(x_49);
-x_58 = l_Lean_Parser_leadPrec;
-x_59 = l_Lean_Parser_checkPrecFn(x_58, x_1, x_57);
-x_60 = lean_ctor_get(x_59, 3);
-lean_inc(x_60);
-if (lean_obj_tag(x_60) == 0)
-{
-lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; uint8_t 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;
-x_61 = lean_ctor_get(x_59, 0);
-lean_inc(x_61);
-x_62 = lean_array_get_size(x_61);
-lean_dec(x_61);
-x_75 = lean_ctor_get(x_1, 0);
-lean_inc(x_75);
-x_76 = lean_ctor_get(x_1, 1);
-lean_inc(x_76);
-x_77 = lean_ctor_get(x_1, 2);
-lean_inc(x_77);
-x_78 = lean_ctor_get(x_1, 3);
-lean_inc(x_78);
-x_79 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
-x_80 = lean_ctor_get(x_1, 5);
-lean_inc(x_80);
-x_81 = lean_ctor_get(x_75, 2);
-lean_inc(x_81);
-x_82 = lean_ctor_get(x_59, 1);
-lean_inc(x_82);
-lean_inc(x_82);
-x_83 = l_Lean_FileMap_toPosition(x_81, x_82);
-lean_dec(x_81);
-lean_ctor_set(x_52, 0, x_83);
-x_84 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_84, 0, x_75);
-lean_ctor_set(x_84, 1, x_76);
-lean_ctor_set(x_84, 2, x_77);
-lean_ctor_set(x_84, 3, x_78);
-lean_ctor_set(x_84, 4, x_52);
-lean_ctor_set(x_84, 5, x_80);
-lean_ctor_set_uint8(x_84, sizeof(void*)*6, x_79);
-lean_inc(x_84);
-x_85 = l_Lean_Parser_tokenFn(x_84, x_59);
-x_86 = lean_ctor_get(x_85, 3);
-lean_inc(x_86);
-if (lean_obj_tag(x_86) == 0)
-{
-lean_object* x_87; lean_object* x_88;
-x_87 = lean_ctor_get(x_85, 0);
-lean_inc(x_87);
-x_88 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_87);
-lean_dec(x_87);
-if (lean_obj_tag(x_88) == 2)
-{
-lean_object* x_89; lean_object* x_90; uint8_t x_91;
-x_89 = lean_ctor_get(x_88, 1);
-lean_inc(x_89);
-lean_dec(x_88);
-x_90 = l_Lean_Parser_Term_assert___elambda__1___closed__6;
-x_91 = lean_string_dec_eq(x_89, x_90);
-lean_dec(x_89);
-if (x_91 == 0)
-{
-lean_object* x_92; lean_object* x_93;
-lean_dec(x_84);
-x_92 = l_Lean_Parser_Term_assert___elambda__1___closed__9;
-x_93 = l_Lean_Parser_ParserState_mkErrorsAt(x_85, x_92, x_82);
-x_63 = x_93;
-goto block_74;
-}
-else
-{
-lean_object* x_94; lean_object* x_95; lean_object* x_96;
-lean_dec(x_82);
-x_94 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_95 = lean_unsigned_to_nat(0u);
-x_96 = l_Lean_Parser_categoryParser___elambda__1(x_94, x_95, x_84, x_85);
-x_63 = x_96;
-goto block_74;
-}
-}
-else
-{
-lean_object* x_97; lean_object* x_98;
-lean_dec(x_88);
-lean_dec(x_84);
-x_97 = l_Lean_Parser_Term_assert___elambda__1___closed__9;
-x_98 = l_Lean_Parser_ParserState_mkErrorsAt(x_85, x_97, x_82);
-x_63 = x_98;
-goto block_74;
-}
-}
-else
-{
-lean_object* x_99; lean_object* x_100;
-lean_dec(x_86);
-lean_dec(x_84);
-x_99 = l_Lean_Parser_Term_assert___elambda__1___closed__9;
-x_100 = l_Lean_Parser_ParserState_mkErrorsAt(x_85, x_99, x_82);
-x_63 = x_100;
-goto block_74;
-}
-block_74:
-{
-lean_object* x_64;
-x_64 = lean_ctor_get(x_63, 3);
-lean_inc(x_64);
-if (lean_obj_tag(x_64) == 0)
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; uint8_t x_68; lean_object* x_69;
-x_65 = lean_apply_2(x_4, x_1, x_63);
-x_66 = l_Lean_Parser_Term_assert___elambda__1___closed__2;
-x_67 = l_Lean_Parser_ParserState_mkNode(x_65, x_66, x_62);
-x_68 = 1;
-x_69 = l_Lean_Parser_mergeOrElseErrors(x_67, x_54, x_50, x_68);
-lean_dec(x_50);
-return x_69;
-}
-else
-{
-lean_object* x_70; lean_object* x_71; uint8_t x_72; lean_object* x_73;
-lean_dec(x_64);
-lean_dec(x_4);
-lean_dec(x_1);
-x_70 = l_Lean_Parser_Term_assert___elambda__1___closed__2;
-x_71 = l_Lean_Parser_ParserState_mkNode(x_63, x_70, x_62);
-x_72 = 1;
-x_73 = l_Lean_Parser_mergeOrElseErrors(x_71, x_54, x_50, x_72);
-lean_dec(x_50);
-return x_73;
-}
-}
-}
-else
-{
-uint8_t x_101; lean_object* x_102;
-lean_dec(x_60);
-lean_free_object(x_52);
-lean_dec(x_4);
-lean_dec(x_1);
-x_101 = 1;
-x_102 = l_Lean_Parser_mergeOrElseErrors(x_59, x_54, x_50, x_101);
-lean_dec(x_50);
-return x_102;
-}
-}
-}
-else
-{
-lean_object* x_103; lean_object* x_104; uint8_t x_105;
-x_103 = lean_ctor_get(x_52, 0);
-lean_inc(x_103);
-lean_dec(x_52);
-x_104 = lean_ctor_get(x_51, 1);
-lean_inc(x_104);
-x_105 = lean_nat_dec_eq(x_104, x_50);
-lean_dec(x_104);
-if (x_105 == 0)
-{
-lean_dec(x_103);
-lean_dec(x_50);
-lean_dec(x_49);
-lean_dec(x_4);
-lean_dec(x_1);
-return x_51;
-}
-else
-{
-lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109;
-lean_inc(x_50);
-x_106 = l_Lean_Parser_ParserState_restore(x_51, x_49, x_50);
-lean_dec(x_49);
-x_107 = l_Lean_Parser_leadPrec;
-x_108 = l_Lean_Parser_checkPrecFn(x_107, x_1, x_106);
-x_109 = lean_ctor_get(x_108, 3);
-lean_inc(x_109);
-if (lean_obj_tag(x_109) == 0)
-{
-lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; uint8_t x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136;
-x_110 = lean_ctor_get(x_108, 0);
-lean_inc(x_110);
-x_111 = lean_array_get_size(x_110);
-lean_dec(x_110);
-x_124 = lean_ctor_get(x_1, 0);
-lean_inc(x_124);
-x_125 = lean_ctor_get(x_1, 1);
-lean_inc(x_125);
-x_126 = lean_ctor_get(x_1, 2);
-lean_inc(x_126);
-x_127 = lean_ctor_get(x_1, 3);
-lean_inc(x_127);
-x_128 = lean_ctor_get_uint8(x_1, sizeof(void*)*6);
-x_129 = lean_ctor_get(x_1, 5);
-lean_inc(x_129);
-x_130 = lean_ctor_get(x_124, 2);
-lean_inc(x_130);
-x_131 = lean_ctor_get(x_108, 1);
-lean_inc(x_131);
-lean_inc(x_131);
-x_132 = l_Lean_FileMap_toPosition(x_130, x_131);
-lean_dec(x_130);
-x_133 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_133, 0, x_132);
-x_134 = lean_alloc_ctor(0, 6, 1);
-lean_ctor_set(x_134, 0, x_124);
-lean_ctor_set(x_134, 1, x_125);
-lean_ctor_set(x_134, 2, x_126);
-lean_ctor_set(x_134, 3, x_127);
-lean_ctor_set(x_134, 4, x_133);
-lean_ctor_set(x_134, 5, x_129);
-lean_ctor_set_uint8(x_134, sizeof(void*)*6, x_128);
-lean_inc(x_134);
-x_135 = l_Lean_Parser_tokenFn(x_134, x_108);
-x_136 = lean_ctor_get(x_135, 3);
-lean_inc(x_136);
-if (lean_obj_tag(x_136) == 0)
-{
-lean_object* x_137; lean_object* x_138;
-x_137 = lean_ctor_get(x_135, 0);
-lean_inc(x_137);
-x_138 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_137);
-lean_dec(x_137);
-if (lean_obj_tag(x_138) == 2)
-{
-lean_object* x_139; lean_object* x_140; uint8_t x_141;
-x_139 = lean_ctor_get(x_138, 1);
-lean_inc(x_139);
-lean_dec(x_138);
-x_140 = l_Lean_Parser_Term_assert___elambda__1___closed__6;
-x_141 = lean_string_dec_eq(x_139, x_140);
-lean_dec(x_139);
-if (x_141 == 0)
-{
-lean_object* x_142; lean_object* x_143;
-lean_dec(x_134);
-x_142 = l_Lean_Parser_Term_assert___elambda__1___closed__9;
-x_143 = l_Lean_Parser_ParserState_mkErrorsAt(x_135, x_142, x_131);
-x_112 = x_143;
-goto block_123;
-}
-else
-{
-lean_object* x_144; lean_object* x_145; lean_object* x_146;
-lean_dec(x_131);
-x_144 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__17;
-x_145 = lean_unsigned_to_nat(0u);
-x_146 = l_Lean_Parser_categoryParser___elambda__1(x_144, x_145, x_134, x_135);
-x_112 = x_146;
-goto block_123;
-}
-}
-else
-{
-lean_object* x_147; lean_object* x_148;
-lean_dec(x_138);
-lean_dec(x_134);
-x_147 = l_Lean_Parser_Term_assert___elambda__1___closed__9;
-x_148 = l_Lean_Parser_ParserState_mkErrorsAt(x_135, x_147, x_131);
-x_112 = x_148;
-goto block_123;
-}
-}
-else
-{
-lean_object* x_149; lean_object* x_150;
-lean_dec(x_136);
-lean_dec(x_134);
-x_149 = l_Lean_Parser_Term_assert___elambda__1___closed__9;
-x_150 = l_Lean_Parser_ParserState_mkErrorsAt(x_135, x_149, x_131);
-x_112 = x_150;
-goto block_123;
-}
-block_123:
-{
-lean_object* x_113;
-x_113 = lean_ctor_get(x_112, 3);
-lean_inc(x_113);
-if (lean_obj_tag(x_113) == 0)
-{
-lean_object* x_114; lean_object* x_115; lean_object* x_116; uint8_t x_117; lean_object* x_118;
-x_114 = lean_apply_2(x_4, x_1, x_112);
-x_115 = l_Lean_Parser_Term_assert___elambda__1___closed__2;
-x_116 = l_Lean_Parser_ParserState_mkNode(x_114, x_115, x_111);
-x_117 = 1;
-x_118 = l_Lean_Parser_mergeOrElseErrors(x_116, x_103, x_50, x_117);
-lean_dec(x_50);
-return x_118;
-}
-else
-{
-lean_object* x_119; lean_object* x_120; uint8_t x_121; lean_object* x_122;
-lean_dec(x_113);
-lean_dec(x_4);
-lean_dec(x_1);
-x_119 = l_Lean_Parser_Term_assert___elambda__1___closed__2;
-x_120 = l_Lean_Parser_ParserState_mkNode(x_112, x_119, x_111);
-x_121 = 1;
-x_122 = l_Lean_Parser_mergeOrElseErrors(x_120, x_103, x_50, x_121);
-lean_dec(x_50);
-return x_122;
-}
-}
-}
-else
-{
-uint8_t x_151; lean_object* x_152;
-lean_dec(x_109);
-lean_dec(x_4);
-lean_dec(x_1);
-x_151 = 1;
-x_152 = l_Lean_Parser_mergeOrElseErrors(x_108, x_103, x_50, x_151);
-lean_dec(x_50);
-return x_152;
-}
-}
-}
-}
+x_55 = l_Lean_Parser_Term_assert___elambda__1___closed__10;
+x_56 = 1;
+x_57 = l_Lean_Parser_orelseFnCore(x_6, x_55, x_56, x_1, x_2);
+return x_57;
}
}
}
@@ -80686,7 +57630,7 @@ static lean_object* _init_l_Lean_Parser_Term_assert___closed__3() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
-x_1 = l_Lean_Parser_Term_have___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Term_have___elambda__1___closed__8;
x_2 = lean_ctor_get(x_1, 0);
lean_inc(x_2);
x_3 = l_Lean_Parser_Term_assert___closed__2;
@@ -80754,6 +57698,15 @@ x_1 = l_Lean_Parser_Term_assert___closed__8;
return x_1;
}
}
+lean_object* l_Lean_Parser_Term_assert___elambda__1___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
+_start:
+{
+lean_object* x_5;
+x_5 = l_Lean_Parser_Term_assert___elambda__1___lambda__1(x_1, x_2, x_3, x_4);
+lean_dec(x_1);
+return x_5;
+}
+}
lean_object* l___regBuiltinParser_Lean_Parser_Term_assert(lean_object* x_1) {
_start:
{
@@ -80998,16 +57951,72 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Tactic_quot___elambda__1___closed__6() {
_start:
{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Tactic_quot___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_quot___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__9;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_toggleInsideQuotFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_quot___elambda__1___closed__8() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_PrettyPrinter_Parenthesizer_tactic_parenthesizer___closed__2;
-x_2 = lean_unsigned_to_nat(0u);
-x_3 = lean_alloc_closure((void*)(l_Lean_Parser_categoryParser___elambda__1), 4, 2);
+x_1 = l_Lean_Parser_Tactic_quot___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Level_paren___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
lean_closure_set(x_3, 0, x_1);
lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Tactic_quot___elambda__1___closed__7() {
+static lean_object* _init_l_Lean_Parser_Tactic_quot___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_quot___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Tactic_quot___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_quot___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_quot___elambda__1___closed__1;
+x_2 = l_Lean_Parser_Tactic_quot___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_quot___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Tactic_quot___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_quot___elambda__1___closed__12() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
@@ -81017,28 +58026,16 @@ x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Tactic_quot___elambda__1___closed__8() {
+static lean_object* _init_l_Lean_Parser_Tactic_quot___elambda__1___closed__13() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Tactic_quot___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Tactic_quot___elambda__1___closed__12;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Tactic_quot___elambda__1___closed__9() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Tactic_quot___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
-}
-}
lean_object* l_Lean_Parser_Tactic_quot___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -81059,163 +58056,53 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_43; lean_object* x_44; lean_object* x_45;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_43 = lean_ctor_get(x_7, 1);
-lean_inc(x_43);
+x_11 = l_Lean_Parser_Tactic_quot___elambda__1___closed__5;
+x_12 = l_Lean_Parser_Tactic_quot___elambda__1___closed__13;
lean_inc(x_1);
-x_44 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_45 = lean_ctor_get(x_44, 3);
-lean_inc(x_45);
-if (lean_obj_tag(x_45) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_46; lean_object* x_47;
-x_46 = lean_ctor_get(x_44, 0);
-lean_inc(x_46);
-x_47 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_46);
-lean_dec(x_46);
-if (lean_obj_tag(x_47) == 2)
-{
-lean_object* x_48; lean_object* x_49; uint8_t x_50;
-x_48 = lean_ctor_get(x_47, 1);
-lean_inc(x_48);
-lean_dec(x_47);
-x_49 = l_Lean_Parser_Tactic_quot___elambda__1___closed__5;
-x_50 = lean_string_dec_eq(x_48, x_49);
-lean_dec(x_48);
-if (x_50 == 0)
-{
-lean_object* x_51; lean_object* x_52;
-x_51 = l_Lean_Parser_Tactic_quot___elambda__1___closed__9;
-x_52 = l_Lean_Parser_ParserState_mkErrorsAt(x_44, x_51, x_43);
-x_11 = x_52;
-goto block_42;
-}
-else
-{
-lean_dec(x_43);
-x_11 = x_44;
-goto block_42;
-}
-}
-else
-{
-lean_object* x_53; lean_object* x_54;
-lean_dec(x_47);
-x_53 = l_Lean_Parser_Tactic_quot___elambda__1___closed__9;
-x_54 = l_Lean_Parser_ParserState_mkErrorsAt(x_44, x_53, x_43);
-x_11 = x_54;
-goto block_42;
-}
-}
-else
-{
-lean_object* x_55; lean_object* x_56;
-lean_dec(x_45);
-x_55 = l_Lean_Parser_Tactic_quot___elambda__1___closed__9;
-x_56 = l_Lean_Parser_ParserState_mkErrorsAt(x_44, x_55, x_43);
-x_11 = x_56;
-goto block_42;
-}
-block_42:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15;
-x_13 = l_Lean_Parser_Tactic_quot___elambda__1___closed__6;
+lean_object* x_15; lean_object* x_16; lean_object* x_17;
+x_15 = l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__9;
lean_inc(x_1);
-x_14 = l_Lean_Parser_toggleInsideQuotFn(x_13, x_1, x_11);
-x_15 = lean_ctor_get(x_14, 3);
-lean_inc(x_15);
-if (lean_obj_tag(x_15) == 0)
+x_16 = l_Lean_Parser_toggleInsideQuotFn(x_15, x_1, x_13);
+x_17 = lean_ctor_get(x_16, 3);
+lean_inc(x_17);
+if (lean_obj_tag(x_17) == 0)
{
-lean_object* x_16; lean_object* x_17; lean_object* x_18;
-x_16 = lean_ctor_get(x_14, 1);
-lean_inc(x_16);
-x_17 = l_Lean_Parser_tokenFn(x_1, x_14);
-x_18 = lean_ctor_get(x_17, 3);
-lean_inc(x_18);
-if (lean_obj_tag(x_18) == 0)
-{
-lean_object* x_19; lean_object* x_20;
-x_19 = lean_ctor_get(x_17, 0);
-lean_inc(x_19);
-x_20 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_19);
-lean_dec(x_19);
-if (lean_obj_tag(x_20) == 2)
-{
-lean_object* x_21; lean_object* x_22; uint8_t x_23;
-x_21 = lean_ctor_get(x_20, 1);
-lean_inc(x_21);
-lean_dec(x_20);
-x_22 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
-x_23 = lean_string_dec_eq(x_21, x_22);
-lean_dec(x_21);
-if (x_23 == 0)
-{
-lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
-x_24 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_25 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_24, x_16);
-x_26 = l_Lean_Parser_Tactic_quot___elambda__1___closed__1;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_25, x_26, x_10);
-return x_27;
+lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
+x_18 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
+x_19 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__9;
+x_20 = l_Lean_Parser_symbolFnAux(x_18, x_19, x_1, x_16);
+x_21 = l_Lean_Parser_Tactic_quot___elambda__1___closed__1;
+x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_10);
+return x_22;
}
else
{
-lean_object* x_28; lean_object* x_29;
-lean_dec(x_16);
-x_28 = l_Lean_Parser_Tactic_quot___elambda__1___closed__1;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_17, x_28, x_10);
-return x_29;
-}
-}
-else
-{
-lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
-lean_dec(x_20);
-x_30 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_31 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_30, x_16);
-x_32 = l_Lean_Parser_Tactic_quot___elambda__1___closed__1;
-x_33 = l_Lean_Parser_ParserState_mkNode(x_31, x_32, x_10);
-return x_33;
-}
-}
-else
-{
-lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-lean_dec(x_18);
-x_34 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_35 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_34, x_16);
-x_36 = l_Lean_Parser_Tactic_quot___elambda__1___closed__1;
-x_37 = l_Lean_Parser_ParserState_mkNode(x_35, x_36, x_10);
-return x_37;
-}
-}
-else
-{
-lean_object* x_38; lean_object* x_39;
-lean_dec(x_15);
+lean_object* x_23; lean_object* x_24;
+lean_dec(x_17);
lean_dec(x_1);
-x_38 = l_Lean_Parser_Tactic_quot___elambda__1___closed__1;
-x_39 = l_Lean_Parser_ParserState_mkNode(x_14, x_38, x_10);
-return x_39;
+x_23 = l_Lean_Parser_Tactic_quot___elambda__1___closed__1;
+x_24 = l_Lean_Parser_ParserState_mkNode(x_16, x_23, x_10);
+return x_24;
}
}
else
{
-lean_object* x_40; lean_object* x_41;
-lean_dec(x_12);
+lean_object* x_25; lean_object* x_26;
+lean_dec(x_14);
lean_dec(x_1);
-x_40 = l_Lean_Parser_Tactic_quot___elambda__1___closed__1;
-x_41 = l_Lean_Parser_ParserState_mkNode(x_11, x_40, x_10);
-return x_41;
-}
+x_25 = l_Lean_Parser_Tactic_quot___elambda__1___closed__1;
+x_26 = l_Lean_Parser_ParserState_mkNode(x_13, x_25, x_10);
+return x_26;
}
}
else
@@ -81227,243 +58114,11 @@ return x_7;
}
else
{
-lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61;
-x_57 = lean_ctor_get(x_2, 0);
-lean_inc(x_57);
-x_58 = lean_array_get_size(x_57);
-lean_dec(x_57);
-x_59 = lean_ctor_get(x_2, 1);
-lean_inc(x_59);
-lean_inc(x_1);
-x_60 = lean_apply_2(x_4, x_1, x_2);
-x_61 = lean_ctor_get(x_60, 3);
-lean_inc(x_61);
-if (lean_obj_tag(x_61) == 0)
-{
-lean_dec(x_59);
-lean_dec(x_58);
-lean_dec(x_1);
-return x_60;
-}
-else
-{
-lean_object* x_62; lean_object* x_63; uint8_t x_64;
-x_62 = lean_ctor_get(x_61, 0);
-lean_inc(x_62);
-lean_dec(x_61);
-x_63 = lean_ctor_get(x_60, 1);
-lean_inc(x_63);
-x_64 = lean_nat_dec_eq(x_63, x_59);
-lean_dec(x_63);
-if (x_64 == 0)
-{
-lean_dec(x_62);
-lean_dec(x_59);
-lean_dec(x_58);
-lean_dec(x_1);
-return x_60;
-}
-else
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68;
-lean_inc(x_59);
-x_65 = l_Lean_Parser_ParserState_restore(x_60, x_58, x_59);
-lean_dec(x_58);
-x_66 = lean_unsigned_to_nat(1024u);
-x_67 = l_Lean_Parser_checkPrecFn(x_66, x_1, x_65);
-x_68 = lean_ctor_get(x_67, 3);
-lean_inc(x_68);
-if (lean_obj_tag(x_68) == 0)
-{
-lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_115; lean_object* x_116; lean_object* x_117;
-x_69 = lean_ctor_get(x_67, 0);
-lean_inc(x_69);
-x_70 = lean_array_get_size(x_69);
-lean_dec(x_69);
-x_115 = lean_ctor_get(x_67, 1);
-lean_inc(x_115);
-lean_inc(x_1);
-x_116 = l_Lean_Parser_tokenFn(x_1, x_67);
-x_117 = lean_ctor_get(x_116, 3);
-lean_inc(x_117);
-if (lean_obj_tag(x_117) == 0)
-{
-lean_object* x_118; lean_object* x_119;
-x_118 = lean_ctor_get(x_116, 0);
-lean_inc(x_118);
-x_119 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_118);
-lean_dec(x_118);
-if (lean_obj_tag(x_119) == 2)
-{
-lean_object* x_120; lean_object* x_121; uint8_t x_122;
-x_120 = lean_ctor_get(x_119, 1);
-lean_inc(x_120);
-lean_dec(x_119);
-x_121 = l_Lean_Parser_Tactic_quot___elambda__1___closed__5;
-x_122 = lean_string_dec_eq(x_120, x_121);
-lean_dec(x_120);
-if (x_122 == 0)
-{
-lean_object* x_123; lean_object* x_124;
-x_123 = l_Lean_Parser_Tactic_quot___elambda__1___closed__9;
-x_124 = l_Lean_Parser_ParserState_mkErrorsAt(x_116, x_123, x_115);
-x_71 = x_124;
-goto block_114;
-}
-else
-{
-lean_dec(x_115);
-x_71 = x_116;
-goto block_114;
-}
-}
-else
-{
-lean_object* x_125; lean_object* x_126;
-lean_dec(x_119);
-x_125 = l_Lean_Parser_Tactic_quot___elambda__1___closed__9;
-x_126 = l_Lean_Parser_ParserState_mkErrorsAt(x_116, x_125, x_115);
-x_71 = x_126;
-goto block_114;
-}
-}
-else
-{
-lean_object* x_127; lean_object* x_128;
-lean_dec(x_117);
-x_127 = l_Lean_Parser_Tactic_quot___elambda__1___closed__9;
-x_128 = l_Lean_Parser_ParserState_mkErrorsAt(x_116, x_127, x_115);
-x_71 = x_128;
-goto block_114;
-}
-block_114:
-{
-lean_object* x_72;
-x_72 = lean_ctor_get(x_71, 3);
-lean_inc(x_72);
-if (lean_obj_tag(x_72) == 0)
-{
-lean_object* x_73; lean_object* x_74; lean_object* x_75;
-x_73 = l_Lean_Parser_Tactic_quot___elambda__1___closed__6;
-lean_inc(x_1);
-x_74 = l_Lean_Parser_toggleInsideQuotFn(x_73, x_1, x_71);
-x_75 = lean_ctor_get(x_74, 3);
-lean_inc(x_75);
-if (lean_obj_tag(x_75) == 0)
-{
-lean_object* x_76; lean_object* x_77; lean_object* x_78;
-x_76 = lean_ctor_get(x_74, 1);
-lean_inc(x_76);
-x_77 = l_Lean_Parser_tokenFn(x_1, x_74);
-x_78 = lean_ctor_get(x_77, 3);
-lean_inc(x_78);
-if (lean_obj_tag(x_78) == 0)
-{
-lean_object* x_79; lean_object* x_80;
-x_79 = lean_ctor_get(x_77, 0);
-lean_inc(x_79);
-x_80 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_79);
-lean_dec(x_79);
-if (lean_obj_tag(x_80) == 2)
-{
-lean_object* x_81; lean_object* x_82; uint8_t x_83;
-x_81 = lean_ctor_get(x_80, 1);
-lean_inc(x_81);
-lean_dec(x_80);
-x_82 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
-x_83 = lean_string_dec_eq(x_81, x_82);
-lean_dec(x_81);
-if (x_83 == 0)
-{
-lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; uint8_t x_88; lean_object* x_89;
-x_84 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_85 = l_Lean_Parser_ParserState_mkErrorsAt(x_77, x_84, x_76);
-x_86 = l_Lean_Parser_Tactic_quot___elambda__1___closed__1;
-x_87 = l_Lean_Parser_ParserState_mkNode(x_85, x_86, x_70);
-x_88 = 1;
-x_89 = l_Lean_Parser_mergeOrElseErrors(x_87, x_62, x_59, x_88);
-lean_dec(x_59);
-return x_89;
-}
-else
-{
-lean_object* x_90; lean_object* x_91; uint8_t x_92; lean_object* x_93;
-lean_dec(x_76);
-x_90 = l_Lean_Parser_Tactic_quot___elambda__1___closed__1;
-x_91 = l_Lean_Parser_ParserState_mkNode(x_77, x_90, x_70);
-x_92 = 1;
-x_93 = l_Lean_Parser_mergeOrElseErrors(x_91, x_62, x_59, x_92);
-lean_dec(x_59);
-return x_93;
-}
-}
-else
-{
-lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; uint8_t x_98; lean_object* x_99;
-lean_dec(x_80);
-x_94 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_95 = l_Lean_Parser_ParserState_mkErrorsAt(x_77, x_94, x_76);
-x_96 = l_Lean_Parser_Tactic_quot___elambda__1___closed__1;
-x_97 = l_Lean_Parser_ParserState_mkNode(x_95, x_96, x_70);
-x_98 = 1;
-x_99 = l_Lean_Parser_mergeOrElseErrors(x_97, x_62, x_59, x_98);
-lean_dec(x_59);
-return x_99;
-}
-}
-else
-{
-lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; uint8_t x_104; lean_object* x_105;
-lean_dec(x_78);
-x_100 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_101 = l_Lean_Parser_ParserState_mkErrorsAt(x_77, x_100, x_76);
-x_102 = l_Lean_Parser_Tactic_quot___elambda__1___closed__1;
-x_103 = l_Lean_Parser_ParserState_mkNode(x_101, x_102, x_70);
-x_104 = 1;
-x_105 = l_Lean_Parser_mergeOrElseErrors(x_103, x_62, x_59, x_104);
-lean_dec(x_59);
-return x_105;
-}
-}
-else
-{
-lean_object* x_106; lean_object* x_107; uint8_t x_108; lean_object* x_109;
-lean_dec(x_75);
-lean_dec(x_1);
-x_106 = l_Lean_Parser_Tactic_quot___elambda__1___closed__1;
-x_107 = l_Lean_Parser_ParserState_mkNode(x_74, x_106, x_70);
-x_108 = 1;
-x_109 = l_Lean_Parser_mergeOrElseErrors(x_107, x_62, x_59, x_108);
-lean_dec(x_59);
-return x_109;
-}
-}
-else
-{
-lean_object* x_110; lean_object* x_111; uint8_t x_112; lean_object* x_113;
-lean_dec(x_72);
-lean_dec(x_1);
-x_110 = l_Lean_Parser_Tactic_quot___elambda__1___closed__1;
-x_111 = l_Lean_Parser_ParserState_mkNode(x_71, x_110, x_70);
-x_112 = 1;
-x_113 = l_Lean_Parser_mergeOrElseErrors(x_111, x_62, x_59, x_112);
-lean_dec(x_59);
-return x_113;
-}
-}
-}
-else
-{
-uint8_t x_129; lean_object* x_130;
-lean_dec(x_68);
-lean_dec(x_1);
-x_129 = 1;
-x_130 = l_Lean_Parser_mergeOrElseErrors(x_67, x_62, x_59, x_129);
-lean_dec(x_59);
-return x_130;
-}
-}
-}
+lean_object* x_27; uint8_t x_28; lean_object* x_29;
+x_27 = l_Lean_Parser_Tactic_quot___elambda__1___closed__11;
+x_28 = 1;
+x_29 = l_Lean_Parser_orelseFnCore(x_4, x_27, x_28, x_1, x_2);
+return x_29;
}
}
}
@@ -81790,6 +58445,64 @@ x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3);
return x_4;
}
}
+static lean_object* _init_l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__5() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Tactic_seq1___closed__4;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_toggleInsideQuotFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__6() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__5;
+x_2 = l_Lean_Parser_Level_paren___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_quot___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__6;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__8() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__2;
+x_2 = l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__7;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
lean_object* l_Lean_Parser_Tactic_quotSeq___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -81810,163 +58523,53 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_43; lean_object* x_44; lean_object* x_45;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_43 = lean_ctor_get(x_7, 1);
-lean_inc(x_43);
+x_11 = l_Lean_Parser_Tactic_quot___elambda__1___closed__5;
+x_12 = l_Lean_Parser_Tactic_quot___elambda__1___closed__13;
lean_inc(x_1);
-x_44 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_45 = lean_ctor_get(x_44, 3);
-lean_inc(x_45);
-if (lean_obj_tag(x_45) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_46; lean_object* x_47;
-x_46 = lean_ctor_get(x_44, 0);
-lean_inc(x_46);
-x_47 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_46);
-lean_dec(x_46);
-if (lean_obj_tag(x_47) == 2)
-{
-lean_object* x_48; lean_object* x_49; uint8_t x_50;
-x_48 = lean_ctor_get(x_47, 1);
-lean_inc(x_48);
-lean_dec(x_47);
-x_49 = l_Lean_Parser_Tactic_quot___elambda__1___closed__5;
-x_50 = lean_string_dec_eq(x_48, x_49);
-lean_dec(x_48);
-if (x_50 == 0)
-{
-lean_object* x_51; lean_object* x_52;
-x_51 = l_Lean_Parser_Tactic_quot___elambda__1___closed__9;
-x_52 = l_Lean_Parser_ParserState_mkErrorsAt(x_44, x_51, x_43);
-x_11 = x_52;
-goto block_42;
-}
-else
-{
-lean_dec(x_43);
-x_11 = x_44;
-goto block_42;
-}
-}
-else
-{
-lean_object* x_53; lean_object* x_54;
-lean_dec(x_47);
-x_53 = l_Lean_Parser_Tactic_quot___elambda__1___closed__9;
-x_54 = l_Lean_Parser_ParserState_mkErrorsAt(x_44, x_53, x_43);
-x_11 = x_54;
-goto block_42;
-}
-}
-else
-{
-lean_object* x_55; lean_object* x_56;
-lean_dec(x_45);
-x_55 = l_Lean_Parser_Tactic_quot___elambda__1___closed__9;
-x_56 = l_Lean_Parser_ParserState_mkErrorsAt(x_44, x_55, x_43);
-x_11 = x_56;
-goto block_42;
-}
-block_42:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15;
-x_13 = l_Lean_Parser_Tactic_seq1___closed__4;
+lean_object* x_15; lean_object* x_16; lean_object* x_17;
+x_15 = l_Lean_Parser_Tactic_seq1___closed__4;
lean_inc(x_1);
-x_14 = l_Lean_Parser_toggleInsideQuotFn(x_13, x_1, x_11);
-x_15 = lean_ctor_get(x_14, 3);
-lean_inc(x_15);
-if (lean_obj_tag(x_15) == 0)
+x_16 = l_Lean_Parser_toggleInsideQuotFn(x_15, x_1, x_13);
+x_17 = lean_ctor_get(x_16, 3);
+lean_inc(x_17);
+if (lean_obj_tag(x_17) == 0)
{
-lean_object* x_16; lean_object* x_17; lean_object* x_18;
-x_16 = lean_ctor_get(x_14, 1);
-lean_inc(x_16);
-x_17 = l_Lean_Parser_tokenFn(x_1, x_14);
-x_18 = lean_ctor_get(x_17, 3);
-lean_inc(x_18);
-if (lean_obj_tag(x_18) == 0)
-{
-lean_object* x_19; lean_object* x_20;
-x_19 = lean_ctor_get(x_17, 0);
-lean_inc(x_19);
-x_20 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_19);
-lean_dec(x_19);
-if (lean_obj_tag(x_20) == 2)
-{
-lean_object* x_21; lean_object* x_22; uint8_t x_23;
-x_21 = lean_ctor_get(x_20, 1);
-lean_inc(x_21);
-lean_dec(x_20);
-x_22 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
-x_23 = lean_string_dec_eq(x_21, x_22);
-lean_dec(x_21);
-if (x_23 == 0)
-{
-lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
-x_24 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_25 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_24, x_16);
-x_26 = l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__2;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_25, x_26, x_10);
-return x_27;
+lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
+x_18 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
+x_19 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__9;
+x_20 = l_Lean_Parser_symbolFnAux(x_18, x_19, x_1, x_16);
+x_21 = l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__2;
+x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_10);
+return x_22;
}
else
{
-lean_object* x_28; lean_object* x_29;
-lean_dec(x_16);
-x_28 = l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__2;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_17, x_28, x_10);
-return x_29;
-}
-}
-else
-{
-lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
-lean_dec(x_20);
-x_30 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_31 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_30, x_16);
-x_32 = l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__2;
-x_33 = l_Lean_Parser_ParserState_mkNode(x_31, x_32, x_10);
-return x_33;
-}
-}
-else
-{
-lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-lean_dec(x_18);
-x_34 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_35 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_34, x_16);
-x_36 = l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__2;
-x_37 = l_Lean_Parser_ParserState_mkNode(x_35, x_36, x_10);
-return x_37;
-}
-}
-else
-{
-lean_object* x_38; lean_object* x_39;
-lean_dec(x_15);
+lean_object* x_23; lean_object* x_24;
+lean_dec(x_17);
lean_dec(x_1);
-x_38 = l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__2;
-x_39 = l_Lean_Parser_ParserState_mkNode(x_14, x_38, x_10);
-return x_39;
+x_23 = l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__2;
+x_24 = l_Lean_Parser_ParserState_mkNode(x_16, x_23, x_10);
+return x_24;
}
}
else
{
-lean_object* x_40; lean_object* x_41;
-lean_dec(x_12);
+lean_object* x_25; lean_object* x_26;
+lean_dec(x_14);
lean_dec(x_1);
-x_40 = l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__2;
-x_41 = l_Lean_Parser_ParserState_mkNode(x_11, x_40, x_10);
-return x_41;
-}
+x_25 = l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__2;
+x_26 = l_Lean_Parser_ParserState_mkNode(x_13, x_25, x_10);
+return x_26;
}
}
else
@@ -81978,243 +58581,11 @@ return x_7;
}
else
{
-lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61;
-x_57 = lean_ctor_get(x_2, 0);
-lean_inc(x_57);
-x_58 = lean_array_get_size(x_57);
-lean_dec(x_57);
-x_59 = lean_ctor_get(x_2, 1);
-lean_inc(x_59);
-lean_inc(x_1);
-x_60 = lean_apply_2(x_4, x_1, x_2);
-x_61 = lean_ctor_get(x_60, 3);
-lean_inc(x_61);
-if (lean_obj_tag(x_61) == 0)
-{
-lean_dec(x_59);
-lean_dec(x_58);
-lean_dec(x_1);
-return x_60;
-}
-else
-{
-lean_object* x_62; lean_object* x_63; uint8_t x_64;
-x_62 = lean_ctor_get(x_61, 0);
-lean_inc(x_62);
-lean_dec(x_61);
-x_63 = lean_ctor_get(x_60, 1);
-lean_inc(x_63);
-x_64 = lean_nat_dec_eq(x_63, x_59);
-lean_dec(x_63);
-if (x_64 == 0)
-{
-lean_dec(x_62);
-lean_dec(x_59);
-lean_dec(x_58);
-lean_dec(x_1);
-return x_60;
-}
-else
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68;
-lean_inc(x_59);
-x_65 = l_Lean_Parser_ParserState_restore(x_60, x_58, x_59);
-lean_dec(x_58);
-x_66 = lean_unsigned_to_nat(1024u);
-x_67 = l_Lean_Parser_checkPrecFn(x_66, x_1, x_65);
-x_68 = lean_ctor_get(x_67, 3);
-lean_inc(x_68);
-if (lean_obj_tag(x_68) == 0)
-{
-lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_115; lean_object* x_116; lean_object* x_117;
-x_69 = lean_ctor_get(x_67, 0);
-lean_inc(x_69);
-x_70 = lean_array_get_size(x_69);
-lean_dec(x_69);
-x_115 = lean_ctor_get(x_67, 1);
-lean_inc(x_115);
-lean_inc(x_1);
-x_116 = l_Lean_Parser_tokenFn(x_1, x_67);
-x_117 = lean_ctor_get(x_116, 3);
-lean_inc(x_117);
-if (lean_obj_tag(x_117) == 0)
-{
-lean_object* x_118; lean_object* x_119;
-x_118 = lean_ctor_get(x_116, 0);
-lean_inc(x_118);
-x_119 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_118);
-lean_dec(x_118);
-if (lean_obj_tag(x_119) == 2)
-{
-lean_object* x_120; lean_object* x_121; uint8_t x_122;
-x_120 = lean_ctor_get(x_119, 1);
-lean_inc(x_120);
-lean_dec(x_119);
-x_121 = l_Lean_Parser_Tactic_quot___elambda__1___closed__5;
-x_122 = lean_string_dec_eq(x_120, x_121);
-lean_dec(x_120);
-if (x_122 == 0)
-{
-lean_object* x_123; lean_object* x_124;
-x_123 = l_Lean_Parser_Tactic_quot___elambda__1___closed__9;
-x_124 = l_Lean_Parser_ParserState_mkErrorsAt(x_116, x_123, x_115);
-x_71 = x_124;
-goto block_114;
-}
-else
-{
-lean_dec(x_115);
-x_71 = x_116;
-goto block_114;
-}
-}
-else
-{
-lean_object* x_125; lean_object* x_126;
-lean_dec(x_119);
-x_125 = l_Lean_Parser_Tactic_quot___elambda__1___closed__9;
-x_126 = l_Lean_Parser_ParserState_mkErrorsAt(x_116, x_125, x_115);
-x_71 = x_126;
-goto block_114;
-}
-}
-else
-{
-lean_object* x_127; lean_object* x_128;
-lean_dec(x_117);
-x_127 = l_Lean_Parser_Tactic_quot___elambda__1___closed__9;
-x_128 = l_Lean_Parser_ParserState_mkErrorsAt(x_116, x_127, x_115);
-x_71 = x_128;
-goto block_114;
-}
-block_114:
-{
-lean_object* x_72;
-x_72 = lean_ctor_get(x_71, 3);
-lean_inc(x_72);
-if (lean_obj_tag(x_72) == 0)
-{
-lean_object* x_73; lean_object* x_74; lean_object* x_75;
-x_73 = l_Lean_Parser_Tactic_seq1___closed__4;
-lean_inc(x_1);
-x_74 = l_Lean_Parser_toggleInsideQuotFn(x_73, x_1, x_71);
-x_75 = lean_ctor_get(x_74, 3);
-lean_inc(x_75);
-if (lean_obj_tag(x_75) == 0)
-{
-lean_object* x_76; lean_object* x_77; lean_object* x_78;
-x_76 = lean_ctor_get(x_74, 1);
-lean_inc(x_76);
-x_77 = l_Lean_Parser_tokenFn(x_1, x_74);
-x_78 = lean_ctor_get(x_77, 3);
-lean_inc(x_78);
-if (lean_obj_tag(x_78) == 0)
-{
-lean_object* x_79; lean_object* x_80;
-x_79 = lean_ctor_get(x_77, 0);
-lean_inc(x_79);
-x_80 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_79);
-lean_dec(x_79);
-if (lean_obj_tag(x_80) == 2)
-{
-lean_object* x_81; lean_object* x_82; uint8_t x_83;
-x_81 = lean_ctor_get(x_80, 1);
-lean_inc(x_81);
-lean_dec(x_80);
-x_82 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
-x_83 = lean_string_dec_eq(x_81, x_82);
-lean_dec(x_81);
-if (x_83 == 0)
-{
-lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; uint8_t x_88; lean_object* x_89;
-x_84 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_85 = l_Lean_Parser_ParserState_mkErrorsAt(x_77, x_84, x_76);
-x_86 = l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__2;
-x_87 = l_Lean_Parser_ParserState_mkNode(x_85, x_86, x_70);
-x_88 = 1;
-x_89 = l_Lean_Parser_mergeOrElseErrors(x_87, x_62, x_59, x_88);
-lean_dec(x_59);
-return x_89;
-}
-else
-{
-lean_object* x_90; lean_object* x_91; uint8_t x_92; lean_object* x_93;
-lean_dec(x_76);
-x_90 = l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__2;
-x_91 = l_Lean_Parser_ParserState_mkNode(x_77, x_90, x_70);
-x_92 = 1;
-x_93 = l_Lean_Parser_mergeOrElseErrors(x_91, x_62, x_59, x_92);
-lean_dec(x_59);
-return x_93;
-}
-}
-else
-{
-lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; uint8_t x_98; lean_object* x_99;
-lean_dec(x_80);
-x_94 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_95 = l_Lean_Parser_ParserState_mkErrorsAt(x_77, x_94, x_76);
-x_96 = l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__2;
-x_97 = l_Lean_Parser_ParserState_mkNode(x_95, x_96, x_70);
-x_98 = 1;
-x_99 = l_Lean_Parser_mergeOrElseErrors(x_97, x_62, x_59, x_98);
-lean_dec(x_59);
-return x_99;
-}
-}
-else
-{
-lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; uint8_t x_104; lean_object* x_105;
-lean_dec(x_78);
-x_100 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_101 = l_Lean_Parser_ParserState_mkErrorsAt(x_77, x_100, x_76);
-x_102 = l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__2;
-x_103 = l_Lean_Parser_ParserState_mkNode(x_101, x_102, x_70);
-x_104 = 1;
-x_105 = l_Lean_Parser_mergeOrElseErrors(x_103, x_62, x_59, x_104);
-lean_dec(x_59);
-return x_105;
-}
-}
-else
-{
-lean_object* x_106; lean_object* x_107; uint8_t x_108; lean_object* x_109;
-lean_dec(x_75);
-lean_dec(x_1);
-x_106 = l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__2;
-x_107 = l_Lean_Parser_ParserState_mkNode(x_74, x_106, x_70);
-x_108 = 1;
-x_109 = l_Lean_Parser_mergeOrElseErrors(x_107, x_62, x_59, x_108);
-lean_dec(x_59);
-return x_109;
-}
-}
-else
-{
-lean_object* x_110; lean_object* x_111; uint8_t x_112; lean_object* x_113;
-lean_dec(x_72);
-lean_dec(x_1);
-x_110 = l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__2;
-x_111 = l_Lean_Parser_ParserState_mkNode(x_71, x_110, x_70);
-x_112 = 1;
-x_113 = l_Lean_Parser_mergeOrElseErrors(x_111, x_62, x_59, x_112);
-lean_dec(x_59);
-return x_113;
-}
-}
-}
-else
-{
-uint8_t x_129; lean_object* x_130;
-lean_dec(x_68);
-lean_dec(x_1);
-x_129 = 1;
-x_130 = l_Lean_Parser_mergeOrElseErrors(x_67, x_62, x_59, x_129);
-lean_dec(x_59);
-return x_130;
-}
-}
-}
+lean_object* x_27; uint8_t x_28; lean_object* x_29;
+x_27 = l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__9;
+x_28 = 1;
+x_29 = l_Lean_Parser_orelseFnCore(x_4, x_27, x_28, x_1, x_2);
+return x_29;
}
}
}
@@ -82584,16 +58955,72 @@ return x_2;
static lean_object* _init_l_Lean_Parser_Level_quot___elambda__1___closed__6() {
_start:
{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Level_quot___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Level_quot___elambda__1___closed__7() {
+_start:
+{
+lean_object* x_1; lean_object* x_2;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__5;
+x_2 = lean_alloc_closure((void*)(l_Lean_Parser_toggleInsideQuotFn), 3, 1);
+lean_closure_set(x_2, 0, x_1);
+return x_2;
+}
+}
+static lean_object* _init_l_Lean_Parser_Level_quot___elambda__1___closed__8() {
+_start:
+{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_PrettyPrinter_Parenthesizer_level_parenthesizer___closed__2;
-x_2 = lean_unsigned_to_nat(0u);
-x_3 = lean_alloc_closure((void*)(l_Lean_Parser_categoryParser___elambda__1), 4, 2);
+x_1 = l_Lean_Parser_Level_quot___elambda__1___closed__7;
+x_2 = l_Lean_Parser_Level_paren___elambda__1___closed__4;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
lean_closure_set(x_3, 0, x_1);
lean_closure_set(x_3, 1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Level_quot___elambda__1___closed__7() {
+static lean_object* _init_l_Lean_Parser_Level_quot___elambda__1___closed__9() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_quot___elambda__1___closed__6;
+x_2 = l_Lean_Parser_Level_quot___elambda__1___closed__8;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Level_quot___elambda__1___closed__10() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_quot___elambda__1___closed__1;
+x_2 = l_Lean_Parser_Level_quot___elambda__1___closed__9;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Level_quot___elambda__1___closed__11() {
+_start:
+{
+lean_object* x_1; lean_object* x_2; lean_object* x_3;
+x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8;
+x_2 = l_Lean_Parser_Level_quot___elambda__1___closed__10;
+x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2);
+lean_closure_set(x_3, 0, x_1);
+lean_closure_set(x_3, 1, x_2);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Parser_Level_quot___elambda__1___closed__12() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
@@ -82603,28 +59030,16 @@ x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Level_quot___elambda__1___closed__8() {
+static lean_object* _init_l_Lean_Parser_Level_quot___elambda__1___closed__13() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_Parser_Level_quot___elambda__1___closed__7;
+x_1 = l_Lean_Parser_Level_quot___elambda__1___closed__12;
x_2 = l_Char_HasRepr___closed__1;
x_3 = lean_string_append(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_Parser_Level_quot___elambda__1___closed__9() {
-_start:
-{
-lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = lean_box(0);
-x_2 = l_Lean_Parser_Level_quot___elambda__1___closed__8;
-x_3 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_3, 0, x_2);
-lean_ctor_set(x_3, 1, x_1);
-return x_3;
-}
-}
lean_object* l_Lean_Parser_Level_quot___elambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -82645,163 +59060,53 @@ x_8 = lean_ctor_get(x_7, 3);
lean_inc(x_8);
if (lean_obj_tag(x_8) == 0)
{
-lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_43; lean_object* x_44; lean_object* x_45;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
x_9 = lean_ctor_get(x_7, 0);
lean_inc(x_9);
x_10 = lean_array_get_size(x_9);
lean_dec(x_9);
-x_43 = lean_ctor_get(x_7, 1);
-lean_inc(x_43);
+x_11 = l_Lean_Parser_Level_quot___elambda__1___closed__5;
+x_12 = l_Lean_Parser_Level_quot___elambda__1___closed__13;
lean_inc(x_1);
-x_44 = l_Lean_Parser_tokenFn(x_1, x_7);
-x_45 = lean_ctor_get(x_44, 3);
-lean_inc(x_45);
-if (lean_obj_tag(x_45) == 0)
+x_13 = l_Lean_Parser_symbolFnAux(x_11, x_12, x_1, x_7);
+x_14 = lean_ctor_get(x_13, 3);
+lean_inc(x_14);
+if (lean_obj_tag(x_14) == 0)
{
-lean_object* x_46; lean_object* x_47;
-x_46 = lean_ctor_get(x_44, 0);
-lean_inc(x_46);
-x_47 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_46);
-lean_dec(x_46);
-if (lean_obj_tag(x_47) == 2)
-{
-lean_object* x_48; lean_object* x_49; uint8_t x_50;
-x_48 = lean_ctor_get(x_47, 1);
-lean_inc(x_48);
-lean_dec(x_47);
-x_49 = l_Lean_Parser_Level_quot___elambda__1___closed__5;
-x_50 = lean_string_dec_eq(x_48, x_49);
-lean_dec(x_48);
-if (x_50 == 0)
-{
-lean_object* x_51; lean_object* x_52;
-x_51 = l_Lean_Parser_Level_quot___elambda__1___closed__9;
-x_52 = l_Lean_Parser_ParserState_mkErrorsAt(x_44, x_51, x_43);
-x_11 = x_52;
-goto block_42;
-}
-else
-{
-lean_dec(x_43);
-x_11 = x_44;
-goto block_42;
-}
-}
-else
-{
-lean_object* x_53; lean_object* x_54;
-lean_dec(x_47);
-x_53 = l_Lean_Parser_Level_quot___elambda__1___closed__9;
-x_54 = l_Lean_Parser_ParserState_mkErrorsAt(x_44, x_53, x_43);
-x_11 = x_54;
-goto block_42;
-}
-}
-else
-{
-lean_object* x_55; lean_object* x_56;
-lean_dec(x_45);
-x_55 = l_Lean_Parser_Level_quot___elambda__1___closed__9;
-x_56 = l_Lean_Parser_ParserState_mkErrorsAt(x_44, x_55, x_43);
-x_11 = x_56;
-goto block_42;
-}
-block_42:
-{
-lean_object* x_12;
-x_12 = lean_ctor_get(x_11, 3);
-lean_inc(x_12);
-if (lean_obj_tag(x_12) == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15;
-x_13 = l_Lean_Parser_Level_quot___elambda__1___closed__6;
+lean_object* x_15; lean_object* x_16; lean_object* x_17;
+x_15 = l_Lean_Parser_Level_paren___elambda__1___closed__5;
lean_inc(x_1);
-x_14 = l_Lean_Parser_toggleInsideQuotFn(x_13, x_1, x_11);
-x_15 = lean_ctor_get(x_14, 3);
-lean_inc(x_15);
-if (lean_obj_tag(x_15) == 0)
+x_16 = l_Lean_Parser_toggleInsideQuotFn(x_15, x_1, x_13);
+x_17 = lean_ctor_get(x_16, 3);
+lean_inc(x_17);
+if (lean_obj_tag(x_17) == 0)
{
-lean_object* x_16; lean_object* x_17; lean_object* x_18;
-x_16 = lean_ctor_get(x_14, 1);
-lean_inc(x_16);
-x_17 = l_Lean_Parser_tokenFn(x_1, x_14);
-x_18 = lean_ctor_get(x_17, 3);
-lean_inc(x_18);
-if (lean_obj_tag(x_18) == 0)
-{
-lean_object* x_19; lean_object* x_20;
-x_19 = lean_ctor_get(x_17, 0);
-lean_inc(x_19);
-x_20 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_19);
-lean_dec(x_19);
-if (lean_obj_tag(x_20) == 2)
-{
-lean_object* x_21; lean_object* x_22; uint8_t x_23;
-x_21 = lean_ctor_get(x_20, 1);
-lean_inc(x_21);
-lean_dec(x_20);
-x_22 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
-x_23 = lean_string_dec_eq(x_21, x_22);
-lean_dec(x_21);
-if (x_23 == 0)
-{
-lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
-x_24 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_25 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_24, x_16);
-x_26 = l_Lean_Parser_Level_quot___elambda__1___closed__1;
-x_27 = l_Lean_Parser_ParserState_mkNode(x_25, x_26, x_10);
-return x_27;
+lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
+x_18 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
+x_19 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__9;
+x_20 = l_Lean_Parser_symbolFnAux(x_18, x_19, x_1, x_16);
+x_21 = l_Lean_Parser_Level_quot___elambda__1___closed__1;
+x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_10);
+return x_22;
}
else
{
-lean_object* x_28; lean_object* x_29;
-lean_dec(x_16);
-x_28 = l_Lean_Parser_Level_quot___elambda__1___closed__1;
-x_29 = l_Lean_Parser_ParserState_mkNode(x_17, x_28, x_10);
-return x_29;
-}
-}
-else
-{
-lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
-lean_dec(x_20);
-x_30 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_31 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_30, x_16);
-x_32 = l_Lean_Parser_Level_quot___elambda__1___closed__1;
-x_33 = l_Lean_Parser_ParserState_mkNode(x_31, x_32, x_10);
-return x_33;
-}
-}
-else
-{
-lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37;
-lean_dec(x_18);
-x_34 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_35 = l_Lean_Parser_ParserState_mkErrorsAt(x_17, x_34, x_16);
-x_36 = l_Lean_Parser_Level_quot___elambda__1___closed__1;
-x_37 = l_Lean_Parser_ParserState_mkNode(x_35, x_36, x_10);
-return x_37;
-}
-}
-else
-{
-lean_object* x_38; lean_object* x_39;
-lean_dec(x_15);
+lean_object* x_23; lean_object* x_24;
+lean_dec(x_17);
lean_dec(x_1);
-x_38 = l_Lean_Parser_Level_quot___elambda__1___closed__1;
-x_39 = l_Lean_Parser_ParserState_mkNode(x_14, x_38, x_10);
-return x_39;
+x_23 = l_Lean_Parser_Level_quot___elambda__1___closed__1;
+x_24 = l_Lean_Parser_ParserState_mkNode(x_16, x_23, x_10);
+return x_24;
}
}
else
{
-lean_object* x_40; lean_object* x_41;
-lean_dec(x_12);
+lean_object* x_25; lean_object* x_26;
+lean_dec(x_14);
lean_dec(x_1);
-x_40 = l_Lean_Parser_Level_quot___elambda__1___closed__1;
-x_41 = l_Lean_Parser_ParserState_mkNode(x_11, x_40, x_10);
-return x_41;
-}
+x_25 = l_Lean_Parser_Level_quot___elambda__1___closed__1;
+x_26 = l_Lean_Parser_ParserState_mkNode(x_13, x_25, x_10);
+return x_26;
}
}
else
@@ -82813,243 +59118,11 @@ return x_7;
}
else
{
-lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61;
-x_57 = lean_ctor_get(x_2, 0);
-lean_inc(x_57);
-x_58 = lean_array_get_size(x_57);
-lean_dec(x_57);
-x_59 = lean_ctor_get(x_2, 1);
-lean_inc(x_59);
-lean_inc(x_1);
-x_60 = lean_apply_2(x_4, x_1, x_2);
-x_61 = lean_ctor_get(x_60, 3);
-lean_inc(x_61);
-if (lean_obj_tag(x_61) == 0)
-{
-lean_dec(x_59);
-lean_dec(x_58);
-lean_dec(x_1);
-return x_60;
-}
-else
-{
-lean_object* x_62; lean_object* x_63; uint8_t x_64;
-x_62 = lean_ctor_get(x_61, 0);
-lean_inc(x_62);
-lean_dec(x_61);
-x_63 = lean_ctor_get(x_60, 1);
-lean_inc(x_63);
-x_64 = lean_nat_dec_eq(x_63, x_59);
-lean_dec(x_63);
-if (x_64 == 0)
-{
-lean_dec(x_62);
-lean_dec(x_59);
-lean_dec(x_58);
-lean_dec(x_1);
-return x_60;
-}
-else
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68;
-lean_inc(x_59);
-x_65 = l_Lean_Parser_ParserState_restore(x_60, x_58, x_59);
-lean_dec(x_58);
-x_66 = lean_unsigned_to_nat(1024u);
-x_67 = l_Lean_Parser_checkPrecFn(x_66, x_1, x_65);
-x_68 = lean_ctor_get(x_67, 3);
-lean_inc(x_68);
-if (lean_obj_tag(x_68) == 0)
-{
-lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_115; lean_object* x_116; lean_object* x_117;
-x_69 = lean_ctor_get(x_67, 0);
-lean_inc(x_69);
-x_70 = lean_array_get_size(x_69);
-lean_dec(x_69);
-x_115 = lean_ctor_get(x_67, 1);
-lean_inc(x_115);
-lean_inc(x_1);
-x_116 = l_Lean_Parser_tokenFn(x_1, x_67);
-x_117 = lean_ctor_get(x_116, 3);
-lean_inc(x_117);
-if (lean_obj_tag(x_117) == 0)
-{
-lean_object* x_118; lean_object* x_119;
-x_118 = lean_ctor_get(x_116, 0);
-lean_inc(x_118);
-x_119 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_118);
-lean_dec(x_118);
-if (lean_obj_tag(x_119) == 2)
-{
-lean_object* x_120; lean_object* x_121; uint8_t x_122;
-x_120 = lean_ctor_get(x_119, 1);
-lean_inc(x_120);
-lean_dec(x_119);
-x_121 = l_Lean_Parser_Level_quot___elambda__1___closed__5;
-x_122 = lean_string_dec_eq(x_120, x_121);
-lean_dec(x_120);
-if (x_122 == 0)
-{
-lean_object* x_123; lean_object* x_124;
-x_123 = l_Lean_Parser_Level_quot___elambda__1___closed__9;
-x_124 = l_Lean_Parser_ParserState_mkErrorsAt(x_116, x_123, x_115);
-x_71 = x_124;
-goto block_114;
-}
-else
-{
-lean_dec(x_115);
-x_71 = x_116;
-goto block_114;
-}
-}
-else
-{
-lean_object* x_125; lean_object* x_126;
-lean_dec(x_119);
-x_125 = l_Lean_Parser_Level_quot___elambda__1___closed__9;
-x_126 = l_Lean_Parser_ParserState_mkErrorsAt(x_116, x_125, x_115);
-x_71 = x_126;
-goto block_114;
-}
-}
-else
-{
-lean_object* x_127; lean_object* x_128;
-lean_dec(x_117);
-x_127 = l_Lean_Parser_Level_quot___elambda__1___closed__9;
-x_128 = l_Lean_Parser_ParserState_mkErrorsAt(x_116, x_127, x_115);
-x_71 = x_128;
-goto block_114;
-}
-block_114:
-{
-lean_object* x_72;
-x_72 = lean_ctor_get(x_71, 3);
-lean_inc(x_72);
-if (lean_obj_tag(x_72) == 0)
-{
-lean_object* x_73; lean_object* x_74; lean_object* x_75;
-x_73 = l_Lean_Parser_Level_quot___elambda__1___closed__6;
-lean_inc(x_1);
-x_74 = l_Lean_Parser_toggleInsideQuotFn(x_73, x_1, x_71);
-x_75 = lean_ctor_get(x_74, 3);
-lean_inc(x_75);
-if (lean_obj_tag(x_75) == 0)
-{
-lean_object* x_76; lean_object* x_77; lean_object* x_78;
-x_76 = lean_ctor_get(x_74, 1);
-lean_inc(x_76);
-x_77 = l_Lean_Parser_tokenFn(x_1, x_74);
-x_78 = lean_ctor_get(x_77, 3);
-lean_inc(x_78);
-if (lean_obj_tag(x_78) == 0)
-{
-lean_object* x_79; lean_object* x_80;
-x_79 = lean_ctor_get(x_77, 0);
-lean_inc(x_79);
-x_80 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_79);
-lean_dec(x_79);
-if (lean_obj_tag(x_80) == 2)
-{
-lean_object* x_81; lean_object* x_82; uint8_t x_83;
-x_81 = lean_ctor_get(x_80, 1);
-lean_inc(x_81);
-lean_dec(x_80);
-x_82 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__5;
-x_83 = lean_string_dec_eq(x_81, x_82);
-lean_dec(x_81);
-if (x_83 == 0)
-{
-lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; uint8_t x_88; lean_object* x_89;
-x_84 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_85 = l_Lean_Parser_ParserState_mkErrorsAt(x_77, x_84, x_76);
-x_86 = l_Lean_Parser_Level_quot___elambda__1___closed__1;
-x_87 = l_Lean_Parser_ParserState_mkNode(x_85, x_86, x_70);
-x_88 = 1;
-x_89 = l_Lean_Parser_mergeOrElseErrors(x_87, x_62, x_59, x_88);
-lean_dec(x_59);
-return x_89;
-}
-else
-{
-lean_object* x_90; lean_object* x_91; uint8_t x_92; lean_object* x_93;
-lean_dec(x_76);
-x_90 = l_Lean_Parser_Level_quot___elambda__1___closed__1;
-x_91 = l_Lean_Parser_ParserState_mkNode(x_77, x_90, x_70);
-x_92 = 1;
-x_93 = l_Lean_Parser_mergeOrElseErrors(x_91, x_62, x_59, x_92);
-lean_dec(x_59);
-return x_93;
-}
-}
-else
-{
-lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; uint8_t x_98; lean_object* x_99;
-lean_dec(x_80);
-x_94 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_95 = l_Lean_Parser_ParserState_mkErrorsAt(x_77, x_94, x_76);
-x_96 = l_Lean_Parser_Level_quot___elambda__1___closed__1;
-x_97 = l_Lean_Parser_ParserState_mkNode(x_95, x_96, x_70);
-x_98 = 1;
-x_99 = l_Lean_Parser_mergeOrElseErrors(x_97, x_62, x_59, x_98);
-lean_dec(x_59);
-return x_99;
-}
-}
-else
-{
-lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; uint8_t x_104; lean_object* x_105;
-lean_dec(x_78);
-x_100 = l_Lean_Parser_antiquotNestedExpr___elambda__1___closed__8;
-x_101 = l_Lean_Parser_ParserState_mkErrorsAt(x_77, x_100, x_76);
-x_102 = l_Lean_Parser_Level_quot___elambda__1___closed__1;
-x_103 = l_Lean_Parser_ParserState_mkNode(x_101, x_102, x_70);
-x_104 = 1;
-x_105 = l_Lean_Parser_mergeOrElseErrors(x_103, x_62, x_59, x_104);
-lean_dec(x_59);
-return x_105;
-}
-}
-else
-{
-lean_object* x_106; lean_object* x_107; uint8_t x_108; lean_object* x_109;
-lean_dec(x_75);
-lean_dec(x_1);
-x_106 = l_Lean_Parser_Level_quot___elambda__1___closed__1;
-x_107 = l_Lean_Parser_ParserState_mkNode(x_74, x_106, x_70);
-x_108 = 1;
-x_109 = l_Lean_Parser_mergeOrElseErrors(x_107, x_62, x_59, x_108);
-lean_dec(x_59);
-return x_109;
-}
-}
-else
-{
-lean_object* x_110; lean_object* x_111; uint8_t x_112; lean_object* x_113;
-lean_dec(x_72);
-lean_dec(x_1);
-x_110 = l_Lean_Parser_Level_quot___elambda__1___closed__1;
-x_111 = l_Lean_Parser_ParserState_mkNode(x_71, x_110, x_70);
-x_112 = 1;
-x_113 = l_Lean_Parser_mergeOrElseErrors(x_111, x_62, x_59, x_112);
-lean_dec(x_59);
-return x_113;
-}
-}
-}
-else
-{
-uint8_t x_129; lean_object* x_130;
-lean_dec(x_68);
-lean_dec(x_1);
-x_129 = 1;
-x_130 = l_Lean_Parser_mergeOrElseErrors(x_67, x_62, x_59, x_129);
-lean_dec(x_59);
-return x_130;
-}
-}
-}
+lean_object* x_27; uint8_t x_28; lean_object* x_29;
+x_27 = l_Lean_Parser_Level_quot___elambda__1___closed__11;
+x_28 = 1;
+x_29 = l_Lean_Parser_orelseFnCore(x_4, x_27, x_28, x_1, x_2);
+return x_29;
}
}
}
@@ -83368,14 +59441,6 @@ lean_mark_persistent(l_Lean_Parser_regTacticParserAttribute___closed__2);
res = l_Lean_Parser_regTacticParserAttribute(lean_io_mk_world());
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
-l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__1 = _init_l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__1();
-lean_mark_persistent(l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__1);
-l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__2 = _init_l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__2();
-lean_mark_persistent(l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__2);
-l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__3 = _init_l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__3();
-lean_mark_persistent(l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__3);
-l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4 = _init_l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4();
-lean_mark_persistent(l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4);
l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__1 = _init_l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__1);
l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__2 = _init_l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__2();
@@ -83384,6 +59449,28 @@ l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__3 = _init_l_Lean_
lean_mark_persistent(l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__3);
l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__4 = _init_l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__4);
+l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__5 = _init_l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__5);
+l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__6 = _init_l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__6);
+l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__7 = _init_l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__7);
+l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__8 = _init_l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__8);
+l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__9 = _init_l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__9);
+l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__10 = _init_l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__10);
+l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__11 = _init_l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__11);
+l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__12 = _init_l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__12);
+l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__13 = _init_l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__13);
+l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__14 = _init_l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__14();
+lean_mark_persistent(l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__14);
+l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__15 = _init_l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__15();
+lean_mark_persistent(l_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___closed__15);
l_Lean_Parser_Tactic_tacticSeq1Indented___closed__1 = _init_l_Lean_Parser_Tactic_tacticSeq1Indented___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_tacticSeq1Indented___closed__1);
l_Lean_Parser_Tactic_tacticSeq1Indented___closed__2 = _init_l_Lean_Parser_Tactic_tacticSeq1Indented___closed__2();
@@ -83434,6 +59521,16 @@ l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__11 = _init_l_Lean
lean_mark_persistent(l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__11);
l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12 = _init_l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12();
lean_mark_persistent(l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__12);
+l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__13 = _init_l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__13);
+l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__14 = _init_l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__14();
+lean_mark_persistent(l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__14);
+l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__15 = _init_l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__15();
+lean_mark_persistent(l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__15);
+l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__16 = _init_l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__16();
+lean_mark_persistent(l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__16);
+l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__17 = _init_l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__17();
+lean_mark_persistent(l_Lean_Parser_Tactic_tacticSeqBracketed___elambda__1___closed__17);
l_Lean_Parser_Tactic_tacticSeqBracketed___closed__1 = _init_l_Lean_Parser_Tactic_tacticSeqBracketed___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_tacticSeqBracketed___closed__1);
l_Lean_Parser_Tactic_tacticSeqBracketed___closed__2 = _init_l_Lean_Parser_Tactic_tacticSeqBracketed___closed__2();
@@ -83470,16 +59567,12 @@ l_Lean_Parser_Tactic_tacticSeq___closed__6 = _init_l_Lean_Parser_Tactic_tacticSe
lean_mark_persistent(l_Lean_Parser_Tactic_tacticSeq___closed__6);
l_Lean_Parser_Tactic_tacticSeq = _init_l_Lean_Parser_Tactic_tacticSeq();
lean_mark_persistent(l_Lean_Parser_Tactic_tacticSeq);
-l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_seq1___elambda__1___spec__2___closed__1 = _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_seq1___elambda__1___spec__2___closed__1();
-lean_mark_persistent(l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_seq1___elambda__1___spec__2___closed__1);
-l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_seq1___elambda__1___spec__2___closed__2 = _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_seq1___elambda__1___spec__2___closed__2();
-lean_mark_persistent(l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_seq1___elambda__1___spec__2___closed__2);
-l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_seq1___elambda__1___spec__2___closed__3 = _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_seq1___elambda__1___spec__2___closed__3();
-lean_mark_persistent(l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_seq1___elambda__1___spec__2___closed__3);
-l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_seq1___elambda__1___spec__2___closed__4 = _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_seq1___elambda__1___spec__2___closed__4();
-lean_mark_persistent(l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_seq1___elambda__1___spec__2___closed__4);
-l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_seq1___elambda__1___spec__2___closed__5 = _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_seq1___elambda__1___spec__2___closed__5();
-lean_mark_persistent(l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Tactic_seq1___elambda__1___spec__2___closed__5);
+l_Lean_Parser_Tactic_seq1___elambda__1___closed__1 = _init_l_Lean_Parser_Tactic_seq1___elambda__1___closed__1();
+lean_mark_persistent(l_Lean_Parser_Tactic_seq1___elambda__1___closed__1);
+l_Lean_Parser_Tactic_seq1___elambda__1___closed__2 = _init_l_Lean_Parser_Tactic_seq1___elambda__1___closed__2();
+lean_mark_persistent(l_Lean_Parser_Tactic_seq1___elambda__1___closed__2);
+l_Lean_Parser_Tactic_seq1___elambda__1___closed__3 = _init_l_Lean_Parser_Tactic_seq1___elambda__1___closed__3();
+lean_mark_persistent(l_Lean_Parser_Tactic_seq1___elambda__1___closed__3);
l_Lean_Parser_Tactic_seq1___closed__1 = _init_l_Lean_Parser_Tactic_seq1___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_seq1___closed__1);
l_Lean_Parser_Tactic_seq1___closed__2 = _init_l_Lean_Parser_Tactic_seq1___closed__2();
@@ -83500,8 +59593,6 @@ l_Lean_Parser_darrow___elambda__1___closed__3 = _init_l_Lean_Parser_darrow___ela
lean_mark_persistent(l_Lean_Parser_darrow___elambda__1___closed__3);
l_Lean_Parser_darrow___elambda__1___closed__4 = _init_l_Lean_Parser_darrow___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_darrow___elambda__1___closed__4);
-l_Lean_Parser_darrow___elambda__1___closed__5 = _init_l_Lean_Parser_darrow___elambda__1___closed__5();
-lean_mark_persistent(l_Lean_Parser_darrow___elambda__1___closed__5);
l_Lean_Parser_darrow___closed__1 = _init_l_Lean_Parser_darrow___closed__1();
lean_mark_persistent(l_Lean_Parser_darrow___closed__1);
l_Lean_Parser_darrow___closed__2 = _init_l_Lean_Parser_darrow___closed__2();
@@ -83528,6 +59619,14 @@ l_Lean_Parser_Term_byTactic___elambda__1___closed__8 = _init_l_Lean_Parser_Term_
lean_mark_persistent(l_Lean_Parser_Term_byTactic___elambda__1___closed__8);
l_Lean_Parser_Term_byTactic___elambda__1___closed__9 = _init_l_Lean_Parser_Term_byTactic___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Term_byTactic___elambda__1___closed__9);
+l_Lean_Parser_Term_byTactic___elambda__1___closed__10 = _init_l_Lean_Parser_Term_byTactic___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_byTactic___elambda__1___closed__10);
+l_Lean_Parser_Term_byTactic___elambda__1___closed__11 = _init_l_Lean_Parser_Term_byTactic___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_byTactic___elambda__1___closed__11);
+l_Lean_Parser_Term_byTactic___elambda__1___closed__12 = _init_l_Lean_Parser_Term_byTactic___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Term_byTactic___elambda__1___closed__12);
+l_Lean_Parser_Term_byTactic___elambda__1___closed__13 = _init_l_Lean_Parser_Term_byTactic___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Term_byTactic___elambda__1___closed__13);
l_Lean_Parser_Term_byTactic___closed__1 = _init_l_Lean_Parser_Term_byTactic___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_byTactic___closed__1);
l_Lean_Parser_Term_byTactic___closed__2 = _init_l_Lean_Parser_Term_byTactic___closed__2();
@@ -83755,6 +59854,20 @@ l_Lean_Parser_Term_type___elambda__1___closed__8 = _init_l_Lean_Parser_Term_type
lean_mark_persistent(l_Lean_Parser_Term_type___elambda__1___closed__8);
l_Lean_Parser_Term_type___elambda__1___closed__9 = _init_l_Lean_Parser_Term_type___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Term_type___elambda__1___closed__9);
+l_Lean_Parser_Term_type___elambda__1___closed__10 = _init_l_Lean_Parser_Term_type___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_type___elambda__1___closed__10);
+l_Lean_Parser_Term_type___elambda__1___closed__11 = _init_l_Lean_Parser_Term_type___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_type___elambda__1___closed__11);
+l_Lean_Parser_Term_type___elambda__1___closed__12 = _init_l_Lean_Parser_Term_type___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Term_type___elambda__1___closed__12);
+l_Lean_Parser_Term_type___elambda__1___closed__13 = _init_l_Lean_Parser_Term_type___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Term_type___elambda__1___closed__13);
+l_Lean_Parser_Term_type___elambda__1___closed__14 = _init_l_Lean_Parser_Term_type___elambda__1___closed__14();
+lean_mark_persistent(l_Lean_Parser_Term_type___elambda__1___closed__14);
+l_Lean_Parser_Term_type___elambda__1___closed__15 = _init_l_Lean_Parser_Term_type___elambda__1___closed__15();
+lean_mark_persistent(l_Lean_Parser_Term_type___elambda__1___closed__15);
+l_Lean_Parser_Term_type___elambda__1___closed__16 = _init_l_Lean_Parser_Term_type___elambda__1___closed__16();
+lean_mark_persistent(l_Lean_Parser_Term_type___elambda__1___closed__16);
l_Lean_Parser_Term_type___closed__1 = _init_l_Lean_Parser_Term_type___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_type___closed__1);
l_Lean_Parser_Term_type___closed__2 = _init_l_Lean_Parser_Term_type___closed__2();
@@ -83838,6 +59951,12 @@ l_Lean_Parser_Term_sort___elambda__1___closed__7 = _init_l_Lean_Parser_Term_sort
lean_mark_persistent(l_Lean_Parser_Term_sort___elambda__1___closed__7);
l_Lean_Parser_Term_sort___elambda__1___closed__8 = _init_l_Lean_Parser_Term_sort___elambda__1___closed__8();
lean_mark_persistent(l_Lean_Parser_Term_sort___elambda__1___closed__8);
+l_Lean_Parser_Term_sort___elambda__1___closed__9 = _init_l_Lean_Parser_Term_sort___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Term_sort___elambda__1___closed__9);
+l_Lean_Parser_Term_sort___elambda__1___closed__10 = _init_l_Lean_Parser_Term_sort___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_sort___elambda__1___closed__10);
+l_Lean_Parser_Term_sort___elambda__1___closed__11 = _init_l_Lean_Parser_Term_sort___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_sort___elambda__1___closed__11);
l_Lean_Parser_Term_sort___closed__1 = _init_l_Lean_Parser_Term_sort___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_sort___closed__1);
l_Lean_Parser_Term_sort___closed__2 = _init_l_Lean_Parser_Term_sort___closed__2();
@@ -83897,6 +60016,10 @@ l_Lean_Parser_Term_prop___elambda__1___closed__8 = _init_l_Lean_Parser_Term_prop
lean_mark_persistent(l_Lean_Parser_Term_prop___elambda__1___closed__8);
l_Lean_Parser_Term_prop___elambda__1___closed__9 = _init_l_Lean_Parser_Term_prop___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Term_prop___elambda__1___closed__9);
+l_Lean_Parser_Term_prop___elambda__1___closed__10 = _init_l_Lean_Parser_Term_prop___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_prop___elambda__1___closed__10);
+l_Lean_Parser_Term_prop___elambda__1___closed__11 = _init_l_Lean_Parser_Term_prop___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_prop___elambda__1___closed__11);
l_Lean_Parser_Term_prop___closed__1 = _init_l_Lean_Parser_Term_prop___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_prop___closed__1);
l_Lean_Parser_Term_prop___closed__2 = _init_l_Lean_Parser_Term_prop___closed__2();
@@ -83938,6 +60061,10 @@ l_Lean_Parser_Term_hole___elambda__1___closed__1 = _init_l_Lean_Parser_Term_hole
lean_mark_persistent(l_Lean_Parser_Term_hole___elambda__1___closed__1);
l_Lean_Parser_Term_hole___elambda__1___closed__2 = _init_l_Lean_Parser_Term_hole___elambda__1___closed__2();
lean_mark_persistent(l_Lean_Parser_Term_hole___elambda__1___closed__2);
+l_Lean_Parser_Term_hole___elambda__1___closed__3 = _init_l_Lean_Parser_Term_hole___elambda__1___closed__3();
+lean_mark_persistent(l_Lean_Parser_Term_hole___elambda__1___closed__3);
+l_Lean_Parser_Term_hole___elambda__1___closed__4 = _init_l_Lean_Parser_Term_hole___elambda__1___closed__4();
+lean_mark_persistent(l_Lean_Parser_Term_hole___elambda__1___closed__4);
l_Lean_Parser_Term_hole___closed__1 = _init_l_Lean_Parser_Term_hole___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_hole___closed__1);
l_Lean_Parser_Term_hole___closed__2 = _init_l_Lean_Parser_Term_hole___closed__2();
@@ -83987,6 +60114,14 @@ l_Lean_Parser_Term_syntheticHole___elambda__1___closed__7 = _init_l_Lean_Parser_
lean_mark_persistent(l_Lean_Parser_Term_syntheticHole___elambda__1___closed__7);
l_Lean_Parser_Term_syntheticHole___elambda__1___closed__8 = _init_l_Lean_Parser_Term_syntheticHole___elambda__1___closed__8();
lean_mark_persistent(l_Lean_Parser_Term_syntheticHole___elambda__1___closed__8);
+l_Lean_Parser_Term_syntheticHole___elambda__1___closed__9 = _init_l_Lean_Parser_Term_syntheticHole___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Term_syntheticHole___elambda__1___closed__9);
+l_Lean_Parser_Term_syntheticHole___elambda__1___closed__10 = _init_l_Lean_Parser_Term_syntheticHole___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_syntheticHole___elambda__1___closed__10);
+l_Lean_Parser_Term_syntheticHole___elambda__1___closed__11 = _init_l_Lean_Parser_Term_syntheticHole___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_syntheticHole___elambda__1___closed__11);
+l_Lean_Parser_Term_syntheticHole___elambda__1___closed__12 = _init_l_Lean_Parser_Term_syntheticHole___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Term_syntheticHole___elambda__1___closed__12);
l_Lean_Parser_Term_syntheticHole___closed__1 = _init_l_Lean_Parser_Term_syntheticHole___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_syntheticHole___closed__1);
l_Lean_Parser_Term_syntheticHole___closed__2 = _init_l_Lean_Parser_Term_syntheticHole___closed__2();
@@ -84052,6 +60187,10 @@ l_Lean_Parser_Term_sorry___elambda__1___closed__7 = _init_l_Lean_Parser_Term_sor
lean_mark_persistent(l_Lean_Parser_Term_sorry___elambda__1___closed__7);
l_Lean_Parser_Term_sorry___elambda__1___closed__8 = _init_l_Lean_Parser_Term_sorry___elambda__1___closed__8();
lean_mark_persistent(l_Lean_Parser_Term_sorry___elambda__1___closed__8);
+l_Lean_Parser_Term_sorry___elambda__1___closed__9 = _init_l_Lean_Parser_Term_sorry___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Term_sorry___elambda__1___closed__9);
+l_Lean_Parser_Term_sorry___elambda__1___closed__10 = _init_l_Lean_Parser_Term_sorry___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_sorry___elambda__1___closed__10);
l_Lean_Parser_Term_sorry___closed__1 = _init_l_Lean_Parser_Term_sorry___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_sorry___closed__1);
l_Lean_Parser_Term_sorry___closed__2 = _init_l_Lean_Parser_Term_sorry___closed__2();
@@ -84107,6 +60246,10 @@ l_Lean_Parser_Term_cdot___elambda__1___closed__8 = _init_l_Lean_Parser_Term_cdot
lean_mark_persistent(l_Lean_Parser_Term_cdot___elambda__1___closed__8);
l_Lean_Parser_Term_cdot___elambda__1___closed__9 = _init_l_Lean_Parser_Term_cdot___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Term_cdot___elambda__1___closed__9);
+l_Lean_Parser_Term_cdot___elambda__1___closed__10 = _init_l_Lean_Parser_Term_cdot___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_cdot___elambda__1___closed__10);
+l_Lean_Parser_Term_cdot___elambda__1___closed__11 = _init_l_Lean_Parser_Term_cdot___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_cdot___elambda__1___closed__11);
l_Lean_Parser_Term_cdot___closed__1 = _init_l_Lean_Parser_Term_cdot___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_cdot___closed__1);
l_Lean_Parser_Term_cdot___closed__2 = _init_l_Lean_Parser_Term_cdot___closed__2();
@@ -84162,6 +60305,10 @@ l_Lean_Parser_Term_emptyC___elambda__1___closed__8 = _init_l_Lean_Parser_Term_em
lean_mark_persistent(l_Lean_Parser_Term_emptyC___elambda__1___closed__8);
l_Lean_Parser_Term_emptyC___elambda__1___closed__9 = _init_l_Lean_Parser_Term_emptyC___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Term_emptyC___elambda__1___closed__9);
+l_Lean_Parser_Term_emptyC___elambda__1___closed__10 = _init_l_Lean_Parser_Term_emptyC___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_emptyC___elambda__1___closed__10);
+l_Lean_Parser_Term_emptyC___elambda__1___closed__11 = _init_l_Lean_Parser_Term_emptyC___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_emptyC___elambda__1___closed__11);
l_Lean_Parser_Term_emptyC___closed__1 = _init_l_Lean_Parser_Term_emptyC___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_emptyC___closed__1);
l_Lean_Parser_Term_emptyC___closed__2 = _init_l_Lean_Parser_Term_emptyC___closed__2();
@@ -84223,6 +60370,12 @@ l_Lean_Parser_Term_typeAscription___elambda__1___closed__5 = _init_l_Lean_Parser
lean_mark_persistent(l_Lean_Parser_Term_typeAscription___elambda__1___closed__5);
l_Lean_Parser_Term_typeAscription___elambda__1___closed__6 = _init_l_Lean_Parser_Term_typeAscription___elambda__1___closed__6();
lean_mark_persistent(l_Lean_Parser_Term_typeAscription___elambda__1___closed__6);
+l_Lean_Parser_Term_typeAscription___elambda__1___closed__7 = _init_l_Lean_Parser_Term_typeAscription___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Term_typeAscription___elambda__1___closed__7);
+l_Lean_Parser_Term_typeAscription___elambda__1___closed__8 = _init_l_Lean_Parser_Term_typeAscription___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Term_typeAscription___elambda__1___closed__8);
+l_Lean_Parser_Term_typeAscription___elambda__1___closed__9 = _init_l_Lean_Parser_Term_typeAscription___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Term_typeAscription___elambda__1___closed__9);
l_Lean_Parser_Term_typeAscription___closed__1 = _init_l_Lean_Parser_Term_typeAscription___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_typeAscription___closed__1);
l_Lean_Parser_Term_typeAscription___closed__2 = _init_l_Lean_Parser_Term_typeAscription___closed__2();
@@ -84241,14 +60394,6 @@ l_Lean_Parser_Term_typeAscription___closed__8 = _init_l_Lean_Parser_Term_typeAsc
lean_mark_persistent(l_Lean_Parser_Term_typeAscription___closed__8);
l_Lean_Parser_Term_typeAscription = _init_l_Lean_Parser_Term_typeAscription();
lean_mark_persistent(l_Lean_Parser_Term_typeAscription);
-l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__1 = _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__1();
-lean_mark_persistent(l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__1);
-l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__2 = _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__2();
-lean_mark_persistent(l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__2);
-l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__3 = _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__3();
-lean_mark_persistent(l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__3);
-l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4 = _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4();
-lean_mark_persistent(l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_tupleTail___elambda__1___spec__2___closed__4);
l_Lean_Parser_Term_tupleTail___elambda__1___closed__1 = _init_l_Lean_Parser_Term_tupleTail___elambda__1___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_tupleTail___elambda__1___closed__1);
l_Lean_Parser_Term_tupleTail___elambda__1___closed__2 = _init_l_Lean_Parser_Term_tupleTail___elambda__1___closed__2();
@@ -84257,6 +60402,22 @@ l_Lean_Parser_Term_tupleTail___elambda__1___closed__3 = _init_l_Lean_Parser_Term
lean_mark_persistent(l_Lean_Parser_Term_tupleTail___elambda__1___closed__3);
l_Lean_Parser_Term_tupleTail___elambda__1___closed__4 = _init_l_Lean_Parser_Term_tupleTail___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Term_tupleTail___elambda__1___closed__4);
+l_Lean_Parser_Term_tupleTail___elambda__1___closed__5 = _init_l_Lean_Parser_Term_tupleTail___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Term_tupleTail___elambda__1___closed__5);
+l_Lean_Parser_Term_tupleTail___elambda__1___closed__6 = _init_l_Lean_Parser_Term_tupleTail___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Term_tupleTail___elambda__1___closed__6);
+l_Lean_Parser_Term_tupleTail___elambda__1___closed__7 = _init_l_Lean_Parser_Term_tupleTail___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Term_tupleTail___elambda__1___closed__7);
+l_Lean_Parser_Term_tupleTail___elambda__1___closed__8 = _init_l_Lean_Parser_Term_tupleTail___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Term_tupleTail___elambda__1___closed__8);
+l_Lean_Parser_Term_tupleTail___elambda__1___closed__9 = _init_l_Lean_Parser_Term_tupleTail___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Term_tupleTail___elambda__1___closed__9);
+l_Lean_Parser_Term_tupleTail___elambda__1___closed__10 = _init_l_Lean_Parser_Term_tupleTail___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_tupleTail___elambda__1___closed__10);
+l_Lean_Parser_Term_tupleTail___elambda__1___closed__11 = _init_l_Lean_Parser_Term_tupleTail___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_tupleTail___elambda__1___closed__11);
+l_Lean_Parser_Term_tupleTail___elambda__1___closed__12 = _init_l_Lean_Parser_Term_tupleTail___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Term_tupleTail___elambda__1___closed__12);
l_Lean_Parser_Term_tupleTail___closed__1 = _init_l_Lean_Parser_Term_tupleTail___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_tupleTail___closed__1);
l_Lean_Parser_Term_tupleTail___closed__2 = _init_l_Lean_Parser_Term_tupleTail___closed__2();
@@ -84275,6 +60436,8 @@ l_Lean_Parser_Term_tupleTail___closed__8 = _init_l_Lean_Parser_Term_tupleTail___
lean_mark_persistent(l_Lean_Parser_Term_tupleTail___closed__8);
l_Lean_Parser_Term_tupleTail = _init_l_Lean_Parser_Term_tupleTail();
lean_mark_persistent(l_Lean_Parser_Term_tupleTail);
+l_Lean_Parser_Term_parenSpecial___elambda__1___closed__1 = _init_l_Lean_Parser_Term_parenSpecial___elambda__1___closed__1();
+lean_mark_persistent(l_Lean_Parser_Term_parenSpecial___elambda__1___closed__1);
l_Lean_Parser_Term_parenSpecial___closed__1 = _init_l_Lean_Parser_Term_parenSpecial___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_parenSpecial___closed__1);
l_Lean_Parser_Term_parenSpecial___closed__2 = _init_l_Lean_Parser_Term_parenSpecial___closed__2();
@@ -84289,6 +60452,18 @@ l_Lean_Parser_Term_paren___elambda__1___closed__1 = _init_l_Lean_Parser_Term_par
lean_mark_persistent(l_Lean_Parser_Term_paren___elambda__1___closed__1);
l_Lean_Parser_Term_paren___elambda__1___closed__2 = _init_l_Lean_Parser_Term_paren___elambda__1___closed__2();
lean_mark_persistent(l_Lean_Parser_Term_paren___elambda__1___closed__2);
+l_Lean_Parser_Term_paren___elambda__1___closed__3 = _init_l_Lean_Parser_Term_paren___elambda__1___closed__3();
+lean_mark_persistent(l_Lean_Parser_Term_paren___elambda__1___closed__3);
+l_Lean_Parser_Term_paren___elambda__1___closed__4 = _init_l_Lean_Parser_Term_paren___elambda__1___closed__4();
+lean_mark_persistent(l_Lean_Parser_Term_paren___elambda__1___closed__4);
+l_Lean_Parser_Term_paren___elambda__1___closed__5 = _init_l_Lean_Parser_Term_paren___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Term_paren___elambda__1___closed__5);
+l_Lean_Parser_Term_paren___elambda__1___closed__6 = _init_l_Lean_Parser_Term_paren___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Term_paren___elambda__1___closed__6);
+l_Lean_Parser_Term_paren___elambda__1___closed__7 = _init_l_Lean_Parser_Term_paren___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Term_paren___elambda__1___closed__7);
+l_Lean_Parser_Term_paren___elambda__1___closed__8 = _init_l_Lean_Parser_Term_paren___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Term_paren___elambda__1___closed__8);
l_Lean_Parser_Term_paren___closed__1 = _init_l_Lean_Parser_Term_paren___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_paren___closed__1);
l_Lean_Parser_Term_paren___closed__2 = _init_l_Lean_Parser_Term_paren___closed__2();
@@ -84426,6 +60601,16 @@ l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__11 = _init_l_Lean_Parser
lean_mark_persistent(l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__11);
l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__12 = _init_l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__12();
lean_mark_persistent(l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__12);
+l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__13 = _init_l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__13);
+l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__14 = _init_l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__14();
+lean_mark_persistent(l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__14);
+l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__15 = _init_l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__15();
+lean_mark_persistent(l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__15);
+l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__16 = _init_l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__16();
+lean_mark_persistent(l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__16);
+l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__17 = _init_l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__17();
+lean_mark_persistent(l_Lean_Parser_Term_anonymousCtor___elambda__1___closed__17);
l_Lean_Parser_Term_anonymousCtor___closed__1 = _init_l_Lean_Parser_Term_anonymousCtor___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_anonymousCtor___closed__1);
l_Lean_Parser_Term_anonymousCtor___closed__2 = _init_l_Lean_Parser_Term_anonymousCtor___closed__2();
@@ -84485,6 +60670,10 @@ lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_anonymousCtor_parenthesizer
res = l___regBuiltin_Lean_Parser_Term_anonymousCtor_parenthesizer(lean_io_mk_world());
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
+l_Lean_Parser_Term_optIdent___elambda__1___closed__1 = _init_l_Lean_Parser_Term_optIdent___elambda__1___closed__1();
+lean_mark_persistent(l_Lean_Parser_Term_optIdent___elambda__1___closed__1);
+l_Lean_Parser_Term_optIdent___elambda__1___closed__2 = _init_l_Lean_Parser_Term_optIdent___elambda__1___closed__2();
+lean_mark_persistent(l_Lean_Parser_Term_optIdent___elambda__1___closed__2);
l_Lean_Parser_Term_optIdent___closed__1 = _init_l_Lean_Parser_Term_optIdent___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_optIdent___closed__1);
l_Lean_Parser_Term_optIdent___closed__2 = _init_l_Lean_Parser_Term_optIdent___closed__2();
@@ -84533,6 +60722,22 @@ l_Lean_Parser_Term_if___elambda__1___closed__18 = _init_l_Lean_Parser_Term_if___
lean_mark_persistent(l_Lean_Parser_Term_if___elambda__1___closed__18);
l_Lean_Parser_Term_if___elambda__1___closed__19 = _init_l_Lean_Parser_Term_if___elambda__1___closed__19();
lean_mark_persistent(l_Lean_Parser_Term_if___elambda__1___closed__19);
+l_Lean_Parser_Term_if___elambda__1___closed__20 = _init_l_Lean_Parser_Term_if___elambda__1___closed__20();
+lean_mark_persistent(l_Lean_Parser_Term_if___elambda__1___closed__20);
+l_Lean_Parser_Term_if___elambda__1___closed__21 = _init_l_Lean_Parser_Term_if___elambda__1___closed__21();
+lean_mark_persistent(l_Lean_Parser_Term_if___elambda__1___closed__21);
+l_Lean_Parser_Term_if___elambda__1___closed__22 = _init_l_Lean_Parser_Term_if___elambda__1___closed__22();
+lean_mark_persistent(l_Lean_Parser_Term_if___elambda__1___closed__22);
+l_Lean_Parser_Term_if___elambda__1___closed__23 = _init_l_Lean_Parser_Term_if___elambda__1___closed__23();
+lean_mark_persistent(l_Lean_Parser_Term_if___elambda__1___closed__23);
+l_Lean_Parser_Term_if___elambda__1___closed__24 = _init_l_Lean_Parser_Term_if___elambda__1___closed__24();
+lean_mark_persistent(l_Lean_Parser_Term_if___elambda__1___closed__24);
+l_Lean_Parser_Term_if___elambda__1___closed__25 = _init_l_Lean_Parser_Term_if___elambda__1___closed__25();
+lean_mark_persistent(l_Lean_Parser_Term_if___elambda__1___closed__25);
+l_Lean_Parser_Term_if___elambda__1___closed__26 = _init_l_Lean_Parser_Term_if___elambda__1___closed__26();
+lean_mark_persistent(l_Lean_Parser_Term_if___elambda__1___closed__26);
+l_Lean_Parser_Term_if___elambda__1___closed__27 = _init_l_Lean_Parser_Term_if___elambda__1___closed__27();
+lean_mark_persistent(l_Lean_Parser_Term_if___elambda__1___closed__27);
l_Lean_Parser_Term_if___closed__1 = _init_l_Lean_Parser_Term_if___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_if___closed__1);
l_Lean_Parser_Term_if___closed__2 = _init_l_Lean_Parser_Term_if___closed__2();
@@ -84642,6 +60847,12 @@ l_Lean_Parser_Term_fromTerm___elambda__1___closed__8 = _init_l_Lean_Parser_Term_
lean_mark_persistent(l_Lean_Parser_Term_fromTerm___elambda__1___closed__8);
l_Lean_Parser_Term_fromTerm___elambda__1___closed__9 = _init_l_Lean_Parser_Term_fromTerm___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Term_fromTerm___elambda__1___closed__9);
+l_Lean_Parser_Term_fromTerm___elambda__1___closed__10 = _init_l_Lean_Parser_Term_fromTerm___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_fromTerm___elambda__1___closed__10);
+l_Lean_Parser_Term_fromTerm___elambda__1___closed__11 = _init_l_Lean_Parser_Term_fromTerm___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_fromTerm___elambda__1___closed__11);
+l_Lean_Parser_Term_fromTerm___elambda__1___closed__12 = _init_l_Lean_Parser_Term_fromTerm___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Term_fromTerm___elambda__1___closed__12);
l_Lean_Parser_Term_fromTerm___closed__1 = _init_l_Lean_Parser_Term_fromTerm___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_fromTerm___closed__1);
l_Lean_Parser_Term_fromTerm___closed__2 = _init_l_Lean_Parser_Term_fromTerm___closed__2();
@@ -84674,6 +60885,12 @@ l_Lean_Parser_Term_haveAssign___elambda__1___closed__7 = _init_l_Lean_Parser_Ter
lean_mark_persistent(l_Lean_Parser_Term_haveAssign___elambda__1___closed__7);
l_Lean_Parser_Term_haveAssign___elambda__1___closed__8 = _init_l_Lean_Parser_Term_haveAssign___elambda__1___closed__8();
lean_mark_persistent(l_Lean_Parser_Term_haveAssign___elambda__1___closed__8);
+l_Lean_Parser_Term_haveAssign___elambda__1___closed__9 = _init_l_Lean_Parser_Term_haveAssign___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Term_haveAssign___elambda__1___closed__9);
+l_Lean_Parser_Term_haveAssign___elambda__1___closed__10 = _init_l_Lean_Parser_Term_haveAssign___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_haveAssign___elambda__1___closed__10);
+l_Lean_Parser_Term_haveAssign___elambda__1___closed__11 = _init_l_Lean_Parser_Term_haveAssign___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_haveAssign___elambda__1___closed__11);
l_Lean_Parser_Term_haveAssign___closed__1 = _init_l_Lean_Parser_Term_haveAssign___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_haveAssign___closed__1);
l_Lean_Parser_Term_haveAssign___closed__2 = _init_l_Lean_Parser_Term_haveAssign___closed__2();
@@ -84690,6 +60907,8 @@ l_Lean_Parser_Term_haveAssign___closed__7 = _init_l_Lean_Parser_Term_haveAssign_
lean_mark_persistent(l_Lean_Parser_Term_haveAssign___closed__7);
l_Lean_Parser_Term_haveAssign = _init_l_Lean_Parser_Term_haveAssign();
lean_mark_persistent(l_Lean_Parser_Term_haveAssign);
+l_Lean_Parser_Term_haveDecl___elambda__1___closed__1 = _init_l_Lean_Parser_Term_haveDecl___elambda__1___closed__1();
+lean_mark_persistent(l_Lean_Parser_Term_haveDecl___elambda__1___closed__1);
l_Lean_Parser_Term_haveDecl___closed__1 = _init_l_Lean_Parser_Term_haveDecl___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_haveDecl___closed__1);
l_Lean_Parser_Term_haveDecl___closed__2 = _init_l_Lean_Parser_Term_haveDecl___closed__2();
@@ -84724,6 +60943,12 @@ l_Lean_Parser_Term_have___elambda__1___closed__9 = _init_l_Lean_Parser_Term_have
lean_mark_persistent(l_Lean_Parser_Term_have___elambda__1___closed__9);
l_Lean_Parser_Term_have___elambda__1___closed__10 = _init_l_Lean_Parser_Term_have___elambda__1___closed__10();
lean_mark_persistent(l_Lean_Parser_Term_have___elambda__1___closed__10);
+l_Lean_Parser_Term_have___elambda__1___closed__11 = _init_l_Lean_Parser_Term_have___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_have___elambda__1___closed__11);
+l_Lean_Parser_Term_have___elambda__1___closed__12 = _init_l_Lean_Parser_Term_have___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Term_have___elambda__1___closed__12);
+l_Lean_Parser_Term_have___elambda__1___closed__13 = _init_l_Lean_Parser_Term_have___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Term_have___elambda__1___closed__13);
l_Lean_Parser_Term_have___closed__1 = _init_l_Lean_Parser_Term_have___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_have___closed__1);
l_Lean_Parser_Term_have___closed__2 = _init_l_Lean_Parser_Term_have___closed__2();
@@ -84857,6 +61082,12 @@ l_Lean_Parser_Term_suffices___elambda__1___closed__8 = _init_l_Lean_Parser_Term_
lean_mark_persistent(l_Lean_Parser_Term_suffices___elambda__1___closed__8);
l_Lean_Parser_Term_suffices___elambda__1___closed__9 = _init_l_Lean_Parser_Term_suffices___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Term_suffices___elambda__1___closed__9);
+l_Lean_Parser_Term_suffices___elambda__1___closed__10 = _init_l_Lean_Parser_Term_suffices___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_suffices___elambda__1___closed__10);
+l_Lean_Parser_Term_suffices___elambda__1___closed__11 = _init_l_Lean_Parser_Term_suffices___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_suffices___elambda__1___closed__11);
+l_Lean_Parser_Term_suffices___elambda__1___closed__12 = _init_l_Lean_Parser_Term_suffices___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Term_suffices___elambda__1___closed__12);
l_Lean_Parser_Term_suffices___closed__1 = _init_l_Lean_Parser_Term_suffices___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_suffices___closed__1);
l_Lean_Parser_Term_suffices___closed__2 = _init_l_Lean_Parser_Term_suffices___closed__2();
@@ -84936,6 +61167,14 @@ l_Lean_Parser_Term_show___elambda__1___closed__8 = _init_l_Lean_Parser_Term_show
lean_mark_persistent(l_Lean_Parser_Term_show___elambda__1___closed__8);
l_Lean_Parser_Term_show___elambda__1___closed__9 = _init_l_Lean_Parser_Term_show___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Term_show___elambda__1___closed__9);
+l_Lean_Parser_Term_show___elambda__1___closed__10 = _init_l_Lean_Parser_Term_show___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_show___elambda__1___closed__10);
+l_Lean_Parser_Term_show___elambda__1___closed__11 = _init_l_Lean_Parser_Term_show___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_show___elambda__1___closed__11);
+l_Lean_Parser_Term_show___elambda__1___closed__12 = _init_l_Lean_Parser_Term_show___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Term_show___elambda__1___closed__12);
+l_Lean_Parser_Term_show___elambda__1___closed__13 = _init_l_Lean_Parser_Term_show___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Term_show___elambda__1___closed__13);
l_Lean_Parser_Term_show___closed__1 = _init_l_Lean_Parser_Term_show___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_show___closed__1);
l_Lean_Parser_Term_show___closed__2 = _init_l_Lean_Parser_Term_show___closed__2();
@@ -85009,6 +61248,14 @@ l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__11 = _init_l_Lean_P
lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__11);
l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12 = _init_l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12();
lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__12);
+l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__13 = _init_l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__13);
+l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__14 = _init_l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__14();
+lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__14);
+l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__15 = _init_l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__15();
+lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__15);
+l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__16 = _init_l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__16();
+lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef___elambda__1___closed__16);
l_Lean_Parser_Term_structInstArrayRef___closed__1 = _init_l_Lean_Parser_Term_structInstArrayRef___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef___closed__1);
l_Lean_Parser_Term_structInstArrayRef___closed__2 = _init_l_Lean_Parser_Term_structInstArrayRef___closed__2();
@@ -85029,14 +61276,20 @@ l_Lean_Parser_Term_structInstArrayRef___closed__9 = _init_l_Lean_Parser_Term_str
lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef___closed__9);
l_Lean_Parser_Term_structInstArrayRef = _init_l_Lean_Parser_Term_structInstArrayRef();
lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef);
-l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_structInstLVal___elambda__1___spec__1___closed__1 = _init_l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_structInstLVal___elambda__1___spec__1___closed__1();
-lean_mark_persistent(l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_structInstLVal___elambda__1___spec__1___closed__1);
-l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_structInstLVal___elambda__1___spec__1___closed__2 = _init_l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_structInstLVal___elambda__1___spec__1___closed__2();
-lean_mark_persistent(l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_structInstLVal___elambda__1___spec__1___closed__2);
-l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_structInstLVal___elambda__1___spec__1___closed__3 = _init_l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_structInstLVal___elambda__1___spec__1___closed__3();
-lean_mark_persistent(l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_structInstLVal___elambda__1___spec__1___closed__3);
-l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_structInstLVal___elambda__1___spec__1___closed__4 = _init_l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_structInstLVal___elambda__1___spec__1___closed__4();
-lean_mark_persistent(l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_structInstLVal___elambda__1___spec__1___closed__4);
+l_Lean_Parser_Term_structInstLVal___elambda__1___closed__1 = _init_l_Lean_Parser_Term_structInstLVal___elambda__1___closed__1();
+lean_mark_persistent(l_Lean_Parser_Term_structInstLVal___elambda__1___closed__1);
+l_Lean_Parser_Term_structInstLVal___elambda__1___closed__2 = _init_l_Lean_Parser_Term_structInstLVal___elambda__1___closed__2();
+lean_mark_persistent(l_Lean_Parser_Term_structInstLVal___elambda__1___closed__2);
+l_Lean_Parser_Term_structInstLVal___elambda__1___closed__3 = _init_l_Lean_Parser_Term_structInstLVal___elambda__1___closed__3();
+lean_mark_persistent(l_Lean_Parser_Term_structInstLVal___elambda__1___closed__3);
+l_Lean_Parser_Term_structInstLVal___elambda__1___closed__4 = _init_l_Lean_Parser_Term_structInstLVal___elambda__1___closed__4();
+lean_mark_persistent(l_Lean_Parser_Term_structInstLVal___elambda__1___closed__4);
+l_Lean_Parser_Term_structInstLVal___elambda__1___closed__5 = _init_l_Lean_Parser_Term_structInstLVal___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Term_structInstLVal___elambda__1___closed__5);
+l_Lean_Parser_Term_structInstLVal___elambda__1___closed__6 = _init_l_Lean_Parser_Term_structInstLVal___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Term_structInstLVal___elambda__1___closed__6);
+l_Lean_Parser_Term_structInstLVal___elambda__1___closed__7 = _init_l_Lean_Parser_Term_structInstLVal___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Term_structInstLVal___elambda__1___closed__7);
l_Lean_Parser_Term_structInstLVal___closed__1 = _init_l_Lean_Parser_Term_structInstLVal___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_structInstLVal___closed__1);
l_Lean_Parser_Term_structInstLVal___closed__2 = _init_l_Lean_Parser_Term_structInstLVal___closed__2();
@@ -85065,6 +61318,12 @@ l_Lean_Parser_Term_structInstField___elambda__1___closed__1 = _init_l_Lean_Parse
lean_mark_persistent(l_Lean_Parser_Term_structInstField___elambda__1___closed__1);
l_Lean_Parser_Term_structInstField___elambda__1___closed__2 = _init_l_Lean_Parser_Term_structInstField___elambda__1___closed__2();
lean_mark_persistent(l_Lean_Parser_Term_structInstField___elambda__1___closed__2);
+l_Lean_Parser_Term_structInstField___elambda__1___closed__3 = _init_l_Lean_Parser_Term_structInstField___elambda__1___closed__3();
+lean_mark_persistent(l_Lean_Parser_Term_structInstField___elambda__1___closed__3);
+l_Lean_Parser_Term_structInstField___elambda__1___closed__4 = _init_l_Lean_Parser_Term_structInstField___elambda__1___closed__4();
+lean_mark_persistent(l_Lean_Parser_Term_structInstField___elambda__1___closed__4);
+l_Lean_Parser_Term_structInstField___elambda__1___closed__5 = _init_l_Lean_Parser_Term_structInstField___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Term_structInstField___elambda__1___closed__5);
l_Lean_Parser_Term_structInstField___closed__1 = _init_l_Lean_Parser_Term_structInstField___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_structInstField___closed__1);
l_Lean_Parser_Term_structInstField___closed__2 = _init_l_Lean_Parser_Term_structInstField___closed__2();
@@ -85111,6 +61370,28 @@ l_Lean_Parser_Term_structInst___elambda__1___closed__15 = _init_l_Lean_Parser_Te
lean_mark_persistent(l_Lean_Parser_Term_structInst___elambda__1___closed__15);
l_Lean_Parser_Term_structInst___elambda__1___closed__16 = _init_l_Lean_Parser_Term_structInst___elambda__1___closed__16();
lean_mark_persistent(l_Lean_Parser_Term_structInst___elambda__1___closed__16);
+l_Lean_Parser_Term_structInst___elambda__1___closed__17 = _init_l_Lean_Parser_Term_structInst___elambda__1___closed__17();
+lean_mark_persistent(l_Lean_Parser_Term_structInst___elambda__1___closed__17);
+l_Lean_Parser_Term_structInst___elambda__1___closed__18 = _init_l_Lean_Parser_Term_structInst___elambda__1___closed__18();
+lean_mark_persistent(l_Lean_Parser_Term_structInst___elambda__1___closed__18);
+l_Lean_Parser_Term_structInst___elambda__1___closed__19 = _init_l_Lean_Parser_Term_structInst___elambda__1___closed__19();
+lean_mark_persistent(l_Lean_Parser_Term_structInst___elambda__1___closed__19);
+l_Lean_Parser_Term_structInst___elambda__1___closed__20 = _init_l_Lean_Parser_Term_structInst___elambda__1___closed__20();
+lean_mark_persistent(l_Lean_Parser_Term_structInst___elambda__1___closed__20);
+l_Lean_Parser_Term_structInst___elambda__1___closed__21 = _init_l_Lean_Parser_Term_structInst___elambda__1___closed__21();
+lean_mark_persistent(l_Lean_Parser_Term_structInst___elambda__1___closed__21);
+l_Lean_Parser_Term_structInst___elambda__1___closed__22 = _init_l_Lean_Parser_Term_structInst___elambda__1___closed__22();
+lean_mark_persistent(l_Lean_Parser_Term_structInst___elambda__1___closed__22);
+l_Lean_Parser_Term_structInst___elambda__1___closed__23 = _init_l_Lean_Parser_Term_structInst___elambda__1___closed__23();
+lean_mark_persistent(l_Lean_Parser_Term_structInst___elambda__1___closed__23);
+l_Lean_Parser_Term_structInst___elambda__1___closed__24 = _init_l_Lean_Parser_Term_structInst___elambda__1___closed__24();
+lean_mark_persistent(l_Lean_Parser_Term_structInst___elambda__1___closed__24);
+l_Lean_Parser_Term_structInst___elambda__1___closed__25 = _init_l_Lean_Parser_Term_structInst___elambda__1___closed__25();
+lean_mark_persistent(l_Lean_Parser_Term_structInst___elambda__1___closed__25);
+l_Lean_Parser_Term_structInst___elambda__1___closed__26 = _init_l_Lean_Parser_Term_structInst___elambda__1___closed__26();
+lean_mark_persistent(l_Lean_Parser_Term_structInst___elambda__1___closed__26);
+l_Lean_Parser_Term_structInst___elambda__1___closed__27 = _init_l_Lean_Parser_Term_structInst___elambda__1___closed__27();
+lean_mark_persistent(l_Lean_Parser_Term_structInst___elambda__1___closed__27);
l_Lean_Parser_Term_structInst___closed__1 = _init_l_Lean_Parser_Term_structInst___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__1);
l_Lean_Parser_Term_structInst___closed__2 = _init_l_Lean_Parser_Term_structInst___closed__2();
@@ -85312,6 +61593,10 @@ l_Lean_Parser_Term_typeSpec___elambda__1___closed__3 = _init_l_Lean_Parser_Term_
lean_mark_persistent(l_Lean_Parser_Term_typeSpec___elambda__1___closed__3);
l_Lean_Parser_Term_typeSpec___elambda__1___closed__4 = _init_l_Lean_Parser_Term_typeSpec___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Term_typeSpec___elambda__1___closed__4);
+l_Lean_Parser_Term_typeSpec___elambda__1___closed__5 = _init_l_Lean_Parser_Term_typeSpec___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Term_typeSpec___elambda__1___closed__5);
+l_Lean_Parser_Term_typeSpec___elambda__1___closed__6 = _init_l_Lean_Parser_Term_typeSpec___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Term_typeSpec___elambda__1___closed__6);
l_Lean_Parser_Term_typeSpec___closed__1 = _init_l_Lean_Parser_Term_typeSpec___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_typeSpec___closed__1);
l_Lean_Parser_Term_typeSpec___closed__2 = _init_l_Lean_Parser_Term_typeSpec___closed__2();
@@ -85360,6 +61645,20 @@ l_Lean_Parser_Term_subtype___elambda__1___closed__13 = _init_l_Lean_Parser_Term_
lean_mark_persistent(l_Lean_Parser_Term_subtype___elambda__1___closed__13);
l_Lean_Parser_Term_subtype___elambda__1___closed__14 = _init_l_Lean_Parser_Term_subtype___elambda__1___closed__14();
lean_mark_persistent(l_Lean_Parser_Term_subtype___elambda__1___closed__14);
+l_Lean_Parser_Term_subtype___elambda__1___closed__15 = _init_l_Lean_Parser_Term_subtype___elambda__1___closed__15();
+lean_mark_persistent(l_Lean_Parser_Term_subtype___elambda__1___closed__15);
+l_Lean_Parser_Term_subtype___elambda__1___closed__16 = _init_l_Lean_Parser_Term_subtype___elambda__1___closed__16();
+lean_mark_persistent(l_Lean_Parser_Term_subtype___elambda__1___closed__16);
+l_Lean_Parser_Term_subtype___elambda__1___closed__17 = _init_l_Lean_Parser_Term_subtype___elambda__1___closed__17();
+lean_mark_persistent(l_Lean_Parser_Term_subtype___elambda__1___closed__17);
+l_Lean_Parser_Term_subtype___elambda__1___closed__18 = _init_l_Lean_Parser_Term_subtype___elambda__1___closed__18();
+lean_mark_persistent(l_Lean_Parser_Term_subtype___elambda__1___closed__18);
+l_Lean_Parser_Term_subtype___elambda__1___closed__19 = _init_l_Lean_Parser_Term_subtype___elambda__1___closed__19();
+lean_mark_persistent(l_Lean_Parser_Term_subtype___elambda__1___closed__19);
+l_Lean_Parser_Term_subtype___elambda__1___closed__20 = _init_l_Lean_Parser_Term_subtype___elambda__1___closed__20();
+lean_mark_persistent(l_Lean_Parser_Term_subtype___elambda__1___closed__20);
+l_Lean_Parser_Term_subtype___elambda__1___closed__21 = _init_l_Lean_Parser_Term_subtype___elambda__1___closed__21();
+lean_mark_persistent(l_Lean_Parser_Term_subtype___elambda__1___closed__21);
l_Lean_Parser_Term_subtype___closed__1 = _init_l_Lean_Parser_Term_subtype___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_subtype___closed__1);
l_Lean_Parser_Term_subtype___closed__2 = _init_l_Lean_Parser_Term_subtype___closed__2();
@@ -85443,14 +61742,6 @@ lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_subtype_parenthesizer___clo
res = l___regBuiltin_Lean_Parser_Term_subtype_parenthesizer(lean_io_mk_world());
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
-l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_listLit___elambda__1___spec__2___closed__1 = _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_listLit___elambda__1___spec__2___closed__1();
-lean_mark_persistent(l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_listLit___elambda__1___spec__2___closed__1);
-l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_listLit___elambda__1___spec__2___closed__2 = _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_listLit___elambda__1___spec__2___closed__2();
-lean_mark_persistent(l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_listLit___elambda__1___spec__2___closed__2);
-l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_listLit___elambda__1___spec__2___closed__3 = _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_listLit___elambda__1___spec__2___closed__3();
-lean_mark_persistent(l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_listLit___elambda__1___spec__2___closed__3);
-l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_listLit___elambda__1___spec__2___closed__4 = _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_listLit___elambda__1___spec__2___closed__4();
-lean_mark_persistent(l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_listLit___elambda__1___spec__2___closed__4);
l_Lean_Parser_Term_listLit___elambda__1___closed__1 = _init_l_Lean_Parser_Term_listLit___elambda__1___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_listLit___elambda__1___closed__1);
l_Lean_Parser_Term_listLit___elambda__1___closed__2 = _init_l_Lean_Parser_Term_listLit___elambda__1___closed__2();
@@ -85459,6 +61750,20 @@ l_Lean_Parser_Term_listLit___elambda__1___closed__3 = _init_l_Lean_Parser_Term_l
lean_mark_persistent(l_Lean_Parser_Term_listLit___elambda__1___closed__3);
l_Lean_Parser_Term_listLit___elambda__1___closed__4 = _init_l_Lean_Parser_Term_listLit___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Term_listLit___elambda__1___closed__4);
+l_Lean_Parser_Term_listLit___elambda__1___closed__5 = _init_l_Lean_Parser_Term_listLit___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Term_listLit___elambda__1___closed__5);
+l_Lean_Parser_Term_listLit___elambda__1___closed__6 = _init_l_Lean_Parser_Term_listLit___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Term_listLit___elambda__1___closed__6);
+l_Lean_Parser_Term_listLit___elambda__1___closed__7 = _init_l_Lean_Parser_Term_listLit___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Term_listLit___elambda__1___closed__7);
+l_Lean_Parser_Term_listLit___elambda__1___closed__8 = _init_l_Lean_Parser_Term_listLit___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Term_listLit___elambda__1___closed__8);
+l_Lean_Parser_Term_listLit___elambda__1___closed__9 = _init_l_Lean_Parser_Term_listLit___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Term_listLit___elambda__1___closed__9);
+l_Lean_Parser_Term_listLit___elambda__1___closed__10 = _init_l_Lean_Parser_Term_listLit___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_listLit___elambda__1___closed__10);
+l_Lean_Parser_Term_listLit___elambda__1___closed__11 = _init_l_Lean_Parser_Term_listLit___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_listLit___elambda__1___closed__11);
l_Lean_Parser_Term_listLit___closed__1 = _init_l_Lean_Parser_Term_listLit___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_listLit___closed__1);
l_Lean_Parser_Term_listLit___closed__2 = _init_l_Lean_Parser_Term_listLit___closed__2();
@@ -85524,6 +61829,12 @@ l_Lean_Parser_Term_arrayLit___elambda__1___closed__7 = _init_l_Lean_Parser_Term_
lean_mark_persistent(l_Lean_Parser_Term_arrayLit___elambda__1___closed__7);
l_Lean_Parser_Term_arrayLit___elambda__1___closed__8 = _init_l_Lean_Parser_Term_arrayLit___elambda__1___closed__8();
lean_mark_persistent(l_Lean_Parser_Term_arrayLit___elambda__1___closed__8);
+l_Lean_Parser_Term_arrayLit___elambda__1___closed__9 = _init_l_Lean_Parser_Term_arrayLit___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Term_arrayLit___elambda__1___closed__9);
+l_Lean_Parser_Term_arrayLit___elambda__1___closed__10 = _init_l_Lean_Parser_Term_arrayLit___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_arrayLit___elambda__1___closed__10);
+l_Lean_Parser_Term_arrayLit___elambda__1___closed__11 = _init_l_Lean_Parser_Term_arrayLit___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_arrayLit___elambda__1___closed__11);
l_Lean_Parser_Term_arrayLit___closed__1 = _init_l_Lean_Parser_Term_arrayLit___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_arrayLit___closed__1);
l_Lean_Parser_Term_arrayLit___closed__2 = _init_l_Lean_Parser_Term_arrayLit___closed__2();
@@ -85583,6 +61894,14 @@ l_Lean_Parser_Term_explicit___elambda__1___closed__8 = _init_l_Lean_Parser_Term_
lean_mark_persistent(l_Lean_Parser_Term_explicit___elambda__1___closed__8);
l_Lean_Parser_Term_explicit___elambda__1___closed__9 = _init_l_Lean_Parser_Term_explicit___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Term_explicit___elambda__1___closed__9);
+l_Lean_Parser_Term_explicit___elambda__1___closed__10 = _init_l_Lean_Parser_Term_explicit___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_explicit___elambda__1___closed__10);
+l_Lean_Parser_Term_explicit___elambda__1___closed__11 = _init_l_Lean_Parser_Term_explicit___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_explicit___elambda__1___closed__11);
+l_Lean_Parser_Term_explicit___elambda__1___closed__12 = _init_l_Lean_Parser_Term_explicit___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Term_explicit___elambda__1___closed__12);
+l_Lean_Parser_Term_explicit___elambda__1___closed__13 = _init_l_Lean_Parser_Term_explicit___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Term_explicit___elambda__1___closed__13);
l_Lean_Parser_Term_explicit___closed__1 = _init_l_Lean_Parser_Term_explicit___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_explicit___closed__1);
l_Lean_Parser_Term_explicit___closed__2 = _init_l_Lean_Parser_Term_explicit___closed__2();
@@ -85648,6 +61967,14 @@ l_Lean_Parser_Term_inaccessible___elambda__1___closed__8 = _init_l_Lean_Parser_T
lean_mark_persistent(l_Lean_Parser_Term_inaccessible___elambda__1___closed__8);
l_Lean_Parser_Term_inaccessible___elambda__1___closed__9 = _init_l_Lean_Parser_Term_inaccessible___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Term_inaccessible___elambda__1___closed__9);
+l_Lean_Parser_Term_inaccessible___elambda__1___closed__10 = _init_l_Lean_Parser_Term_inaccessible___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_inaccessible___elambda__1___closed__10);
+l_Lean_Parser_Term_inaccessible___elambda__1___closed__11 = _init_l_Lean_Parser_Term_inaccessible___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_inaccessible___elambda__1___closed__11);
+l_Lean_Parser_Term_inaccessible___elambda__1___closed__12 = _init_l_Lean_Parser_Term_inaccessible___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Term_inaccessible___elambda__1___closed__12);
+l_Lean_Parser_Term_inaccessible___elambda__1___closed__13 = _init_l_Lean_Parser_Term_inaccessible___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Term_inaccessible___elambda__1___closed__13);
l_Lean_Parser_Term_inaccessible___closed__1 = _init_l_Lean_Parser_Term_inaccessible___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_inaccessible___closed__1);
l_Lean_Parser_Term_inaccessible___closed__2 = _init_l_Lean_Parser_Term_inaccessible___closed__2();
@@ -85729,6 +62056,12 @@ l_Lean_Parser_Term_binderTactic___elambda__1___closed__8 = _init_l_Lean_Parser_T
lean_mark_persistent(l_Lean_Parser_Term_binderTactic___elambda__1___closed__8);
l_Lean_Parser_Term_binderTactic___elambda__1___closed__9 = _init_l_Lean_Parser_Term_binderTactic___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Term_binderTactic___elambda__1___closed__9);
+l_Lean_Parser_Term_binderTactic___elambda__1___closed__10 = _init_l_Lean_Parser_Term_binderTactic___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_binderTactic___elambda__1___closed__10);
+l_Lean_Parser_Term_binderTactic___elambda__1___closed__11 = _init_l_Lean_Parser_Term_binderTactic___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_binderTactic___elambda__1___closed__11);
+l_Lean_Parser_Term_binderTactic___elambda__1___closed__12 = _init_l_Lean_Parser_Term_binderTactic___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Term_binderTactic___elambda__1___closed__12);
l_Lean_Parser_Term_binderTactic___closed__1 = _init_l_Lean_Parser_Term_binderTactic___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_binderTactic___closed__1);
l_Lean_Parser_Term_binderTactic___closed__2 = _init_l_Lean_Parser_Term_binderTactic___closed__2();
@@ -85755,6 +62088,10 @@ l_Lean_Parser_Term_binderDefault___elambda__1___closed__3 = _init_l_Lean_Parser_
lean_mark_persistent(l_Lean_Parser_Term_binderDefault___elambda__1___closed__3);
l_Lean_Parser_Term_binderDefault___elambda__1___closed__4 = _init_l_Lean_Parser_Term_binderDefault___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Term_binderDefault___elambda__1___closed__4);
+l_Lean_Parser_Term_binderDefault___elambda__1___closed__5 = _init_l_Lean_Parser_Term_binderDefault___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Term_binderDefault___elambda__1___closed__5);
+l_Lean_Parser_Term_binderDefault___elambda__1___closed__6 = _init_l_Lean_Parser_Term_binderDefault___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Term_binderDefault___elambda__1___closed__6);
l_Lean_Parser_Term_binderDefault___closed__1 = _init_l_Lean_Parser_Term_binderDefault___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_binderDefault___closed__1);
l_Lean_Parser_Term_binderDefault___closed__2 = _init_l_Lean_Parser_Term_binderDefault___closed__2();
@@ -85789,12 +62126,6 @@ l_Lean_Parser_Term_explicitBinder___closed__6 = _init_l_Lean_Parser_Term_explici
lean_mark_persistent(l_Lean_Parser_Term_explicitBinder___closed__6);
l_Lean_Parser_Term_explicitBinder___closed__7 = _init_l_Lean_Parser_Term_explicitBinder___closed__7();
lean_mark_persistent(l_Lean_Parser_Term_explicitBinder___closed__7);
-l_Lean_Parser_Term_explicitBinder___closed__8 = _init_l_Lean_Parser_Term_explicitBinder___closed__8();
-lean_mark_persistent(l_Lean_Parser_Term_explicitBinder___closed__8);
-l_Lean_Parser_Term_explicitBinder___closed__9 = _init_l_Lean_Parser_Term_explicitBinder___closed__9();
-lean_mark_persistent(l_Lean_Parser_Term_explicitBinder___closed__9);
-l_Lean_Parser_Term_explicitBinder___closed__10 = _init_l_Lean_Parser_Term_explicitBinder___closed__10();
-lean_mark_persistent(l_Lean_Parser_Term_explicitBinder___closed__10);
l_Lean_Parser_Term_implicitBinder___elambda__1___closed__1 = _init_l_Lean_Parser_Term_implicitBinder___elambda__1___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_implicitBinder___elambda__1___closed__1);
l_Lean_Parser_Term_implicitBinder___elambda__1___closed__2 = _init_l_Lean_Parser_Term_implicitBinder___elambda__1___closed__2();
@@ -85803,10 +62134,6 @@ l_Lean_Parser_Term_implicitBinder___elambda__1___closed__3 = _init_l_Lean_Parser
lean_mark_persistent(l_Lean_Parser_Term_implicitBinder___elambda__1___closed__3);
l_Lean_Parser_Term_implicitBinder___elambda__1___closed__4 = _init_l_Lean_Parser_Term_implicitBinder___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Term_implicitBinder___elambda__1___closed__4);
-l_Lean_Parser_Term_implicitBinder___closed__1 = _init_l_Lean_Parser_Term_implicitBinder___closed__1();
-lean_mark_persistent(l_Lean_Parser_Term_implicitBinder___closed__1);
-l_Lean_Parser_Term_implicitBinder___closed__2 = _init_l_Lean_Parser_Term_implicitBinder___closed__2();
-lean_mark_persistent(l_Lean_Parser_Term_implicitBinder___closed__2);
l_Lean_Parser_Term_instBinder___elambda__1___closed__1 = _init_l_Lean_Parser_Term_instBinder___elambda__1___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_instBinder___elambda__1___closed__1);
l_Lean_Parser_Term_instBinder___elambda__1___closed__2 = _init_l_Lean_Parser_Term_instBinder___elambda__1___closed__2();
@@ -85815,6 +62142,14 @@ l_Lean_Parser_Term_instBinder___elambda__1___closed__3 = _init_l_Lean_Parser_Ter
lean_mark_persistent(l_Lean_Parser_Term_instBinder___elambda__1___closed__3);
l_Lean_Parser_Term_instBinder___elambda__1___closed__4 = _init_l_Lean_Parser_Term_instBinder___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Term_instBinder___elambda__1___closed__4);
+l_Lean_Parser_Term_instBinder___elambda__1___closed__5 = _init_l_Lean_Parser_Term_instBinder___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Term_instBinder___elambda__1___closed__5);
+l_Lean_Parser_Term_instBinder___elambda__1___closed__6 = _init_l_Lean_Parser_Term_instBinder___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Term_instBinder___elambda__1___closed__6);
+l_Lean_Parser_Term_instBinder___elambda__1___closed__7 = _init_l_Lean_Parser_Term_instBinder___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Term_instBinder___elambda__1___closed__7);
+l_Lean_Parser_Term_instBinder___elambda__1___closed__8 = _init_l_Lean_Parser_Term_instBinder___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Term_instBinder___elambda__1___closed__8);
l_Lean_Parser_Term_instBinder___closed__1 = _init_l_Lean_Parser_Term_instBinder___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_instBinder___closed__1);
l_Lean_Parser_Term_instBinder___closed__2 = _init_l_Lean_Parser_Term_instBinder___closed__2();
@@ -85857,6 +62192,20 @@ l_Lean_Parser_Term_depArrow___elambda__1___closed__12 = _init_l_Lean_Parser_Term
lean_mark_persistent(l_Lean_Parser_Term_depArrow___elambda__1___closed__12);
l_Lean_Parser_Term_depArrow___elambda__1___closed__13 = _init_l_Lean_Parser_Term_depArrow___elambda__1___closed__13();
lean_mark_persistent(l_Lean_Parser_Term_depArrow___elambda__1___closed__13);
+l_Lean_Parser_Term_depArrow___elambda__1___closed__14 = _init_l_Lean_Parser_Term_depArrow___elambda__1___closed__14();
+lean_mark_persistent(l_Lean_Parser_Term_depArrow___elambda__1___closed__14);
+l_Lean_Parser_Term_depArrow___elambda__1___closed__15 = _init_l_Lean_Parser_Term_depArrow___elambda__1___closed__15();
+lean_mark_persistent(l_Lean_Parser_Term_depArrow___elambda__1___closed__15);
+l_Lean_Parser_Term_depArrow___elambda__1___closed__16 = _init_l_Lean_Parser_Term_depArrow___elambda__1___closed__16();
+lean_mark_persistent(l_Lean_Parser_Term_depArrow___elambda__1___closed__16);
+l_Lean_Parser_Term_depArrow___elambda__1___closed__17 = _init_l_Lean_Parser_Term_depArrow___elambda__1___closed__17();
+lean_mark_persistent(l_Lean_Parser_Term_depArrow___elambda__1___closed__17);
+l_Lean_Parser_Term_depArrow___elambda__1___closed__18 = _init_l_Lean_Parser_Term_depArrow___elambda__1___closed__18();
+lean_mark_persistent(l_Lean_Parser_Term_depArrow___elambda__1___closed__18);
+l_Lean_Parser_Term_depArrow___elambda__1___closed__19 = _init_l_Lean_Parser_Term_depArrow___elambda__1___closed__19();
+lean_mark_persistent(l_Lean_Parser_Term_depArrow___elambda__1___closed__19);
+l_Lean_Parser_Term_depArrow___elambda__1___closed__20 = _init_l_Lean_Parser_Term_depArrow___elambda__1___closed__20();
+lean_mark_persistent(l_Lean_Parser_Term_depArrow___elambda__1___closed__20);
l_Lean_Parser_Term_depArrow___closed__1 = _init_l_Lean_Parser_Term_depArrow___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_depArrow___closed__1);
l_Lean_Parser_Term_depArrow___closed__2 = _init_l_Lean_Parser_Term_depArrow___closed__2();
@@ -86014,6 +62363,10 @@ l_Lean_Parser_Term_simpleBinder___elambda__1___closed__3 = _init_l_Lean_Parser_T
lean_mark_persistent(l_Lean_Parser_Term_simpleBinder___elambda__1___closed__3);
l_Lean_Parser_Term_simpleBinder___elambda__1___closed__4 = _init_l_Lean_Parser_Term_simpleBinder___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Term_simpleBinder___elambda__1___closed__4);
+l_Lean_Parser_Term_simpleBinder___elambda__1___closed__5 = _init_l_Lean_Parser_Term_simpleBinder___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Term_simpleBinder___elambda__1___closed__5);
+l_Lean_Parser_Term_simpleBinder___elambda__1___closed__6 = _init_l_Lean_Parser_Term_simpleBinder___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Term_simpleBinder___elambda__1___closed__6);
l_Lean_Parser_Term_simpleBinder___closed__1 = _init_l_Lean_Parser_Term_simpleBinder___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_simpleBinder___closed__1);
l_Lean_Parser_Term_simpleBinder___closed__2 = _init_l_Lean_Parser_Term_simpleBinder___closed__2();
@@ -86026,8 +62379,6 @@ l_Lean_Parser_Term_simpleBinder___closed__5 = _init_l_Lean_Parser_Term_simpleBin
lean_mark_persistent(l_Lean_Parser_Term_simpleBinder___closed__5);
l_Lean_Parser_Term_simpleBinder = _init_l_Lean_Parser_Term_simpleBinder();
lean_mark_persistent(l_Lean_Parser_Term_simpleBinder);
-l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_forall___elambda__1___spec__1___closed__1 = _init_l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_forall___elambda__1___spec__1___closed__1();
-lean_mark_persistent(l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_forall___elambda__1___spec__1___closed__1);
l_Lean_Parser_Term_forall___elambda__1___closed__1 = _init_l_Lean_Parser_Term_forall___elambda__1___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_forall___elambda__1___closed__1);
l_Lean_Parser_Term_forall___elambda__1___closed__2 = _init_l_Lean_Parser_Term_forall___elambda__1___closed__2();
@@ -86052,6 +62403,26 @@ l_Lean_Parser_Term_forall___elambda__1___closed__11 = _init_l_Lean_Parser_Term_f
lean_mark_persistent(l_Lean_Parser_Term_forall___elambda__1___closed__11);
l_Lean_Parser_Term_forall___elambda__1___closed__12 = _init_l_Lean_Parser_Term_forall___elambda__1___closed__12();
lean_mark_persistent(l_Lean_Parser_Term_forall___elambda__1___closed__12);
+l_Lean_Parser_Term_forall___elambda__1___closed__13 = _init_l_Lean_Parser_Term_forall___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Term_forall___elambda__1___closed__13);
+l_Lean_Parser_Term_forall___elambda__1___closed__14 = _init_l_Lean_Parser_Term_forall___elambda__1___closed__14();
+lean_mark_persistent(l_Lean_Parser_Term_forall___elambda__1___closed__14);
+l_Lean_Parser_Term_forall___elambda__1___closed__15 = _init_l_Lean_Parser_Term_forall___elambda__1___closed__15();
+lean_mark_persistent(l_Lean_Parser_Term_forall___elambda__1___closed__15);
+l_Lean_Parser_Term_forall___elambda__1___closed__16 = _init_l_Lean_Parser_Term_forall___elambda__1___closed__16();
+lean_mark_persistent(l_Lean_Parser_Term_forall___elambda__1___closed__16);
+l_Lean_Parser_Term_forall___elambda__1___closed__17 = _init_l_Lean_Parser_Term_forall___elambda__1___closed__17();
+lean_mark_persistent(l_Lean_Parser_Term_forall___elambda__1___closed__17);
+l_Lean_Parser_Term_forall___elambda__1___closed__18 = _init_l_Lean_Parser_Term_forall___elambda__1___closed__18();
+lean_mark_persistent(l_Lean_Parser_Term_forall___elambda__1___closed__18);
+l_Lean_Parser_Term_forall___elambda__1___closed__19 = _init_l_Lean_Parser_Term_forall___elambda__1___closed__19();
+lean_mark_persistent(l_Lean_Parser_Term_forall___elambda__1___closed__19);
+l_Lean_Parser_Term_forall___elambda__1___closed__20 = _init_l_Lean_Parser_Term_forall___elambda__1___closed__20();
+lean_mark_persistent(l_Lean_Parser_Term_forall___elambda__1___closed__20);
+l_Lean_Parser_Term_forall___elambda__1___closed__21 = _init_l_Lean_Parser_Term_forall___elambda__1___closed__21();
+lean_mark_persistent(l_Lean_Parser_Term_forall___elambda__1___closed__21);
+l_Lean_Parser_Term_forall___elambda__1___closed__22 = _init_l_Lean_Parser_Term_forall___elambda__1___closed__22();
+lean_mark_persistent(l_Lean_Parser_Term_forall___elambda__1___closed__22);
l_Lean_Parser_Term_forall___closed__1 = _init_l_Lean_Parser_Term_forall___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_forall___closed__1);
l_Lean_Parser_Term_forall___closed__2 = _init_l_Lean_Parser_Term_forall___closed__2();
@@ -86155,8 +62526,6 @@ l_Lean_Parser_Term_matchAlt___closed__8 = _init_l_Lean_Parser_Term_matchAlt___cl
lean_mark_persistent(l_Lean_Parser_Term_matchAlt___closed__8);
l_Lean_Parser_Term_matchAlt___closed__9 = _init_l_Lean_Parser_Term_matchAlt___closed__9();
lean_mark_persistent(l_Lean_Parser_Term_matchAlt___closed__9);
-l_Lean_Parser_Term_matchAlt___closed__10 = _init_l_Lean_Parser_Term_matchAlt___closed__10();
-lean_mark_persistent(l_Lean_Parser_Term_matchAlt___closed__10);
l_Lean_Parser_Term_matchAlt = _init_l_Lean_Parser_Term_matchAlt();
lean_mark_persistent(l_Lean_Parser_Term_matchAlt);
l_Lean_Parser_Term_matchAlts___elambda__1___closed__1 = _init_l_Lean_Parser_Term_matchAlts___elambda__1___closed__1();
@@ -86167,18 +62536,6 @@ l_Lean_Parser_Term_matchAlts___elambda__1___closed__3 = _init_l_Lean_Parser_Term
lean_mark_persistent(l_Lean_Parser_Term_matchAlts___elambda__1___closed__3);
l_Lean_Parser_Term_matchAlts___elambda__1___closed__4 = _init_l_Lean_Parser_Term_matchAlts___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Term_matchAlts___elambda__1___closed__4);
-l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__1 = _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__1();
-lean_mark_persistent(l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__1);
-l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__2 = _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__2();
-lean_mark_persistent(l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__2);
-l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__3 = _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__3();
-lean_mark_persistent(l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__3);
-l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__4 = _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__4();
-lean_mark_persistent(l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__4);
-l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__5 = _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__5();
-lean_mark_persistent(l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__5);
-l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__6 = _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__6();
-lean_mark_persistent(l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_matchAlts___spec__2___closed__6);
l_Lean_Parser_Term_matchAlts___closed__1 = _init_l_Lean_Parser_Term_matchAlts___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_matchAlts___closed__1);
l_Lean_Parser_Term_matchAlts___closed__2 = _init_l_Lean_Parser_Term_matchAlts___closed__2();
@@ -86197,6 +62554,18 @@ l_Lean_Parser_Term_matchAlts___closed__8 = _init_l_Lean_Parser_Term_matchAlts___
lean_mark_persistent(l_Lean_Parser_Term_matchAlts___closed__8);
l_Lean_Parser_Term_matchAlts___closed__9 = _init_l_Lean_Parser_Term_matchAlts___closed__9();
lean_mark_persistent(l_Lean_Parser_Term_matchAlts___closed__9);
+l_Lean_Parser_Term_matchAlts___closed__10 = _init_l_Lean_Parser_Term_matchAlts___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_matchAlts___closed__10);
+l_Lean_Parser_Term_matchAlts___closed__11 = _init_l_Lean_Parser_Term_matchAlts___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_matchAlts___closed__11);
+l_Lean_Parser_Term_matchAlts___closed__12 = _init_l_Lean_Parser_Term_matchAlts___closed__12();
+lean_mark_persistent(l_Lean_Parser_Term_matchAlts___closed__12);
+l_Lean_Parser_Term_matchAlts___closed__13 = _init_l_Lean_Parser_Term_matchAlts___closed__13();
+lean_mark_persistent(l_Lean_Parser_Term_matchAlts___closed__13);
+l_Lean_Parser_Term_matchAlts___closed__14 = _init_l_Lean_Parser_Term_matchAlts___closed__14();
+lean_mark_persistent(l_Lean_Parser_Term_matchAlts___closed__14);
+l_Lean_Parser_Term_matchAlts___closed__15 = _init_l_Lean_Parser_Term_matchAlts___closed__15();
+lean_mark_persistent(l_Lean_Parser_Term_matchAlts___closed__15);
l_Lean_Parser_Term_matchDiscr___elambda__1___closed__1 = _init_l_Lean_Parser_Term_matchDiscr___elambda__1___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_matchDiscr___elambda__1___closed__1);
l_Lean_Parser_Term_matchDiscr___elambda__1___closed__2 = _init_l_Lean_Parser_Term_matchDiscr___elambda__1___closed__2();
@@ -86213,6 +62582,16 @@ l_Lean_Parser_Term_matchDiscr___elambda__1___closed__7 = _init_l_Lean_Parser_Ter
lean_mark_persistent(l_Lean_Parser_Term_matchDiscr___elambda__1___closed__7);
l_Lean_Parser_Term_matchDiscr___elambda__1___closed__8 = _init_l_Lean_Parser_Term_matchDiscr___elambda__1___closed__8();
lean_mark_persistent(l_Lean_Parser_Term_matchDiscr___elambda__1___closed__8);
+l_Lean_Parser_Term_matchDiscr___elambda__1___closed__9 = _init_l_Lean_Parser_Term_matchDiscr___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Term_matchDiscr___elambda__1___closed__9);
+l_Lean_Parser_Term_matchDiscr___elambda__1___closed__10 = _init_l_Lean_Parser_Term_matchDiscr___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_matchDiscr___elambda__1___closed__10);
+l_Lean_Parser_Term_matchDiscr___elambda__1___closed__11 = _init_l_Lean_Parser_Term_matchDiscr___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_matchDiscr___elambda__1___closed__11);
+l_Lean_Parser_Term_matchDiscr___elambda__1___closed__12 = _init_l_Lean_Parser_Term_matchDiscr___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Term_matchDiscr___elambda__1___closed__12);
+l_Lean_Parser_Term_matchDiscr___elambda__1___closed__13 = _init_l_Lean_Parser_Term_matchDiscr___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Term_matchDiscr___elambda__1___closed__13);
l_Lean_Parser_Term_matchDiscr___closed__1 = _init_l_Lean_Parser_Term_matchDiscr___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_matchDiscr___closed__1);
l_Lean_Parser_Term_matchDiscr___closed__2 = _init_l_Lean_Parser_Term_matchDiscr___closed__2();
@@ -86253,6 +62632,24 @@ l_Lean_Parser_Term_match___elambda__1___closed__9 = _init_l_Lean_Parser_Term_mat
lean_mark_persistent(l_Lean_Parser_Term_match___elambda__1___closed__9);
l_Lean_Parser_Term_match___elambda__1___closed__10 = _init_l_Lean_Parser_Term_match___elambda__1___closed__10();
lean_mark_persistent(l_Lean_Parser_Term_match___elambda__1___closed__10);
+l_Lean_Parser_Term_match___elambda__1___closed__11 = _init_l_Lean_Parser_Term_match___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_match___elambda__1___closed__11);
+l_Lean_Parser_Term_match___elambda__1___closed__12 = _init_l_Lean_Parser_Term_match___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Term_match___elambda__1___closed__12);
+l_Lean_Parser_Term_match___elambda__1___closed__13 = _init_l_Lean_Parser_Term_match___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Term_match___elambda__1___closed__13);
+l_Lean_Parser_Term_match___elambda__1___closed__14 = _init_l_Lean_Parser_Term_match___elambda__1___closed__14();
+lean_mark_persistent(l_Lean_Parser_Term_match___elambda__1___closed__14);
+l_Lean_Parser_Term_match___elambda__1___closed__15 = _init_l_Lean_Parser_Term_match___elambda__1___closed__15();
+lean_mark_persistent(l_Lean_Parser_Term_match___elambda__1___closed__15);
+l_Lean_Parser_Term_match___elambda__1___closed__16 = _init_l_Lean_Parser_Term_match___elambda__1___closed__16();
+lean_mark_persistent(l_Lean_Parser_Term_match___elambda__1___closed__16);
+l_Lean_Parser_Term_match___elambda__1___closed__17 = _init_l_Lean_Parser_Term_match___elambda__1___closed__17();
+lean_mark_persistent(l_Lean_Parser_Term_match___elambda__1___closed__17);
+l_Lean_Parser_Term_match___elambda__1___closed__18 = _init_l_Lean_Parser_Term_match___elambda__1___closed__18();
+lean_mark_persistent(l_Lean_Parser_Term_match___elambda__1___closed__18);
+l_Lean_Parser_Term_match___elambda__1___closed__19 = _init_l_Lean_Parser_Term_match___elambda__1___closed__19();
+lean_mark_persistent(l_Lean_Parser_Term_match___elambda__1___closed__19);
l_Lean_Parser_Term_match___closed__1 = _init_l_Lean_Parser_Term_match___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_match___closed__1);
l_Lean_Parser_Term_match___closed__2 = _init_l_Lean_Parser_Term_match___closed__2();
@@ -86452,6 +62849,12 @@ l_Lean_Parser_Term_nomatch___elambda__1___closed__8 = _init_l_Lean_Parser_Term_n
lean_mark_persistent(l_Lean_Parser_Term_nomatch___elambda__1___closed__8);
l_Lean_Parser_Term_nomatch___elambda__1___closed__9 = _init_l_Lean_Parser_Term_nomatch___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Term_nomatch___elambda__1___closed__9);
+l_Lean_Parser_Term_nomatch___elambda__1___closed__10 = _init_l_Lean_Parser_Term_nomatch___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_nomatch___elambda__1___closed__10);
+l_Lean_Parser_Term_nomatch___elambda__1___closed__11 = _init_l_Lean_Parser_Term_nomatch___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_nomatch___elambda__1___closed__11);
+l_Lean_Parser_Term_nomatch___elambda__1___closed__12 = _init_l_Lean_Parser_Term_nomatch___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Term_nomatch___elambda__1___closed__12);
l_Lean_Parser_Term_nomatch___closed__1 = _init_l_Lean_Parser_Term_nomatch___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_nomatch___closed__1);
l_Lean_Parser_Term_nomatch___closed__2 = _init_l_Lean_Parser_Term_nomatch___closed__2();
@@ -86495,6 +62898,14 @@ if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
l_Lean_Parser_Term_funImplicitBinder___elambda__1___closed__1 = _init_l_Lean_Parser_Term_funImplicitBinder___elambda__1___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_funImplicitBinder___elambda__1___closed__1);
+l_Lean_Parser_Term_funImplicitBinder___elambda__1___closed__2 = _init_l_Lean_Parser_Term_funImplicitBinder___elambda__1___closed__2();
+lean_mark_persistent(l_Lean_Parser_Term_funImplicitBinder___elambda__1___closed__2);
+l_Lean_Parser_Term_funImplicitBinder___elambda__1___closed__3 = _init_l_Lean_Parser_Term_funImplicitBinder___elambda__1___closed__3();
+lean_mark_persistent(l_Lean_Parser_Term_funImplicitBinder___elambda__1___closed__3);
+l_Lean_Parser_Term_funImplicitBinder___elambda__1___closed__4 = _init_l_Lean_Parser_Term_funImplicitBinder___elambda__1___closed__4();
+lean_mark_persistent(l_Lean_Parser_Term_funImplicitBinder___elambda__1___closed__4);
+l_Lean_Parser_Term_funImplicitBinder___elambda__1___closed__5 = _init_l_Lean_Parser_Term_funImplicitBinder___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Term_funImplicitBinder___elambda__1___closed__5);
l_Lean_Parser_Term_funImplicitBinder___closed__1 = _init_l_Lean_Parser_Term_funImplicitBinder___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_funImplicitBinder___closed__1);
l_Lean_Parser_Term_funImplicitBinder___closed__2 = _init_l_Lean_Parser_Term_funImplicitBinder___closed__2();
@@ -86509,6 +62920,8 @@ l_Lean_Parser_Term_funImplicitBinder___closed__6 = _init_l_Lean_Parser_Term_funI
lean_mark_persistent(l_Lean_Parser_Term_funImplicitBinder___closed__6);
l_Lean_Parser_Term_funImplicitBinder = _init_l_Lean_Parser_Term_funImplicitBinder();
lean_mark_persistent(l_Lean_Parser_Term_funImplicitBinder);
+l_Lean_Parser_Term_funBinder___elambda__1___closed__1 = _init_l_Lean_Parser_Term_funBinder___elambda__1___closed__1();
+lean_mark_persistent(l_Lean_Parser_Term_funBinder___elambda__1___closed__1);
l_Lean_Parser_Term_funBinder___closed__1 = _init_l_Lean_Parser_Term_funBinder___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_funBinder___closed__1);
l_Lean_Parser_Term_funBinder___closed__2 = _init_l_Lean_Parser_Term_funBinder___closed__2();
@@ -86541,6 +62954,24 @@ l_Lean_Parser_Term_fun___elambda__1___closed__10 = _init_l_Lean_Parser_Term_fun_
lean_mark_persistent(l_Lean_Parser_Term_fun___elambda__1___closed__10);
l_Lean_Parser_Term_fun___elambda__1___closed__11 = _init_l_Lean_Parser_Term_fun___elambda__1___closed__11();
lean_mark_persistent(l_Lean_Parser_Term_fun___elambda__1___closed__11);
+l_Lean_Parser_Term_fun___elambda__1___closed__12 = _init_l_Lean_Parser_Term_fun___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Term_fun___elambda__1___closed__12);
+l_Lean_Parser_Term_fun___elambda__1___closed__13 = _init_l_Lean_Parser_Term_fun___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Term_fun___elambda__1___closed__13);
+l_Lean_Parser_Term_fun___elambda__1___closed__14 = _init_l_Lean_Parser_Term_fun___elambda__1___closed__14();
+lean_mark_persistent(l_Lean_Parser_Term_fun___elambda__1___closed__14);
+l_Lean_Parser_Term_fun___elambda__1___closed__15 = _init_l_Lean_Parser_Term_fun___elambda__1___closed__15();
+lean_mark_persistent(l_Lean_Parser_Term_fun___elambda__1___closed__15);
+l_Lean_Parser_Term_fun___elambda__1___closed__16 = _init_l_Lean_Parser_Term_fun___elambda__1___closed__16();
+lean_mark_persistent(l_Lean_Parser_Term_fun___elambda__1___closed__16);
+l_Lean_Parser_Term_fun___elambda__1___closed__17 = _init_l_Lean_Parser_Term_fun___elambda__1___closed__17();
+lean_mark_persistent(l_Lean_Parser_Term_fun___elambda__1___closed__17);
+l_Lean_Parser_Term_fun___elambda__1___closed__18 = _init_l_Lean_Parser_Term_fun___elambda__1___closed__18();
+lean_mark_persistent(l_Lean_Parser_Term_fun___elambda__1___closed__18);
+l_Lean_Parser_Term_fun___elambda__1___closed__19 = _init_l_Lean_Parser_Term_fun___elambda__1___closed__19();
+lean_mark_persistent(l_Lean_Parser_Term_fun___elambda__1___closed__19);
+l_Lean_Parser_Term_fun___elambda__1___closed__20 = _init_l_Lean_Parser_Term_fun___elambda__1___closed__20();
+lean_mark_persistent(l_Lean_Parser_Term_fun___elambda__1___closed__20);
l_Lean_Parser_Term_fun___closed__1 = _init_l_Lean_Parser_Term_fun___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_fun___closed__1);
l_Lean_Parser_Term_fun___closed__2 = _init_l_Lean_Parser_Term_fun___closed__2();
@@ -86648,6 +63079,10 @@ lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_fun_parenthesizer___closed_
res = l___regBuiltin_Lean_Parser_Term_fun_parenthesizer(lean_io_mk_world());
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
+l_Lean_Parser_Term_optExprPrecedence___elambda__1___closed__1 = _init_l_Lean_Parser_Term_optExprPrecedence___elambda__1___closed__1();
+lean_mark_persistent(l_Lean_Parser_Term_optExprPrecedence___elambda__1___closed__1);
+l_Lean_Parser_Term_optExprPrecedence___elambda__1___closed__2 = _init_l_Lean_Parser_Term_optExprPrecedence___elambda__1___closed__2();
+lean_mark_persistent(l_Lean_Parser_Term_optExprPrecedence___elambda__1___closed__2);
l_Lean_Parser_Term_optExprPrecedence___closed__1 = _init_l_Lean_Parser_Term_optExprPrecedence___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_optExprPrecedence___closed__1);
l_Lean_Parser_Term_optExprPrecedence___closed__2 = _init_l_Lean_Parser_Term_optExprPrecedence___closed__2();
@@ -86676,6 +63111,14 @@ l_Lean_Parser_Term_parser_x21___elambda__1___closed__8 = _init_l_Lean_Parser_Ter
lean_mark_persistent(l_Lean_Parser_Term_parser_x21___elambda__1___closed__8);
l_Lean_Parser_Term_parser_x21___elambda__1___closed__9 = _init_l_Lean_Parser_Term_parser_x21___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Term_parser_x21___elambda__1___closed__9);
+l_Lean_Parser_Term_parser_x21___elambda__1___closed__10 = _init_l_Lean_Parser_Term_parser_x21___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_parser_x21___elambda__1___closed__10);
+l_Lean_Parser_Term_parser_x21___elambda__1___closed__11 = _init_l_Lean_Parser_Term_parser_x21___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_parser_x21___elambda__1___closed__11);
+l_Lean_Parser_Term_parser_x21___elambda__1___closed__12 = _init_l_Lean_Parser_Term_parser_x21___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Term_parser_x21___elambda__1___closed__12);
+l_Lean_Parser_Term_parser_x21___elambda__1___closed__13 = _init_l_Lean_Parser_Term_parser_x21___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Term_parser_x21___elambda__1___closed__13);
l_Lean_Parser_Term_parser_x21___closed__1 = _init_l_Lean_Parser_Term_parser_x21___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_parser_x21___closed__1);
l_Lean_Parser_Term_parser_x21___closed__2 = _init_l_Lean_Parser_Term_parser_x21___closed__2();
@@ -86755,6 +63198,12 @@ l_Lean_Parser_Term_tparser_x21___elambda__1___closed__8 = _init_l_Lean_Parser_Te
lean_mark_persistent(l_Lean_Parser_Term_tparser_x21___elambda__1___closed__8);
l_Lean_Parser_Term_tparser_x21___elambda__1___closed__9 = _init_l_Lean_Parser_Term_tparser_x21___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Term_tparser_x21___elambda__1___closed__9);
+l_Lean_Parser_Term_tparser_x21___elambda__1___closed__10 = _init_l_Lean_Parser_Term_tparser_x21___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_tparser_x21___elambda__1___closed__10);
+l_Lean_Parser_Term_tparser_x21___elambda__1___closed__11 = _init_l_Lean_Parser_Term_tparser_x21___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_tparser_x21___elambda__1___closed__11);
+l_Lean_Parser_Term_tparser_x21___elambda__1___closed__12 = _init_l_Lean_Parser_Term_tparser_x21___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Term_tparser_x21___elambda__1___closed__12);
l_Lean_Parser_Term_tparser_x21___closed__1 = _init_l_Lean_Parser_Term_tparser_x21___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_tparser_x21___closed__1);
l_Lean_Parser_Term_tparser_x21___closed__2 = _init_l_Lean_Parser_Term_tparser_x21___closed__2();
@@ -86814,6 +63263,14 @@ l_Lean_Parser_Term_borrowed___elambda__1___closed__8 = _init_l_Lean_Parser_Term_
lean_mark_persistent(l_Lean_Parser_Term_borrowed___elambda__1___closed__8);
l_Lean_Parser_Term_borrowed___elambda__1___closed__9 = _init_l_Lean_Parser_Term_borrowed___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Term_borrowed___elambda__1___closed__9);
+l_Lean_Parser_Term_borrowed___elambda__1___closed__10 = _init_l_Lean_Parser_Term_borrowed___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_borrowed___elambda__1___closed__10);
+l_Lean_Parser_Term_borrowed___elambda__1___closed__11 = _init_l_Lean_Parser_Term_borrowed___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_borrowed___elambda__1___closed__11);
+l_Lean_Parser_Term_borrowed___elambda__1___closed__12 = _init_l_Lean_Parser_Term_borrowed___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Term_borrowed___elambda__1___closed__12);
+l_Lean_Parser_Term_borrowed___elambda__1___closed__13 = _init_l_Lean_Parser_Term_borrowed___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Term_borrowed___elambda__1___closed__13);
l_Lean_Parser_Term_borrowed___closed__1 = _init_l_Lean_Parser_Term_borrowed___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_borrowed___closed__1);
l_Lean_Parser_Term_borrowed___closed__2 = _init_l_Lean_Parser_Term_borrowed___closed__2();
@@ -86869,6 +63326,10 @@ l_Lean_Parser_Term_quotedName___elambda__1___closed__3 = _init_l_Lean_Parser_Ter
lean_mark_persistent(l_Lean_Parser_Term_quotedName___elambda__1___closed__3);
l_Lean_Parser_Term_quotedName___elambda__1___closed__4 = _init_l_Lean_Parser_Term_quotedName___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Term_quotedName___elambda__1___closed__4);
+l_Lean_Parser_Term_quotedName___elambda__1___closed__5 = _init_l_Lean_Parser_Term_quotedName___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Term_quotedName___elambda__1___closed__5);
+l_Lean_Parser_Term_quotedName___elambda__1___closed__6 = _init_l_Lean_Parser_Term_quotedName___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Term_quotedName___elambda__1___closed__6);
l_Lean_Parser_Term_quotedName___closed__1 = _init_l_Lean_Parser_Term_quotedName___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_quotedName___closed__1);
l_Lean_Parser_Term_quotedName___closed__2 = _init_l_Lean_Parser_Term_quotedName___closed__2();
@@ -86918,6 +63379,14 @@ l_Lean_Parser_Term_match__syntax___elambda__1___closed__7 = _init_l_Lean_Parser_
lean_mark_persistent(l_Lean_Parser_Term_match__syntax___elambda__1___closed__7);
l_Lean_Parser_Term_match__syntax___elambda__1___closed__8 = _init_l_Lean_Parser_Term_match__syntax___elambda__1___closed__8();
lean_mark_persistent(l_Lean_Parser_Term_match__syntax___elambda__1___closed__8);
+l_Lean_Parser_Term_match__syntax___elambda__1___closed__9 = _init_l_Lean_Parser_Term_match__syntax___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Term_match__syntax___elambda__1___closed__9);
+l_Lean_Parser_Term_match__syntax___elambda__1___closed__10 = _init_l_Lean_Parser_Term_match__syntax___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_match__syntax___elambda__1___closed__10);
+l_Lean_Parser_Term_match__syntax___elambda__1___closed__11 = _init_l_Lean_Parser_Term_match__syntax___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_match__syntax___elambda__1___closed__11);
+l_Lean_Parser_Term_match__syntax___elambda__1___closed__12 = _init_l_Lean_Parser_Term_match__syntax___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Term_match__syntax___elambda__1___closed__12);
l_Lean_Parser_Term_match__syntax___closed__1 = _init_l_Lean_Parser_Term_match__syntax___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_match__syntax___closed__1);
l_Lean_Parser_Term_match__syntax___closed__2 = _init_l_Lean_Parser_Term_match__syntax___closed__2();
@@ -86969,6 +63438,8 @@ if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
l_Lean_Parser_Term_letIdLhs___elambda__1___closed__1 = _init_l_Lean_Parser_Term_letIdLhs___elambda__1___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_letIdLhs___elambda__1___closed__1);
+l_Lean_Parser_Term_letIdLhs___elambda__1___closed__2 = _init_l_Lean_Parser_Term_letIdLhs___elambda__1___closed__2();
+lean_mark_persistent(l_Lean_Parser_Term_letIdLhs___elambda__1___closed__2);
l_Lean_Parser_Term_letIdLhs___closed__1 = _init_l_Lean_Parser_Term_letIdLhs___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_letIdLhs___closed__1);
l_Lean_Parser_Term_letIdLhs___closed__2 = _init_l_Lean_Parser_Term_letIdLhs___closed__2();
@@ -86985,6 +63456,8 @@ l_Lean_Parser_Term_letIdLhs___closed__7 = _init_l_Lean_Parser_Term_letIdLhs___cl
lean_mark_persistent(l_Lean_Parser_Term_letIdLhs___closed__7);
l_Lean_Parser_Term_letIdLhs = _init_l_Lean_Parser_Term_letIdLhs();
lean_mark_persistent(l_Lean_Parser_Term_letIdLhs);
+l_Lean_Parser_Term_letIdDecl___elambda__1___closed__1 = _init_l_Lean_Parser_Term_letIdDecl___elambda__1___closed__1();
+lean_mark_persistent(l_Lean_Parser_Term_letIdDecl___elambda__1___closed__1);
l_Lean_Parser_Term_letIdDecl___closed__1 = _init_l_Lean_Parser_Term_letIdDecl___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_letIdDecl___closed__1);
l_Lean_Parser_Term_letIdDecl___closed__2 = _init_l_Lean_Parser_Term_letIdDecl___closed__2();
@@ -87001,6 +63474,12 @@ l_Lean_Parser_Term_letPatDecl___elambda__1___closed__1 = _init_l_Lean_Parser_Ter
lean_mark_persistent(l_Lean_Parser_Term_letPatDecl___elambda__1___closed__1);
l_Lean_Parser_Term_letPatDecl___elambda__1___closed__2 = _init_l_Lean_Parser_Term_letPatDecl___elambda__1___closed__2();
lean_mark_persistent(l_Lean_Parser_Term_letPatDecl___elambda__1___closed__2);
+l_Lean_Parser_Term_letPatDecl___elambda__1___closed__3 = _init_l_Lean_Parser_Term_letPatDecl___elambda__1___closed__3();
+lean_mark_persistent(l_Lean_Parser_Term_letPatDecl___elambda__1___closed__3);
+l_Lean_Parser_Term_letPatDecl___elambda__1___closed__4 = _init_l_Lean_Parser_Term_letPatDecl___elambda__1___closed__4();
+lean_mark_persistent(l_Lean_Parser_Term_letPatDecl___elambda__1___closed__4);
+l_Lean_Parser_Term_letPatDecl___elambda__1___closed__5 = _init_l_Lean_Parser_Term_letPatDecl___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Term_letPatDecl___elambda__1___closed__5);
l_Lean_Parser_Term_letPatDecl___closed__1 = _init_l_Lean_Parser_Term_letPatDecl___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_letPatDecl___closed__1);
l_Lean_Parser_Term_letPatDecl___closed__2 = _init_l_Lean_Parser_Term_letPatDecl___closed__2();
@@ -87069,6 +63548,12 @@ l_Lean_Parser_Term_let___elambda__1___closed__6 = _init_l_Lean_Parser_Term_let__
lean_mark_persistent(l_Lean_Parser_Term_let___elambda__1___closed__6);
l_Lean_Parser_Term_let___elambda__1___closed__7 = _init_l_Lean_Parser_Term_let___elambda__1___closed__7();
lean_mark_persistent(l_Lean_Parser_Term_let___elambda__1___closed__7);
+l_Lean_Parser_Term_let___elambda__1___closed__8 = _init_l_Lean_Parser_Term_let___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Term_let___elambda__1___closed__8);
+l_Lean_Parser_Term_let___elambda__1___closed__9 = _init_l_Lean_Parser_Term_let___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Term_let___elambda__1___closed__9);
+l_Lean_Parser_Term_let___elambda__1___closed__10 = _init_l_Lean_Parser_Term_let___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_let___elambda__1___closed__10);
l_Lean_Parser_Term_let___closed__1 = _init_l_Lean_Parser_Term_let___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_let___closed__1);
l_Lean_Parser_Term_let___closed__2 = _init_l_Lean_Parser_Term_let___closed__2();
@@ -87230,6 +63715,12 @@ l_Lean_Parser_Term_let_x21___elambda__1___closed__8 = _init_l_Lean_Parser_Term_l
lean_mark_persistent(l_Lean_Parser_Term_let_x21___elambda__1___closed__8);
l_Lean_Parser_Term_let_x21___elambda__1___closed__9 = _init_l_Lean_Parser_Term_let_x21___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Term_let_x21___elambda__1___closed__9);
+l_Lean_Parser_Term_let_x21___elambda__1___closed__10 = _init_l_Lean_Parser_Term_let_x21___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_let_x21___elambda__1___closed__10);
+l_Lean_Parser_Term_let_x21___elambda__1___closed__11 = _init_l_Lean_Parser_Term_let_x21___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_let_x21___elambda__1___closed__11);
+l_Lean_Parser_Term_let_x21___elambda__1___closed__12 = _init_l_Lean_Parser_Term_let_x21___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Term_let_x21___elambda__1___closed__12);
l_Lean_Parser_Term_let_x21___closed__1 = _init_l_Lean_Parser_Term_let_x21___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_let_x21___closed__1);
l_Lean_Parser_Term_let_x21___closed__2 = _init_l_Lean_Parser_Term_let_x21___closed__2();
@@ -87295,6 +63786,12 @@ l_Lean_Parser_Term_let_x2a___elambda__1___closed__8 = _init_l_Lean_Parser_Term_l
lean_mark_persistent(l_Lean_Parser_Term_let_x2a___elambda__1___closed__8);
l_Lean_Parser_Term_let_x2a___elambda__1___closed__9 = _init_l_Lean_Parser_Term_let_x2a___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Term_let_x2a___elambda__1___closed__9);
+l_Lean_Parser_Term_let_x2a___elambda__1___closed__10 = _init_l_Lean_Parser_Term_let_x2a___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_let_x2a___elambda__1___closed__10);
+l_Lean_Parser_Term_let_x2a___elambda__1___closed__11 = _init_l_Lean_Parser_Term_let_x2a___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_let_x2a___elambda__1___closed__11);
+l_Lean_Parser_Term_let_x2a___elambda__1___closed__12 = _init_l_Lean_Parser_Term_let_x2a___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Term_let_x2a___elambda__1___closed__12);
l_Lean_Parser_Term_let_x2a___closed__1 = _init_l_Lean_Parser_Term_let_x2a___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_let_x2a___closed__1);
l_Lean_Parser_Term_let_x2a___closed__2 = _init_l_Lean_Parser_Term_let_x2a___closed__2();
@@ -87342,6 +63839,8 @@ lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_let_x2a_parenthesizer___clo
res = l___regBuiltin_Lean_Parser_Term_let_x2a_parenthesizer(lean_io_mk_world());
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
+l_Lean_Parser_Term_attrArg___elambda__1___closed__1 = _init_l_Lean_Parser_Term_attrArg___elambda__1___closed__1();
+lean_mark_persistent(l_Lean_Parser_Term_attrArg___elambda__1___closed__1);
l_Lean_Parser_Term_attrArg___closed__1 = _init_l_Lean_Parser_Term_attrArg___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_attrArg___closed__1);
l_Lean_Parser_Term_attrArg___closed__2 = _init_l_Lean_Parser_Term_attrArg___closed__2();
@@ -87360,6 +63859,16 @@ l_Lean_Parser_Term_attrInstance___elambda__1___closed__3 = _init_l_Lean_Parser_T
lean_mark_persistent(l_Lean_Parser_Term_attrInstance___elambda__1___closed__3);
l_Lean_Parser_Term_attrInstance___elambda__1___closed__4 = _init_l_Lean_Parser_Term_attrInstance___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Term_attrInstance___elambda__1___closed__4);
+l_Lean_Parser_Term_attrInstance___elambda__1___closed__5 = _init_l_Lean_Parser_Term_attrInstance___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Term_attrInstance___elambda__1___closed__5);
+l_Lean_Parser_Term_attrInstance___elambda__1___closed__6 = _init_l_Lean_Parser_Term_attrInstance___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Term_attrInstance___elambda__1___closed__6);
+l_Lean_Parser_Term_attrInstance___elambda__1___closed__7 = _init_l_Lean_Parser_Term_attrInstance___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Term_attrInstance___elambda__1___closed__7);
+l_Lean_Parser_Term_attrInstance___elambda__1___closed__8 = _init_l_Lean_Parser_Term_attrInstance___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Term_attrInstance___elambda__1___closed__8);
+l_Lean_Parser_Term_attrInstance___elambda__1___closed__9 = _init_l_Lean_Parser_Term_attrInstance___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Term_attrInstance___elambda__1___closed__9);
l_Lean_Parser_Term_attrInstance___closed__1 = _init_l_Lean_Parser_Term_attrInstance___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_attrInstance___closed__1);
l_Lean_Parser_Term_attrInstance___closed__2 = _init_l_Lean_Parser_Term_attrInstance___closed__2();
@@ -87396,6 +63905,16 @@ l_Lean_Parser_Term_attributes___elambda__1___closed__8 = _init_l_Lean_Parser_Ter
lean_mark_persistent(l_Lean_Parser_Term_attributes___elambda__1___closed__8);
l_Lean_Parser_Term_attributes___elambda__1___closed__9 = _init_l_Lean_Parser_Term_attributes___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Term_attributes___elambda__1___closed__9);
+l_Lean_Parser_Term_attributes___elambda__1___closed__10 = _init_l_Lean_Parser_Term_attributes___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_attributes___elambda__1___closed__10);
+l_Lean_Parser_Term_attributes___elambda__1___closed__11 = _init_l_Lean_Parser_Term_attributes___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_attributes___elambda__1___closed__11);
+l_Lean_Parser_Term_attributes___elambda__1___closed__12 = _init_l_Lean_Parser_Term_attributes___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Term_attributes___elambda__1___closed__12);
+l_Lean_Parser_Term_attributes___elambda__1___closed__13 = _init_l_Lean_Parser_Term_attributes___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Term_attributes___elambda__1___closed__13);
+l_Lean_Parser_Term_attributes___elambda__1___closed__14 = _init_l_Lean_Parser_Term_attributes___elambda__1___closed__14();
+lean_mark_persistent(l_Lean_Parser_Term_attributes___elambda__1___closed__14);
l_Lean_Parser_Term_attributes___closed__1 = _init_l_Lean_Parser_Term_attributes___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_attributes___closed__1);
l_Lean_Parser_Term_attributes___closed__2 = _init_l_Lean_Parser_Term_attributes___closed__2();
@@ -87416,6 +63935,12 @@ l_Lean_Parser_Term_attributes___closed__9 = _init_l_Lean_Parser_Term_attributes_
lean_mark_persistent(l_Lean_Parser_Term_attributes___closed__9);
l_Lean_Parser_Term_attributes = _init_l_Lean_Parser_Term_attributes();
lean_mark_persistent(l_Lean_Parser_Term_attributes);
+l_Lean_Parser_Term_letRecDecls___elambda__1___closed__1 = _init_l_Lean_Parser_Term_letRecDecls___elambda__1___closed__1();
+lean_mark_persistent(l_Lean_Parser_Term_letRecDecls___elambda__1___closed__1);
+l_Lean_Parser_Term_letRecDecls___elambda__1___closed__2 = _init_l_Lean_Parser_Term_letRecDecls___elambda__1___closed__2();
+lean_mark_persistent(l_Lean_Parser_Term_letRecDecls___elambda__1___closed__2);
+l_Lean_Parser_Term_letRecDecls___elambda__1___closed__3 = _init_l_Lean_Parser_Term_letRecDecls___elambda__1___closed__3();
+lean_mark_persistent(l_Lean_Parser_Term_letRecDecls___elambda__1___closed__3);
l_Lean_Parser_Term_letRecDecls___closed__1 = _init_l_Lean_Parser_Term_letRecDecls___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_letRecDecls___closed__1);
l_Lean_Parser_Term_letRecDecls___closed__2 = _init_l_Lean_Parser_Term_letRecDecls___closed__2();
@@ -87446,6 +63971,14 @@ l_Lean_Parser_Term_letrec___elambda__1___closed__7 = _init_l_Lean_Parser_Term_le
lean_mark_persistent(l_Lean_Parser_Term_letrec___elambda__1___closed__7);
l_Lean_Parser_Term_letrec___elambda__1___closed__8 = _init_l_Lean_Parser_Term_letrec___elambda__1___closed__8();
lean_mark_persistent(l_Lean_Parser_Term_letrec___elambda__1___closed__8);
+l_Lean_Parser_Term_letrec___elambda__1___closed__9 = _init_l_Lean_Parser_Term_letrec___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Term_letrec___elambda__1___closed__9);
+l_Lean_Parser_Term_letrec___elambda__1___closed__10 = _init_l_Lean_Parser_Term_letrec___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_letrec___elambda__1___closed__10);
+l_Lean_Parser_Term_letrec___elambda__1___closed__11 = _init_l_Lean_Parser_Term_letrec___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_letrec___elambda__1___closed__11);
+l_Lean_Parser_Term_letrec___elambda__1___closed__12 = _init_l_Lean_Parser_Term_letrec___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Term_letrec___elambda__1___closed__12);
l_Lean_Parser_Term_letrec___closed__1 = _init_l_Lean_Parser_Term_letrec___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_letrec___closed__1);
l_Lean_Parser_Term_letrec___closed__2 = _init_l_Lean_Parser_Term_letrec___closed__2();
@@ -87607,6 +64140,12 @@ l_Lean_Parser_Term_nativeRefl___elambda__1___closed__8 = _init_l_Lean_Parser_Ter
lean_mark_persistent(l_Lean_Parser_Term_nativeRefl___elambda__1___closed__8);
l_Lean_Parser_Term_nativeRefl___elambda__1___closed__9 = _init_l_Lean_Parser_Term_nativeRefl___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Term_nativeRefl___elambda__1___closed__9);
+l_Lean_Parser_Term_nativeRefl___elambda__1___closed__10 = _init_l_Lean_Parser_Term_nativeRefl___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_nativeRefl___elambda__1___closed__10);
+l_Lean_Parser_Term_nativeRefl___elambda__1___closed__11 = _init_l_Lean_Parser_Term_nativeRefl___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_nativeRefl___elambda__1___closed__11);
+l_Lean_Parser_Term_nativeRefl___elambda__1___closed__12 = _init_l_Lean_Parser_Term_nativeRefl___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Term_nativeRefl___elambda__1___closed__12);
l_Lean_Parser_Term_nativeRefl___closed__1 = _init_l_Lean_Parser_Term_nativeRefl___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_nativeRefl___closed__1);
l_Lean_Parser_Term_nativeRefl___closed__2 = _init_l_Lean_Parser_Term_nativeRefl___closed__2();
@@ -87666,6 +64205,10 @@ l_Lean_Parser_Term_nativeDecide___elambda__1___closed__8 = _init_l_Lean_Parser_T
lean_mark_persistent(l_Lean_Parser_Term_nativeDecide___elambda__1___closed__8);
l_Lean_Parser_Term_nativeDecide___elambda__1___closed__9 = _init_l_Lean_Parser_Term_nativeDecide___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Term_nativeDecide___elambda__1___closed__9);
+l_Lean_Parser_Term_nativeDecide___elambda__1___closed__10 = _init_l_Lean_Parser_Term_nativeDecide___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_nativeDecide___elambda__1___closed__10);
+l_Lean_Parser_Term_nativeDecide___elambda__1___closed__11 = _init_l_Lean_Parser_Term_nativeDecide___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_nativeDecide___elambda__1___closed__11);
l_Lean_Parser_Term_nativeDecide___closed__1 = _init_l_Lean_Parser_Term_nativeDecide___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_nativeDecide___closed__1);
l_Lean_Parser_Term_nativeDecide___closed__2 = _init_l_Lean_Parser_Term_nativeDecide___closed__2();
@@ -87721,6 +64264,10 @@ l_Lean_Parser_Term_decide___elambda__1___closed__8 = _init_l_Lean_Parser_Term_de
lean_mark_persistent(l_Lean_Parser_Term_decide___elambda__1___closed__8);
l_Lean_Parser_Term_decide___elambda__1___closed__9 = _init_l_Lean_Parser_Term_decide___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Term_decide___elambda__1___closed__9);
+l_Lean_Parser_Term_decide___elambda__1___closed__10 = _init_l_Lean_Parser_Term_decide___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_decide___elambda__1___closed__10);
+l_Lean_Parser_Term_decide___elambda__1___closed__11 = _init_l_Lean_Parser_Term_decide___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_decide___elambda__1___closed__11);
l_Lean_Parser_Term_decide___closed__1 = _init_l_Lean_Parser_Term_decide___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_decide___closed__1);
l_Lean_Parser_Term_decide___closed__2 = _init_l_Lean_Parser_Term_decide___closed__2();
@@ -87776,6 +64323,12 @@ l_Lean_Parser_Term_typeOf___elambda__1___closed__8 = _init_l_Lean_Parser_Term_ty
lean_mark_persistent(l_Lean_Parser_Term_typeOf___elambda__1___closed__8);
l_Lean_Parser_Term_typeOf___elambda__1___closed__9 = _init_l_Lean_Parser_Term_typeOf___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Term_typeOf___elambda__1___closed__9);
+l_Lean_Parser_Term_typeOf___elambda__1___closed__10 = _init_l_Lean_Parser_Term_typeOf___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_typeOf___elambda__1___closed__10);
+l_Lean_Parser_Term_typeOf___elambda__1___closed__11 = _init_l_Lean_Parser_Term_typeOf___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_typeOf___elambda__1___closed__11);
+l_Lean_Parser_Term_typeOf___elambda__1___closed__12 = _init_l_Lean_Parser_Term_typeOf___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Term_typeOf___elambda__1___closed__12);
l_Lean_Parser_Term_typeOf___closed__1 = _init_l_Lean_Parser_Term_typeOf___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_typeOf___closed__1);
l_Lean_Parser_Term_typeOf___closed__2 = _init_l_Lean_Parser_Term_typeOf___closed__2();
@@ -87835,6 +64388,16 @@ l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__8 = _init_l_Lean_Parser_T
lean_mark_persistent(l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__8);
l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__9 = _init_l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__9);
+l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__10 = _init_l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__10);
+l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__11 = _init_l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__11);
+l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__12 = _init_l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__12);
+l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__13 = _init_l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__13);
+l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__14 = _init_l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__14();
+lean_mark_persistent(l_Lean_Parser_Term_ensureTypeOf___elambda__1___closed__14);
l_Lean_Parser_Term_ensureTypeOf___closed__1 = _init_l_Lean_Parser_Term_ensureTypeOf___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_ensureTypeOf___closed__1);
l_Lean_Parser_Term_ensureTypeOf___closed__2 = _init_l_Lean_Parser_Term_ensureTypeOf___closed__2();
@@ -87908,6 +64471,14 @@ l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__8 = _init_l_Lean_Pa
lean_mark_persistent(l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__8);
l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__9 = _init_l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__9);
+l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__10 = _init_l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__10);
+l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__11 = _init_l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__11);
+l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__12 = _init_l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__12);
+l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__13 = _init_l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Term_ensureExpectedType___elambda__1___closed__13);
l_Lean_Parser_Term_ensureExpectedType___closed__1 = _init_l_Lean_Parser_Term_ensureExpectedType___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_ensureExpectedType___closed__1);
l_Lean_Parser_Term_ensureExpectedType___closed__2 = _init_l_Lean_Parser_Term_ensureExpectedType___closed__2();
@@ -87973,6 +64544,14 @@ l_Lean_Parser_Term_not___elambda__1___closed__8 = _init_l_Lean_Parser_Term_not__
lean_mark_persistent(l_Lean_Parser_Term_not___elambda__1___closed__8);
l_Lean_Parser_Term_not___elambda__1___closed__9 = _init_l_Lean_Parser_Term_not___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Term_not___elambda__1___closed__9);
+l_Lean_Parser_Term_not___elambda__1___closed__10 = _init_l_Lean_Parser_Term_not___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_not___elambda__1___closed__10);
+l_Lean_Parser_Term_not___elambda__1___closed__11 = _init_l_Lean_Parser_Term_not___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_not___elambda__1___closed__11);
+l_Lean_Parser_Term_not___elambda__1___closed__12 = _init_l_Lean_Parser_Term_not___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Term_not___elambda__1___closed__12);
+l_Lean_Parser_Term_not___elambda__1___closed__13 = _init_l_Lean_Parser_Term_not___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Term_not___elambda__1___closed__13);
l_Lean_Parser_Term_not___closed__1 = _init_l_Lean_Parser_Term_not___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_not___closed__1);
l_Lean_Parser_Term_not___closed__2 = _init_l_Lean_Parser_Term_not___closed__2();
@@ -88038,6 +64617,12 @@ l_Lean_Parser_Term_bnot___elambda__1___closed__8 = _init_l_Lean_Parser_Term_bnot
lean_mark_persistent(l_Lean_Parser_Term_bnot___elambda__1___closed__8);
l_Lean_Parser_Term_bnot___elambda__1___closed__9 = _init_l_Lean_Parser_Term_bnot___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Term_bnot___elambda__1___closed__9);
+l_Lean_Parser_Term_bnot___elambda__1___closed__10 = _init_l_Lean_Parser_Term_bnot___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_bnot___elambda__1___closed__10);
+l_Lean_Parser_Term_bnot___elambda__1___closed__11 = _init_l_Lean_Parser_Term_bnot___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_bnot___elambda__1___closed__11);
+l_Lean_Parser_Term_bnot___elambda__1___closed__12 = _init_l_Lean_Parser_Term_bnot___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Term_bnot___elambda__1___closed__12);
l_Lean_Parser_Term_bnot___closed__1 = _init_l_Lean_Parser_Term_bnot___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_bnot___closed__1);
l_Lean_Parser_Term_bnot___closed__2 = _init_l_Lean_Parser_Term_bnot___closed__2();
@@ -88095,6 +64680,16 @@ l_Lean_Parser_Term_uminus___elambda__1___closed__7 = _init_l_Lean_Parser_Term_um
lean_mark_persistent(l_Lean_Parser_Term_uminus___elambda__1___closed__7);
l_Lean_Parser_Term_uminus___elambda__1___closed__8 = _init_l_Lean_Parser_Term_uminus___elambda__1___closed__8();
lean_mark_persistent(l_Lean_Parser_Term_uminus___elambda__1___closed__8);
+l_Lean_Parser_Term_uminus___elambda__1___closed__9 = _init_l_Lean_Parser_Term_uminus___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Term_uminus___elambda__1___closed__9);
+l_Lean_Parser_Term_uminus___elambda__1___closed__10 = _init_l_Lean_Parser_Term_uminus___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_uminus___elambda__1___closed__10);
+l_Lean_Parser_Term_uminus___elambda__1___closed__11 = _init_l_Lean_Parser_Term_uminus___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_uminus___elambda__1___closed__11);
+l_Lean_Parser_Term_uminus___elambda__1___closed__12 = _init_l_Lean_Parser_Term_uminus___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Term_uminus___elambda__1___closed__12);
+l_Lean_Parser_Term_uminus___elambda__1___closed__13 = _init_l_Lean_Parser_Term_uminus___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Term_uminus___elambda__1___closed__13);
l_Lean_Parser_Term_uminus___closed__1 = _init_l_Lean_Parser_Term_uminus___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_uminus___closed__1);
l_Lean_Parser_Term_uminus___closed__2 = _init_l_Lean_Parser_Term_uminus___closed__2();
@@ -88150,6 +64745,18 @@ l_Lean_Parser_Term_namedArgument___elambda__1___closed__3 = _init_l_Lean_Parser_
lean_mark_persistent(l_Lean_Parser_Term_namedArgument___elambda__1___closed__3);
l_Lean_Parser_Term_namedArgument___elambda__1___closed__4 = _init_l_Lean_Parser_Term_namedArgument___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Term_namedArgument___elambda__1___closed__4);
+l_Lean_Parser_Term_namedArgument___elambda__1___closed__5 = _init_l_Lean_Parser_Term_namedArgument___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Term_namedArgument___elambda__1___closed__5);
+l_Lean_Parser_Term_namedArgument___elambda__1___closed__6 = _init_l_Lean_Parser_Term_namedArgument___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Term_namedArgument___elambda__1___closed__6);
+l_Lean_Parser_Term_namedArgument___elambda__1___closed__7 = _init_l_Lean_Parser_Term_namedArgument___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Term_namedArgument___elambda__1___closed__7);
+l_Lean_Parser_Term_namedArgument___elambda__1___closed__8 = _init_l_Lean_Parser_Term_namedArgument___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Term_namedArgument___elambda__1___closed__8);
+l_Lean_Parser_Term_namedArgument___elambda__1___closed__9 = _init_l_Lean_Parser_Term_namedArgument___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Term_namedArgument___elambda__1___closed__9);
+l_Lean_Parser_Term_namedArgument___elambda__1___closed__10 = _init_l_Lean_Parser_Term_namedArgument___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_namedArgument___elambda__1___closed__10);
l_Lean_Parser_Term_namedArgument___closed__1 = _init_l_Lean_Parser_Term_namedArgument___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_namedArgument___closed__1);
l_Lean_Parser_Term_namedArgument___closed__2 = _init_l_Lean_Parser_Term_namedArgument___closed__2();
@@ -88176,6 +64783,14 @@ l_Lean_Parser_Term_ellipsis___elambda__1___closed__3 = _init_l_Lean_Parser_Term_
lean_mark_persistent(l_Lean_Parser_Term_ellipsis___elambda__1___closed__3);
l_Lean_Parser_Term_ellipsis___elambda__1___closed__4 = _init_l_Lean_Parser_Term_ellipsis___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Term_ellipsis___elambda__1___closed__4);
+l_Lean_Parser_Term_ellipsis___elambda__1___closed__5 = _init_l_Lean_Parser_Term_ellipsis___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Term_ellipsis___elambda__1___closed__5);
+l_Lean_Parser_Term_ellipsis___elambda__1___closed__6 = _init_l_Lean_Parser_Term_ellipsis___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Term_ellipsis___elambda__1___closed__6);
+l_Lean_Parser_Term_ellipsis___elambda__1___closed__7 = _init_l_Lean_Parser_Term_ellipsis___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Term_ellipsis___elambda__1___closed__7);
+l_Lean_Parser_Term_ellipsis___elambda__1___closed__8 = _init_l_Lean_Parser_Term_ellipsis___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Term_ellipsis___elambda__1___closed__8);
l_Lean_Parser_Term_ellipsis___closed__1 = _init_l_Lean_Parser_Term_ellipsis___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_ellipsis___closed__1);
l_Lean_Parser_Term_ellipsis___closed__2 = _init_l_Lean_Parser_Term_ellipsis___closed__2();
@@ -88188,10 +64803,22 @@ l_Lean_Parser_Term_ellipsis___closed__5 = _init_l_Lean_Parser_Term_ellipsis___cl
lean_mark_persistent(l_Lean_Parser_Term_ellipsis___closed__5);
l_Lean_Parser_Term_ellipsis = _init_l_Lean_Parser_Term_ellipsis();
lean_mark_persistent(l_Lean_Parser_Term_ellipsis);
-l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_app___elambda__1___spec__1___closed__1 = _init_l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_app___elambda__1___spec__1___closed__1();
-lean_mark_persistent(l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_app___elambda__1___spec__1___closed__1);
-l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_app___elambda__1___spec__1___closed__2 = _init_l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_app___elambda__1___spec__1___closed__2();
-lean_mark_persistent(l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_app___elambda__1___spec__1___closed__2);
+l_Lean_Parser_Term_app___elambda__1___closed__1 = _init_l_Lean_Parser_Term_app___elambda__1___closed__1();
+lean_mark_persistent(l_Lean_Parser_Term_app___elambda__1___closed__1);
+l_Lean_Parser_Term_app___elambda__1___closed__2 = _init_l_Lean_Parser_Term_app___elambda__1___closed__2();
+lean_mark_persistent(l_Lean_Parser_Term_app___elambda__1___closed__2);
+l_Lean_Parser_Term_app___elambda__1___closed__3 = _init_l_Lean_Parser_Term_app___elambda__1___closed__3();
+lean_mark_persistent(l_Lean_Parser_Term_app___elambda__1___closed__3);
+l_Lean_Parser_Term_app___elambda__1___closed__4 = _init_l_Lean_Parser_Term_app___elambda__1___closed__4();
+lean_mark_persistent(l_Lean_Parser_Term_app___elambda__1___closed__4);
+l_Lean_Parser_Term_app___elambda__1___closed__5 = _init_l_Lean_Parser_Term_app___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Term_app___elambda__1___closed__5);
+l_Lean_Parser_Term_app___elambda__1___closed__6 = _init_l_Lean_Parser_Term_app___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Term_app___elambda__1___closed__6);
+l_Lean_Parser_Term_app___elambda__1___closed__7 = _init_l_Lean_Parser_Term_app___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Term_app___elambda__1___closed__7);
+l_Lean_Parser_Term_app___elambda__1___closed__8 = _init_l_Lean_Parser_Term_app___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Term_app___elambda__1___closed__8);
l_Lean_Parser_Term_app___closed__1 = _init_l_Lean_Parser_Term_app___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_app___closed__1);
l_Lean_Parser_Term_app___closed__2 = _init_l_Lean_Parser_Term_app___closed__2();
@@ -88287,6 +64914,10 @@ if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
l_Lean_Parser_Term_proj___elambda__1___closed__1 = _init_l_Lean_Parser_Term_proj___elambda__1___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_proj___elambda__1___closed__1);
+l_Lean_Parser_Term_proj___elambda__1___closed__2 = _init_l_Lean_Parser_Term_proj___elambda__1___closed__2();
+lean_mark_persistent(l_Lean_Parser_Term_proj___elambda__1___closed__2);
+l_Lean_Parser_Term_proj___elambda__1___closed__3 = _init_l_Lean_Parser_Term_proj___elambda__1___closed__3();
+lean_mark_persistent(l_Lean_Parser_Term_proj___elambda__1___closed__3);
l_Lean_Parser_Term_proj___closed__1 = _init_l_Lean_Parser_Term_proj___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_proj___closed__1);
l_Lean_Parser_Term_proj___closed__2 = _init_l_Lean_Parser_Term_proj___closed__2();
@@ -88410,8 +65041,6 @@ l_Lean_Parser_Term_explicitUniv___elambda__1___closed__7 = _init_l_Lean_Parser_T
lean_mark_persistent(l_Lean_Parser_Term_explicitUniv___elambda__1___closed__7);
l_Lean_Parser_Term_explicitUniv___elambda__1___closed__8 = _init_l_Lean_Parser_Term_explicitUniv___elambda__1___closed__8();
lean_mark_persistent(l_Lean_Parser_Term_explicitUniv___elambda__1___closed__8);
-l_Lean_Parser_Term_explicitUniv___elambda__1___closed__9 = _init_l_Lean_Parser_Term_explicitUniv___elambda__1___closed__9();
-lean_mark_persistent(l_Lean_Parser_Term_explicitUniv___elambda__1___closed__9);
l_Lean_Parser_Term_explicitUniv___closed__1 = _init_l_Lean_Parser_Term_explicitUniv___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_explicitUniv___closed__1);
l_Lean_Parser_Term_explicitUniv___closed__2 = _init_l_Lean_Parser_Term_explicitUniv___closed__2();
@@ -88526,8 +65155,6 @@ l_Lean_Parser_Term_dollar___elambda__1___closed__5 = _init_l_Lean_Parser_Term_do
lean_mark_persistent(l_Lean_Parser_Term_dollar___elambda__1___closed__5);
l_Lean_Parser_Term_dollar___elambda__1___closed__6 = _init_l_Lean_Parser_Term_dollar___elambda__1___closed__6();
lean_mark_persistent(l_Lean_Parser_Term_dollar___elambda__1___closed__6);
-l_Lean_Parser_Term_dollar___elambda__1___closed__7 = _init_l_Lean_Parser_Term_dollar___elambda__1___closed__7();
-lean_mark_persistent(l_Lean_Parser_Term_dollar___elambda__1___closed__7);
l_Lean_Parser_Term_dollar___closed__1 = _init_l_Lean_Parser_Term_dollar___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_dollar___closed__1);
l_Lean_Parser_Term_dollar___closed__2 = _init_l_Lean_Parser_Term_dollar___closed__2();
@@ -88583,8 +65210,6 @@ l_Lean_Parser_Term_dollarProj___elambda__1___closed__5 = _init_l_Lean_Parser_Ter
lean_mark_persistent(l_Lean_Parser_Term_dollarProj___elambda__1___closed__5);
l_Lean_Parser_Term_dollarProj___elambda__1___closed__6 = _init_l_Lean_Parser_Term_dollarProj___elambda__1___closed__6();
lean_mark_persistent(l_Lean_Parser_Term_dollarProj___elambda__1___closed__6);
-l_Lean_Parser_Term_dollarProj___elambda__1___closed__7 = _init_l_Lean_Parser_Term_dollarProj___elambda__1___closed__7();
-lean_mark_persistent(l_Lean_Parser_Term_dollarProj___elambda__1___closed__7);
l_Lean_Parser_Term_dollarProj___closed__1 = _init_l_Lean_Parser_Term_dollarProj___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_dollarProj___closed__1);
l_Lean_Parser_Term_dollarProj___closed__2 = _init_l_Lean_Parser_Term_dollarProj___closed__2();
@@ -88616,20 +65241,24 @@ lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_dollarProj_parenthesizer___
res = l___regBuiltin_Lean_Parser_Term_dollarProj_parenthesizer(lean_io_mk_world());
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
-l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_where___elambda__1___spec__2___closed__1 = _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_where___elambda__1___spec__2___closed__1();
-lean_mark_persistent(l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_where___elambda__1___spec__2___closed__1);
-l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_where___elambda__1___spec__2___closed__2 = _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_where___elambda__1___spec__2___closed__2();
-lean_mark_persistent(l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_where___elambda__1___spec__2___closed__2);
-l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_where___elambda__1___spec__2___closed__3 = _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_where___elambda__1___spec__2___closed__3();
-lean_mark_persistent(l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_where___elambda__1___spec__2___closed__3);
-l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_where___elambda__1___spec__2___closed__4 = _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_where___elambda__1___spec__2___closed__4();
-lean_mark_persistent(l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_where___elambda__1___spec__2___closed__4);
-l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_where___elambda__1___spec__2___closed__5 = _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_where___elambda__1___spec__2___closed__5();
-lean_mark_persistent(l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_where___elambda__1___spec__2___closed__5);
l_Lean_Parser_Term_where___elambda__1___closed__1 = _init_l_Lean_Parser_Term_where___elambda__1___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_where___elambda__1___closed__1);
l_Lean_Parser_Term_where___elambda__1___closed__2 = _init_l_Lean_Parser_Term_where___elambda__1___closed__2();
lean_mark_persistent(l_Lean_Parser_Term_where___elambda__1___closed__2);
+l_Lean_Parser_Term_where___elambda__1___closed__3 = _init_l_Lean_Parser_Term_where___elambda__1___closed__3();
+lean_mark_persistent(l_Lean_Parser_Term_where___elambda__1___closed__3);
+l_Lean_Parser_Term_where___elambda__1___closed__4 = _init_l_Lean_Parser_Term_where___elambda__1___closed__4();
+lean_mark_persistent(l_Lean_Parser_Term_where___elambda__1___closed__4);
+l_Lean_Parser_Term_where___elambda__1___closed__5 = _init_l_Lean_Parser_Term_where___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Term_where___elambda__1___closed__5);
+l_Lean_Parser_Term_where___elambda__1___closed__6 = _init_l_Lean_Parser_Term_where___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Term_where___elambda__1___closed__6);
+l_Lean_Parser_Term_where___elambda__1___closed__7 = _init_l_Lean_Parser_Term_where___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Term_where___elambda__1___closed__7);
+l_Lean_Parser_Term_where___elambda__1___closed__8 = _init_l_Lean_Parser_Term_where___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Term_where___elambda__1___closed__8);
+l_Lean_Parser_Term_where___elambda__1___closed__9 = _init_l_Lean_Parser_Term_where___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Term_where___elambda__1___closed__9);
l_Lean_Parser_Term_where___closed__1 = _init_l_Lean_Parser_Term_where___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_where___closed__1);
l_Lean_Parser_Term_where___closed__2 = _init_l_Lean_Parser_Term_where___closed__2();
@@ -89326,20 +65955,22 @@ lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_equiv_parenthesizer___close
res = l___regBuiltin_Lean_Parser_Term_equiv_parenthesizer(lean_io_mk_world());
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
-l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_subst___elambda__1___spec__2___closed__1 = _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_subst___elambda__1___spec__2___closed__1();
-lean_mark_persistent(l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_subst___elambda__1___spec__2___closed__1);
-l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_subst___elambda__1___spec__2___closed__2 = _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_subst___elambda__1___spec__2___closed__2();
-lean_mark_persistent(l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_subst___elambda__1___spec__2___closed__2);
-l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_subst___elambda__1___spec__2___closed__3 = _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_subst___elambda__1___spec__2___closed__3();
-lean_mark_persistent(l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_subst___elambda__1___spec__2___closed__3);
-l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_subst___elambda__1___spec__2___closed__4 = _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_subst___elambda__1___spec__2___closed__4();
-lean_mark_persistent(l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_subst___elambda__1___spec__2___closed__4);
-l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_subst___elambda__1___spec__2___closed__5 = _init_l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_subst___elambda__1___spec__2___closed__5();
-lean_mark_persistent(l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_subst___elambda__1___spec__2___closed__5);
l_Lean_Parser_Term_subst___elambda__1___closed__1 = _init_l_Lean_Parser_Term_subst___elambda__1___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_subst___elambda__1___closed__1);
l_Lean_Parser_Term_subst___elambda__1___closed__2 = _init_l_Lean_Parser_Term_subst___elambda__1___closed__2();
lean_mark_persistent(l_Lean_Parser_Term_subst___elambda__1___closed__2);
+l_Lean_Parser_Term_subst___elambda__1___closed__3 = _init_l_Lean_Parser_Term_subst___elambda__1___closed__3();
+lean_mark_persistent(l_Lean_Parser_Term_subst___elambda__1___closed__3);
+l_Lean_Parser_Term_subst___elambda__1___closed__4 = _init_l_Lean_Parser_Term_subst___elambda__1___closed__4();
+lean_mark_persistent(l_Lean_Parser_Term_subst___elambda__1___closed__4);
+l_Lean_Parser_Term_subst___elambda__1___closed__5 = _init_l_Lean_Parser_Term_subst___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Term_subst___elambda__1___closed__5);
+l_Lean_Parser_Term_subst___elambda__1___closed__6 = _init_l_Lean_Parser_Term_subst___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Term_subst___elambda__1___closed__6);
+l_Lean_Parser_Term_subst___elambda__1___closed__7 = _init_l_Lean_Parser_Term_subst___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Term_subst___elambda__1___closed__7);
+l_Lean_Parser_Term_subst___elambda__1___closed__8 = _init_l_Lean_Parser_Term_subst___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Term_subst___elambda__1___closed__8);
l_Lean_Parser_Term_subst___closed__1 = _init_l_Lean_Parser_Term_subst___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_subst___closed__1);
l_Lean_Parser_Term_subst___closed__2 = _init_l_Lean_Parser_Term_subst___closed__2();
@@ -89988,6 +66619,16 @@ l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__9 = _init_l_Lean_Parser
lean_mark_persistent(l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__9);
l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__10 = _init_l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__10();
lean_mark_persistent(l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__10);
+l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__11 = _init_l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__11);
+l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__12 = _init_l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__12);
+l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__13 = _init_l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__13);
+l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__14 = _init_l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__14();
+lean_mark_persistent(l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__14);
+l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__15 = _init_l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__15();
+lean_mark_persistent(l_Lean_Parser_Term_funBinder_quot___elambda__1___closed__15);
l_Lean_Parser_Term_funBinder_quot___closed__1 = _init_l_Lean_Parser_Term_funBinder_quot___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_funBinder_quot___closed__1);
l_Lean_Parser_Term_funBinder_quot___closed__2 = _init_l_Lean_Parser_Term_funBinder_quot___closed__2();
@@ -90057,6 +66698,12 @@ l_Lean_Parser_Term_panic___elambda__1___closed__8 = _init_l_Lean_Parser_Term_pan
lean_mark_persistent(l_Lean_Parser_Term_panic___elambda__1___closed__8);
l_Lean_Parser_Term_panic___elambda__1___closed__9 = _init_l_Lean_Parser_Term_panic___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Term_panic___elambda__1___closed__9);
+l_Lean_Parser_Term_panic___elambda__1___closed__10 = _init_l_Lean_Parser_Term_panic___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_panic___elambda__1___closed__10);
+l_Lean_Parser_Term_panic___elambda__1___closed__11 = _init_l_Lean_Parser_Term_panic___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_panic___elambda__1___closed__11);
+l_Lean_Parser_Term_panic___elambda__1___closed__12 = _init_l_Lean_Parser_Term_panic___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Term_panic___elambda__1___closed__12);
l_Lean_Parser_Term_panic___closed__1 = _init_l_Lean_Parser_Term_panic___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_panic___closed__1);
l_Lean_Parser_Term_panic___closed__2 = _init_l_Lean_Parser_Term_panic___closed__2();
@@ -90114,6 +66761,10 @@ l_Lean_Parser_Term_unreachable___elambda__1___closed__7 = _init_l_Lean_Parser_Te
lean_mark_persistent(l_Lean_Parser_Term_unreachable___elambda__1___closed__7);
l_Lean_Parser_Term_unreachable___elambda__1___closed__8 = _init_l_Lean_Parser_Term_unreachable___elambda__1___closed__8();
lean_mark_persistent(l_Lean_Parser_Term_unreachable___elambda__1___closed__8);
+l_Lean_Parser_Term_unreachable___elambda__1___closed__9 = _init_l_Lean_Parser_Term_unreachable___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Term_unreachable___elambda__1___closed__9);
+l_Lean_Parser_Term_unreachable___elambda__1___closed__10 = _init_l_Lean_Parser_Term_unreachable___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_unreachable___elambda__1___closed__10);
l_Lean_Parser_Term_unreachable___closed__1 = _init_l_Lean_Parser_Term_unreachable___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_unreachable___closed__1);
l_Lean_Parser_Term_unreachable___closed__2 = _init_l_Lean_Parser_Term_unreachable___closed__2();
@@ -90171,6 +66822,12 @@ l_Lean_Parser_Term_dbgTrace___elambda__1___closed__9 = _init_l_Lean_Parser_Term_
lean_mark_persistent(l_Lean_Parser_Term_dbgTrace___elambda__1___closed__9);
l_Lean_Parser_Term_dbgTrace___elambda__1___closed__10 = _init_l_Lean_Parser_Term_dbgTrace___elambda__1___closed__10();
lean_mark_persistent(l_Lean_Parser_Term_dbgTrace___elambda__1___closed__10);
+l_Lean_Parser_Term_dbgTrace___elambda__1___closed__11 = _init_l_Lean_Parser_Term_dbgTrace___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_dbgTrace___elambda__1___closed__11);
+l_Lean_Parser_Term_dbgTrace___elambda__1___closed__12 = _init_l_Lean_Parser_Term_dbgTrace___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Term_dbgTrace___elambda__1___closed__12);
+l_Lean_Parser_Term_dbgTrace___elambda__1___closed__13 = _init_l_Lean_Parser_Term_dbgTrace___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Term_dbgTrace___elambda__1___closed__13);
l_Lean_Parser_Term_dbgTrace___closed__1 = _init_l_Lean_Parser_Term_dbgTrace___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_dbgTrace___closed__1);
l_Lean_Parser_Term_dbgTrace___closed__2 = _init_l_Lean_Parser_Term_dbgTrace___closed__2();
@@ -90252,6 +66909,12 @@ l_Lean_Parser_Term_assert___elambda__1___closed__8 = _init_l_Lean_Parser_Term_as
lean_mark_persistent(l_Lean_Parser_Term_assert___elambda__1___closed__8);
l_Lean_Parser_Term_assert___elambda__1___closed__9 = _init_l_Lean_Parser_Term_assert___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Term_assert___elambda__1___closed__9);
+l_Lean_Parser_Term_assert___elambda__1___closed__10 = _init_l_Lean_Parser_Term_assert___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Term_assert___elambda__1___closed__10);
+l_Lean_Parser_Term_assert___elambda__1___closed__11 = _init_l_Lean_Parser_Term_assert___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Term_assert___elambda__1___closed__11);
+l_Lean_Parser_Term_assert___elambda__1___closed__12 = _init_l_Lean_Parser_Term_assert___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Term_assert___elambda__1___closed__12);
l_Lean_Parser_Term_assert___closed__1 = _init_l_Lean_Parser_Term_assert___closed__1();
lean_mark_persistent(l_Lean_Parser_Term_assert___closed__1);
l_Lean_Parser_Term_assert___closed__2 = _init_l_Lean_Parser_Term_assert___closed__2();
@@ -90321,6 +66984,14 @@ l_Lean_Parser_Tactic_quot___elambda__1___closed__8 = _init_l_Lean_Parser_Tactic_
lean_mark_persistent(l_Lean_Parser_Tactic_quot___elambda__1___closed__8);
l_Lean_Parser_Tactic_quot___elambda__1___closed__9 = _init_l_Lean_Parser_Tactic_quot___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Tactic_quot___elambda__1___closed__9);
+l_Lean_Parser_Tactic_quot___elambda__1___closed__10 = _init_l_Lean_Parser_Tactic_quot___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Tactic_quot___elambda__1___closed__10);
+l_Lean_Parser_Tactic_quot___elambda__1___closed__11 = _init_l_Lean_Parser_Tactic_quot___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Tactic_quot___elambda__1___closed__11);
+l_Lean_Parser_Tactic_quot___elambda__1___closed__12 = _init_l_Lean_Parser_Tactic_quot___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Tactic_quot___elambda__1___closed__12);
+l_Lean_Parser_Tactic_quot___elambda__1___closed__13 = _init_l_Lean_Parser_Tactic_quot___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Tactic_quot___elambda__1___closed__13);
l_Lean_Parser_Tactic_quot___closed__1 = _init_l_Lean_Parser_Tactic_quot___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_quot___closed__1);
l_Lean_Parser_Tactic_quot___closed__2 = _init_l_Lean_Parser_Tactic_quot___closed__2();
@@ -90380,6 +67051,16 @@ l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__3 = _init_l_Lean_Parser_Tact
lean_mark_persistent(l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__3);
l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__4 = _init_l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__4();
lean_mark_persistent(l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__4);
+l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__5 = _init_l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__5();
+lean_mark_persistent(l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__5);
+l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__6 = _init_l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__6();
+lean_mark_persistent(l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__6);
+l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__7 = _init_l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__7();
+lean_mark_persistent(l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__7);
+l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__8 = _init_l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__8();
+lean_mark_persistent(l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__8);
+l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__9 = _init_l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__9();
+lean_mark_persistent(l_Lean_Parser_Tactic_quotSeq___elambda__1___closed__9);
l_Lean_Parser_Tactic_quotSeq___closed__1 = _init_l_Lean_Parser_Tactic_quotSeq___closed__1();
lean_mark_persistent(l_Lean_Parser_Tactic_quotSeq___closed__1);
l_Lean_Parser_Tactic_quotSeq___closed__2 = _init_l_Lean_Parser_Tactic_quotSeq___closed__2();
@@ -90451,6 +67132,14 @@ l_Lean_Parser_Level_quot___elambda__1___closed__8 = _init_l_Lean_Parser_Level_qu
lean_mark_persistent(l_Lean_Parser_Level_quot___elambda__1___closed__8);
l_Lean_Parser_Level_quot___elambda__1___closed__9 = _init_l_Lean_Parser_Level_quot___elambda__1___closed__9();
lean_mark_persistent(l_Lean_Parser_Level_quot___elambda__1___closed__9);
+l_Lean_Parser_Level_quot___elambda__1___closed__10 = _init_l_Lean_Parser_Level_quot___elambda__1___closed__10();
+lean_mark_persistent(l_Lean_Parser_Level_quot___elambda__1___closed__10);
+l_Lean_Parser_Level_quot___elambda__1___closed__11 = _init_l_Lean_Parser_Level_quot___elambda__1___closed__11();
+lean_mark_persistent(l_Lean_Parser_Level_quot___elambda__1___closed__11);
+l_Lean_Parser_Level_quot___elambda__1___closed__12 = _init_l_Lean_Parser_Level_quot___elambda__1___closed__12();
+lean_mark_persistent(l_Lean_Parser_Level_quot___elambda__1___closed__12);
+l_Lean_Parser_Level_quot___elambda__1___closed__13 = _init_l_Lean_Parser_Level_quot___elambda__1___closed__13();
+lean_mark_persistent(l_Lean_Parser_Level_quot___elambda__1___closed__13);
l_Lean_Parser_Level_quot___closed__1 = _init_l_Lean_Parser_Level_quot___closed__1();
lean_mark_persistent(l_Lean_Parser_Level_quot___closed__1);
l_Lean_Parser_Level_quot___closed__2 = _init_l_Lean_Parser_Level_quot___closed__2();
diff --git a/stage0/stdlib/Lean/ParserCompiler.c b/stage0/stdlib/Lean/ParserCompiler.c
index f145ca7d1a..e53df789af 100644
--- a/stage0/stdlib/Lean/ParserCompiler.c
+++ b/stage0/stdlib/Lean/ParserCompiler.c
@@ -15,7 +15,6 @@ extern "C" {
#endif
lean_object* l_Lean_ParserCompiler_compileParser___rarg___closed__3;
lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__19___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* lean_expr_update_forall(lean_object*, uint8_t, lean_object*, lean_object*);
lean_object* l_Array_iterateM_u2082Aux___main___at_Lean_ParserCompiler_compileParserBody___spec__3___rarg___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_ParserCompiler_compileParserBody___rarg___lambda__47___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_iterateM_u2082Aux___main___at_Lean_ParserCompiler_compileParserBody___spec__4___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -29,16 +28,12 @@ lean_object* l_Array_iterateM_u2082Aux___main___at_Lean_ParserCompiler_compilePa
lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__35(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_Array_iterateM_u2082Aux___main___at_Lean_ParserCompiler_compileParserBody___spec__35(lean_object*);
lean_object* l___private_Init_Data_Array_Basic_3__iterateRevMAux___main___at_Lean_ParserCompiler_compileParserBody___spec__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*);
-lean_object* l_unreachable_x21___rarg(lean_object*);
extern lean_object* l_Lean_nullKind;
lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__36(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_ParserCompiler_compileParserBody_match__2(lean_object*);
lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__27(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-uint8_t l_USize_decEq(size_t, size_t);
-lean_object* lean_array_uget(lean_object*, size_t);
lean_object* lean_io_error_to_string(lean_object*);
lean_object* l___private_Init_Data_Array_Basic_3__iterateRevMAux___main___at_Lean_ParserCompiler_compileParserBody___spec__14(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_expr_update_mdata(lean_object*, lean_object*);
lean_object* l___private_Init_Data_Array_Basic_3__iterateRevMAux___main___at_Lean_ParserCompiler_compileParserBody___spec__11(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_ParserCompiler_compileParserBody___rarg___lambda__45___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_ParserCompiler_compileParserBody___rarg___lambda__44(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*);
@@ -50,7 +45,6 @@ lean_object* l_Lean_ParserCompiler_interpretParser_match__1___rarg(lean_object*,
lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__35___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*);
extern lean_object* l_Std_HashMap_inhabited___closed__1;
lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__33(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_array_uset(lean_object*, size_t, lean_object*);
lean_object* l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_ParserCompiler_compileParser___rarg___closed__5;
lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___closed__6;
@@ -62,7 +56,6 @@ lean_object* l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserB
lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__37(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_st_ref_get(lean_object*, lean_object*);
lean_object* l_Lean_ParserCompiler_Context_tyName___rarg(lean_object*);
-lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1;
lean_object* l_Array_iterateM_u2082Aux___main___at_Lean_ParserCompiler_compileParserBody___spec__30(lean_object*);
lean_object* l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfCoreImp___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_iterateM_u2082Aux___main___at_Lean_ParserCompiler_compileParserBody___spec__9___rarg___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*);
@@ -78,13 +71,11 @@ lean_object* l_Array_iterateM_u2082Aux___main___at_Lean_ParserCompiler_compilePa
lean_object* l_Array_iterateM_u2082Aux___main___at_Lean_ParserCompiler_compileParserBody___spec__32(lean_object*);
lean_object* l_Lean_ParserCompiler_registerParserCompiler___rarg___lambda__2(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Expr_getAppArgs___closed__1;
-lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg(lean_object*, size_t, lean_object*, lean_object*);
lean_object* l_Lean_PersistentEnvExtension_modifyState___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_ParserCompiler_compileParser(lean_object*);
lean_object* l_Lean_ParserCompiler_compileParserBody_match__5___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_ParserCompiler_registerParserCompiler___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_iterateM_u2082Aux___main___at_Lean_ParserCompiler_compileParserBody___spec__10___rarg(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_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__28___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_Lean_mkAppStx___closed__4;
lean_object* l_Array_iterateM_u2082Aux___main___at_Lean_ParserCompiler_compileParserBody___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -109,7 +100,6 @@ lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___closed__8;
lean_object* l_Lean_Meta_forallTelescope___at_Lean_ParserCompiler_compileParserBody___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_iterateM_u2082Aux___main___at_Lean_ParserCompiler_compileParserBody___spec__13(lean_object*);
lean_object* l_Array_iterateM_u2082Aux___main___at_Lean_ParserCompiler_compileParserBody___spec__12___rarg___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_ParserCompiler_preprocessParserBody___rarg___boxed(lean_object*, lean_object*);
lean_object* l___private_Init_Data_Array_Basic_3__iterateRevMAux___main___at_Lean_ParserCompiler_compileParserBody___spec__25___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___private_Init_Data_Array_Basic_3__iterateRevMAux___main___at_Lean_ParserCompiler_compileParserBody___spec__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*);
lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__22___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -138,6 +128,7 @@ lean_object* l_Lean_MessageData_toString(lean_object*, lean_object*);
lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__46___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___closed__9;
lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__52___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_ParserCompiler_preprocessParserBody___rarg___lambda__1(lean_object*, lean_object*);
lean_object* lean_st_ref_take(lean_object*, lean_object*);
lean_object* l_Lean_ParserCompiler_compileParserBody_match__4___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_iterateM_u2082Aux___main___at_Lean_ParserCompiler_compileParserBody___spec__6___rarg___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*);
@@ -215,10 +206,8 @@ lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__3(lean_obj
lean_object* l_Lean_ParserCompiler_compileParserBody_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_KeyedDeclsAttribute_Table_insert___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__37___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* lean_expr_update_let(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_ParserCompiler_preprocessParserBody(lean_object*);
lean_object* l_Array_iterateM_u2082Aux___main___at_Lean_ParserCompiler_compileParserBody___spec__16___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-uint8_t l_Lean_Expr_Data_binderInfo(uint64_t);
lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___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_evalConst___at_Lean_ParserCompiler_interpretParser___spec__1(lean_object*);
lean_object* l_Lean_Meta_mkLambdaFVars___at_Lean_ParserCompiler_compileParserBody___spec__17(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -228,13 +217,11 @@ lean_object* l_Lean_ConstantInfo_value_x3f(lean_object*);
lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__39(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_Array_iterateM_u2082Aux___main___at_Lean_ParserCompiler_compileParserBody___spec__4___rarg___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_ParserCompiler_compileParserBody___rarg___lambda__16___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* lean_expr_update_proj(lean_object*, lean_object*);
lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__14(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_ParserCompiler_compileParserBody___rarg___lambda__45(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_Array_iterateM_u2082Aux___main___at_Lean_ParserCompiler_compileParserBody___spec__27(lean_object*);
lean_object* l_Array_iterateM_u2082Aux___main___at_Lean_ParserCompiler_compileParserBody___spec__4___rarg___closed__1;
lean_object* l_Lean_ParserCompiler_interpretParser_match__1(lean_object*, lean_object*);
-size_t l_USize_mod(size_t, size_t);
lean_object* l_Lean_ParserCompiler_compileParserBody_match__3(lean_object*);
extern lean_object* l_Lean_mkAppStx___closed__3;
extern lean_object* l_Lean_Meta_State_inhabited___closed__1;
@@ -243,7 +230,6 @@ lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___closed__12;
lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__27___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__55___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___private_Init_Data_Array_Basic_3__iterateRevMAux___main___at_Lean_ParserCompiler_compileParserBody___spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-size_t lean_ptr_addr(lean_object*);
lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__25(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_iterateM_u2082Aux___main___at_Lean_ParserCompiler_compileParserBody___spec__36(lean_object*);
lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__21(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -282,6 +268,7 @@ lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__19(lean_ob
lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_ofExcept___at_Lean_ParserCompiler_interpretParser___spec__2(lean_object*);
lean_object* l_Lean_ParserCompiler_Context_tyName___rarg___boxed(lean_object*);
+lean_object* l_Lean_ParserCompiler_preprocessParserBody___rarg___lambda__1___closed__1;
lean_object* l_Lean_Meta_setMCtx___at___private_Lean_Meta_Basic_0__Lean_Meta_liftMkBindingM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__21___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__9___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*);
@@ -291,8 +278,8 @@ lean_object* l_Array_iterateM_u2082Aux___main___at_Lean_ParserCompiler_compilePa
lean_object* l_Lean_mkForall(lean_object*, uint8_t, lean_object*, lean_object*);
lean_object* l_Array_iterateM_u2082Aux___main___at_Lean_ParserCompiler_compileParserBody___spec__26(lean_object*);
lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__24___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_ParserCompiler_preprocessParserBody___rarg___lambda__1___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Environment_getModuleIdxFor_x3f(lean_object*, lean_object*);
-lean_object* lean_expr_update_lambda(lean_object*, uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__43(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_ParserCompiler_compileParserBody___rarg___lambda__4(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_Array_iterateM_u2082Aux___main___at_Lean_ParserCompiler_compileParserBody___spec__15___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -318,7 +305,6 @@ lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___closed__7;
lean_object* l_Array_iterateM_u2082Aux___main___at_Lean_ParserCompiler_compileParserBody___spec__9___rarg(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_iterateM_u2082Aux___main___at_Lean_ParserCompiler_compileParserBody___spec__30___rarg(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_mkOptionalNode___closed__2;
-extern lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___closed__1;
lean_object* l_Lean_Expr_getAppFn(lean_object*);
lean_object* l_Array_iterateM_u2082Aux___main___at_Lean_ParserCompiler_compileParserBody___spec__30___rarg___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_ParserCompiler_compileParserBody___rarg___lambda__30(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*);
@@ -331,7 +317,6 @@ lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___closed__3;
lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__53___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_Init_Data_Array_Basic_3__iterateRevMAux___main___at_Lean_ParserCompiler_compileParserBody___spec__22___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_ParserCompiler_registerParserCompiler___rarg___lambda__1(lean_object*, lean_object*, lean_object*);
-lean_object* lean_expr_update_app(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___closed__5;
lean_object* l_ReaderT_inhabited___rarg___boxed(lean_object*, lean_object*);
lean_object* l_Array_iterateM_u2082Aux___main___at_Lean_ParserCompiler_compileParserBody___spec__3___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -349,8 +334,8 @@ lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__34(lean_ob
lean_object* l_Array_iterateM_u2082Aux___main___at_Lean_ParserCompiler_compileParserBody___spec__23___rarg___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_ParserCompiler_compileParserBody___rarg___lambda__28(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_ParserCompiler_compileParserBody___rarg___lambda__47(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(lean_object*, size_t, lean_object*, lean_object*);
lean_object* l_Lean_Meta_lambdaLetTelescope___at_Lean_ParserCompiler_compileParserBody___spec__18___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_ParserCompiler_preprocessParserBody___spec__1(lean_object*);
lean_object* l___private_Init_Util_2__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Core_CoreM_inhabited___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Array_iterateM_u2082Aux___main___at_Lean_ParserCompiler_compileParserBody___spec__33___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -390,7 +375,7 @@ lean_dec(x_1);
return x_2;
}
}
-static lean_object* _init_l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1() {
+static lean_object* _init_l_Lean_ParserCompiler_preprocessParserBody___rarg___lambda__1___closed__1() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
@@ -400,840 +385,59 @@ x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
}
}
-lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg(lean_object* x_1, size_t x_2, lean_object* x_3, lean_object* x_4) {
+lean_object* l_Lean_ParserCompiler_preprocessParserBody___rarg___lambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-size_t x_5; size_t x_6; lean_object* x_7; lean_object* x_8; size_t x_9; uint8_t x_10;
-x_5 = lean_ptr_addr(x_3);
-x_6 = x_2 == 0 ? 0 : x_5 % x_2;
-x_7 = lean_ctor_get(x_4, 0);
-lean_inc(x_7);
-x_8 = lean_array_uget(x_7, x_6);
-x_9 = lean_ptr_addr(x_8);
-lean_dec(x_8);
-x_10 = x_9 == x_5;
-if (x_10 == 0)
+lean_object* x_3; uint8_t x_4;
+x_3 = l_Lean_ParserCompiler_preprocessParserBody___rarg___lambda__1___closed__1;
+x_4 = l_Lean_Expr_isConstOf(x_2, x_3);
+if (x_4 == 0)
{
-lean_object* x_11; uint8_t x_12;
-x_11 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1;
-x_12 = l_Lean_Expr_isConstOf(x_3, x_11);
-if (x_12 == 0)
-{
-lean_dec(x_7);
-switch (lean_obj_tag(x_3)) {
-case 5:
-{
-lean_object* x_13; lean_object* x_14; uint64_t x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20;
-x_13 = lean_ctor_get(x_3, 0);
-lean_inc(x_13);
-x_14 = lean_ctor_get(x_3, 1);
-lean_inc(x_14);
-x_15 = lean_ctor_get_uint64(x_3, sizeof(void*)*2);
-lean_inc(x_13);
-x_16 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg(x_1, x_2, x_13, x_4);
-x_17 = lean_ctor_get(x_16, 0);
-lean_inc(x_17);
-x_18 = lean_ctor_get(x_16, 1);
-lean_inc(x_18);
-lean_dec(x_16);
-lean_inc(x_14);
-x_19 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg(x_1, x_2, x_14, x_18);
-x_20 = !lean_is_exclusive(x_19);
-if (x_20 == 0)
-{
-lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; uint8_t x_25;
-x_21 = lean_ctor_get(x_19, 0);
-x_22 = lean_ctor_get(x_19, 1);
-x_23 = lean_ctor_get(x_22, 0);
-lean_inc(x_23);
-lean_inc(x_3);
-x_24 = lean_array_uset(x_23, x_6, x_3);
-x_25 = !lean_is_exclusive(x_3);
-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;
-x_26 = lean_ctor_get(x_3, 1);
-lean_dec(x_26);
-x_27 = lean_ctor_get(x_3, 0);
-lean_dec(x_27);
-x_28 = lean_ctor_get(x_22, 1);
-lean_inc(x_28);
-lean_dec(x_22);
-x_29 = lean_expr_update_app(x_3, x_17, x_21);
-lean_inc(x_29);
-x_30 = lean_array_uset(x_28, x_6, x_29);
-x_31 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_31, 0, x_24);
-lean_ctor_set(x_31, 1, x_30);
-lean_ctor_set(x_19, 1, x_31);
-lean_ctor_set(x_19, 0, x_29);
-return x_19;
+lean_object* x_5;
+x_5 = lean_box(0);
+return x_5;
}
else
{
-lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36;
-lean_dec(x_3);
-x_32 = lean_ctor_get(x_22, 1);
-lean_inc(x_32);
-lean_dec(x_22);
-x_33 = lean_alloc_ctor(5, 2, 8);
-lean_ctor_set(x_33, 0, x_13);
-lean_ctor_set(x_33, 1, x_14);
-lean_ctor_set_uint64(x_33, sizeof(void*)*2, x_15);
-x_34 = lean_expr_update_app(x_33, x_17, x_21);
-lean_inc(x_34);
-x_35 = lean_array_uset(x_32, x_6, x_34);
-x_36 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_36, 0, x_24);
-lean_ctor_set(x_36, 1, x_35);
-lean_ctor_set(x_19, 1, x_36);
-lean_ctor_set(x_19, 0, x_34);
-return x_19;
+lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9;
+x_6 = l_Lean_ParserCompiler_Context_tyName___rarg(x_1);
+x_7 = lean_box(0);
+x_8 = l_Lean_mkConst(x_6, x_7);
+x_9 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_9, 0, x_8);
+return x_9;
}
}
-else
-{
-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;
-x_37 = lean_ctor_get(x_19, 0);
-x_38 = lean_ctor_get(x_19, 1);
-lean_inc(x_38);
-lean_inc(x_37);
-lean_dec(x_19);
-x_39 = lean_ctor_get(x_38, 0);
-lean_inc(x_39);
-lean_inc(x_3);
-x_40 = lean_array_uset(x_39, x_6, x_3);
-if (lean_is_exclusive(x_3)) {
- lean_ctor_release(x_3, 0);
- lean_ctor_release(x_3, 1);
- x_41 = x_3;
-} else {
- lean_dec_ref(x_3);
- x_41 = lean_box(0);
-}
-x_42 = lean_ctor_get(x_38, 1);
-lean_inc(x_42);
-lean_dec(x_38);
-if (lean_is_scalar(x_41)) {
- x_43 = lean_alloc_ctor(5, 2, 8);
-} else {
- x_43 = x_41;
-}
-lean_ctor_set(x_43, 0, x_13);
-lean_ctor_set(x_43, 1, x_14);
-lean_ctor_set_uint64(x_43, sizeof(void*)*2, x_15);
-x_44 = lean_expr_update_app(x_43, x_17, x_37);
-lean_inc(x_44);
-x_45 = lean_array_uset(x_42, x_6, x_44);
-x_46 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_46, 0, x_40);
-lean_ctor_set(x_46, 1, x_45);
-x_47 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_47, 0, x_44);
-lean_ctor_set(x_47, 1, x_46);
-return x_47;
-}
-}
-case 6:
-{
-lean_object* x_48; lean_object* x_49; lean_object* x_50; uint64_t x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; uint8_t x_56;
-x_48 = lean_ctor_get(x_3, 0);
-lean_inc(x_48);
-x_49 = lean_ctor_get(x_3, 1);
-lean_inc(x_49);
-x_50 = lean_ctor_get(x_3, 2);
-lean_inc(x_50);
-x_51 = lean_ctor_get_uint64(x_3, sizeof(void*)*3);
-lean_inc(x_49);
-x_52 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg(x_1, x_2, x_49, x_4);
-x_53 = lean_ctor_get(x_52, 0);
-lean_inc(x_53);
-x_54 = lean_ctor_get(x_52, 1);
-lean_inc(x_54);
-lean_dec(x_52);
-lean_inc(x_50);
-x_55 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg(x_1, x_2, x_50, x_54);
-x_56 = !lean_is_exclusive(x_55);
-if (x_56 == 0)
-{
-lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; uint8_t x_61;
-x_57 = lean_ctor_get(x_55, 0);
-x_58 = lean_ctor_get(x_55, 1);
-x_59 = lean_ctor_get(x_58, 0);
-lean_inc(x_59);
-lean_inc(x_3);
-x_60 = lean_array_uset(x_59, x_6, x_3);
-x_61 = !lean_is_exclusive(x_3);
-if (x_61 == 0)
-{
-lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; uint8_t x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69;
-x_62 = lean_ctor_get(x_3, 2);
-lean_dec(x_62);
-x_63 = lean_ctor_get(x_3, 1);
-lean_dec(x_63);
-x_64 = lean_ctor_get(x_3, 0);
-lean_dec(x_64);
-x_65 = lean_ctor_get(x_58, 1);
-lean_inc(x_65);
-lean_dec(x_58);
-x_66 = (uint8_t)((x_51 << 24) >> 61);
-x_67 = lean_expr_update_lambda(x_3, x_66, x_53, x_57);
-lean_inc(x_67);
-x_68 = lean_array_uset(x_65, x_6, x_67);
-x_69 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_69, 0, x_60);
-lean_ctor_set(x_69, 1, x_68);
-lean_ctor_set(x_55, 1, x_69);
-lean_ctor_set(x_55, 0, x_67);
-return x_55;
-}
-else
-{
-lean_object* x_70; lean_object* x_71; uint8_t x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75;
-lean_dec(x_3);
-x_70 = lean_ctor_get(x_58, 1);
-lean_inc(x_70);
-lean_dec(x_58);
-x_71 = lean_alloc_ctor(6, 3, 8);
-lean_ctor_set(x_71, 0, x_48);
-lean_ctor_set(x_71, 1, x_49);
-lean_ctor_set(x_71, 2, x_50);
-lean_ctor_set_uint64(x_71, sizeof(void*)*3, x_51);
-x_72 = (uint8_t)((x_51 << 24) >> 61);
-x_73 = lean_expr_update_lambda(x_71, x_72, x_53, x_57);
-lean_inc(x_73);
-x_74 = lean_array_uset(x_70, x_6, x_73);
-x_75 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_75, 0, x_60);
-lean_ctor_set(x_75, 1, x_74);
-lean_ctor_set(x_55, 1, x_75);
-lean_ctor_set(x_55, 0, x_73);
-return x_55;
-}
-}
-else
-{
-lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; uint8_t x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87;
-x_76 = lean_ctor_get(x_55, 0);
-x_77 = lean_ctor_get(x_55, 1);
-lean_inc(x_77);
-lean_inc(x_76);
-lean_dec(x_55);
-x_78 = lean_ctor_get(x_77, 0);
-lean_inc(x_78);
-lean_inc(x_3);
-x_79 = lean_array_uset(x_78, x_6, x_3);
-if (lean_is_exclusive(x_3)) {
- lean_ctor_release(x_3, 0);
- lean_ctor_release(x_3, 1);
- lean_ctor_release(x_3, 2);
- x_80 = x_3;
-} else {
- lean_dec_ref(x_3);
- x_80 = lean_box(0);
-}
-x_81 = lean_ctor_get(x_77, 1);
-lean_inc(x_81);
-lean_dec(x_77);
-if (lean_is_scalar(x_80)) {
- x_82 = lean_alloc_ctor(6, 3, 8);
-} else {
- x_82 = x_80;
-}
-lean_ctor_set(x_82, 0, x_48);
-lean_ctor_set(x_82, 1, x_49);
-lean_ctor_set(x_82, 2, x_50);
-lean_ctor_set_uint64(x_82, sizeof(void*)*3, x_51);
-x_83 = (uint8_t)((x_51 << 24) >> 61);
-x_84 = lean_expr_update_lambda(x_82, x_83, x_53, x_76);
-lean_inc(x_84);
-x_85 = lean_array_uset(x_81, x_6, x_84);
-x_86 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_86, 0, x_79);
-lean_ctor_set(x_86, 1, x_85);
-x_87 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_87, 0, x_84);
-lean_ctor_set(x_87, 1, x_86);
-return x_87;
-}
-}
-case 7:
-{
-lean_object* x_88; lean_object* x_89; lean_object* x_90; uint64_t x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; uint8_t x_96;
-x_88 = lean_ctor_get(x_3, 0);
-lean_inc(x_88);
-x_89 = lean_ctor_get(x_3, 1);
-lean_inc(x_89);
-x_90 = lean_ctor_get(x_3, 2);
-lean_inc(x_90);
-x_91 = lean_ctor_get_uint64(x_3, sizeof(void*)*3);
-lean_inc(x_89);
-x_92 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg(x_1, x_2, x_89, x_4);
-x_93 = lean_ctor_get(x_92, 0);
-lean_inc(x_93);
-x_94 = lean_ctor_get(x_92, 1);
-lean_inc(x_94);
-lean_dec(x_92);
-lean_inc(x_90);
-x_95 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg(x_1, x_2, x_90, x_94);
-x_96 = !lean_is_exclusive(x_95);
-if (x_96 == 0)
-{
-lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; uint8_t x_101;
-x_97 = lean_ctor_get(x_95, 0);
-x_98 = lean_ctor_get(x_95, 1);
-x_99 = lean_ctor_get(x_98, 0);
-lean_inc(x_99);
-lean_inc(x_3);
-x_100 = lean_array_uset(x_99, x_6, x_3);
-x_101 = !lean_is_exclusive(x_3);
-if (x_101 == 0)
-{
-lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; uint8_t x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109;
-x_102 = lean_ctor_get(x_3, 2);
-lean_dec(x_102);
-x_103 = lean_ctor_get(x_3, 1);
-lean_dec(x_103);
-x_104 = lean_ctor_get(x_3, 0);
-lean_dec(x_104);
-x_105 = lean_ctor_get(x_98, 1);
-lean_inc(x_105);
-lean_dec(x_98);
-x_106 = (uint8_t)((x_91 << 24) >> 61);
-x_107 = lean_expr_update_forall(x_3, x_106, x_93, x_97);
-lean_inc(x_107);
-x_108 = lean_array_uset(x_105, x_6, x_107);
-x_109 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_109, 0, x_100);
-lean_ctor_set(x_109, 1, x_108);
-lean_ctor_set(x_95, 1, x_109);
-lean_ctor_set(x_95, 0, x_107);
-return x_95;
-}
-else
-{
-lean_object* x_110; lean_object* x_111; uint8_t x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115;
-lean_dec(x_3);
-x_110 = lean_ctor_get(x_98, 1);
-lean_inc(x_110);
-lean_dec(x_98);
-x_111 = lean_alloc_ctor(7, 3, 8);
-lean_ctor_set(x_111, 0, x_88);
-lean_ctor_set(x_111, 1, x_89);
-lean_ctor_set(x_111, 2, x_90);
-lean_ctor_set_uint64(x_111, sizeof(void*)*3, x_91);
-x_112 = (uint8_t)((x_91 << 24) >> 61);
-x_113 = lean_expr_update_forall(x_111, x_112, x_93, x_97);
-lean_inc(x_113);
-x_114 = lean_array_uset(x_110, x_6, x_113);
-x_115 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_115, 0, x_100);
-lean_ctor_set(x_115, 1, x_114);
-lean_ctor_set(x_95, 1, x_115);
-lean_ctor_set(x_95, 0, x_113);
-return x_95;
-}
-}
-else
-{
-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; uint8_t x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127;
-x_116 = lean_ctor_get(x_95, 0);
-x_117 = lean_ctor_get(x_95, 1);
-lean_inc(x_117);
-lean_inc(x_116);
-lean_dec(x_95);
-x_118 = lean_ctor_get(x_117, 0);
-lean_inc(x_118);
-lean_inc(x_3);
-x_119 = lean_array_uset(x_118, x_6, x_3);
-if (lean_is_exclusive(x_3)) {
- lean_ctor_release(x_3, 0);
- lean_ctor_release(x_3, 1);
- lean_ctor_release(x_3, 2);
- x_120 = x_3;
-} else {
- lean_dec_ref(x_3);
- x_120 = lean_box(0);
-}
-x_121 = lean_ctor_get(x_117, 1);
-lean_inc(x_121);
-lean_dec(x_117);
-if (lean_is_scalar(x_120)) {
- x_122 = lean_alloc_ctor(7, 3, 8);
-} else {
- x_122 = x_120;
-}
-lean_ctor_set(x_122, 0, x_88);
-lean_ctor_set(x_122, 1, x_89);
-lean_ctor_set(x_122, 2, x_90);
-lean_ctor_set_uint64(x_122, sizeof(void*)*3, x_91);
-x_123 = (uint8_t)((x_91 << 24) >> 61);
-x_124 = lean_expr_update_forall(x_122, x_123, x_93, x_116);
-lean_inc(x_124);
-x_125 = lean_array_uset(x_121, x_6, x_124);
-x_126 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_126, 0, x_119);
-lean_ctor_set(x_126, 1, x_125);
-x_127 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_127, 0, x_124);
-lean_ctor_set(x_127, 1, x_126);
-return x_127;
-}
-}
-case 8:
-{
-lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; uint64_t x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; uint8_t x_140;
-x_128 = lean_ctor_get(x_3, 0);
-lean_inc(x_128);
-x_129 = lean_ctor_get(x_3, 1);
-lean_inc(x_129);
-x_130 = lean_ctor_get(x_3, 2);
-lean_inc(x_130);
-x_131 = lean_ctor_get(x_3, 3);
-lean_inc(x_131);
-x_132 = lean_ctor_get_uint64(x_3, sizeof(void*)*4);
-lean_inc(x_129);
-x_133 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg(x_1, x_2, x_129, x_4);
-x_134 = lean_ctor_get(x_133, 0);
-lean_inc(x_134);
-x_135 = lean_ctor_get(x_133, 1);
-lean_inc(x_135);
-lean_dec(x_133);
-lean_inc(x_130);
-x_136 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg(x_1, x_2, x_130, x_135);
-x_137 = lean_ctor_get(x_136, 0);
-lean_inc(x_137);
-x_138 = lean_ctor_get(x_136, 1);
-lean_inc(x_138);
-lean_dec(x_136);
-lean_inc(x_131);
-x_139 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg(x_1, x_2, x_131, x_138);
-x_140 = !lean_is_exclusive(x_139);
-if (x_140 == 0)
-{
-lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; uint8_t x_145;
-x_141 = lean_ctor_get(x_139, 0);
-x_142 = lean_ctor_get(x_139, 1);
-x_143 = lean_ctor_get(x_142, 0);
-lean_inc(x_143);
-lean_inc(x_3);
-x_144 = lean_array_uset(x_143, x_6, x_3);
-x_145 = !lean_is_exclusive(x_3);
-if (x_145 == 0)
-{
-lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153;
-x_146 = lean_ctor_get(x_3, 3);
-lean_dec(x_146);
-x_147 = lean_ctor_get(x_3, 2);
-lean_dec(x_147);
-x_148 = lean_ctor_get(x_3, 1);
-lean_dec(x_148);
-x_149 = lean_ctor_get(x_3, 0);
-lean_dec(x_149);
-x_150 = lean_ctor_get(x_142, 1);
-lean_inc(x_150);
-lean_dec(x_142);
-x_151 = lean_expr_update_let(x_3, x_134, x_137, x_141);
-lean_inc(x_151);
-x_152 = lean_array_uset(x_150, x_6, x_151);
-x_153 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_153, 0, x_144);
-lean_ctor_set(x_153, 1, x_152);
-lean_ctor_set(x_139, 1, x_153);
-lean_ctor_set(x_139, 0, x_151);
-return x_139;
-}
-else
-{
-lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158;
-lean_dec(x_3);
-x_154 = lean_ctor_get(x_142, 1);
-lean_inc(x_154);
-lean_dec(x_142);
-x_155 = lean_alloc_ctor(8, 4, 8);
-lean_ctor_set(x_155, 0, x_128);
-lean_ctor_set(x_155, 1, x_129);
-lean_ctor_set(x_155, 2, x_130);
-lean_ctor_set(x_155, 3, x_131);
-lean_ctor_set_uint64(x_155, sizeof(void*)*4, x_132);
-x_156 = lean_expr_update_let(x_155, x_134, x_137, x_141);
-lean_inc(x_156);
-x_157 = lean_array_uset(x_154, x_6, x_156);
-x_158 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_158, 0, x_144);
-lean_ctor_set(x_158, 1, x_157);
-lean_ctor_set(x_139, 1, x_158);
-lean_ctor_set(x_139, 0, x_156);
-return x_139;
-}
-}
-else
-{
-lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169;
-x_159 = lean_ctor_get(x_139, 0);
-x_160 = lean_ctor_get(x_139, 1);
-lean_inc(x_160);
-lean_inc(x_159);
-lean_dec(x_139);
-x_161 = lean_ctor_get(x_160, 0);
-lean_inc(x_161);
-lean_inc(x_3);
-x_162 = lean_array_uset(x_161, x_6, x_3);
-if (lean_is_exclusive(x_3)) {
- lean_ctor_release(x_3, 0);
- lean_ctor_release(x_3, 1);
- lean_ctor_release(x_3, 2);
- lean_ctor_release(x_3, 3);
- x_163 = x_3;
-} else {
- lean_dec_ref(x_3);
- x_163 = lean_box(0);
-}
-x_164 = lean_ctor_get(x_160, 1);
-lean_inc(x_164);
-lean_dec(x_160);
-if (lean_is_scalar(x_163)) {
- x_165 = lean_alloc_ctor(8, 4, 8);
-} else {
- x_165 = x_163;
-}
-lean_ctor_set(x_165, 0, x_128);
-lean_ctor_set(x_165, 1, x_129);
-lean_ctor_set(x_165, 2, x_130);
-lean_ctor_set(x_165, 3, x_131);
-lean_ctor_set_uint64(x_165, sizeof(void*)*4, x_132);
-x_166 = lean_expr_update_let(x_165, x_134, x_137, x_159);
-lean_inc(x_166);
-x_167 = lean_array_uset(x_164, x_6, x_166);
-x_168 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_168, 0, x_162);
-lean_ctor_set(x_168, 1, x_167);
-x_169 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_169, 0, x_166);
-lean_ctor_set(x_169, 1, x_168);
-return x_169;
-}
-}
-case 10:
-{
-lean_object* x_170; lean_object* x_171; uint64_t x_172; lean_object* x_173; uint8_t x_174;
-x_170 = lean_ctor_get(x_3, 0);
-lean_inc(x_170);
-x_171 = lean_ctor_get(x_3, 1);
-lean_inc(x_171);
-x_172 = lean_ctor_get_uint64(x_3, sizeof(void*)*2);
-lean_inc(x_171);
-x_173 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg(x_1, x_2, x_171, x_4);
-x_174 = !lean_is_exclusive(x_173);
-if (x_174 == 0)
-{
-lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; uint8_t x_179;
-x_175 = lean_ctor_get(x_173, 0);
-x_176 = lean_ctor_get(x_173, 1);
-x_177 = lean_ctor_get(x_176, 0);
-lean_inc(x_177);
-lean_inc(x_3);
-x_178 = lean_array_uset(x_177, x_6, x_3);
-x_179 = !lean_is_exclusive(x_3);
-if (x_179 == 0)
-{
-lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185;
-x_180 = lean_ctor_get(x_3, 1);
-lean_dec(x_180);
-x_181 = lean_ctor_get(x_3, 0);
-lean_dec(x_181);
-x_182 = lean_ctor_get(x_176, 1);
-lean_inc(x_182);
-lean_dec(x_176);
-x_183 = lean_expr_update_mdata(x_3, x_175);
-lean_inc(x_183);
-x_184 = lean_array_uset(x_182, x_6, x_183);
-x_185 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_185, 0, x_178);
-lean_ctor_set(x_185, 1, x_184);
-lean_ctor_set(x_173, 1, x_185);
-lean_ctor_set(x_173, 0, x_183);
-return x_173;
-}
-else
-{
-lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190;
-lean_dec(x_3);
-x_186 = lean_ctor_get(x_176, 1);
-lean_inc(x_186);
-lean_dec(x_176);
-x_187 = lean_alloc_ctor(10, 2, 8);
-lean_ctor_set(x_187, 0, x_170);
-lean_ctor_set(x_187, 1, x_171);
-lean_ctor_set_uint64(x_187, sizeof(void*)*2, x_172);
-x_188 = lean_expr_update_mdata(x_187, x_175);
-lean_inc(x_188);
-x_189 = lean_array_uset(x_186, x_6, x_188);
-x_190 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_190, 0, x_178);
-lean_ctor_set(x_190, 1, x_189);
-lean_ctor_set(x_173, 1, x_190);
-lean_ctor_set(x_173, 0, x_188);
-return x_173;
-}
-}
-else
-{
-lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201;
-x_191 = lean_ctor_get(x_173, 0);
-x_192 = lean_ctor_get(x_173, 1);
-lean_inc(x_192);
-lean_inc(x_191);
-lean_dec(x_173);
-x_193 = lean_ctor_get(x_192, 0);
-lean_inc(x_193);
-lean_inc(x_3);
-x_194 = lean_array_uset(x_193, x_6, x_3);
-if (lean_is_exclusive(x_3)) {
- lean_ctor_release(x_3, 0);
- lean_ctor_release(x_3, 1);
- x_195 = x_3;
-} else {
- lean_dec_ref(x_3);
- x_195 = lean_box(0);
-}
-x_196 = lean_ctor_get(x_192, 1);
-lean_inc(x_196);
-lean_dec(x_192);
-if (lean_is_scalar(x_195)) {
- x_197 = lean_alloc_ctor(10, 2, 8);
-} else {
- x_197 = x_195;
-}
-lean_ctor_set(x_197, 0, x_170);
-lean_ctor_set(x_197, 1, x_171);
-lean_ctor_set_uint64(x_197, sizeof(void*)*2, x_172);
-x_198 = lean_expr_update_mdata(x_197, x_191);
-lean_inc(x_198);
-x_199 = lean_array_uset(x_196, x_6, x_198);
-x_200 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_200, 0, x_194);
-lean_ctor_set(x_200, 1, x_199);
-x_201 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_201, 0, x_198);
-lean_ctor_set(x_201, 1, x_200);
-return x_201;
-}
-}
-case 11:
-{
-lean_object* x_202; lean_object* x_203; lean_object* x_204; uint64_t x_205; lean_object* x_206; uint8_t x_207;
-x_202 = lean_ctor_get(x_3, 0);
-lean_inc(x_202);
-x_203 = lean_ctor_get(x_3, 1);
-lean_inc(x_203);
-x_204 = lean_ctor_get(x_3, 2);
-lean_inc(x_204);
-x_205 = lean_ctor_get_uint64(x_3, sizeof(void*)*3);
-lean_inc(x_204);
-x_206 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg(x_1, x_2, x_204, x_4);
-x_207 = !lean_is_exclusive(x_206);
-if (x_207 == 0)
-{
-lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_211; uint8_t x_212;
-x_208 = lean_ctor_get(x_206, 0);
-x_209 = lean_ctor_get(x_206, 1);
-x_210 = lean_ctor_get(x_209, 0);
-lean_inc(x_210);
-lean_inc(x_3);
-x_211 = lean_array_uset(x_210, x_6, x_3);
-x_212 = !lean_is_exclusive(x_3);
-if (x_212 == 0)
-{
-lean_object* x_213; lean_object* x_214; lean_object* x_215; lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219;
-x_213 = lean_ctor_get(x_3, 2);
-lean_dec(x_213);
-x_214 = lean_ctor_get(x_3, 1);
-lean_dec(x_214);
-x_215 = lean_ctor_get(x_3, 0);
-lean_dec(x_215);
-x_216 = lean_ctor_get(x_209, 1);
-lean_inc(x_216);
-lean_dec(x_209);
-x_217 = lean_expr_update_proj(x_3, x_208);
-lean_inc(x_217);
-x_218 = lean_array_uset(x_216, x_6, x_217);
-x_219 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_219, 0, x_211);
-lean_ctor_set(x_219, 1, x_218);
-lean_ctor_set(x_206, 1, x_219);
-lean_ctor_set(x_206, 0, x_217);
-return x_206;
-}
-else
-{
-lean_object* x_220; lean_object* x_221; lean_object* x_222; lean_object* x_223; lean_object* x_224;
-lean_dec(x_3);
-x_220 = lean_ctor_get(x_209, 1);
-lean_inc(x_220);
-lean_dec(x_209);
-x_221 = lean_alloc_ctor(11, 3, 8);
-lean_ctor_set(x_221, 0, x_202);
-lean_ctor_set(x_221, 1, x_203);
-lean_ctor_set(x_221, 2, x_204);
-lean_ctor_set_uint64(x_221, sizeof(void*)*3, x_205);
-x_222 = lean_expr_update_proj(x_221, x_208);
-lean_inc(x_222);
-x_223 = lean_array_uset(x_220, x_6, x_222);
-x_224 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_224, 0, x_211);
-lean_ctor_set(x_224, 1, x_223);
-lean_ctor_set(x_206, 1, x_224);
-lean_ctor_set(x_206, 0, x_222);
-return x_206;
-}
-}
-else
-{
-lean_object* x_225; lean_object* x_226; lean_object* x_227; lean_object* x_228; lean_object* x_229; lean_object* x_230; lean_object* x_231; lean_object* x_232; lean_object* x_233; lean_object* x_234; lean_object* x_235;
-x_225 = lean_ctor_get(x_206, 0);
-x_226 = lean_ctor_get(x_206, 1);
-lean_inc(x_226);
-lean_inc(x_225);
-lean_dec(x_206);
-x_227 = lean_ctor_get(x_226, 0);
-lean_inc(x_227);
-lean_inc(x_3);
-x_228 = lean_array_uset(x_227, x_6, x_3);
-if (lean_is_exclusive(x_3)) {
- lean_ctor_release(x_3, 0);
- lean_ctor_release(x_3, 1);
- lean_ctor_release(x_3, 2);
- x_229 = x_3;
-} else {
- lean_dec_ref(x_3);
- x_229 = lean_box(0);
-}
-x_230 = lean_ctor_get(x_226, 1);
-lean_inc(x_230);
-lean_dec(x_226);
-if (lean_is_scalar(x_229)) {
- x_231 = lean_alloc_ctor(11, 3, 8);
-} else {
- x_231 = x_229;
-}
-lean_ctor_set(x_231, 0, x_202);
-lean_ctor_set(x_231, 1, x_203);
-lean_ctor_set(x_231, 2, x_204);
-lean_ctor_set_uint64(x_231, sizeof(void*)*3, x_205);
-x_232 = lean_expr_update_proj(x_231, x_225);
-lean_inc(x_232);
-x_233 = lean_array_uset(x_230, x_6, x_232);
-x_234 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_234, 0, x_228);
-lean_ctor_set(x_234, 1, x_233);
-x_235 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_235, 0, x_232);
-lean_ctor_set(x_235, 1, x_234);
-return x_235;
-}
-}
-case 12:
-{
-lean_object* x_236; lean_object* x_237; lean_object* x_238;
-lean_dec(x_3);
-x_236 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___closed__1;
-x_237 = l_unreachable_x21___rarg(x_236);
-x_238 = lean_apply_1(x_237, x_4);
-return x_238;
-}
-default:
-{
-lean_object* x_239;
-x_239 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_239, 0, x_3);
-lean_ctor_set(x_239, 1, x_4);
-return x_239;
-}
-}
-}
-else
-{
-lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244; lean_object* x_245; lean_object* x_246; lean_object* x_247;
-x_240 = l_Lean_ParserCompiler_Context_tyName___rarg(x_1);
-x_241 = lean_box(0);
-x_242 = l_Lean_mkConst(x_240, x_241);
-x_243 = lean_array_uset(x_7, x_6, x_3);
-x_244 = lean_ctor_get(x_4, 1);
-lean_inc(x_244);
-lean_dec(x_4);
-lean_inc(x_242);
-x_245 = lean_array_uset(x_244, x_6, x_242);
-x_246 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_246, 0, x_243);
-lean_ctor_set(x_246, 1, x_245);
-x_247 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_247, 0, x_242);
-lean_ctor_set(x_247, 1, x_246);
-return x_247;
-}
-}
-else
-{
-lean_object* x_248; lean_object* x_249; lean_object* x_250;
-lean_dec(x_7);
-lean_dec(x_3);
-x_248 = lean_ctor_get(x_4, 1);
-lean_inc(x_248);
-x_249 = lean_array_uget(x_248, x_6);
-lean_dec(x_248);
-x_250 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_250, 0, x_249);
-lean_ctor_set(x_250, 1, x_4);
-return x_250;
-}
-}
-}
-lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_ParserCompiler_preprocessParserBody___spec__1(lean_object* x_1) {
-_start:
-{
-lean_object* x_2;
-x_2 = lean_alloc_closure((void*)(l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___boxed), 4, 0);
-return x_2;
-}
}
lean_object* l_Lean_ParserCompiler_preprocessParserBody___rarg(lean_object* x_1, lean_object* x_2) {
_start:
{
-size_t x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
-x_3 = 8192;
-x_4 = l_Lean_Expr_ReplaceImpl_initCache;
-x_5 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg(x_1, x_3, x_2, x_4);
-x_6 = lean_ctor_get(x_5, 0);
-lean_inc(x_6);
-lean_dec(x_5);
-return x_6;
+lean_object* x_3; size_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
+x_3 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_preprocessParserBody___rarg___lambda__1___boxed), 2, 1);
+lean_closure_set(x_3, 0, x_1);
+x_4 = 8192;
+x_5 = l_Lean_Expr_ReplaceImpl_initCache;
+x_6 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(x_3, x_4, x_2, x_5);
+x_7 = lean_ctor_get(x_6, 0);
+lean_inc(x_7);
+lean_dec(x_6);
+return x_7;
}
}
lean_object* l_Lean_ParserCompiler_preprocessParserBody(lean_object* x_1) {
_start:
{
lean_object* x_2;
-x_2 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_preprocessParserBody___rarg___boxed), 2, 0);
+x_2 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_preprocessParserBody___rarg), 2, 0);
return x_2;
}
}
-lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
-_start:
-{
-size_t x_5; lean_object* x_6;
-x_5 = lean_unbox_usize(x_2);
-lean_dec(x_2);
-x_6 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg(x_1, x_5, x_3, x_4);
-lean_dec(x_1);
-return x_6;
-}
-}
-lean_object* l_Lean_ParserCompiler_preprocessParserBody___rarg___boxed(lean_object* x_1, lean_object* x_2) {
+lean_object* l_Lean_ParserCompiler_preprocessParserBody___rarg___lambda__1___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
-x_3 = l_Lean_ParserCompiler_preprocessParserBody___rarg(x_1, x_2);
+x_3 = l_Lean_ParserCompiler_preprocessParserBody___rarg___lambda__1(x_1, x_2);
+lean_dec(x_2);
lean_dec(x_1);
return x_3;
}
@@ -8435,6 +7639,7 @@ lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__4(lean_obj
_start:
{
lean_object* x_16; uint8_t x_17; lean_object* x_18;
+lean_inc(x_1);
x_16 = l_Lean_ParserCompiler_preprocessParserBody___rarg(x_1, x_2);
x_17 = 0;
lean_inc(x_14);
@@ -8790,6 +7995,7 @@ lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__9(lean_obj
_start:
{
lean_object* x_16; uint8_t x_17; lean_object* x_18;
+lean_inc(x_1);
x_16 = l_Lean_ParserCompiler_preprocessParserBody___rarg(x_1, x_2);
x_17 = 0;
lean_inc(x_14);
@@ -9145,6 +8351,7 @@ lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__14(lean_ob
_start:
{
lean_object* x_16; uint8_t x_17; lean_object* x_18;
+lean_inc(x_1);
x_16 = l_Lean_ParserCompiler_preprocessParserBody___rarg(x_1, x_2);
x_17 = 0;
lean_inc(x_14);
@@ -9500,6 +8707,7 @@ lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__19(lean_ob
_start:
{
lean_object* x_16; uint8_t x_17; lean_object* x_18;
+lean_inc(x_1);
x_16 = l_Lean_ParserCompiler_preprocessParserBody___rarg(x_1, x_2);
x_17 = 0;
lean_inc(x_14);
@@ -9855,6 +9063,7 @@ lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__24(lean_ob
_start:
{
lean_object* x_16; uint8_t x_17; lean_object* x_18;
+lean_inc(x_1);
x_16 = l_Lean_ParserCompiler_preprocessParserBody___rarg(x_1, x_2);
x_17 = 0;
lean_inc(x_14);
@@ -10263,6 +9472,7 @@ lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__30(lean_ob
_start:
{
lean_object* x_16; uint8_t x_17; lean_object* x_18;
+lean_inc(x_1);
x_16 = l_Lean_ParserCompiler_preprocessParserBody___rarg(x_1, x_2);
x_17 = 0;
lean_inc(x_14);
@@ -10618,6 +9828,7 @@ lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__35(lean_ob
_start:
{
lean_object* x_16; uint8_t x_17; lean_object* x_18;
+lean_inc(x_1);
x_16 = l_Lean_ParserCompiler_preprocessParserBody___rarg(x_1, x_2);
x_17 = 0;
lean_inc(x_14);
@@ -10973,6 +10184,7 @@ lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__40(lean_ob
_start:
{
lean_object* x_16; uint8_t x_17; lean_object* x_18;
+lean_inc(x_1);
x_16 = l_Lean_ParserCompiler_preprocessParserBody___rarg(x_1, x_2);
x_17 = 0;
lean_inc(x_14);
@@ -11328,6 +10540,7 @@ lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__45(lean_ob
_start:
{
lean_object* x_16; uint8_t x_17; lean_object* x_18;
+lean_inc(x_1);
x_16 = l_Lean_ParserCompiler_preprocessParserBody___rarg(x_1, x_2);
x_17 = 0;
lean_inc(x_14);
@@ -11683,6 +10896,7 @@ lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__50(lean_ob
_start:
{
lean_object* x_16; uint8_t x_17; lean_object* x_18;
+lean_inc(x_1);
x_16 = l_Lean_ParserCompiler_preprocessParserBody___rarg(x_1, x_2);
x_17 = 0;
lean_inc(x_14);
@@ -12038,6 +11252,7 @@ lean_object* l_Lean_ParserCompiler_compileParserBody___rarg___lambda__55(lean_ob
_start:
{
lean_object* x_16; uint8_t x_17; lean_object* x_18;
+lean_inc(x_1);
x_16 = l_Lean_ParserCompiler_preprocessParserBody___rarg(x_1, x_2);
x_17 = 0;
lean_inc(x_14);
@@ -12483,7 +11698,7 @@ x_83 = l_Lean_Expr_isConstOf(x_28, x_82);
if (x_83 == 0)
{
lean_object* x_84; uint8_t x_85;
-x_84 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1;
+x_84 = l_Lean_ParserCompiler_preprocessParserBody___rarg___lambda__1___closed__1;
x_85 = l_Lean_Expr_isConstOf(x_28, x_84);
lean_dec(x_28);
x_30 = x_85;
@@ -12964,7 +12179,7 @@ x_189 = l_Lean_Expr_isConstOf(x_134, x_188);
if (x_189 == 0)
{
lean_object* x_190; uint8_t x_191;
-x_190 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1;
+x_190 = l_Lean_ParserCompiler_preprocessParserBody___rarg___lambda__1___closed__1;
x_191 = l_Lean_Expr_isConstOf(x_134, x_190);
lean_dec(x_134);
x_136 = x_191;
@@ -13417,7 +12632,7 @@ x_291 = l_Lean_Expr_isConstOf(x_236, x_290);
if (x_291 == 0)
{
lean_object* x_292; uint8_t x_293;
-x_292 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1;
+x_292 = l_Lean_ParserCompiler_preprocessParserBody___rarg___lambda__1___closed__1;
x_293 = l_Lean_Expr_isConstOf(x_236, x_292);
lean_dec(x_236);
x_238 = x_293;
@@ -13870,7 +13085,7 @@ x_393 = l_Lean_Expr_isConstOf(x_338, x_392);
if (x_393 == 0)
{
lean_object* x_394; uint8_t x_395;
-x_394 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1;
+x_394 = l_Lean_ParserCompiler_preprocessParserBody___rarg___lambda__1___closed__1;
x_395 = l_Lean_Expr_isConstOf(x_338, x_394);
lean_dec(x_338);
x_340 = x_395;
@@ -14323,7 +13538,7 @@ x_495 = l_Lean_Expr_isConstOf(x_440, x_494);
if (x_495 == 0)
{
lean_object* x_496; uint8_t x_497;
-x_496 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1;
+x_496 = l_Lean_ParserCompiler_preprocessParserBody___rarg___lambda__1___closed__1;
x_497 = l_Lean_Expr_isConstOf(x_440, x_496);
lean_dec(x_440);
x_442 = x_497;
@@ -14787,7 +14002,7 @@ x_600 = l_Lean_Expr_isConstOf(x_545, x_599);
if (x_600 == 0)
{
lean_object* x_601; uint8_t x_602;
-x_601 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1;
+x_601 = l_Lean_ParserCompiler_preprocessParserBody___rarg___lambda__1___closed__1;
x_602 = l_Lean_Expr_isConstOf(x_545, x_601);
lean_dec(x_545);
x_547 = x_602;
@@ -15240,7 +14455,7 @@ x_702 = l_Lean_Expr_isConstOf(x_647, x_701);
if (x_702 == 0)
{
lean_object* x_703; uint8_t x_704;
-x_703 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1;
+x_703 = l_Lean_ParserCompiler_preprocessParserBody___rarg___lambda__1___closed__1;
x_704 = l_Lean_Expr_isConstOf(x_647, x_703);
lean_dec(x_647);
x_649 = x_704;
@@ -15693,7 +14908,7 @@ x_804 = l_Lean_Expr_isConstOf(x_749, x_803);
if (x_804 == 0)
{
lean_object* x_805; uint8_t x_806;
-x_805 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1;
+x_805 = l_Lean_ParserCompiler_preprocessParserBody___rarg___lambda__1___closed__1;
x_806 = l_Lean_Expr_isConstOf(x_749, x_805);
lean_dec(x_749);
x_751 = x_806;
@@ -16146,7 +15361,7 @@ x_906 = l_Lean_Expr_isConstOf(x_851, x_905);
if (x_906 == 0)
{
lean_object* x_907; uint8_t x_908;
-x_907 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1;
+x_907 = l_Lean_ParserCompiler_preprocessParserBody___rarg___lambda__1___closed__1;
x_908 = l_Lean_Expr_isConstOf(x_851, x_907);
lean_dec(x_851);
x_853 = x_908;
@@ -16599,7 +15814,7 @@ x_1008 = l_Lean_Expr_isConstOf(x_953, x_1007);
if (x_1008 == 0)
{
lean_object* x_1009; uint8_t x_1010;
-x_1009 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1;
+x_1009 = l_Lean_ParserCompiler_preprocessParserBody___rarg___lambda__1___closed__1;
x_1010 = l_Lean_Expr_isConstOf(x_953, x_1009);
lean_dec(x_953);
x_955 = x_1010;
@@ -17052,7 +16267,7 @@ x_1110 = l_Lean_Expr_isConstOf(x_1055, x_1109);
if (x_1110 == 0)
{
lean_object* x_1111; uint8_t x_1112;
-x_1111 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1;
+x_1111 = l_Lean_ParserCompiler_preprocessParserBody___rarg___lambda__1___closed__1;
x_1112 = l_Lean_Expr_isConstOf(x_1055, x_1111);
lean_dec(x_1055);
x_1057 = x_1112;
@@ -18746,7 +17961,7 @@ x_18 = l_Lean_Expr_isConstOf(x_16, x_17);
if (x_18 == 0)
{
lean_object* x_19; uint8_t x_20;
-x_19 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1;
+x_19 = l_Lean_ParserCompiler_preprocessParserBody___rarg___lambda__1___closed__1;
x_20 = l_Lean_Expr_isConstOf(x_16, x_19);
lean_dec(x_16);
if (x_20 == 0)
@@ -18978,7 +18193,7 @@ x_61 = l_Lean_Expr_isConstOf(x_59, x_60);
if (x_61 == 0)
{
lean_object* x_62; uint8_t x_63;
-x_62 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1;
+x_62 = l_Lean_ParserCompiler_preprocessParserBody___rarg___lambda__1___closed__1;
x_63 = l_Lean_Expr_isConstOf(x_59, x_62);
lean_dec(x_59);
if (x_63 == 0)
@@ -19442,8 +18657,8 @@ lean_dec_ref(res);
res = initialize_Lean_Parser_Extension(lean_io_mk_world());
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
-l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1 = _init_l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1();
-lean_mark_persistent(l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___at_Lean_ParserCompiler_preprocessParserBody___spec__1___rarg___closed__1);
+l_Lean_ParserCompiler_preprocessParserBody___rarg___lambda__1___closed__1 = _init_l_Lean_ParserCompiler_preprocessParserBody___rarg___lambda__1___closed__1();
+lean_mark_persistent(l_Lean_ParserCompiler_preprocessParserBody___rarg___lambda__1___closed__1);
l_Array_iterateM_u2082Aux___main___at_Lean_ParserCompiler_compileParserBody___spec__4___rarg___closed__1 = _init_l_Array_iterateM_u2082Aux___main___at_Lean_ParserCompiler_compileParserBody___spec__4___rarg___closed__1();
lean_mark_persistent(l_Array_iterateM_u2082Aux___main___at_Lean_ParserCompiler_compileParserBody___spec__4___rarg___closed__1);
l_Lean_ParserCompiler_compileParserBody___rarg___closed__1 = _init_l_Lean_ParserCompiler_compileParserBody___rarg___closed__1();
diff --git a/stage0/stdlib/Lean/PrettyPrinter.c b/stage0/stdlib/Lean/PrettyPrinter.c
index 749288a009..632c6ae5f9 100644
--- a/stage0/stdlib/Lean/PrettyPrinter.c
+++ b/stage0/stdlib/Lean/PrettyPrinter.c
@@ -71,13 +71,13 @@ lean_object* l___private_Lean_PrettyPrinter_0__Lean_PrettyPrinter_withoutContext
lean_object* l___private_Lean_PrettyPrinter_0__Lean_PrettyPrinter_withoutContext(lean_object*);
lean_object* l_Lean_PrettyPrinter_initFn____x40_Lean_PrettyPrinter___hyg_246____closed__3;
lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*);
-extern lean_object* l_Lean_TraceState_Inhabited___closed__1;
extern lean_object* l_Lean_Meta_Context_config___default___closed__1;
lean_object* l___private_Lean_PrettyPrinter_0__Lean_PrettyPrinter_noContext_match__1___rarg(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Unhygienic_run___rarg___closed__1;
lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withLocalContextImp___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_PPContext_runMetaM(lean_object*);
extern lean_object* l_Lean_PrettyPrinter_Formatter_checkKind___closed__1;
+extern lean_object* l_Lean_TraceState_Lean_Util_Trace___instance__2___closed__1;
lean_object* l_Lean_LocalContext_sanitizeNames(lean_object*, lean_object*);
extern lean_object* l_Lean_NameGenerator_Inhabited___closed__3;
lean_object* l_Lean_PPContext_runCoreM___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
@@ -97,7 +97,7 @@ lean_ctor_set(x_9, 2, x_7);
lean_ctor_set(x_9, 3, x_8);
x_10 = l_Lean_Unhygienic_run___rarg___closed__1;
x_11 = l_Lean_NameGenerator_Inhabited___closed__3;
-x_12 = l_Lean_TraceState_Inhabited___closed__1;
+x_12 = l_Lean_TraceState_Lean_Util_Trace___instance__2___closed__1;
lean_inc(x_4);
x_13 = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(x_13, 0, x_4);
@@ -517,7 +517,7 @@ lean_ctor_set(x_17, 2, x_15);
lean_ctor_set(x_17, 3, x_16);
x_18 = l_Lean_Unhygienic_run___rarg___closed__1;
x_19 = l_Lean_NameGenerator_Inhabited___closed__3;
-x_20 = l_Lean_TraceState_Inhabited___closed__1;
+x_20 = l_Lean_TraceState_Lean_Util_Trace___instance__2___closed__1;
x_21 = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(x_21, 0, x_1);
lean_ctor_set(x_21, 1, x_18);
diff --git a/stage0/stdlib/Lean/PrettyPrinter/Formatter.c b/stage0/stdlib/Lean/PrettyPrinter/Formatter.c
index bd74dee3b4..73083bfa69 100644
--- a/stage0/stdlib/Lean/PrettyPrinter/Formatter.c
+++ b/stage0/stdlib/Lean/PrettyPrinter/Formatter.c
@@ -27,7 +27,6 @@ lean_object* l_Lean_PrettyPrinter_Formatter_getStackSize___rarg(lean_object*, le
lean_object* l_Lean_PrettyPrinter_Formatter_concat(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_PrettyPrinter_Formatter_numLitNoAntiquot_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Syntax_MonadTraverser_getCur___at_Lean_PrettyPrinter_Formatter_visitArgs___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_PrettyPrinter_Formatter_checkKind___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_PrettyPrinter_Formatter_eoi_formatter___rarg(lean_object*);
lean_object* l_Lean_PrettyPrinter_Formatter_FormatterM_monadTraverser___closed__4;
uint8_t l_List_foldr___main___at_Lean_PrettyPrinter_Formatter_identNoAntiquot_formatter___spec__1(uint8_t, lean_object*);
@@ -42,6 +41,7 @@ lean_object* l_Lean_Syntax_MonadTraverser_goUp___at_Lean_PrettyPrinter_Formatter
lean_object* l_Lean_throwError___at_Lean_PrettyPrinter_format___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_PrettyPrinter_Formatter_pushLine___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_PrettyPrinter_Formatter_many_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_PrettyPrinter_Formatter_checkKind___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_PrettyPrinter_mkFormatterAttribute___closed__8;
lean_object* l_Lean_Format_pretty(lean_object*, lean_object*);
lean_object* l_Lean_PrettyPrinter_Formatter_checkNoImmediateColon_formatter___rarg(lean_object*);
@@ -277,6 +277,7 @@ lean_object* l_Lean_PrettyPrinter_Formatter_parseToken___boxed(lean_object*, lea
extern lean_object* l_Lean_identKind;
lean_object* l_Lean_PrettyPrinter_Formatter_parseToken___closed__1;
lean_object* l_Lean_PrettyPrinter_mkFormatterAttribute___closed__11;
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_PrettyPrinter_Formatter_checkKind___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_UInt32_decEq(uint32_t, uint32_t);
lean_object* l_List_foldl___main___at_Lean_moduleNameOfFileName___spec__1(lean_object*, lean_object*);
extern lean_object* l_Lean_Syntax_inhabited;
@@ -294,7 +295,6 @@ lean_object* l_Lean_PrettyPrinter_Formatter_symbol_formatter___lambda__1___close
lean_object* l_Lean_addMessageContextPartial___at_Lean_Core_Lean_AddMessageContext___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Syntax_MonadTraverser_goUp___at_Lean_PrettyPrinter_Formatter_visitArgs___spec__4___boxed(lean_object*);
lean_object* l_Lean_PrettyPrinter_Formatter_checkKind___lambda__1___closed__3;
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_PrettyPrinter_Formatter_checkKind___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Format_getWidth___closed__1;
lean_object* l_Lean_PrettyPrinter_Formatter_checkNoWsBefore_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_String_isPrefixOf(lean_object*, lean_object*);
@@ -3263,7 +3263,7 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
x_1 = l_Lean_PrettyPrinter_Formatter_categoryParser_formatter___lambda__1___closed__1;
-x_2 = lean_unsigned_to_nat(182u);
+x_2 = lean_unsigned_to_nat(183u);
x_3 = lean_unsigned_to_nat(6u);
x_4 = l_Lean_PrettyPrinter_Formatter_categoryParser_formatter___lambda__1___closed__2;
x_5 = l___private_Init_Util_1__mkPanicMessage(x_1, x_2, x_3, x_4);
@@ -3842,7 +3842,7 @@ return x_14;
}
}
}
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_PrettyPrinter_Formatter_checkKind___spec__2(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* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_PrettyPrinter_Formatter_checkKind___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
lean_object* x_7; uint8_t x_8; lean_object* x_9; lean_object* x_10;
@@ -4069,7 +4069,7 @@ x_18 = lean_ctor_get(x_8, 1);
lean_inc(x_18);
lean_dec(x_8);
lean_inc(x_1);
-x_19 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_PrettyPrinter_Formatter_checkKind___spec__2(x_1, x_3, x_4, x_5, x_6, x_18);
+x_19 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_PrettyPrinter_Formatter_checkKind___spec__2(x_1, x_3, x_4, x_5, x_6, x_18);
x_20 = lean_ctor_get(x_19, 0);
lean_inc(x_20);
x_21 = lean_unbox(x_20);
@@ -4319,11 +4319,11 @@ return x_29;
}
}
}
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_PrettyPrinter_Formatter_checkKind___spec__2___boxed(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* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_PrettyPrinter_Formatter_checkKind___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
lean_object* x_7;
-x_7 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_PrettyPrinter_Formatter_checkKind___spec__2(x_1, x_2, x_3, x_4, x_5, x_6);
+x_7 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_PrettyPrinter_Formatter_checkKind___spec__2(x_1, x_2, x_3, x_4, x_5, x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
diff --git a/stage0/stdlib/Lean/PrettyPrinter/Parenthesizer.c b/stage0/stdlib/Lean/PrettyPrinter/Parenthesizer.c
index 692a0cba4d..66fa93d9c1 100644
--- a/stage0/stdlib/Lean/PrettyPrinter/Parenthesizer.c
+++ b/stage0/stdlib/Lean/PrettyPrinter/Parenthesizer.c
@@ -19,7 +19,6 @@ lean_object* l_Lean_fmt___at_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize_
lean_object* l_Lean_PrettyPrinter_Parenthesizer_visitToken___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_PrettyPrinter_Parenthesizer_ite(lean_object*, lean_object*);
lean_object* l_Lean_PrettyPrinter_Parenthesizer_numLitNoAntiquot_parenthesizer(lean_object*);
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___lambda__2___closed__8;
lean_object* l___regBuiltin_Lean_PrettyPrinter_Parenthesizer_term_parenthesizer___closed__1;
extern lean_object* l_Option_HasRepr___rarg___closed__2;
@@ -156,6 +155,7 @@ lean_object* l_Lean_PrettyPrinter_Parenthesizer_parenthesizerForKind___closed__2
lean_object* l_Lean_PrettyPrinter_parenthesize___closed__3;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkWsBefore_parenthesizer___rarg(lean_object*);
lean_object* l_Lean_PrettyPrinter_Parenthesizer_strLitNoAntiquot_parenthesizer___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, 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_Nat_forMAux___main___at_Lean_PrettyPrinter_Parenthesizer_parenthesizeCategoryCore___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -187,6 +187,7 @@ lean_object* lean_nat_sub(lean_object*, lean_object*);
lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___lambda__3___boxed(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* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_choiceKind___closed__2;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___lambda__1___closed__1;
lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___lambda__1___closed__3;
@@ -345,7 +346,6 @@ lean_object* l_Lean_PrettyPrinter_Parenthesizer_ParenthesizerM_monadTraverser___
lean_object* l_Lean_Syntax_getArgs(lean_object*);
lean_object* l_Lean_fmt___at_Lean_Level_LevelToFormat_Result_format___spec__1(lean_object*);
lean_object* l_Lean_PrettyPrinter_Parenthesizer_ite___rarg(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_PrettyPrinter_mkParenthesizerAttribute___closed__4;
extern lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3127____closed__4;
lean_object* l_Lean_Syntax_getKind(lean_object*);
@@ -2897,7 +2897,7 @@ x_2 = lean_alloc_closure((void*)(l_Lean_Syntax_MonadTraverser_getIdx___at_Lean_P
return x_2;
}
}
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___spec__3(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* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
lean_object* x_7; uint8_t x_8; lean_object* x_9; lean_object* x_10;
@@ -3124,7 +3124,7 @@ x_18 = lean_ctor_get(x_8, 1);
lean_inc(x_18);
lean_dec(x_8);
lean_inc(x_1);
-x_19 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___spec__3(x_1, x_3, x_4, x_5, x_6, x_18);
+x_19 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___spec__3(x_1, x_3, x_4, x_5, x_6, x_18);
x_20 = lean_ctor_get(x_19, 0);
lean_inc(x_20);
x_21 = lean_unbox(x_20);
@@ -3826,7 +3826,7 @@ _start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
x_1 = l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___closed__8;
-x_2 = lean_unsigned_to_nat(211u);
+x_2 = lean_unsigned_to_nat(213u);
x_3 = lean_unsigned_to_nat(4u);
x_4 = l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___closed__9;
x_5 = l___private_Init_Util_1__mkPanicMessage(x_1, x_2, x_3, x_4);
@@ -5735,11 +5735,11 @@ lean_dec(x_1);
return x_2;
}
}
-lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___spec__3___boxed(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* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
lean_object* x_7;
-x_7 = l___private_Lean_Util_Trace_3__checkTraceOptionM___at_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___spec__3(x_1, x_2, x_3, x_4, x_5, x_6);
+x_7 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___spec__3(x_1, x_2, x_3, x_4, x_5, x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
diff --git a/stage0/stdlib/Lean/Server.c b/stage0/stdlib/Lean/Server.c
index bd1473b4f4..863072db84 100644
--- a/stage0/stdlib/Lean/Server.c
+++ b/stage0/stdlib/Lean/Server.c
@@ -38,6 +38,7 @@ lean_object* l_Lean_Lsp_writeLspMessage(lean_object*, lean_object*, lean_object*
lean_object* l_Lean_Server_EditableDocument_updateDocument___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Server_Snapshots_compileCmdsAfter___main(lean_object*, lean_object*, lean_object*);
lean_object* lean_st_ref_get(lean_object*, lean_object*);
+lean_object* l_IO_FS_Handle_mk___at_Lean_Server_Test_runWithInputFile___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_List_append___rarg(lean_object*, lean_object*);
lean_object* l_Array_forMAux___main___at_Lean_Server_handleDidChange___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_forMAux___main___at_Lean_Server_handleDidChange___spec__1___closed__1;
@@ -59,7 +60,6 @@ extern lean_object* l_Lean_Lsp_VersionedTextDocumentIdentifier_hasFromJson___clo
lean_object* l_Lean_Server_parseParams___rarg___closed__1;
lean_object* l_Lean_Server_handleHover___rarg(lean_object*);
lean_object* l_Lean_Server_handleNotification___closed__1;
-lean_object* l_IO_FS_Handle_mk___at_Lean_Parser_parseFile___spec__2(lean_object*, uint8_t, uint8_t, lean_object*);
lean_object* lean_string_utf8_byte_size(lean_object*);
lean_object* l_Lean_Server_handleDidChange___closed__2;
lean_object* l_Lean_Server_sendDiagnostics(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@@ -111,6 +111,7 @@ lean_object* l_Lean_Server_writeLspResponse___rarg(lean_object*, lean_object*, l
lean_object* l_Lean_Server_writeLspNotification(lean_object*);
extern lean_object* l_IO_FS_Stream_readRequestAs___closed__7;
extern lean_object* l_IO_FS_Stream_readRequestAs___closed__3;
+lean_object* l_IO_FS_Stream_putStrLn___at_Lean_Server_Test_runWithInputFile___spec__2(lean_object*, lean_object*, lean_object*);
lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_PersistentArray_mapMAux___at_Lean_Server_sendDiagnostics___spec__2(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_RBNode_appendTrees___rarg(lean_object*, lean_object*);
@@ -119,6 +120,7 @@ lean_object* l_Lean_Json_getObjValAs_x3f___at_Lean_Lsp_TextDocumentPositionParam
lean_object* l_Std_RBNode_balRight___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Std_RBNode_isBlack___rarg(lean_object*);
lean_object* l_Lean_Server_handleDidChange___closed__4;
+lean_object* l_IO_Prim_fopenFlags(uint8_t, uint8_t);
lean_object* l_Lean_Server_Snapshots_compileHeader(lean_object*, lean_object*, lean_object*);
lean_object* l_List_filterAux___main___at_Lean_Server_EditableDocument_updateDocument___spec__1(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Char_HasRepr___closed__1;
@@ -161,6 +163,7 @@ lean_object* l_Lean_Server_parseParams___at_Lean_Server_handleNotification___spe
lean_object* l_Lean_Server_writeLspResponse___at_Lean_Server_initAndRunServer___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Json_getObjValAs_x3f___at_Lean_Lsp_InitializeParams_hasFromJson___spec__3(lean_object*, lean_object*);
lean_object* l_Lean_Server_initAndRunServer___closed__3;
+lean_object* l_IO_FS_Handle_mk___at_Lean_Server_Test_runWithInputFile___spec__1(lean_object*, uint8_t, uint8_t, lean_object*);
lean_object* l_Lean_Lsp_readLspRequestAs___at_Lean_Server_initAndRunServer___spec__3___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Lsp_msgToDiagnostic(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Json_opt___at_Lean_Lsp_InitializeResult_hasToJson___spec__1(lean_object*, lean_object*);
@@ -202,7 +205,6 @@ lean_object* l_Lean_Server_handleHover(lean_object*, lean_object*);
lean_object* l_Lean_Server_updateOpenDocuments(lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Lsp_InitializeParams_hasFromJson___closed__4;
extern lean_object* l_IO_FS_Stream_readRequestAs___closed__4;
-lean_object* l_IO_FS_Stream_putStrLn___at_Lean_Server_Test_runWithInputFile___spec__1(lean_object*, lean_object*, lean_object*);
lean_object* l_List_head_x3f___rarg(lean_object*);
lean_object* l_Lean_Server_handleRequest___closed__3;
lean_object* l_Lean_Server_mainLoop(lean_object*);
@@ -222,6 +224,7 @@ lean_object* l_Lean_Json_getObjVal_x3f(lean_object*, lean_object*);
lean_object* l_Lean_Server_writeLspNotification___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Server_writeLspResponse(lean_object*);
lean_object* l_Std_RBNode_find___at_Lean_Server_findOpenDocument___spec__1___boxed(lean_object*, lean_object*);
+lean_object* lean_io_prim_handle_mk(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Lsp_InitializeParams_hasFromJson___closed__6;
lean_object* lean_nat_to_int(lean_object*);
extern lean_object* l_Lean_Lsp_DidChangeTextDocumentParams_hasFromJson___closed__1;
@@ -7709,7 +7712,17 @@ lean_dec(x_1);
return x_4;
}
}
-lean_object* l_IO_FS_Stream_putStrLn___at_Lean_Server_Test_runWithInputFile___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l_IO_FS_Handle_mk___at_Lean_Server_Test_runWithInputFile___spec__1(lean_object* x_1, uint8_t x_2, uint8_t x_3, lean_object* x_4) {
+_start:
+{
+lean_object* x_5; lean_object* x_6;
+x_5 = l_IO_Prim_fopenFlags(x_2, x_3);
+x_6 = lean_io_prim_handle_mk(x_1, x_5, x_4);
+lean_dec(x_5);
+return x_6;
+}
+}
+lean_object* l_IO_FS_Stream_putStrLn___at_Lean_Server_Test_runWithInputFile___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4; uint32_t x_5; lean_object* x_6; lean_object* x_7;
@@ -7746,7 +7759,7 @@ lean_inc(x_9);
lean_dec(x_7);
x_10 = 0;
x_11 = 1;
-x_12 = l_IO_FS_Handle_mk___at_Lean_Parser_parseFile___spec__2(x_1, x_10, x_11, x_9);
+x_12 = l_IO_FS_Handle_mk___at_Lean_Server_Test_runWithInputFile___spec__1(x_1, x_10, x_11, x_9);
if (lean_obj_tag(x_12) == 0)
{
lean_object* x_13; lean_object* x_14; lean_object* x_15;
@@ -7778,7 +7791,7 @@ x_20 = lean_ctor_get(x_18, 1);
lean_inc(x_20);
lean_dec(x_18);
x_21 = lean_io_error_to_string(x_19);
-x_22 = l_IO_FS_Stream_putStrLn___at_Lean_Server_Test_runWithInputFile___spec__1(x_8, x_21, x_20);
+x_22 = l_IO_FS_Stream_putStrLn___at_Lean_Server_Test_runWithInputFile___spec__2(x_8, x_21, x_20);
return x_22;
}
}
@@ -7884,6 +7897,19 @@ return x_38;
}
}
}
+lean_object* l_IO_FS_Handle_mk___at_Lean_Server_Test_runWithInputFile___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
+_start:
+{
+uint8_t x_5; uint8_t x_6; lean_object* x_7;
+x_5 = lean_unbox(x_2);
+lean_dec(x_2);
+x_6 = lean_unbox(x_3);
+lean_dec(x_3);
+x_7 = l_IO_FS_Handle_mk___at_Lean_Server_Test_runWithInputFile___spec__1(x_1, x_5, x_6, x_4);
+lean_dec(x_1);
+return x_7;
+}
+}
lean_object* l_Lean_Server_Test_runWithInputFile___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
diff --git a/stage0/stdlib/Lean/Server/ServerBin.c b/stage0/stdlib/Lean/Server/ServerBin.c
index f8f8f9f9eb..24b695bd37 100644
--- a/stage0/stdlib/Lean/Server/ServerBin.c
+++ b/stage0/stdlib/Lean/Server/ServerBin.c
@@ -18,10 +18,10 @@ lean_object* lean_io_error_to_string(lean_object*);
lean_object* _lean_main(lean_object*, lean_object*);
lean_object* lean_get_stderr(lean_object*);
lean_object* l_main___boxed__const__1;
+lean_object* l_IO_FS_Stream_putStrLn___at_Lean_Server_Test_runWithInputFile___spec__2(lean_object*, lean_object*, lean_object*);
lean_object* l_IO_getStdin___at_main___spec__1(lean_object*);
lean_object* lean_init_search_path(lean_object*, lean_object*);
lean_object* lean_get_stdout(lean_object*);
-lean_object* l_IO_FS_Stream_putStrLn___at_Lean_Server_Test_runWithInputFile___spec__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Server_initAndRunServer(lean_object*, lean_object*, lean_object*);
lean_object* l_IO_getStdin___at_main___spec__1(lean_object* x_1) {
_start:
@@ -117,7 +117,7 @@ x_23 = lean_ctor_get(x_15, 1);
lean_inc(x_23);
lean_dec(x_15);
x_24 = lean_io_error_to_string(x_22);
-x_25 = l_IO_FS_Stream_putStrLn___at_Lean_Server_Test_runWithInputFile___spec__1(x_10, x_24, x_23);
+x_25 = l_IO_FS_Stream_putStrLn___at_Lean_Server_Test_runWithInputFile___spec__2(x_10, x_24, x_23);
if (lean_obj_tag(x_25) == 0)
{
uint8_t x_26;
diff --git a/stage0/stdlib/Lean/Server/Snapshots.c b/stage0/stdlib/Lean/Server/Snapshots.c
index 988ab9b71b..a48af23cba 100644
--- a/stage0/stdlib/Lean/Server/Snapshots.c
+++ b/stage0/stdlib/Lean/Server/Snapshots.c
@@ -27,7 +27,6 @@ extern lean_object* l_Lean_Elab_parseImports___closed__1;
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
lean_object* l_Lean_Server_Snapshots_Snapshot_env___boxed(lean_object*);
lean_object* l_Lean_Elab_Command_mkState(lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Parser_parseCommand___main(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Server_Snapshots_compileHeader(lean_object*, lean_object*, lean_object*);
lean_object* lean_st_mk_ref(lean_object*, lean_object*);
lean_object* l_Lean_Elab_logException___at_Lean_Elab_Command_withLogging___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
@@ -40,6 +39,7 @@ extern lean_object* l_Lean_SourceInfo_inhabited;
lean_object* l_Lean_InternalExceptionId_getName(lean_object*, lean_object*);
lean_object* l___private_Lean_Server_Snapshots_1__ioErrorFromEmpty___boxed(lean_object*);
lean_object* l_Lean_Syntax_getHeadInfo___main(lean_object*);
+lean_object* l_Lean_Parser_parseCommand_parse(lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Parser_isExitCommand(lean_object*);
lean_object* lean_panic_fn(lean_object*, lean_object*);
extern lean_object* l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1;
@@ -350,7 +350,7 @@ x_6 = l_Lean_Server_Snapshots_Snapshot_env(x_2);
x_7 = lean_ctor_get(x_2, 1);
lean_inc(x_7);
x_8 = l_Lean_Server_Snapshots_Snapshot_msgLog(x_2);
-x_9 = l_Lean_Parser_parseCommand___main(x_6, x_5, x_7, x_8);
+x_9 = l_Lean_Parser_parseCommand_parse(x_6, x_5, x_7, x_8);
x_10 = lean_ctor_get(x_9, 1);
lean_inc(x_10);
x_11 = lean_ctor_get(x_9, 0);
diff --git a/stage0/stdlib/Lean/Util/FoldConsts.c b/stage0/stdlib/Lean/Util/FoldConsts.c
index d1e137273d..1dca8b135b 100644
--- a/stage0/stdlib/Lean/Util/FoldConsts.c
+++ b/stage0/stdlib/Lean/Util/FoldConsts.c
@@ -13,26 +13,33 @@
#ifdef __cplusplus
extern "C" {
#endif
-lean_object* l_Lean_Expr_FoldConstsImpl_fold___main___at_Lean_getMaxHeight___spec__1(lean_object*, size_t, lean_object*, uint32_t, lean_object*);
+lean_object* l_Lean_Expr_getUsedConstants___lambda__1(lean_object*, lean_object*);
uint8_t l_USize_decEq(size_t, size_t);
lean_object* lean_array_uget(lean_object*, size_t);
uint8_t l_Std_HashSetImp_contains___at_Lean_NameHashSet_contains___spec__1(lean_object*, lean_object*);
-lean_object* l_Lean_Expr_FoldConstsImpl_fold___main___rarg(lean_object*, size_t, lean_object*, lean_object*, lean_object*);
lean_object* lean_array_uset(lean_object*, size_t, lean_object*);
size_t l_Lean_Expr_FoldConstsImpl_cacheSize;
extern lean_object* l_Array_empty___closed__1;
lean_object* lean_environment_find(lean_object*, lean_object*);
lean_object* l_Lean_Expr_foldConsts(lean_object*, lean_object*);
-lean_object* l_Lean_Expr_FoldConstsImpl_fold___main(lean_object*);
lean_object* l_Lean_Expr_FoldConstsImpl_fold___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Expr_FoldConstsImpl_fold_visit_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_array_push(lean_object*, lean_object*);
-lean_object* l_Lean_Expr_FoldConstsImpl_fold___main___at_Lean_Expr_getUsedConstants___spec__1(size_t, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Expr_FoldConstsImpl_fold___main___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_Expr_FoldConstsImpl_fold___main___at_Lean_Expr_getUsedConstants___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_getMaxHeight_match__1(lean_object*);
+lean_object* l_Lean_Expr_FoldConstsImpl_fold_visit(lean_object*);
+lean_object* l_Lean_Expr_FoldConstsImpl_fold_visit_match__1(lean_object*);
+lean_object* l_Lean_Expr_getUsedConstants___closed__1;
+lean_object* l_Lean_getMaxHeight___lambda__1___boxed(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_getMaxHeight_match__2___rarg(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_Expr_FoldConstsImpl_fold_visit___rarg(lean_object*, size_t, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_getMaxHeight___boxed__const__1;
lean_object* l_Lean_Expr_FoldConstsImpl_fold___rarg(lean_object*, size_t, lean_object*, lean_object*, lean_object*);
+uint32_t l_Lean_getMaxHeight___lambda__1(lean_object*, lean_object*, uint32_t);
extern lean_object* l_Lean_Expr_FindImpl_initCache___closed__1;
uint8_t l_UInt32_decLt(uint32_t, uint32_t);
lean_object* l_Lean_Expr_FoldConstsImpl_initCache___closed__1;
+lean_object* l_Lean_Expr_FoldConstsImpl_fold_visit___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_getMaxHeight_match__1___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_foldConsts___rarg___boxed(lean_object*, lean_object*);
lean_object* l_Lean_getMaxHeight(lean_object*, lean_object*);
lean_object* l_Std_HashSetImp_insert___at_Lean_NameHashSet_insert___spec__1(lean_object*, lean_object*);
@@ -41,9 +48,9 @@ size_t l_USize_mod(size_t, size_t);
size_t lean_ptr_addr(lean_object*);
extern lean_object* l_Std_HashSet_Std_Data_HashSet___instance__1___closed__1;
lean_object* l_Lean_Expr_FoldConstsImpl_fold(lean_object*);
+lean_object* l_Lean_getMaxHeight_match__2(lean_object*);
lean_object* l_Lean_Expr_FoldConstsImpl_visited(lean_object*, size_t, lean_object*);
lean_object* l_Lean_Expr_FoldConstsImpl_initCache;
-lean_object* l_Lean_Expr_FoldConstsImpl_fold___main___at_Lean_getMaxHeight___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_FoldConstsImpl_foldUnsafe(lean_object*);
lean_object* l_Lean_Expr_FoldConstsImpl_visited___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_getUsedConstants(lean_object*);
@@ -132,7 +139,185 @@ x_5 = l_Lean_Expr_FoldConstsImpl_visited(x_1, x_4, x_3);
return x_5;
}
}
-lean_object* l_Lean_Expr_FoldConstsImpl_fold___main___rarg(lean_object* x_1, size_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
+lean_object* l_Lean_Expr_FoldConstsImpl_fold_visit_match__1___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, lean_object* x_9) {
+_start:
+{
+switch (lean_obj_tag(x_1)) {
+case 4:
+{
+lean_object* x_10; lean_object* x_11; uint64_t x_12; lean_object* x_13; lean_object* x_14;
+lean_dec(x_9);
+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_10 = lean_ctor_get(x_1, 0);
+lean_inc(x_10);
+x_11 = lean_ctor_get(x_1, 1);
+lean_inc(x_11);
+x_12 = lean_ctor_get_uint64(x_1, sizeof(void*)*2);
+lean_dec(x_1);
+x_13 = lean_box_uint64(x_12);
+x_14 = lean_apply_3(x_8, x_10, x_11, x_13);
+return x_14;
+}
+case 5:
+{
+lean_object* x_15; lean_object* x_16; uint64_t x_17; lean_object* x_18; lean_object* x_19;
+lean_dec(x_9);
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+x_15 = lean_ctor_get(x_1, 0);
+lean_inc(x_15);
+x_16 = lean_ctor_get(x_1, 1);
+lean_inc(x_16);
+x_17 = lean_ctor_get_uint64(x_1, sizeof(void*)*2);
+lean_dec(x_1);
+x_18 = lean_box_uint64(x_17);
+x_19 = lean_apply_3(x_6, x_15, x_16, x_18);
+return x_19;
+}
+case 6:
+{
+lean_object* x_20; lean_object* x_21; lean_object* x_22; uint64_t x_23; lean_object* x_24; lean_object* x_25;
+lean_dec(x_9);
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_2);
+x_20 = lean_ctor_get(x_1, 0);
+lean_inc(x_20);
+x_21 = lean_ctor_get(x_1, 1);
+lean_inc(x_21);
+x_22 = lean_ctor_get(x_1, 2);
+lean_inc(x_22);
+x_23 = lean_ctor_get_uint64(x_1, sizeof(void*)*3);
+lean_dec(x_1);
+x_24 = lean_box_uint64(x_23);
+x_25 = lean_apply_4(x_3, x_20, x_21, x_22, x_24);
+return x_25;
+}
+case 7:
+{
+lean_object* x_26; lean_object* x_27; lean_object* x_28; uint64_t x_29; lean_object* x_30; lean_object* x_31;
+lean_dec(x_9);
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_26 = lean_ctor_get(x_1, 0);
+lean_inc(x_26);
+x_27 = lean_ctor_get(x_1, 1);
+lean_inc(x_27);
+x_28 = lean_ctor_get(x_1, 2);
+lean_inc(x_28);
+x_29 = lean_ctor_get_uint64(x_1, sizeof(void*)*3);
+lean_dec(x_1);
+x_30 = lean_box_uint64(x_29);
+x_31 = lean_apply_4(x_2, x_26, x_27, x_28, x_30);
+return x_31;
+}
+case 8:
+{
+lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; uint64_t x_36; lean_object* x_37; lean_object* x_38;
+lean_dec(x_9);
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+x_32 = lean_ctor_get(x_1, 0);
+lean_inc(x_32);
+x_33 = lean_ctor_get(x_1, 1);
+lean_inc(x_33);
+x_34 = lean_ctor_get(x_1, 2);
+lean_inc(x_34);
+x_35 = lean_ctor_get(x_1, 3);
+lean_inc(x_35);
+x_36 = lean_ctor_get_uint64(x_1, sizeof(void*)*4);
+lean_dec(x_1);
+x_37 = lean_box_uint64(x_36);
+x_38 = lean_apply_5(x_5, x_32, x_33, x_34, x_35, x_37);
+return x_38;
+}
+case 10:
+{
+lean_object* x_39; lean_object* x_40; uint64_t x_41; lean_object* x_42; lean_object* x_43;
+lean_dec(x_9);
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_3);
+lean_dec(x_2);
+x_39 = lean_ctor_get(x_1, 0);
+lean_inc(x_39);
+x_40 = lean_ctor_get(x_1, 1);
+lean_inc(x_40);
+x_41 = lean_ctor_get_uint64(x_1, sizeof(void*)*2);
+lean_dec(x_1);
+x_42 = lean_box_uint64(x_41);
+x_43 = lean_apply_3(x_4, x_39, x_40, x_42);
+return x_43;
+}
+case 11:
+{
+lean_object* x_44; lean_object* x_45; lean_object* x_46; uint64_t x_47; lean_object* x_48; lean_object* x_49;
+lean_dec(x_9);
+lean_dec(x_8);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+x_44 = lean_ctor_get(x_1, 0);
+lean_inc(x_44);
+x_45 = lean_ctor_get(x_1, 1);
+lean_inc(x_45);
+x_46 = lean_ctor_get(x_1, 2);
+lean_inc(x_46);
+x_47 = lean_ctor_get_uint64(x_1, sizeof(void*)*3);
+lean_dec(x_1);
+x_48 = lean_box_uint64(x_47);
+x_49 = lean_apply_4(x_7, x_44, x_45, x_46, x_48);
+return x_49;
+}
+default:
+{
+lean_object* x_50;
+lean_dec(x_8);
+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_50 = lean_apply_1(x_9, x_1);
+return x_50;
+}
+}
+}
+}
+lean_object* l_Lean_Expr_FoldConstsImpl_fold_visit_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_Expr_FoldConstsImpl_fold_visit_match__1___rarg), 9, 0);
+return x_2;
+}
+}
+lean_object* l_Lean_Expr_FoldConstsImpl_fold_visit___rarg(lean_object* x_1, size_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
uint8_t x_6; lean_object* x_7; size_t x_58; size_t x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; size_t x_63; uint8_t x_64;
@@ -264,7 +449,7 @@ x_24 = lean_ctor_get(x_3, 1);
lean_inc(x_24);
lean_dec(x_3);
lean_inc(x_1);
-x_25 = l_Lean_Expr_FoldConstsImpl_fold___main___rarg(x_1, x_2, x_23, x_4, x_7);
+x_25 = l_Lean_Expr_FoldConstsImpl_fold_visit___rarg(x_1, x_2, x_23, x_4, x_7);
x_26 = lean_ctor_get(x_25, 0);
lean_inc(x_26);
x_27 = lean_ctor_get(x_25, 1);
@@ -284,7 +469,7 @@ x_30 = lean_ctor_get(x_3, 2);
lean_inc(x_30);
lean_dec(x_3);
lean_inc(x_1);
-x_31 = l_Lean_Expr_FoldConstsImpl_fold___main___rarg(x_1, x_2, x_29, x_4, x_7);
+x_31 = l_Lean_Expr_FoldConstsImpl_fold_visit___rarg(x_1, x_2, x_29, x_4, x_7);
x_32 = lean_ctor_get(x_31, 0);
lean_inc(x_32);
x_33 = lean_ctor_get(x_31, 1);
@@ -304,7 +489,7 @@ x_36 = lean_ctor_get(x_3, 2);
lean_inc(x_36);
lean_dec(x_3);
lean_inc(x_1);
-x_37 = l_Lean_Expr_FoldConstsImpl_fold___main___rarg(x_1, x_2, x_35, x_4, x_7);
+x_37 = l_Lean_Expr_FoldConstsImpl_fold_visit___rarg(x_1, x_2, x_35, x_4, x_7);
x_38 = lean_ctor_get(x_37, 0);
lean_inc(x_38);
x_39 = lean_ctor_get(x_37, 1);
@@ -326,14 +511,14 @@ x_43 = lean_ctor_get(x_3, 3);
lean_inc(x_43);
lean_dec(x_3);
lean_inc(x_1);
-x_44 = l_Lean_Expr_FoldConstsImpl_fold___main___rarg(x_1, x_2, x_41, x_4, x_7);
+x_44 = l_Lean_Expr_FoldConstsImpl_fold_visit___rarg(x_1, x_2, x_41, x_4, x_7);
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);
lean_inc(x_1);
-x_47 = l_Lean_Expr_FoldConstsImpl_fold___main___rarg(x_1, x_2, x_42, x_45, x_46);
+x_47 = l_Lean_Expr_FoldConstsImpl_fold_visit___rarg(x_1, x_2, x_42, x_45, x_46);
x_48 = lean_ctor_get(x_47, 0);
lean_inc(x_48);
x_49 = lean_ctor_get(x_47, 1);
@@ -389,21 +574,21 @@ return x_56;
}
}
}
-lean_object* l_Lean_Expr_FoldConstsImpl_fold___main(lean_object* x_1) {
+lean_object* l_Lean_Expr_FoldConstsImpl_fold_visit(lean_object* x_1) {
_start:
{
lean_object* x_2;
-x_2 = lean_alloc_closure((void*)(l_Lean_Expr_FoldConstsImpl_fold___main___rarg___boxed), 5, 0);
+x_2 = lean_alloc_closure((void*)(l_Lean_Expr_FoldConstsImpl_fold_visit___rarg___boxed), 5, 0);
return x_2;
}
}
-lean_object* l_Lean_Expr_FoldConstsImpl_fold___main___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
+lean_object* l_Lean_Expr_FoldConstsImpl_fold_visit___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
size_t x_6; lean_object* x_7;
x_6 = lean_unbox_usize(x_2);
lean_dec(x_2);
-x_7 = l_Lean_Expr_FoldConstsImpl_fold___main___rarg(x_1, x_6, x_3, x_4, x_5);
+x_7 = l_Lean_Expr_FoldConstsImpl_fold_visit___rarg(x_1, x_6, x_3, x_4, x_5);
return x_7;
}
}
@@ -411,7 +596,7 @@ lean_object* l_Lean_Expr_FoldConstsImpl_fold___rarg(lean_object* x_1, size_t x_2
_start:
{
lean_object* x_6;
-x_6 = l_Lean_Expr_FoldConstsImpl_fold___main___rarg(x_1, x_2, x_3, x_4, x_5);
+x_6 = l_Lean_Expr_FoldConstsImpl_fold_visit___rarg(x_1, x_2, x_3, x_4, x_5);
return x_6;
}
}
@@ -459,7 +644,7 @@ _start:
size_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
x_4 = 8192;
x_5 = l_Lean_Expr_FoldConstsImpl_initCache;
-x_6 = l_Lean_Expr_FoldConstsImpl_fold___main___rarg(x_3, x_4, x_1, x_2, x_5);
+x_6 = l_Lean_Expr_FoldConstsImpl_fold_visit___rarg(x_3, x_4, x_1, x_2, x_5);
x_7 = lean_ctor_get(x_6, 0);
lean_inc(x_7);
lean_dec(x_6);
@@ -508,709 +693,201 @@ lean_dec(x_2);
return x_3;
}
}
-lean_object* l_Lean_Expr_FoldConstsImpl_fold___main___at_Lean_Expr_getUsedConstants___spec__1(size_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
+lean_object* l_Lean_Expr_getUsedConstants___lambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
-uint8_t x_5; lean_object* x_6; size_t x_57; size_t x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; size_t x_62; uint8_t x_63;
-x_57 = lean_ptr_addr(x_2);
-x_58 = x_1 == 0 ? 0 : x_57 % x_1;
-x_59 = lean_ctor_get(x_4, 0);
-lean_inc(x_59);
-x_60 = lean_ctor_get(x_4, 1);
-lean_inc(x_60);
-x_61 = lean_array_uget(x_59, x_58);
-x_62 = lean_ptr_addr(x_61);
-lean_dec(x_61);
-x_63 = x_62 == x_57;
-if (x_63 == 0)
+lean_object* x_3;
+x_3 = lean_array_push(x_2, x_1);
+return x_3;
+}
+}
+static lean_object* _init_l_Lean_Expr_getUsedConstants___closed__1() {
+_start:
{
-uint8_t x_64;
-x_64 = !lean_is_exclusive(x_4);
-if (x_64 == 0)
-{
-lean_object* x_65; lean_object* x_66; lean_object* x_67; uint8_t x_68;
-x_65 = lean_ctor_get(x_4, 1);
-lean_dec(x_65);
-x_66 = lean_ctor_get(x_4, 0);
-lean_dec(x_66);
-lean_inc(x_2);
-x_67 = lean_array_uset(x_59, x_58, x_2);
-lean_ctor_set(x_4, 0, x_67);
-x_68 = 0;
-x_5 = x_68;
-x_6 = x_4;
-goto block_56;
-}
-else
-{
-lean_object* x_69; lean_object* x_70; uint8_t x_71;
-lean_dec(x_4);
-lean_inc(x_2);
-x_69 = lean_array_uset(x_59, x_58, x_2);
-x_70 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_70, 0, x_69);
-lean_ctor_set(x_70, 1, x_60);
-x_71 = 0;
-x_5 = x_71;
-x_6 = x_70;
-goto block_56;
-}
-}
-else
-{
-uint8_t x_72;
-lean_dec(x_60);
-lean_dec(x_59);
-x_72 = 1;
-x_5 = x_72;
-x_6 = x_4;
-goto block_56;
-}
-block_56:
-{
-if (x_5 == 0)
-{
-switch (lean_obj_tag(x_2)) {
-case 4:
-{
-lean_object* x_7; lean_object* x_8; lean_object* x_9; uint8_t x_10;
-x_7 = lean_ctor_get(x_2, 0);
-lean_inc(x_7);
-lean_dec(x_2);
-x_8 = lean_ctor_get(x_6, 0);
-lean_inc(x_8);
-x_9 = lean_ctor_get(x_6, 1);
-lean_inc(x_9);
-x_10 = l_Std_HashSetImp_contains___at_Lean_NameHashSet_contains___spec__1(x_9, x_7);
-if (x_10 == 0)
-{
-uint8_t x_11;
-x_11 = !lean_is_exclusive(x_6);
-if (x_11 == 0)
-{
-lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
-x_12 = lean_ctor_get(x_6, 1);
-lean_dec(x_12);
-x_13 = lean_ctor_get(x_6, 0);
-lean_dec(x_13);
-lean_inc(x_7);
-x_14 = l_Std_HashSetImp_insert___at_Lean_NameHashSet_insert___spec__1(x_9, x_7);
-lean_ctor_set(x_6, 1, x_14);
-x_15 = lean_array_push(x_3, x_7);
-x_16 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_16, 0, x_15);
-lean_ctor_set(x_16, 1, x_6);
-return x_16;
-}
-else
-{
-lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
-lean_dec(x_6);
-lean_inc(x_7);
-x_17 = l_Std_HashSetImp_insert___at_Lean_NameHashSet_insert___spec__1(x_9, x_7);
-x_18 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_18, 0, x_8);
-lean_ctor_set(x_18, 1, x_17);
-x_19 = lean_array_push(x_3, x_7);
-x_20 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_20, 0, x_19);
-lean_ctor_set(x_20, 1, x_18);
-return x_20;
-}
-}
-else
-{
-lean_object* x_21;
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_7);
-x_21 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_21, 0, x_3);
-lean_ctor_set(x_21, 1, x_6);
-return x_21;
-}
-}
-case 5:
-{
-lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26;
-x_22 = lean_ctor_get(x_2, 0);
-lean_inc(x_22);
-x_23 = lean_ctor_get(x_2, 1);
-lean_inc(x_23);
-lean_dec(x_2);
-x_24 = l_Lean_Expr_FoldConstsImpl_fold___main___at_Lean_Expr_getUsedConstants___spec__1(x_1, x_22, x_3, x_6);
-x_25 = lean_ctor_get(x_24, 0);
-lean_inc(x_25);
-x_26 = lean_ctor_get(x_24, 1);
-lean_inc(x_26);
-lean_dec(x_24);
-x_2 = x_23;
-x_3 = x_25;
-x_4 = x_26;
-goto _start;
-}
-case 6:
-{
-lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
-x_28 = lean_ctor_get(x_2, 1);
-lean_inc(x_28);
-x_29 = lean_ctor_get(x_2, 2);
-lean_inc(x_29);
-lean_dec(x_2);
-x_30 = l_Lean_Expr_FoldConstsImpl_fold___main___at_Lean_Expr_getUsedConstants___spec__1(x_1, x_28, x_3, x_6);
-x_31 = lean_ctor_get(x_30, 0);
-lean_inc(x_31);
-x_32 = lean_ctor_get(x_30, 1);
-lean_inc(x_32);
-lean_dec(x_30);
-x_2 = x_29;
-x_3 = x_31;
-x_4 = x_32;
-goto _start;
-}
-case 7:
-{
-lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38;
-x_34 = lean_ctor_get(x_2, 1);
-lean_inc(x_34);
-x_35 = lean_ctor_get(x_2, 2);
-lean_inc(x_35);
-lean_dec(x_2);
-x_36 = l_Lean_Expr_FoldConstsImpl_fold___main___at_Lean_Expr_getUsedConstants___spec__1(x_1, x_34, x_3, x_6);
-x_37 = lean_ctor_get(x_36, 0);
-lean_inc(x_37);
-x_38 = lean_ctor_get(x_36, 1);
-lean_inc(x_38);
-lean_dec(x_36);
-x_2 = x_35;
-x_3 = x_37;
-x_4 = x_38;
-goto _start;
-}
-case 8:
-{
-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;
-x_40 = lean_ctor_get(x_2, 1);
-lean_inc(x_40);
-x_41 = lean_ctor_get(x_2, 2);
-lean_inc(x_41);
-x_42 = lean_ctor_get(x_2, 3);
-lean_inc(x_42);
-lean_dec(x_2);
-x_43 = l_Lean_Expr_FoldConstsImpl_fold___main___at_Lean_Expr_getUsedConstants___spec__1(x_1, x_40, x_3, x_6);
-x_44 = lean_ctor_get(x_43, 0);
-lean_inc(x_44);
-x_45 = lean_ctor_get(x_43, 1);
-lean_inc(x_45);
-lean_dec(x_43);
-x_46 = l_Lean_Expr_FoldConstsImpl_fold___main___at_Lean_Expr_getUsedConstants___spec__1(x_1, x_41, x_44, x_45);
-x_47 = lean_ctor_get(x_46, 0);
-lean_inc(x_47);
-x_48 = lean_ctor_get(x_46, 1);
-lean_inc(x_48);
-lean_dec(x_46);
-x_2 = x_42;
-x_3 = x_47;
-x_4 = x_48;
-goto _start;
-}
-case 10:
-{
-lean_object* x_50;
-x_50 = lean_ctor_get(x_2, 1);
-lean_inc(x_50);
-lean_dec(x_2);
-x_2 = x_50;
-x_4 = x_6;
-goto _start;
-}
-case 11:
-{
-lean_object* x_52;
-x_52 = lean_ctor_get(x_2, 2);
-lean_inc(x_52);
-lean_dec(x_2);
-x_2 = x_52;
-x_4 = x_6;
-goto _start;
-}
-default:
-{
-lean_object* x_54;
-lean_dec(x_2);
-x_54 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_54, 0, x_3);
-lean_ctor_set(x_54, 1, x_6);
-return x_54;
-}
-}
-}
-else
-{
-lean_object* x_55;
-lean_dec(x_2);
-x_55 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_55, 0, x_3);
-lean_ctor_set(x_55, 1, x_6);
-return x_55;
-}
-}
+lean_object* x_1;
+x_1 = lean_alloc_closure((void*)(l_Lean_Expr_getUsedConstants___lambda__1), 2, 0);
+return x_1;
}
}
lean_object* l_Lean_Expr_getUsedConstants(lean_object* x_1) {
_start:
{
-size_t x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
+size_t x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
x_2 = 8192;
-x_3 = l_Array_empty___closed__1;
-x_4 = l_Lean_Expr_FoldConstsImpl_initCache;
-x_5 = l_Lean_Expr_FoldConstsImpl_fold___main___at_Lean_Expr_getUsedConstants___spec__1(x_2, x_1, x_3, x_4);
-x_6 = lean_ctor_get(x_5, 0);
-lean_inc(x_6);
-lean_dec(x_5);
-return x_6;
-}
-}
-lean_object* l_Lean_Expr_FoldConstsImpl_fold___main___at_Lean_Expr_getUsedConstants___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
-_start:
-{
-size_t x_5; lean_object* x_6;
-x_5 = lean_unbox_usize(x_1);
-lean_dec(x_1);
-x_6 = l_Lean_Expr_FoldConstsImpl_fold___main___at_Lean_Expr_getUsedConstants___spec__1(x_5, x_2, x_3, x_4);
-return x_6;
-}
-}
-lean_object* l_Lean_Expr_FoldConstsImpl_fold___main___at_Lean_getMaxHeight___spec__1(lean_object* x_1, size_t x_2, lean_object* x_3, uint32_t x_4, lean_object* x_5) {
-_start:
-{
-uint8_t x_6; lean_object* x_7; size_t x_94; size_t x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; size_t x_99; uint8_t x_100;
-x_94 = lean_ptr_addr(x_3);
-x_95 = x_2 == 0 ? 0 : x_94 % x_2;
-x_96 = lean_ctor_get(x_5, 0);
-lean_inc(x_96);
-x_97 = lean_ctor_get(x_5, 1);
-lean_inc(x_97);
-x_98 = lean_array_uget(x_96, x_95);
-x_99 = lean_ptr_addr(x_98);
-lean_dec(x_98);
-x_100 = x_99 == x_94;
-if (x_100 == 0)
-{
-uint8_t x_101;
-x_101 = !lean_is_exclusive(x_5);
-if (x_101 == 0)
-{
-lean_object* x_102; lean_object* x_103; lean_object* x_104; uint8_t x_105;
-x_102 = lean_ctor_get(x_5, 1);
-lean_dec(x_102);
-x_103 = lean_ctor_get(x_5, 0);
-lean_dec(x_103);
-lean_inc(x_3);
-x_104 = lean_array_uset(x_96, x_95, x_3);
-lean_ctor_set(x_5, 0, x_104);
-x_105 = 0;
-x_6 = x_105;
-x_7 = x_5;
-goto block_93;
-}
-else
-{
-lean_object* x_106; lean_object* x_107; uint8_t x_108;
-lean_dec(x_5);
-lean_inc(x_3);
-x_106 = lean_array_uset(x_96, x_95, x_3);
-x_107 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_107, 0, x_106);
-lean_ctor_set(x_107, 1, x_97);
-x_108 = 0;
-x_6 = x_108;
-x_7 = x_107;
-goto block_93;
-}
-}
-else
-{
-uint8_t x_109;
-lean_dec(x_97);
-lean_dec(x_96);
-x_109 = 1;
-x_6 = x_109;
-x_7 = x_5;
-goto block_93;
-}
-block_93:
-{
-if (x_6 == 0)
-{
-switch (lean_obj_tag(x_3)) {
-case 4:
-{
-lean_object* x_8; lean_object* x_9; lean_object* x_10; uint8_t x_11;
-x_8 = lean_ctor_get(x_3, 0);
-lean_inc(x_8);
-lean_dec(x_3);
-x_9 = lean_ctor_get(x_7, 0);
-lean_inc(x_9);
-x_10 = lean_ctor_get(x_7, 1);
-lean_inc(x_10);
-x_11 = l_Std_HashSetImp_contains___at_Lean_NameHashSet_contains___spec__1(x_10, x_8);
-if (x_11 == 0)
-{
-uint8_t x_12;
-x_12 = !lean_is_exclusive(x_7);
-if (x_12 == 0)
-{
-lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
-x_13 = lean_ctor_get(x_7, 1);
-lean_dec(x_13);
-x_14 = lean_ctor_get(x_7, 0);
-lean_dec(x_14);
-lean_inc(x_8);
-x_15 = l_Std_HashSetImp_insert___at_Lean_NameHashSet_insert___spec__1(x_10, x_8);
-lean_ctor_set(x_7, 1, x_15);
-x_16 = lean_environment_find(x_1, x_8);
-if (lean_obj_tag(x_16) == 0)
-{
-lean_object* x_17; lean_object* x_18;
-x_17 = lean_box_uint32(x_4);
-x_18 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_18, 0, x_17);
-lean_ctor_set(x_18, 1, x_7);
-return x_18;
-}
-else
-{
-lean_object* x_19;
-x_19 = lean_ctor_get(x_16, 0);
-lean_inc(x_19);
-lean_dec(x_16);
-if (lean_obj_tag(x_19) == 1)
-{
-lean_object* x_20; lean_object* x_21;
-x_20 = lean_ctor_get(x_19, 0);
-lean_inc(x_20);
-lean_dec(x_19);
-x_21 = lean_ctor_get(x_20, 2);
-lean_inc(x_21);
-lean_dec(x_20);
-if (lean_obj_tag(x_21) == 2)
-{
-uint32_t x_22; uint8_t x_23;
-x_22 = lean_ctor_get_uint32(x_21, 0);
-lean_dec(x_21);
-x_23 = x_4 < x_22;
-if (x_23 == 0)
-{
-lean_object* x_24; lean_object* x_25;
-x_24 = lean_box_uint32(x_4);
-x_25 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_25, 0, x_24);
-lean_ctor_set(x_25, 1, x_7);
-return x_25;
-}
-else
-{
-lean_object* x_26; lean_object* x_27;
-x_26 = lean_box_uint32(x_22);
-x_27 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_27, 0, x_26);
-lean_ctor_set(x_27, 1, x_7);
-return x_27;
-}
-}
-else
-{
-lean_object* x_28; lean_object* x_29;
-lean_dec(x_21);
-x_28 = lean_box_uint32(x_4);
-x_29 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_29, 0, x_28);
-lean_ctor_set(x_29, 1, x_7);
-return x_29;
-}
-}
-else
-{
-lean_object* x_30; lean_object* x_31;
-lean_dec(x_19);
-x_30 = lean_box_uint32(x_4);
-x_31 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_31, 0, x_30);
-lean_ctor_set(x_31, 1, x_7);
-return x_31;
-}
-}
-}
-else
-{
-lean_object* x_32; lean_object* x_33; lean_object* x_34;
-lean_dec(x_7);
-lean_inc(x_8);
-x_32 = l_Std_HashSetImp_insert___at_Lean_NameHashSet_insert___spec__1(x_10, x_8);
-x_33 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_33, 0, x_9);
-lean_ctor_set(x_33, 1, x_32);
-x_34 = lean_environment_find(x_1, x_8);
-if (lean_obj_tag(x_34) == 0)
-{
-lean_object* x_35; lean_object* x_36;
-x_35 = lean_box_uint32(x_4);
-x_36 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_36, 0, x_35);
-lean_ctor_set(x_36, 1, x_33);
-return x_36;
-}
-else
-{
-lean_object* x_37;
-x_37 = lean_ctor_get(x_34, 0);
-lean_inc(x_37);
-lean_dec(x_34);
-if (lean_obj_tag(x_37) == 1)
-{
-lean_object* x_38; lean_object* x_39;
-x_38 = lean_ctor_get(x_37, 0);
-lean_inc(x_38);
-lean_dec(x_37);
-x_39 = lean_ctor_get(x_38, 2);
-lean_inc(x_39);
-lean_dec(x_38);
-if (lean_obj_tag(x_39) == 2)
-{
-uint32_t x_40; uint8_t x_41;
-x_40 = lean_ctor_get_uint32(x_39, 0);
-lean_dec(x_39);
-x_41 = x_4 < x_40;
-if (x_41 == 0)
-{
-lean_object* x_42; lean_object* x_43;
-x_42 = lean_box_uint32(x_4);
-x_43 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_43, 0, x_42);
-lean_ctor_set(x_43, 1, x_33);
-return x_43;
-}
-else
-{
-lean_object* x_44; lean_object* x_45;
-x_44 = lean_box_uint32(x_40);
-x_45 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_45, 0, x_44);
-lean_ctor_set(x_45, 1, x_33);
-return x_45;
-}
-}
-else
-{
-lean_object* x_46; lean_object* x_47;
-lean_dec(x_39);
-x_46 = lean_box_uint32(x_4);
-x_47 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_47, 0, x_46);
-lean_ctor_set(x_47, 1, x_33);
-return x_47;
-}
-}
-else
-{
-lean_object* x_48; lean_object* x_49;
-lean_dec(x_37);
-x_48 = lean_box_uint32(x_4);
-x_49 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_49, 0, x_48);
-lean_ctor_set(x_49, 1, x_33);
-return x_49;
-}
-}
-}
-}
-else
-{
-lean_object* x_50; lean_object* x_51;
-lean_dec(x_10);
-lean_dec(x_9);
-lean_dec(x_8);
-lean_dec(x_1);
-x_50 = lean_box_uint32(x_4);
-x_51 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_51, 0, x_50);
-lean_ctor_set(x_51, 1, x_7);
-return x_51;
-}
-}
-case 5:
-{
-lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; uint32_t x_57;
-x_52 = lean_ctor_get(x_3, 0);
-lean_inc(x_52);
-x_53 = lean_ctor_get(x_3, 1);
-lean_inc(x_53);
-lean_dec(x_3);
-lean_inc(x_1);
-x_54 = l_Lean_Expr_FoldConstsImpl_fold___main___at_Lean_getMaxHeight___spec__1(x_1, x_2, x_52, x_4, x_7);
-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_uint32(x_55);
-lean_dec(x_55);
-x_3 = x_53;
-x_4 = x_57;
-x_5 = x_56;
-goto _start;
-}
-case 6:
-{
-lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; uint32_t x_64;
-x_59 = lean_ctor_get(x_3, 1);
-lean_inc(x_59);
-x_60 = lean_ctor_get(x_3, 2);
-lean_inc(x_60);
-lean_dec(x_3);
-lean_inc(x_1);
-x_61 = l_Lean_Expr_FoldConstsImpl_fold___main___at_Lean_getMaxHeight___spec__1(x_1, x_2, x_59, x_4, x_7);
-x_62 = lean_ctor_get(x_61, 0);
-lean_inc(x_62);
-x_63 = lean_ctor_get(x_61, 1);
-lean_inc(x_63);
-lean_dec(x_61);
-x_64 = lean_unbox_uint32(x_62);
-lean_dec(x_62);
-x_3 = x_60;
-x_4 = x_64;
-x_5 = x_63;
-goto _start;
-}
-case 7:
-{
-lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; uint32_t x_71;
-x_66 = lean_ctor_get(x_3, 1);
-lean_inc(x_66);
-x_67 = lean_ctor_get(x_3, 2);
-lean_inc(x_67);
-lean_dec(x_3);
-lean_inc(x_1);
-x_68 = l_Lean_Expr_FoldConstsImpl_fold___main___at_Lean_getMaxHeight___spec__1(x_1, x_2, x_66, x_4, x_7);
-x_69 = lean_ctor_get(x_68, 0);
-lean_inc(x_69);
-x_70 = lean_ctor_get(x_68, 1);
-lean_inc(x_70);
-lean_dec(x_68);
-x_71 = lean_unbox_uint32(x_69);
-lean_dec(x_69);
-x_3 = x_67;
-x_4 = x_71;
-x_5 = x_70;
-goto _start;
-}
-case 8:
-{
-lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; uint32_t x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; uint32_t x_83;
-x_73 = lean_ctor_get(x_3, 1);
-lean_inc(x_73);
-x_74 = lean_ctor_get(x_3, 2);
-lean_inc(x_74);
-x_75 = lean_ctor_get(x_3, 3);
-lean_inc(x_75);
-lean_dec(x_3);
-lean_inc(x_1);
-x_76 = l_Lean_Expr_FoldConstsImpl_fold___main___at_Lean_getMaxHeight___spec__1(x_1, x_2, x_73, x_4, x_7);
-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 = lean_unbox_uint32(x_77);
-lean_dec(x_77);
-lean_inc(x_1);
-x_80 = l_Lean_Expr_FoldConstsImpl_fold___main___at_Lean_getMaxHeight___spec__1(x_1, x_2, x_74, x_79, x_78);
-x_81 = lean_ctor_get(x_80, 0);
-lean_inc(x_81);
-x_82 = lean_ctor_get(x_80, 1);
-lean_inc(x_82);
-lean_dec(x_80);
-x_83 = lean_unbox_uint32(x_81);
-lean_dec(x_81);
-x_3 = x_75;
-x_4 = x_83;
-x_5 = x_82;
-goto _start;
-}
-case 10:
-{
-lean_object* x_85;
-x_85 = lean_ctor_get(x_3, 1);
-lean_inc(x_85);
-lean_dec(x_3);
-x_3 = x_85;
-x_5 = x_7;
-goto _start;
-}
-case 11:
-{
-lean_object* x_87;
-x_87 = lean_ctor_get(x_3, 2);
-lean_inc(x_87);
-lean_dec(x_3);
-x_3 = x_87;
-x_5 = x_7;
-goto _start;
-}
-default:
-{
-lean_object* x_89; lean_object* x_90;
-lean_dec(x_3);
-lean_dec(x_1);
-x_89 = lean_box_uint32(x_4);
-x_90 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_90, 0, x_89);
-lean_ctor_set(x_90, 1, x_7);
-return x_90;
-}
-}
-}
-else
-{
-lean_object* x_91; lean_object* x_92;
-lean_dec(x_3);
-lean_dec(x_1);
-x_91 = lean_box_uint32(x_4);
-x_92 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_92, 0, x_91);
-lean_ctor_set(x_92, 1, x_7);
-return x_92;
-}
-}
-}
-}
-lean_object* l_Lean_getMaxHeight(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-uint32_t x_3; size_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
-x_3 = 0;
-x_4 = 8192;
+x_3 = l_Lean_Expr_getUsedConstants___closed__1;
+x_4 = l_Array_empty___closed__1;
x_5 = l_Lean_Expr_FoldConstsImpl_initCache;
-x_6 = l_Lean_Expr_FoldConstsImpl_fold___main___at_Lean_getMaxHeight___spec__1(x_1, x_4, x_2, x_3, x_5);
+x_6 = l_Lean_Expr_FoldConstsImpl_fold_visit___rarg(x_3, x_2, x_1, x_4, x_5);
x_7 = lean_ctor_get(x_6, 0);
lean_inc(x_7);
lean_dec(x_6);
return x_7;
}
}
-lean_object* l_Lean_Expr_FoldConstsImpl_fold___main___at_Lean_getMaxHeight___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
+lean_object* l_Lean_getMaxHeight_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
-size_t x_6; uint32_t x_7; lean_object* x_8;
-x_6 = lean_unbox_usize(x_2);
+if (lean_obj_tag(x_1) == 2)
+{
+uint32_t x_4; lean_object* x_5; lean_object* x_6;
+lean_dec(x_3);
+x_4 = lean_ctor_get_uint32(x_1, 0);
+lean_dec(x_1);
+x_5 = lean_box_uint32(x_4);
+x_6 = lean_apply_1(x_2, x_5);
+return x_6;
+}
+else
+{
+lean_object* x_7;
lean_dec(x_2);
-x_7 = lean_unbox_uint32(x_4);
-lean_dec(x_4);
-x_8 = l_Lean_Expr_FoldConstsImpl_fold___main___at_Lean_getMaxHeight___spec__1(x_1, x_6, x_3, x_7, x_5);
+x_7 = lean_apply_1(x_3, x_1);
+return x_7;
+}
+}
+}
+lean_object* l_Lean_getMaxHeight_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_getMaxHeight_match__1___rarg), 3, 0);
+return x_2;
+}
+}
+lean_object* l_Lean_getMaxHeight_match__2___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+if (lean_obj_tag(x_1) == 0)
+{
+lean_object* x_4;
+lean_dec(x_2);
+x_4 = lean_apply_1(x_3, x_1);
+return x_4;
+}
+else
+{
+lean_object* x_5;
+x_5 = lean_ctor_get(x_1, 0);
+lean_inc(x_5);
+if (lean_obj_tag(x_5) == 1)
+{
+lean_object* x_6; lean_object* x_7;
+lean_dec(x_3);
+lean_dec(x_1);
+x_6 = lean_ctor_get(x_5, 0);
+lean_inc(x_6);
+lean_dec(x_5);
+x_7 = lean_apply_1(x_2, x_6);
+return x_7;
+}
+else
+{
+lean_object* x_8;
+lean_dec(x_5);
+lean_dec(x_2);
+x_8 = lean_apply_1(x_3, x_1);
return x_8;
}
}
+}
+}
+lean_object* l_Lean_getMaxHeight_match__2(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_getMaxHeight_match__2___rarg), 3, 0);
+return x_2;
+}
+}
+uint32_t l_Lean_getMaxHeight___lambda__1(lean_object* x_1, lean_object* x_2, uint32_t x_3) {
+_start:
+{
+lean_object* x_4;
+x_4 = lean_environment_find(x_1, x_2);
+if (lean_obj_tag(x_4) == 0)
+{
+return x_3;
+}
+else
+{
+lean_object* x_5;
+x_5 = lean_ctor_get(x_4, 0);
+lean_inc(x_5);
+lean_dec(x_4);
+if (lean_obj_tag(x_5) == 1)
+{
+lean_object* x_6; lean_object* x_7;
+x_6 = lean_ctor_get(x_5, 0);
+lean_inc(x_6);
+lean_dec(x_5);
+x_7 = lean_ctor_get(x_6, 2);
+lean_inc(x_7);
+lean_dec(x_6);
+if (lean_obj_tag(x_7) == 2)
+{
+uint32_t x_8; uint8_t x_9;
+x_8 = lean_ctor_get_uint32(x_7, 0);
+lean_dec(x_7);
+x_9 = x_3 < x_8;
+if (x_9 == 0)
+{
+return x_3;
+}
+else
+{
+return x_8;
+}
+}
+else
+{
+lean_dec(x_7);
+return x_3;
+}
+}
+else
+{
+lean_dec(x_5);
+return x_3;
+}
+}
+}
+}
+static lean_object* _init_l_Lean_getMaxHeight___boxed__const__1() {
+_start:
+{
+uint32_t x_1; lean_object* x_2;
+x_1 = 0;
+x_2 = lean_box_uint32(x_1);
+return x_2;
+}
+}
+lean_object* l_Lean_getMaxHeight(lean_object* x_1, lean_object* x_2) {
+_start:
+{
+lean_object* x_3; size_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8;
+x_3 = lean_alloc_closure((void*)(l_Lean_getMaxHeight___lambda__1___boxed), 3, 1);
+lean_closure_set(x_3, 0, x_1);
+x_4 = 8192;
+x_5 = l_Lean_Expr_FoldConstsImpl_initCache;
+x_6 = l_Lean_getMaxHeight___boxed__const__1;
+x_7 = l_Lean_Expr_FoldConstsImpl_fold_visit___rarg(x_3, x_4, x_2, x_6, x_5);
+x_8 = lean_ctor_get(x_7, 0);
+lean_inc(x_8);
+lean_dec(x_7);
+return x_8;
+}
+}
+lean_object* l_Lean_getMaxHeight___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+uint32_t x_4; uint32_t x_5; lean_object* x_6;
+x_4 = lean_unbox_uint32(x_3);
+lean_dec(x_3);
+x_5 = l_Lean_getMaxHeight___lambda__1(x_1, x_2, x_4);
+x_6 = lean_box_uint32(x_5);
+return x_6;
+}
+}
lean_object* initialize_Init(lean_object*);
lean_object* initialize_Lean_Expr(lean_object*);
lean_object* initialize_Lean_Environment(lean_object*);
@@ -1233,6 +910,10 @@ l_Lean_Expr_FoldConstsImpl_initCache___closed__1 = _init_l_Lean_Expr_FoldConstsI
lean_mark_persistent(l_Lean_Expr_FoldConstsImpl_initCache___closed__1);
l_Lean_Expr_FoldConstsImpl_initCache = _init_l_Lean_Expr_FoldConstsImpl_initCache();
lean_mark_persistent(l_Lean_Expr_FoldConstsImpl_initCache);
+l_Lean_Expr_getUsedConstants___closed__1 = _init_l_Lean_Expr_getUsedConstants___closed__1();
+lean_mark_persistent(l_Lean_Expr_getUsedConstants___closed__1);
+l_Lean_getMaxHeight___boxed__const__1 = _init_l_Lean_getMaxHeight___boxed__const__1();
+lean_mark_persistent(l_Lean_getMaxHeight___boxed__const__1);
return lean_io_result_mk_ok(lean_box(0));
}
#ifdef __cplusplus
diff --git a/stage0/stdlib/Lean/Util/ForEachExpr.c b/stage0/stdlib/Lean/Util/ForEachExpr.c
index 7fa2e8d9a2..42d945fb05 100644
--- a/stage0/stdlib/Lean/Util/ForEachExpr.c
+++ b/stage0/stdlib/Lean/Util/ForEachExpr.c
@@ -15,82 +15,231 @@ extern "C" {
#endif
extern lean_object* l_Lean_Expr_Lean_Expr___instance__3;
lean_object* l_Std_AssocList_find_x3f___at_Lean_Expr_forEach___spec__3___boxed(lean_object*, lean_object*);
+lean_object* l_Lean_ForEachExpr_visit_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_forEach_x27(lean_object*, lean_object*);
-lean_object* l_Lean_ForEachExpr_visit___main___rarg___lambda__1(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_ForEachExpr_visit___rarg___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_HashMapImp_expand___at_Lean_Expr_forEach___spec__6(lean_object*, lean_object*);
lean_object* lean_array_uget(lean_object*, size_t);
lean_object* l_Lean_ForEachExpr_visit___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_forEach_x27___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_array_uset(lean_object*, size_t, lean_object*);
+lean_object* l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg___lambda__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg___lambda__2(lean_object*, lean_object*);
+lean_object* l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_HashMapImp_moveEntries___at_Lean_Expr_forEach___spec__7(lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_ST_Prim_mkRef___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_ForEachExpr_visit___main___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t);
lean_object* l_Lean_Expr_forEach(lean_object*, lean_object*);
lean_object* lean_array_get_size(lean_object*);
lean_object* l_Std_HashMapImp_find_x3f___at_Lean_Expr_forEach___spec__2(lean_object*, lean_object*);
-lean_object* l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_ForEachExpr_visit___rarg___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t);
+lean_object* l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_forEach___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_nat_add(lean_object*, lean_object*);
-lean_object* l_Lean_ForEachExpr_visit___main___rarg___lambda__6(lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_ForEachExpr_visit___main___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_ForEachExpr_visit___main(lean_object*, lean_object*);
-lean_object* l_Lean_ForEachExpr_visit___main___rarg___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_array_fget(lean_object*, lean_object*);
lean_object* l_Lean_Expr_forEach___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_HashMapImp_find_x3f___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg___lambda__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg___lambda__6(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_ForEachExpr_visit___rarg___lambda__1(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg___lambda__1(lean_object*, lean_object*, lean_object*);
lean_object* l_ST_Prim_Ref_get___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_mkHashMapImp___rarg(lean_object*);
-extern lean_object* l_notM___rarg___closed__1;
+lean_object* l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_ForEachExpr_visit___rarg___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_MonadCacheT_run___rarg___closed__1;
size_t l_Lean_Expr_hash(lean_object*);
size_t lean_usize_modn(size_t, lean_object*);
-lean_object* l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg___lambda__2(lean_object*, lean_object*);
+lean_object* l_Lean_ForEachExpr_visit___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_AssocList_foldlM___at_Lean_Expr_forEach___spec__8(lean_object*, lean_object*);
lean_object* l_Lean_ForEachExpr_visit(lean_object*, lean_object*);
-lean_object* l_Lean_ForEachExpr_visit___main___rarg___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_ForEachExpr_visit___main___rarg___lambda__5(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_ForEachExpr_visit___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_StateRefT_x27_run_x27___rarg___lambda__1(lean_object*, lean_object*);
-lean_object* l_Lean_ForEachExpr_visit___main___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_forEach_x27___rarg___closed__2;
-lean_object* l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg___lambda__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_ForEachExpr_visit___main___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_HashMapImp_insert___at_Lean_Expr_forEach___spec__4(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_AssocList_contains___at_Lean_Expr_forEach___spec__5___boxed(lean_object*, lean_object*);
-lean_object* l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_ForEachExpr_visit___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_forEach_x27___rarg___closed__1;
-lean_object* l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t);
extern lean_object* l_Lean_Expr_Lean_Expr___instance__2;
uint8_t lean_expr_eqv(lean_object*, lean_object*);
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
-lean_object* l_Lean_ForEachExpr_visit___main___rarg___lambda__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg___lambda__6(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_forEach_x27___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg___lambda__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_StateRefT_x27_run___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_nat_mul(lean_object*, lean_object*);
+lean_object* l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg___lambda__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_AssocList_replace___at_Lean_Expr_forEach___spec__9(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_ForEachExpr_visit___rarg___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg___lambda__2___boxed(lean_object*, lean_object*);
lean_object* l_ST_Prim_Ref_modifyGetUnsafe___rarg___boxed(lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg___lambda__2___boxed(lean_object*, lean_object*);
lean_object* lean_mk_array(lean_object*, lean_object*);
-lean_object* l_Lean_ForEachExpr_visit___main___rarg___lambda__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1(lean_object*, lean_object*);
+lean_object* l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_HashMapImp_find_x3f___at_Lean_Expr_forEach___spec__2___boxed(lean_object*, lean_object*);
uint8_t l_Std_AssocList_contains___at_Lean_Expr_forEach___spec__5(lean_object*, lean_object*);
-lean_object* l_Lean_ForEachExpr_visit___main___rarg___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_ForEachExpr_visit___main___rarg___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t);
-lean_object* l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_ForEachExpr_visit___main___rarg___lambda__6___boxed(lean_object*, lean_object*, lean_object*);
+lean_object* l_ReaderT_Monad___rarg___lambda__4___boxed(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_ForEachExpr_visit___rarg___lambda__5(lean_object*, lean_object*, lean_object*);
lean_object* l_Std_HashMapImp_insert___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1(lean_object*, lean_object*);
+lean_object* l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg___lambda__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_mkHashMap___at_Lean_Expr_forEach_x27___spec__1(lean_object*);
lean_object* l_Std_AssocList_find_x3f___at_Lean_Expr_forEach___spec__3(lean_object*, lean_object*);
+lean_object* l_Lean_ForEachExpr_visit___rarg___lambda__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_ForEachExpr_visit___rarg___lambda__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t lean_nat_dec_lt(lean_object*, lean_object*);
-lean_object* l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg___lambda__1(lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_ForEachExpr_visit___main___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l_Lean_ForEachExpr_visit_match__1(lean_object*);
+lean_object* l_Lean_ForEachExpr_visit_match__1___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:
+{
+switch (lean_obj_tag(x_1)) {
+case 5:
+{
+lean_object* x_9; lean_object* x_10; uint64_t x_11; lean_object* x_12; lean_object* x_13;
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+x_9 = lean_ctor_get(x_1, 0);
+lean_inc(x_9);
+x_10 = lean_ctor_get(x_1, 1);
+lean_inc(x_10);
+x_11 = lean_ctor_get_uint64(x_1, sizeof(void*)*2);
+lean_dec(x_1);
+x_12 = lean_box_uint64(x_11);
+x_13 = lean_apply_3(x_5, x_9, x_10, x_12);
+return x_13;
+}
+case 6:
+{
+lean_object* x_14; lean_object* x_15; lean_object* x_16; uint64_t x_17; lean_object* x_18; lean_object* x_19;
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_2);
+x_14 = lean_ctor_get(x_1, 0);
+lean_inc(x_14);
+x_15 = lean_ctor_get(x_1, 1);
+lean_inc(x_15);
+x_16 = lean_ctor_get(x_1, 2);
+lean_inc(x_16);
+x_17 = lean_ctor_get_uint64(x_1, sizeof(void*)*3);
+lean_dec(x_1);
+x_18 = lean_box_uint64(x_17);
+x_19 = lean_apply_4(x_3, x_14, x_15, x_16, x_18);
+return x_19;
+}
+case 7:
+{
+lean_object* x_20; lean_object* x_21; lean_object* x_22; uint64_t x_23; lean_object* x_24; lean_object* x_25;
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+x_20 = lean_ctor_get(x_1, 0);
+lean_inc(x_20);
+x_21 = lean_ctor_get(x_1, 1);
+lean_inc(x_21);
+x_22 = lean_ctor_get(x_1, 2);
+lean_inc(x_22);
+x_23 = lean_ctor_get_uint64(x_1, sizeof(void*)*3);
+lean_dec(x_1);
+x_24 = lean_box_uint64(x_23);
+x_25 = lean_apply_4(x_2, x_20, x_21, x_22, x_24);
+return x_25;
+}
+case 8:
+{
+lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; uint64_t x_30; lean_object* x_31; lean_object* x_32;
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_3);
+lean_dec(x_2);
+x_26 = lean_ctor_get(x_1, 0);
+lean_inc(x_26);
+x_27 = lean_ctor_get(x_1, 1);
+lean_inc(x_27);
+x_28 = lean_ctor_get(x_1, 2);
+lean_inc(x_28);
+x_29 = lean_ctor_get(x_1, 3);
+lean_inc(x_29);
+x_30 = lean_ctor_get_uint64(x_1, sizeof(void*)*4);
+lean_dec(x_1);
+x_31 = lean_box_uint64(x_30);
+x_32 = lean_apply_5(x_4, x_26, x_27, x_28, x_29, x_31);
+return x_32;
+}
+case 10:
+{
+lean_object* x_33; lean_object* x_34; uint64_t x_35; lean_object* x_36; lean_object* x_37;
+lean_dec(x_8);
+lean_dec(x_7);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+x_33 = lean_ctor_get(x_1, 0);
+lean_inc(x_33);
+x_34 = lean_ctor_get(x_1, 1);
+lean_inc(x_34);
+x_35 = lean_ctor_get_uint64(x_1, sizeof(void*)*2);
+lean_dec(x_1);
+x_36 = lean_box_uint64(x_35);
+x_37 = lean_apply_3(x_6, x_33, x_34, x_36);
+return x_37;
+}
+case 11:
+{
+lean_object* x_38; lean_object* x_39; lean_object* x_40; uint64_t x_41; lean_object* x_42; lean_object* x_43;
+lean_dec(x_8);
+lean_dec(x_6);
+lean_dec(x_5);
+lean_dec(x_4);
+lean_dec(x_3);
+lean_dec(x_2);
+x_38 = lean_ctor_get(x_1, 0);
+lean_inc(x_38);
+x_39 = lean_ctor_get(x_1, 1);
+lean_inc(x_39);
+x_40 = lean_ctor_get(x_1, 2);
+lean_inc(x_40);
+x_41 = lean_ctor_get_uint64(x_1, sizeof(void*)*3);
+lean_dec(x_1);
+x_42 = lean_box_uint64(x_41);
+x_43 = lean_apply_4(x_7, x_38, x_39, x_40, x_42);
+return x_43;
+}
+default:
+{
+lean_object* x_44;
+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_44 = lean_apply_1(x_8, x_1);
+return x_44;
+}
+}
+}
+}
+lean_object* l_Lean_ForEachExpr_visit_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit_match__1___rarg), 8, 0);
+return x_2;
+}
+}
+lean_object* l_Lean_ForEachExpr_visit___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9;
@@ -107,15 +256,15 @@ x_9 = lean_apply_2(x_8, lean_box(0), x_6);
return x_9;
}
}
-lean_object* l_Lean_ForEachExpr_visit___main___rarg___lambda__2(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* l_Lean_ForEachExpr_visit___rarg___lambda__2(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) {
_start:
{
lean_object* x_8;
-x_8 = l_Lean_ForEachExpr_visit___main___rarg(x_1, x_2, x_3, x_4, x_5, x_6);
+x_8 = l_Lean_ForEachExpr_visit___rarg(x_1, x_2, x_3, x_4, x_5, x_6);
return x_8;
}
}
-lean_object* l_Lean_ForEachExpr_visit___main___rarg___lambda__3(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* l_Lean_ForEachExpr_visit___rarg___lambda__3(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) {
_start:
{
lean_object* x_10; lean_object* x_11; lean_object* x_12;
@@ -124,8 +273,8 @@ lean_inc(x_4);
lean_inc(x_3);
lean_inc(x_2);
lean_inc(x_1);
-x_10 = l_Lean_ForEachExpr_visit___main___rarg(x_1, x_2, x_3, x_4, x_5, x_6);
-x_11 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___main___rarg___lambda__2___boxed), 7, 6);
+x_10 = l_Lean_ForEachExpr_visit___rarg(x_1, x_2, x_3, x_4, x_5, x_6);
+x_11 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___rarg___lambda__2___boxed), 7, 6);
lean_closure_set(x_11, 0, x_1);
lean_closure_set(x_11, 1, x_2);
lean_closure_set(x_11, 2, x_3);
@@ -136,179 +285,176 @@ x_12 = lean_apply_4(x_8, lean_box(0), lean_box(0), x_10, x_11);
return x_12;
}
}
-lean_object* l_Lean_ForEachExpr_visit___main___rarg___lambda__4(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, uint8_t x_9) {
+lean_object* l_Lean_ForEachExpr_visit___rarg___lambda__4(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, uint8_t x_8) {
_start:
{
-lean_object* x_10;
-if (x_9 == 0)
+if (x_8 == 0)
{
-switch (lean_obj_tag(x_1)) {
-case 5:
-{
-lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
-x_16 = lean_ctor_get(x_1, 0);
-lean_inc(x_16);
-x_17 = lean_ctor_get(x_1, 1);
-lean_inc(x_17);
-lean_dec(x_1);
-lean_inc(x_7);
-lean_inc(x_6);
-lean_inc(x_5);
-lean_inc(x_4);
-lean_inc(x_3);
-x_18 = l_Lean_ForEachExpr_visit___main___rarg(x_3, x_4, x_5, x_6, x_16, x_7);
-x_19 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___main___rarg___lambda__2___boxed), 7, 6);
-lean_closure_set(x_19, 0, x_3);
-lean_closure_set(x_19, 1, x_4);
-lean_closure_set(x_19, 2, x_5);
-lean_closure_set(x_19, 3, x_6);
-lean_closure_set(x_19, 4, x_17);
-lean_closure_set(x_19, 5, x_7);
-x_20 = lean_apply_4(x_8, lean_box(0), lean_box(0), x_18, x_19);
-return x_20;
-}
-case 6:
-{
-lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25;
-x_21 = lean_ctor_get(x_1, 1);
-lean_inc(x_21);
-x_22 = lean_ctor_get(x_1, 2);
-lean_inc(x_22);
-lean_dec(x_1);
-lean_inc(x_7);
-lean_inc(x_6);
-lean_inc(x_5);
-lean_inc(x_4);
-lean_inc(x_3);
-x_23 = l_Lean_ForEachExpr_visit___main___rarg(x_3, x_4, x_5, x_6, x_21, x_7);
-x_24 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___main___rarg___lambda__2___boxed), 7, 6);
-lean_closure_set(x_24, 0, x_3);
-lean_closure_set(x_24, 1, x_4);
-lean_closure_set(x_24, 2, x_5);
-lean_closure_set(x_24, 3, x_6);
-lean_closure_set(x_24, 4, x_22);
-lean_closure_set(x_24, 5, x_7);
-x_25 = lean_apply_4(x_8, lean_box(0), lean_box(0), x_23, x_24);
-return x_25;
-}
-case 7:
-{
-lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30;
-x_26 = lean_ctor_get(x_1, 1);
-lean_inc(x_26);
-x_27 = lean_ctor_get(x_1, 2);
-lean_inc(x_27);
-lean_dec(x_1);
-lean_inc(x_7);
-lean_inc(x_6);
-lean_inc(x_5);
-lean_inc(x_4);
-lean_inc(x_3);
-x_28 = l_Lean_ForEachExpr_visit___main___rarg(x_3, x_4, x_5, x_6, x_26, x_7);
-x_29 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___main___rarg___lambda__2___boxed), 7, 6);
-lean_closure_set(x_29, 0, x_3);
-lean_closure_set(x_29, 1, x_4);
-lean_closure_set(x_29, 2, x_5);
-lean_closure_set(x_29, 3, x_6);
-lean_closure_set(x_29, 4, x_27);
-lean_closure_set(x_29, 5, x_7);
-x_30 = lean_apply_4(x_8, lean_box(0), lean_box(0), x_28, x_29);
-return x_30;
-}
-case 8:
-{
-lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36;
-x_31 = lean_ctor_get(x_1, 1);
-lean_inc(x_31);
-x_32 = lean_ctor_get(x_1, 2);
-lean_inc(x_32);
-x_33 = lean_ctor_get(x_1, 3);
-lean_inc(x_33);
-lean_dec(x_1);
-lean_inc(x_7);
-lean_inc(x_6);
-lean_inc(x_5);
-lean_inc(x_4);
-lean_inc(x_3);
-x_34 = l_Lean_ForEachExpr_visit___main___rarg(x_3, x_4, x_5, x_6, x_31, x_7);
-lean_inc(x_8);
-x_35 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___main___rarg___lambda__3___boxed), 9, 8);
-lean_closure_set(x_35, 0, x_3);
-lean_closure_set(x_35, 1, x_4);
-lean_closure_set(x_35, 2, x_5);
-lean_closure_set(x_35, 3, x_6);
-lean_closure_set(x_35, 4, x_32);
-lean_closure_set(x_35, 5, x_7);
-lean_closure_set(x_35, 6, x_33);
-lean_closure_set(x_35, 7, x_8);
-x_36 = lean_apply_4(x_8, lean_box(0), lean_box(0), x_34, x_35);
-return x_36;
-}
-case 10:
-{
-lean_object* x_37; lean_object* x_38;
-lean_dec(x_8);
-x_37 = lean_ctor_get(x_1, 1);
-lean_inc(x_37);
-lean_dec(x_1);
-x_38 = l_Lean_ForEachExpr_visit___main___rarg(x_3, x_4, x_5, x_6, x_37, x_7);
-return x_38;
-}
-case 11:
-{
-lean_object* x_39; lean_object* x_40;
-lean_dec(x_8);
-x_39 = lean_ctor_get(x_1, 2);
-lean_inc(x_39);
-lean_dec(x_1);
-x_40 = l_Lean_ForEachExpr_visit___main___rarg(x_3, x_4, x_5, x_6, x_39, x_7);
-return x_40;
-}
-default:
-{
-lean_object* x_41;
-lean_dec(x_8);
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12;
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_9 = lean_ctor_get(x_1, 0);
+lean_inc(x_9);
lean_dec(x_1);
-x_41 = lean_box(0);
-x_10 = x_41;
-goto block_15;
-}
-}
+x_10 = lean_ctor_get(x_9, 1);
+lean_inc(x_10);
+lean_dec(x_9);
+x_11 = lean_box(0);
+x_12 = lean_apply_2(x_10, lean_box(0), x_11);
+return x_12;
}
else
{
-lean_object* x_42;
-lean_dec(x_8);
+switch (lean_obj_tag(x_2)) {
+case 5:
+{
+lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
+x_13 = lean_ctor_get(x_2, 0);
+lean_inc(x_13);
+x_14 = lean_ctor_get(x_2, 1);
+lean_inc(x_14);
+lean_dec(x_2);
+lean_inc(x_6);
+lean_inc(x_5);
+lean_inc(x_1);
+lean_inc(x_4);
+lean_inc(x_3);
+x_15 = l_Lean_ForEachExpr_visit___rarg(x_3, x_4, x_1, x_5, x_13, x_6);
+x_16 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___rarg___lambda__2___boxed), 7, 6);
+lean_closure_set(x_16, 0, x_3);
+lean_closure_set(x_16, 1, x_4);
+lean_closure_set(x_16, 2, x_1);
+lean_closure_set(x_16, 3, x_5);
+lean_closure_set(x_16, 4, x_14);
+lean_closure_set(x_16, 5, x_6);
+x_17 = lean_apply_4(x_7, lean_box(0), lean_box(0), x_15, x_16);
+return x_17;
+}
+case 6:
+{
+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_2, 1);
+lean_inc(x_18);
+x_19 = lean_ctor_get(x_2, 2);
+lean_inc(x_19);
+lean_dec(x_2);
+lean_inc(x_6);
+lean_inc(x_5);
+lean_inc(x_1);
+lean_inc(x_4);
+lean_inc(x_3);
+x_20 = l_Lean_ForEachExpr_visit___rarg(x_3, x_4, x_1, x_5, x_18, x_6);
+x_21 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___rarg___lambda__2___boxed), 7, 6);
+lean_closure_set(x_21, 0, x_3);
+lean_closure_set(x_21, 1, x_4);
+lean_closure_set(x_21, 2, x_1);
+lean_closure_set(x_21, 3, x_5);
+lean_closure_set(x_21, 4, x_19);
+lean_closure_set(x_21, 5, x_6);
+x_22 = lean_apply_4(x_7, lean_box(0), lean_box(0), x_20, x_21);
+return x_22;
+}
+case 7:
+{
+lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
+x_23 = lean_ctor_get(x_2, 1);
+lean_inc(x_23);
+x_24 = lean_ctor_get(x_2, 2);
+lean_inc(x_24);
+lean_dec(x_2);
+lean_inc(x_6);
+lean_inc(x_5);
+lean_inc(x_1);
+lean_inc(x_4);
+lean_inc(x_3);
+x_25 = l_Lean_ForEachExpr_visit___rarg(x_3, x_4, x_1, x_5, x_23, x_6);
+x_26 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___rarg___lambda__2___boxed), 7, 6);
+lean_closure_set(x_26, 0, x_3);
+lean_closure_set(x_26, 1, x_4);
+lean_closure_set(x_26, 2, x_1);
+lean_closure_set(x_26, 3, x_5);
+lean_closure_set(x_26, 4, x_24);
+lean_closure_set(x_26, 5, x_6);
+x_27 = lean_apply_4(x_7, lean_box(0), lean_box(0), x_25, x_26);
+return x_27;
+}
+case 8:
+{
+lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
+x_28 = lean_ctor_get(x_2, 1);
+lean_inc(x_28);
+x_29 = lean_ctor_get(x_2, 2);
+lean_inc(x_29);
+x_30 = lean_ctor_get(x_2, 3);
+lean_inc(x_30);
+lean_dec(x_2);
+lean_inc(x_6);
+lean_inc(x_5);
+lean_inc(x_1);
+lean_inc(x_4);
+lean_inc(x_3);
+x_31 = l_Lean_ForEachExpr_visit___rarg(x_3, x_4, x_1, x_5, x_28, x_6);
+lean_inc(x_7);
+x_32 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___rarg___lambda__3___boxed), 9, 8);
+lean_closure_set(x_32, 0, x_3);
+lean_closure_set(x_32, 1, x_4);
+lean_closure_set(x_32, 2, x_1);
+lean_closure_set(x_32, 3, x_5);
+lean_closure_set(x_32, 4, x_29);
+lean_closure_set(x_32, 5, x_6);
+lean_closure_set(x_32, 6, x_30);
+lean_closure_set(x_32, 7, x_7);
+x_33 = lean_apply_4(x_7, lean_box(0), lean_box(0), x_31, x_32);
+return x_33;
+}
+case 10:
+{
+lean_object* x_34; lean_object* x_35;
+lean_dec(x_7);
+x_34 = lean_ctor_get(x_2, 1);
+lean_inc(x_34);
+lean_dec(x_2);
+x_35 = l_Lean_ForEachExpr_visit___rarg(x_3, x_4, x_1, x_5, x_34, x_6);
+return x_35;
+}
+case 11:
+{
+lean_object* x_36; lean_object* x_37;
+lean_dec(x_7);
+x_36 = lean_ctor_get(x_2, 2);
+lean_inc(x_36);
+lean_dec(x_2);
+x_37 = l_Lean_ForEachExpr_visit___rarg(x_3, x_4, x_1, x_5, x_36, x_6);
+return x_37;
+}
+default:
+{
+lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41;
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_38 = lean_ctor_get(x_1, 0);
+lean_inc(x_38);
lean_dec(x_1);
-x_42 = lean_box(0);
-x_10 = x_42;
-goto block_15;
-}
-block_15:
-{
-lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
-lean_dec(x_10);
-x_11 = lean_ctor_get(x_5, 0);
-lean_inc(x_11);
-lean_dec(x_5);
-x_12 = lean_ctor_get(x_11, 1);
-lean_inc(x_12);
-lean_dec(x_11);
-x_13 = lean_box(0);
-x_14 = lean_apply_2(x_12, lean_box(0), x_13);
-return x_14;
+x_39 = lean_ctor_get(x_38, 1);
+lean_inc(x_39);
+lean_dec(x_38);
+x_40 = lean_box(0);
+x_41 = lean_apply_2(x_39, lean_box(0), x_40);
+return x_41;
}
}
}
-lean_object* l_Lean_ForEachExpr_visit___main___rarg___lambda__5(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+}
+}
+lean_object* l_Lean_ForEachExpr_visit___rarg___lambda__5(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8;
@@ -322,104 +468,83 @@ lean_ctor_set(x_8, 1, x_6);
return x_8;
}
}
-lean_object* l_Lean_ForEachExpr_visit___main___rarg___lambda__6(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4; lean_object* x_5;
-x_4 = lean_ctor_get(x_1, 1);
-lean_inc(x_4);
-lean_dec(x_1);
-x_5 = lean_apply_2(x_4, lean_box(0), x_2);
-return x_5;
-}
-}
-lean_object* l_Lean_ForEachExpr_visit___main___rarg___lambda__7(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* l_Lean_ForEachExpr_visit___rarg___lambda__6(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
lean_inc(x_6);
-x_7 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___main___rarg___lambda__5), 3, 2);
+x_7 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___rarg___lambda__5), 3, 2);
lean_closure_set(x_7, 0, x_1);
lean_closure_set(x_7, 1, x_6);
x_8 = lean_alloc_closure((void*)(l_ST_Prim_Ref_modifyGetUnsafe___rarg___boxed), 3, 2);
lean_closure_set(x_8, 0, x_2);
lean_closure_set(x_8, 1, x_7);
x_9 = lean_apply_2(x_3, lean_box(0), x_8);
-x_10 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___main___rarg___lambda__6___boxed), 3, 2);
+x_10 = lean_alloc_closure((void*)(l_ReaderT_Monad___rarg___lambda__4___boxed), 3, 2);
lean_closure_set(x_10, 0, x_4);
lean_closure_set(x_10, 1, x_6);
x_11 = lean_apply_4(x_5, lean_box(0), lean_box(0), x_9, x_10);
return x_11;
}
}
-lean_object* l_Lean_ForEachExpr_visit___main___rarg___lambda__8(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* l_Lean_ForEachExpr_visit___rarg___lambda__7(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:
{
if (lean_obj_tag(x_8) == 0)
{
-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; lean_object* x_16; lean_object* x_17; lean_object* x_18;
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
lean_inc(x_1);
lean_inc(x_2);
x_9 = lean_apply_1(x_1, x_2);
-x_10 = lean_ctor_get(x_3, 0);
-lean_inc(x_10);
-x_11 = lean_ctor_get(x_10, 0);
-lean_inc(x_11);
-x_12 = lean_ctor_get(x_11, 0);
-lean_inc(x_12);
-lean_dec(x_11);
-x_13 = l_notM___rarg___closed__1;
-x_14 = lean_apply_4(x_12, lean_box(0), lean_box(0), x_13, x_9);
lean_inc(x_7);
lean_inc(x_6);
lean_inc(x_5);
-lean_inc(x_3);
lean_inc(x_2);
-x_15 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___main___rarg___lambda__4___boxed), 9, 8);
-lean_closure_set(x_15, 0, x_2);
-lean_closure_set(x_15, 1, x_3);
-lean_closure_set(x_15, 2, x_4);
-lean_closure_set(x_15, 3, x_5);
-lean_closure_set(x_15, 4, x_3);
-lean_closure_set(x_15, 5, x_1);
-lean_closure_set(x_15, 6, x_6);
-lean_closure_set(x_15, 7, x_7);
+lean_inc(x_3);
+x_10 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___rarg___lambda__4___boxed), 8, 7);
+lean_closure_set(x_10, 0, x_3);
+lean_closure_set(x_10, 1, x_2);
+lean_closure_set(x_10, 2, x_4);
+lean_closure_set(x_10, 3, x_5);
+lean_closure_set(x_10, 4, x_1);
+lean_closure_set(x_10, 5, x_6);
+lean_closure_set(x_10, 6, x_7);
lean_inc(x_7);
-x_16 = lean_apply_4(x_7, lean_box(0), lean_box(0), x_14, x_15);
+x_11 = lean_apply_4(x_7, lean_box(0), lean_box(0), x_9, x_10);
lean_inc(x_7);
-x_17 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___main___rarg___lambda__7), 6, 5);
-lean_closure_set(x_17, 0, x_2);
-lean_closure_set(x_17, 1, x_6);
-lean_closure_set(x_17, 2, x_5);
-lean_closure_set(x_17, 3, x_10);
-lean_closure_set(x_17, 4, x_7);
-x_18 = lean_apply_4(x_7, lean_box(0), lean_box(0), x_16, x_17);
-return x_18;
+x_12 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___rarg___lambda__6), 6, 5);
+lean_closure_set(x_12, 0, x_2);
+lean_closure_set(x_12, 1, x_6);
+lean_closure_set(x_12, 2, x_5);
+lean_closure_set(x_12, 3, x_3);
+lean_closure_set(x_12, 4, x_7);
+x_13 = lean_apply_4(x_7, lean_box(0), lean_box(0), x_11, x_12);
+return x_13;
}
else
{
-lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
+lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_2);
lean_dec(x_1);
-x_19 = lean_ctor_get(x_8, 0);
-lean_inc(x_19);
+x_14 = lean_ctor_get(x_8, 0);
+lean_inc(x_14);
lean_dec(x_8);
-x_20 = lean_ctor_get(x_3, 0);
-lean_inc(x_20);
+x_15 = lean_ctor_get(x_3, 0);
+lean_inc(x_15);
lean_dec(x_3);
-x_21 = lean_ctor_get(x_20, 1);
-lean_inc(x_21);
-lean_dec(x_20);
-x_22 = lean_apply_2(x_21, lean_box(0), x_19);
-return x_22;
+x_16 = lean_ctor_get(x_15, 1);
+lean_inc(x_16);
+lean_dec(x_15);
+x_17 = lean_apply_2(x_16, lean_box(0), x_14);
+return x_17;
}
}
}
-lean_object* l_Lean_ForEachExpr_visit___main___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* l_Lean_ForEachExpr_visit___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) {
_start:
{
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;
@@ -434,13 +559,13 @@ lean_inc(x_2);
x_9 = lean_apply_2(x_2, lean_box(0), x_8);
lean_inc(x_3);
lean_inc(x_5);
-x_10 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___main___rarg___lambda__1___boxed), 3, 2);
+x_10 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___rarg___lambda__1___boxed), 3, 2);
lean_closure_set(x_10, 0, x_5);
lean_closure_set(x_10, 1, x_3);
lean_inc(x_7);
x_11 = lean_apply_4(x_7, lean_box(0), lean_box(0), x_9, x_10);
lean_inc(x_7);
-x_12 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___main___rarg___lambda__8), 8, 7);
+x_12 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___rarg___lambda__7), 8, 7);
lean_closure_set(x_12, 0, x_4);
lean_closure_set(x_12, 1, x_5);
lean_closure_set(x_12, 2, x_3);
@@ -452,69 +577,6 @@ x_13 = lean_apply_4(x_7, lean_box(0), lean_box(0), x_11, x_12);
return x_13;
}
}
-lean_object* l_Lean_ForEachExpr_visit___main(lean_object* x_1, lean_object* x_2) {
-_start:
-{
-lean_object* x_3;
-x_3 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___main___rarg), 6, 0);
-return x_3;
-}
-}
-lean_object* l_Lean_ForEachExpr_visit___main___rarg___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4;
-x_4 = l_Lean_ForEachExpr_visit___main___rarg___lambda__1(x_1, x_2, x_3);
-lean_dec(x_3);
-return x_4;
-}
-}
-lean_object* l_Lean_ForEachExpr_visit___main___rarg___lambda__2___boxed(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) {
-_start:
-{
-lean_object* x_8;
-x_8 = l_Lean_ForEachExpr_visit___main___rarg___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7);
-lean_dec(x_7);
-return x_8;
-}
-}
-lean_object* l_Lean_ForEachExpr_visit___main___rarg___lambda__3___boxed(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) {
-_start:
-{
-lean_object* x_10;
-x_10 = l_Lean_ForEachExpr_visit___main___rarg___lambda__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
-lean_dec(x_9);
-return x_10;
-}
-}
-lean_object* l_Lean_ForEachExpr_visit___main___rarg___lambda__4___boxed(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) {
-_start:
-{
-uint8_t x_10; lean_object* x_11;
-x_10 = lean_unbox(x_9);
-lean_dec(x_9);
-x_11 = l_Lean_ForEachExpr_visit___main___rarg___lambda__4(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_10);
-lean_dec(x_2);
-return x_11;
-}
-}
-lean_object* l_Lean_ForEachExpr_visit___main___rarg___lambda__6___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
-_start:
-{
-lean_object* x_4;
-x_4 = l_Lean_ForEachExpr_visit___main___rarg___lambda__6(x_1, x_2, x_3);
-lean_dec(x_3);
-return x_4;
-}
-}
-lean_object* l_Lean_ForEachExpr_visit___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) {
-_start:
-{
-lean_object* x_7;
-x_7 = l_Lean_ForEachExpr_visit___main___rarg(x_1, x_2, x_3, x_4, x_5, x_6);
-return x_7;
-}
-}
lean_object* l_Lean_ForEachExpr_visit(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -523,6 +585,43 @@ x_3 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___rarg), 6, 0);
return x_3;
}
}
+lean_object* l_Lean_ForEachExpr_visit___rarg___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+lean_object* x_4;
+x_4 = l_Lean_ForEachExpr_visit___rarg___lambda__1(x_1, x_2, x_3);
+lean_dec(x_3);
+return x_4;
+}
+}
+lean_object* l_Lean_ForEachExpr_visit___rarg___lambda__2___boxed(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) {
+_start:
+{
+lean_object* x_8;
+x_8 = l_Lean_ForEachExpr_visit___rarg___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7);
+lean_dec(x_7);
+return x_8;
+}
+}
+lean_object* l_Lean_ForEachExpr_visit___rarg___lambda__3___boxed(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) {
+_start:
+{
+lean_object* x_10;
+x_10 = l_Lean_ForEachExpr_visit___rarg___lambda__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
+lean_dec(x_9);
+return x_10;
+}
+}
+lean_object* l_Lean_ForEachExpr_visit___rarg___lambda__4___boxed(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:
+{
+uint8_t x_9; lean_object* x_10;
+x_9 = lean_unbox(x_8);
+lean_dec(x_8);
+x_10 = l_Lean_ForEachExpr_visit___rarg___lambda__4(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_9);
+return x_10;
+}
+}
lean_object* l_Std_mkHashMap___at_Lean_Expr_forEach_x27___spec__1(lean_object* x_1) {
_start:
{
@@ -538,7 +637,7 @@ lean_object* x_8; lean_object* x_9; lean_object* x_10;
lean_inc(x_7);
lean_inc(x_3);
lean_inc(x_2);
-x_8 = l_Lean_ForEachExpr_visit___main___rarg(x_1, x_2, x_3, x_4, x_5, x_7);
+x_8 = l_Lean_ForEachExpr_visit___rarg(x_1, x_2, x_3, x_4, x_5, x_7);
lean_inc(x_6);
x_9 = lean_alloc_closure((void*)(l_StateRefT_x27_run___rarg___lambda__2), 5, 4);
lean_closure_set(x_9, 0, x_7);
@@ -963,7 +1062,7 @@ return x_36;
}
}
}
-lean_object* l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
@@ -978,7 +1077,7 @@ x_7 = lean_apply_2(x_6, lean_box(0), x_4);
return x_7;
}
}
-lean_object* l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg___lambda__2(lean_object* x_1, lean_object* x_2) {
+lean_object* l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg___lambda__2(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3; lean_object* x_4; uint8_t x_5; lean_object* x_6; lean_object* x_7;
@@ -994,15 +1093,15 @@ x_7 = lean_apply_2(x_4, lean_box(0), x_6);
return x_7;
}
}
-lean_object* l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg___lambda__3(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* l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg___lambda__3(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) {
_start:
{
lean_object* x_8;
-x_8 = l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg(x_1, x_2, x_3, x_4, x_5, x_6);
+x_8 = l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg(x_1, x_2, x_3, x_4, x_5, x_6);
return x_8;
}
}
-lean_object* l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg___lambda__4(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* l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg___lambda__4(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) {
_start:
{
lean_object* x_10; lean_object* x_11; lean_object* x_12;
@@ -1011,8 +1110,8 @@ lean_inc(x_4);
lean_inc(x_3);
lean_inc(x_2);
lean_inc(x_1);
-x_10 = l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg(x_1, x_2, x_3, x_4, x_5, x_6);
-x_11 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg___lambda__3___boxed), 7, 6);
+x_10 = l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg(x_1, x_2, x_3, x_4, x_5, x_6);
+x_11 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg___lambda__3___boxed), 7, 6);
lean_closure_set(x_11, 0, x_1);
lean_closure_set(x_11, 1, x_2);
lean_closure_set(x_11, 2, x_3);
@@ -1023,179 +1122,176 @@ x_12 = lean_apply_4(x_8, lean_box(0), lean_box(0), x_10, x_11);
return x_12;
}
}
-lean_object* l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg___lambda__5(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, uint8_t x_9) {
+lean_object* l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg___lambda__5(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, uint8_t x_8) {
_start:
{
-lean_object* x_10;
-if (x_9 == 0)
+if (x_8 == 0)
{
-switch (lean_obj_tag(x_1)) {
-case 5:
-{
-lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
-x_16 = lean_ctor_get(x_1, 0);
-lean_inc(x_16);
-x_17 = lean_ctor_get(x_1, 1);
-lean_inc(x_17);
-lean_dec(x_1);
-lean_inc(x_7);
-lean_inc(x_6);
-lean_inc(x_5);
-lean_inc(x_4);
-lean_inc(x_3);
-x_18 = l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg(x_3, x_4, x_5, x_6, x_16, x_7);
-x_19 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg___lambda__3___boxed), 7, 6);
-lean_closure_set(x_19, 0, x_3);
-lean_closure_set(x_19, 1, x_4);
-lean_closure_set(x_19, 2, x_5);
-lean_closure_set(x_19, 3, x_6);
-lean_closure_set(x_19, 4, x_17);
-lean_closure_set(x_19, 5, x_7);
-x_20 = lean_apply_4(x_8, lean_box(0), lean_box(0), x_18, x_19);
-return x_20;
-}
-case 6:
-{
-lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25;
-x_21 = lean_ctor_get(x_1, 1);
-lean_inc(x_21);
-x_22 = lean_ctor_get(x_1, 2);
-lean_inc(x_22);
-lean_dec(x_1);
-lean_inc(x_7);
-lean_inc(x_6);
-lean_inc(x_5);
-lean_inc(x_4);
-lean_inc(x_3);
-x_23 = l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg(x_3, x_4, x_5, x_6, x_21, x_7);
-x_24 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg___lambda__3___boxed), 7, 6);
-lean_closure_set(x_24, 0, x_3);
-lean_closure_set(x_24, 1, x_4);
-lean_closure_set(x_24, 2, x_5);
-lean_closure_set(x_24, 3, x_6);
-lean_closure_set(x_24, 4, x_22);
-lean_closure_set(x_24, 5, x_7);
-x_25 = lean_apply_4(x_8, lean_box(0), lean_box(0), x_23, x_24);
-return x_25;
-}
-case 7:
-{
-lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30;
-x_26 = lean_ctor_get(x_1, 1);
-lean_inc(x_26);
-x_27 = lean_ctor_get(x_1, 2);
-lean_inc(x_27);
-lean_dec(x_1);
-lean_inc(x_7);
-lean_inc(x_6);
-lean_inc(x_5);
-lean_inc(x_4);
-lean_inc(x_3);
-x_28 = l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg(x_3, x_4, x_5, x_6, x_26, x_7);
-x_29 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg___lambda__3___boxed), 7, 6);
-lean_closure_set(x_29, 0, x_3);
-lean_closure_set(x_29, 1, x_4);
-lean_closure_set(x_29, 2, x_5);
-lean_closure_set(x_29, 3, x_6);
-lean_closure_set(x_29, 4, x_27);
-lean_closure_set(x_29, 5, x_7);
-x_30 = lean_apply_4(x_8, lean_box(0), lean_box(0), x_28, x_29);
-return x_30;
-}
-case 8:
-{
-lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36;
-x_31 = lean_ctor_get(x_1, 1);
-lean_inc(x_31);
-x_32 = lean_ctor_get(x_1, 2);
-lean_inc(x_32);
-x_33 = lean_ctor_get(x_1, 3);
-lean_inc(x_33);
-lean_dec(x_1);
-lean_inc(x_7);
-lean_inc(x_6);
-lean_inc(x_5);
-lean_inc(x_4);
-lean_inc(x_3);
-x_34 = l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg(x_3, x_4, x_5, x_6, x_31, x_7);
-lean_inc(x_8);
-x_35 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg___lambda__4___boxed), 9, 8);
-lean_closure_set(x_35, 0, x_3);
-lean_closure_set(x_35, 1, x_4);
-lean_closure_set(x_35, 2, x_5);
-lean_closure_set(x_35, 3, x_6);
-lean_closure_set(x_35, 4, x_32);
-lean_closure_set(x_35, 5, x_7);
-lean_closure_set(x_35, 6, x_33);
-lean_closure_set(x_35, 7, x_8);
-x_36 = lean_apply_4(x_8, lean_box(0), lean_box(0), x_34, x_35);
-return x_36;
-}
-case 10:
-{
-lean_object* x_37; lean_object* x_38;
-lean_dec(x_8);
-x_37 = lean_ctor_get(x_1, 1);
-lean_inc(x_37);
-lean_dec(x_1);
-x_38 = l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg(x_3, x_4, x_5, x_6, x_37, x_7);
-return x_38;
-}
-case 11:
-{
-lean_object* x_39; lean_object* x_40;
-lean_dec(x_8);
-x_39 = lean_ctor_get(x_1, 2);
-lean_inc(x_39);
-lean_dec(x_1);
-x_40 = l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg(x_3, x_4, x_5, x_6, x_39, x_7);
-return x_40;
-}
-default:
-{
-lean_object* x_41;
-lean_dec(x_8);
+lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12;
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_9 = lean_ctor_get(x_1, 0);
+lean_inc(x_9);
lean_dec(x_1);
-x_41 = lean_box(0);
-x_10 = x_41;
-goto block_15;
-}
-}
+x_10 = lean_ctor_get(x_9, 1);
+lean_inc(x_10);
+lean_dec(x_9);
+x_11 = lean_box(0);
+x_12 = lean_apply_2(x_10, lean_box(0), x_11);
+return x_12;
}
else
{
-lean_object* x_42;
-lean_dec(x_8);
+switch (lean_obj_tag(x_2)) {
+case 5:
+{
+lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
+x_13 = lean_ctor_get(x_2, 0);
+lean_inc(x_13);
+x_14 = lean_ctor_get(x_2, 1);
+lean_inc(x_14);
+lean_dec(x_2);
+lean_inc(x_6);
+lean_inc(x_5);
+lean_inc(x_1);
+lean_inc(x_4);
+lean_inc(x_3);
+x_15 = l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg(x_3, x_4, x_1, x_5, x_13, x_6);
+x_16 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg___lambda__3___boxed), 7, 6);
+lean_closure_set(x_16, 0, x_3);
+lean_closure_set(x_16, 1, x_4);
+lean_closure_set(x_16, 2, x_1);
+lean_closure_set(x_16, 3, x_5);
+lean_closure_set(x_16, 4, x_14);
+lean_closure_set(x_16, 5, x_6);
+x_17 = lean_apply_4(x_7, lean_box(0), lean_box(0), x_15, x_16);
+return x_17;
+}
+case 6:
+{
+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_2, 1);
+lean_inc(x_18);
+x_19 = lean_ctor_get(x_2, 2);
+lean_inc(x_19);
+lean_dec(x_2);
+lean_inc(x_6);
+lean_inc(x_5);
+lean_inc(x_1);
+lean_inc(x_4);
+lean_inc(x_3);
+x_20 = l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg(x_3, x_4, x_1, x_5, x_18, x_6);
+x_21 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg___lambda__3___boxed), 7, 6);
+lean_closure_set(x_21, 0, x_3);
+lean_closure_set(x_21, 1, x_4);
+lean_closure_set(x_21, 2, x_1);
+lean_closure_set(x_21, 3, x_5);
+lean_closure_set(x_21, 4, x_19);
+lean_closure_set(x_21, 5, x_6);
+x_22 = lean_apply_4(x_7, lean_box(0), lean_box(0), x_20, x_21);
+return x_22;
+}
+case 7:
+{
+lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
+x_23 = lean_ctor_get(x_2, 1);
+lean_inc(x_23);
+x_24 = lean_ctor_get(x_2, 2);
+lean_inc(x_24);
+lean_dec(x_2);
+lean_inc(x_6);
+lean_inc(x_5);
+lean_inc(x_1);
+lean_inc(x_4);
+lean_inc(x_3);
+x_25 = l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg(x_3, x_4, x_1, x_5, x_23, x_6);
+x_26 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg___lambda__3___boxed), 7, 6);
+lean_closure_set(x_26, 0, x_3);
+lean_closure_set(x_26, 1, x_4);
+lean_closure_set(x_26, 2, x_1);
+lean_closure_set(x_26, 3, x_5);
+lean_closure_set(x_26, 4, x_24);
+lean_closure_set(x_26, 5, x_6);
+x_27 = lean_apply_4(x_7, lean_box(0), lean_box(0), x_25, x_26);
+return x_27;
+}
+case 8:
+{
+lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
+x_28 = lean_ctor_get(x_2, 1);
+lean_inc(x_28);
+x_29 = lean_ctor_get(x_2, 2);
+lean_inc(x_29);
+x_30 = lean_ctor_get(x_2, 3);
+lean_inc(x_30);
+lean_dec(x_2);
+lean_inc(x_6);
+lean_inc(x_5);
+lean_inc(x_1);
+lean_inc(x_4);
+lean_inc(x_3);
+x_31 = l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg(x_3, x_4, x_1, x_5, x_28, x_6);
+lean_inc(x_7);
+x_32 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg___lambda__4___boxed), 9, 8);
+lean_closure_set(x_32, 0, x_3);
+lean_closure_set(x_32, 1, x_4);
+lean_closure_set(x_32, 2, x_1);
+lean_closure_set(x_32, 3, x_5);
+lean_closure_set(x_32, 4, x_29);
+lean_closure_set(x_32, 5, x_6);
+lean_closure_set(x_32, 6, x_30);
+lean_closure_set(x_32, 7, x_7);
+x_33 = lean_apply_4(x_7, lean_box(0), lean_box(0), x_31, x_32);
+return x_33;
+}
+case 10:
+{
+lean_object* x_34; lean_object* x_35;
+lean_dec(x_7);
+x_34 = lean_ctor_get(x_2, 1);
+lean_inc(x_34);
+lean_dec(x_2);
+x_35 = l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg(x_3, x_4, x_1, x_5, x_34, x_6);
+return x_35;
+}
+case 11:
+{
+lean_object* x_36; lean_object* x_37;
+lean_dec(x_7);
+x_36 = lean_ctor_get(x_2, 2);
+lean_inc(x_36);
+lean_dec(x_2);
+x_37 = l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg(x_3, x_4, x_1, x_5, x_36, x_6);
+return x_37;
+}
+default:
+{
+lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41;
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_38 = lean_ctor_get(x_1, 0);
+lean_inc(x_38);
lean_dec(x_1);
-x_42 = lean_box(0);
-x_10 = x_42;
-goto block_15;
-}
-block_15:
-{
-lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
-lean_dec(x_10);
-x_11 = lean_ctor_get(x_5, 0);
-lean_inc(x_11);
-lean_dec(x_5);
-x_12 = lean_ctor_get(x_11, 1);
-lean_inc(x_12);
-lean_dec(x_11);
-x_13 = lean_box(0);
-x_14 = lean_apply_2(x_12, lean_box(0), x_13);
-return x_14;
+x_39 = lean_ctor_get(x_38, 1);
+lean_inc(x_39);
+lean_dec(x_38);
+x_40 = lean_box(0);
+x_41 = lean_apply_2(x_39, lean_box(0), x_40);
+return x_41;
}
}
}
-lean_object* l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg___lambda__6(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+}
+}
+lean_object* l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg___lambda__6(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4; lean_object* x_5; lean_object* x_6;
@@ -1207,98 +1303,88 @@ lean_ctor_set(x_6, 1, x_4);
return x_6;
}
}
-lean_object* l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg___lambda__7(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* l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg___lambda__7(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
lean_inc(x_6);
-x_7 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg___lambda__6), 3, 2);
+x_7 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg___lambda__6), 3, 2);
lean_closure_set(x_7, 0, x_1);
lean_closure_set(x_7, 1, x_6);
x_8 = lean_alloc_closure((void*)(l_ST_Prim_Ref_modifyGetUnsafe___rarg___boxed), 3, 2);
lean_closure_set(x_8, 0, x_2);
lean_closure_set(x_8, 1, x_7);
x_9 = lean_apply_2(x_3, lean_box(0), x_8);
-x_10 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___main___rarg___lambda__6___boxed), 3, 2);
+x_10 = lean_alloc_closure((void*)(l_ReaderT_Monad___rarg___lambda__4___boxed), 3, 2);
lean_closure_set(x_10, 0, x_4);
lean_closure_set(x_10, 1, x_6);
x_11 = lean_apply_4(x_5, lean_box(0), lean_box(0), x_9, x_10);
return x_11;
}
}
-lean_object* l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg___lambda__8(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* l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg___lambda__8(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:
{
if (lean_obj_tag(x_8) == 0)
{
-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; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
+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;
lean_inc(x_1);
lean_inc(x_2);
x_9 = lean_apply_1(x_1, x_2);
lean_inc(x_3);
-x_10 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg___lambda__2___boxed), 2, 1);
+x_10 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg___lambda__2___boxed), 2, 1);
lean_closure_set(x_10, 0, x_3);
lean_inc(x_4);
x_11 = lean_apply_4(x_4, lean_box(0), lean_box(0), x_9, x_10);
-x_12 = lean_ctor_get(x_3, 0);
-lean_inc(x_12);
-x_13 = lean_ctor_get(x_12, 0);
-lean_inc(x_13);
-x_14 = lean_ctor_get(x_13, 0);
-lean_inc(x_14);
-lean_dec(x_13);
-x_15 = l_notM___rarg___closed__1;
-x_16 = lean_apply_4(x_14, lean_box(0), lean_box(0), x_15, x_11);
lean_inc(x_4);
lean_inc(x_7);
lean_inc(x_6);
-lean_inc(x_3);
lean_inc(x_2);
-x_17 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg___lambda__5___boxed), 9, 8);
-lean_closure_set(x_17, 0, x_2);
-lean_closure_set(x_17, 1, x_3);
-lean_closure_set(x_17, 2, x_5);
-lean_closure_set(x_17, 3, x_6);
-lean_closure_set(x_17, 4, x_3);
-lean_closure_set(x_17, 5, x_1);
-lean_closure_set(x_17, 6, x_7);
-lean_closure_set(x_17, 7, x_4);
+lean_inc(x_3);
+x_12 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg___lambda__5___boxed), 8, 7);
+lean_closure_set(x_12, 0, x_3);
+lean_closure_set(x_12, 1, x_2);
+lean_closure_set(x_12, 2, x_5);
+lean_closure_set(x_12, 3, x_6);
+lean_closure_set(x_12, 4, x_1);
+lean_closure_set(x_12, 5, x_7);
+lean_closure_set(x_12, 6, x_4);
lean_inc(x_4);
-x_18 = lean_apply_4(x_4, lean_box(0), lean_box(0), x_16, x_17);
+x_13 = lean_apply_4(x_4, lean_box(0), lean_box(0), x_11, x_12);
lean_inc(x_4);
-x_19 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg___lambda__7), 6, 5);
-lean_closure_set(x_19, 0, x_2);
-lean_closure_set(x_19, 1, x_7);
-lean_closure_set(x_19, 2, x_6);
-lean_closure_set(x_19, 3, x_12);
-lean_closure_set(x_19, 4, x_4);
-x_20 = lean_apply_4(x_4, lean_box(0), lean_box(0), x_18, x_19);
-return x_20;
+x_14 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg___lambda__7), 6, 5);
+lean_closure_set(x_14, 0, x_2);
+lean_closure_set(x_14, 1, x_7);
+lean_closure_set(x_14, 2, x_6);
+lean_closure_set(x_14, 3, x_3);
+lean_closure_set(x_14, 4, x_4);
+x_15 = lean_apply_4(x_4, lean_box(0), lean_box(0), x_13, x_14);
+return x_15;
}
else
{
-lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
+lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19;
lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_2);
lean_dec(x_1);
-x_21 = lean_ctor_get(x_8, 0);
-lean_inc(x_21);
+x_16 = lean_ctor_get(x_8, 0);
+lean_inc(x_16);
lean_dec(x_8);
-x_22 = lean_ctor_get(x_3, 0);
-lean_inc(x_22);
+x_17 = lean_ctor_get(x_3, 0);
+lean_inc(x_17);
lean_dec(x_3);
-x_23 = lean_ctor_get(x_22, 1);
-lean_inc(x_23);
-lean_dec(x_22);
-x_24 = lean_apply_2(x_23, lean_box(0), x_21);
-return x_24;
+x_18 = lean_ctor_get(x_17, 1);
+lean_inc(x_18);
+lean_dec(x_17);
+x_19 = lean_apply_2(x_18, lean_box(0), x_16);
+return x_19;
}
}
}
-lean_object* l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___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* l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___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) {
_start:
{
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;
@@ -1313,13 +1399,13 @@ lean_inc(x_2);
x_9 = lean_apply_2(x_2, lean_box(0), x_8);
lean_inc(x_3);
lean_inc(x_5);
-x_10 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg___lambda__1___boxed), 3, 2);
+x_10 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg___lambda__1___boxed), 3, 2);
lean_closure_set(x_10, 0, x_5);
lean_closure_set(x_10, 1, x_3);
lean_inc(x_7);
x_11 = lean_apply_4(x_7, lean_box(0), lean_box(0), x_9, x_10);
lean_inc(x_7);
-x_12 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg___lambda__8), 8, 7);
+x_12 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg___lambda__8), 8, 7);
lean_closure_set(x_12, 0, x_4);
lean_closure_set(x_12, 1, x_5);
lean_closure_set(x_12, 2, x_3);
@@ -1331,11 +1417,11 @@ x_13 = lean_apply_4(x_7, lean_box(0), lean_box(0), x_11, x_12);
return x_13;
}
}
-lean_object* l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1(lean_object* x_1, lean_object* x_2) {
+lean_object* l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
-x_3 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg), 6, 0);
+x_3 = lean_alloc_closure((void*)(l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg), 6, 0);
return x_3;
}
}
@@ -1346,7 +1432,7 @@ lean_object* x_8; lean_object* x_9; lean_object* x_10;
lean_inc(x_7);
lean_inc(x_3);
lean_inc(x_2);
-x_8 = l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg(x_1, x_2, x_3, x_4, x_5, x_7);
+x_8 = l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg(x_1, x_2, x_3, x_4, x_5, x_7);
lean_inc(x_6);
x_9 = lean_alloc_closure((void*)(l_StateRefT_x27_run___rarg___lambda__2), 5, 4);
lean_closure_set(x_9, 0, x_7);
@@ -1422,52 +1508,51 @@ x_4 = lean_box(x_3);
return x_4;
}
}
-lean_object* l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
-x_4 = l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg___lambda__1(x_1, x_2, x_3);
+x_4 = l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg___lambda__1(x_1, x_2, x_3);
lean_dec(x_3);
lean_dec(x_1);
return x_4;
}
}
-lean_object* l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg___lambda__2___boxed(lean_object* x_1, lean_object* x_2) {
+lean_object* l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg___lambda__2___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
-x_3 = l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg___lambda__2(x_1, x_2);
+x_3 = l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg___lambda__2(x_1, x_2);
lean_dec(x_2);
return x_3;
}
}
-lean_object* l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg___lambda__3___boxed(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* l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg___lambda__3___boxed(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) {
_start:
{
lean_object* x_8;
-x_8 = l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg___lambda__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7);
+x_8 = l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg___lambda__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7);
lean_dec(x_7);
return x_8;
}
}
-lean_object* l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg___lambda__4___boxed(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* l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg___lambda__4___boxed(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) {
_start:
{
lean_object* x_10;
-x_10 = l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg___lambda__4(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
+x_10 = l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg___lambda__4(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
lean_dec(x_9);
return x_10;
}
}
-lean_object* l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg___lambda__5___boxed(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* l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg___lambda__5___boxed(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:
{
-uint8_t x_10; lean_object* x_11;
-x_10 = lean_unbox(x_9);
-lean_dec(x_9);
-x_11 = l_Lean_ForEachExpr_visit___main___at_Lean_Expr_forEach___spec__1___rarg___lambda__5(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_10);
-lean_dec(x_2);
-return x_11;
+uint8_t x_9; lean_object* x_10;
+x_9 = lean_unbox(x_8);
+lean_dec(x_8);
+x_10 = l_Lean_ForEachExpr_visit___at_Lean_Expr_forEach___spec__1___rarg___lambda__5(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_9);
+return x_10;
}
}
lean_object* initialize_Init(lean_object*);
diff --git a/stage0/stdlib/Lean/Util/PPExt.c b/stage0/stdlib/Lean/Util/PPExt.c
index bb1f1773b1..29ddf6263e 100644
--- a/stage0/stdlib/Lean/Util/PPExt.c
+++ b/stage0/stdlib/Lean/Util/PPExt.c
@@ -13,56 +13,63 @@
#ifdef __cplusplus
extern "C" {
#endif
-lean_object* l_Lean_mkPPFnsRef___lambda__1(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__5;
+lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__1;
+lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____lambda__2(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_PPContext_mctx___default;
lean_object* l_Lean_MetavarContext_instantiateMVars(lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_PPExt_1__registerOptions___closed__10;
-lean_object* l___private_Lean_Util_PPExt_1__registerOptions(lean_object*);
+lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__7;
+lean_object* l_Lean_PPContext_opts___default;
+lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__3;
lean_object* l_Lean_EnvExtensionInterfaceUnsafe_registerExt___rarg(lean_object*, lean_object*);
+lean_object* l_Lean_PPContext_lctx___default;
+lean_object* l_Lean_PPContext_openDecls___default;
lean_object* lean_st_ref_get(lean_object*, lean_object*);
-lean_object* l_Lean_mkPPFnsRef___lambda__1___boxed(lean_object*, lean_object*, lean_object*);
extern lean_object* l_String_splitAux___main___closed__1;
+lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__2;
+lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__4;
+lean_object* l_IO_mkRef___at_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____spec__1(lean_object*, lean_object*);
+lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__8;
+lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98_(lean_object*);
+lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3_(lean_object*);
+lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_133_(lean_object*);
+lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__9;
lean_object* l_Lean_getSyntaxMaxDepth___boxed(lean_object*);
-lean_object* l_Lean_mkPPFnsRef___closed__3;
-lean_object* l_Lean_mkPPFnsRef___lambda__2(lean_object*, lean_object*, lean_object*);
+extern lean_object* l_Lean_LocalContext_Inhabited___closed__2;
+lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__6;
+lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____lambda__1___boxed(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_PersistentEnvExtension_inhabited___closed__1;
uint8_t l_Lean_KVMap_getBool(lean_object*, lean_object*, uint8_t);
lean_object* l_Lean_PPFns_inhabited;
lean_object* l_Lean_ppFnsRef;
lean_object* lean_st_mk_ref(lean_object*, lean_object*);
-lean_object* l_Lean_mkPPExt___lambda__1(lean_object*);
-lean_object* l___private_Lean_Util_PPExt_1__registerOptions___closed__7;
lean_object* lean_name_mk_string(lean_object*, lean_object*);
-lean_object* l_Lean_mkPPFnsRef___closed__2;
-lean_object* l___private_Lean_Util_PPExt_1__registerOptions___closed__5;
-lean_object* l_Lean_mkPPFnsRef___closed__1;
-lean_object* l___private_Lean_Util_PPExt_1__registerOptions___closed__3;
lean_object* lean_expr_dbg_to_string(lean_object*);
-lean_object* l_Lean_mkPPFnsRef___lambda__2___boxed(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____lambda__2___boxed(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____closed__1;
+lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_133____closed__1;
lean_object* l_Lean_ppExpr(lean_object*, lean_object*, lean_object*);
-lean_object* l___private_Lean_Util_PPExt_1__registerOptions___closed__1;
+lean_object* l_Lean_PPContext_currNamespace___default;
+lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__10;
uint8_t l_Lean_getPPRaw(lean_object*);
-lean_object* l___private_Lean_Util_PPExt_1__registerOptions___closed__2;
lean_object* l_Lean_KVMap_getNat(lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_EnvExtensionInterfaceUnsafe_Ext_inhabitedExt___closed__2;
-lean_object* l___private_Lean_Util_PPExt_1__registerOptions___closed__9;
-lean_object* l___private_Lean_Util_PPExt_1__registerOptions___closed__4;
lean_object* l_Lean_PPFns_inhabited___closed__1;
-lean_object* l___private_Lean_Util_PPExt_1__registerOptions___closed__8;
-lean_object* l_IO_mkRef___at_Lean_mkPPFnsRef___spec__1(lean_object*, lean_object*);
-lean_object* l_Lean_mkPPExt(lean_object*);
+lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____closed__3;
extern lean_object* l_Lean_sanitizeNamesOption___closed__1;
-lean_object* l_Lean_mkPPFnsRef(lean_object*);
-lean_object* l___private_Lean_Util_PPExt_1__registerOptions___closed__6;
lean_object* lean_register_option(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_getPPRaw___boxed(lean_object*);
lean_object* l_Lean_ppTerm(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_ppExt;
lean_object* l_Lean_getSyntaxMaxDepth(lean_object*);
+lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_133____lambda__1(lean_object*);
+extern lean_object* l_Lean_MetavarContext_Inhabited___closed__1;
+lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____closed__2;
+lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____lambda__1(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_EnvExtensionInterfaceUnsafe_getState___rarg(lean_object*, lean_object*);
extern lean_object* l_Lean_sanitizeNamesOption___closed__2;
-lean_object* l_Lean_mkPPExt___closed__1;
lean_object* l_Lean_Syntax_formatStxAux(lean_object*, uint8_t, lean_object*, lean_object*);
-static lean_object* _init_l___private_Lean_Util_PPExt_1__registerOptions___closed__1() {
+static lean_object* _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__1() {
_start:
{
lean_object* x_1;
@@ -70,17 +77,17 @@ x_1 = lean_mk_string("syntaxMaxDepth");
return x_1;
}
}
-static lean_object* _init_l___private_Lean_Util_PPExt_1__registerOptions___closed__2() {
+static lean_object* _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__2() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = lean_box(0);
-x_2 = l___private_Lean_Util_PPExt_1__registerOptions___closed__1;
+x_2 = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l___private_Lean_Util_PPExt_1__registerOptions___closed__3() {
+static lean_object* _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__3() {
_start:
{
lean_object* x_1; lean_object* x_2;
@@ -90,7 +97,7 @@ lean_ctor_set(x_2, 0, x_1);
return x_2;
}
}
-static lean_object* _init_l___private_Lean_Util_PPExt_1__registerOptions___closed__4() {
+static lean_object* _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__4() {
_start:
{
lean_object* x_1;
@@ -98,13 +105,13 @@ x_1 = lean_mk_string("maximum depth when displaying syntax objects in messages")
return x_1;
}
}
-static lean_object* _init_l___private_Lean_Util_PPExt_1__registerOptions___closed__5() {
+static lean_object* _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__5() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
-x_1 = l___private_Lean_Util_PPExt_1__registerOptions___closed__3;
+x_1 = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__3;
x_2 = l_String_splitAux___main___closed__1;
-x_3 = l___private_Lean_Util_PPExt_1__registerOptions___closed__4;
+x_3 = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__4;
x_4 = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(x_4, 0, x_1);
lean_ctor_set(x_4, 1, x_2);
@@ -112,7 +119,7 @@ lean_ctor_set(x_4, 2, x_3);
return x_4;
}
}
-static lean_object* _init_l___private_Lean_Util_PPExt_1__registerOptions___closed__6() {
+static lean_object* _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__6() {
_start:
{
lean_object* x_1;
@@ -120,17 +127,17 @@ x_1 = lean_mk_string("raw");
return x_1;
}
}
-static lean_object* _init_l___private_Lean_Util_PPExt_1__registerOptions___closed__7() {
+static lean_object* _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__7() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_sanitizeNamesOption___closed__2;
-x_2 = l___private_Lean_Util_PPExt_1__registerOptions___closed__6;
+x_2 = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__6;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l___private_Lean_Util_PPExt_1__registerOptions___closed__8() {
+static lean_object* _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__8() {
_start:
{
uint8_t x_1; lean_object* x_2;
@@ -140,7 +147,7 @@ lean_ctor_set_uint8(x_2, 0, x_1);
return x_2;
}
}
-static lean_object* _init_l___private_Lean_Util_PPExt_1__registerOptions___closed__9() {
+static lean_object* _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__9() {
_start:
{
lean_object* x_1;
@@ -148,13 +155,13 @@ x_1 = lean_mk_string("(pretty printer) print raw expression/syntax tree");
return x_1;
}
}
-static lean_object* _init_l___private_Lean_Util_PPExt_1__registerOptions___closed__10() {
+static lean_object* _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__10() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
-x_1 = l___private_Lean_Util_PPExt_1__registerOptions___closed__8;
+x_1 = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__8;
x_2 = l_Lean_sanitizeNamesOption___closed__1;
-x_3 = l___private_Lean_Util_PPExt_1__registerOptions___closed__9;
+x_3 = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__9;
x_4 = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(x_4, 0, x_1);
lean_ctor_set(x_4, 1, x_2);
@@ -162,12 +169,12 @@ lean_ctor_set(x_4, 2, x_3);
return x_4;
}
}
-lean_object* l___private_Lean_Util_PPExt_1__registerOptions(lean_object* x_1) {
+lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3_(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3; lean_object* x_4;
-x_2 = l___private_Lean_Util_PPExt_1__registerOptions___closed__2;
-x_3 = l___private_Lean_Util_PPExt_1__registerOptions___closed__5;
+x_2 = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__2;
+x_3 = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__5;
x_4 = lean_register_option(x_2, x_3, x_1);
if (lean_obj_tag(x_4) == 0)
{
@@ -175,8 +182,8 @@ lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8;
x_5 = lean_ctor_get(x_4, 1);
lean_inc(x_5);
lean_dec(x_4);
-x_6 = l___private_Lean_Util_PPExt_1__registerOptions___closed__7;
-x_7 = l___private_Lean_Util_PPExt_1__registerOptions___closed__10;
+x_6 = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__7;
+x_7 = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__10;
x_8 = lean_register_option(x_6, x_7, x_5);
return x_8;
}
@@ -208,7 +215,7 @@ lean_object* l_Lean_getSyntaxMaxDepth(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3; lean_object* x_4;
-x_2 = l___private_Lean_Util_PPExt_1__registerOptions___closed__2;
+x_2 = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__2;
x_3 = lean_unsigned_to_nat(2u);
x_4 = l_Lean_KVMap_getNat(x_1, x_2, x_3);
return x_4;
@@ -227,7 +234,7 @@ uint8_t l_Lean_getPPRaw(lean_object* x_1) {
_start:
{
lean_object* x_2; uint8_t x_3; uint8_t x_4;
-x_2 = l___private_Lean_Util_PPExt_1__registerOptions___closed__7;
+x_2 = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__7;
x_3 = 0;
x_4 = l_Lean_KVMap_getBool(x_1, x_2, x_3);
return x_4;
@@ -243,6 +250,46 @@ x_3 = lean_box(x_2);
return x_3;
}
}
+static lean_object* _init_l_Lean_PPContext_mctx___default() {
+_start:
+{
+lean_object* x_1;
+x_1 = l_Lean_MetavarContext_Inhabited___closed__1;
+return x_1;
+}
+}
+static lean_object* _init_l_Lean_PPContext_lctx___default() {
+_start:
+{
+lean_object* x_1;
+x_1 = l_Lean_LocalContext_Inhabited___closed__2;
+return x_1;
+}
+}
+static lean_object* _init_l_Lean_PPContext_opts___default() {
+_start:
+{
+lean_object* x_1;
+x_1 = lean_box(0);
+return x_1;
+}
+}
+static lean_object* _init_l_Lean_PPContext_currNamespace___default() {
+_start:
+{
+lean_object* x_1;
+x_1 = lean_box(0);
+return x_1;
+}
+}
+static lean_object* _init_l_Lean_PPContext_openDecls___default() {
+_start:
+{
+lean_object* x_1;
+x_1 = lean_box(0);
+return x_1;
+}
+}
static lean_object* _init_l_Lean_PPFns_inhabited___closed__1() {
_start:
{
@@ -262,7 +309,7 @@ x_1 = l_Lean_PPFns_inhabited___closed__1;
return x_1;
}
}
-lean_object* l_IO_mkRef___at_Lean_mkPPFnsRef___spec__1(lean_object* x_1, lean_object* x_2) {
+lean_object* l_IO_mkRef___at_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____spec__1(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3; uint8_t x_4;
@@ -287,7 +334,7 @@ return x_7;
}
}
}
-lean_object* l_Lean_mkPPFnsRef___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4; lean_object* x_5; lean_object* x_6;
@@ -300,7 +347,7 @@ lean_ctor_set(x_6, 1, x_3);
return x_6;
}
}
-lean_object* l_Lean_mkPPFnsRef___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4; lean_object* x_5; lean_object* x_6; uint8_t x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10;
@@ -317,63 +364,63 @@ lean_ctor_set(x_10, 1, x_3);
return x_10;
}
}
-static lean_object* _init_l_Lean_mkPPFnsRef___closed__1() {
+static lean_object* _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____closed__1() {
_start:
{
lean_object* x_1;
-x_1 = lean_alloc_closure((void*)(l_Lean_mkPPFnsRef___lambda__1___boxed), 3, 0);
+x_1 = lean_alloc_closure((void*)(l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____lambda__1___boxed), 3, 0);
return x_1;
}
}
-static lean_object* _init_l_Lean_mkPPFnsRef___closed__2() {
+static lean_object* _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____closed__2() {
_start:
{
lean_object* x_1;
-x_1 = lean_alloc_closure((void*)(l_Lean_mkPPFnsRef___lambda__2___boxed), 3, 0);
+x_1 = lean_alloc_closure((void*)(l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____lambda__2___boxed), 3, 0);
return x_1;
}
}
-static lean_object* _init_l_Lean_mkPPFnsRef___closed__3() {
+static lean_object* _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____closed__3() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
-x_1 = l_Lean_mkPPFnsRef___closed__1;
-x_2 = l_Lean_mkPPFnsRef___closed__2;
+x_1 = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____closed__1;
+x_2 = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____closed__2;
x_3 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_3, 0, x_1);
lean_ctor_set(x_3, 1, x_2);
return x_3;
}
}
-lean_object* l_Lean_mkPPFnsRef(lean_object* x_1) {
+lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98_(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3;
-x_2 = l_Lean_mkPPFnsRef___closed__3;
-x_3 = l_IO_mkRef___at_Lean_mkPPFnsRef___spec__1(x_2, x_1);
+x_2 = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____closed__3;
+x_3 = l_IO_mkRef___at_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____spec__1(x_2, x_1);
return x_3;
}
}
-lean_object* l_Lean_mkPPFnsRef___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
-x_4 = l_Lean_mkPPFnsRef___lambda__1(x_1, x_2, x_3);
+x_4 = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____lambda__1(x_1, x_2, x_3);
lean_dec(x_2);
lean_dec(x_1);
return x_4;
}
}
-lean_object* l_Lean_mkPPFnsRef___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
-x_4 = l_Lean_mkPPFnsRef___lambda__2(x_1, x_2, x_3);
+x_4 = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____lambda__2(x_1, x_2, x_3);
lean_dec(x_1);
return x_4;
}
}
-lean_object* l_Lean_mkPPExt___lambda__1(lean_object* x_1) {
+lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_133____lambda__1(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3; uint8_t x_4;
@@ -399,19 +446,19 @@ return x_7;
}
}
}
-static lean_object* _init_l_Lean_mkPPExt___closed__1() {
+static lean_object* _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_133____closed__1() {
_start:
{
lean_object* x_1;
-x_1 = lean_alloc_closure((void*)(l_Lean_mkPPExt___lambda__1), 1, 0);
+x_1 = lean_alloc_closure((void*)(l_Lean_initFn____x40_Lean_Util_PPExt___hyg_133____lambda__1), 1, 0);
return x_1;
}
}
-lean_object* l_Lean_mkPPExt(lean_object* x_1) {
+lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_133_(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3;
-x_2 = l_Lean_mkPPExt___closed__1;
+x_2 = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_133____closed__1;
x_3 = l_Lean_EnvExtensionInterfaceUnsafe_registerExt___rarg(x_2, x_1);
return x_3;
}
@@ -520,47 +567,57 @@ lean_dec_ref(res);
res = initialize_Lean_Data_OpenDecl(lean_io_mk_world());
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
-l___private_Lean_Util_PPExt_1__registerOptions___closed__1 = _init_l___private_Lean_Util_PPExt_1__registerOptions___closed__1();
-lean_mark_persistent(l___private_Lean_Util_PPExt_1__registerOptions___closed__1);
-l___private_Lean_Util_PPExt_1__registerOptions___closed__2 = _init_l___private_Lean_Util_PPExt_1__registerOptions___closed__2();
-lean_mark_persistent(l___private_Lean_Util_PPExt_1__registerOptions___closed__2);
-l___private_Lean_Util_PPExt_1__registerOptions___closed__3 = _init_l___private_Lean_Util_PPExt_1__registerOptions___closed__3();
-lean_mark_persistent(l___private_Lean_Util_PPExt_1__registerOptions___closed__3);
-l___private_Lean_Util_PPExt_1__registerOptions___closed__4 = _init_l___private_Lean_Util_PPExt_1__registerOptions___closed__4();
-lean_mark_persistent(l___private_Lean_Util_PPExt_1__registerOptions___closed__4);
-l___private_Lean_Util_PPExt_1__registerOptions___closed__5 = _init_l___private_Lean_Util_PPExt_1__registerOptions___closed__5();
-lean_mark_persistent(l___private_Lean_Util_PPExt_1__registerOptions___closed__5);
-l___private_Lean_Util_PPExt_1__registerOptions___closed__6 = _init_l___private_Lean_Util_PPExt_1__registerOptions___closed__6();
-lean_mark_persistent(l___private_Lean_Util_PPExt_1__registerOptions___closed__6);
-l___private_Lean_Util_PPExt_1__registerOptions___closed__7 = _init_l___private_Lean_Util_PPExt_1__registerOptions___closed__7();
-lean_mark_persistent(l___private_Lean_Util_PPExt_1__registerOptions___closed__7);
-l___private_Lean_Util_PPExt_1__registerOptions___closed__8 = _init_l___private_Lean_Util_PPExt_1__registerOptions___closed__8();
-lean_mark_persistent(l___private_Lean_Util_PPExt_1__registerOptions___closed__8);
-l___private_Lean_Util_PPExt_1__registerOptions___closed__9 = _init_l___private_Lean_Util_PPExt_1__registerOptions___closed__9();
-lean_mark_persistent(l___private_Lean_Util_PPExt_1__registerOptions___closed__9);
-l___private_Lean_Util_PPExt_1__registerOptions___closed__10 = _init_l___private_Lean_Util_PPExt_1__registerOptions___closed__10();
-lean_mark_persistent(l___private_Lean_Util_PPExt_1__registerOptions___closed__10);
-res = l___private_Lean_Util_PPExt_1__registerOptions(lean_io_mk_world());
+l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__1 = _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__1();
+lean_mark_persistent(l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__1);
+l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__2 = _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__2();
+lean_mark_persistent(l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__2);
+l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__3 = _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__3();
+lean_mark_persistent(l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__3);
+l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__4 = _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__4();
+lean_mark_persistent(l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__4);
+l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__5 = _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__5();
+lean_mark_persistent(l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__5);
+l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__6 = _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__6();
+lean_mark_persistent(l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__6);
+l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__7 = _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__7();
+lean_mark_persistent(l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__7);
+l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__8 = _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__8();
+lean_mark_persistent(l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__8);
+l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__9 = _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__9();
+lean_mark_persistent(l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__9);
+l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__10 = _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__10();
+lean_mark_persistent(l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__10);
+res = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3_(lean_io_mk_world());
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
+l_Lean_PPContext_mctx___default = _init_l_Lean_PPContext_mctx___default();
+lean_mark_persistent(l_Lean_PPContext_mctx___default);
+l_Lean_PPContext_lctx___default = _init_l_Lean_PPContext_lctx___default();
+lean_mark_persistent(l_Lean_PPContext_lctx___default);
+l_Lean_PPContext_opts___default = _init_l_Lean_PPContext_opts___default();
+lean_mark_persistent(l_Lean_PPContext_opts___default);
+l_Lean_PPContext_currNamespace___default = _init_l_Lean_PPContext_currNamespace___default();
+lean_mark_persistent(l_Lean_PPContext_currNamespace___default);
+l_Lean_PPContext_openDecls___default = _init_l_Lean_PPContext_openDecls___default();
+lean_mark_persistent(l_Lean_PPContext_openDecls___default);
l_Lean_PPFns_inhabited___closed__1 = _init_l_Lean_PPFns_inhabited___closed__1();
lean_mark_persistent(l_Lean_PPFns_inhabited___closed__1);
l_Lean_PPFns_inhabited = _init_l_Lean_PPFns_inhabited();
lean_mark_persistent(l_Lean_PPFns_inhabited);
-l_Lean_mkPPFnsRef___closed__1 = _init_l_Lean_mkPPFnsRef___closed__1();
-lean_mark_persistent(l_Lean_mkPPFnsRef___closed__1);
-l_Lean_mkPPFnsRef___closed__2 = _init_l_Lean_mkPPFnsRef___closed__2();
-lean_mark_persistent(l_Lean_mkPPFnsRef___closed__2);
-l_Lean_mkPPFnsRef___closed__3 = _init_l_Lean_mkPPFnsRef___closed__3();
-lean_mark_persistent(l_Lean_mkPPFnsRef___closed__3);
-res = l_Lean_mkPPFnsRef(lean_io_mk_world());
+l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____closed__1 = _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____closed__1();
+lean_mark_persistent(l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____closed__1);
+l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____closed__2 = _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____closed__2();
+lean_mark_persistent(l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____closed__2);
+l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____closed__3 = _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____closed__3();
+lean_mark_persistent(l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98____closed__3);
+res = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_98_(lean_io_mk_world());
if (lean_io_result_is_error(res)) return res;
l_Lean_ppFnsRef = lean_io_result_get_value(res);
lean_mark_persistent(l_Lean_ppFnsRef);
lean_dec_ref(res);
-l_Lean_mkPPExt___closed__1 = _init_l_Lean_mkPPExt___closed__1();
-lean_mark_persistent(l_Lean_mkPPExt___closed__1);
-res = l_Lean_mkPPExt(lean_io_mk_world());
+l_Lean_initFn____x40_Lean_Util_PPExt___hyg_133____closed__1 = _init_l_Lean_initFn____x40_Lean_Util_PPExt___hyg_133____closed__1();
+lean_mark_persistent(l_Lean_initFn____x40_Lean_Util_PPExt___hyg_133____closed__1);
+res = l_Lean_initFn____x40_Lean_Util_PPExt___hyg_133_(lean_io_mk_world());
if (lean_io_result_is_error(res)) return res;
l_Lean_ppExt = lean_io_result_get_value(res);
lean_mark_persistent(l_Lean_ppExt);
diff --git a/stage0/stdlib/Lean/Util/PPGoal.c b/stage0/stdlib/Lean/Util/PPGoal.c
index 64607e0aca..c80b05f3cf 100644
--- a/stage0/stdlib/Lean/Util/PPGoal.c
+++ b/stage0/stdlib/Lean/Util/PPGoal.c
@@ -18,55 +18,68 @@ lean_object* lean_erase_macro_scopes(lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__3;
lean_object* l_Lean_MetavarContext_instantiateMVars(lean_object*, lean_object*);
uint8_t l_Lean_LocalDecl_isAuxDecl(lean_object*);
+lean_object* l_Lean_ppGoal_match__2___rarg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_ppGoal___closed__2;
lean_object* lean_array_get_size(lean_object*);
-lean_object* l_Lean_ppAuxDeclsOption___closed__5;
+lean_object* l_Lean_initFn____x40_Lean_Util_PPGoal___hyg_6____closed__4;
lean_object* l_Lean_ppGoal___closed__6;
lean_object* l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__7;
lean_object* lean_nat_add(lean_object*, lean_object*);
+lean_object* l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___lambda__1(lean_object*, lean_object*);
+lean_object* l_Lean_initFn____x40_Lean_Util_PPGoal___hyg_6____closed__2;
lean_object* l_Lean_ppGoal(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_ppGoal_match__6___rarg(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_initFn____x40_Lean_Util_PPGoal___hyg_6____closed__1;
lean_object* lean_array_fget(lean_object*, lean_object*);
+lean_object* l_Lean_ppGoal_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_ppGoal_match__4(lean_object*);
+lean_object* l_Lean_initFn____x40_Lean_Util_PPGoal___hyg_6____closed__3;
lean_object* l_Lean_ppGoal___closed__4;
-lean_object* l_Std_PersistentArray_foldlMAux___at_Lean_ppGoal___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Std_PersistentArray_foldlMAux___at_Lean_ppGoal___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_initFn____x40_Lean_Util_PPGoal___hyg_6____closed__5;
lean_object* l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__5;
uint8_t l_Lean_KVMap_getBool(lean_object*, lean_object*, uint8_t);
+lean_object* l_Lean_ppGoal___closed__9;
lean_object* l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4;
-lean_object* l_Array_iterateMAux___main___at_Lean_ppGoal___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_ppGoal_match__5(lean_object*);
+lean_object* l_Array_iterateMAux___main___at_Lean_ppGoal___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8;
-lean_object* l_Array_iterateMAux___main___at_Lean_ppGoal___spec__5(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Array_iterateMAux___main___at_Lean_ppGoal___spec__5(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_name_mk_string(lean_object*, lean_object*);
-lean_object* l_Std_PersistentArray_foldlM___at_Lean_ppGoal___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Std_PersistentArray_foldlMAux___at_Lean_ppGoal___spec__4(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Std_PersistentArray_foldlM___at_Lean_ppGoal___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Std_PersistentArray_foldlMAux___at_Lean_ppGoal___spec__4(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6;
lean_object* l_Lean_ppExpr(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_ppGoal_match__2(lean_object*);
extern lean_object* l_String_Iterator_HasRepr___closed__2;
uint8_t l_Lean_ppAuxDeclsDefault;
+lean_object* l_Lean_ppGoal_match__6(lean_object*);
uint8_t l_Lean_Format_isNil(lean_object*);
-lean_object* l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1;
lean_object* l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__2;
-lean_object* l_Lean_ppAuxDeclsOption___closed__1;
-lean_object* l_Array_iterateMAux___main___at_Lean_ppGoal___spec__7(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Lean_ppAuxDeclsOption(lean_object*);
-lean_object* l_Lean_ppAuxDeclsOption___closed__2;
+lean_object* l_Lean_ppGoal_match__1(lean_object*);
+lean_object* l_Array_iterateMAux___main___at_Lean_ppGoal___spec__7(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t lean_expr_eqv(lean_object*, lean_object*);
-lean_object* l_Lean_ppAuxDeclsOption___closed__4;
extern lean_object* l_Lean_sanitizeNamesOption___closed__1;
-lean_object* l_Std_PersistentArray_foldlM___at_Lean_ppGoal___spec__3(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
-lean_object* l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Std_PersistentArray_foldlM___at_Lean_ppGoal___spec__3(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_initFn____x40_Lean_Util_PPGoal___hyg_6_(lean_object*);
+lean_object* l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_register_option(lean_object*, lean_object*, lean_object*);
lean_object* lean_metavar_ctx_find_decl(lean_object*, lean_object*);
-lean_object* l_Lean_LocalContext_foldlM___at_Lean_ppGoal___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_ppGoal_match__4___rarg(lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_LocalContext_foldlM___at_Lean_ppGoal___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_ppGoal___closed__5;
lean_object* l_Lean_getAuxDeclsOption___boxed(lean_object*);
-lean_object* l_Lean_ppAuxDeclsOption___closed__3;
-lean_object* l_Lean_LocalContext_foldlM___at_Lean_ppGoal___spec__2(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Lean_ppGoal_match__5___rarg(lean_object*, lean_object*);
+lean_object* l_Lean_LocalContext_foldlM___at_Lean_ppGoal___spec__2(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_simp_macro_scopes(lean_object*);
extern lean_object* l_System_FilePath_dirName___closed__1;
uint8_t l_List_isEmpty___rarg(lean_object*);
lean_object* l_Lean_Name_toStringWithSep___main(lean_object*, lean_object*);
+lean_object* l_Lean_ppGoal_match__3___rarg(lean_object*, lean_object*);
lean_object* l_Lean_ppGoal___closed__3;
-lean_object* l_Array_iterateMAux___main___at_Lean_ppGoal___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
+lean_object* l_Array_iterateMAux___main___at_Lean_ppGoal___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_ppGoal___closed__8;
lean_object* lean_nat_to_int(lean_object*);
extern lean_object* l_Lean_sanitizeNamesOption___closed__2;
@@ -75,6 +88,7 @@ uint8_t l_Lean_getAuxDeclsOption(lean_object*);
lean_object* l_Lean_ppGoal___closed__1;
lean_object* l_Lean_LocalContext_sanitizeNames(lean_object*, lean_object*);
lean_object* l_Lean_Format_joinSep___main___at_Lean_ppGoal___spec__1(lean_object*, lean_object*);
+lean_object* l_Lean_ppGoal_match__3(lean_object*);
uint8_t lean_nat_dec_lt(lean_object*, lean_object*);
static uint8_t _init_l_Lean_ppAuxDeclsDefault() {
_start:
@@ -84,7 +98,7 @@ x_1 = 0;
return x_1;
}
}
-static lean_object* _init_l_Lean_ppAuxDeclsOption___closed__1() {
+static lean_object* _init_l_Lean_initFn____x40_Lean_Util_PPGoal___hyg_6____closed__1() {
_start:
{
lean_object* x_1;
@@ -92,17 +106,17 @@ x_1 = lean_mk_string("auxDecls");
return x_1;
}
}
-static lean_object* _init_l_Lean_ppAuxDeclsOption___closed__2() {
+static lean_object* _init_l_Lean_initFn____x40_Lean_Util_PPGoal___hyg_6____closed__2() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3;
x_1 = l_Lean_sanitizeNamesOption___closed__2;
-x_2 = l_Lean_ppAuxDeclsOption___closed__1;
+x_2 = l_Lean_initFn____x40_Lean_Util_PPGoal___hyg_6____closed__1;
x_3 = lean_name_mk_string(x_1, x_2);
return x_3;
}
}
-static lean_object* _init_l_Lean_ppAuxDeclsOption___closed__3() {
+static lean_object* _init_l_Lean_initFn____x40_Lean_Util_PPGoal___hyg_6____closed__3() {
_start:
{
uint8_t x_1; lean_object* x_2;
@@ -112,7 +126,7 @@ lean_ctor_set_uint8(x_2, 0, x_1);
return x_2;
}
}
-static lean_object* _init_l_Lean_ppAuxDeclsOption___closed__4() {
+static lean_object* _init_l_Lean_initFn____x40_Lean_Util_PPGoal___hyg_6____closed__4() {
_start:
{
lean_object* x_1;
@@ -120,13 +134,13 @@ x_1 = lean_mk_string("display auxiliary declarations used to compile recursive f
return x_1;
}
}
-static lean_object* _init_l_Lean_ppAuxDeclsOption___closed__5() {
+static lean_object* _init_l_Lean_initFn____x40_Lean_Util_PPGoal___hyg_6____closed__5() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
-x_1 = l_Lean_ppAuxDeclsOption___closed__3;
+x_1 = l_Lean_initFn____x40_Lean_Util_PPGoal___hyg_6____closed__3;
x_2 = l_Lean_sanitizeNamesOption___closed__1;
-x_3 = l_Lean_ppAuxDeclsOption___closed__4;
+x_3 = l_Lean_initFn____x40_Lean_Util_PPGoal___hyg_6____closed__4;
x_4 = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(x_4, 0, x_1);
lean_ctor_set(x_4, 1, x_2);
@@ -134,12 +148,12 @@ lean_ctor_set(x_4, 2, x_3);
return x_4;
}
}
-lean_object* l_Lean_ppAuxDeclsOption(lean_object* x_1) {
+lean_object* l_Lean_initFn____x40_Lean_Util_PPGoal___hyg_6_(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3; lean_object* x_4;
-x_2 = l_Lean_ppAuxDeclsOption___closed__2;
-x_3 = l_Lean_ppAuxDeclsOption___closed__5;
+x_2 = l_Lean_initFn____x40_Lean_Util_PPGoal___hyg_6____closed__2;
+x_3 = l_Lean_initFn____x40_Lean_Util_PPGoal___hyg_6____closed__5;
x_4 = lean_register_option(x_2, x_3, x_1);
return x_4;
}
@@ -148,7 +162,7 @@ uint8_t l_Lean_getAuxDeclsOption(lean_object* x_1) {
_start:
{
lean_object* x_2; uint8_t x_3; uint8_t x_4;
-x_2 = l_Lean_ppAuxDeclsOption___closed__2;
+x_2 = l_Lean_initFn____x40_Lean_Util_PPGoal___hyg_6____closed__2;
x_3 = l_Lean_ppAuxDeclsDefault;
x_4 = l_Lean_KVMap_getBool(x_1, x_2, x_3);
return x_4;
@@ -164,6 +178,210 @@ x_3 = lean_box(x_2);
return x_3;
}
}
+lean_object* l_Lean_ppGoal_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
+_start:
+{
+if (lean_obj_tag(x_1) == 0)
+{
+lean_object* x_6;
+lean_dec(x_5);
+lean_dec(x_4);
+x_6 = lean_apply_1(x_3, x_2);
+return x_6;
+}
+else
+{
+lean_dec(x_3);
+if (lean_obj_tag(x_2) == 0)
+{
+lean_object* x_7;
+lean_dec(x_5);
+x_7 = lean_apply_1(x_4, x_1);
+return x_7;
+}
+else
+{
+lean_object* x_8; lean_object* x_9;
+lean_dec(x_4);
+x_8 = lean_ctor_get(x_2, 0);
+lean_inc(x_8);
+lean_dec(x_2);
+x_9 = lean_apply_2(x_5, x_1, x_8);
+return x_9;
+}
+}
+}
+}
+lean_object* l_Lean_ppGoal_match__1(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_ppGoal_match__1___rarg), 5, 0);
+return x_2;
+}
+}
+lean_object* l_Lean_ppGoal_match__2___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+if (lean_obj_tag(x_1) == 0)
+{
+lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; uint8_t x_8; lean_object* x_9; lean_object* x_10;
+lean_dec(x_3);
+x_4 = lean_ctor_get(x_1, 0);
+lean_inc(x_4);
+x_5 = lean_ctor_get(x_1, 1);
+lean_inc(x_5);
+x_6 = lean_ctor_get(x_1, 2);
+lean_inc(x_6);
+x_7 = lean_ctor_get(x_1, 3);
+lean_inc(x_7);
+x_8 = lean_ctor_get_uint8(x_1, sizeof(void*)*4);
+lean_dec(x_1);
+x_9 = lean_box(x_8);
+x_10 = lean_apply_5(x_2, x_4, x_5, x_6, x_7, x_9);
+return x_10;
+}
+else
+{
+lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; lean_object* x_17; lean_object* x_18;
+lean_dec(x_2);
+x_11 = lean_ctor_get(x_1, 0);
+lean_inc(x_11);
+x_12 = lean_ctor_get(x_1, 1);
+lean_inc(x_12);
+x_13 = lean_ctor_get(x_1, 2);
+lean_inc(x_13);
+x_14 = lean_ctor_get(x_1, 3);
+lean_inc(x_14);
+x_15 = lean_ctor_get(x_1, 4);
+lean_inc(x_15);
+x_16 = lean_ctor_get_uint8(x_1, sizeof(void*)*5);
+lean_dec(x_1);
+x_17 = lean_box(x_16);
+x_18 = lean_apply_6(x_3, x_11, x_12, x_13, x_14, x_15, x_17);
+return x_18;
+}
+}
+}
+lean_object* l_Lean_ppGoal_match__2(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_ppGoal_match__2___rarg), 3, 0);
+return x_2;
+}
+}
+lean_object* l_Lean_ppGoal_match__3___rarg(lean_object* x_1, lean_object* x_2) {
+_start:
+{
+lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
+x_3 = lean_ctor_get(x_1, 1);
+lean_inc(x_3);
+x_4 = lean_ctor_get(x_1, 0);
+lean_inc(x_4);
+lean_dec(x_1);
+x_5 = lean_ctor_get(x_3, 0);
+lean_inc(x_5);
+x_6 = lean_ctor_get(x_3, 1);
+lean_inc(x_6);
+lean_dec(x_3);
+x_7 = lean_apply_3(x_2, x_4, x_5, x_6);
+return x_7;
+}
+}
+lean_object* l_Lean_ppGoal_match__3(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_ppGoal_match__3___rarg), 2, 0);
+return x_2;
+}
+}
+lean_object* l_Lean_ppGoal_match__4___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+if (lean_obj_tag(x_1) == 0)
+{
+lean_object* x_4; lean_object* x_5;
+lean_dec(x_3);
+x_4 = lean_box(0);
+x_5 = lean_apply_1(x_2, x_4);
+return x_5;
+}
+else
+{
+lean_object* x_6;
+lean_dec(x_2);
+x_6 = lean_apply_1(x_3, x_1);
+return x_6;
+}
+}
+}
+lean_object* l_Lean_ppGoal_match__4(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_ppGoal_match__4___rarg), 3, 0);
+return x_2;
+}
+}
+lean_object* l_Lean_ppGoal_match__5___rarg(lean_object* x_1, lean_object* x_2) {
+_start:
+{
+lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7;
+x_3 = lean_ctor_get(x_1, 1);
+lean_inc(x_3);
+x_4 = lean_ctor_get(x_1, 0);
+lean_inc(x_4);
+lean_dec(x_1);
+x_5 = lean_ctor_get(x_3, 0);
+lean_inc(x_5);
+x_6 = lean_ctor_get(x_3, 1);
+lean_inc(x_6);
+lean_dec(x_3);
+x_7 = lean_apply_3(x_2, x_4, x_5, x_6);
+return x_7;
+}
+}
+lean_object* l_Lean_ppGoal_match__5(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_ppGoal_match__5___rarg), 2, 0);
+return x_2;
+}
+}
+lean_object* l_Lean_ppGoal_match__6___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
+_start:
+{
+if (lean_obj_tag(x_1) == 0)
+{
+lean_object* x_4; lean_object* x_5;
+lean_dec(x_3);
+x_4 = lean_box(0);
+x_5 = lean_apply_1(x_2, x_4);
+return x_5;
+}
+else
+{
+lean_object* x_6; lean_object* x_7;
+lean_dec(x_2);
+x_6 = lean_ctor_get(x_1, 0);
+lean_inc(x_6);
+lean_dec(x_1);
+x_7 = lean_apply_1(x_3, x_6);
+return x_7;
+}
+}
+}
+lean_object* l_Lean_ppGoal_match__6(lean_object* x_1) {
+_start:
+{
+lean_object* x_2;
+x_2 = lean_alloc_closure((void*)(l_Lean_ppGoal_match__6___rarg), 3, 0);
+return x_2;
+}
+}
lean_object* l_Lean_Format_joinSep___main___at_Lean_ppGoal___spec__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@@ -215,76 +433,89 @@ return x_15;
}
}
}
-lean_object* l_Array_iterateMAux___main___at_Lean_ppGoal___spec__5(lean_object* x_1, uint8_t 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* l_Array_iterateMAux___main___at_Lean_ppGoal___spec__5(lean_object* x_1, lean_object* x_2, uint8_t 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) {
_start:
{
-lean_object* x_9; uint8_t x_10;
-x_9 = lean_array_get_size(x_5);
-x_10 = lean_nat_dec_lt(x_6, x_9);
-lean_dec(x_9);
-if (x_10 == 0)
+lean_object* x_10; uint8_t x_11;
+x_10 = lean_array_get_size(x_6);
+x_11 = lean_nat_dec_lt(x_7, x_10);
+lean_dec(x_10);
+if (x_11 == 0)
{
-lean_object* x_11;
-lean_dec(x_6);
-lean_dec(x_3);
+lean_object* x_12;
+lean_dec(x_7);
+lean_dec(x_4);
+lean_dec(x_2);
lean_dec(x_1);
-x_11 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_11, 0, x_7);
-lean_ctor_set(x_11, 1, x_8);
-return x_11;
+x_12 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_12, 0, x_8);
+lean_ctor_set(x_12, 1, x_9);
+return x_12;
}
else
{
-lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15;
-x_12 = lean_array_fget(x_5, x_6);
-x_13 = lean_unsigned_to_nat(1u);
-x_14 = lean_nat_add(x_6, x_13);
-lean_dec(x_6);
-lean_inc(x_3);
+lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
+x_13 = lean_array_fget(x_6, x_7);
+x_14 = lean_unsigned_to_nat(1u);
+x_15 = lean_nat_add(x_7, x_14);
+lean_dec(x_7);
+lean_inc(x_4);
+lean_inc(x_2);
lean_inc(x_1);
-x_15 = l_Std_PersistentArray_foldlMAux___at_Lean_ppGoal___spec__4(x_1, x_2, x_3, x_12, x_7, x_8);
-lean_dec(x_12);
-if (lean_obj_tag(x_15) == 0)
+x_16 = l_Std_PersistentArray_foldlMAux___at_Lean_ppGoal___spec__4(x_1, x_2, x_3, x_4, x_13, x_8, x_9);
+lean_dec(x_13);
+if (lean_obj_tag(x_16) == 0)
{
-lean_object* x_16; lean_object* x_17;
-x_16 = lean_ctor_get(x_15, 0);
-lean_inc(x_16);
-x_17 = lean_ctor_get(x_15, 1);
+lean_object* x_17; lean_object* x_18;
+x_17 = lean_ctor_get(x_16, 0);
lean_inc(x_17);
-lean_dec(x_15);
-x_6 = x_14;
-x_7 = x_16;
+x_18 = lean_ctor_get(x_16, 1);
+lean_inc(x_18);
+lean_dec(x_16);
+x_7 = x_15;
x_8 = x_17;
+x_9 = x_18;
goto _start;
}
else
{
-uint8_t x_19;
-lean_dec(x_14);
-lean_dec(x_3);
+uint8_t x_20;
+lean_dec(x_15);
+lean_dec(x_4);
+lean_dec(x_2);
lean_dec(x_1);
-x_19 = !lean_is_exclusive(x_15);
-if (x_19 == 0)
+x_20 = !lean_is_exclusive(x_16);
+if (x_20 == 0)
{
-return x_15;
+return x_16;
}
else
{
-lean_object* x_20; lean_object* x_21; lean_object* x_22;
-x_20 = lean_ctor_get(x_15, 0);
-x_21 = lean_ctor_get(x_15, 1);
+lean_object* x_21; lean_object* x_22; lean_object* x_23;
+x_21 = lean_ctor_get(x_16, 0);
+x_22 = lean_ctor_get(x_16, 1);
+lean_inc(x_22);
lean_inc(x_21);
-lean_inc(x_20);
-lean_dec(x_15);
-x_22 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_22, 0, x_20);
-lean_ctor_set(x_22, 1, x_21);
-return x_22;
+lean_dec(x_16);
+x_23 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_23, 0, x_21);
+lean_ctor_set(x_23, 1, x_22);
+return x_23;
}
}
}
}
}
+lean_object* l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___lambda__1(lean_object* x_1, lean_object* x_2) {
+_start:
+{
+lean_object* x_3;
+x_3 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_3, 0, x_1);
+lean_ctor_set(x_3, 1, x_2);
+return x_3;
+}
+}
static lean_object* _init_l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1() {
_start:
{
@@ -316,10 +547,9 @@ return x_2;
static lean_object* _init_l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4() {
_start:
{
-lean_object* x_1; lean_object* x_2;
-x_1 = lean_unsigned_to_nat(2u);
-x_2 = lean_nat_to_int(x_1);
-return x_2;
+lean_object* x_1;
+x_1 = lean_alloc_closure((void*)(l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___lambda__1), 2, 0);
+return x_1;
}
}
static lean_object* _init_l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__5() {
@@ -358,2568 +588,2403 @@ lean_ctor_set(x_2, 0, x_1);
return x_2;
}
}
-lean_object* l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6(lean_object* x_1, uint8_t 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* l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6(lean_object* x_1, lean_object* x_2, uint8_t 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) {
_start:
{
-lean_object* x_9; uint8_t x_10;
-x_9 = lean_array_get_size(x_5);
-x_10 = lean_nat_dec_lt(x_6, x_9);
-lean_dec(x_9);
-if (x_10 == 0)
+lean_object* x_10; uint8_t x_11;
+x_10 = lean_array_get_size(x_6);
+x_11 = lean_nat_dec_lt(x_7, x_10);
+lean_dec(x_10);
+if (x_11 == 0)
{
-lean_object* x_11;
-lean_dec(x_6);
-lean_dec(x_3);
+lean_object* x_12;
+lean_dec(x_7);
+lean_dec(x_4);
+lean_dec(x_2);
lean_dec(x_1);
-x_11 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_11, 0, x_7);
-lean_ctor_set(x_11, 1, x_8);
-return x_11;
+x_12 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_12, 0, x_8);
+lean_ctor_set(x_12, 1, x_9);
+return x_12;
}
else
{
-lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15;
-x_12 = lean_array_fget(x_5, x_6);
-x_13 = lean_unsigned_to_nat(1u);
-x_14 = lean_nat_add(x_6, x_13);
-lean_dec(x_6);
-if (lean_obj_tag(x_12) == 0)
+lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
+x_13 = lean_array_fget(x_6, x_7);
+x_14 = lean_unsigned_to_nat(1u);
+x_15 = lean_nat_add(x_7, x_14);
+lean_dec(x_7);
+if (lean_obj_tag(x_13) == 0)
{
-x_6 = x_14;
+x_7 = x_15;
goto _start;
}
else
{
-lean_object* x_25; lean_object* x_26; lean_object* x_27;
-x_25 = lean_ctor_get(x_12, 0);
-lean_inc(x_25);
-if (lean_is_exclusive(x_12)) {
- lean_ctor_release(x_12, 0);
- x_26 = x_12;
+lean_object* x_26; lean_object* x_27; uint8_t x_28;
+x_26 = lean_ctor_get(x_13, 0);
+lean_inc(x_26);
+if (lean_is_exclusive(x_13)) {
+ lean_ctor_release(x_13, 0);
+ x_27 = x_13;
} else {
- lean_dec_ref(x_12);
- x_26 = lean_box(0);
+ lean_dec_ref(x_13);
+ x_27 = lean_box(0);
}
-if (x_2 == 0)
+if (x_3 == 0)
{
-uint8_t x_959;
-x_959 = l_Lean_LocalDecl_isAuxDecl(x_25);
-if (x_959 == 0)
-{
-lean_object* x_960;
-x_960 = lean_box(0);
-x_27 = x_960;
-goto block_958;
+uint8_t x_1703;
+x_1703 = l_Lean_LocalDecl_isAuxDecl(x_26);
+x_28 = x_1703;
+goto block_1702;
}
else
{
-lean_object* x_961;
-lean_dec(x_26);
-lean_dec(x_25);
-x_961 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_961, 0, x_7);
-lean_ctor_set(x_961, 1, x_8);
-x_15 = x_961;
-goto block_23;
+uint8_t x_1704;
+x_1704 = 0;
+x_28 = x_1704;
+goto block_1702;
}
-}
-else
+block_1702:
{
-lean_object* x_962;
-x_962 = lean_box(0);
-x_27 = x_962;
-goto block_958;
-}
-block_958:
+if (x_28 == 0)
{
-lean_object* x_28;
-lean_dec(x_27);
-x_28 = lean_ctor_get(x_7, 1);
-lean_inc(x_28);
-if (lean_obj_tag(x_25) == 0)
-{
-lean_object* x_29; uint8_t x_30;
-x_29 = lean_ctor_get(x_7, 0);
+lean_object* x_29;
+x_29 = lean_ctor_get(x_8, 1);
lean_inc(x_29);
-lean_dec(x_7);
-x_30 = !lean_is_exclusive(x_28);
-if (x_30 == 0)
+if (lean_obj_tag(x_26) == 0)
{
-lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36;
-x_31 = lean_ctor_get(x_28, 0);
-x_32 = lean_ctor_get(x_28, 1);
-x_33 = lean_ctor_get(x_25, 2);
-lean_inc(x_33);
-x_34 = lean_ctor_get(x_25, 3);
+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;
+x_30 = lean_ctor_get(x_8, 0);
+lean_inc(x_30);
+lean_dec(x_8);
+x_31 = lean_ctor_get(x_29, 0);
+lean_inc(x_31);
+x_32 = lean_ctor_get(x_29, 1);
+lean_inc(x_32);
+if (lean_is_exclusive(x_29)) {
+ lean_ctor_release(x_29, 0);
+ lean_ctor_release(x_29, 1);
+ x_33 = x_29;
+} else {
+ lean_dec_ref(x_29);
+ x_33 = lean_box(0);
+}
+x_34 = lean_ctor_get(x_26, 2);
lean_inc(x_34);
-lean_dec(x_25);
-x_35 = lean_simp_macro_scopes(x_33);
+x_35 = lean_ctor_get(x_26, 3);
+lean_inc(x_35);
+lean_dec(x_26);
+x_36 = lean_simp_macro_scopes(x_34);
lean_inc(x_1);
-x_36 = l_Lean_MetavarContext_instantiateMVars(x_1, x_34);
+x_37 = l_Lean_MetavarContext_instantiateMVars(x_1, x_35);
+x_38 = lean_ctor_get(x_37, 0);
+lean_inc(x_38);
+if (lean_is_exclusive(x_37)) {
+ lean_ctor_release(x_37, 0);
+ lean_ctor_release(x_37, 1);
+ x_39 = x_37;
+} else {
+ lean_dec_ref(x_37);
+ x_39 = lean_box(0);
+}
if (lean_obj_tag(x_31) == 0)
{
-uint8_t x_37;
-x_37 = !lean_is_exclusive(x_36);
-if (x_37 == 0)
-{
-lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42;
-x_38 = lean_ctor_get(x_36, 0);
-x_39 = lean_ctor_get(x_36, 1);
-lean_dec(x_39);
-x_40 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_40, 0, x_35);
-lean_ctor_set(x_40, 1, x_29);
-if (lean_is_scalar(x_26)) {
- x_41 = lean_alloc_ctor(1, 1, 0);
-} else {
- x_41 = x_26;
-}
-lean_ctor_set(x_41, 0, x_38);
-lean_ctor_set(x_36, 1, x_32);
-lean_ctor_set(x_36, 0, x_41);
-lean_ctor_set(x_28, 1, x_36);
-lean_ctor_set(x_28, 0, x_40);
-x_42 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_42, 0, x_28);
-lean_ctor_set(x_42, 1, x_8);
-x_15 = x_42;
-goto block_23;
+uint8_t x_273;
+x_273 = 1;
+x_40 = x_273;
+goto block_272;
}
else
{
-lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47;
-x_43 = lean_ctor_get(x_36, 0);
-lean_inc(x_43);
-lean_dec(x_36);
-x_44 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_44, 0, x_35);
-lean_ctor_set(x_44, 1, x_29);
-if (lean_is_scalar(x_26)) {
- x_45 = lean_alloc_ctor(1, 1, 0);
+lean_object* x_274; uint8_t x_275;
+x_274 = lean_ctor_get(x_31, 0);
+lean_inc(x_274);
+x_275 = lean_expr_eqv(x_274, x_38);
+lean_dec(x_274);
+x_40 = x_275;
+goto block_272;
+}
+block_272:
+{
+if (x_40 == 0)
+{
+uint8_t x_41;
+x_41 = l_List_isEmpty___rarg(x_30);
+if (x_41 == 0)
+{
+uint8_t x_42;
+x_42 = l_Lean_Format_isNil(x_32);
+if (x_42 == 0)
+{
+lean_object* x_43; lean_object* x_44;
+x_43 = lean_box(1);
+x_44 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_44, 0, x_32);
+lean_ctor_set(x_44, 1, x_43);
+if (lean_obj_tag(x_30) == 0)
+{
+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_dec(x_31);
+x_45 = lean_box(0);
+x_46 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_46, 0, x_36);
+lean_ctor_set(x_46, 1, x_45);
+if (lean_is_scalar(x_27)) {
+ x_47 = lean_alloc_ctor(1, 1, 0);
} else {
- x_45 = x_26;
+ x_47 = x_27;
}
-lean_ctor_set(x_45, 0, x_43);
-x_46 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_46, 0, x_45);
-lean_ctor_set(x_46, 1, x_32);
-lean_ctor_set(x_28, 1, x_46);
-lean_ctor_set(x_28, 0, x_44);
-x_47 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_47, 0, x_28);
-lean_ctor_set(x_47, 1, x_8);
-x_15 = x_47;
-goto block_23;
+lean_ctor_set(x_47, 0, x_38);
+if (lean_is_scalar(x_39)) {
+ x_48 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_48 = x_39;
}
+lean_ctor_set(x_48, 0, x_47);
+lean_ctor_set(x_48, 1, x_44);
+if (lean_is_scalar(x_33)) {
+ x_49 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_49 = x_33;
+}
+lean_ctor_set(x_49, 0, x_46);
+lean_ctor_set(x_49, 1, x_48);
+x_50 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_50, 0, x_49);
+lean_ctor_set(x_50, 1, x_9);
+x_16 = x_50;
+goto block_24;
}
else
{
-uint8_t x_48;
-lean_dec(x_26);
-x_48 = !lean_is_exclusive(x_36);
-if (x_48 == 0)
+if (lean_obj_tag(x_31) == 0)
{
-lean_object* x_49; lean_object* x_50; uint8_t x_51;
-x_49 = lean_ctor_get(x_36, 0);
-x_50 = lean_ctor_get(x_36, 1);
-lean_dec(x_50);
-x_51 = !lean_is_exclusive(x_31);
+uint8_t x_51;
+x_51 = !lean_is_exclusive(x_30);
if (x_51 == 0)
{
-lean_object* x_52; uint8_t x_53;
-x_52 = lean_ctor_get(x_31, 0);
-x_53 = lean_expr_eqv(x_52, x_49);
-if (x_53 == 0)
-{
-uint8_t x_54;
-x_54 = l_List_isEmpty___rarg(x_29);
-if (x_54 == 0)
-{
-uint8_t x_55;
-x_55 = l_Lean_Format_isNil(x_32);
-if (x_55 == 0)
-{
-lean_object* x_56; lean_object* x_57;
-x_56 = lean_box(1);
-x_57 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_57, 0, x_32);
-lean_ctor_set(x_57, 1, x_56);
-if (lean_obj_tag(x_29) == 0)
-{
-lean_object* x_58; lean_object* x_59; lean_object* x_60;
+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;
+x_52 = lean_ctor_get(x_30, 1);
lean_dec(x_52);
-x_58 = lean_box(0);
-x_59 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_59, 0, x_35);
-lean_ctor_set(x_59, 1, x_58);
-lean_ctor_set(x_31, 0, x_49);
-lean_ctor_set(x_36, 1, x_57);
-lean_ctor_set(x_36, 0, x_31);
-lean_ctor_set(x_28, 1, x_36);
-lean_ctor_set(x_28, 0, x_59);
-x_60 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_60, 0, x_28);
-lean_ctor_set(x_60, 1, x_8);
-x_15 = x_60;
-goto block_23;
+x_53 = lean_ctor_get(x_30, 0);
+lean_dec(x_53);
+x_54 = lean_box(0);
+lean_ctor_set(x_30, 1, x_54);
+lean_ctor_set(x_30, 0, x_36);
+if (lean_is_scalar(x_27)) {
+ x_55 = lean_alloc_ctor(1, 1, 0);
+} else {
+ x_55 = x_27;
+}
+lean_ctor_set(x_55, 0, x_38);
+if (lean_is_scalar(x_39)) {
+ x_56 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_56 = x_39;
+}
+lean_ctor_set(x_56, 0, x_55);
+lean_ctor_set(x_56, 1, x_44);
+if (lean_is_scalar(x_33)) {
+ x_57 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_57 = x_33;
+}
+lean_ctor_set(x_57, 0, x_30);
+lean_ctor_set(x_57, 1, x_56);
+x_58 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_58, 0, x_57);
+lean_ctor_set(x_58, 1, x_9);
+x_16 = x_58;
+goto block_24;
}
else
{
-lean_object* x_61;
-lean_inc(x_3);
-x_61 = l_Lean_ppExpr(x_3, x_52, x_8);
-if (lean_obj_tag(x_61) == 0)
+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_dec(x_30);
+x_59 = lean_box(0);
+x_60 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_60, 0, x_36);
+lean_ctor_set(x_60, 1, x_59);
+if (lean_is_scalar(x_27)) {
+ x_61 = lean_alloc_ctor(1, 1, 0);
+} else {
+ x_61 = x_27;
+}
+lean_ctor_set(x_61, 0, x_38);
+if (lean_is_scalar(x_39)) {
+ x_62 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_62 = x_39;
+}
+lean_ctor_set(x_62, 0, x_61);
+lean_ctor_set(x_62, 1, x_44);
+if (lean_is_scalar(x_33)) {
+ x_63 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_63 = x_33;
+}
+lean_ctor_set(x_63, 0, x_60);
+lean_ctor_set(x_63, 1, 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_9);
+x_16 = x_64;
+goto block_24;
+}
+}
+else
{
-uint8_t x_62;
-x_62 = !lean_is_exclusive(x_61);
-if (x_62 == 0)
-{
-lean_object* x_63; lean_object* x_64; uint8_t x_65;
-x_63 = lean_ctor_get(x_61, 0);
-lean_inc(x_29);
-x_64 = l_List_reverse___rarg(x_29);
-x_65 = !lean_is_exclusive(x_29);
+uint8_t x_65;
+lean_dec(x_27);
+x_65 = !lean_is_exclusive(x_31);
if (x_65 == 0)
{
-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_78; lean_object* x_79;
-x_66 = lean_ctor_get(x_29, 1);
-lean_dec(x_66);
-x_67 = lean_ctor_get(x_29, 0);
-lean_dec(x_67);
-x_68 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1;
-x_69 = l_Lean_Format_joinSep___main___at_Lean_ppGoal___spec__1(x_64, x_68);
-x_70 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__3;
-x_71 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_71, 0, x_69);
-lean_ctor_set(x_71, 1, x_70);
-x_72 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_72, 0, x_56);
-lean_ctor_set(x_72, 1, x_63);
-x_73 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4;
-x_74 = lean_alloc_ctor(3, 2, 0);
-lean_ctor_set(x_74, 0, x_73);
-lean_ctor_set(x_74, 1, x_72);
-x_75 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_75, 0, x_71);
-lean_ctor_set(x_75, 1, x_74);
-x_76 = 0;
-x_77 = lean_alloc_ctor(5, 1, 1);
+lean_object* x_66; lean_object* x_67;
+x_66 = lean_ctor_get(x_31, 0);
+lean_inc(x_4);
+x_67 = l_Lean_ppExpr(x_4, x_66, x_9);
+if (lean_obj_tag(x_67) == 0)
+{
+uint8_t x_68;
+x_68 = !lean_is_exclusive(x_67);
+if (x_68 == 0)
+{
+lean_object* x_69; lean_object* x_70; uint8_t x_71;
+x_69 = lean_ctor_get(x_67, 0);
+lean_inc(x_30);
+x_70 = l_List_reverse___rarg(x_30);
+x_71 = !lean_is_exclusive(x_30);
+if (x_71 == 0)
+{
+lean_object* x_72; lean_object* x_73; lean_object* x_74; 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_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86;
+x_72 = lean_ctor_get(x_30, 1);
+lean_dec(x_72);
+x_73 = lean_ctor_get(x_30, 0);
+lean_dec(x_73);
+x_74 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1;
+x_75 = l_Lean_Format_joinSep___main___at_Lean_ppGoal___spec__1(x_70, x_74);
+x_76 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__3;
+x_77 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_77, 0, x_75);
-lean_ctor_set_uint8(x_77, sizeof(void*)*1, x_76);
+lean_ctor_set(x_77, 1, x_76);
x_78 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_78, 0, x_57);
-lean_ctor_set(x_78, 1, x_77);
-x_79 = lean_box(0);
-lean_ctor_set(x_29, 1, x_79);
-lean_ctor_set(x_29, 0, x_35);
-lean_ctor_set(x_31, 0, x_49);
-lean_ctor_set(x_36, 1, x_78);
-lean_ctor_set(x_36, 0, x_31);
-lean_ctor_set(x_28, 1, x_36);
-lean_ctor_set(x_28, 0, x_29);
-lean_ctor_set(x_61, 0, x_28);
-x_15 = x_61;
-goto block_23;
-}
-else
-{
-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; uint8_t x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92;
-lean_dec(x_29);
-x_80 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1;
-x_81 = l_Lean_Format_joinSep___main___at_Lean_ppGoal___spec__1(x_64, x_80);
-x_82 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__3;
+lean_ctor_set(x_78, 0, x_43);
+lean_ctor_set(x_78, 1, x_69);
+lean_inc(x_2);
+x_79 = lean_alloc_ctor(3, 2, 0);
+lean_ctor_set(x_79, 0, x_2);
+lean_ctor_set(x_79, 1, x_78);
+x_80 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_80, 0, x_77);
+lean_ctor_set(x_80, 1, x_79);
+x_81 = 0;
+x_82 = lean_alloc_ctor(5, 1, 1);
+lean_ctor_set(x_82, 0, x_80);
+lean_ctor_set_uint8(x_82, sizeof(void*)*1, x_81);
x_83 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_83, 0, x_81);
+lean_ctor_set(x_83, 0, x_44);
lean_ctor_set(x_83, 1, x_82);
-x_84 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_84, 0, x_56);
-lean_ctor_set(x_84, 1, x_63);
-x_85 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4;
-x_86 = lean_alloc_ctor(3, 2, 0);
-lean_ctor_set(x_86, 0, x_85);
-lean_ctor_set(x_86, 1, x_84);
-x_87 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_87, 0, x_83);
-lean_ctor_set(x_87, 1, x_86);
-x_88 = 0;
-x_89 = lean_alloc_ctor(5, 1, 1);
-lean_ctor_set(x_89, 0, x_87);
-lean_ctor_set_uint8(x_89, sizeof(void*)*1, x_88);
-x_90 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_90, 0, x_57);
-lean_ctor_set(x_90, 1, x_89);
-x_91 = lean_box(0);
-x_92 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_92, 0, x_35);
-lean_ctor_set(x_92, 1, x_91);
-lean_ctor_set(x_31, 0, x_49);
-lean_ctor_set(x_36, 1, x_90);
-lean_ctor_set(x_36, 0, x_31);
-lean_ctor_set(x_28, 1, x_36);
-lean_ctor_set(x_28, 0, x_92);
-lean_ctor_set(x_61, 0, x_28);
-x_15 = x_61;
-goto block_23;
+x_84 = lean_box(0);
+lean_ctor_set(x_30, 1, x_84);
+lean_ctor_set(x_30, 0, x_36);
+lean_ctor_set(x_31, 0, x_38);
+if (lean_is_scalar(x_39)) {
+ x_85 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_85 = x_39;
}
+lean_ctor_set(x_85, 0, x_31);
+lean_ctor_set(x_85, 1, x_83);
+if (lean_is_scalar(x_33)) {
+ x_86 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_86 = x_33;
+}
+lean_ctor_set(x_86, 0, x_30);
+lean_ctor_set(x_86, 1, x_85);
+lean_ctor_set(x_67, 0, x_86);
+x_16 = x_67;
+goto block_24;
}
else
{
-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; uint8_t x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110;
-x_93 = lean_ctor_get(x_61, 0);
-x_94 = lean_ctor_get(x_61, 1);
-lean_inc(x_94);
-lean_inc(x_93);
-lean_dec(x_61);
-lean_inc(x_29);
-x_95 = l_List_reverse___rarg(x_29);
-if (lean_is_exclusive(x_29)) {
- lean_ctor_release(x_29, 0);
- lean_ctor_release(x_29, 1);
- x_96 = x_29;
+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; uint8_t 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_dec(x_30);
+x_87 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1;
+x_88 = l_Lean_Format_joinSep___main___at_Lean_ppGoal___spec__1(x_70, x_87);
+x_89 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__3;
+x_90 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_90, 0, x_88);
+lean_ctor_set(x_90, 1, x_89);
+x_91 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_91, 0, x_43);
+lean_ctor_set(x_91, 1, x_69);
+lean_inc(x_2);
+x_92 = lean_alloc_ctor(3, 2, 0);
+lean_ctor_set(x_92, 0, x_2);
+lean_ctor_set(x_92, 1, x_91);
+x_93 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_93, 0, x_90);
+lean_ctor_set(x_93, 1, x_92);
+x_94 = 0;
+x_95 = lean_alloc_ctor(5, 1, 1);
+lean_ctor_set(x_95, 0, x_93);
+lean_ctor_set_uint8(x_95, sizeof(void*)*1, x_94);
+x_96 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_96, 0, x_44);
+lean_ctor_set(x_96, 1, x_95);
+x_97 = lean_box(0);
+x_98 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_98, 0, x_36);
+lean_ctor_set(x_98, 1, x_97);
+lean_ctor_set(x_31, 0, x_38);
+if (lean_is_scalar(x_39)) {
+ x_99 = lean_alloc_ctor(0, 2, 0);
} else {
- lean_dec_ref(x_29);
- x_96 = lean_box(0);
+ x_99 = x_39;
+}
+lean_ctor_set(x_99, 0, x_31);
+lean_ctor_set(x_99, 1, x_96);
+if (lean_is_scalar(x_33)) {
+ x_100 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_100 = x_33;
}
-x_97 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1;
-x_98 = l_Lean_Format_joinSep___main___at_Lean_ppGoal___spec__1(x_95, x_97);
-x_99 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__3;
-x_100 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_100, 0, x_98);
lean_ctor_set(x_100, 1, x_99);
-x_101 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_101, 0, x_56);
-lean_ctor_set(x_101, 1, x_93);
-x_102 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4;
-x_103 = lean_alloc_ctor(3, 2, 0);
-lean_ctor_set(x_103, 0, x_102);
-lean_ctor_set(x_103, 1, x_101);
-x_104 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_104, 0, x_100);
-lean_ctor_set(x_104, 1, x_103);
-x_105 = 0;
-x_106 = lean_alloc_ctor(5, 1, 1);
-lean_ctor_set(x_106, 0, x_104);
-lean_ctor_set_uint8(x_106, sizeof(void*)*1, x_105);
-x_107 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_107, 0, x_57);
-lean_ctor_set(x_107, 1, x_106);
-x_108 = lean_box(0);
-if (lean_is_scalar(x_96)) {
- x_109 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_67, 0, x_100);
+x_16 = x_67;
+goto block_24;
+}
+}
+else
+{
+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; uint8_t 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;
+x_101 = lean_ctor_get(x_67, 0);
+x_102 = lean_ctor_get(x_67, 1);
+lean_inc(x_102);
+lean_inc(x_101);
+lean_dec(x_67);
+lean_inc(x_30);
+x_103 = l_List_reverse___rarg(x_30);
+if (lean_is_exclusive(x_30)) {
+ lean_ctor_release(x_30, 0);
+ lean_ctor_release(x_30, 1);
+ x_104 = x_30;
} else {
- x_109 = x_96;
+ lean_dec_ref(x_30);
+ x_104 = lean_box(0);
}
-lean_ctor_set(x_109, 0, x_35);
-lean_ctor_set(x_109, 1, x_108);
-lean_ctor_set(x_31, 0, x_49);
-lean_ctor_set(x_36, 1, x_107);
-lean_ctor_set(x_36, 0, x_31);
-lean_ctor_set(x_28, 1, x_36);
-lean_ctor_set(x_28, 0, x_109);
-x_110 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_110, 0, x_28);
-lean_ctor_set(x_110, 1, x_94);
-x_15 = x_110;
-goto block_23;
-}
-}
-else
-{
-uint8_t x_111;
-lean_dec(x_57);
-lean_free_object(x_31);
-lean_free_object(x_36);
-lean_dec(x_49);
-lean_dec(x_35);
-lean_free_object(x_28);
-lean_dec(x_29);
-x_111 = !lean_is_exclusive(x_61);
-if (x_111 == 0)
-{
-x_15 = x_61;
-goto block_23;
-}
-else
-{
-lean_object* x_112; lean_object* x_113; lean_object* x_114;
-x_112 = lean_ctor_get(x_61, 0);
-x_113 = lean_ctor_get(x_61, 1);
-lean_inc(x_113);
-lean_inc(x_112);
-lean_dec(x_61);
-x_114 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_114, 0, x_112);
+x_105 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1;
+x_106 = l_Lean_Format_joinSep___main___at_Lean_ppGoal___spec__1(x_103, x_105);
+x_107 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__3;
+x_108 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_108, 0, x_106);
+lean_ctor_set(x_108, 1, x_107);
+x_109 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_109, 0, x_43);
+lean_ctor_set(x_109, 1, x_101);
+lean_inc(x_2);
+x_110 = lean_alloc_ctor(3, 2, 0);
+lean_ctor_set(x_110, 0, x_2);
+lean_ctor_set(x_110, 1, x_109);
+x_111 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_111, 0, x_108);
+lean_ctor_set(x_111, 1, x_110);
+x_112 = 0;
+x_113 = lean_alloc_ctor(5, 1, 1);
+lean_ctor_set(x_113, 0, x_111);
+lean_ctor_set_uint8(x_113, sizeof(void*)*1, x_112);
+x_114 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_114, 0, x_44);
lean_ctor_set(x_114, 1, x_113);
-x_15 = x_114;
-goto block_23;
-}
-}
-}
-}
-else
-{
-if (lean_obj_tag(x_29) == 0)
-{
-lean_object* x_115; lean_object* x_116; lean_object* x_117;
-lean_dec(x_52);
x_115 = lean_box(0);
-x_116 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_116, 0, x_35);
+if (lean_is_scalar(x_104)) {
+ x_116 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_116 = x_104;
+}
+lean_ctor_set(x_116, 0, x_36);
lean_ctor_set(x_116, 1, x_115);
-lean_ctor_set(x_31, 0, x_49);
-lean_ctor_set(x_36, 1, x_32);
-lean_ctor_set(x_36, 0, x_31);
-lean_ctor_set(x_28, 1, x_36);
-lean_ctor_set(x_28, 0, x_116);
-x_117 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_117, 0, x_28);
-lean_ctor_set(x_117, 1, x_8);
-x_15 = x_117;
-goto block_23;
+lean_ctor_set(x_31, 0, x_38);
+if (lean_is_scalar(x_39)) {
+ x_117 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_117 = x_39;
+}
+lean_ctor_set(x_117, 0, x_31);
+lean_ctor_set(x_117, 1, x_114);
+if (lean_is_scalar(x_33)) {
+ x_118 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_118 = x_33;
+}
+lean_ctor_set(x_118, 0, x_116);
+lean_ctor_set(x_118, 1, x_117);
+x_119 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_119, 0, x_118);
+lean_ctor_set(x_119, 1, x_102);
+x_16 = x_119;
+goto block_24;
+}
}
else
{
-lean_object* x_118;
-lean_inc(x_3);
-x_118 = l_Lean_ppExpr(x_3, x_52, x_8);
-if (lean_obj_tag(x_118) == 0)
+uint8_t x_120;
+lean_free_object(x_31);
+lean_dec(x_44);
+lean_dec(x_39);
+lean_dec(x_38);
+lean_dec(x_36);
+lean_dec(x_33);
+lean_dec(x_30);
+x_120 = !lean_is_exclusive(x_67);
+if (x_120 == 0)
{
-uint8_t x_119;
-x_119 = !lean_is_exclusive(x_118);
-if (x_119 == 0)
+x_16 = x_67;
+goto block_24;
+}
+else
{
-lean_object* x_120; lean_object* x_121; uint8_t x_122;
-x_120 = lean_ctor_get(x_118, 0);
-lean_inc(x_29);
-x_121 = l_List_reverse___rarg(x_29);
-x_122 = !lean_is_exclusive(x_29);
-if (x_122 == 0)
+lean_object* x_121; lean_object* x_122; lean_object* x_123;
+x_121 = lean_ctor_get(x_67, 0);
+x_122 = lean_ctor_get(x_67, 1);
+lean_inc(x_122);
+lean_inc(x_121);
+lean_dec(x_67);
+x_123 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_123, 0, x_121);
+lean_ctor_set(x_123, 1, x_122);
+x_16 = x_123;
+goto block_24;
+}
+}
+}
+else
{
-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; uint8_t x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137;
-x_123 = lean_ctor_get(x_29, 1);
-lean_dec(x_123);
-x_124 = lean_ctor_get(x_29, 0);
-lean_dec(x_124);
-x_125 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1;
-x_126 = l_Lean_Format_joinSep___main___at_Lean_ppGoal___spec__1(x_121, x_125);
-x_127 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__3;
-x_128 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_128, 0, x_126);
-lean_ctor_set(x_128, 1, x_127);
-x_129 = lean_box(1);
-x_130 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_130, 0, x_129);
-lean_ctor_set(x_130, 1, x_120);
-x_131 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4;
-x_132 = lean_alloc_ctor(3, 2, 0);
-lean_ctor_set(x_132, 0, x_131);
-lean_ctor_set(x_132, 1, x_130);
-x_133 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_133, 0, x_128);
-lean_ctor_set(x_133, 1, x_132);
-x_134 = 0;
-x_135 = lean_alloc_ctor(5, 1, 1);
-lean_ctor_set(x_135, 0, x_133);
-lean_ctor_set_uint8(x_135, sizeof(void*)*1, x_134);
-x_136 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_136, 0, x_32);
+lean_object* x_124; lean_object* x_125;
+x_124 = lean_ctor_get(x_31, 0);
+lean_inc(x_124);
+lean_dec(x_31);
+lean_inc(x_4);
+x_125 = l_Lean_ppExpr(x_4, x_124, x_9);
+if (lean_obj_tag(x_125) == 0)
+{
+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; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; uint8_t x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146;
+x_126 = lean_ctor_get(x_125, 0);
+lean_inc(x_126);
+x_127 = lean_ctor_get(x_125, 1);
+lean_inc(x_127);
+if (lean_is_exclusive(x_125)) {
+ lean_ctor_release(x_125, 0);
+ lean_ctor_release(x_125, 1);
+ x_128 = x_125;
+} else {
+ lean_dec_ref(x_125);
+ x_128 = lean_box(0);
+}
+lean_inc(x_30);
+x_129 = l_List_reverse___rarg(x_30);
+if (lean_is_exclusive(x_30)) {
+ lean_ctor_release(x_30, 0);
+ lean_ctor_release(x_30, 1);
+ x_130 = x_30;
+} else {
+ lean_dec_ref(x_30);
+ x_130 = lean_box(0);
+}
+x_131 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1;
+x_132 = l_Lean_Format_joinSep___main___at_Lean_ppGoal___spec__1(x_129, x_131);
+x_133 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__3;
+x_134 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_134, 0, x_132);
+lean_ctor_set(x_134, 1, x_133);
+x_135 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_135, 0, x_43);
+lean_ctor_set(x_135, 1, x_126);
+lean_inc(x_2);
+x_136 = lean_alloc_ctor(3, 2, 0);
+lean_ctor_set(x_136, 0, x_2);
lean_ctor_set(x_136, 1, x_135);
-x_137 = lean_box(0);
-lean_ctor_set(x_29, 1, x_137);
-lean_ctor_set(x_29, 0, x_35);
-lean_ctor_set(x_31, 0, x_49);
-lean_ctor_set(x_36, 1, x_136);
-lean_ctor_set(x_36, 0, x_31);
-lean_ctor_set(x_28, 1, x_36);
-lean_ctor_set(x_28, 0, x_29);
-lean_ctor_set(x_118, 0, x_28);
-x_15 = x_118;
-goto block_23;
+x_137 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_137, 0, x_134);
+lean_ctor_set(x_137, 1, x_136);
+x_138 = 0;
+x_139 = lean_alloc_ctor(5, 1, 1);
+lean_ctor_set(x_139, 0, x_137);
+lean_ctor_set_uint8(x_139, sizeof(void*)*1, x_138);
+x_140 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_140, 0, x_44);
+lean_ctor_set(x_140, 1, x_139);
+x_141 = lean_box(0);
+if (lean_is_scalar(x_130)) {
+ x_142 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_142 = x_130;
+}
+lean_ctor_set(x_142, 0, x_36);
+lean_ctor_set(x_142, 1, x_141);
+x_143 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_143, 0, x_38);
+if (lean_is_scalar(x_39)) {
+ x_144 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_144 = x_39;
+}
+lean_ctor_set(x_144, 0, x_143);
+lean_ctor_set(x_144, 1, x_140);
+if (lean_is_scalar(x_33)) {
+ x_145 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_145 = x_33;
+}
+lean_ctor_set(x_145, 0, x_142);
+lean_ctor_set(x_145, 1, x_144);
+if (lean_is_scalar(x_128)) {
+ x_146 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_146 = x_128;
+}
+lean_ctor_set(x_146, 0, x_145);
+lean_ctor_set(x_146, 1, x_127);
+x_16 = x_146;
+goto block_24;
}
else
{
-lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; uint8_t x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151;
-lean_dec(x_29);
-x_138 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1;
-x_139 = l_Lean_Format_joinSep___main___at_Lean_ppGoal___spec__1(x_121, x_138);
-x_140 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__3;
-x_141 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_141, 0, x_139);
-lean_ctor_set(x_141, 1, x_140);
-x_142 = lean_box(1);
-x_143 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_143, 0, x_142);
-lean_ctor_set(x_143, 1, x_120);
-x_144 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4;
-x_145 = lean_alloc_ctor(3, 2, 0);
-lean_ctor_set(x_145, 0, x_144);
-lean_ctor_set(x_145, 1, x_143);
-x_146 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_146, 0, x_141);
-lean_ctor_set(x_146, 1, x_145);
-x_147 = 0;
-x_148 = lean_alloc_ctor(5, 1, 1);
-lean_ctor_set(x_148, 0, x_146);
-lean_ctor_set_uint8(x_148, sizeof(void*)*1, x_147);
-x_149 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_149, 0, x_32);
-lean_ctor_set(x_149, 1, x_148);
-x_150 = lean_box(0);
-x_151 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_151, 0, x_35);
-lean_ctor_set(x_151, 1, x_150);
-lean_ctor_set(x_31, 0, x_49);
-lean_ctor_set(x_36, 1, x_149);
-lean_ctor_set(x_36, 0, x_31);
-lean_ctor_set(x_28, 1, x_36);
-lean_ctor_set(x_28, 0, x_151);
-lean_ctor_set(x_118, 0, x_28);
-x_15 = x_118;
-goto block_23;
+lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150;
+lean_dec(x_44);
+lean_dec(x_39);
+lean_dec(x_38);
+lean_dec(x_36);
+lean_dec(x_33);
+lean_dec(x_30);
+x_147 = lean_ctor_get(x_125, 0);
+lean_inc(x_147);
+x_148 = lean_ctor_get(x_125, 1);
+lean_inc(x_148);
+if (lean_is_exclusive(x_125)) {
+ lean_ctor_release(x_125, 0);
+ lean_ctor_release(x_125, 1);
+ x_149 = x_125;
+} else {
+ lean_dec_ref(x_125);
+ x_149 = lean_box(0);
+}
+if (lean_is_scalar(x_149)) {
+ x_150 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_150 = x_149;
+}
+lean_ctor_set(x_150, 0, x_147);
+lean_ctor_set(x_150, 1, x_148);
+x_16 = x_150;
+goto block_24;
+}
+}
+}
}
}
else
{
-lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; uint8_t x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170;
-x_152 = lean_ctor_get(x_118, 0);
-x_153 = lean_ctor_get(x_118, 1);
-lean_inc(x_153);
-lean_inc(x_152);
-lean_dec(x_118);
-lean_inc(x_29);
-x_154 = l_List_reverse___rarg(x_29);
-if (lean_is_exclusive(x_29)) {
- lean_ctor_release(x_29, 0);
- lean_ctor_release(x_29, 1);
- x_155 = x_29;
+if (lean_obj_tag(x_30) == 0)
+{
+lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156;
+lean_dec(x_31);
+x_151 = lean_box(0);
+x_152 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_152, 0, x_36);
+lean_ctor_set(x_152, 1, x_151);
+if (lean_is_scalar(x_27)) {
+ x_153 = lean_alloc_ctor(1, 1, 0);
} else {
- lean_dec_ref(x_29);
- x_155 = lean_box(0);
+ x_153 = x_27;
}
-x_156 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1;
-x_157 = l_Lean_Format_joinSep___main___at_Lean_ppGoal___spec__1(x_154, x_156);
-x_158 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__3;
-x_159 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_159, 0, x_157);
-lean_ctor_set(x_159, 1, x_158);
-x_160 = lean_box(1);
-x_161 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_161, 0, x_160);
-lean_ctor_set(x_161, 1, x_152);
-x_162 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4;
-x_163 = lean_alloc_ctor(3, 2, 0);
-lean_ctor_set(x_163, 0, x_162);
-lean_ctor_set(x_163, 1, x_161);
-x_164 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_164, 0, x_159);
-lean_ctor_set(x_164, 1, x_163);
-x_165 = 0;
-x_166 = lean_alloc_ctor(5, 1, 1);
-lean_ctor_set(x_166, 0, x_164);
-lean_ctor_set_uint8(x_166, sizeof(void*)*1, x_165);
-x_167 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_167, 0, x_32);
-lean_ctor_set(x_167, 1, x_166);
-x_168 = lean_box(0);
-if (lean_is_scalar(x_155)) {
- x_169 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_153, 0, x_38);
+if (lean_is_scalar(x_39)) {
+ x_154 = lean_alloc_ctor(0, 2, 0);
} else {
- x_169 = x_155;
+ x_154 = x_39;
}
-lean_ctor_set(x_169, 0, x_35);
+lean_ctor_set(x_154, 0, x_153);
+lean_ctor_set(x_154, 1, x_32);
+if (lean_is_scalar(x_33)) {
+ x_155 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_155 = x_33;
+}
+lean_ctor_set(x_155, 0, x_152);
+lean_ctor_set(x_155, 1, x_154);
+x_156 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_156, 0, x_155);
+lean_ctor_set(x_156, 1, x_9);
+x_16 = x_156;
+goto block_24;
+}
+else
+{
+if (lean_obj_tag(x_31) == 0)
+{
+uint8_t x_157;
+x_157 = !lean_is_exclusive(x_30);
+if (x_157 == 0)
+{
+lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164;
+x_158 = lean_ctor_get(x_30, 1);
+lean_dec(x_158);
+x_159 = lean_ctor_get(x_30, 0);
+lean_dec(x_159);
+x_160 = lean_box(0);
+lean_ctor_set(x_30, 1, x_160);
+lean_ctor_set(x_30, 0, x_36);
+if (lean_is_scalar(x_27)) {
+ x_161 = lean_alloc_ctor(1, 1, 0);
+} else {
+ x_161 = x_27;
+}
+lean_ctor_set(x_161, 0, x_38);
+if (lean_is_scalar(x_39)) {
+ x_162 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_162 = x_39;
+}
+lean_ctor_set(x_162, 0, x_161);
+lean_ctor_set(x_162, 1, x_32);
+if (lean_is_scalar(x_33)) {
+ x_163 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_163 = x_33;
+}
+lean_ctor_set(x_163, 0, x_30);
+lean_ctor_set(x_163, 1, x_162);
+x_164 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_164, 0, x_163);
+lean_ctor_set(x_164, 1, x_9);
+x_16 = x_164;
+goto block_24;
+}
+else
+{
+lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170;
+lean_dec(x_30);
+x_165 = lean_box(0);
+x_166 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_166, 0, x_36);
+lean_ctor_set(x_166, 1, x_165);
+if (lean_is_scalar(x_27)) {
+ x_167 = lean_alloc_ctor(1, 1, 0);
+} else {
+ x_167 = x_27;
+}
+lean_ctor_set(x_167, 0, x_38);
+if (lean_is_scalar(x_39)) {
+ x_168 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_168 = x_39;
+}
+lean_ctor_set(x_168, 0, x_167);
+lean_ctor_set(x_168, 1, x_32);
+if (lean_is_scalar(x_33)) {
+ x_169 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_169 = x_33;
+}
+lean_ctor_set(x_169, 0, x_166);
lean_ctor_set(x_169, 1, x_168);
-lean_ctor_set(x_31, 0, x_49);
-lean_ctor_set(x_36, 1, x_167);
-lean_ctor_set(x_36, 0, x_31);
-lean_ctor_set(x_28, 1, x_36);
-lean_ctor_set(x_28, 0, x_169);
x_170 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_170, 0, x_28);
-lean_ctor_set(x_170, 1, x_153);
-x_15 = x_170;
-goto block_23;
+lean_ctor_set(x_170, 0, x_169);
+lean_ctor_set(x_170, 1, x_9);
+x_16 = x_170;
+goto block_24;
}
}
else
{
uint8_t x_171;
-lean_free_object(x_31);
-lean_free_object(x_36);
-lean_dec(x_49);
-lean_dec(x_35);
-lean_free_object(x_28);
-lean_dec(x_32);
-lean_dec(x_29);
-x_171 = !lean_is_exclusive(x_118);
+lean_dec(x_27);
+x_171 = !lean_is_exclusive(x_31);
if (x_171 == 0)
{
-x_15 = x_118;
-goto block_23;
-}
-else
+lean_object* x_172; lean_object* x_173;
+x_172 = lean_ctor_get(x_31, 0);
+lean_inc(x_4);
+x_173 = l_Lean_ppExpr(x_4, x_172, x_9);
+if (lean_obj_tag(x_173) == 0)
{
-lean_object* x_172; lean_object* x_173; lean_object* x_174;
-x_172 = lean_ctor_get(x_118, 0);
-x_173 = lean_ctor_get(x_118, 1);
-lean_inc(x_173);
-lean_inc(x_172);
-lean_dec(x_118);
-x_174 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_174, 0, x_172);
-lean_ctor_set(x_174, 1, x_173);
-x_15 = x_174;
-goto block_23;
-}
-}
-}
-}
-}
-else
+uint8_t x_174;
+x_174 = !lean_is_exclusive(x_173);
+if (x_174 == 0)
{
-lean_object* x_175; lean_object* x_176; lean_object* x_177;
-lean_dec(x_52);
-lean_dec(x_29);
-x_175 = lean_box(0);
-x_176 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_176, 0, x_35);
-lean_ctor_set(x_176, 1, x_175);
-lean_ctor_set(x_31, 0, x_49);
-lean_ctor_set(x_36, 1, x_32);
-lean_ctor_set(x_36, 0, x_31);
-lean_ctor_set(x_28, 1, x_36);
-lean_ctor_set(x_28, 0, x_176);
-x_177 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_177, 0, x_28);
-lean_ctor_set(x_177, 1, x_8);
-x_15 = x_177;
-goto block_23;
-}
-}
-else
+lean_object* x_175; lean_object* x_176; uint8_t x_177;
+x_175 = lean_ctor_get(x_173, 0);
+lean_inc(x_30);
+x_176 = l_List_reverse___rarg(x_30);
+x_177 = !lean_is_exclusive(x_30);
+if (x_177 == 0)
{
-lean_object* x_178; lean_object* x_179;
-lean_dec(x_52);
-x_178 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_178, 0, x_35);
-lean_ctor_set(x_178, 1, x_29);
-lean_ctor_set(x_31, 0, x_49);
-lean_ctor_set(x_36, 1, x_32);
-lean_ctor_set(x_36, 0, x_31);
-lean_ctor_set(x_28, 1, x_36);
-lean_ctor_set(x_28, 0, x_178);
-x_179 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_179, 0, x_28);
-lean_ctor_set(x_179, 1, x_8);
-x_15 = x_179;
-goto block_23;
-}
-}
-else
-{
-lean_object* x_180; uint8_t x_181;
-x_180 = lean_ctor_get(x_31, 0);
-lean_inc(x_180);
-lean_dec(x_31);
-x_181 = lean_expr_eqv(x_180, x_49);
-if (x_181 == 0)
-{
-uint8_t x_182;
-x_182 = l_List_isEmpty___rarg(x_29);
-if (x_182 == 0)
-{
-uint8_t x_183;
-x_183 = l_Lean_Format_isNil(x_32);
-if (x_183 == 0)
-{
-lean_object* x_184; lean_object* x_185;
+lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; uint8_t x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193;
+x_178 = lean_ctor_get(x_30, 1);
+lean_dec(x_178);
+x_179 = lean_ctor_get(x_30, 0);
+lean_dec(x_179);
+x_180 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1;
+x_181 = l_Lean_Format_joinSep___main___at_Lean_ppGoal___spec__1(x_176, x_180);
+x_182 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__3;
+x_183 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_183, 0, x_181);
+lean_ctor_set(x_183, 1, x_182);
x_184 = lean_box(1);
x_185 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_185, 0, x_32);
-lean_ctor_set(x_185, 1, x_184);
-if (lean_obj_tag(x_29) == 0)
-{
-lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189;
-lean_dec(x_180);
-x_186 = lean_box(0);
-x_187 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_187, 0, x_35);
+lean_ctor_set(x_185, 0, x_184);
+lean_ctor_set(x_185, 1, x_175);
+lean_inc(x_2);
+x_186 = lean_alloc_ctor(3, 2, 0);
+lean_ctor_set(x_186, 0, x_2);
+lean_ctor_set(x_186, 1, x_185);
+x_187 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_187, 0, x_183);
lean_ctor_set(x_187, 1, x_186);
-x_188 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_188, 0, x_49);
-lean_ctor_set(x_36, 1, x_185);
-lean_ctor_set(x_36, 0, x_188);
-lean_ctor_set(x_28, 1, x_36);
-lean_ctor_set(x_28, 0, x_187);
-x_189 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_189, 0, x_28);
-lean_ctor_set(x_189, 1, x_8);
-x_15 = x_189;
-goto block_23;
+x_188 = 0;
+x_189 = lean_alloc_ctor(5, 1, 1);
+lean_ctor_set(x_189, 0, x_187);
+lean_ctor_set_uint8(x_189, sizeof(void*)*1, x_188);
+x_190 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_190, 0, x_32);
+lean_ctor_set(x_190, 1, x_189);
+x_191 = lean_box(0);
+lean_ctor_set(x_30, 1, x_191);
+lean_ctor_set(x_30, 0, x_36);
+lean_ctor_set(x_31, 0, x_38);
+if (lean_is_scalar(x_39)) {
+ x_192 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_192 = x_39;
+}
+lean_ctor_set(x_192, 0, x_31);
+lean_ctor_set(x_192, 1, x_190);
+if (lean_is_scalar(x_33)) {
+ x_193 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_193 = x_33;
+}
+lean_ctor_set(x_193, 0, x_30);
+lean_ctor_set(x_193, 1, x_192);
+lean_ctor_set(x_173, 0, x_193);
+x_16 = x_173;
+goto block_24;
}
else
{
-lean_object* x_190;
-lean_inc(x_3);
-x_190 = l_Lean_ppExpr(x_3, x_180, x_8);
-if (lean_obj_tag(x_190) == 0)
-{
-lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; uint8_t x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210;
-x_191 = lean_ctor_get(x_190, 0);
-lean_inc(x_191);
-x_192 = lean_ctor_get(x_190, 1);
-lean_inc(x_192);
-if (lean_is_exclusive(x_190)) {
- lean_ctor_release(x_190, 0);
- lean_ctor_release(x_190, 1);
- x_193 = x_190;
-} else {
- lean_dec_ref(x_190);
- x_193 = lean_box(0);
-}
-lean_inc(x_29);
-x_194 = l_List_reverse___rarg(x_29);
-if (lean_is_exclusive(x_29)) {
- lean_ctor_release(x_29, 0);
- lean_ctor_release(x_29, 1);
- x_195 = x_29;
-} else {
- lean_dec_ref(x_29);
- x_195 = lean_box(0);
-}
-x_196 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1;
-x_197 = l_Lean_Format_joinSep___main___at_Lean_ppGoal___spec__1(x_194, x_196);
-x_198 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__3;
+lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; uint8_t x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208;
+lean_dec(x_30);
+x_194 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1;
+x_195 = l_Lean_Format_joinSep___main___at_Lean_ppGoal___spec__1(x_176, x_194);
+x_196 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__3;
+x_197 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_197, 0, x_195);
+lean_ctor_set(x_197, 1, x_196);
+x_198 = lean_box(1);
x_199 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_199, 0, x_197);
-lean_ctor_set(x_199, 1, x_198);
-x_200 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_200, 0, x_184);
-lean_ctor_set(x_200, 1, x_191);
-x_201 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4;
-x_202 = lean_alloc_ctor(3, 2, 0);
-lean_ctor_set(x_202, 0, x_201);
-lean_ctor_set(x_202, 1, x_200);
-x_203 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_203, 0, x_199);
-lean_ctor_set(x_203, 1, x_202);
-x_204 = 0;
-x_205 = lean_alloc_ctor(5, 1, 1);
-lean_ctor_set(x_205, 0, x_203);
-lean_ctor_set_uint8(x_205, sizeof(void*)*1, x_204);
-x_206 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_206, 0, x_185);
+lean_ctor_set(x_199, 0, x_198);
+lean_ctor_set(x_199, 1, x_175);
+lean_inc(x_2);
+x_200 = lean_alloc_ctor(3, 2, 0);
+lean_ctor_set(x_200, 0, x_2);
+lean_ctor_set(x_200, 1, x_199);
+x_201 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_201, 0, x_197);
+lean_ctor_set(x_201, 1, x_200);
+x_202 = 0;
+x_203 = lean_alloc_ctor(5, 1, 1);
+lean_ctor_set(x_203, 0, x_201);
+lean_ctor_set_uint8(x_203, sizeof(void*)*1, x_202);
+x_204 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_204, 0, x_32);
+lean_ctor_set(x_204, 1, x_203);
+x_205 = lean_box(0);
+x_206 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_206, 0, x_36);
lean_ctor_set(x_206, 1, x_205);
-x_207 = lean_box(0);
-if (lean_is_scalar(x_195)) {
- x_208 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_31, 0, x_38);
+if (lean_is_scalar(x_39)) {
+ x_207 = lean_alloc_ctor(0, 2, 0);
} else {
- x_208 = x_195;
+ x_207 = x_39;
}
-lean_ctor_set(x_208, 0, x_35);
+lean_ctor_set(x_207, 0, x_31);
+lean_ctor_set(x_207, 1, x_204);
+if (lean_is_scalar(x_33)) {
+ x_208 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_208 = x_33;
+}
+lean_ctor_set(x_208, 0, x_206);
lean_ctor_set(x_208, 1, x_207);
-x_209 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_209, 0, x_49);
-lean_ctor_set(x_36, 1, x_206);
-lean_ctor_set(x_36, 0, x_209);
-lean_ctor_set(x_28, 1, x_36);
-lean_ctor_set(x_28, 0, x_208);
-if (lean_is_scalar(x_193)) {
- x_210 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_210 = x_193;
-}
-lean_ctor_set(x_210, 0, x_28);
-lean_ctor_set(x_210, 1, x_192);
-x_15 = x_210;
-goto block_23;
-}
-else
-{
-lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214;
-lean_dec(x_185);
-lean_free_object(x_36);
-lean_dec(x_49);
-lean_dec(x_35);
-lean_free_object(x_28);
-lean_dec(x_29);
-x_211 = lean_ctor_get(x_190, 0);
-lean_inc(x_211);
-x_212 = lean_ctor_get(x_190, 1);
-lean_inc(x_212);
-if (lean_is_exclusive(x_190)) {
- lean_ctor_release(x_190, 0);
- lean_ctor_release(x_190, 1);
- x_213 = x_190;
-} else {
- lean_dec_ref(x_190);
- x_213 = lean_box(0);
-}
-if (lean_is_scalar(x_213)) {
- x_214 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_214 = x_213;
-}
-lean_ctor_set(x_214, 0, x_211);
-lean_ctor_set(x_214, 1, x_212);
-x_15 = x_214;
-goto block_23;
-}
+lean_ctor_set(x_173, 0, x_208);
+x_16 = x_173;
+goto block_24;
}
}
else
{
-if (lean_obj_tag(x_29) == 0)
-{
-lean_object* x_215; lean_object* x_216; lean_object* x_217; lean_object* x_218;
-lean_dec(x_180);
-x_215 = lean_box(0);
-x_216 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_216, 0, x_35);
+lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214; lean_object* x_215; lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; uint8_t x_221; lean_object* x_222; lean_object* x_223; lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; lean_object* x_228;
+x_209 = lean_ctor_get(x_173, 0);
+x_210 = lean_ctor_get(x_173, 1);
+lean_inc(x_210);
+lean_inc(x_209);
+lean_dec(x_173);
+lean_inc(x_30);
+x_211 = l_List_reverse___rarg(x_30);
+if (lean_is_exclusive(x_30)) {
+ lean_ctor_release(x_30, 0);
+ lean_ctor_release(x_30, 1);
+ x_212 = x_30;
+} else {
+ lean_dec_ref(x_30);
+ x_212 = lean_box(0);
+}
+x_213 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1;
+x_214 = l_Lean_Format_joinSep___main___at_Lean_ppGoal___spec__1(x_211, x_213);
+x_215 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__3;
+x_216 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_216, 0, x_214);
lean_ctor_set(x_216, 1, x_215);
-x_217 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_217, 0, x_49);
-lean_ctor_set(x_36, 1, x_32);
-lean_ctor_set(x_36, 0, x_217);
-lean_ctor_set(x_28, 1, x_36);
-lean_ctor_set(x_28, 0, x_216);
-x_218 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_218, 0, x_28);
-lean_ctor_set(x_218, 1, x_8);
-x_15 = x_218;
-goto block_23;
-}
-else
-{
-lean_object* x_219;
-lean_inc(x_3);
-x_219 = l_Lean_ppExpr(x_3, x_180, x_8);
-if (lean_obj_tag(x_219) == 0)
-{
-lean_object* x_220; lean_object* x_221; lean_object* x_222; lean_object* x_223; lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; lean_object* x_228; lean_object* x_229; lean_object* x_230; lean_object* x_231; lean_object* x_232; lean_object* x_233; uint8_t x_234; lean_object* x_235; lean_object* x_236; lean_object* x_237; lean_object* x_238; lean_object* x_239; lean_object* x_240;
-x_220 = lean_ctor_get(x_219, 0);
-lean_inc(x_220);
-x_221 = lean_ctor_get(x_219, 1);
-lean_inc(x_221);
-if (lean_is_exclusive(x_219)) {
- lean_ctor_release(x_219, 0);
- lean_ctor_release(x_219, 1);
- x_222 = x_219;
+x_217 = lean_box(1);
+x_218 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_218, 0, x_217);
+lean_ctor_set(x_218, 1, x_209);
+lean_inc(x_2);
+x_219 = lean_alloc_ctor(3, 2, 0);
+lean_ctor_set(x_219, 0, x_2);
+lean_ctor_set(x_219, 1, x_218);
+x_220 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_220, 0, x_216);
+lean_ctor_set(x_220, 1, x_219);
+x_221 = 0;
+x_222 = lean_alloc_ctor(5, 1, 1);
+lean_ctor_set(x_222, 0, x_220);
+lean_ctor_set_uint8(x_222, sizeof(void*)*1, x_221);
+x_223 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_223, 0, x_32);
+lean_ctor_set(x_223, 1, x_222);
+x_224 = lean_box(0);
+if (lean_is_scalar(x_212)) {
+ x_225 = lean_alloc_ctor(1, 2, 0);
} else {
- lean_dec_ref(x_219);
- x_222 = lean_box(0);
+ x_225 = x_212;
}
-lean_inc(x_29);
-x_223 = l_List_reverse___rarg(x_29);
-if (lean_is_exclusive(x_29)) {
- lean_ctor_release(x_29, 0);
- lean_ctor_release(x_29, 1);
- x_224 = x_29;
+lean_ctor_set(x_225, 0, x_36);
+lean_ctor_set(x_225, 1, x_224);
+lean_ctor_set(x_31, 0, x_38);
+if (lean_is_scalar(x_39)) {
+ x_226 = lean_alloc_ctor(0, 2, 0);
} else {
- lean_dec_ref(x_29);
- x_224 = lean_box(0);
+ x_226 = x_39;
}
-x_225 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1;
-x_226 = l_Lean_Format_joinSep___main___at_Lean_ppGoal___spec__1(x_223, x_225);
-x_227 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__3;
-x_228 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_228, 0, x_226);
-lean_ctor_set(x_228, 1, x_227);
-x_229 = lean_box(1);
-x_230 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_230, 0, x_229);
-lean_ctor_set(x_230, 1, x_220);
-x_231 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4;
-x_232 = lean_alloc_ctor(3, 2, 0);
-lean_ctor_set(x_232, 0, x_231);
-lean_ctor_set(x_232, 1, x_230);
-x_233 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_233, 0, x_228);
-lean_ctor_set(x_233, 1, x_232);
-x_234 = 0;
-x_235 = lean_alloc_ctor(5, 1, 1);
-lean_ctor_set(x_235, 0, x_233);
-lean_ctor_set_uint8(x_235, sizeof(void*)*1, x_234);
-x_236 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_236, 0, x_32);
-lean_ctor_set(x_236, 1, x_235);
-x_237 = lean_box(0);
-if (lean_is_scalar(x_224)) {
- x_238 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_226, 0, x_31);
+lean_ctor_set(x_226, 1, x_223);
+if (lean_is_scalar(x_33)) {
+ x_227 = lean_alloc_ctor(0, 2, 0);
} else {
- x_238 = x_224;
-}
-lean_ctor_set(x_238, 0, x_35);
-lean_ctor_set(x_238, 1, x_237);
-x_239 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_239, 0, x_49);
-lean_ctor_set(x_36, 1, x_236);
-lean_ctor_set(x_36, 0, x_239);
-lean_ctor_set(x_28, 1, x_36);
-lean_ctor_set(x_28, 0, x_238);
-if (lean_is_scalar(x_222)) {
- x_240 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_240 = x_222;
-}
-lean_ctor_set(x_240, 0, x_28);
-lean_ctor_set(x_240, 1, x_221);
-x_15 = x_240;
-goto block_23;
-}
-else
-{
-lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244;
-lean_free_object(x_36);
-lean_dec(x_49);
-lean_dec(x_35);
-lean_free_object(x_28);
-lean_dec(x_32);
-lean_dec(x_29);
-x_241 = lean_ctor_get(x_219, 0);
-lean_inc(x_241);
-x_242 = lean_ctor_get(x_219, 1);
-lean_inc(x_242);
-if (lean_is_exclusive(x_219)) {
- lean_ctor_release(x_219, 0);
- lean_ctor_release(x_219, 1);
- x_243 = x_219;
-} else {
- lean_dec_ref(x_219);
- x_243 = lean_box(0);
-}
-if (lean_is_scalar(x_243)) {
- x_244 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_244 = x_243;
-}
-lean_ctor_set(x_244, 0, x_241);
-lean_ctor_set(x_244, 1, x_242);
-x_15 = x_244;
-goto block_23;
-}
+ x_227 = x_33;
}
+lean_ctor_set(x_227, 0, x_225);
+lean_ctor_set(x_227, 1, x_226);
+x_228 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_228, 0, x_227);
+lean_ctor_set(x_228, 1, x_210);
+x_16 = x_228;
+goto block_24;
}
}
else
{
-lean_object* x_245; lean_object* x_246; lean_object* x_247; lean_object* x_248;
-lean_dec(x_180);
-lean_dec(x_29);
-x_245 = lean_box(0);
-x_246 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_246, 0, x_35);
-lean_ctor_set(x_246, 1, x_245);
-x_247 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_247, 0, x_49);
-lean_ctor_set(x_36, 1, x_32);
-lean_ctor_set(x_36, 0, x_247);
-lean_ctor_set(x_28, 1, x_36);
-lean_ctor_set(x_28, 0, x_246);
-x_248 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_248, 0, x_28);
-lean_ctor_set(x_248, 1, x_8);
-x_15 = x_248;
-goto block_23;
-}
-}
-else
-{
-lean_object* x_249; lean_object* x_250; lean_object* x_251;
-lean_dec(x_180);
-x_249 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_249, 0, x_35);
-lean_ctor_set(x_249, 1, x_29);
-x_250 = lean_alloc_ctor(1, 1, 0);
-lean_ctor_set(x_250, 0, x_49);
-lean_ctor_set(x_36, 1, x_32);
-lean_ctor_set(x_36, 0, x_250);
-lean_ctor_set(x_28, 1, x_36);
-lean_ctor_set(x_28, 0, x_249);
-x_251 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_251, 0, x_28);
-lean_ctor_set(x_251, 1, x_8);
-x_15 = x_251;
-goto block_23;
-}
-}
-}
-else
-{
-lean_object* x_252; lean_object* x_253; lean_object* x_254; uint8_t x_255;
-x_252 = lean_ctor_get(x_36, 0);
-lean_inc(x_252);
+uint8_t x_229;
+lean_free_object(x_31);
+lean_dec(x_39);
+lean_dec(x_38);
lean_dec(x_36);
-x_253 = lean_ctor_get(x_31, 0);
-lean_inc(x_253);
-if (lean_is_exclusive(x_31)) {
- lean_ctor_release(x_31, 0);
- x_254 = x_31;
-} else {
- lean_dec_ref(x_31);
- x_254 = lean_box(0);
-}
-x_255 = lean_expr_eqv(x_253, x_252);
-if (x_255 == 0)
+lean_dec(x_33);
+lean_dec(x_32);
+lean_dec(x_30);
+x_229 = !lean_is_exclusive(x_173);
+if (x_229 == 0)
{
-uint8_t x_256;
-x_256 = l_List_isEmpty___rarg(x_29);
-if (x_256 == 0)
-{
-uint8_t x_257;
-x_257 = l_Lean_Format_isNil(x_32);
-if (x_257 == 0)
-{
-lean_object* x_258; lean_object* x_259;
-x_258 = lean_box(1);
-x_259 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_259, 0, x_32);
-lean_ctor_set(x_259, 1, x_258);
-if (lean_obj_tag(x_29) == 0)
-{
-lean_object* x_260; lean_object* x_261; lean_object* x_262; lean_object* x_263; lean_object* x_264;
-lean_dec(x_253);
-x_260 = lean_box(0);
-x_261 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_261, 0, x_35);
-lean_ctor_set(x_261, 1, x_260);
-if (lean_is_scalar(x_254)) {
- x_262 = lean_alloc_ctor(1, 1, 0);
-} else {
- x_262 = x_254;
-}
-lean_ctor_set(x_262, 0, x_252);
-x_263 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_263, 0, x_262);
-lean_ctor_set(x_263, 1, x_259);
-lean_ctor_set(x_28, 1, x_263);
-lean_ctor_set(x_28, 0, x_261);
-x_264 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_264, 0, x_28);
-lean_ctor_set(x_264, 1, x_8);
-x_15 = x_264;
-goto block_23;
+x_16 = x_173;
+goto block_24;
}
else
{
-lean_object* x_265;
-lean_inc(x_3);
-x_265 = l_Lean_ppExpr(x_3, x_253, x_8);
-if (lean_obj_tag(x_265) == 0)
-{
-lean_object* x_266; lean_object* x_267; lean_object* x_268; lean_object* x_269; lean_object* x_270; lean_object* x_271; lean_object* x_272; lean_object* x_273; lean_object* x_274; lean_object* x_275; lean_object* x_276; lean_object* x_277; lean_object* x_278; uint8_t x_279; lean_object* x_280; lean_object* x_281; lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286;
-x_266 = lean_ctor_get(x_265, 0);
-lean_inc(x_266);
-x_267 = lean_ctor_get(x_265, 1);
-lean_inc(x_267);
-if (lean_is_exclusive(x_265)) {
- lean_ctor_release(x_265, 0);
- lean_ctor_release(x_265, 1);
- x_268 = x_265;
-} else {
- lean_dec_ref(x_265);
- x_268 = lean_box(0);
-}
-lean_inc(x_29);
-x_269 = l_List_reverse___rarg(x_29);
-if (lean_is_exclusive(x_29)) {
- lean_ctor_release(x_29, 0);
- lean_ctor_release(x_29, 1);
- x_270 = x_29;
-} else {
- lean_dec_ref(x_29);
- x_270 = lean_box(0);
-}
-x_271 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1;
-x_272 = l_Lean_Format_joinSep___main___at_Lean_ppGoal___spec__1(x_269, x_271);
-x_273 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__3;
-x_274 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_274, 0, x_272);
-lean_ctor_set(x_274, 1, x_273);
-x_275 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_275, 0, x_258);
-lean_ctor_set(x_275, 1, x_266);
-x_276 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4;
-x_277 = lean_alloc_ctor(3, 2, 0);
-lean_ctor_set(x_277, 0, x_276);
-lean_ctor_set(x_277, 1, x_275);
-x_278 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_278, 0, x_274);
-lean_ctor_set(x_278, 1, x_277);
-x_279 = 0;
-x_280 = lean_alloc_ctor(5, 1, 1);
-lean_ctor_set(x_280, 0, x_278);
-lean_ctor_set_uint8(x_280, sizeof(void*)*1, x_279);
-x_281 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_281, 0, x_259);
-lean_ctor_set(x_281, 1, x_280);
-x_282 = lean_box(0);
-if (lean_is_scalar(x_270)) {
- x_283 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_283 = x_270;
-}
-lean_ctor_set(x_283, 0, x_35);
-lean_ctor_set(x_283, 1, x_282);
-if (lean_is_scalar(x_254)) {
- x_284 = lean_alloc_ctor(1, 1, 0);
-} else {
- x_284 = x_254;
-}
-lean_ctor_set(x_284, 0, x_252);
-x_285 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_285, 0, x_284);
-lean_ctor_set(x_285, 1, x_281);
-lean_ctor_set(x_28, 1, x_285);
-lean_ctor_set(x_28, 0, x_283);
-if (lean_is_scalar(x_268)) {
- x_286 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_286 = x_268;
-}
-lean_ctor_set(x_286, 0, x_28);
-lean_ctor_set(x_286, 1, x_267);
-x_15 = x_286;
-goto block_23;
-}
-else
-{
-lean_object* x_287; lean_object* x_288; lean_object* x_289; lean_object* x_290;
-lean_dec(x_259);
-lean_dec(x_254);
-lean_dec(x_252);
-lean_dec(x_35);
-lean_free_object(x_28);
-lean_dec(x_29);
-x_287 = lean_ctor_get(x_265, 0);
-lean_inc(x_287);
-x_288 = lean_ctor_get(x_265, 1);
-lean_inc(x_288);
-if (lean_is_exclusive(x_265)) {
- lean_ctor_release(x_265, 0);
- lean_ctor_release(x_265, 1);
- x_289 = x_265;
-} else {
- lean_dec_ref(x_265);
- x_289 = lean_box(0);
-}
-if (lean_is_scalar(x_289)) {
- x_290 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_290 = x_289;
-}
-lean_ctor_set(x_290, 0, x_287);
-lean_ctor_set(x_290, 1, x_288);
-x_15 = x_290;
-goto block_23;
+lean_object* x_230; lean_object* x_231; lean_object* x_232;
+x_230 = lean_ctor_get(x_173, 0);
+x_231 = lean_ctor_get(x_173, 1);
+lean_inc(x_231);
+lean_inc(x_230);
+lean_dec(x_173);
+x_232 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_232, 0, x_230);
+lean_ctor_set(x_232, 1, x_231);
+x_16 = x_232;
+goto block_24;
}
}
}
else
{
-if (lean_obj_tag(x_29) == 0)
+lean_object* x_233; lean_object* x_234;
+x_233 = lean_ctor_get(x_31, 0);
+lean_inc(x_233);
+lean_dec(x_31);
+lean_inc(x_4);
+x_234 = l_Lean_ppExpr(x_4, x_233, x_9);
+if (lean_obj_tag(x_234) == 0)
{
-lean_object* x_291; lean_object* x_292; lean_object* x_293; lean_object* x_294; lean_object* x_295;
-lean_dec(x_253);
-x_291 = lean_box(0);
-x_292 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_292, 0, x_35);
-lean_ctor_set(x_292, 1, x_291);
-if (lean_is_scalar(x_254)) {
- x_293 = lean_alloc_ctor(1, 1, 0);
+lean_object* x_235; lean_object* x_236; lean_object* x_237; lean_object* x_238; lean_object* x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244; lean_object* x_245; lean_object* x_246; lean_object* x_247; uint8_t x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253; lean_object* x_254; lean_object* x_255; lean_object* x_256;
+x_235 = lean_ctor_get(x_234, 0);
+lean_inc(x_235);
+x_236 = lean_ctor_get(x_234, 1);
+lean_inc(x_236);
+if (lean_is_exclusive(x_234)) {
+ lean_ctor_release(x_234, 0);
+ lean_ctor_release(x_234, 1);
+ x_237 = x_234;
} else {
- x_293 = x_254;
+ lean_dec_ref(x_234);
+ x_237 = lean_box(0);
}
-lean_ctor_set(x_293, 0, x_252);
-x_294 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_294, 0, x_293);
-lean_ctor_set(x_294, 1, x_32);
-lean_ctor_set(x_28, 1, x_294);
-lean_ctor_set(x_28, 0, x_292);
-x_295 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_295, 0, x_28);
-lean_ctor_set(x_295, 1, x_8);
-x_15 = x_295;
-goto block_23;
+lean_inc(x_30);
+x_238 = l_List_reverse___rarg(x_30);
+if (lean_is_exclusive(x_30)) {
+ lean_ctor_release(x_30, 0);
+ lean_ctor_release(x_30, 1);
+ x_239 = x_30;
+} else {
+ lean_dec_ref(x_30);
+ x_239 = lean_box(0);
+}
+x_240 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1;
+x_241 = l_Lean_Format_joinSep___main___at_Lean_ppGoal___spec__1(x_238, x_240);
+x_242 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__3;
+x_243 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_243, 0, x_241);
+lean_ctor_set(x_243, 1, x_242);
+x_244 = lean_box(1);
+x_245 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_245, 0, x_244);
+lean_ctor_set(x_245, 1, x_235);
+lean_inc(x_2);
+x_246 = lean_alloc_ctor(3, 2, 0);
+lean_ctor_set(x_246, 0, x_2);
+lean_ctor_set(x_246, 1, x_245);
+x_247 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_247, 0, x_243);
+lean_ctor_set(x_247, 1, x_246);
+x_248 = 0;
+x_249 = lean_alloc_ctor(5, 1, 1);
+lean_ctor_set(x_249, 0, x_247);
+lean_ctor_set_uint8(x_249, sizeof(void*)*1, x_248);
+x_250 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_250, 0, x_32);
+lean_ctor_set(x_250, 1, x_249);
+x_251 = lean_box(0);
+if (lean_is_scalar(x_239)) {
+ x_252 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_252 = x_239;
+}
+lean_ctor_set(x_252, 0, x_36);
+lean_ctor_set(x_252, 1, x_251);
+x_253 = lean_alloc_ctor(1, 1, 0);
+lean_ctor_set(x_253, 0, x_38);
+if (lean_is_scalar(x_39)) {
+ x_254 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_254 = x_39;
+}
+lean_ctor_set(x_254, 0, x_253);
+lean_ctor_set(x_254, 1, x_250);
+if (lean_is_scalar(x_33)) {
+ x_255 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_255 = x_33;
+}
+lean_ctor_set(x_255, 0, x_252);
+lean_ctor_set(x_255, 1, x_254);
+if (lean_is_scalar(x_237)) {
+ x_256 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_256 = x_237;
+}
+lean_ctor_set(x_256, 0, x_255);
+lean_ctor_set(x_256, 1, x_236);
+x_16 = x_256;
+goto block_24;
}
else
{
-lean_object* x_296;
-lean_inc(x_3);
-x_296 = l_Lean_ppExpr(x_3, x_253, x_8);
+lean_object* x_257; lean_object* x_258; lean_object* x_259; lean_object* x_260;
+lean_dec(x_39);
+lean_dec(x_38);
+lean_dec(x_36);
+lean_dec(x_33);
+lean_dec(x_32);
+lean_dec(x_30);
+x_257 = lean_ctor_get(x_234, 0);
+lean_inc(x_257);
+x_258 = lean_ctor_get(x_234, 1);
+lean_inc(x_258);
+if (lean_is_exclusive(x_234)) {
+ lean_ctor_release(x_234, 0);
+ lean_ctor_release(x_234, 1);
+ x_259 = x_234;
+} else {
+ lean_dec_ref(x_234);
+ x_259 = lean_box(0);
+}
+if (lean_is_scalar(x_259)) {
+ x_260 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_260 = x_259;
+}
+lean_ctor_set(x_260, 0, x_257);
+lean_ctor_set(x_260, 1, x_258);
+x_16 = x_260;
+goto block_24;
+}
+}
+}
+}
+}
+}
+else
+{
+lean_object* x_261; lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265; lean_object* x_266;
+lean_dec(x_31);
+lean_dec(x_30);
+x_261 = lean_box(0);
+x_262 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_262, 0, x_36);
+lean_ctor_set(x_262, 1, x_261);
+if (lean_is_scalar(x_27)) {
+ x_263 = lean_alloc_ctor(1, 1, 0);
+} else {
+ x_263 = x_27;
+}
+lean_ctor_set(x_263, 0, x_38);
+if (lean_is_scalar(x_39)) {
+ x_264 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_264 = x_39;
+}
+lean_ctor_set(x_264, 0, x_263);
+lean_ctor_set(x_264, 1, x_32);
+if (lean_is_scalar(x_33)) {
+ x_265 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_265 = x_33;
+}
+lean_ctor_set(x_265, 0, x_262);
+lean_ctor_set(x_265, 1, x_264);
+x_266 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_266, 0, x_265);
+lean_ctor_set(x_266, 1, x_9);
+x_16 = x_266;
+goto block_24;
+}
+}
+else
+{
+lean_object* x_267; lean_object* x_268; lean_object* x_269; lean_object* x_270; lean_object* x_271;
+lean_dec(x_31);
+x_267 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_267, 0, x_36);
+lean_ctor_set(x_267, 1, x_30);
+if (lean_is_scalar(x_27)) {
+ x_268 = lean_alloc_ctor(1, 1, 0);
+} else {
+ x_268 = x_27;
+}
+lean_ctor_set(x_268, 0, x_38);
+if (lean_is_scalar(x_39)) {
+ x_269 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_269 = x_39;
+}
+lean_ctor_set(x_269, 0, x_268);
+lean_ctor_set(x_269, 1, x_32);
+if (lean_is_scalar(x_33)) {
+ x_270 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_270 = x_33;
+}
+lean_ctor_set(x_270, 0, x_267);
+lean_ctor_set(x_270, 1, x_269);
+x_271 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_271, 0, x_270);
+lean_ctor_set(x_271, 1, x_9);
+x_16 = x_271;
+goto block_24;
+}
+}
+}
+else
+{
+uint8_t x_276;
+lean_dec(x_27);
+x_276 = !lean_is_exclusive(x_8);
+if (x_276 == 0)
+{
+lean_object* x_277; lean_object* x_278; uint8_t x_279;
+x_277 = lean_ctor_get(x_8, 0);
+x_278 = lean_ctor_get(x_8, 1);
+lean_dec(x_278);
+x_279 = !lean_is_exclusive(x_29);
+if (x_279 == 0)
+{
+lean_object* x_280; lean_object* x_281; lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; uint8_t x_286;
+x_280 = lean_ctor_get(x_29, 0);
+x_281 = lean_ctor_get(x_29, 1);
+x_282 = lean_ctor_get(x_26, 2);
+lean_inc(x_282);
+x_283 = lean_ctor_get(x_26, 3);
+lean_inc(x_283);
+x_284 = lean_ctor_get(x_26, 4);
+lean_inc(x_284);
+lean_dec(x_26);
+x_285 = lean_simp_macro_scopes(x_282);
+x_286 = l_List_isEmpty___rarg(x_277);
+if (x_286 == 0)
+{
+uint8_t x_287;
+x_287 = l_Lean_Format_isNil(x_281);
+if (x_287 == 0)
+{
+lean_object* x_288; lean_object* x_289;
+x_288 = lean_box(1);
+x_289 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_289, 0, x_281);
+lean_ctor_set(x_289, 1, x_288);
+if (lean_obj_tag(x_277) == 0)
+{
+lean_object* x_290; uint8_t x_291; lean_object* x_292; lean_object* x_293; lean_object* x_294; lean_object* x_295; lean_object* x_296;
+lean_dec(x_280);
+x_290 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4;
+x_291 = l_Lean_Format_isNil(x_289);
+lean_inc(x_1);
+x_292 = l_Lean_MetavarContext_instantiateMVars(x_1, x_283);
+x_293 = lean_ctor_get(x_292, 0);
+lean_inc(x_293);
+lean_dec(x_292);
+lean_inc(x_1);
+x_294 = l_Lean_MetavarContext_instantiateMVars(x_1, x_284);
+x_295 = lean_ctor_get(x_294, 0);
+lean_inc(x_295);
+lean_dec(x_294);
+lean_inc(x_4);
+x_296 = l_Lean_ppExpr(x_4, x_293, x_9);
+if (x_291 == 0)
+{
if (lean_obj_tag(x_296) == 0)
{
-lean_object* x_297; lean_object* x_298; lean_object* x_299; lean_object* x_300; lean_object* x_301; lean_object* x_302; lean_object* x_303; lean_object* x_304; lean_object* x_305; lean_object* x_306; lean_object* x_307; lean_object* x_308; lean_object* x_309; lean_object* x_310; uint8_t x_311; lean_object* x_312; lean_object* x_313; lean_object* x_314; lean_object* x_315; lean_object* x_316; lean_object* x_317; lean_object* x_318;
+lean_object* x_297; lean_object* x_298; lean_object* x_299; lean_object* x_300;
x_297 = lean_ctor_get(x_296, 0);
lean_inc(x_297);
x_298 = lean_ctor_get(x_296, 1);
lean_inc(x_298);
-if (lean_is_exclusive(x_296)) {
- lean_ctor_release(x_296, 0);
- lean_ctor_release(x_296, 1);
- x_299 = x_296;
-} else {
- lean_dec_ref(x_296);
- x_299 = lean_box(0);
-}
-lean_inc(x_29);
-x_300 = l_List_reverse___rarg(x_29);
-if (lean_is_exclusive(x_29)) {
- lean_ctor_release(x_29, 0);
- lean_ctor_release(x_29, 1);
- x_301 = x_29;
-} else {
- lean_dec_ref(x_29);
- x_301 = lean_box(0);
-}
-x_302 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1;
-x_303 = l_Lean_Format_joinSep___main___at_Lean_ppGoal___spec__1(x_300, x_302);
-x_304 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__3;
-x_305 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_305, 0, x_303);
-lean_ctor_set(x_305, 1, x_304);
-x_306 = lean_box(1);
+lean_dec(x_296);
+x_299 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_299, 0, x_289);
+lean_ctor_set(x_299, 1, x_288);
+lean_inc(x_4);
+x_300 = l_Lean_ppExpr(x_4, x_295, x_298);
+if (lean_obj_tag(x_300) == 0)
+{
+lean_object* x_301; lean_object* x_302; lean_object* x_303; lean_object* x_304; lean_object* x_305; lean_object* x_306; lean_object* x_307; lean_object* x_308; lean_object* x_309; lean_object* x_310; lean_object* x_311; lean_object* x_312; lean_object* x_313; uint8_t x_314; lean_object* x_315; lean_object* x_316; lean_object* x_317; lean_object* x_318; lean_object* x_319;
+x_301 = lean_ctor_get(x_300, 0);
+lean_inc(x_301);
+x_302 = lean_ctor_get(x_300, 1);
+lean_inc(x_302);
+lean_dec(x_300);
+x_303 = l_System_FilePath_dirName___closed__1;
+x_304 = l_Lean_Name_toStringWithSep___main(x_303, x_285);
+x_305 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_305, 0, x_304);
+x_306 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6;
x_307 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_307, 0, x_306);
-lean_ctor_set(x_307, 1, x_297);
-x_308 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4;
-x_309 = lean_alloc_ctor(3, 2, 0);
-lean_ctor_set(x_309, 0, x_308);
-lean_ctor_set(x_309, 1, x_307);
+lean_ctor_set(x_307, 0, x_305);
+lean_ctor_set(x_307, 1, x_306);
+x_308 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_308, 0, x_307);
+lean_ctor_set(x_308, 1, x_297);
+x_309 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8;
x_310 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_310, 0, x_305);
+lean_ctor_set(x_310, 0, x_308);
lean_ctor_set(x_310, 1, x_309);
-x_311 = 0;
-x_312 = lean_alloc_ctor(5, 1, 1);
-lean_ctor_set(x_312, 0, x_310);
-lean_ctor_set_uint8(x_312, sizeof(void*)*1, x_311);
+x_311 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_311, 0, x_288);
+lean_ctor_set(x_311, 1, x_301);
+lean_inc(x_2);
+x_312 = lean_alloc_ctor(3, 2, 0);
+lean_ctor_set(x_312, 0, x_2);
+lean_ctor_set(x_312, 1, x_311);
x_313 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_313, 0, x_32);
+lean_ctor_set(x_313, 0, x_310);
lean_ctor_set(x_313, 1, x_312);
-x_314 = lean_box(0);
-if (lean_is_scalar(x_301)) {
- x_315 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_315 = x_301;
-}
-lean_ctor_set(x_315, 0, x_35);
-lean_ctor_set(x_315, 1, x_314);
-if (lean_is_scalar(x_254)) {
- x_316 = lean_alloc_ctor(1, 1, 0);
-} else {
- x_316 = x_254;
-}
-lean_ctor_set(x_316, 0, x_252);
-x_317 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_317, 0, x_316);
-lean_ctor_set(x_317, 1, x_313);
-lean_ctor_set(x_28, 1, x_317);
-lean_ctor_set(x_28, 0, x_315);
-if (lean_is_scalar(x_299)) {
- x_318 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_318 = x_299;
-}
-lean_ctor_set(x_318, 0, x_28);
-lean_ctor_set(x_318, 1, x_298);
-x_15 = x_318;
-goto block_23;
+x_314 = 0;
+x_315 = lean_alloc_ctor(5, 1, 1);
+lean_ctor_set(x_315, 0, x_313);
+lean_ctor_set_uint8(x_315, sizeof(void*)*1, x_314);
+x_316 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_316, 0, x_299);
+lean_ctor_set(x_316, 1, x_315);
+x_317 = lean_box(0);
+x_318 = lean_box(0);
+lean_ctor_set(x_29, 1, x_316);
+lean_ctor_set(x_29, 0, x_318);
+lean_ctor_set(x_8, 0, x_317);
+x_319 = lean_apply_2(x_290, x_8, x_302);
+x_16 = x_319;
+goto block_24;
}
else
{
-lean_object* x_319; lean_object* x_320; lean_object* x_321; lean_object* x_322;
-lean_dec(x_254);
-lean_dec(x_252);
-lean_dec(x_35);
-lean_free_object(x_28);
-lean_dec(x_32);
-lean_dec(x_29);
-x_319 = lean_ctor_get(x_296, 0);
-lean_inc(x_319);
-x_320 = lean_ctor_get(x_296, 1);
-lean_inc(x_320);
-if (lean_is_exclusive(x_296)) {
- lean_ctor_release(x_296, 0);
- lean_ctor_release(x_296, 1);
- x_321 = x_296;
-} else {
- lean_dec_ref(x_296);
- x_321 = lean_box(0);
-}
-if (lean_is_scalar(x_321)) {
- x_322 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_322 = x_321;
-}
-lean_ctor_set(x_322, 0, x_319);
-lean_ctor_set(x_322, 1, x_320);
-x_15 = x_322;
-goto block_23;
+uint8_t x_320;
+lean_dec(x_299);
+lean_dec(x_297);
+lean_dec(x_285);
+lean_free_object(x_29);
+lean_free_object(x_8);
+x_320 = !lean_is_exclusive(x_300);
+if (x_320 == 0)
+{
+x_16 = x_300;
+goto block_24;
}
+else
+{
+lean_object* x_321; lean_object* x_322; lean_object* x_323;
+x_321 = lean_ctor_get(x_300, 0);
+x_322 = lean_ctor_get(x_300, 1);
+lean_inc(x_322);
+lean_inc(x_321);
+lean_dec(x_300);
+x_323 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_323, 0, x_321);
+lean_ctor_set(x_323, 1, x_322);
+x_16 = x_323;
+goto block_24;
}
}
}
else
{
-lean_object* x_323; lean_object* x_324; lean_object* x_325; lean_object* x_326; lean_object* x_327;
-lean_dec(x_253);
-lean_dec(x_29);
-x_323 = lean_box(0);
-x_324 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_324, 0, x_35);
-lean_ctor_set(x_324, 1, x_323);
-if (lean_is_scalar(x_254)) {
- x_325 = lean_alloc_ctor(1, 1, 0);
-} else {
- x_325 = x_254;
-}
-lean_ctor_set(x_325, 0, x_252);
-x_326 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_326, 0, x_325);
-lean_ctor_set(x_326, 1, x_32);
-lean_ctor_set(x_28, 1, x_326);
-lean_ctor_set(x_28, 0, x_324);
-x_327 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_327, 0, x_28);
-lean_ctor_set(x_327, 1, x_8);
-x_15 = x_327;
-goto block_23;
-}
+uint8_t x_324;
+lean_dec(x_295);
+lean_dec(x_289);
+lean_dec(x_285);
+lean_free_object(x_29);
+lean_free_object(x_8);
+x_324 = !lean_is_exclusive(x_296);
+if (x_324 == 0)
+{
+x_16 = x_296;
+goto block_24;
}
else
{
-lean_object* x_328; lean_object* x_329; lean_object* x_330; lean_object* x_331;
-lean_dec(x_253);
-x_328 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_328, 0, x_35);
-lean_ctor_set(x_328, 1, x_29);
-if (lean_is_scalar(x_254)) {
- x_329 = lean_alloc_ctor(1, 1, 0);
-} else {
- x_329 = x_254;
-}
-lean_ctor_set(x_329, 0, x_252);
-x_330 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_330, 0, x_329);
-lean_ctor_set(x_330, 1, x_32);
-lean_ctor_set(x_28, 1, x_330);
-lean_ctor_set(x_28, 0, x_328);
-x_331 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_331, 0, x_28);
-lean_ctor_set(x_331, 1, x_8);
-x_15 = x_331;
-goto block_23;
-}
+lean_object* x_325; lean_object* x_326; lean_object* x_327;
+x_325 = lean_ctor_get(x_296, 0);
+x_326 = lean_ctor_get(x_296, 1);
+lean_inc(x_326);
+lean_inc(x_325);
+lean_dec(x_296);
+x_327 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_327, 0, x_325);
+lean_ctor_set(x_327, 1, x_326);
+x_16 = x_327;
+goto block_24;
}
}
}
else
{
-lean_object* x_332; lean_object* x_333; lean_object* x_334; lean_object* x_335; lean_object* x_336; lean_object* x_337;
-x_332 = lean_ctor_get(x_28, 0);
-x_333 = lean_ctor_get(x_28, 1);
-lean_inc(x_333);
+if (lean_obj_tag(x_296) == 0)
+{
+lean_object* x_328; lean_object* x_329; lean_object* x_330;
+x_328 = lean_ctor_get(x_296, 0);
+lean_inc(x_328);
+x_329 = lean_ctor_get(x_296, 1);
+lean_inc(x_329);
+lean_dec(x_296);
+lean_inc(x_4);
+x_330 = l_Lean_ppExpr(x_4, x_295, x_329);
+if (lean_obj_tag(x_330) == 0)
+{
+lean_object* x_331; lean_object* x_332; lean_object* x_333; lean_object* x_334; lean_object* x_335; lean_object* x_336; lean_object* x_337; lean_object* x_338; lean_object* x_339; lean_object* x_340; lean_object* x_341; lean_object* x_342; lean_object* x_343; uint8_t x_344; lean_object* x_345; lean_object* x_346; lean_object* x_347; lean_object* x_348; lean_object* x_349;
+x_331 = lean_ctor_get(x_330, 0);
+lean_inc(x_331);
+x_332 = lean_ctor_get(x_330, 1);
lean_inc(x_332);
-lean_dec(x_28);
-x_334 = lean_ctor_get(x_25, 2);
-lean_inc(x_334);
-x_335 = lean_ctor_get(x_25, 3);
-lean_inc(x_335);
-lean_dec(x_25);
-x_336 = lean_simp_macro_scopes(x_334);
-lean_inc(x_1);
-x_337 = l_Lean_MetavarContext_instantiateMVars(x_1, x_335);
-if (lean_obj_tag(x_332) == 0)
-{
-lean_object* x_338; lean_object* x_339; lean_object* x_340; lean_object* x_341; lean_object* x_342; lean_object* x_343; lean_object* x_344;
-x_338 = lean_ctor_get(x_337, 0);
-lean_inc(x_338);
-if (lean_is_exclusive(x_337)) {
- lean_ctor_release(x_337, 0);
- lean_ctor_release(x_337, 1);
- x_339 = x_337;
-} else {
- lean_dec_ref(x_337);
- x_339 = lean_box(0);
-}
-x_340 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_340, 0, x_336);
-lean_ctor_set(x_340, 1, x_29);
-if (lean_is_scalar(x_26)) {
- x_341 = lean_alloc_ctor(1, 1, 0);
-} else {
- x_341 = x_26;
-}
-lean_ctor_set(x_341, 0, x_338);
-if (lean_is_scalar(x_339)) {
- x_342 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_342 = x_339;
-}
-lean_ctor_set(x_342, 0, x_341);
-lean_ctor_set(x_342, 1, x_333);
-x_343 = lean_alloc_ctor(0, 2, 0);
+lean_dec(x_330);
+x_333 = l_System_FilePath_dirName___closed__1;
+x_334 = l_Lean_Name_toStringWithSep___main(x_333, x_285);
+x_335 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_335, 0, x_334);
+x_336 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6;
+x_337 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_337, 0, x_335);
+lean_ctor_set(x_337, 1, x_336);
+x_338 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_338, 0, x_337);
+lean_ctor_set(x_338, 1, x_328);
+x_339 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8;
+x_340 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_340, 0, x_338);
+lean_ctor_set(x_340, 1, x_339);
+x_341 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_341, 0, x_288);
+lean_ctor_set(x_341, 1, x_331);
+lean_inc(x_2);
+x_342 = lean_alloc_ctor(3, 2, 0);
+lean_ctor_set(x_342, 0, x_2);
+lean_ctor_set(x_342, 1, x_341);
+x_343 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_343, 0, x_340);
lean_ctor_set(x_343, 1, x_342);
-x_344 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_344, 0, x_343);
-lean_ctor_set(x_344, 1, x_8);
-x_15 = x_344;
-goto block_23;
+x_344 = 0;
+x_345 = lean_alloc_ctor(5, 1, 1);
+lean_ctor_set(x_345, 0, x_343);
+lean_ctor_set_uint8(x_345, sizeof(void*)*1, x_344);
+x_346 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_346, 0, x_289);
+lean_ctor_set(x_346, 1, x_345);
+x_347 = lean_box(0);
+x_348 = lean_box(0);
+lean_ctor_set(x_29, 1, x_346);
+lean_ctor_set(x_29, 0, x_348);
+lean_ctor_set(x_8, 0, x_347);
+x_349 = lean_apply_2(x_290, x_8, x_332);
+x_16 = x_349;
+goto block_24;
}
else
{
-lean_object* x_345; lean_object* x_346; lean_object* x_347; lean_object* x_348; uint8_t x_349;
-lean_dec(x_26);
-x_345 = lean_ctor_get(x_337, 0);
-lean_inc(x_345);
-if (lean_is_exclusive(x_337)) {
- lean_ctor_release(x_337, 0);
- lean_ctor_release(x_337, 1);
- x_346 = x_337;
-} else {
- lean_dec_ref(x_337);
- x_346 = lean_box(0);
-}
-x_347 = lean_ctor_get(x_332, 0);
-lean_inc(x_347);
-if (lean_is_exclusive(x_332)) {
- lean_ctor_release(x_332, 0);
- x_348 = x_332;
-} else {
- lean_dec_ref(x_332);
- x_348 = lean_box(0);
-}
-x_349 = lean_expr_eqv(x_347, x_345);
-if (x_349 == 0)
-{
uint8_t x_350;
-x_350 = l_List_isEmpty___rarg(x_29);
+lean_dec(x_328);
+lean_dec(x_289);
+lean_dec(x_285);
+lean_free_object(x_29);
+lean_free_object(x_8);
+x_350 = !lean_is_exclusive(x_330);
if (x_350 == 0)
{
-uint8_t x_351;
-x_351 = l_Lean_Format_isNil(x_333);
-if (x_351 == 0)
-{
-lean_object* x_352; lean_object* x_353;
-x_352 = lean_box(1);
-x_353 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_353, 0, x_333);
-lean_ctor_set(x_353, 1, x_352);
-if (lean_obj_tag(x_29) == 0)
-{
-lean_object* x_354; lean_object* x_355; lean_object* x_356; lean_object* x_357; lean_object* x_358; lean_object* x_359;
-lean_dec(x_347);
-x_354 = lean_box(0);
-x_355 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_355, 0, x_336);
-lean_ctor_set(x_355, 1, x_354);
-if (lean_is_scalar(x_348)) {
- x_356 = lean_alloc_ctor(1, 1, 0);
-} else {
- x_356 = x_348;
-}
-lean_ctor_set(x_356, 0, x_345);
-if (lean_is_scalar(x_346)) {
- x_357 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_357 = x_346;
-}
-lean_ctor_set(x_357, 0, x_356);
-lean_ctor_set(x_357, 1, x_353);
-x_358 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_358, 0, x_355);
-lean_ctor_set(x_358, 1, x_357);
-x_359 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_359, 0, x_358);
-lean_ctor_set(x_359, 1, x_8);
-x_15 = x_359;
-goto block_23;
+x_16 = x_330;
+goto block_24;
}
else
{
-lean_object* x_360;
-lean_inc(x_3);
-x_360 = l_Lean_ppExpr(x_3, x_347, x_8);
-if (lean_obj_tag(x_360) == 0)
+lean_object* x_351; lean_object* x_352; lean_object* x_353;
+x_351 = lean_ctor_get(x_330, 0);
+x_352 = lean_ctor_get(x_330, 1);
+lean_inc(x_352);
+lean_inc(x_351);
+lean_dec(x_330);
+x_353 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_353, 0, x_351);
+lean_ctor_set(x_353, 1, x_352);
+x_16 = x_353;
+goto block_24;
+}
+}
+}
+else
{
-lean_object* x_361; lean_object* x_362; lean_object* x_363; lean_object* x_364; lean_object* x_365; lean_object* x_366; lean_object* x_367; lean_object* x_368; lean_object* x_369; lean_object* x_370; lean_object* x_371; lean_object* x_372; lean_object* x_373; uint8_t x_374; lean_object* x_375; lean_object* x_376; lean_object* x_377; lean_object* x_378; lean_object* x_379; lean_object* x_380; lean_object* x_381; lean_object* x_382;
+uint8_t x_354;
+lean_dec(x_295);
+lean_dec(x_289);
+lean_dec(x_285);
+lean_free_object(x_29);
+lean_free_object(x_8);
+x_354 = !lean_is_exclusive(x_296);
+if (x_354 == 0)
+{
+x_16 = x_296;
+goto block_24;
+}
+else
+{
+lean_object* x_355; lean_object* x_356; lean_object* x_357;
+x_355 = lean_ctor_get(x_296, 0);
+x_356 = lean_ctor_get(x_296, 1);
+lean_inc(x_356);
+lean_inc(x_355);
+lean_dec(x_296);
+x_357 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_357, 0, x_355);
+lean_ctor_set(x_357, 1, x_356);
+x_16 = x_357;
+goto block_24;
+}
+}
+}
+}
+else
+{
+if (lean_obj_tag(x_280) == 0)
+{
+lean_object* x_358; uint8_t x_359; lean_object* x_360; lean_object* x_361; lean_object* x_362; lean_object* x_363; lean_object* x_364;
+lean_dec(x_277);
+x_358 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4;
+x_359 = l_Lean_Format_isNil(x_289);
+lean_inc(x_1);
+x_360 = l_Lean_MetavarContext_instantiateMVars(x_1, x_283);
x_361 = lean_ctor_get(x_360, 0);
lean_inc(x_361);
-x_362 = lean_ctor_get(x_360, 1);
-lean_inc(x_362);
-if (lean_is_exclusive(x_360)) {
- lean_ctor_release(x_360, 0);
- lean_ctor_release(x_360, 1);
- x_363 = x_360;
-} else {
- lean_dec_ref(x_360);
- x_363 = lean_box(0);
-}
-lean_inc(x_29);
-x_364 = l_List_reverse___rarg(x_29);
-if (lean_is_exclusive(x_29)) {
- lean_ctor_release(x_29, 0);
- lean_ctor_release(x_29, 1);
- x_365 = x_29;
-} else {
- lean_dec_ref(x_29);
- x_365 = lean_box(0);
-}
-x_366 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1;
-x_367 = l_Lean_Format_joinSep___main___at_Lean_ppGoal___spec__1(x_364, x_366);
-x_368 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__3;
-x_369 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_369, 0, x_367);
-lean_ctor_set(x_369, 1, x_368);
-x_370 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_370, 0, x_352);
-lean_ctor_set(x_370, 1, x_361);
-x_371 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4;
-x_372 = lean_alloc_ctor(3, 2, 0);
-lean_ctor_set(x_372, 0, x_371);
-lean_ctor_set(x_372, 1, x_370);
-x_373 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_373, 0, x_369);
-lean_ctor_set(x_373, 1, x_372);
-x_374 = 0;
-x_375 = lean_alloc_ctor(5, 1, 1);
+lean_dec(x_360);
+lean_inc(x_1);
+x_362 = l_Lean_MetavarContext_instantiateMVars(x_1, x_284);
+x_363 = lean_ctor_get(x_362, 0);
+lean_inc(x_363);
+lean_dec(x_362);
+lean_inc(x_4);
+x_364 = l_Lean_ppExpr(x_4, x_361, x_9);
+if (x_359 == 0)
+{
+if (lean_obj_tag(x_364) == 0)
+{
+lean_object* x_365; lean_object* x_366; lean_object* x_367; lean_object* x_368;
+x_365 = lean_ctor_get(x_364, 0);
+lean_inc(x_365);
+x_366 = lean_ctor_get(x_364, 1);
+lean_inc(x_366);
+lean_dec(x_364);
+x_367 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_367, 0, x_289);
+lean_ctor_set(x_367, 1, x_288);
+lean_inc(x_4);
+x_368 = l_Lean_ppExpr(x_4, x_363, x_366);
+if (lean_obj_tag(x_368) == 0)
+{
+lean_object* x_369; lean_object* x_370; lean_object* x_371; lean_object* x_372; lean_object* x_373; lean_object* x_374; lean_object* x_375; lean_object* x_376; lean_object* x_377; lean_object* x_378; lean_object* x_379; lean_object* x_380; lean_object* x_381; uint8_t x_382; lean_object* x_383; lean_object* x_384; lean_object* x_385; lean_object* x_386; lean_object* x_387;
+x_369 = lean_ctor_get(x_368, 0);
+lean_inc(x_369);
+x_370 = lean_ctor_get(x_368, 1);
+lean_inc(x_370);
+lean_dec(x_368);
+x_371 = l_System_FilePath_dirName___closed__1;
+x_372 = l_Lean_Name_toStringWithSep___main(x_371, x_285);
+x_373 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_373, 0, x_372);
+x_374 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6;
+x_375 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_375, 0, x_373);
-lean_ctor_set_uint8(x_375, sizeof(void*)*1, x_374);
+lean_ctor_set(x_375, 1, x_374);
x_376 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_376, 0, x_353);
-lean_ctor_set(x_376, 1, x_375);
-x_377 = lean_box(0);
-if (lean_is_scalar(x_365)) {
- x_378 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_378 = x_365;
-}
-lean_ctor_set(x_378, 0, x_336);
+lean_ctor_set(x_376, 0, x_375);
+lean_ctor_set(x_376, 1, x_365);
+x_377 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8;
+x_378 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_378, 0, x_376);
lean_ctor_set(x_378, 1, x_377);
-if (lean_is_scalar(x_348)) {
- x_379 = lean_alloc_ctor(1, 1, 0);
-} else {
- x_379 = x_348;
-}
-lean_ctor_set(x_379, 0, x_345);
-if (lean_is_scalar(x_346)) {
- x_380 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_380 = x_346;
-}
-lean_ctor_set(x_380, 0, x_379);
-lean_ctor_set(x_380, 1, x_376);
-x_381 = lean_alloc_ctor(0, 2, 0);
+x_379 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_379, 0, x_288);
+lean_ctor_set(x_379, 1, x_369);
+lean_inc(x_2);
+x_380 = lean_alloc_ctor(3, 2, 0);
+lean_ctor_set(x_380, 0, x_2);
+lean_ctor_set(x_380, 1, x_379);
+x_381 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_381, 0, x_378);
lean_ctor_set(x_381, 1, x_380);
-if (lean_is_scalar(x_363)) {
- x_382 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_382 = x_363;
-}
-lean_ctor_set(x_382, 0, x_381);
-lean_ctor_set(x_382, 1, x_362);
-x_15 = x_382;
-goto block_23;
+x_382 = 0;
+x_383 = lean_alloc_ctor(5, 1, 1);
+lean_ctor_set(x_383, 0, x_381);
+lean_ctor_set_uint8(x_383, sizeof(void*)*1, x_382);
+x_384 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_384, 0, x_367);
+lean_ctor_set(x_384, 1, x_383);
+x_385 = lean_box(0);
+x_386 = lean_box(0);
+lean_ctor_set(x_29, 1, x_384);
+lean_ctor_set(x_29, 0, x_386);
+lean_ctor_set(x_8, 0, x_385);
+x_387 = lean_apply_2(x_358, x_8, x_370);
+x_16 = x_387;
+goto block_24;
}
else
{
-lean_object* x_383; lean_object* x_384; lean_object* x_385; lean_object* x_386;
-lean_dec(x_353);
-lean_dec(x_348);
-lean_dec(x_346);
-lean_dec(x_345);
-lean_dec(x_336);
-lean_dec(x_29);
-x_383 = lean_ctor_get(x_360, 0);
-lean_inc(x_383);
-x_384 = lean_ctor_get(x_360, 1);
-lean_inc(x_384);
-if (lean_is_exclusive(x_360)) {
- lean_ctor_release(x_360, 0);
- lean_ctor_release(x_360, 1);
- x_385 = x_360;
-} else {
- lean_dec_ref(x_360);
- x_385 = lean_box(0);
-}
-if (lean_is_scalar(x_385)) {
- x_386 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_386 = x_385;
-}
-lean_ctor_set(x_386, 0, x_383);
-lean_ctor_set(x_386, 1, x_384);
-x_15 = x_386;
-goto block_23;
-}
-}
+uint8_t x_388;
+lean_dec(x_367);
+lean_dec(x_365);
+lean_dec(x_285);
+lean_free_object(x_29);
+lean_free_object(x_8);
+x_388 = !lean_is_exclusive(x_368);
+if (x_388 == 0)
+{
+x_16 = x_368;
+goto block_24;
}
else
{
-if (lean_obj_tag(x_29) == 0)
-{
-lean_object* x_387; lean_object* x_388; lean_object* x_389; lean_object* x_390; lean_object* x_391; lean_object* x_392;
-lean_dec(x_347);
-x_387 = lean_box(0);
-x_388 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_388, 0, x_336);
-lean_ctor_set(x_388, 1, x_387);
-if (lean_is_scalar(x_348)) {
- x_389 = lean_alloc_ctor(1, 1, 0);
-} else {
- x_389 = x_348;
-}
-lean_ctor_set(x_389, 0, x_345);
-if (lean_is_scalar(x_346)) {
- x_390 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_390 = x_346;
-}
-lean_ctor_set(x_390, 0, x_389);
-lean_ctor_set(x_390, 1, x_333);
-x_391 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_391, 0, x_388);
+lean_object* x_389; lean_object* x_390; lean_object* x_391;
+x_389 = lean_ctor_get(x_368, 0);
+x_390 = lean_ctor_get(x_368, 1);
+lean_inc(x_390);
+lean_inc(x_389);
+lean_dec(x_368);
+x_391 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_391, 0, x_389);
lean_ctor_set(x_391, 1, x_390);
-x_392 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_392, 0, x_391);
-lean_ctor_set(x_392, 1, x_8);
-x_15 = x_392;
-goto block_23;
+x_16 = x_391;
+goto block_24;
+}
+}
}
else
{
-lean_object* x_393;
-lean_inc(x_3);
-x_393 = l_Lean_ppExpr(x_3, x_347, x_8);
-if (lean_obj_tag(x_393) == 0)
+uint8_t x_392;
+lean_dec(x_363);
+lean_dec(x_289);
+lean_dec(x_285);
+lean_free_object(x_29);
+lean_free_object(x_8);
+x_392 = !lean_is_exclusive(x_364);
+if (x_392 == 0)
{
-lean_object* x_394; lean_object* x_395; lean_object* x_396; lean_object* x_397; lean_object* x_398; lean_object* x_399; lean_object* x_400; lean_object* x_401; lean_object* x_402; lean_object* x_403; lean_object* x_404; lean_object* x_405; lean_object* x_406; lean_object* x_407; uint8_t x_408; lean_object* x_409; lean_object* x_410; lean_object* x_411; lean_object* x_412; lean_object* x_413; lean_object* x_414; lean_object* x_415; lean_object* x_416;
-x_394 = lean_ctor_get(x_393, 0);
+x_16 = x_364;
+goto block_24;
+}
+else
+{
+lean_object* x_393; lean_object* x_394; lean_object* x_395;
+x_393 = lean_ctor_get(x_364, 0);
+x_394 = lean_ctor_get(x_364, 1);
lean_inc(x_394);
-x_395 = lean_ctor_get(x_393, 1);
-lean_inc(x_395);
-if (lean_is_exclusive(x_393)) {
- lean_ctor_release(x_393, 0);
- lean_ctor_release(x_393, 1);
- x_396 = x_393;
-} else {
- lean_dec_ref(x_393);
- x_396 = lean_box(0);
+lean_inc(x_393);
+lean_dec(x_364);
+x_395 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_395, 0, x_393);
+lean_ctor_set(x_395, 1, x_394);
+x_16 = x_395;
+goto block_24;
}
-lean_inc(x_29);
-x_397 = l_List_reverse___rarg(x_29);
-if (lean_is_exclusive(x_29)) {
- lean_ctor_release(x_29, 0);
- lean_ctor_release(x_29, 1);
- x_398 = x_29;
-} else {
- lean_dec_ref(x_29);
- x_398 = lean_box(0);
}
-x_399 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1;
-x_400 = l_Lean_Format_joinSep___main___at_Lean_ppGoal___spec__1(x_397, x_399);
-x_401 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__3;
-x_402 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_402, 0, x_400);
-lean_ctor_set(x_402, 1, x_401);
-x_403 = lean_box(1);
-x_404 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_404, 0, x_403);
-lean_ctor_set(x_404, 1, x_394);
-x_405 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4;
-x_406 = lean_alloc_ctor(3, 2, 0);
+}
+else
+{
+if (lean_obj_tag(x_364) == 0)
+{
+lean_object* x_396; lean_object* x_397; lean_object* x_398;
+x_396 = lean_ctor_get(x_364, 0);
+lean_inc(x_396);
+x_397 = lean_ctor_get(x_364, 1);
+lean_inc(x_397);
+lean_dec(x_364);
+lean_inc(x_4);
+x_398 = l_Lean_ppExpr(x_4, x_363, x_397);
+if (lean_obj_tag(x_398) == 0)
+{
+lean_object* x_399; lean_object* x_400; lean_object* x_401; lean_object* x_402; lean_object* x_403; lean_object* x_404; lean_object* x_405; lean_object* x_406; lean_object* x_407; lean_object* x_408; lean_object* x_409; lean_object* x_410; lean_object* x_411; uint8_t x_412; lean_object* x_413; lean_object* x_414; lean_object* x_415; lean_object* x_416; lean_object* x_417;
+x_399 = lean_ctor_get(x_398, 0);
+lean_inc(x_399);
+x_400 = lean_ctor_get(x_398, 1);
+lean_inc(x_400);
+lean_dec(x_398);
+x_401 = l_System_FilePath_dirName___closed__1;
+x_402 = l_Lean_Name_toStringWithSep___main(x_401, x_285);
+x_403 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_403, 0, x_402);
+x_404 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6;
+x_405 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_405, 0, x_403);
+lean_ctor_set(x_405, 1, x_404);
+x_406 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_406, 0, x_405);
-lean_ctor_set(x_406, 1, x_404);
-x_407 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_407, 0, x_402);
-lean_ctor_set(x_407, 1, x_406);
-x_408 = 0;
-x_409 = lean_alloc_ctor(5, 1, 1);
-lean_ctor_set(x_409, 0, x_407);
-lean_ctor_set_uint8(x_409, sizeof(void*)*1, x_408);
-x_410 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_410, 0, x_333);
+lean_ctor_set(x_406, 1, x_396);
+x_407 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8;
+x_408 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_408, 0, x_406);
+lean_ctor_set(x_408, 1, x_407);
+x_409 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_409, 0, x_288);
+lean_ctor_set(x_409, 1, x_399);
+lean_inc(x_2);
+x_410 = lean_alloc_ctor(3, 2, 0);
+lean_ctor_set(x_410, 0, x_2);
lean_ctor_set(x_410, 1, x_409);
-x_411 = lean_box(0);
-if (lean_is_scalar(x_398)) {
- x_412 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_412 = x_398;
-}
-lean_ctor_set(x_412, 0, x_336);
-lean_ctor_set(x_412, 1, x_411);
-if (lean_is_scalar(x_348)) {
- x_413 = lean_alloc_ctor(1, 1, 0);
-} else {
- x_413 = x_348;
-}
-lean_ctor_set(x_413, 0, x_345);
-if (lean_is_scalar(x_346)) {
- x_414 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_414 = x_346;
-}
-lean_ctor_set(x_414, 0, x_413);
-lean_ctor_set(x_414, 1, x_410);
-x_415 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_415, 0, x_412);
-lean_ctor_set(x_415, 1, x_414);
-if (lean_is_scalar(x_396)) {
- x_416 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_416 = x_396;
-}
-lean_ctor_set(x_416, 0, x_415);
-lean_ctor_set(x_416, 1, x_395);
-x_15 = x_416;
-goto block_23;
+x_411 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_411, 0, x_408);
+lean_ctor_set(x_411, 1, x_410);
+x_412 = 0;
+x_413 = lean_alloc_ctor(5, 1, 1);
+lean_ctor_set(x_413, 0, x_411);
+lean_ctor_set_uint8(x_413, sizeof(void*)*1, x_412);
+x_414 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_414, 0, x_289);
+lean_ctor_set(x_414, 1, x_413);
+x_415 = lean_box(0);
+x_416 = lean_box(0);
+lean_ctor_set(x_29, 1, x_414);
+lean_ctor_set(x_29, 0, x_416);
+lean_ctor_set(x_8, 0, x_415);
+x_417 = lean_apply_2(x_358, x_8, x_400);
+x_16 = x_417;
+goto block_24;
}
else
{
-lean_object* x_417; lean_object* x_418; lean_object* x_419; lean_object* x_420;
-lean_dec(x_348);
-lean_dec(x_346);
-lean_dec(x_345);
-lean_dec(x_336);
-lean_dec(x_333);
-lean_dec(x_29);
-x_417 = lean_ctor_get(x_393, 0);
-lean_inc(x_417);
-x_418 = lean_ctor_get(x_393, 1);
-lean_inc(x_418);
-if (lean_is_exclusive(x_393)) {
- lean_ctor_release(x_393, 0);
- lean_ctor_release(x_393, 1);
- x_419 = x_393;
-} else {
- lean_dec_ref(x_393);
- x_419 = lean_box(0);
-}
-if (lean_is_scalar(x_419)) {
- x_420 = lean_alloc_ctor(1, 2, 0);
-} else {
- x_420 = x_419;
-}
-lean_ctor_set(x_420, 0, x_417);
-lean_ctor_set(x_420, 1, x_418);
-x_15 = x_420;
-goto block_23;
+uint8_t x_418;
+lean_dec(x_396);
+lean_dec(x_289);
+lean_dec(x_285);
+lean_free_object(x_29);
+lean_free_object(x_8);
+x_418 = !lean_is_exclusive(x_398);
+if (x_418 == 0)
+{
+x_16 = x_398;
+goto block_24;
}
+else
+{
+lean_object* x_419; lean_object* x_420; lean_object* x_421;
+x_419 = lean_ctor_get(x_398, 0);
+x_420 = lean_ctor_get(x_398, 1);
+lean_inc(x_420);
+lean_inc(x_419);
+lean_dec(x_398);
+x_421 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_421, 0, x_419);
+lean_ctor_set(x_421, 1, x_420);
+x_16 = x_421;
+goto block_24;
}
}
}
else
{
-lean_object* x_421; lean_object* x_422; lean_object* x_423; lean_object* x_424; lean_object* x_425; lean_object* x_426;
-lean_dec(x_347);
-lean_dec(x_29);
-x_421 = lean_box(0);
-x_422 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_422, 0, x_336);
-lean_ctor_set(x_422, 1, x_421);
-if (lean_is_scalar(x_348)) {
- x_423 = lean_alloc_ctor(1, 1, 0);
-} else {
- x_423 = x_348;
+uint8_t x_422;
+lean_dec(x_363);
+lean_dec(x_289);
+lean_dec(x_285);
+lean_free_object(x_29);
+lean_free_object(x_8);
+x_422 = !lean_is_exclusive(x_364);
+if (x_422 == 0)
+{
+x_16 = x_364;
+goto block_24;
}
-lean_ctor_set(x_423, 0, x_345);
-if (lean_is_scalar(x_346)) {
- x_424 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_424 = x_346;
-}
-lean_ctor_set(x_424, 0, x_423);
-lean_ctor_set(x_424, 1, x_333);
-x_425 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_425, 0, x_422);
+else
+{
+lean_object* x_423; lean_object* x_424; lean_object* x_425;
+x_423 = lean_ctor_get(x_364, 0);
+x_424 = lean_ctor_get(x_364, 1);
+lean_inc(x_424);
+lean_inc(x_423);
+lean_dec(x_364);
+x_425 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_425, 0, x_423);
lean_ctor_set(x_425, 1, x_424);
-x_426 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_426, 0, x_425);
-lean_ctor_set(x_426, 1, x_8);
-x_15 = x_426;
-goto block_23;
-}
-}
-else
-{
-lean_object* x_427; lean_object* x_428; lean_object* x_429; lean_object* x_430; lean_object* x_431;
-lean_dec(x_347);
-x_427 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_427, 0, x_336);
-lean_ctor_set(x_427, 1, x_29);
-if (lean_is_scalar(x_348)) {
- x_428 = lean_alloc_ctor(1, 1, 0);
-} else {
- x_428 = x_348;
-}
-lean_ctor_set(x_428, 0, x_345);
-if (lean_is_scalar(x_346)) {
- x_429 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_429 = x_346;
-}
-lean_ctor_set(x_429, 0, x_428);
-lean_ctor_set(x_429, 1, x_333);
-x_430 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_430, 0, x_427);
-lean_ctor_set(x_430, 1, x_429);
-x_431 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_431, 0, x_430);
-lean_ctor_set(x_431, 1, x_8);
-x_15 = x_431;
-goto block_23;
+x_16 = x_425;
+goto block_24;
}
}
}
}
else
{
-lean_object* x_432; lean_object* x_433; lean_object* x_434; lean_object* x_435; lean_object* x_436; lean_object* x_437; lean_object* x_438; lean_object* x_439; lean_object* x_440; uint8_t x_441;
-lean_dec(x_26);
-x_432 = lean_ctor_get(x_7, 0);
-lean_inc(x_432);
-if (lean_is_exclusive(x_7)) {
- lean_ctor_release(x_7, 0);
- lean_ctor_release(x_7, 1);
- x_433 = x_7;
-} else {
- lean_dec_ref(x_7);
- x_433 = lean_box(0);
-}
-x_434 = lean_ctor_get(x_28, 0);
-lean_inc(x_434);
-x_435 = lean_ctor_get(x_28, 1);
-lean_inc(x_435);
-if (lean_is_exclusive(x_28)) {
- lean_ctor_release(x_28, 0);
- lean_ctor_release(x_28, 1);
- x_436 = x_28;
-} else {
- lean_dec_ref(x_28);
- x_436 = lean_box(0);
-}
-x_437 = lean_ctor_get(x_25, 2);
-lean_inc(x_437);
-x_438 = lean_ctor_get(x_25, 3);
-lean_inc(x_438);
-x_439 = lean_ctor_get(x_25, 4);
-lean_inc(x_439);
-lean_dec(x_25);
-x_440 = lean_simp_macro_scopes(x_437);
-x_441 = l_List_isEmpty___rarg(x_432);
-if (x_441 == 0)
+lean_object* x_426; lean_object* x_427;
+x_426 = lean_ctor_get(x_280, 0);
+lean_inc(x_426);
+lean_dec(x_280);
+lean_inc(x_4);
+x_427 = l_Lean_ppExpr(x_4, x_426, x_9);
+if (lean_obj_tag(x_427) == 0)
{
-uint8_t x_442;
-x_442 = l_Lean_Format_isNil(x_435);
+lean_object* x_428; lean_object* x_429; lean_object* x_430; lean_object* x_431; lean_object* x_432; lean_object* x_433; lean_object* x_434; lean_object* x_435; lean_object* x_436; lean_object* x_437; uint8_t x_438; lean_object* x_439; lean_object* x_440; lean_object* x_441; uint8_t x_442; lean_object* x_443; lean_object* x_444; lean_object* x_445; lean_object* x_446; lean_object* x_447;
+x_428 = lean_ctor_get(x_427, 0);
+lean_inc(x_428);
+x_429 = lean_ctor_get(x_427, 1);
+lean_inc(x_429);
+lean_dec(x_427);
+x_430 = l_List_reverse___rarg(x_277);
+x_431 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1;
+x_432 = l_Lean_Format_joinSep___main___at_Lean_ppGoal___spec__1(x_430, x_431);
+x_433 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__3;
+x_434 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_434, 0, x_432);
+lean_ctor_set(x_434, 1, x_433);
+x_435 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_435, 0, x_288);
+lean_ctor_set(x_435, 1, x_428);
+lean_inc(x_2);
+x_436 = lean_alloc_ctor(3, 2, 0);
+lean_ctor_set(x_436, 0, x_2);
+lean_ctor_set(x_436, 1, x_435);
+x_437 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_437, 0, x_434);
+lean_ctor_set(x_437, 1, x_436);
+x_438 = 0;
+x_439 = lean_alloc_ctor(5, 1, 1);
+lean_ctor_set(x_439, 0, x_437);
+lean_ctor_set_uint8(x_439, sizeof(void*)*1, x_438);
+x_440 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_440, 0, x_289);
+lean_ctor_set(x_440, 1, x_439);
+x_441 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4;
+x_442 = l_Lean_Format_isNil(x_440);
+lean_inc(x_1);
+x_443 = l_Lean_MetavarContext_instantiateMVars(x_1, x_283);
+x_444 = lean_ctor_get(x_443, 0);
+lean_inc(x_444);
+lean_dec(x_443);
+lean_inc(x_1);
+x_445 = l_Lean_MetavarContext_instantiateMVars(x_1, x_284);
+x_446 = lean_ctor_get(x_445, 0);
+lean_inc(x_446);
+lean_dec(x_445);
+lean_inc(x_4);
+x_447 = l_Lean_ppExpr(x_4, x_444, x_429);
if (x_442 == 0)
{
-lean_object* x_443; lean_object* x_444;
-x_443 = lean_box(1);
-x_444 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_444, 0, x_435);
-lean_ctor_set(x_444, 1, x_443);
-if (lean_obj_tag(x_432) == 0)
+if (lean_obj_tag(x_447) == 0)
{
-uint8_t x_445; lean_object* x_446; lean_object* x_447; lean_object* x_448; lean_object* x_449; lean_object* x_450; lean_object* x_451; lean_object* x_452; lean_object* x_502;
-lean_dec(x_434);
-x_445 = l_Lean_Format_isNil(x_444);
-lean_inc(x_1);
-x_446 = l_Lean_MetavarContext_instantiateMVars(x_1, x_438);
-x_447 = lean_ctor_get(x_446, 0);
-lean_inc(x_447);
-lean_dec(x_446);
-lean_inc(x_1);
-x_448 = l_Lean_MetavarContext_instantiateMVars(x_1, x_439);
-x_449 = lean_ctor_get(x_448, 0);
+lean_object* x_448; lean_object* x_449; lean_object* x_450; lean_object* x_451;
+x_448 = lean_ctor_get(x_447, 0);
+lean_inc(x_448);
+x_449 = lean_ctor_get(x_447, 1);
lean_inc(x_449);
-lean_dec(x_448);
-lean_inc(x_3);
-x_502 = l_Lean_ppExpr(x_3, x_447, x_8);
-if (x_445 == 0)
+lean_dec(x_447);
+x_450 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_450, 0, x_440);
+lean_ctor_set(x_450, 1, x_288);
+lean_inc(x_4);
+x_451 = l_Lean_ppExpr(x_4, x_446, x_449);
+if (lean_obj_tag(x_451) == 0)
{
-if (lean_obj_tag(x_502) == 0)
-{
-lean_object* x_503; lean_object* x_504; lean_object* x_505;
-x_503 = lean_ctor_get(x_502, 0);
-lean_inc(x_503);
-x_504 = lean_ctor_get(x_502, 1);
-lean_inc(x_504);
-lean_dec(x_502);
-x_505 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_505, 0, x_444);
-lean_ctor_set(x_505, 1, x_443);
-x_450 = x_505;
-x_451 = x_503;
-x_452 = x_504;
-goto block_501;
-}
-else
-{
-uint8_t x_506;
-lean_dec(x_449);
-lean_dec(x_444);
-lean_dec(x_440);
-lean_dec(x_436);
-lean_dec(x_433);
-x_506 = !lean_is_exclusive(x_502);
-if (x_506 == 0)
-{
-x_15 = x_502;
-goto block_23;
-}
-else
-{
-lean_object* x_507; lean_object* x_508; lean_object* x_509;
-x_507 = lean_ctor_get(x_502, 0);
-x_508 = lean_ctor_get(x_502, 1);
-lean_inc(x_508);
-lean_inc(x_507);
-lean_dec(x_502);
-x_509 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_509, 0, x_507);
-lean_ctor_set(x_509, 1, x_508);
-x_15 = x_509;
-goto block_23;
-}
-}
-}
-else
-{
-if (lean_obj_tag(x_502) == 0)
-{
-lean_object* x_510; lean_object* x_511;
-x_510 = lean_ctor_get(x_502, 0);
-lean_inc(x_510);
-x_511 = lean_ctor_get(x_502, 1);
-lean_inc(x_511);
-lean_dec(x_502);
-x_450 = x_444;
-x_451 = x_510;
-x_452 = x_511;
-goto block_501;
-}
-else
-{
-uint8_t x_512;
-lean_dec(x_449);
-lean_dec(x_444);
-lean_dec(x_440);
-lean_dec(x_436);
-lean_dec(x_433);
-x_512 = !lean_is_exclusive(x_502);
-if (x_512 == 0)
-{
-x_15 = x_502;
-goto block_23;
-}
-else
-{
-lean_object* x_513; lean_object* x_514; lean_object* x_515;
-x_513 = lean_ctor_get(x_502, 0);
-x_514 = lean_ctor_get(x_502, 1);
-lean_inc(x_514);
-lean_inc(x_513);
-lean_dec(x_502);
-x_515 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_515, 0, x_513);
-lean_ctor_set(x_515, 1, x_514);
-x_15 = x_515;
-goto block_23;
-}
-}
-}
-block_501:
-{
-lean_object* x_453;
-lean_inc(x_3);
-x_453 = l_Lean_ppExpr(x_3, x_449, x_452);
-if (lean_obj_tag(x_453) == 0)
-{
-uint8_t x_454;
-x_454 = !lean_is_exclusive(x_453);
-if (x_454 == 0)
-{
-lean_object* x_455; lean_object* x_456; lean_object* x_457; lean_object* x_458; lean_object* x_459; lean_object* x_460; lean_object* x_461; lean_object* x_462; lean_object* x_463; lean_object* x_464; lean_object* x_465; lean_object* x_466; lean_object* x_467; uint8_t x_468; lean_object* x_469; lean_object* x_470; lean_object* x_471; lean_object* x_472; lean_object* x_473; lean_object* x_474;
-x_455 = lean_ctor_get(x_453, 0);
-x_456 = l_System_FilePath_dirName___closed__1;
-x_457 = l_Lean_Name_toStringWithSep___main(x_456, x_440);
-x_458 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_458, 0, x_457);
-x_459 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6;
-x_460 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_460, 0, x_458);
-lean_ctor_set(x_460, 1, x_459);
+lean_object* x_452; lean_object* x_453; lean_object* x_454; lean_object* x_455; lean_object* x_456; lean_object* x_457; lean_object* x_458; lean_object* x_459; lean_object* x_460; lean_object* x_461; lean_object* x_462; lean_object* x_463; lean_object* x_464; lean_object* x_465; lean_object* x_466; lean_object* x_467; lean_object* x_468; lean_object* x_469;
+x_452 = lean_ctor_get(x_451, 0);
+lean_inc(x_452);
+x_453 = lean_ctor_get(x_451, 1);
+lean_inc(x_453);
+lean_dec(x_451);
+x_454 = l_System_FilePath_dirName___closed__1;
+x_455 = l_Lean_Name_toStringWithSep___main(x_454, x_285);
+x_456 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_456, 0, x_455);
+x_457 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6;
+x_458 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_458, 0, x_456);
+lean_ctor_set(x_458, 1, x_457);
+x_459 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_459, 0, x_458);
+lean_ctor_set(x_459, 1, x_448);
+x_460 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8;
x_461 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_461, 0, x_460);
-lean_ctor_set(x_461, 1, x_451);
-x_462 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8;
-x_463 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_463, 0, x_461);
+lean_ctor_set(x_461, 0, x_459);
+lean_ctor_set(x_461, 1, x_460);
+x_462 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_462, 0, x_288);
+lean_ctor_set(x_462, 1, x_452);
+lean_inc(x_2);
+x_463 = lean_alloc_ctor(3, 2, 0);
+lean_ctor_set(x_463, 0, x_2);
lean_ctor_set(x_463, 1, x_462);
x_464 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_464, 0, x_443);
-lean_ctor_set(x_464, 1, x_455);
-x_465 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4;
-x_466 = lean_alloc_ctor(3, 2, 0);
-lean_ctor_set(x_466, 0, x_465);
-lean_ctor_set(x_466, 1, x_464);
-x_467 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_467, 0, x_463);
-lean_ctor_set(x_467, 1, x_466);
-x_468 = 0;
-x_469 = lean_alloc_ctor(5, 1, 1);
-lean_ctor_set(x_469, 0, x_467);
-lean_ctor_set_uint8(x_469, sizeof(void*)*1, x_468);
-x_470 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_470, 0, x_450);
-lean_ctor_set(x_470, 1, x_469);
-x_471 = lean_box(0);
-x_472 = lean_box(0);
-if (lean_is_scalar(x_436)) {
- x_473 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_473 = x_436;
-}
-lean_ctor_set(x_473, 0, x_472);
-lean_ctor_set(x_473, 1, x_470);
-if (lean_is_scalar(x_433)) {
- x_474 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_474 = x_433;
-}
-lean_ctor_set(x_474, 0, x_471);
-lean_ctor_set(x_474, 1, x_473);
-lean_ctor_set(x_453, 0, x_474);
-x_15 = x_453;
-goto block_23;
+lean_ctor_set(x_464, 0, x_461);
+lean_ctor_set(x_464, 1, x_463);
+x_465 = lean_alloc_ctor(5, 1, 1);
+lean_ctor_set(x_465, 0, x_464);
+lean_ctor_set_uint8(x_465, sizeof(void*)*1, x_438);
+x_466 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_466, 0, x_450);
+lean_ctor_set(x_466, 1, x_465);
+x_467 = lean_box(0);
+x_468 = lean_box(0);
+lean_ctor_set(x_29, 1, x_466);
+lean_ctor_set(x_29, 0, x_468);
+lean_ctor_set(x_8, 0, x_467);
+x_469 = lean_apply_2(x_441, x_8, x_453);
+x_16 = x_469;
+goto block_24;
}
else
{
-lean_object* x_475; lean_object* x_476; lean_object* x_477; lean_object* x_478; lean_object* x_479; lean_object* x_480; lean_object* x_481; lean_object* x_482; lean_object* x_483; lean_object* x_484; lean_object* x_485; lean_object* x_486; lean_object* x_487; lean_object* x_488; uint8_t x_489; lean_object* x_490; lean_object* x_491; lean_object* x_492; lean_object* x_493; lean_object* x_494; lean_object* x_495; lean_object* x_496;
-x_475 = lean_ctor_get(x_453, 0);
-x_476 = lean_ctor_get(x_453, 1);
+uint8_t x_470;
+lean_dec(x_450);
+lean_dec(x_448);
+lean_dec(x_285);
+lean_free_object(x_29);
+lean_free_object(x_8);
+x_470 = !lean_is_exclusive(x_451);
+if (x_470 == 0)
+{
+x_16 = x_451;
+goto block_24;
+}
+else
+{
+lean_object* x_471; lean_object* x_472; lean_object* x_473;
+x_471 = lean_ctor_get(x_451, 0);
+x_472 = lean_ctor_get(x_451, 1);
+lean_inc(x_472);
+lean_inc(x_471);
+lean_dec(x_451);
+x_473 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_473, 0, x_471);
+lean_ctor_set(x_473, 1, x_472);
+x_16 = x_473;
+goto block_24;
+}
+}
+}
+else
+{
+uint8_t x_474;
+lean_dec(x_446);
+lean_dec(x_440);
+lean_dec(x_285);
+lean_free_object(x_29);
+lean_free_object(x_8);
+x_474 = !lean_is_exclusive(x_447);
+if (x_474 == 0)
+{
+x_16 = x_447;
+goto block_24;
+}
+else
+{
+lean_object* x_475; lean_object* x_476; lean_object* x_477;
+x_475 = lean_ctor_get(x_447, 0);
+x_476 = lean_ctor_get(x_447, 1);
lean_inc(x_476);
lean_inc(x_475);
-lean_dec(x_453);
-x_477 = l_System_FilePath_dirName___closed__1;
-x_478 = l_Lean_Name_toStringWithSep___main(x_477, x_440);
-x_479 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_479, 0, x_478);
-x_480 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6;
-x_481 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_481, 0, x_479);
-lean_ctor_set(x_481, 1, x_480);
-x_482 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_482, 0, x_481);
-lean_ctor_set(x_482, 1, x_451);
-x_483 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8;
-x_484 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_484, 0, x_482);
-lean_ctor_set(x_484, 1, x_483);
-x_485 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_485, 0, x_443);
-lean_ctor_set(x_485, 1, x_475);
-x_486 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4;
-x_487 = lean_alloc_ctor(3, 2, 0);
-lean_ctor_set(x_487, 0, x_486);
-lean_ctor_set(x_487, 1, x_485);
+lean_dec(x_447);
+x_477 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_477, 0, x_475);
+lean_ctor_set(x_477, 1, x_476);
+x_16 = x_477;
+goto block_24;
+}
+}
+}
+else
+{
+if (lean_obj_tag(x_447) == 0)
+{
+lean_object* x_478; lean_object* x_479; lean_object* x_480;
+x_478 = lean_ctor_get(x_447, 0);
+lean_inc(x_478);
+x_479 = lean_ctor_get(x_447, 1);
+lean_inc(x_479);
+lean_dec(x_447);
+lean_inc(x_4);
+x_480 = l_Lean_ppExpr(x_4, x_446, x_479);
+if (lean_obj_tag(x_480) == 0)
+{
+lean_object* x_481; lean_object* x_482; lean_object* x_483; lean_object* x_484; lean_object* x_485; lean_object* x_486; lean_object* x_487; lean_object* x_488; lean_object* x_489; lean_object* x_490; lean_object* x_491; lean_object* x_492; lean_object* x_493; lean_object* x_494; lean_object* x_495; lean_object* x_496; lean_object* x_497; lean_object* x_498;
+x_481 = lean_ctor_get(x_480, 0);
+lean_inc(x_481);
+x_482 = lean_ctor_get(x_480, 1);
+lean_inc(x_482);
+lean_dec(x_480);
+x_483 = l_System_FilePath_dirName___closed__1;
+x_484 = l_Lean_Name_toStringWithSep___main(x_483, x_285);
+x_485 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_485, 0, x_484);
+x_486 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6;
+x_487 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_487, 0, x_485);
+lean_ctor_set(x_487, 1, x_486);
x_488 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_488, 0, x_484);
-lean_ctor_set(x_488, 1, x_487);
-x_489 = 0;
-x_490 = lean_alloc_ctor(5, 1, 1);
+lean_ctor_set(x_488, 0, x_487);
+lean_ctor_set(x_488, 1, x_478);
+x_489 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8;
+x_490 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_490, 0, x_488);
-lean_ctor_set_uint8(x_490, sizeof(void*)*1, x_489);
+lean_ctor_set(x_490, 1, x_489);
x_491 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_491, 0, x_450);
-lean_ctor_set(x_491, 1, x_490);
-x_492 = lean_box(0);
-x_493 = lean_box(0);
-if (lean_is_scalar(x_436)) {
- x_494 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_494 = x_436;
-}
+lean_ctor_set(x_491, 0, x_288);
+lean_ctor_set(x_491, 1, x_481);
+lean_inc(x_2);
+x_492 = lean_alloc_ctor(3, 2, 0);
+lean_ctor_set(x_492, 0, x_2);
+lean_ctor_set(x_492, 1, x_491);
+x_493 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_493, 0, x_490);
+lean_ctor_set(x_493, 1, x_492);
+x_494 = lean_alloc_ctor(5, 1, 1);
lean_ctor_set(x_494, 0, x_493);
-lean_ctor_set(x_494, 1, x_491);
-if (lean_is_scalar(x_433)) {
- x_495 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_495 = x_433;
-}
-lean_ctor_set(x_495, 0, x_492);
+lean_ctor_set_uint8(x_494, sizeof(void*)*1, x_438);
+x_495 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_495, 0, x_440);
lean_ctor_set(x_495, 1, x_494);
-x_496 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_496, 0, x_495);
-lean_ctor_set(x_496, 1, x_476);
-x_15 = x_496;
-goto block_23;
-}
+x_496 = lean_box(0);
+x_497 = lean_box(0);
+lean_ctor_set(x_29, 1, x_495);
+lean_ctor_set(x_29, 0, x_497);
+lean_ctor_set(x_8, 0, x_496);
+x_498 = lean_apply_2(x_441, x_8, x_482);
+x_16 = x_498;
+goto block_24;
}
else
{
-uint8_t x_497;
-lean_dec(x_451);
-lean_dec(x_450);
+uint8_t x_499;
+lean_dec(x_478);
lean_dec(x_440);
-lean_dec(x_436);
-lean_dec(x_433);
-x_497 = !lean_is_exclusive(x_453);
-if (x_497 == 0)
+lean_dec(x_285);
+lean_free_object(x_29);
+lean_free_object(x_8);
+x_499 = !lean_is_exclusive(x_480);
+if (x_499 == 0)
{
-x_15 = x_453;
-goto block_23;
+x_16 = x_480;
+goto block_24;
}
else
{
-lean_object* x_498; lean_object* x_499; lean_object* x_500;
-x_498 = lean_ctor_get(x_453, 0);
-x_499 = lean_ctor_get(x_453, 1);
-lean_inc(x_499);
-lean_inc(x_498);
-lean_dec(x_453);
-x_500 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_500, 0, x_498);
-lean_ctor_set(x_500, 1, x_499);
-x_15 = x_500;
-goto block_23;
+lean_object* x_500; lean_object* x_501; lean_object* x_502;
+x_500 = lean_ctor_get(x_480, 0);
+x_501 = lean_ctor_get(x_480, 1);
+lean_inc(x_501);
+lean_inc(x_500);
+lean_dec(x_480);
+x_502 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_502, 0, x_500);
+lean_ctor_set(x_502, 1, x_501);
+x_16 = x_502;
+goto block_24;
+}
+}
+}
+else
+{
+uint8_t x_503;
+lean_dec(x_446);
+lean_dec(x_440);
+lean_dec(x_285);
+lean_free_object(x_29);
+lean_free_object(x_8);
+x_503 = !lean_is_exclusive(x_447);
+if (x_503 == 0)
+{
+x_16 = x_447;
+goto block_24;
+}
+else
+{
+lean_object* x_504; lean_object* x_505; lean_object* x_506;
+x_504 = lean_ctor_get(x_447, 0);
+x_505 = lean_ctor_get(x_447, 1);
+lean_inc(x_505);
+lean_inc(x_504);
+lean_dec(x_447);
+x_506 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_506, 0, x_504);
+lean_ctor_set(x_506, 1, x_505);
+x_16 = x_506;
+goto block_24;
}
}
}
}
else
{
-if (lean_obj_tag(x_434) == 0)
+uint8_t x_507;
+lean_dec(x_289);
+lean_dec(x_285);
+lean_dec(x_284);
+lean_dec(x_283);
+lean_free_object(x_29);
+lean_free_object(x_8);
+lean_dec(x_277);
+x_507 = !lean_is_exclusive(x_427);
+if (x_507 == 0)
{
-uint8_t x_516; lean_object* x_517; lean_object* x_518; lean_object* x_519; lean_object* x_520; lean_object* x_521; lean_object* x_522; lean_object* x_523; lean_object* x_573;
-lean_dec(x_432);
-x_516 = l_Lean_Format_isNil(x_444);
+x_16 = x_427;
+goto block_24;
+}
+else
+{
+lean_object* x_508; lean_object* x_509; lean_object* x_510;
+x_508 = lean_ctor_get(x_427, 0);
+x_509 = lean_ctor_get(x_427, 1);
+lean_inc(x_509);
+lean_inc(x_508);
+lean_dec(x_427);
+x_510 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_510, 0, x_508);
+lean_ctor_set(x_510, 1, x_509);
+x_16 = x_510;
+goto block_24;
+}
+}
+}
+}
+}
+else
+{
+if (lean_obj_tag(x_277) == 0)
+{
+lean_object* x_511; lean_object* x_512; lean_object* x_513; lean_object* x_514; lean_object* x_515; lean_object* x_516;
+lean_dec(x_280);
+x_511 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4;
lean_inc(x_1);
-x_517 = l_Lean_MetavarContext_instantiateMVars(x_1, x_438);
-x_518 = lean_ctor_get(x_517, 0);
+x_512 = l_Lean_MetavarContext_instantiateMVars(x_1, x_283);
+x_513 = lean_ctor_get(x_512, 0);
+lean_inc(x_513);
+lean_dec(x_512);
+lean_inc(x_1);
+x_514 = l_Lean_MetavarContext_instantiateMVars(x_1, x_284);
+x_515 = lean_ctor_get(x_514, 0);
+lean_inc(x_515);
+lean_dec(x_514);
+lean_inc(x_4);
+x_516 = l_Lean_ppExpr(x_4, x_513, x_9);
+if (lean_obj_tag(x_516) == 0)
+{
+lean_object* x_517; lean_object* x_518; lean_object* x_519;
+x_517 = lean_ctor_get(x_516, 0);
+lean_inc(x_517);
+x_518 = lean_ctor_get(x_516, 1);
lean_inc(x_518);
-lean_dec(x_517);
-lean_inc(x_1);
-x_519 = l_Lean_MetavarContext_instantiateMVars(x_1, x_439);
+lean_dec(x_516);
+lean_inc(x_4);
+x_519 = l_Lean_ppExpr(x_4, x_515, x_518);
+if (lean_obj_tag(x_519) == 0)
+{
+lean_object* x_520; lean_object* x_521; lean_object* x_522; lean_object* x_523; lean_object* x_524; lean_object* x_525; lean_object* x_526; lean_object* x_527; lean_object* x_528; lean_object* x_529; lean_object* x_530; lean_object* x_531; lean_object* x_532; lean_object* x_533; uint8_t x_534; lean_object* x_535; lean_object* x_536; lean_object* x_537; lean_object* x_538; lean_object* x_539;
x_520 = lean_ctor_get(x_519, 0);
lean_inc(x_520);
+x_521 = lean_ctor_get(x_519, 1);
+lean_inc(x_521);
lean_dec(x_519);
-lean_inc(x_3);
-x_573 = l_Lean_ppExpr(x_3, x_518, x_8);
-if (x_516 == 0)
+x_522 = l_System_FilePath_dirName___closed__1;
+x_523 = l_Lean_Name_toStringWithSep___main(x_522, x_285);
+x_524 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_524, 0, x_523);
+x_525 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6;
+x_526 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_526, 0, x_524);
+lean_ctor_set(x_526, 1, x_525);
+x_527 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_527, 0, x_526);
+lean_ctor_set(x_527, 1, x_517);
+x_528 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8;
+x_529 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_529, 0, x_527);
+lean_ctor_set(x_529, 1, x_528);
+x_530 = lean_box(1);
+x_531 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_531, 0, x_530);
+lean_ctor_set(x_531, 1, x_520);
+lean_inc(x_2);
+x_532 = lean_alloc_ctor(3, 2, 0);
+lean_ctor_set(x_532, 0, x_2);
+lean_ctor_set(x_532, 1, x_531);
+x_533 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_533, 0, x_529);
+lean_ctor_set(x_533, 1, x_532);
+x_534 = 0;
+x_535 = lean_alloc_ctor(5, 1, 1);
+lean_ctor_set(x_535, 0, x_533);
+lean_ctor_set_uint8(x_535, sizeof(void*)*1, x_534);
+x_536 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_536, 0, x_281);
+lean_ctor_set(x_536, 1, x_535);
+x_537 = lean_box(0);
+x_538 = lean_box(0);
+lean_ctor_set(x_29, 1, x_536);
+lean_ctor_set(x_29, 0, x_538);
+lean_ctor_set(x_8, 0, x_537);
+x_539 = lean_apply_2(x_511, x_8, x_521);
+x_16 = x_539;
+goto block_24;
+}
+else
{
-if (lean_obj_tag(x_573) == 0)
+uint8_t x_540;
+lean_dec(x_517);
+lean_dec(x_285);
+lean_free_object(x_29);
+lean_dec(x_281);
+lean_free_object(x_8);
+x_540 = !lean_is_exclusive(x_519);
+if (x_540 == 0)
{
-lean_object* x_574; lean_object* x_575; lean_object* x_576;
-x_574 = lean_ctor_get(x_573, 0);
-lean_inc(x_574);
-x_575 = lean_ctor_get(x_573, 1);
-lean_inc(x_575);
-lean_dec(x_573);
-x_576 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_576, 0, x_444);
-lean_ctor_set(x_576, 1, x_443);
-x_521 = x_576;
-x_522 = x_574;
-x_523 = x_575;
-goto block_572;
+x_16 = x_519;
+goto block_24;
+}
+else
+{
+lean_object* x_541; lean_object* x_542; lean_object* x_543;
+x_541 = lean_ctor_get(x_519, 0);
+x_542 = lean_ctor_get(x_519, 1);
+lean_inc(x_542);
+lean_inc(x_541);
+lean_dec(x_519);
+x_543 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_543, 0, x_541);
+lean_ctor_set(x_543, 1, x_542);
+x_16 = x_543;
+goto block_24;
+}
+}
+}
+else
+{
+uint8_t x_544;
+lean_dec(x_515);
+lean_dec(x_285);
+lean_free_object(x_29);
+lean_dec(x_281);
+lean_free_object(x_8);
+x_544 = !lean_is_exclusive(x_516);
+if (x_544 == 0)
+{
+x_16 = x_516;
+goto block_24;
+}
+else
+{
+lean_object* x_545; lean_object* x_546; lean_object* x_547;
+x_545 = lean_ctor_get(x_516, 0);
+x_546 = lean_ctor_get(x_516, 1);
+lean_inc(x_546);
+lean_inc(x_545);
+lean_dec(x_516);
+x_547 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_547, 0, x_545);
+lean_ctor_set(x_547, 1, x_546);
+x_16 = x_547;
+goto block_24;
+}
+}
+}
+else
+{
+if (lean_obj_tag(x_280) == 0)
+{
+lean_object* x_548; lean_object* x_549; lean_object* x_550; lean_object* x_551; lean_object* x_552; lean_object* x_553;
+lean_dec(x_277);
+x_548 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4;
+lean_inc(x_1);
+x_549 = l_Lean_MetavarContext_instantiateMVars(x_1, x_283);
+x_550 = lean_ctor_get(x_549, 0);
+lean_inc(x_550);
+lean_dec(x_549);
+lean_inc(x_1);
+x_551 = l_Lean_MetavarContext_instantiateMVars(x_1, x_284);
+x_552 = lean_ctor_get(x_551, 0);
+lean_inc(x_552);
+lean_dec(x_551);
+lean_inc(x_4);
+x_553 = l_Lean_ppExpr(x_4, x_550, x_9);
+if (lean_obj_tag(x_553) == 0)
+{
+lean_object* x_554; lean_object* x_555; lean_object* x_556;
+x_554 = lean_ctor_get(x_553, 0);
+lean_inc(x_554);
+x_555 = lean_ctor_get(x_553, 1);
+lean_inc(x_555);
+lean_dec(x_553);
+lean_inc(x_4);
+x_556 = l_Lean_ppExpr(x_4, x_552, x_555);
+if (lean_obj_tag(x_556) == 0)
+{
+lean_object* x_557; lean_object* x_558; lean_object* x_559; lean_object* x_560; lean_object* x_561; lean_object* x_562; lean_object* x_563; lean_object* x_564; lean_object* x_565; lean_object* x_566; lean_object* x_567; lean_object* x_568; lean_object* x_569; lean_object* x_570; uint8_t x_571; lean_object* x_572; lean_object* x_573; lean_object* x_574; lean_object* x_575; lean_object* x_576;
+x_557 = lean_ctor_get(x_556, 0);
+lean_inc(x_557);
+x_558 = lean_ctor_get(x_556, 1);
+lean_inc(x_558);
+lean_dec(x_556);
+x_559 = l_System_FilePath_dirName___closed__1;
+x_560 = l_Lean_Name_toStringWithSep___main(x_559, x_285);
+x_561 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_561, 0, x_560);
+x_562 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6;
+x_563 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_563, 0, x_561);
+lean_ctor_set(x_563, 1, x_562);
+x_564 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_564, 0, x_563);
+lean_ctor_set(x_564, 1, x_554);
+x_565 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8;
+x_566 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_566, 0, x_564);
+lean_ctor_set(x_566, 1, x_565);
+x_567 = lean_box(1);
+x_568 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_568, 0, x_567);
+lean_ctor_set(x_568, 1, x_557);
+lean_inc(x_2);
+x_569 = lean_alloc_ctor(3, 2, 0);
+lean_ctor_set(x_569, 0, x_2);
+lean_ctor_set(x_569, 1, x_568);
+x_570 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_570, 0, x_566);
+lean_ctor_set(x_570, 1, x_569);
+x_571 = 0;
+x_572 = lean_alloc_ctor(5, 1, 1);
+lean_ctor_set(x_572, 0, x_570);
+lean_ctor_set_uint8(x_572, sizeof(void*)*1, x_571);
+x_573 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_573, 0, x_281);
+lean_ctor_set(x_573, 1, x_572);
+x_574 = lean_box(0);
+x_575 = lean_box(0);
+lean_ctor_set(x_29, 1, x_573);
+lean_ctor_set(x_29, 0, x_575);
+lean_ctor_set(x_8, 0, x_574);
+x_576 = lean_apply_2(x_548, x_8, x_558);
+x_16 = x_576;
+goto block_24;
}
else
{
uint8_t x_577;
-lean_dec(x_520);
-lean_dec(x_444);
-lean_dec(x_440);
-lean_dec(x_436);
-lean_dec(x_433);
-x_577 = !lean_is_exclusive(x_573);
+lean_dec(x_554);
+lean_dec(x_285);
+lean_free_object(x_29);
+lean_dec(x_281);
+lean_free_object(x_8);
+x_577 = !lean_is_exclusive(x_556);
if (x_577 == 0)
{
-x_15 = x_573;
-goto block_23;
+x_16 = x_556;
+goto block_24;
}
else
{
lean_object* x_578; lean_object* x_579; lean_object* x_580;
-x_578 = lean_ctor_get(x_573, 0);
-x_579 = lean_ctor_get(x_573, 1);
+x_578 = lean_ctor_get(x_556, 0);
+x_579 = lean_ctor_get(x_556, 1);
lean_inc(x_579);
lean_inc(x_578);
-lean_dec(x_573);
+lean_dec(x_556);
x_580 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_580, 0, x_578);
lean_ctor_set(x_580, 1, x_579);
-x_15 = x_580;
-goto block_23;
+x_16 = x_580;
+goto block_24;
}
}
}
else
{
-if (lean_obj_tag(x_573) == 0)
+uint8_t x_581;
+lean_dec(x_552);
+lean_dec(x_285);
+lean_free_object(x_29);
+lean_dec(x_281);
+lean_free_object(x_8);
+x_581 = !lean_is_exclusive(x_553);
+if (x_581 == 0)
{
-lean_object* x_581; lean_object* x_582;
-x_581 = lean_ctor_get(x_573, 0);
-lean_inc(x_581);
-x_582 = lean_ctor_get(x_573, 1);
+x_16 = x_553;
+goto block_24;
+}
+else
+{
+lean_object* x_582; lean_object* x_583; lean_object* x_584;
+x_582 = lean_ctor_get(x_553, 0);
+x_583 = lean_ctor_get(x_553, 1);
+lean_inc(x_583);
lean_inc(x_582);
-lean_dec(x_573);
-x_521 = x_444;
-x_522 = x_581;
-x_523 = x_582;
-goto block_572;
+lean_dec(x_553);
+x_584 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_584, 0, x_582);
+lean_ctor_set(x_584, 1, x_583);
+x_16 = x_584;
+goto block_24;
+}
+}
}
else
{
-uint8_t x_583;
-lean_dec(x_520);
-lean_dec(x_444);
-lean_dec(x_440);
-lean_dec(x_436);
-lean_dec(x_433);
-x_583 = !lean_is_exclusive(x_573);
-if (x_583 == 0)
-{
-x_15 = x_573;
-goto block_23;
-}
-else
-{
-lean_object* x_584; lean_object* x_585; lean_object* x_586;
-x_584 = lean_ctor_get(x_573, 0);
-x_585 = lean_ctor_get(x_573, 1);
+lean_object* x_585; lean_object* x_586;
+x_585 = lean_ctor_get(x_280, 0);
lean_inc(x_585);
-lean_inc(x_584);
-lean_dec(x_573);
-x_586 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_586, 0, x_584);
-lean_ctor_set(x_586, 1, x_585);
-x_15 = x_586;
-goto block_23;
-}
-}
-}
-block_572:
+lean_dec(x_280);
+lean_inc(x_4);
+x_586 = l_Lean_ppExpr(x_4, x_585, x_9);
+if (lean_obj_tag(x_586) == 0)
{
-lean_object* x_524;
-lean_inc(x_3);
-x_524 = l_Lean_ppExpr(x_3, x_520, x_523);
-if (lean_obj_tag(x_524) == 0)
-{
-uint8_t x_525;
-x_525 = !lean_is_exclusive(x_524);
-if (x_525 == 0)
-{
-lean_object* x_526; lean_object* x_527; lean_object* x_528; lean_object* x_529; lean_object* x_530; lean_object* x_531; lean_object* x_532; lean_object* x_533; lean_object* x_534; lean_object* x_535; lean_object* x_536; lean_object* x_537; lean_object* x_538; uint8_t x_539; lean_object* x_540; lean_object* x_541; lean_object* x_542; lean_object* x_543; lean_object* x_544; lean_object* x_545;
-x_526 = lean_ctor_get(x_524, 0);
-x_527 = l_System_FilePath_dirName___closed__1;
-x_528 = l_Lean_Name_toStringWithSep___main(x_527, x_440);
-x_529 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_529, 0, x_528);
-x_530 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6;
-x_531 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_531, 0, x_529);
-lean_ctor_set(x_531, 1, x_530);
-x_532 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_532, 0, x_531);
-lean_ctor_set(x_532, 1, x_522);
-x_533 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8;
-x_534 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_534, 0, x_532);
-lean_ctor_set(x_534, 1, x_533);
-x_535 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_535, 0, x_443);
-lean_ctor_set(x_535, 1, x_526);
-x_536 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4;
-x_537 = lean_alloc_ctor(3, 2, 0);
-lean_ctor_set(x_537, 0, x_536);
-lean_ctor_set(x_537, 1, x_535);
-x_538 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_538, 0, x_534);
-lean_ctor_set(x_538, 1, x_537);
-x_539 = 0;
-x_540 = lean_alloc_ctor(5, 1, 1);
-lean_ctor_set(x_540, 0, x_538);
-lean_ctor_set_uint8(x_540, sizeof(void*)*1, x_539);
-x_541 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_541, 0, x_521);
-lean_ctor_set(x_541, 1, x_540);
-x_542 = lean_box(0);
-x_543 = lean_box(0);
-if (lean_is_scalar(x_436)) {
- x_544 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_544 = x_436;
-}
-lean_ctor_set(x_544, 0, x_543);
-lean_ctor_set(x_544, 1, x_541);
-if (lean_is_scalar(x_433)) {
- x_545 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_545 = x_433;
-}
-lean_ctor_set(x_545, 0, x_542);
-lean_ctor_set(x_545, 1, x_544);
-lean_ctor_set(x_524, 0, x_545);
-x_15 = x_524;
-goto block_23;
-}
-else
-{
-lean_object* x_546; lean_object* x_547; lean_object* x_548; lean_object* x_549; lean_object* x_550; lean_object* x_551; lean_object* x_552; lean_object* x_553; lean_object* x_554; lean_object* x_555; lean_object* x_556; lean_object* x_557; lean_object* x_558; lean_object* x_559; uint8_t x_560; lean_object* x_561; lean_object* x_562; lean_object* x_563; lean_object* x_564; lean_object* x_565; lean_object* x_566; lean_object* x_567;
-x_546 = lean_ctor_get(x_524, 0);
-x_547 = lean_ctor_get(x_524, 1);
-lean_inc(x_547);
-lean_inc(x_546);
-lean_dec(x_524);
-x_548 = l_System_FilePath_dirName___closed__1;
-x_549 = l_Lean_Name_toStringWithSep___main(x_548, x_440);
-x_550 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_550, 0, x_549);
-x_551 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6;
-x_552 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_552, 0, x_550);
-lean_ctor_set(x_552, 1, x_551);
-x_553 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_553, 0, x_552);
-lean_ctor_set(x_553, 1, x_522);
-x_554 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8;
-x_555 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_555, 0, x_553);
-lean_ctor_set(x_555, 1, x_554);
-x_556 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_556, 0, x_443);
-lean_ctor_set(x_556, 1, x_546);
-x_557 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4;
-x_558 = lean_alloc_ctor(3, 2, 0);
-lean_ctor_set(x_558, 0, x_557);
-lean_ctor_set(x_558, 1, x_556);
-x_559 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_559, 0, x_555);
-lean_ctor_set(x_559, 1, x_558);
-x_560 = 0;
-x_561 = lean_alloc_ctor(5, 1, 1);
-lean_ctor_set(x_561, 0, x_559);
-lean_ctor_set_uint8(x_561, sizeof(void*)*1, x_560);
-x_562 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_562, 0, x_521);
-lean_ctor_set(x_562, 1, x_561);
-x_563 = lean_box(0);
-x_564 = lean_box(0);
-if (lean_is_scalar(x_436)) {
- x_565 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_565 = x_436;
-}
-lean_ctor_set(x_565, 0, x_564);
-lean_ctor_set(x_565, 1, x_562);
-if (lean_is_scalar(x_433)) {
- x_566 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_566 = x_433;
-}
-lean_ctor_set(x_566, 0, x_563);
-lean_ctor_set(x_566, 1, x_565);
-x_567 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_567, 0, x_566);
-lean_ctor_set(x_567, 1, x_547);
-x_15 = x_567;
-goto block_23;
-}
-}
-else
-{
-uint8_t x_568;
-lean_dec(x_522);
-lean_dec(x_521);
-lean_dec(x_440);
-lean_dec(x_436);
-lean_dec(x_433);
-x_568 = !lean_is_exclusive(x_524);
-if (x_568 == 0)
-{
-x_15 = x_524;
-goto block_23;
-}
-else
-{
-lean_object* x_569; lean_object* x_570; lean_object* x_571;
-x_569 = lean_ctor_get(x_524, 0);
-x_570 = lean_ctor_get(x_524, 1);
-lean_inc(x_570);
-lean_inc(x_569);
-lean_dec(x_524);
-x_571 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_571, 0, x_569);
-lean_ctor_set(x_571, 1, x_570);
-x_15 = x_571;
-goto block_23;
-}
-}
-}
-}
-else
-{
-lean_object* x_587; lean_object* x_588;
-x_587 = lean_ctor_get(x_434, 0);
+lean_object* x_587; lean_object* x_588; lean_object* x_589; lean_object* x_590; lean_object* x_591; lean_object* x_592; lean_object* x_593; lean_object* x_594; lean_object* x_595; lean_object* x_596; lean_object* x_597; uint8_t x_598; lean_object* x_599; lean_object* x_600; lean_object* x_601; uint8_t x_602; lean_object* x_603; lean_object* x_604; lean_object* x_605; lean_object* x_606; lean_object* x_607;
+x_587 = lean_ctor_get(x_586, 0);
lean_inc(x_587);
-lean_dec(x_434);
-lean_inc(x_3);
-x_588 = l_Lean_ppExpr(x_3, x_587, x_8);
-if (lean_obj_tag(x_588) == 0)
-{
-lean_object* x_589; lean_object* x_590; lean_object* x_591; lean_object* x_592; lean_object* x_593; lean_object* x_594; lean_object* x_595; lean_object* x_596; lean_object* x_597; lean_object* x_598; lean_object* x_599; uint8_t x_600; lean_object* x_601; lean_object* x_602; uint8_t x_603; lean_object* x_604; lean_object* x_605; lean_object* x_606; lean_object* x_607; lean_object* x_608; lean_object* x_609; lean_object* x_610; lean_object* x_656;
-x_589 = lean_ctor_get(x_588, 0);
-lean_inc(x_589);
-x_590 = lean_ctor_get(x_588, 1);
-lean_inc(x_590);
-lean_dec(x_588);
-x_591 = l_List_reverse___rarg(x_432);
-x_592 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1;
-x_593 = l_Lean_Format_joinSep___main___at_Lean_ppGoal___spec__1(x_591, x_592);
-x_594 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__3;
+x_588 = lean_ctor_get(x_586, 1);
+lean_inc(x_588);
+lean_dec(x_586);
+x_589 = l_List_reverse___rarg(x_277);
+x_590 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1;
+x_591 = l_Lean_Format_joinSep___main___at_Lean_ppGoal___spec__1(x_589, x_590);
+x_592 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__3;
+x_593 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_593, 0, x_591);
+lean_ctor_set(x_593, 1, x_592);
+x_594 = lean_box(1);
x_595 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_595, 0, x_593);
-lean_ctor_set(x_595, 1, x_594);
-x_596 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_596, 0, x_443);
-lean_ctor_set(x_596, 1, x_589);
-x_597 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4;
-x_598 = lean_alloc_ctor(3, 2, 0);
-lean_ctor_set(x_598, 0, x_597);
-lean_ctor_set(x_598, 1, x_596);
-x_599 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_599, 0, x_595);
-lean_ctor_set(x_599, 1, x_598);
-x_600 = 0;
-x_601 = lean_alloc_ctor(5, 1, 1);
-lean_ctor_set(x_601, 0, x_599);
-lean_ctor_set_uint8(x_601, sizeof(void*)*1, x_600);
-x_602 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_602, 0, x_444);
-lean_ctor_set(x_602, 1, x_601);
-x_603 = l_Lean_Format_isNil(x_602);
+lean_ctor_set(x_595, 0, x_594);
+lean_ctor_set(x_595, 1, x_587);
+lean_inc(x_2);
+x_596 = lean_alloc_ctor(3, 2, 0);
+lean_ctor_set(x_596, 0, x_2);
+lean_ctor_set(x_596, 1, x_595);
+x_597 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_597, 0, x_593);
+lean_ctor_set(x_597, 1, x_596);
+x_598 = 0;
+x_599 = lean_alloc_ctor(5, 1, 1);
+lean_ctor_set(x_599, 0, x_597);
+lean_ctor_set_uint8(x_599, sizeof(void*)*1, x_598);
+x_600 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_600, 0, x_281);
+lean_ctor_set(x_600, 1, x_599);
+x_601 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4;
+x_602 = l_Lean_Format_isNil(x_600);
lean_inc(x_1);
-x_604 = l_Lean_MetavarContext_instantiateMVars(x_1, x_438);
-x_605 = lean_ctor_get(x_604, 0);
-lean_inc(x_605);
-lean_dec(x_604);
+x_603 = l_Lean_MetavarContext_instantiateMVars(x_1, x_283);
+x_604 = lean_ctor_get(x_603, 0);
+lean_inc(x_604);
+lean_dec(x_603);
lean_inc(x_1);
-x_606 = l_Lean_MetavarContext_instantiateMVars(x_1, x_439);
-x_607 = lean_ctor_get(x_606, 0);
-lean_inc(x_607);
-lean_dec(x_606);
-lean_inc(x_3);
-x_656 = l_Lean_ppExpr(x_3, x_605, x_590);
-if (x_603 == 0)
+x_605 = l_Lean_MetavarContext_instantiateMVars(x_1, x_284);
+x_606 = lean_ctor_get(x_605, 0);
+lean_inc(x_606);
+lean_dec(x_605);
+lean_inc(x_4);
+x_607 = l_Lean_ppExpr(x_4, x_604, x_588);
+if (x_602 == 0)
{
-if (lean_obj_tag(x_656) == 0)
+if (lean_obj_tag(x_607) == 0)
{
-lean_object* x_657; lean_object* x_658; lean_object* x_659;
-x_657 = lean_ctor_get(x_656, 0);
-lean_inc(x_657);
-x_658 = lean_ctor_get(x_656, 1);
-lean_inc(x_658);
-lean_dec(x_656);
-x_659 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_659, 0, x_602);
-lean_ctor_set(x_659, 1, x_443);
-x_608 = x_659;
-x_609 = x_657;
-x_610 = x_658;
-goto block_655;
-}
-else
-{
-uint8_t x_660;
+lean_object* x_608; lean_object* x_609; lean_object* x_610; lean_object* x_611;
+x_608 = lean_ctor_get(x_607, 0);
+lean_inc(x_608);
+x_609 = lean_ctor_get(x_607, 1);
+lean_inc(x_609);
lean_dec(x_607);
-lean_dec(x_602);
-lean_dec(x_440);
-lean_dec(x_436);
-lean_dec(x_433);
-x_660 = !lean_is_exclusive(x_656);
-if (x_660 == 0)
-{
-x_15 = x_656;
-goto block_23;
-}
-else
-{
-lean_object* x_661; lean_object* x_662; lean_object* x_663;
-x_661 = lean_ctor_get(x_656, 0);
-x_662 = lean_ctor_get(x_656, 1);
-lean_inc(x_662);
-lean_inc(x_661);
-lean_dec(x_656);
-x_663 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_663, 0, x_661);
-lean_ctor_set(x_663, 1, x_662);
-x_15 = x_663;
-goto block_23;
-}
-}
-}
-else
-{
-if (lean_obj_tag(x_656) == 0)
-{
-lean_object* x_664; lean_object* x_665;
-x_664 = lean_ctor_get(x_656, 0);
-lean_inc(x_664);
-x_665 = lean_ctor_get(x_656, 1);
-lean_inc(x_665);
-lean_dec(x_656);
-x_608 = x_602;
-x_609 = x_664;
-x_610 = x_665;
-goto block_655;
-}
-else
-{
-uint8_t x_666;
-lean_dec(x_607);
-lean_dec(x_602);
-lean_dec(x_440);
-lean_dec(x_436);
-lean_dec(x_433);
-x_666 = !lean_is_exclusive(x_656);
-if (x_666 == 0)
-{
-x_15 = x_656;
-goto block_23;
-}
-else
-{
-lean_object* x_667; lean_object* x_668; lean_object* x_669;
-x_667 = lean_ctor_get(x_656, 0);
-x_668 = lean_ctor_get(x_656, 1);
-lean_inc(x_668);
-lean_inc(x_667);
-lean_dec(x_656);
-x_669 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_669, 0, x_667);
-lean_ctor_set(x_669, 1, x_668);
-x_15 = x_669;
-goto block_23;
-}
-}
-}
-block_655:
-{
-lean_object* x_611;
-lean_inc(x_3);
-x_611 = l_Lean_ppExpr(x_3, x_607, x_610);
+x_610 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_610, 0, x_600);
+lean_ctor_set(x_610, 1, x_594);
+lean_inc(x_4);
+x_611 = l_Lean_ppExpr(x_4, x_606, x_609);
if (lean_obj_tag(x_611) == 0)
{
-uint8_t x_612;
-x_612 = !lean_is_exclusive(x_611);
-if (x_612 == 0)
-{
-lean_object* x_613; lean_object* x_614; lean_object* x_615; lean_object* x_616; lean_object* x_617; lean_object* x_618; lean_object* x_619; lean_object* x_620; lean_object* x_621; lean_object* x_622; lean_object* x_623; lean_object* x_624; lean_object* x_625; lean_object* x_626; lean_object* x_627; lean_object* x_628; lean_object* x_629; lean_object* x_630;
-x_613 = lean_ctor_get(x_611, 0);
+lean_object* x_612; lean_object* x_613; lean_object* x_614; lean_object* x_615; lean_object* x_616; lean_object* x_617; lean_object* x_618; lean_object* x_619; lean_object* x_620; lean_object* x_621; lean_object* x_622; lean_object* x_623; lean_object* x_624; lean_object* x_625; lean_object* x_626; lean_object* x_627; lean_object* x_628; lean_object* x_629;
+x_612 = lean_ctor_get(x_611, 0);
+lean_inc(x_612);
+x_613 = lean_ctor_get(x_611, 1);
+lean_inc(x_613);
+lean_dec(x_611);
x_614 = l_System_FilePath_dirName___closed__1;
-x_615 = l_Lean_Name_toStringWithSep___main(x_614, x_440);
+x_615 = l_Lean_Name_toStringWithSep___main(x_614, x_285);
x_616 = lean_alloc_ctor(2, 1, 0);
lean_ctor_set(x_616, 0, x_615);
x_617 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6;
@@ -2928,167 +2993,247 @@ lean_ctor_set(x_618, 0, x_616);
lean_ctor_set(x_618, 1, x_617);
x_619 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_619, 0, x_618);
-lean_ctor_set(x_619, 1, x_609);
+lean_ctor_set(x_619, 1, x_608);
x_620 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8;
x_621 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_621, 0, x_619);
lean_ctor_set(x_621, 1, x_620);
x_622 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_622, 0, x_443);
-lean_ctor_set(x_622, 1, x_613);
+lean_ctor_set(x_622, 0, x_594);
+lean_ctor_set(x_622, 1, x_612);
+lean_inc(x_2);
x_623 = lean_alloc_ctor(3, 2, 0);
-lean_ctor_set(x_623, 0, x_597);
+lean_ctor_set(x_623, 0, x_2);
lean_ctor_set(x_623, 1, x_622);
x_624 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_624, 0, x_621);
lean_ctor_set(x_624, 1, x_623);
x_625 = lean_alloc_ctor(5, 1, 1);
lean_ctor_set(x_625, 0, x_624);
-lean_ctor_set_uint8(x_625, sizeof(void*)*1, x_600);
+lean_ctor_set_uint8(x_625, sizeof(void*)*1, x_598);
x_626 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_626, 0, x_608);
+lean_ctor_set(x_626, 0, x_610);
lean_ctor_set(x_626, 1, x_625);
x_627 = lean_box(0);
x_628 = lean_box(0);
-if (lean_is_scalar(x_436)) {
- x_629 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_629 = x_436;
-}
-lean_ctor_set(x_629, 0, x_628);
-lean_ctor_set(x_629, 1, x_626);
-if (lean_is_scalar(x_433)) {
- x_630 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_630 = x_433;
-}
-lean_ctor_set(x_630, 0, x_627);
-lean_ctor_set(x_630, 1, x_629);
-lean_ctor_set(x_611, 0, x_630);
-x_15 = x_611;
-goto block_23;
+lean_ctor_set(x_29, 1, x_626);
+lean_ctor_set(x_29, 0, x_628);
+lean_ctor_set(x_8, 0, x_627);
+x_629 = lean_apply_2(x_601, x_8, x_613);
+x_16 = x_629;
+goto block_24;
}
else
{
-lean_object* x_631; lean_object* x_632; lean_object* x_633; lean_object* x_634; lean_object* x_635; lean_object* x_636; lean_object* x_637; lean_object* x_638; lean_object* x_639; lean_object* x_640; lean_object* x_641; lean_object* x_642; lean_object* x_643; lean_object* x_644; lean_object* x_645; lean_object* x_646; lean_object* x_647; lean_object* x_648; lean_object* x_649; lean_object* x_650;
+uint8_t x_630;
+lean_dec(x_610);
+lean_dec(x_608);
+lean_dec(x_285);
+lean_free_object(x_29);
+lean_free_object(x_8);
+x_630 = !lean_is_exclusive(x_611);
+if (x_630 == 0)
+{
+x_16 = x_611;
+goto block_24;
+}
+else
+{
+lean_object* x_631; lean_object* x_632; lean_object* x_633;
x_631 = lean_ctor_get(x_611, 0);
x_632 = lean_ctor_get(x_611, 1);
lean_inc(x_632);
lean_inc(x_631);
lean_dec(x_611);
-x_633 = l_System_FilePath_dirName___closed__1;
-x_634 = l_Lean_Name_toStringWithSep___main(x_633, x_440);
-x_635 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_635, 0, x_634);
-x_636 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6;
-x_637 = lean_alloc_ctor(4, 2, 0);
+x_633 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_633, 0, x_631);
+lean_ctor_set(x_633, 1, x_632);
+x_16 = x_633;
+goto block_24;
+}
+}
+}
+else
+{
+uint8_t x_634;
+lean_dec(x_606);
+lean_dec(x_600);
+lean_dec(x_285);
+lean_free_object(x_29);
+lean_free_object(x_8);
+x_634 = !lean_is_exclusive(x_607);
+if (x_634 == 0)
+{
+x_16 = x_607;
+goto block_24;
+}
+else
+{
+lean_object* x_635; lean_object* x_636; lean_object* x_637;
+x_635 = lean_ctor_get(x_607, 0);
+x_636 = lean_ctor_get(x_607, 1);
+lean_inc(x_636);
+lean_inc(x_635);
+lean_dec(x_607);
+x_637 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_637, 0, x_635);
lean_ctor_set(x_637, 1, x_636);
-x_638 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_638, 0, x_637);
-lean_ctor_set(x_638, 1, x_609);
-x_639 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8;
-x_640 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_640, 0, x_638);
-lean_ctor_set(x_640, 1, x_639);
-x_641 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_641, 0, x_443);
-lean_ctor_set(x_641, 1, x_631);
-x_642 = lean_alloc_ctor(3, 2, 0);
-lean_ctor_set(x_642, 0, x_597);
-lean_ctor_set(x_642, 1, x_641);
-x_643 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_643, 0, x_640);
-lean_ctor_set(x_643, 1, x_642);
-x_644 = lean_alloc_ctor(5, 1, 1);
-lean_ctor_set(x_644, 0, x_643);
-lean_ctor_set_uint8(x_644, sizeof(void*)*1, x_600);
-x_645 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_645, 0, x_608);
-lean_ctor_set(x_645, 1, x_644);
-x_646 = lean_box(0);
-x_647 = lean_box(0);
-if (lean_is_scalar(x_436)) {
- x_648 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_648 = x_436;
+x_16 = x_637;
+goto block_24;
}
+}
+}
+else
+{
+if (lean_obj_tag(x_607) == 0)
+{
+lean_object* x_638; lean_object* x_639; lean_object* x_640;
+x_638 = lean_ctor_get(x_607, 0);
+lean_inc(x_638);
+x_639 = lean_ctor_get(x_607, 1);
+lean_inc(x_639);
+lean_dec(x_607);
+lean_inc(x_4);
+x_640 = l_Lean_ppExpr(x_4, x_606, x_639);
+if (lean_obj_tag(x_640) == 0)
+{
+lean_object* x_641; lean_object* x_642; lean_object* x_643; lean_object* x_644; lean_object* x_645; lean_object* x_646; lean_object* x_647; lean_object* x_648; lean_object* x_649; lean_object* x_650; lean_object* x_651; lean_object* x_652; lean_object* x_653; lean_object* x_654; lean_object* x_655; lean_object* x_656; lean_object* x_657; lean_object* x_658;
+x_641 = lean_ctor_get(x_640, 0);
+lean_inc(x_641);
+x_642 = lean_ctor_get(x_640, 1);
+lean_inc(x_642);
+lean_dec(x_640);
+x_643 = l_System_FilePath_dirName___closed__1;
+x_644 = l_Lean_Name_toStringWithSep___main(x_643, x_285);
+x_645 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_645, 0, x_644);
+x_646 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6;
+x_647 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_647, 0, x_645);
+lean_ctor_set(x_647, 1, x_646);
+x_648 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_648, 0, x_647);
-lean_ctor_set(x_648, 1, x_645);
-if (lean_is_scalar(x_433)) {
- x_649 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_649 = x_433;
+lean_ctor_set(x_648, 1, x_638);
+x_649 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8;
+x_650 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_650, 0, x_648);
+lean_ctor_set(x_650, 1, x_649);
+x_651 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_651, 0, x_594);
+lean_ctor_set(x_651, 1, x_641);
+lean_inc(x_2);
+x_652 = lean_alloc_ctor(3, 2, 0);
+lean_ctor_set(x_652, 0, x_2);
+lean_ctor_set(x_652, 1, x_651);
+x_653 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_653, 0, x_650);
+lean_ctor_set(x_653, 1, x_652);
+x_654 = lean_alloc_ctor(5, 1, 1);
+lean_ctor_set(x_654, 0, x_653);
+lean_ctor_set_uint8(x_654, sizeof(void*)*1, x_598);
+x_655 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_655, 0, x_600);
+lean_ctor_set(x_655, 1, x_654);
+x_656 = lean_box(0);
+x_657 = lean_box(0);
+lean_ctor_set(x_29, 1, x_655);
+lean_ctor_set(x_29, 0, x_657);
+lean_ctor_set(x_8, 0, x_656);
+x_658 = lean_apply_2(x_601, x_8, x_642);
+x_16 = x_658;
+goto block_24;
+}
+else
+{
+uint8_t x_659;
+lean_dec(x_638);
+lean_dec(x_600);
+lean_dec(x_285);
+lean_free_object(x_29);
+lean_free_object(x_8);
+x_659 = !lean_is_exclusive(x_640);
+if (x_659 == 0)
+{
+x_16 = x_640;
+goto block_24;
+}
+else
+{
+lean_object* x_660; lean_object* x_661; lean_object* x_662;
+x_660 = lean_ctor_get(x_640, 0);
+x_661 = lean_ctor_get(x_640, 1);
+lean_inc(x_661);
+lean_inc(x_660);
+lean_dec(x_640);
+x_662 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_662, 0, x_660);
+lean_ctor_set(x_662, 1, x_661);
+x_16 = x_662;
+goto block_24;
}
-lean_ctor_set(x_649, 0, x_646);
-lean_ctor_set(x_649, 1, x_648);
-x_650 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_650, 0, x_649);
-lean_ctor_set(x_650, 1, x_632);
-x_15 = x_650;
-goto block_23;
}
}
else
{
-uint8_t x_651;
-lean_dec(x_609);
-lean_dec(x_608);
-lean_dec(x_440);
-lean_dec(x_436);
-lean_dec(x_433);
-x_651 = !lean_is_exclusive(x_611);
-if (x_651 == 0)
+uint8_t x_663;
+lean_dec(x_606);
+lean_dec(x_600);
+lean_dec(x_285);
+lean_free_object(x_29);
+lean_free_object(x_8);
+x_663 = !lean_is_exclusive(x_607);
+if (x_663 == 0)
{
-x_15 = x_611;
-goto block_23;
+x_16 = x_607;
+goto block_24;
}
else
{
-lean_object* x_652; lean_object* x_653; lean_object* x_654;
-x_652 = lean_ctor_get(x_611, 0);
-x_653 = lean_ctor_get(x_611, 1);
-lean_inc(x_653);
-lean_inc(x_652);
-lean_dec(x_611);
-x_654 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_654, 0, x_652);
-lean_ctor_set(x_654, 1, x_653);
-x_15 = x_654;
-goto block_23;
+lean_object* x_664; lean_object* x_665; lean_object* x_666;
+x_664 = lean_ctor_get(x_607, 0);
+x_665 = lean_ctor_get(x_607, 1);
+lean_inc(x_665);
+lean_inc(x_664);
+lean_dec(x_607);
+x_666 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_666, 0, x_664);
+lean_ctor_set(x_666, 1, x_665);
+x_16 = x_666;
+goto block_24;
}
}
}
}
else
{
-uint8_t x_670;
-lean_dec(x_444);
-lean_dec(x_440);
-lean_dec(x_439);
-lean_dec(x_438);
-lean_dec(x_436);
-lean_dec(x_433);
-lean_dec(x_432);
-x_670 = !lean_is_exclusive(x_588);
-if (x_670 == 0)
+uint8_t x_667;
+lean_dec(x_285);
+lean_dec(x_284);
+lean_dec(x_283);
+lean_free_object(x_29);
+lean_dec(x_281);
+lean_free_object(x_8);
+lean_dec(x_277);
+x_667 = !lean_is_exclusive(x_586);
+if (x_667 == 0)
{
-x_15 = x_588;
-goto block_23;
+x_16 = x_586;
+goto block_24;
}
else
{
-lean_object* x_671; lean_object* x_672; lean_object* x_673;
-x_671 = lean_ctor_get(x_588, 0);
-x_672 = lean_ctor_get(x_588, 1);
-lean_inc(x_672);
-lean_inc(x_671);
-lean_dec(x_588);
-x_673 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_673, 0, x_671);
-lean_ctor_set(x_673, 1, x_672);
-x_15 = x_673;
-goto block_23;
+lean_object* x_668; lean_object* x_669; lean_object* x_670;
+x_668 = lean_ctor_get(x_586, 0);
+x_669 = lean_ctor_get(x_586, 1);
+lean_inc(x_669);
+lean_inc(x_668);
+lean_dec(x_586);
+x_670 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_670, 0, x_668);
+lean_ctor_set(x_670, 1, x_669);
+x_16 = x_670;
+goto block_24;
+}
}
}
}
@@ -3096,4981 +3241,10706 @@ goto block_23;
}
else
{
-if (lean_obj_tag(x_432) == 0)
-{
-lean_object* x_674; lean_object* x_675; lean_object* x_676; lean_object* x_677; lean_object* x_678;
-lean_dec(x_434);
+lean_object* x_671; uint8_t x_672; lean_object* x_673; lean_object* x_674; lean_object* x_675; lean_object* x_676; lean_object* x_677;
+lean_dec(x_280);
+lean_dec(x_277);
+x_671 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4;
+x_672 = l_Lean_Format_isNil(x_281);
lean_inc(x_1);
-x_674 = l_Lean_MetavarContext_instantiateMVars(x_1, x_438);
-x_675 = lean_ctor_get(x_674, 0);
-lean_inc(x_675);
-lean_dec(x_674);
+x_673 = l_Lean_MetavarContext_instantiateMVars(x_1, x_283);
+x_674 = lean_ctor_get(x_673, 0);
+lean_inc(x_674);
+lean_dec(x_673);
lean_inc(x_1);
-x_676 = l_Lean_MetavarContext_instantiateMVars(x_1, x_439);
-x_677 = lean_ctor_get(x_676, 0);
-lean_inc(x_677);
-lean_dec(x_676);
-lean_inc(x_3);
-x_678 = l_Lean_ppExpr(x_3, x_675, x_8);
-if (lean_obj_tag(x_678) == 0)
+x_675 = l_Lean_MetavarContext_instantiateMVars(x_1, x_284);
+x_676 = lean_ctor_get(x_675, 0);
+lean_inc(x_676);
+lean_dec(x_675);
+lean_inc(x_4);
+x_677 = l_Lean_ppExpr(x_4, x_674, x_9);
+if (x_672 == 0)
{
-lean_object* x_679; lean_object* x_680; lean_object* x_681;
-x_679 = lean_ctor_get(x_678, 0);
+if (lean_obj_tag(x_677) == 0)
+{
+lean_object* x_678; lean_object* x_679; lean_object* x_680; lean_object* x_681; lean_object* x_682;
+x_678 = lean_ctor_get(x_677, 0);
+lean_inc(x_678);
+x_679 = lean_ctor_get(x_677, 1);
lean_inc(x_679);
-x_680 = lean_ctor_get(x_678, 1);
-lean_inc(x_680);
-lean_dec(x_678);
-lean_inc(x_3);
-x_681 = l_Lean_ppExpr(x_3, x_677, x_680);
-if (lean_obj_tag(x_681) == 0)
-{
-uint8_t x_682;
-x_682 = !lean_is_exclusive(x_681);
-if (x_682 == 0)
-{
-lean_object* x_683; lean_object* x_684; lean_object* x_685; lean_object* x_686; lean_object* x_687; lean_object* x_688; lean_object* x_689; lean_object* x_690; lean_object* x_691; lean_object* x_692; lean_object* x_693; lean_object* x_694; lean_object* x_695; lean_object* x_696; uint8_t x_697; lean_object* x_698; lean_object* x_699; lean_object* x_700; lean_object* x_701; lean_object* x_702; lean_object* x_703;
-x_683 = lean_ctor_get(x_681, 0);
-x_684 = l_System_FilePath_dirName___closed__1;
-x_685 = l_Lean_Name_toStringWithSep___main(x_684, x_440);
-x_686 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_686, 0, x_685);
-x_687 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6;
-x_688 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_688, 0, x_686);
-lean_ctor_set(x_688, 1, x_687);
-x_689 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_689, 0, x_688);
-lean_ctor_set(x_689, 1, x_679);
-x_690 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8;
-x_691 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_691, 0, x_689);
-lean_ctor_set(x_691, 1, x_690);
-x_692 = lean_box(1);
-x_693 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_693, 0, x_692);
-lean_ctor_set(x_693, 1, x_683);
-x_694 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4;
-x_695 = lean_alloc_ctor(3, 2, 0);
-lean_ctor_set(x_695, 0, x_694);
-lean_ctor_set(x_695, 1, x_693);
-x_696 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_696, 0, x_691);
-lean_ctor_set(x_696, 1, x_695);
-x_697 = 0;
-x_698 = lean_alloc_ctor(5, 1, 1);
-lean_ctor_set(x_698, 0, x_696);
-lean_ctor_set_uint8(x_698, sizeof(void*)*1, x_697);
-x_699 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_699, 0, x_435);
-lean_ctor_set(x_699, 1, x_698);
-x_700 = lean_box(0);
-x_701 = lean_box(0);
-if (lean_is_scalar(x_436)) {
- x_702 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_702 = x_436;
-}
-lean_ctor_set(x_702, 0, x_701);
-lean_ctor_set(x_702, 1, x_699);
-if (lean_is_scalar(x_433)) {
- x_703 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_703 = x_433;
-}
-lean_ctor_set(x_703, 0, x_700);
-lean_ctor_set(x_703, 1, x_702);
-lean_ctor_set(x_681, 0, x_703);
-x_15 = x_681;
-goto block_23;
-}
-else
-{
-lean_object* x_704; lean_object* x_705; lean_object* x_706; lean_object* x_707; lean_object* x_708; lean_object* x_709; lean_object* x_710; lean_object* x_711; lean_object* x_712; lean_object* x_713; lean_object* x_714; lean_object* x_715; lean_object* x_716; lean_object* x_717; lean_object* x_718; uint8_t x_719; lean_object* x_720; lean_object* x_721; lean_object* x_722; lean_object* x_723; lean_object* x_724; lean_object* x_725; lean_object* x_726;
-x_704 = lean_ctor_get(x_681, 0);
-x_705 = lean_ctor_get(x_681, 1);
-lean_inc(x_705);
-lean_inc(x_704);
-lean_dec(x_681);
-x_706 = l_System_FilePath_dirName___closed__1;
-x_707 = l_Lean_Name_toStringWithSep___main(x_706, x_440);
-x_708 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_708, 0, x_707);
-x_709 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6;
-x_710 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_710, 0, x_708);
-lean_ctor_set(x_710, 1, x_709);
-x_711 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_711, 0, x_710);
-lean_ctor_set(x_711, 1, x_679);
-x_712 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8;
-x_713 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_713, 0, x_711);
-lean_ctor_set(x_713, 1, x_712);
-x_714 = lean_box(1);
-x_715 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_715, 0, x_714);
-lean_ctor_set(x_715, 1, x_704);
-x_716 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4;
-x_717 = lean_alloc_ctor(3, 2, 0);
-lean_ctor_set(x_717, 0, x_716);
-lean_ctor_set(x_717, 1, x_715);
-x_718 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_718, 0, x_713);
-lean_ctor_set(x_718, 1, x_717);
-x_719 = 0;
-x_720 = lean_alloc_ctor(5, 1, 1);
-lean_ctor_set(x_720, 0, x_718);
-lean_ctor_set_uint8(x_720, sizeof(void*)*1, x_719);
-x_721 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_721, 0, x_435);
-lean_ctor_set(x_721, 1, x_720);
-x_722 = lean_box(0);
-x_723 = lean_box(0);
-if (lean_is_scalar(x_436)) {
- x_724 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_724 = x_436;
-}
-lean_ctor_set(x_724, 0, x_723);
-lean_ctor_set(x_724, 1, x_721);
-if (lean_is_scalar(x_433)) {
- x_725 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_725 = x_433;
-}
-lean_ctor_set(x_725, 0, x_722);
-lean_ctor_set(x_725, 1, x_724);
-x_726 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_726, 0, x_725);
-lean_ctor_set(x_726, 1, x_705);
-x_15 = x_726;
-goto block_23;
-}
-}
-else
-{
-uint8_t x_727;
-lean_dec(x_679);
-lean_dec(x_440);
-lean_dec(x_436);
-lean_dec(x_435);
-lean_dec(x_433);
-x_727 = !lean_is_exclusive(x_681);
-if (x_727 == 0)
-{
-x_15 = x_681;
-goto block_23;
-}
-else
-{
-lean_object* x_728; lean_object* x_729; lean_object* x_730;
-x_728 = lean_ctor_get(x_681, 0);
-x_729 = lean_ctor_get(x_681, 1);
-lean_inc(x_729);
-lean_inc(x_728);
-lean_dec(x_681);
-x_730 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_730, 0, x_728);
-lean_ctor_set(x_730, 1, x_729);
-x_15 = x_730;
-goto block_23;
-}
-}
-}
-else
-{
-uint8_t x_731;
lean_dec(x_677);
-lean_dec(x_440);
-lean_dec(x_436);
-lean_dec(x_435);
-lean_dec(x_433);
-x_731 = !lean_is_exclusive(x_678);
-if (x_731 == 0)
+x_680 = lean_box(1);
+x_681 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_681, 0, x_281);
+lean_ctor_set(x_681, 1, x_680);
+lean_inc(x_4);
+x_682 = l_Lean_ppExpr(x_4, x_676, x_679);
+if (lean_obj_tag(x_682) == 0)
{
-x_15 = x_678;
-goto block_23;
+lean_object* x_683; lean_object* x_684; lean_object* x_685; lean_object* x_686; lean_object* x_687; lean_object* x_688; lean_object* x_689; lean_object* x_690; lean_object* x_691; lean_object* x_692; lean_object* x_693; lean_object* x_694; lean_object* x_695; uint8_t x_696; lean_object* x_697; lean_object* x_698; lean_object* x_699; lean_object* x_700; lean_object* x_701;
+x_683 = lean_ctor_get(x_682, 0);
+lean_inc(x_683);
+x_684 = lean_ctor_get(x_682, 1);
+lean_inc(x_684);
+lean_dec(x_682);
+x_685 = l_System_FilePath_dirName___closed__1;
+x_686 = l_Lean_Name_toStringWithSep___main(x_685, x_285);
+x_687 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_687, 0, x_686);
+x_688 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6;
+x_689 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_689, 0, x_687);
+lean_ctor_set(x_689, 1, x_688);
+x_690 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_690, 0, x_689);
+lean_ctor_set(x_690, 1, x_678);
+x_691 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8;
+x_692 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_692, 0, x_690);
+lean_ctor_set(x_692, 1, x_691);
+x_693 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_693, 0, x_680);
+lean_ctor_set(x_693, 1, x_683);
+lean_inc(x_2);
+x_694 = lean_alloc_ctor(3, 2, 0);
+lean_ctor_set(x_694, 0, x_2);
+lean_ctor_set(x_694, 1, x_693);
+x_695 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_695, 0, x_692);
+lean_ctor_set(x_695, 1, x_694);
+x_696 = 0;
+x_697 = lean_alloc_ctor(5, 1, 1);
+lean_ctor_set(x_697, 0, x_695);
+lean_ctor_set_uint8(x_697, sizeof(void*)*1, x_696);
+x_698 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_698, 0, x_681);
+lean_ctor_set(x_698, 1, x_697);
+x_699 = lean_box(0);
+x_700 = lean_box(0);
+lean_ctor_set(x_29, 1, x_698);
+lean_ctor_set(x_29, 0, x_700);
+lean_ctor_set(x_8, 0, x_699);
+x_701 = lean_apply_2(x_671, x_8, x_684);
+x_16 = x_701;
+goto block_24;
}
else
{
-lean_object* x_732; lean_object* x_733; lean_object* x_734;
-x_732 = lean_ctor_get(x_678, 0);
-x_733 = lean_ctor_get(x_678, 1);
-lean_inc(x_733);
-lean_inc(x_732);
+uint8_t x_702;
+lean_dec(x_681);
lean_dec(x_678);
-x_734 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_734, 0, x_732);
-lean_ctor_set(x_734, 1, x_733);
-x_15 = x_734;
-goto block_23;
+lean_dec(x_285);
+lean_free_object(x_29);
+lean_free_object(x_8);
+x_702 = !lean_is_exclusive(x_682);
+if (x_702 == 0)
+{
+x_16 = x_682;
+goto block_24;
+}
+else
+{
+lean_object* x_703; lean_object* x_704; lean_object* x_705;
+x_703 = lean_ctor_get(x_682, 0);
+x_704 = lean_ctor_get(x_682, 1);
+lean_inc(x_704);
+lean_inc(x_703);
+lean_dec(x_682);
+x_705 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_705, 0, x_703);
+lean_ctor_set(x_705, 1, x_704);
+x_16 = x_705;
+goto block_24;
}
}
}
else
{
-if (lean_obj_tag(x_434) == 0)
+uint8_t x_706;
+lean_dec(x_676);
+lean_dec(x_285);
+lean_free_object(x_29);
+lean_dec(x_281);
+lean_free_object(x_8);
+x_706 = !lean_is_exclusive(x_677);
+if (x_706 == 0)
{
-lean_object* x_735; lean_object* x_736; lean_object* x_737; lean_object* x_738; lean_object* x_739;
-lean_dec(x_432);
-lean_inc(x_1);
-x_735 = l_Lean_MetavarContext_instantiateMVars(x_1, x_438);
-x_736 = lean_ctor_get(x_735, 0);
-lean_inc(x_736);
-lean_dec(x_735);
-lean_inc(x_1);
-x_737 = l_Lean_MetavarContext_instantiateMVars(x_1, x_439);
-x_738 = lean_ctor_get(x_737, 0);
+x_16 = x_677;
+goto block_24;
+}
+else
+{
+lean_object* x_707; lean_object* x_708; lean_object* x_709;
+x_707 = lean_ctor_get(x_677, 0);
+x_708 = lean_ctor_get(x_677, 1);
+lean_inc(x_708);
+lean_inc(x_707);
+lean_dec(x_677);
+x_709 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_709, 0, x_707);
+lean_ctor_set(x_709, 1, x_708);
+x_16 = x_709;
+goto block_24;
+}
+}
+}
+else
+{
+if (lean_obj_tag(x_677) == 0)
+{
+lean_object* x_710; lean_object* x_711; lean_object* x_712;
+x_710 = lean_ctor_get(x_677, 0);
+lean_inc(x_710);
+x_711 = lean_ctor_get(x_677, 1);
+lean_inc(x_711);
+lean_dec(x_677);
+lean_inc(x_4);
+x_712 = l_Lean_ppExpr(x_4, x_676, x_711);
+if (lean_obj_tag(x_712) == 0)
+{
+lean_object* x_713; lean_object* x_714; lean_object* x_715; lean_object* x_716; lean_object* x_717; lean_object* x_718; lean_object* x_719; lean_object* x_720; lean_object* x_721; lean_object* x_722; lean_object* x_723; lean_object* x_724; lean_object* x_725; lean_object* x_726; uint8_t x_727; lean_object* x_728; lean_object* x_729; lean_object* x_730; lean_object* x_731; lean_object* x_732;
+x_713 = lean_ctor_get(x_712, 0);
+lean_inc(x_713);
+x_714 = lean_ctor_get(x_712, 1);
+lean_inc(x_714);
+lean_dec(x_712);
+x_715 = l_System_FilePath_dirName___closed__1;
+x_716 = l_Lean_Name_toStringWithSep___main(x_715, x_285);
+x_717 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_717, 0, x_716);
+x_718 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6;
+x_719 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_719, 0, x_717);
+lean_ctor_set(x_719, 1, x_718);
+x_720 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_720, 0, x_719);
+lean_ctor_set(x_720, 1, x_710);
+x_721 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8;
+x_722 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_722, 0, x_720);
+lean_ctor_set(x_722, 1, x_721);
+x_723 = lean_box(1);
+x_724 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_724, 0, x_723);
+lean_ctor_set(x_724, 1, x_713);
+lean_inc(x_2);
+x_725 = lean_alloc_ctor(3, 2, 0);
+lean_ctor_set(x_725, 0, x_2);
+lean_ctor_set(x_725, 1, x_724);
+x_726 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_726, 0, x_722);
+lean_ctor_set(x_726, 1, x_725);
+x_727 = 0;
+x_728 = lean_alloc_ctor(5, 1, 1);
+lean_ctor_set(x_728, 0, x_726);
+lean_ctor_set_uint8(x_728, sizeof(void*)*1, x_727);
+x_729 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_729, 0, x_281);
+lean_ctor_set(x_729, 1, x_728);
+x_730 = lean_box(0);
+x_731 = lean_box(0);
+lean_ctor_set(x_29, 1, x_729);
+lean_ctor_set(x_29, 0, x_731);
+lean_ctor_set(x_8, 0, x_730);
+x_732 = lean_apply_2(x_671, x_8, x_714);
+x_16 = x_732;
+goto block_24;
+}
+else
+{
+uint8_t x_733;
+lean_dec(x_710);
+lean_dec(x_285);
+lean_free_object(x_29);
+lean_dec(x_281);
+lean_free_object(x_8);
+x_733 = !lean_is_exclusive(x_712);
+if (x_733 == 0)
+{
+x_16 = x_712;
+goto block_24;
+}
+else
+{
+lean_object* x_734; lean_object* x_735; lean_object* x_736;
+x_734 = lean_ctor_get(x_712, 0);
+x_735 = lean_ctor_get(x_712, 1);
+lean_inc(x_735);
+lean_inc(x_734);
+lean_dec(x_712);
+x_736 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_736, 0, x_734);
+lean_ctor_set(x_736, 1, x_735);
+x_16 = x_736;
+goto block_24;
+}
+}
+}
+else
+{
+uint8_t x_737;
+lean_dec(x_676);
+lean_dec(x_285);
+lean_free_object(x_29);
+lean_dec(x_281);
+lean_free_object(x_8);
+x_737 = !lean_is_exclusive(x_677);
+if (x_737 == 0)
+{
+x_16 = x_677;
+goto block_24;
+}
+else
+{
+lean_object* x_738; lean_object* x_739; lean_object* x_740;
+x_738 = lean_ctor_get(x_677, 0);
+x_739 = lean_ctor_get(x_677, 1);
+lean_inc(x_739);
lean_inc(x_738);
-lean_dec(x_737);
-lean_inc(x_3);
-x_739 = l_Lean_ppExpr(x_3, x_736, x_8);
-if (lean_obj_tag(x_739) == 0)
-{
-lean_object* x_740; lean_object* x_741; lean_object* x_742;
-x_740 = lean_ctor_get(x_739, 0);
-lean_inc(x_740);
-x_741 = lean_ctor_get(x_739, 1);
-lean_inc(x_741);
-lean_dec(x_739);
-lean_inc(x_3);
-x_742 = l_Lean_ppExpr(x_3, x_738, x_741);
-if (lean_obj_tag(x_742) == 0)
-{
-uint8_t x_743;
-x_743 = !lean_is_exclusive(x_742);
-if (x_743 == 0)
-{
-lean_object* x_744; lean_object* x_745; lean_object* x_746; lean_object* x_747; lean_object* x_748; lean_object* x_749; lean_object* x_750; lean_object* x_751; lean_object* x_752; lean_object* x_753; lean_object* x_754; lean_object* x_755; lean_object* x_756; lean_object* x_757; uint8_t x_758; lean_object* x_759; lean_object* x_760; lean_object* x_761; lean_object* x_762; lean_object* x_763; lean_object* x_764;
-x_744 = lean_ctor_get(x_742, 0);
-x_745 = l_System_FilePath_dirName___closed__1;
-x_746 = l_Lean_Name_toStringWithSep___main(x_745, x_440);
-x_747 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_747, 0, x_746);
-x_748 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6;
-x_749 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_749, 0, x_747);
-lean_ctor_set(x_749, 1, x_748);
-x_750 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_750, 0, x_749);
-lean_ctor_set(x_750, 1, x_740);
-x_751 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8;
-x_752 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_752, 0, x_750);
-lean_ctor_set(x_752, 1, x_751);
-x_753 = lean_box(1);
-x_754 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_754, 0, x_753);
-lean_ctor_set(x_754, 1, x_744);
-x_755 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4;
-x_756 = lean_alloc_ctor(3, 2, 0);
-lean_ctor_set(x_756, 0, x_755);
-lean_ctor_set(x_756, 1, x_754);
-x_757 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_757, 0, x_752);
-lean_ctor_set(x_757, 1, x_756);
-x_758 = 0;
-x_759 = lean_alloc_ctor(5, 1, 1);
-lean_ctor_set(x_759, 0, x_757);
-lean_ctor_set_uint8(x_759, sizeof(void*)*1, x_758);
-x_760 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_760, 0, x_435);
-lean_ctor_set(x_760, 1, x_759);
-x_761 = lean_box(0);
-x_762 = lean_box(0);
-if (lean_is_scalar(x_436)) {
- x_763 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_763 = x_436;
+lean_dec(x_677);
+x_740 = lean_alloc_ctor(1, 2, 0);
+lean_ctor_set(x_740, 0, x_738);
+lean_ctor_set(x_740, 1, x_739);
+x_16 = x_740;
+goto block_24;
+}
+}
}
-lean_ctor_set(x_763, 0, x_762);
-lean_ctor_set(x_763, 1, x_760);
-if (lean_is_scalar(x_433)) {
- x_764 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_764 = x_433;
}
-lean_ctor_set(x_764, 0, x_761);
-lean_ctor_set(x_764, 1, x_763);
-lean_ctor_set(x_742, 0, x_764);
-x_15 = x_742;
-goto block_23;
}
else
{
-lean_object* x_765; lean_object* x_766; lean_object* x_767; lean_object* x_768; lean_object* x_769; lean_object* x_770; lean_object* x_771; lean_object* x_772; lean_object* x_773; lean_object* x_774; lean_object* x_775; lean_object* x_776; lean_object* x_777; lean_object* x_778; lean_object* x_779; uint8_t x_780; lean_object* x_781; lean_object* x_782; lean_object* x_783; lean_object* x_784; lean_object* x_785; lean_object* x_786; lean_object* x_787;
-x_765 = lean_ctor_get(x_742, 0);
-x_766 = lean_ctor_get(x_742, 1);
-lean_inc(x_766);
-lean_inc(x_765);
-lean_dec(x_742);
-x_767 = l_System_FilePath_dirName___closed__1;
-x_768 = l_Lean_Name_toStringWithSep___main(x_767, x_440);
-x_769 = lean_alloc_ctor(2, 1, 0);
+lean_object* x_741; lean_object* x_742; lean_object* x_743; lean_object* x_744; lean_object* x_745; lean_object* x_746; uint8_t x_747;
+x_741 = lean_ctor_get(x_29, 0);
+x_742 = lean_ctor_get(x_29, 1);
+lean_inc(x_742);
+lean_inc(x_741);
+lean_dec(x_29);
+x_743 = lean_ctor_get(x_26, 2);
+lean_inc(x_743);
+x_744 = lean_ctor_get(x_26, 3);
+lean_inc(x_744);
+x_745 = lean_ctor_get(x_26, 4);
+lean_inc(x_745);
+lean_dec(x_26);
+x_746 = lean_simp_macro_scopes(x_743);
+x_747 = l_List_isEmpty___rarg(x_277);
+if (x_747 == 0)
+{
+uint8_t x_748;
+x_748 = l_Lean_Format_isNil(x_742);
+if (x_748 == 0)
+{
+lean_object* x_749; lean_object* x_750;
+x_749 = lean_box(1);
+x_750 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_750, 0, x_742);
+lean_ctor_set(x_750, 1, x_749);
+if (lean_obj_tag(x_277) == 0)
+{
+lean_object* x_751; uint8_t x_752; lean_object* x_753; lean_object* x_754; lean_object* x_755; lean_object* x_756; lean_object* x_757;
+lean_dec(x_741);
+x_751 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4;
+x_752 = l_Lean_Format_isNil(x_750);
+lean_inc(x_1);
+x_753 = l_Lean_MetavarContext_instantiateMVars(x_1, x_744);
+x_754 = lean_ctor_get(x_753, 0);
+lean_inc(x_754);
+lean_dec(x_753);
+lean_inc(x_1);
+x_755 = l_Lean_MetavarContext_instantiateMVars(x_1, x_745);
+x_756 = lean_ctor_get(x_755, 0);
+lean_inc(x_756);
+lean_dec(x_755);
+lean_inc(x_4);
+x_757 = l_Lean_ppExpr(x_4, x_754, x_9);
+if (x_752 == 0)
+{
+if (lean_obj_tag(x_757) == 0)
+{
+lean_object* x_758; lean_object* x_759; lean_object* x_760; lean_object* x_761;
+x_758 = lean_ctor_get(x_757, 0);
+lean_inc(x_758);
+x_759 = lean_ctor_get(x_757, 1);
+lean_inc(x_759);
+lean_dec(x_757);
+x_760 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_760, 0, x_750);
+lean_ctor_set(x_760, 1, x_749);
+lean_inc(x_4);
+x_761 = l_Lean_ppExpr(x_4, x_756, x_759);
+if (lean_obj_tag(x_761) == 0)
+{
+lean_object* x_762; lean_object* x_763; lean_object* x_764; lean_object* x_765; lean_object* x_766; lean_object* x_767; lean_object* x_768; lean_object* x_769; lean_object* x_770; lean_object* x_771; lean_object* x_772; lean_object* x_773; lean_object* x_774; uint8_t x_775; lean_object* x_776; lean_object* x_777; lean_object* x_778; lean_object* x_779; lean_object* x_780; lean_object* x_781;
+x_762 = lean_ctor_get(x_761, 0);
+lean_inc(x_762);
+x_763 = lean_ctor_get(x_761, 1);
+lean_inc(x_763);
+lean_dec(x_761);
+x_764 = l_System_FilePath_dirName___closed__1;
+x_765 = l_Lean_Name_toStringWithSep___main(x_764, x_746);
+x_766 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_766, 0, x_765);
+x_767 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6;
+x_768 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_768, 0, x_766);
+lean_ctor_set(x_768, 1, x_767);
+x_769 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_769, 0, x_768);
-x_770 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6;
+lean_ctor_set(x_769, 1, x_758);
+x_770 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8;
x_771 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_771, 0, x_769);
lean_ctor_set(x_771, 1, x_770);
x_772 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_772, 0, x_771);
-lean_ctor_set(x_772, 1, x_740);
-x_773 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8;
+lean_ctor_set(x_772, 0, x_749);
+lean_ctor_set(x_772, 1, x_762);
+lean_inc(x_2);
+x_773 = lean_alloc_ctor(3, 2, 0);
+lean_ctor_set(x_773, 0, x_2);
+lean_ctor_set(x_773, 1, x_772);
x_774 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_774, 0, x_772);
+lean_ctor_set(x_774, 0, x_771);
lean_ctor_set(x_774, 1, x_773);
-x_775 = lean_box(1);
-x_776 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_776, 0, x_775);
-lean_ctor_set(x_776, 1, x_765);
-x_777 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4;
-x_778 = lean_alloc_ctor(3, 2, 0);
-lean_ctor_set(x_778, 0, x_777);
-lean_ctor_set(x_778, 1, x_776);
-x_779 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_779, 0, x_774);
-lean_ctor_set(x_779, 1, x_778);
-x_780 = 0;
-x_781 = lean_alloc_ctor(5, 1, 1);
-lean_ctor_set(x_781, 0, x_779);
-lean_ctor_set_uint8(x_781, sizeof(void*)*1, x_780);
-x_782 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_782, 0, x_435);
-lean_ctor_set(x_782, 1, x_781);
-x_783 = lean_box(0);
-x_784 = lean_box(0);
-if (lean_is_scalar(x_436)) {
- x_785 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_785 = x_436;
+x_775 = 0;
+x_776 = lean_alloc_ctor(5, 1, 1);
+lean_ctor_set(x_776, 0, x_774);
+lean_ctor_set_uint8(x_776, sizeof(void*)*1, x_775);
+x_777 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_777, 0, x_760);
+lean_ctor_set(x_777, 1, x_776);
+x_778 = lean_box(0);
+x_779 = lean_box(0);
+x_780 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_780, 0, x_779);
+lean_ctor_set(x_780, 1, x_777);
+lean_ctor_set(x_8, 1, x_780);
+lean_ctor_set(x_8, 0, x_778);
+x_781 = lean_apply_2(x_751, x_8, x_763);
+x_16 = x_781;
+goto block_24;
}
-lean_ctor_set(x_785, 0, x_784);
-lean_ctor_set(x_785, 1, x_782);
-if (lean_is_scalar(x_433)) {
- x_786 = lean_alloc_ctor(0, 2, 0);
+else
+{
+lean_object* x_782; lean_object* x_783; lean_object* x_784; lean_object* x_785;
+lean_dec(x_760);
+lean_dec(x_758);
+lean_dec(x_746);
+lean_free_object(x_8);
+x_782 = lean_ctor_get(x_761, 0);
+lean_inc(x_782);
+x_783 = lean_ctor_get(x_761, 1);
+lean_inc(x_783);
+if (lean_is_exclusive(x_761)) {
+ lean_ctor_release(x_761, 0);
+ lean_ctor_release(x_761, 1);
+ x_784 = x_761;
} else {
- x_786 = x_433;
+ lean_dec_ref(x_761);
+ x_784 = lean_box(0);
}
-lean_ctor_set(x_786, 0, x_783);
-lean_ctor_set(x_786, 1, x_785);
-x_787 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_787, 0, x_786);
-lean_ctor_set(x_787, 1, x_766);
-x_15 = x_787;
-goto block_23;
+if (lean_is_scalar(x_784)) {
+ x_785 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_785 = x_784;
+}
+lean_ctor_set(x_785, 0, x_782);
+lean_ctor_set(x_785, 1, x_783);
+x_16 = x_785;
+goto block_24;
}
}
else
{
-uint8_t x_788;
-lean_dec(x_740);
-lean_dec(x_440);
-lean_dec(x_436);
-lean_dec(x_435);
-lean_dec(x_433);
-x_788 = !lean_is_exclusive(x_742);
-if (x_788 == 0)
-{
-x_15 = x_742;
-goto block_23;
+lean_object* x_786; lean_object* x_787; lean_object* x_788; lean_object* x_789;
+lean_dec(x_756);
+lean_dec(x_750);
+lean_dec(x_746);
+lean_free_object(x_8);
+x_786 = lean_ctor_get(x_757, 0);
+lean_inc(x_786);
+x_787 = lean_ctor_get(x_757, 1);
+lean_inc(x_787);
+if (lean_is_exclusive(x_757)) {
+ lean_ctor_release(x_757, 0);
+ lean_ctor_release(x_757, 1);
+ x_788 = x_757;
+} else {
+ lean_dec_ref(x_757);
+ x_788 = lean_box(0);
+}
+if (lean_is_scalar(x_788)) {
+ x_789 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_789 = x_788;
+}
+lean_ctor_set(x_789, 0, x_786);
+lean_ctor_set(x_789, 1, x_787);
+x_16 = x_789;
+goto block_24;
+}
}
else
{
-lean_object* x_789; lean_object* x_790; lean_object* x_791;
-x_789 = lean_ctor_get(x_742, 0);
-x_790 = lean_ctor_get(x_742, 1);
+if (lean_obj_tag(x_757) == 0)
+{
+lean_object* x_790; lean_object* x_791; lean_object* x_792;
+x_790 = lean_ctor_get(x_757, 0);
lean_inc(x_790);
-lean_inc(x_789);
-lean_dec(x_742);
-x_791 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_791, 0, x_789);
-lean_ctor_set(x_791, 1, x_790);
-x_15 = x_791;
-goto block_23;
-}
-}
-}
-else
+x_791 = lean_ctor_get(x_757, 1);
+lean_inc(x_791);
+lean_dec(x_757);
+lean_inc(x_4);
+x_792 = l_Lean_ppExpr(x_4, x_756, x_791);
+if (lean_obj_tag(x_792) == 0)
{
-uint8_t x_792;
-lean_dec(x_738);
-lean_dec(x_440);
-lean_dec(x_436);
-lean_dec(x_435);
-lean_dec(x_433);
-x_792 = !lean_is_exclusive(x_739);
-if (x_792 == 0)
-{
-x_15 = x_739;
-goto block_23;
-}
-else
-{
-lean_object* x_793; lean_object* x_794; lean_object* x_795;
-x_793 = lean_ctor_get(x_739, 0);
-x_794 = lean_ctor_get(x_739, 1);
-lean_inc(x_794);
+lean_object* x_793; lean_object* x_794; lean_object* x_795; lean_object* x_796; lean_object* x_797; lean_object* x_798; lean_object* x_799; lean_object* x_800; lean_object* x_801; lean_object* x_802; lean_object* x_803; lean_object* x_804; lean_object* x_805; uint8_t x_806; lean_object* x_807; lean_object* x_808; lean_object* x_809; lean_object* x_810; lean_object* x_811; lean_object* x_812;
+x_793 = lean_ctor_get(x_792, 0);
lean_inc(x_793);
-lean_dec(x_739);
-x_795 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_795, 0, x_793);
-lean_ctor_set(x_795, 1, x_794);
-x_15 = x_795;
-goto block_23;
-}
-}
-}
-else
-{
-lean_object* x_796; lean_object* x_797;
-x_796 = lean_ctor_get(x_434, 0);
-lean_inc(x_796);
-lean_dec(x_434);
-lean_inc(x_3);
-x_797 = l_Lean_ppExpr(x_3, x_796, x_8);
-if (lean_obj_tag(x_797) == 0)
-{
-lean_object* x_798; lean_object* x_799; lean_object* x_800; lean_object* x_801; lean_object* x_802; lean_object* x_803; lean_object* x_804; lean_object* x_805; lean_object* x_806; lean_object* x_807; lean_object* x_808; lean_object* x_809; uint8_t x_810; lean_object* x_811; lean_object* x_812; uint8_t x_813; lean_object* x_814; lean_object* x_815; lean_object* x_816; lean_object* x_817; lean_object* x_818; lean_object* x_819; lean_object* x_820; lean_object* x_866;
-x_798 = lean_ctor_get(x_797, 0);
-lean_inc(x_798);
-x_799 = lean_ctor_get(x_797, 1);
-lean_inc(x_799);
-lean_dec(x_797);
-x_800 = l_List_reverse___rarg(x_432);
-x_801 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1;
-x_802 = l_Lean_Format_joinSep___main___at_Lean_ppGoal___spec__1(x_800, x_801);
-x_803 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__3;
-x_804 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_804, 0, x_802);
+x_794 = lean_ctor_get(x_792, 1);
+lean_inc(x_794);
+lean_dec(x_792);
+x_795 = l_System_FilePath_dirName___closed__1;
+x_796 = l_Lean_Name_toStringWithSep___main(x_795, x_746);
+x_797 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_797, 0, x_796);
+x_798 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6;
+x_799 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_799, 0, x_797);
+lean_ctor_set(x_799, 1, x_798);
+x_800 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_800, 0, x_799);
+lean_ctor_set(x_800, 1, x_790);
+x_801 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8;
+x_802 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_802, 0, x_800);
+lean_ctor_set(x_802, 1, x_801);
+x_803 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_803, 0, x_749);
+lean_ctor_set(x_803, 1, x_793);
+lean_inc(x_2);
+x_804 = lean_alloc_ctor(3, 2, 0);
+lean_ctor_set(x_804, 0, x_2);
lean_ctor_set(x_804, 1, x_803);
-x_805 = lean_box(1);
-x_806 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_806, 0, x_805);
-lean_ctor_set(x_806, 1, x_798);
-x_807 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4;
-x_808 = lean_alloc_ctor(3, 2, 0);
-lean_ctor_set(x_808, 0, x_807);
-lean_ctor_set(x_808, 1, x_806);
-x_809 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_809, 0, x_804);
-lean_ctor_set(x_809, 1, x_808);
-x_810 = 0;
-x_811 = lean_alloc_ctor(5, 1, 1);
-lean_ctor_set(x_811, 0, x_809);
-lean_ctor_set_uint8(x_811, sizeof(void*)*1, x_810);
-x_812 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_812, 0, x_435);
-lean_ctor_set(x_812, 1, x_811);
-x_813 = l_Lean_Format_isNil(x_812);
-lean_inc(x_1);
-x_814 = l_Lean_MetavarContext_instantiateMVars(x_1, x_438);
-x_815 = lean_ctor_get(x_814, 0);
-lean_inc(x_815);
-lean_dec(x_814);
-lean_inc(x_1);
-x_816 = l_Lean_MetavarContext_instantiateMVars(x_1, x_439);
-x_817 = lean_ctor_get(x_816, 0);
+x_805 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_805, 0, x_802);
+lean_ctor_set(x_805, 1, x_804);
+x_806 = 0;
+x_807 = lean_alloc_ctor(5, 1, 1);
+lean_ctor_set(x_807, 0, x_805);
+lean_ctor_set_uint8(x_807, sizeof(void*)*1, x_806);
+x_808 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_808, 0, x_750);
+lean_ctor_set(x_808, 1, x_807);
+x_809 = lean_box(0);
+x_810 = lean_box(0);
+x_811 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_811, 0, x_810);
+lean_ctor_set(x_811, 1, x_808);
+lean_ctor_set(x_8, 1, x_811);
+lean_ctor_set(x_8, 0, x_809);
+x_812 = lean_apply_2(x_751, x_8, x_794);
+x_16 = x_812;
+goto block_24;
+}
+else
+{
+lean_object* x_813; lean_object* x_814; lean_object* x_815; lean_object* x_816;
+lean_dec(x_790);
+lean_dec(x_750);
+lean_dec(x_746);
+lean_free_object(x_8);
+x_813 = lean_ctor_get(x_792, 0);
+lean_inc(x_813);
+x_814 = lean_ctor_get(x_792, 1);
+lean_inc(x_814);
+if (lean_is_exclusive(x_792)) {
+ lean_ctor_release(x_792, 0);
+ lean_ctor_release(x_792, 1);
+ x_815 = x_792;
+} else {
+ lean_dec_ref(x_792);
+ x_815 = lean_box(0);
+}
+if (lean_is_scalar(x_815)) {
+ x_816 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_816 = x_815;
+}
+lean_ctor_set(x_816, 0, x_813);
+lean_ctor_set(x_816, 1, x_814);
+x_16 = x_816;
+goto block_24;
+}
+}
+else
+{
+lean_object* x_817; lean_object* x_818; lean_object* x_819; lean_object* x_820;
+lean_dec(x_756);
+lean_dec(x_750);
+lean_dec(x_746);
+lean_free_object(x_8);
+x_817 = lean_ctor_get(x_757, 0);
lean_inc(x_817);
-lean_dec(x_816);
-lean_inc(x_3);
-x_866 = l_Lean_ppExpr(x_3, x_815, x_799);
-if (x_813 == 0)
-{
-if (lean_obj_tag(x_866) == 0)
-{
-lean_object* x_867; lean_object* x_868; lean_object* x_869;
-x_867 = lean_ctor_get(x_866, 0);
-lean_inc(x_867);
-x_868 = lean_ctor_get(x_866, 1);
-lean_inc(x_868);
-lean_dec(x_866);
-x_869 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_869, 0, x_812);
-lean_ctor_set(x_869, 1, x_805);
-x_818 = x_869;
-x_819 = x_867;
-x_820 = x_868;
-goto block_865;
+x_818 = lean_ctor_get(x_757, 1);
+lean_inc(x_818);
+if (lean_is_exclusive(x_757)) {
+ lean_ctor_release(x_757, 0);
+ lean_ctor_release(x_757, 1);
+ x_819 = x_757;
+} else {
+ lean_dec_ref(x_757);
+ x_819 = lean_box(0);
}
-else
-{
-uint8_t x_870;
-lean_dec(x_817);
-lean_dec(x_812);
-lean_dec(x_440);
-lean_dec(x_436);
-lean_dec(x_433);
-x_870 = !lean_is_exclusive(x_866);
-if (x_870 == 0)
-{
-x_15 = x_866;
-goto block_23;
+if (lean_is_scalar(x_819)) {
+ x_820 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_820 = x_819;
}
-else
-{
-lean_object* x_871; lean_object* x_872; lean_object* x_873;
-x_871 = lean_ctor_get(x_866, 0);
-x_872 = lean_ctor_get(x_866, 1);
-lean_inc(x_872);
-lean_inc(x_871);
-lean_dec(x_866);
-x_873 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_873, 0, x_871);
-lean_ctor_set(x_873, 1, x_872);
-x_15 = x_873;
-goto block_23;
+lean_ctor_set(x_820, 0, x_817);
+lean_ctor_set(x_820, 1, x_818);
+x_16 = x_820;
+goto block_24;
}
}
}
else
{
-if (lean_obj_tag(x_866) == 0)
+if (lean_obj_tag(x_741) == 0)
{
-lean_object* x_874; lean_object* x_875;
-x_874 = lean_ctor_get(x_866, 0);
-lean_inc(x_874);
-x_875 = lean_ctor_get(x_866, 1);
-lean_inc(x_875);
-lean_dec(x_866);
-x_818 = x_812;
-x_819 = x_874;
-x_820 = x_875;
-goto block_865;
-}
-else
-{
-uint8_t x_876;
-lean_dec(x_817);
-lean_dec(x_812);
-lean_dec(x_440);
-lean_dec(x_436);
-lean_dec(x_433);
-x_876 = !lean_is_exclusive(x_866);
-if (x_876 == 0)
-{
-x_15 = x_866;
-goto block_23;
-}
-else
-{
-lean_object* x_877; lean_object* x_878; lean_object* x_879;
-x_877 = lean_ctor_get(x_866, 0);
-x_878 = lean_ctor_get(x_866, 1);
-lean_inc(x_878);
-lean_inc(x_877);
-lean_dec(x_866);
-x_879 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_879, 0, x_877);
-lean_ctor_set(x_879, 1, x_878);
-x_15 = x_879;
-goto block_23;
-}
-}
-}
-block_865:
-{
-lean_object* x_821;
-lean_inc(x_3);
-x_821 = l_Lean_ppExpr(x_3, x_817, x_820);
-if (lean_obj_tag(x_821) == 0)
-{
-uint8_t x_822;
-x_822 = !lean_is_exclusive(x_821);
+lean_object* x_821; uint8_t x_822; lean_object* x_823; lean_object* x_824; lean_object* x_825; lean_object* x_826; lean_object* x_827;
+lean_dec(x_277);
+x_821 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4;
+x_822 = l_Lean_Format_isNil(x_750);
+lean_inc(x_1);
+x_823 = l_Lean_MetavarContext_instantiateMVars(x_1, x_744);
+x_824 = lean_ctor_get(x_823, 0);
+lean_inc(x_824);
+lean_dec(x_823);
+lean_inc(x_1);
+x_825 = l_Lean_MetavarContext_instantiateMVars(x_1, x_745);
+x_826 = lean_ctor_get(x_825, 0);
+lean_inc(x_826);
+lean_dec(x_825);
+lean_inc(x_4);
+x_827 = l_Lean_ppExpr(x_4, x_824, x_9);
if (x_822 == 0)
{
-lean_object* x_823; lean_object* x_824; lean_object* x_825; lean_object* x_826; lean_object* x_827; lean_object* x_828; lean_object* x_829; lean_object* x_830; lean_object* x_831; lean_object* x_832; lean_object* x_833; lean_object* x_834; lean_object* x_835; lean_object* x_836; lean_object* x_837; lean_object* x_838; lean_object* x_839; lean_object* x_840;
-x_823 = lean_ctor_get(x_821, 0);
-x_824 = l_System_FilePath_dirName___closed__1;
-x_825 = l_Lean_Name_toStringWithSep___main(x_824, x_440);
-x_826 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_826, 0, x_825);
-x_827 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6;
-x_828 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_828, 0, x_826);
-lean_ctor_set(x_828, 1, x_827);
-x_829 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_829, 0, x_828);
-lean_ctor_set(x_829, 1, x_819);
-x_830 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8;
-x_831 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_831, 0, x_829);
-lean_ctor_set(x_831, 1, x_830);
-x_832 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_832, 0, x_805);
-lean_ctor_set(x_832, 1, x_823);
-x_833 = lean_alloc_ctor(3, 2, 0);
-lean_ctor_set(x_833, 0, x_807);
-lean_ctor_set(x_833, 1, x_832);
-x_834 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_834, 0, x_831);
-lean_ctor_set(x_834, 1, x_833);
-x_835 = lean_alloc_ctor(5, 1, 1);
-lean_ctor_set(x_835, 0, x_834);
-lean_ctor_set_uint8(x_835, sizeof(void*)*1, x_810);
-x_836 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_836, 0, x_818);
-lean_ctor_set(x_836, 1, x_835);
-x_837 = lean_box(0);
-x_838 = lean_box(0);
-if (lean_is_scalar(x_436)) {
- x_839 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_839 = x_436;
-}
+if (lean_obj_tag(x_827) == 0)
+{
+lean_object* x_828; lean_object* x_829; lean_object* x_830; lean_object* x_831;
+x_828 = lean_ctor_get(x_827, 0);
+lean_inc(x_828);
+x_829 = lean_ctor_get(x_827, 1);
+lean_inc(x_829);
+lean_dec(x_827);
+x_830 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_830, 0, x_750);
+lean_ctor_set(x_830, 1, x_749);
+lean_inc(x_4);
+x_831 = l_Lean_ppExpr(x_4, x_826, x_829);
+if (lean_obj_tag(x_831) == 0)
+{
+lean_object* x_832; lean_object* x_833; lean_object* x_834; lean_object* x_835; lean_object* x_836; lean_object* x_837; lean_object* x_838; lean_object* x_839; lean_object* x_840; lean_object* x_841; lean_object* x_842; lean_object* x_843; lean_object* x_844; uint8_t x_845; lean_object* x_846; lean_object* x_847; lean_object* x_848; lean_object* x_849; lean_object* x_850; lean_object* x_851;
+x_832 = lean_ctor_get(x_831, 0);
+lean_inc(x_832);
+x_833 = lean_ctor_get(x_831, 1);
+lean_inc(x_833);
+lean_dec(x_831);
+x_834 = l_System_FilePath_dirName___closed__1;
+x_835 = l_Lean_Name_toStringWithSep___main(x_834, x_746);
+x_836 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_836, 0, x_835);
+x_837 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6;
+x_838 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_838, 0, x_836);
+lean_ctor_set(x_838, 1, x_837);
+x_839 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_839, 0, x_838);
-lean_ctor_set(x_839, 1, x_836);
-if (lean_is_scalar(x_433)) {
- x_840 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_840 = x_433;
-}
-lean_ctor_set(x_840, 0, x_837);
-lean_ctor_set(x_840, 1, x_839);
-lean_ctor_set(x_821, 0, x_840);
-x_15 = x_821;
-goto block_23;
+lean_ctor_set(x_839, 1, x_828);
+x_840 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8;
+x_841 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_841, 0, x_839);
+lean_ctor_set(x_841, 1, x_840);
+x_842 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_842, 0, x_749);
+lean_ctor_set(x_842, 1, x_832);
+lean_inc(x_2);
+x_843 = lean_alloc_ctor(3, 2, 0);
+lean_ctor_set(x_843, 0, x_2);
+lean_ctor_set(x_843, 1, x_842);
+x_844 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_844, 0, x_841);
+lean_ctor_set(x_844, 1, x_843);
+x_845 = 0;
+x_846 = lean_alloc_ctor(5, 1, 1);
+lean_ctor_set(x_846, 0, x_844);
+lean_ctor_set_uint8(x_846, sizeof(void*)*1, x_845);
+x_847 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_847, 0, x_830);
+lean_ctor_set(x_847, 1, x_846);
+x_848 = lean_box(0);
+x_849 = lean_box(0);
+x_850 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_850, 0, x_849);
+lean_ctor_set(x_850, 1, x_847);
+lean_ctor_set(x_8, 1, x_850);
+lean_ctor_set(x_8, 0, x_848);
+x_851 = lean_apply_2(x_821, x_8, x_833);
+x_16 = x_851;
+goto block_24;
}
else
{
-lean_object* x_841; lean_object* x_842; lean_object* x_843; lean_object* x_844; lean_object* x_845; lean_object* x_846; lean_object* x_847; lean_object* x_848; lean_object* x_849; lean_object* x_850; lean_object* x_851; lean_object* x_852; lean_object* x_853; lean_object* x_854; lean_object* x_855; lean_object* x_856; lean_object* x_857; lean_object* x_858; lean_object* x_859; lean_object* x_860;
-x_841 = lean_ctor_get(x_821, 0);
-x_842 = lean_ctor_get(x_821, 1);
-lean_inc(x_842);
-lean_inc(x_841);
-lean_dec(x_821);
-x_843 = l_System_FilePath_dirName___closed__1;
-x_844 = l_Lean_Name_toStringWithSep___main(x_843, x_440);
-x_845 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_845, 0, x_844);
-x_846 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6;
-x_847 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_847, 0, x_845);
-lean_ctor_set(x_847, 1, x_846);
-x_848 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_848, 0, x_847);
-lean_ctor_set(x_848, 1, x_819);
-x_849 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8;
-x_850 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_850, 0, x_848);
-lean_ctor_set(x_850, 1, x_849);
-x_851 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_851, 0, x_805);
-lean_ctor_set(x_851, 1, x_841);
-x_852 = lean_alloc_ctor(3, 2, 0);
-lean_ctor_set(x_852, 0, x_807);
-lean_ctor_set(x_852, 1, x_851);
-x_853 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_853, 0, x_850);
-lean_ctor_set(x_853, 1, x_852);
-x_854 = lean_alloc_ctor(5, 1, 1);
-lean_ctor_set(x_854, 0, x_853);
-lean_ctor_set_uint8(x_854, sizeof(void*)*1, x_810);
-x_855 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_855, 0, x_818);
-lean_ctor_set(x_855, 1, x_854);
-x_856 = lean_box(0);
-x_857 = lean_box(0);
-if (lean_is_scalar(x_436)) {
- x_858 = lean_alloc_ctor(0, 2, 0);
+lean_object* x_852; lean_object* x_853; lean_object* x_854; lean_object* x_855;
+lean_dec(x_830);
+lean_dec(x_828);
+lean_dec(x_746);
+lean_free_object(x_8);
+x_852 = lean_ctor_get(x_831, 0);
+lean_inc(x_852);
+x_853 = lean_ctor_get(x_831, 1);
+lean_inc(x_853);
+if (lean_is_exclusive(x_831)) {
+ lean_ctor_release(x_831, 0);
+ lean_ctor_release(x_831, 1);
+ x_854 = x_831;
} else {
- x_858 = x_436;
+ lean_dec_ref(x_831);
+ x_854 = lean_box(0);
}
-lean_ctor_set(x_858, 0, x_857);
-lean_ctor_set(x_858, 1, x_855);
-if (lean_is_scalar(x_433)) {
- x_859 = lean_alloc_ctor(0, 2, 0);
+if (lean_is_scalar(x_854)) {
+ x_855 = lean_alloc_ctor(1, 2, 0);
} else {
- x_859 = x_433;
+ x_855 = x_854;
+}
+lean_ctor_set(x_855, 0, x_852);
+lean_ctor_set(x_855, 1, x_853);
+x_16 = x_855;
+goto block_24;
+}
+}
+else
+{
+lean_object* x_856; lean_object* x_857; lean_object* x_858; lean_object* x_859;
+lean_dec(x_826);
+lean_dec(x_750);
+lean_dec(x_746);
+lean_free_object(x_8);
+x_856 = lean_ctor_get(x_827, 0);
+lean_inc(x_856);
+x_857 = lean_ctor_get(x_827, 1);
+lean_inc(x_857);
+if (lean_is_exclusive(x_827)) {
+ lean_ctor_release(x_827, 0);
+ lean_ctor_release(x_827, 1);
+ x_858 = x_827;
+} else {
+ lean_dec_ref(x_827);
+ x_858 = lean_box(0);
+}
+if (lean_is_scalar(x_858)) {
+ x_859 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_859 = x_858;
}
lean_ctor_set(x_859, 0, x_856);
-lean_ctor_set(x_859, 1, x_858);
-x_860 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_860, 0, x_859);
-lean_ctor_set(x_860, 1, x_842);
-x_15 = x_860;
-goto block_23;
+lean_ctor_set(x_859, 1, x_857);
+x_16 = x_859;
+goto block_24;
}
}
else
{
-uint8_t x_861;
-lean_dec(x_819);
-lean_dec(x_818);
-lean_dec(x_440);
-lean_dec(x_436);
-lean_dec(x_433);
-x_861 = !lean_is_exclusive(x_821);
-if (x_861 == 0)
+if (lean_obj_tag(x_827) == 0)
{
-x_15 = x_821;
-goto block_23;
-}
-else
+lean_object* x_860; lean_object* x_861; lean_object* x_862;
+x_860 = lean_ctor_get(x_827, 0);
+lean_inc(x_860);
+x_861 = lean_ctor_get(x_827, 1);
+lean_inc(x_861);
+lean_dec(x_827);
+lean_inc(x_4);
+x_862 = l_Lean_ppExpr(x_4, x_826, x_861);
+if (lean_obj_tag(x_862) == 0)
{
-lean_object* x_862; lean_object* x_863; lean_object* x_864;
-x_862 = lean_ctor_get(x_821, 0);
-x_863 = lean_ctor_get(x_821, 1);
+lean_object* x_863; lean_object* x_864; lean_object* x_865; lean_object* x_866; lean_object* x_867; lean_object* x_868; lean_object* x_869; lean_object* x_870; lean_object* x_871; lean_object* x_872; lean_object* x_873; lean_object* x_874; lean_object* x_875; uint8_t x_876; lean_object* x_877; lean_object* x_878; lean_object* x_879; lean_object* x_880; lean_object* x_881; lean_object* x_882;
+x_863 = lean_ctor_get(x_862, 0);
lean_inc(x_863);
-lean_inc(x_862);
-lean_dec(x_821);
-x_864 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_864, 0, x_862);
-lean_ctor_set(x_864, 1, x_863);
-x_15 = x_864;
-goto block_23;
+x_864 = lean_ctor_get(x_862, 1);
+lean_inc(x_864);
+lean_dec(x_862);
+x_865 = l_System_FilePath_dirName___closed__1;
+x_866 = l_Lean_Name_toStringWithSep___main(x_865, x_746);
+x_867 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_867, 0, x_866);
+x_868 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6;
+x_869 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_869, 0, x_867);
+lean_ctor_set(x_869, 1, x_868);
+x_870 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_870, 0, x_869);
+lean_ctor_set(x_870, 1, x_860);
+x_871 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8;
+x_872 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_872, 0, x_870);
+lean_ctor_set(x_872, 1, x_871);
+x_873 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_873, 0, x_749);
+lean_ctor_set(x_873, 1, x_863);
+lean_inc(x_2);
+x_874 = lean_alloc_ctor(3, 2, 0);
+lean_ctor_set(x_874, 0, x_2);
+lean_ctor_set(x_874, 1, x_873);
+x_875 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_875, 0, x_872);
+lean_ctor_set(x_875, 1, x_874);
+x_876 = 0;
+x_877 = lean_alloc_ctor(5, 1, 1);
+lean_ctor_set(x_877, 0, x_875);
+lean_ctor_set_uint8(x_877, sizeof(void*)*1, x_876);
+x_878 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_878, 0, x_750);
+lean_ctor_set(x_878, 1, x_877);
+x_879 = lean_box(0);
+x_880 = lean_box(0);
+x_881 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_881, 0, x_880);
+lean_ctor_set(x_881, 1, x_878);
+lean_ctor_set(x_8, 1, x_881);
+lean_ctor_set(x_8, 0, x_879);
+x_882 = lean_apply_2(x_821, x_8, x_864);
+x_16 = x_882;
+goto block_24;
}
+else
+{
+lean_object* x_883; lean_object* x_884; lean_object* x_885; lean_object* x_886;
+lean_dec(x_860);
+lean_dec(x_750);
+lean_dec(x_746);
+lean_free_object(x_8);
+x_883 = lean_ctor_get(x_862, 0);
+lean_inc(x_883);
+x_884 = lean_ctor_get(x_862, 1);
+lean_inc(x_884);
+if (lean_is_exclusive(x_862)) {
+ lean_ctor_release(x_862, 0);
+ lean_ctor_release(x_862, 1);
+ x_885 = x_862;
+} else {
+ lean_dec_ref(x_862);
+ x_885 = lean_box(0);
}
+if (lean_is_scalar(x_885)) {
+ x_886 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_886 = x_885;
+}
+lean_ctor_set(x_886, 0, x_883);
+lean_ctor_set(x_886, 1, x_884);
+x_16 = x_886;
+goto block_24;
}
}
else
{
-uint8_t x_880;
-lean_dec(x_440);
-lean_dec(x_439);
-lean_dec(x_438);
-lean_dec(x_436);
-lean_dec(x_435);
-lean_dec(x_433);
-lean_dec(x_432);
-x_880 = !lean_is_exclusive(x_797);
-if (x_880 == 0)
-{
-x_15 = x_797;
-goto block_23;
-}
-else
-{
-lean_object* x_881; lean_object* x_882; lean_object* x_883;
-x_881 = lean_ctor_get(x_797, 0);
-x_882 = lean_ctor_get(x_797, 1);
-lean_inc(x_882);
-lean_inc(x_881);
-lean_dec(x_797);
-x_883 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_883, 0, x_881);
-lean_ctor_set(x_883, 1, x_882);
-x_15 = x_883;
-goto block_23;
-}
-}
-}
-}
-}
-}
-else
-{
-uint8_t x_884; lean_object* x_885; lean_object* x_886; lean_object* x_887; lean_object* x_888; lean_object* x_889; lean_object* x_890; lean_object* x_891; lean_object* x_943;
-lean_dec(x_434);
-lean_dec(x_432);
-x_884 = l_Lean_Format_isNil(x_435);
-lean_inc(x_1);
-x_885 = l_Lean_MetavarContext_instantiateMVars(x_1, x_438);
-x_886 = lean_ctor_get(x_885, 0);
-lean_inc(x_886);
-lean_dec(x_885);
-lean_inc(x_1);
-x_887 = l_Lean_MetavarContext_instantiateMVars(x_1, x_439);
-x_888 = lean_ctor_get(x_887, 0);
+lean_object* x_887; lean_object* x_888; lean_object* x_889; lean_object* x_890;
+lean_dec(x_826);
+lean_dec(x_750);
+lean_dec(x_746);
+lean_free_object(x_8);
+x_887 = lean_ctor_get(x_827, 0);
+lean_inc(x_887);
+x_888 = lean_ctor_get(x_827, 1);
lean_inc(x_888);
-lean_dec(x_887);
-lean_inc(x_3);
-x_943 = l_Lean_ppExpr(x_3, x_886, x_8);
-if (x_884 == 0)
-{
-if (lean_obj_tag(x_943) == 0)
-{
-lean_object* x_944; lean_object* x_945; lean_object* x_946; lean_object* x_947;
-x_944 = lean_ctor_get(x_943, 0);
-lean_inc(x_944);
-x_945 = lean_ctor_get(x_943, 1);
-lean_inc(x_945);
-lean_dec(x_943);
-x_946 = lean_box(1);
-x_947 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_947, 0, x_435);
-lean_ctor_set(x_947, 1, x_946);
-x_889 = x_947;
-x_890 = x_944;
-x_891 = x_945;
-goto block_942;
+if (lean_is_exclusive(x_827)) {
+ lean_ctor_release(x_827, 0);
+ lean_ctor_release(x_827, 1);
+ x_889 = x_827;
+} else {
+ lean_dec_ref(x_827);
+ x_889 = lean_box(0);
}
-else
-{
-uint8_t x_948;
-lean_dec(x_888);
-lean_dec(x_440);
-lean_dec(x_436);
-lean_dec(x_435);
-lean_dec(x_433);
-x_948 = !lean_is_exclusive(x_943);
-if (x_948 == 0)
-{
-x_15 = x_943;
-goto block_23;
+if (lean_is_scalar(x_889)) {
+ x_890 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_890 = x_889;
}
-else
-{
-lean_object* x_949; lean_object* x_950; lean_object* x_951;
-x_949 = lean_ctor_get(x_943, 0);
-x_950 = lean_ctor_get(x_943, 1);
-lean_inc(x_950);
-lean_inc(x_949);
-lean_dec(x_943);
-x_951 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_951, 0, x_949);
-lean_ctor_set(x_951, 1, x_950);
-x_15 = x_951;
-goto block_23;
+lean_ctor_set(x_890, 0, x_887);
+lean_ctor_set(x_890, 1, x_888);
+x_16 = x_890;
+goto block_24;
}
}
}
else
{
-if (lean_obj_tag(x_943) == 0)
-{
-lean_object* x_952; lean_object* x_953;
-x_952 = lean_ctor_get(x_943, 0);
-lean_inc(x_952);
-x_953 = lean_ctor_get(x_943, 1);
-lean_inc(x_953);
-lean_dec(x_943);
-x_889 = x_435;
-x_890 = x_952;
-x_891 = x_953;
-goto block_942;
-}
-else
-{
-uint8_t x_954;
-lean_dec(x_888);
-lean_dec(x_440);
-lean_dec(x_436);
-lean_dec(x_435);
-lean_dec(x_433);
-x_954 = !lean_is_exclusive(x_943);
-if (x_954 == 0)
-{
-x_15 = x_943;
-goto block_23;
-}
-else
-{
-lean_object* x_955; lean_object* x_956; lean_object* x_957;
-x_955 = lean_ctor_get(x_943, 0);
-x_956 = lean_ctor_get(x_943, 1);
-lean_inc(x_956);
-lean_inc(x_955);
-lean_dec(x_943);
-x_957 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_957, 0, x_955);
-lean_ctor_set(x_957, 1, x_956);
-x_15 = x_957;
-goto block_23;
-}
-}
-}
-block_942:
-{
-lean_object* x_892;
-lean_inc(x_3);
-x_892 = l_Lean_ppExpr(x_3, x_888, x_891);
+lean_object* x_891; lean_object* x_892;
+x_891 = lean_ctor_get(x_741, 0);
+lean_inc(x_891);
+lean_dec(x_741);
+lean_inc(x_4);
+x_892 = l_Lean_ppExpr(x_4, x_891, x_9);
if (lean_obj_tag(x_892) == 0)
{
-uint8_t x_893;
-x_893 = !lean_is_exclusive(x_892);
-if (x_893 == 0)
-{
-lean_object* x_894; lean_object* x_895; lean_object* x_896; lean_object* x_897; lean_object* x_898; lean_object* x_899; lean_object* x_900; lean_object* x_901; lean_object* x_902; lean_object* x_903; lean_object* x_904; lean_object* x_905; lean_object* x_906; lean_object* x_907; uint8_t x_908; lean_object* x_909; lean_object* x_910; lean_object* x_911; lean_object* x_912; lean_object* x_913; lean_object* x_914;
-x_894 = lean_ctor_get(x_892, 0);
-x_895 = l_System_FilePath_dirName___closed__1;
-x_896 = l_Lean_Name_toStringWithSep___main(x_895, x_440);
-x_897 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_897, 0, x_896);
-x_898 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6;
+lean_object* x_893; lean_object* x_894; lean_object* x_895; lean_object* x_896; lean_object* x_897; lean_object* x_898; lean_object* x_899; lean_object* x_900; lean_object* x_901; lean_object* x_902; uint8_t x_903; lean_object* x_904; lean_object* x_905; lean_object* x_906; uint8_t x_907; lean_object* x_908; lean_object* x_909; lean_object* x_910; lean_object* x_911; lean_object* x_912;
+x_893 = lean_ctor_get(x_892, 0);
+lean_inc(x_893);
+x_894 = lean_ctor_get(x_892, 1);
+lean_inc(x_894);
+lean_dec(x_892);
+x_895 = l_List_reverse___rarg(x_277);
+x_896 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1;
+x_897 = l_Lean_Format_joinSep___main___at_Lean_ppGoal___spec__1(x_895, x_896);
+x_898 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__3;
x_899 = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(x_899, 0, x_897);
lean_ctor_set(x_899, 1, x_898);
x_900 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_900, 0, x_899);
-lean_ctor_set(x_900, 1, x_890);
-x_901 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8;
+lean_ctor_set(x_900, 0, x_749);
+lean_ctor_set(x_900, 1, x_893);
+lean_inc(x_2);
+x_901 = lean_alloc_ctor(3, 2, 0);
+lean_ctor_set(x_901, 0, x_2);
+lean_ctor_set(x_901, 1, x_900);
x_902 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_902, 0, x_900);
+lean_ctor_set(x_902, 0, x_899);
lean_ctor_set(x_902, 1, x_901);
-x_903 = lean_box(1);
-x_904 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_904, 0, x_903);
-lean_ctor_set(x_904, 1, x_894);
-x_905 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4;
-x_906 = lean_alloc_ctor(3, 2, 0);
-lean_ctor_set(x_906, 0, x_905);
-lean_ctor_set(x_906, 1, x_904);
-x_907 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_907, 0, x_902);
-lean_ctor_set(x_907, 1, x_906);
-x_908 = 0;
-x_909 = lean_alloc_ctor(5, 1, 1);
-lean_ctor_set(x_909, 0, x_907);
-lean_ctor_set_uint8(x_909, sizeof(void*)*1, x_908);
-x_910 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_910, 0, x_889);
-lean_ctor_set(x_910, 1, x_909);
-x_911 = lean_box(0);
-x_912 = lean_box(0);
-if (lean_is_scalar(x_436)) {
- x_913 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_913 = x_436;
-}
-lean_ctor_set(x_913, 0, x_912);
-lean_ctor_set(x_913, 1, x_910);
-if (lean_is_scalar(x_433)) {
- x_914 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_914 = x_433;
-}
-lean_ctor_set(x_914, 0, x_911);
-lean_ctor_set(x_914, 1, x_913);
-lean_ctor_set(x_892, 0, x_914);
-x_15 = x_892;
-goto block_23;
-}
-else
+x_903 = 0;
+x_904 = lean_alloc_ctor(5, 1, 1);
+lean_ctor_set(x_904, 0, x_902);
+lean_ctor_set_uint8(x_904, sizeof(void*)*1, x_903);
+x_905 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_905, 0, x_750);
+lean_ctor_set(x_905, 1, x_904);
+x_906 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4;
+x_907 = l_Lean_Format_isNil(x_905);
+lean_inc(x_1);
+x_908 = l_Lean_MetavarContext_instantiateMVars(x_1, x_744);
+x_909 = lean_ctor_get(x_908, 0);
+lean_inc(x_909);
+lean_dec(x_908);
+lean_inc(x_1);
+x_910 = l_Lean_MetavarContext_instantiateMVars(x_1, x_745);
+x_911 = lean_ctor_get(x_910, 0);
+lean_inc(x_911);
+lean_dec(x_910);
+lean_inc(x_4);
+x_912 = l_Lean_ppExpr(x_4, x_909, x_894);
+if (x_907 == 0)
{
-lean_object* x_915; lean_object* x_916; lean_object* x_917; lean_object* x_918; lean_object* x_919; lean_object* x_920; lean_object* x_921; lean_object* x_922; lean_object* x_923; lean_object* x_924; lean_object* x_925; lean_object* x_926; lean_object* x_927; lean_object* x_928; lean_object* x_929; uint8_t x_930; lean_object* x_931; lean_object* x_932; lean_object* x_933; lean_object* x_934; lean_object* x_935; lean_object* x_936; lean_object* x_937;
-x_915 = lean_ctor_get(x_892, 0);
-x_916 = lean_ctor_get(x_892, 1);
-lean_inc(x_916);
-lean_inc(x_915);
-lean_dec(x_892);
-x_917 = l_System_FilePath_dirName___closed__1;
-x_918 = l_Lean_Name_toStringWithSep___main(x_917, x_440);
-x_919 = lean_alloc_ctor(2, 1, 0);
-lean_ctor_set(x_919, 0, x_918);
-x_920 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6;
-x_921 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_921, 0, x_919);
-lean_ctor_set(x_921, 1, x_920);
-x_922 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_922, 0, x_921);
-lean_ctor_set(x_922, 1, x_890);
-x_923 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8;
+if (lean_obj_tag(x_912) == 0)
+{
+lean_object* x_913; lean_object* x_914; lean_object* x_915; lean_object* x_916;
+x_913 = lean_ctor_get(x_912, 0);
+lean_inc(x_913);
+x_914 = lean_ctor_get(x_912, 1);
+lean_inc(x_914);
+lean_dec(x_912);
+x_915 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_915, 0, x_905);
+lean_ctor_set(x_915, 1, x_749);
+lean_inc(x_4);
+x_916 = l_Lean_ppExpr(x_4, x_911, x_914);
+if (lean_obj_tag(x_916) == 0)
+{
+lean_object* x_917; lean_object* x_918; lean_object* x_919; lean_object* x_920; lean_object* x_921; lean_object* x_922; lean_object* x_923; lean_object* x_924; lean_object* x_925; lean_object* x_926; lean_object* x_927; lean_object* x_928; lean_object* x_929; lean_object* x_930; lean_object* x_931; lean_object* x_932; lean_object* x_933; lean_object* x_934; lean_object* x_935;
+x_917 = lean_ctor_get(x_916, 0);
+lean_inc(x_917);
+x_918 = lean_ctor_get(x_916, 1);
+lean_inc(x_918);
+lean_dec(x_916);
+x_919 = l_System_FilePath_dirName___closed__1;
+x_920 = l_Lean_Name_toStringWithSep___main(x_919, x_746);
+x_921 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_921, 0, x_920);
+x_922 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6;
+x_923 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_923, 0, x_921);
+lean_ctor_set(x_923, 1, x_922);
x_924 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_924, 0, x_922);
-lean_ctor_set(x_924, 1, x_923);
-x_925 = lean_box(1);
+lean_ctor_set(x_924, 0, x_923);
+lean_ctor_set(x_924, 1, x_913);
+x_925 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8;
x_926 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_926, 0, x_925);
-lean_ctor_set(x_926, 1, x_915);
-x_927 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4;
+lean_ctor_set(x_926, 0, x_924);
+lean_ctor_set(x_926, 1, x_925);
+x_927 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_927, 0, x_749);
+lean_ctor_set(x_927, 1, x_917);
+lean_inc(x_2);
x_928 = lean_alloc_ctor(3, 2, 0);
-lean_ctor_set(x_928, 0, x_927);
-lean_ctor_set(x_928, 1, x_926);
+lean_ctor_set(x_928, 0, x_2);
+lean_ctor_set(x_928, 1, x_927);
x_929 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_929, 0, x_924);
+lean_ctor_set(x_929, 0, x_926);
lean_ctor_set(x_929, 1, x_928);
-x_930 = 0;
-x_931 = lean_alloc_ctor(5, 1, 1);
-lean_ctor_set(x_931, 0, x_929);
-lean_ctor_set_uint8(x_931, sizeof(void*)*1, x_930);
-x_932 = lean_alloc_ctor(4, 2, 0);
-lean_ctor_set(x_932, 0, x_889);
-lean_ctor_set(x_932, 1, x_931);
+x_930 = lean_alloc_ctor(5, 1, 1);
+lean_ctor_set(x_930, 0, x_929);
+lean_ctor_set_uint8(x_930, sizeof(void*)*1, x_903);
+x_931 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_931, 0, x_915);
+lean_ctor_set(x_931, 1, x_930);
+x_932 = lean_box(0);
x_933 = lean_box(0);
-x_934 = lean_box(0);
-if (lean_is_scalar(x_436)) {
- x_935 = lean_alloc_ctor(0, 2, 0);
-} else {
- x_935 = x_436;
+x_934 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_934, 0, x_933);
+lean_ctor_set(x_934, 1, x_931);
+lean_ctor_set(x_8, 1, x_934);
+lean_ctor_set(x_8, 0, x_932);
+x_935 = lean_apply_2(x_906, x_8, x_918);
+x_16 = x_935;
+goto block_24;
}
-lean_ctor_set(x_935, 0, x_934);
-lean_ctor_set(x_935, 1, x_932);
-if (lean_is_scalar(x_433)) {
- x_936 = lean_alloc_ctor(0, 2, 0);
+else
+{
+lean_object* x_936; lean_object* x_937; lean_object* x_938; lean_object* x_939;
+lean_dec(x_915);
+lean_dec(x_913);
+lean_dec(x_746);
+lean_free_object(x_8);
+x_936 = lean_ctor_get(x_916, 0);
+lean_inc(x_936);
+x_937 = lean_ctor_get(x_916, 1);
+lean_inc(x_937);
+if (lean_is_exclusive(x_916)) {
+ lean_ctor_release(x_916, 0);
+ lean_ctor_release(x_916, 1);
+ x_938 = x_916;
} else {
- x_936 = x_433;
+ lean_dec_ref(x_916);
+ x_938 = lean_box(0);
}
-lean_ctor_set(x_936, 0, x_933);
-lean_ctor_set(x_936, 1, x_935);
-x_937 = lean_alloc_ctor(0, 2, 0);
-lean_ctor_set(x_937, 0, x_936);
-lean_ctor_set(x_937, 1, x_916);
-x_15 = x_937;
-goto block_23;
+if (lean_is_scalar(x_938)) {
+ x_939 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_939 = x_938;
+}
+lean_ctor_set(x_939, 0, x_936);
+lean_ctor_set(x_939, 1, x_937);
+x_16 = x_939;
+goto block_24;
}
}
else
{
-uint8_t x_938;
-lean_dec(x_890);
-lean_dec(x_889);
-lean_dec(x_440);
-lean_dec(x_436);
-lean_dec(x_433);
-x_938 = !lean_is_exclusive(x_892);
-if (x_938 == 0)
-{
-x_15 = x_892;
-goto block_23;
-}
-else
-{
-lean_object* x_939; lean_object* x_940; lean_object* x_941;
-x_939 = lean_ctor_get(x_892, 0);
-x_940 = lean_ctor_get(x_892, 1);
+lean_object* x_940; lean_object* x_941; lean_object* x_942; lean_object* x_943;
+lean_dec(x_911);
+lean_dec(x_905);
+lean_dec(x_746);
+lean_free_object(x_8);
+x_940 = lean_ctor_get(x_912, 0);
lean_inc(x_940);
-lean_inc(x_939);
-lean_dec(x_892);
-x_941 = lean_alloc_ctor(1, 2, 0);
-lean_ctor_set(x_941, 0, x_939);
-lean_ctor_set(x_941, 1, x_940);
-x_15 = x_941;
-goto block_23;
+x_941 = lean_ctor_get(x_912, 1);
+lean_inc(x_941);
+if (lean_is_exclusive(x_912)) {
+ lean_ctor_release(x_912, 0);
+ lean_ctor_release(x_912, 1);
+ x_942 = x_912;
+} else {
+ lean_dec_ref(x_912);
+ x_942 = lean_box(0);
+}
+if (lean_is_scalar(x_942)) {
+ x_943 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_943 = x_942;
+}
+lean_ctor_set(x_943, 0, x_940);
+lean_ctor_set(x_943, 1, x_941);
+x_16 = x_943;
+goto block_24;
}
}
-}
-}
-}
-}
-}
-block_23:
+else
{
-if (lean_obj_tag(x_15) == 0)
+if (lean_obj_tag(x_912) == 0)
{
-lean_object* x_16; lean_object* x_17;
-x_16 = lean_ctor_get(x_15, 0);
-lean_inc(x_16);
-x_17 = lean_ctor_get(x_15, 1);
+lean_object* x_944; lean_object* x_945; lean_object* x_946;
+x_944 = lean_ctor_get(x_912, 0);
+lean_inc(x_944);
+x_945 = lean_ctor_get(x_912, 1);
+lean_inc(x_945);
+lean_dec(x_912);
+lean_inc(x_4);
+x_946 = l_Lean_ppExpr(x_4, x_911, x_945);
+if (lean_obj_tag(x_946) == 0)
+{
+lean_object* x_947; lean_object* x_948; lean_object* x_949; lean_object* x_950; lean_object* x_951; lean_object* x_952; lean_object* x_953; lean_object* x_954; lean_object* x_955; lean_object* x_956; lean_object* x_957; lean_object* x_958; lean_object* x_959; lean_object* x_960; lean_object* x_961; lean_object* x_962; lean_object* x_963; lean_object* x_964; lean_object* x_965;
+x_947 = lean_ctor_get(x_946, 0);
+lean_inc(x_947);
+x_948 = lean_ctor_get(x_946, 1);
+lean_inc(x_948);
+lean_dec(x_946);
+x_949 = l_System_FilePath_dirName___closed__1;
+x_950 = l_Lean_Name_toStringWithSep___main(x_949, x_746);
+x_951 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_951, 0, x_950);
+x_952 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6;
+x_953 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_953, 0, x_951);
+lean_ctor_set(x_953, 1, x_952);
+x_954 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_954, 0, x_953);
+lean_ctor_set(x_954, 1, x_944);
+x_955 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8;
+x_956 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_956, 0, x_954);
+lean_ctor_set(x_956, 1, x_955);
+x_957 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_957, 0, x_749);
+lean_ctor_set(x_957, 1, x_947);
+lean_inc(x_2);
+x_958 = lean_alloc_ctor(3, 2, 0);
+lean_ctor_set(x_958, 0, x_2);
+lean_ctor_set(x_958, 1, x_957);
+x_959 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_959, 0, x_956);
+lean_ctor_set(x_959, 1, x_958);
+x_960 = lean_alloc_ctor(5, 1, 1);
+lean_ctor_set(x_960, 0, x_959);
+lean_ctor_set_uint8(x_960, sizeof(void*)*1, x_903);
+x_961 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_961, 0, x_905);
+lean_ctor_set(x_961, 1, x_960);
+x_962 = lean_box(0);
+x_963 = lean_box(0);
+x_964 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_964, 0, x_963);
+lean_ctor_set(x_964, 1, x_961);
+lean_ctor_set(x_8, 1, x_964);
+lean_ctor_set(x_8, 0, x_962);
+x_965 = lean_apply_2(x_906, x_8, x_948);
+x_16 = x_965;
+goto block_24;
+}
+else
+{
+lean_object* x_966; lean_object* x_967; lean_object* x_968; lean_object* x_969;
+lean_dec(x_944);
+lean_dec(x_905);
+lean_dec(x_746);
+lean_free_object(x_8);
+x_966 = lean_ctor_get(x_946, 0);
+lean_inc(x_966);
+x_967 = lean_ctor_get(x_946, 1);
+lean_inc(x_967);
+if (lean_is_exclusive(x_946)) {
+ lean_ctor_release(x_946, 0);
+ lean_ctor_release(x_946, 1);
+ x_968 = x_946;
+} else {
+ lean_dec_ref(x_946);
+ x_968 = lean_box(0);
+}
+if (lean_is_scalar(x_968)) {
+ x_969 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_969 = x_968;
+}
+lean_ctor_set(x_969, 0, x_966);
+lean_ctor_set(x_969, 1, x_967);
+x_16 = x_969;
+goto block_24;
+}
+}
+else
+{
+lean_object* x_970; lean_object* x_971; lean_object* x_972; lean_object* x_973;
+lean_dec(x_911);
+lean_dec(x_905);
+lean_dec(x_746);
+lean_free_object(x_8);
+x_970 = lean_ctor_get(x_912, 0);
+lean_inc(x_970);
+x_971 = lean_ctor_get(x_912, 1);
+lean_inc(x_971);
+if (lean_is_exclusive(x_912)) {
+ lean_ctor_release(x_912, 0);
+ lean_ctor_release(x_912, 1);
+ x_972 = x_912;
+} else {
+ lean_dec_ref(x_912);
+ x_972 = lean_box(0);
+}
+if (lean_is_scalar(x_972)) {
+ x_973 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_973 = x_972;
+}
+lean_ctor_set(x_973, 0, x_970);
+lean_ctor_set(x_973, 1, x_971);
+x_16 = x_973;
+goto block_24;
+}
+}
+}
+else
+{
+lean_object* x_974; lean_object* x_975; lean_object* x_976; lean_object* x_977;
+lean_dec(x_750);
+lean_dec(x_746);
+lean_dec(x_745);
+lean_dec(x_744);
+lean_free_object(x_8);
+lean_dec(x_277);
+x_974 = lean_ctor_get(x_892, 0);
+lean_inc(x_974);
+x_975 = lean_ctor_get(x_892, 1);
+lean_inc(x_975);
+if (lean_is_exclusive(x_892)) {
+ lean_ctor_release(x_892, 0);
+ lean_ctor_release(x_892, 1);
+ x_976 = x_892;
+} else {
+ lean_dec_ref(x_892);
+ x_976 = lean_box(0);
+}
+if (lean_is_scalar(x_976)) {
+ x_977 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_977 = x_976;
+}
+lean_ctor_set(x_977, 0, x_974);
+lean_ctor_set(x_977, 1, x_975);
+x_16 = x_977;
+goto block_24;
+}
+}
+}
+}
+else
+{
+if (lean_obj_tag(x_277) == 0)
+{
+lean_object* x_978; lean_object* x_979; lean_object* x_980; lean_object* x_981; lean_object* x_982; lean_object* x_983;
+lean_dec(x_741);
+x_978 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4;
+lean_inc(x_1);
+x_979 = l_Lean_MetavarContext_instantiateMVars(x_1, x_744);
+x_980 = lean_ctor_get(x_979, 0);
+lean_inc(x_980);
+lean_dec(x_979);
+lean_inc(x_1);
+x_981 = l_Lean_MetavarContext_instantiateMVars(x_1, x_745);
+x_982 = lean_ctor_get(x_981, 0);
+lean_inc(x_982);
+lean_dec(x_981);
+lean_inc(x_4);
+x_983 = l_Lean_ppExpr(x_4, x_980, x_9);
+if (lean_obj_tag(x_983) == 0)
+{
+lean_object* x_984; lean_object* x_985; lean_object* x_986;
+x_984 = lean_ctor_get(x_983, 0);
+lean_inc(x_984);
+x_985 = lean_ctor_get(x_983, 1);
+lean_inc(x_985);
+lean_dec(x_983);
+lean_inc(x_4);
+x_986 = l_Lean_ppExpr(x_4, x_982, x_985);
+if (lean_obj_tag(x_986) == 0)
+{
+lean_object* x_987; lean_object* x_988; lean_object* x_989; lean_object* x_990; lean_object* x_991; lean_object* x_992; lean_object* x_993; lean_object* x_994; lean_object* x_995; lean_object* x_996; lean_object* x_997; lean_object* x_998; lean_object* x_999; lean_object* x_1000; uint8_t x_1001; lean_object* x_1002; lean_object* x_1003; lean_object* x_1004; lean_object* x_1005; lean_object* x_1006; lean_object* x_1007;
+x_987 = lean_ctor_get(x_986, 0);
+lean_inc(x_987);
+x_988 = lean_ctor_get(x_986, 1);
+lean_inc(x_988);
+lean_dec(x_986);
+x_989 = l_System_FilePath_dirName___closed__1;
+x_990 = l_Lean_Name_toStringWithSep___main(x_989, x_746);
+x_991 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_991, 0, x_990);
+x_992 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6;
+x_993 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_993, 0, x_991);
+lean_ctor_set(x_993, 1, x_992);
+x_994 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_994, 0, x_993);
+lean_ctor_set(x_994, 1, x_984);
+x_995 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8;
+x_996 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_996, 0, x_994);
+lean_ctor_set(x_996, 1, x_995);
+x_997 = lean_box(1);
+x_998 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_998, 0, x_997);
+lean_ctor_set(x_998, 1, x_987);
+lean_inc(x_2);
+x_999 = lean_alloc_ctor(3, 2, 0);
+lean_ctor_set(x_999, 0, x_2);
+lean_ctor_set(x_999, 1, x_998);
+x_1000 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1000, 0, x_996);
+lean_ctor_set(x_1000, 1, x_999);
+x_1001 = 0;
+x_1002 = lean_alloc_ctor(5, 1, 1);
+lean_ctor_set(x_1002, 0, x_1000);
+lean_ctor_set_uint8(x_1002, sizeof(void*)*1, x_1001);
+x_1003 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1003, 0, x_742);
+lean_ctor_set(x_1003, 1, x_1002);
+x_1004 = lean_box(0);
+x_1005 = lean_box(0);
+x_1006 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_1006, 0, x_1005);
+lean_ctor_set(x_1006, 1, x_1003);
+lean_ctor_set(x_8, 1, x_1006);
+lean_ctor_set(x_8, 0, x_1004);
+x_1007 = lean_apply_2(x_978, x_8, x_988);
+x_16 = x_1007;
+goto block_24;
+}
+else
+{
+lean_object* x_1008; lean_object* x_1009; lean_object* x_1010; lean_object* x_1011;
+lean_dec(x_984);
+lean_dec(x_746);
+lean_dec(x_742);
+lean_free_object(x_8);
+x_1008 = lean_ctor_get(x_986, 0);
+lean_inc(x_1008);
+x_1009 = lean_ctor_get(x_986, 1);
+lean_inc(x_1009);
+if (lean_is_exclusive(x_986)) {
+ lean_ctor_release(x_986, 0);
+ lean_ctor_release(x_986, 1);
+ x_1010 = x_986;
+} else {
+ lean_dec_ref(x_986);
+ x_1010 = lean_box(0);
+}
+if (lean_is_scalar(x_1010)) {
+ x_1011 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_1011 = x_1010;
+}
+lean_ctor_set(x_1011, 0, x_1008);
+lean_ctor_set(x_1011, 1, x_1009);
+x_16 = x_1011;
+goto block_24;
+}
+}
+else
+{
+lean_object* x_1012; lean_object* x_1013; lean_object* x_1014; lean_object* x_1015;
+lean_dec(x_982);
+lean_dec(x_746);
+lean_dec(x_742);
+lean_free_object(x_8);
+x_1012 = lean_ctor_get(x_983, 0);
+lean_inc(x_1012);
+x_1013 = lean_ctor_get(x_983, 1);
+lean_inc(x_1013);
+if (lean_is_exclusive(x_983)) {
+ lean_ctor_release(x_983, 0);
+ lean_ctor_release(x_983, 1);
+ x_1014 = x_983;
+} else {
+ lean_dec_ref(x_983);
+ x_1014 = lean_box(0);
+}
+if (lean_is_scalar(x_1014)) {
+ x_1015 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_1015 = x_1014;
+}
+lean_ctor_set(x_1015, 0, x_1012);
+lean_ctor_set(x_1015, 1, x_1013);
+x_16 = x_1015;
+goto block_24;
+}
+}
+else
+{
+if (lean_obj_tag(x_741) == 0)
+{
+lean_object* x_1016; lean_object* x_1017; lean_object* x_1018; lean_object* x_1019; lean_object* x_1020; lean_object* x_1021;
+lean_dec(x_277);
+x_1016 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4;
+lean_inc(x_1);
+x_1017 = l_Lean_MetavarContext_instantiateMVars(x_1, x_744);
+x_1018 = lean_ctor_get(x_1017, 0);
+lean_inc(x_1018);
+lean_dec(x_1017);
+lean_inc(x_1);
+x_1019 = l_Lean_MetavarContext_instantiateMVars(x_1, x_745);
+x_1020 = lean_ctor_get(x_1019, 0);
+lean_inc(x_1020);
+lean_dec(x_1019);
+lean_inc(x_4);
+x_1021 = l_Lean_ppExpr(x_4, x_1018, x_9);
+if (lean_obj_tag(x_1021) == 0)
+{
+lean_object* x_1022; lean_object* x_1023; lean_object* x_1024;
+x_1022 = lean_ctor_get(x_1021, 0);
+lean_inc(x_1022);
+x_1023 = lean_ctor_get(x_1021, 1);
+lean_inc(x_1023);
+lean_dec(x_1021);
+lean_inc(x_4);
+x_1024 = l_Lean_ppExpr(x_4, x_1020, x_1023);
+if (lean_obj_tag(x_1024) == 0)
+{
+lean_object* x_1025; lean_object* x_1026; lean_object* x_1027; lean_object* x_1028; lean_object* x_1029; lean_object* x_1030; lean_object* x_1031; lean_object* x_1032; lean_object* x_1033; lean_object* x_1034; lean_object* x_1035; lean_object* x_1036; lean_object* x_1037; lean_object* x_1038; uint8_t x_1039; lean_object* x_1040; lean_object* x_1041; lean_object* x_1042; lean_object* x_1043; lean_object* x_1044; lean_object* x_1045;
+x_1025 = lean_ctor_get(x_1024, 0);
+lean_inc(x_1025);
+x_1026 = lean_ctor_get(x_1024, 1);
+lean_inc(x_1026);
+lean_dec(x_1024);
+x_1027 = l_System_FilePath_dirName___closed__1;
+x_1028 = l_Lean_Name_toStringWithSep___main(x_1027, x_746);
+x_1029 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_1029, 0, x_1028);
+x_1030 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6;
+x_1031 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1031, 0, x_1029);
+lean_ctor_set(x_1031, 1, x_1030);
+x_1032 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1032, 0, x_1031);
+lean_ctor_set(x_1032, 1, x_1022);
+x_1033 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8;
+x_1034 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1034, 0, x_1032);
+lean_ctor_set(x_1034, 1, x_1033);
+x_1035 = lean_box(1);
+x_1036 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1036, 0, x_1035);
+lean_ctor_set(x_1036, 1, x_1025);
+lean_inc(x_2);
+x_1037 = lean_alloc_ctor(3, 2, 0);
+lean_ctor_set(x_1037, 0, x_2);
+lean_ctor_set(x_1037, 1, x_1036);
+x_1038 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1038, 0, x_1034);
+lean_ctor_set(x_1038, 1, x_1037);
+x_1039 = 0;
+x_1040 = lean_alloc_ctor(5, 1, 1);
+lean_ctor_set(x_1040, 0, x_1038);
+lean_ctor_set_uint8(x_1040, sizeof(void*)*1, x_1039);
+x_1041 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1041, 0, x_742);
+lean_ctor_set(x_1041, 1, x_1040);
+x_1042 = lean_box(0);
+x_1043 = lean_box(0);
+x_1044 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_1044, 0, x_1043);
+lean_ctor_set(x_1044, 1, x_1041);
+lean_ctor_set(x_8, 1, x_1044);
+lean_ctor_set(x_8, 0, x_1042);
+x_1045 = lean_apply_2(x_1016, x_8, x_1026);
+x_16 = x_1045;
+goto block_24;
+}
+else
+{
+lean_object* x_1046; lean_object* x_1047; lean_object* x_1048; lean_object* x_1049;
+lean_dec(x_1022);
+lean_dec(x_746);
+lean_dec(x_742);
+lean_free_object(x_8);
+x_1046 = lean_ctor_get(x_1024, 0);
+lean_inc(x_1046);
+x_1047 = lean_ctor_get(x_1024, 1);
+lean_inc(x_1047);
+if (lean_is_exclusive(x_1024)) {
+ lean_ctor_release(x_1024, 0);
+ lean_ctor_release(x_1024, 1);
+ x_1048 = x_1024;
+} else {
+ lean_dec_ref(x_1024);
+ x_1048 = lean_box(0);
+}
+if (lean_is_scalar(x_1048)) {
+ x_1049 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_1049 = x_1048;
+}
+lean_ctor_set(x_1049, 0, x_1046);
+lean_ctor_set(x_1049, 1, x_1047);
+x_16 = x_1049;
+goto block_24;
+}
+}
+else
+{
+lean_object* x_1050; lean_object* x_1051; lean_object* x_1052; lean_object* x_1053;
+lean_dec(x_1020);
+lean_dec(x_746);
+lean_dec(x_742);
+lean_free_object(x_8);
+x_1050 = lean_ctor_get(x_1021, 0);
+lean_inc(x_1050);
+x_1051 = lean_ctor_get(x_1021, 1);
+lean_inc(x_1051);
+if (lean_is_exclusive(x_1021)) {
+ lean_ctor_release(x_1021, 0);
+ lean_ctor_release(x_1021, 1);
+ x_1052 = x_1021;
+} else {
+ lean_dec_ref(x_1021);
+ x_1052 = lean_box(0);
+}
+if (lean_is_scalar(x_1052)) {
+ x_1053 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_1053 = x_1052;
+}
+lean_ctor_set(x_1053, 0, x_1050);
+lean_ctor_set(x_1053, 1, x_1051);
+x_16 = x_1053;
+goto block_24;
+}
+}
+else
+{
+lean_object* x_1054; lean_object* x_1055;
+x_1054 = lean_ctor_get(x_741, 0);
+lean_inc(x_1054);
+lean_dec(x_741);
+lean_inc(x_4);
+x_1055 = l_Lean_ppExpr(x_4, x_1054, x_9);
+if (lean_obj_tag(x_1055) == 0)
+{
+lean_object* x_1056; lean_object* x_1057; lean_object* x_1058; lean_object* x_1059; lean_object* x_1060; lean_object* x_1061; lean_object* x_1062; lean_object* x_1063; lean_object* x_1064; lean_object* x_1065; lean_object* x_1066; uint8_t x_1067; lean_object* x_1068; lean_object* x_1069; lean_object* x_1070; uint8_t x_1071; lean_object* x_1072; lean_object* x_1073; lean_object* x_1074; lean_object* x_1075; lean_object* x_1076;
+x_1056 = lean_ctor_get(x_1055, 0);
+lean_inc(x_1056);
+x_1057 = lean_ctor_get(x_1055, 1);
+lean_inc(x_1057);
+lean_dec(x_1055);
+x_1058 = l_List_reverse___rarg(x_277);
+x_1059 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1;
+x_1060 = l_Lean_Format_joinSep___main___at_Lean_ppGoal___spec__1(x_1058, x_1059);
+x_1061 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__3;
+x_1062 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1062, 0, x_1060);
+lean_ctor_set(x_1062, 1, x_1061);
+x_1063 = lean_box(1);
+x_1064 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1064, 0, x_1063);
+lean_ctor_set(x_1064, 1, x_1056);
+lean_inc(x_2);
+x_1065 = lean_alloc_ctor(3, 2, 0);
+lean_ctor_set(x_1065, 0, x_2);
+lean_ctor_set(x_1065, 1, x_1064);
+x_1066 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1066, 0, x_1062);
+lean_ctor_set(x_1066, 1, x_1065);
+x_1067 = 0;
+x_1068 = lean_alloc_ctor(5, 1, 1);
+lean_ctor_set(x_1068, 0, x_1066);
+lean_ctor_set_uint8(x_1068, sizeof(void*)*1, x_1067);
+x_1069 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1069, 0, x_742);
+lean_ctor_set(x_1069, 1, x_1068);
+x_1070 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4;
+x_1071 = l_Lean_Format_isNil(x_1069);
+lean_inc(x_1);
+x_1072 = l_Lean_MetavarContext_instantiateMVars(x_1, x_744);
+x_1073 = lean_ctor_get(x_1072, 0);
+lean_inc(x_1073);
+lean_dec(x_1072);
+lean_inc(x_1);
+x_1074 = l_Lean_MetavarContext_instantiateMVars(x_1, x_745);
+x_1075 = lean_ctor_get(x_1074, 0);
+lean_inc(x_1075);
+lean_dec(x_1074);
+lean_inc(x_4);
+x_1076 = l_Lean_ppExpr(x_4, x_1073, x_1057);
+if (x_1071 == 0)
+{
+if (lean_obj_tag(x_1076) == 0)
+{
+lean_object* x_1077; lean_object* x_1078; lean_object* x_1079; lean_object* x_1080;
+x_1077 = lean_ctor_get(x_1076, 0);
+lean_inc(x_1077);
+x_1078 = lean_ctor_get(x_1076, 1);
+lean_inc(x_1078);
+lean_dec(x_1076);
+x_1079 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1079, 0, x_1069);
+lean_ctor_set(x_1079, 1, x_1063);
+lean_inc(x_4);
+x_1080 = l_Lean_ppExpr(x_4, x_1075, x_1078);
+if (lean_obj_tag(x_1080) == 0)
+{
+lean_object* x_1081; lean_object* x_1082; lean_object* x_1083; lean_object* x_1084; lean_object* x_1085; lean_object* x_1086; lean_object* x_1087; lean_object* x_1088; lean_object* x_1089; lean_object* x_1090; lean_object* x_1091; lean_object* x_1092; lean_object* x_1093; lean_object* x_1094; lean_object* x_1095; lean_object* x_1096; lean_object* x_1097; lean_object* x_1098; lean_object* x_1099;
+x_1081 = lean_ctor_get(x_1080, 0);
+lean_inc(x_1081);
+x_1082 = lean_ctor_get(x_1080, 1);
+lean_inc(x_1082);
+lean_dec(x_1080);
+x_1083 = l_System_FilePath_dirName___closed__1;
+x_1084 = l_Lean_Name_toStringWithSep___main(x_1083, x_746);
+x_1085 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_1085, 0, x_1084);
+x_1086 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6;
+x_1087 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1087, 0, x_1085);
+lean_ctor_set(x_1087, 1, x_1086);
+x_1088 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1088, 0, x_1087);
+lean_ctor_set(x_1088, 1, x_1077);
+x_1089 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8;
+x_1090 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1090, 0, x_1088);
+lean_ctor_set(x_1090, 1, x_1089);
+x_1091 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1091, 0, x_1063);
+lean_ctor_set(x_1091, 1, x_1081);
+lean_inc(x_2);
+x_1092 = lean_alloc_ctor(3, 2, 0);
+lean_ctor_set(x_1092, 0, x_2);
+lean_ctor_set(x_1092, 1, x_1091);
+x_1093 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1093, 0, x_1090);
+lean_ctor_set(x_1093, 1, x_1092);
+x_1094 = lean_alloc_ctor(5, 1, 1);
+lean_ctor_set(x_1094, 0, x_1093);
+lean_ctor_set_uint8(x_1094, sizeof(void*)*1, x_1067);
+x_1095 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1095, 0, x_1079);
+lean_ctor_set(x_1095, 1, x_1094);
+x_1096 = lean_box(0);
+x_1097 = lean_box(0);
+x_1098 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_1098, 0, x_1097);
+lean_ctor_set(x_1098, 1, x_1095);
+lean_ctor_set(x_8, 1, x_1098);
+lean_ctor_set(x_8, 0, x_1096);
+x_1099 = lean_apply_2(x_1070, x_8, x_1082);
+x_16 = x_1099;
+goto block_24;
+}
+else
+{
+lean_object* x_1100; lean_object* x_1101; lean_object* x_1102; lean_object* x_1103;
+lean_dec(x_1079);
+lean_dec(x_1077);
+lean_dec(x_746);
+lean_free_object(x_8);
+x_1100 = lean_ctor_get(x_1080, 0);
+lean_inc(x_1100);
+x_1101 = lean_ctor_get(x_1080, 1);
+lean_inc(x_1101);
+if (lean_is_exclusive(x_1080)) {
+ lean_ctor_release(x_1080, 0);
+ lean_ctor_release(x_1080, 1);
+ x_1102 = x_1080;
+} else {
+ lean_dec_ref(x_1080);
+ x_1102 = lean_box(0);
+}
+if (lean_is_scalar(x_1102)) {
+ x_1103 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_1103 = x_1102;
+}
+lean_ctor_set(x_1103, 0, x_1100);
+lean_ctor_set(x_1103, 1, x_1101);
+x_16 = x_1103;
+goto block_24;
+}
+}
+else
+{
+lean_object* x_1104; lean_object* x_1105; lean_object* x_1106; lean_object* x_1107;
+lean_dec(x_1075);
+lean_dec(x_1069);
+lean_dec(x_746);
+lean_free_object(x_8);
+x_1104 = lean_ctor_get(x_1076, 0);
+lean_inc(x_1104);
+x_1105 = lean_ctor_get(x_1076, 1);
+lean_inc(x_1105);
+if (lean_is_exclusive(x_1076)) {
+ lean_ctor_release(x_1076, 0);
+ lean_ctor_release(x_1076, 1);
+ x_1106 = x_1076;
+} else {
+ lean_dec_ref(x_1076);
+ x_1106 = lean_box(0);
+}
+if (lean_is_scalar(x_1106)) {
+ x_1107 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_1107 = x_1106;
+}
+lean_ctor_set(x_1107, 0, x_1104);
+lean_ctor_set(x_1107, 1, x_1105);
+x_16 = x_1107;
+goto block_24;
+}
+}
+else
+{
+if (lean_obj_tag(x_1076) == 0)
+{
+lean_object* x_1108; lean_object* x_1109; lean_object* x_1110;
+x_1108 = lean_ctor_get(x_1076, 0);
+lean_inc(x_1108);
+x_1109 = lean_ctor_get(x_1076, 1);
+lean_inc(x_1109);
+lean_dec(x_1076);
+lean_inc(x_4);
+x_1110 = l_Lean_ppExpr(x_4, x_1075, x_1109);
+if (lean_obj_tag(x_1110) == 0)
+{
+lean_object* x_1111; lean_object* x_1112; lean_object* x_1113; lean_object* x_1114; lean_object* x_1115; lean_object* x_1116; lean_object* x_1117; lean_object* x_1118; lean_object* x_1119; lean_object* x_1120; lean_object* x_1121; lean_object* x_1122; lean_object* x_1123; lean_object* x_1124; lean_object* x_1125; lean_object* x_1126; lean_object* x_1127; lean_object* x_1128; lean_object* x_1129;
+x_1111 = lean_ctor_get(x_1110, 0);
+lean_inc(x_1111);
+x_1112 = lean_ctor_get(x_1110, 1);
+lean_inc(x_1112);
+lean_dec(x_1110);
+x_1113 = l_System_FilePath_dirName___closed__1;
+x_1114 = l_Lean_Name_toStringWithSep___main(x_1113, x_746);
+x_1115 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_1115, 0, x_1114);
+x_1116 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6;
+x_1117 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1117, 0, x_1115);
+lean_ctor_set(x_1117, 1, x_1116);
+x_1118 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1118, 0, x_1117);
+lean_ctor_set(x_1118, 1, x_1108);
+x_1119 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8;
+x_1120 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1120, 0, x_1118);
+lean_ctor_set(x_1120, 1, x_1119);
+x_1121 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1121, 0, x_1063);
+lean_ctor_set(x_1121, 1, x_1111);
+lean_inc(x_2);
+x_1122 = lean_alloc_ctor(3, 2, 0);
+lean_ctor_set(x_1122, 0, x_2);
+lean_ctor_set(x_1122, 1, x_1121);
+x_1123 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1123, 0, x_1120);
+lean_ctor_set(x_1123, 1, x_1122);
+x_1124 = lean_alloc_ctor(5, 1, 1);
+lean_ctor_set(x_1124, 0, x_1123);
+lean_ctor_set_uint8(x_1124, sizeof(void*)*1, x_1067);
+x_1125 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1125, 0, x_1069);
+lean_ctor_set(x_1125, 1, x_1124);
+x_1126 = lean_box(0);
+x_1127 = lean_box(0);
+x_1128 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_1128, 0, x_1127);
+lean_ctor_set(x_1128, 1, x_1125);
+lean_ctor_set(x_8, 1, x_1128);
+lean_ctor_set(x_8, 0, x_1126);
+x_1129 = lean_apply_2(x_1070, x_8, x_1112);
+x_16 = x_1129;
+goto block_24;
+}
+else
+{
+lean_object* x_1130; lean_object* x_1131; lean_object* x_1132; lean_object* x_1133;
+lean_dec(x_1108);
+lean_dec(x_1069);
+lean_dec(x_746);
+lean_free_object(x_8);
+x_1130 = lean_ctor_get(x_1110, 0);
+lean_inc(x_1130);
+x_1131 = lean_ctor_get(x_1110, 1);
+lean_inc(x_1131);
+if (lean_is_exclusive(x_1110)) {
+ lean_ctor_release(x_1110, 0);
+ lean_ctor_release(x_1110, 1);
+ x_1132 = x_1110;
+} else {
+ lean_dec_ref(x_1110);
+ x_1132 = lean_box(0);
+}
+if (lean_is_scalar(x_1132)) {
+ x_1133 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_1133 = x_1132;
+}
+lean_ctor_set(x_1133, 0, x_1130);
+lean_ctor_set(x_1133, 1, x_1131);
+x_16 = x_1133;
+goto block_24;
+}
+}
+else
+{
+lean_object* x_1134; lean_object* x_1135; lean_object* x_1136; lean_object* x_1137;
+lean_dec(x_1075);
+lean_dec(x_1069);
+lean_dec(x_746);
+lean_free_object(x_8);
+x_1134 = lean_ctor_get(x_1076, 0);
+lean_inc(x_1134);
+x_1135 = lean_ctor_get(x_1076, 1);
+lean_inc(x_1135);
+if (lean_is_exclusive(x_1076)) {
+ lean_ctor_release(x_1076, 0);
+ lean_ctor_release(x_1076, 1);
+ x_1136 = x_1076;
+} else {
+ lean_dec_ref(x_1076);
+ x_1136 = lean_box(0);
+}
+if (lean_is_scalar(x_1136)) {
+ x_1137 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_1137 = x_1136;
+}
+lean_ctor_set(x_1137, 0, x_1134);
+lean_ctor_set(x_1137, 1, x_1135);
+x_16 = x_1137;
+goto block_24;
+}
+}
+}
+else
+{
+lean_object* x_1138; lean_object* x_1139; lean_object* x_1140; lean_object* x_1141;
+lean_dec(x_746);
+lean_dec(x_745);
+lean_dec(x_744);
+lean_dec(x_742);
+lean_free_object(x_8);
+lean_dec(x_277);
+x_1138 = lean_ctor_get(x_1055, 0);
+lean_inc(x_1138);
+x_1139 = lean_ctor_get(x_1055, 1);
+lean_inc(x_1139);
+if (lean_is_exclusive(x_1055)) {
+ lean_ctor_release(x_1055, 0);
+ lean_ctor_release(x_1055, 1);
+ x_1140 = x_1055;
+} else {
+ lean_dec_ref(x_1055);
+ x_1140 = lean_box(0);
+}
+if (lean_is_scalar(x_1140)) {
+ x_1141 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_1141 = x_1140;
+}
+lean_ctor_set(x_1141, 0, x_1138);
+lean_ctor_set(x_1141, 1, x_1139);
+x_16 = x_1141;
+goto block_24;
+}
+}
+}
+}
+}
+else
+{
+lean_object* x_1142; uint8_t x_1143; lean_object* x_1144; lean_object* x_1145; lean_object* x_1146; lean_object* x_1147; lean_object* x_1148;
+lean_dec(x_741);
+lean_dec(x_277);
+x_1142 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4;
+x_1143 = l_Lean_Format_isNil(x_742);
+lean_inc(x_1);
+x_1144 = l_Lean_MetavarContext_instantiateMVars(x_1, x_744);
+x_1145 = lean_ctor_get(x_1144, 0);
+lean_inc(x_1145);
+lean_dec(x_1144);
+lean_inc(x_1);
+x_1146 = l_Lean_MetavarContext_instantiateMVars(x_1, x_745);
+x_1147 = lean_ctor_get(x_1146, 0);
+lean_inc(x_1147);
+lean_dec(x_1146);
+lean_inc(x_4);
+x_1148 = l_Lean_ppExpr(x_4, x_1145, x_9);
+if (x_1143 == 0)
+{
+if (lean_obj_tag(x_1148) == 0)
+{
+lean_object* x_1149; lean_object* x_1150; lean_object* x_1151; lean_object* x_1152; lean_object* x_1153;
+x_1149 = lean_ctor_get(x_1148, 0);
+lean_inc(x_1149);
+x_1150 = lean_ctor_get(x_1148, 1);
+lean_inc(x_1150);
+lean_dec(x_1148);
+x_1151 = lean_box(1);
+x_1152 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1152, 0, x_742);
+lean_ctor_set(x_1152, 1, x_1151);
+lean_inc(x_4);
+x_1153 = l_Lean_ppExpr(x_4, x_1147, x_1150);
+if (lean_obj_tag(x_1153) == 0)
+{
+lean_object* x_1154; lean_object* x_1155; lean_object* x_1156; lean_object* x_1157; lean_object* x_1158; lean_object* x_1159; lean_object* x_1160; lean_object* x_1161; lean_object* x_1162; lean_object* x_1163; lean_object* x_1164; lean_object* x_1165; lean_object* x_1166; uint8_t x_1167; lean_object* x_1168; lean_object* x_1169; lean_object* x_1170; lean_object* x_1171; lean_object* x_1172; lean_object* x_1173;
+x_1154 = lean_ctor_get(x_1153, 0);
+lean_inc(x_1154);
+x_1155 = lean_ctor_get(x_1153, 1);
+lean_inc(x_1155);
+lean_dec(x_1153);
+x_1156 = l_System_FilePath_dirName___closed__1;
+x_1157 = l_Lean_Name_toStringWithSep___main(x_1156, x_746);
+x_1158 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_1158, 0, x_1157);
+x_1159 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6;
+x_1160 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1160, 0, x_1158);
+lean_ctor_set(x_1160, 1, x_1159);
+x_1161 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1161, 0, x_1160);
+lean_ctor_set(x_1161, 1, x_1149);
+x_1162 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8;
+x_1163 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1163, 0, x_1161);
+lean_ctor_set(x_1163, 1, x_1162);
+x_1164 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1164, 0, x_1151);
+lean_ctor_set(x_1164, 1, x_1154);
+lean_inc(x_2);
+x_1165 = lean_alloc_ctor(3, 2, 0);
+lean_ctor_set(x_1165, 0, x_2);
+lean_ctor_set(x_1165, 1, x_1164);
+x_1166 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1166, 0, x_1163);
+lean_ctor_set(x_1166, 1, x_1165);
+x_1167 = 0;
+x_1168 = lean_alloc_ctor(5, 1, 1);
+lean_ctor_set(x_1168, 0, x_1166);
+lean_ctor_set_uint8(x_1168, sizeof(void*)*1, x_1167);
+x_1169 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1169, 0, x_1152);
+lean_ctor_set(x_1169, 1, x_1168);
+x_1170 = lean_box(0);
+x_1171 = lean_box(0);
+x_1172 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_1172, 0, x_1171);
+lean_ctor_set(x_1172, 1, x_1169);
+lean_ctor_set(x_8, 1, x_1172);
+lean_ctor_set(x_8, 0, x_1170);
+x_1173 = lean_apply_2(x_1142, x_8, x_1155);
+x_16 = x_1173;
+goto block_24;
+}
+else
+{
+lean_object* x_1174; lean_object* x_1175; lean_object* x_1176; lean_object* x_1177;
+lean_dec(x_1152);
+lean_dec(x_1149);
+lean_dec(x_746);
+lean_free_object(x_8);
+x_1174 = lean_ctor_get(x_1153, 0);
+lean_inc(x_1174);
+x_1175 = lean_ctor_get(x_1153, 1);
+lean_inc(x_1175);
+if (lean_is_exclusive(x_1153)) {
+ lean_ctor_release(x_1153, 0);
+ lean_ctor_release(x_1153, 1);
+ x_1176 = x_1153;
+} else {
+ lean_dec_ref(x_1153);
+ x_1176 = lean_box(0);
+}
+if (lean_is_scalar(x_1176)) {
+ x_1177 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_1177 = x_1176;
+}
+lean_ctor_set(x_1177, 0, x_1174);
+lean_ctor_set(x_1177, 1, x_1175);
+x_16 = x_1177;
+goto block_24;
+}
+}
+else
+{
+lean_object* x_1178; lean_object* x_1179; lean_object* x_1180; lean_object* x_1181;
+lean_dec(x_1147);
+lean_dec(x_746);
+lean_dec(x_742);
+lean_free_object(x_8);
+x_1178 = lean_ctor_get(x_1148, 0);
+lean_inc(x_1178);
+x_1179 = lean_ctor_get(x_1148, 1);
+lean_inc(x_1179);
+if (lean_is_exclusive(x_1148)) {
+ lean_ctor_release(x_1148, 0);
+ lean_ctor_release(x_1148, 1);
+ x_1180 = x_1148;
+} else {
+ lean_dec_ref(x_1148);
+ x_1180 = lean_box(0);
+}
+if (lean_is_scalar(x_1180)) {
+ x_1181 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_1181 = x_1180;
+}
+lean_ctor_set(x_1181, 0, x_1178);
+lean_ctor_set(x_1181, 1, x_1179);
+x_16 = x_1181;
+goto block_24;
+}
+}
+else
+{
+if (lean_obj_tag(x_1148) == 0)
+{
+lean_object* x_1182; lean_object* x_1183; lean_object* x_1184;
+x_1182 = lean_ctor_get(x_1148, 0);
+lean_inc(x_1182);
+x_1183 = lean_ctor_get(x_1148, 1);
+lean_inc(x_1183);
+lean_dec(x_1148);
+lean_inc(x_4);
+x_1184 = l_Lean_ppExpr(x_4, x_1147, x_1183);
+if (lean_obj_tag(x_1184) == 0)
+{
+lean_object* x_1185; lean_object* x_1186; lean_object* x_1187; lean_object* x_1188; lean_object* x_1189; lean_object* x_1190; lean_object* x_1191; lean_object* x_1192; lean_object* x_1193; lean_object* x_1194; lean_object* x_1195; lean_object* x_1196; lean_object* x_1197; lean_object* x_1198; uint8_t x_1199; lean_object* x_1200; lean_object* x_1201; lean_object* x_1202; lean_object* x_1203; lean_object* x_1204; lean_object* x_1205;
+x_1185 = lean_ctor_get(x_1184, 0);
+lean_inc(x_1185);
+x_1186 = lean_ctor_get(x_1184, 1);
+lean_inc(x_1186);
+lean_dec(x_1184);
+x_1187 = l_System_FilePath_dirName___closed__1;
+x_1188 = l_Lean_Name_toStringWithSep___main(x_1187, x_746);
+x_1189 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_1189, 0, x_1188);
+x_1190 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6;
+x_1191 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1191, 0, x_1189);
+lean_ctor_set(x_1191, 1, x_1190);
+x_1192 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1192, 0, x_1191);
+lean_ctor_set(x_1192, 1, x_1182);
+x_1193 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8;
+x_1194 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1194, 0, x_1192);
+lean_ctor_set(x_1194, 1, x_1193);
+x_1195 = lean_box(1);
+x_1196 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1196, 0, x_1195);
+lean_ctor_set(x_1196, 1, x_1185);
+lean_inc(x_2);
+x_1197 = lean_alloc_ctor(3, 2, 0);
+lean_ctor_set(x_1197, 0, x_2);
+lean_ctor_set(x_1197, 1, x_1196);
+x_1198 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1198, 0, x_1194);
+lean_ctor_set(x_1198, 1, x_1197);
+x_1199 = 0;
+x_1200 = lean_alloc_ctor(5, 1, 1);
+lean_ctor_set(x_1200, 0, x_1198);
+lean_ctor_set_uint8(x_1200, sizeof(void*)*1, x_1199);
+x_1201 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1201, 0, x_742);
+lean_ctor_set(x_1201, 1, x_1200);
+x_1202 = lean_box(0);
+x_1203 = lean_box(0);
+x_1204 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_1204, 0, x_1203);
+lean_ctor_set(x_1204, 1, x_1201);
+lean_ctor_set(x_8, 1, x_1204);
+lean_ctor_set(x_8, 0, x_1202);
+x_1205 = lean_apply_2(x_1142, x_8, x_1186);
+x_16 = x_1205;
+goto block_24;
+}
+else
+{
+lean_object* x_1206; lean_object* x_1207; lean_object* x_1208; lean_object* x_1209;
+lean_dec(x_1182);
+lean_dec(x_746);
+lean_dec(x_742);
+lean_free_object(x_8);
+x_1206 = lean_ctor_get(x_1184, 0);
+lean_inc(x_1206);
+x_1207 = lean_ctor_get(x_1184, 1);
+lean_inc(x_1207);
+if (lean_is_exclusive(x_1184)) {
+ lean_ctor_release(x_1184, 0);
+ lean_ctor_release(x_1184, 1);
+ x_1208 = x_1184;
+} else {
+ lean_dec_ref(x_1184);
+ x_1208 = lean_box(0);
+}
+if (lean_is_scalar(x_1208)) {
+ x_1209 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_1209 = x_1208;
+}
+lean_ctor_set(x_1209, 0, x_1206);
+lean_ctor_set(x_1209, 1, x_1207);
+x_16 = x_1209;
+goto block_24;
+}
+}
+else
+{
+lean_object* x_1210; lean_object* x_1211; lean_object* x_1212; lean_object* x_1213;
+lean_dec(x_1147);
+lean_dec(x_746);
+lean_dec(x_742);
+lean_free_object(x_8);
+x_1210 = lean_ctor_get(x_1148, 0);
+lean_inc(x_1210);
+x_1211 = lean_ctor_get(x_1148, 1);
+lean_inc(x_1211);
+if (lean_is_exclusive(x_1148)) {
+ lean_ctor_release(x_1148, 0);
+ lean_ctor_release(x_1148, 1);
+ x_1212 = x_1148;
+} else {
+ lean_dec_ref(x_1148);
+ x_1212 = lean_box(0);
+}
+if (lean_is_scalar(x_1212)) {
+ x_1213 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_1213 = x_1212;
+}
+lean_ctor_set(x_1213, 0, x_1210);
+lean_ctor_set(x_1213, 1, x_1211);
+x_16 = x_1213;
+goto block_24;
+}
+}
+}
+}
+}
+else
+{
+lean_object* x_1214; lean_object* x_1215; lean_object* x_1216; lean_object* x_1217; lean_object* x_1218; lean_object* x_1219; lean_object* x_1220; lean_object* x_1221; uint8_t x_1222;
+x_1214 = lean_ctor_get(x_8, 0);
+lean_inc(x_1214);
+lean_dec(x_8);
+x_1215 = lean_ctor_get(x_29, 0);
+lean_inc(x_1215);
+x_1216 = lean_ctor_get(x_29, 1);
+lean_inc(x_1216);
+if (lean_is_exclusive(x_29)) {
+ lean_ctor_release(x_29, 0);
+ lean_ctor_release(x_29, 1);
+ x_1217 = x_29;
+} else {
+ lean_dec_ref(x_29);
+ x_1217 = lean_box(0);
+}
+x_1218 = lean_ctor_get(x_26, 2);
+lean_inc(x_1218);
+x_1219 = lean_ctor_get(x_26, 3);
+lean_inc(x_1219);
+x_1220 = lean_ctor_get(x_26, 4);
+lean_inc(x_1220);
+lean_dec(x_26);
+x_1221 = lean_simp_macro_scopes(x_1218);
+x_1222 = l_List_isEmpty___rarg(x_1214);
+if (x_1222 == 0)
+{
+uint8_t x_1223;
+x_1223 = l_Lean_Format_isNil(x_1216);
+if (x_1223 == 0)
+{
+lean_object* x_1224; lean_object* x_1225;
+x_1224 = lean_box(1);
+x_1225 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1225, 0, x_1216);
+lean_ctor_set(x_1225, 1, x_1224);
+if (lean_obj_tag(x_1214) == 0)
+{
+lean_object* x_1226; uint8_t x_1227; lean_object* x_1228; lean_object* x_1229; lean_object* x_1230; lean_object* x_1231; lean_object* x_1232;
+lean_dec(x_1215);
+x_1226 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4;
+x_1227 = l_Lean_Format_isNil(x_1225);
+lean_inc(x_1);
+x_1228 = l_Lean_MetavarContext_instantiateMVars(x_1, x_1219);
+x_1229 = lean_ctor_get(x_1228, 0);
+lean_inc(x_1229);
+lean_dec(x_1228);
+lean_inc(x_1);
+x_1230 = l_Lean_MetavarContext_instantiateMVars(x_1, x_1220);
+x_1231 = lean_ctor_get(x_1230, 0);
+lean_inc(x_1231);
+lean_dec(x_1230);
+lean_inc(x_4);
+x_1232 = l_Lean_ppExpr(x_4, x_1229, x_9);
+if (x_1227 == 0)
+{
+if (lean_obj_tag(x_1232) == 0)
+{
+lean_object* x_1233; lean_object* x_1234; lean_object* x_1235; lean_object* x_1236;
+x_1233 = lean_ctor_get(x_1232, 0);
+lean_inc(x_1233);
+x_1234 = lean_ctor_get(x_1232, 1);
+lean_inc(x_1234);
+lean_dec(x_1232);
+x_1235 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1235, 0, x_1225);
+lean_ctor_set(x_1235, 1, x_1224);
+lean_inc(x_4);
+x_1236 = l_Lean_ppExpr(x_4, x_1231, x_1234);
+if (lean_obj_tag(x_1236) == 0)
+{
+lean_object* x_1237; lean_object* x_1238; lean_object* x_1239; lean_object* x_1240; lean_object* x_1241; lean_object* x_1242; lean_object* x_1243; lean_object* x_1244; lean_object* x_1245; lean_object* x_1246; lean_object* x_1247; lean_object* x_1248; lean_object* x_1249; uint8_t x_1250; lean_object* x_1251; lean_object* x_1252; lean_object* x_1253; lean_object* x_1254; lean_object* x_1255; lean_object* x_1256; lean_object* x_1257;
+x_1237 = lean_ctor_get(x_1236, 0);
+lean_inc(x_1237);
+x_1238 = lean_ctor_get(x_1236, 1);
+lean_inc(x_1238);
+lean_dec(x_1236);
+x_1239 = l_System_FilePath_dirName___closed__1;
+x_1240 = l_Lean_Name_toStringWithSep___main(x_1239, x_1221);
+x_1241 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_1241, 0, x_1240);
+x_1242 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6;
+x_1243 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1243, 0, x_1241);
+lean_ctor_set(x_1243, 1, x_1242);
+x_1244 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1244, 0, x_1243);
+lean_ctor_set(x_1244, 1, x_1233);
+x_1245 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8;
+x_1246 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1246, 0, x_1244);
+lean_ctor_set(x_1246, 1, x_1245);
+x_1247 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1247, 0, x_1224);
+lean_ctor_set(x_1247, 1, x_1237);
+lean_inc(x_2);
+x_1248 = lean_alloc_ctor(3, 2, 0);
+lean_ctor_set(x_1248, 0, x_2);
+lean_ctor_set(x_1248, 1, x_1247);
+x_1249 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1249, 0, x_1246);
+lean_ctor_set(x_1249, 1, x_1248);
+x_1250 = 0;
+x_1251 = lean_alloc_ctor(5, 1, 1);
+lean_ctor_set(x_1251, 0, x_1249);
+lean_ctor_set_uint8(x_1251, sizeof(void*)*1, x_1250);
+x_1252 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1252, 0, x_1235);
+lean_ctor_set(x_1252, 1, x_1251);
+x_1253 = lean_box(0);
+x_1254 = lean_box(0);
+if (lean_is_scalar(x_1217)) {
+ x_1255 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_1255 = x_1217;
+}
+lean_ctor_set(x_1255, 0, x_1254);
+lean_ctor_set(x_1255, 1, x_1252);
+x_1256 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_1256, 0, x_1253);
+lean_ctor_set(x_1256, 1, x_1255);
+x_1257 = lean_apply_2(x_1226, x_1256, x_1238);
+x_16 = x_1257;
+goto block_24;
+}
+else
+{
+lean_object* x_1258; lean_object* x_1259; lean_object* x_1260; lean_object* x_1261;
+lean_dec(x_1235);
+lean_dec(x_1233);
+lean_dec(x_1221);
+lean_dec(x_1217);
+x_1258 = lean_ctor_get(x_1236, 0);
+lean_inc(x_1258);
+x_1259 = lean_ctor_get(x_1236, 1);
+lean_inc(x_1259);
+if (lean_is_exclusive(x_1236)) {
+ lean_ctor_release(x_1236, 0);
+ lean_ctor_release(x_1236, 1);
+ x_1260 = x_1236;
+} else {
+ lean_dec_ref(x_1236);
+ x_1260 = lean_box(0);
+}
+if (lean_is_scalar(x_1260)) {
+ x_1261 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_1261 = x_1260;
+}
+lean_ctor_set(x_1261, 0, x_1258);
+lean_ctor_set(x_1261, 1, x_1259);
+x_16 = x_1261;
+goto block_24;
+}
+}
+else
+{
+lean_object* x_1262; lean_object* x_1263; lean_object* x_1264; lean_object* x_1265;
+lean_dec(x_1231);
+lean_dec(x_1225);
+lean_dec(x_1221);
+lean_dec(x_1217);
+x_1262 = lean_ctor_get(x_1232, 0);
+lean_inc(x_1262);
+x_1263 = lean_ctor_get(x_1232, 1);
+lean_inc(x_1263);
+if (lean_is_exclusive(x_1232)) {
+ lean_ctor_release(x_1232, 0);
+ lean_ctor_release(x_1232, 1);
+ x_1264 = x_1232;
+} else {
+ lean_dec_ref(x_1232);
+ x_1264 = lean_box(0);
+}
+if (lean_is_scalar(x_1264)) {
+ x_1265 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_1265 = x_1264;
+}
+lean_ctor_set(x_1265, 0, x_1262);
+lean_ctor_set(x_1265, 1, x_1263);
+x_16 = x_1265;
+goto block_24;
+}
+}
+else
+{
+if (lean_obj_tag(x_1232) == 0)
+{
+lean_object* x_1266; lean_object* x_1267; lean_object* x_1268;
+x_1266 = lean_ctor_get(x_1232, 0);
+lean_inc(x_1266);
+x_1267 = lean_ctor_get(x_1232, 1);
+lean_inc(x_1267);
+lean_dec(x_1232);
+lean_inc(x_4);
+x_1268 = l_Lean_ppExpr(x_4, x_1231, x_1267);
+if (lean_obj_tag(x_1268) == 0)
+{
+lean_object* x_1269; lean_object* x_1270; lean_object* x_1271; lean_object* x_1272; lean_object* x_1273; lean_object* x_1274; lean_object* x_1275; lean_object* x_1276; lean_object* x_1277; lean_object* x_1278; lean_object* x_1279; lean_object* x_1280; lean_object* x_1281; uint8_t x_1282; lean_object* x_1283; lean_object* x_1284; lean_object* x_1285; lean_object* x_1286; lean_object* x_1287; lean_object* x_1288; lean_object* x_1289;
+x_1269 = lean_ctor_get(x_1268, 0);
+lean_inc(x_1269);
+x_1270 = lean_ctor_get(x_1268, 1);
+lean_inc(x_1270);
+lean_dec(x_1268);
+x_1271 = l_System_FilePath_dirName___closed__1;
+x_1272 = l_Lean_Name_toStringWithSep___main(x_1271, x_1221);
+x_1273 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_1273, 0, x_1272);
+x_1274 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6;
+x_1275 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1275, 0, x_1273);
+lean_ctor_set(x_1275, 1, x_1274);
+x_1276 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1276, 0, x_1275);
+lean_ctor_set(x_1276, 1, x_1266);
+x_1277 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8;
+x_1278 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1278, 0, x_1276);
+lean_ctor_set(x_1278, 1, x_1277);
+x_1279 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1279, 0, x_1224);
+lean_ctor_set(x_1279, 1, x_1269);
+lean_inc(x_2);
+x_1280 = lean_alloc_ctor(3, 2, 0);
+lean_ctor_set(x_1280, 0, x_2);
+lean_ctor_set(x_1280, 1, x_1279);
+x_1281 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1281, 0, x_1278);
+lean_ctor_set(x_1281, 1, x_1280);
+x_1282 = 0;
+x_1283 = lean_alloc_ctor(5, 1, 1);
+lean_ctor_set(x_1283, 0, x_1281);
+lean_ctor_set_uint8(x_1283, sizeof(void*)*1, x_1282);
+x_1284 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1284, 0, x_1225);
+lean_ctor_set(x_1284, 1, x_1283);
+x_1285 = lean_box(0);
+x_1286 = lean_box(0);
+if (lean_is_scalar(x_1217)) {
+ x_1287 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_1287 = x_1217;
+}
+lean_ctor_set(x_1287, 0, x_1286);
+lean_ctor_set(x_1287, 1, x_1284);
+x_1288 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_1288, 0, x_1285);
+lean_ctor_set(x_1288, 1, x_1287);
+x_1289 = lean_apply_2(x_1226, x_1288, x_1270);
+x_16 = x_1289;
+goto block_24;
+}
+else
+{
+lean_object* x_1290; lean_object* x_1291; lean_object* x_1292; lean_object* x_1293;
+lean_dec(x_1266);
+lean_dec(x_1225);
+lean_dec(x_1221);
+lean_dec(x_1217);
+x_1290 = lean_ctor_get(x_1268, 0);
+lean_inc(x_1290);
+x_1291 = lean_ctor_get(x_1268, 1);
+lean_inc(x_1291);
+if (lean_is_exclusive(x_1268)) {
+ lean_ctor_release(x_1268, 0);
+ lean_ctor_release(x_1268, 1);
+ x_1292 = x_1268;
+} else {
+ lean_dec_ref(x_1268);
+ x_1292 = lean_box(0);
+}
+if (lean_is_scalar(x_1292)) {
+ x_1293 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_1293 = x_1292;
+}
+lean_ctor_set(x_1293, 0, x_1290);
+lean_ctor_set(x_1293, 1, x_1291);
+x_16 = x_1293;
+goto block_24;
+}
+}
+else
+{
+lean_object* x_1294; lean_object* x_1295; lean_object* x_1296; lean_object* x_1297;
+lean_dec(x_1231);
+lean_dec(x_1225);
+lean_dec(x_1221);
+lean_dec(x_1217);
+x_1294 = lean_ctor_get(x_1232, 0);
+lean_inc(x_1294);
+x_1295 = lean_ctor_get(x_1232, 1);
+lean_inc(x_1295);
+if (lean_is_exclusive(x_1232)) {
+ lean_ctor_release(x_1232, 0);
+ lean_ctor_release(x_1232, 1);
+ x_1296 = x_1232;
+} else {
+ lean_dec_ref(x_1232);
+ x_1296 = lean_box(0);
+}
+if (lean_is_scalar(x_1296)) {
+ x_1297 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_1297 = x_1296;
+}
+lean_ctor_set(x_1297, 0, x_1294);
+lean_ctor_set(x_1297, 1, x_1295);
+x_16 = x_1297;
+goto block_24;
+}
+}
+}
+else
+{
+if (lean_obj_tag(x_1215) == 0)
+{
+lean_object* x_1298; uint8_t x_1299; lean_object* x_1300; lean_object* x_1301; lean_object* x_1302; lean_object* x_1303; lean_object* x_1304;
+lean_dec(x_1214);
+x_1298 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4;
+x_1299 = l_Lean_Format_isNil(x_1225);
+lean_inc(x_1);
+x_1300 = l_Lean_MetavarContext_instantiateMVars(x_1, x_1219);
+x_1301 = lean_ctor_get(x_1300, 0);
+lean_inc(x_1301);
+lean_dec(x_1300);
+lean_inc(x_1);
+x_1302 = l_Lean_MetavarContext_instantiateMVars(x_1, x_1220);
+x_1303 = lean_ctor_get(x_1302, 0);
+lean_inc(x_1303);
+lean_dec(x_1302);
+lean_inc(x_4);
+x_1304 = l_Lean_ppExpr(x_4, x_1301, x_9);
+if (x_1299 == 0)
+{
+if (lean_obj_tag(x_1304) == 0)
+{
+lean_object* x_1305; lean_object* x_1306; lean_object* x_1307; lean_object* x_1308;
+x_1305 = lean_ctor_get(x_1304, 0);
+lean_inc(x_1305);
+x_1306 = lean_ctor_get(x_1304, 1);
+lean_inc(x_1306);
+lean_dec(x_1304);
+x_1307 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1307, 0, x_1225);
+lean_ctor_set(x_1307, 1, x_1224);
+lean_inc(x_4);
+x_1308 = l_Lean_ppExpr(x_4, x_1303, x_1306);
+if (lean_obj_tag(x_1308) == 0)
+{
+lean_object* x_1309; lean_object* x_1310; lean_object* x_1311; lean_object* x_1312; lean_object* x_1313; lean_object* x_1314; lean_object* x_1315; lean_object* x_1316; lean_object* x_1317; lean_object* x_1318; lean_object* x_1319; lean_object* x_1320; lean_object* x_1321; uint8_t x_1322; lean_object* x_1323; lean_object* x_1324; lean_object* x_1325; lean_object* x_1326; lean_object* x_1327; lean_object* x_1328; lean_object* x_1329;
+x_1309 = lean_ctor_get(x_1308, 0);
+lean_inc(x_1309);
+x_1310 = lean_ctor_get(x_1308, 1);
+lean_inc(x_1310);
+lean_dec(x_1308);
+x_1311 = l_System_FilePath_dirName___closed__1;
+x_1312 = l_Lean_Name_toStringWithSep___main(x_1311, x_1221);
+x_1313 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_1313, 0, x_1312);
+x_1314 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6;
+x_1315 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1315, 0, x_1313);
+lean_ctor_set(x_1315, 1, x_1314);
+x_1316 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1316, 0, x_1315);
+lean_ctor_set(x_1316, 1, x_1305);
+x_1317 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8;
+x_1318 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1318, 0, x_1316);
+lean_ctor_set(x_1318, 1, x_1317);
+x_1319 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1319, 0, x_1224);
+lean_ctor_set(x_1319, 1, x_1309);
+lean_inc(x_2);
+x_1320 = lean_alloc_ctor(3, 2, 0);
+lean_ctor_set(x_1320, 0, x_2);
+lean_ctor_set(x_1320, 1, x_1319);
+x_1321 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1321, 0, x_1318);
+lean_ctor_set(x_1321, 1, x_1320);
+x_1322 = 0;
+x_1323 = lean_alloc_ctor(5, 1, 1);
+lean_ctor_set(x_1323, 0, x_1321);
+lean_ctor_set_uint8(x_1323, sizeof(void*)*1, x_1322);
+x_1324 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1324, 0, x_1307);
+lean_ctor_set(x_1324, 1, x_1323);
+x_1325 = lean_box(0);
+x_1326 = lean_box(0);
+if (lean_is_scalar(x_1217)) {
+ x_1327 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_1327 = x_1217;
+}
+lean_ctor_set(x_1327, 0, x_1326);
+lean_ctor_set(x_1327, 1, x_1324);
+x_1328 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_1328, 0, x_1325);
+lean_ctor_set(x_1328, 1, x_1327);
+x_1329 = lean_apply_2(x_1298, x_1328, x_1310);
+x_16 = x_1329;
+goto block_24;
+}
+else
+{
+lean_object* x_1330; lean_object* x_1331; lean_object* x_1332; lean_object* x_1333;
+lean_dec(x_1307);
+lean_dec(x_1305);
+lean_dec(x_1221);
+lean_dec(x_1217);
+x_1330 = lean_ctor_get(x_1308, 0);
+lean_inc(x_1330);
+x_1331 = lean_ctor_get(x_1308, 1);
+lean_inc(x_1331);
+if (lean_is_exclusive(x_1308)) {
+ lean_ctor_release(x_1308, 0);
+ lean_ctor_release(x_1308, 1);
+ x_1332 = x_1308;
+} else {
+ lean_dec_ref(x_1308);
+ x_1332 = lean_box(0);
+}
+if (lean_is_scalar(x_1332)) {
+ x_1333 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_1333 = x_1332;
+}
+lean_ctor_set(x_1333, 0, x_1330);
+lean_ctor_set(x_1333, 1, x_1331);
+x_16 = x_1333;
+goto block_24;
+}
+}
+else
+{
+lean_object* x_1334; lean_object* x_1335; lean_object* x_1336; lean_object* x_1337;
+lean_dec(x_1303);
+lean_dec(x_1225);
+lean_dec(x_1221);
+lean_dec(x_1217);
+x_1334 = lean_ctor_get(x_1304, 0);
+lean_inc(x_1334);
+x_1335 = lean_ctor_get(x_1304, 1);
+lean_inc(x_1335);
+if (lean_is_exclusive(x_1304)) {
+ lean_ctor_release(x_1304, 0);
+ lean_ctor_release(x_1304, 1);
+ x_1336 = x_1304;
+} else {
+ lean_dec_ref(x_1304);
+ x_1336 = lean_box(0);
+}
+if (lean_is_scalar(x_1336)) {
+ x_1337 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_1337 = x_1336;
+}
+lean_ctor_set(x_1337, 0, x_1334);
+lean_ctor_set(x_1337, 1, x_1335);
+x_16 = x_1337;
+goto block_24;
+}
+}
+else
+{
+if (lean_obj_tag(x_1304) == 0)
+{
+lean_object* x_1338; lean_object* x_1339; lean_object* x_1340;
+x_1338 = lean_ctor_get(x_1304, 0);
+lean_inc(x_1338);
+x_1339 = lean_ctor_get(x_1304, 1);
+lean_inc(x_1339);
+lean_dec(x_1304);
+lean_inc(x_4);
+x_1340 = l_Lean_ppExpr(x_4, x_1303, x_1339);
+if (lean_obj_tag(x_1340) == 0)
+{
+lean_object* x_1341; lean_object* x_1342; lean_object* x_1343; lean_object* x_1344; lean_object* x_1345; lean_object* x_1346; lean_object* x_1347; lean_object* x_1348; lean_object* x_1349; lean_object* x_1350; lean_object* x_1351; lean_object* x_1352; lean_object* x_1353; uint8_t x_1354; lean_object* x_1355; lean_object* x_1356; lean_object* x_1357; lean_object* x_1358; lean_object* x_1359; lean_object* x_1360; lean_object* x_1361;
+x_1341 = lean_ctor_get(x_1340, 0);
+lean_inc(x_1341);
+x_1342 = lean_ctor_get(x_1340, 1);
+lean_inc(x_1342);
+lean_dec(x_1340);
+x_1343 = l_System_FilePath_dirName___closed__1;
+x_1344 = l_Lean_Name_toStringWithSep___main(x_1343, x_1221);
+x_1345 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_1345, 0, x_1344);
+x_1346 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6;
+x_1347 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1347, 0, x_1345);
+lean_ctor_set(x_1347, 1, x_1346);
+x_1348 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1348, 0, x_1347);
+lean_ctor_set(x_1348, 1, x_1338);
+x_1349 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8;
+x_1350 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1350, 0, x_1348);
+lean_ctor_set(x_1350, 1, x_1349);
+x_1351 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1351, 0, x_1224);
+lean_ctor_set(x_1351, 1, x_1341);
+lean_inc(x_2);
+x_1352 = lean_alloc_ctor(3, 2, 0);
+lean_ctor_set(x_1352, 0, x_2);
+lean_ctor_set(x_1352, 1, x_1351);
+x_1353 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1353, 0, x_1350);
+lean_ctor_set(x_1353, 1, x_1352);
+x_1354 = 0;
+x_1355 = lean_alloc_ctor(5, 1, 1);
+lean_ctor_set(x_1355, 0, x_1353);
+lean_ctor_set_uint8(x_1355, sizeof(void*)*1, x_1354);
+x_1356 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1356, 0, x_1225);
+lean_ctor_set(x_1356, 1, x_1355);
+x_1357 = lean_box(0);
+x_1358 = lean_box(0);
+if (lean_is_scalar(x_1217)) {
+ x_1359 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_1359 = x_1217;
+}
+lean_ctor_set(x_1359, 0, x_1358);
+lean_ctor_set(x_1359, 1, x_1356);
+x_1360 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_1360, 0, x_1357);
+lean_ctor_set(x_1360, 1, x_1359);
+x_1361 = lean_apply_2(x_1298, x_1360, x_1342);
+x_16 = x_1361;
+goto block_24;
+}
+else
+{
+lean_object* x_1362; lean_object* x_1363; lean_object* x_1364; lean_object* x_1365;
+lean_dec(x_1338);
+lean_dec(x_1225);
+lean_dec(x_1221);
+lean_dec(x_1217);
+x_1362 = lean_ctor_get(x_1340, 0);
+lean_inc(x_1362);
+x_1363 = lean_ctor_get(x_1340, 1);
+lean_inc(x_1363);
+if (lean_is_exclusive(x_1340)) {
+ lean_ctor_release(x_1340, 0);
+ lean_ctor_release(x_1340, 1);
+ x_1364 = x_1340;
+} else {
+ lean_dec_ref(x_1340);
+ x_1364 = lean_box(0);
+}
+if (lean_is_scalar(x_1364)) {
+ x_1365 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_1365 = x_1364;
+}
+lean_ctor_set(x_1365, 0, x_1362);
+lean_ctor_set(x_1365, 1, x_1363);
+x_16 = x_1365;
+goto block_24;
+}
+}
+else
+{
+lean_object* x_1366; lean_object* x_1367; lean_object* x_1368; lean_object* x_1369;
+lean_dec(x_1303);
+lean_dec(x_1225);
+lean_dec(x_1221);
+lean_dec(x_1217);
+x_1366 = lean_ctor_get(x_1304, 0);
+lean_inc(x_1366);
+x_1367 = lean_ctor_get(x_1304, 1);
+lean_inc(x_1367);
+if (lean_is_exclusive(x_1304)) {
+ lean_ctor_release(x_1304, 0);
+ lean_ctor_release(x_1304, 1);
+ x_1368 = x_1304;
+} else {
+ lean_dec_ref(x_1304);
+ x_1368 = lean_box(0);
+}
+if (lean_is_scalar(x_1368)) {
+ x_1369 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_1369 = x_1368;
+}
+lean_ctor_set(x_1369, 0, x_1366);
+lean_ctor_set(x_1369, 1, x_1367);
+x_16 = x_1369;
+goto block_24;
+}
+}
+}
+else
+{
+lean_object* x_1370; lean_object* x_1371;
+x_1370 = lean_ctor_get(x_1215, 0);
+lean_inc(x_1370);
+lean_dec(x_1215);
+lean_inc(x_4);
+x_1371 = l_Lean_ppExpr(x_4, x_1370, x_9);
+if (lean_obj_tag(x_1371) == 0)
+{
+lean_object* x_1372; lean_object* x_1373; lean_object* x_1374; lean_object* x_1375; lean_object* x_1376; lean_object* x_1377; lean_object* x_1378; lean_object* x_1379; lean_object* x_1380; lean_object* x_1381; uint8_t x_1382; lean_object* x_1383; lean_object* x_1384; lean_object* x_1385; uint8_t x_1386; lean_object* x_1387; lean_object* x_1388; lean_object* x_1389; lean_object* x_1390; lean_object* x_1391;
+x_1372 = lean_ctor_get(x_1371, 0);
+lean_inc(x_1372);
+x_1373 = lean_ctor_get(x_1371, 1);
+lean_inc(x_1373);
+lean_dec(x_1371);
+x_1374 = l_List_reverse___rarg(x_1214);
+x_1375 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1;
+x_1376 = l_Lean_Format_joinSep___main___at_Lean_ppGoal___spec__1(x_1374, x_1375);
+x_1377 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__3;
+x_1378 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1378, 0, x_1376);
+lean_ctor_set(x_1378, 1, x_1377);
+x_1379 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1379, 0, x_1224);
+lean_ctor_set(x_1379, 1, x_1372);
+lean_inc(x_2);
+x_1380 = lean_alloc_ctor(3, 2, 0);
+lean_ctor_set(x_1380, 0, x_2);
+lean_ctor_set(x_1380, 1, x_1379);
+x_1381 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1381, 0, x_1378);
+lean_ctor_set(x_1381, 1, x_1380);
+x_1382 = 0;
+x_1383 = lean_alloc_ctor(5, 1, 1);
+lean_ctor_set(x_1383, 0, x_1381);
+lean_ctor_set_uint8(x_1383, sizeof(void*)*1, x_1382);
+x_1384 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1384, 0, x_1225);
+lean_ctor_set(x_1384, 1, x_1383);
+x_1385 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4;
+x_1386 = l_Lean_Format_isNil(x_1384);
+lean_inc(x_1);
+x_1387 = l_Lean_MetavarContext_instantiateMVars(x_1, x_1219);
+x_1388 = lean_ctor_get(x_1387, 0);
+lean_inc(x_1388);
+lean_dec(x_1387);
+lean_inc(x_1);
+x_1389 = l_Lean_MetavarContext_instantiateMVars(x_1, x_1220);
+x_1390 = lean_ctor_get(x_1389, 0);
+lean_inc(x_1390);
+lean_dec(x_1389);
+lean_inc(x_4);
+x_1391 = l_Lean_ppExpr(x_4, x_1388, x_1373);
+if (x_1386 == 0)
+{
+if (lean_obj_tag(x_1391) == 0)
+{
+lean_object* x_1392; lean_object* x_1393; lean_object* x_1394; lean_object* x_1395;
+x_1392 = lean_ctor_get(x_1391, 0);
+lean_inc(x_1392);
+x_1393 = lean_ctor_get(x_1391, 1);
+lean_inc(x_1393);
+lean_dec(x_1391);
+x_1394 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1394, 0, x_1384);
+lean_ctor_set(x_1394, 1, x_1224);
+lean_inc(x_4);
+x_1395 = l_Lean_ppExpr(x_4, x_1390, x_1393);
+if (lean_obj_tag(x_1395) == 0)
+{
+lean_object* x_1396; lean_object* x_1397; lean_object* x_1398; lean_object* x_1399; lean_object* x_1400; lean_object* x_1401; lean_object* x_1402; lean_object* x_1403; lean_object* x_1404; lean_object* x_1405; lean_object* x_1406; lean_object* x_1407; lean_object* x_1408; lean_object* x_1409; lean_object* x_1410; lean_object* x_1411; lean_object* x_1412; lean_object* x_1413; lean_object* x_1414; lean_object* x_1415;
+x_1396 = lean_ctor_get(x_1395, 0);
+lean_inc(x_1396);
+x_1397 = lean_ctor_get(x_1395, 1);
+lean_inc(x_1397);
+lean_dec(x_1395);
+x_1398 = l_System_FilePath_dirName___closed__1;
+x_1399 = l_Lean_Name_toStringWithSep___main(x_1398, x_1221);
+x_1400 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_1400, 0, x_1399);
+x_1401 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6;
+x_1402 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1402, 0, x_1400);
+lean_ctor_set(x_1402, 1, x_1401);
+x_1403 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1403, 0, x_1402);
+lean_ctor_set(x_1403, 1, x_1392);
+x_1404 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8;
+x_1405 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1405, 0, x_1403);
+lean_ctor_set(x_1405, 1, x_1404);
+x_1406 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1406, 0, x_1224);
+lean_ctor_set(x_1406, 1, x_1396);
+lean_inc(x_2);
+x_1407 = lean_alloc_ctor(3, 2, 0);
+lean_ctor_set(x_1407, 0, x_2);
+lean_ctor_set(x_1407, 1, x_1406);
+x_1408 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1408, 0, x_1405);
+lean_ctor_set(x_1408, 1, x_1407);
+x_1409 = lean_alloc_ctor(5, 1, 1);
+lean_ctor_set(x_1409, 0, x_1408);
+lean_ctor_set_uint8(x_1409, sizeof(void*)*1, x_1382);
+x_1410 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1410, 0, x_1394);
+lean_ctor_set(x_1410, 1, x_1409);
+x_1411 = lean_box(0);
+x_1412 = lean_box(0);
+if (lean_is_scalar(x_1217)) {
+ x_1413 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_1413 = x_1217;
+}
+lean_ctor_set(x_1413, 0, x_1412);
+lean_ctor_set(x_1413, 1, x_1410);
+x_1414 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_1414, 0, x_1411);
+lean_ctor_set(x_1414, 1, x_1413);
+x_1415 = lean_apply_2(x_1385, x_1414, x_1397);
+x_16 = x_1415;
+goto block_24;
+}
+else
+{
+lean_object* x_1416; lean_object* x_1417; lean_object* x_1418; lean_object* x_1419;
+lean_dec(x_1394);
+lean_dec(x_1392);
+lean_dec(x_1221);
+lean_dec(x_1217);
+x_1416 = lean_ctor_get(x_1395, 0);
+lean_inc(x_1416);
+x_1417 = lean_ctor_get(x_1395, 1);
+lean_inc(x_1417);
+if (lean_is_exclusive(x_1395)) {
+ lean_ctor_release(x_1395, 0);
+ lean_ctor_release(x_1395, 1);
+ x_1418 = x_1395;
+} else {
+ lean_dec_ref(x_1395);
+ x_1418 = lean_box(0);
+}
+if (lean_is_scalar(x_1418)) {
+ x_1419 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_1419 = x_1418;
+}
+lean_ctor_set(x_1419, 0, x_1416);
+lean_ctor_set(x_1419, 1, x_1417);
+x_16 = x_1419;
+goto block_24;
+}
+}
+else
+{
+lean_object* x_1420; lean_object* x_1421; lean_object* x_1422; lean_object* x_1423;
+lean_dec(x_1390);
+lean_dec(x_1384);
+lean_dec(x_1221);
+lean_dec(x_1217);
+x_1420 = lean_ctor_get(x_1391, 0);
+lean_inc(x_1420);
+x_1421 = lean_ctor_get(x_1391, 1);
+lean_inc(x_1421);
+if (lean_is_exclusive(x_1391)) {
+ lean_ctor_release(x_1391, 0);
+ lean_ctor_release(x_1391, 1);
+ x_1422 = x_1391;
+} else {
+ lean_dec_ref(x_1391);
+ x_1422 = lean_box(0);
+}
+if (lean_is_scalar(x_1422)) {
+ x_1423 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_1423 = x_1422;
+}
+lean_ctor_set(x_1423, 0, x_1420);
+lean_ctor_set(x_1423, 1, x_1421);
+x_16 = x_1423;
+goto block_24;
+}
+}
+else
+{
+if (lean_obj_tag(x_1391) == 0)
+{
+lean_object* x_1424; lean_object* x_1425; lean_object* x_1426;
+x_1424 = lean_ctor_get(x_1391, 0);
+lean_inc(x_1424);
+x_1425 = lean_ctor_get(x_1391, 1);
+lean_inc(x_1425);
+lean_dec(x_1391);
+lean_inc(x_4);
+x_1426 = l_Lean_ppExpr(x_4, x_1390, x_1425);
+if (lean_obj_tag(x_1426) == 0)
+{
+lean_object* x_1427; lean_object* x_1428; lean_object* x_1429; lean_object* x_1430; lean_object* x_1431; lean_object* x_1432; lean_object* x_1433; lean_object* x_1434; lean_object* x_1435; lean_object* x_1436; lean_object* x_1437; lean_object* x_1438; lean_object* x_1439; lean_object* x_1440; lean_object* x_1441; lean_object* x_1442; lean_object* x_1443; lean_object* x_1444; lean_object* x_1445; lean_object* x_1446;
+x_1427 = lean_ctor_get(x_1426, 0);
+lean_inc(x_1427);
+x_1428 = lean_ctor_get(x_1426, 1);
+lean_inc(x_1428);
+lean_dec(x_1426);
+x_1429 = l_System_FilePath_dirName___closed__1;
+x_1430 = l_Lean_Name_toStringWithSep___main(x_1429, x_1221);
+x_1431 = lean_alloc_ctor(2, 1, 0);
+lean_ctor_set(x_1431, 0, x_1430);
+x_1432 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6;
+x_1433 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1433, 0, x_1431);
+lean_ctor_set(x_1433, 1, x_1432);
+x_1434 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1434, 0, x_1433);
+lean_ctor_set(x_1434, 1, x_1424);
+x_1435 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8;
+x_1436 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1436, 0, x_1434);
+lean_ctor_set(x_1436, 1, x_1435);
+x_1437 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1437, 0, x_1224);
+lean_ctor_set(x_1437, 1, x_1427);
+lean_inc(x_2);
+x_1438 = lean_alloc_ctor(3, 2, 0);
+lean_ctor_set(x_1438, 0, x_2);
+lean_ctor_set(x_1438, 1, x_1437);
+x_1439 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1439, 0, x_1436);
+lean_ctor_set(x_1439, 1, x_1438);
+x_1440 = lean_alloc_ctor(5, 1, 1);
+lean_ctor_set(x_1440, 0, x_1439);
+lean_ctor_set_uint8(x_1440, sizeof(void*)*1, x_1382);
+x_1441 = lean_alloc_ctor(4, 2, 0);
+lean_ctor_set(x_1441, 0, x_1384);
+lean_ctor_set(x_1441, 1, x_1440);
+x_1442 = lean_box(0);
+x_1443 = lean_box(0);
+if (lean_is_scalar(x_1217)) {
+ x_1444 = lean_alloc_ctor(0, 2, 0);
+} else {
+ x_1444 = x_1217;
+}
+lean_ctor_set(x_1444, 0, x_1443);
+lean_ctor_set(x_1444, 1, x_1441);
+x_1445 = lean_alloc_ctor(0, 2, 0);
+lean_ctor_set(x_1445, 0, x_1442);
+lean_ctor_set(x_1445, 1, x_1444);
+x_1446 = lean_apply_2(x_1385, x_1445, x_1428);
+x_16 = x_1446;
+goto block_24;
+}
+else
+{
+lean_object* x_1447; lean_object* x_1448; lean_object* x_1449; lean_object* x_1450;
+lean_dec(x_1424);
+lean_dec(x_1384);
+lean_dec(x_1221);
+lean_dec(x_1217);
+x_1447 = lean_ctor_get(x_1426, 0);
+lean_inc(x_1447);
+x_1448 = lean_ctor_get(x_1426, 1);
+lean_inc(x_1448);
+if (lean_is_exclusive(x_1426)) {
+ lean_ctor_release(x_1426, 0);
+ lean_ctor_release(x_1426, 1);
+ x_1449 = x_1426;
+} else {
+ lean_dec_ref(x_1426);
+ x_1449 = lean_box(0);
+}
+if (lean_is_scalar(x_1449)) {
+ x_1450 = lean_alloc_ctor(1, 2, 0);
+} else {
+ x_1450 = x_1449;
+}
+lean_ctor_set(x_1450, 0, x_1447);
+lean_ctor_set(x_1450, 1, x_1448);
+x_16 = x_1450;
+goto b